{"version":3,"file":"/uxab/shell-bundle.map.jsdbx","sections":[{"offset":{"line":18,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-modal-hoist/28.0.63-swarm.0/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","KBS_MODAL_CLOSED","KBS_MODAL_OPENED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","isEmpty","isFunction","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","_allSearched$i","deepSearchAllElement","_allSearched$i2","getFooters","targetRef","nowModalFooter","hoistedEle","modalFooter","hoistElement","sourceRef","nowMode","style","display","unHoistElement","removeAttribute","extractModalTitle","hideSourceTitle","titleSource","setAttribute","hoistFooter","hideSource","footerSource","nowModalDialog","createElement","classList","add","appendChild","forEach","source","contains","setTimeout","unHoistFooter","parentNode","removeChild","NOW_UXF_BARE_MODAL_DISMISSED","NOW_MODAL_OPENED_SET","MODAL_SELECTED","MODAL_CLOSED_INTERNAL","MODAL_OPENED_INTERNAL","SCREEN_STATUS_CHANGED","CONTENT_UPDATED","NOW_UXF_BARE_MODAL_RESIZED","MODAL_HOIST_SLOT_CHANGED","MODAL_UNHOIST_INTERNAL","removeSuspendedMode","rootEl","_queue","unsuspend","el","children","_el","mutationCallback","mutationsList","observer","data","mutation","type","addedNodes","hoistedSource","modalContent","state","updateState","elemRef","modalStack","isOpen","modalId","bare","displayOptions","headerLabel","footerActions","size","disableDismiss","resizableConfig","enableResizable","resizableMinHeight","resizableMinWidth","resizableMaxHeight","resizableMaxWidth","disconnect","detachMutationObserver","stopActionPropagation","stopImmediatePropagation","removeSuppressedActions","elm","actionsSuppressed","removeEventListener","handleOpenModal","_ref","dispatch","preserveState","allComponents","propsMap","Map","c","componentId","getProperties","set","componentsInitState","saveInitComponentState","toggleAttribute","getHoistedSource","suppressActions","actionsToSuppress","addEventListener","attachMutationObserver","node","MutationObserver","observe","attributes","childList","subtree","elmRef","tobeHidden","prevModalId","modalContentChanged","_ref2","closeAll","count","makePrevModalActive","_nextHoistedSource$sh","_nextHoistedSource$sh2","newModalStack","nextHoistedSource","nextSource","isConnected","pop","nextModalId","nextfooterActions","nextBare","hasAttribute","getAttribute","slottedEle","assignedElements","Array","isArray","_index","findIndex","modalCount","_bare","isClosing","filter","val","index","handleCloseModal","COMPONENT_CONNECTED","COMPONENT_DOM_READY","COMPONENT_PROPERTY_CHANGED","COMPONENT_DISCONNECTED","COMPONENT_TREE_RENDERED","_onPopStateModalAction","updateProperties","hostMap","internalToExternalActionMap","internalToModalObserverActionMap","retargetAndDispatch","_ref6","action","host","stopPropagation","payload","console","warn","sourceElemRef","parentElement","delete","externalAction","kbsModalAction","modalInstanceId","saveHost","seismicHoistEle","sourceElement","has","actionHandlers","window","_ref8","_ref4","name","_ref3","_ref5","_ref9","seismicHoistElms","showModal","_ref0","preventDefault","_ref1","properties","width","height","find","_ref10","_action$stopPropagati","childNodes","activeModalId","_node$style","nodeId","lastModal","_ref7","initProps","keys","p","toLowerCase","resetComponents","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","view","derivedState","modalData","label","onSlotChange","_e$target","_e$target2","target","flatten","assignedNodes","opened","styles","initialState"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/_sn-canvas-modal-hoist.scss","webpack:///../sn-canvas-modal-hoist/src/_sn-canvas-modal-hoist.scss?f26c","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/domUtils.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/getFooters.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/hoistUtils.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/sn-canvas-modal-hoist.util.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/constants/constants.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/removeSuspendedMode.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/mutationCallback.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/detachMutationObserver.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/suppressActionsUtils.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/modalEventUtils.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/attachMutationObserver.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/utils/modalContentChanged.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/sn-canvas-modal-hoist.actions.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/sn-canvas-modal-hoist.js","webpack:///sn-canvas-modal-hoist/28.0.63-swarm.0/src/view.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-modal-hoist{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-modal-hoist.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"KBS_MODAL_CLOSED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'KBS_MODAL_CLOSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_CLOSED;\n\t\t\t\t\t} else if ('KBS_MODAL_CLOSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.KBS_MODAL_CLOSED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_CLOSED;\n\t\t\t\t}, [\"KBS_MODAL_OPENED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'KBS_MODAL_OPENED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_OPENED;\n\t\t\t\t\t} else if ('KBS_MODAL_OPENED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.KBS_MODAL_OPENED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_OPENED;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t} });","const deepSearchElement = (selector, root = document.body) => {\n  let queue = [root];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    if(!top) continue;\n    const ele = top.querySelector(selector);\n    if (ele) return ele;\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top?.querySelectorAll('*') || [];\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i]?.shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n};\n\nconst deepSearchAllElement = (selector, root = document.body) => {\n  let queue = [root];\n  let result = [];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    if(!top) continue;\n    const ele = top.querySelectorAll(selector);\n    if (ele && ele.length > 0) result.push(...ele);\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top?.querySelectorAll('*') || [];\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i]?.shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n  return result;\n};\n\nexport { deepSearchElement, deepSearchAllElement };","import { deepSearchAllElement, deepSearchElement } from './domUtils';\n\nconst getFooters = (targetRef, selector) => {\n\tlet nowModalFooter = deepSearchElement(\n\t\t'.now-modal-footer',\n\t\ttargetRef\n\t);\n\n\tconst hoistedEle = targetRef.querySelector(selector);\n\tlet modalFooter = deepSearchAllElement(\n\t\t'[slot=\"sn-modal-footer\"]',\n\t\thoistedEle\n\t);\n\treturn { modalFooter, nowModalFooter };\n};\n\nexport { getFooters };","//Hoist Utils\nconst hoistElement = (targetRef, sourceRef) => {\n\tif (!targetRef || !sourceRef) return;\n\n\tif (sourceRef.nowMode === 'suspend') {\n\t\tsourceRef.nowMode = 'active';\n\t\tsourceRef.style.display = 'block';\n\t}\n\n\tsourceRef['nowHoistAppendTo'] = targetRef;\n\tsourceRef['nowHoist'] = true;\n\tsourceRef['isModalContainer'] = true;\n};\n\nconst unHoistElement = sourceRef => {\n\tif (!sourceRef) return;\n\tsourceRef['isModalContainer'] = true;\n\tsourceRef.removeAttribute('now-hoist');\n\tif(sourceRef['nowHoist'])\n\t\tsourceRef['nowHoist'] = undefined;\n\tsourceRef.removeAttribute('now-hoist-append-to');\n\tif(sourceRef['nowHoistAppendTo'])\n\t\tsourceRef['nowHoistAppendTo'] = undefined;\n};\n\nexport {\n\thoistElement,\n\tunHoistElement,\n};","import { isFunction, isEmpty } from 'lodash';\nimport { deepSearchAllElement, deepSearchElement } from './utils/domUtils';\nimport { getFooters } from './utils/getFooters';\nimport { hoistElement, unHoistElement} from './utils/hoistUtils';\n\nconst resetComponents = source => {\n\tif (!source.componentsInitState) return;\n\tconst propsMap = source.componentsInitState;\n\tconst components = deepSearchAllElement('[component-id]', source) || [];\n\tcomponents.forEach(c => {\n\t\tconst initProps = propsMap.get(c.componentId) || {};\n\t\tObject.keys(initProps).forEach(p => {\n\t\t\t// nowMode is a special prop that should not be reset\n\t\t\tif (p && (p.toLowerCase() !== 'defer' && p !== 'nowMode')) {\n\t\t\t\tc[p] = initProps[p];\n\t\t\t}\n\t\t});\n\t});\n\tsource.componentsInitState = undefined;\n};\n\nconst saveInitComponentState = source => {\n\tconst allComponents = deepSearchAllElement('[component-id]', source) || [];\n\tconst propsMap = new Map();\n\tallComponents.forEach(c => {\n\t\tif (c && c.componentId && isFunction(c.getProperties)) {\n\t\t\tpropsMap.set(c.componentId, { ...c.getProperties() });\n\t\t}\n\t});\n\tsource.componentsInitState = propsMap;\n\treturn source;\n};\n\nconst getHoistedSource = (targetRef, selector) => {\n\tif (!targetRef && !selector) return;\n\treturn targetRef.querySelector(selector);\n};\n\n//Title & Footer Utils\nconst extractModalTitle = (targetRef, selector, hideSourceTitle = false) => {\n\tconst hoistedEle = targetRef.querySelector(selector);\n\tlet titleSource = deepSearchElement('[slot=\"sn-modal-title\"]', hoistedEle);\n\t// There's some gap from UIB to runtime.\n\t// A modal can be setup as custom modal but\n\t// can be invoked as non-custom modal, this is not expected\n\t// it's a feature leak and is being used by some app BU. This won't happen for OOB modals because oob and custom\n\t// modals are created seperately :-( , TODO: clean this up and have one way for all modals (customs, viewport)\n\t// until that is prevented, we need this extra attr\n\tif (!titleSource)\n\t\ttitleSource = deepSearchElement('[data-is-hidden=\"true\"]', hoistedEle);\n\tif (titleSource) {\n\t\tif (hideSourceTitle) {\n\t\t\ttitleSource.style.display = 'none';\n\t\t\t// This is required now because style on this element is being replaced somewhere ?\n\t\t\t// Until then clearing the slot value so lite dom won't get any shadow dom host as all of them are named slots.\n\t\t\ttitleSource.setAttribute('slot', '');\n\t\t\ttitleSource.setAttribute('data-is-hidden', true);\n\t\t}\n\t\treturn titleSource['label'];\n\t}\n};\n\nconst hoistFooter = (targetRef, selector, hideSource = false) => {\n\tlet { modalFooter: footerSource, nowModalFooter } = getFooters(\n\t\ttargetRef,\n\t\tselector\n\t);\n\n\tif (!nowModalFooter && !isEmpty(footerSource)) {\n\t\tconst nowModalDialog = deepSearchElement(\n\t\t\t'.now-modal-dialog',\n\t\t\ttargetRef\n\t\t);\n\n\t\tif (nowModalDialog){\n\t\t\tnowModalFooter = document.createElement('div');\n\t\t\tnowModalFooter.classList.add(\"now-modal-footer\", \"--canvas\");\n\t\t\tnowModalDialog.appendChild(nowModalFooter);\n\t\t}\n\t}\n\tif (!isEmpty(footerSource)) {\n\t\tfooterSource.forEach(source => {\n\t\t\tif (!source.classList.contains('now-modal-footer-button'))\n\t\t\t\tsource.classList.add('now-modal-footer-button');\n\t\t\thoistElement(nowModalFooter, source);\n\t\t});\n\n\t\t// This ensures if on the first pass, we fail to add right footer class to buttons(or seismic-host wrapping the buttons),\n\t\t// those classes are added here.\n\t\tsetTimeout(() => {\n\t\t\tconst hoistedFooterSources = deepSearchAllElement(\n\t\t\t\t'seismic-hoist',\n\t\t\t\tnowModalFooter\n\t\t\t);\n\t\t\thoistedFooterSources.forEach(\n\t\t\t\tsource =>\n\t\t\t\t\t!source.classList.contains('now-modal-footer-button') &&\n\t\t\t\t\tsource.classList.add('now-modal-footer-button')\n\t\t\t);\n\t\t}, 50);\n\n\t\tif (hideSource)\n\t\t\tfooterSource.forEach(source => (source.style.display = 'none'));\n\t}\n};\n\nconst unHoistFooter = (targetRef, selector) => {\n\tconst { modalFooter: footerSource,  nowModalFooter} = getFooters(targetRef, selector);\n\tif (footerSource) {\n\t\tfooterSource.forEach(source => {\n\t\t\tunHoistElement(source);\n\t\t\tsource.style.display = '';\n\t\t});\n\t}\n\t//remove previously added footer if any\n\tif(nowModalFooter && nowModalFooter.parentNode && nowModalFooter.classList.contains('--canvas'))\n\t\tnowModalFooter.parentNode.removeChild(nowModalFooter);\n};\n\n/**\n * we add open modals to a stack as their opened. it's safe to assume that the last element in the array\n * is the current open modal.  We should return the last element from the array without mutating the modal stack array.\n * @param {Array} modalStackArr - the current modal stack array\n * @returns {{}} Object returns a modal stack object if found\n */\nconst getOpenModalFromStack = (modalStackArr = []) => {\n\tif (!modalStackArr ||  modalStackArr.length === 0) return {}; //fail fast if there are no elements in the array return empty object\n\treturn modalStackArr[modalStackArr.length - 1];\n}\n\nexport {\n\tgetHoistedSource,\n\textractModalTitle,\n\thoistFooter,\n\tunHoistFooter,\n\tsaveInitComponentState,\n\tresetComponents,\n\tgetOpenModalFromStack\n};\n","// NOW Actions\nexport const NOW_UXF_BARE_MODAL_DISMISSED = 'NOW_UXF_BARE_MODAL#DISMISSED';\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\n\nexport const MODAL_CLOSED_INTERNAL = 'UXR_INTERNAL#MODAL_CLOSED';\nexport const MODAL_OPENED_INTERNAL = 'UXR_INTERNAL#MODAL_OPENED';\nexport const MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const MODAL_OPENED = 'CANVAS_MODAL#OPENED';\n\nexport const SCREEN_STATUS_CHANGED = 'SCREEN_STATUS_CHANGED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const NOW_UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\nexport const MODAL_HOIST_SLOT_CHANGED = 'MODAL_HOIST#SLOT_CHANGED';\n\nexport const SN_CANVAS_MODAL_HOIST = 'sn-canvas-modal-hoist';\nexport const MODAL_UNHOIST_INTERNAL = 'MODAL_UNHOIST_INTERNAL';\n","export const removeSuspendedMode = rootEl => {\n\tif (!rootEl) return;\n\tlet _queue = [rootEl];\n\n\tconst unsuspend = el => {\n\t\tel.nowMode = 'active';\n\t\tel.style.display = 'block';\n\t};\n\n\twhile (_queue.length !== 0) {\n\t\tlet el = _queue.shift();\n\t\tif (el.nowMode === 'suspend') {\n\t\t\tunsuspend(el);\n\t\t\tbreak;\n\t\t}\n\t\tif (el.children) {\n\t\t\tfor (let _el of el.children) _queue.push(_el);\n\t\t}\n\t}\n};","import { removeSuspendedMode } from './removeSuspendedMode';\nimport { detachMutationObserver } from './detachMutationObserver';\nimport { extractModalTitle } from '../sn-canvas-modal-hoist.util';\n\nexport const mutationCallback = (mutationsList, observer, data) => {\n\tfor (let mutation of mutationsList) {\n\t\tif (mutation.type === 'childList') {\n\t\t\tconst { addedNodes } = mutation;\n\t\t\tif (addedNodes && addedNodes.length > 0) {\n\t\t\t\tremoveSuspendedMode(addedNodes[0]); // seems fair assumption\n\t\t\t\tconst {\n\t\t\t\t\tsource,\n\t\t\t\t\thoistedSource,\n\t\t\t\t\tmodalContent,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t} = data;\n\t\t\t\tconst { elemRef, modalStack } = state;\n\t\t\t\tlet {\n\t\t\t\t\tisOpen = false,\n\t\t\t\t\tmodalId,\n\t\t\t\t\tbare = false,\n\t\t\t\t\tdisplayOptions = {},\n\t\t\t\t\theaderLabel,\n\t\t\t\t\tfooterActions,\n\t\t\t\t} = modalContent || {};\n\t\t\t\tif (!headerLabel && bare !== true)\n\t\t\t\t\theaderLabel = extractModalTitle(\n\t\t\t\t\t\telemRef,\n\t\t\t\t\t\t`[now-id=\"${modalId}\"]`,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t//Doing this to avoid a bad user experience in UIB\n\t\t\t\tlet size = source['size'] || 'md';\n\t\t\t\tlet disableDismiss = source['disableDismiss'] || false;\n\t\t\t\tconst enableResizable = source['enableResizable'] || false;\n\t\t\t\tconst resizableMinHeight = source['resizableMinHeight'];\n\t\t\t\tconst resizableMinWidth = source['resizableMinWidth'];\n\t\t\t\tconst resizableMaxHeight = source['resizableMaxHeight'];\n\t\t\t\tconst resizableMaxWidth = source['resizableMaxWidth'];\n\n\t\t\t\tconst resizableConfig = {\n\t\t\t\t\tenableResizable,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t};\n\n\t\t\t\tdisplayOptions = {\n\t\t\t\t\tsize,\n\t\t\t\t\t[bare ? 'disableDismiss' : 'disableClose']: disableDismiss,\n\t\t\t\t\tresizableConfig,\n\t\t\t\t\t...displayOptions,\n\t\t\t\t};\n\n\t\t\t\tupdateState({\n\t\t\t\t\t...(source && {\n\t\t\t\t\t\tmodalStack: [\n\t\t\t\t\t\t\t...modalStack,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmodalId,\n\t\t\t\t\t\t\t\tisOpen,\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\thoistedSource,\n\t\t\t\t\t\t\t\tdisplayOptions,\n\t\t\t\t\t\t\t\theaderLabel,\n\t\t\t\t\t\t\t\tfooterActions,\n\t\t\t\t\t\t\t\tbare,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tdetachMutationObserver(observer);\n};\n","export const detachMutationObserver = observer =>\n\tobserver && observer.disconnect ? observer.disconnect() : null;","const stopActionPropagation = e => e.stopImmediatePropagation();\n\nconst suppressActions = (elm, actionsToSuppress) => {\n\tfor(let i=0; i<actionsToSuppress.length; i++){\n\t\telm.addEventListener(actionsToSuppress[i], stopActionPropagation);\n\t}\n}\n\nconst removeSuppressedActions = (elm, actionsSuppressed) => {\n\tfor(let i=0; i<actionsSuppressed.length; i++){\n\t\telm.removeEventListener(actionsSuppressed[i], stopActionPropagation);\n\t}\n}\n\nexport { stopActionPropagation, suppressActions, removeSuppressedActions };","import {\n\tgetHoistedSource,\n\thoistFooter,\n\tunHoistFooter,\n\tsaveInitComponentState,\n\tresetComponents,\n} from '../sn-canvas-modal-hoist.util';\nimport { hoistElement, unHoistElement } from './hoistUtils';\nimport {\n\tMODAL_OPENED_INTERNAL,\n\tMODAL_CLOSED_INTERNAL,\n\tSCREEN_STATUS_CHANGED,\n\tCONTENT_UPDATED,\n} from '../constants/constants';\n\nimport { attachMutationObserver } from './attachMutationObserver';\nimport { mutationCallback } from './mutationCallback';\nimport {\n\tsuppressActions,\n\tremoveSuppressedActions,\n} from './suppressActionsUtils';\n\nconst handleOpenModal = ({ modalContent, state, updateState, dispatch }) => {\n\tconst { elemRef, modalStack } = state;\n\tlet { modalId, source, preserveState = false } = modalContent || {};\n\tif (\n\t\tmodalId &&\n\t\t(modalStack.length == 0 ||\n\t\t\tmodalStack[modalStack.length - 1].modalId != modalId)\n\t) {\n\t\tif (!preserveState) {\n\t\t\tsaveInitComponentState(source);\n\t\t}\n\t\thoistElement(elemRef, source);\n\n\t\tif (source) {\n\t\t\tsource.style.display = 'block';\n\t\t\tsource.toggleAttribute('defer', false);\n\t\t}\n\t\tconst hoistedSource = getHoistedSource(\n\t\t\telemRef,\n\t\t\t`[now-id=\"${modalId}\"]`,\n\t\t);\n\t\thoistedSource.style.display = 'block';\n\t\tsuppressActions(hoistedSource, [\n\t\t\tCONTENT_UPDATED,\n\t\t\tSCREEN_STATUS_CHANGED,\n\t\t]);\n\t\tconst observedNode = hoistedSource.shadowRoot\n\t\t\t? hoistedSource.shadowRoot\n\t\t\t: hoistedSource;\n\t\tattachMutationObserver(observedNode, mutationCallback, {\n\t\t\tsource,\n\t\t\thoistedSource,\n\t\t\tmodalContent,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t});\n\t\tdispatch(MODAL_OPENED_INTERNAL, { modalId, elmRef: source });\n\t\tif (modalStack.length > 0) {\n\t\t\t//clean prev modals content from now-modal\n\t\t\tconst tobeHidden = modalStack[modalStack.length - 1];\n\t\t\tconst { modalId: prevModalId, bare = false } = tobeHidden;\n\t\t\tif (bare !== true)\n\t\t\t\tunHoistFooter(elemRef, `[now-id=\"${prevModalId}\"]`);\n\t\t\ttobeHidden.hoistedSource.style.display = 'none';\n\t\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\t\tmodalId: prevModalId,\n\t\t\t\telmRef: tobeHidden.source,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleCloseModal = ({ modalContent, state, updateState, dispatch }) => {\n\tlet { elemRef, modalStack } = state;\n\tconst { closeAll = false, modalId } = modalContent;\n\tconst count = closeAll === true ? modalStack.length : 1;\n\tconst makePrevModalActive = (modalStack) => {\n\t\t/*\n\t\tCheck for stale sources in case of modal viewports that are destructive\n\t\t*/\n\t\tconst newModalStack = [...modalStack];\n\t\twhile (newModalStack.length > 0) {\n\t\t\tconst { hoistedSource: nextHoistedSource, source: nextSource } =\n\t\t\t\tnewModalStack[newModalStack.length - 1];\n\t\t\tif (nextHoistedSource?.isConnected && nextSource?.isConnected) break;\n\t\t\tnewModalStack.pop();\n\t\t}\n\t\tif (newModalStack.length == 0) {\n\t\t\tupdateState({ modalStack: [] });\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\tmodalId: nextModalId,\n\t\t\thoistedSource: nextHoistedSource,\n\t\t\tfooterActions: nextfooterActions,\n\t\t\tsource: nextSource,\n\t\t\tbare: nextBare = false,\n\t\t} = newModalStack[newModalStack.length - 1];\n\n\t\tif (!nextfooterActions && nextBare !== true)\n\t\t\thoistFooter(elemRef, `[now-id=\"${nextModalId}\"]`, false);\n\n\t\tupdateState({ modalStack: [...newModalStack] });\n\n\t\tnextHoistedSource.style.display = 'block';\n\t\tif (\n\t\t\tnextSource.hasAttribute('slot') &&\n\t\t\tnextSource.getAttribute('slot') == 'inactive'\n\t\t)\n\t\t\tnextSource.setAttribute('slot', '');\n\t\tnextSource.nowMode = 'active';\n\n\t\tconst slottedEle =\n\t\t\tnextHoistedSource?.shadowRoot\n\t\t\t\t?.querySelector('slot')\n\t\t\t\t?.assignedElements()?.[0] ?? null;\n\t\tif (!slottedEle) return;\n\t\tslottedEle.nowMode = 'active';\n\n\t\tdispatch(MODAL_OPENED_INTERNAL, {\n\t\t\telmRef: nextSource,\n\t\t\tmodalId: nextModalId,\n\t\t});\n\t};\n\n\tif (modalId) {\n\t\tif (Array.isArray(modalStack) && modalStack.length > 0) {\n\t\t\tconst _index = modalStack.findIndex(\n\t\t\t\t(content) => content.modalId === modalId,\n\t\t\t);\n\t\t\tif (_index === -1) return;\n\t\t\tconst modalCount = modalStack.length;\n\t\t\tconst {\n\t\t\t\tsource,\n\t\t\t\tbare: _bare = false,\n\t\t\t\thoistedSource,\n\t\t\t} = modalStack[_index];\n\n\t\t\tif (source?.isConnected) {\n\t\t\t\tif (_bare !== true)\n\t\t\t\t\tunHoistFooter(elemRef, `[now-id=\"${modalId}\"]`);\n\t\t\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\t\t\tmodalId: modalId,\n\t\t\t\t\telmRef: source,\n\t\t\t\t\tisClosing: true,\n\t\t\t\t\thoistedSource: hoistedSource,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst newModalStack = modalStack.filter(\n\t\t\t\t(val, index) => index !== _index,\n\t\t\t);\n\n\t\t\t//if removed from top\n\t\t\tif (_index === modalCount - 1 && newModalStack.length > 0) {\n\t\t\t\tmakePrevModalActive(newModalStack);\n\t\t\t} else if (newModalStack.length === 0)\n\t\t\t\tupdateState({ modalStack: [] });\n\t\t\telse updateState({ modalStack: newModalStack });\n\t\t\treturn;\n\t\t}\n\t}\n\tlet newModalStack = [...modalStack];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst {\n\t\t\tmodalId,\n\t\t\tsource,\n\t\t\thoistedSource,\n\t\t\tbare: _bare = false,\n\t\t} = Array.isArray(newModalStack) && newModalStack.length > 0\n\t\t\t? newModalStack[modalStack.length - 1]\n\t\t\t: {};\n\t\tif (source?.isConnected && modalId) {\n\t\t\tif (_bare !== true)\n\t\t\t\tunHoistFooter(elemRef, `[now-id=\"${modalId}\"]`);\n\t\t\tremoveSuppressedActions(hoistedSource, [\n\t\t\t\tCONTENT_UPDATED,\n\t\t\t\tSCREEN_STATUS_CHANGED,\n\t\t\t]);\n\t\t}\n\t\tnewModalStack.pop();\n\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\tmodalId: modalId,\n\t\t\telmRef: source,\n\t\t\tisClosing: true,\n\t\t\thoistedSource: hoistedSource,\n\t\t});\n\t}\n\n\tif (newModalStack.length > 0) {\n\t\tmakePrevModalActive(newModalStack);\n\t} else {\n\t\tupdateState({ modalStack: [] });\n\t}\n};\n\nexport { handleOpenModal, handleCloseModal };\n","export const attachMutationObserver = (node, mutationCallback, data) => {\n\tconst config = { attributes: false, childList: true, subtree: false };\n\tconst observer = new MutationObserver((mutationsList, observer) =>\n\t\tmutationCallback(mutationsList, observer, data)\n\t);\n\tobserver.observe(node, config);\n\treturn observer;\n};","import { handleCloseModal, handleOpenModal } from \"./modalEventUtils\";\n\nconst modalContentChanged = ({\n\tmodalContent,\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\tlet { isOpen = false } = modalContent || {};\n\tif (isOpen === true)\n\t\thandleOpenModal({ modalContent, state, updateState, dispatch });\n\telse handleCloseModal({ modalContent, state, updateState, dispatch });\n};\n\nexport { modalContentChanged };","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tKBS_MODAL_CLOSED,\n\tKBS_MODAL_OPENED,\n} from '@servicenow/now-trigger-library';\n\nimport {\n\thoistFooter,\n\tresetComponents,\n\tunHoistFooter,\n} from './sn-canvas-modal-hoist.util';\nimport { modalContentChanged } from './utils/modalContentChanged';\n\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tMODAL_SELECTED,\n\tNOW_UXF_BARE_MODAL_DISMISSED,\n\tMODAL_CLOSED,\n\tMODAL_OPENED,\n\tMODAL_OPENED_INTERNAL,\n\tMODAL_CLOSED_INTERNAL,\n\tNOW_UXF_BARE_MODAL_RESIZED,\n\tMODAL_HOIST_SLOT_CHANGED,\n\tMODAL_UNHOIST_INTERNAL,\n} from './constants/constants';\nimport { unHoistElement } from './utils/hoistUtils';\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\n\nexport const _onPopStateModalAction = ({ updateProperties }) =>\n\tupdateProperties({ modalContent: { isOpen: false, closeAll: true } });\n\nconst modalHoisterConnectedEffect = ({ updateProperties }) => {\n\twindow.addEventListener(\n\t\t'popstate',\n\t\t_onPopStateModalAction.bind(window, { updateProperties }),\n\t\tfalse,\n\t);\n};\n\nconst componentTreeRenderedEffect = ({ state }) => {\n\tconst { elemRef, modalStack } = state;\n\tif (modalStack.length > 0) {\n\t\tconst modalContent = modalStack[modalStack.length - 1];\n\t\tconst {\n\t\t\tmodalId,\n\t\t\tisOpen,\n\t\t\tfooterActions,\n\t\t\tbare = false,\n\t\t} = modalContent || {};\n\t\tif (isOpen === true && !footerActions && bare !== true) {\n\t\t\thoistFooter(elemRef, `[now-id=\"${modalId}\"]`, false);\n\t\t}\n\t}\n};\n\nconst componentPropertyChangedEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tdispatch,\n}) => {\n\tconst { name, value } = action.payload;\n\n\tswitch (name) {\n\t\tcase 'modalContent':\n\t\t\tmodalContentChanged({\n\t\t\t\tmodalContent: value,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\nconst modalHoisterDisconnectedEffect = ({ updateState }) => {\n\twindow.removeEventListener('popstate', _onPopStateModalAction, false);\n\tupdateState({ elemRef: null, modalStack: [] });\n};\nconst hostMap = new Map();\nconst internalToExternalActionMap = {\n\t[MODAL_OPENED_INTERNAL]: MODAL_OPENED,\n\t[MODAL_CLOSED_INTERNAL]: MODAL_CLOSED,\n};\nconst internalToModalObserverActionMap = {\n\t[MODAL_OPENED_INTERNAL]: KBS_MODAL_OPENED,\n\t[MODAL_CLOSED_INTERNAL]: KBS_MODAL_CLOSED,\n};\n\nconst retargetAndDispatch = ({ action, host, dispatch }) => {\n\taction.stopPropagation && action.stopPropagation();\n\tlet { elmRef, isClosing, modalId, hoistedSource } =\n\t\taction.payload;\n\tif (!elmRef) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t`Error! The action ${action.type} payload is invalid, can't proceed further.`,\n\t\t);\n\t\treturn;\n\t}\n\tconst sourceElemRef = elmRef;\n\t//Viewport modal has dynamic child and way to detect that is presence of slot\n\tif (elmRef.getAttribute && elmRef.getAttribute('slot') !== null) {\n\t\tconst componentId = elmRef.getAttribute('component-id');\n\t\telmRef = elmRef.parentElement;\n\t\tif (!elmRef && componentId) {\n\t\t\t// the dynamic child has been removed so parent is gone. Retrieve it's parent from cache\n\t\t\telmRef = hostMap.get(componentId);\n\t\t\thostMap.delete(componentId);\n\t\t}\n\t}\n\tif (elmRef && elmRef.dispatch) {\n\t\tconst externalAction = internalToExternalActionMap[action.type];\n\t\tconst kbsModalAction = internalToModalObserverActionMap[action.type];\n\n\t\tif (externalAction && kbsModalAction) {\n\t\t\telmRef.dispatch(kbsModalAction, { host, action });\n\n\t\t\telmRef.dispatch(externalAction, {\n\t\t\t\tmodalInstanceId: action.payload && action.payload.modalId,\n\t\t\t});\n\t\t}\n\n\t\t// trigger the unhoist after closing the internal modal\n\t\tif (isClosing) {\n\t\t\tdispatch(MODAL_UNHOIST_INTERNAL, {\n\t\t\t\telmRef: sourceElemRef,\n\t\t\t\tmodalId: modalId,\n\t\t\t\thoistedSource: hoistedSource,\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const modalUnhoistFn = ({ action }) => {\n\tconst { elmRef, modalId, hoistedSource } = action.payload;\n\tif (hoistedSource) hoistedSource.style.display = 'none';\n\tif (elmRef && modalId) elmRef.style.display = 'none';\n\tunHoistElement(elmRef);\n\tresetComponents(elmRef);\n};\n\nconst saveHost = (seismicHoistEle) => {\n\tif (seismicHoistEle && seismicHoistEle.sourceElement) {\n\t\tconst componentId =\n\t\t\tseismicHoistEle.sourceElement.getAttribute('component-id');\n\t\tif (\n\t\t\t!hostMap.has(componentId) &&\n\t\t\tseismicHoistEle.sourceElement.parentElement\n\t\t)\n\t\t\thostMap.set(\n\t\t\t\tcomponentId,\n\t\t\t\tseismicHoistEle.sourceElement.parentElement,\n\t\t\t);\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: modalHoisterConnectedEffect,\n\t[COMPONENT_DOM_READY]: ({ host, updateState }) =>\n\t\tupdateState({ elemRef: host }),\n\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t[COMPONENT_TREE_RENDERED]: componentTreeRenderedEffect,\n\t[COMPONENT_DISCONNECTED]: modalHoisterDisconnectedEffect,\n\t[NOW_MODAL_OPENED_SET]: ({ action, dispatch, state }) => {\n\t\taction.stopPropagation && action.stopPropagation();\n\t\tconst { elemRef } = state;\n\t\tif (elemRef) {\n\t\t\tconst seismicHoistElms = elemRef.querySelectorAll('seismic-hoist');\n\t\t\tconst seismicHoistEle =\n\t\t\t\tseismicHoistElms[seismicHoistElms.length - 1];\n\t\t\tif (\n\t\t\t\tseismicHoistEle &&\n\t\t\t\tseismicHoistEle.sourceElement &&\n\t\t\t\tseismicHoistEle.sourceElement.dispatch\n\t\t\t) {\n\t\t\t\tseismicHoistEle.sourceElement.dispatch(\n\t\t\t\t\taction.type,\n\t\t\t\t\taction.payload,\n\t\t\t\t);\n\t\t\t}\n\t\t\tsaveHost(seismicHoistEle);\n\t\t}\n\t\tdispatch(MODAL_SELECTED, { showModal: action.payload.value });\n\t},\n\t[NOW_UXF_BARE_MODAL_DISMISSED]: ({ action, dispatch, state }) => {\n\t\tconst { elemRef } = state;\n\t\tif (elemRef) {\n\t\t\tconst seismicHoistElms = elemRef?.querySelectorAll('seismic-hoist') || [];\n\t\t\tconst seismicHoistEle =\n\t\t\t\tseismicHoistElms[seismicHoistElms.length - 1];\n\t\t\t//preserve parent of dynamic content as content is removed later,\n\t\t\t// used when re-targeting the modal_closed action\n\t\t\tsaveHost(seismicHoistEle);\n\t\t}\n\t\tdispatch(MODAL_SELECTED, { showModal: false });\n\t\taction.preventDefault();\n\t},\n\t[NOW_UXF_BARE_MODAL_RESIZED]: ({ action, state }) => {\n\t\tconst {\n\t\t\tproperties: { modalContent },\n\t\t\tmodalStack,\n\t\t} = state;\n\t\tconst { width, height } = action.payload;\n\t\tconst { modalId } = modalContent;\n\n\t\tconst content = modalStack?.find(\n\t\t\t(content) => content.modalId === modalId,\n\t\t);\n\t\tconst { source } = content ?? {};\n\n\t\tif (source) {\n\t\t\tsource.setAttribute('height', height);\n\t\t\tsource.setAttribute('width', width);\n\t\t}\n\t\taction.preventDefault();\n\t},\n\t[MODAL_HOIST_SLOT_CHANGED]: ({ action, state, updateProperties }) => {\n\t\taction?.stopPropagation?.();\n\n\t\tconst { modalStack = [] } = state;\n\t\tconst { childNodes = [] } = action?.payload || {};\n\n\t\tlet activeModalId = null;\n\t\tfor (const node of childNodes) {\n\t\t\tconst nodeId = node?.getAttribute('now-id');\n\t\t\tif (nodeId && node?.style?.display === 'block') {\n\t\t\t\t// Get id of modal, which was opened recently\n\t\t\t\tactiveModalId = nodeId;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// If no active modal is found, update properties\n\t\tif (!activeModalId && modalStack.length > 0) {\n\t\t\tconst lastModal = modalStack[modalStack.length - 1] || {};\n\t\t\tconst { modalId, source, hoistedSource } = lastModal;\n\n\t\t\t// Check if modal elements are truly disconnected before closing\n\t\t\tconst elementsDisconnected = !(\n\t\t\t\tsource?.isConnected || hoistedSource?.isConnected\n\t\t\t);\n\n\t\t\tif (elementsDisconnected) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmodalContent: {\n\t\t\t\t\t\tshowModal: false,\n\t\t\t\t\t\t...(modalId ? { modalId } : {}),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[MODAL_CLOSED_INTERNAL]: retargetAndDispatch,\n\t[MODAL_OPENED_INTERNAL]: retargetAndDispatch,\n\t[MODAL_UNHOIST_INTERNAL]: modalUnhoistFn,\n};\n\nexport const __export_for_testing__ = {\n\thostMap,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { actionHandlers } from './sn-canvas-modal-hoist.actions';\n\nimport { SN_CANVAS_MODAL_HOIST } from './constants/constants';\n\nimport view from './view';\nimport styles from './_sn-canvas-modal-hoist.scss';\n\ncreateCustomElement(SN_CANVAS_MODAL_HOIST, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmodalContent: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tinitialState: {\n\t\tmodalStack: [],\n\t\telemRef: null,\n\t},\n\tactionHandlers,\n});\n","import { MODAL_HOIST_SLOT_CHANGED } from './constants/constants';\n\nexport default (derivedState, { dispatch }) => {\n\tconst { modalStack } = derivedState;\n\tlet modalData;\n\tif (modalStack.length > 0) {\n\t\tmodalData = modalStack[modalStack.length - 1];\n\t} else {\n\t\treturn;\n\t}\n\tconst {\n\t\tisOpen = false,\n\t\theaderLabel = '',\n\t\tfooterActions = [],\n\t\tbare = false,\n\t\tdisplayOptions = {},\n\t} = modalData || {};\n\n\tconst label = displayOptions?.label || headerLabel;\n\tconst onSlotChange = (e) => {\n\t\tconst childNodes =\n\t\t\te.target?.assignedElements({ flatten: true }) ||\n\t\t\te.target?.assignedNodes({ flatten: true });\n\t\tdispatch(MODAL_HOIST_SLOT_CHANGED, {\n\t\t\tchildNodes,\n\t\t});\n\t};\n\n\tif (bare) {\n\t\treturn (\n\t\t\t<now-uxf-bare-modal\n\t\t\t\t{...displayOptions}\n\t\t\t\topened={isOpen === true}\n\t\t\t\tlabel={label}\n\t\t\t>\n\t\t\t\t<slot on-slotchange={onSlotChange} />\n\t\t\t<\/now-uxf-bare-modal>\n\t\t);\n\t}\n\n\treturn (\n\t\t<now-modal\n\t\t\theader-label={label}\n\t\t\tfooter-actions={footerActions}\n\t\t\topened={isOpen === true}\n\t\t\tmanage-opened\n\t\t\t{...displayOptions}\n\t\t>\n\t\t\t{displayOptions && displayOptions.content ? undefined : (\n\t\t\t\t<slot on-slotchange={onSlotChange} />\n\t\t\t)}\n\t\t<\/now-modal>\n\t);\n};\n"],"version":3}},{"offset":{"line":30,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-pagination/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","ceil","floor","isEqual","isUndefined","range","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","ITEM_CLICKED","PAGE_UPDATE","LIMIT_UPDATE","SET_PAGE","SET_LIMIT","CLICK_LIMIT","OPENED_SET","CLEAR_PAGE_FOCUS","LIMITS","HIDE_RANGE_LOADING_MESSAGE","LIST_COUNT_ERROR_MESSAGE","LIST_COUNT_STATUS","freeze","FETCHING","SUCCESS","ERROR","_generatePageRange","start","end","_getMaxPageCount","recordCount","limit","initialState","maxPages","limitOverride","page","visibleCount","listCountStatus","rangeLabel","realLimit","maxPage","safePage","Math","min","rangeStart","_getRangeStart","rangeEnd","_getRangeEnd","previousDisabled","nextDisabled","pageItems","maxPageCount","lessPagesThanPageLimit","half","upperHalf","firstGroupOfPages","lastGroupOfPages","middleGroupOfPages","_generatePageItems","hiddenCount","_getHiddenCount","numberFormat","count","toLocaleString","renderErrorIcon","_ref","state","updateState","targetRef","setTargetRef","ref","setTimeout","className","_ref2","elm","hook-destroy","size","renderLoadingIcon","icon","spin","renderLoadingOrErrorState","_ref3","hideRange","modifiedRangeLabel","getPage","isSelected","onClick","pageToFocus","onPageFocus","isAllButOne","isActive","ariaLabel","hook-update","_old","vnode","focus","getClass","on-click","on-focus","href","role","getIsDisabledClass","isDisabled","renderer","type","snabbdom","view","dispatch","properties","hidePages","hideFirstPage","hidePreviousPage","hideNextPage","hideLastPage","paginationModel","focusThisPage","disabled","model","first","previous","next","last","getDisabledValues","firstPageClassNames","previousPageClassNames","nextPageClassNames","lastPageClassNames","pageIncrementValue","onChange","pagesProps","variant","bare","tooltipContent","configAria","props","renderPages","styles","getLimitChoices","hasLimit","parseInt","filter","nowChoices","limitAriaLabel","rowLabel","items","select","transformState","label","choice","behaviors","truncationBehavior","tooltipBehavior","COMPONENT_PROPERTY_CHANGED","PAGINATION_LABEL","getPaginationModel","getModel","NOW_PAGINATION","hideRowCount","hideLimitSelector","hideSecurityConstraintsMessage","limitLabel","controlProps","hasHiddenRecords","singularHiddenMessage","pluralHiddenMessage","hiddenMessage","defaultContainerClass","lastContainerClass","renderRange","noCountMessage","includes","hasRecords","recordsMessage","noRangeMessage","message","renderPagination","setInitialState","shouldRenderWhenSet","actionHandlers","effect","coeffects","action","name","previousValue","payload","private","meta","updateProperties","path","operation","stopPropagation","dispatches","onConnect","host","window","listComponentRegistry","WeakMap","set","packageJson","onDisconnect","delete","__TECTONIC__$servicenow_now_pagination"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-pagination/src/_nowPagination.scss","webpack:///./src/_nowPagination.scss?8f60","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/27.0.26/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/27.0.26/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/constants.js","webpack:///@servicenow/now-pagination/src/model.js","webpack:///@servicenow/now-pagination/src/subcomponents/range.js","webpack:///@servicenow/now-pagination/src/subcomponents/pages.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/subcomponents/controls.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/subcomponents/limitSelector.js","webpack:///@servicenow/now-pagination/src/nowPagination.js","webpack:///@servicenow/now-pagination/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-pagination{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex:0 0 auto;flex-direction:column;font-size:1rem;padding:.25rem 1.5rem;position:relative;width:100%}@media(max-width:350px){.sn-pagination{padding:4px 0}}.sn-pagination-container{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;min-height:2.5rem;padding:0 1.5rem;position:relative;width:100%}@media(max-width:800px){.sn-pagination-container{padding:0 0}}.sn-pagination-container.-security{justify-content:center}.sn-pagination-content{align-items:center;display:inline-flex;flex-grow:1;justify-content:center;padding:4px 0}.sn-pagination-content:first-of-type{flex:0 1 auto;justify-content:center}:host(:not([dir=rtl])) .sn-pagination-content:first-of-type,:root:not([dir=rtl]) .sn-pagination-content:first-of-type{margin-right:.5rem}:host([dir=rtl]) .sn-pagination-content:first-of-type,:root[dir=rtl] .sn-pagination-content:first-of-type{margin-left:.5rem}.sn-pagination-content:first-of-type span{display:inline-flex}.sn-pagination-content:first-of-type span div{margin-bottom:.125rem;margin-left:.5rem}.sn-pagination-content:last-of-type{flex:0 1 auto;justify-content:center}:host(:not([dir=rtl])) .sn-pagination-content:last-of-type,:root:not([dir=rtl]) .sn-pagination-content:last-of-type{margin-left:.5rem}:host([dir=rtl]) .sn-pagination-content:last-of-type,:root[dir=rtl] .sn-pagination-content:last-of-type{margin-right:.5rem}.sn-pagination-content>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-pagination-content>span:after{content:\\\"\\\";display:block}.sn-pagination-content>span now-icon.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}:host(:not([dir=rtl])) .sn-pagination-content>span now-icon.error,:root:not([dir=rtl]) .sn-pagination-content>span now-icon.error{margin-right:.5rem}:host([dir=rtl]) .sn-pagination-content>span now-icon.error,:root[dir=rtl] .sn-pagination-content>span now-icon.error{margin-left:.5rem}@media(max-width:800px){.sn-pagination-content>span{white-space:normal}}.sn-pagination sn-pagination-controls{align-items:flex-start;display:flex;justify-content:center}.sn-pagination-pages{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}@media(max-width:260px){.sn-pagination-pages{justify-content:center}}.sn-pagination-pages .sn-pagination-btn{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0 .5rem;width:auto}@media(forced-colors:active){.sn-pagination-pages .sn-pagination-btn{color:buttonText}}.sn-pagination-control{align-items:center;display:inline-flex}.sn-pagination-control sn-choice{min-width:5.625rem}.sn-pagination-control-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .sn-pagination-control-label,:root:not([dir=rtl]) .sn-pagination-control-label{margin-left:.25rem}:host([dir=rtl]) .sn-pagination-control-label,:root[dir=rtl] .sn-pagination-control-label{margin-right:.25rem}.sn-pagination-control-label:after{content:\\\"\\\";display:block}.sn-pagination-btn{align-items:center;background:transparent;border:none;border-radius:.25rem;cursor:pointer;display:flex;flex:0 0 auto;font-size:1rem;inline-size:inherit;height:2rem;justify-content:center;margin:0 .125rem;min-width:2rem;text-decoration:none;vertical-align:middle;width:2rem}.sn-pagination-btn:active{color:currentcolor}.sn-pagination-btn:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),var(--now-opacity--least,.1));color:RGBA(var(--now-color--secondary-2,1,89,107))}.sn-pagination-btn:focus{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));outline:none}.sn-pagination-btn:focus::-moz-focus-inner{border-style:none}.sn-pagination-btn:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-pagination-btn:focus:focus{outline:1px solid highlight}}.sn-pagination-btn:active{background:RGBA(var(--now-color--secondary-2,1,89,107),var(--now-opacity--less,.25));color:RGB(var(--now-color--secondary-3,1,60,71))}.sn-pagination-btn.is-disabled,.sn-pagination-btn.is-disabled:hover{background:transparent;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:default;opacity:var(--now-opacity--mid,.5)}.sn-pagination-btn[hidden]{display:none}.sn-pagination-btn.is-selected{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:.125rem solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));font-weight:700}.sn-pagination-btn.is-selected:hover{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-pagination-btn.is-selected.is-disabled,.sn-pagination-btn.is-selected.is-disabled:hover{color:RGB(var(--now-color--primary-1,30,133,109))}@media(max-width:800px){.sn-pagination-btn.is-selected{display:inherit}}@media(forced-colors:active){.sn-pagination-btn{border-style:solid;border-width:1px;outline-offset:0}.sn-pagination-btn:focus,.sn-pagination-btn:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-pagination-btn:focus{outline:1px solid highlight}.sn-pagination-btn.is-selected{background-color:selecteditem;color:selecteditemtext;forced-color-adjust:none}.sn-pagination-btn.is-selected:hover{color:selecteditemtext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_nowPagination.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"ceil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'ceil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].ceil;\n\t\t\t\t\t} else if ('ceil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.ceil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].ceil;\n\t\t\t\t}, [\"floor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t\t} else if ('floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.floor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nexport const PAGE_UPDATE = 'NOW_PAGINATION#PAGE_UPDATE';\nexport const LIMIT_UPDATE = 'NOW_PAGINATION#LIMIT_UPDATE';\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\n\nexport const SET_PAGE = 'NOW_PAGINATION#SET_PAGE_CLICKED';\nexport const SET_LIMIT = 'NOW_DROPDOWN#SELECTED_ITEMS_SET';\nexport const CLICK_LIMIT = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const OPENED_SET = 'NOW_DROPDOWN#OPENED_SET';\n\nexport const CLEAR_PAGE_FOCUS = 'CLEAR_PAGE_FOCUS';\n\nexport const LIMITS = [10, 20, 50, 100];\n\nexport const VISIBLE_COUNT = 'visibleCount';\nexport const MAX_PAGES = 'maxPages';\nexport const RECORD_COUNT = 'recordCount';\n\nexport const TOGGLE_PAGINATION = 'TOGGLE_PAGINATION';\n\nexport const HIDE_RANGE = 'hideRange';\nexport const HIDE_ROW_COUNT = 'hideRowCount';\nexport const HIDE_FIRST_PAGE = 'hideFirstPage';\nexport const HIDE_PREV_PAGE = 'hidePreviousPage';\nexport const HIDE_NEXT_PAGE = 'hideNextPage';\nexport const HIDE_LAST_PAGE = 'hideLastPage';\nexport const HIDE_LIMIT = 'hideLimitSelector';\nexport const HIDE_PAGES = 'hidePages';\nexport const HIDE_RANGE_LOADING_MESSAGE = t('records');\n\nexport const LIST_COUNT_ERROR_MESSAGE = t(\n\t'Unable to load record count. Try refreshing the page.'\n);\n\nexport const LIST_COUNT_STATUS = Object.freeze({\n\tFETCHING: 'fetching',\n\tSUCCESS: 'success',\n\tERROR: 'error'\n});\n","import ceil from 'lodash/ceil';\nimport floor from 'lodash/floor';\nimport isUndefined from 'lodash/isUndefined';\nimport range from 'lodash/range';\n\n/**\n * Length of pages to display\n * @type {Number}\n */\nconst PAGE_LIMIT = 10;\n\n/**\n * Business logic to calculate a page range based on current page\n * @param       {Number} recordCount collection of records count\n * @param       {Number} limit       page size\n * @param       {[type]} page        current page\n * @param       {Number} limit       page size\n * @constructor\n * @return      {Array}           numbered array\n */\nexport const _generatePageItems = (\n\trecordCount,\n\tlimit,\n\tpage,\n\tmaxPages = PAGE_LIMIT\n) => {\n\tconst maxPageCount = _getMaxPageCount(recordCount, limit);\n\tconst lessPagesThanPageLimit = maxPageCount <= maxPages;\n\n\tconst half = floor(maxPages / 2);\n\tconst upperHalf = maxPages % 2 === 0 ? half - 1 : half;\n\n\tconst firstGroupOfPages = page < half + 1;\n\tconst lastGroupOfPages = page + upperHalf - 1 >= maxPageCount;\n\tconst middleGroupOfPages =\n\t\t!lessPagesThanPageLimit && !firstGroupOfPages && !lastGroupOfPages;\n\n\tif (lessPagesThanPageLimit) {\n\t\treturn _generatePageRange(1, maxPageCount);\n\t} else if (firstGroupOfPages) {\n\t\treturn _generatePageRange(1, maxPages);\n\t} else if (lastGroupOfPages) {\n\t\treturn _generatePageRange(maxPageCount - maxPages + 1, maxPageCount);\n\t} else if (middleGroupOfPages) {\n\t\treturn _generatePageRange(page - half, page + upperHalf);\n\t}\n};\n\n/**\n * Return a numbered array given a start and end\n *\n * 1, 10 -> [1,2,3,4,5,6,7,8,9,10]\n *\n * @param       {Number} startPage beginning of range\n * @param       {Number} endPage   end of range\n * @constructor\n * @return      {Array}           numbered array\n */\nexport const _generatePageRange = (start, end) => {\n\tif (typeof start === 'undefined' || typeof end === 'undefined') return;\n\n\treturn range(start, end + 1);\n};\n\n/**\n * Get maximum page count for given record set\n * @param       {Number} recordCount\n * @param       {Number} limit\n * @constructor\n * @return      {Number}\n */\nexport const _getMaxPageCount = (recordCount, limit) =>\n\tceil(recordCount / limit);\n\n/**\n * Get first item's index in given page's collection of records\n * @param       {Number} limit\n * @param       {Number} page\n * @constructor\n * @return      {Number}\n */\nexport const _getRangeStart = (limit, page) => limit * (page - 1) + 1;\n\n/**\n * Get last item's index in given page's collection of records,\n * @param       {Number} recordCount collection of record's length\n * @param       {Number} limit\n * @param       {Number} page\n * @constructor\n * @return      {Number}\n */\nexport const _getRangeEnd = (recordCount, limit, page) => {\n\tconst rangeEnd = limit * page;\n\tif (rangeEnd > recordCount) {\n\t\treturn recordCount;\n\t} else {\n\t\treturn rangeEnd;\n\t}\n};\n\n/**\n * Page model entry point, given a record count, limit, and current page, return model of appropriate paginations tate\n * @param  {Number} recordCount collection of record count\n * @param  {Number} limit       size of each page\n * @param  {Number} page        current page\n * @return {Object}             page model with current pagination state\n */\nexport default (initialState, maxPages) => {\n\tconst {\n\t\trecordCount,\n\t\tlimit,\n\t\tlimitOverride,\n\t\tpage,\n\t\tvisibleCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = initialState;\n\tconst realLimit = isUndefined(limitOverride) ? limit : limitOverride;\n\tconst maxPage = _getMaxPageCount(recordCount, realLimit);\n\tconst safePage = Math.min(page, maxPage);\n\tconst rangeStart = _getRangeStart(realLimit, safePage);\n\tconst rangeEnd = _getRangeEnd(recordCount, realLimit, safePage);\n\tconst previousDisabled = safePage <= 1;\n\tconst nextDisabled = safePage >= maxPage;\n\tconst pageItems = _generatePageItems(\n\t\trecordCount,\n\t\trealLimit,\n\t\tsafePage,\n\t\tmaxPages\n\t);\n\tconst hiddenCount = _getHiddenCount(\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tvisibleCount\n\t);\n\treturn {\n\t\trecordCount,\n\t\tlimit,\n\t\tpage: safePage,\n\t\tmaxPage,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tpreviousDisabled,\n\t\tnextDisabled,\n\t\tpageItems,\n\t\thiddenCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t};\n};\n\nexport const _getHiddenCount = (\n\trecordCount,\n\trangeStart,\n\trangeEnd,\n\tvisibleCount\n) => {\n\tif (\n\t\trecordCount === 0 ||\n\t\tvisibleCount === null ||\n\t\ttypeof visibleCount === 'undefined'\n\t)\n\t\treturn 0;\n\n\tconst adjustedRecordCount = rangeEnd - (rangeStart - 1);\n\treturn adjustedRecordCount - visibleCount;\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport {\n\tLIST_COUNT_STATUS,\n\tHIDE_RANGE_LOADING_MESSAGE,\n\tLIST_COUNT_ERROR_MESSAGE\n} from '../constants';\n\nconst numberFormat = count => {\n\treturn count?.toLocaleString();\n};\nexport const renderRange = (props, state, updateState) => {\n\tconst {\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\thideRange,\n\t\thideRowCount,\n\t\trangeLabel,\n\t\tlistCountStatus\n\t} = props;\n\tif (hideRange && hideRowCount) return null;\n\n\tconst noCountMessage = t(\n\t\t'Showing {0}-{1}',\n\t\tnumberFormat(rangeStart),\n\t\tnumberFormat(rangeEnd)\n\t);\n\tif (\n\t\t[LIST_COUNT_STATUS.ERROR, LIST_COUNT_STATUS.FETCHING].includes(\n\t\t\tlistCountStatus\n\t\t) &&\n\t\t!hideRowCount\n\t) {\n\t\treturn renderLoadingOrErrorState({\n\t\t\thideRange,\n\t\t\tlistCountStatus,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\trangeLabel: rangeLabel ? rangeLabel : noCountMessage\n\t\t});\n\t}\n\n\tconst hasRecords = recordCount !== 0;\n\tconst recordsMessage = t(\n\t\t'Showing {0}-{1} of {2}',\n\t\tnumberFormat(rangeStart),\n\t\tnumberFormat(rangeEnd),\n\t\tnumberFormat(recordCount)\n\t);\n\tconst noRangeMessage = t('{0} records', recordCount);\n\n\tlet message = hasRecords ? recordsMessage : noRangeMessage;\n\n\tif (hideRowCount && !hasRecords) return null;\n\telse if (hideRowCount) message = noCountMessage;\n\n\tif (hideRange) message = noRangeMessage;\n\n\treturn <span data-truncation>{rangeLabel ? rangeLabel : message}<\/span>;\n};\n\nconst renderErrorIcon = ({state, updateState}) => {\n\tconst {targetRef} = state;\n\tconst setTargetRef = ref => setTimeout(() => updateState({targetRef: ref}));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"error\"\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\ticon-=\"circle-exclamation-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t\t<now-tooltip target-ref={targetRef} content={LIST_COUNT_ERROR_MESSAGE} />\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderLoadingIcon = () => <now-icon icon=\"loader-fill\" size=\"md\" spin />;\n\nconst renderLoadingOrErrorState = ({\n\thideRange,\n\tlistCountStatus,\n\tstate,\n\tupdateState,\n\trangeLabel\n}) => {\n\tconst modifiedRangeLabel = t('{0} of', rangeLabel);\n\n\tif (hideRange) {\n\t\treturn (\n\t\t\t<span>\n\t\t\t\t<div>\n\t\t\t\t\t{LIST_COUNT_STATUS.ERROR === listCountStatus\n\t\t\t\t\t\t? renderErrorIcon({state, updateState})\n\t\t\t\t\t\t: renderLoadingIcon()}\n\t\t\t\t<\/div>\n\t\t\t\t{HIDE_RANGE_LOADING_MESSAGE}\n\t\t\t<\/span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<span data-truncation>\n\t\t\t{modifiedRangeLabel}\n\t\t\t<div>\n\t\t\t\t{LIST_COUNT_STATUS.FETCHING === listCountStatus\n\t\t\t\t\t? renderLoadingIcon()\n\t\t\t\t\t: renderErrorIcon({state, updateState})}\n\t\t\t<\/div>\n\t\t<\/span>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport const renderPages = props => {\n\tconst {pageItems} = props;\n\treturn (\n\t\t<div className=\"sn-pagination-pages\">\n\t\t\t{pageItems.map(page => getPage(page, props))}\n\t\t<\/div>\n\t);\n};\n\nconst getPage = (\n\tpage,\n\t{isSelected, onClick, pageToFocus, onPageFocus},\n\tisAllButOne = false\n) => {\n\tconst isActive = isSelected(page);\n\tconst ariaLabel = t('{0} - Page {0}', page);\n\treturn (\n\t\t<a\n\t\t\thook-update={(_old, vnode) => {\n\t\t\t\tif (page === pageToFocus) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tvnode.elm.focus();\n\t\t\t\t\t}, 10);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tkey={page.toString()}\n\t\t\tclassName={`sn-pagination-btn ${getClass(isActive, isAllButOne)}`}\n\t\t\ton-click={() => onClick(page, true)}\n\t\t\ton-focus={() => onPageFocus()}\n\t\t\thref=\"javascript:void(0)\"\n\t\t\taria-current={`${isActive}`}\n\t\t\trole={'button'}\n\t\t\taria-label={ariaLabel}>\n\t\t\t{page}\n\t\t<\/a>\n\t);\n};\n\nconst getClass = (isActive, isAllButOne) =>\n\tisAllButOne ? 'is-disabled' : isActive ? 'is-selected' : '';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport styles from '../_nowPagination.scss';\nimport {SET_PAGE} from '../constants';\n\nimport {renderPages} from './pages';\nimport '@servicenow/now-button';\n\nconst getIsDisabledClass = isDisabled => (isDisabled ? 'is-disabled' : '');\n\nconst getDisabledValues = model => ({\n\tfirst: model.previousDisabled,\n\tprevious: model.previousDisabled,\n\tnext: model.nextDisabled,\n\tlast: model.nextDisabled\n});\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\thidePages,\n\t\t\thideFirstPage,\n\t\t\thidePreviousPage,\n\t\t\thideNextPage,\n\t\t\thideLastPage,\n\t\t\tpaginationModel,\n\t\t\tisSelected,\n\t\t\tfocusThisPage: pageToFocus\n\t\t}\n\t} = state;\n\n\tconst {page, maxPage, pageItems} = paginationModel;\n\n\tconst disabled = getDisabledValues(paginationModel);\n\tconst firstPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.first\n\t)}`;\n\tconst previousPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.previous\n\t)}`;\n\tconst nextPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.next\n\t)}`;\n\tconst lastPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.last\n\t)}`;\n\tconst pageIncrementValue = page + 1 <= maxPage ? page + 1 : maxPage;\n\n\tconst onChange = (page, focusThisPage = false) =>\n\t\tdispatch(SET_PAGE, {page, focusThisPage}, {paginationModel});\n\tconst onPageFocus = () => dispatch('CLEAR_PAGE_FOCUS');\n\tconst pagesProps = {\n\t\tisSelected,\n\t\tpageItems,\n\t\tpageToFocus,\n\t\tonClick: onChange,\n\t\tonPageFocus\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideFirstPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={firstPageClassNames}\n\t\t\t\t\tdata-title={t('First Page')}\n\t\t\t\t\ttooltipContent={t('First Page')}\n\t\t\t\t\tdisabled={disabled.first}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('First Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.first}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(1)}\n\t\t\t\t\ticon=\"arrow-start-most-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hidePreviousPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={previousPageClassNames}\n\t\t\t\t\tdata-title={t('Previous Page')}\n\t\t\t\t\ttooltipContent={t('Previous Page')}\n\t\t\t\t\tdisabled={disabled.previous}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Previous Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.previous}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(page - 1)}\n\t\t\t\t\ticon=\"arrow-start-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hidePages ? renderPages(pagesProps) : null}\n\t\t\t{!hideNextPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={nextPageClassNames}\n\t\t\t\t\tdata-title={t('Next Page')}\n\t\t\t\t\ttooltipContent={t('Next Page')}\n\t\t\t\t\tdisabled={disabled.next}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Next Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.next}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(pageIncrementValue)}\n\t\t\t\t\ticon=\"arrow-end-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hideLastPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={lastPageClassNames}\n\t\t\t\t\tdata-title={t('Last Page')}\n\t\t\t\t\ttooltipContent={t('Last Page')}\n\t\t\t\t\tdisabled={disabled.last}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Last Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.last}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(maxPage)}\n\t\t\t\t\ticon=\"arrow-end-most-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-pagination-controls', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\thidePages: {\n\t\t\tdefault: false\n\t\t},\n\t\thideFirstPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thidePreviousPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thideNextPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thideLastPage: {\n\t\t\tdefault: false\n\t\t},\n\t\tpaginationModel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisSelected: {\n\t\t\tdefault: false\n\t\t},\n\t\tfocusThisPage: {\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tstyles\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport styles from '../_nowPagination.scss';\nimport {LIMITS} from '../constants';\n\nimport '@servicenow/now-dropdown';\n\nconst hasLimit = value => {\n\tvalue = parseInt(value, 10);\n\treturn LIMITS.filter(limit => value === limit).length !== 0;\n};\n\nconst getLimitChoices = limit =>\n\thasLimit(limit) ? LIMITS : LIMITS.concat([limit]);\n\nconst view = state => {\n\tconst {\n\t\tproperties: {limit},\n\t\tnowChoices,\n\t\tlimitAriaLabel,\n\t\trowLabel\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-pagination-control\">\n\t\t\t<now-dropdown\n\t\t\t\tconfig-aria={{'aria-label': limitAriaLabel}}\n\t\t\t\tpanel-fit-props={['top-start bottom-start']}\n\t\t\t\titems={nowChoices}\n\t\t\t\tselect=\"single\"\n\t\t\t\tselected-items={[limit.toString()]}\n\t\t\t\tshow-padding\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tmanage-selected-items\n\t\t\t\tbare\n\t\t\t/>\n\t\t\t<span\n\t\t\t\tdata-truncation\n\t\t\t\tclassName=\"sn-pagination-control-label\"\n\t\t\t\taria-label={rowLabel}>\n\t\t\t\t{rowLabel}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-pagination-limit-selector', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t\ttransformState(state) {\n\t\t\tconst {\n\t\t\t\tproperties: {limit, label}\n\t\t\t} = state;\n\t\t\tconst choices = getLimitChoices(limit);\n\t\t\tconst nowChoices = choices.map(choice => ({\n\t\t\t\tid: choice.toString(),\n\t\t\t\tlabel: choice.toString()\n\t\t\t}));\n\t\t\tconst limitAriaLabel = t(`{0} ${label}`, limit);\n\t\t\tconst rowLabel = t(`${label}`);\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tnowChoices,\n\t\t\t\tlimitAriaLabel,\n\t\t\t\trowLabel\n\t\t\t};\n\t\t}\n\t},\n\tproperties: {\n\t\tlimit: {\n\t\t\tdefault: 20\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: 'rows per page'\n\t\t},\n\t\tselect: {}\n\t},\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tstyles\n});\n","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {t} from 'sn-translate';\n\nimport packageJson from '../package.json';\n\nimport styles from './_nowPagination.scss';\nimport {\n\tITEM_CLICKED,\n\tPAGE_UPDATE,\n\tSET_PAGE,\n\tSET_LIMIT,\n\tLIMIT_UPDATE,\n\tCLICK_LIMIT,\n\tOPENED_SET,\n\tLIST_COUNT_STATUS,\n\tCLEAR_PAGE_FOCUS\n} from './constants';\nimport {default as getModel} from './model';\nimport {renderRange} from './subcomponents/range';\nimport './subcomponents/controls';\nimport './subcomponents/limitSelector';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst PAGINATION_LABEL = t('Pagination');\n\nconst renderPagination = (\n\tcontrolProps,\n\tisSelected = page =>\n\t\tisEqual(page, get(controlProps, 'paginationModel.page', 1))\n) => {\n\treturn <sn-pagination-controls {...controlProps} isSelected={isSelected} />;\n};\n\nconst view = (state, {updateState}) => {\n\tconst {\n\t\tpaginationModel,\n\t\tproperties: {\n\t\t\thideRange,\n\t\t\thideRowCount,\n\t\t\thideFirstPage,\n\t\t\thidePreviousPage,\n\t\t\thidePages,\n\t\t\thideNextPage,\n\t\t\thideLastPage,\n\t\t\thideLimitSelector,\n\t\t\thideSecurityConstraintsMessage,\n\t\t\tlimitLabel,\n\t\t\tfocusThisPage\n\t\t}\n\t} = state;\n\n\tconst {\n\t\thiddenCount,\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tlimit,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = paginationModel;\n\n\tconst controlProps = {\n\t\thidePages,\n\t\thideFirstPage,\n\t\thidePreviousPage,\n\t\thideNextPage,\n\t\thideLastPage,\n\t\tpaginationModel,\n\t\tfocusThisPage\n\t};\n\tconst hasHiddenRecords = hiddenCount > 0;\n\tconst singularHiddenMessage = t(\n\t\t'{0} row removed from this list by security constraints.',\n\t\thiddenCount\n\t);\n\tconst pluralHiddenMessage = t(\n\t\t'{0} rows removed from this list by security constraints.',\n\t\thiddenCount\n\t);\n\tconst hiddenMessage =\n\t\thiddenCount === 1 ? singularHiddenMessage : pluralHiddenMessage;\n\n\tconst defaultContainerClass = 'sn-pagination-content';\n\tconst lastContainerClass = !hideLimitSelector\n\t\t? `${defaultContainerClass} has-controls`\n\t\t: defaultContainerClass;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-pagination\"\n\t\t\trole=\"navigation\"\n\t\t\taria-label={PAGINATION_LABEL}>\n\t\t\t{hasHiddenRecords && !hideSecurityConstraintsMessage ? (\n\t\t\t\t<div className=\"sn-pagination-container -security\">\n\t\t\t\t\t<span data-truncation role=\"status\">\n\t\t\t\t\t\t{hiddenMessage}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"sn-pagination-container\">\n\t\t\t\t<div className={defaultContainerClass}>\n\t\t\t\t\t{renderRange(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thideRange,\n\t\t\t\t\t\t\thideRowCount,\n\t\t\t\t\t\t\trangeEnd,\n\t\t\t\t\t\t\trangeLabel,\n\t\t\t\t\t\t\trangeStart,\n\t\t\t\t\t\t\trecordCount,\n\t\t\t\t\t\t\tlistCountStatus\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className={defaultContainerClass}>\n\t\t\t\t\t{renderPagination(controlProps)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className={lastContainerClass}>\n\t\t\t\t\t{!hideLimitSelector ? (\n\t\t\t\t\t\t<sn-pagination-limit-selector limit={limit} label={limitLabel} />\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst getPaginationModel = properties => {\n\tconst {\n\t\tlimit,\n\t\tlimitOverride,\n\t\tpage,\n\t\tvisibleCount,\n\t\tmaxPages,\n\t\trecordCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = properties;\n\n\treturn getModel(\n\t\t{\n\t\t\tlimit,\n\t\t\tlimitOverride,\n\t\t\tpage,\n\t\t\trecordCount,\n\t\t\tvisibleCount,\n\t\t\tlistCountStatus,\n\t\t\trangeLabel\n\t\t},\n\t\tmaxPages\n\t);\n};\n\nconst componentPropertyChangedHandler = coeffects => {\n\tconst {state, updateState, action, dispatch} = coeffects;\n\tconst {name, previousValue, value} = action.payload;\n\n\tif (name === 'page' && previousValue !== value) {\n\t\tdispatch(CLEAR_PAGE_FOCUS);\n\t}\n\n\tconst paginationModel = getPaginationModel(state.properties);\n\tupdateState({paginationModel});\n};\n\nconst setPageHandler = coeffects => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {page, focusThisPage},\n\t\t\tmeta: {paginationModel}\n\t\t},\n\t\tupdateProperties\n\t} = coeffects;\n\n\tif (\n\t\tpage < 1 ||\n\t\tpage > paginationModel.maxPage ||\n\t\tisEqual(page, paginationModel.page)\n\t) {\n\t\treturn;\n\t}\n\tif (focusThisPage) {\n\t\tupdateProperties({focusThisPage: page});\n\t}\n\tdispatch(PAGE_UPDATE, {page});\n};\n\nconst setLimitHandler = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate: {paginationModel}\n\t} = coeffects;\n\n\tconst limit = get(action, 'payload.value[0]');\n\n\tupdateState({\n\t\tpath: 'paginationModel.limit',\n\t\tvalue: limit,\n\t\toperation: 'set'\n\t});\n\n\tif (paginationModel?.limit !== limit) {\n\t\tdispatch(LIMIT_UPDATE, {limit});\n\t}\n};\n\nconst NOW_PAGINATION = 'now-pagination';\n\n/**\n * A component that displays pagination controls, limit selector, and records displayed for use in navigating\n * through paged data.\n *\n * ```\n * <now-pagination {...paginationProps} />\n * ```\n *\n * @seismicElement now-pagination\n * @summary A component that displays pagination controls, limit selector, and records displayed for use in navigating\n * through paged data.\n */\ncreateCustomElement(NOW_PAGINATION, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\tpaginationModel: getPaginationModel(properties)\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * how many records to render per page. Default: 20.\n\t\t * @type {number}\n\t\t */\n\t\tlimit: {\n\t\t\tdefault: 20\n\t\t},\n\t\t/**\n\t\t * initial page to render\n\t\t * @type {number}\n\t\t */\n\t\tpage: {\n\t\t\tdefault: 1\n\t\t},\n\t\t/**\n\t\t * The total records in the collection.\n\t\t * @type {number}\n\t\t */\n\t\trecordCount: {},\n\t\t/**\n\t\t * The *visible* records in the collection (ACLs, business rules, etc)\n\t\t * @type {number}\n\t\t */\n\t\tvisibleCount: {},\n\t\t/**\n\t\t * Gives the ability to remove the pagination range text from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideRange: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the pagination row count text from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideRowCount: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'jump-to-first-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideFirstPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'previous-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePreviousPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the page buttons (i.e. As in Page: 1, 2, 3, 4, etc.) from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePages: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'next-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideNextPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'jump-to-last-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLastPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the limit selector from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLimitSelector: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to hide the security constraints message.\n\t\t * @type {boolean}\n\t\t */\n\t\thideSecurityConstraintsMessage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines the number of page buttons to show.\n\t\t * @type {number}\n\t\t */\n\t\tmaxPages: {\n\t\t\tdefault: 10\n\t\t},\n\t\t/**\n\t\t * Determines the post-count text (label) of the limit selector (i.e. 'Display {0} <insert-post-count-text-here>').\n\t\t * @type {string}\n\t\t */\n\t\tlimitLabel: {\n\t\t\tdefault: 'rows per page'\n\t\t},\n\t\t/**\n\t\t * Overrides the pagination range text (i.e. Showing 1-20 records) with custom message.\n\t\t * @type {string}\n\t\t */\n\t\trangeLabel: {\n\t\t\tdefault: undefined\n\t\t},\n\t\t/**\n\t\t * Determines list record count request status\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tlistCountStatus: {\n\t\t\tdefault: LIST_COUNT_STATUS.SUCCESS\n\t\t},\n\t\tlimitOverride: {},\n\t\tfocusThisPage: {\n\t\t\tdefault: 0,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\tstyles,\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChangedHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[SET_PAGE]: {\n\t\t\teffect: setPageHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[SET_LIMIT]: {\n\t\t\teffect: setLimitHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[CLICK_LIMIT]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[OPENED_SET]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[ITEM_CLICKED]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLEAR_PAGE_FOCUS]: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {updateProperties} = coeffects;\n\t\t\t\tupdateProperties({focusThisPage: 0});\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks the pagination controls (i.e. first page, next page, or a specific page).\n\t\t * Payload will include the page the user wants to go to.\n\t\t * @type {{page: number}}\n\t\t */\n\t\t[PAGE_UPDATE]: {},\n\t\t/**\n\t\t * Dispatched when the user selects a new limit (i.e. the amount of records to display on a given page).\n\t\t * Payload will include the limit amount (i.e. 10, 20, 50, 100).\n\t\t * @type {{limit: number}}\n\t\t */\n\t\t[LIMIT_UPDATE]: {}\n\t},\n\tonConnect(host) {\n\t\tif (!window.listComponentRegistry) {\n\t\t\twindow.listComponentRegistry = new WeakMap();\n\t\t}\n\t\twindow.listComponentRegistry.set(host, packageJson.version);\n\t},\n\tonDisconnect(host) {\n\t\tif (window.listComponentRegistry) {\n\t\t\twindow.listComponentRegistry.delete(host);\n\t\t}\n\t}\n});\n\nexport default NOW_PAGINATION;\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_pagination=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":48,"column":0},"map":{"mappings":"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","file":"externals/sn-component-workspace-global-search/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","toPropertyKey","require","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_extends","assign","bind","target","arguments","source","prototype","hasOwnProperty","call","apply","excluded","sourceKeys","keys","indexOf","_typeof","t","r","e","Symbol","toPrimitive","TypeError","String","Number","o","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","get","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","cloneDeep","debounce","differenceBy","find","has","head","intersectionBy","isEmpty","isFinite","isNumber","merge","noop","omit","pick","slice","sortBy","take","trim","truncate","SEARCH_SOURCE","GLOBAL_SEARCH_CONFIG","USER_PREFERENCE","LOG_STATUS_KEY","createLog","name","_log","type","level","args","window","Array","splice","unshift","console","debug","log","info","warn","error","LOG","response","usePresourcePath","includeShowRedactionWarning","config","paths","path","properties","forEach","parsePropertiesFromPath","_ref","_ref2","Boolean","searchSourcesData","order","displayValue","sys_id","exactMatchEnabled","exact_match_enabled","behaviorName","transform","globalSearchConfigTransform","searchSourcesTransform","userPreferencesTransform","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","createPreSourceBehavior","getBehaviorProp","getProperty","behaviorMap","transforms","reduce","prev","curr","behavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","NETWORK_ERROR","SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR","OTHER_ERROR","ERROR_FOR_USER","ALL_FAILED_ERROR","SearchSourceErrors","errors","add","message","test","isSearchSourceTableNotFound","hasError","errorType","filter","getAggregatedError","numSearchSources","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__","Fragment","_getBehaviorProp","state","val","ConfigProvider","React","getChildContext","props","render","children","propTypes","PropTypes","childContextTypes","mapConfigToProps","ComponentToWrap","ComponentWithConfig","context","configProps","propsWithConfig","createElement","contextTypes","wrapComponent","ErrorBoundary","super","componentDidCatch","errorInfo","setState","PAGE_UPDATE","PAGE_CONTROL_UPDATE","EXACT_MATCH_FETCH","EXACT_MATCH_STARTED","EXACT_MATCH_SUCCEEDED","EXACT_MATCH_FAILED","DRILLDOWN_FETCH","DRILLDOWN_FETCH_STARTED","DRILLDOWN_FETCH_SUCCEEDED","DRILLDOWN_FETCH_FAILED","VIEW_ALL_CLICKED","WORKSPACE_TEXT_SEARCH_STARTED","WORKSPACE_TEXT_SEARCH_FAILED","WORKSPACE_TEXT_SEARCH","WORKSPACE_TEXT_SEARCH_SUCCEEDED","WORKSPACE_TEXT_SEARCH_BATCHED","WORKSPACE_TEXT_SEARCH_FAILED_BATCHED","USER_PREFERENCES_SET","GLOBAL_SEARCH_ACTION","FETCH_CONFIGURATIONS","FETCH_CONFIGURATIONS_FAILED","FETCH_CONFIGURATIONS_SUCCEEDED","BACK_BUTTON_CLICKED","BACK_BUTTON_CLICKED_INTERNAL","KEY_CODES","GlobalSearchUtils","graphqlizeActionPayload","record","sysId","data","record_class_name","recordClassName","record_url","recordUrl","table","title","metadata","generateTitleForHistoryRecord","graphqlizedRecord","display","multiplexedDispatch","dispatch","action","payload","pyld","actionMetadata","dispatchItemSelected","sourceId","newTab","dispatchTermSearched","term","dispatchPageUpdate","getSysPropertyAsNumber","parsedValue","parseInt","isNaN","typeahead_debounce","recent_items_count","recent_terms_count","recent_ttl_in_days","tab_overview_items_per_section","tab_drilldown_items_per_page","tab_pagination_debounce","hide_search_results_count","show_search_result_redaction_warning","exact_match_request_criterion_regex","TabHeader","spinnerEnabled","isGlobal","className","label","variant","size","skipLinkClicked","defaultProps","TabBody","setRef","ref","isRequired","TabContainer","isVisible","THUMBNAIL_CLASS","circle","square","Thumbnail","getAvatarContent","isImageInvalid","url","icon","initials","imageURL","altText","src","alt","onError","imageSrc","userName","InvisibleContent","providedClassname","propsWithoutClass","_objectWithoutPropertiesLoose","_excluded","mergedClassName","getAccessibleDisplayValueMessage","recordTitle","valueItems","itemSerialized","replace","getDisplayedValue","emptyValue","FieldList","descriptionId","fields","hideEmptyFields","stackedValueItems","getItems","valueToDisplay","separator","omission","align","truncated","items","LOCATION_SUB_FIELDS","getNonLocationFields","LocationField","subFields","locationValue","field","Attachment","attachment","icon_url","file_name","href","attachment_url","attachments","class","ENUM_TAB_MODES","DRILL_DOWN","OVERVIEW","PREVIOUS_APP","VIEW_ALL","NAVIGATE_TO_LIST_VIEW","BACK_TO","SKIP_TO_LABEL","SIDEBAR_HEADER_LABEL","SKIP_TO_SIDEBAR","PREVIEW_LABEL","GLOBAL_NAV_PREFIX","NEW_TAB_LABEL","CompanyCard","onSelect","displayFields","thumbnail","matched_attachments","nonLocationFields","onClick","onKeyDown","tabIndex","bare","tooltipContent","AttachmentList","LocationCard","UserCard","selectedDisplayFields","DefaultCard","description","showDescription","spreadVertically","CatalogCard","resultPreview","Record","event","section","metaKey","ctrlKey","tagName","which","selectedSearchContext","recordTarget","includes","encodeURIComponent","propsToPass","CardComponent","tableName","getCardComponent","ResultRecords","ariaLabelledBy","records","fieldOrder","onRecordSelect","index","DrillDownView","nodeToScroll","onBackToAllResultsClick","getNodeToScrollRef","componentDidUpdate","isFetching","scrollTop","resetDrillDownState","el","paginationLimit","currentPage","sectionId","sectionTitle","hideResultsCount","responseRecordCount","visibleCount","databaseRecordCount","paginationProps","hideLimitSelector","limit","page","recordCount","headerTitle","toLocaleString","sectionTableName","total","selectedPage","selectedPageSize","manageSelectedPage","hidePageSizeControl","hideRange","hideRowCount","showRedactionWarning","connectConfig","global_search_config","exactMatchDataShape","sources","EXACT_MATCH_SECTION","condition","drilldownDataShape","sourceData","sourceSysId","ComponentWorkspaceGlobalSearchTabDrillDown","debouncedRead","read","paginationDebounce","leading","switchToOverviewMode","componentDidMount","helpers","drilledDownSection","drilldownData","componentWillReceiveProps","nextProps","nextSourceId","nextPage","nextTerm","prevProps","prevError","handleBackToResultsClick","sysParmTerm","sysParamPage","itemsToShowPerPage","sysparmLimit","sysparm_limit","sysparm_page","sysparm_term","drilledDownSectionTitle","DrillDown","AriaLiveRegion","role","_getPreviousContext","userInfo","_getUserInfoFromSession","_window","_window$ux_globals","sessionInfo","ux_globals","session","userSessionInfo","language","previousContext","localStorage","getItem","BackButton","isLegacyWorkspace","availableLabel","_getAvailableLabel","searchContext","backButtonLabel","JSON","parse","labelDisplayValue","NoResults","alignment","heading","illustration","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__","Section","infoIconRef","nodeRef","linkRef","getInfoIconRef","getNodeRef","getLinkRef","onViewAllClick","navigateToListView","focusLinkOnMount","focus","scrollSectionIntoView","scrollIntoView","getElementsByClassName","isDrillDownViewAvailable","overrideGotoListViewEvent","conditionOnSearchSource","conditions","searchSourceConditionUrlFormat","newUrl","top","location","split","urlExtension","navListUrl","open","limitPerSource","sectionHeaderText","redactedRecords","countWarning","labelId","isExactMatch","fn","optionalKeys","preventDefault","SkipToLink","skipToCallback","displayText","createInteractionHandlers","EXACT_MATCH_DATA","Sidebar","renderSection","rawData","onSidebarItemClick","round","status","color","displayExactMatchSection","searchSources","skipToResultsLinkClicked","totalSources","totalRecordCount","search_sources","Overview","resultsRef","sidebarRef","containerNode","getContainerRef","setSideBarRef","setResultsRef","skipToSideBarLinkClicked","focusFirstElementFromRef","ReactDOM","node","scrollIntoViewSection","onSectionDrillDown","shouldScrollIntoView","reading","isOverviewVisible","exactMatchData","hasExactMatch","indexOffset","ComponentWorkspaceGlobalSearchTabOverview","readInChunks","itemsToShowPerSection","mode","searchErrors","resetOverviewState","batchCount","currentTerm","prevTerm","prevItemsToShowPerSection","getDataForTerm","isChunkedReadComplete","searchTerm","searchData","isSearching","sourceList","sysParamTerm","sysParamLimit","searchContextConfigId","arr","remainder","batches","shortSliceFirst","batch","searchSourceIds","sysparm_search_sources","searchParams","handleSidebarItemClick","_hasExactMatchRecords","FetchConfigLoadingView","getResolvedConfigurations","workspaceConfigs","globalSearchViewConfigId","globalSearchDataConfigId","hideSearchResultsCount","snSearchSources","getSearchSourcePresourceData","dataConfig","snUserPreferences","getUserPreferencePresourceData","exactMatchPreference","snGlobalSearchConfig","getGlobalSearchConfigPresourceData","viewConfig","viewSysId","dataSysId","DEFAULT_CONFIG","PresourceDefaults","ComponentWorkspaceGlobalSearchTab","MODES","setForceRenderTimeStamp","_defineProperty","setForceRenderTimestamp","forceLegacyRender","delay","timestamp","Date","getTime","setTimeout","searchSourceId","searchSourceTitle","configFromSysProperties","getConfigFromSysProperties","globalSearchConfig","forceRender","exactMatch","isFetchingWorkspaceConfig","otherSeismicProps","seismicProps","trimmedTerm","configLoaded","SearchTabOverview","SearchTabDrillDown","instanceId","style","definitionSysId","inputValues","getConfigurationsPayload","USER_PREFERENCES_FETCH","USER_PREFERENCES_FETCH_STARTED","USER_PREFERENCES_FETCH_SUCCEEDED","USER_PREFERENCES_FETCH_FAILED","USER_PREFERENCES_SET_STARTED","USER_PREFERENCES_SET_SUCCEEDED","USER_PREFERENCES_SET_FAILED","RECENT_ACTIONS_MODEL_SET","HANDLE_TOOLTIP_CONTENT","ITEM_SELECTED","FETCH_ALL_CONFIGURATIONS","FIT_RESIZE","CONTEXT_DROPDOWN_CLICKED","CONTEXT_ITEM_SELECTED","CLEAR_BUTTON_CLICKED","SEARCH_ICON_BUTTON_CLICKED","CANCEL_BUTTON_CLICKED","userPreferencesContext","recordData","updateState","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","method","headers","pathParams","startActionType","successActionType","errorActionType","transformTabExactMatchResponse","queryParams","meta","updatedState","drilldownSysId","drilldownTerm","rawResult","result_count","resultCount","search_results","searchResults","source_table","sectionSearchResults","record_count","transformdrilldownResponse","toSearchError","nextSearchErrors","shouldAddError","nextError","transformAResponse","responseData","transformedSources","sourceTable","transformTextSearchOverview","currentData","requestMetadata","prevGlobalSearchViewConfigId","prevGlobalSearchDataConfigId","resultTerm","mergeGlobalSearchResponses","sourcesA","sourceListA","responseRecordCountA","transformedResponse","sourcesB","sourceListB","responseRecordCountB","nextSearchData","currentError","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","variableList","totalResults","resultSectionsRecordLength","mapSourceIdToSourceData","mapTableNameToSourceId","totalSourcesRecieved","sections","sectionsFilteredByResponseCount","dataSize","filteredSectionRecordLengths","sectionRecordLengths","getSectionIdByTableName","getSourceData","getSectionRecordsBySectionId","getSectionRecordCountBySectionId","getSectionNameBySectionId","getRecordsLengthBySectionId","getDisplayFieldNamesBySourceId","RECENT_ACTION_SECTIONS","TERM_SEARCHED","RecentActionsModel","GlobalSearchModel","SECTIONS","createNewRecentAction","actionRecord","created","now","maxItems","maxTerms","actionsTTLInDays","recentlySearchedLabel","recentlyViewedLabel","itemData","DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS","recentActions","itemSelectedRecords","parseItemSelectedActions","termSearchedRecords","parseTermSearchedActions","recentlySearchedViewedLabel","recordObj","__sourceId","filterDeadActions","TTLInMS","actionRecords","addRecentAction","actionData","prepareDataForStorage","dataCanBeStored","_recentActions","targetSection","stringifiedData","stringify","pop","shift","coeffects","userPrefData","options","variables","userPreferencesQuery","userPreferences","preferences","recentItemsCount","recentTermsCount","recentTTLInDays","getGlobalConfigs","typeaheadRecentActionsModel","parseUserPreferenceValue","model","userPrefName","stringifiedRecentActions","DATABROKER_URI_QUERY","dataParam","executionResult","output","global_search_configs","tsMatch","user_preferences","effect","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","handleDrilldownPageUpdate","stopPropagation","handleDrilldownControlPageUpdate","effectProxy","handleTextSearch","handleTextSearchStarted","handleTextSearchSucceeded","handleTextSearchFailed","handleTextSearchFailedBatched","handleTextSearchBatched","handleDrilldownFetchEffect","handleDrilldownFetchFailedEffect","handleDrilldownFetchStartedEffect","handleDrilldownFetchSucceededEffect","handleViewAllClickedEffect","handleTabExactMatchFetchEffect","handleTabExactMatchFetchStartedEffect","handleTabExactMatchFetchSucceededEffect","handleTabExactMatchFetchFailedEffect","handleTabUserPreferenceFetch","handleTabUserPreferenceFetchSucceeded","handleTabUserPreferenceSet","handleFetchConfigurationsEffect","handleFetchConfigurationsSucceededEffect","handleFetchConfigurationsFailedEffect","handleBoostrappedEffect","handlePropertyChangedEffect","handleGlobalSearchActionEffect","handleBackButtonClickedEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__","TOOLTIP_HIDE","TOOLTIP_SHOW","view","behaviors","presourceFactory","rtlBehavior","tooltipBehavior","renderer","react","initialComponentState","schema","computed","_ref3","styles","actionHandlers","dispatches","route","searchDataConfigId","searchViewConfigId","DEFAULT_PLACEHODLER","SEARCH_LABEL","CLEAR_LABEL","SEARCH_CONTEXT_TRIGGER_LABEL","LOADING_LABEL","SEARCH_ALL_RECORDS","VIEW_RESULTS","RESULTS_SECTION","RECENTLY_SEARCHED","RECENTLY_VIEWED","CLICK","KEYDOWN","DROPDOWN_POSITION","WINDOW_SIZE","CANCEL_LABEL","GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH","minWidth","maxWidth","isExactMatchPresent","canTermMatchExactly","criterionRegex","RegExp","hasExactMatchReadingFinished","termCriterionRegex","__assign","s","p","handleScroll","parent","_a","scrollLeft","duration","scrollIntoViewIfNeeded","animateOptions","finalElement","offsetOptions","HTMLElement","Error","centerIfNeeded","isBoolean","defaultOffset","right","bottom","left","offset","easing","boundary","offsetTop","offsetRight","offsetBottom","offsetLeft","withinBounds","min","max","extent","Math","area","makeArea","width","height","translate","relativeFromTo","lhs","rhs","newLeft","newTop","offsetParent","clientLeft","clientTop","offsetWidth","offsetHeight","parentNode","clientWidth","clientHeight","calculate","ResultRecord","displayField","getDisplayValue","getStackedValueItem","getLabel","active","getRecordTitle","getStackedValueItems","serializedRecordValueId","TermRecord","TYPEAHEAD_ITEM_LOOKUP","TYPEAHEAD_ITEM_LOOKUP_STARTED","TYPEAHEAD_ITEM_LOOKUP_FAILED","TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED","ComponentWorkspaceGlobalSearchTypeaheadItemRecord","readItem","nextTable","nextSysId","sysparm_table_name","sysparm_item_sys_id","typeaheadItem","transformTypeaheadItemLookupResponse","getRecordClickDetails","handleTypeaheadItemLookup","handleTypeaheadItemLookupFailed","handleTypeaheadItemLookupStarted","handleTypeaheadItemLookupSucceeded","ENUM_TYPEAHEAD_RECORD_TYPES","TERM","RESULT","SEARCH_ALL_ACTION","TypeaheadRecord","_recordContainer","showTooltipOnTruncation","recordContainer","TYPES","querySelector","_target$querySelector","shadowRoot","titleContainer","scrollWidth","populateDisplayFields","elementRef","onMouseMove","sectionIndex","recordIndex","shouldShowTooltipOnTruncation","handleTooltipShow","onMouseDown","handleTooltipHide","onMouseEnter","onMouseLeave","values","ResultSection","onResultClickData","recordDetails","recordClickDetails","results","activeRecordIndex","headingComp","toUpperCase","rec","NAVIGATION_DIRECTIONS","UP","DOWN","NavigationWrapper","DIRECTIONS","getUpdatedIndex","dataModel","previousRecord","nextRecord","getRecordBySectionAndRecordIndex","getRecord","flattenedIndex","getSectionAndRecordIndices","count","lastCount","getFlattenedIndex","SnPopover","isMobileView","SnPopoverBody","SnPopoverFooter","TypeaheadPopover","createNewActiveRecord","activeRecordFlattenedIndex","navigateInDirection","consumeNavigationProp","hasActiveRecord","direction","dataModelFromProps","indexFromState","updateActiveRecord","onActiveRecordUpdate","activeRecord","indices","renderFooter","sectionsLength","footerId","showSearchAllSection","isActive","footerContainerClassName","footerClassName","userPreferencesFetching","windowSize","activeSectionIndex","onSectionMouseMove","getDisplayFields","sectionsToRender","sectionCount","totalResultCount","acc","ARIA_LIVE_REGION_UPDATE_REQUESTED","replaceContent","suggestionSections","loadingWidget","defer","userPreferenceDataShape","ComponentExactMatch","exactMatchResultModel","ExactMatchModel","readWorkspaceExactMatch","readDebounce","nextData","typeaheadInputValue","nextDataTerm","isExactMatchEnabled","requestCriterionRegex","onTypeaheadRecordClick","idAttribute","ComponentRecentActions","resolvedNavigateInDirection","maxItemsToShow","maxTermsToShow","Icon","iconOnClick","iconClassName","iconSize","buttonClassName","ariaLabel","ariaExpanded","SEARCH_ICONS","SEARCH","CLEAR_GLOBAL","CLEAR","SearchInput","onChange","onKeyPress","ICONS","onEscapeKeyDown","onGeneralKeyDown","onDownArrowKeyDown","onUpArrowKeyDown","onSubmit","getGlobalTypeAheadButtonClassName","typeAheadButtonClassName","isExpanded","globalTypeAheadButtonClassName","getGlobalControlContainerClassName","controlContainerClassName","activeSearchInputState","inputClicked","isCollapsedView","defaultStateGlobalView","globalControlContainerClassName","getGlobalTypeAheadControlClassName","typeAheadControlClassName","hasText","globalTypeaheadControlClassName","isDropdownVisible","isDisabled","bindInputRef","onBlur","onFocus","onClearIconClick","onSearchIconClick","ariaActiveDescendant","ariaLiveText","searchInputPlaceholder","searchContexts","contextDropdownOpened","searchExpanded","searchButtonClassName","showMobileSearchButton","selectedContext","searchInputPlaceholderText","showContextDropdown","globalClearButton","globalSearchButton","searchIconRef","placeholder","autoComplete","disabled","configAria","select","selectedItems","manageOpened","opened","panelFitProps","position","constrain","hideLabel","slot","getAriaSelectedId","ariaSelected","getAriaLiveText","ComponentTypeaheadInput","inputElement","handleBlur","handleFocus","handleChange","onInputSubmit","blur","handleSearchIconClick","handleClearIconClick","handleGeneralKeyDown","dropdownVisible","handleCancelButtonClick","input","requestIdleCallback","inMemoryCache","Map","set","setItem","GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS","ENUM_TYPEAHEAD_MODES","RESULTS","RECENT_ACTIONS","EXACT_MATCH","ComponentWorkspaceGlobalSearchTypeahead","DEFAULT_LOCAL_PROPS","searchInput","composedPath","updateInputStateOnClose","contextDropdown","getElementsByTagName","eventSourcePath","searchInputInPath","contextDropdownInPath","keyCode","shiftKey","clearActiveRecord","cache","clearClicked","onSearchInputSubmit","onSearchInputEscapeKeyDown","setNavigationDirection","getResolvedConfig","handleOutClick","handleTabKeyPress","updateInputStateOnSubmit","document","addEventListener","componentWillUnmount","removeEventListener","_prevProps","prevState","prevDisabled","currDisabled","currSearchTerm","currWindowSize","prevSearchTerm","onSearchInputSubmitAction","nextWindowSize","nextSearchTerm","dispatchActiveRecord","recordType","resetTypeaheadState","currentMode","prefetchedConfig","userPref","typeaheadDebounce","exactMatchRequestCriterionRegex","up","globalSearchAction","fetchingPreferences","isRecentActionsVisible","isExactMatchResultVisible","itemSelected","placeholderText","transformTypeaheadExactMatchResponse","updatedUserPreferences","lastSysIdAddedAsRecentAction","lastTermAddedAsRecentAction","userPreferencesMutation","setPreference","operation","getPopoverElements","host","querySelectorAll","getInputContainerElement","createQuerySelector","contentElems","targetElem","contentElem","currentWidth","targetWidth","currentLeft","targetLeft","currentTop","globalTopOffset","targetTop","updateProperties","getInputElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","a11yPreferences","getUserPrefContext","a11yTx","userPrefVal","COMPONENT_CONNECTED","COMPONENT_DISCONNECTED","COMPONENT_RENDERED","handleTypeaheadExactMatchFetch","handleTypeaheadExactMatchFetchStarted","handleTypeaheadExactMatchFetchSucceeded","handleTypeaheadExactMatchFetchFailed","handleRecentActionsModelSet","handleTypeaheadUserPreferenceFetch","handleTypeaheadUserPreferenceFetchStarted","handleTypeaheadUserPreferenceFetchSucceeded","handleTypeaheadUserPreferenceFetchFailed","handleTypeaheadUserPreferenceSet","handleTypeaheadUserPreferenceSetStarted","handleTypeaheadUserPreferenceSetSucceeded","handleTypeaheadUserPreferenceSetFailed","payloadAction","payloadActionMetadata","handleFitResize","handleContextDropdownClickedEffect","handleContextItemSelectedEffect","handleSearchIconButtonClickedEffect","handleClearButtonClicked","handleCancelButtonClicked","stateUpdates","cacheInvalidationDispatches","cachedConfig","fetchWorkspaceConfigs","handleTooltipContentEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__","mediaQueryBehavior","mobileQuery","truncationBehavior","initialState","shouldRenderWhenSet","enum","__TECTONIC__sn_component_workspace_global_search"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/_componentWorkspaceGlobalSearchTab.scss","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/_componentWorkspaceGlobalSearchTypeahead.scss","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss","webpack:///./src/componentWorkspaceGlobalSearchTab/_componentWorkspaceGlobalSearchTab.scss?91d6","webpack:///./src/componentWorkspaceGlobalSearchTypeahead/_componentWorkspaceGlobalSearchTypeahead.scss?5d5e","webpack:///./src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss?c407","webpack:///@babel/runtime/7.24.4/helpers/defineProperty.js","webpack:///@babel/runtime/7.24.4/helpers/extends.js","webpack:///@babel/runtime/7.24.4/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.24.4/helpers/toPrimitive.js","webpack:///@babel/runtime/7.24.4/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.24.4/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-react/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/24.3.12/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/constants.js","webpack:///sn-component-workspace-global-search/src/utils/Logger.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/globalSearchConfigTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/searchSourcesTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/userPreferencesTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transformMaps.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/presourceFactory.js","webpack:///sn-component-workspace-global-search/src/behaviors/util/createPresourceBehaviorMap.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/utils/SearchSourceErrors.js","webpack:///external module \"/uxasset/externals/sn-custom-create-element/21.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/prop-types/15.7.2/index.jsdbx\"","webpack:///external module \"/uxasset/externals/react/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/util/getBehaviorProp.js","webpack:///sn-component-workspace-global-search/src/lib/sn-component-workspace-config/src/ConfigProvider.js","webpack:///sn-component-workspace-global-search/src/lib/sn-component-workspace-config/src/connectConfig.js","webpack:///sn-component-workspace-global-search/src/utils/ErrorBoundary.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/actions.js","webpack:///sn-component-workspace-global-search/src/utils/GlobalSearchUtils.js","webpack:///sn-component-workspace-global-search/src/utils/PresourceDefaults.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pagination/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pagination-control/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabHeader.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabBody.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabContainer.js","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/Thumbnail.js","webpack:///external module \"/uxasset/externals/@servicenow/now-label-value/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/common/InvisibleContent.js","webpack:///sn-component-workspace-global-search/src/utils/getAccessibleDisplayValueMessage.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/FieldList.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/LocationField.js","webpack:///external module \"/uxasset/externals/@servicenow/now-text-link/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/AttachmentList.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/constants.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/CompanyCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/LocationCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/UserCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/DefaultCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/CatalogCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Record.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/cardFactory.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/ResultRecords.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/DrillDownView.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/propTypes.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTabDrillDown.js","webpack:///external module \"/uxasset/externals/@servicenow/now-illustration/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/common/AriaLiveRegion.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/BackButton.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/NoResults.js","webpack:///external module \"/uxasset/externals/react-dom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Section.js","webpack:///sn-component-workspace-global-search/src/utils/createInteractionhandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/SkipToLink.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Sidebar.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Overview.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTabOverview.js","webpack:///sn-component-workspace-global-search/src/utils/shortSliceFirst.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/FetchConfigLoadingView.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTab.js","webpack:///sn-component-workspace-global-search/src/utils/createLegacyForceRender.js","webpack:///sn-component-workspace-global-search/src/common/getConfigurationsPayload.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/bootstrapped/handleBootstrappedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/actions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/globalSearchAction/handleGlobalSearchActionEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchFailedEffect.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchStartedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/transformTabExactMatchResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchStartedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/transformDrilldownResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownPageUpdate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownControlPageUpdate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleViewAllClickedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/transformTextSearchOverview.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchBatched.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchFailedBatched.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/utils/parseUserPreferenceValue.js","webpack:///sn-component-workspace-global-search/src/utils/GlobalSearchModel.js","webpack:///sn-component-workspace-global-search/src/utils/RecentActionsModel.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/common/constants.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/propertyChanged/handlePropertyChangedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/backButtonClicked/handleBackButtonClickedEffect.js","webpack:///sn-component-workspace-global-search/src/utils/effectProxy.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/24.3.12/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/componentWorkspaceGlobalSearchTabElement.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/constants.js","webpack:///sn-component-workspace-global-search/src/utils/workspaceExactMatchTypeahead.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/lib/scroll-into-view-if-needed/calculate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/lib/scroll-into-view-if-needed/index.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/ResultRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TermRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/actions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/ComponentWorkspaceGlobalSearchTypeaheadItemRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookup.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/transformTypeaheadItemLookupResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/actionHandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TypeaheadRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/componentWorkspaceGlobalSearchTypeaheadItemRecordElement.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/ResultSection.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/utils/NavigationWrapper.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopover.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopoverBody.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopoverFooter.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TypeaheadPopover.js","webpack:///sn-component-workspace-global-search/src/utils/ExactMatchModel.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/propTypes.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentExactMatch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentRecentActions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/Icon.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/SearchInput.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/ComponentTypeaheadInput.js","webpack:///sn-component-workspace-global-search/src/utils/requestIdleCallback.js","webpack:///sn-component-workspace-global-search/src/utils/configCache.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentWorkspaceGlobalSearchTypeahead.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/utils/parseUserPreferenceValue.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/globalSearch/handleGlobalSearchAction.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/propertyChanged/handlePropertyChangedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/recentActions/handleRecentActionsModelSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/transformTypeaheadExactMatchResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fitResize/handleFitResize.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchContext/handleContextDropdownClickedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchContext/handleContextItemSelectedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/nowButtonIconicClick/handleClearButtonClicked.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/nowButtonIconicClick/handleCancelButtonClicked.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchIconButtonClicked/handleSearchIconButtonClickedEffect.js","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/truncationTooltip/handleTooltipContent.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/actionHandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/componentBootstrapped/preloadWorkspaceConfigs.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/utils/fetchWorkspaceConfigs.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-media-query/24.3.12/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/24.3.12/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadElement.js","webpack:///sn-component-workspace-global-search/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-list-group--item{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:8px}.sn-list-group--item.-global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));justify-content:space-between}.sn-list-group--item.-global.is-focus:before,.sn-list-group--item.-global.is-hover:before,.sn-list-group--item.-global:focus:before,.sn-list-group--item.-global:hover:before{background-color:RGB(var(--now-color--primary-1,30,133,109));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;opacity:var(--now-opacity--least,.1)}@media(forced-colors:active){.sn-list-group--item{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;font-size:16px;forced-color-adjust:none;padding:8px}.sn-list-group--item,.sn-list-group--item .sn-list-group--content{color:buttontext!important}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.sn-list-group--item.is-focus .sn-list-group--content,.sn-list-group--item.is-hover .sn-list-group--content,.sn-list-group--item:focus .sn-list-group--content,.sn-list-group--item:hover .sn-list-group--content{color:highlight!important}}.sn-list-group--item.sn-list-group--item__grid,.sn-list-group--item.sn-list-group--item__grid :hover{vertical-align:middle}.sn-list-group--item.sn-list-group--item__grid a{color:inherit;display:inherit;text-decoration:inherit;width:100%}.sn-list-group--item.sn-list-group--item__grid.global{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding-bottom:8px;padding-top:8px}:host(:not([dir=rtl])) .sn-list-group--item.sn-list-group--item__grid.global,:root:not([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global{padding-right:8px}:host([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global,:root[dir=rtl] .sn-list-group--item.sn-list-group--item__grid.global{padding-left:8px}:host(:not([dir=rtl])) .sn-list-group--item.sn-list-group--item__grid.global,:root:not([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global{padding-left:8px}:host([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global,:root[dir=rtl] .sn-list-group--item.sn-list-group--item__grid.global{padding-right:8px}.sn-list-group--item.sn-list-group--item__grid.global.is-hover:before,.sn-list-group--item.sn-list-group--item__grid.global:hover:before{background-color:RGB(var(--now-color--primary-1,30,133,109));opacity:var(--now-opacity--least,.1)}.sn-list-group--item.sn-list-group--item__grid.global.is-focus:before,.sn-list-group--item.sn-list-group--item__grid.global:focus:before{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.tab-results-container{height:100%}.tab-results-container .sn-global-search .sn-panel--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:32px}.tab-results-container .mod-global-search .sn-section{padding:calc(var(--now-scale-space--lg, 1)*16px)}.tab-results-container .skip-to-results-link{color:RGB(var(--now-color--link-3,1,104,124));font-size:16px;margin-top:calc(var(--now-scale-space--lg, 1)*16px);opacity:0;text-decoration:none;transition:opacity .3s}.tab-results-container .skip-to-results-link:active,.tab-results-container .skip-to-results-link:focus{opacity:1}.tab-drilldown-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));flex-direction:column;overflow:auto}.tab-drilldown-container .back-button{padding-top:16px}:host(:not([dir=rtl])) .tab-drilldown-container .back-button,:root:not([dir=rtl]) .tab-drilldown-container .back-button{padding-left:8px}:host([dir=rtl]) .tab-drilldown-container .back-button,:root[dir=rtl] .tab-drilldown-container .back-button{padding-right:8px}.tab-drilldown-container .back-button.-global{padding-top:24px}:host(:not([dir=rtl])) .tab-drilldown-container .back-button.-global,:root:not([dir=rtl]) .tab-drilldown-container .back-button.-global{padding-left:24px}:host([dir=rtl]) .tab-drilldown-container .back-button.-global,:root[dir=rtl] .tab-drilldown-container .back-button.-global{padding-right:24px}.tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding:12px}:host(:not([dir=rtl])) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type,:root:not([dir=rtl]) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding-left:8px}:host([dir=rtl]) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type,:root[dir=rtl] .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding-right:8px}.sn-list-group--item--grid{align-items:center;flex-direction:row}.sn-list-group--content__description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:12px;margin-top:calc(var(--now-scale-space--md, 1)*12px)}.no-results{overflow:hidden}.sn-preserve-whitespace{white-space:pre-wrap}.hidden{display:none!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate-global{font-variant:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));padding-bottom:32px}.global-search-card--title{margin-bottom:calc(var(--now-scale-space--xs, 1)*4px)}.global-search-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));overflow-y:auto;padding:calc(var(--now-scale-space--xl, 1)*24px);width:100%}.global-search-container__global{padding:calc(var(--now-scale-space--lg, 1)*16px) calc(var(--now-scale-space--xl, 1)*24px) calc(var(--now-scale-space--xl, 1)*24px) calc(var(--now-scale-space--xl, 1)*24px)}.global-search-loader{margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .global-search-loader,:root:not([dir=rtl]) .global-search-loader{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-loader,:root[dir=rtl] .global-search-loader{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .global-search-loader,:root:not([dir=rtl]) .global-search-loader{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-loader,:root[dir=rtl] .global-search-loader{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}.global-search-tab-header{display:flex;margin-bottom:calc(var(--now-scale-space--sm, 1)*8px)}.global-search-tab-header.__global{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));margin-bottom:calc(var(--now-scale-space--xxl, 1)*32px)}.global-search-tab-header now-heading{line-height:38px}.tab-container{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-style:normal;font-variant:normal;font-weight:400;height:calc(100vh - 130px);letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}.tab-container.-global{height:calc(100vh - 50px)}.tab-container .sn-global-search .sn-panel--row{padding-bottom:0;padding-top:24px}:host(:not([dir=rtl])) .tab-container .sn-global-search .sn-panel--row,:root:not([dir=rtl]) .tab-container .sn-global-search .sn-panel--row{padding-left:24px}:host([dir=rtl]) .tab-container .sn-global-search .sn-panel--row,:root[dir=rtl] .tab-container .sn-global-search .sn-panel--row{padding-right:24px}:host(:not([dir=rtl])) .tab-container .sn-global-search .sn-panel--row,:root:not([dir=rtl]) .tab-container .sn-global-search .sn-panel--row{padding-right:24px}:host([dir=rtl]) .tab-container .sn-global-search .sn-panel--row,:root[dir=rtl] .tab-container .sn-global-search .sn-panel--row{padding-left:24px}.tab-container .sn-global-search .sn-panel--column{display:flex;flex-direction:column}.tab-container .sn-global-search .sn-panel--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:32px}.global-search-records{width:100%}.global-search-records .sn-section--header{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:16px;font-weight:600}:host(:not([dir=rtl])) .global-search-records .sn-section--header,:root:not([dir=rtl]) .global-search-records .sn-section--header{padding-left:0}:host([dir=rtl]) .global-search-records .sn-section--header,:root[dir=rtl] .global-search-records .sn-section--header{padding-right:0}.global-search-records .sn-section--header .sn-section--content{padding-bottom:4px;padding-top:4px}:host(:not([dir=rtl])) .global-search-records .sn-section--header .sn-section--content,:root:not([dir=rtl]) .global-search-records .sn-section--header .sn-section--content{padding-left:0}:host([dir=rtl]) .global-search-records .sn-section--header .sn-section--content,:root[dir=rtl] .global-search-records .sn-section--header .sn-section--content{padding-right:0}:host(:not([dir=rtl])) .global-search-records .sn-section--header .sn-section--content,:root:not([dir=rtl]) .global-search-records .sn-section--header .sn-section--content{padding-right:0}:host([dir=rtl]) .global-search-records .sn-section--header .sn-section--content,:root[dir=rtl] .global-search-records .sn-section--header .sn-section--content{padding-left:0}.global-search-records .sn-section--header .sn-icon.sn-icon__md{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.global-search-records .sn-section--content>span{flex-grow:0}.global-search-records .sn-list-group--content{overflow:visible}.global-search-records .sn-list-group--item__grid{margin-bottom:calc(var(--now-scale-space--sm, 1)*8px);margin-top:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid{margin-left:0}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid,:root[dir=rtl] .global-search-records .sn-list-group--item__grid{margin-right:0}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid,:root[dir=rtl] .global-search-records .sn-list-group--item__grid{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}.global-search-records .sn-list-group--item__grid.global{margin-bottom:calc(var(--now-scale-space--sm, 1)*8px);margin-top:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid.global,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid.global{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid.global,:root[dir=rtl] .global-search-records .sn-list-group--item__grid.global{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid.global,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid.global{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid.global,:root[dir=rtl] .global-search-records .sn-list-group--item__grid.global{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}.global-search-records .sn-list-group--item--title{flex:initial!important}.global-search-default-cursor{cursor:default}.global-search-section{display:flex;flex:0 0 auto;flex-direction:column;margin-bottom:calc(var(--now-scale-space--3xl, 1)*40px)}.global-search-panel--body{overflow-y:auto}.global-search-content{display:inline-flex;flex:1 1 auto}.global-search-content.-global{font-size:16px;font-weight:600}.global-search-content--tooltip{align-items:center;display:flex}:host(:not([dir=rtl])) .global-search-content--tooltip,:root:not([dir=rtl]) .global-search-content--tooltip{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .global-search-content--tooltip,:root[dir=rtl] .global-search-content--tooltip{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}.global-search-content--attachment-list{overflow:hidden}.global-search-content--attachment-list ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:0}.global-search-content--attachment{flex-basis:auto;list-style-type:none;margin-top:4px;padding:0;text-align:center}.global-search-content--attachment img{vertical-align:middle}:host(:not([dir=rtl])) .global-search-content--attachment img,:root:not([dir=rtl]) .global-search-content--attachment img{margin-right:4px}:host([dir=rtl]) .global-search-content--attachment img,:root[dir=rtl] .global-search-content--attachment img{margin-left:4px}.global-search-content--attachment-divider{margin:0 4px 0 4px}.global-icon-content{color:var(--now-color--neutral-18,22,27,28)}.global-search-content--header{align-items:center;border-bottom:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))) 1px solid;cursor:auto;display:flex;padding:0}.global-search-content--header,.global-search-content--header.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:16px;padding-bottom:4px}.global-search-content--header.-global{border-bottom:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))) 1px;font-weight:600}.global-search-content--redaction-warning{color:RGB(var(--now-color--secondary-3,1,60,71));display:flex;font-size:12px}now-label-value-stacked{margin-bottom:calc(var(--now-scale-space--xs, 1)*4px);margin-top:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) now-label-value-stacked,:root:not([dir=rtl]) now-label-value-stacked{margin-left:0}:host([dir=rtl]) now-label-value-stacked,:root[dir=rtl] now-label-value-stacked{margin-right:0}:host(:not([dir=rtl])) now-label-value-stacked,:root:not([dir=rtl]) now-label-value-stacked{margin-right:0}:host([dir=rtl]) now-label-value-stacked,:root[dir=rtl] now-label-value-stacked{margin-left:0}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.tab-container{display:flex}}.record.default{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-bottom:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))) 1px solid;border-radius:2px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:block;height:100%;padding:8px;position:relative;width:100%}.record.default:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))}.record.default a{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));text-decoration:none}.record.default.global{border-bottom:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))) 1px solid;padding-bottom:calc(var(--now-scale-space--lg, 1)*16px);padding-top:calc(var(--now-scale-space--lg, 1)*16px)}:host(:not([dir=rtl])) .record.default.global,:root:not([dir=rtl]) .record.default.global{padding-right:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .record.default.global,:root[dir=rtl] .record.default.global{padding-left:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .record.default.global,:root:not([dir=rtl]) .record.default.global{padding-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .record.default.global,:root[dir=rtl] .record.default.global{padding-right:calc(var(--now-scale-space--sm, 1)*8px)}.record.default.global.is-focus,.record.default.global.is-hover,.record.default.global:focus,.record.default.global:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}.record.default.global.is-focus,.record.default.global:focus{border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.record.default.global.flag{height:67px;position:static;top:0;width:992px}:host(:not([dir=rtl])) .record.default.global.flag,:root:not([dir=rtl]) .record.default.global.flag{left:52px}:host([dir=rtl]) .record.default.global.flag,:root[dir=rtl] .record.default.global.flag{right:52px}.record.default.global .new-tab-button-container{align-items:center;display:flex;flex-direction:row;justify-content:space-between;width:100%}.record.default .catalog-result-container{display:flex;flex-direction:row}.record.default .catalog-result-container__preview-container{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}:host(:not([dir=rtl])) .record.default .catalog-result-container__preview-container,:root:not([dir=rtl]) .record.default .catalog-result-container__preview-container{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .record.default .catalog-result-container__preview-container,:root[dir=rtl] .record.default .catalog-result-container__preview-container{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .record.default .catalog-result-container__preview-container,:root:not([dir=rtl]) .record.default .catalog-result-container__preview-container{margin-right:calc(var(--now-scale-space--md, 1)*12px)}:host([dir=rtl]) .record.default .catalog-result-container__preview-container,:root[dir=rtl] .record.default .catalog-result-container__preview-container{margin-left:calc(var(--now-scale-space--md, 1)*12px)}.record.default .catalog-result-container__content-container{display:flex;flex-direction:column;width:100%}@media(forced-colors:active){.record{background:buttonface!important;border:1px solid buttonborder}.record .sn-list-group--content__description__global{color:buttontext!important;forced-color-adjust:none}.record:focus,.record:hover{background:highlighttext!important;border:1px solid highlight!important}.record:focus .sn-list-group--content__description__global,.record:hover .sn-list-group--content__description__global{color:highlight!important;forced-color-adjust:none}}:host(:not([dir=rtl])) .sn-global-search--content__static,:root:not([dir=rtl]) .sn-global-search--content__static{margin-left:0}:host([dir=rtl]) .sn-global-search--content__static,:root[dir=rtl] .sn-global-search--content__static{margin-right:0}:host(:not([dir=rtl])) .sn-global-search--content__static,:root:not([dir=rtl]) .sn-global-search--content__static{margin-right:calc(var(--now-scale-space--lg, 1)*16px)}:host([dir=rtl]) .sn-global-search--content__static,:root[dir=rtl] .sn-global-search--content__static{margin-left:calc(var(--now-scale-space--lg, 1)*16px)}.sn-global-search--content__static.global{color:RGB(var(--now-color--link-2,1,119,142))}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{margin-right:calc(var(--now-scale-space--md, 1)*12px)}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{margin-left:calc(var(--now-scale-space--md, 1)*12px)}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{padding-right:12px}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{padding-left:12px}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{padding-left:12px}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{padding-right:12px}.sn-avatar{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-panel .sn-list-group--content.sn-list-group--content__meta{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-panel .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-panel.mod-global-search{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-panel.mod-global-search.-global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.global-search-context-back-button{padding-bottom:calc(var(--now-scale-space--lg, 1)*16px)}:host(:not([dir=rtl])) .global-search-context-back-button-icon,:root:not([dir=rtl]) .global-search-context-back-button-icon{margin-right:calc(var(--now-scale-space--xxs, 1)*2px)}:host([dir=rtl]) .global-search-context-back-button-icon,:root[dir=rtl] .global-search-context-back-button-icon{margin-left:calc(var(--now-scale-space--xxs, 1)*2px)}.empty-state-container{height:100%;width:100%}.sn-panel{display:inline-flex;flex:1 1 auto;flex-direction:column;max-height:max-content;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.sn-panel.has-list-hack{width:1px}.sn-panel.mod-alert-tray{background:RGB(var(--now-color_chrome--brand-9,25,38,38));flex:0 0 auto;width:360px}.sn-panel.mod-filter,.sn-panel.mod-list-edit{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));flex:0 0 auto;width:320px;z-index:1}:host(:not([dir=rtl])) .sn-panel.mod-filter,:host(:not([dir=rtl])) .sn-panel.mod-list-edit,:root:not([dir=rtl]) .sn-panel.mod-filter,:root:not([dir=rtl]) .sn-panel.mod-list-edit{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-filter,:host([dir=rtl]) .sn-panel.mod-list-edit,:root[dir=rtl] .sn-panel.mod-filter,:root[dir=rtl] .sn-panel.mod-list-edit{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-panel.mod-inbox,.sn-panel.mod-list{box-shadow:0 0 11px 0 shadow(\\\"black\\\",.31);flex:0 0 auto;width:240px}.sn-panel.mod-list-edit{min-width:320px;width:auto}.sn-panel.mod-spm-menu{flex:0 0 auto;width:300px}:host(:not([dir=rtl])) .sn-panel.mod-spm-menu,:root:not([dir=rtl]) .sn-panel.mod-spm-menu{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-spm-menu,:root[dir=rtl] .sn-panel.mod-spm-menu{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-panel.mod-global-search,.sn-panel.sn-global-search--list{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));max-width:340px;min-width:300px;padding:0}:host(:not([dir=rtl])) .sn-panel.mod-global-search,:host(:not([dir=rtl])) .sn-panel.sn-global-search--list,:root:not([dir=rtl]) .sn-panel.mod-global-search,:root:not([dir=rtl]) .sn-panel.sn-global-search--list{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-global-search,:host([dir=rtl]) .sn-panel.sn-global-search--list,:root[dir=rtl] .sn-panel.mod-global-search,:root[dir=rtl] .sn-panel.sn-global-search--list{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host(:not([dir=rtl])) .sn-panel.mod-global-search.global,:host(:not([dir=rtl])) .sn-panel.sn-global-search--list.global,:root:not([dir=rtl]) .sn-panel.mod-global-search.global,:root:not([dir=rtl]) .sn-panel.sn-global-search--list.global{border-left:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}:host([dir=rtl]) .sn-panel.mod-global-search.global,:host([dir=rtl]) .sn-panel.sn-global-search--list.global,:root[dir=rtl] .sn-panel.mod-global-search.global,:root[dir=rtl] .sn-panel.sn-global-search--list.global{border-right:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-panel__static{flex:0 0 auto;width:auto;z-index:1}.sn-panel__column{flex-direction:row}.sn-panel__context{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));max-width:320px;min-width:320px;z-index:1}.sn-panel__context+.sn-panel__context{border-left:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel__form{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));max-width:320px;min-width:280px}.sn-panel__lightest{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-panel__spacing{padding:12px 12px 0}.sn-panel--body{flex:1 1 auto;margin:0;overflow-x:hidden;overflow-y:auto;padding:12px 8px;position:relative}.sn-chat-queue .sn-panel--body,.sn-panel--body__no-spacing,.sn-panel__context .sn-panel--body,.sn-panel__darkest .sn-panel--body{padding:0}.sn-panel.mod-alert-tray .sn-panel--body{flex-direction:column;padding:12px 0 0}.sn-panel.mod-details .sn-panel--body{display:flex;flex-direction:column}.sn-panel.mod-inbox .sn-panel--body{padding:12px}.sn-panel.mod-list .sn-panel--body{padding:12px 0 0 0}.sn-panel.mod-filter .sn-panel--body,.sn-panel.mod-list-edit .sn-panel--body{padding-top:0}.context-spm-menu .sn-panel--body,.sn-panel.mod-spm-menu .sn-panel--body,:host(.context-spm) .sn-panel--body{display:flex;flex-direction:column;padding:12px 0}:host(.context-nested-related-tabs) .sn-panel--body{display:flex}.sn-panel--row{display:flex;flex:1 1 auto;min-height:1px}.sn-panel--row.has-bottom-divider{border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel--row.has-top-divider{border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel--row.mod-column{flex-direction:column}.sn-panel--row__spacing{margin:0 calc(var(--now-scale-space--md, 1)*12px);padding:0 0 12px}.sn-panel--row__spacing.is-first-of-type,.sn-panel--row__spacing:first-of-type{padding:12px 0}.sn-panel--row__spacing-sm{margin:0 calc(var(--now-scale-space--md, 1)*12px) 0;padding:16px 0}.sn-panel--row__spacing-md{padding:16px 8px}.sn-panel--row__spacing-side{margin:0 calc(var(--now-scale-space--md, 1)*12px);padding:0}.sn-panel--row__static{flex:0 0 auto}.sn-global-search .sn-panel--row{padding:24px 24px 0}.sn-global-search .sn-panel--row:first-of-type .sn-control{max-width:300px}:host(:not([dir=rtl])) .sn-global-search .sn-panel--row:first-of-type .sn-control,:root:not([dir=rtl]) .sn-global-search .sn-panel--row:first-of-type .sn-control{margin-left:calc(var(--now-scale-space--sm, 1)*8px*-1)}:host([dir=rtl]) .sn-global-search .sn-panel--row:first-of-type .sn-control,:root[dir=rtl] .sn-global-search .sn-panel--row:first-of-type .sn-control{margin-right:calc(var(--now-scale-space--sm, 1)*8px*-1)}.sn-global-search .sn-panel--row:not(:first-of-type){padding:16px 24px 0}.sn-global-search .sn-panel--row:last-of-type{padding:12px 12px 0}.sn-panel--column{display:inline-block;padding:8px;width:100%}.sn-panel--header{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex:0 0 auto;padding:12px}.context-spm-menu .sn-panel--header,.sn-panel.mod-spm-menu .sn-panel--header{align-items:flex-end;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));padding:16px 8px}.sn-panel--header+.sn-panel--header{margin-top:calc(var(--now-scale-space--md, 1)*12px*-1);padding-bottom:8px}.sn-panel--footer{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex:0 0 auto;padding:12px;position:relative;z-index:1}.sn-panel--footer:before{background-color:RGBA(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)),var(--now-opacity--least,.1));bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:0}.sn-panel.mod-list .sn-panel--footer{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-top:none;padding:16px 8px}.sn-panel__context .sn-panel--footer{padding:0}.sn-panel--content{align-items:center;display:inline-flex;flex:1 1 auto;overflow:hidden;padding:0 8px 0 0}.sn-panel--content.is-last-of-type,.sn-panel--content:last-of-type{justify-content:flex-end;padding:0}.sn-agent-assist--filter--header .sn-panel--content,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));padding:0;width:50%}.sn-agent-assist--filter--header .sn-panel--content.is-first-child span,.sn-agent-assist--filter--header .sn-panel--content:first-child span,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content.is-first-child span,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content:first-child span{padding:0 16px}.sn-agent-assist--subheader .sn-panel--content,.sn-panel__context .sn-agent-assist--subheader .sn-panel--content{padding:0}.context-spm-menu .sn-panel--header .sn-panel--content,.sn-panel.mod-spm-menu .sn-panel--header .sn-panel--content{display:block;padding:0}.sn-panel__context .sn-panel--content{padding:0 12px 12px}:host(:not([dir=rtl])) .sn-panel__context .sn-panel--content+.sn-panel--content__static,:root:not([dir=rtl]) .sn-panel__context .sn-panel--content+.sn-panel--content__static{margin-left:calc(var(--now-scale-space--md, 1)*12px*-1)}:host([dir=rtl]) .sn-panel__context .sn-panel--content+.sn-panel--content__static,:root[dir=rtl] .sn-panel__context .sn-panel--content+.sn-panel--content__static{margin-right:calc(var(--now-scale-space--md, 1)*12px*-1)}.sn-panel__context .sn-panel--header .sn-panel--content{padding:0 8px 0 0}.sn-panel__context .sn-panel--header .sn-panel--content.is-last-of-type,.sn-panel__context .sn-panel--header .sn-panel--content:last-of-type{padding:0}.sn-panel__darkest .sn-panel--row .sn-panel--content{flex:1 1 50%}.sn-panel--content__static{flex:0 0 auto}.context-spm-menu .sn-panel--header .sn-panel--content__static,.sn-panel.mod-spm-menu .sn-panel--header .sn-panel--content__static{align-items:center;display:flex;justify-content:flex-end}.sn-pagination{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;display:flex;flex:0 0 auto;font-size:12px;padding:16px 0;width:100%}.sn-pagination.has-no-background{background:transparent}.sn-pagination--pages{flex:0 0 auto;justify-content:center;margin:0 calc(var(--now-scale-space--md, 1)*12px)}.sn-pagination--controls,.sn-pagination--pages{align-items:center;display:flex}.sn-pagination--controls--label{color:RGB(var(--now-color_alert--low-2,102,102,102));font-size:16px}:host(:not([dir=rtl])) .sn-pagination--controls--label:first-of-type,:root:not([dir=rtl]) .sn-pagination--controls--label:first-of-type{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .sn-pagination--controls--label:first-of-type,:root[dir=rtl] .sn-pagination--controls--label:first-of-type{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host(:not([dir=rtl])) .sn-pagination--controls--label:last-of-type,:root:not([dir=rtl]) .sn-pagination--controls--label:last-of-type{margin-left:calc(var(--now-scale-space--sm, 1)*8px)}:host([dir=rtl]) .sn-pagination--controls--label:last-of-type,:root[dir=rtl] .sn-pagination--controls--label:last-of-type{margin-right:calc(var(--now-scale-space--sm, 1)*8px)}.sn-pagination--security-constraint{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;color:RGB(var(--now-color_alert--low-2,102,102,102));display:flex;font-size:12px;justify-content:center;padding:8px 0;width:100%}.sn-pagination--security-constraint+.sn-pagination{border:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-pagination-container{display:flex;width:100%}.sn-list-group{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));list-style:none;margin:0 0 calc(var(--now-scale-space--md, 1)*12px) 0;padding:0;position:relative;width:100%}.sn-list-group.global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:12px 12px 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 8px 0 12px}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:200px;overflow-x:hidden;overflow-y:auto}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 8px}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;font-weight:600;margin:0;padding:12px 12px 8px;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group--header__selectable{cursor:pointer}.sn-list-group--header__selectable.is-focus .sn-list-group--content,.sn-list-group--header__selectable.is-hover .sn-list-group--content,.sn-list-group--header__selectable:focus .sn-list-group--content,.sn-list-group--header__selectable:hover .sn-list-group--content{color:RGB(var(--now-color--primary-1,30,133,109))}.sn-list-group--header__selectable.is-focus .sn-list-group--content span,.sn-list-group--header__selectable:focus .sn-list-group--content span{text-decoration:underline}.sn-list-group__simple .sn-list-group--header{border:none;padding:8px}.sn-typeahead .sn-list-group--header{padding:12px 0 8px}.sn-list-group--item{border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;border-radius:2px;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;flex-direction:column;font-size:16px;padding:calc(var(--now-scale-space--sm, 1)*8px) calc(var(--now-scale-space--md, 1)*12px);position:relative;text-decoration:none}.sn-list-group--item.-global:focus{border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid}.sn-list-group--item:focus{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:2px;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color--primary-0,221,237,233));border:RGB(var(--now-color--primary-0,221,237,233)) 1px solid}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color--primary-0,221,237,233));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;padding:12px;width:360px}.sn-list-group--item.sn-list-group--item__grid.global{width:348px}.sn-dropdown__above .sn-list-group--item{padding:10px 8px}.sn-dropdown.has-currency .sn-list-group--item{min-height:24px;padding:8px}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 12px}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:8px}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 8px 0 12px}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:16px;padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 8px 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_alert--low-2,102,102,102));font-size:12px;justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:16px;max-width:230px;white-space:normal;word-break:break-word}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;word-break:break-word}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));flex:1 1 auto;padding:0 8px 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue .sn-list-group--content:first-of-type{align-items:flex-start;flex:1 1 auto;flex-direction:column}.sn-list-group.mod-chat-queue .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue .sn-list-group--content:last-of-type{flex:0 0 auto}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:8px 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 8px}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;width:12px}:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static:first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child{margin-left:calc(var(--now-scale-space--md, 1)*12px*-1)}:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static.is-first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static:first-child{margin-right:calc(var(--now-scale-space--md, 1)*12px*-1)}:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static:first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child{padding-right:16px}:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static.is-first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static:first-child{padding-left:16px}.sn-list-group--content__meta{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;flex-wrap:wrap;width:100%}.sn-list-group--content__meta>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__meta>span span:after{content:\\\"|\\\";margin:0 calc(var(--now-scale-space--sm, 1)*8px)}.sn-list-group--content__meta>span span.is-last-of-type:after,.sn-list-group--content__meta>span span:last-of-type:after{display:none}.sn-list-group--content__description{margin-top:calc(var(--now-scale-space--lg, 1)*16px);width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__description__global{margin-top:calc(var(--now-scale-space--md, 1)*12px);text-overflow:clip}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:12px 0 8px}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.sn-list-group--actions{align-items:center;display:inline-flex;flex:0 0 auto;height:10px}:host(:not([dir=rtl])) .sn-list-group--actions,:root:not([dir=rtl]) .sn-list-group--actions{padding-right:8px}:host([dir=rtl]) .sn-list-group--actions,:root[dir=rtl] .sn-list-group--actions{padding-left:8px}:host(:not([dir=rtl])) .sn-list-group--actions.is-last-child,:host(:not([dir=rtl])) .sn-list-group--actions:last-child,:root:not([dir=rtl]) .sn-list-group--actions.is-last-child,:root:not([dir=rtl]) .sn-list-group--actions:last-child{padding-right:0}:host([dir=rtl]) .sn-list-group--actions.is-last-child,:host([dir=rtl]) .sn-list-group--actions:last-child,:root[dir=rtl] .sn-list-group--actions.is-last-child,:root[dir=rtl] .sn-list-group--actions:last-child{padding-left:0}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.snu-static{flex:0 0 auto!important;width:auto!important}.sn-avatar-container,:host(sn-avatar){align-items:center;display:inline-flex}.sn-avatar{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));background-position:50%;background-size:cover;border-radius:50%;color:RGB(var(--now-color--primary-2,23,100,82));display:inline-flex;flex:0 0 auto;justify-content:center;line-height:1;position:relative}.sn-avatar:focus{outline:none}.sn-avatar.has-error{background:RGB(var(--now-color_alert--critical-0,241,206,205))}.sn-avatar.is-loading{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}.sn-avatar__square{border-radius:0}.sn-avatar__xxl{font-size:20px;height:64px;line-height:1;width:64px}.sn-avatar__xxl+.sn-avatar--user{font-size:20px}:host(:not([dir=rtl])) .sn-avatar__xxl+.sn-avatar--user,:root:not([dir=rtl]) .sn-avatar__xxl+.sn-avatar--user{padding-left:12px}:host([dir=rtl]) .sn-avatar__xxl+.sn-avatar--user,:root[dir=rtl] .sn-avatar__xxl+.sn-avatar--user{padding-right:12px}.sn-avatar--user{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.global-header{margin-bottom:calc(var(--now-scale-space--xs, 1)*4px)}:host(:not([dir=rtl])) .global-text-link-content,:root:not([dir=rtl]) .global-text-link-content{margin-right:8px}:host([dir=rtl]) .global-text-link-content,:root[dir=rtl] .global-text-link-content{margin-left:8px}:host(:not([dir=rtl])) .global-list-view-icon,:root:not([dir=rtl]) .global-list-view-icon{margin-left:4px}:host([dir=rtl]) .global-list-view-icon,:root[dir=rtl] .global-list-view-icon{margin-right:4px}.global-badge-color{color:RGB(var(--now-color_alert--low-1,159,159,159))}:host(:not([dir=rtl])) .global-avatar,:root:not([dir=rtl]) .global-avatar{padding-right:12px}:host([dir=rtl]) .global-avatar,:root[dir=rtl] .global-avatar{padding-left:12px}.global-header-font{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.global-pagination{border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;height:40px}.global-result-focus.is-focus,.global-result-focus:focus{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.tooltip-focus::-moz-focus-inner{border-style:none}.tooltip-focus:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.tooltip-focus:focus{outline:1px solid highlight}}.skip-to-sidebar-link{color:RGB(var(--now-color--link-3,1,104,124));font-size:16px;position:absolute;text-decoration:none;top:0;transform:translateY(-100%);transition:transform .3s}.skip-to-sidebar-link:active,.skip-to-sidebar-link:focus{transform:translateY(15%)}.result-preview{height:32px;object-fit:cover;width:32px}.global-grid-content{width:100%}.global-grid-content .global-grid-content--title{align-items:center;display:flex;justify-content:space-between;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--unified_nav-input--color:var(--nav_menu-input--color);--unified_nav-input--color--placeholder:var(--nav_menu-input--color--placeholder);--unified_nav-input--color--opened:var(--nav_menu-input--color--opened);--unified_nav-input--background-color:var(--nav_menu-input--background-color);--unified_nav-input--background-color--hover:var(--nav_menu-input--background-color--hover);--unified_nav-input--border-color:var(--nav_menu-input--border-color);--unified_nav-search--icon-color--collapsed:var(--nav_menu-input--search-icon-color--collapsed);font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:1.25}.hidden{display:none}:host(:not([dir=rtl])) .context-dropdown-container,:root:not([dir=rtl]) .context-dropdown-container{border-left:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}:host([dir=rtl]) .context-dropdown-container,:root[dir=rtl] .context-dropdown-container{border-right:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}.context-dropdown-container .dropdown-search-context{align-items:center;background-color:inherit;justify-content:center}.context-dropdown-container .dropdown-search-context,.context-dropdown-container .dropdown-search-context.-global{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)))}.context-dropdown-container .dropdown-search-context.-global-active-input{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}@media(forced-colors:active){.context-dropdown-container:focus,.context-dropdown-container:hover{border-color:highlight!important}.context-dropdown-container:focus .dropdown-search-context,.context-dropdown-container:hover .dropdown-search-context{color:highlight!important}}.searchinput-cancel-button-wrapper{align-items:center;display:inline-flex;width:100%}.sn-global-typeahead-searchIcon{align-items:center;display:inline-flex;height:32px;justify-content:center;width:32px}.sn-global-typeahead-searchIcon.-global{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)))}.sn-global-typeahead-searchIcon.-global-active-input,.sn-global-typeahead-searchIcon.-is-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-searchIcon.-is-global-mobile-view+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:244px}.suggestions-loader{padding:8px}.sn-global-typeahead{align-items:center;display:inline-flex;flex:0 0 auto;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;justify-content:flex-end;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}.sn-global-typeahead.open{border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.sn-global-typeahead.-open-left{flex-direction:row-reverse}.sn-global-typeahead-btn{align-items:center;background:transparent;border-color:transparent;border:none;border-radius:0;color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;height:32px;justify-content:center;line-height:inherit;margin:0;padding-bottom:0;padding-top:0;position:relative;vertical-align:middle;white-space:nowrap;width:32px}.sn-global-typeahead-btn::-moz-focus-inner{border-style:none}.sn-global-typeahead-btn:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 3px RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-global-typeahead-btn:focus{outline:1px solid highlight}}.sn-global-typeahead-btn.-clear{height:24px;width:24px}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-clear,:root:not([dir=rtl]) .sn-global-typeahead-btn.-clear{margin-right:8px}:host([dir=rtl]) .sn-global-typeahead-btn.-clear,:root[dir=rtl] .sn-global-typeahead-btn.-clear{margin-left:8px}.sn-global-typeahead-btn.-clear.-global{background:transparent;border-radius:100%;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-btn.-clear.-global.is-hover,.sn-global-typeahead-btn.-clear.-global:hover{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.sn-global-typeahead-btn.-clear.is-hover,.sn-global-typeahead-btn.-clear:hover{background:RGBA(var(--now-color--primary-1,30,133,109),.5)}.sn-global-typeahead-btn.-clear.is-focus,.sn-global-typeahead-btn.-clear:focus{background:RGBA(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.5);color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));outline:none}.sn-global-typeahead-btn.-clear.is-selected,.sn-global-typeahead-btn.-clear:active{background:RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)))}.sn-global-typeahead-btn.-search.is-hover,.sn-global-typeahead-btn.-search:hover{background:RGBA(var(--now-color--primary-1,30,133,109),.5)}.sn-global-typeahead-btn.-search.is-selected{background:RGBA(var(--now-color--primary-2,23,100,82),.5);color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));outline:none}.sn-global-typeahead-btn.-search.is-selected+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:100%}.sn-global-typeahead-btn.-search.is-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-btn.-search.is-global-mobile-view+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:244px}.sn-global-typeahead-btn.-global-mobile{border-radius:50%;color:RGB(var(--unified_nav-search--icon-color--collapsed))}.sn-global-typeahead-btn.-global-mobile::-moz-focus-inner{border-style:none}.sn-global-typeahead-btn.-global-mobile.selected,.sn-global-typeahead-btn.-global-mobile:hover{background-color:RGBA(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)),.8);outline:none}.sn-global-typeahead-btn.-global-mobile:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));outline:none}.sn-global-typeahead-btn.-global-mobile:active{background-color:RGBA(var(--now-color_chrome--brand-5,41,63,64),.8)}.sn-global-typeahead-btn.-uib{height:auto;padding-bottom:12px;padding-top:12px;width:auto}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-uib,:root:not([dir=rtl]) .sn-global-typeahead-btn.-uib{padding-left:12px}:host([dir=rtl]) .sn-global-typeahead-btn.-uib,:root[dir=rtl] .sn-global-typeahead-btn.-uib{padding-right:12px}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-uib,:root:not([dir=rtl]) .sn-global-typeahead-btn.-uib{padding-right:12px}:host([dir=rtl]) .sn-global-typeahead-btn.-uib,:root[dir=rtl] .sn-global-typeahead-btn.-uib{padding-left:12px}.sn-global-typeahead-spacer{display:inline-block;margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .sn-global-typeahead-spacer,:root:not([dir=rtl]) .sn-global-typeahead-spacer{margin-left:0}:host([dir=rtl]) .sn-global-typeahead-spacer,:root[dir=rtl] .sn-global-typeahead-spacer{margin-right:0}:host(:not([dir=rtl])) .sn-global-typeahead-spacer,:root:not([dir=rtl]) .sn-global-typeahead-spacer{margin-right:0}:host([dir=rtl]) .sn-global-typeahead-spacer,:root[dir=rtl] .sn-global-typeahead-spacer{margin-left:0}.sn-global-typeahead-control-container{align-items:center;display:flex;justify-content:flex-end;width:100%}.sn-global-typeahead-control-container.-global{background:RGB(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:4px;width:244px}.sn-global-typeahead-control-container.-global:hover{background:RGBA(var(--unified_nav-input--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)),.8)}.sn-global-typeahead-control-container.-global-active-input{width:320px}.sn-global-typeahead-control-container.-global-active-input,.sn-global-typeahead-control-container.-global-active-input-mobile-view{background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:4px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-control-container.-global-active-input-mobile-view{width:234px}.sn-global-typeahead-control-container.-global-mobile-view{background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:4px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));width:249px}.sn-global-typeahead-control{align-items:center;color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));display:flex;flex:0;height:32px;overflow:hidden;padding:0;transition:t(flex padding width,shift);width:0}@supports(-webkit-hyphens:none){.sn-global-typeahead-control{transform:translateZ(0)}}.sn-global-typeahead-control.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1;width:100%}.sn-global-typeahead-control.-uib-legacy{background:RGBA(var(--now-color--primary-2,23,100,82),.5);border-radius:0 2px 0 0}.sn-global-typeahead-control.-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-control.-global-default-state{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));flex:1;width:100%}.sn-global-typeahead-input{background:transparent;border:0;color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));cursor:text;display:inline-flex;flex:1 1 auto;font-family:inherit;font-size:16px;height:100%;margin:0;min-width:1px;position:relative;width:100%}.sn-global-typeahead-input::placeholder{color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)),.65);font-size:16px;font-weight:200}.sn-global-typeahead-input::-moz-placeholder{line-height:1.75em}:host(:not([dir=rtl])) .sn-global-typeahead-input,:root:not([dir=rtl]) .sn-global-typeahead-input{padding-right:8px}:host([dir=rtl]) .sn-global-typeahead-input,:root[dir=rtl] .sn-global-typeahead-input{padding-left:8px}.sn-global-typeahead-input::-ms-clear{display:none}.sn-global-typeahead-input:focus{outline:none}.sn-global-typeahead-input.-global{color:inherit}.sn-global-typeahead-input.-global::placeholder{color:RGB(var(--unified_nav-input--color--placeholder,var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255))));font-size:inherit;font-weight:400}.sn-global-typeahead-input.-global-active-input{color:inherit}.sn-global-typeahead-input.-global-active-input::placeholder{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:inherit;font-weight:400}.sn-global-typeahead .cancel-button-mobile-view{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer}:host(:not([dir=rtl])) .sn-global-typeahead .cancel-button-mobile-view,:root:not([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view{margin-left:8px}:host([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view,:root[dir=rtl] .sn-global-typeahead .cancel-button-mobile-view{margin-right:8px}:host(:not([dir=rtl])) .sn-global-typeahead .cancel-button-mobile-view,:root:not([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view{margin-right:8px}:host([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view,:root[dir=rtl] .sn-global-typeahead .cancel-button-mobile-view{margin-left:8px}.sn-global-typeahead .cancel-button-mobile-view::-moz-focus-inner{border-style:none}.sn-global-typeahead .cancel-button-mobile-view.selected,.sn-global-typeahead .cancel-button-mobile-view:hover{background-color:RGBA(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)),.8);outline:none}.sn-global-typeahead .cancel-button-mobile-view:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));outline:none}.sn-global-typeahead .cancel-button-mobile-view:active{background-color:RGBA(var(--now-color_chrome--brand-5,41,63,64),.8)}@keyframes transitionClicked{0%{opacity:.8}to{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--less,.25)}}.sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-bottom:8px;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}.sn-global-typeahead .sn-list-group--item:hover:before{background-color:transparent;border-color:transparent}.sn-global-typeahead .sn-list-group--item.is-hover:before{background-color:RGB(var(--now-color--primary-0,221,237,233));border-color:RGB(var(--now-color--primary-1,30,133,109))}.sn-global-typeahead .sn-list-group .global-list-item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:16px}.sn-global-typeahead .sn-list-group .global-list-item.--term{height:32px;padding-bottom:4px;padding-top:4px}.sn-global-typeahead .sn-list-group .global-list-item.is-hover:before,.sn-global-typeahead .sn-list-group .global-list-item:hover:before{background:RGB(var(--now-color--primary-1,30,133,109));border:none;opacity:var(--now-opacity--least,.1)}.sn-global-typeahead .sn-list-group .global-list-item.is-focus:before,.sn-global-typeahead .sn-list-group .global-list-item:focus:before{border:1px solid RGB(var(--now-color--primary-1,30,133,109))}@media(forced-colors:active){.sn-global-typeahead .sn-list-group .global-list-item.is-focus,.sn-global-typeahead .sn-list-group .global-list-item.is-hover,.sn-global-typeahead .sn-list-group .global-list-item:focus,.sn-global-typeahead .sn-list-group .global-list-item:hover{background-color:highlight;border:.1px solid transparent;forced-color-adjust:none}}.sn-global-typeahead .sn-popover{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:0 0 2px 2px;padding-bottom:16px;padding-top:0;position:absolute;z-index:1000}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover{padding-left:16px}:host([dir=rtl]) .sn-global-typeahead .sn-popover,:root[dir=rtl] .sn-global-typeahead .sn-popover{padding-right:16px}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover{padding-right:16px}:host([dir=rtl]) .sn-global-typeahead .sn-popover,:root[dir=rtl] .sn-global-typeahead .sn-popover{padding-left:16px}.sn-global-typeahead .sn-popover.-global{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:4px;box-shadow:0 4px 8px 0 RGBA(56,56,56,var(--now-opacity--less,.25));max-height:389px}.sn-global-typeahead .sn-popover.-global.-mobile-view{width:244px!important}.sn-global-typeahead .sn-popover--footer{border-color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));padding:0}.sn-global-typeahead .sn-popover--footer .sn-url{color:RGB(var(--now-color--link-2,1,119,142));cursor:pointer;font-family:inherit;font-size:16px;justify-content:center;padding-bottom:0;padding-top:16px;text-align:center;width:100%}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover--footer .sn-url,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover--footer .sn-url{padding-left:16px}:host([dir=rtl]) .sn-global-typeahead .sn-popover--footer .sn-url,:root[dir=rtl] .sn-global-typeahead .sn-popover--footer .sn-url{padding-right:16px}.sn-global-typeahead .sn-popover--footer .sn-url.suggestions-footer-global{padding-left:0!important}.sn-global-typeahead .sn-popover .sn-list-group:nth-child(n+2){padding-top:16px}.sn-global-typeahead .sn-popover .sn-list-group--content{width:100%}.sn-global-typeahead .sn-popover .sn-list-group--item{padding:8px}.sn-global-typeahead .sn-popover .sn-list-group--header{margin-top:16px;padding-bottom:4px;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group--header{padding-right:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header{padding-right:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group--header{padding-left:0}.sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-bottom:4px;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}.sn-global-typeahead .sn-popover .sn-list-group .result-section-heading--global{color:RGB(var(--now-color--primary-2,23,100,82));font-size:12px}.sn-global-typeahead .sn-url{color:RGB(var(--now-color--primary-1,30,133,109))}.sn-global-typeahead .sn-url span.is-hover{text-decoration:underline}@media(forced-colors:active){.sn-global-typeahead-control-container.-global{border-color:buttonborder}.sn-global-typeahead-control-container.-global:hover{border-color:highlight!important}.sn-global-typeahead-control-container.-global-active-input{border-color:highlight!important;outline:1px solid highlight}}.sn-preserve-whitepsace{white-space:pre}.sncwsgsta-record{position:relative}.sn-popover{border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));max-height:340px;overflow:auto}.result-section .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));overflow:visible!important}.result-section .aria-live-region{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sn-list-group--header,.sn-list-group--item{border-bottom-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.sn-list-group--item--title{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:16px;line-height:1.25}.sn-list-group{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;padding:0;position:relative;width:100%}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:12px 12px 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 8px 0 12px}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:200px;overflow-x:hidden;overflow-y:auto}.sn-list-group .sn-list-group{margin:-4px 0 0;overflow:hidden;padding:4px 0}.sn-list-group .sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group .sn-list-group.has-list{padding:4px 8px 4px 12px}.sn-list-group .section-header-global{border:none}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 8px}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-weight:600;margin:0;padding:12px 12px 8px;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group__simple .sn-list-group--header{border:none;padding:8px}.sn-typeahead .sn-list-group--header{padding:12px 0 8px}.sn-list-group--item{border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:2px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex-direction:column;padding:8px 12px;position:relative;text-decoration:none}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:2px;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;margin:0 24px 12px 0;padding:12px;width:360px}.sn-chat-queue .sn-list-group--item{border-radius:0;flex-direction:row;padding:8px 8px 8px 12px}.sn-list-group--item .sn-chat-toolbar--popup{margin:0 0 12px}.sn-dropdown .sn-list-group--item,.sn-list-group--item .sn-chat-toolbar--popup{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-dropdown .sn-list-group--item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex-direction:row;padding:12px 12px}.sn-dropdown .sn-list-group--item:before{display:none}.sn-dropdown .sn-list-group--item.is-last-of-type,.sn-dropdown .sn-list-group--item:last-of-type{border-radius:0 0 2px 2px}.sn-dropdown .sn-list-group--item.is-hover-disabled:hover,.sn-dropdown .sn-list-group--item.is-selected.is-hover-disabled{background:transparent}.sn-dropdown .sn-list-group--item .is-match{font-weight:600;text-decoration:underline}.sn-dropdown__above .sn-list-group--item{padding:10px 8px}.sn-dropdown.has-currency .sn-list-group--item{min-height:24px;padding:8px}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 12px}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:8px}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 8px 0 12px}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 8px 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1 1 auto;padding:0 8px 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:8px 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 8px}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;margin:0 0 0 -12px;padding:0 12px 0 0;width:12px}.sn-list-group--content__description{margin-top:12px;width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:12px 0 8px}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.sn-list-group .section-divider-global{border-bottom:1px;border-color:var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214));width:100%}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.sn-list-ul-group{margin:0;padding:0}ul{list-style:none;margin:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{line-height:1.25;position:relative}.sn-list-group--item:hover:before{background-color:transparent;border-color:transparent}.sn-list-group--item.is-hover:before{background-color:var(--now-color--primary-0,221,237,233);border:var(--now-color--primary-1,30,133,109) 1px solid}.sn-list-group--content{min-height:32px}.sn-list-group--item--title{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:16px;line-height:1.25}.sn-global-result-record-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));margin-bottom:8px}.sn-typeahead-spacer{display:inline-block;margin:0 12px}.sn-list-group{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;padding:0;position:relative;width:100%}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:12px 12px 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 8px 0 12px}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:200px;overflow-x:hidden;overflow-y:auto}.sn-list-group .sn-list-group{margin:-4px 0 0;overflow:hidden;padding:4px 0}.sn-list-group .sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group .sn-list-group.has-list{padding:4px 8px 4px 12px}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 8px}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-weight:600;margin:0;padding:12px 12px 8px;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group__simple .sn-list-group--header{border:none;padding:8px}.sn-typeahead .sn-list-group--header{padding:12px 0 8px}.sn-list-group--item{border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:2px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex-direction:column;padding:8px 12px;position:relative;text-decoration:none}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:2px;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;margin:0 24px 12px 0;padding:12px;width:360px}.sn-chat-queue .sn-list-group--item{border-radius:0;flex-direction:row;padding:8px 8px 8px 12px}.sn-list-group--item .sn-chat-toolbar--popup{margin:0 0 12px}.sn-dropdown .sn-list-group--item,.sn-list-group--item .sn-chat-toolbar--popup{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-dropdown .sn-list-group--item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex-direction:row;padding:12px 12px}.sn-dropdown .sn-list-group--item:before{display:none}.sn-dropdown .sn-list-group--item.is-last-of-type,.sn-dropdown .sn-list-group--item:last-of-type{border-radius:0 0 2px 2px}.sn-dropdown .sn-list-group--item.is-hover-disabled:hover,.sn-dropdown .sn-list-group--item.is-selected.is-hover-disabled{background:transparent}.sn-dropdown .sn-list-group--item .is-match{font-weight:600;text-decoration:underline}.sn-dropdown__above .sn-list-group--item{padding:10px 8px}.sn-dropdown.has-currency .sn-list-group--item{min-height:24px;padding:8px}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 12px}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:8px}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 8px 0 12px}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 8px 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1 1 auto;padding:0 8px 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:8px 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 8px}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;margin:0 0 0 -12px;padding:0 12px 0 0;width:12px}.sn-list-group--content__description{margin-top:12px;width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:12px 0 8px}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTab.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTypeahead.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_24_3_12_index_jsdbx_5997fa9a__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"differenceBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'differenceBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceBy;\n\t\t\t\t\t} else if ('differenceBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.differenceBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceBy;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"head\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'head' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].head;\n\t\t\t\t\t} else if ('head' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.head || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].head;\n\t\t\t\t}, [\"intersectionBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'intersectionBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersectionBy;\n\t\t\t\t\t} else if ('intersectionBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.intersectionBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersectionBy;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFinite\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t\t} else if ('isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFinite || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"slice\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t\t} else if ('slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.slice || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t}, [\"sortBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t\t} else if ('sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sortBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t}, [\"trim\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'trim' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].trim;\n\t\t\t\t\t} else if ('trim' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.trim || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].trim;\n\t\t\t\t}, [\"truncate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t\t} else if ('truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.truncate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t} });","export const SEARCH_SOURCE = 'snSearchSources';\nexport const GLOBAL_SEARCH_CONFIG = 'snGlobalSearchConfig';\nexport const USER_PREFERENCE = 'snUserPreferences';\nexport const PRESOURCE_COMPONENT = 'sn-workspace-content';\n","/* eslint-disable */\n// Copied over from sn-component-form\nconst LOG_STATUS_KEY = '__SEISMIC_LOG_LEVEL';\n\nexport const LOG_LEVEL_ALL = 0;\nexport const LOG_LEVEL_DEBUG = 1;\nexport const LOG_LEVEL_LOG = 2;\nexport const LOG_LEVEL_INFO = 2;\nexport const LOG_LEVEL_WARN = 3;\nexport const LOG_LEVEL_ERROR = 4;\n\n// set default logging level\nif (typeof window[LOG_STATUS_KEY] === 'undefined') {\n    window[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n}\n\nexport function enable(logLevel = LOG_LEVEL_ALL) {\n    switch (logLevel) {\n        case LOG_LEVEL_ALL:\n        case LOG_LEVEL_DEBUG:\n        case LOG_LEVEL_LOG:\n        case LOG_LEVEL_INFO:\n        case LOG_LEVEL_WARN:\n        case LOG_LEVEL_ERROR:\n            window[LOG_STATUS_KEY] = logLevel;\n            break;\n        default:\n            logLevel = LOG_LEVEL_ERROR;\n    }\n}\n\nexport function disable() {\n    window[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n}\n\n/**\n * Simple logging utilty to include context\n * @usage const LOG = createLog('ComponentName');\n *\n * @param name\n * @return {{log, debug, warn, error}}\n */\nexport function createLog(name) {\n    function _log(type, level, args) {\n        if (level < window[LOG_STATUS_KEY]) {\n            return;\n        }\n        args = Array.prototype.splice.call(args, 0);\n        args.unshift(`(${name})`);\n        // eslint-disable-next-line no-console\n        console[type].apply(console, args);\n    }\n\n    return {\n        debug() {\n            _log('debug', LOG_LEVEL_DEBUG, arguments);\n        },\n        log() {\n            _log('log', LOG_LEVEL_LOG, arguments);\n        },\n        info() {\n            _log('info', LOG_LEVEL_INFO, arguments);\n        },\n        warn() {\n            _log('warn', LOG_LEVEL_WARN, arguments);\n        },\n        error() {\n            _log('error', LOG_LEVEL_ERROR, arguments);\n        },\n    };\n}\n","import get from 'lodash/get';\nimport isNumber from 'lodash/isNumber';\nimport isFinite from 'lodash/isFinite';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { createLog } from '../../utils/Logger';\n\nconst LOG = createLog('snSearchSourcesPresource');\nconst PRESOURCE_DATA_CONFIG_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0].global_search._reference.associatedConfigs.GlideRecord_Query.sys_aw_global_search_config._results[0]';\nconst GQL_FETCH_DATA_CONFIG_PATH =\n\t'data.GlideRecord_Query.sys_aw_global_search_config._results[0]';\n\nconst HIDE_SEARCH_RESULTS_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0]';\n\nconst SHOW_SEARCH_RESULT_REDACTION_WARNING =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0]';\n\nconst parsePropertiesFromPath = (response, { path, properties }) => {\n\tconst result = {};\n\tconst config = get(response, path);\n\tif (config) {\n\t\tproperties.forEach(({ name, type }) => {\n\t\t\tconst value = get(config, [name, 'value']);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'number':\n\t\t\t\t\tif (\n\t\t\t\t\t\t(isNumber(value) && isFinite(value)) ||\n\t\t\t\t\t\t!isEmpty(value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tresult[name] = Number(value);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'boolean':\n\t\t\t\t\tresult[name] = Boolean(value);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tresult[name] = value;\n\t\t\t}\n\t\t});\n\t} else {\n\t\tLOG.warn(\n\t\t\t`Unable to process Global Search Config presource with path: ${path}`\n\t\t);\n\t}\n\treturn result;\n};\n\nexport default (\n\tresponse,\n\tusePresourcePath = true,\n\tincludeHideSearchResultsCount = true,\n\tincludeShowRedactionWarning = true\n) => {\n\tlet config = {};\n\tconst paths = [\n\t\t{\n\t\t\tpath: usePresourcePath\n\t\t\t\t? PRESOURCE_DATA_CONFIG_PATH\n\t\t\t\t: GQL_FETCH_DATA_CONFIG_PATH,\n\t\t\tproperties: [\n\t\t\t\t{ name: 'sys_id', type: 'string' },\n\t\t\t\t{ name: 'recent_items_count', type: 'number' },\n\t\t\t\t{ name: 'recent_terms_count', type: 'number' },\n\t\t\t\t{ name: 'recent_ttl_in_days', type: 'number' },\n\t\t\t\t{ name: 'tab_overview_items_per_section', type: 'number' },\n\t\t\t\t{ name: 'tab_drilldown_items_per_page', type: 'number' }\n\t\t\t]\n\t\t}\n\t];\n\n\tif (includeHideSearchResultsCount)\n\t\tpaths.push({\n\t\t\tpath: usePresourcePath ? HIDE_SEARCH_RESULTS_PATH : 'props',\n\t\t\tproperties: [{ name: 'hide_search_results_count', type: 'boolean' }]\n\t\t});\n\n\tif (includeShowRedactionWarning)\n\t\tpaths.push({\n\t\t\tpath: usePresourcePath ? SHOW_SEARCH_RESULT_REDACTION_WARNING : 'props',\n\t\t\tproperties: [{ name: 'show_search_result_redaction_warning', type: 'boolean' }]\n\t\t});\n\n\tpaths.forEach((path) => {\n\t\tconfig = { ...config, ...parsePropertiesFromPath(response, path) };\n\t});\n\n\treturn config;\n};\n","import get from 'lodash/get';\nimport sortBy from 'lodash/sortBy';\n\nimport { createLog } from '../../utils/Logger';\n\nconst LOG = createLog('snSearchSourcesPresource');\nconst PRESOURCE_DATA_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0].global_search_data._reference.associatedSources.GlideRecord_Query.m2m_search_context_config_search_source._results';\n\nexport default (response, usePresourcePath = true) => {\n\tvar searchSourcesData = usePresourcePath ? get(response, PRESOURCE_DATA_PATH, []) : response;\n\n\tif (!searchSourcesData) {\n\t\tLOG.error(`Unable to process Search Source presource`);\n\t\treturn [];\n\t}\n\n\tconst orderedSearchSourceData = sortBy(\n\t\tsearchSourcesData,\n\t\t(source) => source.order.value\n\t);\n\n\tconst sources = orderedSearchSourceData.map(\n\t\t({ source: { value, displayValue } }) => ({\n\t\t\tname: displayValue,\n\t\t\tsys_id: value\n\t\t})\n\t);\n\n\treturn sources;\n};\n","import get from 'lodash/get';\n\nexport default (response) => {\n\tconst config = {};\n\n\tconst exactMatchEnabled = get(\n\t\tresponse,\n\t\t'data.GlideDomain_Query.user.ts_match.0.value',\n\t\t'true'\n\t);\n\tconfig.exact_match_enabled = exactMatchEnabled === 'true';\n\n\treturn config;\n};\n","import {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from './constants';\nimport {\n\tglobalSearchConfigTransform,\n\tsearchSourcesTransform,\n\tuserPreferencesTransform\n} from './transforms';\n\nexport default [\n\t{\n\t\tbehaviorName: GLOBAL_SEARCH_CONFIG,\n\t\ttransform: globalSearchConfigTransform\n\t},\n\t{\n\t\tbehaviorName: SEARCH_SOURCE,\n\t\ttransform: searchSourcesTransform\n\t},\n\t{\n\t\tbehaviorName: USER_PREFERENCE,\n\t\ttransform: userPreferencesTransform\n\t}\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createPreSourceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t\t} else if ('createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.createPreSourceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t}, [\"getBehaviorProp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t\t} else if ('getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getBehaviorProp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t}, [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","import transforms from './transformMaps';\nimport { createPresourceBehaviorMap } from './util';\n\n/**\n * Map of presource behaviors to be used by Seismic components\n */\nconst behaviorMap = createPresourceBehaviorMap(transforms);\n\nexport default {\n\t/**\n\t * Gets a specified Prefetched Resource Behavior\n\t *\n\t * @param {string} behavior - Name of the behavior to be return by the factory\n\t * @return {string} Behavior resources that can be included in Seismic elements\n\t */\n\tget: (behavior) => behaviorMap[behavior]\n};\n","import { createPreSourceBehavior } from 'sn-uxpage-presource';\n\nimport { PRESOURCE_COMPONENT } from '../constants';\n\n/**\n * Creates a map of Prefetched Resource Behaviors\n *\n * @param {object[]} transforms - An array of objects containing a behavior name and the\n * transform function to use for the created presource behavior\n */\nexport default (transforms) => {\n\tconst behaviorMap = transforms.reduce(\n\t\t(prev, curr) => ({\n\t\t\t...prev,\n\t\t\t[curr.behaviorName]: createPreSourceBehavior(PRESOURCE_COMPONENT, {\n\t\t\t\tname: curr.behaviorName\n\t\t\t})\n\t\t}),\n\t\t{}\n\t);\n\treturn behaviorMap;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { createLog } from './Logger';\n\nconst ALL_FAILED_ERROR = 'ALL_FAILED_ERROR';\nconst NETWORK_ERROR = 'NETWORK_ERROR';\nconst SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR =\n\t'SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR'; // log use only\nconst OTHER_ERROR = 'OTHER_ERROR';\n\nconst ERROR_FOR_USER = {\n\tALL_FAILED_ERROR: t(\n\t\t'An unexpected error lost all the search results. Please search again to find them.'\n\t),\n\tNETWORK_ERROR: t(\n\t\t'An unexpected error lost some of the search results. Please search again to find them.'\n\t),\n\tOTHER_ERROR: t(\n\t\t'An unexpected error occurred. Please contact your system administrator.'\n\t)\n};\n\nfunction isSearchSourceTableNotFound(error) {\n\treturn /Search source table.*does not exist/.test(\n\t\tget(error, 'data.error.detail')\n\t);\n}\n\nclass SearchSourceErrors {\n\tconstructor(errors = []) {\n\t\tthis.errors = errors;\n\t}\n\n\tadd(error) {\n\t\tif (error.message === 'Network Error') {\n\t\t\treturn new SearchSourceErrors([\n\t\t\t\t...this.errors,\n\t\t\t\t{\n\t\t\t\t\ttype: NETWORK_ERROR,\n\t\t\t\t\terror\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\n\t\tif (isSearchSourceTableNotFound(error)) {\n\t\t\treturn new SearchSourceErrors([\n\t\t\t\t...this.errors,\n\t\t\t\t{\n\t\t\t\t\ttype: SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR,\n\t\t\t\t\terror\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\n\t\treturn new SearchSourceErrors([\n\t\t\t...this.errors,\n\t\t\t{\n\t\t\t\ttype: OTHER_ERROR,\n\t\t\t\terror\n\t\t\t}\n\t\t]);\n\t}\n\n\thasError(errorType) {\n\t\treturn (\n\t\t\tthis.errors.filter((error) => error.type === errorType).length > 0\n\t\t);\n\t}\n\n\tgetAggregatedError(numSearchSources, LOG = createLog('GlobalSearch')) {\n\t\tif (this.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.length === numSearchSources) {\n\t\t\tLOG.debug(\n\t\t\t\t'All search source requests failed, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t\treturn ERROR_FOR_USER[ALL_FAILED_ERROR];\n\t\t}\n\t\tif (this.hasError(NETWORK_ERROR)) {\n\t\t\tLOG.debug(\n\t\t\t\t'Some search source requests failed, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t\treturn ERROR_FOR_USER[NETWORK_ERROR];\n\t\t}\n\t\tif (this.hasError(SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR)) {\n\t\t\tLOG.debug(\n\t\t\t\t'Some search source tables cannot be found, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t} else {\n\t\t\tLOG.debug(\n\t\t\t\t'Unexpected errors found found, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t}\n\t\treturn ERROR_FOR_USER[OTHER_ERROR];\n\t}\n\n\tget length() {\n\t\treturn this.errors.length;\n\t}\n}\n\nexport default SearchSourceErrors;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"].Fragment;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t} });","import { getBehaviorProp } from 'sn-uxpage-presource';\nimport head from 'lodash/head';\nimport isEmpty from 'lodash/isEmpty';\nimport transforms from '../transformMaps';\n\nconst _getBehaviorProp = (state, name) => {\n\tconst val = getBehaviorProp(state, name);\n\tconst map = head(transforms.filter((t) => t.behaviorName === name)) || {};\n\tconst { transform } = map;\n\n\tif (transform && !isEmpty(val)) {\n\t\treturn transform(val);\n\t}\n\n\treturn val;\n};\n\nexport default _getBehaviorProp;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass ConfigProvider extends React.Component {\n\tgetChildContext() {\n\t\tconst { config } = this.props;\n\t\treturn { config };\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\t\treturn React.Children.only(children);\n\t}\n}\n\nConfigProvider.propTypes = {\n\tchildren: PropTypes.element.isRequired,\n\tconfig: PropTypes.object.isRequired // eslint-disable-line react/forbid-prop-types\n};\n\n// you must specify what you’re adding to the context\nConfigProvider.childContextTypes = {\n\tconfig: PropTypes.object.isRequired // eslint-disable-line react/forbid-prop-types\n};\n\nexport default ConfigProvider;\n","/*\n * Will be fixed with STRY50029007\n * Should remove unnecessary nesting\n */\n/* eslint-disable react/prefer-stateless-function */\n/* eslint-disable react/forbid-prop-types */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport merge from 'lodash/merge';\n\nfunction connectConfig(mapConfigToProps) {\n\tfunction wrapComponent(ComponentToWrap) {\n\t\tclass ComponentWithConfig extends React.Component {\n\t\t\trender() {\n\t\t\t\t// render props merged with config props\n\n\t\t\t\tconst { config } = this.context;\n\n\t\t\t\t// FIXME: there's an assumption that mapConfigToProps is a function, and returns an object\n\t\t\t\tconst configProps = config ? mapConfigToProps(config) : {};\n\t\t\t\tconst propsWithConfig = merge({}, this.props, configProps);\n\n\t\t\t\treturn <ComponentToWrap {...propsWithConfig} />;\n\t\t\t}\n\t\t}\n\n\t\t// let’s define what’s needed from the `context`\n\t\tComponentWithConfig.contextTypes = {\n\t\t\tconfig: PropTypes.object.isRequired\n\t\t};\n\n\t\treturn ComponentWithConfig;\n\t}\n\n\treturn (ComponentToWrap) => wrapComponent(ComponentToWrap);\n}\n\nexport default connectConfig;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createLog } from './Logger';\n\nconst LOG = createLog('ErrorBoundary');\n\nclass ErrorBoundary extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { hasError: false };\n\t}\n\n\tcomponentDidCatch(error, errorInfo) {\n\t\tthis.setState({ hasError: true });\n\t\tLOG.error(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { hasError } = this.state;\n\t\tconst { children } = this.props;\n\n\t\tif (hasError) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nErrorBoundary.propTypes = {\n\tchildren: PropTypes.node.isRequired\n};\n\nexport default ErrorBoundary;\n","export const PAGE_UPDATE = 'NOW_PAGINATION#PAGE_UPDATE';\nexport const PAGE_CONTROL_UPDATE = 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET';\n\n// EXACT_MATCH\nexport const EXACT_MATCH_FETCH = 'EXACT_MATCH_FETCH';\nexport const EXACT_MATCH_STARTED = 'EXACT_MATCH_STARTED';\nexport const EXACT_MATCH_SUCCEEDED = 'EXACT_MATCH_SUCCEEDED';\nexport const EXACT_MATCH_FAILED = 'EXACT_MATCH_FAILED';\n\n// DRILLDOWN\nexport const DRILLDOWN_FETCH = 'DRILLDOWN_FETCH';\nexport const DRILLDOWN_FETCH_STARTED = 'DRILLDOWN_FETCH_STARTED';\nexport const DRILLDOWN_FETCH_SUCCEEDED = 'DRILLDOWN_FETCH_SUCCEEDED';\nexport const DRILLDOWN_FETCH_FAILED = 'DRILLDOWN_FETCH_FAILED';\nexport const DRILLDOWN_PAGE_UPDATED = 'DRILLDOWN_PAGE_UPDATED';\nexport const VIEW_ALL_CLICKED = 'NOW_TEXT_LINK#CLICKED';\n\n// TEXTSEARCH\nexport const WORKSPACE_TEXT_SEARCH_STARTED = 'WORKSPACE_TEXT_SEARCH_STARTED';\nexport const WORKSPACE_TEXT_SEARCH_FAILED = 'WORKSPACE_TEXT_SEARCH_FAILED';\nexport const WORKSPACE_TEXT_SEARCH = 'WORKSPACE_TEXT_SEARCH';\nexport const WORKSPACE_TEXT_SEARCH_SUCCEEDED =\n\t'WORKSPACE_TEXT_SEARCH_SUCCEEDED';\n\n// TEXTSEARCH BATCHED\nexport const WORKSPACE_TEXT_SEARCH_BATCHED = 'WORKSPACE_TEXT_SEARCH_BATCHED';\nexport const WORKSPACE_TEXT_SEARCH_FAILED_BATCHED =\n\t'WORKSPACE_TEXT_SEARCH_FAILED_BATCHED';\n\n// USER PREF\nexport const USER_PREFERENCES_SET = 'USER_PREFERENCES_SET';\nexport const USER_PREFERENCES_FETCH_SUCCEEDED =\n\t'USER_PREFERENCES_FETCH_SUCCEEDED';\n\n// RESULT CLICK\nexport const SN_WS_SEARCH_TAB_RECORD_CLICKED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#RECORD_CLICKED';\n\nexport const SN_WS_SEARCH_TAB_SEARCH_SUCCEEDED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#SEARCH_SUCCEEDED';\n\n// LEGACY WORKSPACE ACTION\nexport const GLOBAL_SEARCH_ACTION = 'GLOBAL_SEARCH_ACTION';\n\n// CONFIGURATIONS\nexport const FETCH_CONFIGURATIONS = 'FETCH_CONFIGURATIONS';\nexport const FETCH_CONFIGURATIONS_FAILED = 'FETCH_CONFIGURATIONS_FAILED';\nexport const FETCH_CONFIGURATIONS_SUCCEEDED = 'FETCH_CONFIGURATIONS_SUCCEEDED';\n\n// BACK BUTTON (POLARIS)\nexport const BACK_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const BACK_BUTTON_CLICKED_INTERNAL = 'NOW_BUTTON_BARE#CLICKED';\nexport const BACK_BUTTON_CLICKED_EXTERNAL =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#BACK_CLICKED';\n\n// NAVIGATE TO LIST VIEW(POLARIS)\nexport const NAVIGATE_TO_LIST_VIEW_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// NAVIGATE TO  LIST VIEW\nexport const GOTO_LIST_VIEW_BUTTON_CLICKED = 'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#LIST_BUTTON_CLICKED'\n","import { getProperty } from 'sn-uxpage-presource';\nimport isEmpty  from 'lodash/isEmpty';\nimport {\n\tGLOBAL_SEARCH_ACTION,\n\tDRILLDOWN_PAGE_UPDATED\n} from '../componentWorkspaceGlobalSearchTab/actions';\n\nexport const KEY_CODES = {\n\tSPACE: 32,\n\tRETURN: 13,\n\tDOWN_ARROW: 40,\n\tUP_ARROW: 38,\n\tESCAPE: 27\n};\n\nclass GlobalSearchUtils {\n\tstatic graphqlizeActionPayload(record) {\n\t\tconst {\n\t\t\tsys_id: sysId,\n\t\t\tdata,\n\t\t\trecord_class_name: recordClassName,\n\t\t\trecord_url: recordUrl,\n\t\t\ttable,\n\t\t\ttitle,\n\t\t\tmetadata\n\t\t} = record;\n\n\t\tlet generateTitleForHistoryRecord = title;\n\t\tconst graphqlizedRecord = {};\n\t\tif (data) {\n\t\t\tObject.keys(data).forEach((key) => {\n\t\t\t\tgraphqlizedRecord[key] = {\n\t\t\t\t\tvalue: data[key].value,\n\t\t\t\t\tdisplayValue: data[key].displayValue || data[key].display,\n\t\t\t\t\tdisplay: data[key].display\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\tif (isEmpty(generateTitleForHistoryRecord) && metadata) {\n\t\t\tgenerateTitleForHistoryRecord = metadata.title;\n\t\t}\n\t\treturn {\n\t\t\ttable: recordClassName || table,\n\t\t\tsys_id: sysId,\n\t\t\titem: graphqlizedRecord,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle: generateTitleForHistoryRecord || ''\n\t\t};\n\t}\n\n\tstatic multiplexedDispatch(\n\t\tdispatch,\n\t\taction = GLOBAL_SEARCH_ACTION,\n\t\tpayload = {},\n\t\ttype = {},\n\t\tmetadata = {}\n\t) {\n\t\tconst pyld = { ...payload };\n\t\t/*\n\t\t * endOfPhase2Workaround for chrome integration\n\t\t * dispatch(action, payload, type);\n\t\t * workaround for seismic listen-to last-one-wins pattern\n\t\t */\n\t\tpyld.action = action;\n\t\tpyld.actionMetadata = metadata;\n\n\t\tdispatch(GLOBAL_SEARCH_ACTION, pyld, type);\n\t}\n\n\tstatic dispatchItemSelected(\n\t\tdispatch,\n\t\trecord,\n\t\tsourceId = '',\n\t\tnewTab = false\n\t) {\n\t\tconst { table, sys_id: sysId } = record;\n\t\tif (table && sysId) {\n\t\t\tGlobalSearchUtils.multiplexedDispatch(\n\t\t\t\tdispatch,\n\t\t\t\t'ITEM_SELECTED',\n\t\t\t\t{\n\t\t\t\t\t...GlobalSearchUtils.graphqlizeActionPayload(record),\n\t\t\t\t\tnewTab\n\t\t\t\t},\n\t\t\t\t{ type: 'ITEM_SELECTED' },\n\t\t\t\t{ sourceId },\n\t\t\t\tnewTab\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic dispatchTermSearched(dispatch, term) {\n\t\tif (term) {\n\t\t\tGlobalSearchUtils.multiplexedDispatch(\n\t\t\t\tdispatch,\n\t\t\t\t'TERM_SEARCHED',\n\t\t\t\t{ term },\n\t\t\t\t{ type: 'submit' }\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic dispatchPageUpdate(dispatch, payload) {\n\t\tdispatch(DRILLDOWN_PAGE_UPDATED, payload);\n\t}\n\n\tstatic getSysPropertyAsNumber(name) {\n\t\tconst value = getProperty(name);\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedValue = parseInt(value, 10);\n\n\t\t// eslint-disable-next-line no-restricted-globals\n\t\treturn isNaN(parsedValue) ? undefined : parsedValue;\n\t}\n}\n\nexport default GlobalSearchUtils;\n","import {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors/constants';\n\nexport default {\n\t[GLOBAL_SEARCH_CONFIG]: {\n\t\ttypeahead_debounce: 150,\n\t\trecent_items_count: 5,\n\t\trecent_terms_count: 5,\n\t\trecent_ttl_in_days: 30,\n\t\ttab_overview_items_per_section: 10,\n\t\ttab_drilldown_items_per_page: 25,\n\t\ttab_pagination_debounce: 150,\n\t\thide_search_results_count: false,\n\t\tshow_search_result_redaction_warning: false,\n\t\texact_match_enabled: true,\n\t\texact_match_request_criterion_regex: '^\\\\s*[a-zA-Z]+\\\\d+\\\\s*$'\n\t},\n\t[SEARCH_SOURCE]: [\n\t\t{ name: 'Incidents', sys_id: 'b28f7c30532203003eddddeeff7b12a7' },\n\t\t{ name: 'Change Requests', sys_id: 'a57064b4533303003eddddeeff7b12f3' },\n\t\t{ name: 'Change Tasks', sys_id: 'dde0a4b4533303003eddddeeff7b12fa' },\n\t\t{ name: 'Problems', sys_id: 'a01d8ca0532203003eddddeeff7b1281' },\n\t\t{ name: 'Requests', sys_id: 'a02128b4533303003eddddeeff7b1251' },\n\t\t{ name: 'Catalog Tasks', sys_id: '7a92acb4533303003eddddeeff7b1237' },\n\t\t{ name: 'Users', sys_id: '494cc0a0532203003eddddeeff7b12db' },\n\t\t{ name: 'Groups', sys_id: 'cce2ecb4533303003eddddeeff7b12d1' },\n\t\t{ name: 'Locations', sys_id: 'e3fbc125532203003eddddeeff7b124e' },\n\t\t{ name: 'Companies', sys_id: '93cb8125532203003eddddeeff7b1205' },\n\t\t{ name: 'Knowledge', sys_id: 'b13c8125532203003eddddeeff7b12ef' }\n\t],\n\t[USER_PREFERENCE]: {\n\t\texact_match_enabled: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","/* eslint-disable jsx-a11y/anchor-has-content */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport '@servicenow/now-loader';\nimport '@servicenow/now-heading';\n\nclass TabHeader extends React.PureComponent {\n\trender() {\n\t\tconst { title, spinnerEnabled, isGlobal } = this.props;\n\t\t// nds-scanner-disable-start\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`global-search-tab-header${\n\t\t\t\t\tisGlobal ? ' __global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<div className=\"truncate\" aria-live=\"polite\">\n\t\t\t\t\t<now-heading\n\t\t\t\t\t\tclassName={isGlobal ? 'global-header-font' : ''}\n\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tisGlobal ? 'header-secondary' : 'header-primary'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{spinnerEnabled && (\n\t\t\t\t\t<now-loader className=\"global-search-loader\" size=\"lg\" />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t\t// nds-scanner-disable-stop\n\t}\n}\n\nTabHeader.propTypes = {\n\ttitle: PropTypes.string.isRequired,\n\tspinnerEnabled: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tskipLinkClicked: PropTypes.func\n};\n\nTabHeader.defaultProps = {\n\tspinnerEnabled: false\n};\n\nexport default TabHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass TabBody extends React.PureComponent {\n\trender() {\n\t\tconst { children, setRef } = this.props;\n\t\treturn <div {...({ ref: setRef })}>{children}<\/div>;\n\t}\n}\n\nTabBody.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tsetRef: PropTypes.func\n};\n\nexport default TabBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass TabContainer extends React.PureComponent {\n\trender() {\n\t\tconst { isVisible, className, children } = this.props;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-testid=\"sncwgs-overview-container\"\n\t\t\t\tclassName={`${className} sn-panel--row ${\n\t\t\t\t\tisVisible ? '' : 'hidden'\n\t\t\t\t}`}>\n\t\t\t\t{children}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nTabContainer.propTypes = {\n\tisVisible: PropTypes.bool,\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t])\n};\n\nTabContainer.defaultProps = {\n\tclassName: '',\n\tisVisible: true,\n\tchildren: undefined\n};\n\nexport default TabContainer;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-avatar';\n\nconst THUMBNAIL_CLASS = {\n\tcircle: 'sn-avatar sn-avatar__xxl',\n\tsquare: 'sn-avatar sn-avatar__xxl sn-avatar__square'\n};\n\nclass Thumbnail extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.getAvatarContent = this.getAvatarContent.bind(this);\n\t\tthis.state = {\n\t\t\tisImageInvalid: false\n\t\t};\n\t}\n\n\tgetAvatarContent() {\n\t\tconst {\n\t\t\ttype,\n\t\t\turl,\n\t\t\ticon,\n\t\t\tinitials,\n\t\t\tsize,\n\t\t\tname,\n\t\t\timageURL,\n\t\t\taltText\n\t\t} = this.props;\n\t\tconst { isImageInvalid } = this.state;\n\n\t\tconst className = THUMBNAIL_CLASS[type];\n\n\t\tif (isImageInvalid) return <now-icon icon=\"book-outline\" size=\"xl\" />;\n\n\t\tif (imageURL && imageURL.length > 0) {\n\t\t\treturn (\n\t\t\t\t<img\n\t\t\t\t\tsrc={imageURL}\n\t\t\t\t\tclassName=\"result-preview\"\n\t\t\t\t\talt={altText}\n\t\t\t\t\tonError={() => {\n\t\t\t\t\t\tthis.setState({ isImageInvalid: true });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (url && url.length)\n\t\t\treturn (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"global-avatar\"\n\t\t\t\t\tsize={size}\n\t\t\t\t\timageSrc={url}\n\t\t\t\t\tuserName={name}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tif (icon && icon.length) return <now-icon icon={icon} size={size} />;\n\n\t\treturn (\n\t\t\t<div className={className} aria-hidden=\"true\">\n\t\t\t\t{initials}\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"sn-avatar-container\">{this.getAvatarContent()}<\/div>\n\t\t);\n\t}\n}\n\nThumbnail.propTypes = {\n\ttype: PropTypes.oneOf(['square', 'circle']).isRequired,\n\turl: PropTypes.string,\n\ticon: PropTypes.string, // if url is not present, load icon\n\tinitials: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tsize: PropTypes.string,\n\timageURL: PropTypes.string,\n\taltText: PropTypes.string\n};\n\nThumbnail.defaultProps = {\n\turl: undefined,\n\ticon: undefined,\n\tinitials: undefined,\n\tsize: 'lg'\n};\n\nexport default Thumbnail;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst InvisibleContent = (props) => {\n\tconst { children } = props;\n\tconst { className: providedClassname, ...propsWithoutClass } = props;\n\n\tconst mergedClassName = `${\n\t\tprovidedClassname ? `${providedClassname} ` : ''\n\t}snu-sr`;\n\n\treturn (\n\t\t<div className={mergedClassName} {...propsWithoutClass}>\n\t\t\t{children}\n\t\t<\/div>\n\t);\n};\n\nInvisibleContent.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tclassName: PropTypes.string\n};\n\nInvisibleContent.defaultProps = {\n\tclassName: undefined\n};\n\nexport default InvisibleContent;\n","/**\n *  Used to serialize label-value items into screen readable text\n * @param {string} recordTitle - Representing the title of the record to be announced\n * @param {Object[]} valueItems - Array of value items\n * @param {string} valueItems[].label - The label for the value item.\n * @param {Object} valueItems[].value - The value object for the value item.\n * @param {string} valueItems[].value.value - The value for the value item.\n */\nconst getAccessibleDisplayValueMessage = (recordTitle, valueItems) =>\n\tvalueItems.reduce((prev, item) => {\n\t\tconst itemSerialized = `${item.label.replace('_', ' ')}: ${\n\t\t\titem.value.value\n\t\t}`;\n\t\tif (!prev) return itemSerialized;\n\t\treturn `${prev}, ${itemSerialized}`;\n\t}, recordTitle || '');\n\nexport default getAccessibleDisplayValueMessage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport truncate from 'lodash/truncate';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-label-value';\nimport InvisibleContent from '../../../common/InvisibleContent';\nimport getAccessibleDisplayValueMessage from '../../../utils/getAccessibleDisplayValueMessage';\n\nfunction getDisplayedValue(value, emptyValue) {\n\treturn value && value.length ? value : emptyValue;\n}\n\nconst getItems = (fields, hideEmptyFields) => {\n\tconst emptyValue = !hideEmptyFields && t('None');\n\n\treturn fields\n\t\t.filter(({ value }) => Boolean(getDisplayedValue(value, emptyValue)))\n\t\t.map(({ value, label }) => {\n\t\t\tconst valueToDisplay = getDisplayedValue(value, emptyValue);\n\t\t\tconst titledCaseName = label;\n\t\t\tconst truncatedValue = truncate(valueToDisplay, {\n\t\t\t\tlength: 50,\n\t\t\t\tseparator: /[ ,?:]/,\n\t\t\t\tomission: '...'\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tlabel: titledCaseName,\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tvalue: truncatedValue\n\t\t\t\t}\n\t\t\t};\n\t\t});\n};\n\nconst FieldList = (props) => {\n\tconst { descriptionId, fields, hideEmptyFields, isGlobal } = props;\n\tconst stackedValueItems = getItems(fields, hideEmptyFields);\n\n\treturn (\n\t\t<div className=\"sn-list-group--content sn-list-group--content__meta\">\n\t\t\t<now-label-value-stacked\n\t\t\t\talign=\"horizontal-equal\"\n\t\t\t\ttruncated\n\t\t\t\titems={stackedValueItems}\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t\t<InvisibleContent id={descriptionId}>\n\t\t\t\t{getAccessibleDisplayValueMessage('', stackedValueItems)}\n\t\t\t<\/InvisibleContent>\n\t\t<\/div>\n\t);\n};\n\nFieldList.propTypes = {\n\tfields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdescriptionId: PropTypes.string.isRequired,\n\thideEmptyFields: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nFieldList.defaultProps = {\n\thideEmptyFields: false\n};\n\nexport default FieldList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport intersectionBy from 'lodash/intersectionBy';\nimport differenceBy from 'lodash/differenceBy';\nimport { t } from 'sn-translate';\nimport FieldList from './FieldList';\n\nconst LOCATION_SUB_FIELDS = [\n\t'street',\n\t'city',\n\t'state',\n\t'country',\n\t'zip',\n\t'latitude',\n\t'longitude'\n].map((value) => ({ name: value }));\n\nexport const getNonLocationFields = (fields) =>\n\tdifferenceBy(fields, LOCATION_SUB_FIELDS, 'name');\n\nconst LocationField = (props) => {\n\tconst { subFields, descriptionId, isGlobal } = props;\n\n\tconst locationSubFields = intersectionBy(\n\t\tsubFields,\n\t\tLOCATION_SUB_FIELDS,\n\t\t'name'\n\t);\n\n\tconst locationValue = locationSubFields\n\t\t.map((field) => field.value)\n\t\t.filter((value) => !!value)\n\t\t.join(' | ');\n\n\treturn (\n\t\t<FieldList\n\t\t\tdescriptionId={descriptionId}\n\t\t\tfields={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Location'),\n\t\t\t\t\tvalue: locationValue,\n\t\t\t\t\tname: 'location'\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n\nLocationField.propTypes = {\n\tsubFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdescriptionId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default LocationField;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport '@servicenow/now-text-link';\nimport isEmpty from 'lodash/isEmpty';\n\nconst Attachment = (props) => {\n\tconst { attachment } = props;\n\n\tconst icon =\n\t\tisEmpty(attachment.icon_url) ||\n\t\tattachment.icon_url === 'icons/attach_document.gifx' ? (\n\t\t\t<now-icon icon=\"document-outline\" size=\"sm\" />\n\t\t) : (\n\t\t\t<img src={attachment.icon_url} />\n\t\t);\n\treturn (\n\t\t<span>\n\t\t\t{icon}\n\t\t\t<now-text-link\n\t\t\t\tlabel={attachment.file_name}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\thref={attachment.attachment_url}\n\t\t\t/>\n\t\t<\/span>\n\t);\n};\n\nconst AttachmentList = (props) => {\n\tconst { attachments } = props;\n\n\treturn (\n\t\t<div className=\"sn-list-group--content sn-list-group--content__meta global-search-content--attachment-list\">\n\t\t\t<ul>\n\t\t\t\t{attachments.map((attachment, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li className=\"global-search-content--attachment\">\n\t\t\t\t\t\t\t{i !== 0 && (\n\t\t\t\t\t\t\t\t<span class=\"global-search-content--attachment-divider\">\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Attachment attachment={attachment} />\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/ul>\n\t\t<\/div>\n\t);\n};\n\nexport default AttachmentList;\n","import { t } from 'sn-translate';\nexport const ENUM_TAB_MODES = {\n\tDRILL_DOWN: 'DRILL_DOWN',\n\tOVERVIEW: 'OVERVIEW'\n};\n\nexport const EXACT_MATCH_RECORD_PATH = 'sources.EXACT_MATCH_SECTION.records';\nexport const SESSION_USER_PATH = 'output.user';\n\nexport const PREVIOUS_APP = 'BACK_TO_PREVIOUS_APP';\nexport const DRILL_DOWN = 'DRILL_DOWN';\nexport const VIEW_ALL = 'VIEW_ALL';\nexport const NAVIGATE_TO_LIST_VIEW = 'NAVIGATE_TO_LIST_VIEW';\nexport const BACK_TO = t('Back to');\nexport const BACK_BUTTON_TEXT_LIMIT = 50;\nexport const DEFAULT_USER_PREFERENCES_NAME =\n\t'workspace.globalSearch.recentActions';\nexport const SKIP_TO_LABEL = t('Skip to');\nexport const SIDEBAR_HEADER_LABEL = t('Navigate search results');\nexport const SKIP_TO_SIDEBAR = t('Skip to results sorted by category');\nexport const PREVIEW_LABEL = t('Preview');\n\nexport const GLOBAL_NAV_PREFIX = 'now/nav/ui/classic/params/target/';\nexport const GLOBAL_SEARCH_CONTEXT = 'now/nav/ui';\nexport const NEW_TAB_ICON = 'NOW-BUTTON-ICONIC';\nexport const NEW_TAB_LABEL = t('Open in new tab');\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport Thumbnail from './Thumbnail';\nimport FieldList from './FieldList';\nimport LocationField, { getNonLocationFields } from './LocationField';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_NON_LOCATION_FIELDS_TO_SHOW = 2;\n\nconst CompanyCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdisplayFields,\n\t\tthumbnail,\n\t\ttitle,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst nonLocationFields = take(\n\t\tgetNonLocationFields(displayFields),\n\t\tMAX_NON_LOCATION_FIELDS_TO_SHOW\n\t);\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record sn-list-group--item sn-list-group--item__grid${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div className=\"sn-global-search--content sn-global-search--content__static\">\n\t\t\t\t{/* {TODO: This should be a building icon when design is finished creating it} */}\n\t\t\t\t<Thumbnail\n\t\t\t\t\ttype=\"circle\"\n\t\t\t\t\turl={thumbnail}\n\t\t\t\t\ticon=\"buildingFill\"\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span className=\"sn-list-group--item--title\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisGlobal ? 'global-grid-content--title' : ''\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t<FieldList\n\t\t\t\t\tfields={nonLocationFields}\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t\t<LocationField\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tsubFields={displayFields}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nCompanyCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string.isRequired,\n\tdisplayFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tsysId: PropTypes.string.isRequired,\n\tthumbnail: PropTypes.string,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nCompanyCard.defaultProps = {\n\tthumbnail: undefined\n};\n\nexport default CompanyCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport LocationField, { getNonLocationFields } from './LocationField';\nimport FieldList from './FieldList';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_NON_LOCATION_FIELDS_TO_SHOW = 3;\n\nconst LocationCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst nonLocationFields = take(\n\t\tgetNonLocationFields(displayFields),\n\t\tMAX_NON_LOCATION_FIELDS_TO_SHOW\n\t);\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName=\"focus-record sn-list-group--item sn-list-group--item__grid\"\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span className=\"sn-list-group--item--title\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisGlobal ? 'global-grid-content--title' : ''\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t<FieldList\n\t\t\t\t\tfields={nonLocationFields}\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t/>\n\t\t\t\t<LocationField\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tsubFields={displayFields}\n\t\t\t\t/>\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nLocationCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\tsysId: PropTypes.string.isRequired,\n\ttitle: PropTypes.string,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\trecordUrl: PropTypes.string.isRequired\n};\n\nLocationCard.defaultProps = {\n\ttitle: '',\n\tdisplayFields: []\n};\n\nexport default LocationCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { t } from 'sn-translate';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport Thumbnail from './Thumbnail';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_DISPLAY_FIELDS_TO_SHOW = 5;\n\nconst UserCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\ttitle,\n\t\tdisplayFields,\n\t\tthumbnail,\n\t\tinitials,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst selectedDisplayFields = take(\n\t\tdisplayFields,\n\t\tMAX_DISPLAY_FIELDS_TO_SHOW\n\t);\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record sn-list-group--item sn-list-group--item__grid${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content sn-global-search--content__static${\n\t\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<Thumbnail\n\t\t\t\t\ttype=\"circle\"\n\t\t\t\t\turl={thumbnail}\n\t\t\t\t\tname={title}\n\t\t\t\t\tinitials={initials}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`sn-list-group--item--title${\n\t\t\t\t\t\tisGlobal ? ' global-grid-content--title' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<now-heading\n\t\t\t\t\t\tclassName=\"global-search-card--title\"\n\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\twont-wrap\n\t\t\t\t\t/>\n\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/span>\n\t\t\t\t{selectedDisplayFields.length > 0 && (\n\t\t\t\t\t<div className=\"sn-list-group--content sn-list-group--content__meta\">\n\t\t\t\t\t\t{selectedDisplayFields.map((field) => (\n\t\t\t\t\t\t\t<span key={field.name}>\n\t\t\t\t\t\t\t\t{field.value || t('None')}\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nUserCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string.isRequired,\n\tthumbnail: PropTypes.string,\n\tinitials: PropTypes.string,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\tisGlobal: PropTypes.bool,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nUserCard.defaultProps = {\n\tthumbnail: undefined,\n\tinitials: undefined,\n\tdisplayFields: undefined\n};\n\nexport default UserCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\n\nimport FieldList from './FieldList';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst DefaultCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdescription,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tshowDescription,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record record default${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<span className={isGlobal ? 'new-tab-button-container' : ''}>\n\t\t\t\t<now-heading\n\t\t\t\t\tclassName={isGlobal ? 'global-header' : ''}\n\t\t\t\t\thas-no-margin\n\t\t\t\t\tlabel={title}\n\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t/>\n\t\t\t\t{isGlobal ? (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/span>\n\t\t\t<FieldList\n\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\tfields={displayFields}\n\t\t\t\tspreadVertically={false}\n\t\t\t/>\n\t\t\t{showDescription && !isEmpty(description) && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-list-group--content sn-list-group--content__description${\n\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<span>{description}<\/span>\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t)}\n\t\t<\/li>\n\t);\n};\n\nDefaultCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string,\n\tdescription: PropTypes.string,\n\tdisplayFields: PropTypes.array,\n\tshowDescription: PropTypes.bool,\n\tsysId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nDefaultCard.defaultProps = {\n\ttitle: '',\n\tdescription: '',\n\tdisplayFields: []\n};\n\nDefaultCard.defaultProps = {\n\tshowDescription: true\n};\n\nexport default DefaultCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\n\nimport FieldList from './FieldList';\nimport Thumbnail from './Thumbnail';\nimport { PREVIEW_LABEL, NEW_TAB_LABEL } from '../../constants';\nimport AttachmentList from './AttachmentList';\n\nconst CatalogCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdescription,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tshowDescription,\n\t\tsysId,\n\t\tisGlobal,\n\t\tthumbnail,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\tconst resultPreview = !isEmpty(thumbnail) ? (\n\t\t<Thumbnail\n\t\t\ttype=\"square\"\n\t\t\timageURL={thumbnail}\n\t\t\taltText={`${title} ${PREVIEW_LABEL}`}\n\t\t/>\n\t) : (\n\t\t<Thumbnail type=\"square\" size=\"xl\" icon=\"book-outline\" />\n\t);\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record record default${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div className=\"catalog-result-container\">\n\t\t\t\t<div className=\"catalog-result-container__preview-container\">\n\t\t\t\t\t{resultPreview}\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"catalog-result-container__content-container\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={isGlobal ? 'new-tab-button-container' : ''}>\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tclassName={isGlobal ? 'global-header' : ''}\n\t\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<FieldList\n\t\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\t\tfields={displayFields}\n\t\t\t\t\t\tspreadVertically={false}\n\t\t\t\t\t/>\n\t\t\t\t\t{showDescription && !isEmpty(description) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`sn-list-group--content sn-list-group--content__description${\n\t\t\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t\t<span>{description}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isEmpty(matched_attachments) && (\n\t\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nCatalogCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string,\n\tdescription: PropTypes.string,\n\tdisplayFields: PropTypes.array,\n\tshowDescription: PropTypes.bool,\n\tsysId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool,\n\trecord: PropTypes.object,\n\tthumbnail: PropTypes.string,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nCatalogCard.defaultProps = {\n\ttitle: '',\n\tdescription: '',\n\tdisplayFields: []\n};\n\nCatalogCard.defaultProps = {\n\tshowDescription: true\n};\n\nexport default CatalogCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport has from 'lodash/has';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport truncate from 'lodash/truncate';\nimport trim from 'lodash/trim';\nimport { t } from 'sn-translate';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\nimport getCardComponent from './RecordViews/cardFactory';\nimport {\n\tGLOBAL_NAV_PREFIX,\n\tGLOBAL_SEARCH_CONTEXT,\n\tNEW_TAB_ICON\n} from '../constants';\n\nclass Record extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onSelect = this.onSelect.bind(this);\n\t}\n\n\tonSelect(event) {\n\t\tconst { onSelect, record, section } = this.props;\n\n\t\t// open result in new tab on new tab button click or command/control + click\n\t\tlet newTab = false;\n\t\tif (\n\t\t\tevent.metaKey ||\n\t\t\tevent.ctrlKey ||\n\t\t\t(event.target && event.target.tagName === NEW_TAB_ICON)\n\t\t) {\n\t\t\tnewTab = true;\n\t\t}\n\n\t\tif (\n\t\t\tevent.type === 'click' ||\n\t\t\t(event.type === 'keydown' &&\n\t\t\t\t!!event.which &&\n\t\t\t\tevent.which === KEY_CODES.RETURN)\n\t\t) {\n\t\t\tonSelect(record, section, newTab);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { record, fields, isGlobal, selectedSearchContext } = this.props;\n\n\t\tconst title =\n\t\t\thas(record, 'metadata.title') &&\n\t\t\t!isEmpty(trim(record.metadata.title))\n\t\t\t\t? record.metadata.title\n\t\t\t\t: t('No Title');\n\t\tconst description = truncate(get(record, 'metadata.description', ''), {\n\t\t\tlength: 350,\n\t\t\tseparator: /[ ,?:]/,\n\t\t\tomission: '...'\n\t\t});\n\t\tconst thumbnail = get(record, 'metadata.thumbnail_url');\n\t\tconst initials = get(record, 'metadata.additional_info.initials');\n\t\tconst recordTarget = get(record, 'record_url');\n\t\tconst recordUrl =\n\t\t\tisGlobal &&\n\t\t\t!isEmpty(recordTarget) &&\n\t\t\tselectedSearchContext?.includes(GLOBAL_SEARCH_CONTEXT)\n\t\t\t\t? `${GLOBAL_NAV_PREFIX}${encodeURIComponent(recordTarget)}`\n\t\t\t\t: 'javascript:void(0)';\n\n\t\tconst propsToPass = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tthumbnail,\n\t\t\tinitials,\n\t\t\trecord,\n\t\t\tsysId: record.sys_id\n\t\t};\n\n\t\tconst displayFields = fields\n\t\t\t.filter(({ name }) => name !== 'sys_id')\n\t\t\t.map((field) => ({\n\t\t\t\tname: field.name,\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: trim(get(record, ['data', field.name, 'display']))\n\t\t\t}));\n\n\t\tconst CardComponent = getCardComponent(record.table);\n\n\t\treturn (\n\t\t\t<CardComponent\n\t\t\t\tonSelect={this.onSelect}\n\t\t\t\tdisplayFields={displayFields}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\trecordUrl={recordUrl}\n\t\t\t\t{...propsToPass}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nRecord.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\tfields: PropTypes.array.isRequired,\n\trecord: PropTypes.object.isRequired,\n\tsection: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default Record;\n","import CompanyCard from './CompanyCard';\nimport LocationCard from './LocationCard';\nimport UserCard from './UserCard';\nimport DefaultCard from './DefaultCard';\nimport CatalogCard from './CatalogCard';\n\n/**\n * Acts as a higher order component that returns the right card component\n */\n\nexport default function getCardComponent(tableName) {\n\tif (tableName.includes('cat_item')) return CatalogCard;\n\telse\n\t\tswitch (tableName) {\n\t\t\tcase 'core_company':\n\t\t\t\treturn CompanyCard;\n\t\t\tcase 'cmn_location':\n\t\t\t\treturn LocationCard;\n\t\t\tcase 'sys_user':\n\t\t\t\treturn UserCard;\n\t\t\tdefault:\n\t\t\t\treturn DefaultCard;\n\t\t}\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Record from './Record';\n\nconst ResultRecords = ({\n\tariaLabelledBy,\n\trecords,\n\tfieldOrder,\n\tonRecordSelect,\n\tsection,\n\tisGlobal,\n\tselectedSearchContext\n}) => (\n\t<ul className=\"sn-list-group\" aria-labelledby={ariaLabelledBy}>\n\t\t{records.map((record, index) => (\n\t\t\t<Record\n\t\t\t\tkey={record.sys_id || index}\n\t\t\t\tsection={section}\n\t\t\t\trecord={record}\n\t\t\t\tfields={fieldOrder}\n\t\t\t\tonSelect={onRecordSelect}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t/>\n\t\t))}\n\t<\/ul>\n);\n\nResultRecords.propTypes = {\n\tariaLabelledBy: PropTypes.string,\n\tfieldOrder: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tsection: PropTypes.string.isRequired,\n\trecords: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tisGlobal: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string\n};\n\nResultRecords.defaultProps = {\n\tariaLabelledBy: undefined\n};\n\nexport default ResultRecords;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-pagination';\nimport '@servicenow/now-pagination-control';\nimport get from 'lodash/get';\n\nimport TabHeader from './Tab/TabHeader';\nimport TabBody from './Tab/TabBody';\nimport TabContainer from './Tab/TabContainer';\nimport ResultRecords from './ResultRecords';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\n\nimport { DRILL_DOWN } from '../constants';\n\nexport class DrillDownView extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.nodeToScroll = null;\n\t\tthis.onBackToAllResultsClick = this.onBackToAllResultsClick.bind(this);\n\t\tthis.getNodeToScrollRef = this.getNodeToScrollRef.bind(this);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { data } = this.props;\n\t\tif (data && data.isFetching && this.nodeToScroll)\n\t\t\tthis.nodeToScroll.scrollTop = 0;\n\t}\n\n\tonBackToAllResultsClick() {\n\t\tconst { resetDrillDownState } = this.props;\n\t\tresetDrillDownState();\n\t}\n\n\tgetNodeToScrollRef(el) {\n\t\tthis.nodeToScroll = el;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tpaginationLimit,\n\t\t\tcurrentPage,\n\t\t\tonRecordSelect,\n\t\t\tterm,\n\t\t\tsectionId,\n\t\t\tsectionTitle,\n\t\t\thideResultsCount,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst responseRecordCount = get(data, 'responseRecordCount', 0);\n\t\tconst visibleCount = get(data, 'sourceData.records.length', 0);\n\t\tconst databaseRecordCount = get(\n\t\t\tdata,\n\t\t\t'sourceData.databaseRecordCount',\n\t\t\t0\n\t\t);\n\t\tconst displayFields = get(data, 'sourceData.displayFields', []);\n\t\tconst records = get(data, 'sourceData.records', []);\n\t\tconst tableName = get(data, 'sourceData.tableName');\n\t\tconst isFetching = data && data.isFetching;\n\n\t\tconst paginationProps = {\n\t\t\thideLimitSelector: true,\n\t\t\tlimit: paginationLimit,\n\t\t\tpage: currentPage,\n\t\t\trecordCount: responseRecordCount,\n\t\t\tvisibleCount\n\t\t};\n\n\t\tlet headerTitle = '';\n\t\tif (isFetching) {\n\t\t\theaderTitle = t('Searching for \"{0}\" in {1}', term, sectionTitle);\n\t\t} else if (hideResultsCount) {\n\t\t\theaderTitle = t('Results for \"{0}\" in {1}', term, sectionTitle);\n\t\t} else {\n\t\t\theaderTitle = t(\n\t\t\t\t'{0} results for \"{1}\" in {2}',\n\t\t\t\tresponseRecordCount.toLocaleString(),\n\t\t\t\tterm,\n\t\t\t\tsectionTitle\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<TabContainer className=\"tab-drilldown-container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-panel--row sn-panel--row__static back-button${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ticon-start=\"arrow-start-fill\"\n\t\t\t\t\t\t\tlabel={isGlobal ? t('All results') : t('Back')}\n\t\t\t\t\t\t\tsize={isGlobal ? 'sm' : 'md'}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\ttype: DRILL_DOWN,\n\t\t\t\t\t\t\t\tonClick: this.onBackToAllResultsClick\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`global-search-container${\n\t\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tref={this.getNodeToScrollRef}>\n\t\t\t\t\t\t<TabHeader\n\t\t\t\t\t\t\ttitle={headerTitle}\n\t\t\t\t\t\t\tspinnerEnabled={!!isFetching}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TabBody>\n\t\t\t\t\t\t\t{databaseRecordCount > 0 && (\n\t\t\t\t\t\t\t\t<ResultRecords\n\t\t\t\t\t\t\t\t\tfieldOrder={displayFields}\n\t\t\t\t\t\t\t\t\tsectionTableName={tableName}\n\t\t\t\t\t\t\t\t\tsection={sectionId}\n\t\t\t\t\t\t\t\t\trecords={records}\n\t\t\t\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/TabBody>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/TabContainer>\n\t\t\t\t{isGlobal ? (\n\t\t\t\t\t<now-pagination-control\n\t\t\t\t\t\tclassName=\"global-pagination\"\n\t\t\t\t\t\tcomponent-id=\"drill-down-pagination\"\n\t\t\t\t\t\ttotal={responseRecordCount}\n\t\t\t\t\t\tselectedPage={currentPage - 1}\n\t\t\t\t\t\tselectedPageSize={paginationLimit}\n\t\t\t\t\t\tmanageSelectedPage\n\t\t\t\t\t\thidePageSizeControl\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-pagination\n\t\t\t\t\t\t{...paginationProps}\n\t\t\t\t\t\tcomponent-id=\"drill-down-pagination\"\n\t\t\t\t\t\thideRange={hideResultsCount}\n\t\t\t\t\t\thideRowCount={hideResultsCount}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/React.Fragment>\n\t\t);\n\t}\n}\n\nDrillDownView.propTypes = {\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tpaginationLimit: PropTypes.number.isRequired,\n\tcurrentPage: PropTypes.number.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tresetDrillDownState: PropTypes.func.isRequired,\n\tterm: PropTypes.string.isRequired,\n\tsectionId: PropTypes.string.isRequired,\n\tsectionTitle: PropTypes.string.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool\n};\n\nDrillDownView.defaultProps = {\n\tdata: undefined,\n\thideResultsCount: false,\n\tisGlobal: false,\n\tshowRedactionWarning: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tpaginationLimit:\n\t\t\tconfig.global_search_config.tab_drilldown_items_per_page,\n\t\thideResultsCount: config.global_search_config.hide_search_results_count,\n\t\tshowRedactionWarning: config.global_search_config.show_search_result_redaction_warning\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(DrillDownView);\n","import PropTypes from 'prop-types';\n\nexport const exactMatchDataShape = PropTypes.shape({\n\tisFetching: PropTypes.bool,\n\terror: PropTypes.object,\n\tterm: PropTypes.string,\n\tsources: PropTypes.shape({\n\t\tEXACT_MATCH_SECTION: PropTypes.shape({\n\t\t\tname: PropTypes.string,\n\t\t\tcondition: PropTypes.string,\n\t\t\tdatabaseRecordCount: PropTypes.number,\n\t\t\trecords: PropTypes.arrayOf(PropTypes.object),\n\t\t\tdisplayFields: PropTypes.arrayOf(PropTypes.object)\n\t\t})\n\t})\n});\n\nexport const drilldownDataShape = PropTypes.shape({\n\tisFetching: PropTypes.bool,\n\terror: PropTypes.object,\n\tterm: PropTypes.string,\n\tsourceData: PropTypes.shape({\n\t\tname: PropTypes.string,\n\t\tcondition: PropTypes.shape({\n\t\t\tdisplay: PropTypes.string,\n\t\t\tvalue: PropTypes.string\n\t\t}),\n\t\tdatabaseRecordCount: PropTypes.number,\n\t\ttableName: PropTypes.string,\n\t\trecords: PropTypes.any,\n\t\tdisplayFields: PropTypes.any\n\t}),\n\tsourceSysId: PropTypes.string,\n\tresponseRecordCount: PropTypes.number\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport debounce from 'lodash/debounce';\n\nimport DrillDown from './GlobalSearchResult/DrillDownView';\nimport GlobalSearchUtils from '../utils/GlobalSearchUtils';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { createLog } from '../utils/Logger';\nimport { drilldownDataShape } from './propTypes';\nimport { DRILLDOWN_FETCH } from './actions';\n\nconst LOG = createLog('GlobalSearchTab DrillDown');\n\nexport class ComponentWorkspaceGlobalSearchTabDrillDown extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.debouncedRead = debounce(this.read, props.paginationDebounce, {\n\t\t\tleading: true\n\t\t});\n\t\tthis.switchToOverviewMode = this.switchToOverviewMode.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { page } = this.props;\n\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tdrilledDownSection: sourceId,\n\t\t\tterm,\n\t\t\tdrilldownData\n\t\t} = this.props;\n\n\t\tif (\n\t\t\tdrilldownData &&\n\t\t\tdrilldownData.term === term &&\n\t\t\tdrilldownData.sourceSysId === sourceId\n\t\t) {\n\t\t\t// if the data present is what we are looking for, return without actually sending out the query\n\t\t\treturn;\n\t\t}\n\n\t\tGlobalSearchUtils.dispatchPageUpdate(dispatch, {\n\t\t\tsourceId,\n\t\t\tterm,\n\t\t\tpage: 1\n\t\t});\n\n\t\tthis.debouncedRead(sourceId, term, page);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst {\n\t\t\tdrilledDownSection: sourceId,\n\t\t\tpage,\n\t\t\tpaginationDebounce,\n\t\t\tterm\n\t\t} = this.props;\n\n\t\tif (paginationDebounce !== nextProps.paginationDebounce) {\n\t\t\tthis.debouncedRead = debounce(\n\t\t\t\tthis.read,\n\t\t\t\tnextProps.paginationDebounce,\n\t\t\t\t{\n\t\t\t\t\tleading: true\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tconst {\n\t\t\tdrilledDownSection: nextSourceId,\n\t\t\tpage: nextPage,\n\t\t\tterm: nextTerm\n\t\t} = nextProps;\n\n\t\tif (\n\t\t\tnextPage !== page ||\n\t\t\tnextSourceId !== sourceId ||\n\t\t\tnextTerm !== term\n\t\t) {\n\t\t\tthis.debouncedRead(nextSourceId, nextTerm, nextPage);\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst error = get(this.props, 'drilldownData.error');\n\t\tconst prevError = get(prevProps, 'drilldownData.error');\n\t\tif (error && error !== prevError) {\n\t\t\tLOG.debug(\n\t\t\t\t'Unexpected error while fetching the requested page. Error object : ',\n\t\t\t\terror\n\t\t\t);\n\t\t}\n\t}\n\n\tswitchToOverviewMode() {\n\t\tconst { handleBackToResultsClick } = this.props;\n\t\thandleBackToResultsClick();\n\t}\n\n\tread(sysId, sysParmTerm, sysParamPage) {\n\t\t// Set reading to true then fetch data\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\titemsToShowPerPage: sysparmLimit\n\t\t} = this.props;\n\t\tdispatch(\n\t\t\tDRILLDOWN_FETCH,\n\t\t\t{\n\t\t\t\tsys_id: sysId,\n\t\t\t\tsysparm_limit: sysparmLimit,\n\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\tsysparm_term: sysParmTerm\n\t\t\t},\n\t\t\t{ sysId, sysParmTerm }\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdrilldownData,\n\t\t\tdrilledDownSection,\n\t\t\tdrilledDownSectionTitle,\n\t\t\tonRecordSelect,\n\t\t\tpage,\n\t\t\tterm,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<DrillDown\n\t\t\t\tdata={drilldownData}\n\t\t\t\tcurrentPage={page}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tresetDrillDownState={this.switchToOverviewMode}\n\t\t\t\tterm={term}\n\t\t\t\tsectionId={drilledDownSection}\n\t\t\t\tsectionTitle={drilledDownSectionTitle}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTabDrillDown.propTypes = {\n\tterm: PropTypes.string,\n\tonRecordSelect: PropTypes.func.isRequired,\n\titemsToShowPerPage: PropTypes.number.isRequired,\n\tpaginationDebounce: PropTypes.number.isRequired,\n\tpage: PropTypes.number,\n\tdrilldownData: drilldownDataShape,\n\thelpers: PropTypes.func.isRequired,\n\thandleBackToResultsClick: PropTypes.func.isRequired,\n\tdrilledDownSection: PropTypes.string.isRequired,\n\tdrilledDownSectionTitle: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTabDrillDown.defaultProps = {\n\tdrilldownData: undefined,\n\tpage: 1,\n\tterm: '',\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\titemsToShowPerPage:\n\t\t\tconfig.global_search_config.tab_drilldown_items_per_page,\n\t\tpaginationDebounce: config.global_search_config.tab_pagination_debounce\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(\n\tComponentWorkspaceGlobalSearchTabDrillDown\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport InvisibleContent from './InvisibleContent';\n\nfunction AriaLiveRegion({ message }) {\n\treturn (\n\t\t<InvisibleContent role=\"region\" aria-live=\"polite\">\n\t\t\t{t(message)}\n\t\t<\/InvisibleContent>\n\t);\n}\n\nAriaLiveRegion.propTypes = {\n\tmessage: PropTypes.string\n};\n\nAriaLiveRegion.defaultProps = {\n\tmessage: ''\n};\n\nexport default AriaLiveRegion;\n","import React from 'react';\nimport '@servicenow/now-button';\nimport PropTypes from 'prop-types';\nimport { isEmpty, get } from 'lodash';\n\nimport {\n\tPREVIOUS_APP,\n\tBACK_TO,\n\tBACK_BUTTON_TEXT_LIMIT,\n\tSESSION_USER_PATH\n} from '../constants';\n\n// returns user's sys_id and language if available in browser ux_globals object (set by UXF)\nconst _getUserInfoFromSession = () => {\n\tconst sessionInfo = window?.ux_globals?.session;\n\tconst userSessionInfo =\n\t\tsessionInfo && !isEmpty(sessionInfo) ? sessionInfo : {};\n\tif (isEmpty(userSessionInfo)) return undefined;\n\n\tconst { sys_id: sysId, language } = get(\n\t\tuserSessionInfo,\n\t\tSESSION_USER_PATH,\n\t\t{}\n\t);\n\treturn { sysId, language };\n};\n\nconst _getPreviousContext = () => {\n\tconst userInfo = _getUserInfoFromSession();\n\tlet previousContext;\n\n\t// previous search context is stored as 'sn.polaris.userSysID.searchPreviousContext.en' in browser storage\n\tif (userInfo && (userInfo.sysId || userInfo.language))\n\t\tpreviousContext =\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t`sn.polaris.${userInfo.sysId}.searchPreviousContext.${userInfo.language}`\n\t\t\t) ||\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t`sn.polaris.${userInfo.sysId}.searchPreviousContext`\n\t\t\t);\n\n\treturn !isEmpty(previousContext) ? previousContext : undefined;\n};\n\nconst _getAvailableLabel = (searchContext, label, isGlobal) => {\n\tif (isGlobal && searchContext && searchContext.value) {\n\t\tconst { value } = searchContext;\n\t\tconst { backButtonLabel } = JSON.parse(value);\n\n\t\treturn backButtonLabel;\n\t}\n\n\tif (!isGlobal && !isEmpty(label)) return label;\n\n\treturn undefined;\n};\n\nclass BackButton extends React.PureComponent {\n\trender() {\n\t\tconst { label, isLegacyWorkspace, isGlobal } = this.props;\n\n\t\tconst previousContext = _getPreviousContext();\n\t\tconst parsedPreviousContext = !isEmpty(previousContext)\n\t\t\t? JSON.parse(previousContext)\n\t\t\t: undefined;\n\n\t\tconst availableLabel = _getAvailableLabel(\n\t\t\tparsedPreviousContext,\n\t\t\tlabel,\n\t\t\tisGlobal\n\t\t);\n\n\t\tif (!isEmpty(availableLabel) && !isLegacyWorkspace) {\n\t\t\tconst labelDisplayValue =\n\t\t\t\tavailableLabel.length > BACK_BUTTON_TEXT_LIMIT\n\t\t\t\t\t? `${availableLabel.slice(0, BACK_BUTTON_TEXT_LIMIT)}...`\n\t\t\t\t\t: availableLabel;\n\n\t\t\treturn (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tclassName=\"global-search-context-back-button\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tappend-to-payload={{ type: PREVIOUS_APP }}\n\t\t\t\t\tconfig-aria={{ 'aria-label': `${BACK_TO} ${label}` }}>\n\t\t\t\t\t<span title={availableLabel}>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"arrow-start-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName=\"global-search-context-back-button-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{labelDisplayValue}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/now-button-bare>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nBackButton.propTypes = {\n\tlabel: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nexport default BackButton;\n","import React from 'react';\nimport '@servicenow/now-illustration';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-heading';\nimport { t } from 'sn-translate';\nimport PropTypes from 'prop-types';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport BackButton from './BackButton';\n\nclass NoResults extends React.PureComponent {\n\trender() {\n\t\tconst {\n\t\t\tterm,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst message = t('0 results for \"{0}\"', term);\n\t\treturn (\n\t\t\t<div className=\"sn-panel ng-scope tab-container\">\n\t\t\t\t<div className=\"sn-panel--row\">\n\t\t\t\t\t<div className=\"sn-panel sn-global-search no-results\">\n\t\t\t\t\t\t<div className=\"sn-panel--row sn-panel--row__static\">\n\t\t\t\t\t\t\t<div className=\"sn-panel--column\">\n\t\t\t\t\t\t\t\t<BackButton\n\t\t\t\t\t\t\t\t\tlabel={backButtonLabel}\n\t\t\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\t\t\tlabel={message}\n\t\t\t\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\t\t\t\tvariant=\"header-primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"sn-preserve-whitepsace\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<AriaLiveRegion message={message} />\n\t\t\t\t\t\t<div className=\"sn-panel--row sn-panel--row__static empty-state-container\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t\t\t'Try searching for something less specific or search within your lists.'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\theading={{\n\t\t\t\t\t\t\t\t\tlabel: t('No results for \"{0}\"', term),\n\t\t\t\t\t\t\t\t\tlevel: '3'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nNoResults.propTypes = {\n\tterm: PropTypes.string.isRequired,\n\tbackButtonLabel: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nexport default NoResults;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-button';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-text-link';\n\nimport {\n\tVIEW_ALL,\n\tNAVIGATE_TO_LIST_VIEW,\n\tGLOBAL_NAV_PREFIX,\n\tGLOBAL_SEARCH_CONTEXT\n} from '../constants';\nimport ResultRecords from './ResultRecords';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport { GOTO_LIST_VIEW_BUTTON_CLICKED } from '../actions';\n\nexport class Section extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.infoIconRef = null;\n\t\tthis.nodeRef = null;\n\t\tthis.linkRef = null;\n\t\tthis.getInfoIconRef = this.getInfoIconRef.bind(this);\n\t\tthis.getNodeRef = this.getNodeRef.bind(this);\n\t\tthis.getLinkRef = this.getLinkRef.bind(this);\n\t\tthis.onViewAllClick = this.onViewAllClick.bind(this);\n\t\tthis.navigateToListView = this.navigateToListView.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { focusLinkOnMount } = this.props;\n\t\tif (focusLinkOnMount && this.linkRef) {\n\t\t\tthis.linkRef.focus();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { scrollSectionIntoView } = this.props;\n\t\tif (scrollSectionIntoView && this.nodeRef) {\n\t\t\tthis.nodeRef.scrollIntoView(true);\n\t\t\tlet records = this.nodeRef.getElementsByClassName('focus-record');\n\t\t\tif (records && records[0]) records[0].focus();\n\t\t}\n\t}\n\n\tonViewAllClick() {\n\t\tconst { onViewAllClick } = this.props;\n\t\tif (this.isDrillDownViewAvailable && onViewAllClick) {\n\t\t\tconst sectionSysId = get(this.props, 'section');\n\t\t\tconst sectionTitle = get(this.props, 'data.name');\n\t\t\tonViewAllClick(sectionSysId, sectionTitle);\n\t\t}\n\t}\n\n\tnavigateToListView() {\n\t\tconst tableName = get(this.props, 'data.tableName');\n\t\tconst {overrideGotoListViewEvent, dispatch} = this.props;\n\t\t\n\t\tconst conditionOnSearchSource = get(\n\t\t\tthis.props,\n\t\t\t'data.condition.value',\n\t\t\t''\n\t\t);\n\t\tif (overrideGotoListViewEvent) {\n\t\t\tdispatch(GOTO_LIST_VIEW_BUTTON_CLICKED , {\n\t\t\t\ttableName,\n\t\t\t\tconditions: conditionOnSearchSource\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst searchSourceConditionUrlFormat = conditionOnSearchSource\n\t\t\t? `${encodeURIComponent(\n\t\t\t\t\t'^'\n\t\t\t  )}${conditionOnSearchSource}${encodeURIComponent(\n\t\t\t\t\t'&sysparm_first_row=1&sysparm_view='\n\t\t\t  )}`\n\t\t\t: `${encodeURIComponent('&sysparm_first_row=1&sysparm_view=')}`;\n\n\t\tconst term = encodeURIComponent(get(this.props, 'term'));\n\t\tconst currentUrl = window.top.location.href;\n\t\tlet newUrl = currentUrl.toString().split('now/')[0];\n\n\t\tconst urlExtension = `${GLOBAL_NAV_PREFIX}${tableName}_list.do${encodeURIComponent(\n\t\t\t'?sysparm_query=GOTO123TEXTQUERY321='\n\t\t)}${encodeURIComponent(\n\t\t\tterm\n\t\t)}${searchSourceConditionUrlFormat}`;\n\t\tconst navListUrl = newUrl.concat(urlExtension);\n\t\twindow.open(navListUrl, '_blank');\n\t}\n\n\tget isDrillDownViewAvailable() {\n\t\tconst { data, limitPerSource } = this.props;\n\t\treturn data.databaseRecordCount > limitPerSource;\n\t}\n\n\tgetInfoIconRef(el) {\n\t\tthis.infoIconRef = el;\n\t}\n\n\tgetNodeRef(el) {\n\t\tthis.nodeRef = el;\n\t}\n\n\tgetLinkRef(el) {\n\t\tthis.linkRef = el;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tsection,\n\t\t\tonRecordSelect,\n\t\t\tlimitPerSource,\n\t\t\thideResultsCount,\n\t\t\tisGlobal,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\tterm\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tname,\n\t\t\tcondition,\n\t\t\tdatabaseRecordCount,\n\t\t\ttableName,\n\t\t\trecords,\n\t\t\tdisplayFields\n\t\t} = data;\n\n\t\tconst visibleCount =\n\t\t\trecords.length >= limitPerSource ? limitPerSource : records.length;\n\n\t\tconst sectionHeaderText = hideResultsCount\n\t\t\t? name\n\t\t\t: t('{0} ({1} of {2})', name, visibleCount, databaseRecordCount);\n\n\t\tconst redactedRecords = databaseRecordCount - visibleCount;\n\t\tvar countWarning = undefined;\n\t\tif (\n\t\t\tredactedRecords > 0 &&\n\t\t\tvisibleCount < limitPerSource &&\n\t\t\tshowRedactionWarning\n\t\t) {\n\t\t\tif (hideResultsCount)\n\t\t\t\tcountWarning = t(\n\t\t\t\t\t'One or more records removed due to security constraints'\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tcountWarning = t(\n\t\t\t\t\t'{0} {1} removed due to security constraints',\n\t\t\t\t\tredactedRecords,\n\t\t\t\t\tredactedRecords > 1 ? t('records') : t('record')\n\t\t\t\t);\n\t\t}\n\n\t\tconst labelId = `section-${section}`;\n\n\t\tconst isExactMatch = name.includes('Exact Match');\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"global-search-records global-search-section\"\n\t\t\t\tref={this.getNodeRef}>\n\t\t\t\t<header\n\t\t\t\t\tclassName={`global-search-content--header${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`global-search-content${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tid={labelId}\n\t\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\t\tlabel={sectionHeaderText}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{condition && condition.value && (\n\t\t\t\t\t\t\t<div className=\"global-search-content--tooltip\">\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\tclassName=\"tooltip-focus\"\n\t\t\t\t\t\t\t\t\taria-describedby={`tooltip-${section}`}\n\t\t\t\t\t\t\t\t\ticon=\"circleInfoOutline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tref={this.getInfoIconRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\t\tid={`tooltip-${section}`}\n\t\t\t\t\t\t\t\t\tcontent={condition.display}\n\t\t\t\t\t\t\t\t\ttarget-ref={this.infoIconRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-section--content sn-section--content__static${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t{databaseRecordCount > limitPerSource && (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisGlobal ? 'global-text-link-content' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ticon-start=\"list-fill\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\ttype: VIEW_ALL,\n\t\t\t\t\t\t\t\t\tonClick: this.onViewAllClick\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t\t'View all {0}',\n\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t\t)}><\/now-button-bare>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isGlobal && !isExactMatch && (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisGlobal ? 'global-list-view-icon' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ticon-start=\"open-link-right-outline\"\n\t\t\t\t\t\t\t\tlabel={t('Go to list view')}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\ttype: NAVIGATE_TO_LIST_VIEW,\n\t\t\t\t\t\t\t\t\tonClick: this.navigateToListView\n\t\t\t\t\t\t\t\t}}><\/now-button-bare>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/header>\n\t\t\t\t<div>\n\t\t\t\t\t<ResultRecords\n\t\t\t\t\t\tariaLabelledBy={labelId}\n\t\t\t\t\t\tfieldOrder={displayFields}\n\t\t\t\t\t\tsection={section}\n\t\t\t\t\t\tsectionTableName={tableName}\n\t\t\t\t\t\trecords={records}\n\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{countWarning && showRedactionWarning && (\n\t\t\t\t\t<p className=\"global-search-content--redaction-warning\">\n\t\t\t\t\t\t{countWarning}\n\t\t\t\t\t<\/p>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSection.propTypes = {\n\tscrollSectionIntoView: PropTypes.bool,\n\tfocusLinkOnMount: PropTypes.bool,\n\tsection: PropTypes.string.isRequired,\n\tlimitPerSource: PropTypes.number.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonViewAllClick: PropTypes.func,\n\t// eslint-disable-next-line react/forbid-prop-types\n\tdata: PropTypes.object.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\tdispatch: PropTypes.func,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nSection.defaultProps = {\n\tfocusLinkOnMount: false,\n\tscrollSectionIntoView: false,\n\tonViewAllClick: () => undefined,\n\thideResultsCount: false,\n\tshowRedactionWarning: false,\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tlimitPerSource:\n\t\t\tconfig.global_search_config.tab_overview_items_per_section\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Section);\n","/**\n * Creates an object that handles click/enter/space common functionality\n */\nexport default (fn, optionalKeys = []) => ({\n\tonClick: fn,\n\tonKeyDown: (e) => {\n\t\tif (\n\t\t\te.key === ' ' ||\n\t\t\te.key === 'Enter' ||\n\t\t\toptionalKeys.includes(e.key)\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\tfn(e);\n\t\t}\n\t}\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createInteractionHandlers from '../../../utils/createInteractionhandlers';\n\nclass SkipToLink extends React.PureComponent {\n\trender() {\n        const { skipToCallback, id, className, href, displayText } = this.props;\n\t\treturn (\n\t\t\t<a\n\t\t\t\tid={id}\n\t\t\t\tclassName={className}\n\t\t\t\thref={href}\n\t\t\t\t{...createInteractionHandlers(skipToCallback)}>\n\t\t\t\t{displayText}\n\t\t\t<\/a>\n\t\t);\n\t}\n}\n\nSkipToLink.propTypes = {\n\tskipToCallback: PropTypes.func.isRequired,\n\tid: PropTypes.string.isRequired,\n\tclassName: PropTypes.string.isRequired,\n\thref: PropTypes.string.isRequired,\n\tdisplayText: PropTypes.string.isRequired\n};\n\nexport default SkipToLink;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport SkipToLink from './Tab/SkipToLink';\n\nimport '@servicenow/now-badge';\nimport '@servicenow/now-text-link';\n\nimport { SKIP_TO_LABEL, SIDEBAR_HEADER_LABEL } from '../constants';\n\nconst EXACT_MATCH_DATA = {\n\tsources: {\n\t\tEXACT_MATCH_SECTION: {\n\t\t\tname: t('Exact Match'),\n\t\t\trecords: [1],\n\t\t\tdatabaseRecordCount: 1\n\t\t}\n\t}\n};\n\nexport class Sidebar extends React.PureComponent {\n\trenderSection(rawData, sysId, hideResultsCount, index) {\n\t\tconst { onSidebarItemClick, isGlobal, setRef } = this.props;\n\t\tconst data = get(rawData, ['sources', sysId]);\n\t\tif (!data) return null;\n\t\tif (data.databaseRecordCount < 1) return null;\n\t\t// nds-scanner-disable-start\n\t\treturn (\n\t\t\t<li\n\t\t\t\tid={`sn-list-group-item-${sysId}`}\n\t\t\t\t{...(index === 0 && { ref: setRef })}\n\t\t\t\tkey={sysId}\n\t\t\t\tclassName={`sn-list-group--item${isGlobal ? ' -global' : ''}`}\n\t\t\t\tonClick={(e) => onSidebarItemClick(e, sysId)}\n\t\t\t\tonKeyDown={(e) => onSidebarItemClick(e, sysId)}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-labelledby={`sn-list-landmark-label sn-list-item-${sysId}`}>\n\t\t\t\t<a\n\t\t\t\t\tid={`sn-list-item-${sysId}`}\n\t\t\t\t\taria-label={`${SKIP_TO_LABEL} ${data.name}`}\n\t\t\t\t\tclassName={`sn-list-group--content${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t{data.name}\n\t\t\t\t<\/a>\n\t\t\t\t{hideResultsCount ? null : (\n\t\t\t\t\t<div className=\"sn-list-group--content snu-static\">\n\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tstatus=\"low\"\n\t\t\t\t\t\t\tvalue={data.databaseRecordCount}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tcolor={isGlobal ? 'low' : ''}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/li>\n\t\t);\n\t\t// nds-scanner-disable-stop\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tdisplayExactMatchSection,\n\t\t\tsearchSources,\n\t\t\thideResultsCount,\n\t\t\tisGlobal,\n\t\t\tskipToResultsLinkClicked,\n\t\t\tsetRef\n\t\t} = this.props;\n\n\t\tconst totalSources = get(data, 'sourceList.length', 0);\n\t\tconst totalRecordCount = get(data, 'responseRecordCount', 0);\n\n\t\tif (!displayExactMatchSection) {\n\t\t\tif (totalSources === 0 || totalRecordCount === 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`sn-panel mod-global-search${\n\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<div className=\"sn-section\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"sn-list-group sn-list-group__simple\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\t\t\taria-label={SIDEBAR_HEADER_LABEL}\n\t\t\t\t\t\t\t\tid=\"sn-list-landmark-label\"><\/div>\n\t\t\t\t\t\t\t<ul className=\"sn-list-group\" {...{ ref: setRef }}>\n\t\t\t\t\t\t\t\t{displayExactMatchSection &&\n\t\t\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\t\t\tEXACT_MATCH_DATA,\n\t\t\t\t\t\t\t\t\t\t'EXACT_MATCH_SECTION',\n\t\t\t\t\t\t\t\t\t\thideResultsCount\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{map(\n\t\t\t\t\t\t\t\t\tsearchSources,\n\t\t\t\t\t\t\t\t\t({ sys_id: sysId }, index) =>\n\t\t\t\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\t\t\t\thideResultsCount,\n\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t\t<SkipToLink skipToCallback={skipToResultsLinkClicked}\n\t\t\t\t\t\t\t\tid=\"skip-to-results\"\n\t\t\t\t\t\t\t\tclassName=\"skip-to-results-link\"\n\t\t\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\t\t\tdisplayText={t('Skip to results')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSidebar.propTypes = {\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonSidebarItemClick: PropTypes.func.isRequired,\n\tdisplayExactMatchSection: PropTypes.bool,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tsetRef: PropTypes.func,\n\tskipToResultsLinkClicked: PropTypes.func\n};\n\nSidebar.defaultProps = {\n\tdata: undefined,\n\tdisplayExactMatchSection: false,\n\thideResultsCount: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tsearchSources: config.search_sources\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Sidebar);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport ReactDOM from 'react-dom';\n\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport Section from './Section';\nimport Sidebar from './Sidebar';\nimport TabHeader from './Tab/TabHeader';\nimport TabBody from './Tab/TabBody';\nimport TabContainer from './Tab/TabContainer';\nimport { exactMatchDataShape } from '../propTypes';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport BackButton from './BackButton';\nimport SkipToLink from './Tab/SkipToLink';\nimport { SKIP_TO_SIDEBAR } from '../constants';\n\nexport class Overview extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tresultsRef: null,\n\t\t\tsidebarRef: null\n\t\t};\n\n\t\tthis.containerNode = null;\n\t\tthis.getContainerRef = this.getContainerRef.bind(this);\n\t\tthis.setSideBarRef = this.setSideBarRef.bind(this);\n\t\tthis.setResultsRef = this.setResultsRef.bind(this);\n\t\tthis.skipToResultsLinkClicked = this.skipToResultsLinkClicked.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.skipToSideBarLinkClicked = this.skipToSideBarLinkClicked.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.focusFirstElementFromRef = this.focusFirstElementFromRef.bind(\n\t\t\tthis\n\t\t);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst { term } = this.props;\n\t\tif (prevProps.term !== term && this.containerNode) {\n\t\t\tthis.containerNode.scrollTop = 0;\n\t\t}\n\t}\n\n\tfocusFirstElementFromRef(ref, className) {\n\t\tconst sectionContainer = ReactDOM.findDOMNode(ref);\n\t\tconst firstResult = sectionContainer.getElementsByClassName(\n\t\t\tclassName\n\t\t)[0];\n\t\tfirstResult.focus();\n\t}\n\n\tgetContainerRef(el) {\n\t\tthis.containerNode = el;\n\t}\n\n\tsetSideBarRef(node) {\n\t\tthis.setState({\n\t\t\tsidebarRef: node\n\t\t});\n\t}\n\n\tsetResultsRef(node) {\n\t\tthis.setState({\n\t\t\tresultsRef: node\n\t\t});\n\t}\n\n\tskipToSideBarLinkClicked() {\n\t\tthis.focusFirstElementFromRef(\n\t\t\tthis.state.sidebarRef,\n\t\t\t'sn-list-group--item'\n\t\t);\n\t}\n\n\tskipToResultsLinkClicked() {\n\t\tthis.focusFirstElementFromRef(this.state.resultsRef, 'focus-record');\n\t}\n\n\trenderSection(rawData, sysId, index, hideResultsCount) {\n\t\tconst {\n\t\t\tscrollIntoViewSection,\n\t\t\tonRecordSelect,\n\t\t\tonSectionDrillDown,\n\t\t\tisGlobal,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\tterm,\n\t\t\tdispatch,\n\t\t\toverrideGotoListViewEvent\n\t\t} = this.props;\n\t\tconst data = get(rawData, ['sources', sysId]);\n\t\tif (!data) return null;\n\t\tif (data.databaseRecordCount < 1) return null;\n\n\t\tconst shouldScrollIntoView = scrollIntoViewSection === sysId;\n\n\t\treturn (\n\t\t\t<Section\n\t\t\t\tkey={sysId}\n\t\t\t\tfocusLinkOnMount={index === 0}\n\t\t\t\tscrollSectionIntoView={shouldScrollIntoView}\n\t\t\t\tsection={sysId}\n\t\t\t\tdata={data}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tonViewAllClick={onSectionDrillDown}\n\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tterm={term}\n\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tterm,\n\t\t\tdata,\n\t\t\treading,\n\t\t\tisOverviewVisible,\n\t\t\texactMatchData,\n\t\t\texactMatchEnabled,\n\t\t\tsearchSources,\n\t\t\tonSectionDrillDown,\n\t\t\tonSidebarItemClick,\n\t\t\thideResultsCount,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal,\n\t\t\tselectedSearchContext,\n\t\t\toverrideGotoListViewEvent,\n\t\t\tdispatch\n\t\t} = this.props;\n\n\t\tconst hasExactMatch = exactMatchData && !!exactMatchData.sources;\n\n\t\tconst responseRecordCount = get(data, 'responseRecordCount', 0);\n\t\tconst totalRecordCount =\n\t\t\tresponseRecordCount + (exactMatchEnabled && hasExactMatch ? 1 : 0);\n\n\t\tlet headerTitle = '';\n\t\tif (reading) {\n\t\t\theaderTitle = t('Searching for \"{0}\"', term);\n\t\t} else if (hideResultsCount) {\n\t\t\theaderTitle = t('Results for \"{0}\"', term);\n\t\t} else {\n\t\t\theaderTitle = t(\n\t\t\t\t'{0} results for \"{1}\"',\n\t\t\t\ttotalRecordCount.toLocaleString(),\n\t\t\t\tterm\n\t\t\t);\n\t\t}\n\t\tconst indexOffset = hasExactMatch ? 1 : 0;\n\n\t\treturn (\n\t\t\t<TabContainer\n\t\t\t\tisVisible={isOverviewVisible}\n\t\t\t\tclassName=\"tab-results-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"global-search-container\"\n\t\t\t\t\tref={this.getContainerRef}>\n\t\t\t\t\t<SkipToLink\n\t\t\t\t\t\tskipToCallback={this.skipToSideBarLinkClicked}\n\t\t\t\t\t\tid=\"skip-to-sidebar\"\n\t\t\t\t\t\tclassName=\"skip-to-sidebar-link\"\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tdisplayText={SKIP_TO_SIDEBAR}\n\t\t\t\t\t/>\n\t\t\t\t\t<BackButton\n\t\t\t\t\t\tlabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t\t<TabHeader\n\t\t\t\t\t\ttitle={headerTitle}\n\t\t\t\t\t\tspinnerEnabled={reading}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t\t<TabBody setRef={this.setResultsRef}>\n\t\t\t\t\t\t{exactMatchEnabled &&\n\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\texactMatchData,\n\t\t\t\t\t\t\t\t'EXACT_MATCH_SECTION',\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\thideResultsCount\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{map(searchSources, ({ sys_id: sysId }, index) =>\n\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\tindex + indexOffset,\n\t\t\t\t\t\t\t\thideResultsCount,\n\t\t\t\t\t\t\t\tisGlobal\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/TabBody>\n\t\t\t\t<\/div>\n\t\t\t\t<Sidebar\n\t\t\t\t\tdata={data}\n\t\t\t\t\tonSectionDrillDown={onSectionDrillDown}\n\t\t\t\t\tonSidebarItemClick={onSidebarItemClick}\n\t\t\t\t\tdisplayExactMatchSection={\n\t\t\t\t\t\texactMatchEnabled && hasExactMatch\n\t\t\t\t\t}\n\t\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tsetRef={this.setSideBarRef}\n\t\t\t\t\tskipToResultsLinkClicked={this.skipToResultsLinkClicked}\n\t\t\t\t/>\n\t\t\t<\/TabContainer>\n\t\t);\n\t}\n}\n\nOverview.propTypes = {\n\tterm: PropTypes.string.isRequired,\n\tscrollIntoViewSection: PropTypes.string.isRequired,\n\treading: PropTypes.bool.isRequired,\n\tisOverviewVisible: PropTypes.bool.isRequired,\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonSectionDrillDown: PropTypes.func.isRequired,\n\tonSidebarItemClick: PropTypes.func.isRequired,\n\texactMatchData: exactMatchDataShape,\n\texactMatchEnabled: PropTypes.bool.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisLegacyWorkspace: PropTypes.bool,\n\tbackButtonLabel: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\tdispatch: PropTypes.func,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nOverview.defaultProps = {\n\tdata: undefined,\n\texactMatchData: undefined,\n\thideResultsCount: false,\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tsearchSources: config.search_sources,\n\t\texactMatchEnabled: config.global_search_config.exact_match_enabled\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Overview);\n","import get from 'lodash/get';\nimport has from 'lodash/has';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { createLog } from '../utils/Logger';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport shortSliceFirst from '../utils/shortSliceFirst';\nimport {\n\tEXACT_MATCH_FETCH,\n\tWORKSPACE_TEXT_SEARCH,\n\tSN_WS_SEARCH_TAB_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_BATCHED\n} from './actions';\nimport { ENUM_TAB_MODES, EXACT_MATCH_RECORD_PATH } from './constants';\nimport NoResults from './GlobalSearchResult/NoResults';\nimport Overview from './GlobalSearchResult/Overview';\nimport { exactMatchDataShape } from './propTypes';\n\nconst LOG = createLog('GlobalSearchTab Overview');\n\nconst _hasExactMatchRecords = (data) => {\n\tconst records = get(data, EXACT_MATCH_RECORD_PATH, []);\n\treturn records.length > 0;\n};\n\nexport class ComponentWorkspaceGlobalSearchTabOverview extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.readInChunks = this.readInChunks.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { term, itemsToShowPerSection, searchSources } = this.props;\n\t\tthis.readInChunks(term, itemsToShowPerSection, searchSources);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst {\n\t\t\tterm,\n\t\t\titemsToShowPerSection,\n\t\t\tmode,\n\t\t\tsearchSources,\n\t\t\tsearchErrors,\n\t\t\tresetOverviewState,\n\t\t\tbatchCount,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tconst currentTerm = term;\n\t\tconst prevTerm = prevProps.term;\n\t\tconst prevItemsToShowPerSection = prevProps.itemsToShowPerSection;\n\n\t\tif (\n\t\t\t(currentTerm && currentTerm !== prevTerm) ||\n\t\t\titemsToShowPerSection !== prevItemsToShowPerSection\n\t\t) {\n\t\t\tresetOverviewState();\n\t\t\tif (\n\t\t\t\t!this.getDataForTerm(currentTerm) ||\n\t\t\t\titemsToShowPerSection !== prevItemsToShowPerSection\n\t\t\t)\n\t\t\t\tthis.readInChunks(\n\t\t\t\t\tcurrentTerm,\n\t\t\t\t\titemsToShowPerSection,\n\t\t\t\t\tsearchSources\n\t\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.isChunkedReadComplete() &&\n\t\t\tsearchSources.length &&\n\t\t\tmode === ENUM_TAB_MODES.OVERVIEW\n\t\t) {\n\t\t\tconst error = searchErrors.getAggregatedError(\n\t\t\t\tsearchSources.length,\n\t\t\t\tLOG\n\t\t\t);\n\n\t\t\tdispatch(SN_WS_SEARCH_TAB_SEARCH_SUCCEEDED, {\n\t\t\t\terror,\n\t\t\t\tsearchTerm: currentTerm\n\t\t\t});\n\n\t\t\tif (error) {\n\t\t\t\tLOG.error(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDataForTerm(term) {\n\t\tconst { searchData } = this.props;\n\t\tif (searchData && searchData.term && searchData.term === term) {\n\t\t\treturn searchData;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tisSearching() {\n\t\tconst { searchSources, term, searchErrors } = this.props;\n\t\tconst searchData = this.getDataForTerm(term);\n\t\tconst sourceList = get(searchData, 'sourceList', []);\n\t\treturn searchSources.length !== sourceList.length + searchErrors.length;\n\t}\n\n\treadInChunks(sysParamTerm, sysParamLimit, sources, sysParamPage = 1) {\n\t\tif (!sources || sources.length == 0)\n\t\t\treturn;\n\n\t\tconst {\n\t\t\texactMatchEnabled,\n\t\t\tbatchCount,\n\t\t\tselectedSearchContext,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tif (sysParamTerm.length === 0) return;\n\n\t\tif (exactMatchEnabled) {\n\t\t\tdispatch(EXACT_MATCH_FETCH, {\n\t\t\t\tterm: sysParamTerm,\n\t\t\t\tsearchContextConfigId: selectedSearchContext\n\t\t\t});\n\t\t}\n\n\t\tif (batchCount > 0) {\n\t\t\t// Slice sources by batch count\n\t\t\tvar batches = shortSliceFirst(sources, batchCount);\n\t\t\t// Dispatch each batch (STRY52851474)\n\t\t\tbatches.forEach((batch) => {\n\t\t\t\tvar searchSourceIds = batch.map((i) => i.sys_id).join(',');\n\t\t\t\tdispatch(\n\t\t\t\t\tWORKSPACE_TEXT_SEARCH_BATCHED,\n\t\t\t\t\t{\n\t\t\t\t\t\tsysparm_search_sources: searchSourceIds,\n\t\t\t\t\t\tsysparm_limit: sysParamLimit,\n\t\t\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsearchParams: {\n\t\t\t\t\t\t\tsysparm_search_sources: searchSourceIds,\n\t\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\tsources.forEach((source) => {\n\t\t\t\tdispatch(\n\t\t\t\t\tWORKSPACE_TEXT_SEARCH,\n\t\t\t\t\t{\n\t\t\t\t\t\tsys_id: source.sys_id,\n\t\t\t\t\t\tsysparm_limit: sysParamLimit,\n\t\t\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsearchParams: {\n\t\t\t\t\t\t\tsys_id: source.sys_id,\n\t\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}\n\n\tisChunkedReadComplete() {\n\t\tconst { exactMatchData } = this.props;\n\n\t\tconst isFetching = exactMatchData && exactMatchData.isFetching;\n\t\treturn !this.isSearching() && !isFetching;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\texactMatchData,\n\t\t\tterm,\n\t\t\tsearchSources,\n\t\t\tonRecordSelect,\n\t\t\tonSectionDrillDown,\n\t\t\tsearchData,\n\t\t\thandleSidebarItemClick,\n\t\t\tscrollIntoViewSection,\n\t\t\tmode,\n\t\t\thideResultsCount,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal,\n\t\t\tbatchCount,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\thelpers: { dispatch },\n\t\t\toverrideGotoListViewEvent\n\t\t} = this.props;\n\t\tconst hasExactMatch = _hasExactMatchRecords(exactMatchData);\n\n\t\tif (!term) {\n\t\t\tLOG.debug(\n\t\t\t\t'Component was rendered without passing a term attribute.'\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<NoResults\n\t\t\t\t\tterm=\"\"\n\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (this.isChunkedReadComplete() && !hasExactMatch) {\n\t\t\tif (!searchSources.length) {\n\t\t\t\tLOG.debug('No search sources found');\n\t\t\t\treturn (\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm={term}\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!has(searchData, 'sourceList')) {\n\t\t\t\tLOG.debug('Component failed to retrieve API response.');\n\t\t\t\treturn (\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm={term}\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst data = this.getDataForTerm(term);\n\n\t\tconst recordCount = get(data, 'responseRecordCount', 0);\n\t\tif (recordCount < 1 && this.isChunkedReadComplete() && !hasExactMatch)\n\t\t\treturn (\n\t\t\t\t<NoResults\n\t\t\t\t\tterm={term}\n\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tconst isOverviewVisible = mode === ENUM_TAB_MODES.OVERVIEW;\n\t\treturn (\n\t\t\t<Overview\n\t\t\t\tterm={term}\n\t\t\t\tscrollIntoViewSection={scrollIntoViewSection}\n\t\t\t\treading={!this.isChunkedReadComplete()}\n\t\t\t\tisOverviewVisible={isOverviewVisible}\n\t\t\t\tdata={data}\n\t\t\t\tonSidebarItemClick={handleSidebarItemClick}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tonSectionDrillDown={onSectionDrillDown}\n\t\t\t\texactMatchData={exactMatchData}\n\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tbatchCount={batchCount}\n\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTabOverview.propTypes = {\n\tterm: PropTypes.string,\n\titemsToShowPerSection: PropTypes.number.isRequired,\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\texactMatchEnabled: PropTypes.bool.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tsearchData: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tresponseRecordCount: PropTypes.number,\n\t\tsourceList: PropTypes.array,\n\t\tsources: PropTypes.object\n\t}),\n\tsearchErrors: PropTypes.shape({\n\t\terrors: PropTypes.array,\n\t\tgetAggregatedError: PropTypes.func,\n\t\tlength: PropTypes.number\n\t}),\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonSectionDrillDown: PropTypes.func.isRequired,\n\tscrollIntoViewSection: PropTypes.string,\n\tmode: PropTypes.string.isRequired,\n\tisLegacyWorkspace: PropTypes.bool,\n\tbackButtonLabel: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\texactMatchData: exactMatchDataShape,\n\thelpers: PropTypes.func.isRequired,\n\tresetOverviewState: PropTypes.func.isRequired,\n\thandleSidebarItemClick: PropTypes.func.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\tbatchCount: PropTypes.number,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTabOverview.defaultProps = {\n\texactMatchData: undefined,\n\tscrollIntoViewSection: '',\n\tterm: '',\n\tsearchData: undefined,\n\tsearchErrors: new SearchSourceErrors(),\n\thideResultsCount: false,\n\tisGlobal: false,\n\tbatchCount: 0,\n\tshowRedactionWarning: false,\n\tselectedSearchContext: '',\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\titemsToShowPerSection:\n\t\t\tconfig.global_search_config.tab_overview_items_per_section,\n\t\tsearchSources: config.search_sources,\n\t\texactMatchEnabled: config.global_search_config.exact_match_enabled,\n\t\thideResultsCount:\n\t\t\tconfig.global_search_config.hide_search_results_count ||\n\t\t\tconfig.hideResultsCount,\n\t\tbatchCount: config.batchCount,\n\t\tshowRedactionWarning:\n\t\t\tconfig.global_search_config.show_search_result_redaction_warning ||\n\t\t\tconfig.showRedactionWarning\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(\n\tComponentWorkspaceGlobalSearchTabOverview\n);\n","/**\n *  Used to slice an array into equal chunks with the shortest chunk at the beginning\n * @param {Object[]} valueItems - Array to be chunked\n * @param {int} size - The size of the chunks\n */\nexport default (arr, size) => {\n    var remainder = arr.length%size;\n    if (remainder == 0)\n        remainder = size;\n    var batches = [];\n    batches.push(arr.splice(0, remainder));\n    while (arr.length > 0)\n        batches.push(arr.splice(0, size));\n    return batches;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Overview from './Overview';\n\n/**\n * A simple wrapper around overview meant to always display a loading state\n */\nexport class FetchConfigLoadingView extends React.PureComponent {\n\trender() {\n\t\tconst { term } = this.props;\n\t\treturn (\n\t\t\t<Overview\n\t\t\t\tterm={term}\n\t\t\t\tscrollIntoViewSection=\"\"\n\t\t\t\treading\n\t\t\t\tisOverviewVisible\n\t\t\t\tdata={null}\n\t\t\t\tonSidebarItemClick={() => {}}\n\t\t\t\tonRecordSelect={() => {}}\n\t\t\t\tonSectionDrillDown={() => {}}\n\t\t\t\texactMatchData={null}\n\t\t\t\thideResultsCount={false}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nFetchConfigLoadingView.propTypes = {\n\tterm: PropTypes.string.isRequired\n};\n\nexport default FetchConfigLoadingView;\n","import merge from 'lodash/merge';\nimport noop from 'lodash/noop';\nimport omit from 'lodash/omit';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport getBehaviorProp from '../behaviors/util/getBehaviorProp';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors/constants';\nimport { ConfigProvider } from '../lib/sn-component-workspace-config';\nimport createLegacyForceRender from '../utils/createLegacyForceRender';\nimport ErrorBoundary from '../utils/ErrorBoundary';\nimport GlobalSearchUtils, { KEY_CODES } from '../utils/GlobalSearchUtils';\nimport PresourceDefaults from '../utils/PresourceDefaults';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport SearchTabDrillDown from './ComponentWorkspaceGlobalSearchTabDrillDown';\nimport SearchTabOverview from './ComponentWorkspaceGlobalSearchTabOverview';\nimport FetchConfigLoadingView from './GlobalSearchResult/FetchConfigLoadingView';\nimport { ENUM_TAB_MODES } from './constants';\nimport { exactMatchDataShape } from './propTypes';\nimport style from './_componentWorkspaceGlobalSearchTab.scss';\nimport NoResults from './GlobalSearchResult/NoResults';\n\nconst getConfigFromSysProperties = () => {\n\tconst globalSearchConfig = {};\n\tconst paginationDebounce = GlobalSearchUtils.getSysPropertyAsNumber(\n\t\t'com.snc.agent_workspace.global_search.tab.pagination_debounce'\n\t);\n\tif (paginationDebounce) {\n\t\tglobalSearchConfig.tab_pagination_debounce = paginationDebounce;\n\t}\n\treturn { global_search_config: globalSearchConfig };\n};\n\nconst getGlobalSearchConfigPresourceData = (props) =>\n\tgetBehaviorProp(props, GLOBAL_SEARCH_CONFIG);\nconst getSearchSourcePresourceData = (props) =>\n\tgetBehaviorProp(props, SEARCH_SOURCE);\nconst getUserPreferencePresourceData = (props) =>\n\tgetBehaviorProp(props, USER_PREFERENCE);\n\nconst getResolvedConfigurations = (\n\tisLegacyWorkspace,\n\tprops,\n\tworkspaceConfigs\n) => {\n\tconst {\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tglobalSearchDataConfigId,\n\t\t\thideSearchResultsCount\n\t\t}\n\t} = props;\n\tconst snSearchSources = isLegacyWorkspace\n\t\t? getSearchSourcePresourceData(props)\n\t\t: workspaceConfigs.dataConfig;\n\tconst snUserPreferences = isLegacyWorkspace\n\t\t? getUserPreferencePresourceData(props)\n\t\t: workspaceConfigs.exactMatchPreference;\n\tconst snGlobalSearchConfig = isLegacyWorkspace\n\t\t? getGlobalSearchConfigPresourceData(props)\n\t\t: workspaceConfigs.viewConfig;\n\n\tsnGlobalSearchConfig.hide_search_results_count = isLegacyWorkspace\n\t\t? snGlobalSearchConfig.hide_search_results_count\n\t\t: hideSearchResultsCount;\n\n\tconst metadata = {\n\t\tviewSysId: isLegacyWorkspace ? null : globalSearchViewConfigId,\n\t\tdataSysId: isLegacyWorkspace ? null : globalSearchDataConfigId\n\t};\n\n\treturn {\n\t\tsnSearchSources,\n\t\tsnUserPreferences,\n\t\tsnGlobalSearchConfig,\n\t\tmetadata\n\t};\n};\n\nconst DEFAULT_CONFIG = {\n\tglobal_search_config: PresourceDefaults[GLOBAL_SEARCH_CONFIG],\n\tsearch_sources: [],\n\tmetadata: {}\n};\n\nclass ComponentWorkspaceGlobalSearchTab extends React.Component {\n\tstatic get MODES() {\n\t\treturn ENUM_TAB_MODES;\n\t}\n\n\tstate = {\n\t\tmode: this.constructor.MODES.OVERVIEW,\n\t\tdrilledDownSection: '',\n\t\tdrilledDownSectionTitle: '',\n\t\tscrollIntoViewSection: ''\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onRecordSelect = this.onRecordSelect.bind(this);\n\t\tthis.onSectionDrillDown = this.onSectionDrillDown.bind(this);\n\t\tthis.handleBackToResultsClick = this.handleBackToResultsClick.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.setForceRenderTimestamp = this.setForceRenderTimestamp.bind(this);\n\t\tthis.forceLegacyRender = createLegacyForceRender(\n\t\t\tthis.setForceRenderTimestamp\n\t\t);\n\t\tthis.resetOverviewState = this.resetOverviewState.bind(this);\n\t\tthis.handleSidebarItemClick = this.handleSidebarItemClick.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.forceLegacyRender(noop);\n\t}\n\n\tonRecordSelect(record, sourceId, newTab) {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tconst { table } = record;\n\t\tif (table) {\n\t\t\tGlobalSearchUtils.dispatchItemSelected(\n\t\t\t\tdispatch,\n\t\t\t\trecord,\n\t\t\t\tsourceId,\n\t\t\t\tnewTab\n\t\t\t);\n\t\t}\n\t}\n\n\tonSectionDrillDown(searchSourceId, searchSourceTitle) {\n\t\tthis.setState({\n\t\t\tmode: this.constructor.MODES.DRILL_DOWN,\n\t\t\tdrilledDownSection: searchSourceId,\n\t\t\tdrilledDownSectionTitle: searchSourceTitle,\n\t\t\tscrollIntoViewSection: ''\n\t\t});\n\t}\n\n\tget config() {\n\t\tconst { properties, workspaceConfigs } = this.props;\n\t\tconst { isLegacyWorkspace } = properties;\n\n\t\t// if going to use gql data, wait for response back\n\t\tif (!isLegacyWorkspace && !workspaceConfigs) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst {\n\t\t\tsnSearchSources,\n\t\t\tsnGlobalSearchConfig,\n\t\t\tsnUserPreferences,\n\t\t\tmetadata\n\t\t} = getResolvedConfigurations(\n\t\t\tisLegacyWorkspace,\n\t\t\tthis.props,\n\t\t\tworkspaceConfigs\n\t\t);\n\n\t\tconst configFromSysProperties = getConfigFromSysProperties();\n\t\tconst config = {\n\t\t\tglobal_search_config: {\n\t\t\t\t...snGlobalSearchConfig,\n\t\t\t\t...snUserPreferences\n\t\t\t},\n\t\t\tsearch_sources: snSearchSources,\n\t\t\tmetadata\n\t\t};\n\n\t\treturn merge({}, DEFAULT_CONFIG, config, configFromSysProperties);\n\t}\n\n\tsetForceRenderTimestamp(timestamp) {\n\t\t// eslint-disable-next-line react/no-unused-state\n\t\tthis.setState({ forceRender: timestamp });\n\t}\n\n\thandleBackToResultsClick() {\n\t\tthis.setState({ mode: this.constructor.MODES.OVERVIEW });\n\t}\n\n\thandleSidebarItemClick(event, section) {\n\t\tif (event.which === KEY_CODES.RETURN || event.type === 'click')\n\t\t\tthis.setState({ scrollIntoViewSection: section });\n\t}\n\n\tresetOverviewState() {\n\t\tthis.setState({\n\t\t\tscrollIntoViewSection: '',\n\t\t\tmode: ENUM_TAB_MODES.OVERVIEW,\n\t\t\tdrilledDownSection: ''\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsearchData,\n\t\t\tsearchErrors,\n\t\t\texactMatch,\n\t\t\tproperties: {\n\t\t\t\tterm,\n\t\t\t\tisLegacyWorkspace,\n\t\t\t\tbackButtonLabel,\n\t\t\t\tisGlobal,\n\t\t\t\tbatchCount,\n\t\t\t\tshowRedactionWarning,\n\t\t\t\tselectedSearchContext,\n\t\t\t\toverrideGotoListViewEvent\n\t\t\t},\n\t\t\tpage,\n\t\t\tisFetchingWorkspaceConfig,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmode,\n\t\t\tscrollIntoViewSection,\n\t\t\tdrilledDownSection,\n\t\t\tdrilledDownSectionTitle\n\t\t} = this.state;\n\n\t\tconst otherSeismicProps = omit(this.props, ['channels']);\n\t\tconst seismicProps = { ...otherSeismicProps };\n\t\tlet trimmedTerm = term;\n\t\tif (typeof trimmedTerm ===  'number')\n\t\t\ttrimmedTerm = String(trimmedTerm);\n\t\ttrimmedTerm = trimmedTerm ? trimmedTerm.trim() : '';\n\t\tconst configLoaded = this.config !== null;\n\n\t\tif (!term) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm=\"\"\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\n\t\t// Display a loading view while configurations are being fetched\n\t\tif (\n\t\t\tisFetchingWorkspaceConfig ||\n\t\t\t(!isLegacyWorkspace && !configLoaded && term)\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<ConfigProvider config={DEFAULT_CONFIG}>\n\t\t\t\t\t<FetchConfigLoadingView term={term} />\n\t\t\t\t<\/ConfigProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<ConfigProvider config={this.config}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-panel tab-container${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<SearchTabOverview\n\t\t\t\t\t\t\tsearchData={searchData}\n\t\t\t\t\t\t\tsearchErrors={searchErrors}\n\t\t\t\t\t\t\texactMatchData={exactMatch}\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tterm={trimmedTerm}\n\t\t\t\t\t\t\tonRecordSelect={this.onRecordSelect}\n\t\t\t\t\t\t\tonSectionDrillDown={this.onSectionDrillDown}\n\t\t\t\t\t\t\tresetOverviewState={this.resetOverviewState}\n\t\t\t\t\t\t\thandleSidebarItemClick={this.handleSidebarItemClick}\n\t\t\t\t\t\t\tscrollIntoViewSection={scrollIntoViewSection}\n\t\t\t\t\t\t\tmode={mode}\n\t\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tbatchCount={batchCount}\n\t\t\t\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-panel tab-container${\n\t\t\t\t\t\t\tmode !== ENUM_TAB_MODES.DRILL_DOWN ? ' hidden' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t{mode === ENUM_TAB_MODES.DRILL_DOWN && (\n\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t<SearchTabDrillDown\n\t\t\t\t\t\t\t\t\tdrilledDownSection={drilledDownSection}\n\t\t\t\t\t\t\t\t\tdrilledDownSectionTitle={\n\t\t\t\t\t\t\t\t\t\tdrilledDownSectionTitle\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thandleBackToResultsClick={\n\t\t\t\t\t\t\t\t\t\tthis.handleBackToResultsClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\t\t\tterm={trimmedTerm}\n\t\t\t\t\t\t\t\t\tpage={page || null}\n\t\t\t\t\t\t\t\t\tonRecordSelect={this.onRecordSelect}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/ConfigProvider>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTab.propTypes = {\n\texactMatch: exactMatchDataShape,\n\tproperties: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tinstanceId: PropTypes.string,\n\t\tglobalSearchDataConfigId: PropTypes.string,\n\t\tglobalSearchViewConfigId: PropTypes.string,\n\t\tisLegacyWorkspace: PropTypes.bool,\n\t\tbackButtonLabel: PropTypes.string,\n\t\tisGlobal: PropTypes.bool,\n\t\tbatchCount: PropTypes.number,\n\t\tshowRedactionWarning: PropTypes.bool\n\t}).isRequired,\n\tsearchData: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tresponseRecordCount: PropTypes.number,\n\t\tsourceList: PropTypes.array,\n\t\tsources: PropTypes.object\n\t}),\n\tsearchErrors: PropTypes.shape({\n\t\terrors: PropTypes.array\n\t}),\n\thelpers: PropTypes.func.isRequired,\n\tpage: PropTypes.number,\n\tworkspaceConfigs: PropTypes.shape({\n\t\tviewConfig: PropTypes.object,\n\t\tdataConfig: PropTypes.array,\n\t\texactMatchPreference: PropTypes.object\n\t}),\n\thideSearchResultsCount: PropTypes.bool,\n\toverrideGotoListViewEvent: PropTypes.bool,\n\tisFetchingWorkspaceConfig: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string\n};\n\nComponentWorkspaceGlobalSearchTab.defaultProps = {\n\texactMatch: undefined,\n\tsearchData: undefined,\n\tsearchErrors: new SearchSourceErrors(),\n\tpage: 1,\n\tworkspaceConfigs: undefined,\n\thideSearchResultsCount: false,\n\toverrideGotoListViewEvent: false,\n\tisFetchingWorkspaceConfig: false,\n\tproperties: {\n\t\tisGlobal: false,\n\t\tbatchCount: 0,\n\t\tshowRedactionWarning: false,\n\t\tselectedSearchContext: ''\n\t}\n};\n\nComponentWorkspaceGlobalSearchTab.style = `${style}`;\n\nexport default ComponentWorkspaceGlobalSearchTab;\n","export default function createLegacyForceRender(setForceRenderTimeStamp) {\n\treturn (fn, delay = 16) => {\n\t\tconst timestamp = new Date().getTime();\n\t\tfn();\n\t\tsetTimeout(() => setForceRenderTimeStamp(timestamp), delay);\n\t};\n}\n","export default (globalSearchViewConfigId, globalSearchDataConfigId) => {\n    return [{\n        type: 'TRANSFORM',\n        definitionSysId: '7e7ece495fd9921087a2067660731365',\n        inputValues: {\n            globalSearchViewConfigId: {\n                type: 'JSON_LITERAL',\n                value: globalSearchViewConfigId\n            },\n            globalSearchDataConfigId: {\n                type: 'JSON_LITERAL',\n                value: globalSearchDataConfigId\n            }\n        }\n    }]\n}","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nconst handleBootstrappedEffect = ({ state, dispatch }) => {\n\tconst { properties } = state;\n\tconst { globalSearchDataConfigId, globalSearchViewConfigId } = properties;\n\tif (globalSearchDataConfigId && globalSearchViewConfigId) {\n\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\tglobalSearchDataConfigId\n\t\t\t)\n\t\t});\n\t}\n};\n\nexport default handleBootstrappedEffect;\n","// EXACT_MATCH\nexport const EXACT_MATCH_FETCH = 'EXACT_MATCH_FETCH';\nexport const EXACT_MATCH_STARTED = 'EXACT_MATCH_STARTED';\nexport const EXACT_MATCH_SUCCEEDED = 'EXACT_MATCH_SUCCEEDED';\nexport const EXACT_MATCH_FAILED = 'EXACT_MATCH_FAILED';\n\n// USER PREF\nexport const USER_PREFERENCES_FETCH = 'USER_PREFERENCES_FETCH';\nexport const USER_PREFERENCES_SET = 'USER_PREFERENCES_SET';\nexport const USER_PREFERENCES_FETCH_STARTED = 'USER_PREFERENCES_FETCH_STARTED';\nexport const USER_PREFERENCES_FETCH_SUCCEEDED =\n\t'USER_PREFERENCES_FETCH_SUCCEEDED';\nexport const USER_PREFERENCES_FETCH_FAILED = 'USER_PREFERENCES_FETCH_FAILED';\nexport const USER_PREFERENCES_SET_STARTED = 'USER_PREFERENCES_SET_STARTED';\nexport const USER_PREFERENCES_SET_SUCCEEDED = 'USER_PREFERENCES_SET_SUCCEEDED';\nexport const USER_PREFERENCES_SET_FAILED = 'USER_PREFERENCES_SET_FAILED';\n\n// RECENT_ACTIONS\nexport const RECENT_ACTIONS_MODEL_SET = 'RECENT_ACTIONS_MODEL_SET';\n\n// TOOLTIP ACTIONS\nexport const HANDLE_TOOLTIP_CONTENT = 'HANDLE_TOOLTIP_CONTENT';\n\n// GLOBAL_SEARCH\nexport const GLOBAL_SEARCH_ACTION = 'GLOBAL_SEARCH_ACTION';\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const TERM_SEARCHED = 'TERM_SEARCHED';\n\n// SEARCH EXECUTED\nexport const SN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED';\nexport const SN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED';\n\n// CONFIGURATIONS\nexport const FETCH_CONFIGURATIONS = 'FETCH_CONFIGURATIONS';\nexport const FETCH_CONFIGURATIONS_FAILED = 'FETCH_CONFIGURATIONS_FAILED';\nexport const FETCH_CONFIGURATIONS_SUCCEEDED = 'FETCH_CONFIGURATIONS_SUCCEEDED';\nexport const FETCH_ALL_CONFIGURATIONS = 'FETCH_ALL_CONFIGURATIONS';\n\n// TRIGGER FIT RECALCULATON FOR POPOVER\nexport const FIT_RESIZE = 'FIT_RESIZE';\n\n// SEARCH CONTEXT SWITCH\nexport const CONTEXT_DROPDOWN_CLICKED = 'NOW_DROPDOWN#OPENED_SET';\nexport const CONTEXT_ITEM_SELECTED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED';\n\n// NOW BUTTON ICONIC CLEAR ICON CLICK\nexport const CLEAR_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\n// SEARCH ICON BUTTON\nexport const SEARCH_ICON_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\nexport const CANCEL_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n","import {\n\tUSER_PREFERENCES_FETCH,\n\tITEM_SELECTED\n} from '../../../componentWorkspaceGlobalSearchTypeahead/actions';\n\nimport { SN_WS_SEARCH_TAB_RECORD_CLICKED } from '../../actions';\n\nconst handleGlobalSearchActionEffect = ({ action, properties, dispatch }) => {\n\tconst { userPreferencesContext } = properties;\n\tif (action.payload.action === ITEM_SELECTED) {\n\t\tconst {\n\t\t\titem,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\tactionMetadata: { sourceId },\n\t\t\tnewTab,\n\t\t\ttitle\n\t\t} = action.payload;\n\t\tconst recordData = {\n\t\t\tdata: item,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl\n\t\t};\n\n\t\tdispatch(SN_WS_SEARCH_TAB_RECORD_CLICKED, {\n\t\t\ttable,\n\t\t\tsysId,\n\t\t\trecordUrl,\n\t\t\tnewTab,\n\t\t\ttitle\n\t\t});\n\n\t\tdispatch(USER_PREFERENCES_FETCH, {\n\t\t\tdata: recordData,\n\t\t\tname: userPreferencesContext,\n\t\t\tsourceId\n\t\t});\n\t}\n};\n\nexport default handleGlobalSearchActionEffect;\n","const handleTabExactMatchFailedEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\t...state.exactMatch,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleTabExactMatchFailedEffect;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED\n} from '../../actions';\n\nconst handleTabExactMatchFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/exactmatch?sysparm_term=:term&sysparm_search_context_config_id=:searchContextConfigId',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['term', 'searchContextConfigId'],\n\t\tstartActionType: EXACT_MATCH_STARTED,\n\t\tsuccessActionType: EXACT_MATCH_SUCCEEDED,\n\t\terrorActionType: EXACT_MATCH_FAILED\n\t}\n);\n\nexport default handleTabExactMatchFetchEffect;\n","const handleTabExactMatchStartedEffect = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTabExactMatchStartedEffect;\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nconst transformTabExactMatchResponse = (response) => {\n\tconst term = get(response, 'result.term');\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (!term || !record || !displayFields) return undefined;\n\n\treturn {\n\t\tterm,\n\t\tsources: {\n\t\t\tEXACT_MATCH_SECTION: {\n\t\t\t\tname: t('Exact Match'),\n\t\t\t\tcondition: '',\n\t\t\t\tdatabaseRecordCount: 1,\n\t\t\t\trecords: [record],\n\t\t\t\tdisplayFields\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport default transformTabExactMatchResponse;\n","import transformTabExactMatchResponse from './transformTabExactMatchResponse';\n\nconst handleTabExactMatchSucceededEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTabExactMatchResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleTabExactMatchSucceededEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tDRILLDOWN_FETCH_FAILED,\n\tDRILLDOWN_FETCH_STARTED,\n\tDRILLDOWN_FETCH_SUCCEEDED\n} from '../../actions';\n\nconst handleDrilldownFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/sources/:sys_id/textsearch',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['sys_id'],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term'],\n\t\tstartActionType: DRILLDOWN_FETCH_STARTED,\n\t\tsuccessActionType: DRILLDOWN_FETCH_SUCCEEDED,\n\t\terrorActionType: DRILLDOWN_FETCH_FAILED\n\t}\n);\n\nexport default handleDrilldownFetchEffect;\n","const handleDrilldownFetchFailedEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\tdrilldownData: {\n\t\t\t...state.drilldownData,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleDrilldownFetchFailedEffect;\n","const handleDrilldownFetchStartedEffect = ({ state, updateState, action }) => {\n\tconst { sysParmTerm: term, sysId } = action.meta;\n\tconst updatedState = {\n\t\t...state,\n\t\tdrilldownData: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t};\n\n\tif (!state.drilldownData) {\n\t\tupdateState(updatedState);\n\t\treturn;\n\t}\n\n\tconst {\n\t\tsourceSysId: drilldownSysId,\n\t\tterm: drilldownTerm\n\t} = state.drilldownData;\n\n\t// Don't clear out drilldown data if the section is the same\n\tif (drilldownSysId === sysId && drilldownTerm === term) {\n\t\tupdatedState.drilldownData = {\n\t\t\t...state.drilldownData,\n\t\t\t...updatedState.drilldownData\n\t\t};\n\t} else {\n\t\t// Reset page for every new drilldown\n\t\tupdatedState.page = 1;\n\t}\n\tupdateState(updatedState);\n};\n\nexport default handleDrilldownFetchStartedEffect;\n","import get from 'lodash/get';\n\nconst transformdrilldownResponse = (response) => {\n\tconst rawResult = get(response, 'result');\n\n\tif (!rawResult) return undefined;\n\n\tconst {\n\t\tresult_count: resultCount = 0,\n\t\tsearch_results: searchResults = [],\n\t\tsources = [],\n\t\tterm = ''\n\t} = rawResult;\n\n\tconst rawData = get(sources, [0]);\n\n\tif (!rawData) return undefined;\n\n\tconst { sys_id: sysId, name, condition, source_table: tableName } = rawData;\n\n\tconst sectionSearchResults = get(searchResults, [0]);\n\n\tif (!sectionSearchResults || sectionSearchResults.sys_id !== sysId)\n\t\treturn undefined;\n\n\tconst {\n\t\trecords,\n\t\trecord_count: databaseRecordCount,\n\t\tfields: displayFields\n\t} = sectionSearchResults;\n\n\tconst sourceData = {\n\t\tname: name.display,\n\t\tcondition,\n\t\tdatabaseRecordCount,\n\t\ttableName,\n\t\trecords,\n\t\tdisplayFields\n\t};\n\n\tconst sourceSysId = sysId;\n\n\tif (!sourceSysId || !term) return undefined;\n\n\treturn {\n\t\tsourceData,\n\t\tsourceSysId,\n\t\tresponseRecordCount: resultCount,\n\t\tterm\n\t};\n};\n\nexport default transformdrilldownResponse;\n","import transformdrilldownResponse from './transformDrilldownResponse';\n\nconst handleDrilldownFetchSucceededEffect = ({ updateState, action }) =>\n\tupdateState({\n\t\tdrilldownData: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformdrilldownResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleDrilldownFetchSucceededEffect;\n","const handleDrilldownPageUpdate = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\t...action.payload\n\t});\n\nexport default handleDrilldownPageUpdate;\n","const handleDrilldownControlPageUpdate = ({ updateState, action }) =>\n    updateState({\n        page: action.payload.value + 1\n    });\n\nexport default handleDrilldownControlPageUpdate;\n","const handleViewAllClickedEffect = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleViewAllClickedEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_FAILED\n} from '../../actions';\n\nconst handleTextSearch = createHttpEffect(\n\t'/api/now/v1/search/sources/:sys_id/textsearch',\n\t{\n\t\tbatch: false,\n\t\tpathParams: ['sys_id'],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term'],\n\t\tstartActionType: WORKSPACE_TEXT_SEARCH_STARTED,\n\t\tsuccessActionType: WORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\t\terrorActionType: WORKSPACE_TEXT_SEARCH_FAILED\n\t}\n);\n\nexport default handleTextSearch;\n","const shouldAddError = (searchErrors, nextError) =>\n\t!searchErrors.errors.filter(\n\t\t(error) =>\n\t\t\terror.searchTerm === nextError.searchTerm &&\n\t\t\terror.sysId === nextError.sysId\n\t).length;\n\nconst toSearchError = (action) => ({\n\t...action.payload,\n\tsysId: action.meta.searchParams.sys_id,\n\tsearchTerm: action.meta.searchParams.sysparm_term\n});\n\nconst handleTextSearchFailed = ({ state, updateState, action }) => {\n\tconst { searchErrors } = state;\n\tconst nextSearchErrors = shouldAddError(searchErrors, toSearchError(action))\n\t\t? searchErrors.add(toSearchError(action))\n\t\t: searchErrors;\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors: nextSearchErrors\n\t});\n};\n\nexport default handleTextSearchFailed;\n","import get from 'lodash/get';\nimport SearchSourceErrors from '../../../utils/SearchSourceErrors';\n\nconst handleTextSearchStarted = ({ state, updateState, action }) => {\n\tconst currentTerm = get(state, 'searchData.term');\n\tconst nextTerm = get(action, 'meta.searchParams.sysparm_term');\n\tconst searchErrors =\n\t\tcurrentTerm === nextTerm\n\t\t\t? state.searchErrors\n\t\t\t: new SearchSourceErrors();\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors\n\t});\n};\n\nexport default handleTextSearchStarted;\n","import find from 'lodash/find';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\n\nconst transformAResponse = (responseData, metadata) => {\n\tconst rawResult = get(responseData, 'result');\n\tif (!rawResult) return {};\n\n\tconst {\n\t\tresult_count: resultCount = 0,\n\t\tsearch_results: searchResults = [],\n\t\tsources = [],\n\t\tterm = ''\n\t} = rawResult;\n\n\tconst transformedSources = {};\n\tconst sourceList = [];\n\n\tsources.forEach((source) => {\n\t\tconst {\n\t\t\tsys_id: sysId,\n\t\t\tname,\n\t\t\tcondition,\n\t\t\tsource_table: sourceTable\n\t\t} = source;\n\t\tconst sectionSearchResults = find(searchResults, { sys_id: sysId });\n\t\tconst {\n\t\t\trecords,\n\t\t\trecord_count: recordCount,\n\t\t\tfields\n\t\t} = sectionSearchResults;\n\n\t\tif (sectionSearchResults) {\n\t\t\tsourceList.push(sysId);\n\t\t\ttransformedSources[sysId] = {\n\t\t\t\tname: name.display,\n\t\t\t\tcondition,\n\t\t\t\tdatabaseRecordCount: recordCount,\n\t\t\t\ttableName: sourceTable,\n\t\t\t\trecords,\n\t\t\t\tdisplayFields: fields\n\t\t\t};\n\t\t}\n\t});\n\n\tif (!transformedSources || sourceList.length === 0 || !term) return {};\n\n\treturn {\n\t\tsources: transformedSources,\n\t\tsourceList,\n\t\tresponseRecordCount: resultCount,\n\t\tterm,\n\t\tmetadata\n\t};\n};\n\nconst mergeGlobalSearchResponses = (currentData, responseData) => {\n\tconst { term } = currentData;\n\n\t// current data - A\n\tconst sourcesA = currentData.sources;\n\tconst sourceListA = currentData.sourceList;\n\tconst responseRecordCountA = currentData.responseRecordCount;\n\tconst { metadata } = currentData;\n\n\tconst transformedResponse = transformAResponse(responseData, metadata);\n\t// response - B\n\tconst sourcesB = transformedResponse.sources;\n\tconst sourceListB = transformedResponse.sourceList;\n\tconst responseRecordCountB = transformedResponse.responseRecordCount;\n\n\t// merging\n\tconst sources = merge(sourcesA, sourcesB);\n\tconst sourceList = Array.prototype.concat(sourceListA, sourceListB);\n\n\tconst responseRecordCount = responseRecordCountA + responseRecordCountB;\n\n\treturn {\n\t\tsources,\n\t\tsourceList,\n\t\tresponseRecordCount,\n\t\tterm,\n\t\tmetadata\n\t};\n};\n\nconst transformTextSearchOverview = (currentData, result, requestMetadata) => {\n\t// this is the first response\n\tconst {\n\t\tglobalSearchViewConfigId,\n\t\tglobalSearchDataConfigId\n\t} = requestMetadata;\n\tconst meta = { globalSearchViewConfigId, globalSearchDataConfigId };\n\n\tif (!currentData) return transformAResponse(result, meta);\n\n\tconst {\n\t\tterm: currentTerm,\n\t\tmetadata: {\n\t\t\tglobalSearchViewConfigId: prevGlobalSearchViewConfigId,\n\t\t\tglobalSearchDataConfigId: prevGlobalSearchDataConfigId\n\t\t}\n\t} = currentData;\n\n\tconst { term: resultTerm } = result.result;\n\n\t// new search, use new results\n\tif (\n\t\tcurrentTerm !== resultTerm ||\n\t\tglobalSearchViewConfigId !== prevGlobalSearchViewConfigId ||\n\t\tglobalSearchDataConfigId !== prevGlobalSearchDataConfigId\n\t) {\n\t\treturn transformAResponse(result, meta);\n\t}\n\n\treturn mergeGlobalSearchResponses(currentData, result);\n};\n\nexport default transformTextSearchOverview;\n","import transformTextSearchOverview from './transformTextSearchOverview';\n\nconst handleTextSearchSucceeded = ({ state, updateState, action }) => {\n\tconst {\n\t\tsearchData,\n\t\tproperties: { globalSearchDataConfigId, globalSearchViewConfigId }\n\t} = state;\n\tconst nextSearchData = transformTextSearchOverview(\n\t\tsearchData,\n\t\taction.payload,\n\t\t{\n\t\t\tglobalSearchDataConfigId,\n\t\t\tglobalSearchViewConfigId\n\t\t}\n\t);\n\n\tupdateState({\n\t\t...state,\n\t\tsearchData: nextSearchData\n\t});\n};\n\nexport default handleTextSearchSucceeded;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_FAILED_BATCHED\n} from '../../actions';\n\nconst handleTextSearchBatched = createHttpEffect(\n\t'/api/now/v1/search/sources/textsearch',\n\t{\n\t\tbatch: false,\n\t\tpathParams: [],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term', 'sysparm_search_sources'],\n\t\tstartActionType: WORKSPACE_TEXT_SEARCH_STARTED,\n\t\tsuccessActionType: WORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\t\terrorActionType: WORKSPACE_TEXT_SEARCH_FAILED_BATCHED\n\t}\n);\n\nexport default handleTextSearchBatched;\n","import SearchSourceErrors from \"../../../utils/SearchSourceErrors\";\n\nconst shouldAddError = (searchErrors, nextError) =>\n\t!searchErrors.errors.filter(\n\t\t(error) =>\n\t\t\terror.searchTerm === nextError.searchTerm &&\n\t\t\terror.sysId === nextError.sysId\n\t).length;\n\nconst toSearchError = (sourceId, action) => {\n\treturn {\n\t\t...action.payload,\n\t\tsysId: sourceId,\n\t\tsearchTerm: action.meta.searchParams.sysparm_term\n\t}\n};\n\nconst handleTextSearchFailedBatched = ({ state, updateState, action }) => {\n\tconst { searchErrors } = state;\n\tvar nextSearchErrors = searchErrors;\n\tfor (var sourceId of action.meta.searchParams.sysparm_search_sources.split(\",\")) {\n\t\tvar currentError = toSearchError(sourceId, action);\n\t\tif (shouldAddError(searchErrors, currentError))\n\t\t\tnextSearchErrors = nextSearchErrors.add(currentError);\n\t}\n\tupdateState({\n\t\t\t...state,\n\t\t\tsearchErrors: nextSearchErrors\n\t\t});\n};\n\nexport default handleTextSearchFailedBatched;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nconst setUserPreferenceMutation = `\n    mutation($name: String!, $value: String!) {\n        GlideDomain_Mutation {\n            user {\n                setPreference(name: $name, value: $value) {\n                    name\n                    value\n                }\n            }\n        }\n    }\n`;\n\nconst handleTypeaheadUserPreferenceSet = createGraphQLEffect(\n\tsetUserPreferenceMutation,\n\t{\n\t\tvariableList: ['name', 'value', 'data']\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceSet;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { USER_PREFERENCES_FETCH_SUCCEEDED } from '../../actions';\n\nconst userPreferenceQuery = `query($name: [String]!){\n    GlideDomain_Query {\n        user {\n            preferences(name: $name) {\n                name,\n                value\n            }\n        }\n    }\n}`;\n\nconst handleTypeaheadUserPreferenceFetch = createGraphQLEffect(\n\tuserPreferenceQuery,\n\t{\n\t\tvariableList: ['name', 'data', 'sourceId'],\n\t\tsuccessActionType: USER_PREFERENCES_FETCH_SUCCEEDED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceFetch;\n","import { createLog } from '../../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nexport default (userPreferences) => {\n\tlet recentActions;\n\n\tif (userPreferences && userPreferences.value) {\n\t\tconst rawData = userPreferences.value;\n\t\ttry {\n\t\t\trecentActions = JSON.parse(rawData);\n\t\t} catch (e) {\n\t\t\tLOG.warn(\n\t\t\t\t'An error occurred parsing a user preference value: ',\n\t\t\t\trawData\n\t\t\t);\n\t\t}\n\t}\n\n\treturn recentActions;\n};\n","class GlobalSearchModel {\n\tconstructor() {\n\t\tthis.totalResults = 0;\n\t\tthis.sources = [];\n\t\tthis.resultSectionsRecordLength = [];\n\t\tthis.mapSourceIdToSourceData = {};\n\t\tthis.mapTableNameToSourceId = {};\n\t}\n\n\t// total number of sources\n\tget totalSourcesRecieved() {\n\t\treturn this.sources.length;\n\t}\n\n\tget sections() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.mapSourceIdToSourceData[source.sys_id].record_count > 0\n\t\t\t)\n\t\t\t.map((source) => source.sys_id);\n\t}\n\n\tget sectionsFilteredByResponseCount() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.mapSourceIdToSourceData[source.sys_id].records.length >\n\t\t\t\t\t0\n\t\t\t)\n\t\t\t.map((source) => source.sys_id);\n\t}\n\n\tget size() {\n\t\treturn this.totalResults;\n\t}\n\n\tget dataSize() {\n\t\treturn this.totalResults - 1;\n\t}\n\n\tget filteredSectionRecordLengths() {\n\t\treturn this.resultSectionsRecordLength.filter((x) => x > 0);\n\t}\n\n\tget sectionRecordLengths() {\n\t\treturn this.resultSectionsRecordLength;\n\t}\n\n\tgetSectionIdByTableName(tableName) {\n\t\treturn this.mapTableNameToSourceId[tableName];\n\t}\n\n\tgetSourceData(sourceId) {\n\t\tconst data = this.mapSourceIdToSourceData[sourceId];\n\t\tif (!data) return {};\n\t\treturn data;\n\t}\n\n\tgetSectionRecordsBySectionId(sourceId) {\n\t\tconst { records } = this.getSourceData(sourceId);\n\t\tif (!records) return [];\n\t\treturn records;\n\t}\n\n\tgetSectionRecordCountBySectionId(sourceId) {\n\t\treturn this.getSourceData(sourceId).record_count;\n\t}\n\n\tgetSectionNameBySectionId(sourceId) {\n\t\treturn this.getSourceData(sourceId).name;\n\t}\n\n\tgetRecordsLengthBySectionId(sourceId) {\n\t\treturn this.getSectionRecordsBySectionId(sourceId).length;\n\t}\n\n\tgetDisplayFieldNamesBySourceId(sourceId) {\n\t\treturn this.getSourceData(sourceId).fields;\n\t}\n}\n\nexport default GlobalSearchModel;\n","import slice from 'lodash/slice';\nimport has from 'lodash/has';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport GlobalSearchModel from './GlobalSearchModel';\n\nconst RECENT_ACTION_SECTIONS = {\n\tITEM_SELECTED: 'ITEM_SELECTED',\n\tTERM_SEARCHED: 'TERM_SEARCHED'\n};\n\nconst MILLISECONDS_IN_A_DAY = 86400000;\n/*\n * this is based on the \"max length\" dictionary entry for value column in the user preference table\n * there is an assumption here that the platform counts the number of utf8 chars and not the number of bytes\n */\nconst DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS = 65000;\n\nclass RecentActionsModel extends GlobalSearchModel {\n\tstatic get SECTIONS() {\n\t\treturn RECENT_ACTION_SECTIONS;\n\t}\n\n\tstatic createNewRecentAction(section, actionRecord, meta = {}) {\n\t\tif (section === RecentActionsModel.SECTIONS.ITEM_SELECTED) {\n\t\t\tconst { table, sys_id: sysId } = actionRecord;\n\t\t\tif (!table || !sysId) return null;\n\t\t\treturn {\n\t\t\t\trecord: { table, sys_id: sysId },\n\t\t\t\t...meta,\n\t\t\t\tcreated: Date.now()\n\t\t\t};\n\t\t}\n\t\tif (section === RecentActionsModel.SECTIONS.TERM_SEARCHED) {\n\t\t\tif (typeof actionRecord !== 'string') return null;\n\t\t\treturn {\n\t\t\t\tterm: actionRecord,\n\t\t\t\tcreated: Date.now()\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tconstructor(\n\t\tresponse = { ITEM_SELECTED: [], TERM_SEARCHED: [] },\n\t\tmaxItems = 5,\n\t\tmaxTerms = 5,\n\t\tactionsTTLInDays = 30,\n\t\trecentlySearchedLabel = '',\n\t\trecentlyViewedLabel = ''\n\t) {\n\t\tsuper();\n\t\tthis.maxItems = maxItems;\n\t\tthis.maxTerms = maxTerms;\n\t\tthis.actionsTTLInDays = actionsTTLInDays;\n\t\tthis.recentlySearchedLabel = recentlySearchedLabel;\n\t\tthis.recentlyViewedLabel = recentlyViewedLabel;\n\t\tthis.itemData = [];\n\t\tthis.parse(response);\n\t\t// helps with the tests\n\t\tthis.DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS = DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS;\n\t}\n\n\tparse(recentActions) {\n\t\tthis.rawData = recentActions;\n\n\t\tthis.itemSelectedRecords = this.parseItemSelectedActions(\n\t\t\trecentActions.ITEM_SELECTED\n\t\t);\n\t\tthis.termSearchedRecords = this.parseTermSearchedActions(\n\t\t\trecentActions.TERM_SEARCHED\n\t\t);\n\n\t\tthis.sources = [\n\t\t\t{\n\t\t\t\tname: this.recentlySearchedLabel,\n\t\t\t\tid: RecentActionsModel.SECTIONS.TERM_SEARCHED\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: this.recentlySearchedViewedLabel,\n\t\t\t\tid: RecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t\t}\n\t\t];\n\n\t\tthis.resultSectionsRecordLength = [\n\t\t\tthis.termSearchedRecords.length,\n\t\t\tthis.itemSelectedRecords.length\n\t\t];\n\t\tthis.resultCount =\n\t\t\tthis.itemSelectedRecords.length + this.termSearchedRecords.length;\n\t\tthis.totalResults = this.resultCount;\n\n\t\tthis.mapSourceIdToSourceData[\n\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t] = {\n\t\t\trecord_count: this.itemSelectedRecords.length,\n\t\t\tname: this.recentlyViewedLabel,\n\t\t\trecords: []\n\t\t};\n\t\tthis.mapSourceIdToSourceData[\n\t\t\tRecentActionsModel.SECTIONS.TERM_SEARCHED\n\t\t] = {\n\t\t\trecord_count: this.termSearchedRecords.length,\n\t\t\tname: this.recentlySearchedLabel,\n\t\t\trecords: []\n\t\t};\n\n\t\tthis.itemSelectedRecords.forEach((recordObj) => {\n\t\t\tconst { table, __sourceId } = recordObj;\n\t\t\tthis.mapTableNameToSourceId[table] = __sourceId;\n\t\t\tthis.mapSourceIdToSourceData[\n\t\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t\t].records.push(recordObj);\n\t\t});\n\t}\n\n\tget data() {\n\t\treturn Object.assign({}, this.rawData);\n\t}\n\n\tfilterDeadActions() {\n\t\tconst now = Date.now();\n\t\tconst TTLInMS = this.actionsTTLInDays * MILLISECONDS_IN_A_DAY;\n\t\treturn (action) => {\n\t\t\tif (has(action, 'created')) {\n\t\t\t\tif (now - action.created < TTLInMS) return true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n\n\tget sectionsFilteredByResponseCount() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.getSectionRecordsBySectionId(source.id).length > 0\n\t\t\t)\n\t\t\t.map((section) => section.id);\n\t}\n\n\tgetSectionRecordsBySectionId(sourceId) {\n\t\tif (sourceId === RecentActionsModel.SECTIONS.ITEM_SELECTED)\n\t\t\treturn this.itemSelectedRecords;\n\t\tif (sourceId === RecentActionsModel.SECTIONS.TERM_SEARCHED)\n\t\t\treturn this.termSearchedRecords;\n\t\treturn undefined;\n\t}\n\n\tparseItemSelectedActions(actionRecords) {\n\t\treturn slice(actionRecords, 0, this.maxItems)\n\t\t\t.filter(this.filterDeadActions())\n\t\t\t.map((actionRecord) => {\n\t\t\t\tconst { record } = { ...actionRecord };\n\n\t\t\t\tif (record && actionRecord.sourceId) {\n\t\t\t\t\trecord.__sourceId = actionRecord.sourceId;\n\t\t\t\t\treturn record;\n\t\t\t\t}\n\t\t\t\treturn actionRecord.record;\n\t\t\t});\n\t}\n\n\tparseTermSearchedActions(actionRecords) {\n\t\treturn slice(actionRecords, 0, this.maxTerms)\n\t\t\t.filter(this.filterDeadActions())\n\t\t\t.map((actionRecord) => {\n\t\t\t\tif (typeof actionRecord === 'object')\n\t\t\t\t\treturn actionRecord.term || '';\n\t\t\t\tif (typeof actionRecord === 'string') return actionRecord || '';\n\t\t\t\treturn undefined;\n\t\t\t});\n\t}\n\n\taddRecentAction(section, actionData, metadata) {\n\t\tconst recentActions = this.data;\n\t\tif (section === RecentActionsModel.SECTIONS.ITEM_SELECTED) {\n\t\t\trecentActions.ITEM_SELECTED = recentActions.ITEM_SELECTED.filter(\n\t\t\t\t(action) => action.record.sys_id !== actionData.sys_id\n\t\t\t);\n\t\t\tconst actionRecord = RecentActionsModel.createNewRecentAction(\n\t\t\t\tsection,\n\t\t\t\tactionData,\n\t\t\t\tmetadata\n\t\t\t);\n\t\t\tif (actionRecord) {\n\t\t\t\trecentActions.ITEM_SELECTED.unshift(actionRecord);\n\t\t\t\tif (recentActions.ITEM_SELECTED.length > this.maxItems) {\n\t\t\t\t\trecentActions.ITEM_SELECTED = slice(\n\t\t\t\t\t\trecentActions.ITEM_SELECTED,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tthis.maxItems\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (section === RecentActionsModel.SECTIONS.TERM_SEARCHED) {\n\t\t\trecentActions.TERM_SEARCHED = recentActions.TERM_SEARCHED.filter(\n\t\t\t\t(action) => action.term !== actionData\n\t\t\t);\n\t\t\tconst actionRecord = RecentActionsModel.createNewRecentAction(\n\t\t\t\tsection,\n\t\t\t\tactionData,\n\t\t\t\tmetadata\n\t\t\t);\n\t\t\tif (actionRecord) {\n\t\t\t\trecentActions.TERM_SEARCHED.unshift(actionRecord);\n\t\t\t\tif (recentActions.TERM_SEARCHED.length > this.maxTerms) {\n\t\t\t\t\trecentActions.TERM_SEARCHED = slice(\n\t\t\t\t\t\trecentActions.TERM_SEARCHED,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tthis.maxTerms\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// if section is none of what we support\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringifiedJsonObject = this.prepareDataForStorage(\n\t\t\trecentActions,\n\t\t\tsection\n\t\t);\n\t\treturn stringifiedJsonObject;\n\t}\n\n\t// todo: handle .length to take care of utf8 characters\n\tdataCanBeStored(data) {\n\t\treturn data.length < this.DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS;\n\t}\n\n\tprepareDataForStorage(_recentActions, targetSection) {\n\t\tconst recentActions = cloneDeep(_recentActions);\n\t\tlet stringifiedData = JSON.stringify(recentActions);\n\t\t// try to popout older items 3 times from the target section\n\t\tfor (let i = 0; i < 3; i += 1) {\n\t\t\t// if data can be stored, return\n\t\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\t\treturn stringifiedData;\n\t\t\t}\n\t\t\trecentActions[targetSection].pop();\n\t\t\tstringifiedData = JSON.stringify(recentActions);\n\t\t}\n\n\t\t// return if data can now be stored after 3rd attempt to popoutExcess\n\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\treturn stringifiedData;\n\t\t}\n\t\t// if it still cannot be stored, clear the section completely and keep the most recently added data\n\t\trecentActions[targetSection] = [recentActions[targetSection].shift()];\n\t\tstringifiedData = JSON.stringify(recentActions);\n\n\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\treturn stringifiedData;\n\t\t}\n\t\t// if we still cannot store the data after clearing out the section, clear out everything and store nothing\n\n\t\treturn JSON.stringify({ ITEM_SELECTED: [], TERM_SEARCHED: [] });\n\t}\n}\n\nexport default RecentActionsModel;\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport parseUserPreferenceValue from './utils/parseUserPreferenceValue';\nimport { USER_PREFERENCES_SET } from '../../actions';\nimport { createLog } from '../../../utils/Logger';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\n\nconst LOG = createLog('handleTabUserPreferenceFetchSucceeded');\n\nconst addRecentAction = (\n\tdispatch,\n\tmodel,\n\ttype,\n\tactionData,\n\tmetadata,\n\tuserPrefName\n) => {\n\tconst stringifiedRecentActions = model.addRecentAction(\n\t\ttype,\n\t\tactionData,\n\t\tmetadata\n\t);\n\n\tdispatch(USER_PREFERENCES_SET, {\n\t\tname: userPrefName,\n\t\tvalue: stringifiedRecentActions\n\t});\n};\n\nconst getGlobalConfigs = (state) => {\n\tif (state.workspaceConfigs) {\n\t\treturn state.workspaceConfigs.viewConfig;\n\t}\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nconst handleTabUserPreferenceFetchSucceeded = (coeffects) => {\n\tconst { dispatch, state, properties, action } = coeffects;\n\tconst { errors } = action.payload;\n\tif (errors && errors.length > 0) {\n\t\terrors.forEach((e) => LOG.error(e.message));\n\t\treturn;\n\t}\n\n\tconst {\n\t\tpayload: { data: userPrefData },\n\t\tmeta: {\n\t\t\toptions: {\n\t\t\t\tvariables: { data, sourceId }\n\t\t\t}\n\t\t}\n\t} = action;\n\n\tconst { userPreferencesContext } = properties;\n\n\tconst userPreferencesQuery = get(userPrefData, 'GlideDomain_Query.user');\n\tconst userPreferences = userPreferencesQuery\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesQuery.preferences[0]\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tconst typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tt('Recently Searched'),\n\t\tt('Recently Viewed')\n\t);\n\n\taddRecentAction(\n\t\tdispatch,\n\t\ttypeaheadRecentActionsModel,\n\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED,\n\t\tdata,\n\t\t{ sourceId },\n\t\tuserPreferencesContext\n\t);\n};\nexport default handleTabUserPreferenceFetchSucceeded;\n","export const DATABROKER_URI_QUERY = '/api/now/uxf/databroker/exec';","/**\n * This bootstrapped effect is to fetch configuration data that would've otherwise been\n * fetched by presources in legacy workspace. In UIB-enabled workspace the presources\n * attached to sys_aw_master_config need to be migrated.\n */\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DATABROKER_URI_QUERY } from '../../../common/constants';\n\nimport {\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED\n} from '../../actions';\n\nconst handleFetchConfigurationsEffect = createHttpEffect(\n\tDATABROKER_URI_QUERY,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: FETCH_CONFIGURATIONS_SUCCEEDED,\n\t\terrorActionType: FETCH_CONFIGURATIONS_FAILED\n\t}\n);\n\nexport default handleFetchConfigurationsEffect;\n","import {\n\tglobalSearchConfigTransform,\n\tsearchSourcesTransform,\n\tuserPreferencesTransform\n} from '../../../behaviors/transforms';\n\nconst handleFetchConfigurationsSucceeded = ({ state, action, updateState }) => {\n\tconst { payload } = action;\n\tconst {\n\t\tproperties: { hideSearchResultsCount, showRedactionWarning }\n\t} = state;\n\tconst response = payload.result[0].executionResult.output;\n\n\tconst viewConfig = {\n\t\t...response.global_search_configs, \n\t\thide_search_results_count: hideSearchResultsCount, \n\t\tshow_search_result_redaction_warning: showRedactionWarning\n\t};\n\n\tconst dataConfig = searchSourcesTransform(response.search_sources, false);\n\n\tconst userPreferences = {};\n\tlet tsMatch = response.user_preferences['ts.match'];\n\tuserPreferences.exact_match_enabled = tsMatch ? tsMatch === 'true' : false;\n\n\tupdateState({\n\t\t...state,\n\t\tworkspaceConfigs: {\n\t\t\tviewConfig,\n\t\t\tdataConfig,\n\t\t\tuserPreferences\n\t\t},\n\t\tisFetchingWorkspaceConfig: false\n\t});\n};\n\nexport default handleFetchConfigurationsSucceeded;\n","import SearchSourceErrors from '../../../utils/SearchSourceErrors';\nimport { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTab Configurations');\n\nconst handleFetchConfigurationsFailed = ({ state, action, updateState }) => {\n\tconst { searchErrors } = state;\n\tconst errors = searchErrors || new SearchSourceErrors();\n\tconst nextSearchErrors = errors.add(action.payload);\n\n\tLOG.error('Component could not retrieve configuration.');\n\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors: nextSearchErrors\n\t});\n};\n\nexport default handleFetchConfigurationsFailed;\n","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nconst handlePropertyChangedEffect = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState\n}) => {\n\tconst {\n\t\tpayload: { name }\n\t} = action;\n\n\tconst {\n\t\tproperties: { globalSearchDataConfigId, globalSearchViewConfigId }\n\t} = state;\n\n\tif (\n\t\tname === 'globalSearchViewConfigId' ||\n\t\tname === 'globalSearchDataConfigId'\n\t) {\n\t\tif (globalSearchDataConfigId && globalSearchViewConfigId) {\n\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\tglobalSearchViewConfigId, \n\t\t\t\t\tglobalSearchDataConfigId\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tworkspaceConfigs: null,\n\t\t\t\tsearchData: null\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default handlePropertyChangedEffect;\n","import { BACK_BUTTON_CLICKED_EXTERNAL } from '../../actions';\nimport { NAVIGATE_TO_LIST_VIEW, PREVIOUS_APP } from '../../constants';\nimport { DRILL_DOWN, VIEW_ALL } from '../../constants';\n\nconst handleBackButtonClickedEffect = ({ state, dispatch, action }) => {\n\tconst {\n\t\tpayload: { type, onClick }\n\t} = action;\n\tconst {\n\t\tproperties: { selectedSearchContext }\n\t} = state;\n\n\tif (type === PREVIOUS_APP)\n\t\tdispatch(BACK_BUTTON_CLICKED_EXTERNAL, { selectedSearchContext });\n\telse if (\n\t\ttype === DRILL_DOWN ||\n\t\ttype === VIEW_ALL ||\n\t\ttype === NAVIGATE_TO_LIST_VIEW\n\t) {\n\t\tonClick();\n\t}\n};\n\nexport default handleBackButtonClickedEffect;\n","/**\n * Handy dandy proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import effectProxy from '../helpers/effectProxy'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\n\nexport default (effect) => (coeffects) =>\n\teffect.effect(...effect.args, coeffects);\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tDRILLDOWN_FETCH,\n\tDRILLDOWN_FETCH_FAILED,\n\tDRILLDOWN_FETCH_STARTED,\n\tDRILLDOWN_FETCH_SUCCEEDED,\n\tVIEW_ALL_CLICKED,\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_FETCH,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tPAGE_UPDATE,\n\tPAGE_CONTROL_UPDATE,\n\tUSER_PREFERENCES_SET,\n\tWORKSPACE_TEXT_SEARCH,\n\tWORKSPACE_TEXT_SEARCH_FAILED,\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_BATCHED,\n\tWORKSPACE_TEXT_SEARCH_FAILED_BATCHED,\n\tFETCH_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED,\n\tGLOBAL_SEARCH_ACTION,\n\tBACK_BUTTON_CLICKED,\n\tBACK_BUTTON_CLICKED_INTERNAL\n} from './actions';\nimport {\n\thandleDrilldownFetchEffect,\n\thandleDrilldownFetchFailedEffect,\n\thandleDrilldownFetchStartedEffect,\n\thandleDrilldownFetchSucceededEffect,\n\thandleDrilldownPageUpdate,\n\thandleDrilldownControlPageUpdate,\n\thandleViewAllClickedEffect,\n\thandleTabExactMatchFetchEffect,\n\thandleTabExactMatchFetchFailedEffect,\n\thandleTabExactMatchFetchStartedEffect,\n\thandleTabExactMatchFetchSucceededEffect,\n\thandleTextSearch,\n\thandleTextSearchFailed,\n\thandleTextSearchFailedBatched,\n\thandleTextSearchStarted,\n\thandleTextSearchSucceeded,\n\thandleTextSearchBatched,\n\thandleTabUserPreferenceFetchSucceeded,\n\thandleTabUserPreferenceFetch,\n\thandleTabUserPreferenceSet,\n\thandleBoostrappedEffect,\n\thandleFetchConfigurationsEffect,\n\thandleFetchConfigurationsSucceededEffect,\n\thandleFetchConfigurationsFailedEffect,\n\thandleGlobalSearchActionEffect,\n\thandlePropertyChangedEffect,\n\thandleBackButtonClickedEffect\n} from './effects';\nimport {\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH\n} from '../componentWorkspaceGlobalSearchTypeahead/actions';\n\nimport effectProxy from '../utils/effectProxy';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[PAGE_UPDATE]: {\n\t\teffect: handleDrilldownPageUpdate,\n\t\tstopPropagation: true\n\t},\n\t[PAGE_CONTROL_UPDATE]: {\n\t\teffect: handleDrilldownControlPageUpdate,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH]: effectProxy(handleTextSearch),\n\t[WORKSPACE_TEXT_SEARCH_STARTED]: {\n\t\teffect: handleTextSearchStarted,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_SUCCEEDED]: {\n\t\teffect: handleTextSearchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_FAILED]: {\n\t\teffect: handleTextSearchFailed,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_FAILED_BATCHED]: {\n\t\teffect: handleTextSearchFailedBatched,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_BATCHED]: effectProxy(handleTextSearchBatched),\n\t[DRILLDOWN_FETCH]: effectProxy(handleDrilldownFetchEffect),\n\t[DRILLDOWN_FETCH_FAILED]: {\n\t\teffect: handleDrilldownFetchFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[DRILLDOWN_FETCH_STARTED]: {\n\t\teffect: handleDrilldownFetchStartedEffect,\n\t\tstopPropagation: true\n\t},\n\t[DRILLDOWN_FETCH_SUCCEEDED]: {\n\t\teffect: handleDrilldownFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[VIEW_ALL_CLICKED]: {\n\t\teffect: handleViewAllClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FETCH]: effectProxy(handleTabExactMatchFetchEffect),\n\t[EXACT_MATCH_STARTED]: {\n\t\teffect: handleTabExactMatchFetchStartedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_SUCCEEDED]: {\n\t\teffect: handleTabExactMatchFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FAILED]: {\n\t\teffect: handleTabExactMatchFetchFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH]: effectProxy(handleTabUserPreferenceFetch),\n\t[USER_PREFERENCES_FETCH_SUCCEEDED]: {\n\t\teffect: handleTabUserPreferenceFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET]: effectProxy(handleTabUserPreferenceSet),\n\t[FETCH_CONFIGURATIONS]: handleFetchConfigurationsEffect,\n\t[FETCH_CONFIGURATIONS_SUCCEEDED]: {\n\t\teffect: handleFetchConfigurationsSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS_FAILED]: {\n\t\teffect: handleFetchConfigurationsFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: handleBoostrappedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChangedEffect,\n\t[GLOBAL_SEARCH_ACTION]: handleGlobalSearchActionEffect,\n\t[BACK_BUTTON_CLICKED]: handleBackButtonClickedEffect,\n\t[BACK_BUTTON_CLICKED_INTERNAL]: handleBackButtonClickedEffect\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_HIDE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t\t} else if ('TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.TOOLTIP_HIDE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t}, [\"TOOLTIP_SHOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t\t} else if ('TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.TOOLTIP_SHOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_24_3_12_index_jsdbx_389826b7__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { isEmpty } from 'lodash';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tpresourceFactory,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport ComponentWorkspaceGlobalSearchTab from './ComponentWorkspaceGlobalSearchTab';\nimport actionHandlers from './actionHandlers';\nimport style from './_componentWorkspaceGlobalSearchTab.scss';\n\nimport { DEFAULT_USER_PREFERENCES_NAME } from './constants';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst ELEMENT_NAME = 'sn-component-workspace-global-search-tab';\n/**\n *Allows users to view and drill down on the search results by search source.\n *\n * ```jsx\n * <sn-component-workspace-global-search-tab\n * \tterm=\"mac\"\n *      globalSearchViewConfigId=\"97a574ea53c0130084acddeeff7b12a6\"\n *      globalSearchDataConfigId=\"0ce0997f7320001052c7d5fdbdf6a746\"\n *      hideSearchResultsCount={false}\n * \tbackButtonLabel=\"Home\"\n * \tselectedSearchContext={{\n *  \t\t\"id\": \"now/nav/ui\",\n *  \t\t\"label\": \"Global\",\n *  \t\t\"context\": {\n *  \t    \t\"path\": \"now/nav/ui\",\n *  \t    \t\"experienceName\": \"Unified Navigation App\"\n * \t\t\t},\n *  \t\t\"route\": \"search\",\n *  \t\t\"searchDataConfigId\": \"c861cea2c7022010099a308dc7c26041\",\n *  \t\t\"searchViewConfigId\": \"0f8b85d0c7922010099a308dc7c2606a\",\n *  \t\t\"routeConfigId\": null,\n *  \t\t\"searchEnabled\": false,\n *  \t\t\"options\": {}\n * \t\t}}\n * \tbacthCount={3}\n * \tshowRedactionWarning={true}\n * />\n * ```\n *\n * @seismicElement sn-component-workspace-global-search-tab\n * @summary Displays search results by search source. Only for use in Workspace.\n */\nexport default createCustomElement(ELEMENT_NAME, {\n\tview: ComponentWorkspaceGlobalSearchTab,\n\tbehaviors: [\n\t\tpresourceFactory.get(SEARCH_SOURCE),\n\t\tpresourceFactory.get(GLOBAL_SEARCH_CONFIG),\n\t\tpresourceFactory.get(USER_PREFERENCE),\n\t\t{ behavior: rtlBehavior },\n\t\ttooltipBehavior\n\t],\n\trenderer: { type: react },\n\tinitialComponentState: {\n\t\tpage: 1,\n\t\tsearchErrors: new SearchSourceErrors(),\n\t\tworkspaceConfigs: null, // populated via gql if not legacy workspace\n\t\tisFetchingWorkspaceConfig: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Term used to perform the search.\n\t\t * @type {string}\n\t\t */\n\t\tterm: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Reference to a record in the sys_search_context_config table. Contains metadata about which search sources to use.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchDataConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reference to a record in the sys_aw_global_search_config table. Contains view configurations for the component.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, hides the search results count.\n\t\t * @type {boolean}\n\t\t */\n\t\thideSearchResultsCount: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, it dispatches the GOTO_LIST_VIEW_BUTTON_CLICKED event.\n\t\t * @type {boolean}\n\t\t */\n\t\toverrideGotoListViewEvent: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Current search context.\n\t\t * @type {object}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unique instance ID (optional).\n\t\t * @type {string}\n\t\t */\n\t\tinstanceId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property that indicates whether the component is rendered in UI Builder or a legacy workspace.\n\t\t */\n\t\tisLegacyWorkspace: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tglobalSearchViewConfigId\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !globalSearchDataConfigId && !globalSearchViewConfigId;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Label for back button (to take user to back to the previous application).\n\t\t * @type {string}\n\t\t */\n\t\tbackButtonLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know if it's being rendered in platform global search.\n\t\t */\n\t\tisGlobal: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tselectedSearchContext\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn (\n\t\t\t\t\t!isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(globalSearchDataConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for the namespace that selected records should be logged to\n\t\t * @type {string}\n\t\t */\n\t\tuserPreferencesContext: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tselectedSearchContext\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(globalSearchDataConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext)\n\t\t\t\t\t? `globalSearch.${selectedSearchContext}`\n\t\t\t\t\t: DEFAULT_USER_PREFERENCES_NAME;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Number of search sources to query in a single request. If <= 0, one source\n\t\t * is retrieved at a time.\n\t\t * @type {number}\n\t\t */\n\t\tbatchCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If records are missing in a section due to security constraints, then display a message like\n\t\t * \"8 records removed due to security constraints\" just after the results\n\t\t * @type {boolean}\n\t\t */\n\t\tshowRedactionWarning: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles: style,\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a user clicks a record from the results tab.\n\t\t * @type {{table: string, sysId: string, recordUrl: string, newTab: boolean}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#RECORD_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tsysId: { type: 'string' },\n\t\t\t\t\trecordUrl: { type: 'string' },\n\t\t\t\t\tnewTab: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the search has successfully finished. This action is dispatched whether or not\n\t\t * results are returned. The payload contains an error if there is an error during the search\n\t\t * and the search term used for the search.\n\t\t * @type {{error: object, searchTerm: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#SEARCH_SUCCEEDED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\terror: { type: 'object' },\n\t\t\t\t\tsearchTerm: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the back to previous application button (if configured) is clicked. The payload contains\n\t\t * currently selected search context information if it's passed in as selectedSearchContext property; otherwise\n\t\t * the payload will be empty.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#BACK_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\tcontext: { type: 'string' },\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tsearchDataConfigId: { type: 'string' },\n\t\t\t\t\tsearchViewConfigId: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the 'Go to ListView' button is clicked and the property overrideGotoListViewEvent is configured as true. The payload contains\n\t\t * currently selected search table and the table filter conditions\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#LIST_BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttableName: { type: 'string' },\n\t\t\t\t\tconditions: { type: 'string' },\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_PLACEHODLER = t('Search Workspace');\nexport const SEARCH_LABEL = t('Search');\nexport const CLEAR_LABEL = t('Clear');\nexport const SEARCH_CONTEXT_TRIGGER_LABEL = t('Choose search context');\n\nexport const LOADING_LABEL = t('Loading');\n\nexport const SEARCH_ALL_RECORDS = t('Search All Records');\nexport const VIEW_RESULTS = t('View results');\n\nexport const RESULTS_SECTION= t('Results Section');\nexport const RECENTLY_SEARCHED = t('Recently Searched');\nexport const RECENTLY_VIEWED = t('Recently Viewed');\n\nexport const ARIA_LIVE_REGION_TEMPLATE = 'Showing {0} results in {1} sections';\n\nexport const CLICK = 'click';\nexport const KEYDOWN = 'keydown';\nexport const TAB_KEY_CODE = 9;\n\nexport const GLOBAL_SEARCH_WIDTH = '356px';\nexport const GLOBAL_POPOVER_TOP_OFFSET = 2;\nexport const CONTEXT_SWITCH_TOP_OFFSET = 2;\n\nexport const MOBILE_MEDIA_WIDTH = '320px';\nexport const DROPDOWN_POSITION = ['bottom-end top-end'];\n\nexport const DEFAULT_USER_PREFERENCES_NAME =\n\t'workspace.globalSearch.recentActions';\n\nexport const WINDOW_SIZE = {\n\tEXPANDED: 'expanded',\n\tCOLLAPSED: 'collapsed',\n\tMOBILE: 'mobile'\n};\n\nexport const CANCEL_LABEL = t('Cancel');\nexport const GLOBAL_SEARCH_MOBILE_WIDTH = '300px';\n\nexport const GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH = {\n\tminWidth: 'target',\n\tmaxWidth: 244\n};\n\nexport const KNOWLEDGE_TABLE = 'kb_knowledge';\nexport const KNOWLEDGE_VIEW_PATH = '/kb_view.do?sys_kb_id=';\n","/**\n * Utils for ComponentWorkspaceGlobalSearchTypeahead\n */\n\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const isExactMatchPresent = (props, term) => {\n\tif (term === get(props, 'exactMatch.term'))\n\t\treturn get(props, 'exactMatch.hasExactMatch');\n\n\treturn false;\n};\n\nexport const canTermMatchExactly = (term, criterionRegex, exactMatchEnabled) =>\n\texactMatchEnabled && new RegExp(criterionRegex).test(term);\n\nexport const hasExactMatchReadingFinished = (\n\tprops,\n\tterm,\n\ttermCriterionRegex,\n\texactMatchEnabled\n) => {\n\tconst { exactMatch } = props;\n\tif (isEmpty(exactMatch)) return true;\n\n\tconst { isFetching } = exactMatch;\n\t// if we are not reading, we have either not started reading yet, or already finished reading\n\tif (!isFetching) {\n\t\tconst dataTerm = get(props, 'exactMatch.term');\n\t\tif (\n\t\t\t// if the dataTerm !== term, reading has not started\n\t\t\tdataTerm !== term &&\n\t\t\t//  make sure reading hasn't started only because we are never going to start it\n\t\t\tcanTermMatchExactly(term, termCriterionRegex, exactMatchEnabled)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn !isFetching;\n};\n","var __assign =\n\t(this && this.__assign) ||\n\tObject.assign ||\n\tfunction(t) {\n\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t\ts = arguments[i];\n\t\t\tfor (var p in s)\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t\t}\n\t\treturn t;\n\t};\nvar handleScroll = function(parent, _a) {\n\tvar { scrollLeft } = _a;\n\tvar { scrollTop } = _a;\n\tparent.scrollLeft = scrollLeft;\n\tparent.scrollTop = scrollTop;\n};\nexport default function calculate(target, options) {\n\tif (!target || !(target instanceof HTMLElement))\n\t\tthrow new Error('Element is required in scrollIntoViewIfNeeded');\n\tvar config = __assign({ handleScroll }, options);\n\tvar defaultOffset = { top: 0, right: 0, bottom: 0, left: 0 };\n\tconfig.offset = config.offset\n\t\t? __assign({}, defaultOffset, config.offset)\n\t\t: defaultOffset;\n\tfunction withinBounds(value, min, max, extent) {\n\t\tif (\n\t\t\tconfig.centerIfNeeded === false ||\n\t\t\t(max <= value + extent && value <= min + extent)\n\t\t) {\n\t\t\treturn Math.min(max, Math.max(min, value));\n\t\t}\n\t\treturn (min + max) / 2;\n\t}\n\tvar { offset } = config;\n\tvar offsetTop = offset.top;\n\tvar offsetLeft = offset.left;\n\tvar offsetBottom = offset.bottom;\n\tvar offsetRight = offset.right;\n\tfunction makeArea(left, top, width, height) {\n\t\treturn {\n\t\t\tleft: left + offsetLeft,\n\t\t\ttop: top + offsetTop,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tright: left + offsetLeft + width + offsetRight,\n\t\t\tbottom: top + offsetTop + height + offsetBottom,\n\t\t\ttranslate(x, y) {\n\t\t\t\treturn makeArea(\n\t\t\t\t\tx + left + offsetLeft,\n\t\t\t\t\ty + top + offsetTop,\n\t\t\t\t\twidth,\n\t\t\t\t\theight\n\t\t\t\t);\n\t\t\t},\n\t\t\trelativeFromTo(lhs, rhs) {\n\t\t\t\tvar newLeft = left + offsetLeft;\n\t\t\t\tvar newTop = top + offsetTop;\n\t\t\t\tlhs = lhs.offsetParent;\n\t\t\t\trhs = rhs.offsetParent;\n\t\t\t\tif (lhs === rhs) {\n\t\t\t\t\treturn area;\n\t\t\t\t}\n\t\t\t\tfor (; lhs; lhs = lhs.offsetParent) {\n\t\t\t\t\tnewLeft += lhs.offsetLeft + lhs.clientLeft;\n\t\t\t\t\tnewTop += lhs.offsetTop + lhs.clientTop;\n\t\t\t\t}\n\t\t\t\tfor (; rhs; rhs = rhs.offsetParent) {\n\t\t\t\t\tnewLeft -= rhs.offsetLeft + rhs.clientLeft;\n\t\t\t\t\tnewTop -= rhs.offsetTop + rhs.clientTop;\n\t\t\t\t}\n\t\t\t\treturn makeArea(newLeft, newTop, width, height);\n\t\t\t}\n\t\t};\n\t}\n\tvar parent;\n\tvar area = makeArea(\n\t\ttarget.offsetLeft,\n\t\ttarget.offsetTop,\n\t\ttarget.offsetWidth,\n\t\ttarget.offsetHeight\n\t);\n\twhile (\n\t\t(parent = target.parentNode) instanceof HTMLElement &&\n\t\ttarget !== config.boundary\n\t) {\n\t\tvar clientLeft = parent.offsetLeft + parent.clientLeft;\n\t\tvar clientTop = parent.offsetTop + parent.clientTop;\n\t\t// Make area relative to parent's client area.\n\t\tarea = area\n\t\t\t.relativeFromTo(target, parent)\n\t\t\t.translate(-clientLeft, -clientTop);\n\t\tvar scrollLeft = withinBounds(\n\t\t\tparent.scrollLeft,\n\t\t\tarea.right - parent.clientWidth,\n\t\t\tarea.left,\n\t\t\tparent.clientWidth\n\t\t);\n\t\tvar scrollTop = withinBounds(\n\t\t\tparent.scrollTop,\n\t\t\tarea.bottom - parent.clientHeight,\n\t\t\tarea.top,\n\t\t\tparent.clientHeight\n\t\t);\n\t\t// Pass the new coordinates to the handleScroll callback\n\t\tconfig.handleScroll(parent, { scrollLeft, scrollTop }, config);\n\t\t// Determine actual scroll amount by reading back scroll properties.\n\t\tarea = area.translate(\n\t\t\tclientLeft - parent.scrollLeft,\n\t\t\tclientTop - parent.scrollTop\n\t\t);\n\t\ttarget = parent;\n\t}\n}\n","// scroll-into-view-if-needed@1.4.0\nvar __assign =\n\t(this && this.__assign) ||\n\tObject.assign ||\n\tfunction(t) {\n\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t\ts = arguments[i];\n\t\t\tfor (var p in s)\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t\t}\n\t\treturn t;\n\t};\n\nimport calculate from './calculate';\nvar handleScroll = function(parent, _a, config) {\n\tvar { scrollLeft } = _a;\n\tvar { scrollTop } = _a;\n\tif (config.duration) {\n\t\t// Removed this block of code to avoid using the \"animator\" dependency\n\t} else {\n\t\tparent.scrollLeft = scrollLeft;\n\t\tparent.scrollTop = scrollTop;\n\t}\n};\nfunction isBoolean(options) {\n\treturn typeof options === 'boolean';\n}\nexport default function scrollIntoViewIfNeeded(\n\ttarget,\n\toptions,\n\tanimateOptions,\n\tfinalElement,\n\toffsetOptions\n) {\n\tif (offsetOptions === void 0) {\n\t\toffsetOptions = {};\n\t}\n\tif (!target || !(target instanceof HTMLElement))\n\t\tthrow new Error('Element is required in scrollIntoViewIfNeeded');\n\tvar config = { centerIfNeeded: false, handleScroll };\n\tif (isBoolean(options)) {\n\t\tconfig.centerIfNeeded = options;\n\t} else {\n\t\tconfig = __assign({}, config, options);\n\t}\n\tvar defaultOffset = { top: 0, right: 0, bottom: 0, left: 0 };\n\tconfig.offset = config.offset\n\t\t? __assign({}, defaultOffset, config.offset)\n\t\t: defaultOffset;\n\tif (animateOptions) {\n\t\tconfig.duration = animateOptions.duration;\n\t\tconfig.easing = animateOptions.easing;\n\t}\n\tif (finalElement) {\n\t\tconfig.boundary = finalElement;\n\t}\n\tif (offsetOptions.offsetTop) {\n\t\tconfig.offset.top = offsetOptions.offsetTop;\n\t}\n\tif (offsetOptions.offsetRight) {\n\t\tconfig.offset.right = offsetOptions.offsetRight;\n\t}\n\tif (offsetOptions.offsetBottom) {\n\t\tconfig.offset.bottom = offsetOptions.offsetBottom;\n\t}\n\tif (offsetOptions.offsetLeft) {\n\t\tconfig.offset.left = offsetOptions.offsetLeft;\n\t}\n\treturn calculate(target, config);\n}\n","import '@servicenow/now-label-value';\nimport get from 'lodash/get';\nimport keys from 'lodash/keys';\nimport pick from 'lodash/pick';\nimport trim from 'lodash/trim';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { t } from 'sn-translate';\nimport InvisibleContent from '../../common/InvisibleContent';\nimport getAccessibleDisplayValueMessage from '../../utils/getAccessibleDisplayValueMessage';\nimport { HANDLE_TOOLTIP_CONTENT } from './../actions';\n\nexport const MAX_FIELDS_ALLOWED = 4;\nexport const MAX_FIELDS_ALLOWED_GLOBAL = 2;\nclass ResultRecord extends React.PureComponent {\n\t\n\tgetDisplayValue = (field) => {\n\t\tconst displayValue = field.displayValue || field.display;\n\t\treturn displayValue && trim(displayValue).length ? displayValue : null;\n\t};\n\t\n\tgetLabel = (field, displayFields) => {\n\t\tif (!field || !displayFields) return null;\n\t\tconst displayField = displayFields.find(displayField => displayField.name === field);\n\t\treturn displayField ? displayField.label : field;\n\t}\n\t\n\tgetStackedValueItem = (label, value) => ({\n\t\tlabel,\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tvalue: this.getDisplayValue(value) || t('None')\n\t\t}\n\t});\n\t\n\tgetStackedValueItems = (record, displayFields, isGlobal) => {\n\t\tconst fields = keys(pick(record, displayFields.map(field => field.name)));\n\t\tconst maxItems = isGlobal ? MAX_FIELDS_ALLOWED_GLOBAL : MAX_FIELDS_ALLOWED;\n\t\tconst stackedValueItems = [];\n\t\tlet i = 0;\n\t\twhile (i < fields.length && stackedValueItems.length < maxItems) {\n\t\t\tconst field = fields[i++];\n\t\t\tif (field && field !== 'sys_id')\n\t\t\t\tstackedValueItems.push(\n\t\t\t\t\tthis.getStackedValueItem(\n\t\t\t\t\t\tthis.getLabel(field, displayFields),\n\t\t\t\t\t\trecord[field]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t}\n\t\treturn stackedValueItems;\n\t};\n\n\tgetRecordTitle = (record) => {\n\t\tconst rawTitle = trim(get(record, 'metadata.title', ''));\n\t\tconst recordTitle = rawTitle || t('No Title');\n\t\treturn recordTitle;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { active, dispatch, record } = this.props;\n\t\tif (active) {\n\t\t\tdispatch(HANDLE_TOOLTIP_CONTENT, {\n\t\t\t\ttooltipContent: this.getRecordTitle(record)\n\t\t\t})\n\t\t} \n\t}\n\n\trender() {\n\t\tconst {\n\t\t\trecord,\n\t\t\tdisplayFields,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst stackedValueItems = this.getStackedValueItems(\n\t\t\trecord.data,\n\t\t\tdisplayFields,\n\t\t\tisGlobal\n\t\t);\n\t\tconst recordTitle = this.getRecordTitle(record);\n\t\tconst serializedRecordValueId = `serializedRecordValue_${record.sys_id}`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\taria-describedby={serializedRecordValueId}\n\t\t\t\tclassName=\"sncwsgsta-record\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-list-group--item--title${\n\t\t\t\t\t\tisGlobal ? ' sn-global-result-record-title' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\taria-hidden>\n\t\t\t\t\t<span className=\"record-title\">{recordTitle}<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<now-label-value-stacked\n\t\t\t\t\talign=\"horizontal-equal\"\n\t\t\t\t\ttruncated\n\t\t\t\t\titems={stackedValueItems}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\taria-hidden\n\t\t\t\t/>\n\t\t\t\t<InvisibleContent id={serializedRecordValueId}>\n\t\t\t\t\t{getAccessibleDisplayValueMessage(\n\t\t\t\t\t\trecordTitle,\n\t\t\t\t\t\tstackedValueItems\n\t\t\t\t\t)}\n\t\t\t\t<\/InvisibleContent>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nResultRecord.propTypes = {\n\trecord: PropTypes.object.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdisplayFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tisGlobal: PropTypes.bool,\n\tactive: PropTypes.bool.isRequired,\n\tdispatch: PropTypes.func.isRequired\n};\n\nResultRecord.defaultProps = {\n\tisGlobal: false\n};\n\nexport default ResultRecord;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HANDLE_TOOLTIP_CONTENT } from './../actions';\n\nclass TermRecord extends React.PureComponent {\n\tcomponentDidUpdate() {\n\t\tconst { active, dispatch, record } = this.props;\n\t\tif (active) {\n\t\t\tdispatch(HANDLE_TOOLTIP_CONTENT, {\n\t\t\t\ttooltipContent: record\n\t\t\t})\n\t\t} \n\t}\n\n\trender() {\n\t\tconst { record } = this.props;\n\t\treturn (\n\t\t\t<div aria-label={record}>\n\t\t\t\t<span className=\"sn-list-group--content\">\n\t\t\t\t\t<span className=\"sn-preserve-whitepsace record-title\">{record}<\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nTermRecord.propTypes = {\n\trecord: PropTypes.string.isRequired\n};\n\nexport default TermRecord;\n","export const TYPEAHEAD_ITEM_LOOKUP = 'TYPEAHEAD_ITEM_LOOKUP';\nexport const TYPEAHEAD_ITEM_LOOKUP_STARTED = 'TYPEAHEAD_ITEM_LOOKUP_STARTED';\nexport const TYPEAHEAD_ITEM_LOOKUP_FAILED = 'TYPEAHEAD_ITEM_LOOKUP_FAILED';\nexport const TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED =\n\t'TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ResultRecord from '../TypeaheadPopover/ResultRecord';\nimport style from './_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss';\nimport { TYPEAHEAD_ITEM_LOOKUP } from './actions';\n\nclass ComponentWorkspaceGlobalSearchTypeaheadItemRecord extends React.PureComponent {\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tproperties: { table, sysId }\n\t\t} = this.props;\n\n\t\tthis.readItem(table, sysId);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst {\n\t\t\tproperties: { table, sysId }\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tproperties: { table: nextTable, sysId: nextSysId }\n\t\t} = nextProps;\n\n\t\tif (table !== nextTable || sysId !== nextSysId) {\n\t\t\tthis.readItem(nextTable, nextSysId);\n\t\t}\n\t}\n\n\treadItem(table, sysId) {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tif (!table || !sysId) return;\n\n\t\tdispatch(TYPEAHEAD_ITEM_LOOKUP, {\n\t\t\tsysparm_table_name: table,\n\t\t\tsysparm_item_sys_id: sysId\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttypeaheadItem,\n\t\t\tproperties: { isGlobal, active },\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tif (typeaheadItem && !typeaheadItem.isFetching) {\n\t\t\tconst { record, displayFields } = typeaheadItem;\n\t\t\treturn (\n\t\t\t\t<ResultRecord\n\t\t\t\t\trecord={record}\n\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tactive={active}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n}\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.propTypes = {\n\t// eslint-disable-next-line react/forbid-prop-types\n\ttypeaheadItem: PropTypes.object,\n\thelpers: PropTypes.func.isRequired,\n\tproperties: PropTypes.shape({\n\t\ttable: PropTypes.string,\n\t\tsysId: PropTypes.string,\n\t\tisGlobal: PropTypes.bool,\n\t\tactive: PropTypes.bool\n\t}).isRequired\n};\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.defaultProps = {\n\ttypeaheadItem: undefined\n};\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.style = style;\n\nexport default ComponentWorkspaceGlobalSearchTypeaheadItemRecord;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tTYPEAHEAD_ITEM_LOOKUP_STARTED,\n\tTYPEAHEAD_ITEM_LOOKUP_SUCCEEDED,\n\tTYPEAHEAD_ITEM_LOOKUP_FAILED\n} from '../actions';\n\nconst handleTypeaheadItemLookup = createHttpEffect(\n\t'/api/now/v1/search/itemlookup',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tqueryParams: ['sysparm_table_name', 'sysparm_item_sys_id'],\n\t\tstartActionType: TYPEAHEAD_ITEM_LOOKUP_STARTED,\n\t\tsuccessActionType: TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED,\n\t\terrorActionType: TYPEAHEAD_ITEM_LOOKUP_FAILED\n\t}\n);\n\nexport default handleTypeaheadItemLookup;\n","const handleTypeaheadItemLookupFailedEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\nexport default handleTypeaheadItemLookupFailedEffect;\n","const handleTypeaheadItemLookupStarted = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTypeaheadItemLookupStarted;\n","import get from 'lodash/get';\n\nconst transformTypeaheadItemLookupResponse = (response) => {\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (!record || !displayFields) return undefined;\n\n\treturn {\n\t\trecord,\n\t\tdisplayFields\n\t};\n};\n\nexport default transformTypeaheadItemLookupResponse;\n","import transformTypeaheadItemLookupResponse from './transformTypeaheadItemLookupResponse';\n\nconst handleTypeaheadItemLookupSucceeded = ({ state, updateState, action }) => {\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTypeaheadItemLookupResponse(action.payload)\n\t\t}\n\t});\n\tconst { getRecordClickDetails } = state.properties;\n\tgetRecordClickDetails(transformTypeaheadItemLookupResponse(action.payload));\n};\n\nexport default handleTypeaheadItemLookupSucceeded;\n","import {\n\tTYPEAHEAD_ITEM_LOOKUP,\n\tTYPEAHEAD_ITEM_LOOKUP_FAILED,\n\tTYPEAHEAD_ITEM_LOOKUP_STARTED,\n\tTYPEAHEAD_ITEM_LOOKUP_SUCCEEDED\n} from './actions';\nimport {\n\thandleTypeaheadItemLookup,\n\thandleTypeaheadItemLookupFailed,\n\thandleTypeaheadItemLookupStarted,\n\thandleTypeaheadItemLookupSucceeded\n} from './effects';\nimport effectProxy from '../../utils/effectProxy';\n\nexport default {\n\t[TYPEAHEAD_ITEM_LOOKUP]: effectProxy(handleTypeaheadItemLookup),\n\t[TYPEAHEAD_ITEM_LOOKUP_FAILED]: {\n\t\teffect: handleTypeaheadItemLookupFailed,\n\t\tstopPropagation: true\n\t},\n\t[TYPEAHEAD_ITEM_LOOKUP_STARTED]: {\n\t\teffect: handleTypeaheadItemLookupStarted,\n\t\tstopPropagation: true\n\t},\n\t[TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED]: {\n\t\teffect: handleTypeaheadItemLookupSucceeded,\n\t\tstopPropagation: true\n\t}\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport scrollIntoViewIfNeeded from '../lib/scroll-into-view-if-needed';\nimport isEmpty from 'lodash/isEmpty';\nimport trim from 'lodash/trim';\nimport get from 'lodash/get';\nimport ResultRecord from './ResultRecord';\nimport TermRecord from './TermRecord';\nimport { TOOLTIP_SHOW, TOOLTIP_HIDE } from '@servicenow/behavior-tooltip';\nimport { t } from 'sn-translate';\n\nimport '../componentWorkspaceGlobalSearchTypeaheadItemRecord/componentWorkspaceGlobalSearchTypeaheadItemRecordElement';\n\nexport const ENUM_TYPEAHEAD_RECORD_TYPES = {\n\tTERM: 1,\n\tRESULT: 2,\n\tSEARCH_ALL_ACTION: 3\n};\n\nclass TypeaheadRecord extends React.Component {\n\tstatic get TYPES() {\n\t\treturn ENUM_TYPEAHEAD_RECORD_TYPES;\n\t}\n\n\tstatic populateDisplayFields(displayFields) {\n\t\tif (displayFields) {\n\t\t\treturn displayFields.map((field) => field.name);\n\t\t}\n\t\treturn [];\n\t}\n\n\tshouldShowTooltipOnTruncation = (target) => {\n\t\t// identify the type of active result and grab the title container element\n\t\t// decide to show tooltip based on user preference and text overflow\n\t\tconst { type, showTooltipOnTruncation, displayFields } = this.props;\n\t\tlet recordContainer;\n\t\tif (type === this.constructor.TYPES.TERM) {\n\t\t\trecordContainer = target?.querySelector(\n\t\t\t\t'span.sn-list-group--content'\n\t\t\t);\n\t\t} else if (type === this.constructor.TYPES.RESULT) {\n\t\t\tif (displayFields && !isEmpty(displayFields)) {\n\t\t\t\trecordContainer = target?.querySelector('div.sncwsgsta-record');\n\t\t\t} else {\n\t\t\t\trecordContainer = target?.querySelector(\n\t\t\t\t\t'sn-component-workspace-global-search-typeahead-item-record'\n\t\t\t\t)?.shadowRoot;\n\t\t\t}\n\t\t}\n\t\tconst titleContainer = recordContainer?.querySelector(\n\t\t\t'span.record-title'\n\t\t);\n\t\treturn (\n\t\t\tshowTooltipOnTruncation &&\n\t\t\ttitleContainer?.offsetWidth < titleContainer?.scrollWidth\n\t\t);\n\t};\n\n\thandleTooltipShow = (dispatch, target) => {\n\t\tdispatch(TOOLTIP_SHOW, { target });\n\t};\n\n\thandleTooltipHide = (dispatch, target) => {\n\t\tdispatch(TOOLTIP_HIDE, { target });\n\t};\n\n\tcomponentDidMount() {\n\t\tconst { active } = this.props;\n\t\tif (active) {\n\t\t\tthis.scrollIntoView();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { active } = this.props;\n\t\tif (active) {\n\t\t\tthis.scrollIntoView();\n\t\t}\n\t}\n\n\tscrollIntoView() {\n\t\tif (this.elementRef) {\n\t\t\tconst centerIfNeeded = false;\n\t\t\tscrollIntoViewIfNeeded(this.elementRef, centerIfNeeded);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\trecord,\n\t\t\tdisplayFields,\n\t\t\tactive,\n\t\t\ttype,\n\t\t\tonRecordSelect,\n\t\t\tonMouseMove,\n\t\t\tsectionIndex,\n\t\t\trecordIndex,\n\t\t\tisGlobal,\n\t\t\ttooltipContent,\n\t\t\tdispatch,\n\t\t\tgetRecordClickDetails\n\t\t} = this.props;\n\t\t\n\t\tlet className = `sn-list-group--item ${active ? 'is-hover' : ''} ${\n\t\t\tisGlobal ? 'global-list-item' : ''\n\t\t}`;\n\t\tif (type === this.constructor.TYPES.TERM) {\n\t\t\tclassName += ' --term';\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={active}\n\t\t\t\tid={`sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tif (active) {\n\t\t\t\t\t\tthis.elementRef = ref;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tactive &&\n\t\t\t\t\t\tthis.shouldShowTooltipOnTruncation(this.elementRef)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.handleTooltipShow(dispatch, this.elementRef);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName={className}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonRecordSelect();\n\t\t\t\t\tthis.handleTooltipHide(dispatch, this.elementRef);\n\t\t\t\t}}\n\t\t\t\tonMouseMove={onMouseMove}\n\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\tonMouseEnter={this.handleTooltipShow(dispatch, this.elementRef)}\n\t\t\t\tonMouseLeave={this.handleTooltipHide(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tthis.elementRef\n\t\t\t\t)}>\n\t\t\t\t{(type === this.constructor.TYPES.TERM && (\n\t\t\t\t\t<TermRecord\n\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tactive={active}\n\t\t\t\t\t/>\n\t\t\t\t)) ||\n\t\t\t\t\t(type === this.constructor.TYPES.RESULT &&\n\t\t\t\t\t\tdisplayFields &&\n\t\t\t\t\t\t!isEmpty(displayFields) && (\n\t\t\t\t\t\t\t<ResultRecord\n\t\t\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)) || (\n\t\t\t\t\t\t<sn-component-workspace-global-search-typeahead-item-record\n\t\t\t\t\t\t\ttable={record.table}\n\t\t\t\t\t\t\tsys-id={record.sys_id}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\tgetRecordClickDetails={getRecordClickDetails}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t<\/li>\n\t\t);\n\t}\n}\n\nTypeaheadRecord.propTypes = {\n\trecord: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n\t\t.isRequired,\n\tactive: PropTypes.bool.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonMouseMove: PropTypes.func.isRequired,\n\ttype: PropTypes.oneOf(Object.values(TypeaheadRecord.TYPES)).isRequired,\n\t// eslint-disable-next-line react/forbid-prop-types\n\tdisplayFields: PropTypes.array,\n\tsectionIndex: PropTypes.number.isRequired,\n\trecordIndex: PropTypes.number.isRequired,\n\tisGlobal: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired\n};\n\nTypeaheadRecord.defaultProps = {\n\tdisplayFields: undefined,\n\tisGlobal: false\n};\n\nexport default TypeaheadRecord;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport ComponentWorkspaceGlobalSearchTypeaheadItemRecord from './ComponentWorkspaceGlobalSearchTypeaheadItemRecord';\nimport actionHandlers from './actionHandlers';\nimport style from './_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nexport default createCustomElement(\n\t'sn-component-workspace-global-search-typeahead-item-record',\n\t{\n\t\tview: ComponentWorkspaceGlobalSearchTypeaheadItemRecord,\n\t\trenderer: { type: react },\n\t\tactionHandlers,\n\t\tproperties: {\n\t\t\tsysId: {\n\t\t\t\tdefault: undefined\n\t\t\t},\n\t\t\ttable: {\n\t\t\t\tdefault: undefined\n\t\t\t},\n\t\t\tisGlobal: {\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tgetRecordClickDetails:{\n\t\t\t\tdefault: () => {}\n\t\t\t}\n\t\t},\n\t\tbehaviors: [{ behavior: rtlBehavior }, tooltipBehavior],\n\t\tstyles: style\n\t}\n);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { map } from 'lodash';\nimport find from 'lodash/find';\nimport '@servicenow/now-heading';\n\nimport TypeaheadRecord from './TypeaheadRecord';\n\nclass ResultSection extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tonResultClickData: {}\n\t\t};\n\t\tthis.recordDetails = [];\n\t\tthis.getRecordClickDetails = this.getRecordClickDetails.bind(this);\n\t}\n\n\tgetRecordClickDetails(data) {\n\t\tvar recordClickDetails = {\n\t\t\ttitle: data.record.metadata.title,\n\t\t\trecord_url: data.record.record_url,\n\t\t\ttable: data.record.table,\n\t\t\tsys_id: data.record.sys_id\n\t\t};\n\n\t\tthis.recordDetails.push(recordClickDetails);\n\t\tthis.setState({\n\t\t\tonResultClickData: this.recordDetails\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tresults,\n\t\t\tdisplayFields,\n\t\t\tname,\n\t\t\tactiveRecordIndex,\n\t\t\tonRecordSelect,\n\t\t\tonMouseMove,\n\t\t\tsourceId,\n\t\t\tsectionIndex,\n\t\t\tisGlobal,\n\t\t\tisVisible,\n\t\t\tdispatch,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation\n\t\t} = this.props;\n\n\t\tconst headingComp = isGlobal ? (\n\t\t\t<span\n\t\t\t\tclassName=\"result-section-heading--global\"\n\t\t\t\tid={`result-section-header-global-${sectionIndex}`}>\n\t\t\t\t{name.toUpperCase()}\n\t\t\t<\/span>\n\t\t) : (\n\t\t\t<now-heading\n\t\t\t\thas-no-margin\n\t\t\t\taria-label={name}\n\t\t\t\tlabel={name}\n\t\t\t\tlevel=\"2\"\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`result-section-header-global-${sectionIndex}`}\n\t\t\t\tclassName=\"sn-list-ul-group\">\n\t\t\t\t<li\n\t\t\t\t\tclassName={`sn-list-group--header ${\n\t\t\t\t\t\tisGlobal ? 'section-header-global' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\tid={`sncwsgs-typeahead-section-header-${sectionIndex}`}\n\t\t\t\t\trole=\"presentation\">\n\t\t\t\t\t<span className=\"sn-list-group--content\">\n\t\t\t\t\t\t{headingComp}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span className=\"sn-list-group--content\" />\n\t\t\t\t<\/li>\n\t\t\t\t{map(results, (record, recordIndex) => (\n\t\t\t\t\t<TypeaheadRecord\n\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\ttypeof record === 'string'\n\t\t\t\t\t\t\t\t? TypeaheadRecord.TYPES.TERM\n\t\t\t\t\t\t\t\t: TypeaheadRecord.TYPES.RESULT\n\t\t\t\t\t\t}\n\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\t\tkey={recordIndex}\n\t\t\t\t\t\trecordIndex={recordIndex}\n\t\t\t\t\t\tsectionIndex={sectionIndex}\n\t\t\t\t\t\tonRecordSelect={onRecordSelect(\n\t\t\t\t\t\t\tfind(this.state.onResultClickData, function(rec) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\trec.sys_id === record.sys_id &&\n\t\t\t\t\t\t\t\t\trec.table === record.table\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})  || record\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonMouseMove={() => onMouseMove(recordIndex)}\n\t\t\t\t\t\tactive={recordIndex === activeRecordIndex}\n\t\t\t\t\t\tsourceId={record.__sourceId || sourceId}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tisVisible={isVisible}\n\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\tgetRecordClickDetails={this.getRecordClickDetails}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/ul>\n\t\t);\n\t}\n}\n\nResultSection.propTypes = {\n\tname: PropTypes.string.isRequired,\n\tresults: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonMouseMove: PropTypes.func.isRequired,\n\tactiveRecordIndex: PropTypes.number.isRequired,\n\tsourceId: PropTypes.string.isRequired,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\tsectionIndex: PropTypes.number.isRequired,\n\tisGlobal: PropTypes.bool,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired\n};\n\nResultSection.defaultProps = {\n\tdisplayFields: undefined,\n\tisGlobal: false\n};\n\nexport default ResultSection;\n","import { ENUM_TYPEAHEAD_RECORD_TYPES } from '../TypeaheadPopover/TypeaheadRecord';\nimport RecentActionsModel from '../../utils/RecentActionsModel';\n\nexport const NAVIGATION_DIRECTIONS = {\n\tUP: 'up',\n\tDOWN: 'down'\n};\n\nclass NavigationWrapper {\n\tstatic get DIRECTIONS() {\n\t\treturn NAVIGATION_DIRECTIONS;\n\t}\n\n\tstatic getUpdatedIndex(dataModel, index, type) {\n\t\tif (dataModel.size === 0) return undefined;\n\n\t\tif (type === NavigationWrapper.DIRECTIONS.UP) {\n\t\t\tlet previousRecord = (index - 1) % dataModel.size;\n\t\t\tif (index === 0) {\n\t\t\t\tpreviousRecord = dataModel.size - 1;\n\t\t\t} else if (index === dataModel.size - 1) {\n\t\t\t\tpreviousRecord = index - 1;\n\t\t\t}\n\t\t\treturn previousRecord;\n\t\t}\n\t\tif (type === NavigationWrapper.DIRECTIONS.DOWN) {\n\t\t\tlet nextRecord = (index + 1) % dataModel.size;\n\t\t\tif (index === dataModel.size - 1) {\n\t\t\t\tnextRecord = 0;\n\t\t\t}\n\t\t\treturn nextRecord;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic getRecordBySectionAndRecordIndex(\n\t\tdataModel,\n\t\tsectionIndex,\n\t\trecordIndex\n\t) {\n\t\tconst sectionId =\n\t\t\tdataModel.sectionsFilteredByResponseCount[sectionIndex];\n\t\tconst records = dataModel.getSectionRecordsBySectionId(sectionId);\n\t\tconst record = records[recordIndex];\n\t\treturn record;\n\t}\n\n\tstatic getRecord(dataModel, flattenedIndex = -1) {\n\t\tif (flattenedIndex === -1) {\n\t\t\treturn {};\n\t\t}\n\t\tconst {\n\t\t\tsectionIndex,\n\t\t\trecordIndex\n\t\t} = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\n\t\tif (dataModel instanceof RecentActionsModel) {\n\t\t\tconst record = NavigationWrapper.getRecordBySectionAndRecordIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\tif (typeof record === 'string') {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.TERM, record };\n\t\t\t}\n\t\t\tif (typeof record === 'object') {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.RESULT, record };\n\t\t\t}\n\t\t} else {\n\t\t\tif (\n\t\t\t\tsectionIndex ===\n\t\t\t\tdataModel.filteredSectionRecordLengths.length - 1\n\t\t\t) {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.SEARCH_ALL_ACTION };\n\t\t\t}\n\t\t\tconst record = NavigationWrapper.getRecordBySectionAndRecordIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.RESULT, record };\n\t\t}\n\t\treturn {};\n\t}\n\n\tstatic getSectionAndRecordIndices(dataModel, flattenedIndex = -1) {\n\t\tlet sectionIndex = -1;\n\t\tlet recordIndex = -1;\n\n\t\tif (flattenedIndex === -1) {\n\t\t\treturn { sectionIndex, recordIndex };\n\t\t}\n\t\tlet count = 0;\n\t\tlet lastCount = 0;\n\t\tsectionIndex = 0;\n\t\tfor (\n\t\t\tlet i = 0;\n\t\t\ti < dataModel.filteredSectionRecordLengths.length;\n\t\t\ti += 1\n\t\t) {\n\t\t\tcount += dataModel.filteredSectionRecordLengths[i];\n\t\t\tif (flattenedIndex < count) {\n\t\t\t\tsectionIndex = i;\n\t\t\t\trecordIndex = flattenedIndex - lastCount;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlastCount += dataModel.filteredSectionRecordLengths[i];\n\t\t}\n\t\treturn { sectionIndex, recordIndex };\n\t}\n\n\tstatic getFlattenedIndex(dataModel, sectionIndex, recordIndex) {\n\t\tlet flattenedIndex = 0;\n\t\tfor (let i = 0; i < sectionIndex; i += 1) {\n\t\t\tflattenedIndex += dataModel.filteredSectionRecordLengths[i];\n\t\t}\n\t\tflattenedIndex += recordIndex;\n\t\treturn flattenedIndex;\n\t}\n}\n\nexport default NavigationWrapper;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst SnPopover = ({ className, children, isGlobal, isMobileView, ...props}) => (\n\t<div\n\t\tclassName={`sn-popover${isGlobal ? isMobileView ? ' -global -mobile-view' : ' -global' : ''} ${className}`}\n\t\t{...props}>\n\t\t{children}\n\t<\/div>\n);\n\nSnPopover.defaultProps = {\n\tclassName: '',\n\tisGlobal: false\n};\n\nSnPopover.propTypes = {\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.node.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default SnPopover;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nconst SnPopoverBody = ({ children }) => {\n\tif (children.length === 0) return null;\n\treturn <Fragment>{children}<\/Fragment>;\n};\n\nSnPopoverBody.propTypes = {\n\tchildren: PropTypes.node.isRequired\n};\n\nexport default SnPopoverBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\n\nconst SnPopoverFooter = ({ children, className, ...props }) => (\n\t<ul\n\t\tclassName={`sn-popover--footer sn-popover--footer__sm ${className}`}\n\t\trole=\"listbox\"\n\t\taria-label={t('Extra Option')}\n\t\t{...props}>\n\t\t{children}\n\t<\/ul>\n);\n\nSnPopoverFooter.propTypes = {\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.node.isRequired\n};\n\nSnPopoverFooter.defaultProps = {\n\tclassName: ''\n};\n\nexport default SnPopoverFooter;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport map from 'lodash/map';\nimport ResultSection from './ResultSection';\nimport NavigationWrapper from '../utils/NavigationWrapper';\nimport SnPopover from './SnPopover/SnPopover';\nimport SnPopoverBody from './SnPopover/SnPopoverBody';\nimport SnPopoverFooter from './SnPopover/SnPopoverFooter';\nimport TypeaheadRecord from './TypeaheadRecord';\n\nimport { LOADING_LABEL,SEARCH_ALL_RECORDS, VIEW_RESULTS, ARIA_LIVE_REGION_TEMPLATE, WINDOW_SIZE, RESULTS_SECTION } from '../constants';\n\nclass TypeaheadPopover extends React.PureComponent {\n\tstatic createNewActiveRecord(type, record, sourceId = '') {\n\t\tif (type === TypeaheadRecord.TYPES.TERM) {\n\t\t\treturn {\n\t\t\t\ttype,\n\t\t\t\tterm: record\n\t\t\t};\n\t\t}\n\t\tif (type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\treturn {\n\t\t\t\ttype,\n\t\t\t\titem: record,\n\t\t\t\tsourceId\n\t\t\t};\n\t\t}\n\t\tif (type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION) {\n\t\t\treturn {\n\t\t\t\ttype\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveRecordFlattenedIndex: -1\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { navigateInDirection, dataModel } = this.props;\n\t\tthis.consumeNavigationProp(navigateInDirection, dataModel);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { navigateInDirection, dataModel, hasActiveRecord } = nextProps;\n\n\t\tif (!hasActiveRecord) {\n\t\t\tthis.setState({ activeRecordFlattenedIndex: -1 });\n\t\t}\n\n\t\tthis.consumeNavigationProp(navigateInDirection, dataModel);\n\t}\n\n\tconsumeNavigationProp(direction, dataModel) {\n\t\tconst { dataModel: dataModelFromProps } = this.props;\n\t\tconst { activeRecordFlattenedIndex: indexFromState } = this.state;\n\n\t\tif (dataModelFromProps.term !== dataModel.term) {\n\t\t\tthis.updateActiveRecord(-1);\n\t\t}\n\t\tconst activeRecordFlattenedIndex = NavigationWrapper.getUpdatedIndex(\n\t\t\tdataModel,\n\t\t\tindexFromState,\n\t\t\tdirection\n\t\t);\n\t\tthis.updateActiveRecord(activeRecordFlattenedIndex, dataModel);\n\t}\n\n\t// eslint-disable-next-line react/destructuring-assignment\n\tupdateActiveRecord(flattenedIndex, dataModel = this.props.dataModel) {\n\t\tconst { onActiveRecordUpdate } = this.props;\n\t\tif (typeof flattenedIndex !== 'number') {\n\t\t\treturn;\n\t\t}\n\t\tlet activeRecord = false;\n\t\tconst { record, type } = NavigationWrapper.getRecord(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\t\tconst indices = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\t\tif (type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION) {\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(type);\n\t\t} else if (type === TypeaheadRecord.TYPES.TERM) {\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(type, record);\n\t\t} else if (type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\tconst sourceId =\n\t\t\t\tdataModel.getSectionIdByTableName(record.table || '') ||\n\t\t\t\trecord.__sourceId ||\n\t\t\t\t'';\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(\n\t\t\t\ttype,\n\t\t\t\trecord,\n\t\t\t\tsourceId\n\t\t\t);\n\t\t}\n\t\tonActiveRecordUpdate(activeRecord, indices);\n\t\tthis.setState({ activeRecordFlattenedIndex: flattenedIndex });\n\t}\n\n\trenderFooter(sectionsLength, footerId) {\n\t\tconst { showSearchAllSection, isGlobal } = this.props;\n\t\tconst { activeRecordFlattenedIndex } = this.state;\n\n\t\tif (!showSearchAllSection) return null;\n\n\t\tconst { dataModel, onRecordSelect } = this.props;\n\t\tconst isActive = activeRecordFlattenedIndex === dataModel.size - 1;\n\t\tconst footerContainerClassName = `sn-url${isGlobal ? ' suggestions-footer-global' : ''\n\t\t}`;\n\t\tconst footerClassName = isActive ? 'is-hover' : '';\n\t\treturn (\n\t\t\t<SnPopoverFooter\n\t\t\t\tonMouseDown={onRecordSelect(dataModel.term)}\n\t\t\t\tonMouseMove={() => this.updateActiveRecord(dataModel.size - 1)}>\n\t\t\t\t<li\n\t\t\t\t\tclassName={footerContainerClassName}\n\t\t\t\t\tid={footerId}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\taria-selected={isActive}>\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tisGlobal ? VIEW_RESULTS : SEARCH_ALL_RECORDS\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={footerClassName}>\n\t\t\t\t\t\t{isGlobal ? VIEW_RESULTS : SEARCH_ALL_RECORDS}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/li>\n\t\t\t<\/SnPopoverFooter>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdataModel,\n\t\t\tonRecordSelect,\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisGlobal,\n\t\t\tuserPreferencesFetching,\n\t\t\tisVisible,\n\t\t\ttooltipContent,\n\t\t\tdispatch,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tconst { activeRecordFlattenedIndex: indexFromState } = this.state;\n\t\tconst {\n\t\t\tsectionIndex: activeSectionIndex,\n\t\t\trecordIndex: activeRecordIndex\n\t\t} = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tindexFromState\n\t\t);\n\n\t\tconst onSectionMouseMove = (sectionIndex) => (recordIndex) => {\n\t\t\tconst activeRecordFlattenedIndex = NavigationWrapper.getFlattenedIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\tthis.updateActiveRecord(activeRecordFlattenedIndex, dataModel);\n\t\t};\n\n\t\tconst getDisplayFields = (sectionId) => {\n\t\t\tconst displayFields = dataModel.getDisplayFieldNamesBySourceId(\n\t\t\t\tsectionId\n\t\t\t);\n\t\t\treturn displayFields;\n\t\t};\n\n\t\tconst getTotalResultCount = () => {\n\t\t\treturn sectionsToRender.reduce((acc, sectionId) => {\n\t\t\t\treturn acc + dataModel.getSectionRecordsBySectionId(sectionId).length;\n\t\t\t}, 0)\n\t\t};\n\t\t\n\t\tconst sectionsToRender = dataModel.sectionsFilteredByResponseCount;\n\t\tconst sectionCount = sectionsToRender.length;\n\t\tconst totalResultCount = getTotalResultCount();\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\t\tconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\n\n\t\tif (sectionCount > 0 && totalResultCount > 0) {\n\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\tmessage: t(ARIA_LIVE_REGION_TEMPLATE,totalResultCount, sectionCount),\n\t\t\t\ttype: 'polite',\n\t\t\t\treplaceContent: true\n\t\t\t});\n\t\t}\n\t\tconst suggestionSections = sectionsToRender.length > 0 && (\n\t\t\t<ul className=\"sn-list-group result-section\" role=\"listbox\" aria-label={RESULTS_SECTION}>\n\t\t\t\t{map(sectionsToRender, (sectionId, index) => (\n\t\t\t\t\t<Fragment key={sectionId}>\n\t\t\t\t\t\t<ResultSection\n\t\t\t\t\t\t\tkey={sectionId}\n\t\t\t\t\t\t\tname={dataModel.getSectionNameBySectionId(\n\t\t\t\t\t\t\t\tsectionId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisplayFields={getDisplayFields(sectionId)}\n\t\t\t\t\t\t\tactiveRecordIndex={\n\t\t\t\t\t\t\t\tactiveSectionIndex === index\n\t\t\t\t\t\t\t\t\t? activeRecordIndex\n\t\t\t\t\t\t\t\t\t: -1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresults={dataModel.getSectionRecordsBySectionId(\n\t\t\t\t\t\t\t\tsectionId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonMouseMove={onSectionMouseMove(index)}\n\t\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\t\tsourceId={sectionId}\n\t\t\t\t\t\t\tsectionIndex={index}\n\t\t\t\t\t\t\tisVisible={isVisible}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isGlobal && index !== sectionsToRender.length - 1 ? (\n\t\t\t\t\t\t\t<hr aria-hidden=\"true\" className=\"section-divider-global\" />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t))}\n\t\t\t<\/ul>\n\t\t);\n\n\t\tconst loadingWidget = (\n\t\t\t<div className=\"suggestions-loader\">\n\t\t\t\t{isVisible ? (\n\t\t\t\t\t<now-loader label={LOADING_LABEL} size=\"lg\" action=\"\" />\n\t\t\t\t) : (\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\tlabel={LOADING_LABEL}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\tdefer\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t\tconst footerId = `sncwsgs-typeahead-record-${sectionsToRender.length}-0-footer`;\n\t\treturn (\n\t\t\t<SnPopover className={className} isGlobal={isGlobal} isMobileView={isMobileView} id={id}>\n\t\t\t\t<SnPopoverBody>\n\t\t\t\t\t{userPreferencesFetching\n\t\t\t\t\t\t? loadingWidget\n\t\t\t\t\t\t: suggestionSections}\n\t\t\t\t<\/SnPopoverBody>\n\t\t\t\t{this.renderFooter(sectionsToRender.length, footerId)}\n\t\t\t<\/SnPopover>\n\t\t);\n\t}\n}\n\nTypeaheadPopover.propTypes = {\n\tonRecordSelect: PropTypes.func.isRequired,\n\tnavigateInDirection: PropTypes.oneOf([\n\t\t'',\n\t\t...Object.values(NavigationWrapper.DIRECTIONS)\n\t]),\n\thasActiveRecord: PropTypes.bool,\n\tid: PropTypes.string,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tshowSearchAllSection: PropTypes.bool,\n\tdataModel: PropTypes.object.isRequired,\n\tclassName: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tuserPreferencesFetching: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\twindowSize: PropTypes.string,\n\tisMobileView: PropTypes.bool\n\n};\n\nTypeaheadPopover.defaultProps = {\n\thasActiveRecord: null,\n\tnavigateInDirection: '',\n\tshowSearchAllSection: null,\n\tclassName: '',\n\tid: null\n};\n\nexport default TypeaheadPopover;\n","import { t } from 'sn-translate';\nimport GlobalSearchModel from './GlobalSearchModel';\n\nclass ExactMatchModel extends GlobalSearchModel {\n\tconstructor(response) {\n\t\tsuper();\n\t\tthis.parse(response);\n\t}\n\n\tparse(response) {\n\t\tif (response) {\n\t\t\tconst { term, record, displayFields } = response;\n\n\t\t\tthis.term = term;\n\t\t\tthis.sources = [];\n\t\t\tthis.resultCount = 1;\n\n\t\t\tif (record && displayFields) {\n\t\t\t\tthis.resultSectionsRecordLength.push(1);\n\t\t\t\tthis.sources.push({\n\t\t\t\t\tsys_id: 'EXACT_MATCH_SECTION'\n\t\t\t\t});\n\t\t\t\tthis.mapTableNameToSourceId.EXACT_MATCH_SECTION = 'Exact Match';\n\t\t\t\tthis.mapSourceIdToSourceData.EXACT_MATCH_SECTION = {\n\t\t\t\t\tname: t('Exact Match'),\n\t\t\t\t\trecord_count: 1,\n\t\t\t\t\trecords: [record],\n\t\t\t\t\tfields: displayFields\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// this is to account for Search All Records\n\t\tthis.resultSectionsRecordLength.push(1);\n\t\tthis.totalResults = this.resultSectionsRecordLength.reduce(\n\t\t\t(count, value) => count + value,\n\t\t\t0\n\t\t);\n\t}\n}\n\nexport default ExactMatchModel;\n","import PropTypes from 'prop-types';\n\nexport const exactMatchDataShape = PropTypes.shape({\n\tdisplayFields: PropTypes.array,\n\terror: PropTypes.object,\n\thasExactMatch: PropTypes.bool,\n\tisFetching: PropTypes.bool,\n\tmetadata: PropTypes.object,\n\trecord: PropTypes.object,\n\tsysId: PropTypes.string,\n\ttable: PropTypes.string,\n\tterm: PropTypes.string\n});\n\nexport const userPreferenceDataShape = PropTypes.shape({\n\tname: PropTypes.string,\n\tvalue: PropTypes.string\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport trim from 'lodash/trim';\nimport debounce from 'lodash/debounce';\n\nimport TypeaheadPopover from './TypeaheadPopover/TypeaheadPopover';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport ExactMatchModel from '../utils/ExactMatchModel';\nimport { canTermMatchExactly } from '../utils/workspaceExactMatchTypeahead';\nimport { EXACT_MATCH_FETCH } from './actions';\nimport { exactMatchDataShape } from './propTypes';\nimport { WINDOW_SIZE } from './constants';\n\nclass ComponentExactMatch extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.exactMatchResultModel = new ExactMatchModel();\n\t\tthis.debouncedRead = debounce(\n\t\t\tthis.readWorkspaceExactMatch,\n\t\t\tprops.readDebounce\n\t\t);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { data: currentData, readDebounce } = this.props;\n\t\tconst { data: nextData, typeaheadInputValue } = nextProps;\n\n\t\tif (readDebounce !== nextProps.readDebounce) {\n\t\t\tthis.debouncedRead = debounce(\n\t\t\t\tthis.readWorkspaceExactMatch,\n\t\t\t\tnextProps.readDebounce\n\t\t\t);\n\t\t}\n\t\tconst nextDataTerm = get(nextData, 'term');\n\t\tconst currentTerm = trim(get(this.props, 'typeaheadInputValue', ''));\n\t\tif (\n\t\t\tnextData &&\n\t\t\tnextData !== currentData &&\n\t\t\tnextDataTerm === currentTerm\n\t\t)\n\t\t\tthis.exactMatchResultModel = new ExactMatchModel(nextData);\n\t\telse {\n\t\t\tthis.exactMatchResultModel = new ExactMatchModel();\n\t\t\tthis.exactMatchResultModel.term = typeaheadInputValue;\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst currentTerm = trim(get(this.props, 'typeaheadInputValue', ''));\n\t\tconst prevTerm = trim(get(prevProps, 'typeaheadInputValue', ''));\n\n\t\tif (currentTerm !== prevTerm) this.debouncedRead(currentTerm);\n\t}\n\n\treadWorkspaceExactMatch(term) {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tisExactMatchEnabled,\n\t\t\trequestCriterionRegex,\n\t\t\tselectedSearchContext\n\t\t} = this.props;\n\n\t\tif (\n\t\t\t!canTermMatchExactly(\n\t\t\t\tterm,\n\t\t\t\trequestCriterionRegex,\n\t\t\t\tisExactMatchEnabled\n\t\t\t)\n\t\t)\n\t\t\treturn;\n\n\t\tdispatch(EXACT_MATCH_FETCH, {\n\t\t\tterm,\n\t\t\tsearchContextConfigId: selectedSearchContext?.searchDataConfigId ? selectedSearchContext.searchDataConfigId : '',\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasActiveRecord,\n\t\t\tisVisible,\n\t\t\tnavigateInDirection,\n\t\t\tonActiveRecordUpdate,\n\t\t\tonTypeaheadRecordClick,\n\t\t\tisGlobal,\n\t\t\thelpers: { dispatch },\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\n\t\tconst className = isVisible ? undefined : 'hidden';\n\t\tconst idAttribute = isVisible\n\t\t\t? { id: 'sncwsgs-typeahead-sections' }\n\t\t\t: {};\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\t\t\n\t\treturn (\n\t\t\t<TypeaheadPopover\n\t\t\t\t{...idAttribute}\n\t\t\t\tclassName={className}\n\t\t\t\tonRecordSelect={onTypeaheadRecordClick}\n\t\t\t\tdataModel={this.exactMatchResultModel}\n\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\tonActiveRecordUpdate={onActiveRecordUpdate}\n\t\t\t\tshowSearchAllSection\n\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tisVisible={isVisible}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\twindowSize={windowSize}\n\t\t\t\tisMobileView={isMobileView}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentExactMatch.propTypes = {\n\tdata: exactMatchDataShape,\n\t// eslint-disable-next-line react/forbid-prop-types\n\thelpers: PropTypes.func.isRequired,\n\ttypeaheadInputValue: PropTypes.string.isRequired,\n\treadDebounce: PropTypes.number.isRequired,\n\trequestCriterionRegex: PropTypes.string.isRequired,\n\n\tisVisible: PropTypes.bool.isRequired,\n\tisExactMatchEnabled: PropTypes.bool.isRequired,\n\n\tnavigateInDirection: PropTypes.string.isRequired,\n\thasActiveRecord: PropTypes.bool.isRequired,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tonTypeaheadRecordClick: PropTypes.func.isRequired,\n\tisGlobal: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nComponentExactMatch.defaultProps = {\n\tdata: undefined,\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\treadDebounce: config.global_search_config.typeahead_debounce,\n\t\trequestCriterionRegex:\n\t\t\tconfig.global_search_config.exact_match_request_criterion_regex,\n\t\tisExactMatchEnabled: config.global_search_config.exact_match_enabled\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentExactMatch);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { userPreferenceDataShape } from './propTypes';\nimport TypeaheadPopover from './TypeaheadPopover/TypeaheadPopover';\nimport { WINDOW_SIZE } from './constants';\n\nclass ComponentRecentActions extends React.PureComponent {\n\trender() {\n\t\tconst {\n\t\t\tisVisible,\n\t\t\tnavigateInDirection,\n\t\t\tonActiveRecordUpdate,\n\t\t\tonTypeaheadRecordClick,\n\t\t\thasActiveRecord,\n\t\t\tuserPreferences: { typeaheadRecentActionsModel },\n\t\t\thelpers: { dispatch },\n\t\t\tisGlobal,\n\t\t\tuserPreferencesFetching,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\n\t\tconst isNotVisible = !typeaheadRecentActionsModel.size || !isVisible;\n\n\t\t// don't use the incoming prop if dropdown is not visible\n\t\tconst resolvedNavigateInDirection = isNotVisible\n\t\t\t? ''\n\t\t\t: navigateInDirection;\n\n\t\tconst className = isVisible ? undefined : 'hidden';\n\t\tconst idAttribute = isVisible\n\t\t\t? { id: 'sncwsgs-typeahead-sections' }\n\t\t\t: {};\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\n\t\treturn (\n\t\t\t<TypeaheadPopover\n\t\t\t\t{...idAttribute}\n\t\t\t\tclassName={className}\n\t\t\t\tonRecordSelect={onTypeaheadRecordClick}\n\t\t\t\tdataModel={typeaheadRecentActionsModel}\n\t\t\t\tnavigateInDirection={resolvedNavigateInDirection}\n\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\tonActiveRecordUpdate={onActiveRecordUpdate}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tisVisible={isVisible}\n\t\t\t\tuserPreferencesFetching={userPreferencesFetching}\n\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\twindowSize={windowSize}\n\t\t\t\tisMobileView={isMobileView}\n\t\t\t/>\n\t\t);\n\t}\n}\n\n/* eslint-disable react/forbid-prop-types */\nComponentRecentActions.propTypes = {\n\tuserPreferences: userPreferenceDataShape,\n\tisVisible: PropTypes.bool.isRequired,\n\tnavigateInDirection: PropTypes.string.isRequired,\n\thasActiveRecord: PropTypes.bool.isRequired,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tonTypeaheadRecordClick: PropTypes.func.isRequired,\n\tclassName: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tuserPreferencesFetching: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\twindowSize: PropTypes.string\n};\n\nComponentRecentActions.defaultProps = {\n\tuserPreferences: undefined,\n\tclassName: '',\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tmaxItemsToShow: config.global_search_config.recent_items_count,\n\t\tmaxTermsToShow: config.global_search_config.recent_terms_count,\n\t\tactionsTTLInDays: config.global_search_config.recent_ttl_in_days\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentRecentActions);\n","import '@servicenow/now-icon';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\n\nclass Icon extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.iconOnClick = this.iconOnClick.bind(this);\n\t}\n\n\ticonOnClick(event) {\n\t\tconst { onClick } = this.props;\n\t\tif (\n\t\t\ttypeof event.which === 'undefined' ||\n\t\t\t(event.which &&\n\t\t\t\t(event.which === KEY_CODES.RETURN ||\n\t\t\t\t\tevent.which === KEY_CODES.SPACE))\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tonClick(event);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ticonClassName,\n\t\t\ticonSize,\n\t\t\tbuttonClassName = '',\n\t\t\tariaLabel,\n\t\t\ttabIndex,\n\t\t\tariaExpanded,\n\t\t\tsetRef\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-expanded={ariaExpanded}\n\t\t\t\taria-controls=\"sncwsgs-typeahead-input\"\n\t\t\t\tonClick={this.iconOnClick}\n\t\t\t\tonKeyDown={this.iconOnClick}\n\t\t\t\tclassName={`${buttonClassName ? ` ${buttonClassName}` : ''}`}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tsetRef(ref);\n\t\t\t\t}}\n\t\t\t\ttabIndex={tabIndex}>\n\t\t\t\t<now-icon icon={iconClassName} size={iconSize} />\n\t\t\t<\/span>\n\t\t);\n\t}\n}\n\nIcon.propTypes = {\n\ticonClassName: PropTypes.string.isRequired,\n\tonClick: PropTypes.func.isRequired,\n\ticonSize: PropTypes.string,\n\tbuttonClassName: PropTypes.string,\n\tariaLabel: PropTypes.string,\n\ttabIndex: PropTypes.number,\n\tsetRef: PropTypes.func,\n\tariaExpanded: PropTypes.bool\n};\n\nIcon.defaultProps = {\n\tariaLabel: '',\n\tariaExpanded: undefined,\n\tbuttonClassName: undefined,\n\ticonSize: 'sm',\n\ttabIndex: -1,\n\tsetRef: () => undefined\n};\n\nexport default Icon;\n","// nds-scanner-disable-file\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\nimport Icon from './Icon';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport isEmpty from 'lodash/isEmpty';\nimport createInteractionHandlers from '../../utils/createInteractionhandlers';\nimport { t } from 'sn-translate';\nimport {\n\tDEFAULT_PLACEHODLER,\n\tSEARCH_LABEL,\n\tCLEAR_LABEL,\n\tCONTEXT_SWITCH_TOP_OFFSET,\n\tDROPDOWN_POSITION,\n\tWINDOW_SIZE,\n\tSEARCH_CONTEXT_TRIGGER_LABEL,\n\tGLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH\n} from '../constants';\nexport const SEARCH_ICONS = {\n\tSEARCH: 'magnifyingGlassOutline',\n\tCLEAR_GLOBAL: 'circle-close-outline',\n\tCLEAR: 'closeOutline'\n};\n\nclass SearchInput extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.onKeyPress = this.onKeyPress.bind(this);\n\t}\n\n\tstatic get ICONS() {\n\t\treturn SEARCH_ICONS;\n\t}\n\n\tonChange(event) {\n\t\tconst { onChange } = this.props;\n\t\tconst inputValue = event.target.value;\n\t\tonChange(inputValue);\n\t}\n\n\tonKeyDown(event) {\n\t\tconst {\n\t\t\tonEscapeKeyDown,\n\t\t\tonGeneralKeyDown,\n\t\t\tonDownArrowKeyDown,\n\t\t\tonUpArrowKeyDown\n\t\t} = this.props;\n\n\t\tif (event.which === KEY_CODES.ESCAPE) {\n\t\t\tonEscapeKeyDown(event);\n\t\t} else if (event.which === KEY_CODES.DOWN_ARROW) {\n\t\t\tevent.preventDefault();\n\t\t\tonDownArrowKeyDown(event);\n\t\t} else if (event.which === KEY_CODES.UP_ARROW) {\n\t\t\tevent.preventDefault();\n\t\t\tonUpArrowKeyDown(event);\n\t\t}\n\n\t\tif (\n\t\t\tevent.which !== KEY_CODES.ESCAPE &&\n\t\t\tevent.which !== KEY_CODES.RETURN\n\t\t) {\n\t\t\tonGeneralKeyDown(event);\n\t\t}\n\t}\n\n\tonKeyPress(event) {\n\t\tconst { onSubmit, value } = this.props;\n\t\tif (event.which === KEY_CODES.RETURN) {\n\t\t\tonSubmit(value);\n\t\t}\n\t}\n\tgetGlobalTypeAheadButtonClassName(typeAheadButtonClassName, isExpanded) {\n\t\tconst { isGlobal, isLegacyWorkspace } = this.props;\n\t\tlet globalTypeAheadButtonClassName;\n\t\tif (typeAheadButtonClassName.includes('sn-global-typeahead-btn')) {\n\t\t\tglobalTypeAheadButtonClassName = isExpanded\n\t\t\t\t? isGlobal\n\t\t\t\t\t? `${typeAheadButtonClassName} -search is-selected -global`\n\t\t\t\t\t: `${typeAheadButtonClassName} -search`\n\t\t\t\t: !isLegacyWorkspace && !isExpanded\n\t\t\t\t\t? isGlobal\n\t\t\t\t\t\t? `${typeAheadButtonClassName} -search -global-mobile`\n\t\t\t\t\t\t: `${typeAheadButtonClassName} -search -uib`\n\t\t\t\t\t: `${typeAheadButtonClassName} -search`;\n\t\t}\n\t\treturn globalTypeAheadButtonClassName;\n\t}\n\tgetGlobalControlContainerClassName(\n\t\tcontrolContainerClassName,\n\t\tisExpanded,\n\t\tactiveSearchInputState\n\t) {\n\t\tconst {\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tlet globalControlContainerClassName;\n\t\tif (\n\t\t\tcontrolContainerClassName.includes(\n\t\t\t\t'sn-global-typeahead-control-container'\n\t\t\t)\n\t\t) {\n\t\t\tglobalControlContainerClassName = `${controlContainerClassName}${isGlobal && isExpanded\n\t\t\t\t? activeSearchInputState\n\t\t\t\t\t? windowSize == WINDOW_SIZE.MOBILE\n\t\t\t\t\t\t? ' -global-active-input-mobile-view'\n\t\t\t\t\t\t: ' -global-active-input'\n\t\t\t\t\t: isCollapsedView && !defaultStateGlobalView\n\t\t\t\t\t\t? ' -global-mobile-view'\n\t\t\t\t\t\t: ' -global'\n\t\t\t\t: ''\n\t\t\t\t}`;\n\t\t}\n\t\treturn globalControlContainerClassName;\n\t}\n\n\tgetGlobalTypeAheadControlClassName(\n\t\ttypeAheadControlClassName,\n\t\tactiveSearchInputState,\n\t\thasText\n\t) {\n\t\tconst {\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tlet globalTypeaheadControlClassName;\n\n\t\tif (typeAheadControlClassName.includes('sn-global-typeahead-control')) {\n\t\t\tglobalTypeaheadControlClassName = `${typeAheadControlClassName}${isGlobal\n\t\t\t\t? !activeSearchInputState &&\n\t\t\t\t\thasText &&\n\t\t\t\t\twindowSize != WINDOW_SIZE.MOBILE\n\t\t\t\t\t? ' -global-default-state'\n\t\t\t\t\t: isCollapsedView && !defaultStateGlobalView\n\t\t\t\t\t\t? ' -global-mobile-view'\n\t\t\t\t\t\t: ' -global'\n\t\t\t\t: ' -uib-legacy'\n\t\t\t\t}`;\n\t\t}\n\t\treturn globalTypeaheadControlClassName;\n\t}\n\trender() {\n\t\tconst {\n\t\t\tvalue,\n\t\t\tisDropdownVisible,\n\t\t\tisExpanded,\n\t\t\tisDisabled,\n\t\t\tbindInputRef,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonClearIconClick,\n\t\t\tonSearchIconClick,\n\t\t\tariaActiveDescendant,\n\t\t\tariaLiveText,\n\t\t\tisLegacyWorkspace,\n\t\t\tsearchInputPlaceholder,\n\t\t\tsearchContexts,\n\t\t\tselectedSearchContext,\n\t\t\tcontextDropdownOpened,\n\t\t\tsearchTerm,\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize,\n\t\t\tsearchExpanded\n\t\t} = this.props;\n\n\t\tconst hasText =\n\t\t\t(typeof value === 'string' && value.length > 0) ||\n\t\t\tsearchTerm.length > 0;\n\n\t\tconst activeSearchInputState = inputClicked\n\t\t\t? true\n\t\t\t: contextDropdownOpened\n\t\t\t\t? true\n\t\t\t\t: false;\n\n\t\t// for UIB workspaces, we want different padding around the search button\n\t\tconst searchButtonClassName = this.getGlobalTypeAheadButtonClassName(\n\t\t\t'sn-global-typeahead-btn',\n\t\t\tisExpanded\n\t\t);\n\t\tconst showMobileSearchButton =\n\t\t\tisCollapsedView && !inputClicked && !defaultStateGlobalView;\n\n\t\tconst selectedContext = !isEmpty(selectedSearchContext)\n\t\t\t? selectedSearchContext.id\n\t\t\t: searchContexts.length > 0\n\t\t\t\t? searchContexts[0].id\n\t\t\t\t: '';\n\n\t\tconst searchInputPlaceholderText =\n\t\t\tisGlobal && activeSearchInputState\n\t\t\t\t? t('Search {0}', selectedSearchContext.label)\n\t\t\t\t: !isEmpty(searchInputPlaceholder)\n\t\t\t\t\t? searchInputPlaceholder\n\t\t\t\t\t: DEFAULT_PLACEHODLER;\n\n\t\tconst showContextDropdown =\n\t\t\tisExpanded && isGlobal && searchContexts.length > 1;\n\n\t\tconst globalClearButton = isExpanded &&\n\t\t\tactiveSearchInputState &&\n\t\t\thasText &&\n\t\t\tisGlobal && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={'sn-global-typeahead-btn -clear -global'}\n\t\t\t\t\taria-label={CLEAR_LABEL}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t{...createInteractionHandlers(onClearIconClick)}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t);\n\n\t\tconst globalSearchButton = isGlobal && !showMobileSearchButton && (\n\t\t\t<span\n\t\t\t\tclassName={`sn-global-typeahead-searchIcon${activeSearchInputState\n\t\t\t\t\t? isCollapsedView\n\t\t\t\t\t\t? ' -is-global-mobile-view'\n\t\t\t\t\t\t: ' -global-active-input'\n\t\t\t\t\t: ' -global'\n\t\t\t\t\t}`}>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"magnifying-glass-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.getGlobalControlContainerClassName(\n\t\t\t\t\t'sn-global-typeahead-control-container',\n\t\t\t\t\tisExpanded,\n\t\t\t\t\tactiveSearchInputState\n\t\t\t\t)}\n\t\t\t\trole=\"search\">\n\t\t\t\t{globalSearchButton}\n\t\t\t\t{(showMobileSearchButton || !isGlobal) && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticonSize={showMobileSearchButton ? 'md' : 'lg'}\n\t\t\t\t\t\tonClick={onSearchIconClick}\n\t\t\t\t\t\tbuttonClassName={\n\t\t\t\t\t\t\tisExpanded\n\t\t\t\t\t\t\t\t? isCollapsedView\n\t\t\t\t\t\t\t\t\t? `${searchButtonClassName} is-global-mobile-view`\n\t\t\t\t\t\t\t\t\t: `${searchButtonClassName} is-focus is-selected`\n\t\t\t\t\t\t\t\t: searchButtonClassName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetRef={(ref) => {\n\t\t\t\t\t\t\tthis.searchIconRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticonClassName={SearchInput.ICONS.SEARCH}\n\t\t\t\t\t\ttooltipContent={SEARCH_LABEL}\n\t\t\t\t\t\tariaLabel={SEARCH_LABEL}\n\t\t\t\t\t\t{...(!isExpanded && { tabIndex: 0 })}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.getGlobalTypeAheadControlClassName(\n\t\t\t\t\t\t'sn-global-typeahead-control',\n\t\t\t\t\t\tactiveSearchInputState,\n\t\t\t\t\t\thasText\n\t\t\t\t\t)}>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName={`sn-global-typeahead-input${isGlobal\n\t\t\t\t\t\t\t? activeSearchInputState\n\t\t\t\t\t\t\t\t? ' -global-active-input'\n\t\t\t\t\t\t\t\t: ' -global'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"sncwsgs-typeahead-input\"\n\t\t\t\t\t\tid=\"sncwsgs-typeahead-input\"\n\t\t\t\t\t\tplaceholder={searchInputPlaceholderText}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\taria-label={searchInputPlaceholder}\n\t\t\t\t\t\taria-hidden={!isExpanded}\n\t\t\t\t\t\taria-expanded={searchExpanded}\n\t\t\t\t\t\taria-autocomplete=\"both\"\n\t\t\t\t\t\taria-controls= 'sncwsgs-typeahead-input'\n\t\t\t\t\t\t{...(activeSearchInputState && {\n\t\t\t\t\t\t\t'aria-owns': 'sncwsgs-typeahead-sections',\n\t\t\t\t\t\t\t'aria-activedescendant': [ariaActiveDescendant]\n\t\t\t\t\t\t})}\n\t\t\t\t\t\taria-describedby=\"sncwsgs-typeahead-instructions\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\tref={bindInputRef}\n\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\tonKeyPress={this.onKeyPress}\n\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t{...(!isExpanded && { tabIndex: -1 })}\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t/>\n\t\t\t\t\t<AriaLiveRegion message={ariaLiveText} />\n\t\t\t\t\t{globalClearButton}\n\t\t\t\t\t{isExpanded && hasText && !isGlobal && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticonSize=\"sm\"\n\t\t\t\t\t\t\tbuttonClassName=\"sn-global-typeahead-btn -clear\"\n\t\t\t\t\t\t\ticonClassName={SearchInput.ICONS.CLEAR}\n\t\t\t\t\t\t\tariaLabel={CLEAR_LABEL}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={onClearIconClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{showContextDropdown && (\n\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': SEARCH_CONTEXT_TRIGGER_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tid=\"global-search-context-control\"\n\t\t\t\t\t\t\tclassName=\"context-dropdown-container\"\n\t\t\t\t\t\t\tselect=\"single\"\n\t\t\t\t\t\t\titems={searchContexts}\n\t\t\t\t\t\t\tselectedItems={[selectedContext]}\n\t\t\t\t\t\t\tmanageOpened\n\t\t\t\t\t\t\topened={contextDropdownOpened}\n\t\t\t\t\t\t\tpanelFitProps={{\n\t\t\t\t\t\t\t\tposition: DROPDOWN_POSITION,\n\t\t\t\t\t\t\t\toffset: CONTEXT_SWITCH_TOP_OFFSET,\n\t\t\t\t\t\t\t\tconstrain:\n\t\t\t\t\t\t\t\t\twindowSize === WINDOW_SIZE.MOBILE\n\t\t\t\t\t\t\t\t\t\t? GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\thideLabel\n\t\t\t\t\t\t\ttooltipContent={SEARCH_CONTEXT_TRIGGER_LABEL}>\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tslot=\"trigger-content\"\n\t\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\t\tclassName={`dropdown-search-context${\n\t\t\t\t\t\t\t\t\tactiveSearchInputState\n\t\t\t\t\t\t\t\t\t\t? ' -global-active-input'\n\t\t\t\t\t\t\t\t\t\t: ' -global'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/now-dropdown>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<now-tooltip\n\t\t\t\t\ttarget-ref={this.searchIconRef}\n\t\t\t\t\tcontent={SEARCH_LABEL}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSearchInput.propTypes = {\n\tonFocus: PropTypes.func.isRequired,\n\tonBlur: PropTypes.func.isRequired,\n\tonSubmit: PropTypes.func.isRequired,\n\tonChange: PropTypes.func.isRequired,\n\tonDownArrowKeyDown: PropTypes.func.isRequired,\n\tonUpArrowKeyDown: PropTypes.func.isRequired,\n\tonEscapeKeyDown: PropTypes.func.isRequired,\n\tonSearchIconClick: PropTypes.func.isRequired,\n\tonClearIconClick: PropTypes.func.isRequired,\n\tonGeneralKeyDown: PropTypes.func.isRequired,\n\tbindInputRef: PropTypes.func.isRequired,\n\tvalue: PropTypes.string,\n\tisExpanded: PropTypes.bool,\n\tisDropdownVisible: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tariaActiveDescendant: PropTypes.string,\n\tariaLiveText: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tsearchInputPlaceholder: PropTypes.string,\n\tsearchTerm: PropTypes.string,\n\tselectedSearchContext: PropTypes.object,\n\tsearchContexts: PropTypes.array,\n\tcontextDropdownOpened: PropTypes.bool,\n\tinputClicked: PropTypes.bool,\n\tisCollapsedView: PropTypes.bool,\n\tdefaultStateGlobalView: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nSearchInput.defaultProps = {\n\tvalue: '',\n\tisExpanded: false,\n\tisDropdownVisible: false,\n\tisDisabled: false,\n\tariaActiveDescendant: '',\n\tariaLiveText: '',\n\tisLegacyWorkspace: undefined,\n\tsearchInputPlaceholder: DEFAULT_PLACEHODLER,\n\tsearchTerm: '',\n\tsearchContexts: [],\n\tselectedSearchContext: undefined,\n\tcontextDropdownOpened: false,\n\tinputClicked: false,\n\tisCollapsedView: false,\n\tdefaultStateGlobalView: false\n};\n\nexport default SearchInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport createInteractionHandlers from '../../utils/createInteractionhandlers';\nimport SearchInput from './SearchInput';\nimport { exactMatchDataShape } from '../propTypes';\nimport {\n\tisExactMatchPresent,\n\thasExactMatchReadingFinished\n} from '../../utils/workspaceExactMatchTypeahead';\nimport { DEFAULT_PLACEHODLER, WINDOW_SIZE, CANCEL_LABEL } from '../constants';\n\nconst getAriaSelectedId = (ariaSelected) => {\n\tconst { sectionIndex, recordIndex } = ariaSelected;\n\tif (sectionIndex === -1 && recordIndex === -1) return '';\n\n\treturn `sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`;\n};\n\nconst getAriaLiveText = (props) => {\n\tconst { typeaheadInputValue } = props;\n\n\tif (\n\t\t!hasExactMatchReadingFinished(\n\t\t\tprops,\n\t\t\ttypeaheadInputValue,\n\t\t\tprops.requestCriterionRegex\n\t\t)\n\t)\n\t\treturn '';\n\n\tif (isExactMatchPresent(props, typeaheadInputValue))\n\t\treturn t('Exact match found. Press Enter to navigate to record.');\n\n\treturn t('No exact match. Press Enter for full results.');\n};\n\nclass ComponentTypeaheadInput extends React.Component {\n\tstatic getAriaSelectedId(ariaSelected) {\n\t\tconst { sectionIndex, recordIndex } = ariaSelected;\n\t\tif (sectionIndex === -1 && recordIndex === -1) return '';\n\n\t\treturn `sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.inputElement = null;\n\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onFocus = this.onFocus.bind(this);\n\t\tthis.onBlur = this.onBlur.bind(this);\n\t\tthis.onSubmit = this.onSubmit.bind(this);\n\n\t\tthis.onSearchIconClick = this.onSearchIconClick.bind(this);\n\t\tthis.onClearIconClick = this.onClearIconClick.bind(this);\n\t\tthis.onGeneralKeyDown = this.onGeneralKeyDown.bind(this);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { typeaheadInputValue } = this.props;\n\t\tif (\n\t\t\tthis.inputElement &&\n\t\t\tnextProps.typeaheadInputValue !== typeaheadInputValue &&\n\t\t\tnextProps.typeaheadInputValue !== this.inputElement.value\n\t\t) {\n\t\t\tthis.inputElement.value = nextProps.typeaheadInputValue;\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tconst { handleBlur } = this.props;\n\t\thandleBlur();\n\t}\n\n\tonFocus() {\n\t\tconst { handleFocus, inputClicked } = this.props;\n\t\thandleFocus();\n\t}\n\n\tonChange(value) {\n\t\tconst { handleChange } = this.props;\n\t\thandleChange(value);\n\t}\n\n\tonSubmit(value) {\n\t\tconst { onInputSubmit, isGlobal } = this.props;\n\t\tonInputSubmit(value.trim());\n\t\tif (isGlobal) {\n\t\t\tthis.inputElement.blur();\n\t\t}\n\t}\n\n\tonSearchIconClick() {\n\t\tconst {\n\t\t\tisDisabled,\n\t\t\tsearchExpanded,\n\t\t\thandleSearchIconClick\n\t\t} = this.props;\n\t\tif (isDisabled) return;\n\n\t\tif (this.inputElement) {\n\t\t\thandleSearchIconClick();\n\t\t\tif (!searchExpanded) {\n\t\t\t\tthis.inputElement.focus();\n\t\t\t} else {\n\t\t\t\tthis.inputElement.blur();\n\t\t\t}\n\t\t}\n\t}\n\n\tonClearIconClick() {\n\t\tconst { isDisabled, handleClearIconClick } = this.props;\n\n\t\tif (isDisabled) return;\n\n\t\thandleClearIconClick();\n\t\tif (this.inputElement) {\n\t\t\tthis.inputElement.focus();\n\t\t\tthis.inputElement.value = '';\n\t\t}\n\t}\n\n\tonGeneralKeyDown() {\n\t\tconst { searchExpanded, handleGeneralKeyDown } = this.props;\n\t\tif (searchExpanded) {\n\t\t\thandleGeneralKeyDown();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tariaSelected,\n\t\t\tonDownArrowKeyDown,\n\t\t\tonUpArrowKeyDown,\n\t\t\tonEscapeKeyDown,\n\t\t\ttypeaheadInputValue,\n\t\t\tsearchExpanded,\n\t\t\tdropdownVisible,\n\t\t\tisDisabled,\n\t\t\tisLegacyWorkspace,\n\t\t\tsearchInputPlaceholder,\n\t\t\tsearchContexts,\n\t\t\tselectedSearchContext,\n\t\t\tcontextDropdownOpened,\n\t\t\tsearchTerm,\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\thandleCancelButtonClick,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\treturn (\n\t\t\t<div className=\"searchinput-cancel-button-wrapper\">\n\t\t\t\t<SearchInput\n\t\t\t\t\tvalue={typeaheadInputValue}\n\t\t\t\t\tisExpanded={\n\t\t\t\t\t\tisGlobal && !isCollapsedView ? true : searchExpanded\n\t\t\t\t\t}\n\t\t\t\t\tisDropdownVisible={dropdownVisible}\n\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\tonBlur={this.onBlur}\n\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\tonSubmit={this.onSubmit}\n\t\t\t\t\tonDownArrowKeyDown={onDownArrowKeyDown}\n\t\t\t\t\tonUpArrowKeyDown={onUpArrowKeyDown}\n\t\t\t\t\tonEscapeKeyDown={onEscapeKeyDown}\n\t\t\t\t\tonGeneralKeyDown={this.onGeneralKeyDown}\n\t\t\t\t\tonSearchIconClick={this.onSearchIconClick}\n\t\t\t\t\tonClearIconClick={this.onClearIconClick}\n\t\t\t\t\tbindInputRef={(input) => {\n\t\t\t\t\t\tthis.inputElement = input;\n\t\t\t\t\t}}\n\t\t\t\t\tariaActiveDescendant={getAriaSelectedId(ariaSelected)}\n\t\t\t\t\tariaLiveText={getAriaLiveText(this.props)}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tsearchInputPlaceholder={searchInputPlaceholder}\n\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\tcontextDropdownOpened={contextDropdownOpened}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tinputClicked={inputClicked}\n\t\t\t\t\tdefaultStateGlobalView={defaultStateGlobalView}\n\t\t\t\t\tisCollapsedView={isCollapsedView}\n\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\tsearchExpanded={searchExpanded}\n\t\t\t\t/>\n\t\t\t\t{windowSize == WINDOW_SIZE.MOBILE && searchExpanded && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"cancel-button-mobile-view\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t{...createInteractionHandlers(handleCancelButtonClick)}>\n\t\t\t\t\t\t{CANCEL_LABEL}\n\t\t\t\t\t<\/span>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nComponentTypeaheadInput.propTypes = {\n\ttypeaheadInputValue: PropTypes.string,\n\tsearchExpanded: PropTypes.bool,\n\tinputClicked: PropTypes.bool,\n\tdefaultStateGlobalView: PropTypes.bool,\n\tdropdownVisible: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\thandleBlur: PropTypes.func.isRequired,\n\thandleFocus: PropTypes.func.isRequired,\n\thandleChange: PropTypes.func.isRequired,\n\thandleSearchIconClick: PropTypes.func.isRequired,\n\thandleClearIconClick: PropTypes.func.isRequired,\n\thandleGeneralKeyDown: PropTypes.func.isRequired,\n\thandleCancelButtonClick: PropTypes.func.isRequired,\n\tonUpArrowKeyDown: PropTypes.func.isRequired,\n\tonDownArrowKeyDown: PropTypes.func.isRequired,\n\tonInputSubmit: PropTypes.func.isRequired,\n\tonEscapeKeyDown: PropTypes.func.isRequired,\n\tariaSelected: PropTypes.shape({\n\t\tsectionIndex: PropTypes.number.isRequired,\n\t\trecordIndex: PropTypes.number.isRequired\n\t}),\n\t// eslint-disable-next-line react/no-unused-prop-types\n\texactMatch: exactMatchDataShape,\n\tisLegacyWorkspace: PropTypes.bool,\n\tsearchInputPlaceholder: PropTypes.string,\n\tsearchTerm: PropTypes.string,\n\tsearchContexts: PropTypes.array,\n\tselectedSearchContext: PropTypes.object,\n\tcontextDropdownOpened: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tisCollapsedView: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nComponentTypeaheadInput.defaultProps = {\n\ttypeaheadInputValue: '',\n\tsearchExpanded: false,\n\tdropdownVisible: false,\n\tisDisabled: false,\n\tariaSelected: {\n\t\tsectionIndex: -1,\n\t\trecordIndex: -1\n\t},\n\texactMatch: undefined,\n\tisLegacyWorkspace: undefined,\n\tsearchInputPlaceholder: DEFAULT_PLACEHODLER,\n\tsearchContexts: [],\n\tselectedSearchContext: undefined,\n\tsearchTerm: undefined,\n\tcontextDropdownOpened: false,\n\tisGlobal: undefined,\n\tinputClicked: false,\n\tdefaultStateGlobalView: false,\n\tisCollapsedView: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\trequestCriterionRegex:\n\t\t\tconfig.global_search_config.exact_match_request_criterion_regex\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentTypeaheadInput);\n","export default function requestIdleCallback(...args) {\n\treturn (window.requestIdleCallback || window.setTimeout)(...args);\n}","import requestIdleCallback from './requestIdleCallback';\n\nconst inMemoryCache = new Map();\nconst cache = {\n\tget(key) {\n\t\tlet item = inMemoryCache.get(key);\n\t\tif (item)\n\t\t\treturn item;\n\n\t\titem = window.localStorage.getItem(`searchConfig_${key}`)\n\t\treturn item ? JSON.parse(item) : null;\n\t},\n\tset(key, value) {\n\t\tinMemoryCache.set(key, value);\n\t\trequestIdleCallback(() => {\n\t\t\ttry {\n\t\t\t\twindow.localStorage.setItem(`searchConfig_${key}`, JSON.stringify(value));\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(`view config ${key} could not be cached`); // eslint-disable-line no-console\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default cache;","/* eslint-disable prettier/prettier */\n/* eslint-disable no-undef */\nimport get from 'lodash/get';\nimport merge from 'lodash/merge';\nimport omit from 'lodash/omit';\nimport trim from 'lodash/trim';\nimport isEmpty from 'lodash/isEmpty';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { getProperty } from 'sn-uxpage-presource';\nimport getBehaviorProp from '../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG, USER_PREFERENCE } from '../behaviors';\nimport { ConfigProvider } from '../lib/sn-component-workspace-config';\nimport ErrorBoundary from '../utils/ErrorBoundary';\nimport GlobalSearchUtils from '../utils/GlobalSearchUtils';\nimport PresourceDefaults from '../utils/PresourceDefaults';\nimport {\n\thasExactMatchReadingFinished,\n\tisExactMatchPresent\n} from '../utils/workspaceExactMatchTypeahead';\nimport { USER_PREFERENCES_FETCH, FIT_RESIZE, FETCH_ALL_CONFIGURATIONS } from './actions';\nimport ComponentExactMatch from './ComponentExactMatch';\nimport ComponentRecentActions from './ComponentRecentActions';\nimport ComponentTypeaheadInput from './ComponentTypeaheadInput/ComponentTypeaheadInput';\nimport { exactMatchDataShape, userPreferenceDataShape } from './propTypes';\nimport TypeaheadRecord from './TypeaheadPopover/TypeaheadRecord';\nimport style from './_componentWorkspaceGlobalSearchTypeahead.scss';\nimport {\n\tCLICK,\n\tKEYDOWN,\n\tSEARCH_LABEL,\n\tTAB_KEY_CODE,\n\tWINDOW_SIZE\n} from './constants';\nimport cache from '../utils/configCache';\n\nconst GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS = {\n\ttypeaheadInputValue: '',\n\tdropdownVisible: false,\n\tsearchExpanded: false,\n\tisDisabled: false,\n\tinputClicked: false,\n\tdefaultStateGlobalView: false\n};\n\nconst ENUM_TYPEAHEAD_MODES = {\n\tRESULTS: 'results',\n\tRECENT_ACTIONS: 'recent_actions',\n\tEXACT_MATCH: 'exact_match'\n};\n\nconst configFromSysProperties = () => {\n\tconst globalSearchConfig = {};\n\tconst typeaheadDebounce = GlobalSearchUtils.getSysPropertyAsNumber(\n\t\t'com.snc.agent_workspace.global_search.typeahead.debounce'\n\t);\n\tif (typeaheadDebounce)\n\t\tglobalSearchConfig.typeahead_debounce = typeaheadDebounce;\n\n\tconst exactMatchRequestCriterionRegex = getProperty(\n\t\t'com.snc.agent_workspace.global_search.typeahead.exact_match_request_criterion_regex'\n\t);\n\tif (exactMatchRequestCriterionRegex)\n\t\tglobalSearchConfig.exact_match_request_criterion_regex = exactMatchRequestCriterionRegex;\n\n\treturn { global_search_config: globalSearchConfig };\n};\n\nconst getGlobalSearchConfigPresourceData = (props) =>\n\tgetBehaviorProp(props, GLOBAL_SEARCH_CONFIG);\nconst getUserPreferencePresourceData = (props) =>\n\tgetBehaviorProp(props, USER_PREFERENCE);\n\nclass ComponentWorkspaceGlobalSearchTypeahead extends React.Component {\n\tstatic get DEFAULT_LOCAL_PROPS() {\n\t\treturn GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS;\n\t}\n\n\tstatic get MODES() {\n\t\treturn ENUM_TYPEAHEAD_MODES;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst {\n\t\t\tproperties: { searchTerm }\n\t\t} = props;\n\t\tthis.state = {\n\t\t\tnavigateInDirection: '',\n\t\t\thasActiveRecord: false,\n\t\t\tactiveRecord: {},\n\t\t\tariaSelected: {\n\t\t\t\trecordIndex: -1,\n\t\t\t\tsectionIndex: -1\n\t\t\t},\n\t\t\tdropdownVisible: false,\n\t\t\tisDisabled: false,\n\t\t\ttypeaheadInputValue: searchTerm ? searchTerm : '',\n\t\t\tsearchExpanded: false,\n\t\t\tinputClicked: false,\n\t\t\tclearClicked: false,\n\t\t\tdefaultStateGlobalView: false,\n\t\t\tisCollapsedView: props.properties.windowSize != WINDOW_SIZE.EXPANDED\n\t\t};\n\n\t\tthis.onSearchInputSubmit = this.onSearchInputSubmit.bind(this);\n\t\tthis.onSearchInputEscapeKeyDown = this.onSearchInputEscapeKeyDown.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onTypeaheadRecordClick = this.onTypeaheadRecordClick.bind(this);\n\t\tthis.onActiveRecordUpdate = this.onActiveRecordUpdate.bind(this);\n\t\tthis.setNavigationDirection = this.setNavigationDirection.bind(this);\n\t\tthis.clearActiveRecord = this.clearActiveRecord.bind(this);\n\t\tthis.handleBlur = this.handleBlur.bind(this);\n\t\tthis.handleFocus = this.handleFocus.bind(this);\n\t\tthis.handleChange = this.handleChange.bind(this);\n\t\tthis.handleSearchIconClick = this.handleSearchIconClick.bind(this);\n\t\tthis.handleClearIconClick = this.handleClearIconClick.bind(this);\n\t\tthis.handleGeneralKeyDown = this.handleGeneralKeyDown.bind(this);\n\t\tthis.getResolvedConfig = this.getResolvedConfig.bind(this);\n\t\tthis.handleOutClick = this.handleOutClick.bind(this);\n\t\tthis.handleTabKeyPress = this.handleTabKeyPress.bind(this);\n\t\tthis.handleCancelButtonClick = this.handleCancelButtonClick.bind(this);\n\t\tthis.updateInputStateOnSubmit = this.updateInputStateOnSubmit.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.updateInputStateOnClose = this.updateInputStateOnClose.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(CLICK, this.handleOutClick, true);\n\t\tdocument.addEventListener(KEYDOWN, this.handleTabKeyPress, false);\n\t\tthis.setState({ isDisabled: false });\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(CLICK, this.handleOutClick, true);\n\t\tdocument.removeEventListener(KEYDOWN, this.handleTabKeyPress, false);\n\t}\n\t/**\n\t *** Polaris ON Input States ***\n\t * A: Default State with inactive input with Search Placeholder\n\t`* B: Default State with inactive input with Search term\n\t * C: Active Input State\n\t * D: Collapsed Input with search button\n\t * E: Input with cancel button\n\t * F: Collapsed input with search term in it\n\n\t * Different behaviors:\n\t\twindowSize is Expanded :\n\t\t\t1. On Launch State A\n\t\t\t2. Upon search term submit display state B\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State B\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State A\n\t\twindowSize is Collapsed\n\t\t\t1. Launch State D\n\t\t\t2. Upon search term submit display state B\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State B\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State D\n\t\t\t5. Upon refresh with search term State F\n\t\twindowSize is Mobile\n\t\t\t1. Launch State D\n\t\t\t2. Upon Input Active State E\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State F\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State D\n\t**/\n\n\tcomponentDidUpdate(_prevProps, prevState) {\n\t\tconst { isDisabled: prevDisabled } = prevState;\n\t\tconst { isDisabled: currDisabled, typeaheadInputValue } = this.state;\n\t\tconst {\n\t\t\texactMatch,\n\t\t\tproperties: {\n\t\t\t\tsearchTerm: currSearchTerm,\n\t\t\t\twindowSize: currWindowSize\n\t\t\t}\n\t\t} = this.props;\n\t\tconst {\n\t\t\tproperties: { searchTerm: prevSearchTerm }\n\t\t} = _prevProps;\n\n\t\t// enable input if disabled and exact match reading is finished\n\t\tif (\n\t\t\tprevDisabled &&\n\t\t\tcurrDisabled &&\n\t\t\t!isEmpty(exactMatch) &&\n\t\t\t!exactMatch.isFetching\n\t\t) {\n\t\t\tthis.setState({ isDisabled: false });\n\t\t\tthis.onSearchInputSubmitAction(typeaheadInputValue);\n\t\t}\n\n\t\t// Update term when props change upon after refresh\n\t\tif (prevSearchTerm !== currSearchTerm) {\n\t\t\tthis.setState({\n\t\t\t\ttypeaheadInputValue: currSearchTerm\n\t\t\t});\n\n\t\t\t// This check is for when the windowSize is updated after the term is searched and refreshed\n\t\t\tif (currWindowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tif (isEmpty(typeaheadInputValue)) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\t\tinputClicked: false,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { typeaheadInputValue } = this.state;\n\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\twindowSize: currWindowSize,\n\t\t\t\tsearchTerm: currSearchTerm\n\t\t\t}\n\t\t} = this.props;\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\twindowSize: nextWindowSize,\n\t\t\t\tsearchTerm: nextSearchTerm\n\t\t\t}\n\t\t} = nextProps;\n\n\t\tif (nextSearchTerm !== currSearchTerm) {\n\t\t\tthis.setState({\n\t\t\t\ttypeaheadInputValue: nextSearchTerm\n\t\t\t});\n\t\t}\n\t\tif (currWindowSize !== nextWindowSize) {\n\t\t\tthis.setState({\n\t\t\t\tisCollapsedView: nextWindowSize != WINDOW_SIZE.EXPANDED\n\t\t\t});\n\n\t\t\tif (nextWindowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\tinputClicked: false,\n\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\tnextWindowSize === WINDOW_SIZE.COLLAPSED &&\n\t\t\t\t\t!isEmpty(typeaheadInputValue)\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\thandleOutClick = (event) => {\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (isGlobal) {\n\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\n\t\t\tconst eventSourcePath = event.composedPath\n\t\t\t\t? event.composedPath()\n\t\t\t\t: event.path;\n\t\t\tconst searchInputInPath = eventSourcePath.includes(searchInput);\n\t\t\tif (!searchInputInPath) {\n\t\t\t\tthis.updateInputStateOnClose();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleTabKeyPress = (event) => {\n\t\tconst {\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\tconst { typeaheadInputValue } = this.state;\n\t\tif (isGlobal) {\n\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\t\t\tconst contextDropdown = searchInput.getElementsByTagName(\n\t\t\t\t'now-dropdown'\n\t\t\t)[0];\n\n\t\t\tconst eventSourcePath = event.composedPath\n\t\t\t\t? event.composedPath()\n\t\t\t\t: event.path;\n\t\t\tconst searchInputInPath = eventSourcePath.includes(searchInput);\n\t\t\tconst contextDropdownInPath = eventSourcePath.includes(\n\t\t\t\tcontextDropdown\n\t\t\t);\n\n\t\t\tif (event.keyCode === TAB_KEY_CODE) {\n\t\t\t\t/*\n\t\t\t\tevent.shiftKey picks up shiftKey pressed event\n\t\t\t\tCondition used :\n\t\t\t\t1. ShiftKey + Tab + searchInput (Typeahead) + !contextDropdown (so that shift tab focuses input and  not change it to default)\n\t\t\t\t2. Tabbing away from dropdown when windowSize is collapsed or mobile so that the focuses on dropdown\n\t\t\t\t3. Tabbing away from searchInput(Typeahead) when window size is expanded\n\t\t\t\t4. Second condition also checks if typeahead value is present if it is it should focus on clear button and not change to default state\n\t\t\t\t*/\n\n\t\t\t\tif (\n\t\t\t\t\t(event.shiftKey &&\n\t\t\t\t\t\t!contextDropdownInPath &&\n\t\t\t\t\t\tsearchInputInPath) ||\n\t\t\t\t\t(isEmpty(typeaheadInputValue) &&\n\t\t\t\t\t\tsearchInputInPath &&\n\t\t\t\t\t\twindowSize === WINDOW_SIZE.EXPANDED) ||\n\t\t\t\t\t(contextDropdownInPath &&\n\t\t\t\t\t\twindowSize === WINDOW_SIZE.EXPANDED) ||\n\t\t\t\t\t(windowSize !== WINDOW_SIZE.EXPANDED &&\n\t\t\t\t\t\tcontextDropdownInPath)\n\t\t\t\t) {\n\t\t\t\t\tthis.updateInputStateOnClose();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tupdateInputStateOnClose = () => {\n\t\tconst {\n\t\t\tcontextDropdownOpened,\n\t\t\tproperties: { windowSize }\n\t\t} = this.props;\n\t\tconst { defaultStateGlobalView, typeaheadInputValue } = this.state;\n\t\tif (isEmpty(typeaheadInputValue) && !contextDropdownOpened) {\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tsearchExpanded: false,\n\t\t\t\tinputClicked: false,\n\t\t\t\thasActiveRecord: false\n\t\t\t});\n\t\t} else\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tsearchExpanded: true,\n\t\t\t\tinputClicked: false\n\t\t\t});\n\t\tif (windowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\tif (!defaultStateGlobalView || isEmpty(typeaheadInputValue)) {\n\t\t\t\tif (contextDropdownOpened) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tinputClicked: true,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\t\tinputClicked: false,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\twindowSize === WINDOW_SIZE.COLLAPSED &&\n\t\t\t\t!isEmpty(typeaheadInputValue)\n\t\t\t) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\tinputClicked: false,\n\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\tupdateInputStateOnSubmit() {\n\t\tconst {\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\tif (isGlobal && windowSize !== WINDOW_SIZE.MOBILE) {\n\t\t\tthis.setState({\n\t\t\t\tinputClicked: false\n\t\t\t});\n\t\t\tif (windowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tonSearchInputSubmit(term) {\n\t\tconst { hasActiveRecord } = this.state;\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (hasActiveRecord) {\n\t\t\tthis.dispatchActiveRecord(term);\n\t\t\t// Record should go to default state view when polaris is on\n\t\t\tif (!isGlobal) return;\n\t\t\telse {\n\t\t\t\tthis.updateInputStateOnSubmit();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t!hasExactMatchReadingFinished(\n\t\t\t\tthis.props,\n\t\t\t\tterm,\n\t\t\t\tthis.config.global_search_config\n\t\t\t\t\t.exact_match_request_criterion_regex,\n\t\t\t\tthis.config.global_search_config.exact_match_enabled\n\t\t\t)\n\t\t) {\n\t\t\t// Disable typeahead input controls. Hide dropdown. Go in lockdown state.\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tisDisabled: true\n\t\t\t});\n\t\t\t// Record should go to default state view when polaris is on\n\t\t\tif (isGlobal) this.updateInputStateOnSubmit();\n\t\t}\n\n\t\tthis.onSearchInputSubmitAction(term);\n\t}\n\n\tonSearchInputSubmitAction(term) {\n\t\tconst {\n\t\t\texactMatch,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tthis.setState({\n\t\t\tdropdownVisible: false,\n\t\t\tisDisabled: false\n\t\t});\n\t\tif (isExactMatchPresent(this.props, term)) {\n\t\t\tconst sysId = get(exactMatch, 'sys_id');\n\t\t\tconst table = get(exactMatch, 'table');\n\t\t\tconst recordUrl = get(exactMatch, 'record.record_url');\n\t\t\tconst title = get(exactMatch, 'metadata.title' , '');\n\n\t\t\tGlobalSearchUtils.dispatchItemSelected(dispatch, {\n\t\t\t\tsys_id: sysId,\n\t\t\t\ttable,\n\t\t\t\trecord_url: recordUrl,\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t} else if (term) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, term);\n\t\t}\n\t\tthis.updateInputStateOnSubmit();\n\t}\n\n\tonSearchInputEscapeKeyDown() {\n\t\tthis.setState({ dropdownVisible: false });\n\t\tthis.onActiveRecordUpdate(false);\n\t}\n\n\tonTypeaheadRecordClick(record) {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\treturn () => {\n\t\t\tconst recordType = typeof record === 'string' ? 'term' : 'result';\n\t\t\tif (recordType === 'term') {\n\t\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, record);\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\ttypeaheadInputValue: record,\n\t\t\t\t\tsearchExpanded: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (recordType === 'result') {\n\t\t\t\tGlobalSearchUtils.dispatchItemSelected(dispatch, record);\n\t\t\t\tthis.resetTypeaheadState(false);\n\t\t\t}\n\t\t\t/*\n\t\t\tHandles Edge case where suggestion from typeahead record is clicked and input should go to default state\n\t\t\t*/\n\t\t\tif (isGlobal) {\n\t\t\t\tthis.updateInputStateOnSubmit();\n\t\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\t\t\t\tconst typeaheadInput = searchInput.getElementsByClassName(\n\t\t\t\t\t'sn-global-typeahead-input'\n\t\t\t\t)[0];\n\t\t\t\ttypeaheadInput.blur();\n\t\t\t}\n\t\t};\n\t}\n\n\t// this may not be the best way of achieving this since we are passing down an action rather than a static attribute/prop ... but it helps to keep the component logic separated and the code to be sanely maintainable\n\tonActiveRecordUpdate(activeRecord, ariaSelected) {\n\t\tif (activeRecord) {\n\t\t\tthis.setState({\n\t\t\t\tnavigateInDirection: '',\n\t\t\t\thasActiveRecord: true,\n\t\t\t\tactiveRecord,\n\t\t\t\tariaSelected\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tnavigateInDirection: '',\n\t\t\t\thasActiveRecord: false,\n\t\t\t\tactiveRecord: {},\n\t\t\t\tariaSelected\n\t\t\t});\n\t\t}\n\t}\n\n\tget currentMode() {\n\t\tconst { typeaheadInputValue } = this.state;\n\n\t\tif (trim(typeaheadInputValue) === '') {\n\t\t\treturn this.constructor.MODES.RECENT_ACTIONS;\n\t\t}\n\n\t\treturn this.constructor.MODES.EXACT_MATCH;\n\t}\n\n\tgetResolvedConfig() {\n\t\tconst {\n\t\t\tworkspaceConfigs,\n\t\t\tproperties: { isLegacyWorkspace, globalSearchViewConfigId }\n\t\t} = this.props;\n\n\t\tif (!isLegacyWorkspace && isEmpty(workspaceConfigs)) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (!isLegacyWorkspace && workspaceConfigs[globalSearchViewConfigId]) {\n\t\t\treturn {\n\t\t\t\tglobal_search_config: workspaceConfigs[globalSearchViewConfigId]\n\t\t\t};\n\t\t}\n\n\t\tconst prefetchedConfig = getGlobalSearchConfigPresourceData(this.props);\n\t\tconst userPref = getUserPreferencePresourceData(this.props);\n\n\t\treturn {\n\t\t\tglobal_search_config: {\n\t\t\t\t...prefetchedConfig,\n\t\t\t\t...userPref\n\t\t\t}\n\t\t};\n\t}\n\n\tget config() {\n\t\tconst resolvedConfig = merge(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tglobal_search_config: PresourceDefaults[GLOBAL_SEARCH_CONFIG],\n\t\t\t\tsearch_sources: []\n\t\t\t},\n\t\t\tthis.getResolvedConfig(),\n\t\t\tconfigFromSysProperties()\n\t\t);\n\t\treturn resolvedConfig;\n\t}\n\n\tsetNavigationDirection(up) {\n\t\treturn () => {\n\t\t\tconst navigateInDirection = up ? 'up' : 'down';\n\t\t\tthis.setState({ navigateInDirection });\n\t\t};\n\t}\n\n\thandleBlur = () => {\n\t\tconst { typeaheadInputValue } = this.state;\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (!isGlobal) {\n\t\t\tif (typeaheadInputValue.length === 0) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: false\n\t\t\t\t}, () => this.clearActiveRecord());\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: true\n\t\t\t\t}, () => this.clearActiveRecord());\n\t\t\t}\n\t\t}\n\t};\n\n\thandleFocus = () => {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tproperties: { isGlobal, userPreferencesContext, globalSearchViewConfigId }\n\t\t} = this.props;\n\n\t\tif (isGlobal && globalSearchViewConfigId && !cache.get(globalSearchViewConfigId)) {\n\t\t\tdispatch(FETCH_ALL_CONFIGURATIONS);\n\t\t}\n\t\tdispatch(USER_PREFERENCES_FETCH, { name: userPreferencesContext });\n\n\t\tthis.setState({\n\t\t\tdropdownVisible: true,\n\t\t\tsearchExpanded: true\n\t\t}, () => this.clearActiveRecord());\n\t\tif (isGlobal) {\n\t\t\tthis.setState({ inputClicked: true });\n\t\t}\n\t};\n\n\thandleChange = (value) => {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tthis.clearActiveRecord();\n\t\tthis.setState({ typeaheadInputValue: value });\n\t\tdispatch(FIT_RESIZE);\n\t};\n\n\thandleSearchIconClick = () => {\n\t\tconst { searchExpanded } = this.state;\n\t\tthis.setState({\n\t\t\tsearchExpanded: !searchExpanded,\n\t\t\tdropdownVisible: !searchExpanded,\n\t\t\tinputClicked: true\n\t\t});\n\t};\n\n\thandleClearIconClick = () => {\n\t\tthis.setState({\n\t\t\ttypeaheadInputValue: '',\n\t\t\tdropdownVisible: true,\n\t\t\tclearClicked: true\n\t\t});\n\t};\n\n\thandleCancelButtonClick = () => {\n\t\tthis.setState({\n\t\t\tdropdownVisible: false,\n\t\t\tsearchExpanded: false,\n\t\t\tinputClicked: false\n\t\t});\n\t};\n\n\thandleGeneralKeyDown = () => {\n\t\tthis.setState({\n\t\t\tdropdownVisible: true,\n\t\t\tinputClicked: true\n\t\t});\n\t};\n\n\tclearActiveRecord() {\n\t\tconst { ariaSelected } = this.state;\n\t\tthis.onActiveRecordUpdate(false, ariaSelected);\n\t}\n\n\tdispatchActiveRecord(term = '') {\n\t\tconst { activeRecord } = this.state;\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tif (activeRecord.type === TypeaheadRecord.TYPES.TERM) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, activeRecord.term);\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\ttypeaheadInputValue: activeRecord.term,\n\t\t\t\tsearchExpanded: true\n\t\t\t});\n\t\t} else if (activeRecord.type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\tGlobalSearchUtils.dispatchItemSelected(\n\t\t\t\tdispatch,\n\t\t\t\tactiveRecord.item,\n\t\t\t\tactiveRecord.sourceId\n\t\t\t);\n\t\t\tthis.resetTypeaheadState(false);\n\t\t} else if (\n\t\t\tactiveRecord.type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION\n\t\t) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, term);\n\t\t\tthis.setState({ dropdownVisible: false });\n\t\t}\n\t\tthis.setState({ hasActiveRecord: false, activeRecord: {} });\n\t}\n\n\tresetTypeaheadState(dropdownVisible) {\n\t\tthis.setState(\n\t\t\tObject.assign({}, this.constructor.DEFAULT_LOCAL_PROPS, {\n\t\t\t\tdropdownVisible\n\t\t\t})\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tariaSelected,\n\t\t\tdropdownVisible,\n\t\t\thasActiveRecord,\n\t\t\tnavigateInDirection,\n\t\t\ttypeaheadInputValue,\n\t\t\tsearchExpanded,\n\t\t\tisDisabled,\n\t\t\tinputClicked,\n\t\t\tclearClicked,\n\t\t\tdefaultStateGlobalView,\n\t\t\tvariant,\n\t\t\tisCollapsedView,\n\t\t} = this.state;\n\t\tconst {\n\t\t\texactMatch,\n\t\t\tglobalSearchAction,\n\t\t\tsysId,\n\t\t\ttable,\n\t\t\titem,\n\t\t\tuserPreferences,\n\t\t\tcontextDropdownOpened,\n\t\t\tfetchingPreferences,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\tproperties: {\n\t\t\t\tisLegacyWorkspace,\n\t\t\t\tisGlobal,\n\t\t\t\tsearchInputPlaceholder,\n\t\t\t\tsearchContexts,\n\t\t\t\tsearchTerm,\n\t\t\t\tselectedSearchContext,\n\t\t\t\twindowSize\n\t\t\t}\n\t\t} = this.props;\n\n\t\tconst term = clearClicked ? '' : searchTerm;\n\t\tconst otherSeismicProps = omit(this.props, ['channels', 'instanceId']);\n\t\tconst seismicProps = {\n\t\t\t...otherSeismicProps,\n\t\t\t...globalSearchAction\n\t\t};\n\n\t\tconst isRecentActionsVisible =\n\t\t\tdropdownVisible &&\n\t\t\tthis.currentMode === this.constructor.MODES.RECENT_ACTIONS &&\n\t\t\tuserPreferences &&\n\t\t\tuserPreferences.typeaheadRecentActionsModel &&\n\t\t\tuserPreferences.typeaheadRecentActionsModel.size > 0;\n\n\t\tconst isExactMatchResultVisible =\n\t\t\tdropdownVisible &&\n\t\t\tthis.currentMode === this.constructor.MODES.EXACT_MATCH;\n\n\t\t// temporary workaround for seismic issue\n\t\tif (sysId !== this.sysId) {\n\t\t\tconst itemSelected = {\n\t\t\t\tsys_id: sysId,\n\t\t\t\ttable,\n\t\t\t\titem,\n\t\t\t\taction: 'ITEM_SELECTED',\n\t\t\t\tactionMetadata: {\n\t\t\t\t\tsourceId: ''\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.sysId = sysId;\n\t\t\tObject.assign(seismicProps, itemSelected);\n\t\t}\n\n\t\t// for platform global search, the default placeholder should be 'Search'\n\t\tconst placeholderText = isGlobal\n\t\t\t? SEARCH_LABEL\n\t\t\t: searchInputPlaceholder;\n\n\t\treturn (\n\t\t\t<ConfigProvider config={this.config}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tsearchExpanded && !isGlobal\n\t\t\t\t\t\t\t? 'sn-global-typeahead open'\n\t\t\t\t\t\t\t: 'sn-global-typeahead'\n\t\t\t\t\t}>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<ComponentTypeaheadInput\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\texactMatch={exactMatch}\n\t\t\t\t\t\t\tonUpArrowKeyDown={this.setNavigationDirection(true)}\n\t\t\t\t\t\t\tonDownArrowKeyDown={this.setNavigationDirection(\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonInputSubmit={this.onSearchInputSubmit}\n\t\t\t\t\t\t\tonEscapeKeyDown={this.onSearchInputEscapeKeyDown}\n\t\t\t\t\t\t\thandleBlur={this.handleBlur}\n\t\t\t\t\t\t\thandleChange={this.handleChange}\n\t\t\t\t\t\t\thandleFocus={this.handleFocus}\n\t\t\t\t\t\t\thandleSearchIconClick={this.handleSearchIconClick}\n\t\t\t\t\t\t\thandleClearIconClick={this.handleClearIconClick}\n\t\t\t\t\t\t\thandleGeneralKeyDown={this.handleGeneralKeyDown}\n\t\t\t\t\t\t\thandleCancelButtonClick={\n\t\t\t\t\t\t\t\tthis.handleCancelButtonClick\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tariaSelected={ariaSelected}\n\t\t\t\t\t\t\ttypeaheadInputValue={typeaheadInputValue}\n\t\t\t\t\t\t\tsearchExpanded={searchExpanded}\n\t\t\t\t\t\t\tdropdownVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened && dropdownVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\tsearchInputPlaceholder={placeholderText}\n\t\t\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\tsearchTerm={term}\n\t\t\t\t\t\t\tcontextDropdownOpened={contextDropdownOpened}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tinputClicked={inputClicked}\n\t\t\t\t\t\t\tisCollapsedView={isCollapsedView}\n\t\t\t\t\t\t\tdefaultStateGlobalView={defaultStateGlobalView}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t{!isGlobal || inputClicked && searchExpanded ? <ComponentExactMatch\n\t\t\t\t\t\t\ttypeaheadInputValue={typeaheadInputValue}\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tdata={exactMatch}\n\t\t\t\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\t\t\t\tonActiveRecordUpdate={this.onActiveRecordUpdate}\n\t\t\t\t\t\t\tonTypeaheadRecordClick={this.onTypeaheadRecordClick}\n\t\t\t\t\t\t\tisVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened &&\n\t\t\t\t\t\t\t\t!!isExactMatchResultVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/> : null }\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t{!isGlobal || inputClicked && searchExpanded ? <ComponentRecentActions\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\t\t\t\tonActiveRecordUpdate={this.onActiveRecordUpdate}\n\t\t\t\t\t\t\tonTypeaheadRecordClick={this.onTypeaheadRecordClick}\n\t\t\t\t\t\t\tisVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened && isRecentActionsVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tuserPreferencesFetching={fetchingPreferences}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/> : null }\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t<\/div>\n\t\t\t<\/ConfigProvider>\n\t\t);\n\t}\n}\n\n/* eslint-disable react/forbid-prop-types */\nComponentWorkspaceGlobalSearchTypeahead.propTypes = {\n\texactMatch: exactMatchDataShape,\n\tproperties: PropTypes.shape({\n\t\tglobalSearchViewConfigId: PropTypes.string,\n\t\tisLegacyWorkspace: PropTypes.bool,\n\t\tisGlobal: PropTypes.bool,\n\t\tsearchInputPlaceholder: PropTypes.string,\n\t\tselectedSearchContext: PropTypes.object,\n\t\tsearchContexts: PropTypes.array,\n\t\tsearchTerm: PropTypes.string,\n\t\twindowSize: PropTypes.string\n\t}),\n\tglobalSearchAction: PropTypes.object,\n\thelpers: PropTypes.func.isRequired,\n\tuserPreferences: userPreferenceDataShape,\n\tsysId: PropTypes.string,\n\ttable: PropTypes.string,\n\titem: PropTypes.object,\n\tworkspaceConfigs: PropTypes.objectOf(\n\t\tPropTypes.shape({\n\t\t\tviewConfig: PropTypes.object,\n\t\t\texactMatchPreference: PropTypes.object\n\t\t})\n\t),\n\tcontextDropdownOpened: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTypeahead.defaultProps = {\n\tglobalSearchAction: undefined,\n\titem: undefined,\n\tsysId: undefined,\n\ttable: undefined,\n\tuserPreferences: undefined,\n\texactMatch: undefined,\n\tproperties: {\n\t\tglobalSearchViewConfigId: undefined,\n\t\tisLegacyWorkspace: undefined,\n\t\tisGlobal: undefined,\n\t\tsearchInputPlaceholder: undefined,\n\t\tsearchContexts: [],\n\t\tselectedSearchContext: { searchDataConfigId: 'c861cea2c7022010099a308dc7c26041' },\n\t\tsearchTerm: '',\n\t\twindowSize: ''\n\t},\n\tworkspaceConfigs: {},\n\tcontextDropdownOpened: false\n};\n\nComponentWorkspaceGlobalSearchTypeahead.style = `${style}`;\n\nexport default ComponentWorkspaceGlobalSearchTypeahead;\n","import { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nexport default (userPreferences) => {\n\tlet recentActions;\n\n\tif (userPreferences && userPreferences.value) {\n\t\tconst rawData = userPreferences.value;\n\t\ttry {\n\t\t\trecentActions = JSON.parse(rawData);\n\t\t} catch (e) {\n\t\t\tLOG.warn(\n\t\t\t\t'An error occurred parsing a user preference value: ',\n\t\t\t\trawData\n\t\t\t);\n\t\t}\n\t}\n\n\treturn recentActions;\n};\n","import has from 'lodash/has';\nimport {\n\tITEM_SELECTED,\n\tRECENT_ACTIONS_MODEL_SET,\n\tTERM_SEARCHED,\n\tUSER_PREFERENCES_SET,\n\tUSER_PREFERENCES_FETCH,\n\tSN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED,\n\tSN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED\n} from '../../actions';\nimport { parseUserPreferenceValue } from '../utils';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\nimport {\n\tRECENTLY_SEARCHED,\n\tRECENTLY_VIEWED,\n\tKNOWLEDGE_TABLE,\n\tKNOWLEDGE_VIEW_PATH\n} from '../../constants';\nimport cache from '../../../utils/configCache';\n\nconst addRecentAction = (\n\tdispatch,\n\tmodel,\n\ttype,\n\tactionData,\n\tmetadata,\n\tuserPrefName = ''\n) => {\n\tconst stringifiedRecentActions = model.addRecentAction(\n\t\ttype,\n\t\tactionData,\n\t\tmetadata\n\t);\n\n\tdispatch(USER_PREFERENCES_SET, {\n\t\tname: userPrefName,\n\t\tvalue: stringifiedRecentActions\n\t});\n};\n\nconst getGlobalConfigs = (state) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tisGlobal\n\t\t}\n\t} = state;\n\tif (workspaceConfigs && globalSearchViewConfigId in workspaceConfigs) {\n\t\treturn state.workspaceConfigs[globalSearchViewConfigId].viewConfig;\n\t}\n\n\tif (isGlobal)\n\t\treturn cache.get(globalSearchViewConfigId) ? cache.get(globalSearchViewConfigId).viewConfig : getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nexport default ({ state, action, dispatch }) => {\n\tconst {\n\t\taction: payloadAction,\n\t\tactionMetadata: payloadActionMetadata\n\t} = action.payload;\n\n\tconst {\n\t\tuserPreferences,\n\t\tproperties: {\n\t\t\tselectedSearchContext,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tuserPreferencesContext\n\t\t}\n\t} = state;\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tconst {\n\t\tlastTermAddedAsRecentAction,\n\t\tlastSysIdAddedAsRecentAction\n\t} = userPreferences;\n\n\tconst typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences, userPreferencesContext),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tRECENTLY_SEARCHED,\n\t\tRECENTLY_VIEWED\n\t);\n\n\tdispatch([RECENT_ACTIONS_MODEL_SET], {\n\t\tmodel: typeaheadRecentActionsModel\n\t});\n\n\tif (\n\t\tpayloadAction === ITEM_SELECTED &&\n\t\thas(payloadActionMetadata, 'sourceId')\n\t) {\n\t\tconst {\n\t\t\titem,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle\n\t\t} = action.payload;\n\t\tconst { sourceId } = payloadActionMetadata;\n\t\tconst recordData = {\n\t\t\tdata: item,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle\n\t\t};\n\t\tconst url =\n\t\t\ttable === KNOWLEDGE_TABLE\n\t\t\t\t? recordUrl || `${KNOWLEDGE_VIEW_PATH}${sysId}`\n\t\t\t\t: recordUrl;\n\n\t\tif (lastSysIdAddedAsRecentAction !== sysId && sysId) {\n\t\t\taddRecentAction(\n\t\t\t\tdispatch,\n\t\t\t\ttypeaheadRecentActionsModel,\n\t\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED,\n\t\t\t\trecordData,\n\t\t\t\t{ sourceId },\n\t\t\t\tuserPreferencesContext\n\t\t\t);\n\t\t}\n\t\tdispatch(SN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED, {\n\t\t\ttable,\n\t\t\tsysId,\n\t\t\trecordUrl: url,\n\t\t\tselectedSearchContext,\n\t\t\ttitle\n\t\t});\n\t} else if (payloadAction === TERM_SEARCHED) {\n\t\tconst { term } = action.payload;\n\t\tif (lastTermAddedAsRecentAction !== term && term) {\n\t\t\taddRecentAction(\n\t\t\t\tdispatch,\n\t\t\t\ttypeaheadRecentActionsModel,\n\t\t\t\tRecentActionsModel.SECTIONS.TERM_SEARCHED,\n\t\t\t\tterm,\n\t\t\t\t{},\n\t\t\t\tuserPreferencesContext\n\t\t\t);\n\t\t}\n\t\tconst searchViewConfigId = selectedSearchContext\n\t\t\t? selectedSearchContext.searchViewConfigId\n\t\t\t: globalSearchViewConfigId;\n\n\t\tdispatch(SN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED, {\n\t\t\tsearchTerm: term,\n\t\t\tglobalSearchViewConfigId: searchViewConfigId,\n\t\t\tselectedSearchContext\n\t\t});\n\t}\n\n\tdispatch(USER_PREFERENCES_FETCH, {\n\t\tname: userPreferencesContext\n\t});\n};\n","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\nimport cache from \"../../../utils/configCache\";\n\nconst handlePropertyChangedEffect = ({\n\tstate,\n\tdispatch,\n\taction\n}) => {\n\tconst {\n\t\tpayload: { name }\n\t} = action;\n\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: { globalSearchViewConfigId, isGlobal }\n\t} = state;\n\n\tif ( name === 'globalSearchViewConfigId' && globalSearchViewConfigId && !cache.get(globalSearchViewConfigId)) {\n\t\t\tif (!(globalSearchViewConfigId in workspaceConfigs)) {\n\t\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\t\tglobalSearchViewConfigId, \n\t\t\t\t\t\tnull\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t}\n\t }\n};\n\nexport default handlePropertyChangedEffect;\n","const handleRecentActionsModelSet = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\tuserPreferences: {\n\t\t\t...state.userPreferences,\n\t\t\ttypeaheadRecentActionsModel: action.payload.model\n\t\t}\n\t});\n\nexport default handleRecentActionsModelSet;\n","const handleTypeaheadExactMatchFailedEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\t...state.exactMatch,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchFailedEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED\n} from '../../actions';\n\nconst handleTypeaheadExactMatchFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/exactmatch?sysparm_term=:term&sysparm_search_context_config_id=:searchContextConfigId',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['term', 'searchContextConfigId'],\n\t\tstartActionType: EXACT_MATCH_STARTED,\n\t\tsuccessActionType: EXACT_MATCH_SUCCEEDED,\n\t\terrorActionType: EXACT_MATCH_FAILED\n\t}\n);\n\nexport default handleTypeaheadExactMatchFetchEffect;\n","const handleTypeaheadExactMatchStartedEffect = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchStartedEffect;\n","import get from 'lodash/get';\n\nconst transformTypeaheadExactMatchResponse = (response) => {\n\tconst term = get(response, 'result.term');\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (term && !record) {\n\t\treturn {\n\t\t\thasExactMatch: false,\n\t\t\tterm\n\t\t};\n\t}\n\n\tif (!term || !record || !displayFields) return undefined;\n\n\tconst { metadata, sys_id: sysId, table } = record;\n\n\treturn {\n\t\tterm,\n\t\trecord,\n\t\tmetadata,\n\t\tdisplayFields,\n\t\tsys_id: sysId,\n\t\ttable,\n\t\thasExactMatch: true\n\t};\n};\n\nexport default transformTypeaheadExactMatchResponse;\n","import transformTypeaheadExactMatchResponse from './transformTypeaheadExactMatchResponse';\n\nconst handleTypeaheadExactMatchSucceededEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTypeaheadExactMatchResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchSucceededEffect;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tUSER_PREFERENCES_FETCH_STARTED,\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH_FAILED\n} from '../../actions';\n\nconst userPreferenceQuery = `query($name: [String]!){\n    GlideDomain_Query {\n        user {\n            preferences(name: $name) {\n                name,\n                value\n            }\n        }\n    }\n}`;\n\nconst handleTypeaheadUserPreferenceFetch = createGraphQLEffect(\n\tuserPreferenceQuery,\n\t{\n\t\tvariableList: ['name'],\n\t\tstartActionType: USER_PREFERENCES_FETCH_STARTED,\n\t\tsuccessActionType: USER_PREFERENCES_FETCH_SUCCEEDED,\n\t\terrorActionType: USER_PREFERENCES_FETCH_FAILED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceFetch;\n","const handleTypeaheadUserPreferenceFetchFailed = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\terror: action.payload,\n\t\tfetchingPreferences: false\n\t});\n\nexport default handleTypeaheadUserPreferenceFetchFailed;\n","const handleTypeaheadUserPreferenceFetchStarted = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: true\n\t});\n\nexport default handleTypeaheadUserPreferenceFetchStarted;\n","import get from 'lodash/get';\nimport parseUserPreferenceValue from '../utils/parseUserPreferenceValue';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\nimport { RECENTLY_SEARCHED, RECENTLY_VIEWED } from '../../constants';\nimport cache from \"../../../utils/configCache\";\n\nconst getGlobalConfigs = (state) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tisGlobal\n\t\t}\n\t} = state;\n\n\tif (workspaceConfigs && globalSearchViewConfigId in workspaceConfigs)\n\t\treturn workspaceConfigs[globalSearchViewConfigId].viewConfig;\n\n\tif (isGlobal)\n\t\treturn cache.get(globalSearchViewConfigId) ? cache.get(globalSearchViewConfigId).viewConfig : getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nconst handleTypeaheadUserPreferenceFetchSucceeded = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst { data } = action.payload;\n\tconst userPreferencesQuery = get(data, 'GlideDomain_Query.user');\n\n\tconst userPreferences = userPreferencesQuery\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesQuery.preferences[0]\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tuserPreferences.typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tRECENTLY_SEARCHED,\n\t\tRECENTLY_VIEWED\n\t);\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: false,\n\t\tuserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceFetchSucceeded;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tUSER_PREFERENCES_SET_STARTED,\n\tUSER_PREFERENCES_SET_SUCCEEDED,\n\tUSER_PREFERENCES_SET_FAILED\n} from '../../actions';\n\nconst setUserPreferenceMutation = `\n    mutation($name: String!, $value: String!) {\n        GlideDomain_Mutation {\n            user {\n                setPreference(name: $name, value: $value) {\n                    name\n                    value\n                }\n            }\n        }\n    }\n`;\n\nconst handleTypeaheadUserPreferenceSet = createGraphQLEffect(\n\tsetUserPreferenceMutation,\n\t{\n\t\tvariableList: ['name', 'value'],\n\t\tstartActionType: USER_PREFERENCES_SET_STARTED,\n\t\tsuccessActionType: USER_PREFERENCES_SET_SUCCEEDED,\n\t\terrorActionType: USER_PREFERENCES_SET_FAILED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceSet;\n","const handleTypeaheadUserPreferenceSetFailed = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\terror: action.payload,\n\t\tfetchingPreferences: false\n\t});\n\nexport default handleTypeaheadUserPreferenceSetFailed;\n","const handleTypeaheadUserPreferenceSetStarted = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst updatedUserPreferences = { ...state.userPreferences };\n\n\tif (action.payload.action === 'ITEM_SELECTED') {\n\t\tupdatedUserPreferences.lastSysIdAddedAsRecentAction =\n\t\t\taction.payload.sysId;\n\t}\n\n\tif (action.payload.action === 'TERM_SEARCHED') {\n\t\tupdatedUserPreferences.lastTermAddedAsRecentAction =\n\t\t\taction.payload.term;\n\t}\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: true,\n\t\tuserPreferences: updatedUserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceSetStarted;\n","import get from 'lodash/get';\n\nconst handleTypeaheadUserPreferenceSetSucceeded = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst { data } = action.payload;\n\tconst userPreferencesMutation = get(data, 'GlideDomain_Mutation.user');\n\n\tconst userPreferences = userPreferencesMutation\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesMutation.setPreference\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: false,\n\t\tuserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceSetSucceeded;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DATABROKER_URI_QUERY } from '../../../common/constants';\n\nimport {\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED\n} from '../../actions';\n\nconst handleFetchConfigurationsEffect = createHttpEffect(\n\tDATABROKER_URI_QUERY,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: FETCH_CONFIGURATIONS_SUCCEEDED,\n\t\terrorActionType: FETCH_CONFIGURATIONS_FAILED\n\t}\n);\n\nexport default handleFetchConfigurationsEffect;\n","import cache from '../../../utils/configCache';\nimport {\n\tglobalSearchConfigTransform,\n\tuserPreferencesTransform\n} from '../../../behaviors/transforms';\n\nconst handleFetchConfigurationsSucceeded = ({ state, action, updateState }) => {\n\tconst { payload } = action;\n\tconst viewConfig = globalSearchConfigTransform(\n\t\t{\n\t\t\t...payload\n\t\t},\n\t\tfalse,\n\t\tfalse\n\t);\n\tconst exactMatchPreference = userPreferencesTransform(payload);\n\tupdateState({\n\t\tpath: `workspaceConfigs.${viewConfig.sys_id}`,\n\t\tvalue: {viewConfig, exactMatchPreference},\n\t\toperation: 'set'\n\t});\n\tcache.set(viewConfig.sys_id, {viewConfig, exactMatchPreference});\n};\n\nexport default handleFetchConfigurationsSucceeded;\n","import { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nconst handleFetchConfigurationsFailed = ({ action }) => {\n\tconst { payload } = action;\n\n\tLOG.error(`Failed to fetch configurations. ${payload}`);\n};\n\nexport default handleFetchConfigurationsFailed;\n","import {\n\tGLOBAL_SEARCH_WIDTH,\n\tGLOBAL_POPOVER_TOP_OFFSET,\n\tGLOBAL_SEARCH_MOBILE_WIDTH,\n\tWINDOW_SIZE\n} from '../../constants';\n\nconst createQuerySelector = (querySelector) => (host) =>\n\thost.shadowRoot.querySelector(querySelector);\nconst createQuerySelectorAll = (querySelector) => (host) =>\n\thost.shadowRoot.querySelectorAll(querySelector);\n\nconst getPopoverElements = createQuerySelectorAll('div.sn-popover');\nconst getInputContainerElement = createQuerySelector(\n\t'div.sn-global-typeahead-control-container'\n);\n\nconst handleFitResize = ({ host, properties }) => {\n\tconst { isGlobal, windowSize } = properties;\n\tconst contentElems = getPopoverElements(host);\n\tconst targetElem = getInputContainerElement(host);\n\n\tif (contentElems && contentElems.length > 0) {\n\t\tcontentElems.forEach((contentElem) => {\n\t\t\tconst currentWidth = contentElem.style.width;\n\t\t\tconst targetWidth = isGlobal\n\t\t\t\t? windowSize == WINDOW_SIZE.MOBILE\n\t\t\t\t\t? GLOBAL_SEARCH_MOBILE_WIDTH\n\t\t\t\t\t: GLOBAL_SEARCH_WIDTH\n\t\t\t\t: `${targetElem.offsetWidth + 2}px`;\n\n\t\t\tconst currentLeft = contentElem.style.left;\n\t\t\tconst targetLeft = isGlobal ? `${targetElem.offsetLeft}px` : `${targetElem.offsetLeft - 2}px`;\n\n\t\t\tconst currentTop = contentElem.style.top;\n\t\t\tconst globalTopOffset = isGlobal ? GLOBAL_POPOVER_TOP_OFFSET : 0;\n\t\t\tconst targetTop = `${targetElem.offsetTop +\n\t\t\t\ttargetElem.offsetHeight +\n\t\t\t\tglobalTopOffset}px`;\n\n\t\t\tif (currentWidth !== targetWidth)\n\t\t\t\tObject.assign(contentElem.style, { width: targetWidth });\n\t\t\tif (isGlobal)\n\t\t\t\tif (currentLeft !== targetLeft)\n\t\t\t\t\tObject.assign(contentElem.style, { left: targetLeft });\n\t\t\tif (currentTop !== targetTop)\n\t\t\t\tObject.assign(contentElem.style, { top: targetTop });\n\t\t});\n\t}\n};\n\nexport default handleFitResize;\n","const handleContextDropdownClickedEffect = ({ state, updateState }) => {\n\tconst { contextDropdownOpened } = state;\n\tupdateState({ contextDropdownOpened: !contextDropdownOpened });\n};\n\nexport default handleContextDropdownClickedEffect;\n","import { SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED, FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\nimport cache from '../../../utils/configCache';\n\nconst handleContextItemSelectedEffect = ({\n\thost,\n\taction,\n\tupdateProperties,\n\tdispatch\n}) => {\n\tconst createQuerySelector = (querySelector) => (host) =>\n\t\thost.shadowRoot.querySelector(querySelector);\n\n\tconst getInputElement = createQuerySelector(\n\t\t'input.sn-global-typeahead-input'\n\t);\n\n\tconst {\n\t\tpayload: { item }\n\t} = action;\n\n\tconst {searchViewConfigId} = item;\n\tupdateProperties({\n\t\tselectedSearchContext: item,\n\t\tglobalSearchViewConfigId: searchViewConfigId\n\t});\n\n\tif (!cache.get(searchViewConfigId)) {\n\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\tsearchViewConfigId,\n\t\t\t\tnull\n\t\t\t)\n\t\t});\n\t}\n\tdispatch(SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED, item);\n\n\t// set focus to input when context switch dropdown is closed after selection\n\tconst input = getInputElement(host);\n\t// workaround for when now-dropdown tries to restore focus to trigger element\n\tsetTimeout(() => input.focus(), 100);\n};\n\nexport default handleContextItemSelectedEffect;\n","const handleClearButtonClicked = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleClearButtonClicked;\n","const handleCancelButtonClicked = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleCancelButtonClicked;\n","const handleSearchIconButtonClickedEffect = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\n\tonClick();\n};\n\nexport default handleSearchIconButtonClickedEffect;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import {getUserPrefContext, a11yPreferences} from 'sn-ux-core';\n\nconst handleTooltipContentEffect = ({ action, updateState, context }) => {\n\t// identify user preference state to show tooltip on truncated texts\n\tconst a11yTx = getUserPrefContext(a11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT);\n\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\tconst {\n\t\tpayload: { tooltipContent }\n\t} = action;\n\tupdateState({\n\t\ttooltipContent,\n\t\tshowTooltipOnTruncation: userPrefVal\n\t});\n};\n\nexport default handleTooltipContentEffect;","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_FETCH,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH,\n\tUSER_PREFERENCES_FETCH_FAILED,\n\tUSER_PREFERENCES_FETCH_STARTED,\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_SET_FAILED,\n\tUSER_PREFERENCES_SET_STARTED,\n\tUSER_PREFERENCES_SET_SUCCEEDED,\n\tGLOBAL_SEARCH_ACTION,\n\tUSER_PREFERENCES_SET,\n\tRECENT_ACTIONS_MODEL_SET,\n\tFETCH_ALL_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED,\n\tFIT_RESIZE,\n\tCONTEXT_DROPDOWN_CLICKED,\n\tCONTEXT_ITEM_SELECTED,\n\tCLEAR_BUTTON_CLICKED,\n\tSEARCH_ICON_BUTTON_CLICKED,\n\tCANCEL_BUTTON_CLICKED,\n\tHANDLE_TOOLTIP_CONTENT\n} from './actions';\nimport {\n\thandleTypeaheadExactMatchFetch,\n\thandleTypeaheadExactMatchFetchStarted,\n\thandleTypeaheadExactMatchFetchSucceeded,\n\thandleTypeaheadExactMatchFetchFailed,\n\thandleTypeaheadUserPreferenceFetch,\n\thandleTypeaheadUserPreferenceFetchFailed,\n\thandleTypeaheadUserPreferenceFetchStarted,\n\thandleTypeaheadUserPreferenceFetchSucceeded,\n\thandleTypeaheadUserPreferenceSet,\n\thandleTypeaheadUserPreferenceSetStarted,\n\thandleTypeaheadUserPreferenceSetSucceeded,\n\thandleTypeaheadUserPreferenceSetFailed,\n\thandleGlobalSearchAction,\n\thandleRecentActionsModelSet,\n\thandleFetchConfigurationsEffect,\n\thandleFetchConfigurationsSucceededEffect,\n\thandleFetchConfigurationsFailedEffect,\n\thandleFitResize,\n\thandlePropertyChangedEffect,\n\thandleContextDropdownClickedEffect,\n\thandleContextItemSelectedEffect,\n\thandleClearButtonClicked,\n\thandleSearchIconButtonClickedEffect,\n\thandleCancelButtonClicked,\n\tpreloadWorkspaceConfigs,\n\thandleTooltipContentEffect\n} from './effects';\nimport effectProxy from '../utils/effectProxy';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport default {\n\t[COMPONENT_CONNECTED]({ dispatch }) {\n\t\twindow.addEventListener('resize', () => {\n\t\t\tdispatch(FIT_RESIZE);\n\t\t});\n\t},\n\t[COMPONENT_DISCONNECTED]() {\n\t\twindow.removeEventListener('resize', () => {});\n\t},\n\t[COMPONENT_RENDERED]({ dispatch }) {\n\t\tdispatch(FIT_RESIZE);\n\t},\n\t[EXACT_MATCH_FETCH]: effectProxy(handleTypeaheadExactMatchFetch),\n\t[EXACT_MATCH_STARTED]: {\n\t\teffect: handleTypeaheadExactMatchFetchStarted,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_SUCCEEDED]: {\n\t\teffect: handleTypeaheadExactMatchFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FAILED]: {\n\t\teffect: handleTypeaheadExactMatchFetchFailed,\n\t\tstopPropagation: true\n\t},\n\t[RECENT_ACTIONS_MODEL_SET]: {\n\t\teffect: handleRecentActionsModelSet,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH]: effectProxy(handleTypeaheadUserPreferenceFetch),\n\t[USER_PREFERENCES_FETCH_STARTED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchStarted,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH_SUCCEEDED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH_FAILED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchFailed,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET]: {\n\t\t...handleTypeaheadUserPreferenceSet,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_STARTED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetStarted,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_SUCCEEDED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_FAILED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetFailed,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS]: effectProxy(handleFetchConfigurationsEffect),\n\t[FETCH_CONFIGURATIONS_SUCCEEDED]: {\n\t\teffect: handleFetchConfigurationsSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS_FAILED]: {\n\t\teffect: handleFetchConfigurationsFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[GLOBAL_SEARCH_ACTION]: handleGlobalSearchAction,\n\t[FIT_RESIZE]: {\n\t\teffect: handleFitResize,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChangedEffect,\n\t[CONTEXT_DROPDOWN_CLICKED]: {\n\t\teffect: handleContextDropdownClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[CONTEXT_ITEM_SELECTED]: {\n\t\teffect: handleContextItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_ICON_BUTTON_CLICKED]: {\n\t\teffect: handleSearchIconButtonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[CLEAR_BUTTON_CLICKED]: {\n\t\teffect: handleClearButtonClicked\n\t},\n\t[CANCEL_BUTTON_CLICKED]: {\n\t\teffect: handleCancelButtonClicked,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ALL_CONFIGURATIONS]: {\n\t\teffect: preloadWorkspaceConfigs,\n\t\tstopPropagation: true\n\t},\n\t[HANDLE_TOOLTIP_CONTENT]: {\n\t\teffect: handleTooltipContentEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import fetchWorkspaceConfigs from '../utils/fetchWorkspaceConfigs';\n\nexport default ({ state, dispatch, updateState }) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: { searchContexts }\n\t} = state;\n\n\tfetchWorkspaceConfigs(workspaceConfigs, searchContexts, dispatch, updateState);\n};\n","import cache from '../../../utils/configCache';\nimport requestIdleCallback from '../../../utils/requestIdleCallback';\nimport { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nexport default (workspaceConfigs, searchContexts, dispatch, updateState) => {\n\tconst stateUpdates = [];\n\tconst cacheInvalidationDispatches = [];\n\n\tsearchContexts.forEach((searchContext) => {\n\t\tconst { searchViewConfigId } = searchContext;\n\t\t// we only want to load configs that we don't already have\n\t\tif (!(searchViewConfigId in workspaceConfigs)) {\n\t\t\tconst cachedConfig = cache.get(searchViewConfigId)\n\t\t\tif (cachedConfig) {\n\t\t\t\tstateUpdates.push({\n\t\t\t\t\tpath: `workspaceConfigs.${searchViewConfigId}`,\n\t\t\t\t\tvalue: cachedConfig,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tcacheInvalidationDispatches.push({globalSearchViewConfigId: searchViewConfigId});\n\t\t\t} else {\n\t\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\t\tsearchViewConfigId,\n\t\t\t\t\t\tnull\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\tif (stateUpdates.length) {\n\t\tupdateState(stateUpdates);\n\t\tsetTimeout(() => {\n\t\t\trequestIdleCallback(() => {\n\t\t\t\tcacheInvalidationDispatches.forEach(payload => dispatch(FETCH_CONFIGURATIONS, payload));\n\t\t\t});\n\t\t}, 5000);\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_24_3_12_index_jsdbx_315f6051__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_24_3_12_index_jsdbx_aee68013__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { isEmpty } from 'lodash';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tUSER_PREFERENCE,\n\tpresourceFactory\n} from '../behaviors';\nimport {\n\tDEFAULT_PLACEHODLER,\n\tDEFAULT_USER_PREFERENCES_NAME,\n\tMOBILE_MEDIA_WIDTH,\n\tWINDOW_SIZE\n} from './constants';\nimport ComponentWorkspaceGlobalSearchTypeahead from './ComponentWorkspaceGlobalSearchTypeahead';\nimport style from './_componentWorkspaceGlobalSearchTypeahead.scss';\nimport RecentActionsModel from '../utils/RecentActionsModel';\nimport actionHandlers from './actionHandlers';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\n\nconst customElementTagName = 'sn-component-workspace-global-search-typeahead';\n\n/**\n * Search typeahead allows user to search and provides search autocomplete capability while user is typing.\n * It also provides the functionality to perform exact match for records.\n *\n * ```jsx\n * <sn-component-workspace-global-search-typeahead\n *      globalSearchViewConfigId=\"13453dsf12324356\"\n * />\n * ```\n *\n * @seismicElement sn-component-workspace-global-search-typeahead\n * @summary Search typeahead component that allows asearch, autocomplete and exact match functionalities.\n */\nexport default createCustomElement(customElementTagName, {\n\tview: ComponentWorkspaceGlobalSearchTypeahead,\n\trenderer: { type: react },\n\tbehaviors: [\n\t\tpresourceFactory.get(GLOBAL_SEARCH_CONFIG),\n\t\tpresourceFactory.get(USER_PREFERENCE),\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t},\n\t\ttooltipBehavior,\n\t\ttruncationBehavior\n\t],\n\tinitialState: {\n\t\tuserPreferences: {\n\t\t\ttypeaheadRecentActionsModel: new RecentActionsModel()\n\t\t},\n\t\tworkspaceConfigs: {},\n\t\tcontextDropdownOpened: false,\n\t\tfetchingPreferences: true,\n\t\ttooltipContent: '',\n\t\tshowTooltipOnTruncation: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Reference to a record in sys_aw_global_search_config which configures the component view.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know where it's being rendered - UIB or legacy workspaces.\n\t\t */\n\t\tisLegacyWorkspace: {\n\t\t\tcomputed({ properties: { globalSearchViewConfigId } }) {\n\t\t\t\treturn !globalSearchViewConfigId;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Placeholder string for Search input box\n\t\t * @type {string}\n\t\t */\n\t\tsearchInputPlaceholder: {\n\t\t\tdefault: DEFAULT_PLACEHODLER,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Selected search context\n\t\t * @type {string}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tdefault: { searchDataConfigId: 'c861cea2c7022010099a308dc7c26041' },\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\t\t/**\n\t\t * Selected search context\n\t\t * @type {array}\n\t\t */\n\t\tsearchContexts: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Selected search input term\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reads windowSize property from polaris header to render search input in either desktop expanded, collapsed or mobile view\n\t\t * @type {string}\n\t\t */\n\t\twindowSize: {\n\t\t\tdefault: WINDOW_SIZE.EXPANDED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['expanded', 'collapsed', 'mobile']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know if it's being rendered in platform global search.\n\t\t */\n\t\tisGlobal: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { selectedSearchContext, searchContexts }\n\t\t\t}) {\n\t\t\t\treturn (\n\t\t\t\t\t!isEmpty(selectedSearchContext) && !isEmpty(searchContexts)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for the namespace that suggestions/preferences\n\t\t * should be read from and logged to\n\t\t * @type {string}\n\t\t */\n\t\tuserPreferencesContext: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\tsearchContexts\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext) &&\n\t\t\t\t\t!isEmpty(searchContexts)\n\t\t\t\t\t? `globalSearch.${selectedSearchContext.id}`\n\t\t\t\t\t: DEFAULT_USER_PREFERENCES_NAME;\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles: style,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a search is executed. Payload contains search term and global search view config id,\n\t\t * which is a reference to a record in sys_aw_global_search_config.\n\t\t * @type {{searchTerm: string, globalSearchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { type: 'string' },\n\t\t\t\t\tglobalSearchViewConfigId: { type: 'string' },\n\t\t\t\t\tselectedSearchContext: { type: 'object' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a recently searched item is selected from the popover. Payload contains table and sysId of the record selected.\n\t\t * @type {{table: string, sysId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tsysId: { type: 'string' },\n\t\t\t\t\trecordUrl: { type: 'string' },\n\t\t\t\t\tselectedSearchContext: { type: 'object' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a the search context is changed. The payload contains the selected search context information.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\tcontext: { type: 'string' },\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tsearchDataConfigId: { type: 'string' },\n\t\t\t\t\tsearchViewConfigId: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '/home/jenkins/agent/workspace/t-workspace-global-search_zurich/target/checkout/src/index.js';\nwindow.__TECTONIC__sn_component_workspace_global_search=exports;\nexport * from '/home/jenkins/agent/workspace/t-workspace-global-search_zurich/target/checkout/src/index.js';\n\n"],"version":3}},{"offset":{"line":87,"column":0},"map":{"mappings":"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","file":"externals/sn-search-input-wrapper/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","import","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","isEmpty","isEqual","ITEM_SELECTED","AIS_SEARCH_EXECUTED","AIS_NAVIGATION_EXECUTED","AIS_CONTEXT_CHANGED","ZING_SEARCH_EXECUTED","ZING_ITEM_SELECTED","ZING_CONTEXT_CHANGED","ZING_INPUT_REQUESTED","AIS_INPUT_REQUESTED","FETCH_SAC_SUCEEDED","FETCH_SAC_STARTED","FETCH_SAC_ERROR","NOW_ASSIST_SUGGESTION_CLICKED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","getUserPrefContext","getBooleanProperty","propertyName","defaultValue","propertyValue","SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY","checkIfSearchContextIncludesSelectedSearch","selectedSearchContext","searchContext","some","elem","view","state","_ref","dispatch","zingComponentLoaded","aisComponentLoaded","aisSearchContexts","zingSearchContexts","properties","placeholder","searchTerm","searchContextConfigId","placement","disableAutocomplete","size","globalSearchViewConfigId","searchContexts","aiSearchEnabled","canAnimate","windowSize","isAIELEnabled","polarisEnabled","context","userPrefSymbol","getBooleanUserProperty","useAISearch","doesAISSelectedContextExistInContexts","aiSearchSelectedSearchContext","aiSearchSelectedSearchContextConfigId","searchDataConfigId","enableExactMatch","showUtterances","searchViewConfigId","searchInputPlaceholder","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","local","cache","namespacedKey","window","localStorage","getItem","defaultTTL","ts","JSON","parse","Date","now","remove","set","propertyForTTLCalculation","property","setItem","stringify","console","debug","removeItem","_isExternalUrl","url","includes","handleSearchExecutedEffect","action","payload","handleContextChangedEffect","_ref4","handleSACFetchStartedEffect","successActionType","errorActionType","COMPONENT_PROPERTY_CHANGED","COMPONENT_BOOTSTRAPPED","aisEnabledSysProp","setContextsWhenSearchEngineDefined","updateState","searchEngine","searchContextDetailsPresentInCache","checkContextsArray","fetchingSAC","_ref2","name","previousValue","effect","coeffects","args","stopPropagation","_ref3","actionPayload","table","sysId","recordUrl","title","navURl","isExternalUrl","Promise","resolve","then","_ref6","_action$payload","availableSearchContexts","_filterSearchContexts","filter","el","f","sys_id","search_engine","error","err","message","_ref5","_ref7","transferred_search_result","intention","forceNewConversation","sessionContext","renderer","type","snabbdom","styles","style","initialState","schema","enum","actionHandlers","dispatches","label","route","__TECTONIC__sn_search_input_wrapper"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/styles.scss","webpack:///./src/sn-search-input-wrapper/styles.scss?ded1","webpack:///external import \"/uxasset/externals/@devsnc/sn-search-combobox/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-component-workspace-global-search/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/actions.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/utils.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/constants.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/cache.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/effects.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/actionHandlers.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/effectProxy.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/index.js","webpack:///sn-search-input-wrapper/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--nav_menu-input--color:var(--now-unified-nav_menu-filter--color);--nav_menu-input--color--placeholder:var( --now-unified-nav_menu-filter--color--placeholder );--nav_menu-input--color--placeholder--focus:var( --now-unified-nav_menu-filter--color--placeholder--focus );--nav_menu-input--color--opened:var( --now-unified-nav_menu-filter--color--opened );--nav_menu-input--background-color:var( --now-unified-nav_menu-filter--background-color );--nav_menu-input--background-color--hover:var( --now-unified-nav_menu-filter--background-color--hover );--nav_menu-input--background-color--opened:var( --now-unified-nav_menu-filter--background-color--opened );--nav_menu-input--border-color:var( --now-unified-nav_menu-filter--border-color );--nav_menu-input--search-icon-color--collapsed:var( --now-unified-nav_utility-menu-trigger--color )}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-search-combobox/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-component-workspace-global-search/index.jsdbx\");;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"concat\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'concat' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].concat;\n\t\t\t\t\t} else if ('concat' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.concat || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].concat;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t} });","// External actions\nexport const SEARCH_EXECUTED = \"SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED\";\nexport const ITEM_SELECTED = \"SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED\";\nexport const CONTEXT_CHANGED = \"SN_SEARCH_INPUT_WRAPPER#CONTEXT_CHANGED\";\n\n// AI Search input actions\nexport const AIS_SEARCH_EXECUTED = \"SN_SEARCH_COMBOBOX#SEARCH_EXECUTED\";\nexport const AIS_NAVIGATION_EXECUTED = \"SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED\";\nexport const AIS_CONTEXT_CHANGED = \"SN_SEARCH_COMBOBOX#CONTEXT_CHANGED\";\n\n// Zing Search input actions\nexport const ZING_SEARCH_EXECUTED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED\";\nexport const ZING_ITEM_SELECTED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED\";\nexport const ZING_CONTEXT_CHANGED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED\";\n\n// Dynamic import request actions\nexport const ZING_INPUT_REQUESTED = \"ZING_INPUT_REQUESTED\";\nexport const AIS_INPUT_REQUESTED = \"AIS_INPUT_REQUESTED\";\n\nexport const FETCH_SAC_SUCEEDED = \"FETCH_SAC_SUCEEDED\";\nexport const FETCH_SAC_STARTED = \"FETCH_SAC_STARTED\";\nexport const FETCH_SAC_ERROR = \"FETCH_SAC_ERROR\";\n\nexport const NOW_ASSIST_SUGGESTION_CLICKED =\n\t\"SN_SEARCH_COMBOBOX#UTTERANCE_CLICKED\";\nexport const LAUNCH_ASSISTANT = \"AI_ENGAGEMENT_LAUNCH_EXPERIENCE\";\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import { getProperty } from \"sn-uxpage-presource\";\nimport { getUserPrefContext } from \"sn-ux-core\";\n\nexport const getBooleanProperty = (propertyName, defaultValue = false) => {\n\tconst propertyValue = getProperty(propertyName) || defaultValue;\n\treturn propertyValue === true || propertyValue === \"true\";\n};\n\nexport const getBooleanUserProperty = (\n\tpropertyName,\n\tcontext,\n\tdefaultValue = false\n) => {\n\tconst userPrefSymbol = getUserPrefContext(propertyName);\n\tif (!userPrefSymbol) return defaultValue;\n\treturn context?.[userPrefSymbol] === \"true\" ? true : false;\n};\n","export const SAC_QUERY = `{\n    GlideRecord_Query {\n      sys_search_context_config (pagination: {limit: 10000}) {\n        _results {\n          sys_id {\n            value\n          }\n          search_engine{\n            value\n          }\n        }\n      }\n    }\n}`;\n\nexport const SAC_QUERY_PATH = `payload.data.GlideRecord_Query.sys_search_context_config._results`;\n\nexport const AIS_ENABLED = `glide.ais.enabled`;\n\nexport const SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY = `sn.aisearch.search_application_list`;\n\nexport const SEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY = `glide.search.search_application_configuration_client_cache_ttl`;\n\nexport const POLARIS_ENABLED = `glide.ui.polaris.experience`;\n\nexport const POLARIS_ENABLED_USER_PREFERENCE = `glide.ui.polaris.use`;\n\nexport const SEARCH_INTENTION = `search`;\n","import { isEmpty, isEqual } from \"lodash\";\nimport { ZING_INPUT_REQUESTED, AIS_INPUT_REQUESTED } from \"./actions\";\nimport { getBooleanProperty, getBooleanUserProperty } from \"./utils/utils\";\nimport { POLARIS_ENABLED, POLARIS_ENABLED_USER_PREFERENCE } from \"./constants\";\n\n// When the selectedSearchContext say is Global but it is not migrated to the required searchEngine\n// This function would check if its present in the filtered searchContexts\nconst checkIfSearchContextIncludesSelectedSearch = (\n\tselectedSearchContext,\n\tsearchContext\n) => {\n\tif (!isEmpty(searchContext)) {\n\t\treturn searchContext.some(elem =>\n\t\t\tisEqual(elem.id, selectedSearchContext.id)\n\t\t);\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tzingComponentLoaded,\n\t\taisComponentLoaded,\n\t\taisSearchContexts,\n\t\tzingSearchContexts,\n\t\tproperties: {\n\t\t\tplaceholder,\n\t\t\tsearchTerm,\n\t\t\tsearchContextConfigId,\n\t\t\tplacement,\n\t\t\tdisableAutocomplete,\n\t\t\tsize,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tsearchContexts,\n\t\t\taiSearchEnabled,\n\t\t\tcanAnimate,\n\t\t\twindowSize,\n\t\t\tisAIELEnabled\n\t\t}\n\t} = state;\n\tconst polarisEnabled =\n\t\tgetBooleanUserProperty(\n\t\t\tPOLARIS_ENABLED_USER_PREFERENCE,\n\t\t\tstate.context,\n\t\t\ttrue\n\t\t) && getBooleanProperty(POLARIS_ENABLED, true);\n\n\tconst useAISearch = aiSearchEnabled && polarisEnabled;\n\n\tif (useAISearch && !aisComponentLoaded) {\n\t\t// dynamically request Zing/AI Search based inputs\n\t\tdispatch(AIS_INPUT_REQUESTED);\n\t} else if (!useAISearch && !zingComponentLoaded) {\n\t\tdispatch(ZING_INPUT_REQUESTED);\n\t}\n\n\tconst doesAISSelectedContextExistInContexts = checkIfSearchContextIncludesSelectedSearch(\n\t\tselectedSearchContext,\n\t\taisSearchContexts\n\t);\n\n\t// Compute the selected context once\n\tconst aiSearchSelectedSearchContext = !isEmpty(aisSearchContexts)\n\t\t? doesAISSelectedContextExistInContexts\n\t\t\t? selectedSearchContext\n\t\t\t: aisSearchContexts[0]\n\t\t: selectedSearchContext;\n\n\t// Compute the configId based on the selected context\n\tconst aiSearchSelectedSearchContextConfigId = !isEmpty(aisSearchContexts)\n\t\t? doesAISSelectedContextExistInContexts\n\t\t\t? searchContextConfigId\n\t\t\t: aisSearchContexts[0].searchDataConfigId\n\t\t: searchContextConfigId;\n\n\treturn useAISearch && aisComponentLoaded ? (\n\t\t<sn-search-combobox\n\t\t\tsize={size}\n\t\t\tplaceholder={placeholder}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tsearchContextConfigId={aiSearchSelectedSearchContextConfigId}\n\t\t\tplacement={placement}\n\t\t\tdisableAutocomplete={disableAutocomplete}\n\t\t\tcanAnimate={canAnimate}\n\t\t\twindowSize={windowSize}\n\t\t\tsearchContexts={\n\t\t\t\t!isEmpty(aisSearchContexts) ? aisSearchContexts : searchContexts\n\t\t\t}\n\t\t\tselectedSearchContext={aiSearchSelectedSearchContext}\n\t\t\tenableExactMatch\n\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\tshowUtterances={isAIELEnabled}\n\t\t/>\n\t) : zingComponentLoaded ? (\n\t\t<sn-component-workspace-global-search-typeahead\n\t\t\tglobalSearchViewConfigId={\n\t\t\t\t!isEmpty(zingSearchContexts)\n\t\t\t\t\t? checkIfSearchContextIncludesSelectedSearch(\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\tzingSearchContexts\n\t\t\t\t\t  )\n\t\t\t\t\t\t? globalSearchViewConfigId\n\t\t\t\t\t\t: zingSearchContexts[0].searchViewConfigId\n\t\t\t\t\t: globalSearchViewConfigId\n\t\t\t}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tsearchInputPlaceholder={placeholder}\n\t\t\tsearchContexts={\n\t\t\t\t!isEmpty(zingSearchContexts) ? zingSearchContexts : searchContexts\n\t\t\t}\n\t\t\tselectedSearchContext={\n\t\t\t\t!isEmpty(zingSearchContexts)\n\t\t\t\t\t? checkIfSearchContextIncludesSelectedSearch(\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\tzingSearchContexts\n\t\t\t\t\t  )\n\t\t\t\t\t\t? selectedSearchContext\n\t\t\t\t\t\t: zingSearchContexts[0]\n\t\t\t\t\t: selectedSearchContext\n\t\t\t}\n\t\t\tcanAnimate={canAnimate}\n\t\t\twindowSize={windowSize}\n\t\t/>\n\t) : null;\n};\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { isEmpty } from \"lodash\";\nimport { getProperty } from \"sn-uxpage-presource\";\nlet local = {};\n\n// Calculates application cache time to live based on sys_property recieved or defaults it to 2hrs\nconst _getTTL = property => {\n\treturn getProperty(property, 720) * 1000;\n};\n\nconst cache = {\n\tget(namespacedKey) {\n\t\tconst item =\n\t\t\tlocal[namespacedKey] || window.localStorage.getItem(namespacedKey);\n\n\t\tif (item) {\n\t\t\tconst { value, defaultTTL, ts } =\n\t\t\t\ttypeof item === \"string\" ? JSON.parse(item) : item;\n\t\t\tif (Date.now() - ts <= defaultTTL) return value;\n\t\t\telse this.remove(namespacedKey);\n\t\t}\n\n\t\treturn undefined;\n\t},\n\tset(namespacedKey, value, propertyForTTLCalculation) {\n\t\tconst defaultTTL = _getTTL(propertyForTTLCalculation);\n\t\tconst item = { value, defaultTTL, ts: Date.now() };\n\t\tif (!isEmpty(cache.get(namespacedKey))) cache.remove(namespacedKey);\n\n\t\ttry {\n\t\t\tif (defaultTTL > 0) {\n\t\t\t\twindow.localStorage.setItem(namespacedKey, JSON.stringify(item));\n\t\t\t\tlocal[namespacedKey] = item;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.debug(`Error while adding key ${namespacedKey} to cache`, e);\n\t\t}\n\t},\n\tremove(namespacedKey) {\n\t\twindow.localStorage.removeItem(namespacedKey);\n\t}\n};\n\nexport default cache;\n","import { get, isEmpty } from \"lodash\";\nimport {\n\tSEARCH_EXECUTED,\n\tITEM_SELECTED,\n\tCONTEXT_CHANGED,\n\tFETCH_SAC_SUCEEDED,\n\tFETCH_SAC_ERROR,\n\tLAUNCH_ASSISTANT\n} from \"./actions\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport {\n\tSAC_QUERY,\n\tSAC_QUERY_PATH,\n\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY,\n\tSEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY,\n\tSEARCH_INTENTION\n} from \"./constants\";\nimport cache from \"./utils/cache\";\n\n// To check if the recordUrl returned with records are external url\n// Enables polaris-app-shell to route record accordingly\n// if ExternalUrl is true app-shell will open it in a new tab\nconst _isExternalUrl = url => {\n\treturn url && url.includes(\"http\");\n};\n\n// This filters the Search contexts received from app-shell based on the search_engine\n// There are multiple search engines recieved as null we do not consider those for our component\nconst _filterSearchContexts = (availableSearchContexts, searchContexts) => {\n\tconst aisSearchContexts = searchContexts.filter(el => {\n\t\treturn availableSearchContexts.some(f => {\n\t\t\treturn (\n\t\t\t\tf.sys_id.value === el.searchDataConfigId &&\n\t\t\t\tf.search_engine.value === \"ai_search\"\n\t\t\t);\n\t\t});\n\t});\n\n\tconst zingSearchContexts = searchContexts.filter(el => {\n\t\treturn availableSearchContexts.some(f => {\n\t\t\treturn (\n\t\t\t\tf.sys_id.value === el.searchDataConfigId &&\n\t\t\t\tf.search_engine.value === \"zing\"\n\t\t\t);\n\t\t});\n\t});\n\n\treturn { aisSearchContexts, zingSearchContexts };\n};\n\nexport const handleSearchExecutedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: {\n\t\t\tsearchTerm,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tsearchContextConfigId\n\t\t}\n\t} = action;\n\n\tdispatch(SEARCH_EXECUTED, {\n\t\tsearchTerm,\n\t\t...(globalSearchViewConfigId && { globalSearchViewConfigId }),\n\t\t...(searchContextConfigId && { searchContextConfigId }),\n\t\tselectedSearchContext\n\t});\n};\n\nexport const handleItemSelectedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: { table, sysId, recordUrl, url, selectedSearchContext, title }\n\t} = action;\n\tconst isExternalUrl = _isExternalUrl(recordUrl);\n\tdispatch(ITEM_SELECTED, {\n\t\ttable,\n\t\tsysId,\n\t\trecordUrl,\n\t\tisExternalUrl,\n\t\ttitle,\n\t\t...(url && { url }),\n\t\t...(selectedSearchContext && { selectedSearchContext })\n\t});\n};\n\nexport const handleAISItemSelectedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: {\n\t\t\tactionPayload: {\n\t\t\t\ttable,\n\t\t\t\tsysId,\n\t\t\t\trecordUrl,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\tselectedSearchContext\n\t\t\t}\n\t\t}\n\t} = action;\n\tconst navURl = recordUrl ? recordUrl : url;\n\tconst isExternalUrl = _isExternalUrl(navURl);\n\tdispatch(ITEM_SELECTED, {\n\t\ttable,\n\t\tsysId,\n\t\trecordUrl: navURl,\n\t\ttitle,\n\t\tisExternalUrl,\n\t\t...(url && { url }),\n\t\t...(selectedSearchContext && { selectedSearchContext })\n\t});\n};\n\nexport const handleContextChangedEffect = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\n\tdispatch(CONTEXT_CHANGED, payload);\n};\n\nexport const handleSACFetchStartedEffect = createGraphQLEffect(SAC_QUERY, {\n\tsuccessActionType: FETCH_SAC_SUCEEDED,\n\terrorActionType: FETCH_SAC_ERROR\n});\n\nexport const handleSACFetchErrorEffect = ({ action, updateState }) => {\n\tupdateState({ fetchingSAC: false });\n\tconsole.error(\n\t\t\"An error ocurred while querying search application configurations: \" +\n\t\t\taction.payload.message\n\t);\n};\n\nexport const handleSACFetchSucceededEffect = ({\n\tupdateState,\n\taction,\n\tproperties,\n\tstate\n}) => {\n\ttry {\n\t\tconst searchContextDetailsPresentInCache =\n\t\t\taction?.payload?.searchContextDetailsPresentInCache;\n\t\tconst availableSearchContexts = isEmpty(searchContextDetailsPresentInCache)\n\t\t\t? get(action, SAC_QUERY_PATH, {})\n\t\t\t: searchContextDetailsPresentInCache;\n\t\tconst { searchContexts } = properties;\n\t\tconst { aisComponentLoaded, zingComponentLoaded } = state;\n\t\tconst { aisSearchContexts, zingSearchContexts } = _filterSearchContexts(\n\t\t\tavailableSearchContexts,\n\t\t\tsearchContexts\n\t\t);\n\t\tif (isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\tcache.set(\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY,\n\t\t\t\tavailableSearchContexts,\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY\n\t\t\t);\n\t\t}\n\n\t\tupdateState({\n\t\t\taisSearchContexts,\n\t\t\tzingSearchContexts\n\t\t});\n\n\t\tif (\n\t\t\t(aisComponentLoaded && isEmpty(aisSearchContexts)) ||\n\t\t\t(zingComponentLoaded && isEmpty(zingSearchContexts))\n\t\t) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t\"The searchContexts do not match the glide.ui.polaris.ais_ready value. Please update system properties \"\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(\n\t\t\t\"Exception encountered while parsing Search Application Configuration query response: \" +\n\t\t\t\terr.message\n\t\t);\n\t} finally {\n\t\tupdateState({ fetchingSAC: false });\n\t}\n};\n\nexport const handleAssistantTriggeredEffect = ({\n\taction,\n\tdispatch,\n\tproperties\n}) => {\n\tconst { payload } = action;\n\tconst { searchContextConfigId, selectedSearchContext } = properties;\n\n\t// Construct the search result object to be transferred to the assistant.\n\tconst transferred_search_result = {\n\t\tsearchContext: {\n\t\t\t...payload,\n\t\t\tintention: SEARCH_INTENTION,\n\t\t\tsearchContextConfigId: searchContextConfigId,\n\t\t\tselectedSearchContext: selectedSearchContext\n\t\t}\n\t};\n\n\t// Prepare the payload for launching the assistant.\n\tconst assistantPayload = {\n\t\t// Start a new conversation with the assistant.\n\t\tforceNewConversation: true,\n\t\tsessionContext: {\n\t\t\t// Pass the search result context to the assistant session,\n\t\t\t// stringifying it to fit the expected format.\n\t\t\ttransferred_search_result: !isEmpty(transferred_search_result)\n\t\t\t\t? JSON.stringify(transferred_search_result)\n\t\t\t\t: \"\"\n\t\t}\n\t};\n\n\tdispatch(LAUNCH_ASSISTANT, assistantPayload);\n};\n","import { actionTypes } from \"@servicenow/ui-core\";\nimport { isEmpty, isEqual, concat } from \"lodash\";\nimport effectProxy from \"./utils/effectProxy\";\nimport {\n\tAIS_ENABLED,\n\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n} from \"./constants\";\nimport { getBooleanProperty } from \"./utils/utils\";\nimport {\n\tZING_SEARCH_EXECUTED,\n\tZING_ITEM_SELECTED,\n\tZING_CONTEXT_CHANGED,\n\tAIS_SEARCH_EXECUTED,\n\tAIS_NAVIGATION_EXECUTED,\n\tAIS_CONTEXT_CHANGED,\n\tZING_INPUT_REQUESTED,\n\tAIS_INPUT_REQUESTED,\n\tFETCH_SAC_SUCEEDED,\n\tFETCH_SAC_STARTED,\n\tFETCH_SAC_ERROR,\n\tNOW_ASSIST_SUGGESTION_CLICKED\n} from \"./actions\";\n\nimport {\n\thandleSearchExecutedEffect,\n\thandleItemSelectedEffect,\n\thandleContextChangedEffect,\n\thandleAISItemSelectedEffect,\n\thandleSACFetchSucceededEffect,\n\thandleSACFetchStartedEffect,\n\thandleSACFetchErrorEffect,\n\thandleAssistantTriggeredEffect\n} from \"./effects\";\nimport cache from \"./utils/cache\";\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst aisEnabledSysProp = getBooleanProperty(AIS_ENABLED);\nconst setContextsWhenSearchEngineDefined = (updateState, searchContexts) => {\n\t// if searchEngine is defined, it is expected that the app-shell sends all zing or all ai search\n\tupdateState({\n\t\taisSearchContexts:\n\t\t\tsearchContexts[0].searchEngine === \"ai_search\" ? searchContexts : [],\n\t\tzingSearchContexts:\n\t\t\tsearchContexts[0].searchEngine === \"zing\" ? searchContexts : []\n\t});\n\tcache.remove(SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY);\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({ properties, dispatch, updateState }) {\n\t\tconst {\n\t\t\tsearchContexts,\n\t\t\taisSearchContexts,\n\t\t\tzingSearchContexts\n\t\t} = properties;\n\t\tif (isEmpty(searchContexts)) return;\n\t\tif (searchContexts.some(context => context.searchEngine === undefined)) {\n\t\t\tconst searchContextDetailsPresentInCache = cache.get(\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n\t\t\t);\n\t\t\tif (!isEmpty(zingSearchContexts) && !isEmpty(aisSearchContexts)) {\n\t\t\t\tconst checkContextsArray = concat(\n\t\t\t\t\taisSearchContexts,\n\t\t\t\t\tzingSearchContexts\n\t\t\t\t);\n\t\t\t\tif (isEqual(searchContexts, checkContextsArray)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (aisEnabledSysProp) {\n\t\t\t\tif (!isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\t\t\tdispatch(FETCH_SAC_SUCEEDED, {\n\t\t\t\t\t\tsearchContextDetailsPresentInCache: searchContextDetailsPresentInCache\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({ fetchingSAC: true });\n\t\t\t\t\tdispatch(FETCH_SAC_STARTED);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tsetContextsWhenSearchEngineDefined(updateState, searchContexts);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties\n\t}) {\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\t\tconst { searchContexts } = properties;\n\t\tconst searchContextDetailsPresentInCache = cache.get(\n\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n\t\t);\n\t\tif (name === \"searchContexts\" && !isEqual(previousValue, value)) {\n\t\t\tif (isEmpty(value)) return;\n\t\t\tif (value.some(context => context.searchEngine === undefined)) {\n\t\t\t\tif (aisEnabledSysProp) {\n\t\t\t\t\tif (!isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\t\t\t\tdispatch(FETCH_SAC_SUCEEDED, {\n\t\t\t\t\t\t\tsearchContextDetailsPresentInCache: searchContextDetailsPresentInCache\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (state.fetchingSAC != true) {\n\t\t\t\t\t\tdispatch(FETCH_SAC_STARTED);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetContextsWhenSearchEngineDefined(updateState, searchContexts);\n\t\t\t}\n\t\t}\n\t\tlocalStorage.setItem(\"searchContexts\", JSON.stringify(searchContexts));\n\t},\n\t[FETCH_SAC_STARTED]: effectProxy(handleSACFetchStartedEffect),\n\t[AIS_SEARCH_EXECUTED]: {\n\t\teffect: handleSearchExecutedEffect,\n\t\tstopPropagation: true\n\t},\n\t[AIS_NAVIGATION_EXECUTED]: {\n\t\teffect: handleAISItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[AIS_CONTEXT_CHANGED]: {\n\t\teffect: handleContextChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_SEARCH_EXECUTED]: {\n\t\teffect: handleSearchExecutedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_ITEM_SELECTED]: {\n\t\teffect: handleItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_CONTEXT_CHANGED]: {\n\t\teffect: handleContextChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_INPUT_REQUESTED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tPromise.resolve(import(\"sn-component-workspace-global-search\")).then(\n\t\t\t\t() => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tzingComponentLoaded: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\t[AIS_INPUT_REQUESTED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tPromise.resolve(import(\"@devsnc/sn-search-combobox\")).then(() => {\n\t\t\t\tupdateState({\n\t\t\t\t\taisComponentLoaded: true\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_SAC_SUCEEDED]: {\n\t\teffect: handleSACFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SAC_ERROR]: {\n\t\teffect: handleSACFetchErrorEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_ASSIST_SUGGESTION_CLICKED]: {\n\t\teffect: handleAssistantTriggeredEffect,\n\t\tstopPropagation: true\n\t}\n};\n","export default effect => coeffects => effect.effect(...effect.args, coeffects);\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport view from \"./view\";\nimport actionHandlers from \"./actionHandlers\";\nimport style from \"./styles.scss\";\n\n/**\n * Zing or AI Search based field for entering and executing user search queries that displays suggested queries and results.\n *\n * ```jsx\n * <sn-search-input-wrapper\n * \t\tplaceholder=\"Search\"\n *      searchContextConfigId=\"0ce0997f7320001052c7d5fdbdf6a746\"\n *      placement=\"body\"\n *      size=\"lg\"\n * \t\tglobalSearchViewConfigId=\"97a574ea53c0130084acddeeff7b12a6\"\n * \t\tsearchContexts={[\n                        {\n                            id: \"now/cwf/agent\",\n                            label: \"CSM/FSM Configurable Workspace\",\n                            context: {\n                                path: \"now/cwf/agent\",\n                                experienceName: \"CSM/FSM Configurable Workspace\"\n                            },\n                            route: \"search\",\n                            searchDataConfigId: \"c861cea2c7022010099a308dc7c26041\",\n                            searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                        },\n                        {\n                            id: \"now/polaris/ui\",\n                            label: \"Global\",\n                            context: {\n                                path: \"now/polaris/ui\",\n                                experienceName: \"Global Search\"\n                            },\n                            route: \"search\",\n                            searchDataConfigId: \"4961e3e7871033000929717936cb0ba7\",\n                            searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                        }\n                    ]}\n\t\tselectedSearchContext={{\n                        id: \"now/polaris/ui\",\n                        label: \"Global\",\n                        context: \"now/polaris/ui\",\n                        route: \"search\",\n                        searchDataConfigId: \"4961e3e7871033000929717936cb0ba7\",\n                        searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                    }}\n * />\n * ```\n *\n * @seismicElement sn-search-input-wrapper\n * @summary Seismic wrapper component that renders Zing or AI Search input based on what search engine is enabled.\n */\ncreateCustomElement(\"sn-search-input-wrapper\", {\n\trenderer: { type: snabbdom },\n\tstyles: style,\n\tview,\n\tinitialState: {\n\t\tzingComponentLoaded: false,\n\t\taisComponentLoaded: false,\n\t\taisSearchContexts: [],\n\t\tzingSearchContexts: [],\n\t\tfetchingSAC: false\n\t},\n\tproperties: {\n\t\t/* Common properties */\n\t\t/**\n\t\t * Placeholder text to display in the input box before a user enters a value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/* AI Search specific properties */\n\t\t/**\n\t\t * Initial search term for the search input.\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sys ID of the search application configuration from the sys_search_context_config table.\n\t\t * This configuration provides search and autocomplete configuration metadata.\n\t\t * @type {string}\n\t\t */\n\t\tsearchContextConfigId: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines where the search input is rendered\n\t\t * and defines the input's visual style.\n\t\t * @type {('header'|'body')}\n\t\t */\n\t\tplacement: {\n\t\t\tdefault: \"header\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, disables autocomplete capability.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableAutocomplete: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the component is being rendered on mobile or desktop.\n\t\t * Options include:\n\t\t * - 'sm': Set for the mobile version.\n\t\t * - 'lg': Set for the desktop version.\n\t\t * @type {('sm'|'lg')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: \"lg\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"lg\"]\n\t\t\t}\n\t\t},\n\t\t/* Zing Search specific properties */\n\t\t/**\n\t\t * Reference to a record in sys_aw_global_search_config which configures the component view.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array of available search contexts to show in context switch dropdown.\n\t\t * @type {array}\n\t\t */\n\t\tsearchContexts: {\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Search context to select on intial render.\n\t\t * @type {object}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for AI Search being enabled.\n\t\t * @type {boolean}\n\t\t */\n\t\taiSearchEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for enabling animations.\n\t\t * @type {boolean}\n\t\t */\n\t\tcanAnimate: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Controls the inital interaction behavior for search input, there are three accepted values;\n\t\t * 'expanded' - renders the input as expanded,\n\t\t * 'collapsed' - renders a search icon and clicking on the icon expands the input,\n\t\t * 'mobile' - renders an expanded input with a cancel button for mobile view.\n\t\t * @type {('expanded'|'collapsed'|'mobile')}\n\t\t */\n\t\twindowSize: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"expanded\", \"collapsed\", \"mobile\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for AIEL being enabled.\n\t\t * @type {boolean}\n\t\t */\n\t\tisAIELEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when search executes. Payload contains search term, search application ID and currently selected search context (if configured).\n\t\t * 'searchContextConfigId' field in the payload is specific to AI Search and `globalSearchViewConfigId` is specific to Zing Search.\n\t\t * @type {{searchTerm: string, searchContextConfigId: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { type: \"string\" },\n\t\t\t\t\tsearchContextConfigId: { type: \"string\" },\n\t\t\t\t\tglobalSearchViewConfigId: { type: \"string\" },\n\t\t\t\t\tselectedSearchContext: { type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on a navigable item.\n\t\t * Instead of routing to a search page, this action routes to a content page.\n\t\t * Payload contains information about the record clicked and currently selected search context (if configured).\n\t\t * @type {{table: string, sysId: string, url: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: \"string\" },\n\t\t\t\t\tsysId: { type: \"string\" },\n\t\t\t\t\trecordUrl: { type: \"string\" },\n\t\t\t\t\turl: { type: \"string\" },\n\t\t\t\t\tselectedSearchContext: { type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the search context is changed for the search input.\n\t\t * Payload contains information about the selected search context.\n\t\t * @type {{table: string, sysId: string, url: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#CONTEXT_CHANGED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: \"string\" },\n\t\t\t\t\tlabel: { type: \"string\" },\n\t\t\t\t\tcontext: { type: \"object\" },\n\t\t\t\t\troute: { type: \"string\" },\n\t\t\t\t\tsearchDataConfigId: { type: \"string\" },\n\t\t\t\t\tsearchViewConfigId: { type: \"string\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_search_input_wrapper=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":107,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/fuzzy-search/29.0.1-polaris.19/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","default","getProperty","SYS_PROPS","NAV_FILTER_ACCURACY_SCORE","maxAndIndex","array","max","index","forEach","number","idx","search","target","threshold","searchLowerCase","toLowerCase","trim","targetLowerCase","bestMatch","score","matchIndices","matrix","Array","from","indicesMatrix","searchIterator","targetIterator","slice","find","match","consecutiveScore","previousMaxAndIndex","maxWithBefore","bestCurrentScore","bestCurrentScoreTargetIndex","matches","end","push","start"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///@devsnc/fuzzy-search/29.0.1-polaris.19/src/constants/index.js","webpack:///@devsnc/fuzzy-search/29.0.1-polaris.19/src/filter/hasana.js","webpack:///@devsnc/fuzzy-search/29.0.1-polaris.19/src/index.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","export const SYS_PROPS = {\n\tUI: {\n\t\tNAV_FILTER_ACCURACY_SCORE: 'glide.ui.polaris.nav_filter_accuracy_score'\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../constants';\n\nconst maxAndIndex = (array) => {\n\tlet max = 0;\n\tlet index = 0;\n\tarray.forEach((number, idx) => {\n\t\tif (number >= max) {\n\t\t\tmax = number;\n\t\t\tindex = idx;\n\t\t}\n\t});\n\treturn {max, index};\n};\n\n/**\n * Performs a fuzzy search on a target string, ranking matches based on character sequence alignment.\n *\n * @param {string} search - The search term.\n * @param {string} target - The text to be searched.\n * @param {number} [threshold=75] - The minimum score required. Defaults to the value from `glide.ui.polaris.nav_filter_accuracy_score` or 75.\n * @returns {Object|null} An object with { search, score, matches } if a match is found, otherwise null.\n */\nexport function fuzzyFilter(\n\tsearch,\n\ttarget,\n\tthreshold = getProperty(SYS_PROPS.UI.NAV_FILTER_ACCURACY_SCORE, 75)\n) {\n\tconst searchLowerCase = search?.toLowerCase().trim();\n\tconst targetLowerCase = target?.toLowerCase();\n\tif (!search || !target) return null;\n\n\tconst bestMatch = {score: 0, matchIndices: []};\n\n\t//initalize the matrix\n\tconst matrix = Array.from({length: searchLowerCase.length}, () =>\n\t\tArray.from({length: targetLowerCase.length}, () => 0)\n\t);\n\n\tconst indicesMatrix = Array.from({length: searchLowerCase.length}, () =>\n\t\tArray.from({length: targetLowerCase.length}, () => [])\n\t);\n\n\tfor (\n\t\tlet searchIterator = 0;\n\t\tsearchIterator < searchLowerCase.length;\n\t\t++searchIterator\n\t) {\n\t\tfor (\n\t\t\tlet targetIterator = 0;\n\t\t\ttargetIterator < targetLowerCase.length;\n\t\t\t++targetIterator\n\t\t) {\n\t\t\t// when there is a match for the current letter in the search term, add its score\n\t\t\tif (targetLowerCase[targetIterator] === searchLowerCase[searchIterator]) {\n\t\t\t\t// for the first array its going to be one\n\t\t\t\tif (searchIterator === 0) {\n\t\t\t\t\tmatrix[searchIterator][targetIterator] = 1;\n\t\t\t\t\tindicesMatrix[searchIterator][targetIterator] = [targetIterator];\n\t\t\t\t\tbestMatch.score = 1;\n\t\t\t\t\tbestMatch.matchIndices = [searchIterator];\n\t\t\t\t\t// else if there is a match for the letter before it, do some maths\n\t\t\t\t} else if (\n\t\t\t\t\tmatrix[searchIterator - 1]\n\t\t\t\t\t\t.slice(0, targetIterator)\n\t\t\t\t\t\t.find((match) => match)\n\t\t\t\t) {\n\t\t\t\t\tconst previousIndexScore =\n\t\t\t\t\t\tmatrix[searchIterator - 1][targetIterator - 1] || 0;\n\t\t\t\t\tconst consecutiveScore = 1 + previousIndexScore;\n\t\t\t\t\tconst previousMaxAndIndex = maxAndIndex(\n\t\t\t\t\t\tmatrix[searchIterator - 1].slice(0, targetIterator - 1)\n\t\t\t\t\t);\n\t\t\t\t\tconst maxWithBefore =\n\t\t\t\t\t\t1 / (targetIterator - previousMaxAndIndex.index) +\n\t\t\t\t\t\tpreviousMaxAndIndex.max;\n\n\t\t\t\t\t// check which score is best\n\t\t\t\t\tlet bestCurrentScore, bestCurrentScoreTargetIndex;\n\t\t\t\t\tif (consecutiveScore > maxWithBefore) {\n\t\t\t\t\t\tbestCurrentScore = consecutiveScore;\n\t\t\t\t\t\tbestCurrentScoreTargetIndex = targetIterator - 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbestCurrentScore = maxWithBefore;\n\t\t\t\t\t\tbestCurrentScoreTargetIndex = previousMaxAndIndex.index;\n\t\t\t\t\t}\n\n\t\t\t\t\tmatrix[searchIterator][targetIterator] = bestCurrentScore;\n\t\t\t\t\tindicesMatrix[searchIterator][targetIterator] = [\n\t\t\t\t\t\t...indicesMatrix[searchIterator - 1][bestCurrentScoreTargetIndex],\n\t\t\t\t\t\ttargetIterator\n\t\t\t\t\t];\n\t\t\t\t\tif (bestMatch.score < bestCurrentScore) {\n\t\t\t\t\t\tbestMatch.score = bestCurrentScore;\n\t\t\t\t\t\tbestMatch.matchIndices = [\n\t\t\t\t\t\t\t...indicesMatrix[searchIterator][targetIterator]\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (bestMatch.matchIndices.length != searchLowerCase.length) return null;\n\n\tif (bestMatch.score >= searchLowerCase.length * (threshold / 100)) {\n\t\tconst matches = [];\n\t\tbestMatch.matchIndices.forEach((idx) => {\n\t\t\t// if item already exists in matches array, check if we should add to it to continue\n\t\t\t// the consecutive match or not\n\t\t\tif (matches.length && matches[matches.length - 1].end === idx) {\n\t\t\t\tmatches[matches.length - 1] = {\n\t\t\t\t\t...matches[matches.length - 1],\n\t\t\t\t\tend: idx + 1\n\t\t\t\t};\n\t\t\t\t// when its not consecutive, add a new entry to the matches array\n\t\t\t} else {\n\t\t\t\tmatches.push({start: idx, end: idx + 1});\n\t\t\t}\n\t\t});\n\t\treturn {search, score: bestMatch.score, matches};\n\t} else return null;\n}\n","// Filtering\nimport {fuzzyFilter} from './filter';\n\nexport default fuzzyFilter;\n"],"version":3}},{"offset":{"line":117,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/unav-utils/29.0.1-polaris.19/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","default","compact","isEmpty","isNil","isUndefined","reduce","includes","search","target","start","toLowerCase","indexOf","matches","end","score","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__","INCLUDES","HASANA_FILTER","SYS_PROPS","PRODUCT_NAME","PRODUCT_DESCRIPTION","SYSTEM_LOCALE","SYS_LOGOUT_PROMPT","TIMEZONE_CHANGER_ROLES","TRANSACTION_STATUS_MESSAGE_ACTIVE","TRANSACTION_STATUS_MESSAGE_DELAY_TIME","RESPONSIVE_GRID_LAYOUT","DEPRECATE_HOMEPAGES","POLARIS_CLIENT_CACHE_ENABLED","POLARIS_CLIENT_CACHE_TTL_SECONDS","POLARIS_DISABLED_CLIENT_CACHE_TYPES","USER_SELECT_LANDING_PAGE","NEXT_EXPERIENCE_ALLOWED_DOMAINS","BUILD_DATE","ANALYTICS_PRIVACY_STATEMENT","ANALYTICS_RESTRICTIONS","REFERRER_POLICY","UI","THEME_BUILDER_OVERRIDE","LANGUAGE_PICKER_ENABLED","NAV_FAVORITE_URL_PARAM_BLACKLIST","POLARIS_EXPERIENCE","POLARIS_GLOBAL_SEARCH","POLARIS_AI_SEARCH_READY","POLARIS_MENUS","NAV_COLORS","NAV_ICONS","HISTORY_RECORDING","HISTORY_URL_PARAM_BLOCKLIST","MAX_PRINT_ROWS","PRINTER_FRIENDLY_ENABLED","IMPERSONATE_BUTTON_ENABLED","NAV_FILTER_DEBOUNCE","NAV_FILTER_ACCURACY_SCORE","DIRTY_FORM_SUPPORT_ENABLED","GLOBAL_SEARCH_ROLES","POLARIS_ON_OFF_USER_PREF_ENABLED","DARK_THEMES_ENABLED","POLARIS_DISABLE_DEFER","PAGE_LOAD_TIME_OUT","ANNOUNCEMENT_BANNER_CONFIG_ID","DISABLE_ANNOUNCEMENT_BANNER","BANNER_DELAY","MESSAGE_SERVICE_POLL_INTERVAL","MESSAGE_SERVICES","MESSAGE_SERVICE_MESSAGE","MESSAGE_SERVICE_MESSAGE_KEYS","SHOW_HELP","EMBEDDED_HELP_ENABLED","COLLAB_CHAT_ENABLED","COLLAB_CHAT_ENABLE_MULTI_CHATS","PRESENCE_DISABLED","GUIDED_TOURS_ENABLED","CORE_UI_NOTIFICATION_PREFERENCE","POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED","POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED","DOMAIN_REFERENCE_PICKER_ENABLED","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL","POLARIS_LOGO_ALLOW_SCRIPTS","NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED","INSTANCE_TOOLS_DISABLED","NOTIFICATION_ENABLED","PRODUCT_FEEDBACK_FORM_ENABLED","UXF_METRICS_ENABLED","MENU_LAZY_LOADING_ENABLED","MENU_CACHED_FLUSHSTAMP_ENABLED","NOW_ASSIST_ENABLED","NOW_ASSIST_ACCESS_ROLES","NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH","KEYBOARD_SHORTCUTS_ENABLED","USE_CURRENT_EXPERIENCE_CONTEXT","KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED","NEXT_EXPERIENCE_DISABLE_BATCH_API_LIST","SEPARATOR","MENU_ALL","performSearch","menu","method","hasParentMatch","ignoreParentMatch","match","descriptionMatch","actionType","label","trim","description","filter","fuzzyFilter","subItems","searchedMenus","map","subMenu","filteredMenus","m","noSubMatches","highestScore","acc","countMatches","items","level","s","item","_item$match","subItemCounts","hasChildren","totalItems","isLeaf","isMatching","Boolean","isMatchingLeaf","isMatchingGroup","isMatchingTopLevelGroup","matchingLeafItems","matchingItems","matchingGroupItems","matchingTopLevelGroupItems","findFirstNavItem","navItemIndex","firstMenuItem","sortMenuItemsRecursively","menuItems","sort","b","executeFilter","_ref","searchTerm","filterMethod","skipHighlight","sortRecursively","menus","filteredSubitems","filterMenu","sortedMenu","firstFilteredNavItem","executeSuperFilter","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","getSearchAnnouncement","PREFERENCES","COMPACT","WRAP_LIST","DATE_FORMAT","COMPACT_DATE","KEYBOARD_SHORTCUTS","FIELD_TOOLTIPS","DATA_VIZ","A11Y_DATE_FORMAT","VOICE_INPUT","A11Y_UI16","SHOW_HIDDEN_CONTROLS","TRUNCATED_TEXT","AUTO_FOCUS_ALERTS","DISABLE_ANIMATION","PRESENCE_ICON","TRUNCATION_TAB_STOP","ALERT_AUTO_DISMISSAL","MAIN_MENU_PINNED_ID","CONTEXTUAL_MENU_PINNED_ID","A11Y_SCREEN_READER","WORKSPACES_SHOW_RIBBON","WORKSPACES_SHOW_SIDEBAR","WORKSPACES_SHOW_ACTIVITY_EXPANDED","WORKSPACES_SHOW_BADGE_COUNT","WORKSPACES_SHOW_BANNERS","WORKSPACES_LAZY_LOADING","TABBED_FORMS","RELATED_LIST_LOADING","HOMEPAGE","HOMEPAGE_TITLE","NAMESPACED","THEME","THEME_VARIANT","THEME_INFODENSITY","ATF_INSPECTOR_ENABLED","ATF_INSPECTOR_SWITCH_ON","LEGACY_NOTIFICATION_MODEL","NOTIFICATION_LOCATION","FAVORITE_EDIT_POPUP_ENABLED","SUPER_FILTER_ENABLED","RECENT_CONCOURSE_PICKER_ITEMS","CONCOURSE_PICKER_MAX_RECENT_ITEMS","DOMAIN_PICKER_SHOWN","APPLICATION_PICKER_SHOWN","UPDATE_SET_SHOWN","ENCRYPTION_SHOWN","SHOW_MENU_ITEM_TOOLTIP","HIDE_MENU_ITEM_TOOLTIP","effectProxy","effect","coeffects","args","getPreferenceValue","preferences","name","_window","defaultValue","preferenceFromChrome","find","preference","window","ux_globals","userPrefs","getBooleanPreferenceValue","userPreferences","setting","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","getBooleanProperty","propertyName","propertyValue","toString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","isLoggedIn","userSession","uxGlobals","disableBatchApis","Set","_getProperty","split","shouldDisableBatch","url","options","has","batch","httpOptions","baseCreateHttpEffect","createAuthedOnlyHttpEffect","properties","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","push","allSearched","querySelectorAll","i","deepSearchAllElement","result","originalSysPropValues","sysPropOverrider","setSysProp","sysProp","_window$ux_globals","_window$ux_globals$sy","sysprops","restoreAll","originalValues","keys","forEach","createMenuTooltipHandlers","eventStartHandler","eventEndHandler","dispatch","location","createMenuTooltipHoverHandlers","createMenuTooltipFocusHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__","schedule","escapeString","string","startsWith","onMouseEnterLabelItem","hint","tooltipLabel","innerText","offsetWidth","scrollWidth","dir","toLocaleLowerCase","preventDefault","stopPropagation","onMouseEnterHistoryItem","parentElementWidth","parentElement","newLabel","onMouseEnterIconItem","ariaLabel","getAttribute","dontUseAriaLabelAsTooltip","onMouseEnterHeaderItem","classList","contains","onMouseLeaveItem","elem","getElementById","_getComputedStyle","tooltip","rect","getBoundingClientRect","mouseX","clientX","mouseY","clientY","tooltipOffset","parseInt","getComputedStyle","padding","isNaN","width","height","scheduleShowTooltip","componentId","updateState","payload","hideTooltip","showTooltip","scheduleHideTooltip","path","operation","ref","content","Array","isArray","opened","shouldRender","requestIdleCallback","setTimeout","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","HighlightedLabel","text","highlight","res","_ref2","_ref3","lastEnd","substring","class","filterMatch","className"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/filter/includes.js","webpack:///external module \"/uxasset/externals/@devsnc/fuzzy-search/29.0.1-polaris.19/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/constants/filter.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/constants/sys/index.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/filter/filter-menu-items.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/filter/filter.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/filter/a11y.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/constants/settings/index.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/constants/tooltip.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/effectProxy.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/getPreferenceValue.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/getBooleanPreferenceValue.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/getBooleanProperty.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/httpEffectUtils.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/domUtils.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/testUtil.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/createMenuTooltipHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/menu-tooltips.js","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/utils/requestIdleCallback.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.0.1-polaris.19/src/components/highlighted-label.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"compact\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t\t} else if ('compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.compact || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t} });","export function includes(search, target) {\n\tconst start = target?.toLowerCase().indexOf(search?.toLowerCase());\n\tif (start < 0) return null;\n\n\treturn {\n\t\tmatches: [\n\t\t\t{\n\t\t\t\tstart,\n\t\t\t\tend: start + search.length\n\t\t\t}\n\t\t],\n\t\tsearch,\n\t\tscore: search.length\n\t};\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_0_1_polaris_19_index_jsdbx_87bdd8d6__[\"default\"][\"default\"];\n\t\t\t\t} });","// Constant\nexport const INCLUDES = 'includes';\nexport const HASANA_FILTER = 'hasana-filter';\n","export const SYS_PROPS = {\n\tPRODUCT_NAME: 'glide.product.name',\n\tPRODUCT_DESCRIPTION: 'glide.product.description',\n\tSYSTEM_LOCALE: 'glide.system.locale',\n\tSYS_LOGOUT_PROMPT: 'glide.sys.logout_prompt',\n\tTIMEZONE_CHANGER_ROLES: 'glide.timezone_changer.roles',\n\tTRANSACTION_STATUS_MESSAGE_ACTIVE: 'com.glide.request_manager.active',\n\tTRANSACTION_STATUS_MESSAGE_DELAY_TIME:\n\t\t'glide.ui.transaction.long_response.time',\n\tRESPONSIVE_GRID_LAYOUT: 'glide.cms.enable.responsive_grid_layout',\n\tDEPRECATE_HOMEPAGES: 'com.glideapp.home.deprecate_homepages',\n\tPOLARIS_CLIENT_CACHE_ENABLED: 'glide.ui.polaris.client.cache.enabled',\n\tPOLARIS_CLIENT_CACHE_TTL_SECONDS: 'glide.ui.polaris.client.cache.ttl.seconds',\n\tPOLARIS_DISABLED_CLIENT_CACHE_TYPES:\n\t\t'glide.ui.polaris.disabled.client.cache.types',\n\tUSER_SELECT_LANDING_PAGE:\n\t\t'glide.next_experience.user_selected_landing_page_enabled',\n\tNEXT_EXPERIENCE_ALLOWED_DOMAINS:\n\t\t'glide.next_experience.allowed_iframe_domains',\n\tBUILD_DATE: 'glide.builddate',\n\tANALYTICS_PRIVACY_STATEMENT: 'glide.analytics.privacy.link',\n\tANALYTICS_RESTRICTIONS: 'sn_now_analytics.restricted.uxfweb',\n\tREFERRER_POLICY: 'com.glide.security.referrerpolicy',\n\tUI: {\n\t\tTHEME_BUILDER_OVERRIDE: 'glide.ui.polaris.theme_builder.override_logo',\n\t\tLANGUAGE_PICKER_ENABLED: 'glide.ui.language_picker.enabled',\n\t\tNAV_FAVORITE_URL_PARAM_BLACKLIST:\n\t\t\t'glide.ui.nav.favorite.url.param_blacklist',\n\t\tPOLARIS_EXPERIENCE: 'glide.ui.polaris.experience',\n\t\tPOLARIS_GLOBAL_SEARCH: 'glide.ui.polaris.global_search',\n\t\tPOLARIS_AI_SEARCH_READY: 'glide.ui.polaris.ais_ready',\n\t\tPOLARIS_MENUS: 'glide.ui.polaris.menus',\n\t\tNAV_COLORS: 'glide.ui.nav.colors',\n\t\tNAV_ICONS: 'glide.ui.nav.icons',\n\t\tHISTORY_RECORDING: 'glide.ui.polaris.history.recording',\n\t\tHISTORY_URL_PARAM_BLOCKLIST: 'glide.ui.polaris.history.url.param_blocklist',\n\t\tMAX_PRINT_ROWS: 'glide.ui.max_print_rows',\n\t\tPRINTER_FRIENDLY_ENABLED: 'glide.ui.printer_friendly_enabled',\n\t\tIMPERSONATE_BUTTON_ENABLED: 'glide.ui.impersonate_button.enable',\n\t\tNAV_FILTER_DEBOUNCE: 'glide.ui.polaris.nav_filter_debounce',\n\t\tNAV_FILTER_ACCURACY_SCORE: 'glide.ui.polaris.nav_filter_accuracy_score',\n\t\tDIRTY_FORM_SUPPORT_ENABLED: 'glide.ui.dirty_form_support',\n\t\tGLOBAL_SEARCH_ROLES: 'glide.ui.can_search',\n\t\tPOLARIS_ON_OFF_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.on_off_user_pref_enabled',\n\t\tDARK_THEMES_ENABLED: 'glide.ui.polaris.dark_themes_enabled',\n\t\tPOLARIS_DISABLE_DEFER: 'glide.ui.polaris.disable_defer',\n\t\tPAGE_LOAD_TIME_OUT: 'glide.ui.polaris.page_load_timeout',\n\t\tANNOUNCEMENT_BANNER_CONFIG_ID:\n\t\t\t'glide.ui.polaris.announcement_banner_config_id',\n\t\tDISABLE_ANNOUNCEMENT_BANNER: 'glide.ui.polaris.disable_announcement_banner',\n\t\tBANNER_DELAY: 'glide.ui.polaris.announcement_banner_delay',\n\t\tMESSAGE_SERVICE_POLL_INTERVAL: 'glide.navui.message.service.poll_interval',\n\t\tMESSAGE_SERVICES: 'glide.navui.message.services',\n\t\tMESSAGE_SERVICE_MESSAGE: 'glide.navui.message.service.message_',\n\t\tMESSAGE_SERVICE_MESSAGE_KEYS: 'glide.navui.message.service.message_keys_',\n\t\tSHOW_HELP: 'glide.product.help_show',\n\t\tEMBEDDED_HELP_ENABLED: 'com.glide.embedded_help.enabled',\n\t\tCOLLAB_CHAT_ENABLED: 'com.glide.cs.collab.enabled',\n\t\tCOLLAB_CHAT_ENABLE_MULTI_CHATS: 'com.glide.cs.collab.enable_multi_chats',\n\t\tPRESENCE_DISABLED: 'glide.ui.presence.disabled',\n\t\tGUIDED_TOURS_ENABLED: 'com.snc.guided_tours.standard_ui.enable',\n\t\tCORE_UI_NOTIFICATION_PREFERENCE:\n\t\t\t'glide.ui.polaris.core.notification_preference.enabled',\n\t\tPOLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.invisible_controls_user_pref_enabled',\n\t\tPOLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.keyboard_truncation_user_pref_enabled',\n\t\tDOMAIN_REFERENCE_PICKER_ENABLED: 'glide.ui.domain_reference_picker.enabled',\n\t\tNEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED:\n\t\t\t'glide.ui.next_experience.seismic_developer_tool_user_pref_enabled',\n\t\tNEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL:\n\t\t\t'glide.ui.next_experience.seismic_developer_tool_chrome_webstore_url',\n\t\tPOLARIS_LOGO_ALLOW_SCRIPTS: 'glide.ui.polaris.logo.allow_scripts',\n\t\tNEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED:\n\t\t\t'glide.ui.next_experience.nav_filter.single_click_enabled',\n\t\tINSTANCE_TOOLS_DISABLED: 'glide.ui.next_experience.instance_tools_disabled',\n\t\tNOTIFICATION_ENABLED: 'glide.ui_notification.enabled',\n\t\tPRODUCT_FEEDBACK_FORM_ENABLED: 'glide.ui.product_feedback_enabled',\n\t\tUXF_METRICS_ENABLED: 'glide.uxf.lib.ux.metrics.enabled',\n\t\tMENU_LAZY_LOADING_ENABLED:\n\t\t\t'glide.ui.next_experience.menu_lazy_loading_enabled',\n\t\tMENU_CACHED_FLUSHSTAMP_ENABLED:\n\t\t\t'glide.ui.next_experience.menu_cached_flushstamp_enabled',\n\t\tNOW_ASSIST_ENABLED: 'com.glide.now_assist.enabled',\n\t\tNOW_ASSIST_ACCESS_ROLES: 'com.glide.now_assist.access_roles',\n\t\tNEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH:\n\t\t\t'glide.ui.next_experience.allow_manual_menu_refresh',\n\t\tKEYBOARD_SHORTCUTS_ENABLED: 'glide.ui.keyboard.shortcuts.enabled',\n\t\tUSE_CURRENT_EXPERIENCE_CONTEXT:\n\t\t\t'glide.ui.polaris.use.selected.search.context.route',\n\t\tKEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED:\n\t\t\t'glide.ui.keyboard.shortcuts_customization.enabled',\n\t\tNEXT_EXPERIENCE_DISABLE_BATCH_API_LIST:\n\t\t\t'glide.ui.next_experience.disable_batch_api_list'\n\t}\n};\n\nexport const SEPARATOR = 'SEPARATOR';\nexport const MENU_ALL = 'd6e462a5c3533010cbd77096e940dd8c';\n","import {compact, isEmpty} from 'lodash';\nimport {includes} from './includes';\nimport fuzzyFilter from '@devsnc/fuzzy-search';\nimport {INCLUDES} from '../constants/filter';\nimport {SEPARATOR} from '../constants/sys';\n\n/**\n *\n * 0. If search term empty-ish, return full menu\n * 1. If match, return it\n * 2. If no match,\n *   a. If parent menu (i.e. subItems exists), recurse on subItems\n *   b. If leaf (i.e. subItems doesn't exist), return null\n *\n */\nexport default function performSearch(\n\tmenu,\n\tsearch = '',\n\tmethod = INCLUDES,\n\thasParentMatch = false, // flag to signify if the current menu is a subitem to a parent that already has a match\n\tignoreParentMatch = false // option to exclude parents from being matched\n) {\n\tif (!menu) return null;\n\t// If the menu had a previous search match clear that match\n\t// We set menu.match to Highlighted label so we do not need to search twice\n\tif (!isEmpty(menu.match)) menu.match = null;\n\tif (!isEmpty(menu.descriptionMatch)) menu.descriptionMatch = null;\n\tif (menu.actionType === SEPARATOR && !menu.label) return null;\n\tif (!search.trim() || (!menu.label && !menu.description)) return menu;\n\n\tconst filter = method === INCLUDES ? includes : fuzzyFilter;\n\tconst subItems = menu.subItems || [];\n\n\tconst match = filter(search, menu.label);\n\tif (!isEmpty(menu.description))\n\t\tmenu.descriptionMatch = filter(search, menu.description || '');\n\n\tmenu.match = match;\n\n\t// If menu has no subItems (i.e., is a leaf node), bail\n\tif (isEmpty(subItems)) return menu;\n\n\tlet searchedMenus = compact(\n\t\tsubItems.map((subMenu) =>\n\t\t\tperformSearch(subMenu, search, method, !!match, ignoreParentMatch)\n\t\t)\n\t);\n\tconst filteredMenus = searchedMenus.filter((m) => !isEmpty(m.match));\n\n\t// No match but have subItems, so filter out subItems that don't match\n\tif (ignoreParentMatch || (isEmpty(match) && !hasParentMatch))\n\t\tsearchedMenus = filteredMenus;\n\n\tconst noSubMatches = filteredMenus.length === 0;\n\n\tif (noSubMatches && ignoreParentMatch) {\n\t\treturn null;\n\t}\n\n\t// If there are no sub matches but has parent match, return the full menu\n\t// else, don't return a parent menu if it doesn't have any children\n\tif (noSubMatches) return !isEmpty(match) || hasParentMatch ? menu : null;\n\n\tconst highestScore = filteredMenus.reduce((acc, m) => {\n\t\treturn acc.match.score > m.match.score ? acc : m;\n\t});\n\n\t// We are only going to sort by parent items that have the highest score\n\t// The higher the score the better. Perfect score = length of searchTerm\n\tif (isEmpty(match)) {\n\t\tmenu.match = {score: highestScore.match.score};\n\t} else if (highestScore.match.score > menu.match.score) {\n\t\tmenu.match.score = highestScore.match.score;\n\t}\n\n\treturn {\n\t\t...menu,\n\t\tsubItems: searchedMenus\n\t};\n}\n","import {compact, isEmpty, reduce} from 'lodash';\nimport filterMenu from './filter-menu-items';\n\nconst countMatches = (items = [], ignoreParentMatch = false, level = 0) => {\n\treturn reduce(\n\t\titems,\n\t\t(s, item) => {\n\t\t\tconst subItems = item.subItems || [];\n\t\t\tconst subItemCounts = countMatches(subItems, level + 1);\n\n\t\t\tconst hasChildren = subItemCounts.totalItems > 0;\n\t\t\tconst isLeaf = subItemCounts.totalItems === 0;\n\t\t\tconst isMatching = Boolean(item?.match?.matches);\n\t\t\tconst isMatchingLeaf = isLeaf && isMatching;\n\t\t\tconst isMatchingGroup = ignoreParentMatch ? hasChildren : isMatching;\n\t\t\tconst isMatchingTopLevelGroup =\n\t\t\t\tsubItemCounts.matchingLeafItems > 0 && isMatchingGroup && level === 0;\n\n\t\t\treturn {\n\t\t\t\tmatchingItems:\n\t\t\t\t\ts.matchingItems + subItemCounts.matchingItems + (isMatching ? 1 : 0),\n\n\t\t\t\ttotalItems: s.totalItems + subItemCounts.totalItems + 1,\n\n\t\t\t\tmatchingLeafItems:\n\t\t\t\t\ts.matchingLeafItems +\n\t\t\t\t\tsubItemCounts.matchingLeafItems +\n\t\t\t\t\t(isMatchingLeaf ? 1 : 0),\n\n\t\t\t\tmatchingGroupItems:\n\t\t\t\t\ts.matchingGroupItems +\n\t\t\t\t\tsubItemCounts.matchingGroupItems +\n\t\t\t\t\t(isMatchingGroup ? 1 : 0),\n\n\t\t\t\tmatchingTopLevelGroupItems:\n\t\t\t\t\ts.matchingTopLevelGroupItems +\n\t\t\t\t\tsubItemCounts.matchingTopLevelGroupItems +\n\t\t\t\t\t(isMatchingTopLevelGroup ? 1 : 0)\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tmatchingItems: 0,\n\t\t\ttotalItems: 0,\n\t\t\tmatchingLeafItems: 0,\n\t\t\tmatchingGroupItems: 0,\n\t\t\tmatchingTopLevelGroupItems: 0\n\t\t}\n\t);\n};\n\nconst findFirstNavItem = (menu = [], navItemIndex = 0) => {\n\tconst firstMenuItem = menu[navItemIndex];\n\n\tif (!firstMenuItem) return false;\n\n\tif (firstMenuItem.subItems) {\n\t\t// first item was not navigable so look in its subitems\n\t\treturn findFirstNavItem(firstMenuItem.subItems, 0);\n\t} else {\n\t\tif (firstMenuItem.match === null) {\n\t\t\t// if the first item doesnt have a match, keep moving down the list until we find one that does\n\t\t\treturn findFirstNavItem(menu, navItemIndex + 1);\n\t\t} else {\n\t\t\t// we found our first nav item so return it and be done.\n\t\t\treturn firstMenuItem;\n\t\t}\n\t}\n};\n\nconst sortMenuItemsRecursively = (menuItems) => {\n\treturn menuItems\n\t\t.map((item) => {\n\t\t\tif (item.subItems) {\n\t\t\t\titem.subItems = sortMenuItemsRecursively(item.subItems);\n\t\t\t}\n\t\t\treturn item;\n\t\t})\n\t\t.sort((a, b) => b.match.score - a.match.score);\n};\n\nexport const executeFilter = ({\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight,\n\tsortRecursively = false,\n\tignoreParentMatch = false\n}) => {\n\tif (isEmpty(searchTerm)) return menu;\n\tconst menus = menu?.subItems || [];\n\n\tconst searchedSubitems = compact(\n\t\tmenus.map((m) =>\n\t\t\tfilterMenu(m, searchTerm, filterMethod, false, ignoreParentMatch)\n\t\t)\n\t);\n\n\t// When on a collapsible list like Domain a Domain may not be a match or a parent with subItems\n\tconst filteredSubitems = searchedSubitems.filter((m) => !isEmpty(m.match));\n\n\tconst {\n\t\tmatchingItems,\n\t\ttotalItems,\n\t\tmatchingLeafItems,\n\t\tmatchingGroupItems,\n\t\tmatchingTopLevelGroupItems\n\t} = countMatches(filteredSubitems, ignoreParentMatch);\n\n\tconst sortedMenu = sortRecursively\n\t\t? sortMenuItemsRecursively(filteredSubitems)\n\t\t: filteredSubitems.sort((a, b) => b.match.score - a.match.score);\n\n\treturn {\n\t\t...menu,\n\t\tsubItems: sortedMenu,\n\t\tmatchingItems,\n\t\tmatchingLeafItems,\n\t\tmatchingGroupItems,\n\t\tmatchingTopLevelGroupItems,\n\t\ttotalItems,\n\t\tfirstFilteredNavItem: !skipHighlight ? findFirstNavItem(sortedMenu) : null\n\t};\n};\n\nexport const executeSuperFilter = (\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight\n) => {\n\treturn executeFilter({menu, searchTerm, filterMethod, skipHighlight});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const getSearchAnnouncement = (menuItems) => {\n\tconst {matchingTopLevelGroupItems, matchingLeafItems, totalItems} = menuItems;\n\n\tif (totalItems === 0) {\n\t\treturn t('No results found');\n\t}\n\n\tif (matchingLeafItems === 1 && matchingTopLevelGroupItems === 1) {\n\t\treturn t(\n\t\t\t'{0} item in {1} category found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else if (matchingLeafItems === 1 && matchingTopLevelGroupItems > 1) {\n\t\treturn t(\n\t\t\t'{0} item in {1} categories found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else if (matchingLeafItems > 1 && matchingTopLevelGroupItems === 1) {\n\t\treturn t(\n\t\t\t'{0} items in {1} category found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else {\n\t\treturn t(\n\t\t\t'{0} items in {1} categories found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t}\n};\n","export const PREFERENCES = {\n\tCOMPACT: 'glide.ui.compact',\n\tWRAP_LIST: 'table.wrap',\n\tDATE_FORMAT: 'glide.ui.date_format',\n\tCOMPACT_DATE: 'glide.ui.short_date_format',\n\tKEYBOARD_SHORTCUTS: 'glide.ui.keyboard.shortcuts.enabled',\n\tFIELD_TOOLTIPS: 'glide.ui.accessibility.accessible.tooltips',\n\tDATA_VIZ: 'glide.ui.report.accessibility.patterns',\n\tA11Y_DATE_FORMAT: 'glide.ui.accessibility.accessible.dateFormat',\n\tVOICE_INPUT: 'glide.ui.accessibility.voice_input',\n\tA11Y_UI16: 'glide.ui.accessibility',\n\tSHOW_HIDDEN_CONTROLS: 'glide.ui.accessibility.show_hidden_controls',\n\tTRUNCATED_TEXT: 'glide.ui.accessibility.show_truncated_text',\n\tAUTO_FOCUS_ALERTS: 'glide.ui.accessibility.alertAutoFocus',\n\tDISABLE_ANIMATION: 'glide.polaris.animation_disabled',\n\tPRESENCE_ICON: 'glide.polaris.accessibility.presence_icon',\n\tTRUNCATION_TAB_STOP: 'glide.polaris.accessibility.truncation_tab_stop',\n\tALERT_AUTO_DISMISSAL: 'glide.uxf.alert.auto_dismissal_enabled',\n\n\tMAIN_MENU_PINNED_ID: 'glide.ui.menu.main.pinned.id',\n\tCONTEXTUAL_MENU_PINNED_ID: 'glide.ui.menu.contextual.pinned.id',\n\n\tA11Y_SCREEN_READER: 'glide.ui.report.accessibility.screen_reader_table',\n\tWORKSPACES_SHOW_RIBBON: 'workspace.showRibbon',\n\tWORKSPACES_SHOW_SIDEBAR: 'workspace.showAgentAssist',\n\tWORKSPACES_SHOW_ACTIVITY_EXPANDED: 'activity.expand_by_default',\n\tWORKSPACES_SHOW_BADGE_COUNT: 'workspace.notifications.showBadgeCount',\n\tWORKSPACES_SHOW_BANNERS: 'workspace.notifications.showPopups',\n\tWORKSPACES_LAZY_LOADING: 'workspace.lazyLoading.enabled',\n\tTABBED_FORMS: 'tabbed.forms',\n\tRELATED_LIST_LOADING: 'glide.ui.related_list_timing',\n\tHOMEPAGE: 'my_home_navigation_page',\n\tHOMEPAGE_TITLE: 'glide.next_experience.homepage_title',\n\tNAMESPACED: {\n\t\tTHEME: 'theme',\n\t\tTHEME_VARIANT: 'theme.variant',\n\t\tTHEME_INFODENSITY: 'theme.infodensity'\n\t},\n\t/**\n\t * In UI16, toggling enablement also toggles the switch; however, toggling the switch (ie. header icon) does not toggle enablement.\n\t * For Polaris, there is no header icon and only the enablement toggle.\n\t */\n\tATF_INSPECTOR_ENABLED: 'glide.atf_inspector.enabled',\n\tATF_INSPECTOR_SWITCH_ON: 'glide.atf_inspector.switch.on',\n\tLEGACY_NOTIFICATION_MODEL: 'glide.notification.use_legacy_subscription_model',\n\tNOTIFICATION_LOCATION: 'glide.notification.banner_location',\n\tFAVORITE_EDIT_POPUP_ENABLED: 'glide.ui.favorites.quick_edit_enabled',\n\tSUPER_FILTER_ENABLED: 'glide.ui.menu.superFilter.enabled',\n\tRECENT_CONCOURSE_PICKER_ITEMS: 'glide.ui.concourse_picker.recent_items',\n\tCONCOURSE_PICKER_MAX_RECENT_ITEMS:\n\t\t'glide.ui.concourse_picker.max_recent_items',\n\tDOMAIN_PICKER_SHOWN: 'glide.ui.domain_picker.in_header',\n\tAPPLICATION_PICKER_SHOWN: 'glide.ui.application_picker.in_header',\n\tUPDATE_SET_SHOWN: 'glide.ui.update_set_picker.in_header',\n\tENCRYPTION_SHOWN: 'glide.ui.encryption_picker.in_header'\n};\n","export const SHOW_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#SHOW_TOOLTIP';\nexport const HIDE_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#HIDE_TOOLTIP';\n","/* istanbul ignore file */\n\n/**\n * Taken from: https://code.devsnc.com/dev/sn-uxf-builder-middleware/blob/ci/master/src/sn-uxf-builder-middleware/helpers/effectProxy.js\n * Handy dandy proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import effectProxy from '../helpers/effectProxy'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\nexport const effectProxy = (effect) => (coeffects) =>\n\teffect.effect(...effect.args, coeffects);\n","import isNil from 'lodash/isNil';\n\nexport function getPreferenceValue(preferences, name, defaultValue = null) {\n\t// Preferences read from now-ui.glideUserPreferences are stored in ux_globals\n\t// Check canvas chrome first bc those are kept up to date\n\t// TODO: This should all eventually come from the global as we\n\t// move our preferences out from the canvas data broker and into our now-ui\n\tconst preferenceFromChrome = preferences?.find(\n\t\t(preference) => preference.name === name\n\t);\n\n\tconst preference = preferenceFromChrome ?? {\n\t\tvalue: window?.ux_globals?.userPrefs?.[name]\n\t};\n\n\treturn isNil(preference?.value) ? defaultValue : preference.value;\n}\n","import {getPreferenceValue} from './getPreferenceValue';\nimport isNil from 'lodash/isNil';\n\nexport function getBooleanPreferenceValue(\n\tuserPreferences,\n\tpreference,\n\tdefaultValue = false\n) {\n\tconst setting = getPreferenceValue(userPreferences, preference);\n\treturn isNil(setting) ? defaultValue : setting === true || setting === 'true';\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","import {getProperty} from 'sn-uxpage-presource';\n\nexport function getBooleanProperty(propertyName, defaultValue = false) {\n\tconst propertyValue = getProperty(propertyName, defaultValue);\n\treturn (\n\t\tpropertyValue === true || propertyValue.toString().toLowerCase() === 'true'\n\t);\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import {createHttpEffect as baseCreateHttpEffect} from '@servicenow/ui-effect-http';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {isEmpty} from 'lodash';\nimport {SYS_PROPS} from '../constants';\n\nexport function isLoggedIn(userSession, uxGlobals = window?.ux_globals) {\n\treturn isEmpty(userSession)\n\t\t? uxGlobals?.isLoggedIn === 'true'\n\t\t: userSession.isLoggedIn;\n}\n\nconst disableBatchApis = new Set(\n\tgetProperty(SYS_PROPS.UI.NEXT_EXPERIENCE_DISABLE_BATCH_API_LIST, '')?.split(\n\t\t','\n\t)\n);\n\nconst shouldDisableBatch = (url, options) => {\n\treturn disableBatchApis.has(url) || !options.batch;\n};\n\nexport const createHttpEffect = (url, options) => {\n\tconst httpOptions = {\n\t\t...options,\n\t\tbatch: !shouldDisableBatch(url, options)\n\t};\n\treturn baseCreateHttpEffect(url, httpOptions);\n};\n\nexport const createAuthedOnlyHttpEffect = (url, options) => {\n\tconst {effect, args} = createHttpEffect(url, options);\n\n\treturn {\n\t\targs,\n\t\teffect: (url, options, coeffects) => {\n\t\t\tconst userSession = coeffects.properties.userSession;\n\t\t\t// Handle race where the userSession selected property isn't resolved at this point\n\t\t\t// If it is empty, it will be on initial load and eventually resolve.\n\n\t\t\tif (isLoggedIn(userSession)) {\n\t\t\t\treturn effect(url, options, coeffects);\n\t\t\t}\n\t\t}\n\t};\n};\n","export const deepSearchElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nexport const deepSearchAllElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\tconst result = [];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelectorAll(selector);\n\t\tif (ele && ele.length > 0) result.push(...ele);\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n\treturn result;\n};\n","let originalSysPropValues = {};\n\nconst sysPropOverrider = {\n\tsetSysProp: (sysProp, value) => {\n\t\twindow.ux_globals = window.ux_globals ?? {sysprops: {}};\n\t\twindow.ux_globals.sysprops = window.ux_globals.sysprops ?? {};\n\n\t\toriginalSysPropValues[sysProp] = window.ux_globals.sysprops[sysProp];\n\t\twindow.ux_globals.sysprops[sysProp] = value;\n\t},\n\trestoreAll: () => {\n\t\tconst originalValues = originalSysPropValues;\n\t\tObject.keys(originalValues).forEach((key) => {\n\t\t\twindow.ux_globals.sysprops[key] = originalValues[key];\n\t\t});\n\t\toriginalSysPropValues = {};\n\t}\n};\n\nexport {sysPropOverrider};\n","/**\n * These methods handle creating the event listeners to trigger tooltip on elements in the menu\n * Some menu items can have focus and hover on the same DOM element and some don't so we have 3 methods to handle all those cases.\n */\n\n// setup event listener for both hover and focus\nexport const createMenuTooltipHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch,\n\tlocation\n) => ({\n\t'on-focus': (e) => {\n\t\teventStartHandler(e, dispatch, location);\n\t},\n\t'on-mouseenter': (e) => {\n\t\teventStartHandler(e, dispatch, location);\n\t},\n\t'on-mouseleave': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t},\n\t'on-blur': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n\n// setup event listeners for just hover events\nexport const createMenuTooltipHoverHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch\n) => ({\n\t'on-mouseenter': (e) => {\n\t\teventStartHandler(e, dispatch);\n\t},\n\t'on-mouseleave': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n\n// setup event listeners for just cursor focus events\nexport const createMenuTooltipFocusHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch\n) => ({\n\t'on-focus': (e) => {\n\t\teventStartHandler(e, dispatch);\n\t},\n\t'on-blur': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"schedule\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'schedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].schedule;\n\t\t\t\t\t} else if ('schedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.schedule || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].schedule;\n\t\t\t\t} });","import {schedule} from '@servicenow/now-tooltip';\n\nimport {\n\tSHOW_MENU_ITEM_TOOLTIP,\n\tHIDE_MENU_ITEM_TOOLTIP\n} from '../constants/tooltip';\n\nexport const escapeString = (string) => {\n\tif (!string) {\n\t\treturn string;\n\t}\n\n\treturn string.startsWith('@') ? `\\\\${string}` : string;\n};\n\n/**\n * Methods used trigger tooltip on elements in the menu\n * These methods handle both hover and focus on elements.\n * Event handlers are setup in /utils/createMenuTooltipHandlers.js\n *\n * Tooltips work by looking for specific elements inside the menu item which triggered the event.\n * These methods looks for elements with 'label', 'tooltip-label', or 'hint' in their css class names.\n *\n * \tTooltip Rules based on class name:\n *  * If 'label' is found the code will check to see if the text inside that elements overflows and will show the tooltip if it does. The element with the label class will also be the referent target for tooltip placement.\n *\n *  * If 'hint' is found the code will always show a tooltip for that element. The content of the 'hint' element will be used to populate the tooltip. The element with the 'label' class will still be used to place the tooltip.\n *\n * \t* If 'tooltip-label' is found then an icon triggered the event. In this case tooltip always shown and the element which triggered the event will be the tooltip reference element for placement.\n */\n\n// handle showing a tooltip for a text label\nexport const onMouseEnterLabelItem = (e, dispatch) => {\n\tconst label = e.target.querySelector('.label');\n\tconst hint = e.target.querySelector('span.hint');\n\tconst tooltipLabel = hint\n\t\t? escapeString(hint.innerText)\n\t\t: escapeString(label.innerText);\n\n\tif ((!label && !hint) || (label.offsetWidth >= label.scrollWidth && !hint))\n\t\treturn;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: label,\n\t\tlabel: tooltipLabel,\n\t\tlocation:\n\t\t\tdocument.dir.toLocaleLowerCase() === 'rtl'\n\t\t\t\t? ['bottom-center top-center', 'top-start bottom-end']\n\t\t\t\t: ['bottom-center top-center', 'top-end bottom-start'] // Best position so as to not overlap (ie. hide) any other icon/label items\n\t});\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n// handle showing a tooltip for a text label\nexport const onMouseEnterHistoryItem = (e, dispatch) => {\n\tconst label = e.target.querySelector('.label');\n\tconst description = e.target.querySelector('.menu-item-description');\n\n\tif (!label) return;\n\n\tconst parentElementWidth = label.parentElement.offsetWidth;\n\n\tif (\n\t\tlabel.offsetWidth > parentElementWidth ||\n\t\tdescription?.offsetWidth > parentElementWidth\n\t) {\n\t\tlet newLabel = label.innerText;\n\t\tif (description) {\n\t\t\tnewLabel += ` - ${description.innerText}`;\n\t\t}\n\n\t\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\t\ttarget: label,\n\t\t\tlabel: `${newLabel}`,\n\t\t\tlocation: 'top-left'\n\t\t});\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}\n};\n\n// handle showing a tooltip for an icon\nexport const onMouseEnterIconItem = (e, dispatch, location) => {\n\tconst label = e.target.querySelector('span.tooltip-label');\n\tconst ariaLabel = e.target.getAttribute('aria-label') || null;\n\tconst dontUseAriaLabelAsTooltip =\n\t\te.target.getAttribute('data-dont-use-aria-label-as-tooltip') || false;\n\tif (!label && !ariaLabel) return;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: e.target,\n\t\tlabel:\n\t\t\tariaLabel && !dontUseAriaLabelAsTooltip ? ariaLabel : label.innerText,\n\t\tlocation: location || 'top-center'\n\t});\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n// handle showing a tooltip for a menu label in header\nexport const onMouseEnterHeaderItem = (e, dispatch) => {\n\tconst label = e.target;\n\tconst tooltipLabel = label.innerText;\n\n\tif (\n\t\t!label.classList.contains('shown') ||\n\t\tlabel.offsetWidth >= label.scrollWidth\n\t)\n\t\treturn;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: label,\n\t\tlabel: tooltipLabel,\n\t\tlocation: 'bottom-center'\n\t});\n\n\te.preventDefault();\n};\n\n// handle removing the tooltip when mouse or cursor focus leaves element\nexport const onMouseLeaveItem = (e, dispatch) => {\n\tconst elem = document.getElementById('tooltip');\n\tif (elem) {\n\t\tconst tooltip = elem.shadowRoot.querySelector('.now-tooltip');\n\t\tconst rect = tooltip.getBoundingClientRect();\n\t\tconst mouseX = e.clientX;\n\t\tconst mouseY = e.clientY;\n\n\t\tvar tooltipOffset = parseInt(getComputedStyle(tooltip)?.padding);\n\t\ttooltipOffset = isNaN(tooltipOffset) ? 0 : tooltipOffset;\n\t\tif (\n\t\t\trect.x <= mouseX &&\n\t\t\tmouseX <= rect.x + rect.width &&\n\t\t\trect.y - tooltipOffset <= mouseY &&\n\t\t\tmouseY <= rect.y + rect.height + tooltipOffset\n\t\t) {\n\t\t\t// If mouse left item to hover over tooltip, don't hide it\n\t\t\treturn;\n\t\t}\n\t}\n\n\tdispatch(HIDE_MENU_ITEM_TOOLTIP);\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n/**\n * Methods used to schedule the showing/hiding of a menu's tooltip\n * This scheduling is part of the sn-tooltip component to manage it's 'open' state\n */\n\n// schedule showing the tooltip\nexport const scheduleShowTooltip = (componentId, updateState, payload) => {\n\thideTooltip(updateState);\n\tschedule(componentId, showTooltip.bind(null, updateState, payload));\n};\n\n// schedule hiding the tooltip\nexport const scheduleHideTooltip = (componentId, updateState) => {\n\tschedule(componentId, hideTooltip.bind(null, updateState));\n};\n\n/**\n * Private methods used to update the state of 'currentTooltip' for this the menu\n * Called by tooltip scheduler methods above. Never call directly.\n */\nconst showTooltip = (updateState, payload) => {\n\t// sometimes in a pinned Favorites Menu, after removing a favorite, focus will get returned the to\n\t// remove favorite button in the menu for the favorite being removed. This triggers a scheduleShowTooltip.\n\t// Then, in the time between scheduleShowTooltip and showTooltip, the element is removed from the menu. This\n\t// will cause the tooltip to layout wrong since its target element has no width so the check below prevents the tooltip from\n\t// appearing if the target element has zero width. We can not simply check if the element is null at this point\n\t// because payload.target will *always* be holding a reference to the removed DOM element since the element was still on the page at\n\t// the time scheduleShowTooltip was called.\n\tif (payload.target.offsetWidth > 0) {\n\t\tupdateState({\n\t\t\tpath: 'currentTooltip',\n\t\t\toperation: 'set',\n\t\t\tvalue: {\n\t\t\t\tref: payload.target,\n\t\t\t\tcontent: payload.label,\n\t\t\t\tlocation: Array.isArray(payload?.location)\n\t\t\t\t\t? payload?.location\n\t\t\t\t\t: [payload?.location],\n\t\t\t\topened: true\n\t\t\t},\n\t\t\tshouldRender: true\n\t\t});\n\t}\n};\n\nconst hideTooltip = (updateState) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: null, content: '', location: '', opened: false},\n\t\tshouldRender: true\n\t});\n};\n","/* istanbul ignore file */\n\nexport const requestIdleCallback = (...args) => {\n\treturn (window.requestIdleCallback || window.setTimeout)(...args);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","import {isUndefined} from 'lodash';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {INCLUDES} from '../constants';\n\nexport function HighlightedLabel({text, matches, filterMethod, search}) {\n\t// Concourse pickers like Application scope and Update set\n\t// are always an Includes lodash search and only require basic highlighting\n\tif (isUndefined(matches)) {\n\t\treturn filterMethod === INCLUDES && search?.trim()\n\t\t\t? highlight(text, search)\n\t\t\t: text;\n\t}\n\n\tconst res = matches.reduce(\n\t\t({lastEnd, result}, {start, end}) => {\n\t\t\treturn {\n\t\t\t\tlastEnd: end,\n\t\t\t\tresult: [\n\t\t\t\t\t...result,\n\t\t\t\t\ttext.substring(lastEnd, start),\n\t\t\t\t\t<mark\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'filter-match': true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{text.substring(start, end)}\n\t\t\t\t\t<\/mark>\n\t\t\t\t]\n\t\t\t};\n\t\t},\n\t\t{lastEnd: 0, result: []}\n\t);\n\n\tres.result = [...res.result, text.substring(res.lastEnd, text.length)];\n\treturn res.result;\n}\n\nconst highlight = (text, search) => {\n\tconst start = text.toLowerCase().indexOf(search.toLowerCase());\n\tif (start < 0) return text;\n\n\tconst filterMatch = {\n\t\tstart,\n\t\tend: start + search.length\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{text.substring(0, filterMatch.start)}\n\t\t\t<mark className=\"filter-match\">\n\t\t\t\t{text.substring(filterMatch.start, filterMatch.end)}\n\t\t\t<\/mark>\n\t\t\t{text.substring(filterMatch.end)}\n\t\t<\/Fragment>\n\t);\n};\n"],"version":3}},{"offset":{"line":133,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-impersonation/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","IMPERSONATE_USER_CLICKED","USER_IMPERSONATED","USER_DESELECTED","IMPERSONATION_MODAL_DISMISSED","SEARCH_IMPERSONATE_LIST_REQUESTED","GET_IMPERSONATE_LIST_REQUESTED","GET_IMPERSONATE_SUCCEEDED","RECENT_FETCH_REQUESTED","RECENT_FETCH_SUCCEEDED","RECENT_FETCH_FAILED","USER_IMPERSONATE_SUCCEEDED","USER_IMPERSONATE_FAILED","IMPERSONATION_ENDED","START_TRACK_TIME","END_TRACK_TIME","IMPERSONATE_FETCH_TIME_PATH","getModalDimensions","_ref","recentImpersonations","totalRecentImpersonations","width","height","Impersonation","_ref2","selectedUser","searchResult","users","className","label","placeholder","items","icon","slot","RecentImpersonations","_ref3","recentsContainsTypeaheadResult","find","_ref4","UserCard","selected","user","role","illustration","heading","_ref5","avatarProps","sublabel","interaction","size","sysId","button","hideTooltip","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__","createHttpEffect","effectProxy","COMPONENT_RENDER_REQUESTED","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","getImpersonationListEffect","method","dataParam","batch","successActionType","fetchRecentImpersonationsEffect","errorActionType","convertUser","avatar","sys_id","user_name","name","$$displayValue","userName","imageSrc","actionHandlers","effect","_ref7","dispatch","properties","endImpersonation","stopPropagation","_ref8","action","userMeta","modalOpened","state","dependenciesFetched","fetchingDependencies","updateState","_userMeta$roles","preventDefault","isImpersonating","window","localStorage","setItem","roles","includes","_ref9","payload","previousValue","_ref10","search","qualifier","finalSearchTerm","replace","searchMethod","test","hasAdminRole","getItem","data","p","count","start","sysparm_for_impersonation","table","user_display_value","user_sys_id","_ref11","interceptors","context","coeffects","path","filter","metric","time","Date","now","_ref12","_ref13","_ref14","_ref15","initialTypeaheadLoad","modifier","delay","_ref6","meta","appended","impersonateUserEffect","pathParams","removeItem","impersonatingUserId","view","impersonateDisabled","opened","customSize","variant","disabled","clickActionType","styles","deepCompare","schema","type","behaviors","behavior","impersonationBehavior","initialState","__TECTONIC__$devsnc_sn_impersonation"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.scss","webpack:///./src/impersonation-modal/impersonation.scss?0d1b","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-impersonation/src/actions.js","webpack:///@devsnc/sn-impersonation/src/utils/modalUtils.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.view.js","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/28.8.7/index.jsdbx\"","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.effects.js","webpack:///@devsnc/sn-impersonation/src/impersonation-behavior/index.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/index.js","webpack:///@devsnc/sn-impersonation/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-typeahead{margin-block-start:0;width:100%}now-icon.search-icon{margin-inline-end:.75rem}now-template-message-empty-state{margin-block-start:1rem}.impersonation{margin-inline:.25rem}.recent-impersonations .recent-impersonations-list .recent-impersonations-header{color:RGB(var(--now-color--primary-2,23,100,82));font-size:.75rem;font-weight:400;margin:0;margin-block-end:.75rem;margin-block-start:1.5rem;text-transform:uppercase}now-card.user-tile{margin-block-end:.5rem}.user-tile-content{align-items:center;display:flex;padding-block:.25rem}.user-tile-content>now-avatar{margin-inline-end:.5rem}.user-tile-content>.user-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tile-content>.user-description:after{content:\\\"\\\";display:block}.user-tile-content>.user-description>.user-name{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}.user-tile-content>.user-description>.user-title{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}div[data-popover-target=true]{z-index:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./impersonation.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","export const IMPERSONATE_USER_CLICKED =\n\t'IMPERSONATION#IMPERSONATE_USER_CLICKED';\nexport const USER_IMPERSONATED = 'IMPERSONATION#USER_IMPERSONATED';\nexport const USER_DESELECTED = 'IMPERSONATION#USER_DESELECTED';\nexport const IMPERSONATION_MODAL_DISMISSED =\n\t'IMPERSONATION#IMPERSONATION_MODAL_DISMISSED';\nexport const SEARCH_IMPERSONATE_LIST_REQUESTED =\n\t'IMPERSONATION#SEARCH_IMPERSONATE_LIST_REQUESTED';\nexport const GET_IMPERSONATE_LIST_REQUESTED =\n\t'IMPERSONATION#GET_IMPERSONATE_LIST_REQUESTED';\nexport const GET_IMPERSONATE_SUCCEEDED =\n\t'IMPERSONATION#GET_IMPERSONATE_SUCCEEDED';\nexport const RECENT_FETCH_REQUESTED = 'IMPERSONATION#RECENT_FETCH_REQUESTED';\nexport const RECENT_FETCH_SUCCEEDED = 'IMPERSONATION#RECENT_FETCH_SUCCEEDED';\nexport const RECENT_FETCH_FAILED = 'IMPERSONATION#RECENT_FETCH_FAILED';\nexport const USER_IMPERSONATE_SUCCEEDED =\n\t'IMPERSONATION#USER_IMPERSONATE_SUCCEEDED';\nexport const USER_IMPERSONATE_FAILED = 'IMPERSONATION#USER_IMPERSONATE_FAILED';\nexport const IMPERSONATION_ENDED = 'IMPERSONATION#IMPERSONATION_ENDED';\n\n// Metrics\nexport const START_TRACK_TIME = 'PERFORMANCE_METRICS#START_TRACK_TIME';\nexport const END_TRACK_TIME = 'PERFORMANCE_METRICS#END_TRACK_TIME';\nexport const IMPERSONATE_FETCH_TIME_PATH =\n\t'behaviors.PERFORMANCE_METRICS_BEHAVIOR.fetchImpersonateTime';\n","export const getModalDimensions = ({recentImpersonations}) => {\n\tconst rowHeight = 66;\n\tconst modalStartingHeight = 360;\n\tconst minRowBeforeResize = 3;\n\tconst totalRecentImpersonations = recentImpersonations.length;\n\treturn totalRecentImpersonations < minRowBeforeResize\n\t\t? {}\n\t\t: {\n\t\t\t\twidth: '600px',\n\t\t\t\theight: `${modalStartingHeight +\n\t\t\t\t\t(totalRecentImpersonations - 1) * rowHeight}px`\n\t\t  };\n};\n","import '@servicenow/now-avatar';\nimport '@servicenow/now-card';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-typeahead';\nimport {t} from 'sn-translate';\n\nimport {\n\tIMPERSONATE_USER_CLICKED,\n\tIMPERSONATION_MODAL_DISMISSED\n} from '../actions';\nimport {getModalDimensions} from '../utils/modalUtils';\n\nexport default ({\n\tproperties: {modalOpened},\n\trecentImpersonations,\n\tselectedUser,\n\tsearchResult,\n\tusers\n}) => {\n\tconst impersonateDisabled = !selectedUser;\n\n\treturn (\n\t\t<now-modal\n\t\t\topened={modalOpened}\n\t\t\theader-label={t('Impersonate user')}\n\t\t\tsize=\"md\"\n\t\t\tcustomSize={getModalDimensions({recentImpersonations})}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Impersonate user'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tdisabled: impersonateDisabled,\n\t\t\t\t\tclickActionType: IMPERSONATE_USER_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: IMPERSONATION_MODAL_DISMISSED\n\t\t\t\t}\n\t\t\t]}\n\t\t\tmanage-opened>\n\t\t\t<Impersonation\n\t\t\t\tusers={users}\n\t\t\t\trecentImpersonations={recentImpersonations}\n\t\t\t\tselectedUser={selectedUser}\n\t\t\t\tsearchResult={searchResult}\n\t\t\t/>\n\t\t<\/now-modal>\n\t);\n};\n\nconst Impersonation = ({\n\tselectedUser,\n\tsearchResult,\n\tusers,\n\trecentImpersonations\n}) => (\n\t<div className=\"impersonation\">\n\t\t<now-typeahead\n\t\t\tlabel={t('Select a user')}\n\t\t\tplaceholder={t('Search for a user')}\n\t\t\titems={users}>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"search-icon\"\n\t\t\t\ticon=\"magnifying-glass-fill\"\n\t\t\t\tslot=\"end\"\n\t\t\t/>\n\t\t<\/now-typeahead>\n\t\t<RecentImpersonations\n\t\t\tselectedUser={selectedUser}\n\t\t\tsearchResult={searchResult}\n\t\t\tusers={recentImpersonations}\n\t\t/>\n\t<\/div>\n);\n\nconst RecentImpersonations = ({selectedUser, searchResult, users = []}) => {\n\tconst recentsContainsTypeaheadResult = users.find(\n\t\t({id}) => id === searchResult?.id\n\t);\n\n\treturn (\n\t\t<div className=\"recent-impersonations\">\n\t\t\t{searchResult && !recentsContainsTypeaheadResult ? (\n\t\t\t\t<UserCard\n\t\t\t\t\tselected={selectedUser?.id === searchResult.id}\n\t\t\t\t\tuser={searchResult}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div\n\t\t\t\tclassName=\"recent-impersonations-list\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby=\"recent-impersonations-list-label\">\n\t\t\t\t<h3\n\t\t\t\t\tclassName=\"recent-impersonations-header\"\n\t\t\t\t\tid=\"recent-impersonations-list-label\">\n\t\t\t\t\t{t('Recent Impersonations')}\n\t\t\t\t<\/h3>\n\t\t\t\t{users.length === 0 ? (\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\tillustration=\"no-activities\"\n\t\t\t\t\t\theading={{}}\n\t\t\t\t\t\tcontent={t('You do not have any recent impersonations')}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{users.map((user) => (\n\t\t\t\t\t<UserCard selected={selectedUser?.id === user.id} user={user} />\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst UserCard = ({selected, user: {avatarProps, label, sublabel, id}}) => (\n\t<now-card\n\t\tmanage-selected\n\t\tselected={selected}\n\t\tclassName=\"user-tile\"\n\t\tinteraction=\"select\"\n\t\tsize=\"sm\"\n\t\tappend-to-meta={{sysId: id}}\n\t\tkey={id}\n\t\tdata-name={label}\n\t\tconfig-aria={{\n\t\t\tbutton: {\n\t\t\t\t'aria-label': label\n\t\t\t}\n\t\t}}>\n\t\t<div className=\"user-tile-content\">\n\t\t\t<now-avatar size=\"md\" {...avatarProps} hideTooltip aria-hidden=\"true\" />\n\n\t\t\t<div className=\"user-description\">\n\t\t\t\t<span className=\"user-name\">{label}<\/span>\n\t\t\t\t<br />\n\t\t\t\t<span className=\"user-title\">{sublabel}<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/now-card>\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createHttpEffect;\n\t\t\t\t}, [\"effectProxy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].effectProxy;\n\t\t\t\t\t} else if ('effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.effectProxy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].effectProxy;\n\t\t\t\t} });","import {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tIMPERSONATE_USER_CLICKED,\n\tUSER_IMPERSONATED,\n\tUSER_DESELECTED,\n\tSEARCH_IMPERSONATE_LIST_REQUESTED,\n\tGET_IMPERSONATE_LIST_REQUESTED,\n\tGET_IMPERSONATE_SUCCEEDED,\n\tRECENT_FETCH_REQUESTED,\n\tRECENT_FETCH_SUCCEEDED,\n\tRECENT_FETCH_FAILED,\n\tIMPERSONATION_MODAL_DISMISSED,\n\tIMPERSONATION_ENDED,\n\tEND_TRACK_TIME,\n\tSTART_TRACK_TIME,\n\tIMPERSONATE_FETCH_TIME_PATH\n} from '../actions';\nconst {\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\nimport {t} from 'sn-translate';\n\n// TODO: sys_prop?\nconst SEARCH_DEBOUNCE = 300;\nconst IMPERSONATE_LIST_FETCHED = 'Impersonate List Fetched';\n\nexport const getImpersonationListEffect = createHttpEffect(\n\t'/angular.do?sysparm_type=ref_list_data&sysparm_for_impersonation=true&required_fields=avatar',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: GET_IMPERSONATE_SUCCEEDED\n\t}\n);\n\nexport const fetchRecentImpersonationsEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/recent',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: RECENT_FETCH_SUCCEEDED,\n\t\terrorActionType: RECENT_FETCH_FAILED\n\t}\n);\n\nconst convertUser = (user) => {\n\tconst {avatar, sys_id, user_name, name} = user;\n\treturn {\n\t\tid: sys_id,\n\t\tlabel: user.$$displayValue || name,\n\t\tsublabel: user_name,\n\t\tavatarProps: {\n\t\t\tuserName: name,\n\t\t\timageSrc: avatar && `${avatar}?t=small`\n\t\t}\n\t};\n};\n\nconst setRecentImpersonations = ({\n\tupdateState,\n\taction: {\n\t\tpayload: {result = []}\n\t}\n}) => {\n\tupdateState({\n\t\trecentImpersonations: result.map(\n\t\t\t({avatar, user_display_value, user_name, user_sys_id}) => ({\n\t\t\t\tavatarProps: {\n\t\t\t\t\tuserName: user_display_value || user_name,\n\t\t\t\t\timageSrc: avatar && `${avatar}.iix?t=small`\n\t\t\t\t},\n\t\t\t\tlabel: user_display_value || user_name,\n\t\t\t\tsublabel: user_name,\n\t\t\t\tid: user_sys_id\n\t\t\t})\n\t\t),\n\t\tdependenciesFetched: true,\n\t\tfetchingDependencies: false\n\t});\n};\n\nconst setTypeaheadUserList = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tupdateState({\n\t\tusers: payload.items.filter(({user_name}) => !!user_name).map(convertUser)\n\t});\n\n\tdispatch(END_TRACK_TIME, {\n\t\tcoeffects: coeffects,\n\t\tmetric: IMPERSONATE_LIST_FETCHED,\n\t\tpath: IMPERSONATE_FETCH_TIME_PATH,\n\t\ttime: Date.now()\n\t});\n};\n\nconst setUserFromTypeahead = ({\n\taction: {\n\t\tpayload: {item}\n\t},\n\tdispatch,\n\tupdateState\n}) => {\n\tif (item.id !== 'loader') {\n\t\t// When a user either:\n\t\t//  1. Clears the field\n\t\t//  2. Starts typing after having selected a user\n\t\tif (item.id === null) {\n\t\t\treturn dispatch(USER_DESELECTED);\n\t\t}\n\n\t\tupdateState({\n\t\t\tselectedUser: item,\n\t\t\tsearchResult: item\n\t\t});\n\t}\n};\n\nconst fetchUsersFromTypeaheadInput = ({\n\taction: {\n\t\tpayload: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatch(SEARCH_IMPERSONATE_LIST_REQUESTED, {search: value});\n};\n\nconst setSelectedUserFromCard = ({\n\taction: {\n\t\tpayload: {value},\n\t\tmeta: {\n\t\t\tappended: {sysId}\n\t\t}\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\tselectedUser: value ? {id: sysId} : null\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({dispatch, properties: {endImpersonation}}) => {\n\t\t\t// If the user is ending impersonation, dispatch the event\n\t\t\tif (endImpersonation) {\n\t\t\t\tdispatch(IMPERSONATION_ENDED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties: {userMeta, modalOpened},\n\t\tstate: {dependenciesFetched, fetchingDependencies},\n\t\tupdateState\n\t}) => {\n\t\t// Only fetch dependencies if the modal is being opened\n\t\tif (modalOpened) {\n\t\t\tconst needToFetchDependencies =\n\t\t\t\t!dependenciesFetched && !fetchingDependencies;\n\n\t\t\tif (needToFetchDependencies) {\n\t\t\t\taction.preventDefault();\n\t\t\t\tupdateState({fetchingDependencies: true});\n\t\t\t\tdispatch(RECENT_FETCH_REQUESTED);\n\t\t\t}\n\n\t\t\t// Modal doesn't appear until we have the recently impersonated users\n\t\t\tif (fetchingDependencies) action.preventDefault();\n\n\t\t\tif (!userMeta.isImpersonating) {\n\t\t\t\twindow.localStorage.setItem(\n\t\t\t\t\t'originalUserHasAdminRole',\n\t\t\t\t\tuserMeta?.roles?.includes('admin')\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t}\n\t\t}) => {\n\t\t\t// If the user is ending impersonation, dispatch the event\n\t\t\tif (name === 'endImpersonation' && value && !previousValue) {\n\t\t\t\tdispatch(IMPERSONATION_ENDED);\n\t\t\t}\n\t\t}\n\t},\n\t[SEARCH_IMPERSONATE_LIST_REQUESTED]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {search}\n\t\t\t}\n\t\t}) => {\n\t\t\tconst qualifier =\n\t\t\t\t'active=true^locked_out=false^ORlocked_outISEMPTY^web_service_access_only=false^ORweb_service_access_onlyISEMPTY^identity_type!=ai_agent^ORidentity_type=NULL';\n\n\t\t\tconst finalSearchTerm = search?.replace(/^\\*+(.*)/, '$1') || '';\n\t\t\tconst searchMethod = /^\\*+(.*)/.test(search) ? 'CONTAINS' : 'STARTSWITH';\n\n\t\t\tconst hasAdminRole =\n\t\t\t\twindow.localStorage.getItem('originalUserHasAdminRole') === 'true';\n\n\t\t\tdispatch(GET_IMPERSONATE_LIST_REQUESTED, {\n\t\t\t\tdata: {\n\t\t\t\t\tp: `sys_user;q:name${searchMethod}${finalSearchTerm}^nameISNOTEMPTY^NQsys_id${searchMethod}${finalSearchTerm}^sys_idISNOTEMPTY^NQuser_name${searchMethod}${finalSearchTerm}^user_nameISNOTEMPTY;r:${qualifier}`,\n\t\t\t\t\tqualifier: hasAdminRole ? qualifier : `${qualifier}^roles!=admin`,\n\t\t\t\t\tcount: 20,\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tsysparm_for_impersonation: true,\n\t\t\t\t\ttable: 'sys_user'\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[RECENT_FETCH_REQUESTED]: effectProxy(fetchRecentImpersonationsEffect),\n\t[RECENT_FETCH_SUCCEEDED]: {\n\t\teffect: setRecentImpersonations,\n\t\tstopPropagation: true\n\t},\n\t[RECENT_FETCH_FAILED]: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch(RECENT_FETCH_SUCCEEDED, {result: []});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[GET_IMPERSONATE_LIST_REQUESTED]: {\n\t\teffect: effectProxy(getImpersonationListEffect),\n\t\tinterceptors: [\n\t\t\t(context) => {\n\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {\n\t\t\t\t\tpath: IMPERSONATE_FETCH_TIME_PATH\n\t\t\t\t});\n\t\t\t\treturn context;\n\t\t\t}\n\t\t]\n\t},\n\t[GET_IMPERSONATE_SUCCEEDED]: {\n\t\teffect: setTypeaheadUserList,\n\t\tstopPropagation: true\n\t},\n\t[USER_DESELECTED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tselectedUser: null,\n\t\t\t\tsearchResult: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[IMPERSONATE_USER_CLICKED]: {\n\t\teffect: ({state: {selectedUser}, dispatch}) => {\n\t\t\t//set if original impersonating user has admin role (only if user not currently impersonating another user)\n\t\t\tdispatch(USER_IMPERSONATED, {sysId: selectedUser.id});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (!value) {\n\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#LIST_VISIBLE': {\n\t\teffect: ({dispatch, updateState, state: {initialTypeaheadLoad}}) => {\n\t\t\t// On first load of typeahead, fetch the initial list of users\n\t\t\tif (initialTypeaheadLoad) {\n\t\t\t\tupdateState({\n\t\t\t\t\tusers: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Loading Users...'),\n\t\t\t\t\t\t\ticon: 'loader-fill',\n\t\t\t\t\t\t\tid: 'loader'\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinitialTypeaheadLoad: false\n\t\t\t\t});\n\t\t\t\tdispatch(SEARCH_IMPERSONATE_LIST_REQUESTED, {search: ''});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET': {\n\t\teffect: setUserFromTypeahead,\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#VALUE_SET': {\n\t\teffect: fetchUsersFromTypeaheadInput,\n\t\tmodifier: {name: 'debounce', delay: SEARCH_DEBOUNCE},\n\t\tstopPropagation: true\n\t},\n\t'NOW_CARD#SELECTED_SET': {\n\t\teffect: setSelectedUserFromCard,\n\t\tstopPropagation: true\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {\n\tUSER_IMPERSONATED,\n\tUSER_IMPERSONATE_SUCCEEDED,\n\tUSER_IMPERSONATE_FAILED,\n\tIMPERSONATION_ENDED\n} from '../actions';\n\nexport const impersonateUserEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/:sysId',\n\t{\n\t\tmethod: 'POST',\n\t\tpathParams: ['sysId'],\n\t\tbatch: false,\n\t\tsuccessActionType: USER_IMPERSONATE_SUCCEEDED,\n\t\terrorActionType: USER_IMPERSONATE_FAILED\n\t}\n);\n\nexport default {\n\tname: 'IMPERSONATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[USER_IMPERSONATED]: impersonateUserEffect,\n\t\t[IMPERSONATION_ENDED]: {\n\t\t\teffect: ({dispatch, properties: {userMeta}}) => {\n\t\t\t\t// Safety check to make this is only called when a user is being impersonated\n\t\t\t\tif (userMeta?.isImpersonating) {\n\t\t\t\t\twindow.localStorage.removeItem('originalUserHasAdminRole');\n\t\t\t\t\tdispatch(USER_IMPERSONATED, {\n\t\t\t\t\t\tsysId: userMeta?.impersonatingUserId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport view from './impersonation.view';\nimport {actionHandlers} from './impersonation.effects';\nimport styles from './impersonation.scss';\nimport impersonationBehavior from '../impersonation-behavior';\n\ncreateCustomElement('sn-impersonation', {\n\tview,\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tmodalOpened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tendImpersonation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{behavior: impersonationBehavior}],\n\tinitialState: {\n\t\tselectedUser: null,\n\t\tsearchResult: null,\n\t\tinitialTypeaheadLoad: true,\n\t\trecentImpersonations: [],\n\t\tusers: []\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_impersonation=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":153,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","default","installTheme","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","has","isNil","isString","async","effect","options","coeffects","successActionType","errorActionType","action","payload","dispatch","selectedVariant","selectedInfoDensity","theme","defaultTheme","defaultValue","UX_GLOBALS","window","ux_globals","console","error","getUxGlobal","activeTheme","themeOptions","message","newThemeOptions","userPreferenceInfoDensity","userPreferenceVariant","updatedTheme","args","stopPropagation"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/themeLoaderEffect.js","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/utils.js","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/index.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"installTheme\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'installTheme' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].installTheme;\n\t\t\t\t\t} else if ('installTheme' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.installTheme || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].installTheme;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t} });","import {installTheme} from '@devsnc/library-uxf';\nimport {getUxGlobal} from './utils.js';\nimport isString from 'lodash/isString';\n\nexport async function effect(options = {}, coeffects) {\n\tconst {successActionType, errorActionType} = options;\n\n\tconst {\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\tconst {selectedVariant, selectedInfoDensity, theme} = payload;\n\n\tconst defaultTheme = getUxGlobal('theme');\n\tconst activeTheme = theme ?? defaultTheme;\n\n\t//If theme options are not in use, no sense in updating the preference.\n\t//Do not create the object here as themeLoader checks if the options exist.\n\tif (!activeTheme.themeOptions) {\n\t\tif (isString(errorActionType)) {\n\t\t\tdispatch(errorActionType, payload, {\n\t\t\t\tmessage:\n\t\t\t\t\t'themeOptions object is not being used, preferences cannot be updated'\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tconst newThemeOptions = {\n\t\t...activeTheme.themeOptions,\n\t\tuserPreferenceInfoDensity:\n\t\t\tdefaultTheme.themeOptions.userPreferenceInfoDensity\n\t};\n\n\t//If the payload values are undefined, the user did not change the selected\n\t//variant/infodensity. However if they are empty strings, this indicates\n\t//the user changed their variant/infodensity property to be empty.\n\tif (selectedVariant !== undefined) {\n\t\tnewThemeOptions.userPreferenceVariant = selectedVariant;\n\t}\n\n\tif (selectedInfoDensity !== undefined) {\n\t\tnewThemeOptions.userPreferenceInfoDensity = selectedInfoDensity;\n\t}\n\n\tconst updatedTheme = {...activeTheme, themeOptions: newThemeOptions};\n\n\tinstallTheme(updatedTheme);\n\n\tif (isString(successActionType)) {\n\t\tdispatch(successActionType, payload);\n\t}\n}\n\nexport default function createThemeLoaderEffect(options) {\n\treturn {\n\t\teffect,\n\t\targs: [options],\n\t\tstopPropagation: true\n\t};\n}\n","import {isNil, has} from 'lodash';\n\nexport function getUxGlobal(key, defaultValue = {}) {\n\tif (!isNil(key)) {\n\t\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\n\t\tif (!has(UX_GLOBALS, [key])) UX_GLOBALS[key] = defaultValue;\n\n\t\treturn UX_GLOBALS[key];\n\t}\n\n\tconsole.error('Must provide a key to retrieve off ux_globals variable');\n}\n","import createThemeLoaderEffect from './themeLoaderEffect';\n\nexport default createThemeLoaderEffect;\n"],"version":3}},{"offset":{"line":164,"column":0},"map":{"mappings":"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AO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,KACtf,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IACnf,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,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","file":"externals/lodash/4.17.21/fp.min.js","names":["_","require","module","exports","mapping","fallbackHolder","push","Array","prototype","baseAry","func","n","a","b","cloneArray","array","length","result","wrapImmutable","cloner","arguments","args","apply","undefined","baseConvert","util","name","options","isLib","isObj","Object","TypeError","config","cap","curry","fixed","immutable","rearg","defaultHolder","forceCurry","forceFixed","forceRearg","pristine","runInContext","helpers","ary","assign","clone","forEach","isArray","isError","isFunction","isWeakMap","iteratee","keys","toInteger","toPath","each","aryMethodKeys","aryMethod","wrappers","castArray","value","arity","mixin","source","this","pairs","key","pair","nthArg","indexes","context","castCap","iterateeRearg","overArg","baseArity","iterateeAry","castFixed","skipFixed","data","methodSpread","start","lastIndex","otherArgs","slice","flatSpread","castRearg","skipRearg","methodRearg","aryRearg","cloneByPath","object","path","index","nested","createConverter","realName","aliasToReal","methodName","remap","oldOptions","newUtil","newFunc","newOptions","transform","wrap","placeholder","wrapped","wrapper","mutate","createCloner","set","aryKey","otherName","afterRearg","castCurry","convert","realToAlias","alias","hasOwnProperty","call","t","r","e","u","i","o","y","f","c","l","s","h","match","$t","v","g","Z","d","w","k","Cn","m","X","x","j","O","R","H","replace","Lt","z","E","S","has","W","L","U","Yr","T","Nr","test","$","Pr","M","size","F","N","cn","P","V","Mr","J","_e","G","Y","split","p","Ct","charAt","Q","Fr","en","on","dn","bn","wn","mn","xn","Sn","Wn","NaN","Un","Bn","Tn","$n","Dn","Mn","Nn","Pn","Zn","Kn","Vn","Gn","Hn","Yn","Qn","nt","tt","rt","et","it","ft","ct","at","lt","st","ht","pt","_t","vt","gt","yt","dt","bt","wt","mt","xt","jt","RegExp","At","kt","Ot","It","Rt","zt","Et","St","Wt","Ut","Bt","Tt","Dt","Mt","Ft","Nt","Pt","qt","Zt","Kt","Vt","Gt","Ht","Jt","Yt","tr","Qt","rr","er","cr","ar","lr","ur","sr","hr","pr","_r","vr","gr","yr","dr","br","mr","xr","jr","Ar","kr","Or","Ir","Rr","zr","Er","Sr","Ur","join","Br","Tr","$r","Dr","qr","Zr","Kr","Vr","Qr","parseFloat","Xr","parseInt","ne","global","te","self","re","Function","ee","nodeType","ue","ie","oe","process","fe","types","binding","ce","isArrayBuffer","ae","isDate","le","isMap","se","isRegExp","he","isSet","pe","isTypedArray","ve","ge","ye","be","cc","bh","bl","eo","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","Xt","clear","ir","__data__","add","wr","dh","mh","Oh","hl","Ci","tu","Xi","Tu","Gf","Wr","Lr","ys","Cr","$u","Pc","Tl","configurable","enumerable","writable","il","Mc","fc","constructor","input","zi","zs","Iu","Ei","Rs","Mu","qc","Is","Du","Ru","buffer","byteOffset","byteLength","zu","Wu","exec","Eu","_s","ll","Su","Si","get","kh","jh","di","yi","Gr","pl","Ws","Hr","Jr","bc","Li","bs","ws","uc","ku","no","de","we","Bl","xl","ki","Ki","me","xe","je","ke","Hl","Ie","Gi","jo","Re","Se","pi","Rl","message","delete","_i","vi","We","Ce","hn","Ue","ml","Di","kl","to","De","La","Ze","qe","Fa","Me","Mi","Vl","Fe","Zi","Ne","Pe","Hf","ji","Ni","Bi","Fi","Nc","Ke","Ji","Jf","gc","Rc","Ve","Ge","He","mi","sort","A","criteria","Lu","Cu","Ye","fu","Xe","Ll","nu","yu","Nl","Ql","eu","uu","Ls","Vi","iu","ra","ou","cu","au","lu","su","hu","pu","_u","vu","vs","gu","ks","du","bu","wu","thisArg","mu","xu","ju","Au","Cs","Ec","Ou","zl","copy","Uu","Gl","Bu","Fu","Nu","Ui","Pu","qu","Ku","Vu","Ra","ca","Gu","gs","Hu","wi","oi","Qu","Ju","Yu","gi","thru","reverse","bi","Os","$i","plant","C","Hi","Xu","Oe","ni","ti","ri","Fl","ei","ui","Ac","ru","ii","Ic","Ss","Yi","fi","al","kc","Zl","ci","q","I","ai","qi","Zu","ms","li","gl","si","hi","_o","fs","Ca","xi","Ti","map","Ai","B","Ri","oc","El","Cl","Wi","ro","Ii","Qi","Jl","dl","ho","po","bo","Oo","Eo","Xl","Go","Ho","Qo","nf","_f","vf","ds","yf","Rf","zf","Wf","fh","As","leading","maxWait","trailing","cancel","flush","Cf","cache","Cache","Uf","rc","ic","vc","jl","dc","jc","Ul","next","done","D","Oc","valueOf","Gc","fa","Qh","toLowerCase","Sa","Ta","chain","Da","Qe","Pa","qa","defaults","pick","ol","Date","fl","Error","cl","Math","sl","String","_l","vl","yl","toString","wl","IE_PROTO","Al","Ol","Buffer","Il","Symbol","Uint8Array","allocUnsafe","getPrototypeOf","Sl","create","Wl","propertyIsEnumerable","splice","isConcatSpreadable","iterator","toStringTag","$l","clearTimeout","Dl","now","Ml","setTimeout","ceil","floor","Pl","getOwnPropertySymbols","ql","isBuffer","isFinite","Kl","max","min","Yl","random","ns","ts","rs","es","us","is","os","cs","as","ls","ss","hs","ps","templateSettings","escape","evaluate","interpolate","variable","imports","pop","hash","string","tn","xs","js","ArrayBuffer","resolve","Es","Pi","charCodeAt","Us","Bs","Ts","$s","Ds","Ms","Fs","Ns","Ps","qs","Zs","Ks","Vs","Gs","Hs","Js","Ys","Qs","Xs","nh","th","rh","eh","uh","ih","oh","ch","ah","_n","lh","sh","hh","ph","_h","vh","gh","yh","wh","xh","Ah","Ih","Rh","zh","Eh","Sh","Wh","Lh","Ch","Uh","Mh","Bh","Th","$h","Dh","Fh","an","Nh","Je","Ph","qh","Zh","Kh","Vh","Gh","Hh","Jh","Yh","toUpperCase","Xh","np","tp","rp","ep","up","ip","op","fp","cp","ap","lp","sp","hp","pp","_p","vp","gp","after","assignIn","assignInWith","assignWith","before","bind","bindAll","bindKey","chunk","compact","concat","cond","conforms","constant","countBy","Ef","curryRight","Sf","debounce","defaultsDeep","defer","delay","difference","differenceBy","differenceWith","drop","dropRight","dropRightWhile","dropWhile","fill","filter","flatMap","flatMapDeep","flatMapDepth","flatten","flattenDeep","flattenDepth","flip","flow","flowRight","fromPairs","functions","functionsIn","groupBy","initial","intersection","intersectionBy","intersectionWith","invert","invertBy","invokeMap","keyBy","keysIn","mapKeys","mapValues","matches","matchesProperty","memoize","merge","mergeWith","method","methodOf","negate","omit","omitBy","once","orderBy","over","overArgs","overEvery","overSome","partial","partialRight","partition","pickBy","property","propertyOf","pull","pullAll","pullAllBy","pullAllWith","pullAt","range","rangeRight","reject","remove","rest","sampleSize","setWith","shuffle","sortBy","sortedUniq","sortedUniqBy","spread","tail","take","takeRight","takeRightWhile","takeWhile","tap","throttle","toArray","toPairs","toPairsIn","toPlainObject","unary","union","unionBy","unionWith","uniq","uniqBy","uniqWith","unset","unzip","unzipWith","update","updateWith","values","valuesIn","without","words","xor","xorBy","xorWith","zip","zipObject","zipObjectDeep","zipWith","entries","entriesIn","extend","extendWith","attempt","camelCase","capitalize","clamp","cloneDeep","cloneDeepWith","cloneWith","conformsTo","deburr","defaultTo","divide","endsWith","eq","escapeRegExp","every","find","findIndex","findKey","findLast","findLastIndex","findLastKey","forEachRight","forIn","forInRight","forOwn","forOwnRight","gte","hasIn","head","identity","includes","indexOf","inRange","Ae","invoke","isArguments","isArrayLike","isArrayLikeObject","isBoolean","isElement","isEmpty","isEqual","isEqualWith","isInteger","isLength","isMatch","isMatchWith","isNaN","isNative","isNil","isNull","isNumber","isObject","isObjectLike","isPlainObject","isSafeInteger","isString","isSymbol","isUndefined","isWeakSet","kebabCase","last","lastIndexOf","K","lowerCase","lowerFirst","lte","maxBy","mean","meanBy","minBy","stubArray","stubFalse","stubObject","stubString","stubTrue","multiply","nth","noConflict","noop","pad","padEnd","padStart","reduce","reduceRight","repeat","round","sample","snakeCase","some","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","startCase","startsWith","subtract","sum","sumBy","template","sourceURL","times","toFinite","toLength","toLower","toNumber","toSafeInteger","toUpper","trim","trimEnd","trimStart","truncate","separator","omission","search","unescape","uniqueId","upperCase","upperFirst","eachRight","first","VERSION","type","end","Oi","commit","toJSON","define","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","getter","__esModule","definition","defineProperty","globalThis","window","obj","prop","nmd","paths","children"],"sources":["webpack:///lodash/4.17.21/fp.js","webpack:///lodash/4.17.21/fp/_baseConvert.js","webpack:///lodash/4.17.21/fp/_mapping.js","webpack:///lodash/4.17.21/fp/placeholder.js","webpack:///lodash/4.17.21/lodash.min.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///lodash/4.17.21/__imaginary.js"],"sourcesContent":["var _ = require('./lodash.min').runInContext();\nmodule.exports = require('./fp/_baseConvert')(_, _);\n","var mapping = require('./_mapping'),\n    fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n  return n == 2\n    ? function(a, b) { return func.apply(undefined, arguments); }\n    : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n  return n == 2\n    ? function(a, b) { return func(a, b); }\n    : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n  var length = array ? array.length : 0,\n      result = Array(length);\n\n  while (length--) {\n    result[length] = array[length];\n  }\n  return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n  return function(object) {\n    return func({}, object);\n  };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n  return function() {\n    var length = arguments.length,\n        lastIndex = length - 1,\n        args = Array(length);\n\n    while (length--) {\n      args[length] = arguments[length];\n    }\n    var array = args[start],\n        otherArgs = args.slice(0, start);\n\n    if (array) {\n      push.apply(otherArgs, array);\n    }\n    if (start != lastIndex) {\n      push.apply(otherArgs, args.slice(start + 1));\n    }\n    return func.apply(this, otherArgs);\n  };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n  return function() {\n    var length = arguments.length;\n    if (!length) {\n      return;\n    }\n    var args = Array(length);\n    while (length--) {\n      args[length] = arguments[length];\n    }\n    var result = args[0] = cloner.apply(undefined, args);\n    func.apply(undefined, args);\n    return result;\n  };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n  var isLib = typeof name == 'function',\n      isObj = name === Object(name);\n\n  if (isObj) {\n    options = func;\n    func = name;\n    name = undefined;\n  }\n  if (func == null) {\n    throw new TypeError;\n  }\n  options || (options = {});\n\n  var config = {\n    'cap': 'cap' in options ? options.cap : true,\n    'curry': 'curry' in options ? options.curry : true,\n    'fixed': 'fixed' in options ? options.fixed : true,\n    'immutable': 'immutable' in options ? options.immutable : true,\n    'rearg': 'rearg' in options ? options.rearg : true\n  };\n\n  var defaultHolder = isLib ? func : fallbackHolder,\n      forceCurry = ('curry' in options) && options.curry,\n      forceFixed = ('fixed' in options) && options.fixed,\n      forceRearg = ('rearg' in options) && options.rearg,\n      pristine = isLib ? func.runInContext() : undefined;\n\n  var helpers = isLib ? func : {\n    'ary': util.ary,\n    'assign': util.assign,\n    'clone': util.clone,\n    'curry': util.curry,\n    'forEach': util.forEach,\n    'isArray': util.isArray,\n    'isError': util.isError,\n    'isFunction': util.isFunction,\n    'isWeakMap': util.isWeakMap,\n    'iteratee': util.iteratee,\n    'keys': util.keys,\n    'rearg': util.rearg,\n    'toInteger': util.toInteger,\n    'toPath': util.toPath\n  };\n\n  var ary = helpers.ary,\n      assign = helpers.assign,\n      clone = helpers.clone,\n      curry = helpers.curry,\n      each = helpers.forEach,\n      isArray = helpers.isArray,\n      isError = helpers.isError,\n      isFunction = helpers.isFunction,\n      isWeakMap = helpers.isWeakMap,\n      keys = helpers.keys,\n      rearg = helpers.rearg,\n      toInteger = helpers.toInteger,\n      toPath = helpers.toPath;\n\n  var aryMethodKeys = keys(mapping.aryMethod);\n\n  var wrappers = {\n    'castArray': function(castArray) {\n      return function() {\n        var value = arguments[0];\n        return isArray(value)\n          ? castArray(cloneArray(value))\n          : castArray.apply(undefined, arguments);\n      };\n    },\n    'iteratee': function(iteratee) {\n      return function() {\n        var func = arguments[0],\n            arity = arguments[1],\n            result = iteratee(func, arity),\n            length = result.length;\n\n        if (config.cap && typeof arity == 'number') {\n          arity = arity > 2 ? (arity - 2) : 1;\n          return (length && length <= arity) ? result : baseAry(result, arity);\n        }\n        return result;\n      };\n    },\n    'mixin': function(mixin) {\n      return function(source) {\n        var func = this;\n        if (!isFunction(func)) {\n          return mixin(func, Object(source));\n        }\n        var pairs = [];\n        each(keys(source), function(key) {\n          if (isFunction(source[key])) {\n            pairs.push([key, func.prototype[key]]);\n          }\n        });\n\n        mixin(func, Object(source));\n\n        each(pairs, function(pair) {\n          var value = pair[1];\n          if (isFunction(value)) {\n            func.prototype[pair[0]] = value;\n          } else {\n            delete func.prototype[pair[0]];\n          }\n        });\n        return func;\n      };\n    },\n    'nthArg': function(nthArg) {\n      return function(n) {\n        var arity = n < 0 ? 1 : (toInteger(n) + 1);\n        return curry(nthArg(n), arity);\n      };\n    },\n    'rearg': function(rearg) {\n      return function(func, indexes) {\n        var arity = indexes ? indexes.length : 0;\n        return curry(rearg(func, indexes), arity);\n      };\n    },\n    'runInContext': function(runInContext) {\n      return function(context) {\n        return baseConvert(util, runInContext(context), options);\n      };\n    }\n  };\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * Casts `func` to a function with an arity capped iteratee if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @returns {Function} Returns the cast function.\n   */\n  function castCap(name, func) {\n    if (config.cap) {\n      var indexes = mapping.iterateeRearg[name];\n      if (indexes) {\n        return iterateeRearg(func, indexes);\n      }\n      var n = !isLib && mapping.iterateeAry[name];\n      if (n) {\n        return iterateeAry(func, n);\n      }\n    }\n    return func;\n  }\n\n  /**\n   * Casts `func` to a curried function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity of `func`.\n   * @returns {Function} Returns the cast function.\n   */\n  function castCurry(name, func, n) {\n    return (forceCurry || (config.curry && n > 1))\n      ? curry(func, n)\n      : func;\n  }\n\n  /**\n   * Casts `func` to a fixed arity function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity cap.\n   * @returns {Function} Returns the cast function.\n   */\n  function castFixed(name, func, n) {\n    if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n      var data = mapping.methodSpread[name],\n          start = data && data.start;\n\n      return start  === undefined ? ary(func, n) : flatSpread(func, start);\n    }\n    return func;\n  }\n\n  /**\n   * Casts `func` to an rearged function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity of `func`.\n   * @returns {Function} Returns the cast function.\n   */\n  function castRearg(name, func, n) {\n    return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n      ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n      : func;\n  }\n\n  /**\n   * Creates a clone of `object` by `path`.\n   *\n   * @private\n   * @param {Object} object The object to clone.\n   * @param {Array|string} path The path to clone by.\n   * @returns {Object} Returns the cloned object.\n   */\n  function cloneByPath(object, path) {\n    path = toPath(path);\n\n    var index = -1,\n        length = path.length,\n        lastIndex = length - 1,\n        result = clone(Object(object)),\n        nested = result;\n\n    while (nested != null && ++index < length) {\n      var key = path[index],\n          value = nested[key];\n\n      if (value != null &&\n          !(isFunction(value) || isError(value) || isWeakMap(value))) {\n        nested[key] = clone(index == lastIndex ? value : Object(value));\n      }\n      nested = nested[key];\n    }\n    return result;\n  }\n\n  /**\n   * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n   * version with conversion `options` applied.\n   *\n   * @param {Object} [options] The options object. See `baseConvert` for more details.\n   * @returns {Function} Returns the converted `lodash`.\n   */\n  function convertLib(options) {\n    return _.runInContext.convert(options)(undefined);\n  }\n\n  /**\n   * Create a converter function for `func` of `name`.\n   *\n   * @param {string} name The name of the function to convert.\n   * @param {Function} func The function to convert.\n   * @returns {Function} Returns the new converter function.\n   */\n  function createConverter(name, func) {\n    var realName = mapping.aliasToReal[name] || name,\n        methodName = mapping.remap[realName] || realName,\n        oldOptions = options;\n\n    return function(options) {\n      var newUtil = isLib ? pristine : helpers,\n          newFunc = isLib ? pristine[methodName] : func,\n          newOptions = assign(assign({}, oldOptions), options);\n\n      return baseConvert(newUtil, realName, newFunc, newOptions);\n    };\n  }\n\n  /**\n   * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n   * arguments, ignoring any additional arguments.\n   *\n   * @private\n   * @param {Function} func The function to cap iteratee arguments for.\n   * @param {number} n The arity cap.\n   * @returns {Function} Returns the new function.\n   */\n  function iterateeAry(func, n) {\n    return overArg(func, function(func) {\n      return typeof func == 'function' ? baseAry(func, n) : func;\n    });\n  }\n\n  /**\n   * Creates a function that wraps `func` to invoke its iteratee with arguments\n   * arranged according to the specified `indexes` where the argument value at\n   * the first index is provided as the first argument, the argument value at\n   * the second index is provided as the second argument, and so on.\n   *\n   * @private\n   * @param {Function} func The function to rearrange iteratee arguments for.\n   * @param {number[]} indexes The arranged argument indexes.\n   * @returns {Function} Returns the new function.\n   */\n  function iterateeRearg(func, indexes) {\n    return overArg(func, function(func) {\n      var n = indexes.length;\n      return baseArity(rearg(baseAry(func, n), indexes), n);\n    });\n  }\n\n  /**\n   * Creates a function that invokes `func` with its first argument transformed.\n   *\n   * @private\n   * @param {Function} func The function to wrap.\n   * @param {Function} transform The argument transform.\n   * @returns {Function} Returns the new function.\n   */\n  function overArg(func, transform) {\n    return function() {\n      var length = arguments.length;\n      if (!length) {\n        return func();\n      }\n      var args = Array(length);\n      while (length--) {\n        args[length] = arguments[length];\n      }\n      var index = config.rearg ? 0 : (length - 1);\n      args[index] = transform(args[index]);\n      return func.apply(undefined, args);\n    };\n  }\n\n  /**\n   * Creates a function that wraps `func` and applys the conversions\n   * rules by `name`.\n   *\n   * @private\n   * @param {string} name The name of the function to wrap.\n   * @param {Function} func The function to wrap.\n   * @returns {Function} Returns the converted function.\n   */\n  function wrap(name, func, placeholder) {\n    var result,\n        realName = mapping.aliasToReal[name] || name,\n        wrapped = func,\n        wrapper = wrappers[realName];\n\n    if (wrapper) {\n      wrapped = wrapper(func);\n    }\n    else if (config.immutable) {\n      if (mapping.mutate.array[realName]) {\n        wrapped = wrapImmutable(func, cloneArray);\n      }\n      else if (mapping.mutate.object[realName]) {\n        wrapped = wrapImmutable(func, createCloner(func));\n      }\n      else if (mapping.mutate.set[realName]) {\n        wrapped = wrapImmutable(func, cloneByPath);\n      }\n    }\n    each(aryMethodKeys, function(aryKey) {\n      each(mapping.aryMethod[aryKey], function(otherName) {\n        if (realName == otherName) {\n          var data = mapping.methodSpread[realName],\n              afterRearg = data && data.afterRearg;\n\n          result = afterRearg\n            ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n            : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n          result = castCap(realName, result);\n          result = castCurry(realName, result, aryKey);\n          return false;\n        }\n      });\n      return !result;\n    });\n\n    result || (result = wrapped);\n    if (result == func) {\n      result = forceCurry ? curry(result, 1) : function() {\n        return func.apply(this, arguments);\n      };\n    }\n    result.convert = createConverter(realName, func);\n    result.placeholder = func.placeholder = placeholder;\n\n    return result;\n  }\n\n  /*--------------------------------------------------------------------------*/\n\n  if (!isObj) {\n    return wrap(name, func, defaultHolder);\n  }\n  var _ = func;\n\n  // Convert methods by ary cap.\n  var pairs = [];\n  each(aryMethodKeys, function(aryKey) {\n    each(mapping.aryMethod[aryKey], function(key) {\n      var func = _[mapping.remap[key] || key];\n      if (func) {\n        pairs.push([key, wrap(key, func, _)]);\n      }\n    });\n  });\n\n  // Convert remaining methods.\n  each(keys(_), function(key) {\n    var func = _[key];\n    if (typeof func == 'function') {\n      var length = pairs.length;\n      while (length--) {\n        if (pairs[length][0] == key) {\n          return;\n        }\n      }\n      func.convert = createConverter(key, func);\n      pairs.push([key, func]);\n    }\n  });\n\n  // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n  each(pairs, function(pair) {\n    _[pair[0]] = pair[1];\n  });\n\n  _.convert = convertLib;\n  _.placeholder = _;\n\n  // Assign aliases.\n  each(keys(_), function(key) {\n    each(mapping.realToAlias[key] || [], function(alias) {\n      _[alias] = _[key];\n    });\n  });\n\n  return _;\n}\n\nmodule.exports = baseConvert;\n","/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n  // Lodash aliases.\n  'each': 'forEach',\n  'eachRight': 'forEachRight',\n  'entries': 'toPairs',\n  'entriesIn': 'toPairsIn',\n  'extend': 'assignIn',\n  'extendAll': 'assignInAll',\n  'extendAllWith': 'assignInAllWith',\n  'extendWith': 'assignInWith',\n  'first': 'head',\n\n  // Methods that are curried variants of others.\n  'conforms': 'conformsTo',\n  'matches': 'isMatch',\n  'property': 'get',\n\n  // Ramda aliases.\n  '__': 'placeholder',\n  'F': 'stubFalse',\n  'T': 'stubTrue',\n  'all': 'every',\n  'allPass': 'overEvery',\n  'always': 'constant',\n  'any': 'some',\n  'anyPass': 'overSome',\n  'apply': 'spread',\n  'assoc': 'set',\n  'assocPath': 'set',\n  'complement': 'negate',\n  'compose': 'flowRight',\n  'contains': 'includes',\n  'dissoc': 'unset',\n  'dissocPath': 'unset',\n  'dropLast': 'dropRight',\n  'dropLastWhile': 'dropRightWhile',\n  'equals': 'isEqual',\n  'identical': 'eq',\n  'indexBy': 'keyBy',\n  'init': 'initial',\n  'invertObj': 'invert',\n  'juxt': 'over',\n  'omitAll': 'omit',\n  'nAry': 'ary',\n  'path': 'get',\n  'pathEq': 'matchesProperty',\n  'pathOr': 'getOr',\n  'paths': 'at',\n  'pickAll': 'pick',\n  'pipe': 'flow',\n  'pluck': 'map',\n  'prop': 'get',\n  'propEq': 'matchesProperty',\n  'propOr': 'getOr',\n  'props': 'at',\n  'symmetricDifference': 'xor',\n  'symmetricDifferenceBy': 'xorBy',\n  'symmetricDifferenceWith': 'xorWith',\n  'takeLast': 'takeRight',\n  'takeLastWhile': 'takeRightWhile',\n  'unapply': 'rest',\n  'unnest': 'flatten',\n  'useWith': 'overArgs',\n  'where': 'conformsTo',\n  'whereEq': 'isMatch',\n  'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n  '1': [\n    'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n    'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n    'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n    'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n    'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n    'uniqueId', 'words', 'zipAll'\n  ],\n  '2': [\n    'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n    'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n    'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n    'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n    'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n    'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n    'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n    'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n    'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n    'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n    'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n    'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n    'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n    'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n    'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n    'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n    'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n    'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n    'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n    'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n    'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n    'zipObjectDeep'\n  ],\n  '3': [\n    'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n    'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n    'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n    'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n    'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n    'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n    'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n    'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n    'xorWith', 'zipWith'\n  ],\n  '4': [\n    'fill', 'setWith', 'updateWith'\n  ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n  '2': [1, 0],\n  '3': [2, 0, 1],\n  '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n  'dropRightWhile': 1,\n  'dropWhile': 1,\n  'every': 1,\n  'filter': 1,\n  'find': 1,\n  'findFrom': 1,\n  'findIndex': 1,\n  'findIndexFrom': 1,\n  'findKey': 1,\n  'findLast': 1,\n  'findLastFrom': 1,\n  'findLastIndex': 1,\n  'findLastIndexFrom': 1,\n  'findLastKey': 1,\n  'flatMap': 1,\n  'flatMapDeep': 1,\n  'flatMapDepth': 1,\n  'forEach': 1,\n  'forEachRight': 1,\n  'forIn': 1,\n  'forInRight': 1,\n  'forOwn': 1,\n  'forOwnRight': 1,\n  'map': 1,\n  'mapKeys': 1,\n  'mapValues': 1,\n  'partition': 1,\n  'reduce': 2,\n  'reduceRight': 2,\n  'reject': 1,\n  'remove': 1,\n  'some': 1,\n  'takeRightWhile': 1,\n  'takeWhile': 1,\n  'times': 1,\n  'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n  'mapKeys': [1],\n  'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n  'assignInAllWith': [1, 0],\n  'assignInWith': [1, 2, 0],\n  'assignAllWith': [1, 0],\n  'assignWith': [1, 2, 0],\n  'differenceBy': [1, 2, 0],\n  'differenceWith': [1, 2, 0],\n  'getOr': [2, 1, 0],\n  'intersectionBy': [1, 2, 0],\n  'intersectionWith': [1, 2, 0],\n  'isEqualWith': [1, 2, 0],\n  'isMatchWith': [2, 1, 0],\n  'mergeAllWith': [1, 0],\n  'mergeWith': [1, 2, 0],\n  'padChars': [2, 1, 0],\n  'padCharsEnd': [2, 1, 0],\n  'padCharsStart': [2, 1, 0],\n  'pullAllBy': [2, 1, 0],\n  'pullAllWith': [2, 1, 0],\n  'rangeStep': [1, 2, 0],\n  'rangeStepRight': [1, 2, 0],\n  'setWith': [3, 1, 2, 0],\n  'sortedIndexBy': [2, 1, 0],\n  'sortedLastIndexBy': [2, 1, 0],\n  'unionBy': [1, 2, 0],\n  'unionWith': [1, 2, 0],\n  'updateWith': [3, 1, 2, 0],\n  'xorBy': [1, 2, 0],\n  'xorWith': [1, 2, 0],\n  'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n  'assignAll': { 'start': 0 },\n  'assignAllWith': { 'start': 0 },\n  'assignInAll': { 'start': 0 },\n  'assignInAllWith': { 'start': 0 },\n  'defaultsAll': { 'start': 0 },\n  'defaultsDeepAll': { 'start': 0 },\n  'invokeArgs': { 'start': 2 },\n  'invokeArgsMap': { 'start': 2 },\n  'mergeAll': { 'start': 0 },\n  'mergeAllWith': { 'start': 0 },\n  'partial': { 'start': 1 },\n  'partialRight': { 'start': 1 },\n  'without': { 'start': 1 },\n  'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n  'array': {\n    'fill': true,\n    'pull': true,\n    'pullAll': true,\n    'pullAllBy': true,\n    'pullAllWith': true,\n    'pullAt': true,\n    'remove': true,\n    'reverse': true\n  },\n  'object': {\n    'assign': true,\n    'assignAll': true,\n    'assignAllWith': true,\n    'assignIn': true,\n    'assignInAll': true,\n    'assignInAllWith': true,\n    'assignInWith': true,\n    'assignWith': true,\n    'defaults': true,\n    'defaultsAll': true,\n    'defaultsDeep': true,\n    'defaultsDeepAll': true,\n    'merge': true,\n    'mergeAll': true,\n    'mergeAllWith': true,\n    'mergeWith': true,\n  },\n  'set': {\n    'set': true,\n    'setWith': true,\n    'unset': true,\n    'update': true,\n    'updateWith': true\n  }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n  var hasOwnProperty = Object.prototype.hasOwnProperty,\n      object = exports.aliasToReal,\n      result = {};\n\n  for (var key in object) {\n    var value = object[key];\n    if (hasOwnProperty.call(result, value)) {\n      result[value].push(key);\n    } else {\n      result[value] = [key];\n    }\n  }\n  return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n  'assignAll': 'assign',\n  'assignAllWith': 'assignWith',\n  'assignInAll': 'assignIn',\n  'assignInAllWith': 'assignInWith',\n  'curryN': 'curry',\n  'curryRightN': 'curryRight',\n  'defaultsAll': 'defaults',\n  'defaultsDeepAll': 'defaultsDeep',\n  'findFrom': 'find',\n  'findIndexFrom': 'findIndex',\n  'findLastFrom': 'findLast',\n  'findLastIndexFrom': 'findLastIndex',\n  'getOr': 'get',\n  'includesFrom': 'includes',\n  'indexOfFrom': 'indexOf',\n  'invokeArgs': 'invoke',\n  'invokeArgsMap': 'invokeMap',\n  'lastIndexOfFrom': 'lastIndexOf',\n  'mergeAll': 'merge',\n  'mergeAllWith': 'mergeWith',\n  'padChars': 'pad',\n  'padCharsEnd': 'padEnd',\n  'padCharsStart': 'padStart',\n  'propertyOf': 'get',\n  'rangeStep': 'range',\n  'rangeStepRight': 'rangeRight',\n  'restFrom': 'rest',\n  'spreadFrom': 'spread',\n  'trimChars': 'trim',\n  'trimCharsEnd': 'trimEnd',\n  'trimCharsStart': 'trimStart',\n  'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n  'castArray': true,\n  'flow': true,\n  'flowRight': true,\n  'iteratee': true,\n  'mixin': true,\n  'rearg': true,\n  'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n  'add': true,\n  'assign': true,\n  'assignIn': true,\n  'bind': true,\n  'bindKey': true,\n  'concat': true,\n  'difference': true,\n  'divide': true,\n  'eq': true,\n  'gt': true,\n  'gte': true,\n  'isEqual': true,\n  'lt': true,\n  'lte': true,\n  'matchesProperty': true,\n  'merge': true,\n  'multiply': true,\n  'overArgs': true,\n  'partial': true,\n  'partialRight': true,\n  'propertyOf': true,\n  'random': true,\n  'range': true,\n  'rangeRight': true,\n  'subtract': true,\n  'zip': true,\n  'zipObject': true,\n  'zipObjectDeep': true\n};\n","/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n","/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&t(n[r],r,n)!==!1;);return n}function e(n,t){for(var r=null==n?0:n.length;r--&&t(n[r],r,n)!==!1;);return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;\nreturn!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!!(null==n?0:n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);\nreturn r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function p(n){return n.split(\"\")}function _(n){return n.match($t)||[]}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t===t?Z(n,t,r):g(n,b,r)}function d(n,t,r,e){\nfor(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!==n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Cn}function m(n){return function(t){return null==t?X:t[n]}}function x(n){return function(t){return null==n?X:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==X&&(r=r===X?i:r+i);\n}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return c(t,function(t){return[t,n[t]]})}function R(n){return n?n.slice(0,H(n)+1).replace(Lt,\"\"):n}function z(n){return function(t){return n(t)}}function E(n,t){return c(t,function(t){return n[t]})}function S(n,t){return n.has(t)}function W(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function C(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;\nreturn e}function U(n){return\"\\\\\"+Yr[n]}function B(n,t){return null==n?X:n[t]}function T(n){return Nr.test(n)}function $(n){return Pr.test(n)}function D(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function N(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==cn||(n[r]=cn,i[u++]=r)}return i}function P(n){var t=-1,r=Array(n.size);\nreturn n.forEach(function(n){r[++t]=n}),r}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Z(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}function K(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function V(n){return T(n)?J(n):_e(n)}function G(n){return T(n)?Y(n):p(n)}function H(n){for(var t=n.length;t--&&Ct.test(n.charAt(t)););return t}function J(n){for(var t=Mr.lastIndex=0;Mr.test(n);)++t;return t}function Y(n){return n.match(Mr)||[];\n}function Q(n){return n.match(Fr)||[]}var X,nn=\"4.17.21\",tn=200,rn=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",en=\"Expected a function\",un=\"Invalid `variable` option passed into `_.template`\",on=\"__lodash_hash_undefined__\",fn=500,cn=\"__lodash_placeholder__\",an=1,ln=2,sn=4,hn=1,pn=2,_n=1,vn=2,gn=4,yn=8,dn=16,bn=32,wn=64,mn=128,xn=256,jn=512,An=30,kn=\"...\",On=800,In=16,Rn=1,zn=2,En=3,Sn=1/0,Wn=9007199254740991,Ln=1.7976931348623157e308,Cn=NaN,Un=4294967295,Bn=Un-1,Tn=Un>>>1,$n=[[\"ary\",mn],[\"bind\",_n],[\"bindKey\",vn],[\"curry\",yn],[\"curryRight\",dn],[\"flip\",jn],[\"partial\",bn],[\"partialRight\",wn],[\"rearg\",xn]],Dn=\"[object Arguments]\",Mn=\"[object Array]\",Fn=\"[object AsyncFunction]\",Nn=\"[object Boolean]\",Pn=\"[object Date]\",qn=\"[object DOMException]\",Zn=\"[object Error]\",Kn=\"[object Function]\",Vn=\"[object GeneratorFunction]\",Gn=\"[object Map]\",Hn=\"[object Number]\",Jn=\"[object Null]\",Yn=\"[object Object]\",Qn=\"[object Promise]\",Xn=\"[object Proxy]\",nt=\"[object RegExp]\",tt=\"[object Set]\",rt=\"[object String]\",et=\"[object Symbol]\",ut=\"[object Undefined]\",it=\"[object WeakMap]\",ot=\"[object WeakSet]\",ft=\"[object ArrayBuffer]\",ct=\"[object DataView]\",at=\"[object Float32Array]\",lt=\"[object Float64Array]\",st=\"[object Int8Array]\",ht=\"[object Int16Array]\",pt=\"[object Int32Array]\",_t=\"[object Uint8Array]\",vt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",yt=\"[object Uint32Array]\",dt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,wt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>\"']/g,jt=RegExp(mt.source),At=RegExp(xt.source),kt=/<%-([\\s\\S]+?)%>/g,Ot=/<%([\\s\\S]+?)%>/g,It=/<%=([\\s\\S]+?)%>/g,Rt=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,zt=/^\\w*$/,Et=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,St=/[\\\\^$.*+?()[\\]{}|]/g,Wt=RegExp(St.source),Lt=/^\\s+/,Ct=/\\s/,Ut=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Tt=/,? & /,$t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Dt=/[()=,{}\\[\\]\\/\\s]/,Mt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Nt=/\\w*$/,Pt=/^[-+]0x[0-9a-f]+$/i,qt=/^0b[01]+$/i,Zt=/^\\[object .+?Constructor\\]$/,Kt=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\\d*)$/,Gt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ht=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,Yt=\"\\\\ud800-\\\\udfff\",Qt=\"\\\\u0300-\\\\u036f\",Xt=\"\\\\ufe20-\\\\ufe2f\",nr=\"\\\\u20d0-\\\\u20ff\",tr=Qt+Xt+nr,rr=\"\\\\u2700-\\\\u27bf\",er=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",ur=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",ir=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",or=\"\\\\u2000-\\\\u206f\",fr=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",cr=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ar=\"\\\\ufe0e\\\\ufe0f\",lr=ur+ir+or+fr,sr=\"['\\u2019]\",hr=\"[\"+Yt+\"]\",pr=\"[\"+lr+\"]\",_r=\"[\"+tr+\"]\",vr=\"\\\\d+\",gr=\"[\"+rr+\"]\",yr=\"[\"+er+\"]\",dr=\"[^\"+Yt+lr+vr+rr+er+cr+\"]\",br=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",wr=\"(?:\"+_r+\"|\"+br+\")\",mr=\"[^\"+Yt+\"]\",xr=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",jr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ar=\"[\"+cr+\"]\",kr=\"\\\\u200d\",Or=\"(?:\"+yr+\"|\"+dr+\")\",Ir=\"(?:\"+Ar+\"|\"+dr+\")\",Rr=\"(?:\"+sr+\"(?:d|ll|m|re|s|t|ve))?\",zr=\"(?:\"+sr+\"(?:D|LL|M|RE|S|T|VE))?\",Er=wr+\"?\",Sr=\"[\"+ar+\"]?\",Wr=\"(?:\"+kr+\"(?:\"+[mr,xr,jr].join(\"|\")+\")\"+Sr+Er+\")*\",Lr=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Cr=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",Ur=Sr+Er+Wr,Br=\"(?:\"+[gr,xr,jr].join(\"|\")+\")\"+Ur,Tr=\"(?:\"+[mr+_r+\"?\",_r,xr,jr,hr].join(\"|\")+\")\",$r=RegExp(sr,\"g\"),Dr=RegExp(_r,\"g\"),Mr=RegExp(br+\"(?=\"+br+\")|\"+Tr+Ur,\"g\"),Fr=RegExp([Ar+\"?\"+yr+\"+\"+Rr+\"(?=\"+[pr,Ar,\"$\"].join(\"|\")+\")\",Ir+\"+\"+zr+\"(?=\"+[pr,Ar+Or,\"$\"].join(\"|\")+\")\",Ar+\"?\"+Or+\"+\"+Rr,Ar+\"+\"+zr,Cr,Lr,vr,Br].join(\"|\"),\"g\"),Nr=RegExp(\"[\"+kr+Yt+tr+ar+\"]\"),Pr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qr=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Zr=-1,Kr={};\nKr[at]=Kr[lt]=Kr[st]=Kr[ht]=Kr[pt]=Kr[_t]=Kr[vt]=Kr[gt]=Kr[yt]=!0,Kr[Dn]=Kr[Mn]=Kr[ft]=Kr[Nn]=Kr[ct]=Kr[Pn]=Kr[Zn]=Kr[Kn]=Kr[Gn]=Kr[Hn]=Kr[Yn]=Kr[nt]=Kr[tt]=Kr[rt]=Kr[it]=!1;var Vr={};Vr[Dn]=Vr[Mn]=Vr[ft]=Vr[ct]=Vr[Nn]=Vr[Pn]=Vr[at]=Vr[lt]=Vr[st]=Vr[ht]=Vr[pt]=Vr[Gn]=Vr[Hn]=Vr[Yn]=Vr[nt]=Vr[tt]=Vr[rt]=Vr[et]=Vr[_t]=Vr[vt]=Vr[gt]=Vr[yt]=!0,Vr[Zn]=Vr[Kn]=Vr[it]=!1;var Gr={\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\n\"\\xc7\":\"C\",\"\\xe7\":\"c\",\"\\xd0\":\"D\",\"\\xf0\":\"d\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xd1\":\"N\",\"\\xf1\":\"n\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xdd\":\"Y\",\"\\xfd\":\"y\",\"\\xff\":\"y\",\"\\xc6\":\"Ae\",\n\"\\xe6\":\"ae\",\"\\xde\":\"Th\",\"\\xfe\":\"th\",\"\\xdf\":\"ss\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u0104\":\"A\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u0105\":\"a\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010a\":\"C\",\"\\u010c\":\"C\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010b\":\"c\",\"\\u010d\":\"c\",\"\\u010e\":\"D\",\"\\u0110\":\"D\",\"\\u010f\":\"d\",\"\\u0111\":\"d\",\"\\u0112\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u0118\":\"E\",\"\\u011a\":\"E\",\"\\u0113\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u0119\":\"e\",\"\\u011b\":\"e\",\"\\u011c\":\"G\",\"\\u011e\":\"G\",\"\\u0120\":\"G\",\"\\u0122\":\"G\",\"\\u011d\":\"g\",\"\\u011f\":\"g\",\"\\u0121\":\"g\",\n\"\\u0123\":\"g\",\"\\u0124\":\"H\",\"\\u0126\":\"H\",\"\\u0125\":\"h\",\"\\u0127\":\"h\",\"\\u0128\":\"I\",\"\\u012a\":\"I\",\"\\u012c\":\"I\",\"\\u012e\":\"I\",\"\\u0130\":\"I\",\"\\u0129\":\"i\",\"\\u012b\":\"i\",\"\\u012d\":\"i\",\"\\u012f\":\"i\",\"\\u0131\":\"i\",\"\\u0134\":\"J\",\"\\u0135\":\"j\",\"\\u0136\":\"K\",\"\\u0137\":\"k\",\"\\u0138\":\"k\",\"\\u0139\":\"L\",\"\\u013b\":\"L\",\"\\u013d\":\"L\",\"\\u013f\":\"L\",\"\\u0141\":\"L\",\"\\u013a\":\"l\",\"\\u013c\":\"l\",\"\\u013e\":\"l\",\"\\u0140\":\"l\",\"\\u0142\":\"l\",\"\\u0143\":\"N\",\"\\u0145\":\"N\",\"\\u0147\":\"N\",\"\\u014a\":\"N\",\"\\u0144\":\"n\",\"\\u0146\":\"n\",\"\\u0148\":\"n\",\"\\u014b\":\"n\",\"\\u014c\":\"O\",\n\"\\u014e\":\"O\",\"\\u0150\":\"O\",\"\\u014d\":\"o\",\"\\u014f\":\"o\",\"\\u0151\":\"o\",\"\\u0154\":\"R\",\"\\u0156\":\"R\",\"\\u0158\":\"R\",\"\\u0155\":\"r\",\"\\u0157\":\"r\",\"\\u0159\":\"r\",\"\\u015a\":\"S\",\"\\u015c\":\"S\",\"\\u015e\":\"S\",\"\\u0160\":\"S\",\"\\u015b\":\"s\",\"\\u015d\":\"s\",\"\\u015f\":\"s\",\"\\u0161\":\"s\",\"\\u0162\":\"T\",\"\\u0164\":\"T\",\"\\u0166\":\"T\",\"\\u0163\":\"t\",\"\\u0165\":\"t\",\"\\u0167\":\"t\",\"\\u0168\":\"U\",\"\\u016a\":\"U\",\"\\u016c\":\"U\",\"\\u016e\":\"U\",\"\\u0170\":\"U\",\"\\u0172\":\"U\",\"\\u0169\":\"u\",\"\\u016b\":\"u\",\"\\u016d\":\"u\",\"\\u016f\":\"u\",\"\\u0171\":\"u\",\"\\u0173\":\"u\",\"\\u0174\":\"W\",\"\\u0175\":\"w\",\n\"\\u0176\":\"Y\",\"\\u0177\":\"y\",\"\\u0178\":\"Y\",\"\\u0179\":\"Z\",\"\\u017b\":\"Z\",\"\\u017d\":\"Z\",\"\\u017a\":\"z\",\"\\u017c\":\"z\",\"\\u017e\":\"z\",\"\\u0132\":\"IJ\",\"\\u0133\":\"ij\",\"\\u0152\":\"Oe\",\"\\u0153\":\"oe\",\"\\u0149\":\"'n\",\"\\u017f\":\"s\"},Hr={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Jr={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},Yr={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qr=parseFloat,Xr=parseInt,ne=\"object\"==typeof global&&global&&global.Object===Object&&global,te=\"object\"==typeof self&&self&&self.Object===Object&&self,re=ne||te||Function(\"return this\")(),ee=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ee&&\"object\"==typeof module&&module&&!module.nodeType&&module,ie=ue&&ue.exports===ee,oe=ie&&ne.process,fe=function(){\ntry{var n=ue&&ue.require&&ue.require(\"util\").types;return n?n:oe&&oe.binding&&oe.binding(\"util\")}catch(n){}}(),ce=fe&&fe.isArrayBuffer,ae=fe&&fe.isDate,le=fe&&fe.isMap,se=fe&&fe.isRegExp,he=fe&&fe.isSet,pe=fe&&fe.isTypedArray,_e=m(\"length\"),ve=x(Gr),ge=x(Hr),ye=x(Jr),de=function p(x){function Z(n){if(cc(n)&&!bh(n)&&!(n instanceof Ct)){if(n instanceof Y)return n;if(bl.call(n,\"__wrapped__\"))return eo(n)}return new Y(n)}function J(){}function Y(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,\nthis.__index__=0,this.__values__=X}function Ct(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Un,this.__views__=[]}function $t(){var n=new Ct(this.__wrapped__);return n.__actions__=Tu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tu(this.__views__),n}function Yt(){if(this.__filtered__){var n=new Ct(this);n.__dir__=-1,\nn.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Qt(){var n=this.__wrapped__.value(),t=this.__dir__,r=bh(n),e=t<0,u=r?n.length:0,i=Oi(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return wu(n,this.__actions__);var _=[];n:for(;c--&&h<p;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(b==zn)g=w;else if(!w){if(b==Rn)continue n;break n}}_[h++]=g}return _}function Xt(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function nr(){this.__data__=is?is(null):{},this.size=0}function tr(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function rr(n){var t=this.__data__;if(is){var r=t[n];return r===on?X:r}return bl.call(t,n)?t[n]:X}function er(n){var t=this.__data__;return is?t[n]!==X:bl.call(t,n)}function ur(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=is&&t===X?on:t,this}function ir(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function or(){this.__data__=[],this.size=0}function fr(n){var t=this.__data__,r=Wr(t,n);return!(r<0)&&(r==t.length-1?t.pop():Ll.call(t,r,1),--this.size,!0)}function cr(n){var t=this.__data__,r=Wr(t,n);return r<0?X:t[r][1]}function ar(n){return Wr(this.__data__,n)>-1}function lr(n,t){var r=this.__data__,e=Wr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function sr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){\nvar e=n[t];this.set(e[0],e[1])}}function hr(){this.size=0,this.__data__={hash:new Xt,map:new(ts||ir),string:new Xt}}function pr(n){var t=xi(this,n).delete(n);return this.size-=t?1:0,t}function _r(n){return xi(this,n).get(n)}function vr(n){return xi(this,n).has(n)}function gr(n,t){var r=xi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function yr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new sr;++t<r;)this.add(n[t])}function dr(n){return this.__data__.set(n,on),this}function br(n){\nreturn this.__data__.has(n)}function wr(n){this.size=(this.__data__=new ir(n)).size}function mr(){this.__data__=new ir,this.size=0}function xr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Ar(n){return this.__data__.has(n)}function kr(n,t){var r=this.__data__;if(r instanceof ir){var e=r.__data__;if(!ts||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new sr(e)}return r.set(n,t),this.size=r.size,this}function Or(n,t){\nvar r=bh(n),e=!r&&dh(n),u=!r&&!e&&mh(n),i=!r&&!e&&!u&&Oh(n),o=r||e||u||i,f=o?O(n.length,hl):[],c=f.length;for(var a in n)!t&&!bl.call(n,a)||o&&(\"length\"==a||u&&(\"offset\"==a||\"parent\"==a)||i&&(\"buffer\"==a||\"byteLength\"==a||\"byteOffset\"==a)||Ci(a,c))||f.push(a);return f}function Ir(n){var t=n.length;return t?n[tu(0,t-1)]:X}function Rr(n,t){return Xi(Tu(n),Mr(t,0,n.length))}function zr(n){return Xi(Tu(n))}function Er(n,t,r){(r===X||Gf(n[t],r))&&(r!==X||t in n)||Br(n,t,r)}function Sr(n,t,r){var e=n[t];\nbl.call(n,t)&&Gf(e,r)&&(r!==X||t in n)||Br(n,t,r)}function Wr(n,t){for(var r=n.length;r--;)if(Gf(n[r][0],t))return r;return-1}function Lr(n,t,r,e){return ys(n,function(n,u,i){t(e,n,r(n),i)}),e}function Cr(n,t){return n&&$u(t,Pc(t),n)}function Ur(n,t){return n&&$u(t,qc(t),n)}function Br(n,t,r){\"__proto__\"==t&&Tl?Tl(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=il(e),i=null==n;++r<e;)u[r]=i?X:Mc(n,t[r]);return u}function Mr(n,t,r){return n===n&&(r!==X&&(n=n<=r?n:r),\nt!==X&&(n=n>=t?n:t)),n}function Fr(n,t,e,u,i,o){var f,c=t&an,a=t&ln,l=t&sn;if(e&&(f=i?e(n,u,i,o):e(n)),f!==X)return f;if(!fc(n))return n;var s=bh(n);if(s){if(f=zi(n),!c)return Tu(n,f)}else{var h=zs(n),p=h==Kn||h==Vn;if(mh(n))return Iu(n,c);if(h==Yn||h==Dn||p&&!i){if(f=a||p?{}:Ei(n),!c)return a?Mu(n,Ur(f,n)):Du(n,Cr(f,n))}else{if(!Vr[h])return i?n:{};f=Si(n,h,c)}}o||(o=new wr);var _=o.get(n);if(_)return _;o.set(n,f),kh(n)?n.forEach(function(r){f.add(Fr(r,t,e,r,n,o))}):jh(n)&&n.forEach(function(r,u){\nf.set(u,Fr(r,t,e,u,n,o))});var v=l?a?di:yi:a?qc:Pc,g=s?X:v(n);return r(g||n,function(r,u){g&&(u=r,r=n[u]),Sr(f,u,Fr(r,t,e,u,n,o))}),f}function Nr(n){var t=Pc(n);return function(r){return Pr(r,n,t)}}function Pr(n,t,r){var e=r.length;if(null==n)return!e;for(n=ll(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===X&&!(u in n)||!i(o))return!1}return!0}function Gr(n,t,r){if(\"function\"!=typeof n)throw new pl(en);return Ws(function(){n.apply(X,r)},t)}function Hr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;\nif(!l)return s;r&&(t=c(t,z(r))),e?(i=f,a=!1):t.length>=tn&&(i=S,a=!1,t=new yr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Jr(n,t){var r=!0;return ys(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===X?o===o&&!bc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t,r,e){var u=n.length;for(r=kc(r),r<0&&(r=-r>u?0:u+r),\ne=e===X||e>u?u:kc(e),e<0&&(e+=u),e=r>e?0:Oc(e);r<e;)n[r++]=t;return n}function te(n,t){var r=[];return ys(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ee(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Li),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?ee(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ue(n,t){return n&&bs(n,t,Pc)}function oe(n,t){return n&&ws(n,t,Pc)}function fe(n,t){return i(t,function(t){return uc(n[t])})}function _e(n,t){t=ku(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[no(t[r++])];\nreturn r&&r==e?n:X}function de(n,t,r){var e=t(n);return bh(n)?e:a(e,r(n))}function we(n){return null==n?n===X?ut:Jn:Bl&&Bl in ll(n)?ki(n):Ki(n)}function me(n,t){return n>t}function xe(n,t){return null!=n&&bl.call(n,t)}function je(n,t){return null!=n&&t in ll(n)}function Ae(n,t,r){return n>=Hl(t,r)&&n<Gl(t,r)}function ke(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=il(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,z(t))),s=Hl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new yr(a&&p):X}p=n[0];\nvar _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?S(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?S(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Oe(n,t,r,e){return ue(n,function(n,u,i){t(e,r(n),u,i)}),e}function Ie(t,r,e){r=ku(r,t),t=Gi(t,r);var u=null==t?t:t[no(jo(r))];return null==u?X:n(u,t,e)}function Re(n){return cc(n)&&we(n)==Dn}function ze(n){return cc(n)&&we(n)==ft}function Ee(n){return cc(n)&&we(n)==Pn}function Se(n,t,r,e,u){\nreturn n===t||(null==n||null==t||!cc(n)&&!cc(t)?n!==n&&t!==t:We(n,t,r,e,Se,u))}function We(n,t,r,e,u,i){var o=bh(n),f=bh(t),c=o?Mn:zs(n),a=f?Mn:zs(t);c=c==Dn?Yn:c,a=a==Dn?Yn:a;var l=c==Yn,s=a==Yn,h=c==a;if(h&&mh(n)){if(!mh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new wr),o||Oh(n)?pi(n,t,r,e,u,i):_i(n,t,c,r,e,u,i);if(!(r&hn)){var p=l&&bl.call(n,\"__wrapped__\"),_=s&&bl.call(t,\"__wrapped__\");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new wr),u(v,g,r,e,i)}}return!!h&&(i||(i=new wr),vi(n,t,r,e,u,i));\n}function Le(n){return cc(n)&&zs(n)==Gn}function Ce(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ll(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===X&&!(c in n))return!1}else{var s=new wr;if(e)var h=e(a,l,c,n,t,s);if(!(h===X?Se(l,a,hn|pn,e,s):h))return!1}}return!0}function Ue(n){return!(!fc(n)||Di(n))&&(uc(n)?kl:Zt).test(to(n))}function Be(n){return cc(n)&&we(n)==nt}function Te(n){return cc(n)&&zs(n)==tt;\n}function $e(n){return cc(n)&&oc(n.length)&&!!Kr[we(n)]}function De(n){return\"function\"==typeof n?n:null==n?La:\"object\"==typeof n?bh(n)?Ze(n[0],n[1]):qe(n):Fa(n)}function Me(n){if(!Mi(n))return Vl(n);var t=[];for(var r in ll(n))bl.call(n,r)&&\"constructor\"!=r&&t.push(r);return t}function Fe(n){if(!fc(n))return Zi(n);var t=Mi(n),r=[];for(var e in n)(\"constructor\"!=e||!t&&bl.call(n,e))&&r.push(e);return r}function Ne(n,t){return n<t}function Pe(n,t){var r=-1,e=Hf(n)?il(n.length):[];return ys(n,function(n,u,i){\ne[++r]=t(n,u,i)}),e}function qe(n){var t=ji(n);return 1==t.length&&t[0][2]?Ni(t[0][0],t[0][1]):function(r){return r===n||Ce(r,n,t)}}function Ze(n,t){return Bi(n)&&Fi(t)?Ni(no(n),t):function(r){var e=Mc(r,n);return e===X&&e===t?Nc(r,n):Se(t,e,hn|pn)}}function Ke(n,t,r,e,u){n!==t&&bs(t,function(i,o){if(u||(u=new wr),fc(i))Ve(n,t,o,r,Ke,e,u);else{var f=e?e(Ji(n,o),i,o+\"\",n,t,u):X;f===X&&(f=i),Er(n,o,f)}},qc)}function Ve(n,t,r,e,u,i,o){var f=Ji(n,r),c=Ji(t,r),a=o.get(c);if(a)return Er(n,r,a),X;var l=i?i(f,c,r+\"\",n,t,o):X,s=l===X;\nif(s){var h=bh(c),p=!h&&mh(c),_=!h&&!p&&Oh(c);l=c,h||p||_?bh(f)?l=f:Jf(f)?l=Tu(f):p?(s=!1,l=Iu(c,!0)):_?(s=!1,l=Wu(c,!0)):l=[]:gc(c)||dh(c)?(l=f,dh(f)?l=Rc(f):fc(f)&&!uc(f)||(l=Ei(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Er(n,r,l)}function Ge(n,t){var r=n.length;if(r)return t+=t<0?r:0,Ci(t,r)?n[t]:X}function He(n,t,r){t=t.length?c(t,function(n){return bh(n)?function(t){return _e(t,1===n.length?n[0]:n)}:n}):[La];var e=-1;return t=c(t,z(mi())),A(Pe(n,function(n,r,u){return{criteria:c(t,function(t){\nreturn t(n)}),index:++e,value:n}}),function(n,t){return Cu(n,t,r)})}function Je(n,t){return Ye(n,t,function(t,r){return Nc(n,r)})}function Ye(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=_e(n,o);r(f,o)&&fu(i,ku(o,n),f)}return i}function Qe(n){return function(t){return _e(t,n)}}function Xe(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Tu(t)),r&&(f=c(n,z(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Ll.call(f,a,1),Ll.call(n,a,1);return n}function nu(n,t){for(var r=n?t.length:0,e=r-1;r--;){\nvar u=t[r];if(r==e||u!==i){var i=u;Ci(u)?Ll.call(n,u,1):yu(n,u)}}return n}function tu(n,t){return n+Nl(Ql()*(t-n+1))}function ru(n,t,r,e){for(var u=-1,i=Gl(Fl((t-n)/(r||1)),0),o=il(i);i--;)o[e?i:++u]=n,n+=r;return o}function eu(n,t){var r=\"\";if(!n||t<1||t>Wn)return r;do t%2&&(r+=n),t=Nl(t/2),t&&(n+=n);while(t);return r}function uu(n,t){return Ls(Vi(n,t,La),n+\"\")}function iu(n){return Ir(ra(n))}function ou(n,t){var r=ra(n);return Xi(r,Mr(t,0,r.length))}function fu(n,t,r,e){if(!fc(n))return n;t=ku(t,n);\nfor(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=no(t[u]),a=r;if(\"__proto__\"===c||\"constructor\"===c||\"prototype\"===c)return n;if(u!=o){var l=f[c];a=e?e(l,c,f):X,a===X&&(a=fc(l)?l:Ci(t[u+1])?[]:{})}Sr(f,c,a),f=f[c]}return n}function cu(n){return Xi(ra(n))}function au(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=il(u);++e<u;)i[e]=n[e+t];return i}function lu(n,t){var r;return ys(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function su(n,t,r){\nvar e=0,u=null==n?e:n.length;if(\"number\"==typeof t&&t===t&&u<=Tn){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!bc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return hu(n,t,La,r)}function hu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;t=r(t);for(var o=t!==t,f=null===t,c=bc(t),a=t===X;u<i;){var l=Nl((u+i)/2),s=r(n[l]),h=s!==X,p=null===s,_=s===s,v=bc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Hl(i,Bn)}function pu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){\nvar o=n[r],f=t?t(o):o;if(!r||!Gf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function _u(n){return\"number\"==typeof n?n:bc(n)?Cn:+n}function vu(n){if(\"string\"==typeof n)return n;if(bh(n))return c(n,vu)+\"\";if(bc(n))return vs?vs.call(n):\"\";var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function gu(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=tn){var s=t?null:ks(n);if(s)return P(s);c=!1,u=S,l=new yr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p===p){for(var _=l.length;_--;)if(l[_]===p)continue n;\nt&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function yu(n,t){return t=ku(t,n),n=Gi(n,t),null==n||delete n[no(jo(t))]}function du(n,t,r,e){return fu(n,t,r(_e(n,t)),e)}function bu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?au(n,e?0:i,e?i+1:u):au(n,e?i+1:0,e?u:i)}function wu(n,t){var r=n;return r instanceof Ct&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mu(n,t,r){var e=n.length;if(e<2)return e?gu(n[0]):[];\nfor(var u=-1,i=il(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Hr(i[u]||o,n[f],t,r));return gu(ee(i,1),t,r)}function xu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;){r(o,n[e],e<i?t[e]:X)}return o}function ju(n){return Jf(n)?n:[]}function Au(n){return\"function\"==typeof n?n:La}function ku(n,t){return bh(n)?n:Bi(n,t)?[n]:Cs(Ec(n))}function Ou(n,t,r){var e=n.length;return r=r===X?e:r,!t&&r>=e?n:au(n,t,r)}function Iu(n,t){if(t)return n.slice();var r=n.length,e=zl?zl(r):new n.constructor(r);\nreturn n.copy(e),e}function Ru(n){var t=new n.constructor(n.byteLength);return new Rl(t).set(new Rl(n)),t}function zu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.byteLength)}function Eu(n){var t=new n.constructor(n.source,Nt.exec(n));return t.lastIndex=n.lastIndex,t}function Su(n){return _s?ll(_s.call(n)):{}}function Wu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.length)}function Lu(n,t){if(n!==t){var r=n!==X,e=null===n,u=n===n,i=bc(n),o=t!==X,f=null===t,c=t===t,a=bc(t);\nif(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cu(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Lu(u[e],i[e]);if(c){if(e>=f)return c;return c*(\"desc\"==r[e]?-1:1)}}return n.index-t.index}function Uu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Gl(i-o,0),l=il(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l;\n}function Bu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Gl(i-f,0),s=il(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Tu(n,t){var r=-1,e=n.length;for(t||(t=il(e));++r<e;)t[r]=n[r];return t}function $u(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):X;c===X&&(c=n[f]),u?Br(r,f,c):Sr(r,f,c)}return r}function Du(n,t){return $u(n,Is(n),t)}function Mu(n,t){return $u(n,Rs(n),t);\n}function Fu(n,r){return function(e,u){var i=bh(e)?t:Lr,o=r?r():{};return i(e,n,mi(u,2),o)}}function Nu(n){return uu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:X,o=u>2?r[2]:X;for(i=n.length>3&&\"function\"==typeof i?(u--,i):X,o&&Ui(r[0],r[1],o)&&(i=u<3?X:i,u=1),t=ll(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Pu(n,t){return function(r,e){if(null==r)return r;if(!Hf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ll(r);(t?i--:++i<u)&&e(o[i],i,o)!==!1;);return r}}function qu(n){return function(t,r,e){\nfor(var u=-1,i=ll(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===!1)break}return t}}function Zu(n,t,r){function e(){return(this&&this!==re&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=t&_n,i=Gu(n);return e}function Ku(n){return function(t){t=Ec(t);var r=T(t)?G(t):X,e=r?r[0]:t.charAt(0),u=r?Ou(r,1).join(\"\"):t.slice(1);return e[n]()+u}}function Vu(n){return function(t){return l(Ra(ca(t).replace($r,\"\")),n,\"\")}}function Gu(n){return function(){var t=arguments;switch(t.length){\ncase 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=gs(n.prototype),e=n.apply(r,t);return fc(e)?e:r}}function Hu(t,r,e){function u(){for(var o=arguments.length,f=il(o),c=o,a=wi(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:N(f,a);\nreturn o-=l.length,o<e?oi(t,r,Qu,u.placeholder,X,f,l,X,X,e-o):n(this&&this!==re&&this instanceof u?i:t,this,f)}var i=Gu(t);return u}function Ju(n){return function(t,r,e){var u=ll(t);if(!Hf(t)){var i=mi(r,3);t=Pc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:X}}function Yu(n){return gi(function(t){var r=t.length,e=r,u=Y.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(\"function\"!=typeof i)throw new pl(en);if(u&&!o&&\"wrapper\"==bi(i))var o=new Y([],!0)}for(e=o?e:r;++e<r;){\ni=t[e];var f=bi(i),c=\"wrapper\"==f?Os(i):X;o=c&&$i(c[0])&&c[1]==(mn|yn|bn|xn)&&!c[4].length&&1==c[9]?o[bi(c[0])].apply(o,c[3]):1==i.length&&$i(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&bh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function Qu(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=il(y),b=y;b--;)d[b]=arguments[b];if(_)var w=wi(l),m=C(d,w);if(e&&(d=Uu(d,e,u,_)),i&&(d=Bu(d,i,o,_)),\ny-=m,_&&y<a){return oi(n,t,Qu,l.placeholder,r,d,N(d,w),f,c,a-y)}var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Hi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==re&&this instanceof l&&(j=g||Gu(j)),j.apply(x,d)}var s=t&mn,h=t&_n,p=t&vn,_=t&(yn|dn),v=t&jn,g=p?X:Gu(n);return l}function Xu(n,t){return function(r,e){return Oe(r,n,t(e),{})}}function ni(n,t){return function(r,e){var u;if(r===X&&e===X)return t;if(r!==X&&(u=r),e!==X){if(u===X)return e;\"string\"==typeof r||\"string\"==typeof e?(r=vu(r),\ne=vu(e)):(r=_u(r),e=_u(e)),u=n(r,e)}return u}}function ti(t){return gi(function(r){return r=c(r,z(mi())),uu(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ri(n,t){t=t===X?\" \":vu(t);var r=t.length;if(r<2)return r?eu(t,n):t;var e=eu(t,Fl(n/V(t)));return T(t)?Ou(G(e),0,n).join(\"\"):e.slice(0,n)}function ei(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=il(l+c),h=this&&this!==re&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];\nreturn n(h,o?e:this,s)}var o=r&_n,f=Gu(t);return i}function ui(n){return function(t,r,e){return e&&\"number\"!=typeof e&&Ui(t,r,e)&&(r=e=X),t=Ac(t),r===X?(r=t,t=0):r=Ac(r),e=e===X?t<r?1:-1:Ac(e),ru(t,r,e,n)}}function ii(n){return function(t,r){return\"string\"==typeof t&&\"string\"==typeof r||(t=Ic(t),r=Ic(r)),n(t,r)}}function oi(n,t,r,e,u,i,o,f,c,a){var l=t&yn,s=l?o:X,h=l?X:o,p=l?i:X,_=l?X:i;t|=l?bn:wn,t&=~(l?wn:bn),t&gn||(t&=~(_n|vn));var v=[n,t,u,p,s,_,h,f,c,a],g=r.apply(X,v);return $i(n)&&Ss(g,v),g.placeholder=e,\nYi(g,n,t)}function fi(n){var t=al[n];return function(n,r){if(n=Ic(n),r=null==r?0:Hl(kc(r),292),r&&Zl(n)){var e=(Ec(n)+\"e\").split(\"e\");return e=(Ec(t(e[0]+\"e\"+(+e[1]+r)))+\"e\").split(\"e\"),+(e[0]+\"e\"+(+e[1]-r))}return t(n)}}function ci(n){return function(t){var r=zs(t);return r==Gn?M(t):r==tt?q(t):I(t,n(t))}}function ai(n,t,r,e,u,i,o,f){var c=t&vn;if(!c&&\"function\"!=typeof n)throw new pl(en);var a=e?e.length:0;if(a||(t&=~(bn|wn),e=u=X),o=o===X?o:Gl(kc(o),0),f=f===X?f:kc(f),a-=u?u.length:0,t&wn){var l=e,s=u;\ne=u=X}var h=c?X:Os(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&qi(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],f=p[9]=p[9]===X?c?0:n.length:Gl(p[9]-a,0),!f&&t&(yn|dn)&&(t&=~(yn|dn)),t&&t!=_n)_=t==yn||t==dn?Hu(n,t,f):t!=bn&&t!=(_n|bn)||u.length?Qu.apply(X,p):ei(n,t,r,e);else var _=Zu(n,t,r);return Yi((h?ms:Ss)(_,p),n,t)}function li(n,t,r,e){return n===X||Gf(n,gl[r])&&!bl.call(e,r)?t:n}function si(n,t,r,e,u,i){return fc(n)&&fc(t)&&(i.set(t,n),Ke(n,t,X,si,i),i.delete(t)),n}function hi(n){return gc(n)?X:n}function pi(n,t,r,e,u,i){\nvar o=r&hn,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=r&pn?new yr:X;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==X){if(y)continue;p=!1;break}if(_){if(!h(t,function(n,t){if(!S(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)})){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n,t,r,e,u,i,o){switch(r){case ct:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;\nn=n.buffer,t=t.buffer;case ft:return!(n.byteLength!=t.byteLength||!i(new Rl(n),new Rl(t)));case Nn:case Pn:case Hn:return Gf(+n,+t);case Zn:return n.name==t.name&&n.message==t.message;case nt:case rt:return n==t+\"\";case Gn:var f=M;case tt:var c=e&hn;if(f||(f=P),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=pn,o.set(n,t);var l=pi(f(n),f(t),e,u,i,o);return o.delete(n),l;case et:if(_s)return _s.call(n)==_s.call(t)}return!1}function vi(n,t,r,e,u,i){var o=r&hn,f=yi(n),c=f.length;if(c!=yi(t).length&&!o)return!1;\nfor(var a=c;a--;){var l=f[a];if(!(o?l in t:bl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){l=f[a];var v=n[l],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===X?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_=\"constructor\"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&\"constructor\"in n&&\"constructor\"in t&&!(\"function\"==typeof d&&d instanceof d&&\"function\"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),\ni.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+\"\")}function yi(n){return de(n,Pc,Is)}function di(n){return de(n,qc,Rs)}function bi(n){for(var t=n.name+\"\",r=fs[t],e=bl.call(fs,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function wi(n){return(bl.call(Z,\"placeholder\")?Z:n).placeholder}function mi(){var n=Z.iteratee||Ca;return n=n===Ca?De:n,arguments.length?n(arguments[0],arguments[1]):n}function xi(n,t){var r=n.__data__;return Ti(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map;\n}function ji(n){for(var t=Pc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Fi(u)]}return t}function Ai(n,t){var r=B(n,t);return Ue(r)?r:X}function ki(n){var t=bl.call(n,Bl),r=n[Bl];try{n[Bl]=X;var e=!0}catch(n){}var u=xl.call(n);return e&&(t?n[Bl]=r:delete n[Bl]),u}function Oi(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case\"drop\":n+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=Hl(t,n+o);break;case\"takeRight\":n=Gl(n,t-o)}}return{start:n,end:t}}function Ii(n){var t=n.match(Bt);\nreturn t?t[1].split(Tt):[]}function Ri(n,t,r){t=ku(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=no(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&oc(u)&&Ci(o,u)&&(bh(n)||dh(n)))}function zi(n){var t=n.length,r=new n.constructor(t);return t&&\"string\"==typeof n[0]&&bl.call(n,\"index\")&&(r.index=n.index,r.input=n.input),r}function Ei(n){return\"function\"!=typeof n.constructor||Mi(n)?{}:gs(El(n))}function Si(n,t,r){var e=n.constructor;switch(t){case ft:return Ru(n);\ncase Nn:case Pn:return new e(+n);case ct:return zu(n,r);case at:case lt:case st:case ht:case pt:case _t:case vt:case gt:case yt:return Wu(n,r);case Gn:return new e;case Hn:case rt:return new e(n);case nt:return Eu(n);case tt:return new e;case et:return Su(n)}}function Wi(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?\"& \":\"\")+t[e],t=t.join(r>2?\", \":\" \"),n.replace(Ut,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Li(n){return bh(n)||dh(n)||!!(Cl&&n&&n[Cl])}function Ci(n,t){var r=typeof n;\nreturn t=null==t?Wn:t,!!t&&(\"number\"==r||\"symbol\"!=r&&Vt.test(n))&&n>-1&&n%1==0&&n<t}function Ui(n,t,r){if(!fc(r))return!1;var e=typeof t;return!!(\"number\"==e?Hf(r)&&Ci(t,r.length):\"string\"==e&&t in r)&&Gf(r[t],n)}function Bi(n,t){if(bh(n))return!1;var r=typeof n;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=n&&!bc(n))||(zt.test(n)||!Rt.test(n)||null!=t&&n in ll(t))}function Ti(n){var t=typeof n;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==n:null===n}function $i(n){\nvar t=bi(n),r=Z[t];if(\"function\"!=typeof r||!(t in Ct.prototype))return!1;if(n===r)return!0;var e=Os(r);return!!e&&n===e[0]}function Di(n){return!!ml&&ml in n}function Mi(n){var t=n&&n.constructor;return n===(\"function\"==typeof t&&t.prototype||gl)}function Fi(n){return n===n&&!fc(n)}function Ni(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==X||n in ll(r)))}}function Pi(n){var t=Cf(n,function(n){return r.size===fn&&r.clear(),n}),r=t.cache;return t}function qi(n,t){var r=n[1],e=t[1],u=r|e,i=u<(_n|vn|mn),o=e==mn&&r==yn||e==mn&&r==xn&&n[7].length<=t[8]||e==(mn|xn)&&t[7].length<=t[8]&&r==yn;\nif(!i&&!o)return n;e&_n&&(n[2]=t[2],u|=r&_n?0:gn);var f=t[3];if(f){var c=n[3];n[3]=c?Uu(c,f,t[4]):f,n[4]=c?N(n[3],cn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bu(c,f,t[6]):f,n[6]=c?N(n[5],cn):t[6]),f=t[7],f&&(n[7]=f),e&mn&&(n[8]=null==n[8]?t[8]:Hl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function Zi(n){var t=[];if(null!=n)for(var r in ll(n))t.push(r);return t}function Ki(n){return xl.call(n)}function Vi(t,r,e){return r=Gl(r===X?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Gl(u.length-r,0),f=il(o);++i<o;)f[i]=u[r+i];\ni=-1;for(var c=il(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Gi(n,t){return t.length<2?n:_e(n,au(t,0,-1))}function Hi(n,t){for(var r=n.length,e=Hl(t.length,r),u=Tu(n);e--;){var i=t[e];n[e]=Ci(i,r)?u[i]:X}return n}function Ji(n,t){if((\"constructor\"!==t||\"function\"!=typeof n[t])&&\"__proto__\"!=t)return n[t]}function Yi(n,t,r){var e=t+\"\";return Ls(n,Wi(e,ro(Ii(e),r)))}function Qi(n){var t=0,r=0;return function(){var e=Jl(),u=In-(e-r);if(r=e,u>0){if(++t>=On)return arguments[0]}else t=0;\nreturn n.apply(X,arguments)}}function Xi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===X?e:t;++r<t;){var i=tu(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function no(n){if(\"string\"==typeof n||bc(n))return n;var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function to(n){if(null!=n){try{return dl.call(n)}catch(n){}try{return n+\"\"}catch(n){}}return\"\"}function ro(n,t){return r($n,function(r){var e=\"_.\"+r[0];t&r[1]&&!o(n,e)&&n.push(e)}),n.sort()}function eo(n){if(n instanceof Ct)return n.clone();var t=new Y(n.__wrapped__,n.__chain__);\nreturn t.__actions__=Tu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function uo(n,t,r){t=(r?Ui(n,t,r):t===X)?1:Gl(kc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=il(Fl(e/t));u<e;)o[i++]=au(n,u,u+=t);return o}function io(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function oo(){var n=arguments.length;if(!n)return[];for(var t=il(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(bh(r)?Tu(r):[r],ee(t,1));\n}function fo(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),au(n,t<0?0:t,e)):[]}function co(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,0,t<0?0:t)):[]}function ao(n,t){return n&&n.length?bu(n,mi(t,3),!0,!0):[]}function lo(n,t){return n&&n.length?bu(n,mi(t,3),!0):[]}function so(n,t,r,e){var u=null==n?0:n.length;return u?(r&&\"number\"!=typeof r&&Ui(n,t,r)&&(r=0,e=u),ne(n,t,r,e)):[]}function ho(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);\nreturn u<0&&(u=Gl(e+u,0)),g(n,mi(t,3),u)}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==X&&(u=kc(r),u=r<0?Gl(e+u,0):Hl(u,e-1)),g(n,mi(t,3),u,!0)}function _o(n){return(null==n?0:n.length)?ee(n,1):[]}function vo(n){return(null==n?0:n.length)?ee(n,Sn):[]}function go(n,t){return(null==n?0:n.length)?(t=t===X?1:kc(t),ee(n,t)):[]}function yo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function bo(n){return n&&n.length?n[0]:X}function wo(n,t,r){\nvar e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);return u<0&&(u=Gl(e+u,0)),y(n,t,u)}function mo(n){return(null==n?0:n.length)?au(n,0,-1):[]}function xo(n,t){return null==n?\"\":Kl.call(n,t)}function jo(n){var t=null==n?0:n.length;return t?n[t-1]:X}function Ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==X&&(u=kc(r),u=u<0?Gl(e+u,0):Hl(u,e-1)),t===t?K(n,t,u):g(n,b,u,!0)}function ko(n,t){return n&&n.length?Ge(n,kc(t)):X}function Oo(n,t){return n&&n.length&&t&&t.length?Xe(n,t):n;\n}function Io(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,mi(r,2)):n}function Ro(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,X,r):n}function zo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=mi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return nu(n,u),r}function Eo(n){return null==n?n:Xl.call(n)}function So(n,t,r){var e=null==n?0:n.length;return e?(r&&\"number\"!=typeof r&&Ui(n,t,r)?(t=0,r=e):(t=null==t?0:kc(t),r=r===X?e:kc(r)),au(n,t,r)):[]}function Wo(n,t){\nreturn su(n,t)}function Lo(n,t,r){return hu(n,t,mi(r,2))}function Co(n,t){var r=null==n?0:n.length;if(r){var e=su(n,t);if(e<r&&Gf(n[e],t))return e}return-1}function Uo(n,t){return su(n,t,!0)}function Bo(n,t,r){return hu(n,t,mi(r,2),!0)}function To(n,t){if(null==n?0:n.length){var r=su(n,t,!0)-1;if(Gf(n[r],t))return r}return-1}function $o(n){return n&&n.length?pu(n):[]}function Do(n,t){return n&&n.length?pu(n,mi(t,2)):[]}function Mo(n){var t=null==n?0:n.length;return t?au(n,1,t):[]}function Fo(n,t,r){\nreturn n&&n.length?(t=r||t===X?1:kc(t),au(n,0,t<0?0:t)):[]}function No(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,t<0?0:t,e)):[]}function Po(n,t){return n&&n.length?bu(n,mi(t,3),!1,!0):[]}function qo(n,t){return n&&n.length?bu(n,mi(t,3)):[]}function Zo(n){return n&&n.length?gu(n):[]}function Ko(n,t){return n&&n.length?gu(n,mi(t,2)):[]}function Vo(n,t){return t=\"function\"==typeof t?t:X,n&&n.length?gu(n,X,t):[]}function Go(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){\nif(Jf(n))return t=Gl(n.length,t),!0}),O(t,function(t){return c(n,m(t))})}function Ho(t,r){if(!t||!t.length)return[];var e=Go(t);return null==r?e:c(e,function(t){return n(r,X,t)})}function Jo(n,t){return xu(n||[],t||[],Sr)}function Yo(n,t){return xu(n||[],t||[],fu)}function Qo(n){var t=Z(n);return t.__chain__=!0,t}function Xo(n,t){return t(n),n}function nf(n,t){return t(n)}function tf(){return Qo(this)}function rf(){return new Y(this.value(),this.__chain__)}function ef(){this.__values__===X&&(this.__values__=jc(this.value()));\nvar n=this.__index__>=this.__values__.length;return{done:n,value:n?X:this.__values__[this.__index__++]}}function uf(){return this}function of(n){for(var t,r=this;r instanceof J;){var e=eo(r);e.__index__=0,e.__values__=X,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function ff(){var n=this.__wrapped__;if(n instanceof Ct){var t=n;return this.__actions__.length&&(t=new Ct(this)),t=t.reverse(),t.__actions__.push({func:nf,args:[Eo],thisArg:X}),new Y(t,this.__chain__)}return this.thru(Eo);\n}function cf(){return wu(this.__wrapped__,this.__actions__)}function af(n,t,r){var e=bh(n)?u:Jr;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function lf(n,t){return(bh(n)?i:te)(n,mi(t,3))}function sf(n,t){return ee(yf(n,t),1)}function hf(n,t){return ee(yf(n,t),Sn)}function pf(n,t,r){return r=r===X?1:kc(r),ee(yf(n,t),r)}function _f(n,t){return(bh(n)?r:ys)(n,mi(t,3))}function vf(n,t){return(bh(n)?e:ds)(n,mi(t,3))}function gf(n,t,r,e){n=Hf(n)?n:ra(n),r=r&&!e?kc(r):0;var u=n.length;return r<0&&(r=Gl(u+r,0)),\ndc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function yf(n,t){return(bh(n)?c:Pe)(n,mi(t,3))}function df(n,t,r,e){return null==n?[]:(bh(t)||(t=null==t?[]:[t]),r=e?X:r,bh(r)||(r=null==r?[]:[r]),He(n,t,r))}function bf(n,t,r){var e=bh(n)?l:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ys)}function wf(n,t,r){var e=bh(n)?s:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ds)}function mf(n,t){return(bh(n)?i:te)(n,Uf(mi(t,3)))}function xf(n){return(bh(n)?Ir:iu)(n)}function jf(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),\n(bh(n)?Rr:ou)(n,t)}function Af(n){return(bh(n)?zr:cu)(n)}function kf(n){if(null==n)return 0;if(Hf(n))return dc(n)?V(n):n.length;var t=zs(n);return t==Gn||t==tt?n.size:Me(n).length}function Of(n,t,r){var e=bh(n)?h:lu;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function If(n,t){if(\"function\"!=typeof t)throw new pl(en);return n=kc(n),function(){if(--n<1)return t.apply(this,arguments)}}function Rf(n,t,r){return t=r?X:t,t=n&&null==t?n.length:t,ai(n,mn,X,X,X,X,t)}function zf(n,t){var r;if(\"function\"!=typeof t)throw new pl(en);\nreturn n=kc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=X),r}}function Ef(n,t,r){t=r?X:t;var e=ai(n,yn,X,X,X,X,X,t);return e.placeholder=Ef.placeholder,e}function Sf(n,t,r){t=r?X:t;var e=ai(n,dn,X,X,X,X,X,t);return e.placeholder=Sf.placeholder,e}function Wf(n,t,r){function e(t){var r=h,e=p;return h=p=X,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Ws(f,t),b?e(n):v}function i(n){var r=n-y,e=n-d,u=t-r;return w?Hl(u,_-e):u}function o(n){var r=n-y,e=n-d;return y===X||r>=t||r<0||w&&e>=_;\n}function f(){var n=fh();return o(n)?c(n):(g=Ws(f,i(n)),X)}function c(n){return g=X,m&&h?e(n):(h=p=X,v)}function a(){g!==X&&As(g),d=0,h=y=p=g=X}function l(){return g===X?v:c(fh())}function s(){var n=fh(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===X)return u(y);if(w)return As(g),g=Ws(f,t),e(y)}return g===X&&(g=Ws(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if(\"function\"!=typeof n)throw new pl(en);return t=Ic(t)||0,fc(r)&&(b=!!r.leading,w=\"maxWait\"in r,_=w?Gl(Ic(r.maxWait)||0,t):_,m=\"trailing\"in r?!!r.trailing:m),\ns.cancel=a,s.flush=l,s}function Lf(n){return ai(n,jn)}function Cf(n,t){if(\"function\"!=typeof n||null!=t&&\"function\"!=typeof t)throw new pl(en);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Cf.Cache||sr),r}function Uf(n){if(\"function\"!=typeof n)throw new pl(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:\nreturn!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Bf(n){return zf(2,n)}function Tf(n,t){if(\"function\"!=typeof n)throw new pl(en);return t=t===X?t:kc(t),uu(n,t)}function $f(t,r){if(\"function\"!=typeof t)throw new pl(en);return r=null==r?0:Gl(kc(r),0),uu(function(e){var u=e[r],i=Ou(e,0,r);return u&&a(i,u),n(t,this,i)})}function Df(n,t,r){var e=!0,u=!0;if(\"function\"!=typeof n)throw new pl(en);return fc(r)&&(e=\"leading\"in r?!!r.leading:e,u=\"trailing\"in r?!!r.trailing:u),\nWf(n,t,{leading:e,maxWait:t,trailing:u})}function Mf(n){return Rf(n,1)}function Ff(n,t){return ph(Au(t),n)}function Nf(){if(!arguments.length)return[];var n=arguments[0];return bh(n)?n:[n]}function Pf(n){return Fr(n,sn)}function qf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,sn,t)}function Zf(n){return Fr(n,an|sn)}function Kf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,an|sn,t)}function Vf(n,t){return null==t||Pr(n,t,Pc(t))}function Gf(n,t){return n===t||n!==n&&t!==t}function Hf(n){return null!=n&&oc(n.length)&&!uc(n);\n}function Jf(n){return cc(n)&&Hf(n)}function Yf(n){return n===!0||n===!1||cc(n)&&we(n)==Nn}function Qf(n){return cc(n)&&1===n.nodeType&&!gc(n)}function Xf(n){if(null==n)return!0;if(Hf(n)&&(bh(n)||\"string\"==typeof n||\"function\"==typeof n.splice||mh(n)||Oh(n)||dh(n)))return!n.length;var t=zs(n);if(t==Gn||t==tt)return!n.size;if(Mi(n))return!Me(n).length;for(var r in n)if(bl.call(n,r))return!1;return!0}function nc(n,t){return Se(n,t)}function tc(n,t,r){r=\"function\"==typeof r?r:X;var e=r?r(n,t):X;return e===X?Se(n,t,X,r):!!e;\n}function rc(n){if(!cc(n))return!1;var t=we(n);return t==Zn||t==qn||\"string\"==typeof n.message&&\"string\"==typeof n.name&&!gc(n)}function ec(n){return\"number\"==typeof n&&Zl(n)}function uc(n){if(!fc(n))return!1;var t=we(n);return t==Kn||t==Vn||t==Fn||t==Xn}function ic(n){return\"number\"==typeof n&&n==kc(n)}function oc(n){return\"number\"==typeof n&&n>-1&&n%1==0&&n<=Wn}function fc(n){var t=typeof n;return null!=n&&(\"object\"==t||\"function\"==t)}function cc(n){return null!=n&&\"object\"==typeof n}function ac(n,t){\nreturn n===t||Ce(n,t,ji(t))}function lc(n,t,r){return r=\"function\"==typeof r?r:X,Ce(n,t,ji(t),r)}function sc(n){return vc(n)&&n!=+n}function hc(n){if(Es(n))throw new fl(rn);return Ue(n)}function pc(n){return null===n}function _c(n){return null==n}function vc(n){return\"number\"==typeof n||cc(n)&&we(n)==Hn}function gc(n){if(!cc(n)||we(n)!=Yn)return!1;var t=El(n);if(null===t)return!0;var r=bl.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&dl.call(r)==jl}function yc(n){\nreturn ic(n)&&n>=-Wn&&n<=Wn}function dc(n){return\"string\"==typeof n||!bh(n)&&cc(n)&&we(n)==rt}function bc(n){return\"symbol\"==typeof n||cc(n)&&we(n)==et}function wc(n){return n===X}function mc(n){return cc(n)&&zs(n)==it}function xc(n){return cc(n)&&we(n)==ot}function jc(n){if(!n)return[];if(Hf(n))return dc(n)?G(n):Tu(n);if(Ul&&n[Ul])return D(n[Ul]());var t=zs(n);return(t==Gn?M:t==tt?P:ra)(n)}function Ac(n){if(!n)return 0===n?n:0;if(n=Ic(n),n===Sn||n===-Sn){return(n<0?-1:1)*Ln}return n===n?n:0}function kc(n){\nvar t=Ac(n),r=t%1;return t===t?r?t-r:t:0}function Oc(n){return n?Mr(kc(n),0,Un):0}function Ic(n){if(\"number\"==typeof n)return n;if(bc(n))return Cn;if(fc(n)){var t=\"function\"==typeof n.valueOf?n.valueOf():n;n=fc(t)?t+\"\":t}if(\"string\"!=typeof n)return 0===n?n:+n;n=R(n);var r=qt.test(n);return r||Kt.test(n)?Xr(n.slice(2),r?2:8):Pt.test(n)?Cn:+n}function Rc(n){return $u(n,qc(n))}function zc(n){return n?Mr(kc(n),-Wn,Wn):0===n?n:0}function Ec(n){return null==n?\"\":vu(n)}function Sc(n,t){var r=gs(n);return null==t?r:Cr(r,t);\n}function Wc(n,t){return v(n,mi(t,3),ue)}function Lc(n,t){return v(n,mi(t,3),oe)}function Cc(n,t){return null==n?n:bs(n,mi(t,3),qc)}function Uc(n,t){return null==n?n:ws(n,mi(t,3),qc)}function Bc(n,t){return n&&ue(n,mi(t,3))}function Tc(n,t){return n&&oe(n,mi(t,3))}function $c(n){return null==n?[]:fe(n,Pc(n))}function Dc(n){return null==n?[]:fe(n,qc(n))}function Mc(n,t,r){var e=null==n?X:_e(n,t);return e===X?r:e}function Fc(n,t){return null!=n&&Ri(n,t,xe)}function Nc(n,t){return null!=n&&Ri(n,t,je);\n}function Pc(n){return Hf(n)?Or(n):Me(n)}function qc(n){return Hf(n)?Or(n,!0):Fe(n)}function Zc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,t(n,e,u),n)}),r}function Kc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,e,t(n,e,u))}),r}function Vc(n,t){return Gc(n,Uf(mi(t)))}function Gc(n,t){if(null==n)return{};var r=c(di(n),function(n){return[n]});return t=mi(t),Ye(n,r,function(n,r){return t(n,r[0])})}function Hc(n,t,r){t=ku(t,n);var e=-1,u=t.length;for(u||(u=1,n=X);++e<u;){var i=null==n?X:n[no(t[e])];\ni===X&&(e=u,i=r),n=uc(i)?i.call(n):i}return n}function Jc(n,t,r){return null==n?n:fu(n,t,r)}function Yc(n,t,r,e){return e=\"function\"==typeof e?e:X,null==n?n:fu(n,t,r,e)}function Qc(n,t,e){var u=bh(n),i=u||mh(n)||Oh(n);if(t=mi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:fc(n)&&uc(o)?gs(El(n)):{}}return(i?r:ue)(n,function(n,r,u){return t(e,n,r,u)}),e}function Xc(n,t){return null==n||yu(n,t)}function na(n,t,r){return null==n?n:du(n,t,Au(r))}function ta(n,t,r,e){return e=\"function\"==typeof e?e:X,\nnull==n?n:du(n,t,Au(r),e)}function ra(n){return null==n?[]:E(n,Pc(n))}function ea(n){return null==n?[]:E(n,qc(n))}function ua(n,t,r){return r===X&&(r=t,t=X),r!==X&&(r=Ic(r),r=r===r?r:0),t!==X&&(t=Ic(t),t=t===t?t:0),Mr(Ic(n),t,r)}function ia(n,t,r){return t=Ac(t),r===X?(r=t,t=0):r=Ac(r),n=Ic(n),Ae(n,t,r)}function oa(n,t,r){if(r&&\"boolean\"!=typeof r&&Ui(n,t,r)&&(t=r=X),r===X&&(\"boolean\"==typeof t?(r=t,t=X):\"boolean\"==typeof n&&(r=n,n=X)),n===X&&t===X?(n=0,t=1):(n=Ac(n),t===X?(t=n,n=0):t=Ac(t)),n>t){\nvar e=n;n=t,t=e}if(r||n%1||t%1){var u=Ql();return Hl(n+u*(t-n+Qr(\"1e-\"+((u+\"\").length-1))),t)}return tu(n,t)}function fa(n){return Qh(Ec(n).toLowerCase())}function ca(n){return n=Ec(n),n&&n.replace(Gt,ve).replace(Dr,\"\")}function aa(n,t,r){n=Ec(n),t=vu(t);var e=n.length;r=r===X?e:Mr(kc(r),0,e);var u=r;return r-=t.length,r>=0&&n.slice(r,u)==t}function la(n){return n=Ec(n),n&&At.test(n)?n.replace(xt,ge):n}function sa(n){return n=Ec(n),n&&Wt.test(n)?n.replace(St,\"\\\\$&\"):n}function ha(n,t,r){n=Ec(n),t=kc(t);\nvar e=t?V(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ri(Nl(u),r)+n+ri(Fl(u),r)}function pa(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?n+ri(t-e,r):n}function _a(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?ri(t-e,r)+n:n}function va(n,t,r){return r||null==t?t=0:t&&(t=+t),Yl(Ec(n).replace(Lt,\"\"),t||0)}function ga(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),eu(Ec(n),t)}function ya(){var n=arguments,t=Ec(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function da(n,t,r){return r&&\"number\"!=typeof r&&Ui(n,t,r)&&(t=r=X),\n(r=r===X?Un:r>>>0)?(n=Ec(n),n&&(\"string\"==typeof t||null!=t&&!Ah(t))&&(t=vu(t),!t&&T(n))?Ou(G(n),0,r):n.split(t,r)):[]}function ba(n,t,r){return n=Ec(n),r=null==r?0:Mr(kc(r),0,n.length),t=vu(t),n.slice(r,r+t.length)==t}function wa(n,t,r){var e=Z.templateSettings;r&&Ui(n,t,r)&&(t=X),n=Ec(n),t=Sh({},t,e,li);var u,i,o=Sh({},t.imports,e.imports,li),f=Pc(o),c=E(o,f),a=0,l=t.interpolate||Ht,s=\"__p += '\",h=sl((t.escape||Ht).source+\"|\"+l.source+\"|\"+(l===It?Ft:Ht).source+\"|\"+(t.evaluate||Ht).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(bl.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Zr+\"]\")+\"\\n\";\nn.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Jt,U),r&&(u=!0,s+=\"' +\\n__e(\"+r+\") +\\n'\"),f&&(i=!0,s+=\"';\\n\"+f+\";\\n__p += '\"),e&&(s+=\"' +\\n((__t = (\"+e+\")) == null ? '' : __t) +\\n'\"),a=c+t.length,t}),s+=\"';\\n\";var _=bl.call(t,\"variable\")&&t.variable;if(_){if(Dt.test(_))throw new fl(un)}else s=\"with (obj) {\\n\"+s+\"\\n}\\n\";s=(i?s.replace(dt,\"\"):s).replace(bt,\"$1\").replace(wt,\"$1;\"),s=\"function(\"+(_||\"obj\")+\") {\\n\"+(_?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(u?\", __e = _.escape\":\"\")+(i?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+s+\"return __p\\n}\";\nvar v=Xh(function(){return cl(f,p+\"return \"+s).apply(X,c)});if(v.source=s,rc(v))throw v;return v}function ma(n){return Ec(n).toLowerCase()}function xa(n){return Ec(n).toUpperCase()}function ja(n,t,r){if(n=Ec(n),n&&(r||t===X))return R(n);if(!n||!(t=vu(t)))return n;var e=G(n),u=G(t);return Ou(e,W(e,u),L(e,u)+1).join(\"\")}function Aa(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.slice(0,H(n)+1);if(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,0,L(e,G(t))+1).join(\"\")}function ka(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.replace(Lt,\"\");\nif(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,W(e,G(t))).join(\"\")}function Oa(n,t){var r=An,e=kn;if(fc(t)){var u=\"separator\"in t?t.separator:u;r=\"length\"in t?kc(t.length):r,e=\"omission\"in t?vu(t.omission):e}n=Ec(n);var i=n.length;if(T(n)){var o=G(n);i=o.length}if(r>=i)return n;var f=r-V(e);if(f<1)return e;var c=o?Ou(o,0,f).join(\"\"):n.slice(0,f);if(u===X)return c+e;if(o&&(f+=c.length-f),Ah(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=sl(u.source,Ec(Nt.exec(u))+\"g\")),u.lastIndex=0;a=u.exec(l);)var s=a.index;\nc=c.slice(0,s===X?f:s)}}else if(n.indexOf(vu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e}function Ia(n){return n=Ec(n),n&&jt.test(n)?n.replace(mt,ye):n}function Ra(n,t,r){return n=Ec(n),t=r?X:t,t===X?$(n)?Q(n):_(n):n.match(t)||[]}function za(t){var r=null==t?0:t.length,e=mi();return t=r?c(t,function(n){if(\"function\"!=typeof n[1])throw new pl(en);return[e(n[0]),n[1]]}):[],uu(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})}function Ea(n){\nreturn Nr(Fr(n,an))}function Sa(n){return function(){return n}}function Wa(n,t){return null==n||n!==n?t:n}function La(n){return n}function Ca(n){return De(\"function\"==typeof n?n:Fr(n,an))}function Ua(n){return qe(Fr(n,an))}function Ba(n,t){return Ze(n,Fr(t,an))}function Ta(n,t,e){var u=Pc(t),i=fe(t,u);null!=e||fc(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=fe(t,Pc(t)));var o=!(fc(e)&&\"chain\"in e&&!e.chain),f=uc(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;\nif(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function $a(){return re._===this&&(re._=Al),this}function Da(){}function Ma(n){return n=kc(n),uu(function(t){return Ge(t,n)})}function Fa(n){return Bi(n)?m(no(n)):Qe(n)}function Na(n){return function(t){return null==n?X:_e(n,t)}}function Pa(){return[]}function qa(){return!1}function Za(){return{}}function Ka(){return\"\";\n}function Va(){return!0}function Ga(n,t){if(n=kc(n),n<1||n>Wn)return[];var r=Un,e=Hl(n,Un);t=mi(t),n-=Un;for(var u=O(e,t);++r<n;)t(r);return u}function Ha(n){return bh(n)?c(n,no):bc(n)?[n]:Tu(Cs(Ec(n)))}function Ja(n){var t=++wl;return Ec(n)+t}function Ya(n){return n&&n.length?Yr(n,La,me):X}function Qa(n,t){return n&&n.length?Yr(n,mi(t,2),me):X}function Xa(n){return w(n,La)}function nl(n,t){return w(n,mi(t,2))}function tl(n){return n&&n.length?Yr(n,La,Ne):X}function rl(n,t){return n&&n.length?Yr(n,mi(t,2),Ne):X;\n}function el(n){return n&&n.length?k(n,La):0}function ul(n,t){return n&&n.length?k(n,mi(t,2)):0}x=null==x?re:be.defaults(re.Object(),x,be.pick(re,qr));var il=x.Array,ol=x.Date,fl=x.Error,cl=x.Function,al=x.Math,ll=x.Object,sl=x.RegExp,hl=x.String,pl=x.TypeError,_l=il.prototype,vl=cl.prototype,gl=ll.prototype,yl=x[\"__core-js_shared__\"],dl=vl.toString,bl=gl.hasOwnProperty,wl=0,ml=function(){var n=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||\"\");return n?\"Symbol(src)_1.\"+n:\"\"}(),xl=gl.toString,jl=dl.call(ll),Al=re._,kl=sl(\"^\"+dl.call(bl).replace(St,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ol=ie?x.Buffer:X,Il=x.Symbol,Rl=x.Uint8Array,zl=Ol?Ol.allocUnsafe:X,El=F(ll.getPrototypeOf,ll),Sl=ll.create,Wl=gl.propertyIsEnumerable,Ll=_l.splice,Cl=Il?Il.isConcatSpreadable:X,Ul=Il?Il.iterator:X,Bl=Il?Il.toStringTag:X,Tl=function(){\ntry{var n=Ai(ll,\"defineProperty\");return n({},\"\",{}),n}catch(n){}}(),$l=x.clearTimeout!==re.clearTimeout&&x.clearTimeout,Dl=ol&&ol.now!==re.Date.now&&ol.now,Ml=x.setTimeout!==re.setTimeout&&x.setTimeout,Fl=al.ceil,Nl=al.floor,Pl=ll.getOwnPropertySymbols,ql=Ol?Ol.isBuffer:X,Zl=x.isFinite,Kl=_l.join,Vl=F(ll.keys,ll),Gl=al.max,Hl=al.min,Jl=ol.now,Yl=x.parseInt,Ql=al.random,Xl=_l.reverse,ns=Ai(x,\"DataView\"),ts=Ai(x,\"Map\"),rs=Ai(x,\"Promise\"),es=Ai(x,\"Set\"),us=Ai(x,\"WeakMap\"),is=Ai(ll,\"create\"),os=us&&new us,fs={},cs=to(ns),as=to(ts),ls=to(rs),ss=to(es),hs=to(us),ps=Il?Il.prototype:X,_s=ps?ps.valueOf:X,vs=ps?ps.toString:X,gs=function(){\nfunction n(){}return function(t){if(!fc(t))return{};if(Sl)return Sl(t);n.prototype=t;var r=new n;return n.prototype=X,r}}();Z.templateSettings={escape:kt,evaluate:Ot,interpolate:It,variable:\"\",imports:{_:Z}},Z.prototype=J.prototype,Z.prototype.constructor=Z,Y.prototype=gs(J.prototype),Y.prototype.constructor=Y,Ct.prototype=gs(J.prototype),Ct.prototype.constructor=Ct,Xt.prototype.clear=nr,Xt.prototype.delete=tr,Xt.prototype.get=rr,Xt.prototype.has=er,Xt.prototype.set=ur,ir.prototype.clear=or,ir.prototype.delete=fr,\nir.prototype.get=cr,ir.prototype.has=ar,ir.prototype.set=lr,sr.prototype.clear=hr,sr.prototype.delete=pr,sr.prototype.get=_r,sr.prototype.has=vr,sr.prototype.set=gr,yr.prototype.add=yr.prototype.push=dr,yr.prototype.has=br,wr.prototype.clear=mr,wr.prototype.delete=xr,wr.prototype.get=jr,wr.prototype.has=Ar,wr.prototype.set=kr;var ys=Pu(ue),ds=Pu(oe,!0),bs=qu(),ws=qu(!0),ms=os?function(n,t){return os.set(n,t),n}:La,xs=Tl?function(n,t){return Tl(n,\"toString\",{configurable:!0,enumerable:!1,value:Sa(t),\nwritable:!0})}:La,js=uu,As=$l||function(n){return re.clearTimeout(n)},ks=es&&1/P(new es([,-0]))[1]==Sn?function(n){return new es(n)}:Da,Os=os?function(n){return os.get(n)}:Da,Is=Pl?function(n){return null==n?[]:(n=ll(n),i(Pl(n),function(t){return Wl.call(n,t)}))}:Pa,Rs=Pl?function(n){for(var t=[];n;)a(t,Is(n)),n=El(n);return t}:Pa,zs=we;(ns&&zs(new ns(new ArrayBuffer(1)))!=ct||ts&&zs(new ts)!=Gn||rs&&zs(rs.resolve())!=Qn||es&&zs(new es)!=tt||us&&zs(new us)!=it)&&(zs=function(n){var t=we(n),r=t==Yn?n.constructor:X,e=r?to(r):\"\";\nif(e)switch(e){case cs:return ct;case as:return Gn;case ls:return Qn;case ss:return tt;case hs:return it}return t});var Es=yl?uc:qa,Ss=Qi(ms),Ws=Ml||function(n,t){return re.setTimeout(n,t)},Ls=Qi(xs),Cs=Pi(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(\"\"),n.replace(Et,function(n,r,e,u){t.push(e?u.replace(Mt,\"$1\"):r||n)}),t}),Us=uu(function(n,t){return Jf(n)?Hr(n,ee(t,1,Jf,!0)):[]}),Bs=uu(function(n,t){var r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),mi(r,2)):[]}),Ts=uu(function(n,t){\nvar r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),X,r):[]}),$s=uu(function(n){var t=c(n,ju);return t.length&&t[0]===n[0]?ke(t):[]}),Ds=uu(function(n){var t=jo(n),r=c(n,ju);return t===jo(r)?t=X:r.pop(),r.length&&r[0]===n[0]?ke(r,mi(t,2)):[]}),Ms=uu(function(n){var t=jo(n),r=c(n,ju);return t=\"function\"==typeof t?t:X,t&&r.pop(),r.length&&r[0]===n[0]?ke(r,X,t):[]}),Fs=uu(Oo),Ns=gi(function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return nu(n,c(t,function(n){return Ci(n,r)?+n:n}).sort(Lu)),e}),Ps=uu(function(n){\nreturn gu(ee(n,1,Jf,!0))}),qs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),gu(ee(n,1,Jf,!0),mi(t,2))}),Zs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,gu(ee(n,1,Jf,!0),X,t)}),Ks=uu(function(n,t){return Jf(n)?Hr(n,t):[]}),Vs=uu(function(n){return mu(i(n,Jf))}),Gs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),mu(i(n,Jf),mi(t,2))}),Hs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,mu(i(n,Jf),X,t)}),Js=uu(Go),Ys=uu(function(n){var t=n.length,r=t>1?n[t-1]:X;return r=\"function\"==typeof r?(n.pop(),\nr):X,Ho(n,r)}),Qs=gi(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Ct&&Ci(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:nf,args:[u],thisArg:X}),new Y(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(X),n})):this.thru(u)}),Xs=Fu(function(n,t,r){bl.call(n,r)?++n[r]:Br(n,r,1)}),nh=Ju(ho),th=Ju(po),rh=Fu(function(n,t,r){bl.call(n,r)?n[r].push(t):Br(n,r,[t])}),eh=uu(function(t,r,e){var u=-1,i=\"function\"==typeof r,o=Hf(t)?il(t.length):[];\nreturn ys(t,function(t){o[++u]=i?n(r,t,e):Ie(t,r,e)}),o}),uh=Fu(function(n,t,r){Br(n,r,t)}),ih=Fu(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),oh=uu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ui(n,t[0],t[1])?t=[]:r>2&&Ui(t[0],t[1],t[2])&&(t=[t[0]]),He(n,ee(t,1),[])}),fh=Dl||function(){return re.Date.now()},ch=uu(function(n,t,r){var e=_n;if(r.length){var u=N(r,wi(ch));e|=bn}return ai(n,e,t,r,u)}),ah=uu(function(n,t,r){var e=_n|vn;if(r.length){var u=N(r,wi(ah));e|=bn;\n}return ai(t,e,n,r,u)}),lh=uu(function(n,t){return Gr(n,1,t)}),sh=uu(function(n,t,r){return Gr(n,Ic(t)||0,r)});Cf.Cache=sr;var hh=js(function(t,r){r=1==r.length&&bh(r[0])?c(r[0],z(mi())):c(ee(r,1),z(mi()));var e=r.length;return uu(function(u){for(var i=-1,o=Hl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)})}),ph=uu(function(n,t){return ai(n,bn,X,t,N(t,wi(ph)))}),_h=uu(function(n,t){return ai(n,wn,X,t,N(t,wi(_h)))}),vh=gi(function(n,t){return ai(n,xn,X,X,X,t)}),gh=ii(me),yh=ii(function(n,t){\nreturn n>=t}),dh=Re(function(){return arguments}())?Re:function(n){return cc(n)&&bl.call(n,\"callee\")&&!Wl.call(n,\"callee\")},bh=il.isArray,wh=ce?z(ce):ze,mh=ql||qa,xh=ae?z(ae):Ee,jh=le?z(le):Le,Ah=se?z(se):Be,kh=he?z(he):Te,Oh=pe?z(pe):$e,Ih=ii(Ne),Rh=ii(function(n,t){return n<=t}),zh=Nu(function(n,t){if(Mi(t)||Hf(t))return $u(t,Pc(t),n),X;for(var r in t)bl.call(t,r)&&Sr(n,r,t[r])}),Eh=Nu(function(n,t){$u(t,qc(t),n)}),Sh=Nu(function(n,t,r,e){$u(t,qc(t),n,e)}),Wh=Nu(function(n,t,r,e){$u(t,Pc(t),n,e);\n}),Lh=gi(Tr),Ch=uu(function(n,t){n=ll(n);var r=-1,e=t.length,u=e>2?t[2]:X;for(u&&Ui(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=qc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===X||Gf(l,gl[a])&&!bl.call(n,a))&&(n[a]=i[a])}return n}),Uh=uu(function(t){return t.push(X,si),n(Mh,X,t)}),Bh=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),n[t]=r},Sa(La)),Th=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),bl.call(n,t)?n[t].push(r):n[t]=[r]},mi),$h=uu(Ie),Dh=Nu(function(n,t,r){\nKe(n,t,r)}),Mh=Nu(function(n,t,r,e){Ke(n,t,r,e)}),Fh=gi(function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,function(t){return t=ku(t,n),e||(e=t.length>1),t}),$u(n,di(n),r),e&&(r=Fr(r,an|ln|sn,hi));for(var u=t.length;u--;)yu(r,t[u]);return r}),Nh=gi(function(n,t){return null==n?{}:Je(n,t)}),Ph=ci(Pc),qh=ci(qc),Zh=Vu(function(n,t,r){return t=t.toLowerCase(),n+(r?fa(t):t)}),Kh=Vu(function(n,t,r){return n+(r?\"-\":\"\")+t.toLowerCase()}),Vh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toLowerCase()}),Gh=Ku(\"toLowerCase\"),Hh=Vu(function(n,t,r){\nreturn n+(r?\"_\":\"\")+t.toLowerCase()}),Jh=Vu(function(n,t,r){return n+(r?\" \":\"\")+Qh(t)}),Yh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toUpperCase()}),Qh=Ku(\"toUpperCase\"),Xh=uu(function(t,r){try{return n(t,X,r)}catch(n){return rc(n)?n:new fl(n)}}),np=gi(function(n,t){return r(t,function(t){t=no(t),Br(n,t,ch(n[t],n))}),n}),tp=Yu(),rp=Yu(!0),ep=uu(function(n,t){return function(r){return Ie(r,n,t)}}),up=uu(function(n,t){return function(r){return Ie(n,r,t)}}),ip=ti(c),op=ti(u),fp=ti(h),cp=ui(),ap=ui(!0),lp=ni(function(n,t){\nreturn n+t},0),sp=fi(\"ceil\"),hp=ni(function(n,t){return n/t},1),pp=fi(\"floor\"),_p=ni(function(n,t){return n*t},1),vp=fi(\"round\"),gp=ni(function(n,t){return n-t},0);return Z.after=If,Z.ary=Rf,Z.assign=zh,Z.assignIn=Eh,Z.assignInWith=Sh,Z.assignWith=Wh,Z.at=Lh,Z.before=zf,Z.bind=ch,Z.bindAll=np,Z.bindKey=ah,Z.castArray=Nf,Z.chain=Qo,Z.chunk=uo,Z.compact=io,Z.concat=oo,Z.cond=za,Z.conforms=Ea,Z.constant=Sa,Z.countBy=Xs,Z.create=Sc,Z.curry=Ef,Z.curryRight=Sf,Z.debounce=Wf,Z.defaults=Ch,Z.defaultsDeep=Uh,\nZ.defer=lh,Z.delay=sh,Z.difference=Us,Z.differenceBy=Bs,Z.differenceWith=Ts,Z.drop=fo,Z.dropRight=co,Z.dropRightWhile=ao,Z.dropWhile=lo,Z.fill=so,Z.filter=lf,Z.flatMap=sf,Z.flatMapDeep=hf,Z.flatMapDepth=pf,Z.flatten=_o,Z.flattenDeep=vo,Z.flattenDepth=go,Z.flip=Lf,Z.flow=tp,Z.flowRight=rp,Z.fromPairs=yo,Z.functions=$c,Z.functionsIn=Dc,Z.groupBy=rh,Z.initial=mo,Z.intersection=$s,Z.intersectionBy=Ds,Z.intersectionWith=Ms,Z.invert=Bh,Z.invertBy=Th,Z.invokeMap=eh,Z.iteratee=Ca,Z.keyBy=uh,Z.keys=Pc,Z.keysIn=qc,\nZ.map=yf,Z.mapKeys=Zc,Z.mapValues=Kc,Z.matches=Ua,Z.matchesProperty=Ba,Z.memoize=Cf,Z.merge=Dh,Z.mergeWith=Mh,Z.method=ep,Z.methodOf=up,Z.mixin=Ta,Z.negate=Uf,Z.nthArg=Ma,Z.omit=Fh,Z.omitBy=Vc,Z.once=Bf,Z.orderBy=df,Z.over=ip,Z.overArgs=hh,Z.overEvery=op,Z.overSome=fp,Z.partial=ph,Z.partialRight=_h,Z.partition=ih,Z.pick=Nh,Z.pickBy=Gc,Z.property=Fa,Z.propertyOf=Na,Z.pull=Fs,Z.pullAll=Oo,Z.pullAllBy=Io,Z.pullAllWith=Ro,Z.pullAt=Ns,Z.range=cp,Z.rangeRight=ap,Z.rearg=vh,Z.reject=mf,Z.remove=zo,Z.rest=Tf,\nZ.reverse=Eo,Z.sampleSize=jf,Z.set=Jc,Z.setWith=Yc,Z.shuffle=Af,Z.slice=So,Z.sortBy=oh,Z.sortedUniq=$o,Z.sortedUniqBy=Do,Z.split=da,Z.spread=$f,Z.tail=Mo,Z.take=Fo,Z.takeRight=No,Z.takeRightWhile=Po,Z.takeWhile=qo,Z.tap=Xo,Z.throttle=Df,Z.thru=nf,Z.toArray=jc,Z.toPairs=Ph,Z.toPairsIn=qh,Z.toPath=Ha,Z.toPlainObject=Rc,Z.transform=Qc,Z.unary=Mf,Z.union=Ps,Z.unionBy=qs,Z.unionWith=Zs,Z.uniq=Zo,Z.uniqBy=Ko,Z.uniqWith=Vo,Z.unset=Xc,Z.unzip=Go,Z.unzipWith=Ho,Z.update=na,Z.updateWith=ta,Z.values=ra,Z.valuesIn=ea,\nZ.without=Ks,Z.words=Ra,Z.wrap=Ff,Z.xor=Vs,Z.xorBy=Gs,Z.xorWith=Hs,Z.zip=Js,Z.zipObject=Jo,Z.zipObjectDeep=Yo,Z.zipWith=Ys,Z.entries=Ph,Z.entriesIn=qh,Z.extend=Eh,Z.extendWith=Sh,Ta(Z,Z),Z.add=lp,Z.attempt=Xh,Z.camelCase=Zh,Z.capitalize=fa,Z.ceil=sp,Z.clamp=ua,Z.clone=Pf,Z.cloneDeep=Zf,Z.cloneDeepWith=Kf,Z.cloneWith=qf,Z.conformsTo=Vf,Z.deburr=ca,Z.defaultTo=Wa,Z.divide=hp,Z.endsWith=aa,Z.eq=Gf,Z.escape=la,Z.escapeRegExp=sa,Z.every=af,Z.find=nh,Z.findIndex=ho,Z.findKey=Wc,Z.findLast=th,Z.findLastIndex=po,\nZ.findLastKey=Lc,Z.floor=pp,Z.forEach=_f,Z.forEachRight=vf,Z.forIn=Cc,Z.forInRight=Uc,Z.forOwn=Bc,Z.forOwnRight=Tc,Z.get=Mc,Z.gt=gh,Z.gte=yh,Z.has=Fc,Z.hasIn=Nc,Z.head=bo,Z.identity=La,Z.includes=gf,Z.indexOf=wo,Z.inRange=ia,Z.invoke=$h,Z.isArguments=dh,Z.isArray=bh,Z.isArrayBuffer=wh,Z.isArrayLike=Hf,Z.isArrayLikeObject=Jf,Z.isBoolean=Yf,Z.isBuffer=mh,Z.isDate=xh,Z.isElement=Qf,Z.isEmpty=Xf,Z.isEqual=nc,Z.isEqualWith=tc,Z.isError=rc,Z.isFinite=ec,Z.isFunction=uc,Z.isInteger=ic,Z.isLength=oc,Z.isMap=jh,\nZ.isMatch=ac,Z.isMatchWith=lc,Z.isNaN=sc,Z.isNative=hc,Z.isNil=_c,Z.isNull=pc,Z.isNumber=vc,Z.isObject=fc,Z.isObjectLike=cc,Z.isPlainObject=gc,Z.isRegExp=Ah,Z.isSafeInteger=yc,Z.isSet=kh,Z.isString=dc,Z.isSymbol=bc,Z.isTypedArray=Oh,Z.isUndefined=wc,Z.isWeakMap=mc,Z.isWeakSet=xc,Z.join=xo,Z.kebabCase=Kh,Z.last=jo,Z.lastIndexOf=Ao,Z.lowerCase=Vh,Z.lowerFirst=Gh,Z.lt=Ih,Z.lte=Rh,Z.max=Ya,Z.maxBy=Qa,Z.mean=Xa,Z.meanBy=nl,Z.min=tl,Z.minBy=rl,Z.stubArray=Pa,Z.stubFalse=qa,Z.stubObject=Za,Z.stubString=Ka,\nZ.stubTrue=Va,Z.multiply=_p,Z.nth=ko,Z.noConflict=$a,Z.noop=Da,Z.now=fh,Z.pad=ha,Z.padEnd=pa,Z.padStart=_a,Z.parseInt=va,Z.random=oa,Z.reduce=bf,Z.reduceRight=wf,Z.repeat=ga,Z.replace=ya,Z.result=Hc,Z.round=vp,Z.runInContext=p,Z.sample=xf,Z.size=kf,Z.snakeCase=Hh,Z.some=Of,Z.sortedIndex=Wo,Z.sortedIndexBy=Lo,Z.sortedIndexOf=Co,Z.sortedLastIndex=Uo,Z.sortedLastIndexBy=Bo,Z.sortedLastIndexOf=To,Z.startCase=Jh,Z.startsWith=ba,Z.subtract=gp,Z.sum=el,Z.sumBy=ul,Z.template=wa,Z.times=Ga,Z.toFinite=Ac,Z.toInteger=kc,\nZ.toLength=Oc,Z.toLower=ma,Z.toNumber=Ic,Z.toSafeInteger=zc,Z.toString=Ec,Z.toUpper=xa,Z.trim=ja,Z.trimEnd=Aa,Z.trimStart=ka,Z.truncate=Oa,Z.unescape=Ia,Z.uniqueId=Ja,Z.upperCase=Yh,Z.upperFirst=Qh,Z.each=_f,Z.eachRight=vf,Z.first=bo,Ta(Z,function(){var n={};return ue(Z,function(t,r){bl.call(Z.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),Z.VERSION=nn,r([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(n){Z[n].placeholder=Z}),r([\"drop\",\"take\"],function(n,t){Ct.prototype[n]=function(r){\nr=r===X?1:Gl(kc(r),0);var e=this.__filtered__&&!t?new Ct(this):this.clone();return e.__filtered__?e.__takeCount__=Hl(r,e.__takeCount__):e.__views__.push({size:Hl(r,Un),type:n+(e.__dir__<0?\"Right\":\"\")}),e},Ct.prototype[n+\"Right\"]=function(t){return this.reverse()[n](t).reverse()}}),r([\"filter\",\"map\",\"takeWhile\"],function(n,t){var r=t+1,e=r==Rn||r==En;Ct.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:mi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r([\"head\",\"last\"],function(n,t){\nvar r=\"take\"+(t?\"Right\":\"\");Ct.prototype[n]=function(){return this[r](1).value()[0]}}),r([\"initial\",\"tail\"],function(n,t){var r=\"drop\"+(t?\"\":\"Right\");Ct.prototype[n]=function(){return this.__filtered__?new Ct(this):this[r](1)}}),Ct.prototype.compact=function(){return this.filter(La)},Ct.prototype.find=function(n){return this.filter(n).head()},Ct.prototype.findLast=function(n){return this.reverse().find(n)},Ct.prototype.invokeMap=uu(function(n,t){return\"function\"==typeof n?new Ct(this):this.map(function(r){\nreturn Ie(r,n,t)})}),Ct.prototype.reject=function(n){return this.filter(Uf(mi(n)))},Ct.prototype.slice=function(n,t){n=kc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Ct(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==X&&(t=kc(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},Ct.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ct.prototype.toArray=function(){return this.take(Un)},ue(Ct.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=Z[e?\"take\"+(\"last\"==t?\"Right\":\"\"):t],i=e||/^find/.test(t);\nu&&(Z.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ct,c=o[0],l=f||bh(t),s=function(n){var t=u.apply(Z,a([n],o));return e&&h?t[0]:t};l&&r&&\"function\"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Ct(this);var g=n.apply(t,o);return g.__actions__.push({func:nf,args:[s],thisArg:X}),new Y(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})}),r([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){\nvar t=_l[n],r=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",e=/^(?:pop|shift)$/.test(n);Z.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(bh(u)?u:[],n)}return this[r](function(r){return t.apply(bh(r)?r:[],n)})}}),ue(Ct.prototype,function(n,t){var r=Z[t];if(r){var e=r.name+\"\";bl.call(fs,e)||(fs[e]=[]),fs[e].push({name:t,func:r})}}),fs[Qu(X,vn).name]=[{name:\"wrapper\",func:X}],Ct.prototype.clone=$t,Ct.prototype.reverse=Yt,Ct.prototype.value=Qt,Z.prototype.at=Qs,\nZ.prototype.chain=tf,Z.prototype.commit=rf,Z.prototype.next=ef,Z.prototype.plant=of,Z.prototype.reverse=ff,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=cf,Z.prototype.first=Z.prototype.head,Ul&&(Z.prototype[Ul]=uf),Z},be=de();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(re._=be,define(function(){return be})):ue?((ue.exports=be)._=be,ee._=be):re._=be}).call(this);","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import * as temp from \"/home/jenkins/agent/workspace/workspace_sn-list-commons_master/target/checkout/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/fp.js\"; export const __esModule = !0; export default temp;"],"version":3}},{"offset":{"line":181,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-list-commons/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createContext","createCustomElement","renderer","type","snabbdom","view","state","properties","messages","politenessSetting","relevant","className","message","styles","ARIA_LIVE_MESSAGE","ARIA_LIVE_CLEAR_MESSAGES","COMPONENT_CONNECTED","COMPONENT_DISCONNECTED","STATIC_ARIA_REGISTRY","Map","ariaLiveBehavior","name","actionHandlers","_ref","host","action","payload","options","compId","getComponentId","el","document","maxMessages","body","appendChild","set","ariaLiveReference","_ref2","remove","delete","effect","_ref3","compDetails","currentMessages","getProperty","shift","stopPropagation","_ref4","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","flatten","isBoolean","isEmpty","isEqual","isString","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","hasInvalidUibProps","uibProps","some","propName","includes","checkForInvalidUibProps","coeffects","configurableUibProps","updateState","hasUibConfigError","uibBehavior","initialState","workspaceConfigId","getConfigurableUibProps","json","path","filter","readOnly","getSelectableProp","componentName","snCanvasAppshellRoot","selector","queue","top","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","deepSearchElement","getAttribute","sessionUserPreferencesBehavior","userPreferencesAppShell","userRolesAppShell","canvasSession","updateProperties","userPrefs","user","limit","applyLimit","dispatch","userRoles","roles","userPreferencesArray","keys","transformUserPreferencesArray","stateUpdates","operation","rowcount","LOG_STATUS_KEY","LOG_LEVEL_ALL","LOG_LEVEL_DEBUG","LOG_LEVEL_LOG","LOG_LEVEL_INFO","LOG_LEVEL_WARN","LOG_LEVEL_ERROR","Logger","window","enable","logLevel","disable","createLog","_log","level","args","Array","splice","unshift","console","debug","log","info","warn","error","INTERSECTION_OBSERVER_NAME","OBSERVE_ELEMENT","UNOBSERVE_ELEMENT","REGISTER_INTERSECTION_OBSERVER","UNREGISTER_INTERSECTION_OBSERVER","HOOK_INSERT","HOOK_DESTROY","HOOK_INIT","PAYLOAD_OPTIONS_PATH","INTERSECTION_OBSERVER_STATE_PATH","NOW_MODE_ACTIVE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__","getOr","getIntersectionObserver","fpGet","getRootElementSelector","getRootMargin","getThreshold","getDebounceDelay","getUseDefer","getShouldSuspend","getShouldUnobserveElement","COMPONENT_DOM_READY","LOG","createElementObservationProps","useDefer","defer","nowMode","vnode","elm","observe","createRootElementHooks","setupIntersectionObserverEffect","rootElementSelector","rootElement","shouldSuspend","shouldUnobserveElement","intersectionObserver","IntersectionObserver","intersectionCallBack","entries","observer","forEach","entry","isIntersecting","target","element","unDefer","intersectClass","dataset","initialClass","classList","contains","add","unobserve","root","rootMargin","threshold","shouldRender","unregisterIntersectionObserverEffect","disconnect","observeElementEffect","collated","collatedItem","elementConfig","getElementConfig","unobserveElementEffect","createIntersectionObserver","behavior","delay","modifier","collate","findFirstTabbableElement","findTabbableElement","findLastTabbableElement","findFirst","tabbies","reverse","index","tabby","possibleResult","isTabbable","node","disabled","offsetParent","getComputedStyle","visibility","tagName","getTabIndex","tabIndex","parseInt","isNaN","contentEditable","findAllTabbableElements","expandedTabbies","shadowQuerySelectorAll","nodes","expandedNodes","findActiveElement","activeElement","elementHasActiveElement","focusWithinClassManager","container","focusIsWithin","elementRetainer","addRetainedElement","removeRetainedElement","updateRetainedElement","getAndClearRetainedFocus","focusThis","focus","getAndResetRetainedScroll","scrollToBottom","resetScroll","scrollTop","firstChild","scrollHeight","scrollLeft","focusTrap","defaultConfig","clickOutsideDeactivates","moveFocusInsideTrap","firstElement","lastElement","activateFocusTrap","config","deactivateFocusTrap","forceFocusFirstTabby","firstTabby","lastTabby","firstKeydown","evt","shiftKey","preventDefault","lastKeydown","addEventListener","tabbyTrapEntry","removeEventListener","updateFocusTrap","menuContext","myList","schema","required","__TECTONIC__$devsnc_sn_list_commons"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-list-commons/src/components/ariaLiveRegion/ariaLiveRegion.scss","webpack:///./src/components/ariaLiveRegion/ariaLiveRegion.scss?dd4f","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///@devsnc/sn-list-commons/src/components/ariaLiveRegion/ariaLiveRegion.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/constants.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/ariaLiveBehavior.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/uiBuilderBehavior.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/constants.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/utils.js","webpack:///@devsnc/sn-list-commons/src/behaviors/userPreferences/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/userPreferences/userPreferencesBehavior.js","webpack:///@devsnc/sn-list-commons/src/utils/logger.js","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/constants.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/fp.jsdbx\"","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/selectors.js","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/index.js","webpack:///@devsnc/sn-list-commons/src/utils/focusUtility.js","webpack:///@devsnc/sn-list-commons/src/contexts/menu.js","webpack:///@devsnc/sn-list-commons/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ariaLiveRegion.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createContext;\n\t\t\t\t\t} else if ('createContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createContext;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './ariaLiveRegion.scss';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { messages, politenessSetting, relevant },\n\t} = state;\n\tconst classes = 'sr-only';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classes}\n\t\t\taria-live={politenessSetting}\n\t\t\taria-relevant={relevant}\n\t\t>\n\t\t\t{messages.map((message) => {\n\t\t\t\treturn <span>{message}<\/span>;\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-aria-live-region', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tpolitenessSetting: {\n\t\t\tdefault: 'polite',\n\t\t},\n\t\trelevant: {\n\t\t\tdefault: 'additions',\n\t\t},\n\t},\n\tstyles,\n});\n","export const ARIA_LIVE_BEHAVIOR_NAME = 'ariaLive';\nexport const ARIA_MESSAGE_MAX = 5;\nexport const ARIA_LIVE_MESSAGE = 'ARIA_LIVE#MESSAGE';\nexport const ARIA_LIVE_CLEAR_MESSAGES = 'ARIA_LIVE#CLEAR_MESSAGES';\n","import '../../components/ariaLiveRegion/ariaLiveRegion';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tARIA_LIVE_CLEAR_MESSAGES,\n\tARIA_LIVE_MESSAGE,\n\tARIA_MESSAGE_MAX,\n} from './constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst STATIC_ARIA_REGISTRY = new Map(); // Need access to size, behavior is setup to remove any lingering refs\n\nconst onConnect = ({\n\thost,\n\taction: {\n\t\tpayload: { options },\n\t},\n}) => {\n\tconst compId = host.getComponentId();\n\tconst el = document.createElement('sn-aria-live-region');\n\tlet maxMessages;\n\tif (options) {\n\t\tif (options.politenessSetting)\n\t\t\tel.politenessSetting = options.politenessSetting;\n\t\tif (options.relevant) el.relevant = options.relevant;\n\t\tif (options.maxMessages) maxMessages = options.maxMessages;\n\t}\n\n\tif (!maxMessages) maxMessages = ARIA_MESSAGE_MAX;\n\tdocument.body.appendChild(el);\n\tSTATIC_ARIA_REGISTRY.set(compId, {\n\t\thost,\n\t\tariaLiveReference: el,\n\t\tmaxMessages,\n\t});\n};\n\nconst onDisconnect = ({ host }) => {\n\tconst compId = host.getComponentId();\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(compId);\n\tconst ariaLiveReference = compDetails.ariaLiveReference;\n\tariaLiveReference.remove();\n\tSTATIC_ARIA_REGISTRY.delete(compId);\n};\n\nconst liveMessageEffect = ({ host, action: { payload } }) => {\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(host.getComponentId());\n\tif (!compDetails) return;\n\tconst { ariaLiveReference, maxMessages } = compDetails;\n\tif (!ariaLiveReference) return;\n\n\tconst { message } = payload;\n\tconst currentMessages = ariaLiveReference.getProperty('messages');\n\t// Ensure messages only contains latest ARIA_MESSAGE_MAX or maxMessages messages to save us from node spam\n\tariaLiveReference.messages.push(message);\n\tif (currentMessages.length > maxMessages)\n\t\tariaLiveReference.messages.shift();\n\tariaLiveReference.messages = [...ariaLiveReference.messages];\n};\n\nconst clearMessagesEffect = ({ host }) => {\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(host.getComponentId());\n\tif (!compDetails) return;\n\tconst ariaLiveReference = compDetails.ariaLiveReference;\n\tariaLiveReference.messages = [];\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: onConnect,\n\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t[ARIA_LIVE_MESSAGE]: {\n\t\teffect: liveMessageEffect,\n\t\tstopPropagation: true,\n\t},\n\t[ARIA_LIVE_CLEAR_MESSAGES]: {\n\t\teffect: clearMessagesEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import { actionHandlers } from './actionHandlers';\nimport { ARIA_LIVE_BEHAVIOR_NAME } from './constants';\n\nexport const ariaLiveBehavior = {\n\tname: ARIA_LIVE_BEHAVIOR_NAME,\n\tactionHandlers,\n};\n\n/**\n * dispatch(\"ARIA_LIVE_MESSAGE\", {message: t('Your Live Message Here')});\n */\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"flatten\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t\t} else if ('flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flatten || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isBoolean\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isBoolean' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isBoolean;\n\t\t\t\t\t} else if ('isBoolean' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isBoolean || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isBoolean;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isString from 'lodash/isString';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst hasInvalidUibProps = (uibProps, properties) =>\n\tuibProps.some((propName) => {\n\t\tconst prop = get(properties, propName, '');\n\t\treturn isString(prop) && prop.includes('@');\n\t});\n\nconst checkForInvalidUibProps = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\toptions: { configurableUibProps },\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\n\tupdateState({\n\t\thasUibConfigError: hasInvalidUibProps(configurableUibProps, properties),\n\t});\n};\n\nconst onBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { workspaceConfigId },\n\t} = coeffects;\n\n\tif (!workspaceConfigId) checkForInvalidUibProps(coeffects);\n};\n\nconst onPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\toptions: { configurableUibProps },\n\t\t\t},\n\t\t},\n\t\tproperties: { workspaceConfigId },\n\t} = coeffects;\n\n\tif (!workspaceConfigId && configurableUibProps.includes(name))\n\t\tcheckForInvalidUibProps(coeffects);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: onBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: onPropertyChanged,\n};\n","import { actionHandlers } from './actionHandlers';\nimport { UIB_BEHAVIOR_NAME } from './constants';\n\nexport const uibBehavior = {\n\tname: UIB_BEHAVIOR_NAME,\n\tinitialState: {\n\t\thasUibConfigError: false,\n\t},\n\tactionHandlers,\n};\n","export const UIB_BEHAVIOR_NAME = 'uiBuilder';\n","import get from 'lodash/get';\n\nexport const getConfigurableUibProps = (json, path) =>\n\tget(json, path, [])\n\t\t.filter((prop) => !prop.readOnly)\n\t\t.map((prop) => prop.name);\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isEmpty, isEqual } from 'lodash';\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst USER_PREF_APP_SHELL_STATE_CHANGE =\n\t'LIST_COMMONS#USER_PREF_APP_SHELL_STATE_CHANGED';\nconst DATA_PROVIDER_BOOTSTRAP = 'PROVIDER_BOOTSTRAP';\n\nconst transformUserPreferencesArray = (userPrefs = {}) => {\n\tconst userPrefsArray = Object.keys(userPrefs).map(function (key) {\n\t\treturn {\n\t\t\tname: key,\n\t\t\tvalue: userPrefs[key],\n\t\t};\n\t});\n\treturn userPrefsArray;\n};\n\nconst deepSearchElement = (selector, root = document.body) => {\n\tlet queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot)\n\t\t\t\tqueue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nconst getSelectableProp = (componentName, propName) => {\n\tconst snCanvasAppshellRoot = deepSearchElement(componentName);\n\tif (!snCanvasAppshellRoot) return {};\n\tconst componentId = snCanvasAppshellRoot.getAttribute('component-id');\n\n\treturn `@${componentId}/${propName}`;\n};\n\nconst onComponentConnected = (coeffects) => {\n\tconst { updateProperties } = coeffects;\n\n\tconst appShellRoute = getSelectableProp(\n\t\t'sn-canvas-appshell-root',\n\t\t'canvasSession'\n\t);\n\n\tupdateProperties({\n\t\tcanvasSession: appShellRoute,\n\t});\n};\n\nconst onPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'canvasSession') {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tstate: { userPreferencesAppShell, userRolesAppShell },\n\t\t\tproperties: {\n\t\t\t\tcanvasSession: { userPrefs, user = {} },\n\t\t\t\tlimit,\n\t\t\t\tapplyLimit,\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\tconst userRoles = user.roles;\n\t\tconst userPreferencesArray = transformUserPreferencesArray(userPrefs);\n\t\tlet stateUpdates = [];\n\t\tif (!isEqual(userPreferencesAppShell, userPreferencesArray)) {\n\t\t\tdispatch(USER_PREF_APP_SHELL_STATE_CHANGE);\n\t\t\tstateUpdates.push({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'userPreferencesAppShell',\n\t\t\t\tvalue: userPreferencesArray,\n\t\t\t});\n\t\t}\n\t\tif (!isEqual(userRolesAppShell, userRoles)) {\n\t\t\tstateUpdates.push({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'userRolesAppShell',\n\t\t\t\tvalue: userRoles,\n\t\t\t});\n\t\t}\n\t\tif (!isEmpty(stateUpdates)) {\n\t\t\tupdateState(stateUpdates);\n\t\t\tif (\n\t\t\t\t!limit &&\n\t\t\t\t!userPreferencesAppShell &&\n\t\t\t\tuserPrefs?.rowcount != applyLimit\n\t\t\t) {\n\t\t\t\tdispatch(DATA_PROVIDER_BOOTSTRAP);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: onComponentConnected,\n\t[COMPONENT_PROPERTY_CHANGED]: onPropertyChanged,\n};\n","import { actionHandlers } from './actionHandlers';\n\nexport const sessionUserPreferencesBehavior = {\n\tname: 'SESSION_USER_PREF_BEHAVIOR',\n\tstate: {\n\t\tuserPreferencesAppShell: { default: [] },\n\t\tuserRolesAppShell: { default: [] },\n\t},\n\tproperties: {\n\t\tcanvasSession: { default: {} },\n\t},\n\tactionHandlers: actionHandlers,\n};\n","/**\n * Factory function for logging.\n */\nconst LOG_STATUS_KEY = '__RECORD_LIST_LOG_LEVEL';\n\nconst LOG_LEVEL = {\n\tLOG_LEVEL_ALL: 0,\n\tLOG_LEVEL_DEBUG: 1,\n\tLOG_LEVEL_LOG: 2,\n\tLOG_LEVEL_INFO: 2,\n\tLOG_LEVEL_WARN: 3,\n\tLOG_LEVEL_ERROR: 4,\n};\nconst {\n\tLOG_LEVEL_ALL,\n\tLOG_LEVEL_DEBUG,\n\tLOG_LEVEL_LOG,\n\tLOG_LEVEL_INFO,\n\tLOG_LEVEL_WARN,\n\tLOG_LEVEL_ERROR,\n} = LOG_LEVEL;\n\nexport const Logger = () => {\n\t// set default logging level\n\tif (typeof window[LOG_STATUS_KEY] === 'undefined') {\n\t\twindow[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n\t}\n\n\t/**\n\t * Simple logging utilty to include context\n\t * @usage Logger().enable();\n\t *\n\t * @param logLevel\n\t */\n\tconst enable = (logLevel = LOG_LEVEL_ALL) => {\n\t\tswitch (logLevel) {\n\t\t\tdefault:\n\t\t\t\tlogLevel = LOG_LEVEL_ERROR;\n\t\t\t// falls through\n\t\t\tcase LOG_LEVEL_ALL:\n\t\t\tcase LOG_LEVEL_DEBUG:\n\t\t\tcase LOG_LEVEL_LOG:\n\t\t\tcase LOG_LEVEL_INFO:\n\t\t\tcase LOG_LEVEL_WARN:\n\t\t\tcase LOG_LEVEL_ERROR:\n\t\t\t\twindow[LOG_STATUS_KEY] = logLevel;\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\t/**\n\t * @usage Logger().disable();\n\t */\n\tconst disable = () => {\n\t\twindow[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n\t};\n\n\t/**\n\t * @usage const LOG = Logger().createLog('ComponentName');\n\t *\n\t * @param name\n\t * @return {{log, debug, warn, error}}\n\t */\n\tconst createLog = (name) => {\n\t\tconst _log = (type, level, args) => {\n\t\t\tif (level < window[LOG_STATUS_KEY]) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\targs = Array.prototype.splice.call(args, 0);\n\t\t\targs.unshift(`(${name})`);\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole[type].apply(console, args);\n\t\t};\n\n\t\treturn {\n\t\t\tdebug: function () {\n\t\t\t\t_log('debug', LOG_LEVEL_DEBUG, arguments);\n\t\t\t},\n\t\t\tlog: function () {\n\t\t\t\t_log('log', LOG_LEVEL_LOG, arguments);\n\t\t\t},\n\t\t\tinfo: function () {\n\t\t\t\t_log('info', LOG_LEVEL_INFO, arguments);\n\t\t\t},\n\t\t\twarn: function () {\n\t\t\t\t_log('warn', LOG_LEVEL_WARN, arguments);\n\t\t\t},\n\t\t\terror: function () {\n\t\t\t\t_log('error', LOG_LEVEL_ERROR, arguments);\n\t\t\t},\n\t\t};\n\t};\n\n\treturn { enable, disable, createLog };\n};\n","export const INTERSECTION_OBSERVER_NAME = 'intersectionObserverBehavior';\n\nexport const OBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#OBSERVE_ELEMENT';\nexport const UNOBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#UNOBSERVE_ELEMENT';\nexport const REGISTER_INTERSECTION_OBSERVER = 'INTERSECTION_BEHAVIOR#REGISTER';\nexport const UNREGISTER_INTERSECTION_OBSERVER =\n\t'INTERSECTION_OBSERVER#UNREGISTER';\n\n/**\n * HOOK NAMES\n */\nexport const HOOK_INSERT = 'hook-insert';\nexport const HOOK_DESTROY = 'hook-destroy';\nexport const HOOK_INIT = 'hook-init';\n/**\n * PATHS\n */\n\n/**\n * Path of options in action payload\n */\nexport const PAYLOAD_OPTIONS_PATH = 'payload.options';\n\n/**\n * Path of intersectionObserver object in state\n */\nexport const INTERSECTION_OBSERVER_STATE_PATH = `behaviors.${INTERSECTION_OBSERVER_NAME}.intersectionObserver`;\n\n/**\n * NOW MODES\n */\nexport const NOW_MODE_ACTIVE = 'active';\nexport const NOW_MODE_SUSPEND = 'suspend';\nexport const NOW_MODE_DETACH = 'detach';\n\n/**\n * DEFAULTS\n */\nexport const DEFAULT_ROOT_SELECTOR = '[data-id=scrollContainer]';\nexport const DEFAULT_ROOT_MARGIN = '100px 100px 100px 100px';\nexport const DEFAULT_THRESHOLD = 1.0;\nexport const DEFAULT_DEBOUNCE_DELAY = 50;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].get;\n\t\t\t\t}, [\"getOr\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'getOr' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].getOr;\n\t\t\t\t\t} else if ('getOr' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.getOr || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].getOr;\n\t\t\t\t} });","import { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_DEBOUNCE_DELAY,\n\tDEFAULT_ROOT_MARGIN,\n\tDEFAULT_ROOT_SELECTOR,\n\tDEFAULT_THRESHOLD,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tPAYLOAD_OPTIONS_PATH,\n} from './constants';\n/**\n * Selectors\n */\n\n/**\n * This selector function returns the intersection observer object stored in state\n * @param {object} state\n * @returns {object} IntersectionObserver that was initialized\n */\nexport const getIntersectionObserver = fpGet(INTERSECTION_OBSERVER_STATE_PATH);\n\n/**\n * This selector function returns the options object that were passed in on behavior initialization\n * @param {object} action\n * @returns {object}\n */\nexport const getOptions = fpGet(PAYLOAD_OPTIONS_PATH);\n\n/**\n * This selector function returns the selector string to use to get the root element that the\n * intersection observer should be applied to. For more info on intersection observer options,\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootElementSelector = getOr(\n\tDEFAULT_ROOT_SELECTOR,\n\t`${PAYLOAD_OPTIONS_PATH}.rootElementSelector`\n);\n/**\n * This selector function returns the root margin that the\n * intersection observer should be applied to. For more info on intersectionObserver options\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootMargin = getOr(\n\tDEFAULT_ROOT_MARGIN,\n\t`${PAYLOAD_OPTIONS_PATH}.rootMargin`\n);\n\n/**\n * This selector function returns the threshold to use for the intersection observer. For more info\n * on intersection observer options, please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {number}\n */\nexport const getThreshold = getOr(\n\tDEFAULT_THRESHOLD,\n\t`${PAYLOAD_OPTIONS_PATH}.threshold`\n);\n\n/**\n * This selector function returns the debounce value in milliseconds to use when collating observe and unobserve actions\n * @param {object} action\n * @returns {string}\n */\nexport const getDebounceDelay = getOr(DEFAULT_DEBOUNCE_DELAY, `debounceDelay`);\n\n/**\n * This selector function returns a boolean whether to toggle defer attribute on to the component, or toggle component modes.\n * @param {object} action\n * @returns {string}\n */\nexport const getUseDefer = getOr(false, `${PAYLOAD_OPTIONS_PATH}.useDefer`);\n\n/**\n * This selector function returns the element configuration in options.elementIdentifier. The id is associated with the OBSERVE_ELEMENT\n * action dispatch and is used to retrieve element configuration which includes intersect and initial styles.\n * @param {string} id\n * @param {object} action\n * @returns {object} element configuration\n */\nexport const getElementConfig = (id) =>\n\tfpGet(`${PAYLOAD_OPTIONS_PATH}.elementIdentifier[${id}]`);\n\n/**\n * This selector function returns a boolean that determines if the component mode should be set to suspend\n * when the element is no longer intersecting and the component mode is active. Will return true by default if should\n * suspend is not found\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldSuspend = getOr(\n\ttrue,\n\t`${PAYLOAD_OPTIONS_PATH}.shouldSuspend`\n);\n\n/**\n * This selector function returns a boolean that determines if the element should no longer be observed once intersected for the first time\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldUnobserveElement = getOr(\n\tfalse,\n\t`${PAYLOAD_OPTIONS_PATH}.unobserveOnIntersect`\n);\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { Logger } from '../../utils/logger';\n\nimport {\n\tHOOK_DESTROY,\n\tHOOK_INIT,\n\tHOOK_INSERT,\n\tINTERSECTION_OBSERVER_NAME,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tNOW_MODE_ACTIVE,\n\tNOW_MODE_DETACH,\n\tNOW_MODE_SUSPEND,\n\tOBSERVE_ELEMENT,\n\tREGISTER_INTERSECTION_OBSERVER,\n\tUNOBSERVE_ELEMENT,\n\tUNREGISTER_INTERSECTION_OBSERVER,\n} from './constants';\nimport {\n\tgetDebounceDelay,\n\tgetElementConfig,\n\tgetIntersectionObserver,\n\tgetRootElementSelector,\n\tgetRootMargin,\n\tgetShouldSuspend,\n\tgetShouldUnobserveElement,\n\tgetThreshold,\n\tgetUseDefer,\n} from './selectors';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst LOG = Logger().createLog(INTERSECTION_OBSERVER_NAME);\n\n/**\n * Helper function to create element hooks that will be used to observe/unobserve elements\n * @param {*} dispatch\n * @param {string} id Id that corresponds to elementIdentifier config in options\n * @param {boolean} useDefer boolean to determine if component mode should be set or defer tag should be used\n * @returns\n */\nexport const createElementObservationProps = (\n\tdispatch,\n\tid,\n\tuseDefer = false\n) => ({\n\t...(useDefer && { defer: true }),\n\t...(!useDefer && { nowMode: NOW_MODE_DETACH }),\n\t/**\n\t * Hook that is used to observe element. Should only be used on component elements.\n\t * Will set component mode to detach and dispatch to observe element in intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INSERT]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tif (useDefer) {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.defer = false;\n\t\t\t};\n\t\t} else {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.nowMode = NOW_MODE_ACTIVE;\n\t\t\t};\n\t\t}\n\n\t\tdispatch(OBSERVE_ELEMENT, { vnode, id });\n\t},\n\n\t/**\n\t * Hook that is used to unobserve element. Will dispatch to behavior when element is removed.\n\t * @param {*} vnode\n\t */\n\t[HOOK_DESTROY]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tdispatch(UNOBSERVE_ELEMENT, { vnode });\n\t},\n});\n\n/**\n * Helper function to create element hooks that will be used to register root element and set up and tear down intersection observer\n * @param {*} dispatch\n * @returns {object}\n */\nexport const createRootElementHooks = (dispatch) => ({\n\t/**\n\t * Init hook that will dispatch register action for root element and setup intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INIT]: (vnode) => {\n\t\tdispatch(REGISTER_INTERSECTION_OBSERVER, { vnode });\n\t},\n\n\t/**\n\t * Remove hook that will dispatch action to tear down intersection observer and remove from state\n\t */\n\t[HOOK_DESTROY]: () => {\n\t\tdispatch(UNREGISTER_INTERSECTION_OBSERVER);\n\t},\n});\n\n/**\n * This wrapper will return the callback to be used in the intersection observer\n * @param {boolean} shouldSuspend\n * @param {boolean} shouldUnobserveElement\n * @param {boolean} useDefer\n * @returns {*} callback function\n */\nexport const intersectionCallBack = (\n\tshouldSuspend,\n\tshouldUnobserveElement,\n\tuseDefer\n) =>\n\t/**\n\t * This callback function will get called when observed elements intersect the root element defined in the IntersectionObserver\n\t * setup. Using options that are passed into the component, this function will set the appropriate styles and component modes\n\t * @param {Array<object>} entry\n\t * @param {*} observer\n\t */\n\t(entries, observer) =>\n\t\tentries.forEach((entry) => {\n\t\t\tconst { isIntersecting, target: element } = entry;\n\t\t\tconst unDefer = useDefer && element.defer;\n\n\t\t\tif (\n\t\t\t\tisIntersecting &&\n\t\t\t\t(element.nowMode !== NOW_MODE_ACTIVE || unDefer)\n\t\t\t) {\n\t\t\t\tconst intersectClass = element.dataset.intersectClass;\n\t\t\t\tconst initialClass = element.dataset.initialClass;\n\n\t\t\t\tif (initialClass && element.classList.contains(initialClass))\n\t\t\t\t\telement.classList.remove(initialClass);\n\n\t\t\t\tif (\n\t\t\t\t\tintersectClass &&\n\t\t\t\t\t!element.classList.contains(intersectClass)\n\t\t\t\t)\n\t\t\t\t\telement.classList.add(intersectClass);\n\n\t\t\t\tif (unDefer) {\n\t\t\t\t\telement.defer = false;\n\t\t\t\t} else {\n\t\t\t\t\telement.nowMode = NOW_MODE_ACTIVE;\n\t\t\t\t}\n\n\t\t\t\tif (shouldUnobserveElement) observer.unobserve(element);\n\t\t\t} else if (\n\t\t\t\telement.nowMode == NOW_MODE_ACTIVE &&\n\t\t\t\tshouldSuspend &&\n\t\t\t\t!useDefer\n\t\t\t) {\n\t\t\t\telement.nowMode = NOW_MODE_SUSPEND;\n\t\t\t}\n\t\t});\n\n/**\n * This effect is used to set up the IntersectionObserver with the defined options. This can be set up either on component dom ready\n * or opt in via dispatching of REGISTER_INTERSECTION_OBSERVER action with element. If rootElement is found either via selector or\n * payload, an IntersectionObserver instance will be created and stored in state.\n * @param {*} coeffects\n * @returns\n */\nexport const setupIntersectionObserverEffect = (coeffects) => {\n\tconst { updateState, host, action } = coeffects;\n\tconst {\n\t\tpayload: { vnode },\n\t} = action;\n\n\tconst rootElementSelector = getRootElementSelector(action);\n\tconst rootElementWithSelector = host.shadowRoot.querySelector(\n\t\trootElementSelector\n\t);\n\tconst rootElement = rootElementWithSelector || vnode?.elm;\n\n\tif (!rootElement) {\n\t\tLOG.warn(\n\t\t\t'Could not find root element. Skipping intersection observer setup'\n\t\t);\n\t\treturn;\n\t}\n\n\tconst shouldSuspend = getShouldSuspend(action);\n\tconst shouldUnobserveElement = getShouldUnobserveElement(action);\n\tconst useDefer = getUseDefer(action);\n\n\tconst intersectionObserver = new IntersectionObserver(\n\t\tintersectionCallBack(shouldSuspend, shouldUnobserveElement, useDefer),\n\t\t{\n\t\t\troot: rootElement,\n\t\t\trootMargin: getRootMargin(action),\n\t\t\tthreshold: getThreshold(action),\n\t\t}\n\t);\n\n\tLOG.log('Intersection Observer successfully created');\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\toperation: 'set',\n\t\tvalue: intersectionObserver,\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect is used to disconnect the intersection observer (stop observing all elements) and remove the instnace from state.\n * This will be called on disconnect or opt in if the element is removed. Use hooks defined above on root element to handle element removal\n * @param {*} coeffects\n */\nexport const unregisterIntersectionObserverEffect = (coeffects) => {\n\tconst { state, updateState } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tif (intersectionObserver) {\n\t\tintersectionObserver.disconnect();\n\t}\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\tvalue: undefined,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect handles observing of elements. By default this effect will be collated and debounced so as to handle all\n * observation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * add the element to be observed and apply the initial styles defined in the elementIdentifier options passed in. If no styles\n * are found, element will still be observed with no changes to styles.\n * @param {*} coeffects\n * @returns\n */\nexport const observeElementEffect = (coeffects) => {\n\tconst { collated, state } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\tif (!intersectionObserver) {\n\t\tLOG.warn(\n\t\t\t'No intersection observer in state, ignoring element observe requests'\n\t\t);\n\t\treturn;\n\t}\n\n\tcollated.forEach((collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode, id },\n\t\t\t},\n\t\t\taction,\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tLOG.warn('Skipping node for observation');\n\t\t\treturn;\n\t\t}\n\n\t\tconst { elm: element } = vnode;\n\n\t\tconst elementConfig = getElementConfig(id)(action);\n\n\t\tif (elementConfig) {\n\t\t\tconst { initialClass, intersectClass } = elementConfig;\n\t\t\telement.dataset.initialClass = initialClass || '';\n\t\t\telement.dataset.intersectClass = intersectClass || '';\n\n\t\t\tif (initialClass && !element.classList.contains(initialClass)) {\n\t\t\t\telement.classList.add(initialClass);\n\t\t\t}\n\t\t}\n\n\t\tintersectionObserver.observe(vnode.elm);\n\t});\n};\n\n/**\n * This effect handles unobserving of elements. By default this effect will be collated and debounced so as to handle all\n * unobservation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * call unobserve on the element. This is used in cases where the element is removed from the dom and we no longer want to observe\n * the element\n * @param {*} coeffects\n */\nexport const unobserveElementEffect = (coeffects) => {\n\tconst { state, collated } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tcollated.forEach((collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode },\n\t\t\t},\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tLOG.warn('Skipping node for unobservation');\n\t\t\treturn;\n\t\t}\n\n\t\tintersectionObserver.unobserve(vnode.elm);\n\t});\n};\n\n/**\n * This helper function creates the action handlers for the component with the specified delay in options (for observation effects)\n * @param {number} delay\n * @returns\n */\nexport const createIntersectionObserverBehaviorActionHandlers = (delay) => ({\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t},\n\t[REGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t},\n\t[UNREGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[OBSERVE_ELEMENT]: {\n\t\teffect: observeElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n\t[UNOBSERVE_ELEMENT]: {\n\t\teffect: unobserveElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n});\n\n/**\n * Helper function used to create behavior object with options passed in.\n * @param {object} options\n * @returns {object} behavior definition\n */\nexport const createIntersectionObserver = (options) => {\n\treturn {\n\t\tbehavior: {\n\t\t\tname: INTERSECTION_OBSERVER_NAME,\n\t\t\tactionHandlers: createIntersectionObserverBehaviorActionHandlers(\n\t\t\t\tgetDebounceDelay(options)\n\t\t\t),\n\t\t},\n\t\toptions,\n\t};\n};\n","import flatten from 'lodash/flatten';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Logger } from './logger';\n\n// -----------------------------------------------------------------------------\n// Constants\n// -----------------------------------------------------------------------------\n\n// Selectors to get common tabbable elements.\nexport const selector = [\n\t'input',\n\t'select',\n\t'textarea',\n\t'a[href]',\n\t'a[target=\"_blank\"]',\n\t'button',\n\t'[tabindex]',\n\t'audio[controls]',\n\t'video[controls]',\n\t'[component-id]',\n\t'[contenteditable]:not([contenteditable=\"false\"])',\n\t'now-table-checkbox',\n].join();\n\n// -----------------------------------------------------------------------------\n// Shadow Dom Focus Utilities\n// -----------------------------------------------------------------------------\n\n/**\n * Finds the first tabbable element in an element or component.\n * @param  {Node} root root node\n * @return {Node} first tabbable element inside a root\n */\nexport const findFirstTabbableElement = (root = document) => {\n\treturn findTabbableElement(true, root);\n};\n\n/**\n * Finds the last tabbable element in an element or component.\n * @param  {Node} root root node\n * @return {Node} last tabbable element inside a root\n */\nexport const findLastTabbableElement = (root = document) => {\n\treturn findTabbableElement(false, root);\n};\n\n/**\n * Finds the first or last tabbable element in an element or component.\n * @param  {Boolean} findFirst flag to return first or last tabbable element\n * @param  {Node} root root node\n * @return {Node} first or last tabbable element inside a root\n */\nexport const findTabbableElement = (findFirst = true, root = document) => {\n\tif (!root) return false;\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\n\tlet tabbies = [...root.querySelectorAll(selector)];\n\tif (!findFirst) tabbies = tabbies.reverse();\n\n\tlet index = 0;\n\tlet result = undefined;\n\n\t// TODO: Maybe change code style here\n\twhile (!result && index < tabbies.length) {\n\t\tconst tabby = tabbies[index++];\n\t\tconst possibleResult = tabby.shadowRoot\n\t\t\t? findTabbableElement(findFirst, tabby.shadowRoot)\n\t\t\t: tabby;\n\t\tif (possibleResult && isTabbable(possibleResult))\n\t\t\tresult = possibleResult;\n\t}\n\treturn result;\n};\n\n/**\n * Determines if an element is tabbable based on criteria that can't be done\n * @param  {Node} node node\n * @return {Boolean} returns true if input node is tabbable\n */\nexport const isTabbable = (node) => {\n\tif (\n\t\t!node ||\n\t\tnode.disabled ||\n\t\tnode.offsetParent === null ||\n\t\tgetComputedStyle(node).visibility === 'hidden' ||\n\t\t(node.tagName === 'INPUT' && node.type === 'hidden') ||\n\t\tgetTabIndex(node) === -1\n\t)\n\t\treturn false;\n\n\treturn true;\n};\n\n/**\n * Gets the numeric tab index of an element.\n * @param  {Node} node node\n * @return {Number} returns the numeric tab index of an element.\n */\nexport const getTabIndex = (node) => {\n\tconst tabIndex = parseInt(node.getAttribute('tabindex'), 10);\n\tif (!isNaN(tabIndex)) return tabIndex;\n\treturn node.contentEditable === 'true' ? 0 : node.tabIndex;\n};\n\n/**\n * Finds all the tabbable elements in an element or component.\n * @param  {Node} root root node\n * @return {Array<Node>} returns the array of all tabbable elements\n */\nexport const findAllTabbableElements = (root = document) => {\n\tif (!root) return [];\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\tconst tabbies = root.querySelectorAll(selector);\n\tlet expandedTabbies = [];\n\ttabbies.forEach((tabby) => {\n\t\tif (!tabby.shadowRoot && isTabbable(tabby)) {\n\t\t\texpandedTabbies.push(tabby);\n\t\t} else {\n\t\t\texpandedTabbies.push(findAllTabbableElements(tabby));\n\t\t}\n\t});\n\treturn flatten(expandedTabbies);\n};\n\n/**\n *  Finds all elements across shadow roots\n * @param  {Node} root root node\n * @param  {String} selector selector\n * @return {Array<Node>} returns the array of all elements across shadow roots\n */\nexport const shadowQuerySelectorAll = (root = document, selector) => {\n\tif (!selector) return [];\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\tconst nodes = root.querySelectorAll(selector);\n\tlet expandedNodes = [];\n\tnodes.forEach((node) => {\n\t\tif (!node.shadowRoot) {\n\t\t\texpandedNodes.push(node);\n\t\t} else {\n\t\t\texpandedNodes.push(shadowQuerySelectorAll(node, selector));\n\t\t}\n\t});\n\treturn flatten(expandedNodes);\n};\n\n/**\n * Finds the active element of the page.\n * @param  {Node} root root node\n * @return {Node} returns the active element on the page\n */\nexport const findActiveElement = (root = document) => {\n\tconst activeElement = root.activeElement;\n\tif (activeElement && activeElement.shadowRoot) {\n\t\treturn findActiveElement(activeElement.shadowRoot) || activeElement;\n\t}\n\treturn activeElement;\n};\n\n/**\n * Determines if an element is or contains the active element.\n * @param  {Node} node node\n * @param  {Node} root root node\n * @return {Boolean} returns true if element contains active element\n */\nexport const elementHasActiveElement = (node, root = document) => {\n\t/* WARNING: Possible issue in IE11, appears to give false positives at times.\n\t * As of now-record-list@8.0.21 this function is not in active use, and the\n\t * only function that might call it (focusWithinClassManager) will not get to\n\t * call it as currently used (see GridHeaderRowCell and GridRowCell).\n\t */\n\n\tconst activeElement = root.activeElement;\n\tif (!activeElement) return false;\n\n\tif (node == activeElement || node.contains(activeElement)) return true;\n\n\tif (activeElement.shadowRoot)\n\t\treturn elementHasActiveElement(node, activeElement.shadowRoot);\n\n\treturn false;\n};\n\n/**\n * Adds a CSS class to the container element if either focusIsWithin is true\n * or focusIsWithin is undefined and elementHasActiveElement returns true.\n * Removes that CSS class if focusIsWithin is false or focusIsWithin is\n * undefined and elementHasActiveElement returns false.\n * @param  {Node} container node\n * @param  {String} className class name\n * @param  {Boolean} focusIsWithin\n * @return {Boolean}\n */\nexport const focusWithinClassManager = (\n\tcontainer,\n\tclassName,\n\tfocusIsWithin\n) => {\n\tif (!container || !className) return false;\n\n\tconst addClass = isBoolean(focusIsWithin)\n\t\t? focusIsWithin\n\t\t: elementHasActiveElement(container);\n\n\tif (addClass) container.classList.add(className);\n\telse container.classList.remove(className);\n\n\treturn true;\n};\n\n// -----------------------------------------------------------------------------\n// Element Retainer: Remembers elements for manipulation\n// -----------------------------------------------------------------------------\n\nconst elementRetainer = new Map();\n\n/**\n * Sets an element to later return focus to. Returns true on successfully\n * setting the element. Returns false if no active element is given/found,\n * or if the attempt to set fails.\n * @param  {String} key\n * @param  {Node} node node\n * @return {Boolean} Returns true on successfully setting the element.\n */\nexport const addRetainedElement = (key, node = findActiveElement()) => {\n\tif (!node) return false;\n\treturn elementRetainer.set(key, node);\n};\n\n/**\n *  Focuses on a previously stored element and removes it from storage.\n *  Returns true on successfully focusing on the element and deleting the\n *  entry. Returns false if no element was found or deletion failed.\n * @param  {String} key\n * @return {Boolean} Returns true on successfully focusing on the element and deleting the entry.\n */\nexport const removeRetainedElement = (key) => {\n\treturn elementRetainer.delete(key);\n};\n\n/**\n * Removes the previously stored element without focusing on it.\n * Sets the current active element as the new stored element. Returns the\n * result of addRetainedElement.\n * @param  {String} key\n * @param  {Node} node\n * @return {Boolean} Returns the result of addRetainedElement.\n */\nexport const updateRetainedElement = (key, node = findActiveElement()) => {\n\tremoveRetainedElement(key);\n\treturn addRetainedElement(key, node);\n};\n\n/**\n * Focuses on a previously stored element and removes it from storage.\n * Returns true on successfully focusing on the element and deleting the\n * entry. Returns false if no element was found or deletion failed.\n * @param  {String} key\n * @return {Boolean} Returns true on successfully focusing on the element and deleting the entry\n */\nexport const getAndClearRetainedFocus = (key) => {\n\tconst focusThis = elementRetainer.get(key);\n\tif (!focusThis) return false;\n\tfocusThis.focus();\n\treturn elementRetainer.delete(key);\n};\n\n/**\n * Resets scroll on a previously stored element.\n * Can scroll to top or to the bottom, based on scrollToBottom\n * Returns true on successfully finding scroll on the element\n * Returns false if no element was found.\n * @param {String} key\n * @param {Boolean} scrollToBottom Scrolls to bottom if truthy, scrolls to top otherwise\n * @return {Boolean} Returns true on successfully finding scroll on the element\n */\nexport const getAndResetRetainedScroll = (key, scrollToBottom) => {\n\tconst element = elementRetainer.get(key);\n\treturn resetScroll(element, scrollToBottom);\n};\n\nexport const resetScroll = (element, scrollToBottom) => {\n\tif (!element) return false;\n\n\tif (scrollToBottom) {\n\t\telement.scrollTop = element.firstChild.scrollHeight;\n\t\telement.scrollLeft = 0;\n\t\treturn true;\n\t} else {\n\t\telement.scrollTop = 0;\n\t\telement.scrollLeft = 0;\n\t\treturn true;\n\t}\n};\n\n// -----------------------------------------------------------------------------\n// Focus Trap: Keeps the user from tabbing out of an element.\n// -----------------------------------------------------------------------------\n\nconst focusTrap = new Map();\n\nconst defaultConfig = {\n\tclickOutsideDeactivates: false, // for future\n\tmoveFocusInsideTrap: true,\n\tfirstElement: null,\n\tlastElement: null,\n};\n\n/**\n * Initalizes a simple focus trap. Returns true on successful initialization\n * of the trap. Returns false if no tabbable elements are found in node or\n * storing the entry fails. Deactivates an existing focus trap if one already\n * exists for the given id. Moves focus to the first tabby by default. Sets\n * keydown event listeners on the first and last tabbies. When tab is pressed\n * on the first Tabby element, it moves focus to the last Tabby element. When\n * shift tab is pressed on the last it focuses the first.\n * The config object can be given the elements to set as the first and last\n * tabbies.\n * @param {String} id\n * @param {Node} node\n * @param {Object} config\n * @return {Boolean} Returns true on successful initialization of the trap\n */\nexport const activateFocusTrap = (id, node, config = {}) => {\n\tdeactivateFocusTrap(id);\n\tconfig = { ...defaultConfig, ...config };\n\tconst {\n\t\tforceFocusFirstTabby = false,\n\t\tmoveFocusInsideTrap,\n\t\tfirstElement,\n\t\tlastElement,\n\t} = config;\n\tconst LOG = Logger().createLog('focusUtility');\n\tconst firstTabby = firstElement || findFirstTabbableElement(node);\n\tconst lastTabby = lastElement || findLastTabbableElement(node);\n\n\tif (!firstTabby) {\n\t\tLOG.warn(\n\t\t\t'activateFocusTrap canceled: No tabbable elements found within the element.'\n\t\t);\n\t\treturn false;\n\t}\n\n\tif (\n\t\t(moveFocusInsideTrap && !elementHasActiveElement(node)) ||\n\t\tforceFocusFirstTabby\n\t) {\n\t\tfirstTabby.focus();\n\t}\n\n\tconst firstKeydown = (evt) => {\n\t\tconst { key, shiftKey } = evt;\n\t\tif (key === 'Tab' && shiftKey) {\n\t\t\tevt.preventDefault();\n\t\t\tlastTabby.focus();\n\t\t}\n\t};\n\n\tconst lastKeydown = (evt) => {\n\t\tconst { key, shiftKey } = evt;\n\t\tif (key === 'Tab' && !shiftKey) {\n\t\t\tevt.preventDefault();\n\t\t\tfirstTabby.focus();\n\t\t}\n\t};\n\n\tfirstTabby.addEventListener('keydown', firstKeydown);\n\tlastTabby.addEventListener('keydown', lastKeydown);\n\n\tconst tabbyTrapEntry = {\n\t\tconfig,\n\t\tnode,\n\t\tfirstTabby,\n\t\tlastTabby,\n\t\tfirstKeydown,\n\t\tlastKeydown,\n\t};\n\n\treturn focusTrap.set(id, tabbyTrapEntry);\n};\n\n/**\n * Removes event listeners from the tabbies and removes the entry from the\n * focus trap storage. Returns true on successful removal from storage.\n * Returns false if retrievall or removal from storage fails.\n * @param {String} id\n * @return {Boolean} Returns true on successful removal from storage.\n */\nexport const deactivateFocusTrap = (id) => {\n\tconst tabbyTrapEntry = focusTrap.get(id);\n\n\tif (isEmpty(tabbyTrapEntry)) return false;\n\n\tconst { lastKeydown, firstKeydown, firstTabby, lastTabby } = tabbyTrapEntry;\n\tfirstTabby.removeEventListener('keydown', firstKeydown);\n\tlastTabby.removeEventListener('keydown', lastKeydown);\n\n\treturn focusTrap.delete(id);\n};\n\n/**\n * If a focus trap exists for the given id, it reactivates it to update the\n * tabbies without moving focus. Returns true if activateFocusTrap succeeds.\n * Returns false if no entry is found for the given id or if\n * activateFocusTrap fails.\n * @param {String} id\n * @return {Boolean} Returns true if activateFocusTrap succeeds.\n */\nexport const updateFocusTrap = (id) => {\n\tconst tabbyTrapEntry = focusTrap.get(id);\n\tif (isEmpty(tabbyTrapEntry)) return false;\n\n\tconst { node, config = {} } = tabbyTrapEntry;\n\tif (isEmpty(node)) return false;\n\n\treturn activateFocusTrap(id, node, {\n\t\t...defaultConfig,\n\t\t...config,\n\t});\n};\n","import { createContext } from '@servicenow/ui-core';\n\n/**\n * Data from NRLMC made available to other components (NRLC) to access via context.\n **/\nexport const menuContext = createContext(\n\t'now-record-list-menu-connected-my-list-context',\n\t{\n\t\tdefault: {\n\t\t\tmyList: {},\n\t\t},\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\tmyList: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: ['myList'],\n\t\t},\n\t}\n);\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_list_commons=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":195,"column":0},"map":{"mappings":"qEACA;AAAA;AAAA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,I,iKCElF,MAAM,EAFEI,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bf,EAAoBgB,EAAED,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,6DAAkE,KACtG,MAAME,EAAYC,EAAuFC,SAAWD,EAAuFE,WAGpM,OAAIH,EACHC,EAAgG,QAAEG,6DAInGH,EAAuFG,8DAAgEH,EAAgG,SAAKA,EAAgG,QAAEG,8DACnW,sEAA2E,KAC7E,MAAMJ,EAAYC,EAAuFC,SAAWD,EAAuFE,WAGpM,OAAIH,EACHC,EAAgG,QAAEI,sEAInGJ,EAAuFI,uEAAyEJ,EAAgG,SAAKA,EAAgG,QAAEI,yE","file":"externals/@devsnc/uxf-effects/28.0.0/index.min.js","names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","y","x","d","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","default","__esModule","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior","__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect"],"sources":["webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\""],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && '__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior;\n\t\t\t\t\t} else if ('__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior;\n\t\t\t\t}, [\"__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && '__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect;\n\t\t\t\t\t} else if ('__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect;\n\t\t\t\t} });"],"version":3}},{"offset":{"line":205,"column":0},"map":{"mappings":"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BrL,EAAgB,cAChBm2C,EAAa,OACb9hD,EAAM,KACN3V,EAAI,aACJke,EAAY,cACZ43B,EAAa,uBACbqhC,GACGzsD,GAEE,YAAE47D,GAAgB57D,EAElBjB,EAAcF,GAAe3G,GAE7BmoE,EAAiBthE,EAAY,GAC7BohE,EAAqBrhE,GAAmBC,GAG9C,OAAOA,EAAYz/B,KAAI,CAAC84B,EAAW7J,KAClC,MAAMvf,EAASmpB,GACdD,EACAE,GAGKhsB,EAAcktB,GACnBpB,EACAlpB,GAGK+X,EAAO0N,GAASxL,EAAKmP,GAoC3B,OAAOgoE,GAlCW,CACjBhvE,aACArK,OACA3a,cACA0hB,qBACA07D,uBACAx6E,SACAuf,cACA6J,YACAmE,aACAnV,MACAi5E,iBACAF,qBACAj3B,gBACA9H,aACAhrD,qBACAkqF,oBACA7sC,YACAquC,+BACAlG,cACA2E,wBACAt3E,MACA8J,aACAkP,qBACArL,mBACAzkB,WACA46D,gBACA9hD,SACA3V,OACAke,eACA43B,gBACAqhC,0BAGyBvtE,EAAS,GAClC,EAIU6iF,GAAiBA,CAAC/hE,EAAO9gB,EAAU8iF,EAAUC,KACzD,MAAM,YACLljE,EAAW,eACXshE,EAAc,mBACdF,EAAkB,WAClB+B,EAAU,eACVC,GACGH,GACE,WACL5wE,EAAU,mBACVtD,EAAkB,qBAClB07D,EAAoB,WACpBjtD,EAAU,IACVnV,EAAG,cACH8hD,EAAa,WACb9H,EAAU,mBACVhrD,EAAkB,kBAClBkqF,EACAj+E,MAAOlQ,EAAQ,UACfshD,EAAS,6BACTquC,EAA4B,sBAC5BvB,EAAqB,IACrBt3E,EAAG,WACH8J,EAAU,mBACVkP,EAAkB,iBAClBrL,EAAgB,cAChBm2C,EAAa,OACb9hD,EAAM,KACN3V,EAAI,aACJke,EAAY,cACZ43B,EAAa,yBACbrlC,EAAwB,uBACxB0mE,GACGzsD,GAEE,YAAE47D,GAAgB57D,EAElBoiE,EAAY,CACjBhxE,aACAtD,qBACA07D,uBACAjtD,aACAnV,MACAi5E,iBACAF,qBACAj3B,gBACA9H,aACAhrD,qBACAkqF,oBACA7sC,YAC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","file":"externals/@servicenow/now-list/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE","SHADE_ALTERNATE_ROWS_ON","SHADE_ALTERNATE_ROWS_OFF","SHADE_ALTERNATE_ROWS_ENUMS","USE_LINE_BREAKS_USER_PREFERENCE","WRAP_ON","WRAP_OFF","WRAP_CELL_CONTENT_ENUMS","ICON_SIZES","SMALL","MEDIUM","LARGE","ICON_NAMES","TRIANGLE_EXCLAMATION_OUTLINE","DRAG_DOTS_FILL","CHEVRON_END_FILL","ELLIPSIS_V_FILL","NEW_OUTLINE","MAGIC_OUTLINE","OPEN_LINK_OUTLINE","PENCIL_OUTLINE","CIRCLE_CHECK_OUTLINE","CIRCLE_CLOSE_OUTLINE","SORT_DESCENDING_FILL","SORT_ASCENDING_FILL","LIST_ICON_SET","name","size","SCROLL_CONTAINER_CLASS","ROW_DEFINITIONS_PROP","SHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY","COLUMN_FILTERING_USER_PREFERENCE_KEY","WRAP_CELL_CONTENT_USER_PREFERENCE_KEY","LIST_ICON_CACHE","USER_PREF_UPDATED","LAYOUT_OPTIONS","LIST","GALLERY","TABLE_DEFAULT_ICON_SIZE","require","ACTIONABLE_MESSAGE_ICON_SIZE","ACTIONABLE_MESSAGE_STATUS_CRITICAL","ACTIONABLE_MESSAGE_STATUS_HIGH","ACTIONABLE_MESSAGE_STATUS_MODERATE","ACTIONABLE_MESSAGE_STATUS_WARNING","ACTIONABLE_MESSAGE_STATUS_INFO","ACTIONABLE_MESSAGE_STATUS_POSITIVE","ACTIONABLE_MESSAGE_STATUS_LOW","ACTIONABLE_MESSAGE_BUTTON_CLASS","ACTIONABLE_MESSAGE_STATUS_DEFAULT","ACTIONABLE_MESSAGE_STATUS_ENUMS","ACTIONABLE_MESSAGE_ICONS_DICT","CURRENCY_DEFAULT","CURRENCY_LOCALE_DEFAULT","CURRENCY_VALUE_DEFAULT","DATE_TIME_FORMAT_DEFAULT","DEFAULT_DATE_FORMAT","DATE_EDITOR_VARIANT_SHORT","DATE_EDITOR_VARIANT_LONG","TIME_AGO_DISPLAY_NONE","TIME_AGO_DISPLAY_UNDER_MAIN_VALUE","TIME_AGO_DISPLAY_AS_MAIN_VALUE","TIME_AGO_DISPLAY_ENUMS","SECONDS_FORMAT","SECONDS_FORMAT_WITH_DOTS","DATE_TIME_AGO_FORMAT","SHORT_DATE_TIME_FORMAT","ICON_CELL_ICON_SIZE","ICON_CELL_COLOR_DEFAULT","ICON_CELL_COLOR_CRITICAL","ICON_CELL_COLOR_HIGH","ICON_CELL_COLOR_MODERATE","ICON_CELL_COLOR_WARNING","ICON_CELL_COLOR_INFO","ICON_CELL_COLOR_POSITIVE","ICON_CELL_COLOR_LOW","ICON_CELL_COLORS_ENUMS","NUMBER_DEFAULT_VALUE","NUMBER_FORMAT_INTEGER","NUMBER_FORMAT_PERCENT","NUMBER_FORMAT_DECIMAL","NUMBER_FORMAT_LONG_INT","NUMBER_DEFAULT_LOCALE","NUMBER_SHOW_DELIMITER_DEFAULT","NUMBER_FORMAT_ENUMS","DECIMAL_PLACES_DEFAULT","URL_ICON_SIZE","URL_ICON","OPENS_IN_NEW_DEFAULT","OPENS_IN_CURRENT_TAB_TOOLTIP","t","OPENS_IN_NEW_TOOLTIP","WRAP_CELL_CONTENT_USER_PREFERENCE","ICON_SIZE_SMALL","ICON_SIZE_MEDIUM","PERSON_CELL_ICON_SIZE","NOW_LIST_CELL_PERSON_CLICKED","PERSON_DISPLAY_TYPE_AVATAR","PERSON_DISPLAY_TYPE_NAME","PERSON_DISPLAY_TYPE_BOTH","PERSON_DISPLAY_TYPE_ENUMS","PERSON_DISPLAY_TYPE_DEFAULT","DEFAULT_PILL_SIZE","MAX_PILL_LIMIT_DEFAULT","MAX_MAX_PILL_LIMIT","EMPTY_CELL_VALUE","MAX_CHARACTERS_DEFAULT","HIGHLIGHTED_VALUE","PRESERVE_WHITESPACE_SYS_PROP","SPECIAL_COLUMN_CELL","SPECIAL_COLUMN_CELL_CONTENT","DATA_COLUMN_CLASS","ROW_CELL_CLASS","CELL_CONTENT_CLASS","RECENTLY_UPDATED_ROWS_ICON_NAME","RECENTLY_UPDATED_ROWS_ICON_SIZE","TEXT_ALIGNMENT_DEFAULT","TEXT_ALIGNMENT_CENTER","TEXT_ALIGNMENT_INVERSE","TEXT_ALIGNMENT_ENUMS","ALIGNMENT_CLASS_PREFIX","RELATIVE_TO_TEXT_ALIGNMENT_START","RELATIVE_TO_TEXT_ALIGNMENT_END","RELATIVE_TO_TEXT_ALIGNMENT_ENUMS","COLUMN_TYPES_ENUMS","SPECIAL_TYPE_ACTIONS","SPECIAL_TYPE_SELECTION","TYPE_STRING","SPECIAL_TYPE_ROW_DRAG_HANDLE","SPECIAL_TYPE_GROUP_TOGGLE","SPECIAL_TYPE_GROUP_BADGE","SPECIAL_TYPE_PARENT_TOGGLE","SPECIAL_TYPE_PARENT_BADGE","numberTypeProperties","percentCompleteTypeProperties","dateTimeTypeProperties","urlTypeProperties","pillsTypeProperties","personTypeProperties","currencyTypeProperties","customTypeProperties","headerIconProperties","choiceTypeProperties","galleryConfigSchema","SORT_ENUMS","SORT_NONE","columnDefinitionsSchema","type","properties","columnHeaderTextTooltip","default","columnFilteringInfo","columnFilterCustomValueEditorEmittedActions","items","columns","_extends","key","pattern","enum","label","alignment","headerCellAlignment","headerTextDisabled","renderAsLink","cellEditingDisabled","width","maxCharacters","sortDirection","firstDayOfWeek","icons","startIcons","maxItems","endIcons","columnFilterConfig","customTopText","operators","requiresValue","selectedOperator","value","valueEditorCustomComponentTag","valueEditorCustomComponentDefaultProps","patternProperties","oneOf","children","columnHeaderActions","action","required","cellActions","metadata","galleryConfig","TYPE_BOOLEAN","TYPE_CHOICE","TYPE_CURRENCY","TYPE_CUSTOM","TYPE_DATE_TIME","TYPE_ICON","TYPE_LINK","TYPE_NUMBER","TYPE_PERCENT_COMPLETE","TYPE_PERSON","TYPE_PILLS","TYPE_URL","TYPE_HTML","TYPE_IMAGE","numberFormat","decimalPlaces","locale","showDelimiter","thresholdColors","dateTimeFormat","timeZone","timeAgoDisplay","actionableLinkTypeProperties","disabled","opensInNew","maxPillLimit","maximum","pillsChoices","canEdit","choices","defaultChoiceKey","display","currency","componentTag","placeholderDimensions","height","cellContentDimensions","defaultComponentProps","color","fields","heading","column","options","tagline","bodyText","supplementaryFields","showLabel","fullWidth","enableOnlySingleSelection","galleryItemTooltip","SORT_ASCENDING","SORT_DESCENDING","OVERLAY_TYPE_MESSAGE","OVERLAY_DEFAULT_HEADING_LEVEL","OVERLAY_NO_ROWS_CONFIG","showColumnHeaders","messageConfig","illustration","level","OVERLAY_DUPLICATE_ROW_KEYS_CONFIG","OVERLAY_NO_COLS_CONFIG","OVERLAY_TYPE_LOADER","OVERLAY_TYPE_SKELETON_LOADER","OVERLAY_TYPE_CUSTOM","OVERLAY_TYPE_ENUMS","OVERLAY_TYPE_DEFAULT","OVERLAY_ILLUSTRATION_ENUMS","OVERLAY_LOADER_SIZES_ENUMS","OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT","OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS","OVERLAY_SKELETON_LOADER_NUM_ROWS","commonProperties","overlayDefinitionSchema","actions","icon","variant","tooltipContent","clickActionType","loaderConfig","skeletonLoaderConfig","numColumns","customConfig","customOverlayEmittedActions","DROPDOWN_ITEM_SCHEMA","sublabel","count","presence","DROPDOWN_SECTION_SCHEMA","popoverDefinitionSchema","target","columnRowIndex","columnCellIndex","rowIndex","cellIndex","config","positions","dismissOnScroll","disableScroll","dismissable","popoverType","text","buttons","ariaLabel","highlightedMessage","showIcon","buttonsConfig","showRetry","disableApply","hideAll","isLoading","ROW_ALIGNMENT_DEFAULT","ROW_ALIGNMENT_CENTER","ROW_ALIGNMENT_INVERSE","ROW_ALIGNMENT_ENUMS","POSITION_TABLE_START","POSITION_TABLE_END","POSITION_ENUMS","DEFAULT_ROW_ACTION_NUM_ICONS","DEFAULT_ROW_ACTION_ICON","ROW_TYPE_ENUMS","DEFAULT_ROW_SCHEMA","excludedActions","disableActions","selectionDisabled","isSelected","isAIModifiedOrCreated","cells","editingDisabled","imageSrc","highlightedValue","iconName","href","CUSTOM_ROW_SCHEMA","componentProps","contentAlignment","rowContentDimensions","ACTIONABLE_MESSAGE_SCHEMA","status","enums","rowDefinitionsSchema","position","numActionIcons","actionsItems","rows","groupedRowLabel","groupActions","groupRowHref","groupInfoMessage","isGroupExpanded","groupedRowCount","visualTreatment","isHighlighted","showUpdatedIcon","isGrayedOut","customCellEmittedActions","topActionableMessage","bottomActionableMessage","highlightedContent","ROW_TYPE_DEFAULT","ROW_TYPE_GROUPED","ROW_TYPE_CUSTOM","___CSS_LOADER_EXPORT___","result","__esModule","importRes","y","x","__webpack_require__","d","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","Object","assign","obj","defineProperty","enumerable","configurable","writable","bind","arguments","source","prototype","hasOwnProperty","call","apply","excluded","sourceKeys","keys","indexOf","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","n","getter","a","definition","o","get","prop","r","Symbol","toStringTag","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","dangerouslyCreateElementFromString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__","createUxfContractBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__","TOOLTIP_ADD_TARGET","TOOLTIP_HIDE","TOOLTIP_REMOVE_TARGET","TOOLTIP_SHOW","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","camelCase","cloneDeep","debounce","difference","endsWith","escape","filter","find","findIndex","findKey","flatten","has","includes","isArray","isEmpty","isEqual","isFunction","isNil","isObject","kebabCase","memoize","range","reduce","remove","round","set","slice","some","sortBy","throttle","truncate","union","unset","values","xor","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__","SnTimeAgo","errorLevelEnum","freeze","FATAL","ERROR","WARNING","INFO","constructor","_this","_defineProperty","console","msg","fatalMsg","_len","optionalParams","Array","_key","sink","error","err","_len2","_key2","_len3","_key3","warn","_len4","_key4","info","severity","_len5","_key5","fatal","warning","NOW_BUTTON_BARE_CLICKED","actionableMessageKey","actionHandlers","effect","coeffects","payload","location","dispatch","logger","stopPropagation","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__","activateFocusTrap","deactivateFocusTrap","findActiveElement","findTabbableElement","selector","shadowQuerySelectorAll","NOW_BUTTON_ICONIC_CLICKED","GROUP_ACTION_CLICKED","NOW_LIST_GROUP_TOGGLED","EXPAND_GROUP","EXPAND_ALL_GROUPS","KEYBOARD_NAV_BEHAVIOR_NAME","ALLOW_TABLE_FOCUS","ENTER_CELL_TRAP","EXIT_CELL_TRAP","REFRESH_CELL_TRAP","MOVE_FOCUS","POPOVER_CLOSED","RESET_BEHAVIOR","UPDATE_KEYBOARD_NAV","UPDATE_TABLE_REF","FOCUS_LIST","SEISMIC_HOIST","KEY","KEY_MAP","ROW_DEFINITIONS","COLUMN_DEFINITIONS","NOW_GRID_BULK_FOCUSED_IDS","EMPTY_BULK_FOCUS","colIndex","focusedIndicies","focusedKeys","previousKeys","initialIndex","querySelector","el","isDeepSelector","selectors","split","trim","selected","shadowRoot","getComponentPath","path","componentPath","currentNode","hasSeismicHoist","index","nodeName","sourceElement","assignedSlot","parentElement","getRootNode","host","getBulkFocusInfo","grid","focusedRow","focusedCell","rowClassList","cellClassList","isHeaderCell","isRowGroupedHeader","contains","isGroupToggleCell","isSpecialColumn","isValidCell","updateBulkStyles","newIndices","newCellIndex","firstNode","nearestTable","closest","removeBulkStyles","groupNumsSequentially","forEach","group","gridIndex","gridRow","classList","add","querySelectorAll","node","sort","b","lastSubArray","getBehaviorState","state","setBehaviorState","updateState","newState","entries","operation","shouldRender","getBehaviorOptions","getRowFromTableRef","tableRef","getCellFromTableRef","setNewCellFocus","_ref","_newFocus$node","selectedActiveElement","prevFocus","newFocus","directFocusSelectors","shouldFocus","virtualizedScrollEnabled","isSameNode","removeAttribute","tabbables","tabbableSelectors","newFocusNode","isFocusSelector","targetNode","tabIndex","focus","preventScroll","scrollIntoView","block","setNewRowFocus","_ref2","handlePointerCell","cell","pointer","pointerCellHandled","isRTL","document","dir","pointerDir","xA","yA","xB","yB","yDiff","xDiff","getRelativeDirection","maxRowIndex","maxCellIndex","rtlData","moveOne","moveAll","newRowFocus","rowSpan","newCellFocus","colSpan","focusCellNode","trappedCell","navRow","navCol","dataset","isNaN","parseInt","focusPopoverTarget","popoverTargetNode","className","toggleGroupedRow","row","ensureCellIntersection","scrollContainerSelector","cellRect","getBoundingClientRect","colHeaderNode","colHeaderRect","bottom","top","scrollContainer","scrollAmount","scrollTop","shouldTriggerRerenderDefaultFn","_action$payload","rerenderProperties","getKeys","propertyName","stack","pop","hasChildren","handleBulkFocusClick","focusedNode","bulkFocus","prevFocusedIndicies","prevColIndex","event","metaKey","shiftKey","Number","resetBulkFocus","keepLastFocus","bulkFocusValue","rowKey","setAttribute","isSameColumn","visited","stateUpdate","splice","minIndex","Math","min","maxIndex","max","Set","NOW_LIST_OPEN_POPOVER_INTERNAL","NOW_LIST_CLOSE_POPOVER_INTERNAL","NOW_LIST_POPOVER_CLOSED","NOW_POPOVER_OPENED_SET","BEHAVIOR_STATE_PATH","CHOICE_COLUMN_FILTER","ROW_DEFINITIONS_PATH","CELL_EDIT_POPOVER_TYPE","CELL_EDIT_POPOVER_NUMBER","NOW_INPUT_VALUE_SET","NOW_BUTTON_CLICKED","NOW_RADIO_BUTTONS_VALUE_SET","NOW_DATE_TIME_VALUE_SET","NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET","NOW_SELECT_SELECTED_ITEM_SET","NOW_INPUT_URL_VALUE_SET","NOW_HTML_VALUE_SET","CELL_EDIT_INTERNAL","NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED","NOW_LIST_POPOVER_BUTTON_CLICKED","popoverConfig","hideTail","openCellEditPopoverWithMessage","cellRef","context","message","popoverTarget","popoverDefinition","actionsContext","getRowsToUpdate","clonedRows","getClonedRows","rowsToUpdate","cellEditingEnabled","cellEditingManaged","_row$cells$context$co","selectedKeys","cellType","oldValue","personKey","newValue","managed","columnIndex","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__","getOr","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__","a11yPreferences","getSysPropContext","getUserPrefContext","COLUMN_FILTERING_ROW_CLASS","COLUMN_FILTERING_VALUE_INPUT_CLASS","COLUMN_FILTERING_VALUE_PLACEHOLDER","COLUMN_FILTERING_VALUE_ARIA_LABEL","COLUMN_FILTERING_VALUE_INPUT_NAME","COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME","COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME","COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME","SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION","REMOVE_COLUMN_FILTER_BUTTON","REMOVE_COLUMN_FILTER_ARIA_LABEL","DATE_TIME_APPLY_LABEL","DATE_TIME_APPLY_BUTTON_NAME","DATE_TIME_CANCEL_LABEL","DATE_TIME_CANCEL_BUTTON_NAME","IS_OPERATOR_ITEM","IS_NOT_OPERATOR_ITEM","CONTAINS_OPERATOR_ID","IS_EMPTY_OPERATOR_ITEM","IS_NOT_EMPTY_OPERATOR_ITEM","GENERIC_FILTER_OPERATORS","GENERIC_FILTER_DEFAULT_OPERATOR","NUMBER_FILTER_OPERATORS","BOOLEAN_FILTER_OPERATORS","DATE_TIME_FILTER_OPERATORS","getColumnResizingEnabled","featureFlags","getColumnDragDropEnabled","getColumnFilteringEnabled","getRowDragDropEnabled","getSelectionEnabled","getExpandAllGroups","getMaxCharacters","rowSelectors","getRows","rowDefinitions","getRow","getAllRowKeys","allRowKeys","_row$children","rowType","childRowKeys","childRow","getAllHighlightedRowKeys","allHighlightedRowKeys","_row$children2","isRowHighlighted","childHighlightedKeys","flatMap","hasRows","getTopActionableMessage","getBottomActionableMessage","hasTopActionableMessage","hasBottomActionableMessage","getActionableMessageStatus","actionableMessage","getActionableMessageIcon","getSelectionDisabledForParticularRow","getHighlightedContentPatterns","hasRowActionsWithItems","getRowActions","fpGet","getAreActionsDisabled","getRowActionsItems","getRowActionsItemsFromActions","rowActions","getRowActionsNumIcons","getRowActionsNumIconsFromActions","_get","getCustomCellEmittedActions","hasCustomCellEmittedActions","getRowActionsPosition","columnFilteringEnabled","_getInitialSelectedRowsReducer","selectedRows","currentRow","_currentRow$children","_currentRow$children2","_currentRow$children3","isSelectionDisabled","_currentRow$children4","getInitialSelectedRows","getRowKey","getRowType","isRowChecked","isRecentlyAddedOrUpdatedRow","isRowGrayedOut","getCells","getExcludedActions","rowExcludedActions","getExcludedActionsForRow","findCell","colKey","hasGroupedOrDefaultRowsWithChildren","hasGroupedRows","hasDefaultRowsWithChildren","hasGroupedRowCount","getGroupedOrDefaultRowsWithChildren","grouped","isGroupedRowOrDefaultRowWithChildren","getAllGroupKeys","getDefaultRowKeysRecursively","current","getAllGroupKeysRecursively","getKeysOfChildren","getAllKeysInOrder","getChildren","isDefaultRowWithChildren","isGroupedRow","isCustomRow","getGroupedRowLabel","getGroupedRowCount","getGroupedRowCountChar","getGroupActions","getGroupRowHref","_groupActions$","getGroupInfoMessage","getCustomRowComponentTag","getCustomRowComponentProps","getCustomRowContentDimensions","getCustomRowContentAlignment","getCustomRowPlaceholderDimensions","getShowRowControlsForCustomRow","getRowsOfCustomType","customRows","createStateOnBootstrapForExpandedChildren","rowGroupingState","parent","parentKey","isGroupExpandedForParent","expandedChildrenObject","element","isAIModifiedOrCreatedRow","_row$aiIndicatorInfo","_row$aiIndicatorInfo2","_row$aiIndicatorInfo3","aiIndicatorInfo","isAiCreatedRow","isAiModifiedRow","isAICreatedOrModifiedChildren","dateTimeFormatPrefKey","columnSelectors","getColumns","hasColumns","columnDefinitions","willHaveSpecialColumns","featureFlagSelectors","getSpecialColumnsCount","processedColumnDefinitions","getColumnFromProcessedCols","columnKey","columnMap","getColumnFilteringInfo","getHeaderTextTooltip","hasColumnFilterCustomValueEditorEmittedActions","getColumnFilterCustomValueEditorEmittedActions","getColumnHeaderActionsFromProcessedCols","getColumnKey","processedColumn","isReorderingPossibleOnColumn","getColumnLevel","isSpecialColumnKey","fpGetOr","getTotalColumnsAtLevel","col","_level","getDataColumnsOffsetPosition","allColumns","getCellActionsFromProcessedCols","getIcons","getColumnSortDirection","getFormattedColumnKey","replaceAll","getColumnLabel","columnLabel","code","getColumnType","getColumnAlignment","hasMaxCharacters","getWidth","getHeaderCellAlignment","fpHas","hasColumnHeaderActions","hasCellActions","getHeaderTextDisabled","getCellEditingDisabled","getColumnFilterCustomTopText","getOperators","operatorsFromProps","getSelectedOperator","getSelectedOperatorValue","operatorValue","getColumnFilterValue","getColumnFilterValueEditorCustomComponentTag","getColumnFilterValueEditorCustomComponentDefaultProps","getNumberFormat","getShowDelimiter","getDecimalPlaces","getNumberLocale","_window","_window$navigator","window","navigator","language","isValidLocale","Intl","NumberFormat","supportedLocalesOf","getNumberFormatter","maximumFractionDigits","getOperatorFromColumnFilterConfig","operator","getDateTimeFormat","getTimeZone","DateTimeFormat","resolvedOptions","getTimeAgoDisplay","contextApi","dateTimeFormatPrefValue","dateFormatUserPrefValues","JSON","parse","showTimeAgo","showDateAndTimeAgo","setShortDateFormat","dateObject","substring","presentYear","Date","getFullYear","replace","getFirstDayOfWeek","getOpensInNew","getDisabled","getDisplay","personDisplay","getMaxPillLimit","getPillsChoices","getChoices","choiceList","getDefaultChoiceKey","defaultFallBackKey","getChoiceLabelFromKey","defaultValue","choice","getCurrency","getCurrencyLocale","_window2","_window2$navigator","defaultLocale","getThresholdColors","getColumnColSpan","getColumnRowSpan","getColumnParentKey","isColumnActive","getColumnEdges","getFirstColumnEdge","columnEdges","columnEdge","getColumnComponentTag","hasColumnComponentTag","getColumnPlaceholderDimensions","getCellContentDimensions","getColumnDefaultComponentProperties","COMPONENT_PROPERTY_CHANGED","COMPONENT_BOOTSTRAPPED","COMPONENT_RENDER_REQUESTED","pathConstants","getColumnDepth","currentDepth","depth","childrenDepth","addOrUpdateSpecialColumns","clonedColumnDefinitions","props","parentToggleColumn","unshift","parentBadgeColumn","selectionColumn","rowActionsColumn","rowGroupBadgeColumn","groupedToggleColumn","rowDragDropColumn","getColumnInfo","maxDepth","columnLeafs","from","getColumnInfoHelper","getNewChildPath","addSpanFields","childrenColSpan","_rowspan","_colspan","_parentKey","processColumnDefinitions","columnKeys","pruneColumnDefinitionsHelper","columnsInCurrentLevel","nextLevelChildren","entry","clear","pruneColumnDefinitions","clonedColumns","updateColumns","columnDefinitionsBehavior","previousValue","expandAllGroups","rowDragDropEnabled","selectionEnabled","processedColumns","columnFeatureFlags","preventDefault","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__","v4","ACTION_PREFIX","NS_DEST_PLACEHOLDER","NS_ACTIVE_SORT_ITEM","NS_SOURCE_PLACEHOLDER","NS_DRAGGING_SOURCE","NS_SORT_CLONE","NS_DEFAULT_PLACEHOLDER","COMPONENT_ID","GET_RESOLVED_PROPERTIES","deepClone","clone","cloneNode","appendChild","fragment","createDocumentFragment","childNodes","cNode","_cloneShadow","querySelectorDeep","rootEl","body","matches","child","querySelectorAllDeep","nestedMatches","rootEleMatches","childMatches","shadowChildren","closestDeep","seismicClone","elem","elClone","seismicElems","isSeismicComponent","sElem","originalElem","elProperties","uuidv4","removeNode","removeChild","hasAttribute","getDOMRect","getRelativePosition","relativeToElem","elemRect","relativeRect","left","isConnected","LEFT","RIGHT","UP","DOWN","RIGHT_UP","RIGHT_DOWN","LEFT_DOWN","LEFT_UP","isDraggable","itemsFilter","getElement","param","Element","canScrollLeft","dScrollLeft","scrollWidth","scrollLeft","clientWidth","canScrollTop","dScrollTop","scrollHeight","clientHeight","handleAutoScroll","movingElem","xScrollParent","yScrollParent","dx","dy","followMouseForAutoScroll","rect","lockAxis","xScrollParentRect","yScrollParentRect","distanceRight","floor","right","distanceLeft","distanceBottom","distanceTop","horizontalScroll","verticalScroll","scrollRequired","hasVerticalScroll","scrollWithinXBounds","dScroll","__auto_scroll_x_bounds__","scrollBounds","newScroll","scrollWithinYBounds","__auto_scroll_y_bounds__","scrollX","scrollY","uuid","active","dataTransfer","sourceIndex","destinationIndex","sourceParent","destinationParent","transition","transitions","listOrder","targetElement","placeholders","src","dest","direction","MIN_CHANGE","horizontal","vertical","scroll","xElem","yElem","dropIndex","dropPosition","dropzone","extendedDropzone","newIndex","maxPositionableIndex","minPostionableIndex","cssFromStr","cssStr","style","s","isIntersecting","rectA","rectB","x1","x2","y1","y2","toRectangle","domRect","getOverlapArea","domRectA","domRectB","r1","r2","getRectOverlapArea","overlapRect","getOverlapRect","rect1","rect2","rectArea","abs","QUADRANTS","TL","TR","BR","BL","cloneDOMRect","getIntersectingItems","draggingEl","sortableEls","dragElRect","intersectingItems","intersectingArea","quadrants","isClientRectIntersecting","acc","quad","overlapArea","getQuadrantRect","quadrant","newRect","overlapping","removeDestPlaceholders","createPlaceholder","tagName","placeholder","minWidth","minHeight","insertPlaceholder","parentNode","insertBefore","nextSibling","canPutPlaceholder","previousSibling","isPositionBefore","referenceElement","order","elRect","refElRect","LIST_ORDER","DIRECTIONS","sortInteraction","sortable","Sortable","setMoveDirection","setDirectionStylesOnClone","classes","horizontalCls","verticalCls","cls","horizontalDragDirection","verticalDragDirection","getSortableItemsSelector","updateScrollParents","maxYScroll","getItemRect","relativeParent","cloneAppendTo","render_PixelChange","setValidYPosition","targetYPos","maxYPosition","transformClonePosition","cloneEl","elemsInCurrentDropzone","predictDestPlaceholder","extDropzone","srcPlaceholder","destPlaceholder","q","srcElIntersect","destElIntersect","dzIntersect","firstItemInDropzone","lastItemInDropzone","newNode","referenceNode","mostOverlappingItem","totalArea","total","topOverlap","bottomOverlap","leftOverlap","rightOverlap","render_PositionChange","destRect","insertPlaceholderAtIndex","itemsContainer","itemsSelector","sortableItems","lastItem","clonePosition","setClonePosition","isValidIndex","onStart","handle","getTargetElem","getValidRange","siblings","createAndInsertClone","customClone","cloneParent","cloningElemRect","cloneStyles","Error","customSourcePlaceholder","tagSourcePlaceholder","customDestPlaceholder","tagDestPlaceholder","destPlaceholderText","addSortableDestPlaceholderClass","shouldNotHideTargetElement","_oldDisplay","onSrcPlaceholderInsert","elemIndex","actionPrefix","onMove","render","onPositionChange","onEnd","success","resetTargetElemStyles","newDropPosition","newDropIndex","getDropPosition","getSourcePosition","getAttribute","oldPosition","newPosition","onDestPlaceholderInsert","updatedDragData","placeholderParent","updateConfig","newConfig","setActiveDropzone","activeDropzone","setActiveIndex","getDataTransfer","setDataTransfer","data","tempMoveIndex","isActive","distance","sqrt","pow","DEFAULT_KEYBOARD_CONFIG","KEYS","keyboardSortHandler","inProgress","addGlobalKeyHandlers","removeGlobalKeyHandlers","isSortStartTrigger","customTrigger","altKey","which","isSortCancelTrigger","isSortCompleteTrigger","isSortableUpdateKey","currentIndex","handleVerticalSort","handleHorizontalSort","moveToNextSortableList","nextSortableList","nextVisualDropzone","activeConnectedList","relativeElement","relativeElRect","connectedLists","cl","cListWithRects","nextList","nextDropzone","initAdapter","addEventListener","removeEventListener","elems","handleElem","initSortable","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__","handlers","registerDropzone","allowFrom","callbacks","__dropzone_subscribers__","componentId","createDropzone","unregisterDropzone","subscribers","idx","cb","removeDropzone","interact","accept","ondragenter","subs","dragEnterFn","DEFAULT_IJS_CONFIG","cursorChecker","toggleUserSelector","enable","userSelect","events","drag","draggable","drop","draggables","droppables","elInteractable","isDraggableInitialized","__seen__","__sortable__","interactable","sortableLists","dzSelector","sortableListEl","droppableElem","isDroppableInitialized","setTimeout","droppable","onDragEnter","draggedSortable","ud","ijsSortable","listeners","escapeKeyListener","cancelled","start","e","interaction","end","withCancellation","move","selection","empty","getSelection","removeAllRanges","init","adapter","restrict","restrictTo","modifiers","restriction","update","reset","DEFAULT_SORTABLE_CONFIG","startAxis","dragSupport","keyboardSupport","ijsAdapter","keyAdapter","updateElements","interactJsAdapter","keyboardAdapter","setConfig","condition","dynamicConfig","_sortable","startsWith","instance","shouldUpdate","_ref3","DATA_HAS_RESIZE_INTERACTION","DEFAULT_MAX_WIDTH","MAX_SAFE_INTEGER","DEFAULT_MAX_HEIGHT","domEvent","updateSize","maxWidth","maxHeight","onbeforeupdate","onResizeComplete","HANDLE_DIRECTIONS","TOP","addKeyboardSupport","keyboardOptions","handles","handleSelector","resizeHandleElement","keyboardResizeHandler","keyboardResizeDelta","activeClass","composedPath","currentWidth","currentHeight","parseFloat","getComputedStyle","DEFAULT_OPTIONS","edges","mouseSupport","addResizeSupport","addMouseSupport","rest","_objectWithoutPropertiesLoose","_excluded","throttledOnMove","resizable","onstart","onmove","onend","_host$shadowRoot","elements","requestAnimationFrame","COLUMN_DRAG_HANDLE_CLASS","NOW_LIST_COLUMN_REORDER_ACTION_PREFIX","NOW_LIST_COLUMN_REORDER_START","NOW_LIST_COLUMN_REORDER_END","NOW_LIST_COLUMN_REORDER_CANCELLED","NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED","NOW_LIST_COLUMNS_REORDERED","COLUMN_ACTIVE_CLASS","ACTIVE_DRAGGING_ITEM_CLASS","ELLIPSIS_ICON","GROUP_TOGGLE_ICON","ROW_HIGHLIGHTED_CLASS","ROW_GRAYED_OUT_CLASS","ROW_RECENT_UPDATED_CLASS","DRAG_HANDLE_ICON","WHITESPACE_STRING_CLASS","INCLUDE_LARGE_PADDING_CLASS","INCLUDE_SMALL_PADDING_CLASS","sm","pixelSize","indexInSet","md","lg","xl","getFakeNowIcon","iconKey","getIconPixelSize","iconCacheString","localStorage","getItem","class","iconIsCached","iconCacheParsed","async","iconService","__TECTONIC__$servicenow_now_icon","getIcon","cacheString","parsedCache","setItem","stringify","cacheIcon","sizeObj","getIconHeightWidth","dragHandle","ariaDescribedBy","tooltip","testId","bare","button","role","COLUMN_HEADER_CLONE_TAG_NAME","dropAreaDivider","view","styles","isSpecialColumnElement","colEl","HTMLElement","attachDropAreaDivider","destEl","removeDropAreaDivider","nextColumn","isNextSpecialColumn","previousColumn","isPreviousSpecialColumn","isInDroppableZone","firstChild","COLUMN_DEFINITIONS_PATH","COLUMNS_PATH","columnsDataPath","updateAriaLiveRegion","getClonedColumns","getClonedColumnDefs","setColumnActive","resetActiveColumns","_active","getValidColumnKeys","colDefs","resetActiveColumnsEffect","clonedColumnDefs","getColumnReadablePosition","getTotalTopLevelColumns","sortableRef","isKeyboardActive","SCROLL_CONTAINER","srcEl","th","getBoundingClientRectActual","headerLabel","innerText","offsetWidth","headerContentEl","headerHeight","offsetHeight","columnDragDropEnabled","getProperties","adjustClonePosition","dividerRect","headerClone","keyboardTriggers","trigger","behavior","nowSortable","createDropAreaDivider","isRendered","cellToFocus","enterCellTrap","domDestinationIndex","oldColumns","sourceColumn","newColumns","reorderedColumns","updatedColumnInfo","columnPosition","nowSortableOptions","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__","fromUnixTime","getUnixTime","isValid","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__","formatInTimeZone","utcToZonedTime","zonedTimeToUtc","isShortDateFormat","dateFormat","RegExp","test","getDateEditorVariant","forceShortDateFormat","COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME","COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME","NOW_INPUT_INPUT","COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM","NOW_LIST_COMPONENT_LOAD_REQUESTED","NOW_LIST_COMPONENT_LOAD_COMPLETED","NOW_LIST_COMPONENT_LOAD_FAILED","COMPONENT_LOADED_STATUS","SUCCESS","LOADING","INTERSECTION_OBSERVER_NAME","OBSERVE_ELEMENT","UNOBSERVE_ELEMENT","REGISTER_INTERSECTION_OBSERVER","UNREGISTER_INTERSECTION_OBSERVER","HOOK_INSERT","HOOK_DESTROY","HOOK_INIT","PAYLOAD_OPTIONS_PATH","INTERSECTION_OBSERVER_STATE_PATH","NOW_MODE_ACTIVE","getIntersectionObserver","getRootElementSelector","getRootMargin","getThreshold","getDebounceDelay","getUseDefer","getShouldSuspend","getShouldUnobserveElement","COMPONENT_DOM_READY","COMPONENT_DISCONNECTED","createElementObservationProps","useDefer","defer","nowMode","vnode","elm","observe","setupIntersectionObserverEffect","rootElementSelector","rootElement","shouldSuspend","shouldUnobserveElement","intersectionObserver","IntersectionObserver","intersectionCallBack","observer","unDefer","intersectClass","initialClass","unobserve","root","rootMargin","threshold","unregisterIntersectionObserverEffect","disconnect","observeElementEffect","collated","collatedItem","elementConfig","getElementConfig","unobserveElementEffect","customComponentType","renderCustomComponent","ComponentTag","componentDefaultProps","customRowAlignment","fromCustomSource","renderCustomComponentDisplay","tableMetadata","_loadedComponentInfo$","cellStyle","placeholderStyle","fetchedComponents","loadedComponentInfo","renderLoadingState","renderErrorState","BOOLEAN_TRUE_STRING","BOOLEAN_FALSE_STRING","BOOLEAN_CHOICES","BOOLEAN_ICON_SIZE","shouldUseChoiceFilter","getColumnFilteringStateForColumn","columnFilteringState","columnFiltersMap","valueInput","customValueInput","shouldDisableValue","styleWidth100","margin","buttonLabel","choiceValueInputButtonRef","appendToPayload","ref","configAria","choiceValueInput","selectedItem","booleanValueInput","dateTimeState","manageOpened","shouldDisableApply","format","getOverridenDateFormat","timezone","footerActions","formattedDateValue","opened","dateTimeValueInput","columnType","inputType","step","_getDecimalPlaces","genericValueInput","columnFilterCell","valueFromProps","shouldShowValueEditor","valueRequired","getColumnRequiresValueFromOperator","removeTooltip","tdClasses","classNames","cellContentClasses","hasStateInitialized","filterValue","operatorLabel","_getColumnFilterValue","_getColumnFilterValue2","valueCount","MAX_VALUE_COUNT_TO_DISPLAY","valueCountToDisplay","COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT","pluralizer","COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT","labelPosition","selectedItems","operatorDropdownOrChoiceText","NOW_BUTTON_STATEFUL_CLICKED","NOW_CHECKBOX_CHECKED_SET","NOW_DATE_TIME_ENTER_KEYDOWN","NOW_DATE_TIME_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_OPENED_SET","NOW_DATE_TIME_INPUT","NOW_DROPDOWN_ITEM_CLICKED","NOW_INPUT_ENTER_KEYDOWN","mapPath","dateTimeManageOpenedPath","getColumnFilteringUserPreference","getColumnFilteringUserPreferenceKey","isColumnValueEmpty","columnValue","findFullOperator","_find","getBackupOperator","defaultOperator","getDefaultOperatorForType","getUpdatedStateForOneCol","newOperator","newDateTimeState","selectedOperatorObject","getColumnOperatorFromState","columnStateValue","behaviors","columnFilteringBehavior","getColumnValueFromState","returnValue","getDateTimeState","resetColumnState","structuredClone","handleFilteringIconicButtonClicked","updateShowColumnFilteringRowState","emitApplyAction","columnFilterRemoved","_ref4","showColumnFilteringRow","setColumnFilteringUserPreference","handleButtonClicked","openChoiceColumnFilterPopover","selectAllOrNone","dateFormatFromColumn","selectedOperatorConfig","dateFormatOverride","handleDateTimeValueUpdate","fieldValue","timeformat","newValueInUnix","str","fmt","parsed","parseDateToUnix","shouldCheck","_state$behaviors$colu2","handleInputAndDateTimeKeyDownApply","_ref5","oldOperator","isColumnEmpty","shouldOperatorEmit","focusedCellActions","exitCellTrap","setInitialState","isToday","_state$behaviors$colu","choiceKey","isChecked","NOW_LIST_HEADER_CELL_TEXT_CLICKED","HEADER_CELL_TEXT_CLICKED","activeColumnKey","SET_COLUMN_WIDTHS","INIT_COLUMN_WIDTHS","SET_FINAL_AUTO_WIDTHS","ADD_RESIZE_OBSERVER","COL_MIN_WIDTH","TABLE_LAYOUT_FIXED","COLUMN_RESIZE_STARTED","COLUMN_SIZE_UPDATED","COLUMN_RESIZE_COMPLETED","RESIZE_SLIDER_CLASS","getColGroup","_target$dataset","table","colgroup","columnResizeBehavior","nowResizeBehavior","tableLayout","resizeGuide","tableHeight","headerElement","sliderContainer","getHeaderAndSliderElements","containerLeft","containerRight","scrollToIfNotInView","COMPONENT_ERROR_THROWN","updateWidth","columnWidth","_columnSelectors$getC","columnWidthsState","autoWidths","widths","columnResizingEnabled","resizeObserver","disconnectResizeObserver","getSavedWidth","columnWidthBehavior","autoWidthsCount","thElements","thElementsMap","totalColumns","autoWidth","checkIfWidthsChanged","updatedColumns","_updatedColumns$some","columnHeaderNode","currentAutoWidth","oldWidths","oldWidth","updatedWidth","columnsWidths","ResizeObserver","tbody","box","finalAutoWidths","widthsChanged","getFinalCalculatedAutoWidths","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__","overlayCustomEmittedActions","overlayCustomConfigPath","overlaySelectors","getOverlayShowColumnHeaders","overlayDefinition","getOverlayType","getOverlayMessageConfig","hasErrorMessage","getOverlayLoaderConfig","getOverlaySkeletonLoaderConfig","getOverlaySkeletonLoaderNumColumns","getCustomOverlayDefaultComponentProps","getCustomOverlayComponentTag","hasCustomOverlayEmittedActions","getCustomOverlayEmittedActions","popoverPositionPath","columnRowIndexPath","columnCellIndexPath","rowIndexPath","cellIndexPath","popoverConfigPath","popoverContentPath","popoverContentText","popoverContentButtons","labelPath","iconPath","popoverContentActions","popoverContentComponentTag","popoverCustomCellEmittedActions","popoverInteractionTypes","defaultHeaderPopoverPositions","defaultRowPopoverPositions","defaultPositions","popoverContentTypes","isHeaderTargetPosition","hasHeaderRowIndex","hasHeaderCellIndex","getHeaderTargetRowIndex","getHeaderTargetCellIndex","isRowTargetPosition","hasRowIndex","hasCellIndex","getTargetRowIndex","getTargetCellIndex","hasPopoverText","getPopoverText","hasPopoverButtons","getPopoverButtons","getPopoverButtonAriaLabel","getPopoverButtonVariant","getPopoverButtonSize","getPopoverButtonLabel","getPopoverButtonIcon","getTooltipContent","getPopoverButtonMeta","getPopoverButtonId","getPositions","getPopoverType","getActions","getActionsLabel","getLabel","getSublabel","getCount","getPresence","hasPopoverAction","hasPopoverCustom","getHighlightedMessage","getButtonsConfig","getIsLoading","getPopoverComponentTag","getPopoverComponentDefaultProps","hasCustomPopoverEmittedActions","getCustomPopoverEmittedActions","getDismissOnScroll","getDisableScroll","getHideTail","getDismissable","isTextContent","isCustomContent","isActionListContent","getAriaLabel","_popoverDefinition$co","getInteractionType","getPopoverContentType","getActiveActionItem","_actions$","popoverSelectors","flattenColumns","flattenedColumns","isComponentLoaded","addComponentTagIfNotLoaded","componentTags","processColumns","hasCustomColumnTag","hasComponentLoaded","hasCustomColumnFilterTag","getComponentTagsToLoad","processCustomRows","customRow","processPopover","processOverlay","COMPONENT_CONNECTED","componentBootstrappedHandler","fetchingComponents","isDefined","customElements","fetchCount","createComponentLoaderEffect","successActionType","errorActionType","request","fetchAndCacheIcons","_window$__TECTONIC__$","then","cellSelectors","getValue","getEditingDisabled","getColor","getImageSrc","getPersonKey","getLinkLabel","getUrlLabel","rawLabel","URL","hostname","hasHighlightedValue","getHighlightedValue","getHref","NOW_DROPDOWN_LIST_ITEM_CLICKED","POPOVER_DROPDOWN_ITEM_CLICKED","ROW_HIGHLIGHT_ACTIVATED","ROW_HIGHLIGHT_DEACTIVATED","ROW_FOCUSED_INTERNAL","ROW_BLUR_INTERNAL","NOW_LIST_CONTEXT_ACTION_CLICKED","CELL_ACTION_KEBAB_BUTTON_CLICKED","COLUMN_HEADER_ACTION","CELL_ACTION","ROW_ACTION","NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL","NOW_LIST_ACTIONS_POPOVER_HIDETAIL","GROUP_ACTION","COLUMN_HEADER_ACTION_LABEL","CELL_ACTION_LABEL","ROW_ACTION_LABEL","contextActionsBehaviorHelpers","getContext","rowSelectionState","_event$path","cellElement","isValidTableBodyCell","isValidTableHeaderCell","getContextObject","rowPath","getContextRows","typeOfAction","cellKey","groupIndex","fullRowPath","columnPath","getColumnContextObject","headerCellElement","getActionPopoverType","_event$path2","isThead","hasActionsForRowCellPopover","getCellActions","updateFloatingElementPosition","offsetX","offsetY","getFloatingTargetElement","_host$shadowRoot2","getRowAndCellDropdownItems","dropdownItems","groomedCellActions","hasRowActions","cellActionsSection","rowActionExcludes","rowActionsDropdownItems","rowAction","rowActionsSection","listActionClickedHandler","actionItem","contextActionsBehavior","columnHeaderIndexes","columnIdxRegex","headerRowIndex","headerColumnIndex","getColumnHeaderIndexes","_payload$actionItem","actionName","popoverItems","getCellActionAriaLabel","eventHandlers","actionPopoverType","labels","NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL","ADDED_EVENT_LISTENERS","getColumnFilterEmittedActions","callbackListener","detail","meta","srcElement","getEmittedActions","_getCustomCellEmitted","_getColumnFilterEmitt","_getCustomPopoverEmit","customActions","customCellDynamicActionBehavior","actionsNew","actionsOld","_getCustomCellEmitted2","_getCustomCellEmitted3","_getColumnFilterEmitt2","_getColumnFilterEmitt3","_getCustomPopoverEmit2","_getCustomPopoverEmit3","eventListeners","actionsToRemove","actionsToAdd","listener","updateEventListeners","fromEntries","addedEventListeners","cellContext","columnFilteringPayload","contextObject","customRowContextObject","getCustomRowContextObject","rowElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__","findTabbableNodes","innerClickHandlerEffect","_state$popoverState","popoverState","popoverOpen","activeElement","COMPONENT_TREE_RENDERED","initialState","incomingRender","_nextRow$node","_nextRow$node$id","popoverTriggerClasses","fromTable","isPopoverFocused","popover","isInputFocused","isHTMLScrollCell","nextRow","getNextRowFromTableRef","_focusedRow$rowIndex","toLocaleLowerCase","scrollableCell","hoistedElements","clickFromTable","clickFromHoist","tableSelector","isTableEmpty","overlayWithHeaders","tableNode","isTableRendered","tableHeadNode","tableBodyNode","hasGroupRowButton","shouldFocusFirst","tableHost","newTable","rowSpanMap","Map","rowSpanObj","pointerCell","remainingLength","delete","rowSpanItem","behaviorState","domQuery","firstCellRef","_row$node$parentEleme","newFocusedRow","focusIncrement","newRowIndex","newFocusedCell","handleRowMove","focusedRowKey","bulkRows","bulkRowIndices","ptrRowIndex","ptrCellIndex","indexIncDir","handleCellMove","scrollableContent","tabbableNodes","firstElement","lastElement","nodeToFocus","shouldTriggerRerenderFn","_ref6","currentPage","objKey","originalKeys","newKeys","hasChildrenOriginal","hasChildrenNew","NOW_LIST_CELL_LINK_CLICKED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","SORTABLE_ACTION_PREFIX","NOW_LIST_ROW_SORT_END","NOW_LIST_ROW_SORT_START","NOW_LIST_ROW_DROP_AREA_CHANGE","NOW_LIST_ROW_SORT_CANCELLED","ROWS_REORDERED","ROW_DRAG_HANDLE_CLASS","ROW_CHECKBOX_INTERNAL_SET","METRIC_TRACKED","eventName","track","interceptors","after","movedRows","checked","rank","NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED","NOW_LOADER_ACTION_CLICKED","NOW_LIST_SCROLLED","nowListScrollHandler","timestamp","now","targetTypes","popoverBehaviorHelpers","getPopoverTargetType","getRowTarget","getHeaderTarget","headerRow","headerCellIndex","headerCell","getPopoverTarget","targetType","setPopoverState","popoverTargetType","_popoverTarget$curren","actionSource","hasDuplicateRowKeys","rowKeyAlreadyExists","getRowIndexesMap","rowIndexesMap","rowDefinitionsBehavior","activeRowKey","sortableOptions","tr","rowDragDestPlaceholder","dragHandleCell","displayLabelCell","dragCellClone","displayLabelCellClone","ARIA_LIVE_REGION_UPDATE_REQUESTED","rowsPath","currentRowDefinitions","previousRenderState","previousRowDefinitions","previousRows","currentRows","currentRowsKeys","previousRowsKeys","hasNewRows","rowsBeforeUpdate","movedItem","rowsAfterUpdate","SN_LIST_GALLERY_GROUP_EXPANDED","SN_LIST_GALLERY_GROUPS_EXPANDED","SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED","componentBootstrappedActionHandler","groupedRows","groupKeys","expandedGroupsArray","groupIdsException","newExpandedGroupsArray","allExpandedChildrenValues","expandedGroupKey","handleSingleGroupToggle","layout","expanded","exceptions","groupRowKeys","remainingExpandedGroupKeys","groupContext","isExpanded","handleAllGroupsToggle","ROW_HIGHLIGHTED_STATE_PATH","rowHighlightedHelpers","getRowSelectorByKey","getScrollBehavior","scrollDownToRow","container","wait","scrollBehavior","initialDistance","counter","Promise","resolve","previousScrollDistance","visibleCheckLoop","cancel","rowRectInner","scrollRect","newScrollDistance","previousScrollHasStopped","ex","scrollRowIntoView","rowKeyToScroll","rowToScroll","rowRect","scrollContainerRect","isRowAboveColumnHeader","isRowBelowScrollContainer","scrollDistance","scrollTo","scrollWaitTime","checkIfNewHighlightedRows","previousHighlighted","highlightedRowKeys","COMPONENT_RENDERED","COMPONENT_DOM_TREE_READY","rowHighlightedBehavior","rowHighlightedState","helpers","rowSelectionHelpers","_areAllRowsSelectedReducer","enabledRows","isRowTypeDefault","areAllRowsSelected","getAllSelectedRows","selectedRowKeys","setInitialRowSelectionState","toggledSelectionRowIndex","selectAllRows","rowSelectionBehavior","startIndex","endIndex","uniqueId","updatedSelectedRows","selectedRowsNew","selectAllRowsNew","selectedRowsOld","selectAllRowsOld","isSelectAllCheckbox","ROWS_ENTERED_VIEW","TOP_LOADER_ENTERED_VIEW","BOTTOM_LOADER_ENTERED_VIEW","TOP_BOUND_ENTERED_VIEW","BOTTOM_BOUND_ENTERED_VIEW","LONG_SCROLL_TRIGGERED","SCROLL_TO_TOP_TRIGGERED","SHOW_SCROLL_TO_TOP_BUTTON","HIDE_SCROLL_TO_TOP_BUTTON","HANDLE_SCROLL_BOTTOM_REACHED","RETRY_PREPARE_VIRTUALIZED_OBSERVER","VIRTUALIZED_LIST_BEHAVIOR","handleIntersectionEvents","intersectionEvents","isEnabled","intersectEvent","scrollToTopRef","intersectionRatio","topLoaderRef","bottomLoaderRef","topBoundRef","bottomBoundRef","endOfScrollReachedRef","ghostRowObservedElements","ghostRowIdsToIndex","VirtualizedObserver","isTopLoaderVisible","isBottomLoaderVisible","isTopBoundVisible","isBottomBoundVisible","observedItems","WeakSet","itemRefs","observedEvents","observerCallback","setEnabled","enabled","observeItem","itemRef","unobserveItem","destroy","observerByNowId","getObserver","nowId","getVirtualizedBehaviorState","destroyObserver","executeAfterBrowserStyleAndLayout","fn","blockSize","bottomBound","DEFAULT_ROW_HEIGHT","topBound","newBlockLoading","isRenderingSecondPhase","showScrollToTopButton","prepareVirtualizedObserver","retry","allRowsFromProp","topGhostRows","bottomGhostRows","renderedRows","slicedRows","getRowRefs","virtualizedObserver","cleanupMemory","updatePrevBlock","updateNextBlock","updateAfterLoading","updater","scrollToTopContainer","virtualizedListBehavior","isBottom","diff","topBlockOffset","newBottomIndex","newTopBound","handleNextBlock","newBottomBound","handlePrevBlock","_host$shadowRoot$quer","firstRow","resetKeyBoardNavBehavior","prevBottomBound","prevTopBound","tableBody","tableBodyYPos","scrollContainerYPos","viewPortInnerHeight","innerHeight","_value$metadata","listId","modifier","limit","SN_LIST_GALLERY_CELL_LINK_CLICKED","SN_LIST_GALLERY_PERSON_CLICKED","SN_LIST_GALLERY_EXPAND_ALL_GROUPS","SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED","SN_LIST_GALLERY_CARD_SELECTED_SET","SN_LIST_GALLERY_CARD_CLICKED","SN_LIST_GALLERY_HEADER_ACTION_CLICKED","BridgeEventMapping","actionToDispatch","hiddenControlsPreference","isTrue","overlayContentClassName","loadingLabel","renderSkeletonLoaderOverlay","skeletonCols","skeletonRow","skeletonBodyRows","cols","bodyRows","isHeader","skeletonCell","cellClasses","overlay","overlayProps","showHeaders","overlayContent","renderCustomOverlay","renderLoaderOverlay","renderMessageOverlay","overlayClassNames","hoistHost","popoverIsFocused","updatedValue","_context$column","_context$column2","unixTime","getEpochValue","referenceDate","parsedDate","getDefaultEpochValue","updatedState","updateProperty","cellEditValue","localName","isIconTypeCellEditor","manageValue","initialValue","dateEditorVariant","_state$properties","_state$properties$act","selectedPillItems","pill","pillItems","search","manageSelectedItems","ColumnSelectors","choiceItems","manageSelectedItem","internalValue","cellEditLabel","helperContent","COLOR_LIST","cellEditColor","_properties$actionsCo","cellEditPersonKey","cellEditPersonUrl","shouldDisplayAvatar","userName","autofocus","plugins","toolbar","defaultButtonsConfig","_componentDefaultProp","_componentDefaultProp2","_componentDefaultProp3","_componentDefaultProp4","renderPopoverCellEditContentActions","popoverButtons","hideButton","_popoverSelectors$get","_popoverSelectors$get2","defaultProps","NOW_BUTTON_CLICKED_POPOVER_CONTAINER","buttonIndex","contentText","renderTextContent","renderContentActions","rtlBehavior","getActionLabel","activeItem","select","choiceFilterTerm","selectAllOrNoneLabel","allLabel","noneLabel","cancelLabel","applyLabel","choiceFilterInputLabel","choiceFilterClearButtonLabel","choiceFilterInputRef","_getChoices","_choices$","_getPillsChoices","filteredChoices","term","toUpperCase","filterChoicesByTerm","emptyChoiceItem","shouldDisableApplyButton","slot","manageChecked","manageInvalid","popoverContent","getPopoverContentView","panel","hook-insert","hook-destroy","positionTarget","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__","galleryCardInteractionBehavior","cardItem","allCardKeys","_cards$groupIndex$chi","_cards$groupIndex","_cards$groupIndex$chi2","_cards$cardIndex","cardIndex","cards","groupingState","isGroupedData","targetCard","CLASSNAMES","CARD_ACTION_ICON_SIZE_MEDIUM","NOW_BARE_BUTTON_TERTIARY","GROUPED_EXPAND_ALL_GROUPS","GROUPED_COLLAPSE_ALL_GROUPS","SCROLL_TO_TOP_LABEL","SN_LIST_GALLERY_CARD_INTERACTIONS","shouldUseDefaultView","getGalleryConfig","headingColumn","supplementaryColumns","processGalleryData","sharedContext","restGalleryProperties","restRowDefinitionProps","_excluded2","fieldMappings","cardProperties","fieldDefinitions","NOW_DROPDOWN_CUSTOM_TARGET_CLICKED","NOW_ACCORDION_ITEM_EXPANDED_SET","handleGroupActionClicked","HANDLED_KEYS","GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME","ENTER_GALLERY_ITEM_TRAP","EXIT_GALLERY_ITEM_TRAP","getKeyboardNavBehaviourState","setTabIndexForTabbables","indexValue","getTabbableElements","galleryCardContainer","getGalleryCardContainer","getFocusedCardElement","ShadowRoot","handleKeyDown","trappedCard","columnCount","_container$children$","containerWidth","cardWidth","getGalleryColumnCount","currentFocusedCardIndex","getFocusedCardIndex","navIndex","totalCards","moveUp","moveDown","moveLeft","moveRight","disableTabbingInGalleryContainer","galleryKeyboardNavigator","dispatchExitCardTrap","focusCardByIndex","currentActiveElement","cardToFocus","moveFocusInsideTrap","VIRTUALIZED_GALLERY_BEHAVIOR","LOAD_NEXT_VIRTUAL_PAGE","LOAD_VIRTUAL_PAGE","LOAD_CURRENT_VIRTUAL_PAGE","OBSERVE_VIRTUAL_PAGE","VIRTUAL_PAGE_RESIZED","OBSERVE_VIRTUAL_PAGE_FOR_RESIZE","INITIALIZE_BOTTOM_OBSERVER","INITIALIZE_FIRST_PAGE_OBSERVER","SCROLL_TO_TOP","SET_SCROLL_TO_TOP_BUTTON_VISIBILITY","VirtualizedGalleryObserver","observerMap","createObserver","initialize","bottomObserverRef","virtualPagesObserverRef","observedPages","observedVirtualPageForResize","resizeObserverRef","initializeVirtualPagesIntersectionObserver","virtualPageEntries","entry1","entry2","time","pageId","initializeBottomIntersectionObserver","observedBottomElm","initializeResizeObserver","initializeFirstPageIntersectionObserver","firstPageElm","firstPageObserverRef","isVisible","observeVirtualPage","pageIndex","pageRef","_this$virtualPagesObs","unobserveVirtualPage","observeVirtualPageForResize","_this$virtualPagesObs2","_this$virtualPagesObs4","_this$bottomObserverR","_this$firstPageObserv","_this$resizeObserverR","_this$virtualPagesObs3","prepareVirtualPageStore","virtualPageStore","rowStartIndex","rowEndIndex","prepareNewVisiblePages","currentViewedPageId","pagesCount","visibleVirtualPages","offset","newVisiblePages","_","handleObserveVirtualPageForResize","pageElm","virtualizedGalleryBehavior","virtualPageDimensions","cardDimensions","isLoadingNextPages","observedVirtualPageIdForResize","initialVisiblePages","pageCount","isVirtualPageVisible","isLastRetrievedPage","virtualPageHeight","virtualPageWidth","card","cardHeight","pageHeight","pageWidth","scrollElement","galleryViewPropsDefinition","schema","clickableTextEnabled","renderActionableMessage","hideBlockPadding","getCellContentElement","isCellElement","isFakeIcon","_target$parentElement","_target$parentElement2","handleShowTooltip","_target$parentElement3","_target$parentElement4","_target$parentElement5","_target$parentElement6","isCell","cellContentElement","isOverflowing","truncated","handleRemoveTooltip","_target3","_target$parentElement7","_target$parentElement8","_target$parentElement9","_target$parentElement10","getTooltipProps","getTooltip","FIELDS_WITH_ELLIPSIS","isGalleryFieldWithEllipsis","fieldKey","whiteSpace","overflow","textOverflow","renderLiveListEyelashIcon","EMPTY_DISPLAY_LABEL","DEFAULT_HIGHLIGHTED_VALUE_SIZE","getCellDisabled","getColumnDisabled","getHighlightedValueContainerClassName","getTooltipDataProps","isTruncated","getHighlightedText","highlightedContentPatterns","displayValue","patterns","markedDisplayContent","highlightedElement","escapedPatternWords","highlightRegex","match","highlightedValueCell","wrapCellContentEnabled","willWrap","shouldRenderHighlightedValue","isHighlightedValue","getFormatedNumberLabel","truncatedLabel","getLinkCell","shouldRenderRecentlyUpdatedIcon","labelProps","displayLabel","toolTipLabel","isDisabled","contentClassNames","clickEventName","tabindex","keyCode","getLabelContent","booleanView","stringBool","cellLabel","numberView","isValuePresent","isNonEmpty","isWhitespaceEnabledInSysProp","preserveWhitespaceSysPropKey","stringView","stringCellContentClassNames","timeAgoOptions","timeAgo","dateBoth","systemTime","dateOnly","verbose","highlightedValueData","timestampLong","getTickTime","spanClassName","renderer","snabbdom","tooltipBehavior","truncationBehavior","getDateLabelDetails","timeAgoClassNames","shortDateFormatPrefKey","getFormattedDateValue","dateTimeView","currencyView","toLocaleString","getDisplayValue","iconView","linkView","isRenderAsLink","urlView","renderedLabel","rel","choiceView","choiceLabel","tooltipLabel","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__","domPurifyConfig","FORCE_BODY","KEEP_CONTENT","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","ALLOWED_TAGS","ALLOWED_ATTR","FORBID_ATTR","getPercentBarWidth","numberValue","renderPercentComplete","targetFieldValue","parsedColors","colors","parseThresholdColors","targetBarWidth","actualBarWidth","isNegativeValue","isNegativeTargetValue","valueColor","percentOfTarget","targetFieldValueNumber","percentCompleteBarTargetClassNames","percentCompleteBarActualClassNames","valueLabel","targetFieldValueLabel","showCurrent","showTarget","backgroundColor","percentCompleteView","personView","iconSize","isNameEmpty","shouldDisplayName","targetClassList","renderPersonText","textClassNames","buttonClassNames","pillsView","pillSize","newMaxPillLimit","newPills","pillList","pills","pillRef","renderedPills","canDismiss","manageSelected","pillKey","renderPills","pillsCellClassNames","pillsAriaLabel","pillValue","hiddenPillsCount","hiddenPillsTooltip","getHiddenPillsTooltip","hiddenPillsDescription","descriptionElementId","hiddenPillsMessage","customComponent","cellHeight","cellWidth","cellContentStyle","placeholderContentStyle","galleryCardField","fieldProps","showMoreWhenTruncated","fieldContentClasses","galleryCardFieldValue","dataFieldProps","customComponentProps","MAX_PILL_COUNT_FOR_GALLERY","XS_PILL_SIZE","SN_TRUNCATED_TEXT_SHOW_MORE","SN_TRUNCATED_TEXT_SHOW_TOOLTIP","MORE_BUTTON_LABEL","showMore","currentTarget","tooltipOpen","showTooltip","blur","textElement","cardFieldData","userAgent","fieldItem","AI_TOOLTIP_CREATED","AI_TOOLTIP_MODIFIED","AI_TOOLTIP_FOR_HEIRARCHY","renderAIIndicatorIcon","toolTipText","appendAIIndicatorToCellContent","cellContent","renderHeaderLabel","field","hasAIIndicator","renderHeaderField","renderField","renderDefaultActions","defaultActions","defaultActionButtons","on-click","part","dropdownActions","splitActions","isMobile","actionsItemsWithPayload","actionIconSize","showIndicatorInTagline","showIndicatorInHeading","showIndicatorStandalone","headingLabel","finalTaglineLabel","dropdowns","_cardFieldData$headin","columnMapping","commonProps","overrideLabel","fieldData","columnData","getCardFieldValue","ariaSelectedState","updatedgalleryItemTooltip","hideShadow","sidebar","galleryCardHeader","galleryCardBody","buttonProps","defaultItemHeaderProps","weight","badgeProps","galleryGroupedItem","groupedRowCountChar","char","galleryDataDefinitions","shouldShowAIIndicator","header","transitionDuration","transitionProperty","transform","character","renderGroupedActions","actionCount","actionClickHandler","galleryCardViewDefault","enabledSlot","galleryContainerClassName","galleryCardViewGrouped","galleryCardItem","renderVirtualizedPage","virtualPage","virtualPagesCount","galleryDataDefinition","visibleIndex","isLastVisiblePage","isObservedPageForResize","shouldSetHeight","renderVirtualizedPageContent","renderVirtualizedPages","virtualizedCardsDefinition","pageStoreKeys","hasVirtualPages","getVirtualPageHeight","renderCustomRow","renderScrollToTopButton","galleryCardViewVirtualized","galleryView","mediaQuery","showVirtualizedGalleryView","renderGroupedViewToggleButton","handleGroupToggle","controlledGroupState","galleryDataBehavior","galleryGroupedBehavior","galleryKeyboardNavBehavior","mediaQueryBehavior","renderCols","getTableLayout","headerColClassNames","span","shouldShadeAlternateRows","shadeAlternateRows","shadeAlternateRowsContextPrefKey","groupBadgeCellContent","nestedLevel","badgeCellContent","groupBadgeCellContentClassnames","groupToggleCellContent","toggleCellContent","isAllGroupsToggle","Boolean","valueOf","actionPayloadType","areAllGroupExpanded","groupToggleCellContentClassnames","groupToggleClassNames","groupButtonClassNames","groupHTMLButtonClassNames","expandCollapseTooltip","renderGroupActions","groupActionsRef","renderGroupActionKebabButton","renderSingleGroupActionButton","truncatedName","pillsCell","hiddenPillsAriaLabel","pillsValues","rowActionsCell","actionsForButtons","actionsForDropdown","buttonsProps","dropdownProps","cellContentClassNames","contextRows","areAllActionsDisabled","_actionItem$icon","actionIcon","rowActionCellClasses","_actionItem$icon2","renderActionsIconButtons","preparedActions","kebabTooltip","actionsKebabButtonRef","renderKebabDropdown","rowDragCellContent","showDragHandle","rowDragHandleCellContentClassNames","rowDragHandleClassNames","renderTypedCellContent","isRecentUpdate","dataCellProps","rowActionsCellProps","rowSelectionCellProps","groupToggleCellProps","parentToggleCellContent","parentBadgeCellContent","rowSelectionCell","rowSelectionCellContentClassnames","rowSelectionCheckboxClassNames","imageCell","alt","personCell","sanitizedHtml","DOMPurify","textContent","plainTextValueExtraSpaces","plainTextValue","html","htmlView","isRowHighlightedMemoized","isSpecialColumnMemoized","isRecentAddedOrUpdatedRowMemoized","hasCellActionsMemoized","getColumnAlignmentMemoized","addChildRowMargin","firstDataColumnKey","rowCell","firstColumnKey","showInlinePadding","parentGroupClassNames","shouldRenderActionsButton","alignmentClassName","shouldHaveIndent","cellClassNames","tooltipDataProps","cellEditingLabel","a11yLabelId","String","on-mouseover","handleMouseOver","on-mouseout","handleMouseOut","on-blur","handleBlur","on-focus","handleFocus","on-dblclick","handleDoubleClick","handleKeyPress","renderCellActionsButton","cellActionsRef","renderChildRowCells","isDefaultRowWithChildrenType","renderRowCells","colProps","cellMap","columnsMap","cellActionsMap","cellProps","renderChildrenRows","_getGroupedRowCount","groupKey","isGroupedRowType","rowCount","rowProps","isLastChildRow","tableHasGroupedRows","tableRow","renderGroupedRowAndChildren","isRecentlyAddedOrUpdated","toggleProps","trClassNames","specialCellClassNames","dragDropHandleCellClassNames","groupToggleCellClassNames","groupedInfoClassName","groupToggleCellContentClassNames","groupBadgeCellContentClassNames","mainCellColSpan","groupedRowContent","interactionType","renderInfoIcon","colspan","renderSpecialCellsForCustomRow","specialColumnsCount","specialColumns","renderGhostRow","isChild","_colProps$columnEdges","relativeIndex","colLength","modifiedIndex","rowClassNames","rowCellProps","rowAria","cellsByColumnKey","placeHolderDimensions","customRowContainer","customContent","rowDefIndex","renderVirtualizedRowCells","ariaDescription","renderBodyRows","COLUMN_HEADER_ICON_SIZE","COLUMN_GRAB_INSTRUCTIONS","renderColumnHeaderCellIcons","iconColor","cellIconClassNames","renderActionCellContent","buttonIconicClassNames","columnFilteringToggleButton","renderDefaultHeaderCellContent","isReorderingEnabled","hasResizeSupport","renderColumnReorderHandle","renderHeaderCellText","renderColumnHeaderActionsButton","columnHeaderActionsRef","renderColumnResizeHandle","tableHeaderCell","selectAllEnabled","isFirstColumn","isLastColumn","allColumnsHaveWidth","toggleAllGroupsEnabled","isSpecial","columnKeyClassName","isSelectionColumn","isGroupToggleColumn","isActionColumn","headerCellClassNames","headerCellContentClassNames","headerCellAriaLabel","hookInsertColumnWidthHelper","rowSelectionCheckboxClasses","renderHeaderSelectionCellContent","renderColumnFilteringRow","filterLabelCellColSpan","columnFilteringRowClassNames","filterLabel","columnFilteringLabel","hidePadding","columnFilterLabelCell","columnEdgeKey","renderHeaderRows","headerCells","renderHeaderCells","columnLevel","columnCountAtLevel","validColumnIndex","lastColumn","every","wrapCellContent","shouldWrapCellContent","wrapCellContextPrefKey","tableProps","overlayType","SKELETON_TABLE_CLASS_NAME","tableClassNames","wrapClass","defaultClass","setWrapClass","scrollToTopCaption","handleShowTooltipOnFocus","_target","_target2","colGroups","tableHeaders","columnFilteringProps","tableFooters","timeAgoBehaviors","delay","_columnDefinitions$co","rowContextPosition","emptyStateEnabled","popoverProps","scrollToTopLabel","galleryLayoutProps","onScroll","isHiddenControlsEnabled","createRootElementHooks","_props$rowContextPosi","_props$rowContextPosi2","_props$rowContextPosi3","_props$rowContextPosi4","floatingTarget","renderBodyOverlay","landmark","actionableMessageBehavior","cellEditingBehavior","columnDragDropBehavior","columnHeaderClickBehavior","componentLoaderBehavior","keyboardNavBehavior","linkBehavior","overlayBehavior","popoverDefinitionBehavior","rowDragDropBehavior","rowGroupingBehavior","nowListBridgeBehavior","elementIdentifier","collate","metricsBehavior","focusBehavior","interactiveActionName","__TECTONIC__$servicenow_now_list"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-list/src/now-list/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/actionableMessage/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/currency/currencyConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/dateTime/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/icon/iconConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/number/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/pills/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/urlConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/urlTranslatedConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowCellConstants.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnDefinitions.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnTypes/columnTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnTypes/typeSpecificSchemas.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/galleryConfig/galleryConfig.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/sortTypes/sortTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/defaultOverlaysConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/overlayConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/overlayDefinition.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/popoverDefinition/popoverDefinition.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowAlignments/rowAlignment.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowDefinitions.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowTypes/rowTypes.js","webpack:///@servicenow/now-list/src/now-list/main.scss","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryView.scss","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/styles.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/popoverListContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.scss","webpack:///./src/now-list/main.scss?a891","webpack:///./src/now-list/now-list-gallery/views/galleryView.scss?35d8","webpack:///./src/now-list/now-list-gallery/views/truncatedTextMore/styles.scss?f0a1","webpack:///./src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.scss?dd6f","webpack:///./src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.scss?e8e1","webpack:///./src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.scss?a881","webpack:///./src/now-list/shared/views/popover/popoverListContent/popoverListContent.scss?bbf4","webpack:///./src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.scss?77a8","webpack:///./src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.scss?89aa","webpack:///./src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.scss?ac77","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@babel/runtime/7.18.9/helpers/defineProperty.js","webpack:///@babel/runtime/7.18.9/helpers/extends.js","webpack:///@babel/runtime/7.18.9/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effects/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.14/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.14/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.0.14/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.0.14/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/classnames/2.3.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-component-timeago/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/utils/logger.js","webpack:///@servicenow/now-list/src/now-list/behaviors/actionableMessageBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/actionableMessageBehavior/actionableMessageBehavior.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-list-commons/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/resources/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowGroupingBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/utils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavHelpers.js","webpack:///@servicenow/now-list/src/now-list/behaviors/popoverBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/cellEditingBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/cellEditingBehavior/cellEditingBehavior.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/fp.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/27.0.1/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringCell/columnFilteringConsts.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/featureFlagSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/rowSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/columnSelectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnBehavior/columnBehavior.js","webpack:///external module \"/uxasset/externals/uuid/7.0.3/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/commons/sortable/constants.js","webpack:///@servicenow/now-list/src/now-list/commons/dom-utils.js","webpack:///@servicenow/now-list/src/now-list/commons/utils/directions.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/helpers.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/auto-scroll.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/class.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/clone.js","webpack:///@servicenow/now-list/src/now-list/commons/utils/rectangle.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/placeholder.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/index.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/keyboard/visual-next.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/keyboard/keyboard-adapter.js","webpack:///external module \"/uxasset/externals/interactjs/1.9.7/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/dropzone-notifier.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/interactjs-adapter.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/cancel-sort.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/sortable.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/behavior.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/index.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/constants.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/shared.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/keyboard.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/resizingBehavior.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/interactjs.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/fakeNowIcon.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/dragHandle.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropEffects.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/nowSortableOptions.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropBehavior.js","webpack:///external module \"/uxasset/externals/date-fns/2.22.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/date-fns-tz/1.3.6/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/utils/dateTimeUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterConsts.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-date-time/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/selectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/intersectionObserverBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/customLoader.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/boolean/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringCell/columnFilteringCell.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnFilteringBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnFilteringBehavior/columnFilteringBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnHeaderClickBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnHeaderClickBehavior/columnHeaderClickBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnWidthBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnResizeBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnResizeBehavior/columnResizeBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnWidthBehavior/columnWidthBehavior.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-component-loader/26.0.21/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/overlaySelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/popoverSelectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/componentLoaderBehaviorUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/componentLoaderBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/cellSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/contextActionsBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/contextActionsBehavior/contextActionsBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.14/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavEffects.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/index.js","webpack:///@servicenow/now-list/src/now-list/behaviors/linkBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/linkBehavior/linkBehavior.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowSelectionBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/metricsBehavior/metricsBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/overlayBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/overlayBehavior/overlayBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/eventListeners.js","webpack:///@servicenow/now-list/src/now-list/behaviors/popoverBehavior/popoverBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowBehavior/rowBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/sortableOptions.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/dragDropPlaceholders.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/rowDragDropBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/actionConstants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowGroupingBehavior/rowGroupingBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/rowHighlightedHelpers.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/rowHighlightedBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowSelectionBehavior/rowSelectionBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedObserverUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedObserver.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedListBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/constants/actionConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/person/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/bridgeBehavior/bridgeEventMapping.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/bridgeBehavior/bridgeBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/hiddenControls.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/overlay/overlay.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/action.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverStringCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverCurrencyCellEditorContent.js","webpack:///external module \"/uxasset/externals/@servicenow/now-radio-buttons/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverBooleanCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverDateTimeCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverNumberCellEditorContent.js","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverPillsCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverChoiceCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverUrlCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverLinkCellEditorContent.js","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverIconCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverPersonCellEditorContent.js","webpack:///external module \"/uxasset/externals/@servicenow/now-record-html-editor/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverHTMLCellEditorContent.js","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/popoverListContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/action.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterHelpers.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popover.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-media-query/28.0.14/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryCardInteractionBehavior/galleryCardInteractionBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/layoutConstants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/galleryCardUtils.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/galleryDefaultConfig.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryDataBehavior/galleryDataBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryGroupedBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryGroupedBehavior/galleryGroupedBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/KeyboardContants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryKeyboardNavbehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/gallerykeyboardNavigationUtils.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryKeyboardNavbehavior/galleryKeyboardNavbehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/virtualizationObserver.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/properties.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/actionableMessage/actionableMessage.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/tooltipUtil.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/truncationUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/cellIconContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldContentConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldUtil.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/boolean/boolean.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/number/number.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/cellContentConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/cellContentUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/string/string.js","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.js","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/dateTime/dateTime.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/currency/currency.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/icon/icon.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/link/link.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/url.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/choice/choice.js","webpack:///external module \"/uxasset/externals/dompurify/3.2.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/html/html.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/percentComplete/percentComplete.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/person/person.js","webpack:///external module \"/uxasset/externals/@servicenow/now-pill/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/pills/pills.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/customComponent/customComponent.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardField.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/index.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/view.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardBody.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/mobileUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/aiIndicatorIcon.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardHeader.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardItem.js","webpack:///@servicenow/now-list/src/now-list/shared/views/groupActions.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewGrouped.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewDefault.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewVirtualized.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryView.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/groupedViewToggle.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/index.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/wrapCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/colGroups/colGroups.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///@servicenow/now-list/src/now-list/shared/utils/shadeAlternateRows.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/groupBadgeCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/groupToggleCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/groupedRowUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/imageCellType/imageCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowActionsCellType/rowActionsCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowDragCellType/rowDragCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowCell.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowSelectionCellType/rowSelectionCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/tableRow.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/renderInfoIcon.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableBody.js","webpack:///@servicenow/now-list/src/now-list/shared/views/actionableMessage/actionableMessage.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/tableHeaderCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/tableHeaderCell.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringToggleButton.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeader.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/table.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableFooters/tableFooter.js","webpack:///@servicenow/now-list/src/now-list/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/floatingTarget/floatingTarget.js","webpack:///@servicenow/now-list/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","const SCROLL_CONTAINER_CLASS = 'scroll-container';\nconst ROW_DEFINITIONS_PROP = 'rowDefinitions';\n\nconst SHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY = 'table.highlighting';\nconst USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE =\n\t'useShadeAlternateRowsUserPref';\nconst SHADE_ALTERNATE_ROWS_ON = 'shadeAlternateRowsOn';\nconst SHADE_ALTERNATE_ROWS_OFF = 'shadeAlternateRowsOff';\nconst SHADE_ALTERNATE_ROWS_ENUMS = [\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tSHADE_ALTERNATE_ROWS_ON,\n\tSHADE_ALTERNATE_ROWS_OFF,\n];\n\nconst WRAP_CELL_CONTENT_USER_PREFERENCE_KEY = 'table.wrap';\nconst USE_LINE_BREAKS_USER_PREFERENCE = 'useLineBreaksUserPref';\nconst WRAP_ON = 'wrapOn';\nconst WRAP_OFF = 'wrapOff';\nconst WRAP_CELL_CONTENT_ENUMS = [\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tWRAP_ON,\n\tWRAP_OFF,\n];\n\nconst COLUMN_FILTERING_USER_PREFERENCE_KEY = 'glide.ui.list_header_search.open';\n\nconst LIST_ICON_CACHE = 'list-icon-cache';\n\nconst USER_PREF_UPDATED = 'USER_PREF_UPDATED';\n\nconst LAYOUT_OPTIONS = {\n\tLIST: 'list',\n\tGALLERY: 'gallery',\n};\n\n/** @type {\"sm\"} */\nconst SMALL = 'sm';\n\n/** @type {\"md\"} */\nconst MEDIUM = 'md';\n\n/** @type {\"lg\"} */\nconst LARGE = 'lg';\n\nconst ICON_SIZES = {\n\tSMALL,\n\tMEDIUM,\n\tLARGE,\n};\n\nconst ICON_NAMES = {\n\tTRIANGLE_EXCLAMATION_OUTLINE: 'triangle-exclamation-outline',\n\tDRAG_DOTS_FILL: 'drag-dots-fill',\n\tCHEVRON_END_FILL: 'chevron-end-fill',\n\tELLIPSIS_V_FILL: 'ellipsis-v-fill',\n\tNEW_OUTLINE: 'new-outline',\n\tMAGIC_OUTLINE: 'magic-outline',\n\tOPEN_LINK_OUTLINE: 'open-link-outline',\n\tPENCIL_OUTLINE: 'pencil-outline',\n\tCIRCLE_CHECK_OUTLINE: 'circle-check-outline',\n\tCIRCLE_CLOSE_OUTLINE: 'circle-close-outline',\n\tSORT_DESCENDING_FILL: 'sort-descending-fill',\n\tSORT_ASCENDING_FILL: 'sort-ascending-fill',\n};\n\nconst LIST_ICON_SET = [\n\t{ name: ICON_NAMES.TRIANGLE_EXCLAMATION_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.DRAG_DOTS_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.CHEVRON_END_FILL, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.ELLIPSIS_V_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.NEW_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.MAGIC_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.OPEN_LINK_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.PENCIL_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.CIRCLE_CHECK_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.CIRCLE_CLOSE_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.SORT_ASCENDING_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.SORT_DESCENDING_FILL, size: ICON_SIZES.SMALL },\n];\n\nmodule.exports = {\n\tSCROLL_CONTAINER_CLASS,\n\tROW_DEFINITIONS_PROP,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tSHADE_ALTERNATE_ROWS_ON,\n\tSHADE_ALTERNATE_ROWS_OFF,\n\tSHADE_ALTERNATE_ROWS_ENUMS,\n\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY,\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tCOLUMN_FILTERING_USER_PREFERENCE_KEY,\n\tWRAP_ON,\n\tWRAP_OFF,\n\tWRAP_CELL_CONTENT_ENUMS,\n\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY,\n\tLIST_ICON_CACHE,\n\tLIST_ICON_SET,\n\tICON_SIZES,\n\tICON_NAMES,\n\tUSER_PREF_UPDATED,\n\tLAYOUT_OPTIONS,\n};\n","exports.TABLE_DEFAULT_ICON_SIZE = 'md';\nexports.WRAP_CELL_CONTENT_USER_PREFERENCE = 'table.wrap';\n\nexports.ICON_SIZE_SMALL = 'sm';\nexports.ICON_SIZE_MEDIUM = 'md';\n\nexports.GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\nexports.NOW_LIST_BRIDGE_ACTION = 'NOW_LIST#BRIDGE_ACTION';\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../table/constants.js');\n\nexports.ACTIONABLE_MESSAGE_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n\nconst ACTIONABLE_MESSAGE_STATUS_CRITICAL = 'critical';\nconst ACTIONABLE_MESSAGE_STATUS_HIGH = 'high';\nconst ACTIONABLE_MESSAGE_STATUS_MODERATE = 'moderate';\nconst ACTIONABLE_MESSAGE_STATUS_WARNING = 'warning';\nconst ACTIONABLE_MESSAGE_STATUS_INFO = 'info';\nconst ACTIONABLE_MESSAGE_STATUS_POSITIVE = 'positive';\nconst ACTIONABLE_MESSAGE_STATUS_LOW = 'low';\n\nexports.ACTIONABLE_MESSAGE_BUTTON_CLASS = 'actionable-message-button';\n\nexports.ACTIONABLE_MESSAGE_STATUS_DEFAULT = ACTIONABLE_MESSAGE_STATUS_INFO;\n\n/** @type {Array<string>} */\nexports.ACTIONABLE_MESSAGE_STATUS_ENUMS = [\n\tACTIONABLE_MESSAGE_STATUS_CRITICAL,\n\tACTIONABLE_MESSAGE_STATUS_HIGH,\n\tACTIONABLE_MESSAGE_STATUS_MODERATE,\n\tACTIONABLE_MESSAGE_STATUS_WARNING,\n\tACTIONABLE_MESSAGE_STATUS_INFO,\n\tACTIONABLE_MESSAGE_STATUS_POSITIVE,\n\tACTIONABLE_MESSAGE_STATUS_LOW,\n];\n\n/** @type {object} */\nexports.ACTIONABLE_MESSAGE_ICONS_DICT = {\n\t[ACTIONABLE_MESSAGE_STATUS_CRITICAL]: 'triangle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_HIGH]: 'triangle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_MODERATE]: 'circle-info-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_WARNING]: 'circle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_INFO]: 'circle-info-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_POSITIVE]: 'circle-check-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_LOW]: 'circle-info-outline',\n};\n","exports.CURRENCY_DEFAULT = 'USD';\n//Default locale if browser locale can't be fetched\nexports.CURRENCY_LOCALE_DEFAULT = 'en-US';\nexports.CURRENCY_VALUE_DEFAULT = 0;\n","exports.DATE_TIME_FORMAT_DEFAULT = 'yyyy-MM-dd THH:mm:ss.SSS XXX';\nexports.DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\n\nexports.DATE_EDITOR_VARIANT_SHORT = 'date';\nexports.DATE_EDITOR_VARIANT_LONG = 'date-time';\n\nexports.TIME_AGO_DISPLAY_NONE = 'none';\nexports.TIME_AGO_DISPLAY_UNDER_MAIN_VALUE = 'underMainValue';\nexports.TIME_AGO_DISPLAY_AS_MAIN_VALUE = 'asMainValue';\n\nexports.TIME_AGO_DISPLAY_ENUMS = [\n\texports.TIME_AGO_DISPLAY_NONE,\n\texports.TIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n\texports.TIME_AGO_DISPLAY_AS_MAIN_VALUE,\n];\n\nexports.SECONDS_FORMAT = ':ss';\nexports.SECONDS_FORMAT_WITH_DOTS = '.ss';\n\nexports.DATE_TIME_AGO_FORMAT = 'glide.ui.date_format';\nexports.SHORT_DATE_TIME_FORMAT = 'glide.ui.short_date_format';\n","/** @type {string} */\nexports.EMPTY_CELL_VALUE = '';\nexports.MAX_CHARACTERS_DEFAULT = 4000;\nexports.HIGHLIGHTED_VALUE = 'highlightedValue';\n\n// classnames\nexports.SPECIAL_COLUMN_CELL = 'special-column-cell';\nexports.SPECIAL_COLUMN_CELL_CONTENT = 'special-column-cell-content';\nexports.DATA_COLUMN_CLASS = 'data-column';\nexports.ROW_CELL_CLASS = 'row-cell';\nexports.CELL_CONTENT_CLASS = 'cell-content';\n\nexports.RECENTLY_UPDATED_ROWS_ICON_NAME = 'new-outline';\nexports.RECENTLY_UPDATED_ROWS_ICON_SIZE = 'sm';\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../../table/constants');\n\nexports.ICON_CELL_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n\nexports.ICON_CELL_COLOR_DEFAULT = '';\nexports.ICON_CELL_COLOR_CRITICAL = 'critical';\nexports.ICON_CELL_COLOR_HIGH = 'high';\nexports.ICON_CELL_COLOR_MODERATE = 'moderate';\nexports.ICON_CELL_COLOR_WARNING = 'warning';\nexports.ICON_CELL_COLOR_INFO = 'info';\nexports.ICON_CELL_COLOR_POSITIVE = 'positive';\nexports.ICON_CELL_COLOR_LOW = 'low';\n\nexports.ICON_CELL_COLORS_ENUMS = [\n\texports.ICON_CELL_COLOR_DEFAULT,\n\texports.ICON_CELL_COLOR_CRITICAL,\n\texports.ICON_CELL_COLOR_HIGH,\n\texports.ICON_CELL_COLOR_MODERATE,\n\texports.ICON_CELL_COLOR_WARNING,\n\texports.ICON_CELL_COLOR_INFO,\n\texports.ICON_CELL_COLOR_POSITIVE,\n\texports.ICON_CELL_COLOR_LOW,\n];\n","exports.NUMBER_DEFAULT_VALUE = 0;\n\nexports.NUMBER_FORMAT_INTEGER = 'integer';\nexports.NUMBER_FORMAT_PERCENT = 'percent';\nexports.NUMBER_FORMAT_DECIMAL = 'decimal';\nexports.NUMBER_FORMAT_LONG_INT = 'longint';\nexports.NUMBER_DEFAULT_LOCALE = 'en-US';\nexports.NUMBER_SHOW_DELIMITER_DEFAULT = true;\nexports.NUMBER_FORMAT_ENUMS = [\n\texports.NUMBER_FORMAT_INTEGER,\n\texports.NUMBER_FORMAT_PERCENT,\n\texports.NUMBER_FORMAT_DECIMAL,\n];\n\nexports.DECIMAL_PLACES_DEFAULT = 2;\n","exports.MAX_PILL_COUNT_FOR_GALLERY = 2;\nexports.DEFAULT_PILL_SIZE = 'sm';\nexports.XS_PILL_SIZE = 'xs';\nexports.MAX_PILL_LIMIT_DEFAULT = 3;\nexports.MAX_MAX_PILL_LIMIT = 10;\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../../table/constants');\n\nexports.URL_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\nexports.URL_ICON = 'open-link-outline';\nexports.OPENS_IN_NEW_DEFAULT = false;\n","import { t } from 'sn-translate';\n\nexport const OPENS_IN_CURRENT_TAB_TOOLTIP = t('Opens URL in the current tab');\nexport const OPENS_IN_NEW_TOOLTIP = t('Opens URL in a new tab/window');\n","exports.TABLE_DEFAULT_ICON_SIZE = 'md';\nexports.WRAP_CELL_CONTENT_USER_PREFERENCE = 'table.wrap';\n\nexports.ICON_SIZE_SMALL = 'sm';\nexports.ICON_SIZE_MEDIUM = 'md';\n","exports.PERSON_CELL_ICON_SIZE = 'sm';\n\nexports.NOW_LIST_CELL_PERSON_CLICKED = 'NOW_LIST#CELL_PERSON_CLICKED';\n\nexports.PERSON_DISPLAY_TYPE_AVATAR = 'avatar';\nexports.PERSON_DISPLAY_TYPE_NAME = 'name';\nexports.PERSON_DISPLAY_TYPE_BOTH = 'both';\nexports.PERSON_DISPLAY_TYPE_ENUMS = [\n\texports.PERSON_DISPLAY_TYPE_AVATAR,\n\texports.PERSON_DISPLAY_TYPE_NAME,\n\texports.PERSON_DISPLAY_TYPE_BOTH,\n];\nexports.PERSON_DISPLAY_TYPE_DEFAULT = exports.PERSON_DISPLAY_TYPE_BOTH;\n","exports.DEFAULT_PILL_SIZE = 'sm';\nexports.MAX_PILL_LIMIT_DEFAULT = 3;\nexports.MAX_MAX_PILL_LIMIT = 10;\n","/** @type {string} */\nexports.EMPTY_CELL_VALUE = '';\nexports.MAX_CHARACTERS_DEFAULT = 4000;\nexports.HIGHLIGHTED_VALUE = 'highlightedValue';\nexports.PRESERVE_WHITESPACE_SYS_PROP = 'glide.lists.preserve_whitespace';\n\n// classnames\nexports.SPECIAL_COLUMN_CELL = 'special-column-cell';\nexports.SPECIAL_COLUMN_CELL_CONTENT = 'special-column-cell-content';\nexports.DATA_COLUMN_CLASS = 'data-column';\nexports.ROW_CELL_CLASS = 'row-cell';\nexports.CELL_CONTENT_CLASS = 'cell-content';\n\nexports.RECENTLY_UPDATED_ROWS_ICON_NAME = 'new-outline';\nexports.RECENTLY_UPDATED_ROWS_ICON_SIZE = 'sm';\n","exports.TEXT_ALIGNMENT_DEFAULT = 'default';\nexports.TEXT_ALIGNMENT_CENTER = 'center';\nexports.TEXT_ALIGNMENT_INVERSE = 'inverse';\n\nexports.TEXT_ALIGNMENT_ENUMS = [\n\texports.TEXT_ALIGNMENT_DEFAULT,\n\texports.TEXT_ALIGNMENT_CENTER,\n\texports.TEXT_ALIGNMENT_INVERSE,\n];\n\nexports.ALIGNMENT_CLASS_PREFIX = 'text-align-';\n\nexports.RELATIVE_TO_TEXT_ALIGNMENT_START = 'textStart';\nexports.RELATIVE_TO_TEXT_ALIGNMENT_END = 'textEnd';\nexports.RELATIVE_TO_TEXT_ALIGNMENT_ENUMS = [\n\texports.RELATIVE_TO_TEXT_ALIGNMENT_START,\n\texports.RELATIVE_TO_TEXT_ALIGNMENT_END,\n];\n","const {\n\tTEXT_ALIGNMENT_DEFAULT,\n\tTEXT_ALIGNMENT_ENUMS,\n} = require('./alignmentTypes/alignmentTypes');\nconst {\n\tCOLUMN_TYPES_ENUMS,\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tTYPE_STRING,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n} = require('./columnTypes/columnTypes');\nconst {\n\tnumberTypeProperties,\n\tpercentCompleteTypeProperties,\n\tdateTimeTypeProperties,\n\turlTypeProperties,\n\tpillsTypeProperties,\n\tpersonTypeProperties,\n\tcurrencyTypeProperties,\n\tcustomTypeProperties,\n\theaderIconProperties,\n\tchoiceTypeProperties,\n} = require('./columnTypes/typeSpecificSchemas');\nconst { galleryConfigSchema } = require('./galleryConfig/galleryConfig');\nconst { SORT_ENUMS, SORT_NONE } = require('./sortTypes/sortTypes');\n\nmodule.exports = {\n\tcolumnDefinitionsSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcolumnHeaderTextTooltip: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\tcolumnFilteringInfo: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcolumnFilterCustomValueEditorEmittedActions: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolumns: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tkey: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tpattern: `^(?:(?!:${SPECIAL_TYPE_ACTIONS} | ${SPECIAL_TYPE_SELECTION} | ${SPECIAL_TYPE_ROW_DRAG_HANDLE} | ${SPECIAL_TYPE_GROUP_TOGGLE} | ${SPECIAL_TYPE_GROUP_BADGE} | ${SPECIAL_TYPE_PARENT_TOGGLE} | ${SPECIAL_TYPE_PARENT_BADGE}).)*$`, // disallows configuring a column with unique special keys\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: COLUMN_TYPES_ENUMS,\n\t\t\t\t\t\t\tdefault: TYPE_STRING,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talignment: {\n\t\t\t\t\t\t\tenum: TEXT_ALIGNMENT_ENUMS,\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: TEXT_ALIGNMENT_DEFAULT,\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderCellAlignment: {\n\t\t\t\t\t\t\tenum: TEXT_ALIGNMENT_ENUMS,\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: TEXT_ALIGNMENT_DEFAULT,\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderTextDisabled: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\trenderAsLink: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcellEditingDisabled: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twidth: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tpattern: '\\\\d+(px|%)?',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmaxCharacters: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tdefault: 4000,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsortDirection: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: SORT_NONE,\n\t\t\t\t\t\t\tenum: SORT_ENUMS,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfirstDayOfWeek: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tdefault: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ticons: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tstartIcons: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: headerIconProperties,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmaxItems: 3,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tendIcons: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: headerIconProperties,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmaxItems: 3,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolumnFilterConfig: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcustomTopText: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperators: {\n\t\t\t\t\t\t\t\t\ttype: ['array', null],\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequiresValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tselectedOperator: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\ttype: [\n\t\t\t\t\t\t\t\t\t\t'string',\n\t\t\t\t\t\t\t\t\t\t'number',\n\t\t\t\t\t\t\t\t\t\t'boolean',\n\t\t\t\t\t\t\t\t\t\t'array',\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalueEditorCustomComponentTag: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalueEditorCustomComponentDefaultProps: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tpatternProperties: {\n\t\t\t\t\t\t\t\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\t\t\t\t\t\t\t\ttype: [\n\t\t\t\t\t\t\t\t\t\t\t\t'number',\n\t\t\t\t\t\t\t\t\t\t\t\t'string',\n\t\t\t\t\t\t\t\t\t\t\t\t'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t'object',\n\t\t\t\t\t\t\t\t\t\t\t\t'array',\n\t\t\t\t\t\t\t\t\t\t\t\t'null',\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t// parent columns cannot have column header actions or cell actions\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Parent Column',\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Leaf Column',\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tcolumnHeaderActions: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcellActions: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...numberTypeProperties,\n\t\t\t\t\t\t...percentCompleteTypeProperties,\n\t\t\t\t\t\t...dateTimeTypeProperties,\n\t\t\t\t\t\t...urlTypeProperties,\n\t\t\t\t\t\t...personTypeProperties,\n\t\t\t\t\t\t...pillsTypeProperties,\n\t\t\t\t\t\t...currencyTypeProperties,\n\t\t\t\t\t\t...customTypeProperties,\n\t\t\t\t\t\t...choiceTypeProperties,\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['key'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tgalleryConfig: galleryConfigSchema,\n\t\t\trequired: ['columns'],\n\t\t},\n\t},\n};\n","exports.TYPE_BOOLEAN = 'boolean';\nexports.TYPE_CHOICE = 'choice';\nexports.TYPE_CURRENCY = 'currency';\nexports.TYPE_CUSTOM = 'custom';\nexports.TYPE_DATE_TIME = 'dateTime';\nexports.TYPE_ICON = 'icon';\nexports.TYPE_LINK = 'link';\nexports.TYPE_NUMBER = 'number';\nexports.TYPE_PERCENT_COMPLETE = 'percent_complete';\nexports.TYPE_PERSON = 'person';\nexports.TYPE_PILLS = 'pills';\nexports.TYPE_STRING = 'string';\nexports.TYPE_URL = 'url';\nexports.TYPE_HTML = 'html';\nexports.TYPE_IMAGE = 'image';\n\nexports.COLUMN_TYPES_ENUMS = [\n\texports.TYPE_STRING,\n\texports.TYPE_NUMBER,\n\texports.TYPE_BOOLEAN,\n\texports.TYPE_DATE_TIME,\n\texports.TYPE_LINK,\n\texports.TYPE_URL,\n\texports.TYPE_ICON,\n\texports.TYPE_PERSON,\n\texports.TYPE_PILLS,\n\texports.TYPE_CURRENCY,\n\texports.TYPE_CUSTOM,\n\texports.TYPE_CHOICE,\n\texports.TYPE_PERCENT_COMPLETE,\n\texports.TYPE_HTML,\n\texports.TYPE_IMAGE,\n];\n\n// the below column types are unique and are configured differently from data columns\n// there can only be one per list of each\nexports.SPECIAL_TYPE_ROW_DRAG_HANDLE = 'rowDrag';\nexports.SPECIAL_TYPE_GROUP_TOGGLE = 'groupToggle';\nexports.SPECIAL_TYPE_GROUP_BADGE = 'groupBadge';\nexports.SPECIAL_TYPE_ACTIONS = 'rowActions';\nexports.SPECIAL_TYPE_SELECTION = 'selection';\nexports.SPECIAL_TYPE_PARENT_BADGE = 'parentBadge';\nexports.SPECIAL_TYPE_PARENT_TOGGLE = 'parentToggle';\n","const {\n\tCURRENCY_DEFAULT,\n\tCURRENCY_LOCALE_DEFAULT,\n} = require('../../../shared/views/fields/currency/currencyConstants');\nconst {\n\tTIME_AGO_DISPLAY_ENUMS,\n\tTIME_AGO_DISPLAY_NONE,\n} = require('../../../shared/views/fields/dateTime/constants');\nconst {\n\tDECIMAL_PLACES_DEFAULT,\n\tNUMBER_FORMAT_ENUMS,\n\tNUMBER_FORMAT_INTEGER,\n\tNUMBER_DEFAULT_LOCALE,\n\tNUMBER_SHOW_DELIMITER_DEFAULT,\n} = require('../../../shared/views/fields/number/constants');\nconst {\n\tOPENS_IN_NEW_DEFAULT,\n} = require('../../../shared/views/fields/url/urlConstants');\nconst {\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n\tPERSON_DISPLAY_TYPE_ENUMS,\n} = require('../../../shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants');\nconst {\n\tMAX_PILL_LIMIT_DEFAULT,\n\tMAX_MAX_PILL_LIMIT,\n} = require('../../../shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants.js');\n\nexports.numberTypeProperties = {\n\tnumberFormat: {\n\t\ttype: 'string',\n\t\tenum: NUMBER_FORMAT_ENUMS,\n\t\tdefault: NUMBER_FORMAT_INTEGER,\n\t},\n\tdecimalPlaces: {\n\t\ttype: 'number',\n\t\tdefault: DECIMAL_PLACES_DEFAULT,\n\t},\n\tlocale: {\n\t\ttype: 'string',\n\t\tdefault: NUMBER_DEFAULT_LOCALE,\n\t},\n\tshowDelimiter: {\n\t\ttype: 'boolean',\n\t\tdefault: NUMBER_SHOW_DELIMITER_DEFAULT,\n\t},\n};\n\nexports.percentCompleteTypeProperties = {\n\tthresholdColors: {\n\t\ttype: 'string',\n\t},\n};\n\nexports.dateTimeTypeProperties = {\n\tdateTimeFormat: {\n\t\ttype: 'string',\n\t\tpattern: '^((?!Y|D|A|Z|X).)*$', // date-fns-tz doesn't allow the use of these capital letters like moment – reference the format docs specified in the readme docs.\n\t},\n\ttimeZone: {\n\t\ttype: 'string',\n\t\tpattern:\n\t\t\t// disallow everything but letters and _, forward slash in the middle\n\t\t\t'[^0-9!@#$%^&*()+\\\\-=\\\\[\\\\]{};\\':\"\\\\\\\\|,.<>\\\\?\\\\s\\\\n]/[^0-9!@#$%^&*()+\\\\-=\\\\[\\\\]{};\\':\"\\\\\\\\|,.<>\\\\?\\\\s\\\\n]',\n\t},\n\ttimeAgoDisplay: {\n\t\tenum: TIME_AGO_DISPLAY_ENUMS,\n\t\ttype: 'string',\n\t\tdefault: TIME_AGO_DISPLAY_NONE,\n\t},\n};\n\nexports.actionableLinkTypeProperties = {\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.urlTypeProperties = {\n\topensInNew: {\n\t\ttype: 'boolean',\n\t\tdefault: OPENS_IN_NEW_DEFAULT,\n\t},\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.pillsTypeProperties = {\n\tmaxPillLimit: {\n\t\ttype: 'number',\n\t\tdefault: MAX_PILL_LIMIT_DEFAULT,\n\t\tmaximum: MAX_MAX_PILL_LIMIT,\n\t},\n\tpillsChoices: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tcanEdit: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n\nexports.choiceTypeProperties = {\n\tchoices: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tdefaultChoiceKey: {\n\t\ttype: 'string',\n\t},\n};\n\nexports.personTypeProperties = {\n\tdisplay: {\n\t\tenum: PERSON_DISPLAY_TYPE_ENUMS,\n\t\ttype: 'string',\n\t\tdefault: PERSON_DISPLAY_TYPE_DEFAULT,\n\t},\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.currencyTypeProperties = {\n\tcurrency: {\n\t\ttype: 'string',\n\t\tdefault: CURRENCY_DEFAULT,\n\t},\n\tlocale: {\n\t\ttype: 'string',\n\t\tdefault: CURRENCY_LOCALE_DEFAULT,\n\t},\n};\n\nexports.customTypeProperties = {\n\tcomponentTag: {\n\t\ttype: 'string',\n\t},\n\tplaceholderDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tcellContentDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tdefaultComponentProps: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\ttype: [\n\t\t\t\t\t'number',\n\t\t\t\t\t'string',\n\t\t\t\t\t'boolean',\n\t\t\t\t\t'object',\n\t\t\t\t\t'array',\n\t\t\t\t\t'null',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n\nexports.headerIconProperties = {\n\tvalue: {\n\t\ttype: 'string',\n\t},\n\tcolor: {\n\t\ttype: 'string',\n\t},\n\tlabel: {\n\t\ttype: 'string',\n\t},\n};\n","// TODO: Add details for schema to the docs in story STRY59778130\nmodule.exports = {\n\tgalleryConfigSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tfields: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\theading: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\ttagline: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tbodyText: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tsupplementaryFields: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: [\n\t\t\t\t\t'heading',\n\t\t\t\t\t'tagline',\n\t\t\t\t\t'metadata',\n\t\t\t\t\t'bodyText',\n\t\t\t\t\t'supplementaryFields',\n\t\t\t\t],\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tshowLabel: { type: 'boolean' },\n\t\t\t\t\tfullWidth: { type: 'boolean' },\n\t\t\t\t\tenableOnlySingleSelection: { type: 'boolean' },\n\t\t\t\t\tgalleryItemTooltip: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trequired: ['fields'],\n\t},\n};\n","exports.SORT_NONE = 'none';\nexports.SORT_ASCENDING = 'ascending';\nexports.SORT_DESCENDING = 'descending';\n\nexports.SORT_ENUMS = [\n\texports.SORT_NONE,\n\texports.SORT_ASCENDING,\n\texports.SORT_DESCENDING,\n];\n","/* this file contains constants to configure the builtin overlays for when the list is unconfigured or empty */\nimport { t } from 'sn-translate';\n\nconst {\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n} = require('./overlayConfigConsts');\n\n// overlay config for when rowDefinitions or rows is undefined (empty)\nconst OVERLAY_NO_ROWS_ILLUSTRATION = 'no-data';\nconst OVERLAY_NO_ROWS_HEADING_LABEL = t('No data to display.');\n\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_NO_ROWS_CONFIG = {\n\tshowColumnHeaders: true,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_NO_ROWS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_NO_ROWS_HEADING_LABEL,\n\t\t},\n\t},\n};\n\n// overlay config for when duplicate row keys are found\nconst OVERLAY_DUPLICATE_ROW_KEYS_ILLUSTRATION = 'no-data';\nconst OVERLAY_DUPLICATE_ROW_KEYS_LABEL = t('Invalid row data.');\nconst OVERLAY_DUPLICATE_ROW_KEYS_CONTENT = t('Duplicate row keys found.');\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_DUPLICATE_ROW_KEYS_CONFIG = {\n\tshowColumnHeaders: true,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_DUPLICATE_ROW_KEYS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_DUPLICATE_ROW_KEYS_LABEL,\n\t\t},\n\t\tcontent: OVERLAY_DUPLICATE_ROW_KEYS_CONTENT,\n\t},\n};\n\n// overlay config for when columnsDefinitions or columns is undefined (unconfig error)\nconst OVERLAY_NO_COLS_ILLUSTRATION = 'unconfigured';\nconst OVERLAY_NO_COLS_HEADING_LABEL = t(\n\t'One or more property values are invalid.'\n);\nconst OVERLAY_NO_COLS_CONTENT = t('Please check the column configuration.');\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_NO_COLS_CONFIG = {\n\tshowColumnHeaders: false,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_NO_COLS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_NO_COLS_HEADING_LABEL,\n\t\t},\n\t\tcontent: OVERLAY_NO_COLS_CONTENT,\n\t},\n};\n","const OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT = false;\n\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_MESSAGE = 'message';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_LOADER = 'loader';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_SKELETON_LOADER = 'skeletonLoader';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_CUSTOM = 'custom';\n\nconst OVERLAY_TYPE_ENUMS = [\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n\tOVERLAY_TYPE_CUSTOM,\n];\nconst OVERLAY_TYPE_DEFAULT = OVERLAY_TYPE_MESSAGE;\n\nconst OVERLAY_DEFAULT_HEADING_LEVEL = 5;\n\nconst OVERLAY_ILLUSTRATION_ENUMS = [\n\t'add-attachment',\n\t'add-data',\n\t'completed-tasks',\n\t'error',\n\t'first-time-user',\n\t'interrupted',\n\t'no-activities',\n\t'no-data',\n\t'no-search-results',\n\t'offline',\n\t'permissions',\n\t'unconfigured',\n];\n\nconst OVERLAY_LOADER_SIZES_ENUMS = ['md', 'lg'];\n\nconst OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS = 6; // set by designers\nconst OVERLAY_SKELETON_LOADER_NUM_ROWS = 25; // magic number that will probably fill the space\n\nmodule.exports = {\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n\tOVERLAY_ILLUSTRATION_ENUMS,\n\tOVERLAY_LOADER_SIZES_ENUMS,\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\tOVERLAY_SKELETON_LOADER_NUM_ROWS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_DEFAULT,\n\tOVERLAY_TYPE_ENUMS,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n};\n","const {\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n\tOVERLAY_ILLUSTRATION_ENUMS,\n\tOVERLAY_LOADER_SIZES_ENUMS,\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('./overlayConfigConsts');\n\nconst commonProperties = {\n\tshowColumnHeaders: {\n\t\ttype: 'boolean',\n\t\tdefault: OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\t},\n};\n\nmodule.exports = {\n\toverlayDefinitionSchema: {\n\t\ttype: 'object',\n\t\toneOf: [\n\t\t\t{\n\t\t\t\tname: 'Message',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_MESSAGE],\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t\tmessageConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t// schema sourced from now-template-message-empty-state\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tactions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tvariant: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tdisabled: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\ttooltipContent: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tclickActionType: { type: 'string' },\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theading: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\t\t\tlevel: {\n\t\t\t\t\t\t\t\t\t\tdefault: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\t\tenum: [1, 2, 3, 4, 5, 6],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tillustration: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: OVERLAY_ILLUSTRATION_ENUMS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Loader',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_LOADER],\n\t\t\t\t\t},\n\t\t\t\t\tloaderConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t// schema sourced from now-loader\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: OVERLAY_LOADER_SIZES_ENUMS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Skeleton loader',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_SKELETON_LOADER],\n\t\t\t\t\t},\n\t\t\t\t\tskeletonLoaderConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tnumColumns: {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tdefault: OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Custom',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_CUSTOM],\n\t\t\t\t\t},\n\t\t\t\t\tcustomConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcustomOverlayEmittedActions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t],\n\t},\n};\n","// schemas sourced from now-dropdown https://code.devsnc.com/dev/design-system/tree/dev/components/dropdown/src/typedefs\nconst DROPDOWN_ITEM_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: { type: ['string', 'number'] },\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsublabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcount: { type: 'number' },\n\t\ticon: { type: 'string' },\n\t\tpresence: {\n\t\t\ttype: 'string',\n\t\t\tenum: ['available', 'away', 'busy', 'offline'],\n\t\t},\n\t\tdisabled: { type: 'boolean' },\n\t},\n};\n\nconst DROPDOWN_SECTION_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: { type: ['string', 'number'] },\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tchildren: {\n\t\t\ttype: 'array',\n\t\t\titems: DROPDOWN_ITEM_SCHEMA,\n\t\t},\n\t},\n};\n\nmodule.exports = {\n\tpopoverDefinitionSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\ttarget: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Column Header Cell',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumnRowIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t\tcolumnCellIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Row Cell',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\trowIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t\tcellIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tconfig: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpositions: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tdismissOnScroll: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t\tdisableScroll: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t\tdismissable: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Text + Buttons',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttext: { type: 'string' },\n\t\t\t\t\t\t\tbuttons: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tariaLabel: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Action Dropdown',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: 'Dropdown section',\n\t\t\t\t\t\t\t\t\t\t\t...DROPDOWN_SECTION_SCHEMA,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: 'Dropdown item',\n\t\t\t\t\t\t\t\t\t\t\t...DROPDOWN_ITEM_SCHEMA,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['label', 'actions'],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Custom Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['componentTag'],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Cell Edit Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thighlightedMessage: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tshowIcon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonsConfig: {\n\t\t\t\t\t\t\t\tshowRetry: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisableApply: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\thideAll: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisLoading: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['popoverType', 'defaultComponentProps'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Choice Column Filter Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['popoverType'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n","exports.ROW_ALIGNMENT_DEFAULT = 'default';\nexports.ROW_ALIGNMENT_CENTER = 'center';\nexports.ROW_ALIGNMENT_INVERSE = 'inverse';\nexports.ROW_ALIGNMENT_ENUMS = [\n\texports.ROW_ALIGNMENT_DEFAULT,\n\texports.ROW_ALIGNMENT_CENTER,\n\texports.ROW_ALIGNMENT_INVERSE,\n];\n","exports.POSITION_TABLE_START = 'start';\nexports.POSITION_TABLE_END = 'end';\nexports.POSITION_ENUMS = [\n\texports.POSITION_TABLE_START,\n\texports.POSITION_TABLE_END,\n];\nexports.DEFAULT_ROW_ACTION_NUM_ICONS = 4;\nexports.DEFAULT_ROW_ACTION_ICON = 'magic-outline';\n","const {\n\tACTIONABLE_MESSAGE_STATUS_ENUMS,\n\tACTIONABLE_MESSAGE_STATUS_DEFAULT,\n} = require('../../shared/views/actionableMessage/constants');\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n\tICON_CELL_COLORS_ENUMS,\n} = require('../../shared/views/fields/icon/iconConstants');\nconst {\n\tEMPTY_CELL_VALUE,\n} = require('../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst { ROW_ALIGNMENT_ENUMS } = require('./rowAlignments/rowAlignment');\nconst {\n\tDEFAULT_ROW_ACTION_ICON,\n\tDEFAULT_ROW_ACTION_NUM_ICONS,\n\tPOSITION_ENUMS,\n\tPOSITION_TABLE_START,\n} = require('./rowConfigConsts');\nconst { ROW_TYPE_ENUMS } = require('./rowTypes/rowTypes');\n\nconst DEFAULT_ROW_SCHEMA = {\n\ttype: {\n\t\ttype: 'string',\n\t\tenum: ROW_TYPE_ENUMS,\n\t},\n\tkey: {\n\t\ttype: 'string',\n\t},\n\texcludedActions: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tdefault: [],\n\t},\n\t/**\n\t * @deprecated This property is deprecated and may be removed in a future release. Use excludedActions instead.\n\t */\n\tdisableActions: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tselectionDisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tisSelected: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tisAIModifiedOrCreated: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tcells: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\tactions: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: EMPTY_CELL_VALUE,\n\t\t\t\t},\n\t\t\t\teditingDisabled: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\tdisabled: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\timageSrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: ICON_CELL_COLOR_DEFAULT,\n\t\t\t\t\tenum: ICON_CELL_COLORS_ENUMS,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: ['string', 'number', 'boolean', 'array'],\n\t\t\t\t\tdefault: EMPTY_CELL_VALUE,\n\t\t\t\t},\n\t\t\t\thighlightedValue: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tvalue: 'string',\n\t\t\t\t\t\tvariant: 'string',\n\t\t\t\t\t\tcolor: 'string',\n\t\t\t\t\t\tshowIcon: 'boolean',\n\t\t\t\t\t\ticonName: 'string',\n\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['md', 'sm'],\n\t\t\t\t\t\t\tdefault: 'md',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmetadata: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tmetadata: {\n\t\ttype: 'object',\n\t},\n};\n\nconst GROUPED_ROW_SCHEMA = {\n\tgroupedRowLabel: {\n\t\ttype: 'string',\n\t},\n\tgroupActions: {\n\t\ttype: 'array',\n\t\tdefault: [],\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\taction: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tgroupRowHref: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: ['id', 'label', 'action'],\n\t\t},\n\t},\n\tgroupInfoMessage: {\n\t\ttype: 'string',\n\t},\n};\n\nconst CUSTOM_ROW_SCHEMA = {\n\tcomponentTag: {\n\t\ttype: 'string',\n\t},\n\tcomponentProps: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\ttype: [\n\t\t\t\t\t'number',\n\t\t\t\t\t'string',\n\t\t\t\t\t'boolean',\n\t\t\t\t\t'object',\n\t\t\t\t\t'array',\n\t\t\t\t\t'null',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tcontentAlignment: {\n\t\ttype: 'string',\n\t\tenum: ROW_ALIGNMENT_ENUMS,\n\t},\n\tplaceholderDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\trowContentDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst ACTIONABLE_MESSAGE_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tstatus: {\n\t\t\ttype: 'string',\n\t\t\tdefault: ACTIONABLE_MESSAGE_STATUS_DEFAULT,\n\t\t\tenums: ACTIONABLE_MESSAGE_STATUS_ENUMS,\n\t\t\trequired: false,\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\taction: 'string',\n\t\t\t\tlabel: 'string',\n\t\t\t\trequired: ['action', 'label'],\n\t\t\t},\n\t\t},\n\t},\n};\n\nmodule.exports = {\n\trowDefinitionsSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tactions: {\n\t\t\t\ttype: 'object',\n\t\t\t\tposition: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: POSITION_TABLE_START,\n\t\t\t\t\tenum: POSITION_ENUMS,\n\t\t\t\t},\n\t\t\t\tnumActionIcons: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tdefault: DEFAULT_ROW_ACTION_NUM_ICONS,\n\t\t\t\t},\n\t\t\t\tactionsItems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: DEFAULT_ROW_ACTION_ICON,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trows: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\t...DEFAULT_ROW_SCHEMA,\n\t\t\t\t\t\t...GROUPED_ROW_SCHEMA,\n\t\t\t\t\t\t...CUSTOM_ROW_SCHEMA,\n\t\t\t\t\t\tisGroupExpanded: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupedRowCount: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisualTreatment: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tisHighlighted: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tshowUpdatedIcon: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tisGrayedOut: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t...DEFAULT_ROW_SCHEMA,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcustomCellEmittedActions: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['key', 'cells'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\trequired: ['rows'],\n\t\t\ttopActionableMessage: ACTIONABLE_MESSAGE_SCHEMA,\n\t\t\tbottomActionableMessage: ACTIONABLE_MESSAGE_SCHEMA,\n\t\t\thighlightedContent: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tdefault: [],\n\t\t\t},\n\t\t},\n\t},\n};\n","exports.ROW_TYPE_DEFAULT = 'default';\nexports.ROW_TYPE_GROUPED = 'grouped';\nexports.ROW_TYPE_CUSTOM = 'custom';\nexports.ROW_TYPE_ENUMS = [\n\texports.ROW_TYPE_DEFAULT,\n\texports.ROW_TYPE_GROUPED,\n\texports.ROW_TYPE_CUSTOM,\n];\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table{border-collapse:collapse;height:-moz-fit-content;height:fit-content;position:relative;table-layout:auto;text-align:start;width:100%}table,table div.html-icon{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem}table div.html-icon{--now-line-height:0;line-height:var(--now-line-height,1.25);vertical-align:middle}table div.html-icon>svg.now-icon{fill:currentcolor;fill-rule:evenodd}table div.html-icon>svg.now-icon.-sm{block-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2);inline-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2)}table div.html-icon>svg.now-icon.-md{block-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2)}table div.html-icon svg.now-icon{color:inherit}table .drag-handle{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);block-size:auto;border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109))));cursor:grab;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:auto;padding:0;vertical-align:middle}table .drag-handle,table .drag-handle:active,table .drag-handle:hover{background-color:transparent;border-color:transparent;border-width:0}table .drag-handle:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--hover,var(--now-button--bare_primary--background-color--hover,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button-iconic--bare_primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82))))}table .drag-handle:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button-iconic--bare_primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55))))}table .drag-handle.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .drag-handle.high-contrast{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color,var(--now-color--primary-2,23,100,82)))}table .drag-handle.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--hover,var(--now-color--primary-3,15,67,55)))}table .drag-handle.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}table .group-row-toggle,table .group-toggle-all-button{align-items:center;block-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);justify-content:center}table .group-row-toggle,table .group-row-toggle:active,table .group-row-toggle:hover,table .group-toggle-all-button,table .group-toggle-all-button:active,table .group-toggle-all-button:hover{background-color:transparent;border-color:transparent;border-width:0}table .group-row-toggle:not(.is-disabled):hover,table .group-toggle-all-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}table .group-row-toggle:not(.is-disabled):active,table .group-toggle-all-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}table .group-row-toggle.is-disabled,table .group-toggle-all-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .group-row-toggle.high-contrast,table .group-toggle-all-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}table .group-row-toggle.high-contrast:not(.is-disabled):hover,table .group-toggle-all-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .group-row-toggle.high-contrast:not(.is-disabled):active,table .group-toggle-all-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .group-row-toggle .html-group-button,table .group-toggle-all-button .html-group-button{transition:all .15s ease}table .group-row-toggle .html-group-button[dir=rtl],table .group-toggle-all-button .html-group-button[dir=rtl]{transform:rotate(180deg)}table .group-row-toggle .html-group-button.group-expanded,table .group-row-toggle .html-group-button.groups-expanded,table .group-toggle-all-button .html-group-button.group-expanded,table .group-toggle-all-button .html-group-button.groups-expanded{transform:rotate(90deg)}table .group-row-toggle .html-group-button.group-expanded[dir=rtl],table .group-row-toggle .html-group-button.groups-expanded[dir=rtl],table .group-toggle-all-button .html-group-button.group-expanded[dir=rtl],table .group-toggle-all-button .html-group-button.groups-expanded[dir=rtl]{transform:rotate(-90deg)}table .row-actions-button{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}table .row-actions-button,table .row-actions-button:active,table .row-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}table .row-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}table .row-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}table .row-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .row-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}table .row-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .row-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table tr{height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);min-height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2)}table tr now-icon,table tr svg.now-icon.-md{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}table tr now-icon.critical,table tr svg.now-icon.-md.critical{color:RGB(var(--now-color_alert--critical-4,120,36,32))}table tr now-icon.high,table tr svg.now-icon.-md.high{color:RGB(var(--now-color_alert--high-4,133,87,20))}table tr now-icon.warning,table tr svg.now-icon.-md.warning{color:RGB(var(--now-color_alert--warning-4,149,139,17))}table tr now-icon.moderate,table tr svg.now-icon.-md.moderate{color:RGB(var(--now-color_alert--moderate-4,50,52,124))}table tr now-icon.info,table tr svg.now-icon.-md.info{color:RGB(var(--now-color_alert--info-4,8,72,118))}table tr now-icon.positive,table tr svg.now-icon.-md.positive{color:RGB(var(--now-color_alert--positive-4,22,79,26))}table tr now-icon.low,table tr svg.now-icon.-md.low{color:RGB(var(--now-color_alert--low-4,61,61,61))}table td,table th{padding:0}table td::-moz-focus-inner,table th::-moz-focus-inner{border-style:none}table td:focus,table th:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){table td:focus,table th:focus{outline:1px solid highlight}}table td.text-align-default,table th.text-align-default{text-align:start}table td.text-align-center,table th.text-align-center{text-align:center}table td.text-align-inverse,table th.text-align-inverse{text-align:end}table td.column-active,table td:hover:not(.special-column-cell):not(.group-row-container):not(.skeleton-cell):not(.custom-row-content),table th.column-active,table th:hover:not(.special-column-cell):not(.group-row-container):not(.skeleton-cell):not(.custom-row-content){background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}table td .include-large-padding,table th .include-large-padding{margin-inline-start:1.25rem}table td .include-small-padding,table th .include-small-padding{margin-inline-start:.5rem}table td .large-grouped-row-indent,table th .large-grouped-row-indent{margin-inline-start:1.5rem}table td .small-grouped-row-indent,table th .small-grouped-row-indent{margin-inline-start:.5rem}table td .cell-content:not(.special-column-cell-content):not(.group-row-content),table th .cell-content:not(.special-column-cell-content):not(.group-row-content){flex-grow:1;margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);text-overflow:ellipsis}:host(:not([dir=rtl])) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host(:not([dir=rtl])) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host(:not([dir=rtl])) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}table td .cell-content:not(.special-column-cell-content):not(.group-row-content):not(.group-row-content):not(.custom-row-content),table th .cell-content:not(.special-column-cell-content):not(.group-row-content):not(.group-row-content):not(.custom-row-content){overflow:hidden}table td.special-column-cell,table th.special-column-cell{width:1.25rem}table td.special-column-cell .live-list-eyelash,table th.special-column-cell .live-list-eyelash{inset-block-start:.25rem;inset-inline-start:2rem;position:absolute}table td.special-column-cell .header-cell-content,table td.special-column-cell .row-cell-content,table th.special-column-cell .header-cell-content,table th.special-column-cell .row-cell-content{max-width:max-content;min-width:max-content}table td .special-column-cell-content,table th .special-column-cell-content{align-items:center;display:flex;justify-content:center;overflow:visible;padding:0 .25rem;white-space:nowrap}table td .special-column-cell-content .row-cell-actions-button,table th .special-column-cell-content .row-cell-actions-button{margin-inline-end:unset}table td .row-drag,table th .row-drag{opacity:0}table td .row-drag .always-show,table th .row-drag .always-show{opacity:1}table th.column-active:not(.column-source-placeholder){box-shadow:inset 0 0 0 1px RGBA(var(--now-color--primary-1,30,133,109))}table tr.row-drag-clone td,table tr.row-drag-clone td:focus,table tr.row-drag-clone td:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))!important;border-color:RGB(var(--now-color--primary-1,30,133,109));border-style:solid;border-width:1px 0;height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);opacity:1;text-align:center;vertical-align:middle}table tr.row-drag-clone td:first-child{border-inline-start-width:1px}table tr.row-drag-clone td:last-child{border-inline-end-width:1px}table td,table.truncate tr{line-height:1.25}@media(forced-colors:active){table{border-collapse:separate;border-spacing:0}}thead{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));inset-block-start:0;position:sticky;z-index:1}thead tr{box-sizing:border-box;display:table-row;line-height:20px}th,thead tr{white-space:nowrap}th button{display:inline-flex}th:focus .column-drag-drop-handle-wrapper,th:focus-within .column-drag-drop-handle-wrapper,th:hover .column-drag-drop-handle-wrapper{opacity:1}th .header-cell-content{display:flex;height:100%;text-overflow:ellipsis}th .header-cell-content .special-column-cell-content{align-items:center;display:flex}th .column-drag-drop-handle-wrapper{margin:0 .125rem;min-width:1rem;opacity:0}th .header-cell-content-child{align-items:center;display:flex;height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);width:100%}th .header-cell-aligned-items{align-items:center;display:flex;gap:.25rem;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:100%}th .header-cell-aligned-items .header-cell-icon{display:inline-block}th .header-cell-text{background:inherit;border:inherit;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),var(--now-color--neutral-18,22,27,28),22,27,28);font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;word-spacing:inherit}th .header-cell-text.header-cell-text-button:focus,th .header-cell-text.header-cell-text-button:hover{cursor:pointer;text-decoration:underline}th .header-cell-button-label{display:inline-block;max-width:-moz-fit-content;max-width:fit-content;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}th .column-header-actions-button{align-items:center;block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);justify-content:center;margin:0;opacity:0;padding:0;vertical-align:middle}th .column-header-actions-button,th .column-header-actions-button:active,th .column-header-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}th .column-header-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}th .column-header-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}th .column-header-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}th .column-header-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}th .column-header-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}th .column-header-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}th .column-header-actions-button:not(.drag-handle){min-inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}th .column-header-actions-button:focus,th .column-header-actions-button:hover{opacity:1}th .column-header-actions-button:hover{border-color:RGB(var(--now-button--secondary--border-color--hover));border-style:solid;border-width:var(--now-button--secondary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)))}th .column-header-actions-button.active-popover-trigger{background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81)),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25)));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71)));opacity:1}th:focus-within:not(.special-column-cell){background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}th.text-align-default .header-cell-aligned-items{justify-content:start}th.text-align-center .header-cell-aligned-items{justify-content:center}th.text-align-inverse .header-cell-aligned-items{justify-content:end}th .resize-slider-container{align-items:stretch;box-shadow:inset -1px 0 RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;justify-content:flex-end;opacity:0;width:.375rem;z-index:1}th .resize-slider-container .resize-slider{align-self:stretch;background:RGB(var(--now-color_chrome--divider-2,118,132,133));cursor:col-resize;display:flex;justify-content:center;opacity:inherit;outline:none;width:.375rem}th .resize-slider-container .resize-slider.active{background:RGB(var(--now-color_chrome--divider-2,118,132,133));opacity:1}th .resize-slider-container .resize-slider-guide{background:RGB(var(--now-color_chrome--divider-2,118,132,133));height:100%;inset-block-start:0;position:absolute;width:1px;z-index:-1}th .resize-slider-container:active,th .resize-slider-container:focus,th .resize-slider-container:hover{opacity:1}.parent-col-cell-content{inset-inline-start:0;position:sticky}.column-drop-area-divider{background-color:RGB(var(--now-color--primary-1,30,133,109));inset-block-start:0;position:absolute;width:.125rem}.always-show .column-drag-drop-handle-wrapper .column-drag-handle now-button-iconic,.always-show .column-header-actions-button,.always-show .resize-slider-container{opacity:1}@media(forced-colors:active){.header-cell:focus,.header-cell:hover{border:1px solid Highlight;outline:none}.header-cell:focus .header-cell-text,.header-cell:hover .header-cell-text{border:1px solid buttonborder}.header-cell .header-cell-text:focus,.header-cell .header-cell-text:hover{border:1px solid Highlight;color:Highlight}.column-drop-area-divider{background-color:Highlight}}.column-filtering-row{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;text-overflow:ellipsis;vertical-align:bottom}.column-filtering-row .column-filtering-label-cell .column-filtering-label-cell-content{align-items:center;display:flex;flex-flow:row wrap;float:inline-end;gap:.125rem;justify-content:flex-end;padding:0 .5rem .5rem 0}.column-filtering-row .column-filtering-cell{min-width:144px}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem;justify-content:center;margin-block-end:.375rem;margin-block-start:.125rem}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-operator-dropdown{margin:0}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .choice-filter-text,.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .custom-top-text{height:24px;overflow:hidden;padding:.25rem 0;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fill-available;width:-moz-available;width:stretch}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-bottom-container{display:flex;flex-direction:row;gap:.125rem;width:100%}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-value-input{flex:1;margin:0}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content now-button{width:100%}tbody .row-drag-dest-placeholder{border:2px solid RGB(var(--now-color--primary-1,30,133,109));height:1px}tr{outline:none;position:relative;transition:display .2s ease}tr::-moz-focus-inner{border-style:none}tr:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){tr:focus{outline:1px solid highlight}}tr.is-hidden{display:none}tr.virtualized-list{height:64px}tr:not(.is-shade-alternate-rows-off):not(.is-checked):not(.is-highlighted).is-odd{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}tr:not(.is-shade-alternate-rows-off):not(.is-checked):not(.is-highlighted).is-even{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}tr.is-shade-alternate-rows-off{border-block-start:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))}tr.is-checked,tr.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--less,.25))}tr.is-checked.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),calc(var(--now-opacity--least, .1) + var(--now-opacity--less, .25)))}tr.is-active:not(.is-checked){background:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}tr.is-active.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),calc(var(--now-opacity--least, .1) + var(--now-opacity--less, .25)))}tr.grouped-row{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}tr.row-drag-src-placeholder{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}tr.loader-row .loader-cell{overflow:unset}tr.loader-row .loader-cell .custom-cell-loader{inset-inline-start:0;justify-content:start;padding-inline-start:calc(var(--now-scale-space--lg, 1)*1rem);position:sticky;width:max-content}td.cell-selected{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}td.top-side-border{box-shadow:inset 0 1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.bottom-side-border{box-shadow:inset 0 -1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.side-border{box-shadow:inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.top-bottom-side-border{box-shadow:inset 0 1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 0 -1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td{position:relative}td:not(.group-row-container):not(.custom-row-content){overflow:hidden}td:focus .row-cell-actions-button:not(:disabled),td:hover .row-cell-actions-button:not(:disabled){opacity:1}td:first-child.is-group-opened:before{border-start-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-group-opened:before,:root:not([dir=rtl]) td:first-child.is-group-opened:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-group-opened:before,:root[dir=rtl] td:first-child.is-group-opened:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-group-opened:before,:root:not([dir=rtl]) td:first-child.is-group-opened:before{left:0}:host([dir=rtl]) td:first-child.is-group-opened:before,:root[dir=rtl] td:first-child.is-group-opened:before{right:0}td:first-child.is-group-closed:before{border-end-end-radius:0;border-end-start-radius:.25rem;border-start-end-radius:0;border-start-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-group-closed:before,:root:not([dir=rtl]) td:first-child.is-group-closed:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-group-closed:before,:root[dir=rtl] td:first-child.is-group-closed:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-group-closed:before,:root:not([dir=rtl]) td:first-child.is-group-closed:before{left:0}:host([dir=rtl]) td:first-child.is-group-closed:before,:root[dir=rtl] td:first-child.is-group-closed:before{right:0}td:first-child.is-child-row:before{content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-child-row:before,:root:not([dir=rtl]) td:first-child.is-child-row:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-child-row:before,:root[dir=rtl] td:first-child.is-child-row:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-child-row:before,:root:not([dir=rtl]) td:first-child.is-child-row:before{left:0}:host([dir=rtl]) td:first-child.is-child-row:before,:root[dir=rtl] td:first-child.is-child-row:before{right:0}td:first-child.is-last-child-row:before{border-end-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-last-child-row:before,:root:not([dir=rtl]) td:first-child.is-last-child-row:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-last-child-row:before,:root[dir=rtl] td:first-child.is-last-child-row:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-last-child-row:before,:root:not([dir=rtl]) td:first-child.is-last-child-row:before{left:0}:host([dir=rtl]) td:first-child.is-last-child-row:before,:root[dir=rtl] td:first-child.is-last-child-row:before{right:0}@media(forced-colors:active){td.data-column:focus,td.data-column:hover{border:1px solid Highlight;outline:none}td .link-cell-link,td .link-cell-link:focus,td .link-cell-link:hover{color:linktext}}td .highlighted-value-sm{min-width:90px}td .highlighted-value-md{min-width:100px}td:first-child[data-column-key=aiIndicator].is-child-row .row-cell-content,td:first-child[data-column-key=aiIndicator].is-group-closed .row-cell-content,td:first-child[data-column-key=aiIndicator].is-group-opened .row-cell-content,td:first-child[data-column-key=aiIndicator].is-last-child-row .row-cell-content{padding-left:.5rem}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content{-webkit-box-orient:vertical;word-wrap:break-word;-webkit-line-clamp:5;display:-webkit-box;white-space:normal}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content.date-time-cell-content{width:max-content}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .preserve-whitespace{white-space:break-spaces!important}table.virtualized-list td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content{-webkit-box-orient:vertical;word-wrap:break-word;-webkit-line-clamp:2;display:-webkit-box;white-space:normal}table.virtualized-list td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content.date-time-cell-content{width:max-content}table.truncate td .cell-content{white-space:nowrap}.row-cell-content{align-items:center;display:flex;justify-content:space-between}.row-cell-content .currency-cell-content-highlighted,.row-cell-content .number-cell-content-highlighted{display:contents}.row-cell-content.is-highlighted{color:RGB(var(--now-color--primary-2,23,100,82));font-weight:700}.row-cell-content.is-grayed-out{opacity:var(--now-opacity--less,.25)}.row-cell-actions-button{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);margin-inline-end:.5rem;opacity:0}.row-cell-actions-button,.row-cell-actions-button:active,.row-cell-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}.row-cell-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}.row-cell-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}.row-cell-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}.row-cell-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.row-cell-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}.row-cell-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}.row-cell-actions-button.always-show:not(:disabled),.row-cell-actions-button:focus:not(:disabled),.row-cell-actions-button:hover:not(:disabled){opacity:1}.row-cell-actions-button.active-popover-trigger{background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81)),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25)));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71)));opacity:1}.row-cell-actions-button:disabled{cursor:not-allowed}.row-cell-actions-button-placeholder{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);margin-inline-end:.5rem}.row-drag:focus .row-cell-content,.row-drag:focus-within .row-cell-content,.row-drag:hover .row-cell-content{opacity:1}.row-drag .row-cell-content{align-items:center;justify-content:center;opacity:0}.group-badge-cell-content,.parent-badge-cell-content{align-items:center;display:flex}.custom-row-container-center,.custom-row-container-default,.custom-row-container-inverse{inset-inline-start:2.5rem;position:sticky;width:-moz-fit-content;width:fit-content}.custom-row-container-default{inset-inline-start:1.5rem;margin-inline-start:1.5rem}.custom-row-container-center{inset-inline-start:50%;transform:translateX(-50%)}.custom-row-container-inverse{inset-inline-start:85%}.link-cell-content .icon-link,.link-cell-content:not(.disabled),.link-cell-link,.person-cell-content:not(.disabled),.person-cell-link,.url-cell-link{color:RGB(var(--now-color--link-2));cursor:pointer;text-decoration:none}.cell-selected .link-cell-content .icon-link,.cell-selected .link-cell-content:not(.disabled),.cell-selected .link-cell-link,.cell-selected .person-cell-content:not(.disabled),.cell-selected .person-cell-link,.cell-selected .url-cell-link,.is-checked .link-cell-content .icon-link,.is-checked .link-cell-content:not(.disabled),.is-checked .link-cell-link,.is-checked .person-cell-content:not(.disabled),.is-checked .person-cell-link,.is-checked .url-cell-link,.is-highlighted .link-cell-content .icon-link,.is-highlighted .link-cell-content:not(.disabled),.is-highlighted .link-cell-link,.is-highlighted .person-cell-content:not(.disabled),.is-highlighted .person-cell-link,.is-highlighted .url-cell-link{color:RGB(var(--now-color--link-3,1,104,124))}.is-grayed-out .link-cell-content .icon-link,.is-grayed-out .link-cell-content:not(.disabled),.is-grayed-out .link-cell-link,.is-grayed-out .person-cell-content:not(.disabled),.is-grayed-out .person-cell-link,.is-grayed-out .url-cell-link{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.link-cell-content .icon-link .live-list-eyelash,.link-cell-content:not(.disabled) .live-list-eyelash,.link-cell-link .live-list-eyelash,.person-cell-content:not(.disabled) .live-list-eyelash,.person-cell-link .live-list-eyelash,.url-cell-link .live-list-eyelash{inset-block-start:.75rem;inset-inline-start:.25rem;position:absolute}.link-cell-content .icon-link:focus,.link-cell-content .icon-link:hover,.link-cell-content:not(.disabled):focus,.link-cell-content:not(.disabled):hover,.link-cell-link:focus,.link-cell-link:hover,.person-cell-content:not(.disabled):focus,.person-cell-content:not(.disabled):hover,.person-cell-link:focus,.person-cell-link:hover,.url-cell-link:focus,.url-cell-link:hover{color:RGB(var(--now-color--link-3));text-decoration:underline}.is-grayed-out .link-cell-content .icon-link:focus,.is-grayed-out .link-cell-content .icon-link:hover,.is-grayed-out .link-cell-content:not(.disabled):focus,.is-grayed-out .link-cell-content:not(.disabled):hover,.is-grayed-out .link-cell-link:focus,.is-grayed-out .link-cell-link:hover,.is-grayed-out .person-cell-content:not(.disabled):focus,.is-grayed-out .person-cell-content:not(.disabled):hover,.is-grayed-out .person-cell-link:focus,.is-grayed-out .person-cell-link:hover,.is-grayed-out .url-cell-link:focus,.is-grayed-out .url-cell-link:hover{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.link-cell-content .icon-link:active,.link-cell-content:not(.disabled):active,.link-cell-link:active,.person-cell-content:not(.disabled):active,.person-cell-link:active,.url-cell-link:active{color:RGB(var(--now-color--link-4));text-decoration:underline}.is-grayed-out .link-cell-content .icon-link:active,.is-grayed-out .link-cell-content:not(.disabled):active,.is-grayed-out .link-cell-link:active,.is-grayed-out .person-cell-content:not(.disabled):active,.is-grayed-out .person-cell-link:active,.is-grayed-out .url-cell-link:active{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.link-cell-content .icon-link.inline,.link-cell-content:not(.disabled).inline,.link-cell-link.inline,.person-cell-content:not(.disabled).inline,.person-cell-link.inline,.url-cell-link.inline{display:inline}.boolean-cell-content,.url-cell-content{display:block;white-space:nowrap}.boolean-cell-content div.boolean-icon,.boolean-cell-content div.url-icon,.url-cell-content div.boolean-icon,.url-cell-content div.url-icon{display:inline-block}.boolean-cell-content div.boolean-icon,.url-cell-content div.boolean-icon{inset-block-start:.25rem;position:relative}.boolean-cell-content.highlighted-value .cell-content,.boolean-cell-content.highlighted-value .url-icon,.url-cell-content.highlighted-value .cell-content,.url-cell-content.highlighted-value .url-icon{display:inline-block}.text-align-default .currency-cell-content,.text-align-default .number-cell-content{text-align:right}.text-align-inverse .currency-cell-content,.text-align-inverse .number-cell-content{text-align:left}.boolean-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem) calc(var(--now-scale-space--xxs, 1)*.125rem) calc(var(--now-scale-space--xs, 1)*.25rem)}.url-icon{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-start:0;margin-inline-end:0;margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);vertical-align:middle}.pill-cell-pill{margin:calc(var(--now-scale-space--xs, 1)*.25rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0 0;max-width:100%}.hidden-pills-message{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:inline-block;font-size:.75rem;line-height:1rem;margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);vertical-align:middle}.icon-cell-content{padding:.25rem 1rem .25rem 1rem}.image-cell-content img{height:32px;object-fit:cover;vertical-align:middle;width:32px}.person-cell-content{align-items:center;display:flex;white-space:nowrap}.person-cell-content .person-cell-avatar{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.person-cell-content .person-cell-link{overflow:hidden;text-overflow:ellipsis}.person-cell-content .highlighted-value .cell-content{margin-inline-start:.125rem!important}.preserve-whitespace{white-space:pre!important}.custom-cell-error-content,.custom-cell-loader-content{align-items:center;justify-content:flex-start}.custom-cell-error-content now-icon{margin-block-end:.25rem;margin-inline-end:.25rem;margin-inline-start:0}.custom-cell-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.custom-cell-loader{display:flex;justify-content:center}.group-row-content{align-items:center;display:flex;justify-content:space-between;padding:0 .5rem}.highlighted-content{background-color:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.group-row-actions{inset-inline-end:1.5rem;position:sticky}.always-show .row-cell-actions-button,.always-show .row-cell-content,.always-show .row-drag-handle now-button-iconic{opacity:1}@media(forced-colors:active){.grouped-row .group-row-container:focus,.grouped-row .group-row-container:hover{border:1px solid Highlight;outline:none}}td.text-align-inverse .percent-complete-wrapper{justify-content:flex-end}td.text-align-center .percent-complete-wrapper{justify-content:center}.link-cell-content .icon-link{border-block-end:.125rem solid transparent;transition:border-color .3s}.link-cell-content .icon-link:hover{border-block-end-color:RGB(var(--now-color--secondary-2,1,89,107))}td.html .row-cell-content{align-items:start!important;max-height:240px;overflow-y:auto!important}td.html .html-cell-content{-webkit-box-orient:unset!important}td.html .row-cell-actions-button{position:sticky;top:50%;transform:translateY(-50%)}.ai-indicator-cell-wrapper{align-items:center;display:flex;padding-inline-start:calc(var(--now-scale-space--md, 1)*.75rem);width:100%}.group-row-content .ai-indicator-cell-wrapper{flex:1;min-width:0;padding-inline-start:0!important;width:auto}.ai-indicator-icon-container{align-items:center;animation:ai-indicator-expand .7s cubic-bezier(.25,.46,.45,.94) forwards;display:flex;flex-shrink:0;max-width:0;opacity:0;overflow:hidden;transition:max-width .7s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)}.ai-indicator-icon-container .ai-indicator-wrapper{white-space:nowrap}.group-row-content .ai-indicator-icon-container{flex:1;margin-right:calc(var(--now-scale-space--xs, 1)*.25rem);min-width:0;width:auto}.ai-indicator-content-container{flex:1;min-width:0;transition:margin-left .7s cubic-bezier(.25,.46,.45,.94)}:host(:not([dir=rtl])) .ai-indicator-content-container .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) .ai-indicator-content-container .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)!important}:host([dir=rtl]) .ai-indicator-content-container .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] .ai-indicator-content-container .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)!important}@media(max-width:768px){.ai-indicator-cell-wrapper{gap:calc(var(--now-scale-space--xxs, 1)*.125rem)}.group-row-content .ai-indicator-cell-wrapper{gap:calc(var(--now-scale-space--xs, 1)*.25rem)}}@keyframes ai-indicator-expand{0%{max-width:0;opacity:0}60%{max-width:2rem;opacity:1}to{max-width:2.25rem;opacity:1}}@media(prefers-reduced-motion:reduce){.ai-indicator-icon-container{animation:none;max-width:2.25rem;opacity:1;transition:none}.ai-indicator-content-container{transition:none}}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.percent-complete-wrapper{align-items:center;display:flex;gap:.25rem;height:100%;justify-content:flex-start}.percent-complete-wrapper .percent-complete-bar-container,.percent-complete-wrapper .percent-complete-text-container{display:flex;flex-direction:column;max-width:160px}.percent-complete-wrapper .percent-complete-bar-container{flex:1;max-width:160px;min-width:64px}.percent-complete-wrapper .percent-complete-text{font-size:1rem;margin-inline-end:.125rem;max-width:160px}.percent-complete-wrapper .percent-complete-text-target{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.percent-complete-wrapper .percent-complete-bar{border:1px solid RGB(var(--now-color_chrome--brand-3,114,128,129));box-sizing:content-box;height:16px;overflow:hidden;position:relative}.percent-complete-wrapper .percent-complete-bar-target{background-color:RGB(var(--now-color_chrome--brand-1,187,194,194))}.percent-complete-wrapper .percent-complete-bar-actual{background-color:RGB(var(--now-color--primary-1,30,133,109))}.percent-complete-wrapper .percent-complete-bar-actual.percent-complete-negative-value,.percent-complete-wrapper .percent-complete-bar-target.percent-complete-negative-value{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}tfoot{inset-block-end:0;position:sticky;z-index:1}.overlay{background-color:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),1);display:flex;flex-direction:column;height:100%;justify-content:center}.body-only-overlay{padding-top:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);position:absolute;top:0;width:100%}.overlay.type-message.body-only-overlay{padding-top:unset;position:relative}.overlay-content{overflow:hidden;padding:2rem}now-template-message-empty-state.overlay-content{height:70%}.skeleton-loader-gradient{background:linear-gradient(180deg,RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),0) 0,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))) 100%);height:50%;inset-block-end:0;overflow:auto;position:absolute;width:100%;z-index:1}.skeleton-table th .skeleton-cell-content{box-shadow:0 1px 1px 0 RGB(var(--now-color--neutral-7,135,147,148)) inset}.skeleton-table.full-table-overlay col:nth-child(2){width:20%}.skeleton-table.full-table-overlay col:nth-child(3){width:40%}.skeleton-cell-content{animation:skeleton-pulse 1.5s ease-in-out infinite;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-radius:1.5rem;display:block;height:1rem;min-height:1rem}@media(forced-colors:active){.skeleton-cell-content{background:canvastext}}@keyframes skeleton-pulse{0%,to{opacity:.1}50%{opacity:.5}}.custom-overlay-error-content,.custom-overlay-loader-content{align-items:center;display:flex}.custom-overlay-error-content{flex-direction:unset}.custom-overlay-error-icon{margin-inline-end:.25rem}.custom-overlay-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.floating-target{height:0;position:absolute;width:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.actionable-message{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important;overflow:unset!important;padding:.25rem}.actionable-message .actionable-message-content{align-items:center;border-radius:.25rem;display:flex;font-size:1rem;justify-content:flex-start;min-height:40px;padding:.25rem 0 .25rem 1.5rem}.actionable-message .actionable-message-content.critical{background-color:RGB(var(--now-color_alert--critical-0,241,206,205))}.actionable-message .actionable-message-content.high{background-color:RGB(var(--now-color_alert--high-0,247,228,200))}.actionable-message .actionable-message-content.warning{background-color:RGB(var(--now-color_alert--warning-0,244,240,191))}.actionable-message .actionable-message-content.moderate{background-color:RGB(var(--now-color_alert--moderate-0,212,213,243))}.actionable-message .actionable-message-content.info{background-color:RGB(var(--now-color_alert--info-0,195,221,240))}.actionable-message .actionable-message-content.positive{background-color:RGB(var(--now-color_alert--positive-0,201,224,202))}.actionable-message .actionable-message-content.low{background-color:RGB(var(--now-color_alert--low-0,217,217,217))}.actionable-message .actionable-message-content now-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.actionable-message .actionable-message-content .actionable-message-label-group{display:flex;margin-inline-start:.5rem;max-width:100%;position:sticky}.actionable-message .actionable-message-content .actionable-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionable-message .actionable-message-content now-button-bare{margin-inline-start:.5rem}.ai-indicator-wrapper{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;-webkit-user-select:none;user-select:none}.ai-indicator-wrapper now-highlighted-value{display:inline-flex;font-size:inherit}.special-column-cell-content .ai-indicator-wrapper{height:100%;width:100%}now-list{min-height:12.5rem}.scroll-container{display:flex;flex-direction:column;height:100%;min-height:9.375rem;overflow:auto;position:relative;scroll-padding-top:100px;width:100%}.scroll-container.disable-scroll{overflow:hidden}.parent-container{height:100%;overflow:hidden;position:relative;width:100%}.scroll-to-top-button{border-radius:.125rem;inset-block-end:56px;inset-inline-start:calc(100% - 50px);position:sticky}.now-a11y-label{-webkit-user-select:none;user-select:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".gallery-card-field .boolean-cell-content{align-items:center;display:flex;justify-content:flex-start}.gallery-card-field .percent-complete-wrapper{align-items:center;display:flex;gap:.25rem;height:100%;justify-content:space-between}.gallery-card-field .percent-complete-bar-container,.gallery-card-field .percent-complete-text-container{display:flex;flex-direction:column;max-width:160px}.gallery-card-field .percent-complete-bar-container{flex:1;max-width:160px;min-width:64px}.gallery-card-field .percent-complete-text{font-size:.75rem;height:14px;margin-inline-end:.125rem;max-width:160px}.gallery-card-field .percent-complete-text-target{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));height:14px}.gallery-card-field .percent-complete-bar{border:1px solid RGB(var(--now-color_chrome--brand-3,114,128,129));box-sizing:content-box;height:8px;overflow:hidden;position:relative}.gallery-card-field .percent-complete-bar-target{background-color:RGB(var(--now-color_chrome--brand-1,187,194,194))}.gallery-card-field .percent-complete-bar-actual{background-color:RGB(var(--now-color--primary-1,30,133,109))}.gallery-card-field .percent-complete-bar-actual.percent-complete-negative-value,.gallery-card-field .percent-complete-bar-target.percent-complete-negative-value{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.gallery-card-field-value.field-pills{min-height:24px;width:100%}.gallery-card-field-value .pill-container{align-items:center;display:flex;gap:.25rem}.gallery-card-field-value .pills-cell-content{display:flex;gap:.25rem;max-width:100%}.gallery-card-field-value .pills-cell-content.is-hidden-count-shown{max-width:calc(100% - 3em)}.gallery-card-field .gallery-card-field-value:has(.percent-complete-cell-content){min-height:28px}.gallery-card-field .url-cell-content .url-cell-link{align-items:flex-end;display:flex;gap:.125rem;justify-content:flex-start}.gallery-card-field .url-cell-content .url-cell-link .url-cell-link-label{-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;display:-webkit-box;max-width:calc(100% - 1rem);overflow:hidden;word-break:break-word}.gallery-card-field .link-cell-content,.gallery-card-field .link-cell-content:not(.disabled),.gallery-card-field .link-cell-link,.gallery-card-field .person-cell-link,.gallery-card-field .person-field-content:not(.disabled),.gallery-card-field .url-cell-link{color:RGB(var(--now-color--secondary-1,1,119,142));cursor:pointer;text-decoration:none}.cell-selected .gallery-card-field .link-cell-content,.cell-selected .gallery-card-field .link-cell-content:not(.disabled),.cell-selected .gallery-card-field .link-cell-link,.cell-selected .gallery-card-field .person-cell-link,.cell-selected .gallery-card-field .person-field-content:not(.disabled),.cell-selected .gallery-card-field .url-cell-link,.is-checked .gallery-card-field .link-cell-content,.is-checked .gallery-card-field .link-cell-content:not(.disabled),.is-checked .gallery-card-field .link-cell-link,.is-checked .gallery-card-field .person-cell-link,.is-checked .gallery-card-field .person-field-content:not(.disabled),.is-checked .gallery-card-field .url-cell-link,.is-highlighted .gallery-card-field .link-cell-content,.is-highlighted .gallery-card-field .link-cell-content:not(.disabled),.is-highlighted .gallery-card-field .link-cell-link,.is-highlighted .gallery-card-field .person-cell-link,.is-highlighted .gallery-card-field .person-field-content:not(.disabled),.is-highlighted .gallery-card-field .url-cell-link{color:RGB(var(--now-color--link-3,1,104,124))}.is-grayed-out .gallery-card-field .link-cell-content,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled),.is-grayed-out .gallery-card-field .link-cell-link,.is-grayed-out .gallery-card-field .person-cell-link,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled),.is-grayed-out .gallery-card-field .url-cell-link{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.gallery-card-field .link-cell-content .live-list-eyelash,.gallery-card-field .link-cell-content:not(.disabled) .live-list-eyelash,.gallery-card-field .link-cell-link .live-list-eyelash,.gallery-card-field .person-cell-link .live-list-eyelash,.gallery-card-field .person-field-content:not(.disabled) .live-list-eyelash,.gallery-card-field .url-cell-link .live-list-eyelash{inset-block-start:.75rem;inset-inline-start:.25rem;position:absolute}.gallery-card-field .link-cell-content:focus,.gallery-card-field .link-cell-content:hover,.gallery-card-field .link-cell-content:not(.disabled):focus,.gallery-card-field .link-cell-content:not(.disabled):hover,.gallery-card-field .link-cell-link:focus,.gallery-card-field .link-cell-link:hover,.gallery-card-field .person-cell-link:focus,.gallery-card-field .person-cell-link:hover,.gallery-card-field .person-field-content:not(.disabled):focus,.gallery-card-field .person-field-content:not(.disabled):hover,.gallery-card-field .url-cell-link:focus,.gallery-card-field .url-cell-link:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}.is-grayed-out .gallery-card-field .link-cell-content:focus,.is-grayed-out .gallery-card-field .link-cell-content:hover,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):focus,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):hover,.is-grayed-out .gallery-card-field .link-cell-link:focus,.is-grayed-out .gallery-card-field .link-cell-link:hover,.is-grayed-out .gallery-card-field .person-cell-link:focus,.is-grayed-out .gallery-card-field .person-cell-link:hover,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):focus,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):hover,.is-grayed-out .gallery-card-field .url-cell-link:focus,.is-grayed-out .gallery-card-field .url-cell-link:hover{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.gallery-card-field .link-cell-content:active,.gallery-card-field .link-cell-content:not(.disabled):active,.gallery-card-field .link-cell-link:active,.gallery-card-field .person-cell-link:active,.gallery-card-field .person-field-content:not(.disabled):active,.gallery-card-field .url-cell-link:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}.is-grayed-out .gallery-card-field .link-cell-content:active,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):active,.is-grayed-out .gallery-card-field .link-cell-link:active,.is-grayed-out .gallery-card-field .person-cell-link:active,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):active,.is-grayed-out .gallery-card-field .url-cell-link:active{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.gallery-card-field .link-cell-content.inline,.gallery-card-field .link-cell-content:not(.disabled).inline,.gallery-card-field .link-cell-link.inline,.gallery-card-field .person-cell-link.inline,.gallery-card-field .person-field-content:not(.disabled).inline,.gallery-card-field .url-cell-link.inline{display:inline}@media(forced-colors:active){.gallery-card-field .link-cell-link,.gallery-card-field .link-cell-link:focus,.gallery-card-field .link-cell-link:hover{color:linktext}}.gallery-card-field .person-cell-content{align-items:center;display:flex;gap:.125rem;white-space:nowrap}.gallery-card-field .person-cell-content .person-cell-link,.gallery-card-field .person-cell-content .person-cell-text{overflow:hidden;text-overflow:ellipsis}.gallery-card-field .person-cell-content .highlighted-value .cell-content{margin-inline-start:.125rem!important}.gallery-card-field .custom-cell-error-content,.gallery-card-field .custom-cell-loader-content{align-items:center;font-size:.75rem;justify-content:flex-start}.gallery-card-field .custom-cell-error-content now-icon{margin-block-end:.25rem;margin-inline-end:.25rem;margin-inline-start:0}.gallery-card-field .custom-cell-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.gallery-card-field .custom-cell-loader{display:flex;justify-content:center}.gallery-card-field .custom-cell-content.cell-content{height:24px}.hidden-pills-message{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:inline-block;font-size:.75rem;line-height:1.125rem;vertical-align:middle;word-break:keep-all}.person-cell-content:not(.disabled),.person-cell-link{color:RGB(var(--now-color--secondary-1,1,119,142));cursor:pointer;text-decoration:none}.person-cell-content:not(.disabled).cell-selected,.person-cell-content:not(.disabled).is-highlighted,.person-cell-link.cell-selected,.person-cell-link.is-highlighted{color:RGB(var(--now-color--link-3,1,104,124));text-decoration:none}.person-cell-content:not(.disabled).is-grayed-out,.person-cell-link.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.person-cell-content:not(.disabled):focus,.person-cell-content:not(.disabled):hover,.person-cell-link:focus,.person-cell-link:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}.person-cell-content:not(.disabled):focus.is-grayed-out,.person-cell-content:not(.disabled):hover.is-grayed-out,.person-cell-link:focus.is-grayed-out,.person-cell-link:hover.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.person-cell-content:not(.disabled):active,.person-cell-link:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}.person-cell-content:not(.disabled):active.is-grayed-out,.person-cell-link:active.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.person-cell-content:not(.disabled).inline,.person-cell-link.inline{display:inline}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.actionable-message{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important;overflow:unset!important;padding:.25rem}.actionable-message .actionable-message-content{align-items:center;display:flex;font-size:1rem;justify-content:flex-start;min-height:40px;padding:.25rem 0 .25rem 1.5rem}.actionable-message .actionable-message-content.critical{background-color:RGB(var(--now-color_alert--critical-0,241,206,205))}.actionable-message .actionable-message-content.high{background-color:RGB(var(--now-color_alert--high-0,247,228,200))}.actionable-message .actionable-message-content.warning{background-color:RGB(var(--now-color_alert--warning-0,244,240,191))}.actionable-message .actionable-message-content.moderate{background-color:RGB(var(--now-color_alert--moderate-0,212,213,243))}.actionable-message .actionable-message-content.info{background-color:RGB(var(--now-color_alert--info-0,195,221,240))}.actionable-message .actionable-message-content.positive{background-color:RGB(var(--now-color_alert--positive-0,201,224,202))}.actionable-message .actionable-message-content.low{background-color:RGB(var(--now-color_alert--low-0,217,217,217))}.actionable-message .actionable-message-content now-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.actionable-message .actionable-message-content .actionable-message-label-group{display:flex;margin-inline-start:.5rem;max-width:100%;position:sticky}.actionable-message .actionable-message-content .actionable-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionable-message .actionable-message-content now-button-bare{margin-inline-start:.5rem}.actionable-message{padding:.25rem 0;position:sticky;z-index:1}.actionable-message .actionable-message-content{border:1px solid;border-radius:.25rem;padding:.25rem 1rem}.actionable-message .actionable-message-content.critical{border-color:RGB(var(--now-color_alert--critical-1,221,133,129))}.actionable-message .actionable-message-content.high{border-color:RGB(var(--now-color_alert--high-1,234,186,117))}.actionable-message .actionable-message-content.warning{border-color:RGB(var(--now-color_alert--warning-1,227,218,96))}.actionable-message .actionable-message-content.moderate{border-color:RGB(var(--now-color_alert--moderate-1,148,149,225))}.actionable-message .actionable-message-content.info{border-color:RGB(var(--now-color_alert--info-1,104,171,218))}.actionable-message .actionable-message-content.positive{border-color:RGB(var(--now-color_alert--positive-1,119,178,123))}.actionable-message .actionable-message-content.low{border-color:RGB(var(--now-color_alert--low-1,159,159,159))}.actionable-message .actionable-message-content now-icon{align-self:flex-start;padding-top:.5rem}.actionable-message .actionable-message-content .actionable-message-label-group{flex-wrap:wrap;gap:.25rem .5rem;min-width:0}.actionable-message .actionable-message-content .actionable-message-text{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;white-space:normal}.actionable-message .actionable-message-content .actionable-message-action{display:flex;overflow:hidden}.actionable-message .actionable-message-content .actionable-message-button{margin-inline-start:0;width:100%}.actionable-message.actionable-message-top{inset-block-start:0}.actionable-message.actionable-message-bottom{inset-block-end:0}.gallery-card-header-label .boolean-cell-content{align-items:center;display:flex;justify-content:flex-start}now-card-header::part(ai-indicator-wrapper){display:flex;gap:.5rem;justify-content:flex-start}.gallery{padding:0 .125rem .75rem 1.5rem}.gallery-card-field{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem;min-width:128px}.gallery-card-field-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.gallery-card-field-label,.gallery-card-field-value{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:.75rem;max-width:100%;overflow:hidden;word-break:break-word}.gallery-card-field-value{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));min-height:15px}.gallery-card-body-text .gallery-card-field{margin-top:.75rem;max-width:unset;width:100%}.gallery-card-body-text .gallery-card-field-value{-webkit-line-clamp:2;line-clamp:2;min-height:30px}.gallery-card-grouped-view{padding:0 1rem 0 0}.gallery-card-grouped-view .gallery-card-container{margin:unset;padding-bottom:.5rem;padding-left:unset}.gallery-card-body-fields{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));padding-top:.75rem}.gallery-card-metadata{align-items:center;display:flex;justify-content:space-between}.gallery-card-metadata-highlighted-value{max-width:128px}.gallery-card-default-actions{display:flex;justify-content:space-between;margin-left:.5rem}.gallery-card-default-actions>:not(:first-child){margin-left:.5rem}.gallery-card-container{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(360px,(100% - 2.25rem)/4)),1fr));padding-top:.5rem;width:100%}.gallery-card-container now-card{box-sizing:border-box}.gallery-card-container .gallery-card-grouped-view{grid-column:span 4/auto;padding:0 .75rem 0 0}.gallery-card-container.gallery-grouped{row-gap:.5rem}.gallery-virtualized-container{padding-top:.5rem}.gallery-virtualized-container .gallery-virtualized-page-container{display:flex;flex-direction:column;gap:.75rem}.gallery-virtualized-container .gallery-virtualized-page-container .gallery-card-container{padding-top:0}.gallery-virtualized-container .gallery-virtualized-status-row-content{height:56px;padding:.5rem 0}.gallery-virtualized-container .gallery-virtualized-status-row-content now-loader{padding:.5rem 0}.gallery-virtualized-container .gallery-virtualized-scroll-to-top-button{border-radius:.125rem;inset-block-end:56px;inset-inline-start:calc(100% - 2.5rem);position:sticky}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.gallery-card-expand-all-button{padding-top:.5rem}.gallery-card-now-accordion{padding:0}.flex-center{align-items:center;display:flex;justify-content:center}.ai-indicator-slot{align-items:center;display:flex;flex-shrink:0;margin-right:.5rem;width:1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.gallery-card-field-body-text-container{align-items:flex-end;display:flex;flex-direction:row;gap:.125rem;justify-content:flex-start}.gallery-card-field-body-text{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;align-self:flex-start;display:-webkit-box;font-size:.75rem;max-width:100%;max-width:unset;min-height:30px;overflow:hidden;width:100%;word-break:break-word}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-cell-editor-content-container{max-width:350px;min-width:150px;padding:1rem}.popover-cell-editor-content-container:has(now-list-html-cell-editor-content){max-width:600px!important;min-width:320px!important;padding:1rem}.popover-cell-editor-button-container{display:flex;flex-direction:row;justify-content:flex-end;margin-block-start:calc(var(--now-scale-space--lg, 1)*1rem)}.popover-cell-editor-button-container now-button+now-button{margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.cell-editor-highlighted-message,.cell-editor-info-text,.choice-type-cell-editor-content,.input-type-cell-editor-content,.loader-cell-editor-content,.now-record-html-editor-content{width:100%}.icon-preview-label-cell-editor-content,.person-preview-label-cell-editor-content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:12px;line-height:2.5;margin-inline-end:.5rem}.cell-editor-info-text{margin-block-start:.5rem}.popover-cell-editor-content-loader{align-items:center;display:flex;height:87px;justify-content:center;width:100%}.popover-cell-editor-person-preview-name{margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);vertical-align:middle}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-choice-column-filter-content-container{font-size:.75rem;max-width:304px;min-width:128px;padding:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-header{align-items:center;display:flex;flex-wrap:wrap;margin-block-end:.75rem;margin-inline-end:.75rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-title{font-size:1.25rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-close{cursor:pointer}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-content,.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-content now-input{width:100%}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none{align-items:center;display:flex}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none now-button-bare{margin:0 .25rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none now-button-bare:first-of-type{margin-inline-start:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-body{display:flex;flex-direction:column;max-height:244px;overflow-y:auto}.popover-choice-column-filter-content-container .choice-filter-popover-body now-checkbox{margin-block-end:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-footer{display:flex;justify-content:flex-end;margin-block-start:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-footer now-button{margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-content{padding:.5rem}.custom-popover-error-icon{margin-inline-end:.25rem}.custom-popover-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.custom-popover-error-content,.custom-popover-loader-content{align-items:center;display:flex;justify-content:flex-start}.custom-popover-loader{display:flex;justify-content:center}.custom-popover-loader>div{animation:custom-loader .8s infinite alternate;background:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)));border-radius:50%;height:8px;opacity:1;width:8px}.custom-popover-loader>div:nth-child(2){animation-delay:.3s;margin-inline-start:.75rem}.custom-popover-loader>div:nth-child(3){animation-delay:.5s;margin-inline-start:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"now-dropdown-list{max-height:300px;width:200px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content-container{padding:.5rem}.popover-text-container{margin-block-end:.5rem;max-height:200px;max-width:300px;overflow:scroll}.popover-button-container{display:flex;flex-direction:row;justify-content:flex-end;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.popover-button-container now-button+now-button{margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}div.html-icon{--now-line-height:0;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:var(--now-line-height,1.25);vertical-align:middle}div.html-icon>svg.now-icon{fill:currentcolor;fill-rule:evenodd}div.html-icon>svg.now-icon.-sm{block-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2);inline-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2)}div.html-icon>svg.now-icon.-md{block-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2)}div.html-icon svg.now-icon{color:inherit}.column-active-dragging-item{align-items:center;background:RGB(var(--now-color--primary-0,221,237,233));border:1px solid RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;font-weight:700;padding:.5rem;padding-inline-start:0}.column-active-dragging-item .column-drag-handle{margin:0 .125rem}.column-active-dragging-item .column-drag-handle .drag-handle{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);block-size:auto;border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109))));inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:auto;padding:0;vertical-align:middle}.column-active-dragging-item .column-drag-handle .drag-handle,.column-active-dragging-item .column-drag-handle .drag-handle:active,.column-active-dragging-item .column-drag-handle .drag-handle:hover{background-color:transparent;border-color:transparent;border-width:0}.column-active-dragging-item .column-drag-handle .drag-handle:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--hover,var(--now-button--bare_primary--background-color--hover,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button-iconic--bare_primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82))))}.column-active-dragging-item .column-drag-handle .drag-handle:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button-iconic--bare_primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55))))}.column-active-dragging-item .column-drag-handle .drag-handle.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color,var(--now-color--primary-2,23,100,82)))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--hover,var(--now-color--primary-3,15,67,55)))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}@media(forced-colors:active){.column-active-dragging-item{border:1px solid Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.time-ago-display{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;margin-block-start:.25rem}.time-ago-display.main-value{font-size:.75rem}.time-ago-display .time-ago-display-placeholder{min-height:.75rem}:host(.render-as-link) .time-ago-display{color:RGB(var(--now-color--secondary-1,1,119,142))}:host(.render-as-link) .time-ago-display:focus,:host(.render-as-link) .time-ago-display:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}:host(.render-as-link) .time-ago-display:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./galleryView.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverCellEditorContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverChoiceColumnFilterContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverCustomContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverListContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverTextContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./columnHeaderClone.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./timeAgoDisplay.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","function _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createUxfContractBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__.__esModule\n\t\t\t\t\tif (cjsModule && 'createUxfContractBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"].createUxfContractBehavior;\n\t\t\t\t\t} else if ('createUxfContractBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__.createUxfContractBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effects_28_0_0_index_jsdbx_371bf097__[\"default\"].createUxfContractBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_14_index_jsdbx_1a3892f5__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_14_index_jsdbx_61ce5bf7__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_ADD_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.TOOLTIP_ADD_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t}, [\"TOOLTIP_HIDE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t\t} else if ('TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.TOOLTIP_HIDE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t}, [\"TOOLTIP_REMOVE_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.TOOLTIP_REMOVE_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t}, [\"TOOLTIP_SHOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t\t} else if ('TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.TOOLTIP_SHOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_14_index_jsdbx_c298917d__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_14_index_jsdbx_70231a8d__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"camelCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t\t} else if ('camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.camelCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t}, [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"endsWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'endsWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].endsWith;\n\t\t\t\t\t} else if ('endsWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.endsWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].endsWith;\n\t\t\t\t}, [\"escape\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t\t} else if ('escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.escape || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"findKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t\t} else if ('findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t}, [\"flatten\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t\t} else if ('flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flatten || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"includes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t\t} else if ('includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.includes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"kebabCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t\t} else if ('kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.kebabCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"memoize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t\t} else if ('memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.memoize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"remove\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t\t} else if ('remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.remove || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t}, [\"round\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'round' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].round;\n\t\t\t\t\t} else if ('round' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.round || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].round;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"slice\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t\t} else if ('slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.slice || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t}, [\"sortBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t\t} else if ('sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sortBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t}, [\"toString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t\t} else if ('toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t}, [\"truncate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t\t} else if ('truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.truncate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t}, [\"union\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'union' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].union;\n\t\t\t\t\t} else if ('union' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.union || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].union;\n\t\t\t\t}, [\"unset\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'unset' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unset;\n\t\t\t\t\t} else if ('unset' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.unset || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unset;\n\t\t\t\t}, [\"values\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t\t} else if ('values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.values || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t}, [\"xor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t\t} else if ('xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.xor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"SnTimeAgo\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__.__esModule\n\t\t\t\t\tif (cjsModule && 'SnTimeAgo' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"].SnTimeAgo;\n\t\t\t\t\t} else if ('SnTimeAgo' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__.SnTimeAgo || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_component_timeago_index_jsdbx_5962affb__[\"default\"].SnTimeAgo;\n\t\t\t\t} });","import isEmpty from 'lodash/isEmpty';\n\n// Copied from condition builder commons. Did not want to pull in a new dependency since\n// condition builder commons also has other dependencies\n\n/**\n * Enum error levels\n * @readonly\n * @enum {string}\n */\nexport const errorLevelEnum = Object.freeze({\n\tFATAL: 'fatal',\n\tERROR: 'error',\n\tWARNING: 'warning',\n\tINFO: 'info',\n});\n\nclass LoggerBase {\n\tsink = console;\n\n\t/**\n\t * Logs fatal errors\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\tfatal = (msg, ...optionalParams) => {\n\t\tconst fatalMsg = `FATAL Error: ${msg}`;\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.error(fatalMsg)\n\t\t\t: this.sink.error(fatalMsg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs Errors\n\t * @param {String} err\n\t * @param  {...any} optionalParams\n\t */\n\terror = (err, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.error(err)\n\t\t\t: this.sink.error(err, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs warnings\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\twarning = (msg, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.warn(msg)\n\t\t\t: this.sink.warn(msg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs info messeges\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\tinfo = (msg, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.info(msg)\n\t\t\t: this.sink.info(msg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs according to severity\n\t * @param {String} msg\n\t * @param {errorLevelEnum} severity\n\t * @param  {...any} optionalParams\n\t */\n\tlog = (msg, severity, ...optionalParams) => {\n\t\tswitch (severity) {\n\t\t\tcase errorLevelEnum.FATAL:\n\t\t\t\tthis.fatal(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.ERROR:\n\t\t\t\tthis.error(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.WARNING:\n\t\t\t\tthis.warning(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.INFO:\n\t\t\tdefault:\n\t\t\t\tthis.info(msg, ...optionalParams);\n\t\t}\n\t};\n}\n\nconst logger = new LoggerBase();\n\nexport default logger;\n","export const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED =\n\t'NOW_LIST#ACTIONABLE_MESSAGE_ACTION_CLICKED';\n\nexport const actionableMessageKey = 'actionableMessage';\n","import isEmpty from 'lodash/isEmpty';\n\nimport logger from '../../shared/utils/logger';\n\nimport {\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED,\n\tactionableMessageKey,\n} from './constants';\n\n/* EFFECTS */\n/**\n * dispatched when a button in an actionable message is clicked.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst actionableMessageLinkClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { action, location, key },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (key === actionableMessageKey) {\n\t\tif (isEmpty(action)) {\n\t\t\tlogger.error(\n\t\t\t\t`No action to dispatch in the ${location} actionable message configuration.`\n\t\t\t);\n\t\t} else {\n\t\t\tdispatch(action, payload);\n\t\t\tdispatch(NOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED, payload);\n\t\t}\n\t}\n};\n\nconst actionableMessageBehavior = {\n\tname: 'actionableMessageBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: actionableMessageLinkClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default actionableMessageBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"activateFocusTrap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'activateFocusTrap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].activateFocusTrap;\n\t\t\t\t\t} else if ('activateFocusTrap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.activateFocusTrap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].activateFocusTrap;\n\t\t\t\t}, [\"deactivateFocusTrap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'deactivateFocusTrap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].deactivateFocusTrap;\n\t\t\t\t\t} else if ('deactivateFocusTrap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.deactivateFocusTrap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].deactivateFocusTrap;\n\t\t\t\t}, [\"findActiveElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'findActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].findActiveElement;\n\t\t\t\t\t} else if ('findActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.findActiveElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].findActiveElement;\n\t\t\t\t}, [\"findTabbableElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'findTabbableElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].findTabbableElement;\n\t\t\t\t\t} else if ('findTabbableElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.findTabbableElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].findTabbableElement;\n\t\t\t\t}, [\"selector\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'selector' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].selector;\n\t\t\t\t\t} else if ('selector' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.selector || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].selector;\n\t\t\t\t}, [\"shadowQuerySelectorAll\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.__esModule\n\t\t\t\t\tif (cjsModule && 'shadowQuerySelectorAll' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].shadowQuerySelectorAll;\n\t\t\t\t\t} else if ('shadowQuerySelectorAll' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__.shadowQuerySelectorAll || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_list_commons_index_jsdbx_d4278eee__[\"default\"].shadowQuerySelectorAll;\n\t\t\t\t} });","export const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\n","export const NOW_LIST_ALL_GROUPS_TOGGLED = 'NOW_LIST#ALL_GROUPS_TOGGLED';\nexport const NOW_LIST_GROUP_TOGGLED = 'NOW_LIST#GROUP_TOGGLED';\nexport const EXPAND_GROUP = 'isGroupExpanded';\nexport const EXPAND_ALL_GROUPS = 'expandAllGroups';\nexport const GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\n","/**\n * Contains exported string and object constants.\n */\n\nexport const KEYBOARD_NAV_BEHAVIOR_NAME = 'keyboardNav';\n\n// Behavior Actions\nexport const ALLOW_TABLE_FOCUS = 'ALLOW_TABLE_FOCUS';\nexport const ENTER_CELL_TRAP = 'ENTER_CELL_TRAP';\nexport const EXIT_CELL_TRAP = 'EXIT_CELL_TRAP';\nexport const REFRESH_CELL_TRAP = 'REFRESH_CELL_TRAP';\nexport const MOVE_FOCUS = 'MOVE_FOCUS';\nexport const POPOVER_CLOSED = 'POPOVER_CLOSED';\nexport const RESET_BEHAVIOR = 'RESET_BEHAVIOR';\nexport const UPDATE_KEYBOARD_NAV = 'UPDATE_KEYBOARD_NAV';\nexport const UPDATE_TABLE_REF = 'UPDATE_TABLE_REF';\nexport const FOCUS_LIST = 'FOCUS_LIST';\n\n// Seismic\nexport const SEISMIC_HOIST = 'SEISMIC-HOIST';\n\n// Misc\nexport const KEY = {\n\tKEY_ENTER: 'Enter',\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tSPACE: ' ',\n\tSPACEBAR: 'Spacebar',\n\tENTER: 'Enter',\n\tESC: 'Esc',\n\tESCAPE: 'Escape',\n\tPAGE_UP: 'PageUp',\n\tPAGE_DOWN: 'PageDown',\n\tHOME: 'Home',\n\tEND: 'End',\n\tTAB: 'Tab',\n\tKEY_CODE_ENTER: 32,\n};\n\n/**\n * Some browsers return arrow key press values in different ways, such as the\n * right arrow being \"Right\" in some browsers, but \"ArrowRight\" in others. This\n * map is used to ensure that arrow key press values are standardized, such that\n * \"ArrowRight\" and \"Right\" will both map to the value \"Right\".\n */\nexport const KEY_MAP = {\n\t[KEY.ENTER]: KEY.ENTER,\n\t[KEY.UP]: KEY.UP,\n\t[KEY.ARROW_UP]: KEY.UP,\n\t[KEY.DOWN]: KEY.DOWN,\n\t[KEY.ARROW_DOWN]: KEY.DOWN,\n\t[KEY.LEFT]: KEY.LEFT,\n\t[KEY.ARROW_LEFT]: KEY.LEFT,\n\t[KEY.RIGHT]: KEY.RIGHT,\n\t[KEY.ARROW_RIGHT]: KEY.RIGHT,\n\t[KEY.HOME]: KEY.HOME,\n\t[KEY.END]: KEY.END,\n\t[KEY.PAGE_UP]: KEY.PAGE_UP,\n\t[KEY.PAGE_DOWN]: KEY.PAGE_DOWN,\n};\n\n// properties\nexport const ROW_DEFINITIONS = 'rowDefinitions';\nexport const COLUMN_DEFINITIONS = 'columnDefinitions';\n\nexport const GROUPED_SUFFIX = '-grouped';\nexport const NOW_GRID_BULK_FOCUSED_IDS = 'data-quick-edit-ids';\nexport const BULK_FOCUS_STATE_PATH = 'bulkFocus';\n\nexport const EMPTY_BULK_FOCUS = {\n\tcolIndex: 0,\n\tfocusedIndicies: [],\n\tfocusedKeys: [],\n\tpreviousKeys: '',\n\tinitialIndex: 0,\n};\n","/**\n * Contains helper functions that are more generic in nature and have no direct\n * effects on the component\n */\n\nimport get from 'lodash/get';\n\nimport { SPECIAL_COLUMN_CELL } from '../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tSEISMIC_HOIST,\n\tGROUPED_SUFFIX,\n\tNOW_GRID_BULK_FOCUSED_IDS,\n\tEMPTY_BULK_FOCUS,\n} from './constants';\n\n/**\n * Indicates that a selector matches the pattern for a deep selector\n * @param {string} selector\n */\nconst isDeepSelector = (selector) => {\n\treturn ~selector.indexOf('>>>');\n};\n\n/**\n * Returns the first element within el that matches the given selector string\n * @param {string} selector\n * @param {any} el Type any silences warnings related to how the method operates\n */\nexport const querySelector = (selector, el) => {\n\tif (!isDeepSelector(selector)) return el.querySelector(selector);\n\n\tconst selectors = selector.split('>>>').map((selector) => selector.trim());\n\tconst { length } = selectors;\n\tlet selected = el;\n\n\tfor (let i = 0; i < length; i++) {\n\t\tif (selectors[i]) selected = selected.querySelector(selectors[i]);\n\n\t\tif (!selected) return selected;\n\n\t\tselected = i !== length - 1 ? selected.shadowRoot : selected;\n\t\tif (!selected) return selected;\n\t}\n\n\treturn selected;\n};\n\n/**\n * Gets the component path and accounts for potentially clicking on hoisted elements\n * @param {Array<HTMLElement>} path\n * @returns {Array<HTMLElement>}\n */\nexport const getComponentPath = (path) => {\n\tconst componentPath = [];\n\tlet hasSeismicHoist = false;\n\t/** @type {HTMLElement & {sourceElement?: HTMLElement} | null | undefined} */\n\tlet currentNode;\n\n\tfor (let index = 0; index < path.length && !hasSeismicHoist; index++) {\n\t\tcurrentNode = path[index];\n\t\thasSeismicHoist = get(currentNode, 'nodeName') === SEISMIC_HOIST;\n\n\t\tcomponentPath.push(currentNode);\n\t}\n\n\tif (!hasSeismicHoist) return componentPath;\n\n\twhile (currentNode) {\n\t\tif (currentNode.nodeName === SEISMIC_HOIST) {\n\t\t\tcurrentNode = currentNode.sourceElement;\n\t\t} else if (currentNode.assignedSlot) {\n\t\t\tcurrentNode = currentNode.parentElement;\n\t\t} else {\n\t\t\t// @ts-ignore .host isn't a property on Node\n\t\t\tcurrentNode = currentNode.getRootNode().host;\n\t\t}\n\n\t\tif (currentNode) componentPath.push(currentNode);\n\t}\n\n\treturn componentPath;\n};\n\n/**\n * Determine the relative direction from coordinate (xA,yA) towards (xB,yB),\n * given that (0,0) is the located in the top left corner (top right for RTL)\n * @param {number} xA\n * @param {number} yA\n * @param {number} xB\n * @param {number} yB\n * @param {boolean?} isRTL\n * @returns {\"Up\" | \"Down\" | \"Left\" | \"Right\" | null}\n */\nexport const getRelativeDirection = (xA, yA, xB, yB, isRTL = false) => {\n\tconst yDiff = yB - yA;\n\tconst xDiff = xB - xA;\n\n\t// The cells are at the same location\n\tif (!xDiff && !yDiff) return null;\n\n\t// The cells are located diagonally from each other\n\tif (xDiff && yDiff) return null;\n\n\tif (yDiff < 0) {\n\t\treturn 'Up';\n\t} else if (yDiff > 0) {\n\t\treturn 'Down';\n\t} else if (xDiff < 0) {\n\t\treturn isRTL ? 'Right' : 'Left';\n\t} else {\n\t\treturn isRTL ? 'Left' : 'Right';\n\t}\n};\n\n/**\n *\tFunction used to return valid information used for bulk inline editing\n *\n * @param {object} grid Object containing array of rows and cells within each row used for keyboard navigation\n * @param {number} rowIndex row index of newly focused cell\n * @param {number} cellIndex cell index of newly focused cell\n *\n * @returns {object} Returns newly focused row node, cell node, and whether it is a valid cell or not\n */\nexport const getBulkFocusInfo = (grid, rowIndex, cellIndex) => {\n\tconst focusedRow = get(grid, `rows[${rowIndex}]`);\n\tconst focusedCell = get(focusedRow, `cells[${cellIndex}]`);\n\tconst rowClassList = get(focusedRow, 'node.classList');\n\tconst cellClassList = get(focusedCell, 'node.classList');\n\n\tconst isHeaderCell = get(focusedCell, 'node.nodeName') === 'TH';\n\n\tconst isRowGroupedHeader =\n\t\trowClassList && rowClassList.contains('grouped-row');\n\n\tconst isGroupToggleCell =\n\t\tcellClassList && cellClassList.contains(GROUPED_SUFFIX);\n\n\tconst isSpecialColumn =\n\t\tcellClassList && cellClassList.contains(SPECIAL_COLUMN_CELL);\n\n\tconst isValidCell =\n\t\t!isHeaderCell &&\n\t\t!isRowGroupedHeader &&\n\t\t!isGroupToggleCell &&\n\t\t!isSpecialColumn;\n\n\treturn {\n\t\tfocusedRow,\n\t\tfocusedCell,\n\t\tisValidCell,\n\t};\n};\n\n// @ts-ignore\n/**\n * Function used to clear and update bulk editing styles.\n * @param {Array<number>} newIndices array of new indicies to select\n * @param {object} grid Object containing array of rows and cells within each row used for keyboard navigation\n * @param {number} newCellIndex newly focused cell index\n * @returns {void}\n */\nexport const updateBulkStyles = (newIndices, grid, newCellIndex) => {\n\t// Clear styles on previous focused cells\n\n\tconst firstNode = get(grid, 'rows[0].cells[0].node');\n\tif (firstNode) {\n\t\tconst nearestTable = firstNode.closest('TABLE');\n\t\t// @ts-ignore\n\t\tremoveBulkStyles(nearestTable);\n\t}\n\t// @ts-ignore\n\tconst partitionedRows = groupNumsSequentially(newIndices);\n\n\t// Set new styles based on new focused array\n\t// @ts-ignore\n\tpartitionedRows.forEach((group) => {\n\t\t// @ts-ignore\n\t\tgroup.forEach((gridIndex, index, group) => {\n\t\t\tconst gridRow = get(\n\t\t\t\tgrid,\n\t\t\t\t`rows[${gridIndex}].cells[${newCellIndex}].node`\n\t\t\t);\n\t\t\tif (group.length === 1) {\n\t\t\t\tgridRow.classList.add('top-bottom-side-border');\n\t\t\t} else if (index === 0) {\n\t\t\t\tgridRow.classList.add('top-side-border');\n\t\t\t} else if (index === group.length - 1) {\n\t\t\t\tgridRow.classList.add('bottom-side-border');\n\t\t\t} else {\n\t\t\t\tgridRow.classList.add('side-border');\n\t\t\t}\n\n\t\t\tgridRow.classList.add('cell-selected');\n\t\t});\n\t});\n};\n/**\n *\tFunction used to clear bulk editing styles.\n *\n * @param {object} nearestTable html node of nearest table\n *\n * @returns {void}\n */\nexport const removeBulkStyles = (nearestTable) => {\n\tnearestTable\n\t\t// @ts-ignore\n\t\t.querySelectorAll(\n\t\t\t'.side-border, .top-side-border, .bottom-side-border, .top-bottom-side-border'\n\t\t\t// @ts-ignore\n\t\t)\n\t\t.forEach((/** @type {HTMLElement}*/ node) => {\n\t\t\tnode.classList.remove('side-border');\n\t\t\tnode.classList.remove('top-side-border');\n\t\t\tnode.classList.remove('bottom-side-border');\n\t\t\tnode.classList.remove('top-bottom-side-border');\n\t\t\tnode.classList.remove('cell-selected');\n\t\t});\n};\n\n/**\n * Group sequential numbers, i.e. [1,3,4,5,9,10] => [[1], [3,4,5], [9,10]]\n * @param {*} rows\n */\nexport const groupNumsSequentially = (rows) =>\n\trows\n\t\t// @ts-ignore\n\t\t.sort((a, b) => a - b)\n\t\t// @ts-ignore\n\t\t.reduce((r, n) => {\n\t\t\tconst lastSubArray = r[r.length - 1];\n\n\t\t\tif (\n\t\t\t\t!lastSubArray ||\n\t\t\t\tlastSubArray[lastSubArray.length - 1] !== n - 1\n\t\t\t) {\n\t\t\t\tr.push([]);\n\t\t\t}\n\n\t\t\tr[r.length - 1].push(n);\n\n\t\t\treturn r;\n\t\t}, []);\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement} focusedNode\n * @returns\n */\nexport const resetBulkFocus = (coeffects, focusedNode) => {\n\tconst { updateState, action } = coeffects;\n\tconst keepLastFocus = get(action, 'payload.keepLastFocus', false);\n\tlet nearestTable;\n\n\tif (focusedNode) {\n\t\tnearestTable = focusedNode.closest('TABLE');\n\t}\n\n\t/** @type {BulkFocus} */\n\tlet bulkFocusValue = { ...EMPTY_BULK_FOCUS };\n\tif (focusedNode && nearestTable) {\n\t\t// remove data-* attributes for bulk focus\n\n\t\tnearestTable.removeAttribute(NOW_GRID_BULK_FOCUSED_IDS);\n\n\t\tremoveBulkStyles(nearestTable);\n\t\tif (keepLastFocus) {\n\t\t\tconst row = focusedNode.closest('tr');\n\t\t\tconst rowKey = get(row, 'dataset.key');\n\t\t\tconst { navRow, navCol } = focusedNode.dataset;\n\t\t\tconst rowIndex = Number(navRow);\n\t\t\tconst colIndex = Number(navCol);\n\t\t\tif (rowKey) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tnearestTable.setAttribute(NOW_GRID_BULK_FOCUSED_IDS, [rowKey]);\n\t\t\t\tbulkFocusValue = {\n\t\t\t\t\tcolIndex: colIndex,\n\t\t\t\t\tfocusedIndicies: [rowIndex],\n\t\t\t\t\tfocusedKeys: [rowKey],\n\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\tinitialIndex: rowIndex,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tsetBehaviorState(updateState, { bulkFocus: bulkFocusValue });\n};\n","/**\n * Contains helpers for the effects that are either reused in multiple effects,\n * or code sections that were large enough to warrant being split off from the\n * original effect\n */\nimport {\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n\tselector as tabbableSelectors,\n} from '@devsnc/sn-list-commons';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isArray from 'lodash/isArray';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport range from 'lodash/range';\nimport xor from 'lodash/xor';\n\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport { EXPAND_GROUP } from '../rowGroupingBehavior/constants';\n\nimport {\n\tEXIT_CELL_TRAP,\n\tKEY,\n\tKEYBOARD_NAV_BEHAVIOR_NAME,\n\tROW_DEFINITIONS,\n\tCOLUMN_DEFINITIONS,\n\tNOW_GRID_BULK_FOCUSED_IDS,\n\tFOCUS_LIST,\n\tENTER_CELL_TRAP,\n} from './constants';\nimport {\n\tgetRelativeDirection,\n\tquerySelector,\n\tgetBulkFocusInfo,\n\tupdateBulkStyles,\n\tresetBulkFocus,\n} from './utils';\n\n/**\n * Gets the keyboard nav behavior state from the larger component state object\n * @param  {StateWithProps<Props, State>} state\n * @return {KeyboardNavBehaviorState}\n */\nexport const getBehaviorState = (state) =>\n\tget(state, `behaviors.${KEYBOARD_NAV_BEHAVIOR_NAME}`, {});\n\n/**\n * Sets the keyboard nav behavior state\n * @param {Function} updateState\n * @param {Partial<KeyboardNavBehaviorState>} newState\n */\nexport const setBehaviorState = (updateState, newState) => {\n\tfor (const [key, value] of Object.entries(newState)) {\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `behaviors.${KEYBOARD_NAV_BEHAVIOR_NAME}.${key}`,\n\t\t\tvalue: value,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\n/**\n * Gets the behavior options that were passed when the behavior was created\n * @param {Action<any>} action\n * @return {KeyboardNavBehaviorOptions}\n */\nexport const getBehaviorOptions = (action) => {\n\treturn get(action, 'payload.options', {});\n};\n\n/**\n * Loads the row entry from tableRef at the given index\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @returns {TableRow | undefined}\n */\nexport const getRowFromTableRef = (tableRef, rowIndex) =>\n\tget(tableRef, `rows[${rowIndex}]`);\n\n/**\n * Loads the cell entry from tableRef at the given indices\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @param {number} cellIndex\n * @returns {TableCell | undefined}\n */\nexport const getCellFromTableRef = (tableRef, rowIndex, cellIndex) =>\n\tget(tableRef, `rows[${rowIndex}].cells[${cellIndex}]`);\n\n/**\n * Transfer the ability to focus from the previous cell to the new one\n * @param {Object} props\n * @param {Dispatch=} props.dispatch\n * @param {HTMLElement=} props.selectedActiveElement\n * @param {FocusedCell=} props.prevFocus\n * @param {FocusedCell=} props.newFocus\n * @param {Function} props.updateState\n * @param {Array<string>=} props.directFocusSelectors\n * @param {boolean=} props.shouldFocus\n * @param {boolean=} props.virtualizedScrollEnabled\n */\nexport const setNewCellFocus = ({\n\tdispatch,\n\tselectedActiveElement,\n\tprevFocus,\n\tnewFocus,\n\tupdateState,\n\tdirectFocusSelectors,\n\tshouldFocus,\n\tvirtualizedScrollEnabled = false,\n}) => {\n\t// If newFocus is undefined, that means the behavior is switching to row focus\n\tif (!newFocus) return;\n\n\t// If the cell changed, remove the previous cell's ability to focus\n\tif (prevFocus && !prevFocus.node.isSameNode(newFocus.node)) {\n\t\tprevFocus.node.removeAttribute('tabindex');\n\t}\n\t// make it so that if there are multiple tabbable elements in the cell, don't have a single focus\n\tconst tabbables = newFocus.node?.children\n\t\t? shadowQuerySelectorAll(newFocus.node, tabbableSelectors)\n\t\t: [];\n\n\tlet newFocusNode;\n\tlet isFocusSelector = false;\n\n\tif (directFocusSelectors) {\n\t\tdirectFocusSelectors.forEach((selector) => {\n\t\t\tconst node = querySelector(selector, newFocus.node);\n\t\t\tif (node) {\n\t\t\t\tnewFocusNode = node;\n\t\t\t\tisFocusSelector = true;\n\t\t\t}\n\t\t});\n\t}\n\tif (selectedActiveElement) {\n\t\tnewFocusNode = selectedActiveElement;\n\t}\n\n\t// Only focus on the direct focus selector if there is only 1 present in the cell\n\tif (tabbables.length === 1 && isFocusSelector && newFocusNode) {\n\t\tnewFocus.node = newFocusNode;\n\t} else if (selectedActiveElement && dispatch) {\n\t\t// Only enter the cell trap if an element inside of a cell is clicked on,\n\t\t// which is stored in selectedActiveElement\n\t\tdispatch(ENTER_CELL_TRAP, { targetNode: selectedActiveElement });\n\t}\n\n\tsetBehaviorState(updateState, { focusedCell: newFocus });\n\n\t// Td cells aren't tabbable by default, so setting a tab index here allows for that\n\tnewFocus.node.tabIndex = 0;\n\n\tif (shouldFocus) {\n\t\tif (virtualizedScrollEnabled) {\n\t\t\tnewFocus.node.focus({ preventScroll: true });\n\t\t} else {\n\t\t\tnewFocus.node.focus();\n\t\t}\n\n\t\t/**\n\t\t * Because the group row container spans across the entire table, trying\n\t\t * to scroll this element into view will cause an unnecessary horizontal\n\t\t * scroll, and will also cause the group row actions popover to close\n\t\t * because a scroll event has occurred.\n\t\t */\n\t\tif (\n\t\t\t!newFocus.node.classList.contains('group-row-container') &&\n\t\t\t!virtualizedScrollEnabled\n\t\t) {\n\t\t\tnewFocus.node.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n};\n\n/**\n * Transfer the ability to focus from the previous cell to the new one\n * @param {Object} props\n * @param {FocusedRow=} props.prevFocus\n * @param {FocusedRow=} props.newFocus\n * @param {Function} props.updateState\n * @param {boolean=} props.shouldFocus\n */\nexport const setNewRowFocus = ({\n\tprevFocus,\n\tnewFocus,\n\tupdateState,\n\tshouldFocus,\n}) => {\n\t// If newFocus is undefined, that means the behavior is switching to cell focus\n\tif (!newFocus) return;\n\n\t// If the cell changed, remove the previous cell's ability to focus\n\tif (prevFocus && !prevFocus.node.isSameNode(newFocus.node)) {\n\t\tprevFocus.node.removeAttribute('tabindex');\n\t}\n\n\tsetBehaviorState(updateState, { focusedRow: newFocus });\n\n\tnewFocus.node.tabIndex = 0;\n\n\tif (shouldFocus) {\n\t\tnewFocus.node.focus();\n\t\tnewFocus.node.scrollIntoView({ block: 'nearest' });\n\t}\n};\n\n/**\n * Determine the correct indices if a pointer cell is about to be focused\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @param {number} cellIndex\n * @param {string} key\n * @returns {{rowIndex: number, cellIndex: number, pointerCellHandled: boolean}}\n */\nexport const handlePointerCell = (tableRef, rowIndex, cellIndex, key) => {\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\tif (!cell || !cell.pointer)\n\t\treturn { rowIndex, cellIndex, pointerCellHandled: false };\n\n\t/**\n\t * Actionable messages and group header rows can be reached from any column.\n\t * When the user moves through from these rows, the user should return to\n\t * the same column that they originated from, so the pointer logic should be\n\t * ignored.\n\t */\n\tconst { classList } = cell.node;\n\tif (\n\t\t(classList.contains('group-row-container') ||\n\t\t\tclassList.contains('actionable-message')) &&\n\t\t(key === KEY.UP || key === KEY.DOWN)\n\t) {\n\t\treturn { rowIndex, cellIndex, pointerCellHandled: false };\n\t}\n\n\tconst isRTL = document.dir === 'rtl';\n\n\tconst pointerDir = getRelativeDirection(\n\t\tcellIndex,\n\t\trowIndex,\n\t\tcell.pointer.cellIndex,\n\t\tcell.pointer.rowIndex,\n\t\tisRTL\n\t);\n\tif (!pointerDir) return { rowIndex, cellIndex, pointerCellHandled: false };\n\n\tconst { pointer } = cell;\n\tconst maxRowIndex = tableRef.rows.length - 1;\n\tconst maxCellIndex = tableRef.rows[rowIndex].cells.length - 1;\n\tconst rtlData = isRTL\n\t\t? {\n\t\t\t\tdir: 'Right',\n\t\t\t\tmoveOne: KEY.LEFT,\n\t\t\t\tmoveAll: KEY.HOME,\n\t\t  }\n\t\t: {\n\t\t\t\tdir: 'Left',\n\t\t\t\tmoveOne: KEY.RIGHT,\n\t\t\t\tmoveAll: KEY.END,\n\t\t  };\n\n\t/**\n\t * If the direction of the source cell is in the opposite direction of\n\t * movement, then we need to move to the cell in the direction of movement.\n\t * Otherwise, we just need to move to the source cell's location. To account\n\t * for RTL being enabled, the horizontal movement direction needs to be\n\t * handled dynamically, with the properties listed in the rtlData object\n\t */\n\n\tswitch (pointerDir) {\n\t\tcase 'Up':\n\t\t\tif (key === KEY.DOWN || key === KEY.PAGE_DOWN) {\n\t\t\t\tconst newRowFocus = pointer.rowIndex + pointer.rowSpan;\n\t\t\t\tif (newRowFocus > maxRowIndex)\n\t\t\t\t\treturn { ...pointer, pointerCellHandled: true };\n\n\t\t\t\treturn {\n\t\t\t\t\trowIndex: newRowFocus,\n\t\t\t\t\tcellIndex,\n\t\t\t\t\tpointerCellHandled: true,\n\t\t\t\t};\n\t\t\t} else return { ...pointer, pointerCellHandled: true };\n\n\t\tcase rtlData.dir:\n\t\t\tif (key === rtlData.moveOne || key === rtlData.moveAll) {\n\t\t\t\tconst newCellFocus = pointer.cellIndex + pointer.colSpan;\n\n\t\t\t\tif (newCellFocus > maxCellIndex)\n\t\t\t\t\treturn { ...pointer, pointerCellHandled: true };\n\n\t\t\t\treturn {\n\t\t\t\t\trowIndex,\n\t\t\t\t\tcellIndex: newCellFocus,\n\t\t\t\t\tpointerCellHandled: true,\n\t\t\t\t};\n\t\t\t} else return { ...pointer, pointerCellHandled: true };\n\t}\n\treturn { rowIndex, cellIndex, pointerCellHandled: true };\n};\n\n/**\n * get next row\n * @param {TableRef} tableRef - The table reference element\n * @param {FocusedRow} focusedRow - The currently focused row\n * @param {FocusedCell} focusedCell - The currently focused cell\n * @returns {TableRow | undefined}\n */\nexport const getNextRowFromTableRef = (tableRef, focusedRow, focusedCell) => {\n\treturn (\n\t\t(focusedRow || focusedCell) &&\n\t\tgetRowFromTableRef(\n\t\t\ttableRef,\n\t\t\t(focusedRow?.rowIndex ?? focusedCell?.rowIndex) + 1\n\t\t)\n\t);\n};\n\n/**\n * Focus the given node element, and ensure that the behavior state is properly updated\n * @param {*} node\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement=} selectedActiveElement -\n */\nexport const focusCellNode = (node, coeffects, selectedActiveElement) => {\n\tconst { action, dispatch, state, updateState } = coeffects;\n\tconst { focusedCell, focusedRow, trappedCell } = getBehaviorState(state);\n\tconst { directFocusSelectors } = getBehaviorOptions(action);\n\n\tif (trappedCell) dispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\tif (focusedRow) {\n\t\tsetNewRowFocus({ prevFocus: focusedRow, updateState });\n\t\tsetBehaviorState(updateState, { focusedRow: undefined });\n\t}\n\n\t// Retrieve the cell's location in tableRef based on the stored values\n\tconst { navRow, navCol } = node.dataset;\n\tif (isNaN(parseInt(navRow)) || isNaN(parseInt(navCol))) return;\n\n\tconst newFocus = {\n\t\trowIndex: parseInt(navRow),\n\t\tcellIndex: parseInt(navCol),\n\t\tnode,\n\t};\n\n\tconst shouldFocus = !node.contains(findActiveElement());\n\n\t/**\n\t * Pass in dispatch only if we select an element in the cell\n\t * and we want to enter the cell trap as a result.\n\t * Pass selectedActiveElement as the element to focus in the new cell.\n\t */\n\tsetNewCellFocus({\n\t\tdispatch,\n\t\tselectedActiveElement,\n\t\tprevFocus: focusedCell,\n\t\tnewFocus,\n\t\tupdateState,\n\t\tdirectFocusSelectors,\n\t\tshouldFocus,\n\t});\n};\n\n/**\n * Focus the given popoverTarget by entering the cell trap of the focused cell\n * after closing the popover\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement=} popoverTargetNode\n */\nexport const focusPopoverTarget = (coeffects, popoverTargetNode) => {\n\tconst { dispatch, state } = coeffects;\n\tconst { focusedCell } = getBehaviorState(state);\n\n\tif (!popoverTargetNode) {\n\t\tfocusCellNode(focusedCell.node, coeffects);\n\t\treturn;\n\t}\n\n\tif (!shadowQuerySelectorAll(focusedCell.node, popoverTargetNode.className))\n\t\treturn;\n\n\tdispatch(ENTER_CELL_TRAP, {\n\t\ttargetNode: popoverTargetNode,\n\t});\n};\n\n/**\n * Handles directional navigation when a cell is focused\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleCellMove = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\n\tconst {\n\t\tfocusedCell,\n\t\ttableRef,\n\t\thasGroupedRows,\n\t\tbulkFocus: { focusedKeys = [], focusedIndicies = [], previousKeys },\n\t} = getBehaviorState(state);\n\tconst { focusedRowKey } = state;\n\tlet bulkRows = focusedKeys;\n\tlet bulkRowIndices = focusedIndicies;\n\n\tconst {\n\t\tdirectFocusSelectors,\n\t\tscrollContainerSelector,\n\t} = getBehaviorOptions(action);\n\n\tconst {\n\t\tpayload: { key, shiftKey },\n\t} = action;\n\n\tconst newFocusedCell = { ...focusedCell };\n\n\t/**\n\t * For every directional movement, we adjust the coordinate of the focus and\n\t * handle the possibility of landing on a pointer cell\n\t */\n\tswitch (key) {\n\t\tcase KEY.UP:\n\t\tcase KEY.DOWN: {\n\t\t\tconst focusIncrement = key === KEY.DOWN ? 1 : -1;\n\t\t\tlet newRowFocus = focusedCell.rowIndex + focusIncrement;\n\t\t\tfocusedCell.node.tabIndex = 0;\n\n\t\t\tif (newRowFocus < 0 || newRowFocus > tableRef.rows.length - 1)\n\t\t\t\treturn;\n\t\t\tif (cellEditingEnabled) {\n\t\t\t\tlet isValidCell;\n\t\t\t\tlet focusedRow = get(tableRef, `rows[${newRowFocus}]`);\n\t\t\t\tlet rowKey = get(focusedRow, 'node.dataset.key');\n\t\t\t\tif (shiftKey) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t({ focusedRow, isValidCell } = getBulkFocusInfo(\n\t\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\t\tnewRowFocus,\n\t\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t\t));\n\n\t\t\t\t\t\tif (!isValidCell) {\n\t\t\t\t\t\t\tnewRowFocus += focusIncrement;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trowKey = get(focusedRow, 'node.dataset.key');\n\t\t\t\t\t\t}\n\t\t\t\t\t} while (!isValidCell);\n\n\t\t\t\t\tif (includes(bulkRows, rowKey)) {\n\t\t\t\t\t\tbulkRows = xor(bulkRows, [previousKeys]);\n\t\t\t\t\t\tbulkRowIndices = xor(bulkRowIndices, [\n\t\t\t\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\t\t\t]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbulkRows = xor(bulkRows, [rowKey]);\n\t\t\t\t\t\tbulkRowIndices = xor(bulkRowIndices, [newRowFocus]);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!focusedRow) return;\n\n\t\t\t\t\tconst nearestTable = focusedRow.node.closest('TABLE');\n\t\t\t\t\tif (!nearestTable) return;\n\n\t\t\t\t\tnearestTable.setAttribute(\n\t\t\t\t\t\tNOW_GRID_BULK_FOCUSED_IDS,\n\t\t\t\t\t\tbulkRows.join(',')\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateBulkStyles(\n\t\t\t\t\t\tbulkRowIndices,\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t);\n\t\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\t\tbulkFocus: {\n\t\t\t\t\t\t\tfocusedKeys: bulkRows,\n\t\t\t\t\t\t\tfocusedIndicies: bulkRowIndices,\n\t\t\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateBulkStyles(\n\t\t\t\t\t\t[newRowFocus],\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t);\n\t\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\t\tbulkFocus: {\n\t\t\t\t\t\t\tfocusedKeys: [rowKey],\n\t\t\t\t\t\t\tfocusedIndicies: [newRowFocus],\n\t\t\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewRowFocus,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.LEFT:\n\t\tcase KEY.RIGHT: {\n\t\t\t/**\n\t\t\t * If the user is currently on a group header row, the previously\n\t\t\t * ignored pointer needs to now be handled so that navigation works\n\t\t\t * as expected.\n\t\t\t */\n\t\t\tconst {\n\t\t\t\trowIndex: ptrRowIndex,\n\t\t\t\tcellIndex: ptrCellIndex,\n\t\t\t\tpointerCellHandled: pointerCellHandled,\n\t\t\t} = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\tfocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\t\t\tfocusedCell.rowIndex = ptrRowIndex;\n\t\t\tfocusedCell.cellIndex = ptrCellIndex;\n\n\t\t\t/**\n\t\t\t * For RTL languages, the index increases as you go from right to\n\t\t\t * left, so the key behavior needs to be flipped\n\t\t\t */\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.LEFT : KEY.RIGHT;\n\t\t\tlet newCellFocus;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tnewCellFocus =\n\t\t\t\t\tfocusedCell.cellIndex + (pointerCellHandled ? 0 : 1);\n\n\t\t\t\tif (\n\t\t\t\t\tnewCellFocus >\n\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].cells.length - 1\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tnewCellFocus =\n\t\t\t\t\tfocusedCell.cellIndex - (pointerCellHandled ? 0 : 1);\n\n\t\t\t\t/**\n\t\t\t\t * Refetch the cell node to handle the case where focus is\n\t\t\t\t * currently on a direct focus selector element (such as a\n\t\t\t\t * grouped row button).\n\t\t\t\t */\n\t\t\t\tconst cell = getCellFromTableRef(\n\t\t\t\t\ttableRef,\n\t\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * If the user attempts to go passed the first cell, the focus\n\t\t\t\t * should switch from cell-based to row-based, which is used\n\t\t\t\t * for navigating grouped rows. This should only happen on td\n\t\t\t\t * elements and not on th elements.\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\tnewCellFocus < 0 &&\n\t\t\t\t\thasGroupedRows &&\n\t\t\t\t\tcell?.node.tagName === 'TD'\n\t\t\t\t) {\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tprevFocus: focusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t});\n\t\t\t\t\tsetBehaviorState(updateState, { focusedCell: undefined });\n\n\t\t\t\t\tconst newRowFocus =\n\t\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].node;\n\t\t\t\t\tsetNewRowFocus({\n\t\t\t\t\t\tnewFocus: {\n\t\t\t\t\t\t\trowIndex: focusedCell.rowIndex,\n\t\t\t\t\t\t\tnode: newRowFocus,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tshouldFocus: true,\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewCellFocus,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.PAGE_DOWN: {\n\t\t\tnewFocusedCell.rowIndex =\n\t\t\t\tkey === KEY.PAGE_DOWN ? tableRef.rows.length - 1 : 0;\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.HOME:\n\t\tcase KEY.END: {\n\t\t\t// For RTL languages, the index increases RTL, so the key behavior needs to be flipped\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.HOME : KEY.END;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tnewFocusedCell.cellIndex =\n\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].cells.length - 1;\n\t\t\t} else {\n\t\t\t\tnewFocusedCell.cellIndex = 0;\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst cell = getCellFromTableRef(\n\t\ttableRef,\n\t\tnewFocusedCell.rowIndex,\n\t\tnewFocusedCell.cellIndex\n\t);\n\tif (!cell) return;\n\n\tnewFocusedCell.node = cell.node;\n\n\tif (key === KEY.UP) {\n\t\tensureCellIntersection(\n\t\t\tnewFocusedCell.node,\n\t\t\ttableRef,\n\t\t\tscrollContainerSelector\n\t\t);\n\t}\n\n\tsetNewCellFocus({\n\t\tprevFocus: focusedCell,\n\t\tnewFocus: newFocusedCell,\n\t\tupdateState,\n\t\tdirectFocusSelectors,\n\t\tshouldFocus: true,\n\t});\n};\n\n/**\n * Toggle a grouped row by emitting the same event that would come from clicking\n * on a grouped row toggle button\n * @param {Dispatch} dispatch\n * @param {string | undefined} key\n */\nconst toggleGroupedRow = (dispatch, key) => {\n\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\trow: { key },\n\t\ttype: EXPAND_GROUP,\n\t});\n};\n\n/**\n * Handles directional navigation when a row is focused\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleRowMove = ({ action, dispatch, state, updateState }) => {\n\tconst { tableRef, focusedRow } = getBehaviorState(state);\n\tconst {\n\t\tdirectFocusSelectors,\n\t\tscrollContainerSelector,\n\t} = getBehaviorOptions(action);\n\n\tconst {\n\t\tpayload: { key },\n\t} = action;\n\n\tconst newFocusedRow = { ...focusedRow };\n\n\tswitch (key) {\n\t\tcase KEY.UP:\n\t\tcase KEY.DOWN: {\n\t\t\tconst focusIncrement = key === KEY.DOWN ? 1 : -1;\n\t\t\tconst newRowIndex = focusedRow.rowIndex + focusIncrement;\n\t\t\tif (newRowIndex < 0 || newRowIndex > tableRef.rows.length - 1)\n\t\t\t\treturn;\n\n\t\t\tnewFocusedRow.rowIndex = newRowIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.LEFT:\n\t\tcase KEY.RIGHT: {\n\t\t\t/**\n\t\t\t * For RTL languages, the index increases as you go from right to\n\t\t\t * left, so the key behavior needs to be flipped\n\t\t\t */\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.LEFT : KEY.RIGHT;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tif (\n\t\t\t\t\t!focusedRow.node.hasAttribute('aria-expanded') ||\n\t\t\t\t\tfocusedRow.node.getAttribute('aria-expanded') === 'true'\n\t\t\t\t) {\n\t\t\t\t\tconst cell = getCellFromTableRef(\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedRow.rowIndex,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t\tif (!cell) return;\n\n\t\t\t\t\tconst newFocusedCell = {\n\t\t\t\t\t\tcellIndex: 0,\n\t\t\t\t\t\trowIndex: focusedRow.rowIndex,\n\t\t\t\t\t\tnode: cell.node,\n\t\t\t\t\t};\n\n\t\t\t\t\t// Unfocus the row\n\t\t\t\t\tsetNewRowFocus({ prevFocus: focusedRow, updateState });\n\t\t\t\t\tsetBehaviorState(updateState, { focusedRow: undefined });\n\n\t\t\t\t\t// Focus the cell\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tnewFocus: newFocusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdirectFocusSelectors,\n\t\t\t\t\t\tshouldFocus: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoggleGroupedRow(dispatch, focusedRow.node.dataset.key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t/**\n\t\t\t\t * If the row is expanded and the user presses left, then the\n\t\t\t\t * row should be collapsed.\n\t\t\t\t */\n\t\t\t\tif (focusedRow.node.getAttribute('aria-expanded') === 'true') {\n\t\t\t\t\ttoggleGroupedRow(dispatch, focusedRow.node.dataset.key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.HOME:\n\t\tcase KEY.PAGE_DOWN:\n\t\tcase KEY.END: {\n\t\t\tif (key === KEY.PAGE_DOWN || key === KEY.END) {\n\t\t\t\tnewFocusedRow.rowIndex =\n\t\t\t\t\ttableRef.rows.length -\n\t\t\t\t\t1 -\n\t\t\t\t\ttableRef.rows.filter((row) => row.type === 'TFOOT').length;\n\t\t\t} else {\n\t\t\t\tnewFocusedRow.rowIndex = tableRef.rows.filter(\n\t\t\t\t\t(row) => row.type === 'THEAD'\n\t\t\t\t).length;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst row = getRowFromTableRef(tableRef, newFocusedRow.rowIndex);\n\tif (!row) return;\n\n\tif (row.node.parentElement?.tagName !== 'TBODY') return;\n\n\tnewFocusedRow.node = row.node;\n\n\tif (key === KEY.UP) {\n\t\tensureCellIntersection(\n\t\t\tnewFocusedRow.node,\n\t\t\ttableRef,\n\t\t\tscrollContainerSelector\n\t\t);\n\t}\n\n\tsetNewRowFocus({\n\t\tprevFocus: focusedRow,\n\t\tnewFocus: newFocusedRow,\n\t\tupdateState,\n\t\tshouldFocus: true,\n\t});\n};\n\n/**\n * This function handles the case where a user is navigating up via keyboard and the row is hidden behind the\n * sticky column headers. The cell is technically visible, so the browser doesn't move the page to scroll to it,\n * but the cell is obstructed. This function checks if the cell being focused is hidden behind the column header.\n * If so, it calculate show much to scroll the container down so that the cell is fully visible. This logic isn't\n * neded if the cell is obstructed by the list's viewport, since the browser will handle movement for that case.\n * @param {HTMLElement} node\n * @param {TableRef} tableRef\n * @param {string | undefined} scrollContainerSelector\n */\nexport const ensureCellIntersection = (\n\tnode,\n\ttableRef,\n\tscrollContainerSelector\n) => {\n\tif (!scrollContainerSelector) return;\n\n\tconst cellRect = node.getBoundingClientRect();\n\tconst colHeaderNode = tableRef.node.querySelector('thead');\n\tif (!colHeaderNode) return;\n\n\tconst colHeaderRect = colHeaderNode.getBoundingClientRect();\n\n\tconst isCellNodeHidden = colHeaderRect.bottom > cellRect.top;\n\n\tif (isCellNodeHidden) {\n\t\tconst scrollContainer = node.closest(scrollContainerSelector);\n\t\tif (!scrollContainer) return;\n\n\t\t// the amount of pixels that the cell is hidden by the column header\n\t\tconst scrollAmount = colHeaderRect.bottom - cellRect.top;\n\n\t\tscrollContainer.scrollTop -= scrollAmount;\n\t}\n};\n\n/**\n * Default function to determine whether to rerender based on if the property that changed was incldued in the rerenderProperties list\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const shouldTriggerRerenderDefaultFn = (coeffects) => {\n\tconst { action } = coeffects;\n\tconst { rerenderProperties } = getBehaviorOptions(action);\n\tif (!rerenderProperties || isEmpty(rerenderProperties)) return false;\n\n\tif (!rerenderProperties.includes(action?.payload?.name)) return false;\n\n\treturn true;\n};\n\n/**\n * Determines whether to rerender based on if the rows/column keys have changed\n * @param {Coeffects<Props, State>} coeffects\n * @returns {boolean}\n */\nexport const shouldTriggerRerender = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties,\n\t} = coeffects;\n\tconst { virtualizedScrollEnabled } = properties;\n\tconst { rerenderProperties } = getBehaviorOptions(action);\n\tif (!rerenderProperties || isEmpty(rerenderProperties)) return false;\n\tconst currentPage = get(value, 'metadata.currentPage', null);\n\t// if the row/col keys don't change then we don't want to reset the focus state\n\tif ([ROW_DEFINITIONS, COLUMN_DEFINITIONS].includes(name)) {\n\t\tif (virtualizedScrollEnabled && currentPage !== 0) return false;\n\t\tconst objKey = name === ROW_DEFINITIONS ? 'rows' : 'columns';\n\t\tconst originalKeys = getKeys(previousValue, objKey);\n\t\tconst newKeys = getKeys(value, objKey);\n\t\t// update table ref when there is change in children in rowDefintions\n\t\tconst hasChildrenOriginal = hasChildren(previousValue, objKey);\n\t\tconst hasChildrenNew = hasChildren(value, objKey);\n\t\treturn (\n\t\t\t!isEqual(originalKeys, newKeys) ||\n\t\t\t!isEqual(hasChildrenOriginal, hasChildrenNew)\n\t\t);\n\t}\n\n\tif (!rerenderProperties.includes(name)) return false;\n\n\treturn true;\n};\n\n/**\n * @param {Row | ColumnBase} obj either a row or a column\n * @param {string} propertyName the field in the object where the keys live\n * @returns {Array<string>}\n */\nconst getKeys = (obj, propertyName) => {\n\tconst items = get(obj, `${propertyName}`, []);\n\tconst keys = [];\n\tconst stack = [...items];\n\n\twhile (stack.length > 0) {\n\t\tconst item = stack.pop();\n\n\t\tif (item.key) {\n\t\t\tkeys.push(item.key);\n\t\t}\n\n\t\tif (item.children && isArray(item.children)) {\n\t\t\tstack.push(...item.children);\n\t\t}\n\t}\n\n\treturn keys;\n};\n\n/**\n * Returns if any rows in rowDefinitions has children\n * @param {Row | ColumnBase} obj either a row or a column\n * @param {string} propertyName the field in the object where the keys live\n * @returns {boolean}\n */\nconst hasChildren = (obj, propertyName) => {\n\tif (propertyName !== 'rows') return true;\n\tconst items = get(obj, `${propertyName}`, []);\n\treturn items.some((/** @type {Row} */ obj) => obj.children !== undefined);\n};\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement} focusedNode\n * @returns\n */\nexport const handleBulkFocusClick = (coeffects, focusedNode) => {\n\tconst { action, state, updateState } = coeffects;\n\tconst {\n\t\tbulkFocus,\n\t\tbulkFocus: {\n\t\t\tinitialIndex,\n\t\t\tfocusedIndicies: prevFocusedIndicies = [],\n\t\t\tcolIndex: prevColIndex,\n\t\t},\n\t\ttableRef: grid,\n\t} = getBehaviorState(state);\n\n\tconst {\n\t\tpayload: {\n\t\t\tevent: { metaKey, shiftKey },\n\t\t},\n\t} = action;\n\n\tconst { navRow, navCol } = focusedNode.dataset;\n\n\t/** @type {number} */\n\tconst rowIndex = Number(navRow);\n\tconst colIndex = Number(navCol);\n\n\t// @ts-ignore\n\tconst { isValidCell, focusedRow } = getBulkFocusInfo(\n\t\tgrid,\n\t\trowIndex,\n\t\tcolIndex\n\t);\n\n\tif (!isValidCell) {\n\t\tresetBulkFocus(coeffects, focusedNode);\n\t}\n\n\tlet focusedIndicies = [...prevFocusedIndicies];\n\tconst isSameColumn = colIndex === prevColIndex;\n\tconst visited = focusedIndicies.includes(rowIndex) && isSameColumn;\n\n\tif (!metaKey && visited) return;\n\n\tconst stateUpdate = {\n\t\t...bulkFocus,\n\t\tpreviousKeys: get(focusedRow, 'node.dataset.key'),\n\t};\n\n\t// cmd click\n\tif (metaKey && isSameColumn) {\n\t\tstateUpdate.initialIndex = rowIndex;\n\n\t\t// deselect if selected\n\t\tif (visited) {\n\t\t\tfocusedIndicies.splice(focusedIndicies.indexOf(rowIndex), 1);\n\t\t}\n\t\t// otherwise select\n\t\telse {\n\t\t\tfocusedIndicies.push(rowIndex);\n\t\t}\n\t}\n\t// shift click\n\telse if (shiftKey && isSameColumn) {\n\t\tconst minIndex = initialIndex\n\t\t\t? Math.min(initialIndex, rowIndex)\n\t\t\t: rowIndex;\n\t\tconst maxIndex = initialIndex\n\t\t\t? Math.max(initialIndex, rowIndex)\n\t\t\t: rowIndex;\n\n\t\tfocusedIndicies = focusedIndicies.concat(range(minIndex, maxIndex + 1));\n\t}\n\t// regular click\n\telse {\n\t\tstateUpdate.initialIndex = rowIndex;\n\t\tstateUpdate.colIndex = colIndex;\n\t\tfocusedIndicies = [rowIndex];\n\t}\n\n\tfocusedIndicies = [...new Set(focusedIndicies)];\n\n\t/** @type  { Array<String> } */\n\tconst focusedKeys = [];\n\n\t// use set to remove duplicates, then loop to find valid cells to get Keys\n\t[...focusedIndicies].forEach((index) => {\n\t\t// @ts-ignore\n\t\tconst { focusedRow, isValidCell } = getBulkFocusInfo(\n\t\t\tgrid,\n\t\t\tindex,\n\t\t\tcolIndex\n\t\t);\n\t\tif (isValidCell) {\n\t\t\tfocusedKeys.push(get(focusedRow, 'node.dataset.key'));\n\t\t} else {\n\t\t\tfocusedIndicies.splice(focusedIndicies.indexOf(index), 1);\n\t\t}\n\t});\n\n\tstateUpdate.focusedIndicies = focusedIndicies;\n\n\tstateUpdate.focusedKeys = focusedKeys;\n\n\tif (!focusedRow) return;\n\n\tconst nearestTable = focusedRow.node.closest('TABLE');\n\tif (!nearestTable) return;\n\n\t// @ts-ignore\n\tnearestTable.setAttribute(NOW_GRID_BULK_FOCUSED_IDS, focusedKeys.join(','));\n\n\t// @ts-ignore\n\tupdateBulkStyles(focusedIndicies, grid, colIndex);\n\t// @ts-ignore\n\tsetBehaviorState(updateState, { bulkFocus: stateUpdate });\n};\n\n/**\n * Dispatches the focus list action that refocuses current focused cell.\n * Overrides the default focus function for now-list.\n * @param {Now.HostHTMLElement} host\n * @param {Now.Dispatch} dispatch\n */\nexport const focus = (host, dispatch) => {\n\tdispatch(FOCUS_LIST);\n};\n","export const NOW_LIST_OPEN_POPOVER_INTERNAL = 'NOW_LIST#OPEN_POPOVER_INTERNAL';\nexport const NOW_LIST_CLOSE_POPOVER_INTERNAL =\n\t'NOW_LIST#CLOSE_POPOVER_INTERNAL';\n\nexport const NOW_LIST_POPOVER_OPENED = 'NOW_LIST#POPOVER_OPENED';\nexport const NOW_LIST_POPOVER_CLOSED = 'NOW_LIST#POPOVER_CLOSED';\n\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const BEHAVIOR_STATE_PATH = 'behaviors.popoverDefinitionBehavior';\n\nexport const CHOICE_COLUMN_FILTER = 'choiceColumnFilter';\n","export const ROW_DEFINITIONS_PATH = 'rowDefinitions';\nexport const CELL_EDIT_POPOVER_TYPE = 'cellEdit';\nexport const CELL_EDIT_APPLY_BUTTON_ID = 'cellEditApplyButton';\nexport const CELL_EDIT_CANCEL_BUTTON_ID = 'cellEditCancelButton';\nexport const CELL_EDIT_RETRY_BUTTON_ID = 'cellEditRetryButton';\n\n// component tags\nexport const CELL_EDIT_POPOVER_STRING = 'now-list-string-cell-editor-content';\nexport const CELL_EDIT_POPOVER_BOOLEAN = 'now-list-boolean-cell-editor-content';\nexport const CELL_EDIT_POPOVER_NUMBER = 'now-list-number-cell-editor-content';\nexport const CELL_EDIT_POPOVER_CURRENCY =\n\t'now-list-currency-cell-editor-content';\nexport const CELL_EDIT_POPOVER_DATE_TIME =\n\t'now-list-date-time-cell-editor-content';\nexport const CELL_EDIT_POPOVER_PILLS = 'now-list-pills-cell-editor-content';\nexport const CELL_EDIT_POPOVER_CHOICE = 'now-list-choice-cell-editor-content';\nexport const CELL_EDIT_POPOVER_URL = 'now-list-url-cell-editor-content';\nexport const CELL_EDIT_POPOVER_LINK = 'now-list-link-cell-editor-content';\nexport const CELL_EDIT_POPOVER_ICON = 'now-list-icon-cell-editor-content';\nexport const CELL_EDIT_POPOVER_PERSON = 'now-list-person-cell-editor-content';\nexport const CELL_EDIT_POPOVER_HTML = 'now-list-html-cell-editor-content';\n\n//component events\nexport const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_RADIO_BUTTONS_VALUE_SET = 'NOW_RADIO_BUTTONS#VALUE_SET';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET =\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET';\nexport const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_INPUT_URL_VALUE_SET = 'NOW_INPUT_URL#VALUE_SET';\nexport const NOW_HTML_VALUE_SET = 'NOW_RECORD_HTML_EDITOR#VALUE_CHANGED';\n\n//internal events\nexport const CELL_EDIT_INTERNAL = 'CELL_EDIT_INTERNAL';\n\n//internally dispatched events\nexport const NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED =\n\t'NOW_LIST_CELL_EDITOR_CONTENT#VALUE_UPDATED';\n\n//dispatched events\nexport const NOW_LIST_POPOVER_BUTTON_CLICKED =\n\t'NOW_LIST#POPOVER_BUTTON_CLICKED';\nexport const NOW_LIST_CELL_EDIT_REQUESTED = 'NOW_LIST#CELL_EDIT_REQUESTED';\nexport const NOW_LIST_CELL_EDIT_SUBMITTED = 'NOW_LIST#CELL_EDIT_SUBMITTED';\n","import cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_NUMBER,\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_PILLS,\n\tTYPE_CHOICE,\n\tTYPE_URL,\n\tTYPE_LINK,\n\tTYPE_ICON,\n\tTYPE_PERSON,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_HTML,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport {\n\tgetBehaviorState,\n\tsetBehaviorState,\n} from '../keyboardNavBehavior/keyboardNavHelpers';\nimport { updateBulkStyles } from '../keyboardNavBehavior/utils';\nimport {\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n} from '../popoverBehavior/constants';\n\nimport {\n\tCELL_EDIT_INTERNAL,\n\tCELL_EDIT_APPLY_BUTTON_ID,\n\tCELL_EDIT_CANCEL_BUTTON_ID,\n\tNOW_LIST_CELL_EDIT_REQUESTED,\n\tNOW_LIST_CELL_EDIT_SUBMITTED,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n\tCELL_EDIT_POPOVER_STRING,\n\tROW_DEFINITIONS_PATH,\n\tCELL_EDIT_POPOVER_BOOLEAN,\n\tCELL_EDIT_POPOVER_NUMBER,\n\tCELL_EDIT_POPOVER_CURRENCY,\n\tCELL_EDIT_POPOVER_DATE_TIME,\n\tCELL_EDIT_POPOVER_TYPE,\n\tCELL_EDIT_RETRY_BUTTON_ID,\n\tCELL_EDIT_POPOVER_PILLS,\n\tCELL_EDIT_POPOVER_CHOICE,\n\tCELL_EDIT_POPOVER_URL,\n\tCELL_EDIT_POPOVER_LINK,\n\tCELL_EDIT_POPOVER_ICON,\n\tCELL_EDIT_POPOVER_PERSON,\n\tCELL_EDIT_POPOVER_HTML,\n} from './constants';\n\nconst popoverConfig = {\n\tariaLabel: t('Cell Edit Popover'),\n\tdismissOnScroll: false,\n\thideTail: true,\n\tdismissable: false,\n};\n\n/**\n * @param {Dispatch} dispatch\n * @param {HTMLElement} cellRef\n * @param {Context} context\n * @param {String} message\n */\nexport const openCellEditPopoverWithMessage = (\n\tdispatch,\n\tcellRef,\n\tcontext,\n\tmessage\n) => {\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: cellRef,\n\t\tpopoverDefinition: {\n\t\t\tconfig: popoverConfig,\n\t\t\tcontent: {\n\t\t\t\tpopoverType: CELL_EDIT_POPOVER_TYPE,\n\t\t\t\tbuttonsConfig: {\n\t\t\t\t\tdisableApply: true,\n\t\t\t\t},\n\t\t\t\thighlightedMessage: {\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\ticon: 'triangle-exclamation-outline',\n\t\t\t\t\tcolor: 'warning',\n\t\t\t\t\tlabel: message,\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t},\n\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\tactionsContext: context,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcontext,\n\t});\n};\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns list of rows\n */\nexport const getClonedRows = (state) =>\n\tcloneDeep(get(state, ROW_DEFINITIONS_PATH, []));\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns processed selected Rows, and table ref\n */\nexport const getRowsToUpdate = (state) => {\n\tconst { bulkFocus, tableRef } = getBehaviorState(state);\n\tconst clonedRows = getClonedRows(state);\n\n\tconst rowsToUpdate = clonedRows.rows\n\t\t? clonedRows.rows.filter((/** @type {{ key: string; }} */ row) =>\n\t\t\t\tbulkFocus.focusedKeys.includes(row.key)\n\t\t  )\n\t\t: [];\n\n\treturn {\n\t\trowsToUpdate,\n\t\tclonedRows,\n\t\ttableRef,\n\t\tbulkFocus,\n\t};\n};\n\n/**\n * @param {String} cellType\n * @returns\n */\nexport const getComponentTag = (cellType) =>\n\t({\n\t\t[TYPE_BOOLEAN]: CELL_EDIT_POPOVER_BOOLEAN,\n\t\t[TYPE_NUMBER]: CELL_EDIT_POPOVER_NUMBER,\n\t\t[TYPE_PERCENT_COMPLETE]: CELL_EDIT_POPOVER_NUMBER,\n\t\t[TYPE_CURRENCY]: CELL_EDIT_POPOVER_CURRENCY,\n\t\t[TYPE_DATE_TIME]: CELL_EDIT_POPOVER_DATE_TIME,\n\t\t[TYPE_PILLS]: CELL_EDIT_POPOVER_PILLS,\n\t\t[TYPE_CHOICE]: CELL_EDIT_POPOVER_CHOICE,\n\t\t[TYPE_URL]: CELL_EDIT_POPOVER_URL,\n\t\t[TYPE_LINK]: CELL_EDIT_POPOVER_LINK,\n\t\t[TYPE_ICON]: CELL_EDIT_POPOVER_ICON,\n\t\t[TYPE_PERSON]: CELL_EDIT_POPOVER_PERSON,\n\t\t[TYPE_HTML]: CELL_EDIT_POPOVER_HTML,\n\t}[cellType] || CELL_EDIT_POPOVER_STRING);\n\n/**\n * dispatched when a cell is double-clicked and the cell editing popover is requested.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const cellEditRequestedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { cellRef, context },\n\t\t},\n\t\tproperties: { cellEditingEnabled, cellEditingManaged },\n\t\tdispatch,\n\t\tstate,\n\t} = coeffects;\n\n\tconst {\n\t\tcell: { type },\n\t} = context;\n\n\tif (!cellEditingEnabled) {\n\t\treturn;\n\t}\n\n\tif (context.column.cellEditingDisabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t'This column can’t be edited due to its settings. Contact your admin to request permissions.'\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\n\tif (context.cell.editingDisabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t'This cell can’t be edited due to its settings. Contact your admin to request permissions.'\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\tconst { rowsToUpdate, bulkFocus } = getRowsToUpdate(state);\n\n\t/** @type {boolean} */\n\tconst selectedCellsEditingEnabled = rowsToUpdate.some(\n\t\t(/** @type {{ key: Object; }} */ row) =>\n\t\t\t// @ts-ignore\n\t\t\trow.cells[context.column.key]?.editingDisabled\n\t);\n\n\tif (selectedCellsEditingEnabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t`Some of these cells can't be edited due to their settings. Only select cells that allow editing.`\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\n\tcontext.selectedKeys = bulkFocus.focusedKeys;\n\tconst componentTag = getComponentTag(type);\n\n\t/**\n\t * When cellEditingManaged (now-list component level property) is true, we dispatch the event NOW_LIST#CELL_EDIT_REQUESTED.\n\t * An external source (eg. list controller) listens and defines the content of the popover and updates the popoverDefinition.\n\t */\n\tif (cellEditingManaged) {\n\t\tdispatch(NOW_LIST_CELL_EDIT_REQUESTED, {\n\t\t\tcontext,\n\t\t});\n\t} else {\n\t\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\t\tpopoverTarget: cellRef,\n\t\t\tpopoverDefinition: {\n\t\t\t\tconfig: popoverConfig,\n\t\t\t\tcontent: {\n\t\t\t\t\tpopoverType: CELL_EDIT_POPOVER_TYPE,\n\t\t\t\t\tcomponentTag: componentTag,\n\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\tactionsContext: context,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontext,\n\t\t});\n\t}\n};\n\n/**\n * dispatched when a button on the cell edit popover is clicked.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const cellEditingPopoverButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, context, payload },\n\t\t},\n\t\tproperties: { cellEditingManaged },\n\t\tupdateState,\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (id === CELL_EDIT_APPLY_BUTTON_ID) {\n\t\tconst oldValue = {\n\t\t\tvalue: context.cell.value,\n\t\t\tlabel: context.cell.label,\n\t\t\tcolor: context.cell.color,\n\t\t\tpersonKey: context.cell.personKey,\n\t\t\timageSrc: context.cell.imageSrc,\n\t\t};\n\n\t\tconst { value, label, color, personKey, imageSrc } = payload;\n\t\tconst newValue = { value, label, color, personKey, imageSrc };\n\n\t\tconst { rowsToUpdate, clonedRows, tableRef } = getRowsToUpdate(state);\n\t\tif (!cellEditingManaged) {\n\t\t\trowsToUpdate.forEach((\n\t\t\t\t/** @type {{ cells: { [x: string]: cellEditingPayload };}} */ row\n\t\t\t) => {\n\t\t\t\trow.cells[context.column.key].value = newValue.value;\n\t\t\t\tif (newValue.label !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].label = newValue.label;\n\t\t\t\t}\n\t\t\t\tif (newValue.color !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].color = newValue.color;\n\t\t\t\t}\n\t\t\t\tif (newValue.personKey !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].personKey =\n\t\t\t\t\t\tnewValue.personKey;\n\t\t\t\t}\n\t\t\t\tif (newValue.imageSrc !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].imageSrc = newValue.imageSrc;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: ROW_DEFINITIONS_PATH,\n\t\t\t\tvalue: clonedRows,\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Passing managed to put a check on the controller/external source not to save the changes on the table\n\t\t * if cellEditingManaged property is false\n\t\t */\n\t\tdispatch(NOW_LIST_CELL_EDIT_SUBMITTED, {\n\t\t\tmanaged: cellEditingManaged,\n\t\t\tcontext: context,\n\t\t\toldValue: oldValue,\n\t\t\tnewValue: newValue,\n\t\t});\n\n\t\tupdateBulkStyles([], tableRef, 0);\n\t\tsetBehaviorState(updateState, {\n\t\t\tbulkFocus: {\n\t\t\t\tfocusedKeys: [context.row.key],\n\t\t\t\tfocusedIndicies: [context.rowIndex + 1],\n\t\t\t\tpreviousKeys: context.row.key,\n\t\t\t\tcolIndex: context.columnIndex,\n\t\t\t\tinitialIndex: context.rowIndex + 1,\n\t\t\t},\n\t\t});\n\n\t\tif (!cellEditingManaged) {\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t}\n\t} else if (id === CELL_EDIT_RETRY_BUTTON_ID) {\n\t\tdispatch(CELL_EDIT_INTERNAL, {\n\t\t\tcontext: context,\n\t\t});\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t} else if (id === CELL_EDIT_CANCEL_BUTTON_ID) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\nconst cellEditingBehavior = {\n\tname: 'cellEditingBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[CELL_EDIT_INTERNAL]: {\n\t\t\teffect: cellEditRequestedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_BUTTON_CLICKED]: {\n\t\t\teffect: cellEditingPopoverButtonClickedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\nexport default cellEditingBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].get;\n\t\t\t\t}, [\"getOr\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'getOr' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].getOr;\n\t\t\t\t\t} else if ('getOr' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.getOr || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].getOr;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].has;\n\t\t\t\t}, [\"memoize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.__esModule\n\t\t\t\t\tif (cjsModule && 'memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].memoize;\n\t\t\t\t\t} else if ('memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__.memoize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_fp_jsdbx_28892391__[\"default\"].memoize;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getSysPropContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].getSysPropContext;\n\t\t\t\t\t} else if ('getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.getSysPropContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].getSysPropContext;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\n// CLASSNAMES\nexport const COLUMN_FILTERING_ROW_CLASS = 'column-filtering-row';\nexport const COLUMN_FILTERING_ROW_ID = 'columnFilteringRow';\nexport const COLUMN_FILTERING_VALUE_INPUT_CLASS =\n\t'column-filtering-value-input';\n\n// UI CONSTS\nexport const COLUMN_FILTERING_VALUE_PLACEHOLDER = t('Value');\nexport const COLUMN_FILTERING_VALUE_ARIA_LABEL = t('Value');\nexport const COLUMN_FILTERING_VALUE_INPUT_NAME = 'valueInput';\nexport const COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME =\n\t'columnFilteringChoiceTypeTriggerButton';\nexport const COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME =\n\t'column-filter-select-all';\nexport const COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME =\n\t'column-filter-select-none';\nexport const SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION =\n\t'showHideColumnFilteringRowAction';\nexport const REMOVE_COLUMN_FILTER_BUTTON = 'removeColumnFilterButton';\nexport const REMOVE_COLUMN_FILTER_ARIA_LABEL = t('Remove Column Filter');\nexport const SHOW_HIDE_COLUMN_FILTERING_ROW_ICON =\n\t'magnifying-glass-filter-outline';\nexport const DATE_TIME_APPLY_LABEL = t('Apply');\nexport const DATE_TIME_APPLY_BUTTON_NAME = 'dateTimeApplyButton';\nexport const DATE_TIME_CANCEL_LABEL = t('Cancel');\nexport const DATE_TIME_CANCEL_BUTTON_NAME = 'dateTimeCancelButton';\n\n// OPERATORS\nexport const IS_OPERATOR_ID = '=';\nexport const IS_OPERATOR_LABEL = 'is';\nexport const IS_OPERATOR_ITEM = {\n\tid: IS_OPERATOR_ID,\n\tlabel: IS_OPERATOR_LABEL,\n};\n\nexport const IS_NOT_OPERATOR_ID = '!=';\nexport const IS_NOT_OPERATOR_LABEL = 'is not';\nexport const IS_NOT_OPERATOR_ITEM = {\n\tid: IS_NOT_OPERATOR_ID,\n\tlabel: IS_NOT_OPERATOR_LABEL,\n};\n\nexport const STARTS_WITH_OPERATOR_ID = 'STARTSWITH';\nexport const STARTS_WITH_OPERATOR_LABEL = 'starts with';\nexport const STARTS_WITH_OPERATOR_ITEM = {\n\tid: STARTS_WITH_OPERATOR_ID,\n\tlabel: STARTS_WITH_OPERATOR_LABEL,\n};\n\nexport const ENDS_WITH_OPERATOR_ID = 'ENDSWITH';\nexport const ENDS_WITH_OPERATOR_LABEL = 'ends with';\nexport const ENDS_WITH_OPERATOR_ITEM = {\n\tid: ENDS_WITH_OPERATOR_ID,\n\tlabel: ENDS_WITH_OPERATOR_LABEL,\n};\n\nexport const CONTAINS_OPERATOR_ID = 'LIKE';\nexport const CONTAINS_OPERATOR_LABEL = 'contains';\nexport const CONTAINS_OPERATOR_ITEM = {\n\tid: CONTAINS_OPERATOR_ID,\n\tlabel: CONTAINS_OPERATOR_LABEL,\n};\n\nexport const DOES_NOT_CONTAIN_OPERATOR_ID = 'NOTLIKE';\nexport const DOES_NOT_CONTAIN_OPERATOR_LABEL = 'does not contain';\nexport const DOES_NOT_CONTAIN_OPERATOR_ITEM = {\n\tid: DOES_NOT_CONTAIN_OPERATOR_ID,\n\tlabel: DOES_NOT_CONTAIN_OPERATOR_LABEL,\n};\n\nexport const IS_EMPTY_OPERATOR_ID = 'ISEMPTY';\nexport const IS_EMPTY_OPERATOR_LABEL = 'is empty';\nexport const IS_EMPTY_OPERATOR_ITEM = {\n\tid: IS_EMPTY_OPERATOR_ID,\n\tlabel: IS_EMPTY_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const IS_NOT_EMPTY_OPERATOR_ID = 'ISNOTEMPTY';\nexport const IS_NOT_EMPTY_OPERATOR_LABEL = 'is not empty';\nexport const IS_NOT_EMPTY_OPERATOR_ITEM = {\n\tid: IS_NOT_EMPTY_OPERATOR_ID,\n\tlabel: IS_NOT_EMPTY_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const IS_ANYTHING_OPERATOR_ID = 'ANYTHING';\nexport const IS_ANYTHING_OPERATOR_LABEL = 'is anything';\nexport const IS_ANYTHING_OPERATOR_ITEM = {\n\tid: IS_ANYTHING_OPERATOR_ID,\n\tlabel: IS_ANYTHING_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const LESS_THAN_OPERATOR_ID = '<';\nexport const LESS_THAN_OPERATOR_LABEL = 'is less than';\nexport const LESS_THAN_OPERATOR_ITEM = {\n\tid: LESS_THAN_OPERATOR_ID,\n\tlabel: LESS_THAN_OPERATOR_LABEL,\n};\n\nexport const GREATER_THAN_OPERATOR_ID = '>';\nexport const GREATER_THAN_OPERATOR_LABEL = 'is greater than';\nexport const GREATER_THAN_OPERATOR_ITEM = {\n\tid: GREATER_THAN_OPERATOR_ID,\n\tlabel: GREATER_THAN_OPERATOR_LABEL,\n};\n\nexport const LESS_THAN_OR_EQUAL_OPERATOR_ID = '<=';\nexport const LESS_THAN_OR_EQUAL_OPERATOR_LABEL = 'is less than or is';\nexport const LESS_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: LESS_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: LESS_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_ID = '>=';\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_LABEL = 'is greater than or is';\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: GREATER_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: GREATER_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_LESS_THAN_OPERATOR_ID = '<';\nexport const DATE_TIME_LESS_THAN_OPERATOR_LABEL = 'before';\nexport const DATE_TIME_LESS_THAN_OPERATOR_ITEM = {\n\tid: DATE_TIME_LESS_THAN_OPERATOR_ID,\n\tlabel: DATE_TIME_LESS_THAN_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_GREATER_THAN_OPERATOR_ID = '>';\nexport const DATE_TIME_GREATER_THAN_OPERATOR_LABEL = 'after';\nexport const DATE_TIME_GREATER_THAN_OPERATOR_ITEM = {\n\tid: DATE_TIME_GREATER_THAN_OPERATOR_ID,\n\tlabel: DATE_TIME_GREATER_THAN_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ID = '<=';\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_LABEL = 'at or before';\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ID = '>=';\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_LABEL = 'at or after';\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const IS_ONE_OF_OPERATOR_ID = 'IN';\nexport const IS_ONE_OF_OPERATOR_LABEL = 'is one of';\nexport const IS_ONE_OF_OPERATOR_ITEM = {\n\tid: IS_ONE_OF_OPERATOR_ID,\n\tlabel: IS_ONE_OF_OPERATOR_LABEL,\n};\n\nexport const IS_NOT_ONE_OF_OPERATOR_ID = 'NOT IN';\nexport const IS_NOT_ONE_OF_OPERATOR_LABEL = 'is one of';\nexport const IS_NOT_ONE_OF_OPERATOR_ITEM = {\n\tid: IS_NOT_ONE_OF_OPERATOR_ID,\n\tlabel: IS_NOT_ONE_OF_OPERATOR_LABEL,\n};\n\nexport const ON_OPERATOR_ID = 'ON';\nexport const ON_OPERATOR_LABEL = 'on';\nexport const ON_OPERATOR_ITEM = {\n\tid: ON_OPERATOR_ID,\n\tlabel: ON_OPERATOR_LABEL,\n};\n\nexport const NOT_ON_OPERATOR_ID = 'NOTON';\nexport const NOT_ON_OPERATOR_LABEL = 'not on';\nexport const NOT_ON_OPERATOR_ITEM = {\n\tid: NOT_ON_OPERATOR_ID,\n\tlabel: NOT_ON_OPERATOR_LABEL,\n};\n\nexport const GENERIC_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_OPERATOR_ITEM,\n\tSTARTS_WITH_OPERATOR_ITEM,\n\tENDS_WITH_OPERATOR_ITEM,\n\tCONTAINS_OPERATOR_ITEM,\n\tDOES_NOT_CONTAIN_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const GENERIC_FILTER_DEFAULT_OPERATOR = CONTAINS_OPERATOR_ID;\n\nexport const NUMBER_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_ONE_OF_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n\tLESS_THAN_OPERATOR_ITEM,\n\tGREATER_THAN_OPERATOR_ITEM,\n\tLESS_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tGREATER_THAN_OR_EQUAL_OPERATOR_ITEM,\n];\n\nexport const NUMBER_FILTER_DEFAULT_OPERATOR = IS_OPERATOR_ID;\n\nexport const BOOLEAN_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const BOOLEAN_FILTER_DEFAULT_OPERATOR = IS_OPERATOR_ID;\n\n// BETWEEN intentionally excluded to simplify UI\nexport const DATE_TIME_FILTER_OPERATORS = [\n\tON_OPERATOR_ITEM,\n\tNOT_ON_OPERATOR_ITEM,\n\tDATE_TIME_LESS_THAN_OPERATOR_ITEM,\n\tDATE_TIME_GREATER_THAN_OPERATOR_ITEM,\n\tDATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tDATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const DATE_TIME_FILTER_DEFAULT_OPERATOR = ON_OPERATOR_ID;\n","import get from 'lodash/get';\n\nconst featureFlagSelectors = {\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnResizingEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnResizingEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnDragDropEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnDragDropEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnFilteringEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnFilteringEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n\t * @returns {boolean}\n\t */\n\tgetRowDragDropEnabled: (featureFlags) => {\n\t\tconst { virtualizedScrollEnabled } = featureFlags;\n\t\treturn virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: get(featureFlags, 'rowDragDropEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetSelectionEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'selectionEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetExpandAllGroups: (featureFlags) => {\n\t\treturn get(featureFlags, 'expandAllGroups');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {number}\n\t */\n\tgetMaxCharacters: (featureFlags) => {\n\t\treturn get(featureFlags, 'maxCharacters');\n\t},\n};\n\nexport default featureFlagSelectors;\n","import {\n\tget,\n\tisEmpty,\n\tisArray,\n\tincludes,\n\thas,\n\tsome,\n\tfilter,\n\tset,\n\treduce,\n\tunion,\n\tmap,\n} from 'lodash';\nimport { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_ROW_ACTION_NUM_ICONS,\n\tPOSITION_TABLE_START,\n} from '../../../typeSchemas/rowDefinitions/rowConfigConsts.js';\nimport {\n\tROW_TYPE_DEFAULT,\n\tROW_TYPE_GROUPED,\n\tROW_TYPE_CUSTOM,\n} from '../../../typeSchemas/rowDefinitions/rowTypes/rowTypes.js';\n\nconst {\n\tACTIONABLE_MESSAGE_STATUS_DEFAULT,\n\tACTIONABLE_MESSAGE_ICONS_DICT,\n} = require('../../views/actionableMessage/constants.js');\n\nconst rowSelectors = {\n\t/* MULTIPLE ROWS SELECTORS */\n\n\t/**\n\t * Selector for getting rows from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<Row>} rows field of row definitions object\n\t */\n\tgetRows: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'rows');\n\t},\n\n\t/**\n\t * Selector for getting specific row from rowDefinitions object based on row key\n\t * @param {Row[]} rows\n\t * @param {string} rowKey\n\t *\n\t * @returns {Row | null} return individual row from rowDefinitions object based on row key\n\t */\n\tgetRow: function (rows, rowKey) {\n\t\tfor (const row of rows) {\n\t\t\tif (row.key === rowKey) {\n\t\t\t\treturn row;\n\t\t\t}\n\t\t\tif (row.children && row.children.length > 0) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst result = this.getRow(row.children, rowKey);\n\t\t\t\tif (result) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t},\n\n\t/**\n\t * Selector for getting all row keys from rows array\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of row keys from rows array\n\t */\n\tgetAllRowKeys: function (rows = []) {\n\t\treturn rows.reduce((\n\t\t\t/** @type {string[]} */ allRowKeys,\n\t\t\t/** @type {Row} */ row\n\t\t) => {\n\t\t\tconst rowType = get(row, 'type');\n\t\t\tif (rowType === ROW_TYPE_DEFAULT || !rowType)\n\t\t\t\tallRowKeys = allRowKeys.concat(row.key);\n\t\t\tconst childRowKeys = row.children?.map((childRow) => childRow.key);\n\t\t\tif (!isEmpty(childRowKeys))\n\t\t\t\t// @ts-ignore\n\t\t\t\tallRowKeys = allRowKeys.concat(childRowKeys);\n\t\t\treturn allRowKeys;\n\t\t}, []);\n\t},\n\n\t/**\n\t * Selector for getting all highlighted row keys from rows array\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of highlighted row keys from rows array\n\t */\n\tgetAllHighlightedRowKeys: function (rows = []) {\n\t\treturn rows.reduce((\n\t\t\t/** @type {string[]} */ allHighlightedRowKeys,\n\t\t\t/** @type {Row} */ row\n\t\t) => {\n\t\t\tconst rowType = get(row, 'type');\n\t\t\tif (\n\t\t\t\t(rowType === ROW_TYPE_DEFAULT || !rowType) &&\n\t\t\t\tthis.isRowHighlighted(row)\n\t\t\t)\n\t\t\t\tallHighlightedRowKeys = allHighlightedRowKeys.concat(row.key);\n\n\t\t\tconst childHighlightedKeys =\n\t\t\t\trow.children?.flatMap(\n\t\t\t\t\t/** @type {Row[]} */ (childRow) =>\n\t\t\t\t\t\tthis.isRowHighlighted(childRow) ? [childRow.key] : []\n\t\t\t\t) || [];\n\n\t\t\tallHighlightedRowKeys = allHighlightedRowKeys.concat(\n\t\t\t\tchildHighlightedKeys\n\t\t\t);\n\t\t\treturn allHighlightedRowKeys;\n\t\t}, []);\n\t},\n\n\t/**\n\t * Check to see if rowDefinitions has at least one row\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasRows: (rowDefinitions) => {\n\t\treturn !isEmpty(get(rowDefinitions, 'rows'));\n\t},\n\n\t/**\n\t * Selector for getting actionableMessage config for top actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {ActionableMessage}\n\t */\n\tgetTopActionableMessage: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'topActionableMessage');\n\t},\n\n\t/**\n\t * Selector for getting actionableMessage config for bottom actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {ActionableMessage}\n\t */\n\tgetBottomActionableMessage: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'bottomActionableMessage');\n\t},\n\n\t/**\n\t * Selector for checking existence of actionableMessage config for top actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasTopActionableMessage: function (rowDefinitions) {\n\t\treturn (\n\t\t\thas(rowDefinitions, 'topActionableMessage') &&\n\t\t\t!isEmpty(rowDefinitions?.topActionableMessage)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking existence of actionableMessage config for bottom actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasBottomActionableMessage: function (rowDefinitions) {\n\t\treturn (\n\t\t\thas(rowDefinitions, 'bottomActionableMessage') &&\n\t\t\t!isEmpty(rowDefinitions?.bottomActionableMessage)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting an actionable message's status variant\n\t * @param {ActionableMessage} actionableMessage\n\t *\n\t * @returns {string}\n\t */\n\tgetActionableMessageStatus: function (actionableMessage) {\n\t\treturn get(\n\t\t\tactionableMessage,\n\t\t\t'status',\n\t\t\tACTIONABLE_MESSAGE_STATUS_DEFAULT\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting an actionable message's status variant\n\t * @param {ActionableMessage} actionableMessage\n\t *\n\t * @returns {string}\n\t */\n\tgetActionableMessageIcon: function (actionableMessage) {\n\t\tconst status = get(\n\t\t\tactionableMessage,\n\t\t\t'status',\n\t\t\tACTIONABLE_MESSAGE_STATUS_DEFAULT\n\t\t);\n\t\t// @ts-ignore\n\t\treturn ACTIONABLE_MESSAGE_ICONS_DICT[status];\n\t},\n\n\t/**\n\t * Selector for getting selectionDisabled config for individual row from row object\n\t * @param {Row | null} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetSelectionDisabledForParticularRow: function (row) {\n\t\treturn get(row, 'selectionDisabled', false);\n\t},\n\n\t/**\n\t * Selector for getting highlightedContent config\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} array of string patterns to be higlighted\n\t */\n\tgetHighlightedContentPatterns: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'highlightedContent', []);\n\t},\n\n\t/**\n\t * Check if row actions exist and are valid\n\t * (if the actions object exists but its child array actionsItems is empty, it is invalid)\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasRowActionsWithItems: (rowDefinitions) => {\n\t\treturn !isEmpty(get(rowDefinitions, 'actions.actionsItems'));\n\t},\n\n\t/**\n\t * Selector for getting row actions from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<RowActions>} row actions field of row definitions object\n\t */\n\tgetRowActions: fpGet('actions'),\n\n\t/**\n\t * Selector for getting disableActions config for individual row from row object\n\t * @param {Row} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetAreActionsDisabled: function (row) {\n\t\t// if disableActions is true, then we want to display a console message about this prop being deprecated\n\t\trow.disableActions === true &&\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t'disableActions is deprecated. Use excludedActions instead.'\n\t\t\t);\n\t\treturn get(row, 'disableActions', false);\n\t},\n\n\t/**\n\t * Selector for getting row actions items from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<RowActionItem>} row actions items field of row actions object\n\t */\n\tgetRowActionsItems: function (rowDefinitions) {\n\t\tconst actions = this.getRowActions(rowDefinitions);\n\t\treturn this.getRowActionsItemsFromActions(actions);\n\t},\n\n\t/**\n\t * Selector for getting the actions items from rowActions\n\t * @param {RowActions} rowActions\n\t *\n\t * @returns {Array<RowActionItem>} row actions items field of row actions object\n\t */\n\tgetRowActionsItemsFromActions: (rowActions) => {\n\t\treturn get(rowActions, 'actionsItems');\n\t},\n\n\t/**\n\t * Selector for getting the number of actions to render as icons from rowDefinitions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {number} The number of actions to render as icons\n\t */\n\tgetRowActionsNumIcons: function (rowDefinitions) {\n\t\tconst actions = this.getRowActions(rowDefinitions);\n\t\treturn this.getRowActionsNumIconsFromActions(actions);\n\t},\n\n\t/**\n\t * Selector for getting the number of actions to render as icons from rowActions\n\t * @param {RowActions} rowActions\n\t *\n\t * @returns {number} The number of actions to render as icons\n\t */\n\tgetRowActionsNumIconsFromActions: (rowActions) => {\n\t\treturn (\n\t\t\tget(rowActions, 'numActionIcons') ?? DEFAULT_ROW_ACTION_NUM_ICONS\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting custom cell emitted actions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns list of actions in an array\n\t */\n\tgetCustomCellEmittedActions: (rowDefinitions) => {\n\t\treturn get(rowDefinitions, 'customCellEmittedActions');\n\t},\n\n\t/**\n\t * This function checks if row definition has custom Cell Emitted Actions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasCustomCellEmittedActions: (rowDefinitions) => {\n\t\treturn has(rowDefinitions, 'customCellEmittedActions');\n\t},\n\n\t/**\n\t * Selector for getting row actions position (start or end of list) from rowDefinitions object\n\t * Configured value is ignored when column filtering is on in order for the toggle button to be in view on initial render.\n\t * @param {RowActions} rowActions\n\t * @param {boolean} columnFilteringEnabled\n\t *\n\t * @returns {string} string representing whether actions should be at the start or the end of the list.\n\t */\n\tgetRowActionsPosition: function (rowActions, columnFilteringEnabled) {\n\t\tif (columnFilteringEnabled) return POSITION_TABLE_START;\n\t\telse return get(rowActions, 'position', POSITION_TABLE_START);\n\t},\n\n\t/**\n\t * Helper reducer that gets all the selected rows currently in the list. Will return\n\t * the accumulation of an object containing all the initial selected keys\n\t * @param {object} selectedRows\n\t * @param {Row} currentRow\n\t * @returns\n\t */\n\t_getInitialSelectedRowsReducer: function (selectedRows, currentRow) {\n\t\tif (\n\t\t\tcurrentRow.type == 'grouped' &&\n\t\t\t// @ts-ignore\n\t\t\tcurrentRow?.children?.length > 0\n\t\t) {\n\t\t\tcurrentRow.children?.reduce(\n\t\t\t\tthis._getInitialSelectedRowsReducer.bind(this),\n\t\t\t\tselectedRows\n\t\t\t);\n\t\t} else {\n\t\t\tconst isSelectionDisabled = this.getSelectionDisabledForParticularRow(\n\t\t\t\tcurrentRow\n\t\t\t);\n\t\t\tconst isSelected = get(currentRow, 'isSelected', false);\n\n\t\t\tif (!isSelectionDisabled && isSelected)\n\t\t\t\tset(selectedRows, [get(currentRow, 'key')], currentRow);\n\n\t\t\tif (\n\t\t\t\tcurrentRow.type == 'default' &&\n\t\t\t\t// @ts-ignore\n\t\t\t\tcurrentRow?.children?.length > 0\n\t\t\t) {\n\t\t\t\tcurrentRow?.children?.reduce(\n\t\t\t\t\tthis._getInitialSelectedRowsReducer.bind(this),\n\t\t\t\t\tselectedRows\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn selectedRows;\n\t},\n\n\t/**\n\t * Selector to get all selected rows on initial render\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {object} keys of all selected rows on initial render\n\t */\n\tgetInitialSelectedRows: function (rowDefinitions) {\n\t\tconst rows = this.getRows(rowDefinitions);\n\n\t\treturn reduce(rows, this._getInitialSelectedRowsReducer.bind(this), {});\n\t},\n\n\t/* INDIVIDUAL ROW SELECTORS */\n\n\t/**\n\t * Selector for getting key from row object\n\t * @param {Object} row\n\t *\n\t * @returns {string} key representing the unique id of the row. Used to reference row information on the row level\n\t */\n\tgetRowKey: fpGet('key'),\n\n\t/**\n\t * Selector for getting type from row object\n\t * @param {Row} row\n\t *\n\t * @returns {string} name of row type\n\t */\n\tgetRowType: (row) => {\n\t\tconst type = get(row, 'type');\n\t\tif (type) {\n\t\t\treturn type;\n\t\t} else {\n\t\t\treturn ROW_TYPE_DEFAULT;\n\t\t}\n\t},\n\n\t/**\n\t * Selector for checking if row is toggled\n\t * @param {object} rows\n\t * @param {string} rowKey\n\t *\n\t * @returns {boolean} return true if row is toggled\n\t */\n\tisRowChecked: (rows, rowKey) => {\n\t\treturn has(rows, rowKey);\n\t},\n\n\t/**\n\t * Selector for checking if row is highlighted\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is highlighted\n\t */\n\tisRowHighlighted: (row) => get(row, 'visualTreatment.isHighlighted', false),\n\n\t/**\n\t * Selector for checking if row is recently added or updated based on its visual treatment property 'showUpdatedIcon\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row was recently added via live list\n\t */\n\tisRecentlyAddedOrUpdatedRow: (row) =>\n\t\tget(row, 'visualTreatment.showUpdatedIcon', false),\n\n\t/**\n\t * Selector for checking if row is grayed out\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row was grayed out\n\t */\n\tisRowGrayedOut: (row) => get(row, 'visualTreatment.isGrayedOut', false),\n\n\t/**\n\t * Selector for getting cells object from row object\n\t * @param {Row} row\n\t *\n\t * @returns {object} cells\n\t */\n\tgetCells: fpGet('cells'),\n\n\t/**\n\t * Selector for getting excluded actions from either single unselected row, or\n\t * if row is selected, from all selected rows\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of unique action ids extracted from excludedActions of each row\n\t */\n\tgetExcludedActions: (rows = []) => {\n\t\treturn rows.reduce((actions, row) => {\n\t\t\tconst rowExcludedActions = getOr([], 'excludedActions')(row);\n\t\t\treturn union(actions, rowExcludedActions);\n\t\t}, []);\n\t},\n\n\t/**\n\t * Selector for getting excluded actions from a single row\n\t * @param {Row} row\n\t *\n\t * @returns {Array<string>} array of unique action ids extracted from excludedActions of the row\n\t */\n\tgetExcludedActionsForRow: (\n\t\trow = {\n\t\t\tkey: '',\n\t\t}\n\t) => {\n\t\treturn getOr([], 'excludedActions')(row);\n\t},\n\n\t/**\n\t * Selector for getting one cell from a row based on a column key\n\t * @param {Row} row - object for a single row\n\t * @param {string} colKey - string key that corresponds to a specific column\n\t *\n\t * @returns {CellType} cell\n\t */\n\tfindCell: (row, colKey) => {\n\t\treturn get(row, ['cells', colKey]);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type grouped or rows of type default with children\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if grouped rows are present\n\t */\n\thasGroupedOrDefaultRowsWithChildren: (rowDefinitions) => {\n\t\treturn (\n\t\t\trowSelectors.hasGroupedRows(rowDefinitions) ||\n\t\t\trowSelectors.hasDefaultRowsWithChildren(rowDefinitions)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows containing groupedRowCount property\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t *\n\t * @returns {boolean} returns true if at least one row has groupedRowCount property\n\t */\n\thasGroupedRowCount: (rowDefinitions) => {\n\t\tconst rows = get(rowDefinitions, 'rows');\n\t\treturn some(rows, 'groupedRowCount');\n\t},\n\n\t/**\n\t * Selector for getting rows of type grouped or rows of type default with children from rowDefinitions object\n\t * @param {Array<Row> | undefined} rows\n\t * @param {Array<Row>} grouped - Optional -stores keys for all children\n\t *\n\t * @returns {Array<Row>} returns rows of type grouped or rows of type default with children from rowDefinitions object\n\t */\n\tgetGroupedOrDefaultRowsWithChildren: (rows, grouped = []) => {\n\t\tif (!rows) {\n\t\t\treturn grouped;\n\t\t}\n\n\t\tmap(rows, (\n\t\t\t/** @type {{ key: string; children: Row[] | undefined; }} */ row\n\t\t) => {\n\t\t\tif (rowSelectors.isGroupedRowOrDefaultRowWithChildren(row)) {\n\t\t\t\tgrouped.push(row);\n\t\t\t\treturn rowSelectors.getGroupedOrDefaultRowsWithChildren(\n\t\t\t\t\trow.children,\n\t\t\t\t\tgrouped\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\treturn grouped;\n\t},\n\n\t/**\n\t * Selector for getting keys for all groups from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns array of group keys from rowDefinitions object\n\t */\n\tgetAllGroupKeys: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\treturn filter(rows, 'children').map(\n\t\t\t(/** @type {{ key: string; }} */ row) => row.key\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting keys for all rows of type default from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns array of group keys from rowDefinitions object\n\t */\n\tgetDefaultRowKeysRecursively: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\tif (!rows) return [];\n\t\tconst stack = [...rows]; // Use a stack initialized with the root array\n\t\tconst keys = [];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst current = stack.pop(); // Pop the top item from the stack\n\t\t\tif (current?.type === 'default') keys.push(current?.key); // Add the key to the result array\n\n\t\t\t// If the current item has children, push them onto the stack\n\t\t\tif (current?.children && current?.children.length > 0) {\n\t\t\t\tstack.push(...current.children);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\treturn keys;\n\t},\n\n\t/**\n\t * Selector for getting keys for all groups from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns array of group keys from rowDefinitions object\n\t */\n\tgetAllGroupKeysRecursively: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\treturn rowSelectors.getKeysOfChildren(rows);\n\t},\n\n\t/**\n\t * Gets keys of all children recursively for any row array\n\t * @param {Array<Row>} rows - row children array\n\t *\n\t * @returns {Array<string>} keys - return array of strings comprising of children keys.\n\t */\n\tgetKeysOfChildren: (rows) => {\n\t\tif (!rows) return [];\n\t\tconst stack = [...rows]; // Use a stack initialized with the root array\n\t\tconst keys = [];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst current = stack.pop(); // Pop the top item from the stack\n\t\t\tkeys.push(current?.key); // Add the key to the result array\n\n\t\t\t// If the current item has children, push them onto the stack\n\t\t\tif (current?.children && current.children.length > 0) {\n\t\t\t\tstack.push(...current.children);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\treturn keys;\n\t},\n\n\t/**\n\t * Gets keys of all rows in the original order\n\t * @param {Array<Row>} rows\n\t * @returns {Array<string>} keys - return array of strings comprising of row keys.\n\t */\n\n\tgetAllKeysInOrder(rows) {\n\t\t/**\n\t\t * @type {Array<string>}\n\t\t */\n\t\tlet result = [];\n\t\trows.forEach((row) => {\n\t\t\tresult.push(row.key);\n\t\t\tif (row?.children && row?.children.length > 0) {\n\t\t\t\tresult = result.concat(this.getAllKeysInOrder(row.children)); // Recursively collect children\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t},\n\n\t/**\n\t * Selector for getting children for a row\n\t * @param {Row} row\n\t *\n\t * @returns {Array<Row>} returns array of rows under a row\n\t */\n\tgetChildren: getOr([], 'children'),\n\n\t/**\n\t * Selector for checking if a row has children\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row has children\n\t */\n\thasChildren: (row) => has(row, 'children'),\n\n\t/**\n\t * Selector for checking if a row is grouped or if it has children, to determine whether a toggle should be rendered\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is grouped\n\t */\n\tisGroupedRowOrDefaultRowWithChildren: (row) => {\n\t\tconst rowType = get(row, 'type', ROW_TYPE_DEFAULT);\n\t\treturn (\n\t\t\trowType === ROW_TYPE_GROUPED ||\n\t\t\t(rowType === ROW_TYPE_DEFAULT && rowSelectors.hasChildren(row))\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if a row is of type parent child group\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type parent child group\n\t */\n\tisDefaultRowWithChildren: (row) =>\n\t\tget(row, 'type', ROW_TYPE_DEFAULT) === 'default' &&\n\t\trowSelectors.hasChildren(row),\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type default and has children\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if parent child grouped rows are present\n\t */\n\thasDefaultRowsWithChildren: function (rowDefinitions) {\n\t\tconst rows = this.getRows(rowDefinitions);\n\t\treturn some(\n\t\t\trows,\n\t\t\t(/** @type {Row} */ row) =>\n\t\t\t\tget(row, 'type', ROW_TYPE_DEFAULT) === 'default' &&\n\t\t\t\thas(row, 'children')\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type grouped\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if grouped rows are present\n\t */\n\thasGroupedRows: (rowDefinitions) => {\n\t\tconst rows = get(rowDefinitions, 'rows');\n\t\treturn some(rows, { type: ROW_TYPE_GROUPED });\n\t},\n\n\t/**\n\t * Selector for checking if a row is of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type grouped\n\t */\n\tisGroupedRow: (row) => row.type === ROW_TYPE_GROUPED,\n\n\t/**\n\t * Selector for checking if a row is of type custom\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type custom\n\t */\n\tisCustomRow: (row) => row.type === ROW_TYPE_CUSTOM,\n\n\t/**\n\t * Selector for getting label for a row of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {string} returns group category label\n\t */\n\tgetGroupedRowLabel: fpGet('groupedRowLabel'),\n\n\t/**\n\t * Selector for getting count for a grouped row\n\t * @param {Row} row\n\t *\n\t * @returns {number} returns group category count\n\t */\n\tgetGroupedRowCount: fpGet('groupedRowCount'),\n\n\t/**\n\t * Selector for getting count character for a grouped row\n\t * @param {Row} row\n\t *\n\t * @returns {number} returns group category count character\n\t */\n\tgetGroupedRowCountChar: fpGet('groupedRowCountChar'),\n\n\t/**\n\t * Selector for getting actions for a row of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {Array<GroupActionItem>} returns array of row group actions\n\t */\n\tgetGroupActions: getOr([], 'groupActions'),\n\n\t/**\n\t * Selector for getting actions for a row of type grouped\n\t * @param {Array<GroupActionItem>} groupActions\n\t *\n\t * @returns {String | undefined} returns group link\n\t */\n\tgetGroupRowHref: (groupActions = []) => groupActions?.[0]?.groupRowHref,\n\n\t/**\n\t * Selector for getting group info message for a grouped row\n\t * @param {Row} row\n\t *\n\t * @returns {string} returns group info message\n\t */\n\tgetGroupInfoMessage: fpGet('groupInfoMessage'),\n\n\t/**\n\t * Selector for getting a custom row's component tag\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowComponentTag: fpGet('componentTag'),\n\n\t/**\n\t * Selector for getting a custom row's component properties\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowComponentProps: fpGet('componentProps'),\n\n\t/**\n\t * Selector for getting a custom row's content dimensions\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowContentDimensions: fpGet('rowContentDimensions'),\n\t/**\n\t * Selector for getting a custom row's content alignment\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowContentAlignment: fpGet('contentAlignment'),\n\n\t/**\n\t * Selector for getting a custom row's placeholder dimensions\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowPlaceholderDimensions: fpGet('placeholderDimensions'),\n\n\t/**\n\t * Selector for getting a custom row's show row-controls property\n\t * @param {object} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetShowRowControlsForCustomRow: (row) => get(row, 'showRowControls', false),\n\n\t/**\n\t * Return all rows of type custom\n\t * @param {Array<Row>} rows\n\t *\n\t * @return {Array<Row>} customRows\n\t */\n\tgetRowsOfCustomType: (rows) => {\n\t\tif (isEmpty(rows)) return [];\n\t\tconst customRows = [];\n\t\tconst stack = [...rows];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst row = stack.pop(); // Get the last item from the stack\n\n\t\t\t// Check if the current item is of type 'custom'\n\t\t\tif (row?.type === 'custom') {\n\t\t\t\tcustomRows.push(row);\n\t\t\t}\n\n\t\t\t// Add children to stack if they exist\n\t\t\tif (row?.children && row.children.length > 0) {\n\t\t\t\tstack.push(...row.children);\n\t\t\t}\n\t\t}\n\n\t\treturn customRows;\n\t},\n\n\t/**\n\t * Change isGroupExpanded of all children to be same as parent when parent isGroupExpanded is set to false\n\t * @param {Array<Row> | undefined} rows\n\t * @param {object} rowGroupingState\n\t * @param {Row | undefined} parent\n\t */\n\tcreateStateOnBootstrapForExpandedChildren: (\n\t\trows,\n\t\trowGroupingState,\n\t\tparent\n\t) => {\n\t\tif (!rows || isEmpty(rows)) {\n\t\t\treturn;\n\t\t}\n\t\tlet parentKey = '';\n\t\tlet isGroupExpandedForParent = true;\n\t\tif (parent) {\n\t\t\tparentKey = parent.key ? parent.key : '';\n\t\t\tisGroupExpandedForParent = !!parent.isGroupExpanded;\n\t\t}\n\n\t\tconst expandedChildrenObject = get(\n\t\t\trowGroupingState,\n\t\t\t'expandedChildrenObject',\n\t\t\t{}\n\t\t);\n\t\trows.forEach((element) => {\n\t\t\tif (\n\t\t\t\telement.isGroupExpanded &&\n\t\t\t\t!isGroupExpandedForParent &&\n\t\t\t\tparentKey\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\texpandedChildrenObject &&\n\t\t\t\t\t!has(expandedChildrenObject, parentKey)\n\t\t\t\t) {\n\t\t\t\t\texpandedChildrenObject[parentKey] = [];\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tisArray(expandedChildrenObject[parentKey]) &&\n\t\t\t\t\t!includes(expandedChildrenObject[parentKey], element.key)\n\t\t\t\t) {\n\t\t\t\t\texpandedChildrenObject[parentKey].push(element.key);\n\t\t\t\t}\n\t\t\t\telement.isGroupExpanded = false;\n\t\t\t}\n\n\t\t\tif (rowSelectors.hasChildren(element)) {\n\t\t\t\trowSelectors.createStateOnBootstrapForExpandedChildren(\n\t\t\t\t\telement.children,\n\t\t\t\t\trowGroupingState,\n\t\t\t\t\telement\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Check if a row has isAIModifiedOrCreated flag set to true\n\t * @param {Row} row\n\t *\n\t * @returns {boolean | undefined} true if row has isAIModifiedOrCreated set to true\n\t */\n\tisAIModifiedOrCreatedRow: function (row) {\n\t\treturn (\n\t\t\trow &&\n\t\t\t(row.aiIndicatorInfo?.isAiCreatedRow ||\n\t\t\t\trow.aiIndicatorInfo?.isAiModifiedRow ||\n\t\t\t\trow.aiIndicatorInfo?.isAICreatedOrModifiedChildren)\n\t\t);\n\t},\n};\n\nexport default rowSelectors;\n","import { endsWith, filter, find, get, has, isEmpty } from 'lodash';\nimport {\n\tget as fpGet,\n\thas as fpHas,\n\tgetOr as fpGetOr,\n\tmemoize,\n} from 'lodash/fp';\nimport { t } from 'sn-translate';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport { NUMBER_DEFAULT_LOCALE } from '../../views/fields/number/constants';\nimport {\n\tBOOLEAN_FILTER_OPERATORS,\n\tDATE_TIME_FILTER_OPERATORS,\n\tGENERIC_FILTER_OPERATORS,\n\tNUMBER_FILTER_OPERATORS,\n} from '../../views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\nimport logger from '../logger';\n\nimport featureFlagSelectors from './featureFlagSelectors';\nimport rowSelectors from './rowSelectors';\n\nconst {\n\tTEXT_ALIGNMENT_DEFAULT,\n} = require('../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes');\nconst {\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PERSON,\n\tTYPE_STRING,\n\tTYPE_URL,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tTYPE_CHOICE,\n\tTYPE_BOOLEAN,\n\tTYPE_PILLS,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_LINK,\n} = require('../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tSORT_NONE,\n} = require('../../../typeSchemas/columnDefinitions/sortTypes/sortTypes');\nconst {\n\tCURRENCY_DEFAULT,\n\tCURRENCY_LOCALE_DEFAULT,\n} = require('../../views/fields/currency/currencyConstants');\nconst {\n\tDATE_TIME_FORMAT_DEFAULT,\n\tDATE_TIME_AGO_FORMAT,\n\tTIME_AGO_DISPLAY_NONE,\n\tTIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n\tTIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\tSECONDS_FORMAT,\n\tSECONDS_FORMAT_WITH_DOTS,\n} = require('../../views/fields/dateTime/constants');\nconst {\n\tNUMBER_FORMAT_INTEGER,\n\tDECIMAL_PLACES_DEFAULT,\n} = require('../../views/fields/number/constants');\nconst { OPENS_IN_NEW_DEFAULT } = require('../../views/fields/url/urlConstants');\nconst {\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants');\nconst {\n\tMAX_PILL_LIMIT_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants');\nconst {\n\tMAX_CHARACTERS_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst dateTimeFormatPrefKey = getUserPrefContext(DATE_TIME_AGO_FORMAT);\n\nconst columnSelectors = {\n\t/* MULTIPLE COLUMNS SELECTORS */\n\n\t/**\n\t * Selector for getting columns from columnDefinitions object\n\t * @param {object} columnDefinitions\n\t *\n\t * @returns {array} columns field of column definitions object\n\t */\n\tgetColumns: fpGet('columns'),\n\n\t/**\n\t * Check to see if columnDefinitions has at least one column\n\t * @param {ColumnDefinitions} columnDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumns: (columnDefinitions) => {\n\t\treturn !isEmpty(get(columnDefinitions, 'columns'));\n\t},\n\n\t/**\n\t * Some properties in rowDefinitions and options determine whether certain columns should be rendered.\n\t * This selector returns whether any of those properties are configured to render those columns\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {object} featureFlags\n\t * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n\t *\n\t * @returns {boolean} rows field of row definitions object\n\t */\n\twillHaveSpecialColumns: function (rowDefinitions, featureFlags) {\n\t\treturn (\n\t\t\trowSelectors.hasRowActionsWithItems(rowDefinitions) ||\n\t\t\trowSelectors.hasGroupedOrDefaultRowsWithChildren(rowDefinitions) ||\n\t\t\tfeatureFlagSelectors.getSelectionEnabled(featureFlags) ||\n\t\t\tfeatureFlagSelectors.getRowDragDropEnabled(featureFlags) ||\n\t\t\tfeatureFlagSelectors.getColumnFilteringEnabled(featureFlags)\n\t\t);\n\t},\n\n\t/**\n\t * Util to count how many special columns are present on the list\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @returns\n\t */\n\tgetSpecialColumnsCount: function (processedColumnDefinitions) {\n\t\tconst {\n\t\t\tprocessedColumnDefinitions: { columns },\n\t\t} = processedColumnDefinitions;\n\n\t\tconst specialColumns = filter(columns, (\n\t\t\t/** @type {ProcessedColumn} */ column\n\t\t) => columnSelectors.isSpecialColumn(column));\n\n\t\treturn specialColumns.length;\n\t},\n\n\t/**\n\t * Selector for finding a column given its key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t * @param {string} columnKey - string identifier for column\n\t *\n\t * @returns {ProcessedColumn} column\n\t */\n\tgetColumnFromProcessedCols: (columnDefinitions, columnKey) => {\n\t\tconst { columnMap, processedColumnDefinitions } = columnDefinitions;\n\t\tconst path = columnMap[columnKey] || '';\n\t\treturn get(processedColumnDefinitions, path);\n\t},\n\n\t/**\n\t * Selector for getting the column filtering information\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {string} value of columnFilteringInfo property\n\t */\n\tgetColumnFilteringInfo: (columnDefinitions) => {\n\t\tconst { processedColumnDefinitions } = columnDefinitions;\n\t\treturn get(processedColumnDefinitions, 'columnFilteringInfo');\n\t},\n\n\t/**\n\t * Selector for getting the column header text tooltip\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {string} value of columnHeaderTextTooltip property\n\t */\n\tgetHeaderTextTooltip: (columnDefinitions) => {\n\t\tconst { processedColumnDefinitions } = columnDefinitions;\n\t\treturn get(processedColumnDefinitions, 'columnHeaderTextTooltip');\n\t},\n\n\t/**\n\t * Selector for whether this col has emitted actions of the provided custom component\n\t * @param {ColumnDefinitions} columnDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnFilterCustomValueEditorEmittedActions: (columnDefinitions) =>\n\t\thas(columnDefinitions, 'columnFilterCustomValueEditorEmittedActions'),\n\n\t/**\n\t * Selector for emitted actions of the provided custom component\n\t * @param {object} columnDefinitions\n\t *\n\t * @returns {Array<string> | undefined}\n\t */\n\tgetColumnFilterCustomValueEditorEmittedActions: (columnDefinitions) =>\n\t\tget(columnDefinitions, 'columnFilterCustomValueEditorEmittedActions'),\n\n\t/* INDIVIDUAL COLUMN SELECTORS */\n\n\t/**\n\t * Selector for finding a column header actions given its column key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t * @param {ProcessedColumn} column - processed column\n\t *\n\t * @returns {Array<ColumnHeaderActionItem>} column header actions\n\t */\n\tgetColumnHeaderActionsFromProcessedCols: (columnDefinitions, column) => {\n\t\tconst columnKey = columnSelectors.getColumnKey(column);\n\t\tconst processedColumn = columnSelectors.getColumnFromProcessedCols(\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tif (has(processedColumn, 'children')) return []; // parent columns cannot have actions\n\n\t\treturn get(processedColumn, 'columnHeaderActions', []);\n\t},\n\n\t/**\n\t * Util to check if reordering enabled\n\t * @param {object} featureFlags\n\t * @param {ProcessedColumn} column\n\t * @returns boolean\n\t */\n\tisReorderingPossibleOnColumn: function (featureFlags, column) {\n\t\treturn (\n\t\t\t// getColumnDragDropEnabled returns undefined if the feature flag is not present, which will cause this to return undefined\n\t\t\tfeatureFlagSelectors.getColumnDragDropEnabled(featureFlags) ===\n\t\t\t\ttrue &&\n\t\t\t!columnSelectors.isSpecialColumn(column) &&\n\t\t\tcolumnSelectors.getColumnLevel(column) === 1 // only top level columns can be re-ordered for now\n\t\t);\n\t},\n\n\t/**\n\t * Util to check if column is a special type column\n\t * @param {ColumnBase} column\n\t * @returns\n\t */\n\tisSpecialColumn: function (column) {\n\t\treturn get(column, 'isSpecialColumn', false);\n\t},\n\n\t/**\n\t * Util to check if columnKey is of special type\n\t * @param {string} columnKey\n\t * @returns\n\t */\n\tisSpecialColumnKey: function (columnKey) {\n\t\treturn (\n\t\t\tcolumnKey === SPECIAL_TYPE_ACTIONS ||\n\t\t\tcolumnKey === SPECIAL_TYPE_SELECTION ||\n\t\t\tcolumnKey === SPECIAL_TYPE_GROUP_BADGE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_GROUP_TOGGLE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_ROW_DRAG_HANDLE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_PARENT_BADGE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_PARENT_TOGGLE\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting children from a column object\n\t * @param {ProcessedColumn} column\n\t *\n\t * @returns {ProcessedColumn[]} children columns\n\t */\n\tgetChildren: fpGetOr([], 'children'),\n\n\t/**\n\t * Selector for getting column count at a given level\n\t * @param {ProcessedColumnDefinitions} columnDefinitions\n\t * @param {number} level\n\t * @returns {number} count of columns at the given level\n\t */\n\tgetTotalColumnsAtLevel: (columnDefinitions, level = 1) => {\n\t\treturn columnSelectors\n\t\t\t.getColumns(columnDefinitions.processedColumnDefinitions)\n\t\t\t.filter(\n\t\t\t\t(/** @type {ProcessedColumn} */ col) =>\n\t\t\t\t\tcol._level === level &&\n\t\t\t\t\t!columnSelectors.isSpecialColumn(col)\n\t\t\t).length;\n\t},\n\n\t/**\n\t * Selector for finding the offset position for the starting of actual data columns.\n\t * i.e excluding the indices of the special columns at the begining\n\t * E.g:\n\t * - If we have only Row selection on left, offset position will be 1\n\t * - If we have row selection and groupby columns on the left, position will be 2\n\t *\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {number} index position where the actual columns started\n\t */\n\tgetDataColumnsOffsetPosition: (columnDefinitions) => {\n\t\tconst allColumns = columnSelectors.getColumns(\n\t\t\tcolumnDefinitions.processedColumnDefinitions\n\t\t);\n\t\tfor (let i = 0; i < allColumns.length; i++) {\n\t\t\t// return the index of first found data column\n\t\t\tif (!columnSelectors.isSpecialColumn(allColumns[i])) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t},\n\n\t/**\n\t * Selector for finding a cell actions given its column key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *  @param {ProcessedColumn} column - processed column\n\t *\n\t * @returns {Array<CellActionItem>} column\n\t */\n\tgetCellActionsFromProcessedCols: (columnDefinitions, column) => {\n\t\tconst columnKey = columnSelectors.getColumnKey(column);\n\t\tconst processedColumn = columnSelectors.getColumnFromProcessedCols(\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tif (has(processedColumn, 'children')) return []; // parent columns cannot have actions\n\n\t\treturn get(processedColumn, 'cellActions', []);\n\t},\n\n\t/**\n\t * Selector for getting column header icons. Maximum of 3 icons\n\t * @param {object} column\n\t */\n\tgetIcons: (column) => {\n\t\tconst icons = get(column, 'icons', {});\n\t\treturn {\n\t\t\tstartIcons: get(icons, 'startIcons', []).slice(0, 3),\n\t\t\tendIcons: get(icons, 'endIcons', []).slice(0, 3),\n\t\t};\n\t},\n\n\t/**\n\t * Selector for getting a column's sort direction to be used for aria-sort\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetColumnSortDirection: fpGetOr(SORT_NONE, 'sortDirection'),\n\n\t/**\n\t * Selector for getting key from column object\n\t * @param {object} column\n\t *\n\t * @returns {string} key representing the unique id of the column. Used to reference column information on the row level\n\t */\n\tgetColumnKey: fpGet('key'),\n\n\t/**\n\t * updateState does not work as expected when we have dot walked columns, as the path also contains dots\n\t * @param {object} column\n\t * @returns {string} key representing the unique id of the column. used for storing in state\n\t */\n\tgetFormattedColumnKey: (column) => {\n\t\tconst key = get(column, 'key');\n\t\treturn key?.replaceAll('.', '_##_');\n\t},\n\t/**\n\t * Selector for getting the label of a column\n\t * @param {object} column\n\t * @returns {string}\n\t */\n\tgetColumnLabel: (column) => {\n\t\tconst columnLabel = fpGet('label', column) || '';\n\t\tconst UPDATED = 'Updated';\n\t\treturn columnLabel !== UPDATED\n\t\t\t? t(columnLabel)\n\t\t\t: t({ code: 'now_list', message: 'Updated' }, 't');\n\t},\n\n\t/**\n\t * Selector for getting column type\n\t * @param {object} column\n\t *\n\t * @returns {string} name of type\n\t */\n\tgetColumnType: (column) => {\n\t\tconst type = get(column, 'type');\n\t\treturn type ? type : TYPE_STRING;\n\t},\n\n\t/**\n\t * Selector for getting column alignment\n\t * @param {object} column\n\t *\n\t * @returns {string} alignment type\n\t */\n\tgetColumnAlignment: function (column) {\n\t\treturn get(column, 'alignment', TEXT_ALIGNMENT_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting max characters for truncation\n\t * @param {object} column\n\t *\n\t * @returns {Number} max characters\n\t */\n\tgetMaxCharacters: function (column) {\n\t\t// adding 3 to account for the ellipsis, so the ellipsis starts after maxCharacters\n\t\treturn get(column, 'maxCharacters', MAX_CHARACTERS_DEFAULT) + 3;\n\t},\n\n\t/**\n\t * Selector for checking if maxCharacters are defined in a column\n\t * @param {object} column\n\t *\n\t * @returns {boolean} true if maxCharacters are defined\n\t */\n\thasMaxCharacters: (column) => {\n\t\tconst maxCharacters = get(column, 'maxCharacters');\n\t\treturn (\n\t\t\tmaxCharacters !== undefined &&\n\t\t\tmaxCharacters !== null &&\n\t\t\tmaxCharacters !== ''\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting width in px\n\t * @param {object} column\n\t *\n\t * @returns {String} width\n\t */\n\tgetWidth: function (column) {\n\t\treturn get(column, 'width', undefined);\n\t},\n\n\t/**\n\t * Selector for getting column header cell alignment. Will use column alignment as default\n\t * @param {object} column\n\t *\n\t * @returns {string} alignment type\n\t */\n\tgetHeaderCellAlignment: function (column) {\n\t\tconst alignment = this.getColumnAlignment(column);\n\t\treturn get(column, 'headerCellAlignment', alignment);\n\t},\n\n\t/**\n\t * Checks for nested columns\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasChildren: fpHas('children'),\n\n\t/**\n\t * Checks for column header actions\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnHeaderActions: (column) => {\n\t\tif (has(column, 'children')) return false; // parent columns cannot have actions\n\n\t\treturn !isEmpty(get(column, 'columnHeaderActions'));\n\t},\n\n\t/**\n\t * Checks for cell actions\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasCellActions: (column) => {\n\t\tif (has(column, 'children')) return false; // parent columns cannot have actions\n\n\t\treturn !isEmpty(get(column, 'cellActions'));\n\t},\n\n\t/**\n\t * Selector for headerTextDisabled property\n\t * @param {object} column\n\t *\n\t * @returns {boolean} value of headerTextDisabled property\n\t */\n\tgetHeaderTextDisabled: (column) => get(column, 'headerTextDisabled', false),\n\n\t/**\n\t * Selector for cellEditingDisabled property\n\t * @param {object} column\n\t *\n\t * @returns {boolean} value of cellEditingDisabled property\n\t */\n\tgetCellEditingDisabled: (column) =>\n\t\tget(column, 'cellEditingDisabled', false),\n\n\t/**\n\t * Selector for columnFilterConfig customTopText property\n\t * @param {object} column\n\t *\n\t * @returns {string} String message to display\n\t */\n\tgetColumnFilterCustomTopText: (column) =>\n\t\tget(column, 'columnFilterConfig.customTopText'),\n\n\t/**\n\t * Getter that gets the column filter operators for a given column if provided, and gets the proper typed default operators if not\n\t * @param {object} column\n\t *\n\t * @returns {ColumnFilterConfig[\"operators\"]} Object representing the operators to be rendered in a dropdown\n\t */\n\tgetOperators: (column) => {\n\t\tconst type = get(column, 'type');\n\t\tconst operatorsFromProps = get(column, 'columnFilterConfig.operators');\n\n\t\tif (operatorsFromProps !== undefined && isEmpty(operatorsFromProps)) {\n\t\t\t// override to hide operators\n\t\t\treturn null;\n\t\t} else if (!isEmpty(operatorsFromProps)) {\n\t\t\treturn operatorsFromProps;\n\t\t} else {\n\t\t\t// no operators specified in props\n\t\t\tswitch (type) {\n\t\t\t\tcase TYPE_NUMBER:\n\t\t\t\t\treturn NUMBER_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_BOOLEAN:\n\t\t\t\t\treturn BOOLEAN_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_DATE_TIME:\n\t\t\t\t\treturn DATE_TIME_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_PILLS:\n\t\t\t\t\treturn null;\n\t\t\t\tcase TYPE_CHOICE:\n\t\t\t\t\treturn null;\n\t\t\t\tdefault:\n\t\t\t\t\treturn GENERIC_FILTER_OPERATORS;\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Getter for the selected operator that handles typed defaults and ensures the provided selectedOperator is present in the operators array\n\t *\n\t * @param {object} column\n\t *\n\t * @returns {string | null} id of an operator, or undefined representing nothing is selected when operators are hidden\n\t */\n\tgetSelectedOperator: (column) =>\n\t\tget(column, 'columnFilterConfig.selectedOperator', null),\n\n\t/**\n\t * Returns the label for the operator id\n\t * @param {string | null} selectedOperator\n\t * @param {*} operators\n\t * @returns {string | null}\n\t */\n\tgetSelectedOperatorValue: (selectedOperator, operators) => {\n\t\tconst operatorValue = operators?.find((\n\t\t\t/** @type {{ id: string; label: string; }} */ item\n\t\t) => {\n\t\t\treturn item.id === selectedOperator;\n\t\t});\n\t\treturn operatorValue?.label;\n\t},\n\t/**\n\t * Selector for columnFilterConfig value property\n\t * @param {object} column\n\t *\n\t * @returns {SingleColumnFilteringState[\"value\"]}\n\t */\n\tgetColumnFilterValue: (column) =>\n\t\tget(column, 'columnFilterConfig.value', null),\n\n\t/**\n\t * Selector for columnFilterConfig custom component tag property\n\t * @param {object} column\n\t */\n\tgetColumnFilterValueEditorCustomComponentTag: (column) =>\n\t\tget(column, 'columnFilterConfig.valueEditorCustomComponentTag'),\n\n\t/**\n\t * Selector for props of the provided custom component\n\t * @param {object} column\n\t */\n\tgetColumnFilterValueEditorCustomComponentDefaultProps: (column) =>\n\t\tget(\n\t\t\tcolumn,\n\t\t\t'columnFilterConfig.valueEditorCustomComponentDefaultProps'\n\t\t),\n\n\t/* TYPE-SPECIFIC COLUMN SELECTORS */\n\n\t/* NUMBER COLUMN SELECTORS */\n\n\t/**\n\t * Gets the format of numbers in this column\n\t * @param {object} column\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetNumberFormat: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_NUMBER && type !== TYPE_PERCENT_COMPLETE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getNumberFormat(), a method specific to number typed columns, was called on a non-number type'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\treturn get(column, 'numberFormat') || NUMBER_FORMAT_INTEGER;\n\t},\n\n\t/**\n\t * Gets the value that indicates whether to display the delimiter or not.\n\t * @param {object} column\n\t *\n\t * @returns {(boolean | undefined)}\n\t */\n\tgetShowDelimiter: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_NUMBER && type !== TYPE_PERCENT_COMPLETE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getShowDelimiter(), a method specific to number typed columns, was called on a non-number type'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\treturn get(column, 'showDelimiter', true);\n\t},\n\n\t/**\n\t * Gets the number of post-decimal-point digits that will be displayed in this column\n\t * @param {object} column\n\t *\n\t * @returns {(number | undefined)}\n\t */\n\tgetDecimalPlaces: (column) => {\n\t\tconst type = get(column, 'type');\n\t\tconst numberFormat = get(column, 'numberFormat');\n\t\tlet decimalPlaces = get(column, 'decimalPlaces');\n\n\t\tif (type !== TYPE_NUMBER && type !== TYPE_PERCENT_COMPLETE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDecimalPlaces(), a method specific to number typed columns, was called on a non-number type'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!numberFormat || numberFormat === NUMBER_FORMAT_INTEGER) {\n\t\t\tdecimalPlaces = 0; // ints always have 0 decimal places\n\t\t} else if (!decimalPlaces) {\n\t\t\tdecimalPlaces = DECIMAL_PLACES_DEFAULT;\n\t\t}\n\n\t\treturn decimalPlaces;\n\t},\n\n\t/**\n\t * Selector for getting locale\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetNumberLocale: (column) => {\n\t\treturn get(column, 'locale') || window?.navigator?.language || 'en-US';\n\t},\n\n\t/**\n\t * Util to validate the locale string\n\t * @param {string} locale\n\t * @returns {boolean}\n\t */\n\tisValidLocale: (locale) => {\n\t\tlet length;\n\t\ttry {\n\t\t\tlength = Intl.NumberFormat.supportedLocalesOf([locale]).length;\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn length > 0;\n\t},\n\n\t/**\n\t * util to check if cell content label is hyperlink\n\t * @param {ProcessedColumn} column\n\t * @returns {boolean}\n\t */\n\trenderAsLink: (column) => {\n\t\treturn column?.renderAsLink || false;\n\t},\n\n\t/**\n\t * Gets the NumberFormat object for formatting NumberCell value\n\t */\n\tgetNumberFormatter: memoize((/** @type {string} */ locale) => {\n\t\treturn new Intl.NumberFormat(\n\t\t\tcolumnSelectors.isValidLocale(locale)\n\t\t\t\t? locale\n\t\t\t\t: NUMBER_DEFAULT_LOCALE,\n\t\t\t{\n\t\t\t\tmaximumFractionDigits: 20,\n\t\t\t}\n\t\t);\n\t}),\n\n\t/* DATE/TIME COLUMN SELECTORS */\n\n\t/**\n\t * Gets operator object from columnFilterConfig\n\t * @param {object} column\n\t * @param {string | null} operator operator to be found\n\t *\n\t * @returns {any} returns requested operator object\n\t */\n\tgetOperatorFromColumnFilterConfig: (column, operator) => {\n\t\tconst type = get(column, 'type');\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOperatorFromColumnFilterConfig(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\t\tconst operators = get(column, 'columnFilterConfig.operators', []);\n\t\tconst operatorObj = find(operators, { id: operator });\n\t\treturn operatorObj;\n\t},\n\n\t/**\n\t * Gets the format of datetimes in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetDateTimeFormat: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDateTimeFormat(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'dateTimeFormat') || DATE_TIME_FORMAT_DEFAULT;\n\t},\n\n\t/**\n\t * Gets the time zone of datetimes in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetTimeZone: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getTimeZone(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\tconst timeZone = get(column, 'timeZone');\n\n\t\tif (timeZone) {\n\t\t\ttry {\n\t\t\t\tIntl.DateTimeFormat(undefined, { timeZone: timeZone });\n\t\t\t\treturn timeZone;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warning(\n\t\t\t\t\t'Invalid timezone format detected. Please input a correct IANA timezone format.'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn Intl.DateTimeFormat().resolvedOptions().timeZone; // default to local timezone\n\t},\n\n\t/**\n\t * Gets the time ago display in this column\n\t * @param {object} column\n\t * @param {object} contextApi\n\t * @returns {string}\n\t */\n\tgetTimeAgoDisplay: (column, contextApi) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getTimeAgoDisplay(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\tlet timeAgoDisplay = get(\n\t\t\tcolumn,\n\t\t\t'timeAgoDisplay',\n\t\t\tTIME_AGO_DISPLAY_NONE\n\t\t);\n\t\t// First we check if timeAgoDisplay is set as a prop on now-list, if yes we take it.\n\t\t// If not, we check for user preference and set value based on it. If user preference doesn't exist we default to none.\n\t\tif (timeAgoDisplay == TIME_AGO_DISPLAY_NONE) {\n\t\t\tconst dateTimeFormatPrefValue = get(\n\t\t\t\tcontextApi,\n\t\t\t\tdateTimeFormatPrefKey\n\t\t\t);\n\t\t\tif (dateTimeFormatPrefValue) {\n\t\t\t\tlet dateFormatUserPrefValues;\n\n\t\t\t\ttry {\n\t\t\t\t\tdateFormatUserPrefValues = JSON.parse(\n\t\t\t\t\t\tdateTimeFormatPrefValue\n\t\t\t\t\t);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Error parsing user preference for date time format'\n\t\t\t\t\t);\n\t\t\t\t\tdateFormatUserPrefValues = TIME_AGO_DISPLAY_NONE;\n\t\t\t\t}\n\t\t\t\tconst showTimeAgo = dateFormatUserPrefValues['timeAgo'];\n\t\t\t\tconst showDateAndTimeAgo = dateFormatUserPrefValues['dateBoth'];\n\n\t\t\t\t// show only time ago\n\t\t\t\tif (showTimeAgo)\n\t\t\t\t\ttimeAgoDisplay = TIME_AGO_DISPLAY_AS_MAIN_VALUE;\n\t\t\t\t// show date and time ago\n\t\t\t\telse if (showDateAndTimeAgo)\n\t\t\t\t\ttimeAgoDisplay = TIME_AGO_DISPLAY_UNDER_MAIN_VALUE;\n\t\t\t\t// show none if above conditions fails\n\t\t\t\telse timeAgoDisplay = TIME_AGO_DISPLAY_NONE;\n\t\t\t}\n\t\t}\n\t\treturn timeAgoDisplay;\n\t},\n\n\t/**\n\t * Sets the short date format and returns format\n\t * @param {Date} dateObject\n\t * @param {string} dateTimeFormat\n\t * @returns {string}\n\t */\n\tsetShortDateFormat: (dateObject, dateTimeFormat) => {\n\t\t// if format ends with :ss or .ss, strip off :ss or .ss from date time format\n\t\tif (\n\t\t\tendsWith(dateTimeFormat, SECONDS_FORMAT) ||\n\t\t\tendsWith(dateTimeFormat, SECONDS_FORMAT_WITH_DOTS)\n\t\t) {\n\t\t\tdateTimeFormat = dateTimeFormat.substring(\n\t\t\t\t0,\n\t\t\t\tdateTimeFormat.length - SECONDS_FORMAT.length\n\t\t\t);\n\t\t}\n\t\tconst date = new Date();\n\t\tconst presentYear = date.getFullYear().toString();\n\t\tconst dateObjectYear = dateObject.getFullYear().toString();\n\n\t\t//check if current year is same as from year on date value, if yes we strip it off\n\t\tif (dateObjectYear == presentYear) {\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy-', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('/yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy/', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('-yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('.yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy.', '');\n\t\t}\n\t\treturn dateTimeFormat;\n\t},\n\n\t/**\n\t * Gets first day of the week from the system property\n\t * @param {ColumnBase} column\n\t * @returns {number}\n\t */\n\tgetFirstDayOfWeek: function (column) {\n\t\treturn get(column, 'firstDayOfWeek', 1);\n\t},\n\t/* ACTIONABLE LINKS AND URL COLUMN SELECTORS */\n\n\t/**\n\t * Gets whether links in this column should open in the current tab or in a new tab/window\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\tgetOpensInNew: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_URL) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOpensInNew(), a method specific to URL typed columns, was called on a non-URL type. Be aware that the link type is different from the URL type.'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'opensInNew', OPENS_IN_NEW_DEFAULT);\n\t},\n\n\t/**\n\t * Gets whether links in this column should be disabled and render as text\n\t * @param {ProcessedColumn} column\n\t *\n\t * @returns {boolean}\n\t */\n\tgetDisabled: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (\n\t\t\t![TYPE_URL, TYPE_LINK, TYPE_PERSON].includes(type) &&\n\t\t\t!column?.renderAsLink\n\t\t) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDisabled(), a method specific to URL, actionable link typed columns, or person columns was called on an inapplicable type.'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'disabled', false);\n\t},\n\n\t/* PERSON COLUMN SELECTORS */\n\n\t/**\n\t * Selector for getting label of person column\n\t * @param {object} column\n\t *\n\t * @returns {string | null}\n\t */\n\tgetDisplay: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDisplay(), a method specific to person typed columns, was called on a non-person type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst personDisplay =\n\t\t\tget(column, 'display') ?? PERSON_DISPLAY_TYPE_DEFAULT;\n\n\t\tif (!['name', 'avatar', 'both'].includes(personDisplay)) {\n\t\t\treturn PERSON_DISPLAY_TYPE_DEFAULT;\n\t\t}\n\n\t\treturn personDisplay;\n\t},\n\n\t/* PILLS COLUMN SELECTORS */\n\n\t/**\n\t * Gets the maximum number of pills that can be rendered in each cell of this column\n\t * @param {object} column\n\t *\n\t * @returns {number}\n\t */\n\tgetMaxPillLimit: (column) => {\n\t\treturn get(column, 'maxPillLimit', MAX_PILL_LIMIT_DEFAULT);\n\t},\n\n\t/**\n\t * Gets the pills choices that can be rendered in the list to add/remove the pills in the cell\n\t * @param {ColumnType | ProcessedColumn} column\n\t *\n\t * @returns {Array<ChoiceType>}\n\t */\n\tgetPillsChoices: (column) => {\n\t\treturn get(column, 'pillsChoices', []);\n\t},\n\n\t/* CHOICE COLUMN SELECTORS */\n\n\t/**\n\t * Selector for getting the choices of the column\n\t * @param {ColumnType | ProcessedColumn} column - processed column\n\t * @returns {Array<ChoiceType> | null} column or null\n\t */\n\tgetChoices: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CHOICE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getChoices(), a method specific to choice typed columns, was called on a non-choice type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t\tconst choiceList = get(column, 'choices');\n\n\t\tif (isEmpty(choiceList)) {\n\t\t\tlogger.warning('Choices is required and must be defined.');\n\t\t\treturn null;\n\t\t}\n\n\t\treturn choiceList;\n\t},\n\n\t/**\n\t * Selector for getting the default choice of the column\n\t * @param {ProcessedColumn} column - processed column\n\t * @returns {String} value to be displayed\n\t */\n\tgetDefaultChoiceKey: function (column) {\n\t\tconst choiceList = get(column, 'choices');\n\t\tconst defaultFallBackKey = choiceList[0].key;\n\t\tconst defaultChoiceKey = get(column, 'defaultChoiceKey');\n\n\t\treturn defaultChoiceKey || defaultFallBackKey;\n\t},\n\n\t/**\n\t * Selector for getting the choices of the column based on the given key\n\t * @param {ProcessedColumnDefinitions} key - get choices of column based on this key\n\t * @param {ProcessedColumn} column - processed column\n\t * @returns {String | null} value to be displayed\n\t */\n\tgetChoiceLabelFromKey: function (key, column) {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CHOICE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getChoicesLabelFromKey(), a method specific to choice typed columns, was called on a non-choice type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst choiceList = get(column, 'choices');\n\n\t\tif (isEmpty(choiceList)) {\n\t\t\tlogger.warning('Choices is required and must be defined.');\n\t\t\treturn null;\n\t\t}\n\n\t\tconst defaultChoiceKey = this.getDefaultChoiceKey(column);\n\t\tlet defaultValue;\n\n\t\tfor (const choice of choiceList) {\n\t\t\tif (choice.key === key) {\n\t\t\t\treturn choice.label;\n\t\t\t}\n\t\t\tif (choice.key === defaultChoiceKey) {\n\t\t\t\tdefaultValue = choice.label;\n\t\t\t}\n\t\t}\n\t\treturn defaultValue;\n\t},\n\n\t/* CURRENCY COLUMN SELECTORS */\n\n\t/**\n\t * Gets the currency in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetCurrency: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CURRENCY) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCurrency(), a method specific to currency typed columns, was called on a non-currency type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'currency') || CURRENCY_DEFAULT;\n\t},\n\n\t/**\n\t * Gets the locale to determine the delimiter for currency in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetCurrencyLocale: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CURRENCY) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCurrencyLocale(), a method specific to currency typed columns, was called on a non-currency type'\n\t\t\t);\n\t\t}\n\t\tconst defaultLocale =\n\t\t\twindow?.navigator?.language || CURRENCY_LOCALE_DEFAULT;\n\t\treturn get(column, 'locale') || defaultLocale;\n\t},\n\n\t/* PERCENT COMPLETE COLUMN SELECTORS */\n\n\t/**\n\t * Selector for thresholdColors for percent complete type\n\t * @param {object} column\n\t *\n\t * @returns {string} string representing the colors that should be shown at certain percentage thresholds\n\t */\n\tgetThresholdColors: (column) => {\n\t\treturn get(column, 'thresholdColors', '');\n\t},\n\n\t/* PRIVATE COLUMN FIELDS */\n\n\t/**\n\t * Selector for getting colspan from column object\n\t * @param {object} column\n\t *\n\t * @returns {number} colspam\n\t */\n\tgetColumnColSpan: fpGet('_colspan'),\n\n\t/**\n\t * Selector for getting rowspan from column object\n\t * @param {object} column\n\t *\n\t * @returns {number} rowspan\n\t */\n\tgetColumnRowSpan: fpGet('_rowspan'),\n\n\t/**\n\t * Selector for getting parent key from column object\n\t * @param {object} column\n\t *\n\t * @returns {string|undefined} colspam\n\t */\n\tgetColumnParentKey: fpGet('_parentKey'),\n\n\t/**\n\t * Selector for checking if a column is active\n\t * @param {object} column\n\t *\n\t * @returns {boolean} active\n\t */\n\tisColumnActive: fpGet('_active'),\n\n\t/**\n\t * Selector for getting the column level in the tree\n\t * @param {object} column\n\t *\n\t * @returns {number} level\n\t */\n\tgetColumnLevel: fpGet('_level'),\n\n\t/**\n\t * Selector for getting a specific column's edges\n\t * @param {object} column\n\t *\n\t * @returns {Array<String>} array of strings. Each index in the array corresponds to an edge on a nested column structure\n\t */\n\tgetColumnEdges: fpGet('columnEdges'),\n\n\t/**\n\t * Selector for getting a first column edge which is not a special column\n\t * @param {Array<String>} columnEdges\n\t *\n\t * @returns {string} returns first column edge\n\t */\n\tgetFirstColumnEdge: (columnEdges) => {\n\t\treturn find(columnEdges, (/** @type {string} */ columnEdge) => {\n\t\t\tconst isSpecial = columnSelectors.isSpecialColumnKey(columnEdge);\n\t\t\treturn !isSpecial;\n\t\t});\n\t},\n\n\t/**\n\t * Selector for getting a custom column's component tag\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetColumnComponentTag: fpGet('componentTag'),\n\n\t/**\n\t * Selector for checking if a custom column has a component tag\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnComponentTag: fpHas('componentTag'),\n\n\t/**\n\t * Selector for getting a custom column's cell place holder dimensions\n\t * @param {object} column\n\t *\n\t * @returns {CellContentDimensions}\n\t */\n\tgetColumnPlaceholderDimensions: fpGetOr({}, 'placeholderDimensions'),\n\n\t/**\n\t * Selector for getting a custom column's cell content dimensions\n\t * @param {object} column\n\t *\n\t * @returns {CellContentDimensions}\n\t */\n\tgetCellContentDimensions: fpGetOr({}, 'cellContentDimensions'),\n\n\t/**\n\t * Selector for getting a custom column's component properties\n\t * @param {object} column\n\t *\n\t * @returns {object}\n\t */\n\tgetColumnDefaultComponentProperties: fpGetOr({}, 'defaultComponentProps'),\n};\n\nexport default columnSelectors;\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport remove from 'lodash/remove';\n\nimport logger from '../../shared/utils/logger';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport featureFlagSelectors from '../../shared/utils/selectors/featureFlagSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\n\nconst {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n} = require('../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tPOSITION_TABLE_END,\n} = require('../../typeSchemas/rowDefinitions/rowConfigConsts');\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED,\n} = actionTypes;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\tprocessedColumnDefinitionsPath: 'processedColumnDefinitions',\n\tcolumnsPath: 'columns',\n};\n\n/* SELECTORS */\n\nconst {\n\tgetColumnFilteringEnabled,\n\tgetMaxCharacters,\n\tgetRowDragDropEnabled,\n\tgetSelectionEnabled,\n} = featureFlagSelectors;\n\n/**\n * Selector for getting new path from existing path and column index\n * @param {string} path Existing path of columns\n * @param {number} index column index\n */\nexport const getNewChildPath = (path, index) => `${path}[${index}].children`;\n\n/* HELPERS */\n\n/**\n *  Recursively Iterates through column definitions and returns max depth across all columns\n *\n * @param {Array<ColumnType>} columnDefinitions Array of column definitions\n * @param {number} currentDepth Used for recursive calls. Describes the current layer of the tree structure.\n *\n * @returns {number} Max depth of columns\n */\nexport const getColumnDepth = (columnDefinitions, currentDepth = 1) => {\n\tlet depth = currentDepth;\n\tcolumnDefinitions.forEach((column) => {\n\t\tconst { children = [] } = column;\n\n\t\tif (children.length) {\n\t\t\tconst newDepth = currentDepth + 1;\n\t\t\tconst childrenDepth = getColumnDepth(children, newDepth);\n\n\t\t\tif (childrenDepth > depth) depth = childrenDepth;\n\t\t}\n\t});\n\treturn depth;\n};\n\n/**\n * Helper for getting correct row and column header index\n * @param {*} payload\n */\nexport const getColumnHeaderIndexes = (payload) => {\n\tconst {\n\t\tcontext: {\n\t\t\tcolumn: { key, _level },\n\t\t},\n\t\tprocessedColumnDefinitions: { columnMap },\n\t} = payload;\n\n\t/**\n\t * Getting column index from `columnMap` using the column key we are getting from the context action payload.\n\t * columnMap has all the columns keys (like 'assigned_to') and their structured indexes as values (like 'columns[9]'),\n\t * Split logic will get us the value `9` for an example here which is the column index.\n\t * _level can be used to get row index.\n\t * This will also cover grouped columns.\n\t * */\n\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (columnMap.hasOwnProperty(key)) {\n\t\tconst columnPath = columnMap[key];\n\t\tconst columnIdxRegex = /\\[|\\]/;\n\t\tconst [, columnIndex] = columnPath.split(columnIdxRegex);\n\n\t\treturn {\n\t\t\theaderRowIndex: _level,\n\t\t\theaderColumnIndex: Number(columnIndex) + 1,\n\t\t};\n\t}\n};\n\n/**\n * This function prunes duplicate keyed column definitions. Column keys must be unique to prevent any issues\n * in rendering the cells as rendering is key based. Only the first instance of a duplicate column key should be valid.\n * This function will process each column level sequentially and will mutate original object\n *\n * @param {ClonedColumnDefinitions} columnDefinitions\n *\n */\nexport const pruneColumnDefinitions = (columnDefinitions) => {\n\tconst columnKeys = new Set();\n\n\tconst pruneColumnDefinitionsHelper = (\n\t\t/** @type {Array<Array<ProcessedColumn>>}*/ columnsInCurrentLevel\n\t) => {\n\t\t/** @type {Array<*>} */\n\t\tconst nextLevelChildren = [];\n\n\t\tcolumnsInCurrentLevel.forEach((entry) => {\n\t\t\tremove(entry, (/**@type {ProcessedColumn}*/ column) => {\n\t\t\t\tif (columnKeys.has(column.key)) {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Duplicate column encountered. Removing from column definitions',\n\t\t\t\t\t\tcolumn\n\t\t\t\t\t);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tcolumnKeys.add(column.key);\n\n\t\t\t\tif (column.children) {\n\t\t\t\t\tnextLevelChildren.push(column.children);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t});\n\n\t\tif (nextLevelChildren.length) {\n\t\t\tpruneColumnDefinitionsHelper(nextLevelChildren);\n\t\t}\n\n\t\tcolumnKeys.clear();\n\t};\n\n\tpruneColumnDefinitionsHelper([columnDefinitions.columns]);\n};\n\n/**\n * This function will mutate the columns for any additional processing that has to happen\n * @param {Array<ProcessedColumn>} columns\n * @param {object} props\n *\n * @returns {Array<ProcessedColumn>} columns\n */\nexport const updateColumns = (columns, props) => {\n\tconst maxCharacters = getMaxCharacters(props);\n\n\tif (maxCharacters !== undefined && maxCharacters !== null) {\n\t\tcolumns.forEach((/** @type {ColumnType } */ column) => {\n\t\t\tif (!columnSelectors.hasMaxCharacters(column)) {\n\t\t\t\tcolumn.maxCharacters = maxCharacters;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn columns;\n};\n\n/**\n * This function checks whether there is any row that has children\n * @param {Row[]} rows\n *\n * @returns {boolean} hasChildren\n */\nexport const isNestedRows = (rows) =>\n\trows?.some((row) => rowSelectors.hasChildren(row)) || false;\n\n/**\n * Some kinds of special columns (row actions, selection) are not configured through the columnDefinitions prop.\n * This function adds those special columns based on their config in other props.\n *\n * @param {ClonedColumnDefinitions} clonedColumnDefinitions\n * @param {RowDefinitions} rowDefinitions\n * @param {object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n *\n * @returns {ClonedColumnDefinitions}\n */\nexport const addOrUpdateSpecialColumns = (\n\tclonedColumnDefinitions,\n\trowDefinitions,\n\tprops\n) => {\n\tconst { getColumns, isSpecialColumn } = columnSelectors;\n\tconst {\n\t\thasRowActionsWithItems,\n\t\tgetRowActions,\n\t\tgetRowActionsPosition,\n\t\thasGroupedOrDefaultRowsWithChildren,\n\t\thasGroupedRowCount,\n\t} = rowSelectors;\n\n\tlet columns = getColumns(clonedColumnDefinitions);\n\n\t// prune any existing special columns\n\tcolumns = remove(columns, (/** @type {ColumnBase} */ column) => {\n\t\treturn !isSpecialColumn(column);\n\t});\n\n\tif (rowDefinitions.rows && isNestedRows(rowDefinitions.rows)) {\n\t\t// GROUPED ROW CHEVRON TOGGLES COLUMN\n\t\tif (hasGroupedOrDefaultRowsWithChildren(rowDefinitions)) {\n\t\t\t/** @constant\n\t\t\t\t@type {ColumnBase}\n\t\t\t*/\n\t\t\tconst parentToggleColumn = {\n\t\t\t\ttype: SPECIAL_TYPE_PARENT_TOGGLE,\n\t\t\t\tkey: SPECIAL_TYPE_PARENT_TOGGLE,\n\t\t\t\tisSpecialColumn: true,\n\t\t\t};\n\n\t\t\tcolumns.unshift(parentToggleColumn);\n\t\t}\n\n\t\t// GROUPED ROW BADGE COLUMN\n\t\tif (hasGroupedRowCount(rowDefinitions)) {\n\t\t\tconst parentBadgeColumn = {\n\t\t\t\ttype: SPECIAL_TYPE_PARENT_BADGE,\n\t\t\t\tkey: SPECIAL_TYPE_PARENT_BADGE,\n\t\t\t\tisSpecialColumn: true,\n\t\t\t};\n\t\t\tcolumns.unshift(parentBadgeColumn);\n\t\t}\n\t}\n\n\t// SELECTION COLUMN\n\tif (getSelectionEnabled(props)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst selectionColumn = {\n\t\t\ttype: SPECIAL_TYPE_SELECTION,\n\t\t\tkey: SPECIAL_TYPE_SELECTION,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(selectionColumn);\n\t}\n\n\t// ROW ACTIONS COLUMN\n\t// in the case that column filtering is on, the row actions column is used to display the toggle button for the header row even if there are no actual row actions\n\t// in that case, the row actions column is always at the start of the column so that the button to open the filter is visible on initial render, so we ignore row actions position if it is at the end.\n\tif (\n\t\thasRowActionsWithItems(rowDefinitions) ||\n\t\tgetColumnFilteringEnabled(props)\n\t) {\n\t\tconst rowActions = getRowActions(rowDefinitions);\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst rowActionsColumn = {\n\t\t\ttype: SPECIAL_TYPE_ACTIONS,\n\t\t\tkey: SPECIAL_TYPE_ACTIONS,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tconst actionsPosition = getRowActionsPosition(\n\t\t\trowActions,\n\t\t\tgetColumnFilteringEnabled(props)\n\t\t);\n\n\t\tif (actionsPosition === POSITION_TABLE_END) {\n\t\t\tcolumns.push(rowActionsColumn);\n\t\t} else {\n\t\t\tcolumns.unshift(rowActionsColumn);\n\t\t}\n\t}\n\n\t// GROUPED ROW BADGE COLUMN\n\tif (hasGroupedRowCount(rowDefinitions)) {\n\t\tconst rowGroupBadgeColumn = {\n\t\t\ttype: SPECIAL_TYPE_GROUP_BADGE,\n\t\t\tkey: SPECIAL_TYPE_GROUP_BADGE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\t\tcolumns.unshift(rowGroupBadgeColumn);\n\t}\n\n\t// GROUPED ROW CHEVRON TOGGLES COLUMN\n\tif (hasGroupedOrDefaultRowsWithChildren(rowDefinitions)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst groupedToggleColumn = {\n\t\t\ttype: SPECIAL_TYPE_GROUP_TOGGLE,\n\t\t\tkey: SPECIAL_TYPE_GROUP_TOGGLE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(groupedToggleColumn);\n\t}\n\n\t// ROW DRAG HANDLE COLUMN\n\tif (getRowDragDropEnabled(props)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst rowDragDropColumn = {\n\t\t\ttype: SPECIAL_TYPE_ROW_DRAG_HANDLE,\n\t\t\tkey: SPECIAL_TYPE_ROW_DRAG_HANDLE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(rowDragDropColumn);\n\t}\n\n\tclonedColumnDefinitions.columns = columns;\n\treturn clonedColumnDefinitions;\n};\n\n/**\n * Helper function to create an empty array of arrays.\n *\n * @param {number} depth Number of levels to create empty array\n *\n * @returns {Array<Array<*>>} Returns Array of empty arrays at length of depth\n */\nconst createEmptyColumnLeafArray = (depth) =>\n\tArray.from(Array(depth), () => []);\n\n/**\n *\n * @typedef {Object} ColumnInfo\n * @property {Array<Array<string>>} columnLeafs\n * @property {Array<string>} columnEdges\n * @property {Record<string, string>} columnMap\n *\n * This function recursively iterates through the column structure and returns three pieces of state.\n * Column Edges: Lowest level columns to render per row\n * Column Leafs: Array structure comtaining header rows and the keys within each\n * Column Map: Dictionary with column key as the key and value as the path to access the column via getter so we dont have to search everytime we access a column\n * @param {Array<ProcessedColumn>} columns\n * @returns {ColumnInfo} Column state information\n */\nexport const getColumnInfo = (columns) => {\n\tconst maxDepth = getColumnDepth(columns);\n\n\t/** @type {Array<*>} */\n\tconst columnLeafs = createEmptyColumnLeafArray(maxDepth);\n\n\t/** @type {Array<string>} */\n\tconst columnEdges = [];\n\n\t/** @type {Object<String,String>} */\n\tconst columnMap = {};\n\n\tconst getColumnInfoHelper = (\n\t\t/** @type {Array<ProcessedColumn>}*/ columns,\n\t\tlevel = 1,\n\t\tpath = pathConstants.columnsPath\n\t) => {\n\t\tcolumns.forEach((column, index) => {\n\t\t\tconst key = columnSelectors.getColumnKey(column);\n\n\t\t\tcolumnMap[key] = `${path}[${index}]`;\n\t\t\tcolumnLeafs[level - 1].push(key);\n\n\t\t\tif (columnSelectors.hasChildren(column)) {\n\t\t\t\tgetColumnInfoHelper(\n\t\t\t\t\tcolumn.children,\n\t\t\t\t\tlevel + 1,\n\t\t\t\t\tgetNewChildPath(path, index)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcolumnEdges.push(key);\n\t\t\t}\n\t\t});\n\t};\n\n\tgetColumnInfoHelper(columns);\n\n\treturn {\n\t\tcolumnLeafs,\n\t\tcolumnEdges,\n\t\tcolumnMap,\n\t};\n};\n\n/**\n * This function recursively iterates through processed column definitions and adds rowspan, colspan and level\n * depending on the column structure. Will mutate columns argument.\n * @param {Array<ProcessedColumn>} columns\n * @param {number} level\n * @param {number} maxDepth\n * @param {string|undefined} parentKey\n */\nexport const addSpanFields = (\n\tcolumns,\n\tlevel = 1,\n\tmaxDepth = getColumnDepth(columns),\n\tparentKey = undefined\n) => {\n\tlet colSpan = 0;\n\tcolumns.forEach((column) => {\n\t\tif (columnSelectors.hasChildren(column)) {\n\t\t\tconst childrenColSpan = addSpanFields(\n\t\t\t\tcolumn.children,\n\t\t\t\tlevel + 1,\n\t\t\t\tmaxDepth,\n\t\t\t\tcolumn.key\n\t\t\t);\n\n\t\t\tcolSpan += childrenColSpan;\n\t\t\tcolumn._rowspan = 1;\n\t\t\tcolumn._colspan = childrenColSpan;\n\t\t} else {\n\t\t\tcolumn._rowspan = maxDepth - level + 1;\n\t\t\tcolumn._colspan = 1;\n\t\t\tcolSpan += 1;\n\t\t}\n\t\tcolumn._level = level;\n\t\tcolumn._parentKey = parentKey;\n\t});\n\n\treturn colSpan;\n};\n\n/**\n * Function to process column definitions. Will clone original property passed in to modify and add additional private parameters (such as col and rowspan)\n * and computed properties based on other things that are passed in. Will act as the source of truth in the component instead of referencing different parts\n * of state and properties throughout the code.\n *\n * @param {ColumnDefinitions} columnDefinitions\n * @param {RowDefinitions} rowDefinitions\n * @param {object} featureFlags\n * @param {boolean | undefined} featureFlags.columnFilteringEnabled\n * @param {boolean | undefined} featureFlags.expandAllGroups\n * @param {boolean | undefined} featureFlags.rowDragDropEnabled\n * @param {boolean | undefined} featureFlags.selectionEnabled\n * @param {number  | undefined} featureFlags.maxCharacters\n * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n * @returns {ProcessedColumnDefinitions}\n */\nexport const processColumnDefinitions = (\n\tcolumnDefinitions,\n\trowDefinitions,\n\tfeatureFlags\n) => {\n\t/** @type {ClonedColumnDefinitions} */\n\tconst clonedColumnDefinitions = cloneDeep(columnDefinitions);\n\n\tpruneColumnDefinitions(clonedColumnDefinitions);\n\n\tif (columnSelectors.willHaveSpecialColumns(rowDefinitions, featureFlags)) {\n\t\taddOrUpdateSpecialColumns(\n\t\t\tclonedColumnDefinitions,\n\t\t\trowDefinitions,\n\t\t\tfeatureFlags\n\t\t);\n\t}\n\n\tconst clonedColumns = columnSelectors.getColumns(clonedColumnDefinitions);\n\n\tupdateColumns(clonedColumns, featureFlags);\n\n\taddSpanFields(clonedColumns);\n\n\treturn {\n\t\tprocessedColumnDefinitions: clonedColumnDefinitions,\n\t\t...getColumnInfo(clonedColumns),\n\t};\n};\n\n/* EFFECTS */\n\n/**\n * Property Changed Effect Handler. Will check for columnDefinitions changes and process the columnDefinitions accordingly\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tmaxCharacters,\n\t\t\trowDefinitions,\n\t\t\trowDragDropEnabled,\n\t\t\tselectionEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t},\n\t\tstate: { processedColumnDefinitions },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (\n\t\tisEqual(value, previousValue) ||\n\t\t!(\n\t\t\tname === 'columnDefinitions' ||\n\t\t\tname === 'rowDefinitions' ||\n\t\t\tname === 'columnFilteringEnabled' ||\n\t\t\tname === 'selectionEnabled' ||\n\t\t\tname === 'rowDragDropEnabled' ||\n\t\t\tname === 'expandAllGroups' ||\n\t\t\tname === 'maxCharacters'\n\t\t)\n\t) {\n\t\treturn;\n\t}\n\n\tif (isEmpty(columnDefinitions) || isEmpty(columnDefinitions.columns)) {\n\t\tif (!isEmpty(processedColumnDefinitions)) {\n\t\t\tupdateState({\n\t\t\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\t\t\tvalue: {},\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tlet processedColumns = {};\n\tconst columnFeatureFlags = {\n\t\tcolumnFilteringEnabled,\n\t\texpandAllGroups,\n\t\tmaxCharacters,\n\t\trowDragDropEnabled,\n\t\tselectionEnabled,\n\t\tvirtualizedScrollEnabled,\n\t};\n\n\tif (name === 'columnDefinitions' && !isEmpty(value)) {\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tvalue,\n\t\t\trowDefinitions,\n\t\t\tcolumnFeatureFlags\n\t\t);\n\t} else if (name === 'rowDefinitions') {\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tcolumnDefinitions,\n\t\t\tvalue,\n\t\t\tcolumnFeatureFlags\n\t\t);\n\t} else {\n\t\t// must pass all featureFlags in else some special columns might not be rendered,\n\t\t// can't assume the other flags have already been processed\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tcolumnDefinitions,\n\t\t\trowDefinitions,\n\t\t\t// @ts-ignore\n\t\t\t{\n\t\t\t\t...columnFeatureFlags,\n\t\t\t\t[name]: value,\n\t\t\t}\n\t\t);\n\t}\n\tupdateState({\n\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\tvalue: processedColumns,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Similar to property changed handler, processes columnDefinitions prop and stores in state\n * @param {Coeffects<Props,State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tmaxCharacters,\n\t\t\trowDefinitions,\n\t\t\trowDragDropEnabled,\n\t\t\tselectionEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t},\n\t} = coeffects;\n\n\tif (isEmpty(columnDefinitions) || isEmpty(columnDefinitions.columns))\n\t\treturn;\n\n\tconst processedColumns = processColumnDefinitions(\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\t{\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tselectionEnabled,\n\t\t\trowDragDropEnabled,\n\t\t\tmaxCharacters,\n\t\t\tvirtualizedScrollEnabled,\n\t\t}\n\t);\n\n\tcoeffects.updateState({\n\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\tvalue: processedColumns,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * This effect prevents rendering of list if we have column definitions but have not processed them yet\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleRenderRequested = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { columnDefinitions },\n\t\tstate: { processedColumnDefinitions },\n\t} = coeffects;\n\n\tif (\n\t\t!isEmpty(columnDefinitions?.columns) &&\n\t\tisEmpty(processedColumnDefinitions)\n\t) {\n\t\taction.preventDefault();\n\t}\n};\n\n/**\n *  ColumnBehavior will take incoming prop columndefinitions and process it. It will add any additional computed values as fields to a clone of the object\n *  Primary example is row and col spans in multi level column structures.\n */\nconst columnDefinitionsBehavior = {\n\tname: 'columnDefinitionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: { effect: componentBootstrappedEffect },\n\t\t[COMPONENT_RENDER_REQUESTED]: { effect: handleRenderRequested },\n\t},\n};\n\nexport default columnDefinitionsBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"v4\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__.__esModule\n\t\t\t\t\tif (cjsModule && 'v4' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"].v4;\n\t\t\t\t\t} else if ('v4' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__.v4 || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_uuid_7_0_3_index_jsdbx_7231bb90__[\"default\"].v4;\n\t\t\t\t} });","// Actions\nexport const ACTION_PREFIX = 'NOW_SORTABLE#';\nexport const SORT_START = 'SORT_START';\nexport const SORT_END = 'SORT_END';\nexport const SORT_CANCELLED = 'SORT_CANCELLED';\nexport const DROP_AREA_CHANGE = 'DROP_AREA_CHANGE';\nexport const UPDATE_BEHAVIOR = 'UPDATE_BEHAVIOR';\n\n// Classes\nexport const NS_DEST_PLACEHOLDER = 'ns-dest-placeholder';\nexport const NS_DEST_PLACEHOLDER_WRAPPER = 'ns-dest-placeholder-wrapper';\nexport const NS_ACTIVE_SORT_ITEM = 'ns-active-dragging-item';\nexport const NS_SOURCE_PLACEHOLDER = 'ns-source-placeholder';\nexport const NS_DRAGGING_SOURCE = 'ns-dragging-source';\nexport const NS_DRAGGING_SOURCE_OVERLAY = 'dragging-source-overlay';\nexport const NS_SORT_TRANSITIONED = 'ns-drag-transitioned';\nexport const NS_SORT_CLONE = 'ns-drag-clone';\n\nexport const NS_DATA_TRANSFER_KEY = 'ns_data_transfer';\nexport const NS_DEFAULT_PLACEHOLDER = 'div';\n","// @ts-nocheck\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Some utility methods to work with Seismic / Shadow DOM\n *\n * @author mohammed.furqan\n * */\n\nconst COMPONENT_ID = 'component-id';\nconst SET_ATTRIBUTE = 'setAttribute';\nconst GET_ATTRIBUTE = 'getAttribute';\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nconst GET_RESOLVED_PROPERTIES = 'getResolvedProperties';\n\nconst _cloneShadow = (shadowRoot) => {\n\tconst fragment = document.createDocumentFragment();\n\tconst childNodes = [...shadowRoot.childNodes];\n\tchildNodes.forEach((cNode) => {\n\t\tfragment.appendChild(deepClone(cNode));\n\t});\n\treturn fragment;\n};\n\n/**\n * Clones and returns the entire DOM tree. Digs into shadowRoot when needed to clone its sub-tree\n *\n * @param {Node} node\n * @return {Node}\n */\nconst deepClone = (node) => {\n\tconst clone = node.cloneNode(true);\n\tif (node.shadowRoot)\n\t\t// clone will also have a shadow root\n\t\tclone.shadowRoot.appendChild(_cloneShadow(node.shadowRoot));\n\treturn clone;\n};\n\n/**\n * Similar to document.querySelector, but searches inside shadow roots as well\n * *This is orders of magnitude slower than document.querySelector\n *\n * @param {String} selector - a valid CSS selector\n * @param {Node} [rootEl=window.document.body] - Root element to start traversing down from\n * @return {HTMLElement} - a matched element\n * */\nconst querySelectorDeep = (selector, rootEl = window.document.body) => {\n\tif (rootEl.matches && rootEl.matches(selector)) return rootEl;\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector))\n\t\t\t\treturn children[i];\n\n\t\t\tconst child = querySelectorDeep(selector, children[i]);\n\t\t\tif (child) return child;\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot)\n\t\treturn querySelectorDeep(selector, rootEl.shadowRoot);\n\n\treturn null;\n};\n\n/**\n * Similar to document.querySelectorAll, but searches inside shadow roots as well\n * *This is orders of magnitude slower than document.querySelectorAll\n *\n * Examples:\n * - querySelectorAllDeep('.vtb-card')\n * - querySelectorAllDeep('[draggable=\"true\"]')\n *\n * @param {String} selector - a valid CSS selector\n * @param {Node} [rootEl=window.document.body] - Root element to start traversing down from\n * @param {Boolean} nestedMatches - a boolean indicating whether children of a node should be matched, if the\n * \t\tnode matches the selector. Useful for early exits in some cases when an element cannot be nested inside the\n * \t\tsame element\n * @param {Boolean} rootEleMatches - a boolean indicating whether to match the root\n * @return {HTMLElement[]} - an array of nodes that match the given selector\n * */\nconst querySelectorAllDeep = (\n\tselector,\n\trootEl,\n\tnestedMatches = true,\n\trootEleMatches = true\n) => {\n\tconst matches = [];\n\tif (!selector) return matches;\n\tif (!rootEl) rootEl = window.document.body;\n\n\tif (rootEleMatches && rootEl.matches && rootEl.matches(selector))\n\t\tmatches.push(rootEl);\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector)) {\n\t\t\t\tmatches.push(children[i]);\n\t\t\t\tif (nestedMatches === false) continue;\n\t\t\t}\n\n\t\t\tconst childMatches = querySelectorAllDeep(\n\t\t\t\tselector,\n\t\t\t\tchildren[i],\n\t\t\t\trootEleMatches,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tmatches.push(...childMatches);\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot) {\n\t\tconst shadowChildren = querySelectorAllDeep(\n\t\t\tselector,\n\t\t\trootEl.shadowRoot,\n\t\t\tnestedMatches\n\t\t);\n\t\tmatches.push(...shadowChildren);\n\t}\n\n\treturn matches;\n};\n\n/**\n * Similar to Element.closest() but by-passes the shadow roots while traversing up\n *\n * @param {HTMLElement} el - The element whose closest parent needs to be found\n * @param {String} selector - The selector to match the ancestors with\n * @return {HTMLElement|null} The closest parent that matches the selector\n * */\nconst closestDeep = (el, selector) => {\n\tif (!el) return null;\n\n\tif (el.matches(selector)) return el;\n\n\tif (el.parentElement !== null)\n\t\treturn closestDeep(el.parentElement, selector);\n\n\t// escape the shadow root\n\tif (el.getRootNode() !== null)\n\t\treturn closestDeep(el.getRootNode().host, selector);\n};\n\n/**\n * For a special use-case (might get removed)\n *\n * Clones the  entire component tree, replaces component-id attributes with new guids,\n * passes the same properties to the cloned Seismic elements that its original element accepted\n *\n * @param {Node} elem\n * @return {Node}\n *\n * */\nconst seismicClone = (elem) => {\n\tconst elClone = deepClone(elem);\n\tconst seismicElems = querySelectorAllDeep(\n\t\t`[${COMPONENT_ID}]`,\n\t\telClone\n\t).slice();\n\n\tif (isSeismicComponent(elem)) seismicElems.push(elClone);\n\n\t// Get properties from old components, and assign to new\n\tseismicElems.forEach((sElem) => {\n\t\tconst originalElem = querySelectorAllDeep(\n\t\t\t`[${COMPONENT_ID}=\"${sElem[GET_ATTRIBUTE](COMPONENT_ID)}\"]`\n\t\t)[0];\n\n\t\tif (sElem[GET_RESOLVED_PROPERTIES]) {\n\t\t\tconst elProperties = originalElem[GET_RESOLVED_PROPERTIES]();\n\t\t\t// Loop through all enumerable properties from source node, and copy them to clone\n\t\t\tfor (const prop in elProperties) {\n\t\t\t\tsElem[REMOVE_ATTRIBUTE](prop);\n\t\t\t\tsElem[prop] = elProperties[prop];\n\t\t\t}\n\t\t}\n\t});\n\n\t// Change all Seismic component IDs\n\tseismicElems.forEach((sElem) => {\n\t\tsElem[SET_ATTRIBUTE](COMPONENT_ID, uuidv4());\n\t});\n\n\treturn elClone;\n};\n\n/**\n * Inserts a node before a reference node\n * @param {Node} newNode\n * @param {Node} referenceNode\n * */\nconst insertBefore = (newNode, referenceNode) => {\n\treturn referenceNode.parentElement.insertBefore(newNode, referenceNode);\n};\n\n/**\n * Inserts a node after a reference node\n * @param {Node} newNode\n * @param {Node} referenceNode\n * */\nconst insertAfter = (newNode, referenceNode) => {\n\tif (referenceNode.nextSibling) {\n\t\treferenceNode.parentElement.insertBefore(\n\t\t\tnewNode,\n\t\t\treferenceNode.nextSibling\n\t\t);\n\t} else {\n\t\treferenceNode.parentElement.appendChild(newNode);\n\t}\n};\n\n/**\n * Delete a node from DOM\n * @param {Node} elem\n * */\nconst removeNode = (elem) => {\n\tconst parent = elem.parentElement;\n\tif (parent) parent.removeChild(elem);\n};\n\n/**\n * Return the position (index) of the element in its parent\n * @param {Node} elem\n * @return {Integer}\n * */\nconst elemIndex = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement)\n\t\treturn Array.prototype.slice.call(parentElement.children).indexOf(elem);\n\treturn -1;\n};\n\n/**\n * @param {Node} elem\n * @returns {boolean}\n * */\n// FIXME: This logic could be wrong\nconst isSeismicComponent = (elem) => elem && elem.hasAttribute(COMPONENT_ID);\n\n/**\n * Returns the DOMRect (or ClientRect) for the element\n *\n * @param {Element} elem Element to get the rectangle of\n * @return {ClientRect|DOMRect} Rectangle object\n *\n * */\nconst getDOMRect = (elem) => {\n\t// TODO: Try some caching stuff here\n\treturn elem ? elem.getBoundingClientRect() : null;\n};\n\n/**\n * Returns the relative position (top, left) of an element relative to another element.\n * Normally, the DOM rects are relative to the screen, so in cases where scrolling is involved,\n * you'd want to get a position of an element relative to its parent, rather than relative to the\n * screen.\n *\n * @param {HTMLElement} elem - element whose relative position needs to be determined\n * @param {HTMLElement} relativeToElem - a parent of this element that should be used as the\n * \t\treference instead of the screen reference\n *\n * @return {Object} - an object containing 'left' and 'right' property, both numbers\n * */\nconst getRelativePosition = (elem, relativeToElem) => {\n\t// TODO: Try some caching stuff here\n\tconst elemRect = getDOMRect(elem);\n\tconst relativeRect = getDOMRect(relativeToElem);\n\treturn {\n\t\tleft: elemRect.left - relativeRect.left,\n\t\ttop: elemRect.top - relativeRect.top,\n\t};\n};\n\n/**\n * Returns the DOMRect (or ClientRect) for a bunch of elements\n *\n * @param {NodeList|Array} els List of elements either in NodeList or Array form\n * @return {Array<ClientRect|DOMRect>} rectangle objects\n * */\nconst getDOMRects = (els) => {\n\tvar rects = []; // .map() doesn't work on NodeList\n\tels.forEach((el) => {\n\t\trects.push(getDOMRect(el));\n\t});\n\treturn rects;\n};\n\n/**\n * Checks whether the element is connected in the DOM\n * @param {HTMLElement} el - element to check if it is connected in DOM\n * @return {Boolean}\n * */\nconst isConnected = (el) => {\n\t// return document.body.contains(el);\n\t// The above logic ^^ doesn't work, may be because of Shadow DOM\n\treturn !!el.parentElement;\n};\n\nexport {\n\tclosestDeep,\n\tdeepClone,\n\telemIndex,\n\tgetDOMRect,\n\tgetDOMRects,\n\tgetRelativePosition,\n\tinsertAfter,\n\tinsertBefore,\n\tisConnected,\n\tisSeismicComponent,\n\tquerySelectorAllDeep,\n\tquerySelectorDeep,\n\tremoveNode,\n\tseismicClone,\n};\n","const directions = {\n\tLEFT: Symbol('left'),\n\tRIGHT: Symbol('right'),\n\tUP: Symbol('up'),\n\tDOWN: Symbol('down'),\n\tRIGHT_UP: Symbol('right up'),\n\tRIGHT_DOWN: Symbol('right down'),\n\tLEFT_DOWN: Symbol('left down'),\n\tLEFT_UP: Symbol('left up'),\n};\n\nexport default directions;\n","// @ts-nocheck\nimport findIndex from 'lodash/findIndex';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorDeep } from '../../dom-utils';\nimport { NS_SOURCE_PLACEHOLDER, NS_DRAGGING_SOURCE } from '../constants';\n\nconst isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\n// @ts-ignore\nexport const getDropPosition = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement) {\n\t\t// @ts-ignore\n\t\tconst siblings = [].slice\n\t\t\t.apply(parentElement.children)\n\t\t\t.filter((elem) => {\n\t\t\t\treturn (\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t!elem.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t!elem.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t);\n\t\t\t});\n\t\t// @ts-ignore\n\t\treturn findIndex(siblings, (s) => s === elem);\n\t}\n\treturn -1;\n};\n\n// @ts-ignore\nexport const getSourcePosition = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement) {\n\t\t// @ts-ignore\n\t\tconst siblings = [].slice\n\t\t\t.apply(parentElement.children)\n\t\t\t// @ts-ignore\n\t\t\t.filter((elem) => !elem.matches(`.${NS_DRAGGING_SOURCE}`));\n\t\t// @ts-ignore\n\t\treturn findIndex(siblings, (s) => s === elem);\n\t}\n\treturn -1;\n};\n\n// @ts-ignore\nexport const getElement = (param) => {\n\tif (typeof param === 'string') return querySelectorDeep(param);\n\telse if (param instanceof Element) return param;\n\treturn null;\n};\n\nexport const getValidRange = (elem, config) => {\n\tconst parentElement = elem.parentElement;\n\tlet siblings = [];\n\tif (parentElement) {\n\t\tsiblings = parentElement.children;\n\t}\n\tlet minIndex = 0;\n\tlet maxIndex = siblings.length - 1;\n\twhile (minIndex < siblings.length) {\n\t\tconst element = siblings[minIndex];\n\t\tif (isDraggable(element, config)) {\n\t\t\tbreak;\n\t\t}\n\t\tminIndex += 1;\n\t}\n\twhile (maxIndex > -1) {\n\t\tconst element = siblings[maxIndex];\n\t\tif (isDraggable(element, config)) {\n\t\t\tbreak;\n\t\t}\n\t\tmaxIndex -= 1;\n\t}\n\tmaxIndex += 1;\n\n\treturn { minIndex, maxIndex };\n};\n\nexport const setValidYPosition = (sortable, position) => {\n\tconst targetYPos = Math.abs(\n\t\tsortable.dropzone.getBoundingClientRect().y -\n\t\t\tsortable.targetElement.getBoundingClientRect().y\n\t);\n\n\tconst maxYPosition = sortable.maxYScroll - targetYPos;\n\tif (position.y > maxYPosition)\n\t\tposition.y = maxYPosition + sortable.targetElement.clientHeight;\n};\n","// @ts-nocheck\nimport { getElement } from './helpers';\n\n// Stay away from the edges by these many pixels\nconst OFFSET_X = 30;\nconst OFFSET_Y = 30;\n\nconst SCROLL_ROUNDING = 3; // Ignore scrolls lesser than this\nconst MIN_SCROLL_CHANGE = 10; // at minimum, scroll by this many pixels\n// TODO: Make the above \"scroll speed\" configurable\n\n// @ts-ignore\nconst hasHorizontalScroll = (el) => {\n\treturn el && el.scrollWidth - el.clientWidth > SCROLL_ROUNDING;\n};\n\n// @ts-ignore\nconst hasVerticalScroll = (el) => {\n\treturn el && el.scrollHeight - el.clientHeight > SCROLL_ROUNDING;\n};\n\n/**\n * \"Scroll bounds\" is a special case consideration for VTB, where scrolling needs to be restricted\n * within some bounds.\n * Usage is to add a property on the element, __auto_scroll_x_bounds__ (or) __auto_scroll_y_bounds__\n * Expected format: Array<Number>[minScroll, maxScroll]\n * */\n// @ts-ignore\nconst scrollWithinXBounds = (el, dScroll) => {\n\tif (el.__auto_scroll_x_bounds__) {\n\t\tconst scrollBounds = el.__auto_scroll_x_bounds__;\n\t\tconst newScroll = el.scrollLeft + dScroll;\n\t\treturn newScroll >= scrollBounds[0] && newScroll <= scrollBounds[1];\n\t}\n\treturn true;\n};\n\n// @ts-ignore\nconst scrollWithinYBounds = (el, dScroll) => {\n\tif (el.__auto_scroll_y_bounds__) {\n\t\tconst scrollBounds = el.__auto_scroll_y_bounds__; // [300, 1200]\n\t\tconst newScroll = el.scrollTop + dScroll; // 627\n\t\treturn newScroll >= scrollBounds[0] && newScroll <= scrollBounds[1];\n\t}\n\treturn true;\n};\n\n// @ts-ignore\nconst canScrollLeft = (el, dScrollLeft) => {\n\tif (dScrollLeft > 0) {\n\t\t// Scrolling right in the scrollable content (content moves left)\n\t\tconst remainingScroll = Math.round(\n\t\t\tel.scrollWidth - el.scrollLeft - el.clientWidth\n\t\t);\n\t\treturn remainingScroll > 0;\n\t}\n\n\treturn Math.round(el.scrollLeft) > 0;\n};\n\n// @ts-ignore\nconst canScrollTop = (el, dScrollTop) => {\n\tif (dScrollTop > 0) {\n\t\t// Scrolling down in the scrollable content (content moves up)\n\t\tconst remainingScroll = Math.round(\n\t\t\tel.scrollHeight - el.scrollTop - el.clientHeight\n\t\t);\n\t\treturn remainingScroll > 0;\n\t}\n\n\treturn Math.round(el.scrollTop) > 0;\n};\n\nexport const handleAutoScroll = (\n\t// @ts-ignore\n\tconfig,\n\t// @ts-ignore\n\tmovingElem,\n\t// @ts-ignore\n\txScrollParent,\n\t// @ts-ignore\n\tyScrollParent,\n\t// @ts-ignore\n\tdx,\n\t// @ts-ignore\n\tdy,\n\t// @ts-ignore\n\tevent\n) => {\n\tconst elemRect =\n\t\tevent && config.followMouseForAutoScroll\n\t\t\t? event.rect\n\t\t\t: movingElem.getBoundingClientRect();\n\tconst lockAxis = config.lockAxis || null;\n\n\txScrollParent = getElement(xScrollParent);\n\tyScrollParent = getElement(yScrollParent);\n\n\tconst xScrollParentRect = xScrollParent.getBoundingClientRect();\n\tconst yScrollParentRect = yScrollParent.getBoundingClientRect();\n\n\t// compute possible distances to all edges (of parent container) if this dx is applied\n\tconst distanceRight = Math.floor(\n\t\txScrollParentRect.right - (elemRect.right + dx)\n\t);\n\tconst distanceLeft = Math.floor(\n\t\telemRect.left + dx - xScrollParentRect.left\n\t);\n\n\t// compute possible distances to all edges (of parent container) if this dy is applied\n\tconst distanceBottom = Math.floor(\n\t\tyScrollParentRect.bottom - (elemRect.bottom + dy)\n\t);\n\tconst distanceTop = Math.floor(elemRect.top + dy - yScrollParentRect.top);\n\t// The above distances should be within the allowed limit, otherwise scrolling will be required\n\tlet horizontalScroll = 0;\n\tlet verticalScroll = 0;\n\n\tif (lockAxis !== 'y' && hasHorizontalScroll(xScrollParent)) {\n\t\tif (distanceRight <= OFFSET_X) {\n\t\t\tconst scrollRequired = Math.max(\n\t\t\t\tOFFSET_X - distanceRight,\n\t\t\t\tMIN_SCROLL_CHANGE\n\t\t\t);\n\t\t\tif (canScrollLeft(xScrollParent, scrollRequired))\n\t\t\t\thorizontalScroll = scrollRequired;\n\t\t} else if (distanceLeft <= OFFSET_X) {\n\t\t\tconst scrollRequired =\n\t\t\t\t-1 * Math.max(OFFSET_X - distanceLeft, MIN_SCROLL_CHANGE);\n\t\t\tif (canScrollLeft(xScrollParent, scrollRequired))\n\t\t\t\thorizontalScroll = scrollRequired;\n\t\t}\n\t}\n\n\tif (lockAxis !== 'x' && hasVerticalScroll(yScrollParent)) {\n\t\tif (distanceBottom < OFFSET_Y) {\n\t\t\tconst scrollRequired = Math.max(\n\t\t\t\tOFFSET_Y - distanceBottom,\n\t\t\t\tMIN_SCROLL_CHANGE\n\t\t\t);\n\t\t\tif (canScrollTop(yScrollParent, scrollRequired))\n\t\t\t\tverticalScroll = scrollRequired;\n\t\t} else if (distanceTop < OFFSET_Y) {\n\t\t\tconst scrollRequired =\n\t\t\t\t-1 * Math.max(OFFSET_Y - distanceTop, MIN_SCROLL_CHANGE);\n\t\t\tif (canScrollTop(yScrollParent, scrollRequired))\n\t\t\t\tverticalScroll = scrollRequired;\n\t\t}\n\t}\n\n\tif (horizontalScroll !== 0) {\n\t\tif (scrollWithinXBounds(xScrollParent, horizontalScroll))\n\t\t\txScrollParent.scrollLeft += horizontalScroll;\n\t}\n\n\tif (verticalScroll !== 0) {\n\t\tif (scrollWithinYBounds(yScrollParent, verticalScroll)) {\n\t\t\tyScrollParent.scrollTop += verticalScroll;\n\t\t}\n\t}\n\n\t// if no auto-scrolling, dx and dy remains same\n\treturn {\n\t\tscrollX: horizontalScroll,\n\t\tscrollY: verticalScroll,\n\t};\n};\n","// @ts-nocheck\nimport { v4 as uuidv4 } from 'uuid';\n\nclass Sortable {\n\t// @ts-ignore\n\tconstructor(config) {\n\t\t// TODO: Document each of the property used here\n\n\t\tthis.uuid = uuidv4();\n\n\t\tthis.active = false;\n\n\t\tthis.dataTransfer = {\n\t\t\tsourceIndex: -1,\n\t\t\tdestinationIndex: -1,\n\t\t\tsourceParent: null,\n\t\t\tdestinationParent: null,\n\t\t};\n\n\t\tthis.transition = !!config.transitions;\n\n\t\tthis.listOrder = config.listOrder || null;\n\n\t\t// @ts-ignore\n\t\tthis.targetElement = null;\n\n\t\tthis.placeholders = {\n\t\t\tsrc: null,\n\t\t\tdest: null,\n\t\t};\n\n\t\tthis.clone = {\n\t\t\telement: null,\n\t\t\tposition: {\n\t\t\t\tx: null,\n\t\t\t\ty: null,\n\t\t\t\tdx: null,\n\t\t\t\tdy: null,\n\t\t\t},\n\t\t};\n\n\t\tthis.direction = {\n\t\t\tMIN_CHANGE: 1, // ignore moves smaller than this to avoid flickering\n\t\t\thorizontal: null,\n\t\t\tvertical: null,\n\t\t};\n\n\t\tthis.scroll = {\n\t\t\txElem: null,\n\t\t\tyElem: null,\n\t\t};\n\n\t\tthis.dropIndex = -1;\n\n\t\t// @ts-ignore\n\t\tthis.dropPosition = null;\n\n\t\t// @ts-ignore\n\t\tthis.dropzone = null;\n\n\t\t// @ts-ignore\n\t\tthis.extendedDropzone = null;\n\n\t\t// @ts-ignore\n\t\tthis.newIndex = null;\n\n\t\tthis.maxPositionableIndex = -1;\n\n\t\tthis.minPostionableIndex = -1;\n\t}\n}\n\nexport default Sortable;\n","// @ts-nocheck\nimport {\n\tclosestDeep,\n\tgetDOMRect,\n\tgetRelativePosition,\n\tquerySelectorAllDeep,\n\tremoveNode,\n\tseismicClone,\n} from '../../dom-utils';\nimport { NS_ACTIVE_SORT_ITEM, NS_SORT_CLONE } from '../constants';\n\n// @ts-ignore\nexport const css = (el, styles) => {\n\tfor (const [key, value] of styles) el.style[key] = value;\n};\n\n// @ts-ignore\nexport const cssFromStr = (el, cssStr) => {\n\tconst styles = cssStr.split(';');\n\t// @ts-ignore\n\tstyles.forEach((style) => {\n\t\t// @ts-ignore\n\t\tconst [key, value] = style.split(':').map((s) => s.trim());\n\t\tel.style[key] = value;\n\t});\n};\n\n// @ts-ignore\nexport const createAndInsertClone = (el, config) => {\n\tlet clone = null;\n\tlet customClone = false;\n\t// Check if a custom clone is provided, else try cloning it ourselves\n\tif (config.clone && typeof config.clone === 'function') {\n\t\tclone = config.clone.call(null, el);\n\t\tcustomClone = true;\n\t} else {\n\t\tclone = seismicClone(el);\n\t}\n\tclone.classList.add(NS_SORT_CLONE, NS_ACTIVE_SORT_ITEM);\n\n\tconst cloneParent = config.cloneAppendTo\n\t\t? closestDeep(el, config.cloneAppendTo)\n\t\t: document.body;\n\n\tif (!cloneParent) throw 'Incorrect parent for append clone'; // Handle this and append to body?\n\n\tconst cloningElemRect = getDOMRect(el);\n\t// @ts-ignore\n\tconst { left, top } = getRelativePosition(el, cloneParent);\n\n\tlet cloneStyles = `position: absolute;\n\t\ttop: ${top}px;\n\t\tleft: ${left}px;\n\t\tcursor: grabbing;\n\t\tuser-select: none;\n\t\ttouch-action: none;\n\t\ttransform-origin: 50% 50%;\n\t\tz-index: 9999;\n\t`;\n\n\tif (!customClone) {\n\t\t// If it is a custom clone, allow different dimensions\n\t\tcloneStyles = `\n\t\t\t${cloneStyles}\n\t\t\twidth: ${cloningElemRect.width}px;\n\t\t\theight: ${cloningElemRect.height}px;\n\t\t`;\n\t}\n\n\tcssFromStr(clone, cloneStyles);\n\n\t// Append the clone to the DOM\n\tcloneParent.appendChild(clone);\n\n\treturn clone;\n};\n\n// @ts-ignore\nexport const setClonePosition = (cloneEl, top = null, left = null) => {\n\tif (top) cssFromStr(cloneEl, `top: ${top}px;`);\n\n\tif (left) cssFromStr(cloneEl, `left: ${left}px;`);\n};\n\n// More performant way to move the clone around\n// If multiple transforms have to be applied, this is not useful\n// @ts-ignore\nexport const transformClonePosition = (cloneEl, x, y) => {\n\tcssFromStr(\n\t\tcloneEl,\n\t\t`\n\t\ttransform: translate(${x}px, ${y}px);\n\t`\n\t);\n};\n\nexport const removeClone = () => {\n\t// @ts-ignore\n\tquerySelectorAllDeep(`.${NS_SORT_CLONE}`, null, false).forEach(removeNode);\n};\n","// @ts-nocheck\n/**\n * An object with four coordinates\n * @typedef {{x1: Number, y1: Number, x2: Number, y2: Number}} RectangleObject\n */\n\n/**\n * Checks if two rectangles are intersecting/overlapping\n * @param  {RectangleObject}  rectA\n * @param  {RectangleObject}  rectB\n * @return {boolean}\n */\nconst isIntersecting = (rectA, rectB) =>\n\trectA.x1 < rectB.x2 &&\n\trectB.x1 < rectA.x2 &&\n\trectA.y1 < rectB.y2 &&\n\trectB.y1 < rectA.y2;\n\n/**\n * Returns intersecting part of two rectangles\n * @param  {RectangleObject}  rect1\n * @param  {RectangleObject}  rect2\n * @return {RectangleObject|null}\n */\nconst getOverlapRect = (rect1, rect2) => {\n\t// TODO: Need to revisit this logic again for corner/special cases\n\tconst [r1, r2] = [rect1, rect2].map((r) => {\n\t\treturn {\n\t\t\tx: [r.x1, r.x2].sort(),\n\t\t\ty: [r.y1, r.y2].sort(),\n\t\t};\n\t});\n\tconst noIntersect = !isIntersecting(rect1, rect2);\n\treturn noIntersect\n\t\t? null\n\t\t: {\n\t\t\t\tx1: Math.max(r1.x[0], r2.x[0]),\n\t\t\t\ty1: Math.max(r1.y[0], r2.y[0]),\n\t\t\t\tx2: Math.min(r1.x[1], r2.x[1]),\n\t\t\t\ty2: Math.min(r1.y[1], r2.y[1]),\n\t\t  };\n};\n\n/**\n * Transforms a {ClientRect|DOMRect} into a {RectangleObject}\n * @param {ClientRect|DOMRect|Object} domRect\n * @return {RectangleObject}\n */\nconst toRectangle = (domRect) => ({\n\tx1: domRect.left,\n\ty1: domRect.top,\n\tx2: domRect.left + domRect.width,\n\ty2: domRect.top + domRect.height,\n});\n\n/**\n * Return the center point of a {RectangleObject}\n * @param {RectangleObject} rect\n * @return {Point} center\n */\nconst rectCenter = (rect) => ({\n\tx: (rect.x1 + rect.x2) / 2,\n\ty: (rect.y1 + rect.y2) / 2,\n});\n\nconst edgeDistance = (rect1, rect2) => {\n\tif (isIntersecting(rect1, rect2)) return 0;\n\n\tconst minXRect1 = Math.min(rect1.x1, rect1.x2);\n\tconst minYRect1 = Math.min(rect1.y1, rect1.y2);\n\n\tconst minXRect2 = Math.min(rect2.x1, rect2.x2);\n\tconst minYRect2 = Math.min(rect2.y1, rect2.y2);\n\n\tconst maxXRect1 = Math.max(rect1.x1, rect1.x2);\n\tconst maxYRect1 = Math.max(rect1.y1, rect1.y2);\n\n\tconst maxXRect2 = Math.max(rect2.x1, rect2.x2);\n\tconst maxYRect2 = Math.max(rect2.y1, rect2.y2);\n\n\tlet xDistance = 0,\n\t\tyDistance = 0;\n\n\tif (minXRect1 >= maxXRect2) {\n\t\txDistance = Math.max(minXRect1 - maxXRect2, 0);\n\t} else {\n\t\txDistance = Math.max(minXRect2 - maxXRect1, 0);\n\t}\n\n\tif (minYRect1 >= maxYRect2) {\n\t\tyDistance = Math.abs(maxYRect2 - minYRect1);\n\t} else {\n\t\tyDistance = Math.abs(maxYRect1 - minYRect2);\n\t}\n\n\tif (\n\t\t(rect1.x1 <= rect2.x1 && rect1.x2 >= rect2.x1) ||\n\t\t(rect1.x1 <= rect2.x2 && rect1.x2 >= rect2.x2)\n\t) {\n\t\t// There is an X-overlap\n\t\txDistance = 0;\n\t}\n\n\tif (\n\t\t(rect1.y1 <= rect2.y1 && rect1.y2 >= rect2.y1) ||\n\t\t(rect1.y1 <= rect2.y2 && rect1.y2 >= rect2.y2)\n\t) {\n\t\t// There is a Y-overlap\n\t\tyDistance = 0;\n\t}\n\n\treturn Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));\n};\n\n/**\n * @param {ClientRect|DOMRect} domRectA\n * @param {ClientRect|DOMRect} domRectB\n * @return {Number} overlapping area of the two DOM rectangles\n */\nconst getOverlapArea = (domRectA, domRectB) => {\n\tconst [r1, r2] = [domRectA, domRectB].map(toRectangle);\n\treturn getRectOverlapArea(r1, r2);\n};\n\n/**\n * @param {RectangleObject} rectA\n * @param {RectangleObject} rectB\n * @return {Number} overlapping area of the two rectangles\n */\nconst getRectOverlapArea = (rectA, rectB) => {\n\tconst overlapRect = getOverlapRect(rectA, rectB);\n\tif (overlapRect) return rectArea(overlapRect);\n\n\treturn 0;\n};\n\n/**\n * Calculate the area of a rectangle\n * @param {RectangleObject} rect\n * @return {Number} area\n * */\nconst rectArea = (rect) => {\n\tconst length = Math.abs(rect.x1 - rect.x2);\n\tconst breadth = Math.abs(rect.y1 - rect.y2);\n\treturn length * breadth;\n};\n\n/**\n * Checks if two {ClientRect|DOMRect} rectangles are overlapping\n * @param  {ClientRect|DOMRect}  rectA\n * @param  {ClientRect|DOMRect}  rectB\n * @return {boolean}\n */\nconst isClientRectIntersecting = (rectA, rectB) => {\n\treturn isIntersecting(toRectangle(rectA), toRectangle(rectB));\n};\n\nconst QUADRANTS = {\n\tTL: 'Top Left',\n\tTR: 'Top Right',\n\tBR: 'Bottom Right',\n\tBL: 'Bottom Left',\n};\n\n/**\n * @param {String} quadrant\n * @param {ClientRect|DOMRect } rect\n * @return {ClientRect} new client rect object for the quadrant\n */\nconst getQuadrantRect = (quadrant, rect) => {\n\tconst newRect = {\n\t\t...cloneDOMRect(rect),\n\t\twidth: rect.width / 2,\n\t\theight: rect.height / 2, // Each quadrant can only be 1/4th of the rectangle area\n\t};\n\tswitch (quadrant) {\n\t\tcase QUADRANTS.TL:\n\t\t\tnewRect.bottom = newRect.top + newRect.height;\n\t\t\tnewRect.right = newRect.left + newRect.width;\n\t\t\tbreak;\n\t\tcase QUADRANTS.TR:\n\t\t\tnewRect.left = newRect.x = newRect.left + newRect.width;\n\t\t\tnewRect.bottom = newRect.top + newRect.height;\n\t\t\tbreak;\n\t\tcase QUADRANTS.BR:\n\t\t\tnewRect.left = newRect.x = newRect.left + newRect.width;\n\t\t\tnewRect.top = newRect.y = newRect.top + newRect.height;\n\t\t\tbreak;\n\t\tcase QUADRANTS.BL:\n\t\t\tnewRect.top = newRect.y = newRect.top + newRect.height;\n\t\t\tnewRect.right = newRect.left + newRect.width;\n\t\t\tbreak;\n\t}\n\treturn newRect;\n};\n\n/**\n * Clone a {ClientRect|DOMRect} into a similar plain object\n * @param {ClientRect|DOMRect} domRect\n * @return {Object} object with all the values of domRect\n * */\nconst cloneDOMRect = (domRect) => ({\n\tleft: domRect.left,\n\tright: domRect.right,\n\ttop: domRect.top,\n\tbottom: domRect.bottom,\n\twidth: domRect.width,\n\theight: domRect.height,\n\tx: domRect.x,\n\ty: domRect.y,\n});\n\n/**\n * Checks intersection of the items matching with {String} selector with the {Node} elem\n *\n * @param {HTMLElement} draggingEl\n * @param {HTMLElement[]} sortableEls\n * @return {Object[]} Array with the details of overlapping items\n * details include the element itself, its rectangle, overlapping area (overall and for each quadrant)\n * */\nconst getIntersectingItems = (draggingEl, sortableEls) => {\n\t// TODO: Optimize!\n\t// This method is called on every dragmove, hence it is expensive to query all items and then calculate their rects\n\tconst dragElRect = draggingEl.getBoundingClientRect();\n\tconst items = sortableEls.map((item) => ({\n\t\titem,\n\t\trect: item.getBoundingClientRect(), // TODO: Optimize! See if caching of some rects can help here\n\t\tintersectingArea: 0,\n\t\tquadrants: [],\n\t}));\n\n\t// Find how many elements (rects) intersect with dragging elem (dragElRect)\n\tconst intersectingItems = items.filter((item) =>\n\t\tisClientRectIntersecting(item.rect, dragElRect)\n\t);\n\tintersectingItems.forEach((item) => {\n\t\titem.intersectingArea = Math.floor(\n\t\t\tgetOverlapArea(item.rect, dragElRect)\n\t\t);\n\t\t// Calculate the overlap of each quadrant\n\t\titem.quadrants = Object.values(QUADRANTS).reduce((acc, quad) => {\n\t\t\tconst overlapArea = Math.floor(\n\t\t\t\tgetOverlapArea(getQuadrantRect(quad, item.rect), dragElRect)\n\t\t\t);\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[quad]: {\n\t\t\t\t\toverlapArea: overlapArea,\n\t\t\t\t\toverlapping: overlapArea > 0,\n\t\t\t\t},\n\t\t\t};\n\t\t}, {});\n\t});\n\n\treturn intersectingItems;\n};\n\nexport {\n\tisIntersecting,\n\tgetOverlapArea,\n\tgetRectOverlapArea,\n\tisClientRectIntersecting,\n\tQUADRANTS,\n\tgetQuadrantRect,\n\tgetIntersectingItems,\n\ttoRectangle,\n\trectCenter,\n\tedgeDistance,\n\tcloneDOMRect,\n\trectArea,\n\tgetOverlapRect,\n};\n","// @ts-nocheck\nimport {\n\tgetDOMRect,\n\tisConnected,\n\tquerySelectorAllDeep,\n\tremoveNode,\n\tinsertBefore,\n} from '../../dom-utils';\nimport { getIntersectingItems, QUADRANTS } from '../../utils/rectangle';\nimport {\n\tNS_DEST_PLACEHOLDER,\n\tNS_ACTIVE_SORT_ITEM,\n\tNS_DRAGGING_SOURCE,\n\tNS_SORT_TRANSITIONED,\n\tNS_SOURCE_PLACEHOLDER,\n\tNS_DEFAULT_PLACEHOLDER,\n} from '../constants';\n\nconst removeSrcPlaceholders = () => {\n\tquerySelectorAllDeep(`.${NS_SOURCE_PLACEHOLDER}`, null, false).forEach(\n\t\tremoveNode\n\t);\n};\n\nconst removeDestPlaceholders = () => {\n\tquerySelectorAllDeep(`.${NS_DEST_PLACEHOLDER}`, null, false).forEach(\n\t\tremoveNode\n\t);\n};\n\nconst removeTransitions = () => {\n\tquerySelectorAllDeep(\n\t\t`.${NS_SORT_TRANSITIONED}, .${NS_ACTIVE_SORT_ITEM}`,\n\t\tnull,\n\t\tfalse\n\t).forEach((node) => {\n\t\tnode.classList.remove(NS_SORT_TRANSITIONED, NS_ACTIVE_SORT_ITEM);\n\t\tnode.style.transition = '';\n\t\tnode.style.transform = '';\n\t});\n};\n\nconst createPlaceholder = (tagName, el, message = '') => {\n\tconst placeholder = document.createElement(tagName);\n\tconst { width, height } = el.getBoundingClientRect();\n\tplaceholder.width = width;\n\tplaceholder.height = height;\n\tplaceholder.label = message;\n\n\t// Default placeholder element doesn't have content, so requires minimum size\n\tif (tagName === NS_DEFAULT_PLACEHOLDER) {\n\t\tplaceholder.style.minWidth = `${width}px`;\n\t\tplaceholder.style.minHeight = `${height}px`;\n\t}\n\n\treturn placeholder;\n};\n\nconst addSortableDestPlaceholderClass = (el) =>\n\tel && el.classList.add(NS_DEST_PLACEHOLDER);\n\nconst addSortableSrcPlaceholderClass = (el) =>\n\tel && el.classList.add(NS_SOURCE_PLACEHOLDER);\n\nconst insertPlaceholder = (position = 'next', item, placeholder) => {\n\tswitch (position) {\n\t\tcase 'prev':\n\t\t\titem.parentNode.insertBefore(placeholder, item);\n\t\t\treturn true;\n\t\tcase 'next':\n\t\t\tif (!item.nextSibling) {\n\t\t\t\titem.parentNode.appendChild(placeholder);\n\t\t\t} else {\n\t\t\t\titem.parentNode.insertBefore(placeholder, item.nextSibling);\n\t\t\t}\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n// \"itemsContainer\" parameter here can be confusing. It is not referring to the large droppable (empty) that can be\n// present in some cases, but instead the container where the sortable items go in. So all children of \"dropzone\"\n// should be sortable items\nconst insertPlaceholderAtIndex = (\n\titemsContainer,\n\tindex,\n\titemsSelector,\n\tplaceholder\n) => {\n\tconst elems = Array.prototype.slice.call(itemsContainer.children);\n\tconst sortableItems = elems.filter((el) => el.matches(itemsSelector));\n\n\tremoveNode(placeholder);\n\n\tif (sortableItems[index]) {\n\t\t// Put the placeholder before sortableItems[index]\n\t\t// Cannot insert the destination placeholder here if it is source position\n\t\tif (canPutPlaceholder(sortableItems[index], 'prev')) {\n\t\t\titemsContainer.insertBefore(placeholder, sortableItems[index]);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// index is the going to be last element, just append it to 'itemsContainer'\n\t\tconst lastItem =\n\t\t\titemsContainer.children[itemsContainer.children.length - 1];\n\t\tif (canPutPlaceholder(lastItem, 'next')) {\n\t\t\titemsContainer.appendChild(placeholder);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n};\n\nconst canPutPlaceholder = (item, position) => {\n\tif (!item) return true;\n\n\tswitch (position) {\n\t\tcase 'prev':\n\t\t\treturn item.previousSibling\n\t\t\t\t? !item.previousSibling.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.previousSibling.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t: !item.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.matches(`.${NS_DRAGGING_SOURCE}`);\n\t\tcase 'next':\n\t\t\treturn item.nextSibling\n\t\t\t\t? !item.nextSibling.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.nextSibling.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t: !item.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.matches(`.${NS_DRAGGING_SOURCE}`);\n\t\tdefault:\n\t\t\treturn true;\n\t}\n};\n\nfunction isPositionBefore(element, referenceElement, order) {\n\tconst elRect = getDOMRect(element);\n\tconst refElRect = getDOMRect(referenceElement);\n\tswitch (order) {\n\t\tcase 'horizontal':\n\t\t\treturn elRect.left + elRect.width < refElRect.left;\n\t\tcase 'vertical':\n\t\t\treturn elRect.top + elRect.height < refElRect.top;\n\t}\n\treturn false;\n}\n\n/**\n * This function is responsible for updating the DOM position of the destination placeholder.\n * When dragging an element, the placeholder element will change positions to highlight\n * where the item will be dropped.\n *\n * There are calculations here to check the overlap of the dragging element with other elements, and\n * then to decide where the placeholder should appear to indicate a possible drop location.\n *\n * @param {HTMLElement} cloneEl - the element that is being dragged (may be a clone)\n * @param {HTMLElement[]} sortableEls - an array of elements among which the item can be possibly placed\n * @param {HTMLElement} dropzone - the parent element of the items.\n * \t\t\t\t\t\tUseful if there are no items, to put drop area here\n * @param {HTMLElement[]} extDropzone - An extended dropzone element, where the clone can be moved and\n * \t\t\t\t\t\tstill qualify for a proper drop in the dropzone\n * @param {HTMLElement} srcPlaceholder - the source placeholder to test the clone's overlap against\n * @param {HTMLElement} destPlaceholder - the destination placeholder to test the clone's overlap against\n * @param {String} listOrder - a string indicating whether the sortable list is horizontal or vertical\n * */\nconst predictDestPlaceholder = (\n\tcloneEl,\n\tsortableEls,\n\tdropzone,\n\textDropzone,\n\tsrcPlaceholder,\n\tdestPlaceholder,\n\tlistOrder\n) => {\n\t// itemSelector = `${itemSelector}:not(.${NS_ACTIVE_SORT_ITEM}):not(.${NS_DRAGGING_SOURCE})`;\n\n\t// An item can have a placeholder adjacent to it, only if the dragging element is intersecting\n\t// with all four of it's quadrants (at least by some amount)\n\tconst intersectingItems = getIntersectingItems(cloneEl, sortableEls).filter(\n\t\t(item) => !Object.values(item.quadrants).some((q) => !q.overlapping)\n\t);\n\n\t// console.log('intersecting items', intersectingItems);\n\n\t// At this point, if there are intersecting items, then the \"drop-area\" (placeholder) will go either above or\n\t// below the most intersecting item..\n\t// And if there are no intersecting items, then we just check if we are hovering over a possible dropzone, and\n\t// if so, then we show a \"drop-area\" (placeholder) somewhere in that dropzone\n\n\tif (!intersectingItems.length) {\n\t\t// None of the item is intersecting, so few cases to consider now\n\t\t// 1. The dragged item could be intersecting the most with the drag-source placeholder\n\t\t// 2. The dragged item could be intersecting the most with the drop placeholder\n\t\t// 3. The dragged item could be hovering over a possible drop zone, not intersecting with anything\n\n\t\tif (isConnected(srcPlaceholder)) {\n\t\t\tconst srcElIntersect = getIntersectingItems(cloneEl, [\n\t\t\t\tsrcPlaceholder,\n\t\t\t]).filter(\n\t\t\t\t(item) =>\n\t\t\t\t\t!Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t\t);\n\t\t\tif (srcElIntersect.length && srcElIntersect[0].item) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (isConnected(destPlaceholder)) {\n\t\t\tconst destElIntersect = getIntersectingItems(cloneEl, [\n\t\t\t\tdestPlaceholder,\n\t\t\t]).filter(\n\t\t\t\t(item) =>\n\t\t\t\t\t!Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t\t);\n\t\t\tif (destElIntersect.length && destElIntersect[0].item) return false;\n\t\t}\n\n\t\t// Clone is NOT intersecting with any 'items'\n\t\t// Clone is NOT intersecting with the source placeholder\n\t\t// Clone is NOT intersecting with the destination placeholder\n\t\t// Only possible case now, is to just append the placeholder last in the 'dropzone'\n\n\t\tconst hoveringDropzone = extDropzone || dropzone;\n\t\tconst dzIntersect = getIntersectingItems(cloneEl, [\n\t\t\thoveringDropzone,\n\t\t]).filter(\n\t\t\t(item) => !Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t);\n\t\tif (dzIntersect.length && dzIntersect[0].item) return false;\n\n\t\t// Clone is being hovered over a valid dropzone, so drop placeholder is needed inside the 'dropzone' element\n\t\tlet firstItemInDropzone = null,\n\t\t\tlastItemInDropzone = null;\n\n\t\tif (dropzone.children && dropzone.children.length) {\n\t\t\tfirstItemInDropzone = dropzone.children[0];\n\t\t\tlastItemInDropzone =\n\t\t\t\tdropzone.children[dropzone.children.length - 1];\n\t\t}\n\n\t\t// Hovering over an empty dropzone (no items)\n\t\tif (dropzone.children.length === 0) {\n\t\t\tif (!canPutPlaceholder(firstItemInDropzone, 'prev')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tdropzone.appendChild(destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Hovering over a dropzone that has items in it\n\t\t// Check if the dragged clone is hovering above the first item, or below the last item\n\t\tif (isPositionBefore(cloneEl, firstItemInDropzone, listOrder)) {\n\t\t\t// placeholder should go above the first item\n\t\t\tif (!canPutPlaceholder(firstItemInDropzone, 'prev')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tinsertBefore(destPlaceholder, firstItemInDropzone);\n\t\t} else if (isPositionBefore(lastItemInDropzone, cloneEl, listOrder)) {\n\t\t\t// placeholder should go below the last item\n\t\t\tif (!canPutPlaceholder(lastItemInDropzone, 'next')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tdropzone.appendChild(destPlaceholder);\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Among these eligible items, break the ties by considering the one with most overlapping area\n\tconst mostOverlappingItem = intersectingItems\n\t\t.slice()\n\t\t.sort((a, b) => a.intersectingArea - b.intersectingArea)\n\t\t.pop();\n\n\t// console.log('most overlapping item', mostOverlappingItem);\n\n\tremoveNode(destPlaceholder);\n\n\tconst { item, quadrants } = mostOverlappingItem;\n\n\t// Decide whether or not to show the placeholder\n\t// Placeholder will NOT be shown if:\n\t// 1. It appears above or below (OR left or right) to the dragging source\n\t// 2. The most eligible item is the drag source itself\n\n\t// The placeholder can now go \"above\" or \"below\" this eligible item\n\t// Break this tie considering the overlapping area in the top-half vs the bottom-half\n\tconst totalArea = (total, q) => total + quadrants[q].overlapArea;\n\tconst [topOverlap, bottomOverlap, leftOverlap, rightOverlap] = [\n\t\t[QUADRANTS.TL, QUADRANTS.TR].reduce(totalArea, 0),\n\t\t[QUADRANTS.BL, QUADRANTS.BR].reduce(totalArea, 0),\n\t\t[QUADRANTS.TL, QUADRANTS.BL].reduce(totalArea, 0),\n\t\t[QUADRANTS.TR, QUADRANTS.BR].reduce(totalArea, 0),\n\t];\n\n\t// TODO: Consider that previousSibling/nextSibling could be visually 'hidden'\n\n\tif (\n\t\ttopOverlap > bottomOverlap ||\n\t\t(topOverlap === bottomOverlap && leftOverlap > rightOverlap)\n\t) {\n\t\tif (canPutPlaceholder(item, 'prev')) {\n\t\t\tinsertPlaceholder('prev', item, destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\tif (canPutPlaceholder(item, 'next')) {\n\t\t\tinsertPlaceholder('next', item, destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nexport {\n\tremoveDestPlaceholders,\n\tremoveSrcPlaceholders,\n\tremoveTransitions,\n\tinsertPlaceholder,\n\tcreatePlaceholder,\n\taddSortableDestPlaceholderClass,\n\taddSortableSrcPlaceholderClass,\n\tpredictDestPlaceholder,\n\tinsertPlaceholderAtIndex,\n\tisPositionBefore,\n};\n","// @ts-nocheck\nimport isFunction from 'lodash/isFunction';\n\nimport {\n\tclosestDeep,\n\telemIndex,\n\tgetRelativePosition,\n\tinsertAfter,\n\tquerySelectorAllDeep,\n} from '../../dom-utils';\nimport {\n\tSORT_END,\n\tSORT_START,\n\tDROP_AREA_CHANGE,\n\tNS_ACTIVE_SORT_ITEM,\n\tNS_SOURCE_PLACEHOLDER,\n\tNS_DEST_PLACEHOLDER,\n\tNS_DRAGGING_SOURCE,\n\tSORT_CANCELLED,\n} from '../constants';\n\nimport { handleAutoScroll } from './auto-scroll';\nimport Sortable from './class';\nimport {\n\tcreateAndInsertClone,\n\tremoveClone,\n\tsetClonePosition,\n\ttransformClonePosition,\n} from './clone';\nimport {\n\tgetDropPosition,\n\tgetElement,\n\tgetSourcePosition,\n\tgetValidRange,\n\tsetValidYPosition,\n} from './helpers';\nimport {\n\tcreatePlaceholder,\n\tinsertPlaceholderAtIndex,\n\tremoveDestPlaceholders,\n\tremoveSrcPlaceholders,\n\taddSortableDestPlaceholderClass,\n\taddSortableSrcPlaceholderClass,\n\tpredictDestPlaceholder,\n} from './placeholder';\n\nexport const LIST_ORDER = { VERTICAL: 'vertical', HORIZONTAL: 'horizontal' };\n\nconst DIRECTIONS = {\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\tUP: 'up',\n\tDOWN: 'down',\n};\n\nexport const sortInteraction = (config, dispatch) => {\n\t// TODO: Document each property of the below 'sortable' object\n\tconst sortable = new Sortable(config);\n\n\tfunction getTargetElem(event, config) {\n\t\tif (config && config.handle) {\n\t\t\t// Event initiated at the handle element, so dragged element is some ancestor of this\n\t\t\t// the closest parent that matches 'config.items'\n\t\t\treturn closestDeep(event.target, config.items);\n\t\t}\n\t\t// If 'handle' is not used, event can only be triggered by the sortable element only\n\t\treturn event.target;\n\t}\n\n\tfunction setMoveDirection(dx, dy) {\n\t\tif (dx !== 0) {\n\t\t\tif (dx < -sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.horizontal = DIRECTIONS.LEFT;\n\t\t\t} else if (dx > sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.horizontal = DIRECTIONS.RIGHT;\n\t\t\t}\n\t\t}\n\t\tif (dy !== 0) {\n\t\t\tif (dy < -sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.vertical = DIRECTIONS.UP;\n\t\t\t} else if (dy > sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.vertical = DIRECTIONS.DOWN;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction setDirectionStylesOnClone() {\n\t\tconst classes = [\n\t\t\t`horizontal-dir-${DIRECTIONS.LEFT}`,\n\t\t\t`horizontal-dir-${DIRECTIONS.RIGHT}`,\n\t\t\t`vertical-dir-${DIRECTIONS.UP}`,\n\t\t\t`vertical-dir-${DIRECTIONS.DOWN}`,\n\t\t];\n\t\tconst horizontalCls = sortable.direction.horizontal\n\t\t\t? `horizontal-dir-${sortable.direction.horizontal}`\n\t\t\t: '';\n\t\tconst verticalCls = sortable.direction.vertical\n\t\t\t? `vertical-dir-${sortable.direction.vertical}`\n\t\t\t: '';\n\t\tconst clone = sortable.clone.element;\n\n\t\tclasses.forEach((cls) => {\n\t\t\tif (cls !== horizontalCls && cls !== verticalCls)\n\t\t\t\tclone.classList.remove(cls);\n\t\t});\n\n\t\tif (horizontalCls && !clone.classList.contains(horizontalCls)) {\n\t\t\tclone.classList.add(horizontalCls);\n\t\t\tclone.horizontalDragDirection = horizontalCls; // to trigger prop change\n\t\t}\n\t\tif (verticalCls && !clone.classList.contains(verticalCls)) {\n\t\t\tclone.classList.add(verticalCls);\n\t\t\tclone.verticalDragDirection = verticalCls; // to trigger prop change\n\t\t}\n\t}\n\n\tfunction getSortableItemsSelector() {\n\t\t// The items that are sortable in the list, except for the placeholders and the clone\n\t\treturn (\n\t\t\t`${config.items}` +\n\t\t\t`:not(.${NS_SOURCE_PLACEHOLDER})` +\n\t\t\t`:not(.${NS_DRAGGING_SOURCE})` +\n\t\t\t`:not(.${NS_DEST_PLACEHOLDER})` +\n\t\t\t`:not(.${NS_ACTIVE_SORT_ITEM})`\n\t\t);\n\t}\n\n\tfunction getSortableElements(dropzone) {\n\t\treturn querySelectorAllDeep(\n\t\t\tgetSortableItemsSelector(),\n\t\t\tdropzone,\n\t\t\tfalse\n\t\t);\n\t}\n\n\tfunction resetTargetElemStyles() {\n\t\tconst elem = sortable.targetElement;\n\t\telem.style.display = elem._oldDisplay;\n\t\telem.classList.remove(NS_DRAGGING_SOURCE);\n\t}\n\n\tfunction hideTargetElem() {\n\t\tsortable.targetElement._oldDisplay =\n\t\t\tsortable.targetElement.style.display;\n\t\tsortable.targetElement.style.display = 'none'; // Hide the element that is being dragged\n\t\tsortable.targetElement.classList.add(NS_DRAGGING_SOURCE);\n\t}\n\n\tfunction resetSortableData() {\n\t\tsortable.dropIndex = -1;\n\t\tsortable.dropPosition = null;\n\t\tsortable.dropzone = null;\n\t\tsortable.clone.element = null;\n\t\tsortable.clone.position.x = null;\n\t\tsortable.clone.position.y = null;\n\t\tsortable.dataTransfer = {};\n\t\tsortable.active = false;\n\t}\n\n\tfunction updateScrollParents() {\n\t\tconst dropzone = sortable.dropzone;\n\t\tsortable.scroll.xElem = dropzone.matches(config.xScrollParent)\n\t\t\t? dropzone\n\t\t\t: closestDeep(dropzone, config.xScrollParent);\n\n\t\tsortable.scroll.yElem = dropzone.matches(config.yScrollParent)\n\t\t\t? dropzone\n\t\t\t: closestDeep(dropzone, config.yScrollParent);\n\n\t\tif (sortable.scroll.yElem) {\n\t\t\tsortable.maxYScroll = sortable.scroll.yElem.scrollHeight;\n\t\t}\n\t}\n\n\tfunction getItemRect(item) {\n\t\t// left and top position should be with respect to the parent where the clone appends\n\t\tconst relativeParent = config.cloneAppendTo\n\t\t\t? getElement(config.cloneAppendTo)\n\t\t\t: document.body;\n\t\treturn getRelativePosition(item, relativeParent);\n\t}\n\n\t/**\n\t * RULES:\n\t * (just going to write things as I decide them and want to stick to them\n\t *\n\t * 1. There is a mandatory 'dropzone' and there is an optional 'extendedDropzone'.\n\t * 2. 'dropzone' is always the container whose children are sortable elements\n\t * 3. 'extendedDropzone' can be a super parent to `dropzone`, only intended to allow\n\t * \t   flexible drop locations.\n\t * 4. Responsibility of the adapters to decide the current active 'dropzone'\n\t * 5. 'extendedDropzone' doesn't seem useful in Keyboard sortable interaction\n\t * 6. Only one \"sort\" action is allowed per window i.e. you cannot leave a sort (say by\n\t * \t\tkeyboard) in progress and then start sorting another list by mouse/touch. The first\n\t * \t\tone will be cancelled.\n\t * */\n\n\t// DOM Manipulations here\n\tfunction render_PixelChange(event, config) {\n\t\t// Step 1: Check if dx and dy will require scroll, if yes, perform it and get adjusted dx, dy\n\t\tlet { dx, dy } = sortable.clone.position;\n\t\tconst { scrollX, scrollY } = handleAutoScroll(\n\t\t\tconfig,\n\t\t\tsortable.clone.element,\n\t\t\tsortable.scroll.xElem,\n\t\t\tsortable.scroll.yElem,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tevent\n\t\t);\n\n\t\t// Step 2: Move the dragging clone element there\n\t\tconst { position } = sortable.clone;\n\n\t\tif (config.followMouseForAutoScroll) {\n\t\t\tdx = dx + scrollX;\n\t\t\tdy = dy + scrollY;\n\t\t}\n\n\t\tposition.x += dx;\n\t\tposition.y += dy;\n\n\t\tsetValidYPosition(sortable, position);\n\n\t\ttransformClonePosition(sortable.clone.element, position.x, position.y);\n\n\t\t// Step 3: Set the direction of the move\n\t\tsetMoveDirection(dx, dy);\n\n\t\tsetDirectionStylesOnClone();\n\n\t\t// Step 4: Predict the position of the placeholder and update placeholder\n\t\tconst elemsInCurrentDropzone = getSortableElements(sortable.dropzone);\n\n\t\tpredictDestPlaceholder(\n\t\t\tsortable.clone.element,\n\t\t\telemsInCurrentDropzone,\n\t\t\tsortable.dropzone,\n\t\t\tsortable.extendedDropzone,\n\t\t\tsortable.placeholders.src,\n\t\t\tsortable.placeholders.dest,\n\t\t\tsortable.listOrder\n\t\t);\n\n\t\t// Placeholders are in place, the clone has been moved to its position, content has been scrolled\n\t\t// We are done with the changes to the DOM\n\t}\n\n\t// DOM Manipulations here\n\tfunction render_PositionChange(event) {\n\t\tconst { newIndex } = sortable;\n\t\tconst isSourcePosition = () =>\n\t\t\tnewIndex === sortable.dataTransfer.sourceIndex &&\n\t\t\tsortable.dropzone === sortable.dataTransfer.sourceParent;\n\n\t\t// Step 1: Based on the index, put the destination placeholder somewhere\n\t\tlet destRect = null;\n\t\tif (isSourcePosition()) {\n\t\t\t// No placeholder since the location is same as the starting index\n\t\t\tremoveDestPlaceholders();\n\t\t\tdestRect = getItemRect(sortable.placeholders.src);\n\t\t} else {\n\t\t\t// When 'position' updates happen, both \"placeholder\" and \"clone\" will be moved together\n\t\t\tconst inserted = insertPlaceholderAtIndex(\n\t\t\t\tsortable.dropzone,\n\t\t\t\tnewIndex,\n\t\t\t\tgetSortableItemsSelector(),\n\t\t\t\tsortable.placeholders.dest\n\t\t\t);\n\t\t\tdestRect = getItemRect(\n\t\t\t\tinserted\n\t\t\t\t\t? sortable.placeholders.dest\n\t\t\t\t\t: sortable.placeholders.src\n\t\t\t);\n\t\t}\n\n\t\t// Step 2: Use the destination placeholder's position and current clone positon to get dx, dy\n\t\tconst clonePosition = getItemRect(sortable.clone.element);\n\t\tconst dx = destRect.left - clonePosition.left;\n\t\tconst dy = destRect.top - clonePosition.top;\n\n\t\t// Step 3: Run the dx and dy through auto-scroll handler to get adjusted dx and dy.\n\t\t// Also the scrolling will be done if needed\n\t\tconst { scrollX, scrollY } = handleAutoScroll(\n\t\t\tconfig,\n\t\t\tsortable.clone.element,\n\t\t\tsortable.scroll.xElem,\n\t\t\tsortable.scroll.yElem,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tevent\n\t\t);\n\n\t\t// Step 4: Update the position of the clone on UI\n\t\tconst { position } = sortable.clone;\n\t\tposition.x = scrollX !== 0 ? null : destRect.left + 5;\n\t\tposition.y = scrollY !== 0 ? null : destRect.top + 5;\n\t\tsetClonePosition(sortable.clone.element, position.y, position.x);\n\n\t\t// Step 5: Set the direction of the move\n\t\tsetMoveDirection(dx, dy);\n\n\t\tsetDirectionStylesOnClone();\n\t}\n\n\tfunction isValidIndex(index) {\n\t\treturn (\n\t\t\tindex >= sortable.minPostionableIndex &&\n\t\t\tindex <= sortable.maxPositionableIndex\n\t\t);\n\t}\n\n\treturn {\n\t\tconfig,\n\t\tonStart(event) {\n\t\t\t// TODO: If there is already an active draggable in this session, complete it or cancel it!\n\t\t\tsortable.targetElement = getTargetElem(event, config);\n\t\t\tconst { minIndex, maxIndex } = getValidRange(\n\t\t\t\tsortable.targetElement,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tsortable.minPostionableIndex = minIndex;\n\t\t\tsortable.maxPositionableIndex = maxIndex;\n\n\t\t\tsortable.clone.element = createAndInsertClone(\n\t\t\t\tsortable.targetElement,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!sortable.clone.element) throw new Error('Invalid drag clone');\n\n\t\t\t// Create source placeholder\n\t\t\tif (isFunction(config.customSourcePlaceholder))\n\t\t\t\tsortable.placeholders.src = config.customSourcePlaceholder.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tsortable.placeholders.src = createPlaceholder(\n\t\t\t\t\tconfig.tagSourcePlaceholder,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\n\t\t\taddSortableSrcPlaceholderClass(sortable.placeholders.src);\n\n\t\t\t// Create destination placeholder\n\t\t\tif (isFunction(config.customDestPlaceholder))\n\t\t\t\tsortable.placeholders.dest = config.customDestPlaceholder.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tsortable.placeholders.dest = createPlaceholder(\n\t\t\t\t\tconfig.tagDestPlaceholder,\n\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\tconfig.destPlaceholderText\n\t\t\t\t);\n\n\t\t\taddSortableDestPlaceholderClass(sortable.placeholders.dest);\n\n\t\t\t// Hide the original element, and show placeholder instead\n\t\t\tif (!config.shouldNotHideTargetElement) {\n\t\t\t\thideTargetElem();\n\t\t\t\tinsertAfter(sortable.placeholders.src, sortable.targetElement);\n\t\t\t}\n\t\t\tif (isFunction(config.onSrcPlaceholderInsert))\n\t\t\t\tconfig.onSrcPlaceholderInsert.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\tsortable.placeholders.src\n\t\t\t\t);\n\n\t\t\t// Update the dataTransfer info\n\t\t\tconst { dataTransfer } = sortable;\n\t\t\tdataTransfer.sourceIndex = elemIndex(sortable.targetElement);\n\t\t\tdataTransfer.sourceParent = config.dropzone\n\t\t\t\t? closestDeep(sortable.targetElement, config.dropzone)\n\t\t\t\t: sortable.targetElement.parentElement;\n\n\t\t\tdataTransfer.destinationIndex = dataTransfer.sourceIndex; // when it starts, dest is same as source\n\t\t\tdataTransfer.destinationParent = dataTransfer.sourceParent;\n\t\t\tdataTransfer.element = sortable.targetElement;\n\n\t\t\t// Set initial dropzones and scrolling parents (these can change later)\n\t\t\tsortable.dropzone = dataTransfer.sourceParent; // the parent of items\n\t\t\tif (config.extendedDropzone) {\n\t\t\t\t// TODO: why should sortable care about \"extendedDropzone\"?\n\t\t\t\tsortable.extendedDropzone = closestDeep(\n\t\t\t\t\tsortable.dropzone,\n\t\t\t\t\tconfig.extendedDropzone\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateScrollParents();\n\n\t\t\tsortable.active = true;\n\t\t\tdispatch(config.actionPrefix + SORT_START, sortable.dataTransfer);\n\t\t},\n\t\tonMove(dx, dy, event) {\n\t\t\tconst { position } = sortable.clone;\n\t\t\tposition.dx = dx;\n\t\t\tposition.dy = dy;\n\t\t\tthis.render(event);\n\t\t},\n\t\tonPositionChange(newIndex) {\n\t\t\t// param can instead be a new location (index)\n\t\t\tif (!isValidIndex(newIndex)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsortable.newIndex = newIndex; // this is the new position in the current 'dropzone'\n\t\t\tthis.render();\n\t\t},\n\t\tonEnd(success = true) {\n\t\t\tremoveClone();\n\t\t\t// TODO: Instead of removing the placeholder immediately, try to\n\t\t\t// animate it to the destination position to avoid a flicker of sudden removal\n\t\t\tremoveDestPlaceholders();\n\t\t\tremoveSrcPlaceholders();\n\t\t\t// removeTransitions();\n\t\t\tresetTargetElemStyles();\n\n\t\t\tdispatch(\n\t\t\t\tconfig.actionPrefix + (success ? SORT_END : SORT_CANCELLED),\n\t\t\t\tsortable.dataTransfer\n\t\t\t);\n\n\t\t\tresetSortableData();\n\t\t},\n\t\trender(event) {\n\t\t\tconst { dx, dy } = sortable.clone.position;\n\n\t\t\tif (dx !== null || dy !== null) {\n\t\t\t\trender_PixelChange(event, config);\n\t\t\t\tsortable.clone.position.dx = null;\n\t\t\t\tsortable.clone.position.dy = null;\n\t\t\t} else if (sortable.newIndex != null) {\n\t\t\t\trender_PositionChange(event);\n\t\t\t\tsortable.newIndex = null;\n\t\t\t}\n\n\t\t\tlet parent = sortable.placeholders.dest.parentElement;\n\t\t\tlet newDropIndex = getDropPosition(sortable.placeholders.dest);\n\t\t\tif (newDropIndex === -1) {\n\t\t\t\tnewDropIndex = getSourcePosition(sortable.placeholders.src);\n\t\t\t\tparent = sortable.placeholders.src.parentElement;\n\t\t\t}\n\n\t\t\tlet newDropPosition;\n\t\t\tif (parent)\n\t\t\t\tnewDropPosition = parent\n\t\t\t\t\t.getRootNode()\n\t\t\t\t\t.host.getAttribute('component-id');\n\n\t\t\tnewDropPosition += `_${newDropIndex}`;\n\n\t\t\tif (newDropPosition !== sortable.dropPosition) {\n\t\t\t\tdispatch(config.actionPrefix + DROP_AREA_CHANGE, {\n\t\t\t\t\toldPosition: sortable.dropIndex,\n\t\t\t\t\tnewPosition: newDropIndex,\n\t\t\t\t\tdropzone: sortable.dropzone,\n\t\t\t\t\ttargetElement: sortable.targetElement,\n\t\t\t\t});\n\n\t\t\t\tif (isFunction(config.onDestPlaceholderInsert))\n\t\t\t\t\tconfig.onDestPlaceholderInsert.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\t\tsortable.placeholders.src,\n\t\t\t\t\t\tsortable.placeholders.dest,\n\t\t\t\t\t\tnewDropIndex\n\t\t\t\t\t);\n\n\t\t\t\tsortable.dropIndex = newDropIndex;\n\t\t\t\tsortable.dropPosition = newDropPosition;\n\t\t\t}\n\n\t\t\t// Update the dragData in the event\n\t\t\tconst updatedDragData = sortable.dataTransfer;\n\t\t\t// TODO: 'placeholderParent' below is same as 'sortable.dropzone', confirm and remove this check\n\t\t\tconst placeholderParent = config.dropzone\n\t\t\t\t? closestDeep(sortable.placeholders.dest, config.dropzone)\n\t\t\t\t: sortable.placeholders.dest.parentElement;\n\n\t\t\tif (placeholderParent) {\n\t\t\t\tupdatedDragData.destinationParent = placeholderParent;\n\t\t\t\tif (sortable.dropIndex !== -1)\n\t\t\t\t\tupdatedDragData.destinationIndex = sortable.dropIndex;\n\t\t\t} else {\n\t\t\t\t// Placeholder is not shown anywhere, so the droppable area will be the source parent\n\t\t\t\tupdatedDragData.destinationParent =\n\t\t\t\t\tupdatedDragData.sourceParent;\n\t\t\t\tupdatedDragData.destinationIndex = updatedDragData.sourceIndex;\n\t\t\t}\n\t\t\tsortable.dataTransfer = updatedDragData;\n\t\t},\n\t\tupdateConfig(newConfig) {\n\t\t\tconfig = {\n\t\t\t\t...config,\n\t\t\t\t...newConfig,\n\t\t\t};\n\t\t},\n\t\tsetActiveDropzone(activeDropzone) {\n\t\t\tsortable.dropzone = activeDropzone;\n\t\t\tupdateScrollParents();\n\t\t\tthis.render();\n\t\t},\n\t\tsetActiveIndex(index) {\n\t\t\tsortable.newIndex = index;\n\t\t},\n\t\tgetDataTransfer() {\n\t\t\treturn sortable.dataTransfer;\n\t\t},\n\t\tsetDataTransfer(data) {\n\t\t\tif (isValidIndex(data.tempMoveIndex)) {\n\t\t\t\tsortable.dataTransfer = {\n\t\t\t\t\t...sortable.dataTransfer,\n\t\t\t\t\t...data,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tuuid() {\n\t\t\treturn sortable.uuid;\n\t\t},\n\t\tisActive() {\n\t\t\treturn sortable.active;\n\t\t},\n\t};\n};\n","import find from 'lodash/find';\n\nimport { querySelectorAllDeep } from '../../../dom-utils';\nimport DIRECTIONS from '../../../utils/directions';\n\nconst distance = (\n\t/** @type {DOMRect} */ rectA,\n\t/** @type {DOMRect} */ rectB\n) => {\n\treturn Math.abs(\n\t\tMath.sqrt(\n\t\t\tMath.pow(rectA.left - rectB.left, 2) +\n\t\t\t\tMath.pow(rectA.top - rectB.top, 2)\n\t\t)\n\t);\n};\n\n/**\n * This is similar to the visual navigation approach. Based on a direction, this returns a sortable dropzone to\n * jump to when navigating across sortable lists using keyboard.\n *\n * */\nexport const nextVisualDropzone = (\n\t/** @type {HTMLElement} */ el,\n\t/** @type {{ connectedLists: string; }} */ config,\n\t/** @type {{ getDataTransfer: () => any; setDataTransfer: (arg0: { activeConnectedList: HTMLElement; }) => void; }} */ sortable,\n\t/** @type {symbol} */ direction\n) => {\n\tconst dataTransfer = sortable.getDataTransfer();\n\tconst { activeConnectedList } = dataTransfer;\n\tlet relativeElement = null;\n\n\tif (!activeConnectedList) {\n\t\t// We are currently on the 'el' (main) list\n\t\trelativeElement = el;\n\t} else {\n\t\t// We have already moved to a different connected list\n\t\trelativeElement = activeConnectedList;\n\t}\n\n\tconst relativeElRect = relativeElement.getBoundingClientRect();\n\n\tconst connectedLists = querySelectorAllDeep(\n\t\tconfig.connectedLists,\n\t\t// @ts-ignore\n\t\tnull,\n\t\tfalse\n\t);\n\t// @ts-ignore\n\tconst elInConnectedLists = find(connectedLists, (cl) => cl === el);\n\tif (!elInConnectedLists) connectedLists.push(el);\n\n\tconst cListWithRects = connectedLists.map((cl) => ({\n\t\telement: cl,\n\t\trect: cl.getBoundingClientRect(),\n\t}));\n\tlet nextList = null;\n\tswitch (direction) {\n\t\tcase DIRECTIONS.DOWN: {\n\t\t\t// Get elements that are strictly below this current list\n\t\t\tconst lowerElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.top) >= Math.round(relativeElRect.bottom)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's left\n\t\t\tnextList = lowerElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tcase DIRECTIONS.UP: {\n\t\t\tconst upperElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.bottom) <= Math.round(relativeElRect.top)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's left\n\t\t\tnextList = upperElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\t\tcase DIRECTIONS.RIGHT: {\n\t\t\tconst rightElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.left) >= Math.round(relativeElRect.right)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's top\n\t\t\tnextList = rightElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tcase DIRECTIONS.LEFT: {\n\t\t\tconst leftElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.right) <= Math.round(relativeElRect.left)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's top\n\t\t\tnextList = leftElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tdefault:\n\t\t\treturn;\n\t}\n\n\tif (nextList) {\n\t\tsortable.setDataTransfer({\n\t\t\tactiveConnectedList: nextList.element,\n\t\t});\n\t\treturn nextList.element;\n\t}\n\n\treturn nextList;\n};\n","// @ts-nocheck\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorDeep } from '../../../dom-utils';\nimport DIRECTIONS from '../../../utils/directions';\nimport { LIST_ORDER, sortInteraction } from '../../core';\n\nimport { nextVisualDropzone } from './visual-next';\n\nconst DEFAULT_KEYBOARD_CONFIG = {};\n\nconst KEYS = {\n\tESCAPE: 'Escape',\n\tARROW_UP: 'ArrowUp',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_LEFT: 'ArrowLeft',\n\tENTER: 'Enter',\n\tSPACE_CODE: 32,\n};\n\nexport const isSortStartTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.start', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.altKey && event.which === KEYS.SPACE_CODE;\n};\n\nexport const isSortCompleteTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.end', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.key === KEYS.ENTER;\n};\n\nexport const isSortCancelTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.cancel', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.key === KEYS.ESCAPE;\n};\n\nexport const isSortableUpdateKey = (event) => {\n\treturn (\n\t\tevent.key === KEYS.ARROW_RIGHT ||\n\t\tevent.key === KEYS.ARROW_LEFT ||\n\t\tevent.key === KEYS.ARROW_UP ||\n\t\tevent.key === KEYS.ARROW_DOWN\n\t);\n};\n\nexport const isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\nexport const keyboardSortHandler = (\n\tevent,\n\tconfig,\n\tel,\n\tsortable,\n\tinProgress,\n\taddGlobalKeyHandlers,\n\tremoveGlobalKeyHandlers\n) => {\n\tif (isSortStartTrigger(event, config) && !sortable.isActive()) {\n\t\t// space\n\t\tsortable.onStart(event);\n\t\tinProgress.value = true;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t// Add listeners on the board level for continuing the sort interaction\n\t\taddGlobalKeyHandlers();\n\t} else if (isSortCancelTrigger(event, config) && sortable.isActive()) {\n\t\t// Complete sorting\n\t\tsortable.onEnd(false);\n\t\tinProgress.value = false;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tremoveGlobalKeyHandlers();\n\t} else if (isSortCompleteTrigger(event, config) && sortable.isActive()) {\n\t\t// Cancel sorting\n\t\tsortable.onEnd(true);\n\t\tinProgress.value = false;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tremoveGlobalKeyHandlers();\n\t} else if (\n\t\tinProgress.value &&\n\t\tsortable.isActive() &&\n\t\tisSortableUpdateKey(event)\n\t) {\n\t\tconst { sourceIndex, tempMoveIndex } = sortable.getDataTransfer();\n\t\tconst currentIndex =\n\t\t\ttempMoveIndex == null ? sourceIndex : tempMoveIndex;\n\n\t\t// Skip all other keys\n\t\tif (config.listOrder === LIST_ORDER.VERTICAL) {\n\t\t\thandleVerticalSort(event, sortable, currentIndex, el, config);\n\t\t} else if (config.listOrder === LIST_ORDER.HORIZONTAL) {\n\t\t\thandleHorizontalSort(event, sortable, currentIndex, el, config);\n\t\t}\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t} else {\n\t\t// Unhandled key event\n\t}\n};\n\nexport const handleVerticalSort = (\n\tevent,\n\tsortable,\n\tcurrentIndex,\n\tel,\n\tconfig\n) => {\n\tswitch (event.key) {\n\t\tcase KEYS.ARROW_DOWN:\n\t\t\tsortable.onPositionChange(currentIndex + 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex + 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_UP:\n\t\t\tsortable.onPositionChange(currentIndex - 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex - 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_RIGHT:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.RIGHT);\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_LEFT:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.LEFT);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const handleHorizontalSort = (\n\tevent,\n\tsortable,\n\tcurrentIndex,\n\tel,\n\tconfig\n) => {\n\tswitch (event.key) {\n\t\tcase KEYS.ARROW_RIGHT:\n\t\t\tsortable.onPositionChange(currentIndex + 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex + 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_LEFT:\n\t\t\tsortable.onPositionChange(currentIndex - 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex - 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_DOWN:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.DOWN);\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_UP:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.UP);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const moveToNextSortableList = (el, config, sortable, direction) => {\n\tconst nextSortableList = nextVisualDropzone(\n\t\tel,\n\t\tconfig,\n\t\tsortable,\n\t\tdirection\n\t);\n\tif (nextSortableList) {\n\t\tconst nextDropzone = querySelectorDeep(\n\t\t\tconfig.dropzone,\n\t\t\tnextSortableList\n\t\t);\n\t\tsortable.setActiveIndex(0);\n\t\tsortable.setActiveDropzone(nextDropzone);\n\t\tsortable.setDataTransfer({ tempMoveIndex: 0 });\n\t}\n};\n\nexport const initAdapter = (config, el, sortable) => {\n\tconst inProgress = { value: false }; // Use an object to ensure mutability in closure\n\n\tconst addGlobalKeyHandlers = () => {\n\t\tdocument.body.addEventListener('keydown', (event) =>\n\t\t\tkeyboardSortHandler(\n\t\t\t\tevent,\n\t\t\t\tconfig,\n\t\t\t\tel,\n\t\t\t\tsortable,\n\t\t\t\tinProgress,\n\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t)\n\t\t);\n\t};\n\n\tconst removeGlobalKeyHandlers = () => {\n\t\tdocument.body.removeEventListener('keydown', (event) =>\n\t\t\tkeyboardSortHandler(\n\t\t\t\tevent,\n\t\t\t\tconfig,\n\t\t\t\tel,\n\t\t\t\tsortable,\n\t\t\t\tinProgress,\n\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t)\n\t\t);\n\t};\n\n\tconst initSortable = (options) => {\n\t\tconst { items = null, elems = [] } = options;\n\t\tif (!items)\n\t\t\tthrow 'Cannot initialize keyboard adapter for sorting without items';\n\n\t\telems.forEach((elem) => {\n\t\t\tif (!isDraggable(elem, options)) return;\n\n\t\t\tif (options.handle) {\n\t\t\t\tconst handleElem = querySelectorDeep(options.handle, elem);\n\t\t\t\tif (handleElem) {\n\t\t\t\t\thandleElem.addEventListener('keydown', (event) =>\n\t\t\t\t\t\tkeyboardSortHandler(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tconfig,\n\t\t\t\t\t\t\tel,\n\t\t\t\t\t\t\tsortable,\n\t\t\t\t\t\t\tinProgress,\n\t\t\t\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telem.addEventListener('keydown', (event) =>\n\t\t\t\t\tkeyboardSortHandler(\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tel,\n\t\t\t\t\t\tsortable,\n\t\t\t\t\t\tinProgress,\n\t\t\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t};\n\tinitSortable(config);\n};\n\nexport default (el, dispatch) => {\n\tlet sortable = null;\n\treturn {\n\t\tinit(config) {\n\t\t\tsortable = sortInteraction(config, dispatch);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_KEYBOARD_CONFIG,\n\t\t\t\t\t...config,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tsortable\n\t\t\t);\n\t\t},\n\t\tupdate(newConfig) {\n\t\t\tsortable.updateConfig(newConfig);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_KEYBOARD_CONFIG,\n\t\t\t\t\t...newConfig,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tsortable\n\t\t\t);\n\t\t},\n\t\treset() {\n\t\t\t// TODO\n\t\t},\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_interactjs_1_9_7_index_jsdbx_6b757c25__[\"default\"][\"default\"];\n\t\t\t\t} });","// @ts-nocheck\nimport interact from 'interactjs';\nimport findIndex from 'lodash/findIndex';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * A publish-subscribe approach to handling multiple dropzone listeners on same element.\n *\n * A given element (like a lane) can be a dropzone for multiple sortable lists. In this case, if each\n * sortable lists registers the 'drop' event listeners on the lane, then there will be many duplicate listeners.\n * So, this will register the 'drop' events once on an element, and then publish the messages to\n * all the subscribers.\n *\n * */\nconst handlers = {};\n\nexport const registerDropzone = (el, allowFrom, callbacks) => {\n\tif (el.__dropzone_subscribers__) {\n\t\t// already registered\n\t\thandlers[el.__dropzone_subscribers__].push(callbacks);\n\t} else {\n\t\tconst id = el.id || el.componentId || uuidv4();\n\t\thandlers[id] = handlers[id] || [];\n\t\thandlers[id].push(callbacks);\n\t\tel.__dropzone_subscribers__ = id;\n\n\t\t// actually add listener on element using interactjs\n\t\tcreateDropzone(el, allowFrom);\n\t}\n\treturn {\n\t\telement: el,\n\t\tcallbacks,\n\t};\n};\n\nexport const unregisterDropzone = (el, callbacks) => {\n\tif (el.__dropzone_subscribers__) {\n\t\t// already registered\n\t\tconst subscribers = handlers[el.__dropzone_subscribers__];\n\t\tconst idx = findIndex(subscribers, (cb) => cb === callbacks);\n\t\tif (idx !== -1) subscribers.splice(idx, 1);\n\n\t\tif (subscribers.length === 0) removeDropzone(el);\n\t}\n};\n\nconst createDropzone = (el, allowFrom) => {\n\tconst key = el.__dropzone_subscribers__;\n\tinteract(el).dropzone({\n\t\taccept: allowFrom,\n\t\tondragenter(event) {\n\t\t\tconst subscribers = handlers[key];\n\t\t\tsubscribers.forEach((subs) => {\n\t\t\t\tconst dragEnterFn = subs['onDragEnter'];\n\t\t\t\tif (!dragEnterFn) return;\n\t\t\t\tdragEnterFn.call(null, event);\n\t\t\t});\n\t\t},\n\t});\n};\n\nconst removeDropzone = (el) => {\n\tconst key = el.__dropzone_subscribers__;\n\thandlers[key] = [];\n\n\tinteract(el).dropzone(false);\n};\n","// @ts-nocheck\nimport interact from 'interactjs';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorAllDeep, querySelectorDeep } from '../../../dom-utils';\nimport { sortInteraction } from '../../core';\n\nimport { withCancellation } from './cancel-sort';\nimport { registerDropzone, unregisterDropzone } from './dropzone-notifier';\n\ninteract.dynamicDrop(true);\n\nconst DEFAULT_IJS_CONFIG = {\n\tcursorChecker: () => 'grab',\n};\n\nconst DROPZONE_INIT_DELAY = 200; // ms\n\nexport function toggleUserSelector(enable, element = document.body) {\n\telement.style.userSelect = enable ? 'auto' : 'none';\n}\n\nexport function clearUserSelection() {\n\tif (document.selection) {\n\t\tdocument.selection.empty();\n\t} else {\n\t\twindow.getSelection().removeAllRanges();\n\t}\n}\n\nexport function isDraggableInitialized(elem, draggables) {\n\tconst elInteractable = find(draggables, (i) => i.target === elem);\n\tif (!elInteractable) return false;\n\n\treturn get(elInteractable, 'options.drag.enabled', false);\n}\n\nexport function isDroppableInitialized(elem, droppables) {\n\tconst elInteractable = find(droppables, (i) => i.element === elem);\n\treturn !!elInteractable;\n}\n\nconst events = {\n\tdrag: {\n\t\tadd(el, config) {\n\t\t\treturn interact(el).draggable(config);\n\t\t},\n\t\tremove(el) {\n\t\t\treturn interact(el).draggable(false);\n\t\t},\n\t},\n\tdrop: {\n\t\tadd(el, allowFrom, handlers) {\n\t\t\treturn registerDropzone(el, allowFrom, handlers);\n\t\t},\n\t\tremove(el, handlers) {\n\t\t\treturn unregisterDropzone(el, handlers);\n\t\t},\n\t},\n};\n\nexport const isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\nexport const initAdapter = (options, el, sortable, draggables, droppables) => {\n\tconst { elems = [], dropzone = null, extendedDropzone = null } = options;\n\t// Make 'items' draggable\n\n\t// TODO - Perf : This gets called so many times, and is slow. Need to optimize this\n\telems.forEach((elem) => {\n\t\t// TODO: Only make draggable based on \"condition\". Temporarily removing it\n\t\tif (!isDraggable(elem, options)) return;\n\n\t\tif (isDraggableInitialized(elem, draggables)) {\n\t\t\tconst elInteractable = find(draggables, (i) => i.target === elem);\n\t\t\telInteractable.__seen__ = true; // mark and sweep\n\t\t} else {\n\t\t\t// initializing sortable first time\n\t\t\telem.__sortable__ = sortable;\n\t\t\tconst interactable = events.drag.add(elem, options);\n\t\t\tinteractable.__seen__ = true;\n\t\t\tdraggables.push(interactable);\n\t\t}\n\t});\n\n\t// Make dropzones droppable\n\tconst sortableLists = [el];\n\tif (options.connectedLists) {\n\t\tconst connectedLists = querySelectorAllDeep(\n\t\t\toptions.connectedLists,\n\t\t\tnull,\n\t\t\tfalse\n\t\t);\n\t\tconnectedLists.forEach((cl) => {\n\t\t\tif (cl !== el) {\n\t\t\t\tsortableLists.push(cl);\n\t\t\t}\n\t\t});\n\t}\n\n\tif (extendedDropzone && !dropzone) {\n\t\tthrow new Error(\n\t\t\t'Extended dropzone cannot be used without a primary dropzone'\n\t\t);\n\t}\n\n\tif (!extendedDropzone && !dropzone) {\n\t\tthrow new Error('No dropzone specified for the sortable list');\n\t}\n\n\tconst dzSelector = extendedDropzone || dropzone;\n\n\tsortableLists.forEach((sortableListEl) => {\n\t\tconst droppableElem = sortableListEl.matches(dzSelector)\n\t\t\t? sortableListEl\n\t\t\t: querySelectorDeep(dzSelector, sortableListEl);\n\n\t\tif (!droppableElem) {\n\t\t\t// Suppress error message for now. Need to fix this as part UXF initialization issue,\n\t\t\t// where if condition is false initially, DnD is not initialised again\n\t\t\t// console.error(`Dropzone element matching ${dzSelector} not found`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isDroppableInitialized(droppableElem, droppables)) {\n\t\t\tconst dropInteractable = find(\n\t\t\t\tdroppables,\n\t\t\t\t(i) => i.element === droppableElem\n\t\t\t);\n\t\t\tdropInteractable.__seen__ = true;\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst droppable = events.drop.add(\n\t\t\t\t\tdroppableElem,\n\t\t\t\t\toptions.items,\n\t\t\t\t\t{\n\t\t\t\t\t\tonDragEnter(event) {\n\t\t\t\t\t\t\tconst draggedSortable = get(\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t'draggable.target.__sortable__'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!draggedSortable ||\n\t\t\t\t\t\t\t\tdraggedSortable.uuid() !== sortable.uuid()\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\tconst dropzone = options.extendedDropzone\n\t\t\t\t\t\t\t\t? querySelectorDeep(\n\t\t\t\t\t\t\t\t\t\toptions.dropzone,\n\t\t\t\t\t\t\t\t\t\tdroppableElem\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: droppableElem;\n\n\t\t\t\t\t\t\t// set activeDropzone to the area where card entered\n\t\t\t\t\t\t\tdraggedSortable.setActiveDropzone(dropzone);\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tdroppable.__seen__ = true;\n\t\t\t\tdroppables.push(droppable);\n\t\t\t}, DROPZONE_INIT_DELAY);\n\t\t}\n\t});\n\n\t// Remove unused draggables\n\tconst unseenDraggables = draggables.filter((d) => d.__seen__ == null);\n\tunseenDraggables.forEach((ud) => {\n\t\tevents.drag.remove(ud.target); // each 'ud' is an interaction object\n\t});\n\tdraggables.forEach((d) => {\n\t\tdelete d.__seen__;\n\t});\n\n\t// Remove unused droppables\n\tconst unseenDroppables = droppables.filter((d) => d.__seen__ == null);\n\tunseenDroppables.forEach((ud) => {\n\t\tevents.drop.remove(ud.element, ud.callbacks); // each 'ud' is a custom object with 'element' and 'handler' props\n\t});\n\tdroppables.forEach((d) => {\n\t\tdelete d.__seen__;\n\t});\n};\n\nexport default (el, dispatch) => {\n\tlet ijsSortable = null;\n\tconst draggables = []; // the items\n\tconst droppables = []; // the dropzones\n\n\t// mouse and touch responders\n\tconst listeners = withCancellation({\n\t\tstart: (event) => {\n\t\t\ttoggleUserSelector(false);\n\t\t\tijsSortable.onStart(event);\n\t\t},\n\t\tmove: (event) => {\n\t\t\tif (event.type !== 'dragmove') return;\n\n\t\t\tconst { dx, dy } = event;\n\t\t\tijsSortable.onMove(dx, dy, event);\n\t\t},\n\t\tend: (event) => {\n\t\t\ttoggleUserSelector(true);\n\t\t\tclearUserSelection();\n\t\t\tijsSortable.onEnd(!!event);\n\t\t},\n\t});\n\n\treturn {\n\t\tinit(config, isUpdate = false) {\n\t\t\tconfig.adapter = 'interactjs'; // for debugging\n\t\t\tijsSortable = sortInteraction(config, dispatch, isUpdate);\n\t\t\t// el.setAttribute('sortable-id', ijsSortable.uuid()); // for testing\n\n\t\t\t// Update the config here as needed for InteractJS\n\t\t\tif (config.restrict || config.restrictTo) {\n\t\t\t\tconfig.modifiers = [\n\t\t\t\t\tinteract.modifiers.restrict({\n\t\t\t\t\t\trestriction: querySelectorDeep(config.restrictTo) || el,\n\t\t\t\t\t}),\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tif (config.handle) {\n\t\t\t\tconfig.allowFrom = config.handle;\n\t\t\t}\n\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_IJS_CONFIG,\n\t\t\t\t\t...config,\n\t\t\t\t\tlisteners,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tijsSortable,\n\t\t\t\tdraggables,\n\t\t\t\tdroppables\n\t\t\t);\n\t\t},\n\t\tupdate(newConfig) {\n\t\t\tijsSortable.updateConfig(newConfig);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_IJS_CONFIG,\n\t\t\t\t\tlisteners,\n\t\t\t\t\t...newConfig,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tijsSortable,\n\t\t\t\tdraggables,\n\t\t\t\tdroppables\n\t\t\t);\n\t\t},\n\t\treset() {\n\t\t\tdraggables.forEach((ud) => {\n\t\t\t\tevents.drag.remove(ud.target); // each 'ud' is an 'interaction' object\n\t\t\t});\n\n\t\t\tdroppables.forEach((ud) => {\n\t\t\t\tevents.drop.remove(ud.element, ud.callbacks); // each 'ud' is a custom object with 'element' and 'callbacks' props\n\t\t\t});\n\t\t},\n\t};\n};\n","// @ts-nocheck\nexport const withCancellation = (listeners) => {\n\tlet escapeKeyListener = null,\n\t\tcancelled = false;\n\n\treturn {\n\t\t...listeners,\n\t\tstart: (event) => {\n\t\t\tlisteners.start.call(this, event);\n\t\t\t// Register an escape key listener\n\t\t\tescapeKeyListener = (e) => {\n\t\t\t\tif (e.code === 'Escape') {\n\t\t\t\t\tcancelled = true;\n\t\t\t\t\t// cancel the \"interaction\" of interactjs, which will lead to the \"end\" method below getting called\n\t\t\t\t\tevent.interaction && event.interaction.end();\n\t\t\t\t}\n\t\t\t};\n\t\t\tdocument.body.addEventListener('keydown', escapeKeyListener);\n\t\t},\n\t\tend: (event) => {\n\t\t\tlisteners.end.call(this, cancelled ? null : event);\n\t\t\t// Remove the escape key listener\n\t\t\tdocument.body.removeEventListener('keydown', escapeKeyListener);\n\t\t\tescapeKeyListener = null;\n\t\t\tcancelled = false;\n\t\t},\n\t};\n};\n","// @ts-nocheck\nimport { querySelectorAllDeep } from '../dom-utils';\n\nimport keyboardAdapter from './adapters/keyboard/keyboard-adapter';\nimport interactJsAdapter from './adapters/mouse-and-touch/interactjs-adapter';\nimport { ACTION_PREFIX, NS_DEFAULT_PLACEHOLDER } from './constants';\n\nconst DEFAULT_SORTABLE_CONFIG = {\n\tstartAxis: 'xy', // IJS?\n\tactionPrefix: ACTION_PREFIX,\n\txScrollParent: 'body',\n\tyScrollParent: 'body',\n\ttagSourcePlaceholder: NS_DEFAULT_PLACEHOLDER,\n\ttagDestPlaceholder: NS_DEFAULT_PLACEHOLDER,\n\t// interfaces choice\n\tdragSupport: true,\n\tkeyboardSupport: true,\n};\n\n/**\n * This is the intercept point that checks the config, and initializes the interfaces, like keyboard, touch, etc.\n * Also, will be responsible for handling the updates on 'props' and updating the behaviours accordingly.\n * TODO: Check if the prop updates are correctly being considered\n *\n * */\n// @ts-ignore\nexport default (el, dispatch, options) => {\n\tlet config = {\n\t\t...DEFAULT_SORTABLE_CONFIG,\n\t\t...options,\n\t};\n\n\t// Initialize adapters\n\t// @ts-ignore\n\tlet ijsAdapter = null,\n\t\t// @ts-ignore\n\t\tkeyAdapter = null;\n\n\tconst updateElements = (options) => {\n\t\tconst { items = null } = options;\n\t\t//Get the elements to be added to get drag and keyboard support\n\t\tconst elems = querySelectorAllDeep(items, el, false);\n\t\tconfig = {\n\t\t\t...config,\n\t\t\telems,\n\t\t};\n\t};\n\n\tupdateElements(options);\n\n\tif (config.dragSupport) {\n\t\t// Initialize InteractJS adapter\n\t\tijsAdapter = interactJsAdapter(el, dispatch);\n\t\tijsAdapter.init(config);\n\t}\n\n\tif (config.keyboardSupport) {\n\t\tkeyAdapter = keyboardAdapter(el, dispatch);\n\t\tkeyAdapter.init(config);\n\t}\n\n\treturn {\n\t\t// These are the controls over the sortable behaviour\n\t\t// @ts-ignore\n\t\tsetConfig(newConfig) {\n\t\t\tconfig = {\n\t\t\t\t...DEFAULT_SORTABLE_CONFIG,\n\t\t\t\t...options,\n\t\t\t\t...newConfig,\n\t\t\t};\n\t\t\tupdateElements(options);\n\t\t\treturn config;\n\t\t},\n\t\tupdate() {\n\t\t\t// @ts-ignore\n\t\t\tijsAdapter && ijsAdapter.update(config);\n\t\t\t// @ts-ignore\n\t\t\tkeyAdapter && keyAdapter.update(config);\n\t\t},\n\t\treset() {\n\t\t\t// Reset each adapter\n\t\t\t// @ts-ignore\n\t\t\tif (ijsAdapter && ijsAdapter.reset) ijsAdapter.reset();\n\n\t\t\t// @ts-ignore\n\t\t\tif (keyAdapter && keyAdapter.reset) keyAdapter.reset();\n\t\t},\n\t};\n};\n","// @ts-nocheck\nimport { actionTypes } from '@servicenow/ui-core';\nimport isFunction from 'lodash/isFunction';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { ACTION_PREFIX, UPDATE_BEHAVIOR } from './constants';\nimport sortable from './sortable';\n\nexport default {\n\tname: 'now-sortable',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: ({\n\t\t\t// @ts-ignore\n\t\t\taction,\n\t\t\t// @ts-ignore\n\t\t\thost,\n\t\t\t// @ts-ignore\n\t\t\tdispatch,\n\t\t\t// @ts-ignore\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst { options } = action.payload;\n\t\t\tlet config = options;\n\t\t\tconst { condition, dynamicConfig } = config;\n\n\t\t\t/**\n\t\t\t * This condition is evaluated only once during DOM load.\n\t\t\t * So if the condition returns false and sortable library doesn't initialize\n\t\t\t * because of that, it won't trigger again.\n\t\t\t */\n\t\t\tif (isFunction(condition)) {\n\t\t\t\tconst shouldInitialize = condition.call(null, host);\n\t\t\t\tif (!shouldInitialize) return;\n\t\t\t}\n\n\t\t\t// Some config might be dependent on props\n\t\t\tif (isFunction(dynamicConfig)) {\n\t\t\t\tconfig = {\n\t\t\t\t\t...config,\n\t\t\t\t\t...dynamicConfig.call(null, host),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _sortable = sortable(host, dispatch, config);\n\t\t\tupdateState({\n\t\t\t\tpath: `sortableInstance_${uuidv4()}`, // to keep multiple instances of sortable in same state\n\t\t\t\tvalue: {\n\t\t\t\t\tconfig,\n\t\t\t\t\tsortable: _sortable,\n\t\t\t\t},\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t// @ts-ignore\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ state, action, host }) => {\n\t\t\tconst { previousValue, value, name } = action.payload;\n\t\t\t// There could be multiple instances of \"sortable\" behavior on a single component. Each will have its\n\t\t\t// share of data in the component's state with different keys.\n\t\t\tconst sortableInstances = Object.keys(state).filter((key) =>\n\t\t\t\tkey.startsWith('sortableInstance_')\n\t\t\t);\n\n\t\t\tsortableInstances.forEach((instance) => {\n\t\t\t\tconst { config, sortable } = state[instance];\n\t\t\t\tif (!config) return;\n\n\t\t\t\tlet newConfig = { ...config };\n\t\t\t\tif (\n\t\t\t\t\tconfig.dynamicConfig &&\n\t\t\t\t\ttypeof config.dynamicConfig === 'function'\n\t\t\t\t) {\n\t\t\t\t\tnewConfig = {\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\t...config.dynamicConfig.call(null, host),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (isFunction(newConfig.condition)) {\n\t\t\t\t\tconst answer = newConfig.condition.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue\n\t\t\t\t\t);\n\t\t\t\t\tif (!answer) {\n\t\t\t\t\t\t// condition has changed to 'false', so reset the sortable state\n\t\t\t\t\t\tsortable && sortable.reset();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// TODO: If sortable is currently 'reset' and then the condition evaluates to true, re-initialise\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isFunction(config.shouldUpdate)) {\n\t\t\t\t\tconst shouldUpdate = config.shouldUpdate.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue,\n\t\t\t\t\t\tname\n\t\t\t\t\t);\n\t\t\t\t\tif (shouldUpdate === false) return false;\n\t\t\t\t}\n\n\t\t\t\tif (sortable) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsortable.setConfig(newConfig);\n\t\t\t\t\t\tsortable.update();\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Dispatch 'NOW_SORTABLE#UPDATE_BEHAVIOR' action to update the sortable instance again.\n\t\t */\n\t\t// @ts-ignore\n\t\t[ACTION_PREFIX + UPDATE_BEHAVIOR]: ({ state, host, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tconst sortableInstances = Object.keys(state).filter((key) =>\n\t\t\t\tkey.startsWith('sortableInstance_')\n\t\t\t);\n\n\t\t\tsortableInstances.forEach((instance) => {\n\t\t\t\tconst { config, sortable } = state[instance];\n\t\t\t\tif (!config) return;\n\n\t\t\t\tlet newConfig = {};\n\t\t\t\tif (isFunction(config.dynamicConfig)) {\n\t\t\t\t\tnewConfig = {\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\t...config.dynamicConfig.call(null, host),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// @ts-ignore\n\t\t\t\tif (isFunction(newConfig.condition)) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tconst answer = newConfig.condition.call(null, host);\n\t\t\t\t\tif (!answer) {\n\t\t\t\t\t\t// condition has changed to 'false', so reset the sortable state\n\t\t\t\t\t\tsortable && sortable.reset();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (sortable) {\n\t\t\t\t\tsortable.setConfig(newConfig);\n\t\t\t\t\tsortable.update();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n};\n","import sortableBehavior from './behavior';\nexport default sortableBehavior;\n","// Actions\nexport const ACTION_PREFIX = 'NOW_RESIZE#';\nexport const RESIZE_STARTED = 'RESIZE_STARTED';\nexport const RESIZE_COMPLETED = 'RESIZE_COMPLETED';\nexport const SIZE_UPDATED = 'SIZE_UPDATED';\n\nexport const DATA_HAS_RESIZE_INTERACTION = 'data-has-resize-interaction';\nexport const KEYBOARD_RESIZE_DELTA = 5;\nexport const ACTIVE_CLASS = 'resize_active';\n\nexport const DEFAULT_MIN_WIDTH = 0;\nexport const DEFAULT_MAX_WIDTH = Number.MAX_SAFE_INTEGER;\nexport const DEFAULT_MIN_HEIGHT = 0;\nexport const DEFAULT_MAX_HEIGHT = Number.MAX_SAFE_INTEGER;\n","import {\n\tDEFAULT_MAX_HEIGHT,\n\tDEFAULT_MAX_WIDTH,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_MIN_WIDTH,\n\tRESIZE_COMPLETED,\n\tRESIZE_STARTED,\n\tSIZE_UPDATED,\n} from './constants';\n\nexport const onStart = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; }): void; }} */ dispatch,\n\t/** @type {{ keyboardOptions?: { keyboardResizeDelta: any; activeClass: any; }; actionPrefix?: any; }} */ options\n) => {\n\tconst { actionPrefix } = options;\n\tdispatch(actionPrefix + RESIZE_STARTED, { domEvent: event });\n};\nexport const updateSize = (\n\t/** @type {HTMLElement} */ element,\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ width: any; height: any; }} */ size,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; size: any; }): void; }} */ dispatch,\n\t/**\n\t * @type {{\n\t * \tkeyboardOptions?: { keyboardResizeDelta: any; activeClass: any; };\n\t * \tactionPrefix?: any;\n\t * \tonbeforeupdate?: any;\n\t * \tminWidth?: any;\n\t * \tmaxWidth?: any;\n\t * \tminHeight?: any;\n\t * \tmaxHeight?: any;\n\t * }}\n\t */ options\n) => {\n\tlet { minWidth, maxWidth, minHeight, maxHeight } = options;\n\tconst { actionPrefix, onbeforeupdate } = options;\n\n\tminWidth = minWidth || DEFAULT_MIN_WIDTH;\n\tmaxWidth = maxWidth || DEFAULT_MAX_WIDTH;\n\tminHeight = minHeight || DEFAULT_MIN_HEIGHT;\n\tmaxHeight = maxHeight || DEFAULT_MAX_HEIGHT;\n\t// any asynchrnous work that needs to be done before the update can be done here\n\tonbeforeupdate && onbeforeupdate(event);\n\tif (size.width) {\n\t\tif (size.width < minWidth) {\n\t\t\telement.style.width = `${minWidth}px`;\n\t\t} else if (size.width > maxWidth) {\n\t\t\telement.style.width = `${maxWidth}px`;\n\t\t} else {\n\t\t\telement.style.width = `${size.width}px`;\n\t\t}\n\t}\n\tif (size.height) {\n\t\tif (size.height < minHeight) {\n\t\t\telement.style.height = `${minHeight}px`;\n\t\t} else if (size.height > maxHeight) {\n\t\t\telement.style.height = `${maxHeight}px`;\n\t\t} else {\n\t\t\telement.style.height = `${size.height}px`;\n\t\t}\n\t}\n\t/**\n\t *if we send event in payload and call preventDefault before\n\t *seismic is not executing the action handlers so changed the name to domEvent instead of event\n\t */\n\tdispatch(actionPrefix + SIZE_UPDATED, { domEvent: event, size });\n};\nexport const onResizeComplete = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; }): void; }} */ dispatch,\n\t/** @type {{ keyboardOptions?: { keyboardResizeDelta: any; activeClass: any; }; actionPrefix?: any; }} */ options\n) => {\n\tconst { actionPrefix } = options;\n\n\tdispatch(actionPrefix + RESIZE_COMPLETED, { domEvent: event });\n};\n","import { onResizeComplete, onStart, updateSize } from './shared';\n\n// Keys\nconst KEY = {\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tENTER: 'Enter',\n\tESC: 'Esc',\n\tESCAPE: 'Escape',\n\tTAB: 'Tab',\n};\n\nconst HANDLE_DIRECTIONS = {\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\tTOP: 'top',\n\tDOWN: 'down',\n};\n\nexport const keyboardResizeHandler = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {HTMLElement} */ element,\n\t/** @type {string} */ direction,\n\t/** @type {{ keyboardOptions: { keyboardResizeDelta: any; activeClass: any; }; }} */ options,\n\t/** @type {any} */ dispatch\n) => {\n\tconst { keyboardResizeDelta, activeClass } = options.keyboardOptions;\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst resizeHandleElement = path[0];\n\tif (event.key === KEY.ENTER) {\n\t\tif (!resizeHandleElement.classList.contains(activeClass)) {\n\t\t\tresizeHandleElement.classList.add(activeClass);\n\t\t\tonStart(event, dispatch, options);\n\t\t}\n\t\treturn;\n\t} else if (\n\t\tevent.key === KEY.TAB ||\n\t\tevent.key === KEY.ESC ||\n\t\tevent.key === KEY.ESCAPE\n\t) {\n\t\tresizeHandleElement.classList.remove(activeClass);\n\t\tonResizeComplete(event, dispatch, options);\n\t\treturn;\n\t}\n\n\tif (!resizeHandleElement.classList.contains(activeClass)) return;\n\tlet currentWidth = null;\n\tlet currentHeight = null;\n\tconst size = {};\n\n\tswitch (event.key) {\n\t\tcase KEY.ARROW_LEFT:\n\t\tcase KEY.LEFT:\n\t\t\tcurrentWidth = parseFloat(window.getComputedStyle(element).width);\n\t\t\tif (direction === HANDLE_DIRECTIONS.RIGHT) {\n\t\t\t\tsize.width = currentWidth - keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.LEFT) {\n\t\t\t\tsize.width = currentWidth + keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_RIGHT:\n\t\tcase KEY.RIGHT:\n\t\t\tcurrentWidth = parseFloat(window.getComputedStyle(element).width);\n\t\t\tif (direction === HANDLE_DIRECTIONS.RIGHT) {\n\t\t\t\tsize.width = currentWidth + keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.LEFT) {\n\t\t\t\tsize.width = currentWidth - keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_DOWN:\n\t\tcase KEY.DOWN:\n\t\t\tcurrentHeight = parseFloat(window.getComputedStyle(element).height);\n\t\t\tif (direction === HANDLE_DIRECTIONS.TOP) {\n\t\t\t\tsize.height = currentHeight - keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.DOWN) {\n\t\t\t\tsize.height = currentHeight + keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_UP:\n\t\tcase KEY.UP:\n\t\t\tcurrentHeight = parseFloat(window.getComputedStyle(element).height);\n\t\t\tif (direction === HANDLE_DIRECTIONS.TOP) {\n\t\t\t\tsize.height = currentHeight + keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.DOWN) {\n\t\t\t\tsize.height = currentHeight - keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\tupdateSize(element, event, size, dispatch, options);\n};\n\nexport const addKeyboardSupport = (\n\t/** @type {HTMLElement} */ element,\n\t/** @type {{ keyboardOptions: any; }} */ options,\n\t/**\n\t * @type {{\n\t * \tdispatch: any;\n\t * \tupdateState?: Now.UpdateStateFunction<State>;\n\t * \tupdateProperties?: (propUpdate: Partial<Props>) => any;\n\t * \taction?: Now.Action<any, any>;\n\t * \tproperties?: Now.SeismicProps<Props>;\n\t * \tstate?: Now.SeismicState<Props, State>;\n\t * \thost?: Now.HostHTMLElement;\n\t * \tcollated?: { action: Now.Action<any, any>;\n\t * }[]; }}\n\t */ coeffects\n) => {\n\tconst { keyboardOptions } = options;\n\tconst { handles } = keyboardOptions;\n\tconst { dispatch } = coeffects;\n\n\tObject.values(HANDLE_DIRECTIONS).forEach((direction) => {\n\t\tconst handleSelector = handles[direction];\n\t\tconst resizeHandleElement =\n\t\t\thandleSelector && element.querySelector(handleSelector);\n\t\tif (resizeHandleElement) {\n\t\t\tresizeHandleElement.addEventListener('keydown', (\n\t\t\t\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event\n\t\t\t) => {\n\t\t\t\tkeyboardResizeHandler(\n\t\t\t\t\tevent,\n\t\t\t\t\telement,\n\t\t\t\t\tdirection,\n\t\t\t\t\toptions,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tACTION_PREFIX,\n\tACTIVE_CLASS,\n\tDATA_HAS_RESIZE_INTERACTION,\n\tKEYBOARD_RESIZE_DELTA,\n} from './constants';\nimport { addMouseSupport } from './interactjs';\nimport { addKeyboardSupport } from './keyboard';\n\nconst DEFAULT_EDGES = { left: false, top: false, right: true, bottom: true };\n\nconst DEFAULT_OPTIONS = {\n\tedges: DEFAULT_EDGES,\n\tmouseSupport: true,\n\tkeyboardSupport: false,\n\tkeyboardOptions: {\n\t\t// rate at which the width or height changes on each key stroke\n\t\tkeyboardResizeDelta: KEYBOARD_RESIZE_DELTA,\n\t\t// selector for each side eg: {left: 'slider-left', right: 'slider-right', top: 'slider-top'}\n\t\thandles: {},\n\t\t// class that will be added when enter is pressed on handle\n\t\tactiveClass: ACTIVE_CLASS,\n\t},\n};\n\n/**\n * @param {HTMLElement} element\n * @param {*} options\n * @param {Coeffects<Props,State>} coeffects\n */\nconst addResizeSupport = (element, options, coeffects) => {\n\tif (options.mouseSupport) {\n\t\taddMouseSupport(element, options, coeffects);\n\t}\n\tif (options.keyboardSupport) {\n\t\taddKeyboardSupport(element, options, coeffects);\n\t}\n};\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const initialize = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst { options } = action.payload;\n\tconst { selector, actionPrefix, keyboardOptions } = options;\n\tconst config = { ...DEFAULT_OPTIONS, ...options };\n\tconfig.actionPrefix = actionPrefix ?? ACTION_PREFIX;\n\tif (keyboardOptions)\n\t\tconfig.keyboardOptions = {\n\t\t\t...DEFAULT_OPTIONS.keyboardOptions,\n\t\t\t...keyboardOptions,\n\t\t};\n\tif (!selector) return;\n\tconst elements = host.shadowRoot?.querySelectorAll(selector);\n\tif (!elements) return;\n\tfor (let index = 0; index < elements.length; index++) {\n\t\tconst element = elements[index];\n\t\t// If we already added the interaction no need to add it again\n\t\tif (!element.getAttribute(DATA_HAS_RESIZE_INTERACTION)) {\n\t\t\t// Add resize support without blocking the main thread\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\taddResizeSupport(element, config, coeffects);\n\t\t\t\t// flag to stop adding the interaction multiple times\n\t\t\t\telement.setAttribute(DATA_HAS_RESIZE_INTERACTION, 'true');\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'now-resize',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_TREE_RENDERED]: initialize,\n\t},\n};\n","import interact from 'interactjs';\nimport throttle from 'lodash/throttle';\n\nimport { onResizeComplete, onStart, updateSize } from './shared';\n\n/**\n * @param {HTMLElement} element\n * @param {*} options\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const addMouseSupport = (element, options, coeffects) => {\n\tconst { dispatch } = coeffects;\n\tconst { edges, ...rest } = options;\n\n\t// Throttle the onmove event handler\n\t// On Column resize, the onmove event is triggered multiple times\n\t// @ts-ignore\n\tconst throttledOnMove = throttle((event) => {\n\t\tconst size = {};\n\t\tif (edges.left || edges.right) size.width = event.rect.width;\n\t\tif (edges.top || edges.bottom) size.height = event.rect.height;\n\n\t\tupdateSize(element, event, size, dispatch, options);\n\t}, 200);\n\n\tinteract(element).resizable({\n\t\tedges: edges,\n\t\tonstart(event) {\n\t\t\tonStart(event, dispatch, options);\n\t\t},\n\t\tonmove: throttledOnMove,\n\t\tonend(event) {\n\t\t\tonResizeComplete(event, dispatch, options);\n\t\t},\n\t\t// check the documentation for additional configuration : https://interactjs.io/docs/api/Interactable.html#resizable\n\t\t...rest,\n\t});\n};\n","import nowResizeBehavior from './resizingBehavior';\nexport default nowResizeBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const COLUMN_DRAG_HANDLE_CLASS = 'column-drag-handle';\n\nexport const NOW_LIST_COLUMN_REORDER_ACTION_PREFIX = 'NOW_LIST#COLUMN_REORDER#';\n\n/**\n * Actions dispatched from nowSortable\n */\nexport const NOW_LIST_COLUMN_REORDER_START = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_START`;\nexport const NOW_LIST_COLUMN_REORDER_END = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_END`;\nexport const NOW_LIST_COLUMN_REORDER_CANCELLED = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_CANCELLED`;\nexport const NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}DROP_AREA_CHANGE`;\n\nexport const NOW_LIST_COLUMNS_REORDERED = 'NOW_LIST#COLUMNS_REORDERED';\n\nexport const NOW_SORTABLE_UPDATE_BEHAVIOR = 'NOW_SORTABLE#UPDATE_BEHAVIOR';\n\nexport const COLUMN_ACTIVE_CLASS = 'column-active';\nexport const SOURCE_PLACEHOLDER_CLASS = 'column-source-placeholder';\nexport const DROP_AREA_DIVIDER_CLASS = 'column-drop-area-divider';\nexport const ACTIVE_DRAGGING_ITEM_CLASS = 'column-active-dragging-item';\n","export const ELLIPSIS_ICON = 'ellipsis-v-fill';\nexport const GROUP_TOGGLE_ICON = 'chevron-end-fill';\nexport const ROW_HIGHLIGHTED_CLASS = 'is-highlighted';\nexport const ROW_GRAYED_OUT_CLASS = 'is-grayed-out';\nexport const ROW_RECENT_UPDATED_CLASS = 'is-recently-updated';\nexport const DRAG_HANDLE_ICON = 'drag-dots-fill';\nexport const WHITESPACE_STRING_CLASS = 'preserve-whitespace';\n\n// indentation classes for first cell of each row\n// should be large for special columns when row drag is not present and padding is on,\n// should be small for data columns when padding is on\n// neither when padding is off\nexport const INCLUDE_LARGE_PADDING_CLASS = 'include-large-padding';\nexport const INCLUDE_SMALL_PADDING_CLASS = 'include-small-padding';\n\nexport const COL_SPAN_MAX = 100;\n","// @ts-ignore\nimport { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport camelCase from 'lodash/camelCase';\n\nimport { LIST_ICON_CACHE } from '../../../constants';\n\nconst ICON_SIZES = {\n\tsm: { pixelSize: 12, indexInSet: 0 },\n\tmd: { pixelSize: 16, indexInSet: 1 },\n\tlg: { pixelSize: 24, indexInSet: 2 },\n\txl: { pixelSize: 32, indexInSet: 3 },\n};\n\n// @ts-ignore\n/**\n * Async method to cache icons to localStorage.\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nconst cacheIcon = async (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\t// @ts-ignore\n\tconst iconKey = `${camelIconName}${getIconPixelSize(size)}`;\n\t// @ts-ignore\n\tconst iconService = window?.__TECTONIC__$servicenow_now_icon;\n\tif (iconService) {\n\t\tconst data = await iconService.getIcon(iconKey);\n\t\tif (data) {\n\t\t\tconst cacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\t\t\tconst parsedCache = JSON.parse(cacheString);\n\t\t\tparsedCache[iconKey] = data;\n\n\t\t\tlocalStorage.setItem(LIST_ICON_CACHE, JSON.stringify(parsedCache));\n\t\t\treturn data;\n\t\t}\n\t}\n\treturn null;\n};\n\n// @ts-ignore\n/**\n * Returns the HTML for the HTML icon alternative to now-icon\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getFakeNowIcon = (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\tconst pixelSize = getIconPixelSize(size);\n\tconst iconKey = `${camelIconName}${pixelSize}`;\n\tconst iconCacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\tconst iconCacheParsed = JSON.parse(iconCacheString);\n\tconst result = iconCacheParsed[iconKey];\n\tif (!result) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<div className=\"html-icon\" data-iconName={icon} data-iconSize={size}>\n\t\t\t<svg\n\t\t\t\tclass={{\n\t\t\t\t\t'now-icon': true,\n\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t}}\n\t\t\t\tkey={iconKey}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tattr-viewBox={`0 0 ${ICON_SIZES[size].pixelSize} ${ICON_SIZES[size].pixelSize}`}\n\t\t\t>\n\t\t\t\t{result\n\t\t\t\t\t? dangerouslyCreateElementFromString(`<g>${result}<\/g>`)\n\t\t\t\t\t: null}\n\t\t\t<\/svg>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Checks if a particular icon is in our list-icon-cache\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const iconIsCached = (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\tconst pixelSize = getIconPixelSize(size);\n\tconst iconKey = `${camelIconName}${pixelSize}`;\n\tconst iconCacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\tconst iconCacheParsed = JSON.parse(iconCacheString);\n\tconst isCached = !!(iconCacheParsed && iconCacheParsed[iconKey]);\n\n\tif (isCached) return true;\n\n\tcacheIcon(icon, size);\n\treturn false;\n};\n\n/**\n * Returns the number of pixels for a given size\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getIconPixelSize = (size) => {\n\t// @ts-ignore\n\tconst sizeObj = ICON_SIZES[size];\n\tif (!sizeObj) {\n\t\treturn undefined;\n\t}\n\tconst pixelSize = sizeObj['pixelSize'];\n\treturn pixelSize;\n};\n\n/**\n * Returns an object with the height and width in pixels for a given size to use\n * as the value for a style attribute.\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getIconHeightWidth = (size) => {\n\tconst pixelSize = `${getIconPixelSize(size)}px`;\n\treturn { width: pixelSize, height: pixelSize };\n};\n","import { ICON_SIZES } from '../../../constants';\nimport { DRAG_HANDLE_ICON } from '../table/tableConstants';\nimport '@servicenow/now-button';\n\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\n/**\n * @param {{className: string, ariaLabel?: string, ariaDescribedBy?: string, tooltip?: string}} props\n * @returns\n */\nexport const dragHandle = (props) => {\n\tconst { ariaLabel, className, ariaDescribedBy, tooltip } = props;\n\tconst { SMALL } = ICON_SIZES;\n\tconst testId = 'dragHandle';\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{iconIsCached(DRAG_HANDLE_ICON, SMALL) ? (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"drag-handle\"\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\tdata-testId={testId}\n\t\t\t\t>\n\t\t\t\t\t{getFakeNowIcon(DRAG_HANDLE_ICON, SMALL)}\n\t\t\t\t<\/button>\n\t\t\t) : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon={DRAG_HANDLE_ICON}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\thide-padding=\"true\"\n\t\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\t\tdata-testId={testId}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t\t'aria-describedby': ariaDescribedBy,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-button';\n\nimport {\n\tACTIVE_DRAGGING_ITEM_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n} from '../../../../../behaviors/columnDragDropBehavior/constants';\nimport { dragHandle } from '../../../shared/dragHandle';\n\nimport styles from './columnHeaderClone.scss';\n\nexport const COLUMN_HEADER_CLONE_TAG_NAME = 'now-list-column-header-clone';\n\n/**\n * Element used to display the column header being dragged during\n * the column reordering.\n */\n/** @type {View<{label: string, width: number; height: number}, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { label, width, height },\n\t} = props;\n\n\treturn (\n\t\t<th\n\t\t\tclassName={`${ACTIVE_DRAGGING_ITEM_CLASS} header-cell`}\n\t\t\tstyle={{ width, height }}\n\t\t>\n\t\t\t{dragHandle({ className: COLUMN_DRAG_HANDLE_CLASS })}\n\t\t\t{label}\n\t\t<\/th>\n\t);\n};\n\ncreateCustomElement('now-list-column-header-clone', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tlabel: { default: '' },\n\t\twidth: { default: 0 },\n\t\theight: { default: 0 },\n\t},\n});\n","import { closestDeep, removeNode, querySelectorDeep } from '../../commons';\nimport { SCROLL_CONTAINER_CLASS } from '../../constants';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { COLUMN_HEADER_CLONE_TAG_NAME } from '../../shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone';\n\nimport { DROP_AREA_DIVIDER_CLASS } from './constants';\n/**\n * @type {HTMLDivElement} Drop Area Divider element\n */\nlet dropAreaDivider;\n\n/**\n * Creates the dropAreaDivider element with height of scrollContainer on drag start\n * @param {HTMLTableCellElement} srcEl element being dragged\n * @returns\n */\nexport const createDropAreaDivider = (srcEl) => {\n\tdropAreaDivider = document.createElement('div');\n\tdropAreaDivider.classList.add(DROP_AREA_DIVIDER_CLASS);\n\tconst scrollContainer = closestDeep(srcEl, `.${SCROLL_CONTAINER_CLASS}`);\n\tif (scrollContainer) {\n\t\tdropAreaDivider.style.height = `${scrollContainer.clientHeight}px`;\n\t}\n\n\treturn dropAreaDivider;\n};\n\n/**\n * Checks if given element is a special column\n * @param {ChildNode | null} colEl\n * @returns\n */\nconst isSpecialColumnElement = (colEl) =>\n\tcolEl instanceof HTMLElement &&\n\tcolEl.dataset.columnKey &&\n\tcolumnSelectors.isSpecialColumnKey(colEl.dataset.columnKey);\n\n/**\n * Checks if destination placeholder is in the non droppable positions like\n * 1. Between the special columns, eg. Row actions and Row selection\n * 2. Before the special columns at the beginning\n * 3. After the special columns at the end\n * @param {HTMLElement} destEl\n * @returns {Boolean}\n */\nexport const isInDroppableZone = (destEl) => {\n\tconst nextColumn = destEl.nextSibling;\n\tconst isNextSpecialColumn = isSpecialColumnElement(nextColumn);\n\n\tconst previousColumn = destEl.previousSibling;\n\tconst isPreviousSpecialColumn = isSpecialColumnElement(previousColumn);\n\n\tif (isNextSpecialColumn && isPreviousSpecialColumn) {\n\t\t/**\n\t\t * 1. Between the special columns\n\t\t * [X]#[X]\n\t\t */\n\t\treturn false;\n\t} else if (isNextSpecialColumn && previousColumn == null) {\n\t\t/**\n\t\t * 2. Before the special columns at the beginning\n\t\t * #[X]\n\t\t */\n\t\treturn false;\n\t} else if (isPreviousSpecialColumn && nextColumn == null) {\n\t\t/**\n\t\t * 3. After the special columns at the end\n\t\t * [X]#\n\t\t */\n\t\treturn false;\n\t}\n\t// Droppable by default\n\treturn true;\n};\n\n/**\n * Element representing the drop area divider, a placeholder line where column can be dropped\n * always stays inside the nearest column header.\n * @param {HTMLElement} destEl\n */\nexport const attachDropAreaDivider = (destEl) => {\n\t// remove existing dividers if any\n\tremoveDropAreaDivider();\n\n\tif (!isInDroppableZone(destEl)) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Header cells / Columns\n\t * [X][__][__][__][__][X]\n\t * '#' = Destination Placeholder\n\t * '|' = Divider\n\t * 'X' = Special Columns\n\t */\n\tif (destEl.nextSibling) {\n\t\t/**\n\t\t * Placeholder before the columns\n\t\t *  [X][__]#[__][__][__][X]\n\t\t *  #[__][__][__][__][X]\n\t\t *  [__][__][__][__]#[X]\n\t\t * place divider at the beginning of the next column\n\t\t *  [X][__]#[|__][__][__][X]\n\t\t *  #[|__][__][__][__][X]\n\t\t *  [__][__][__][__][|X]\n\t\t */\n\t\tdestEl.nextSibling.insertBefore(\n\t\t\tdropAreaDivider,\n\t\t\tdestEl.nextSibling.firstChild\n\t\t);\n\t} else if (destEl.previousSibling && destEl.parentElement) {\n\t\t/**\n\t\t * Placeholder at the end (no special type column)\n\t\t *  [X][__][__][__][__]#\n\t\t *  [__][__][__][__]#\n\t\t * append at the end of the header row\n\t\t *  [X][__][__][__][__]|#\n\t\t *  [__][__][__][__]|#\n\t\t */\n\t\tdestEl.parentElement.insertBefore(dropAreaDivider, destEl);\n\t}\n};\n\n/**\n * Removes any drop area divider if attached to the table\n */\nexport const removeDropAreaDivider = () => {\n\tif (dropAreaDivider) {\n\t\tremoveNode(dropAreaDivider);\n\t}\n};\n\n/**\n * While drag & drop using the keyboard, adjusts the position of dragging item\n * to be in between (about to drop) the columns where divider is shown.\n * i.e centers the headerClone above the dropAreaDivider.\n */\nexport const adjustClonePosition = () => {\n\tif (!dropAreaDivider) {\n\t\treturn;\n\t}\n\n\tconst dividerRect = dropAreaDivider.getBoundingClientRect();\n\t// check if divider visible in the DOM\n\tif (dividerRect.width === 0) {\n\t\treturn;\n\t}\n\n\tconst headerClone = querySelectorDeep(COLUMN_HEADER_CLONE_TAG_NAME);\n\tif (!headerClone) {\n\t\treturn;\n\t}\n\n\t/**\n\t * The headerClone's first half should be on left side and\n\t * second half on the right side of the divider.\n\t * [HEADER-|DIVIDER|-CLONE]\n\t */\n\theaderClone.style.left = `${\n\t\tdividerRect.left - headerClone.clientWidth / 2\n\t}px`;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { getColumnInfo } from '../columnBehavior/columnBehavior';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tremoveDropAreaDivider,\n\tcreateDropAreaDivider,\n} from './columnDragDropUtils';\nimport { NOW_LIST_COLUMNS_REORDERED } from './constants';\n\n/* STRING CONSTANTS */\nconst COLUMN_DEFINITIONS_PATH = 'processedColumnDefinitions';\nconst COLUMNS_PATH = 'columns';\n\nconst columnsDataPath = [\n\tCOLUMN_DEFINITIONS_PATH,\n\tCOLUMN_DEFINITIONS_PATH,\n\tCOLUMNS_PATH,\n];\n\nconst ARIA_LIVE_REGION_TYPE = 'assertive';\n/**\n * Updates aria-live region with given message\n * @param {Now.Dispatch} dispatch\n * @param {string} message message to be announced by the live region\n * @param {string} type message type, could be assertive, polite, etc.\n */\nexport function updateAriaLiveRegion(\n\tdispatch,\n\tmessage,\n\ttype = ARIA_LIVE_REGION_TYPE\n) {\n\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype,\n\t});\n}\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns list of columns\n */\nconst getClonedColumns = (state) => cloneDeep(get(state, columnsDataPath, []));\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns processed column definitions\n */\nconst getClonedColumnDefs = (state) =>\n\tcloneDeep(get(state, COLUMN_DEFINITIONS_PATH));\n\n/**\n * set active flag on the column and it's children if any\n * @param {ProcessedColumn} column\n */\nexport const setColumnActive = (column) => {\n\tset(column, '_active', true);\n\tcolumnSelectors.getChildren(column).forEach(setColumnActive);\n};\n\n/**\n * resets active flag for each column\n * @param {ProcessedColumn[]} columns\n */\nexport const resetActiveColumns = (columns) => {\n\tcolumns.forEach((column) => {\n\t\tcolumn._active = false;\n\t\tresetActiveColumns(columnSelectors.getChildren(column));\n\t});\n};\n\n/**\n * Selects the droppable column keys filtering the special columns\n * @param {ProcessedColumn[]} columns\n * @returns column keys without special type columns\n */\nexport const getValidColumnKeys = (columns = []) =>\n\tcolumns\n\t\t.map(columnSelectors.getColumnKey)\n\t\t.filter((col) => !columnSelectors.isSpecialColumnKey(col));\n\n/**\n * Updates new columns to the given processed columnDefinitions\n * @param {ProcessedColumnDefinitions} colDefs\n * @param {ProcessedColumn[]} columns\n */\nconst updateColumns = (colDefs, columns) => {\n\tset(colDefs, [COLUMN_DEFINITIONS_PATH, COLUMNS_PATH], columns);\n};\n\n/**\n * Resets the column active flag\n * Set _active to false in all the columns\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const resetActiveColumnsEffect = (coeffects) => {\n\tconst { updateState, state } = coeffects;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst clonedColumns = getClonedColumns(state);\n\tresetActiveColumns(clonedColumns);\n\tupdateColumns(clonedColumnDefs, clonedColumns);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: clonedColumnDefs,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Gives the readable position of column for Screen readers\n * Eg: column with index 0, should have position 1\n * @param {number} index position of the column in the DOM\n * @param {Now.SeismicState<Props, State>} state component state\n * @returns\n */\nexport const getColumnReadablePosition = (index, state) => {\n\tconst offsetPosition = columnSelectors.getDataColumnsOffsetPosition(\n\t\tgetClonedColumnDefs(state)\n\t);\n\treturn index - offsetPosition + 1;\n};\n\n/**\n * Gives total number columns on the top/root level\n * @param {ColumnDefinitions} colDefs\n * @returns\n */\nexport const getTotalTopLevelColumns = (colDefs) => {\n\tconst columns = columnSelectors.getColumns(colDefs);\n\treturn columns.length;\n};\n\n/**\n * On column drop, prepares the new order of columns and dispatches the\n * action {@link NOW_LIST_COLUMNS_REORDERED}\n * Resets the active columns\n * @param {Now.Coeffects<Props, State>} coeffects\n * @returns\n */\nexport const columnDropEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { sourceIndex, destinationIndex: domDestinationIndex },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\tremoveDropAreaDivider();\n\n\t/**\n\t * In ascending direction (sourceIndex < destinationIndex)\n\t * index includes the source column\n\t */\n\tconst destinationIndex =\n\t\tdomDestinationIndex - (sourceIndex < domDestinationIndex ? 1 : 0);\n\n\t/**\n\t * Omit if source column is same as destination column\n\t */\n\tif (sourceIndex === destinationIndex) {\n\t\tresetActiveColumnsEffect(coeffects);\n\t\treturn;\n\t}\n\n\tconst clonedColumns = getClonedColumns(state);\n\tconst isSpecialColumn = columnSelectors.isSpecialColumn(\n\t\tclonedColumns[destinationIndex]\n\t);\n\n\t/**\n\t * Omit if destination is of special type column\n\t */\n\tif (isSpecialColumn) {\n\t\tresetActiveColumnsEffect(coeffects);\n\t\treturn;\n\t}\n\n\t/**\n\t * @type {string[]} list of columnKeys before re-order\n\t */\n\tconst oldColumns = getValidColumnKeys(clonedColumns);\n\n\t// Position columns based on source and destination indices\n\tconst sourceColumn = clonedColumns[sourceIndex];\n\tclonedColumns.splice(\n\t\tdestinationIndex,\n\t\t0,\n\t\tclonedColumns.splice(sourceIndex, 1)[0]\n\t);\n\n\t/**\n\t * @type {string[]} list of columnKeys after re-order\n\t */\n\tconst newColumns = getValidColumnKeys(clonedColumns);\n\n\t/**\n\t * @type {string[]} list of columnKeys re-ordererd\n\t */\n\tconst reorderedColumns = [columnSelectors.getColumnKey(sourceColumn)];\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tresetActiveColumns(clonedColumns);\n\tupdateColumns(clonedColumnDefs, clonedColumns);\n\n\t// reconstruct columnInfo based on the new column order\n\tconst updatedColumnInfo = getColumnInfo(clonedColumns);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: {\n\t\t\t...clonedColumnDefs,\n\t\t\t...updatedColumnInfo,\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: {\n\t\t\trowIndex: 0, // always for the top level header row\n\t\t\tcolumnKey: columnSelectors.getColumnKey(sourceColumn),\n\t\t\tenterCellTrap: true, // on drop, focus on the grab icon\n\t\t},\n\t});\n\n\tdispatch(NOW_LIST_COLUMNS_REORDERED, {\n\t\toldColumns,\n\t\tnewColumns,\n\t\treorderedColumns,\n\t});\n\n\tconst message = t(\n\t\t'Column {0} dropped. Final position {1} of {2}.',\n\t\tcolumnSelectors.getColumnLabel(sourceColumn),\n\t\tgetColumnReadablePosition(destinationIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * On column drag start, updates the active column\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const columnDragStartEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { element, sourceIndex },\n\t\t},\n\t\tupdateState,\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t} = coeffects;\n\n\tcreateDropAreaDivider(element);\n\n\tconst columnKey = element.dataset.columnKey;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\tclonedColumnDefs,\n\t\tcolumnKey\n\t);\n\n\t// marking target column as selected\n\tsetColumnActive(column);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: clonedColumnDefs,\n\t\toperation: 'set',\n\t});\n\n\tconst message = t(\n\t\t'Column {0} grabbed. Current position {1} of {2}. Press left and right to change the position of the column, enter to drop, and escape to cancel.',\n\t\tcolumnSelectors.getColumnLabel(column),\n\t\tgetColumnReadablePosition(sourceIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * On drag cancel, resets the active column\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const columnDropCancelledEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { element, sourceIndex },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState,\n\t} = coeffects;\n\tremoveDropAreaDivider();\n\tresetActiveColumnsEffect(coeffects);\n\n\tconst columnKey = element.dataset.columnKey;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\tclonedColumnDefs,\n\t\tcolumnKey\n\t);\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: {\n\t\t\trowIndex: 0, // always for the top level header row\n\t\t\tcolumnKey: columnSelectors.getColumnKey(column),\n\t\t\tenterCellTrap: true, // on drop, focus on the grab icon\n\t\t},\n\t});\n\n\tconst message = t(\n\t\t'Drag and drop cancelled. Column {0} in position {1} of {2}.',\n\t\tcolumnSelectors.getColumnLabel(column),\n\t\tgetColumnReadablePosition(sourceIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * @param {Now.Coeffects<Props,State>} coeffects\n */\nexport const columnDropAreaChangeEffect = ({\n\taction,\n\tstate,\n\tproperties,\n\tdispatch,\n}) => {\n\tconst {\n\t\tpayload: { newPosition },\n\t} = action;\n\t/**\n\t * Don't announce if in case trying to drop on special columns or beyond the table\n\t * Valid positions always start with 1 and ends with data columns length + 1\n\t */\n\tconst columnPosition = getColumnReadablePosition(newPosition, state);\n\tif (columnPosition < 1) return;\n\tconst maxPosition =\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions) + 1;\n\tif (columnPosition > maxPosition) return;\n\n\tconst message = t('Position {0}', columnPosition);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n","import { querySelectorDeep, seismicClone } from '../../commons';\nimport { SCROLL_CONTAINER_CLASS } from '../../constants';\nimport { COLUMN_HEADER_CLONE_TAG_NAME } from '../../shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone';\nimport { KEY } from '../keyboardNavBehavior/constants';\n\nimport {\n\tadjustClonePosition,\n\tattachDropAreaDivider,\n} from './columnDragDropUtils';\nimport {\n\tACTIVE_DRAGGING_ITEM_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n\tCOLUMN_ACTIVE_CLASS,\n\tNOW_LIST_COLUMN_REORDER_ACTION_PREFIX,\n\tSOURCE_PLACEHOLDER_CLASS,\n} from './constants';\n\nexport const DRAGGABLE_ITEMS = 'th.header-cell';\nexport const DROPZONE = 'table.now-list-table > thead > tr';\n\n/**\n * An element markup to indicate the source placeholder.\n *\n * nowSortable hides the source element (header cell) by default.\n * But we need the header cell to be visible, so cloning the original header cell and\n * using it as a source placeholder which will replace the source header cell visually.\n * @param {HTMLTableCellElement} srcEl source header cell\n * @returns\n */\nexport const customSourcePlaceholder = (srcEl) => {\n\tconst th = seismicClone(srcEl);\n\t// @ts-ignore No classList property on Node\n\tth.classList.add(COLUMN_ACTIVE_CLASS, SOURCE_PLACEHOLDER_CLASS);\n\treturn th;\n};\n\n/**\n * An element markup to indicate an area where the item can be dropped\n * @returns {HTMLTableCellElement} th - Header cell element indicates an area where the item can be dropped\n */\nexport const customDestPlaceholder = () => {\n\tconst th = document.createElement('th');\n\t/**\n\t * Hide this by default, otherwise it acts as another column; distoring the table view\n\t * with empty space in between.\n\t */\n\tth.style.display = 'none';\n\n\t/**\n\t * Stores the original method as a backup to use it in the override\n\t */\n\tconst getBoundingClientRectActual = th.getBoundingClientRect;\n\t/**\n\t * getBoundingClientRect method is used the by nowSortable to calculate the destination position.\n\t * It doesn't work for the element (destPlaceholder) which is hidden in our <table> use case.\n\t * So overriding it to calculate the real position and hide the destPlaceholder again.\n\t *\n\t * FIXME: Remove this if we found a better solution since this is a hack to get the default keyboard support from the nowSortable.\n\t */\n\tth.getBoundingClientRect = () => {\n\t\t// Make it visible\n\t\tth.style.display = 'block';\n\n\t\t// Calculate actual positions\n\t\tconst rect = getBoundingClientRectActual.call(th);\n\n\t\t// Hide it again\n\t\tth.style.display = 'none';\n\n\t\treturn rect;\n\t};\n\n\treturn th;\n};\n\n/**\n * Representational markup for the header cell being dragged\n * @param {HTMLTableCellElement} srcEl Source Header cell\n * @returns {HTMLElement}\n */\nexport const headerClone = (srcEl) => {\n\tconst el = document.createElement(COLUMN_HEADER_CLONE_TAG_NAME);\n\tel.classList.add(ACTIVE_DRAGGING_ITEM_CLASS, 'header-cell');\n\tconst headerLabel = querySelectorDeep('.header-cell-text', srcEl).innerText;\n\tel.setAttribute('label', headerLabel);\n\tel.setAttribute('width', `${srcEl.offsetWidth}px`);\n\n\t// @ts-ignore\n\tconst headerContentEl = querySelectorDeep('.header-cell-content', srcEl);\n\tconst headerHeight = headerContentEl?.offsetHeight || 0;\n\tel.setAttribute('height', `${headerHeight}px`);\n\treturn el;\n};\n\nconst sortableRef = {\n\tcurrent: {\n\t\tisKeyboardActive: false,\n\t},\n};\n\n/**\n * Callback fired on inserting the destination placeholder\n * @param {HTMLElement} targetElement\n * @param {HTMLElement} srcPlaceholder\n * @param {HTMLElement} destPlaceholder\n */\nconst onDestPlaceholderInsert = (\n\ttargetElement,\n\tsrcPlaceholder,\n\tdestPlaceholder\n) => {\n\tattachDropAreaDivider(destPlaceholder);\n\t// Only for keyboard drag drop\n\tif (sortableRef.current.isKeyboardActive) {\n\t\tadjustClonePosition();\n\t}\n};\n\n/**\n * Initializes InteractJs adaptor based on this this condition.\n * We're checking the property columnDragDropEnabled\n * @param {Now.HostHTMLElement} host now-list component\n * @returns\n */\nconst isDragEnabled = (host) => {\n\tconst { columnDragDropEnabled } = host.getProperties();\n\treturn columnDragDropEnabled;\n};\n\n/**\n * Filters the items (Header cells) that can be draggable\n * using the data attribute\n * @param {*} item\n * @returns\n */\nconst filterDraggableHeaderCells = (item) => {\n\treturn item.dataset.draggable === 'true';\n};\n\nconst SCROLL_CONTAINER = `.${SCROLL_CONTAINER_CLASS}`;\n\nconst keyboardCustomTriggers = {\n\t/**\n\t * [Space] click on the focussed drag handle tirggers the drag start\n\t * @param {KeyboardEvent} event\n\t * @returns\n\t */\n\tstart: (event) => {\n\t\tconst trigger = event.key === KEY.SPACE;\n\t\tif (trigger) {\n\t\t\tsortableRef.current.isKeyboardActive = true;\n\t\t}\n\t\treturn trigger;\n\t},\n\t/**\n\t * [Enter] click ends the dragging\n\t * @param {KeyboardEvent} event\n\t * @returns\n\t */\n\tend: (event) => {\n\t\tconst trigger = event.key === KEY.ENTER;\n\t\tif (trigger) {\n\t\t\tsortableRef.current.isKeyboardActive = false;\n\t\t}\n\t\treturn trigger;\n\t},\n};\n\nexport default {\n\thandle: `.${COLUMN_DRAG_HANDLE_CLASS}`,\n\tallowFrom: `.${COLUMN_DRAG_HANDLE_CLASS}`,\n\titems: DRAGGABLE_ITEMS,\n\tdropzone: DROPZONE,\n\tactionPrefix: NOW_LIST_COLUMN_REORDER_ACTION_PREFIX,\n\txScrollParent: SCROLL_CONTAINER,\n\tyScrollParent: SCROLL_CONTAINER,\n\tcloneAppendTo: 'body',\n\tlistOrder: 'horizontal',\n\trestrictTo: SCROLL_CONTAINER,\n\ttransitions: true,\n\tdragSupport: true,\n\tlockAxis: 'x',\n\titemsFilter: filterDraggableHeaderCells,\n\tcustomSourcePlaceholder,\n\tcustomDestPlaceholder,\n\tclone: headerClone,\n\tcondition: isDragEnabled,\n\tcursorChecker: () => '',\n\tonDestPlaceholderInsert,\n\tkeyboardSupport: true,\n\tkeyboardTriggers: keyboardCustomTriggers,\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { nowSortable } from '../../commons';\n\nimport {\n\tcolumnDragStartEffect,\n\tcolumnDropAreaChangeEffect,\n\tcolumnDropCancelledEffect,\n\tcolumnDropEffect,\n} from './columnDragDropEffects';\nimport {\n\tNOW_LIST_COLUMN_REORDER_CANCELLED,\n\tNOW_LIST_COLUMN_REORDER_END,\n\tNOW_LIST_COLUMN_REORDER_START,\n\tNOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED,\n\tNOW_SORTABLE_UPDATE_BEHAVIOR,\n} from './constants';\nimport nowSortableOptions from './nowSortableOptions';\n\n/**\n * Re-initalizes the interactJs adaptor of nowSortable on {@link actionTypes.COMPONENT_DOM_TREE_READY},\n * to make sure DOM content is ready\n * @param {Now.Coeffects<Props>} coeffects\n */\nexport const refreshSortableHandler = ({ dispatch }) => {\n\tdispatch(NOW_SORTABLE_UPDATE_BEHAVIOR);\n};\n\nconst columnDragDropBehavior = {\n\tname: 'columnDragDropBehavior',\n\tactionHandlers: {\n\t\t...nowSortable.actionHandlers,\n\t\t[NOW_LIST_COLUMN_REORDER_START]: {\n\t\t\teffect: columnDragStartEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_CANCELLED]: {\n\t\t\teffect: columnDropCancelledEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_END]: {\n\t\t\teffect: columnDropEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED]: {\n\t\t\teffect: columnDropAreaChangeEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[actionTypes.COMPONENT_TREE_RENDERED]: refreshSortableHandler,\n\t},\n};\n\nexport default {\n\tbehavior: columnDragDropBehavior,\n\toptions: nowSortableOptions,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"fromUnixTime\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.__esModule\n\t\t\t\t\tif (cjsModule && 'fromUnixTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].fromUnixTime;\n\t\t\t\t\t} else if ('fromUnixTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.fromUnixTime || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].fromUnixTime;\n\t\t\t\t}, [\"getUnixTime\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUnixTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].getUnixTime;\n\t\t\t\t\t} else if ('getUnixTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.getUnixTime || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].getUnixTime;\n\t\t\t\t}, [\"isValid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.__esModule\n\t\t\t\t\tif (cjsModule && 'isValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].isValid;\n\t\t\t\t\t} else if ('isValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.isValid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].isValid;\n\t\t\t\t}, [\"parse\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.__esModule\n\t\t\t\t\tif (cjsModule && 'parse' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].parse;\n\t\t\t\t\t} else if ('parse' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__.parse || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_22_1_index_jsdbx_6910637e__[\"default\"].parse;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"formatInTimeZone\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'formatInTimeZone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].formatInTimeZone;\n\t\t\t\t\t} else if ('formatInTimeZone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.formatInTimeZone || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].formatInTimeZone;\n\t\t\t\t}, [\"utcToZonedTime\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'utcToZonedTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].utcToZonedTime;\n\t\t\t\t\t} else if ('utcToZonedTime' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.utcToZonedTime || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].utcToZonedTime;\n\t\t\t\t}, [\"zonedTimeToUtc\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'zonedTimeToUtc' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].zonedTimeToUtc;\n\t\t\t\t\t} else if ('zonedTimeToUtc' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__.zonedTimeToUtc || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_tz_1_3_6_index_jsdbx_872bb7fb__[\"default\"].zonedTimeToUtc;\n\t\t\t\t} });","import { fromUnixTime, getUnixTime, isValid, parse } from 'date-fns';\nimport { formatInTimeZone, utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';\nimport get from 'lodash/get';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tDATE_EDITOR_VARIANT_LONG,\n\tDATE_EDITOR_VARIANT_SHORT,\n\tSHORT_DATE_TIME_FORMAT,\n} from '../views/fields/dateTime/constants';\n\nimport columnSelectors from './selectors/columnSelectors';\n\nconst { getDateTimeFormat, getTimeZone, setShortDateFormat } = columnSelectors;\n\n/**\n * Returns epoch value in seconds from date time string when timeZone and\n * dateTimeFormat are not available.\n *\n * @param {string} value date time string value\n * @returns {number} epoch value in seconds\n */\nexport const getDefaultEpochValue = (value) => {\n\treturn Date.parse(value) / 1000;\n};\n\n/**\n * Returns epoch value in seconds from date time string when timeZone and\n * dateTimeFormat are available.\n *\n * @param {string} value date time string value\n * @param {string} dateFormat date time format\n * @param {string} timeZone time zone\n * @returns {number} epoch value in seconds\n */\nexport const getEpochValue = (value, dateFormat, timeZone) => {\n\tconst referenceDate = utcToZonedTime(new Date(), timeZone);\n\tconst parsedDate = parse(value, dateFormat, referenceDate);\n\treturn getUnixTime(zonedTimeToUtc(parsedDate, timeZone));\n};\n\n/**\n * Checks if dateformat is short date.\n * short date is anything without HH mm or ss.\n * @param {string} dateFormat\n *\n * @returns {boolean}\n */\nexport const isShortDateFormat = (dateFormat) => {\n\tif (dateFormat === undefined || dateFormat == null) return false;\n\tconst re = new RegExp('/HH|mm|ss', 'gm');\n\treturn !re.test(dateFormat);\n};\n\n/**\n * Checks if date string is short date.\n * short date is any date string without 00:00:00\n * @param {string} date\n *\n * @returns {boolean}\n */\nexport const isShortDate = (date) => {\n\tif (date === undefined || date == null) return false;\n\tconst re = new RegExp(/\\d{2}:\\d{2}:\\d{2}/);\n\treturn !re.test(date);\n};\n\n/**\n * Chooses dateTime component format type for datetime cell editor popover, either date or date + time\n * @param {string} dateFormat\n * @param {boolean} forceShortDateFormat\n *\n * @returns {DATE_EDITOR_VARIANT_SHORT | DATE_EDITOR_VARIANT_LONG}\n */\nexport const getDateEditorVariant = (dateFormat, forceShortDateFormat) => {\n\t// fixme: format should honor user preferences\n\treturn isShortDateFormat(dateFormat) || forceShortDateFormat\n\t\t? DATE_EDITOR_VARIANT_SHORT\n\t\t: DATE_EDITOR_VARIANT_LONG;\n};\n\n/**\n * Converts a date (string, Date, or number) into a Unix timestamp (seconds).\n * Optimized, minimal switch-case version.\n *\n * @param {string|number|Date} value\n * @param {string} timezone\n * @param {string} format\n * @returns {number|null}\n */\nexport function parseDateToUnix(value, timezone, format) {\n\tif (!value) return null;\n\n\tswitch (typeof value) {\n\t\tcase 'object':\n\t\t\tif (value instanceof Date)\n\t\t\t\treturn getUnixTime(zonedTimeToUtc(value, timezone));\n\t\t\treturn null;\n\n\t\tcase 'number':\n\t\t\treturn getUnixTime(zonedTimeToUtc(fromUnixTime(value), timezone));\n\n\t\tcase 'string': {\n\t\t\tconst str = value.trim();\n\t\t\tif (!str) return null;\n\n\t\t\tconst fmt = str.includes(':')\n\t\t\t\t? format\n\t\t\t\t: format.replace(/\\s*HH:?mm:?ss?/, '').trim();\n\n\t\t\tconst parsed = parse(str, fmt, new Date());\n\t\t\treturn isValid(parsed)\n\t\t\t\t? getUnixTime(zonedTimeToUtc(parsed, timezone))\n\t\t\t\t: null;\n\t\t}\n\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\n/**\n * @param {object} props\n * @param {number} props.value\n * @param {object} props.contextApi\n * @param {ProcessedColumn} props.column\n */\nexport const getFormattedDateValue = (props) => {\n\tconst { value, contextApi, column } = props;\n\tconst shortDateFormatPrefKey = getUserPrefContext(SHORT_DATE_TIME_FORMAT);\n\t// FIXME: could be facing issue when local and User Pref timezones are different\n\tconst dateObject = fromUnixTime(value);\n\tconst shortDateFormatPrefValue =\n\t\tget(contextApi, shortDateFormatPrefKey, 'false') === 'true';\n\n\tconst dateTimeFormat = shortDateFormatPrefValue\n\t\t? setShortDateFormat(dateObject, getDateTimeFormat(column))\n\t\t: getDateTimeFormat(column);\n\tconst timeZone = isShortDateFormat(dateTimeFormat)\n\t\t? 'UTC'\n\t\t: getTimeZone(column);\n\n\treturn formatInTimeZone(dateObject, timeZone, dateTimeFormat);\n};\n","export const COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME =\n\t'columnFilteringChoiceTypeApplyButton';\nexport const COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME =\n\t'columnFilteringChoiceTypeCancelButton';\n\nexport const MIN_CHOICES_FOR_CHOICE_FILTERING = 10;\n\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\nexport const COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM =\n\t'columnFilteringChoiceFilterClearTerm';\n\nexport const COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME =\n\t'columnFilteringChoiceFilterClearTermButton';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const NOW_LIST_COMPONENT_LOAD_REQUESTED =\n\t'NOW_LIST#COMPONENT_LOAD_REQUESTED';\nexport const NOW_LIST_COMPONENT_LOAD_COMPLETED =\n\t'NOW_LIST#COMPONENT_LOAD_COMPLETED';\nexport const NOW_LIST_COMPONENT_LOAD_FAILED = 'NOW_LIST#COMPONENT_LOAD_FAILED';\n\nexport const MAX_COMPONENT_LOAD_COUNT = 2;\nexport const COMPONENT_LOADED_STATUS = Object.freeze({\n\t/** @type {ComponentLoadStatus} */\n\tERROR: 'ERROR',\n\t/** @type {ComponentLoadStatus} */\n\tSUCCESS: 'SUCCESS',\n\t/** @type {ComponentLoadStatus} */\n\tLOADING: 'LOADING',\n});\n","export const INTERSECTION_OBSERVER_NAME = 'intersectionObserverBehavior';\n\nexport const OBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#OBSERVE_ELEMENT';\nexport const UNOBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#UNOBSERVE_ELEMENT';\nexport const REGISTER_INTERSECTION_OBSERVER = 'INTERSECTION_BEHAVIOR#REGISTER';\nexport const UNREGISTER_INTERSECTION_OBSERVER =\n\t'INTERSECTION_OBSERVER#UNREGISTER';\n\n/**\n * HOOK NAMES\n */\nexport const HOOK_INSERT = 'hook-insert';\nexport const HOOK_DESTROY = 'hook-destroy';\nexport const HOOK_INIT = 'hook-init';\n/**\n * PATHS\n */\n\n/**\n * Path of options in action payload\n */\nexport const PAYLOAD_OPTIONS_PATH = 'payload.options';\n\n/**\n * Path of intersectionObserver object in state\n */\nexport const INTERSECTION_OBSERVER_STATE_PATH = `behaviors.${INTERSECTION_OBSERVER_NAME}.intersectionObserver`;\n\n/**\n * NOW MODES\n */\nexport const NOW_MODE_ACTIVE = 'active';\nexport const NOW_MODE_SUSPEND = 'suspend';\nexport const NOW_MODE_DETACH = 'detach';\n\n/**\n * DEFAULTS\n */\nexport const DEFAULT_ROOT_SELECTOR = '[data-id=scrollContainer]';\nexport const DEFAULT_ROOT_MARGIN = '100px 100px 100px 100px';\nexport const DEFAULT_THRESHOLD = 1.0;\nexport const DEFAULT_DEBOUNCE_DELAY = 50;\n","import { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_DEBOUNCE_DELAY,\n\tDEFAULT_ROOT_MARGIN,\n\tDEFAULT_ROOT_SELECTOR,\n\tDEFAULT_THRESHOLD,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tPAYLOAD_OPTIONS_PATH,\n} from './constants';\n/**\n * Selectors\n */\n\n/**\n * This selector function returns the intersection observer object stored in state\n * @param {object} state\n * @returns {object} IntersectionObserver that was initialized\n */\nexport const getIntersectionObserver = fpGet(INTERSECTION_OBSERVER_STATE_PATH);\n\n/**\n * This selector function returns the options object that were passed in on behavior initialization\n * @param {object} action\n * @returns {object}\n */\nexport const getOptions = fpGet(PAYLOAD_OPTIONS_PATH);\n\n/**\n * This selector function returns the selector string to use to get the root element that the\n * intersection observer should be applied to. For more info on intersection observer options,\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootElementSelector = getOr(\n\tDEFAULT_ROOT_SELECTOR,\n\t`${PAYLOAD_OPTIONS_PATH}.rootElementSelector`\n);\n/**\n * This selector function returns the root margin that the\n * intersection observer should be applied to. For more info on intersectionObserver options\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootMargin = getOr(\n\tDEFAULT_ROOT_MARGIN,\n\t`${PAYLOAD_OPTIONS_PATH}.rootMargin`\n);\n\n/**\n * This selector function returns the threshold to use for the intersection observer. For more info\n * on intersection observer options, please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {number}\n */\nexport const getThreshold = getOr(\n\tDEFAULT_THRESHOLD,\n\t`${PAYLOAD_OPTIONS_PATH}.threshold`\n);\n\n/**\n * This selector function returns the debounce value in milliseconds to use when collating observe and unobserve actions\n * @param {object} action\n * @returns {string}\n */\nexport const getDebounceDelay = getOr(DEFAULT_DEBOUNCE_DELAY, `debounceDelay`);\n\n/**\n * This selector function returns a boolean whether to toggle defer attribute on to the component, or toggle component modes.\n * @param {object} action\n * @returns {string}\n */\nexport const getUseDefer = getOr(false, `${PAYLOAD_OPTIONS_PATH}.useDefer`);\n\n/**\n * This selector function returns the element configuration in options.elementIdentifier. The id is associated with the OBSERVE_ELEMENT\n * action dispatch and is used to retrieve element configuration which includes intersect and initial styles.\n * @param {string} id\n * @returns {(action: object) => {initialClass: string, intersectClass: string}} element configuration\n */\nexport const getElementConfig = (id) =>\n\tfpGet(`${PAYLOAD_OPTIONS_PATH}.elementIdentifier[${id}]`);\n\n/**\n * This selector function returns a boolean that determines if the component mode should be set to suspend\n * when the element is no longer intersecting and the component mode is active. Will return true by default if should\n * suspend is not found\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldSuspend = getOr(\n\ttrue,\n\t`${PAYLOAD_OPTIONS_PATH}.shouldSuspend`\n);\n\n/**\n * This selector function returns a boolean that determines if the element should no longer be observed once intersected for the first time\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldUnobserveElement = getOr(\n\tfalse,\n\t`${PAYLOAD_OPTIONS_PATH}.unobserveOnIntersect`\n);\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport logger from '../../shared/utils/logger';\n\nimport {\n\tHOOK_DESTROY,\n\tHOOK_INIT,\n\tHOOK_INSERT,\n\tINTERSECTION_OBSERVER_NAME,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tNOW_MODE_ACTIVE,\n\tNOW_MODE_DETACH,\n\tNOW_MODE_SUSPEND,\n\tOBSERVE_ELEMENT,\n\tREGISTER_INTERSECTION_OBSERVER,\n\tUNOBSERVE_ELEMENT,\n\tUNREGISTER_INTERSECTION_OBSERVER,\n} from './constants';\nimport {\n\tgetDebounceDelay,\n\tgetElementConfig,\n\tgetIntersectionObserver,\n\tgetRootElementSelector,\n\tgetRootMargin,\n\tgetShouldSuspend,\n\tgetShouldUnobserveElement,\n\tgetThreshold,\n\tgetUseDefer,\n} from './selectors';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\n\n/**\n * Helper function to create element hooks that will be used to observe/unobserve elements\n * @param {Now.Dispatch} dispatch\n * @param {string} id Id that corresponds to elementIdentifier config in options\n * @param {boolean} useDefer boolean to determine if component mode should be set or defer tag should be used\n * @returns {{defer?: boolean, nowNode?: 'active'  | 'suspend' | 'detach', 'hook-insert': (vnode: Now.JsxVNode) => void, 'hook-destroy': (vnode: Now.JsxVNode) => void}}\n */\nexport const createElementObservationProps = (\n\tdispatch,\n\tid,\n\tuseDefer = false\n) => ({\n\t...(useDefer && { defer: true }),\n\t...(!useDefer && { nowMode: NOW_MODE_DETACH }),\n\t/**\n\t * Hook that is used to observe element. Should only be used on component elements.\n\t * Will set component mode to detach and dispatch to observe element in intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INSERT]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tif (useDefer) {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.defer = false;\n\t\t\t};\n\t\t} else {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.nowMode = NOW_MODE_ACTIVE;\n\t\t\t};\n\t\t}\n\n\t\tdispatch(OBSERVE_ELEMENT, { vnode, id });\n\t},\n\n\t/**\n\t * Hook that is used to unobserve element. Will dispatch to behavior when element is removed.\n\t * @param {*} vnode\n\t */\n\t[HOOK_DESTROY]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tdispatch(UNOBSERVE_ELEMENT, { vnode });\n\t},\n});\n\n/**\n * Helper function to create element hooks that will be used to register root element and set up and tear down intersection observer\n * @param {*} dispatch\n * @returns {{'hook-init': (vnode: Now.JsxVNode) => void, 'hook-destroy': () => void}}\n */\nexport const createRootElementHooks = (dispatch) => ({\n\t/**\n\t * Init hook that will dispatch register action for root element and setup intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INIT]: (vnode) => {\n\t\tdispatch(REGISTER_INTERSECTION_OBSERVER, { vnode });\n\t},\n\n\t/**\n\t * Remove hook that will dispatch action to tear down intersection observer and remove from state\n\t */\n\t[HOOK_DESTROY]: () => {\n\t\tdispatch(UNREGISTER_INTERSECTION_OBSERVER);\n\t},\n});\n\n/**\n * This wrapper will return the callback to be used in the intersection observer\n * @param {boolean} shouldSuspend\n * @param {boolean} shouldUnobserveElement\n * @param {boolean} useDefer\n * @returns {*} callback function\n */\nexport const intersectionCallBack = (\n\tshouldSuspend,\n\tshouldUnobserveElement,\n\tuseDefer\n) =>\n\t/**\n\t *\n\t * This callback function will get called when observed elements intersect the root element defined in the IntersectionObserver\n\t * setup. Using options that are passed into the component, this function will set the appropriate styles and component modes\n\t * @param {Array<{isIntersecting: boolean, target: Now.JsxElementProps & HTMLElement & {defer: boolean}}>} entries\n\t * @param {*} observer\n\t * @returns\n\t */\n\t(entries, observer) =>\n\t\tentries.forEach((entry) => {\n\t\t\tconst { isIntersecting, target: element } = entry;\n\t\t\tconst unDefer = useDefer && element.defer;\n\n\t\t\tif (\n\t\t\t\tisIntersecting &&\n\t\t\t\t(element.nowMode !== NOW_MODE_ACTIVE || unDefer)\n\t\t\t) {\n\t\t\t\tconst intersectClass = element.dataset.intersectClass;\n\t\t\t\tconst initialClass = element.dataset.initialClass;\n\n\t\t\t\tif (initialClass && element.classList.contains(initialClass))\n\t\t\t\t\telement.classList.remove(initialClass);\n\n\t\t\t\tif (\n\t\t\t\t\tintersectClass &&\n\t\t\t\t\t!element.classList.contains(intersectClass)\n\t\t\t\t)\n\t\t\t\t\telement.classList.add(intersectClass);\n\n\t\t\t\tif (unDefer) {\n\t\t\t\t\telement.defer = false;\n\t\t\t\t} else {\n\t\t\t\t\telement.nowMode = NOW_MODE_ACTIVE;\n\t\t\t\t}\n\n\t\t\t\tif (shouldUnobserveElement) observer.unobserve(element);\n\t\t\t} else if (\n\t\t\t\telement.nowMode == NOW_MODE_ACTIVE &&\n\t\t\t\tshouldSuspend &&\n\t\t\t\t!useDefer\n\t\t\t) {\n\t\t\t\telement.nowMode = NOW_MODE_SUSPEND;\n\t\t\t}\n\t\t});\n\n/**\n * This effect is used to set up the IntersectionObserver with the defined options. This can be set up either on component dom ready\n * or opt in via dispatching of REGISTER_INTERSECTION_OBSERVER action with element. If rootElement is found either via selector or\n * payload, an IntersectionObserver instance will be created and stored in state.\n * @param {*} coeffects\n * @returns\n */\nexport const setupIntersectionObserverEffect = (coeffects) => {\n\tconst { updateState, host, action } = coeffects;\n\tconst {\n\t\tpayload: { vnode },\n\t} = action;\n\n\tconst rootElementSelector = getRootElementSelector(action);\n\tconst rootElementWithSelector = host.shadowRoot?.querySelector(\n\t\trootElementSelector\n\t);\n\tconst rootElement = rootElementWithSelector || vnode?.elm;\n\n\tif (!rootElement) {\n\t\tlogger.warning(\n\t\t\t'Could not find root element. Skipping intersection observer setup'\n\t\t);\n\t\treturn;\n\t}\n\n\tconst shouldSuspend = getShouldSuspend(action);\n\tconst shouldUnobserveElement = getShouldUnobserveElement(action);\n\tconst useDefer = getUseDefer(action);\n\n\tconst intersectionObserver = new IntersectionObserver(\n\t\tintersectionCallBack(shouldSuspend, shouldUnobserveElement, useDefer),\n\t\t{\n\t\t\troot: rootElement,\n\t\t\trootMargin: getRootMargin(action),\n\t\t\tthreshold: getThreshold(action),\n\t\t}\n\t);\n\n\tlogger.info('Intersection Observer successfully created');\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\toperation: 'set',\n\t\tvalue: intersectionObserver,\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect is used to disconnect the intersection observer (stop observing all elements) and remove the instnace from state.\n * This will be called on disconnect or opt in if the element is removed. Use hooks defined above on root element to handle element removal\n * @param {*} coeffects\n */\nexport const unregisterIntersectionObserverEffect = (coeffects) => {\n\tconst { state, updateState } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tif (intersectionObserver) {\n\t\tintersectionObserver.disconnect();\n\t}\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\tvalue: undefined,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect handles observing of elements. By default this effect will be collated and debounced so as to handle all\n * observation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * add the element to be observed and apply the initial styles defined in the elementIdentifier options passed in. If no styles\n * are found, element will still be observed with no changes to styles.\n * @param {*} coeffects\n * @returns\n */\nexport const observeElementEffect = (coeffects) => {\n\tconst { collated, state } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\tif (!intersectionObserver) {\n\t\tlogger.warning(\n\t\t\t'No intersection observer in state, ignoring element observe requests'\n\t\t);\n\t\treturn;\n\t}\n\n\tcollated.forEach((/**@type {*} */ collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode, id },\n\t\t\t},\n\t\t\taction,\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tlogger.warning('Skipping node for observation');\n\t\t\treturn;\n\t\t}\n\n\t\tconst { elm: element } = vnode;\n\n\t\tconst elementConfig = getElementConfig(id)(action);\n\n\t\tif (elementConfig) {\n\t\t\tconst { initialClass, intersectClass } = elementConfig;\n\t\t\telement.dataset.initialClass = initialClass || '';\n\t\t\telement.dataset.intersectClass = intersectClass || '';\n\n\t\t\tif (initialClass && !element.classList.contains(initialClass)) {\n\t\t\t\telement.classList.add(initialClass);\n\t\t\t}\n\t\t}\n\n\t\tintersectionObserver.observe(vnode.elm);\n\t});\n};\n\n/**\n * This effect handles unobserving of elements. By default this effect will be collated and debounced so as to handle all\n * unobservation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * call unobserve on the element. This is used in cases where the element is removed from the dom and we no longer want to observe\n * the element\n * @param {*} coeffects\n */\nexport const unobserveElementEffect = (coeffects) => {\n\tconst { state, collated } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\tif (!intersectionObserver) return;\n\n\tcollated.forEach((/**@type {*} */ collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode },\n\t\t\t},\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tlogger.warning('Skipping node for unobservation');\n\t\t\treturn;\n\t\t}\n\n\t\tintersectionObserver.unobserve(vnode.elm);\n\t});\n};\n\n/**\n * This helper function creates the action handlers for the component with the specified delay in options (for observation effects)\n * @param {number} delay\n * @returns\n */\nexport const createIntersectionObserverBehaviorActionHandlers = (delay) => ({\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t},\n\t[REGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t},\n\t[UNREGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[OBSERVE_ELEMENT]: {\n\t\teffect: observeElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n\t[UNOBSERVE_ELEMENT]: {\n\t\teffect: unobserveElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n});\n\n/**\n * Helper function used to create behavior object with options passed in.\n * @param {object} options\n * @returns {object} behavior definition\n */\nexport const createIntersectionObserver = (options) => {\n\treturn {\n\t\tbehavior: {\n\t\t\tname: INTERSECTION_OBSERVER_NAME,\n\t\t\tactionHandlers: createIntersectionObserverBehaviorActionHandlers(\n\t\t\t\tgetDebounceDelay(options)\n\t\t\t),\n\t\t},\n\t\toptions,\n\t};\n};\n","import { t } from 'sn-translate';\n\nimport '@servicenow/now-loader';\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior/constants';\nimport { createElementObservationProps } from '../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport { getFakeNowIcon } from '../views/shared/fakeNowIcon';\nimport { COLUMN_FILTERING_VALUE_INPUT_CLASS } from '../views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\n\nconst { LOADING, SUCCESS, ERROR } = COMPONENT_LOADED_STATUS;\n\nexport const customComponentType = {\n\tCELL: 'cell',\n\tOVERLAY: 'overlay',\n\tPOPOVER: 'popover',\n\tROW: 'row',\n\tGALLERY_VIRTUALIZED_STATUS_ROW: 'gallery-virtualized-status-row',\n\tCOLUMN_FILTER_VALUE_INPUT: 'columnFilterValueInput',\n};\n\n/**\n * Renders the loading state while fetching the components for the custom component\n * For cell type of custom component, now-loader needs to be wrapped inside a container,\n * to allow user to apply the customized placeholderDimensions style to the loader\n * @param {string} type type of custom component\n * @param {object} style the placeholderDimensions prop for cell type of custom component\n */\nconst renderLoadingState = (type, style) => {\n\tconst className = `${type}-content custom-${type}-loader-content`;\n\tif (type === customComponentType.CELL)\n\t\treturn (\n\t\t\t<div className={className} style={style}>\n\t\t\t\t<now-loader className=\"custom-cell-loader\" />\n\t\t\t<\/div>\n\t\t);\n\telse return <now-loader className={className} />;\n};\n\n/**\n * Renders a custom component using the ComponentTag and componentDefaultProps\n * @param {string} type type of custom component\n * @param {String} ComponentTag the tag name for the component to render\n * @param {Object} componentDefaultProps props for the component to render\n * @param {string} componentDefaultProps.label label of the component\n * @param {object} style an object representing this cell's parent column\n * @param {string} customRowAlignment\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCustomComponent = (\n\ttype,\n\tComponentTag,\n\tcomponentDefaultProps,\n\tstyle,\n\tdispatch,\n\tcustomRowAlignment = ''\n) => {\n\tif (type === customComponentType.CELL) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"cell-content custom-cell-content\"\n\t\t\t\tstyle={style}\n\t\t\t\tdata-truncation\n\t\t\t>\n\t\t\t\t<ComponentTag\n\t\t\t\t\t{...componentDefaultProps}\n\t\t\t\t\t{...createElementObservationProps(dispatch, 'custom-cell')}\n\t\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\tif (type === customComponentType.COLUMN_FILTER_VALUE_INPUT) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"column-filter-value-input-container\"\n\t\t\t\tdata-test={`${type}-custom-filter-container`}\n\t\t\t\tdata-truncation\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t<ComponentTag\n\t\t\t\t\t{...componentDefaultProps}\n\t\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`${type}-content ${customRowAlignment}`}\n\t\t\tdata-test={`${type}-custom-content-container`}\n\t\t\tdata-truncation\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<ComponentTag\n\t\t\t\t{...componentDefaultProps}\n\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders the error state for the custom component\n * @param {string} type type of custom component\n * @param {object} style\n * @param {string} dir a string value that represents the language direction\n */\nconst renderErrorState = (type, style, dir) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${type}-content custom-${type}-error-content`}\n\t\t\tstyle={style}\n\t\t\tdir={dir}\n\t\t>\n\t\t\t<div className={`custom-${type}-error custom-${type}-error-icon`}>\n\t\t\t\t{getFakeNowIcon('triangle-exclamation-outline', 'md')}\n\t\t\t<\/div>\n\t\t\t<span className={`custom-${type}-error`} data-truncation>\n\t\t\t\t{t('Error')}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders the custom components\n * @param {string} type type of custom component\n * @param {TableMetadata} tableMetadata\n * @param {string} componentTag component tag of the custom component\n * @param {any} componentDefaultProps properties of the custom component\n * @param {string} dir a string value that represents the language direction\n * @param {object} cellStyle\n * @param {string} customRowAlignment\n * @param {object} placeholderStyle\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCustomComponentDisplay = (\n\ttype,\n\ttableMetadata,\n\tcomponentTag,\n\tcomponentDefaultProps,\n\tdir,\n\tcellStyle = {},\n\tplaceholderStyle = {},\n\tdispatch = null,\n\tcustomRowAlignment = ''\n) => {\n\tconst { fetchedComponents = {} } = tableMetadata;\n\tconst loadedComponentInfo = fetchedComponents[componentTag];\n\tconst status = loadedComponentInfo?.status ?? ERROR;\n\n\tif (status === LOADING) {\n\t\treturn renderLoadingState(type, placeholderStyle);\n\t}\n\n\tif (status === SUCCESS) {\n\t\treturn renderCustomComponent(\n\t\t\ttype,\n\t\t\tcomponentTag,\n\t\t\tcomponentDefaultProps,\n\t\t\tcellStyle,\n\t\t\tdispatch,\n\t\t\tcustomRowAlignment\n\t\t);\n\t}\n\n\treturn renderErrorState(type, placeholderStyle, dir);\n};\n","import { t } from 'sn-translate';\n\nimport { TABLE_DEFAULT_ICON_SIZE } from '../../../constants';\n\nexport const BOOLEAN_TRUE_STRING = t('True');\nexport const BOOLEAN_FALSE_STRING = t('False');\n\nexport const BOOLEAN_TRUE_ICON = 'circle-check-outline';\nexport const BOOLEAN_FALSE_ICON = 'circle-close-outline';\n\nconst BOOLEAN_TRUE_ID = 'true';\nconst BOOLEAN_FALSE_ID = 'false';\n\n// icons are not included in these choices because:\n// 1. this variable is used in some settings that don't support icons (eg radio buttons)\n// 2. these represent logical values, excluding visual decorations https://www.figma.com/design/dZKjg11aPVtjfLWf6LaUtj?node-id=5745-287788&m=dev#918551538\nexport const BOOLEAN_CHOICES = [\n\t{\n\t\tid: BOOLEAN_TRUE_ID,\n\t\tlabel: BOOLEAN_TRUE_STRING,\n\t},\n\t{\n\t\tid: BOOLEAN_FALSE_ID,\n\t\tlabel: BOOLEAN_FALSE_STRING,\n\t},\n];\n\nexport const BOOLEAN_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { fromUnixTime } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport isEmpty from 'lodash/isEmpty';\nimport isObject from 'lodash/isObject';\nimport toString from 'lodash/toString';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-button';\nimport '@servicenow/now-checkbox';\nimport '@servicenow/now-date-time';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport {\n\tgetColumnRequiresValueFromOperator,\n\tgetOverridenDateFormat,\n} from '../../../../../behaviors/columnFilteringBehavior/columnFilteringBehavior';\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../../utils/customLoader';\nimport {\n\tgetDateEditorVariant,\n\tisShortDateFormat,\n} from '../../../../utils/dateTimeUtils';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport { BOOLEAN_CHOICES } from '../../../fields/boolean/constants';\nimport {\n\tDECIMAL_PLACES_DEFAULT,\n\tNUMBER_FORMAT_INTEGER,\n\tNUMBER_FORMAT_LONG_INT,\n} from '../../../fields/number/constants';\nimport {\n\tCELL_CONTENT_CLASS,\n\tSPECIAL_COLUMN_CELL,\n\tSPECIAL_COLUMN_CELL_CONTENT,\n} from '../../tableBody/tableRow/rowCell/rowCellConstants';\nimport { INCLUDE_LARGE_PADDING_CLASS } from '../../tableConstants';\n\nimport {\n\tREMOVE_COLUMN_FILTER_BUTTON,\n\tCOLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\tCOLUMN_FILTERING_VALUE_ARIA_LABEL,\n\tCOLUMN_FILTERING_VALUE_INPUT_CLASS,\n\tCOLUMN_FILTERING_VALUE_PLACEHOLDER,\n\tCOLUMN_FILTERING_VALUE_INPUT_NAME,\n\tDATE_TIME_APPLY_LABEL,\n\tDATE_TIME_CANCEL_LABEL,\n\tDATE_TIME_APPLY_BUTTON_NAME,\n\tDATE_TIME_CANCEL_BUTTON_NAME,\n\tREMOVE_COLUMN_FILTER_ARIA_LABEL,\n} from './columnFilteringConsts';\n\nconst {\n\tgetColumnFilterCustomTopText,\n\tgetColumnFilterValue,\n\tgetColumnFilterValueEditorCustomComponentDefaultProps,\n\tgetColumnFilterValueEditorCustomComponentTag,\n\tgetColumnType,\n\tgetDecimalPlaces,\n\tgetFormattedColumnKey,\n\tgetNumberFormat,\n\tgetOperators,\n\tgetTimeZone,\n\tgetFirstDayOfWeek,\n} = columnSelectors;\n\nconst {\n\tTYPE_DATE_TIME,\n\tTYPE_BOOLEAN,\n\tTYPE_PILLS,\n\tTYPE_CHOICE,\n\tTYPE_NUMBER,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_CURRENCY,\n} = require('../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\n/**\n * Helper for standardizing which types use the choice popover value editor\n *\n *  @param {string} type\n */\nconst shouldUseChoiceFilter = (type) =>\n\ttype === TYPE_CHOICE || type === TYPE_PILLS;\n\n/**\n * Helper to pull this column's info from state\n *\n * @param {ProcessedColumn} column\n * @param {ColumnFilteringState} columnFilteringState\n *\n * @returns {SingleColumnFilteringState}\n */\nexport const getColumnFilteringStateForColumn = (\n\tcolumn,\n\tcolumnFilteringState\n) => columnFilteringState.columnFiltersMap[getFormattedColumnKey(column)];\n\n/**\n * Generic (stringlike) column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n *\n */\nconst genericValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst columnType = getColumnType(column);\n\tlet inputType = 'text';\n\t/** @type {string | number} */\n\tlet step = 'any';\n\n\t// enforce format for numberish types\n\tif (\n\t\tcolumnType === TYPE_NUMBER ||\n\t\tcolumnType === TYPE_PERCENT_COMPLETE ||\n\t\tcolumnType === TYPE_CURRENCY\n\t) {\n\t\tinputType = 'number';\n\t\tconst numberFormat = getNumberFormat(column); // will be undefined unless type is literally number\n\t\tconst decimalPlaces =\n\t\t\tgetDecimalPlaces(column) ?? DECIMAL_PLACES_DEFAULT;\n\n\t\tstep =\n\t\t\tnumberFormat === NUMBER_FORMAT_INTEGER ||\n\t\t\tnumberFormat === NUMBER_FORMAT_LONG_INT\n\t\t\t\t? 1\n\t\t\t\t: Math.pow(10, -decimalPlaces);\n\t}\n\n\treturn (\n\t\t<now-input\n\t\t\tappendToPayload={{ column }}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\tmin={-90000000} // step is only effective if a min is set (this is a vanilla HTML thing)\n\t\t\tname={COLUMN_FILTERING_VALUE_INPUT_NAME}\n\t\t\tplaceholder={COLUMN_FILTERING_VALUE_PLACEHOLDER}\n\t\t\tsize=\"sm\"\n\t\t\tstep={step}\n\t\t\ttype={inputType}\n\t\t\tvalue={value}\n\t\t\tconfigAria={{\n\t\t\t\t'aria-label': `${\n\t\t\t\t\tcolumn.label\n\t\t\t\t} ${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${value ?? ''}`,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Date time column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst dateTimeValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst {\n\t\tvalue,\n\t\tshouldDisableValue,\n\t\tdateTimeState,\n\t} = getColumnFilteringStateForColumn(column, columnFilteringState);\n\tconst { manageOpened, shouldDisableApply } = dateTimeState;\n\tconst format = getOverridenDateFormat(column, columnFilteringState);\n\tconst timezone = getTimeZone(column);\n\n\tconst footerActions = [\n\t\t{\n\t\t\tdisabled: shouldDisableApply,\n\t\t\tlabel: DATE_TIME_APPLY_LABEL,\n\t\t\tname: DATE_TIME_APPLY_BUTTON_NAME,\n\t\t\tvariant: 'primary',\n\t\t},\n\t\t{\n\t\t\tlabel: DATE_TIME_CANCEL_LABEL,\n\t\t\tname: DATE_TIME_CANCEL_BUTTON_NAME,\n\t\t\tvariant: 'secondary',\n\t\t},\n\t];\n\n\tconst formattedDateValue = value // sets undefined value to unix epoch without this check\n\t\t? formatInTimeZone(fromUnixTime(Number(value)), timezone, format)\n\t\t: '';\n\n\treturn (\n\t\t<now-date-time\n\t\t\tappendToPayload={{ column }}\n\t\t\taria-label={`${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${\n\t\t\t\tformattedDateValue ?? ''\n\t\t\t}`}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\tfooterActions={footerActions}\n\t\t\tformat={format}\n\t\t\tname={COLUMN_FILTERING_VALUE_INPUT_NAME}\n\t\t\topened={manageOpened}\n\t\t\tsize=\"sm\"\n\t\t\tfirstDayOfWeek={getFirstDayOfWeek(column)}\n\t\t\ttype={getDateEditorVariant(format, isShortDateFormat(format))}\n\t\t\tvalue={formattedDateValue}\n\t\t/>\n\t);\n};\n\n/**\n * Boolean column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst booleanValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\treturn (\n\t\t<now-select\n\t\t\tappendToPayload={{\n\t\t\t\tcolumn,\n\t\t\t\tname: COLUMN_FILTERING_VALUE_INPUT_NAME,\n\t\t\t}}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\titems={BOOLEAN_CHOICES}\n\t\t\tmanaged={true}\n\t\t\tsize=\"sm\"\n\t\t\tselectedItem={value}\n\t\t\tconfigAria={{\n\t\t\t\t'aria-label': `${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${\n\t\t\t\t\tvalue ?? ''\n\t\t\t\t}`,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Choice/multichoice column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst choiceValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst buttonLabel = isEmpty(getColumnFilterValue(column))\n\t\t? t({ code: 'now_list', message: 'Add filter' }, 't')\n\t\t: t('Edit filter');\n\tconst choiceValueInputButtonRef = createRef();\n\n\treturn (\n\t\t<now-button\n\t\t\tappendToPayload={{\n\t\t\t\tchoiceValueInputButtonRef,\n\t\t\t\tcolumn,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\t\t\t\tvalue,\n\t\t\t}}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tlabel={buttonLabel}\n\t\t\tref={choiceValueInputButtonRef}\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"secondary\"\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': `${column.label} ${buttonLabel}`,\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Custom column filtering value input based on input component tag in columnFilterConfig\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {*} dispatch seismic dispatch\n *\n */\nconst customValueInput = (props, dispatch) => {\n\tconst { column, columnFilteringState, dir, tableMetadata } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst componentTag = getColumnFilterValueEditorCustomComponentTag(column);\n\tconst styleWidth100 = { width: '100%' };\n\tconst componentProps = {\n\t\t...getColumnFilterValueEditorCustomComponentDefaultProps(column),\n\t\tvalue,\n\t\tdisabled: shouldDisableValue,\n\t\t// styling/visual props should be consistent, so we do not allow customizing the below\n\t\tplaceholder: COLUMN_FILTERING_VALUE_PLACEHOLDER,\n\t\tsize: 'sm',\n\t\t// match styles of column-filtering-value-input\n\t\tstyle: { ...styleWidth100, margin: 0 },\n\t};\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.COLUMN_FILTER_VALUE_INPUT,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentProps,\n\t\tdir,\n\t\tstyleWidth100,\n\t\t{},\n\t\tdispatch\n\t);\n};\n\n/**\n * Renders value input according to the column type or configured input component\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {*} dispatch seismic dispatch\n */\nconst valueInput = (props, dispatch) => {\n\tconst { column } = props;\n\n\tconst type = getColumnType(column);\n\n\tif (getColumnFilterValueEditorCustomComponentTag(column)) {\n\t\treturn customValueInput(props, dispatch);\n\t} else if (shouldUseChoiceFilter(type)) {\n\t\treturn choiceValueInput(props);\n\t} else if (type === TYPE_BOOLEAN) {\n\t\treturn booleanValueInput(props);\n\t} else if (type === TYPE_DATE_TIME) {\n\t\treturn dateTimeValueInput(props);\n\t} else {\n\t\treturn genericValueInput(props);\n\t}\n};\n\n/**\n * Renders operator input OR choice text according to the column type or configured input component\n * Choice text fully replaces operator and has nothing to do with it but is placed and styled similarly.\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n */\nconst operatorDropdownOrChoiceText = (props) => {\n\tconst { column, columnFilteringState } = props;\n\n\tconst type = getColumnType(column);\n\tconst operatorLabel = t('Operator');\n\n\tconst operators = getOperators(column);\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (shouldUseChoiceFilter(type)) {\n\t\t// @ts-ignore it doesn't like that value might be a non array, but we have already checked for that\n\t\tconst valueCount = getColumnFilterValue(column)?.length ?? 0;\n\t\tconst MAX_VALUE_COUNT_TO_DISPLAY = 99; // https://www.figma.com/design/dZKjg11aPVtjfLWf6LaUtj?node-id=5543-277856#888533851\n\n\t\t// this count is expected to display the number of APPLIED values, so it should not update with state\n\t\tconst valueCountToDisplay =\n\t\t\tvalueCount < MAX_VALUE_COUNT_TO_DISPLAY\n\t\t\t\t? valueCount\n\t\t\t\t: MAX_VALUE_COUNT_TO_DISPLAY;\n\t\tconst COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT = t(\n\t\t\t'No filter applied yet.'\n\t\t);\n\t\tconst pluralizer = valueCount == 1 ? '' : 's';\n\t\tconst COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT = t(\n\t\t\t'{0} value{1} selected.',\n\t\t\tvalueCountToDisplay,\n\t\t\tpluralizer\n\t\t);\n\n\t\t// choice text case\n\t\tconst text = valueCount\n\t\t\t? COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT\n\t\t\t: COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'choice-filter-text': true,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t<\/div>\n\t\t);\n\t} else if (isEmpty(operators)) {\n\t\t// overridden to not show operator dropdown\n\t\treturn null;\n\t} else {\n\t\treturn (\n\t\t\t<now-dropdown\n\t\t\t\tappendToPayload={{ column }}\n\t\t\t\tbare={true}\n\t\t\t\tclassName=\"column-filtering-operator-dropdown\"\n\t\t\t\titems={operators}\n\t\t\t\tlabel={operatorLabel}\n\t\t\t\tlabelPosition=\"start\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tselectedItems={[selectedOperator]}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': t('{0} Operator', column.label),\n\t\t\t\t\t\t'aria-labelledby': operatorLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * Renders the cell on the far left of the row that spans all the special columns and serves as a label for all the filtering inputs\n *\n * @param {Object} props\n * @param {number} props.filterLabelCellColSpan the number of special columns, which this cell should spread across\n * @param {string} props.columnFilteringInfo optional tooltip describing filtering string\n * @param {boolean | undefined} props.rowDragDropEnabled whether row drag and drop is enabled\n * @param {boolean} props.showInlinePadding whether to include padding\n */\nexport const columnFilterLabelCell = ({\n\tfilterLabelCellColSpan,\n\tcolumnFilteringInfo,\n\trowDragDropEnabled,\n\tshowInlinePadding,\n}) => {\n\tconst filterLabel = t('Filter');\n\tconst columnFilteringLabel = t(columnFilteringInfo);\n\tconst tdClasses = classNames({\n\t\t'column-filtering-label-cell': true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'column-filtering-label-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: !rowDragDropEnabled && showInlinePadding,\n\t});\n\n\treturn (\n\t\t<td className={tdClasses} colspan={filterLabelCellColSpan}>\n\t\t\t<div className={cellContentClasses}>\n\t\t\t\t{columnFilteringInfo && (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tclassName=\"col-filter-info-tooltip\"\n\t\t\t\t\t\ticon={'circle-info-outline'}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare=\"true\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\tdata-tooltip={columnFilteringLabel}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': `${t(\n\t\t\t\t\t\t\t\t\t`Display help info popup: ${columnFilteringLabel}`\n\t\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{filterLabel}\n\t\t\t<\/div>\n\t\t<\/td>\n\t);\n};\n\n/**\n * Renders cell for column filtering at the top of each column\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {*} dispatch seismic dispatch\n */\nexport const columnFilterCell = (props, dispatch) => {\n\tconst { column, columnFilteringState } = props;\n\n\tconst valueFromProps = columnSelectors.getColumnFilterValue(column);\n\tconst shouldShowValueEditor =\n\t\tcolumnSelectors.getColumnFilterValueEditorCustomComponentTag(column) !==\n\t\t'';\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst valueRequired = getColumnRequiresValueFromOperator(\n\t\tcolumn,\n\t\tselectedOperator\n\t);\n\n\tconst customTopText = getColumnFilterCustomTopText(column);\n\tconst removeTooltip = t('Remove');\n\n\tconst tdClasses = classNames({\n\t\t'column-filtering-cell': true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'column-filtering-cell-content': true,\n\t\t[CELL_CONTENT_CLASS]: true,\n\t});\n\n\tconst hasStateInitialized = !!getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (!hasStateInitialized) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Column filtering state not initialized for column', {\n\t\t\tcolumn,\n\t\t\tcolumnFilteringState,\n\t\t});\n\t}\n\n\tconst filterValue = isObject(valueFromProps)\n\t\t? valueFromProps\n\t\t: toString(valueFromProps);\n\n\treturn (\n\t\t<td className={tdClasses}>\n\t\t\t{hasStateInitialized ? (\n\t\t\t\t<div className={cellContentClasses}>\n\t\t\t\t\t{customTopText ? (\n\t\t\t\t\t\t<div className=\"custom-top-text\">{customTopText}<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\toperatorDropdownOrChoiceText(props)\n\t\t\t\t\t)}\n\t\t\t\t\t{shouldShowValueEditor ? (\n\t\t\t\t\t\t<div className=\"column-filtering-bottom-container\">\n\t\t\t\t\t\t\t{valueInput(props, dispatch)}\n\t\t\t\t\t\t\t{!(isEmpty(filterValue) && valueRequired) && (\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\ttype: REMOVE_COLUMN_FILTER_BUTTON,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t'aria-label': `${column.label} ${REMOVE_COLUMN_FILTER_ARIA_LABEL}`, //DEF0688145 Improved accessibility by adding column label\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\ttooltipContent={removeTooltip}\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/td>\n\t);\n};\n","// HANDLED\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_BUTTON_STATEFUL_CLICKED = 'NOW_BUTTON_STATEFUL#SELECTED_SET';\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\nexport const NOW_DATE_TIME_ENTER_KEYDOWN = 'NOW_DATE_TIME#ENTER_KEYDOWN';\nexport const NOW_DATE_TIME_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_OPENED_SET = 'NOW_DATE_TIME#OPENED_SET';\nexport const NOW_DATE_TIME_INPUT = 'NOW_DATE_TIME#INPUT';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_INPUT_ENTER_KEYDOWN = 'NOW_INPUT#ENTER_KEYDOWN';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\nexport const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n\n// INTERNAL\nexport const REFRESH_TIMEOUT = 25;\n\n// EMITTED\nexport const NOW_LIST_COLUMN_FILTER_APPLIED = 'NOW_LIST#COLUMN_FILTER_APPLIED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { getUnixTime } from 'date-fns';\nimport { zonedTimeToUtc } from 'date-fns-tz';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport remove from 'lodash/remove';\nimport { t } from 'sn-translate';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tCOLUMN_FILTERING_USER_PREFERENCE_KEY,\n\tUSER_PREF_UPDATED,\n} from '../../constants';\nimport { parseDateToUnix } from '../../shared/utils/dateTimeUtils';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport {\n\tCOLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\tCOLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n} from '../../shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterConsts';\nimport { getColumnFilteringStateForColumn } from '../../shared/views/table/tableHeaders/columnFilteringCell/columnFilteringCell';\nimport {\n\tBOOLEAN_FILTER_DEFAULT_OPERATOR,\n\tCOLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n\tCOLUMN_FILTERING_VALUE_INPUT_NAME,\n\tDATE_TIME_APPLY_BUTTON_NAME,\n\tDATE_TIME_CANCEL_BUTTON_NAME,\n\tDATE_TIME_FILTER_DEFAULT_OPERATOR,\n\tGENERIC_FILTER_DEFAULT_OPERATOR,\n\tNUMBER_FILTER_DEFAULT_OPERATOR,\n\tREMOVE_COLUMN_FILTER_BUTTON,\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n} from '../../shared/views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_CHOICE,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PILLS,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { REFRESH_CELL_TRAP } from '../keyboardNavBehavior/constants';\nimport {\n\tfocusPopoverTarget,\n\tsetBehaviorState,\n} from '../keyboardNavBehavior/keyboardNavHelpers';\nimport {\n\tCHOICE_COLUMN_FILTER,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_POPOVER_CLOSED,\n} from '../popoverBehavior/constants';\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_BUTTON_STATEFUL_CLICKED,\n\tNOW_CHECKBOX_CHECKED_SET,\n\tNOW_DATE_TIME_ENTER_KEYDOWN,\n\tNOW_DATE_TIME_FOOTER_ACTION_CLICKED,\n\tNOW_DATE_TIME_INPUT,\n\tNOW_DATE_TIME_OPENED_SET,\n\tNOW_DATE_TIME_VALUE_SET,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tNOW_INPUT_ENTER_KEYDOWN,\n\tNOW_INPUT_INPUT,\n\tNOW_LIST_COLUMN_FILTER_APPLIED,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_BUTTON_BARE_CLICKED,\n\tREFRESH_TIMEOUT,\n} from './constants';\n\nconst {\n\tgetChildren,\n\tgetColumnFilterValue,\n\tgetColumnType,\n\tgetDateTimeFormat,\n\tgetFormattedColumnKey,\n\tgetOperatorFromColumnFilterConfig,\n\tgetOperators,\n\tgetSelectedOperator,\n\tgetTimeZone,\n\thasChildren,\n} = columnSelectors;\n\nconst mapPath = `behaviors.columnFilteringBehavior.columnFilteringState.columnFiltersMap.`;\nconst dateTimeManageOpenedPath = '.dateTimeState.manageOpened';\n\n/**\n * @param {any} context\n * @returns {boolean}\n */\nconst getColumnFilteringUserPreference = (context) => {\n\tconst getColumnFilteringUserPreferenceKey = getUserPrefContext(\n\t\tCOLUMN_FILTERING_USER_PREFERENCE_KEY\n\t);\n\n\treturn context?.[getColumnFilteringUserPreferenceKey] === 'true';\n};\n\n/**\n * @param {Now.Dispatch} dispatch\n * @param {boolean} value\n */\nconst setColumnFilteringUserPreference = (dispatch, value) => {\n\tdispatch(USER_PREF_UPDATED, {\n\t\tname: COLUMN_FILTERING_USER_PREFERENCE_KEY,\n\t\tvalue: value,\n\t});\n};\n\n/**\n * Function to update lodash isEmpty to include number inputs\n * @param {SingleColumnFilteringState['value']} columnValue the columnValue type\n */\nexport const isColumnValueEmpty = (columnValue) => {\n\t// The DateTime column filter returns a number that\n\t// isEmpty will always evaluate to be true\n\n\tconst isNumberValueEmpty =\n\t\ttypeof columnValue === 'number' ? Number.isNaN(columnValue) : true;\n\n\treturn isNumberValueEmpty && isEmpty(columnValue);\n};\n\n/**\n * Given an operator id string, finds the full operator object for access to the label etc.\n * Also used to verify if the given operator is present in the operators array\n *\n * @param {ColumnFilterConfig['operators']} operators the type of the column\n * @param {SingleColumnFilteringState['selectedOperator']} selectedOperator the tentative selected operator\n *\n * @returns {object | null}\n */\nexport const findFullOperator = (operators, selectedOperator) =>\n\tfind(\n\t\toperators,\n\t\t(/** @type {ColumnFilterOperator} */ operator) =>\n\t\t\toperator?.id === selectedOperator\n\t) ?? null;\n\n/**\n * gets the default operator for a given type\n *\n * @param {ColumnBase['type']} type the type of the column\n *\n * @returns {SingleColumnFilteringState['selectedOperator']} the default operator the given type, regardless of whether that operator is actually present in the operators list\n */\nconst getDefaultOperatorForType = (type) => {\n\tswitch (type) {\n\t\tcase TYPE_NUMBER:\n\t\t\treturn NUMBER_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn BOOLEAN_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn DATE_TIME_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_PILLS:\n\t\t\treturn null;\n\t\tcase TYPE_CHOICE:\n\t\t\treturn null;\n\t\tdefault:\n\t\t\treturn GENERIC_FILTER_DEFAULT_OPERATOR;\n\t}\n};\n\n/**\n * Used in the case that there is no selected operator from props or the selected operator is not in the operators array.\n * Tries to use typed default operator if present in operators array, if not, uses first item\n *\n * @param {Object} args\n * @param {ColumnBase['type']} args.type the type of the column\n * @param {ColumnFilterConfig['operators']} args.operators the operators array for the column\n *\n * @returns {SingleColumnFilteringState['selectedOperator']} the default operator the given type, regardless of whether that operator is actually present in the operators list\n */\nexport const getBackupOperator = ({ type, operators }) => {\n\tif (isEmpty(operators)) return null;\n\tconst defaultOperator = getDefaultOperatorForType(type);\n\treturn findFullOperator(operators, defaultOperator)\n\t\t? defaultOperator\n\t\t: // @ts-ignore - we know operators is not empty bc of above check\n\t\t  operators[0].id;\n};\n\n/**\n * Helper that handles logic and calls updateState for updating an individual column's filtering state, including initial state\n *\n * @param {Object} args\n * @param {ColumnType} args.column\n * @param {SingleColumnFilteringState['value']} args.newValue\n * @param {SingleColumnFilteringState['selectedOperator']} args.newOperator\n * @param {SingleColumnFilteringState['dateTimeState']} args.newDateTimeState\n *\n * @returns {SingleColumnFilteringState} the updated state for the column, to be used in updateState\n */\nexport const getUpdatedStateForOneCol = ({\n\tcolumn,\n\tnewValue,\n\tnewOperator,\n\tnewDateTimeState,\n}) => {\n\t// OPERATOR\n\tconst operators = columnSelectors.getOperators(column);\n\tlet selectedOperator = newOperator;\n\tconst selectedOperatorObject = findFullOperator(\n\t\toperators,\n\t\tselectedOperator\n\t);\n\n\tif (!operators) selectedOperator = null;\n\telse {\n\t\tconst type = columnSelectors.getColumnType(column);\n\n\t\tif (!newOperator || !selectedOperatorObject) {\n\t\t\t// if no operator is selected, or the selected operator is not in the operators array (latter is only a concern for operator string from props)\n\t\t\tselectedOperator = getBackupOperator({ type, operators });\n\t\t}\n\t}\n\n\t// SHOULD DISABLE VALUE + VALUE\n\tconst shouldDisableValue =\n\t\t!get(selectedOperatorObject, 'requiresValue', true) &&\n\t\t!isEmpty(operators); // check isEmpty for case where operators are hidden but selectedOperator is still set\n\tconst value = shouldDisableValue ? null : newValue;\n\n\treturn {\n\t\tvalue,\n\t\tselectedOperator,\n\t\tshouldDisableValue,\n\t\tdateTimeState: newDateTimeState,\n\t};\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getColumnOperatorFromState = (column, state) => {\n\tconst columnStateValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)];\n\n\tif (!('selectedOperator' in columnStateValue)) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch operator in getColumnOperatorFromState');\n\t}\n\n\treturn columnStateValue.selectedOperator;\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getColumnValueFromState = (column, state) => {\n\tconst returnValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value;\n\n\tif (!returnValue) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch value in getColumnValueFromState');\n\t}\n\n\treturn returnValue;\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {SingleColumnFilteringState['selectedOperator']} newOperator\n * @returns {boolean}\n */\nexport const getColumnRequiresValueFromOperator = (column, newOperator) => {\n\tconst operators = columnSelectors.getOperators(column);\n\tconst selectedOperatorObject = findFullOperator(operators, newOperator);\n\n\t// requiresValue is a boolean property, by default is true\n\treturn get(selectedOperatorObject, 'requiresValue', true);\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getDateTimeState = (column, state) => {\n\tconst returnValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].dateTimeState;\n\n\tif (!returnValue) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch dateTimeState in getDateTimeState');\n\t}\n\n\treturn returnValue;\n};\n\n/**\n * @returns DateTimeState\n */\nexport const getDefaultDateTimeState = () => {\n\treturn {\n\t\tmanageOpened: false,\n\t\tshouldDisableApply: true,\n\t};\n};\n\n/**\n * Resets state of one column to whatever came from props\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const resetColumnState = ({\n\taction: {\n\t\tpayload: { column },\n\t},\n\tupdateState,\n}) => {\n\tif (!isEmpty(column.columnFilterConfig.value)) {\n\t\treturn;\n\t}\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: structuredClone(getColumnFilterValue(column)),\n\t\t\tnewOperator: getSelectedOperator(column),\n\t\t\tnewDateTimeState: getDefaultDateTimeState(),\n\t\t}),\n\t});\n};\n\n/**\n * Handles two iconic buttons in col filtering experience:\n * - Show/hide column filtering row when the column filter button-iconic is clicked\n * - Remove filter button\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleFilteringIconicButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { type } = payload;\n\n\tif (type === SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION) {\n\t\tupdateShowColumnFilteringRowState(coeffects);\n\t}\n\tif (type === REMOVE_COLUMN_FILTER_BUTTON) {\n\t\tconst { column } = payload;\n\t\tconst columnType = getColumnType(column);\n\t\tconst operators = getOperators(column);\n\t\tconst newValue =\n\t\t\tcolumnType === TYPE_CHOICE || columnType === TYPE_PILLS ? [] : null;\n\n\t\temitApplyAction({\n\t\t\tcoeffects,\n\t\t\tcolumn,\n\t\t\tnewValue: newValue,\n\t\t\tnewOperator: getBackupOperator({ type: columnType, operators }),\n\t\t\tcolumnFilterRemoved: true,\n\t\t});\n\t}\n};\n\n/**\n * Handle now-date-time-calendar footer buttons Apply and Cancel\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDateTimeActionsClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\taction: { name, isToday },\n\t\t\t\tcolumn,\n\t\t\t},\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Clicking either Apply or Cancel will close the popover\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(\n\t\t\tcolumn\n\t\t)}${dateTimeManageOpenedPath}`,\n\t\toperation: 'set',\n\t\tvalue: false,\n\t});\n\n\tif (name === DATE_TIME_CANCEL_BUTTON_NAME) {\n\t\tresetColumnState(coeffects);\n\t} else if (name === DATE_TIME_APPLY_BUTTON_NAME || isToday) {\n\t\temitApplyAction({\n\t\t\tcoeffects,\n\t\t\tcolumn,\n\t\t\tnewValue: getColumnValueFromState(column, state),\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t});\n\t}\n\n\tfocusPopoverTarget(coeffects);\n};\n\n/**\n * Handle opening now-date-time-calendar\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleOpeningDateTimeCalendar = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(\n\t\t\tcolumn\n\t\t)}${dateTimeManageOpenedPath}`,\n\t\toperation: 'set',\n\t\tvalue: true,\n\t});\n};\n\n/**\n * Handles updating the state to show/hide the column filtering row\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst updateShowColumnFilteringRowState = ({\n\tstate: {\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: {\n\t\t\t\tcolumnFilteringState: { showColumnFilteringRow },\n\t\t\t},\n\t\t},\n\t},\n\tdispatch,\n\tupdateState,\n}) => {\n\tupdateState({\n\t\tpath:\n\t\t\t'behaviors.columnFilteringBehavior.columnFilteringState.showColumnFilteringRow',\n\t\toperation: 'set',\n\t\tvalue: !showColumnFilteringRow,\n\t});\n\n\tsetColumnFilteringUserPreference(dispatch, !showColumnFilteringRow);\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t});\n};\n\n/**\n * handles all buttons in the choice column filtering experience\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleButtonClicked = (coeffects) => {\n\tconst { action, dispatch, state } = coeffects;\n\tconst {\n\t\tpayload: { column, name },\n\t} = action;\n\n\tswitch (name) {\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME:\n\t\t\topenChoiceColumnFilterPopover(coeffects);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME:\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME:\n\t\t\temitApplyAction({\n\t\t\t\tcoeffects,\n\t\t\t\tcolumn,\n\t\t\t\tnewValue: getColumnValueFromState(column, state),\n\t\t\t\tnewOperator: null,\n\t\t\t});\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME:\n\t\t\tselectAllOrNone(coeffects, true);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME:\n\t\t\tselectAllOrNone(coeffects, false);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * handles opening the choice column filter popover when the trigger button is clicked\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst openChoiceColumnFilterPopover = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { choiceValueInputButtonRef, column },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!choiceValueInputButtonRef) return;\n\n\tconst popoverDefinition = {\n\t\tconfig: {\n\t\t\tariaLabel: t('Column Filter Popover for {0}', column.label),\n\t\t\tdismissOnScroll: false, // header is sticky anyway\n\t\t\thideTail: false,\n\t\t\tdismissable: true,\n\t\t},\n\t\tcontent: {\n\t\t\t// Allows for dialog focus onto the choice filter popover\n\t\t\tcomponentTag: CHOICE_COLUMN_FILTER,\n\t\t\tpopoverType: CHOICE_COLUMN_FILTER,\n\t\t},\n\t};\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: choiceValueInputButtonRef,\n\t\tpopoverDefinition,\n\t\tcontext: {\n\t\t\tcolumn,\n\t\t},\n\t});\n};\n\n/**\n * Handles updating state for generic inputs, which don't autoapply on change\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInputValueUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, name },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: fieldValue,\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Returns the date format to be overriden. It is based on the selected operator.\n * If override is not provided, it returns the default date format from the column.\n *\n * @param {ProcessedColumn} column\n * @param {ColumnFilteringState} columnFilteringState\n *\n * @returns {string} date format\n */\nexport const getOverridenDateFormat = (column, columnFilteringState) => {\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst dateFormatFromColumn = getDateTimeFormat(column);\n\tconst selectedOperatorConfig = getOperatorFromColumnFilterConfig(\n\t\tcolumn,\n\t\tselectedOperator\n\t);\n\t// todo: empty object is to avoid failing tests\n\tconst { dateFormatOverride } = selectedOperatorConfig || {};\n\treturn dateFormatOverride ? dateFormatOverride : dateFormatFromColumn;\n};\n\n/**\n * Handles updating state for datetime inputs, which don't autoapply on change\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDateTimeValueUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, value, name },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst {\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t\t},\n\t} = state;\n\tif (!columnFilteringState) return;\n\tconst timezone = getTimeZone(column);\n\tconst timeformat = getDateTimeFormat(column);\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\t// sometimes new value comes from popover (value), sometimes it comes from the input field (fieldValue),\n\t// depending on what the user changed.\n\t// treating value as the primary since it's more likely to be valid.\n\t// FIXME: eventually need to handle validity checks on fieldValue here, but invalidity shows a message below the field that throws off this field's alignment with other columns' filtering fields. need design input on how to solve that\n\tconst newValueString = value ?? fieldValue;\n\tconst newValueInUnix = parseDateToUnix(\n\t\tnewValueString,\n\t\ttimezone,\n\t\ttimeformat\n\t);\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: newValueInUnix,\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t\tnewDateTimeState: {\n\t\t\t\t...getDateTimeState(column, state),\n\t\t\t\tshouldDisableApply:\n\t\t\t\t\tgetColumnFilterValue(column) === newValueInUnix,\n\t\t\t},\n\t\t}),\n\t});\n};\n\n/**\n * Updates state when a checkbox in the choice column filtering popover is checked or unchecked\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleCheckboxCheckedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name: choiceKey, value: isChecked, column },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst oldValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value ?? [];\n\n\tconst newValue = oldValue;\n\n\tif (isChecked) {\n\t\tif (!includes(oldValue, choiceKey)) {\n\t\t\tnewValue.push(choiceKey);\n\t\t}\n\t} else {\n\t\tremove(\n\t\t\tnewValue,\n\t\t\t(/** @type {ChoiceType['key']} */ item) => item === choiceKey\n\t\t);\n\t}\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue,\n\t\t\tnewOperator: null,\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Handles the select all and select none buttons in the choice column filtering popover\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {boolean} shouldCheck indicates whether this is select all (true) or select none (false)\n */\nexport const selectAllOrNone = (coeffects, shouldCheck) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, choices },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Retrieve the existing filter values for the current column, or default to an empty array\n\tconst oldValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value ?? [];\n\n\t// Create a reference to the oldValue array to modify\n\tconst newValue = oldValue;\n\n\tif (shouldCheck) {\n\t\t// Add each choice key to the newValue array, ensuring no duplicates\n\t\tchoices?.forEach((/** @type {PillType | ChoiceType} */ choice) => {\n\t\t\tif (!newValue.includes(choice.key)) {\n\t\t\t\tnewValue.push(choice.key); // Add this choice if it's not already included\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// Remove each choice key from the newValue array if it exists\n\t\tchoices?.forEach((/** @type {PillType | ChoiceType} */ choice) => {\n\t\t\tconst index = newValue.indexOf(choice.key);\n\t\t\tif (index !== -1) {\n\t\t\t\tnewValue.splice(index, 1); // Remove this choice if it's found in the array\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue,\n\t\t\tnewOperator: null,\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Handles applying changes for a column when its operator changes\n * Operator change should not apply changes when there is no value and a value is required.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleOperatorUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcolumn,\n\t\t\t\titem: { id: newOperator },\n\t\t\t},\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue: getColumnValueFromState(column, state),\n\t\tnewOperator,\n\t});\n};\n\n/**\n * Handles applying changes on enter within now-input and now-datetime\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInputAndDateTimeKeyDownApply = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, name },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst timezone = getTimeZone(column);\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\tconst newValue =\n\t\tgetColumnType(column) === TYPE_DATE_TIME\n\t\t\t? getUnixTime(zonedTimeToUtc(fieldValue, timezone))\n\t\t\t: fieldValue;\n\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue,\n\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t});\n};\n\n/**\n * Handles applying changes (internally in state and emitting updates) when now-select's value is changed\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleSelectApply = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, value, name },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME) return;\n\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue: value,\n\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t});\n};\n\n/**\n * Handles scenarios in which the apply outward action is emitted by grooming the payload for that action\n *\n * @param {Object} args\n * @param {Coeffects<Props, State>} args.coeffects\n * @param {ColumnBase} args.column column that has been updated\n * @param {SingleColumnFilteringState['value']} args.newValue the new filter value input through the UI (if unchanged, then will still be considered new)\n * @param {SingleColumnFilteringState['selectedOperator']} args.newOperator the new operator selected through the UI (if unchanged, then will still be considered new)\n * @param {boolean=} args.columnFilterRemoved true if this method is called to clear the column filter\n *\n */\nexport const emitApplyAction = ({\n\tcoeffects: { dispatch, updateState },\n\tcolumn,\n\tnewValue,\n\tnewOperator,\n\tcolumnFilterRemoved,\n}) => {\n\tconst oldValue = getColumnFilterValue(column);\n\tconst oldOperator = getSelectedOperator(column);\n\n\tif (!columnFilterRemoved) {\n\t\tupdateState({\n\t\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\t\toperation: 'set',\n\t\t\tvalue: getUpdatedStateForOneCol({\n\t\t\t\tcolumn,\n\t\t\t\tnewValue,\n\t\t\t\tnewOperator,\n\t\t\t\tnewDateTimeState: {\n\t\t\t\t\tmanageOpened: false,\n\t\t\t\t\tshouldDisableApply: true,\n\t\t\t\t},\n\t\t\t}),\n\t\t});\n\t}\n\n\tif (oldValue === newValue && oldOperator === newOperator) return;\n\n\t// column is empty and hasn't changed from the previous value\n\tconst isColumnEmpty =\n\t\tisColumnValueEmpty(oldValue) && isColumnValueEmpty(newValue);\n\n\tconst shouldOperatorEmit =\n\t\tnewOperator !== oldOperator &&\n\t\tgetColumnRequiresValueFromOperator(column, newOperator);\n\n\t/** The only condition where we wouldn't dispatch a filter being applied is\n\t * when the operator changes to a new operator requiring a value to filter, and\n\t * the current value in the filter is empty.\n\t */\n\tif (isColumnEmpty && shouldOperatorEmit && !columnFilterRemoved) {\n\t\t// setTimeout with 25ms places this at the next event loop, after the operator state\n\t\t// has updated, and the trashcan button has been removed\n\t\tsetTimeout(() => {\n\t\t\tdispatch(REFRESH_CELL_TRAP);\n\t\t}, REFRESH_TIMEOUT);\n\n\t\treturn;\n\t}\n\n\t// keyboardNav behavior state\n\tsetBehaviorState(updateState, {\n\t\tfocusedCellActions: {\n\t\t\texitCellTrap: true,\n\t\t},\n\t});\n\n\tdispatch(NOW_LIST_COLUMN_FILTER_APPLIED, {\n\t\tcolumn,\n\t\tnewValue,\n\t\tnewOperator,\n\t\toldValue,\n\t\toldOperator,\n\t});\n};\n\n/**\n * checks if state should be reinitialized\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t!isEqual(value, previousValue) &&\n\t\t(name === 'columnDefinitions' || name === 'columnFilteringEnabled')\n\t) {\n\t\tsetInitialState(coeffects);\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nconst setInitialState = (coeffects) => {\n\tconst {\n\t\tcontext,\n\t\tproperties: { columnDefinitions },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (isEmpty(columnDefinitions)) {\n\t\treturn;\n\t}\n\tconst columns = columnDefinitions.columns;\n\t/** @type {ColumnFilteringState['columnFiltersMap']} */\n\tconst columnFiltersMap = {};\n\n\tif (!isEmpty(columns)) {\n\t\tconst stack = [...columns]; // Create a stack to hold objects for processing\n\t\twhile (stack.length > 0) {\n\t\t\tconst column = stack.pop();\n\n\t\t\tif (!column) continue;\n\n\t\t\tif (hasChildren(column)) {\n\t\t\t\tstack.push(...getChildren(column)); // Add children to stack for further processing\n\t\t\t} else {\n\t\t\t\tcolumnFiltersMap[\n\t\t\t\t\tgetFormattedColumnKey(column)\n\t\t\t\t] = getUpdatedStateForOneCol({\n\t\t\t\t\tcolumn,\n\t\t\t\t\tnewValue: getColumnFilterValue(column),\n\t\t\t\t\tnewOperator: getSelectedOperator(column),\n\t\t\t\t\tnewDateTimeState: getDefaultDateTimeState(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateState({\n\t\tpath: 'behaviors.columnFilteringBehavior',\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\tcolumnFilteringState: {\n\t\t\t\tshowColumnFilteringRow: getColumnFilteringUserPreference(\n\t\t\t\t\tcontext\n\t\t\t\t),\n\t\t\t\tcolumnFiltersMap,\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst columnFilteringBehavior = {\n\tname: 'columnFilteringBehavior',\n\tactionHandlers: {\n\t\t// INIT\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: setInitialState,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handlePropertyChanged,\n\t\t},\n\t\t// MISC\n\t\t[NOW_BUTTON_CLICKED]: {\n\t\t\teffect: handleButtonClicked,\n\t\t\tstopPropagation: false, // in case a now-button is used as a custom value editor\n\t\t},\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: handleButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_STATEFUL_CLICKED]: {\n\t\t\teffect: handleFilteringIconicButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleFilteringIconicButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_FOOTER_ACTION_CLICKED]: {\n\t\t\teffect: handleDateTimeActionsClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// STATE UPDATES\n\t\t[NOW_INPUT_INPUT]: {\n\t\t\teffect: handleInputValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_INPUT]: {\n\t\t\teffect: handleDateTimeValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\t\teffect: handleDateTimeValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_OPENED_SET]: {\n\t\t\teffect: handleOpeningDateTimeCalendar,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_CHECKBOX_CHECKED_SET]: {\n\t\t\teffect: handleCheckboxCheckedSet,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// APPLY ACTIONS\n\t\t[NOW_DATE_TIME_ENTER_KEYDOWN]: {\n\t\t\teffect: handleInputAndDateTimeKeyDownApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\t\teffect: handleOperatorUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_INPUT_ENTER_KEYDOWN]: {\n\t\t\teffect: handleInputAndDateTimeKeyDownApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\t\teffect: handleSelectApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_CLOSED]: {\n\t\t\teffect: resetColumnState,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n\nexport default columnFilteringBehavior;\n","export const NOW_LIST_HEADER_CELL_TEXT_CLICKED =\n\t'NOW_LIST#HEADER_CELL_TEXT_CLICKED';\nexport const HEADER_CELL_TEXT_CLICKED = 'HEADER_CELL_TEXT_CLICKED';\n","import columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { NOW_LIST_POPOVER_CLOSED } from '../popoverBehavior/constants';\n\nimport {\n\tHEADER_CELL_TEXT_CLICKED,\n\tNOW_LIST_HEADER_CELL_TEXT_CLICKED,\n} from './constants';\n\nconst { hasChildren, getHeaderTextDisabled } = columnSelectors;\n\n/**\n * Event handler for header cell text click event\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nexport const headerTextClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tif (getHeaderTextDisabled(column)) return;\n\n\t// don't dispatch if the column header cell has children\n\tif (hasChildren(column)) return;\n\n\tdispatch(NOW_LIST_HEADER_CELL_TEXT_CLICKED, {\n\t\tcolumn,\n\t});\n};\n\n/**\n * Event handler for header cell text click event\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst handlePopoverClosed = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({\n\t\tactiveColumnKey: null,\n\t});\n};\n\nexport default {\n\tname: 'columnHeaderClickBehavior',\n\tactionHandlers: {\n\t\t[HEADER_CELL_TEXT_CLICKED]: {\n\t\t\teffect: headerTextClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_CLOSED]: {\n\t\t\teffect: handlePopoverClosed,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n","export const SET_COLUMN_WIDTHS = 'NOW_LIST#SET_COLUMN_WIDTHS';\nexport const INIT_COLUMN_WIDTHS = 'NOW_LIST#INIT_COLUMN_WIDTHS';\nexport const SET_FINAL_AUTO_WIDTHS = 'NOW_LIST#SET_FINAL_AUTO_WIDTHS';\nexport const ADD_RESIZE_OBSERVER = 'NOW_LIST#ADD_RESIZE_OBSERVER';\n\nexport const COL_MIN_WIDTH = '120px';\nexport const TABLE_LAYOUT_AUTO = 'auto';\nexport const TABLE_LAYOUT_FIXED = 'fixed';\nexport const COLUMN_WIDTHS_UPDATED = 'NOW_LIST#COLUMN_WIDTHS_UPDATED';\n","export const ACTION_PREFIX = 'NOW_LIST#';\nexport const COLUMN_RESIZE_STARTED = 'NOW_LIST#RESIZE_STARTED';\nexport const COLUMN_SIZE_UPDATED = 'NOW_LIST#SIZE_UPDATED';\nexport const COLUMN_RESIZE_COMPLETED = 'NOW_LIST#RESIZE_COMPLETED';\n\nexport const COL_RESIZE_MIN_WIDTH = 144;\nexport const RESIZE_SLIDER_CLASS = 'resize-slider';\n","import { nowResizeBehavior } from '../../commons';\nimport { TABLE_LAYOUT_FIXED } from '../columnWidthBehavior/constants';\nimport { KEY } from '../keyboardNavBehavior/constants';\n\nimport {\n\tACTION_PREFIX,\n\tCOL_RESIZE_MIN_WIDTH,\n\tCOLUMN_RESIZE_COMPLETED,\n\tRESIZE_SLIDER_CLASS,\n\tCOLUMN_RESIZE_STARTED,\n\tCOLUMN_SIZE_UPDATED,\n} from './constants';\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onResizeStart = ({ action, updateState }) => {\n\tconst target = action.payload.domEvent.target;\n\tif (!target) return;\n\n\t// table does not respect column widths when tableLayout is not fixed\n\tconst table = target.closest('table');\n\tif (table.style.tableLayout !== TABLE_LAYOUT_FIXED) {\n\t\tupdateState({\n\t\t\tpath: 'columnWidthsState.tableLayout',\n\t\t\tvalue: TABLE_LAYOUT_FIXED,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\tconst resizeGuide = target.querySelector('.resize-slider-guide');\n\tif (resizeGuide) {\n\t\tconst tableHeight = table.clientHeight;\n\t\tresizeGuide.style.height = `${tableHeight}px`;\n\t}\n};\n\n/**\n * @param {HTMLElement} target\n */\nexport const getHeaderAndSliderElements = (target) => {\n\tlet headerElement = null,\n\t\tsliderContainer = null;\n\t// in case of mouse it is th, in case of keyboard it is resize-slider-container\n\tif (target.nodeName === 'TH') {\n\t\theaderElement = target;\n\t\tsliderContainer = target.querySelector('.resize-slider-container');\n\t} else if (target.classList.contains('resize-slider-container')) {\n\t\tsliderContainer = target;\n\t\theaderElement = target.closest('th');\n\t}\n\treturn { headerElement, sliderContainer };\n};\n\n/**\n *\n * @param {Element|null} sliderContainer\n * @returns\n */\nexport const scrollToIfNotInView = (sliderContainer) => {\n\tif (!sliderContainer) return;\n\tconst { left, right } = sliderContainer.getBoundingClientRect();\n\tconst scrollContainer = sliderContainer.closest('.scroll-container');\n\tif (!scrollContainer) return;\n\tconst {\n\t\tleft: containerLeft,\n\t\tright: containerRight,\n\t} = scrollContainer.getBoundingClientRect();\n\n\tif (left < containerLeft || right > containerRight) {\n\t\tsliderContainer.scrollIntoView({ block: 'nearest' });\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onSizeUpdated = ({ action }) => {\n\t/** @type {HTMLElement} */\n\tconst target = action.payload.domEvent.target;\n\tif (!target) return;\n\tconst { headerElement, sliderContainer } = getHeaderAndSliderElements(\n\t\ttarget\n\t);\n\tif (!headerElement || !sliderContainer) return;\n\t/*\n\t * in case of grouped columns we were depending on colspan for width,\n\t * so updating the width on a grouped child header will not resize.\n\t * Now we are updating the width on col in colgroup which is being respected by the browser\n\t * We are disabling resize on parent header column if it has children, as we dont have the col entry for that parent in colgroup,\n\t * resizing the child will update the parent accordingly\n\t */\n\tconst colgroup = getColGroup(headerElement);\n\tif (!colgroup) return;\n\tcolgroup.style.width = headerElement.style.width;\n\n\tscrollToIfNotInView(sliderContainer);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onResizeCompleted = ({ action }) => {\n\t/** @type {HTMLTableCellElement} */\n\tconst target = action.payload.domEvent.target;\n\t/** @type {HTMLDivElement|null} */\n\tconst resizeGuide = target?.querySelector('.resize-slider-guide');\n\tif (resizeGuide) {\n\t\tresizeGuide.style.height = '0';\n\t}\n};\n\n/**\n * @param {HTMLElement | null | undefined} target\n * @returns {HTMLElement | undefined}\n */\nexport const getColGroup = (target) => {\n\tif (!target) return undefined;\n\n\tconst columnKey = target.dataset?.columnKey;\n\n\tif (columnKey) {\n\t\tconst table = target.closest('table');\n\t\t/**\n\t\t * @type {HTMLElement | null | undefined}\n\t\t */\n\t\tconst colgroup = table?.querySelector(\n\t\t\t`col[data-column-edge-key=\"${columnKey}\"]`\n\t\t);\n\t\tif (colgroup) {\n\t\t\treturn colgroup;\n\t\t}\n\t}\n};\n\nconst columnResizeBehavior = {\n\tbehavior: {\n\t\tname: 'resize',\n\t\tactionHandlers: {\n\t\t\t...nowResizeBehavior.actionHandlers,\n\t\t\t[COLUMN_RESIZE_STARTED]: onResizeStart,\n\t\t\t[COLUMN_RESIZE_COMPLETED]: onResizeCompleted,\n\t\t\t[COLUMN_SIZE_UPDATED]: onSizeUpdated,\n\t\t},\n\t},\n\toptions: {\n\t\tedges: {\n\t\t\tleft: false,\n\t\t\ttop: false,\n\t\t\tright: `.${RESIZE_SLIDER_CLASS}`,\n\t\t\tbottom: false,\n\t\t},\n\t\tminWidth: COL_RESIZE_MIN_WIDTH,\n\t\tselector: '.header-cell',\n\t\tactionPrefix: ACTION_PREFIX,\n\t\tkeyboardSupport: true,\n\t\tonbeforeupdate: (/** @type {*} */ domEvent) => {\n\t\t\tif (\n\t\t\t\tdomEvent &&\n\t\t\t\t(domEvent.key === KEY.ARROW_LEFT ||\n\t\t\t\t\tdomEvent.key === KEY.ARROW_RIGHT)\n\t\t\t) {\n\t\t\t\t// to avoid navigation to next cell\n\t\t\t\tdomEvent.stopPropagation();\n\t\t\t\t// to avoid horizontal scrolling\n\t\t\t\tdomEvent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tkeyboardOptions: {\n\t\t\tkeyboardResizeDelta: 5,\n\t\t\thandles: {\n\t\t\t\tright: '.resize-slider-container',\n\t\t\t},\n\t\t},\n\t},\n};\n\nexport default columnResizeBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { COLUMN_RESIZE_COMPLETED } from '../columnResizeBehavior/constants';\n\nimport {\n\tADD_RESIZE_OBSERVER,\n\tCOLUMN_WIDTHS_UPDATED,\n\tCOL_MIN_WIDTH,\n\tINIT_COLUMN_WIDTHS,\n\tSET_COLUMN_WIDTHS,\n\tSET_FINAL_AUTO_WIDTHS,\n\tTABLE_LAYOUT_AUTO,\n\tTABLE_LAYOUT_FIXED,\n} from './constants';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst { getColumnKey, isSpecialColumnKey } = columnSelectors;\n\n// #region private\n\n/**\n * updates auto widths of columns calculated by browser\n * @param {Function} updateState\n * @param {string} columnKey\n * @param {string} columnWidth\n * @param {string|null}  width\n * @param {any} target\n * @param {any} dispatch\n */\nexport const updateWidth = (\n\tupdateState,\n\tcolumnKey,\n\tcolumnWidth,\n\twidth,\n\ttarget = null,\n\tdispatch = null\n) => {\n\t// this will be batched for all columns as we are making these calls synchronously\n\tupdateState(\n\t\t/** @param  {Coeffects<Props, State>} coeffects*/ ({ state }) => {\n\t\t\tconst columnWidthsState = get(state, 'columnWidthsState');\n\t\t\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\t\t\tconst widths = get(columnWidthsState, 'widths');\n\t\t\tif (width) {\n\t\t\t\tautoWidths[columnKey] = width;\n\t\t\t}\n\t\t\tif (columnWidth) {\n\t\t\t\twidths[columnKey] = columnWidth;\n\t\t\t}\n\t\t\tconst autoWidthsCount = Object.keys(autoWidths).length;\n\t\t\tconst totalColumns = columnSelectors.getColumnEdges(\n\t\t\t\tstate.processedColumnDefinitions\n\t\t\t)?.length;\n\t\t\t// after the final column insert browser calculates widths again\n\t\t\t// so adding a resize observer to save the adjusted final widths\n\t\t\tif (autoWidthsCount >= totalColumns && target) {\n\t\t\t\tconst resizeObserver = get(columnWidthsState, 'resizeObserver');\n\t\t\t\tif (!resizeObserver) dispatch(ADD_RESIZE_OBSERVER, { target });\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\t\t\tvalue: autoWidths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'columnWidthsState.widths',\n\t\t\t\t\tvalue: widths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t);\n};\n\n/**\n * @param {any} autoWidths\n * @param {any} target\n */\nexport const getFinalCalculatedAutoWidths = (autoWidths, target) => {\n\tconst finalAutoWidths = autoWidths;\n\tlet widthsChanged = false;\n\tif (target) {\n\t\tconst table = target.closest('table');\n\t\tconst thElements = table.querySelectorAll('th');\n\t\tconst thElementsMap = Array.from(thElements).reduce((acc, th) => {\n\t\t\tconst columnKey = th.getAttribute('data-column-key');\n\t\t\tacc[columnKey] = th;\n\t\t\treturn acc;\n\t\t}, {});\n\t\tfor (const columnKey in autoWidths) {\n\t\t\tconst th = thElementsMap[columnKey];\n\t\t\tif (th) {\n\t\t\t\tconst offsetWidth = th.offsetWidth;\n\t\t\t\tlet autoWidth = `${offsetWidth}px`;\n\t\t\t\tif (!offsetWidth) {\n\t\t\t\t\t//fallback to computed width in case offsetWidth is not available\n\t\t\t\t\tautoWidth = window.getComputedStyle(th).width;\n\t\t\t\t}\n\n\t\t\t\tif (autoWidth !== finalAutoWidths[columnKey]) {\n\t\t\t\t\tfinalAutoWidths[columnKey] = autoWidth;\n\t\t\t\t\twidthsChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn { finalAutoWidths, widthsChanged };\n};\n\n// #endregion\n\n// #region action handlers\n\n/**\n * This effect sets initial state for column widths\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const setInitialState = (coeffects) => {\n\tconst { updateState, properties } = coeffects;\n\tconst { columnResizingEnabled } = properties;\n\tupdateState({\n\t\tpath: 'columnWidthsState',\n\t\tvalue: {\n\t\t\ttableLayout: TABLE_LAYOUT_AUTO,\n\t\t\tautoWidths: {},\n\t\t\twidths: {},\n\t\t\tcolumnResizingEnabled,\n\t\t\tresizeObserver: null,\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * called via insert hook on header column\n * This effect saves auto widths of columns calculated by browser\n * in columnWidthsState autoWidths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const saveColumnAutoWidth = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { column, vnode },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tlet width;\n\tconst columnKey = getColumnKey(column);\n\tconst columnWidth = columnSelectors.getWidth(column);\n\tif (typeof window === 'undefined') {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\twidth = COL_MIN_WIDTH;\n\t} else {\n\t\tconst offsetWidth = vnode.elm.offsetWidth;\n\t\tlet width = `${offsetWidth}px`;\n\t\tif (!offsetWidth) {\n\t\t\t//fallback to computed width in case offsetWidth is not available\n\t\t\twidth = window.getComputedStyle(vnode.elm).width;\n\t\t}\n\t\tupdateWidth(\n\t\t\tupdateState,\n\t\t\tcolumnKey,\n\t\t\tcolumnWidth,\n\t\t\twidth || columnWidth,\n\t\t\tvnode.elm,\n\t\t\tdispatch\n\t\t);\n\t}\n};\n\n// @ts-ignore\nexport const initColumnAutoWidth = ({ state, updateState, host, dispatch }) => {\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst widths = get(columnWidthsState, 'widths');\n\tconst table = host.shadowRoot.querySelector('table');\n\tconst columnEdges = columnSelectors.getColumnEdges(\n\t\tstate.processedColumnDefinitions\n\t);\n\tconst autoWidthsCount = Object.keys(autoWidths).length;\n\t//no need to calculate widths if autoWidths are already set\n\tif (!columnEdges || autoWidthsCount) return;\n\n\trequestAnimationFrame(() => {\n\t\tconst thElements = table ? table.querySelectorAll('th') : [];\n\t\tconst thElementsMap = Array.from(thElements).reduce((acc, th) => {\n\t\t\tconst columnKey = th.getAttribute('data-column-key');\n\t\t\tacc[columnKey] = th;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\tconst totalColumns = columnEdges.length;\n\n\t\t// @ts-ignore\n\t\tcolumnEdges.map((columnKey, index) => {\n\t\t\tconst th = thElementsMap[columnKey];\n\t\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\t\tstate.processedColumnDefinitions,\n\t\t\t\tcolumnKey\n\t\t\t);\n\t\t\tconst columnWidth = columnSelectors.getWidth(column);\n\t\t\tif (th) {\n\t\t\t\t//no need to query DOM for width if already available\n\t\t\t\tif (!columnWidth) {\n\t\t\t\t\tlet autoWidth = COL_MIN_WIDTH;\n\t\t\t\t\tconst offsetWidth = th.offsetWidth;\n\t\t\t\t\tif (offsetWidth) {\n\t\t\t\t\t\tautoWidth = `${offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t\tautoWidths[columnKey] = autoWidth;\n\t\t\t\t}\n\t\t\t\t// adding a resize observer to save the adjusted final widths\n\t\t\t\tif (index === totalColumns - 1) {\n\t\t\t\t\tconst resizeObserver = get(\n\t\t\t\t\t\tcolumnWidthsState,\n\t\t\t\t\t\t'resizeObserver'\n\t\t\t\t\t);\n\t\t\t\t\t//set widths only if atleast there is one column with width\n\t\t\t\t\tif (\n\t\t\t\t\t\t!resizeObserver &&\n\t\t\t\t\t\twidths &&\n\t\t\t\t\t\tObject.keys(widths).length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(SET_FINAL_AUTO_WIDTHS, { target: th });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (columnWidth) {\n\t\t\t\twidths[columnKey] = columnWidth;\n\t\t\t\tautoWidths[columnKey] = columnWidth;\n\t\t\t}\n\t\t});\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\t\tvalue: autoWidths,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'columnWidthsState.widths',\n\t\t\t\tvalue: widths,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t]);\n\t});\n};\n\n/**\n * This adds a resize observer to table to calculate and set final auto widths\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const addResizeObserver = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { target },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tconst table = target.closest('table');\n\tconst resizeObserver = new ResizeObserver((entries, observer) => {\n\t\tif (!entries) return;\n\t\tconst height = getComputedStyle(table).height;\n\t\tif (!height || height === 'auto') return;\n\n\t\tconst tbody = table.querySelector('tbody');\n\t\tif (tbody) {\n\t\t\tconst rows = tbody.querySelectorAll('tr');\n\t\t\tif (!rows || !rows.length) return;\n\t\t}\n\n\t\tif (table.style.tableLayout === 'fixed') {\n\t\t\tobserver.disconnect();\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch(SET_FINAL_AUTO_WIDTHS, { target });\n\t});\n\tresizeObserver.observe(table, { box: 'border-box' });\n\tupdateState({\n\t\tpath: 'columnWidthsState.resizeObserver',\n\t\tvalue: resizeObserver,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect saves auto widths of columns calculated by browser\n * in columnWidthsState autoWidths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const setFinalWidths = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { target },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst tableLayout = get(columnWidthsState, 'tableLayout');\n\tconst widths = get(columnWidthsState, 'widths');\n\n\tconst { finalAutoWidths, widthsChanged } = getFinalCalculatedAutoWidths(\n\t\tautoWidths,\n\t\ttarget\n\t);\n\tif (!widthsChanged && isEmpty(widths)) return;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\tvalue: finalAutoWidths,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'columnWidthsState.tableLayout',\n\t\t\tvalue: !isEmpty(widths) ? TABLE_LAYOUT_FIXED : tableLayout,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true,\n\t\t},\n\t]);\n};\n\n/**\n * This effect sets disconnects resize observers in case they are not already\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const disconnectResizeObserver = (coeffects) => {\n\tconst { state } = coeffects;\n\tconst resizeObserver = get(state, 'columnWidthsState.resizeObserver');\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect();\n\t}\n};\n\n/**\n * This effect saves width of column resized by resize handle\n * in columnWidthsState widths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const saveResizedColumnWidth = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { domEvent },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\tlet columnHeaderNode = domEvent.target;\n\t// in case of keyboard target is slider container\n\tif (columnHeaderNode.nodeName !== 'TH') {\n\t\tcolumnHeaderNode = columnHeaderNode.closest('th');\n\t}\n\tconst columnKey = columnHeaderNode.dataset.columnKey;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst currentAutoWidth = autoWidths[columnKey];\n\tconst oldWidths = get(columnWidthsState, 'widths');\n\tconst oldWidth = oldWidths[columnKey] || currentAutoWidth;\n\tconst updatedWidth = columnHeaderNode.style.width;\n\toldWidths[columnKey] = updatedWidth;\n\tconst columnsWidths = Object.keys(autoWidths).reduce((widths, key) => {\n\t\tif (!isSpecialColumnKey(key)) {\n\t\t\t// @ts-ignore\n\t\t\twidths[key] = oldWidths[key] || autoWidths[key];\n\t\t}\n\t\treturn widths;\n\t}, {});\n\tupdateWidth(updateState, columnKey, updatedWidth, updatedWidth);\n\tdispatch(COLUMN_WIDTHS_UPDATED, {\n\t\tcolumnKey,\n\t\toldWidth,\n\t\tupdatedWidth,\n\t\tcolumnsWidths,\n\t});\n};\n// #endregion\n\n// #region public\n/**\n * @param {ColumnWidthsState} columnWidthsState\n * @param {String} columnKey\n */\nexport const getSavedWidth = (columnWidthsState, columnKey) => {\n\tconst { widths, autoWidths } = columnWidthsState;\n\treturn get(widths, columnKey) || get(autoWidths, columnKey);\n};\n\n/**\n * @param {ColumnWidthsState} columnWidthsState\n * @return {String} auto|fixed\n */\nexport const getTableLayout = (columnWidthsState) => {\n\treturn get(columnWidthsState, 'tableLayout');\n};\n// #endregion\n\n/**\n * here we are only checking for widths being reset as we do not consider empty value in table header insert hook\n */\nexport const checkIfWidthsChanged = (\n\t/** @type {ColumnDefinitions['columns']} */ updatedColumns,\n\t/** @type {*} */ widths\n) => {\n\treturn (\n\t\tupdatedColumns.some((column) => {\n\t\t\tconst columnKey = getColumnKey(column);\n\t\t\tconst columnWidth = widths[columnKey];\n\t\t\tif (column.width !== columnWidth) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}) ?? false\n\t);\n};\n/**\n * Property Changed Effect Handler. Will check for columnDefinitions changes and process the columnDefinitions accordingly\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\t// @ts-ignore\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst widths = get(columnWidthsState, 'widths');\n\tif (\n\t\tname === 'columnDefinitions' &&\n\t\tpreviousValue &&\n\t\tvalue &&\n\t\tvalue.columns &&\n\t\tcheckIfWidthsChanged(value.columns, widths)\n\t) {\n\t\tsetInitialState(coeffects);\n\t}\n};\nconst columnWidthBehavior = {\n\tname: 'columnWidthBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: setInitialState,\n\t\t},\n\t\t[INIT_COLUMN_WIDTHS]: {\n\t\t\teffect: initColumnAutoWidth,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propertyChangedActionHandler,\n\t\t},\n\t\t[SET_COLUMN_WIDTHS]: {\n\t\t\teffect: saveColumnAutoWidth,\n\t\t},\n\t\t[COLUMN_RESIZE_COMPLETED]: {\n\t\t\teffect: saveResizedColumnWidth,\n\t\t},\n\t\t[ADD_RESIZE_OBSERVER]: {\n\t\t\teffect: addResizeObserver,\n\t\t},\n\t\t[SET_FINAL_AUTO_WIDTHS]: {\n\t\t\teffect: setFinalWidths,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: disconnectResizeObserver,\n\t\t},\n\t\t[COMPONENT_ERROR_THROWN]: {\n\t\t\teffect: disconnectResizeObserver,\n\t\t},\n\t},\n};\n\nexport default columnWidthBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t} });","import get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEmpty from 'lodash/isEmpty';\n\nimport logger from '../logger';\nconst overlayCustomEmittedActions = 'customOverlayEmittedActions';\nconst overlayCustomConfigPath = 'customConfig';\nconst overlayDefaultComponentProps = 'defaultComponentProps';\nconst overlayComponentTag = 'componentTag';\n\nconst {\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_TYPE_DEFAULT,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n} = require('../../../typeSchemas/overlayDefinition/overlayConfigConsts');\n\nconst overlaySelectors = {\n\t/**\n\t * Selector for getting whether to show column headers or not (overlay replaces entire table or just table body)\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {boolean}\n\t */\n\tgetOverlayShowColumnHeaders: (overlayDefinition) => {\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t'showColumnHeaders',\n\t\t\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting overlay type from overlay config object\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {string} type variant\n\t */\n\tgetOverlayType: (overlayDefinition) => {\n\t\treturn get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting template message config from overlay object when overlay is of type message\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlayMessageConfig} now-template-message config options\n\t */\n\tgetOverlayMessageConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst messageConfig = get(overlayDefinition, 'messageConfig');\n\n\t\tif (type !== OVERLAY_TYPE_MESSAGE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlayMessageConfig(), a method specific to message typed overlays, was called on a non-message type'\n\t\t\t);\n\t\t} else if (type === OVERLAY_TYPE_MESSAGE && isEmpty(messageConfig)) {\n\t\t\tlogger.warning(\n\t\t\t\t'The configuration for the message type overlay is empty'\n\t\t\t);\n\t\t\treturn {};\n\t\t}\n\n\t\treturn messageConfig;\n\t},\n\n\t/**\n\t * Selector for checking if overlayDefinition has an error message config\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {boolean}\n\t */\n\thasErrorMessage: (overlayDefinition) => {\n\t\tconst messageConfig = overlaySelectors.getOverlayMessageConfig(\n\t\t\toverlayDefinition\n\t\t);\n\t\tif (messageConfig?.illustration === 'error') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Selector for getting loader config from overlay object when overlay is of type loader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlayLoaderConfig} now-loader config options\n\t */\n\tgetOverlayLoaderConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst loaderConfig = get(overlayDefinition, 'loaderConfig');\n\n\t\tif (type !== OVERLAY_TYPE_LOADER) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlayLoaderConfig(), a method specific to loader typed overlays, was called on a non-loader type'\n\t\t\t);\n\t\t}\n\n\t\treturn loaderConfig;\n\t},\n\n\t/**\n\t * Selector for getting skeleton loader config from overlay object when overlay is of type skeletonLoader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlaySkeletonLoaderConfig}\n\t */\n\tgetOverlaySkeletonLoaderConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst skeletonLoaderConfig = get(\n\t\t\toverlayDefinition,\n\t\t\t'skeletonLoaderConfig'\n\t\t);\n\n\t\tif (type !== OVERLAY_TYPE_LOADER) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlaySkeletonLoaderConfig(), a method specific to skeletonLoader typed overlays, was called on a non-skeleton type'\n\t\t\t);\n\t\t}\n\n\t\treturn skeletonLoaderConfig;\n\t},\n\n\t/**\n\t * Selector for getting skeleton loader config from overlay object when overlay is of type skeletonLoader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {number} number of columns to render if the actual columns are not known\n\t */\n\tgetOverlaySkeletonLoaderNumColumns: (overlayDefinition) => {\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t'skeletonLoaderConfig.numColumns',\n\t\t\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS\n\t\t);\n\t},\n\n\t/**\n\t * CUSTOM CONTENT SELECTORS\n\t */\n\n\t/**\n\t * Selector for getting component props from overlay object when overlay is of type custom\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {object} component props for custom overlay\n\t */\n\tgetCustomOverlayDefaultComponentProps: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayDefaultComponentProps(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayDefaultComponentProps],\n\t\t\t{}\n\t\t);\n\t},\n\t/**\n\t * Selector for getting component tag from overlay object when overlay is of type custom\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {string} component tag for custom overlay\n\t */\n\tgetCustomOverlayComponentTag: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayComponentTag(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayComponentTag],\n\t\t\t''\n\t\t);\n\t},\n\n\t/**\n\t * This function returns true if overlay content has custom component emitted actions\n\t * @param {OverlayDefinition}  overlayDefinition overlayDefinition object\n\t * @returns {boolean} returns true if custom component in the overlay has emitted actions\n\t */\n\thasCustomOverlayEmittedActions: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'hasCustomOverlayEmittedActions(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\t\treturn has(overlayDefinition, [\n\t\t\toverlayCustomConfigPath,\n\t\t\toverlayCustomEmittedActions,\n\t\t]);\n\t},\n\n\t/**\n\t * This function returns overlay component emitted actions. Will return empty object if does not exist.\n\t * @param {OverlayDefinition}  overlayDefinition overlayDefinition object\n\t * @returns {Array<String>} returns the array of the actions emitted by the custom component in overlay\n\t */\n\tgetCustomOverlayEmittedActions: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayEmittedActions(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayCustomEmittedActions],\n\t\t\t[]\n\t\t);\n\t},\n};\n\nexport default overlaySelectors;\n","import { get as fpGet, has as fpHas, getOr } from 'lodash/fp';\nimport has from 'lodash/has';\n\nimport { CELL_EDIT_POPOVER_TYPE } from '../../../behaviors/cellEditingBehavior/constants';\n\nconst popoverPositionPath = 'target';\nconst columnRowIndexPath = 'columnRowIndex';\nconst columnCellIndexPath = 'columnCellIndex';\nconst rowIndexPath = 'rowIndex';\nconst cellIndexPath = 'cellIndex';\n\nconst popoverConfigPath = 'config';\nconst configPositionsPath = 'positions';\nconst configDismissOnScrollPath = 'dismissOnScroll';\nconst configDisableScrollPath = 'disableScroll';\nconst configHideTailPath = 'hideTail';\nconst dismissablePath = 'dismissable';\n\nconst popoverContentPath = 'content';\nconst popoverContentText = 'text';\nconst popoverContentButtons = 'buttons';\nconst ariaLabelPath = 'ariaLabel';\nconst variantPath = 'variant';\nconst sizePath = 'size';\nconst labelPath = 'label';\nconst iconPath = 'icon';\nconst tooltipContentPath = 'tooltipContent';\nconst metaPath = 'meta';\nconst idPath = 'id';\n\nconst popoverContentActions = 'actions';\nconst childrenPath = 'children';\nconst sublabelPath = 'sublabel';\nconst countPath = 'count';\nconst disabledPath = 'disabled';\nconst presencePath = 'presence';\n\nconst popoverContentComponentTag = 'componentTag';\nconst popoverContentDefaultProps = 'defaultComponentProps';\nconst popoverCustomCellEmittedActions = 'customCellEmittedActions';\n\nconst popoverType = 'popoverType';\nconst highlightedMessage = 'highlightedMessage';\nconst buttonsConfig = 'buttonsConfig';\nconst isLoading = 'isLoading';\n\n/**\n * @enum {string}\n */\nconst popoverInteractionTypes = {\n\tDIALOG: 'dialog',\n\tLISTBOX: 'listbox',\n\tNONE: 'none',\n};\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultHeaderPopoverPositions = [\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'top-start' },\n];\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultRowPopoverPositions = [\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'top-start' },\n\t{ target: 'top-end', content: 'bottom-end' },\n\t{ target: 'top-start', content: 'bottom-start' },\n];\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultPositions = [\n\t{ target: 'bottom-start', content: 'top-start' },\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'top-start', content: 'bottom-start' },\n\t{ target: 'top-end', content: 'bottom-end' },\n\t{ target: 'top-end', content: 'top-start' },\n\t{ target: 'bottom-end', content: 'bottom-start' },\n\t{ target: 'top-start', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'bottom-end' },\n];\n\n/**\n * @enum {string}\n *\n * This enum specifies content type for popover\n */\nexport const popoverContentTypes = {\n\tTEXT_CONTENT: 'TEXT_CONTENT',\n\tCUSTOM_CONTENT: 'CUSTOM_CONTENT',\n\tRENDER_CONTENT: 'RENDER_CONTENT',\n\tINVALID_CONTENT: 'INVALID_CONTENT',\n\tACTION_CONTENT: 'ACTION_CONTENT',\n};\n\nconst popoverSelectors = {\n\t/**\n\t * Returns true if popoverDefinition position is of type header\n\t * @param {*} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisHeaderTargetPosition: function (popoverDefinition) {\n\t\treturn (\n\t\t\tthis.hasHeaderRowIndex(popoverDefinition) ||\n\t\t\tthis.hasHeaderCellIndex(popoverDefinition)\n\t\t);\n\t},\n\n\t/**\n\t * This function checks if popover position contains header row index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasHeaderRowIndex: fpHas([popoverPositionPath, columnRowIndexPath]),\n\n\t/**\n\t * This function checks if popover position contains header row cell index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasHeaderCellIndex: fpHas([popoverPositionPath, columnCellIndexPath]),\n\n\t/**\n\t * This function returns header target row index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetHeaderTargetRowIndex: getOr(1, [\n\t\tpopoverPositionPath,\n\t\tcolumnRowIndexPath,\n\t]),\n\n\t/**\n\t * This function returns header target row cell index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetHeaderTargetCellIndex: getOr(1, [\n\t\tpopoverPositionPath,\n\t\tcolumnCellIndexPath,\n\t]),\n\n\t/**\n\t * Returns true if popoverDefinition position is of type row\n\t * @param {*} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisRowTargetPosition: function (popoverDefinition) {\n\t\treturn (\n\t\t\tthis.hasRowIndex(popoverDefinition) ||\n\t\t\tthis.hasCellIndex(popoverDefinition)\n\t\t);\n\t},\n\n\t/**\n\t * This function checks if popover position contains row index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasRowIndex: fpHas([popoverPositionPath, rowIndexPath]),\n\n\t/**\n\t * This function checks if popover position contains row cell index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasCellIndex: fpHas([popoverPositionPath, cellIndexPath]),\n\n\t/**\n\t * This function returns row target index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetTargetRowIndex: getOr(1, [popoverPositionPath, rowIndexPath]),\n\n\t/**\n\t * This function returns row cell target index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetTargetCellIndex: getOr(1, [popoverPositionPath, cellIndexPath]),\n\n\t/**\n\t * POPOVER TEXT CONTENT SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover content has text\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverText: fpHas([popoverContentPath, popoverContentText]),\n\n\t/**\n\t * This function returns popover text. Will return undefined if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverText: fpGet([popoverContentPath, popoverContentText]),\n\n\t/**\n\t * This function returns true if popover content contains button configurations\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverButtons: fpHas([popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * This function returns array of popover button configurations\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {Array<PopoverButtonConfig>}\n\t */\n\tgetPopoverButtons: fpGet([popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * This function returns aria label configuration for popover button\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonAriaLabel: getOr('', ariaLabelPath),\n\n\t/**\n\t * This function returns popover button variant. Will default to secondary if none is provided\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonVariant: getOr('secondary', variantPath),\n\n\t/**\n\t * This function returns button size. Wil default to small if none is provided\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonSize: getOr('sm', sizePath),\n\n\t/**\n\t * This function returns popover button variant\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonLabel: getOr('', labelPath),\n\n\t/**\n\t * This function returns popover button icon\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonIcon: getOr('', iconPath),\n\n\t/**\n\t * This function returns popover button tooltip content\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetTooltipContent: getOr('', tooltipContentPath),\n\n\t/**\n\t * This function returns additional meta to dispatch when clicked\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonMeta: getOr({}, metaPath),\n\n\t/**\n\t * This function returns id of button if provided\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonId: getOr('', idPath),\n\n\t/**\n\t * This function will return poisitions defined in configuration, otherwise default to\n\t * the correct positions based on target (header or row)\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {Array<{target: Position, content: Position}>}\n\t */\n\tgetPositions: function (popoverDefinition) {\n\t\tconst positions = fpGet([popoverConfigPath, configPositionsPath])(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tif (positions) return positions;\n\n\t\tif (this.getPopoverType(popoverDefinition) === CELL_EDIT_POPOVER_TYPE) {\n\t\t\treturn defaultPositions;\n\t\t}\n\n\t\tif (this.isHeaderTargetPosition(popoverDefinition)) {\n\t\t\treturn defaultHeaderPopoverPositions;\n\t\t} else if (this.isRowTargetPosition(popoverDefinition)) {\n\t\t\treturn defaultRowPopoverPositions;\n\t\t}\n\n\t\treturn defaultPositions;\n\t},\n\n\t/**\n\t * POPOVER ACTION CONTENT SELECTORS\n\t */\n\n\tgetActions: getOr([], [popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * Gets the actions label from the popover definition\n\t */\n\tgetActionsLabel: getOr('', [popoverContentPath, labelPath]),\n\n\t/**\n\t * Gets the children from the popover definition\n\t */\n\tgetChildren: getOr([], childrenPath),\n\n\t/**\n\t * Gets the label from the popover definition\n\t */\n\tgetLabel: getOr('', labelPath),\n\n\t/**\n\t * Gets the sublabel from the popover definition\n\t */\n\tgetSublabel: getOr('', sublabelPath),\n\n\t/**\n\t * Gets the count from the popover definition\n\t */\n\tgetCount: fpGet(countPath),\n\n\t/**\n\t * Gets the icon from the popover definition\n\t */\n\tgetIcon: getOr('', iconPath),\n\n\t/**\n\t * Gets the disabled prop from the popover definition\n\t */\n\tgetDisabled: getOr(false, disabledPath),\n\n\t/**\n\t * Gets the presence from the popover definition\n\t */\n\tgetPresence: getOr('', presencePath),\n\n\t/**\n\t * This function returns true if popover content has actions\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverAction: fpHas([popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * POPOVER CUSTOM CONTENT SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover content has custom component\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverCustom: fpHas([popoverContentPath, popoverContentComponentTag]),\n\n\t/**\n\t * This function returns the popover type\n\t * @returns {string}\n\t */\n\tgetPopoverType: fpGet([popoverContentPath, popoverType]),\n\n\t/**\n\t * This function returns the highlightedMessage object\n\t * @returns {Object}\n\t */\n\tgetHighlightedMessage: fpGet([popoverContentPath, highlightedMessage]),\n\n\t/**\n\t * This function returns the buttonsConfig object\n\t * @returns {Object}\n\t */\n\tgetButtonsConfig: fpGet([popoverContentPath, buttonsConfig]),\n\n\t/**\n\t * This function returns the isLoading value\n\t * @returns {boolean}\n\t */\n\tgetIsLoading: fpGet([popoverContentPath, isLoading]),\n\n\t/**\n\t * This function returns popover component tag.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverComponentTag: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverContentComponentTag,\n\t]),\n\n\t/**\n\t * This function returns popover component default properties. Will return empty object if does not exist.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {object}\n\t */\n\tgetPopoverComponentDefaultProps: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverContentDefaultProps,\n\t]),\n\n\t/**\n\t * This function returns true if popover content has custom component emitted actions\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasCustomPopoverEmittedActions: fpHas([\n\t\tpopoverContentPath,\n\t\tpopoverCustomCellEmittedActions,\n\t]),\n\n\t/**\n\t * This function returns popover component emitted actions. Will return empty object if does not exist.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetCustomPopoverEmittedActions: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverCustomCellEmittedActions,\n\t]),\n\n\t/**\n\t * POPOVER CONFIG SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover should dismiss when scrolling. Will default to false\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDismissOnScroll: getOr(false, [\n\t\tpopoverConfigPath,\n\t\tconfigDismissOnScrollPath,\n\t]),\n\n\t/**\n\t * This function returns true if popover should not add a scroll bar to content. Will default to true\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDisableScroll: getOr(true, [popoverConfigPath, configDisableScrollPath]),\n\n\t/**\n\t * This function returns true if popover should hide tail pointing to target. Will default to true\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetHideTail: getOr(false, [popoverConfigPath, configHideTailPath]),\n\n\t/**\n\t * This function returns true if popover should handle closing internally. If set to false,\n\t * consumer should clear Popover definition property to close popover.\n\t * Will default to true if config not provided.\n\t *\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDismissable: getOr(true, [popoverConfigPath, dismissablePath]),\n\n\t/**\n\t * This function returns true if popover content is of type text\n\t *\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tisTextContent: (popoverDefinition) =>\n\t\thas(popoverDefinition, [popoverContentPath, popoverContentText]) ||\n\t\thas(popoverDefinition, [popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * Returns true if popover is of custom type\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisCustomContent: fpHas([popoverContentPath, popoverContentComponentTag]),\n\n\t/**\n\t * Returns true if popover is of type action list\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisActionListContent: fpHas([popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * This function returns the aria label to be used by now-popover\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns string\n\t */\n\tgetAriaLabel: function (popoverDefinition) {\n\t\treturn popoverDefinition?.config?.ariaLabel;\n\t},\n\n\t/**\n\t * This function returns the interaction type to be used by now-popover\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {popoverInteractionTypes}\n\t */\n\tgetInteractionType: function (popoverDefinition) {\n\t\tif (this.isTextContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\t\tif (this.isActionListContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\t\tif (this.isCustomContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\n\t\treturn popoverInteractionTypes.NONE;\n\t},\n\n\t/**\n\t * This function returns popover content type.\n\t *\n\t * @param {PopoverDefinition} popoverDefinition\n\t */\n\tgetPopoverContentType: function (popoverDefinition) {\n\t\tif (\n\t\t\tthis.hasPopoverText(popoverDefinition) ||\n\t\t\tthis.hasPopoverButtons(popoverDefinition)\n\t\t) {\n\t\t\treturn popoverContentTypes.TEXT_CONTENT;\n\t\t} else if (this.hasPopoverAction(popoverDefinition)) {\n\t\t\treturn popoverContentTypes.ACTION_CONTENT;\n\t\t} else if (this.hasPopoverCustom(popoverDefinition)) {\n\t\t\treturn popoverContentTypes.CUSTOM_CONTENT;\n\t\t}\n\t},\n\n\t/**\n\t * This function returns the first valid action item id\n\t *\n\t * @param {PopoverDefinition} popoverDefinition\n\t */\n\tgetActiveActionItem: function (popoverDefinition) {\n\t\tconst actions = this.getActions(popoverDefinition);\n\t\treturn actions[0]?.children ? actions[0].children[0].id : actions[0].id;\n\t},\n};\n\nexport default popoverSelectors;\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport overlaySelectors from '../../shared/utils/selectors/overlaySelectors';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { OVERLAY_TYPE_CUSTOM } from '../../typeSchemas/overlayDefinition/overlayConfigConsts';\n\nimport { COMPONENT_LOADED_STATUS } from './constants';\n\nconst {\n\tTYPE_CUSTOM,\n} = require('../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\nconst {\n\tgetColumns,\n\tgetColumnType,\n\tgetColumnComponentTag,\n\tgetColumnFilterValueEditorCustomComponentTag,\n} = columnSelectors;\nconst { getRowsOfCustomType, getRows, getCustomRowComponentTag } = rowSelectors;\nconst { getPopoverComponentTag } = popoverSelectors;\nconst { getCustomOverlayComponentTag } = overlaySelectors;\n\n/**\n * @param {Array<ColumnType>} columns\n * @param {Array<ColumnType>} flattenedColumns\n * @return {Array<ColumnType>}\n */\nconst flattenColumns = (columns, flattenedColumns) => {\n\tconst result = flattenedColumns || [];\n\tcolumns.forEach((column) => {\n\t\tif (column.children) {\n\t\t\tflattenColumns(column.children, result);\n\t\t} else {\n\t\t\tresult.push(column);\n\t\t}\n\t});\n\treturn result;\n};\n\n/**\n * Checks if the column has a custom tag, and if it has not been loaded yet\n * @param {ColumnType} column\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @returns boolean\n */\nconst hasCustomColumnTag = (column, fetchedComponents) => {\n\tconst componentTag = getColumnComponentTag(column);\n\n\tconst hasComponentLoaded = isComponentLoaded(\n\t\tfetchedComponents,\n\t\tcomponentTag\n\t);\n\n\tconst isCustomColumn = getColumnType(column) === TYPE_CUSTOM;\n\treturn isCustomColumn && !hasComponentLoaded;\n};\n\n/**\n * Checks if the column filter has a custom tag, and if it has not been loaded yet\n * @param {ColumnType} column\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @returns boolean\n */\nconst hasCustomColumnFilterTag = (column, fetchedComponents) => {\n\tconst componentTag = getColumnFilterValueEditorCustomComponentTag(column);\n\tconst hasComponentLoaded = isComponentLoaded(\n\t\tfetchedComponents,\n\t\tcomponentTag\n\t);\n\n\treturn componentTag && !hasComponentLoaded;\n};\n\n/**\n * Checks if the custom component has been loaded\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {string} componentTag\n * @returns\n */\nconst isComponentLoaded = (fetchedComponents, componentTag) => {\n\tconst status = get(fetchedComponents, `${componentTag}.status`, null);\n\treturn status && status !== COMPONENT_LOADED_STATUS.ERROR;\n};\n\n/**\n * Adds a component tag to the set if it exists and is not already loaded\n * @param {Set<string>} componentTags\n * @param {string | null} componentTag\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst addComponentTagIfNotLoaded = (\n\tcomponentTags,\n\tcomponentTag,\n\tfetchedComponents\n) => {\n\tif (componentTag && !isComponentLoaded(fetchedComponents, componentTag)) {\n\t\tcomponentTags.add(componentTag);\n\t}\n};\n\n/**\n * Processes columns and adds their component tags to the set\n * @param {Array<ColumnType>} columns\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processColumns = (columns, componentTags, fetchedComponents) => {\n\tcolumns\n\t\t.filter(\n\t\t\t(column) =>\n\t\t\t\thasCustomColumnTag(column, fetchedComponents) ||\n\t\t\t\thasCustomColumnFilterTag(column, fetchedComponents)\n\t\t)\n\t\t.forEach((column) => {\n\t\t\taddComponentTagIfNotLoaded(\n\t\t\t\tcomponentTags,\n\t\t\t\tgetColumnComponentTag(column),\n\t\t\t\tfetchedComponents\n\t\t\t);\n\t\t\taddComponentTagIfNotLoaded(\n\t\t\t\tcomponentTags,\n\t\t\t\tgetColumnFilterValueEditorCustomComponentTag(column),\n\t\t\t\tfetchedComponents\n\t\t\t);\n\t\t});\n};\n\n/**\n * Processes custom rows and adds their component tags to the set\n * @param {Array<unknown>} customRows\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processCustomRows = (customRows, componentTags, fetchedComponents) => {\n\tcustomRows.forEach((customRow) => {\n\t\taddComponentTagIfNotLoaded(\n\t\t\tcomponentTags,\n\t\t\tgetCustomRowComponentTag(customRow),\n\t\t\tfetchedComponents\n\t\t);\n\t});\n};\n\n/**\n * Processes the popover definition and adds its component tag to the set\n * @param {PopoverDefinition} popoverDefinition\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processPopover = (\n\tpopoverDefinition,\n\tcomponentTags,\n\tfetchedComponents\n) => {\n\taddComponentTagIfNotLoaded(\n\t\tcomponentTags,\n\t\tgetPopoverComponentTag(popoverDefinition),\n\t\tfetchedComponents\n\t);\n};\n\n/**\n * Processes the overlay definition and adds its component tag to the set\n * @param {OverlayDefinition} overlayDefinition\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processOverlay = (\n\toverlayDefinition,\n\tcomponentTags,\n\tfetchedComponents\n) => {\n\tif (\n\t\t!isEmpty(overlayDefinition) &&\n\t\toverlayDefinition.type === OVERLAY_TYPE_CUSTOM\n\t) {\n\t\taddComponentTagIfNotLoaded(\n\t\t\tcomponentTags,\n\t\t\tgetCustomOverlayComponentTag(overlayDefinition),\n\t\t\tfetchedComponents\n\t\t);\n\t}\n};\n\n/**\n * Returns which component tags need to be loaded by the uxf-component loader\n * @param {ColumnDefinitions} columnDefinitions\n * @param {PopoverDefinition} popoverDefinition\n * @param {OverlayDefinition} overlayDefinition\n * @param {RowDefinitions} rowDefinitions\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @return {Array<string>} componentTags\n */\nexport const getComponentTagsToLoad = (\n\tcolumnDefinitions,\n\tpopoverDefinition,\n\toverlayDefinition,\n\trowDefinitions,\n\tfetchedComponents = {}\n) => {\n\tconst componentTags = new Set();\n\n\t// Process columns\n\tconst columns = flattenColumns(getColumns(columnDefinitions) || [], []);\n\tprocessColumns(columns, componentTags, fetchedComponents);\n\n\t// Process custom rows\n\tconst customRows = getRowsOfCustomType(getRows(rowDefinitions));\n\tprocessCustomRows(customRows, componentTags, fetchedComponents);\n\n\t// Process popover\n\tprocessPopover(popoverDefinition, componentTags, fetchedComponents);\n\n\t// Process overlay\n\tprocessOverlay(overlayDefinition, componentTags, fetchedComponents);\n\n\treturn Array.from(componentTags);\n};\n","import createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport { actionTypes } from '@servicenow/ui-core';\nimport camelCase from 'lodash/camelCase';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { LIST_ICON_CACHE, LIST_ICON_SET } from '../../constants';\nimport { getIconPixelSize } from '../../shared/views/shared/fakeNowIcon';\n\nimport { getComponentTagsToLoad } from './componentLoaderBehaviorUtils';\nimport {\n\tNOW_LIST_COMPONENT_LOAD_REQUESTED,\n\tNOW_LIST_COMPONENT_LOAD_COMPLETED,\n\tNOW_LIST_COMPONENT_LOAD_FAILED,\n\tCOMPONENT_LOADED_STATUS,\n\tMAX_COMPONENT_LOAD_COUNT,\n} from './constants';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\n/**\n * Will determine which components need to be fetched and update their state accordingly\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tpopoverDefinition,\n\t\t\toverlayDefinition,\n\t\t\trowDefinitions,\n\t\t},\n\t\tstate: { fetchedComponents = {} },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t/** @type {Record<string, FetchedComponent>}} */\n\tconst fetchingComponents = {};\n\n\tconst componentsToLoad = getComponentTagsToLoad(\n\t\tcolumnDefinitions,\n\t\tpopoverDefinition,\n\t\toverlayDefinition,\n\t\trowDefinitions,\n\t\tfetchedComponents\n\t);\n\tcomponentsToLoad.forEach((componentTag) => {\n\t\t// Checks if the custom component is already defined on the browser, if so prevent it from\n\t\t// loading and set its status to SUCCESS\n\t\tconst isDefined = customElements.get(componentTag) !== undefined;\n\t\tconst action = isDefined\n\t\t\t? NOW_LIST_COMPONENT_LOAD_COMPLETED\n\t\t\t: NOW_LIST_COMPONENT_LOAD_REQUESTED;\n\t\tconst status = isDefined\n\t\t\t? COMPONENT_LOADED_STATUS.SUCCESS\n\t\t\t: COMPONENT_LOADED_STATUS.LOADING;\n\n\t\t(fetchingComponents[componentTag] = {\n\t\t\tfetchCount: 1,\n\t\t\tstatus,\n\t\t}),\n\t\t\tdispatch(action, {\n\t\t\t\ttagName: componentTag,\n\t\t\t});\n\t});\n\n\tif (!isEmpty(fetchingComponents)) {\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents`,\n\t\t\tvalue: fetchingComponents,\n\t\t\toperation: 'merge',\n\t\t});\n\t}\n};\n\n/**\n * Delegates to the component bootstrap behavior if the columnDefinitions have changed\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t[\n\t\t\t'columnDefinitions',\n\t\t\t'popoverDefinition',\n\t\t\t'overlayDefinition',\n\t\t\t'rowDefinitions',\n\t\t].includes(name)\n\t)\n\t\tcomponentBootstrappedHandler(coeffects);\n};\n\n/**\n * Updates the state when a component has succesfully been loaded\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentLoadCompletedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { tagName },\n\t\t},\n\t} = coeffects;\n\n\tconst value = { status: COMPONENT_LOADED_STATUS.SUCCESS };\n\tupdateState({\n\t\tpath: `fetchedComponents.${tagName}`,\n\t\toperation: 'merge',\n\t\tvalue,\n\t});\n};\n\n/**\n * Handles the case when a component load fails\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentLoadFailedHandler = (coeffects) => {\n\tconst {\n\t\tstate: { fetchedComponents = {} },\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\trequest: { tagName },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { fetchCount } = fetchedComponents[tagName];\n\tif (fetchCount < MAX_COMPONENT_LOAD_COUNT) {\n\t\tdispatch(NOW_LIST_COMPONENT_LOAD_REQUESTED, { tagName: tagName });\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents.${tagName}.fetchCount`,\n\t\t\toperation: 'set',\n\t\t\tvalue: fetchCount + 1,\n\t\t\tshouldRender: false,\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents.${tagName}.status`,\n\t\t\toperation: 'set',\n\t\t\tvalue: COMPONENT_LOADED_STATUS.ERROR,\n\t\t});\n\t}\n};\n\nconst fetchAndCacheIcons = () => {\n\tLIST_ICON_SET.forEach((set) => {\n\t\tconst { name, size } = set;\n\t\tconst camelIconName = camelCase(name);\n\t\tconst iconKey = `${camelIconName}${getIconPixelSize(size)}`;\n\n\t\t// @ts-ignore\n\t\twindow?.__TECTONIC__$servicenow_now_icon?.getIcon(iconKey).then(\n\t\t\t// @ts-ignore\n\t\t\t(r) => {\n\t\t\t\tif (r) {\n\t\t\t\t\tif (!localStorage.getItem(LIST_ICON_CACHE)) {\n\t\t\t\t\t\tlocalStorage.setItem(LIST_ICON_CACHE, '{}');\n\t\t\t\t\t}\n\t\t\t\t\tconst cacheString = localStorage.getItem(LIST_ICON_CACHE);\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tconst parsedCache = JSON.parse(cacheString);\n\t\t\t\t\tparsedCache[iconKey] = r;\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\tLIST_ICON_CACHE,\n\t\t\t\t\t\tJSON.stringify(parsedCache)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n};\n\nconst componentLoaderBehavior = {\n\tname: 'componentLoaderBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: { effect: componentBootstrappedHandler },\n\t\t[NOW_LIST_COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\t\tsuccessActionType: NOW_LIST_COMPONENT_LOAD_COMPLETED,\n\t\t\terrorActionType: NOW_LIST_COMPONENT_LOAD_FAILED,\n\t\t}),\n\t\t[NOW_LIST_COMPONENT_LOAD_COMPLETED]: {\n\t\t\teffect: componentLoadCompletedHandler,\n\t\t},\n\t\t[NOW_LIST_COMPONENT_LOAD_FAILED]: {\n\t\t\teffect: componentLoadFailedHandler,\n\t\t},\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect: fetchAndCacheIcons,\n\t\t},\n\t},\n};\n\nexport default componentLoaderBehavior;\n","import { getOr } from 'lodash/fp';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport logger from '../logger';\n\nconst {\n\tTYPE_ICON,\n\tTYPE_LINK,\n\tTYPE_URL,\n\tTYPE_PERSON,\n\tTYPE_CHOICE,\n} = require('../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n} = require('../../views/fields/icon/iconConstants');\nconst {\n\tEMPTY_CELL_VALUE,\n\tHIGHLIGHTED_VALUE,\n} = require('../../views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst cellSelectors = {\n\t/**\n\t * Selector for getting cell value for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(string | number | boolean | Array<PillType>)} cell value\n\t */\n\tgetValue: getOr(EMPTY_CELL_VALUE, 'value'),\n\n\t/**\n\t * Selector for getting editing disabled value for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(boolean | false)} cell value\n\t */\n\tgetEditingDisabled: (cell) => {\n\t\treturn get(cell, 'editingDisabled', false);\n\t},\n\n\t/**\n\t * Selector for getting disabled at the cell level for link, person and url type\n\t * @param {CellType} cell\n\t *\n\t * @returns {boolean} disabled\n\t */\n\tgetDisabled: (cell) => {\n\t\treturn get(cell, 'disabled', false);\n\t},\n\n\t/**\n\t * Selector for getting cell color for any cell type\n\t * IMPORTANT: note that this getter should only be used for icon-typed cells,\n\t * the only type that has a color property in its schema.\n\t * @param {IconCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetColor: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_ICON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getColor(), a method specific to icon typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'color', ICON_CELL_COLOR_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting cell image src for any person type\n\t * IMPORTANT: note that this getter should only be used for person-typed cells,\n\t * the only type that has a imageSrc property in its schema.\n\t * @param {PersonCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetImageSrc: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getImageSrc(), a method specific to person typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'imageSrc');\n\t},\n\n\t/**\n\t * Selector for getting key for person cell type\n\t * IMPORTANT: note that this getter should only be used for person-typed cells\n\t * @param {PersonCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetPersonKey: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getPersonKey(), a method specific to person typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'personKey');\n\t},\n\n\t/**\n\t * Selector for getting cell label for cells that are URL or link type\n\t * IMPORTANT: note that this getter should only be used for those cell types (URLs and actionable links)\n\t * that have a label property in their schema.\n\t * Other cell types determine their own labels based on their value inside their typed subview.\n\t * @param {(UrlCellType | LinkCellType | ChoiceCellType)} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetLabel: function (cell) {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type === TYPE_LINK) {\n\t\t\treturn cellSelectors.getLinkLabel(cell);\n\t\t} else if (type === TYPE_URL) {\n\t\t\treturn cellSelectors.getUrlLabel(cell);\n\t\t} else if (type === TYPE_CHOICE) {\n\t\t\treturn getOr(EMPTY_CELL_VALUE, 'label', cell);\n\t\t} else {\n\t\t\tlogger.warning(\n\t\t\t\t'getLabel(), a method specific to URL or actionable link typed cells was called on an inapplicable type'\n\t\t\t);\n\t\t\treturn '';\n\t\t}\n\t},\n\n\t/* HELPERS */\n\n\t/**\n\t * Helper for getLabel for getting cell label for only link cells\n\t * @param {LinkCellType} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetLinkLabel: (cell) => {\n\t\tconst value = getOr(EMPTY_CELL_VALUE, 'value', cell);\n\t\tconst rawLabel = get(cell, 'label');\n\n\t\tif (!isEmpty(rawLabel)) {\n\t\t\treturn rawLabel;\n\t\t}\n\t\tif (isEmpty(rawLabel) && !isEmpty(value)) {\n\t\t\t// if no label, display 'Action' as label\n\t\t\treturn t('Action');\n\t\t}\n\t\treturn value;\n\t},\n\n\t/**\n\t * Helper for getLabel for getting cell label for only URL cells\n\t * @param {UrlCellType} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetUrlLabel: (cell) => {\n\t\tconst value = getOr(EMPTY_CELL_VALUE, 'value', cell);\n\t\tconst rawLabel = get(cell, 'label');\n\n\t\tif (!isEmpty(rawLabel)) {\n\t\t\treturn rawLabel;\n\t\t} else if (isEmpty(rawLabel) && !isEmpty(value)) {\n\t\t\t// if no label, just truncate value URL\n\t\t\ttry {\n\t\t\t\tconst url = new URL(value);\n\t\t\t\treturn url.hostname;\n\t\t\t} catch (e) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t},\n\n\t/**\n\t * Check if cell actions exist and are valid on a row cell\n\t * @param {CellType} cell an object representing this cell\n\t *\n\t * @returns {boolean}\n\t */\n\thasCellActions: (cell) => {\n\t\treturn !isEmpty(get(cell, 'actions'));\n\t},\n\n\t/**\n\t * Check if highlightedValue exist on a row cell\n\t * @param {CellType} cell an object representing this cell\n\t *\n\t * @returns {boolean}\n\t */\n\thasHighlightedValue: (cell) => {\n\t\treturn !isEmpty(get(cell, HIGHLIGHTED_VALUE));\n\t},\n\n\t/**\n\t * Selector for getting cell highlightedValue for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(HighlightedValue)} cell value\n\t */\n\tgetHighlightedValue: (cell) => getOr({}, HIGHLIGHTED_VALUE, cell),\n\n\t/**\n\t * Selector for getting record link\n\t * @param {CellBase} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetHref: (cell) => {\n\t\treturn get(cell, 'href');\n\t},\n};\n\nexport default cellSelectors;\n","export const NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nexport const POPOVER_DROPDOWN_ITEM_CLICKED = 'POPOVER_DROPDOWN#ITEM_CLICKED';\n","export const ROW_HIGHLIGHT_ACTIVATED = 'ROW_HIGHLIGHT_ACTIVATED';\nexport const ROW_HIGHLIGHT_DEACTIVATED = 'ROW_HIGHLIGHT_DEACTIVATED';\nexport const ROW_FOCUSED_INTERNAL = 'ROW_FOCUSED_INTERNAL';\nexport const NOW_LIST_ROW_FOCUSED = 'NOW_LIST#ROW_FOCUSED';\nexport const ROW_BLUR_INTERNAL = 'ROW_BLUR_INTERNAL';\n","import { t } from 'sn-translate';\n\nexport const NOW_LIST_CONTEXT_ACTION_CLICKED =\n\t'NOW_LIST#CONTEXT_ACTION_CLICKED';\nexport const NOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED =\n\t'NOW_LIST#COLUMN_HEADER_ACTION_BUTTON_CLICKED';\nexport const CELL_ACTION_KEBAB_BUTTON_CLICKED =\n\t'CELL_ACTION_KEBAB_BUTTON_CLICKED';\n\n/** @type {ActionType} */\nexport const COLUMN_HEADER_ACTION = 'columnHeaderAction';\n/** @type {ActionType} */\nexport const CELL_ACTION = 'cellAction';\n/** @type {ActionType} */\nexport const ROW_ACTION = 'rowAction';\n\nexport const ACTION_POPOVER_TYPE_COLUMN_HEADER = 'columnHeader';\nexport const ACTION_POPOVER_TYPE_ROW_AND_CELL = 'rowAndCell';\n\nexport const NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL = true;\nexport const NOW_LIST_ACTIONS_POPOVER_HIDETAIL = true;\n\nexport const GROUP_ACTION = 'groupAction';\n\nexport const COLUMN_HEADER_ACTION_LABEL = t('Column header actions');\nexport const CELL_ACTION_LABEL = t('Cell actions');\nexport const ROW_ACTION_LABEL = t('Row actions');\n\n/**\n * @param {ActionType | CustomActionType | undefined} typeOfAction\n * @returns {string}\n */\nexport const getActionLabel = (typeOfAction) => {\n\tswitch (typeOfAction) {\n\t\tcase COLUMN_HEADER_ACTION:\n\t\t\treturn COLUMN_HEADER_ACTION_LABEL;\n\t\tcase CELL_ACTION:\n\t\t\treturn CELL_ACTION_LABEL;\n\t\tcase ROW_ACTION:\n\t\t\treturn ROW_ACTION_LABEL;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n","import find from 'lodash/find';\nimport findKey from 'lodash/findKey';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { POPOVER_DROPDOWN_ITEM_CLICKED } from '../../shared/views/popover/popoverListContent/constants';\nimport { getColumnHeaderIndexes } from '../columnBehavior/columnBehavior';\nimport {\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n} from '../popoverBehavior/constants';\nimport { ROW_HIGHLIGHT_ACTIVATED } from '../rowBehavior/constants';\nimport { GROUP_ACTION_CLICKED } from '../rowGroupingBehavior/constants';\n\nimport {\n\tACTION_POPOVER_TYPE_COLUMN_HEADER,\n\tACTION_POPOVER_TYPE_ROW_AND_CELL,\n\tCELL_ACTION,\n\tCELL_ACTION_LABEL,\n\tCOLUMN_HEADER_ACTION,\n\tNOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED,\n\tNOW_LIST_CONTEXT_ACTION_CLICKED,\n\tNOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\tROW_ACTION,\n\tROW_ACTION_LABEL,\n\tNOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\tCELL_ACTION_KEBAB_BUTTON_CLICKED,\n} from './constants';\n\nexport const contextActionsBehaviorHelpers = {\n\t/**\n\t * This function will take the event and get the context associated with where the event occurred.\n\t *\n\t * @param {*} event Dom event\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {RowSelectionState} rowSelectionState\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {Context | undefined}\n\t */\n\tgetContext(\n\t\tevent,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions\n\t) {\n\t\t/** @type {Array<HTMLElement>} */\n\t\tconst path = event.path ?? event.composedPath();\n\n\t\t/** @type {HTMLElement | undefined} */\n\t\tconst cellElement = path.find(\n\t\t\t(element) =>\n\t\t\t\tthis.isValidTableBodyCell(element) ||\n\t\t\t\tthis.isValidTableHeaderCell(element)\n\t\t);\n\n\t\treturn this.getContextObject(\n\t\t\tcellElement,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\t},\n\n\t/**\n\t * @param {HTMLElement} element\n\t * @returns {boolean}\n\t */\n\tisValidTableBodyCell(element) {\n\t\treturn (\n\t\t\telement.tagName === 'TD' &&\n\t\t\t!isEmpty(element.dataset.columnKey) &&\n\t\t\t!isEmpty(element.dataset.rowPath)\n\t\t);\n\t},\n\n\t/**\n\t * @param {HTMLElement} element\n\t * @returns {boolean}\n\t */\n\tisValidTableHeaderCell(element) {\n\t\treturn element.tagName === 'TH' && !isEmpty(element.dataset.columnKey);\n\t},\n\n\t/**\n\t * get array of all selected rows or current row based on selection state\n\t *\n\t * @param {Row} row current row\n\t * @param {object} selectedRows\n\t * @returns {Row[]} context rows\n\t */\n\tgetContextRows(row, selectedRows) {\n\t\tconst rowKey = rowSelectors.getRowKey(row);\n\t\tconst isRowChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\t\treturn isRowChecked ? Object.values(selectedRows || {}) : [row];\n\t},\n\n\t/**\n\t * This function will return the context object based on the cell element passed in\n\t *\n\t * @param {HTMLElement | undefined} cellElement cell html element\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {RowSelectionState} rowSelectionState\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @param {ActionType | CustomActionType | undefined} typeOfAction\n\t *\n\t * @returns {Context | undefined}\n\t */\n\tgetContextObject(\n\t\tcellElement,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions,\n\t\ttypeOfAction = undefined\n\t) {\n\t\tif (!cellElement) return undefined;\n\n\t\t// Get data attributes\n\t\tconst cellKey = get(cellElement, 'dataset.columnKey', '');\n\t\tconst rowPath = get(cellElement, 'dataset.rowPath', '');\n\t\tconst rowIndex = get(cellElement, 'dataset.rowIndex', '');\n\t\tconst groupIndex = get(cellElement, 'dataset.groupIndex', '');\n\t\tconst fullRowPath = groupIndex\n\t\t\t? `[${groupIndex}].children${rowPath}`\n\t\t\t: rowPath;\n\n\t\t/** @type {Row} */\n\t\tconst row = get(rowDefinitions, `rows${fullRowPath}`);\n\t\tconst cell = get(row, ['cells', cellKey]); // this ignores special cells since they don't have keys\n\n\t\tif (!(row || cell)) return undefined;\n\n\t\tconst rows = this.getContextRows(\n\t\t\trow,\n\t\t\trowSelectionState?.selectedRows || []\n\t\t);\n\t\tconst columnPath = get(processedColumnDefinitions, [\n\t\t\t'columnMap',\n\t\t\tcellKey,\n\t\t]);\n\t\tconst column = get(\n\t\t\tprocessedColumnDefinitions.processedColumnDefinitions,\n\t\t\tcolumnPath\n\t\t);\n\n\t\treturn {\n\t\t\tgroupIndex: groupIndex ? Number(groupIndex) : undefined,\n\t\t\trow,\n\t\t\trowIndex: rowIndex ? Number(rowIndex) : undefined,\n\t\t\trows,\n\t\t\tcell,\n\t\t\tcolumn,\n\t\t\ttypeOfAction,\n\t\t};\n\t},\n\n\t/**\n\t * Return a the context object of a column header cell.\n\t * @param {HTMLElement | undefined} headerCellElement cell html element\n\t * @param {*} processedColumnDefinitions\n\t * @param {*} typeOfAction\n\t * @returns {Context | undefined}\n\n\t */\n\tgetColumnContextObject(\n\t\theaderCellElement,\n\t\tprocessedColumnDefinitions,\n\t\ttypeOfAction = undefined\n\t) {\n\t\tif (!headerCellElement) return undefined;\n\n\t\t// Get data attributes\n\t\tconst colIndex = get(headerCellElement, 'dataset.navCol', '');\n\n\t\tconst columnPath = findKey(processedColumnDefinitions.columnMap, (\n\t\t\t/** @type {string} */ value\n\t\t) => {\n\t\t\treturn value === `columns[${colIndex}]`;\n\t\t});\n\t\tconst column = find(\n\t\t\tprocessedColumnDefinitions.processedColumnDefinitions.columns,\n\t\t\t{ key: columnPath }\n\t\t);\n\n\t\treturn {\n\t\t\tcolumn,\n\t\t\ttypeOfAction,\n\t\t};\n\t},\n\t/**\n\t * Based on location of event, returns whether the context dropdown should display, and if so what type it is\n\t *\n\t * @param {*} event Dom event\n\t * @param {Context} context\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {'rowAndCell' | 'columnHeader' | null} type of action popover\n\t */\n\tgetActionPopoverType(\n\t\tevent,\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t) {\n\t\tconst { column, cell } = context;\n\t\tconst { hasColumnHeaderActions, isSpecialColumn } = columnSelectors;\n\t\tconst { hasRowActionsWithItems } = rowSelectors;\n\t\tconst path = event.path ?? event.composedPath();\n\n\t\tconst isThead = path.some(\n\t\t\t(/** @type {HTMLElement}*/ element) => element.tagName === 'THEAD'\n\t\t);\n\n\t\tconst hasActionsForRowCellPopover =\n\t\t\thasRowActionsWithItems(rowDefinitions) ||\n\t\t\t!isEmpty(\n\t\t\t\tcontextActionsBehaviorHelpers.getCellActions(\n\t\t\t\t\tcell,\n\t\t\t\t\tcolumn,\n\t\t\t\t\tprocessedColumnDefinitions\n\t\t\t\t)\n\t\t\t);\n\n\t\tif (isThead && column) {\n\t\t\tif (hasColumnHeaderActions(column) && !isSpecialColumn(column)) {\n\t\t\t\treturn 'columnHeader';\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else if (!isThead && hasActionsForRowCellPopover) {\n\t\t\treturn 'rowAndCell';\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\t/**\n\t * Gets cell actions for a given cell, defaulting to cell actions defined at the col level and overriding with cell level actions if applicable\n\t *\n\t * @param {CellType | undefined} cell\n\t * @param {ProcessedColumn | undefined} column\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {Array<CellActionItem> | undefined} actions to display in popover\n\t */\n\tgetCellActions(cell, column, processedColumnDefinitions) {\n\t\tif (!cell || !column) return undefined;\n\t\telse {\n\t\t\treturn cellSelectors.hasCellActions(cell)\n\t\t\t\t? cell?.actions\n\t\t\t\t: columnSelectors.getCellActionsFromProcessedCols(\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcolumn\n\t\t\t\t  );\n\t\t}\n\t},\n\n\t/**\n\t * Helper for updating state with correct position for context menu\n\t *\n\t * @param {HTMLElement} host\n\t * @param {*} event\n\t * @param {*} updateState\n\t */\n\tupdateFloatingElementPosition(host, event, updateState) {\n\t\tconst scrollContainer = host.shadowRoot?.querySelector(\n\t\t\t'.scroll-container'\n\t\t);\n\n\t\tif (!scrollContainer) return;\n\n\t\t// Need to account for current scrolled content so popover is positioned\n\t\t// correctly in scroll container\n\t\tconst floatingTargetX = event.offsetX + scrollContainer.scrollLeft;\n\t\tconst floatingTargetY = event.offsetY + scrollContainer.scrollTop;\n\n\t\tupdateState({\n\t\t\tpath: 'rowContextPosition',\n\t\t\tvalue: {\n\t\t\t\tx: floatingTargetX,\n\t\t\t\ty: floatingTargetY,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t},\n\n\t/**\n\t * Helper for finding floating target element in the dom\n\t *\n\t * @param {*} host\n\t * @returns {HTMLElement}\n\t */\n\tgetFloatingTargetElement(host) {\n\t\treturn host.shadowRoot?.querySelector(\n\t\t\t'[data-test-id=\"floatingTarget\"]'\n\t\t);\n\t},\n\n\t/**\n\t * Helper for getting all the items for the row and cell dropdown, appropriately sectioned\n\t *\n\t * @param {Context} context\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @param {Array<RowActionItem>} rowActions\n\t * @param {boolean} disableActions\n\t *\n\t * @returns {Array<PopoverContentListItem>} actionsItems\n\t */\n\tgetRowAndCellDropdownItems(\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions,\n\t\trowActions = [],\n\t\tdisableActions = false\n\t) {\n\t\tconst { cell, column } = context;\n\n\t\tconst dropdownItems = [];\n\n\t\tconst groomedCellActions = contextActionsBehaviorHelpers.getCellActions(\n\t\t\tcell,\n\t\t\tcolumn,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\n\t\tif (isEmpty(rowActions)) {\n\t\t\t// rowActions will be undefined when this is called for right click context menu\n\t\t\trowActions = rowSelectors.getRowActionsItems(rowDefinitions);\n\t\t}\n\n\t\tconst hasCellActions = !isEmpty(groomedCellActions);\n\t\tconst hasRowActions = rowSelectors.hasRowActionsWithItems(\n\t\t\trowDefinitions\n\t\t);\n\n\t\tif (hasCellActions) {\n\t\t\tconst cellActionsSection = {\n\t\t\t\tid: CELL_ACTION,\n\t\t\t\tlabel: CELL_ACTION_LABEL,\n\t\t\t\tchildren: groomedCellActions,\n\t\t\t};\n\n\t\t\tdropdownItems.push(cellActionsSection);\n\t\t}\n\n\t\tif (hasRowActions) {\n\t\t\tconst excludedActions = rowSelectors.getExcludedActionsForRow(\n\t\t\t\tcontext.row\n\t\t\t);\n\t\t\tconst rowActionExcludes = new Set(excludedActions);\n\n\t\t\t/** @type {Array<PopoverContentListItem>} */\n\t\t\tconst rowActionsDropdownItems = rowActions.map((rowAction) => {\n\t\t\t\tdisableActions === true &&\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'disableActions is deprecated. Use excludedActions instead.'\n\t\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\trowActionExcludes.has(rowAction.id) || disableActions,\n\t\t\t\t\t...rowAction,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\trowActionExcludes.clear();\n\n\t\t\tconst rowActionsSection = {\n\t\t\t\tid: ROW_ACTION,\n\t\t\t\tlabel: ROW_ACTION_LABEL,\n\t\t\t\tchildren: rowActionsDropdownItems,\n\t\t\t};\n\n\t\t\tdropdownItems.push(rowActionsSection);\n\t\t}\n\n\t\treturn dropdownItems;\n\t},\n};\n\n/* EFFECTS */\n\n/**\n * dispatched when any form of action button is clicked,\n * including row action icon buttons, row actions overflow menu, column header actions context menu, and cell actions context menu.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst actionButtonClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { type, context },\n\t\t\tpayload,\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { column, typeOfAction } = context || {};\n\n\t// when this action is triggered from expand/collapsing groups (not a context action) or reference qualifier field during cell editing, ignore so that it is handled elsewhere\n\t// DEF0604811 - both type and typeOfAction are undefined when action is triggered from sn-record-reference-connected during cell editing\n\tif ((type === undefined && typeOfAction === undefined) || type) return;\n\n\tif (typeOfAction === COLUMN_HEADER_ACTION) {\n\t\tconst columnHeaderIndexes = getColumnHeaderIndexes(payload);\n\t\tconst eventPayload = { column, ...columnHeaderIndexes };\n\t\tdispatch(NOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED, eventPayload);\n\t\tupdateState({\n\t\t\tactiveColumnKey: context.column.key,\n\t\t});\n\t}\n\n\tif (!payload?.actionItem) {\n\t\t// kebab buttons for row overflows\n\t\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, payload);\n\n\t\tconst rowKey = get(context, 'row.key');\n\t\tif (rowKey) {\n\t\t\t// dispatch action to highlight row when row action overflow popover is open\n\t\t\tdispatch(ROW_HIGHLIGHT_ACTIVATED, {\n\t\t\t\trowKey,\n\t\t\t});\n\t\t}\n\t} else {\n\t\t// row actions icon buttons\n\t\tconst actionName = payload?.actionItem?.action;\n\t\tif (actionName) {\n\t\t\tdispatch(actionName, payload);\n\t\t}\n\t\tdispatch(NOW_LIST_CONTEXT_ACTION_CLICKED, payload);\n\t}\n};\n\n/**\n * dispatched when any list context action is clicked, through an item in actions popover dropdown list or a row actions icon button\n *\n * @param {Coeffects<Props, State>} coeffects\n */\n\nconst listActionClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { actionItem, context },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst item = {\n\t\tactionItem,\n\t\tcontext,\n\t};\n\n\t// for actions that originate from the right click rowAndCell context menu,\n\t// update context to include the type of action\n\t// FIXME: this logic will break if there is a cell action in this cell with the same id as a row action. maybe something we should prohibit in the schema\n\tif (!context?.typeOfAction) {\n\t\tconst rowActions = rowSelectors.getRowActionsItems(rowDefinitions);\n\n\t\tif (\n\t\t\tfind(\n\t\t\t\trowActions,\n\t\t\t\t(/** @type {RowActionItem} */ a) => a.id === actionItem.id\n\t\t\t)\n\t\t) {\n\t\t\tcontext.typeOfAction = ROW_ACTION;\n\t\t} else {\n\t\t\tcontext.typeOfAction = CELL_ACTION;\n\t\t}\n\t}\n\n\tif (actionItem?.action) dispatch(actionItem.action, item);\n\n\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\tdispatch(NOW_LIST_CONTEXT_ACTION_CLICKED, {\n\t\tactionItem,\n\t\tcontext,\n\t});\n};\n\n/**\n * Event handler for right click context menu mouse event.\n *\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst contextMenuEventHandler = (coeffects) => {\n\tlet ariaLabel;\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\thost,\n\t\tdispatch,\n\t\tstate: { processedColumnDefinitions, rowSelectionState },\n\t} = coeffects;\n\n\tconst context = contextActionsBehaviorHelpers.getContext(\n\t\tevent,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (!context) return;\n\n\tconst actionPopoverType = contextActionsBehaviorHelpers.getActionPopoverType(\n\t\tevent,\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (!actionPopoverType) return;\n\n\tevent.preventDefault();\n\n\tcontextActionsBehaviorHelpers.updateFloatingElementPosition(\n\t\thost,\n\t\tevent,\n\t\tupdateState\n\t);\n\n\tlet popoverItems;\n\n\tif (actionPopoverType === ACTION_POPOVER_TYPE_COLUMN_HEADER) {\n\t\tif (!context?.column) return;\n\t\tariaLabel = t('Column actions for {0}', context.column.label);\n\t\tpopoverItems = columnSelectors.getColumnHeaderActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcontext?.column\n\t\t);\n\t\tupdateState({\n\t\t\tactiveColumnKey: context.column.key,\n\t\t});\n\t} else if (actionPopoverType === ACTION_POPOVER_TYPE_ROW_AND_CELL) {\n\t\tpopoverItems = contextActionsBehaviorHelpers.getRowAndCellDropdownItems(\n\t\t\tcontext,\n\t\t\trowDefinitions,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\t\tariaLabel = getCellActionAriaLabel(popoverItems);\n\t}\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: contextActionsBehaviorHelpers.getFloatingTargetElement(\n\t\t\thost\n\t\t),\n\t\tpopoverDefinition: {\n\t\t\tconfig: {\n\t\t\t\tariaLabel,\n\t\t\t\tdismissOnScroll: NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\t\t\t\thideTail: NOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\tactions: popoverItems,\n\t\t\t},\n\t\t},\n\t\tcontext,\n\t});\n};\n\n/**\n * Event handler for right click context menu mouse event within data cells\n *\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst cellActionMenuClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { context, popoverTarget, typeOfAction },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { rowDefinitions },\n\t\tstate: { processedColumnDefinitions },\n\t} = coeffects;\n\n\tif (typeOfAction !== CELL_ACTION) return;\n\n\tif (!context || !processedColumnDefinitions || !rowDefinitions) return;\n\n\tconst popoverItems = contextActionsBehaviorHelpers.getRowAndCellDropdownItems(\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (popoverItems.length <= 0) return;\n\n\tconst ariaLabel = getCellActionAriaLabel(popoverItems);\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tcontext,\n\t\tpopoverDefinition: {\n\t\t\tconfig: {\n\t\t\t\tariaLabel,\n\t\t\t\tdismissOnScroll: NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\t\t\t\thideTail: NOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\tactions: popoverItems,\n\t\t\t},\n\t\t},\n\t\tpopoverTarget: popoverTarget,\n\t});\n};\n\nconst contextActionsBehavior = {\n\tname: 'contextActionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: actionButtonClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[GROUP_ACTION_CLICKED]: {\n\t\t\teffect: listActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[POPOVER_DROPDOWN_ITEM_CLICKED]: {\n\t\t\teffect: listActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[CELL_ACTION_KEBAB_BUTTON_CLICKED]: {\n\t\t\teffect: cellActionMenuClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['contextmenu'],\n\t\t\teffect: contextMenuEventHandler,\n\t\t},\n\t],\n};\n\n/**\n * Gets aria label based on popover items\n * @param {Array<PopoverContentListItem>} popoverItems\n * @returns string\n */\nconst getCellActionAriaLabel = (popoverItems) => {\n\tconst labels = [];\n\tfor (const item of popoverItems) {\n\t\tlabels.push(item.label);\n\t}\n\n\treturn labels.join(', ');\n};\n\nexport default contextActionsBehavior;\n","export const NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED =\n\t'NOW_LIST#CUSTOM_COMPONENT_ACTION_DISPATCHED';\nexport const NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL =\n\t'NOW_LIST#CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL';\n/** @type {CustomActionType} */\nexport const CUSTOM_ROW_ACTION_DISPATCH = 'customRowActionDispatch';\n/** @type {CustomActionType} */\nexport const CUSTOM_CELL_ACTION_DISPATCH = 'customCellActionDispatch';\n/** @type {CustomActionType} */\nexport const CUSTOM_COLUMN_FILTER_ACTION_DISPATCH =\n\t'customColumnFilterActionDispatch';\nexport const ROW_ELEMENT_PATH = 'td[data-row-path]';\n","import { actionTypes } from '@servicenow/ui-core';\nimport difference from 'lodash/difference';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport { customComponentType } from '../../shared/utils/customLoader';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport overlaySelectors from '../../shared/utils/selectors/overlaySelectors';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { getColumnOperatorFromState } from '../columnFilteringBehavior/columnFilteringBehavior';\nimport { contextActionsBehaviorHelpers } from '../contextActionsBehavior/contextActionsBehavior';\n\nimport {\n\tCUSTOM_ROW_ACTION_DISPATCH,\n\tNOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED,\n\tNOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL,\n\tCUSTOM_CELL_ACTION_DISPATCH,\n\tROW_ELEMENT_PATH,\n\tCUSTOM_COLUMN_FILTER_ACTION_DISPATCH,\n} from './constants';\nimport { getCustomRowContextObject } from './utils';\n\nexport const ADDED_EVENT_LISTENERS = 'addedEventListeners';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst {\n\tgetColumnFilterCustomValueEditorEmittedActions: getColumnFilterEmittedActions,\n\tgetSelectedOperator,\n} = columnSelectors;\nconst { getCustomPopoverEmittedActions } = popoverSelectors;\nconst { getCustomOverlayEmittedActions } = overlaySelectors;\nconst { getCustomCellEmittedActions } = rowSelectors;\n\n/**\n * Dispatch actions when dynamic action gets dispatched from custom cell\n * @param {*} event\n * @param {Now.Dispatch} dispatch\n */\nexport const callbackListener = (event, dispatch) => {\n\tconst {\n\t\tdetail: { meta },\n\t\tsrcElement,\n\t} = event;\n\tconst context = get(meta, 'appended.fromCustomSource', false);\n\tif (context) {\n\t\tevent.stopPropagation();\n\t\tdispatch(NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL, {\n\t\t\tcontext,\n\t\t\tsrcElement,\n\t\t\tevent,\n\t\t});\n\t}\n};\n\n/**\n * Helper effect for processing custom component actions. Since the actions are set up on bootstrap,\n * the original effect will not have access to processedColumns, so we will dispatch from the listener and\n * handle it here where we will have access to the updated state\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const customComponentActionDispatchEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tevent: { detail },\n\t\t\t\tcontext,\n\t\t\t\tsrcElement,\n\t\t\t},\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { processedColumnDefinitions, rowSelectionState } = state;\n\n\t/** @type {Context | {}} */\n\tlet cellContext = {};\n\tlet columnFilteringPayload = {};\n\n\tif (context == customComponentType.CELL) {\n\t\tconst cellElement = srcElement.closest(\n\t\t\t'td[data-row-path][data-column-key]'\n\t\t);\n\t\tconst contextObject = contextActionsBehaviorHelpers.getContextObject(\n\t\t\tcellElement,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tCUSTOM_CELL_ACTION_DISPATCH\n\t\t);\n\n\t\tif (contextObject) {\n\t\t\tcellContext = contextObject;\n\t\t}\n\t} else if (context === customComponentType.ROW) {\n\t\tconst rowElement = srcElement.closest(ROW_ELEMENT_PATH);\n\t\tconst customRowContextObject = getCustomRowContextObject(\n\t\t\trowElement,\n\t\t\trowDefinitions,\n\t\t\tCUSTOM_ROW_ACTION_DISPATCH\n\t\t);\n\n\t\tif (customRowContextObject) {\n\t\t\tcellContext = customRowContextObject;\n\t\t}\n\t} else if (context === customComponentType.COLUMN_FILTER_VALUE_INPUT) {\n\t\tconst headerCellElement = srcElement.closest(\n\t\t\t'td[data-nav-row][data-nav-col]'\n\t\t);\n\n\t\tconst contextObject = contextActionsBehaviorHelpers.getColumnContextObject(\n\t\t\theaderCellElement,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tCUSTOM_COLUMN_FILTER_ACTION_DISPATCH\n\t\t);\n\n\t\tif (contextObject) cellContext = contextObject;\n\n\t\tconst column = contextObject?.column;\n\t\tif (column) {\n\t\t\tconst oldOperator = getSelectedOperator(column);\n\t\t\tconst newOperator = getColumnOperatorFromState(column, state);\n\t\t\t// the new value is emitted as a part of detail's payload\n\t\t\tcolumnFilteringPayload = {\n\t\t\t\toldOperator,\n\t\t\t\tnewOperator,\n\t\t\t};\n\t\t}\n\t}\n\n\tdispatch(NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED, {\n\t\tcontext,\n\t\tcellContext,\n\t\tdetail,\n\t\tcolumnFilteringPayload,\n\t});\n};\n\n/**\n * Gets emitted actions for rowDefinitions, popoverDefinition and overlayDefinition\n * @param {Props} properties\n * @return {Array<string>} returns the array of the action names\n */\nconst getEmittedActions = ({\n\trowDefinitions,\n\tcolumnDefinitions,\n\tpopoverDefinition,\n\toverlayDefinition,\n}) => {\n\tconst customActions = [\n\t\t...(getCustomCellEmittedActions(rowDefinitions) ?? []),\n\t\t...(getColumnFilterEmittedActions(columnDefinitions) ?? []),\n\t\t...(getCustomPopoverEmittedActions(popoverDefinition) ?? []),\n\t\t...getCustomOverlayEmittedActions(overlayDefinition),\n\t];\n\treturn [...new Set(customActions)];\n};\n\n/**\n * adds action listeners for user custom emmited actions during component connected lifecycle\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentConnectedHandler = (coeffects) => {\n\tconst { properties, host, dispatch, updateState } = coeffects;\n\tconst listener = (/** @type {Event} */ event) =>\n\t\tcallbackListener(event, dispatch);\n\tconst eventListeners = Object.fromEntries(\n\t\tgetEmittedActions(properties).map((actionName) => {\n\t\t\thost.shadowRoot.addEventListener(actionName, listener);\n\t\t\treturn [actionName, listener];\n\t\t})\n\t);\n\n\tupdateState({\n\t\tpath: ADDED_EVENT_LISTENERS,\n\t\tvalue: eventListeners,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * Add/Remove event listeners for actions to host and update state\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst updateEventListeners = (coeffects) => {\n\tconst { host, state, properties, updateState, dispatch } = coeffects;\n\tconst eventListeners = get(state, ADDED_EVENT_LISTENERS) || {};\n\tconst actionsNew = getEmittedActions(properties);\n\tconst actionsOld = Object.keys(eventListeners);\n\tconst actionsToRemove = [...difference(actionsOld, actionsNew)];\n\tconst actionsToAdd = [...difference(actionsNew, actionsOld)];\n\n\tif (isEmpty(actionsToRemove) && isEmpty(actionsToAdd)) return;\n\tconst listener = (/** @type {Event} */ event) =>\n\t\tcallbackListener(event, dispatch);\n\tactionsToRemove.forEach((actionName) => {\n\t\thost.shadowRoot.removeEventListener(\n\t\t\tactionName,\n\t\t\teventListeners[actionName]\n\t\t);\n\t\tdelete eventListeners[actionName];\n\t});\n\tactionsToAdd.forEach((actionName) => {\n\t\thost.shadowRoot.addEventListener(actionName, listener);\n\t\teventListeners[actionName] = listener;\n\t});\n\tupdateState({\n\t\tpath: ADDED_EVENT_LISTENERS,\n\t\tvalue: eventListeners,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * Create or change event listeners on host elements when definition changes\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t} = coeffects;\n\n\tlet actionsNew = null;\n\tlet actionsOld = null;\n\tif (name === 'rowDefinitions') {\n\t\tactionsNew = getCustomCellEmittedActions(value) ?? [];\n\t\tactionsOld = getCustomCellEmittedActions(previousValue) ?? [];\n\t} else if (name === 'columnDefinitions') {\n\t\tactionsNew = getColumnFilterEmittedActions(value) ?? [];\n\t\tactionsOld = getColumnFilterEmittedActions(previousValue) ?? [];\n\t} else if (name === 'popoverDefinition') {\n\t\tactionsNew = getCustomPopoverEmittedActions(value) ?? [];\n\t\tactionsOld = getCustomPopoverEmittedActions(previousValue) ?? [];\n\t} else if (name === 'overlayDefinition') {\n\t\tactionsNew = getCustomOverlayEmittedActions(value);\n\t\tactionsOld = getCustomOverlayEmittedActions(previousValue);\n\t} else return;\n\tif (isEqual(actionsNew, actionsOld)) return;\n\tupdateEventListeners(coeffects);\n};\n\n/**\n * Remove all event listeners from host element on component disconnect\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const componentDisconnectedHandler = (coeffects) => {\n\tconst { host, state, updateState } = coeffects;\n\tconst addedEventListeners = get(state, ADDED_EVENT_LISTENERS) || {};\n\tif (Object.keys(addedEventListeners).length > 0)\n\t\tupdateState({\n\t\t\tpath: ADDED_EVENT_LISTENERS,\n\t\t\tvalue: {},\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\tObject.entries(addedEventListeners).forEach(([actionName, listener]) => {\n\t\thost.shadowRoot.removeEventListener(actionName, listener);\n\t});\n};\n\nconst customCellDynamicActionBehavior = {\n\tname: 'customCellDynamicActionBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propertyChangedHandler,\n\t\t},\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect: componentConnectedHandler,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: componentDisconnectedHandler,\n\t\t},\n\t\t[NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL]: {\n\t\t\teffect: customComponentActionDispatchEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default customCellDynamicActionBehavior;\n","import get from 'lodash/get';\n\n/**\n * This function will return the context object based on the source element passed in\n *\n * @param {HTMLElement} rowElement custom row html element\n * @param {RowDefinitions} rowDefinitions\n * @param {CustomActionType} typeOfAction\n *\n * @returns {Context | undefined}\n */\nexport const getCustomRowContextObject = (\n\trowElement,\n\trowDefinitions,\n\ttypeOfAction\n) => {\n\tif (!rowElement) return;\n\n\t// Get data attributes\n\tconst rowPath = get(rowElement, 'dataset.rowPath', '');\n\tconst rowIndex = get(rowElement, 'dataset.rowIndex', '');\n\tconst groupIndex = get(rowElement, 'dataset.groupIndex', '');\n\tconst fullRowPath = groupIndex\n\t\t? `[${groupIndex}].children${rowPath}`\n\t\t: rowPath;\n\n\t/** @type {Row} */\n\tconst row = get(rowDefinitions, `rows${fullRowPath}`);\n\tif (!row) return;\n\n\treturn {\n\t\tgroupIndex: groupIndex ? Number(groupIndex) : undefined,\n\t\trow,\n\t\trowIndex: rowIndex ? Number(rowIndex) : undefined,\n\t\ttypeOfAction,\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"findTabbableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__.__esModule\n\t\t\t\t\tif (cjsModule && 'findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"].findTabbableNodes;\n\t\t\t\t\t} else if ('findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__.findTabbableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_14_index_jsdbx_5b563683__[\"default\"].findTabbableNodes;\n\t\t\t\t} });","/**\n * Contains the effects that are directly called as a result of an action or\n * event occurring\n */\n\nimport {\n\tactivateFocusTrap,\n\tdeactivateFocusTrap,\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n} from '@devsnc/sn-list-commons';\nimport { findTabbableNodes } from '@servicenow/library-enhanced-utils';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ACTIONABLE_MESSAGE_BUTTON_CLASS } from '../../shared/views/actionableMessage/constants';\n\nimport {\n\tALLOW_TABLE_FOCUS,\n\tENTER_CELL_TRAP,\n\tEXIT_CELL_TRAP,\n\tKEY,\n\tKEY_MAP,\n\tMOVE_FOCUS,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n} from './constants';\nimport {\n\tfocusCellNode,\n\tfocusPopoverTarget,\n\tgetBehaviorOptions,\n\tgetBehaviorState,\n\tgetCellFromTableRef,\n\tgetNextRowFromTableRef,\n\tgetRowFromTableRef,\n\thandleBulkFocusClick,\n\thandleCellMove,\n\thandleRowMove,\n\tsetBehaviorState,\n\tsetNewCellFocus,\n\tsetNewRowFocus,\n\tshouldTriggerRerenderDefaultFn,\n} from './keyboardNavHelpers';\nimport { getComponentPath, querySelector } from './utils';\n\n/**\n * Handles setting up the behavior state when the component is initialized.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const tableRenderedEffect = (coeffects) => {\n\tconst { action, dispatch, host, state, updateState } = coeffects;\n\tconst { isRendered, incomingRender } = getBehaviorState(state);\n\tconst { tableSelector } = getBehaviorOptions(action);\n\n\tif (!isRendered || incomingRender) {\n\t\tconst isTableEmpty = isEmpty(\n\t\t\tget(state, 'properties.rowDefinitions.rows', true)\n\t\t);\n\t\tconst overlayWithHeaders = get(\n\t\t\tstate,\n\t\t\t'properties.overlayDefinition.showColumnHeaders',\n\t\t\tfalse\n\t\t);\n\t\tconst tableNode = querySelector(tableSelector, host);\n\n\t\tlet isTableRendered = false;\n\t\tif (isTableEmpty || overlayWithHeaders) {\n\t\t\tconst tableHeadNode = tableNode?.querySelector('thead');\n\t\t\tisTableRendered = !!tableHeadNode?.children.length;\n\t\t} else {\n\t\t\tconst tableBodyNode = tableNode?.querySelector('tbody');\n\t\t\tisTableRendered = !!tableBodyNode?.children.length;\n\t\t}\n\n\t\tif (isTableRendered) {\n\t\t\t/**\n\t\t\t * If any grouped row buttons are found within the table, then we\n\t\t\t * can conclude that the table has grouped rows. This is used for\n\t\t\t * allowing the user to focus on rows to expand or collapse them.\n\t\t\t */\n\t\t\tconst hasGroupRowButton = !!tableNode?.querySelector(\n\t\t\t\t'.group-row-toggle'\n\t\t\t);\n\n\t\t\t// If the behavior is already initialized, update the table\n\t\t\t// reference without moving the current focus.\n\t\t\tif (incomingRender) {\n\t\t\t\tdispatch(UPDATE_TABLE_REF, { shouldFocusFirst: false });\n\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\tincomingRender: false,\n\t\t\t\t\thasGroupedRows: hasGroupRowButton,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// If this is the first time the table has been rendered, we can\n\t\t\t// fully initialize the behavior\n\t\t\telse {\n\t\t\t\tdispatch(RESET_BEHAVIOR);\n\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\tisRendered: true,\n\t\t\t\t\thasGroupedRows: hasGroupRowButton,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Clears out the focused cell, trapped cell, and refreshes the table reference\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const resetBehaviorEffect = (coeffects) => {\n\tconst { dispatch, state, updateState } = coeffects;\n\tconst { focusedCell, trappedCell, focusedCellActions } = getBehaviorState(\n\t\tstate\n\t);\n\n\tif (focusedCell && !trappedCell && !focusedCellActions?.exitCellTrap) {\n\t\tfocusedCell.node.removeAttribute('tabindex');\n\t\tsetBehaviorState(updateState, { focusedCell: undefined });\n\t}\n\tif (trappedCell && !focusedCell) {\n\t\tdeactivateFocusTrap('tableCell');\n\t\tsetBehaviorState(updateState, { trappedCell: undefined });\n\t}\n\n\tdispatch(UPDATE_TABLE_REF);\n};\n\n/**\n * Stores references to the table, row, cell, and tabbable nodes in the same structure as the table itself\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const updateTableRefEffect = (coeffects) => {\n\tconst { action, dispatch, host, updateState } = coeffects;\n\tconst { tableSelector, rowSelectors, cellSelectors } = getBehaviorOptions(\n\t\taction\n\t);\n\tconst {\n\t\tpayload: { shouldFocusFirst = true },\n\t} = action;\n\tconst tableHost = querySelector(tableSelector, host);\n\tif (!tableHost) return;\n\n\t/** @type {TableRef} */\n\tconst newTable = { node: tableHost, rows: [] };\n\n\tconst rows = tableHost.querySelectorAll(rowSelectors);\n\n\t/**\n\t * The rowSpanMap is used to handle cells with a rowspan > 0, where they\n\t * carry over into the next row and leave a pointer.\n\t */\n\t/** @type {Map<number, {pointerCell: TableCell, remainingLength: number}>} */\n\tconst rowSpanMap = new Map();\n\n\tfor (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n\t\t/** @type {TableRow} */\n\t\tconst row = {\n\t\t\tnode: rows[rowIndex],\n\t\t\ttype: rows[rowIndex].parentElement.tagName,\n\t\t\tcells: [],\n\t\t};\n\n\t\tconst cells = rows[rowIndex].querySelectorAll(cellSelectors);\n\n\t\tfor (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n\t\t\t/**\n\t\t\t * Before adding a cell node, we need to check and see if the cell\n\t\t\t * in the row above had a rowspan > 1, and add a pointer if so\n\t\t\t */\n\t\t\tconst rowSpanObj = rowSpanMap.get(row.cells.length);\n\t\t\tif (rowSpanObj) {\n\t\t\t\trow.cells.push(rowSpanObj.pointerCell);\n\t\t\t\trowSpanObj.remainingLength--;\n\n\t\t\t\tif (rowSpanObj.remainingLength === 0) {\n\t\t\t\t\trowSpanMap.delete(row.cells.length - 1);\n\t\t\t\t} else {\n\t\t\t\t\trowSpanMap.set(row.cells.length - 1, rowSpanObj);\n\t\t\t\t}\n\n\t\t\t\t// In order to not skip over cells, we don't increment the loop\n\t\t\t\tcellIndex--;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst colSpan = get(cells[cellIndex], 'colSpan', 1);\n\t\t\tconst rowSpan = get(cells[cellIndex], 'rowSpan', 1);\n\n\t\t\tconst cell = {\n\t\t\t\tnode: cells[cellIndex],\n\t\t\t};\n\n\t\t\trow.cells.push(cell);\n\n\t\t\t// Store the cell's location for reference when the node is clicked\n\t\t\tcell.node.setAttribute('data-nav-row', rowIndex);\n\t\t\tcell.node.setAttribute('data-nav-col', row.cells.length - 1);\n\n\t\t\tconst pointerCell = {\n\t\t\t\t...cell,\n\t\t\t\tpointer: {\n\t\t\t\t\trowIndex: rowIndex,\n\t\t\t\t\tcellIndex: row.cells.length - 1,\n\t\t\t\t\trowSpan,\n\t\t\t\t\tcolSpan,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * If the colspan of the cell is > 1, we can add the pointer\n\t\t\t * cells right after\n\t\t\t */\n\t\t\tif (colSpan !== 1) {\n\t\t\t\tfor (let x = 1; x < colSpan; x++) {\n\t\t\t\t\trow.cells.push(pointerCell);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If the current cell has a rowspan > 1, we need to save it for\n\t\t\t * reference in the following rows where it will have an effect\n\t\t\t */\n\t\t\tif (rowSpan !== 1) {\n\t\t\t\trowSpanMap.set(pointerCell.pointer.cellIndex, {\n\t\t\t\t\tpointerCell,\n\t\t\t\t\tremainingLength: rowSpan - 1,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If there are less nodes in this row than other rows, we have to\n\t\t\t * make sure that we don't miss any rowspans from the previous rows\n\t\t\t */\n\t\t\tlet rowSpanItem = rowSpanMap.get(row.cells.length);\n\t\t\twhile (rowSpanItem) {\n\t\t\t\trow.cells.push(rowSpanItem.pointerCell);\n\t\t\t\trowSpanItem.remainingLength--;\n\n\t\t\t\tif (rowSpanItem.remainingLength === 0) {\n\t\t\t\t\trowSpanMap.delete(row.cells.length - 1);\n\t\t\t\t} else {\n\t\t\t\t\trowSpanMap.set(row.cells.length - 1, rowSpanItem);\n\t\t\t\t}\n\n\t\t\t\trowSpanItem = rowSpanMap.get(row.cells.length);\n\t\t\t}\n\t\t}\n\n\t\tnewTable.rows.push(row);\n\t}\n\n\tsetBehaviorState(updateState, {\n\t\ttableRef: newTable,\n\t});\n\n\tif (shouldFocusFirst) dispatch(ALLOW_TABLE_FOCUS);\n};\n\n/**\n * Adds the ability for the first cell in the table to receive focus if we have cellToFocus it sets the focus to that, so that\n * the table can be reached via tabbing\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const allowTableFocusEffect = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tupdateState,\n\t\thost,\n\t\tdispatch,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\tconst behaviorState = getBehaviorState(state);\n\tconst { tableRef, cellToFocus, focusedCellActions } = behaviorState;\n\tlet { focusedCell } = behaviorState;\n\n\t/**\n\t * Actions to perform for internal cell element changes\n\t */\n\tif (focusedCellActions?.exitCellTrap) {\n\t\tdispatch(EXIT_CELL_TRAP);\n\t\treturn;\n\t}\n\n\tif (cellToFocus) {\n\t\tconst { columnKey, cellIndex, rowPath, rowIndex } = cellToFocus;\n\t\tlet domQuery = '';\n\n\t\tif (columnKey) domQuery += `[data-column-key=\"${columnKey}\"]`;\n\t\telse if (cellIndex) domQuery += `[data-nav-col=\"${cellIndex}\"]`;\n\n\t\tif (rowPath != null) {\n\t\t\tdomQuery += `[data-row-path=\"${rowPath}\"]`;\n\t\t} else if (rowIndex != null) {\n\t\t\tdomQuery += `[data-nav-row=\"${rowIndex}\"]`;\n\t\t}\n\t\t/**\n\t\t * @type {HTMLElement|null} type - description\n\t\t */\n\t\tconst node = host.shadowRoot?.querySelector(domQuery);\n\t\tif (node)\n\t\t\tfocusedCell = {\n\t\t\t\trowIndex: rowIndex ?? Number(node.getAttribute('data-nav-row')),\n\t\t\t\tcellIndex: Number(node.getAttribute('data-nav-col')),\n\t\t\t\tnode: node,\n\t\t\t};\n\t}\n\tif (!focusedCell) {\n\t\tconst firstCellRef = getCellFromTableRef(tableRef, 0, 0);\n\t\tif (!firstCellRef?.node) return;\n\n\t\tfocusedCell = { rowIndex: 0, cellIndex: 0, node: firstCellRef.node };\n\t}\n\n\tfocusedCell.node.tabIndex = 0;\n\tif (cellToFocus) {\n\t\tfocusCellNode(focusedCell.node, coeffects);\n\t}\n\tsetBehaviorState(updateState, {\n\t\tfocusedCell,\n\t\tcellToFocus: undefined,\n\t});\n\n\t/**\n\t * Enter into cell trap by checking the flag\n\t */\n\tif (cellToFocus?.enterCellTrap) {\n\t\tdispatch(ENTER_CELL_TRAP);\n\t\tif (cellEditingEnabled)\n\t\t\thandleBulkFocusClick(coeffects, focusedCell.node);\n\t}\n};\n\n/**\n * Handles directional navigation when a relevant key is pressed\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const moveFocusEffect = (coeffects) => {\n\tconst { state } = coeffects;\n\tconst { focusedRow } = getBehaviorState(state);\n\n\t/**\n\t * The logic for navigating the table depends on if a row or a cell is\n\t * currently focused.\n\t */\n\tif (focusedRow) {\n\t\thandleRowMove(coeffects);\n\t} else {\n\t\thandleCellMove(coeffects);\n\t}\n};\n\n/**\n * Traps focus to within currently selected cell\n * And applies focus to the specified element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const enterCellTrapEffect = ({ state, updateState, action }) => {\n\tconst {\n\t\ttableRef,\n\t\tfocusedCell: { rowIndex, cellIndex },\n\t} = getBehaviorState(state);\n\n\tconst { targetNode } = action.payload;\n\n\tconst { tabbableSelectors, directFocusSelectors } = getBehaviorOptions(\n\t\taction\n\t);\n\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\n\tif (!cell) return;\n\n\t/**\n\t * Find all tabbable elements within the cell, making sure to exclude any\n\t * elements that are disabled, as they can't receive browser focus.\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst tabbables = shadowQuerySelectorAll(\n\t\tcell.node,\n\t\ttabbableSelectors\n\t).filter((/** @type {HTMLElement} */ el) => !el.hasAttribute('disabled'));\n\n\tif (!tabbables || !tabbables.length) {\n\t\tif (cell.node.classList.contains('html')) {\n\t\t\tconst scrollableContent = querySelector(\n\t\t\t\t'.html-cell-content',\n\t\t\t\tcell.node\n\t\t\t);\n\t\t\tif (scrollableContent) {\n\t\t\t\tscrollableContent.tabIndex = -1;\n\t\t\t\tscrollableContent.focus();\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\ttrappedCell: scrollableContent,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\n\ttabbables.forEach((node) => {\n\t\tnode.tabIndex = 0;\n\t});\n\n\tconst tabbableNodes = findTabbableNodes(cell.node).filter(\n\t\t(/** @type {HTMLElement} */ el) => el !== cell.node\n\t);\n\n\tactivateFocusTrap('tableCell', cell.node, {\n\t\tfirstElement: tabbableNodes[0],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tlet nodeToFocus = tabbableNodes[0];\n\n\tif (targetNode) {\n\t\tnodeToFocus = targetNode;\n\t} else {\n\t\tdirectFocusSelectors?.forEach((selector) => {\n\t\t\tconst node = querySelector(selector, cell.node);\n\t\t\tif (node && tabbableNodes.includes(node)) nodeToFocus = node;\n\t\t});\n\t}\n\n\tnodeToFocus.focus();\n\n\tsetBehaviorState(updateState, { trappedCell: cell });\n};\n\n/**\n * Removes focus from within the cell and returns it to the table cell\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const exitCellTrapEffect = ({ state, updateState, action }) => {\n\tconst { trappedCell } = getBehaviorState(state);\n\tif (!trappedCell) return;\n\n\tconst {\n\t\tpayload: { shouldFocus = true },\n\t} = action;\n\n\tdeactivateFocusTrap('tableCell');\n\n\tif (shouldFocus) trappedCell.node.focus();\n\n\tsetBehaviorState(updateState, { trappedCell: undefined });\n};\n\n/**\n * Refreshes the focus of the cell to update the tabbable elements\n * to account for elements being removed/added\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const refreshCellTrapEffect = ({ state, updateState }) => {\n\tconst {\n\t\ttableRef,\n\t\tfocusedCell: { rowIndex, cellIndex },\n\t} = getBehaviorState(state);\n\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\tif (!cell) return;\n\n\tconst tabbableNodes = findTabbableNodes(cell.node).filter(\n\t\t(/** @type {HTMLElement} */ el) => el !== cell.node\n\t);\n\n\t// This method will deactivate the current focus trap and initialize it again\n\tactivateFocusTrap('tableCell', cell.node, {\n\t\tfirstElement: tabbableNodes[0],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tsetBehaviorState(updateState, { trappedCell: cell });\n};\n\n/**\n * Handle a key being pressed by conditionally dispatching the move focus event\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const keydownHandlerEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n}) => {\n\tconst { trappedCell, tableRef, focusedCell, focusedRow } = getBehaviorState(\n\t\tstate\n\t);\n\tconst {\n\t\tdirectFocusSelectors,\n\t\ttabbableSelectors,\n\t\tpopoverTriggerClasses,\n\t} = getBehaviorOptions(action);\n\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst componentPath = getComponentPath(path);\n\n\tconst fromTable = componentPath.includes(tableRef.node);\n\n\tconst cell =\n\t\tfocusedCell &&\n\t\tgetCellFromTableRef(\n\t\t\ttableRef,\n\t\t\tfocusedCell.rowIndex,\n\t\t\tfocusedCell.cellIndex\n\t\t);\n\n\t// Find if anywhere along the component path the current focused\n\t// element contains a popover and prevent up/down default movement\n\tconst isPopoverFocused = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn popoverTriggerClasses?.some((/** @type {string} */ popover) => {\n\t\t\treturn node.classList.contains(popover);\n\t\t});\n\t});\n\n\tconst isInputFocused = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn node.classList.contains('now-input');\n\t});\n\n\tconst isHTMLScrollCell = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn (\n\t\t\tnode.classList.contains('html') &&\n\t\t\tnode.getAttribute('aria-description')\n\t\t);\n\t});\n\n\tconst row = focusedRow && getRowFromTableRef(tableRef, focusedRow.rowIndex);\n\tconst nextRow = getNextRowFromTableRef(tableRef, focusedRow, focusedCell);\n\n\tif (!cell && !row) return;\n\n\tlet preventDefault = true;\n\tlet stopPropagation = true;\n\n\tswitch (event.key) {\n\t\tcase KEY.LEFT:\n\t\tcase KEY.ARROW_LEFT:\n\t\tcase KEY.RIGHT:\n\t\tcase KEY.ARROW_RIGHT:\n\t\t\t/** Left/Right nav inside a form input (eg in column filtering)\n\t\t\t * focused inside the input and not nav to a new cell\n\t\t\t */\n\t\t\tif (isInputFocused) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t// eslint-disable-next-line no-fallthrough\n\t\tcase KEY.UP:\n\t\tcase KEY.ARROW_UP:\n\t\tcase KEY.DOWN:\n\t\tcase KEY.ARROW_DOWN:\n\t\t\tif (isHTMLScrollCell) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t/** Up/Down input causes a dropdown element to open so we\n\t\t\t *  want to prevent cell movement when the dropdown is focused\n\t\t\t */\n\t\t\tif (\n\t\t\t\tevent.key === KEY.ARROW_DOWN &&\n\t\t\t\tnextRow &&\n\t\t\t\tnextRow.node?.id?.toLocaleLowerCase().includes('loader')\n\t\t\t)\n\t\t\t\tbreak;\n\t\t\tif (isPopoverFocused) break;\n\t\t\tif (fromTable) {\n\t\t\t\tif (trappedCell)\n\t\t\t\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\t\t\t\tdispatch(MOVE_FOCUS, {\n\t\t\t\t\tkey: KEY_MAP[event.key],\n\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.HOME:\n\t\tcase KEY.END:\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.PAGE_DOWN:\n\t\t\tif (isHTMLScrollCell) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (fromTable) {\n\t\t\t\tif (trappedCell)\n\t\t\t\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\t\t\t\tdispatch(MOVE_FOCUS, {\n\t\t\t\t\tkey: KEY_MAP[event.key],\n\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.SPACEBAR:\n\t\tcase KEY.SPACE:\n\t\tcase KEY.ENTER:\n\t\t\tif (\n\t\t\t\t!trappedCell &&\n\t\t\t\tcell?.node === focusedCell.node &&\n\t\t\t\tfromTable &&\n\t\t\t\t!event.shiftKey\n\t\t\t) {\n\t\t\t\tif (cell.node.classList.contains('html')) {\n\t\t\t\t\tconst scrollableCell = cell.node.querySelector(\n\t\t\t\t\t\t'.html-cell-content'\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\tscrollableCell &&\n\t\t\t\t\t\tscrollableCell.scrollHeight > cell.node.clientHeight\n\t\t\t\t\t) {\n\t\t\t\t\t\tcell.node.setAttribute(\n\t\t\t\t\t\t\t'aria-description',\n\t\t\t\t\t\t\t'This cell is scrollable. Press enter and then use up and down arrow keys to scroll. Press Esc to exit cell.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdispatch(ENTER_CELL_TRAP);\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ESC:\n\t\tcase KEY.ESCAPE:\n\t\t\tif (trappedCell) {\n\t\t\t\tif (cell?.node && cell.node.classList.contains('html')) {\n\t\t\t\t\tconst scrollableCell = cell.node.querySelector(\n\t\t\t\t\t\t'.html-cell-content'\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\tscrollableCell &&\n\t\t\t\t\t\tscrollableCell.scrollHeight > cell.node.clientHeight\n\t\t\t\t\t) {\n\t\t\t\t\t\tcell.node.removeAttribute('aria-description');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdispatch(EXIT_CELL_TRAP);\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.TAB:\n\t\t\tif (!trappedCell) {\n\t\t\t\tconst tabbables = shadowQuerySelectorAll(\n\t\t\t\t\ttableRef.node,\n\t\t\t\t\ttabbableSelectors\n\t\t\t\t);\n\n\t\t\t\tif (!tabbables || !tabbables.length) return;\n\n\t\t\t\tfor (let k = 0; k < tabbables.length; k++) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Actionable message button should be focusable all the time.\n\t\t\t\t\t * */\n\t\t\t\t\tif (\n\t\t\t\t\t\ttabbables[k].nodeName === 'BUTTON' &&\n\t\t\t\t\t\ttabbables[k]\n\t\t\t\t\t\t\t.getRootNode()\n\t\t\t\t\t\t\t.host.classList.contains(\n\t\t\t\t\t\t\t\tACTIONABLE_MESSAGE_BUTTON_CLASS\n\t\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\ttabbables[k].tabIndex = -1;\n\t\t\t\t\ttabbables[k].setAttribute('data-manualtabindex', 'true');\n\t\t\t\t}\n\n\t\t\t\tif (cell) {\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tnewFocus: focusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdirectFocusSelectors,\n\t\t\t\t\t\tshouldFocus: false,\n\t\t\t\t\t});\n\t\t\t\t} else if (row) {\n\t\t\t\t\tsetNewRowFocus({\n\t\t\t\t\t\tnewFocus: focusedRow,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tshouldFocus: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tpreventDefault = false;\n\t\t\tstopPropagation = false;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tpreventDefault = false;\n\t\t\tstopPropagation = false;\n\t\t\tbreak;\n\t}\n\n\tif (preventDefault) event.preventDefault();\n\tif (stopPropagation) event.stopPropagation();\n};\n\n/**\n * Responds to a mouse click within the now-list element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const innerClickHandlerEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\n\tif (state?.popoverState?.popoverOpen) return;\n\n\tconst { trappedCell } = getBehaviorState(state);\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\n\tconst activeElement = findActiveElement();\n\tconst selectedActiveElement = path.find((\n\t\t/** @type {HTMLElement} */ node\n\t) => {\n\t\t/** Now-date-time has an icon as part of the input that isn't selectable in the dom (an active element).\n\t\t * Clicking this icon when the focus is on another cell opens the popover, but doesn't set focus to the now-date-time component\n\t\t * Including this as an edge case for users who use both mouse and keyboard nav. Generic solution TBD.\n\t\t */\n\n\t\tif (node.tagName === 'NOW-DATE-TIME') {\n\t\t\tnode.focus();\n\t\t\treturn true;\n\t\t}\n\t\t// if an actual element isn't selected, activeElement will return document.body.\n\t\treturn node === activeElement && node !== document.body;\n\t});\n\n\tconst node = path.find((/** @type {HTMLElement} */ node) => {\n\t\treturn ['TH', 'TD'].includes(node.nodeName);\n\t});\n\n\tif (!node) return;\n\n\t/**\n\t * If the user clicks on the group row button of a row that already has\n\t * focus, then the focus does not need to change.\n\t */\n\tif (\n\t\tnode.querySelector('.group-row-toggle') &&\n\t\tnode.parentElement === findActiveElement()\n\t) {\n\t\treturn;\n\t}\n\n\t// Do nothing if the cell is already focused or trapped\n\tif (node === findActiveElement() || node === trappedCell?.node) return;\n\n\tfocusCellNode(node, coeffects, selectedActiveElement);\n\tif (cellEditingEnabled) handleBulkFocusClick(coeffects, node);\n};\n\n/**\n * Responds to a mouse click outside of the now-list element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const outerClickHandlerEffect = ({ action, dispatch, state }) => {\n\tconst { tableRef, trappedCell } = getBehaviorState(state);\n\tconst { hoistedElements } = getBehaviorOptions(action);\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst componentPath = getComponentPath(path);\n\n\tconst clickFromTable = componentPath.includes(tableRef.node);\n\tconst clickFromHoist = hoistedElements\n\t\t? componentPath.some((elem) => hoistedElements.includes(elem.nodeName))\n\t\t: false;\n\n\t/**\n\t * If focus is currently trapped to a cell, we should only exit the trap if\n\t * the click is both outside the table and also not from a hoisted element,\n\t * such as a popover.\n\t */\n\tif (trappedCell && !clickFromTable && !clickFromHoist) {\n\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\t}\n};\n\n/**\n * Clears the current cell focus and updates the table reference to handle changes to the component’s input\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propChangeEffect = (coeffects) => {\n\tconst { action, dispatch } = coeffects;\n\tconst {\n\t\tshouldTriggerRerenderFn = shouldTriggerRerenderDefaultFn,\n\t} = getBehaviorOptions(action);\n\n\tif (shouldTriggerRerenderFn(coeffects)) {\n\t\tdispatch(RESET_BEHAVIOR);\n\t}\n};\n\n/**\n * Refocuses a cell or element inside of a cell if one was the target of a closed popover\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const popoverClosedEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\tconst {\n\t\tpayload: { popoverTarget, popoverOpen },\n\t} = action;\n\n\tif (popoverOpen) return;\n\n\tif (popoverTarget && !['TH', 'TD'].includes(popoverTarget.nodeName)) {\n\t\tfocusPopoverTarget(coeffects, popoverTarget);\n\t\treturn;\n\t} else {\n\t\tif (popoverTarget.ariaDescribedBy.startsWith('cell-editing-label')) {\n\t\t\tfocusCellNode(popoverTarget, coeffects);\n\t\t} else focusPopoverTarget(coeffects);\n\t}\n\n\tif (cellEditingEnabled) handleBulkFocusClick(coeffects, popoverTarget);\n};\n/**\n * Prompt the behavior to update the table reference on the next render,\n * used when a change that will affect the table is incoming. For example, this\n * is used for responding to grouped row expand/collapse.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const updateKeyboardNavEffect = ({ updateState }) => {\n\tsetBehaviorState(updateState, { incomingRender: true });\n};\n\n/**\n * Focuses the current focused cell or row as stored in the state.\n * This effect is used when focus is called on the list.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const focusListEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties: { virtualizedScrollEnabled },\n\t} = coeffects;\n\tconst { directFocusSelectors } = getBehaviorOptions(action);\n\tconst { focusedCell, focusedRow } = getBehaviorState(state);\n\n\tif (focusedCell) {\n\t\tsetNewCellFocus({\n\t\t\tnewFocus: focusedCell,\n\t\t\tupdateState,\n\t\t\tdirectFocusSelectors,\n\t\t\tshouldFocus: true,\n\t\t\tvirtualizedScrollEnabled,\n\t\t});\n\t} else if (focusedRow) {\n\t\tsetNewRowFocus({\n\t\t\tnewFocus: focusedRow,\n\t\t\tupdateState,\n\t\t\tshouldFocus: true,\n\t\t});\n\t}\n};\n","/**\n * Defines the Seismic behavior object, including the initial state, event\n * handlers, and actions handlers\n */\n\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tALLOW_TABLE_FOCUS,\n\tENTER_CELL_TRAP,\n\tEXIT_CELL_TRAP,\n\tREFRESH_CELL_TRAP,\n\tUPDATE_KEYBOARD_NAV,\n\tKEYBOARD_NAV_BEHAVIOR_NAME,\n\tMOVE_FOCUS,\n\tPOPOVER_CLOSED,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n\tEMPTY_BULK_FOCUS,\n\tFOCUS_LIST,\n} from './constants';\nimport {\n\tallowTableFocusEffect,\n\tenterCellTrapEffect,\n\texitCellTrapEffect,\n\trefreshCellTrapEffect,\n\tupdateKeyboardNavEffect,\n\tinnerClickHandlerEffect,\n\tkeydownHandlerEffect,\n\tmoveFocusEffect,\n\touterClickHandlerEffect,\n\tpopoverClosedEffect,\n\tpropChangeEffect,\n\tresetBehaviorEffect,\n\ttableRenderedEffect,\n\tupdateTableRefEffect,\n\tfocusListEffect,\n} from './keyboardNavEffects';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_TREE_RENDERED } = actionTypes;\n\nexport default {\n\tname: KEYBOARD_NAV_BEHAVIOR_NAME,\n\tinitialState: {\n\t\tisRendered: false,\n\t\thasGroupedRows: false,\n\t\tincomingRender: false,\n\t\ttableRef: { rows: [] },\n\t\tfocusedCell: undefined,\n\t\tcellToFocus: undefined,\n\t\tbulkFocus: EMPTY_BULK_FOCUS,\n\t\ttrappedCell: undefined,\n\t\tfocusedRow: undefined,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keydownHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['contextmenu'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['dblclick'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: outerClickHandlerEffect,\n\t\t\ttarget: document,\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: tableRenderedEffect,\n\t\t},\n\t\t[RESET_BEHAVIOR]: {\n\t\t\teffect: resetBehaviorEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UPDATE_TABLE_REF]: {\n\t\t\teffect: updateTableRefEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ALLOW_TABLE_FOCUS]: {\n\t\t\teffect: allowTableFocusEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[MOVE_FOCUS]: {\n\t\t\teffect: moveFocusEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ENTER_CELL_TRAP]: {\n\t\t\teffect: enterCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[EXIT_CELL_TRAP]: {\n\t\t\teffect: exitCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[REFRESH_CELL_TRAP]: {\n\t\t\teffect: refreshCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propChangeEffect,\n\t\t},\n\t\t[POPOVER_CLOSED]: {\n\t\t\teffect: popoverClosedEffect,\n\t\t},\n\t\t[UPDATE_KEYBOARD_NAV]: {\n\t\t\teffect: updateKeyboardNavEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[FOCUS_LIST]: {\n\t\t\teffect: focusListEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import { selector as tabbableSelectors } from '@devsnc/sn-list-commons';\n\nimport behavior from './keyboardNavBehavior';\nimport { shouldTriggerRerender, focus } from './keyboardNavHelpers';\n\n/** @type {{behavior: any; options: KeyboardNavBehaviorOptions}} */\nconst keyboardNavBehavior = {\n\tbehavior,\n\toptions: {\n\t\ttableSelector: '>>> .now-list-table',\n\t\trowSelectors: 'tr:not(.is-hidden)',\n\t\tcellSelectors: 'th, td',\n\t\ttabbableSelectors: `[data-manualtabindex='true'], ${tabbableSelectors}`,\n\t\tpopoverTriggerClasses: [\n\t\t\t'now-dropdown',\n\t\t\t'now-date-time-input',\n\t\t\t'now-popover',\n\t\t\t'now-select',\n\t\t],\n\t\tdirectFocusSelectors: [\n\t\t\t'.row-selection-checkbox >>> input',\n\t\t\t'.row-drag now-button-iconic >>> button',\n\t\t\t'[data-test-id=\"groupToggle\"] >>> button',\n\t\t\t'button[data-html-group-toggle=\"true\"]',\n\t\t\t'.column-filtering-button-iconic >>> button',\n\t\t\t'now-input >>> input',\n\t\t\t'now-date-time >>> now-input-date-time >>> now-input >>> input',\n\t\t],\n\t\tscrollContainerSelector: '.scroll-container',\n\t\trerenderProperties: [\n\t\t\t'columnDefinitions',\n\t\t\t'rowDefinitions',\n\t\t\t'overlayDefinition',\n\t\t\t'popoverDefinition',\n\t\t],\n\t\thoistedElements: [\n\t\t\t'NOW-LIST-POPOVER-CELL-EDIT-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-LIST-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-TEXT-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-CUSTOM-CONTENT',\n\t\t\t'NOW-DROPDOWN-LIST',\n\t\t],\n\t\tshouldTriggerRerenderFn: shouldTriggerRerender,\n\t},\n};\n\nexport default keyboardNavBehavior;\n\nexport { focus };\n","export const NOW_LIST_CELL_LINK_CLICKED = 'NOW_LIST#CELL_LINK_CLICKED';\nexport const NOW_LIST_GALLERY_CARD_CLICKED = 'NOW_LIST#GALLERY_CARD_CLICKED';\n","import isEmpty from 'lodash/isEmpty';\n\nimport logger from '../../shared/utils/logger';\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\n\nimport { NOW_LIST_CELL_LINK_CLICKED } from './constants';\n\n/* EFFECTS */\n/**\n * dispatched when a link in a link type cell is clicked. (does not apply to URLs)\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst cellLinkClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst actionName = cellSelectors.getValue(payload.cell);\n\n\tif (isEmpty(actionName)) {\n\t\tlogger.error(\n\t\t\t'No action to dispatch. Make sure the cell value is nonempty.'\n\t\t);\n\t} else {\n\t\tdispatch(actionName, payload);\n\t}\n};\n\nconst linkBehavior = {\n\tname: 'linkBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_LIST_CELL_LINK_CLICKED]: {\n\t\t\teffect: cellLinkClickedHandler,\n\t\t},\n\t},\n};\n\nexport default linkBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","export const SORTABLE_ACTION_PREFIX = 'NOW_LIST#ROW_REORDER#';\n\nexport const NOW_LIST_ROW_SORT_END = `${SORTABLE_ACTION_PREFIX}SORT_END`;\nexport const NOW_LIST_ROW_SORT_START = `${SORTABLE_ACTION_PREFIX}SORT_START`;\nexport const NOW_LIST_ROW_DROP_AREA_CHANGE = `${SORTABLE_ACTION_PREFIX}DROP_AREA_CHANGE`;\nexport const NOW_LIST_ROW_SORT_CANCELLED = `${SORTABLE_ACTION_PREFIX}SORT_CANCELLED`;\n\nexport const NOW_SORTABLE_UPDATE_BEHAVIOR = 'NOW_SORTABLE#UPDATE_BEHAVIOR';\nexport const ROWS_REORDERED = 'NOW_LIST#ROWS_REORDERED';\n\nexport const DRAG_CANCELLED = 'Drag cancelled.';\n\nexport const ROW_DRAG_HANDLE_CLASS = 'row-drag-handle';\n","export const ROW_CHECKBOX_INTERNAL_SET = 'ROW_CHECKBOX_INTERNAL_SET';\nexport const NOW_LIST_ROW_SELECT_TOGGLED = 'NOW_LIST#ROW_SELECT_TOGGLED';\nexport const NOW_LIST_SELECT_ALL_TOGGLED = 'NOW_LIST#SELECT_ALL_TOGGLED';\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\n","import track from '@devsnc/ux-metrics';\n\nimport { NOW_LIST_COLUMNS_REORDERED } from '../columnDragDropBehavior/constants';\nimport { ROWS_REORDERED } from '../rowDragDropBehavior/constants';\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../rowSelectionBehavior/constants';\nexport const SORT_COLUMN_EVENT = 'Sort Column';\nexport const COLUMN_REORDER_EVENT = 'Column Reorder';\nexport const ROWS_REORDER_EVENT = 'Row Reorder';\nexport const ROW_CHECKED = 'Row checked';\n\nexport const ASCENDING = 'ascending';\nexport const DESCENDING = 'descending';\n//Metrics\nexport const METRIC_TRACKED = 'NOW_LIST_METRIC_TRACKED';\nconst metricsBehavior = {\n\tname: 'metricsBehavior',\n\n\t/**@type {Now.ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[METRIC_TRACKED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { eventName, metadata },\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\n\t\t\t\ttrack(coeffects, eventName, metadata);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t[NOW_LIST_COLUMNS_REORDERED]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: { newColumns },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\teventName: COLUMN_REORDER_EVENT,\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\torder: newColumns,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t[ROWS_REORDERED]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tdata: { movedRows },\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\teventName: ROWS_REORDER_EVENT,\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\torder: movedRows,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\n\t\t[ROW_CHECKBOX_INTERNAL_SET]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: { rowKey, checked, rowIndex },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\t\t\t\t\t\tif (!Array.isArray(rowKey))\n\t\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\t\teventName: ROW_CHECKED,\n\t\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\t\tNumber: rowKey,\n\t\t\t\t\t\t\t\t\tchecked,\n\t\t\t\t\t\t\t\t\trank: rowIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport default metricsBehavior;\n","export const NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED =\n\t'NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED';\nexport const MESSAGE_OVERLAY_ACTION_CLICKED =\n\t'NOW_LIST#MESSAGE_OVERLAY_ACTION_CLICKED';\nexport const NOW_LOADER_ACTION_CLICKED = 'NOW_LOADER#ACTION_CLICKED';\nexport const LOADER_OVERLAY_ACTION_CLICKED =\n\t'NOW_LIST#LOADER_OVERLAY_ACTION_CLICKED';\n","import {\n\tNOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED,\n\tMESSAGE_OVERLAY_ACTION_CLICKED,\n\tNOW_LOADER_ACTION_CLICKED,\n\tLOADER_OVERLAY_ACTION_CLICKED,\n} from './constants';\n\n/* EFFECTS */\n\n/**\n * emits an action when a button inside now-template-message is clicked\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const messageActionClickedHandler = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\n\tdispatch(MESSAGE_OVERLAY_ACTION_CLICKED, action.payload);\n};\n\n/**\n * emits an action when a button inside now-loader is clicked\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const loaderActionClickedHandler = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\n\tdispatch(LOADER_OVERLAY_ACTION_CLICKED, action.payload);\n};\n\nconst overlayBehavior = {\n\tname: 'overlayBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED]: {\n\t\t\teffect: messageActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LOADER_ACTION_CLICKED]: {\n\t\t\teffect: loaderActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default overlayBehavior;\n","import throttle from 'lodash/throttle';\n\nexport const NOW_LIST_SCROLLED = 'NOW_LIST#SCROLLED';\n\n/**\n * Event handler for now list. Will dispatch throttled scroll event\n *\n * @param {*} dispatch\n * @returns\n */\nexport const nowListScrollHandler = (dispatch) =>\n\tthrottle(() => {\n\t\tconst timestamp = Date.now();\n\t\tdispatch(NOW_LIST_SCROLLED, {\n\t\t\ttimestamp,\n\t\t});\n\t}, 200);\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { NOW_LIST_SCROLLED } from '../../shared/utils/eventListeners';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport { NOW_LIST_POPOVER_BUTTON_CLICKED } from '../cellEditingBehavior/constants';\nimport { POPOVER_CLOSED } from '../keyboardNavBehavior/constants';\nimport { ROW_HIGHLIGHT_DEACTIVATED } from '../rowBehavior/constants';\n\nimport {\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_POPOVER_CLOSED,\n\tNOW_LIST_POPOVER_OPENED,\n\tNOW_POPOVER_OPENED_SET,\n\tBEHAVIOR_STATE_PATH,\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Enum for target types.\n * @enum {string}\n */\nexport const targetTypes = {\n\tHEADER_TARGET: 'HEADER_TARGET',\n\tROW_TARGET: 'ROW_TARGET',\n\tMATCHER_TARGET: 'MATCHER_TARGET',\n\tINVALID_TARGET: 'INVALID_TARGET',\n};\n\nexport const popoverBehaviorHelpers = {\n\t/**\n\t * Returns the correct target type based on target position on the list.\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {targetTypes}\n\t */\n\tgetPopoverTargetType(popoverDefinition) {\n\t\tif (popoverSelectors.isHeaderTargetPosition(popoverDefinition)) {\n\t\t\treturn targetTypes.HEADER_TARGET;\n\t\t}\n\n\t\tif (popoverSelectors.isRowTargetPosition(popoverDefinition)) {\n\t\t\treturn targetTypes.ROW_TARGET;\n\t\t}\n\n\t\treturn targetTypes.INVALID_TARGET;\n\t},\n\n\t/**\n\t * Returns target element based on row and cell index\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element | undefined} host\n\t * @returns {Element | undefined}\n\t */\n\tgetRowTarget(popoverDefinition, host) {\n\t\tconst rowIndex = popoverSelectors.getTargetRowIndex(popoverDefinition);\n\n\t\t// @ts-ignore\n\t\tconst row = host.shadowRoot.querySelector(\n\t\t\t`tbody tr:nth-child(${rowIndex})`\n\t\t);\n\n\t\tif (!row) return;\n\n\t\tconst cellIndex = popoverSelectors.getTargetCellIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst cell = row.querySelector(`td:nth-child(${cellIndex})`);\n\n\t\tif (!cell) return row;\n\n\t\treturn cell;\n\t},\n\n\t/**\n\t * Returns target element based on header row and cell index\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element} host\n\t * @returns {Element | undefined}\n\t */\n\tgetHeaderTarget(popoverDefinition, host) {\n\t\tconst headerRowIndex = popoverSelectors.getHeaderTargetRowIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\t// @ts-ignore\n\t\tconst headerRow = host.shadowRoot.querySelector(\n\t\t\t`thead tr:nth-child(${headerRowIndex})`\n\t\t);\n\n\t\tif (!headerRow) return;\n\n\t\tconst headerCellIndex = popoverSelectors.getHeaderTargetCellIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst headerCell = headerRow.querySelector(\n\t\t\t`th:nth-child(${headerCellIndex})`\n\t\t);\n\n\t\tif (!headerCell) return headerRow;\n\n\t\treturn headerCell;\n\t},\n\n\t/**\n\t * Returns popover target depending on target type\n\t * @param {targetTypes} targetType\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element} host\n\t * @returns {Element | undefined}\n\t */\n\tgetPopoverTarget(targetType, popoverDefinition, host) {\n\t\tswitch (targetType) {\n\t\t\tcase targetTypes.HEADER_TARGET:\n\t\t\t\treturn this.getHeaderTarget(popoverDefinition, host);\n\t\t\tcase targetTypes.ROW_TARGET:\n\t\t\t\treturn this.getRowTarget(popoverDefinition, host);\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t},\n\n\t/**\n\t * Sets popover state and dispatches accordingly\n\t * @param {*} updateState\n\t * @param {*} dispatch\n\t * @param {boolean} popoverOpen\n\t * @param {Element} [popoverTarget]\n\t * @param {PopoverDefinition} [popoverDefinition]\n\t * @param {Context} [context]\n\t */\n\tsetPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\tpopoverOpen = false,\n\t\tpopoverTarget,\n\t\tpopoverDefinition,\n\t\tcontext\n\t) {\n\t\tconst column = context?.column;\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'popoverState',\n\t\t\tvalue: { popoverOpen, popoverTarget, popoverDefinition, context },\n\t\t});\n\n\t\t// Ensure focus returns if the target was a table cell\n\t\tdispatch(POPOVER_CLOSED, { popoverTarget, popoverOpen });\n\n\t\tconst actionToDispatch = popoverOpen\n\t\t\t? NOW_LIST_POPOVER_OPENED\n\t\t\t: NOW_LIST_POPOVER_CLOSED;\n\n\t\tdispatch(actionToDispatch, { column });\n\t},\n};\n\n/**\n * Component dom ree ready action handler. Handles a popover being provided when component is being initialized.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentTreeRenderedActionHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { popoverDefinition },\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst hasRendered = get(state, `${BEHAVIOR_STATE_PATH}.firstRender`, false);\n\n\tif (!hasRendered) {\n\t\tconst popoverTargetType = popoverBehaviorHelpers.getPopoverTargetType(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst target = popoverBehaviorHelpers.getPopoverTarget(\n\t\t\tpopoverTargetType,\n\t\t\tpopoverDefinition,\n\t\t\thost\n\t\t);\n\n\t\tif (!target) return;\n\n\t\t/**\n\t\t * DEF0365982: The bounding client is 0 when the target element isn't\n\t\t * visible on the page, which means the popover won't position\n\t\t * correctly if we pass the target at this point. An instance of this\n\t\t * occurs when the component is used in a UIB page, since the loader\n\t\t * overlay blocks the component as the experience first loads.\n\t\t */\n\t\tconst { width, height } = target.getBoundingClientRect();\n\t\tif (width === 0 && height === 0) return;\n\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.firstRender`,\n\t\t\tvalue: true,\n\t\t});\n\n\t\tpopoverBehaviorHelpers.setPopoverState(\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\ttrue,\n\t\t\ttarget,\n\t\t\tpopoverDefinition\n\t\t);\n\t}\n};\n\n/**\n * Property changed effect handler. Row definitions are copied and if additional processing is added for computed values, they will be added here\n * Currently no processed values.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\t// On property change, we need to check the type and process accordingly\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\thost,\n\t\tproperties: { popoverDefinition },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (name !== 'popoverDefinition') return;\n\n\tif (isEmpty(value)) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\treturn;\n\t}\n\n\tconst popoverTargetType = popoverBehaviorHelpers.getPopoverTargetType(\n\t\tpopoverDefinition\n\t);\n\n\tif (popoverTargetType === targetTypes.INVALID_TARGET) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\treturn;\n\t}\n\n\tconst target = popoverBehaviorHelpers.getPopoverTarget(\n\t\tpopoverTargetType,\n\t\tpopoverDefinition,\n\t\thost\n\t);\n\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\ttrue,\n\t\ttarget,\n\t\tpopoverDefinition\n\t);\n};\n\n/**\n * This effect handles the now-popover opened set action.\n * If popover config dismissable is set to false, this\n * function will not do anything\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const popoverOpenedSetEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { actionSource, value, from },\n\t\t},\n\t\tstate: { popoverState },\n\t\tdispatch,\n\t} = coeffects;\n\tconst { popoverOpen, popoverDefinition, popoverTarget } =\n\t\tpopoverState || {};\n\n\tif (from !== 'now-list') return;\n\n\tif (\n\t\tpopoverOpen &&\n\t\t!value &&\n\t\tpopoverSelectors.getDismissable(popoverDefinition)\n\t) {\n\t\tif (actionSource === 'escape-press' && popoverTarget) {\n\t\t\tpopoverTarget.focus();\n\t\t}\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * This effect handles scroll actions on the list to check whether we should dismiss the popover or not on scroll\n * based on popover configuration\n * @param {Coeffects<Props, State>} coeffects\n */\nconst popoverTableScrollEffect = (coeffects) => {\n\tconst {\n\t\tstate: { popoverState },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!popoverState) return;\n\n\tconst { popoverDefinition } = popoverState;\n\n\tconst dismissOnScroll = popoverSelectors.getDismissOnScroll(\n\t\tpopoverDefinition\n\t);\n\n\tif (dismissOnScroll) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * This effect handles now-list popover button action. Will set internal state to\n * close the popover\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst popoverButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tpopoverState: { popoverOpen, popoverDefinition },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (popoverOpen && popoverSelectors.getDismissable(popoverDefinition)) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * Handler for opening internal popover action dispatch\n * @param {Coeffects<Props, State>} coeffects\n */\nconst internalPopoverHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { popoverDefinition, popoverTarget, context },\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\t/** @type {HTMLElement} */\n\tconst target = popoverTarget?.current ?? popoverTarget;\n\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\ttrue,\n\t\ttarget,\n\t\tpopoverDefinition,\n\t\tcontext\n\t);\n};\n\n/**\n * Handler for closing internal popover action dispatch\n * @param {Coeffects<Props, State>} coeffects\n */\nconst closeInternalPopoverHandler = (coeffects) => {\n\tconst {\n\t\tstate: { popoverState },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\tif (!popoverState?.popoverTarget) return;\n\tconst { popoverTarget, context } = popoverState;\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\tfalse,\n\t\tpopoverTarget,\n\t\tundefined,\n\t\tcontext\n\t);\n\tdispatch(ROW_HIGHLIGHT_DEACTIVATED);\n};\n\nconst popoverDefinitionBehavior = {\n\tname: 'popoverDefinitionBehavior',\n\tinitialState: {\n\t\tpopoverState: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: componentTreeRenderedActionHandler,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[NOW_LIST_OPEN_POPOVER_INTERNAL]: {\n\t\t\teffect: internalPopoverHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_CLOSE_POPOVER_INTERNAL]: {\n\t\t\teffect: closeInternalPopoverHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: popoverOpenedSetEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_SCROLLED]: {\n\t\t\teffect: popoverTableScrollEffect,\n\t\t},\n\t\t[NOW_LIST_POPOVER_BUTTON_CLICKED]: {\n\t\t\teffect: popoverButtonClickedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default popoverDefinitionBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport featureFlagSelectors from '../../shared/utils/selectors/featureFlagSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { ROW_ACTION } from '../contextActionsBehavior/constants';\nimport {\n\tNOW_LIST_ROW_FOCUSED,\n\tROW_HIGHLIGHT_ACTIVATED,\n\tROW_HIGHLIGHT_DEACTIVATED,\n\tROW_FOCUSED_INTERNAL,\n\tROW_BLUR_INTERNAL,\n} from '../rowBehavior/constants';\n\nconst { hasRows, hasChildren } = rowSelectors;\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\trowDefinitionsPath: 'rowDefinitions',\n\thasDuplicateRowKeys: 'hasDuplicateRowKeys',\n\trowIndexesMap: 'rowIndexesMap',\n};\n\n/* EFFECTS */\n\n/* HELPERS */\n\n/**\n * Rows to check for duplicate keys\n * @param {RowDefinitions} rowDefinitions\n */\nexport const hasDuplicateRowKeys = (rowDefinitions) => {\n\tconst map = new Set();\n\n\tconst rowKeyAlreadyExists = (/** @type {Row}} */ row) => {\n\t\tif (map.has(row.key)) {\n\t\t\treturn true;\n\t\t}\n\t\tmap.add(row.key);\n\n\t\tif (hasChildren(row)) {\n\t\t\tfor (let i = 0; i < (row.children?.length || 0); i++) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tif (rowKeyAlreadyExists(row.children[i])) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tif (!hasRows(rowDefinitions)) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < rowDefinitions.rows.length; i++) {\n\t\tif (rowKeyAlreadyExists(rowDefinitions.rows[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n/**\n * Get row indexes map\n * @param {RowDefinitions} rowDefinitions\n */\nexport const getRowIndexesMap = (rowDefinitions) => {\n\t/**@type {any} */\n\tconst rowIndexesMap = {};\n\tconst rows = rowSelectors.getRows(rowDefinitions);\n\n\tvar flattenedRowKeys = rowSelectors.getAllKeysInOrder(rows);\n\tflattenedRowKeys.forEach((rowKey, index) => {\n\t\trowIndexesMap[rowKey] = index;\n\t});\n\treturn rowIndexesMap;\n};\n\n/**\n * Property changed effect handler. Row definitions are copied and if additional processing is added for computed values, they will be added here\n * Currently no processed values.\n * @param {Coeffects<Props, State>} coeffects\n */\nconst propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (name !== 'rowDefinitions') return;\n\n\tif (isEqual(value, previousValue)) return;\n\n\tif (isEmpty(value)) {\n\t\treturn updateState({\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: {},\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: cloneDeep(value),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.hasDuplicateRowKeys,\n\t\t\tvalue: hasDuplicateRowKeys(value),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.rowIndexesMap,\n\t\t\tvalue: getRowIndexesMap(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Component bootstrapped for rowBehavior. Similar to propertyChanged handler. Will clone prop and process if necessary\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (!rowDefinitions) return;\n\n\tcoeffects.updateState([\n\t\t{\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: cloneDeep(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.hasDuplicateRowKeys,\n\t\t\tvalue: hasDuplicateRowKeys(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.rowIndexesMap,\n\t\t\tvalue: getRowIndexesMap(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t]);\n};\n\n/**\n * Handles setting active state on a row when a user is about to click a row action or checkbox\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowHighlightActivatedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions, selectionEnabled },\n\t\taction: {\n\t\t\tpayload: { rowKey },\n\t\t},\n\t\tstate: { activeRowKey },\n\t} = coeffects;\n\n\tconst featureFlags = { selectionEnabled };\n\n\tif (\n\t\trowKey &&\n\t\tactiveRowKey != rowKey &&\n\t\t(rowSelectors.hasRowActionsWithItems(rowDefinitions) ||\n\t\t\tfeatureFlagSelectors.getSelectionEnabled(featureFlags))\n\t) {\n\t\tupdateState({\n\t\t\tpath: 'activeRowKey',\n\t\t\tvalue: rowKey,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n};\n\n/**\n * Handles removing active state on a row.\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowHighlightDeactivatedHandler = (coeffects) => {\n\tconst { updateState, state } = coeffects;\n\n\tconst popoverOpen = get(state, 'popoverState.popoverOpen', false);\n\tconst typeOfAction = get(state, 'popoverState.context.typeOfAction', '');\n\t// when rowActions popover is open, we shouldn't reset the state\n\tif (!popoverOpen || typeOfAction !== ROW_ACTION) {\n\t\tupdateState({\n\t\t\tpath: 'activeRowKey',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n};\n\n/**\n * When row is blurred reset focusedRowKey\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowBlurHandler = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tpath: 'focusedRowKey',\n\t\tvalue: null,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * Handles row focus and dispatch an action when any of the cell inside row is focused or clicked\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowFocusHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { rowKey },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tconst row = rowSelectors.getRow(rowDefinitions.rows, rowKey);\n\n\tupdateState({\n\t\tpath: 'focusedRowKey',\n\t\tvalue: rowKey,\n\t\toperation: 'set',\n\t});\n\n\tdispatch(NOW_LIST_ROW_FOCUSED, {\n\t\tcontext: {\n\t\t\trow,\n\t\t},\n\t});\n};\n\nconst rowDefinitionsBehavior = {\n\tname: 'rowDefinitionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[ROW_HIGHLIGHT_ACTIVATED]: {\n\t\t\teffect: rowHighlightActivatedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_FOCUSED_INTERNAL]: {\n\t\t\teffect: rowFocusHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_BLUR_INTERNAL]: {\n\t\t\teffect: rowBlurHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_HIGHLIGHT_DEACTIVATED]: {\n\t\t\teffect: rowHighlightDeactivatedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowDefinitionsBehavior;\n","import { ROW_DRAG_HANDLE_CLASS, SORTABLE_ACTION_PREFIX } from './constants';\nimport {\n\trowDragDestPlaceholder,\n\trowDragSourcePlaceholder,\n\trowDragClone,\n} from './dragDropPlaceholders';\n\n/**\n * Update the default drag-drop configuration based on properties to now-list\n * @param {*} host - Host element\n * @returns {object} config - options for dynamic config\n */\nexport const dynamicConfig = (host) => {\n\tconst { rowDragDropEnabled } = host;\n\tconst config = {};\n\tconfig['dragSupport'] = rowDragDropEnabled;\n\tconfig['keyboardSupport'] = rowDragDropEnabled;\n\tif (host.scrollHeight !== host.clientHeight) {\n\t\tconfig['yScrollParent'] = 'now-list';\n\t} else {\n\t\tconfig['yScrollParent'] = '.scroll-container';\n\t}\n\treturn config;\n};\n\n// sortable internally uses interact js to handle drag and drop\nexport const sortableOptions = {\n\titems: 'table > tbody > tr', // draggable selector\n\tdropzone: 'tbody',\n\tfollowMouseForAutoScroll: true,\n\tactionPrefix: SORTABLE_ACTION_PREFIX,\n\tlistOrder: 'vertical',\n\tyScrollParent: '.scroll-container', // supports autoscroll while dragging in local use .scroll-container\n\tcloneAppendTo: 'table',\n\tcustomSourcePlaceholder: rowDragSourcePlaceholder, // template to be shown on drag source\n\tcustomDestPlaceholder: rowDragDestPlaceholder, // template to be shown while dropping\n\tclone: rowDragClone,\n\tshouldNotHideTargetElement: true, // do not hide the target element while dragging\n\ttransitions: false,\n\thandle: `.${ROW_DRAG_HANDLE_CLASS}`,\n\tallowFrom: `.${ROW_DRAG_HANDLE_CLASS}`,\n\tshouldUpdate: () => false, // we are handling update in component tree rendered\n\tkeyboardSupport: true, // use space to select and use arrows to move and then enter to drop\n\tkeyboardTriggers: {\n\t\t/**\n\t\t * @param {KeyboardEvent} event\n\t\t */\n\t\tstart(event) {\n\t\t\treturn event.code === 'Space';\n\t\t},\n\t\t/**\n\t\t * @param {KeyboardEvent} event\n\t\t */\n\t\tend(event) {\n\t\t\treturn event.code === 'Enter';\n\t\t},\n\t},\n\tdragSupport: true, // initializes interactJS only if this is true\n\tlockAxis: 'y',\n\tdynamicConfig,\n};\n","import { seismicClone } from '../../commons';\nimport { DATA_COLUMN_CLASS } from '../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * The markup displayed in place of the item being dragged\n * @param {HTMLTableRowElement} srcEl - Source Placeholder\n * @returns {HTMLTableRowElement} tr - Row element to be displayed in place of the item being dragged\n */\nexport const rowDragSourcePlaceholder = (srcEl) => {\n\tvar tr = seismicClone(srcEl);\n\t// @ts-ignore\n\ttr.classList.add('row-drag-src-placeholder');\n\t// @ts-ignore\n\treturn tr;\n};\n\n/**\n * The markup displayed to indicate an area where the item can be dropped\n * @returns {HTMLTableRowElement} tr - Row element to indicate an area where the item can be dropped\n */\nexport const rowDragDestPlaceholder = () => {\n\tvar tr = document.createElement('tr');\n\ttr.classList.add('row-drag-dest-placeholder');\n\treturn tr;\n};\n\n/**\n * Representational markup to indicate the item being dragged\n * @param {HTMLTableRowElement} el - Clone element\n * @returns {HTMLTableRowElement} tr - Row element to indicate the item being dragged\n */\nexport const rowDragClone = (el) => {\n\tconst tr = document.createElement('tr');\n\ttr.classList.add('row-drag-clone');\n\ttr.style.width = `${el.offsetWidth}px`;\n\n\tconst dragHandleCell = el.cells[0];\n\tconst displayLabelCell = Array.from(el.cells).find((cell) =>\n\t\tcell.classList.contains(DATA_COLUMN_CLASS)\n\t);\n\n\tconst dragCellClone = dragHandleCell.cloneNode(true);\n\tconst displayLabelCellClone = displayLabelCell?.cloneNode(true);\n\n\ttr.appendChild(dragCellClone);\n\tdisplayLabelCellClone && tr.appendChild(displayLabelCellClone);\n\treturn tr;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport isEqual from 'lodash/isEqual';\nimport sortBy from 'lodash/sortBy';\nimport { t } from 'sn-translate';\n\nimport { nowSortable } from '../../commons';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tNOW_LIST_ROW_DROP_AREA_CHANGE,\n\tNOW_LIST_ROW_SORT_END,\n\tNOW_LIST_ROW_SORT_START,\n\tNOW_LIST_ROW_SORT_CANCELLED,\n\tNOW_SORTABLE_UPDATE_BEHAVIOR,\n\tROWS_REORDERED,\n\tDRAG_CANCELLED,\n} from './constants';\nimport { sortableOptions } from './sortableOptions';\nconst {\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\nconst { getRowKey } = rowSelectors;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\trowsPath: ['rowDefinitions', 'rows'],\n};\nconst ARIA_LIVE_REGION_TYPE = 'assertive';\n/**\n * @param {Now.Dispatch} dispatch\n * @param {string} message\n */\nfunction updateAriaLiveRegion(dispatch, message) {\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: ARIA_LIVE_REGION_TYPE,\n\t});\n}\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragStart = ({ state, action, dispatch }) => {\n\tconst {\n\t\tpayload: { sourceIndex },\n\t} = action;\n\tconst rows = rowSelectors.getRows(state.rowDefinitions);\n\n\tconst message = t(\n\t\t'Drag started. Current position: {0} of {1}. Press up and down to change the position of the row, enter to drop, and escape to cancel.',\n\t\tsourceIndex + 1,\n\t\trows.length\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragDropAreaChange = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: { newPosition },\n\t} = action;\n\tconst message = t('Row {0}', newPosition + 1);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * Drop cancel handler: Triggered when escape is pressed.\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragDropCancel = ({ dispatch }) => {\n\tconst message = t(DRAG_CANCELLED);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * Drop handler: Triggered when a row is dropped in a table.\n * @param {Coeffects<Props,State>} coeffects - Dispatch function to emit an action\n */\nconst handleRowDrop = ({ state, action, dispatch, updateState }) => {\n\tlet {\n\t\tpayload: { destinationIndex },\n\t} = action;\n\tconst {\n\t\tpayload: { sourceIndex },\n\t} = action;\n\n\tconst rows = rowSelectors.getRows(state.rowDefinitions);\n\tconst rowsBeforeUpdate = rows.map(getRowKey);\n\tconst movedItem = rows[sourceIndex];\n\tconst movedRows = [getRowKey(movedItem)];\n\t// when dragging from top to bottom as we are removing the source row, we need to consider the source row too and substact that from the destinationIndex\n\tif (destinationIndex > sourceIndex) {\n\t\tdestinationIndex--;\n\t}\n\t// Remove at sourceIndex\n\trows.splice(sourceIndex, 1);\n\t// Add it at the destination index\n\trows.splice(destinationIndex, 0, movedItem);\n\n\tupdateState({\n\t\tpath: pathConstants.rowsPath.join('.'),\n\t\tvalue: [...rows],\n\t\toperation: 'set',\n\t});\n\n\tconst message = t(\n\t\t'Dropped. New position: {0} of {1}.',\n\t\tdestinationIndex + 1,\n\t\trows.length\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n\t// rowindex starts from header row in navigation behaviour so increasing it by 1\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: { rowPath: `[${destinationIndex}]`, columnKey: 'rowDrag' },\n\t});\n\n\tconst rowsAfterUpdate = rows.map(getRowKey);\n\n\tdispatch(ROWS_REORDERED, {\n\t\tdata: {\n\t\t\trowsBeforeUpdate,\n\t\t\trowsAfterUpdate,\n\t\t\tmovedRows,\n\t\t},\n\t});\n};\n/**\n * hasNewRows: checks if any new rows added\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const hasNewRows = (coeffects) => {\n\tconst {\n\t\tstate: { rowDefinitions: currentRowDefinitions },\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpreviousRenderState: { rowDefinitions: previousRowDefinitions },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tif (isEqual(previousRowDefinitions, currentRowDefinitions)) return false;\n\tconst previousRows = rowSelectors.getRows(previousRowDefinitions) || [];\n\tconst currentRows = rowSelectors.getRows(currentRowDefinitions) || [];\n\n\tif (currentRows.length === previousRows.length) {\n\t\tconst currentRowsKeys = sortBy(currentRows.map(getRowKey), ['key']);\n\t\tconst previousRowsKeys = sortBy(previousRows.map(getRowKey), ['key']);\n\t\tif (isEqual(currentRowsKeys, previousRowsKeys)) return false;\n\t}\n\treturn true;\n};\n/* The following method is used to re-trigger/refresh the now-sortable initialization */\n/**\n * Re-trigger/refresh the now-sortable initialization\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const refreshDragDrop = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\tif (!hasNewRows(coeffects)) return;\n\t// we need to update sortable only on new rows addition\n\tdispatch(NOW_SORTABLE_UPDATE_BEHAVIOR);\n};\n\nconst rowDragDropBehavior = {\n\tname: 'rowDragDropBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t...nowSortable.actionHandlers,\n\t\t[COMPONENT_TREE_RENDERED]: refreshDragDrop,\n\t\t[NOW_LIST_ROW_SORT_START]: {\n\t\t\teffect: handleRowDragStart,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_DROP_AREA_CHANGE]: {\n\t\t\teffect: handleRowDragDropAreaChange,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_SORT_END]: {\n\t\t\teffect: handleRowDrop,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_SORT_CANCELLED]: {\n\t\t\teffect: handleRowDragDropCancel,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default { behavior: rowDragDropBehavior, options: sortableOptions };\n","export const NOW_LIST_CONTEXT_ACTION_CLICKED =\n\t'NOW_LIST#CONTEXT_ACTION_CLICKED';\nexport const SN_LIST_GALLERY_GROUP_EXPANDED = 'SN_LIST_GALLERY#GROUP_EXPANDED';\nexport const NOW_LIST_GROUP_TOGGLED = 'NOW_LIST#GROUP_TOGGLED';\nexport const SN_LIST_GALLERY_GROUPS_EXPANDED =\n\t'SN_LIST_GALLERY#GROUPS_EXPANDED';\nexport const NOW_LIST_ALL_GROUPS_TOGGLED = 'NOW_LIST#ALL_GROUPS_TOGGLED';\nexport const SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'SN_LIST_GALLERY#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const NOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'NOW_LIST#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const NOW_LIST_ROW_CLICKED = 'NOW_LIST#ROW_CLICKED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { has, isArray, map } from 'lodash';\nimport difference from 'lodash/difference';\nimport flatten from 'lodash/flatten';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport values from 'lodash/values';\n\nimport { LAYOUT_OPTIONS } from '../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport {\n\tSN_LIST_GALLERY_GROUP_EXPANDED,\n\tSN_LIST_GALLERY_GROUPS_EXPANDED,\n} from '../../shared/behaviors/actionConstants';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { UPDATE_KEYBOARD_NAV } from '../keyboardNavBehavior/constants';\n\nimport {\n\tEXPAND_ALL_GROUPS,\n\tEXPAND_GROUP,\n\tNOW_LIST_ALL_GROUPS_TOGGLED,\n\tNOW_LIST_GROUP_TOGGLED,\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst {\n\tgetGroupedOrDefaultRowsWithChildren,\n\tgetRowKey,\n\thasChildren,\n\tgetAllGroupKeysRecursively,\n\tgetKeysOfChildren,\n\tcreateStateOnBootstrapForExpandedChildren,\n} = rowSelectors;\n\n/* EFFECTS */\n\n/**\n * Delegates to the component bootstrap behavior if the rowDefinitions have changed\n * @param {Coeffects<Props, State>} coeffects\n */\nconst propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'rowDefinitions') {\n\t\tcomponentBootstrappedActionHandler(coeffects);\n\t}\n};\n\n/**\n * Component bootstrapped for rowGroupingBehavior. Get all groups expanded and individual groups expanded and store in state\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedActionHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions, expandAllGroups },\n\t\tupdateState,\n\t\tstate: { rowGroupingState },\n\t} = coeffects;\n\n\tif (!rowDefinitions) return;\n\n\tconst groupedRows = getGroupedOrDefaultRowsWithChildren(\n\t\trowDefinitions.rows\n\t);\n\tconst groupKeys = getAllGroupKeysRecursively(rowDefinitions);\n\n\tif (!groupedRows) return;\n\n\tconst expandedGroupsArray = groupedRows\n\t\t.filter((/** @type {Row} */ row) => row.isGroupExpanded)\n\t\t.map((/** @type {{ key: string; }} */ row) => row.key);\n\t// This is how we calculate groupIdsException, when expandAllGroups is true\n\t// we find difference between all groups keys with expanded group keys\n\t// which basically gives us collapsed ids and set it as exceptions. Similarly if\n\t// expandAllGroups is false, we set exceptions as expandedGroupsArray\n\tconst groupIdsException = expandAllGroups\n\t\t? difference(groupKeys, expandedGroupsArray)\n\t\t: [...expandedGroupsArray];\n\n\tconst expandedChildrenObject = get(\n\t\trowGroupingState,\n\t\t'expandedChildrenObject',\n\t\t{}\n\t);\n\n\tlet newExpandedGroupsArray = expandedGroupsArray;\n\n\tif (!isEmpty(expandedChildrenObject)) {\n\t\tconst allExpandedChildrenValues = flatten(\n\t\t\tvalues(expandedChildrenObject)\n\t\t);\n\t\tmap(expandedGroupsArray, (/** @type {string} */ expandedGroupKey) => {\n\t\t\tif (includes(allExpandedChildrenValues, expandedGroupKey)) {\n\t\t\t\tnewExpandedGroupsArray = newExpandedGroupsArray.filter(\n\t\t\t\t\t(item) => item !== expandedGroupKey\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcreateStateOnBootstrapForExpandedChildren(\n\t\t\trowDefinitions.rows,\n\t\t\trowGroupingState,\n\t\t\tundefined\n\t\t);\n\t}\n\n\tupdateState({\n\t\tpath: 'rowGroupingState',\n\t\tvalue: {\n\t\t\texpandAllGroups,\n\t\t\texpandedGroupsArray: newExpandedGroupsArray,\n\t\t\tgroupIdsException,\n\t\t\texpandedChildrenObject: expandedChildrenObject,\n\t\t},\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Handles expanding/collapsing individual rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleSingleGroupToggle = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { row },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { layout },\n\t\tstate: { rowGroupingState },\n\t} = coeffects;\n\tconst rowKey = getRowKey(row);\n\tconst {\n\t\texpandAllGroups,\n\t\tgroupIdsException,\n\t\texpandedChildrenObject,\n\t} = rowGroupingState;\n\tlet { expandedGroupsArray } = rowGroupingState;\n\n\tlet expanded = false;\n\tlet exceptions = groupIdsException;\n\n\t// if individual group row is collapsed, we remove the key from expandedGroupsArray\n\tif (includes(expandedGroupsArray, rowKey)) {\n\t\tlet /** @type {Array<string | undefined>} */ groupRowKeys = []; // stores all row keys of children plus itself\n\t\tconst /** @type {Array<string>} */ remainingExpandedGroupKeys = [];\n\t\tif (hasChildren(row)) {\n\t\t\tgroupRowKeys = getKeysOfChildren(row.children);\n\t\t}\n\t\tgroupRowKeys.push(rowKey);\n\n\t\tmap(expandedGroupsArray, (/** @type {string} */ expandedGroupKey) => {\n\t\t\t// if there is any already expanded children of that parent, we push it to expandedChildrenObject\n\t\t\tif (includes(groupRowKeys, expandedGroupKey)) {\n\t\t\t\tif (expandedChildrenObject) {\n\t\t\t\t\tif (!has(expandedChildrenObject, rowKey)) {\n\t\t\t\t\t\texpandedChildrenObject[rowKey] = [];\n\t\t\t\t\t}\n\t\t\t\t\tif (isArray(expandedChildrenObject[rowKey])) {\n\t\t\t\t\t\texpandedChildrenObject[rowKey].push(expandedGroupKey);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Pushing rest of the expanded items back into array\n\t\t\t\tremainingExpandedGroupKeys.push(expandedGroupKey);\n\t\t\t}\n\t\t});\n\t\texpandedGroupsArray = remainingExpandedGroupKeys;\n\t} else {\n\t\t// if individual group row is expanded, we add the key from expandedGroupsArray.\n\t\t// We concat the state of previously expanded children and reset the value.\n\t\tif (has(expandedChildrenObject, rowKey)) {\n\t\t\texpandedGroupsArray = [\n\t\t\t\t...expandedGroupsArray,\n\t\t\t\t...expandedChildrenObject[rowKey],\n\t\t\t];\n\t\t\texpandedChildrenObject[rowKey] = [];\n\t\t}\n\t\texpandedGroupsArray.push(rowKey);\n\t\texpanded = true;\n\t}\n\t// If expandAllGroups is true, and few groups are collapsed, we store those groupkeys in this array and vice versa\n\tif (includes(groupIdsException, rowKey)) {\n\t\texceptions = groupIdsException.filter(\n\t\t\t(/** @type {string} */ key) => rowKey !== key\n\t\t);\n\t} else {\n\t\texceptions.push(rowKey);\n\t}\n\n\tupdateState({\n\t\tpath: 'rowGroupingState',\n\t\tvalue: {\n\t\t\texpandedGroupsArray: expandedGroupsArray,\n\t\t\texpandAllGroups,\n\t\t\tgroupIdsException: exceptions,\n\t\t\texpandedChildrenObject,\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\t/**\n\t * Update keyboard navigation, since the rows displayed have changed.\n\t */\n\tif (layout === LAYOUT_OPTIONS.LIST) dispatch(UPDATE_KEYBOARD_NAV);\n\n\tdispatch(NOW_LIST_GROUP_TOGGLED, {\n\t\tgroupContext: row,\n\t\tisExpanded: expanded,\n\t\tgroupIdsException: exceptions,\n\t\texpandedChildrenObject,\n\t});\n};\n\n/**\n * Handles expanding/collapsing all grouped rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleAllGroupsToggle = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions, layout },\n\t\tdispatch,\n\t\tstate: {\n\t\t\trowGroupingState: { expandAllGroups },\n\t\t},\n\t} = coeffects;\n\n\tdispatch(NOW_LIST_ALL_GROUPS_TOGGLED, {\n\t\tisExpanded: !expandAllGroups,\n\t});\n\n\tif (expandAllGroups) {\n\t\tupdateState({\n\t\t\tpath: 'rowGroupingState',\n\t\t\tvalue: {\n\t\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\t\texpandedGroupsArray: [],\n\t\t\t\tgroupIdsException: [],\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t} else {\n\t\t// when all groups are expanded, we get all groupkeys and set it to expandedGroupsArray, update state\n\t\tconst groupKeys = getAllGroupKeysRecursively(rowDefinitions);\n\t\tupdateState({\n\t\t\tpath: 'rowGroupingState',\n\t\t\tvalue: {\n\t\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\t\texpandedGroupsArray: groupKeys,\n\t\t\t\tgroupIdsException: [],\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\t/**\n\t * Update keyboard navigation, since the rows displayed have changed.\n\t */\n\tif (layout === LAYOUT_OPTIONS.LIST) dispatch(UPDATE_KEYBOARD_NAV);\n};\n\n/**\n * Handles expanding/collapsing grouped rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleGroupToggle = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { type },\n\t\t},\n\t} = coeffects;\n\n\tif (!type) return;\n\n\tif (type === EXPAND_GROUP) {\n\t\thandleSingleGroupToggle(coeffects);\n\t} else if (type === EXPAND_ALL_GROUPS) {\n\t\thandleAllGroupsToggle(coeffects);\n\t}\n};\n\nconst rowGroupingBehavior = {\n\tname: 'rowGroupingBehavior',\n\tinitialState: {\n\t\texpandedChildrenObject: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedActionHandler,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_LIST_GALLERY_GROUP_EXPANDED]: {\n\t\t\teffect: handleSingleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_LIST_GALLERY_GROUPS_EXPANDED]: {\n\t\t\teffect: handleAllGroupsToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowGroupingBehavior;\n","export const ROW_HIGHLIGHTED_STATE_PATH =\n\t'behaviors.rowHighlightedBehavior.state';\nexport const TABLE_SELECTOR = '>>> .now-list-table';\nexport const SCROLL_CONTAINER_SELECTOR = '.scroll-container';\n","import get from 'lodash/get';\n\nimport logger from '../../shared/utils/logger';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { querySelector } from '../keyboardNavBehavior/utils';\n\nimport {\n\tROW_HIGHLIGHTED_STATE_PATH,\n\tSCROLL_CONTAINER_SELECTOR,\n\tTABLE_SELECTOR,\n} from './constants';\n\nexport const rowHighlightedHelpers = {\n\t/**\n\t * Gets the behavior state from the larger component state object\n\t * @param  {StateWithProps<Props, State>} state\n\t * @return {RowHighlightedState}\n\t */\n\tgetBehaviorState(state) {\n\t\treturn get(state, ROW_HIGHLIGHTED_STATE_PATH, {});\n\t},\n\n\t/**\n\t * Gets selector for getting row element by its row key\n\t * @param  {string} key\n\t * @return {string}\n\t */\n\tgetRowSelectorByKey(key) {\n\t\treturn `tr[data-key=\"${key}\"]`;\n\t},\n\n\t/**\n\t * calculates the scroll behavior - smooth (animated) or not\n\t * if the scrolling distance is more than 4000 (approx height of 100 rows)\n\t * @param {number} distance the distance the total scroll will be\n\t * @returns\n\t */\n\tgetScrollBehavior(distance) {\n\t\treturn distance > 4000 ? 'auto' : 'smooth';\n\t},\n\n\t/**\n\t * scrolls down to a row until it is visible\n\t * when we scroll down a lot, the height of the table can grow during the scroll\n\t * because the amount to scroll is calculated based on the initial height, we\n\t * have after the scroll is done to see if more scrolling is needed\n\t * @param {Element} row the row which needs to be scrolled to if not visible\n\t * @param {Element} container the container to scroll\n\t * @param {number} wait wait time in ms before initial check of row visible\n\t * @param {'smooth' | 'auto'} scrollBehavior behavior to pass into scrollIntoView function\n\t * @param {number} initialDistance the initial distance calculated that the rows needs to be scrolled\n\t * @returns\n\t */\n\tasync scrollDownToRow(\n\t\trow,\n\t\tcontainer,\n\t\twait,\n\t\tscrollBehavior,\n\t\tinitialDistance\n\t) {\n\t\tlet counter = 0;\n\n\t\trow.scrollIntoView({\n\t\t\tblock: 'end',\n\t\t\tbehavior: scrollBehavior,\n\t\t});\n\n\t\treturn /** @type {Promise<void>} */ (new Promise((resolve) => {\n\t\t\tconst bottomRowToContainerBuffer = 5;\n\n\t\t\tlet previousScrollDistance = initialDistance;\n\t\t\tconst visibleCheckLoop = (/** @type {number} */ wait) =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tconst cancel = () => {\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t};\n\t\t\t\t\t\t// just in case something happens, dont want this running forever, force exit condition;\n\t\t\t\t\t\tif (counter > 30 || !row) return cancel();\n\n\t\t\t\t\t\tconst rowRectInner = row.getBoundingClientRect();\n\t\t\t\t\t\tconst scrollRect = container.getBoundingClientRect();\n\t\t\t\t\t\tif (!scrollRect) {\n\t\t\t\t\t\t\treturn cancel();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newScrollDistance =\n\t\t\t\t\t\t\trowRectInner.bottom - scrollRect.bottom;\n\t\t\t\t\t\tconst previousScrollHasStopped =\n\t\t\t\t\t\t\tnewScrollDistance === previousScrollDistance;\n\t\t\t\t\t\tconst rowStillNotVisible =\n\t\t\t\t\t\t\tnewScrollDistance > bottomRowToContainerBuffer;\n\n\t\t\t\t\t\tif (rowStillNotVisible) {\n\t\t\t\t\t\t\tif (previousScrollHasStopped) {\n\t\t\t\t\t\t\t\trow.scrollIntoView({\n\t\t\t\t\t\t\t\t\tblock: 'end',\n\t\t\t\t\t\t\t\t\tbehavior: scrollBehavior,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpreviousScrollDistance = newScrollDistance;\n\t\t\t\t\t\t\tvisibleCheckLoop(wait);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn cancel();\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tlogger.warning('Error scrolling to highlighted row', {\n\t\t\t\t\t\t\tex,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t}, wait);\n\t\t\tvisibleCheckLoop(wait);\n\t\t}));\n\t},\n\n\t/**\n\t * This function handles scrolling to a specific row by key\n\t * determine if the row is visible, and if not, scroll to it\n\t * @param {String} rowKeyToScroll\n\t * @param {HTMLElement} host\n\t */\n\tasync scrollRowIntoView(rowKeyToScroll, host) {\n\t\t/** @type HTMLElement */\n\t\tconst tableNode = querySelector(TABLE_SELECTOR, host);\n\t\tif (tableNode) {\n\t\t\t/** @type HTMLElement | null */\n\t\t\tconst rowToScroll = tableNode.querySelector(\n\t\t\t\tthis.getRowSelectorByKey(rowKeyToScroll)\n\t\t\t);\n\n\t\t\tif (rowToScroll) {\n\t\t\t\tconst scrollContainer = rowToScroll.closest(\n\t\t\t\t\tSCROLL_CONTAINER_SELECTOR\n\t\t\t\t);\n\t\t\t\tif (!scrollContainer) return;\n\n\t\t\t\tconst rowRect = rowToScroll.getBoundingClientRect();\n\t\t\t\tif (!rowRect) return;\n\t\t\t\tconst colHeaderNode = tableNode.querySelector('thead');\n\t\t\t\tif (!colHeaderNode) return;\n\n\t\t\t\tconst colHeaderRect = colHeaderNode.getBoundingClientRect();\n\t\t\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t\t\tconst isRowAboveColumnHeader =\n\t\t\t\t\trowRect.top < colHeaderRect.bottom;\n\t\t\t\tconst isRowBelowScrollContainer =\n\t\t\t\t\trowRect.bottom > scrollContainerRect.bottom;\n\n\t\t\t\tif (isRowAboveColumnHeader) {\n\t\t\t\t\tconst scrollDistance = colHeaderRect.bottom - rowRect.top;\n\t\t\t\t\tscrollContainer.scrollTo({\n\t\t\t\t\t\ttop: scrollContainer.scrollTop - scrollDistance,\n\t\t\t\t\t\tbehavior: this.getScrollBehavior(scrollDistance),\n\t\t\t\t\t});\n\t\t\t\t} else if (isRowBelowScrollContainer) {\n\t\t\t\t\tconst scrollDistance =\n\t\t\t\t\t\trowRect.bottom - scrollContainerRect.bottom;\n\t\t\t\t\tconst scrollBehavior = this.getScrollBehavior(\n\t\t\t\t\t\tscrollDistance\n\t\t\t\t\t);\n\t\t\t\t\tconst scrollWaitTime = 100;\n\n\t\t\t\t\tawait this.scrollDownToRow(\n\t\t\t\t\t\trowToScroll,\n\t\t\t\t\t\tscrollContainer,\n\t\t\t\t\t\tscrollWaitTime,\n\t\t\t\t\t\tscrollBehavior,\n\t\t\t\t\t\tscrollDistance\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n};\n\n/**\n * Determine if there is a new highlighted row, if there\n * there are new highlighted rows, store reference to the first one\n * @param {RowDefinitions} rowDefinitions\n * @param {StateWithProps<Props, State>} state\n * @param {Now.UpdateStateFunction<State>} updateState\n */\nexport const checkIfNewHighlightedRows = (\n\trowDefinitions,\n\tstate,\n\tupdateState\n) => {\n\tconst behaviorState = rowHighlightedHelpers.getBehaviorState(state);\n\tconst previousHighlighted = behaviorState?.highlightedRowKeys;\n\t/**\n\t * @type {string | null}\n\t */\n\tlet rowKeyToScroll = null;\n\n\t// create Set of highlighted row keys to store in state,\n\t// compare new highlighted row keys to old keys to see if there is a new row being highlighted\n\tconst highlightedRowKeys =\n\t\trowSelectors.getAllHighlightedRowKeys(rowDefinitions?.rows).reduce(\n\t\t\t/**\n\t\t\t * @type {(keys: Set<string>, row: string) => Set<string>}\n\t\t\t */\n\t\t\t(keys, rowKey) => {\n\t\t\t\tkeys.add(rowKey);\n\t\t\t\t// Find the first highlighted row that is new, this will be target of scroll\n\t\t\t\tif (!rowKeyToScroll && !previousHighlighted?.has(rowKey)) {\n\t\t\t\t\trowKeyToScroll = rowKey;\n\t\t\t\t}\n\t\t\t\treturn keys;\n\t\t\t},\n\t\t\tnew Set()\n\t\t) || new Set();\n\n\tupdateState({\n\t\tpath: ROW_HIGHLIGHTED_STATE_PATH,\n\t\tvalue: {\n\t\t\t...behaviorState,\n\t\t\thighlightedRowKeys,\n\t\t\trowKeyToScroll,\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { ROW_HIGHLIGHTED_STATE_PATH } from './constants';\nimport {\n\tcheckIfNewHighlightedRows,\n\trowHighlightedHelpers as helpers,\n} from './rowHighlightedHelpers';\n\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst { ROW_DEFINITIONS_PROP } = require('../../constants');\n\n/**\n * Check if new highlighted rows on initial render\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentDomTreeReadyEffect = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tcheckIfNewHighlightedRows(rowDefinitions, state, updateState);\n};\n\n/**\n * If there is highlighted row key (detect from previous rowDefinition prop change), make sure it is visible\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const componentRenderedEffect = async (coeffects) => {\n\tconst { host, state, updateState } = coeffects;\n\tconst behaviorState = helpers.getBehaviorState(state);\n\tconst { rowKeyToScroll = null } = behaviorState;\n\n\tif (rowKeyToScroll) {\n\t\tawait helpers.scrollRowIntoView(rowKeyToScroll, host);\n\n\t\tupdateState({\n\t\t\tpath: `${ROW_HIGHLIGHTED_STATE_PATH}.rowKeyToScroll`,\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\n/**\n * if rowDefinitions have changed check if a new highlighted row needs handling\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const componentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === ROW_DEFINITIONS_PROP) {\n\t\tcheckIfNewHighlightedRows(rowDefinitions, state, updateState);\n\t}\n};\n\nconst rowHighlightedBehavior = {\n\tname: 'rowHighlightedBehavior',\n\tinitialState: {\n\t\trowHighlightedState: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: componentDomTreeReadyEffect,\n\t\t},\n\t\t[COMPONENT_RENDERED]: {\n\t\t\teffect: componentRenderedEffect,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChanged,\n\t\t},\n\t},\n};\n\nexport default rowHighlightedBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { get, isArray, set, unset, size, has, isEqual } from 'lodash';\n\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { ROW_TYPE_DEFAULT } from '../../typeSchemas/rowDefinitions/rowTypes/rowTypes';\n\nimport {\n\tROW_CHECKBOX_INTERNAL_SET,\n\tNOW_CHECKBOX_CHECKED_SET,\n\tNOW_LIST_ROW_SELECT_TOGGLED,\n\tNOW_LIST_SELECT_ALL_TOGGLED,\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst { ROW_DEFINITIONS_PROP } = require('../../constants');\n\nexport const rowSelectionHelpers = {\n\t/**\n\t * Helper reducer to iterate through all rows (irregardless of grouped type) and\n\t * accumulate all of the enabled rows\n\t * @param {Array<Row>} enabledRows\n\t * @param {Row} row\n\t * @returns {Array<Row>}\n\t */\n\t_areAllRowsSelectedReducer(enabledRows, row) {\n\t\tconst rowType = rowSelectors.getRowType(row);\n\t\tconst isRowTypeDefault = rowType === ROW_TYPE_DEFAULT || !rowType;\n\n\t\tif (rowType === 'grouped' && row.children && row.children.length > 0) {\n\t\t\treturn row.children.reduce(\n\t\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t\tenabledRows\n\t\t\t);\n\t\t}\n\n\t\tif (isRowTypeDefault && !get(row, 'selectionDisabled', false)) {\n\t\t\tenabledRows = enabledRows.concat(row);\n\t\t}\n\n\t\tif (isRowTypeDefault && row.children && row.children.length > 0) {\n\t\t\treturn row.children.reduce(\n\t\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t\tenabledRows\n\t\t\t);\n\t\t}\n\n\t\treturn enabledRows;\n\t},\n\t/**\n\t * Selector to check if all rows are selected. TODO: Future enhancements of this logic.\n\t * Having to iterate through all of the rows every time we make a selection seems like bad logic\n\t * We should memoize all enabled rows so we aren't always iterating through.\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {object} selectedRows\n\t * @returns {boolean}\n\t */\n\tareAllRowsSelected(rowDefinitions, selectedRows) {\n\t\tif (!rowSelectors.hasRows(rowDefinitions)) return false;\n\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\tconst allEnabledRows = rows.reduce(\n\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t[]\n\t\t);\n\n\t\treturn allEnabledRows.length === size(selectedRows);\n\t},\n\n\t/**\n\t * get all selected rows\n\t * @param {Row[]} rows\n\t * @param {object} selectedRowKeys object containing selected rows keys\n\t *\n\t * @returns {Row[]} array of selected rows\n\t */\n\tgetAllSelectedRows(rows = [], selectedRowKeys) {\n\t\treturn rows.filter((/** @type {Row} */ row) =>\n\t\t\thas(selectedRowKeys, row.key)\n\t\t);\n\t},\n\n\t/**\n\t * set row selection state on initial render\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {Now.UpdateStateFunction<State>} updateState object containing selected rows keys\n\t */\n\tsetInitialRowSelectionState(rowDefinitions, updateState) {\n\t\tconst selectedRows = rowSelectors.getInitialSelectedRows(\n\t\t\trowDefinitions\n\t\t);\n\t\tupdateState({\n\t\t\tpath: 'rowSelectionState',\n\t\t\tvalue: {\n\t\t\t\ttoggledSelectionRowIndex: -1,\n\t\t\t\tselectedRows,\n\t\t\t\tselectAllRows: rowSelectionHelpers.areAllRowsSelected(\n\t\t\t\t\trowDefinitions,\n\t\t\t\t\tselectedRows\n\t\t\t\t),\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t},\n};\n\n/**\n * This effect handles when a user selects a single row/multiple rows,\n * it updates internal state of selected rows and dispatches NOW_LIST_ROW_SELECT_TOGGLED\n * @param {Coeffects<Props, State>} coeffects\n */\nconst rowSelectionEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: {\n\t\t\t\tshiftKey,\n\t\t\t\tchecked,\n\t\t\t\trowIndex,\n\t\t\t\tallRowKeys,\n\t\t\t\tenableOnlySingleSelection,\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tstate: {\n\t\t\trowSelectionState: { selectedRows, toggledSelectionRowIndex },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tdispatch,\n\t} = coeffects;\n\n\tlet rowKey = get(payload, 'rowKey', '');\n\n\tif (shiftKey && toggledSelectionRowIndex >= 0) {\n\t\tconst startIndex = Math.min(rowIndex, toggledSelectionRowIndex);\n\t\tconst endIndex = Math.max(rowIndex, toggledSelectionRowIndex);\n\t\trowKey = allRowKeys.slice(startIndex, endIndex + 1);\n\t}\n\n\t(isArray(rowKey) ? rowKey : [rowKey]).forEach((\n\t\t/** @type {string} */ uniqueId\n\t) => {\n\t\tlet selectionDisabled = false;\n\t\t// on multiple row selection check if row selection is disableds\n\t\tconst row = rowSelectors.getRow(rowDefinitions.rows, uniqueId);\n\t\tselectionDisabled = rowSelectors.getSelectionDisabledForParticularRow(\n\t\t\trow\n\t\t);\n\n\t\tif (!selectionDisabled) {\n\t\t\tif (checked) set(selectedRows, [uniqueId], row);\n\t\t\telse unset(selectedRows, [uniqueId]);\n\t\t}\n\t});\n\n\tlet updatedSelectedRows = {};\n\tif (enableOnlySingleSelection) {\n\t\tconst { [rowKey]: row } = selectedRows;\n\t\tupdatedSelectedRows = row\n\t\t\t? {\n\t\t\t\t\t[rowKey]: row,\n\t\t\t  }\n\t\t\t: {};\n\t} else {\n\t\tupdatedSelectedRows = selectedRows;\n\t}\n\n\tupdateState({\n\t\tpath: 'rowSelectionState',\n\t\tvalue: {\n\t\t\ttoggledSelectionRowIndex: rowIndex,\n\t\t\tselectedRows: updatedSelectedRows,\n\t\t\tselectAllRows: rowSelectionHelpers.areAllRowsSelected(\n\t\t\t\trowDefinitions,\n\t\t\t\tupdatedSelectedRows\n\t\t\t),\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\tdispatch(NOW_LIST_ROW_SELECT_TOGGLED, {\n\t\tvalue: rowKey,\n\t\tchecked,\n\t\tselectedRows: updatedSelectedRows,\n\t});\n};\n\n/**\n * This effect handles Select All Checkbox\n * it updates internal state of selected rows and dispatches NOW_LIST_SELECT_ALL_TOGGLED\n * @param {Coeffects<Props, State>} coeffects\n */\nconst allRowsSelectionEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { checked, allRowKeys, isSelectAllCheckbox },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isSelectAllCheckbox) {\n\t\tdispatch(ROW_CHECKBOX_INTERNAL_SET, {\n\t\t\trowKey: allRowKeys,\n\t\t\tallRowKeys,\n\t\t\trowIndex: -1,\n\t\t\tchecked,\n\t\t});\n\n\t\tdispatch(NOW_LIST_SELECT_ALL_TOGGLED, {\n\t\t\tisChecked: checked,\n\t\t});\n\t}\n};\n\n/**\n * This effect sets initial state for row selection\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\trowSelectionHelpers.setInitialRowSelectionState(\n\t\trowDefinitions,\n\t\tupdateState\n\t);\n};\n\n/**\n * This effect updates initial row selection state when rowDefinitions updates\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (isEqual(value, previousValue)) return;\n\n\tif (name === ROW_DEFINITIONS_PROP) {\n\t\tconst selectedRowsNew = rowSelectors.getInitialSelectedRows(value);\n\t\tconst selectAllRowsNew = rowSelectionHelpers.areAllRowsSelected(\n\t\t\tvalue,\n\t\t\tselectedRowsNew\n\t\t);\n\t\tconst selectedRowsOld = rowSelectors.getInitialSelectedRows(\n\t\t\tpreviousValue\n\t\t);\n\t\tconst selectAllRowsOld = rowSelectionHelpers.areAllRowsSelected(\n\t\t\tpreviousValue,\n\t\t\tselectedRowsOld\n\t\t);\n\n\t\t// DEF0488798 Set row selection state based off incoming rowDefinitions, only when selectRows or selectAllRows properties got changed\n\t\tif (\n\t\t\t!isEqual(selectedRowsNew, selectedRowsOld) ||\n\t\t\t!isEqual(selectAllRowsNew, selectAllRowsOld)\n\t\t) {\n\t\t\trowSelectionHelpers.setInitialRowSelectionState(\n\t\t\t\trowDefinitions,\n\t\t\t\tupdateState\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst rowSelectionBehavior = {\n\tname: 'rowSelectionBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[ROW_CHECKBOX_INTERNAL_SET]: {\n\t\t\teffect: rowSelectionEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChanged,\n\t\t},\n\t\t[NOW_CHECKBOX_CHECKED_SET]: {\n\t\t\teffect: allRowsSelectionEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowSelectionBehavior;\n","export const ROWS_ENTERED_VIEW = 'VIRTUALIZED_SCROLL_ROWS_ENTERED_VIEW';\nexport const TOP_LOADER_ENTERED_VIEW = 'TOP_LOADER_ENTERED_VIEW';\nexport const BOTTOM_LOADER_ENTERED_VIEW = 'BOTTOM_LOADER_ENTERED_VIEW';\nexport const TOP_BOUND_ENTERED_VIEW = 'TOP_BOUND_ENTERED_VIEW';\nexport const BOTTOM_BOUND_ENTERED_VIEW = 'BOTTOM_BOUND_ENTERED_VIEW';\nexport const LONG_SCROLL_TRIGGERED = 'VIRTUALIZED_LONG_SCROLL_TRIGGERED'; // long scroll is when a user scrolls faster than the render rows with observers can keep up with.\nexport const SCROLL_TO_TOP_TRIGGERED = 'SCROLL_TO_TOP_TRIGGERED';\nexport const SHOW_SCROLL_TO_TOP_BUTTON = 'SHOW_SCROLL_TO_TOP_BUTTON';\nexport const HIDE_SCROLL_TO_TOP_BUTTON = 'HIDE_SCROLL_TO_TOP_BUTTON';\nexport const HANDLE_SCROLL_BOTTOM_REACHED = 'HANDLE_SCROLL_BOTTOM_REACHED';\nexport const RETRY_PREPARE_VIRTUALIZED_OBSERVER =\n\t'RETRY_PREPARE_VIRTUALIZED_OBSERVER';\nexport const VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'NOW_LIST#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const VIRTUALIZED_LIST_BEHAVIOR = 'virtualizedListBehavior';\nexport const SCROLL_CONTAINER = '.scroll-container';\nexport const TABLE_BODY = 'tbody';\nexport const DEFAULT_ROW_HEIGHT = 41;\nexport const SCROLL_TO_TOP_START_ROW = 4;\nexport const SCROLL_BOTTOM_REACHED = 10;\nexport const RETRY = 3;\n","import { throttle } from 'lodash';\n\nimport {\n\tROWS_ENTERED_VIEW,\n\tTOP_LOADER_ENTERED_VIEW,\n\tBOTTOM_LOADER_ENTERED_VIEW,\n\tTOP_BOUND_ENTERED_VIEW,\n\tBOTTOM_BOUND_ENTERED_VIEW,\n\tLONG_SCROLL_TRIGGERED,\n\tSHOW_SCROLL_TO_TOP_BUTTON,\n\tHIDE_SCROLL_TO_TOP_BUTTON,\n\tHANDLE_SCROLL_BOTTOM_REACHED,\n} from './constants';\n\nexport const processEvents = async (\n\t/** @type {Array<IntersectionObserverEntry>} */ intersectionEvents,\n\t/** @type {VirtualizedObserver} */ instance\n) => {\n\tif (!instance.isEnabled) {\n\t\treturn;\n\t}\n\n\twhile (intersectionEvents.length > 0) {\n\t\tconst event = intersectionEvents.pop();\n\t\tlet intersectEvent = null;\n\n\t\tif (\n\t\t\tevent &&\n\t\t\t!event.isIntersecting &&\n\t\t\tevent.target === instance.scrollToTopRef\n\t\t) {\n\t\t\t// only show the scroll to top button when the element is in the DOM\n\t\t\t// when element is removed from the DOM, we do not want to show the scroll to top button\n\t\t\tif (event.target.isConnected) {\n\t\t\t\tif (event.target.className.includes('is-hidden')) {\n\t\t\t\t\tinstance.dispatch(); // reset the scroll to top button\n\t\t\t\t} else {\n\t\t\t\t\tinstance.dispatch(SHOW_SCROLL_TO_TOP_BUTTON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (event && (event.isIntersecting || event.intersectionRatio > 0)) {\n\t\t\tswitch (event.target) {\n\t\t\t\tcase instance.topLoaderRef:\n\t\t\t\t\tintersectEvent = TOP_LOADER_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.bottomLoaderRef:\n\t\t\t\t\tintersectEvent = BOTTOM_LOADER_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.topBoundRef:\n\t\t\t\t\tintersectEvent = TOP_BOUND_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.bottomBoundRef:\n\t\t\t\t\tintersectEvent = BOTTOM_BOUND_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.scrollToTopRef:\n\t\t\t\t\tinstance.dispatch(HIDE_SCROLL_TO_TOP_BUTTON);\n\t\t\t\t\tcontinue;\n\t\t\t\tcase instance.endOfScrollReachedRef:\n\t\t\t\t\tinstance.dispatch(HANDLE_SCROLL_BOTTOM_REACHED);\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (intersectEvent) {\n\t\t\t\tinstance.dispatch(ROWS_ENTERED_VIEW, {\n\t\t\t\t\tintersectEvent,\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// @ts-ignore\n\t\t\tif (instance.ghostRowObservedElements.has(event.target)) {\n\t\t\t\tconst {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\t// @ts-ignore - dataset does exist on the target field which is a HTMLTableElement during run time\n\t\t\t\t\t\t// IntersectionObserverEntry target is set to element but during run time it is a HTMLTableElement\n\t\t\t\t\t\t// from our table.\n\t\t\t\t\t\tdataset: { key },\n\t\t\t\t\t},\n\t\t\t\t} = event;\n\t\t\t\tconst index = instance.ghostRowIdsToIndex.get(key);\n\t\t\t\tinstance.dispatch(LONG_SCROLL_TRIGGERED, {\n\t\t\t\t\tindex,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport const handleIntersectionEvents = throttle(\n\t/** @type {(events: IntersectionObserverEntry[], instance: VirtualizedObserver) => void} */ (processEvents),\n\t300\n);\n","import { handleIntersectionEvents } from './virtualizedObserverUtils';\n\n// Each rendered subset of the row definitions list will create a new instance of this class, and destroy the previous one.\nexport class VirtualizedObserver {\n\t/**\n\t * @type {Element | null}\n\t */\n\ttopLoaderRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tbottomLoaderRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\ttopBoundRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tscrollToTopRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tbottomBoundRef;\n\tdispatch;\n\t/**\n\t * @type {IntersectionObserver }\n\t */\n\tobserver;\n\t/**\n\t * @type {WeakSet<Element>}\n\t */\n\tobservedItems;\n\t/**\n\t * @type {Array<Element>}\n\t */\n\titemRefs;\n\t/**\n\t * @type {boolean}\n\t */\n\tisEnabled;\n\t/**\n\t * @type {boolean}\n\t */\n\tisTopLoaderVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisBottomLoaderVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisTopBoundVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisBottomBoundVisible;\n\t/**\n\t * @type {Array<IntersectionObserverEntry>}\n\t */\n\tobservedEvents = [];\n\n\t/**\n\t * @type {Map<String,number>} ghostRowIdsToIndex - it is a map of TR element keys to their respective indexes in the rowDefinitions list\n\t */\n\tghostRowIdsToIndex;\n\t/**\n\t * @type {Set<Element>}\n\t */\n\tghostRowObservedElements;\n\n\tendOfScrollReachedRef;\n\n\t/**\n\t * @param {Element | null} topLoaderRef\n\t * @param {Element | null} bottomLoaderRef\n\t * @param {Element | null} topBoundRef\n\t * @param {Element | null} bottomBoundRef\n\t * @param {Element | null} scrollToTopRef\n\t * @param {Function} dispatch\n\t * @param {Map<String,number>} ghostRowIdsToIndex\n\t * @param {Set<Element>} ghostRowObservedElements\n\t * @param {Element | null} endOfScrollReachedRef\n\t * @param {string} rootMargin\n\t */\n\tconstructor(\n\t\ttopLoaderRef,\n\t\tbottomLoaderRef,\n\t\ttopBoundRef,\n\t\tbottomBoundRef,\n\t\tscrollToTopRef,\n\t\tdispatch,\n\t\tghostRowIdsToIndex,\n\t\tghostRowObservedElements,\n\t\tendOfScrollReachedRef,\n\t\trootMargin = '100px 0px 100px 0px'\n\t) {\n\t\tthis.ghostRowObservedElements = ghostRowObservedElements;\n\t\tthis.ghostRowIdsToIndex = ghostRowIdsToIndex;\n\t\tthis.isEnabled = true;\n\t\tthis.topLoaderRef = topLoaderRef;\n\t\tthis.bottomLoaderRef = bottomLoaderRef;\n\t\tthis.topBoundRef = topBoundRef;\n\t\tthis.bottomBoundRef = bottomBoundRef;\n\t\tthis.scrollToTopRef = scrollToTopRef;\n\t\tthis.endOfScrollReachedRef = endOfScrollReachedRef;\n\t\tthis.dispatch = dispatch;\n\n\t\tthis.isTopLoaderVisible = false;\n\t\tthis.isBottomLoaderVisible = false;\n\t\tthis.isTopBoundVisible = false;\n\t\tthis.isBottomBoundVisible = false;\n\n\t\tthis.observedItems = new WeakSet();\n\t\tthis.itemRefs = [];\n\t\tthis.observedEvents = [];\n\t\tthis.observerCallback = this.observerCallback.bind(this);\n\n\t\tthis.observer = new IntersectionObserver(this.observerCallback, {\n\t\t\troot: null, // null = viewport is the browser window\n\t\t\trootMargin,\n\t\t\tthreshold: [0], // Triggered when: Top of element (0), or Bottom of element (1), gets into the viewport\n\t\t});\n\t}\n\n\t/**\n\t * @param {boolean} enabled\n\t */\n\tsetEnabled(enabled) {\n\t\tthis.isEnabled = enabled;\n\t}\n\n\t/**\n\t * @param {Array<IntersectionObserverEntry>} intersectionEvents\n\t */\n\tobserverCallback(intersectionEvents) {\n\t\tif (!this.isEnabled) {\n\t\t\treturn;\n\t\t}\n\t\tconst events = intersectionEvents;\n\n\t\thandleIntersectionEvents(events, this);\n\t}\n\n\t/**\n\t * @param {Element | null} itemRef\n\t */\n\tobserveItem(itemRef) {\n\t\tif (!itemRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.observedItems.has(itemRef)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.observer.observe(itemRef);\n\t\tthis.observedItems.add(itemRef);\n\t\tthis.itemRefs.push(itemRef);\n\t}\n\n\t/**\n\t * @param {Element}itemRef\n\t */\n\tunobserveItem(itemRef) {\n\t\tif (!itemRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.observedItems.has(itemRef)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.observer.unobserve(itemRef);\n\t\tthis.observedItems.delete(itemRef);\n\t\tthis.itemRefs = this.itemRefs.filter((ref) => ref !== itemRef);\n\t}\n\n\tdestroy() {\n\t\tif (this.scrollToTopRef) {\n\t\t\tthis.observer.unobserve(this.scrollToTopRef);\n\t\t}\n\t\tthis.scrollToTopRef = null;\n\t\tif (this.topLoaderRef) {\n\t\t\tthis.observer.unobserve(this.topLoaderRef);\n\t\t}\n\t\tthis.topLoaderRef = null;\n\n\t\tif (this.bottomLoaderRef) {\n\t\t\tthis.observer.unobserve(this.bottomLoaderRef);\n\t\t}\n\t\tthis.bottomLoaderRef = null;\n\n\t\tif (this.topBoundRef) {\n\t\t\tthis.observer.unobserve(this.topBoundRef);\n\t\t}\n\t\tthis.topBoundRef = null;\n\n\t\tif (this.bottomBoundRef) {\n\t\t\tthis.observer.unobserve(this.bottomBoundRef);\n\t\t}\n\t\tthis.bottomBoundRef = null;\n\n\t\t// @ts-ignore\n\t\tthis.dispatch = null;\n\t\tthis.itemRefs.forEach((itemRef) => {\n\t\t\t// noinspection JSTypeOfValues\n\t\t\tif (itemRef) {\n\t\t\t\tthis.unobserveItem(itemRef);\n\t\t\t}\n\t\t});\n\t\tthis.itemRefs = [];\n\t\tthis.observer.disconnect();\n\t\t// @ts-ignore\n\t\tthis.observer = null;\n\t}\n}\n","import {\n\tRETRY,\n\tRETRY_PREPARE_VIRTUALIZED_OBSERVER,\n\tSCROLL_BOTTOM_REACHED,\n\tSCROLL_TO_TOP_START_ROW,\n\tVIRTUALIZED_LIST_BEHAVIOR,\n} from './constants';\nimport { VirtualizedObserver } from './virtualizedObserver';\n\n/**\n * nowId is the unique id of the now-list component. This map stores the current active\n * observer associated to the current rendered block of rows.\n * @type {Map<String, VirtualizedObserver | undefined>}\n */\nexport const observerByNowId = new Map();\n\n/**\n * The rendered list size is calculated using blocks of rows. Each block is a subset\n * of rows that are rendered in the viewport. The loader ref observers are positioned\n * at the top and bottom of the total rendered list. The LOADER_REF_POSITION_PERCENTAGE is\n * the percentage from the top and from the bottom that these references are set.\n * @type {number}e\n */\nconst LOADER_REF_POSITION_PERCENTAGE = 0.3;\n\n/**\n * @param {string} nowId nowId of component (now-list)\n * @returns {VirtualizedObserver | undefined}\n */\nexport const getObserver = (nowId) => observerByNowId.get(nowId);\n\n/**\n * Get behavior state from component state\n * @param {State} state\n * @returns {VirtualizedListBehaviorState}\n */\nexport const getVirtualizedBehaviorState = (state) =>\n\t// @ts-ignore\n\tstate && state.behaviors ? state.behaviors[VIRTUALIZED_LIST_BEHAVIOR] : {};\n\n/**\n * Deletes the observer associated to the nowId.\n * @param {string} nowId\n */\nexport const destroyObserver = (nowId) => {\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t\tobserver.destroy();\n\t}\n\tobserverByNowId.delete(nowId);\n};\n\n/**\n * function allows for fn() to be called after the browser has completed style and layout\n * @param {function }fn\n */\nexport const executeAfterBrowserStyleAndLayout = (fn) => {\n\trequestAnimationFrame(() => {\n\t\tfn();\n\t});\n};\n\n/**\n * topLoaderRef, bottomLoaderRef, topBoundRef, bottomBoundRef are the references\n * that are observed by the virtualizedObserver.\n * @param {Array<HTMLTableRowElement>} renderedRows - rows rendered between topbound and lowerbound\n * @param {number} topBound - index of topBound of the rendered list\n * @param {number} bottomBound - infex of bottomBound of the rendered list\n * @param {number} blockSize - rows per block\n * @param {Array<Row>} allRowsFromProp - all row from the now-list rowDefinitions prop\n * @return {{topBoundRef: *, bottomBoundRef: *, topLoaderRef: *, bottomLoaderRef: *}}\n */\nconst getRowRefs = (\n\trenderedRows,\n\ttopBound,\n\tbottomBound,\n\tblockSize,\n\tallRowsFromProp\n) => {\n\tconst topLoaderRef =\n\t\ttopBound !== 0\n\t\t\t? renderedRows[\n\t\t\t\t\tMath.floor(blockSize * LOADER_REF_POSITION_PERCENTAGE)\n\t\t\t  ]\n\t\t\t: null;\n\tconst topBoundRef = topBound !== 0 ? renderedRows[0] : null;\n\n\tconst bottomLoaderRef =\n\t\tbottomBound < allRowsFromProp.length - 1\n\t\t\t? renderedRows[\n\t\t\t\t\trenderedRows.length -\n\t\t\t\t\t\tMath.floor(blockSize * LOADER_REF_POSITION_PERCENTAGE)\n\t\t\t  ]\n\t\t\t: null;\n\n\tconst bottomBoundRef =\n\t\tbottomBound < allRowsFromProp.length - 1\n\t\t\t? renderedRows[renderedRows.length - 1]\n\t\t\t: null;\n\n\treturn {\n\t\ttopLoaderRef,\n\t\tbottomLoaderRef,\n\t\ttopBoundRef,\n\t\tbottomBoundRef,\n\t};\n};\n\nexport const initializeVirtualizedObserver = (\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\tretry = 0\n) => {\n\tconst {\n\t\tdispatch,\n\t\thost,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tnowId,\n\t\t\t\trowDefinitions: { rows: allRowsFromProp },\n\t\t\t},\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\texecuteAfterBrowserStyleAndLayout(() => {\n\t\tif (host.shadowRoot) {\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst overLayLoaderPresent = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.overlay-content'\n\t\t\t);\n\t\t\tif (overLayLoaderPresent.length > 0) return;\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst topGhostRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.ghost-row-top'\n\t\t\t);\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst bottomGhostRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.ghost-row-bottom'\n\t\t\t);\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst renderedRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.now-list-table-row:not(.is-hidden)'\n\t\t\t);\n\t\t\tconst slicedRows = Array.from(renderedRows).slice(\n\t\t\t\ttopGhostRows.length,\n\t\t\t\trenderedRows.length - bottomGhostRows.length\n\t\t\t);\n\t\t\tif (retry > RETRY) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renderedRows.length === 0) {\n\t\t\t\tdispatch(RETRY_PREPARE_VIRTUALIZED_OBSERVER, {\n\t\t\t\t\tretry: retry + 1,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\ttopBound,\n\t\t\t\tbottomBound,\n\t\t\t\tblockSize,\n\t\t\t\trootMargin,\n\t\t\t} = getVirtualizedBehaviorState(state);\n\n\t\t\tconst {\n\t\t\t\ttopLoaderRef,\n\t\t\t\tbottomLoaderRef,\n\t\t\t\ttopBoundRef,\n\t\t\t\tbottomBoundRef,\n\t\t\t} = getRowRefs(\n\t\t\t\tslicedRows,\n\t\t\t\ttopBound,\n\t\t\t\tbottomBound,\n\t\t\t\tblockSize,\n\t\t\t\tallRowsFromProp\n\t\t\t);\n\t\t\tconst ghostRowIdsToIndex = new Map();\n\t\t\tconst ghostRowObservedElements = new Set();\n\n\t\t\t// handles observing ghost rows above the rendered rows\n\t\t\tfor (let i = 0; i < topGhostRows.length - 1; i++) {\n\t\t\t\tconst {\n\t\t\t\t\tdataset: { key, groupIndex },\n\t\t\t\t} = topGhostRows[i];\n\t\t\t\tif (groupIndex) {\n\t\t\t\t\tghostRowIdsToIndex.set(key, parseInt(groupIndex));\n\t\t\t\t\tghostRowObservedElements.add(topGhostRows[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// handles observing ghost rows below the rendered rows\n\t\t\tfor (let i = 0; i < bottomGhostRows.length - 1; i++) {\n\t\t\t\tconst {\n\t\t\t\t\tdataset: { key, groupIndex },\n\t\t\t\t} = bottomGhostRows[i];\n\t\t\t\tif (groupIndex) {\n\t\t\t\t\tghostRowIdsToIndex.set(key, parseInt(groupIndex));\n\t\t\t\t\tghostRowObservedElements.add(bottomGhostRows[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst scrollToTopRef = renderedRows[SCROLL_TO_TOP_START_ROW];\n\t\t\tconst endOfScrollReachedRef =\n\t\t\t\trenderedRows[renderedRows.length - SCROLL_BOTTOM_REACHED];\n\t\t\tdestroyObserver(nowId);\n\n\t\t\tconst virtualizedObserver = new VirtualizedObserver(\n\t\t\t\ttopLoaderRef,\n\t\t\t\tbottomLoaderRef,\n\t\t\t\ttopBoundRef,\n\t\t\t\tbottomBoundRef,\n\t\t\t\tscrollToTopRef,\n\t\t\t\tdispatch,\n\t\t\t\tghostRowIdsToIndex,\n\t\t\t\tghostRowObservedElements,\n\t\t\t\tendOfScrollReachedRef,\n\t\t\t\trootMargin\n\t\t\t);\n\t\t\tghostRowObservedElements.forEach((element) => {\n\t\t\t\tvirtualizedObserver.observeItem(element);\n\t\t\t});\n\n\t\t\tvirtualizedObserver.observeItem(endOfScrollReachedRef);\n\t\t\tvirtualizedObserver.observeItem(topLoaderRef);\n\t\t\tvirtualizedObserver.observeItem(bottomLoaderRef);\n\t\t\tvirtualizedObserver.observeItem(topBoundRef);\n\t\t\tvirtualizedObserver.observeItem(bottomBoundRef);\n\t\t\tvirtualizedObserver.observeItem(scrollToTopRef);\n\t\t\tobserverByNowId.set(nowId, virtualizedObserver);\n\t\t}\n\t});\n};\n","import '@servicenow/now-loader';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { debounce, isNil, isEmpty, get } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { LAYOUT_OPTIONS } from '../../constants';\nimport { NOW_LIST_HEADER_CELL_TEXT_CLICKED } from '../columnHeaderClickBehavior/constants';\nimport {\n\tALLOW_TABLE_FOCUS,\n\tFOCUS_LIST,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n} from '../keyboardNavBehavior/constants';\nimport { NOW_LIST_GROUP_TOGGLED } from '../rowGroupingBehavior/constants';\n\nimport {\n\tROWS_ENTERED_VIEW,\n\tBOTTOM_BOUND_ENTERED_VIEW,\n\tTOP_BOUND_ENTERED_VIEW,\n\tBOTTOM_LOADER_ENTERED_VIEW,\n\tTOP_LOADER_ENTERED_VIEW,\n\tLONG_SCROLL_TRIGGERED,\n\tRETRY_PREPARE_VIRTUALIZED_OBSERVER,\n\tSCROLL_TO_TOP_TRIGGERED,\n\tSHOW_SCROLL_TO_TOP_BUTTON,\n\tHIDE_SCROLL_TO_TOP_BUTTON,\n\tVIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tHANDLE_SCROLL_BOTTOM_REACHED,\n\tDEFAULT_ROW_HEIGHT,\n\tSCROLL_CONTAINER,\n\tTABLE_BODY,\n\tVIRTUALIZED_LIST_BEHAVIOR,\n} from './constants';\nimport {\n\tdestroyObserver,\n\texecuteAfterBrowserStyleAndLayout,\n\tgetObserver,\n\tgetVirtualizedBehaviorState,\n\tinitializeVirtualizedObserver,\n\tobserverByNowId,\n} from './virtualizedListBehaviorUtils';\n\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n} = actionTypes;\n\n/**\n * The rendered list is broken up into 2 x BLOCK_LOAD_SIZE subsets. When the upper or lower\n * bound observers are triggered then next BLOCK_LOAD_SIZE is removed and added from either\n * the top or bottom of the list depending on the scroll direction\n * @type {number}\n */\nconst BLOCK_LOAD_SIZE = 2;\n\nexport const initialState = {\n\tblockSize: DEFAULT_ROW_HEIGHT,\n\tbottomBound: DEFAULT_ROW_HEIGHT * BLOCK_LOAD_SIZE - 1,\n\ttopBound: 0,\n\tnewBlockLoading: false,\n\trootMargin: '0px 0px 0px 0px',\n\tisRenderingSecondPhase: false, // indicates if the rendering next section is in the middle of the two phase render\n\tshowScrollToTopButton: false,\n};\n\n/**\n * prepareVirtualizedObserver is responsible for defining the elements that will be observed\n * by the virtualizedObserver.\n */\nconst prepareVirtualizedObserver = debounce(initializeVirtualizedObserver, 300);\n\n/**\n *  destroys the observer\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const cleanupMemory = (coeffects) => {\n\tconst {\n\t\tproperties: { nowId },\n\t} = coeffects;\n\tdestroyObserver(nowId);\n};\n\n/**\n * Handles the scroll bottom reached event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleBottomReached = (coeffects) => {\n\tconst { dispatch, properties } = coeffects;\n\tconst {\n\t\trowDefinitions: { metadata },\n\t} = properties;\n\n\tconst listId = get(metadata, 'listId');\n\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t('Loading more rows'),\n\t\ttype: 'assertive',\n\t});\n\tdispatch(VIRTUALIZED_SCROLL_BOTTOM_REACHED, { listId });\n};\n\n/**\n * updatePrevBlock is responsible for updating the topBound, bottomBound and\n * triggering a render of the rows\n * @param { string } nowId - unique id for the now-list component\n * @param { Now.Coeffects<Props, State> } coeffects\n * @param { number } topBound - topBound of the rendered list\n * @param { number } bottomBound - bottomBound of the rendered list\n */\nconst updatePrevBlock = debounce((\n\t/** @type {string} */ nowId,\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\t/** @type {number} */ topBound,\n\t/** @type {number} */ bottomBound\n) => {\n\tconst { properties, updateState, dispatch } = coeffects;\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t}\n\tconst {\n\t\trowDefinitions: { rows },\n\t} = properties;\n\tconst message = t(\n\t\t`Rows ${topBound + 1} to ${Math.min(\n\t\t\tbottomBound + 1,\n\t\t\trows.length\n\t\t)} out of ${rows.length} have loaded.`\n\t);\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.topBound`,\n\t\t\tvalue: topBound,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.bottomBound`,\n\t\t\tvalue: bottomBound,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n}, 0);\n\n/**\n * updateNextBlock is responsible for updating the topBound, bottomBound and\n * triggering a render of the rows\n *\n * the two phase render approach in the below code is the workaround for the snabbdom rendering\n * issue where when shifting rows down;å the top rows are removed and the bottom rows are\n * added snabbdom re-renders entire list instead of rendering the effected rows.\n * @param { string } nowId\n * @param { Now.Coeffects<Props, State> } coeffects\n * @param { number } topBound\n * @param { number } bottomBound\n */\nconst updateNextBlock = debounce((\n\t/** @type {string} */ nowId,\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\t/** @type {number} */ topBound,\n\t/** @type {number} */ bottomBound\n) => {\n\tconst { updateState } = coeffects;\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t}\n\n\tconst updateAfterLoading = () => {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.topBound`,\n\t\t\t\tvalue: topBound,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t]);\n\t};\n\t// setting newBlockLoading to true prevents next being called before second render is complete\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n\n\tconst updater = () => {\n\t\texecuteAfterBrowserStyleAndLayout(updateAfterLoading);\n\t\t// load bottom bound\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.bottomBound`,\n\t\t\t\tvalue: bottomBound,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t];\n\t};\n\n\t/** Type complaint. expecting state object but receiving a function returning updateState type.\n   this is a workaround for the snabbdom rendering issue. we need to supply updateState with a timeout to\n   render in two phases. */\n\t// @ts-ignore\n\tupdateState(updater);\n}, 0);\n\n/**\n * Calculates the new topBound and bottomBound for the next block while scrolling\n * upwards\n * @param  {Now.Coeffects<Props, State>} coeffects\n */\nconst handlePrevBlock = (coeffects) => {\n\tconst {\n\t\tproperties: { nowId },\n\t\tstate,\n\t} = coeffects;\n\n\tconst { bottomBound, topBound, blockSize } = getVirtualizedBehaviorState(\n\t\tstate\n\t);\n\n\tconst newTopBound = Math.max(0, topBound - BLOCK_LOAD_SIZE * blockSize);\n\tconst newBottomBound = bottomBound - BLOCK_LOAD_SIZE * blockSize;\n\n\tif (bottomBound !== newBottomBound || topBound !== newTopBound) {\n\t\tupdatePrevBlock(nowId, coeffects, newTopBound, newBottomBound);\n\t}\n};\n/**\n * Calculates the new topBound and bottomBound for the next block of rows while scrolling\n * downwards\n * @param  {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleNextBlock = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\trowDefinitions: { rows },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst {\n\t\tbottomBound,\n\t\ttopBound,\n\t\tblockSize,\n\t\tisRenderingSecondPhase,\n\t} = getVirtualizedBehaviorState(state);\n\tif (isRenderingSecondPhase) return;\n\n\t// if the bottom of the stored list is reached, diff ensures that there is\n\t// adequate rows from the top to the bottomBound so that top observer refs\n\t// are not visible after render\n\tconst isBottom = rows.length - 1 < bottomBound + blockSize;\n\tconst diff = bottomBound + blockSize - (rows.length - 1);\n\n\tconst topBlockOffset = bottomBound - blockSize * BLOCK_LOAD_SIZE;\n\tconst newBottomIndex = bottomBound + blockSize * BLOCK_LOAD_SIZE;\n\n\tconst newTopBound = Math.max(\n\t\t0,\n\t\tisBottom ? topBlockOffset - diff : topBlockOffset\n\t);\n\n\tif (bottomBound !== newBottomIndex || topBound !== newTopBound) {\n\t\tupdateNextBlock(nowId, coeffects, newTopBound, newBottomIndex);\n\t}\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLongScroll = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\trowDefinitions: { rows },\n\t\t},\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { index: rowIndex },\n\t\t},\n\t} = coeffects;\n\n\tconst { blockSize } = getVirtualizedBehaviorState(state);\n\t// if the bottom of the stored list is reached, diff ensures that there is\n\t// adequate rows from the top to the bottomBound so that top observer refs\n\t// are not visible after render\n\tconst isBottom = rows.length - 1 < rowIndex + BLOCK_LOAD_SIZE * blockSize;\n\tconst diff = rowIndex + BLOCK_LOAD_SIZE * blockSize - (rows.length - 1);\n\n\tconst topBlockOffset = rowIndex - blockSize * BLOCK_LOAD_SIZE;\n\tconst newBottomIndex = rowIndex + blockSize * BLOCK_LOAD_SIZE;\n\n\tconst newTopBound = Math.max(\n\t\t0,\n\t\tisBottom ? topBlockOffset - diff : topBlockOffset\n\t);\n\n\tupdatePrevBlock(nowId, coeffects, newTopBound, newBottomIndex);\n};\n\n/**\n * handle keyboard navigation reset\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const resetKeyBoardNavBehavior = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(RESET_BEHAVIOR);\n\tdispatch(ALLOW_TABLE_FOCUS);\n\tdispatch(FOCUS_LIST);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const scrollToTop = (coeffects) => {\n\tconst { host } = coeffects;\n\n\tconst firstRow = host.shadowRoot\n\t\t?.querySelector(SCROLL_CONTAINER)\n\t\t?.querySelector('#first-row');\n\tif (firstRow) {\n\t\tfirstRow.scrollIntoView({ behavior: 'smooth', block: 'end' });\n\t\t// resets the keyboard navigation and sets focus to the first cell on the table\n\t\tresetKeyBoardNavBehavior(coeffects);\n\t}\n};\n\n/**\n * Show scroll to top button if the observer for that row is triggered\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const displayScrollToTopButton = (coeffects) => {\n\tconst { updateState, dispatch } = coeffects;\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(\n\t\tcoeffects.state\n\t);\n\n\tif (showScrollToTopButton) return;\n\tconst message = t('Scroll To Top button is available.');\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Hide scroll to top button if the observer for that row is triggered\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const hideScrollToTopButton = (coeffects) => {\n\tconst { updateState, dispatch } = coeffects;\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(\n\t\tcoeffects.state\n\t);\n\tif (showScrollToTopButton) {\n\t\tconst message = t('Scroll To Top button is unavailable.');\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'polite',\n\t\t});\n\t}\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Handles the property changed event for the component when virtualized scroll is enabled\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties: { virtualizedScrollEnabled, overlayDefinition },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!virtualizedScrollEnabled) return;\n\n\tif (\n\t\tname === 'layout' &&\n\t\tvalue !== previousValue &&\n\t\tvalue !== LAYOUT_OPTIONS.LIST\n\t) {\n\t\tdispatch(HIDE_SCROLL_TO_TOP_BUTTON);\n\t\tcleanupMemory(coeffects);\n\t}\n\tif (name === 'rowDefinitions') {\n\t\tif (value?.metadata?.currentPage === 0) {\n\t\t\tscrollToTopContainer(coeffects);\n\t\t}\n\t\tcleanupMemory(coeffects);\n\t}\n\n\tif (\n\t\tname === 'overlayDefinition' &&\n\t\t!isNil(overlayDefinition) &&\n\t\t!isEmpty(overlayDefinition)\n\t) {\n\t\tscrollToTopContainer(coeffects);\n\t\tcleanupMemory(coeffects);\n\t}\n};\n\n/**\n * Handles intersection observer event that is emitted when rows enter view\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleRowsEnteredView = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { intersectEvent },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\tintersectEvent === BOTTOM_BOUND_ENTERED_VIEW ||\n\t\tintersectEvent === BOTTOM_LOADER_ENTERED_VIEW\n\t) {\n\t\thandleNextBlock(coeffects);\n\t} else if (\n\t\tintersectEvent === TOP_BOUND_ENTERED_VIEW ||\n\t\tintersectEvent === TOP_LOADER_ENTERED_VIEW\n\t) {\n\t\thandlePrevBlock(coeffects);\n\t}\n};\n\n/**\n * Handles component tree rendered event. checks to see if upper and lower\n * bounds have changed and updates the observer accordingly\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { previousRenderState },\n\t\t},\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\toverlayDefinition,\n\t\t\trowDefinitions,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (\n\t\t!isEmpty(overlayDefinition) ||\n\t\t!virtualizedScrollEnabled ||\n\t\tisEmpty(rowDefinitions)\n\t)\n\t\treturn;\n\tconst {\n\t\tbottomBound: prevBottomBound,\n\t\ttopBound: prevTopBound,\n\t} = getVirtualizedBehaviorState(previousRenderState);\n\n\tconst {\n\t\tbottomBound: newBottomBound,\n\t\ttopBound: newTopBound,\n\t} = getVirtualizedBehaviorState(coeffects.state);\n\tconst observer = observerByNowId.get(nowId);\n\tif (\n\t\tprevBottomBound !== newBottomBound ||\n\t\tprevTopBound !== newTopBound ||\n\t\t!observer\n\t) {\n\t\tprepareVirtualizedObserver(coeffects);\n\t\tdispatch(UPDATE_TABLE_REF, {\n\t\t\tshouldFocusFirst: false,\n\t\t});\n\t}\n};\n\n/**\n * Handles retrying to prepare the virtualized observer\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleRetryPrepareVirtualizedObserver = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { retry },\n\t\t},\n\t} = coeffects;\n\tprepareVirtualizedObserver(coeffects, retry);\n};\n\n/**\n * Handles the component dom ready event. This is where we get the scroll container\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleComponentDomReady = (coeffects) => {\n\tconst {\n\t\tproperties: { virtualizedScrollEnabled },\n\t\thost,\n\t\tupdateState,\n\t} = coeffects;\n\tif (!virtualizedScrollEnabled) return;\n\n\tif (host.shadowRoot) {\n\t\tconst scrollContainer = host.shadowRoot.querySelector(SCROLL_CONTAINER);\n\t\tconst tableBody = host.shadowRoot.querySelector(TABLE_BODY);\n\n\t\tconst tableBodyYPos = tableBody?.getBoundingClientRect().top;\n\t\tconst scrollContainerYPos =\n\t\t\tscrollContainer?.getBoundingClientRect().bottom || 0;\n\n\t\tconst viewPortInnerHeight = window.innerHeight;\n\n\t\tif (scrollContainer === null) return;\n\t\tconst rootMargin = `-${tableBodyYPos}px 0px ${\n\t\t\tviewPortInnerHeight - scrollContainerYPos\n\t\t}px 0px`;\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.rootMargin`,\n\t\t\t\tvalue: rootMargin,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t]);\n\t}\n};\n\n/**\n * Handles the header list clicked event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const scrollToTopContainer = (coeffects) => {\n\tconst { host } = coeffects;\n\n\tconst scrollContainer = host.shadowRoot?.querySelector(SCROLL_CONTAINER);\n\tif (scrollContainer) {\n\t\tcleanupMemory(coeffects);\n\t\tscrollContainer.scrollTop = 0;\n\t}\n};\n\n/**\n * Handles group toggled event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleGroupToggled = (coeffects) => {\n\tconst {\n\t\tproperties: { virtualizedScrollEnabled },\n\t} = coeffects;\n\tif (!virtualizedScrollEnabled) return;\n\tprepareVirtualizedObserver(coeffects);\n};\n\nexport const virtualizedListBehavior = {\n\tname: VIRTUALIZED_LIST_BEHAVIOR,\n\tinitialState,\n\tactionHandlers: {\n\t\t[NOW_LIST_HEADER_CELL_TEXT_CLICKED]: {\n\t\t\teffect: scrollToTopContainer,\n\t\t},\n\t\t[NOW_LIST_GROUP_TOGGLED]: {\n\t\t\teffect: handleGroupToggled,\n\t\t},\n\t\t[LONG_SCROLL_TRIGGERED]: {\n\t\t\teffect: handleLongScroll,\n\t\t},\n\t\t[ROWS_ENTERED_VIEW]: {\n\t\t\teffect: handleRowsEnteredView,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SCROLL_TO_TOP_TRIGGERED]: {\n\t\t\teffect: scrollToTop,\n\t\t},\n\t\t[SHOW_SCROLL_TO_TOP_BUTTON]: {\n\t\t\teffect: displayScrollToTopButton,\n\t\t},\n\t\t[HIDE_SCROLL_TO_TOP_BUTTON]: {\n\t\t\teffect: hideScrollToTopButton,\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: handleComponentTreeRendered,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[RETRY_PREPARE_VIRTUALIZED_OBSERVER]: {\n\t\t\teffect: handleRetryPrepareVirtualizedObserver,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: handleComponentDomReady,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: cleanupMemory,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedHandler },\n\t\t[HANDLE_SCROLL_BOTTOM_REACHED]: {\n\t\t\teffect: handleBottomReached,\n\t\t\tmodifier: { name: 'throttle', limit: 500 },\n\t\t},\n\t},\n};\n","// Actions for now-list-gallery\nexport const SN_LIST_GALLERY_CELL_LINK_CLICKED =\n\t'SN_LIST_GALLERY#CELL_LINK_CLICKED';\nexport const SN_LIST_GALLERY_PERSON_CLICKED = 'SN_LIST_GALLERY#PERSON_CLICKED';\nexport const SN_LIST_GALLERY_EXPAND_ALL_GROUPS =\n\t'SN_LIST_GALLERY#EXPAND_ALL_GROUPS';\nexport const SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED =\n\t'SN_LIST_GALLERY#CONTEXT_ACTION_CLICKED';\nexport const SN_LIST_GALLERY_CARD_SELECTED_SET =\n\t'SN_LIST_GALLERY_CARD#SELECTED_SET';\nexport const SN_LIST_GALLERY_SELECT_ALL_CLICKED =\n\t'SN_LIST_GALLERY#SELECT_ALL_CLICKED';\n\nexport const SN_LIST_GALLERY_CARD_SELECTED = 'SN_LIST_GALLERY#CARD_SELECTED';\nexport const SN_LIST_GALLERY_CARD_CLICKED = 'SN_LIST_GALLERY#CARD_CLICKED';\nexport const SN_LIST_GALLERY_HEADER_ACTION_CLICKED =\n\t'SN_LIST_GALLERY#HEADER_ACTION_CLICKED';\nexport const NOW_CARD_HEADER_ACTION_CLICKED = 'NOW_CARD_HEADER#ACTION_CLICKED';\n","const NOW_LIST_CARD_PERSON_CLICKED = 'NOW_LIST#CARD_PERSON_CLICKED';\nconst PERSON_FIELD_ICON_SIZE = 'xs';\nconst PERSON_DISPLAY_TYPE_AVATAR = 'avatar';\nconst PERSON_DISPLAY_TYPE_NAME = 'name';\nconst PERSON_DISPLAY_TYPE_BOTH = 'both';\n\nconst PERSON_DISPLAY_TYPE_ENUMS = [\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tPERSON_DISPLAY_TYPE_BOTH,\n];\n\nconst PERSON_DISPLAY_TYPE_DEFAULT = PERSON_DISPLAY_TYPE_BOTH;\n\nexport {\n\tNOW_LIST_CARD_PERSON_CLICKED,\n\tPERSON_FIELD_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_ENUMS,\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n};\n\nexport const NOW_LIST_CELL_PERSON_CLICKED = 'NOW_LIST#CELL_PERSON_CLICKED';\n","import { NOW_LIST_CELL_LINK_CLICKED } from '../../../behaviors/linkBehavior/constants';\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../../../behaviors/rowSelectionBehavior/constants';\nimport {\n\tSN_LIST_GALLERY_CELL_LINK_CLICKED,\n\tSN_LIST_GALLERY_CARD_CLICKED,\n\tSN_LIST_GALLERY_CARD_SELECTED_SET,\n\tSN_LIST_GALLERY_HEADER_ACTION_CLICKED,\n\tSN_LIST_GALLERY_PERSON_CLICKED,\n\tSN_LIST_GALLERY_CONTEXT_ACTION_CLICKED,\n} from '../../../now-list-gallery/constants/actionConstants';\nimport { NOW_LIST_CELL_PERSON_CLICKED } from '../../views/fields/person/constants';\nimport {\n\tNOW_LIST_CONTEXT_ACTION_CLICKED,\n\tSN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tNOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tNOW_LIST_ROW_CLICKED,\n} from '../actionConstants';\n\nexport const BridgeEventMapping = {\n\t[SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED]: NOW_LIST_CONTEXT_ACTION_CLICKED,\n\t[SN_LIST_GALLERY_CELL_LINK_CLICKED]: NOW_LIST_CELL_LINK_CLICKED,\n\t[SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED]: NOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\t[SN_LIST_GALLERY_PERSON_CLICKED]: NOW_LIST_CELL_PERSON_CLICKED,\n\t[SN_LIST_GALLERY_CARD_SELECTED_SET]: ROW_CHECKBOX_INTERNAL_SET,\n\t[SN_LIST_GALLERY_HEADER_ACTION_CLICKED]: NOW_LIST_CONTEXT_ACTION_CLICKED,\n\t[SN_LIST_GALLERY_CARD_CLICKED]: NOW_LIST_ROW_CLICKED,\n};\n","import { BridgeEventMapping } from './bridgeEventMapping';\n\nconst nowListBridgeBehavior = {\n\tname: 'nowListBridgeBehavior',\n\n\tactionHandlers: Object.fromEntries(\n\t\tObject.entries(BridgeEventMapping).map(([key, actionToDispatch]) => [\n\t\t\tkey,\n\t\t\t{\n\t\t\t\t/**\n\t\t\t\t * @param {Coeffects<Props, State>} coeffects\n\t\t\t\t */\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst { action, dispatch } = coeffects;\n\t\t\t\t\tif (actionToDispatch) {\n\t\t\t\t\t\tdispatch(actionToDispatch, action.payload);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true,\n\t\t\t},\n\t\t])\n\t),\n};\n\nexport default nowListBridgeBehavior;\n","import { getUserPrefContext, a11yPreferences } from 'sn-ux-core';\n\nconst isTrue = (/** @type {string | boolean} */ prop) =>\n\tprop === true || prop === 'true';\n\nconst isHiddenControlsEnabled = (/** @type {any} */ context) => {\n\tconst hiddenControlsPreference = getUserPrefContext(\n\t\ta11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS\n\t);\n\tif (!(context && hiddenControlsPreference)) {\n\t\treturn false;\n\t}\n\treturn isTrue(context[hiddenControlsPreference]);\n};\n\nexport default isHiddenControlsEnabled;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-loader';\nimport '@servicenow/now-template-message';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../utils/customLoader';\nimport overlaySelectors from '../../utils/selectors/overlaySelectors';\nimport {\n\tCELL_CONTENT_CLASS,\n\tROW_CELL_CLASS,\n} from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\nconst {\n\tOVERLAY_SKELETON_LOADER_NUM_ROWS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('../../../typeSchemas/overlayDefinition/overlayConfigConsts');\n\nconst {\n\tgetCustomOverlayComponentTag,\n\tgetCustomOverlayDefaultComponentProps,\n\tgetOverlayLoaderConfig,\n\tgetOverlayMessageConfig,\n\tgetOverlayShowColumnHeaders,\n\tgetOverlaySkeletonLoaderNumColumns,\n\tgetOverlayType,\n} = overlaySelectors;\n\nconst overlayContentClassName = 'overlay-content';\nconst loadingLabel = t('Loading');\n\n/**\n * An overlay with an illustration, text, buttons, etc\n * @param {OverlayDefinition} props\n */\nconst renderMessageOverlay = (props) => {\n\tconst messageConfig = getOverlayMessageConfig(props);\n\n\treturn (\n\t\t<now-template-message-empty-state\n\t\t\tdata-testId=\"now-list-overlay\"\n\t\t\tdata-testOverlayType=\"message\"\n\t\t\tclassName={overlayContentClassName}\n\t\t\t{...messageConfig}\n\t\t/>\n\t);\n};\n\n/**\n * A loader spinner with optional text and buttons\n * @param {OverlayDefinition} props\n */\nconst renderLoaderOverlay = (props) => {\n\tconst loaderConfig = getOverlayLoaderConfig(props);\n\treturn (\n\t\t<now-loader\n\t\t\tdata-testId=\"now-list-overlay\"\n\t\t\tdata-testOverlayType=\"loader\"\n\t\t\tclassName={overlayContentClassName}\n\t\t\taria-label={loadingLabel}\n\t\t\t{...loaderConfig}\n\t\t/>\n\t);\n};\n\n/**\n * An animated table wireframe\n * @param {OverlayDefinition} props\n */\nexport const renderSkeletonLoaderOverlay = (props) => {\n\tconst numColumns = getOverlaySkeletonLoaderNumColumns(props);\n\n\treturn (\n\t\t<Fragment aria-label={loadingLabel}>\n\t\t\t{!getOverlayShowColumnHeaders(props) && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{skeletonCols(numColumns)}\n\t\t\t\t\t<thead aria-hidden={true} className={'skeleton-thead'}>\n\t\t\t\t\t\t{skeletonRow(numColumns, true)}\n\t\t\t\t\t<\/thead>\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t\t{\n\t\t\t\t<tbody aria-hidden={true} className={'skeleton-tbody'}>\n\t\t\t\t\t{skeletonBodyRows(numColumns)}\n\t\t\t\t<\/tbody>\n\t\t\t}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * An overlay with custom content\n * @param {OverlayDefinition} overlayProps\n * @param {TableMetadata} tableMetadata\n * @param {string} dir\n */\nconst renderCustomOverlay = (overlayProps, tableMetadata, dir) => {\n\tconst componentTag = getCustomOverlayComponentTag(overlayProps);\n\tconst componentDefaultProps = getCustomOverlayDefaultComponentProps(\n\t\toverlayProps\n\t);\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.OVERLAY,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir\n\t);\n};\n\n/**\n * Helper view for mounting col tags of a full table skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n */\nconst skeletonCols = (numColumns) => {\n\tconst cols = [];\n\tfor (let i = 0; i < numColumns; i++) {\n\t\tcols.push(<col><\/col>);\n\t}\n\treturn cols;\n};\n\n/**\n * Helper view for mounting col tags of a full table skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n */\nconst skeletonBodyRows = (numColumns) => {\n\tconst bodyRows = [];\n\tfor (let i = 0; i < OVERLAY_SKELETON_LOADER_NUM_ROWS; i++) {\n\t\tbodyRows.push(skeletonRow(numColumns, false));\n\t}\n\n\treturn bodyRows;\n};\n\n/**\n * Helper view for rendering contents of a skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n * @param {boolean} isHeader indicates whether this is a head or body row\n */\nconst skeletonRow = (numColumns, isHeader) => {\n\tconst cells = [];\n\tfor (let i = 0; i < numColumns; i++) {\n\t\tcells.push(skeletonCell(isHeader));\n\t}\n\n\treturn <tr>{cells}<\/tr>;\n};\n\n/**\n * Helper view for rendering contents of a skeleton loader row\n *\n * @param {boolean} isHeader indicates whether this is a head or body row\n */\nconst skeletonCell = (isHeader) => {\n\tconst cellClasses = classNames({\n\t\t'skeleton-cell': true,\n\t\t[ROW_CELL_CLASS]: true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'skeleton-cell-content': true,\n\t\t[CELL_CONTENT_CLASS]: true,\n\t});\n\n\tif (isHeader) {\n\t\treturn (\n\t\t\t<th className={cellClasses}>\n\t\t\t\t<div className={cellContentClasses}><\/div>\n\t\t\t<\/th>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<td className={cellClasses}>\n\t\t\t\t<div className={cellContentClasses}><\/div>\n\t\t\t<\/td>\n\t\t);\n\t}\n};\n\n/**\n * An overlay renders in place of the table body or entire table in order to provide information and/or action items\n * @param {OverlayDefinition} overlayProps\n * @param {TableMetadata} tableMetadata\n * @param {string} dir\n */\nexport const overlay = (overlayProps, tableMetadata, dir) => {\n\tconst type = getOverlayType(overlayProps);\n\tconst showHeaders = getOverlayShowColumnHeaders(overlayProps);\n\tlet overlayContent = null;\n\n\tif (type === OVERLAY_TYPE_SKELETON_LOADER)\n\t\t// this is the only overlay that is integrated into the table structure instead of replacing the table structure,\n\t\t// so renderSkeletonLoaderOverlay is called directly instead of from this generic overlay renderer.\n\t\treturn null;\n\n\tif (type === OVERLAY_TYPE_CUSTOM) {\n\t\toverlayContent = renderCustomOverlay(overlayProps, tableMetadata, dir);\n\t} else if (type === OVERLAY_TYPE_LOADER) {\n\t\toverlayContent = renderLoaderOverlay(overlayProps);\n\t} else {\n\t\toverlayContent = renderMessageOverlay(overlayProps);\n\t}\n\n\tconst overlayClassNames = classNames({\n\t\toverlay: true,\n\t\t[`type-${type}`]: true,\n\t\t'body-only-overlay': showHeaders,\n\t\t'full-table-overlay': !showHeaders,\n\t});\n\n\treturn (\n\t\t<div key=\"overlay-container\" className={overlayClassNames}>\n\t\t\t{overlayContent}\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { findTabbableElement } from '@devsnc/sn-list-commons';\nimport { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n} from '../../../../behaviors/cellEditingBehavior/constants';\nimport {\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PILLS,\n\tTYPE_STRING,\n} from '../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport {\n\tgetDefaultEpochValue,\n\tgetEpochValue,\n} from '../../../utils/dateTimeUtils';\n\nconst { COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Handler for now-list-cell-editor-content render\n * @param {Coeffects<PopoverCellEditorContentProps, State>} coeffects\n */\nconst componentTreeRenderedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { hoistHost },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst popoverIsFocused = get(state, `popoverIsFocused`, false);\n\t/**\n\t * Handles the focusing of the element when the popover re-renders\n\t * from loading state to the custom component\n\t */\n\tif (\n\t\thoistHost?.shadowRoot &&\n\t\tdocument.activeElement != hoistHost &&\n\t\t!popoverIsFocused\n\t) {\n\t\tconst el = findTabbableElement(true, hoistHost?.shadowRoot);\n\t\tif (el) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'popoverIsFocused',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst nowCellEditButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, context },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tconst { value, color, imageSrc, personKey } = state;\n\tconst { label } = state;\n\n\tlet updatedValue = value;\n\n\tswitch (context.cell.type) {\n\t\tcase TYPE_CURRENCY:\n\t\tcase TYPE_NUMBER:\n\t\t\tupdatedValue = value && Number(value);\n\t\t\tbreak;\n\t\tcase TYPE_DATE_TIME:\n\t\t\t/**\n\t\t\t * When the date-time cell is empty, the value is null and the now-date-time expects a string value\n\t\t\t * When the date-time cell is non-empty, the value is an epoch value\n\t\t\t * Here we are converting the string back to epoch value or null (when empty) to update the cell value\n\t\t\t */\n\t\t\tif (typeof value === TYPE_STRING) {\n\t\t\t\tif (value == null) {\n\t\t\t\t\tupdatedValue = null;\n\t\t\t\t} else {\n\t\t\t\t\tconst timeZone = context.column?.timeZone;\n\t\t\t\t\tconst dateFormat = context.column?.dateTimeFormat;\n\t\t\t\t\tconst unixTime =\n\t\t\t\t\t\t!timeZone || !dateFormat\n\t\t\t\t\t\t\t? getDefaultEpochValue(value)\n\t\t\t\t\t\t\t: getEpochValue(value, dateFormat, timeZone);\n\t\t\t\t\tupdatedValue = unixTime || null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase TYPE_PILLS:\n\t\t\tupdatedValue = value.map((\n\t\t\t\t/** @type {{ id: String; label: String;}} */ { id, label }\n\t\t\t) => ({ key: id, label }));\n\t\t\tbreak;\n\t}\n\n\tconst payload = {\n\t\tvalue: updatedValue,\n\t\tlabel: label,\n\t\tcolor: color,\n\t\timageSrc: imageSrc,\n\t\tpersonKey: personKey,\n\t};\n\n\tdispatch(NOW_LIST_POPOVER_BUTTON_CLICKED, { id, context, payload });\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst nowCellEditorContentValueUpdatedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value, label, color, personKey, imageSrc },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst updatedState = {};\n\n\tif (label != null) {\n\t\tupdatedState.label = label;\n\t}\n\n\tif (color != null) {\n\t\tupdatedState.color = color;\n\t}\n\n\tif (personKey != null) {\n\t\tupdatedState.personKey = personKey;\n\t}\n\n\tif (imageSrc != null) {\n\t\tupdatedState.imageSrc = imageSrc;\n\t}\n\n\tif (value != null) {\n\t\tupdatedState.value = value;\n\t}\n\n\t// @ts-ignore\n\tupdateState(updatedState);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: componentTreeRenderedEffect,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: nowCellEditButtonClickedEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED]: {\n\t\teffect: nowCellEditorContentValueUpdatedEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import {\n\tNOW_DATE_TIME_VALUE_SET,\n\tNOW_INPUT_URL_VALUE_SET,\n\tNOW_INPUT_VALUE_SET,\n\tNOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED,\n\tNOW_RADIO_BUTTONS_VALUE_SET,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET,\n\tNOW_HTML_VALUE_SET,\n} from '../../../../../behaviors/cellEditingBehavior/constants';\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateInputTypeValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst isLabel =\n\t\tname === 'cellEditingUrlLabel' || name === 'cellEditingLinkLabel';\n\n\tconst isPersonKey = name === 'cellEditingPersonKey';\n\n\tlet updateProperty, payload;\n\n\tif (isLabel) {\n\t\tupdateProperty = 'cellEditLabel';\n\t\tpayload = { label: value };\n\t} else if (isPersonKey) {\n\t\tupdateProperty = 'cellEditPersonKey';\n\t\tpayload = { personKey: value };\n\t} else {\n\t\tupdateProperty = 'cellEditValue';\n\t\tpayload = { value: value };\n\t}\n\n\tupdateState({ [updateProperty]: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateUrlValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst isPersonImageUrl = name === 'cellEditingPersonImageUrl';\n\n\tlet updateProperty, payload;\n\n\tif (isPersonImageUrl) {\n\t\tupdateProperty = 'cellEditPersonUrl';\n\t\tpayload = { imageSrc: value };\n\t} else {\n\t\tupdateProperty = 'cellEditValue';\n\t\tpayload = { value: value };\n\t}\n\n\tupdateState({ [updateProperty]: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateBooleanValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst newValue = value === 'true';\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: newValue });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: newValue,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateDateTimeValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updatePillsValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateChoiceValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\thost: { localName },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tconst isIconTypeCellEditor =\n\t\tlocalName === 'now-list-icon-cell-editor-content';\n\n\tconst updateProperty = isIconTypeCellEditor\n\t\t? 'cellEditColor'\n\t\t: 'cellEditValue';\n\n\tupdateState({ [updateProperty]: value });\n\n\tconst payload = isIconTypeCellEditor ? { color: value } : { value };\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateHTMLValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_INPUT_VALUE_SET]: {\n\t\teffect: updateInputTypeValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RADIO_BUTTONS_VALUE_SET]: {\n\t\teffect: updateBooleanValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\teffect: updateDateTimeValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: updatePillsValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: updateChoiceValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_URL_VALUE_SET]: {\n\t\teffect: updateUrlValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_HTML_VALUE_SET]: {\n\t\teffect: updateHTMLValueEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-string-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"cellEditingString\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-string-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue:Number}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-currency-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"number\"\n\t\t\t\tname=\"cellEditingCurrency\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-currency-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { BOOLEAN_CHOICES } from '../../../fields/boolean/constants.js';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-radio-buttons';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: Boolean}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\tconst initialValue = cellEditValue ? 'true' : 'false';\n\n\treturn (\n\t\t<div className=\"popover-boolean-cell-editor-content-container\">\n\t\t\t<now-radio-buttons\n\t\t\t\tname=\"cellEditingBooleanChoice\"\n\t\t\t\tmanageValue={true}\n\t\t\t\tvalue={initialValue}\n\t\t\t\toptions={BOOLEAN_CHOICES}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-boolean-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { fromUnixTime } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport { t } from 'sn-translate';\n\nimport { TYPE_NUMBER } from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { getDateEditorVariant } from '../../../../utils/dateTimeUtils';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport { DATE_EDITOR_VARIANT_SHORT } from '../../../fields/dateTime/constants';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-date-time';\n\nconst { getDateTimeFormat, getFirstDayOfWeek, getTimeZone } = columnSelectors;\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst {\n\t\tcellEditValue,\n\t\tproperties: {\n\t\t\t// @ts-ignore\n\t\t\tactionsContext: { column },\n\t\t},\n\t} = state;\n\tconst dateTimeFormat = getDateTimeFormat(column);\n\tconst dateEditorVariant = getDateEditorVariant(dateTimeFormat, false);\n\tconst timeZone = getTimeZone(column);\n\n\tlet formattedDateValue = cellEditValue ?? '';\n\n\tif (typeof cellEditValue === TYPE_NUMBER) {\n\t\t// glide 'date' type are saved in the form of 2024-12-12 which is converted to unix code which is read as 2024-12-12 00:00:00 gmt.\n\t\t// when this date hits the UI it converts to local timezone which create an inconsistent date in the view.\n\t\t// to solve this for all short dates only render UTC to make saving and reading short dates is consistent.\n\t\tif (dateEditorVariant === DATE_EDITOR_VARIANT_SHORT) {\n\t\t\tformattedDateValue = formatInTimeZone(\n\t\t\t\t// FIXME: could be facing issue when local and User Pref timezones are different\n\t\t\t\tfromUnixTime(Number(cellEditValue)),\n\t\t\t\t'UTC',\n\t\t\t\tdateTimeFormat\n\t\t\t);\n\t\t} else {\n\t\t\tformattedDateValue = formatInTimeZone(\n\t\t\t\tfromUnixTime(Number(cellEditValue)),\n\t\t\t\ttimeZone,\n\t\t\t\tdateTimeFormat\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className=\"popover-date-time-cell-editor-content-container\">\n\t\t\t<now-date-time\n\t\t\t\tlabel={t('Select date and time')}\n\t\t\t\ttype={dateEditorVariant}\n\t\t\t\tformat={dateTimeFormat}\n\t\t\t\tname=\"cellEditingDateTime\"\n\t\t\t\tclassName=\"date-time-type-cell-editor-content\"\n\t\t\t\tfirstDayOfWeek={getFirstDayOfWeek(column)}\n\t\t\t\tvalue={formattedDateValue}\n\t\t\t\tmanageValue={true}\n\t\t\t\tshow-default-footer-actions\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-date-time-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue:Number}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-number-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"number\"\n\t\t\t\tname=\"cellEditingNumber\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-number-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-typeahead';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: Pill[]}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\tconst column = state?.properties?.actionsContext?.column;\n\t/**\n\t * @type any[]\n\t */\n\tconst pillsChoices = column ? columnSelectors.getPillsChoices(column) : [];\n\n\t// This change is needed as the now-typeahead-multi expects id and label\n\tconst selectedPillItems = cellEditValue.some((pill) => pill.key)\n\t\t? cellEditValue.map(({ key, label }) => ({ id: key, label }))\n\t\t: cellEditValue;\n\n\tconst pillItems = pillsChoices\n\t\t.filter(\n\t\t\t(\n\t\t\t\t/**\n\t\t\t\t * @type Pill\n\t\t\t\t */\n\t\t\t\tpill\n\t\t\t) => pill.canEdit !== false\n\t\t)\n\t\t.map(({ key, label }) => ({ id: key, label }));\n\n\treturn (\n\t\t<div className=\"popover-pills-cell-editor-content-container\">\n\t\t\t<now-typeahead-multi\n\t\t\t\tname=\"cellEditingPills\"\n\t\t\t\tclassName=\"pills-type-cell-editor-content\"\n\t\t\t\tlabel={t('Pills')}\n\t\t\t\titems={pillItems}\n\t\t\t\tselectedItems={selectedPillItems}\n\t\t\t\tsearch=\"contains\"\n\t\t\t\tmanageSelectedItems={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-pills-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport ColumnSelectors from '../../../../utils/selectors/columnSelectors';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-select';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue, properties } = state;\n\tconst { actionsContext, choices } = properties;\n\tconst column = actionsContext?.column;\n\n\t/**\n\t * @type {Choice[] | ColumnBase[]}\n\t */\n\tconst choiceList = choices\n\t\t? choices\n\t\t: column\n\t\t? ColumnSelectors.getChoices(column) || []\n\t\t: [];\n\n\t// This change is needed as the now-select expects id and label\n\tconst choiceItems = choiceList.some((choice) => choice.key)\n\t\t? choiceList.map(({ key, label }) => ({ id: key, label }))\n\t\t: choiceList;\n\n\treturn (\n\t\t<div className=\"popover-choice-cell-editor-content-container\">\n\t\t\t<now-select\n\t\t\t\tname=\"cellEditingChoice\"\n\t\t\t\tclassName=\"choice-type-cell-editor-content\"\n\t\t\t\tselectedItem={cellEditValue}\n\t\t\t\tmanageSelectedItem={true}\n\t\t\t\titems={choiceItems}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-choice-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tchoices,\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value, metadata },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: choices ? metadata.internalValue : value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t\tchoices: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditLabel: String, cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditLabel, cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-url-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter label')}\n\t\t\t\tname=\"cellEditingUrlLabel\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditLabel}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input-url\n\t\t\t\tlabel={t('Enter a URL')}\n\t\t\t\tname=\"cellEditingUrlValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-url-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { label, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t\tcellEditLabel: label,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditLabel: String, cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditLabel, cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-link-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter label')}\n\t\t\t\tname=\"cellEditingLinkLabel\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditLabel}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter an action to dispatch')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'Enter an event naming convention that includes casing and prefixes.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t{t('(e.g. COMPONENT_NAME#ACTION_TAKEN)')}\n\t\t\t\t\t<\/span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingLinkValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tpattern=\"^[A-Z_#]+$\" //Only allows capital letter,_and# symbols\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-link-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { label, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\t\tif (label != null) {\n\t\t\tinitialState.cellEditLabel = label;\n\t\t}\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\n/** @type {object} */\nexport const COLOR_LIST = [\n\t{ id: 'info', label: t('Info') },\n\t{ id: 'moderate', label: t('Moderate') },\n\t{ id: 'critical', label: t('Critical') },\n\t{ id: 'warning', label: t('Warning') },\n\t{ id: 'positive', label: t('Positive') },\n\t{ id: 'high', label: t('High') },\n\t{ id: 'low', label: t('Low') },\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport { COLOR_LIST } from './constants';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String, cellEditColor: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue, cellEditColor } = state;\n\n\treturn (\n\t\t<div className=\"popover-icon-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Select an icon')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'The name of an icon in kebab case (e.g. complete-outline)'\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingIconValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tpattern=\"/^[a-z-]+$/\" //Only allows lowercase letters and - symbol\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-select\n\t\t\t\tlabel={t('Select icon color')}\n\t\t\t\tname=\"cellEditingIconColor\"\n\t\t\t\tclassName=\"choice-type-cell-editor-content\"\n\t\t\t\tselectedItem={cellEditColor}\n\t\t\t\tmanageSelectedItem={true}\n\t\t\t\titems={COLOR_LIST}\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<span className=\"icon-preview-label-cell-editor-content\">\n\t\t\t\t\t{t('Preview:')}\n\t\t\t\t<\/span>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={cellEditValue}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tclassName={cellEditColor}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-icon-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { color, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\t\tif (color != null) {\n\t\t\tinitialState.cellEditColor = color;\n\t\t}\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport {\n\tPERSON_CELL_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n} from '../../../table/tableBody/tableRow/rowCell/personCellType/personCellConstants';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String, cellEditPersonKey: String, cellEditPersonUrl: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst {\n\t\tproperties,\n\t\tcellEditValue,\n\t\tcellEditPersonKey,\n\t\tcellEditPersonUrl,\n\t} = state;\n\n\tconst column = properties.actionsContext?.column || {};\n\tconst { getDisplay } = columnSelectors;\n\tconst display = getDisplay(column);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isEmpty(cellEditValue);\n\n\treturn (\n\t\t<div className=\"popover-person-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter name')}\n\t\t\t\tname=\"cellEditingPersonName\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter unique identifier')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'A unique identifying string to represent this person. All mentions of a given person should have the same identifier string.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingPersonKey\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditPersonKey}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-input-url\n\t\t\t\t\tlabel={t('Enter a URL of an image')}\n\t\t\t\t\thelperContent={\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t\"A link to an image that should be displayed as this person's avatar. If not provided, the avatar will display initials instead of an image.\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t}\n\t\t\t\t\tname=\"cellEditingPersonImageUrl\"\n\t\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\t\tvalue={cellEditPersonUrl}\n\t\t\t\t\tmanageValue={true}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t<div>\n\t\t\t\t<span className=\"person-preview-label-cell-editor-content\">\n\t\t\t\t\t{t('Preview:')}\n\t\t\t\t<\/span>\n\n\t\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t\t<now-avatar\n\t\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\t\tsize={PERSON_CELL_ICON_SIZE}\n\t\t\t\t\t\tuserName={cellEditValue}\n\t\t\t\t\t\timageSrc={cellEditPersonUrl}\n\t\t\t\t\t\tkey={cellEditPersonKey}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"popover-cell-editor-person-preview-name\"\n\t\t\t\t\tdata-truncation\n\t\t\t\t>\n\t\t\t\t\t{cellEditValue}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-person-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value, personKey, imageSrc },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\n\t\tif (personKey != null) {\n\t\t\tinitialState.cellEditPersonKey = personKey;\n\t\t}\n\n\t\tif (imageSrc != null) {\n\t\t\tinitialState.cellEditPersonUrl = imageSrc;\n\t\t}\n\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-record-html-editor';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-html-cell-editor-content-container\">\n\t\t\t<now-record-html-editor\n\t\t\t\tclassName=\"now-record-html-editor-content\"\n\t\t\t\tautofocus\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t\tresizable={true}\n\t\t\t\tmaxHeight={400}\n\t\t\t\theight={'min(100%, 400px)'}\n\t\t\t\tminHeight={240}\n\t\t\t\tplugins={\n\t\t\t\t\t'accordion link lists advlist table code powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t\t\t}\n\t\t\t\ttoolbar={\n\t\t\t\t\t'bold italic underline undo redo | fontselect fontsizeselect | code | table forecolor backcolor link unlink | alignleft aligncenter alignright | bullist numlist'\n\t\t\t\t}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-html-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport {\n\trenderCustomComponent,\n\tcustomComponentType,\n} from '../../../utils/customLoader';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverCellEditorContent.scss';\n\nimport './cellEditorTypes/popoverStringCellEditorContent';\nimport './cellEditorTypes/popoverCurrencyCellEditorContent';\nimport './cellEditorTypes/popoverBooleanCellEditorContent';\nimport './cellEditorTypes/popoverDateTimeCellEditorContent';\nimport './cellEditorTypes/popoverNumberCellEditorContent';\nimport './cellEditorTypes/popoverPillsCellEditorContent';\nimport './cellEditorTypes/popoverChoiceCellEditorContent';\nimport './cellEditorTypes/popoverUrlCellEditorContent';\nimport './cellEditorTypes/popoverLinkCellEditorContent';\nimport './cellEditorTypes/popoverIconCellEditorContent';\nimport './cellEditorTypes/popoverPersonCellEditorContent';\nimport './cellEditorTypes/popoverHTMLCellEditorContent';\n\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-loader';\n\nconst defaultButtonsConfig = {\n\tshowRetry: false,\n\tdisableApply: false,\n};\n\n/**\n * @param {Context | undefined} actionsContext\n * @param {Object} buttonsConfig\n * @returns\n */\nexport const renderPopoverCellEditContentActions = (\n\tactionsContext,\n\tbuttonsConfig\n) => {\n\t// @ts-ignore\n\tconst { showRetry, disableApply, hideAll } = buttonsConfig;\n\n\tconst popoverButtons = hideAll\n\t\t? []\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tariaLabel: t('Cancel'),\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\thideButton: false,\n\t\t\t\t\tid: 'cellEditCancelButton',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Apply'),\n\t\t\t\t\tariaLabel: t('Apply'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: disableApply,\n\t\t\t\t\thideButton: showRetry,\n\t\t\t\t\tid: 'cellEditApplyButton',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Retry'),\n\t\t\t\t\tariaLabel: t('Retry'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\thideButton: !showRetry,\n\t\t\t\t\tid: 'cellEditRetryButton',\n\t\t\t\t},\n\t\t  ];\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-cell-editor-button-container\"\n\t\t\tdata-test=\"popover-cell-editor-button-container\"\n\t\t>\n\t\t\t{popoverButtons.map((\n\t\t\t\t/** @type {NowButtonProps} */ {\n\t\t\t\t\tariaLabel,\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\tsize,\n\t\t\t\t\tvariant,\n\t\t\t\t\tdisabled,\n\t\t\t\t\thideButton,\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\treturn (\n\t\t\t\t\t!hideButton && (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\t\tcontext: actionsContext,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n\n/** @type {View<PopoverCellEditorContentProps, {value: any}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition },\n\t} = props;\n\n\tconst componentDefaultProps = popoverSelectors.getPopoverComponentDefaultProps(\n\t\tpopoverDefinition\n\t);\n\n\tconst componentTag =\n\t\tcomponentDefaultProps.actionsContext.column.type === 'html'\n\t\t\t? 'now-list-html-cell-editor-content'\n\t\t\t: popoverSelectors.getPopoverComponentTag(popoverDefinition);\n\n\tconst buttonsConfig =\n\t\tpopoverSelectors.getButtonsConfig(popoverDefinition) ||\n\t\tdefaultButtonsConfig;\n\n\tconst highlightedMessage = popoverSelectors.getHighlightedMessage(\n\t\tpopoverDefinition\n\t);\n\n\tconst isLoading = popoverSelectors.getIsLoading(popoverDefinition) || false;\n\n\treturn (\n\t\t<div className=\"popover-cell-editor-content-container\">\n\t\t\t{isLoading ? (\n\t\t\t\t<div className=\"popover-cell-editor-content-loader\">\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\taria-label={t('Loading')}\n\t\t\t\t\t\tclassName=\"loader-cell-editor-content\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<div>\n\t\t\t\t\t{highlightedMessage && (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tclassName=\"cell-editor-highlighted-message\"\n\t\t\t\t\t\t\tlabel={highlightedMessage.label}\n\t\t\t\t\t\t\tcolor={highlightedMessage.color}\n\t\t\t\t\t\t\tshowIcon={highlightedMessage.showIcon}\n\t\t\t\t\t\t\tvariant={highlightedMessage.variant}\n\t\t\t\t\t\t\ticon={highlightedMessage.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{componentTag &&\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\trenderCustomComponent(\n\t\t\t\t\t\t\tcustomComponentType.POPOVER,\n\t\t\t\t\t\t\tcomponentTag,\n\t\t\t\t\t\t\tcomponentDefaultProps,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t)}\n\t\t\t\t\t{componentDefaultProps.actionsContext?.selectedKeys\n\t\t\t\t\t\t?.length > 1 && (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tclassName=\"cell-editor-info-text\"\n\t\t\t\t\t\t\tcolor=\"warning\"\n\t\t\t\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'{0} rows will be updated',\n\t\t\t\t\t\t\t\tcomponentDefaultProps.actionsContext\n\t\t\t\t\t\t\t\t\t?.selectedKeys?.length\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tshowIcon={true}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{renderPopoverCellEditContentActions(\n\t\t\t\tcomponentDefaultProps.actionsContext,\n\t\t\t\tbuttonsConfig\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-cell-editor-content', {\n\tview,\n\tsetInitialState({ properties: { popoverDefinition } }) {\n\t\tconst defaultProps =\n\t\t\tpopoverSelectors.getPopoverComponentDefaultProps(popoverDefinition)\n\t\t\t\t?.actionsContext?.cell || {};\n\t\treturn {\n\t\t\tvalue: defaultProps.value,\n\t\t\tlabel: defaultProps.label,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","export const NOW_BUTTON_CLICKED_POPOVER_CONTAINER = 'NOW_BUTTON#CLICKED';\nexport const NOW_LIST_POPOVER_BUTTON_CLICKED =\n\t'NOW_LIST#POPOVER_BUTTON_CLICKED';\n","import {\n\tNOW_BUTTON_CLICKED_POPOVER_CONTAINER,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n} from './constants';\n\n/**\n *\n * @param {Coeffects<PopoverTextContentProps,State>} coeffects\n */\nconst buttonClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, meta, buttonIndex },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_LIST_POPOVER_BUTTON_CLICKED, {\n\t\tid,\n\t\tmeta,\n\t\tbuttonIndex,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_BUTTON_CLICKED_POPOVER_CONTAINER]: {\n\t\teffect: buttonClickedHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\n\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverTextContent.scss';\nimport '@servicenow/now-button';\n\n/**\n *\n * @param {PopoverDefinition} popoverDefinition\n * @returns\n */\nconst renderTextContent = (popoverDefinition) => {\n\tconst contentText = popoverSelectors.getPopoverText(popoverDefinition);\n\n\tif (isEmpty(contentText)) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-text-container\"\n\t\t\tdata-test=\"popover-text-container\"\n\t\t>\n\t\t\t<span data-truncation>{contentText}<\/span>\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * @param {PopoverDefinition} popoverDefinition\n * @param {String} dir\n * @returns\n */\nconst renderContentActions = (popoverDefinition, dir) => {\n\tconst popoverButtons = popoverSelectors.getPopoverButtons(\n\t\tpopoverDefinition\n\t);\n\n\tif (isEmpty(popoverButtons)) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-button-container\"\n\t\t\tdata-test=\"popover-button-container\"\n\t\t\tdir={dir}\n\t\t>\n\t\t\t{popoverButtons.map((\n\t\t\t\t/** @type {object} */ button,\n\t\t\t\t/** @type {number} */ index\n\t\t\t) => {\n\t\t\t\treturn (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': popoverSelectors.getPopoverButtonAriaLabel(\n\t\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant={popoverSelectors.getPopoverButtonVariant(\n\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tsize={popoverSelectors.getPopoverButtonSize(button)}\n\t\t\t\t\t\tlabel={popoverSelectors.getPopoverButtonLabel(button)}\n\t\t\t\t\t\ticon={popoverSelectors.getPopoverButtonIcon(button)}\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tmeta: popoverSelectors.getPopoverButtonMeta(button),\n\t\t\t\t\t\t\tid: popoverSelectors.getPopoverButtonId(button),\n\t\t\t\t\t\t\tbuttonIndex: index,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttooltipContent={popoverSelectors.getTooltipContent(\n\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n\n/** @type {View<PopoverTextContentProps, {}>} */\nconst view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, dir },\n\t} = props;\n\n\treturn (\n\t\t<div className=\"popover-content-container\">\n\t\t\t{renderTextContent(popoverDefinition)}\n\t\t\t{renderContentActions(popoverDefinition, dir)}\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-popover-text-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\tdir: {\n\t\t\t// @ts-ignore\n\t\t\tdefault: 'ltr',\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [{ behavior: rtlBehavior }],\n});\n","import {\n\tNOW_DROPDOWN_LIST_ITEM_CLICKED,\n\tPOPOVER_DROPDOWN_ITEM_CLICKED,\n} from './constants';\n\n/**\n * Handler for now-dropown-list item clicked action. Will dispatch the appropriate list action\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst dropdownItemClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item, context },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(POPOVER_DROPDOWN_ITEM_CLICKED, {\n\t\tactionItem: item,\n\t\tcontext,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\teffect: dropdownItemClickedHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { getActionLabel } from '../../../../behaviors/contextActionsBehavior/constants';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverListContent.scss';\n\nimport '@servicenow/now-dropdown';\n\n/** @type {View<PopoverListContentProps, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, actionsContext },\n\t} = props;\n\n\tconst label = actionsContext\n\t\t? getActionLabel(actionsContext?.typeOfAction)\n\t\t: popoverSelectors.getActionsLabel(popoverDefinition);\n\tconst actions = popoverSelectors.getActions(popoverDefinition);\n\tconst search = actions.length > 10 ? 'contains' : 'none';\n\tconst activeItem = popoverSelectors.getActiveActionItem(popoverDefinition);\n\treturn (\n\t\t<div className=\"popover-list-content-container\">\n\t\t\t<now-dropdown-list\n\t\t\t\titems={actions}\n\t\t\t\tactiveItem={activeItem}\n\t\t\t\tselect=\"none\"\n\t\t\t\tsearch={search}\n\t\t\t\tappend-to-payload={{ context: actionsContext }}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-popover-list-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\tactionsContext: {},\n\t},\n\tactionHandlers,\n});\n","import { findTabbableElement } from '@devsnc/sn-list-commons';\nimport { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nconst { COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Handler for now-list-popover-custom-content render\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst componentTreeRenderedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { hoistHost },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst popoverIsFocused = get(state, `popoverIsFocused`, false);\n\t/**\n\t * Handles the focusing of the element when the popover re-renders\n\t * from loading state to the custom component\n\t */\n\tif (\n\t\thoistHost?.shadowRoot &&\n\t\tdocument.activeElement != hoistHost &&\n\t\t!popoverIsFocused\n\t) {\n\t\tconst el = findTabbableElement(true, hoistHost?.shadowRoot);\n\t\tif (el) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'popoverIsFocused',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: componentTreeRenderedEffect,\n\t},\n};\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport customCellDynamicActionBehavior from '../../../../behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior';\nimport {\n\trenderCustomComponentDisplay,\n\tcustomComponentType,\n} from '../../../utils/customLoader';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './action';\nimport styles from './popoverCustomContent.scss';\n\nimport '@servicenow/now-dropdown';\n\n/** @type {View<PopoverCustomContentProps, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, tableMetadata, dir },\n\t} = props;\n\n\tconst componentTag = popoverSelectors.getPopoverComponentTag(\n\t\tpopoverDefinition\n\t);\n\tconst componentDefaultProps = popoverSelectors.getPopoverComponentDefaultProps(\n\t\tpopoverDefinition\n\t);\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.POPOVER,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir\n\t);\n};\n\ncreateCustomElement('now-list-popover-custom-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\ttableMetadata: {},\n\t\tdir: {\n\t\t\t// @ts-ignore\n\t\t\tdefault: 'ltr',\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [customCellDynamicActionBehavior, { behavior: rtlBehavior }],\n});\n","/**\n * Takes an array of choices and returns an array consisting of only the choices whose label contains the term (case insensitive)\n *\n * @param {Array<ChoiceType>} choices\n * @param {string} term\n * @returns {Array<ChoiceType>}\n */\nexport const filterChoicesByTerm = (choices, term = '') => {\n\treturn choices.filter((choice) => {\n\t\treturn choice.label.toUpperCase().includes(term.toUpperCase());\n\t});\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport includes from 'lodash/includes';\nimport isEqual from 'lodash/isEqual';\nimport { t } from 'sn-translate';\n\nimport {\n\tTYPE_CHOICE,\n\tTYPE_PILLS,\n} from '../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getColumnFilteringStateForColumn } from '../../table/tableHeaders/columnFilteringCell/columnFilteringCell';\nimport {\n\tCOLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n} from '../../table/tableHeaders/columnFilteringCell/columnFilteringConsts';\n\nimport {\n\tCOLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\tCOLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n\tMIN_CHOICES_FOR_CHOICE_FILTERING,\n\tNOW_INPUT_INPUT,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM,\n\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME,\n} from './popoverChoiceColumnFilterConsts';\nimport styles from './popoverChoiceColumnFilterContent.scss';\nimport { filterChoicesByTerm } from './popoverChoiceColumnFilterHelpers';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst {\n\tgetChoices,\n\tgetPillsChoices,\n\tgetColumnType,\n\tgetColumnFilterValue,\n} = columnSelectors;\n\n/**\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n */\nexport const handleChoiceFilterInputClear = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateState,\n\t} = coeffects;\n\tconst { typeOfAction, choiceFilterInputRef } = payload;\n\tif (typeOfAction !== COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM) return;\n\tchoiceFilterInputRef?.focus();\n\tupdateState({\n\t\tchoiceFilterTerm: '',\n\t});\n};\n/**\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n */\nexport const handleChoiceFilterInputInput = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst { payload } = action;\n\tconst { fieldValue } = payload;\n\tupdateState({\n\t\tchoiceFilterTerm: fieldValue,\n\t});\n};\n\n/**\n *\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n *\n */\nexport const componentBootstrappedEffect = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ choiceFilterTerm: '' });\n};\n\n/**\n *\n * @type {View<PopoverChoiceColumnFilterContentProps>}\n * @param {State} state\n *\n */\nconst view = (state) => {\n\tconst {\n\t\tproperties: { column, columnFilteringState },\n\t\tchoiceFilterTerm,\n\t} = state;\n\n\tconst selectAllOrNoneLabel = t('Select');\n\tconst dividerString = ' | ';\n\tconst allLabel = t('All');\n\tconst noneLabel = t('None');\n\tconst cancelLabel = t('Cancel');\n\tconst applyLabel = t('Apply');\n\tconst choiceFilterInputLabel = t('Filter choices');\n\tconst choiceFilterClearButtonLabel = t('Clear search');\n\tconst choiceFilterInputRef = createRef();\n\n\t/** @type Array<ChoiceType> */\n\tlet choices = [];\n\tconst type = getColumnType(column);\n\tconst { value } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (type === TYPE_CHOICE) {\n\t\tchoices = getChoices(column) ?? [];\n\t\tif (choices[0]?.key === '') choices = choices.slice(1);\n\t} else if (type === TYPE_PILLS) {\n\t\tchoices = getPillsChoices(column) ?? [];\n\t}\n\tconst filteredChoices = filterChoicesByTerm(choices, choiceFilterTerm);\n\n\tconst emptyChoiceItem = {\n\t\tkey: 'EMPTY',\n\t\tlabel: t('(empty)'),\n\t};\n\n\t// empty will get added on every rerender without this check\n\tif (choices[0].key !== emptyChoiceItem.key) {\n\t\tchoices.unshift(emptyChoiceItem);\n\t}\n\n\tconst shouldDisableApplyButton = isEqual(\n\t\tgetColumnFilterValue(column),\n\t\tvalue\n\t);\n\n\treturn (\n\t\t<div className=\"popover-choice-column-filter-content-container\">\n\t\t\t<div className=\"choice-filter-popover-header\">\n\t\t\t\t{choices.length >= MIN_CHOICES_FOR_CHOICE_FILTERING ? (\n\t\t\t\t\t<div className=\"choice-filter-popover-header-content\">\n\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': choiceFilterInputLabel,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={choiceFilterInputLabel}\n\t\t\t\t\t\t\tvalue={choiceFilterTerm}\n\t\t\t\t\t\t\tref={choiceFilterInputRef}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div slot=\"start\">\n\t\t\t\t\t\t\t\t<now-icon icon=\"magnifying-glass-outline\"><\/now-icon>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t{choiceFilterTerm.length > 0 ? (\n\t\t\t\t\t\t\t\t<div slot=\"end\">\n\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\t\t\t\t\t\tchoiceFilterClearButtonLabel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': choiceFilterClearButtonLabel,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t\t\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\t\t\t\ttypeOfAction: COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM,\n\t\t\t\t\t\t\t\t\t\t\tchoiceFilterInputRef:\n\t\t\t\t\t\t\t\t\t\t\t\tchoiceFilterInputRef.current,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<\/now-input>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"choice-filter-popover-header-content choice-filter-popover-header-select-all-none\">\n\t\t\t\t\t{selectAllOrNoneLabel}\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\tchoices: filteredChoices,\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tchoiceFilterTerm,\n\t\t\t\t\t\t\tname: COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={allLabel}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdata-testId={'All'}\n\t\t\t\t\t/>\n\t\t\t\t\t{dividerString}\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\tchoices: filteredChoices,\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tchoiceFilterTerm,\n\t\t\t\t\t\t\tname: COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={noneLabel}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdata-testId={'None'}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"choice-filter-popover-body\">\n\t\t\t\t{filteredChoices.map((choice) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\tchoices,\n\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={choice.label}\n\t\t\t\t\t\t\tname={choice.key}\n\t\t\t\t\t\t\tchecked={includes(value, choice.key)}\n\t\t\t\t\t\t\tmanageChecked={true}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t// without this, the checkbox will inconsistently be in an invalid state. For our needs, the checkbox should never be invalid\n\t\t\t\t\t\t\tmanageInvalid={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t\t<div className=\"choice-filter-popover-footer\">\n\t\t\t\t<now-button\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={cancelLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tdata-testId={'Cancel'}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={applyLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdata-testId={'Apply'}\n\t\t\t\t\tdisabled={shouldDisableApplyButton}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('now-list-choice-column-filter-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcolumn: {},\n\t\tcolumnFilteringState: {},\n\t},\n\tinitialState: {\n\t\tchoiceFilterTerm: '',\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleChoiceFilterInputClear,\n\t\t},\n\t\t[NOW_INPUT_INPUT]: {\n\t\t\teffect: handleChoiceFilterInputInput,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n});\n","import isEmpty from 'lodash/isEmpty';\n\nimport '@servicenow/now-popover';\nimport './popoverCellEditContent/popoverCellEditorContent';\nimport './popoverTextContent/popoverTextContent';\nimport './popoverListContent/popoverListContent';\nimport './popoverCustomContent/popoverCustomContent';\nimport './popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent';\nimport { CELL_EDIT_POPOVER_TYPE } from '../../../behaviors/cellEditingBehavior/constants';\nimport { CHOICE_COLUMN_FILTER } from '../../../behaviors/popoverBehavior/constants';\nimport popoverSelectors from '../../utils/selectors/popoverSelectors';\n\n/**\n * @param {PopoverDefinition} popoverDefinition\n * @param {TableMetadata} tableMetadata\n * @param {Context | undefined} context\n * @param {string} dir\n * @param {ColumnFilteringState} [columnFilteringState]\n * @returns\n */\nconst getPopoverContentView = (\n\tpopoverDefinition,\n\ttableMetadata,\n\tcontext,\n\tdir,\n\tcolumnFilteringState\n) => {\n\tif (\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) ===\n\t\tCHOICE_COLUMN_FILTER\n\t) {\n\t\treturn (\n\t\t\t<now-list-choice-column-filter-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tcolumn={context?.column}\n\t\t\t\tcolumnFilteringState={columnFilteringState}\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t} else if (\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) ===\n\t\tCELL_EDIT_POPOVER_TYPE\n\t) {\n\t\treturn (\n\t\t\t<now-list-cell-editor-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t} else if (popoverSelectors.isTextContent(popoverDefinition)) {\n\t\treturn (\n\t\t\t<now-list-popover-text-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t} else if (popoverSelectors.isActionListContent(popoverDefinition)) {\n\t\treturn (\n\t\t\t<now-list-popover-list-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tactionsContext={context}\n\t\t\t/>\n\t\t);\n\t} else if (\n\t\tpopoverSelectors.isCustomContent(popoverDefinition) &&\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) !=\n\t\t\tCELL_EDIT_POPOVER_TYPE\n\t) {\n\t\t// remove and condition when popoverType 'custom' is added in all the popover definitions\n\t\treturn (\n\t\t\t<now-list-popover-custom-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\ttableMetadata={tableMetadata}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/**\n * This is the render function for popover. It will render a now popover with the\n * appropriate content\n * @param {Object} props\n * @param {PopoverState} props.popoverState\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} [props.columnFilteringState]\n * @param {string} dir\n */\nexport const popover = (props, dir) => {\n\tconst {\n\t\tpopoverState: {\n\t\t\tpopoverOpen,\n\t\t\tpopoverTarget,\n\t\t\tpopoverDefinition,\n\t\t\tcontext,\n\t\t} = {},\n\t\ttableMetadata,\n\t\tcolumnFilteringState,\n\t} = props;\n\n\tif (!popoverDefinition || isEmpty(popoverDefinition) || !popoverOpen) {\n\t\treturn null;\n\t}\n\n\tconst popoverContent = getPopoverContentView(\n\t\tpopoverDefinition,\n\t\ttableMetadata,\n\t\tcontext,\n\t\tdir,\n\t\tcolumnFilteringState\n\t);\n\n\tif (!popoverContent) return null;\n\n\treturn (\n\t\t<now-popover\n\t\t\thide-tail={popoverSelectors.getHideTail(popoverDefinition)}\n\t\t\tinteraction-type={popoverSelectors.getInteractionType(\n\t\t\t\tpopoverDefinition\n\t\t\t)}\n\t\t\tmanage-opened\n\t\t\topened={true}\n\t\t\thook-insert={() => {\n\t\t\t\tpopoverTarget?.classList.add('active-popover-trigger');\n\t\t\t}}\n\t\t\thook-destroy={() => {\n\t\t\t\tpopoverTarget?.classList.remove('active-popover-trigger');\n\t\t\t}}\n\t\t\tpositionTarget={popoverTarget}\n\t\t\tpositions={popoverSelectors.getPositions(popoverDefinition)}\n\t\t\tappendToPayload={{ from: 'now-list' }}\n\t\t\tconfigAria={{\n\t\t\t\tpanel: {\n\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t}}\n\t\t>\n\t\t\t{popoverContent}\n\t\t<\/now-popover>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_14_index_jsdbx_b9b476ed__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tSN_LIST_GALLERY_CARD_CLICKED,\n\tSN_LIST_GALLERY_CARD_SELECTED_SET,\n\tSN_LIST_GALLERY_HEADER_ACTION_CLICKED,\n} from '../../constants/actionConstants';\nconst { getRows, getAllRowKeys } = rowSelectors;\n/**\n * This function is responsible for handling the card click event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleCardClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { cardItem: row },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_CARD_CLICKED, { context: { row } });\n};\n\n/**\n * This function is responsible for handling the card selection event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleCardSelection = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { rowKey, rowIndex, checked, enableOnlySingleSelection },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tconst allCardKeys = getAllRowKeys(getRows(rowDefinitions));\n\n\tdispatch(SN_LIST_GALLERY_CARD_SELECTED_SET, {\n\t\tshiftKey: false,\n\t\tallRowKeys: allCardKeys,\n\t\trowKey,\n\t\tchecked,\n\t\trowIndex,\n\t\tenableOnlySingleSelection,\n\t});\n};\n\n/**\n * This function is responsible for handling the card selection event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleHeaderActionClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\taction: {\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\taction,\n\t\t\t\t\tpayload: { cardIndex, groupIndex },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tcards,\n\t\t\tgroupingState: { isGroupedData },\n\t\t},\n\t} = coeffects;\n\n\tconst targetCard = isGroupedData\n\t\t? cards?.[groupIndex]?.children?.[cardIndex] ?? null\n\t\t: cards?.[cardIndex] ?? null;\n\n\tif (!targetCard) return;\n\n\tconst payload = {\n\t\tactionItem: { id, label, action },\n\t\tcontext: {\n\t\t\tgroupIndex: groupIndex,\n\t\t\trow: targetCard || {},\n\t\t\trows: [targetCard],\n\t\t\trowIndex: cardIndex,\n\t\t\ttypeOfAction: 'rowAction',\n\t\t},\n\t};\n\n\tif (action) {\n\t\tdispatch(action, payload);\n\t}\n\n\tdispatch(SN_LIST_GALLERY_HEADER_ACTION_CLICKED, payload);\n};\n\nconst galleryCardInteractionBehavior = {\n\tname: 'galleryCardInteractionBehavior',\n\n\tactionHandlers: {\n\t\t'NOW_CARD#CLICKED': {\n\t\t\teffect: handleCardClicked,\n\t\t\tstopPropagation: false,\n\t\t},\n\t\t'NOW_CARD#SELECTED_SET': {\n\t\t\teffect: handleCardSelection,\n\t\t\tstopPropagation: false,\n\t\t},\n\t\t'NOW_CARD_HEADER#ACTION_CLICKED': {\n\t\t\teffect: handleHeaderActionClicked,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n\nexport default galleryCardInteractionBehavior;\n","import { t } from 'sn-translate';\n\nexport const SN_LIST_GALLERY_VIEW = 'sn-list-gallery';\n\nexport const CLASSNAMES = {\n\tSN_LIST_GALLERY: 'gallery',\n\tSN_LIST_GALLERY_CONTAINER: 'gallery-card-container',\n\tSN_LIST_GALLERY_GROUPED: 'gallery-grouped',\n\tSN_LIST_GALLERY_BODY: 'gallery-card-body',\n\tSN_LIST_GALLERY_BODY_TEXT: 'gallery-card-body-text',\n\tSN_LIST_GALLERY_BODY_FIELDS: 'gallery-card-body-fields',\n\tSN_LIST_GALLERY_FIELD: 'gallery-card-field',\n\tSN_LIST_GALLERY_FIELD_VALUE: 'gallery-card-field-value',\n\tSN_LIST_GALLERY_FIELD_LABEL: 'gallery-card-field-label',\n\tSN_LIST_GALLERY_HEADER_FIELD: 'gallery-card-header-label',\n\tSN_LIST_GALLERY_GROUPED_VIEW: 'gallery-card-grouped-view',\n\tSN_LIST_GALLERY_CARD_METADATA: 'gallery-card-metadata',\n\tSN_LIST_GALLERY_CARD_HIGHLIGHTED_VALUE:\n\t\t'gallery-card-metadata-highlighted-value',\n\tSN_LIST_GALLERY_CARD_DEFAULT_ACTIONS: 'gallery-card-default-actions',\n\tSN_LIST_GALLERY_CARD_EXPAND_ALL_BUTTON: 'gallery-card-expand-all-button',\n\tSN_LIST_GALLERY_NOW_ACCORDION: 'gallery-card-now-accordion',\n};\n\n// Other constants\nexport const CARD_ACTION_ICON_VARIANT = 'tertiary';\nexport const CARD_ACTION_ICON_SIZE_SMALL = 'sm';\nexport const CARD_ACTION_ICON_SIZE_MEDIUM = 'md';\nexport const NOW_BARE_BUTTON_TERTIARY = 'tertiary';\n\nexport const CARD_DROPDOWN_ID = 'custom-card-actions';\nexport const CARD_DROPDOWN_ICON = 'ellipsis-v-outline';\n\nexport const CARD_METADATA_SLOT = 'metadata';\n\nexport const CARD_SIDEBAR_VARIANT = 'primary';\nexport const CARD_SIDEBAR_COLOR = 'gray';\n\nexport const ROW_TYPE_GROUPED = 'grouped';\nexport const NUM_ROW_ACTIONS_THRESHOLD = 2;\n\n// Expand all groups button labels\nexport const GROUPED_EXPAND_ALL_GROUPS = t('Expand all groups');\nexport const GROUPED_COLLAPSE_ALL_GROUPS = t('Collapse all groups');\n\nexport const SCROLL_TO_TOP_LABEL = t('Scroll to top of list');\n\nexport const SN_LIST_GALLERY_CARD_INTERACTIONS = {\n\tNONE: 'none',\n\tCLICK: 'click',\n\tSELECT: 'select',\n};\n","import {\n\tCLASSNAMES,\n\tNUM_ROW_ACTIONS_THRESHOLD,\n} from '../views/layoutConstants';\n\n/**\n * Splits the actions array into dropdowns and actions\n * @param {RowActions} actions - The array of actions.\n * @returns {{ defaultActions: RowActionItem[], dropdownActions: RowActionItem[] }} An object containing the dropdowns and actions arrays.\n * @param {ContextProps} context - The number of action icons to display.\n */\nexport const splitActions = ({ actionsItems, numActionIcons = 2 }, context) => {\n\tif (!actionsItems) {\n\t\treturn {\n\t\t\tdefaultActions: [],\n\t\t\tdropdownActions: [],\n\t\t};\n\t}\n\n\tconst { cardIndex, groupIndex, isMobile } = context;\n\n\tif (isMobile) {\n\t\tnumActionIcons = 0; // Num actions set to 0 for mobile\n\t}\n\n\tconst actionsItemsWithPayload = actionsItems.map((action) => {\n\t\treturn {\n\t\t\t...action,\n\t\t\tpayload: {\n\t\t\t\tcardIndex,\n\t\t\t\tgroupIndex,\n\t\t\t},\n\t\t};\n\t});\n\t// Restrict numActionIcons to 0, 1, or 2; default to 2 if invalid\n\tnumActionIcons =\n\t\tnumActionIcons <= NUM_ROW_ACTIONS_THRESHOLD\n\t\t\t? numActionIcons\n\t\t\t: NUM_ROW_ACTIONS_THRESHOLD;\n\n\t// If actions are more than 3, split them based on numActionIcons\n\tconst defaultActions = actionsItemsWithPayload.slice(0, numActionIcons);\n\tconst dropdownActions = actionsItemsWithPayload.slice(numActionIcons);\n\treturn {\n\t\tdefaultActions,\n\t\tdropdownActions,\n\t};\n};\n\n/**\n * This function returns the card field value by mapping the cell and columns from the field definitions.\n * It also adds the card properties to the field data.\n *\n * @param {GalleryConfig | undefined} galleryConfig - Configuration mapping card fields to column keys.\n * @param {Row} cardItem - Object containing cell data for the row.\n * @param {Record<string, ColumnType>} columnMapping - Mapping of column keys to column definitions.\n * @param {CardProperties} cardProperties - Properties related to the card, such as highlighted content and clickable text.\n * @returns {Record<string, any>} - Processed field data for the card.\n */\nexport function getCardFieldValue(\n\tgalleryConfig,\n\tcardItem,\n\tcolumnMapping,\n\tcardProperties\n) {\n\tconst {\n\t\thighlightedContent = [],\n\t\tclickableTextEnabled,\n\t\tfetchedComponents,\n\t} = cardProperties;\n\tconst { cells = {}, key } = cardItem;\n\t// Destructure options and fields from galleryConfig, with default values\n\tconst { options = {}, fields = {} } = galleryConfig || {};\n\n\t// Common properties to be added to each field\n\tconst commonProps = {\n\t\thighlightedContent,\n\t\tclickableTextEnabled,\n\t\tfetchedComponents,\n\t};\n\n\t// Determine whether to override the label visibility\n\tconst { showLabel = true } = options;\n\tconst overrideLabel =\n\t\t!showLabel && showLabel !== undefined ? { showLabel: false } : {};\n\n\t// This function processes the galleryConfig and returns the processed data for the card fields\n\tconst data = Object.entries(fields).reduce(\n\t\t/**\n\t\t * // TODO: Create a new type Currently  using any because we are using ProcessedColumn type for columnData and it doesn't apply for cards\n\t\t * @param {Record<string, any>} fieldData - Accumulated field data..\n\t\t */\n\t\t(fieldData, [fieldKey, columnData]) => {\n\t\t\t// Handle supplementary fields (array of fields)\n\t\t\tif (fieldKey === 'supplementaryFields') {\n\t\t\t\t// @ts-ignore\n\t\t\t\tfieldData[fieldKey] = (fields['supplementaryFields'] || []).map(\n\t\t\t\t\t/**\n\t\t\t\t\t * @param {{ column: string | number; options: any }} field - Supplementary field definition.\n\t\t\t\t\t * @returns {any} - Processed field data.\n\t\t\t\t\t */\n\t\t\t\t\t(field) => ({\n\t\t\t\t\t\trowKey: key,\n\t\t\t\t\t\tcell: cells[field.column],\n\t\t\t\t\t\tcolumn: columnMapping[field.column],\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t...field.options,\n\t\t\t\t\t\t\t...overrideLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\tfieldKey,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Handle regular fields\n\t\t\t\tfieldData[fieldKey] = {\n\t\t\t\t\trowKey: key,\n\t\t\t\t\tcell: cells[columnData.column],\n\t\t\t\t\tcolumn: columnMapping[columnData.column],\n\t\t\t\t\toptions: {\n\t\t\t\t\t\t...columnData.options,\n\t\t\t\t\t\t...overrideLabel,\n\t\t\t\t\t\tfieldKey,\n\t\t\t\t\t},\n\t\t\t\t\t...commonProps,\n\t\t\t\t\tfieldKey,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn fieldData; // Field Data for the cards with all the special and supplementary fields.\n\t\t},\n\t\t/** @type {Record<string, any>} */ ({})\n\t);\n\n\t// Add global options to the resulting data\n\tdata.options = options;\n\n\treturn data;\n}\n\n/**\n * @param {Now.HostHTMLElement} host\n */\nexport function getGalleryColumnCount(host) {\n\tconst container = host?.shadowRoot?.querySelector(\n\t\t`.${CLASSNAMES.SN_LIST_GALLERY_CONTAINER}`\n\t);\n\tif (!container || !container.children.length) return 0;\n\tconst containerWidth = container.clientWidth;\n\tconst cardWidth = container.children[0]?.clientWidth || containerWidth;\n\treturn Math.floor(containerWidth / cardWidth);\n}\n\n/**\n * Utility to check if default view should be used.\n *\n * @param {GalleryConfig | undefined} config - The user config object.\n * @returns {boolean} - Returns true if fields are missing or empty.\n */\nexport function shouldUseDefaultView(config) {\n\tif (!config) return true;\n\n\tconst fields = config?.fields;\n\n\t// Check if fields object doesn't exist or has no meaningful keys\n\treturn !fields || Object.keys(fields).length === 0;\n}\n","/**\n * Generates a default gallery configuration object.\n * TODO: Move this to column selectors.\n * @param {ColumnType[]} columns - Array of column objects. The first column is assigned to heading, the rest go to supplementary fields.\n * @param {GalleryOptions | undefined} options\n * @returns {GalleryConfig} - Default gallery configuration object.\n */\n\nexport function getGalleryConfig(columns, options) {\n\tconst [headingColumn, ...supplementaryColumns] = columns;\n\n\treturn {\n\t\tfields: {\n\t\t\theading: {\n\t\t\t\tcolumn: headingColumn.key,\n\t\t\t},\n\t\t\ttagline: { column: '' },\n\t\t\tmetadata: { column: '' },\n\t\t\tbodyText: { column: '' },\n\t\t\tsupplementaryFields: supplementaryColumns\n\t\t\t\t.slice(0, 6)\n\t\t\t\t.map(({ key }) => ({\n\t\t\t\t\tcolumn: key,\n\t\t\t\t})),\n\t\t},\n\t\toptions: options || {},\n\t};\n}\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport { shouldUseDefaultView } from '../../utils/galleryCardUtils';\nimport { getGalleryConfig } from '../../utils/galleryDefaultConfig';\n\n/**\n * Process the gallery data and update the initial state.\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst processGalleryData = (coeffects) => {\n\tconst { updateState, properties } = coeffects;\n\tconst {\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\tsharedContext,\n\t\t...restGalleryProperties\n\t} = properties;\n\n\tconst { rowGroupingState, fetchedComponents, dir } = sharedContext;\n\n\tconst { rows, ...restRowDefinitionProps } = rowDefinitions;\n\n\tconst fieldMappings = Object.fromEntries(\n\t\tcolumnDefinitions.columns.map((col) => [col.key, col])\n\t);\n\n\t// Check if the data is grouped or not.\n\tconst isGroupedData = rowSelectors.hasGroupedRows(rowDefinitions);\n\n\tconst { galleryConfig } = columnDefinitions;\n\n\t// Create the gallery state onload.\n\tconst galleryState = {\n\t\tcards: rows,\n\t\tcardProperties: {\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\t...restRowDefinitionProps,\n\t\t\t...restGalleryProperties,\n\t\t},\n\t\tfieldDefinitions: {\n\t\t\t...columnDefinitions,\n\t\t\tgalleryConfig: shouldUseDefaultView(galleryConfig)\n\t\t\t\t? getGalleryConfig(\n\t\t\t\t\t\tcolumnDefinitions.columns,\n\t\t\t\t\t\tgalleryConfig?.options\n\t\t\t\t  )\n\t\t\t\t: galleryConfig,\n\t\t\tfieldMappings,\n\t\t},\n\t\tgroupingState: {\n\t\t\t...rowGroupingState,\n\t\t\tisGroupedData,\n\t\t},\n\t};\n\n\tupdateState(galleryState);\n};\n\nconst galleryDataBehavior = {\n\tname: 'galleryDataBehavior',\n\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: processGalleryData,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: processGalleryData,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryDataBehavior;\n","export const NOW_DROPDOWN_CUSTOM_TARGET_CLICKED =\n\t'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED';\nexport const SN_LIST_GALLERY_GROUP_EXPANDED = 'SN_LIST_GALLERY#GROUP_EXPANDED';\nexport const NOW_ACCORDION_ITEM_EXPANDED_SET =\n\t'NOW_ACCORDION_ITEM#EXPANDED_SET';\nexport const SN_LIST_GALLERY_GROUPS_EXPANDED =\n\t'SN_LIST_GALLERY#GROUPS_EXPANDED';\n","import { GROUP_ACTION_CLICKED } from '../../../resources/constants';\nimport { SN_LIST_GALLERY_GROUPS_EXPANDED } from '../../../shared/behaviors/actionConstants';\nimport {\n\tSN_LIST_GALLERY_CONTEXT_ACTION_CLICKED,\n\tSN_LIST_GALLERY_EXPAND_ALL_GROUPS,\n} from '../../constants/actionConstants';\n\nimport {\n\tNOW_ACCORDION_ITEM_EXPANDED_SET,\n\tNOW_DROPDOWN_CUSTOM_TARGET_CLICKED,\n\tSN_LIST_GALLERY_GROUP_EXPANDED,\n} from './constants';\n\n/**\n * Handles the expand/collapse all groups action.\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nexport const handleExpandAllGroups = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_GROUPS_EXPANDED);\n};\n\n/**\n * Handles click events on grouped actions (e.g., buttons within a group).\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleGroupActionClicked = (coeffects) => {\n\tconst { action, dispatch } = coeffects;\n\tconst { item: actionItem, context } = action.payload;\n\n\tif (actionItem?.action) {\n\t\tdispatch(actionItem.action, { actionItem, context });\n\t}\n\n\tdispatch(SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED, {\n\t\tactionItem,\n\t\tcontext,\n\t});\n};\n\n/**\n * Handles the expand/collapse of a individual group in the gallery view.\n * @param {Coeffects<GalleryProps, State>} coeffects\n */\nconst handleGroupToggle = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { groupContext },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_GROUP_EXPANDED, {\n\t\trow: groupContext,\n\t});\n};\n\nexport const galleryGroupedBehavior = {\n\tname: 'galleryGroupedBehavior',\n\n\tactionHandlers: {\n\t\t// Handles Expands or collapse all groups in the gallery view when triggered\n\t\t[SN_LIST_GALLERY_EXPAND_ALL_GROUPS]: {\n\t\t\teffect: handleExpandAllGroups,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles click events on grouped actions (e.g., buttons within a group)\n\t\t[GROUP_ACTION_CLICKED]: {\n\t\t\teffect: handleGroupActionClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles click events on custom targets within dropdowns, linking to grouped actions\n\t\t[NOW_DROPDOWN_CUSTOM_TARGET_CLICKED]: {\n\t\t\teffect: handleGroupActionClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles Internal click events on accordion(HDS) items to expand or collapse groups\n\t\t[NOW_ACCORDION_ITEM_EXPANDED_SET]: {\n\t\t\teffect: handleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryGroupedBehavior;\n","//Keys\nexport const KEY = {\n\tKEY_ENTER: 'Enter',\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tSPACE: ' ',\n\tSPACEBAR: 'Spacebar',\n\tENTER: 'Enter',\n\tTAB: 'Tab',\n};\n// Handled keys for keyboard navigation\nexport const HANDLED_KEYS = [\n\tKEY.SPACE,\n\tKEY.SPACEBAR,\n\tKEY.TAB,\n\tKEY.LEFT,\n\tKEY.ARROW_LEFT,\n\tKEY.RIGHT,\n\tKEY.ARROW_RIGHT,\n\tKEY.ARROW_UP,\n\tKEY.ARROW_DOWN,\n];\n","//Constants for Classes\nexport const GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME = 'galleryKeyboardNavBehavior';\n\n// Behavior Actions\n\nexport const ENTER_GALLERY_ITEM_TRAP = 'ENTER_GALLERY_ITEM_TRAP';\nexport const EXIT_GALLERY_ITEM_TRAP = 'EXIT_GALLERY_ITEM_TRAP';\n\n//Constants for Tag\nexport const NOW_CARD = 'NOW-CARD';\n","import {\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n} from '@devsnc/sn-list-commons';\nimport get from 'lodash/get';\n\nimport {\n\tGALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n\tNOW_CARD,\n} from '../behaviors/galleryKeyboardNavbehavior/constants';\nimport { CLASSNAMES } from '../views/layoutConstants';\n\nexport const getFocusedCardIndex = () => {\n\tconst activeElement = findActiveElement();\n\treturn Number(activeElement.getRootNode().host.dataset.navIndex || 1);\n};\n\n/**\n * @param {Now.HostHTMLElement} host\n */\nexport const getGalleryCardContainer = (host) => {\n\treturn host?.shadowRoot?.querySelector(\n\t\t`.${CLASSNAMES.SN_LIST_GALLERY_CONTAINER}`\n\t);\n};\n\n/**\n * Gets the keyboard nav behavior state from the larger component state object\n * @param  {StateWithProps<Props, State>} state\n */\nexport const getKeyboardNavBehaviourState = (state) =>\n\tget(state, `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`, {});\n\n/**\n * @param  {Array<HTMLElement>} tabbables\n * @param {Number}indexValue\n */\nexport const setTabIndexForTabbables = (tabbables, indexValue) => {\n\tif (tabbables && tabbables.length) {\n\t\tfor (let k = 0; k < tabbables.length; k++) {\n\t\t\ttabbables[k].tabIndex = indexValue;\n\t\t}\n\t}\n};\n\n/**\n * @param {Now.HostHTMLElement} host\n * @param {Array<String>} selector\n */\nexport const getTabbableElements = (host, selector) => {\n\tconst galleryCardContainer = getGalleryCardContainer(host);\n\treturn shadowQuerySelectorAll(galleryCardContainer, selector);\n};\n\n/**\n * Walks up the DOM tree to find the closest <now-card> element,\n * including across shadow DOM boundaries.\n * @param {any} el\n * @returns {HTMLElement | null}\n */\nexport function getFocusedCardElement(el) {\n\twhile (el) {\n\t\t// Check if the current element is a <now-card> element\n\t\tif (el.tagName === NOW_CARD) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el.parentNode) {\n\t\t\tel = el.parentNode;\n\t\t} else if (el instanceof ShadowRoot) {\n\t\t\tel = el.host;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn null;\n}\n","import {\n\tfindActiveElement,\n\tactivateFocusTrap,\n\tdeactivateFocusTrap,\n\tselector,\n} from '@devsnc/sn-list-commons';\nimport { findTabbableNodes } from '@servicenow/library-enhanced-utils';\nimport get from 'lodash/get';\n\nimport { HANDLED_KEYS, KEY } from '../../../shared/KeyboardContants';\nimport { getGalleryColumnCount } from '../../utils/galleryCardUtils';\nimport {\n\tgetFocusedCardElement,\n\tgetFocusedCardIndex,\n\tgetKeyboardNavBehaviourState,\n\tgetTabbableElements,\n\tsetTabIndexForTabbables,\n} from '../../utils/gallerykeyboardNavigationUtils';\n\nimport {\n\tENTER_GALLERY_ITEM_TRAP,\n\tEXIT_GALLERY_ITEM_TRAP,\n\tGALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n} from './constants';\n\n/**\n * @param {String} key\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleKeyDown = (key, coeffects) => {\n\tconst { host, state, action, dispatch } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\tconst { cards } = state;\n\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\tconst columnCount = getGalleryColumnCount(host) || 0;\n\tconst currentFocusedCardIndex = Number(getFocusedCardIndex());\n\tconst props = {\n\t\tcurrentFocusedCardIndex,\n\t\tcolumnCount,\n\t\ttotalCards: cards.length,\n\t\thost,\n\t\ttrappedCard,\n\t\tdispatch,\n\t\tevent,\n\t};\n\tconst {\n\t\tmoveUp,\n\t\tmoveDown,\n\t\tmoveLeft,\n\t\tmoveRight,\n\t\tdisableTabbingInGalleryContainer,\n\t} = galleryKeyboardNavigator(props);\n\n\tconst isRTL = document.dir === 'rtl';\n\tswitch (key) {\n\t\tcase KEY.SPACE:\n\t\tcase KEY.SPACEBAR:\n\t\t\tif (event.shiftKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdispatch(ENTER_GALLERY_ITEM_TRAP);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.TAB:\n\t\t\tdisableTabbingInGalleryContainer();\n\t\t\tbreak;\n\t\tcase KEY.LEFT:\n\t\tcase KEY.ARROW_LEFT:\n\t\t\tisRTL ? moveRight() : moveLeft();\n\t\t\tbreak;\n\n\t\tcase KEY.RIGHT:\n\t\tcase KEY.ARROW_RIGHT:\n\t\t\tisRTL ? moveLeft() : moveRight();\n\t\t\tbreak;\n\n\t\tcase KEY.ARROW_UP:\n\t\t\tmoveUp();\n\t\t\tbreak;\n\n\t\tcase KEY.ARROW_DOWN:\n\t\t\tmoveDown();\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * @param {Object}props\n * @param {Number} props.currentFocusedCardIndex\n * @param {Number} props.columnCount\n * @param {Number} props.totalCards\n * @param {Now.HostHTMLElement} props.host\n * @param {HTMLElement} props.trappedCard\n * @param {Now.Dispatch} props.dispatch\n * @param {*} props.event\n */\nconst galleryKeyboardNavigator = (props) => {\n\tconst {\n\t\tcurrentFocusedCardIndex,\n\t\tcolumnCount,\n\t\ttotalCards,\n\t\thost,\n\t\ttrappedCard,\n\t\tdispatch,\n\t\tevent,\n\t} = props;\n\tconst dispatchExitCardTrap = () => {\n\t\tif (trappedCard) {\n\t\t\tdispatch(EXIT_GALLERY_ITEM_TRAP, { shouldFocus: true });\n\t\t}\n\t};\n\n\tconst moveUp = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex - columnCount >= 0) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex - columnCount;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveRight = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex < totalCards) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex + 1;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveLeft = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex > 0) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex - 1;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveDown = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex + columnCount < totalCards + 1) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex + columnCount;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\tconst disableTabbingInGalleryContainer = () => {\n\t\tif (!trappedCard) {\n\t\t\tconst currentActiveElement = findActiveElement();\n\t\t\tevent.stopPropagation();\n\t\t\tconst tabbables = getTabbableElements(host, selector);\n\t\t\tsetTabIndexForTabbables(tabbables, -1);\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.tabIndex = 0;\n\t\t\t}\n\t\t}\n\t};\n\treturn {\n\t\tmoveUp,\n\t\tmoveRight,\n\t\tmoveLeft,\n\t\tmoveDown,\n\t\tdisableTabbingInGalleryContainer,\n\t};\n};\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleFocusInEffect = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\tevent.stopPropagation();\n\tconst tabbables = getTabbableElements(host, selector);\n\tsetTabIndexForTabbables(tabbables, 0);\n};\n\n/**\n *  Sets focus to that card for the given index\n *\n * @param {Now.HostHTMLElement} host\n * @param {number} cardIndex\n */\nconst focusCardByIndex = (host, cardIndex) => {\n\tconst cardToFocus = host.shadowRoot?.querySelector(\n\t\t`[data-nav-index=\"${cardIndex}\"]`\n\t);\n\tif (cardToFocus instanceof HTMLElement) {\n\t\tcardToFocus.focus();\n\t}\n};\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\n\nexport const keydownHandlerEffect = (coeffects) => {\n\tconst { action } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\n\tif (HANDLED_KEYS.includes(event.key)) {\n\t\thandleKeyDown(event.key, coeffects);\n\t}\n};\n\n/**\n * Traps focus to within currently selected cell\n * And applies focus to the specified element\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const enterCardTrapEffect = (coeffects) => {\n\tconst { state, updateState, dispatch } = coeffects;\n\tconst currentActiveElement = findActiveElement();\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\n\tif (!currentActiveElement) return;\n\tif (trappedCard) {\n\t\tdispatch(EXIT_GALLERY_ITEM_TRAP);\n\t}\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\n\tconst tabbableNodes = findTabbableNodes(\n\t\tgetFocusedCardElement(currentActiveElement)\n\t).filter((/** @type {HTMLElement} */ el) => !el.hasAttribute('disabled'));\n\n\ttabbableNodes.forEach((node) => {\n\t\tnode.tabIndex = 0;\n\t});\n\n\tactivateFocusTrap('card', currentActiveElement, {\n\t\tmoveFocusInsideTrap: true,\n\t\tfirstElement: tabbableNodes[1],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tconst nodeToFocus = tabbableNodes[1];\n\n\tnodeToFocus.focus();\n\tupdateState({\n\t\tpath: `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`,\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\ttrappedCard: getFocusedCardElement(currentActiveElement),\n\t\t},\n\t\tshouldRender: false,\n\t});\n};\n/**\n * Removes focus from within the cell and returns it to the table cell\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const exitCardTrapEffect = (coeffects) => {\n\tconst { state, updateState, action } = coeffects;\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\tif (!trappedCard) return;\n\n\tconst {\n\t\tpayload: { shouldFocus = true },\n\t} = action;\n\tdeactivateFocusTrap('card');\n\n\tif (shouldFocus) trappedCard.focus();\n\n\tupdateState({\n\t\tpath: `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`,\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\ttrappedCard: undefined,\n\t\t},\n\t\tshouldRender: false,\n\t});\n};\nexport const galleryKeyboardNavBehavior = {\n\tname: GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n\tinitialState: {\n\t\ttrappedCard: undefined,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keydownHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['focusin'],\n\t\t\teffect: handleFocusInEffect,\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[ENTER_GALLERY_ITEM_TRAP]: {\n\t\t\teffect: enterCardTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[EXIT_GALLERY_ITEM_TRAP]: {\n\t\t\teffect: exitCardTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryKeyboardNavBehavior;\n","export const SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'SN_LIST_GALLERY#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const VIRTUAL_PAGE_SIZE = 24;\nexport const INITIAL_VIRTUAL_PAGES = 10;\nexport const VIRTUALIZED_GALLERY_BEHAVIOR = 'virtualizedGalleryBehavior';\nexport const LOAD_NEXT_VIRTUAL_PAGE = 'LOAD_NEXT_VIRTUAL_PAGE';\nexport const LOAD_VIRTUAL_PAGE = 'LOAD_VIRTUAL_PAGE';\nexport const LOAD_CURRENT_VIRTUAL_PAGE = 'LOAD_CURRENT_VIRTUAL_PAGE';\nexport const OBSERVE_VIRTUAL_PAGE = 'OBSERVE_VIRTUAL_PAGE';\nexport const VIRTUAL_PAGE_RESIZED = 'VIRTUAL_PAGE_RESIZED';\nexport const OBSERVE_VIRTUAL_PAGE_FOR_RESIZE =\n\t'OBSERVE_VIRTUAL_PAGE_FOR_RESIZE';\nexport const INITIALIZE_BOTTOM_OBSERVER = 'INITIALIZE_BOTTOM_OBSERVER';\nexport const INITIALIZE_FIRST_PAGE_OBSERVER = 'INITIALIZE_FIRST_PAGE_OBSERVER';\nexport const SCROLL_TO_TOP = 'SCROLL_TO_TOP';\nexport const VIRTUAL_PAGE_ID_ATTRIBUTE = 'data-pageid';\nexport const CARD_SELECTOR = 'now-card';\nexport const GALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR =\n\t'#gallery-virtualized-scroll-element';\nexport const SET_SCROLL_TO_TOP_BUTTON_VISIBILITY =\n\t'SET_SCROLL_TO_TOP_BUTTON_VISIBILITY';\nexport const INITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE = {\n\tvirtualPageStore: {},\n\tvisibleVirtualPages: [],\n\tvirtualPageDimensions: {},\n\tcardDimensions: {},\n\tisLoadingNextPages: false,\n\tobservedVirtualPageIdForResize: 0,\n\tcurrentViewedPageId: 0,\n\tcustomRow: null,\n\tshowScrollToTopButton: false,\n};\n","import {\n\tLOAD_NEXT_VIRTUAL_PAGE,\n\tLOAD_VIRTUAL_PAGE,\n\tVIRTUAL_PAGE_RESIZED,\n\tVIRTUAL_PAGE_ID_ATTRIBUTE,\n\tSET_SCROLL_TO_TOP_BUTTON_VISIBILITY,\n} from './constants';\n\nexport class VirtualizedGalleryObserver {\n\t/**\n\t * @type {Element | null}\n\t */\n\tobservedVirtualPageForResize = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tfirstPageObserverRef = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tbottomObserverRef = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tvirtualPagesObserverRef = null;\n\t/**\n\t * @type {ResizeObserver | null}\n\t */\n\tresizeObserverRef = null;\n\t/**\n\t * @type {{ [key: number]: Element }}\n\t */\n\tobservedPages = {};\n\t/**\n\t * @type {Map<String, VirtualizedGalleryObserver>}\n\t */\n\tstatic observerMap = new Map();\n\n\t/**\n\t * Deletes the observer associated to the nowId.\n\t * @param {string} nowId\n\t */\n\tstatic destroyObserver(nowId) {\n\t\tconst observer = this.observerMap.get(nowId);\n\t\tif (observer) {\n\t\t\tobserver.destroy();\n\t\t}\n\t\tthis.observerMap.delete(nowId);\n\t}\n\n\t/**\n\t * @param {string} nowId\n\t */\n\tstatic createObserver(nowId) {\n\t\tconst observer = new VirtualizedGalleryObserver();\n\t\tthis.observerMap.set(nowId, observer);\n\t\treturn observer;\n\t}\n\n\t/**\n\t * @param {string} nowId\n\t */\n\tstatic getObserver(nowId) {\n\t\treturn this.observerMap.get(nowId);\n\t}\n\n\tconstructor() {\n\t\tthis.initialize();\n\t}\n\n\tinitialize() {\n\t\tthis.bottomObserverRef = null;\n\t\tthis.virtualPagesObserverRef = null;\n\t\tthis.observedPages = {};\n\t\tthis.observedVirtualPageForResize = null;\n\t\tthis.resizeObserverRef = null;\n\t}\n\n\t/**\n\t * function allows for fn() to be called after the browser has completed style and layout\n\t * @param {function }fn\n\t */\n\texecuteAfterBrowserStyleAndLayout(fn) {\n\t\trequestAnimationFrame(() => {\n\t\t\tfn();\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches load virtual page action with the pageId of the latest virtual page that came into visibility.\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeVirtualPagesIntersectionObserver(dispatch) {\n\t\tthis.virtualPagesObserverRef = new IntersectionObserver((\n\t\t\t/** @type {IntersectionObserverEntry[]} */ virtualPageEntries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\t// Sort entries by time page intersection recorded\n\t\t\t\tvirtualPageEntries.sort((entry1, entry2) =>\n\t\t\t\t\tentry1.time < entry2.time ? -1 : 1\n\t\t\t\t);\n\t\t\t\twhile (\n\t\t\t\t\tvirtualPageEntries.length &&\n\t\t\t\t\t!virtualPageEntries[virtualPageEntries.length - 1]\n\t\t\t\t\t\t.isIntersecting\n\t\t\t\t) {\n\t\t\t\t\tvirtualPageEntries.pop();\n\t\t\t\t}\n\t\t\t\tconst entry = virtualPageEntries.length\n\t\t\t\t\t? virtualPageEntries.pop()\n\t\t\t\t\t: null;\n\t\t\t\tif (entry) {\n\t\t\t\t\tdispatch(LOAD_VIRTUAL_PAGE, {\n\t\t\t\t\t\tpageId: Number(\n\t\t\t\t\t\t\tentry.target.getAttribute(VIRTUAL_PAGE_ID_ATTRIBUTE)\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches load next virtual page action to fetch next rows when user scrolls to bottom.\n\t * @param {Element} observedBottomElm\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeBottomIntersectionObserver(observedBottomElm, dispatch) {\n\t\tif (this.bottomObserverRef || !observedBottomElm) return;\n\t\tthis.bottomObserverRef = new IntersectionObserver((\n\t\t\t/** @type {Array<IntersectionObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tconst entry = entries[0];\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tdispatch(LOAD_NEXT_VIRTUAL_PAGE);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.bottomObserverRef.observe(observedBottomElm);\n\t}\n\n\t/**\n\t * Dispatches resized action when the first visible virtual page gets resized.\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeResizeObserver(dispatch) {\n\t\tthis.resizeObserverRef = new ResizeObserver((\n\t\t\t/** @type {Array<ResizeObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tif (entry.target === this.observedVirtualPageForResize) {\n\t\t\t\t\t\tdispatch(VIRTUAL_PAGE_RESIZED, {\n\t\t\t\t\t\t\ttarget: entry.target,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches action to hide/show scroll to top button when first page goes on/off the viewport.\n\t * @param {Element} firstPageElm\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeFirstPageIntersectionObserver(firstPageElm, dispatch) {\n\t\tif (!firstPageElm) return;\n\n\t\tif (this.firstPageObserverRef) this.firstPageObserverRef.disconnect();\n\n\t\tthis.firstPageObserverRef = new IntersectionObserver((\n\t\t\t/** @type {Array<IntersectionObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tconst entry = entries[0];\n\t\t\t\tdispatch(SET_SCROLL_TO_TOP_BUTTON_VISIBILITY, {\n\t\t\t\t\tisVisible: !entry.isIntersecting,\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tthis.firstPageObserverRef.observe(firstPageElm);\n\t}\n\n\t/**\n\t * @param {Number} pageIndex\n\t * @param {Element | null} pageRef\n\t */\n\tobserveVirtualPage(pageIndex, pageRef) {\n\t\tif (!pageRef || this.observedPages[pageIndex] === pageRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.unobserveVirtualPage(this.observedPages[pageIndex]);\n\t\tthis.virtualPagesObserverRef?.observe(pageRef);\n\t\tthis.observedPages[pageIndex] = pageRef;\n\t}\n\n\t/**\n\t * @param {Element} pageRef\n\t */\n\tobserveVirtualPageForResize(pageRef) {\n\t\tif (\n\t\t\t!this.resizeObserverRef ||\n\t\t\t!pageRef ||\n\t\t\tthis.observedVirtualPageForResize === pageRef\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.observedVirtualPageForResize) {\n\t\t\tthis.resizeObserverRef.unobserve(this.observedVirtualPageForResize);\n\t\t}\n\n\t\tthis.observedVirtualPageForResize = pageRef;\n\t\tthis.resizeObserverRef.observe(pageRef);\n\t}\n\n\t/**\n\t * @param {Element} pageRef\n\t */\n\tunobserveVirtualPage(pageRef) {\n\t\tif (!pageRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.virtualPagesObserverRef?.unobserve(pageRef);\n\t}\n\n\tdestroy() {\n\t\tObject.values(this.observedPages).forEach((pageRef) => {\n\t\t\tthis.virtualPagesObserverRef?.unobserve(pageRef);\n\t\t});\n\t\tthis.virtualPagesObserverRef?.disconnect();\n\t\tthis.bottomObserverRef?.disconnect();\n\t\tthis.firstPageObserverRef?.disconnect();\n\t\tthis.resizeObserverRef?.disconnect();\n\t\tthis.initialize();\n\t}\n}\n","import { actionTypes } from '@servicenow/ui-core';\nimport { get } from 'lodash';\nimport isEqual from 'lodash/isEqual';\n\nimport { ROW_TYPE_CUSTOM } from '../../../typeSchemas/rowDefinitions/rowTypes/rowTypes';\n\nimport {\n\tSN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tVIRTUAL_PAGE_SIZE,\n\tINITIAL_VIRTUAL_PAGES,\n\tVIRTUALIZED_GALLERY_BEHAVIOR,\n\tLOAD_VIRTUAL_PAGE,\n\tLOAD_CURRENT_VIRTUAL_PAGE,\n\tLOAD_NEXT_VIRTUAL_PAGE,\n\tVIRTUAL_PAGE_RESIZED,\n\tOBSERVE_VIRTUAL_PAGE_FOR_RESIZE,\n\tOBSERVE_VIRTUAL_PAGE,\n\tINITIALIZE_BOTTOM_OBSERVER,\n\tCARD_SELECTOR,\n\tINITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE,\n\tSCROLL_TO_TOP,\n\tINITIALIZE_FIRST_PAGE_OBSERVER,\n\tSET_SCROLL_TO_TOP_BUTTON_VISIBILITY,\n\tGALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR,\n} from './constants';\nimport { VirtualizedGalleryObserver } from './virtualizationObserver';\n\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\n/**\n * Get behavior state from component state\n * @param {State} state\n * @returns {VirtualizedGalleryBehaviorState}\n */\nexport const getVirtualizedBehaviorState = (state) =>\n\tstate && state.behaviors\n\t\t? state.behaviors[VIRTUALIZED_GALLERY_BEHAVIOR]\n\t\t: // @ts-ignore\n\t\t  {};\n\n/**\n * @param {Array<Row>} rows\n */\nexport const prepareVirtualPageStore = (rows) => {\n\t/**\n\t * @type VirtualPageStore\n\t */\n\tconst virtualPageStore = {};\n\tlet pageId = 0;\n\tfor (let i = 0; i < rows.length; i += VIRTUAL_PAGE_SIZE) {\n\t\tvirtualPageStore[pageId] = {\n\t\t\tid: pageId,\n\t\t\trowStartIndex: i,\n\t\t\trowEndIndex: Math.min(i + VIRTUAL_PAGE_SIZE, rows.length) - 1,\n\t\t};\n\t\tpageId++;\n\t}\n\treturn virtualPageStore;\n};\n\n/**\n * prepares visible virtual pages based on current viewed pageId\n * @param {number} currentViewedPageId\n * @param {number} pagesCount\n * @param {Array<number>} visibleVirtualPages\n */\nexport const prepareNewVisiblePages = (\n\tcurrentViewedPageId,\n\tpagesCount,\n\tvisibleVirtualPages\n) => {\n\tconst length = visibleVirtualPages.length;\n\tconst offset = Math.floor(length / 2);\n\tlet newVisiblePages = [];\n\n\tif (currentViewedPageId <= offset || pagesCount < length) {\n\t\tnewVisiblePages = Array.from({ length }, (_, i) => i);\n\t} else if (currentViewedPageId >= pagesCount - offset) {\n\t\tnewVisiblePages = Array.from(\n\t\t\t{ length },\n\t\t\t(_, i) => i + pagesCount - length\n\t\t);\n\t} else {\n\t\tconst start = Math.max(0, currentViewedPageId - offset);\n\t\tnewVisiblePages = Array.from({ length }, (_, i) => start + i);\n\t}\n\n\treturn newVisiblePages;\n};\n\n/**\n * Handles loading the page corresponding to the pageId the user has scrolled to.\n * When user is on the last retrieved visible page, load next page is dispatched to fetch next set of records.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadVirtualPage = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState,\n}) => {\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tisLoadingNextPages,\n\t\tvirtualPageStore,\n\t} = getVirtualizedBehaviorState(state);\n\tconst { pageId } = action.payload;\n\tconst pageCount = Object.keys(virtualPageStore).length;\n\tconst isVirtualPageVisible = visibleVirtualPages.indexOf(pageId) > -1;\n\tconst isLastRetrievedPage = pageId === pageCount - 1;\n\n\tupdateState({\n\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.currentViewedPageId`,\n\t\tvalue: pageId,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tif (isVirtualPageVisible && isLastRetrievedPage && !isLoadingNextPages) {\n\t\tdispatch(LOAD_NEXT_VIRTUAL_PAGE);\n\t} else {\n\t\tdispatch(LOAD_CURRENT_VIRTUAL_PAGE, { pageId });\n\t}\n};\n\n/**\n * Dispatches event to load next set of records when user scrolls to the bottom.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadNextVirtualPage = async (coeffects) => {\n\tconst { state, dispatch, updateState, properties } = coeffects;\n\tconst { isLoadingNextPages } = getVirtualizedBehaviorState(state);\n\n\tif (isLoadingNextPages) return;\n\tconst {\n\t\trowDefinitions: { metadata },\n\t} = properties;\n\tconst listId = get(metadata, 'listId');\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.isLoadingNextPages`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n\tdispatch(SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED, { listId });\n};\n\n/**\n * Handles updating of visible pages depending on the pageId the user has scrolled to.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadCurrentVirtualPage = ({\n\tupdateState,\n\tstate,\n\taction,\n}) => {\n\tconst pageId = action.payload.pageId;\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tvirtualPageStore,\n\t} = getVirtualizedBehaviorState(state);\n\tconst pagesCount = Object.keys(virtualPageStore).length;\n\n\tif (!virtualPageStore[pageId]) return;\n\tconst newVisiblePages = prepareNewVisiblePages(\n\t\tpageId,\n\t\tpagesCount,\n\t\tvisibleVirtualPages\n\t);\n\n\tif (newVisiblePages.join(',') === visibleVirtualPages.join(',')) return;\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: newVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\t// Updating to observe new first visible page for resize as earlier one might get removed from the visible pages\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.observedVirtualPageIdForResize`,\n\t\t\tvalue: newVisiblePages[0],\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Creates page store from the row definitions and initializes visible pages with page IDs to be displayed in the DOM.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentBootstrapped = (coeffects) => {\n\tconst { updateState, properties, dispatch } = coeffects;\n\tconst { rowDefinitions, virtualizedScrollEnabled } = properties;\n\n\tif (!rowDefinitions || !rowDefinitions.rows || !virtualizedScrollEnabled)\n\t\treturn;\n\n\tconst rows = [...rowDefinitions.rows];\n\tlet customRow = null;\n\tif (rows.length && rows[rows.length - 1].type === ROW_TYPE_CUSTOM) {\n\t\tcustomRow = rows.pop();\n\t}\n\n\tconst virtualPageStore = prepareVirtualPageStore(rows);\n\tconst initialVisiblePages = Array.from(\n\t\t{ length: INITIAL_VIRTUAL_PAGES },\n\t\t(_, i) => i\n\t);\n\n\tlet observer = VirtualizedGalleryObserver.getObserver(coeffects.host.nowId);\n\tif (!observer) {\n\t\tobserver = VirtualizedGalleryObserver.createObserver(\n\t\t\tcoeffects.host.nowId\n\t\t);\n\t\tobserver.initializeVirtualPagesIntersectionObserver(dispatch);\n\t\tobserver.initializeResizeObserver(dispatch);\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageStore`,\n\t\t\tvalue: virtualPageStore,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: initialVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.customRow`,\n\t\t\tvalue: customRow,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Updates existing page store with newly fetched rows and visible pages based on the current viewed page by the user.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentPropertyChanged = (coeffects) => {\n\tconst { state, updateState, action, properties } = coeffects;\n\tconst { name, value, previousValue } = action.payload;\n\n\tif (\n\t\t!properties.virtualizedScrollEnabled ||\n\t\tname !== 'rowDefinitions' ||\n\t\t!value ||\n\t\t!value.rows ||\n\t\tisEqual(value, previousValue)\n\t)\n\t\treturn;\n\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tcurrentViewedPageId,\n\t} = getVirtualizedBehaviorState(state);\n\tconst rows = [...value.rows];\n\tlet customRow = null;\n\tif (rows.length && rows[rows.length - 1].type === ROW_TYPE_CUSTOM) {\n\t\tcustomRow = rows.pop();\n\t}\n\n\tconst virtualPageStore = prepareVirtualPageStore(rows);\n\tconst newVisiblePages = prepareNewVisiblePages(\n\t\tcurrentViewedPageId,\n\t\tObject.keys(virtualPageStore).length,\n\t\tvisibleVirtualPages\n\t);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageStore`,\n\t\t\tvalue: virtualPageStore,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: newVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.isLoadingNextPages`,\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.customRow`,\n\t\t\tvalue: customRow,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.observedVirtualPageIdForResize`,\n\t\t\tvalue: newVisiblePages[0],\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentDisconnected = ({ host }) => {\n\tVirtualizedGalleryObserver.destroyObserver(host.nowId);\n};\n\n/**\n * Updates page and card dimensions when the visible virtual page gets resized.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleVirtualPageResized = (coeffects) => {\n\tconst { state, action, updateState } = coeffects;\n\tconst { target } = action.payload;\n\tconst virtualPageHeight = target.clientHeight;\n\tconst virtualPageWidth = target.clientWidth;\n\tconst card = target.querySelector(CARD_SELECTOR);\n\tif (!card) return;\n\n\tconst cardHeight = card.clientHeight;\n\tconst cardWidth = card.clientWidth;\n\tconst { virtualPageDimensions } = getVirtualizedBehaviorState(state);\n\n\tif (virtualPageDimensions?.pageHeight === virtualPageHeight) return;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageDimensions`,\n\t\t\tvalue: {\n\t\t\t\tpageHeight: virtualPageHeight,\n\t\t\t\tpageWidth: virtualPageWidth,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.cardDimensions`,\n\t\t\tvalue: {\n\t\t\t\tcardHeight,\n\t\t\t\tcardWidth,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleObserveVirtualPage = (coeffects) => {\n\tconst { action, host } = coeffects;\n\tconst { pageElm, pageId } = action.payload;\n\n\tconst observer = VirtualizedGalleryObserver.getObserver(host.nowId);\n\tif (!observer) return;\n\tobserver.observeVirtualPage(pageId, pageElm);\n\tif (observer.observedVirtualPageForResize == null) {\n\t\thandleObserveVirtualPageForResize(coeffects);\n\t}\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleObserveVirtualPageForResize = (coeffects) => {\n\tconst { action, host } = coeffects;\n\tconst { pageElm } = action.payload;\n\tconst observer = VirtualizedGalleryObserver.getObserver(host.nowId);\n\tif (!observer) return;\n\tobserver.observeVirtualPageForResize(pageElm);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleInitializeBottomObserver = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\tconst observer = VirtualizedGalleryObserver.getObserver(\n\t\tcoeffects.host.nowId\n\t);\n\tif (!observer) return;\n\tobserver.initializeBottomIntersectionObserver(\n\t\taction.payload.observedBottomElm,\n\t\tdispatch\n\t);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInitializeFirstPageObserver = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\tconst observer = VirtualizedGalleryObserver.getObserver(\n\t\tcoeffects.host.nowId\n\t);\n\tif (!observer) return;\n\tobserver.initializeFirstPageIntersectionObserver(\n\t\taction.payload.pageElm,\n\t\tdispatch\n\t);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleScrollToTop = (coeffects) => {\n\tconst { host } = coeffects;\n\tconst scrollElement = host.shadowRoot?.querySelector(\n\t\tGALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR\n\t);\n\n\tif (scrollElement) {\n\t\tscrollElement.scrollIntoView({ behavior: 'smooth', block: 'end' });\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleScrollToTopButtonVisibility = ({ updateState, action }) => {\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: action.payload.isVisible,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport const virtualizedGalleryBehavior = {\n\tname: VIRTUALIZED_GALLERY_BEHAVIOR,\n\tinitialState: INITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrapped,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handleComponentPropertyChanged,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: handleComponentDisconnected,\n\t\t},\n\t\t[LOAD_NEXT_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadNextVirtualPage,\n\t\t},\n\t\t[LOAD_CURRENT_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadCurrentVirtualPage,\n\t\t},\n\t\t[LOAD_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadVirtualPage,\n\t\t},\n\t\t[OBSERVE_VIRTUAL_PAGE]: {\n\t\t\teffect: handleObserveVirtualPage,\n\t\t},\n\t\t[VIRTUAL_PAGE_RESIZED]: {\n\t\t\teffect: handleVirtualPageResized,\n\t\t},\n\t\t[OBSERVE_VIRTUAL_PAGE_FOR_RESIZE]: {\n\t\t\teffect: handleObserveVirtualPageForResize,\n\t\t},\n\t\t[INITIALIZE_FIRST_PAGE_OBSERVER]: {\n\t\t\teffect: handleInitializeFirstPageObserver,\n\t\t},\n\t\t[INITIALIZE_BOTTOM_OBSERVER]: {\n\t\t\teffect: handleInitializeBottomObserver,\n\t\t},\n\t\t[SCROLL_TO_TOP]: {\n\t\t\teffect: handleScrollToTop,\n\t\t},\n\t\t[SET_SCROLL_TO_TOP_BUTTON_VISIBILITY]: {\n\t\t\teffect: handleScrollToTopButtonVisibility,\n\t\t},\n\t},\n};\n","import { columnDefinitionsSchema } from '../typeSchemas/columnDefinitions/columnDefinitions';\nimport { rowDefinitionsSchema } from '../typeSchemas/rowDefinitions/rowDefinitions';\n\nexport const galleryViewPropsDefinition = {\n\t/**\n\t * @description Contains data and metadata to populate and render all columns in the gallery\n\t * @public\n\t * @type {object}\n\t */\n\tcolumnDefinitions: {\n\t\tschema: columnDefinitionsSchema,\n\t\trequired: true,\n\t},\n\t/**\n\t * @description Contains data and metadata to populate and render all cards in the gallery\n\t * @public\n\t * @type {object}\n\t */\n\trowDefinitions: {\n\t\tschema: rowDefinitionsSchema,\n\t},\n\t/**\n\t * @description When true, expands all groups in table\n\t * @public\n\t * @type {object}\n\t */\n\texpandAllGroups: {\n\t\tdefault: false,\n\t\ttype: 'boolean',\n\t},\n\t/**\n\t * @description Feature flag for allowing links, urls, and person type fields to have highlighted text. When false, they are rendered as text\n\t * @public\n\t * @type {object}\n\t */\n\tclickableTextEnabled: {\n\t\tdefault: false,\n\t\ttype: 'boolean',\n\t},\n\t/**\n\t * @description Contains Shared State data that is passed from the parent now-list\n\t * @public\n\t * @type {object}\n\t */\n\tsharedContext: {\n\t\tdefault: {},\n\t\ttype: 'object',\n\t},\n\t/**\n\t * @description Feature flag that enables virtualized scrolling for the list\n\t * @private\n\t * @type {object}\n\t */\n\tvirtualizedScrollEnabled: {\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description Enables card selection on all cards. When true, can be disabled on a card-by-card basis.\n\t * @public\n\t * @type {object}\n\t */\n\tselectionEnabled: {\n\t\tdefault: true,\n\t\ttype: 'boolean',\n\t},\n};\n","import { actionableMessageKey } from '../../../behaviors/actionableMessageBehavior/constants';\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tACTIONABLE_MESSAGE_BUTTON_CLASS,\n\tACTIONABLE_MESSAGE_ICON_SIZE,\n} from '../../../shared/views/actionableMessage/constants';\n\nconst { getActionableMessageIcon, getActionableMessageStatus } = rowSelectors;\n\n/**\n * @param {ActionableMessage} actionableMessage\n * @param {string} location\n */\nexport const renderActionableMessage = (actionableMessage, location) => {\n\tconst { text, action } = actionableMessage || {};\n\t// added place holder div here because if we return null and fill up with message later, snabbdom is triggering a reflow\n\tif (!actionableMessage || (action && (!action.action || !action.label))) {\n\t\treturn <div className=\"actionable-message-place-holder\"><\/div>;\n\t}\n\tconst status = getActionableMessageStatus(actionableMessage);\n\tconst icon = getActionableMessageIcon(actionableMessage);\n\treturn (\n\t\t<div\n\t\t\tclassName={`actionable-message actionable-message-${location}`}\n\t\t\tdata-testId={`actionable-message-${location}`}\n\t\t>\n\t\t\t<div className={`actionable-message-content ${status}`}>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"actionable-message-icon\"\n\t\t\t\t\tsize={ACTIONABLE_MESSAGE_ICON_SIZE}\n\t\t\t\t\ticon={icon}\n\t\t\t\t/>\n\t\t\t\t<div className=\"actionable-message-label-group\">\n\t\t\t\t\t{text ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"actionable-message-text\"\n\t\t\t\t\t\t\tdata-tooltip={text}\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{action ? (\n\t\t\t\t\t\t<div className=\"actionable-message-action\">\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\thideBlockPadding\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t'aria-label': action.label,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={ACTIONABLE_MESSAGE_BUTTON_CLASS}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={action.label}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tkey: actionableMessageKey,\n\t\t\t\t\t\t\t\t\taction: action.action,\n\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\n\nimport {\n\tROW_CELL_CLASS,\n\tCELL_CONTENT_CLASS,\n} from '../views/table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * This util adds a tooltip anywhere on now-list. The target elm must have a data-tooltip attribute.\n * @param {*} dispatch seismic dispatch\n */\nexport default function getTooltip(dispatch) {\n\treturn {\n\t\t'hook-insert': (/** @type {*} */ { elm }) => {\n\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t},\n\t\t'hook-destroy': (/** @type {*} */ { elm }) => {\n\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t},\n\t};\n}\n\n/**\n *  @param {HTMLTableCellElement} cell\n *  @returns {HTMLElement|null}\n */\nconst getCellContentElement = (cell) => {\n\treturn cell.querySelector(`.${CELL_CONTENT_CLASS}`);\n};\n\n/**\n *  @param {HTMLElement} target\n *  @returns {boolean}\n */\nconst isCellElement = (target) => {\n\treturn (\n\t\ttarget?.nodeName === 'TD' && target?.classList.contains(ROW_CELL_CLASS)\n\t);\n};\n\n/**\n *  @param {HTMLElement} target\n *  @returns {boolean|undefined}\n */\nconst isFakeIcon = (target) => {\n\treturn (\n\t\ttarget.tagName === 'svg' &&\n\t\ttarget.parentElement?.classList?.contains('html-icon')\n\t);\n};\n/**\n * Dispatches TOOLTIP_SHOW (from tooltip behavior) if the cell/cell-content has tooltip and is truncated\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleShowTooltip = (dispatch, { target }) => {\n\tif (!target) return;\n\tlet tooltip = target?.dataset.tooltip;\n\tif (!tooltip && isFakeIcon(target)) {\n\t\ttooltip = target.parentElement?.parentElement?.dataset?.tooltip;\n\t\tif (tooltip) {\n\t\t\tdispatch(TOOLTIP_SHOW, {\n\t\t\t\ttarget: target.parentElement?.parentElement,\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\tif (!tooltip) return;\n\t// in case of url the cell hover shows tooltip for content\n\tconst isCell = isCellElement(target);\n\tlet cellContentElement = null;\n\tif (isCell) {\n\t\tcellContentElement = getCellContentElement(target);\n\t}\n\tconst isCellContent = target.classList.contains(CELL_CONTENT_CLASS);\n\tif (isCellContent || isCell) {\n\t\t/**\n\t\t * for cell and cell content we check if it is overflowing (truncated)\n\t\t * for elements like icons in rowActionscell type we do not check\n\t\t */\n\t\tif (\n\t\t\tisOverflowing(cellContentElement || target) ||\n\t\t\ttarget.dataset.truncated\n\t\t) {\n\t\t\tdispatch(TOOLTIP_SHOW, { target });\n\t\t}\n\t} else {\n\t\t// for Icons like rowActionscell\n\t\tdispatch(TOOLTIP_SHOW, { target });\n\t}\n};\n\n/**\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleShowTooltipOnFocus = (dispatch, { target }) => {\n\tconst isCell = isCellElement(target);\n\tlet tooltip = target?.dataset.tooltip;\n\t// when cell is focused we show content tooltip if cell does not have one\n\tif (isCell && !tooltip) {\n\t\ttarget = getCellContentElement(target);\n\t\ttooltip = target?.dataset.tooltip;\n\t}\n\tif (!target || !tooltip) return;\n\thandleShowTooltip(dispatch, { target });\n};\n\n/**\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleRemoveTooltip = (dispatch, { target }) => {\n\tlet tooltip = target?.dataset.tooltip;\n\tif (!tooltip && isFakeIcon(target)) {\n\t\ttooltip = target.parentElement?.parentElement?.dataset?.tooltip;\n\t\tif (tooltip) {\n\t\t\ttarget = target.parentElement?.parentElement;\n\t\t}\n\t}\n\tif (isCellElement(target) && !tooltip) {\n\t\t// if tooltip is not present on cell then it is on cellContent\n\t\ttarget = getCellContentElement(target);\n\t}\n\tdispatch(TOOLTIP_HIDE, { target });\n};\n\n/**\n * checks if the text is truncated in an element,\n * if the text is overflowing as per the css it shows ellipsis when we have overflow:ellipsis\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\nexport const isOverflowing = (elem) => {\n\tconst { offsetHeight, scrollHeight, offsetWidth, scrollWidth } = elem;\n\treturn offsetHeight < scrollHeight || offsetWidth < scrollWidth;\n};\n\n/**\n * Returns tooltip-related attributes as props.\n *\n * @param {string} text - The tooltip text.\n * @param {Function} dispatch - The event dispatch function.\n * @returns {Object} The props object.\n */\nexport function getTooltipProps(text, dispatch) {\n\treturn {\n\t\t'data-tooltip': text,\n\t\t'aria-label': text,\n\t\t...getTooltip(dispatch),\n\t};\n}\n","const FIELDS_WITH_ELLIPSIS = ['heading', 'tagline', 'metadata'];\n/**\n * Returns an inline style object with text overflow ellipsis styles if the flag is true.\n *\n * @param {string} fieldKey - field key represent the type of the gallery field.\n * @returns {Object} Inline style object.\n * TODO: Make field key util handle the layout Type\n * fieldKey is only available for Card View and we will be utilizing Layout values once we change to grid\n */\nexport const isGalleryFieldWithEllipsis = (fieldKey) => ({\n\t...(FIELDS_WITH_ELLIPSIS.indexOf(fieldKey) > -1 && {\n\t\twhiteSpace: 'nowrap',\n\t\toverflow: 'hidden',\n\t\ttextOverflow: 'ellipsis',\n\t\twidth: '100%',\n\t}),\n});\n","import {\n\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\tRECENTLY_UPDATED_ROWS_ICON_SIZE,\n} from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\nexport const renderLiveListEyelashIcon = () => {\n\treturn (\n\t\t<div className=\"live-list-eyelash\">\n\t\t\t{iconIsCached(\n\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_SIZE\n\t\t\t) ? (\n\t\t\t\tgetFakeNowIcon(\n\t\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\t\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_SIZE\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={RECENTLY_UPDATED_ROWS_ICON_NAME}\n\t\t\t\t\tsize={RECENTLY_UPDATED_ROWS_ICON_SIZE}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nexport const EMPTY_DISPLAY_LABEL = t('None');\n\nexport const DEFAULT_VARIANT = 'tertiary';\nexport const DEFAULT_COLOR = 'positive';\n\nexport const DEFAULT_HIGHLIGHTED_VALUE_SIZE = 'md';\n\n// class names\nexport const HIGHLIGHTED_VALUE_SM = 'highlighted-value-sm';\nexport const HIGHLIGHTED_VALUE_MD = 'highlighted-value-md';\n","import { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport escape from 'lodash/escape';\nimport round from 'lodash/round';\nimport toString from 'lodash/toString';\nimport truncate from 'lodash/truncate';\n\nimport { KEY } from '../../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_LIST_CELL_LINK_CLICKED } from '../../../behaviors/linkBehavior/constants';\nimport cellSelectors from '../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../utils/truncationUtils';\nimport { renderLiveListEyelashIcon } from '../shared/cellIconContent';\n\nimport {\n\tDEFAULT_COLOR,\n\tDEFAULT_VARIANT,\n\tEMPTY_DISPLAY_LABEL,\n\tDEFAULT_HIGHLIGHTED_VALUE_SIZE,\n\tHIGHLIGHTED_VALUE_SM,\n\tHIGHLIGHTED_VALUE_MD,\n} from './fieldContentConstants';\nimport {\n\tNUMBER_FORMAT_LONG_INT,\n\tNUMBER_FORMAT_PERCENT,\n} from './number/constants';\n\nconst { getDisabled: getCellDisabled, getValue, getHref } = cellSelectors;\nconst {\n\tgetDecimalPlaces,\n\tgetDisabled: getColumnDisabled,\n\tgetNumberFormat,\n\tgetShowDelimiter,\n\tgetMaxCharacters,\n\tgetNumberLocale,\n\tgetNumberFormatter,\n\trenderAsLink,\n\tgetColumnKey,\n} = columnSelectors;\n\n/**\n * Returns the minimum width based on the size\n * @param {string} size\n */\nexport const getHighlightedValueContainerClassName = (\n\t/** @type {string} */ size\n) => {\n\treturn classNames({\n\t\t['cell-content']: true,\n\t\t[size === 'sm' ? HIGHLIGHTED_VALUE_SM : HIGHLIGHTED_VALUE_MD]: true,\n\t});\n};\n\n/**\n * Checks whether the given value is undefined, null or empty string\n * @param {string | number | boolean | null} value\n */\nexport const isNonEmpty = (value) => {\n\treturn typeof value === 'string' ? value.trim() !== '' : value != null;\n};\n\n/**\n *\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @returns string\n */\nexport const getHiddenPillsTooltip = (values, maxPillLimit) => {\n\tconst label = values\n\t\t.slice(maxPillLimit, values.length)\n\t\t.map((pill) => pill.label.trim())\n\t\t.join(', ');\n\treturn label;\n};\n\n/**\n * gets data props for tooltip, truncation based on maxCharacters\n * @param {string} tooltip\n * @param {boolean} isTruncated\n * @returns {*}\n */\nexport const getTooltipDataProps = (tooltip, isTruncated) => {\n\tif (!tooltip) return {};\n\treturn {\n\t\t'data-tooltip': tooltip,\n\t\t'data-truncated': isTruncated || undefined,\n\t};\n};\n\n/**\n * returns highlighted text matched with given pattern\n * @param {Array<string>} highlightedContentPatterns array of patterns to be highlighted\n * @param {string} displayValue a string representing cell's displayValue\n */\nexport const getHighlightedText = (\n\thighlightedContentPatterns,\n\tdisplayValue\n) => {\n\tconst patterns = highlightedContentPatterns.filter(\n\t\t(pattern) => pattern?.length\n\t);\n\tlet markedDisplayContent = displayValue;\n\n\tif (patterns.length === 0 || markedDisplayContent == null)\n\t\treturn { highlightedElement: markedDisplayContent };\n\n\tmarkedDisplayContent = escape(markedDisplayContent);\n\n\tconst patternWords = patterns.sort((a, b) => b.length - a.length).join('|');\n\n\tconst escapedPatternWords = patternWords.replace(\n\t\t/[*+?^${}()[\\]\\\\]/g,\n\t\t'\\\\$&'\n\t);\n\n\tconst highlightRegex = new RegExp(escapedPatternWords, 'gi');\n\n\t/**\n\t * wraps the matched string in the mark tag\n\t *  @param {string} match\n\t */\n\tconst patternReplacer = (match) =>\n\t\t`<mark class=\"highlighted-content\">${match}<\/mark>`;\n\n\tmarkedDisplayContent = markedDisplayContent.replace(\n\t\thighlightRegex,\n\t\tpatternReplacer\n\t);\n\n\treturn {\n\t\thighlightedElement: dangerouslyCreateElementFromString(\n\t\t\t`<span data-truncationignoretabindex data-truncation>${markedDisplayContent}<\/span>`\n\t\t),\n\t};\n};\n\n/**\n * Renders the highlightedValue of the cell using now-highlighted-value\n *\n * @param {HighlightedValue} props representing the highlighted value config\n * @param {string} displayValue\n * @param {boolean} wrapCellContentEnabled\n */\nexport const highlightedValueCell = (\n\tprops,\n\tdisplayValue,\n\twrapCellContentEnabled\n) => {\n\tconst {\n\t\tvalue,\n\t\tsize = DEFAULT_HIGHLIGHTED_VALUE_SIZE,\n\t\tcolor,\n\t\tvariant,\n\t\tshowIcon,\n\t\tstatus,\n\t\ticonName,\n\t} = props;\n\n\treturn value ? (\n\t\t<div className={getHighlightedValueContainerClassName(size)}>\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={value}\n\t\t\t\tstatus={!color ? status : null}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\tvariant={variant ? variant : DEFAULT_VARIANT}\n\t\t\t\tcolor={color ? color : DEFAULT_COLOR}\n\t\t\t\tdata-tooltip={displayValue}\n\t\t\t\ticon={iconName}\n\t\t\t\tsize={size}\n\t\t\t\twillWrap={wrapCellContentEnabled}\n\t\t\t/>\n\t\t<\/div>\n\t) : null;\n};\n\n/**\n * Currently highlightedValues does not support link, so if we have both highlightedValue and renderAsLink true,\n * we will be rendering the link instead of highlightedValue\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {Boolean | undefined} isHighlightedValue representing the highlighted value config\n */\nexport const shouldRenderHighlightedValue = (column, isHighlightedValue) => {\n\treturn isHighlightedValue && !renderAsLink(column);\n};\n\n/**\n * returns boolean whether clickable text in the cell should be disabled or not.\n *\n * @param {boolean | undefined} clickableTextEnabled prop representing click is enabled or not.\n * @param {LinkCellType} cell an object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @returns {boolean}\n *\n */\nexport const getDisabled = (clickableTextEnabled, column, cell) => {\n\treturn (\n\t\t(renderAsLink(column) && !clickableTextEnabled) ||\n\t\t(getColumnDisabled(column)\n\t\t\t? getColumnDisabled(column)\n\t\t\t: getColumnDisabled(column) || getCellDisabled(cell))\n\t);\n};\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {string} value object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n */\nexport const getFormatedNumberLabel = (value, column) => {\n\tvalue = round(value, getDecimalPlaces(column));\n\tlet label = toString(value);\n\tif (\n\t\tgetNumberFormat(column) !== NUMBER_FORMAT_LONG_INT &&\n\t\tgetShowDelimiter(column)\n\t) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tlabel = numberFormatter.format(value);\n\t}\n\tconst maxCharacters = getMaxCharacters(column);\n\tlet truncatedLabel = label;\n\tif (getNumberFormat(column) === NUMBER_FORMAT_PERCENT) {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters - 1 });\n\t\ttruncatedLabel += '%';\n\t} else {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters });\n\t}\n\treturn truncatedLabel;\n};\n\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} [props.clickEventName]\n * @param {string} [props.fieldKey]\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLinkCell = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { cell, column, clickableTextEnabled, row, fieldKey } = props;\n\tconst value = getValue(cell);\n\tconst href = getHref(cell);\n\tconst { displayLabel, toolTipLabel, isTruncated, className } = labelProps;\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst contentClassNames = classNames({\n\t\t'link-cell-content': true,\n\t\tdisabled: isDisabled,\n\t\t[className]: className ? true : false,\n\t});\n\tconst clickEventName = props.clickEventName || NOW_LIST_CELL_LINK_CLICKED;\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t{isDisabled ? (\n\t\t\t\tdisplayLabel\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"link-cell-link\"\n\t\t\t\t\trole=\"link\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\taria-label={toolTipLabel || value}\n\t\t\t\t\thref={href}\n\t\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(clickEventName, {\n\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keypress={(/** @type {any} */ event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key === KEY.ENTER ||\n\t\t\t\t\t\t\tevent.key === KEY.SPACEBAR ||\n\t\t\t\t\t\t\tevent.keyCode === KEY.KEY_CODE_ENTER\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdispatch(clickEventName, {\n\t\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdata-truncation\n\t\t\t\t\t{...getTooltipDataProps(toolTipLabel || value, isTruncated)}\n\t\t\t\t>\n\t\t\t\t\t{displayLabel}\n\t\t\t\t<\/a>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLabelContent = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { column } = props;\n\tconst { toolTipLabel, isTruncated, className } = labelProps;\n\tlet displayLabel = labelProps.displayLabel;\n\tif (!displayLabel && renderAsLink(column)) {\n\t\tdisplayLabel = EMPTY_DISPLAY_LABEL;\n\t}\n\treturn renderAsLink(column)\n\t\t? getLinkCell(props, dispatch, shouldRenderRecentlyUpdatedIcon, {\n\t\t\t\tdisplayLabel,\n\t\t\t\ttoolTipLabel,\n\t\t\t\tisTruncated,\n\t\t\t\tclassName,\n\t\t  })\n\t\t: displayLabel;\n};\n","import cellSelectors from '../../../utils/selectors/cellSelectors';\nimport {\n\ticonIsCached,\n\tgetIconHeightWidth,\n\tgetFakeNowIcon,\n} from '../../shared/fakeNowIcon';\nimport { EMPTY_CELL_VALUE } from '../fieldConstants';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\n\nimport {\n\tBOOLEAN_TRUE_ICON,\n\tBOOLEAN_FALSE_ICON,\n\tBOOLEAN_TRUE_STRING,\n\tBOOLEAN_FALSE_STRING,\n\tBOOLEAN_ICON_SIZE,\n} from './constants';\n\n/**\n * This subview renders the content of a boolean cell\n *\n * @param {Object} props\n * @param {BooleanCellType} props.cell an object representing this cell\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const booleanView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst {\n\t\tcell,\n\t\thighlightedContent,\n\t\tisHighlightedValue,\n\t\tcolumn,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst value = cellSelectors.getValue(cell);\n\n\tlet iconName;\n\tlet stringBool = EMPTY_CELL_VALUE;\n\n\tif (value !== EMPTY_CELL_VALUE) {\n\t\ticonName = value ? BOOLEAN_TRUE_ICON : BOOLEAN_FALSE_ICON;\n\t\tstringBool = value ? BOOLEAN_TRUE_STRING : BOOLEAN_FALSE_STRING;\n\t}\n\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\tstringBool\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell),\n\t\t\twrapCellContentEnabled\n\t\t);\n\n\treturn (\n\t\t<div className=\"cell-content boolean-cell-content\" data-truncation>\n\t\t\t{iconName &&\n\t\t\t\t(iconIsCached(iconName, BOOLEAN_ICON_SIZE) ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={getIconHeightWidth(BOOLEAN_ICON_SIZE)}\n\t\t\t\t\t\tclassName=\"boolean-icon\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{getFakeNowIcon(iconName, BOOLEAN_ICON_SIZE)}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={iconName}\n\t\t\t\t\t\tsize={BOOLEAN_ICON_SIZE}\n\t\t\t\t\t\tclassName=\"boolean-icon\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: '',\n\t\t\t\t\tclassName: 'inline',\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetFormatedNumberLabel,\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\n\nimport { NUMBER_FORMAT_LONG_INT } from './constants';\n\nconst {\n\tgetNumberFormat,\n\tgetShowDelimiter,\n\tgetNumberLocale,\n\tgetNumberFormatter,\n} = columnSelectors;\n\n/**\n * This subview renders the content of a number cell\n *\n * @param {Object} props\n * @param {NumberCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const numberView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, column, wrapCellContentEnabled } = props;\n\tlet value = cellSelectors.getValue(cell);\n\tconst isValuePresent = value != null && value !== '';\n\tif (\n\t\tisValuePresent &&\n\t\tgetNumberFormat(column) !== NUMBER_FORMAT_LONG_INT &&\n\t\tgetShowDelimiter(column)\n\t) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tvalue = numberFormatter.format(cellSelectors.getValue(cell));\n\t}\n\tconst truncatedLabel = isValuePresent\n\t\t? getFormatedNumberLabel(cellSelectors.getValue(cell), column)\n\t\t: value;\n\tconst isTruncated = truncatedLabel !== value;\n\n\tconst { highlightedContent, isHighlightedValue } = props;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\tconst tooltip = (truncatedLabel?.endsWith('%') ? `${value}%` : value) ?? '';\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\tconst highlightedValue = cellSelectors.getHighlightedValue(cell);\n\t\tif (highlightedValue.value) {\n\t\t\treturn (\n\t\t\t\t<div className=\"number-cell-content-highlighted\">\n\t\t\t\t\t{highlightedValueCell(\n\t\t\t\t\t\thighlightedValue,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t/* hardcoded the value of dir to ltr here to ensure that it will always keep the ellipsis on the right side even when dir=\"rtl\" is set on a higher element. */\n\t\t<div\n\t\t\tclassName=\"cell-content number-cell-content\"\n\t\t\tdir=\"ltr\"\n\t\t\tdata-truncation\n\t\t\t{...getTooltipDataProps(tooltip, isTruncated)}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: tooltip,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nexport const EMPTY_DISPLAY_LABEL = t('None');\n","import { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport escape from 'lodash/escape';\nimport get from 'lodash/get';\nimport round from 'lodash/round';\nimport toString from 'lodash/toString';\nimport truncate from 'lodash/truncate';\nimport { getSysPropContext } from 'sn-ux-core';\nimport '@servicenow/now-highlighted-value';\n\nimport { KEY } from '../../../../../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_LIST_CELL_LINK_CLICKED } from '../../../../../../behaviors/linkBehavior/constants';\nimport cellSelectors from '../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../utils/selectors/columnSelectors';\nimport { DEFAULT_HIGHLIGHTED_VALUE_SIZE } from '../../../../fields/fieldContentConstants';\nimport { getHighlightedValueContainerClassName } from '../../../../fields/fieldUtil';\nimport {\n\tNUMBER_FORMAT_LONG_INT,\n\tNUMBER_FORMAT_PERCENT,\n} from '../../../../fields/number/constants';\nimport { renderLiveListEyelashIcon } from '../../../../shared/cellIconContent';\n\nimport { EMPTY_DISPLAY_LABEL } from './cellContentConstants';\nimport { PRESERVE_WHITESPACE_SYS_PROP } from './rowCellConstants';\n\nconst { getDisabled: getCellDisabled, getValue, getHref } = cellSelectors;\n/**\n * gets data props for tooltip, truncation based on maxCharacters\n * @param {string} tooltip\n * @param {boolean} isTruncated\n * @returns {*}\n */\nexport const getTooltipDataProps = (tooltip, isTruncated) => {\n\tif (!tooltip) return {};\n\treturn {\n\t\t'data-tooltip': tooltip,\n\t\t'data-truncated': isTruncated || undefined,\n\t};\n};\n\nconst {\n\tgetDecimalPlaces,\n\tgetDisabled: getColumnDisabled,\n\tgetNumberFormat,\n\tgetMaxCharacters,\n\tgetNumberLocale,\n\tgetShowDelimiter,\n\tgetNumberFormatter,\n\trenderAsLink,\n\tgetColumnKey,\n} = columnSelectors;\n/**\n * returns highlighted text matched with given pattern\n * @param {Array<string>} highlightedContentPatterns array of patterns to be highlighted\n * @param {string} displayValue a string representing cell's displayValue\n */\nexport const getHighlightedText = (\n\thighlightedContentPatterns,\n\tdisplayValue\n) => {\n\tconst patterns = highlightedContentPatterns.filter(\n\t\t(pattern) => pattern?.length\n\t);\n\tlet markedDisplayContent = displayValue;\n\n\tif (patterns.length === 0 || markedDisplayContent == null)\n\t\treturn { highlightedElement: markedDisplayContent };\n\n\tmarkedDisplayContent = escape(markedDisplayContent);\n\n\t// sorts the patterns array with longest string first\n\t// e.g Consider an example where the user has provided the patterns ['CHG', 'CHG000'] for highlighting.\n\t// In this case, the pattern 'CHG000' should be highlighted.\n\tconst patternWords = patterns\n\t\t.sort(\n\t\t\t(\n\t\t\t\t/** @type {string | any[]} */ a,\n\t\t\t\t/** @type {string | any[]} */ b\n\t\t\t) => b.length - a.length\n\t\t)\n\t\t.join('|');\n\n\t// patternWords string is first processed to escape any special characters\n\t//The resulting escaped pattern is then used to create the highLightRegex regular expression object\n\tconst escapedPatternWords = patternWords.replace(\n\t\t/[*+?^${}()[\\]\\\\]/g,\n\t\t'\\\\$&'\n\t);\n\n\t// create regular expression with given pattern\n\t// g stands for global search on the entire string\n\t// i stands for case insensitive search\n\tconst highlightRegex = new RegExp(escapedPatternWords, 'gi');\n\n\t/**\n\t * wraps the matched string in the mark tag\n\t *  @param {string} match\n\t */\n\tconst patternReplacer = (match) =>\n\t\t`<mark class=\"highlighted-content\">${match}<\/mark>`;\n\n\tmarkedDisplayContent = markedDisplayContent.replace(\n\t\thighlightRegex,\n\t\tpatternReplacer\n\t);\n\n\treturn {\n\t\thighlightedElement: dangerouslyCreateElementFromString(\n\t\t\t`<span data-truncationignoretabindex data-truncation>${markedDisplayContent}<\/span>`\n\t\t),\n\t};\n};\n\n/**\n * Renders the highlightedValue of the cell using now-highlighted-value\n *\n * @param {HighlightedValue} props representing the highlighted value config\n * @param {string} displayValue\n * @param {boolean} wrapCellContentEnabled\n */\nexport const highlightedValueCell = (\n\tprops,\n\tdisplayValue,\n\twrapCellContentEnabled\n) => {\n\tconst {\n\t\tvalue,\n\t\tsize = DEFAULT_HIGHLIGHTED_VALUE_SIZE,\n\t\tcolor,\n\t\tvariant,\n\t\tshowIcon,\n\t\ticonName,\n\t} = props;\n\n\treturn (\n\t\t<div className={getHighlightedValueContainerClassName(size)}>\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={value}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\tdata-tooltip={displayValue}\n\t\t\t\ticon={iconName}\n\t\t\t\tsize={size}\n\t\t\t\twillWrap={wrapCellContentEnabled}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Currently highlightedValues does not support link, so if we have both highlightedValue and renderAsLink true,\n * we will be rendering the link instead of highlightedValue\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {Boolean | undefined} isHighlightedValue representing the highlighted value config\n */\nexport const shouldRenderHighlightedValue = (column, isHighlightedValue) => {\n\treturn isHighlightedValue && !renderAsLink(column);\n};\n\n/**\n * returns boolean whether clickable text in the cell should be disabled or not.\n *\n * @param {boolean | undefined} clickableTextEnabled prop representing click is enabled or not.\n * @param {LinkCellType} cell an object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {String} value cell value\n * @returns {boolean}\n *\n */\nexport const getDisabled = (clickableTextEnabled, column, cell, value) => {\n\treturn (\n\t\t!(\n\t\t\trenderAsLink(column) ||\n\t\t\t(clickableTextEnabled && isNonEmpty(value))\n\t\t) ||\n\t\t(getColumnDisabled(column)\n\t\t\t? getColumnDisabled(column)\n\t\t\t: getColumnDisabled(column) || getCellDisabled(cell))\n\t);\n};\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {string} value object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n */\nexport const getFormatedNumberLabel = (value, column) => {\n\tvalue = round(value, getDecimalPlaces(column));\n\tlet label = toString(value);\n\tif (\n\t\tgetNumberFormat(column) !== NUMBER_FORMAT_LONG_INT &&\n\t\tgetShowDelimiter(column)\n\t) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tlabel = numberFormatter.format(value);\n\t}\n\tconst maxCharacters = getMaxCharacters(column);\n\tlet truncatedLabel = label;\n\tif (getNumberFormat(column) === NUMBER_FORMAT_PERCENT) {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters - 1 });\n\t\ttruncatedLabel += '%';\n\t} else {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters });\n\t}\n\treturn truncatedLabel;\n};\n\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLinkCell = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { cell, column, clickableTextEnabled, row } = props;\n\tconst value = getValue(cell);\n\tconst href = getHref(cell);\n\tconst { displayLabel, toolTipLabel, isTruncated, className } = labelProps;\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell, value);\n\tconst contentClassNames = classNames({\n\t\t'link-cell-content': true,\n\t\tdisabled: isDisabled,\n\t\t[className]: className ? true : false,\n\t});\n\n\treturn (\n\t\t<div className={contentClassNames}>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t{isDisabled ? (\n\t\t\t\tdisplayLabel\n\t\t\t) : (\n\t\t\t\t// Changed to anchor tag due to text-wrapping issues with button\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"link-cell-link\"\n\t\t\t\t\trole=\"link\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\taria-label={toolTipLabel || value}\n\t\t\t\t\thref={href}\n\t\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(NOW_LIST_CELL_LINK_CLICKED, {\n\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keypress={(/** @type {any} */ event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key === KEY.ENTER ||\n\t\t\t\t\t\t\tevent.key === KEY.SPACEBAR ||\n\t\t\t\t\t\t\tevent.keyCode === KEY.KEY_CODE_ENTER\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdispatch(NOW_LIST_CELL_LINK_CLICKED, {\n\t\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\t{...getTooltipDataProps(toolTipLabel || value, isTruncated)}\n\t\t\t\t>\n\t\t\t\t\t{displayLabel}\n\t\t\t\t<\/a>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLabelContent = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { column } = props;\n\tconst { toolTipLabel, isTruncated, className } = labelProps;\n\tlet displayLabel = labelProps.displayLabel;\n\tif (!displayLabel && renderAsLink(column)) {\n\t\tdisplayLabel = EMPTY_DISPLAY_LABEL;\n\t}\n\treturn renderAsLink(column)\n\t\t? getLinkCell(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel,\n\t\t\t\t\ttoolTipLabel,\n\t\t\t\t\tisTruncated,\n\t\t\t\t\tclassName,\n\t\t\t\t}\n\t\t  )\n\t\t: displayLabel;\n};\n\n/**\n * Checks whether the given value is undefined, null or empty string\n * @param {string | number | boolean | null} value\n */\nconst isNonEmpty = (value) => {\n\treturn typeof value === 'string' ? value.trim() !== '' : value != null;\n};\n\n/**\n *\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @returns string\n */\nexport const getHiddenPillsTooltip = (values, maxPillLimit) => {\n\tconst label = values\n\t\t.slice(maxPillLimit, values.length)\n\t\t.map((pill) => pill.label.trim())\n\t\t.join(', ');\n\treturn label;\n};\n\n/**\n * Check if glide.lists.preserve_whitespace in sys_property is true\n * @param {object} context\n * @returns {boolean} True if glide.lists.preserve_whitespace is true\n */\nexport const isWhitespaceEnabledInSysProp = (context) => {\n\tconst preserveWhitespaceSysPropKey = getSysPropContext(\n\t\tPRESERVE_WHITESPACE_SYS_PROP\n\t);\n\treturn get(context, preserveWhitespaceSysPropKey, 'false') == 'true';\n};\n","import classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport { isWhitespaceEnabledInSysProp } from '../../table/tableBody/tableRow/rowCell/cellContentUtils';\nimport { WHITESPACE_STRING_CLASS } from '../../table/tableConstants';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\nconst { getMaxCharacters } = columnSelectors;\nconst { getValue } = cellSelectors;\n/**\n * This subview renders the content of a string cell\n *\n * @param {Object} props\n * @param {StringCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {object} props.contextApi\n * @param {string} [props.fieldKey]\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const stringView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\thighlightedContent,\n\t\tisHighlightedValue,\n\t\tcontextApi,\n\t\tfieldKey,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst value = getValue(cell);\n\tconst truncatedLabel = truncate(value, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst isTruncated = truncatedLabel !== value;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell),\n\t\t\twrapCellContentEnabled\n\t\t);\n\t}\n\n\tconst stringCellContentClassNames = classNames(\n\t\t'cell-content',\n\t\t'string-cell-content',\n\t\t{\n\t\t\t[WHITESPACE_STRING_CLASS]: isWhitespaceEnabledInSysProp(contextApi),\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-truncation\n\t\t\tclassName={stringCellContentClassNames}\n\t\t\t{...getTooltipDataProps(value, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: value,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import classNames from 'classnames';\nimport { SnTimeAgo } from 'sn-component-timeago';\n\nimport { TIME_AGO_DISPLAY_AS_MAIN_VALUE } from '../fields/dateTime/constants';\nimport { highlightedValueCell } from '../table/tableBody/tableRow/rowCell/cellContentUtils';\n\nconst timeAgoOptions = {\n\ttimeAgo: true,\n\tdateBoth: false,\n\tsystemTime: false,\n\tdateOnly: false,\n\tverbose: false,\n};\n\n/**\n * @param {*} state\n */\nexport default function view(state) {\n\tconst {\n\t\tproperties: {\n\t\t\ttimeAgoDisplay,\n\t\t\tvalue,\n\t\t\thighlightedValueData,\n\t\t\twrapCellContentEnabled,\n\t\t},\n\t} = state;\n\n\tconst timeAgo = new SnTimeAgo(\n\t\t{ timestampLong: value * 1000 },\n\t\tvalue * 1000,\n\t\ttimeAgoOptions\n\t);\n\tconst time = timeAgo.getTickTime().time;\n\n\tconst spanClassName = classNames('time-ago-display', {\n\t\t'-main-value': timeAgoDisplay !== TIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\t});\n\n\tif (highlightedValueData) {\n\t\thighlightedValueData.value = time;\n\t\treturn highlightedValueCell(\n\t\t\thighlightedValueData,\n\t\t\tvalue,\n\t\t\twrapCellContentEnabled\n\t\t);\n\t}\n\n\treturn (\n\t\t<span className={spanClassName} data-truncation>\n\t\t\t{time}\n\t\t<\/span>\n\t);\n}\n","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport view from './timeAgoDisplay';\nimport styles from './timeAgoDisplay.scss';\n\ncreateCustomElement('time-ago-display', {\n\tview,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tproperties: {\n\t\tvalue: {\n\t\t\tdefault: 0,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\ttimeAgoDisplay: {\n\t\t\tdefault: '',\n\t\t},\n\t\thighlightedValueData: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior, truncationBehavior],\n});\n","import '../../timeAgoDisplay';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport { getFormattedDateValue } from '../../../utils/dateTimeUtils';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n} from '../fieldUtil';\n\nimport {\n\tTIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\tTIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n} from './constants';\n\nconst { getTimeAgoDisplay, getMaxCharacters, renderAsLink } = columnSelectors;\n\n/**\n * Stringifies and formats the cell value\n * returns formatted value(for tooltip if truncated), truncated value (max characters) and isTruncated for tooltip\n *\n * @param {Object} props\n * @param {DateTimeCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {object} props.contextApi\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n */\nexport const getDateLabelDetails = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst timeAgoClassNames = classNames({\n\t\t'render-as-link': renderAsLink(column),\n\t});\n\tconst timeAgoDisplay = getTimeAgoDisplay(column, contextApi);\n\n\tlet isTruncated = false;\n\tlet label = undefined;\n\tconst value = cellSelectors.getValue(cell);\n\tlet formattedDateValue = '';\n\tif (!value) return { formattedDateValue, label, isTruncated };\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\tformattedDateValue = cell?.label\n\t\t? cell.label\n\t\t: getFormattedDateValue({\n\t\t\t\tvalue,\n\t\t\t\tcontextApi,\n\t\t\t\tcolumn,\n\t\t  });\n\n\tconst truncatedLabel = truncate(formattedDateValue, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tisTruncated = truncatedLabel !== formattedDateValue;\n\n\tconst { highlightedElement } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\tlabel = highlightedElement;\n\tswitch (timeAgoDisplay) {\n\t\tcase TIME_AGO_DISPLAY_AS_MAIN_VALUE:\n\t\t\t{\n\t\t\t\tlabel = (\n\t\t\t\t\t<time-ago-display\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tclassName={timeAgoClassNames}\n\t\t\t\t\t\thighlightedValueData={highlightedValueData}\n\t\t\t\t\t\t{...createElementObservationProps(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t'time-ago-display'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\ttimeAgoDisplay={TIME_AGO_DISPLAY_AS_MAIN_VALUE}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\t// time ago is not truncated\n\t\t\t\tisTruncated = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase TIME_AGO_DISPLAY_UNDER_MAIN_VALUE:\n\t\t\t{\n\t\t\t\tlabel = (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{highlightedValueData &&\n\t\t\t\t\t\tObject.keys(highlightedValueData).length > 0\n\t\t\t\t\t\t\t? highlightedValueCell(\n\t\t\t\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\t\t\t\ttruncatedLabel,\n\t\t\t\t\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: truncatedLabel}\n\t\t\t\t\t\t<time-ago-display\n\t\t\t\t\t\t\tclassName={timeAgoClassNames}\n\t\t\t\t\t\t\t{...createElementObservationProps(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t'time-ago-display'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t{\n\t\t\t\tlabel =\n\t\t\t\t\thighlightedValueData &&\n\t\t\t\t\tObject.keys(highlightedValueData).length > 0 ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{highlightedValueCell(\n\t\t\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\t\t\ttruncatedLabel,\n\t\t\t\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tlabel\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn { formattedDateValue, label, isTruncated };\n};\n\n/**\n * This subview renders the content of a date/time cell\n *\n * @param {Object} props\n * @param {DateTimeCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {object} props.contextApi\n * @param {string} [props.fieldKey]\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const dateTimeView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { formattedDateValue, label, isTruncated } = getDateLabelDetails(\n\t\tprops,\n\t\tdispatch\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content date-time-cell-content\"\n\t\t\t{...getTooltipDataProps(formattedDateValue, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(props.fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: label,\n\t\t\t\t\ttoolTipLabel: formattedDateValue,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetHighlightedText,\n\tshouldRenderHighlightedValue,\n\thighlightedValueCell,\n\tgetTooltipDataProps,\n\tgetLabelContent,\n} from '../fieldUtil';\n\nimport { CURRENCY_VALUE_DEFAULT } from './currencyConstants';\n\nconst { getCurrency, getCurrencyLocale, getMaxCharacters } = columnSelectors;\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {Object} props\n * @param {CurrencyCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n *\n * @returns {string} a string representing the formatted value with a language-sensitive representation and currency symbol.\n */\nexport const getDisplayValue = (props) => {\n\tconst { cell, column } = props;\n\tconst locale = getCurrencyLocale(column);\n\tconst currency = getCurrency(column);\n\tconst value = cellSelectors.getValue(cell)\n\t\t? cellSelectors.getValue(cell)\n\t\t: CURRENCY_VALUE_DEFAULT;\n\n\treturn value.toLocaleString(locale, {\n\t\tstyle: 'currency',\n\t\tcurrency: currency,\n\t});\n};\n\n/**\n * This subview renders the content of a currency cell\n *\n * @param {Object} props\n * @param {CurrencyCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const currencyView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst {\n\t\tcell,\n\t\thighlightedContent,\n\t\tcolumn,\n\t\tisHighlightedValue,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst maxCharacters = getMaxCharacters(column);\n\tconst displayValue = getDisplayValue(props);\n\tconst truncatedLabel = truncate(displayValue, { length: maxCharacters });\n\tconst isTruncated = truncatedLabel !== displayValue;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\tconst highlightedValue = cellSelectors.getHighlightedValue(cell);\n\t\treturn (\n\t\t\t<div className=\"currency-cell-content-highlighted\">\n\t\t\t\t{highlightedValueCell(\n\t\t\t\t\thighlightedValue,\n\t\t\t\t\ttruncatedLabel,\n\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content currency-cell-content\"\n\t\t\tdata-truncation\n\t\t\t{...getTooltipDataProps(displayValue, isTruncated)}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: displayValue,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getLabelContent } from '../fieldUtil';\n\nimport { ICON_CELL_ICON_SIZE } from './iconConstants';\n\nconst { getValue, getColor } = cellSelectors;\nconst { renderAsLink } = columnSelectors;\n\n/**\n * This subView renders the content of an icon cell\n *\n * @param {Object} props\n * @param {IconCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const iconView = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { cell, column } = props;\n\tconst iconName = getValue(cell);\n\tconst renderIcon = () => {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\ticon={iconName}\n\t\t\t\tsize={ICON_CELL_ICON_SIZE}\n\t\t\t\ttabindex={renderAsLink(column) ? 0 : undefined}\n\t\t\t\tclassName={renderAsLink(column) ? 'icon-link' : getColor(cell)}\n\t\t\t\t{...createElementObservationProps(dispatch, 'icon-cell-type')}\n\t\t\t/>\n\t\t);\n\t};\n\tconst toolTipLabel = t('{0}', iconName?.replaceAll('-', ' '));\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content icon-cell-content\"\n\t\t\tdata-truncation\n\t\t\taria-label={toolTipLabel}\n\t\t\trole=\"img\"\n\t\t>\n\t\t\t{iconName &&\n\t\t\t\tgetLabelContent(\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tprops,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayLabel: renderIcon(),\n\t\t\t\t\t\ttoolTipLabel: toolTipLabel,\n\t\t\t\t\t\tisTruncated: false,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { EMPTY_DISPLAY_LABEL } from '../fieldContentConstants';\nimport { getHighlightedText, getLinkCell } from '../fieldUtil';\n\nconst { getMaxCharacters, renderAsLink } = columnSelectors;\nconst { getLabel, getValue } = cellSelectors;\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} [props.clickEventName] an object representing this cell's parent row\n * @param {string} [props.fieldKey]\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const linkView = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { cell, column, highlightedContent, clickEventName } = props;\n\tconst value = getValue(cell);\n\tconst label = getLabel(cell);\n\tconst isRenderAsLink = renderAsLink(column);\n\tif (!value && !label && !isRenderAsLink) {\n\t\tconst contentClassNames = classNames({\n\t\t\t'cell-content': true,\n\t\t\t'link-cell-content': true,\n\t\t});\n\t\treturn <div className={contentClassNames} />;\n\t}\n\n\tconst truncatedLabel = truncate(label, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst cellLabel = getHighlightedText(highlightedContent, truncatedLabel)\n\t\t.highlightedElement;\n\n\tconst labelProps = {\n\t\tdisplayLabel: cellLabel || EMPTY_DISPLAY_LABEL,\n\t\ttoolTipLabel: value,\n\t\tisTruncated: true,\n\t\tclassName: 'cell-content',\n\t\tclickEventName,\n\t};\n\n\treturn getLinkCell(\n\t\tprops,\n\t\tdispatch,\n\t\tshouldRenderRecentlyUpdatedIcon,\n\t\tlabelProps\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\ticonIsCached,\n\tgetIconHeightWidth,\n\tgetFakeNowIcon,\n} from '../../shared/fakeNowIcon';\nimport { getDisabled, highlightedValueCell } from '../fieldUtil';\n\nimport { URL_ICON, URL_ICON_SIZE } from './urlConstants';\n\nconst {\n\tOPENS_IN_CURRENT_TAB_TOOLTIP,\n\tOPENS_IN_NEW_TOOLTIP,\n} = require('./urlTranslatedConstants');\n\nconst { getValue, getLabel } = cellSelectors;\nconst { getOpensInNew, getMaxCharacters } = columnSelectors;\n\n/**\n * This subview renders the content of a URL cell\n *\n * @param {Object} props\n * @param {LinkCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {boolean} props.wrapCellContentEnabled\n */\nexport const urlView = (props) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\tisHighlightedValue,\n\t\twrapCellContentEnabled,\n\t} = props;\n\n\tconst value = getValue(cell);\n\tconst label = getLabel(cell);\n\tconst truncatedLabel = truncate(label, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst target = getOpensInNew(column) ? '_blank' : '_self';\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst tooltipContent =\n\t\ttarget === '_blank'\n\t\t\t? OPENS_IN_NEW_TOOLTIP\n\t\t\t: OPENS_IN_CURRENT_TAB_TOOLTIP;\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'url-cell-content': true,\n\t\t'highlighted-value': isHighlightedValue && !isDisabled,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\tlet renderedLabel = truncatedLabel;\n\n\tif (isHighlightedValue) {\n\t\trenderedLabel = highlightedValueCell(\n\t\t\thighlightedValueData,\n\t\t\ttruncatedLabel,\n\t\t\twrapCellContentEnabled\n\t\t);\n\t}\n\n\tif (!label && !value) return <div className={contentClassNames} />;\n\n\treturn (\n\t\t<div className={contentClassNames}>\n\t\t\t{isDisabled ? (\n\t\t\t\trenderedLabel\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={value}\n\t\t\t\t\t\ttarget={target}\n\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\tclassName=\"url-cell-link\"\n\t\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"url-cell-link-label\" data-truncation>\n\t\t\t\t\t\t\t{renderedLabel}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t{iconIsCached(URL_ICON, URL_ICON_SIZE) ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"url-icon\"\n\t\t\t\t\t\t\t\tstyle={getIconHeightWidth(URL_ICON_SIZE)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{getFakeNowIcon(URL_ICON, URL_ICON_SIZE)}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon={URL_ICON}\n\t\t\t\t\t\t\t\tsize={URL_ICON_SIZE}\n\t\t\t\t\t\t\t\tclassName={'url-icon'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport {\n\tshouldRenderHighlightedValue,\n\thighlightedValueCell,\n\tgetTooltipDataProps,\n\tgetLabelContent,\n} from '../fieldUtil';\n\nconst { getValue, getLabel } = cellSelectors;\n/**\n * This subview renders the content of a choice cell\n *\n * @param {Object} props\n * @param {ChoiceCellType} props.cell an object representing this choice cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean} [props.isHighlightedValue]\n * @param {string} [props.fieldKey]\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const choiceView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tisHighlightedValue,\n\t\tfieldKey,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst choiceKey = getValue(cell);\n\tconst choiceLabel = getLabel(cell);\n\tconst displayValue =\n\t\tchoiceKey && !choiceLabel\n\t\t\t? columnSelectors.getChoiceLabelFromKey(choiceKey, column)\n\t\t\t: choiceLabel;\n\tconst truncatedLabel = truncate(displayValue, {\n\t\tlength: columnSelectors.getMaxCharacters(column),\n\t});\n\tconst tooltipLabel = displayValue ?? '';\n\tconst isTruncated = truncatedLabel !== displayValue;\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell),\n\t\t\twrapCellContentEnabled\n\t\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content choice-cell-content\"\n\t\t\t{...getTooltipDataProps(tooltipLabel, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: truncatedLabel,\n\t\t\t\t\ttoolTipLabel: tooltipLabel,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_4_index_jsdbx_dd8f26d0__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import DOMPurify from 'dompurify';\n\nimport '@servicenow/now-rich-text';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { highlightedValueCell } from '../fieldUtil';\n\nconst { renderAsLink } = columnSelectors;\nconst { getValue } = cellSelectors;\n\n/**\n * Configuration object for DOMPurify library\n */\nexport const domPurifyConfig = {\n\tFORCE_BODY: true, // makes sure that <style> tags aren't stripped\n\tKEEP_CONTENT: false, // remove content from non-allow-listed nodes too\n\tCUSTOM_ELEMENT_HANDLING: {\n\t\ttagNameCheck: /(^now-)|(^sn-)/, // allows now-* and sn-* custom elements to be used\n\t\tattributeNameCheck: () => {\n\t\t\t// allows any custom properties / attributes to be set on now-* and sn-* tags\n\t\t\treturn true;\n\t\t},\n\t},\n\tALLOWED_TAGS: [\n\t\t'h1',\n\t\t'h2',\n\t\t'h3',\n\t\t'h4',\n\t\t'h5',\n\t\t'h6',\n\t\t'br',\n\t\t'p',\n\t\t'strong',\n\t\t'em',\n\t\t'ol',\n\t\t'ul',\n\t\t'li',\n\t\t'#text',\n\t\t'span',\n\t\t'a',\n\t\t'div',\n\t],\n\tALLOWED_ATTR: ['style', 'target', 'href'],\n\tFORBID_ATTR: ['method', 'action'],\n};\n\n/**\n * This subview renders the content of a string cell\n *\n * @param {Object} props\n * @param {StringCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean} [props.isHighlightedValue]\n * @param {boolean} props.wrapCellContentEnabled\n */\nexport const htmlView = (props) => {\n\tconst { cell, column, isHighlightedValue, wrapCellContentEnabled } = props;\n\tconst value = getValue(cell);\n\tconst sanitizedHtml = DOMPurify.sanitize(value, domPurifyConfig);\n\t// Add space to <li> and <br> for better readability in tooltip\n\tDOMPurify.addHook('beforeSanitizeElements', (node) => {\n\t\tif (\n\t\t\tnode.nodeName &&\n\t\t\t(node.nodeName === 'LI' || node.nodeName === 'BR')\n\t\t) {\n\t\t\tnode.textContent =\n\t\t\t\tnode.textContent === null ? ' ' : node.textContent.concat(' ');\n\t\t}\n\t});\n\n\tconst plainTextValueExtraSpaces = DOMPurify.sanitize(value, {\n\t\tALLOWED_TAGS: ['#text'],\n\t});\n\tDOMPurify.removeHook('beforeSanitizeElements');\n\tconst plainTextValue = plainTextValueExtraSpaces.replace(/&nbsp;/gm, ' ');\n\n\tif (isHighlightedValue && !renderAsLink(column))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell),\n\t\t\twrapCellContentEnabled\n\t\t);\n\n\tconst placeholderText =\n\t\t'<em>Preview content not available. Inline edit or open the record to view full content<\/em>';\n\n\treturn (\n\t\t<div className=\"cell-content html-cell-content\">\n\t\t\t<now-rich-text\n\t\t\t\tclassName=\"html-rich-text-content\"\n\t\t\t\thtml={\n\t\t\t\t\tsanitizedHtml === '' && value !== '' && value !== null\n\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t: sanitizedHtml\n\t\t\t\t}\n\t\t\t\taria-label={plainTextValue}\n\t\t\t><\/now-rich-text>\n\t\t<\/div>\n\t);\n};\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getFormatedNumberLabel, getLabelContent } from '../fieldUtil';\n\nconst { getThresholdColors } = columnSelectors;\n\n/**\n * Parses the thresholdColors string into an array of threshold-color objects.\n * @param {string} [colors]\n * @returns {Array<{ threshold: number, color: string }> | null}\n */\nexport const parseThresholdColors = (colors) => {\n\tif (!colors) return [{ threshold: 0, color: '' }];\n\ttry {\n\t\treturn colors.split(';').map((item) => {\n\t\t\tconst [threshold, color] = item.trim().split(':');\n\t\t\treturn {\n\t\t\t\tthreshold: parseFloat(threshold.trim()),\n\t\t\t\tcolor: color.trim(),\n\t\t\t};\n\t\t});\n\t} catch (error) {\n\t\t// console.warn('Threshold colors string is not valid')\n\t\treturn null;\n\t}\n};\n\n/**\n * Gets the color for a given value based on the parsed threshold colors.\n * @param {string} value\n * @param {any} targetFieldValue\n * @param {Array<{ threshold: number, color: string }>} parsedColors\n * @returns {string}\n */\nexport const getColor = (value, targetFieldValue, parsedColors) => {\n\tlet percentOfTarget = parseFloat(value);\n\tconst targetFieldValueNumber = parseFloat(targetFieldValue);\n\tif (targetFieldValueNumber)\n\t\tpercentOfTarget = (percentOfTarget / targetFieldValueNumber) * 100;\n\tfor (let i = parsedColors.length - 1; i >= 0; i--) {\n\t\tif (percentOfTarget >= parsedColors[i].threshold) {\n\t\t\treturn parsedColors[i].color;\n\t\t}\n\t}\n\treturn parsedColors[0].color;\n};\n\n/**\n * Gets the bar width from value\n * @param {string} value\n * @returns {string}\n */\nexport const getPercentBarWidth = (value) => {\n\tif (!value) {\n\t\tvalue = '0';\n\t}\n\tconst numberValue = parseFloat(value);\n\tconst barWidth =\n\t\tnumberValue >= 0 ? `${Math.min(100, numberValue)}%` : '100%';\n\treturn barWidth;\n};\n\n/**\n * A progress bar component that displays the value and target value with color thresholds.\n * @param {Object} props\n * @param {PercentCompleteCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const renderPercentComplete = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, column } = props;\n\tconst thresholdColors = getThresholdColors(column);\n\tconst value = cellSelectors.getValue(cell);\n\n\tconst targetFieldValue = cell?.targetFieldValue;\n\tconst parsedColors = parseThresholdColors(thresholdColors);\n\tconst targetBarWidth = targetFieldValue\n\t\t? getPercentBarWidth(targetFieldValue)\n\t\t: null;\n\tconst actualBarWidth = getPercentBarWidth(value);\n\tconst isNegativeValue = value && parseFloat(value) < 0;\n\tconst isNegativeTargetValue =\n\t\ttargetFieldValue && parseFloat(targetFieldValue) < 0;\n\tconst valueColor =\n\t\tthresholdColors && parsedColors && !isNegativeValue\n\t\t\t? getColor(value, targetFieldValue, parsedColors)\n\t\t\t: undefined;\n\n\tconst percentCompleteBarTargetClassNames = classNames({\n\t\t'percent-complete-bar': true,\n\t\t'percent-complete-bar-target': true,\n\t\t'percent-complete-negative-value': isNegativeTargetValue,\n\t});\n\tconst percentCompleteBarActualClassNames = classNames({\n\t\t'percent-complete-bar': true,\n\t\t'percent-complete-bar-actual': true,\n\t\t'percent-complete-negative-value': isNegativeValue,\n\t});\n\tconst valueLabel = value\n\t\t? `${getFormatedNumberLabel(value, column)}%`\n\t\t: '0%';\n\tconst targetFieldValueLabel =\n\t\ttargetFieldValue &&\n\t\t`${getFormatedNumberLabel(targetFieldValue, column)}%`;\n\tconst showCurrent = value != null && value !== '';\n\tconst showTarget = showCurrent && targetFieldValue;\n\n\treturn (\n\t\t<div className=\"percent-complete-wrapper\">\n\t\t\t<div className=\"percent-complete-bar-container\">\n\t\t\t\t{showTarget ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t\taria-valuenow={targetFieldValue}\n\t\t\t\t\t\taria-label={t('Target')}\n\t\t\t\t\t\tdata-tooltip={t('Target')}\n\t\t\t\t\t\tclassName={percentCompleteBarTargetClassNames}\n\t\t\t\t\t\tstyle={{ width: targetBarWidth }}\n\t\t\t\t\t><\/div>\n\t\t\t\t) : null}\n\t\t\t\t{showCurrent ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t\taria-valuenow={value}\n\t\t\t\t\t\taria-label={t('Current')}\n\t\t\t\t\t\tdata-tooltip={t('Current')}\n\t\t\t\t\t\tclassName={percentCompleteBarActualClassNames}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: actualBarWidth,\n\t\t\t\t\t\t\tbackgroundColor: valueColor,\n\t\t\t\t\t\t}}\n\t\t\t\t\t><\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t\t<div className=\"percent-complete-text-container\">\n\t\t\t\t{showTarget ? (\n\t\t\t\t\t<div className=\"percent-complete-text percent-complete-text-target\">\n\t\t\t\t\t\t{targetFieldValueLabel}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{showCurrent ? (\n\t\t\t\t\t<div className=\"percent-complete-text percent-complete-text-current\">\n\t\t\t\t\t\t{getLabelContent(\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tprops,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayLabel: valueLabel,\n\t\t\t\t\t\t\t\ttoolTipLabel: valueLabel,\n\t\t\t\t\t\t\t\tisTruncated: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * This subview renders the content of a percentcomplete cell\n *\n * @param {Object} props\n * @param {PercentCompleteCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const percentCompleteView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\treturn (\n\t\t<div className=\"cell-content percent-complete-cell-content\">\n\t\t\t{renderPercentComplete(\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { SN_LIST_GALLERY_PERSON_CLICKED } from '../../../../now-list-gallery/constants/actionConstants';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetDisabled,\n\tgetHighlightedText,\n\thighlightedValueCell,\n} from '../fieldUtil';\n\nimport {\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_NAME,\n} from './constants';\n\nconst { getImageSrc, getPersonKey, getValue, getHref } = cellSelectors;\nconst { getColumnKey, getDisplay } = columnSelectors;\n\n/**\n * This subview renders the content of an person cell based on the state of isDisabled\n *\n * @param {String} name the name of the user in person cell\n * @param {Boolean} isDisabled a boolean representing the clickability of the cell\n * @param {String | undefined} personKey a unique optional key set by the user of person cell\n * @param {Array<string>} highlightedContent array of patterns to be highlighted\n * @param {HighlightedValue | null} highlightedValueData\n * @param {String | undefined} href a string representing the link to the record\n * @param {boolean} wrapCellContentEnabled\n *\n */\nconst renderPersonText = (\n\tname,\n\tisDisabled,\n\tpersonKey,\n\thighlightedContent,\n\thighlightedValueData,\n\thref,\n\twrapCellContentEnabled\n) => {\n\tconst textClassNames = classNames({\n\t\tdisabled: isDisabled,\n\t\t'person-cell-text': true,\n\t});\n\tconst buttonClassNames = classNames({\n\t\t'person-cell-link': true,\n\t\t'highlighted-value': highlightedValueData,\n\t});\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\tname\n\t);\n\n\tconst renderedLabel =\n\t\thighlightedValueData && Object.keys(highlightedValueData).length > 0\n\t\t\t? highlightedValueCell(\n\t\t\t\t\thighlightedValueData,\n\t\t\t\t\tname,\n\t\t\t\t\twrapCellContentEnabled\n\t\t\t  )\n\t\t\t: cellLabel;\n\n\tif (!isDisabled) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tclassName={buttonClassNames}\n\t\t\t\tkey={personKey}\n\t\t\t\trole=\"link\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-label={name}\n\t\t\t\thref={href}\n\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderedLabel}\n\t\t\t<\/a>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<span className={textClassNames} data-truncation>\n\t\t\t\t\t{renderedLabel}\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of an person cell\n *\n * @param {Object} props\n * @param {PersonCellType} props.cell an object representing this person cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} [props.clickableTextEnabled]\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} props.iconSize additional props to be passed to the PersonView\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch,\n */\nexport const personView = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t\ticonSize,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst name = getValue(cell);\n\tconst personKey = getPersonKey(cell);\n\tconst imageSrc = getImageSrc(cell);\n\tconst display = getDisplay(column);\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst href = getHref(cell);\n\n\tconst isNameEmpty = isEmpty(name);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst shouldDisplayName =\n\t\t(display === PERSON_DISPLAY_TYPE_NAME ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'person-cell-content': true,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\tconst targetClassList = event.target.classList;\n\t\t\t\tif (\n\t\t\t\t\t!isDisabled &&\n\t\t\t\t\ttargetClassList &&\n\t\t\t\t\t(targetClassList.contains('person-cell-avatar') ||\n\t\t\t\t\t\ttargetClassList.contains('person-cell-link'))\n\t\t\t\t) {\n\t\t\t\t\tdispatch(SN_LIST_GALLERY_PERSON_CLICKED, {\n\t\t\t\t\t\tcell,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\tsize={iconSize}\n\t\t\t\t\tuserName={name}\n\t\t\t\t\timageSrc={imageSrc}\n\t\t\t\t\tkey={personKey}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{shouldDisplayName\n\t\t\t\t? renderPersonText(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tisDisabled,\n\t\t\t\t\t\tpersonKey,\n\t\t\t\t\t\thighlightedContent,\n\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-pill';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getHiddenPillsTooltip } from '../fieldUtil';\n\nimport { DEFAULT_PILL_SIZE } from './constants';\n\nconst { getValue } = cellSelectors;\nconst { getMaxPillLimit, getColumnLabel } = columnSelectors;\n\n/**\n * @param {Now.Dispatch} dispatch seismic dispatch\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @param {string} columnLabel\n */\nfunction hiddenPillsMessage(dispatch, values, maxPillLimit, columnLabel) {\n\tconst hiddenPillsCount = values.length - maxPillLimit;\n\tconst hiddenPillsTooltip = getHiddenPillsTooltip(values, maxPillLimit);\n\tconst hiddenPillsDescription = ` ${t(\n\t\t'hidden {0}:',\n\t\tcolumnLabel\n\t)} ${hiddenPillsTooltip}`;\n\tconst idSuffix = values.map((pill) => pill.key.toString().trim()).join('-');\n\tconst descriptionElementId = `pills-sr-text-${idSuffix}`;\n\tconst hiddenPillsMessage =\n\t\tvalues.length > maxPillLimit ? (\n\t\t\t<span\n\t\t\t\tclassName=\"hidden-pills-message\"\n\t\t\t\tdata-tooltip={hiddenPillsTooltip}\n\t\t\t\taria-describedby={descriptionElementId}\n\t\t\t\ttabindex=\"0\" // make the span tabbable\n\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t\t\t}}\n\t\t\t\thook-destroy={({ elm }) => {\n\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{`+${hiddenPillsCount}`}\n\t\t\t\t<span id={descriptionElementId} className=\"sr-only\">\n\t\t\t\t\t{hiddenPillsDescription}\n\t\t\t\t<\/span>\n\t\t\t<\/span>\n\t\t) : (\n\t\t\t''\n\t\t);\n\treturn hiddenPillsMessage;\n}\n\n/**\n * Adds cell size and canDismiss property onto every pill in the props\n *\n * @param {Object} props\n * @param {PillType[]} props.pills\n * @param {string} props.rowKey\n * @param {Now.Dispatch} props.dispatch seismic dispatch\n * @param {'sm' | 'xs'} [props.pillSize] default: `sm`\n * @return An array of pill components.\n */\nconst renderPills = (props) => {\n\tconst { dispatch, pills, pillSize = DEFAULT_PILL_SIZE, rowKey } = props;\n\n\tconst pillRef = createRef();\n\n\tconst renderedPills = pills.map((pill) => (\n\t\t<now-pill\n\t\t\tkey={pill.key}\n\t\t\tref={pillRef}\n\t\t\tlabel={pill.label}\n\t\t\tsize={pillSize}\n\t\t\tcanDismiss={false}\n\t\t\tclassName=\"pill-cell-pill\"\n\t\t\tselected=\"false\"\n\t\t\tmanageSelected=\"false\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpillKey: pill.key,\n\t\t\t\trowKey,\n\t\t\t\tpills,\n\t\t\t\tpillRef,\n\t\t\t}}\n\t\t\t{...createElementObservationProps(dispatch, 'pill-cell-type')}\n\t\t/>\n\t));\n\n\treturn <Fragment>{renderedPills}<\/Fragment>;\n};\n\n/**\n * This subview renders the content of a pill cell.\n * Returns pills and an optional hidden pills message.\n *\n * @param {Object} params\n * @param {Object} params.props\n * @param {PillsCellType} params.props.cell an object representing this cell\n * @param {string} params.props.rowKey\n * @param {ProcessedColumn} params.props.column an object representing this cell's parent column\n * @param {Now.Dispatch} params.dispatch seismic dispatch\n * @param {'sm' | 'xs'} [params.pillSize] default: `sm`\n * @param {number} [params.maxPillLimit] show pills up to this specified limit\n */\nexport const pillsView = ({\n\tprops,\n\tdispatch,\n\tpillSize = DEFAULT_PILL_SIZE,\n\tmaxPillLimit,\n}) => {\n\tconst { cell, column } = props;\n\tconst values = getValue(cell);\n\tconst newMaxPillLimit =\n\t\tmaxPillLimit === undefined ? getMaxPillLimit(column) : maxPillLimit;\n\tconst columnLabel = getColumnLabel(column);\n\tconst newPills = values.slice(0, newMaxPillLimit);\n\tconst pillList = renderPills({\n\t\t...props,\n\t\tpills: newPills,\n\t\tdispatch,\n\t\tpillSize,\n\t});\n\tconst pillsCellClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'pills-cell-content': true,\n\t\t// Used to increase width of cell container if hidden count is not shown. Default: `false`.\n\t\t'is-hidden-count-shown': Array.isArray(cell.value)\n\t\t\t? cell.value.length > newMaxPillLimit\n\t\t\t: false,\n\t});\n\t// Setting aria-label for upto newMaxPillLimit number of pills, and \"Press Enter for more pills\" for more pills\n\t// todo this aria-label might be redundant as it might not be captured by screen readers\n\tlet pillsAriaLabel = newPills\n\t\t.map((/** @type {{ label: string; }} */ pillValue) => pillValue.label)\n\t\t.join(', ');\n\tpillsAriaLabel +=\n\t\tvalues.length > newMaxPillLimit ? '. Press Enter for more pills' : '';\n\treturn (\n\t\t<div className=\"pill-container\">\n\t\t\t<div\n\t\t\t\tclassName={pillsCellClassNames}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={t('{0}', pillsAriaLabel)}\n\t\t\t>\n\t\t\t\t{pillList}\n\t\t\t\t{hiddenPillsMessage(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tvalues,\n\t\t\t\t\tnewMaxPillLimit,\n\t\t\t\t\tcolumnLabel\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../utils/customLoader';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nconst {\n\tgetColumnComponentTag,\n\tgetColumnDefaultComponentProperties,\n\tgetCellContentDimensions,\n\tgetColumnPlaceholderDimensions,\n} = columnSelectors;\n\n/**\n * This subview renders the content of a custom component cell\n *\n * @param {Object} props\n * @param {CustomCellType} props.cell an object representing this custom components cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for the table\n * @param {string} props.dir a string value that represents the language direction\n * @param {Now.Dispatch} dispatch seismic dispatch\n */\nexport const customComponent = (props, dispatch) => {\n\tconst { cell, column, tableMetadata, dir } = props;\n\tconst { componentProps } = cell;\n\tconst componentTag = getColumnComponentTag(column);\n\tconst defaultComponentProps = getColumnDefaultComponentProperties(column);\n\tconst properties = { ...defaultComponentProps, ...componentProps };\n\tconst { height: cellHeight, width: cellWidth } = getCellContentDimensions(\n\t\tcolumn\n\t);\n\tconst cellContentStyle = {\n\t\t...(cellHeight && { height: cellHeight }),\n\t\t...(cellWidth && { width: cellWidth }),\n\t};\n\tconst { height, width } = getColumnPlaceholderDimensions(column);\n\tconst placeholderContentStyle = {\n\t\t...(height && { height }),\n\t\t...(width && { width }),\n\t};\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.CELL,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tproperties,\n\t\tdir,\n\t\tcellContentStyle,\n\t\tplaceholderContentStyle,\n\t\tdispatch\n\t);\n};\n","import classNames from 'classnames';\nimport set from 'lodash/set';\n\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\nimport {\n\tbooleanView,\n\tchoiceView,\n\tdateTimeView,\n\ticonView,\n\tnumberView,\n\tstringView,\n\turlView,\n\tlinkView,\n\tpersonView,\n\tpercentCompleteView,\n\tcurrencyView,\n} from '../../shared/views/fields';\nimport { customComponent } from '../../shared/views/fields/customComponent/customComponent';\nimport { PERSON_FIELD_ICON_SIZE } from '../../shared/views/fields/person/constants';\nimport {\n\tMAX_PILL_COUNT_FOR_GALLERY,\n\tXS_PILL_SIZE,\n} from '../../shared/views/fields/pills/constants';\nimport { pillsView } from '../../shared/views/fields/pills/pills';\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_CHOICE,\n\tTYPE_DATE_TIME,\n\tTYPE_ICON,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_LINK,\n\tTYPE_NUMBER,\n\tTYPE_PERSON,\n\tTYPE_URL,\n\tTYPE_CURRENCY,\n\tTYPE_PILLS,\n\tTYPE_CUSTOM,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { SN_LIST_GALLERY_CELL_LINK_CLICKED } from '../constants/actionConstants';\n\nimport { CLASSNAMES } from './layoutConstants';\n\nconst { hasHighlightedValue } = cellSelectors;\n\n/**\n * This galleryCardField renders the field valid with label\n *\n * @param {FieldRendererProps} fieldProps\n */\nexport const galleryCardField = (fieldProps) => {\n\tconst { column, options, showMoreWhenTruncated } = fieldProps;\n\tconst { showLabel = true } = options || {};\n\tconst fieldContentClasses = classNames({\n\t\t[CLASSNAMES.SN_LIST_GALLERY_FIELD_VALUE]: true,\n\t\t[`field-${column ? column.type : 'type-unset'}`]: true,\n\t});\n\n\treturn (\n\t\t<div key={column?.key} className={CLASSNAMES.SN_LIST_GALLERY_FIELD}>\n\t\t\t{showLabel && (\n\t\t\t\t<label\n\t\t\t\t\tdata-truncation\n\t\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_FIELD_LABEL}\n\t\t\t\t>\n\t\t\t\t\t{column?.label}\n\t\t\t\t<\/label>\n\t\t\t)}\n\t\t\t<div className={fieldContentClasses}>\n\t\t\t\t{showMoreWhenTruncated ? (\n\t\t\t\t\t<sn-truncated-text-more text={fieldProps.cell.value} />\n\t\t\t\t) : (\n\t\t\t\t\tgalleryCardFieldValue(fieldProps)\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * This galleryCardFieldValue renders value based on field type\n *\n * @param {FieldRendererProps} fieldProps\n */\nexport const galleryCardFieldValue = (fieldProps) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tdispatch,\n\t\trow,\n\t\trowKey,\n\t\tfetchedComponents,\n\t\tdir,\n\t\tfieldKey,\n\t\twrapCellContentEnabled,\n\t} = fieldProps;\n\tconst type = column?.type;\n\tconst isHighlightedValue = hasHighlightedValue(cell);\n\tset(cell, 'type', type);\n\n\tconst dataFieldProps = {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tisHighlightedValue,\n\t\trow,\n\t\trowKey,\n\t\tfieldKey,\n\t\tclickEventName: SN_LIST_GALLERY_CELL_LINK_CLICKED,\n\t\twrapCellContentEnabled,\n\t};\n\tconst customComponentProps = {\n\t\ttableMetadata: { fetchedComponents },\n\t\tdir,\n\t\t...dataFieldProps,\n\t};\n\n\tswitch (column?.type) {\n\t\tcase TYPE_NUMBER:\n\t\t\treturn numberView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn dateTimeView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn booleanView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_CHOICE:\n\t\t\treturn choiceView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_CURRENCY:\n\t\t\treturn currencyView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_ICON:\n\t\t\treturn iconView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_PERCENT_COMPLETE:\n\t\t\treturn percentCompleteView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_URL:\n\t\t\treturn urlView(dataFieldProps);\n\t\tcase TYPE_LINK:\n\t\t\treturn linkView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_PERSON:\n\t\t\t// TODO: Handle recent updates prop for person view when making changes for now-list-grid\n\t\t\treturn personView(\n\t\t\t\t{\n\t\t\t\t\t...dataFieldProps,\n\t\t\t\t\ticonSize: PERSON_FIELD_ICON_SIZE,\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t);\n\t\tcase TYPE_PILLS:\n\t\t\treturn pillsView({\n\t\t\t\tprops: dataFieldProps,\n\t\t\t\tdispatch,\n\t\t\t\t// fixme: could be done in a better way if support is provided by @servicenow/now-pill\n\t\t\t\t// to automatically show count depending on space available\n\t\t\t\tmaxPillLimit: MAX_PILL_COUNT_FOR_GALLERY,\n\t\t\t\t// https://www.figma.com/design/NpuDKqJ3qbhqaErd919gAQ/List%3A-Gallery-layout?node-id=9747-238075&t=qBFQC76Y7MlaZcIw-4\n\t\t\t\tpillSize: XS_PILL_SIZE,\n\t\t\t});\n\t\tcase TYPE_CUSTOM:\n\t\t\treturn customComponent(customComponentProps, dispatch);\n\t\tdefault:\n\t\t\treturn stringView(\n\t\t\t\t{ ...dataFieldProps, isHighlightedValue },\n\t\t\t\tdispatch,\n\t\t\t\tfalse\n\t\t\t);\n\t}\n};\n","import { t } from 'sn-translate';\n\nexport const SN_TRUNCATED_TEXT_SHOW_MORE = 'SN_TRUNCATED_TEXT_MORE#SHOW_MORE';\nexport const SN_TRUNCATED_TEXT_SHOW_TOOLTIP =\n\t'SN_TRUNCATED_TEXT_MORE#SHOW_TOOLTIP';\n\nexport const MORE_BUTTON_LABEL = t('More');\n","import tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { isOverflowing } from '../../../shared/utils/tooltipUtil';\n\nimport {\n\tSN_TRUNCATED_TEXT_SHOW_MORE,\n\tSN_TRUNCATED_TEXT_SHOW_TOOLTIP,\n} from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-truncated-text-more', {\n\tview,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tsetInitialState: () => ({\n\t\tshowMore: false,\n\t\ttooltipOpen: false,\n\t}),\n\tproperties: {\n\t\ttext: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior, truncationBehavior],\n\tactionHandlers: {\n\t\t[SN_TRUNCATED_TEXT_SHOW_MORE]: (coeffects) => {\n\t\t\tconst { action, updateState } = coeffects;\n\t\t\tconst { node } = action.payload;\n\t\t\tconst element = node.elm;\n\t\t\tif (isOverflowing(element)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowMore: true,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[SN_TRUNCATED_TEXT_SHOW_TOOLTIP]: (coeffects) => {\n\t\t\tconst { dispatch, updateState, state, action } = coeffects;\n\t\t\tconst { currentTarget, type } = action.payload;\n\t\t\tlet showTooltip = false;\n\t\t\t// when user clicks on More, if tooltip is already open we need to hide it\n\t\t\tif (type === 'click' && state.tooltipOpen) {\n\t\t\t\tcurrentTarget.blur();\n\t\t\t}\n\t\t\tif (!state.tooltipOpen && type !== 'focusout') {\n\t\t\t\tshowTooltip = true;\n\t\t\t}\n\t\t\tconst textElement = currentTarget.parentElement.querySelector(\n\t\t\t\t'.gallery-card-field-body-text'\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\ttooltipOpen: showTooltip ? true : false,\n\t\t\t});\n\t\t\treturn dispatch(showTooltip ? TOOLTIP_SHOW : TOOLTIP_HIDE, {\n\t\t\t\ttarget: textElement,\n\t\t\t});\n\t\t},\n\t},\n});\n","import {\n\tMORE_BUTTON_LABEL,\n\tSN_TRUNCATED_TEXT_SHOW_MORE,\n\tSN_TRUNCATED_TEXT_SHOW_TOOLTIP,\n} from './constants';\n\n/**\n * @param {*} state\n * @param {*} coeffects\n */\nexport default function view(state, coeffects) {\n\tconst {\n\t\tproperties: { text },\n\t\tshowMore,\n\t} = state;\n\tconst { dispatch } = coeffects;\n\treturn (\n\t\t<div className={'gallery-card-field-body-text-container'}>\n\t\t\t<div\n\t\t\t\tclassName=\"gallery-card-field-body-text\"\n\t\t\t\tdata-tooltip={text}\n\t\t\t\tdata-tooltipposition={['bottom-center', 'top-center']}\n\t\t\t\thook-insert={(node) =>\n\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_MORE, { node })\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t<\/div>\n\t\t\t{showMore ? (\n\t\t\t\t<now-button-bare\n\t\t\t\t\thideBlockPadding\n\t\t\t\t\tsize={'sm'}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': MORE_BUTTON_LABEL,\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={(\n\t\t\t\t\t\t/** @type {{ currentTarget: any; type: any; }} */ e\n\t\t\t\t\t) =>\n\t\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_TOOLTIP, {\n\t\t\t\t\t\t\tcurrentTarget: e.currentTarget,\n\t\t\t\t\t\t\ttype: e.type,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\ton-focusout={(\n\t\t\t\t\t\t/** @type {{ currentTarget: any; type: any; }} */ e\n\t\t\t\t\t) =>\n\t\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_TOOLTIP, {\n\t\t\t\t\t\t\tcurrentTarget: e.currentTarget,\n\t\t\t\t\t\t\ttype: e.type,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tlabel={MORE_BUTTON_LABEL}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n}\n","import { isMobile } from '../../shared/utils/mobileUtils';\n\nimport { galleryCardField } from './galleryCardField';\nimport { CLASSNAMES } from './layoutConstants';\nimport './truncatedTextMore/index';\n\n/**\n * galleryCardHeader to render the Card Header with title and card actions\n * @param {Object} fieldProps;\n * @param {Record<string, any>} fieldProps.cardFieldData;\n * @param {Row} fieldProps.cardItem;\n * @param {Now.Dispatch} fieldProps.dispatch;\n * @param {RowActions | undefined} fieldProps.actions;\n * @param {{ contextApi?: any,[key: string]: any;  }} fieldProps.context;\n */\nconst galleryCardBody = (fieldProps) => {\n\tconst { cardFieldData, dispatch, context } = fieldProps;\n\tconst { contextApi } = context || {};\n\tconst { bodyText, supplementaryFields } = cardFieldData;\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY}>\n\t\t\t{bodyText?.cell && (\n\t\t\t\t<div>\n\t\t\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY_TEXT}>\n\t\t\t\t\t\t{galleryCardField({\n\t\t\t\t\t\t\t...bodyText,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tshowMoreWhenTruncated: isMobile(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY_FIELDS}>\n\t\t\t\t{supplementaryFields &&\n\t\t\t\t\tsupplementaryFields.map((\n\t\t\t\t\t\t/** @type {FieldRendererProps} */ fieldItem\n\t\t\t\t\t) => {\n\t\t\t\t\t\treturn galleryCardField({\n\t\t\t\t\t\t\t...fieldItem,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tcontextApi,\n\t\t\t\t\t\t});\n\t\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default galleryCardBody;\n","export const isMobile = () => {\n\tconst mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i;\n\treturn mobileRegex.test(navigator.userAgent);\n};\n","import '@servicenow/now-highlighted-value';\nimport { t } from 'sn-translate';\n\n// Tooltip text constants - memoized for performance\nconst AI_TOOLTIP_CREATED = t(\n\t'This record was generated by Now Assist. Check for accuracy.'\n);\nconst AI_TOOLTIP_MODIFIED = t(\n\t'One or more fields in this record were predicted by Now Assist using data in other fields. Check for accuracy.'\n);\nconst AI_TOOLTIP_FOR_HEIRARCHY = t(\n\t'Some records in this group were generated or include fields predicted by Now Assist. Check for accuracy.'\n);\n\n/**\n *\n * @param {*} row\n * @returns\n */\nexport const renderAIIndicatorIcon = (row) => {\n\tconst { aiIndicatorInfo } = row;\n\tconst toolTipText = aiIndicatorInfo?.isAiCreatedRow\n\t\t? AI_TOOLTIP_CREATED\n\t\t: aiIndicatorInfo?.isAiModifiedRow\n\t\t? AI_TOOLTIP_MODIFIED\n\t\t: aiIndicatorInfo?.isAICreatedOrModifiedChildren\n\t\t? AI_TOOLTIP_FOR_HEIRARCHY\n\t\t: '';\n\n\treturn (\n\t\t<span\n\t\t\tclassName=\"ai-indicator-wrapper\"\n\t\t\trole=\"img\"\n\t\t\taria-label={toolTipText}\n\t\t>\n\t\t\t<now-highlighted-value\n\t\t\t\tsize=\"sm\"\n\t\t\t\tcolor=\"ai\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"ai-sparkle-fill\"\n\t\t\t\ttooltipContent={toolTipText}\n\t\t\t\tlabel=\"AI\"\n\t\t\t\tshowIcon={true}\n\t\t\t/>\n\t\t<\/span>\n\t);\n};\n\n/**\n *\n * @param {*} cellContent\n * @param {*} row\n * @returns\n */\nexport function appendAIIndicatorToCellContent(cellContent, row) {\n\treturn (\n\t\t<div className=\"ai-indicator-cell-wrapper\">\n\t\t\t<div className=\"ai-indicator-icon-container\">\n\t\t\t\t{renderAIIndicatorIcon(row)}\n\t\t\t<\/div>\n\t\t\t<div className=\"ai-indicator-content-container\">{cellContent}<\/div>\n\t\t<\/div>\n\t);\n}\n","import { t } from 'sn-translate';\n\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { getTooltipProps } from '../../shared/utils/tooltipUtil';\nimport { renderAIIndicatorIcon } from '../../shared/views/shared/aiIndicatorIcon';\nimport { NOW_CARD_HEADER_ACTION_CLICKED } from '../constants/actionConstants';\nimport { splitActions } from '../utils/galleryCardUtils';\n\nimport { galleryCardFieldValue } from './galleryCardField';\nimport {\n\tCARD_ACTION_ICON_SIZE_SMALL,\n\tCARD_ACTION_ICON_SIZE_MEDIUM,\n\tCARD_DROPDOWN_ID,\n\tCARD_DROPDOWN_ICON,\n\tNOW_BARE_BUTTON_TERTIARY,\n\tCLASSNAMES,\n} from './layoutConstants';\n\n/**\n * Render label for the now-card-header fields\n * @param {FieldRendererProps} field\n * @param {Row} cardItem\n * @param {Now.Dispatch} dispatch\n * @param {boolean} hasAIIndicator\n * @returns {any}\n */\nconst renderHeaderLabel = (field, cardItem, dispatch, hasAIIndicator) => {\n\tif (!field?.cell) return null;\n\tvar label = undefined;\n\tif (hasAIIndicator) {\n\t\tlabel = renderHeaderField({\n\t\t\t...field,\n\t\t\tdispatch,\n\t\t\trow: cardItem,\n\t\t});\n\t} else {\n\t\tlabel = renderField({\n\t\t\t...field,\n\t\t\tdispatch,\n\t\t\trow: cardItem,\n\t\t});\n\t}\n\treturn label;\n};\n\n/**\n * galleryCardHeader to render the Card Header with title and card actions\n * @param {Object} fieldProps;\n * @param {Record<string, FieldRendererProps>} fieldProps.cardFieldData;\n * @param {RowActions | any} fieldProps.actions;\n * @param {Row} fieldProps.cardItem;\n * @param {ContextProps} fieldProps.context;\n * @param {Now.Dispatch} fieldProps.dispatch;\n */\nconst galleryCardHeader = (fieldProps) => {\n\tconst {\n\t\tcardFieldData,\n\t\tactions = {},\n\t\tcardItem,\n\t\tcontext,\n\t\tdispatch,\n\t} = fieldProps;\n\n\tconst { heading, tagline, metadata } = cardFieldData;\n\tconst { defaultActions, dropdownActions } = splitActions(actions, context);\n\tconst actionIconSize = tagline?.cell\n\t\t? CARD_ACTION_ICON_SIZE_SMALL\n\t\t: CARD_ACTION_ICON_SIZE_MEDIUM;\n\n\tconst hasAIIndicator = rowSelectors.isAIModifiedOrCreatedRow(cardItem);\n\n\t// Determine AI indicator priority and placement\n\tconst {\n\t\tshowIndicatorInTagline,\n\t\tshowIndicatorInHeading,\n\t\tshowIndicatorStandalone,\n\t} = {\n\t\tshowIndicatorInTagline: !!(tagline?.cell && hasAIIndicator),\n\t\tshowIndicatorInHeading: !!(\n\t\t\t!tagline?.cell &&\n\t\t\theading?.cell &&\n\t\t\thasAIIndicator\n\t\t),\n\t\tshowIndicatorStandalone: !!(\n\t\t\t!tagline?.cell &&\n\t\t\t!heading?.cell &&\n\t\t\thasAIIndicator\n\t\t),\n\t};\n\n\tconst headingLabel = renderHeaderLabel(\n\t\theading,\n\t\tcardItem,\n\t\tdispatch,\n\t\tshowIndicatorInHeading\n\t);\n\tlet finalTaglineLabel = renderHeaderLabel(\n\t\ttagline,\n\t\tcardItem,\n\t\tdispatch,\n\t\tshowIndicatorInTagline\n\t);\n\n\tif (showIndicatorStandalone)\n\t\tfinalTaglineLabel = (\n\t\t\t<div part=\"ai-indicator-wrapper\">\n\t\t\t\t{renderAIIndicatorIcon(cardItem)}\n\t\t\t<\/div>\n\t\t);\n\n\treturn (\n\t\t<now-card-header\n\t\t\theading={{\n\t\t\t\t...(heading?.cell ? { label: headingLabel } : null),\n\t\t\t\tsize: CARD_ACTION_ICON_SIZE_MEDIUM,\n\t\t\t}}\n\t\t\ttagline={{\n\t\t\t\t...(finalTaglineLabel ? { label: finalTaglineLabel } : null),\n\t\t\t}}\n\t\t\tdropdowns={\n\t\t\t\tdropdownActions.length && [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: CARD_DROPDOWN_ID,\n\t\t\t\t\t\titems: dropdownActions,\n\t\t\t\t\t\ticon: CARD_DROPDOWN_ICON,\n\t\t\t\t\t\tlabel: t('Card actions'),\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"metadata\"\n\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_CARD_METADATA}\n\t\t\t>\n\t\t\t\t{metadata?.cell && (\n\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\tlabel={renderField({\n\t\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\trow: cardItem,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tCLASSNAMES.SN_LIST_GALLERY_CARD_HIGHLIGHTED_VALUE\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{renderDefaultActions(defaultActions, actionIconSize, dispatch)}\n\t\t\t<\/div>\n\t\t<\/now-card-header>\n\t);\n};\n\n// Render default actions for the card, < 4 actions will be rendered as buttons, rest will be rendered in dropdown\nconst renderDefaultActions = (\n\t/** @type {RowActionItem[]} */ defaultActions,\n\t/** @type {string} */ size,\n\t/** @type {Now.Dispatch} */ dispatch\n) => {\n\tif (!defaultActions.length) return null;\n\n\tconst defaultActionButtons = defaultActions.map((action) => (\n\t\t<now-button-iconic\n\t\t\tbare\n\t\t\ticon={action?.icon || null}\n\t\t\tsize={size}\n\t\t\tvariant={NOW_BARE_BUTTON_TERTIARY}\n\t\t\thide-padding={\n\t\t\t\tsize === CARD_ACTION_ICON_SIZE_MEDIUM ? true : undefined\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: { 'aria-label': action.label },\n\t\t\t}}\n\t\t\ton-click={() =>\n\t\t\t\tdispatch(NOW_CARD_HEADER_ACTION_CLICKED, {\n\t\t\t\t\taction,\n\t\t\t\t})\n\t\t\t}\n\t\t\t{...getTooltipProps(action.label, dispatch)}\n\t\t\tappend-to-payload={{ context: { action } }}\n\t\t/>\n\t));\n\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_CARD_DEFAULT_ACTIONS}>\n\t\t\t{defaultActionButtons}\n\t\t<\/div>\n\t);\n};\n\nconst renderField = (/** @type {FieldRendererProps} */ fieldProps) => {\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_HEADER_FIELD}>\n\t\t\t{galleryCardFieldValue(fieldProps)}\n\t\t<\/div>\n\t);\n};\n\nconst renderHeaderField = (/** @type {FieldRendererProps} */ fieldProps) => {\n\treturn (\n\t\t<div part=\"ai-indicator-wrapper\">\n\t\t\t{renderAIIndicatorIcon(fieldProps.row)}\n\t\t\t{galleryCardFieldValue(fieldProps)}\n\t\t<\/div>\n\t);\n};\n\nexport default galleryCardHeader;\n","import { t } from 'sn-translate';\n\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { getTooltipProps } from '../../shared/utils/tooltipUtil';\nimport { getCardFieldValue } from '../utils/galleryCardUtils';\n\nimport galleryCardBody from './galleryCardBody';\nimport galleryCardHeader from './galleryCardHeader';\nimport {\n\tCARD_SIDEBAR_COLOR,\n\tCARD_SIDEBAR_VARIANT,\n\tSN_LIST_GALLERY_CARD_INTERACTIONS,\n} from './layoutConstants';\n\n/**\n * This galleryCardItem renders the basic card component composition.\n *\n * @param {Object} props\n * @param {Row} props.cardItem\n * @param {FieldDefinitions} props.fieldDefinitions\n * @param {CardProperties} props.cardProperties\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst galleryCardItem = (props) => {\n\tconst {\n\t\tcardItem,\n\t\tfieldDefinitions: { galleryConfig, fieldMappings },\n\t\tdispatch,\n\t\tcardProperties,\n\t\tcontext,\n\t} = props;\n\n\tconst { actions, selectionEnabled } = cardProperties || {};\n\n\tconst { rowSelectionState: { selectedRows = {} } = {}, cardIndex } =\n\t\tcontext || {};\n\n\tconst {\n\t\toptions: {\n\t\t\tenableOnlySingleSelection = false,\n\t\t\tgalleryItemTooltip = '',\n\t\t} = {},\n\t} = galleryConfig || {};\n\n\tconst {\n\t\tvisualTreatment: { isHighlighted = false } = {},\n\t\tkey,\n\t\tselectionDisabled,\n\t} = cardItem;\n\n\tconst cardFieldData = {\n\t\t...getCardFieldValue(\n\t\t\tgalleryConfig,\n\t\t\tcardItem,\n\t\t\tfieldMappings,\n\t\t\tcardProperties\n\t\t),\n\t};\n\n\tconst fieldProps = {\n\t\tcardFieldData,\n\t\tactions,\n\t\tcardItem,\n\t\tcontext,\n\t\tdispatch,\n\t};\n\tconst isSelected = rowSelectors.isRowChecked(selectedRows, cardItem.key);\n\tconst ariaLabel = cardFieldData.heading.cell?.label || '';\n\n\tconst ariaSelectedState = selectionEnabled && isSelected ? 'true' : 'false';\n\tconst updatedgalleryItemTooltip = selectionEnabled\n\t\t? !isSelected\n\t\t\t? t('Select Record')\n\t\t\t: ''\n\t\t: galleryItemTooltip;\n\n\treturn (\n\t\t<now-card\n\t\t\tinteraction={\n\t\t\t\tselectionDisabled\n\t\t\t\t\t? SN_LIST_GALLERY_CARD_INTERACTIONS.NONE\n\t\t\t\t\t: selectionEnabled\n\t\t\t\t\t? SN_LIST_GALLERY_CARD_INTERACTIONS.SELECT\n\t\t\t\t\t: SN_LIST_GALLERY_CARD_INTERACTIONS.CLICK\n\t\t\t}\n\t\t\thideShadow={selectionDisabled}\n\t\t\tselected={isSelected}\n\t\t\t// manage-selected\n\t\t\tappend-to-payload={{\n\t\t\t\trowKey: key,\n\t\t\t\tchecked: !isSelected,\n\t\t\t\tcardItem,\n\t\t\t\trowIndex: context?.cardIndex,\n\t\t\t\tenableOnlySingleSelection,\n\t\t\t}}\n\t\t\t// Enable the sidebar only if the card is highlighted\n\t\t\tsidebar={\n\t\t\t\tisHighlighted\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcolor: CARD_SIDEBAR_COLOR,\n\t\t\t\t\t\t\tvariant: CARD_SIDEBAR_VARIANT,\n\t\t\t\t\t  }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: !selectionDisabled\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\trole: enableOnlySingleSelection\n\t\t\t\t\t\t\t\t? 'radio'\n\t\t\t\t\t\t\t\t: 'checkbox',\n\t\t\t\t\t\t\t'aria-checked': ariaSelectedState,\n\t\t\t\t\t  }\n\t\t\t\t\t: {},\n\t\t\t}}\n\t\t\t{...getTooltipProps(updatedgalleryItemTooltip, dispatch)}\n\t\t\tdata-navIndex={(cardIndex ?? 0) + 1}\n\t\t>\n\t\t\t{galleryCardHeader(fieldProps)}\n\t\t\t{galleryCardBody(fieldProps)}\n\t\t<\/now-card>\n\t);\n};\n\nexport default galleryCardItem;\n","import { t } from 'sn-translate';\n\nimport { GROUP_ACTION_CLICKED } from '../constants';\n\nexport const renderGroupedActions = (\n\t/** @type {Row} */ cardItem,\n\t/** @type {Now.Dispatch} */ dispatch\n) => {\n\tconst { groupActions = [] } = cardItem;\n\tconst actionCount = groupActions.length === 1;\n\tconst context = {\n\t\trow: cardItem,\n\t\ttypeOfAction: 'groupAction',\n\t};\n\n\tconst actionClickHandler = (/** @type {Event} */ event) => {\n\t\tif (actionCount) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tdispatch(GROUP_ACTION_CLICKED, {\n\t\t\t\titem: groupActions[0],\n\t\t\t\tcontext,\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tslot=\"metadata\"\n\t\t\tselect=\"none\"\n\t\t\titems={groupActions}\n\t\t\tappend-to-payload={{ context }}\n\t\t\ton-click={(/** @type {Event} */ event) => event.stopPropagation()}\n\t\t\tconfig-aria={{\n\t\t\t\tpanel: { 'aria-label': t('Custom group action button') },\n\t\t\t}}\n\t\t>\n\t\t\t{actionCount ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\tlabel={groupActions[0].label}\n\t\t\t\t\tdata-testId=\"groupAction\"\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ton-click={actionClickHandler}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"ellipsis-v-fill\"\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t\ton-click={actionClickHandler}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/now-dropdown-custom-target>\n\t);\n};\n\nconst buttonProps = {\n\tsize: 'md',\n\tslot: 'trigger',\n\tvariant: 'tertiary',\n\t'config-aria': {\n\t\tbutton: { 'aria-label': t('Group Action') },\n\t},\n};\n","import rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport { renderGroupedActions } from '../../../shared/views/groupActions';\nimport { renderAIIndicatorIcon } from '../../../shared/views/shared/aiIndicatorIcon';\nimport { CLASSNAMES } from '../layoutConstants';\n\nimport galleryCardViewDefault from './galleryCardViewDefault';\n\nconst defaultItemHeaderProps = {\n\tweight: 'normal',\n\tsize: 'md',\n\tvariant: 'primary',\n};\n\nconst badgeProps = {\n\tslot: 'identifier',\n\tstatus: 'gray',\n\tvariant: 'secondary',\n\tsize: 'sm',\n};\n\n/**\n * This galleryCard renders the basic card component composition.\n *\n * @param {Object} props\n * @param {Row} props.cardItem\n * @param {FieldDefinitions} props.fieldDefinitions\n * @param {CardProperties} props.cardProperties\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst galleryCardViewGrouped = (props) => {\n\tconst {\n\t\tcardItem,\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t\tcontext,\n\t\tdispatch,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tkey={cardItem.key}\n\t\t\ttest-id={cardItem.key}\n\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_GROUPED_VIEW}\n\t\t>\n\t\t\t<now-accordion\n\t\t\t\tkey={`${cardItem.key}'-accordion`}\n\t\t\t\theading-level={3}\n\t\t\t\ttrigger-icon={{ position: '' }}\n\t\t\t\thide-dividers\n\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_NOW_ACCORDION}\n\t\t\t>\n\t\t\t\t{cardItem &&\n\t\t\t\t\tgalleryGroupedItem(\n\t\t\t\t\t\tcardItem,\n\t\t\t\t\t\tfieldDefinitions,\n\t\t\t\t\t\tcardProperties,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t)}\n\t\t\t<\/now-accordion>\n\t\t<\/div>\n\t);\n};\n\n/**\n * This galleryCard renders the basic card component composition.\n *\n * @param {Row} cardItem\n * @param {FieldDefinitions} fieldDefinitions\n * @param {CardProperties} cardProperties\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst galleryGroupedItem = (\n\tcardItem,\n\tfieldDefinitions,\n\tcardProperties,\n\tcontext,\n\tdispatch\n) => {\n\tconst {\n\t\tgroupedRowLabel,\n\t\tgroupedRowCount: count,\n\t\tgroupedRowCountChar: char = '',\n\t\tkey,\n\t\tchildren,\n\t} = cardItem;\n\n\tconst galleryDataDefinitions = {\n\t\tcards: children || [],\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t};\n\n\tconst { groupingState = { expandedGroupsArray: [''] }, cardIndex } =\n\t\tcontext || {};\n\n\tconst { expandedGroupsArray } = groupingState;\n\tconst shouldShowAIIndicator = rowSelectors.isAIModifiedOrCreatedRow(\n\t\tcardItem\n\t);\n\n\treturn (\n\t\t<now-accordion-item\n\t\t\texpanded={expandedGroupsArray?.includes(key)}\n\t\t\theader={{\n\t\t\t\tlabel: groupedRowLabel,\n\t\t\t\t...defaultItemHeaderProps,\n\t\t\t}}\n\t\t\tkey={`${cardItem.key}'-accordion-item`}\n\t\t\tappend-to-payload={{ groupContext: cardItem }}\n\t\t>\n\t\t\t<now-icon\n\t\t\t\tslot=\"identifier\"\n\t\t\t\ticon={'chevron-right-outline'}\n\t\t\t\tsize={'md'}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tstyle={{\n\t\t\t\t\ttransitionDuration: '0.2s',\n\t\t\t\t\ttransitionProperty: 'transform',\n\t\t\t\t\ttransform: expandedGroupsArray?.includes(key)\n\t\t\t\t\t\t? 'rotate(90deg)'\n\t\t\t\t\t\t: 'rotate(0deg)',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-badge value={count} character={char} {...badgeProps} />\n\t\t\t{shouldShowAIIndicator && (\n\t\t\t\t<div slot=\"identifier\" className=\"ai-indicator-slot\">\n\t\t\t\t\t{renderAIIndicatorIcon(cardItem)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{renderGroupedActions(cardItem, dispatch)}\n\t\t\t{galleryCardViewDefault(\n\t\t\t\tgalleryDataDefinitions,\n\t\t\t\t{\n\t\t\t\t\t...context,\n\t\t\t\t\tenabledSlot: true,\n\t\t\t\t\tgroupIndex: cardIndex,\n\t\t\t\t\tcardIndex,\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t<\/now-accordion-item>\n\t);\n};\n\nexport default galleryCardViewGrouped;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport galleryCardItem from '../galleryCardItem';\nimport { CLASSNAMES } from '../layoutConstants';\n\nimport galleryCardViewGrouped from './galleryCardViewGrouped';\n\n/**\n * This galleryCardViewDefault renders container composition for the now-card-list.\n * @param {GalleryState} galleryDataDefinitions;\n * @param {ContextProps} context;\n * @param {Now.Dispatch} dispatch;\n */\nconst galleryCardViewDefault = (galleryDataDefinitions, context, dispatch) => {\n\tconst { cards, fieldDefinitions, cardProperties } = galleryDataDefinitions;\n\tconst {\n\t\tenabledSlot = false,\n\t\tgroupingState: { isGroupedData = false } = {},\n\t\tgroupIndex,\n\t\trowSelectionState: { selectedRows } = {},\n\t} = context;\n\tconst galleryContainerClassName = `${\n\t\tCLASSNAMES.SN_LIST_GALLERY_CONTAINER\n\t} ${isGroupedData ? CLASSNAMES.SN_LIST_GALLERY_GROUPED : ''}`;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={galleryContainerClassName}\n\t\t\tslot={enabledSlot ? 'content' : ''}\n\t\t>\n\t\t\t{cards &&\n\t\t\t\tcards.map((cardItem, cardIndex) => {\n\t\t\t\t\tconst props = {\n\t\t\t\t\t\tcardItem,\n\t\t\t\t\t\tfieldDefinitions,\n\t\t\t\t\t\tcardProperties,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...context,\n\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\tcardIndex,\n\t\t\t\t\t\t\tselectedRows,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={cardItem.key}>\n\t\t\t\t\t\t\t{isGroupedData && !cardItem.cells\n\t\t\t\t\t\t\t\t? galleryCardViewGrouped(props)\n\t\t\t\t\t\t\t\t: galleryCardItem(props)}\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t<\/div>\n\t);\n};\n\nexport default galleryCardViewDefault;\n","import isEmpty from 'lodash/isEmpty';\n\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../shared/utils/customLoader';\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tOBSERVE_VIRTUAL_PAGE,\n\tOBSERVE_VIRTUAL_PAGE_FOR_RESIZE,\n\tINITIALIZE_BOTTOM_OBSERVER,\n\tVIRTUAL_PAGE_SIZE,\n\tSCROLL_TO_TOP,\n\tINITIALIZE_FIRST_PAGE_OBSERVER,\n} from '../../behaviors/virtualizedGalleryBehavior/constants';\nimport { SCROLL_TO_TOP_LABEL } from '../layoutConstants';\n\nimport galleryCardViewDefault from './galleryCardViewDefault';\n\n/**\n * Renders custom row based on current status, eg: loader if more pages are being fetched, end of list if no more pages are available\n * @param {Row | null} customRow\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {string} dir\n */\nconst renderCustomRow = (customRow, fetchedComponents, dir) => {\n\tif (!customRow) return null;\n\n\tconst componentTag = rowSelectors.getCustomRowComponentTag(customRow);\n\tconst componentDefaultProps = rowSelectors.getCustomRowComponentProps(\n\t\tcustomRow\n\t);\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.GALLERY_VIRTUALIZED_STATUS_ROW,\n\t\t{ fetchedComponents },\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir,\n\t\t{},\n\t\t{},\n\t\tnull,\n\t\t''\n\t);\n};\n\n/**\n * @param {Now.Dispatch} dispatch\n */\nconst renderScrollToTopButton = (dispatch) => {\n\treturn (\n\t\t<now-button-iconic\n\t\t\tclassName=\"gallery-virtualized-scroll-to-top-button\"\n\t\t\ticon=\"arrow-up-most-outline\"\n\t\t\tsize=\"md\"\n\t\t\tvariant=\"primary\"\n\t\t\tconfigAria={{ 'aria-label': SCROLL_TO_TOP_LABEL }}\n\t\t\ttooltipContent={SCROLL_TO_TOP_LABEL}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(SCROLL_TO_TOP);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n *\n * @param {VirtualPage} virtualPage\n * @param {GalleryState} galleryDataDefinition\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst renderVirtualizedPageContent = (\n\tvirtualPage,\n\tgalleryDataDefinition,\n\tcontext,\n\tdispatch\n) => {\n\tconst { cards, fieldDefinitions, cardProperties } = galleryDataDefinition;\n\tconst { rowStartIndex, rowEndIndex } = virtualPage;\n\tconst galleryDataDefinitions = {\n\t\tcards: cards.slice(rowStartIndex, rowEndIndex + 1),\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t};\n\treturn galleryCardViewDefault(galleryDataDefinitions, context, dispatch);\n};\n\n/**\n * @param {object} props\n * @param {VirtualPage} props.virtualPage\n * @param {number} props.virtualPagesCount\n * @param {number} props.virtualPageHeight\n * @param {GalleryState} props.galleryDataDefinition\n * @param {Array<number>} props.visibleVirtualPages\n * @param {number} props.observedVirtualPageIdForResize\n * @param {Now.Dispatch} props.dispatch\n * @param {ContextProps} props.context\n */\nconst renderVirtualizedPage = (props) => {\n\tconst {\n\t\tvirtualPage,\n\t\tvirtualPagesCount,\n\t\tvirtualPageHeight,\n\t\tvisibleVirtualPages,\n\t\tobservedVirtualPageIdForResize,\n\t\tgalleryDataDefinition,\n\t\tdispatch,\n\t\tcontext,\n\t} = props;\n\n\tconst visibleIndex = visibleVirtualPages.indexOf(virtualPage.id);\n\tconst isLastVisiblePage =\n\t\tvirtualPage.id === virtualPagesCount - 1 && visibleIndex > -1;\n\tconst isObservedPageForResize =\n\t\tobservedVirtualPageIdForResize === virtualPage.id;\n\tconst shouldSetHeight =\n\t\tvirtualPageHeight && !isObservedPageForResize && !isLastVisiblePage;\n\n\treturn (\n\t\t<div\n\t\t\tkey={virtualPage.id}\n\t\t\tstyle={shouldSetHeight ? { height: `${virtualPageHeight}px` } : {}}\n\t\t\tdata-pageid={`${virtualPage.id}`}\n\t\t\tclassName={`container-${virtualPage.id} page-observer-${virtualPage.id}`}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tdispatch(OBSERVE_VIRTUAL_PAGE, {\n\t\t\t\t\tpageId: virtualPage.id,\n\t\t\t\t\tpageElm: elm,\n\t\t\t\t});\n\t\t\t\tif (virtualPage.id === 0) {\n\t\t\t\t\tdispatch(INITIALIZE_FIRST_PAGE_OBSERVER, {\n\t\t\t\t\t\tpageElm: elm,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tif (isObservedPageForResize)\n\t\t\t\t\tdispatch(OBSERVE_VIRTUAL_PAGE_FOR_RESIZE, {\n\t\t\t\t\t\tpageId: virtualPage.id,\n\t\t\t\t\t\tpageElm: elm,\n\t\t\t\t\t});\n\t\t\t}}\n\t\t\tdata-visibleindex={visibleIndex}\n\t\t>\n\t\t\t{visibleVirtualPages.includes(virtualPage.id)\n\t\t\t\t? renderVirtualizedPageContent(\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdispatch\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * @param {VirtualPage} virtualPage\n * @param {VirtualPageDimensions} virtualPageDimensions\n * @param {CardDimensions} cardDimensions\n */\nconst getVirtualPageHeight = (\n\tvirtualPage,\n\tvirtualPageDimensions,\n\tcardDimensions\n) => {\n\tif (isEmpty(virtualPageDimensions) || isEmpty(cardDimensions)) return 0;\n\n\tconst { pageHeight, pageWidth } = virtualPageDimensions;\n\tconst { cardWidth, cardHeight } = cardDimensions;\n\tconst totalCards = virtualPage.rowEndIndex - virtualPage.rowStartIndex + 1;\n\n\tif (totalCards === VIRTUAL_PAGE_SIZE) return pageHeight;\n\tif (cardWidth) {\n\t\tconst noOfCardsInRow = pageWidth / cardWidth;\n\t\tconst noOfRows = totalCards / noOfCardsInRow;\n\t\treturn (noOfRows + 1) * cardHeight;\n\t}\n\treturn pageHeight;\n};\n\n/**\n * @param {object} props\n * @param {GalleryState} props.galleryDataDefinition\n * @param {VirtualizedGalleryBehaviorState} props.virtualizedCardsDefinition\n * @param {string} props.dir\n * @param {Record<string, FetchedComponent>} props.fetchedComponents\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst renderVirtualizedPages = (props) => {\n\tconst {\n\t\tgalleryDataDefinition,\n\t\tvirtualizedCardsDefinition: {\n\t\t\tvirtualPageStore,\n\t\t\tvirtualPageDimensions,\n\t\t\tcardDimensions,\n\t\t\tvisibleVirtualPages,\n\t\t\tobservedVirtualPageIdForResize,\n\t\t\tcustomRow,\n\t\t\tshowScrollToTopButton,\n\t\t},\n\t\tdir,\n\t\tfetchedComponents,\n\t\tcontext,\n\t\tdispatch,\n\t} = props;\n\n\tconst pageStoreKeys = Object.keys(virtualPageStore);\n\tconst hasVirtualPages = pageStoreKeys.length > 0;\n\tconst virtualPagesCount = pageStoreKeys.length;\n\n\treturn (\n\t\t<div className=\"gallery-virtualized-container\">\n\t\t\t<div\n\t\t\t\tid=\"gallery-virtualized-scroll-element\"\n\t\t\t\tkey=\"gallery-virtualized-scroll-element\"\n\t\t\t/>\n\t\t\t<div className=\"gallery-virtualized-page-container\">\n\t\t\t\t{pageStoreKeys.map((pageId) => {\n\t\t\t\t\tconst virtualPage = virtualPageStore[pageId];\n\t\t\t\t\tconst virtualPageHeight = getVirtualPageHeight(\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tvirtualPageDimensions,\n\t\t\t\t\t\tcardDimensions\n\t\t\t\t\t);\n\t\t\t\t\tconst pageProps = {\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tvirtualPagesCount,\n\t\t\t\t\t\tvirtualPageHeight,\n\t\t\t\t\t\tvisibleVirtualPages,\n\t\t\t\t\t\tobservedVirtualPageIdForResize,\n\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t};\n\t\t\t\t\treturn renderVirtualizedPage(pageProps);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t\t{hasVirtualPages ? (\n\t\t\t\t<div\n\t\t\t\t\tkey=\"gallery-virtualized-bottom-observer\"\n\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\tdispatch(INITIALIZE_BOTTOM_OBSERVER, {\n\t\t\t\t\t\t\tobservedBottomElm: elm,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t><\/div>\n\t\t\t) : null}\n\t\t\t{customRow\n\t\t\t\t? renderCustomRow(customRow, fetchedComponents, dir)\n\t\t\t\t: null}\n\t\t\t{showScrollToTopButton ? renderScrollToTopButton(dispatch) : null}\n\t\t<\/div>\n\t);\n};\n\n/**\n * @param {GalleryState} galleryDataDefinition\n * @param {VirtualizedGalleryBehaviorState} virtualizedCardsDefinition\n * @param {string} dir\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst galleryCardViewVirtualized = (\n\tgalleryDataDefinition,\n\tvirtualizedCardsDefinition,\n\tdir,\n\tfetchedComponents,\n\tcontext,\n\tdispatch\n) => {\n\tconst props = {\n\t\tgalleryDataDefinition,\n\t\tvirtualizedCardsDefinition,\n\t\tdir,\n\t\tfetchedComponents,\n\t\tcontext,\n\t\tdispatch,\n\t};\n\treturn renderVirtualizedPages(props);\n};\n\nexport default galleryCardViewVirtualized;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport { getVirtualizedBehaviorState } from '../behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior';\n\nimport { renderActionableMessage } from './actionableMessage/actionableMessage';\nimport galleryCardViewDefault from './galleryLayouts/galleryCardViewDefault';\nimport galleryCardViewVirtualized from './galleryLayouts/galleryCardViewVirtualized';\nimport { renderGroupedViewToggleButton } from './galleryLayouts/groupedViewToggle';\nimport { CLASSNAMES } from './layoutConstants';\n\n/**\n * @type {View<GalleryProps, State>}\n * This galleryView renders container composition for the now-card-list.\n */\nconst galleryView = (state, { dispatch }) => {\n\tconst {\n\t\tcards,\n\t\tfieldDefinitions,\n\t\tgroupingState,\n\t\tcardProperties,\n\t\tbehaviors: {\n\t\t\tmediaQuery: { isMobile },\n\t\t},\n\t} = state;\n\n\tconst {\n\t\tvirtualizedScrollEnabled,\n\t\tsharedContext: {\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\trowSelectionState,\n\t\t\tcontextApi,\n\t\t},\n\t} = state.properties;\n\n\tconst { topActionableMessage, bottomActionableMessage } = cardProperties;\n\tconst galleryDataDefinition = { cards, fieldDefinitions, cardProperties };\n\tconst context = { groupingState, isMobile, rowSelectionState, contextApi }; // context is used to pass the selective state props to the child components.\n\tconst showVirtualizedGalleryView =\n\t\tvirtualizedScrollEnabled && !groupingState?.isGroupedData;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY}>\n\t\t\t\t{renderActionableMessage(topActionableMessage, 'top')}\n\t\t\t\t{renderGroupedViewToggleButton(context, dispatch)}\n\t\t\t\t{showVirtualizedGalleryView\n\t\t\t\t\t? galleryCardViewVirtualized(\n\t\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\t\tgetVirtualizedBehaviorState(state),\n\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\tfetchedComponents,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t  )\n\t\t\t\t\t: galleryCardViewDefault(\n\t\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t  )}\n\t\t\t\t{renderActionableMessage(bottomActionableMessage, 'bottom')}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nexport default galleryView;\n","import { SN_LIST_GALLERY_EXPAND_ALL_GROUPS } from '../../constants/actionConstants';\nimport {\n\tGROUPED_EXPAND_ALL_GROUPS,\n\tGROUPED_COLLAPSE_ALL_GROUPS,\n\tNOW_BARE_BUTTON_TERTIARY,\n\tCARD_ACTION_ICON_SIZE_SMALL,\n\tCLASSNAMES,\n} from '../layoutConstants';\n\n/**\n * This function renders the grouped view toggle button.\n *\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nexport const renderGroupedViewToggleButton = (context, dispatch) => {\n\tconst {\n\t\tgroupingState: { expandAllGroups = false, isGroupedData = false } = {},\n\t} = context || {};\n\tif (!isGroupedData) return null;\n\n\tconst handleGroupToggle = () => {\n\t\tdispatch(SN_LIST_GALLERY_EXPAND_ALL_GROUPS, {\n\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\tcontrolledGroupState: true,\n\t\t});\n\t};\n\n\treturn (\n\t\t<now-button-bare // Toggle expand and collapse for all groups\n\t\t\tlabel={\n\t\t\t\t!expandAllGroups\n\t\t\t\t\t? GROUPED_EXPAND_ALL_GROUPS\n\t\t\t\t\t: GROUPED_COLLAPSE_ALL_GROUPS\n\t\t\t}\n\t\t\ton-click={handleGroupToggle}\n\t\t\tvariant={NOW_BARE_BUTTON_TERTIARY}\n\t\t\tsize={CARD_ACTION_ICON_SIZE_SMALL}\n\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_CARD_EXPAND_ALL_BUTTON}\n\t\t/>\n\t);\n};\n","import mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-card';\n\nimport galleryCardInteractionBehavior from './behaviors/galleryCardInteractionBehavior/galleryCardInteractionBehavior';\nimport galleryDataBehavior from './behaviors/galleryDataBehavior/galleryDataBehavior';\nimport galleryGroupedBehavior from './behaviors/galleryGroupedBehavior/galleryGroupedBehavior';\nimport galleryKeyboardNavBehavior from './behaviors/galleryKeyboardNavbehavior/galleryKeyboardNavbehavior';\nimport { virtualizedGalleryBehavior } from './behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior';\nimport { galleryViewPropsDefinition } from './properties';\nimport galleryView from './views/galleryView';\nimport styles from './views/galleryView.scss';\nimport { SN_LIST_GALLERY_VIEW } from './views/layoutConstants';\n\n/**\n * Define the initial state of the sn-list-gallery element.\n * @type {GalleryState}\n */\nconst initialState = {\n\tcards: [],\n\tcardProperties: {},\n\tfieldDefinitions: {\n\t\tcolumns: [],\n\t\tfieldMappings: {},\n\t},\n};\n\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n * Render the sn-list-gallery element with defined properties and behaviours.\n */\ncreateCustomElement(SN_LIST_GALLERY_VIEW, {\n\trenderer: { type: snabbdom },\n\tview: galleryView,\n\tproperties: galleryViewPropsDefinition,\n\tinitialState: initialState,\n\tbehaviors: [\n\t\tgalleryDataBehavior,\n\t\tgalleryGroupedBehavior,\n\t\tgalleryKeyboardNavBehavior,\n\t\ttooltipBehavior,\n\t\tgalleryCardInteractionBehavior,\n\t\ttruncationBehavior,\n\t\tvirtualizedGalleryBehavior,\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tisMobile: '(max-width: 641px)',\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n});\n","import { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tWRAP_ON,\n\tWRAP_OFF,\n\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY,\n} from '../../constants';\n\nconst isTrue = (/** @type {string | boolean} */ prop) =>\n\tprop === true || prop === 'true';\n\n/**\n * @param {Props[\"wrapCellContent\"]} wrapCellContent\n * @param {any} context\n * @returns {boolean}\n */\nexport const shouldWrapCellContent = (wrapCellContent, context) => {\n\tif (wrapCellContent === WRAP_ON) {\n\t\treturn true;\n\t}\n\n\tif (wrapCellContent === WRAP_OFF) {\n\t\treturn false;\n\t}\n\n\tconst wrapCellContextPrefKey = getUserPrefContext(\n\t\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY\n\t);\n\n\tif (!(context && wrapCellContextPrefKey)) {\n\t\treturn false;\n\t}\n\n\treturn isTrue(context[wrapCellContextPrefKey]);\n};\n\n/**\n * @param {boolean} shouldWrap\n * @param {string} wrapClass - wrap class to use\n * @param {string} defaultClass - class to use if wrap is false\n * @return {*}\n */\nexport const setWrapClass = (shouldWrap, wrapClass, defaultClass) => {\n\tif (shouldWrap) {\n\t\treturn wrapClass;\n\t}\n\treturn defaultClass;\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\n\nimport {\n\tgetSavedWidth,\n\tgetTableLayout,\n} from '../../../../behaviors/columnWidthBehavior/columnWidthBehavior';\nimport { TABLE_LAYOUT_FIXED } from '../../../../behaviors/columnWidthBehavior/constants';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\n\n/**\n * Subview that defines col elements based on column edges\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param { * } props.columnWidthsState\n */\nconst renderCols = ({ processedColumnDefinitions, columnWidthsState }) => {\n\tconst { columnEdges } = processedColumnDefinitions;\n\tconst { getColumnFromProcessedCols } = columnSelectors;\n\treturn columnEdges.map((columnKey) => {\n\t\tconst column = getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst { _colspan } = column;\n\t\tconst tableLayout = getTableLayout(columnWidthsState);\n\t\tconst width = getSavedWidth(columnWidthsState, columnKey);\n\t\tconst style = {\n\t\t\twidth: tableLayout === TABLE_LAYOUT_FIXED ? width : null,\n\t\t};\n\t\tconst headerColClassNames = classNames({\n\t\t\t'header-col': true,\n\t\t\t[columnKey]: true,\n\t\t});\n\t\treturn (\n\t\t\t<col\n\t\t\t\tstyle={style}\n\t\t\t\tdata-columnEdgeKey={columnKey}\n\t\t\t\tclassName={headerColClassNames}\n\t\t\t\tspan={_colspan}\n\t\t\t><\/col>\n\t\t);\n\t});\n};\n\n/**\n * View that handles grouped table headers\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param { * } props.columnWidthsState\n */\nexport const colGroups = (props) => {\n\tconst { processedColumnDefinitions } = props;\n\tif (!processedColumnDefinitions) return null;\n\n\treturn <Fragment>{renderCols(props)}<\/Fragment>;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tSHADE_ALTERNATE_ROWS_OFF,\n\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n} from '../../constants';\n\n/**\n * @param {string} shadeAlternateRows\n * @param {any} context\n * @returns {boolean}\n */\nconst shouldShadeAlternateRows = (shadeAlternateRows, context) => {\n\tconst shadeAlternateRowsContextPrefKey = getUserPrefContext(\n\t\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY\n\t);\n\n\tif (\n\t\tshadeAlternateRows === USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE &&\n\t\tcontext &&\n\t\tshadeAlternateRowsContextPrefKey\n\t) {\n\t\t// in UI16 when table.highlighting is false, alternate rows are shaded, when there is no user preference, value is null\n\t\treturn context[shadeAlternateRowsContextPrefKey] !== 'true';\n\t}\n\n\tif (shadeAlternateRows === SHADE_ALTERNATE_ROWS_OFF) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nexport default shouldShadeAlternateRows;\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * This subview renders a badge count of grouped rows for a grouped row\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Object | undefined} props\n */\nexport const groupBadgeCellContent = (row, props = {}) => {\n\t// @ts-ignore\n\tif (props['nestedLevel'] != undefined && props.nestedLevel >= 0)\n\t\treturn null;\n\tif (row && !rowSelectors.getGroupedRowCount(row)) return null;\n\n\treturn badgeCellContent(row);\n};\n\n/**\n * This subview renders a badge count of child rows for a parent row.\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const parentBadgeCellContent = (row) => {\n\tif (row && !rowSelectors.getGroupedRowCount(row)) return null;\n\n\treturn badgeCellContent(row);\n};\n\n/**\n * This function creates the badge count cell\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const badgeCellContent = (row) => {\n\tconst groupBadgeCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'group-badge-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst { groupedRowCount: count, groupedRowCountChar: char = '' } = row;\n\tconst ariaLabel = t(`Grouped row contains ${count}${char} child records`);\n\n\treturn (\n\t\t<div className={groupBadgeCellContentClassnames}>\n\t\t\t<now-badge\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tcolor=\"gray\"\n\t\t\t\tvalue={count}\n\t\t\t\tcharacter={char}\n\t\t\t\tclassName=\"group-row-count-badge\"\n\t\t\t\tdata-testId=\"groupBadgeCellContent\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tEXPAND_GROUP,\n\tEXPAND_ALL_GROUPS,\n} from '../../../behaviors/rowGroupingBehavior/constants';\nimport { ICON_SIZES } from '../../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../resources/constants';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../table/tableBody/tableRow/rowCell/rowCellConstants';\nimport { GROUP_TOGGLE_ICON } from '../table/tableConstants';\n\nimport { renderLiveListEyelashIcon } from './cellIconContent';\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\n/**\n * This subview renders a grouped row toggle button for the table header and grouped row header.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const groupToggleCellContent = (\n\tprops,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { row } = props;\n\n\t// @ts-ignore\n\tif (props['nestedLevel'] != undefined && props.nestedLevel >= 0)\n\t\treturn null;\n\n\tif (row && !rowSelectors.isGroupedRowOrDefaultRowWithChildren(row))\n\t\treturn null;\n\n\treturn toggleCellContent(props, shouldRenderRecentlyUpdatedIcon);\n};\n\n/**\n * This subview renders a row toggle button for rows with parent/child rows including grouped rows.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const parentToggleCellContent = (\n\tprops,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { row } = props;\n\n\tif (row && !rowSelectors.isGroupedRowOrDefaultRowWithChildren(row))\n\t\treturn null;\n\n\treturn toggleCellContent(props, shouldRenderRecentlyUpdatedIcon);\n};\n\n/**\n * This function creates a row toggle button.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const toggleCellContent = (props, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { row, rowGroupingState, dispatch } = props;\n\tconst { expandedGroupsArray } = rowGroupingState;\n\n\t// If row prop doesn't exist, this is the header, so the all groups toggle is rendered\n\tconst isAllGroupsToggle = !Boolean(row).valueOf();\n\n\tconst rowKey = rowSelectors.getRowKey(row);\n\n\tconst actionPayloadType = isAllGroupsToggle\n\t\t? EXPAND_ALL_GROUPS\n\t\t: EXPAND_GROUP;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst areAllGroupExpanded = rowGroupingState.expandAllGroups;\n\n\tconst ariaLabel = isAllGroupsToggle\n\t\t? t('All groups toggle')\n\t\t: t('Grouped row toggle');\n\n\tconst groupToggleCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'group-toggle-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst groupToggleClassNames = classNames({\n\t\t'group-row-toggle': true,\n\t\t'always-show': true,\n\t});\n\n\tconst groupButtonClassNames = classNames({\n\t\t'group-toggle-all-button': isAllGroupsToggle,\n\t\t'group-row-toggle': true,\n\t\t'group-expanded': !isAllGroupsToggle && isGroupExpanded,\n\t\t'groups-expanded': isAllGroupsToggle && areAllGroupExpanded,\n\t\t'always-show': true,\n\t});\n\n\tconst groupHTMLButtonClassNames = classNames({\n\t\t'group-row-toggle': true,\n\t\t'group-expanded': !isAllGroupsToggle && isGroupExpanded,\n\t\t'groups-expanded': isAllGroupsToggle && areAllGroupExpanded,\n\t\t'html-group-button': true,\n\t});\n\n\tconst expandCollapseTooltip = isGroupExpanded\n\t\t? t('Expand row')\n\t\t: t('Collapse row');\n\n\t// As of STRY56854796, we want to show active toggle button even if children are empty, so disabled is always false\n\treturn (\n\t\t<div className={groupToggleCellContentClassnames}>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t<div className={groupToggleClassNames}>\n\t\t\t\t{iconIsCached(GROUP_TOGGLE_ICON, 'md') ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\tdir={document.dir}\n\t\t\t\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\t\t\t\tdata-htmlGroupToggle=\"true\"\n\t\t\t\t\t\t\tdata-testId=\"groupToggle\"\n\t\t\t\t\t\t\tdata-tooltip={expandCollapseTooltip}\n\t\t\t\t\t\t\tclassName={groupHTMLButtonClassNames}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\ttype: actionPayloadType,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getFakeNowIcon(\n\t\t\t\t\t\t\t\tGROUP_TOGGLE_ICON,\n\t\t\t\t\t\t\t\tICON_SIZES.MEDIUM\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare=\"true\"\n\t\t\t\t\t\ticon={GROUP_TOGGLE_ICON}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tclassName={groupButtonClassNames}\n\t\t\t\t\t\tappend-to-payload={{ row, type: actionPayloadType }}\n\t\t\t\t\t\tdata-testId=\"groupToggle\"\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\n\nimport { GROUP_ACTION } from '../../../../../behaviors/contextActionsBehavior/constants';\nimport { GROUP_ACTION_CLICKED } from '../../../../../resources/constants';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport { ELLIPSIS_ICON } from '../../tableConstants';\n\nconst { getGroupActions, getGroupRowHref } = rowSelectors;\n\n/**\n * This subview renders grouped button menu to render grouped actions dropdown\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const renderGroupActionKebabButton = (row) => {\n\tlet groupActions = getGroupActions(row);\n\t// Filtering out the empty actions from the group actions if any.\n\tgroupActions = groupActions.filter(\n\t\t(/** @type {{GroupActionItem}} */ action) =>\n\t\t\tObject.keys(action).length > 0\n\t);\n\tconst groupActionsRef = createRef();\n\tconst context = { row, typeOfAction: GROUP_ACTION };\n\treturn (\n\t\t<now-button-iconic\n\t\t\tdata-testId=\"groupAction\"\n\t\t\tdata-ancillary=\"true\"\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tbare=\"true\"\n\t\t\ticon={ELLIPSIS_ICON}\n\t\t\tref={groupActionsRef}\n\t\t\tclassName=\"group-actions-button\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpopoverTarget: groupActionsRef,\n\t\t\t\tpopoverDefinition: {\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tactions: groupActions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t}}\n\t\t\tconfigAria={{\n\t\t\t\t// will be added as part of A11y story for grouped rows\n\t\t\t\t'aria-label': 'Group Action',\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * This subview renders single grouped row text link\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Array<GroupActionItem>} groupActions array of grouped row actions\n * @param {*} dispatch seismic dispatch\n */\nexport const renderSingleGroupActionButton = (row, groupActions, dispatch) => {\n\tconst groupRowHref = getGroupRowHref(groupActions);\n\treturn (\n\t\t<now-text-link\n\t\t\tlabel={groupActions[0].label}\n\t\t\tdata-testId=\"groupAction\"\n\t\t\tvariant=\"secondary\"\n\t\t\thref={groupRowHref}\n\t\t\ton-click={(/** @type {MouseEvent} */ event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdispatch(GROUP_ACTION_CLICKED, {\n\t\t\t\t\tactionItem: groupActions[0],\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\trow,\n\t\t\t\t\t\ttypeOfAction: GROUP_ACTION,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * This subview renders grouped row actions\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Array<GroupActionItem>} groupActions array of grouped row actions\n * @param {*} dispatch seismic dispatch\n */\nexport const renderGroupActions = (row, groupActions, dispatch) => {\n\treturn (\n\t\t!isEmpty(groupActions) &&\n\t\t(groupActions.length > 1\n\t\t\t? renderGroupActionKebabButton(row)\n\t\t\t: renderSingleGroupActionButton(row, groupActions, dispatch))\n\t);\n};\n","import { getLabelContent } from '../cellContentUtils';\n\n/**\n * This subView renders the content of an icon cell\n *\n * @param {Object} props\n * @param {ImageCellType} props.cell an object representing this cell\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {ProcessedColumn} props.column an object representing the column\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const imageCell = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst cellLabel = (\n\t\t<div className=\"cell-content image-cell-content\">\n\t\t\t{props.cell.value && (\n\t\t\t\t<img src={props.cell.value} alt={props.column.label} />\n\t\t\t)}\n\t\t<\/div>\n\t);\n\n\treturn getLabelContent(\n\t\t// @ts-ignore\n\t\tprops,\n\t\tdispatch,\n\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t{\n\t\t\tdisplayLabel: cellLabel,\n\t\t}\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../../utils/selectors/columnSelectors';\nimport {\n\tgetDisabled,\n\tgetHighlightedText,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n} from '../cellContentUtils';\n\nconst {\n\tPERSON_CELL_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tNOW_LIST_CELL_PERSON_CLICKED,\n} = require('./personCellConstants');\n\nconst { getImageSrc, getPersonKey, getValue, getHref } = cellSelectors;\nconst { getColumnKey, getDisplay, getMaxCharacters } = columnSelectors;\n\n/**\n * This subview renders the content of an person cell based on the state of isDisabled\n *\n * @param {String} name the name of the user in person cell\n * @param {Boolean} isDisabled a boolean representing the clickability of the cell\n * @param {String | undefined} personKey a unique optional key set by the user of person cell\n * @param {Array<string>} highlightedContent array of patterns to be highlighted\n * @param {Number} maxCharacters an object representing this cell's parent column\n * @param {HighlightedValue | null} highlightedValueData\n * @param {String | undefined} href a string representing the link to the record\n * @param {boolean} wrapCellContentEnabled\n *\n */\nexport const renderPersonText = (\n\tname,\n\tisDisabled,\n\tpersonKey,\n\tmaxCharacters,\n\thighlightedContent,\n\thighlightedValueData,\n\thref,\n\twrapCellContentEnabled\n) => {\n\tconst textClassNames = classNames({\n\t\tdisabled: isDisabled,\n\t});\n\tconst buttonClassNames = classNames({\n\t\t'person-cell-link': true,\n\t\t'highlighted-value': highlightedValueData,\n\t});\n\tconst truncatedName = truncate(name, { length: maxCharacters });\n\tconst isTruncated = truncatedName !== name;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedName\n\t);\n\n\tconst renderedLabel =\n\t\thighlightedValueData && Object.keys(highlightedValueData).length > 0\n\t\t\t? highlightedValueCell(\n\t\t\t\t\thighlightedValueData,\n\t\t\t\t\ttruncatedName,\n\t\t\t\t\twrapCellContentEnabled\n\t\t\t  )\n\t\t\t: cellLabel;\n\n\tif (!isDisabled) {\n\t\treturn (\n\t\t\t// Changed to anchor tag due to text-wrapping issues with button\n\t\t\t<a\n\t\t\t\tclassName={buttonClassNames}\n\t\t\t\tkey={personKey}\n\t\t\t\trole=\"link\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-label={name}\n\t\t\t\thref={href}\n\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\t{...getTooltipDataProps(name, isTruncated)}\n\t\t\t>\n\t\t\t\t{renderedLabel}\n\t\t\t<\/a>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment className={textClassNames} data-truncation>\n\t\t\t\t{renderedLabel}\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of an person cell\n *\n * @param {Object} props\n * @param {PersonCellType} props.cell an object representing this person cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\nexport const personCell = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst name = getValue(cell);\n\tconst personKey = getPersonKey(cell);\n\tconst imageSrc = getImageSrc(cell);\n\tconst display = getDisplay(column);\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell, name);\n\tconst maxCharacters = getMaxCharacters(column);\n\tconst href = getHref(cell);\n\n\tconst isNameEmpty = isEmpty(name);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst shouldDisplayName =\n\t\t(display === PERSON_DISPLAY_TYPE_NAME ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'person-cell-content': true,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\tconst targetClassList = event.target.classList;\n\t\t\t\tif (\n\t\t\t\t\t!isDisabled &&\n\t\t\t\t\ttargetClassList &&\n\t\t\t\t\t(targetClassList.contains('person-cell-avatar') ||\n\t\t\t\t\t\ttargetClassList.contains('person-cell-link'))\n\t\t\t\t) {\n\t\t\t\t\tdispatch(NOW_LIST_CELL_PERSON_CLICKED, {\n\t\t\t\t\t\tcell,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\tsize={PERSON_CELL_ICON_SIZE}\n\t\t\t\t\tuserName={name}\n\t\t\t\t\timageSrc={imageSrc}\n\t\t\t\t\tkey={personKey}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{shouldDisplayName\n\t\t\t\t? renderPersonText(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tisDisabled,\n\t\t\t\t\t\tpersonKey,\n\t\t\t\t\t\tmaxCharacters,\n\t\t\t\t\t\thighlightedContent,\n\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\twrapCellContentEnabled\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-pill';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../../utils/selectors/columnSelectors';\nimport { getHiddenPillsTooltip } from '../cellContentUtils';\n\nconst {\n\tDEFAULT_PILL_SIZE,\n\tMAX_PILL_LIMIT_DEFAULT,\n} = require('./pillsCellConstants');\n\nconst { getValue } = cellSelectors;\nconst { getMaxPillLimit } = columnSelectors;\n\n/**\n * Adds cell size and canDismiss property onto every pill in the props\n *\n * @param {Object} props\n * @param {PillsCellType} props.cell an object representing this cell\n * @param {Row} props.row an object representing this cell's row\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @return An array of pill components. If pills are more than `maxPillLimit`, a hidden pills message is also returned.\n */\nexport const renderPills = (props, dispatch) => {\n\tconst { cell, column, row } = props;\n\n\t/** @constant\n        @type {Array<PillType>}\n    */\n\tconst values = getValue(cell);\n\n\tconst maxPillLimit = getMaxPillLimit(column);\n\n\tconst pillRef = createRef();\n\n\tconst pills = values.slice(0, maxPillLimit).map((pill) => (\n\t\t<now-pill\n\t\t\tkey={pill.key}\n\t\t\tref={pillRef}\n\t\t\tlabel={pill.label}\n\t\t\tsize={DEFAULT_PILL_SIZE}\n\t\t\tcanDismiss={false}\n\t\t\tclassName=\"pill-cell-pill\"\n\t\t\tselected=\"false\"\n\t\t\tmanageSelected=\"false\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpillKey: pill.key,\n\t\t\t\trowKey: row.key,\n\t\t\t\tpills: values,\n\t\t\t\tpillRef,\n\t\t\t}}\n\t\t\t{...createElementObservationProps(dispatch, 'pill-cell-type')}\n\t\t/>\n\t));\n\n\tconst hiddenPillsCount = values.length - maxPillLimit;\n\tconst hiddenPillsTooltip = getHiddenPillsTooltip(values, maxPillLimit);\n\tconst hiddenPillsAriaLabel =\n\t\tt('{0} other field values: ', hiddenPillsCount) + hiddenPillsTooltip;\n\tconst hiddenPillsMessage =\n\t\tvalues.length > maxPillLimit ? (\n\t\t\t<span\n\t\t\t\tclassName=\"hidden-pills-message\"\n\t\t\t\tdata-tooltip={hiddenPillsTooltip}\n\t\t\t\taria-label={hiddenPillsAriaLabel}\n\t\t\t\ttabindex=\"0\" // make the span tabbable\n\t\t\t>\n\t\t\t\t{`+${hiddenPillsCount}`}\n\t\t\t<\/span>\n\t\t) : (\n\t\t\t''\n\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{pills}\n\t\t\t{hiddenPillsMessage}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * This subview renders the content of a pill cell\n * @deprecated delete this function and use `pillsView({ props, dispatch });` instead\n *\n * @param {Object} props\n * @param {PillsCellType} props.cell an object representing this cell\n * @param {Row} props.row an object representing this cell's row\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n */\nexport const pillsCell = (props, dispatch) => {\n\tconst pillList = renderPills(props, dispatch);\n\t//Setting aria-label for upto MAX_PILL_LIMIT_DEFAULT number of pills, and \"Press Enter for more pills\" for more pills\n\tconst { cell } = props;\n\tconst values = getValue(cell);\n\tlet pillsValues = values\n\t\t.slice(0, 3)\n\t\t.map((/** @type {{ label: string; }} */ pillValue) => pillValue.label)\n\t\t.join(', ');\n\tpillsValues +=\n\t\tvalues.length > MAX_PILL_LIMIT_DEFAULT\n\t\t\t? '. Press Enter for more pills'\n\t\t\t: '';\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content pills-cell-content\"\n\t\t\trole=\"group\"\n\t\t\taria-label={t('{0}', pillsValues)}\n\t\t>\n\t\t\t{pillList}\n\t\t<\/div>\n\t);\n};\n","// @ts-ignore\nimport '@servicenow/now-button';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\n// @ts-ignore\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport slice from 'lodash/slice';\nimport { t } from 'sn-translate';\n\nimport { ROW_ACTION } from '../../../../../../../behaviors/contextActionsBehavior/constants';\nimport { ICON_NAMES } from '../../../../../../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../../../../../resources/constants';\nimport rowSelectors from '../../../../../../utils/selectors/rowSelectors';\nimport {\n\tgetFakeNowIcon,\n\ticonIsCached,\n} from '../../../../../shared/fakeNowIcon';\nimport { ICON_SIZE_SMALL } from '../../../../constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\nconst {\n\tDEFAULT_ROW_ACTION_ICON,\n} = require('../../../../../../../typeSchemas/rowDefinitions/rowConfigConsts');\n\nconst {\n\tgetRowActionsNumIconsFromActions,\n\tgetRowActionsItemsFromActions,\n} = rowSelectors;\n\n/**\n * get array of all selected rows or current row based on selection state\n * @param {Row} row current row\n * @param {object} selectedRows\n *\n * @returns {Row[]} context rows\n */\nconst getContextRows = (row, selectedRows) => {\n\tconst rowKey = rowSelectors.getRowKey(row);\n\tconst isRowChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\treturn isRowChecked ? Object.values(selectedRows || {}) : [row];\n};\n\n/**\n * This subview renders the actions icon buttons, not including the kebab dropdown\n * @param {Object} props\n * @param {Array<RowActionItem>} props.actions actions to render as buttons\n * @param {number | undefined} props.groupIndex\n * @param {Row} props.row object representing this cell's parent row\n * @param {Row[]} props.rows object representing this cell's parent row\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex, 1-based\n * @param {function} props.dispatch\n */\nexport const renderActionsIconButtons = (props) => {\n\t// @ts-ignore\n\tconst {\n\t\tactions,\n\t\tgroupIndex,\n\t\trow,\n\t\trowIndex,\n\t\tselectedRows,\n\t\tdispatch,\n\t} = props;\n\tconst contextRows = getContextRows(row, selectedRows);\n\n\tconst areAllActionsDisabled = rowSelectors.getAreActionsDisabled(row);\n\tconst excludedActions = rowSelectors.getExcludedActions(contextRows);\n\n\treturn actions.map((actionItem) => {\n\t\tconst actionIcon = actionItem.icon ?? DEFAULT_ROW_ACTION_ICON;\n\t\tconst label = actionItem?.label;\n\t\tconst rowActionCellClasses = classNames({\n\t\t\t'row-actions-button': true,\n\t\t\t'is-disabled':\n\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\tareAllActionsDisabled,\n\t\t});\n\t\tif (iconIsCached(actionIcon, ICON_SIZE_SMALL)) {\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\tdata-testId=\"rowAction\"\n\t\t\t\t\tclassName={rowActionCellClasses}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\t\t\tareAllActionsDisabled\n\t\t\t\t\t}\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\taria-label={label}\n\t\t\t\t\tkey={actionItem.id}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\t\tactionItem,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\trows: contextRows,\n\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\ttypeOfAction: ROW_ACTION,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getFakeNowIcon(actionIcon, ICON_SIZE_SMALL)}\n\t\t\t\t<\/button>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName={rowActionCellClasses}\n\t\t\t\t\tdata-testId=\"rowAction\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\ticon={actionItem.icon ?? DEFAULT_ROW_ACTION_ICON}\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\t\t\tareAllActionsDisabled\n\t\t\t\t\t}\n\t\t\t\t\tkey={actionItem.id}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tactionItem,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trows: contextRows,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\ttypeOfAction: ROW_ACTION,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * This subview renders the overflow kebab button\n * @param {Object} props\n * @param {Array<RowActionItem>} props.actions actions to render in a dropdown\n * @param {number | undefined} props.groupIndex\n * @param {Row} props.row object representing this cell's parent row\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex, 1-based\n * @param {function} props.dispatch\n */\nexport const renderKebabDropdown = (props) => {\n\tconst {\n\t\tactions,\n\t\tgroupIndex,\n\t\trow,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t} = props;\n\n\tconst contextRows = getContextRows(row, selectedRows);\n\n\tconst areAllActionsDisabled = rowSelectors.getAreActionsDisabled(row);\n\tconst excludedActions = rowSelectors.getExcludedActions(contextRows);\n\n\tconst preparedActions = actions.map((action) => {\n\t\treturn {\n\t\t\t...action,\n\t\t\tdisabled:\n\t\t\t\tincludes(excludedActions, action.id) || areAllActionsDisabled,\n\t\t};\n\t});\n\n\tconst context = {\n\t\tgroupIndex,\n\t\trow,\n\t\trows: contextRows,\n\t\trowIndex,\n\t\ttypeOfAction: ROW_ACTION,\n\t};\n\n\t// @ts-ignore\n\tconst kebabTooltip = t('More');\n\t// @ts-ignore\n\tconst actionsKebabButtonRef = createRef();\n\tif (iconIsCached(ICON_NAMES.ELLIPSIS_V_FILL, ICON_SIZE_SMALL)) {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName=\"row-actions-button\"\n\t\t\t\tdata-testId=\"rowActionOverflow\"\n\t\t\t\tref={actionsKebabButtonRef}\n\t\t\t\taria-label={kebabTooltip}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\tpopoverTarget: actionsKebabButtonRef,\n\t\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tactions: preparedActions,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{getFakeNowIcon(ICON_NAMES.ELLIPSIS_V_FILL, ICON_SIZE_SMALL)}\n\t\t\t<\/button>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tdata-testId=\"rowActionOverflow\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tbare=\"true\"\n\t\t\t\ticon={'ellipsis-v-fill'}\n\t\t\t\tdata-tooltip={kebabTooltip}\n\t\t\t\tref={actionsKebabButtonRef}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpopoverTarget: actionsKebabButtonRef,\n\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\tactions: preparedActions,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontext,\n\t\t\t\t}}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': kebabTooltip,\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of a row actions cell\n *\n * @param {Object} props\n * @param {number | undefined} props.groupIndex\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Row} props.row object representing this cell's parent row\n * @param {Row[]} props.rows all rows\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex\n * @param {function} props.dispatch\n\t\n }}\n */\nexport const rowActionsCell = (props) => {\n\tconst {\n\t\trowActions,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tgroupIndex,\n\t\tdispatch,\n\t} = props;\n\tconst actions = getRowActionsItemsFromActions(rowActions);\n\n\tif (!actions) return null;\n\n\tlet numActionIcons = getRowActionsNumIconsFromActions(rowActions);\n\n\t// if there would only be one item in the dropdown menu,\n\t// increase the limit by 1 so that all are rendered as icons\n\t// to prevent extra clicks\n\tif (numActionIcons + 1 === actions.length) numActionIcons++;\n\n\t/** @const {<Array>RowActionItem} */\n\tconst actionsForButtons = slice(actions, 0, numActionIcons);\n\t/** @const {<Array>RowActionItem} */\n\tconst actionsForDropdown = slice(actions, numActionIcons, actions.length);\n\tconst buttonsProps = {\n\t\tactions: actionsForButtons,\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t};\n\tconst dropdownProps = {\n\t\tactions: actionsForDropdown,\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t};\n\tconst cellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-actions-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\treturn (\n\t\t<div className={cellContentClassNames}>\n\t\t\t{renderActionsIconButtons(buttonsProps)}\n\t\t\t{!isEmpty(actionsForDropdown)\n\t\t\t\t? renderKebabDropdown(dropdownProps)\n\t\t\t\t: null}\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-icon';\n\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { dragHandle } from '../../../../../shared/dragHandle';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\n/**\n * Renders the row drag handler cell for a row\n *\n * @param {Object} props\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {boolean} props.showDragHandle prop to render the cell for proper table structure but hide the handle on non re-orderable rows, eg for grouped rows\n */\nexport const rowDragCellContent = (props) => {\n\tconst { rowIndex, showDragHandle } = props;\n\tconst rowDragHandleCellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-drag-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowDragHandleClassNames = classNames({\n\t\t'row-drag-handle': true,\n\t});\n\tconst ariaLabel = t(\n\t\t'Press space to begin reordering row {0}',\n\t\trowIndex + 1\n\t);\n\treturn (\n\t\t<div className={rowDragHandleCellContentClassNames}>\n\t\t\t{showDragHandle &&\n\t\t\t\tdragHandle({\n\t\t\t\t\tclassName: rowDragHandleClassNames,\n\t\t\t\t\tariaLabel,\n\t\t\t\t\ttooltip: t('Reorder'),\n\t\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","import { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport kebabCase from 'lodash/kebabCase';\nimport memoize from 'lodash/memoize';\nimport set from 'lodash/set';\nimport truncate from 'lodash/truncate';\nimport { t } from 'sn-translate';\n\nimport {\n\tCELL_EDIT_INTERNAL,\n\tCELL_EDIT_POPOVER_TYPE,\n} from '../../../../../../behaviors/cellEditingBehavior/constants';\nimport { COLUMN_ACTIVE_CLASS } from '../../../../../../behaviors/columnDragDropBehavior/constants';\nimport {\n\tCELL_ACTION,\n\tCELL_ACTION_KEBAB_BUTTON_CLICKED,\n} from '../../../../../../behaviors/contextActionsBehavior/constants';\nimport { KEY } from '../../../../../../behaviors/keyboardNavBehavior/constants';\nimport {\n\tROW_HIGHLIGHT_ACTIVATED,\n\tROW_HIGHLIGHT_DEACTIVATED,\n\tROW_FOCUSED_INTERNAL,\n\tROW_BLUR_INTERNAL,\n} from '../../../../../../behaviors/rowBehavior/constants';\nimport { ALIGNMENT_CLASS_PREFIX } from '../../../../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes';\nimport cellSelectors from '../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../../utils/selectors/rowSelectors';\nimport { booleanView } from '../../../../fields/boolean/boolean';\nimport { choiceView } from '../../../../fields/choice/choice';\nimport { currencyView } from '../../../../fields/currency/currency';\nimport { customComponent } from '../../../../fields/customComponent/customComponent';\nimport { dateTimeView } from '../../../../fields/dateTime/dateTime';\nimport { htmlView } from '../../../../fields/html/html';\nimport { iconView } from '../../../../fields/icon/icon';\nimport { linkView } from '../../../../fields/link/link';\nimport { numberView } from '../../../../fields/number/number';\nimport { percentCompleteView } from '../../../../fields/percentComplete/percentComplete';\nimport { stringView } from '../../../../fields/string/string';\nimport { urlView } from '../../../../fields/url/url';\nimport { appendAIIndicatorToCellContent } from '../../../../shared/aiIndicatorIcon';\nimport { getFakeNowIcon } from '../../../../shared/fakeNowIcon';\nimport {\n\tgroupBadgeCellContent,\n\tparentBadgeCellContent,\n} from '../../../../shared/groupBadgeCellContent';\nimport {\n\tgroupToggleCellContent,\n\tparentToggleCellContent,\n} from '../../../../shared/groupToggleCellContent';\nimport {\n\tELLIPSIS_ICON,\n\tINCLUDE_LARGE_PADDING_CLASS,\n\tINCLUDE_SMALL_PADDING_CLASS,\n\tROW_GRAYED_OUT_CLASS,\n\tROW_HIGHLIGHTED_CLASS,\n} from '../../../tableConstants';\n\nimport { getTooltipDataProps } from './cellContentUtils';\nimport { imageCell } from './imageCellType/imageCellType';\nimport { personCell } from './personCellType/personCellType';\nimport { pillsCell } from './pillsCellType/pillsCellType';\nimport { rowActionsCell } from './rowActionsCellType/rowActionsCellType';\nimport {\n\tDATA_COLUMN_CLASS,\n\tROW_CELL_CLASS,\n\tSPECIAL_COLUMN_CELL,\n} from './rowCellConstants';\nimport { rowDragCellContent } from './rowDragCellType/rowDragCellType';\nimport { rowSelectionCell } from './rowSelectionCellType/rowSelectionCellType';\n\nconst {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tTYPE_NUMBER,\n\tTYPE_DATE_TIME,\n\tTYPE_BOOLEAN,\n\tTYPE_LINK,\n\tTYPE_URL,\n\tTYPE_ICON,\n\tTYPE_PILLS,\n\tTYPE_PERSON,\n\tTYPE_CURRENCY,\n\tTYPE_CUSTOM,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tTYPE_CHOICE,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_HTML,\n\tTYPE_IMAGE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n} = require('../../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\nconst {\n\tgetColumnType,\n\thasCellActions,\n\tgetColumnAlignment,\n\tgetMaxCharacters,\n} = columnSelectors;\nconst { hasHighlightedValue, getLabel } = cellSelectors;\n\n/**\n *\n * @param {string} type\n * @param {UrlCellType} cell\n * @param {ProcessedColumn} column\n * @returns {*} tooltipDataProps\n */\nfunction getTooltipProps(type, cell, column) {\n\tlet tooltipDataProps = {};\n\tif (type === TYPE_URL) {\n\t\tconst label = getLabel(cell);\n\t\tconst truncatedLabel = truncate(label, {\n\t\t\tlength: getMaxCharacters(column),\n\t\t});\n\t\tconst isTruncated = truncatedLabel !== label;\n\t\ttooltipDataProps = getTooltipDataProps(label, isTruncated);\n\t}\n\treturn tooltipDataProps;\n}\n\n/**\n * Renders the proper typed cell content based on the type of its column\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Row} props.row row\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {TableMetadata} props.tableMetadata metadata for the entire table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {object} props.contextApi\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {number | undefined} props.groupIndex\n * @param {number | undefined} props.nestedLevel\n * @param {boolean} props.wrapCellContentEnabled\n * @param {string} dir a string value that represents the language direction\n * @param {*} dispatch seismic dispatch\n * @param {boolean} isRecentUpdate a boolean value that represents if the row was recently updated\n */\nexport const renderTypedCellContent = (\n\tprops,\n\tdir,\n\tdispatch,\n\tisRecentUpdate\n) => {\n\tconst {\n\t\tcolumn,\n\t\tcell,\n\t\trow,\n\t\trows,\n\t\trowActions,\n\t\trowIndex,\n\t\tallRowKeys,\n\t\trowKey,\n\t\tisChecked,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\trowGroupingState,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tgroupIndex,\n\t\tnestedLevel,\n\t\twrapCellContentEnabled,\n\t} = props;\n\tconst type = getColumnType(column);\n\tset(cell, 'type', type);\n\tconst isHighlightedValue = hasHighlightedValue(cell);\n\n\tconst selectionDisabled = rowSelectors.getSelectionDisabledForParticularRow(\n\t\trow\n\t);\n\n\tconst dataCellProps = {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t\ttableMetadata,\n\t\tcontextApi,\n\t\tisHighlightedValue,\n\t\twrapCellContentEnabled,\n\t};\n\n\tconst rowActionsCellProps = {\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\trowActions,\n\t\trowIndex,\n\t\tselectedRows,\n\t\tdispatch,\n\t};\n\n\tconst rowSelectionCellProps = {\n\t\trowKey,\n\t\trowIndex,\n\t\tallRowKeys,\n\t\tisChecked,\n\t\tselectedRows,\n\t\tselectionDisabled,\n\t};\n\n\tconst groupToggleCellProps = {\n\t\trow,\n\t\trowGroupingState,\n\t\tdispatch,\n\t\tnestedLevel,\n\t};\n\tconst customComponentProps = {\n\t\tdir,\n\t\t...dataCellProps,\n\t};\n\n\tswitch (type) {\n\t\tcase SPECIAL_TYPE_ROW_DRAG_HANDLE:\n\t\t\treturn rowDragCellContent({ rowIndex, showDragHandle: true });\n\t\tcase SPECIAL_TYPE_GROUP_TOGGLE:\n\t\t\treturn groupToggleCellContent(groupToggleCellProps, isRecentUpdate);\n\t\tcase SPECIAL_TYPE_GROUP_BADGE:\n\t\t\treturn groupBadgeCellContent(row, groupToggleCellProps);\n\t\tcase SPECIAL_TYPE_PARENT_TOGGLE:\n\t\t\treturn parentToggleCellContent(\n\t\t\t\tgroupToggleCellProps,\n\t\t\t\tisRecentUpdate\n\t\t\t);\n\t\tcase SPECIAL_TYPE_PARENT_BADGE:\n\t\t\treturn parentBadgeCellContent(row);\n\t\tcase SPECIAL_TYPE_ACTIONS:\n\t\t\treturn rowActionsCell(rowActionsCellProps);\n\t\tcase SPECIAL_TYPE_SELECTION:\n\t\t\treturn rowSelectionCell(rowSelectionCellProps, dispatch);\n\t\tcase TYPE_NUMBER:\n\t\t\treturn numberView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_PERCENT_COMPLETE:\n\t\t\treturn percentCompleteView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn dateTimeView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn booleanView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_ICON:\n\t\t\treturn iconView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_IMAGE:\n\t\t\treturn imageCell(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_LINK:\n\t\t\treturn linkView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_URL:\n\t\t\treturn urlView(dataCellProps);\n\t\tcase TYPE_PILLS:\n\t\t\t// replace below with `return pillsView({ props, dispatch });`\n\t\t\treturn pillsCell(dataCellProps, dispatch);\n\t\tcase TYPE_PERSON:\n\t\t\treturn personCell(dataCellProps, dispatch);\n\t\tcase TYPE_CURRENCY:\n\t\t\treturn currencyView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_CUSTOM:\n\t\t\treturn customComponent(customComponentProps, dispatch);\n\t\tcase TYPE_CHOICE:\n\t\t\treturn choiceView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_HTML:\n\t\t\treturn htmlView(dataCellProps);\n\t\tdefault:\n\t\t\treturn stringView(dataCellProps, dispatch, isRecentUpdate);\n\t}\n};\n\n/**\n * Renders Cell actions trigger button for a cell\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {number} props.rowIndex row index, 1-based\n * @param {number | undefined} props.groupIndex group index, 1-based\n * @param {Row} props.row row\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCellActionsButton = (props, dispatch) => {\n\tconst { row, column, cell, rowIndex, groupIndex } = props;\n\n\tconst cellActionsRef = createRef();\n\tconst context = {\n\t\trow,\n\t\tcolumn,\n\t\tcell,\n\t\trowIndex,\n\t\tgroupIndex,\n\t\ttypeOfAction: CELL_ACTION,\n\t};\n\n\tconst ariaLabel = t('Cell actions');\n\n\t// STRY57085591 we are replacing now-button-iconic with button for performance improvement\n\treturn (\n\t\t<button\n\t\t\tdata-testid=\"cellAction\"\n\t\t\tdata-ancillary=\"true\"\n\t\t\tclassName=\"row-cell-actions-button\"\n\t\t\taria-label={ariaLabel}\n\t\t\tref={cellActionsRef}\n\t\t\tdata-tooltip={ariaLabel}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(CELL_ACTION_KEBAB_BUTTON_CLICKED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\tpopoverTarget: cellActionsRef,\n\t\t\t\t\ttypeOfAction: CELL_ACTION,\n\t\t\t\t});\n\t\t\t}}\n\t\t>\n\t\t\t{getFakeNowIcon(ELLIPSIS_ICON, 'sm')}\n\t\t<\/button>\n\t);\n};\n\n/**\n * This is the generic body cell renderer for all of the non-header cells in the table. Typed cells are subviews of this view.\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {number} props.rowIndex row index, 1-based\n * @param {number} props.columnIndex column index for the row\n * @param {string} props.columnKey column key\n * @param {string} props.rowKey row key\n * @param {Row} props.row row\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<CellActionItem>} props.cellActions an array representing actions that can be taken on this cell\n * @param {CellType} props.cell an object representing this cell\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for the table\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is grouped or not\n * @param {string} props.firstColumnKey first column key, for determining if padding left should be added\n * @param {string} props.firstDataColumnKey first column key excluding special type columns (only including body data)\n * @param {string} props.focusedRowKey focused row key\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex\n * @param {*} dispatch seismic dispatch\n */\n\nconst isRowHighlightedMemoized = memoize(rowSelectors.isRowHighlighted);\nconst isSpecialColumnMemoized = memoize(columnSelectors.isSpecialColumn);\nconst isRecentAddedOrUpdatedRowMemoized = memoize(\n\trowSelectors.isRecentlyAddedOrUpdatedRow\n);\nconst hasCellActionsMemoized = memoize(hasCellActions);\nconst getColumnAlignmentMemoized = memoize(getColumnAlignment);\n\n// @ts-ignore\nexport function handleMouseOver(isSpecialColumn, rowKey, dispatch) {\n\tif (isSpecialColumn) {\n\t\tdispatch(ROW_HIGHLIGHT_ACTIVATED, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleMouseOut(isSpecialColumn, dispatch) {\n\tif (isSpecialColumn) {\n\t\tdispatch(ROW_HIGHLIGHT_DEACTIVATED);\n\t}\n}\n\n// @ts-ignore\nexport function handleBlur(focusedRowKey, rowKey, dispatch) {\n\tif (focusedRowKey === rowKey) {\n\t\tdispatch(ROW_BLUR_INTERNAL, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleFocus(focusedRowKey, rowKey, dispatch) {\n\tif (focusedRowKey !== rowKey) {\n\t\tdispatch(ROW_FOCUSED_INTERNAL, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleDoubleClick(cellRef, context, dispatch) {\n\tdispatch(CELL_EDIT_INTERNAL, {\n\t\tcellRef,\n\t\tcontext,\n\t});\n}\n\n// @ts-ignore\nexport function handleKeyPress(event, cellRef, context, dispatch) {\n\tif (event.key !== KEY.ENTER || !event.shiftKey) return;\n\tdispatch(CELL_EDIT_INTERNAL, {\n\t\tcellRef,\n\t\tcontext,\n\t});\n}\n\n/**\n *\n * @param {number} nestedLevel\n * @param {string} columnKey\n * @param {string} firstDataColumnKey\n * @param {Document} document\n * @returns {object}\n */\nexport const addChildRowMargin = (\n\tnestedLevel,\n\tdocument,\n\tcolumnKey = '',\n\tfirstDataColumnKey = ''\n) => {\n\tif (!nestedLevel) return {};\n\n\tif (columnKey && firstDataColumnKey && firstDataColumnKey !== columnKey)\n\t\treturn {};\n\n\tconst CHILDREN_ROW_PX_INDENT = 12;\n\tconst childRowMargin = nestedLevel * CHILDREN_ROW_PX_INDENT;\n\tconst style = {\n\t\t'margin-inline-start': `${childRowMargin}px`,\n\t};\n\tif (columnKey === firstDataColumnKey) {\n\t\t// @ts-ignore\n\t\tstyle['--nested-level'] = nestedLevel;\n\t}\n\treturn style;\n};\n\n// @ts-ignore\nexport const rowCell = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcellEditingEnabled,\n\t\tcolumn,\n\t\tcolumnIndex,\n\t\tcolumnKey,\n\t\tdir,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\tshowInlinePadding,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowDragDropEnabled,\n\t\trowIndex,\n\t\trowIndexesMap,\n\t\trowKey,\n\t} = props;\n\tconst { nestedLevel } = props;\n\tconst isHighlighted = isRowHighlightedMemoized(row);\n\tconst isSpecialColumn = isSpecialColumnMemoized(column);\n\tconst shouldRenderRecentlyUpdatedIcon =\n\t\tisRecentAddedOrUpdatedRowMemoized(row) &&\n\t\t!isSpecialColumn &&\n\t\tfirstDataColumnKey === columnKey;\n\tconst shouldRenderActionsButton =\n\t\thasCellActionsMemoized(cell) || hasCellActionsMemoized(column);\n\tconst alignment = getColumnAlignmentMemoized(column);\n\tconst alignmentClassName = ALIGNMENT_CLASS_PREFIX + alignment;\n\tconst isGrayedOut = rowSelectors.isRowGrayedOut(row);\n\tconst shouldHaveIndent =\n\t\tshowInlinePadding &&\n\t\tfirstColumnKey === columnKey &&\n\t\t!rowDragDropEnabled;\n\n\tconst type = getColumnType(column);\n\n\tconst cellClassNames = classNames(\n\t\tROW_CELL_CLASS,\n\t\t`${kebabCase(\n\t\t\ttype === TYPE_HTML ? type : columnKey\n\t\t)} ${alignmentClassName}`,\n\t\t{\n\t\t\t[COLUMN_ACTIVE_CLASS]: columnSelectors.isColumnActive(column),\n\t\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t\t},\n\t\tisSpecialColumn ? SPECIAL_COLUMN_CELL : DATA_COLUMN_CLASS,\n\t\tparentGroupClassNames\n\t);\n\n\tconst cellContentClassNames = classNames('row-cell-content', {\n\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: shouldHaveIndent && isSpecialColumn,\n\t\t[INCLUDE_SMALL_PADDING_CLASS]: shouldHaveIndent && !isSpecialColumn,\n\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t});\n\n\t/**\n\t * when cell type is url the tooltip on cell will be the cell content and tooltip for link will be open in new new/current tab\n\t */\n\tconst tooltipDataProps = getTooltipProps(type, cell, column);\n\tconst cellRef = createRef();\n\tconst context = {\n\t\trow,\n\t\tcolumn,\n\t\tcell,\n\t\t// In case of grouped lists, we need to get right index for a row in order to show popover.\n\t\t// @ts-ignore\n\t\trowIndex: rowIndexesMap[rowKey],\n\t\tcolumnIndex,\n\t\ttypeOfAction: CELL_EDIT_POPOVER_TYPE,\n\t};\n\n\t// @ts-ignore\n\t// eslint-disable-next-line no-unused-vars\n\tconst cellEditingPayload = {\n\t\tcellRef: cellRef,\n\t\tcontext: context,\n\t};\n\tconst cellEditingLabel = t(\n\t\t'Press and hold Shift then press Enter to edit.'\n\t);\n\tconst a11yLabelId = `cell-editing-label-${columnIndex}-${rowIndex}`;\n\tconst shouldShowAIIndicator =\n\t\tcolumnKey === firstDataColumnKey &&\n\t\trowSelectors.isAIModifiedOrCreatedRow(row);\n\tconst cellContent = renderTypedCellContent(\n\t\tprops,\n\t\tdir,\n\t\tdispatch,\n\t\tshouldRenderRecentlyUpdatedIcon\n\t);\n\treturn (\n\t\t<td\n\t\t\tref={cellRef}\n\t\t\tkey={`row_index_${rowIndex}_col_index_${columnIndex}`}\n\t\t\tclassName={cellClassNames}\n\t\t\tdir={dir}\n\t\t\tdata-columnKey={columnKey}\n\t\t\tdata-rowPath={`[${rowIndex}]`}\n\t\t\tdata-rowIndex={rowIndex}\n\t\t\t{...(groupIndex !== undefined\n\t\t\t\t? { 'data-groupIndex': String(groupIndex) }\n\t\t\t\t: {})}\n\t\t\ton-mouseover={() =>\n\t\t\t\thandleMouseOver(isSpecialColumn, rowKey, dispatch)\n\t\t\t}\n\t\t\ton-mouseout={() => handleMouseOut(isSpecialColumn, dispatch)}\n\t\t\ton-blur={() => handleBlur(focusedRowKey, rowKey, dispatch)}\n\t\t\ton-focus={() => handleFocus(focusedRowKey, rowKey, dispatch)}\n\t\t\ton-dblclick={() => handleDoubleClick(cellRef, context, dispatch)}\n\t\t\t// @ts-ignore\n\t\t\ton-keypress={(event) =>\n\t\t\t\thandleKeyPress(event, cellRef, context, dispatch)\n\t\t\t}\n\t\t\t{...tooltipDataProps}\n\t\t\tariaDescribedBy={a11yLabelId}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cellContentClassNames}\n\t\t\t\t// HTML scrollable cells get tab focus when they should not, this fixes that issue\n\t\t\t\t{...(type === TYPE_HTML ? { tabindex: -1 } : {})}\n\t\t\t\tstyle={addChildRowMargin(\n\t\t\t\t\tnestedLevel,\n\t\t\t\t\tdocument,\n\t\t\t\t\tcolumnKey,\n\t\t\t\t\tfirstDataColumnKey\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{shouldShowAIIndicator\n\t\t\t\t\t? appendAIIndicatorToCellContent(cellContent, row)\n\t\t\t\t\t: cellContent}\n\t\t\t\t{shouldRenderActionsButton && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{renderCellActionsButton(props, dispatch)}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{cellEditingEnabled && (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\t\tid={a11yLabelId}\n\t\t\t\t\taria-label={cellEditingLabel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/td>\n\t);\n};\n","import '@servicenow/now-checkbox';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../../../../../../../behaviors/rowSelectionBehavior/constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\n/**\n * Renders the row selection cell for a row\n *\n * @param {Object} props\n * @param {string} props.rowKey row key\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {boolean} props.selectionDisabled a flag to disable row selection\n * @param {*} dispatch seismic dispatch\n */\nexport const rowSelectionCell = (props, dispatch) => {\n\tconst {\n\t\tallRowKeys,\n\t\trowIndex,\n\t\trowKey,\n\t\tisChecked,\n\t\tselectionDisabled,\n\t} = props;\n\n\tconst label = t('Select row');\n\tconst handleChecked = (/** @type {{ shiftKey: any; }} */ event) => {\n\t\tconst shiftKey = event.shiftKey;\n\t\tif (!selectionDisabled) {\n\t\t\tdispatch(ROW_CHECKBOX_INTERNAL_SET, {\n\t\t\t\tshiftKey,\n\t\t\t\tchecked: !isChecked,\n\t\t\t\trowKey,\n\t\t\t\trowIndex,\n\t\t\t\tallRowKeys,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst rowSelectionCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'row-selection-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowSelectionCheckboxClassNames = classNames({\n\t\t'row-selection-checkbox': true,\n\t\t'is-checked': isChecked,\n\t});\n\n\treturn (\n\t\t<div className={rowSelectionCellContentClassnames}>\n\t\t\t<now-checkbox\n\t\t\t\tname={rowKey}\n\t\t\t\tmanageChecked={true}\n\t\t\t\tchecked={isChecked}\n\t\t\t\ton-click={handleChecked}\n\t\t\t\tclassName={rowSelectionCheckboxClassNames}\n\t\t\t\tdata-testId=\"selection\"\n\t\t\t\tdata-tooltip={label}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('Select row {0}', rowIndex + 1),\n\t\t\t\t}}\n\t\t\t\tdisabled={selectionDisabled}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-badge';\nimport { getVirtualizedBehaviorState } from '../../../../../behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils';\nimport {\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n} from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport {\n\tROW_ALIGNMENT_CENTER,\n\tROW_ALIGNMENT_DEFAULT,\n\tROW_ALIGNMENT_INVERSE,\n} from '../../../../../typeSchemas/rowDefinitions/rowAlignments/rowAlignment';\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../../utils/customLoader';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport shouldShadeAlternateRows from '../../../../utils/shadeAlternateRows';\nimport { appendAIIndicatorToCellContent } from '../../../shared/aiIndicatorIcon';\nimport { groupBadgeCellContent } from '../../../shared/groupBadgeCellContent';\nimport { groupToggleCellContent } from '../../../shared/groupToggleCellContent';\nimport { renderInfoIcon } from '../../../shared/renderInfoIcon';\nimport {\n\tCOL_SPAN_MAX,\n\tROW_GRAYED_OUT_CLASS,\n\tROW_HIGHLIGHTED_CLASS,\n\tROW_RECENT_UPDATED_CLASS,\n} from '../../tableConstants';\n\nimport { renderGroupActions } from './groupedRowUtils';\nimport { rowCell, addChildRowMargin } from './rowCell/rowCell';\nimport {\n\tROW_CELL_CLASS,\n\tSPECIAL_COLUMN_CELL,\n} from './rowCell/rowCellConstants';\nimport { rowDragCellContent } from './rowCell/rowDragCellType/rowDragCellType';\n\nconst {\n\tROW_TYPE_GROUPED,\n} = require('../../../../../typeSchemas/rowDefinitions/rowTypes/rowTypes');\n\nconst {\n\tgetColumnEdges,\n\tgetFirstColumnEdge,\n\tgetColumnFromProcessedCols,\n\tgetCellActionsFromProcessedCols,\n} = columnSelectors;\nconst {\n\tfindCell,\n\tgetCells,\n\tgetRowType,\n\tgetRowKey,\n\tisDefaultRowWithChildren,\n\tgetChildren,\n\tisGroupedRow,\n\tgetGroupedRowLabel,\n\tgetGroupedRowCount,\n\tgetGroupActions,\n\tgetGroupInfoMessage,\n} = rowSelectors;\n\n/**\n * Renders each cell in this row.\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {number} props.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {string} props.focusedRowKey focused row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} props.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex index of the parent row group, if exists\n * @param {number | undefined} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\nexport const renderChildRowCells = (props, dispatch) => {\n\tconst {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex: rowIndex,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\twrapCellContentEnabled,\n\t} = props;\n\n\tconst { nestedLevel } = props;\n\t/** @type {Array<String>} */\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\n\tconst firstColumnKey = columnEdges[0];\n\tconst firstDataColumnKey = getFirstColumnEdge(columnEdges);\n\n\t// for each column, find and render its child cell in this row\n\treturn columnEdges.map((columnKey, columnIndex) => {\n\t\tconst column = getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tconst cellActions = getCellActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\t/** @type {CellType} */\n\t\tconst cell = findCell(row, columnKey);\n\n\t\tconst cellProps = {\n\t\t\tallRowKeys,\n\t\t\tcell,\n\t\t\tcellActions,\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcolumn,\n\t\t\tcolumnIndex,\n\t\t\tcolumnKey,\n\t\t\tcontextApi,\n\t\t\tdir,\n\t\t\tfirstColumnKey,\n\t\t\tfirstDataColumnKey,\n\t\t\tfocusedRowKey,\n\t\t\tgroupIndex,\n\t\t\thighlightedContent,\n\t\t\tshowInlinePadding,\n\t\t\tisChecked,\n\t\t\tisDefaultRowWithChildrenType,\n\t\t\tnestedLevel,\n\t\t\tparentGroupClassNames,\n\t\t\trow,\n\t\t\trowActions,\n\t\t\trowDragDropEnabled,\n\t\t\trowGroupingState,\n\t\t\trowIndex,\n\t\t\trowIndexesMap,\n\t\t\trowKey,\n\t\t\trows,\n\t\t\tselectedRows,\n\t\t\ttableMetadata,\n\t\t\twrapCellContentEnabled,\n\t\t};\n\n\t\treturn rowCell(cellProps, dispatch);\n\t});\n};\n\n//@ts-ignore\nexport const renderRowCells = (props, dispatch, colProps, cellMap) => {\n\tconst {\n\t\tcolumnEdges,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tcolumnsMap,\n\t\tcellActionsMap,\n\t} = colProps;\n\tconst {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex: rowIndex,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContentEnabled,\n\t} = props;\n\n\tconst { nestedLevel } = props;\n\n\tconst cellProps = {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tnestedLevel,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndex,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContentEnabled,\n\t};\n\n\t// for each column, find and render its child cell in this row\n\t// @ts-ignore\n\treturn columnEdges.map((columnKey, columnIndex) => {\n\t\t// Update only the necessary properties of cellProps\n\t\t// @ts-ignore\n\t\tcellProps.cell = cellMap.get(columnKey);\n\t\t// @ts-ignore\n\t\tcellProps.column = columnsMap.get(columnKey);\n\t\t// @ts-ignore\n\t\tcellProps.columnIndex = columnIndex;\n\t\t// @ts-ignore\n\t\tcellProps.columnKey = columnKey;\n\t\t// @ts-ignore\n\t\tcellProps.cellActions = cellActionsMap.get(columnKey);\n\t\treturn rowCell(cellProps, dispatch);\n\t});\n};\n\n/**\n * This subview renders children rows\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * \tHas been processed and cleaned by columnBehavior.\n * @param {String} props.componentId nowId of the component\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {string} props.focusedRowKey focused row key\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\nexport const renderChildrenRows = (props, dispatch) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tallRowKeys,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\trows,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContentEnabled,\n\t} = props;\n\n\tconst groupKey = getRowKey(row);\n\tconst children = getChildren(row);\n\tconst isDefaultRowWithChildrenType = isDefaultRowWithChildren(row);\n\tconst isGroupedRowType = isGroupedRow(row);\n\tif (isEmpty(children)) return;\n\tconst { nestedLevel } = props;\n\n\tconst rowCount = getGroupedRowCount(row) ?? children.length;\n\treturn children.map((\n\t\t/** @type {Row} */ row,\n\t\t/** @type {number} */ index\n\t) => {\n\t\tconst rowProps = {\n\t\t\tactiveRowKey,\n\t\t\tallRowKeys,\n\t\t\tbehaviors,\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcomponentId,\n\t\t\tcontextApi,\n\t\t\tdir,\n\t\t\tfocusedRowKey,\n\t\t\tgroupIndex,\n\t\t\tgroupKey,\n\t\t\thighlightedContent,\n\t\t\tshowInlinePadding,\n\t\t\tindex,\n\t\t\tisDefaultRowWithChildrenType,\n\t\t\tisGroupedRowType,\n\t\t\tisLastChildRow: index === children.length - 1,\n\t\t\tnestedLevel,\n\t\t\tprocessedColumnDefinitions,\n\t\t\trow,\n\t\t\trowActions,\n\t\t\trowCount,\n\t\t\trowDragDropEnabled,\n\t\t\trowGroupingState,\n\t\t\trowIndexesMap,\n\t\t\trowSelectionState,\n\t\t\trows,\n\t\t\tshadeAlternateRows,\n\t\t\ttableHasGroupedRows: true,\n\t\t\ttableMetadata,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\twrapCellContentEnabled,\n\t\t};\n\n\t\treturn tableRow(rowProps, dispatch, true, null);\n\t});\n};\n\n/**\n * This subview renders a grouped row and its children\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.rowCount The number of rows within the current group\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {string} props.focusedRowKey focused row key\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {String} props.componentId nowId of the component\n * @param {State} props.behaviors\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\n\nexport const renderGroupedRowAndChildren = (props, dispatch) => {\n\tconst {\n\t\tclickableTextEnabled,\n\t\tdir,\n\t\tshowInlinePadding,\n\t\tindex,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowCount,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t} = props;\n\tconst { expandedGroupsArray } = rowGroupingState;\n\tconst rowKey = getRowKey(row);\n\tconst groupedRowLabel = getGroupedRowLabel(row);\n\tconst groupActions = getGroupActions(row);\n\tconst groupedRowCount = getGroupedRowCount(row);\n\tconst groupInfoMessage = getGroupInfoMessage(row);\n\n\tconst isRecentlyAddedOrUpdated = rowSelectors.isRecentlyAddedOrUpdatedRow(\n\t\trow\n\t);\n\tconst { nestedLevel } = props;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\tconst toggleProps = {\n\t\trow,\n\t\trowGroupingState,\n\t\tclickableTextEnabled,\n\t\tdispatch,\n\t\tnestedLevel,\n\t};\n\tconst trClassNames = classNames({\n\t\t'grouped-row': true,\n\t\t[ROW_RECENT_UPDATED_CLASS]: isRecentlyAddedOrUpdated,\n\t});\n\tconst specialCellClassNames = classNames({\n\t\t[ROW_CELL_CLASS]: true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst dragDropHandleCellClassNames = classNames({\n\t\t'row-drag': true,\n\t});\n\tconst groupToggleCellClassNames = classNames({\n\t\t'group-toggle': true,\n\t\t'is-group-opened': isGroupExpanded,\n\t\t'is-group-closed': !isGroupExpanded,\n\t});\n\tconst groupedInfoClassName = classNames({\n\t\t'is-group-opened': isGroupExpanded,\n\t\t'is-group-closed': !isGroupExpanded,\n\t});\n\tconst groupToggleCellContentClassNames = classNames('row-cell-content', {\n\t\t['large-grouped-row-indent']: !rowDragDropEnabled && showInlinePadding,\n\t\t['small-grouped-row-indent']: !rowDragDropEnabled && !showInlinePadding,\n\t});\n\tconst groupBadgeCellContentClassNames = classNames('row-cell-content');\n\tconst hasAIIndicator = rowSelectors.isAIModifiedOrCreatedRow(row);\n\t// the main group cell takes up the entire row except for special cells: grouping toggle which is always present, grouping badge is present if a count is provided, row drag is present if turned on\n\tlet mainCellColSpan = columnEdges.length - 1;\n\tif (rowDragDropEnabled) mainCellColSpan--;\n\tif (groupedRowCount != undefined) mainCellColSpan--;\n\tconst groupedRowContent = (\n\t\t<span data-truncation>\n\t\t\t{groupedRowLabel}\n\t\t\t{groupInfoMessage && renderInfoIcon(groupInfoMessage)}\n\t\t<\/span>\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t<tr\n\t\t\t\tkey={rowKey}\n\t\t\t\tclassName={trClassNames}\n\t\t\t\tdata-key={rowKey}\n\t\t\t\tdata-rowDefinitionPath={`[${rowKey}]`}\n\t\t\t\taria-expanded={`${isGroupExpanded}`}\n\t\t\t\taria-level=\"1\"\n\t\t\t\taria-posinset={`${index + 1}`}\n\t\t\t\taria-setsize={`${rowCount}`}\n\t\t\t>\n\t\t\t\t{rowDragDropEnabled && (\n\t\t\t\t\t<td\n\t\t\t\t\t\tclassName={`${specialCellClassNames} ${dragDropHandleCellClassNames} ${groupedInfoClassName}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{rowDragCellContent({\n\t\t\t\t\t\t\t\trowIndex: index,\n\t\t\t\t\t\t\t\tshowDragHandle: false,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/td>\n\t\t\t\t)}\n\t\t\t\t<td\n\t\t\t\t\tclassName={`${specialCellClassNames} ${groupToggleCellClassNames}`}\n\t\t\t\t\tdata-columnKey={SPECIAL_TYPE_GROUP_TOGGLE}\n\t\t\t\t\tdir={dir}\n\t\t\t\t>\n\t\t\t\t\t<div className={groupToggleCellContentClassNames}>\n\t\t\t\t\t\t{groupToggleCellContent(\n\t\t\t\t\t\t\ttoggleProps,\n\t\t\t\t\t\t\tisRecentlyAddedOrUpdated\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/td>\n\n\t\t\t\t<td\n\t\t\t\t\tclassName={specialCellClassNames}\n\t\t\t\t\tdata-columnKey={SPECIAL_TYPE_GROUP_BADGE}\n\t\t\t\t\tdir={dir}\n\t\t\t\t>\n\t\t\t\t\t<div className={groupBadgeCellContentClassNames}>\n\t\t\t\t\t\t{groupedRowCount && groupBadgeCellContent(row)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/td>\n\n\t\t\t\t<td colspan={mainCellColSpan} className=\"group-row-container\">\n\t\t\t\t\t<div className=\"cell-content group-row-content\">\n\t\t\t\t\t\t{hasAIIndicator\n\t\t\t\t\t\t\t? appendAIIndicatorToCellContent(\n\t\t\t\t\t\t\t\t\tgroupedRowContent,\n\t\t\t\t\t\t\t\t\trow\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: groupedRowContent}\n\n\t\t\t\t\t\t{groupActions && (\n\t\t\t\t\t\t\t<div className=\"group-row-actions\" dir={dir}>\n\t\t\t\t\t\t\t\t{renderGroupActions(\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\tgroupActions,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/td>\n\t\t\t<\/tr>\n\t\t\t{renderChildrenRows(props, dispatch)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders custom row type\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * Has been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {string} props.focusedRowKey focused row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} props.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex index of the parent row group, if exists\n * @param {number} props.nestedLevel\n */\n\nexport const renderCustomRow = (props) => {\n\tconst {\n\t\tprocessedColumnDefinitions,\n\t\ttableMetadata,\n\t\trow,\n\t\tdir,\n\t\tgroupIndex,\n\t\tindex,\n\t\trowGroupingState,\n\t\trowDragDropEnabled,\n\t\tnestedLevel,\n\t} = props;\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\t// the main group cell takes up the entire row except for special cells\n\tconst mainCellColSpan = columnEdges.length - 1;\n\tconst componentTag = rowSelectors.getCustomRowComponentTag(row);\n\tconst componentDefaultProps = rowSelectors.getCustomRowComponentProps(row);\n\tconst rowContentDimensions = rowSelectors.getCustomRowContentDimensions(\n\t\trow\n\t);\n\tconst placeHolderDimensions = rowSelectors.getCustomRowPlaceholderDimensions(\n\t\trow\n\t);\n\tconst contentAlignment = rowSelectors.getCustomRowContentAlignment(row);\n\n\tlet customRowAlignment;\n\tconst customRowContainer = 'custom-row-container-';\n\tif (contentAlignment == ROW_ALIGNMENT_INVERSE)\n\t\tcustomRowAlignment = customRowContainer + ROW_ALIGNMENT_INVERSE;\n\telse if (contentAlignment == ROW_ALIGNMENT_CENTER)\n\t\tcustomRowAlignment = customRowContainer + ROW_ALIGNMENT_CENTER;\n\telse customRowAlignment = customRowContainer + ROW_ALIGNMENT_DEFAULT;\n\n\tconst specialColumnsCount = columnSelectors.getSpecialColumnsCount(\n\t\tprocessedColumnDefinitions\n\t);\n\n\tconst { expandedGroupsArray } = rowGroupingState;\n\n\tconst rowKey = getRowKey(row);\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\n\tconst customContent = renderCustomComponentDisplay(\n\t\tcustomComponentType.ROW,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir,\n\t\trowContentDimensions,\n\t\tplaceHolderDimensions,\n\t\tnull,\n\t\tcustomRowAlignment\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderSpecialCellsForCustomRow(\n\t\t\t\tspecialColumnsCount,\n\t\t\t\tisGroupExpanded,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tgroupIndex\n\t\t\t)}\n\t\t\t<td\n\t\t\t\tclassName=\"custom-row-content\"\n\t\t\t\tstyle={addChildRowMargin(nestedLevel, document)}\n\t\t\t\tcolspan={mainCellColSpan}\n\t\t\t\tdata-rowPath={`[${index}]`}\n\t\t\t\tdata-rowIndex={index}\n\t\t\t\t{...(groupIndex !== undefined\n\t\t\t\t\t? { 'data-groupIndex': String(groupIndex) }\n\t\t\t\t\t: {})}\n\t\t\t>\n\t\t\t\t<div className=\"row-cell-content\">{customContent}<\/div>\n\t\t\t<\/td>\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * renderSpecialCellsForCustomRow - renders special cells for custom row.\n * @param {number} specialColumnsCount\n * @param {boolean} isGroupExpanded\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {number | undefined} groupIndex\n */\nexport const renderSpecialCellsForCustomRow = (\n\tspecialColumnsCount,\n\tisGroupExpanded,\n\trowDragDropEnabled,\n\tgroupIndex\n) => {\n\tconst specialCellClassNames = classNames({\n\t\t[ROW_CELL_CLASS]: true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst dragDropHandleCellClassNames = classNames({\n\t\t'row-drag': rowDragDropEnabled,\n\t});\n\tconst groupToggleCellClassNames = classNames({\n\t\t'group-toggle': groupIndex !== undefined,\n\t\t'is-group-opened': groupIndex ? isGroupExpanded : null,\n\t\t'is-group-closed': groupIndex ? !isGroupExpanded : null,\n\t});\n\n\tconst specialColumns = [];\n\n\twhile (specialColumnsCount > 0) {\n\t\tspecialColumns.push(\n\t\t\t<td\n\t\t\t\tclassName={`${specialCellClassNames}\n\t\t\t\t\t\t${groupToggleCellClassNames}\n\t\t\t\t\t\t${dragDropHandleCellClassNames}`}\n\t\t\t><\/td>\n\t\t);\n\t\tspecialColumnsCount--;\n\t}\n\treturn specialColumns;\n};\n\n/**\n * renderGhostRow - renders a ghost row <td> that is used to maintain the height of the row when it is not in view.\n * @param {string} name  - name of the ghost row\n * @param {number} index - index can either be the child row index or the high lever rowDefinition.rows index.\n * @param {string} rowKey - key of the row\n * @param {string} groupKey - key of the group that includes children rows\n * @param {number | undefined} groupIndex - index of the parent row group, if exists\n * @param {boolean} isChild - flag to identify if the row is a child row\n * @param {*} colProps - column properties\n * @return {JSX.Element}\n */\nexport const renderGhostRow = (\n\tname,\n\tindex,\n\trowKey,\n\tgroupKey,\n\tgroupIndex,\n\tisChild,\n\tcolProps\n) => {\n\t// need to create a relative index to create unique id for each ghost row\n\tconst relativeIndex = isChild ? `${groupIndex}-${index}` : index;\n\tconst colLength = colProps?.columnEdges?.length;\n\n\treturn (\n\t\t<td\n\t\t\tid={`${name}-${relativeIndex}`}\n\t\t\tcolspan={colLength ?? COL_SPAN_MAX}\n\t\t\tclassName={`${name} virtualized-list`}\n\t\t\tdata-groupIndex={isChild ? `${groupIndex}` : `${index}`}\n\t\t\tdata-key={rowKey}\n\t\t\taria-label={t(`Row loading`)}\n\t\t><\/td>\n\t);\n};\n\n/**\n * renderVirtualizedRowCells - renders the row cells based on the virtualized scroll state and is responsible for rendering ghostrow <td>.\n *  ghost rows <td> become the child of the previously rendered <tr>'s without the original table cells.  The goal of this is to reduce computation of elements\n *  and reduce the number of elements in the dom.\n *\n * @param {Object} rowCellProps\n * @param {ProcessedColumnDefinitions} rowCellProps.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} rowCellProps.row an object representing a single row in the table, including its cells and config options\n * @param {boolean} rowCellProps.cellEditingEnabled whether or not cell editing is enabled\n * @param {Array<Row>} rowCellProps.rows array of row definitions object\n * @param {number} rowCellProps.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} rowCellProps.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} rowCellProps.allRowKeys array of all row keys present on a page\n * @param {string} rowCellProps.rowKey row key\n * @param {string} rowCellProps.focusedRowKey focused row key\n * @param {boolean} rowCellProps.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} rowCellProps.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} rowCellProps.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} rowCellProps.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} rowCellProps.rowGroupingState row grouping state\n * @param {boolean | undefined} rowCellProps.clickableTextEnabled\n * @param {boolean} rowCellProps.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} rowCellProps.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} rowCellProps.dir a prop representing the language direction.\n * @param {object} rowCellProps.contextApi\n * @param {string} rowCellProps.groupKey The key of group that includes children rows\n * @param {RowIndexesMap} rowCellProps.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} rowCellProps.groupIndex index of the parent row group, if exists\n * @param {String} rowCellProps.componentId nowId of the component\n * @param {number} rowCellProps.nestedLevel\n * @param {boolean} rowCellProps.showInlinePadding\n * @param {boolean | undefined} rowCellProps.rowDragDropEnabled\n * @param {boolean} rowCellProps.wrapCellContentEnabled\n * @param {Object} colProps - column properties\n * @param {Map<string, Object>} cellMap - map of cell objects\n * @param {*} dispatch seismic dispatch\n */\nexport const renderVirtualizedRowCells = (\n\trowCellProps,\n\tdispatch,\n\tcolProps,\n\tcellMap,\n\tisChild = false\n) => {\n\tconst { index, rowKey, groupKey, groupIndex } = rowCellProps;\n\t// if groupIndex is present, use it to refer to rowDefinition.rows index to keep the pointer accurately pointed to the rowDefinition.rows\n\t// and separate from the [children] row index.\n\tconst rowDefIndex = groupIndex === 0 ? 0 : groupIndex || index;\n\tconst {\n\t\ttopBound,\n\t\tbottomBound,\n\t\t// @ts-ignore -\n\t} = getVirtualizedBehaviorState(rowCellProps);\n\n\tif (\n\t\ttopBound <= rowDefIndex &&\n\t\trowDefIndex <= (bottomBound < 80 ? 80 : bottomBound)\n\t) {\n\t\treturn isChild\n\t\t\t? renderChildRowCells(rowCellProps, dispatch)\n\t\t\t: renderRowCells(rowCellProps, dispatch, colProps, cellMap);\n\t} else if (index < topBound) {\n\t\treturn renderGhostRow(\n\t\t\t'ghost-row-top',\n\t\t\tindex,\n\t\t\trowKey,\n\t\t\tgroupKey,\n\t\t\tgroupIndex,\n\t\t\tisChild,\n\t\t\tcolProps\n\t\t);\n\t} else if (index > bottomBound) {\n\t\treturn renderGhostRow(\n\t\t\t'ghost-row-bottom',\n\t\t\tindex,\n\t\t\trowKey,\n\t\t\tgroupKey,\n\t\t\tgroupIndex,\n\t\t\tisChild,\n\t\t\tcolProps\n\t\t);\n\t}\n\treturn null;\n};\n\n/**\n * This subview renders one non-header row of cells.\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * Has been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {number} props.rowCount The number of rows within the current group\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {boolean} props.tableHasGroupedRows Indicates if the table contains any grouped rows\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {String} props.dir a prop representing the language direction\n * @param {string} props.groupKey The key of group that includes children rows\n * @param {boolean} props.isGroupedRowType property defining whether a group is of type grouped or not\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {boolean} props.isLastChildRow\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {String} props.componentId nowId of the component\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.wrapCellContentEnabled\n * @param {any} colProps - column properties\n * @param {*} dispatch seismic dispatch\n */\n// @ts-ignore\nexport const tableRow = (props, dispatch, isChild = false, colProps) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tgroupIndex,\n\t\tgroupKey,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex,\n\t\tisDefaultRowWithChildrenType,\n\t\tisGroupedRowType,\n\t\tisLastChildRow,\n\t\trow,\n\t\trowCount,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowSelectionState,\n\t\trows,\n\t\tshadeAlternateRows,\n\t\ttableHasGroupedRows,\n\t\tvirtualizedScrollEnabled,\n\t} = props;\n\tlet { nestedLevel } = props;\n\tif (!getCells(row) && getRowType(row) === ROW_TYPE_GROUPED) {\n\t\tnestedLevel = -1;\n\t\tprops.nestedLevel = nestedLevel;\n\t\treturn renderGroupedRowAndChildren(\n\t\t\t{ ...props, groupIndex: index },\n\t\t\tdispatch\n\t\t); // all rows except grouped type should have cells\n\t}\n\tconst rowKey = getRowKey(row);\n\tconst selectedRows = get(rowSelectionState, 'selectedRows', {});\n\tconst isHighlighted = rowSelectors.isRowHighlighted(row);\n\tconst isChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\tconst isRecentlyAddedOrUpdated = rowSelectors.isRecentlyAddedOrUpdatedRow(\n\t\trow\n\t);\n\tconst isGrayedOut = rowSelectors.isRowGrayedOut(row);\n\tconst { expandedGroupsArray = [] } = rowGroupingState;\n\t// when group of type parent/children we use same colors as parent for all child rows. So setting index for children as group index\n\tconst modifiedIndex =\n\t\t(groupIndex === 0 || groupIndex) && isDefaultRowWithChildrenType\n\t\t\t? groupIndex\n\t\t\t: index;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst rowClassNames = classNames({\n\t\t'is-even': modifiedIndex % 2 === 0,\n\t\t'is-odd': modifiedIndex % 2 === 1,\n\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t'is-checked': isChecked,\n\t\t[ROW_RECENT_UPDATED_CLASS]: isRecentlyAddedOrUpdated,\n\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t\t'is-active': !isChecked && activeRowKey === rowKey,\n\t\t// if a row is a grouped and when expandedGroupArray doesn't have parent row group key, we hide all the children under it\n\t\t'is-hidden':\n\t\t\t(isGroupedRowType || isDefaultRowWithChildrenType) &&\n\t\t\t!expandedGroupsArray.includes(groupKey),\n\t\t'now-list-table-row': true,\n\t\t'virtualized-list': virtualizedScrollEnabled,\n\t\t'is-shade-alternate-rows-off': !shouldShadeAlternateRows(\n\t\t\tshadeAlternateRows,\n\t\t\tcontextApi\n\t\t),\n\t});\n\n\tconst parentGroupClassNames = classNames({\n\t\t'is-child-row': isGroupedRowType || isDefaultRowWithChildrenType,\n\t\t'is-last-child-row':\n\t\t\t(isGroupedRowType || isDefaultRowWithChildrenType) &&\n\t\t\tisLastChildRow,\n\t\t'is-group-opened': isDefaultRowWithChildren(row) && isGroupExpanded,\n\t\t'is-group-closed': isDefaultRowWithChildren(row) && !isGroupExpanded,\n\t});\n\tconst rowCellProps = {\n\t\t...props,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowDragDropEnabled,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t};\n\n\tconst rowAria = {\n\t\t// Only add these props if the table has grouped rows\n\t\t...(tableHasGroupedRows && {\n\t\t\t// Only add aria-expanded if it's a parent row\n\t\t\t...(isDefaultRowWithChildren(row) && {\n\t\t\t\t'aria-expanded': `${isGroupExpanded}`,\n\t\t\t}),\n\t\t\t'aria-level': groupKey ? '2' : '1',\n\t\t\t'aria-posinset': `${index + 1}`,\n\t\t\t'aria-setsize': `${rowCount}`,\n\t\t}),\n\t};\n\n\t//Process Cell info\n\tconst cellMap = new Map();\n\n\tconst cellsByColumnKey = new Map();\n\tif (row && row.cells && colProps && colProps.columnEdges.length) {\n\t\tObject.entries(row.cells).forEach(([key, value]) => {\n\t\t\tcellsByColumnKey.set(key, value);\n\t\t});\n\t\t// @ts-ignore\n\t\tcolProps.columnEdges.map((columnKey) => {\n\t\t\tconst cell = cellsByColumnKey.get(columnKey);\n\t\t\tcellMap.set(columnKey, cell);\n\t\t});\n\t}\n\n\tconst isCustomRow = rowSelectors.isCustomRow(row);\n\tlet content;\n\tif (isCustomRow) {\n\t\tif (isChild) {\n\t\t\tnestedLevel++;\n\t\t\trowCellProps.nestedLevel = nestedLevel;\n\t\t\tprops.nestedLevel = nestedLevel;\n\t\t}\n\t\tcontent = renderCustomRow(rowCellProps);\n\t} else if (virtualizedScrollEnabled) {\n\t\tif (isChild) {\n\t\t\tnestedLevel++;\n\t\t\trowCellProps.nestedLevel = nestedLevel;\n\t\t\tprops.nestedLevel = nestedLevel;\n\t\t}\n\t\tcontent = renderVirtualizedRowCells(\n\t\t\trowCellProps,\n\t\t\tdispatch,\n\t\t\tcolProps,\n\t\t\tcellMap,\n\t\t\tisChild\n\t\t);\n\t} else if (isChild) {\n\t\tnestedLevel++;\n\t\trowCellProps.nestedLevel = nestedLevel;\n\t\tprops.nestedLevel = nestedLevel;\n\t\tcontent = renderChildRowCells(rowCellProps, dispatch);\n\t} else {\n\t\tcontent = renderRowCells(rowCellProps, dispatch, colProps, cellMap);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<tr\n\t\t\t\tid={\n\t\t\t\t\trows[0].key === rowKey\n\t\t\t\t\t\t? 'first-row'\n\t\t\t\t\t\t: rowKey || `row_id_${index}`\n\t\t\t\t}\n\t\t\t\tkey={rowKey || `row_index_${index}`}\n\t\t\t\tclassName={rowClassNames}\n\t\t\t\t{...(isHighlighted ? { ariaDescription: 'highlighted' } : {})}\n\t\t\t\tdata-key={rowKey || `row_index_${index}`}\n\t\t\t\tdata-rowDefinitionPath={`[${rowKey || index}]`}\n\t\t\t\tdata-groupRowPath={groupKey ? groupKey : null}\n\t\t\t\tdata-testId={\n\t\t\t\t\tisDefaultRowWithChildren(row) && 'parent-child-row'\n\t\t\t\t}\n\t\t\t\t{...rowAria}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t<\/tr>\n\n\t\t\t{\n\t\t\t\t/* This is to render child rows for group parent child use case  */\n\t\t\t\tisDefaultRowWithChildren(row) &&\n\t\t\t\t\trenderChildrenRows({ ...props, groupIndex }, dispatch)\n\t\t\t}\n\t\t<\/Fragment>\n\t);\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '../popover/popoverTextContent/popoverTextContent';\n\n/**\n * Renders an info icon with popover containing the provided message\n *\n * @param {string} message - The message to display in the popover\n * @returns {JSX.Element | null} The rendered info icon with popover, or null if message is invalid\n */\nexport const renderInfoIcon = (message) => {\n\t// Fail-safe: return null if message is empty or not a string\n\tif (!message || typeof message !== 'string') {\n\t\treturn null;\n\t}\n\n\t// Create popoverDefinition for the existing popoverTextContent component\n\tconst popoverDefinition = {\n\t\tcontent: {\n\t\t\ttext: message,\n\t\t},\n\t};\n\n\treturn (\n\t\t<now-popover interactionType=\"hover\">\n\t\t\t<now-button-iconic\n\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tbare=\"true\"\n\t\t\t/>\n\t\t\t<now-list-popover-text-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n","import { OVERLAY_TYPE_SKELETON_LOADER } from '../../../../typeSchemas/overlayDefinition/overlayConfigConsts';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport overlaySelectors from '../../../utils/selectors/overlaySelectors';\nimport rowSelectors from '../../../utils/selectors/rowSelectors';\nimport '@servicenow/now-loader';\nimport { renderSkeletonLoaderOverlay } from '../../overlay/overlay';\n\nimport { tableRow } from './tableRow/tableRow';\n\nconst {\n\tgetRows,\n\tgetRowActions,\n\thasGroupedOrDefaultRowsWithChildren,\n\tgetHighlightedContentPatterns,\n\tgetDefaultRowKeysRecursively,\n\tisDefaultRowWithChildren,\n} = rowSelectors;\nconst { getOverlayType, getOverlayShowColumnHeaders } = overlaySelectors;\n\n/**\n * This iteratively renders row subviews\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {String} props.componentId nowId of the component\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {boolean} props.showInlinePadding\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\n// @ts-ignore\nconst renderBodyRows = (props, colProps, dispatch) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContentEnabled,\n\t} = props;\n\n\t/** @type {Array<Row>} */\n\tconst rows = getRows(rowDefinitions);\n\tconst highlightedContent = getHighlightedContentPatterns(rowDefinitions);\n\tconst rowCount = rows.length;\n\tconst rowActions = getRowActions(rowDefinitions);\n\tconst allRowKeys = getDefaultRowKeysRecursively(rowDefinitions);\n\tconst nestedLevel = 0;\n\treturn rows.map((row, index) => {\n\t\tconst rowProps = {\n\t\t\tbehaviors,\n\t\t\tcellEditingEnabled,\n\t\t\trow,\n\t\t\trows,\n\t\t\trowCount,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tshowInlinePadding,\n\t\t\tindex,\n\t\t\trowActions,\n\t\t\trowSelectionState,\n\t\t\trowGroupingState,\n\t\t\tclickableTextEnabled,\n\t\t\tallRowKeys,\n\t\t\tactiveRowKey,\n\t\t\tfocusedRowKey,\n\t\t\ttableMetadata,\n\t\t\ttableHasGroupedRows: hasGroupedOrDefaultRowsWithChildren(\n\t\t\t\trowDefinitions\n\t\t\t),\n\t\t\thighlightedContent,\n\t\t\tgroupKey: '',\n\t\t\tisGroupedRowType: false,\n\t\t\tisDefaultRowWithChildrenType: false,\n\t\t\tgroupIndex: isDefaultRowWithChildren(row) ? index : undefined,\n\t\t\tisLastChildRow: false,\n\t\t\tdir,\n\t\t\tcontextApi,\n\t\t\trowIndexesMap,\n\t\t\trowDragDropEnabled,\n\t\t\tshadeAlternateRows,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\tcomponentId,\n\t\t\tnestedLevel,\n\t\t\twrapCellContentEnabled,\n\t\t};\n\t\treturn tableRow(rowProps, dispatch, false, colProps);\n\t});\n};\n\n/**\n * renders the table body\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n * @param {string} props.componentId\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {State} props.behaviors\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata. Has been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {OverlayDefinition} props.overlayDefinition\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {boolean} props.showInlinePadding\n * @param {string} props.shadeAlternateRows\n * @param {boolean} props.wrapCellContentEnabled\n * @param {*} dispatch seismic dispatch\n */\nexport const tableBody = (props, dispatch) => {\n\tconst { overlayDefinition, processedColumnDefinitions } = props;\n\n\t// Calculate column info upfront\n\tconst columnEdges = columnSelectors.getColumnEdges(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst firstColumnKey = columnEdges[0];\n\tconst firstDataColumnKey = columnSelectors.getFirstColumnEdge(columnEdges);\n\n\tconst columnsMap = new Map();\n\tconst cellActionsMap = new Map();\n\n\t// replace normal tbody rows with skeleton rows if configured\n\tif (\n\t\tgetOverlayType(overlayDefinition) === OVERLAY_TYPE_SKELETON_LOADER &&\n\t\tgetOverlayShowColumnHeaders(overlayDefinition)\n\t) {\n\t\treturn renderSkeletonLoaderOverlay({\n\t\t\tskeletonLoaderConfig: { numColumns: columnEdges.length }, // for the body overlay case, we ignore the input number of columns from the overlay config and use the actual number of columns from the colDefs\n\t\t\t...overlayDefinition,\n\t\t});\n\t}\n\n\t// for each column, find and render its child cell in this row\n\t// @ts-ignore\n\tcolumnEdges.map((columnKey) => {\n\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\tprops.processedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst cellActions = columnSelectors.getCellActionsFromProcessedCols(\n\t\t\tprops.processedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\tcolumnsMap.set(columnKey, column);\n\t\tcellActionsMap.set(columnKey, cellActions);\n\t});\n\n\tconst colProps = {\n\t\tcolumnEdges,\n\t\tcolumnsMap,\n\t\tcellActionsMap,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t};\n\n\treturn <tbody>{renderBodyRows(props, colProps, dispatch)}<\/tbody>;\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport { actionableMessageKey } from '../../../behaviors/actionableMessageBehavior/constants';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\n\nimport {\n\tACTIONABLE_MESSAGE_ICON_SIZE,\n\tACTIONABLE_MESSAGE_BUTTON_CLASS,\n} from './constants';\n\nconst { getActionableMessageIcon, getActionableMessageStatus } = rowSelectors;\n\n/**\n * This subview contains the actionable message row\n *\n * @param {ActionableMessage} actionableMessage\n * @param {Number} colSpan\n * @param {string} location\n */\nexport const renderActionableMessage = (\n\tactionableMessage,\n\tcolSpan,\n\tlocation\n) => {\n\tconst { text, action } = actionableMessage;\n\tconst status = getActionableMessageStatus(actionableMessage);\n\tconst icon = getActionableMessageIcon(actionableMessage);\n\n\t// guard against empty action property.\n\tif (action && (!action.action || !action.label)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<tr data-testId={`actionable-message-${location}`}>\n\t\t\t<td className={'actionable-message'} colSpan={colSpan}>\n\t\t\t\t<div className={`actionable-message-content ${status}`}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"actionable-message-icon\"\n\t\t\t\t\t\tsize={ACTIONABLE_MESSAGE_ICON_SIZE}\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"actionable-message-label-group\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"actionable-message-text\"\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{action ? (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\thideBlockPadding\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t'aria-label': action.label,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={ACTIONABLE_MESSAGE_BUTTON_CLASS}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={action.label}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tkey: actionableMessageKey,\n\t\t\t\t\t\t\t\t\taction: action.action,\n\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/td>\n\t\t<\/tr>\n\t);\n};\n","import { t } from 'sn-translate';\nexport const COLUMN_HEADER_ICON_SIZE = 'sm';\n\nexport const COLUMN_GRAB_INSTRUCTIONS = t(\n\t'Instructions: Press space to grab. Use left and right arrow keys to move the column. Press enter to release in current position. Press Escape to cancel and return to original position.'\n);\n\nexport const COLUMN_GRAB_INSTRUCTIONS_PREFIX = 'column-grab-instructions';\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport kebabCase from 'lodash/kebabCase';\nimport { t } from 'sn-translate';\n\nimport {\n\tCOLUMN_ACTIVE_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n} from '../../../../../behaviors/columnDragDropBehavior/constants';\nimport { HEADER_CELL_TEXT_CLICKED } from '../../../../../behaviors/columnHeaderClickBehavior/constants';\nimport {\n\tCOL_RESIZE_MIN_WIDTH,\n\tRESIZE_SLIDER_CLASS,\n} from '../../../../../behaviors/columnResizeBehavior/constants';\nimport { getSavedWidth } from '../../../../../behaviors/columnWidthBehavior/columnWidthBehavior';\nimport {\n\tINIT_COLUMN_WIDTHS,\n\tSET_COLUMN_WIDTHS,\n} from '../../../../../behaviors/columnWidthBehavior/constants';\nimport { COLUMN_HEADER_ACTION } from '../../../../../behaviors/contextActionsBehavior/constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../../../resources/constants';\nimport { ALIGNMENT_CLASS_PREFIX } from '../../../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes';\nimport {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_SELECTION,\n} from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport { dragHandle } from '../../../shared/dragHandle';\nimport {\n\tgetFakeNowIcon,\n\tgetIconHeightWidth,\n\ticonIsCached,\n} from '../../../shared/fakeNowIcon';\nimport { groupToggleCellContent } from '../../../shared/groupToggleCellContent';\nimport {\n\tSPECIAL_COLUMN_CELL,\n\tSPECIAL_COLUMN_CELL_CONTENT,\n} from '../../tableBody/tableRow/rowCell/rowCellConstants';\nimport {\n\tELLIPSIS_ICON,\n\tINCLUDE_LARGE_PADDING_CLASS,\n\tINCLUDE_SMALL_PADDING_CLASS,\n} from '../../tableConstants';\nimport { columnFilteringToggleButton } from '../columnFilteringToggleButton';\n\nimport {\n\tCOLUMN_GRAB_INSTRUCTIONS,\n\tCOLUMN_GRAB_INSTRUCTIONS_PREFIX,\n\tCOLUMN_HEADER_ICON_SIZE,\n} from './tableHeaderCellConstants';\n\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n\tICON_CELL_COLORS_ENUMS,\n} = require('../../../fields/icon/iconConstants');\n\nconst {\n\tgetColumnLabel,\n\tgetColumnColSpan,\n\tgetColumnKey,\n\tgetColumnParentKey,\n\tgetColumnRowSpan,\n\tgetColumnSortDirection,\n\thasColumnHeaderActions,\n\thasChildren,\n\tgetHeaderTextDisabled,\n\tisColumnActive,\n\tgetColumnType,\n\tisSpecialColumn,\n\tgetChildren,\n} = columnSelectors;\n\n/**\n * Renders icon decorators in header cell\n * @param {Array<ColumnHeaderIcon>} icons\n * @param {string} position\n */\nexport const renderColumnHeaderCellIcons = (icons = [], position) => {\n\tif (icons.length === 0) return null;\n\n\treturn (\n\t\t<span data-testId={`column-header-${position}-icons`}>\n\t\t\t{icons.map((/** @type{Icon} */ icon) => {\n\t\t\t\tconst iconColor = ICON_CELL_COLORS_ENUMS.includes(icon.color)\n\t\t\t\t\t? icon.color\n\t\t\t\t\t: ICON_CELL_COLOR_DEFAULT;\n\t\t\t\tconst cellIconClassNames = classNames(\n\t\t\t\t\t'header-cell-icon',\n\t\t\t\t\ticonColor\n\t\t\t\t);\n\t\t\t\tif (iconIsCached(icon.value, COLUMN_HEADER_ICON_SIZE)) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cellIconClassNames}\n\t\t\t\t\t\t\taria-label={icon.label}\n\t\t\t\t\t\t\tstyle={getIconHeightWidth(COLUMN_HEADER_ICON_SIZE)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getFakeNowIcon(\n\t\t\t\t\t\t\t\ticon.value,\n\t\t\t\t\t\t\t\tCOLUMN_HEADER_ICON_SIZE\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={icon.value}\n\t\t\t\t\t\t\tsize={COLUMN_HEADER_ICON_SIZE}\n\t\t\t\t\t\t\tclassName={cellIconClassNames}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': icon.label,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})}\n\t\t<\/span>\n\t);\n};\n\n/**\n * Renders element to display the column header text\n * @param {ProcessedColumn} column\n * @param {*} dispatch seismic dispatch\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n */\nexport const renderHeaderCellText = (column, dispatch, tooltip) => {\n\tconst label = getColumnLabel(column);\n\tconst headerTextDisabled = getHeaderTextDisabled(column);\n\n\t// do not make header text clickable if header click explicitly disabled\n\t// or if the column has children\n\tif (\n\t\ttooltip === undefined ||\n\t\t!label ||\n\t\theaderTextDisabled ||\n\t\thasChildren(column)\n\t)\n\t\treturn (\n\t\t\t<span\n\t\t\t\tdata-testId=\"columnHeaderText\"\n\t\t\t\tclassName=\"header-cell-text header-cell-text-container\"\n\t\t\t\tdata-tooltip={label}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t);\n\telse {\n\t\tconst tooltipDataProps = tooltip ? { 'data-tooltip': t(tooltip) } : {};\n\t\treturn (\n\t\t\t<button\n\t\t\t\tdata-testId=\"columnHeaderText\"\n\t\t\t\tclassName=\"header-cell-text header-cell-text-button\"\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t}}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(HEADER_CELL_TEXT_CLICKED, {\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\t{...tooltipDataProps}\n\t\t\t>\n\t\t\t\t<div className=\"header-cell-button-label\" {...tooltipDataProps}>\n\t\t\t\t\t{label}\n\t\t\t\t<\/div>\n\t\t\t<\/button>\n\t\t);\n\t}\n};\n\n/**\n * Renders column's actions trigger button for header cell\n * @param {ProcessedColumn} column\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {function} dispatch\n * @param {string} tooltip\n */\nexport const renderColumnHeaderActionsButton = (\n\tcolumn,\n\tprocessedColumnDefinitions,\n\tcolumnHeaderActions,\n\tdispatch,\n\ttooltip\n) => {\n\tconst columnHeaderActionsRef = createRef();\n\tconst context = { column, typeOfAction: COLUMN_HEADER_ACTION };\n\tif (iconIsCached(ELLIPSIS_ICON, 'sm')) {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName=\"column-header-actions-button\"\n\t\t\t\tdata-testId=\"columnHeaderAction\"\n\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\tref={columnHeaderActionsRef}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\taria-label={t('{0} Actions', column.label)}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\tpopoverTarget: columnHeaderActionsRef,\n\t\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\tariaLabel: t(\n\t\t\t\t\t\t\t\t\t'Column actions for {0}',\n\t\t\t\t\t\t\t\t\tcolumn.label\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tactions: columnHeaderActions,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{getFakeNowIcon(ELLIPSIS_ICON, 'sm')}\n\t\t\t<\/button>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tdata-testId=\"columnHeaderAction\"\n\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tbare=\"true\"\n\t\t\t\ticon={ELLIPSIS_ICON}\n\t\t\t\tref={columnHeaderActionsRef}\n\t\t\t\tclassName=\"column-header-actions-button\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpopoverTarget: columnHeaderActionsRef,\n\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\tactions: columnHeaderActions,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\tcontext,\n\t\t\t\t}}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('{0} Actions', column.label),\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * Renders column drag drop handle based on the flag {@link isReorderingEnabled}\n * Wrapper stays all the time to maintain the spacing on left of the header cell\n * @param {Boolean | undefined} isReorderingEnabled\n * @param {ProcessedColumn} column\n * @param {number} totalColumns column count at the level\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @returns\n */\nexport const renderColumnReorderHandle = (\n\tisReorderingEnabled,\n\tcolumn,\n\ttotalColumns,\n\tcolumnIndex = 0\n) => {\n\tconst columnLabel = getColumnLabel(column);\n\tconst columnKey = getColumnKey(column);\n\tconst className = COLUMN_DRAG_HANDLE_CLASS;\n\tconst ariaLabel = t(\n\t\t'Grab to reorder {0}, {1} of {2}',\n\t\tcolumnLabel,\n\t\tcolumnIndex + 1,\n\t\ttotalColumns\n\t);\n\tconst ariaDescribedBy = `${COLUMN_GRAB_INSTRUCTIONS_PREFIX}-${columnKey}`;\n\n\treturn (\n\t\t<div className=\"column-drag-drop-handle-wrapper\">\n\t\t\t{isReorderingEnabled && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{dragHandle({\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\tariaLabel,\n\t\t\t\t\t\tariaDescribedBy,\n\t\t\t\t\t\ttooltip: t('Reorder'),\n\t\t\t\t\t})}\n\n\t\t\t\t\t<div className=\"now-a11y-label\" id={ariaDescribedBy}>\n\t\t\t\t\t\t{COLUMN_GRAB_INSTRUCTIONS}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * @param {ProcessedColumn} column\n * @param {string} width\n * @returns\n * @param {string} tooltip\n */\nexport const renderColumnResizeHandle = (column, width, tooltip) => {\n\tconst columnLabel = getColumnLabel(column);\n\treturn (\n\t\t<div\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"slider\"\n\t\t\tdata-tooltip={tooltip}\n\t\t\taria-label={t('Grab to resize {0}', columnLabel)}\n\t\t\taria-valuemin={COL_RESIZE_MIN_WIDTH}\n\t\t\taria-valuemax=\"9005\"\n\t\t\taria-valuenow={\n\t\t\t\twidth ? Number.parseInt(width) : COL_RESIZE_MIN_WIDTH\n\t\t\t}\n\t\t\tclassName={`${RESIZE_SLIDER_CLASS}-container`}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-tooltip={t('Resize')}\n\t\t\t\tclassName={RESIZE_SLIDER_CLASS}\n\t\t\t><\/div>\n\t\t\t<div className={`${RESIZE_SLIDER_CLASS}-guide`} />\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders Select All checkbox in table header\n * @param {RowDefinitions} rowDefinitions\n * @param {boolean} selectAllRows\n * @param {boolean | undefined} selectAllEnabled\n */\nexport const renderHeaderSelectionCellContent = (\n\trowDefinitions,\n\tselectAllRows = false,\n\tselectAllEnabled\n) => {\n\tconst rows = rowSelectors.getRows(rowDefinitions);\n\tconst allRowKeys = rowSelectors.getDefaultRowKeysRecursively(\n\t\trowDefinitions\n\t);\n\n\tconst rowSelectionCellContentClassnames = classNames({\n\t\t'row-selection-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowSelectionCheckboxClasses = classNames({\n\t\t'row-selection-checkbox': true,\n\t\t'is-checked': selectAllRows,\n\t});\n\n\tconst label = t('Select all rows');\n\n\treturn (\n\t\t<div className={rowSelectionCellContentClassnames}>\n\t\t\t{selectAllEnabled && !isEmpty(rows) && (\n\t\t\t\t<now-checkbox\n\t\t\t\t\tname={t('Select all rows')}\n\t\t\t\t\tmanageChecked={true}\n\t\t\t\t\tchecked={selectAllRows}\n\t\t\t\t\tclassName={rowSelectionCheckboxClasses}\n\t\t\t\t\tdata-testId=\"selection\"\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tisSelectAllCheckbox: true,\n\t\t\t\t\t\tchecked: !selectAllRows,\n\t\t\t\t\t\tallRowKeys,\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Render header action cell content\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n */\nexport const renderActionCellContent = (\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState\n) => {\n\treturn (\n\t\tcolumnFilteringEnabled &&\n\t\tcolumnFilteringToggleButton(columnFilteringState)\n\t);\n};\n\n/**\n * Renders default header cell content with icons, text and actions\n * @param {ProcessedColumn} column\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n * @param {Array<ColumnHeaderIcon>} startIcons\n * @param {Array<ColumnHeaderIcon>} endIcons\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {boolean | undefined} isReorderingEnabled flag to check if Column Reordering enabled\n * @param {boolean | undefined} columnResizingEnabled flag to check if Column Reordering enabled\n * @param {number} columnCount total number of columns in the level\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @param {string} width updated columnWidth\n * @param {*} dispatch seismic dispatch\n */\nexport const renderDefaultHeaderCellContent = (\n\tcolumn,\n\tprocessedColumnDefinitions,\n\ttooltip,\n\tstartIcons,\n\tendIcons,\n\tcolumnHeaderActions,\n\trowGroupingState,\n\tisReorderingEnabled,\n\tcolumnResizingEnabled,\n\tcolumnCount,\n\tcolumnIndex,\n\twidth,\n\tdispatch\n) => {\n\tconst hasResizeSupport =\n\t\tcolumnResizingEnabled &&\n\t\t!isSpecialColumn(column) &&\n\t\t!getChildren(column).length;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"header-cell-content-child\">\n\t\t\t\t{!isSpecialColumn(column) &&\n\t\t\t\t\trenderColumnReorderHandle(\n\t\t\t\t\t\tisReorderingEnabled,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tcolumnCount,\n\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t)}\n\t\t\t\t<div className=\"header-cell-aligned-items\">\n\t\t\t\t\t{renderColumnHeaderCellIcons(startIcons, 'start')}\n\t\t\t\t\t{renderHeaderCellText(column, dispatch, tooltip)}\n\t\t\t\t\t{renderColumnHeaderCellIcons(endIcons, 'end')}\n\t\t\t\t<\/div>\n\t\t\t\t{hasColumnHeaderActions(column) && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{renderColumnHeaderActionsButton(\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\t\tcolumnHeaderActions,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tt('Filter')\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{hasResizeSupport\n\t\t\t\t? renderColumnResizeHandle(column, width, t('Resize'))\n\t\t\t\t: null}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders table header cell th element\n * @param {ProcessedColumn} column\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {*} dispatch seismic dispatch\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n * @param {string} columnFilteringInfo optional tooltip describing filtering string\n * @param {boolean | undefined} isReorderingEnabled flag to check if Column Reordering enabled\n * @param {boolean | undefined} columnResizingEnabled flag to check if Column Reordering enabled\n * @param {number} columnCount total number of columns in the level\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean} isFirstColumn boolean indicating whether this is the first (leftmost in ltr) cell\n * @param {boolean | undefined} isLastColumn boolean indicating whether this is the last (rightmost in ltr) cell\n * @param {boolean | undefined} allColumnsHaveWidth boolean indicating whether all columns have a width\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {string} activeColumnKey\n * @param {boolean} showInlinePadding\n * @param {boolean | undefined} rowDragDropEnabled\n */\nexport const tableHeaderCell = (\n\tcolumn,\n\tcolumnHeaderActions,\n\tprocessedColumnDefinitions,\n\tdispatch,\n\ttooltip,\n\tcolumnFilteringInfo,\n\tisReorderingEnabled,\n\tcolumnResizingEnabled,\n\tcolumnCount,\n\trowGroupingState,\n\trowDefinitions,\n\trowSelectionState,\n\tcolumnIndex,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\tisFirstColumn,\n\tisLastColumn,\n\tallColumnsHaveWidth,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst columnKey = getColumnKey(column);\n\tconst isSpecial = isSpecialColumn(column);\n\tconst columnKeyClassName = isSpecial ? kebabCase(columnKey) : columnKey;\n\tconst alignment = columnSelectors.getHeaderCellAlignment(column);\n\tconst { startIcons, endIcons } = columnSelectors.getIcons(column);\n\tconst { selectAllRows = false } = rowSelectionState || {};\n\tconst isSelectionColumn = getColumnType(column) === SPECIAL_TYPE_SELECTION;\n\tconst isGroupToggleColumn =\n\t\tgetColumnType(column) === SPECIAL_TYPE_GROUP_TOGGLE;\n\tconst isActionColumn = getColumnType(column) === SPECIAL_TYPE_ACTIONS;\n\tconst sortDirection = getColumnSortDirection(column);\n\tconst shouldHaveIndent =\n\t\tshowInlinePadding && isFirstColumn && !rowDragDropEnabled;\n\tconst headerCellClassNames = classNames({\n\t\t'header-cell': true,\n\t\t[ALIGNMENT_CLASS_PREFIX + alignment]: true && !isSpecial,\n\t\t[COLUMN_ACTIVE_CLASS]:\n\t\t\tisColumnActive(column) || activeColumnKey === columnKey,\n\t\t[SPECIAL_COLUMN_CELL]: isSpecial,\n\t\t[columnKeyClassName]: true,\n\t\tdraggable: isReorderingEnabled && !isSpecial,\n\t\tresizable: columnResizingEnabled && !isSpecial,\n\t});\n\n\tconst width = getSavedWidth(columnWidthsState, columnKey);\n\tconst headerCellContentClassNames = classNames('header-cell-content', {\n\t\t'parent-col-cell-content': getColumnColSpan(column) > 1,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: shouldHaveIndent && isSpecialColumn,\n\t\t[INCLUDE_SMALL_PADDING_CLASS]: shouldHaveIndent && !isSpecialColumn,\n\t});\n\n\t/**\n\t * once the header column inserted or updated\n\t * set the autowidths calculated by the browser in columnWidthsState\n\t * @param {Now.JsxVNode} node\n\t */\n\tconst hookUpdateColumnWidthHelper = (node) => {\n\t\tif (!get(columnWidthsState, ['autoWidths', columnKey])) {\n\t\t\tdispatch(SET_COLUMN_WIDTHS, {\n\t\t\t\tcolumn,\n\t\t\t\tvnode: node,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst hookInsertColumnWidthHelper = () => {\n\t\tdispatch(INIT_COLUMN_WIDTHS);\n\t};\n\n\tconst headerCellAriaLabel = isSpecialColumn(column)\n\t\t? columnKey.replace(/([A-Z])/, ' $1')\n\t\t: t('{0}', getColumnLabel(column));\n\n\tconst shouldRenderRecentlyUpdatedIcon = false;\n\tconst getHeaderCellContent = () => {\n\t\tif (isSelectionColumn) {\n\t\t\treturn renderHeaderSelectionCellContent(\n\t\t\t\trowDefinitions,\n\t\t\t\tselectAllRows,\n\t\t\t\tselectAllEnabled\n\t\t\t);\n\t\t} else if (isGroupToggleColumn && toggleAllGroupsEnabled) {\n\t\t\treturn groupToggleCellContent(\n\t\t\t\t{\n\t\t\t\t\trow: null,\n\t\t\t\t\trowGroupingState,\n\t\t\t\t\tdispatch,\n\t\t\t\t},\n\t\t\t\tshouldRenderRecentlyUpdatedIcon\n\t\t\t);\n\t\t} else if (isActionColumn) {\n\t\t\treturn renderActionCellContent(\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState\n\t\t\t);\n\t\t} else {\n\t\t\treturn renderDefaultHeaderCellContent(\n\t\t\t\tcolumn,\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\ttooltip,\n\t\t\t\tstartIcons,\n\t\t\t\tendIcons,\n\t\t\t\tcolumnHeaderActions,\n\t\t\t\trowGroupingState,\n\t\t\t\tisReorderingEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnCount,\n\t\t\t\tcolumnIndex,\n\t\t\t\twidth,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<th\n\t\t\tclassName={headerCellClassNames}\n\t\t\trole=\"columnheader\"\n\t\t\trowSpan={getColumnRowSpan(column)}\n\t\t\tcolSpan={getColumnColSpan(column)}\n\t\t\tdata-columnKey={columnKey}\n\t\t\tdata-parentColumnKey={getColumnParentKey(column)}\n\t\t\tdata-draggable={isReorderingEnabled}\n\t\t\thook-insert={\n\t\t\t\t(allColumnsHaveWidth && isFirstColumn) ||\n\t\t\t\t(!allColumnsHaveWidth && isLastColumn)\n\t\t\t\t\t? hookInsertColumnWidthHelper\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\thook-update={hookUpdateColumnWidthHelper}\n\t\t\taria-label={headerCellAriaLabel}\n\t\t\taria-sort={sortDirection}\n\t\t>\n\t\t\t<div className={headerCellContentClassNames}>\n\t\t\t\t{getHeaderCellContent()}\n\t\t\t<\/div>\n\t\t<\/th>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { ICON_SIZES } from '../../../../constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../tableBody/tableRow/rowCell/rowCellConstants';\n\nimport {\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ICON,\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n} from './columnFilteringCell/columnFilteringConsts';\n\n/**\n * Renders a button-iconic component that onClick shows/hides the column filtering row.\n * @param {ColumnFilteringState} columnFilteringState\n */\nexport const columnFilteringToggleButton = (columnFilteringState) => {\n\tconst ref = createRef();\n\tconst { showColumnFilteringRow } = columnFilteringState;\n\n\tconst ariaLabel = showColumnFilteringRow\n\t\t? t('Hide column filter row')\n\t\t: t('Show column filter row');\n\tconst cellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-actions-cell-content': true,\n\t\t'column-filtering-toggle-button-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst buttonIconicClassNames = classNames({\n\t\t'column-filtering-button-iconic': true,\n\t});\n\n\treturn (\n\t\t<div className={cellContentClassNames}>\n\t\t\t<now-button-stateful\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\ttype: SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n\t\t\t\t}}\n\t\t\t\tbare=\"true\"\n\t\t\t\tclassName={buttonIconicClassNames}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-expanded': showColumnFilteringRow,\n\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tdata-testId=\"columnFilteringToggleButtonIconic\"\n\t\t\t\ticon={SHOW_HIDE_COLUMN_FILTERING_ROW_ICON}\n\t\t\t\tref={ref}\n\t\t\t\tselected={showColumnFilteringRow}\n\t\t\t\tsize={ICON_SIZES.SMALL}\n\t\t\t\ttooltipContent={ariaLabel}\n\t\t\t\tvariant=\"primary\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import classNames from 'classnames';\n\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../utils/selectors/rowSelectors';\nimport { renderActionableMessage } from '../../actionableMessage/actionableMessage';\n\nimport {\n\tcolumnFilterLabelCell,\n\tcolumnFilterCell,\n} from './columnFilteringCell/columnFilteringCell';\nimport {\n\tCOLUMN_FILTERING_ROW_CLASS,\n\tCOLUMN_FILTERING_ROW_ID,\n} from './columnFilteringCell/columnFilteringConsts';\nimport { tableHeaderCell } from './tableHeaderCell/tableHeaderCell';\n\n/**\n * Renders all the header cells in a given header row\n *\n * @param {Array<String>} headerCells an array of objects representing cells in a single row\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {*} dispatch seismic dispatch\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {number} columnLevel column level\n * @param {boolean | undefined} columnDragDropEnabled\n * @param {boolean | undefined} columnResizingEnabled\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {String} activeColumnKey\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {boolean} showInlinePadding\n */\nexport const renderHeaderCells = (\n\theaderCells,\n\tprocessedColumnDefinitions,\n\trowDefinitions,\n\trowSelectionState,\n\tdispatch,\n\trowGroupingState,\n\tcolumnLevel,\n\tcolumnDragDropEnabled,\n\tcolumnResizingEnabled,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst featureFlags = { columnDragDropEnabled };\n\n\tconst columnHeaderTextTooltip = columnSelectors.getHeaderTextTooltip(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnFilteringInfo = columnSelectors.getColumnFilteringInfo(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnCountAtLevel = columnSelectors.getTotalColumnsAtLevel(\n\t\tprocessedColumnDefinitions,\n\t\tcolumnLevel\n\t);\n\n\tlet validColumnIndex = 0;\n\n\t//find last column\n\tconst columnEdges = processedColumnDefinitions.columnEdges;\n\tconst lastColumn = columnEdges[columnEdges.length - 1];\n\n\t//check if all columns have width defined\n\tconst allColumns = columnSelectors.getColumns(\n\t\tprocessedColumnDefinitions.processedColumnDefinitions\n\t);\n\tconst allColumnsHaveWidth = allColumns\n\t\t.filter(\n\t\t\t(/** @type {ColumnBase} */ col) =>\n\t\t\t\t!columnSelectors.isSpecialColumn(col)\n\t\t)\n\t\t.every(\n\t\t\t(/** @type {{ width: undefined; }} */ col) =>\n\t\t\t\tcol.width !== undefined\n\t\t);\n\n\treturn headerCells.map((columnKey) => {\n\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst columnHeaderActions = columnSelectors.getColumnHeaderActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\tconst isReorderingEnabled = columnSelectors.isReorderingPossibleOnColumn(\n\t\t\tfeatureFlags,\n\t\t\tcolumn\n\t\t);\n\t\tconst isFirstColumn = columnKey === headerCells[0];\n\t\tconst isLastColumn = columnKey === lastColumn;\n\n\t\tconst columnIndex = columnSelectors.isSpecialColumn(column)\n\t\t\t? undefined\n\t\t\t: validColumnIndex++;\n\n\t\treturn tableHeaderCell(\n\t\t\tcolumn,\n\t\t\tcolumnHeaderActions,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tdispatch,\n\t\t\tcolumnHeaderTextTooltip,\n\t\t\tcolumnFilteringInfo,\n\t\t\tisReorderingEnabled,\n\t\t\tcolumnResizingEnabled,\n\t\t\tcolumnCountAtLevel,\n\t\t\trowGroupingState,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tcolumnIndex,\n\t\t\tcolumnWidthsState,\n\t\t\tselectAllEnabled,\n\t\t\tisFirstColumn,\n\t\t\tisLastColumn,\n\t\t\tallColumnsHaveWidth,\n\t\t\ttoggleAllGroupsEnabled,\n\t\t\tcolumnFilteringEnabled,\n\t\t\tcolumnFilteringState,\n\t\t\tactiveColumnKey,\n\t\t\trowDragDropEnabled,\n\t\t\tshowInlinePadding\n\t\t);\n\t});\n};\n\n/**\n * Renders the column filtering header row.\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\nexport const renderColumnFilteringRow = (props, dispatch) => {\n\tconst {\n\t\tcolumnFilteringState,\n\t\tprocessedColumnDefinitions,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t} = props;\n\n\tconst filterLabelCellColSpan = columnSelectors.getSpecialColumnsCount(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnFilteringInfo = columnSelectors.getColumnFilteringInfo(\n\t\tprocessedColumnDefinitions\n\t);\n\n\tconst columnFilteringRowClassNames = classNames({\n\t\t[COLUMN_FILTERING_ROW_CLASS]: true,\n\t\t'is-hidden': !columnFilteringState?.showColumnFilteringRow,\n\t});\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={columnFilteringRowClassNames}\n\t\t\tid={COLUMN_FILTERING_ROW_ID}\n\t\t>\n\t\t\t{columnFilterLabelCell({\n\t\t\t\tfilterLabelCellColSpan,\n\t\t\t\tcolumnFilteringInfo,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding,\n\t\t\t})}\n\t\t\t{processedColumnDefinitions.columnEdges.map((columnEdgeKey) => {\n\t\t\t\tif (columnSelectors.isSpecialColumnKey(columnEdgeKey)) {\n\t\t\t\t\treturn null; // already accounted for in the label colspan cell\n\t\t\t\t} else {\n\t\t\t\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcolumnEdgeKey\n\t\t\t\t\t);\n\t\t\t\t\treturn columnFilterCell({ column, ...props }, dispatch);\n\t\t\t\t}\n\t\t\t})}\n\t\t<\/tr>\n\t);\n};\n\n/**\n * Renders the header row(s) for the table\n *\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {*} dispatch seismic dispatch\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {boolean | undefined} columnDragDropEnabled\n * @param {boolean | undefined} columnResizingEnabled\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {String} activeColumnKey\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {boolean} showInlinePadding\n */\nexport const renderHeaderRows = (\n\tprocessedColumnDefinitions,\n\trowDefinitions,\n\trowSelectionState,\n\tdispatch,\n\trowGroupingState,\n\tcolumnDragDropEnabled,\n\tcolumnResizingEnabled,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst { columnLeafs } = processedColumnDefinitions;\n\treturn columnLeafs.map((headerCells, index) => (\n\t\t<tr className=\"header-row\">\n\t\t\t{renderHeaderCells(\n\t\t\t\theaderCells,\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\trowDefinitions,\n\t\t\t\trowSelectionState,\n\t\t\t\tdispatch,\n\t\t\t\trowGroupingState,\n\t\t\t\tindex + 1, // column level\n\t\t\t\tcolumnDragDropEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnWidthsState,\n\t\t\t\tselectAllEnabled,\n\t\t\t\ttoggleAllGroupsEnabled,\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tactiveColumnKey,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding\n\t\t\t)}\n\t\t<\/tr>\n\t));\n};\n\n/**\n * Subview of table containing the table header(s) that define the columns of the table\n *\n * @param {Object} props\n * @param {State} props.behaviors\n * @param {boolean | undefined} props.columnDragDropEnabled\n * @param {boolean | undefined} props.columnFilteringEnabled\n * @param {boolean | undefined} props.columnResizingEnabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {ColumnWidthsState} props.columnWidthsState\n * @param {boolean | undefined} props.selectAllEnabled\n * @param {boolean | undefined} props.toggleAllGroupsEnabled\n * @param {String} props.activeColumnKey\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\nexport const tableHeaders = (props, dispatch) => {\n\tconst {\n\t\tactiveColumnKey,\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t\t},\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tdir,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowGroupingState,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t} = props;\n\tconst { hasTopActionableMessage, getTopActionableMessage } = rowSelectors;\n\tconst columnFilteringProps = {\n\t\tcolumnFilteringEnabled,\n\t\tcolumnFilteringState,\n\t\tdir,\n\t\tprocessedColumnDefinitions,\n\t\ttableMetadata,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t};\n\n\tif (!processedColumnDefinitions) return null;\n\n\treturn (\n\t\t<thead>\n\t\t\t{renderHeaderRows(\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\trowDefinitions,\n\t\t\t\trowSelectionState,\n\t\t\t\tdispatch,\n\t\t\t\trowGroupingState,\n\t\t\t\tcolumnDragDropEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnWidthsState,\n\t\t\t\tselectAllEnabled,\n\t\t\t\ttoggleAllGroupsEnabled,\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tactiveColumnKey,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding\n\t\t\t)}\n\t\t\t{columnFilteringEnabled &&\n\t\t\t\trenderColumnFilteringRow(columnFilteringProps, dispatch)}\n\t\t\t{hasTopActionableMessage(rowDefinitions)\n\t\t\t\t? renderActionableMessage(\n\t\t\t\t\t\tgetTopActionableMessage(rowDefinitions),\n\t\t\t\t\t\tprocessedColumnDefinitions.columnEdges.length,\n\t\t\t\t\t\t'top'\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t<\/thead>\n\t);\n};\n","import classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { TABLE_LAYOUT_FIXED } from '../../../behaviors/columnWidthBehavior/constants';\nimport {\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} from '../../../typeSchemas/overlayDefinition/overlayConfigConsts';\nimport overlaySelectors from '../../utils/selectors/overlaySelectors';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport {\n\thandleRemoveTooltip,\n\thandleShowTooltip,\n\thandleShowTooltipOnFocus,\n} from '../../utils/tooltipUtil';\nimport {\n\tshouldWrapCellContent,\n\tsetWrapClass,\n} from '../../utils/wrapCellContent';\nimport { renderSkeletonLoaderOverlay } from '../overlay/overlay';\n\nimport { colGroups } from './colGroups/colGroups';\nimport { tableBody } from './tableBody/tableBody';\nimport { tableFooters } from './tableFooters/tableFooter';\nimport { tableHeaders } from './tableHeaders/tableHeader';\n\nconst { hasRows, hasGroupedOrDefaultRowsWithChildren } = rowSelectors;\nconst { getOverlayType, getOverlayShowColumnHeaders } = overlaySelectors;\n\n/** The view for now-list's main table grid.\n * @param {Object} props\n * @param {('ltr'|'rtl')} props.dir a prop representing the language direction.\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {ColumnWidthsState} props.columnWidthsState - description\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {string} props.activeColumnKey The key of a column that should be highlighted when the header context menu is open\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {string} props.componentId nowId of the component\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n * @param {State} props.behaviors\n * @param {TableMetadata} props.tableMetadata an object representing metadata for a given table.\n * @param {boolean | undefined} props.columnDragDropEnabled\n * @param {boolean | undefined}  props.columnResizingEnabled\n * @param {boolean | undefined}  props.columnFilteringEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.toggleAllGroupsEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {string | undefined} props.wrapCellContent\n * @param {object} props.contextApi\n * @param {boolean | undefined} props.selectAllEnabled\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {boolean} props.showInlinePadding\n * @param {OverlayDefinition} overlayDefinition a prop representing an overlay to render in the body of the table.\n * @param {*} dispatch seismic dispatch\n *\n */\nexport const table = (props, overlayDefinition, dispatch) => {\n\tconst {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContent,\n\t} = props;\n\tconst wrapCellContentEnabled = shouldWrapCellContent(\n\t\twrapCellContent,\n\t\tcontextApi\n\t);\n\tconst tableProps = {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\toverlayDefinition,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContentEnabled,\n\t};\n\n\tconst overlayType = getOverlayType(overlayDefinition);\n\tconst SKELETON_TABLE_CLASS_NAME = 'skeleton-table';\n\n\tif (\n\t\toverlayType === OVERLAY_TYPE_SKELETON_LOADER &&\n\t\t!getOverlayShowColumnHeaders(overlayDefinition)\n\t) {\n\t\treturn (\n\t\t\t<table\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tSKELETON_TABLE_CLASS_NAME,\n\t\t\t\t\t'full-table-overlay'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{renderSkeletonLoaderOverlay(overlayDefinition)}\n\t\t\t<\/table>\n\t\t);\n\t}\n\n\tconst tableLayout = get(columnWidthsState, 'tableLayout');\n\tconst tableClassNames = classNames(\n\t\t'now-list-table',\n\t\tvirtualizedScrollEnabled\n\t\t\t? 'virtualized-list'\n\t\t\t: setWrapClass(wrapCellContentEnabled, 'wrap', 'truncate'),\n\t\ttableLayout === TABLE_LAYOUT_FIXED ? 'fixed' : 'auto',\n\t\toverlayType === OVERLAY_TYPE_SKELETON_LOADER\n\t\t\t? SKELETON_TABLE_CLASS_NAME\n\t\t\t: null\n\t);\n\n\tconst scrollToTopCaption = t(\n\t\t`As you scroll down the table, a \"Scroll To Top\" button will appear after the table. Activating this button will bring your focus to first cell of the top row. The button will disappear if you scroll to the top of the table.`\n\t);\n\n\treturn (\n\t\t<table\n\t\t\taria-labelledby=\"sr-list-caption\"\n\t\t\tclassName={tableClassNames}\n\t\t\tdir={dir}\n\t\t\trole={\n\t\t\t\thasGroupedOrDefaultRowsWithChildren(rowDefinitions)\n\t\t\t\t\t? 'treegrid'\n\t\t\t\t\t: 'grid'\n\t\t\t}\n\t\t\tstyle={{ tableLayout }}\n\t\t\t/**\n\t\t\t * adding on the top level to avoid adding listeners for each cell\n\t\t\t */\n\t\t\ton-mouseover={(/** @type {MouseEvent} */ e) =>\n\t\t\t\thandleShowTooltip(dispatch, e)\n\t\t\t}\n\t\t\ton-mouseout={(/** @type {MouseEvent} */ e) =>\n\t\t\t\thandleRemoveTooltip(dispatch, e)\n\t\t\t}\n\t\t\ton-focusin={(/** @type {FocusEvent} */ e) => {\n\t\t\t\thandleShowTooltipOnFocus(dispatch, e);\n\t\t\t}}\n\t\t\ton-focusout={(/** @type {FocusEvent} */ e) => {\n\t\t\t\thandleRemoveTooltip(dispatch, e);\n\t\t\t}}\n\t\t>\n\t\t\t<caption className=\"now-a11y-label\" id=\"sr-list-caption\">\n\t\t\t\t{virtualizedScrollEnabled ? scrollToTopCaption : null}\n\t\t\t<\/caption>\n\t\t\t{colGroups(tableProps)}\n\n\t\t\t{tableHeaders(tableProps, dispatch)}\n\n\t\t\t{(!isEmpty(overlayDefinition) &&\n\t\t\t\t(overlayType === OVERLAY_TYPE_SKELETON_LOADER ||\n\t\t\t\t\toverlayType === OVERLAY_TYPE_LOADER)) ||\n\t\t\t(hasRows(rowDefinitions) && isEmpty(overlayDefinition))\n\t\t\t\t? tableBody(tableProps, dispatch)\n\t\t\t\t: null}\n\n\t\t\t{tableFooters(tableProps)}\n\t\t<\/table>\n\t);\n};\n","import rowSelectors from '../../../utils/selectors/rowSelectors';\nimport { renderActionableMessage } from '../../actionableMessage/actionableMessage';\n\n/**\n * Subview of table containing the table footer(s)\n *\n * @param {Object} props\n * @param {RowDefinitions} props.rowDefinitions\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n */\nexport const tableFooters = (props) => {\n\tconst { processedColumnDefinitions, rowDefinitions } = props;\n\tconst {\n\t\thasBottomActionableMessage,\n\t\tgetBottomActionableMessage,\n\t} = rowSelectors;\n\n\tif (!processedColumnDefinitions) return null;\n\n\treturn (\n\t\t<tfoot>\n\t\t\t{hasBottomActionableMessage(rowDefinitions)\n\t\t\t\t? renderActionableMessage(\n\t\t\t\t\t\tgetBottomActionableMessage(rowDefinitions),\n\t\t\t\t\t\tprocessedColumnDefinitions.columnEdges.length,\n\t\t\t\t\t\t'bottom'\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t<\/tfoot>\n\t);\n};\n","import { createUxfContractBehavior } from '@devsnc/uxf-effects';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { SnTimeAgo } from 'sn-component-timeago';\nimport { t } from 'sn-translate';\n\nimport actionableMessageBehavior from './behaviors/actionableMessageBehavior/actionableMessageBehavior';\nimport cellEditingBehavior from './behaviors/cellEditingBehavior/cellEditingBehavior';\nimport columnDefinitionsBehavior from './behaviors/columnBehavior/columnBehavior';\nimport columnDragDropBehavior from './behaviors/columnDragDropBehavior/columnDragDropBehavior';\nimport columnFilteringBehavior from './behaviors/columnFilteringBehavior/columnFilteringBehavior';\nimport columnHeaderClickBehavior from './behaviors/columnHeaderClickBehavior/columnHeaderClickBehavior';\nimport columnResizeBehavior from './behaviors/columnResizeBehavior/columnResizeBehavior';\nimport columnWidthBehavior from './behaviors/columnWidthBehavior/columnWidthBehavior';\nimport componentLoaderBehavior from './behaviors/componentLoaderBehavior/componentLoaderBehavior';\nimport contextActionsBehavior from './behaviors/contextActionsBehavior/contextActionsBehavior';\nimport customCellDynamicActionBehavior from './behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior';\nimport {\n\tcreateIntersectionObserver,\n\tcreateRootElementHooks,\n} from './behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport {\n\tdefault as keyboardNavBehavior,\n\tfocus,\n} from './behaviors/keyboardNavBehavior';\nimport linkBehavior from './behaviors/linkBehavior/linkBehavior';\nimport metricsBehavior from './behaviors/metricsBehavior/metricsBehavior';\nimport overlayBehavior from './behaviors/overlayBehavior/overlayBehavior';\nimport popoverDefinitionBehavior from './behaviors/popoverBehavior/popoverBehavior';\nimport rowDefinitionsBehavior from './behaviors/rowBehavior/rowBehavior';\nimport rowDragDropBehavior from './behaviors/rowDragDropBehavior/rowDragDropBehavior';\nimport rowGroupingBehavior from './behaviors/rowGroupingBehavior/rowGroupingBehavior';\nimport rowHighlightedBehavior from './behaviors/rowHighlightedBehavior/rowHighlightedBehavior';\nimport rowSelectionBehavior from './behaviors/rowSelectionBehavior/rowSelectionBehavior';\nimport { SCROLL_TO_TOP_TRIGGERED } from './behaviors/virtualizedListBehavior/constants';\nimport { virtualizedListBehavior } from './behaviors/virtualizedListBehavior/virtualizedListBehavior';\nimport { getVirtualizedBehaviorState } from './behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils';\nimport styles from './main.scss';\nimport nowListBridgeBehavior from './shared/behaviors/bridgeBehavior/bridgeBehavior';\nimport { nowListScrollHandler } from './shared/utils/eventListeners';\nimport isHiddenControlsEnabled from './shared/utils/hiddenControls';\nimport columnSelectors from './shared/utils/selectors/columnSelectors';\nimport overlaySelectors from './shared/utils/selectors/overlaySelectors';\nimport rowSelectors from './shared/utils/selectors/rowSelectors';\nimport { floatingTarget } from './shared/views/floatingTarget/floatingTarget';\nimport { overlay } from './shared/views/overlay/overlay';\nimport { popover } from './shared/views/popover/popover';\nimport './now-list-gallery';\nimport { table } from './shared/views/table/table';\n\nconst {\n\tSCROLL_CONTAINER_CLASS,\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tLAYOUT_OPTIONS,\n} = require('./constants');\nconst { COMPONENT_DOM_TREE_READY } = actionTypes;\nconst {\n\tcolumnDefinitionsSchema,\n} = require('./typeSchemas/columnDefinitions/columnDefinitions');\nconst {\n\tOVERLAY_NO_COLS_CONFIG,\n\tOVERLAY_NO_ROWS_CONFIG,\n\tOVERLAY_DUPLICATE_ROW_KEYS_CONFIG,\n} = require('./typeSchemas/overlayDefinition/defaultOverlaysConfigConsts');\nconst {\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('./typeSchemas/overlayDefinition/overlayConfigConsts');\nconst {\n\toverlayDefinitionSchema,\n} = require('./typeSchemas/overlayDefinition/overlayDefinition');\nconst {\n\tpopoverDefinitionSchema,\n} = require('./typeSchemas/popoverDefinition/popoverDefinition');\nconst {\n\trowDefinitionsSchema,\n} = require('./typeSchemas/rowDefinitions/rowDefinitions');\n\nconst { hasColumns } = columnSelectors;\nconst { hasRows } = rowSelectors;\nconst {\n\tgetOverlayShowColumnHeaders,\n\tgetOverlayType,\n\thasErrorMessage,\n} = overlaySelectors;\n\nconst timeAgoBehaviors = SnTimeAgo.getBehaviors();\n\n/**\n * A body overlay to render below the table (table consisting only of header cells)\n * @param {RowDefinitions} rowDefinitions\n * @param {OverlayDefinition} overlayDefinition\n * @param {TableMetadata} tableMetadata\n * @param {string} dir a string value that represents the language direction\n * @param {boolean | undefined } emptyStateEnabled boolean value that represents if empty state is enabled\n */\nexport const renderBodyOverlay = (\n\trowDefinitions,\n\toverlayDefinition,\n\ttableMetadata,\n\tdir,\n\temptyStateEnabled\n) => {\n\tif (\n\t\t!isEmpty(overlayDefinition) &&\n\t\tgetOverlayShowColumnHeaders(overlayDefinition) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER // handled in tableBody\n\t) {\n\t\t// overlay that shows column headers is configured through props\n\t\treturn overlay(overlayDefinition, tableMetadata, dir);\n\t} else if (!hasRows(rowDefinitions) && emptyStateEnabled) {\n\t\t// no row data overlay\n\t\treturn overlay(OVERLAY_NO_ROWS_CONFIG, tableMetadata, dir);\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/** @type {View<Props, State>} */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\tprocessedColumnDefinitions,\n\t\tbehaviors,\n\t\tcomponentId,\n\t\trowDefinitions,\n\t\trowContextPosition,\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tfocusedRowKey,\n\t\tproperties: {\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnDragDropEnabled,\n\t\t\tcolumnFilteringEnabled,\n\t\t\tcolumnResizingEnabled,\n\t\t\tdir,\n\t\t\temptyStateEnabled,\n\t\t\tshowInlinePadding,\n\t\t\tlayout,\n\t\t\toverlayDefinition,\n\t\t\trowDragDropEnabled,\n\t\t\tselectAllEnabled,\n\t\t\tselectionEnabled,\n\t\t\tshadeAlternateRows,\n\t\t\ttoggleAllGroupsEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\twrapCellContent,\n\t\t},\n\t\tpopoverState,\n\t\trowSelectionState,\n\t\trowGroupingState,\n\t\thasDuplicateRowKeys,\n\t\tfetchedComponents,\n\t\tcolumnWidthsState,\n\t\tcontext: contextApi,\n\t\trowIndexesMap,\n\t} = state;\n\n\tconst tableMetadata = {\n\t\tfetchedComponents,\n\t};\n\tconst tableProps = {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding: showInlinePadding ?? true,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled: virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: rowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled: virtualizedScrollEnabled ? false : selectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled: virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: toggleAllGroupsEnabled,\n\t\twrapCellContent,\n\t\tvirtualizedScrollEnabled,\n\t};\n\tconst {\n\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t} = behaviors;\n\tconst popoverProps = { popoverState, tableMetadata, columnFilteringState };\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(state);\n\n\t// check if list should be entirely replaced with overlay\n\tif (\n\t\tcolumnDefinitions === undefined &&\n\t\trowDefinitions === undefined &&\n\t\toverlayDefinition === undefined\n\t) {\n\t\treturn null;\n\t} else if (\n\t\t// non skeleton full table overlay is configured through props\n\t\t!isEmpty(overlayDefinition) &&\n\t\t(hasErrorMessage(overlayDefinition) ||\n\t\t\t!getOverlayShowColumnHeaders(overlayDefinition)) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\treturn overlay(overlayDefinition, tableMetadata, dir);\n\t} else if (\n\t\t// unconfigured list overlay\n\t\t!hasColumns(processedColumnDefinitions?.processedColumnDefinitions) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\treturn overlay(OVERLAY_NO_COLS_CONFIG, tableMetadata, dir);\n\t} else if (\n\t\thasDuplicateRowKeys &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\t// duplicate row keys overlay\n\t\treturn overlay(OVERLAY_DUPLICATE_ROW_KEYS_CONFIG, tableMetadata, dir);\n\t}\n\tconst scrollToTopLabel = t('Scroll to top of list');\n\tconst galleryLayoutProps = {\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\tclickableTextEnabled,\n\t\tsharedContext: {\n\t\t\trowGroupingState,\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\trowSelectionState,\n\t\t\tcontextApi,\n\t\t}, // TODO: To be Removed when working on sn-list-grid new component changes STRY59778130\n\t\tvirtualizedScrollEnabled,\n\t\tselectionEnabled,\n\t};\n\treturn (\n\t\t<div className={classNames('parent-container')}>\n\t\t\t{getOverlayType(overlayDefinition) ===\n\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER && (\n\t\t\t\t<div className={'skeleton-loader-gradient'} />\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tkey=\"tableContainer\" // needed for hooks to work correctly on this element after swapping overlay\n\t\t\t\tonScroll={nowListScrollHandler(dispatch)}\n\t\t\t\tclassName={classNames(SCROLL_CONTAINER_CLASS, {\n\t\t\t\t\t'row-drag-drop': rowDragDropEnabled,\n\t\t\t\t\t'always-show': isHiddenControlsEnabled(contextApi),\n\t\t\t\t\t'disable-scroll':\n\t\t\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\t\t\tOVERLAY_TYPE_LOADER ||\n\t\t\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER,\n\t\t\t\t})}\n\t\t\t\tdata-testId=\"scrollContainer\"\n\t\t\t\t{...createRootElementHooks(dispatch)}\n\t\t\t>\n\t\t\t\t{columnDefinitions?.columns?.length ||\n\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER ? (\n\t\t\t\t\tlayout === LAYOUT_OPTIONS.LIST ? (\n\t\t\t\t\t\ttable(tableProps, overlayDefinition, dispatch)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<sn-list-gallery {...galleryLayoutProps} />\n\t\t\t\t\t)\n\t\t\t\t) : null}\n\t\t\t\t{popover(popoverProps, dir)}\n\t\t\t\t{floatingTarget({ rowContextPosition })}\n\t\t\t<\/div>\n\t\t\t{renderBodyOverlay(\n\t\t\t\trowDefinitions,\n\t\t\t\toverlayDefinition,\n\t\t\t\ttableMetadata,\n\t\t\t\tdir,\n\t\t\t\temptyStateEnabled\n\t\t\t)}\n\t\t\t{virtualizedScrollEnabled && showScrollToTopButton && (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName=\"scroll-to-top-button\"\n\t\t\t\t\ticon=\"arrow-up-most-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tconfigAria={{ 'aria-label': scrollToTopLabel }}\n\t\t\t\t\ttooltipContent={scrollToTopLabel}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(SCROLL_TO_TOP_TRIGGERED);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * A presentational list table component with high customizability that can be used to display custom data, or ServiceNow records when used in conjunction with the List Controller.\n * You should not use this component on its own if you want a traditional list of ServiceNow records.\n *\n * @summary Displays data from any data source in tabular format with high configurability.\n * @seismicElement now-list\n */\ncreateCustomElement('now-list', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * @description Direction that language should render, such as left-to-right.\n\t\t * @private\n\t\t * @type {object}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t},\n\t\t/**\n\t\t * @description Config for switching between different list layout types [list | gallery]\n\t\t * @private\n\t\t * @type {object}\n\t\t */\n\t\tlayout: {\n\t\t\ttype: 'string',\n\t\t\tdefault: LAYOUT_OPTIONS.LIST,\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * @description Contains data and metadata to populate and render all columns in the list grid.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnDefinitions: {\n\t\t\tschema: columnDefinitionsSchema,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * @description Contains data and metadata to populate and render all rows in the list grid.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\trowDefinitions: {\n\t\t\tschema: rowDefinitionsSchema,\n\t\t},\n\t\t/**\n\t\t * @description Contains data to render a popover in the list at the specified target location.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tpopoverDefinition: {\n\t\t\tschema: popoverDefinitionSchema,\n\t\t},\n\t\t/**\n\t\t * @description Property to display a configurable overlay that covers either the entire list, or only covers the body with header cells exposed.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\toverlayDefinition: {\n\t\t\tschema: overlayDefinitionSchema,\n\t\t},\n\t\t/**\n\t\t * @description Enables row selection by rendering a checkbox on all rows. When true, can be turned off on a row-by-row basis.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tselectionEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables toggling expansion state of all groups at once by rendering a button in the column header row.\n\t\t * \tWhen false, the toggle icon button is hidden and only individual groups are toggleable.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\ttoggleAllGroupsEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows the user to select all rows through a checkbox rendered in the table header. Row selection is required for this checkbox to be rendered.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tselectAllEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables a presentational filtering experience at the top of each column. Inputs to this experience must be handled by the consumer in order to actually filter the list.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnFilteringEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables cell inline editing. When true, can be turned off on a column-by-column and/or cell-by-cell basis.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcellEditingEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables the external data source to manage cell inline editing. When true, the data source (for example, the list controller) defines the cell editing popover.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcellEditingManaged: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows column reordering by dragging and dropping.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnDragDropEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows column resizing through draggable handles.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnResizingEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows row reordering by dragging and dropping. It is not recommended for use with sorting or grouping.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\trowDragDropEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description When true, expands all groups in the table.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\texpandAllGroups: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description When enabled, allows multiple lines of text per cell across the table. Text may still be truncated.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\twrapCellContent: {\n\t\t\tdefault: USE_LINE_BREAKS_USER_PREFERENCE,\n\t\t\ttype: 'string',\n\t\t},\n\t\t/**\n\t\t * @description When enabled, applies styling to the list to make every other row a different color.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tshadeAlternateRows: {\n\t\t\tdefault: USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\t\t\ttype: 'string',\n\t\t},\n\t\t/**\n\t\t * @description Number of characters that can be displayed in each cell before truncation. Can be overridden at the column level.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tmaxCharacters: {\n\t\t\tdefault: 4000,\n\t\t\ttype: 'number',\n\t\t},\n\t\t/**\n\t\t * @description When true, lists that have no rows or that are incorrectly configured will show a graphic and some text.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\temptyStateEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows links, urls, and person type cells to have clickable highlighted text. When false, they are rendered as plain text.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tclickableTextEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Landmarks define main elements on the page. When this property is true, the component is included in the landmark keyboard shortcut cycling behavior, allowing users to quickly jump focus back-and-forth between the main elements on the page.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tlandmark: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * @description Activates virtualized scrolling of all rows (rowdefinitions) in state.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tvirtualizedScrollEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Includes padding on the side(s) of the list. When false, the list is flush with the edge of the container.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tshowInlinePadding: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t},\n\tbehaviors: [\n\t\tvirtualizedListBehavior,\n\t\tactionableMessageBehavior,\n\t\tcellEditingBehavior,\n\t\tcolumnDefinitionsBehavior,\n\t\tcolumnDragDropBehavior,\n\t\tcolumnFilteringBehavior,\n\t\tcolumnHeaderClickBehavior,\n\t\tcolumnResizeBehavior,\n\t\tcolumnWidthBehavior,\n\t\tcomponentLoaderBehavior,\n\t\tcontextActionsBehavior,\n\t\tcustomCellDynamicActionBehavior,\n\t\tkeyboardNavBehavior,\n\t\tlinkBehavior,\n\t\toverlayBehavior,\n\t\tpopoverDefinitionBehavior,\n\t\trowDefinitionsBehavior,\n\t\trowDragDropBehavior,\n\t\trowGroupingBehavior,\n\t\trowHighlightedBehavior,\n\t\trowSelectionBehavior,\n\t\ttooltipBehavior,\n\t\ttruncationBehavior,\n\t\tnowListBridgeBehavior,\n\t\t{ behavior: rtlBehavior },\n\t\tcreateIntersectionObserver({\n\t\t\trootElementSelector: '[data-id=scrollContainer]',\n\t\t\telementIdentifier: {\n\t\t\t\t'row-cell-actions': {\n\t\t\t\t\tinitialClass: 'row-cell-actions-button-placeholder',\n\t\t\t\t},\n\t\t\t\t'header-cell-actions': {\n\t\t\t\t\tinitialClass: 'row-cell-actions-button-placeholder',\n\t\t\t\t},\n\t\t\t\t'time-ago-display': {\n\t\t\t\t\tinitialClass: 'time-ago-display-placeholder',\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t...timeAgoBehaviors,\n\t\tmetricsBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus,\n\t\t\t},\n\t\t},\n\t\tcreateUxfContractBehavior({\n\t\t\tinteractiveActionName: COMPONENT_DOM_TREE_READY,\n\t\t}),\n\t],\n\tstyles,\n});\n","/**\n * View for floating target to be used for internal right click popovers\n * @param {*} props\n */\nexport const floatingTarget = (props) => {\n\tconst style = {\n\t\ttop: `${props.rowContextPosition?.y ?? 0}px`,\n\t\tleft: `${props.rowContextPosition?.x ?? 0}px`,\n\t};\n\treturn (\n\t\t<div\n\t\t\tdata-testId=\"floatingTarget\"\n\t\t\tclassName=\"floating-target\"\n\t\t\tstyle={style}\n\t\t><\/div>\n\t);\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_list=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":256,"column":0},"map":{"mappings":"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","file":"externals/eventemitter3/5.0.1/index.min.js","names":["has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","this","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","call","slice","getOwnPropertySymbols","concat","listeners","handlers","i","l","length","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","args","len","arguments","removeListener","undefined","apply","j","on","removeAllListeners","off","prefixed","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","o","defineProperty","enumerable","get","obj","prop"],"sources":["webpack:///eventemitter3/5.0.1/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///eventemitter3/5.0.1/index.mjs"],"sourcesContent":["'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n  if (typeof fn !== 'function') {\n    throw new TypeError('The listener must be a function');\n  }\n\n  var listener = new EE(fn, context || emitter, once)\n    , evt = prefix ? prefix + event : event;\n\n  if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n  else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n  else emitter._events[evt] = [emitter._events[evt], listener];\n\n  return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n  if (--emitter._eventsCount === 0) emitter._events = new Events();\n  else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n  var evt = prefix ? prefix + event : event\n    , handlers = this._events[evt];\n\n  if (!handlers) return [];\n  if (handlers.fn) return [handlers.fn];\n\n  for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n    ee[i] = handlers[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n  var evt = prefix ? prefix + event : event\n    , listeners = this._events[evt];\n\n  if (!listeners) return 0;\n  if (listeners.fn) return 1;\n  return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    clearEvent(this, evt);\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n      listeners.fn === fn &&\n      (!once || listeners.once) &&\n      (!context || listeners.context === context)\n    ) {\n      clearEvent(this, evt);\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n        listeners[i].fn !== fn ||\n        (once && !listeners[i].once) ||\n        (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else clearEvent(this, evt);\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) clearEvent(this, evt);\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import EventEmitter from './index.js'\n\nexport { EventEmitter }\nexport default EventEmitter\n"],"version":3}},{"offset":{"line":265,"column":0},"map":{"mappings":"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","file":"externals/sn-help-assistant/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","e","ReferenceError","a","n","TypeError","toPropertyKey","require","_defineProperties","r","t","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","value","_extends","assign","bind","arguments","hasOwnProperty","call","apply","superPropBase","_get","Reflect","get","p","getOwnPropertyDescriptor","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","create","constructor","_typeof","assertThisInitialized","_setPrototypeOf","Symbol","toPrimitive","String","Number","iterator","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","obj","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","dangerouslyCreateElementFromString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__","getSysPropContext","getTimeRangeBucket","secondsString","sec","parseInt","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","BASE_URL","dataHandlerURLs","CONFIG","USER_CONSENT","RAG_API","FEEDBACK","OAUTH_CODE","OAUTH_TOKEN","WEB_SOCKET_ENDPOINT","BASE_ACTION","dataHandlerActions","HA_FETCH_CONFIG","HA_FETCH_CONFIG_SUCCEEDED","HA_FETCH_CONFIG_FAILED","HA_FETCH_RAG_API","HA_FETCH_RAG_API_SUCCEEDED","HA_FETCH_RAG_API_FAILED","HA_UPDATE_TOOL_CALL_ID","HA_FETCH_AUTH_TOKEN","HA_FETCH_AUTH_TOKEN_SUCCEEDED","HA_FETCH_AUTH_TOKEN_FAILED","HA_FETCH_AUTH_CODE","HA_SUBMIT_FEEDBACK","assistantServiceActions","HA_LIVE_CLIENT_START","HA_LIVE_CLIENT_PAUSE","HA_LIVE_CLIENT_RESUME","HA_LIVE_CLIENT_STOP","userConsentActions","HA_FETCH_USER_CONSENT","HA_FETCH_USER_CONSENT_SUCCEEDED","HA_FETCH_USER_CONSENT_FAILED","HA_SUBMIT_USER_CONSENT","HA_SUBMIT_USER_CONSENT_SUCCEEDED","HA_SUBMIT_USER_CONSENT_FAILED","userRoles","HA_ERROR_TRACK","TELEMETRY_METRIC","TELEMETRY_ERROR_PAYLOAD","alertActions","HA_NOTIFICATION_REQUESTED","HA_NOTIFICATION_CLEAR_REQUESTED","alertTypes","UPDATE_MODELESS_DIALOG_CONTENT","liveTranscriptionActions","OUTPUT_TRANSCRIPTION","INPUT_TRANSCRIPTION","TRIM_TRANSCRIPT","CONTENT_RESET","MIC_AUDIO_CONTEXT_ID","HA_NETWORK_ERROR","HA_OFFLINE","HA_NETWORK_ERROR_HANDLED","HA_NETWORK_ERROR_OCCURRED","HA_ACTIONS","START_DYNAMIC_GUIDANCE","STOP_DYNAMIC_GUIDANCE","PAUSE_DYNAMIC_GUIDANCE","RESUME_DYNAMIC_GUIDANCE","DYNAMIC_GUIDANCE_STARTED","DYNAMIC_GUIDANCE_ENDED","DYNAMIC_GUIDANCE_PAUSED","DYNAMIC_GUIDANCE_RESUMED","fetchRagApi","method","batch","headers","dataParam","successActionType","errorActionType","submitFeedback","HA_SCREEN_SHARE_START","HA_SCREEN_SHARE_STOP","HA_SCREEN_SHARE_PAUSE","HA_SCREEN_SHARE_RESUME","HA_SCREEN_SHARE_SEND","Map","fetchAudioContext","options","has","ctx","AudioContext","set","didInteract","Promise","res","window","addEventListener","once","audioContext","async","audioCtx","isBrowser","browserName","RegExp","test","navigator","userAgent","setTracksEnabled","tracks","enabled","Array","isArray","forEach","track","HA_SCREEN_SHARE_DESTROY","HA_SCREEN_CAPTURE_SEND","HA_SCREEN_SHARE_ERROR","name","actionHandlers","effect","dispatch","updateState","action","coeffects","_action$payload","videoEle","document","canvasEle","scaleFactor","videoQuality","captureFrequency","payload","SCALE_FACTOR","JPEG_QUALITY","CAPTURE_FREQUENCY","displayMediaOptions","video","preferCurrentTab","stream","mediaDevices","getDisplayMedia","getTracks","setAttribute","srcObject","context","getContext","timer","setInterval","screenShareConfig","isPaused","state","videoWidth","videoHeight","width","height","drawImage","imageBase64Data","toDataURL","split","trim","getVideoTracks","liveClient","stop","sendText","text","clearInterval","mediaTypes","TOOL_NAMES","systemInstructionObject","parts","knowledgeBaseInstructions","searchKnowledgeBaseTool","functionDeclarations","description","parameters","type","properties","query","required","LOG_PREFIX","createFreshGeminiConfig","model","generationConfig","responseModalities","speechConfig","voiceConfig","prebuiltVoiceConfig","voiceName","languageCode","systemInstruction","tools","outputAudioTranscription","inputAudioTranscription","sessionResumption","handle","supportedProviders","GEMINI_FLASH","config","ERRORS","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","renderer","snabbdom","items","schema","status","icon","styles","view","_ref","className","manageItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","translatedTexts","launcherHeading","launcherText","launcherStartButtonLabel","consentAllow","consentCancel","consentHeading","consentIntro","consentHowItWorks","consentContextAwareTitle","consentContextAwareTextSubTitle","consentNaturalConversationsTitle","consentNaturalConversationsTextSubTitle","consentTalkControlTitle","consentTalkControlTextSubTitle","consentBrowserWarning","consentCheckboxLabel","consentNote","consentTermsOfService","transcriptPlaceholderText","closeButtonAriaLabel","modelessDialogHeading","modelessDialogFooterText","transcriptButtonLabel","assistantPausedText","Paused","Live","launcherLoadingLabel","websocketError","missingWebSocketURLorEphemeralToken","fetchConfigFailed","invalidSecretKey","clientStopped","searchSourceNotConfigured","fetchUserConsentFailed","userConsentSubmittedSuccesfully","failedToSubmitUserConsent","failedToFetchOAuthCode","failedPKCEConfig","failedToGenerateAccessToken","endButtonLabel","networkErrorMessage","errorInProvider","sessionInProgress","sessionLimitReached","BROADCAST_ACTIONS","CROSS_TAB_INITIALIZE_COMMUNICATION","CROSS_TAB_HANDLE_STATE_QUERY","CROSS_TAB_DISCONNECT","_createClass","CrossTabCommunicator","_classCallCheck","channel","tabId","listeners","stateQueryTimeout","primaryTabId","isPrimaryTab","initializeChannel","setupTabClosureDetection","channelName","location","origin","BroadcastChannel","handleMessage","error","console","event","timestamp","data","getTabId","broadcastActions","listener","message","Date","now","postMessage","actionType","Set","add","Math","random","substr","clearTimeout","setTimeout","broadcast","handleBeforeUnload","handlePrimaryTabClosure","_beforeUnloadHandler","closedTabId","removeEventListener","close","clear","PAUSE_CHARS_REGEX","displayedText","latestTranscriptText","textDispatch","textTimer","inputTrimOffset","outputTrimOffset","lastOutputTranscript","lastInputTranscript","lastSpeakerType","checkForStrSlicing","val","min","max","renderOutput","fullText","len","visibleText","slice","scheduleTextReveal","pushContent","renderInput","nextSpace","indexOf","clearTranscriptTimer","wordByWordReveal","startsWith","start","end","chunk","nextDelay","getLastUpdateType","handleOutputTranscription","newOutputTranscript","onNewOutputTranscript","nextTranscript","isDiscontinuity","handleInputTranscription","newInputTranscript","trimInputLocally","size","resetAll","sendToolResponse","toolCallId","currentToolCallId","observable","instance","getInstance","handlers","subscribe","handler","unsubscribe","delete","trigger","init","messageQueue","networkErrorHandler","COMPONENT_CONNECTED","_window","propertyValue","propName","getSysPropFromContext","toLowerCase","currentUserRoles","ux_globals","session","output","user","roles","isUserHaveAccess","includes","enableHelpAssistant","_e$detail","detail","dismissable","crossTabCommunicator","isPrimaryTabActive","COMPONENT_DISCONNECTED","isSecondaryTabActive","src","conversationId","conversationIdNAP","provider","withScreen","establishAsPrimaryTab","stopPropagation","isUserInitiated","totalPausedTime","pauseTimestamp","startTime","updatedTotalPausedTime","totalActiveSessionTime","floor","Duration","_ref2","_ref3","_window2","heartbeatIntervalId","nowWindowManager","closeWindow","_ref4","_ref5","_ref6","releasePrimaryTab","TYPE","_ref7","_action$payload2","_action$payload3","trimOutputTranscript","count","currentLength","_ref8","USER_CONSENT_CANCELLED","isAgreeDisabled","opened","contentFullWidth","label","href","variant","opensWindow","initialState","AI_SPARKLE_ICON","PAUSE_ICON","MODAL_ACTIONS","PAUSE_CLICKED","TRANSCRIPT_CLICKED","END_CLICKED","handleEscapeKey","COMPONENT_PROPERTY_CHANGED","_action$payload$value","nextContent","hasReceivedContent","lastUpdateType","requestAnimationFrame","_state$contentRef","_state$containerRef","contentEl","contentRef","current","containerEl","containerRef","clientHeight","userAction","enableTranscript","UPDATE_MICROPHONE_VOLUME","AI_SPEAKING_STARTED","AI_SPEAKING_STOPPED","VOICE_WAVE_CONFIG","freeze","POINTS","VOLUME_THRESHOLD","VOLUME_CEIL","SMOOTHING_RISE","SMOOTHING_DECAY","DECAY_FACTOR","SILENCE_GRACE_MS","EXIT_THRESHOLD","IDLE_BAR_STYLE","borderRadius","MIC_BARS","from","to","freq","PI","getMicBarStyles","normVolume","sin","background","transition","smoothedVolume","lastSpeechTime","animationRAF","_updateState","animationTick","micBarStyles","processVolumeUpdate","rawVolume","performance","initVoiceWave","cancelAnimationFrame","bars","_","isAiSpeaking","isVoiceActive","micVolume","showCssWave","showUserWave","style","avatarUrl","_ux_globals","avatar","userName","_ux_globals2","displayName","sessionDuration","lastPauseTimestamp","defaultPosition","shouldShowIcon","enableDrag","headingIcon","headingLabel","enableAutoResizableHeight","autoResizableMinHeight","position","enableFocus","slot","ref","imageSrc","configAria","selected","tooltipContent","highlighted","HA_AUDIO_IO_INITIATE","HA_AUDIO_IN_PLAY_STOP","HA_AUDIO_IN_PLAY","HA_AUDIO_IO_STOP","HA_AUDIO_IO_PAUSE","HA_AUDIO_IO_RESUME","HA_AUDIO_OUT_SEND","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__","EventEmitter","VolMeterWorketFn","registeredWorklets","createWorkletFromSrc","workletName","workletSrc","script","Blob","URL","createObjectURL","isWorkletRegistered","markWorkletAsRegistered","AudioRecorder","_EventEmitter","_this","sampleRate","source","recording","recordingWorklet","vuWorklet","starting","_inherits","getUserMedia","Error","resolve","reject","audio","createMediaStreamSource","recordingWorkletName","recSrc","AudioRecordingWorkletFn","audioWorklet","addModule","AudioWorkletNode","port","onmessage","arrayBuffer","ev","int16arrayBuffer","arrayBufferString","buffer","binary","bytes","Uint8Array","byteLength","fromCharCode","btoa","arrayBufferToBase64","emit","connect","vuWorkletName","vuSrc","VolMeterWorkletFn","volume","handleStop","disconnect","then","AudioStreamer","audioQueue","isPlaying","bufferSize","processingBuffer","Float32Array","scheduledTime","gainNode","createGain","createBufferSource","destination","isStreamComplete","checkInterval","initialBufferTime","endOfQueueAudioSource","onComplete","addPCM16","glitchedBufferCount","workletsRecord","worklet","node","float32Array","dataView","DataView","int16","getInt16","newBuffer","currentTime","scheduleNextBuffer","audioData","audioBuffer","createBuffer","getChannelData","shift","createAudioBuffer","onended","complete","worklets","values","duration","gain","linearRampToValueAtTime","resume","setValueAtTime","HA_AUDIO_IO_DESTROY","audioRecorder","pause","on","base64","audioStreamerRef","audioStreamer","_audioStreamerRef$cur","wasPlaying","CODE","DG_PREFIX","PKCE_VERIFIER_KEY","PKCE_STATE_KEY","OAUTH_ACCESS_TOKEN_KEY","APP_CLIENT_ID","APP_REDIRECT_URI","generateRandomString","charset","randomValues","crypto","getRandomValues","v","pkceChallengeFromVerifier","verifier","TextEncoder","encode","b","replace","base64UrlEncode","subtle","digest","AUTH_COOKIE_NAME","HA_CLIENT_AUDIO_RESPONSE","HA_CLIENT_INTERRUPTED","HA_LIVE_CLIENT_ERROR","HA_SESSION_LIMIT_REACHED","GeminiMultimodalLiveClient","_SocketManager","isReconnecting","hasReconnected","inputTranscriptions","outputTranscriptions","activeWsId","shouldClearTranscriptionsOnNext","_oldWs","isFirstTime","isSetupComplete","sessionResumptionHandle","websocketURL","keepAliveInterval","traceId","reconnectCount","newHandle","wsId","auth","randomUUID","params","URLSearchParams","trace_id","instance_name","host","session_handle","conversation_id","solution_capability","setConnectionURL","_superPropGet","clientContent","turns","role","turnComplete","ws","readyState","WebSocket","OPEN","sendMessage","_getIdleMessage","_clearKeepAliveInterval","self","setAuth","catch","log","reason","prelude","preludeIndex","code","receive","url","clearAll","_resetTranscriptions","blob","response","reader","FileReader","onload","json","JSON","parse","readAsText","blobToJSON","sessionResumptionUpdate","resumable","_updateSessionResumptionHandle","isSetupCompleteMessage","personalizedGreeting","firstName","getPersonalizedGreeting","greeting","isGoAway","reconnect","isServerContentMessage","serverContent","interrupted","isInterrupted","_isStaleSocket","isTurnComplete","_closeOldSocket","outputTranscription","hasOutputTranscription","transcriptionText","inputTranscription","hasInputTranscription","modelTurn","isModelTurn","audioParts","filter","inlineData","mimeType","base64s","_p$inlineData","otherParts","b64","binaryString","atob","charCodeAt","base64ToArrayBuffer","toolCall","functionCalls","every","args","isLiveFunctionCall","functionCall","functionName","functionId","_args","toolResponse","extractedContent","results","functionResponses","realtimeInput","mediaChunks","clientContentRequest","SocketManager","path","maxAge","secure","sameSite","cookieString","encodeURIComponent","cookie","addCookie","localStorage","getItem","removeCookie","onOpen","onClose","onMessage","onError","onOpenWrapper","cleanupAuthToken","onErrorWrapper","setupAuthCookie","_message$clientConten","_message$clientConten2","isKeepAliveMsg","send","stringify","clientInterfaceMethods","MultimodalLiveClientFactory","providerName","instances","_defineProperty","HA_LIVE_CLIENT_INITIATE","HA_LIVE_CLIENT_DESTROY","_isUserSpeaking","liveClientAuth","isFirstTimeUser","setIsFirstTime","getTraceId","showFeedbackModal","fetchUserConsent","submitUserConsent","fetchOAuthToken","errors","isUserConsented","showUserConsentModal","isSearchSourceConfigured","codeChallenge","codeVerifier","sessionStorage","setItem","fetchPKCEConfig","authUrl","redirectResponse","nowUiFramework","snHttp","request","ok","body","redirectState","append","_ref9","access_token","accessToken","removeItem","_ref0","_ref1","showModelessDialog","HA_FEEDBACK_MODAL_BASE_ACTION","ACTIONS","FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID","FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID","FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID","FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID","FEEDBACK_CATEGORY_POOR_VOICE_ID","FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID","FEEDBACK_CATEGORY_NO_RESPONSE_ID","FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL","FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL","FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL","FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL","FEEDBACK_CATEGORY_POOR_VOICE_LABEL","FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL","FEEDBACK_CATEGORY_NO_RESPONSE_LABEL","THUMBS_UP","THUMBS_DOWN","SUBMIT","t_THUMBS_UP","t_THUMBS_DOWN","BACK","FEEDBACK_LABEL","IS_GUIDANCE_USEFUL_TEXT","FEEDBACK_PLACEHOLDER","TELL_US_WHY_NOT_USEFUL","ALERT_SUCCESS_MSG","t_CATEGORY_DIDNT_UNDERSTAND","t_CATEGORY_INCORRECT_GUIDANCE","t_CATEGORY_OFFENSIVE_UNSAFE","t_CATEGORY_TAKES_TOO_LONG","t_CATEGORY_POOR_VOICE","t_CATEGORY_TIMEOUT_ERROR","t_CATEGORY_NO_RESPONSE","FEEDBACK_CATEGORIES","getDefaultSelectedPills","convertPillsToReadableFormat","selectedPills","readablePills","category","resetFeedbackState","feedbackText","feedbackThumbs","showDetailedFeedback","feedbackSubmitted","dispatchFeedbackToLog","feedback_type","FEEDBACK_ACTION_CLICKED","FEEDBACK_MODAL_CLOSED","FEEDBACK_MODAL_CLOSE_REQUESTED","FEEDBACK_BUTTON_CLICKED","_action$meta","meta","appended","FEEDBACK_REVIEW_COMMENTS_UPDATED","fieldValue","NOW_PILL_SELECTED_SET","_action$meta2","pillId","isSelected","manageSelected","resize","placeholder","button","iconMap","warning","info","positive","statusMap","helpAssistantNotifications","newAlert","getAlert","notification","_visibilityChangeHandler","addListener","requestingTabId","setPrimaryTabId","visibilityState","queryStateFromOtherTabs","destroy","behaviors","behavior","screen","helpAssistantAlertBehavior","crossTabCommunicatorBehavior","consentAuth","modal","snHelpAssistantBehavior","helpers","__TECTONIC__sn_help_assistant"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-help-assistant/src/components/presentational/ha-alerts/ha-alerts.scss","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/ha-feedback.scss","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.scss","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.scss","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/ha-voice-wave.scss","webpack:///sn-help-assistant/src/sn-help-assistant/styles.scss","webpack:///./src/components/presentational/ha-alerts/ha-alerts.scss?6040","webpack:///./src/components/presentational/ha-feedback/ha-feedback.scss?baf8","webpack:///./src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.scss?d5eb","webpack:///./src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.scss?9c1a","webpack:///./src/components/presentational/ha-voice-wave/ha-voice-wave.scss?72ed","webpack:///./src/sn-help-assistant/styles.scss?cbb3","webpack:///@babel/runtime/7.25.7/helpers/assertThisInitialized.js","webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/defineProperty.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/get.js","webpack:///@babel/runtime/7.25.7/helpers/getPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/inherits.js","webpack:///@babel/runtime/7.25.7/helpers/possibleConstructorReturn.js","webpack:///@babel/runtime/7.25.7/helpers/setPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/superPropBase.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/28.0.4/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/commons/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/constants.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/dataHandlers.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/screen/actionNames.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/utils.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/screen/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/constants.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-alerts/ha-alerts.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-help-assistant/src/commons/i18n.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/crossTabConstants.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/crossTabCommunicator.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/transcript/transcriptController.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/toolResponseUtils.js","webpack:///sn-help-assistant/src/sn-help-assistant/observable.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/coreHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modeless-dialog/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/constants.js","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/actionHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/utils.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/actionHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/ha-voice-wave.js","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/actionNames.js","webpack:///external module \"/uxasset/externals/eventemitter3/5.0.1/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/worklets/audio-processing.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/worklets/vol-meter.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audioworklet-registry.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audio-recorder.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audio-streamer.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/gemini-multimodal-live-types.js","webpack:///sn-help-assistant/src/commons/auth/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/socket-manager.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/actionNames.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/gemini-multimodal-live-client.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/multimodal-live-client.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/consent-auth/dataHandlers.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/consent-auth/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/modals/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pill/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/constants.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/i18n.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/utils.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/actionHandler.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/ha-feedback.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/helpAssistantAlertBehavior.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/sn-help-assistant.js","webpack:///sn-help-assistant/src/sn-help-assistant/behavior.js","webpack:///sn-help-assistant/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.ha-alerts-container{align-items:center;display:flex;flex-direction:column;justify-content:center;left:0;margin-left:auto;margin-right:auto;padding:.5rem;position:absolute;right:0;top:2.75rem;width:600px;z-index:4000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.feedback-modal-content{align-items:flex-start;display:flex;flex-direction:column;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)}.feedback-modal-content .is-useful-text{font-size:var(--now-font-size--md1,1rem)}.feedback-modal-content .feedback-footer{align-items:center;align-self:stretch;border-top:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));display:flex;justify-content:space-between;margin-top:2.25rem;padding-top:.75rem}.feedback-modal-content .feedback-footer .feedback-buttons{display:flex;gap:.75rem}.detailed-feedback-modal-content{display:flex;flex-direction:column;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)}.detailed-feedback-modal-content .feedback-pills-container{align-self:stretch;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.detailed-feedback-modal-content .feedback-textarea-container{align-self:stretch;margin-top:.75rem}.detailed-feedback-modal-content .feedback-textarea-container .feedback-text{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.ha-modeless-dialog-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:3000}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container{height:auto;pointer-events:none;position:absolute;right:0;top:0;width:280px}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header{align-items:center;background-color:RGB(var(--now-color_text--secondary-actionable,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem;display:flex;justify-content:space-between;padding:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:var(--now-font-size--xs,.625rem);margin:0}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-icon{padding-inline-end:var(--now-global-space--xs)}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-icon.is-live{color:rgb(var(--now-color_presence--busy))}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container{display:flex;flex-direction:column;max-height:100%;width:100%}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content{align-items:flex-start;align-self:stretch;border-radius:.25rem;display:flex;flex:0 1 auto;flex-direction:column;gap:.75rem;height:120px;padding:.5rem .75rem .5rem .75rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc{color:var(--now-color--neutral-3,209,214,214);display:flex;flex-direction:column;height:75px}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-icon-container{align-items:flex-start;display:flex;margin-bottom:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-icon-container .ha-desc-icon{color:RGB(var(--now-color--secondary-1,1,119,142))}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-content-text{color:var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:100%;margin-top:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-content-text p{margin:0}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-actions{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;flex:0 0 auto;gap:.25rem;justify-content:space-between;padding-inline-end:.75rem;padding-bottom:.25rem;padding-inline-start:.75rem;padding-top:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-actions>:last-child{margin-left:auto}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-text{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex:0 0 auto;font-size:var(--now-font-size--xs,.625rem);line-height:normal;padding:.25rem .75rem .25rem .75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.consent-modal{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);gap:.5rem;padding:.5rem 1.5rem 1.5rem 1.5rem}.consent-modal .consent-modal-content{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:1rem}.consent-modal .consent-modal-content .consent-intro{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:1.5}.consent-modal .consent-modal-content .consent-how-it-works{align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-how-it-works-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1.25rem;line-height:1.5;text-align:center}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list{display:flex;flex-direction:row;gap:.75rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item{align-items:flex-start;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.25rem;display:flex;flex:1;flex-direction:row;gap:.5rem;padding:.75rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item now-icon{color:RGB(var(--now-color--primary-1,30,133,109));flex-shrink:0}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text{display:flex;flex-direction:column;gap:.25rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text .consent-feature-title{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-weight:400;line-height:1.5}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text .consent-feature-description,.consent-modal .consent-modal-content .consent-warning{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:1.5}.consent-modal .consent-modal-content .consent-checkbox{align-items:flex-start;align-self:stretch;display:grid;gap:.5rem}.consent-modal .consent-modal-content .consent-checkbox now-checkbox{--now-checkbox--font-weight:bold}.consent-modal .consent-modal-content .consent-checkbox .consent-note{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:normal}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.voice-wave{align-items:center;display:flex;flex-shrink:0;gap:1.5px;height:20px;margin-left:.125rem;margin-right:auto}.voice-wave .voice-bar{background:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));border-radius:2px;height:2px;transition:height .25s ease-out,background .3s ease-out,border-radius .25s ease-out;width:2px}.voice-wave.voice-wave--ai .voice-bar.voice-bar--ai{background:linear-gradient(0deg,#86f673,#71d5fe);border-radius:4px;transition:none}.voice-wave.voice-wave--ai .voice-bar--ai-0{animation:wave-bar-0 .55s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-1{animation:wave-bar-1 .42s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-2{animation:wave-bar-2 .65s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-3{animation:wave-bar-3 .38s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-4{animation:wave-bar-4 .5s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-5{animation:wave-bar-5 .44s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-6{animation:wave-bar-6 .6s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-7{animation:wave-bar-7 .35s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-8{animation:wave-bar-8 .52s ease-in-out infinite alternate}@keyframes wave-bar-0{0%{height:2px}to{height:6px}}@keyframes wave-bar-1{0%{height:2px}to{height:11px}}@keyframes wave-bar-2{0%{height:3px}to{height:15px}}@keyframes wave-bar-3{0%{height:2px}to{height:18px}}@keyframes wave-bar-4{0%{height:4px}to{height:20px}}@keyframes wave-bar-5{0%{height:2px}to{height:16px}}@keyframes wave-bar-6{0%{height:3px}to{height:13px}}@keyframes wave-bar-7{0%{height:2px}to{height:9px}}@keyframes wave-bar-8{0%{height:2px}to{height:5px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-alerts.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-feedback.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-modeless-dialog.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-user-consent-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-voice-wave.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n  return module.exports = _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n    var p = superPropBase(e, t);\n    if (p) {\n      var n = Object.getOwnPropertyDescriptor(p, t);\n      return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n    }\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _get.apply(null, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n  return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n  return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(t, o) {\n  for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n  return t;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getSysPropContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getSysPropContext;\n\t\t\t\t\t} else if ('getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.getSysPropContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getSysPropContext;\n\t\t\t\t} });","import { getSysPropContext } from 'sn-ux-core';\n\n//Get system property value from context\nexport function getSysPropFromContext(context, propName) {\n\tconst ctx = getSysPropContext(propName);\n\treturn context[ctx];\n}\n\n// Returns bucket range for the given session time to analyze the average session duration for Dynamic Guidance usage.\nexport const getTimeRangeBucket = (secondsString) => {\n\tconst sec = parseInt(secondsString);\n\t\n\tif (sec < 30) {\n\t\treturn 'Less than 30 seconds';\n\t} else if (sec < 60) {\n\t\treturn '30 seconds - 1 minute';\n\t} else if (sec < 180) {\n\t\treturn '1 - 3 minutes';\n\t} else if (sec < 300) {\n\t\treturn '3 - 5 minutes';\n\t} else if (sec < 600) {\n\t\treturn '5 - 10 minutes';\n\t} else {\n\t\treturn 'More than 10 minutes';\n\t}\n};\n\nexport function generateRandomId(){\n\tconst randomId = Math.random().toString(36).slice(2);\n\treturn randomId;\n}\n\nexport const hasPropertyOfType = (value, expectedType) => {\n\treturn value !== undefined && value !== null && typeof value === expectedType;\n};\n\nexport const updatePausedTime = (popupElement) => {\n\tif (!popupElement || !popupElement.lastPauseTimestamp) return;\n\t\n\tconst pausedDuration = Date.now() - popupElement.lastPauseTimestamp;\n\tpopupElement.totalPausedTime += pausedDuration;\n\tpopupElement.lastPauseTimestamp = null;\n};\n\nexport const getPersonalizedGreeting = (isFirstTime = false) => {\n\tconst firstName = window?.ux_globals?.session?.output?.user?.firstName || '';\n\t\n\tif (isFirstTime) {\n\t\treturn `Hello ${firstName}. I am the Help bot to help you learn how to use ServiceNow. What can I help you with today?`;\n\t} else {\n\t\treturn `Hello ${firstName}, What can I help you with today?`;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","export const DYNAMIC_GUIDANCE_ENABLED_SYS_PROP =\n\t\"com.glide.dynamic_guidance.enabled\";\n\nconst BASE_URL = \"/api/sn_help_assistant/dynamic_guidance\";\n\nexport const dataHandlerURLs = {\n\tCONFIG: `${BASE_URL}/config`,\n\tUSER_CONSENT: `${BASE_URL}/user_consent`,\n\tRAG_API: `${BASE_URL}/knowledge/query`,\n\tFEEDBACK: `${BASE_URL}/feedback`,\n\tOAUTH_CODE: `/oauth_auth.do`,\n\tOAUTH_TOKEN: `/oauth_token.do`,\n\tWEB_SOCKET_ENDPOINT: `/sncapps/llmgateway/ws/v1/browser/gcp/live`\n};\n\nexport const BASE_ACTION = \"SN_HELP_ASSISTANT#\";\n\nexport const dataHandlerActions = {\n\tHA_FETCH_CONFIG: `${BASE_ACTION}FETCH_CONFIG`,\n\tHA_FETCH_CONFIG_SUCCEEDED: `${BASE_ACTION}FETCH_CONFIG_SUCCEEDED`,\n\tHA_FETCH_CONFIG_FAILED: `${BASE_ACTION}FETCH_CONFIG_FAILED`,\n\n\tHA_FETCH_RAG_API: `${BASE_ACTION}FETCH_RAG_API`,\n\tHA_FETCH_RAG_API_SUCCEEDED: `${BASE_ACTION}FETCH_RAG_API_SUCCEEDED`,\n\tHA_FETCH_RAG_API_FAILED: `${BASE_ACTION}FETCH_RAG_API_FAILED`,\n\n\tHA_UPDATE_TOOL_CALL_ID: `${BASE_ACTION}UPDATE_TOOL_CALL_ID`,\n\n\tHA_FETCH_AUTH_TOKEN: `${BASE_ACTION}FETCH_AUTH_TOKEN`,\n\tHA_FETCH_AUTH_TOKEN_SUCCEEDED: `${BASE_ACTION}FETCH_AUTH_TOKEN_SUCCEEDED`,\n\tHA_FETCH_AUTH_TOKEN_FAILED: `${BASE_ACTION}FETCH_AUTH_TOKEN_FAILED`,\n\n\tHA_FETCH_AUTH_CODE: `${BASE_ACTION}AUTH_CODE_REQUESTED`,\n\n\tHA_SUBMIT_FEEDBACK: `${BASE_ACTION}SUBMIT_FEEDBACK`\n};\n\nexport const assistantServiceActions = {\n\tHA_LIVE_CLIENT_START: `${BASE_ACTION}HA_LIVE_CLIENT_START`,\n\tHA_LIVE_CLIENT_PAUSE: `${BASE_ACTION}HA_LIVE_CLIENT_PAUSE`,\n\tHA_LIVE_CLIENT_RESUME: `${BASE_ACTION}HA_LIVE_CLIENT_RESUME`,\n\tHA_LIVE_CLIENT_STOP: `${BASE_ACTION}HA_LIVE_CLIENT_STOP`,\n};\n\nexport const userConsentActions = {\n\t// Fetch User Consent Data Handler Actions\n\tHA_FETCH_USER_CONSENT: `${BASE_ACTION}FETCH_USER_CONSENT`,\n\tHA_FETCH_USER_CONSENT_SUCCEEDED: `${BASE_ACTION}FETCH_USER_CONSENT_SUCCEEDED`,\n\tHA_FETCH_USER_CONSENT_FAILED: `${BASE_ACTION}FETCH_USER_CONSENT_FAILED`,\n\t// Update User Consent Data Handler Actions\n\tHA_SUBMIT_USER_CONSENT: `${BASE_ACTION}SUBMIT_USER_CONSENT`,\n\tHA_SUBMIT_USER_CONSENT_SUCCEEDED: `${BASE_ACTION}SUBMIT_USER_CONSENT_SUCCEEDED`,\n\tHA_SUBMIT_USER_CONSENT_FAILED: `${BASE_ACTION}SUBMIT_USER_CONSENT_FAILED`,\n};\n\nexport const HA_RESET_STATE = `${BASE_ACTION}RESET_STATE`;\n\nexport const userRoles = {\n\tDYNAMIC_GUIDANCE_USER: 'sn_dyn_guidance_user',\n\tADMIN: 'admin'\n};\n\n\nexport const HA_ERROR_TRACK = `${BASE_ACTION}HA_ERROR_TRACK`; // Dispatched by sn-help-assistant internal flows to track errors.\n\nexport const TELEMETRY_METRIC = {\n\t// Aim is to get No of accounts using Dynamic Guidance.\n\t\"DYNAMIC_GUIDANCE_START\": \"Click Start For Dynamic Guidance\",\n\n\t// Aim is to get average session duration for Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_STOP\": \"Click End For Dynamic Guidance\",\n\n\t// Aim is to get connection error count for Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_CONNECTION_ERROR\": \"Error In Dynamic Guidance\",\n\n\t// Aim is to get feedback distribution for the Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_THUMBS_UP\": \"Click Thumbs Up Submit For Dynamic Guidance\",\n\t\"DYNAMIC_GUIDANCE_THUMBS_DOWN\": \"Click Thumbs Down Feedback Pills for Dynamic Guidance\"\n};\n\nexport const TELEMETRY_ERROR_PAYLOAD = {\n\tINVALID_SECRET_KEY: \"Invalid secret key\",\n\tMISSING_WEB_SOCKET_URL_OR_EPHEMERAL_TOKEN: \"Missing WebSocket URL or ephemeralToken\",\n\tFETCH_CONFIG_FAIL: \"Failed to fetch config from API\",\n\tCLIENT_INITIALIZATION_FAIL: \"Issue initializing live client\",\n\tWEB_SOCKET_CONNECTION_ERROR: \"Could not connect to websocket URL\",\n\tPOOR_NETWORK_CONNECTION: \"Poor network connection\",\n\tPROVIDER_CONNECTION_ERROR: \"Provider connection error\"\n};\n\nexport const alertActions = {\n\tHA_NOTIFICATION_REQUESTED: `${BASE_ACTION}HA_NOTIFICATION_REQUESTED`,\n\tHA_NOTIFICATION_CLEAR_REQUESTED: `${BASE_ACTION}HA_NOTIFICATION_CLEAR_REQUESTED`,\n};\nexport const alertTypes = {\n\tERROR: 'error'\n};\n\nexport const UPDATE_MODELESS_DIALOG_CONTENT = `${BASE_ACTION}UPDATE_MODELESS_DIALOG_CONTENT`;\n\n\nexport const liveTranscriptionActions = {\n\tOUTPUT_TRANSCRIPTION: `output_transcription_combined`,\n\tINPUT_TRANSCRIPTION: `input_transcription_combined`,\n\tTRIM_TRANSCRIPT: `${BASE_ACTION}HA_TRIM_TRANSCRIPT`,\n\tCONTENT_RESET: `${BASE_ACTION}HA_CONTENT_RESET`\n};\n\nexport const MIC_AUDIO_CONTEXT_ID = \"mic-audio-context-id\";\n\nexport const HA_NETWORK_ERROR = `${BASE_ACTION}network.error`;\nexport const HA_OFFLINE = `offline`;\n\nexport const HA_NETWORK_ERROR_HANDLED = `${BASE_ACTION}HA_NETWORK_ERROR_HANDLER`;\nexport const HA_NETWORK_ERROR_OCCURRED = `${BASE_ACTION}HA_NETWORK_ERROR_OCCURRED`;\nexport const MAX_DELAYED_BUFFER_COUNT = 10;\nexport const MAX_DELAYED_LATENCY_ALLOWED_IN_MS = -1000;\n\nexport const HA_ACTIONS = {\n\tSTART_DYNAMIC_GUIDANCE: `${BASE_ACTION}START_DYNAMIC_GUIDANCE`,\n\tSTOP_DYNAMIC_GUIDANCE: `${BASE_ACTION}STOP_DYNAMIC_GUIDANCE`,\n\tPAUSE_DYNAMIC_GUIDANCE: `${BASE_ACTION}PAUSE_DYNAMIC_GUIDANCE`,\n\tRESUME_DYNAMIC_GUIDANCE: `${BASE_ACTION}RESUME_DYNAMIC_GUIDANCE`,\n\n\tDYNAMIC_GUIDANCE_STARTED: `${BASE_ACTION}DYNAMIC_GUIDANCE_STARTED`,\n\tDYNAMIC_GUIDANCE_ENDED: `${BASE_ACTION}DYNAMIC_GUIDANCE_ENDED`,\n\tDYNAMIC_GUIDANCE_PAUSED: `${BASE_ACTION}DYNAMIC_GUIDANCE_PAUSED`,\n\tDYNAMIC_GUIDANCE_RESUMED: `${BASE_ACTION}DYNAMIC_GUIDANCE_RESUMED`\n};\n\nexport const CANVAS_GLOBAL_ERROR = \"CANVAS_GLOBAL_ERROR\";\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {dataHandlerActions, dataHandlerURLs} from '../constants';\n\nexport const fetchRagApi = createHttpEffect(dataHandlerURLs.RAG_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t  'Content-Type': 'application/json'\n\t},\n\tdataParam: 'payload',\n\n\tsuccessActionType: dataHandlerActions.HA_FETCH_RAG_API_SUCCEEDED,\n\terrorActionType: dataHandlerActions.HA_FETCH_RAG_API_FAILED\n});\n\nexport const submitFeedback = createHttpEffect(dataHandlerURLs.FEEDBACK, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t  'Content-Type': 'application/json'\n\t},\n\tdataParam: 'payload'\n});","import { BASE_ACTION } from \"../../constants\";\n\n// Handles\nexport const HA_SCREEN_SHARE_START = `${BASE_ACTION}HA_SCREEN_SHARE_START`;\nexport const HA_SCREEN_SHARE_STOP = `${BASE_ACTION}HA_SCREEN_SHARE_STOP`;\nexport const HA_SCREEN_SHARE_PAUSE = `${BASE_ACTION}HA_SCREEN_SHARE_PAUSE`;\nexport const HA_SCREEN_SHARE_RESUME = `${BASE_ACTION}HA_SCREEN_SHARE_RESUME`;\n\n// Dispatches\nexport const HA_SCREEN_SHARE_SEND = `${BASE_ACTION}HA_SCREEN_SHARE_SEND`;","const map = new Map();\n\n// Use cached context, if not present then only create new for given id.\nfunction fetchAudioContext(options = {}) {\n\tif (options?.id && map.has(options.id)) {\n\t\tconst ctx = map.get(options.id);\n\t\tif (ctx) {\n\t\t\treturn ctx;\n\t\t}\n\t}\n\tconst ctx = new AudioContext(options);\n\tif (options?.id) {\n\t\tmap.set(options.id, ctx);\n\t}\n\treturn ctx;\n};\n\n// To check if any user interaction occured\nconst didInteract = new Promise((res) => {\n\twindow.addEventListener(\"pointerdown\", res, { once: true });\n\twindow.addEventListener(\"keydown\", res, { once: true });\n});\n\nexport const audioContext = (() => {\n\treturn async (options) => {\n\t\tlet audioCtx;\n\n\t\ttry {\n\t\t\taudioCtx = fetchAudioContext(options);\n\t\t} catch (e) {\n\t\t\tawait didInteract;\n\t\t\taudioCtx = fetchAudioContext(options);\n\t\t}\n\t\treturn audioCtx;\n\t};\n})();\n\nexport function blobToJSON(blob) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\tif (reader.result) {\n\t\t\t\tconst json = JSON.parse(reader.result);\n\t\t\t\tresolve(json);\n\t\t\t} else {\n\t\t\t\treject(\"oops\");\n\t\t\t}\n\t\t};\n\t\treader.readAsText(blob);\n\t});\n}\n\nexport function base64ToArrayBuffer(base64) {\n\tvar binaryString = atob(base64);\n\tvar bytes = new Uint8Array(binaryString.length);\n\tfor (let i = 0; i < binaryString.length; i++) {\n\t\tbytes[i] = binaryString.charCodeAt(i);\n\t}\n\treturn bytes.buffer;\n}\n\nexport function isBrowser(browserName) {\n\treturn new RegExp(browserName, 'i').test(navigator.userAgent);\n}\n\n/**\n * Checks if screen sharing is supported in the current browser.\n * Supported browsers: Chrome, Firefox, Edge (Edge User Agent includes 'Chrome')\n * Not supported: Safari\n */\nexport function isScreenShareSupported() {\n\treturn isBrowser('Chrome') || isBrowser('Firefox');\n}\n\nexport function setTracksEnabled(tracks, enabled) {\n\tif (!tracks || !Array.isArray(tracks)) return;\n\ttracks.forEach(track => track.enabled = enabled);\n}\n\nexport function addCookie(name, value, options = {}) {\n\tconst {\n\t\tpath = \"/\",\n\t\tmaxAge = 0,\n\t\tsecure = true,\n\t\tsameSite = 'Strict'\n\t} = options;\n\n\tlet cookieString = `${name}=${encodeURIComponent(value)}`;\n\n\tif (secure) {\n\t\tcookieString += '; Secure';\n\t}\n\n\tif (maxAge) {\n\t\tcookieString += `; max-age=${maxAge}`;\n\t}\n\n\tif (path) {\n\t\tcookieString += `; Path=${path}`;\n\t}\n\n\tif (sameSite) {\n\t\tcookieString += `; SameSite=${sameSite}`;\n\t}\n\n\tdocument.cookie = cookieString;\n}\n\nexport function removeCookie(name, options = {}) {\n\tconst { path = \"/\" } = options;\n\n\tdocument.cookie = `${name}=; max-age=0; Path=${path}`;\n}\n","import {\n\tHA_SCREEN_SHARE_START,\n\tHA_SCREEN_SHARE_SEND,\n\tHA_SCREEN_SHARE_STOP,\n\tHA_SCREEN_SHARE_PAUSE,\n\tHA_SCREEN_SHARE_RESUME,\n} from \"./actionNames\";\nimport { setTracksEnabled } from \"../utils\";\n\nconst HA_SCREEN_SHARE_DESTROY = `HA_SCREEN_SHARE_DESTROY`;\nconst HA_SCREEN_CAPTURE_SEND = `HA_SCREEN_CAPTURE_SEND`;\nconst HA_SCREEN_SHARE_ERROR = `HA_SCREEN_SHARE_ERROR`;\n\nexport const SCREENSHOT_INTERVAL_MS = 2000;\n\nexport default {\n\tname: \"ASSISTANT_SCREEN_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[HA_SCREEN_SHARE_START]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst { dispatch, updateState, action } = coeffects;\n\t\t\t\ttry {\n\t\t\t\t\tconst videoEle = document.createElement(\"video\");\n\t\t\t\t\tconst canvasEle = document.createElement(\"canvas\");\n\n\t\t\t\t\tconst { scaleFactor, videoQuality, captureFrequency } =\n\t\t\t\t\t\taction.payload?.options || {};\n\n\t\t\t\t\tconst SCALE_FACTOR = scaleFactor || 0.5; // Adjust this value to change the scale of the video.\n\t\t\t\t\tconst JPEG_QUALITY = videoQuality || 0.4; // JPEG quality for compression. 1 is for highest quality, 0 is for lowest quality.\n\t\t\t\t\tconst CAPTURE_FREQUENCY = captureFrequency || SCREENSHOT_INTERVAL_MS; // Default to 2 seconds\n\n\t\t\t\t\tconst displayMediaOptions = {\n\t\t\t\t\t\tvideo: true,\n\t\t\t\t\t\tpreferCurrentTab: true\n\t\t\t\t\t};\n\n\t\t\t\t\tconst stream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);\n\t\t\t\t\tstream.getTracks().forEach((track) => {\n\t\t\t\t\t\t// If user clicks \"Stop sharing\" button on the browser window, stop the track\n\t\t\t\t\t\ttrack.addEventListener(\"ended\", () => {\n\t\t\t\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tvideoEle.setAttribute(\"autoplay\", true);\n\t\t\t\t\tvideoEle.srcObject = stream;\n\n\t\t\t\t\tconst context = canvasEle.getContext(\"2d\");\n\n\t\t\t\t\t// Initialize screen sharing settings\n\t\t\t\t\tconst timer = setInterval(() => {\n\t\t\t\t\t\tdispatch(HA_SCREEN_CAPTURE_SEND);\n\t\t\t\t\t}, CAPTURE_FREQUENCY);\n\n\t\t\t\t\tconst screenShareConfig = {\n\t\t\t\t\t\tscaleFactor: SCALE_FACTOR,\n\t\t\t\t\t\tvideoQuality: JPEG_QUALITY,\n\t\t\t\t\t\tcaptureFrequency: CAPTURE_FREQUENCY,\n\t\t\t\t\t\tvideoEle,\n\t\t\t\t\t\tcanvasEle,\n\t\t\t\t\t\tstream,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\ttimer,\n\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t};\n\t\t\t\t\tupdateState({ screenShareConfig });\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_ERROR);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_CAPTURE_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst {\n\t\t\t\t\tstream,\n\t\t\t\t\tscaleFactor,\n\t\t\t\t\tvideoQuality,\n\t\t\t\t\tvideoEle,\n\t\t\t\t\tcanvasEle,\n\t\t\t\t\tcontext,\n\t\t\t\t\tisPaused,\n\t\t\t\t} = state.screenShareConfig;\n\n\t\t\t\t// Skip capture if paused\n\t\t\t\tif (isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Capture the screen\n\t\t\t\tif (\n\t\t\t\t\tstream &&\n\t\t\t\t\tvideoEle.videoWidth > 0 &&\n\t\t\t\t\tvideoEle.videoHeight > 0 &&\n\t\t\t\t\tcontext\n\t\t\t\t) {\n\t\t\t\t\tcanvasEle.width = videoEle.videoWidth * scaleFactor;\n\t\t\t\t\tcanvasEle.height = videoEle.videoHeight * scaleFactor;\n\t\t\t\t\tcontext.drawImage(videoEle, 0, 0, canvasEle.width, canvasEle.height);\n\n\t\t\t\t\tconst imageBase64Data = canvasEle\n\t\t\t\t\t\t.toDataURL(\"image/jpeg\", videoQuality)\n\t\t\t\t\t\t.split(\",\")[1]\n\t\t\t\t\t\t.trim();\n\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_SEND, imageBase64Data);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_ERROR);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig;\n\n\t\t\t\t// Disable video tracks to pause screen sharing\n\t\t\t\tif (stream) {\n\t\t\t\t\tsetTracksEnabled(stream.getVideoTracks(), false);\n\t\t\t\t}\n\n\t\t\t\t// Update the paused state\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: {\n\t\t\t\t\t\t...state.screenShareConfig,\n\t\t\t\t\t\tisPaused: true,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig;\n\n\t\t\t\t// Enable video tracks to resume screen sharing\n\t\t\t\tif (stream) {\n\t\t\t\t\tsetTracksEnabled(stream.getVideoTracks(), true);\n\t\t\t\t}\n\n\t\t\t\t// Update the paused state\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: {\n\t\t\t\t\t\t...state.screenShareConfig,\n\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_ERROR]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch } = coeffects;\n\t\t\t\t// Handle screen share error\n\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig || {};\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (stream) stream.getTracks().forEach((track) => track.stop());\n\n\t\t\t\t// Notify LLM that screen sharing has been stopped\n\t\t\t\tif (liveClient && typeof liveClient.sendText === 'function') {\n\t\t\t\t\tliveClient.sendText([{ text: \"System notification: Screen sharing has been stopped by the user.\" }], false);\n\t\t\t\t}\n\n\t\t\t\tdispatch(HA_SCREEN_SHARE_DESTROY);\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\t// Clean up screen share resources\n\t\t\t\tconst { timer } = state.screenShareConfig || {};\n\n\t\t\t\tif (timer) clearInterval(timer);\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: null,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import { SCREENSHOT_INTERVAL_MS } from \"../screen/index\";\nexport const mediaTypes = {\n\tAUDIO: \"audio\",\n\tSCREEN: \"screen\",\n\tTEXT: \"text\",\n};\n\n// Tool name constants\nexport const TOOL_NAMES = {\n\tSEARCH_KNOWLEDGE_BASE: \"search_knowledge_base\"\n};\n\nconst systemInstructionObject = {\n\tparts: [\n\t\t{\n\t\t\ttext: `You are a helpful and concise help agent within a ServiceNow instance. Your primary goal is to assist users with their ServiceNow-related questions.  You are currently interacting with a user who is using the Next Experience menu.\n\nInstructions:\n\nLanguage Handling: You will receive an initial greeting in English (\"Hi ServiceNow\"), but you should respond and continue the conversation in the language configured for this session. The speech synthesis language code indicates the user's preferred language - use that language for all your responses unless the user explicitly requests a different language.\n\nStep-by-Step Guidance: When you provide instructions or guidance that involve multiple steps, you must present only one step at a time. Do not list or summarize all steps in a single response. After giving one instruction, wait for the user to acknowledge completion using responses such as \"done,\" \"ok,\" \"yes,\" \"next,\" \"continue,\" \"got it,\" or similar. When the user acknowledges, immediately proceed to the next instruction without asking reconfirmation questions like \"Have you clicked...?\" or \"Did you complete...?\". Trust the user's acknowledgment and move forward.\n\nScreen Sharing Behavior:\nYou can see the user's screen ONLY when you are actively receiving screenshot images as part of the conversation input. Screenshots are sent approximately every ${SCREENSHOT_INTERVAL_MS / 1000} seconds when screen sharing is active.\n\nIf you receive a system notification saying \"Screen sharing has been stopped by the user\", you can no longer see the user's screen.\n\nIf a user asks \"can you see my screen?\":\n- If you are currently receiving screenshot images and have not received a notification that screen sharing stopped, respond \"Yes, I can see your screen.\"\n- If you received a notification that screen sharing has stopped, or if you have not received any screenshot images, respond \"No, I cannot see your screen. I can only provide guidance through conversation.\"\n\nWhen screen sharing is active, screenshots help you understand the user's context and progress. However, always wait for the user's verbal acknowledgment (such as \"done,\" \"ok,\" \"next,\" \"continue,\" etc.) before proceeding to the next instruction.\n\nUser Acknowledgment: When the user acknowledges completion by saying words like \"done,\" \"ok,\" \"yes,\" \"continue,\" \"next,\" \"proceed,\" \"go ahead,\" \"got it,\" or similar, immediately provide the next instruction. Do not ask for reconfirmation. User acknowledgment always takes priority - even if the screenshot doesn't show the action was completed, or if screen sharing is not active, proceed when the user confirms.\n\nIf you can't understand user message, ask user to repeat it.\n\nConcise and Helpful Responses: Provide clear, concise, and helpful responses to user queries. Avoid unnecessary jargon or overly technical explanations unless specifically requested by the user.\n\nNext Experience Context: Remember that the user is currently within the Next Experience menu. Tailor your responses and suggestions accordingly.\n\nUser Interaction: After your initial greeting, await the user's first message before providing any response.\n\nAction Limitations: You cannot perform any actions on behalf of the user such as clicking buttons, filling forms, navigating pages, or modifying settings. You can only provide information, guidance, and instructions. If a user asks you to perform an action, DO NOT claim you have done it or can do it. Instead, politely explain that you cannot perform actions and offer guidance on how the user can perform the action themselves.\n\nPause/Resume Behavior: The conversation may be paused and resumed by the user. When the conversation is paused or resumed, you will receive a notification message but you should NOT respond to these notifications. Simply maintain full context of the conversation across pause/resume cycles. If the user asks about previous parts of the conversation after resuming, continue from where you left off and reference earlier discussion as needed. Do not automatically repeat previous responses unless specifically asked by the user.\n\nConfidentiality of Implementation Details: Do NOT answer questions about internal implementation, architecture, APIs, or underlying models. If asked, respond with: \"I'm not allowed to answer any of these questions.\"`,\n\t\t}\n\t],\n};\n\n// Knowledge base search instructions that will be appended to system instructions when search is enabled\nexport const knowledgeBaseInstructions = `\n----------------------------------------------\nCRITICAL — KNOWLEDGE BASE TOOL USAGE BEHAVIOR\n----------------------------------------------\n\nWHEN TO USE THE TOOL vs WHEN TO ANSWER DIRECTLY:\n\nDO NOT use the search tool for:\n- Simple greetings: \"hi\", \"hello\", \"hey\", \"good morning\", \"how are you\"\n- Acknowledgments: \"okay\", \"thanks\", \"got it\", \"thank you\", \"alright\"\n- Clarifications: \"what do you mean\", \"can you explain\", \"I don't understand\"\n- Follow-up confirmations: \"yes\", \"no\", \"continue\", \"next\", \"go on\"\n- Small talk: \"how's it going\", \"nice to meet you\"\n- Questions about YOU: \"what can you do\", \"how can you help\", \"what are your capabilities\"\n\nALWAYS use the search tool for:\n- Specific ServiceNow feature questions: \"How do I create an incident?\"\n- Technical how-to questions: \"How to configure...\"\n- Troubleshooting: \"Why isn't... working?\"\n- Product-specific questions: \"What is the workflow for...\"\n- Documentation requests: \"Show me how to...\"\n- Any question about ServiceNow functionality, processes, or features\n\n----------------------------------------------\n\nFor questions that REQUIRE the search tool, follow this sequence:\n\n1. First respond with ONE of these messages in the user's language.\n   **IMPORTANT: Randomly select a DIFFERENT phrase for each new search. Do not repeat the same phrase consecutively.**\n\n   - \"I am looking into that for you…\"\n   - \"Let me search for that information…\"\n   - \"I'll find that for you…\"\n   - \"Searching for the details…\"\n   - \"Let me check that for you…\"\n   - \"I'll look that up…\"\n   - \"Checking the knowledge base…\"\n   - \"One moment while I search…\"\n\n2. Immediately call the ${TOOL_NAMES.SEARCH_KNOWLEDGE_BASE} tool with the user's query.\n\n3. Wait for the tool response.\n\n4. Process the response:\n\nIF THE TOOL RETURNS RELEVANT RESULTS:\n   - Use the information from the tool response to construct your answer\n   - Deliver a clear, concise answer based on what the tool returned\n   - Provide the information naturally WITHOUT preambles like \"Here's what I found\"\n   - Simply provide the information naturally\n\n   IF THE TOOL RETURNS EMPTY OR INSUFFICIENT RESULTS:\n   - Use your own knowledge and intelligence to answer the question\n   - Draw upon your understanding of ServiceNow concepts, features, and best practices\n   - Provide a helpful, accurate response based on general ServiceNow knowledge\n   - Be transparent by briefly mentioning: \"I don't have specific documentation on this, but based on ServiceNow best practices...\" or \"While I couldn't find detailed documentation, generally in ServiceNow...\"\n   - Suggest they verify with official ServiceNow documentation or their administrator for instance-specific details\n   - Offer to search for related topics that might help\n\n   Example of handling empty results:\n   User: \"How do I configure custom notifications in ITSM?\"\n   Tool returns: Empty results\n   You respond: \"I don't have specific documentation on that in our knowledge base, but based on ServiceNow best practices, custom notifications in ITSM are typically configured through System Notification > Email > Notifications. You'll create a new notification record, define the trigger conditions (like when an incident is created or updated), select the recipient users or groups, and customize the email subject and body. For detailed steps specific to your instance version, I'd recommend checking the official ServiceNow documentation or consulting your ServiceNow administrator. Would you like me to search for related notification topics?\"\n\n----------------------------------------------\n\nFor questions you can answer WITHOUT the tool (greetings, small talk, questions about your capabilities):\n- Answer directly and naturally\n- DO NOT say \"I am looking into that for you…\"\n- DO NOT call the ${TOOL_NAMES.SEARCH_KNOWLEDGE_BASE} tool\n- Keep it conversational and friendly\n\nExamples:\n- User: \"Hello\" → You: \"Hello! How can I help you with ServiceNow today?\"\n- User: \"What can you do?\" → You: \"I can help you with ServiceNow questions, guide you through processes, and search our knowledge base for specific information. What would you like to know?\"\n- User: \"Thanks\" → You: \"You're welcome! Let me know if you need anything else.\"\n\n----------------------------------------------\n\nImportant rules:\n- ONLY use the search tool for actual ServiceNow questions that need documentation or knowledge base lookups\n- For greetings and casual chat, respond directly without searching\n- When the tool returns results, those are your primary source of truth\n- When the tool returns empty results or returns insufficient results, use your own knowledge to provide helpful guidance\n- Once you have information (from tool or your knowledge), deliver it directly and naturally\n- Always be transparent about whether information comes from documentation or general knowledge\n\nYour goal is to provide accurate, up-to-date information by:\n- Recognizing when to search vs when to answer directly\n- Always searching the knowledge base for ServiceNow-specific questions\n- Using tool results when available\n- Using your own intelligence when tool returns empty results or insufficient results\n- Providing clear, helpful responses regardless of the information source\n- Being transparent about the source of your information\n\n----------------------------------------------\nEND OF INSTRUCTIONS\n----------------------------------------------\n`;\n\n// Search knowledge base tool definition\nexport const searchKnowledgeBaseTool = {\n\tfunctionDeclarations: [\n\t  {\n\t\tname: TOOL_NAMES.SEARCH_KNOWLEDGE_BASE,\n\t\tdescription: \"Search the ServiceNow knowledge base for information relevant to the user's query. This tool should be used when the agent is not confident answering from built-in knowledge.\",\n\t\tparameters: {\n\t\t  type: \"object\",\n\t\t  properties: {\n\t\t\tquery: {\n\t\t\t  type: \"string\",\n\t\t\t  description: \"The search query extracted from the user's question.\"\n\t\t\t}\n\t\t  },\n\t\t  required: [\"query\"]\n\t\t}\n\t  }\n\t]\n  };\n\nexport const LOG_PREFIX = \"[SN-HELP-ASSISTANT]\";\n\nexport function createFreshGeminiConfig() {\n\t// Create a manually constructed copy of the config to avoid reference issues\n\tconst baseConfig = {\n\t  model: \"projects/now-gemini-dev/locations/us-central-1/publishers/google/models/gemini-live-2.5-flash-preview-native-audio\",\n\t  generationConfig: {\n\t\tresponseModalities: \"audio\",\n\t\tspeechConfig: {\n\t\t  voiceConfig: { prebuiltVoiceConfig: { voiceName: \"Puck\" } },\n\t\t  languageCode: \"en-US\"\n\t\t},\n\t  },\n\t  systemInstruction: {\n\t\tparts: [\n\t\t  {\n\t\t\ttext: systemInstructionObject.parts[0].text\n\t\t  },\n\t\t  {\n            // Always include knowledge base instructions\n            text: knowledgeBaseInstructions\n          }\n\t\t]\n\t  },\n\t  tools: [\n\t\t// Always include search knowledge base tool\n        searchKnowledgeBaseTool\n\t  ],\n\t  outputAudioTranscription: {},\n\t  inputAudioTranscription: {},\n\t  sessionResumption: {handle: ''}\n\t};\n\n\treturn baseConfig;\n  }\n\nexport const supportedProviders = {\n\tgoogle: {\n\t\tGEMINI_FLASH: {\n\t\t\tname: \"gemini-flash\",\n\t\t\tconfig: createFreshGeminiConfig()\n\t\t},\n\t},\n};\n\n//Greetings\nexport const GREETINGS = 'Hi ServiceNow.';\nexport const LANGUAGE_PROMPT = 'Please respond in language:';\n\nexport const ERRORS = {\n\tCLIENT_RECONNECTION_FAILED: \"CLIENT_RECONNECTION_FAILED\",\n\tSERVER_INTERNAL_ERROR: \"SERVER_INTERNAL_ERROR\",\n};\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-alert';\nimport styles from './ha-alerts.scss';\n\nconst view = ({ properties: { items } }) => {\n\treturn (\n\t\t<div className=\"ha-alerts-container\">\n\t\t\t<now-alert-list items={items} manageItems />\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('ha-alerts', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tproperties: {\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\t\tstatus: { type: 'string' },\n\t\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t\tcontent: { type: 'object' },\n\t\t\t\t\t\taction: { type: 'object' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\t\n\tview,\t\n});","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { t } from \"sn-translate\";\n\nexport const translatedTexts = {\n\tlauncherHeading: t(\"Dynamic Guidance\"),\n\tlauncherText: t(\"I am the Dynamic Guidance, your voice-enabled guide, here to answer your questions and walk you through solutions in real time.\"),\n\tlauncherStartButtonLabel: t(\"Start\"),\n\n\t//ha user consent modal\n\tconsentAllow: t('Allow'),\n\tconsentCancel: t('Cancel'),\n\tconsentHeading: t('Permission needed'),\n\tconsentIntro: t('To provide real-time, on-screen guidance and voice interactions, Dynamic Guidance needs access to your screen and microphone.'),\n\tconsentHowItWorks: t('How Dynamic Guidance works'),\n\tconsentContextAwareTitle: t('Context-aware'),\n\tconsentContextAwareTextSubTitle: t('Dynamic guidance answers questions and guides you step by step.'),\n\tconsentNaturalConversationsTitle: t('Natural conversations'),\n\tconsentNaturalConversationsTextSubTitle: t('Understands interruptions, tone, and casual cues.'),\n\tconsentTalkControlTitle: t('Talk control'),\n\tconsentTalkControlTextSubTitle: t('Control what you share by pausing the conversation as needed.'),\n\tconsentBrowserWarning: t('Some browsers may require you to share your entire screen, including all tabs and your desktop. Make sure you don\\'t share any sensitive data. Safari is currently not supported.'),\n\tconsentCheckboxLabel: t('I allow screen sharing and microphone access to enable real-time support.'),\n\tconsentNote: t('Note: Dynamic guidance is powered by Google\\'s Gemini API. By using this feature, you acknowledge and accept the'),\n\tconsentTermsOfService: t('Google Gemini API Terms of Service'),\n\n\t//Modeless Dialog labels\n\ttranscriptPlaceholderText: t(\"Hello! I’m your dynamic guidance here to answer your questions and walk you through the guidance you need.\"),\n\tcloseButtonAriaLabel: t(\"Close dynamic guidance popup\"),\n\tmodelessDialogHeading: t(\"Dynamic Guidance\"),\n\tmodelessDialogFooterText: t(\"Generated by Now Assist. Check for accuracy.\"),\n\ttranscriptButtonLabel: t(\"Toggle transcript\"),\n\tassistantPausedText: t(\"Dynamic Guidance is on hold. To continue the session, click on the “Play” button.\"),\n\tPaused: t(\"Paused\"),\n\tLive: t(\"Live\"),\n\n\t//ha launcher labels\n\tlauncherLoadingLabel: t(\"Loading\"),\n\n\t//alerts\n\twebsocketError: t(\"Could not connect to websocket URL\"),\n\tmissingWebSocketURLorEphemeralToken: t(\"Missing WebSocket URL or ephemeralToken\"),\n\tfetchConfigFailed: t(\"API failed to fetch configuration\"),\n\tinvalidSecretKey: t(\"Invalid secret key. Please contact the administrator.\"),\n\tclientStopped: t('Your screen and mic are no longer being shared.'),\n\tsearchSourceNotConfigured: t(\"No search source configured. Please contact system administrator.\"),\n\n\t// fetch user consent\n\tfetchUserConsentFailed: t(\"Failed to fetch user consent\"),\n\tuserConsentSubmittedSuccesfully: t(\"User consent submitted successfully\"),\n\tfailedToSubmitUserConsent: t(\"Failed to submit user consent\"),\n\n\t// OAuth\n\tfailedToFetchOAuthCode: t(\"Something went wrong with your sign-in. Please contact your administrator.\"),\n\tfailedPKCEConfig: t(\"Something went wrong with your sign-in. Please refresh the page and try again.\"),\n\tfailedToGenerateAccessToken: t(\"Something went wrong with your sign-in. Please contact your administrator.\"),\n\n\tendButtonLabel: t(\"End\"),\n\n\tnetworkErrorMessage: t(\"Dynamic Guidance terminated due to poor network, please try again.\"),\n\terrorInProvider: t(\"Unable to connect with provider LLM. Please contact your administrator.\"),\n\n\tsessionInProgress: t(\"A Dynamic Guidance session is already in progress. Please end the current session before starting a new one.\"),\n\n\tsessionLimitReached: t(\"Your Dynamic Guidance session has ended. Sessions are limited to 30 minutes. To continue, start a new session from the Help Center or Now Assist Panel.\"),\n};\n","/**\n * Constants for cross-tab communication\n */\n\n// Cross-tab action types that should be propagated across tabs\nexport const BROADCAST_ACTIONS = {\n\tDYNAMIC_GUIDANCE_REQUESTED: 'CROSS_TAB#DYNAMIC_GUIDANCE_REQUESTED',\n\tMODELESS_DIALOG_CLOSED: 'CROSS_TAB#MODELESS_DIALOG_CLOSED',\n\n\tSTATE_QUERY: 'CROSS_TAB#STATE_QUERY',\n\tSTATE_RESPONSE: 'CROSS_TAB#STATE_RESPONSE',\n\n\tTAB_CLOSED: 'CROSS_TAB#TAB_CLOSED',\n\n\tHEARTBEAT: 'CROSS_TAB#HEARTBEAT',\n\n\tPRIMARY_TAB_ESTABLISHED: 'CROSS_TAB#PRIMARY_TAB_ESTABLISHED',\n\n\tDYNAMIC_GUIDANCE_PAUSED: 'CROSS_TAB#DYNAMIC_GUIDANCE_PAUSED',\n\tDYNAMIC_GUIDANCE_RESUMED: 'CROSS_TAB#DYNAMIC_GUIDANCE_RESUMED',\n\n\tDYNAMIC_TRANSCRIPT_UPDATED: 'CROSS_TAB#DYNAMIC_TRANSCRIPT_UPDATED',\n\tDYNAMIC_VOICE_STARTED: 'CROSS_TAB#DYNAMIC_VOICE_STARTED',\n\tDYNAMIC_VOICE_STOPPED: 'CROSS_TAB#DYNAMIC_VOICE_STOPPED'\n};\n\nexport const CROSS_TAB_INITIALIZE_COMMUNICATION = `CROSS_TAB#INITIALIZE_COMMUNICATION`;\nexport const CROSS_TAB_HANDLE_STATE_QUERY = `CROSS_TAB#HANDLE_STATE_QUERY`;\nexport const CROSS_TAB_DISCONNECT = `CROSS_TAB#DISCONNECT`;\n","/**\n * BroadcastChannel middleware for cross-tab communication\n * Handles propagation of dynamic guidance actions across browser tabs\n */\nimport {BROADCAST_ACTIONS as broadcastActions} from \"./crossTabConstants\";\n\nclass CrossTabCommunicator {\n\tconstructor() {\n\t\tthis.channel = null;\n\t\tthis.tabId = null;\n\t\tthis.listeners = new Map();\n\t\tthis.stateQueryTimeout = null;\n\t\tthis.primaryTabId = null;\n\t\tthis.isPrimaryTab = false;\n\t\tthis.initializeChannel();\n\t\tthis.setupTabClosureDetection();\n\t}\n\n\t/**\n\t * Initialize the BroadcastChannel\n\t */\n\tinitializeChannel() {\n\t\ttry {\n\t\t\tconst channelName = `sn-help-assistant-cross-tab-${window.location.origin}`;\n\t\t\tthis.channel = new BroadcastChannel(channelName);\n\t\t\tthis.channel.addEventListener('message', this.handleMessage.bind(this));\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to initialize cross-tab communication:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Handle incoming messages from other tabs\n\t * @param {MessageEvent} event\n\t */\n\thandleMessage(event) {\n\t\ttry {\n\t\t\tconst { type, payload, timestamp, tabId } = event.data;\n\n\t\t\t// Ignore messages from the same tab\n\t\t\tif (tabId === this.getTabId()) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle primary tab establishment\n\t\t\tif (type === broadcastActions.PRIMARY_TAB_ESTABLISHED) {\n\t\t\t\tthis.primaryTabId = payload.primaryTabId;\n\t\t\t\tthis.isPrimaryTab = (this.primaryTabId === this.getTabId());\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Call registered listeners for this action type\n\t\t\tconst listeners = this.listeners.get(type);\n\t\t\tif (listeners) {\n\t\t\t\tlisteners.forEach(listener => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener({ type, payload, timestamp, tabId });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error in cross-tab listener:', error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error handling cross-tab message:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Broadcast an action to other tabs\n\t * @param {string} type - Action type\n\t * @param {*} payload - Action payload\n\t */\n\tbroadcast(type, payload = null) {\n\t\tif (!this.channel) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst message = {\n\t\t\t\ttype,\n\t\t\t\tpayload,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\ttabId: this.getTabId()\n\t\t\t};\n\n\t\t\tthis.channel.postMessage(message);\n\t\t} catch (error) {\n\t\t\tconsole.error('Error broadcasting message:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Register a listener for specific action types\n\t * @param {string} actionType - Action type to listen for\n\t * @param {Function} listener - Callback function\n\t */\n\taddListener(actionType, listener) {\n\t\tif (!this.listeners.has(actionType)) {\n\t\t\tthis.listeners.set(actionType, new Set());\n\t\t}\n\n\t\tthis.listeners.get(actionType).add(listener);\n\t}\n\n\t/**\n\t * Get unique tab identifier\n\t * @returns {string}\n\t */\n\tgetTabId() {\n\t\tif (!this.tabId) {\n\t\t\tthis.tabId = `tab_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n\t\t}\n\t\treturn this.tabId;\n\t}\n\n\t/**\n\t * Query state from other tabs with timeout and retry mechanism\n\t */\n\tqueryStateFromOtherTabs() {\n\t\t// Clear any existing timeout\n\t\tif (this.stateQueryTimeout) {\n\t\t\tclearTimeout(this.stateQueryTimeout);\n\t\t}\n\n\t\t// Add a small delay to ensure other tabs are ready\n\t\tsetTimeout(() => {\n\t\t\tthis.broadcast(broadcastActions.STATE_QUERY, {\n\t\t\t\ttabId: this.getTabId()\n\t\t\t});\n\t\t}, 100);\n\n\t\t// Set timeout to stop waiting for responses after 5 seconds\n\t\tthis.stateQueryTimeout = setTimeout(() => {\n\t\t\tthis.stateQueryTimeout = null;\n\t\t}, 5000);\n\t}\n\n\t/**\n\t * Set up tab closure detection\n\t */\n\tsetupTabClosureDetection() {\n\t\t// Listen for beforeunload event to detect tab closure\n\t\tconst handleBeforeUnload = () => {\n\t\t\t// Handle closure based on primary tab status\n\t\t\tthis.handlePrimaryTabClosure();\n\t\t};\n\n\t\twindow.addEventListener('beforeunload', handleBeforeUnload);\n\n\t\t// Store reference for cleanup\n\t\tthis._beforeUnloadHandler = handleBeforeUnload;\n\t}\n\n\t/**\n\t * Establish this tab as the primary tab (called when dynamic guidance starts)\n\t */\n\testablishAsPrimaryTab() {\n\t\tthis.isPrimaryTab = true;\n\t\tthis.primaryTabId = this.getTabId();\n\n\t\t// Broadcast to all other tabs that this is now the primary tab\n\t\tthis.broadcast(broadcastActions.PRIMARY_TAB_ESTABLISHED, {\n\t\t\tprimaryTabId: this.primaryTabId\n\t\t});\n\t}\n\n\t/*\n\t * Set the primary tab ID\n\t */\n\tsetPrimaryTabId(tabId) {\n\t\tthis.primaryTabId = tabId;\n\t\tthis.isPrimaryTab = (this.primaryTabId === this.getTabId());\n\t}\n\n\t/**\n\t * Reset primary tab status (called when dynamic guidance ends)\n\t */\n\treleasePrimaryTab() {\n\t\tthis.isPrimaryTab = false;\n\t\tthis.primaryTabId = null;\n\n\t\t// Broadcast to all other tabs that this is no longer the primary tab\n\t\tthis.broadcast(broadcastActions.PRIMARY_TAB_ESTABLISHED, {\n\t\t\tprimaryTabId: null\n\t\t});\n\t}\n\n\t/**\n\t * Check if this tab is the primary tab\n\t * @returns {boolean}\n\t */\n\tisPrimaryTabActive() {\n\t\treturn this.isPrimaryTab;\n\t}\n\n\t/**\n\t * Check if this tab is a secondary tab\n\t * @returns {boolean}\n\t */\n\tisSecondaryTabActive() {\n\t\treturn !this.isPrimaryTab && this.primaryTabId !== null && this.primaryTabId !== this.getTabId();\n\t}\n\n\t/**\n\t * Handle primary tab closure and elect new primary if needed\n\t */\n\thandlePrimaryTabClosure() {\n\t\tif (this.isPrimaryTab) {\n\t\t\t// This is the primary tab closing, broadcast closure\n\t\t\tthis.broadcast(broadcastActions.TAB_CLOSED, {\n\t\t\t\tclosedTabId: this.getTabId()\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy() {\n\t\t// Clear timeout\n\t\tif (this.stateQueryTimeout) {\n\t\t\tclearTimeout(this.stateQueryTimeout);\n\t\t\tthis.stateQueryTimeout = null;\n\t\t}\n\n\t\t// Remove event listeners\n\t\tif (this._beforeUnloadHandler) {\n\t\t\twindow.removeEventListener('beforeunload', this._beforeUnloadHandler);\n\t\t\tthis._beforeUnloadHandler = null;\n\t\t}\n\n\t\t// Close channel\n\t\tif (this.channel) {\n\t\t\tthis.channel.close();\n\t\t\tthis.channel = null;\n\t\t}\n\n\t\t// Clear state\n\t\tthis.tabId = null;\n\t\tthis.listeners.clear();\n\t\tthis.primaryTabId = null;\n\t\tthis.isPrimaryTab = false;\n\t}\n}\n\n// Create singleton instance\nconst crossTabCommunicator = new CrossTabCommunicator();\n\nexport default crossTabCommunicator;\n","import { UPDATE_MODELESS_DIALOG_CONTENT, liveTranscriptionActions } from '../../../../constants';\n\nconst WORD_DELAY_MS = 350;\nconst PAUSE_EXTRA_DELAY_MS = 200;\nconst PAUSE_CHARS_REGEX = /[.,;:!?]/;\n\nlet displayedText = '';\nlet latestTranscriptText = '';\n\nlet textDispatch = null;\nlet textTimer = null;\n\nlet inputTrimOffset = 0;\nlet outputTrimOffset = 0;\n\nlet lastOutputTranscript = '';\nlet lastInputTranscript = '';\n\nlet lastSpeakerType = null; // tracks which speaker was updated last: op/ip/null\n\n// Keeps a number within the range [min, max], for safe string slicing\nconst checkForStrSlicing = (val, min, max) => Math.max(min, Math.min(max, val));\n\n// trims gemini's output chunk array and dispatches updated text\nexport const trimOutputTranscript = (count, dispatch) => {\n    const currentLength = lastOutputTranscript.length;\n    outputTrimOffset = checkForStrSlicing(outputTrimOffset + count, 0, currentLength);\n    \n    if (dispatch) {\n        renderOutput(dispatch);\n    }\n};\n\n\nconst renderOutput = (dispatch) => {\n    const fullText = lastOutputTranscript;\n    const len = fullText.length;\n    \n    // Ensure offset is within bounds\n    outputTrimOffset = checkForStrSlicing(outputTrimOffset, 0, len);\n    \n    // Get visible portion and initiate reveal\n    const visibleText = fullText.slice(outputTrimOffset);\n    latestTranscriptText = visibleText;\n    displayedText = '';\n    \n    scheduleTextReveal(0);\n};\n\n\nexport const trimCharsFromFront = (chunks, count) => {\n    if (!Array.isArray(chunks)) return '';\n    let charsToRemove = Math.max(0, count);\n\n    while (charsToRemove > 0 && chunks.length) {\n        if (chunks[0].length <= charsToRemove) {\n            charsToRemove -= chunks[0].length;\n            chunks.shift();\n        } else {\n            chunks[0] = chunks[0].slice(charsToRemove);\n            break;\n        }\n    }\n    return chunks.join('');\n};\n\n// Dispatches content update to the modeless dialog\nconst pushContent = (dispatch, text) => {\n    dispatch(UPDATE_MODELESS_DIALOG_CONTENT, text);\n};\n\n// On discontinuity, jump to the target immediately\nconst jumpToTranscriptNow = (dispatch) => {\n    displayedText = latestTranscriptText;\n    pushContent(dispatch, displayedText);\n};\n\n// function that prepares the current i/p transcript for display\nconst renderInput = (dispatch) => {\n    const len = lastInputTranscript.length;\n    \n    // Ensure offset is within bounds\n    inputTrimOffset = checkForStrSlicing(inputTrimOffset, 0, len);\n    // If offset is inside a word, move to next space\n    if (inputTrimOffset > 0 && inputTrimOffset < len && /\\S/.test(lastInputTranscript[inputTrimOffset - 1]) && /\\S/.test(lastInputTranscript[inputTrimOffset])) {\n        const nextSpace = lastInputTranscript.indexOf(' ', inputTrimOffset);\n        inputTrimOffset = nextSpace !== -1 ? nextSpace + 1 : len;\n    }\n    pushContent(dispatch, lastInputTranscript.slice(inputTrimOffset));\n};\n\n// ensures only one reveal timer runs at a time and cancels any pending animation\n// to stop the reveal animation when the transcript is reset or trimmed\nconst clearTranscriptTimer = () => {\n    if (textTimer) {\n        clearTimeout(textTimer);\n        textTimer = null;\n    }\n};\n\n// Stop any pending word-by-word reveal immediately\nexport const stopTranscriptReveal = () => {\n    clearTranscriptTimer();\n};\n\n// schedules the next step of the word-by-word reveal animation\nconst scheduleTextReveal = (delay = WORD_DELAY_MS) => {\n    if (textTimer) return;\n    textTimer = setTimeout(wordByWordReveal, delay);\n};\n\nconst wordByWordReveal = () => {\n    textTimer = null;\n    if (!textDispatch || !latestTranscriptText) return;\n\n    // If target no longer starts with displayed (after trim), jump to target\n    if (!latestTranscriptText.startsWith(displayedText)) {\n        jumpToTranscriptNow(textDispatch);\n        return;\n    }\n    // if everything is already revealed, exit\n    if (displayedText.length >= latestTranscriptText.length) return;\n\n    // Compute the next chunk word to display using space index, reveal next word with space\n    const start = displayedText.length;\n    const end = latestTranscriptText.indexOf(' ', start) + 1 || latestTranscriptText.length;\n    const chunk = latestTranscriptText.slice(start, end);\n    displayedText += chunk;\n\n    pushContent(textDispatch, displayedText);\n\n    let nextDelay = WORD_DELAY_MS;\n    if (PAUSE_CHARS_REGEX.test(chunk)) nextDelay += PAUSE_EXTRA_DELAY_MS;\n    scheduleTextReveal(nextDelay);\n};\n\nconst onNewOutputTranscript = (dispatch, text) => {\n    textDispatch = dispatch;\n\n    const nextTranscript = text;\n    \n    // Detect new conversation turn: if transcript shrinks, it's a new response\n    // Reset offset to ensure new response is fully visible\n    const isProbablyNewResponse = nextTranscript.length < lastOutputTranscript.length;\n    if (isProbablyNewResponse && nextTranscript.length < outputTrimOffset) {\n        outputTrimOffset = 0;\n    }\n    \n    // Apply offset to get visible portion\n    const visibleText = nextTranscript.slice(outputTrimOffset);\n    \n    // Wait for more content if offset hides everything\n    if (visibleText.length === 0) {\n        latestTranscriptText = '';\n        return;\n    }\n    \n    const isDiscontinuity = !visibleText.startsWith(displayedText);\n    latestTranscriptText = visibleText;\n\n    if (isDiscontinuity) {\n        // Text jumped, clear and restart reveal immediately\n        displayedText = '';\n        scheduleTextReveal(0);\n        return;\n    }\n    // Otherwise, continue smooth reveal\n    scheduleTextReveal();\n};\n\nexport const getLastUpdateType = () => lastSpeakerType;\n\n// called whenever a new o/p transcript from live api is received\nexport const handleOutputTranscription = (dispatch, payload) => {\n    const newOutputTranscript = String(payload);\n    lastSpeakerType = 'output';\n    lastOutputTranscript = newOutputTranscript;\n    onNewOutputTranscript(dispatch, lastOutputTranscript);\n};\n\n// called whenever a new i/p transcript from live api is received\nexport const handleInputTranscription = (dispatch, payload) => {\n    const newInputTranscript = String(payload);\n    lastSpeakerType = 'input';\n    lastInputTranscript = newInputTranscript;\n    \n    // Reset output offset when user speaks \n    if (outputTrimOffset > 0) {\n        outputTrimOffset = 0;\n    }\n    \n    renderInput(dispatch);\n};\n\n//Increases the input trim offset by size, triggers render function\nexport const trimInputLocally = (size, dispatch) => {\n    inputTrimOffset = checkForStrSlicing(inputTrimOffset + size, 0, lastInputTranscript.length);\n    renderInput(dispatch);\n};\n\nexport const resetAll = () => {\n    clearTranscriptTimer();\n    displayedText = '';\n    latestTranscriptText = '';\n    textDispatch = null;\n    lastOutputTranscript = '';\n    lastSpeakerType = null;\n    inputTrimOffset = 0;\n    outputTrimOffset = 0;\n    lastInputTranscript = '';\n    \n};\n\nexport default {\n    getLastUpdateType,\n    handleOutputTranscription,\n    handleInputTranscription,\n    trimInputLocally,\n    resetAll,\n};","// Helper function to send tool response to Gemini\nexport const sendToolResponse = ({state, action, updateState}) => {\n    if (!state.liveClient || typeof state.liveClient.sendToolResponse !== 'function') {\n        return;\n    }\n    \n    const { result } = action.payload;\n    const toolCallId = state.currentToolCallId;\n\n    // Let the client handle construction of the response object\n    state.liveClient.sendToolResponse({\n        toolCallId,\n        result\n    });\n\n    updateState({\n        currentToolCallId: null\n    });\n};","export const observable = (function () {\n\tlet instance;\n\n\tfunction init() {\n\t\tconst handlers = new Map();\n\t\treturn {\n\t\t\t/**\n\t\t\t * Subscribes the handler to given name\n\t\t\t * @param name\n\t\t\t * @param handler\n\t\t\t */\n\t\t\tsubscribe(name, handler) {\n\t\t\t\tlet actionHandlers = handlers.get(name);\n\t\t\t\tif(!actionHandlers)\n\t\t\t\t\tactionHandlers = [];\n\n\t\t\t\tactionHandlers.push(handler);\n\t\t\t\thandlers.set(name, actionHandlers);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Unsubscribe handlers of given name\n\t\t\t * @param name\n\t\t\t */\n\t\t\tunsubscribe(name) {\n\t\t\t\tdelete handlers.delete(name);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Triggers all handlers of given name with payload\n\t\t\t * @param name\n\t\t\t * @param payload\n\t\t\t */\n\t\t\ttrigger(name, payload) {\n\t\t\t\tsetTimeout(()=>{\n\t\t\t\t\thandlers.get(name).forEach( handler => handler(payload) );\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Use this function to load observable in your files. Makes sure there will be only one instance of\n\t\t * observable(Singleton).\n\t\t * @returns {{subscribe(*, *=): void, unsubscribe(*): void, trigger(*, *=): void}}\n\t\t */\n\t\tgetInstance () {\n\t\t\tif (!instance)\n\t\t\t\tinstance = init();\n\n\t\t\treturn instance;\n\t\t}\n\t};\n})();\n","import {actionTypes} from '@servicenow/ui-core';\nimport {getSysPropFromContext, getTimeRangeBucket} from '../commons/utils';\nimport {fetchRagApi, submitFeedback} from './dataHandlers';\nimport {TELEMETRY_METRIC, HA_ERROR_TRACK, dataHandlerActions, DYNAMIC_GUIDANCE_ENABLED_SYS_PROP, TELEMETRY_ERROR_PAYLOAD, liveTranscriptionActions, HA_NETWORK_ERROR_HANDLED, HA_NETWORK_ERROR_OCCURRED, alertTypes, HA_OFFLINE, CANVAS_GLOBAL_ERROR} from '../constants';\nimport {assistantServiceActions, alertActions, HA_ACTIONS} from '../constants';\nimport {supportedProviders} from '../behaviors/live-client/constants';\nimport track from '@devsnc/ux-metrics';\nimport { userRoles } from '../constants';\nimport '../../components/presentational/ha-alerts';\nimport { translatedTexts as t} from '../../commons/i18n';\nimport crossTabCommunicator from '../behaviors/crossTabCommunicator/crossTabCommunicator';\nimport {\n    trimOutputTranscript,\n    trimInputLocally,\n    resetAll,\n} from '../behaviors/live-client/google-gemini/transcript/transcriptController';\nimport {\n    BROADCAST_ACTIONS, CROSS_TAB_DISCONNECT,\n    CROSS_TAB_INITIALIZE_COMMUNICATION\n} from '../behaviors/crossTabCommunicator/crossTabConstants';\nimport {sendToolResponse} from './toolResponseUtils';\nimport { observable } from '../observable';\nconst messageQueue = observable.getInstance();\n\nlet networkErrorHandler = null;\n\nexport const actionHandlers = {\n\n    [actionTypes.COMPONENT_CONNECTED]: (coeffects) => {\n        const { context, updateState, dispatch } = coeffects;\n        let propertyValue = getSysPropFromContext(context, DYNAMIC_GUIDANCE_ENABLED_SYS_PROP);\n        propertyValue = propertyValue && (propertyValue === true || propertyValue.toString().toLowerCase() === 'true');\n\n        const currentUserRoles = window?.ux_globals?.session?.output?.user?.roles;\n        const isUserHaveAccess = currentUserRoles && (currentUserRoles.includes(userRoles.DYNAMIC_GUIDANCE_USER) || currentUserRoles.includes(userRoles.ADMIN));\n        const enableHelpAssistant = propertyValue && isUserHaveAccess;\n            networkErrorHandler = () => {\n                dispatch(HA_NETWORK_ERROR_HANDLED);\n            };\n\n        updateState({ enableHelpAssistant });\n\n        if (enableHelpAssistant) {\n            window.addEventListener(HA_OFFLINE, networkErrorHandler);\n            window.addEventListener(CANVAS_GLOBAL_ERROR, (e) => {\n                if (e?.detail?.payload?.type === 'AMB_EVENT_SESSION_LOGGED_OUT') {\n                    dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n                }\n            });\n        }\n\n        dispatch(CROSS_TAB_INITIALIZE_COMMUNICATION);\n\n        messageQueue.subscribe(HA_ACTIONS.START_DYNAMIC_GUIDANCE, (payload) => {\n            dispatch(HA_ACTIONS.START_DYNAMIC_GUIDANCE, payload);\n        });\n        messageQueue.subscribe(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, () => {\n            dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n        });\n        messageQueue.subscribe(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE, () => {\n            dispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n        });\n    },\n\n    [HA_NETWORK_ERROR_OCCURRED]: (coeffects) => {\n        const {dispatch} = coeffects;\n        dispatch(HA_NETWORK_ERROR_HANDLED);\n        dispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n            message: {\n                type: alertTypes.ERROR,\n                text: t.networkErrorMessage,\n                dismissable: false\n            }\n        });\n    },\n\n    [HA_NETWORK_ERROR_HANDLED]: (coeffects) => {\n        const {dispatch} = coeffects;\n        if (crossTabCommunicator.isPrimaryTabActive()) {\n            dispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.POOR_NETWORK_CONNECTION});\n            dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n        }\n    },\n\n    [actionTypes.COMPONENT_DISCONNECTED]: ({dispatch}) => {\n        dispatch(CROSS_TAB_DISCONNECT);\n        resetAll();\n        window.removeEventListener(HA_OFFLINE, networkErrorHandler);\n    },\n\n    [HA_ACTIONS.START_DYNAMIC_GUIDANCE]: {\n        effect: (coeffects) => {\n            const {dispatch, updateState, action} = coeffects;\n            if (crossTabCommunicator.isSecondaryTabActive() || crossTabCommunicator.isPrimaryTabActive()) {\n                dispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n                    message: {\n                        type: 'error',\n                        text: t.sessionInProgress\n                    }\n                });\n                return;\n            }\n            const {src, conversationId} = action.payload || {};\n\n            updateState({\n                conversationIdNAP: conversationId || \"\"\n            });\n\n            track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_START, {src: src || \"\"});\n\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_START, { provider: supportedProviders.google.GEMINI_FLASH.name, withScreen: true});\n            crossTabCommunicator.establishAsPrimaryTab();\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.STOP_DYNAMIC_GUIDANCE]: {\n        effect: (coeffects) => {\n            const {action, dispatch, state} = coeffects;\n            if (crossTabCommunicator.isSecondaryTabActive()) {\n                dispatch('HA_MODELESS_DIALOG_CLOSE');\n                return;\n            }\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED);\n\n            if (action.payload?.isUserInitiated) {\n                const { totalPausedTime, isPaused, pauseTimestamp, startTime } = state;\n\n                let updatedTotalPausedTime = totalPausedTime || 0;\n\n                if (isPaused && pauseTimestamp) {\n                    const finalPausedDuration = Date.now() - pauseTimestamp;\n                    updatedTotalPausedTime = (totalPausedTime || 0) + finalPausedDuration;\n                }\n\n                const totalActiveSessionTime = startTime\n                    ? Math.floor(\n                            (Date.now() - startTime - (updatedTotalPausedTime || 0)) / 1000,\n                        )\n                    : 0;\n\n                track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_STOP, {\n                    Duration: getTimeRangeBucket(totalActiveSessionTime),\n                });\n            }\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE]: {\n        effect: ({updateState, dispatch}) => {\n            updateState({\n                isPaused: true\n            });\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_PAUSE);\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE]: {\n        effect: ({updateState, dispatch}) => {\n            updateState({\n                isPaused: false,\n                content: ''\n            });\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_RESUME);\n        },\n        stopPropagation: true\n    },\n\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_STARTED]: {\n        effect: (coeffects) => {\n            const {dispatch, updateState, state} = coeffects;\n            dispatch('HA_MODELESS_DIALOG_OPEN');\n            const startTime = Date.now();\n            const heartbeatIntervalId = setInterval(() => {\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.HEARTBEAT);\n            }, 2000);\n            updateState({heartbeatIntervalId, startTime});\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_REQUESTED, {\n                startTime\n            });\n            if (state.conversationIdNAP) {\n                window?.nowWindowManager?.closeWindow('now-ai-canvas-window', true);\n            }\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_PAUSED]: {\n        effect: ({updateState}) => {\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED);\n            const pauseTimestamp = Date.now();\n            updateState({\n                pauseTimestamp\n            });\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_RESUMED]: {\n        effect: ({state, updateState}) => {\n            const {pauseTimestamp, totalPausedTime} = state;\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED);\n            const pauseTime = Date.now() - pauseTimestamp;\n            updateState({\n                pauseTimestamp: null,\n                totalPausedTime: totalPausedTime + pauseTime\n            });\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED]: {\n        effect: ({state, dispatch}) => {\n            const {heartbeatIntervalId} = state;\n            dispatch('HA_MODELESS_DIALOG_CLOSE');\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED);\n            crossTabCommunicator.releasePrimaryTab();\n            if (heartbeatIntervalId)\n                clearInterval(heartbeatIntervalId);\n        }\n    },\n\n    [HA_ERROR_TRACK]: (coeffects) => {\n        const {action, state} = coeffects;\n        const {TYPE} = action.payload;\n        if (TYPE) {\n            track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_CONNECTION_ERROR, {\n                \"Error Type\": TYPE,\n                \"Provider\": state.provider\n            });\n        }\n    },\n\n\t[liveTranscriptionActions.TRIM_TRANSCRIPT]: ({ dispatch, action }) => {\n        const size = action?.payload?.size || 0;\n        const channel = action?.payload?.channel; //ip/op/null\n        if (!size) return; // invalid, do nothing\n\n        if (channel === 'input') {\n            return trimInputLocally(size, dispatch);\n        }\n        if (channel === 'output') {\n            return trimOutputTranscript(size, dispatch);\n        }\n    },\n\n    // RAG API Handlers\n    [dataHandlerActions.HA_FETCH_RAG_API]: fetchRagApi,\n\n    [dataHandlerActions.HA_UPDATE_TOOL_CALL_ID]: ({action, updateState}) => {\n        const { toolCallId } = action.payload || {};\n\n        if (toolCallId) {\n            updateState({\n                currentToolCallId: toolCallId\n            });\n        }\n    },\n\n    [dataHandlerActions.HA_FETCH_RAG_API_SUCCEEDED]: sendToolResponse,\n\n    [dataHandlerActions.HA_FETCH_RAG_API_FAILED]: sendToolResponse,\n\n    // Feedback API Handlers\n    [dataHandlerActions.HA_SUBMIT_FEEDBACK]: submitFeedback\n}\n","export const USER_CONSENT_CANCELLED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_CANCELLED';\nexport const USER_CONSENT_ACCEPTED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_ACCEPTED';\nexport const DYNAMIC_GUIDANCE_REQUESTED = 'HA_USER_CONSENT_MODAL#GUIDANCE_REQUESTED';\nexport const USER_CONSENT_MODAL_CLOSED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_MODAL_CLOSED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./ha-user-consent-modal.scss\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { USER_CONSENT_CANCELLED, USER_CONSENT_ACCEPTED, USER_CONSENT_MODAL_CLOSED } from '../ha-user-consent-modal/constants';\nimport \"@servicenow/now-modal\";\nimport \"@servicenow/now-icon\";\nimport \"@servicenow/now-checkbox\";\n\nconst view = (state) => {\n\tconst { isAgreeDisabled } = state;\n\treturn (\n\t\t<now-modal\n\t\t\topened={true}\n\t\t\theader-label={t.consentHeading}\n\t\t\tsize=\"lg\"\n\t\t\tcontentFullWidth=\"true\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\t\"variant\": \"primary\",\n\t\t\t\t\t\"label\": t.consentAllow,\n\t\t\t\t\t\"clickActionType\": USER_CONSENT_ACCEPTED,\n\t\t\t\t\t\"disabled\": isAgreeDisabled\n\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"variant\": \"tertiary\",\n\t\t\t\t\t\"label\": t.consentCancel,\n\t\t\t\t\t\"clickActionType\": USER_CONSENT_CANCELLED\n\t\t\t\t}\n\t\t\t]}\n\t\t>\n\t\t\t<div className=\"consent-modal\">\n\t\t\t\t<div className=\"consent-modal-content\">\n\t\t\t\t\t<div className=\"consent-intro\">\n\t\t\t\t\t\t<span>{t.consentIntro}<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-how-it-works\">\n\t\t\t\t\t\t<div className=\"consent-how-it-works-title\">{t.consentHowItWorks}<\/div>\n\t\t\t\t\t\t<div className=\"consent-feature-list\">\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"cursor-button-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentContextAwareTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentContextAwareTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"ongoing-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentNaturalConversationsTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentNaturalConversationsTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"gear-changes-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentTalkControlTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentTalkControlTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-warning\">\n\t\t\t\t\t\t<span>{t.consentBrowserWarning}<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-checkbox\">\n\t\t\t\t\t\t<now-checkbox label={t.consentCheckboxLabel} />\n\t\t\t\t\t\t<div className=\"consent-note\">\n\t\t\t\t\t\t\t{t.consentNote} <now-text-link label={t.consentTermsOfService} href=\"https://developers.google.com/terms\" variant=\"secondary\" opensWindow={true} />.\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\ncreateCustomElement(\"ha-user-consent-modal\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tisAgreeDisabled: true\n\t},\n\tactionHandlers: {\n\t\t['NOW_CHECKBOX#CHECKED_SET']: {\n\t\t\teffect: ({ updateState, action }) => {\n\t\t\t\tupdateState({ isAgreeDisabled: !action.payload.value });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[USER_CONSENT_CANCELLED]: ({ dispatch }) => {\n\t\t\tdispatch(USER_CONSENT_MODAL_CLOSED);\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(USER_CONSENT_CANCELLED)\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t}\n\t}\n});","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const MODELESS_DIALOG_CLOSED = 'HA_MODELESS_DIALOG#CLOSED';\nexport const CLOSE_MODELESS_DIALOG = \"HA_MODELESS_DIALOG#CLOSE_REQUESTED\";\nexport const MAX_HEIGHT = 220;\nexport const MIN_HEIGHT = 88;\nexport const MAX_WIDTH = 330;\nexport const TOGGLE_TRANSCRIPT = \"HA_MODELESS_DIALOG#TOGGLE_TRANSCRIPT\";\nexport const AI_SPARKLE_ICON = \"ai-sparkle-fill\";\nexport const PAUSE_ICON = \"pause-outline\";\nexport const PLAY_ICON = \"play-fill\";\nexport const RECORD_ICON = \"circle-record-outline\";\n\nconst BASE_ACTION = \"HA_MODELESS_DIALOG#\";\n\nexport const MODAL_ACTIONS = {\n    PAUSE_CLICKED: `${BASE_ACTION}PAUSE_CLICKED`,\n    TRANSCRIPT_CLICKED: `${BASE_ACTION}TRANSCRIPT_CLICKED`,\n    END_CLICKED: `${BASE_ACTION}END_CLICKED`,\n};","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n    MODAL_ACTIONS\n} from \"./constants\";\nimport {\n\tliveTranscriptionActions,\n} from \"../../../sn-help-assistant/constants\";\nimport { getLastUpdateType } from \"../../../sn-help-assistant/behaviors/live-client/google-gemini/transcript/transcriptController\";\n\nconst handleEscapeKey = (event, dispatch) => {\n\tif (event.key === \"Escape\") {\n\t\tdispatch(MODAL_ACTIONS.END_CLICKED);\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_CONNECTED]: ({ dispatch }) => {\n\t\twindow.addEventListener(\"keydown\", (event) =>\n\t\t\thandleEscapeKey(event, dispatch),\n\t\t);\n\t},\n\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({\n\t\tupdateState,\n\t\taction,\n\t\tdispatch,\n\t\tstate\n\t}) => {\n\t\tif (action.payload.name === \"content\") {\n\t\t\t// have received at least one non-empty content update\n\t\t\tconst nextContent = action?.payload?.value ?? \"\";\n\t\t\tif (!state.hasReceivedContent && nextContent !== \"\") {\n\t\t\t\tupdateState({ hasReceivedContent: true });\n\t\t\t}\n\t\t\t// Keep track of who spoke last to toggle avatar/icon in the view\n\t\t\tupdateState({ lastUpdateType: getLastUpdateType() });\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst contentEl = state?.contentRef?.current;\n\t\t\t\tconst containerEl = state?.containerRef?.current;\n\t\t\t\tif (!contentEl || !containerEl) return;\n\n\t\t\t\t// Using refs to avoid repeated querySelectors on shadowRoot\n\t\t\t\tconst contentHeight = contentEl.clientHeight;\n\t\t\t\tconst containerHeight = containerEl.clientHeight;\n\n\t\t\t\tif (contentHeight > containerHeight) {\n\t\t\t\t\tdispatch(liveTranscriptionActions.TRIM_TRANSCRIPT, {\n\t\t\t\t\t\tsize: action?.payload?.value?.length || 0 ,\n\t\t\t\t\t\tchannel: getLastUpdateType()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\t[\"NOW_BUTTON_STATEFUL#SELECTED_SET\"]: {\n\t\teffect: ({ state, action, dispatch }) => {\n\t\t\tconst { userAction } = action.payload;\n\t\t\tconst { isPaused, enableTranscript } = state.properties;\n\t\t\tswitch (userAction) {\n\t\t\t\tcase \"toggle_pause\":\n                    dispatch(MODAL_ACTIONS.PAUSE_CLICKED, {value: !isPaused});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"toggle_transcript\":\n                    dispatch(MODAL_ACTIONS.TRANSCRIPT_CLICKED, {value: !enableTranscript});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n        stopPropagation: true\n\t},\n\n    ['NOW_BUTTON#CLICKED']: {\n        effect: ({dispatch}) => {\n            dispatch(MODAL_ACTIONS.END_CLICKED);\n        },\n        stopPropagation: true\n    },\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: ({ dispatch }) => {\n\t\twindow.removeEventListener(\"keydown\", (event) =>\n\t\t\thandleEscapeKey(event, dispatch),\n\t\t);\n\t}\n};\n","export const UPDATE_MICROPHONE_VOLUME = 'HA_MODELESS_DIALOG#UPDATE_MICROPHONE_VOLUME';\nexport const AI_SPEAKING_STARTED = 'HA_MODELESS_DIALOG#AI_SPEAKING_STARTED';\nexport const AI_SPEAKING_STOPPED = 'HA_MODELESS_DIALOG#AI_SPEAKING_STOPPED';\n\nexport const VOICE_WAVE_CONFIG = Object.freeze({\n    POINTS: 9,\n    VOLUME_THRESHOLD: 0.08,\n    VOLUME_CEIL: 0.06,\n    SMOOTHING_RISE: 0.8,\n    SMOOTHING_DECAY: 0.08,\n    DECAY_FACTOR: 0.90,\n    SILENCE_GRACE_MS: 100,\n    EXIT_THRESHOLD: 0.01\n});\n\nexport const IDLE_BAR_STYLE = Object.freeze({\n    height: '2px',\n    borderRadius: '50%'\n});\n\nconst MIC_BARS = Object.freeze([\n    { from: 2,  to: 6,  freq: Math.PI / 0.50 },\n    { from: 2,  to: 11, freq: Math.PI / 0.38 },\n    { from: 3,  to: 15, freq: Math.PI / 0.62 },\n    { from: 2,  to: 18, freq: Math.PI / 0.42 },\n    { from: 4,  to: 20, freq: Math.PI / 0.55 },\n    { from: 2,  to: 16, freq: Math.PI / 0.45 },\n    { from: 3,  to: 13, freq: Math.PI / 0.58 },\n    { from: 2,  to: 9,  freq: Math.PI / 0.36 },\n    { from: 2,  to: 5,  freq: Math.PI / 0.48 }\n]);\n\nconst MIC_BAR_STYLE_ACTIVE = 'linear-gradient(to top, #86F673, #71D5FE)';\n\nconst getMicBarStyles = (normVolume, timestamp) => {\n    const t = timestamp / 1000;\n    return MIC_BARS.map(({ from, to, freq }) => {\n        const wave = (Math.sin(t * freq) + 1) / 2;\n        const height = from + wave * (to - from) * normVolume;\n        return {\n            height: `${height}px`,\n            borderRadius: '4px',\n            background: MIC_BAR_STYLE_ACTIVE,\n            transition: 'none'\n        };\n    });\n};\n\nconst { VOLUME_THRESHOLD, VOLUME_CEIL, SMOOTHING_RISE, SMOOTHING_DECAY, DECAY_FACTOR, SILENCE_GRACE_MS, EXIT_THRESHOLD } = VOICE_WAVE_CONFIG;\n\nlet smoothedVolume = 0;\nlet lastSpeechTime = 0;\nlet animationRAF = null;\nlet _updateState = null;\n\nconst animationTick = (timestamp) => {\n    const silenceMs = timestamp - lastSpeechTime;\n    if (silenceMs > SILENCE_GRACE_MS) {\n        smoothedVolume *= DECAY_FACTOR;\n    }\n\n    if (smoothedVolume < EXIT_THRESHOLD) {\n        smoothedVolume = 0;\n        if (_updateState) _updateState({ micBarStyles: null });\n        animationRAF = null;\n        return;\n    }\n\n    const normVolume = Math.min(1, smoothedVolume / VOLUME_CEIL);\n    if (_updateState) _updateState({ micBarStyles: getMicBarStyles(normVolume, timestamp) });\n\n    animationRAF = requestAnimationFrame(animationTick);\n};\n\nconst startAnimation = () => {\n    if (!animationRAF) animationRAF = requestAnimationFrame(animationTick);\n};\n\n\nexport const initVoiceWave = (updateState) => {\n    _updateState = updateState;\n};\n\n\nexport const processVolumeUpdate = (rawVolume) => {\n    if (rawVolume >= VOLUME_THRESHOLD) {\n        lastSpeechTime = performance.now();\n        const factor = rawVolume >= smoothedVolume ? SMOOTHING_RISE : SMOOTHING_DECAY;\n        smoothedVolume += factor * (rawVolume - smoothedVolume);\n        startAnimation();\n    }\n};\n\nexport const destroyVoiceWave = () => {\n    if (animationRAF) { cancelAnimationFrame(animationRAF); animationRAF = null; }\n    smoothedVolume = 0;\n    if (_updateState) _updateState({ micBarStyles: null });\n    _updateState = null;\n};","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n\tinitVoiceWave,\n\tprocessVolumeUpdate,\n\tdestroyVoiceWave\n} from \"./utils\";\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_CONNECTED]: ({ updateState }) => {\n\t\tinitVoiceWave(updateState);\n\t},\n\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ action }) => {\n\t\tif (action.payload.name === 'micVolume') {\n\t\t\tprocessVolumeUpdate(action.payload.value || 0);\n\t\t}\n\t},\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: () => {\n\t\tdestroyVoiceWave();\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from './ha-voice-wave.scss';\nimport { actionHandlers } from './actionHandlers';\nimport { IDLE_BAR_STYLE, VOICE_WAVE_CONFIG } from './utils';\n\nconst bars = Array.from({ length: VOICE_WAVE_CONFIG.POINTS }, (_, i) => i);\n\nconst view = ({ micBarStyles, properties }) => {\n    const { isPaused, isAiSpeaking, isVoiceActive } = properties;\n\n    const showCssWave = (isAiSpeaking || isVoiceActive) && !isPaused;\n    const showUserWave = !isPaused && !showCssWave && micBarStyles;\n\n    return (\n        <div className={`voice-wave ${showCssWave ? 'voice-wave--ai' : ''}`}>\n            {bars.map((i) => {\n                if (showCssWave) {\n                    return <div key={i} className={`voice-bar voice-bar--ai voice-bar--ai-${i}`} />;\n                }\n                if (showUserWave) {\n                    return <div key={i} className=\"voice-bar\" style={micBarStyles[i]} />;\n                }\n                return <div key={i} className=\"voice-bar\" style={IDLE_BAR_STYLE} />;\n            })}\n        <\/div>\n    );\n};\n\ncreateCustomElement('ha-voice-wave', {\n    renderer: { type: snabbdom },\n    initialState: {\n        micBarStyles: null\n    },\n    properties: {\n        isPaused: {\n            default: false,\n            required: false\n        },\n        isAiSpeaking: {\n            default: false,\n            required: false\n        },\n        isVoiceActive: {\n            default: false,\n            required: false\n        },\n        micVolume: {\n            default: 0,\n            required: false\n        }\n    },\n    view,\n    styles,\n    actionHandlers\n});","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment, createRef } from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from './ha-modeless-dialog.scss';\nimport '@servicenow/now-modeless-dialog';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport { MAX_HEIGHT, MAX_WIDTH, MIN_HEIGHT, AI_SPARKLE_ICON, PAUSE_ICON, PLAY_ICON, RECORD_ICON } from './constants';\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { actionHandlers } from './actionHandlers';\nimport \"../ha-voice-wave\";\n\nconst avatarUrl = ux_globals?.session?.output?.user?.avatar == null ? \"\" : window.location.origin + \"/\" + ux_globals.session.output.user.avatar;\nconst userName = ux_globals?.session?.output?.user?.displayName;\n\nconst view = ({ hasReceivedContent, lastUpdateType, properties, contentRef, containerRef }) => {\n    const { defaultPosition, enableTranscript, content, isPaused, isAiSpeaking, micVolume, isVoiceActive } = properties;\n    const shouldShowIcon = isPaused || !hasReceivedContent || (hasReceivedContent && content);\n\n    return (\n        <Fragment>\n            <div className=\"ha-modeless-dialog-overlay\">\n                <div className=\"ha-modeless-dialog-position-container\">\n                    <now-modeless-dialog enableDrag opened={true}\n                        height={enableTranscript ? MAX_HEIGHT : MIN_HEIGHT}\n                        headingIcon={{ icon: AI_SPARKLE_ICON, variant: \"secondary\" }} \n                        size=\"md\"\n                        headingLabel={t.modelessDialogHeading}\n                        auto-resizable-config={{\n                            enableAutoResizableHeight: true,\n                            autoResizableMinHeight: MIN_HEIGHT\n                        }}\n                        width={MAX_WIDTH}\n                        position={defaultPosition} enableFocus\n                    >\n                        <div className=\"ha-modeless-header\" slot=\"actions\">\n                            <p className=\"ha-status-text\">\n                                <now-icon className={`ha-status-icon ${!isPaused ? \"is-live\" : \"\"}`} icon={isPaused ? PAUSE_ICON : RECORD_ICON}/>{isPaused ? t.Paused : t.Live}<\/p>\n                        <\/div>\n                        <div slot=\"content\" className=\"ha-modeless-content-container\">\n                            {enableTranscript ? <div className=\"ha-modeless-content\">\n                                <div className=\"ha-modeless-content-desc\" id=\"ha-content-desc\" ref={containerRef}>\n                                    {shouldShowIcon ? (\n                                        <div className=\"ha-icon-container\">\n                                            {lastUpdateType === 'input' \n                                                ? <now-avatar size=\"sm\" imageSrc={avatarUrl} userName={userName} />\n                                                : <now-icon className=\"ha-desc-icon\" icon={AI_SPARKLE_ICON} size=\"lg\" />\n                                            }\n                                        <\/div>\n                                    ) : null}\n                                    <div className=\"ha-content-text\" id=\"ha-content-text\" ref={contentRef}>\n                                    <p>{isPaused ? t.assistantPausedText : (hasReceivedContent ? content : t.transcriptPlaceholderText)}<\/p>\n                                        \n                                    <\/div>\n                                <\/div>\n                            <\/div> : null}\n                            <div className='ha-footer-actions'>\n                                <now-button-stateful variant=\"tertiary\" size=\"sm\" icon={isPaused ? PLAY_ICON : PAUSE_ICON} append-to-payload={{ userAction: 'toggle_pause' }} />\n                                <now-button-stateful variant=\"tertiary\" size=\"sm\" icon=\"live-feed-outline\" configAria={{ 'aria-label': t.transcriptButtonLabel }} append-to-payload={{ userAction: 'toggle_transcript' }} selected={enableTranscript} tooltipContent={t.transcriptButtonLabel} highlighted />\n\n                                <ha-voice-wave isPaused={isPaused} isAiSpeaking={isAiSpeaking} micVolume={micVolume} isVoiceActive={isVoiceActive} />\n\n                                <now-button variant=\"tertiary\" size=\"sm\" label={t.endButtonLabel} configAria={{ 'aria-label': t.closeButtonAriaLabel }} />\n                            <\/div>\n                            <div className=\"ha-footer-text\">\n                                <span>{t.modelessDialogFooterText}<\/span>\n                            <\/div>\n                        <\/div>\n                    <\/now-modeless-dialog>\n                <\/div>\n            <\/div>\n        <\/Fragment>\n    );\n};\n\ncreateCustomElement('ha-modeless-dialog', {\n    renderer: { type: snabbdom },\n    initialState: {\n        sessionDuration: 0,\n        hasReceivedContent: false,\n        containerRef: createRef(),\n        contentRef: createRef(),\n        totalPausedTime: 0,\n        lastPauseTimestamp: null\n    },\n    properties: {\n        defaultPosition: {\n            default: 'bottom-right',\n            required: false\n        },\n        enableTranscript: {\n            default: true,\n            required: false\n        },\n        content: {\n            default: '',\n            required: false\n        },\n        isPaused: {\n            default: false,\n            required: false\n        },\n        isAiSpeaking: {\n            default: false,\n            required: false\n        },\n        micVolume: {\n            default: 0,\n            required: false\n        },\n        isVoiceActive: {\n            default: false,\n            required: false\n        }\n    },\n    view,\n    styles,\n    actionHandlers\n});\n","import { BASE_ACTION } from '../../constants';\n\n// Handles\nexport const HA_AUDIO_IO_INITIATE = `${BASE_ACTION}HA_AUDIO_IO_INITIATE`; // Initialize audio input/output\nexport const HA_AUDIO_IN_PLAY_STOP = `${BASE_ACTION}HA_AUDIO_IN_PLAY_STOP`; // Dispatch this event to stop playing audio\nexport const HA_AUDIO_IN_PLAY = `${BASE_ACTION}HA_AUDIO_IN_PLAY`; // Dispatch this event to play audio\nexport const HA_AUDIO_IO_STOP = `${BASE_ACTION}HA_AUDIO_IO_STOP`; // Stop audio input/output\nexport const HA_AUDIO_IO_PAUSE = `${BASE_ACTION}HA_AUDIO_IO_PAUSE`; // pause audio input\nexport const HA_AUDIO_IO_RESUME = `${BASE_ACTION}HA_AUDIO_IO_RESUME`; // Resume audio input\n\n// Dispatches\nexport const HA_AUDIO_OUT_SEND = `${BASE_ACTION}HA_AUDIO_OUT_SEND`; // The behavior will dispatch this event to send audio data to the client\n\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"EventEmitter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.__esModule\n\t\t\t\t\tif (cjsModule && 'EventEmitter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"].EventEmitter;\n\t\t\t\t\t} else if ('EventEmitter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.EventEmitter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"].EventEmitter;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst AudioRecordingWorkletFn = (bufferSize = 2048, targetSampleRate = 16000) => {\n    return `class AudioProcessingWorklet extends AudioWorkletProcessor {\n\n        // send and clear buffer every 2048 samples,\n        // which at 16khz is about 8 times a second\n      \tbuffer = new Int16Array(${bufferSize});\n\n      \t// current write index\n      \tbufferWriteIndex = 0;\n\n\t\t  constructor() {\n\t\t\tsuper();\n\t\t\tthis.sourceSampleRate = 48000;\n\t\t\tthis.downsampleRatio = Math.floor(this.sourceSampleRate / ${targetSampleRate});\n\t\t  }\n\n\t\t\t/**\n         * @param inputs Float32Array[][] [input#][channel#][sample#] so to access first inputs 1st channel inputs[0][0]\n         * @param outputs Float32Array[][]\n         */\n\t\t  process(inputs) {\n\t\t\tif (inputs[0].length) {\n\t\t\t  const channel0 = inputs[0][0];\n\t\t\t  this.processChunk(channel0);\n\t\t\t}\n\t\t\treturn true;\n\t\t  }\n\n\t\t  sendAndClearBuffer(){\n\t\t\tthis.port.postMessage({\n\t\t\t  event: \"chunk\",\n\t\t\t  data: {\n\t\t\t\tint16arrayBuffer: this.buffer.slice(0, this.bufferWriteIndex).buffer,\n\t\t\t  },\n\t\t\t});\n\t\t\tthis.bufferWriteIndex = 0;\n\t\t  }\n\n\t\t  processChunk(float32Array) {\n\t\t\tconst l = float32Array.length;\n\t\t\tfor (let i = 0; i < l; i += this.downsampleRatio) {\n\t\t\t  // convert float32 -1 to 1 to int16 -32768 to 32767\n\t\t\t  const int16Value = float32Array[i] * 32768;\n\t\t\t  this.buffer[this.bufferWriteIndex++] = int16Value;\n\n\t    \t\tif(this.bufferWriteIndex >= this.buffer.length) {\n\t    \t\t\tthis.sendAndClearBuffer();\n\t    \t\t}\n\t\t\t}\n\t\t}\n    }`;\n};\n\n\nexport default AudioRecordingWorkletFn;","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VolMeterWorketFn = () => {\n    return `class VolMeter extends AudioWorkletProcessor {\n            volume\n            updateIntervalInMS\n            nextUpdateFrame\n\n            constructor() {\n            super()\n            this.volume = 0\n            this.updateIntervalInMS = 25\n            this.nextUpdateFrame = this.updateIntervalInMS\n            this.port.onmessage = event => {\n                if (event.data.updateIntervalInMS) {\n                this.updateIntervalInMS = event.data.updateIntervalInMS\n                }\n            }\n            }\n\n            get intervalInFrames() {\n            return (this.updateIntervalInMS / 1000) * sampleRate\n            }\n\n            process(inputs) {\n            const input = inputs[0]\n\n            if (input.length > 0) {\n                const samples = input[0]\n                let sum = 0\n                let rms = 0\n\n                for (let i = 0; i < samples.length; ++i) {\n                sum += samples[i] * samples[i]\n                }\n\n                rms = Math.sqrt(sum / samples.length)\n                this.volume = Math.max(rms, this.volume * 0.7)\n\n                this.nextUpdateFrame -= samples.length\n                if (this.nextUpdateFrame < 0) {\n                this.nextUpdateFrame += this.intervalInFrames\n                this.port.postMessage({volume: this.volume})\n                }\n            }\n\n            return true\n            }\n        }`;\n};\n\nexport default VolMeterWorketFn;","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MIC_AUDIO_CONTEXT_ID } from \"../../constants\";\n\n/**\n * A registry to map attached worklets by their audio-context\n * any module using `audioContext.audioWorklet.addModule(` should register the worklet here\n */\n\nexport const registeredWorklets = new Map();\n\nexport const createWorkletFromSrc = (workletName, workletSrc) => {\n\tconst script = new Blob([\n\t\t`registerProcessor(\"${workletName}\", ${workletSrc})`\n\t], {\n\t\ttype: \"application/javascript\"\n\t});\n\n\treturn URL.createObjectURL(script);\n};\n\nexport const isWorkletRegistered = (workletName) => {\n\tif (!registeredWorklets.has(MIC_AUDIO_CONTEXT_ID)) {\n\t\treturn false;\n\t}\n\treturn registeredWorklets.get(MIC_AUDIO_CONTEXT_ID).has(workletName);\n};\n\nexport const markWorkletAsRegistered = (workletName) => {\n\tif (!registeredWorklets.has(MIC_AUDIO_CONTEXT_ID)) {\n\t\tregisteredWorklets.set(MIC_AUDIO_CONTEXT_ID, new Set());\n\t}\n\tregisteredWorklets.get(MIC_AUDIO_CONTEXT_ID).add(workletName);\n};\n","import EventEmitter from \"eventemitter3\";\nimport AudioRecordingWorkletFn from \"./worklets/audio-processing\";\nimport VolMeterWorkletFn from \"./worklets/vol-meter\";\nimport { createWorkletFromSrc, isWorkletRegistered, markWorkletAsRegistered } from \"./audioworklet-registry\";\nimport { audioContext, setTracksEnabled } from \"../utils\";\nimport { MIC_AUDIO_CONTEXT_ID } from \"../../constants\";\n\nfunction arrayBufferToBase64(buffer) {\n\tvar binary = \"\";\n\tvar bytes = new Uint8Array(buffer);\n\tvar len = bytes.byteLength;\n\tfor (var i = 0; i < len; i++) binary += String.fromCharCode(bytes[i]);\n\n\treturn window.btoa(binary);\n}\n\nexport class AudioRecorder extends EventEmitter {\n\tconstructor(sampleRate = 16000) {\n\t\tsuper();\n\t\tthis.sampleRate = sampleRate;\n\t\tthis.stream = undefined;\n\t\tthis.audioContext = undefined;\n\t\tthis.source = undefined;\n\t\tthis.recording = false;\n\t\tthis.recordingWorklet = undefined;\n\t\tthis.vuWorklet = undefined;\n\t\tthis.starting = null;\n\t\tthis.isPaused = false;\n\t}\n\t\n\tpause() {\n\t\tif(this.stream) {\n\t\t\tsetTracksEnabled(this.stream.getTracks(), false);\n\t\t\tthis.isPaused = true;\n\t\t}\n\t}\n\n\tresume() {\n\t\tif(this.stream) {\n\t\t\tsetTracksEnabled(this.stream.getTracks(), true);\n\t\t\tthis.isPaused = false;\n\t\t}\n\t}\n\n\t\n\tasync start() {\n\t\tif (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia)\n\t\t\tthrow new Error(\"Could not request user media\");\n\n\t\tthis.starting = new Promise(async (resolve, reject) => {\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({audio: true});\n\t\t\tthis.audioContext = await audioContext({id: MIC_AUDIO_CONTEXT_ID});\n\n\t\t\tthis.source = this.audioContext.createMediaStreamSource(this.stream);\n\n\t\t\tconst recordingWorkletName = \"audio-recorder-worklet\";\n\t\t\t// Register processors (recording, vumeter) only once per AudioContext\n\t\t\tif (!isWorkletRegistered(recordingWorkletName)) {\n\t\t\t\tconst recSrc = createWorkletFromSrc(recordingWorkletName, AudioRecordingWorkletFn());\n\t\t\t\tawait this.audioContext.audioWorklet.addModule(recSrc);\n\t\t\t\tmarkWorkletAsRegistered(recordingWorkletName);\n\t\t\t}\n\t\t\tthis.recordingWorklet = new AudioWorkletNode(this.audioContext, recordingWorkletName);\n\t\t\tthis.recordingWorklet.port.onmessage = async (ev) => {\n\t\t\t\tif(this.isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst arrayBuffer = ev.data.data.int16arrayBuffer;\n\t\t\t\tif (arrayBuffer) {\n\t\t\t\t\tconst arrayBufferString = arrayBufferToBase64(arrayBuffer);\n\t\t\t\t\tthis.emit(\"data\", arrayBufferString);\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.source.connect(this.recordingWorklet);\n\n\t\t\tconst vuWorkletName = \"vu-meter\";\n\t\t\tif (!isWorkletRegistered(vuWorkletName)) {\n\t\t\t\tconst vuSrc = createWorkletFromSrc(vuWorkletName, VolMeterWorkletFn());\n\t\t\t\tawait this.audioContext.audioWorklet.addModule(vuSrc);\n\t\t\t\tmarkWorkletAsRegistered(vuWorkletName);\n\t\t\t}\n\t\t\tthis.vuWorklet = new AudioWorkletNode(this.audioContext, vuWorkletName);\n\t\t\tthis.vuWorklet.port.onmessage = (ev) => {\n\t\t\t\tif(this.isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.emit(\"volume\", ev.data.volume);\n\t\t\t};\n\t\t\tthis.source.connect(this.vuWorklet);\n\n\t\t\tthis.recording = true;\n\t\t\tresolve();\n\t\t\tthis.starting = null;\n\t\t});\n\t}\n\n\tstop() {\n\t\tconst handleStop = () => {\n\t\t\tif (this.source) this.source.disconnect();\n\t\t\tif (this.stream) this.stream.getTracks().forEach((track) => track.stop());\n\n\t\t\tthis.stream = undefined;\n\t\t\tthis.recordingWorklet = undefined;\n\t\t\tthis.vuWorklet = undefined;\n\t\t};\n\t\tif (this.starting) {\n\t\t\tthis.starting.then(handleStop);\n\t\t\treturn;\n\t\t}\n\t\thandleStop();\n\t}\n}","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'eventemitter3';\nimport {\n\tcreateWorkletFromSrc,\n\tregisteredWorklets,\n} from \"./audioworklet-registry\";\nimport { HA_NETWORK_ERROR, MAX_DELAYED_BUFFER_COUNT, MAX_DELAYED_LATENCY_ALLOWED_IN_MS } from '../../constants';\n\nexport class AudioStreamer extends EventEmitter {\n\tconstructor(context) {\n\t\tsuper();\n\t\tthis.context = context;\n\t\tthis.audioQueue = [];\n\t\tthis.isPlaying = false;\n\t\tthis.sampleRate = 24000;\n\t\tthis.bufferSize = 24000;\n\t\tthis.processingBuffer = new Float32Array(0);\n\t\tthis.scheduledTime = 0;\n\t\tthis.gainNode = this.context.createGain();\n\t\tthis.source = this.context.createBufferSource();\n\t\tthis.gainNode.connect(this.context.destination);\n\t\tthis.isStreamComplete = false;\n\t\tthis.checkInterval = null;\n\t\tthis.initialBufferTime = 0.1;\n\t\tthis.endOfQueueAudioSource = null;\n\t\tthis.onComplete = () => {};\n\t\tthis.addPCM16 = this.addPCM16.bind(this);\n\t\tthis.glitchedBufferCount = 0;\n\t}\n\n\tasync addWorklet(workletName, workletSrc, handler) {\n\t\tlet workletsRecord = registeredWorklets.get(this.context);\n\t\tif (workletsRecord && workletsRecord[workletName]) {\n\t\t\tworkletsRecord[workletName].handlers.push(handler);\n\t\t\treturn Promise.resolve(this);\n\t\t}\n\n\t\tif (!workletsRecord) {\n\t\t\tregisteredWorklets.set(this.context, {});\n\t\t\tworkletsRecord = registeredWorklets.get(this.context);\n\t\t}\n\n\t\tworkletsRecord[workletName] = { handlers: [handler] };\n\n\t\tconst src = createWorkletFromSrc(workletName, workletSrc);\n\t\tawait this.context.audioWorklet.addModule(src);\n\t\tconst worklet = new AudioWorkletNode(this.context, workletName);\n\t\tworkletsRecord[workletName].node = worklet;\n\n\t\treturn this;\n\t}\n\n\taddPCM16(chunk) {\n\t\tconst float32Array = new Float32Array(chunk.length / 2);\n\t\tconst dataView = new DataView(chunk.buffer);\n\n\t\tfor (let i = 0; i < chunk.length / 2; i++) {\n\t\t\ttry {\n\t\t\t\tconst int16 = dataView.getInt16(i * 2, true);\n\t\t\t\tfloat32Array[i] = int16 / 32768;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t}\n\t\t}\n\n\t\tconst newBuffer = new Float32Array(\n\t\t\tthis.processingBuffer.length + float32Array.length\n\t\t);\n\t\tnewBuffer.set(this.processingBuffer);\n\t\tnewBuffer.set(float32Array, this.processingBuffer.length);\n\t\tthis.processingBuffer = newBuffer;\n\n\t\twhile (this.processingBuffer.length >= this.bufferSize) {\n\t\t\tconst buffer = this.processingBuffer.slice(0, this.bufferSize);\n\t\t\tthis.audioQueue.push(buffer);\n\t\t\tthis.processingBuffer = this.processingBuffer.slice(this.bufferSize);\n\t\t}\n\n\t\tif (!this.isPlaying) {\n\t\t\tthis.isPlaying = true;\n\t\t\tthis.scheduledTime = this.context.currentTime + this.initialBufferTime;\n\t\t\tthis.scheduleNextBuffer();\n\t\t}\n\t}\n\n\tcreateAudioBuffer(audioData) {\n\t\tconst audioBuffer = this.context.createBuffer(\n\t\t\t1,\n\t\t\taudioData.length,\n\t\t\tthis.sampleRate\n\t\t);\n\t\taudioBuffer.getChannelData(0).set(audioData);\n\t\treturn audioBuffer;\n\t}\n\n\tscheduleNextBuffer() {\n\t\tconst SCHEDULE_AHEAD_TIME = 0.2;\n\n\t\t// If network goes down to cause bufferDelays, turn off dynamic guidance.\n\t\tif (this.isPlaying) {\n\t\t\tconst latency = (this.scheduledTime - this.context.currentTime) * 1000;\n\t\t\t// More than 1000ms delay of 10 continuous buffers in a sliding window will trigger network error.\n\t\t\tif (latency < MAX_DELAYED_LATENCY_ALLOWED_IN_MS) {\n\t\t\t\tthis.glitchedBufferCount++;\n\t\t\t\tif (this.glitchedBufferCount >= MAX_DELAYED_BUFFER_COUNT) {\n\t\t\t\t\tthis.emit(HA_NETWORK_ERROR);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (this.glitchedBufferCount > 0) {\n\t\t\t\t// Recover when back to normal network.\n\t\t\t\tthis.glitchedBufferCount--;\n\t\t\t}\n\t\t}\n\n\t\twhile (\n\t\t\tthis.audioQueue.length > 0 &&\n\t\t\tthis.scheduledTime < this.context.currentTime + SCHEDULE_AHEAD_TIME\n\t\t) {\n\t\t\tconst audioData = this.audioQueue.shift();\n\t\t\tconst audioBuffer = this.createAudioBuffer(audioData);\n\t\t\tconst source = this.context.createBufferSource();\n\n\t\t\tif (this.audioQueue.length === 0) {\n\t\t\t\tif (this.endOfQueueAudioSource)\n\t\t\t\t\tthis.endOfQueueAudioSource.onended = null;\n\n\t\t\t\tthis.endOfQueueAudioSource = source;\n\t\t\t\tsource.onended = () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!this.audioQueue.length &&\n\t\t\t\t\t\tthis.endOfQueueAudioSource === source\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.endOfQueueAudioSource = null;\n\t\t\t\t\t\tthis.complete();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsource.buffer = audioBuffer;\n\t\t\tsource.connect(this.gainNode);\n\n\t\t\tconst worklets = registeredWorklets.get(this.context);\n\t\t\tif (worklets) {\n\t\t\t\tObject.values(worklets).forEach(({ node, handlers }) => {\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tsource.connect(node);\n\t\t\t\t\t\tnode.port.onmessage = (ev) => {\n\t\t\t\t\t\t\thandlers.forEach((handler) => handler.call(node.port, ev));\n\t\t\t\t\t\t};\n\t\t\t\t\t\tnode.connect(this.context.destination);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst startTime = Math.max(this.scheduledTime, this.context.currentTime);\n\t\t\tsource.start(startTime);\n\t\t\tthis.scheduledTime = startTime + audioBuffer.duration;\n\t\t}\n\n\t\tif (this.audioQueue.length === 0 && this.processingBuffer.length === 0) {\n\t\t\tif (this.isStreamComplete) {\n\t\t\t\tthis.isPlaying = false;\n\t\t\t\tif (this.checkInterval) {\n\t\t\t\t\tclearInterval(this.checkInterval);\n\t\t\t\t\tthis.checkInterval = null;\n\t\t\t\t}\n\t\t\t} else if (!this.checkInterval) {\n\t\t\t\tthis.checkInterval = setInterval(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.audioQueue.length > 0 ||\n\t\t\t\t\t\tthis.processingBuffer.length >= this.bufferSize\n\t\t\t\t\t)\n\t\t\t\t\t\tthis.scheduleNextBuffer();\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t} else\n\t\t\tsetTimeout(\n\t\t\t\t() => this.scheduleNextBuffer(),\n\t\t\t\tMath.max(0, (this.scheduledTime - this.context.currentTime) * 1000 - 50)\n\t\t\t);\n\t}\n\n\tstop() {\n\t\tthis.glitchedBufferCount = 0;\n\t\tthis.isPlaying = false;\n\t\tthis.isStreamComplete = true;\n\t\tthis.audioQueue = [];\n\t\tthis.processingBuffer = new Float32Array(0);\n\t\tthis.scheduledTime = this.context.currentTime;\n\n\t\tif (this.checkInterval) {\n\t\t\tclearInterval(this.checkInterval);\n\t\t\tthis.checkInterval = null;\n\t\t}\n\n\t\tthis.gainNode.gain.linearRampToValueAtTime(\n\t\t\t0,\n\t\t\tthis.context.currentTime + 0.1\n\t\t);\n\n\t\tsetTimeout(() => {\n\t\t\tthis.gainNode.disconnect();\n\t\t\tthis.gainNode = this.context.createGain();\n\t\t\tthis.gainNode.connect(this.context.destination);\n\t\t}, 200);\n\t}\n\n\tasync resume() {\n\t\tif (this.context.state === \"suspended\") await this.context.resume();\n\n\t\tthis.isStreamComplete = false;\n\t\tthis.scheduledTime = this.context.currentTime + this.initialBufferTime;\n\t\tthis.gainNode.gain.setValueAtTime(1, this.context.currentTime);\n\t}\n\n\tcomplete() {\n\t\tthis.isStreamComplete = true;\n\t\tif (this.processingBuffer.length > 0) {\n\t\t\tthis.audioQueue.push(this.processingBuffer);\n\t\t\tthis.processingBuffer = new Float32Array(0);\n\t\t\tif (this.isPlaying) this.scheduleNextBuffer();\n\t\t} else this.onComplete();\n\t}\n}\n\n// // Usage example:\n// const audioStreamer = new AudioStreamer();\n//\n// // In your streaming code:\n// function handleChunk(chunk: Uint8Array) {\n//   audioStreamer.handleChunk(chunk);\n// }\n//\n// // To start playing (call this in response to a user interaction)\n// await audioStreamer.resume();\n//\n// // To stop playing\n// // audioStreamer.stop();\n","import {\n\tHA_AUDIO_IO_INITIATE,\n\tHA_AUDIO_IN_PLAY,\n\tHA_AUDIO_IN_PLAY_STOP,\n\tHA_AUDIO_IO_STOP,\n\tHA_AUDIO_OUT_SEND, HA_AUDIO_IO_PAUSE, HA_AUDIO_IO_RESUME,\n} from \"./actionNames\";\nimport { AudioRecorder } from \"./audio-recorder\";\nimport { AudioStreamer } from \"./audio-streamer\";\nimport { audioContext } from \"../utils\";\nimport { HA_NETWORK_ERROR, HA_NETWORK_ERROR_OCCURRED } from \"../../constants\";\nimport { UPDATE_MICROPHONE_VOLUME, AI_SPEAKING_STARTED, AI_SPEAKING_STOPPED } from \"../../../components/presentational/ha-voice-wave/utils\";\n\nconst HA_AUDIO_IO_DESTROY = `HA_AUDIO_IO_DESTROY`;\n\nexport default {\n\tname: \"ASSISTANT_AUDIO_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[HA_AUDIO_IO_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioRecorder } = state;\n\n\t\t\t\taudioRecorder.pause();\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t}\n\t\t},\n\t\t[HA_AUDIO_IO_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state } = coeffects;\n\t\t\t\tconst { audioRecorder } = state;\n\n\t\t\t\taudioRecorder.resume();\n\t\t\t}\n\t\t},\n\t\t[HA_AUDIO_IO_INITIATE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, updateState } = coeffects;\n\n\t\t\t\t// Initialize audio settings\n\n\t\t\t\t// AudioRecorder - Responsible for capturing user audio\n\t\t\t\tconst audioRecorder = new AudioRecorder();\n\n\t\t\t\taudioRecorder.on(\"data\", (base64) => {\n\t\t\t\t\tdispatch(HA_AUDIO_OUT_SEND, base64);\n\t\t\t\t});\n\n\t\t\t\taudioRecorder.on(\"volume\", (volume) => {\n\t\t\t\t\tdispatch(UPDATE_MICROPHONE_VOLUME, { volume });\n\t\t\t\t});\n\n\t\t\t\taudioRecorder.start();\n\n\t\t\t\t// AudioStreamer - Responsible for playing the audio\n\t\t\t\tconst audioStreamerRef = { current: null };\n\t\t\t\taudioContext({ id: \"audio-out\" }).then((audioCtx) => {\n\t\t\t\t\tconst audioStreamer = new AudioStreamer(audioCtx);\n\t\t\t\t\taudioStreamer.on(HA_NETWORK_ERROR, () => dispatch(HA_NETWORK_ERROR_OCCURRED));\n\n\t\t\t\t\t// Fires when the audio queue drains naturally — AI finished speaking\n\t\t\t\t\taudioStreamer.onComplete = () => {\n\t\t\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t\t\t};\n\n\t\t\t\t\taudioStreamerRef.current = audioStreamer;\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\taudioRecorder,\n\t\t\t\t\taudioStreamerRef,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IN_PLAY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, state, dispatch } = coeffects;\n\t\t\t\tconst { audioStreamerRef } = state;\n\n\t\t\t\tconst wasPlaying = audioStreamerRef.current?.isPlaying;\n\t\t\t\tif (audioStreamerRef.current) {\n\t\t\t\t\taudioStreamerRef.current.addPCM16(new Uint8Array(action.payload));\n\t\t\t\t}\n\t\t\t\tif (!wasPlaying) {\n\t\t\t\t\tdispatch(AI_SPEAKING_STARTED);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IN_PLAY_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioStreamerRef } = state;\n\n\t\t\t\tif (audioStreamerRef?.current) {\n\t\t\t\t\taudioStreamerRef.current.stop();\n\t\t\t\t}\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IO_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioRecorder, audioStreamerRef } = state;\n\n\t\t\t\tif (audioRecorder) {\n\t\t\t\t\taudioRecorder.stop();\n\t\t\t\t}\n\n\t\t\t\tif (audioStreamerRef?.current) {\n\t\t\t\t\taudioStreamerRef.current.stop();\n\t\t\t\t}\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t\tdispatch(HA_AUDIO_IO_DESTROY);\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IO_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { updateState } = coeffects;\n\t\t\t\t// Clean up audio resources\n\t\t\t\tupdateState({\n\t\t\t\t\taudioRecorder: null,\n\t\t\t\t\taudioStreamerRef: null,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const prop = (a, prop) =>\n\ttypeof a === \"object\" && typeof a[prop] === \"object\";\n\nexport const isSetupMessage = (a) => prop(a, \"setup\");\n\nexport const isClientContentMessage = (a) => prop(a, \"clientContent\");\n\nexport const isRealtimeInputMessage = (a) => prop(a, \"realtimeInput\");\n\nexport const isToolResponseMessage = (a) => prop(a, \"toolResponse\");\n\nexport const isSetupCompleteMessage = (a) => prop(a, \"setupComplete\");\n\nexport const isServerContentMessage = (a) => prop(a, \"serverContent\");\n\nexport const isToolCallMessage = (a) => prop(a, \"toolCall\");\n\nexport const isToolCallCancellation = (a) =>\n\ttypeof a === \"object\" && Array.isArray(a.ids);\n\nexport const isToolCallCancellationMessage = (a) =>\n\tprop(a, \"toolCallCancellation\") &&\n\tisToolCallCancellation(a.toolCallCancellation);\n\nexport const isModelTurn = (a) => typeof a.modelTurn === \"object\";\n\nexport const isTurnComplete = (a) => typeof a.turnComplete === \"boolean\";\n\nexport const isInterrupted = (a) => a.interrupted;\n\nexport const hasOutputTranscription = a => typeof a.outputTranscription === 'object' && typeof a.outputTranscription.text === 'string';\n\nexport const hasInputTranscription = a => typeof a.inputTranscription === 'object' && typeof a.inputTranscription.text === 'string';\n\nexport const isSessionResumptionUpdateMessage = (a) => prop(a, \"sessionResumptionUpdate\") && typeof a.sessionResumptionUpdate === \"object\";\n\nexport function isLiveFunctionCall(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\ttypeof value.name === \"string\" &&\n\t\t// typeof value.id === \"string\" &&\n\t\ttypeof value.args === \"object\" &&\n\t\tvalue.args !== null\n\t);\n}\n\nexport const isGoAway = (a) => prop(a, \"goAway\");\n\nexport function isToolCall(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\tprop(value, \"toolCall\") &&\n\t\tArray.isArray(value.toolCall.functionCalls) &&\n\t\tvalue.toolCall.functionCalls.every((call) => isLiveFunctionCall(call))\n\t);\n}\n\nexport function isLiveFunctionResponse(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn typeof value.response === \"object\" && typeof value.id === \"string\";\n}\n\nexport function isToolResponse(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\tArray.isArray(value.functionResponses) &&\n\t\tvalue.functionResponses.every((resp) => isLiveFunctionResponse(resp))\n\t);\n}\n\nexport function isKeepAliveMsg(message) {\n\treturn message?.clientContent?.turns?.[0]?.parts?.[0]?.text === \"\" && \n\t       message?.clientContent?.turnComplete === false;\n}\n","export const GRANT_TYPE = 'grant_type';\nexport const CODE = 'code';\nexport const CLIENT_ID = 'client_id';\nexport const REDIRECT_URI = 'redirect_uri';\nexport const CODE_VERIFIER = 'code_verifier';\nexport const ISS_INSTANCE_URL  = \"iss_instance_url\";\nexport const GRANT_TYPE_AUTH_CODE = 'authorization_code';\n\nconst DG_PREFIX = \"DYNAMIC_GUIDANCE_\"\nconst PKCE_VERIFIER_KEY = `${DG_PREFIX}PKCE_CODE_VERIFIER`;\nconst PKCE_STATE_KEY = `${DG_PREFIX}PKCE_STATE`;\n\nexport const OAUTH_ACCESS_TOKEN_KEY = `${DG_PREFIX}_ACCESS_TOKEN`;\nexport const PKCE_CODE_CHALLENGE_METHOD = 'S256';\nexport const OAUTH_AUTH_URI = `/oauth_auth.do`;\n\nexport const APP_CLIENT_ID = '1316dcd44b7a43c2b6c73e5c98b43d45';\nexport const APP_REDIRECT_URI = '/api/sn_help_assistant/dynamic_guidance/oauth/authorize';\n\nconst generateRandomString = (length) => {\n\tconst charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n\tconst randomValues = new Uint8Array(length);\n\twindow.crypto.getRandomValues(randomValues);\n\treturn Array.from(randomValues).map(v => charset[v % charset.length]).join('');\n};\n\nconst base64UrlEncode = (arrayBuffer) => {\n\tconst bytes = new Uint8Array(arrayBuffer);\n\tlet binary = '';\n\tbytes.forEach(b => binary += String.fromCharCode(b));\n\treturn btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n};\n\nasync function pkceChallengeFromVerifier(verifier) {\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(verifier);\n\tconst digest = await window.crypto.subtle.digest('SHA-256', data);\n\treturn base64UrlEncode(digest);\n};\n\nexport async function fetchPKCEConfig() {\n\tlet state = sessionStorage.getItem(PKCE_STATE_KEY);\n\tlet codeVerifier = sessionStorage.getItem(PKCE_VERIFIER_KEY);\n\n\tif (state && codeVerifier) {\n\t\treturn {\n\t\t\tstate,\n\t\t\tcodeVerifier,\n\t\t\tcodeChallenge: await pkceChallengeFromVerifier(codeVerifier)\n\t\t};\n\t}\n\n\tstate = (window.crypto.randomUUID && window.crypto.randomUUID()) || generateRandomString(32);\n\tcodeVerifier = generateRandomString(64);\n\n\tconst codeChallenge = await pkceChallengeFromVerifier(codeVerifier);\n\n\tsessionStorage.setItem(PKCE_STATE_KEY, state);\n\tsessionStorage.setItem(PKCE_VERIFIER_KEY, codeVerifier);\n\treturn { state, codeChallenge, codeVerifier };\n}\n\nexport function storeAccessToken(accessToken) {\n\tlocalStorage.setItem(OAUTH_ACCESS_TOKEN_KEY, accessToken);\n\n\tsessionStorage.removeItem(PKCE_VERIFIER_KEY);\n\tsessionStorage.removeItem(PKCE_STATE_KEY);\n}\n\nexport function getAccessToken() {\n\treturn localStorage.getItem(OAUTH_ACCESS_TOKEN_KEY);\n}\n\nexport function removeAccessToken() {\n\tlocalStorage.removeItem(OAUTH_ACCESS_TOKEN_KEY);\n}\n","import { isKeepAliveMsg, isSetupMessage } from \"./google-gemini/gemini-multimodal-live-types\";\nimport {addCookie, removeCookie} from \"../utils\";\nimport {getAccessToken, removeAccessToken} from \"../../../commons/auth\";\nimport {dataHandlerURLs} from \"../../constants\";\n\nconst AUTH_COOKIE_NAME = 'auth_key';\n\nexport default class SocketManager {\n\tconstructor() {\n\t\tthis.ws = null;\n\t\tthis.url = null;\n\t\tthis.isPaused = false;\n\t}\n\tsetConnectionURL(url) {\n\t\tthis.url = url;\n\t}\n\tsetupAuthCookie() {\n\t\taddCookie(AUTH_COOKIE_NAME, getAccessToken(), {\n\t\t\tpath: dataHandlerURLs.WEB_SOCKET_ENDPOINT,\n\t\t\tmaxAge: 1800,\n\t\t\tsecure: true,\n\t\t\tsameSite: 'Strict'\n\t\t});\n\t}\n\tcleanupAuthToken() {\n\t\tremoveCookie(AUTH_COOKIE_NAME, {\n\t\t\tpath: dataHandlerURLs.WEB_SOCKET_ENDPOINT\n\t\t});\n\t}\n\tconnect(\n\t\tonOpen = () => {},\n\t\tonClose = () => {},\n\t\tonMessage = () => {},\n\t\tonError = () => {}\n\t) {\n\t\tconst self = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!this.url)\n\t\t\t\tthrow new Error(\"WebSocket URL is not set\");\n\n\t\t\tconst onOpenWrapper = (event) => {\n\t\t\t\ttry {\n\t\t\t\t\tself.cleanupAuthToken();\n\t\t\t\t\tonOpen(event);\n\t\t\t\t\tresolve(true);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tself.disconnect();\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst onErrorWrapper = (event) => {\n\t\t\t\ttry {\n\t\t\t\t\tself.cleanupAuthToken();\n\t\t\t\t\tonError(event);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tself.disconnect();\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tself.setupAuthCookie();\n\t\t\t\tconst ws = new WebSocket(this.url);\n\t\t\t\tws.addEventListener(\"message\", onMessage);\n\t\t\t\tws.addEventListener(\"open\", onOpenWrapper);\n\t\t\t\tws.addEventListener(\"close\", onClose);\n\t\t\t\tws.addEventListener(\"error\", onErrorWrapper);\n\t\t\t\tthis.ws = ws;\n\t\t\t} catch (e) {\n\t\t\t\tthis.ws = null;\n\t\t\t\tconsole.error(e);\n\t\t\t\treject(e.message);\n\t\t\t}\n\t\t});\n\t}\n\tdisconnect(ws) {\n\t\tif ((!ws || this.ws === ws) && this.ws) {\n\t\t\t// Close current socket if still open\n\t\t\ttry {\n\t\t\t\tthis.ws.close();\n\t\t\t} catch (e) {}\n\t\t\tthis.ws = null;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsendMessage(message) {\n\t\tif (!this.ws || (this.isPaused && !isKeepAliveMsg(message) && !isSetupMessage(message))) return;\n\t\tthis.ws.send(JSON.stringify(message));\n\t}\n\n\tpause() {\n\t\tthis.isPaused = true;\n\t}\n\tresume() {\n\t\tthis.isPaused = false;\n\t}\n\n\tlog(provider, event, message) {}\n}\n","import { BASE_ACTION } from \"../../constants\";\n\nexport const HA_CLIENT_AUDIO_RESPONSE = `${BASE_ACTION}HA_CLIENT_AUDIO_RESPONSE`; // Dispatched by the provider to send audio response to the client\nexport const HA_CLIENT_INTERRUPTED = `${BASE_ACTION}HA_CLIENT_INTERRUPTED`; // Dispatched by the provider when the client is interrupted\nexport const HA_LIVE_CLIENT_ERROR = `${BASE_ACTION}HA_LIVE_CLIENT_ERROR`; // Dispatched by the provider to indicate an error with the provider\n\nexport const HA_LIVE_CLIENT_AUTHENTICATE_SUCCESS = `${BASE_ACTION}HA_LIVE_CLIENT_AUTHENTICATE_SUCCESS`; // Dispatched by sn-help-assistant to indicate successful authentication of the live client\n\nexport const HA_LIVE_CLIENT_WEBSOCKET_CLOSED = `${BASE_ACTION}HA_LIVE_CLIENT_WEBSOCKET_CLOSED`;\n\nexport const HA_SESSION_LIMIT_REACHED = `${BASE_ACTION}HA_SESSION_LIMIT_REACHED`;","import SocketManager from \"../socket-manager\";\nimport {\n\tsupportedProviders,\n\tmediaTypes,\n\tGREETINGS,\n\tLANGUAGE_PROMPT,\n\tERRORS,\n\tLOG_PREFIX,\n\tcreateFreshGeminiConfig,\n\tTOOL_NAMES\n} from \"../constants\";\nimport { blobToJSON, base64ToArrayBuffer } from \"../../utils\";\nimport { getPersonalizedGreeting } from \"../../../commons/utils\";\nimport {\n\tisInterrupted,\n\tisModelTurn,\n\tisServerContentMessage,\n\tisSetupCompleteMessage,\n\tisTurnComplete,\n\thasOutputTranscription,\n\thasInputTranscription,\n\tisGoAway,\n\tisSessionResumptionUpdateMessage,\n\tisToolCall,\n} from \"./gemini-multimodal-live-types\";\nimport {\n\tHA_CLIENT_AUDIO_RESPONSE,\n\tHA_CLIENT_INTERRUPTED,\n\tHA_LIVE_CLIENT_ERROR,\n\tHA_SESSION_LIMIT_REACHED,\n} from \"../actionNames\";\nimport {\n\tTELEMETRY_ERROR_PAYLOAD,\n\tliveTranscriptionActions,\n\tdataHandlerActions\n} from \"../../../constants\";\nimport { removeAccessToken, getAccessToken } from \"../../../../commons/auth\";\n\n\nexport class GeminiMultimodalLiveClient extends SocketManager {\n\tconstructor(dispatch) {\n\t\tsuper();\n\t\tthis.dispatch = dispatch;\n\t\tthis.config = createFreshGeminiConfig();\n\t\tthis.name = supportedProviders.google.GEMINI_FLASH.name;\n\t\tthis.isReconnecting = false;\n\t\tthis.hasReconnected = false;\n\t\tthis.inputTranscriptions = [];\n\t\tthis.outputTranscriptions = [];\n\t\tthis.activeWsId = 0;\n\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\tthis._oldWs = null;\n\t\tthis.isFirstTime = false;\n\t\tthis.isSetupComplete = false;\n\t\tthis.sessionResumptionHandle = \"\";\n\t\tthis.websocketURL = \"\";\n\t\tthis.keepAliveInterval = null;\n\t\tthis.traceId = \"\";\n\t\tthis.reconnectCount = 0;\n\t}\n\n\t_updateSessionResumptionHandle(newHandle) {\n\t\tif (!newHandle || typeof newHandle !== \"string\") return;\n\t\tthis.sessionResumptionHandle = newHandle;\n\t}\n\n\t_isStaleSocket(wsId) {\n\t\treturn wsId !== null && wsId !== this.activeWsId;\n\t}\n\n\tsetAuth(auth) {\n\t\tconst { websocketURL, conversationIdNAP } = auth;\n\n\t\tif (!websocketURL)\n\t\t\tthrow new Error(\"Invalid auth object provided\");\n\n\t\tthis.websocketURL = websocketURL;\n\n\t\t// Reuse traceId on reconnect so telemetry stays correlated across the full session\n\t\tthis.traceId = this.traceId || crypto.randomUUID();\n\n\t\tlet params = new URLSearchParams({\n\t\t\ttrace_id: this.traceId,\n\t\t\tinstance_name: window.location.host.replace(/\\.(service-now|servicenowlab)\\.com$/, ''),\n\t\t\tsession_handle: this.sessionResumptionHandle,\n\t\t\tconversation_id: conversationIdNAP || \"\",\n\t\t\tsolution_capability: 'dynamic_guidance_v1'\n\t\t});\n\n\t\tthis.setConnectionURL(websocketURL + \"?\" + params.toString());\n\t}\n\n\tgetTraceId() {\n\t\treturn this.traceId;\n\t}\n\n\tsetIsFirstTime(isFirstTime) {\n\t\tthis.isFirstTime = isFirstTime || false;\n\t}\n\n\tgetConfig() {\n\t\treturn this.config;\n\t}\n\n\tlog(type, message) {\n\t\tsuper.log(this.name, type, message);\n\t}\n\n\t_getIdleMessage() {\n\t\treturn {\n\t\t\tclientContent: {\n\t\t\t\tturns: [{ role: \"user\", parts: [{ text: \"\" }] }],\n\t\t\t\tturnComplete: false\n\t\t\t}\n\t\t};\n\t}\n\n\tpause() {\n\t\tif (this.isPaused) return;\n\t\tthis.sendText([{ text: \"The conversation is now paused.\" }], false);\n\t\tsuper.pause();\n\t\tthis.dispatch(HA_CLIENT_INTERRUPTED);\n\n\t\t// Keep-alive: Send ping every 50 seconds to prevent 60s timeout\n\t\tthis.keepAliveInterval = setInterval(() => {\n\t\t\tif (this.isPaused && this.ws && this.ws.readyState === WebSocket.OPEN) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.sendMessage(this._getIdleMessage());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tclearInterval(this.keepAliveInterval);\n\t\t\t\t\tthis.keepAliveInterval = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}, 50000); // Ping every 50 seconds (just under 60s timeout)\n\t}\n\n\tresume() {\n\t\tif (!this.isPaused) return;\n\t\tthis._clearKeepAliveInterval();\n\t\tsuper.resume();\n\t\tthis.sendText([{ text: \"The conversation has resumed.\" }], false);\n\t}\n\n\treconnect() {\n\t\tconst self = this;\n\t\tself.isReconnecting = true;\n\t\tself._oldWs = this.ws;\n\t\tself.setAuth({\n\t\t\twebsocketURL: this.websocketURL,\n\t\t});\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.connect()\n\t\t\t\t.then(() => {\n\t\t\t\t\tself.isReconnecting = false;\n\t\t\t\t\tself.hasReconnected = true;\n\t\t\t\t\tresolve(true);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tself.isReconnecting = false;\n\t\t\t\t\tself._oldWs = null;\n\t\t\t\t\treject(e);\n\t\t\t\t});\n\t\t});\n\t}\n\tconnect() {\n\t\tconst self = this;\n\n\t\t// Assign unique ID to this WebSocket\n\t\tconst wsId = ++this.activeWsId;\n\t\tconst onError = (ev) => {\n\t\t\tconst message = `Could not connect to \"${this.url}\"`;\n\t\t\tself.log(`server.${ev.type}`, message);\n\t\t\tself.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\tprovider: self.name,\n\t\t\t\ttype: TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR,\n\t\t\t});\n\t\t\tthrow new Error(message);\n\t\t};\n\t\tconst onClose = (ev) => {\n\t\t\t// Ignore close events from stale sockets\n\t\t\tif (self.activeWsId !== wsId) {\n\t\t\t\tthis.log(\n\t\t\t\t\t`server.${ev.type}`,\n\t\t\t\t\t`stale socket closed - ignored (wsId: ${wsId})`\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tself.disconnect(this.ws);\n\t\t\tlet reason = ev.reason || \"\";\n\t\t\tif (reason.toLowerCase().includes(\"error\")) {\n\t\t\t\tconst prelude = \"ERROR]\";\n\t\t\t\tconst preludeIndex = reason.indexOf(prelude);\n\t\t\t\tif (preludeIndex > 0)\n\t\t\t\t\treason = reason.slice(preludeIndex + prelude.length + 1);\n\t\t\t}\n\t\t\tself.log(\n\t\t\t\t`server.${ev.type}`,\n\t\t\t\t`disconnected ${reason ? `with reason: ${reason}` : \"\"}`\n\t\t\t);\n\n\t\t\tif (!self.isReconnecting && ev.code === 1011) {\n\t\t\t\tself.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\t\tprovider: self.name,\n\t\t\t\t\ttype: ERRORS.SERVER_INTERNAL_ERROR\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tconst onOpen = (ev) => {\n\t\t\tthis.log(`client.${ev.type}`, \"connected to socket (wsId: \" + wsId + \")\");\n\n\t\t\tif(process.env.NODE_ENV === 'development' ) {\n\t\t\t\tconst setupMessage = {\n\t\t\t\t\tsetup: self.getConfig(),\n\t\t\t\t};\n\t\t\t\tthis.sendMessage(setupMessage);\n\t\t\t}\n\t\t\tthis.log(\"client.send\", \"setup\");\n\t\t};\n\t\tconst onMessage = async (event) => {\n\t\t\tawait this.receive(event.data, wsId);\n\t\t};\n\n\t\treturn super.connect(onOpen, onClose, onMessage, onError);\n\t}\n\n\tdisconnect(ws) {\n\t\tthis.clearAll();\n\t\tsuper.disconnect(ws);\n\t}\n\n\tclearAll() {\n\t\tthis._clearKeepAliveInterval();\n\t\tthis._resetTranscriptions();\n\t\tthis.isReconnecting = false;\n\t\tthis.hasReconnected = false;\n\t\tthis.activeWsId = 0;\n\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\tthis.isSetupComplete = false;\n\t\tif (this._oldWs) {\n\t\t\ttry {\n\t\t\t\tthis._oldWs.close();\n\t\t\t} catch (e) {}\n\t\t}\n\t\tthis._oldWs = null;\n\t\tthis.sessionResumptionHandle = \"\";\n\t}\n\tasync receive(blob, wsId = null) {\n\t\tconst response = await blobToJSON(blob);\n\n\t\tif (isSessionResumptionUpdateMessage(response)) {\n\t\t\tconst { sessionResumptionUpdate } = response;\n\t\t\tconst { resumable, newHandle } = sessionResumptionUpdate || {};\n\t\t\tif (resumable && newHandle && typeof newHandle === \"string\") {\n\t\t\t\tthis._updateSessionResumptionHandle(newHandle);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSetupCompleteMessage(response)) {\n\t\t\tthis.log(\"server.send\", \"setupComplete\");\n\t\t\t// If this is a reconnection, mark to clear transcriptions before next transcription\n\t\t\tif (this.hasReconnected) this.shouldClearTranscriptionsOnNext = true;\n\n\t\t\t// Only greet on a fresh session, not on a resumed one\n\t\t\tif (!this.hasReconnected) {\n\t\t\t\tconst languageCode = this.config.generationConfig.speechConfig.languageCode;\n\t\t\t\tconst personalizedGreeting = getPersonalizedGreeting(this.isFirstTime);\n\t\t\t\tconst greeting = `${GREETINGS} ${LANGUAGE_PROMPT} ${languageCode}. Translate and say this greeting to the user in ${languageCode} language: \"${personalizedGreeting}\". Keep the exact same meaning and tone. Include all parts of the message including any names mentioned.`;\n\t\t\t\tthis.sendText([{ text: greeting }]);\n\t\t\t}\n\t\t\tthis.isSetupComplete = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isGoAway(response)) {\n\t\t\tthis.log(\"server.send\", \"goAway\");\n\t\t\tthis.reconnectCount++;\n\n\t\t\tif (this.reconnectCount > 2) {\n\t\t\t\tthis.dispatch(HA_SESSION_LIMIT_REACHED);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\tthis.reconnect()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.log(\"reconnect\", \"Reconnection successful\");\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tthis.log(\"reconnect\", \"Reconnection failed\");\n\t\t\t\t\tthis.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\t\t\tprovider: this.name,\n\t\t\t\t\t\ttype: ERRORS.CLIENT_RECONNECTION_FAILED,\n\t\t\t\t\t\tmessage: e.message,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isPaused) return;\n\n\t\tif (isServerContentMessage(response)) {\n\t\t\tconst { serverContent } = response;\n\t\t\tif (isInterrupted(serverContent)) {\n\t\t\t\tthis.log(\"receive.serverContent\", \"interrupted\");\n\t\t\t\tif (this._isStaleSocket(wsId)) {\n\t\t\t\t\tthis.log(\"receive.serverContent\", \"interrupted ignored (old socket)\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Always handle interruption from current socket\n\t\t\t\tthis.dispatch(HA_CLIENT_INTERRUPTED);\n\t\t\t\tthis._resetTranscriptions();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (isTurnComplete(serverContent)) {\n\t\t\t\tthis.log(\"server.send\", \"turnComplete\");\n\t\t\t\t// Close old socket when it sends turnComplete\n\t\t\t\tif (this._isStaleSocket(wsId) && this._oldWs) {\n\t\t\t\t\tthis.log(\n\t\t\t\t\t\t\"server.send\",\n\t\t\t\t\t\t\"turnComplete from old socket - closing old socket\"\n\t\t\t\t\t);\n\t\t\t\t\tthis._closeOldSocket();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._resetTranscriptions();\n\t\t\t}\n\n\t\t\tif (hasOutputTranscription(serverContent)) {\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext &&\n\t\t\t\t\t!this._isStaleSocket(wsId)\n\t\t\t\t) {\n\t\t\t\t\tthis._resetTranscriptions();\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\t\t}\n\t\t\t\tconst transcriptionText = serverContent.outputTranscription.text;\n\t\t\t\tthis.log(\n\t\t\t\t\t\"server.output_transcription\",\n\t\t\t\t\ttranscriptionText + (this._isStaleSocket(wsId) ? \" (old socket)\" : \"\")\n\t\t\t\t);\n\t\t\t\tthis.outputTranscriptions.push(transcriptionText);\n\n\t\t\t\t// Dispatch combined o/p transctiption\n\t\t\t\tthis.dispatch(\n\t\t\t\t\tliveTranscriptionActions.OUTPUT_TRANSCRIPTION,\n\t\t\t\t\tthis.outputTranscriptions.join(\"\")\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (hasInputTranscription(serverContent)) {\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext &&\n\t\t\t\t\t!this._isStaleSocket(wsId)\n\t\t\t\t) {\n\t\t\t\t\tthis._resetTranscriptions();\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\t\t}\n\t\t\t\tconst transcriptionText = serverContent.inputTranscription.text;\n\t\t\t\tthis.log(\"server.input_transcription\", transcriptionText);\n\t\t\t\tthis.inputTranscriptions.push(transcriptionText);\n\n\t\t\t\t// Dispatch combined o/p transctiption\n\t\t\t\tthis.dispatch(\n\t\t\t\t\tliveTranscriptionActions.INPUT_TRANSCRIPTION,\n\t\t\t\t\tthis.inputTranscriptions.join(\"\")\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isModelTurn(serverContent)) {\n\t\t\t\tlet { parts } = serverContent.modelTurn;\n\t\t\t\tconst audioParts = parts.filter(\n\t\t\t\t\t(p) => p.inlineData && p.inlineData.mimeType.startsWith(\"audio/pcm\")\n\t\t\t\t);\n\t\t\t\tconst base64s = audioParts.map((p) => p.inlineData?.data);\n\n\t\t\t\tconst otherParts = parts.filter((p) => !audioParts.includes(p));\n\n\t\t\t\tbase64s.forEach((b64) => {\n\t\t\t\t\tif (b64) {\n\t\t\t\t\t\tconst data = base64ToArrayBuffer(b64);\n\t\t\t\t\t\tthis.dispatch(HA_CLIENT_AUDIO_RESPONSE, data);\n\t\t\t\t\t\tthis.log(\n\t\t\t\t\t\t\t\"server.audio\",\n\t\t\t\t\t\t\t`buffer (${data.byteLength})` +\n\t\t\t\t\t\t\t(this._isStaleSocket(wsId) ? \" (old socket)\" : \"\")\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (!otherParts.length) return;\n\n\t\t\t\tparts = otherParts;\n\t\t\t\tthis.log(\"server.content\", response);\n\t\t\t}\n\t\t} else if (isToolCall(response)) {\n\t\t\t// Handle tool calls from Gemini\n\t\t\tconst toolCall = response.toolCall;\n\t\t\t// Log the tool call\n\t\t\tthis.log(\"server.toolCall\", toolCall);\n\n\t\t\t// Check if it's a search_knowledge_base call\n\t\t\tif ((toolCall.functionCalls && toolCall.functionCalls.length > 0)) {\n\t\t\t\t// Extract function call based on format\n\t\t\t\tlet functionCall = null;\n\t\t\t\tlet functionName = null;\n\t\t\t\tlet args = null;\n\t\t\t\tlet functionId = null;\n\n\t\t\t\tfunctionCall = toolCall.functionCalls[0];\n\t\t\t\tfunctionName = functionCall.name;\n\t\t\t\targs = functionCall.args;\n\t\t\t\tfunctionId = functionCall.id;\n\n\t\t\t\t// Handle the search_knowledge_base function\n\t\t\t\tif (functionName === TOOL_NAMES.SEARCH_KNOWLEDGE_BASE) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Extract the query from the function call\n\t\t\t\t\t\tconst query = args?.query || \"\";\n\n\t\t\t\t\t\t// Automatically trigger the RAG API search with the extracted query\n\t\t\t\t\t\tif (query && query.trim()) {\n\n\t\t\t\t\t\t\tthis.dispatch(dataHandlerActions.HA_UPDATE_TOOL_CALL_ID, {\n\t\t\t\t\t\t\t\ttoolCallId: functionId\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.dispatch(dataHandlerActions.HA_FETCH_RAG_API, {\n\t\t\t\t\t\t\t\tpayload: { query }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(LOG_PREFIX, \"Error handling tool call:\", error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else console.log(LOG_PREFIX, \"received unmatched message\", response);\n\t}\n\n\tsendToolResponse(response) {\n\t\tlet message = { toolResponse: response };\n\n\t\tif (response && response.result) {\n\t\t\t// Extract the data\n\t\t\tconst { toolCallId, result } = response;\n\n\t\t\t// Extract only the text from each result\n\t\t\tlet extractedContent = \"\";\n\t\t\tif (result && result.results && Array.isArray(result.results)) {\n\t\t\t\t// Loop through each result and extract only the text content\n\t\t\t\textractedContent = result.results.map(item => item.text || \"\").join(\"\\n\\n\");\n\t\t\t}\n\n\t\t\t// Format the tool response for Gemini\n\t\t\tconst toolResponse = {\n\t\t\t\tfunctionResponses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tcontent: extractedContent\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\n\t\t\tmessage = { toolResponse };\n\t\t}\n\t\tthis.sendMessage(message);\n\t\tthis.log(\"client.toolResponse\", message);\n\t}\n\n\tsend(type, data) {\n\t\t// Block audio input until setup is complete\n\t\tif (type === mediaTypes.AUDIO && !this.isSetupComplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (type) {\n\t\t\tcase mediaTypes.AUDIO:\n\t\t\t\tthis.sendMessage({\n\t\t\t\t\trealtimeInput: {\n\t\t\t\t\t\tmediaChunks: [{ mimeType: \"audio/pcm;rate=16000\", data }],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase mediaTypes.SCREEN:\n\t\t\t\tthis.sendMessage({\n\t\t\t\t\trealtimeInput: {\n\t\t\t\t\t\tmediaChunks: [{ mimeType: \"image/jpeg\", data }],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported media type: ${type}`);\n\t\t}\n\t}\n\n\tsendText(parts, turnComplete = true) {\n\t\tparts = Array.isArray(parts) ? parts : [parts];\n\t\tconst content = {\n\t\t\trole: \"user\",\n\t\t\tparts,\n\t\t};\n\n\t\tconst clientContentRequest = {\n\t\t\tclientContent: {\n\t\t\t\tturns: [content],\n\t\t\t\tturnComplete,\n\t\t\t},\n\t\t};\n\n\t\tthis.sendMessage(clientContentRequest);\n\t\tthis.log(\"client.send\", clientContentRequest);\n\t}\n\n\t_resetTranscriptions() {\n\t\tthis.inputTranscriptions = [];\n\t\tthis.outputTranscriptions = [];\n\t}\n\n\t_clearKeepAliveInterval() {\n\t\tif (this.keepAliveInterval) {\n\t\t\tclearInterval(this.keepAliveInterval);\n\t\t\tthis.keepAliveInterval = null;\n\t\t}\n\t}\n\n\t_closeOldSocket() {\n\t\tif (!this._oldWs) return;\n\t\tif (this._oldWs.readyState === WebSocket.OPEN) {\n\t\t\ttry {\n\t\t\t\tthis._oldWs.close(1000, \"turnComplete\");\n\t\t\t\tthis.log(\"client.close\", \"Old socket closed after turnComplete\");\n\t\t\t} catch (e) {\n\t\t\t\tthis.log(\"client.error\", \"Error closing old socket: \" + e.message);\n\t\t\t}\n\t\t\tthis._oldWs = null;\n\t\t}\n\t}\n}\n","import { supportedProviders } from \"./constants\";\nimport { GeminiMultimodalLiveClient } from \"./google-gemini/gemini-multimodal-live-client\";\n\nconst clientInterfaceMethods = ['setAuth','connect', 'disconnect', 'send', 'receive'];\n\n\nexport class MultimodalLiveClientFactory {\n  static instances = {};\n\n  static create(providerName, dispatch) {\n    if (MultimodalLiveClientFactory.instances[providerName]) {\n      return MultimodalLiveClientFactory.instances[providerName];\n    }\n\n    let instance;\n    switch (providerName) {\n      case supportedProviders.google.GEMINI_FLASH.name:\n        instance = new GeminiMultimodalLiveClient(dispatch);\n        break;\n      default:\n        throw new Error('Unsupported provider: ' + providerName);\n    }\n\n    // Interface enforcement so every client implements the required methods\n    for (let method of clientInterfaceMethods) {\n      if (typeof instance[method] !== 'function') {\n        throw new Error(`${providerName} does not implement method: ${method}`);\n      }\n    }\n\n    MultimodalLiveClientFactory.instances[providerName] = instance;\n    return instance;\n  }\n}","import { assistantServiceActions, TELEMETRY_ERROR_PAYLOAD, alertActions, STOP_LIVE_CLIENT, liveTranscriptionActions, HA_ACTIONS } from \"../../constants\";\nimport { UPDATE_MICROPHONE_VOLUME, AI_SPEAKING_STARTED, AI_SPEAKING_STOPPED, VOICE_WAVE_CONFIG } from \"../../../components/presentational/ha-voice-wave/utils\";\nimport { handleOutputTranscription, handleInputTranscription, stopTranscriptReveal } from '../live-client/google-gemini/transcript/transcriptController';\nimport { MultimodalLiveClientFactory } from \"../live-client/multimodal-live-client\";\nimport { mediaTypes, ERRORS, supportedProviders } from \"./constants\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport {\n\tHA_AUDIO_IO_INITIATE,\n\tHA_AUDIO_IN_PLAY_STOP,\n\tHA_AUDIO_IN_PLAY,\n\tHA_AUDIO_IO_STOP,\n\tHA_AUDIO_OUT_SEND,\n\tHA_AUDIO_IO_PAUSE,\n\tHA_AUDIO_IO_RESUME,\n} from \"../audio/actionNames\";\nimport {\n\tHA_SCREEN_SHARE_START,\n\tHA_SCREEN_SHARE_STOP,\n\tHA_SCREEN_SHARE_SEND,\n\tHA_SCREEN_SHARE_PAUSE,\n\tHA_SCREEN_SHARE_RESUME\n} from \"../screen/actionNames\";\nimport {\n\tHA_CLIENT_AUDIO_RESPONSE,\n\tHA_CLIENT_INTERRUPTED,\n\tHA_LIVE_CLIENT_AUTHENTICATE_SUCCESS,\n\tHA_LIVE_CLIENT_ERROR,\n\tHA_SESSION_LIMIT_REACHED,\n} from \"./actionNames\";\nimport { HA_ERROR_TRACK } from \"../../constants\";\nimport { isScreenShareSupported } from \"../utils\";\nimport crossTabCommunicator from \"../crossTabCommunicator/crossTabCommunicator\";\nimport { BROADCAST_ACTIONS } from \"../crossTabCommunicator/crossTabConstants\";\n\nconst HA_LIVE_CLIENT_INITIATE = \"HA_LIVE_CLIENT_INITIATE\";\nconst HA_LIVE_CLIENT_DESTROY = \"HA_LIVE_CLIENT_DESTROY\";\n\nlet _isUserSpeaking = false;\n\nexport default {\n\tname: \"LIVE_CLIENT_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_START]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, updateState, dispatch } = coeffects;\n\t\t\t\tconst { withScreen, provider } = action.payload;\n\n\t\t\t\tconst client = MultimodalLiveClientFactory.create(provider, dispatch);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tliveClient: client,\n\t\t\t\t\twithScreen,\n\t\t\t\t\tprovider,\n\t\t\t\t});\n\n\t\t\t\tdispatch('TAKE_CONSENT_GET_AUTH_TOKEN');\n\t\t\t},\n\t\t},\n\t\t['TAKE_CONSENT_GET_AUTH_TOKEN_SUCCEEDED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient, liveClientAuth, isFirstTimeUser } = state;\n\n\t\t\t\tif (liveClient && liveClientAuth) {\n\t\t\t\t\tif (liveClient && typeof liveClient.setIsFirstTime === 'function') {\n\t\t\t\t\t\tliveClient.setIsFirstTime(isFirstTimeUser);\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(HA_LIVE_CLIENT_INITIATE);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\"Issue initializing live client\");\n\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.CLIENT_INITIALIZATION_FAIL});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t['TAKE_CONSENT_GET_AUTH_TOKEN_FAILED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch } = coeffects;\n\t\t\t\tdispatch(HA_LIVE_CLIENT_DESTROY);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[HA_LIVE_CLIENT_INITIATE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\t// Initialize audio & screen\n\t\t\t\tconst { state, dispatch, updateState } = coeffects;\n\t\t\t\tconst { withScreen, liveClient, liveClientAuth } = state;\n\n\t\t\t\tliveClient.setAuth(liveClientAuth);\n\t\t\t\t\n\t\t\t\t// Store traceId in state for telemetry correlation\n\t\t\t\tconst traceId = liveClient.getTraceId();\n\t\t\t\tif (traceId) {\n\t\t\t\t\tupdateState({ traceId });\n\t\t\t\t}\n\n\t\t\t\tliveClient.connect().then(r => {\n\t\t\t\t\tdispatch(HA_AUDIO_IO_INITIATE);\n\n\t\t\t\t\tif (withScreen && isScreenShareSupported()) {\n\t\t\t\t\t\tdispatch(HA_SCREEN_SHARE_START);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_STARTED);\n\n\t\t\t\t}).catch(e => {\n\t\t\t\t\tconsole.error(\"Error connecting live client:\", e);\n\t\t\t\t\t//dispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (!liveClient) return;\n\n\t\t\t\tdispatch(HA_AUDIO_IO_PAUSE);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_PAUSE);\n\n\t\t\t\tliveClient.pause();\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_PAUSED);\n\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (!liveClient) return;\n\n\t\t\t\tdispatch(HA_AUDIO_IO_RESUME);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_RESUME);\n\n\t\t\t\tliveClient.resume();\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_RESUMED);\n\t\t},\n\t\t},\n\t\t[HA_AUDIO_OUT_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, action } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.send(mediaTypes.AUDIO, action.payload);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_CLIENT_AUDIO_RESPONSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, dispatch } = coeffects;\n\t\t\t\tdispatch(HA_AUDIO_IN_PLAY, action.payload);\n\t\t\t},\n\t\t},\n\n\t\t[HA_CLIENT_INTERRUPTED]: {\n            effect: (coeffects) => {\n                const { dispatch } = coeffects;\n                stopTranscriptReveal();\n                dispatch(HA_AUDIO_IN_PLAY_STOP);\n            },\n\t\t},\n\t\t[HA_SCREEN_SHARE_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, action } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.send(mediaTypes.SCREEN, action.payload);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.disconnect();\n\t\t\t\t}\n\n\t\t\t\tdispatch(HA_AUDIO_IO_STOP);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t\tdispatch(HA_LIVE_CLIENT_DESTROY);\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED);\n\t\t\t},\n\t\t},\n\t\t[HA_SESSION_LIMIT_REACHED]: {\n\t\t\teffect: ({ dispatch, updateState }) => {\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: \"info\",\n\t\t\t\t\t\ttext: t.sessionLimitReached,\n\t\t\t\t\t\tdismissable: false,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP)\n\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, { isUserInitiated: true });\n\t\t\t\tupdateState({ showFeedbackModal: true });\n\t\t\t},\n\t\t},\n\t\t[HA_LIVE_CLIENT_ERROR]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action, dispatch} = coeffects;\n\t\t\t\tconst {provider, type} = action.payload;\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase ERRORS.CLIENT_RECONNECTION_FAILED:\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR:\n\t\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\n\t\t\t\t\t\t\tTYPE: TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.websocketError,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ERRORS.SERVER_INTERNAL_ERROR:\n\t\t\t\t\t\tif (provider === supportedProviders.google.GEMINI_FLASH.name) {\n\t\t\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.PROVIDER_CONNECTION_ERROR});\n\t\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\t\t\ttext: t.errorInProvider\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tconsole.error(\"Unhandled live client error:\", action.payload);\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[HA_LIVE_CLIENT_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\t_isUserSpeaking = false;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tliveClient: null,\n\t\t\t\t\t\tliveClientAuth: null,\n\t\t\t\t\t\twithScreen: false,\n\t\t\t\t\t\tprovider: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[liveTranscriptionActions.OUTPUT_TRANSCRIPTION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, action } = coeffects;\n\t\t\t\thandleOutputTranscription(dispatch, action.payload);\n\t\t\t},\n\t\t},\n\t\t[liveTranscriptionActions.INPUT_TRANSCRIPTION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, action } = coeffects;\n\t\t\t\thandleInputTranscription(dispatch, action.payload);\n\t\t\t},\n\t\t},\n\t\t// Voice wave state\n\t\t[UPDATE_MICROPHONE_VOLUME]: ({ action, updateState, state }) => {\n\t\t\tconst volume = action.payload?.volume || 0;\n\t\t\tupdateState({ micVolume: volume });\n\t\t\tif (state.isAiSpeaking) return;\n\t\t\tif (!_isUserSpeaking && volume >= VOICE_WAVE_CONFIG.VOLUME_THRESHOLD) {\n\t\t\t\t_isUserSpeaking = true;\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED);\n\t\t\t} else if (_isUserSpeaking && volume < VOICE_WAVE_CONFIG.EXIT_THRESHOLD) {\n\t\t\t\t_isUserSpeaking = false;\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED);\n\t\t\t}\n\t\t},\n\t\t[AI_SPEAKING_STARTED]: ({ updateState }) => {\n\t\t\t_isUserSpeaking = false;\n\t\t\tupdateState({ isAiSpeaking: true });\n\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED);\n\t\t},\n\t\t[AI_SPEAKING_STOPPED]: ({ updateState }) => {\n\t\t\tupdateState({ isAiSpeaking: false });\n\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED);\n\t\t},\n\t},\n};\n","import { createHttpEffect } from \"@servicenow/ui-effect-http\";\nimport {\n\tdataHandlerURLs,\n\tuserConsentActions,\n} from \"../../constants\";\n\nexport const fetchUserConsent = createHttpEffect(dataHandlerURLs.USER_CONSENT, {\n\tmethod: \"GET\",\n\tbatch: false,\n\n\tsuccessActionType: \"HA_FETCH_USER_CONSENT_SUCCEEDED\",\n\terrorActionType: \"HA_FETCH_USER_CONSENT_FAILED\",\n});\n\nexport const submitUserConsent = createHttpEffect(\n\tdataHandlerURLs.USER_CONSENT,\n\t{\n\t\tmethod: \"POST\",\n\t\tbatch: false,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t},\n\t\tdataParam: \"payload\",\n\n\t\tsuccessActionType: userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED,\n\t\terrorActionType: userConsentActions.HA_SUBMIT_USER_CONSENT_FAILED,\n\t},\n);\n\nexport const fetchOAuthToken = createHttpEffect(dataHandlerURLs.OAUTH_TOKEN, {\n\tmethod: \"POST\",\n\tbatch: false,\n\theaders: {\n\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",\n\t},\n\tdataParam: \"data\",\n\n\tsuccessActionType: \"HA_FETCH_AUTH_TOKEN_SUCCEEDED\",\n\terrorActionType: \"HA_FETCH_AUTH_TOKEN_FAILED\",\n});\n","import {\n\tfetchUserConsent,\n\tfetchOAuthToken,\n\tsubmitUserConsent,\n} from \"./dataHandlers\";\nimport {\n\tAPP_CLIENT_ID,\n\tAPP_REDIRECT_URI,\n\tCLIENT_ID,\n\tCODE,\n\tCODE_VERIFIER,\n\tfetchPKCEConfig,\n\tGRANT_TYPE,\n\tGRANT_TYPE_AUTH_CODE,\n\tISS_INSTANCE_URL,\n\tOAUTH_AUTH_URI,\n\tPKCE_CODE_CHALLENGE_METHOD,\n\tREDIRECT_URI,\n\tstoreAccessToken,\n} from \"../../../commons/auth\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { dataHandlerURLs, userConsentActions, alertActions, HA_ACTIONS } from \"../../constants\";\n\nconst errors = {\n\tCONSENT_FAILED: \"CONSENT_FAILED\",\n\tOAUTH_FAILURE: \"OAUTH_FAILURE\",\n\tPKCE_FAILURE: \"PKCE_FAILURE\",\n\tTOKEN_FAILURE: \"TOKEN_FAILURE\",\n\tCONSENT_SUBMISSION_FAILURE: \"CONSENT_SUBMISSION_FAILURE\",\n\tNO_SEARCH_SOURCE_CONFIGURED: \"NO_SEARCH_SOURCE_CONFIGURED\",\n};\n\n// Consent -> Auth -> Token\n\nexport default {\n\tname: \"ASSISTANT_AUTH_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[\"TAKE_CONSENT_GET_AUTH_TOKEN\"]: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(\"HA_FETCH_USER_CONSENT\");\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_USER_CONSENT\"]: fetchUserConsent,\n\t\t[\"HA_FETCH_USER_CONSENT_SUCCEEDED\"]: {\n\t\t\teffect: ({ action, dispatch, updateState }) => {\n\t\t\t\tconst { result } = action.payload;\n\n\t\t\t\t// If user has not consented, show the consent modal\n\t\t\t\tif (!result.isUserConsented) {\n\t\t\t\t\tdispatch(\"HA_USER_CONSENT_MODAL_OPEN\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Returning user - set isFirstTimeUser to false\n\t\t\t\tupdateState({\n\t\t\t\t\tisFirstTimeUser: false,\n\t\t\t\t});\n\n\t\t\t\tdispatch(userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED, {\n\t\t\t\t\tresult,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_USER_CONSENT_FAILED\"]: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.CONSENT_FAILED });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handle user consent submission when user clicks Submit in the modal\n\t\t[\"HA_USER_CONSENT_MODAL#USER_CONSENT_ACCEPTED\"]: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowUserConsentModal: false,\n\t\t\t});\n\n\t\t\t// Correctly format the payload with the \"value\" property\n\t\t\tconst payload = {\n\t\t\t\tvalue: true,\n\t\t\t};\n\n\t\t\t// Dispatch the submit consent action with proper payload\n\t\t\tdispatch(userConsentActions.HA_SUBMIT_USER_CONSENT, { payload });\n\t\t},\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT]: submitUserConsent,\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED]: async ({\n\t\t\tdispatch,\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst { result } = action.payload || {};\n\t\t\tconst { conversationIdNAP } = state;\n\n\t\t\tif (result?.isSearchSourceConfigured === false) {\n\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.NO_SEARCH_SOURCE_CONFIGURED });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tliveClientAuth: {\n\t\t\t\t\twebsocketURL: result.url || `${dataHandlerURLs.WEB_SOCKET_ENDPOINT}`,\n\t\t\t\t\tconversationIdNAP,\n\t\t\t\t},\n\t\t\t\tisSearchSourceConfigured: result.isSearchSourceConfigured,\n\t\t\t});\n\n\t\t\tdispatch(\"HA_FETCH_AUTH_CODE\");\n\t\t},\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT_FAILED]: ({ dispatch }) => {\n\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", {\n\t\t\t\ttype: errors.CONSENT_SUBMISSION_FAILURE,\n\t\t\t});\n\t\t},\n\n\t\t[\"HA_USER_CONSENT_MODAL#USER_CONSENT_MODAL_CLOSED\"]: ({\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowUserConsentModal: false,\n\t\t\t});\n\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED);\n\t\t},\n\t\t[\"HA_FETCH_AUTH_CODE\"]: {\n\t\t\teffect: async ({ dispatch }) => {\n\t\t\t\tconst { state, codeChallenge, codeVerifier } = await fetchPKCEConfig();\n\n\t\t\t\tconst authUrl =\n\t\t\t\t\tOAUTH_AUTH_URI +\n\t\t\t\t\t`?response_type=${CODE}&` +\n\t\t\t\t\t`client_id=${encodeURIComponent(APP_CLIENT_ID)}&` +\n\t\t\t\t\t`redirect_uri=${encodeURIComponent(APP_REDIRECT_URI)}&` +\n\t\t\t\t\t`state=${encodeURIComponent(state)}&` +\n\t\t\t\t\t`code_challenge=${encodeURIComponent(codeChallenge)}&` +\n\t\t\t\t\t`code_challenge_method=${PKCE_CODE_CHALLENGE_METHOD}`;\n\n\t\t\t\tlet redirectResponse;\n\t\t\t\ttry {\n\t\t\t\t\t/*\n\t\t\t\t\t\tWe cannot rely on createHttpEffect as above API calls re-direct URI internally. We cannot listen to success\n\t\t\t\t\t\thandler through createHttpEffect.\n\t\t\t\t\t*/\n\t\t\t\t\tredirectResponse = await nowUiFramework.snHttp.request({\n\t\t\t\t\t\turl: authUrl,\n\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t});\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.OAUTH_FAILURE });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!redirectResponse.ok) {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.OAUTH_FAILURE });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { result } = redirectResponse.body;\n\n\t\t\t\tconst { code, state: redirectState } = result;\n\t\t\t\tif (code && redirectState === state) {\n\t\t\t\t\tconst params = new URLSearchParams();\n\t\t\t\t\tparams.append(GRANT_TYPE, GRANT_TYPE_AUTH_CODE);\n\t\t\t\t\tparams.append(CODE, code);\n\t\t\t\t\tparams.append(CLIENT_ID, APP_CLIENT_ID);\n\t\t\t\t\tparams.append(REDIRECT_URI, APP_REDIRECT_URI);\n\t\t\t\t\tparams.append(CODE_VERIFIER, codeVerifier);\n\t\t\t\t\tparams.append(ISS_INSTANCE_URL, true);\n\t\t\t\t\tdispatch(\"HA_FETCH_AUTH_TOKEN\", {\n\t\t\t\t\t\tdata: params.toString(),\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.PKCE_FAILURE });\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_AUTH_TOKEN\"]: fetchOAuthToken,\n\t\t[\"HA_FETCH_AUTH_TOKEN_SUCCEEDED\"]: ({ action, dispatch }) => {\n\t\t\tconst { access_token } = action.payload;\n\t\t\tstoreAccessToken(access_token);\n\t\t\tdispatch(\"TAKE_CONSENT_GET_AUTH_TOKEN_SUCCEEDED\");\n\t\t},\n\n\t\t[\"HA_FETCH_AUTH_TOKEN_FAILED\"]: ({ dispatch }) => {\n\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.TOKEN_FAILURE });\n\t\t},\n\t\t[\"HA_CONSENT_AUTH_ERROR\"]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst { type } = action.payload;\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase errors.CONSENT_FAILED:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.fetchUserConsentFailed,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.CONSENT_SUBMISSION_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToSubmitUserConsent,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.OAUTH_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToFetchOAuthCode,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.PKCE_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedPKCEConfig,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.TOKEN_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToGenerateAccessToken,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.NO_SEARCH_SOURCE_CONFIGURED:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.searchSourceNotConfigured,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdispatch(\"TAKE_CONSENT_GET_AUTH_TOKEN_FAILED\");\n\t\t\t},\n\t\t},\n\t\t[\"HA_AUTH_RESET\"]: {\n\t\t\teffect: () => {},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","// feedback modal\n// modeless dialog\n// user consent modal\n\nimport crossTabCommunicator from \"../crossTabCommunicator/crossTabCommunicator\";\nimport { BROADCAST_ACTIONS } from \"../crossTabCommunicator/crossTabConstants\";\nimport { HA_ACTIONS, alertActions, TELEMETRY_METRIC } from \"../../constants\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\n\nexport default {\n\tname: \"ASSISTANT_MODEL_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[\"HA_FEEBACK_MODAL_OPEN\"]: {\n\t\t\teffect: () => {},\n\t\t},\n\t\t[\"HA_FEEBACK_MODAL_CLOSE\"]: {\n\t\t\teffect: () => {},\n\t\t},\n\t\t[\"HA_USER_CONSENT_MODAL_OPEN\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowUserConsentModal: true,\n\t\t\t\t\tisFirstTimeUser: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_USER_CONSENT_MODAL_CLOSE\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowUserConsentModal: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG_OPEN\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG_CLOSE\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: false,\n\t\t\t\t\tisPaused: false,\n\t\t\t\t\tenableTranscript: true,\n\t\t\t\t\tcontent: \"\",\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"SN_HELP_ASSISTANT#UPDATE_MODELESS_DIALOG_CONTENT\"]: (coeffects) => {\n\t\t\tconst { action, updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tcontent: action.payload,\n\t\t\t});\n\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_TRANSCRIPT_UPDATED, action.payload);\n\t\t\t}\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#PAUSE_CLICKED\"]: {\n\t\t\teffect: ({ updateState, state, dispatch }) => {\n\t\t\t\tconst { isPaused } = state;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tisPaused: !isPaused,\n\t\t\t\t});\n\n\t\t\t\tif (crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\tif (!isPaused) {\n\t\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\t\tBROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\t\tBROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (isPaused) {\n\t\t\t\t\tdispatch(HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#TRANSCRIPT_CLICKED\"]: {\n\t\t\teffect: ({ updateState, state }) => {\n\t\t\t\tconst { enableTranscript } = state;\n\t\t\t\tupdateState({\n\t\t\t\t\tenableTranscript: !enableTranscript,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#END_CLICKED\"]: {\n\t\t\teffect: ({ dispatch, updateState, state }) => {\n\t\t\t\tdispatch(\"HA_MODELESS_DIALOG_CLOSE\");\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: \"info\",\n\t\t\t\t\t\ttext: t.clientStopped,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tshowFeedbackModal: true,\n\t\t\t\t});\n\t\t\t\tif (crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\tBROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED, {\n                            isUserInitiated: true\n                        }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, {isUserInitiated: true});\n\t\t\t},\n\t\t},\n\t\t[\"HA_FEEDBACK_MODAL#FEEDBACK_MODAL_CLOSED\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowFeedbackModal: false,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODEL_RESET\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: false,\n\t\t\t\t\tshowUserConsentModal: false,\n\t\t\t\t\tisFirstTimeUser: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const HA_FEEDBACK_MODAL_BASE_ACTION = 'HA_FEEDBACK_MODAL';\n\nexport const ACTIONS = {\n    // Action dispatched by feedback modal to tell parents, when its closed.\n    'FEEDBACK_MODAL_CLOSED': `${HA_FEEDBACK_MODAL_BASE_ACTION}#FEEDBACK_MODAL_CLOSED`,\n\n    // Outer component actions used by feedback modal \n    'FEEDBACK_ACTION_CLICKED': 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n    'FEEDBACK_MODAL_CLOSE_REQUESTED': 'NOW_MODAL#OPENED_SET',\n    'FEEDBACK_BUTTON_CLICKED': 'NOW_BUTTON_STATEFUL#SELECTED_SET',\n    'FEEDBACK_REVIEW_COMMENTS_UPDATED': 'NOW_TEXTAREA#INPUT',\n    'FEEDBACK_ALERT_CLOSE_REQUESTED': 'NOW_ALERT#ACTION_CLICKED',\n    'FEEDBACK_ALERT_AUTO_CLOSE_REQUESTED': 'NOW_ALERT#AUTO_DISMISS',\n    'NOW_PILL_SELECTED_SET': 'NOW_PILL#SELECTED_SET',\n    'SHOW_FEEDBACK_ALERT': `${HA_FEEDBACK_MODAL_BASE_ACTION}#SHOW_FEEDBACK_ALERT`\n};\n\n// Feedback category IDs (unique identifiers)\nexport const FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID = \"didnt_understand\";\nexport const FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID = \"incorrect_guidance\";\nexport const FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID = \"offensive_unsafe\";\nexport const FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID = \"takes_too_long\";\nexport const FEEDBACK_CATEGORY_POOR_VOICE_ID = \"poor_voice\";\nexport const FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID = \"timeout_error\";\nexport const FEEDBACK_CATEGORY_NO_RESPONSE_ID = \"no_response\";\n\nexport const FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL = \"Didn't understand my question\";\nexport const FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL = \"Incorrect Instructions/Guidance\";\nexport const FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL = \"Offensive/Unsafe\";\nexport const FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL = \"Takes too long\";\nexport const FEEDBACK_CATEGORY_POOR_VOICE_LABEL = \"Poor Voice Experience\";\nexport const FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL = \"Timeout Error\";\nexport const FEEDBACK_CATEGORY_NO_RESPONSE_LABEL = \"No response received/No Voice\";\n\n\nexport const THUMBS_UP = 'Thumbs Up';\nexport const THUMBS_DOWN = 'Thumbs Down'; \n","import { t } from \"sn-translate\";\nimport {\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL,\n    FEEDBACK_CATEGORY_POOR_VOICE_LABEL,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL,\n    FEEDBACK_CATEGORY_NO_RESPONSE_LABEL,\n    THUMBS_UP,\n    THUMBS_DOWN\n} from './constants';\n\nexport const SUBMIT = t('Submit Feedback');\nexport const t_THUMBS_UP = t(THUMBS_UP);\nexport const t_THUMBS_DOWN = t(THUMBS_DOWN); \nexport const BACK = t('Back');\n\nexport const FEEDBACK_LABEL = t('Dynamic Guidance has ended');\nexport const IS_GUIDANCE_USEFUL_TEXT = t('Was the guidance useful in completing the task?');\nexport const FEEDBACK_PLACEHOLDER = t('Tell us about your experience so we can use this to improve our feature.');\nexport const TELL_US_WHY_NOT_USEFUL = t('Tell us why the guidance was not useful');\nexport const ALERT_SUCCESS_MSG = t('Thank you for submitting your valuable feedback.');\n\n// Feedback category translations\nexport const t_CATEGORY_DIDNT_UNDERSTAND = t(FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL);\nexport const t_CATEGORY_INCORRECT_GUIDANCE = t(FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL);\nexport const t_CATEGORY_OFFENSIVE_UNSAFE = t(FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL);\nexport const t_CATEGORY_TAKES_TOO_LONG = t(FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL);\nexport const t_CATEGORY_POOR_VOICE = t(FEEDBACK_CATEGORY_POOR_VOICE_LABEL);\nexport const t_CATEGORY_TIMEOUT_ERROR = t(FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL);\nexport const t_CATEGORY_NO_RESPONSE = t(FEEDBACK_CATEGORY_NO_RESPONSE_LABEL);","import {\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID,\n    FEEDBACK_CATEGORY_POOR_VOICE_ID,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID,\n    FEEDBACK_CATEGORY_NO_RESPONSE_ID,\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL,\n    FEEDBACK_CATEGORY_POOR_VOICE_LABEL,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL,\n    FEEDBACK_CATEGORY_NO_RESPONSE_LABEL\n} from './constants';\nimport {\n    t_CATEGORY_DIDNT_UNDERSTAND,\n    t_CATEGORY_INCORRECT_GUIDANCE,\n    t_CATEGORY_OFFENSIVE_UNSAFE,\n    t_CATEGORY_TAKES_TOO_LONG,\n    t_CATEGORY_POOR_VOICE,\n    t_CATEGORY_TIMEOUT_ERROR,\n    t_CATEGORY_NO_RESPONSE\n} from './i18n';\n\n// Feedback categories for pills with translations from i18n\nexport const FEEDBACK_CATEGORIES = [\n    { id: FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID, label: t_CATEGORY_DIDNT_UNDERSTAND, value: FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL },\n    { id: FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID, label: t_CATEGORY_INCORRECT_GUIDANCE, value: FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL },\n    { id: FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID, label: t_CATEGORY_OFFENSIVE_UNSAFE, value: FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL },\n    { id: FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID, label: t_CATEGORY_TAKES_TOO_LONG, value: FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL },\n    { id: FEEDBACK_CATEGORY_POOR_VOICE_ID, label: t_CATEGORY_POOR_VOICE, value: FEEDBACK_CATEGORY_POOR_VOICE_LABEL },\n    { id: FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID, label: t_CATEGORY_TIMEOUT_ERROR, value: FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL },\n    { id: FEEDBACK_CATEGORY_NO_RESPONSE_ID, label: t_CATEGORY_NO_RESPONSE, value: FEEDBACK_CATEGORY_NO_RESPONSE_LABEL }\n];\n\nexport const getDefaultSelectedPills = () => ({\n    [FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID]: false,\n    [FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID]: false,\n    [FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID]: false,\n    [FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID]: false,\n    [FEEDBACK_CATEGORY_POOR_VOICE_ID]: false,\n    [FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID]: false,\n    [FEEDBACK_CATEGORY_NO_RESPONSE_ID]: false\n});\n\nexport const convertPillsToReadableFormat = (selectedPills) => {\n    const readablePills = {};\n    FEEDBACK_CATEGORIES.forEach(category => {\n        readablePills[category.value] = selectedPills[category.id] || false;\n    });\n    return readablePills;\n};","import {actionTypes} from '@servicenow/ui-core';\nimport { ACTIONS, THUMBS_UP, THUMBS_DOWN } from './constants';\nimport { getDefaultSelectedPills, convertPillsToReadableFormat } from './utils';\nimport track from '@devsnc/ux-metrics';\nimport { TELEMETRY_METRIC, alertActions, dataHandlerActions } from '../../../sn-help-assistant/constants';\nimport { SUBMIT, BACK, ALERT_SUCCESS_MSG } from './i18n';\n\nconst resetFeedbackState = () => ({\n\tfeedbackText: \"\",\n\tfeedbackThumbs: \"\",\n\tselectedPills: getDefaultSelectedPills(),\n\tshowDetailedFeedback: false,\n\tfeedbackSubmitted: false\n});\n\nconst dispatchFeedbackToLog = (dispatch, traceId) => {\n\tif (traceId) {\n\t\tdispatch(dataHandlerActions.HA_SUBMIT_FEEDBACK, {\n\t\t\tpayload: {\n\t\t\t\ttrace_id: traceId,\n\t\t\t\tfeedback_type: 'thumbs_down'\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: ({updateState}) => {\n\t\tupdateState(resetFeedbackState());\n\t},\n\n\t[ACTIONS.FEEDBACK_ACTION_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { updateState, action, state, dispatch, properties } = coeffects;\n\t\t\tconst label = action.payload.action.label;\n\t\t\tconst { feedbackText, selectedPills } = state;\n\t\t\tconst { traceId } = properties;\n\t\t\t\n\t\t\tif (label === BACK) {\n\t\t\t\tupdateState(resetFeedbackState());\n\t\t\t} else if (label === SUBMIT) {\n\t\t\t\tconst readablePills = convertPillsToReadableFormat(selectedPills);\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_DOWN, {\n\t\t\t\t\t'Review': feedbackText,\n\t\t\t\t\t...readablePills\n\t\t\t\t});\n\t\t\t\tdispatchFeedbackToLog(dispatch, traceId);\n\t\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateState(resetFeedbackState());\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[ACTIONS.FEEDBACK_MODAL_CLOSE_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { dispatch, state, properties } = coeffects;\n\t\t\tconst { showDetailedFeedback } = state;\n\t\t\tconst { traceId } = properties;\n\t\t\tif (showDetailedFeedback) {\n\t\t\t\tconst readablePills = convertPillsToReadableFormat(getDefaultSelectedPills());\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_DOWN, {\n\t\t\t\t\t'Review': \"\",\n\t\t\t\t\t...readablePills\n\t\t\t\t});\n\t\t\t\tdispatchFeedbackToLog(dispatch, traceId);\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\n\t[ACTIONS.FEEDBACK_BUTTON_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action, updateState, dispatch } = coeffects;\n\t\t\tconst feedbackThumbs = action?.meta?.appended?.id;\n\t\t\t\n\t\t\tif (feedbackThumbs === THUMBS_UP) {\n\t\t\t\t// For thumbs up, immediately track and show success alert\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_UP, {});\n\t\t\t\tupdateState({\n\t\t\t\t\tfeedbackThumbs,\n\t\t\t\t\tfeedbackSubmitted: true\n\t\t\t\t});\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t\t} else if (feedbackThumbs === THUMBS_DOWN) {\n\t\t\t\t// For thumbs down, show the detailed feedback modal\n\t\t\t\tupdateState({\n\t\t\t\t\tfeedbackThumbs,\n\t\t\t\t\tshowDetailedFeedback: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[ACTIONS.FEEDBACK_REVIEW_COMMENTS_UPDATED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action: { payload }, updateState } = coeffects;\n\t\t\tconst feedbackText = payload.fieldValue || \"\";\n\t\t\tupdateState({ feedbackText });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t\n\t// Handle pill selection\n\t[ACTIONS.NOW_PILL_SELECTED_SET]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action, state, updateState } = coeffects;\n\t\t\tconst pillId = action?.meta?.appended?.id;\n\t\t\tconst isSelected = action?.payload?.value;\n\t\t\tconst { selectedPills } = state;\n\t\t\tif (pillId) {\n\t\t\t\tconst newSelectedPills = {\n\t\t\t\t\t...selectedPills,\n\t\t\t\t\t[pillId]: isSelected\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tupdateState({ selectedPills: newSelectedPills });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-button';\nimport '@servicenow/now-pill';\nimport styles from './ha-feedback.scss';\nimport { actionHandlers } from './actionHandler';\nimport { \n    FEEDBACK_LABEL, \n    IS_GUIDANCE_USEFUL_TEXT, \n    SUBMIT, \n    FEEDBACK_PLACEHOLDER, \n    BACK, \n    TELL_US_WHY_NOT_USEFUL,\n    t_THUMBS_UP, \n    t_THUMBS_DOWN\n} from './i18n';\nimport { THUMBS_UP, THUMBS_DOWN } from './constants';\nimport { FEEDBACK_CATEGORIES, getDefaultSelectedPills } from './utils';\n\nconst view = state => {\n    const { feedbackThumbs, feedbackText, showDetailedFeedback, selectedPills } = state;\n\n    // First Modal - Thumbs Up/Down Selection\n    const InitialFeedbackModal = () => (\n        <now-modal\n            opened={true}\n            size=\"md\"\n            manage-opened={true}\n            header-label={FEEDBACK_LABEL}\n        >\n            <div className=\"feedback-modal-content\">            \n                <div className=\"feedback-footer\">\n                    <div className=\"is-useful-text\">\n                        {IS_GUIDANCE_USEFUL_TEXT}\n                    <\/div>\n                    <div className=\"feedback-buttons\">\n                        <now-button-stateful\n                            manageSelected={true}\n                            selected={feedbackThumbs === THUMBS_UP}\n                            className={THUMBS_UP}\n                            icon={\"thumbs-up-\" + ((feedbackThumbs === \"\" || feedbackThumbs === THUMBS_DOWN) ? \"outline\" : \"fill\")}\n                            variant=\"primary\"\n                            tooltipContent={t_THUMBS_UP}\n                            size=\"lg\"\n                            append-to-meta={{\n                                id: THUMBS_UP\n                            }}\n                            configAria={{\n                                button: {\n                                    'aria-label': t_THUMBS_UP\n                                }\n                            }}\n                        />\n                        <now-button-stateful\n                            manageSelected={true}\n                            selected={feedbackThumbs === THUMBS_DOWN}\n                            className={THUMBS_DOWN}\n                            icon={\"thumbs-down-\" + ((feedbackThumbs === \"\" || feedbackThumbs === THUMBS_UP) ? \"outline\" : \"fill\")}\n                            variant=\"primary\"\n                            tooltipContent={t_THUMBS_DOWN}\n                            size=\"lg\"\n                            append-to-meta={{\n                                id: THUMBS_DOWN\n                            }}\n                            configAria={{\n                                button: {\n                                    'aria-label': t_THUMBS_DOWN\n                                }\n                            }}\n                        />\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/now-modal>\n    );\n\n    // Second Modal - Feedback with Pills\n    const DetailedFeedbackModal = () => (\n        <now-modal\n            opened={true}\n            size=\"md\"\n            manage-opened={true}\n            header-label={TELL_US_WHY_NOT_USEFUL}\n            footer-actions={[\n                {\n                    \"variant\": \"primary\",\n                    \"label\": SUBMIT\n                },\n                {\n                    \"variant\": \"secondary\",\n                    \"label\": BACK\n                }\n            ]}\n        >\n            <div className=\"detailed-feedback-modal-content\">\n                <div className=\"feedback-pills-container\">\n                    {FEEDBACK_CATEGORIES.map(category => (\n                        <now-pill\n                            label={category.label}\n                            size='md'\n                            selected={selectedPills[category.id] === true}\n                            manageSelected={true}\n                            append-to-meta={{\n                                id: category.id\n                            }}\n                        />\n                    ))}\n                <\/div>\n\n                <div className=\"feedback-textarea-container\">\n                    <now-textarea\n                        size=\"md\"\n                        resize=\"vertical\"\n                        placeholder={FEEDBACK_PLACEHOLDER}\n                        className=\"feedback-text\"\n                        value={feedbackText}\n                    />\n                <\/div>\n            <\/div>\n        <\/now-modal>\n    );\n\n    return (\n        <div>\n            {\n                showDetailedFeedback ? DetailedFeedbackModal() : InitialFeedbackModal()\n            }\n        <\/div>\n    );\n};\n\ncreateCustomElement('ha-feedback', {\n    renderer: {\n        type: snabbdom,\n        view\n    },\n    styles,\n    properties: {\n        traceId: {\n            default: '',\n            required: false,\n            schema: {\n                type: 'string'\n            }\n        }\n    },\n    actionHandlers,\n    initialState: {\n        feedbackThumbs: '', // Up / Down \n        feedbackText: '', // User review comments\n        showDetailedFeedback: false, // Controls which modal to show\n        selectedPills: getDefaultSelectedPills() \n    },\n});","import {\n\talertActions\n} from '../constants';\nimport { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport {generateRandomId} from '../commons/utils';\nconst iconMap = {\n\twarning: 'check-circle-outline',\n\terror: 'exclamation-triangle-outline',\n\tinfo: 'info-circle-outline',\n\tpositive: 'circle-check-outline', \n};\n\nconst statusMap = {\n\terror: 'critical',\n\tinfo: 'info',\n\twarning: 'warning',\n\tpositive: 'positive'\n};\n\nconst getAlert = (message, id) => {\n\treturn {\n\t\tid: id,\n\t\tstatus: statusMap[message.type],\n\t\ticon: iconMap[message.type],\n\t\tcontent: {\n\t\t\ttype: 'jsx',\n\t\t\tvalue: (\n\t\t\t\t<span>\n\t\t\t\t\t{dangerouslyCreateElementFromString(`<span>${message.text}<\/span>`)}\n\t\t\t\t<\/span>\n\t\t\t),\n\t\t},\n\t\taction: { type: 'dismiss' },\n\t};\n};\n\nexport default {\n\tname: 'HELP_ASSISTANT_ALERTS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[alertActions.HA_NOTIFICATION_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { message },\n\t\t\t\t},\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t}) => {\n\t\t\t\tconst randomId = generateRandomId();\n\t\t\t\tconst id = `help-assistant-notification-alert-${randomId}`;\n\t\t\t\tconst newAlert = getAlert(message, id);\n\t\t\t\tupdateState({\n\t\t\t\t\thelpAssistantNotifications: helpAssistantNotifications\n\t\t\t\t\t? [...helpAssistantNotifications, newAlert]\n\t\t\t\t\t: [newAlert],\n\t\t\t\t});\n\t\t\t\tconst dismissable = (message?.dismissable !== undefined) ? message.dismissable : true;\t\n\t\t\t\tif (dismissable) {\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_CLEAR_REQUESTED, id);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage.duration ? message.duration : 5000\n\t\t\t\t\t);\t\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[alertActions.HA_NOTIFICATION_CLEAR_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\taction: { payload: id },\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t}) => {\n\t\t\t\tconst filteredItems = helpAssistantNotifications.filter(\n\t\t\t\t\t(notification) => notification.id !== id\n\t\t\t\t);\n\t\t\t\tupdateState({ helpAssistantNotifications: filteredItems });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEM_ACTION_CLICKED']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { item },\n\t\t\t\t},\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t}) => {\n\t\t\t\tconst filteredItems = helpAssistantNotifications.filter(\n\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t);\n\t\t\t\tupdateState({ helpAssistantNotifications: filteredItems });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEMS_SET']: {\n\t\t\teffect: ({ action, updateState }) => {\n\t\t\t\tupdateState({ helpAssistantNotifications: action.payload.value });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import {\n\tCROSS_TAB_DISCONNECT,\n\tCROSS_TAB_HANDLE_STATE_QUERY,\n\tCROSS_TAB_INITIALIZE_COMMUNICATION\n} from \"./crossTabConstants\";\nimport crossTabCommunicator from \"./crossTabCommunicator\";\nimport {BROADCAST_ACTIONS} from \"./crossTabConstants\";\nimport {assistantServiceActions, STOP_LIVE_CLIENT, HA_RESET_STATE, HA_ACTIONS} from \"../../constants\";\nimport {updatePausedTime} from \"../../commons/utils\";\n\nlet _visibilityChangeHandler = null;\n\nexport default {\n\tname: \"CROSS_TAB_COMMUNICATION_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[CROSS_TAB_INITIALIZE_COMMUNICATION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { updateState, dispatch } = coeffects;\n\n\t\t\t\t// Listen for dynamic guidance requested from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_REQUESTED, ({ payload }) => {\n\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_OPEN');\n\t\t\t\t});\n\n\t\t\t\t// Listen for modeless dialog closed from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED, ({ payload }) => {\n\t\t\t\t\tconst {isUserInitiated} = payload || {};\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, {isUserInitiated: isUserInitiated});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_CLOSE');\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcrossTabCommunicator.releasePrimaryTab();\n\t\t\t\t});\n\n\t\t\t\t// Listen for tab closure events from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.TAB_CLOSED, () => {\n\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_CLOSE');\n\t\t\t\t});\n\n\t\t\t\t// Listen for state queries from new tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.STATE_QUERY, ({ tabId }) => {\n\t\t\t\t\t// Only respond if this is the primary tab\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(CROSS_TAB_HANDLE_STATE_QUERY, { requestingTabId: tabId });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for state responses from existing tabs (only from primary tab)\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.STATE_RESPONSE, ({ payload }) => {\n\t\t\t\t\tconst { requestingTabId, isPaused, primaryTabId, content } = payload || {};\n\n\t\t\t\t\t// Only respond to our own state query\n\t\t\t\t\tif (requestingTabId === crossTabCommunicator.getTabId()) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisPaused,\n\t\t\t\t\t\t\tcontent: content || ''\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_OPEN');\n\t\t\t\t\t\tcrossTabCommunicator.setPrimaryTabId(primaryTabId);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for pause action from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED, () => {\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({ isPaused: true });\n\t\t\t\t\t}\t\n\t\t\t\t});\n\t\t\t\t// Listen for resume action from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED, () => {\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t\t\tcontent: ''\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for transcript and AI speaking state from primary tab.\n\t\t\t\t// Skip re-renders when tab is hidden — state is synced via visibilitychange below.\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_TRANSCRIPT_UPDATED, ({ payload }) => {\n\t\t\t\t\tif (document.visibilityState === 'visible') {\n\t\t\t\t\t\tupdateState({ content: payload });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED, () => {\n\t\t\t\t\tif (document.visibilityState === 'visible') {\n\t\t\t\t\t\tupdateState({ isVoiceActive: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED, () => {\n\t\t\t\t\tupdateState({ isVoiceActive: false });\n\t\t\t\t});\n\n\t\t\t\t// When secondary tab regains focus, request a fresh state snapshot from\n\t\t\t\t// the primary tab to catch up on any updates missed while hidden\n\t\t\t\t_visibilityChangeHandler = () => {\n\t\t\t\t\tif (document.visibilityState === 'visible' && crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\t\tcrossTabCommunicator.queryStateFromOtherTabs();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdocument.addEventListener('visibilitychange', _visibilityChangeHandler);\n\n\t\t\t\t// Query existing tabs for current state (for new tabs)\n\t\t\t\tcrossTabCommunicator.queryStateFromOtherTabs();\n\t\t\t}\n\t\t},\n\n\t\t// Handle state query from other tabs\n\t\t[CROSS_TAB_HANDLE_STATE_QUERY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, state} = coeffects;\n\t\t\t\tconst {requestingTabId} = action.payload || {};\n\n\t\t\t\t// Only respond if we are the primary tab, have a modeless dialog, and the requesting tab ID is valid\n\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive() &&\n\t\t\t\t\trequestingTabId &&\n\t\t\t\t\trequestingTabId !== crossTabCommunicator.getTabId()) {\n\t\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.STATE_RESPONSE, {\n\t\t\t\t\t\trequestingTabId,\n\t\t\t\t\t\tstartTime: state.startTime,\n\t\t\t\t\t\tisPaused: state.isPaused || false,\n\t\t\t\t\t\tcontent: state.content || '',\n\t\t\t\t\t\tprimaryTabId: crossTabCommunicator.getTabId()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[CROSS_TAB_DISCONNECT]: {\n\t\t\teffect: () => {\n\t\t\t\tif (_visibilityChangeHandler) {\n\t\t\t\t\tdocument.removeEventListener('visibilitychange', _visibilityChangeHandler);\n\t\t\t\t\t_visibilityChangeHandler = null;\n\t\t\t\t}\n\t\t\t\tcrossTabCommunicator.destroy();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom, { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./styles.scss\";\nimport { actionHandlers } from \"./actions/coreHandlers\";\nimport \"../components/presentational/ha-user-consent-modal\";\nimport \"../components/presentational/ha-modeless-dialog\";\nimport audio from \"./behaviors/audio\";\nimport screen from \"./behaviors/screen\";\nimport liveClient from \"./behaviors/live-client\";\nimport consentAuth from \"./behaviors/consent-auth\";\nimport modal from \"./behaviors/modals\";\nimport \"../components/presentational/ha-feedback\";\nimport helpAssistantAlertBehavior from './behaviors/helpAssistantAlertBehavior';\nimport \"../components/presentational/ha-alerts\";\nimport crossTabCommunicatorBehavior from './behaviors/crossTabCommunicator';\n\nconst view = ({ enableHelpAssistant, showUserConsentModal, showModelessDialog, showFeedbackModal, helpAssistantNotifications, isPaused, enableTranscript, content, isAiSpeaking, micVolume, isVoiceActive, traceId }) => {\n\tif (!enableHelpAssistant) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Fragment>\n\t\t\t{helpAssistantNotifications?.length ? (\n\t\t\t\t<ha-alerts items={helpAssistantNotifications} now-hoist><\/ha-alerts>\n\t\t\t) : null}\n\t\t\t{showUserConsentModal ? (\n\t\t\t\t<ha-user-consent-modal><\/ha-user-consent-modal>\n\t\t\t) : null}\n\t\t\t{showModelessDialog ? (\n\t\t\t\t<ha-modeless-dialog isPaused={isPaused} enableTranscript={enableTranscript} content={content} isAiSpeaking={isAiSpeaking} micVolume={micVolume} isVoiceActive={isVoiceActive}><\/ha-modeless-dialog>\n\t\t\t) : null}\n\t\t\t{showFeedbackModal ? (\n\t\t\t\t<ha-feedback traceId={traceId}><\/ha-feedback>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement(\"sn-help-assistant\", {\n\trenderer: { type: snabbdom },\n\tinitialState: {\n\t\tenableHelpAssistant: true,\n\t\tisUserConsented: false,\n\t\tshowUserConsentModal: false,\n\t\tshowModelessDialog: false,\n\t\tshowFeedbackModal: false,\n\t\thelpAssistantNotifications: [],\n\t\tstartTime: 0,\n\t\tisPaused: false,\n\t\tpauseTimestamp: null,\n\t\ttotalPausedTime: 0,\n\t\tenableTranscript: true,\n\t\tcontent: '',\n\t\tisFirstTimeUser: false,\n\t\theartbeatIntervalId: null,\n\t\tconversationIdNAP: null,\n\t\tisAiSpeaking: false,\n\t\tmicVolume: 0,\n\t\tisVoiceActive: false,\n\t\ttraceId: ''\n\t},\n\tview,\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{ behavior: audio },\n\t\t{ behavior: liveClient },\n\t\t{ behavior: screen },\n\t\thelpAssistantAlertBehavior,\n\t\t{behavior: crossTabCommunicatorBehavior},\n\t\t{behavior: consentAuth},\n\t\t{behavior: modal}\n\n\t]\n});\n","import {observable} from './observable';\n\nconst messageQueue = observable.getInstance();\n\nexport const snHelpAssistantBehavior = {\n\tname: 'sn-help-assistant-behavior',\n\tactionHandlers: {\n\t\t['SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t\t['SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t\t['SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t}\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_help_assistant=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":291,"column":0},"map":{"mappings":"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","file":"externals/polaris-app-shell/index.min.js","names":["OPEN_FRAME_BEHAVIOR","OPEN_FRAME_MINIMUM_MODAL_WIDTH","COMPONENT_BOOTSTRAPPED","actionTypes","greenTextColor","redTextColor","whiteTextColor","blueTextColor","observeCumulativeLayoutShift","type","createPerformanceObserver","entry","textColor","value","console","group","log","msg","sources","node","currentRect","previousRect","groupEnd","observeLongTasks","name","duration","attribution","taskEntry","observeResourceTiming","transferSize","decodedBodySize","toFixed","observePaintTiming","observeUserTiming","observeFirstInputDelay","observeLargestContentfulPaint","observeNavigationTiming","domContentLoadedTime","domContentLoadedEventEnd","domContentLoadedEventStart","observerType","callback","PerformanceObserver","supportedEntryTypes","includes","entryList","getEntries","observe","buffered","actionHandlers","effect","whenScreenMacroponentIdleDuringPageLoad","then","setTimeout","perfEntries","window","performance","timings","pagLoadDuration","domComplete","startTime","startPerformanceObservers","observerList","localStorage","getItem","LOCAL_STORAGE_KEYS","PERFORMANCE_OBSERVERS","split","observer","list","forEach","delay","processingStart","eventHandlerTime","processingEnd","durationThreshold","COMPONENT_RENDERED","deepDiffObj","base","object","Error","result","transform","key","has","isEqual","isPlainObject","forOwn","undefined","difference","_extends","old","new","changes","differenceByRef","__collect","__renderCounts","countTimeout","_ref","action","payload","previousRenderProperties","previousRenderState","meta","firstRenderOnConnect","host","localName","componentName","properties","state","renderDebugList","RENDER_DEBUG_LIST","length","propDiff","stateDiff","omit","isEmpty","props","Set","propDiffByRef","Object","keys","stateDiffByRef","print","diff","v","propName","newValue","rest","_objectWithoutPropertiesLoose","_excluded","table","mapKeys","mapValues","k","hasPropDiff","hasStateDiff","clearTimeout","SN_DRAGGABLE_CHANGED_POSITION","SN_DRAGGABLE_MAX_WINDOW_SIZE","WINDOW_OFFSET","WINDOW_MOVED_TO_PRESET","KEY_MOVEMENT_STEP_AMOUNT","shiftTo","container","newX","newY","windowSize","width","style","top","left","right","bottom","moveTo","togglePointerEvents","Array","from","children","child","pointerEvents","createResizeObserver","coeffects","boundaryElement","resizeObserver","dispatch","updateState","newObserver","ResizeObserver","debounce","document","body","offsetWidth","height","offsetHeight","removeResizeObserver","unobserve","positionCoordinates","_ref3","outerBoundaries","top_left","bottom_left","top_right","bottom_right","positionsMenuItems","id","label","t","positionsMenuItemsOmitCurrent","position","filter","_ref4","keepInBoundary","isMainMenuPinned","isContextualMenuPinned","arguments","offset","deepSearchElement","draggableRect","getBoundingClientRect","boundaryRec","boundaryRight","Math","round","innerWidth","boundaryLeft","moveToPresetPosition","_ref5","containerClassName","lockedPosition","draggableElement","parentNode","hidden","positions","_ref2","allPresetPositions","keyPressed","e","dragContainer","origLeft","offsetLeft","origTop","offsetTop","newLeft","newTop","startDrag","_e$composedPath","trigger","activeDragContainer","triggerElemFound","currentElem","composedPath","currentLoopInteration","tagName","className","button","preventDefault","offsetX","clientX","offsetY","clientY","pageX","pageY","isDragEnabled","mouseOffsetX","mouseOffsetY","endDrag","doDrag","buttons","COMPONENT_PROPERTY_CHANGED","stopPropagation","_payload$position","createCustomElement","renderer","snabbdom","view","isVisible","canDrag","createElement","class","role","styles","default","schema","opened","deepCompare","boundary","items","setInitialState","POLARIS_CONTEXT","experienceName","path","CLASSIC_ROUTE","FULL_CLASSIC_ROUTE","POLARIS_SITE_NAME","UNIFIED_NAVIGATION_REGISTRY_ID","DEFAULT_POLARIS_SEARCH_CONTEXT","context","route","searchDataConfigId","searchViewConfigId","USER_PREF_POLARIS_USE","USER_PREF_UI6_TABS_INSIDE_POLARIS","OVERVIEW_HELP_VISITED","OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V","USER_PREF_CONTINUE_LANDING_PAGE","USER_PREF_HOMEPAGE","ENABLE_SOURCE_MAPS","DEFAULT_REFERRER_POLICY","PAGE_TITLE_UPDATE_REQUESTED","UN_PAGE_TITLE_UPDATE_REQUESTED","NAV_RESIZED","RECENT_IFRAME_TITLE_UPDATED","POLARIS_IFRAME_LOAD_COMPLETE","USER_PRESENCE_CHANGED","UTILITY_MENU_OVERFLOW_DATA_UPDATED","MODAL_SELECTED","NOW_BUTTON_CLICKED","NAV_ITEM_SELECTED","GLOBAL_NAVIGATION_REQUESTED","USER_PREF_UPDATED","OVERLAY_BEHAVIOR_OPENED_SET","SERVICE_NOW","HOME_PAGE","CLASSIC","LIST","MENU_ALL","MENU_HISTORY","MENU_FAVORITES","MENU_WORKSPACES","MENU_ADMIN","SYSTEM_MENUS","SYSTEM","CONFIGURABLE","OPEN","CLOSE","SCRIPT","INITIAL_EXPERIENCE_PAGE_LOADED","NOW_EXPERIENCE_PAGE_LOADED","NOW_EXPERIENCE_PAGE_SWITCHED","SEARCH","RECORD","CONTEXTUAL_MENU_TITLE","MAIN_NAV_HEIGHT","MINIMUM_NAV_PADDING","MINIMUM_LOGO_PADDING","MINIMUM_OVERFLOW_TAB_WIDTH","PX_TO_REM_CONVERSION_RATE","MAIN_TAB_MARGIN","UTILITY_BUTTON_PADDING","UTILITY_MENU_MARGIN","MAIN_LOGO_WIDTH_CACHE_KEY","TOGGLE_MENU_OPEN","OVERFLOW_MENU_ID","CONCOURSE_PICKER_MENU_ID","CONCOURSE_PICKER_HEADER_TEXT","INSTANCE_TOOLS_MENU_ID","INSTANCE_TOOLS_HEADER_TEXT","HELP_MENU_ID","HELP_MENU_HEADER_TEXT","NOW_ASSIST_MENU_ID","NOW_ASSIST_PANEL_MENU_ID","NOW_ASSIST_MENU_HEADER_TEXT","INSTANCE_TOOLS_ID","NOTIFICATIONS_ID","NOTIFICATIONS_HEADER_TEXT","UTILITY_OVERFLOW_MENU_ID","UTILITY_OVERFLOW_MENU_HEADER_TEXT","USER_MENU_ID","USER_MENU_HEADER_TEXT","OPENFRAME_MENU_ID","OPENFRAME_MENU_HEADER_TEXT","CHAT_MENU_HEADER_TEXT","USAGE_ANALYTICS_MENU_ID","USAGE_ANALYTICS_HEADER_TEXT","REFLOW_BREAKPOINTS","MINIMUM_WIDTH","BREAKPOINT_420","BREAKPOINT_540","BREAKPOINT_1024","BREAKPOINT_ONE","BREAKPOINT_TWO","BREAKPOINT_THREE","BREAKPOINT_FOUR","SEARCH_BREAKPOINT_SMALL","SEARCH_BREAKPOINT_LARGE","HIDE_CENTER_PILL","MAIN_MENU_PIN_BREAKPOINT","CONTEXTUAL_MENU_PIN_BREAKPOINT","PREFERENCES_MODAL_BREAKPOINT","HISTORY_RECORDING","ENTRY","NONE","ALL","METRICS","NAVIGATION","PERFORMANCE","RETURN_HOME","SELECT_MENU","PIN","TOGGLE_WIDE_MENU","SELECT_MENU_ITEM","FILTER_MENU","SELECT_NOTIFICATION_MENU","SELECT_NOTIFICATION","ALERT_NEW_NOTIFICATION","CLEAR_NOTIFICATION","DISMISS_NOTIFICATION","DOMAIN_REFRESH","CREATE_FAVORITE","REMOVE_FAVORITE","SEARCH_CONTEXT_SELECTED","SEARCH_START","SEARCH_ITEM_SELECTED","SELECT_SCOPE_MENU","SELECT_SCOPE_MENU_GROUP","SELECT_SCOPE_MENU_ITEM","SELECT_USER_MENU","SELECT_USER_MENU_ITEM","SEARCH_RESULTS_ITEM_SELECTED","SELECT_PREFERENCE_TAB","SELECT_PREFERENCE_TAB_ITEM","SELECT_HELP_MENU","SELECT_CTI_MENU","SKIP_LINK_NAVIGATE","SKIP_LINK_SELECT","UI16_CREATE_FAVORITE","SCREEN_CONTENT_DEEP_LINK_SELECT","SELECT_COLLAB_CHAT","SELECT_NOW_ASSIST","TOGGLED_COLLAB_CHAT_SEARCH","DIRTY_FORM_MODAL","NEXT_EXPERIENCE_OFF","TOGGLE_MENU_ITEM_DROPDOWN","CLOSE_MENU","ALL_RESULTS_TOGGLE","FAVORITES_RESULTS_TOGGLE","OTHER_RESULTS_TOGGLE","SELECT_INSTANCE_TOOLS","PRODUCT_FEEDBACK","IFRAME_LOAD_COMPLETE","MENU_FETCHED","MENU_RENDERED","APPLICATION_CHANGED","CONCOURSE_DATA_FETCHED","ELEVATE_ROLES_FETCHED","HEADER_RENDERED","IMPERSONATE_LIST_FETCHED","IMPERSONATE_USER","PLUGINS_FETCHED","FAVORITE_CREATED","BUTTON_ACTIONS","OPENFRAME_ICON_CLICKED","AVATAR_ICON_CLICKED","LOGOUT_CLICKED","HELP_CLICKED","BELL_CLICKED","CHAT_CLICKED","USAGE_ANAYLTICS_CLICKED","NOW_ASSIST_CLICKED","PROFILE_CLICKED","IMPERSONATE_USER_CLICKED","END_IMPERSONATION_CLICKED","ELEVATE_ROLE_CLICKED","PRINTER_FRIENDLY_CLICKED","EXPERIENCE_ACTION_ITEM_CLICKED","CONCOURSE_PICKER_BUTTON_CLICKED","NOTIFICATION_TRIGGERED","NOW_UI_TOGGLE_PIN","INSTANCE_TOOLS_CLICKED","OPEN_FEEDBACK","OVERFLOW_UTIL_MENU_CLICKED","KEYBOARD_SHORTCUT_MODAL","SEARCH_RENDER_STATUS_REPORTED","ICON_MAP","user","lightbulb","home","mobile","comment","mail","locked","database","book","drawer","folder","catalog","tab","cards","tree","paperclip","edit","trash","image","search","power","cog","star","dashboard","calendar","script","add","delete","help","alert","form","livefeed","hr","phone","cross","preview","unlocked","menu","check","subtract","ellipsis","link","cart","info","refresh","first","last","workspace","selector","queue","shift","ele","querySelector","topShadow","shadowRoot","push","allSearched","querySelectorAll","i","module","exports","cssWithMappingToString","toString","this","map","item","content","needLayer","concat","join","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","url","options","String","__esModule","test","slice","hash","needQuotes","replace","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","import","importRes","y","x","__webpack_require__","d","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__","HASANA_FILTER","HighlightedLabel","INCLUDES","PREFERENCES","SEPARATOR","SYS_PROPS","createAuthedOnlyHttpEffect","createHttpEffect","createMenuTooltipFocusHandlers","createMenuTooltipHandlers","createMenuTooltipHoverHandlers","effectProxy","executeFilter","getBooleanPreferenceValue","getBooleanProperty","getPreferenceValue","getSearchAnnouncement","onMouseEnterHeaderItem","onMouseEnterHistoryItem","onMouseEnterIconItem","onMouseEnterLabelItem","onMouseLeaveItem","requestIdleCallback","scheduleHideTooltip","scheduleShowTooltip","assign","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","declarativeOperations","whenAllComponentsIdle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__","guid","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createRef","dangerouslyCreateElementFromString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","capitalize","clone","cloneDeep","differenceWith","escape","every","floor","get","groupBy","intersection","isArray","isFunction","isInteger","isNil","isUndefined","kebabCase","noop","omitBy","partition","pick","random","reduce","remove","set","size","some","sortBy","take","throttle","toNumber","toPairs","uniqBy","values","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","bind","n","r","hasOwnProperty","call","apply","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","getter","a","definition","o","defineProperty","enumerable","obj","prop","prototype","Symbol","toStringTag","b","baseURI","self","location","href","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deleteKeyboardShortcutOverride","deregisterComponent","getAllPrettifiedShortcuts","getKeyboardShortcutOverrides","handleShortcutKeyDown","isMac","isModifierKeyPressedWithKey","prettifyMacShortcut","prettifyWindowsShortcut","registerComponent","restoreDefaults","setActionState","setKeyboardShortcutOverride","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__","createTooltipActionHandler","unschedule","LOGOUT_REQUESTED","LOGOUT_CONFIRMATION_YES_CLICKED","LOGOUT_CONFIRMATION_CANCEL_CLICKED","LogoutConfirmation","variant","clickActionType","BEHAVIOR_NAME","FAVORITE","FAVORITES","FAVORITE_REQUESTED","FAVORITE_GROUP_REQUESTED","FAVORITE_DELETE_REQUESTED","FAVORITE_DELETE_MULTIPLE_REQUESTED","FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED","FAVORITE_DELETE_MODULE_REQUESTED","FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED","FAVORITE_DELETE_GROUP_REQUESTED","FAVORITE_UPDATE_ALL_REQUESTED","FAVORITE_ENTRY_ADDED","FAVORITE_ENTRY_REMOVED","FAVORITE_CREATE_SUCCEEDED","FAVORITE_REMOVE_SUCCEEDED","FAVORITE_FAILED","FAVORITE_EDIT_SUCCEEDED","FAVORITE_CHECK_REQUESTED","FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED","FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED","LAYOUT_ITEM_UNFAVORITED","LAYOUT_ITEM_FAVORITED","FAVORITE_POPUP_CLOSED","FAVORITE_POPUP_INFO_UPDATED","FAVORITE_POPUP_RENDERED","FAVORITE_POPUP_DESTROYED","FAVORITES_COMMUNICATED_TO_SW","SYNC_ALL_MENU_AND_TITLE","SYNC_FAVORITES_COMPLETE","FAVORITE_DELETE_MODAL_CANCEL_CLICKED","FAVORITE_DELETE_MODAL_REMOVE_CLICKED","FavoriteDeleteModal","START_DEBUGGING_CONFIRMATION_REQUESTED","START_DEBUGGING_CONFIRMATION_CLICKED","ScriptDebuggerConfirmation","DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED","DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED","DirtyFormConfirmation","pageTitle","formDisplayValue","pageLabel","substring","lastIndexOf","dash","trim","getPageDisplayValue","UserSessionNotification","isPinned","UserUINotification","manageItems","stackThreshold","MessageStackServiceNotification","alerts","status","icon","LEGACY_SCREEN_PRINTER_VIEW_VISIBLE","PRINTER_FRIENDLY_VERSION_REQUESTED","PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED","PRINTER_FRIENDLY_CONFIRM_CLICKED","PRINTER_FRIENDLY_CANCEL_CLICKED","PrinterConfirmationModal","message","newForm","footerActions","GuidedToursModal","guidedToursPrompt","guidedTour","headerLabel","manageOpened","appendToMeta","disableClose","NOW_ASSIST_BEHAVIOR","NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED","NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED_SUCCEEDED","NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED","NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED_SUCCEEDED","AIEL","NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL","NOW_ASSIST_CHAT_MESSAGE_RECEIVED","FETCH_CONVERSATION_COUNT","FETCH_CONVERSATION_LIST","FETCH_CONVERSATION_LIST_SUCCESS","FETCH_CONVERSATION_COUNT_SUCCESS","CHECK_MULTI_CONVERSATION_ENABLED_NAP","CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS","AIEL_SERVICE_UNAVAILABLE","AIEL_UNAVAILABLE_MODAL_DISMISSED","AIEL_SERVICE_AVAILABLE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__","getIcon","localizePresence","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__","TOOLTIP_ADD_TARGET","TOOLTIP_REMOVE_TARGET","tooltip","workspaceDirtyIcon","renderDirtyWorkspaceIcon","iconClass","elm","target","renderLeafIcon","color","menuStateBeforeDirty","Map","membersModified","ROLE_NAMES","STATE_PATH_PARTS_ENABLED","STATE_PATH_IS_ENABLED","ARIA_LIVE_STATE_PATH","NOTIFICATION_STATE_PATH","NOTIFICATION_UNREAD_STATE_PATH","NOTIFICATION_CURRENT_SYSID_PATH","NOTIFICATIONS_LAST_VIEWED_KEY","NOTIFICATION_OBJECT_KEYS","MESSAGE_TYPES","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__","HOME_PAGE_SELECTED","MAIN_LOGO_LOADED","HEADER_LOGO_CLICKED","HEADER_EXPERIENCE_MENU_CLICKED","SCREEN_CONTENT_LINK_ITEM_SELECTED","LOGO_IMAGE_UPDATED","fn","ignoreSpace","interactionHandlers","moreHandlers","event","defaults","isPolarisEnabled","features","featureSettingsInit","initialFeatures","userPreferences","UI","POLARIS_EXPERIENCE","isHelpEnabled","SHOW_HELP","EMBEDDED_HELP_ENABLED","isMenuEnabled","POLARIS_MENUS","isDirtyFormEnabled","DIRTY_FORM_SUPPORT_ENABLED","isPrintingEnabled","PRINTER_FRIENDLY_ENABLED","isCoreUINotificationPrefEnabled","CORE_UI_NOTIFICATION_PREFERENCE","isNotificationEnabled","NOTIFICATION_ENABLED","calculatedFeatures","getFeatureSettings","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__","domPurifyConfig","ALLOWED_TAGS","ALLOWED_ATTR","DANGEROUS_TAGS","DANGEROUS_ATTRIBUTES","hasScriptOrStyleTag","normalizeHtml","isAllowedHtml","allowScripts","dangerousTags","doc","DOMParser","parseFromString","getElementsByTagName","el","toLowerCase","hasDangerousHtmlTags","childNodes","nodeType","validateAndEscapeHtmlIfNeeded","hasNonBreakingSpace","htmlString","cleanedHtml","implementation","createHTMLDocument","fragment","createDocumentFragment","temp","innerHTML","firstChild","appendChild","isValidHtml","scriptConfig","tag","ADD_ATTR","config","DOMPurify","removeHtmlFromDescription","description","indexOfDescription","indexOf","div","KEEP_CONTENT","textContent","openHomePage","headerLogoTarget","selectedContent","logoTarget","external","JSON","stringify","params","parse","resolveUserSession","async","getEarlyEvaluation","property","_window$__uxf_data_hy","_Object$values$find","responses","__uxf_data_hydration_registry","evaluationByPipelineId","find","macroponentSysId","responseMacroponentSysId","resolvePipelineResult","evaluationByPipeline","getLogoImage","logoContextPath","coreUILogoSrc","isThemeBuilderOverriding","logoImage","DEFAULT_LOGO","logoImageSrc","_window$ux_globals$th","_window","_themeOptions$userPre","_themeOptions$variant","_themeOptions$variant2","default_src","themeOptions","ux_globals","theme","currentThemeSysId","userPreferenceVariant","imagesFromAsset","variants","assets","category","image_obj","images","_image$properties","findImage","getLogoSource","View","_selectedContent$cont","logoRoute","logoName","PRODUCT_NAME","logoText","PRODUCT_DESCRIPTION","POLARIS_LOGO_ALLOW_SCRIPTS","THEME_BUILDER_OVERRIDE","logoEl","sanitizedLogoName","sanitizedLogoText","tabIndex","createInteractionHandlers","handleLogoInteraction","onLogoClick","onExperienceLogoClick","on-load","on-error","src","alt","parentElement","targetRef","hook-destroy","appendClearStack","isRelative","startsWith","origin","urlObject","pathname","targetUrl","decodeURIComponent","searchParams","append","encodeURIComponent","transformedUrl","getHref","shouldOpenUI16TabsInsidePolaris","_item$route","_item$route2","_item$route3","_item$route4","command","renderLabel","polarisTabClass","mainMenuState","isMenuPinned","canBePinned","primaryMenuId","secondaryMenuId","_menuItems$find","menuItems","onTabSelect","onNavigationResize","hasDirtyWorkspaces","selectedTabRef","resizeObserverCb","activeTab","altActiveTab","onOpenMenu","menuId","isDirty","ref","current","itemLabel","entries","contentRect","menuItem","_menuItem$subItems","subItems","collapseOnSingleItem","cantShowAsBrowserLink","isActive","isOverflow","getMenuItemHref","tabindex","ariaLabel","headerCreateMenuHrefHandlers","_ref6","_ref7","_ref8","_ref9","overflowMenu","subId","isWorkspaceInOverflowMenu","LINK_TYPES","USER_SETTINGS_SEND_EVENT_REQUESTED","USER_SETTINGS_MODAL_OPENED","USER_SETTINGS_UPDATE_STATE","getExperienceUserMenuItems","experienceUserMenu","_userMenu$value","userMenu","experienceUserMenuItems","_i$value","afterIcon","addIconsToExperienceUserMenuItems","linkToMenuItem","order","uri","UserMenuButton","eventSource","disabled","buttonLabel","buttonRef","renderDivider","_menuData$userMeta","_menuData$userMeta2","_menuData$userMeta3","_menuData$userMeta4","_menuData$userSession","_menuData$userMeta5","_menuData$userMeta6","_menuData$userMeta7","_menuData$contextualM","menuData","screenContentLinks","fullName","userMeta","displayName","userTitle","title","avatarPath","avatar","presence","userSession","isImpersonating","canImpersonate","printerFriendlyEnabled","impersonateButtonEnabled","IMPERSONATE_BUTTON_ENABLED","impersonationEnabled","elevatedRoles","elevateRoleEnabled","sortedExperienceUserMenuItems","_obj$value","_obj$value2","getSortedExperienceUserMenuItems","interaction","contextualMenu","instanceName","KEYBOARD_SHORTCUTS_ENABLED","renderExperienceNavItem","renderScreenContentLinks","SN_DRILLDOWN_LIST_TOGGLE","FILTER_SEARCH_UPDATED","NAV_SUB_MENU_ITEM_SELECTED","NAV_SUB_MENU_ITEM_FAVORITED","NAV_SUB_MENU_ITEM_UNFAVORITED","NAVIGATION_REQUESTED","SHOW_MENU_ITEM_TOOLTIP","HIDE_MENU_ITEM_TOOLTIP","FOCUS_FIRST_FILTERED_NAV_ITEM","CLICK_FIRST_FILTERED_NAV_ITEM","MENU_CONTENT_FOCUSED","TOGGLE_ALL_RESULTS","TOGGLE_FAVORITE_RESULTS","TOGGLE_OTHER_RESULTS","NO_TOGGLE","SN_DRILLDOWN_SET","drilled","updateProperties","isDrilled","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__","getFocusableNodes","handleFocusFirstNode","SN_DRILLDOWN_LIST","_menu$buttonConfig","_menu$buttonConfig2","_menu$buttonConfig3","animationsEnabled","dir","forceFocus","indicatorOn","headerText","source","focus","hint","buttonConfig","badgeCount","maxDigits","openNewMenu","behaviors","behavior","require","rtlBehavior","focusBehavior","ctrlKey","metaKey","shiftKey","actionType","SN_COLLAPSIBLE_LIST_TOGGLE","DEFAULT_ICON_SIZE","pixelSize","DEFAULT_ICON_PIXEL_SIZE","loadIcon","iconName","iconSize","svgTemplate","svgPaths","iconType","reversed","SeparatorItem","HeaderItem","_menu$match","isOpen","actions","searchTerm","filterMethod","rootMenu","parentMenu","headerIsSelectable","itemInteractionDispatchAction","showHiddenControls","selected","selectable","text","matches","match","display","renderIcon","MenuItem","isGroup","preventHighlight","_item$subItems","listSize","Leaf","_menu$subItems$findIn","_menu$subItems","_menu$subItems$length","_menu$subItems2","_rootMenu$firstFilter","_rootMenu$firstFilter2","_item$match","labelIndex","findIndex","subItem","referrerPolicy","REFERRER_POLICY","firstFilteredNavItem","createMenuHrefHandlers","picker","isSelected","A","X_FLUSHSTAMP","MENU_ENTRY_ADDED","MENU_ENTRIES_UPDATED","MENU_ENTRY_REMOVED","REPLACE_MENU_SUBITEMS","MENU_REFRESH_REQUESTED","MANUAL_MENU_REFRESH_REQUESTED","MENU_REFRESH_REQUEST_SUCCEEDED","MENU_HEADERS_UPDATE_REQUESTED","MENU_LOADED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","defineMetric","getInteractionId","getMetricTypes","mark","metricTypes","track","eventName","metadata","interactionId","chevronDownPaths","operation","shouldRender","index","deepClone","expanded","MENU_EDIT_INITIATED","CLOSE_MENUS","CLOSE_POPOVERS","CLOSE_MODALS","PRE_SHORTCUT_CLEANUP_REQUESTED","PRE_SHORTCUT_CLEANUP_SUCCEEDED","PRE_SHORTCUT_CLEANUP_FAILED","CLOSE_CONTEXTUAL_MENU","MAIN_MENU_PINNED","CONTEXTUAL_MENU_PINNED","TAB_PRIMARY_SELECTED","CONTEXTUAL_MENU_SELECTED","OVERFLOW_MENU_ITEMS_CHANGED","ROUTE_MAP_UPDATED","NOTIFICATION_DATA_UPDATED","MAIN_CONTENT_FOCUSED","MAIN_CONTENT_FOCUSED_REQUESTED","ALL_MENU_TOGGLED","ALL_MENU_FOCUSED","ALL_MENU_FOCUSED_REQUESTED","FAVORITES_MENU_FOCUSED_REQUESTED","HISTORY_MENU_FOCUSED_REQUESTED","WORKSPACES_MENU_FOCUSED_REQUESTED","NOTIFICATIONS_MENU_FOCUSED_REQUESTED","OPEN_FRAME_FOCUSED_REQUESTED","WINDOW_RESIZED","FEEDBACK_FORM_BUTTON_CLICKED","OPEN_UTILITY_MENU","TOGGLE_UTILITY_MENU","IMPERSONATION_OPEN_REQUESTED","HELP_MENU_FOCUSED_REQUESTED","NOW_ASSIST_PANEL_FOCUSED_REQUESTED","VOICE_INPUT_PANEL_FOCUSED_REQUESTED","MENU_FOCUSED","OPEN_LANDING_PAGE_REQUESTED","USER_MENU_FOCUSED_REQUESTED","CHAT_MENU_FOCUSED_REQUESTED","ADMIN_MENU_FOCUSED_REQUESTED","TOOLBAR_FOCUSED_REQUESTED","FAVORITE_CURRENT_PAGE_REQUESTED","FAVORITE_TOGGLE_CURRENT_PAGE","KEYBOARD_BEHAVIOR_MODAL_OPENED","EXPEREIENCE_TITLE_RESIZED","REGISTER_WINDOW_MANAGER","SN_COLLAPSIBLE_LIST","beenOpened","_menu$subItems3","open","initialState","editMenuBehavior","CONCOURSE_PICKER_CLICKED","CONCOURSE_PICKER_ITEM_SELECTED","CONCOURSE_PICKER_OPEN_RECORD_CLICKED","CONCOURSE_PICKER_SEARCH_TEXT_ENTERED","CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED","CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED","CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED","DOMAIN_CHANGE_REQUESTED","DOMAIN_CHANGE_SUCCEEDED","DOMAIN_RESET_REQUESTED","DOMAIN_UPDATE_REQUESTED","DOMAIN_SEARCH_REQUESTED","FilterInput","onInput","onKeyDown","onFocus","onBlur","onInputClear","hasFocus","inputRef","htmlFor","placeholder","autocomplete","relatedTarget","classList","contains","input","SN_DRILLDOWN_LIST_SOURCES","Loader","IntersectionObserver","isIntersecting","fromScrolling","_contextualMenu$heade","_contextualMenu$drill","_selectedMenu$subItem","_selectedMenu$subItem2","canAnimate","drilldownItems","selectedPicker","singlePicker","getSelectedPicker","selectedMenu","selectedItem","openRecordTarget","showCollapsibleList","createNewUpdateSet","isReferencePickerEnabled","DOMAIN_REFERENCE_PICKER_ENABLED","getSelectedMenuData","currentPickerItems","RECENT_CONCOURSE_PICKER_ITEMS","recentItems","activeIds","ids","traverseMenu","sysId","gatherActiveIds","filterInactiveRecentItems","showRecentSelections","inOverflow","drilledMenu","indicator","sideIcon","sideIconRoute","inputHasFocus","term","firstFilteredItem","hook-insert","menuItemView","highlightSelectedItem","_contextualMenu$menuD","_contextualMenu$menuD2","isHighlightedItem","itemName","TEST_USER_IMPERSONATED","IMPERSONATION_MODAL_OPENED","END_IMPERSONATION_REQUESTED","CANVAS_GLOBAL_ERROR","getBooleanPropertyWhenPolarisEnabled","propertyName","defaultValue","positionNavigationItems","mainLogoWidth","menuWidth","isRTL","topNavigationElement","navigationChildren","topNavigationBounds","overflowTabWidth","logoNavPadding","leftOffset","totalLeft","isOverflowing","overflowMenuItems","widthConstraint","minWidth","placeNavItem","navigationItem","marginInlineEnd","_navigationItem$class","_menuItems$i","itemWidth","newItemLeft","_navigationItem$class2","_navigationItem$class3","_menuItems$i3","_menuItems$i4","_menuItems$i2","setAttribute","_menuItems","_menuItems2","template","positionUtilityMenuItems","_contextualMenu$overf","utilityMenuData","utilityMenuDataWithExtraButton","contextualMenuState","useUtilityBar","INSTANCE_TOOLS_DISABLED","utilityBarVisible","includeUtilityBar","headerControls","endingHeaderZone","searchZone","utilityMenuZone","utilityMenuButtons","avatarButton","utilityMenuButtonWidth","utilityMenuFullWidth","endZoneWidth","pinnedMenuWidth","searchZoneWidth","overflowButton","buttonOverflowDifference","numberOfButtonsToHide","ceil","overflowingMenuItems","utilityMenuButtonsIndexLength","totalBadgeCount","_utilityMenuData$i","_currentMenuConfig$me","_utilityMenuData$i2","currentButton","currentMenuConfig","menuConfig","currentMenuId","menuProperties","menuType","isCurrentPinned","pinnedMenuId","_currentButton$classL","_currentMenuConfig$me2","_currentMenuConfig$me3","_currentButton$classL2","_overflowButton$class","_overflowButton$class2","overflowBadgeCount","positionHeaderItems","posUtilItems","ELEVATE_ROLES_REQUESTED","ELEVATE_ROLE_MODAL_OPENED","ELEVATE_ROLE_MODAL_DISMISSED","ELEVATE_ROLES_REFRESH_SUCCEEDED","isDeepEqual","object1","object2","objKeys1","objKeys2","value1","value2","isObjects","isObject","isFunctions","NOTIFY_REQUESTED","EXISTING_NOTIFICATIONS_SET","NOTIFICATION_OPENED","NOTIFICATIONS_CLEARED","NOTIFICATION_TOAST_CLEARED","FETCH_MORE_NOTIFICATIONS_REQUESTED","NOTIFICATION_MENU_OPENED","UNREAD_NOTIFICATIONS_COUNT_SET","FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__","buildMessage","short_description","priority","buildAlertItem","userId","sys_id","fields","time_stamp","alert_sys_id","is_read","raw_time_stamp","message_type","toastItem","item_type","custom","customChanges","f","field_name","field_label","field_value","field_displayValue","infoIcon","buildCustomToastItem","assignedToMe","nextExperienceItem","newMessage","message_heading","message_icon","record_display_value","action_name","action_payload","tagline","actionName","actionPayload","buildNextExperienceItem","table_label","prefix","buildNewAssignedToastItem","updated_by","isSingleFieldChanged","buildUpdatedToastItem","local","cacheEnabled","polarisCacheEnabled","POLARIS_CLIENT_CACHE_ENABLED","disabledCache","POLARIS_DISABLED_CLIENT_CACHE_TYPES","defaultTTL","POLARIS_CLIENT_CACHE_TTL_SECONDS","language","createPrefix","createKey","i18n","bustKey","namespacedKey","ttl","ts","sessionToken","currentSession","g_ck","bustQueue","isKeyBusted","splice","setItem","Date","now","removeItem","debug","clear","enable","getTriggeredBy","triggered_by","displayValue","display_value","toUpperCase","buildAlertPayload","baseProps","tableLabel","assigned_to","previousValue","fieldLabel","decodePayload","_alert$target","_alert$sys_id","_alert$target_table","sys_created_on","target_table","moment","valueOf","error","isDuplicate","notification1","notification2","purgeOldAlerts2","alertQueue","rawAlerts","trayState","alertsToKeep","it","alertsToDelete","deleteQueue","al","alreadyProcessedAlertSet","deleteTarget","_alert$trigger","_alert$route","record_sys_id","dupeId","parsedValue","transformGraphQLAlert","_alert$route2","_alert$trigger2","getDateString","dateObj","userTimezoneOffset","Number","tzAdjustedDate","getTime","date","time","toISOString","unreadNotificationCountConditional","currentDate","sevenDaysAgo","setDate","getDate","lastViewedDate","cache","queryString","SEARCH_CONTEXT_UPDATED","SEARCH_INPUT_ONRESIZE","SEARCH_DROPDOWN_OPENED","GLOBAL_SEARCH_FOCUSED","SEARCH_ROUTE_MAP_CACHE_PREFIX","DYNAMIC_ROUTE_REQUESTED","DYNAMIC_ROUTE_SUCCEEDED","DYNAMIC_ROUTE_ERRORED","DYNAMIC_ROUTE_FETCH_REQUESTED","getExperienceSearchConfig","experienceConfigs","selectedContext","_parsedViewConfig","_parsedViewConfig2","isLoggedIn","experienceConfig","experienceLabel","searchViewConfig","routeConfigId","searchEngine","enableExactMatch","headerConfig","searchEnabled","privatePage","publicPage","userPage","parsedViewConfig","globalSearchViewConfigId","globalSearchRoute","itemSearchContext","getSelectedSearchContext","getPolarisSearchContext","polarisSearchContexts","polSearchConfig","pageProperties","global_search_configurations","globalSearchDataConfigId","buildAvailableSearchContext","selectedSearchContext","globalSearchEnabled","_selectedContent$cont2","searchContextList","globalSearchConfig","contextConfig","handleSearchReflow","polarisHeader","startingZone","endingZone","centerZone","utilMenu","searchContainer","searchExpandedBreakpoint","openURLInNewTab","externalWindow","searchContexts","searchContext","_host$shadowRoot$quer","_host$shadowRoot$quer2","typeaheadInput","comboboxInput","select","userAction","recordUrl","isExternalUrl","openInNewTab","searchRouteMap","previousContext","parsedPreviousContext","getMenuType","CONTEXT_MENU_HEADER_TYPES","TEXT","FILTER","UPDATE_UTILITY_MENU_ITEMS","UTILITY_MENU_UPDATED","START_TRACK_TIME","END_TRACK_TIME","CONCOURSE_FETCH_TIME_PATH","FETCH_PLUGINS_TIME_PATH","CREATE_FAVORITE_TIME_PATH","MENU_RENDER_TIME_PATH","FETCH_MENU_TIME_PATH","HEADER_RENDER_TIME_PATH","COMPONENT_RENDER_REQUESTED","handleExperienceNavigationClick","opensWindow","linkValue","formatURLByType","handleFirstLoad","primaryMenuLoading","pinnedTabLabels","pinnedMenuItem","innerText","pinnedUtilityButton","pinnedIcons","opacity","metric","requestUnreadCount","_properties$userMeta","unreadConditional","timeZoneOffset","condition","measureButtonPlacement","utilityMenuItemLeftPositions","buttonContainer","buttonList","menuItemLeftPositions","hiddenOverflowOffset","pinningOffset","firstButton","secondButton","secondButtonLeft","gridGap","buttonWidth","buttonLeftOffset","buttonListIndex","doHeaderReflow","shouldComponentRender","lastMenuItem","subTemplate","logoWidth","coeffect","headerNavigationElemRef","navMenuElem","previousState","newState","changedProps","didStateChange","pinnedMenu","useFirstTab","primaryMenu","hasAttribute","removeAttribute","secondaryMenu","notificationData","notifications","isFetchingUnreadCount","previous","element","_current$index","isMenuListUpdated","isSyncingFavorites","_payload$previousValu","_payload$value","oldFavorites","newFavorites","favoriteMenu","_properties$menuItems","hasWorkspaces","oldHasDirtyWorkspace","requestAnimationFrame","previousWidth","newWidth","breakPoint","showMenu","experienceMenuClick","handler","_payload$event","handleEvent","logoBounds","logoContainer","cachedLogoWidth","_ref10","recordSysId","_ref11","_ref12","COMPONENT_DOM_TREE_READY","_ref13","_ref14","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__","deepFind","array","setParents","parents","deepResult","ENCRYPTION_PICKER_REFRESH_REQUESTED","ENCRYPTION_CHANGE_REQUESTED","registerLifecycleFn","lifecycle","runWhenIdle","post","POLARIS_DISABLE_DEFER","fns","_getProperty","timeout","PAGE_LOAD_TIME_OUT","CONCOURSE_CURRENT_DATA_REQUESTED","CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED","CONCOURSE_DATA_LISTS_REQUESTED","CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED","CONCOURSE_REBUILD_CONFIG_REQUESTED","ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED","ENCRYPTION_CHANGE_SUCCEEDED","encryptionPickerEffect","method","queryParams","successActionType","encryptionChangeEffect","dataParam","batch","cryptoModulePickerEffect","cryptoModuleChangeEffect","CRYPTO_MODULE_REFRESH_REQUESTED","CRYPTO_MODULE_CHANGE","ENCRYPTION_CONTEXT_REFRESH_REQUESTED","ENCRYPTION_CONTEXT_CHANGE","CACHE_KEY","ENCRYPTION_CONTEXT_CACHE_TYPE","CRYPTO_MODULE_CACHE_TYPE","userSettingsAccess","showEncryptionPicker","showCryptoModulePicker","availableEncryptionContexts","_meta$request","request","data","normalizedAvailableEncryptionContexts","APPLICATION_CHANGE_REQUESTED","APPLICATION_CHANGE_SUCCEEDED","APPLICATION_REFRESH_REQUESTED","APPLICATION_REFRESH_REQUEST_SUCCEEDED","UPDATE_SET_CHANGE_REQUESTED","UPDATE_SET_HTTP_REQUEST_SENT","UPDATE_SET_HTTP_REQUEST_SUCCEEDED","UPDATE_SET_HTTP_REQUEST_FAILED","UPDATE_SET_REFRESH_REQUESTED","UPDATE_SET_REFRESH_REQUEST_SUCCEEDED","getConcoursePickerConfig","currentApplication","currentApplicationLabelShort","currentApplicationLabel","currentUpdateSet","currentUpdateSetLabelShort","currentUpdateSetLabel","currentDomain","currentDomainLabelShort","currentDomainLabel","currentEncryptionContext","currentEncryptionContextLabelShort","currentEncryptionContextLabel","concoursePickerTooltip","applicationIndicator","updateSetIndicator","domainIndicator","availableApplications","availableUpdateSets","availableDomains","showApplicationPicker","showUpdateSetPicker","showDomainPicker","defaultDomain","domain","_availableEncryptionC","showConcoursePickerButton","slotted","drilldownListItems","toolIcon","updateSet","direct","concourseDataFetched","openedMenus","hasBeenOpened","directPicker","field","acc","p","menuName","menuGroup","query","selectedPickerItem","currentApp","maxSelectionLength","CONCOURSE_PICKER_MAX_RECENT_ITEMS","recentSelectionsPreference","newPickerItem","domainPickerEnabled","pickerItem","unshift","pop","updateRecentSelections","app_id","filteredList","usedSearchTerm","_executeFilter","firstItem","modifier","defaultScope","lastOpenPicker","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","dynamicRouteEffect","variableList","errorActionType","postFn","routeMap","variables","errors","_gql$data$GlideUxDyna","gql","_gql$data","GlideUxDynamicRoute_Query","dynamicRouteConfig","mappingGroups","mappingGroup","getMapping","resultMap","mappings","mapping","source_component","source_key","OPENFRAME_BEHAVIOR_CHECK_CONFIG","OPENFRAME_BEHAVIOR_OPEN_WINDOW","OPENFRAME_BEHAVIOR_SET_REF","OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__","findTabbableNodes","eventHandlers","events","menuState","closeMenuAction","closedByKeyboard","allTabbableElements","focusedTrappedComponents","currentElementIndex","isFocusUpFromFirstEl","isFocusDownFromLastEl","handleTab","isInput","isContentEditable","_currentItem$classLis","tabbableElements","_n$classList2","currentItem","_a$classList2","itemParent","nextItem","isCollapsibleList","isRoot","_a$classList3","isCollapsed","isEndNode","isChildNode","_tabbableElements$nex2","click","_path$slice$find","currentItemContainerIndex","parent","_n$classList3","previousSibling","handleLeftRightArrows","_tabbableElements$nex","_n$classList","_a$classList","handleUpDownArrows","firstMenuItem","_n$classList4","scrollIntoView","handleHome","findLast","_n$classList5","preventScroll","handleEnd","PinButton","pinEventName","isPrimary","isWideMenu","currentMenuPinned","pin","favorites","doPinning","pinnedThroughUI","PopoutButton","basePanelIcon","popout","on-click","handleKeyDown","TopArrow","MenuHeader","headers","headerType","canToggleWideMenu","headerButtonsConfig","wideMenu","tooltipContent","MenuBody","COMPONENT_DISCONNECTED","moveContextualMenu","_menuContainerRef$cur","menuContainerRef","hostElement","utilityMenuButton","buttonId","_menuState$utilityBar","barMenuId","utilityBarRef","defaultMenuWidth","windowWidth","itemRect","menuUnpinnedLeft","itemLeft","itemRight","newMenuStart","menuTopElem","gridTemplateColumns","menuContainer","buttonRect","containerRight","buttonRight","halfMiddleColWidth","newRight","MoveTopArrow","handleNotificationsMenuOpen","MAX_SAFE_INTEGER","unreadCount","isActivePrimaryMenu","navElement","drilldownElement","handleMenuStateChange","_menuState$utilityBar2","isContextualMenuClosed","activeModal","componentId","isTouchDevice","CONTEXTUAL_MENU_ELEMENT","_contextualMenu$drill2","menuIndex","shouldAlwaysRender","inert","nowAvoidRender","computed","overlayBehavior","menuKeyboardNavBehavior","ActionButton","bare","count","AvatarButton","isElevated","elevatedRole","handleMenuOpen","createAriaLabel","UtilityButton","_payload$triggerAriaL","showBadgeCount","badgeDot","showPresence","iconElm","pinned","triggerAriaLabel","contextualMenuHeaderText","mapOverflowMenuItems","_menuItem$buttonConfi","_menuItem$buttonConfi2","menuUtilProperties","helpPanelAppContext","initialTab","fragmentProperties","hideHeader","menuContent","slotInOverflowMenu","_contextualMenu$previ","previousDrilledMenu","getClassicTable","getClassicSysId","URLSearchParams","FEEDBACK_FORM_ACTIONS","RadioButtons","question","formValues","option","rank","numOptions","sidebar","TextArea","maxlength","resize","rows","showCounter","ModalContent","hasBeenSubmitted","questions","illustration","FeedbackFormQuestions","FeedbackFormFooter","feedbackText","ModalButtons","formValueKeys","isValid","sendFeedback","isOpened","customSize","headingLevel","code","ConcoursePickerFragment","slot","ConcoursePickers","BellMenuFragment","userTimeZoneOffset","isMoreNotifications","ChatMenuFragment","isCollabChatSearchEnabled","collabChatId","menuContext","currentRecordTable","currentRecordId","HelpMenuFragment","_window$customElement","feedbackFormEnabled","isHelpPanelVisible","overflowVisible","isHelpPanelLoaded","customElements","showHelpPanel","appContext","setInitialFocusInPanel","visible","margin","NowAssistFragment","napShortcutCommand","conversationId","UsageAnalyticsFragment","_window$customElement2","applicationId","pageId","isUsageAnalyticsPanelLoaded","showBorder","usePolarisHeader","UserMenuFragment","UserMenu","OverflowUtilMenuFragment","OverflowMenu","isContextualMenuActive","utilityMenuRef","isActiveSecondaryMenu","isBarOpen","uiPresenceDisabled","PRESENCE_DISABLED","UtilityMenu","_contextualMenuState$","currentRouteHeaderConfig","headerProperties","isAIELEnabled","userMenuItems","onOpenContextualMenu","dispatchedAction","utilityMenuItem","contextualMenuType","defer","_contextualMenuState$2","isHelpMenu","_menuConfig$menuPrope","hasExternallyManagedMenu","animationEnabled","additionalData","getFragmentProperties","snContextualMenu","forUtilityBar","aiSearchEnabled","POLARIS_AI_SEARCH_READY","SearchContainer","renderSearch","searchInputVariant","searchContextConfigId","placement","ExperienceTitlePill","selectedContentFavorite","favoriteSR","favoriteTooltip","tempFavoriteStarFill","hideFavoriteTooltip","titleElm","_elm$parentElement","_elm$parentElement2","fromExperienceTitle","popupRef","currentTarget","favoritePopupPayload","initialName","validateSearchPage","_selectedContent$para","_selectedContent$para2","formatSearchPageTitle","separator","getExperienceLabelAndFavoriteTooltip","bypassExperienceTitle","getElevatedRoles","_availableElevatedRol","availableElevatedRoles","activeRoles","roles","DEFAULT_CONFIG","notificationsEnabled","getCurrentRouteHeaderConfig","fieldCount","global","getSearchInputVariant","searchReflowBreakpoint","_window$ux_globals","isATF","SUBSCRIBE_TO_COLLAB_CHAT","INIT_COLLAB_CHAT","QUERY_UNREAD_COUNT","QUERY_UNREAD_COUNT_SUCCEEDED","COLLAB_CHAT_AMB_MESSAGE_RECEIVED","QUERY_COLLAB_RECORD","COLLAB_RECORD_QUERY_SUCCEEDED","OPEN_COLLAB_CHAT","COLLAB_MODAL_OPENED","COLLAB_MODAL_CLOSED","OPEN_COLLAB_CHAT_IN_DOCK","CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED","FLOATING_CONTAINER_RESIZED","COLLAB_PANEL_OPENED","TOGGLE_SEARCH_VISIBILITY","COLLAB_CHAT_MENU_HEADER_SEND_COMMAND","CHAT_MENU_ID","COLLAB_PANEL_HEADER_TEXT","COMPONENT_DOM_READY","refreshUtilityMenuData","isCollabChatEnabled","isUsageAnalyticsEnabled","showNowAssistMenu","openFrame","isNotificationsEnabled","unreadNotificationCount","concoursePickerConfig","openFrameConfig","wideMenus","nowAssistMenuBadgeCount","instanceToolsIcon","isUtilityBarTrigger","hostType","unreadChatCount","menuInOverflow","USAGE_ANALYTICS_CLICKED","helpContentIndicatorOn","_props$contextualMenu","_props$contextualMenu2","isHelpPanelPinned","showIcon","_openFrameConfig$AppO","_openFrameConfig$AppO2","_utilData$buttonConfi","_openFrameConfig$AppO3","menuHeaderText","AppOpenframe_Query","badge","utilData","iconSelected","WORKSPACES_SHOW_BADGE_COUNT","displayedCount","utilityButtonCount","menusThatUpdated","updatedUtilityMenuData","_routeMap$table2","workspace_global_search","_routeMap$table","useSelectedSearchContextRoute","USE_CURRENT_EXPERIENCE_CONTEXT","searchRoute","backButtonLabel","updateUrl","_parsedPreviousContex","shouldRenderWhenSet","process","unstableParse","isInboxEnabled","overflowMenuDrilldown","isFavorite","readOnly","_availableElevatedRol2","_userMeta$roles","_userMeta$elevatedRol","openFrameTagLoaded","forceMenuOpen","isLoadingMenu","defaultOpenFramePosition","openframeLockedPosition","openFramePositions","logoStyles","navigationStyles","userMenuStyles","concoursePickerStyles","_selectedSearchContex","_currentRouteHeaderCo","_openFrame$params","_openFrame$params2","_openFrame$params3","_openFrame$params4","prevSize","activeSearchContext","USE_CURRENT_EXPERIENCE_CONTEX","searchContextId","getActiveSearchContext","activeSearchTerm","locale","SYSTEM_LOCALE","NAV_FILTER_ACCURACY_SCORE","openframeBoundary","workspacesOrGlobalSearchEnabled","isWorkspaceOrGlobalSearchEnabled","workspaceSearchEnabled","isRenderingSearch","getScreenReaderContentForFavorite","isSuperFilterEnabled","SUPER_FILTER_ENABLED","isWorkspaceMenuPinned","experienceTitleConfig","Logo","isCurrentMenuLoading","isLoading","isOtherMenusLoading","headerMenuItems","nowMode","showHeaderFilter","showPrimaryFilter","menuPinable","primaryMenuPinable","useSuperFilter","Navigation","windowPositionedCorrectly","configuration","maxAllowedSize","number","hasInbox","isLegacy","callPayload","customPayload","dispatches","resizeBehavior","concoursePickerBehavior","searchDynamicRoutingBehaviour","utilityMenuBehavior","searchActionsBehavior","truncationBehavior","isFavoriteGroup","favorite","isCustomFavoriteGroup","isSeparatorGroup","createTypeaheadItems","returnArray","deleteFavorite","newStateFavorites","stateFavorites","refocus","fieldValue","stateName","stateGroup","groupId","parent_group","FAVORITE_POPUP_CONTENT","autofocus","required","minlength","favoritePayload","favoriteList","FavoritePopup","UtilityBar","productDescription","isBarMenu","SCHEDULE_FOR_PAGE_LOAD","loadingStateCleared","NOW_EXPERIENCE_SWITCH_REQUESTED","NOW_EXPERIENCE_SWITCH_INITIATED","NOW_EXPERIENCE_SWITCHED","NOW_EXPERIENCE_PAGE_LOAD_INITIATED","MAIN_CONTENT_LOADING","updatePresence","navigator","userAgent","hasSelectedContentChanged","previousSelectedContent","currentSelectedContent","showLoadingIndicatorEffect","mainContentLoading","passiveNavigation","_action$payload","update","user_agent","ua_time","limit","SKIP_LINKS_FOCUSED_IN","SKIP_LINKS_FOCUSED_OUT","SKIP_LINK_FOCUSED","ASIDE_RESIZED","preferences","preferenceFromChrome","preference","userPrefs","shortcut","shortcutStyler","MODE","ACTION","CELL","ERROR","ERROR_STRINGS","header","SPECIAL_CHARACTERS","Semicolon","BracketLeft","BracketRight","Quote","Comma","Period","Slash","Dash","Equal","modifierKeyA11yMap","Alt","Cmd","Ctrl","Opt","Shift","categoryOrder","categoryMap","global_navigation","page_navigation","page_actions","general","KEYBOARD_SHORTCUTS_SEARCH_TEXT_ENTERED","KEYBOARD_SHORTCUTS_RESET_DEFAULTS","KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL","KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM","INTERNAL_FOCUS_REQUESTED","KEYBOARD_SHORTCUTS_SHORTCUT_REMAP","KEYBOARD_SHORTCUTS_REFRESH","SHORTCUTS_CELL_SHORTCUT_REMAP","SHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT","SHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT","createSearchableShortcutsByCategory","shortcuts","sort","_a$label","localeCompare","categorizedShortcuts","categoryValue","cells","shortcutLabel","componentProps","keyCombination","shortcutSysId","readonly","selectedShortcutSysId","augmentList","mode","a11yLabel","getA11yShortcut","handleShortcutRemapKeyDown","_event$detail","CustomEvent","detail","KeyboardEvent","resolveKeyboardEvent","_keyName","altKey","keyName","createShortcut","getHeaderLabel","lowerKey","focusFirstNode","maxRetries","currentRetry","attemptFocus","firstNode","tabbableNodes","isConnected","offsetParent","isEditing","reflect","componentTag","getTableCell","closest","manageKeyboardShortcutListener","tdElm","_keydownHandler","removeEventListener","addEventListener","abandonEdit","editing","updatedShortcut","cell","onclick","onkeydown","catch","err","prettyShortcut","loading","platform","keyboardMetadata","updated","displayedShortcut","currentShortcut","a11yShortcut","inputValue","invalid","hideRequiredIndicator","messages","configAria","shortcutEditor","getFooterActions","hasOverrides","renderList","columnDefinitions","rowDefinitions","selectionEnabled","columnResizingEnabled","shadeAlternateRows","columnDragDropEnabled","cellEditingEnabled","rowDragDropEnabled","clickableTextEnabled","renderContent","filteredShortcutItems","errorDismissed","renderErrorBanner","isShortcutCustomizationEnabled","KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED","renderNavButtons","categoryGroup","categorizedList","columns","defaultComponentProps","cellEditingDisabled","placeholderDimensions","cellContentDimensions","ARIA_LIVE_REGION_UPDATE_REQUESTED","refreshShortcuts","shortcutsFn","overridesFn","searchableShortcuts","ignoreParentMatch","sortRecursively","_filteredList$subItem","globalShortcutItems","searchAnnouncement","replaceContent","_filteredList$subItem2","showConfirmResetModal","nodes","cancelledEdit","KEYBOARD_SHORTCUTS_MODAL","USER_SESSION_NOTIFICATION_REQUESTED","USER_NOTIFICATIONS_SUCCEEDED","USER_UI_NOTIFICATION_REQUESTED","ADD_HISTORY_ENTRY","HISTORY_UPDATE_REQUESTED","UPDATE_HISTORY","PUSHED_NOW_UI_HISTORY","PUSHED_NOW_UI_HISTORY_SUCCESS","PUSHED_NOW_UI_HISTORY_FAILURE","HISTORY_EVENT_FIRED_FROM_MAGELLAN","ADD_HISTORY_ENTRY_FOR_UI_PAGES","HISTORY_COMMUNICATED_TO_SW","LEGACY_FORM_MODIFIED","LEGACY_FORM_SUBMITTED","LEGACY_FORM_SUBMIT_ATTEMPTED","LEGACY_FORM_BEFOREUNLOADED","LEGACY_FORM_UNLOADED","INIT_GUIDED_TOURS","TOUR_MODAL_OPENED","TOUR_MODAL_CLOSED","TOUR_BEGIN","handleUINotification","getType","getText","getDuration","customEvents","magellanNavigator.permalink.set","relativePath","magellanNavigator.historyAdded","history","magellanNavigator:favoriteSaved","favoriteResponse","updateSelectedContentFavorite","magellanNavigator:favoriteRemoved","removedFavorites","polaris:legacy.createFavorite","form.isModified","gsft.formSubmit","back.gsftSubmit","sn:impersonate","sn:elevate_roles","sn:change_application","sn:change_update_set","setNotification","glide:ui_notification.system_event","_data$xml","xml","getAttribute","openframe_request","record.domain","collab:open_collab_chat","tour:modal_opened","tour:tour_start","buildDate","BUILD_DATE","depCSS","rel","head","tour:step_rendered","embedded_help:load_embedded_help","nowassist:open_utility_menu","_userSession","_userSession2","_userSession3","_userSession4","l","mainMenuPinnedId","MAIN_MENU_PINNED_ID","contextualMenuPinnedId","CONTEXTUAL_MENU_PINNED_ID","contextualMenuWideMenus","CONTEXTUAL_MENU_WIDE_MENUS","showHiddenControlsPref","SHOW_HIDDEN_CONTROLS","COLLAB_CHAT_ENABLED","isHelpAssistantEnabled","HELP_ASSISTANT_ENABLED","previousHeaderMenuItems","userRolesCount","previousUserRolesCount","showUtilityBarOnInitialLoad","DOMAIN_PICKER_SHOWN","APPLICATION_PICKER_SHOWN","UPDATE_SET_SHOWN","ENCRYPTION_SHOWN","isProductFeedbackEnabled","PRODUCT_FEEDBACK_FORM_ENABLED","UXF_METRICS_ENABLED","lastNowUiPageVisited","logoutConfirmationOpened","dirtyWorkspaces","recentIframeTitle","favoriteModalProps","wideMenuWidth","announceImpersonationStatus","isPinnedWindow","showUtilityBar","searchComponentLoadRequested","openChat","floatingContainerSize","showPanel","ctiRef","MAX_VALUE","helpAssistantEnabled","isHistoryEventFired","collabChatState","showCreateCollabChatModal","parentTable","parentSysId","collabChatLoaded","maxTouchPoints","msMaxTouchPoints","uiNotificationsMeta","totalRowCount","currentTooltip","CLEANUP_INTERVAL_MS","getToastInitialTimeout","getToastAfterFocusTimeout","timestamp","sortTabIdsByPriority","tabIds","feature","aHasFeature","bHasFeature","LoadingIndicator","AnnouncementsBanner","isMainContentReady","DISABLE_ANNOUNCEMENT_BANNER","configId","ANNOUNCEMENT_BANNER_CONFIG_ID","SkipLinksBar","skipLinksVisible","on-focusin","on-focusout","underlined","on-focus","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","ANNOUNCE_IMPERSONATION_START_KEY","ANNOUNCE_IMPERSONATION_END_KEY","runLifecycleFns","lifecycleFns","postFns","getLocationHref","getTitle","getLocationPathName","ENABLED_PLUGINS_REFRESHED","FETCH_UI16_DEPENDENCIES","IFRAME_NAVIGATION_START","PAGE_LOAD_INTERACTION_TYPE","interactionType","loadStartTime","setCoreUIInteractionType","setCoreUILoadStartTime","setGlobalInteractionId","nowUiFramework","uxrInteractionId","setCoreUIInteractionId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__","convertUrlToPayload","GJSV","DOWNLOAD_FORMATS","allowedDomains","NEXT_EXPERIENCE_ALLOWED_DOMAINS","getParsedUrl","dangerousPattern","targetParsed","safePath","getQueryString","queryObject","getRelativePath","iframeUrl","setIframeBackgroundColor","iframe","_iframe$contentWindow","iframeBackgroundColor","contentWindow","NOW","isUsingPolaris","getComputedStyle","contentDocument","backgroundColor","isSupportedExperience","_payload$context","redirectToSeismicRoute","stop","handleUrlChange","_currentValue$params","_iframeEl$style","currentValue","iframeEl","incomingUrl","currentUrl","iframeVisibility","visibility","redirect","_timestamp","setCoreUIInformation","userSettingsBuffer","getCoreUiIframe","changedPreferences","preferenceName","sendEventToFrame","frame","fireToWindow","_previousValue$params","getElementById","isDelayNeeded","shouldResetUrl","normalizedUrl","format","downloadUrl","downloadFrame","normalizeDownloadUrl","initIframeLoadListeners","frameBusterRouteChangeWithoutRedirect","convertedPayload","Promise","resolve","getPageTitle","formTemplate","showIframe","dispatchEvent","Event","fireAll","isDocumentHidden","visibilityState","showPrint","__frames","gsft_main","globals","transformTitle","labelSplitArr","reverse","getHelpContext","rawContext","_rawContext$context","page","app_route","waitForAllComponentsIdle","pause","initialExperiencePageLoadedCodeExecuted","handleContextualMenuClick","restOfState","handleMenuPinningReflow","canPinMainMenu","canPinContextualMenu","resetMainPinId","resetContextualPinId","loadStyleProps","_state$isAIELEnabled2","standardMenuWidth","parseInt","getPropertyValue","napMenuWidth","newMenuWidth","setProperty","isNaN","activeContent","handleResize","onblur","isPolarisWrapper","animationsDisabled","DISABLE_ANIMATION","seismicContentLoaded","hostComponent","menuFetched","alreadyOpen","_state$headerMenuItem","isUnsaved","notificationCount","pref","_pin","isNAPMenu","isAIEX","isMenuOpen","_mapOverflowMenuItems","dispatchedActionMap","matchingOverflowMenu","menuInfo","nowWindowManager","toggleDock","closeDock","_state$isAIELEnabled","favList","onlyAllEntryRecording","innerHeight","handleWindowResize","CANVAS_SCREEN_LOADED","_ref16","_window$CustomEvent","frameElement","_ref17","_window2","_window3","_state$helpPanelAppCo","impersonationStatus","_ref18","__timestamp","_ref19","_ref20","requestToCloseModals","SET","productName","suffix","_selectedContent$cont3","str","token","charCode","charAt","substr","fromCharCode","setTopLevelUrl","_ref21","_iframe$contentWindow2","timing","navigationStart","endTime","loadEventEnd","loadTime","screenParams","totalUiTime","experienceId","screenRoute","_interactionId","endsWith","markCoreUIInteractionComplete","historyItem","navigator_history","_ref22","_dirtyFrame$contentWi","magellan","setNavigatingState","dirtyFrame","modifiedForm","frames","formModified","dirtyFormConfirmationPayload","_ref23","_ref24","_properties$userSessi","enabledPlugins","userRoles","_ref25","active","uxf","_ref26","_ref27","GUIDED_TOURS_ENABLED","isGtdEnabledForStandardUI","_ref28","_focusableNodes$first","focusableNodes","firstFocusableElement","_focusableNodes$first2","_ref29","_ref30","_host$shadowRoot$quer4","_m$menu2","_ref31","_ref32","isMenuAlreadyOpen","overflowSubMenu","curr","overflowMatchingSubMenuItem","_ref15","_host$shadowRoot$quer3","overflowButtonFocus","navButtonFocus","_m$menu","_ref33","_ref34","_ref35","_ref36","printerConfirmationModalProps","favoriteDeletePayload","startDebuggingConfirmationOpened","_ref37","screenKey","sourceSelectedContent","_ref38","_payload$params","_ref39","sysid","normalizeOpenframeRibbonPayload","_ref40","newDirtyWorkspaces","isAlreadyDirty","_ref41","showFeedbackForm","_ref42","_ref43","_ref44","_coeffects$action$pay","_coeffects$action$pay2","isNowAssistUnavailable","nowAssistUnavailableModalOpened","launchMode","_item$label","_item$id","drilldownIntoMenu","_item$buttonConfig","isSecondaryMenu","newMenuList","_ref45","windowManager","DEV_STUDIO_INIT","getDependencies","depHandler","setupLegacyEventHandlers","depJS","onload","onerror","fetchPolarisUI16Dependencies","isNavigating","invokeWhenShouldFocus","currentWindow","existingEvents","warn","_window$__frames","Proxy","Reflect","OPEN_FRAME_CONFIG_REQUESTED","OPEN_FRAME_CONFIG_SUCCEEDED","OPEN_FRAME_CONFIG_ERROR","ALLOW_LIST_FOR_ROLES","OPENFRAME_STATE_PATH","OPENFRAME_ENABLED","openFrameConfigEffect","checkForOpenframeRole","openframeRef","configIcon","navIconClass","hasIcon","show","hasRole","ctiButtonRef","oldOpenframeRef","entity","_properties$selectedC","parent_table","parent_sys_id","doNotOpenForUI16","fallbackRoute","OPENFRAME_CUSTOM_EVENT","listMetadataMap","fixEncodedStateInRoute","encodedPersistedState","adaptMenuItem","canFavorite","createdTimestamp","createdTimestampOffset","timestampOffset","prettyTitle","isAllHistoryStrategy","shouldRecordHistory","lastPageVisited","isListTemplatePage","listDataFetched","_route$params5","listId","listParams","_route$params2","_route$params3","tinyId","isListMissingParams","isUrlDifferent","isTitleDifferent","recordListMetadata","_payload$model","listIDSelectedContent","tinyUrl","model","tinyFields","pushHistory","historyUpdateRequested","locationPathName","_route$params","isListTemplateRoute","dropParams","_route$params4","getListParams","experiencePath","recordHistory","pushHistoryFailure","isMenuStubbed","isEntryHistoryStrategy","historyRecordingType","experienceRoute","desc","ui_type","deepFilter","_obj$path","deepEach","MENU_LOADING_BEHAVIOR_NAME","MENU_LOADING_BEHAVIOR_STATE_PATH","LOADER_MENU_STUBBED","LOADER_MENU_UNSTUBBED","trackStartTime","effectFn","interceptors","getPolarisMenus","headerList","isEqualToId","findMenuByPath","menus","currMenu","prepend","findDuplicateItem","createFavoritedItemsSet","favoritedItems","favSubItem","flagFavorites","configurableMenuItems","favorited","flagFavouritesForConfigurableMenus","favoritedItemsSet","favoritesObject","updateHeaderMenuItems","isMenuFlushstampEnabled","MENU_CACHED_FLUSHSTAMP_ENABLED","appendOverflowItem","overflowMenuItem","syncPinnedMenuPreference","updateMenuHeaderItems","menuHeaders","pendingHistory","MENU_LAZY_LOADING_ENABLED","h","cap","Infinity","currentMenu","newMenu","parentItem","addToMenu","paths","updateSubItems","subItemSkipList","updateMenuItem","fill","filteredMenu","removeFromMenu","replaceMenuSubItems","flushstamp","oldHeaderMenuItems","isMenuDataCurrent","responseHeaders","updatedFlushstamp","evaluatedDataPipeline","BACKGROUND_LOAD_MENU","stripBlacklistedParams","blacklist","FAVORITE_EDIT_MODAL_REQUESTED","FAVORITE_EDIT_MODAL_DISMISSED","FAVORITE_EDIT_MODAL_CONFIRM_CLICKED","flattenMenuItems","parentKey","_head$key","defaultColors","getColors","colors","propColors","NAV_COLORS","ex","defaultIcons","getIcons","icons","propIcons","NAV_ICONS","ARIA_LIVE_MESSAGE_ADDED","ARIA_LIVE_MESSAGE_REMOVED","mapItemsToFavorites","NAV_FAVORITE_URL_PARAM_BLACKLIST","areSimilarClassicUrls","url1","url2","customDenyList","cleanUrl1","cleanUrl2","searchParams1","fromEntries","searchParams2","hostname","areSimilarRouteObjects","route1","route2","isSameContext","isSameFields","isSameParams","isSameRoute","resetFavoriteDeletePayload","addNestedItems","itemArray","createFavoriteByUrl","updateAllFavorites","deleteMultipleFavoritesById","deleteMultipleFavoritesByModuleId","createFavoriteById","createFavoriteByGroup","deleteFavoriteById","deleteFavoriteByModule","deleteFavoriteByApplication","getFavorite","currentPage","windowName","trimmedUrl","getRoute","_f$favorites","_f$favorites2","switchingPopupPosition","openModal","addCallback","updateCallback","entryId","parentGroup","addSelectedContentFavorite","menuItemUpdateSkipList","removeSelectedContentFavorite","resultType","skipUpdate","skipAriaLive","dispatchAriaLiveMessage","favoritesRemoved","childrenRemoved","c","getFavoriteLabel","_f$label","groups","allMenuRemovedFavorites","allId","_flattenMenuItems","oldSelectedContentFavorite","flatFavorites","_value$params","oldPopupPayload","payloadUrl","dispatchPayload","dispatchMeta","FAVORITE_EDIT_POPUP_ENABLED","parentMenuItem","appChildrenFavorites","dispatchAction","_parentMenuItem$subIt","skipModification","flatItem","favoriteLabel","createAllMenuLabel","actionSource","_dispatchPayload$favo","needCallback","isSameId","second","flatOldFavorites","flatNewFavorites","newFavoritesToUpdate","updateTitle","_selectedContent$para3","removedFavoritesToUpdate","_selectedContent$para4","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__","IMPERSONATION_MODAL_DISMISSED","USER_IMPERSONATE_FAILED","USER_IMPERSONATE_SUCCEEDED","testImpersonateUserEffect","pathParams","storageKey","endImpersonation","impersonationOpen","ELEVATE_ROLES_SUCCEEDED","updateElevatedRoles","reload","elevateRoleOpen","handlePrintRequest","printUrl","setupPrintInfo","_iframe$contentDocume","_iframe$contentDocume2","maxRows","MAX_PRINT_ROWS","isForm","_iframe$contentDocume3","referringUrl","forms","sys_personalize","sysparm_referring_url","isNewForm","printInfo","breakpointHitAlert","debugWindow","isPluginEnabled","plugins","plugin","updatePart","newParts","isEnabled","partsEnabled","isUserRole","isPropertyEnabled","getDirtyFrame","currentFrame","iframeElId","formSubmitted","isModified","checkDirty","subFrame","polarisLayoutUnloadHandler","returnValue","applicationChangeEffect","applicationRefreshEffect","_availableApplication","concourseCurrentDataRequested","concourseDataListsRequested","dispatchWhenUserSettingsAccessIsPresent","currentDataFetched","concourseListRequested","hasRequestedConcourseRebuildConfig","domainTable","currentNormalizedDomain","hierarchy","appList","domainList","updateSetList","oldUpdateSets","oldApplications","oldDomains","updateSetChangeEffect","updateSetRefreshEffect","requestedUpdateSet","requestUpdateSet","shouldCreateHTMLElement","DEV_STUDIO_OPEN_MODE_REQUESTED","DEV_STUDIO_OPEN_MODE_SUCCEEDED","getDevStudioOpenMode","devStudioOpenMode","DevStudio","initDevStudioLauncher","definitionSysId","inputValues","_output$result$","output","executionResult","getDomain","domainObj","domainChangeEffect","DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED","domainSearchEffect","currentDomainResultOffset","currentDomainSearchTerm","hasMoreResults","start","finalSearchTerm","searchMethod","qualifier","sysparm_domain","sysparm_for_impersonation","executeSearch","DOMAIN_SEARCH","_payload$items$map","_payload$items","domainId","getUpdatedDomains","domains","onIframeLoad","cb","_path","_iframe$contentDocume5","readyState","onReadyStateChange","_iframe$contentDocume4","PLUGINS_REFRESH_REQUESTED","PLUGINS_REFRESH_REQUEST_SUCCEEDED","refreshAvailablePlugins","enablePlugins","_host$selectedContent","_result$","getUserNotifications","getAlert","autoDismissConfig","moveUserMsgContent","totalAlerts","userNotifContainer","txnMessageContainer","messageStackContainer","userSessionNotifications","userUINotifications","_message$duration","autoDismiss","defaultAutoDismissConfig","enableAutoDismiss","finalAutoDismissConfig","filteredItems","notification","authNotification","newItems","accumulator","concoctedNotifications","visibleAlertIds","serviceWorkerEvents","sysProps","historyHandling","favoriteHandling","BroadcastChannel","messageChannel","MessageChannel","port1","onmessage","resolveRegistrations","serviceWorker","getRegistrations","registration","scope","postClearCacheMsg","_registration$active","postMessage","SYS_LOGOUT_PROMPT","user_sys_id","referrerScope","setTimeoutDelay","cacheableRequests","methods","_registration$active3","scopePath","_registration$active4","port2","_registration$active2","ready","messageListener","postUxAssetConfigUpdateMsg","enabledSourceMaps","ariaLiveMessages","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","collabChatAMBChannel","messageReceivedActionType","queryUnreadCount","queryCollabRecord","subscribe","results","COLLAB_CHAT_ENABLE_MULTI_CHATS","queryConditions","collabChatSysId","messageSysId","searchExpanded","openChatPanel","private","UI_NOTIFICATIONS","SUBSCRIBE_MESSAGE_RECEIVED","SUBSCRIBE_REQUESTED","SUBSCRIBE_SUCCEEDED","SUBSCRIBE_FAILED","FETCH_EXISTING_NOTIFICATIONS_REQUESTED","FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED","FETCH_EXISTING_NOTIFICATIONS_FAILED","UPDATE_EXISTING_NOTIFICATIONS_REQUESTED","QUERY_NOTIFICATION_COUNT_SUCCEEDED","QUERY_NOTIFICATION_COUNT_ERROR","WORK_ITEMS_SUBSCRIBE_REQUESTED","WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS","WORK_ITEMS_CHANGED","WORK_TIEMS_SUBSCRIBED_FAILED","ACTIVELY_FETCH_WORK_ITEM","ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED","ACTIVELY_FETCH_WORK_ITEM_FAILURE","TYPE","ambEffect","subscribeSucceededActionType","subscribeFailedActionType","typeNameIconMap","Case","Incident","Chat","normalizeInboxPayload","workItem","shortDescription","fieldsWithShortDesc","isDesktopNotification","recordType","typeName","activelyFetchWorkItem","requiredPlugins","register","userDesktopNotificationEnabled","inboxItems","isEntered","workItems","AGENT_WORKSPACE_ROUTE","NEXT_EXPERIENCE_ROUTE","normalizeUINotificationPayload","notify","isRead","triggeredBy","buildAlertSubscriptionFilter","btoa","subscribeNotificationsEffect","_properties$userMeta2","changedRecordSysId","seismicRecordSysId","classicRecordSysId","rawAlert","alertPayload","updatePayload","chromeNotificationUtils","userSysId","builtAlertItem","alertItem","existingAlert","normalizedNotification","fromDeletingDuplicates","_properties$userMeta3","_payload$data","_payload$data2","_properties$userMeta4","existingUINotifications","GlideRecord_Query","ui_notification_inbox","_results","_rowCount","newOffset","_properties$userMeta5","templateVarList","GlideAggregate_Query","TAB_ID","notificationChannel","isBroadcastChannelAvailable","notificationMap","cleanupIntervalId","startCleanupInterval","setInterval","util","clearInterval","tabId","notificationId","alreadyNotified","dismissAllNotificationToasts","notificationPublishers","inboxPublisher","uiNotificationsPublisher","getUrl","fireDesktopNotification","notificationPayload","currentRoute","Notification","renotify","navType","close","currentTabIdAndRoute","webNotification","notificationItem","uiNotificationBannersOn","setNotificationAsToast","getDayTitle","acctualDate","isToday","getMonth","getFullYear","today","yesterday","daysBetween","baseDate","actualDate","normalizedBaseDate","setHours","normalizedActualDate","abs","getWords","daysDiff","seconds","minutes","hours","words","hh","getHours","mm","getMinutes","enabledPublishers","publisher","pluginName","isPublisherPluginsEnabled","_coeffects$action","permission","requestPermission","desktopNotification","experience","_date","updatedNotifications","dayTitle","recency","_state$uiNotification","_state$uiNotification2","_state$uiNotification3","closeBellMenu","max","newTotalRowCount","newQueue","clearCount","registerComponentSub","setActionStateSub","_len2","args","_key2","setActionStateNowTriggerLib","KEYBOARD_SHORTCUTS","STATE_PATH_IS_LOGIN_EVALUATED","STATE_PATH_IMPERSONATE_EVALUATED","STATE_PATH_SEARCH_RENDERED","isLoginShortcutEvaluated","isImpersonationEvaluated","isSearchRendered","keyboardShortcutsModalOpened","nowTriggerLibRegistrationId","stillNeedToEvaluateImpersonation","_len","_key","registerComponentNowTriggerLib","actionMap","keyboardShortcutHandler","headerMenu","currentHeaders","menuMapping","_action$payload2","oldIsRenderingSearch","UI_CONFIGURE_SCREEN_BEHAVIOR_NAME","UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH","showScreenContentLinks","_userMeta$roles2","screenContentItemsMap","activeScreenId","behaviorState","newScreenContentItemsMap","configureItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__","snHelpAssistantBehavior","forwardHelpPanelActionCalled","forwardHelpPanelCalled","isHelpAssistantPluginActive","forwardHelpAction","snHelpBehavior","snHelp","forwardHelpAssistantAction","forwardHelpPanelAction","snHelpPanelBehavior","snHelpPanel","isInitiallyLoaded","helpContext","refreshRequested","_helpPanelAppContext$","lastTimestamp","hasNewContent","deferUpdate","BANNER_DELAY","MENU_LOADER","LOADER_MENU","newMainMenuState","previousMainMenuState","ALL_MENU_LOADING","MESSAGE_STACK_SERVICE_REQUESTED","MESSAGE_STACK_GET_MESSAGE","MESSAGE_STACK_MESSAGE_SUCCEEDED","getUserMessage","messageStackAlerts","MESSAGE_SERVICE_POLL_INTERVAL","_document$cookie","_messageServices$spli","cookies","cookie","messageServices","MESSAGE_SERVICES","service","showAlert","MESSAGE_SERVICE_MESSAGE","messageKeys","MESSAGE_SERVICE_MESSAGE_KEYS","logout","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__","REFRESH_PREFERENCES_MAP","ATF_INSPECTOR_ROLES","DASHBOARD_ROLES","getDateTimeSelectedItem","selectedFormat","DATE_FORMAT","compact","COMPACT_DATE","timeAgo","dateBoth","isAtfInspectorEnabled","preferenceNamespace","showSeismicDevtoolsPrefPanel","isChrome","hasURL","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED","THEME_VARIANT_CHANGED","THEME_INFODENSITY_CHANGED","THEMES_FETCHED","THEMES_FETCHED_SUCCEEDED","THEMES_FETCHED_FAILED","fetchThemes","propertiesForPrefs","findRGBValue","mapPropertiesToRGBValues","newProperties","setAvailableThemes","availableThemes","multiThemeEnabled","themes","themeObject","themesFetched","styleProperties","coreStyles","convertedStyleProperties","themeId","isDark","DARK_THEMES_ENABLED","createThemeLoaderEffect","GET_TELEMETRY_TRACKING","GET_TELEMETRY_TRACKING_SUCCEEDED","GET_TELEMETRY_TRACKING_FAILED","UPDATE_TELEMETRY_TRACKING","getTelemetryTracking","updateTelemetryTracking","ConsentToggleState","ConsentToggleIsAllowed","telemetryToggleState","isTelemetryToggleAllowed","telemetryToggleIsAllowed","CORE_TABS","accessibility","notifications_general","EVENTS","eventMappings","timeago_set","date_both","shortdates_set","getSetting","omitSettings","omitMappings","getSettingsModalPath","_document$cookie$spli","settingsModalPathValue","row","replaceAll","_settingsModalPathVal","modalPath","notificationUrl","_decodedValue$split$","decodedValue","targetTab","categoryId","handleSettingsModalPath","settingOpened","_enabledPlugins$find","isAppseeActive","asideHeight","functionMap","funStartTime","PUSHED_UXF_PAGE_TO_STACK","PUSHED_UXF_PAGE_TO_STACK_SUCCESS","PUSHED_UXF_PAGE_TO_STACK_FAILURE","pushToStack","glideStackName","sysparm_uri","sysparm_nameofstack","sysparm_clear_stack","pushToStackSuccess","pushToStackFailure","handleFeedbackFormClose","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","setHelpVisited","isNowAssistEnabled","isHelpVisited","guidanceId","subscribeToNowAssistConversation","getUnreadChatCount","getUnreadConversation","checkMultiConversationEnabledForNAP","checkNowAssistPanelEnabled","checkVoiceInputEnabled","aielActiveForFulfiller","handleInitialPinAIEXLaunch","eventListeners","WeakMap","isVoiceInputEnabled","COMPONENT_CONNECTED","onServiceUnavailable","reason","onServiceAvailable","__aielServiceAvailable","__aielServiceUnavailable","listeners","sessionStorage","retryPending","__AIEX_GLOBALS__","_value$fields","_value$fields2","_value$fields3","_value$fields4","_window$__AIEX_GLOBAL","_window$__AIEX_GLOBAL2","acceptedTypes","pageContext","pageType","updatePageContext","isGenAIEnabled","nowAssistUtility","napActive","channelName","napVoiceInputActive","isVoiceInputActive","VOICE_INPUT","_data$now","supportsMultipleConversations","sysparm_return_only","portal","isOffglide","sysparm_deviceType","conversationCount","totalUnreadMessageCount","_experienceConfigs$ex","appNotAnalyticsRestricted","ANALYTICS_RESTRICTIONS","showUsageAnalyticsMenu","getInspectorToggledUrl","enabled","classicIdentifier","decodedHref","uriParts","getUserPrefsMap","_userMenuChildren$fin","_availableThemes$","_userMeta$dateFormat","_availableThemes$2","hasFavorites","hasAdminRole","hasApplicationsTab","showRibbonObject","userPrefName","WORKSPACES_SHOW_RIBBON","lazyLoadingObject","WORKSPACES_LAZY_LOADING","showSidebarObject","WORKSPACES_SHOW_SIDEBAR","showActivityExpandedObject","WORKSPACES_SHOW_ACTIVITY_EXPANDED","showBannersObject","WORKSPACES_SHOW_BANNERS","showBadgeCountObject","homepageTitle","homepageValue","HOMEPAGE","HOMEPAGE_TITLE","getHomepageTitle","finalLandingPageItems","DEPRECATE_HOMEPAGES","_enabledPlugins$find2","RESPONSIVE_GRID_LAYOUT","isDashboardsEnabled","analyticsPrivacyStatement","ANALYTICS_PRIVACY_STATEMENT","mediaQuery","matchMedia","highContrastEnabled","defaultTheme","themeVariantPreferenceName","NAMESPACED","THEME_VARIANT","themePreferenceName","THEME","selectedTheme","selectedVariant","isThemePrefValid","calendarFormat","dateFormat","dateTimeFormatItems","applications","subTabs","ribbonImg","imageId","checked","metricsName","sidebarImg","activityExpandedImg","subtitle","linebreakImg","WRAP_LIST","showBannersImg","showBadgeCountImg","TABBED_FORMS","RELATED_LIST_LOADING","shouldReload","COMPACT","THEME_INFODENSITY","valueConverterMap","true","false","additionalHandler","selectedInfoDensity","FIELD_TOOLTIPS","AIEX_LAUNCH_MODE","_theme$variants","isCurrentThemeSelected","selectedThemeVariant","themeProperties","isThemeSelected","isCardClickable","a11y","A11Y_DATE_FORMAT","A11Y_SCREEN_READER","DATA_VIZ","newTab","A11Y_UI16","POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED","POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED","TRUNCATED_TEXT","ALERT_AUTO_DISMISSAL","LEGACY_NOTIFICATION_MODEL","NOTIFICATION_LOCATION","customContent","border","previousElementSibling","rebroadcastIframeEvents","innerIframe","subTab","debugging","clickHandler","launchScriptDebugger","ATF_INSPECTOR_ENABLED","ATF_INSPECTOR_SWITCH_ON","atfUtils","region","datetime","timezone","itemSearch","USER_SELECT_LANDING_PAGE","POLARIS_ON_OFF_USER_PREF_ENABLED","isUserExperienceTabEnabled","attrs","viewBox","NULL","continue","originalValue","user_consent","iframeElement","iframeDocument","eventRebroadcastSetup","iframeBody","shouldRebroadcastEvent","focusableElements","keyboardEvent","updatePrefsMap","userPrefsMap","concourseFetchTime","fetchPluginsTime","createFavoriteTime","menuRenderTime","fetchMenuTime","headerRenderTime","impersonateFetchTime","totalTime","guidedToursLoaded","initialMainContentReady","logoSrc","displayTransactionStatusMessage","TRANSACTION_STATUS_MESSAGE_ACTIVE","transactionStatusMessageDelayTime","TRANSACTION_STATUS_MESSAGE_DELAY_TIME","normalizeDirtyWorkspaces","workspaceMenuIndex","_menu$route","contextPath","prev","workspaceMenu","previousWorkspaceMenu","currentNotificationSysId","alertingNotifications","main","mainDisplay","indicatorVisible","resolveLoadingDisplayValues","isFavoriteModalOpen","toggleGlobalSearch","POLARIS_GLOBAL_SEARCH","notificationLocation","helpAssistantActiveAndEnabled","searchRoles","GLOBAL_SEARCH_ROLES","searchRolesTrimSpaces","showSearch","asideResizeObserver","floatingContainerResizeObserver","layoutHeight","nav","windowHeight","getLayoutHeight","rightOffset","impersonationMessage","getImpersonationMessage","initialTimeout","afterFocusTimeout","initialDelay","requestToClose","hide","dirtyFormStyles","utilityBarStyles","onChange","newVal","prevVal","skipFetchDependencies","customEventManagerBehavior","favoritesBehavior","tooltipBehavior","menuModifierBehavior","historyBehavior","impersonationBehavior","openFrameBehavior","notificationBehavior","elevateRoleBehavior","printerFriendlyBehavior","scriptDebuggerBehavior","applicationBehavior","updateSetBehavior","encryptionBehavior","dirtyFormBehavior","devStudioInit","domainBehavior","enabledPluginsBehavior","inboxEnabledBehavior","coreUiIframeBehavior","mainContentLoadingBehavior","userNotificationBehavior","serviceWorkerBehavior","keyboardShortcutsBehavior","configureScreenBehavior","helpBehavior","ariaLiveMessagesBehavior","collabChatBehavior","mainContentReadyBehavior","messageStackServiceBehavior","menuLoadingBehavior","skipLinkBehavior","searchBehavior","logoutBehavior","userSettingsBehavior","asideBehavior","scheduleForPageLoadBehavior","guidedToursBehavior","NavigationStackBehavior","FeedbackFormBehavior","concourseFetcherBehavior","nowAssistBehavior","usageAnalyticsBehavior","performanceMetricsBehavior","themeBehavior","telemetryBehavior","userPreferenceObjectGeneratorBehavior","FavoriteDelete","onToggleFavorite","starOutlinePaths","starFillPaths","loadIconSvg","editIcon","svg","canEdit","tooltipText","addGroupPropToMenus","innerMenu","isATFCustomizationsEnabled","totalItems","matchingItems","hideScroll","skipDefer","isSingleLevel","_m$subItems","idx","finalSubMenu","shouldDefer","resolveActions","Edit","Favorite","FilterResultAnnounce","getFilterResultAnnouncement","ONE_HOUR","FIFTEEN_MIN","BUCKET_SPAN_MS","findKeyInObject","targetKey","bucket","favoriteBlackList","historyBlockList","routeType","persistedState","atob","getLocale","normalizedLocale","normalizeFormat","Intl","DateTimeFormat","supportedLocalesOf","isSupportedLocal","isSameDate","MenuGroup","showMenuHeader","MenuSection","reducedMenu","accum","totalHistoryItems","numItemsSeen","labelSize","elapsedTime","timeMarker","timeLabel","_item$descriptionMatc","ariaID","descriptionMatch","AllResultsHeader","canToggle","ResultsSubheader","toggleType","FilteredResults","filteredMenuData","superFilterFavoritesOpen","superFilterOtherOpen","isSectionOpen","AllResults","fullMenuData","TreeMenu","SimpleFilteredResults","currentMenuData","favoritesMenuData","allResultsOpen","FullFilteredResults","to","val","makeConfigUrl","makeBuilderUrl","createClassicRoute","targetMapper","addNoStack","createExternalRoute","COMMAND_MAPPING","lastIndex","findFirstHighlightedNavItem","firstList","navItem","_navItem","firstInnerList","executeSuperFilter","skipHighlight","FILTER_MENU_EVENT_TRACKED","filterValue","_searchTerm","isSingleMenu","targetMenu","targetMenuState","makeNavigationFromCommand","setCanEdit","SuperFilter","favoritesMenuItems","fullMenuItems","joinMenuItems","getSuperFilterResults","forceAllResultsOpen","TEMPLATE_MAP","historyList","bucketedItems","HISTORY_URL_PARAM_BLOCKLIST","pastToday","itemCreatedDate","todayBuckets","yesterdayDate","restOfDays","resolvedLocale","month","day","Today","deduplicateBucket","createTimeBuckets","overflow","activeMenuId","isSuperFilterOpen","isInMenu","OverflowMenuHeader","pencil","NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED","canMove","loader","templateProps","Template","_host$parentElement","menuElementsList","previousMenu","nextNavigationTabElement","moveMenu","navTabElem","isContextualMenu","menuBodyOffset","_route$context","getRouteFromMenuItem","_menuItem$route","_menuItem$route2","updatePersistedState","_item$route$external$","application","prepareFavoriteUrl","inputField","isMainMenuClosed","containerTabindex","setupIntersectionObserver","root","rootMargin","alreadyBeenOpened","teardownObserver","disconnect","getPathTag","_state$pathTag","pathTag","svgTag","createElementNS","drawTabSvgPath","tabHeight","cornerRadius","hideAnimation","navTabElemRect","_state$navTabElem","_state$navTabElemRect","ASSIGN","getNavTabElement","areaHeight","tabWidth","tabLeftOffset","leftHorizontalEndPoint","rightHorizontalEndPoint","tabSideLength","updateTabPath","superFilterAllResultsOpen","isInOverflow","isSuperFilterAllResultsOpen","isRefreshMenuSysPropEnabled","NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH","menuTabSvg","on-blur","sync","hasRendered","_","menuLazyLoadingBehavior","filterBehavior","tabSvgBehavior","overflowActionHandlers","___POLARIS_VERSIONS___","version","__TECTONIC__polaris_app_shell"],"sources":["webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/constants.js","webpack:///polaris-app-shell/src/behaviors/performance-debug-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/render-cause-debug-behavior.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.view.js","webpack:///polaris-app-shell/src/constants/index.js","webpack:///polaris-app-shell/src/utils/domUtils.js","webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/getUrl.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.scss","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/concourse-pickers/style.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/user-menu/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/_sn-polaris-layout.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/dirty-form.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/_sn-polaris-menu.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/_sn-collapsible-list.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/_sn-drilldown-list.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-all/_sn-menu-template-all.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/_sn-menu-template-history.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-loader/_sn-menu-template-loader.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/_sn-menu-template-overflow.scss","webpack:///./src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.scss?2540","webpack:///./src/components/sn-feedback-form/src/styles.scss?ae65","webpack:///./src/components/sn-polaris-header/logo/styles.scss?7e9d","webpack:///./src/components/sn-polaris-header/navigation/styles.scss?073e","webpack:///./src/components/sn-polaris-header/styles.scss?cf70","webpack:///./src/components/sn-polaris-header/utility-menu/contextual-menu/concourse-pickers/style.scss?385b","webpack:///./src/components/sn-polaris-header/utility-menu/contextual-menu/styles.scss?50f5","webpack:///./src/components/sn-polaris-header/utility-menu/contextual-menu/user-menu/styles.scss?834f","webpack:///./src/components/sn-polaris-layout/_sn-polaris-layout.scss?3540","webpack:///./src/components/sn-polaris-layout/dirty-form-modal/dirty-form.scss?eca5","webpack:///./src/components/sn-polaris-layout/draggable/draggable.scss?acb7","webpack:///./src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.scss?7bb1","webpack:///./src/components/sn-polaris-layout/utility-bar/styles.scss?313e","webpack:///./src/components/sn-polaris-menu/_sn-polaris-menu.scss?3f25","webpack:///./src/components/sn-polaris-menu/sn-collapsible-list/_sn-collapsible-list.scss?371a","webpack:///./src/components/sn-polaris-menu/sn-drilldown-list/_sn-drilldown-list.scss?8038","webpack:///./src/components/sn-polaris-menu/sn-menu-template-all/_sn-menu-template-all.scss?3ac0","webpack:///./src/components/sn-polaris-menu/sn-menu-template-history/_sn-menu-template-history.scss?7020","webpack:///./src/components/sn-polaris-menu/sn-menu-template-loader/_sn-menu-template-loader.scss?fc27","webpack:///./src/components/sn-polaris-menu/sn-menu-template-overflow/_sn-menu-template-overflow.scss?6510","webpack:///external import \"/uxasset/externals/@devsnc/sn-elevate-roles/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-help-panel/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-help/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-notifications-menu/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-user-preferences-modal/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/sn-banner-announcement/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/uxa-commons-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/now-assist-core/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-feedback-form/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/favorite-edit-modal/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/transaction-status-message/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-oe-sfs/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-unified-notification-preferences/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/28.8.7/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-runtime-utils/24.0.21-uxperf-rc-page-idle-api.7/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-internal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/jsonp chunk loading","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/logout-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/logout-confirmation/index.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/actions.js","webpack:///polaris-app-shell/src/components/favorite-delete-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/script-debugger-modal/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/script-debugger-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/dirty-form-modal.utils.js","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-layout/user-session-notification/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/user-ui-notification/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/message-stack-service-notification/index.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/printer-confirmation-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/guided-tours-modal/index.js","webpack:///polaris-app-shell/src/behaviors/now-assist-behavior/constants.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.0.15-polaris.6/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/renderDirtyWorkspaceIcon.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/util.js","webpack:///polaris-app-shell/src/behaviors/is-inbox-enabled-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.0.15-polaris.6/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-header/actions.js","webpack:///polaris-app-shell/src/utils/createInteractionHandlers.js","webpack:///polaris-app-shell/src/utils/featureSettingsSingleton.js","webpack:///external module \"/uxasset/externals/dompurify/3.2.6/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/htmlUtils.js","webpack:///polaris-app-shell/src/utils/openHomePage.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/resolveUserSession.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/logo.utils.js","webpack:///polaris-app-shell/src/utils/getLogoSource.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.utils.js","webpack:///polaris-app-shell/src/utils/getMenuItemHref.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/navigation.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/user-settings-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/user-menu/user-menu.utils.js","webpack:///polaris-app-shell/src/utils/navTo.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/user-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.effects.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.15-polaris.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.15-polaris.6/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.view.js","webpack:///polaris-app-shell/src/utils/createMenuHrefHandlers.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/load-icon.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.view.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/track.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/edit-menu-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.js","webpack:///polaris-app-shell/src/behaviors/concourse-picker-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/domain-behavior/actions.js","webpack:///polaris-app-shell/src/components/filter-input/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/concourse-pickers/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/concourse-pickers/concourse-pickers.utils.js","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/actions.js","webpack:///polaris-app-shell/src/utils/getBooleanPropertyWhenPolarisEnabled.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/position-navigation-items.js","webpack:///polaris-app-shell/src/behaviors/elevate-role-behavior/actions.js","webpack:///polaris-app-shell/src/utils/deepEquals.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/actions.js","webpack:///external module \"/uxasset/externals/moment/2.30.1/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/notification-behavior/utils/buildAlertItem.js","webpack:///polaris-app-shell/src/utils/cache.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/utils/utils.js","webpack:///external module \"/uxasset/externals/sn-search-input-wrapper/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/search-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/search-behavior/index.js","webpack:///polaris-app-shell/src/utils/menuUtils.js","webpack:///polaris-app-shell/src/behaviors/utility-menu-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/link-utils.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/28.0.15-polaris.6/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/deepFind.js","webpack:///polaris-app-shell/src/behaviors/encryption-behavior/actions.js","webpack:///polaris-app-shell/src/utils/lifecycleFns.js","webpack:///polaris-app-shell/src/utils/registerLifecycleFn.js","webpack:///polaris-app-shell/src/behaviors/concourse-fetcher-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/encryption-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/application-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/update-set-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/concourse-picker-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/search-dynamic-routing-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/search-dynamic-routing-behavior/dynamicRoutingScript.js","webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-overlay/28.0.15-polaris.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.15-polaris.6/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/menu-keyboard-nav-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/fragments/button-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/contextual-menu.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/contextual-menu.effect.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/contextual-menu.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/fragments/button-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/overflow-menu/overflow-menu.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/contextual-menu/overflow-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/selectedContentUtil.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-illustration/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/constants.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.view.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.effects.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/fragments/menu-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/utility-menu.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/search-container/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/experience-title-pill/index.js","webpack:///polaris-app-shell/src/utils/search.js","webpack:///polaris-app-shell/src/utils/getExperienceLabelAndFavoriteTooltip.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.utils.js","webpack:///polaris-app-shell/src/utils/isATF.js","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/utility-menu-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/search-actions-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/isFavoriteGroup.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.utils.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.effects.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.view.js","webpack:///polaris-app-shell/src/components/favorite-popup/FavoritePopup.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/utility-bar.utils.js","webpack:///polaris-app-shell/src/behaviors/schedule-for-page-load-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/main-content-loading-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/skip-links-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/aside-behavior/actions.js","webpack:///polaris-app-shell/src/utils/getPreferenceValue.js","webpack:///external module \"/uxasset/externals/@servicenow/now-list/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-accordion/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/sn-shortcut-cell-keys.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/common.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/sn-shortcut-cell.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/sn-shortcut-highlight-title.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/sn-shortcut-cell-editor.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/cell/sn-shortcut-cell-editor.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-keyboard-shortcuts-modal/sn-keyboard-shortcuts-modal.js","webpack:///polaris-app-shell/src/behaviors/user-notification-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/dirty-form-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/guided-tours-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.utils.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/util.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.view.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/constants.js","webpack:///polaris-app-shell/src/utils/runLifecycleFns.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/globals.js","webpack:///polaris-app-shell/src/utils/getCoreUiIframe.js","webpack:///polaris-app-shell/src/behaviors/enabled-plugins-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/custom-event-manager-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/utils.js","webpack:///external module \"/uxasset/externals/sn-ux-core/26.0.4/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/index.js","webpack:///polaris-app-shell/src/utils/transformTitle.js","webpack:///polaris-app-shell/src/behaviors/help-behavior/getHelpContext.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/pause.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/decodeEntities.js","webpack:///polaris-app-shell/src/utils/setConditionalFocusNavigation.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/openframe.js","webpack:///polaris-app-shell/src/behaviors/dev-studio-init/actions.js","webpack:///polaris-app-shell/src/behaviors/custom-event-manager-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/index.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/index.js","webpack:///polaris-app-shell/src/utils/deepFilter.js","webpack:///polaris-app-shell/src/utils/deepEach.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/helpers.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/index.js","webpack:///polaris-app-shell/src/utils/stripBlacklistedParams.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/favorite-edit-modal/actions.js","webpack:///polaris-app-shell/src/utils/flattenMenuItems.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/color-picker/color-picker.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/icon-picker/icon-picker.utils.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/actions.js","webpack:///polaris-app-shell/src/utils/mapItemsToFavorites.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/elevate-role-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/script-debugger-behavior/index.js","webpack:///polaris-app-shell/src/utils/isPluginEnabled.js","webpack:///polaris-app-shell/src/behaviors/is-inbox-enabled-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/dirty-form-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/application-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/concourse-fetcher-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/update-set-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/dev-studio-init/index.js","webpack:///polaris-app-shell/src/behaviors/domain-behavior/index.js","webpack:///polaris-app-shell/src/utils/onIframeLoad.js","webpack:///polaris-app-shell/src/behaviors/enabled-plugins-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/user-notification-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/service-worker-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/dataSources.js","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/actions.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/inbox.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/graphQL.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/uiNotifications.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/index.js","webpack:///polaris-app-shell/src/utils/keyboard-shortcut-wrapper.js","webpack:///polaris-app-shell/src/behaviors/keyboard-shortcuts-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/constants.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/actions.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/index.js","webpack:///external module \"/uxasset/externals/sn-help-assistant/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/help-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/main-content-ready-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/message-stack-service-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/message-stack-service-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/skip-links-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/logout-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/user-preference-object-generator.utils.js","webpack:///polaris-app-shell/src/behaviors/theme-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/telemetry-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/user-settings-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/aside-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/schedule-for-page-load-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/guided-tours-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/Navigation-stack-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/Navigation-stack-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/feeback-form-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/setHelpVisited.js","webpack:///polaris-app-shell/src/behaviors/now-assist-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/usage-analytics-behavior/index.js","webpack:///polaris-app-shell/src/utils/atfUtils.js","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/prefsProp.js","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/favorite-delete/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/favorite/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/addGroupPropToMenus.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-all/sn-menu-template-all.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/getFilterResultAnnouncement.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/deduplicateBucket.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/getLocale.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/createTimeBuckets.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/sn-menu-template-history.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/filter/handle-navigation-command.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/filter/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/super-filter.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/sn-menu-template-overflow.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-loader/sn-menu-template-loader.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/template-map.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/sn-menu-template-overflow.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/handle-menu-state-change.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-lazy-loading.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.view.js","webpack:///polaris-app-shell/src/components/sn-legacy-screen/index.js","webpack:///polaris-app-shell/src/index.js","webpack:///polaris-app-shell/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["export const OPEN_FRAME_BEHAVIOR = 'OPEN_FRAME_BEHAVIOR';\nexport const BEHAVIOR_STATE_PATH = 'behaviors.' + OPEN_FRAME_BEHAVIOR;\nexport const OPEN_FRAME_MINIMUM_MODAL_WIDTH = 320;\n","/**\n * This behavior provides a set of functions to measure the performance of a function or a page\n * using the Performance API.\n *\n * The behavior is enabled by setting the 'perfObservers' value in local storage.\n * This lets you enable specific performance observers by\n * setting a list of one or more desired observer names as the value of the 'perfObservers' storage key.\n *\n * example: localStorage.setItem('perfObservers', 'user-timing,longtask,timing')\n *\n * You can also enable all observers by setting the value to 'all'\n * example: localStorage.setItem('perfObservers', 'all')\n *\n * When changes are made to the localStorage key 'perfObservers' you must then\n * refresh the page for the observers to be created\n *\n */\n\n/* eslint-disable no-console, no-restricted-imports*/\nimport {guid} from '@servicenow/ui-internal';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {LOCAL_STORAGE_KEYS} from '../../constants';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst activeTimers = [];\nconst timerCounts = [];\nconst greenTextColor = '#33ff33';\nconst redTextColor = '#ff3333';\nconst whiteTextColor = '#ffffff';\nconst blueTextColor = '#aaaaff';\n\n/**\n * Start a timer for a given function name.\n * Returns a GUID that can be used to end the timer\n * \n *     Usage:\n        import {startTimer, endTimer} from './function-timer-behavior';\n        const someFunction = () => {\n            const timerGUID = startTimer('functionName');\n            // Your function code here //\n            endTimer(timerGUID);\n        }\n     \n    The above code will log the time taken by the function to execute in milliseconds\n    and the number of times the function was called.\n\n    The results will be output to the console in the following format:\n        [perf] functionName took 100ms and called 5 times for a total of 500ms\n    \n    Note: \n        * This module uses the window.performance.now() method to measure the time taken by a function to execute\n        * window.performance.now() is not supported in IE11\n *\n * @param {string} functionName\n * @returns {string} GUID of newly created timer\n */\nexport const startTimer = (functionName) => {\n\tconst functionGUID = guid();\n\tactiveTimers[functionGUID] = {\n\t\tname: functionName,\n\t\tstart: window.performance.now(),\n\t\tend: 0\n\t};\n\tperformance.mark(`start-${functionName}-${functionGUID}`);\n\treturn functionGUID;\n};\n\n/**\n * Function to end a timer for a given functionGUID\n *\n * @param {string} functionGUID\n * @returns {float} Time taken in milliseconds\n */\nexport const endTimer = (functionGUID) => {\n\tif (!activeTimers[functionGUID]) {\n\t\tthrow new Error('Invalid functionGUID');\n\t}\n\tconst currentFunction = activeTimers[functionGUID];\n\tconst functionName = currentFunction.name;\n\tperformance.mark(`end-${functionName}-${functionGUID}`);\n\n\tperformance.measure(\n\t\t`duration-${functionName}-${functionGUID}`,\n\t\t`start-${functionName}-${functionGUID}`,\n\t\t`end-${functionName}-${functionGUID}`\n\t);\n\tcurrentFunction.end = window.performance.now();\n\tconst diff = parseFloat(\n\t\t(currentFunction.end - currentFunction.start).toFixed(2)\n\t);\n\tcount(currentFunction.name, diff);\n\tconst observerList =\n\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS).split(',') ||\n\t\t[];\n\tif (observerList.includes('timing')) {\n\t\tconsole.log(\n\t\t\t`%c[timing] name: %c${\n\t\t\t\tcurrentFunction.name\n\t\t\t} duration: ${diff}ms callCount: ${\n\t\t\t\ttimerCounts[currentFunction.name].count\n\t\t\t} total: ${timerCounts[currentFunction.name].totalTime.toFixed(2)}ms`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`\n\t\t);\n\t}\n\tdelete activeTimers[functionGUID];\n\n\treturn diff;\n};\n\n/**\n * Function used to count the number of times a function is called and the total time taken in milliseconds\n *\n * @param {string} functionName\n * @param {float} timeTaken\n */\nconst count = (functionName, timeTaken) => {\n\tif (!timerCounts[functionName]) {\n\t\ttimerCounts[functionName] = {\n\t\t\tcount: 0,\n\t\t\ttotalTime: 0\n\t\t};\n\t}\n\ttimerCounts[functionName].count++;\n\ttimerCounts[functionName].totalTime += timeTaken;\n};\n\n/**\n * Outputs the time taken for the page to load based on values from PerfromanceNavigationTiming found in window.performance.getEntries()\n */\nexport const reportPageLoadTiming = () => {\n\tsetTimeout(() => {\n\t\tconst perfEntries = window.performance.getEntries();\n\t\tconst timings = perfEntries[0];\n\t\tconst pagLoadDuration = timings.domComplete - timings.startTime;\n\t\tconsole.log(\n\t\t\t`%c[page-load] %cDomComplete in ${(pagLoadDuration / 1000).toFixed(\n\t\t\t\t2\n\t\t\t)} seconds:`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`,\n\t\t\tperfEntries[0]\n\t\t);\n\t}, 5000);\n};\n\n/**\n * Creates a MutationObserver to observe when child nodes are\n * added or removed from a given element or when an attribute\n * is modified on the element.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * MutationObserver API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver\n *\n * @param {string} elementToObserve\n */\nexport const observeMutations = (elementToObserve) => {\n\tconst observer = new MutationObserver((mutationList) => {\n\t\tfor (const mutation of mutationList) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tconsole.log('[mutation] A child node has been added or removed.');\n\t\t\t} else if (mutation.type === 'attributes') {\n\t\t\t\tconst attributeName = mutation.attributeName;\n\t\t\t\tconst attributeValue = mutation.target.getAttribute(attributeName);\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[mutation] The ${attributeName} attribute was modified to ${attributeValue}.`,\n\t\t\t\t\tmutation.target\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t});\n\tobserver.observe(elementToObserve, {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe layout shifts.\n *\n * The LayoutShift interface provides insights into the\n * layout stability of web pages based on movements of the elements on the page.\n *\n * Anything with a score greater than 0.1 is considered a overly large layout shift\n * This only works in Chrome. FF and Safari have not implemented LayoutShift API yet.\n *\n * Browser Support: Chrome, Edge\n *\n * LayoutShift API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift\n *\n */\nexport const observeCumulativeLayoutShift = () => {\n\tconst type = 'layout-shift';\n\tconst msg = (entry) => {\n\t\treturn `[${type}] shift score ${entry.value}:`;\n\t};\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst textColor = entry.value > 0.1 ? redTextColor : greenTextColor;\n\t\tconsole.group(`%c${type}`, `color: ${textColor}`);\n\t\tconsole.log(`%c${msg(entry)}`, `color: ${textColor}`, entry);\n\t\tif (entry.sources) {\n\t\t\tfor (const {node, currentRect, previousRect} of entry.sources)\n\t\t\t\tconsole.log(`%c[${type}] shift source:`, `color: ${textColor}`, node, {\n\t\t\t\t\tcurrentRect,\n\t\t\t\t\tpreviousRect\n\t\t\t\t});\n\t\t}\n\t\tconsole.groupEnd();\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe long tasks.\n *\n * A long task is any uninterrupted period where the main UI thread is busy for 50ms or longer.\n * This only works in Chrome. FF and Safari have not implemented PerformanceLongTaskTiming API yet.\n *\n * Browser Support: Chrome, Edge\n *\n * PerformanceLongTaskTiming API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongTaskTiming\n *\n */\nexport const observeLongTasks = () => {\n\tconst type = 'longtask';\n\tconst textColor = redTextColor;\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.group(`%c${type}`, `color: ${textColor}`);\n\t\tconsole.log(\n\t\t\t`%c[${type}] name: ${entry.name} duration: ${entry.duration}ms`,\n\t\t\t`color: ${textColor}`,\n\t\t\tentry\n\t\t);\n\t\tif (entry.attribution) {\n\t\t\tfor (const taskEntry of entry.attribution)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`%c[${type}] task attribution:`,\n\t\t\t\t\t`color: ${textColor}`,\n\t\t\t\t\ttaskEntry\n\t\t\t\t);\n\t\t}\n\t\tconsole.groupEnd();\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe resource timing.\n * \n * Resource Timing is part of the Performance API and enables \n * retrieving and analyzing detailed network timing data \n * for the loading of an application's resources.\n * \n * Browser Support: Chrome, Firefox, Safari, Edge\n * \n * Resource Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API\n \n */\nexport const observeResourceTiming = () => {\n\tconst type = 'resource';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst textColor = entry.duration >= 100 ? redTextColor : greenTextColor; // flag red if resource took longer than 100ms to load\n\t\tconsole.log(\n\t\t\t`%c[${type}] name: ${entry.name} cached:${\n\t\t\t\tentry.transferSize === 0 && entry.decodedBodySize > 0 ? 'true' : 'false'\n\t\t\t} duration: ${entry.duration.toFixed(2)}ms size:${(\n\t\t\t\tentry.transferSize /\n\t\t\t\t(1024 * 1024)\n\t\t\t).toFixed(2)}mb`,\n\t\t\t`color: ${textColor}`,\n\t\t\tentry\n\t\t);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe paint timing.\n *\n * The PerformancePaintTiming interface provides timing information\n * about \"paint\" (also called \"render\") operations during\n * web page construction. \"Paint\" refers to conversion\n * of the render tree to on-screen pixels.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * Paint Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Paint_Timing_API\n *\n */\nexport const observePaintTiming = () => {\n\tconst type = 'paint';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe when\n * performance.mark() and performance.measure() are called\n * and report the results.\n *\n * Example:\n * \tIf we wanted to measure how long refreshUtiltiyMenuData() took to execute we would add\n * \tthe following code to the start of function:\n * \t\tperformance.mark('refreshUtilityMenuData-start');\n *\n * \tand then add the following code to the end of the function:\n * \t\tperformance.mark('refreshUtilityMenuData-end');\n * \t\tperformance.measure('refreshUtilityMenuData', 'refreshUtilityMenuData-start', 'refreshUtilityMenuData-end');\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * User Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/User_Timing_API\n *\n */\nexport const observeUserTiming = () => {\n\t// create observer for marks\n\tcreatePerformanceObserver('mark', (entry) => {\n\t\tconsole.log(`%c[mark]`, `color: ${blueTextColor}`, entry);\n\t});\n\n\t// create observer for measures\n\tlet textColor = greenTextColor;\n\tcreatePerformanceObserver('measure', (entry) => {\n\t\tif (entry.duration && entry.duration >= 5) {\n\t\t\ttextColor = redTextColor;\n\t\t} else {\n\t\t\ttextColor = greenTextColor;\n\t\t}\n\t\tconsole.log(`%c[measure]`, `color: ${textColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe first input delay.\n *\n * First Input Delay measures the time from when a user first interacts\n * with a page (that is, when they click a link, tap on a button,\n * or use a custom, JavaScript-powered control) to the time when the\n * browser is actually able to begin processing event handlers in\n * response to that interaction.\n *\n * Browser Support: Chrome, Firefox, Edge\n *\n * First Input Delay API Docs:\n * https://web.dev/fid/\n */\nexport const observeFirstInputDelay = () => {\n\tconst type = 'first-input';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe largest contentful paint.\n *\n * Largest Contentful Paint marks the point in the page load timeline\n * when the page's main content has likely loaded.\n * A fast LCP helps reassure the user that the page is useful.\n *\n * Browser Support: Chrome, Firefox, Edge\n *\n * Largest Contentful Paint API Docs:\n * https://web.dev/lcp/\n */\nexport const observeLargestContentfulPaint = () => {\n\tconst type = 'largest-contentful-paint';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe navigation timing.\n *\n * Navigation Timing is part of the Performance API and provides\n * metrics associated with navigating from one page to another.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * Navigation Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API\n */\nexport const observeNavigationTiming = () => {\n\tconst type = 'navigation';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst domContentLoadedTime =\n\t\t\tentry.domContentLoadedEventEnd - entry.domContentLoadedEventStart;\n\t\tconsole.log(\n\t\t\t`%c[${type}] ${\n\t\t\t\tentry.name\n\t\t\t}: %cDOMContentLoaded processing time: ${domContentLoadedTime}ms`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`,\n\t\t\tentry\n\t\t);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe event timing.\n * The Event Timing API exposes timing information for certain events. \n * Certain types of events are considered, and timing information is \n * exposed when the time difference between user input and \n * paint operations that follow input processing exceeds a certain threshold.\n * \n * Browser Support: Chrome, Firefox, Edge\n * \n * Event Timing API Docs:\n * https://wicg.github.io/event-timing/\n \n */\nexport const observeEventTiming = () => {\n\tconst observer = new PerformanceObserver((list) => {\n\t\tlist.getEntries().forEach((entry) => {\n\t\t\t// Full duration\n\t\t\tconst duration = entry.duration;\n\n\t\t\t// Input delay (before processing event)\n\t\t\tconst delay = entry.processingStart - entry.startTime;\n\n\t\t\t// Synchronous event processing time\n\t\t\t// (between start and end dispatch)\n\t\t\tconst eventHandlerTime = entry.processingEnd - entry.processingStart;\n\n\t\t\tconsole.log(\n\t\t\t\t`%c[event-timing] ${\n\t\t\t\t\tentry.name\n\t\t\t\t}: %cEvent Timing: duration:${duration}ms, delay:${delay}ms, eventHandlerTime:${eventHandlerTime}ms`,\n\t\t\t\t`color: ${blueTextColor}`,\n\t\t\t\t`color: ${whiteTextColor}`,\n\t\t\t\tentry\n\t\t\t);\n\n\t\t\t// console.log(`Total duration: ${duration}`);\n\t\t\t// console.log(`Event delay: ${delay}`);\n\t\t\t// console.log(`Event handler duration: ${eventHandlerTime}`);\n\t\t});\n\t});\n\n\t// Register the observer for events\n\tobserver.observe({type: 'event', durationThreshold: 16, buffered: true});\n};\n\n/**\n * Function to initalize all performance observers\n */\nexport const observeAllPerformanceMetrics = () => {\n\tobserveCumulativeLayoutShift();\n\tobserveLongTasks();\n\tobserveResourceTiming();\n\tobservePaintTiming();\n\tobserveUserTiming();\n\tobserveFirstInputDelay();\n\tobserveLargestContentfulPaint();\n\tobserveNavigationTiming();\n};\n\n/**\n * Private factory function for creating PerformanceObservers.\n *\n * @param {string*} observerType ['paint', 'longtask', 'resource', 'element', 'first-input', 'largest-contentful-paint', 'layout-shift', 'navigation', 'mark']\n * @param {*} callback function to be called when observerType is triggered\n */\nconst createPerformanceObserver = (observerType, callback) => {\n\tif (!PerformanceObserver.supportedEntryTypes.includes(observerType)) {\n\t\tconsole.log(\n\t\t\t`[error] ${observerType} is not a supported observer type in this browser`\n\t\t);\n\t\treturn;\n\t}\n\tnew PerformanceObserver((entryList) => {\n\t\tfor (const entry of entryList.getEntries()) {\n\t\t\tcallback(entry);\n\t\t}\n\t}).observe({type: observerType, buffered: true});\n};\n\n/**\n * Private function to start all performance observers based on the list of observers stored in localStorage\n */\nconst startPerformanceObservers = () => {\n\tconst observerList =\n\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS).split(',') ||\n\t\t[];\n\n\tfor (const observer of observerList) {\n\t\tswitch (observer) {\n\t\t\tcase 'layout-shift':\n\t\t\t\tobserveCumulativeLayoutShift();\n\t\t\t\tbreak;\n\t\t\tcase 'longtask':\n\t\t\t\tobserveLongTasks();\n\t\t\t\tbreak;\n\t\t\tcase 'resource':\n\t\t\t\tobserveResourceTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'paint':\n\t\t\t\tobservePaintTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'user-timing':\n\t\t\t\tobserveUserTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'first-input':\n\t\t\t\tobserveFirstInputDelay();\n\t\t\t\tbreak;\n\t\t\tcase 'largest-contentful-paint':\n\t\t\t\tobserveLargestContentfulPaint();\n\t\t\t\tbreak;\n\t\t\tcase 'navigation':\n\t\t\t\tobserveNavigationTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'event-timing':\n\t\t\t\tobserveEventTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'all':\n\t\t\t\tobserveAllPerformanceMetrics();\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'PERFORMANCE_OBSERVER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: () => {\n\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\treportPageLoadTiming();\n\t\t\t\t});\n\t\t\t\tstartPerformanceObservers();\n\t\t\t}\n\t\t}\n\t}\n};\n","/* eslint-disable no-console */\n\n/* \nThis code is a debugging utility for tracking and analyzing unnecessary component renders in a UI framework. \nIt logs differences in properties and state between renders and tracks unnecessary renders.\n\nMain Functionality:\n- When a component is rendered, it checks if the component is in the debug list stored in local storage.\n- It increments the render count for the component.\n- If it's not the first render, it calculates the differences in properties and state between the previous and current render.\n- If there are no differences, it logs an unnecessary render and updates the global collections.\n- If there are differences, it logs them in a structured format using `console.table`.\n- It also sets a timeout to log the total render counts after a delay.\n\nUsage:\n1. Add the component name to the `renderDebugList` in local storage to enable debugging for that component.\n2. When the component renders, the utility will log differences in properties and state, and track unnecessary renders.\n3. Use the logs to identify and optimize unnecessary renders in your components.\n\nExample to Enable Debugging:\n1. Open the browser's developer console.\n2. Run the following command to add a component to the debug list:\n\nTo log renders for 'sn-polaris-menu' component only:\n```javascript\nlocalStorage.setItem('renderDebugList', 'sn-polaris-menu'); \n```\n\nTo log renders for 'sn-polaris-layout' and 'sn-polaris-header' components only:\n```javascript\nlocalStorage.setItem('renderDebugList', 'sn-polaris-layout,sn-polaris-header'); \n```\n\n\nTo log renders for all components:\n```javascript\nlocalStorage.setItem('renderDebugList', 'all');\n```\n```\n\n*/\n\nimport {\n\tforEach,\n\tforOwn,\n\tisEmpty,\n\tisEqual,\n\tisPlainObject,\n\thas,\n\tmapKeys,\n\tmapValues,\n\tomit,\n\ttransform\n} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {LOCAL_STORAGE_KEYS} from '../constants';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nfunction deepDiffObj(base, object) {\n\tif (!object)\n\t\tthrow new Error(`The object compared should be an object: ${object}`);\n\tif (!base) return object;\n\tconst result = transform(object, (result, value, key) => {\n\t\tif (!has(base, key)) result[key] = value; // fix edge case: not defined to explicitly defined as undefined\n\t\tif (!isEqual(value, base[key])) {\n\t\t\tresult[key] =\n\t\t\t\tisPlainObject(value) && isPlainObject(base[key])\n\t\t\t\t\t? deepDiffObj(base[key], value)\n\t\t\t\t\t: value;\n\t\t}\n\t});\n\t// map removed fields to undefined\n\tforOwn(base, (value, key) => {\n\t\tif (!has(object, key)) result[key] = undefined;\n\t});\n\treturn result;\n}\n\nfunction difference(base, object) {\n\tfunction changes(base, object) {\n\t\treturn transform(object, function(result, value, key) {\n\t\t\tif (!isEqual(value, base[key])) {\n\t\t\t\tif (isPlainObject(value)) {\n\t\t\t\t\tresult[key] = {\n\t\t\t\t\t\told: base[key],\n\t\t\t\t\t\tnew: value,\n\t\t\t\t\t\t...deepDiffObj(base[key], value)\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tresult[key] = {\n\t\t\t\t\t\told: base[key],\n\t\t\t\t\t\tnew: value\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn changes(base, object);\n}\n\nfunction differenceByRef(base, object) {\n\tfunction changes(base, object) {\n\t\treturn transform(object, function(result, value, key) {\n\t\t\tif (value !== base[key]) {\n\t\t\t\tresult[key] = {old: base[key], new: value};\n\t\t\t}\n\t\t});\n\t}\n\treturn changes(base, object);\n}\n\nwindow.__collect = {};\nwindow.__renderCounts = {\n\t'unnecessary-renders': 0\n};\n\nlet countTimeout = null;\n\nexport default {\n\tname: 'render-cause-debug',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({\n\t\t\taction: {\n\t\t\t\tpayload: {previousRenderProperties, previousRenderState},\n\t\t\t\tmeta: {firstRenderOnConnect}\n\t\t\t},\n\t\t\thost: {localName: componentName},\n\t\t\tproperties,\n\t\t\tstate\n\t\t}) {\n\t\t\tconst renderDebugList =\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST).split(',') ||\n\t\t\t\t[];\n\n\t\t\tif (\n\t\t\t\trenderDebugList.length === 0 ||\n\t\t\t\t(!renderDebugList.includes(componentName) &&\n\t\t\t\t\t!renderDebugList.includes('all'))\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!window.__renderCounts[componentName]) {\n\t\t\t\twindow.__renderCounts[componentName] = 1;\n\t\t\t} else {\n\t\t\t\twindow.__renderCounts[componentName] =\n\t\t\t\t\twindow.__renderCounts[componentName] + 1;\n\t\t\t}\n\n\t\t\tif (firstRenderOnConnect) return;\n\n\t\t\tconst propDiff = difference(previousRenderProperties, properties);\n\t\t\tconst stateDiff = omit(difference(previousRenderState, state), [\n\t\t\t\t'properties'\n\t\t\t]);\n\n\t\t\tif (isEmpty(propDiff) && isEmpty(stateDiff)) {\n\t\t\t\tconsole.log('>>>>>> Unnecessary render!', componentName);\n\n\t\t\t\twindow.__renderCounts['unnecessary-renders'] =\n\t\t\t\t\twindow.__renderCounts['unnecessary-renders'] + 1;\n\n\t\t\t\tif (!window.__collect[componentName])\n\t\t\t\t\twindow.__collect[componentName] = {\n\t\t\t\t\t\tprops: new Set(),\n\t\t\t\t\t\tstate: new Set()\n\t\t\t\t\t};\n\n\t\t\t\tconst propDiffByRef = Object.keys(\n\t\t\t\t\tdifferenceByRef(previousRenderProperties, properties)\n\t\t\t\t);\n\t\t\t\tconst stateDiffByRef = Object.keys(\n\t\t\t\t\tdifferenceByRef(previousRenderState, state)\n\t\t\t\t);\n\n\t\t\t\tif (!isEmpty(propDiffByRef)) {\n\t\t\t\t\twindow.__collect[componentName].props = new Set([\n\t\t\t\t\t\t...window.__collect[componentName].props,\n\t\t\t\t\t\t...propDiffByRef\n\t\t\t\t\t]);\n\t\t\t\t\tconsole.log('>>>>>> props', propDiffByRef);\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(stateDiffByRef)) {\n\t\t\t\t\twindow.__collect[componentName].state = new Set([\n\t\t\t\t\t\t...window.__collect[componentName].state,\n\t\t\t\t\t\t...stateDiffByRef\n\t\t\t\t\t]);\n\t\t\t\t\tconsole.log('>>>>>> state', stateDiffByRef);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction print(diff) {\n\t\t\t\tforEach(diff, (v, propName) => {\n\t\t\t\t\tconst {old, new: newValue, ...rest} = v;\n\n\t\t\t\t\tconsole.table({\n\t\t\t\t\t\t[propName]: {old, new: newValue},\n\t\t\t\t\t\t...mapKeys(\n\t\t\t\t\t\t\tmapValues(rest, (v, k) => ({\n\t\t\t\t\t\t\t\told: old?.[k],\n\t\t\t\t\t\t\t\tnew: newValue[k]\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t(v, k) => `${propName}.${k}`\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconsole.groupEnd();\n\n\t\t\tconst hasPropDiff = !isEmpty(propDiff);\n\t\t\tconst hasStateDiff =\n\t\t\t\t!isEmpty(stateDiff) &&\n\t\t\t\t(Object.keys(stateDiff).length !== 1 &&\n\t\t\t\t\tObject.keys(stateDiff)[0] !== 'properties');\n\n\t\t\tif (hasPropDiff || hasStateDiff) {\n\t\t\t\tconsole.group(componentName);\n\t\t\t}\n\n\t\t\tif (hasPropDiff) {\n\t\t\t\tconsole.log('Properties diff');\n\n\t\t\t\tprint(propDiff);\n\t\t\t}\n\n\t\t\tif (hasStateDiff) {\n\t\t\t\tconsole.log('State diff');\n\t\t\t\tprint(stateDiff);\n\t\t\t}\n\n\t\t\tconsole.groupEnd();\n\n\t\t\tif (countTimeout !== null) {\n\t\t\t\tclearTimeout(countTimeout);\n\t\t\t}\n\n\t\t\tcountTimeout = setTimeout(() => {\n\t\t\t\tconsole.group('Total Component Render Counts');\n\t\t\t\tconsole.table(window.__renderCounts);\n\t\t\t\tconsole.groupEnd();\n\t\t\t}, 1000);\n\t\t}\n\t}\n};\n","export const SN_DRAGGABLE_CHANGED_POSITION = 'SN_DRAGGABLE#CHANGED_POSITION';\nexport const SN_DRAGGABLE_MAX_WINDOW_SIZE = 'SN_DRAGGABLE#MAX_WINDOW_SIZE';\n","export const WINDOW_OFFSET = 25;\nexport const WINDOW_MOVED_TO_PRESET =\n\t'DRAGGABLE_BEHAVIOR#WINDOW_MOVED_TO_PRESET';\nexport const KEY_MOVEMENT_STEP_AMOUNT = 5;\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {t} from 'sn-translate';\nimport {\n\tWINDOW_OFFSET,\n\tWINDOW_MOVED_TO_PRESET,\n\tKEY_MOVEMENT_STEP_AMOUNT\n} from './constants';\nimport {\n\tSN_DRAGGABLE_CHANGED_POSITION,\n\tSN_DRAGGABLE_MAX_WINDOW_SIZE\n} from './actions';\nimport {deepSearchElement} from '../../../utils/domUtils';\nimport {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../../behaviors/openFrameBehavior/constants';\nimport {debounce} from 'lodash';\n\nconst shiftTo = (container, newX, newY, windowSize) => {\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tcontainer.style.top = `0px`;\n\t\tcontainer.style.left = `0px`;\n\t} else {\n\t\tcontainer.style.top = `${newY}px`;\n\t\tcontainer.style.left = `${newX}px`;\n\t\tcontainer.style.right = 'auto';\n\t\tcontainer.style.bottom = 'auto';\n\t}\n};\n\nconst moveTo = (container, {top, right, bottom, left}) => {\n\tcontainer.style.top = top ? `${top}px` : 'auto';\n\tcontainer.style.right = right ? `${right}px` : 'auto';\n\tcontainer.style.bottom = bottom ? `${bottom}px` : 'auto';\n\tcontainer.style.left = left ? `${left}px` : 'auto';\n};\n\nconst togglePointerEvents = (container, state) => {\n\tArray.from(container.children).forEach((child) => {\n\t\tchild.style.pointerEvents = state;\n\t});\n};\n\nexport const createResizeObserver = (coeffects) => {\n\tconst {\n\t\tproperties: {boundaryElement},\n\t\tstate: {resizeObserver},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tlet newObserver = resizeObserver;\n\n\t// if this is the first time the modal is opened, create a resize observer on the boundy element it needs to stay within\n\tif (!newObserver) {\n\t\t// create new resize observer\n\t\tnewObserver = new ResizeObserver(\n\t\t\tdebounce(() => {\n\t\t\t\tdispatch(SN_DRAGGABLE_MAX_WINDOW_SIZE, {\n\t\t\t\t\twidth:\n\t\t\t\t\t\tdocument.body.offsetWidth <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t? OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t: boundaryElement.offsetWidth - WINDOW_OFFSET * 2,\n\t\t\t\t\theight:\n\t\t\t\t\t\tdocument.body.offsetWidth <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t? boundaryElement.offsetHeight + 6\n\t\t\t\t\t\t\t: boundaryElement.offsetHeight - WINDOW_OFFSET * 2\n\t\t\t\t});\n\t\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t\t}, 100)\n\t\t);\n\n\t\t//update state with new observer so we can reuse it as needed\n\t\tupdateState({resizeObserver: newObserver});\n\t}\n\n\t// start resize observer\n\tnewObserver.observe(boundaryElement);\n};\n\nexport const removeResizeObserver = (coeffects) => {\n\tconst {\n\t\tproperties: {boundaryElement},\n\t\tstate: {resizeObserver}\n\t} = coeffects;\n\n\tif (resizeObserver) {\n\t\t// stop resize observer from observing the boundary element\n\t\tresizeObserver.unobserve(boundaryElement);\n\t}\n};\n\nexport const allPresetPositions = ({boundaryElement}) => {\n\tconst outerBoundaries = boundaryElement.getBoundingClientRect();\n\n\treturn positionCoordinates({\n\t\touterBoundaries\n\t});\n};\n\nexport const positionCoordinates = ({outerBoundaries}) => {\n\tconst left = outerBoundaries.left + WINDOW_OFFSET;\n\tconst right = WINDOW_OFFSET;\n\tconst top = outerBoundaries.top + WINDOW_OFFSET;\n\tconst bottom = WINDOW_OFFSET;\n\treturn {\n\t\ttop_left: {top, left},\n\t\tbottom_left: {bottom, left},\n\t\ttop_right: {top, right},\n\t\tbottom_right: {bottom, right}\n\t};\n};\n\nexport const positionsMenuItems = [\n\t{id: 'top_left', label: t('Place top left')},\n\t{id: 'bottom_left', label: t('Place bottom left')},\n\t{id: 'top_right', label: t('Place top right')},\n\t{id: 'bottom_right', label: t('Place bottom right')}\n];\n\nexport const positionsMenuItemsOmitCurrent = (position) => {\n\treturn positionsMenuItems.filter(({id}) => id !== position);\n};\n\nexport const keepInBoundary = (\n\tcontainer,\n\tboundaryElement,\n\tisMainMenuPinned,\n\tisContextualMenuPinned,\n\tstrict = false,\n\twindowSize\n) => {\n\tconst offset = strict ? WINDOW_OFFSET : 0;\n\n\tif (typeof container === 'string') {\n\t\tcontainer = deepSearchElement(`.${container}`);\n\t}\n\n\tif (!(container && boundaryElement)) return;\n\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tcontainer.style.top = `0px`;\n\t\tcontainer.style.left = `0px`;\n\t\treturn;\n\t}\n\n\tconst draggableRect = container.getBoundingClientRect();\n\tconst boundaryRec = boundaryElement.getBoundingClientRect();\n\n\t// Extending boundary for the component when either type of menu is pinned\n\tconst boundaryRight = isContextualMenuPinned\n\t\t? Math.round(window.innerWidth)\n\t\t: boundaryRec.right;\n\tconst boundaryLeft = isMainMenuPinned ? 0 : boundaryRec.left;\n\n\tif (draggableRect.top < boundaryRec.top + offset) {\n\t\tcontainer.style.top = `${boundaryRec.top + WINDOW_OFFSET}px`;\n\t\tcontainer.style.bottom = 'auto';\n\t} else if (draggableRect.bottom + offset > boundaryRec.bottom) {\n\t\tcontainer.style.bottom = `${WINDOW_OFFSET}px`;\n\t\tcontainer.style.top = 'auto';\n\t}\n\n\tif (draggableRect.right + offset > boundaryRight) {\n\t\tcontainer.style.right = `${WINDOW_OFFSET}px`;\n\t\tcontainer.style.left = 'auto';\n\t} else if (draggableRect.left < boundaryLeft + offset) {\n\t\tcontainer.style.left = `${boundaryLeft + WINDOW_OFFSET}px`;\n\t\tcontainer.style.right = 'auto';\n\t}\n};\n\nexport const moveToPresetPosition = ({\n\tcontainerClassName,\n\tboundaryElement,\n\tlockedPosition,\n\tdispatch,\n\twindowSize\n}) => {\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tconst draggableElement = deepSearchElement(`.${containerClassName}`);\n\t\tmoveTo(draggableElement, {top: 0, right: 0, bottom: 0, left: 0});\n\t\tdispatch(WINDOW_MOVED_TO_PRESET);\n\t} else if (lockedPosition) {\n\t\tconst draggableElement = deepSearchElement(`.${containerClassName}`);\n\t\tif (draggableElement?.parentNode && !draggableElement.parentNode.hidden) {\n\t\t\tconst positions = allPresetPositions({boundaryElement});\n\t\t\tconst position = positions[lockedPosition];\n\t\t\tmoveTo(draggableElement, position);\n\t\t\tdispatch(WINDOW_MOVED_TO_PRESET);\n\t\t}\n\t}\n};\n\nexport const keyPressed = (e, state, dispatch) => {\n\tconst {\n\t\tcontainer,\n\t\tlockedPosition,\n\t\tboundaryElement,\n\t\tisMainMenuPinned,\n\t\tisContextualMenuPinned,\n\t\twindowSize\n\t} = state.properties;\n\n\tconst dragContainer = deepSearchElement(`.${container}`);\n\tconst origLeft = dragContainer.offsetLeft;\n\tconst origTop = dragContainer.offsetTop;\n\tlet newLeft = origLeft;\n\tlet newTop = origTop;\n\n\tif (e.key === 'ArrowUp') {\n\t\tnewTop = newTop - KEY_MOVEMENT_STEP_AMOUNT;\n\t} else if (e.key === 'ArrowDown') {\n\t\tnewTop = newTop + KEY_MOVEMENT_STEP_AMOUNT;\n\t}\n\n\tif (e.key === 'ArrowLeft') {\n\t\tnewLeft = newLeft - KEY_MOVEMENT_STEP_AMOUNT;\n\t} else if (e.key === 'ArrowRight') {\n\t\tnewLeft = newLeft + KEY_MOVEMENT_STEP_AMOUNT;\n\t}\n\n\tif (origLeft !== newLeft || origTop !== newTop) {\n\t\tshiftTo(dragContainer, newLeft, newTop, windowSize);\n\t\tkeepInBoundary(\n\t\t\tdragContainer,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\ttrue,\n\t\t\twindowSize\n\t\t);\n\t\tif (lockedPosition) dispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: null});\n\t}\n};\n\nexport const startDrag = (e, state, updateState, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\ttrigger,\n\t\t\twindowSize,\n\t\t\tcontainer,\n\t\t\tlockedPosition,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned\n\t\t},\n\t\tdragContainer\n\t} = state;\n\n\tlet activeDragContainer = dragContainer;\n\tif (windowSize.width <= 320) {\n\t\treturn;\n\t}\n\n\tif (!activeDragContainer) {\n\t\tactiveDragContainer = deepSearchElement(`.${container}`);\n\t}\n\n\tconst activeElement = e.composedPath()?.[0];\n\tlet triggerElemFound = false;\n\tlet currentElem = activeElement;\n\tconst maxLevelDeep = 10;\n\tlet currentLoopInteration = 0;\n\n\t// traverse up the dom tree to find the trigger element\n\twhile (\n\t\tcurrentElem &&\n\t\tcurrentLoopInteration <= maxLevelDeep &&\n\t\t!triggerElemFound\n\t) {\n\t\t// if user clicked a button in the header, dont do drag\n\t\tif (\n\t\t\tcurrentElem.tagName === 'BUTTON' ||\n\t\t\tcurrentElem.className === 'header-span'\n\t\t) {\n\t\t\tcurrentLoopInteration = maxLevelDeep;\n\t\t}\n\n\t\t// check if current element is the trigger element\n\t\tif (currentElem.className == trigger) {\n\t\t\ttriggerElemFound = true;\n\t\t}\n\n\t\t// get the next parent element\n\t\tcurrentElem = currentElem.host ? currentElem.host : currentElem.parentNode;\n\t\tcurrentLoopInteration++; // increment loop counter\n\t}\n\n\t// if user clicked the trigger element in the header, start drag\n\tif (e.button === 0 && triggerElemFound) {\n\t\te.preventDefault();\n\n\t\t// Calculate the mouse position relative to the container\n\t\tconst offsetX =\n\t\t\te.clientX - activeDragContainer.getBoundingClientRect().left;\n\t\tconst offsetY = e.clientY - activeDragContainer.getBoundingClientRect().top;\n\n\t\ttogglePointerEvents(activeDragContainer, 'none');\n\t\tshiftTo(\n\t\t\tactiveDragContainer,\n\t\t\te.pageX - offsetX,\n\t\t\te.pageY - offsetY,\n\t\t\twindowSize\n\t\t);\n\t\tkeepInBoundary(\n\t\t\tactiveDragContainer,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\ttrue,\n\t\t\twindowSize\n\t\t);\n\n\t\tupdateState({\n\t\t\tdragContainer: activeDragContainer,\n\t\t\tisDragEnabled: true,\n\t\t\tmouseOffsetX: offsetX,\n\t\t\tmouseOffsetY: offsetY\n\t\t});\n\t\tif (lockedPosition) dispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: null});\n\t}\n};\n\n// on mouse up or mouse out, end drag\nexport const endDrag = (e, state, updateState) => {\n\tconst {dragContainer} = state;\n\n\te.preventDefault();\n\n\ttogglePointerEvents(dragContainer, 'auto');\n\n\tupdateState({\n\t\tdragContainer: null,\n\t\tisDragEnabled: false,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0\n\t});\n};\n\n// handle moving openframe window when user is dragging\nexport const doDrag = (e, state, updateState) => {\n\tconst {\n\t\tproperties: {\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\twindowSize\n\t\t},\n\t\tdragContainer,\n\t\tmouseOffsetX,\n\t\tmouseOffsetY\n\t} = state;\n\n\te.preventDefault();\n\n\tif (e.buttons === 0) {\n\t\tendDrag(e, state, updateState);\n\t\treturn;\n\t}\n\n\tshiftTo(\n\t\tdragContainer,\n\t\te.pageX - mouseOffsetX,\n\t\te.pageY - mouseOffsetY,\n\t\twindowSize\n\t);\n\tkeepInBoundary(\n\t\tdragContainer,\n\t\tboundaryElement,\n\t\tisMainMenuPinned,\n\t\tisContextualMenuPinned,\n\t\ttrue,\n\t\twindowSize\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nimport {\n\tkeepInBoundary,\n\tmoveToPresetPosition,\n\tcreateResizeObserver,\n\tremoveResizeObserver\n} from './draggable.utils';\nimport {SN_DRAGGABLE_CHANGED_POSITION} from './actions';\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\tdispatch\n\t\t} = coeffects;\n\t\tif (name === 'opened' && value) {\n\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t\tcreateResizeObserver(coeffects);\n\t\t} else if (name === 'opened' && !value) {\n\t\t\tremoveResizeObserver(coeffects);\n\t\t}\n\t},\n\t['SN_COMPONENT_OPENFRAME#RESIZED']: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t}\n\t},\n\t['MOVE_WINDOW_TO_PRESET_POSITION']: {\n\t\teffect: ({\n\t\t\tproperties: {\n\t\t\t\tcontainer,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition,\n\t\t\t\tisMainMenuPinned,\n\t\t\t\tisContextualMenuPinned,\n\t\t\t\twindowSize\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tmoveToPresetPosition({\n\t\t\t\tcontainerClassName: container,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition,\n\t\t\t\tdispatch,\n\t\t\t\twindowSize\n\t\t\t});\n\t\t\tkeepInBoundary(\n\t\t\t\tcontainer,\n\t\t\t\tboundaryElement,\n\t\t\t\tisMainMenuPinned,\n\t\t\t\tisContextualMenuPinned,\n\t\t\t\tfalse,\n\t\t\t\twindowSize\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SN_COMPONENT_OPENFRAME#REPOSITION']: {\n\t\teffect: ({\n\t\t\taction: {payload},\n\t\t\tproperties: {container, boundaryElement, windowSize},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst id = payload?.position?.id;\n\t\t\tdispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: id});\n\t\t\tmoveToPresetPosition({\n\t\t\t\tcontainerClassName: container,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition: id,\n\t\t\t\tdispatch,\n\t\t\t\twindowSize\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './draggable.view';\nimport {actionHandlers} from './draggable.effects';\nimport styles from './draggable.scss';\n\ncreateCustomElement('sn-draggable', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\t// Element, by class name, to be used as hit box for drag action\n\t\ttrigger: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t// Element, by class name, to be used as wrapper for draggable content\n\t\tcontainer: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisVisible: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twidth: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\theight: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tlockedPosition: {\n\t\t\tdefault: 'top_right',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tboundaryElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tisMainMenuPinned: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisContextualMenuPinned: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t},\n\t\t// Elements can have their own bounding area\n\t\t// Follows 4-value syntax and is pixel-based\n\t\tboundary: {\n\t\t\tdefault: [0, 0, 0, 0],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'number'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tdragContainer: null,\n\t\t\tisDragEnabled: false,\n\t\t\tmouseOffsetX: 0,\n\t\t\tmouseOffsetY: 0,\n\t\t\tresizeObserver: null\n\t\t};\n\t}\n});\n","import {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../../behaviors/openFrameBehavior/constants';\nimport {keyPressed, startDrag, endDrag, doDrag} from './draggable.utils';\n\nexport default (state, {dispatch, updateState}) => {\n\tconst {\n\t\tproperties: {isVisible, windowSize},\n\t\tisDragEnabled\n\t} = state;\n\tconst canDrag = windowSize.width > OPEN_FRAME_MINIMUM_MODAL_WIDTH;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'draggable-container': true,\n\t\t\t\t'draggable-hide': !isVisible\n\t\t\t}}\n\t\t\trole=\"dialog\"\n\t\t\taria-modal=\"false\"\n\t\t\ton-keydown={(e) => {\n\t\t\t\tif (canDrag) {\n\t\t\t\t\tkeyPressed(e, state, dispatch);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousedown={(e) => {\n\t\t\t\tif (canDrag && !isDragEnabled) {\n\t\t\t\t\tstartDrag(e, state, updateState, dispatch);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseup={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled) {\n\t\t\t\t\tendDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseout={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled && e.buttons === 0) {\n\t\t\t\t\tendDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousemove={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled) {\n\t\t\t\t\tdoDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}>\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport {SYS_PROPS, SEPARATOR} from '@devsnc/unav-utils';\n\n//TODO: Remove hardcoded polaris route url\n//Add property on Polaris app shell\nexport const POLARIS_CONTEXT = {\n\texperienceName: 'Unified Navigation App',\n\tpath: 'now/nav/ui'\n};\nexport const CLASSIC_ROUTE = '/classic/params/target/';\nexport const FULL_CLASSIC_ROUTE = '/now/nav/ui/classic/params/target/';\nexport const POLARIS_SITE_NAME = 'now/nav/ui';\nexport const UNIFIED_NAVIGATION_REGISTRY_ID =\n\t'a84adaf4c700201072b211d4d8c260b7';\n\n//TODO: hardcoded polaris config ids should be removed once search team add logic to handle null values\n//temporary workaround to unblock story.\nexport const DEFAULT_POLARIS_SEARCH_CONTEXT = {\n\tid: 'now/nav/ui',\n\tlabel: 'Global',\n\tcontext: {\n\t\tpath: 'now/nav/ui',\n\t\texperienceName: 'Global'\n\t},\n\troute: 'search',\n\tsearchDataConfigId: 'c861cea2c7022010099a308dc7c26041',\n\tsearchViewConfigId: '0f8b85d0c7922010099a308dc7c2606a'\n};\n\n//internal global pref\nexport const USER_PREF_POLARIS_USE = 'glide.ui.polaris.use';\nexport const USER_PREF_UI6_TABS_INSIDE_POLARIS =\n\t'glide.ui.polaris.ui16_tabs_inside_polaris';\nexport const OVERVIEW_HELP_VISITED = 'overview_help.visited.navui';\nexport const OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V =\n\t'overview_help_now_assist.visited.navui.vancouver_nap';\nexport const USER_PREF_CONTINUE_LANDING_PAGE =\n\t'glide.next_experience.continue_landing_page';\nexport const USER_PREF_HOMEPAGE = 'my_home_navigation_page';\nexport const ENABLE_SOURCE_MAPS = 'glide.uxf.enable_ux_source_maps';\nexport const DEFAULT_REFERRER_POLICY = 'origin';\n\n// internal shared actions\nexport const PAGE_TITLE_UPDATE_REQUESTED = 'PAGE_TITLE_UPDATE_REQUESTED';\nexport const UN_PAGE_TITLE_UPDATE_REQUESTED =\n\t'UNIFIED_NAVIGATION#PAGE_TITLE_UPDATE_REQUESTED';\nexport const NAV_RESIZED = 'SN-POLARIS-HEADER#NAV_RESIZED';\nexport const RECENT_IFRAME_TITLE_UPDATED = 'RECENT_IFRAME_TITLE_UPDATED';\nexport const POLARIS_IFRAME_LOAD_COMPLETE = 'POLARIS_IFRAME_LOAD_COMPLETE';\nexport const USER_PRESENCE_CHANGED = 'USER_PRESENCE_CHANGED';\nexport const UTILITY_MENU_OVERFLOW_DATA_UPDATED =\n\t'UTILITY_MENU_OVERFLOW_DATA_UPDATED';\n\n// External components\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const USER_PREF_UPDATED = 'USER_PREF_UPDATED';\nexport const OVERLAY_BEHAVIOR_OPENED_SET = 'OVERLAY_BEHAVIOR#OPENED_SET';\n\nexport const SERVICE_NOW = 'ServiceNow';\nexport const HOME_PAGE = 'Home page';\nexport const CLASSIC = 'classic';\nexport const LIST = 'LIST';\nexport const MENU_ALL = 'd6e462a5c3533010cbd77096e940dd8c';\nexport const MENU_HISTORY = 'c51543a5c3133010cbd77096e940dd43';\nexport const MENU_FAVORITES = '1b682fe1c3133010cbd77096e940dd18';\nexport const MENU_WORKSPACES = '63242b61c3133010cbd77096e940dd23';\nexport const MENU_ADMIN = 'e708a3f75372011010baddeeff7b120a';\nexport const SYSTEM_MENUS = new Set([\n\tMENU_ALL,\n\tMENU_HISTORY,\n\tMENU_FAVORITES,\n\tMENU_WORKSPACES,\n\tMENU_ADMIN\n]);\nexport const SYSTEM = 'system';\nexport const CONFIGURABLE = 'configurable';\nexport const OPEN = 'Open';\nexport const CLOSE = 'Close';\nexport const SCRIPT = 'SCRIPT';\nexport const INITIAL_EXPERIENCE_PAGE_LOADED = 'INITIAL_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_SWITCHED = 'NOW_EXPERIENCE_PAGE_SWITCHED';\nexport const SEARCH = 'search';\nexport const RECORD = 'record';\nexport const CONTEXTUAL_MENU_TITLE = 'contextualNameTitle';\n\nexport const MAIN_NAV_HEIGHT = 52;\nexport const MINIMUM_NAV_PADDING = 8;\nexport const MINIMUM_LOGO_PADDING = 12;\nexport const MINIMUM_OVERFLOW_TAB_WIDTH = 32;\nexport const PX_TO_REM_CONVERSION_RATE = 16;\nexport const MAIN_TAB_MARGIN = 4;\nexport const UTILITY_BUTTON_PADDING = 4;\nexport const UTILITY_MENU_MARGIN = 24;\nexport const MAIN_LOGO_WIDTH_CACHE_KEY = 'mainLogoWidth';\nexport const TOGGLE_MENU_OPEN = 'POLARIS#TOGGLE_MENU_OPEN';\n\nexport const OVERFLOW_MENU_ID = 'nav-overflow';\nexport const CONCOURSE_PICKER_MENU_ID = 'concoursePickers';\nexport const CONCOURSE_PICKER_HEADER_TEXT = t('Scope selectors');\nexport const INSTANCE_TOOLS_MENU_ID = 'instanceTools';\nexport const INSTANCE_TOOLS_HEADER_TEXT = t('Instance tools');\nexport const HELP_MENU_ID = 'helpMenu';\nexport const HELP_MENU_HEADER_TEXT = t('Help Center');\nexport const NOW_ASSIST_MENU_ID = 'now-ai-canvas-window';\nexport const NOW_ASSIST_PANEL_MENU_ID = 'nowAssist';\nexport const NOW_ASSIST_MENU_HEADER_TEXT = t('Now Assist');\nexport const INSTANCE_TOOLS_ID = 'instance-tools';\nexport const NOTIFICATIONS_ID = 'notifications';\nexport const NOTIFICATIONS_HEADER_TEXT = t('Notifications');\nexport const UTILITY_OVERFLOW_MENU_ID = 'overflowMenu';\nexport const UTILITY_OVERFLOW_MENU_HEADER_TEXT = t('Utility Overflow');\nexport const USER_MENU_ID = 'userMenu';\nexport const USER_MENU_HEADER_TEXT = t('User');\nexport const OPENFRAME_MENU_ID = 'ctiMenu';\nexport const OPENFRAME_MENU_HEADER_TEXT = t('Phone');\nexport const CHAT_MENU_HEADER_TEXT = t('Sidebar discussions');\nexport const USAGE_ANALYTICS_MENU_ID = 'usageAnalytics';\nexport const USAGE_ANALYTICS_HEADER_TEXT = t('Usage Analytics');\n\n// page reflow break points based on page width in pixels\nexport const REFLOW_BREAKPOINTS = {\n\tMINIMUM_WIDTH: 325,\n\tBREAKPOINT_420: 420,\n\tBREAKPOINT_540: 540,\n\tBREAKPOINT_1024: 1024,\n\tBREAKPOINT_ONE: 640,\n\tBREAKPOINT_TWO: 993,\n\tBREAKPOINT_THREE: 1280,\n\tBREAKPOINT_FOUR: 1670,\n\tSEARCH_BREAKPOINT_SMALL: 50,\n\tSEARCH_BREAKPOINT_LARGE: 244,\n\tHIDE_CENTER_PILL: 530,\n\tMAIN_MENU_PIN_BREAKPOINT: 993,\n\tCONTEXTUAL_MENU_PIN_BREAKPOINT: 1220,\n\tPREFERENCES_MODAL_BREAKPOINT: 600\n};\n\nexport const HISTORY_RECORDING = {\n\tENTRY: 'ENTRY',\n\tNONE: 'NONE',\n\tALL: 'ALL'\n};\n\nexport const METRICS = {\n\tNAVIGATION: 'Navigation',\n\tPERFORMANCE: 'performance',\n\tRETURN_HOME: 'Return Home',\n\tSELECT_MENU: 'Select Menu',\n\tPIN: 'Pin Menu',\n\tTOGGLE_WIDE_MENU: 'Toggle Wide Menu',\n\tSELECT_MENU_ITEM: 'Select Menu Item',\n\tFILTER_MENU: 'Filter Menu',\n\tSELECT_NOTIFICATION_MENU: 'Select Notification Menu',\n\tSELECT_NOTIFICATION: 'Select Notification',\n\tALERT_NEW_NOTIFICATION: 'Alert New Notification',\n\tCLEAR_NOTIFICATION: 'Clear Notification',\n\tDISMISS_NOTIFICATION: 'Dismiss Notification',\n\tDOMAIN_REFRESH: 'Reset Domain',\n\tCREATE_FAVORITE: 'Create Favorite',\n\tREMOVE_FAVORITE: 'Remove Favorite',\n\tSEARCH_CONTEXT_SELECTED: 'Select Search Context',\n\tSEARCH_START: 'Search Start',\n\tSEARCH_ITEM_SELECTED: 'Search Item Selected',\n\tSELECT_SCOPE_MENU: 'Select Scope Menu',\n\tSELECT_SCOPE_MENU_GROUP: 'Select Scope Menu Group',\n\tSELECT_SCOPE_MENU_ITEM: 'Select Scope Menu Item',\n\tSELECT_USER_MENU: 'Select User Menu',\n\tSELECT_USER_MENU_ITEM: 'Select User Menu Item',\n\tSEARCH_RESULTS_ITEM_SELECTED: 'Search Results Item Selected',\n\tSELECT_PREFERENCE_TAB: 'Select Preference Tab',\n\tSELECT_PREFERENCE_TAB_ITEM: 'Select Preference Tab Item',\n\tSELECT_HELP_MENU: 'Select Help Menu',\n\tSELECT_CTI_MENU: 'Select CTI Menu',\n\tSKIP_LINK_NAVIGATE: 'Skip Link Navigate',\n\tSKIP_LINK_SELECT: 'Skip Link Select',\n\tUI16_CREATE_FAVORITE: 'UI16 Create Favorite',\n\tSCREEN_CONTENT_DEEP_LINK_SELECT: 'Screen Content Deep Link Select',\n\tSELECT_COLLAB_CHAT: 'Select Collab Chat',\n\tSELECT_NOW_ASSIST: 'Select Now Assist',\n\tTOGGLED_COLLAB_CHAT_SEARCH: 'Toggled Collab Chat Search',\n\tDIRTY_FORM_MODAL: 'Dirty Form Modal Shown',\n\tNEXT_EXPERIENCE_OFF: 'Next Experience Turned Off',\n\tTOGGLE_MENU_ITEM_DROPDOWN: 'Toggle Menu Item Dropdown',\n\tCLOSE_MENU: 'Menus Closed',\n\tALL_RESULTS_TOGGLE: 'All Results Section Toggled',\n\tFAVORITES_RESULTS_TOGGLE: 'Favorites Results Toggled',\n\tOTHER_RESULTS_TOGGLE: 'Other Results Toggle',\n\tSELECT_INSTANCE_TOOLS: 'Select Instance Tools',\n\tPRODUCT_FEEDBACK: 'Product Feedback',\n\tIFRAME_LOAD_COMPLETE: 'IFRAME_LOAD_COMPLETE',\n\tMENU_FETCHED: 'Menu Fetched',\n\tMENU_RENDERED: 'Menu Rendered',\n\tAPPLICATION_CHANGED: 'Application Changed',\n\tCONCOURSE_DATA_FETCHED: 'Concourse Data Fetched',\n\tELEVATE_ROLES_FETCHED: 'Elevate Roles Fetched',\n\tHEADER_RENDERED: 'Header Rendered',\n\tIMPERSONATE_LIST_FETCHED: 'Impersonate List Fetched',\n\tIMPERSONATE_USER: 'Impersonate User',\n\tPLUGINS_FETCHED: 'Plugins Fetched',\n\tFAVORITE_CREATED: 'Favorite Created'\n};\n\nexport const BUTTON_ACTIONS = {\n\tOPENFRAME_ICON_CLICKED: 'OPENFRAME_ICON_CLICKED',\n\tAVATAR_ICON_CLICKED: 'AVATAR_ICON#CLICKED',\n\tLOGOUT_CLICKED: 'LOGOUT#CLICKED',\n\tHELP_CLICKED: 'HELP#CLICKED',\n\tBELL_CLICKED: 'BELL#CLICKED',\n\tCHAT_CLICKED: 'CHAT#CLICKED',\n\tUSAGE_ANAYLTICS_CLICKED: 'USAGE_ANALYTICS#CLICKED',\n\tNOW_ASSIST_CLICKED: 'NOW_ASSIST#CLICKED',\n\tPROFILE_CLICKED: 'PROFILE#CLICKED',\n\tIMPERSONATE_USER_CLICKED: 'IMPERSONATE_USER#CLICKED',\n\tEND_IMPERSONATION_CLICKED: 'END_IMPERSONATION#CLICKED',\n\tELEVATE_ROLE_CLICKED: 'ELEVATE_ROLE#CLICKED',\n\tPRINTER_FRIENDLY_CLICKED: 'PRINTER_FRIENDLY#CLICKED',\n\tEXPERIENCE_ACTION_ITEM_CLICKED: 'EXPERIENCE_ACTION_ITEM#CLICKED',\n\tCONCOURSE_PICKER_BUTTON_CLICKED: 'CONCOURSE_PICKER_BUTTON#CLICKED',\n\tNOTIFICATION_TRIGGERED: 'NOTIFICATION_TRIGGERED',\n\tNOW_UI_TOGGLE_PIN: 'NOW-UI#TOGGLE_PIN',\n\tINSTANCE_TOOLS_CLICKED: 'INSTANCE_TOOLS#CLICKED',\n\tOPEN_FEEDBACK: 'FEEDBACK_BUTTON#CLICKED',\n\tOVERFLOW_UTIL_MENU_CLICKED: 'OVERFLOW_UTIL_MENU_CLICKED#CLICKED',\n\tKEYBOARD_SHORTCUT_MODAL: 'KEYBOARD_SHORTCUTS#CLICKED'\n};\n\nexport const SEARCH_RENDER_STATUS_REPORTED =\n\t'POLARIS#SEARCH_RENDER_STATUS_REPORTED';\n\nexport const ICON_MAP = {\n\t'article-document': 'document-outline',\n\tuser: 'user-outline',\n\t'user-group': 'user-group-outline',\n\tlightbulb: 'lightbulb-outline',\n\thome: 'home-outline',\n\tmobile: 'cellphone-outline',\n\tcomment: 'chat-outline',\n\tmail: 'envelope-outline',\n\tlocked: 'lock-outline',\n\tdatabase: 'database-outline',\n\tbook: 'book-outline',\n\tdrawer: 'harddrive-outline',\n\tfolder: 'folder-outline',\n\tcatalog: 'news-outline',\n\ttab: 'configuration-item-outline',\n\tcards: 'grid-four-outline',\n\t'tree-right': 'tree-view-short-outline',\n\ttree: 'tree-view-long-outline',\n\t'book-open': 'address-book-outline',\n\tpaperclip: 'paperclip-outline',\n\tedit: 'pencil-outline',\n\ttrash: 'trash-outline',\n\timage: 'image-outline',\n\tsearch: 'magnifying-glass-outline',\n\tpower: 'lightning-outline',\n\tcog: 'gear-outline',\n\tstar: 'star-fill',\n\t'star-empty': 'star-outline',\n\t'new-ticket': 'document-plus-outline',\n\tdashboard: 'chart-semi-donut-outline',\n\t'cart-full': 'shopping-cart-fill',\n\tview: 'circle-info-outline',\n\tlabel: 'tag-outline',\n\tfilter: 'filter-outline',\n\tcalendar: 'calendar-outline',\n\tscript: 'document-archive-outline',\n\tadd: 'plus-outline',\n\tdelete: 'minus-outline',\n\thelp: 'circle-question-outline',\n\t'check-circle': 'circle-check-outline',\n\talert: 'circle-exclamation-outline',\n\t'sort-ascending': 'sort-ascending-outline',\n\tconsole: 'monitor-outline',\n\tlist: 'list-outline',\n\tform: 'pencil-page-outline',\n\tlivefeed: 'bell-outline',\n\tkey: 'key-outline',\n\thr: 'user-transfer-outline',\n\tphone: 'phone-outline',\n\t'icon-phone': 'phone-outline',\n\tcross: 'close-outline',\n\t'vcr-down': 'caret-down-outline',\n\t'checkbox-empty': 'checkbox-unchecked-outline',\n\t'arrow-right': 'arrow-right-outline',\n\t'arrow-down': 'arrow-down-outline',\n\t'arrow-left': 'arrow-left-outline',\n\t'arrow-up': 'arrow-up-outline',\n\t'cross-circle': 'circle-close-outline',\n\tpreview: 'eye-outline',\n\t'chevron-left': 'chevron-left-outline',\n\t'chevron-right': 'chevron-right-outline',\n\tunlocked: 'unlock-outline',\n\t'sort-descending': 'sort-descending-outline',\n\tmenu: 'menu-outline',\n\tcheck: 'check-outline',\n\tsubtract: 'minus-outline',\n\tellipsis: 'ellipsis-h-outline',\n\tlink: 'link-outline',\n\t'delete-selected': 'ban-fill',\n\t'vcr-up': 'caret-up-outline',\n\t'vcr-left': 'caret-left-outline',\n\t'vcr-right': 'caret-right-outline',\n\t'arrow-left-rounded': 'circle-chevron-left-outline',\n\t'arrow-right-rounded': 'circle-chevron-right-outline',\n\t'arrow-up-rounded': 'circle-chevron-up-outline',\n\t'arrow-down-rounded': 'circle-chevron-down-outline',\n\tcart: 'shopping-cart-outline',\n\tinfo: 'circle-info-outline',\n\t'checkbox-checked': 'checkbox-checked-outline',\n\t'circle-solid': 'circle-fill',\n\t'menu-arrows': 'caret-up-down-fill',\n\trefresh: 'arrow-clockwise-outline',\n\t'step-in': 'move-item-down-outline',\n\t'step-out': 'move-item-up-outline',\n\t'step-over': 'square-share-outline',\n\tfirst: 'arrow-left-most-outline',\n\tlast: 'arrow-right-most-outline',\n\t'split-vertical': 'ellipsis-v-outline',\n\t'split-horizontal': 'ellipsis-h-outline',\n\tworkspace: 'workflow-outline'\n};\n\nexport const LOCAL_STORAGE_KEYS = {\n\tRENDER_DEBUG_LIST: 'renderDebugList',\n\tPERFORMANCE_OBSERVERS: 'perfObservers'\n};\n","export const deepSearchElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nexport const deepSearchAllElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\tconst result = [];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelectorAll(selector);\n\t\tif (ele && ele.length > 0) result.push(...ele);\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n\treturn result;\n};\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:14.6875rem;padding:.75rem;width:20rem}.popover-content.delete-popup{height:11.875rem}.remove-text{font-size:1rem;margin-block-start:1.5rem}now-button-bare{--now-button_icon--bare_tertiary--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--bare_tertiary--color--hover:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))}now-input,now-select{--now-form-field_label--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))}now-input{--now-input--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-form-field_label--color--invalid:var(--now-color_alert--critical-1,221,133,129);--now-input--background-color:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--background-color--invalid:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--background-color--invalid_focus:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-input--border-color--invalid:var(--now-color_alert--critical-1,221,133,129);--now-input_placeholder--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-input_placeholder--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-input--background-color--hover:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-input--background-color-alpha--hover:var(--now-opacity--most,0.8);--now-input--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-input--background-color--focus:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129))}now-select{--now-select_trigger-icon--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select--background-color:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-select--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-select--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select_placeholder--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select_placeholder--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select--background-color--hover:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-select--background-color-alpha--hover:var(--now-opacity--most,0.8);--now-select--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-select--background-color--focus:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-select--background-color--opened:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97))}.cancel,.more{--now-button--tertiary--color:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--color--active:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--color--hover:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--border-color--active:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--background-color--hover:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--hover:var(--now-opacity--less,0.25);--now-button--tertiary--background-color--active:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--active:var(--now-opacity--mid,0.5)}.remove{--now-button--secondary-negative--color:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color-alpha:0;--now-button--secondary-negative--background-color-alpha--hover:var(--now-opacity--least,0.1);--now-button--secondary-negative--background-color-alpha--active:var(--now-opacity--less,0.25)}.done{--now-button--tertiary--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--active:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--active:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--background-color--hover:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--hover:var(--now-opacity--less,0.25);--now-button--tertiary--background-color--active:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--active:var(--now-opacity--mid,0.5)}.button-row,.title-row{display:flex;justify-content:space-between}.button-row.delete-popup,.title-row.delete-popup{justify-content:flex-end}.button-row>span,.title-row>span{font-size:1.25rem}.button-row{margin-block-start:1.5rem}.end-buttons{display:flex;flex-direction:row}.end-buttons now-button:last-child{margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.options{grid-gap:.5rem;display:grid;grid-auto-columns:min-content;grid-auto-flow:column;text-align:center}.feedback-form-container h2:first-child{margin:0 0 .625rem 0}.card-content,.now-card-slot,now-card{--now-card--scale-size:0;display:flex;flex-direction:column;flex-flow:nowrap;min-height:5rem;min-width:8.6875rem;position:relative}.card-content>span{margin:auto}now-icon{color:RGB(var(--now-color--primary-1,30,133,109));margin-bottom:.25rem}.check-icon{position:absolute;right:.25rem;top:.25rem}.now-card-slot.-sm{padding:0}h2{font-weight:600;margin:.9375rem 0 .625rem}h2,h3{font-size:1rem;line-height:1.1875rem}h3{color:RGB(var(--now-color--primary-1,30,133,109));font-weight:400;margin:auto .5rem}now-textarea{margin:0;width:100%}.legal-text{font-size:1rem;line-height:1.1875rem;margin-top:.75rem}.submit-complete h1{font-size:1.25rem;text-align:center}.illustration{height:22rem;margin:auto;width:22rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{height:100%}.polaris-header-logo{align-items:center;display:flex;flex-grow:0;flex-shrink:0;height:100%;overflow:hidden;padding-inline-end:1.25rem;padding-inline-start:1.5rem;position:relative}.polaris-header-logo img{color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;max-height:2rem;max-width:9.375rem;opacity:1}@media(forced-colors:active){.polaris-header-logo #header-logo-image{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header-logo #header-logo-image:focus,.polaris-header-logo #header-logo-image:hover,.polaris-header-logo:focus #header-logo-image,.polaris-header-logo:hover #header-logo-image{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header-logo:hover img{opacity:var(--now-opacity--most,.8);outline:none}.polaris-header-logo:focus-visible{outline:none}.polaris-header-logo:focus-visible img{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)))}@media only screen and (max-width:419px){.polaris-header-logo{padding-inline-end:.125rem;padding-inline-start:.75rem}}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header-logo:focus{outline:none}.polaris-header-logo:focus img{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)))}}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-menu{align-items:center;display:flex;height:3.25rem}a.sn-polaris-tab{text-decoration:none}.sn-polaris-tab{align-items:center;background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:.5rem;color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0));padding:0 .75rem;pointer-events:all;text-transform:capitalize}.sn-polaris-tab,.sn-polaris-tab .polaris-tab-item-icon{margin-inline-end:.25rem}.sn-polaris-tab.can-animate{transition:left .25s cubic-bezier(.19,1,.22,1),color 125ms cubic-bezier(.19,1,.22,1),background-color 125ms cubic-bezier(.19,1,.22,1),border-color 125ms cubic-bezier(.19,1,.22,1)}.sn-polaris-tab.is-active{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-tab:not(.is-active).selected,.sn-polaris-tab:not(.is-active):hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active).selected .leaf-item-icon,.sn-polaris-tab:not(.is-active):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):focus-visible{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus-visible:hover,.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus-visible:hover .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-tab:not(.is-active):focus{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.sn-polaris-tab:not(.is-active):active{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):active .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.sn-polaris-tab:not(.is-active){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab:not(.is-active):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}@media(forced-colors:active){.sn-polaris-tab:not(.is-active):hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):hover:focus,.sn-polaris-tab:not(.is-active):hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab.selected{opacity:0}.sn-polaris-tab.is-hidden{display:none}.sn-polaris-tab.is-pinned,.sn-polaris-tab.is-placeholder{pointer-events:none;visibility:hidden}.sn-polaris-tab.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-tab.is-pinned:after{background-color:RGB(var(--now-color--primary-0,221,237,233),1);border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;top:calc(100% - 2px);width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header-experience-title{max-width:15.3125rem}}:host{display:block;height:100%;position:relative;width:100%}:host(.un-resolved) .polaris-header-menu{visibility:hidden}:host(.un-resolved) .polaris-header-experience-title{visibility:hidden}.tab-name{transition:opacity .5s cubic-bezier(0,.93,.46,1)}.utility-icon-wrapper{display:flex;max-height:1rem;position:relative}.polaris-header{display:grid;grid-template-columns:1fr min-content 1fr;height:3.25rem;position:relative;z-index:1000}.polaris-header:before{content:\\\"\\\";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.polaris-header.show-only-search{grid-template-columns:.5fr min-content .5fr}.polaris-header.polaris-enabled:before{background-color:RGB(var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32)))}.polaris-header.polaris-enabled .polaris-header-experience-title{background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))))}.polaris-header:not(.polaris-enabled) .polaris-header-experience-title,.polaris-header:not(.polaris-enabled):before{background-color:RGB(var(--now-color_brand--primary,41,62,64))}.polaris-header .starting-header-zone{display:grid;grid-template-columns:min-content 1fr;opacity:1;pointer-events:all}.polaris-header .starting-header-zone.hidden{grid-template-columns:0;opacity:0;overflow:hidden;pointer-events:none;width:.5rem}.polaris-header .ending-header-zone{display:flex;flex-direction:row;min-width:0}.polaris-header .ending-header-zone.is-contextual-menu-pinned,.polaris-header .ending-header-zone.search-open{min-width:auto}.polaris-header .center-header-zone{display:flex}.polaris-header .center-header-zone.hidden{overflow:hidden;width:0}.polaris-header.can-animate .logo-area{transition:width .25s cubic-bezier(0,.93,.46,1),border-inline-end .25s cubic-bezier(0,.93,.46,1)}.polaris-header.can-animate .pinned-contextual-area{transition:width .25s cubic-bezier(0,.93,.46,1),border-inline-start .25s cubic-bezier(0,.93,.46,1)}.polaris-header.can-animate .pinned-icon{transition:opacity .5s cubic-bezier(.19,1,.22,1)}.polaris-header.is-pinned .logo-area{border-inline-end:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),1);width:20rem!important}.polaris-header.is-pinned:not(.is-contextual-menu-pinned){grid-template-columns:1.6fr min-content 1fr}.polaris-header.is-contextual-menu-pinned:not(.is-pinned){grid-template-columns:1fr min-content 1.5fr}.polaris-header.is-contextual-menu-pinned .polaris-header-controls{width:calc(100% - var(--pinned-contextual-menu-width))}.polaris-header.is-impersonating:after{background-color:RGB(var(--now-color_presence--busy,234,60,16));content:\\\"\\\";height:.1875rem;position:absolute;width:100%}.polaris-header .logo-area{border-inline-end:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),0);display:flex;flex-direction:row;height:3.25rem;min-width:2.5rem;overflow:hidden;width:auto;z-index:1001}@media(forced-colors:active){.polaris-header .logo-area{border-inline-end:none}}.polaris-header .logo-area .pinned-tabs{position:relative;width:100%}.polaris-header .logo-area .pinned-tabs .dirty-workspace-icon{left:-.5rem;top:35%}.polaris-header .logo-area .pinned-tabs .dirty-workspace-icon,.polaris-header .logo-area .tab-name{color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));position:absolute}.polaris-header .logo-area .tab-name{align-items:center;cursor:default;flex-grow:0;flex-shrink:0;font-size:1rem;height:3.25rem;max-width:115px;opacity:0;overflow:hidden;padding:1rem .75rem;pointer-events:none;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.polaris-header .logo-area .tab-name.shown{opacity:1;pointer-events:all}.polaris-header .logo-area .tab-name:hover:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned_hover,var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .logo-area .tab-name:active:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned_active,var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .logo-area .tab-name:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233)));border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;position:absolute;top:calc(100% - 3px);width:100%}.polaris-header .pinned-contextual-area{border-inline-start:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),0);display:flex;flex-direction:row;flex-grow:0;height:3.25rem;min-width:0;overflow:hidden;width:0}.polaris-header .pinned-contextual-area.is-contextual-menu-pinned{border-inline-start:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),1);width:var(--pinned-contextual-menu-width)}.polaris-header .pinned-contextual-area .pinned-icons{position:relative;width:100%}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon{align-items:center;color:RGB(var(--now-unified-nav_utility-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));display:inline-flex;flex-grow:0;flex-shrink:0;height:3.25rem;left:1rem;opacity:0;position:absolute;width:2rem}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon .contextual-zone-icon{margin:0 auto}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:active:after,.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:hover:after{background-color:RGB(var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:after{background-color:RGB(var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233)));border-radius:.125rem;content:\\\"\\\";height:.1875rem!important;left:0;position:absolute;top:calc(100% - 3px);width:100%;z-index:-1}.polaris-header *{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.polaris-header ::-webkit-scrollbar{width:.75rem}.polaris-header ::-webkit-scrollbar-track{border-radius:.5rem}.polaris-header ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header .utility-menu{display:flex;margin-inline-end:.75rem;margin-inline-start:.75rem}.polaris-header .utility-menu.hidden{overflow:hidden;width:0}@media only screen and (max-width:430px){.polaris-header .utility-menu{margin-inline:0}}.polaris-header .utility-menu .header-avatar-button{margin-inline-start:.75rem;position:relative;width:2rem}.polaris-header .utility-menu .header-avatar-button now-avatar{border-radius:50%;margin:auto}.polaris-header .utility-menu .header-avatar-button now-avatar.is-impersonating{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.polaris-header .utility-menu .header-avatar-button.user-menu{border-radius:4px}.polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));position:absolute;top:0}:host(:not([dir=rtl])) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay,:root:not([dir=rtl]) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{right:0}:host([dir=rtl]) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay,:root[dir=rtl] .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{left:0}.polaris-header .utility-menu .header-avatar-button:hover{opacity:var(--now-opacity--most,.8)}.polaris-header .utility-menu .header-avatar-button:focus-visible{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color--neutral-1,246,247,247));outline:none}@media only screen and (max-width:499px){.polaris-header .utility-menu .header-avatar-button{margin-inline-start:0}}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .header-avatar-button:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color--neutral-1,246,247,247));outline:none}}}.polaris-header .utility-menu .user-menu-body .user-menu-icon{align-items:center;color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));display:flex;margin-inline-end:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-icon.after{margin-inline-start:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-button{background-color:transparent;border:0;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;justify-content:flex-start;margin:0;padding:.5rem;position:relative;text-decoration:none;text-underline-offset:.125rem;width:100%}.polaris-header .utility-menu .user-menu-body .user-menu-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-button.selected,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button.selected .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible:hover,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .user-menu-body .user-menu-button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .user-menu-body .user-menu-button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button.selected,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.polaris-header .utility-menu .user-menu-body .user-menu-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .user-menu-label,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .user-menu-label .user-menu-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label .user-menu-icon{color:Highlight}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}.polaris-header .utility-menu .user-menu-body .user-menu-label{align-items:flex-start;display:flex;justify-content:flex-start;text-align:start;width:100%}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}}.polaris-header .utility-menu .user-menu-body .user-menu-header{grid-gap:.75rem;align-items:center;border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;flex-grow:0;grid-template-columns:4.5rem auto;padding:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-header.polaris-enabled{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9))}.polaris-header .utility-menu .user-menu-body .user-menu-header now-avatar{border-radius:50%;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.polaris-header .utility-menu .user-menu-body .user-menu-header now-avatar.avatar-border{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info{overflow:hidden;width:100%}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-name{font-size:1.25rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info{align-items:center;color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem;overflow:hidden;padding-block-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info now-icon{margin:0 .1875rem 0 0}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .instance-name,.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info.user-is-impersonating{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.polaris-header .utility-menu .user-menu-body hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.125rem}.polaris-header .utility-menu .user-menu-body .user-menu-controls{display:grid;margin:.5rem .5rem 0 .5rem}.polaris-header .utility-menu .user-menu-body .user-menu-footer{display:grid;flex-grow:0;margin:0 .5rem 1rem .5rem}.polaris-header .utility-menu .user-menu-body sn-collapsible-list{padding-inline-end:.75rem;padding-inline-start:.1875rem}.polaris-header .utility-menu .now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}.polaris-header .utility-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));cursor:pointer;position:relative}.polaris-header .utility-menu .concourse-pickers-body{padding:.5rem;padding-block-start:0}.polaris-header .utility-menu .concourse-pickers-body .loader{align-items:center;display:grid;height:10vh;width:100%}.polaris-header .utility-menu .concourse-pickers-body.can-animate-reverse{animation-duration:.25s;animation-name:transitionLeft}.polaris-header .utility-menu .concourse-pickers-body :host([dir=rtl]) .can-animate-reverse{animation-name:transitionRight}.polaris-header .utility-menu .concourse-pickers-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;font-size:1rem;grid-template-columns:1fr auto auto auto;margin-bottom:.75rem;outline:none}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label{align-items:center;border-radius:.25rem;display:flex;overflow:hidden;padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:.25rem}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label span.label:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .concourse-pickers-body .item-container{margin-top:.75rem;max-height:calc(65vh - 6.25rem)}.polaris-header .utility-menu .concourse-pickers-body .item-container.in-overflow{max-height:calc(65vh - 9.0625rem)}@media only screen and (max-height:256px){.polaris-header .utility-menu .concourse-pickers-body .item-container{max-height:-moz-fit-content!important;max-height:fit-content!important}}.polaris-header .utility-menu .picker-item{align-items:center;background-color:rgba(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;margin:.25rem 0;overflow:hidden;padding:.25rem .5rem;text-decoration:none;white-space:nowrap;width:100%}.polaris-header .utility-menu .picker-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .picker-item span:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .picker-item::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .picker-item.selected,.polaris-header .utility-menu .picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item.selected .leaf-item-icon,.polaris-header .utility-menu .picker-item:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .picker-item:focus,.polaris-header .utility-menu .picker-item:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:focus .leaf-item-icon,.polaris-header .utility-menu .picker-item:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus-visible:hover,.polaris-header .utility-menu .picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .picker-item:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .picker-item:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item.selected,.polaris-header .utility-menu .picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.polaris-header .utility-menu .picker-item{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .picker-item:focus,.polaris-header .utility-menu .picker-item:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .picker-item.selected{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}@media(forced-colors:active){.polaris-header .utility-menu .picker-item.selected{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .picker-item.selected:focus,.polaris-header .utility-menu .picker-item.selected:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}.polaris-header .utility-menu .picker-item.selected .label-and-description{color:SelectedItemText}}.polaris-header .utility-menu .picker-item.selected .description{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .picker-item.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.polaris-header .utility-menu .picker-item.highlighted-item .label,.polaris-header .utility-menu .picker-item.highlighted-item .label>mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .picker-item .label-and-description{display:flex;flex-direction:column;max-width:90%}.polaris-header .utility-menu .picker-item .label-and-description>span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.polaris-header .utility-menu .picker-item .label-and-description>span:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .picker-item .label-and-description .description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.polaris-header .utility-menu .picker-item:focus-visible mark,.polaris-header .utility-menu .picker-item:hover mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus-visible .description,.polaris-header .utility-menu .picker-item:focus-visible .label-and-description,.polaris-header .utility-menu .picker-item:hover .description,.polaris-header .utility-menu .picker-item:hover .label-and-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.polaris-header .utility-menu .picker-item:focus-visible .description .label,.polaris-header .utility-menu .picker-item:focus-visible .label-and-description .label,.polaris-header .utility-menu .picker-item:hover .description .label,.polaris-header .utility-menu .picker-item:hover .label-and-description .label{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))!important}.polaris-header .utility-menu .create-updateset-button,.polaris-header .utility-menu .go-back-button,.polaris-header .utility-menu .open-list-button,.polaris-header .utility-menu .open-record-button,.polaris-header .utility-menu .reset-default-button{align-items:center;align-self:center;border-radius:50%;cursor:pointer;display:flex;padding:.25rem}.polaris-header .utility-menu .create-updateset-button::-moz-focus-inner,.polaris-header .utility-menu .go-back-button::-moz-focus-inner,.polaris-header .utility-menu .open-list-button::-moz-focus-inner,.polaris-header .utility-menu .open-record-button::-moz-focus-inner,.polaris-header .utility-menu .reset-default-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .create-updateset-button.selected,.polaris-header .utility-menu .create-updateset-button:hover,.polaris-header .utility-menu .go-back-button.selected,.polaris-header .utility-menu .go-back-button:hover,.polaris-header .utility-menu .open-list-button.selected,.polaris-header .utility-menu .open-list-button:hover,.polaris-header .utility-menu .open-record-button.selected,.polaris-header .utility-menu .open-record-button:hover,.polaris-header .utility-menu .reset-default-button.selected,.polaris-header .utility-menu .reset-default-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button.selected .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button.selected .leaf-item-icon,.polaris-header .utility-menu .go-back-button:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button.selected .leaf-item-icon,.polaris-header .utility-menu .open-list-button:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button.selected .leaf-item-icon,.polaris-header .utility-menu .open-record-button:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button.selected .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .create-updateset-button:focus-visible,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .go-back-button:focus-visible,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-list-button:focus-visible,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .open-record-button:focus-visible,.polaris-header .utility-menu .reset-default-button:focus,.polaris-header .utility-menu .reset-default-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:focus .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:focus-visible:hover,.polaris-header .utility-menu .create-updateset-button:focus:hover,.polaris-header .utility-menu .go-back-button:focus-visible:hover,.polaris-header .utility-menu .go-back-button:focus:hover,.polaris-header .utility-menu .open-list-button:focus-visible:hover,.polaris-header .utility-menu .open-list-button:focus:hover,.polaris-header .utility-menu .open-record-button:focus-visible:hover,.polaris-header .utility-menu .open-record-button:focus:hover,.polaris-header .utility-menu .reset-default-button:focus-visible:hover,.polaris-header .utility-menu .reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:-moz-focusring,.polaris-header .utility-menu .go-back-button:-moz-focusring,.polaris-header .utility-menu .open-list-button:-moz-focusring,.polaris-header .utility-menu .open-record-button:-moz-focusring,.polaris-header .utility-menu .reset-default-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .go-back-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .open-list-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .open-record-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:-moz-focusring:hover,.polaris-header .utility-menu .go-back-button:-moz-focusring:hover,.polaris-header .utility-menu .open-list-button:-moz-focusring:hover,.polaris-header .utility-menu .open-record-button:-moz-focusring:hover,.polaris-header .utility-menu .reset-default-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .reset-default-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:focus .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:focus:hover,.polaris-header .utility-menu .go-back-button:focus:hover,.polaris-header .utility-menu .open-list-button:focus:hover,.polaris-header .utility-menu .open-record-button:focus:hover,.polaris-header .utility-menu .reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .create-updateset-button:active,.polaris-header .utility-menu .go-back-button:active,.polaris-header .utility-menu .open-list-button:active,.polaris-header .utility-menu .open-record-button:active,.polaris-header .utility-menu .reset-default-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:active .leaf-item-icon,.polaris-header .utility-menu .go-back-button:active .leaf-item-icon,.polaris-header .utility-menu .open-list-button:active .leaf-item-icon,.polaris-header .utility-menu .open-record-button:active .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .create-updateset-button,.polaris-header .utility-menu .go-back-button,.polaris-header .utility-menu .open-list-button,.polaris-header .utility-menu .open-record-button,.polaris-header .utility-menu .reset-default-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .create-updateset-button:hover,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .go-back-button:hover,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-list-button:hover,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .open-record-button:hover,.polaris-header .utility-menu .reset-default-button:focus,.polaris-header .utility-menu .reset-default-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .go-back-button{margin-inline-end:.5rem}.polaris-header .utility-menu mark{background:none;font-weight:bolder}.polaris-header .utility-menu mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .is-filtered:focus-visible .label,.polaris-header .utility-menu .is-filtered:hover .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu span.tooltip-label{display:none}.polaris-header .utility-menu .recentSelections .recentSelectionsHeader{color:var(--now-color--neutral-2,228,230,231);font-size:.75rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.polaris-header .utility-menu .recentSelections hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.5rem}.polaris-header .utility-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.polaris-header .utility-menu :host([hidden]){display:none}.polaris-header .utility-menu *,.polaris-header .utility-menu :after,.polaris-header .utility-menu :before{box-sizing:border-box}.polaris-header .utility-menu *{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.polaris-header .utility-menu ::-webkit-scrollbar{width:.75rem}.polaris-header .utility-menu ::-webkit-scrollbar-track{border-radius:.5rem}.polaris-header .utility-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header .utility-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header .utility-menu .polaris-header-experience-title{max-width:15.3125rem}}.polaris-header .utility-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.polaris-header .utility-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.polaris-header .utility-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .experience-title-favorite-button.selected,.polaris-header .utility-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button.selected .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .experience-title-favorite-button:focus,.polaris-header .utility-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:focus .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:focus-visible:hover,.polaris-header .utility-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .experience-title-favorite-button:focus,.polaris-header .utility-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .experience-title-favorite-button.is-favorite:focus,.polaris-header .utility-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .experience-title-favorite-buttonactive:focus,.polaris-header .utility-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.polaris-header .utility-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}.polaris-header .utility-menu :host{display:block;height:100%;overflow:hidden}.polaris-header .utility-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.polaris-header .utility-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.polaris-header .utility-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.polaris-header .utility-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.polaris-header .utility-menu .overflow-pill-header{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;flex-direction:column;padding:.125rem 0 .5rem 0}.polaris-header .utility-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.polaris-header .utility-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.polaris-header .utility-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.polaris-header .utility-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header span{font-size:1rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.polaris-header .utility-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.polaris-header .utility-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.polaris-header .utility-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.polaris-header .utility-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.polaris-header .utility-menu sn-drilldown-list:last-child{border-bottom:none}.polaris-header .utility-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.polaris-header .utility-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned:focus,.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.polaris-header .utility-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .sn-polaris-nav-btn.selected,.polaris-header .utility-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .sn-polaris-nav-btn:focus,.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible:hover,.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus,.polaris-header .utility-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.polaris-header .contextual-zone-button{align-items:center;background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:2rem;margin:0 .25rem;outline:none;position:relative;width:2rem}.polaris-header .contextual-zone-button.polaris-enabled{color:RGB(var(--now-unified-nav_utility-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .contextual-zone-button:not(.polaris-enabled){color:RGB(var(--now-color--neutral-4,191,197,198))}@media(forced-colors:active){.polaris-header .contextual-zone-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .contextual-zone-button:focus,.polaris-header .contextual-zone-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .contextual-zone-button .contextual-zone-icon{margin:auto;vertical-align:inherit}.polaris-header .contextual-zone-button .utility-badge{inset-block-start:-.125rem;inset-inline-end:-.125rem;position:absolute}.polaris-header .contextual-zone-button .utility-badge-dot{background-color:RGB(var(--now-badge--secondary_info--background-color,--now-color_alert--info-0));border-color:RGB(var(--now-badge--secondary_info--border-color,--now-color_alert--info-1));border-radius:50%;height:.5rem;inset-block-start:.25rem;inset-inline-end:.25rem;position:absolute;width:.5rem}.polaris-header .contextual-zone-button .utility-presence{inset-block-end:1px;inset-inline-end:1px;position:absolute}.polaris-header .contextual-zone-button.pinned{display:none}.polaris-header .contextual-zone-button.is-placeholder{margin:0;opacity:0;pointer-events:none;visibility:hidden;width:0}.polaris-header .contextual-zone-button.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.polaris-header .contextual-zone-button:not(.user-menu){outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0))}.polaris-header .contextual-zone-button:not(.user-menu)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .contextual-zone-button:not(.user-menu).selected,.polaris-header .contextual-zone-button:not(.user-menu):hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu).selected .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.polaris-header .contextual-zone-button:not(.user-menu):focus,.polaris-header .contextual-zone-button:not(.user-menu):focus-visible{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):focus .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):focus-visible:hover,.polaris-header .contextual-zone-button:not(.user-menu):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):focus-visible:hover .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .contextual-zone-button:not(.user-menu):focus{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.polaris-header .contextual-zone-button:not(.user-menu):active{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):active .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.polaris-header .contextual-zone-button:not(.user-menu){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .contextual-zone-button:not(.user-menu):focus,.polaris-header .contextual-zone-button:not(.user-menu):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .contextual-zone-button:not(.user-menu):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}.polaris-header .contextual-zone-button:not(.user-menu).indicator-on{border:var(--now-unified-nav_nav-menu-trigger--border-size--active,.125rem) solid RGB(var(--now-unified-nav_nav-menu-trigger--border-color--active,var(--now-color_presence--busy,234,60,16)))}.polaris-header .contextual-menu-item{align-items:center;background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),0);border-radius:1.0625rem;color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;margin:0;outline:none;position:relative;text-transform:capitalize;width:2rem}:host(:not([dir=rtl])) .polaris-header .contextual-menu-item,:root:not([dir=rtl]) .polaris-header .contextual-menu-item{text-align:left}:host([dir=rtl]) .polaris-header .contextual-menu-item,:root[dir=rtl] .polaris-header .contextual-menu-item{text-align:right}.polaris-header .contextual-menu-item.action-button{--now-color_focus-ring:RGBA($now-unified-nav_utility-menu-trigger--background-color,0);--now-button--bare_secondary--background-color--hover:RGB($now-unified-nav_utility-menu-trigger--background-color--hover);border-radius:.25rem;width:auto}.polaris-header .contextual-menu-item-label{color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));margin-inline-start:.5rem;overflow:hidden;text-overflow:ellipsis;width:100%;width:max-content}:host(:not([dir=rtl])) .polaris-header .contextual-menu-item-label,:root:not([dir=rtl]) .polaris-header .contextual-menu-item-label{text-align:left}:host([dir=rtl]) .polaris-header .contextual-menu-item-label,:root[dir=rtl] .polaris-header .contextual-menu-item-label{text-align:right}.polaris-header .contextual-menu-item:not(.action_button)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .contextual-menu-item:not(.action_button).selected,.polaris-header .contextual-menu-item:not(.action_button):hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button).selected .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.polaris-header .contextual-menu-item:not(.action_button):focus,.polaris-header .contextual-menu-item:not(.action_button):focus-visible{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):focus .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):focus-visible:hover,.polaris-header .contextual-menu-item:not(.action_button):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):focus-visible:hover .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .contextual-menu-item:not(.action_button):focus{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.polaris-header .contextual-menu-item:not(.action_button):active{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):active .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item now-icon{color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .in-overflow-menu sn-help-panel{position:static}.polaris-header .notifications-container{--sn-notification-menu-trigger--background-color:var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu--notification-color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--sn-notification-menu-subitem--color:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--sn-notification-menu_unread-notification-icon--color:var(--now-unified-nav_unread-notification-icon--color,104,171,218);--sn-notification-menu-trigger--background-color--hover:var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu-trigger--background-color--active:var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))));--sn-notification-menu-item--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--sn-notification-menu_menu_sublabel--color:var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198));--sn-notification-menu--border-color:var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110));--sn-notification-menu-z-index:1000;--sn-notification-banner-vertical-offset:4.25rem;--sn-notification-banner-horizontal-offset:1.5rem;--sn-notification-menu_button--background-color:var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97));--sn-notification-menu_button--background-color--hover:var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_button--background-color--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_button--color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--sn-notification-menu_button--color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--sn-notification-menu_button--color--active:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--sn-notification-menu_button--background-color-alpha--hover:var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,0.8));--sn-notification-menu_button--background-color-alpha--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_focus-ring--color:var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142));--sn-notification-menu_focus-ring-inner--color:var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247))}.polaris-header sn-help-panel{--now-button--secondary--color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--now-button--secondary--color--active:var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--border-color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--now-button--secondary--border-color--active:var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--border-color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--background-color--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));position:relative}.polaris-header .collab-chat-container{max-height:calc(65vh - 6.25rem)}.polaris-header .help-menu-panel.feedbackFormEnabled{height:calc(100% - 64px)}.polaris-header .help-menu-content{height:100%;min-height:20vh}.polaris-header .help-menu-footer{display:flex;height:4rem;width:100%}.polaris-header .help-menu-footer,.polaris-header .help-menu-footer now-button{background-color:RGB(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)))}.polaris-header .help-menu-footer now-button{--now-button--tertiary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--tertiary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--background-color--hover:var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:auto}.polaris-header .sn-uxa-analytics-overlay-container{--now-form-field_label--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-heading--header-secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--secondary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))}.polaris-header :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.polaris-header :host([hidden]){display:none}.polaris-header *,.polaris-header :after,.polaris-header :before{box-sizing:border-box}.polaris-header .polaris-search{position:relative;white-space:nowrap}.polaris-header .polaris-search.tiny-search{max-width:320px}.polaris-header .polaris-search:not(.polaris-enabled){max-width:480px;width:100%}@media screen and (max-width:680px){.polaris-header .polaris-search{max-width:300px}}.polaris-header-controls{display:flex;grid-template-columns:auto min-content;outline:none;place-items:center end;width:100%}.polaris-header-controls.is-contextual-menu-pinned.can-animate{transition:width .25s cubic-bezier(0,.93,.46,1)}.search-container{display:flex;flex-direction:row-reverse;flex-grow:1}.utility-menu-container{flex-grow:0;flex-shrink:1}@media screen and (max-width:1480px){.polaris-header .polaris-header-experience-title{max-width:21.25rem}}@media screen and (max-width:420px){.polaris-header .logo-area .tab-name.shown{pointer-events:none;visibility:hidden}}@media screen and (max-width:1280px){.polaris-header{grid-template-columns:1fr min-content 1fr}.polaris-header.is-pinned{grid-template-columns:2fr min-content 1fr}.polaris-header.is-pinned.is-contextual-menu-pinned{grid-template-columns:1fr min-content 1fr}.polaris-header.is-contextual-menu-pinned:not(.is-pinned){grid-template-columns:1fr min-content 1.4fr}}@media screen and (max-width:1024px){.polaris-header{grid-template-columns:1fr min-content 1fr}.polaris-header .polaris-header-experience-title{max-width:13.75rem}.polaris-header.search-open{grid-template-columns:.75fr 0 1.25fr}}@media screen and (max-width:992px){.polaris-header.is-pinned{grid-template-columns:1.5fr 0 .5fr}.polaris-header.is-pinned .polaris-header-experience-title{opacity:0}.polaris-header.is-contextual-menu-pinned{grid-template-columns:1.5fr 0 .5fr}.polaris-header.is-contextual-menu-pinned .polaris-header-experience-title{opacity:0}.polaris-header.search-open{grid-template-columns:1fr 0 1fr}}@media screen and (max-width:768px){.polaris-header .polaris-header-experience-title{max-width:11.25rem}.polaris-header.search-open{grid-template-columns:.75fr 0 1.25fr}}@media screen and (max-width:640px){.polaris-header .polaris-header-experience-title{max-width:8.75rem}.polaris-header.search-open{grid-template-columns:1fr 0 1fr}}@media screen and (max-width:530px){.polaris-header{grid-template-columns:1fr 0 min-content}.polaris-header.search-open{grid-template-columns:0 0 1fr}.polaris-header-experience-title{opacity:0}}@media screen and (max-width:325px){.polaris-header.search-open{grid-template-columns:1fr 0 min-content}}.experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.experience-title-favorite-button.selected,.experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button.selected .leaf-item-icon,.experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.experience-title-favorite-button:focus,.experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon,.experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus-visible:hover,.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.experience-title-favorite-button:focus,.experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-button.is-favorite:focus,.experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-buttonactive:focus,.experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-title:after{content:\\\"\\\";display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus,.sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}sn-drilldown-list{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));cursor:pointer;position:relative}sn-drilldown-list:last-child{border-bottom:none}.concourse-pickers-body{padding:.5rem;padding-block-start:0}.concourse-pickers-body .loader{align-items:center;display:grid;height:10vh;width:100%}.concourse-pickers-body.can-animate-reverse{animation-duration:.25s;animation-name:transitionLeft}.concourse-pickers-body :host([dir=rtl]) .can-animate-reverse{animation-name:transitionRight}.concourse-pickers-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.concourse-pickers-body .concourse-picker-header{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;font-size:1rem;grid-template-columns:1fr auto auto auto;margin-bottom:.75rem;outline:none}.concourse-pickers-body .concourse-picker-header .header-label{align-items:center;border-radius:.25rem;display:flex;overflow:hidden;padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:.25rem}.concourse-pickers-body .concourse-picker-header .header-label span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concourse-pickers-body .concourse-picker-header .header-label span.label:after{content:\\\"\\\";display:block}.concourse-pickers-body .item-container{margin-top:.75rem;max-height:calc(65vh - 6.25rem)}.concourse-pickers-body .item-container.in-overflow{max-height:calc(65vh - 9.0625rem)}@media only screen and (max-height:256px){.concourse-pickers-body .item-container{max-height:-moz-fit-content!important;max-height:fit-content!important}}.picker-item{align-items:center;background-color:rgba(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;margin:.25rem 0;padding:.25rem .5rem;text-decoration:none;width:100%}.picker-item,.picker-item span{overflow:hidden;white-space:nowrap}.picker-item span{text-overflow:ellipsis}.picker-item span:after{content:\\\"\\\";display:block}.picker-item::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.picker-item.selected,.picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item.selected .leaf-item-icon,.picker-item:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.picker-item:focus,.picker-item:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:focus .leaf-item-icon,.picker-item:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus-visible:hover,.picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:focus-visible:hover .leaf-item-icon,.picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.picker-item:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.picker-item:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item.selected,.picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.picker-item{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.picker-item:focus,.picker-item:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.picker-item.selected{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}@media(forced-colors:active){.picker-item.selected{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.picker-item.selected:focus,.picker-item.selected:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}.picker-item.selected .label-and-description{color:SelectedItemText}}.picker-item.selected .description{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.picker-item.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.picker-item.highlighted-item .label,.picker-item.highlighted-item .label>mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.picker-item .label-and-description{display:flex;flex-direction:column;max-width:90%}.picker-item .label-and-description>span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.picker-item .label-and-description>span:after{content:\\\"\\\";display:block}.picker-item .label-and-description .description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.picker-item:focus-visible mark,.picker-item:hover mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus-visible .description,.picker-item:focus-visible .label-and-description,.picker-item:hover .description,.picker-item:hover .label-and-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.picker-item:focus-visible .description .label,.picker-item:focus-visible .label-and-description .label,.picker-item:hover .description .label,.picker-item:hover .label-and-description .label{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))!important}.create-updateset-button,.go-back-button,.open-list-button,.open-record-button,.reset-default-button{align-items:center;align-self:center;border-radius:50%;cursor:pointer;display:flex;padding:.25rem}.create-updateset-button::-moz-focus-inner,.go-back-button::-moz-focus-inner,.open-list-button::-moz-focus-inner,.open-record-button::-moz-focus-inner,.reset-default-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.create-updateset-button.selected,.create-updateset-button:hover,.go-back-button.selected,.go-back-button:hover,.open-list-button.selected,.open-list-button:hover,.open-record-button.selected,.open-record-button:hover,.reset-default-button.selected,.reset-default-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button.selected .leaf-item-icon,.create-updateset-button:hover .leaf-item-icon,.go-back-button.selected .leaf-item-icon,.go-back-button:hover .leaf-item-icon,.open-list-button.selected .leaf-item-icon,.open-list-button:hover .leaf-item-icon,.open-record-button.selected .leaf-item-icon,.open-record-button:hover .leaf-item-icon,.reset-default-button.selected .leaf-item-icon,.reset-default-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.create-updateset-button:focus,.create-updateset-button:focus-visible,.go-back-button:focus,.go-back-button:focus-visible,.open-list-button:focus,.open-list-button:focus-visible,.open-record-button:focus,.open-record-button:focus-visible,.reset-default-button:focus,.reset-default-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:focus .leaf-item-icon,.create-updateset-button:focus-visible .leaf-item-icon,.go-back-button:focus .leaf-item-icon,.go-back-button:focus-visible .leaf-item-icon,.open-list-button:focus .leaf-item-icon,.open-list-button:focus-visible .leaf-item-icon,.open-record-button:focus .leaf-item-icon,.open-record-button:focus-visible .leaf-item-icon,.reset-default-button:focus .leaf-item-icon,.reset-default-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:focus-visible:hover,.create-updateset-button:focus:hover,.go-back-button:focus-visible:hover,.go-back-button:focus:hover,.open-list-button:focus-visible:hover,.open-list-button:focus:hover,.open-record-button:focus-visible:hover,.open-record-button:focus:hover,.reset-default-button:focus-visible:hover,.reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:focus-visible:hover .leaf-item-icon,.create-updateset-button:focus:hover .leaf-item-icon,.go-back-button:focus-visible:hover .leaf-item-icon,.go-back-button:focus:hover .leaf-item-icon,.open-list-button:focus-visible:hover .leaf-item-icon,.open-list-button:focus:hover .leaf-item-icon,.open-record-button:focus-visible:hover .leaf-item-icon,.open-record-button:focus:hover .leaf-item-icon,.reset-default-button:focus-visible:hover .leaf-item-icon,.reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:-moz-focusring,.go-back-button:-moz-focusring,.open-list-button:-moz-focusring,.open-record-button:-moz-focusring,.reset-default-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:-moz-focusring .leaf-item-icon,.go-back-button:-moz-focusring .leaf-item-icon,.open-list-button:-moz-focusring .leaf-item-icon,.open-record-button:-moz-focusring .leaf-item-icon,.reset-default-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:-moz-focusring:hover,.go-back-button:-moz-focusring:hover,.open-list-button:-moz-focusring:hover,.open-record-button:-moz-focusring:hover,.reset-default-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:-moz-focusring:hover .leaf-item-icon,.go-back-button:-moz-focusring:hover .leaf-item-icon,.open-list-button:-moz-focusring:hover .leaf-item-icon,.open-record-button:-moz-focusring:hover .leaf-item-icon,.reset-default-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.create-updateset-button:focus,.go-back-button:focus,.open-list-button:focus,.open-record-button:focus,.reset-default-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:focus .leaf-item-icon,.go-back-button:focus .leaf-item-icon,.open-list-button:focus .leaf-item-icon,.open-record-button:focus .leaf-item-icon,.reset-default-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:focus:hover,.go-back-button:focus:hover,.open-list-button:focus:hover,.open-record-button:focus:hover,.reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:focus:hover .leaf-item-icon,.go-back-button:focus:hover .leaf-item-icon,.open-list-button:focus:hover .leaf-item-icon,.open-record-button:focus:hover .leaf-item-icon,.reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.create-updateset-button:active,.go-back-button:active,.open-list-button:active,.open-record-button:active,.reset-default-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:active .leaf-item-icon,.go-back-button:active .leaf-item-icon,.open-list-button:active .leaf-item-icon,.open-record-button:active .leaf-item-icon,.reset-default-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.create-updateset-button,.go-back-button,.open-list-button,.open-record-button,.reset-default-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.create-updateset-button:focus,.create-updateset-button:hover,.go-back-button:focus,.go-back-button:hover,.open-list-button:focus,.open-list-button:hover,.open-record-button:focus,.open-record-button:hover,.reset-default-button:focus,.reset-default-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.go-back-button{margin-inline-end:.5rem}mark{background:none;font-weight:bolder}mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered:focus-visible .label,.is-filtered:hover .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}span.tooltip-label{display:none}.recentSelections .recentSelectionsHeader{color:var(--now-color--neutral-2,228,230,231);font-size:.75rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.recentSelections hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../../../assets/bg-wave.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-tree-menu :host([hidden]){display:none}.sn-tree-menu *,.sn-tree-menu :after,.sn-tree-menu :before{box-sizing:border-box}.sn-tree-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-tree-menu ::-webkit-scrollbar{width:.75rem}.sn-tree-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-tree-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{display:block;height:100%}.sn-tree-menu .sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-tree-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-tree-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-tree-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-tree-menu .sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}.sn-overflow-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-overflow-menu :host([hidden]){display:none}.sn-overflow-menu *,.sn-overflow-menu :after,.sn-overflow-menu :before{box-sizing:border-box}.sn-overflow-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-overflow-menu ::-webkit-scrollbar{width:.75rem}.sn-overflow-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-overflow-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-overflow-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.sn-overflow-menu .polaris-header-experience-title{max-width:15.3125rem}}.sn-overflow-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.sn-overflow-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.sn-overflow-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .experience-title-favorite-button.selected,.sn-overflow-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button.selected .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover,.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.sn-overflow-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-button.is-favorite:focus,.sn-overflow-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-buttonactive:focus,.sn-overflow-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}.sn-overflow-menu :host{display:block;height:100%;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-overflow-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-overflow-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-overflow-menu .overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.sn-overflow-menu .overflow-pill-header,.sn-overflow-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-overflow-menu .sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-overflow-menu .sn-polaris-nav-header span{font-size:1rem}.sn-overflow-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-overflow-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-overflow-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-overflow-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-overflow-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-overflow-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-overflow-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.sn-overflow-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.sn-overflow-menu sn-drilldown-list:last-child{border-bottom:none}.sn-overflow-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-overflow-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:focus,.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-overflow-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-btn.selected,.sn-overflow-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-overflow-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}:host{--panel-max-height:65vh;outline:none}@media only screen and (max-height:256px){:host{--panel-max-height:calc(100vh - 3.25rem - 4px)}}.sn-polaris-nav-header .sn-polaris-nav-header-controls,.sn-polaris-nav-header .sn-polaris-nav-header-filter{top:-1.5rem}:host(.can-animate){transition:opacity .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-body{transition:max-height .25s cubic-bezier(0,.93,.46,1),margin-top .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:top .25s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate){transition:opacity .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .menu-body:before{transition:top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-body{transition:max-height .5s cubic-bezier(0,.93,.46,1),margin-top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:all .5s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-body{margin-top:2.5rem;max-height:5vh;overflow-x:hidden;overflow-y:auto;padding-block-end:.75rem;padding-block-start:.125rem;padding-inline-end:.5rem;padding-inline-start:.5rem;width:100%}.sn-polaris-nav-body:only-child{background-color:transparent}.sn-polaris-nav-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-contextual-menu{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-rows:.5rem auto 0;max-height:5vh;opacity:0;outline:none;pointer-events:none;position:absolute;right:0;top:3rem;visibility:hidden;width:20rem}.polaris-contextual-menu.is-bar-menu{top:6.25rem}.polaris-contextual-menu.userMenu{width:17.5rem}.polaris-contextual-menu.overflowMenu .contextual-menu-content{overflow:hidden}.polaris-contextual-menu.overflowMenu.undrilled:not(.wide-menu) .contextual-menu-content{width:20rem}@media only screen and (max-width:499px){.polaris-contextual-menu.overflowMenu.chat-button .contextual-menu-content{overflow:hidden auto}}.polaris-contextual-menu.wide-menu{width:31.25rem}@media only screen and (max-width:499px){.polaris-contextual-menu.wide-menu{width:20rem}}.polaris-contextual-menu.chat .contextual-menu-header .text-header-area{grid-template-columns:auto min-content min-content}.polaris-contextual-menu.chat .contextual-menu-content{overflow:hidden}.polaris-contextual-menu.reversed{left:0;right:auto}.polaris-contextual-menu.reversed .contextual-menu-top .left{border-left:0;border-radius:0 .5rem 0 0;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu.reversed .contextual-menu-top .right{border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem 0 0 0;border-right:0;border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:.1875rem}.polaris-contextual-menu.can-animate,.polaris-contextual-menu.can-animate .contextual-menu-content,.polaris-contextual-menu.can-animate .contextual-menu-header,.polaris-contextual-menu.can-animate .contextual-menu-top .center,.polaris-contextual-menu.can-animate .contextual-menu-top .center:before,.polaris-contextual-menu.can-animate .contextual-menu-top .left,.polaris-contextual-menu.can-animate .contextual-menu-top .right{transition:all .25s cubic-bezier(0,.93,.46,1)}.polaris-contextual-menu.is-visible{max-height:var(--panel-max-height);opacity:1;pointer-events:all;visibility:visible}.polaris-contextual-menu.is-visible .contextual-menu-content,.polaris-contextual-menu.is-visible .contextual-menu-header{top:0}.polaris-contextual-menu.is-contextual-menu-pinned{grid-template-rows:0 auto 0;height:calc(100vh - 3.25rem - var(--now-unified-nav_header--border-size, 0px));margin-block-start:0;max-height:none;opacity:1;pointer-events:all;top:calc(3.25rem + var(--now-unified-nav_header--border-size, 0px))}:host(:not([dir=rtl])) .polaris-contextual-menu.is-contextual-menu-pinned,:root:not([dir=rtl]) .polaris-contextual-menu.is-contextual-menu-pinned{right:0}:host([dir=rtl]) .polaris-contextual-menu.is-contextual-menu-pinned,:root[dir=rtl] .polaris-contextual-menu.is-contextual-menu-pinned{left:0}.polaris-contextual-menu.is-contextual-menu-pinned:before{display:none}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top{height:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .left,.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .right{border-radius:0;height:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .center{height:0;width:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .center:before{border-left:0;border-top:0;box-shadow:none;height:0;left:.4375rem;width:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body:not(.polaris-enabled){background-color:RGB(var(var(--now-color_chrome--brand-5,41,63,64),41,63,64));border-color:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:var(--mv9-TtmW--kvZptZ-ZrpAW1,.125rem);border-style:solid;border-width:1px;box-shadow:0 2px .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.25)}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body.polaris-enabled{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)));border-color:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-bottom:0;border-inline-end-width:0;border-inline-start-width:.0625rem;border-radius:0;box-shadow:none;max-height:100vh}@media(forced-colors:active){.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body.polaris-enabled{border:.0625rem solid CanvasText}}.polaris-contextual-menu.helpMenu .contextual-menu-content{height:calc(100% - 41px - var(--aside-height))}.polaris-contextual-menu.helpMenu.can-be-pinned .contextual-menu-content{height:calc(100% - 53px - var(--aside-height))}.polaris-contextual-menu hr{background-color:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border:none;height:.0625rem;margin:.5rem 1rem}@media(forced-colors:active){.polaris-contextual-menu hr{background-color:CanvasText}}.polaris-contextual-menu.userMenu .contextual-menu-content{top:0}.polaris-contextual-menu .contextual-menu-header{font-size:1rem;max-height:2.8125rem;position:relative;top:-1.25rem}.polaris-contextual-menu .contextual-menu-header .text-header-area{align-items:center;display:grid;grid-template-columns:auto min-content min-content min-content;padding-block-start:.25rem;padding-inline-end:.75rem;padding-inline-start:1rem}.polaris-contextual-menu .contextual-menu-header .text-header-area>button.sn-polaris-nav-btn:last-child{margin-inline-end:.75rem}.polaris-contextual-menu .contextual-menu-header .filter-header-row{display:flex;flex-direction:row;gap:.75rem;padding-block-end:.75rem;padding-block-start:.75rem;padding-inline-end:.75rem;padding-inline-start:1rem}.polaris-contextual-menu .contextual-menu-header now-icon{height:1rem;width:1rem}.polaris-contextual-menu .contextual-menu-content{overflow-y:auto;position:relative;top:1.25rem}.polaris-contextual-menu .contextual-menu-top{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-radius:.5rem .5rem 0 0;display:grid;grid-template-columns:auto 1.125rem auto;height:1rem;height:.5rem;position:relative;width:inherit}.polaris-contextual-menu .contextual-menu-top .left{border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem 0 0 0;border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));bottom:0;flex-grow:1;height:.5rem;position:relative}.polaris-contextual-menu .contextual-menu-top .center{flex-grow:0;height:.5rem;position:relative;width:1.125rem}.polaris-contextual-menu .contextual-menu-top .center:before{background:linear-gradient(315deg,transparent 50%,transparent 50%,RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9)) 52%,RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));content:\\\"\\\";height:.875rem;left:.125rem;position:absolute;top:-.4375rem;transform:rotate(45deg);width:.875rem}.polaris-contextual-menu .contextual-menu-top .center:before,.polaris-contextual-menu .contextual-menu-top .right{border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu .contextual-menu-top .right{border-radius:0 .5rem 0 0;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));height:.5rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-contextual-menu.polaris-enabled .contextual-menu-body:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:bottom;background-repeat:no-repeat;background-size:100% 30.6875rem;bottom:0;content:\\\"\\\";left:0;opacity:var(--now-unified-nav_menu--background-image-alpha,1);position:absolute;right:0;top:0}@supports(hanging-punctuation:first) and (-webkit-appearance:none){.polaris-contextual-menu.polaris-enabled .contextual-menu-body:before{background-size:100%}}}.polaris-contextual-menu .contextual-menu-body{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:0 0 .5rem .5rem;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:grid;grid-template-rows:auto 1fr;max-height:var(--panel-max-height);overflow:hidden;position:relative;width:inherit}@media(forced-colors:active){.polaris-contextual-menu .contextual-menu-body{background:Canvas}}.polaris-contextual-menu.helpMenu .contextual-menu-body{display:block}.polaris-contextual-menu.userMenu .contextual-menu-top .center,.polaris-contextual-menu.userMenu .contextual-menu-top .left,.polaris-contextual-menu.userMenu .contextual-menu-top .right{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))}.polaris-contextual-menu:not(.polaris-enabled){grid-template-rows:auto 0;height:calc(100vh - 3.25rem);max-height:calc(100vh - 3.25rem);top:3.25rem}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-top{display:none}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-content{max-height:100vh;overflow-y:auto;position:relative;top:0;width:20rem}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-body{background-color:RGB(var(--now-color--neutral-15,44,53,55));background-image:none;border-radius:0;border-width:0;box-shadow:0 2px .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.25)}.polaris-contextual-menu:not(.polaris-enabled):before{display:none}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}@media screen and (max-width:1219px){.sn-polaris-nav-btn.pin{display:none}}@media only screen and (max-height:256px){.polaris-contextual-menu.chat .contextual-menu-content{overflow:auto!important}.polaris-contextual-menu.concourse-pickers .contextual-menu-body,.polaris-contextual-menu.concoursePickers .contextual-menu-body,.polaris-contextual-menu.experience-notifications .contextual-menu-body,.polaris-contextual-menu.help-button .contextual-menu-body,.polaris-contextual-menu.helpMenu .contextual-menu-body,.polaris-contextual-menu.notifications .contextual-menu-body{overflow:auto}.polaris-contextual-menu.concourse-pickers .contextual-menu-content,.polaris-contextual-menu.concoursePickers .contextual-menu-content,.polaris-contextual-menu.experience-notifications .contextual-menu-content,.polaris-contextual-menu.help-button .contextual-menu-content,.polaris-contextual-menu.helpMenu .contextual-menu-content,.polaris-contextual-menu.notifications .contextual-menu-content{overflow-y:auto}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.user-menu-body .user-menu-icon{align-items:center;color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));display:flex;margin-inline-end:.5rem}.user-menu-body .user-menu-icon.after{margin-inline-start:.5rem}.user-menu-body .user-menu-button{background-color:transparent;border:0;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;justify-content:flex-start;margin:0;padding:.5rem;position:relative;text-decoration:none;text-underline-offset:.125rem;width:100%}.user-menu-body .user-menu-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-button.selected,.user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button.selected .leaf-item-icon,.user-menu-body .user-menu-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.user-menu-body .user-menu-button:focus,.user-menu-body .user-menu-button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:focus .leaf-item-icon,.user-menu-body .user-menu-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:focus-visible:hover,.user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:focus-visible:hover .leaf-item-icon,.user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.user-menu-body .user-menu-button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.user-menu-body .user-menu-button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button.selected,.user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.user-menu-body .user-menu-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.user-menu-body .user-menu-button:focus,.user-menu-body .user-menu-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.user-menu-body .user-menu-button:focus .user-menu-label,.user-menu-body .user-menu-button:focus .user-menu-label .user-menu-icon,.user-menu-body .user-menu-button:hover .user-menu-label,.user-menu-body .user-menu-button:hover .user-menu-label .user-menu-icon{color:Highlight}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-button:hover .user-menu-icon,.user-menu-body .user-menu-button:hover .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}.user-menu-body .user-menu-label{align-items:flex-start;display:flex;justify-content:flex-start;text-align:start;width:100%}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}}.user-menu-body .user-menu-header{grid-gap:.75rem;align-items:center;border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;flex-grow:0;grid-template-columns:4.5rem auto;padding:.5rem}.user-menu-body .user-menu-header.polaris-enabled{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9))}.user-menu-body .user-menu-header now-avatar{border-radius:50%;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.user-menu-body .user-menu-header now-avatar.avatar-border{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.user-menu-body .user-menu-header .user-menu-info{overflow:hidden;width:100%}.user-menu-body .user-menu-header .user-menu-info .user-name{font-size:1.25rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.user-menu-body .user-menu-header .user-menu-info .user-additional-info{align-items:center;color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem;overflow:hidden;padding-block-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.user-menu-body .user-menu-header .user-menu-info .user-additional-info now-icon{margin:0 .1875rem 0 0}.user-menu-body .user-menu-header .user-menu-info .instance-name,.user-menu-body .user-menu-header .user-menu-info .user-additional-info.user-is-impersonating{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.user-menu-body hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.125rem}.user-menu-body .user-menu-controls{display:grid;margin:.5rem .5rem 0 .5rem}.user-menu-body .user-menu-footer{display:grid;flex-grow:0;margin:0 .5rem 1rem .5rem}.user-menu-body sn-collapsible-list{padding-inline-end:.75rem;padding-inline-start:.1875rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--nav-menu-width-px:320px;--nap-menu-width-px:408px;--wide-menu-width-px:500px;--pinned-contextual-menu-width:320px;--now-global-font-size--md:1rem}.ui-core{height:calc(100vh - 3.25rem)}::slotted(#gsft_main){border:0;display:block;height:100%;overflow:hidden;width:100%}.main-content-loader{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:none;height:100%;position:absolute;top:0;width:100%;z-index:-1}.main-content-loader.visible{display:block;z-index:999}.main-content-loader now-loader{position:absolute;right:50%;top:50%;transform:translateY(-50%)}.collab-chat-floating-container{bottom:0;height:0;left:0;position:absolute;right:0;z-index:999}.sn-polaris-layout{display:flex;flex-direction:column;overflow:hidden;position:relative}.sn-polaris-layout.is-atf{overflow:visible}.sn-polaris-layout .layout-aside{flex-grow:0}.sn-polaris-layout .layout-aside .skip-links-bar{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:0;overflow-y:hidden;padding-inline-start:1.5rem;width:100%}.sn-polaris-layout .layout-aside .skip-links-bar.visible{height:3.125rem}.sn-polaris-layout .layout-aside .skip-links-bar.can-animate{transition:all .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-layout .layout-aside .skip-links-bar .skip-link:not(:first-child){margin-left:2.5rem}.sn-polaris-layout .header-border-bar{background-color:RGB(var(--now-unified-nav_header--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));height:var(--now-unified-nav_header--border-size,0);width:100%}@media(forced-colors:active){.sn-polaris-layout .header-border-bar{border:.0625rem solid CanvasText}}.sn-polaris-layout .layout-main{display:flex;flex-direction:column;flex-grow:1;position:relative}.sn-polaris-layout .layout-main .header-bar{flex-grow:0;height:3.25rem;width:100%}.sn-polaris-layout .layout-main .content-area{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));flex-grow:1;position:relative}.sn-polaris-layout .layout-main .content-area .core-main-content,.sn-polaris-layout .layout-main .content-area .main-content{bottom:0;left:0;position:absolute;right:0;top:0}.sn-polaris-layout .layout-main .content-area .main-menu{height:100%}.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .core-main-content,.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .main-content{left:20rem}.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .core-main-content,.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .main-content{right:20rem}.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .core-main-content,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .main-content{right:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .core-main-content,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .main-content{left:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .content-area.can-animate .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.can-animate .core-main-content,.sn-polaris-layout .layout-main .content-area.can-animate .main-content{transition:right .25s cubic-bezier(0,.93,.46,1),left .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-layout .layout-main .message-stack-container,.sn-polaris-layout .layout-main .user-notification-container,.sn-polaris-layout .layout-main .user-ui-notification-container{align-items:center;display:flex;flex-flow:column nowrap;justify-content:center;left:0;position:absolute;right:0;top:2.75rem;z-index:999}.sn-polaris-layout .layout-main .message-stack-container.is-pinned,.sn-polaris-layout .layout-main .user-notification-container.is-pinned,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned{left:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .message-stack-container.is-contextual-menu-pinned,.sn-polaris-layout .layout-main .user-notification-container.is-contextual-menu-pinned,.sn-polaris-layout .layout-main .user-ui-notification-container.is-contextual-menu-pinned{right:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .message-stack-container .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .message-stack-contents{position:relative;width:60%;z-index:999}.sn-polaris-layout .layout-main .message-stack-container .user-notification-contents,.sn-polaris-layout .layout-main .message-stack-container .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-notification-container .user-notification-contents,.sn-polaris-layout .layout-main .user-notification-container .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .user-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .user-ui-notification-contents{position:relative;width:calc(60% + 2rem);z-index:999}@media screen and (max-width:1440px){.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents{width:100%}}@media screen and (max-width:1024px){.sn-polaris-layout .layout-main .message-stack-container .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .message-stack-contents{width:100%}}.sn-polaris-layout .layout-main .message-stack-container{top:3.75rem}.sn-polaris-layout .layout-main .message-stack-container.is-visible~.user-notification-container,.sn-polaris-layout .layout-main .message-stack-container.is-visible~.user-ui-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.user-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.user-ui-notification-container{top:6.25rem}.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container{top:7.25rem}.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container.is-visible~.user-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container.is-visible~.user-ui-notification-container{top:9.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.modal-container.dirty-form{height:100%;overflow:hidden}.modal-container.dirty-form .now-heading-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:1.25rem;font-style:var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal));font-weight:600;margin-block:0 .75rem}.modal-container.dirty-form .subtext{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.draggable-container{position:fixed;z-index:2000}.draggable-container.draggable-hide{visibility:hidden}@media(min-width:321px){.draggable-container:hover{cursor:move}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.shortcut{column-gap:.5rem;display:inline-grid;grid-template-columns:1fr 0}.shortcut.is-error{align-items:baseline}.shortcut.is-view{grid-template-columns:180px 1fr}.shortcut .shortcut-col{align-items:center;column-gap:.125rem;display:inline-flex;min-height:3.375rem;width:-moz-fit-content;width:fit-content}.shortcut .shortcut-col .readonly-info-icon{display:flex;justify-content:center;width:2rem}.shortcut .shortcut-col.is-action{column-gap:.25rem}.shortcut .shortcut-col .shortcut-btn{align-items:center;background-color:RGB(var(--now-color_surface--brand-1,236,244,241));border:1px solid RGB(var(--now-color--primary-2,23,100,82));border-radius:.5rem;color:RGB(var(--now-color--primary-2,23,100,82));display:flex;font-size:1rem;height:1.5rem;justify-content:center;padding:.125rem .25rem}.shortcut .shortcut-col .shortcut-btn.single-key{padding:.125rem .5rem}.shortcut .shortcut-col .shortcut-btn.is-editing{font-size:.75rem;height:20px}.shortcut .shortcut-col .shortcut-btn div{display:block;text-align:center;width:100%}.shortcut .shortcut-col now-input{caret-color:transparent;width:165px}@media screen and (max-width:540px){.shortcut .shortcut-col now-input{width:145px}}.highlight-title{max-width:300px;min-width:120px;width:calc(100vw - 480px)}.highlight-title.in-view-mode{max-width:170px}.search-container{padding:.5rem .25rem;width:100%}.search-container now-input{width:100%}.shortcut-container{height:calc(100% - 88px);overflow:auto;width:100%}.shortcut-container.error-visible{height:calc(100% - 155px)}.shortcut-container now-list{width:100%}.nav-button-container{display:flex;justify-content:space-between}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-menu{align-items:center;display:flex;height:3.25rem}a.sn-polaris-tab{text-decoration:none}.sn-polaris-tab{align-items:center;background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:.5rem;color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0));padding:0 .75rem;pointer-events:all;text-transform:capitalize}.sn-polaris-tab,.sn-polaris-tab .polaris-tab-item-icon{margin-inline-end:.25rem}.sn-polaris-tab.can-animate{transition:left .25s cubic-bezier(.19,1,.22,1),color 125ms cubic-bezier(.19,1,.22,1),background-color 125ms cubic-bezier(.19,1,.22,1),border-color 125ms cubic-bezier(.19,1,.22,1)}.sn-polaris-tab.is-active{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-tab:not(.is-active).selected,.sn-polaris-tab:not(.is-active):hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active).selected .leaf-item-icon,.sn-polaris-tab:not(.is-active):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):focus-visible{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus-visible:hover,.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus-visible:hover .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-tab:not(.is-active):focus{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.sn-polaris-tab:not(.is-active):active{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):active .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.sn-polaris-tab:not(.is-active){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab:not(.is-active):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}@media(forced-colors:active){.sn-polaris-tab:not(.is-active):hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):hover:focus,.sn-polaris-tab:not(.is-active):hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab.selected{opacity:0}.sn-polaris-tab.is-hidden{display:none}.sn-polaris-tab.is-pinned,.sn-polaris-tab.is-placeholder{pointer-events:none;visibility:hidden}.sn-polaris-tab.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-tab.is-pinned:after{background-color:RGB(var(--now-color--primary-0,221,237,233),1);border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;top:calc(100% - 2px);width:100%}.utility-bar{align-items:center;background-color:RGB(var(--now-color_chrome--brand-8,29,44,45));color:RGB(var(--now-color--neutral-0,255,255,255));display:flex;height:3.25rem;justify-content:space-between}.utility-bar.is-pinned:not(.reversed){margin-left:20rem}.utility-bar.is-pinned.reversed{margin-right:20rem}.utility-bar.is-contextual-menu-pinned:not(.reversed){margin-right:var(--pinned-contextual-menu-width)}.utility-bar.is-contextual-menu-pinned.reversed{margin-left:var(--pinned-contextual-menu-width)}.utility-bar .info{padding-inline-start:1.5rem}.utility-bar .info span.title{color:RGB(var(--now-color--neutral-2,228,230,231));display:block;font-size:1rem}.utility-bar .info span.description{color:RGB(var(--now-color--neutral-4,191,197,198));display:block;font-size:.75rem}.utility-bar .menus{padding-inline-end:.5rem}.utility-bar .menus .loader{align-items:center;display:grid;grid-auto-flow:column;justify-content:center;min-width:64px;width:20vw}.utility-bar .menus .loader now-loader{padding-inline-end:.5rem}.utility-bar .menus div{max-width:250px}.utility-bar .menus div .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utility-bar .menus div .label:after{content:\\\"\\\";display:block}.utility-bar .menus div .label now-icon{vertical-align:text-bottom}.utility-bar .menus div .hint{display:none}.utility-bar.is-contextual-menu-pinned:not(.is-pinned) .menus div,.utility-bar.is-pinned:not(.is-contextual-menu-pinned) .menus div{max-width:200px}.utility-bar.is-pinned.is-contextual-menu-pinned .menus div{max-width:150px}.utility-bar .sn-polaris-tab .polaris-tab-chevron{margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../assets/bg-wave.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus,.sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.super-filter-container{margin-bottom:.5rem;max-height:calc(65vh - 122px - var(--aside-height));overflow:auto}.super-filter-container .no-results-text{margin:.5rem 1rem}.super-filter-container .all-results-section{border-inline-start:solid 1px RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));height:0;margin-inline-start:1rem;overflow:hidden}.super-filter-container .all-results-section .sn-tree-menu .sn-polaris-tab-content .sn-polaris-nav-body{padding-inline:.25rem}.super-filter-container .all-results-section .super-filter-header{margin-inline-start:.25rem}.super-filter-container hr{background-color:RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));border:0;height:1px;margin:0 .5rem .5rem .5rem}.super-filter-container .results-section{height:0;overflow:hidden}.super-filter-container .results-section.section-open{height:auto}.super-filter-container .results-section.section-open .super-filter-subheader button now-icon{transform:rotate(90deg)}.super-filter-container.all-results-open .all-results-section{height:auto}.super-filter-container.all-results-open .super-filter-header now-icon{transform:rotate(90deg)}:host(.is-pinned) .super-filter-container{max-height:calc(100vh - 122px - var(--aside-height))}.super-filter-header,.super-filter-subheader{border-radius:.25rem;color:var(--now-color--neutral-2,228,230,231);font-size:.75rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.super-filter-header button,.super-filter-header.no-interaction,.super-filter-subheader button,.super-filter-subheader.no-interaction{padding-block-end:.5rem;padding-block-start:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.super-filter-header button,.super-filter-subheader button{background-color:transparent;border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));border-radius:.25rem;color:var(--now-color--neutral-2,228,230,231);color:inherit;cursor:pointer;display:grid;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:.75rem;grid-template-columns:calc(100% - 16px) 16px;letter-spacing:.05rem;text-align:start;text-transform:uppercase;width:100%}.super-filter-header button::-moz-focus-inner,.super-filter-subheader button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.super-filter-header button.selected,.super-filter-header button:hover,.super-filter-subheader button.selected,.super-filter-subheader button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button.selected .leaf-item-icon,.super-filter-header button:hover .leaf-item-icon,.super-filter-subheader button.selected .leaf-item-icon,.super-filter-subheader button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.super-filter-header button:focus,.super-filter-header button:focus-visible,.super-filter-subheader button:focus,.super-filter-subheader button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:focus .leaf-item-icon,.super-filter-header button:focus-visible .leaf-item-icon,.super-filter-subheader button:focus .leaf-item-icon,.super-filter-subheader button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:focus-visible:hover,.super-filter-header button:focus:hover,.super-filter-subheader button:focus-visible:hover,.super-filter-subheader button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:focus-visible:hover .leaf-item-icon,.super-filter-header button:focus:hover .leaf-item-icon,.super-filter-subheader button:focus-visible:hover .leaf-item-icon,.super-filter-subheader button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:-moz-focusring,.super-filter-subheader button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:-moz-focusring .leaf-item-icon,.super-filter-subheader button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:-moz-focusring:hover,.super-filter-subheader button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:-moz-focusring:hover .leaf-item-icon,.super-filter-subheader button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.super-filter-header button:focus,.super-filter-subheader button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:focus .leaf-item-icon,.super-filter-subheader button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:focus:hover,.super-filter-subheader button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:focus:hover .leaf-item-icon,.super-filter-subheader button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.super-filter-header button:active,.super-filter-subheader button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:active .leaf-item-icon,.super-filter-subheader button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button.selected,.super-filter-header button:hover,.super-filter-subheader button.selected,.super-filter-subheader button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.super-filter-header button:hover,.super-filter-subheader button:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1))}.super-filter-header now-icon,.super-filter-subheader now-icon{height:16px;transition:all .25s cubic-bezier(0,.93,.46,1);width:16px}.super-filter-subheader{margin-inline-end:.5rem;margin-inline-start:.25rem}.super-filter-subheader.section-open now-icon{transform:rotate(90deg)}.all-results-toggle{border-top:solid 1px var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133))}.all-results-toggle:hover{text-decoration:none}:host(.can-animate) .all-results-section{transition:all .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-tree-menu :host([hidden]){display:none}.sn-tree-menu *,.sn-tree-menu :after,.sn-tree-menu :before{box-sizing:border-box}.sn-tree-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-tree-menu ::-webkit-scrollbar{width:.75rem}.sn-tree-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-tree-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{display:block;height:100%}.sn-tree-menu .sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-tree-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-tree-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-tree-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-tree-menu .sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}.sn-history-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-history-menu :host([hidden]){display:none}.sn-history-menu *,.sn-history-menu :after,.sn-history-menu :before{box-sizing:border-box}.sn-history-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-history-menu ::-webkit-scrollbar{width:.75rem}.sn-history-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-history-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-history-menu .sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.sn-history-menu .item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.sn-history-menu .item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-history-menu .item-label span:after{content:\\\"\\\";display:block}.sn-history-menu a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.sn-history-menu span.hint,.sn-history-menu span.tooltip-label{display:none}.sn-history-menu .sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-history-menu .sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item:focus-within .label,.sn-history-menu .sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-history-menu .sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .delete,.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-history-menu mark{background:none;font-weight:bolder}@media(forced-colors:active){.sn-history-menu mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu .is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .menu-action:focus-visible>:first-child,.sn-history-menu .menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}.sn-history-menu :host{display:block}.sn-history-menu :host(.can-animate){transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .section-header{align-items:center;display:flex;justify-content:space-between;padding:.5rem .75rem}.sn-history-menu .section-header>hr.section-divider{background-color:RGB(var(--now-unified-nav_menu-section-header-divider--color,var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233))));border:0;height:1px;margin:0;opacity:1;width:100%}.sn-history-menu .section-header>span.section-label{background-color:RGB(var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-section-header--color,var(--now-color--primary-2,23,100,82)));font-size:.75rem;font-weight:700;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap}.sn-history-menu .section-divider{border-bottom:none;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:.5rem .75rem;opacity:var(--now-opacity--mid,.5)}.sn-history-menu .section-divider:last-of-type{opacity:0}.sn-history-menu a.menu-item-link{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));color:RGB(var(--now-color--primary-0,221,237,233))}.sn-history-menu a.menu-item-link::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu a.menu-item-link.selected,.sn-history-menu a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link.selected .leaf-item-icon,.sn-history-menu a.menu-item-link:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-history-menu a.menu-item-link:focus,.sn-history-menu a.menu-item-link:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:focus .leaf-item-icon,.sn-history-menu a.menu-item-link:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:focus-visible:hover,.sn-history-menu a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:focus-visible:hover .leaf-item-icon,.sn-history-menu a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-history-menu a.menu-item-link:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-history-menu a.menu-item-link:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link.selected,.sn-history-menu a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-history-menu a.menu-item-link.highlighted-item,.sn-history-menu a.menu-item-link:focus,.sn-history-menu a.menu-item-link:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1));text-decoration:none}.sn-history-menu a.menu-item-link.highlighted-item .menu-item-label span.label,.sn-history-menu a.menu-item-link:focus .menu-item-label span.label,.sn-history-menu a.menu-item-link:hover .menu-item-label span.label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline)}.sn-history-menu a.menu-item-link.highlighted-item .menu-item-label span.menu-item-description,.sn-history-menu a.menu-item-link:focus .menu-item-label span.menu-item-description,.sn-history-menu a.menu-item-link:hover .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.sn-history-menu a.menu-item-link.highlighted-item span.menu-item-time-marker,.sn-history-menu a.menu-item-link:focus span.menu-item-time-marker,.sn-history-menu a.menu-item-link:hover span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}.sn-history-menu a.menu-item-link:active .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--active,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.sn-history-menu a.menu-item-link:active span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color--active,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}.sn-history-menu .menu-item{display:flex;justify-content:space-between;overflow:hidden;padding:.25rem .5rem;position:relative}.sn-history-menu .menu-item>.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-history-menu .menu-item>.menu-item-label:after{content:\\\"\\\";display:block}.sn-history-menu .menu-item>.menu-item-label>span.label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.sn-history-menu .menu-item>.menu-item-label>span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.sn-history-menu .menu-item>span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));font-size:.75rem;padding-top:1px}.sn-overflow-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-overflow-menu :host([hidden]){display:none}.sn-overflow-menu *,.sn-overflow-menu :after,.sn-overflow-menu :before{box-sizing:border-box}.sn-overflow-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-overflow-menu ::-webkit-scrollbar{width:.75rem}.sn-overflow-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-overflow-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-overflow-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.sn-overflow-menu .polaris-header-experience-title{max-width:15.3125rem}}.sn-overflow-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.sn-overflow-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.sn-overflow-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .experience-title-favorite-button.selected,.sn-overflow-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button.selected .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover,.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.sn-overflow-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-button.is-favorite:focus,.sn-overflow-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-buttonactive:focus,.sn-overflow-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}.sn-overflow-menu :host{display:block;height:100%;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-overflow-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-overflow-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-overflow-menu .overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.sn-overflow-menu .overflow-pill-header,.sn-overflow-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-overflow-menu .sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-overflow-menu .sn-polaris-nav-header span{font-size:1rem}.sn-overflow-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-overflow-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-overflow-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-overflow-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-overflow-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-overflow-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-overflow-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.sn-overflow-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.sn-overflow-menu sn-drilldown-list:last-child{border-bottom:none}.sn-overflow-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-overflow-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:focus,.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-overflow-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-btn.selected,.sn-overflow-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-overflow-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.sn-loader-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-loader-menu :host([hidden]){display:none}.sn-loader-menu *,.sn-loader-menu :after,.sn-loader-menu :before{box-sizing:border-box}.sn-loader-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-loader-menu ::-webkit-scrollbar{width:.75rem}.sn-loader-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-loader-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-loader-menu :host{display:block;height:100%}.sn-loader-menu now-loader{height:65vh;padding-top:100%}:host{--nav-border-radius:0.5rem;--nav-tab-grid-center-width:0;--nav-tab-grid-left-corner-width:0.5rem;--nav-tab-grid-left-spacing:auto;opacity:0;pointer-events:none;position:absolute}:host .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:-1.5rem}sn-collapsible-list{display:block;min-height:2rem}:host(.is-open){opacity:1;pointer-events:all}:host(.is-open) .sn-polaris-nav-body{margin-top:0;max-height:65vh;position:relative}:host(.is-open) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open) .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:0}:host(.is-open) .grid-container svg{height:3.25rem}:host(.can-animate){transition:opacity .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-body{transition:max-height .25s cubic-bezier(0,.93,.46,1),margin-top .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:top .25s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate){transition:opacity .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .menu-body:before{transition:top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-body{transition:max-height .5s cubic-bezier(0,.93,.46,1),margin-top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:all .5s cubic-bezier(0,.93,.46,1)}:host(.is-pinned){height:100%;margin-block-start:0;max-height:none;opacity:1}:host(.is-pinned) .menu-body{bottom:0;min-height:calc(100vh - var(--aside-height) - var(--now-unified-nav_header--border-size, 0px));top:var(--now-unified-nav_header--border-size,0)}:host(.is-pinned) .menu-body:before{-webkit-backdrop-filter:none;backdrop-filter:none;top:3.25rem}:host(.is-pinned) .sn-polaris-nav{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)));border-bottom:0;border-inline-end-width:.0625rem;border-inline-start-width:0;border-radius:0;box-shadow:none;height:100%;transform:translateX(0)!important;width:20rem}@media(forced-colors:active){:host(.is-pinned) .sn-polaris-nav{border:.0625rem solid CanvasText}}:host(.is-pinned) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-pinned) .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:0}:host(.is-pinned) .sn-polaris-nav-body{border-radius:0;height:100%;margin-top:0;max-height:calc(100vh - 122px - var(--aside-height));width:100%}.menu-body{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-rows:3.25rem auto 0;margin-inline-end:.125rem;min-height:3.25rem;outline:none;position:absolute;top:0;visibility:hidden;width:20rem}.menu-body.is-visible{visibility:visible}.menu-body:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);bottom:0;content:\\\"\\\";left:.125rem;position:absolute;right:.0625rem;top:3.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:bottom;background-repeat:no-repeat;bottom:0;content:\\\"\\\";left:0;opacity:var(--now-unified-nav_menu--background-image-alpha,1);pointer-events:none;position:absolute;right:0;top:0}}.sn-polaris-nav{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:0 0 .5rem .5rem;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));contain:layout;height:100%;position:relative;width:20rem}@media(forced-colors:active){.sn-polaris-nav{background-color:Canvas}}.sn-polaris-nav.can-animate{transition:background-color .5s cubic-bezier(.19,1,.22,1)}.sn-polaris-nav .item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.sn-polaris-nav:focus{outline:none}.sn-polaris-nav.is-atf.is-atf{width:100vw}.sn-polaris-nav.is-atf.is-atf .sn-polaris-nav-body{max-height:none;overflow:visible;width:100%}.sn-polaris-nav-body{margin-top:2.5rem;max-height:5vh;overflow-x:hidden;overflow-y:auto;padding-block-end:.75rem;padding-block-start:.125rem;padding-inline-end:.5rem;padding-inline-start:.5rem;width:100%}.sn-polaris-nav-body:only-child{background-color:transparent}.sn-polaris-nav-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.hide-scroll{max-height:inherit!important;overflow:visible}.sn-polaris-nav-header{border-radius:.25rem .25rem 0 0;display:flex;gap:.75rem;padding-block-end:.75rem;padding-block-start:.75rem;padding-inline-end:.75rem;padding-inline-start:1rem}.sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)),var(--now-unified-nav_button--background-color-alpha,0));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-controls .sn-polaris-nav-btn{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header-controls .sn-polaris-nav-btn.selected,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-header-controls .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-header-controls.hide{left:-99999px;position:absolute;top:-99999px}.sn-polaris-nav-header-controls.sync.refreshing>button{cursor:not-allowed}.sn-polaris-nav-header-controls.sync.refreshing now-icon{opacity:var(--now-opacity--less,.25)}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.selected,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn now-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned now-icon{transform:rotate(0deg)}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned.reversed now-icon{transform:rotate(-90deg)}.menu-tab-container{overflow:hidden;pointer-events:none}@media screen and (max-width:992px){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn{display:none}}.grid-container{height:3.25rem;overflow:hidden;pointer-events:none;position:relative;top:0}.grid-container svg{bottom:0;height:0;position:absolute;width:20rem}.grid-container svg.can-animate{transition:height .5s cubic-bezier(0,.93,.46,1)}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.grid-container svg path{fill:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));stroke:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));stroke-width:.0625rem}.grid-container svg path.can-animate{transition:.5s cubic-bezier(0,.93,.46,1)}}@media(forced-colors:active){.grid-container svg path{fill:Canvas;stroke:CanvasText;stroke-width:.0625rem}.grid-container svg path.can-animate{transition:.5s cubic-bezier(0,.93,.46,1)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label span:after{content:\\\"\\\";display:block}a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}span.hint,span.tooltip-label{display:none}.sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within .label,.sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item a.highlighted-item .delete,.sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}mark{background:none;font-weight:bolder}@media(forced-colors:active){mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action:focus-visible>:first-child,.menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}:host{display:block}.chevron,.edit,.star{fill:currentColor;fill-rule:evenodd;stroke:none;stroke-width:1px}.menu-action-interaction-state::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action-interaction-state.selected,.menu-action-interaction-state:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state.selected .leaf-item-icon,.menu-action-interaction-state:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.menu-action-interaction-state:focus,.menu-action-interaction-state:focus-visible{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:focus .leaf-item-icon,.menu-action-interaction-state:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:focus-visible:hover,.menu-action-interaction-state:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:focus-visible:hover .leaf-item-icon,.menu-action-interaction-state:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:-moz-focusring{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-action-interaction-state:focus{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.menu-action-interaction-state:active{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action{align-items:center;background:none;background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:flex;font:inherit;height:1.5rem;justify-content:center;opacity:0;outline:none;padding:0;position:relative;width:1px}.menu-action now-icon{display:none}@media(forced-colors:active){.menu-action{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.menu-action:focus,.menu-action:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.menu-action.is-favorite,.menu-action:focus,.menu-action:hover{opacity:1;width:1.5rem}.menu-action.is-favorite now-icon,.menu-action:focus now-icon,.menu-action:hover now-icon{display:inline-block}.menu-action.favorite{color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action.favorite.selected,.menu-action.favorite:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite.selected .leaf-item-icon,.menu-action.favorite:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}}.menu-action.favorite:focus,.menu-action.favorite:focus-visible{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:focus .leaf-item-icon,.menu-action.favorite:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:focus-visible:hover,.menu-action.favorite:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:focus-visible:hover .leaf-item-icon,.menu-action.favorite:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:-moz-focusring{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-action.favorite:focus{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}}}.menu-action.favorite:active{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:active .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}@media(forced-colors:active){.menu-action.favorite{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.menu-action.favorite:focus,.menu-action.favorite:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.menu-action.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.menu-action.is-favorite:focus,.menu-action.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}now-icon.leaf-item-icon{align-self:center;margin-inline-end:.25rem}.snf-collapsible-list{display:block}.snf-collapsible-list,.snf-collapsible-list-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.snf-collapsible-list-header{align-items:center;background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));border-radius:var(--now-unified-nav_menu-item--border-radius,.25rem);cursor:pointer;display:grid;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);grid-template-columns:1fr auto;min-height:2rem;padding:.25rem 0 .25rem .25rem;position:relative;text-align:left;-webkit-user-select:none;user-select:none;width:100%}.snf-collapsible-list-header.reversed{text-align:right}.snf-collapsible-list-header::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header.selected,.snf-collapsible-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header.selected .leaf-item-icon,.snf-collapsible-list-header:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.snf-collapsible-list-header:focus,.snf-collapsible-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:focus .leaf-item-icon,.snf-collapsible-list-header:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:focus-visible:hover,.snf-collapsible-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus-visible:hover .leaf-item-icon,.snf-collapsible-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.snf-collapsible-list-header:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.snf-collapsible-list-header:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header.selected,.snf-collapsible-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.snf-collapsible-list-header{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.snf-collapsible-list-header:focus,.snf-collapsible-list-header:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.snf-collapsible-list-header[aria-expanded=true] .chevron-container{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header[aria-expanded=true] .chevron-container:focus,.snf-collapsible-list-header[aria-expanded=true] .chevron-container:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header:focus-within,.snf-collapsible-list-header:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1))}.snf-collapsible-list-header:focus-within .item-label,.snf-collapsible-list-header:hover .item-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus-within.is-filtered mark,.snf-collapsible-list-header:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header:focus-within.is-filtered .label,.snf-collapsible-list-header:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:active){.snf-collapsible-list-header:focus-within,.snf-collapsible-list-header:hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.snf-collapsible-list-header:focus-within:focus,.snf-collapsible-list-header:focus-within:hover,.snf-collapsible-list-header:hover:focus,.snf-collapsible-list-header:hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active){.snf-collapsible-list-header:focus .item-label,.snf-collapsible-list-header:focus .item-label .label,.snf-collapsible-list-header:hover .item-label,.snf-collapsible-list-header:hover .item-label .label{background:HighlightText;border:1px solid Highlight;color:Highlight}}.snf-collapsible-list-header .chevron-container{align-items:center;align-self:center;border:.0625rem solid transparent;color:RGB(var(--now-unified-nav_menu-item_icon--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center;margin-inline-end:.5rem;vertical-align:middle}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container[aria-expanded=true]{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header .chevron-container[aria-expanded=true]:focus,.snf-collapsible-list-header .chevron-container[aria-expanded=true]:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header .chevron-container.selectable{border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.snf-collapsible-list-header .chevron-container.selectable::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header .chevron-container.selectable.selected,.snf-collapsible-list-header .chevron-container.selectable:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable.selected .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:focus .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:focus-visible:hover,.snf-collapsible-list-header .chevron-container.selectable:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:focus-visible:hover .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.snf-collapsible-list-header .chevron-container.selectable:focus{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.snf-collapsible-list-header .chevron-container.selectable:active{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container.selectable{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{border:solid .0625rem RGB(var(--now-color_chrome--divider-0,169,178,179));outline:none}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.snf-collapsible-list-header.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-header.can-animate .chevron{transition:transform .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-header.is-collapsed .chevron{transform:rotate(90deg)}.snf-collapsible-list-header.is-collapsed .chevron:not(.reversed){transform:rotate(-90deg)}.snf-collapsible-list-header.selected-item{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),var(--now-opacity--most,.8));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.item-label:focus,.item-label:focus-visible{background-color:transparent;box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}.menu-item-header:focus-within,.menu-item-header:hover{background-color:RGB(var(--now-unified-nav_menu-item--background-color--hover))}.menu-item-header:focus-within .menu-action,.menu-item-header:hover .menu-action{opacity:1;width:1.5rem}.menu-item-header:focus-within .menu-action now-icon,.menu-item-header:hover .menu-action now-icon{display:inline-block}.menu-item-header:focus-within .chevron,.menu-item-header:focus-within .label,.menu-item-header:hover .chevron,.menu-item-header:hover .label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.menu-item-header.hover .label{text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.menu-item-header .disabled{opacity:.25}.menu-item-header .chevron{fill:currentColor}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-item-header:focus .menu-action{opacity:1;width:1.5rem}.menu-item-header:focus .menu-action now-icon{display:inline-block}.menu-item-header:focus .item-label,.menu-item-header:focus .label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}}.menu-item-row{border:solid var(--now-unified-nav_menu-subitem--border-size,var(--now-unified-nav_menu-item--border-size,0)) RGBA(var(--now-unified-nav_menu-subitem--border-color,var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))),var(--now-unified-nav_menu-subitem--border-color-alpha,var(--now-unified-nav_menu-item--border-color-alpha,1)));border-radius:var(--now-unified-nav_menu-subitem--border-radius,0);display:flex;position:relative}.menu-item-row:focus-within{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row:focus-within .menu-action{opacity:1;width:1.5rem}.menu-item-row:focus-within .menu-action now-icon{display:inline-block}.menu-item-row:hover{border:solid var(--now-unified-nav_menu-subitem--border-size,var(--now-unified-nav_menu-item--border-size,0)) RGBA(var(--now-unified-nav_menu-subitem--border-color--hover,var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))),var(--now-unified-nav_menu-subitem--border-color-alpha--hover,var(--now-unified-nav_menu-item--border-color-alpha--hover,1)))}.menu-item-row:hover .menu-action{opacity:1;width:1.5rem}.menu-item-row:hover .menu-action now-icon{display:inline-block}.menu-item-row:hover a{text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-item-row:hover a{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}.menu-item-row:hover>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label{background-color:transparent;flex-grow:1}.menu-item-row a.item-label:focus,.menu-item-row a.item-label:focus-visible{background-color:transparent;box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}.menu-item-row>.outline{border-radius:.25rem;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:-1}.menu-item-row.highlighted-menu-item-row>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label:-moz-focusring~.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-item-row a.item-label:focus~.outline,.menu-item-row.highlighted-menu-item-row>.outline,.menu-item-row:hover>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label:focus~.outline{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}}}span.menu-action-container{grid-gap:.25rem;align-items:center;display:grid;flex-shrink:0;grid-template:\\\"1fr 1fr\\\";inset-inline-end:0;overflow:visible;padding-inline-end:.25rem;padding-inline-start:.25rem;vertical-align:middle}span.menu-action-container:focus-within .menu-action{width:1.5rem}span.menu-action-container:focus-within .menu-action now-icon{display:inline-block}span.menu-action-container now-icon.checkmark{align-items:center;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center}.show-hidden-controls .menu-action{opacity:1;width:1.5rem}.show-hidden-controls .menu-action now-icon{display:inline-block}span.is-favorite{opacity:1;width:1.5rem}span.is-favorite now-icon{display:inline-block}.snf-collapsible-list-items{list-style:none;margin:0;max-height:6250rem;opacity:1;padding:0 0 0 .5rem;-webkit-user-select:none;user-select:none}.snf-collapsible-list-items,.snf-collapsible-list-items a{color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))}@media(forced-colors:active){.snf-collapsible-list-items a{color:LinkText}.snf-collapsible-list-items a:visited{color:VisitedText}.snf-collapsible-list-items a:active{color:ActiveText}}.snf-collapsible-list-items.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1),opacity .25s cubic-bezier(0,.93,.46,1),visibility .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-items:focus{outline:none}.snf-collapsible-list-items.is-collapsed{max-height:0;opacity:0;overflow:hidden;padding-block-end:0;padding-block-start:0;visibility:hidden}.snf-collapsible-section-divider{background-color:RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));border:none;height:.0625rem;margin:.5rem;opacity:var(--now-opacity--mid,.5)}@media(forced-colors:active){.snf-collapsible-section-divider{background-color:CanvasText}}a.item-label{align-items:center;border-radius:.25rem;display:grid;grid-template-columns:1fr auto;height:2rem;padding-inline-start:.5rem}a.item-label .item-icon{display:flex}a.item-label.selected-item{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),var(--now-opacity--most,.8));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.purple{color:RGB(var(--now-color_grouped--purple-2,181,155,209))}.purple-light{color:RGB(var(--now-color_grouped--purple-1,207,190,225))}.purple-lighter{color:RGB(var(--now-color_grouped--purple-0,233,225,241))}.blue,.normal{color:RGB(var(--now-color_grouped--blue-2,120,176,204))}.blue-light{color:RGB(var(--now-color_grouped--blue-1,167,204,222))}.blue-lighter{color:RGB(var(--now-color_grouped--blue-0,215,231,240))}.cyan{color:RGB(var(--now-color_grouped--teal-2,104,174,163))}.cyan-light{color:RGB(var(--now-color_grouped--teal-1,157,202,195))}.cyan-lighter{color:RGB(var(--now-color_grouped--teal-0,210,231,227))}.aqua,.aquamarine{color:RGB(var(--now-color_grouped--teal-2,104,174,163))}.aqua-light{color:RGB(var(--now-color_grouped--teal-1,157,202,195))}.aqua-lighter{color:RGB(var(--now-color_grouped--teal-0,210,231,227))}.green{color:RGB(var(--now-color_grouped--green-2,147,170,125))}.green-light{color:RGB(var(--now-color_grouped--green-1,185,200,171))}.green-lighter{color:RGB(var(--now-color_grouped--green-0,223,230,216))}.yellow{color:RGB(var(--now-color_grouped--yellow-2,240,207,101))}.yellow-light{color:RGB(var(--now-color_grouped--yellow-1,245,224,155))}.yellow-lighter{color:RGB(var(--now-color_grouped--yellow-0,251,241,209))}.orange{color:RGB(var(--now-color_grouped--orange-2,215,129,106))}.orange-light{color:RGB(var(--now-color_grouped--orange-1,229,173,158))}.orange-lighter{color:RGB(var(--now-color_grouped--orange-0,243,217,210))}.burnt-orange{color:RGB(var(--now-color_grouped--orange-3,183,110,90))}.red{color:RGB(var(--now-color_grouped--pink-2,203,121,143))}.red-light{color:RGB(var(--now-color_grouped--pink-1,221,168,182))}.red-lighter{color:RGB(var(--now-color_grouped--pink-0,239,215,221))}.pink{color:RGB(var(--now-color_grouped--magenta-3,173,103,164))}.pink-light{color:RGB(var(--now-color_grouped--magenta-1,221,168,215))}.pink-lighter{color:RGB(var(--now-color_grouped--magenta-0,239,215,236))}.fuschia{color:RGB(var(--now-color_grouped--magenta-2,203,121,193))}.white{color:RGB(var(--now-color--neutral-0,255,255,255))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block}:host(.can-animate){transition:background-color .25s cubic-bezier(0,.93,.46,1)}.sn-drilldown-list{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:block;font-size:1rem}.sn-drilldown-list .sn-drilldown-list-header{margin:.25rem 0}.sn-drilldown-list-header{grid-row-gap:.25rem;align-items:center;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:grid;grid-template-columns:1fr min-content min-content;outline:none;padding:.5rem;-webkit-user-select:none;user-select:none;width:100%}.sn-drilldown-list-header .sn-drilldown-list-icon{margin-inline-end:.25rem}.sn-drilldown-list-header.can-animate,.sn-drilldown-list-header.can-animate now-icon{transition:background-color .25s cubic-bezier(0,.93,.46,1)}.sn-drilldown-list-header::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-drilldown-list-header.selected,.sn-drilldown-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header.selected .leaf-item-icon,.sn-drilldown-list-header:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-drilldown-list-header:focus,.sn-drilldown-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:focus .leaf-item-icon,.sn-drilldown-list-header:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:focus-visible:hover,.sn-drilldown-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:focus-visible:hover .leaf-item-icon,.sn-drilldown-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-drilldown-list-header:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-drilldown-list-header:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header.selected,.sn-drilldown-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.sn-drilldown-list-header{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-drilldown-list-header:focus,.sn-drilldown-list-header:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-drilldown-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,.8)));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}span.label:after{content:\\\"\\\";display:block}span.label.is-dirty{align-items:center;display:flex}span.hint{display:none}.indicator{background-color:RGB(var(--now-color_presence--busy,234,60,16));border:.0625rem solid RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));border-radius:50%;display:block;height:.5rem;height:.625rem;margin-inline:.5rem;width:.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block;height:100%}.sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label span:after{content:\\\"\\\";display:block}a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}span.hint,span.tooltip-label{display:none}.sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within .label,.sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item a.highlighted-item .delete,.sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}mark{background:none;font-weight:bolder}@media(forced-colors:active){mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action:focus-visible>:first-child,.menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}:host{display:block}:host(.can-animate){transition:color .25s cubic-bezier(0,.93,.46,1)}.section-header{align-items:center;display:flex;justify-content:space-between;padding:.5rem .75rem}.section-header>hr.section-divider{background-color:RGB(var(--now-unified-nav_menu-section-header-divider--color,var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233))));border:0;height:1px;margin:0;opacity:1;width:100%}.section-header>span.section-label{background-color:RGB(var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-section-header--color,var(--now-color--primary-2,23,100,82)));font-size:.75rem;font-weight:700;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap}.section-divider{border-bottom:none;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:.5rem .75rem;opacity:var(--now-opacity--mid,.5)}.section-divider:last-of-type{opacity:0}a.menu-item-link{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));color:RGB(var(--now-color--primary-0,221,237,233))}a.menu-item-link::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){a.menu-item-link.selected,a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link.selected .leaf-item-icon,a.menu-item-link:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}a.menu-item-link:focus,a.menu-item-link:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:focus .leaf-item-icon,a.menu-item-link:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:focus-visible:hover,a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:focus-visible:hover .leaf-item-icon,a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){a.menu-item-link:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}a.menu-item-link:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link.selected,a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}a.menu-item-link.highlighted-item,a.menu-item-link:focus,a.menu-item-link:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1));text-decoration:none}a.menu-item-link.highlighted-item .menu-item-label span.label,a.menu-item-link:focus .menu-item-label span.label,a.menu-item-link:hover .menu-item-label span.label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline)}a.menu-item-link.highlighted-item .menu-item-label span.menu-item-description,a.menu-item-link:focus .menu-item-label span.menu-item-description,a.menu-item-link:hover .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}a.menu-item-link.highlighted-item span.menu-item-time-marker,a.menu-item-link:focus span.menu-item-time-marker,a.menu-item-link:hover span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}a.menu-item-link:active .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--active,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}a.menu-item-link:active span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color--active,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}.menu-item{display:flex;justify-content:space-between;overflow:hidden;padding:.25rem .5rem;position:relative}.menu-item>.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item>.menu-item-label:after{content:\\\"\\\";display:block}.menu-item>.menu-item-label>span.label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.menu-item>.menu-item-label>span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.menu-item>span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));font-size:.75rem;padding-top:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block;height:100%}now-loader{height:65vh;padding-top:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header-experience-title{max-width:15.3125rem}}.experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.experience-title-favorite-button.selected,.experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button.selected .leaf-item-icon,.experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.experience-title-favorite-button:focus,.experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon,.experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus-visible:hover,.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.experience-title-favorite-button:focus,.experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-button.is-favorite:focus,.experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-buttonactive:focus,.experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}:host{display:block;height:100%;overflow:hidden}.sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.overflow-pill-header,.sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-polaris-nav-header span{font-size:1rem}.sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}sn-drilldown-list:last-child{border-bottom:none}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-favorite-popup-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-polaris-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dirty-form.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./draggable.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-keyboard-shortcuts-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-polaris-menu.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-collapsible-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-drilldown-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-all.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-history.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-loader.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-overflow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-elevate-roles/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-help-panel/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-help/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-notifications-menu/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-user-preferences-modal/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/sn-banner-announcement/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/uxa-commons-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/now-assist-core/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-feedback-form/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/favorite-edit-modal/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/transaction-status-message/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-oe-sfs/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-unified-notification-preferences/index.jsdbx\");;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"HASANA_FILTER\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'HASANA_FILTER' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].HASANA_FILTER;\n\t\t\t\t\t} else if ('HASANA_FILTER' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.HASANA_FILTER || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].HASANA_FILTER;\n\t\t\t\t}, [\"HighlightedLabel\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'HighlightedLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].HighlightedLabel;\n\t\t\t\t\t} else if ('HighlightedLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.HighlightedLabel || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].HighlightedLabel;\n\t\t\t\t}, [\"INCLUDES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'INCLUDES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].INCLUDES;\n\t\t\t\t\t} else if ('INCLUDES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.INCLUDES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].INCLUDES;\n\t\t\t\t}, [\"MENU_ALL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'MENU_ALL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].MENU_ALL;\n\t\t\t\t\t} else if ('MENU_ALL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.MENU_ALL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].MENU_ALL;\n\t\t\t\t}, [\"PREFERENCES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].PREFERENCES;\n\t\t\t\t\t} else if ('PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.PREFERENCES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].PREFERENCES;\n\t\t\t\t}, [\"SEPARATOR\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'SEPARATOR' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].SEPARATOR;\n\t\t\t\t\t} else if ('SEPARATOR' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.SEPARATOR || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].SEPARATOR;\n\t\t\t\t}, [\"SYS_PROPS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'SYS_PROPS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].SYS_PROPS;\n\t\t\t\t\t} else if ('SYS_PROPS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.SYS_PROPS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].SYS_PROPS;\n\t\t\t\t}, [\"createAuthedOnlyHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAuthedOnlyHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createAuthedOnlyHttpEffect;\n\t\t\t\t\t} else if ('createAuthedOnlyHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createAuthedOnlyHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createAuthedOnlyHttpEffect;\n\t\t\t\t}, [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createHttpEffect;\n\t\t\t\t}, [\"createMenuTooltipFocusHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipFocusHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipFocusHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipFocusHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createMenuTooltipFocusHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipFocusHandlers;\n\t\t\t\t}, [\"createMenuTooltipHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createMenuTooltipHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipHandlers;\n\t\t\t\t}, [\"createMenuTooltipHoverHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipHoverHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipHoverHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipHoverHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.createMenuTooltipHoverHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].createMenuTooltipHoverHandlers;\n\t\t\t\t}, [\"effectProxy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].effectProxy;\n\t\t\t\t\t} else if ('effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.effectProxy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].effectProxy;\n\t\t\t\t}, [\"executeFilter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'executeFilter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].executeFilter;\n\t\t\t\t\t} else if ('executeFilter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.executeFilter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].executeFilter;\n\t\t\t\t}, [\"getBooleanPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t\t} else if ('getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.getBooleanPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t}, [\"getBooleanProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getBooleanProperty;\n\t\t\t\t\t} else if ('getBooleanProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.getBooleanProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getBooleanProperty;\n\t\t\t\t}, [\"getPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getPreferenceValue;\n\t\t\t\t\t} else if ('getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.getPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getPreferenceValue;\n\t\t\t\t}, [\"getSearchAnnouncement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSearchAnnouncement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getSearchAnnouncement;\n\t\t\t\t\t} else if ('getSearchAnnouncement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.getSearchAnnouncement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].getSearchAnnouncement;\n\t\t\t\t}, [\"onMouseEnterHeaderItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterHeaderItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterHeaderItem;\n\t\t\t\t\t} else if ('onMouseEnterHeaderItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.onMouseEnterHeaderItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterHeaderItem;\n\t\t\t\t}, [\"onMouseEnterHistoryItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterHistoryItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterHistoryItem;\n\t\t\t\t\t} else if ('onMouseEnterHistoryItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.onMouseEnterHistoryItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterHistoryItem;\n\t\t\t\t}, [\"onMouseEnterIconItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterIconItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterIconItem;\n\t\t\t\t\t} else if ('onMouseEnterIconItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.onMouseEnterIconItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterIconItem;\n\t\t\t\t}, [\"onMouseEnterLabelItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterLabelItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterLabelItem;\n\t\t\t\t\t} else if ('onMouseEnterLabelItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.onMouseEnterLabelItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseEnterLabelItem;\n\t\t\t\t}, [\"onMouseLeaveItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseLeaveItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseLeaveItem;\n\t\t\t\t\t} else if ('onMouseLeaveItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.onMouseLeaveItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].onMouseLeaveItem;\n\t\t\t\t}, [\"requestIdleCallback\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'requestIdleCallback' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].requestIdleCallback;\n\t\t\t\t\t} else if ('requestIdleCallback' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.requestIdleCallback || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].requestIdleCallback;\n\t\t\t\t}, [\"scheduleHideTooltip\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'scheduleHideTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].scheduleHideTooltip;\n\t\t\t\t\t} else if ('scheduleHideTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.scheduleHideTooltip || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].scheduleHideTooltip;\n\t\t\t\t}, [\"scheduleShowTooltip\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.__esModule\n\t\t\t\t\tif (cjsModule && 'scheduleShowTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].scheduleShowTooltip;\n\t\t\t\t\t} else if ('scheduleShowTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__.scheduleShowTooltip || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_28_8_7_index_jsdbx_363560b1__[\"default\"].scheduleShowTooltip;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"whenScreenMacroponentIdleDuringPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleDuringPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"whenAllComponentsIdle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenAllComponentsIdle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].whenAllComponentsIdle;\n\t\t\t\t\t} else if ('whenAllComponentsIdle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.whenAllComponentsIdle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].whenAllComponentsIdle;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"guid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.__esModule\n\t\t\t\t\tif (cjsModule && 'guid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].guid;\n\t\t\t\t\t} else if ('guid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.guid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].guid;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"capitalize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'capitalize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].capitalize;\n\t\t\t\t\t} else if ('capitalize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.capitalize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].capitalize;\n\t\t\t\t}, [\"clone\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t\t} else if ('clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clone || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t}, [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"differenceWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'differenceWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceWith;\n\t\t\t\t\t} else if ('differenceWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.differenceWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceWith;\n\t\t\t\t}, [\"escape\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t\t} else if ('escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.escape || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t}, [\"every\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t\t} else if ('every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.every || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t}, [\"floor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t\t} else if ('floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.floor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"groupBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'groupBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].groupBy;\n\t\t\t\t\t} else if ('groupBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.groupBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].groupBy;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"intersection\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'intersection' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersection;\n\t\t\t\t\t} else if ('intersection' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.intersection || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersection;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isInteger\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isInteger' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isInteger;\n\t\t\t\t\t} else if ('isInteger' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isInteger || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isInteger;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isPlainObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isPlainObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isPlainObject;\n\t\t\t\t\t} else if ('isPlainObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isPlainObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isPlainObject;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"kebabCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t\t} else if ('kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.kebabCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapKeys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapKeys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapKeys;\n\t\t\t\t\t} else if ('mapKeys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapKeys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapKeys;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"omitBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omitBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omitBy;\n\t\t\t\t\t} else if ('omitBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omitBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omitBy;\n\t\t\t\t}, [\"partition\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t\t} else if ('partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.partition || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"random\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'random' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].random;\n\t\t\t\t\t} else if ('random' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.random || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].random;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"remove\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t\t} else if ('remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.remove || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t}, [\"sortBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t\t} else if ('sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sortBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t}, [\"toPairs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toPairs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toPairs;\n\t\t\t\t\t} else if ('toPairs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toPairs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toPairs;\n\t\t\t\t}, [\"transform\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'transform' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].transform;\n\t\t\t\t\t} else if ('transform' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.transform || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].transform;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"values\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t\t} else if ('values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.values || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deleteKeyboardShortcutOverride\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deleteKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deleteKeyboardShortcutOverride;\n\t\t\t\t\t} else if ('deleteKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deleteKeyboardShortcutOverride || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deleteKeyboardShortcutOverride;\n\t\t\t\t}, [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"getAllPrettifiedShortcuts\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAllPrettifiedShortcuts' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getAllPrettifiedShortcuts;\n\t\t\t\t\t} else if ('getAllPrettifiedShortcuts' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.getAllPrettifiedShortcuts || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getAllPrettifiedShortcuts;\n\t\t\t\t}, [\"getKeyboardShortcutOverrides\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'getKeyboardShortcutOverrides' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getKeyboardShortcutOverrides;\n\t\t\t\t\t} else if ('getKeyboardShortcutOverrides' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.getKeyboardShortcutOverrides || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getKeyboardShortcutOverrides;\n\t\t\t\t}, [\"handleShortcutKeyDown\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t\t} else if ('handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.handleShortcutKeyDown || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t}, [\"isMac\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'isMac' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].isMac;\n\t\t\t\t\t} else if ('isMac' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.isMac || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].isMac;\n\t\t\t\t}, [\"isModifierKeyPressedWithKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'isModifierKeyPressedWithKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].isModifierKeyPressedWithKey;\n\t\t\t\t\t} else if ('isModifierKeyPressedWithKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.isModifierKeyPressedWithKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].isModifierKeyPressedWithKey;\n\t\t\t\t}, [\"prettifyMacShortcut\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'prettifyMacShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].prettifyMacShortcut;\n\t\t\t\t\t} else if ('prettifyMacShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.prettifyMacShortcut || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].prettifyMacShortcut;\n\t\t\t\t}, [\"prettifyWindowsShortcut\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'prettifyWindowsShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].prettifyWindowsShortcut;\n\t\t\t\t\t} else if ('prettifyWindowsShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.prettifyWindowsShortcut || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].prettifyWindowsShortcut;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t}, [\"restoreDefaults\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'restoreDefaults' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].restoreDefaults;\n\t\t\t\t\t} else if ('restoreDefaults' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.restoreDefaults || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].restoreDefaults;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t}, [\"setKeyboardShortcutOverride\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setKeyboardShortcutOverride;\n\t\t\t\t\t} else if ('setKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setKeyboardShortcutOverride || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setKeyboardShortcutOverride;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createTooltipActionHandler\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'createTooltipActionHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].createTooltipActionHandler;\n\t\t\t\t\t} else if ('createTooltipActionHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.createTooltipActionHandler || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].createTooltipActionHandler;\n\t\t\t\t}, [\"unschedule\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'unschedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].unschedule;\n\t\t\t\t\t} else if ('unschedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.unschedule || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].unschedule;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LOGOUT_REQUESTED = 'LOGOUT#REQUESTED';\nexport const LOGOUT_CONFIRMATION_YES_CLICKED =\n\t'LOGOUT_CONFIRMATION#YES_CLICKED';\nexport const LOGOUT_CONFIRMATION_CANCEL_CLICKED =\n\t'LOGOUT_CONFIRMATION#CANCEL_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tLOGOUT_CONFIRMATION_CANCEL_CLICKED,\n\tLOGOUT_CONFIRMATION_YES_CLICKED\n} from '../../../behaviors/logout-behavior/actions';\n\nexport const LogoutConfirmation = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"logout-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'logout-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Are you sure you want to log out?')}\n\t\t\tcontent={t(\n\t\t\t\t\"This will end your current session, and you'll need to log in again.\"\n\t\t\t)}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Log out'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: LOGOUT_CONFIRMATION_YES_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: LOGOUT_CONFIRMATION_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const BEHAVIOR_NAME = 'FAVORITES_BEHAVIOR';\n\nexport const FAVORITE = 'favorite';\nexport const FAVORITES = 'favorites';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const FAVORITE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_REQUESTED`;\nexport const FAVORITE_GROUP_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_GROUP_REQUESTED`;\nexport const FAVORITE_DELETE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_REQUESTED`;\nexport const FAVORITE_DELETE_MULTIPLE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MULTIPLE_REQUESTED`;\nexport const FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED`;\nexport const FAVORITE_DELETE_MODULE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MODULE_REQUESTED`;\nexport const FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED =\n\t'FAVORITE_DELETE_CONFIRMATION#REMOVE_CLICKED';\nexport const FAVORITE_DELETE_GROUP_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_GROUP_REQUESTED`;\nexport const FAVORITE_UPDATE_ALL_REQUESTED = `${BEHAVIOR_NAME}#UPDATE_ALL_FAVORITES_REQUESTED`;\nexport const FAVORITE_ENTRY_ADDED = `${BEHAVIOR_NAME}#FAVORITE_ENTRY_ADDED`;\nexport const FAVORITE_ENTRY_REMOVED = `${BEHAVIOR_NAME}#FAVORITE_ENTRY_REMOVED`;\nexport const FAVORITE_CREATE_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_CREATE_SUCCEEDED`;\nexport const FAVORITE_REMOVE_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_REMOVE_SUCCEEDED`;\nexport const FAVORITE_FAILED = `${BEHAVIOR_NAME}#FAVORITE_FAILED`;\nexport const FAVORITE_EDIT_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_EDIT_SUCCEEDED`;\nexport const FAVORITE_CHECK_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_CHECK_REQUESTED`;\nexport const FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED = `${BEHAVIOR_NAME}#EXPERIENCE_TITLE_STAR_CLICKED`;\nexport const FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED`;\nexport const LAYOUT_ITEM_UNFAVORITED = 'LAYOUT#ITEM_UNFAVORITED';\nexport const LAYOUT_ITEM_FAVORITED = 'LAYOUT#ITEM_FAVORITED';\nexport const FAVORITE_POPUP_CLOSED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_CLOSED`;\nexport const FAVORITE_POPUP_INFO_UPDATED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_INFO_UPDATED`;\nexport const FAVORITE_POPUP_RENDERED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_RENDERED`;\nexport const FAVORITE_POPUP_DESTROYED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_DESTROYED`;\nexport const FAVORITES_COMMUNICATED_TO_SW = `${BEHAVIOR_NAME}#COMMUNICATED_TO_SW`;\nexport const SYNC_ALL_MENU_AND_TITLE = `${BEHAVIOR_NAME}#SYNC_ALL_MENU_AND_TITLE`;\nexport const SYNC_FAVORITES_COMPLETE = `${BEHAVIOR_NAME}#SYNC_FAVORITES_COMPLETE`;\nexport const FAVORITE_DELETE_MODAL_CANCEL_CLICKED = `${BEHAVIOR_NAME}#MODAL_CANCEL_CLICKED`;\nexport const FAVORITE_DELETE_MODAL_REMOVE_CLICKED = `${BEHAVIOR_NAME}#MODAL_REMOVE_CLICKED`;\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_DELETE_MODAL_CANCEL_CLICKED,\n\tFAVORITE_DELETE_MODAL_REMOVE_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\n\nexport const FavoriteDeleteModal = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"favorite-delete-modal\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'favorite-delete'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Remove favorite')}\n\t\t\tcontent={t(\n\t\t\t\t'You are about to remove this item from your favorite menu. Are you sure you want to remove it?'\n\t\t\t)}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Remove'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: FAVORITE_DELETE_MODAL_REMOVE_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: FAVORITE_DELETE_MODAL_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const START_DEBUGGING_CONFIRMATION_REQUESTED =\n\t'START_DEBUGGING#CONFIRMATION_REQUESTED';\nexport const START_DEBUGGING_CONFIRMATION_CLICKED =\n\t'START_DEBUGGING#CONFIRMATION_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {START_DEBUGGING_CONFIRMATION_CLICKED} from './actions';\n\nexport const ScriptDebuggerConfirmation = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"script-debugger-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'script-debugger-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('ServiceNow Script Debugger')}\n\t\t\tcontent={t('Transaction paused at breakpoint.')}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Start Debugging'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: START_DEBUGGING_CONFIRMATION_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED =\n\t'DIRTY_FORM_CONFIRMATION#LEAVE_CLICKED';\nexport const DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED =\n\t'DIRTY_FORM_CONFIRMATION#CANCEL_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tDIRTY_FORM_CONFIRMATION_LEAVE_CLICKED,\n\tDIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n} from './actions';\nimport {getPageDisplayValue} from './dirty-form-modal.utils';\n\nexport const DirtyFormConfirmation = ({pageTitle}) => {\n\tconst formDisplayValue = getPageDisplayValue(pageTitle?.label || '');\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"dirty-form-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'dirty-form-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\tsize=\"sm\"\n\t\t\theader-label={t('Leave page')}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Leave'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}>\n\t\t\t<div className=\"modal-container dirty-form\">\n\t\t\t\t<div className=\"now-heading-title\">\n\t\t\t\t\t{t(\n\t\t\t\t\t\t`Do you want to save changes to {0} before leaving this page?`,\n\t\t\t\t\t\tformDisplayValue\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"subtext\">\n\t\t\t\t\t{t('Your changes will be lost if you leave now.')}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\nexport {default as dirtyFormStyles} from './dirty-form.scss';\n","export const getPageDisplayValue = (pageLabel = '') => {\n\tconst dash = '- ';\n\treturn pageLabel.substring(pageLabel.lastIndexOf(dash) + dash.length).trim();\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-alert';\n\nexport const UserSessionNotification = ({\n\titems,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'user-notification-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t<div className=\"user-notification-contents\">\n\t\t\t\t<now-alert-list\n\t\t\t\t\tid={'session-notifications'}\n\t\t\t\t\tclass={{'user-notification-alert': true}}\n\t\t\t\t\titems={items}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-alert';\n\nexport const UserUINotification = ({\n\titems,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'user-ui-notification-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t<div className=\"user-ui-notification-contents\">\n\t\t\t\t<now-alert-list\n\t\t\t\t\tid={'ui-notifications'}\n\t\t\t\t\tclass={{'user-ui-notification-alert': true}}\n\t\t\t\t\titems={items}\n\t\t\t\t\tmanageItems\n\t\t\t\t\tstackThreshold={100}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-alert';\n\nexport const MessageStackServiceNotification = ({\n\talerts,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'message-stack-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t{alerts.map((a) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"message-stack-contents\">\n\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\tid={a.id}\n\t\t\t\t\t\t\tclass={{'message-stack-alert': true}}\n\t\t\t\t\t\t\tcontent={a.content}\n\t\t\t\t\t\t\tstatus={a.status}\n\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","export const BEHAVIOR_NAME = 'PRINTER_FRIENDLY_BEHAVIOR';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const LEGACY_SCREEN_PRINTER_VIEW_VISIBLE = `${BEHAVIOR_NAME}#LEGACY_SCREEN_ROW_COUNT_CHANGED`;\nexport const PRINTER_FRIENDLY_VERSION_REQUESTED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_VERSION_REQUESTED`;\nexport const PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED`;\nexport const PRINTER_FRIENDLY_CONFIRM_CLICKED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_CONFIRM_CLICKED`;\nexport const PRINTER_FRIENDLY_CANCEL_CLICKED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_CANCEL_CLICKED`;\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tPRINTER_FRIENDLY_CONFIRM_CLICKED,\n\tPRINTER_FRIENDLY_CANCEL_CLICKED\n} from '../../../behaviors/printer-friendly-behavior/actions';\n\nexport const PrinterConfirmationModal = ({message, newForm}) => {\n\tconst content = newForm\n\t\t? t('Save your new record before printing.')\n\t\t: message ||\n\t\t  t('Printing large lists may affect system performance. Continue?');\n\tconst footerActions = newForm\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('OK'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CANCEL_CLICKED\n\t\t\t\t}\n\t\t  ]\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CONFIRM_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CANCEL_CLICKED\n\t\t\t\t}\n\t\t  ];\n\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"print-confirm-modal\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'print-confirm-modal'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Printer friendly version')}\n\t\t\tsize=\"sm\"\n\t\t\tcontent={content}\n\t\t\tfooter-actions={footerActions}\n\t\t/>\n\t);\n};\n","import '@servicenow/now-modal';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nexport const GuidedToursModal = ({guidedToursPrompt, guidedTour}) => {\n\tconst headerLabel = guidedTour?.headerLabel || null;\n\tconst content = guidedTour?.content || null;\n\tconst footerActions = guidedTour?.footerActions || null;\n\n\tif (!headerLabel || !content || !footerActions) guidedToursPrompt = false;\n\n\treturn guidedToursPrompt ? (\n\t\t<now-modal\n\t\t\topened\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tsize={guidedTour.size || 'md'}\n\t\t\tfooter-actions={footerActions}\n\t\t\tappend-to-meta={guidedTour.appendToMeta}\n\t\t\tdisableClose={guidedTour.disableClose || true}>\n\t\t\t{dangerouslyCreateElementFromString(`<div>${content}<\/div>`)}\n\t\t<\/now-modal>\n\t) : null;\n};\n","export const NOW_ASSIST_BEHAVIOR = 'NOW_ASSIST_BEHAVIOR';\nexport const NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED = `${NOW_ASSIST_BEHAVIOR}#CHECK_PANEL_ENABLED`;\nexport const NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED_SUCCEEDED = `${NOW_ASSIST_BEHAVIOR}#CHECK_PANEL_ENABLED_SUCCEEDED`;\nexport const NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED = `${NOW_ASSIST_BEHAVIOR}#CHECK_VOICE_INPUT_ENABLED`;\nexport const NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED_SUCCEEDED = `${NOW_ASSIST_BEHAVIOR}#CHECK_VOICE_INPUT_ENABLED_SUCCEEDED`;\nexport const AIEL = {\n\tAIEL_ACTIVE_FOR_FULFILLER_REQUEST: 'AIEL_ACTIVE_FOR_FULFILLER_REQUEST',\n\tAIEL_ACTIVE_FOR_FULFILLER_SUCCESS: 'AIEL_ACTIVE_FOR_FULFILLER_SUCCESS'\n};\nexport const NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL = `${NOW_ASSIST_BEHAVIOR}#SUBSCRIBE_TO_AMB_CHANNEL`;\nexport const NOW_ASSIST_CHAT_MESSAGE_RECEIVED =\n\t'NOW_ASSIST_CHAT_MESSAGE_RECEIVED';\nexport const FETCH_CONVERSATION_COUNT = 'FETCH_CONVERSATION_COUNT';\nexport const FETCH_CONVERSATION_LIST = 'FETCH_CONVERSATION_LIST';\nexport const FETCH_CONVERSATION_LIST_SUCCESS =\n\t'FETCH_CONVERSATION_LIST_SUCCESS';\nexport const FETCH_CONVERSATION_COUNT_SUCCESS =\n\t'FETCH_CONVERSATION_COUNT_SUCCESS';\nexport const CHECK_MULTI_CONVERSATION_ENABLED_NAP =\n\t'CHECK_MULTI_CONVERSATION_ENABLED_NAP';\nexport const CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS =\n\t'CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS';\nexport const SYS_CS_CHANNEL_NAME_FOR_NAP = 'Now Assist Panel';\nexport const UNIFIED_NAV_UX_APP_ID = 'c86a62e2c7022010099a308dc7c26022';\nexport const AIEL_SERVICE_UNAVAILABLE = 'AIEL_SERVICE_UNAVAILABLE';\nexport const AIEL_UNAVAILABLE_MODAL_DISMISSED =\n\t'AIEL_UNAVAILABLE_MODAL_DISMISSED';\nexport const AIEL_SERVICE_AVAILABLE = 'AIEL_SERVICE_AVAILABLE';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getIcon\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.__esModule\n\t\t\t\t\tif (cjsModule && 'getIcon' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].getIcon;\n\t\t\t\t\t} else if ('getIcon' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.getIcon || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].getIcon;\n\t\t\t\t}, [\"localizePresence\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.__esModule\n\t\t\t\t\tif (cjsModule && 'localizePresence' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].localizePresence;\n\t\t\t\t\t} else if ('localizePresence' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.localizePresence || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].localizePresence;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_ADD_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.TOOLTIP_ADD_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t}, [\"TOOLTIP_REMOVE_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.TOOLTIP_REMOVE_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_15_polaris_6_index_jsdbx_a3cccff8__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\n// tooltip label to be displayed\nconst tooltip = (label) => {\n\treturn t('You have unsaved changes in {0}', label);\n};\n\n// name of icon to use for dirty workspace icon\nexport const workspaceDirtyIcon = 'presence-fill';\n\n// render icon & tooltip. used in header and renderLeafIcon\nexport const renderDirtyWorkspaceIcon = (\n\tlabel,\n\tdispatch,\n\ticonClass = 'dirty-workspace-icon'\n) => {\n\treturn (\n\t\t<now-icon\n\t\t\tclassName={iconClass}\n\t\t\ticon={workspaceDirtyIcon}\n\t\t\tdata-tooltip={tooltip(label)}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n// render dirty workspace icon for menus\nexport const renderLeafIcon = (icon, item, iconClass, dispatch) => {\n\tif (icon === workspaceDirtyIcon) {\n\t\treturn renderDirtyWorkspaceIcon(item.label, dispatch, iconClass);\n\t} else {\n\t\treturn (\n\t\t\t<now-icon class={{[iconClass]: true, [item.color]: true}} icon={icon} />\n\t\t);\n\t}\n};\n","import {t} from 'sn-translate';\nimport {pick, get} from 'lodash';\nimport {MENU_WORKSPACES} from '../../constants';\nimport {workspaceDirtyIcon} from '../../utils/renderDirtyWorkspaceIcon';\nconst menuStateBeforeDirty = new Map();\nconst membersModified = ['icon', 'ariaLabel', 'tooltip', 'isDirty'];\n\n/* I want to create a copy of menuItems here but when I do the alignment of the pop over menus is messed up.\n ** I think this object gets manipulated in multiple places in the code and it requires keeping the reference\n ** to the object\n */\nexport const normalizeDirtyWorkspaces = (menuItems, dirtyWorkspaces) => {\n\tif (!Array.isArray(menuItems)) return menuItems;\n\tconst workspaceMenuIndex = menuItems.findIndex(\n\t\t(menu) => menu.id === MENU_WORKSPACES\n\t);\n\tif (workspaceMenuIndex === -1) return menuItems;\n\tmenuItems[workspaceMenuIndex].subItems = (\n\t\tmenuItems[workspaceMenuIndex].subItems || []\n\t).map((menu) => {\n\t\tconst contextPath = menu?.route?.context?.path;\n\t\tconst label = menu?.label;\n\t\tif (dirtyWorkspaces.includes(contextPath)) {\n\t\t\t// if new menu is dirty but it wasn't dirty before we save the old state to use to return it back to normal\n\t\t\tif (!menu.isDirty)\n\t\t\t\tmenuStateBeforeDirty.set(menu.id, pick(menu, membersModified));\n\t\t\treturn {\n\t\t\t\t...menu,\n\t\t\t\ticon: workspaceDirtyIcon,\n\t\t\t\tariaLabel: t('{0}, You have unsaved changes', label),\n\t\t\t\ttooltip: t('You have unsaved changes in {0}', label),\n\t\t\t\tisDirty: true\n\t\t\t};\n\t\t} else {\n\t\t\tif (menu.isDirty) {\n\t\t\t\t// if new menu is not dirty but it used to be we return it back to the state it started at\n\t\t\t\tconst newMenu = {\n\t\t\t\t\t...menu,\n\t\t\t\t\t// remove the items we added\n\t\t\t\t\t...membersModified.reduce(\n\t\t\t\t\t\t(prev, key) => ({...prev, [key]: undefined}),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t\t// add the items we removed back\n\t\t\t\t\t...menuStateBeforeDirty.get(menu.id)\n\t\t\t\t};\n\t\t\t\treturn newMenu;\n\t\t\t} else {\n\t\t\t\treturn menu;\n\t\t\t}\n\t\t}\n\t});\n\tconst workspaceMenu = menuItems[workspaceMenuIndex];\n\tif (workspaceMenu && dirtyWorkspaces.length > 0) {\n\t\tif (!workspaceMenu.isDirty)\n\t\t\tmenuStateBeforeDirty.set(\n\t\t\t\tworkspaceMenu.id,\n\t\t\t\tpick(workspaceMenu, membersModified)\n\t\t\t);\n\t\tworkspaceMenu.icon = workspaceDirtyIcon;\n\t\tworkspaceMenu.tooltip = t('You have unsaved changes in Workspaces');\n\t\tworkspaceMenu.ariaLabel = t(\n\t\t\t'{0}, You have unsaved changes',\n\t\t\tworkspaceMenu.label\n\t\t);\n\t\tworkspaceMenu.isDirty = true;\n\t} else {\n\t\t// Workspace menu was dirty but isn't anymore\n\t\tif (workspaceMenu.isDirty) {\n\t\t\tconst previousWorkspaceMenu = menuStateBeforeDirty.get(workspaceMenu.id);\n\t\t\t// Return the workspace menu to how we found it before we made it dirty\n\t\t\tmembersModified.forEach((key) => {\n\t\t\t\tworkspaceMenu[key] = get(previousWorkspaceMenu, key, undefined);\n\t\t\t});\n\t\t}\n\t}\n\treturn menuItems;\n};\n","export const PLUGIN_NAME = 'com.glide.interaction.awa';\nexport const ROLE_NAMES = ['awa_agent', 'awa_admin', 'admin', 'awa_manager'];\nexport const BEHAVIOR_NAME = 'IS_INBOX_ENABLED_BEHAVIOR';\nexport const SYS_PROP_AWA = 'glide.awa.enabled';\nexport const STATE_PATH_PARTS_ENABLED =\n\t'behaviors.' + BEHAVIOR_NAME + '.partsEnabled';\nexport const STATE_PATH_IS_ENABLED =\n\t'behaviors.' + BEHAVIOR_NAME + '.isEnabled';\n","export const BEHAVIOR_NAME = 'ARIA_LIVE_MESSAGES_BEHAVIOR';\nexport const ARIA_LIVE_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.ariaLiveMessages`;\n","export const BEHAVIOR_NAME = 'NOTIFICATIONS_BEHAVIOR';\nexport const NOTIFICATION_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.notifications`;\nexport const NOTIFICATION_UNREAD_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.unreadCount`;\nexport const NOTIFICATION_CURRENT_SYSID_PATH = `behaviors.${BEHAVIOR_NAME}.currentNotificationSysId`;\nexport const TOAST_INITIAL_TIMEOUT = 10000;\nexport const TOAST_AFTER_FOCUS_TIMEOUT = 3000;\n\nexport const PREFERENCES = {\n\tINBOX_DESKTOP_NOTIFICATION: 'workspace.notifications.inbox.desktop',\n\tINBOX_AUDIO_NOTIFICATION: 'workspace.notifications.inbox.audio',\n\tIGNORE_NOTIFICATION: 'glide.ui.polaris.ignore.notification'\n};\n\nexport const NOTIFICATIONS_LAST_VIEWED_KEY = 'sn.notifications.lastViewed';\n\nexport const NOTIFICATION_OBJECT_KEYS = [\n\t'message',\n\t'title',\n\t'icon',\n\t'sysId',\n\t'url',\n\t'timestamp',\n\t'source',\n\t'id',\n\t'type',\n\t'table',\n\t'target',\n\t'sysId',\n\t'recordSysId',\n\t'triggeredBy',\n\t'recordType'\n];\n\nexport const MESSAGE_TYPES = {\n\tNEXT_CUSTOM: 'nextExperienceNotification'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_15_polaris_6_index_jsdbx_84460c9f__[\"default\"][\"default\"];\n\t\t\t\t} });","export const HOME_PAGE_SELECTED = 'HOME_PAGE#SELECTED';\nexport const MAIN_LOGO_LOADED = 'MAIN_LOGO#LOADED';\nexport const HEADER_LOGO_CLICKED = 'HEADER_LOGO#CLICKED';\nexport const HEADER_EXPERIENCE_MENU_CLICKED = 'HEADER_EXPERIENCE_MENU#CLICKED';\nexport const SCREEN_CONTENT_LINK_ITEM_SELECTED =\n\t'SCREEN_CONTENT_LINK#ITEM_SELECTED';\nexport const LOGO_IMAGE_UPDATED = 'LOGO_IMAGE#UPDATED';\n","/**\n * Creates an object that handles click/enter/space common functionality\n */\nexport default (fn, ignoreSpace = false, moreEvents = []) => {\n\tconst interactionHandlers = {\n\t\t'on-click': fn,\n\t\t'on-keydown': (e) => {\n\t\t\tif (e.key === ' ') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (!ignoreSpace) {\n\t\t\t\t\tfn(e);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tfn(e);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst moreHandlers = moreEvents.reduce((target, event) => {\n\t\ttarget[event] = fn;\n\t\treturn target;\n\t}, {});\n\n\treturn {...interactionHandlers, ...moreHandlers};\n};\n","import {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport {SYS_PROPS, USER_PREF_POLARIS_USE} from '../constants';\n\nexport const defaults = {\n\tisPolarisEnabled: true\n};\n\nlet features = defaults;\n\nconst calculatedFeatures = (userPreferences) => {\n\tconst isPolarisEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_EXPERIENCE, false) &&\n\t\tgetBooleanPreferenceValue(userPreferences, USER_PREF_POLARIS_USE, true);\n\treturn {\n\t\tisPolarisEnabled,\n\t\tisHelpEnabled:\n\t\t\tgetBooleanProperty(SYS_PROPS.UI.SHOW_HELP, false) ||\n\t\t\tgetBooleanProperty(SYS_PROPS.UI.EMBEDDED_HELP_ENABLED, false),\n\t\tisMenuEnabled:\n\t\t\tisPolarisEnabled && getBooleanProperty(SYS_PROPS.UI.POLARIS_MENUS, false),\n\t\tisDirtyFormEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.DIRTY_FORM_SUPPORT_ENABLED\n\t\t),\n\t\tisPrintingEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.PRINTER_FRIENDLY_ENABLED,\n\t\t\ttrue\n\t\t),\n\t\tisCoreUINotificationPrefEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.CORE_UI_NOTIFICATION_PREFERENCE,\n\t\t\ttrue\n\t\t),\n\t\tisNotificationEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.NOTIFICATION_ENABLED,\n\t\t\ttrue\n\t\t)\n\t};\n};\n\nexport const featureSettingsInit = (\n\tinitialFeatures = {},\n\tuserPreferences = []\n) => {\n\tfeatures = {\n\t\t...calculatedFeatures(userPreferences),\n\t\t...initialFeatures\n\t};\n};\n\nexport const featureSettingsToDefault = () => {\n\tfeatures = defaults;\n};\n\nexport const getFeatureSettings = () => features;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t} });","import {escape} from 'lodash';\nimport DOMPurify from 'dompurify';\n\n// Base DOMPurify configuration\nconst domPurifyConfig = {\n\tALLOWED_TAGS: [\n\t\t'p',\n\t\t'br',\n\t\t'b',\n\t\t'i',\n\t\t'em',\n\t\t'strong',\n\t\t'a',\n\t\t'ul',\n\t\t'ol',\n\t\t'li',\n\t\t'div',\n\t\t'span',\n\t\t'style',\n\t\t'button',\n\t\t'img'\n\t],\n\tALLOWED_ATTR: ['href', 'target', 'rel', 'class', 'style', 'src', 'alt'],\n\tDANGEROUS_TAGS: ['iframe', 'embed', 'object', 'script'],\n\tDANGEROUS_ATTRIBUTES: [\n\t\t'onload',\n\t\t'onerror',\n\t\t'onclick',\n\t\t'onmouseover',\n\t\t'onmouseout',\n\t\t'allowscriptaccess'\n\t]\n};\n\n/**\n * Determine if input string contains potentially executable HTML tags\n * by checking if it contains child elements\n * @param value\n * @returns {boolean} true / false whether string contains HTML tags\n */\nexport const hasDangerousHtmlTags = (value) => {\n\tconst doc = new DOMParser().parseFromString(value, 'text/html');\n\tconst elements = Array.from(doc.body.getElementsByTagName('*'));\n\treturn (\n\t\telements.some((el) =>\n\t\t\tdomPurifyConfig.DANGEROUS_TAGS.includes(el.tagName.toLowerCase())\n\t\t) || /<\\s*(script|iframe|embed|object)[\\s>]/i.test(value)\n\t);\n};\n\nexport const hasScriptOrStyleTag = (value) => {\n\tconst STYLE = /<(script|style)[^>]*>[\\s\\S]*<\\/\\1>/;\n\treturn STYLE.test(value);\n};\n\n/**\n * Removes all characters which may/may not be sanitized differently\n * when setting it to the div to the inner HTML\n * so that only structural HTML differences can be compared.\n * @param value\n * @returns {string} sanitized html string\n */\nconst normalizeHtml = (value) => {\n\treturn value\n\t\t.replace(/\"/g, '')\n\t\t.replace(/'/g, '')\n\t\t.replace(/<\/g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/=/g, '')\n\t\t.replace(/\\//g, '')\n\t\t.replace(/&/g, '')\n\t\t.replace(/\\u00A0/g, 'nbsp;')\n\t\t.trim();\n};\n\n/**\n * Removes all ampersands and escaped sequences before setting the inner HTML\n * since they are treated differently\n * element text.\n * @param value\n * @returns {string} sanitized html string\n */\nconst cleanHtml = (value) => {\n\tconst ESCAPED_HTML_SEQUENCES = /&(?:\\w{0,6}|#\\d{0,6}|#x[\\da-fA-F]{0,6});/g;\n\n\treturn value.replace(ESCAPED_HTML_SEQUENCES, '').replace(/&/g, '');\n};\n\n/**\n * Determines if the input is a valid HTML\n * by comparing HTML structure between user HTML and the output of setting the inner div\n * @param input\n * @returns {boolean}\n */\nexport const isValidHtml = (htmlString) => {\n\t//structure check\n\tconst cleanedHtml = cleanHtml(htmlString);\n\n\tconst doc = document.implementation.createHTMLDocument();\n\tconst fragment = doc.createDocumentFragment();\n\tconst temp = doc.createElement('div');\n\ttemp.innerHTML = cleanedHtml;\n\n\tif (normalizeHtml(temp.innerHTML) === normalizeHtml(cleanedHtml)) {\n\t\t// Move all nodes to the fragment\n\t\twhile (temp.firstChild) {\n\t\t\tfragment.appendChild(temp.firstChild);\n\t\t}\n\t\treturn fragment.children.length > 0 || htmlString.trim() === '';\n\t}\n\treturn false;\n};\n\n/**\n * Determine if input string is safe HTML\n * by checking if it contains child elements\n * @param value\n * @param allowScripts\n * @returns {boolean} true / false whether string contains HTML\n */\nexport const isAllowedHtml = (value, allowScripts) => {\n\tconst dangerousTags = hasDangerousHtmlTags(value);\n\n\tif (!allowScripts && dangerousTags) return false;\n\n\tconst doc = new DOMParser().parseFromString(value, 'text/html');\n\n\treturn (\n\t\tArray.from(doc.body.childNodes).some((node) => node.nodeType === 1) ||\n\t\thasScriptOrStyleTag(value) ||\n\t\tdangerousTags\n\t);\n};\n\n/**\n * Checks if element contains a child element to determine whether it is HTML\n * Compares HTML structure between user HTML and the output of setting the inner div\n * returns the HTML string on success\n * returns an escaped non-renderable HTML string on failure / when value is not HTML\n * @param value\n * @param allowScripts\n * @returns {string} sanitized HTML / escaped non-renderable HTML\n */\nexport const validateAndEscapeHtmlIfNeeded = (value, allowScripts) => {\n\tif (isAllowedHtml(value, allowScripts)) {\n\t\tconst hasNonBreakingSpace = /\\u00A0/.test(value);\n\n\t\tif (!isValidHtml(value)) return escape(value);\n\n\t\tif ((allowScripts && hasScriptOrStyleTag(value)) || hasNonBreakingSpace)\n\t\t\treturn value;\n\n\t\tconst scriptConfig = {\n\t\t\t...domPurifyConfig,\n\t\t\tDANGEROUS_TAGS: domPurifyConfig.DANGEROUS_TAGS.filter(\n\t\t\t\t(tag) => tag !== 'script'\n\t\t\t),\n\t\t\tADD_ATTR: ['onclick', 'onload', 'onerror', 'onmouseover', 'onmouseout']\n\t\t};\n\n\t\tconst config = allowScripts ? scriptConfig : {...domPurifyConfig};\n\n\t\treturn DOMPurify.sanitize(value, config);\n\t}\n\treturn escape(value);\n};\n\n/**\n * Removes all HTML tags from string\n * Corrects the spacing due to HTML in the string\n * @param  {string} value - The input string potentially containing HTML\n * @param  {string} description - The description to find in the string\n * @returns {string} The cleaned string without HTML\n */\nexport const removeHtmlFromDescription = (value, description) => {\n\tif (description) {\n\t\tconst indexOfDescription = value.indexOf(description);\n\t\tif (indexOfDescription !== -1) {\n\t\t\tvalue =\n\t\t\t\tvalue.substring(0, indexOfDescription) +\n\t\t\t\t' ' +\n\t\t\t\tvalue.substring(indexOfDescription);\n\t\t}\n\t}\n\n\tconst div = document.createElement('div');\n\n\tdiv.innerHTML = DOMPurify.sanitize(value, {\n\t\tALLOWED_TAGS: [],\n\t\tKEEP_CONTENT: true\n\t});\n\n\treturn div.textContent ? div.textContent.trim() : '';\n};\n","import {POLARIS_CONTEXT} from '../constants/index.js';\nimport {get} from 'lodash';\nconst NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\nexport const openHomePage = ({headerLogoTarget, selectedContent, dispatch}) => {\n\tconst logoTarget = get(headerLogoTarget, 'GlideHeaderLogo_Query.getLogoURL', {\n\t\texternal: false,\n\t\ttarget: 'gsft_main',\n\t\turl: JSON.stringify({\n\t\t\tcontext: {\n\t\t\t\texperienceName: 'Unified Navigation App',\n\t\t\t\tpath: 'now/nav/ui'\n\t\t\t},\n\t\t\troute: 'home'\n\t\t}),\n\t\ttype: 'uxf'\n\t});\n\n\tswitch (logoTarget.target) {\n\t\tcase '_top':\n\t\t\twindow.location.href = logoTarget.url;\n\t\t\tbreak;\n\t\tcase 'gsft_main':\n\t\t\tif (logoTarget.type === 'classic') {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: 'classic',\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: logoTarget.url\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst context = JSON.parse(logoTarget.url);\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, context);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t{\n\t\t\t\tconst {context} = selectedContent;\n\t\t\t\tconst external = {\n\t\t\t\t\turl: logoTarget.url,\n\t\t\t\t\ttarget: logoTarget.target\n\t\t\t\t};\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n","import {get} from 'lodash';\n\nexport function resolveUserSession() {\n\t// If the new format doesn't work, rely on the old.\n\treturn (\n\t\tget(\n\t\t\t// Ok to hardcode b/c it's the sysid of our app-shell macroponent\n\t\t\tdocument.querySelector('macroponent-f51912f4c700201072b211d4d8c26010'),\n\t\t\t['userSessionInfo', 'output']\n\t\t) ||\n\t\tget(\n\t\t\tdocument.querySelector('macroponent-f51912f4c700201072b211d4d8c26010'),\n\t\t\t[\n\t\t\t\t'userSessionInfo',\n\t\t\t\t'sessionGQL->session',\n\t\t\t\t'1',\n\t\t\t\t'executionResult',\n\t\t\t\t'output'\n\t\t\t]\n\t\t) ||\n\t\t{}\n\t);\n}\n\nexport async function getEarlyEvaluation(property) {\n\tconst {responses = {}} = window.__uxf_data_hydration_registry ?? {};\n\n\tconst {evaluationByPipelineId} =\n\t\tObject.values(responses).find(\n\t\t\t({macroponentSysId: responseMacroponentSysId}) =>\n\t\t\t\tresponseMacroponentSysId === 'f51912f4c700201072b211d4d8c26010'\n\t\t) ?? {};\n\n\treturn evaluationByPipelineId[property];\n}\n\nexport function resolvePipelineResult(evaluationByPipeline) {\n\t// If the new format doesn't work, rely on the old.\n\treturn (\n\t\tget(\n\t\t\t// Ok to hardcode b/c it's the sysid of our app-shell macroponent\n\t\t\tevaluationByPipeline[0],\n\t\t\t['executionResult', 'output', 'result']\n\t\t) || {}\n\t);\n}\n","import {isEmpty, get} from 'lodash';\nimport {openHomePage} from '../../../utils/openHomePage';\nimport {\n\tHEADER_EXPERIENCE_MENU_CLICKED,\n\tHEADER_LOGO_CLICKED,\n\tLOGO_IMAGE_UPDATED\n} from '../actions';\nimport getLogoSource from '../../../utils/getLogoSource';\nimport DEFAULT_LOGO from '../../../assets/now-polaris.svg';\nimport {\n\tgetEarlyEvaluation,\n\tresolvePipelineResult\n} from '../../sn-polaris-layout/utils/resolveUserSession';\n\nexport const onExperienceLogoClick = (logoRoute, selectedContent, dispatch) => {\n\tif (!isEmpty(logoRoute))\n\t\tdispatch(HEADER_EXPERIENCE_MENU_CLICKED, {target: logoRoute});\n\telse {\n\t\t// let UXF page processor decides the home page for selected experience\n\t\twindow.location.href = selectedContent.context.path;\n\t}\n};\n\nexport const onLogoClick = (headerLogoTarget, selectedContent, dispatch) => {\n\topenHomePage({headerLogoTarget, selectedContent, dispatch});\n\tdispatch(HEADER_LOGO_CLICKED);\n};\n\nexport const getLogoImage = ({\n\tlogoContextPath,\n\tcoreUILogoSrc,\n\tisPolarisEnabled,\n\tisThemeBuilderOverriding,\n\tdispatch\n}) => {\n\tlet logoImage = DEFAULT_LOGO;\n\tif (logoContextPath) {\n\t\tif (isPolarisEnabled && !isThemeBuilderOverriding) {\n\t\t\tif (coreUILogoSrc) logoImage = coreUILogoSrc;\n\t\t\telse {\n\t\t\t\tgetEarlyEvaluation('polaris_app_shell_header_company_logo').then(\n\t\t\t\t\t(result) => {\n\t\t\t\t\t\tconst logoImageSrc = resolvePipelineResult(result);\n\t\t\t\t\t\tlogoImage = get(logoImageSrc, 'imgSrc');\n\t\t\t\t\t\tdispatch(LOGO_IMAGE_UPDATED, {logoImage});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else\n\t\t\tlogoImage =\n\t\t\t\tgetLogoSource(coreUILogoSrc, 'header_logo', logoContextPath) ||\n\t\t\t\tDEFAULT_LOGO;\n\t}\n\n\treturn logoImage;\n};\n","import {get} from 'lodash';\n\n/**\n * Looks for header logo by position identifier within sys_ux_theme assets.\n * If none specified, use default_src.\n * Currently this is used by canvas-header and footer, default_src represents\n * the logoSource propertyfor each of those components.\n *\n * @param {string} default_src\n * @param {string} position\n * @returns {string}\n */\nexport default function getLogoSource(default_src = '', position = '') {\n\tconst themeOptions = window?.ux_globals?.theme?.themeOptions ?? {};\n\tconst currentThemeSysId = themeOptions.userPreferenceVariant ?? '';\n\n\t// get theme sys_id from preference or default to existing\n\tconst imagesFromAsset =\n\t\tthemeOptions?.variants?.[currentThemeSysId]?.assets?.filter(\n\t\t\t(a) => a.category === 'image'\n\t\t) ?? get(window, 'ux_globals.theme.images', {});\n\n\tconst image_obj = findImage(Object.values(imagesFromAsset), position);\n\tconst image_uri = get(image_obj, 'uri', null);\n\treturn image_uri || default_src;\n}\n\nfunction findImage(images, position) {\n\treturn images.find((image) => image?.properties?.position === position);\n}\n","import {t} from 'sn-translate';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\nimport DEFAULT_LOGO from '../../../assets/now-polaris.svg';\nimport {MAIN_LOGO_LOADED} from '../actions';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {HOME_PAGE, POLARIS_CONTEXT, SYS_PROPS} from '../../../constants';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\nimport {validateAndEscapeHtmlIfNeeded} from '../../../utils/htmlUtils';\nimport {getLogoImage, onExperienceLogoClick, onLogoClick} from './logo.utils';\n\nexport const View = ({\n\tselectedContent,\n\theaderLogoTarget,\n\tlogoRoute,\n\tdispatch,\n\tcoreUILogoSrc\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst logoName = getProperty(SYS_PROPS.PRODUCT_NAME) || '';\n\tconst logoText = getProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || HOME_PAGE;\n\tconst allowScripts =\n\t\tgetProperty(SYS_PROPS.UI.POLARIS_LOGO_ALLOW_SCRIPTS) || false;\n\n\tconst logoContextPath = isPolarisEnabled\n\t\t? POLARIS_CONTEXT.path\n\t\t: selectedContent?.context?.path;\n\n\tif (!logoContextPath || coreUILogoSrc === '') return;\n\n\tconst isThemeBuilderOverriding = getBooleanProperty(\n\t\tSYS_PROPS.UI.THEME_BUILDER_OVERRIDE,\n\t\tfalse\n\t);\n\n\tconst logoImage = getLogoImage({\n\t\tlogoContextPath,\n\t\tcoreUILogoSrc,\n\t\tisPolarisEnabled,\n\t\tisThemeBuilderOverriding,\n\t\tdispatch\n\t});\n\n\tconst handleLogoInteraction = () => {\n\t\tisPolarisEnabled\n\t\t\t? onLogoClick(headerLogoTarget, selectedContent, dispatch)\n\t\t\t: onExperienceLogoClick(logoRoute, selectedContent, dispatch);\n\t};\n\n\tlet logoEl = null;\n\tconst sanitizedLogoName = validateAndEscapeHtmlIfNeeded(\n\t\tlogoName,\n\t\tallowScripts\n\t);\n\tconst sanitizedLogoText = validateAndEscapeHtmlIfNeeded(\n\t\tlogoText,\n\t\tallowScripts\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-header-logo\"\n\t\t\taria-describedby=\"logo-tooltip\"\n\t\t\trole=\"button\"\n\t\t\taria-label={\n\t\t\t\tlogoName ? t('My {0} landing page', logoName) : t('My landing page')\n\t\t\t}\n\t\t\ttabIndex=\"0\"\n\t\t\tid=\"header-logo-link\"\n\t\t\t{...createInteractionHandlers(handleLogoInteraction)}>\n\t\t\t<img\n\t\t\t\tid=\"header-logo-image\"\n\t\t\t\ton-load={() => dispatch(MAIN_LOGO_LOADED)}\n\t\t\t\ton-error={() => dispatch(MAIN_LOGO_LOADED)}\n\t\t\t\tsrc={logoImage || DEFAULT_LOGO}\n\t\t\t\talt={\n\t\t\t\t\tlogoName\n\t\t\t\t\t\t? `${sanitizedLogoName} ${sanitizedLogoText}`\n\t\t\t\t\t\t: sanitizedLogoText\n\t\t\t\t}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tlogoEl = elm;\n\t\t\t\t\telm.parentElement.children[1].targetRef = logoEl;\n\t\t\t\t}}\n\t\t\t\thook-destroy={() => (logoEl = null)}\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\tid=\"logo-tooltip\"\n\t\t\t\tposition={['bottom-center top-center', 'bottom-start top-start']}>\n\t\t\t\t<div id=\"header-logo-tooltip\">\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t`<div>${sanitizedLogoName}<\/div>`\n\t\t\t\t\t)}\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t`<div>${sanitizedLogoText}<\/div>`\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/now-tooltip>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {isEmpty, get} from 'lodash';\nimport {\n\tFULL_CLASSIC_ROUTE,\n\tLIST,\n\tMENU_WORKSPACES,\n\tPOLARIS_CONTEXT\n} from '../../constants';\n\nexport const getRouteFromMenuItem = (menuItem, menuType) => {\n\tconst {context = POLARIS_CONTEXT} = menuItem.route;\n\n\tif (menuType === MENU_WORKSPACES && context !== POLARIS_CONTEXT) {\n\t\treturn {context};\n\t}\n\n\tif (menuItem.type === LIST) {\n\t\tif (menuItem.route?.params?.target)\n\t\t\tmenuItem.route.params.target = appendClearStack(\n\t\t\t\tmenuItem.route.params.target\n\t\t\t);\n\t\telse if (menuItem.route?.external?.url)\n\t\t\tmenuItem.route.external.url = appendClearStack(\n\t\t\t\tmenuItem.route.external.url\n\t\t\t);\n\t}\n\n\treturn (({\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\texternal,\n\t\ttitle,\n\t\tparent,\n\t\tencodedPersistedState\n\t}) => ({\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tcontext,\n\t\texternal,\n\t\tparent,\n\t\ttitle,\n\t\tencodedPersistedState\n\t}))(menuItem.route);\n};\n\nexport const prepareFavoriteUrl = (menuItem) => {\n\tconst url = get(menuItem, 'route.params.target', null);\n\tif (!isEmpty(menuItem.subItems)) {\n\t\treturn {\n\t\t\tapplication: menuItem.id,\n\t\t\ttitle: menuItem.label\n\t\t};\n\t}\n\n\treturn {\n\t\tid: menuItem.id,\n\t\ttitle: menuItem.label,\n\t\turl: url\n\t};\n};\n\nexport const appendClearStack = (url) => {\n\t// if the url is relative, return only relative\n\tconst isRelative = !url.startsWith(window.location.origin);\n\tconst urlObject = new URL(url, window.location.origin);\n\n\tconst path = urlObject.pathname;\n\n\t// handle nested case where the link is loaded in iframe\n\tif (path.startsWith(FULL_CLASSIC_ROUTE)) {\n\t\tconst target = path.substring(FULL_CLASSIC_ROUTE.length);\n\n\t\tconst targetUrl = new URL(\n\t\t\tdecodeURIComponent(target),\n\t\t\twindow.location.origin\n\t\t);\n\t\ttargetUrl.searchParams.append('sysparm_clear_stack', 'true');\n\n\t\turlObject.pathname =\n\t\t\tFULL_CLASSIC_ROUTE +\n\t\t\tencodeURIComponent(\n\t\t\t\ttargetUrl.toString().replace(window.location.origin + '/', '')\n\t\t\t);\n\t} else {\n\t\turlObject.searchParams.append('sysparm_clear_stack', 'true');\n\t}\n\n\tconst transformedUrl = urlObject.toString();\n\n\treturn isRelative\n\t\t? transformedUrl.replace(window.location.origin + '/', '')\n\t\t: transformedUrl;\n};\n","import {appendClearStack} from '../components/sn-polaris-menu/sn-polaris-menu.utils';\nimport {LIST, POLARIS_CONTEXT} from '../constants';\n\nexport default function getHref(item, shouldOpenUI16TabsInsidePolaris) {\n\t// 3 cases:\n\t// Workspace                             : item.route.url\n\t// External (i.e. external tab specified): item.route.external.url\n\t// Standard                              : item.route.params.target\n\n\tlet href =\n\t\titem?.command ||\n\t\titem?.route?.url ||\n\t\titem?.route?.context?.path ||\n\t\titem?.route?.external?.url;\n\tif (href) {\n\t\tif (item.type === LIST) return appendClearStack(href);\n\t\treturn href;\n\t}\n\n\tif (item?.route?.params?.target) {\n\t\thref = shouldOpenUI16TabsInsidePolaris\n\t\t\t? `${POLARIS_CONTEXT.path}/${\n\t\t\t\t\titem.route.route\n\t\t\t  }/params/target/${encodeURIComponent(item.route.params.target)}`\n\t\t\t: item.route.params.target;\n\t}\n\n\tif (item.type === LIST) return appendClearStack(href);\n\n\treturn href;\n}\n","import {throttle} from 'lodash';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nimport {t} from 'sn-translate';\nimport {\n\tMENU_WORKSPACES,\n\tNAV_ITEM_SELECTED,\n\tOVERFLOW_MENU_ID\n} from '../../../constants';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\nimport {renderDirtyWorkspaceIcon} from '../../../utils/renderDirtyWorkspaceIcon';\nimport {isWorkspaceInOverflowMenu} from './navigation.utils';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\nfunction renderLabel(item) {\n\t// A menu item can have an icon & a label, however the overflow menu item only has an icon (no label)\n\t// Always display the label if the item has one, otherwise display the icon\n\treturn item.label\n\t\t? item.label\n\t\t: item.icon && <now-icon icon={item.icon} size=\"md\" />;\n}\n\nconst headerCreateMenuHrefHandlers = (item, fn) => {\n\treturn createInteractionHandlers((e) => {\n\t\tif (item.cantShowAsBrowserLink) fn(e);\n\t});\n};\n\nconst polarisTabClass = (item, mainMenuState) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\n\treturn {\n\t\t'sn-polaris-tab': true,\n\t\t'polaris-enabled': isPolarisEnabled,\n\t\t'is-pinned':\n\t\t\tmainMenuState.isMenuPinned &&\n\t\t\tmainMenuState.canBePinned &&\n\t\t\tmainMenuState.primaryMenuId === item.id,\n\t\t'is-active':\n\t\t\tmainMenuState.primaryMenuId === item.id ||\n\t\t\tmainMenuState.secondaryMenuId === item.id\n\t\t\t\t? true\n\t\t\t\t: false,\n\t\t'tab-overflow': item.id === OVERFLOW_MENU_ID ? true : false\n\t};\n};\n\nexport const View = ({\n\tmainMenuState,\n\tmenuItems = [],\n\tonTabSelect = () => null,\n\tonNavigationResize = () => null,\n\tdispatch = () => null,\n\tshouldOpenUI16TabsInsidePolaris,\n\thasDirtyWorkspaces\n}) => {\n\tconst selectedTabRef = createRef();\n\tconst resizeObserverCb = throttle(onNavigationResize, 200);\n\tlet resizeObserver;\n\tconst activeTab = mainMenuState.primaryMenuId;\n\tconst altActiveTab = mainMenuState.secondaryMenuId;\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\n\tconst onOpenMenu = (item) => (e) => {\n\t\te.stopPropagation();\n\t\tif (item?.route) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, item.route);\n\t\t} else {\n\t\t\tonTabSelect({\n\t\t\t\tmenuId: item.id,\n\t\t\t\tlabel: item.label,\n\t\t\t\tisDirty: item.isDirty,\n\t\t\t\tref: selectedTabRef.current.parentElement\n\t\t\t});\n\t\t}\n\t};\n\n\tconst itemLabel = menuItems.find((item) => item.id === MENU_WORKSPACES)\n\t\t?.label;\n\n\treturn (\n\t\t<div\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver = new ResizeObserver((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tif (entry.contentRect.width) resizeObserverCb(entry);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tif (resizeObserver) resizeObserver.unobserve(elm);\n\n\t\t\t\tresizeObserver = null;\n\t\t\t}}\n\t\t\trole=\"menu\"\n\t\t\tclassName=\"sn-polaris-navigation polaris-header-menu\">\n\t\t\t{menuItems?.map((menuItem) => {\n\t\t\t\t// If the menu is collapseOnSingleItem and only has 1 subItem, then grab that item to display\n\t\t\t\tconst item =\n\t\t\t\t\tmenuItem.subItems?.length === 1 && menuItem.collapseOnSingleItem\n\t\t\t\t\t\t? // If you show a normal browser link dirty workspaces get nuked on click and confirm\n\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t...menuItem.subItems[0],\n\t\t\t\t\t\t\t\tcantShowAsBrowserLink: menuItem.id !== 'workspace'\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: menuItem;\n\n\t\t\t\tconst isActive =\n\t\t\t\t\tactiveTab === menuItem.id || altActiveTab === menuItem.id;\n\n\t\t\t\tif (!item.isOverflow) {\n\t\t\t\t\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\n\t\t\t\t\tif (href) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclass={polarisTabClass(item, mainMenuState)}\n\t\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\taria-haspopup=\"false\"\n\t\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t\tref={selectedTabRef}\n\t\t\t\t\t\t\t\taria-label={item.ariaLabel || renderLabel(item)}\n\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\ttarget=\"_self\"\n\t\t\t\t\t\t\t\t{...headerCreateMenuHrefHandlers(item, (e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, item.route);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdata-tooltip={item?.tooltip}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item?.tooltip) {\n\t\t\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item?.tooltip) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{item.icon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.icon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{renderLabel(item)}\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\tclass={polarisTabClass(item, mainMenuState)}\n\t\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={isActive ? 'true' : 'false'}\n\t\t\t\t\t\t\t\taria-label={item.ariaLabel || renderLabel(item)}\n\t\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t\tref={selectedTabRef}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers(onOpenMenu(item))}\n\t\t\t\t\t\t\t\tdata-tooltip={item.tooltip}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item.tooltip) {\n\t\t\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item.tooltip) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{item.icon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.icon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{renderLabel(item)}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})}\n\n\t\t\t{/* DEF0292153: only display the nav-overflow menu button if glide.ui.polaris.experience=true */}\n\t\t\t{!isPolarisEnabled ? null : (\n\t\t\t\t<div\n\t\t\t\t\tid=\"nav-overflow\"\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-label={t('More menus')}\n\t\t\t\t\taria-expanded={activeTab === OVERFLOW_MENU_ID ? 'true' : 'false'}\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\tkey=\"overflow\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-tab': true,\n\t\t\t\t\t\t'is-placeholder': true\n\t\t\t\t\t}}\n\t\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t\tonOpenMenu({id: OVERFLOW_MENU_ID, label: 'Overflow'})\n\t\t\t\t\t)}\n\t\t\t\t\tdata-tooltip={t('Main Menus')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}>\n\t\t\t\t\t{hasDirtyWorkspaces && isWorkspaceInOverflowMenu(menuItems)\n\t\t\t\t\t\t? renderDirtyWorkspaceIcon(itemLabel, dispatch)\n\t\t\t\t\t\t: null}\n\t\t\t\t\t<now-icon icon=\"ellipsis-v-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {MENU_WORKSPACES, OVERFLOW_MENU_ID} from '../../../constants';\n\nexport const isWorkspaceInOverflowMenu = (menuItems) => {\n\tconst overflowMenu = menuItems?.find((item) => item.id === OVERFLOW_MENU_ID);\n\tif (overflowMenu) {\n\t\t// overflow is the workspaces menu\n\t\tif (overflowMenu?.subId === MENU_WORKSPACES) return true;\n\t\t// overflow menu has workspaces menu inside of it\n\t\tif (overflowMenu?.subItems.find((item) => item.id === MENU_WORKSPACES))\n\t\t\treturn true;\n\t}\n\treturn false;\n};\n","export const PREFERENCES = {\n\tUSER_CAN_LOGOUT: 'user.can.logout',\n\tKEYBOARD_SHORTCUTS: 'glide.ui.keyboard.shortcuts.enabled'\n};\n\n// Link types\nexport const LINK_TYPES = {\n\tEMAIL_LINK_TYPE: 'email',\n\tPHONE_LINK_TYPE: 'phone',\n\tROUTE_LINK_TYPE: 'route',\n\tMODAL_LINK_TYPE: 'modal',\n\tEXTERNAL_LINK_TYPE: 'external',\n\tACTION_LINK_TYPE: 'action',\n\tVIEWPORT_MODAL_TYPE: 'viewportModal'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const USER_SETTINGS_SEND_EVENT_REQUESTED =\n\t'USER_SETTINGS#SEND_EVENT_REQUESTED';\nexport const USER_SETTINGS_MODAL_OPENED = 'USER_SETTINGS#MODAL_OPENED';\nexport const USER_SETTINGS_UPDATE_STATE = 'USER_SETTINGS#UPDATE_STATE';\n","import {sortBy} from 'lodash';\nimport {LINK_TYPES} from '../../../constants';\nimport navTo from '../../../../../utils/navTo';\n\n/**\n * Add a default icon if one hasn't been provided and if the item is an external link add the 'opens externally' icon\n */\nexport const addIconsToExperienceUserMenuItems = (experienceUserMenuItems) => {\n\tif (!experienceUserMenuItems) return experienceUserMenuItems;\n\n\treturn experienceUserMenuItems.map((i) => {\n\t\tconst icon = i.icon || 'window-outline';\n\t\tconst afterIcon =\n\t\t\ti.value?.type === LINK_TYPES.EXTERNAL_LINK_TYPE\n\t\t\t\t? 'open-link-right-outline'\n\t\t\t\t: null;\n\t\treturn {\n\t\t\t...i,\n\t\t\ticon: icon,\n\t\t\tafterIcon: afterIcon\n\t\t};\n\t});\n};\n\nexport const getExperienceUserMenuItems = (experienceUserMenu) => {\n\tconst userMenu = experienceUserMenu?.find(\n\t\t(menu) => menu.label === 'UserMenu'\n\t);\n\n\tconst experienceUserMenuItems =\n\t\taddIconsToExperienceUserMenuItems(userMenu?.value?.children) || [];\n\n\treturn sortBy(experienceUserMenuItems, ['position']);\n};\n\n/**\n * Converts the incoming screen content link into a unified menu item for display in the sn-collapsible-list\n * @param {Object} link screen content link with label, order, and url\n * @returns {Object} unified menu item\n */\nexport const linkToMenuItem = (link) => {\n\treturn {\n\t\tlabel: link.label,\n\t\torder: link.order,\n\t\troute: {\n\t\t\texternal: {\n\t\t\t\turl: navTo(link.url)\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const getSortedExperienceUserMenuItems = (experienceUserMenuItems) => {\n\t// We're handling specific types further down.\n\t// In the future, filtering out \"menu\" might be an issue if it has children that aren't a \"toggle\" type but that doesn't seem to be a common use case currently.\n\treturn getExperienceUserMenuItems(experienceUserMenuItems).filter((obj) => {\n\t\treturn (\n\t\t\t['navigation', 'divider'].includes(obj.type) &&\n\t\t\t(obj.value?.value?.href?.indexOf('/logout.do') === -1 ||\n\t\t\t\t!obj.value?.value?.href)\n\t\t);\n\t});\n};\n","export default (uri) => {\n\t// not encoded\n\tif (decodeURIComponent(uri) === uri) uri = encodeURIComponent(uri);\n\n\t// uri needs to encoded, otherwise a query param in the uri may be stripped off\n\treturn `nav_to.do?uri=${uri}`;\n};\n","import {isEmpty, sortBy} from 'lodash';\nimport {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHoverHandlers\n} from '@devsnc/unav-utils';\nimport {PREFERENCES} from '../../../constants';\nimport {\n\tBUTTON_ACTIONS,\n\tNOW_BUTTON_CLICKED,\n\tSYS_PROPS\n} from '../../../../../constants';\nimport {t} from 'sn-translate';\nimport {createRef, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport {USER_SETTINGS_MODAL_OPENED} from '../../../../../behaviors/user-settings-behavior/actions';\nimport {SCREEN_CONTENT_LINK_ITEM_SELECTED} from '../../../actions';\nimport {getFeatureSettings} from '../../../../../utils/featureSettingsSingleton';\nimport {\n\tgetSortedExperienceUserMenuItems,\n\tlinkToMenuItem\n} from './user-menu.utils';\n\n/**\n * Generic JSX to handle rendering the user menu buttons\n *\n * @param {*} {label, icon, eventSource, isVisible}\n * @returns {NowButton}\n */\nconst UserMenuButton = ({\n\tid = '',\n\tlabel,\n\ticon,\n\tafterIcon,\n\teventSource,\n\tdisabled = false,\n\ttarget,\n\tdispatch\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst buttonLabel = t(label);\n\tconst buttonRef = target || createRef();\n\treturn (\n\t\t<button\n\t\t\tdisabled={disabled}\n\t\t\tclassName={`user-menu-button ${id} keyboard-navigatable`}\n\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\taria-label={buttonLabel}\n\t\t\tref={buttonRef}\n\t\t\ton-click={(event) => {\n\t\t\t\tdispatch(NOW_BUTTON_CLICKED, {\n\t\t\t\t\tevent,\n\t\t\t\t\teventSource: eventSource,\n\t\t\t\t\ttarget: buttonRef\n\t\t\t\t});\n\t\t\t}}\n\t\t\tdata-id={id}>\n\t\t\t<div\n\t\t\t\tclassName=\"user-menu-label\"\n\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}>\n\t\t\t\t{icon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tclassName=\"user-menu-icon\"\n\t\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{buttonLabel}\n\t\t\t\t{afterIcon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={afterIcon}\n\t\t\t\t\t\tclassName=\"user-menu-icon after\"\n\t\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/button>\n\t);\n};\n\nconst renderDivider = (label) => {\n\treturn !label ? <hr aria-hidden=\"true\" /> : {label};\n};\n\nconst renderExperienceNavItem = (item, dispatch) => {\n\tconst {label, icon, afterIcon} = item;\n\n\treturn (\n\t\t<UserMenuButton\n\t\t\tid=\"experience-button\"\n\t\t\tlabel={label}\n\t\t\ticon={icon}\n\t\t\tafterIcon={afterIcon}\n\t\t\teventSource={BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED}\n\t\t\ttarget={item.value}\n\t\t\tdispatch={dispatch}\n\t\t/>\n\t);\n};\n\n/**\n * Renders out a sn-collapsible-list component with the screen content links\n * @param {any[]} screenContentLinks the list of\n * @returns {JSX.Element}\n */\nconst renderScreenContentLinks = (screenContentLinks) => {\n\tconst menu = {\n\t\tlabel: t('Configure page'),\n\t\tsubItems: sortBy(screenContentLinks.map(linkToMenuItem), ['order'])\n\t};\n\n\treturn (\n\t\t<sn-collapsible-list\n\t\t\tid=\"screen-content-links\"\n\t\t\tmenu={menu}\n\t\t\titem-interaction-dispatch-action={SCREEN_CONTENT_LINK_ITEM_SELECTED}\n\t\t/>\n\t);\n};\n\nexport const View = ({\n\tmenuData,\n\texperienceUserMenuItems = [],\n\tscreenContentLinks,\n\tdispatch\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst fullName =\n\t\tmenuData?.userMeta?.displayName ||\n\t\tmenuData?.userMeta?.fullName ||\n\t\tt('Unknown User');\n\tconst userTitle = menuData?.userMeta?.title || '';\n\tconst avatarPath = menuData?.userMeta?.avatar || '';\n\tconst presence = menuData?.userSession?.presence || '';\n\tconst isImpersonating = menuData?.userMeta?.isImpersonating || false;\n\tconst canImpersonate = menuData?.userMeta?.canImpersonate || false;\n\tconst printerFriendlyEnabled = menuData?.printerFriendlyEnabled;\n\n\t// TODO: Remove when we move the \"isEnabled\" resolving\n\t// up a layer\n\tconst impersonateButtonEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.IMPERSONATE_BUTTON_ENABLED,\n\t\ttrue\n\t);\n\tconst impersonationEnabled =\n\t\tisPolarisEnabled && impersonateButtonEnabled && canImpersonate;\n\n\tconst elevatedRoles = menuData?.elevatedRoles || [];\n\n\tconst elevateRoleEnabled =\n\t\tisPolarisEnabled &&\n\t\t!isImpersonating &&\n\t\tmenuData?.userMeta?.elevatedRoles?.length > 0;\n\n\tconst sortedExperienceUserMenuItems = getSortedExperienceUserMenuItems(\n\t\texperienceUserMenuItems\n\t);\n\n\treturn (\n\t\t<div className=\"user-menu-body\">\n\t\t\t<div\n\t\t\t\tclassName=\"user-menu-header\"\n\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}>\n\t\t\t\t<now-avatar\n\t\t\t\t\tclass={{'avatar-border': isImpersonating}}\n\t\t\t\t\timage-src={avatarPath}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tuser-name={fullName}\n\t\t\t\t\tpresence={isImpersonating ? undefined : presence}\n\t\t\t\t\tinteraction=\"button\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"user-menu-info\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<div className=\"user-name label\">{fullName}<\/div>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<div className=\"user-role user-additional-info\">{userTitle}<\/div>\n\t\t\t\t\t{isImpersonating ? (\n\t\t\t\t\t\t<div className=\"user-is-impersonating user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"eye-fill\" size=\"sm\" /> {t('Impersonating User')}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{elevatedRoles.length > 0 ? (\n\t\t\t\t\t\t<div className=\"user-is-impersonating user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"circle-arrow-up-fill\" size=\"sm\" />{' '}\n\t\t\t\t\t\t\t{elevatedRoles.length > 1\n\t\t\t\t\t\t\t\t? t('Elevated roles ({0})', elevatedRoles.length)\n\t\t\t\t\t\t\t\t: elevatedRoles[0]}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isEmpty(menuData?.contextualMenu?.instanceName) ? (\n\t\t\t\t\t\t<div className=\"instance-name user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"serverbox-outline\" size=\"sm\" />\n\t\t\t\t\t\t\t{menuData.contextualMenu.instanceName}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div className=\"user-menu-controls\">\n\t\t\t\t{isPolarisEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"profile\"\n\t\t\t\t\t\tlabel={t('Profile')}\n\t\t\t\t\t\ticon=\"user-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.PROFILE_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t<UserMenuButton\n\t\t\t\t\tid=\"preferences\"\n\t\t\t\t\tlabel={t('Preferences')}\n\t\t\t\t\ticon=\"gear-outline\"\n\t\t\t\t\teventSource={USER_SETTINGS_MODAL_OPENED}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\n\t\t\t\t{isPolarisEnabled &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.KEYBOARD_SHORTCUTS_ENABLED, true) &&\n\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\tmenuData.userPreferences,\n\t\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS\n\t\t\t\t) ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"keyboard-shortcut-modal\"\n\t\t\t\t\t\tlabel={t('Keyboard shortcuts')}\n\t\t\t\t\t\ticon=\"keyboard-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.KEYBOARD_SHORTCUT_MODAL}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{(isPolarisEnabled && isImpersonating) ||\n\t\t\t\timpersonationEnabled ||\n\t\t\t\televateRoleEnabled\n\t\t\t\t\t? renderDivider()\n\t\t\t\t\t: null}\n\n\t\t\t\t{isImpersonating ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"unimpersonate\"\n\t\t\t\t\t\tlabel={t('End impersonation')}\n\t\t\t\t\t\ticon=\"eye-slash-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.END_IMPERSONATION_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{impersonationEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"impersonateUser\"\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisImpersonating\n\t\t\t\t\t\t\t\t? t('Impersonate another user')\n\t\t\t\t\t\t\t\t: t('Impersonate user')\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon=\"eye-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.IMPERSONATE_USER_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{elevateRoleEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"elevateRole\"\n\t\t\t\t\t\tlabel={t('Elevate role')}\n\t\t\t\t\t\ticon=\"arrow-up-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.ELEVATE_ROLE_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{printerFriendlyEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"printerFriendly\"\n\t\t\t\t\t\tlabel={t('Printer friendly version')}\n\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.PRINTER_FRIENDLY_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{!isEmpty(sortedExperienceUserMenuItems) ? renderDivider() : null}\n\n\t\t\t\t{sortedExperienceUserMenuItems.map((item) => {\n\t\t\t\t\tconst {type, value} = item;\n\n\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\tcase 'navigation':\n\t\t\t\t\t\t\treturn renderExperienceNavItem(item, dispatch);\n\t\t\t\t\t\tcase 'divider':\n\t\t\t\t\t\t\treturn renderDivider(value.label);\n\t\t\t\t\t}\n\t\t\t\t})}\n\n\t\t\t\t{!isEmpty(screenContentLinks)\n\t\t\t\t\t? renderScreenContentLinks(screenContentLinks)\n\t\t\t\t\t: null}\n\t\t\t<\/div>\n\n\t\t\t<div className=\"user-menu-footer\">\n\t\t\t\t{getBooleanPreferenceValue(\n\t\t\t\t\tmenuData.userPreferences,\n\t\t\t\t\tPREFERENCES.USER_CAN_LOGOUT,\n\t\t\t\t\ttrue\n\t\t\t\t) ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{renderDivider()}\n\t\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\t\tid=\"logout\"\n\t\t\t\t\t\t\tlabel={t('Log out')}\n\t\t\t\t\t\t\ticon=\"square-arrow-left-outline\"\n\t\t\t\t\t\t\teventSource={BUTTON_ACTIONS.LOGOUT_CLICKED}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","export const SN_DRILLDOWN_LIST_TOGGLE = 'SN_DRILLDOWN_LIST#TOGGLE';\nexport const FILTER_SEARCH_UPDATED = 'NAV_PANEL_CONTENT#FILTER_SEARCH_UPDATED';\nexport const NAV_SUB_MENU_ITEM_SELECTED = 'NAV_SUB_MENU_ITEM#SELECTED';\nexport const NAV_SUB_MENU_ITEM_FAVORITED = 'NAV_SUB_MENU_ITEM#FAVORITED';\nexport const NAV_SUB_MENU_ITEM_UNFAVORITED = 'NAV_SUB_MENU_ITEM#UNFAVORITED';\nexport const NAVIGATION_REQUESTED = 'NAV_PANEL_CONTENT#NAVIGATION_REQUESTED';\nexport const SHOW_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#SHOW_TOOLTIP';\nexport const HIDE_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#HIDE_TOOLTIP';\nexport const FOCUS_FIRST_FILTERED_NAV_ITEM =\n\t'NAV_PANEL_CONTENT#FOCUS_FIRST_FILTERED_NAV_ITEM';\nexport const CLICK_FIRST_FILTERED_NAV_ITEM =\n\t'NAV_PANEL_CONTENT#CLICK_FIRST_FILTERED_NAV_ITEM';\nexport const MENU_CONTENT_FOCUSED = 'MENU_CONTENT#FOCUSED';\nexport const TOGGLE_ALL_RESULTS = 'NAV_PANEL_CONTENT#TOGGLE_ALL_RESULTS';\nexport const TOGGLE_FAVORITE_RESULTS =\n\t'NAV_PANEL_CONTENT#TOGGLE_FAVORITE_RESULTS';\nexport const TOGGLE_OTHER_RESULTS = 'NAV_PANEL_CONTENT#TOGGLE_OTHER_RESULTS';\nexport const NO_TOGGLE = 'NAV_PANEL_CONTENT#NO_TOGGLE';\nexport const SN_DRILLDOWN_SET = 'SN_DRILLDOWN_LIST#SET';\n","import {SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nexport const actionHandlers = {\n\t[SN_DRILLDOWN_LIST_TOGGLE]: ({properties: {drilled}, updateProperties}) => {\n\t\tupdateProperties({\n\t\t\tisDrilled: !drilled\n\t\t});\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_15_polaris_6_index_jsdbx_4fa519d2__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"].getFocusableNodes;\n\t\t\t\t}, [\"handleFocusFirstNode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleFocusFirstNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"].handleFocusFirstNode;\n\t\t\t\t\t} else if ('handleFocusFirstNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__.handleFocusFirstNode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_15_polaris_6_index_jsdbx_19982597__[\"default\"].handleFocusFirstNode;\n\t\t\t\t} });","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_sn-drilldown-list.scss';\nimport view from './sn-drilldown-list.view';\nimport {actionHandlers} from './sn-drilldown-list.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {LOCAL_STORAGE_KEYS} from '../../../constants';\n\nconst SN_DRILLDOWN_LIST = 'sn-drilldown-list';\ncreateCustomElement(SN_DRILLDOWN_LIST, {\n\tview,\n\tproperties: {\n\t\tmenu: {\n\t\t\tdefault: null\n\t\t},\n\t\theaderText: {\n\t\t\tdefault: null\n\t\t},\n\t\tforceFocus: {\n\t\t\tdefault: false\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tindicatorOn: {\n\t\t\tdefault: false\n\t\t},\n\t\tsource: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: SN_DRILLDOWN_LIST}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: focusBehavior}\n\t]\n});\n\nexport default SN_DRILLDOWN_LIST;\n","import '@servicenow/now-icon';\n\nimport {NAV_SUB_MENU_ITEM_SELECTED, SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\n\nexport default (state, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\tisDrilled,\n\t\t\tmenu,\n\t\t\tanimationsEnabled,\n\t\t\tdir,\n\t\t\tforceFocus,\n\t\t\tindicatorOn,\n\t\t\theaderText,\n\t\t\tsource\n\t\t}\n\t} = state;\n\n\treturn menu.subItems ? (\n\t\t<div className=\"sn-drilldown-list\" role=\"menuitem\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-drilldown-list-header': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (forceFocus) {\n\t\t\t\t\t\telm.focus();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\titem: menu,\n\t\t\t\t\t\theaderText,\n\t\t\t\t\t\tdrilled: !isDrilled,\n\t\t\t\t\t\tsource: source\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tlabel: true,\n\t\t\t\t\t\t'is-dirty': !!menu.icon\n\t\t\t\t\t}}>\n\t\t\t\t\t{/* {menu.icon ? (\n\t\t\t\t\t\t<now-icon icon={menu.icon} className=\"sn-drilldown-list-icon\" />\n\t\t\t\t\t) : null} */}\n\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t'sn-drilldown-list-icon',\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\n\t\t\t\t\t{menu.label}\n\t\t\t\t<\/span>\n\t\t\t\t{menu.hint ? <span className=\"hint\">{menu.hint}<\/span> : null}\n\t\t\t\t{indicatorOn ? <div className=\"indicator\" /> : null}\n\t\t\t\t{menu?.buttonConfig?.badgeCount ? (\n\t\t\t\t\t<now-badge\n\t\t\t\t\t\tround\n\t\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvalue={menu?.buttonConfig?.badgeCount}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{!menu?.buttonConfig?.openNewMenu ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'left' : 'right'}-outline`}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"sn-drilldown-list\" role=\"menuitem\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-drilldown-list-header': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(NAV_SUB_MENU_ITEM_SELECTED, {\n\t\t\t\t\t\titem: menu\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<span className=\"label\">\n\t\t\t\t\t{/* {menu.icon ? (\n\t\t\t\t\t\t<now-icon icon={menu.icon} className=\"sn-drilldown-list-icon\" />\n\t\t\t\t\t) : null} */}\n\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t'sn-drilldown-list-icon',\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{menu.label}\n\t\t\t\t<\/span>\n\t\t\t\t{menu.hint ? <span className=\"hint\">{menu.hint}<\/span> : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import createInteractionHandlers from './createInteractionHandlers';\nimport {SCRIPT} from '../constants';\n\nexport default (item, fn) => {\n\treturn createInteractionHandlers((e) => {\n\t\t// Let the browser open the link in a new tab or window, or if the item is a script\n\t\t// This applies to non external links. External links can still be handled by UXR and will\n\t\t// open in a new tab regardless of using CMD/CTRL.\n\t\tif (\n\t\t\t!item?.route?.external &&\n\t\t\t(e.ctrlKey || e.metaKey || e.shiftKey || item?.actionType === SCRIPT)\n\t\t)\n\t\t\treturn;\n\t\tfn(e);\n\t});\n};\n","export const SN_COLLAPSIBLE_LIST_TOGGLE = 'SN_COLLAPSIBLE_LIST#TOGGLE';\n","import {getIcon} from '@servicenow/now-icon';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nconst ICON_SIZES = {\n\tsm: {pixelSize: 12},\n\tmd: {pixelSize: 16},\n\tlg: {pixelSize: 24},\n\txl: {pixelSize: 32}\n};\n\nconst DEFAULT_ICON_SIZE = ICON_SIZES.md;\nconst DEFAULT_ICON_PIXEL_SIZE = DEFAULT_ICON_SIZE.pixelSize;\n\nexport default async function loadIcon(\n\ticonName,\n\ticonSize = DEFAULT_ICON_PIXEL_SIZE\n) {\n\treturn getIcon(`${iconName}${iconSize}`);\n}\n\n// ignoring for coverage since it's mapping to an actual element\n/* istanbul ignore next */\nexport function svgTemplate(svgPaths, className, iconType, dir = 'ltr') {\n\tif (!svgPaths) return null;\n\n\treturn (\n\t\t<svg\n\t\t\tclass={{\n\t\t\t\t'now-icon': true,\n\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t[className]: true\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\twidth: `${DEFAULT_ICON_SIZE.pixelSize}px`,\n\t\t\t\theight: `${DEFAULT_ICON_SIZE.pixelSize}px`\n\t\t\t}}\n\t\t\ticon={iconType}\n\t\t\taria-hidden=\"true\"\n\t\t\tattr-viewBox={`0 0 ${DEFAULT_ICON_SIZE.pixelSize} ${\n\t\t\t\tDEFAULT_ICON_SIZE.pixelSize\n\t\t\t}`}>\n\t\t\t<g>\n\t\t\t\t{svgPaths && svgPaths.startsWith('<')\n\t\t\t\t\t? dangerouslyCreateElementFromString(`<g>${svgPaths}<\/g>`).children\n\t\t\t\t\t: null}\n\t\t\t<\/g>\n\t\t<\/svg>\n\t);\n}\n","import '@servicenow/now-icon';\nimport isEmpty from 'lodash/isEmpty';\nimport {getProperty} from 'sn-uxpage-presource';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tcreateMenuTooltipFocusHandlers,\n\tcreateMenuTooltipHoverHandlers,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tHighlightedLabel\n} from '@devsnc/unav-utils';\nimport createMenuHrefHandlers from '../../../utils/createMenuHrefHandlers';\n\nimport {SN_COLLAPSIBLE_LIST_TOGGLE} from './actions';\nimport {\n\tICON_MAP,\n\tMENU_FAVORITES,\n\tSEPARATOR,\n\tSYS_PROPS,\n\tDEFAULT_REFERRER_POLICY\n} from '../../../constants';\n\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\n\nimport {svgTemplate} from '../utils/load-icon';\nimport {t} from 'sn-translate';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\n\nconst SeparatorItem = () => (\n\t<hr className=\"snf-collapsible-section-divider\" aria-hidden=\"true\" />\n);\n\nconst HeaderItem = ({\n\tisOpen,\n\tactions,\n\tdir,\n\tanimationsEnabled,\n\tmenu,\n\ttabIndex,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\trootMenu,\n\tparentMenu,\n\theaderIsSelectable,\n\titemInteractionDispatchAction,\n\tshowHiddenControls,\n\tsvgPaths\n}) => (\n\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t<span\n\t\tclass={{\n\t\t\t'snf-collapsible-list-header': true,\n\t\t\t'menu-item-header': true,\n\t\t\t'is-collapsed': !isOpen,\n\t\t\treversed: dir === 'rtl',\n\t\t\t'can-animate': animationsEnabled,\n\t\t\t'selected-item': menu.selected,\n\t\t\t'is-filtered': searchTerm !== ''\n\t\t}}\n\t\tdata-id={menu.id}\n\t\t{...createMenuTooltipFocusHandlers(\n\t\t\tonMouseEnterLabelItem,\n\t\t\tonMouseLeaveItem,\n\t\t\tdispatch\n\t\t)}\n\t\t{...createInteractionHandlers(() => {\n\t\t\tif (headerIsSelectable && !menu.selected && !menu.disabled) {\n\t\t\t\tdispatch(itemInteractionDispatchAction, {\n\t\t\t\t\titem: menu,\n\t\t\t\t\trootMenu\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(SN_COLLAPSIBLE_LIST_TOGGLE);\n\t\t\t}\n\t\t})}>\n\t\t<div\n\t\t\trole={'button'}\n\t\t\taria-label={menu.label}\n\t\t\taria-expanded={isOpen ? 'true' : 'false'}\n\t\t\taria-haspopup\n\t\t\taria-disabled={menu.disabled}\n\t\t\ttabindex={tabIndex}\n\t\t\tclassName=\"item-label keyboard-navigatable snf-collapsible-list-header-button\"\n\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}>\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'chevron-container': true,\n\t\t\t\t\tselectable: headerIsSelectable\n\t\t\t\t}}\n\t\t\t\ttabIndex={headerIsSelectable && !menu.disabled ? tabIndex : -1}\n\t\t\t\t{...(headerIsSelectable\n\t\t\t\t\t? createInteractionHandlers((e) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tdispatch(SN_COLLAPSIBLE_LIST_TOGGLE);\n\t\t\t\t\t  })\n\t\t\t\t\t: null)}>\n\t\t\t\t{svgTemplate(svgPaths, 'chevron', 'chevron', dir)}\n\t\t\t<\/span>\n\t\t\t<span class={{label: true, disabled: menu.disabled}}>\n\t\t\t\t{searchTerm ? (\n\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\ttext={menu.label}\n\t\t\t\t\t\tmatches={menu.match?.matches}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\tmenu.label\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t\t{menu.hint ? (\n\t\t\t\t<span className=\"hint\" style={{display: 'none'}}>\n\t\t\t\t\t{menu.hint}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t<\/div>\n\t\t{renderIcon(\n\t\t\trootMenu,\n\t\t\tparentMenu || menu,\n\t\t\tmenu,\n\t\t\tdispatch,\n\t\t\ttrue,\n\t\t\tmenu.selected,\n\t\t\tactions,\n\t\t\tshowHiddenControls\n\t\t)}\n\t<\/span>\n);\n\n/**\n * <MenuItem>\n * \t\t<CollapsibleList | Separator | Leaf>\n */\nconst MenuItem = ({\n\trootMenu,\n\tmenu,\n\titem,\n\tisOpen,\n\ttabIndex,\n\tdir,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\titemInteractionDispatchAction,\n\theaderIsSelectable,\n\tanimationsEnabled,\n\tactions,\n\tisGroup,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tif (!isEmpty(item.subItems) || isGroup) {\n\t\treturn (\n\t\t\t<sn-collapsible-list\n\t\t\t\tclass={{\n\t\t\t\t\t'nested-item': true\n\t\t\t\t}}\n\t\t\t\tactions={actions}\n\t\t\t\trootMenu={rootMenu}\n\t\t\t\tmenu={item}\n\t\t\t\tdir={dir}\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tparentMenu={menu}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tisGroup={isGroup}\n\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tlistSize={item?.subItems?.length}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (item.actionType === SEPARATOR && !item.label) {\n\t\treturn !searchTerm ? <SeparatorItem /> : null;\n\t}\n\n\treturn (\n\t\t<Leaf\n\t\t\tdispatch={dispatch}\n\t\t\titem={item}\n\t\t\tmenu={menu}\n\t\t\trootMenu={rootMenu}\n\t\t\tisOpen={isOpen}\n\t\t\ttabIndex={tabIndex}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tfilterMethod={filterMethod}\n\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\tactions={actions}\n\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\tpreventHighlight={preventHighlight}\n\t\t/>\n\t);\n};\n\nconst Leaf = ({\n\tdispatch,\n\titem,\n\tisOpen,\n\ttabIndex,\n\tmenu,\n\trootMenu,\n\tsearchTerm,\n\tfilterMethod,\n\titemInteractionDispatchAction,\n\tshouldOpenUI16TabsInsidePolaris,\n\tactions,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\tconst icon =\n\t\trootMenu?.id === MENU_FAVORITES ? ICON_MAP[item.icon] : item?.icon;\n\tconst labelIndex =\n\t\tmenu?.subItems?.findIndex(\n\t\t\t(subItem) => subItem.label === (item?.label || '')\n\t\t) ?? -1; // Provide a default value for labelIndex if menu.subItems is undefined\n\tconst ariaLabel =\n\t\t`${item?.ariaLabel || item?.label} ` +\n\t\tt('{0} of {1}', `${labelIndex + 1}`, `${menu?.subItems?.length ?? 0}`);\n\tconst referrerPolicy = getProperty(\n\t\tSYS_PROPS.REFERRER_POLICY,\n\t\tDEFAULT_REFERRER_POLICY\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'menu-item-row': true,\n\t\t\t\t'highlighted-menu-item-row':\n\t\t\t\t\t!!item.id &&\n\t\t\t\t\titem.id === rootMenu?.firstFilteredNavItem?.id &&\n\t\t\t\t\t!preventHighlight\n\t\t\t}}\n\t\t\taria-labelledby={item.id}\n\t\t\tdata-id={`${item.id}-parent`}>\n\t\t\t{/*eslint-disable-next-line jsx-a11y/role-supports-aria-props*/}\n\t\t\t<a\n\t\t\t\tclass={{\n\t\t\t\t\t'nested-item': true,\n\t\t\t\t\t'item-label': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'selected-item': item.selected,\n\t\t\t\t\t'highlighted-item':\n\t\t\t\t\t\t!!item.id &&\n\t\t\t\t\t\titem.id === rootMenu?.firstFilteredNavItem?.id &&\n\t\t\t\t\t\t!preventHighlight\n\t\t\t\t}}\n\t\t\t\tdata-id={item.id}\n\t\t\t\tid={item.id}\n\t\t\t\thref={href || null}\n\t\t\t\treferrerPolicy={referrerPolicy}\n\t\t\t\taria-label={\n\t\t\t\t\t!href ? t('{0} (opens in a new tab)', ariaLabel) : ariaLabel\n\t\t\t\t}\n\t\t\t\ttabindex={tabIndex}\n\t\t\t\ttarget={href ? '_self' : null}\n\t\t\t\t{...createMenuTooltipFocusHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\t{...createMenuHrefHandlers(item, (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!item.selected) {\n\t\t\t\t\t\tdispatch(itemInteractionDispatchAction, {\n\t\t\t\t\t\t\tpicker: rootMenu,\n\t\t\t\t\t\t\titem\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})}>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"item-icon\"\n\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t)}>\n\t\t\t\t\t{icon ? renderLeafIcon(icon, item, 'leaf-item-icon', dispatch) : null}\n\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\ttext={item.label}\n\t\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\titem.label\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t{item.hint ? <span className=\"hint\">{item.hint}<\/span> : null}\n\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t\t{renderIcon(\n\t\t\t\trootMenu,\n\t\t\t\tmenu,\n\t\t\t\titem,\n\t\t\t\tdispatch,\n\t\t\t\tisOpen,\n\t\t\t\titem.selected,\n\t\t\t\tactions,\n\t\t\t\tshowHiddenControls\n\t\t\t)}\n\t\t\t<span className=\"outline\" aria-hidden=\"true\">\n\t\t\t\t&nbsp;\n\t\t\t<\/span>\n\t\t<\/span>\n\t);\n};\n\nconst renderIcon = (\n\trootMenu,\n\tmenu,\n\titem,\n\tdispatch,\n\tisOpen,\n\tisSelected,\n\tactions = [],\n\tshowHiddenControls\n) => {\n\tif (isSelected) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'menu-action-container': true,\n\t\t\t\t\t'show-hidden-controls': showHiddenControls\n\t\t\t\t}}>\n\t\t\t\t<now-icon className=\"checkmark-icon\" icon=\"check-outline\" />\n\t\t\t<\/span>\n\t\t);\n\t}\n\n\tif (!actions?.length) return null;\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'menu-action-container': true,\n\t\t\t\t'show-hidden-controls': showHiddenControls\n\t\t\t}}>\n\t\t\t{actions.map((A) => (\n\t\t\t\t<A\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\titem={item}\n\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t/>\n\t\t\t))}\n\t\t<\/span>\n\t);\n};\n\nexport default (\n\t{\n\t\tproperties: {\n\t\t\tisOpen,\n\t\t\tactions,\n\t\t\ttabIndex,\n\t\t\trootMenu,\n\t\t\tmenu,\n\t\t\tdir,\n\t\t\tanimationsEnabled,\n\t\t\tparentMenu,\n\t\t\tsearchTerm,\n\t\t\tfilterMethod,\n\t\t\tshouldOpenUI16TabsInsidePolaris,\n\t\t\titemInteractionDispatchAction,\n\t\t\theaderIsSelectable,\n\t\t\tisGroup,\n\t\t\tshowHiddenControls,\n\t\t\tpreventHighlight\n\t\t},\n\t\tbeenOpened,\n\t\tsvgPaths\n\t},\n\tdispatch\n) => {\n\treturn !isEmpty(menu.subItems) || isGroup ? (\n\t\t<div className=\"snf-collapsible-list\">\n\t\t\t<HeaderItem\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tdir={dir}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tmenu={menu}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\trootMenu={rootMenu}\n\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\tparentMenu={parentMenu}\n\t\t\t\tactions={actions}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tsvgPaths={svgPaths}\n\t\t\t/>\n\t\t\t<div className=\"snf-collapsible-list-holder\">\n\t\t\t\t<ul\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'snf-collapsible-list-items': true,\n\t\t\t\t\t\t'is-collapsed': !isOpen,\n\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id={`${menu.id}-rows`}>\n\t\t\t\t\t{isOpen || beenOpened\n\t\t\t\t\t\t? (menu.subItems || []).map((item, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t\t\t\t\t\t\t'is-collapsible-item': true,\n\t\t\t\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdata-id={`${item.id}-row`}\n\t\t\t\t\t\t\t\t\taria-setsize={index + 1}\n\t\t\t\t\t\t\t\t\taria-posinset={menu?.subItems?.length}>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tactions={actions}\n\t\t\t\t\t\t\t\t\t\tisOpen={isOpen ? item.open || !isEmpty(searchTerm) : isOpen}\n\t\t\t\t\t\t\t\t\t\ttabIndex={isOpen ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\t\titemInteractionDispatchAction={\n\t\t\t\t\t\t\t\t\t\t\titemInteractionDispatchAction\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisGroup={item.isGroup}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t  ))\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<ul className=\"sn-polaris-nav-list-items\" role=\"presentation\">\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t\t}}\n\t\t\t\trole=\"presentation\">\n\t\t\t\t<Leaf\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\tmenu={rootMenu}\n\t\t\t\t\titem={menu}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\tisOpen\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\t\tactions={actions}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/li>\n\t\t<\/ul>\n\t);\n};\n","export const BEHAVIOR_NAME = 'MENU_MODIFIER';\nexport const X_FLUSHSTAMP = 'x-flushstamp';\nexport const X_MENU_DATA_CURRENT = 'x-menu-data-current';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const MENU_ENTRY_ADDED = `${BEHAVIOR_NAME}#MENU_ENTRY_ADDED`;\nexport const MENU_ENTRIES_UPDATED = `${BEHAVIOR_NAME}#MENU_ENTRIES_UPDATED`;\nexport const MENU_ENTRY_REMOVED = `${BEHAVIOR_NAME}#MENU_ENTRY_REMOVED`;\nexport const REPLACE_MENU_SUBITEMS = `${BEHAVIOR_NAME}#REPLACE_MENU_SUBITEMS`;\nexport const MENU_REFRESH_REQUESTED = `${BEHAVIOR_NAME}#MENU_REFRESH_REQUESTED`;\nexport const MANUAL_MENU_REFRESH_REQUESTED = `${BEHAVIOR_NAME}#MANUAL_MENU_REFRESH_REQUESTED`;\nexport const MENU_REFRESH_REQUEST_SUCCEEDED = `${BEHAVIOR_NAME}#MENU_REFRESH_REQUEST_SUCCEEDED`;\n\nexport const MENU_HEADERS_UPDATE_REQUESTED = `${BEHAVIOR_NAME}#MENU_HEADERS_UPDATE_REQUESTED`;\nexport const MENU_LOADED = `${BEHAVIOR_NAME}#MENU_LOADED`;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t}, [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"getMetricTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t\t} else if ('getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getMetricTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","import {METRICS} from '../constants';\nimport {\n\tmark,\n\tdefineMetric,\n\tgetMetricTypes,\n\tgetInteractionId\n} from '@servicenow/ui-metrics';\n\nconst metricTypes = getMetricTypes();\nfor (const k in METRICS) {\n\tif (!metricTypes[METRICS[k]]) defineMetric(METRICS[k], 5);\n}\n\nexport default function track(\n\tcoeffects,\n\teventName,\n\tmetadata = {},\n\ttype = 'usage'\n) {\n\tconst {\n\t\thost,\n\t\taction: {meta = {}}\n\t} = coeffects;\n\tconst interactionId = getInteractionId(meta) || '';\n\tmark(host, interactionId, eventName, metadata, type);\n}\n\nexport function sendFeedback(coeffects, eventName, metadata = {}) {\n\ttrack(coeffects, eventName, metadata, 'all');\n}\n","import {SN_COLLAPSIBLE_LIST_TOGGLE} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {MENU_ENTRIES_UPDATED} from '../../../behaviors/menu-modifier-behavior/actions';\nimport {\n\tMENU_ALL,\n\tSEPARATOR,\n\tUSER_PREF_UPDATED,\n\tMETRICS\n} from '../../../constants';\nimport {isNil} from 'lodash';\nimport track from '../../../utils/track';\nimport loadIcon from '../utils/load-icon';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {updateState} = coeffects;\n\t\t\tloadIcon('chevronDownOutline').then((chevronDownPaths) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'svgPaths',\n\t\t\t\t\tvalue: chevronDownPaths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\t[SN_COLLAPSIBLE_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {rootMenu, menu, isOpen},\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (rootMenu) {\n\t\t\t\tconst name =\n\t\t\t\t\trootMenu?.id === MENU_ALL\n\t\t\t\t\t\t? menu?.actionType === SEPARATOR\n\t\t\t\t\t\t\t? `collapse.section.${menu.id}`\n\t\t\t\t\t\t\t: `menu.${menu.id}.expanded`\n\t\t\t\t\t\t: `favorite.${menu.id}.expanded`;\n\n\t\t\t\tconst value = menu?.actionType === SEPARATOR ? isOpen : !isOpen;\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\n\t\t\t\t// if root menu has an index, then we are in overflow and should not update menu entries otherwise the menu will disappear\n\t\t\t\tif (isNil(rootMenu.index)) {\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: [menu.id],\n\t\t\t\t\t\tmenuId: rootMenu.id,\n\t\t\t\t\t\tkey: 'open',\n\t\t\t\t\t\tvalue: !isOpen,\n\t\t\t\t\t\tdeepClone: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.TOGGLE_MENU_ITEM_DROPDOWN, {expanded: !isOpen});\n\n\t\t\tupdateProperties({\n\t\t\t\tisOpen: !isOpen\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'beenOpened',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tupdateProperties,\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (name === 'searchTerm' && value !== '') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisOpen: true\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'beenOpened',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","export const BEHAVIOR_NAME = 'EDIT_MENU_BEHAVIOR';\n\n//action\nexport const MENU_EDIT_INITIATED = 'MENU#EDIT_INITIATED';\n\nexport const SYS_APP_APPLICATION = 'sys_app_application';\nexport const SYS_APP_MODULE = 'sys_app_module';\n","export const CLOSE_MENUS = 'POLARIS#CLOSE_MENUS';\nexport const CLOSE_POPOVERS = 'POLARIS#CLOSE_POPOVERS';\nexport const CLOSE_MODALS = 'POLARIS#CLOSE_MODALS';\nexport const PRE_SHORTCUT_CLEANUP_REQUESTED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_REQUESTED';\nexport const PRE_SHORTCUT_CLEANUP_SUCCEEDED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_SUCCEEDED';\nexport const PRE_SHORTCUT_CLEANUP_FAILED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_FAILED';\nexport const CLOSE_CONTEXTUAL_MENU = 'POLARIS#CLOSE_CONTEXTUAL_MENU';\nexport const MAIN_MENU_PINNED = 'MAIN_MENU#PINNED';\nexport const CONTEXTUAL_MENU_PINNED = 'CONTEXTUAL_MENU#PINNED';\nexport const TAB_PRIMARY_SELECTED = 'TAB_PRIMARY#SELECTED';\nexport const CONTEXTUAL_MENU_SELECTED = 'CONTEXTUAL_MENU#SELECTED';\nexport const TOOL_MENU_SELECTED = 'TOOL_MENU#SELECTED';\nexport const MENU_PIN_STATE_CHANGED = 'MENU_PIN#STATE_CHANGE';\nexport const OVERFLOW_MENU_ITEMS_CHANGED = 'OVERFLOW_MENU#ITEMS_CHANGED';\nexport const ROUTE_MAP_UPDATED = 'ROUTE_MAP_UPDATED';\nexport const NOTIFICATION_DATA_UPDATED = 'NOTIFICATION_DATA_UPDATED';\nexport const MAIN_CONTENT_FOCUSED = 'POLARIS#MAIN_CONTENT_FOCUSED';\nexport const MAIN_CONTENT_FOCUSED_REQUESTED =\n\t'POLARIS#MAIN_CONTENT_FOCUSED_REQUESTED';\nexport const ALL_MENU_TOGGLED = 'POLARIS#ALL_MENU_TOGGLED';\nexport const ALL_MENU_FOCUSED = 'POLARIS#ALL_MENU_FOCUSED';\nexport const ALL_MENU_FOCUSED_REQUESTED = 'POLARIS#ALL_MENU_FOCUSED_REQUESTED';\nexport const FAVORITES_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#FAVORITES_MENU_FOCUSED_REQUESTED';\nexport const HISTORY_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#HISTORY_MENU_FOCUSED_REQUESTED';\nexport const WORKSPACES_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#WORKSPACES_MENU_FOCUSED_REQUESTED';\nexport const NOTIFICATIONS_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#NOTIFICATIONS_MENU_FOCUSED_REQUESTED';\nexport const OPEN_FRAME_FOCUSED_REQUESTED =\n\t'POLARIS#OPEN_FRAME_FOCUSED_REQUESTED';\nexport const WINDOW_RESIZED = 'WINDOW_RESIZED';\nexport const FEEDBACK_FORM_BUTTON_CLICKED = 'FEEDBACK_FORM_BUTTON_CLICKED';\nexport const OPEN_UTILITY_MENU = 'OPEN_UTILITY_MENU';\nexport const TOGGLE_UTILITY_MENU = 'TOGGLE_UTILITY_MENU';\nexport const APPLICATION_PICKER_FOCUSED = 'POLARIS#APPLICATION_PICKER_FOCUSED';\nexport const DOMAIN_PICKER_FOCUSED = 'POLARIS#DOMAIN_PICKER_FOCUSED';\nexport const UPDATE_SET_PICKER_FOCUSED = 'POLARIS#UPDATE_SET_PICKER_FOCUSED';\nexport const IMPERSONATION_OPEN_REQUESTED =\n\t'POLARIS#IMPERSONATION_OPEN_REQUESTED';\nexport const HELP_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#HELP_MENU_FOCUSED_REQUESTED';\nexport const NOW_ASSIST_PANEL_FOCUSED_REQUESTED =\n\t'POLARIS#NOW_ASSIST_PANEL_FOCUSED_REQUESTED';\nexport const VOICE_INPUT_PANEL_FOCUSED_REQUESTED =\n\t'POLARIS#VOICE_INPUT_PANEL_FOCUSED_REQUESTED';\nexport const MENU_FOCUSED = 'POLARIS#MENU_FOCUSED';\nexport const OPEN_LANDING_PAGE_REQUESTED =\n\t'POLARIS#OPEN_LANDING_PAGE_REQUESTED';\nexport const USER_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#USER_MENU_FOCUSED_REQUESTED';\nexport const CHAT_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#CHAT_MENU_FOCUSED_REQUESTED';\nexport const ADMIN_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#ADMIN_MENU_FOCUSED_REQUESTED';\nexport const TOOLBAR_FOCUSED_REQUESTED = 'POLARIS#TOOLBAR_FOCUSED_REQUESTED';\nexport const FAVORITE_CURRENT_PAGE_REQUESTED =\n\t'POLARIS#FAVORITE_CURRENT_PAGE_REQUESTED';\nexport const FAVORITE_TOGGLE_CURRENT_PAGE =\n\t'POLARIS#FAVORITE_TOGGLE_CURRENT_PAGE';\nexport const KEYBOARD_BEHAVIOR_MODAL_OPENED =\n\t'KEYBOARD_SHORTCUTS_BEHAVIOR#MODAL_OPENED';\nexport const EXPEREIENCE_TITLE_RESIZED = 'EXPEREIENCE_TITLE_RESIZED';\nexport const TOGGLE_WIDE_MENU = 'POLARIS#TOGGLE_WIDE_MENU';\nexport const REGISTER_WINDOW_MANAGER = 'POLARIS#REGISTER_WINDOW_MANAGER';\n","import {\n\tBEHAVIOR_NAME,\n\tMENU_EDIT_INITIATED,\n\tSYS_APP_APPLICATION,\n\tSYS_APP_MODULE\n} from '../constants';\nimport {\n\tCLASSIC,\n\tMENU_ALL,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT\n} from '../../../../constants';\nimport {CLOSE_MENUS} from '../../../sn-polaris-layout/actions';\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[MENU_EDIT_INITIATED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {rootMenu, item}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst table =\n\t\t\t\t\trootMenu.id === MENU_ALL && item.subItems\n\t\t\t\t\t\t? SYS_APP_APPLICATION\n\t\t\t\t\t\t: SYS_APP_MODULE;\n\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: `${table}.do?sys_id=${item.id}`\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_sn-collapsible-list.scss';\nimport view from './sn-collapsible-list.view';\nimport {actionHandlers} from './sn-collapsible-list.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport editMenuBehavior from '../editMenu/edit-menu-behavior';\nimport {NAV_SUB_MENU_ITEM_SELECTED} from '../actions';\nimport {LOCAL_STORAGE_KEYS} from '../../../constants';\n\nconst SN_COLLAPSIBLE_LIST = 'sn-collapsible-list';\ncreateCustomElement(SN_COLLAPSIBLE_LIST, {\n\tview,\n\tproperties: {\n\t\tisOpen: {\n\t\t\tdefault: false\n\t\t},\n\t\tactions: {\n\t\t\tschema: {type: 'array'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: []\n\t\t},\n\t\ttabIndex: {\n\t\t\tdefault: 0\n\t\t},\n\t\trootMenu: {\n\t\t\tdefault: null\n\t\t},\n\t\tmenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tparentMenu: {\n\t\t\tdefault: null\n\t\t},\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tfilterMethod: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tshouldOpenUI16TabsInsidePolaris: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\theaderIsSelectable: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\titemInteractionDispatchAction: {\n\t\t\tdefault: NAV_SUB_MENU_ITEM_SELECTED,\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tisGroup: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tpreventHighlight: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t}\n\t},\n\tinitialState: {\n\t\tbeenOpened: false,\n\t\tsvgPaths: null\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: SN_COLLAPSIBLE_LIST}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: editMenuBehavior},\n\t\t{behavior: focusBehavior}\n\t],\n\tstyles\n});\n\nexport default SN_COLLAPSIBLE_LIST;\n","export const CONCOURSE_PICKER_CLICKED = 'POLARIS#CONCOURSE_PICKER_CLICKED';\nexport const CONCOURSE_PICKER_ITEM_SELECTED = 'CONCOURSE_PICKER#ITEM_SELECTED';\nexport const CONCOURSE_PICKER_OPEN_RECORD_CLICKED =\n\t'CONCOURSE_PICKER#OPEN_RECORD_CLICKED';\nexport const CONCOURSE_PICKER_SEARCH_TEXT_ENTERED =\n\t'CONCOURSE_PICKER#SEARCH_TEXT_ENTERED';\nexport const CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED =\n\t'CONCOURSE_PICKER#SEARCH_INPUT_FOCUS_CHANGED';\nexport const CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED =\n\t'CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED';\nexport const CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED =\n\t'CONCOURSE_PICKER#DRILLDOWN_BUTTON_CLICKED';\n","export const DOMAIN_CHANGE_REQUESTED = 'DOMAIN#CHANGE_REQUESTED';\nexport const DOMAIN_CHANGE_SUCCEEDED = 'DOMAIN#CHANGE_SUCCEEDED';\nexport const DOMAIN_RESET_REQUESTED = 'DOMAIN#RESET_REQUESTED';\nexport const DOMAIN_UPDATE_REQUESTED = 'DOMAIN_UPDATE_REQUESTED';\nexport const DOMAIN_SEARCH_REQUESTED = 'DOMAIN#SEARCH_REQUESTED';\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport noop from 'lodash/noop';\n\nimport '@servicenow/now-icon';\n\nimport {\n\tcreateMenuTooltipHandlers,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem\n} from '@devsnc/unav-utils';\nimport createInteractionHandlers from '../../utils/createInteractionHandlers';\n\nexport function FilterInput({\n\tanimationsEnabled = false,\n\tonInput = noop,\n\tonKeyDown = noop,\n\tonFocus = noop,\n\tonBlur = noop,\n\tonInputClear = noop,\n\thasFocus,\n\tdispatch,\n\tmenu\n}) {\n\tconst inputRef = createRef();\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-filter': true,\n\t\t\t\t'can-animate': animationsEnabled\n\t\t\t}}>\n\t\t\t<label htmlFor=\"filter\" className=\"now-a11y-label\">\n\t\t\t\t{t('Enter search term to filter {0} menu', menu.label)}\n\t\t\t<\/label>\n\t\t\t<input\n\t\t\t\tid=\"filter\"\n\t\t\t\tref={inputRef}\n\t\t\t\tclass={{\n\t\t\t\t\t'navigation-filter': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'has-focus': hasFocus\n\t\t\t\t}}\n\t\t\t\ttype=\"text\"\n\t\t\t\tplaceholder={t('Filter')}\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\ton-input={onInput}\n\t\t\t\ton-keydown={onKeyDown}\n\t\t\t\ton-focus={onFocus}\n\t\t\t\ton-blur={(e) => {\n\t\t\t\t\t// We're not really blurring away from the input\n\t\t\t\t\t// if we're focusing on the clear button\n\t\t\t\t\t// DEF0221475:\n\t\t\t\t\t// safari on iOS doesn't treat <button> as something that can be focused and so e.relatedTarget will always be null even when focus goes to the clear input <button>.\n\t\t\t\t\t// In that case we don't want to call onBlur because it break clearing the filter (in safari).\n\t\t\t\t\tif (\n\t\t\t\t\t\te.relatedTarget !== null &&\n\t\t\t\t\t\t!e.relatedTarget.classList.contains('input-clear')\n\t\t\t\t\t) {\n\t\t\t\t\t\tonBlur(e);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tdata-id={`filter-input-${menu.id}`}\n\t\t\t/>\n\t\t\t<now-icon icon=\"filter-outline\" size=\"md\" />\n\t\t\t<button\n\t\t\t\tid={`filter-input-button-${menu.id}`}\n\t\t\t\tclass={{\n\t\t\t\t\t'input-clear': true,\n\t\t\t\t\t'container-has-focus': hasFocus\n\t\t\t\t}}\n\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tconst input = inputRef.current;\n\t\t\t\t\t\tinput.value = '';\n\t\t\t\t\t\tinput.focus();\n\n\t\t\t\t\t\tonInputClear();\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t\t['on-mousedown']\n\t\t\t\t)}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\taria-label={t('Clear filter')}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<now-icon icon=\"circle-close-outline\" size=\"md\" />\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n}\n","export const SN_DRILLDOWN_LIST_SOURCES = {\n\tCOUNCOURSE_PICKER: 'concoursePicker',\n\tMAIN_OVERFLOW_MENU: 'mainOverflowMenu',\n\tUTILITY_OVERFLOW_MENU: 'utilityOverflowMenu'\n};\n","import {debounce, get, isEmpty, kebabCase} from 'lodash';\nimport '../../../../sn-polaris-menu/sn-drilldown-list';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport '../../../../sn-polaris-menu/sn-collapsible-list';\nimport createInteractionHandlers from '../../../../../utils/createInteractionHandlers';\nimport {\n\tCONCOURSE_PICKER_ITEM_SELECTED,\n\tCONCOURSE_PICKER_OPEN_RECORD_CLICKED,\n\tCONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED,\n\tCONCOURSE_PICKER_SEARCH_TEXT_ENTERED,\n\tCONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED\n} from '../../.././../../behaviors/concourse-picker-behavior/actions';\nimport {\n\tDOMAIN_RESET_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from '../../../../../behaviors/domain-behavior/actions';\nimport {t} from 'sn-translate';\n\nimport {FilterInput} from '../../../../filter-input';\nimport {\n\tINCLUDES,\n\tHighlightedLabel,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tonMouseEnterIconItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../../../sn-polaris-layout/actions';\nimport {NAV_ITEM_SELECTED, SYS_PROPS} from '../../../../../constants';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../../../../sn-polaris-menu/sn-drilldown-list/constants';\nimport {\n\tgetSelectedMenuData,\n\tgetSelectedPicker,\n\tfilterInactiveRecentItems\n} from './concourse-pickers.utils';\n\nconst Loader = ({dispatch}) => (\n\t<div\n\t\thook-insert={({elm}) => {\n\t\t\tconst observer = new IntersectionObserver((entries) => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {\n\t\t\t\t\t\t\tfromScrolling: true\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tobserver.observe(elm);\n\t\t}}\n\t\tstyle={{height: '1px'}}\n\t/>\n);\n\nexport const View = ({\n\tcontextualMenu,\n\treversed,\n\tdispatch,\n\tcanAnimate,\n\tuserPreferences\n}) => {\n\tconst drilldownItems = get(contextualMenu, 'menuData.drilldownListItems', []);\n\tconst searchTerm = get(contextualMenu, 'menuData.searchTerm', '');\n\tconst headerText = contextualMenu?.headerText ?? '';\n\n\tconst {selectedPicker, singlePicker} = getSelectedPicker({\n\t\tcontextualMenu,\n\t\tdrilldownItems\n\t});\n\n\tconst {\n\t\tselectedMenu,\n\t\tselectedItem,\n\t\topenRecordTarget,\n\t\tshowCollapsibleList,\n\t\tcreateNewUpdateSet\n\t} = getSelectedMenuData({selectedPicker, contextualMenu, drilldownItems});\n\n\t// get data for all recently selected picker items from user pref. stored as a stringified JSON object\n\tconst recentSelectionsPreference = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\t\t'{}'\n\t\t)\n\t);\n\t// get recently selected items data for current picker\n\tlet currentPickerItems = recentSelectionsPreference[(selectedMenu?.id)];\n\n\t// if current picker is update-set, we need to get recent selections for currently selection application\n\tif (selectedPicker && selectedPicker === 'update-set' && currentPickerItems) {\n\t\tconst selectedApp = get(contextualMenu, 'menuData.currentApplication', '');\n\t\tcurrentPickerItems = currentPickerItems[selectedApp];\n\t}\n\n\t// trim inactive recent items from the list\n\tcurrentPickerItems = filterInactiveRecentItems(\n\t\tselectedMenu,\n\t\tcurrentPickerItems\n\t);\n\n\t// boolean to let us hide the recently selection items section from the UI\n\tconst showRecentSelections =\n\t\tcurrentPickerItems && currentPickerItems.length > 0 && searchTerm === '';\n\tconst inOverflow = contextualMenu.drilledMenu?.id === 'concourse-pickers';\n\n\tswitch (selectedPicker) {\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'concourse-pickers-body': true,\n\t\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\taria-label={headerText}>\n\t\t\t\t\t{drilldownItems.length === 0 ? (\n\t\t\t\t\t\t<div className=\"loader\">\n\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{drilldownItems.map((item) => (\n\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t[item.id]: true,\n\t\t\t\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tforce-focus={\n\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t'menuData.lastOpenPicker',\n\t\t\t\t\t\t\t\t\tinOverflow ? '' : 'application'\n\t\t\t\t\t\t\t\t) === item.id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tid: 'concoursePickers',\n\t\t\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmenu={item}\n\t\t\t\t\t\t\theaderText={headerText}\n\t\t\t\t\t\t\tanimations-enabled={canAnimate}\n\t\t\t\t\t\t\tindicator-on={item.indicator === true}\n\t\t\t\t\t\t\tdata-id={`pickers-list-${item.id}`}\n\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\tcase 'application':\n\t\tcase 'update-set':\n\t\tcase 'domain':\n\t\tcase 'encryption-contexts':\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'concourse-pickers-body': true,\n\t\t\t\t\t\t'can-animate-reverse': canAnimate === true && !singlePicker\n\t\t\t\t\t}}>\n\t\t\t\t\t<div className=\"concourse-picker-header\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"header-label\"\n\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t{!singlePicker ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"go-back-button\"\n\t\t\t\t\t\t\t\t\taria-labelledby={`go_back_button`}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\t\tif (!singlePicker) {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"chevron\"\n\t\t\t\t\t\t\t\t\t\ticon={`chevron-${reversed ? 'right' : 'left'}-outline`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span id=\"go_back_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t\t{t('Back to pickers')}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"label\">{selectedMenu?.label}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{selectedMenu?.sideIcon ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"open-list-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`open_list_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, selectedMenu.sideIconRoute);\n\t\t\t\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon={selectedMenu.sideIcon} />\n\t\t\t\t\t\t\t\t<span id=\"open_list_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Open list')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{openRecordTarget ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"open-record-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`open_record_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (singlePicker) {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_OPEN_RECORD_CLICKED, {\n\t\t\t\t\t\t\t\t\t\ttarget: openRecordTarget\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon=\"document-template-outline\" />\n\t\t\t\t\t\t\t\t<span id=\"open_record_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Open record')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : get(contextualMenu, 'menuData.domainIndicator', false) ||\n\t\t\t\t\t\t  getBooleanProperty(\n\t\t\t\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t\t\t  ) ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"reset-default-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`reset_default_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (singlePicker) {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tdispatch(DOMAIN_RESET_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\tpicker: 'domain',\n\t\t\t\t\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\t\t\t\t\tid: get(\n\t\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\t\t'menuData.defaultDomain',\n\t\t\t\t\t\t\t\t\t\t\t\t'global'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon=\"arrow-counterclockwise-outline\" />\n\t\t\t\t\t\t\t\t<span id=\"reset_default_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Reset to default')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{createNewUpdateSet ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"create-updateset-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`create_updateset_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_OPEN_RECORD_CLICKED, {\n\t\t\t\t\t\t\t\t\t\ttarget: createNewUpdateSet\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon={'plus-outline'} />\n\t\t\t\t\t\t\t\t<span id=\"create_updateset_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Create new update set')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<FilterInput\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tanimationsEnabled={canAnimate}\n\t\t\t\t\t\thasFocus={contextualMenu.inputHasFocus}\n\t\t\t\t\t\tmenu={selectedMenu}\n\t\t\t\t\t\tonFocus={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED, {\n\t\t\t\t\t\t\t\tfocus: true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED, {\n\t\t\t\t\t\t\t\tfocus: false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonInput={debounce(\n\t\t\t\t\t\t\t(event, target) => {\n\t\t\t\t\t\t\t\tconst term = target.elm.value;\n\n\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_TEXT_ENTERED, {\n\t\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\t\tsearchTerm: term\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tselectedPicker === 'domain' &&\n\t\t\t\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED)\n\t\t\t\t\t\t\t\t? 500\n\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonInputClear={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_TEXT_ENTERED, {\n\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\tsearchTerm: ''\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\tif (e.key === 'Enter') {\n\t\t\t\t\t\t\t\tif (contextualMenu.menuData.firstFilteredItem) {\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\t\t\titem: contextualMenu.menuData.firstFilteredItem\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<div\n\t\t\t\t\t\thook-insert={() => {\n\t\t\t\t\t\t\t// When the domain_reference_picker.enabled is true,\n\t\t\t\t\t\t\t// the domain data is only fetched when the domain picker is opened\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tselectedPicker === 'domain' &&\n\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tisEmpty(selectedMenu.subItems)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {search: ''});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'in-overflow': inOverflow,\n\t\t\t\t\t\t\t'item-container': true\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"listbox\">\n\t\t\t\t\t\t{showRecentSelections ? (\n\t\t\t\t\t\t\t<div className=\"recentSelections\">\n\t\t\t\t\t\t\t\t<div className=\"recentSelectionsHeader\">\n\t\t\t\t\t\t\t\t\t{t('Recent Selections')}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"recentSelectionsList\"\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\taria-label={t('Recent Selections List')}>\n\t\t\t\t\t\t\t\t\t{currentPickerItems.map((item) =>\n\t\t\t\t\t\t\t\t\t\tmenuItemView({\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\t\t\t\tselectedPicker,\n\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\t\thighlightSelectedItem: true\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\taria-label={`${selectedMenu?.label.substring(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tselectedMenu?.label.indexOf(':')\n\t\t\t\t\t\t\t)} List`}>\n\t\t\t\t\t\t\t{showCollapsibleList ? (\n\t\t\t\t\t\t\t\tselectedMenu.subItems.map((m) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<sn-collapsible-list\n\t\t\t\t\t\t\t\t\t\t\tis-open\n\t\t\t\t\t\t\t\t\t\t\trootMenu=\"domain\"\n\t\t\t\t\t\t\t\t\t\t\tmenu={m}\n\t\t\t\t\t\t\t\t\t\t\tanimations-enabled={canAnimate}\n\t\t\t\t\t\t\t\t\t\t\tsearch-term={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\tfilter-method={INCLUDES}\n\t\t\t\t\t\t\t\t\t\t\theader-is-selectable\n\t\t\t\t\t\t\t\t\t\t\titem-interaction-dispatch-action={\n\t\t\t\t\t\t\t\t\t\t\t\tCONCOURSE_PICKER_ITEM_SELECTED\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t{selectedMenu.subItems?.map((item) =>\n\t\t\t\t\t\t\t\t\t\tmenuItemView({\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\t\t\t\tselectedPicker,\n\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\t\thighlightSelectedItem: !showRecentSelections\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{selectedMenu.subItems?.length &&\n\t\t\t\t\t\t\t\t\tselectedPicker === 'domain' ? (\n\t\t\t\t\t\t\t\t\t\t<Loader dispatch={dispatch} />\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t);\n\t}\n};\n\nconst menuItemView = ({\n\titem,\n\tselectedItem,\n\tselectedPicker,\n\tcontextualMenu,\n\tdispatch,\n\tsearchTerm,\n\thighlightSelectedItem\n}) => {\n\tconst isSelected =\n\t\t(item.sysId === selectedItem || item.id === selectedItem) &&\n\t\thighlightSelectedItem;\n\tconst isHighlightedItem =\n\t\t(item.sysId &&\n\t\t\tcontextualMenu.menuData.firstFilteredItem?.sysId === item.sysId) ||\n\t\t(item.id && contextualMenu.menuData.firstFilteredItem?.id === item.id);\n\tlet itemName = item.name || item.label;\n\tif (item.path) {\n\t\titemName = item.path.replace(' -> ', '/') + '/' + item.name;\n\t}\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'picker-item': true,\n\t\t\t\tselected: isSelected,\n\t\t\t\t[`name-${kebabCase(item.name)}`]: true,\n\t\t\t\t[`id-${item.sysId || item.id}`]: true,\n\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t'is-filtered': searchTerm !== '',\n\t\t\t\t'highlighted-item': isHighlightedItem\n\t\t\t}}\n\t\t\trole=\"option\"\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex=\"0\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tif (!isSelected) {\n\t\t\t\t\tdispatch(CONCOURSE_PICKER_ITEM_SELECTED, {\n\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\titem\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})}>\n\t\t\t<div className=\"label-and-description\">\n\t\t\t\t<span className=\"label\">\n\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\ttext={itemName}\n\t\t\t\t\t\t\tsearch={searchTerm}\n\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\tfilterMethod={INCLUDES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\titemName\n\t\t\t\t\t)}\n\t\t\t\t<\/span>\n\t\t\t\t{item.description ? (\n\t\t\t\t\t<span className=\"description\">{item.description}<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t\t{isSelected ? <now-icon icon=\"check-outline\" /> : null}\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './style.scss';\n","import {get} from 'lodash';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../../../../../constants';\n\nexport const getSelectedPicker = ({contextualMenu, drilldownItems}) => {\n\tlet singlePicker, selectedPicker;\n\tif (get(contextualMenu, 'menuData.directPicker')) {\n\t\tsinglePicker = true;\n\t\tselectedPicker = get(contextualMenu, 'menuData.selectedPicker');\n\t} else if (drilldownItems.length === 1) {\n\t\tsinglePicker = true;\n\t\tselectedPicker = drilldownItems[0].id;\n\t} else {\n\t\tselectedPicker = get(contextualMenu, 'menuData.selectedPicker');\n\t}\n\treturn {selectedPicker, singlePicker};\n};\n\nexport const getSelectedMenuData = ({\n\tselectedPicker,\n\tdrilldownItems,\n\tcontextualMenu\n}) => {\n\tif (!selectedPicker) return {};\n\n\tlet openRecordTarget, createNewUpdateSet, selectedItem, showCollapsibleList;\n\n\tconst selectedMenu = drilldownItems.find(({id}) => id === selectedPicker);\n\tif (selectedPicker === 'application') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentApplication.sysId', '');\n\t\topenRecordTarget = `sys_scope.do?sys_id=${selectedItem}`;\n\t} else if (selectedPicker === 'update-set') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentUpdateSet.sysId', '');\n\t\topenRecordTarget = `sys_update_set.do?sys_id=${selectedItem}`;\n\t\tcreateNewUpdateSet = `sys_update_set.do`;\n\t} else if (selectedPicker === 'domain') {\n\t\tconst isReferencePickerEnabled = getBooleanProperty(\n\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED,\n\t\t\tfalse\n\t\t);\n\t\tselectedItem = get(\n\t\t\tcontextualMenu,\n\t\t\tisReferencePickerEnabled\n\t\t\t\t? 'menuData.currentDomain.id'\n\t\t\t\t: 'menuData.currentDomain.label',\n\t\t\t''\n\t\t);\n\t\tshowCollapsibleList = !isReferencePickerEnabled;\n\t} else if (selectedPicker === 'encryption-contexts') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentEncryptionContext', '');\n\t}\n\n\treturn {\n\t\tselectedMenu,\n\t\topenRecordTarget,\n\t\tcreateNewUpdateSet,\n\t\tselectedItem,\n\t\tshowCollapsibleList\n\t};\n};\n\nexport const filterInactiveRecentItems = (\n\tselectedMenu = {},\n\trecentItems = []\n) => {\n\tconst gatherActiveIds = (menu) => {\n\t\tconst ids = new Set();\n\n\t\tconst traverseMenu = (item) => {\n\t\t\tif (item.id || item.sysId) ids.add(item.id || item.sysId);\n\t\t\tif (item.subItems && item.subItems.length > 0) {\n\t\t\t\titem.subItems.forEach((subItem) => traverseMenu(subItem));\n\t\t\t}\n\t\t};\n\n\t\ttraverseMenu(menu);\n\t\treturn ids;\n\t};\n\n\tconst activeIds = gatherActiveIds(selectedMenu);\n\n\treturn recentItems.filter((item) => activeIds.has(item.id || item.sysId));\n};\n","export const TEST_USER_IMPERSONATED =\n\t'POLARIS_IMPERSONATION#TEST_USER_IMPERSONATED';\nexport const IMPERSONATION_MODAL_OPENED =\n\t'POLARIS_IMPERSONATION#IMPERSONATION_MODAL_OPENED';\nexport const END_IMPERSONATION_REQUESTED =\n\t'POLARIS_IMPERSONATION#END_IMPERSONATION_REQUESTED';\nexport const CANVAS_GLOBAL_ERROR = 'CANVAS_GLOBAL_ERROR';\n","import {getFeatureSettings} from './featureSettingsSingleton';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nexport default function getBooleanPropertyWhenPolarisEnabled(\n\tpropertyName,\n\tdefaultValue = false\n) {\n\tconst isPolarisEnabled = getFeatureSettings().isPolarisEnabled;\n\n\treturn isPolarisEnabled && getBooleanProperty(propertyName, defaultValue);\n}\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MENUS,\n\tOVERFLOW_MENU_ITEMS_CHANGED\n} from '../../sn-polaris-layout/actions';\n\nimport {\n\tMINIMUM_NAV_PADDING,\n\tMINIMUM_LOGO_PADDING,\n\tMINIMUM_OVERFLOW_TAB_WIDTH,\n\tMAIN_TAB_MARGIN,\n\tUTILITY_MENU_OVERFLOW_DATA_UPDATED,\n\tUTILITY_MENU_MARGIN,\n\tUTILITY_BUTTON_PADDING,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS,\n\tUTILITY_OVERFLOW_MENU_ID\n} from '../../../constants';\nimport getBooleanPropertyWhenPolarisEnabled from '../../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\n\n/**\n * Set the proper transformX for each tab item inside the top navigation\n * All nav menu items need to have a fixed transformX in order to animate properly for menu pinning\n * without this the browser does not know where to start animating from and so elements will just jump from one place to the next.\n * @param {*} state\n */\nexport function positionNavigationItems({host, state, dispatch}) {\n\tconst {\n\t\tproperties: {\n\t\t\tmainMenuState,\n\t\t\tmainLogoWidth,\n\t\t\tmenuItems,\n\t\t\tanimationsEnabled,\n\t\t\tmenuWidth,\n\t\t\tisPolarisEnabled\n\t\t}\n\t} = state;\n\tconst isRTL = document.dir === 'rtl';\n\tconst topNavigationElement = host.shadowRoot.querySelectorAll(\n\t\t'div.polaris-header-menu'\n\t)[0];\n\n\tif (\n\t\t!topNavigationElement ||\n\t\t(!menuWidth && mainMenuState.isMenuPinned && mainMenuState.canBePinned)\n\t) {\n\t\treturn;\n\t}\n\n\tconst navigationChildren = topNavigationElement.children;\n\tconst topNavigationBounds = {\n\t\twidth: topNavigationElement.offsetWidth,\n\t\tx: topNavigationElement.offsetLeft\n\t};\n\t// const menuWidth = menuWidth;\n\tconst overflowTabWidth = MINIMUM_OVERFLOW_TAB_WIDTH;\n\tconst logoNavPadding = MINIMUM_LOGO_PADDING;\n\tconst leftOffset =\n\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t? menuWidth + logoNavPadding\n\t\t\t: mainLogoWidth;\n\tlet totalLeft = 0;\n\tlet isOverflowing = false;\n\tconst overflowMenuItems = [];\n\n\t// if there are 2 menu items or less, then there is nothing to do here so move on.\n\tif (navigationChildren.length > 1) {\n\t\tconst widthConstraint = MINIMUM_NAV_PADDING;\n\n\t\t// account for the overflow element\n\t\tconst navigationContainer = host.shadowRoot.querySelector(\n\t\t\t'div.sn-polaris-navigation.polaris-header-menu'\n\t\t);\n\t\tnavigationContainer.style.minWidth = `${widthConstraint +\n\t\t\tnavigationChildren[navigationChildren.length - 1].offsetWidth}px`;\n\t}\n\n\t// util for updating the location of a nav menu item on the screen\n\tconst placeNavItem = (navigationItem, location, isRTL) => {\n\t\tif (mainLogoWidth === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (navigationItem.style.position !== 'absolute') {\n\t\t\tnavigationItem.style.position = 'absolute';\n\t\t\tnavigationItem.style.marginInlineEnd = 0;\n\t\t}\n\n\t\tif (isRTL) {\n\t\t\tif (navigationItem.style.right !== `${location}px`) {\n\t\t\t\tnavigationItem.style.right = `${location}px`;\n\t\t\t}\n\t\t} else {\n\t\t\tif (navigationItem.style.left !== `${location}px`) {\n\t\t\t\tnavigationItem.style.left = `${location}px`;\n\t\t\t}\n\t\t}\n\t};\n\n\t// for each item in the top navigation\n\tfor (let i = 0; i < navigationChildren.length; i++) {\n\t\tconst navigationItem = navigationChildren[i]; // get the current navigation item\n\n\t\t// Make sure the item is ours.  Custom scripting, third-party libraries, or browser extensions can manipulate the DOM and add nodes (eg. SN's own Guided Tours).\n\t\tif (!navigationItem.classList?.contains('sn-polaris-tab')) continue;\n\n\t\tconst itemWidth = navigationItem.offsetWidth + MAIN_TAB_MARGIN; // get width of nav item\n\t\tlet newItemLeft =\n\t\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t\t? menuWidth\n\t\t\t\t: mainLogoWidth; // used to compute where each item left will be\n\n\t\tif (\n\t\t\tmainMenuState.isMenuPinned &&\n\t\t\tmainMenuState.canBePinned &&\n\t\t\tmenuItems?.[i]?.id === mainMenuState.primaryMenuId\n\t\t) {\n\t\t\t// handle placing the pinned tab (if any pinned)\n\t\t\t// navigationItem.className = 'sn-polaris-tab is-pinned';\n\t\t\tnavigationItem.classList?.add('is-pinned');\n\t\t\tplaceNavItem(navigationItem, newItemLeft, isRTL);\n\t\t} else {\n\t\t\t//compute and place where the current nav item should be\n\t\t\tnewItemLeft = leftOffset + totalLeft;\n\t\t\tif (\n\t\t\t\tnavigationItem.classList &&\n\t\t\t\tnavigationItem.classList.contains('is-pinned')\n\t\t\t) {\n\t\t\t\tnavigationItem.classList.remove('is-pinned');\n\t\t\t}\n\t\t\tplaceNavItem(navigationItem, newItemLeft, isRTL);\n\n\t\t\t// this value used by moveMenu so the menu knows the final position of a tab after transitioning from a pinned state\n\t\t\tnavigationItem.setAttribute('unpinnedLeft', newItemLeft);\n\n\t\t\t// check for overflowing navigation menu items and enable overflow menu when needed\n\t\t\tif (\n\t\t\t\t((!isRTL &&\n\t\t\t\t\tnewItemLeft + itemWidth + overflowTabWidth >\n\t\t\t\t\t\ttopNavigationBounds.x + topNavigationBounds.width) ||\n\t\t\t\t\t(isRTL &&\n\t\t\t\t\t\tnewItemLeft + itemWidth + overflowTabWidth >\n\t\t\t\t\t\t\ttopNavigationBounds.width + mainLogoWidth)) &&\n\t\t\t\tnavigationItem.id !== 'nav-overflow'\n\t\t\t) {\n\t\t\t\t// this item is in overflow so hide it\n\t\t\t\tnavigationItem.className = 'sn-polaris-tab is-placeholder';\n\t\t\t\tisOverflowing = true;\n\t\t\t\tmenuItems[i].index = i;\n\t\t\t\toverflowMenuItems.push(menuItems?.[i]);\n\t\t\t\t// if the opened menu is going into overflow, close it\n\t\t\t\tif (\n\t\t\t\t\t(mainMenuState.isMenuPinned &&\n\t\t\t\t\t\tmainMenuState.canBePinned &&\n\t\t\t\t\t\tmainMenuState.secondaryMenuId == menuItems?.[i]?.id) ||\n\t\t\t\t\t(!(mainMenuState.isMenuPinned && mainMenuState.canBePinned) &&\n\t\t\t\t\t\tmainMenuState.primaryMenuId === menuItems?.[i].id)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t} else if (navigationItem.id === 'nav-overflow') {\n\t\t\t\t// the overflow tab element is always last in the loop because its always last in the DOM\n\t\t\t\t// so by this point we know if any menu items are in overflow and can enable the overflow menu when needed\n\t\t\t\tif (isOverflowing) {\n\t\t\t\t\t// menu is overflowing so enable overflow menu tab\n\t\t\t\t\tnavigationItem.className = 'sn-polaris-tab tab-overflow';\n\t\t\t\t} else {\n\t\t\t\t\t// if the overflow menu is open close it since we are not in overflow anymore\n\t\t\t\t\tif (\n\t\t\t\t\t\tmainMenuState.primaryMenuId ===\n\t\t\t\t\t\t\tmenuItems?.[navigationChildren.length - 1]?.id ||\n\t\t\t\t\t\tmainMenuState.secondaryMenuId ===\n\t\t\t\t\t\t\tmenuItems?.[navigationChildren.length - 1]?.id\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t\t}\n\t\t\t\t\tnavigationItem.className =\n\t\t\t\t\t\t'sn-polaris-tab tab-overflow is-placeholder';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// normal tab state so just display it and update totalLeft for placing the next nav item\n\t\t\t\tnavigationItem.className = 'sn-polaris-tab';\n\t\t\t\ttotalLeft = totalLeft + itemWidth;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tanimationsEnabled &&\n\t\t\t\tnavigationItem.className?.indexOf('animate') === -1\n\t\t\t) {\n\t\t\t\tnavigationItem.className += ' can-animate';\n\t\t\t}\n\t\t\tif (\n\t\t\t\tmenuItems?.[i]?.id === mainMenuState.primaryMenuId ||\n\t\t\t\tmenuItems?.[i]?.id === mainMenuState.secondaryMenuId\n\t\t\t) {\n\t\t\t\tnavigationItem.className += ' is-active';\n\t\t\t} else if (\n\t\t\t\tnavigationItem.classList &&\n\t\t\t\tnavigationItem.classList.contains('is-active')\n\t\t\t) {\n\t\t\t\tnavigationItem.classList.remove('is-active');\n\t\t\t}\n\t\t}\n\t\tif (isPolarisEnabled) {\n\t\t\tnavigationItem.classList.add('polaris-enabled');\n\t\t}\n\t}\n\tif (overflowMenuItems.length === 1) {\n\t\tdispatch(OVERFLOW_MENU_ITEMS_CHANGED, {\n\t\t\t// the additional data here is needed so that overflow menu can tell the difference between itself and the menus inside it\n\t\t\tid: overflowMenuItems[0].id\n\t\t\t\t? overflowMenuItems[0].id\n\t\t\t\t: overflowMenuItems.id,\n\t\t\tindex: overflowMenuItems[0].index\n\t\t\t\t? overflowMenuItems[0].index\n\t\t\t\t: overflowMenuItems.index,\n\t\t\ticon: overflowMenuItems[0].icon\n\t\t\t\t? overflowMenuItems[0].icon\n\t\t\t\t: overflowMenuItems.icon,\n\t\t\ttemplate: overflowMenuItems[0].template\n\t\t\t\t? overflowMenuItems[0].template\n\t\t\t\t: overflowMenuItems.template,\n\t\t\tlabel: overflowMenuItems[0].label\n\t\t\t\t? overflowMenuItems[0].label\n\t\t\t\t: overflowMenuItems.label,\n\t\t\toverflowMenuItems: overflowMenuItems[0].subItems\n\t\t\t\t? overflowMenuItems[0].subItems\n\t\t\t\t: overflowMenuItems\n\t\t});\n\t} else {\n\t\tdispatch(OVERFLOW_MENU_ITEMS_CHANGED, {\n\t\t\tid: overflowMenuItems.id,\n\t\t\tindex: overflowMenuItems.index,\n\t\t\ttemplate: overflowMenuItems.template,\n\t\t\toverflowMenuItems: overflowMenuItems\n\t\t});\n\t}\n}\n\nexport function positionUtilityMenuItems({host, state, dispatch}) {\n\tconst {\n\t\tproperties: {\n\t\t\tutilityMenuData: utilityMenuDataWithExtraButton,\n\t\t\tcontextualMenuState,\n\t\t\twindowSize,\n\t\t\tcontextualMenu\n\t\t}\n\t} = state;\n\n\tif (!getFeatureSettings().isPolarisEnabled) return;\n\n\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\ttrue\n\t);\n\n\tconst utilityBarVisible =\n\t\twindowSize && windowSize.width > REFLOW_BREAKPOINTS.BREAKPOINT_420;\n\tconst includeUtilityBar = useUtilityBar && utilityBarVisible;\n\n\tconst utilityMenuData =\n\t\tutilityMenuDataWithExtraButton?.filter(\n\t\t\t({buttonConfig: {id}}) =>\n\t\t\t\t!(includeUtilityBar && id === 'concourse-pickers')\n\t\t) || [];\n\n\tconst headerControls = host.shadowRoot.querySelector(\n\t\t'.polaris-header-controls'\n\t);\n\n\tconst endingHeaderZone = host.shadowRoot.querySelector('.ending-header-zone');\n\tconst searchZone = headerControls?.querySelector('.polaris-search');\n\tconst utilityMenuZone = headerControls.querySelector('.utility-menu');\n\tconst utilityMenuButtons = utilityMenuZone.querySelectorAll(\n\t\t'.contextual-zone-button'\n\t);\n\tconst avatarButton = headerControls.querySelector('.header-avatar-button');\n\tconst utilityMenuButtonWidth =\n\t\t(avatarButton?.offsetWidth || 0) + UTILITY_BUTTON_PADDING;\n\tconst utilityMenuFullWidth =\n\t\t(utilityMenuData?.length || 0) * utilityMenuButtonWidth +\n\t\t(avatarButton?.offsetWidth || 0) +\n\t\tUTILITY_MENU_MARGIN -\n\t\tMAIN_TAB_MARGIN;\n\n\tconst isContextualMenuPinned =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned;\n\t// Ensure reflow is not rendered with width too small when pinning/unpinning menu\n\tconst endZoneWidth = isContextualMenuPinned\n\t\t? (endingHeaderZone?.offsetWidth || 0) - contextualMenuState.pinnedMenuWidth\n\t\t: endingHeaderZone?.offsetWidth || 0;\n\tconst searchZoneRect = searchZone?.getBoundingClientRect() || {width: 0};\n\tconst searchZoneWidth = searchZoneRect.width || 0;\n\tconst isOverflowing = endZoneWidth < utilityMenuFullWidth + searchZoneWidth;\n\tconst overflowButton = utilityMenuZone.querySelector(\n\t\t'.utility-overflow-menu'\n\t);\n\n\tconst buttonOverflowDifference =\n\t\tutilityMenuFullWidth + searchZoneWidth - endZoneWidth;\n\tconst numberOfButtonsToHide = isOverflowing\n\t\t? Math.ceil(buttonOverflowDifference / utilityMenuButtonWidth) + 1\n\t\t: 0;\n\n\tconst overflowingMenuItems = [];\n\t// This length removes one for avatar, one for overflow icon and one off error\n\tconst utilityMenuButtonsIndexLength = utilityMenuButtons?.length - 3 || 0;\n\tlet totalBadgeCount = 0;\n\n\tfor (let i = utilityMenuButtonsIndexLength; i >= 0; i--) {\n\t\tconst currentButton = utilityMenuButtons[i];\n\t\tconst currentMenuConfig = utilityMenuData[i]?.menuConfig || {};\n\t\tconst currentMenuId = currentMenuConfig?.menuProperties?.menuType || null;\n\t\tconst badgeCount = utilityMenuData[i]?.buttonConfig?.badgeCount || 0;\n\t\tconst isCurrentPinned =\n\t\t\tcontextualMenuState.canBePinned &&\n\t\t\tcurrentMenuId === contextualMenuState.pinnedMenuId;\n\n\t\tif (utilityMenuButtonsIndexLength - i < numberOfButtonsToHide) {\n\t\t\tcurrentButton.classList?.add('is-placeholder');\n\t\t\tif (currentMenuId !== 'overflowMenu' && !isCurrentPinned) {\n\t\t\t\toverflowingMenuItems.push({\n\t\t\t\t\t...utilityMenuData[i],\n\t\t\t\t\toverflowMenuItems: null\n\t\t\t\t});\n\t\t\t\ttotalBadgeCount += badgeCount;\n\t\t\t\t// Close menu that just went into overflow\n\t\t\t\tif (\n\t\t\t\t\t(contextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId ==\n\t\t\t\t\t\t\tcurrentMenuConfig?.menuProperties?.menuType) ||\n\t\t\t\t\t(!(\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t\t\t) &&\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId ===\n\t\t\t\t\t\t\tcurrentMenuConfig?.menuProperties?.menuType)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentButton.classList?.remove('is-placeholder');\n\t\t}\n\t}\n\n\tif (isOverflowing) {\n\t\toverflowButton?.classList?.remove('is-placeholder');\n\t} else {\n\t\toverflowButton?.classList?.add('is-placeholder');\n\n\t\tif (contextualMenuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID) {\n\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t}\n\t}\n\tif (\n\t\t(contextualMenu.overflowMenuItems?.length || 0) !==\n\t\t\toverflowingMenuItems.length ||\n\t\tcontextualMenu.overflowBadgeCount !== totalBadgeCount ||\n\t\tcontextualMenu.utilityBarVisible !== utilityBarVisible\n\t) {\n\t\tdispatch(UTILITY_MENU_OVERFLOW_DATA_UPDATED, {\n\t\t\toverflowingMenuItems,\n\t\t\ttotalBadgeCount,\n\t\t\tutilityBarVisible\n\t\t});\n\t}\n}\n\nexport function positionHeaderItems(\n\tcontext,\n\tposNavItems = positionNavigationItems,\n\tposUtilItems = positionUtilityMenuItems\n) {\n\tposNavItems(context);\n\tposUtilItems(context);\n}\n","export const ELEVATE_ROLES_REQUESTED = 'ELEVATE_ROLE#ELEVATE_ROLES_REQUESTED';\nexport const ELEVATE_ROLE_MODAL_OPENED =\n\t'ELEVATE_ROLE#ELEVATE_ROLE_MODAL_OPENED';\nexport const ELEVATE_ROLE_MODAL_DISMISSED =\n\t'ELEVATE_ROLE#ELEVATE_ROLE_MODAL_DISMISSED';\nexport const ELEVATE_ROLES_REFRESH_REQUESTED =\n\t'ELEVATE_ROLE#ELEVATE_ROLES_REFRESH_REQUESTED';\nexport const ELEVATE_ROLES_REFRESH_SUCCEEDED =\n\t'ELEVATE_ROLE#ELEVATE_ROLES_REFRESH_SUCCEEDED';\n","/*\n    do a deep compare of 2 objects while ignoring any values that are functions because 2 like functions will never match\n*/\nexport const isDeepEqual = (object1, object2) => {\n\tconst objKeys1 = Object.keys(object1);\n\tconst objKeys2 = Object.keys(object2);\n\n\tif (objKeys1.length !== objKeys2.length) return false;\n\n\tfor (var key of objKeys1) {\n\t\tconst value1 = object1[key];\n\t\tconst value2 = object2[key];\n\n\t\tconst isObjects = isObject(value1) && isObject(value2);\n\t\tconst isFunctions = isFunction(value1) && isFunction(value2);\n\n\t\tif (\n\t\t\t(isObjects && !isDeepEqual(value1, value2)) ||\n\t\t\t(!isObjects && !isFunctions && value1 !== value2)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nconst isObject = (object) => {\n\treturn object != null && typeof object === 'object';\n};\n\nconst isFunction = (object) => {\n\treturn object != null && typeof object === 'function';\n};\n","export const NOTIFY_REQUESTED = 'LAYOUT#NOTIFY_REQUESTED';\nexport const EXISTING_NOTIFICATIONS_SET =\n\t'NOTIFICATION_BEHAVIOR#EXISTING_NOTIFICATIONS_SET';\n\nexport const NOTIFICATION_OPENED = 'NOTIFICATION_MENU#NOTIFICATION_OPENED';\nexport const NOTIFICATIONS_CLEARED = 'NOTIFICATION_MENU#NOTIFICATIONS_CLEARED';\nexport const NOTIFICATION_TOAST_CLEARED =\n\t'NOTIFICATION_MENU#NOTIFICATION_TOAST_CLEARED';\n\nexport const FETCH_MORE_NOTIFICATIONS_REQUESTED =\n\t'NOTIFICATION_MENU#MORE_NOTIFICATIONS_REQUESTED';\nexport const NOTIFICATION_MENU_OPENED =\n\t'NOTIFICATION_BEHAVIOR#NOTIFICATION_MENU_OPENED';\n\nexport const NOTIFICATION_MOUSE_ENTERED = 'NOTIFICATION_MENU#MOUSE_ENTERED';\nexport const NOTIFICATION_MOUSE_LEFT = 'NOTIFICATION_MENU#MOUSE_LEFT';\nexport const NOTIFICATION_FOCUSED = 'NOTIFICATION_MENU#FOCUS';\nexport const NOTIFICATION_BLURRED = 'NOTIFICATION_MENU#BLUR';\nexport const UNREAD_NOTIFICATIONS_COUNT_SET =\n\t'NOTIFICATION_BEHAVIOR#UNREAD_NOTIFICATIONS_COUNT_SET';\nexport const FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED =\n\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_UNREAD_COUNT_REQUESTED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {MESSAGE_TYPES} from '../constants';\n\nfunction buildMessage(short_description, priority) {\n\tconst content = short_description || t('Short Description field is empty');\n\n\treturn `${priority} • ${content}`;\n}\n\nfunction buildNewAssignedToastItem(payload) {\n\tconst {\n\t\trecord_display_value,\n\t\tshort_description,\n\t\tpriority,\n\t\ttable_label\n\t} = payload;\n\n\tconst prefix = record_display_value || table_label;\n\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle: t('{0} is assigned to you', prefix),\n\t\tmessage: buildMessage(short_description, priority),\n\t\tinfoIcon: 'user-plus-outline'\n\t};\n}\n\nfunction buildNextExperienceItem({\n\tmessage,\n\tmessage_heading,\n\tmessage_icon,\n\tpriority,\n\trecord_display_value,\n\tshort_description,\n\taction_name,\n\taction_payload\n}) {\n\tlet title;\n\tif (message_heading) {\n\t\ttitle = message_heading;\n\t} else if (record_display_value) {\n\t\ttitle = t('{0} has been updated', record_display_value);\n\t} else {\n\t\treturn null;\n\t}\n\n\tlet newMessage;\n\tif (message) {\n\t\tnewMessage = message;\n\t} else if (short_description) {\n\t\tnewMessage = buildMessage(short_description, priority);\n\t} else {\n\t\tnewMessage = '';\n\t}\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle: title,\n\t\tmessage: newMessage,\n\t\tinfoIcon: message_icon || 'change-outline',\n\t\tactionName: action_name,\n\t\tactionPayload: action_payload\n\t};\n}\n\nfunction buildCustomToastItem(payload, customChanges) {\n\tconst {priority} = payload;\n\tconst title = {\n\t\tprefix: customChanges.field_label,\n\t\tverb: customChanges.field_value,\n\t\tsuffix: ''\n\t};\n\n\treturn {\n\t\ttitle: `${title.prefix} ${title.verb} ${title.suffix}`,\n\t\tmessage: `${priority} ${customChanges.field_displayValue}`,\n\t\tinfoIcon: 'change-outline'\n\t};\n}\n\nfunction buildUpdatedToastItem(payload) {\n\tconst {\n\t\trecord_display_value,\n\t\tshort_description,\n\t\tpriority,\n\t\ttable_label,\n\t\tupdated_by,\n\t\tfields\n\t} = payload;\n\n\tconst isSingleFieldChanged = fields.length === 1;\n\n\tconst prefix = isSingleFieldChanged\n\t\t? fields[0].field_label\n\t\t: record_display_value || table_label;\n\n\tconst title = updated_by\n\t\t? t('{0} updated by {1}', prefix, updated_by)\n\t\t: t('{0} has been updated', prefix);\n\n\tconst message = buildMessage(short_description, priority);\n\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle,\n\t\tmessage: isSingleFieldChanged\n\t\t\t? `${record_display_value || table_label} • ${message}`\n\t\t\t: message,\n\t\tinfoIcon: 'change-outline'\n\t};\n}\n\nexport function buildAlertItem(payload, userId) {\n\tconst {\n\t\ttable,\n\t\tsys_id,\n\t\tfields,\n\t\ttime_stamp,\n\t\talert_sys_id,\n\t\tis_read,\n\t\traw_time_stamp,\n\t\tmessage_type,\n\t\troute,\n\t\ttrigger\n\t} = payload;\n\n\tconst toastItem = {\n\t\titem_type: 'notification',\n\t\ttable,\n\t\tsys_id,\n\t\talert_sys_id,\n\t\tmessage_type,\n\t\ttime_stamp,\n\t\traw_time_stamp,\n\t\tis_read,\n\t\troute,\n\t\ttrigger,\n\t\tcustom: false //this field is used to NOT purge notifications for the same record if we have customChanges in the payload.\n\t};\n\t//build custom alert if 'custom' is passed into the payload for ui_inbox_notification insert.\n\tconst customChanges = fields.find((f) => f.field_name === 'custom');\n\tif (customChanges)\n\t\treturn {\n\t\t\t...toastItem,\n\t\t\t...buildCustomToastItem(payload, customChanges),\n\t\t\tcustom: true\n\t\t};\n\n\tconst assignedToMe = fields.find(\n\t\t(f) => f.field_name === 'assigned_to' && f.field_value === userId\n\t);\n\n\tif (message_type === MESSAGE_TYPES.NEXT_CUSTOM) {\n\t\tconst nextExperienceItem = buildNextExperienceItem(payload);\n\t\tif (!nextExperienceItem) return null;\n\t\treturn {\n\t\t\t...toastItem,\n\t\t\t...nextExperienceItem\n\t\t};\n\t}\n\n\treturn assignedToMe\n\t\t? {...toastItem, ...buildNewAssignedToastItem(payload)}\n\t\t: {...toastItem, ...buildUpdatedToastItem(payload)};\n}\n","import {getBooleanProperty} from '@devsnc/unav-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../constants';\n\nlet local = {};\nlet cacheEnabled = true;\n\nlet polarisCacheEnabled =\n\tcacheEnabled &&\n\tgetBooleanProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_ENABLED, true);\n\nconst disabledCache = getProperty(\n\tSYS_PROPS.POLARIS_DISABLED_CLIENT_CACHE_TYPES,\n\t''\n).split(',');\n\nconst defaultTTL =\n\tgetProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_TTL_SECONDS, 300) * 1000;\n\nlet userId;\nlet language;\n\nconst createPrefix = () => `sn.polaris.${userId}`;\nconst createKey = (key, i18n) =>\n\ti18n ? `${createPrefix()}.${key}.${language}` : `${createPrefix()}.${key}`;\n\nexport const setUserId = (id) => (userId = id);\nexport const setLanguage = (l) => (language = l);\nexport const getLanguage = () => language;\nexport const getUserId = () => userId;\n\nexport const bustKey = 'sn.polaris.cacheBust';\n\nconst cache = {\n\tget(key, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {i18n = true} = options;\n\t\tconst namespacedKey = createKey(key, i18n);\n\t\tconst item =\n\t\t\tlocal[namespacedKey] || window.localStorage.getItem(namespacedKey);\n\n\t\tif (item) {\n\t\t\tconst {value, ttl, ts, sessionToken = ''} =\n\t\t\t\ttypeof item === 'string' ? JSON.parse(item) : item;\n\n\t\t\tconst currentSession = sessionToken === window.g_ck;\n\t\t\tconst bustQueue = JSON.parse(\n\t\t\t\twindow.localStorage.getItem(bustKey) || '[]'\n\t\t\t);\n\t\t\tconst isKeyBusted = bustQueue?.indexOf(key);\n\n\t\t\tif (isKeyBusted > -1) {\n\t\t\t\tbustQueue.splice(isKeyBusted, 1);\n\t\t\t\twindow.localStorage.setItem(bustKey, JSON.stringify(bustQueue));\n\t\t\t}\n\n\t\t\tif ((Date.now() - ts < ttl || currentSession) && isKeyBusted < 0) {\n\t\t\t\tlocal[namespacedKey] = {\n\t\t\t\t\tvalue,\n\t\t\t\t\tttl,\n\t\t\t\t\tts,\n\t\t\t\t\t...(currentSession ? {sessionToken: window.g_ck} : null)\n\t\t\t\t};\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tdelete local[namespacedKey];\n\t\t\twindow.localStorage.removeItem(namespacedKey);\n\t\t}\n\n\t\treturn undefined;\n\t},\n\tset(key, value, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {ttl = defaultTTL, i18n = true, currentSession = false} = options;\n\t\tconst item = {\n\t\t\tvalue,\n\t\t\tttl,\n\t\t\tts: Date.now(),\n\t\t\t...(currentSession ? {sessionToken: window.g_ck} : null)\n\t\t};\n\t\tconst namespacedKey = createKey(key, i18n);\n\t\ttry {\n\t\t\twindow.localStorage.setItem(namespacedKey, JSON.stringify(item));\n\t\t\tlocal[namespacedKey] = item;\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.debug(`Quota exceeded when adding key ${namespacedKey}`);\n\t\t}\n\t},\n\tremove(key, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {i18n = true} = options;\n\t\tconst namespacedKey = createKey(key, i18n);\n\n\t\tdelete local[namespacedKey];\n\t\twindow.localStorage.removeItem(namespacedKey);\n\t},\n\tclear() {\n\t\tfor (const key in window.localStorage) {\n\t\t\tif (key.startsWith(createPrefix())) window.localStorage.removeItem(key);\n\t\t}\n\t\tlocal = {};\n\t},\n\tenable(enable = true) {\n\t\tcacheEnabled = enable;\n\t\tpolarisCacheEnabled =\n\t\t\tcacheEnabled &&\n\t\t\tgetBooleanProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_ENABLED, true);\n\t}\n};\n\nexport default cache;\n","import {get, has} from 'lodash';\nimport moment from 'moment';\nimport {buildAlertItem} from './buildAlertItem';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../constants';\nimport cache from '../../../utils/cache';\n\nconst ALERT_STATUS_READ = 'read';\n\nfunction getTriggeredBy(triggered_by) {\n\tconst {displayValue, display_value, value} = triggered_by; // graphql and amb format is different\n\tif (!displayValue && !display_value && value)\n\t\treturn value[0].toUpperCase() + value.slice(1);\n\telse return displayValue || display_value;\n}\n\nfunction buildAlertPayload(baseProps, tableLabel, changes) {\n\tconst {assigned_to = {}, priority = {}, short_description = {}} = changes;\n\tconst fields = Object.keys(changes).reduce((result, key) => {\n\t\tconst change = changes[key];\n\n\t\tif (change) {\n\t\t\tconst {value, previousValue} = changes[key];\n\t\t\tif (value !== previousValue) {\n\t\t\t\tconst {displayValue, fieldLabel} = changes[key];\n\t\t\t\tresult = result.concat({\n\t\t\t\t\tfield_name: key,\n\t\t\t\t\tfield_label: fieldLabel,\n\t\t\t\t\tfield_value: value,\n\t\t\t\t\tfield_displayValue: displayValue\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, []);\n\n\treturn {\n\t\t...baseProps,\n\t\ttable_label: tableLabel,\n\t\tshort_description:\n\t\t\t(short_description && short_description.displayValue) || '',\n\t\tfields,\n\t\tpriority: (priority && priority.displayValue) || '',\n\t\tassigned_to: assigned_to || ''\n\t};\n}\n\nfunction decodePayload(alert) {\n\tlet payload = null;\n\ttry {\n\t\tconst {\n\t\t\tdisplayValue = '',\n\t\t\ttableLabel = '',\n\t\t\tchanges = {},\n\t\t\tmessage_type,\n\t\t\tmessage,\n\t\t\tmessage_icon,\n\t\t\tmessage_heading,\n\t\t\taction_name,\n\t\t\taction_payload,\n\t\t\troute,\n\t\t\ttrigger\n\t\t} = JSON.parse(alert.payload.value);\n\n\t\t// `value` is UTC time. Intresting enough the display value is not UTC time but we don't use that here\n\t\tconst raw_time_stamp = alert.sys_created_on.value;\n\n\t\tconst baseProps = {\n\t\t\talert_sys_id: alert.sys_id.value,\n\t\t\tis_read: alert.status.value === ALERT_STATUS_READ,\n\t\t\tmessage,\n\t\t\tmessage_heading,\n\t\t\tmessage_icon,\n\t\t\tmessage_type,\n\t\t\taction_name,\n\t\t\taction_payload,\n\t\t\traw_time_stamp,\n\t\t\troute,\n\t\t\ttrigger,\n\t\t\trecord_display_value: displayValue,\n\t\t\tsys_id: alert?.target?.value || alert?.sys_id?.value,\n\t\t\ttable: alert?.target_table?.value,\n\t\t\t/* We read this in as UTC time. From UTC time it's easier to derive other needed timezones\n\t\t\t * whether that be users machine timezone or glide settings timezone.\n\t\t\t */\n\t\t\ttime_stamp: moment.utc(raw_time_stamp).valueOf(),\n\t\t\tupdated_by: getTriggeredBy(alert.triggered_by)\n\t\t};\n\n\t\tpayload = {baseProps, tableLabel, changes};\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('invalid notification payload');\n\t\tpayload = null;\n\t}\n\treturn payload;\n}\n\nfunction transformGraphQLAlert(alert) {\n\tif (!alert.payload) return null;\n\tconst payload = decodePayload(alert);\n\tif (!payload) return null;\n\n\tconst {baseProps, tableLabel, changes} = payload;\n\treturn buildAlertPayload(baseProps, tableLabel, changes);\n}\n\n// Take record watcher format and transform to client side format.\nexport function getTransformedAlert(alert) {\n\tconst payload = decodePayload(alert);\n\tif (!payload) return null;\n\n\tconst {baseProps, tableLabel, changes} = payload;\n\tbaseProps.route = alert.route;\n\tbaseProps.trigger = alert.trigger;\n\tconst updatePayload = {...baseProps, status: 'liveUpdated'};\n\n\treturn {\n\t\talertPayload: buildAlertPayload(baseProps, tableLabel, changes),\n\t\tupdatePayload\n\t};\n}\n\nexport function isDuplicate(notification1, notification2) {\n\treturn (\n\t\tnotification1.sys_id === notification2.sys_id &&\n\t\tnotification1.route === notification2.route &&\n\t\tnotification1.trigger === notification2.trigger\n\t);\n}\n\nexport function purgeOldAlerts(alertQueue, alertItem, trayState) {\n\tlet alertsToKeep = alertQueue.filter(\n\t\t(it) => it.item_type === 'notification' && !isDuplicate(it, alertItem)\n\t);\n\n\tif (alertItem.custom) {\n\t\t//if alert is custom, DO NOT filter out alerts pointing to same records\n\t\talertsToKeep = alertQueue;\n\t}\n\n\tconst alertsToDelete = trayState.deleteQueue.slice(); //[alertPayload]\n\n\tconst existingAlert = alertQueue.find((it) => isDuplicate(it, alertItem));\n\tif (existingAlert && !alertItem.custom)\n\t\talertsToDelete.push(existingAlert.alert_sys_id);\n\n\talertsToKeep.unshift(alertItem);\n\n\treturn {\n\t\talertsToKeep,\n\t\talertsToDelete\n\t};\n}\n\nexport function purgeOldAlerts2(\n\talertQueue,\n\trawAlerts,\n\ttrayState,\n\tuserId,\n\ttarget = 'target.value'\n) {\n\t// initial loading/scrolling\n\tconst alertsToKeep = alertQueue.filter(\n\t\t\t(it) => it.item_type === 'notification'\n\t\t),\n\t\talertsToDelete = trayState.deleteQueue.slice(); // [alert_sys_ids_to_delete]\n\tconst set = new Set(alertQueue.map((al) => al.sys_id));\n\t// Used to find duplicates within all the alerts we are currently looking into\n\tconst alreadyProcessedAlertSet = new Set();\n\tconst deleteTarget =\n\t\ttarget === 'target.value' ? 'sys_id.value' : 'alert_sys_id'; // initial or item arrived\n\n\trawAlerts.forEach((alert) => {\n\t\tconst record_sys_id = get(alert, target, '');\n\t\tconst dupeId =\n\t\t\trecord_sys_id + '|' + alert?.trigger?.value + '|' + alert?.route?.value;\n\n\t\t//if payload has 'custom' field, build notification even if record id is the same\n\t\tconst {\n\t\t\tpayload: {value}\n\t\t} = alert;\n\t\tconst parsedValue = value ? JSON.parse(value) : '';\n\t\tlet customChanges = false;\n\t\tif (has(parsedValue, ['changes', 'custom'])) {\n\t\t\tcustomChanges = true;\n\t\t}\n\n\t\tif (\n\t\t\t(customChanges || !set.has(record_sys_id)) &&\n\t\t\t!alreadyProcessedAlertSet.has(dupeId)\n\t\t) {\n\t\t\talreadyProcessedAlertSet.add(dupeId);\n\t\t\tconst payload = transformGraphQLAlert(alert);\n\t\t\tif (payload) {\n\t\t\t\tconst item = {\n\t\t\t\t\t...buildAlertItem(payload, userId),\n\t\t\t\t\troute: alert?.route?.value,\n\t\t\t\t\ttrigger: alert?.trigger?.value\n\t\t\t\t};\n\t\t\t\tif (item) {\n\t\t\t\t\talertsToKeep.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst alert_sys_id = get(alert, deleteTarget, '');\n\t\t\talertsToDelete.push(alert_sys_id);\n\t\t}\n\t});\n\n\treturn {\n\t\talertsToKeep,\n\t\talertsToDelete\n\t};\n}\n\nexport const getDateString = (dateObj, userTimezoneOffset) => {\n\t// toISOString() returns something like 2023-03-07T03:36:06.118Z in UTC time\n\t// subtract the offset to get a 'local' result from toISOString() because\n\t// gs.dateGenerate expects local time\n\t// split it into the date & time to pass to gs.dateGenerate\n\t// resulting in javascript:gs.dateGenerate('2023-03-06', '19:36:06')\n\t// which will return a happy date string for all, '2023-03-07 11:36:06'\n\tif (!Number.isInteger(userTimezoneOffset)) userTimezoneOffset = 0;\n\n\tconst tzAdjustedDate = new Date(dateObj.getTime() + userTimezoneOffset);\n\tconst [date, time] = tzAdjustedDate.toISOString().split('T');\n\n\treturn `javascript:gs.dateGenerate('${date}', '${time.split('.')[0]}')`;\n};\n\nexport const unreadNotificationCountConditional = (\n\tsysId,\n\tuserTimezoneOffset\n) => {\n\tconst currentDate = new Date();\n\tconst sevenDaysAgo = new Date(new Date().setDate(currentDate.getDate() - 7));\n\tconst lastViewedDate = new Date(cache.get(NOTIFICATIONS_LAST_VIEWED_KEY));\n\tlet queryString = `recipient=${sysId}^status=new^ORDERBYDESCsys_created_on`;\n\n\tif (lastViewedDate && lastViewedDate.valueOf() > sevenDaysAgo.valueOf()) {\n\t\tqueryString += `^sys_created_on>=${getDateString(\n\t\t\tlastViewedDate,\n\t\t\tuserTimezoneOffset\n\t\t)}`;\n\t} else {\n\t\tqueryString += `^sys_created_on>=${getDateString(\n\t\t\tsevenDaysAgo,\n\t\t\tuserTimezoneOffset\n\t\t)}`;\n\t}\n\treturn queryString;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const SEARCH_CONTEXT_UPDATED = 'SEARCH_CONTEXT_UPDATED';\nexport const SEARCH_INPUT_ONRESIZE = 'SEARCH_COMPONENT#ONRESIZE';\nexport const SEARCH_DROPDOWN_OPENED = 'NOW_DROPDOWN#LIST_VISIBLE';\nexport const GLOBAL_SEARCH_FOCUSED = 'POLARIS#GLOBAL_SEARCH_FOCUSED';\n\n//dynamic-routing-actions\nexport const SEARCH_ROUTE_MAP_CACHE_PREFIX = 'searchRouteMap';\nexport const DYNAMIC_ROUTE_REQUESTED = 'DYNAMIC_ROUTE_REQUESTED';\nexport const DYNAMIC_ROUTE_SUCCEEDED = 'DYNAMIC_ROUTE_SUCCEEDED';\nexport const DYNAMIC_ROUTE_ERRORED = 'DYNAMIC_ROUTE_ERRORED';\nexport const DYNAMIC_ROUTE_FETCH_REQUESTED = 'DYNAMIC_ROUTE_FETCH_REQUESTED';\n","import 'sn-search-input-wrapper';\nimport track from '../../utils/track';\nimport cache from '../../utils/cache';\nimport {get, isEmpty, isEqual} from 'lodash';\nimport {\n\tSEARCH_CONTEXT_UPDATED,\n\tSEARCH_DROPDOWN_OPENED,\n\tGLOBAL_SEARCH_FOCUSED\n} from './actions';\nimport {\n\tCLASSIC,\n\tSEARCH,\n\tPOLARIS_CONTEXT,\n\tPOLARIS_SITE_NAME,\n\tNAV_ITEM_SELECTED,\n\tREFLOW_BREAKPOINTS,\n\tMETRICS,\n\tDEFAULT_POLARIS_SEARCH_CONTEXT\n} from '../../constants';\nimport {HOME_PAGE_SELECTED} from '../../components/sn-polaris-header/actions';\nimport {\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU\n} from '../../components/sn-polaris-layout/actions';\nimport {resolveUserSession} from '../../components/sn-polaris-layout/utils/resolveUserSession';\n\nexport const getExperienceSearchConfig = (\n\texperienceConfigs,\n\tselectedContext,\n\tisLoggedIn = null\n) => {\n\tif (isLoggedIn === null) isLoggedIn = resolveUserSession().isLoggedIn;\n\n\tconst path = selectedContext?.path || '';\n\tconst experienceConfig = get(experienceConfigs, path, {});\n\tconst experienceLabel =\n\t\tpath === POLARIS_SITE_NAME ? 'Global' : experienceConfig.experienceName;\n\tconst searchDataConfigId = get(\n\t\texperienceConfig,\n\t\t'pageProperties.globalSearchDataConfigId',\n\t\tnull\n\t);\n\tconst searchViewConfig = get(\n\t\texperienceConfig,\n\t\t'pageProperties.global_search_configurations',\n\t\tnull\n\t);\n\n\tconst routeConfigId = get(\n\t\texperienceConfig,\n\t\t'pageProperties.routeConfigId',\n\t\tnull\n\t);\n\n\tconst searchEngine = get(experienceConfig, 'pageProperties.searchEngine');\n\n\tconst enableExactMatch = get(\n\t\texperienceConfig,\n\t\t'pageProperties.enableExactMatch'\n\t);\n\n\tconst headerConfig = get(\n\t\texperienceConfig,\n\t\t'pageProperties.chrome_header',\n\t\t{}\n\t);\n\n\tlet searchEnabled = false;\n\ttry {\n\t\tconst config = !isEmpty(headerConfig) ? JSON.parse(headerConfig) : null;\n\t\tif (config) {\n\t\t\tconst {privatePage = {}, publicPage = {}} = config;\n\t\t\tconst userPage = isLoggedIn ? privatePage : publicPage;\n\t\t\tsearchEnabled = userPage?.searchEnabled;\n\t\t}\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing header view config');\n\t}\n\n\tif (!searchDataConfigId || !searchViewConfig) return null;\n\n\tlet parsedViewConfig = {\n\t\tglobalSearchViewConfigId: '',\n\t\tglobalSearchRoute: SEARCH\n\t};\n\ttry {\n\t\tparsedViewConfig = JSON.parse(searchViewConfig);\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing search view config');\n\t}\n\tconst searchViewConfigId = parsedViewConfig?.globalSearchViewConfigId;\n\tconst searchRoute = parsedViewConfig?.globalSearchRoute;\n\tconst itemSearchContext = {\n\t\tid: path,\n\t\tlabel: experienceLabel,\n\t\tcontext: selectedContext,\n\t\troute: searchRoute,\n\t\tsearchDataConfigId,\n\t\tsearchViewConfigId,\n\t\trouteConfigId,\n\t\tsearchEnabled\n\t};\n\n\tif (enableExactMatch && searchEngine) {\n\t\titemSearchContext.enableExactMatch = enableExactMatch;\n\t\titemSearchContext.searchEngine = searchEngine;\n\t}\n\n\treturn itemSearchContext;\n};\n\nexport const getSelectedSearchContext = ({\n\tselectedContent,\n\texperienceConfigs,\n\tisLoggedIn\n}) => {\n\tif (isEmpty(selectedContent)) return {};\n\tconst selectedContext = selectedContent?.context || POLARIS_CONTEXT;\n\tconst context =\n\t\tgetExperienceSearchConfig(experienceConfigs, selectedContext, isLoggedIn) ||\n\t\tgetPolarisSearchContext(experienceConfigs);\n\n\treturn context;\n};\n\nexport const getPolarisSearchContext = (polarisSearchContexts) => {\n\tconst polSearchConfig = polarisSearchContexts?.[POLARIS_CONTEXT.path];\n\n\tif (!polSearchConfig) return DEFAULT_POLARIS_SEARCH_CONTEXT;\n\n\tlet parsedViewConfig = {\n\t\tglobalSearchViewConfigId: '',\n\t\tglobalSearchRoute: SEARCH\n\t};\n\n\ttry {\n\t\tparsedViewConfig = JSON.parse(\n\t\t\tpolSearchConfig.pageProperties.global_search_configurations\n\t\t);\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing polaris search view config');\n\t}\n\n\treturn {\n\t\t...DEFAULT_POLARIS_SEARCH_CONTEXT,\n\t\tsearchDataConfigId: polSearchConfig.pageProperties.globalSearchDataConfigId,\n\t\tsearchViewConfigId: parsedViewConfig.globalSearchViewConfigId\n\t};\n};\n\nexport const buildAvailableSearchContext = ({\n\tproperties: {\n\t\tisPolarisEnabled,\n\t\tselectedContent,\n\t\tselectedSearchContext,\n\t\tuserSession: {isLoggedIn},\n\t\tglobalSearchEnabled,\n\t\tpolarisSearchContexts\n\t},\n\tdispatch\n}) => {\n\tif (isEmpty(selectedContent)) return [];\n\tlet experienceConfigs;\n\n\tif (isPolarisEnabled) {\n\t\texperienceConfigs = {\n\t\t\t...polarisSearchContexts\n\t\t};\n\t} else if (selectedContent) {\n\t\texperienceConfigs = {\n\t\t\t[selectedContent?.context?.path]: {\n\t\t\t\texperienceName: selectedContent?.context?.experienceName,\n\t\t\t\tpageProperties: window?.ux_globals?.pageProperties\n\t\t\t}\n\t\t};\n\t}\n\n\tif (!experienceConfigs) return;\n\n\tconst searchContextList = [];\n\tif (\n\t\t(isEmpty(selectedSearchContext) && !isEmpty(experienceConfigs)) ||\n\t\t(!isEmpty(experienceConfigs) &&\n\t\t\t(selectedContent?.route !== SEARCH &&\n\t\t\t\t!isEqual(selectedContent?.context, selectedSearchContext?.context)))\n\t) {\n\t\tconst context = getSelectedSearchContext({\n\t\t\tselectedContent,\n\t\t\texperienceConfigs,\n\t\t\tisLoggedIn\n\t\t});\n\n\t\tif (context) dispatch(SEARCH_CONTEXT_UPDATED, context);\n\t}\n\t//if Polaris is disabled, there won't be any menu (meaning no other contexts)\n\tif (isPolarisEnabled) {\n\t\t// if Polaris is enabled and there are workspace search contexts then Global should show up in drop down,\n\t\t// else by default its global search context and no dropdown would be available\n\t\tif (globalSearchEnabled) {\n\t\t\tconst globalSearchConfig = getExperienceSearchConfig(\n\t\t\t\tpolarisSearchContexts,\n\t\t\t\tPOLARIS_CONTEXT,\n\t\t\t\tisLoggedIn\n\t\t\t);\n\n\t\t\tif (globalSearchConfig) searchContextList.push(globalSearchConfig);\n\t\t}\n\n\t\tfor (const path in polarisSearchContexts) {\n\t\t\t// global is already passed above, so we can skip and just look at remaining contexts\n\t\t\tif (path !== POLARIS_CONTEXT.path) {\n\t\t\t\tconst contextConfig = getExperienceSearchConfig(\n\t\t\t\t\texperienceConfigs,\n\t\t\t\t\t{path},\n\t\t\t\t\tisLoggedIn\n\t\t\t\t);\n\t\t\t\tif (contextConfig) searchContextList.push(contextConfig);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn searchContextList;\n};\n\n/**\n * Handles showing and hiding things in the header\n * when the search input field has focus and is expanded\n * and the window is not large enough to fit everything\n *\n * @param {object} coeffects\n * @returns\n */\nexport const handleSearchReflow = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {windowSize, isPolarisEnabled}\n\t} = coeffects;\n\tif (!isPolarisEnabled) return;\n\n\tconst polarisHeader = host.shadowRoot.querySelector('.polaris-header');\n\tconst startingZone = host.shadowRoot.querySelector('.starting-header-zone');\n\tconst endingZone = host.shadowRoot.querySelector('.ending-header-zone');\n\tconst centerZone = host.shadowRoot.querySelector('.center-header-zone');\n\tconst utilMenu = host.shadowRoot.querySelector('.utility-menu');\n\tconst searchContainer = host.shadowRoot.querySelector('.polaris-search');\n\tlet searchExpandedBreakpoint = 1000; // set to large number to start with, this prevents triggering a reflow on large screens\n\n\t// figure out which breakpoint to use to change the search input size/style when its expanded\n\tif (\n\t\twindowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_FOUR &&\n\t\twindowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE\n\t) {\n\t\tsearchExpandedBreakpoint = REFLOW_BREAKPOINTS.SEARCH_BREAKPOINT_LARGE;\n\t} else if (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\tsearchExpandedBreakpoint = REFLOW_BREAKPOINTS.SEARCH_BREAKPOINT_SMALL;\n\t}\n\n\t// handle hiding things in the header if search has focus and is expanded\n\tif (searchContainer?.offsetWidth > searchExpandedBreakpoint) {\n\t\t// search input is expanded and the window is small enough that we need to hide things,\n\t\t// so update items in the header to accomidate the input field it as needed\n\t\tendingZone?.classList.add('search-open');\n\n\t\t// always add search-open class reguardless of window size\n\t\tpolarisHeader?.classList.add('search-open');\n\n\t\t// window is small enough that things need to be hidden\n\t\tif (windowSize.width <= REFLOW_BREAKPOINTS.BREAKPOINT_THREE) {\n\t\t\t// hide center pill\n\t\t\tif (!centerZone?.classList.contains('hidden')) {\n\t\t\t\tcenterZone?.classList.add('hidden');\n\t\t\t}\n\n\t\t\tif (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\t\t\tsearchContainer?.classList.add('tiny-search');\n\n\t\t\t\tif (!utilMenu?.classList.contains('hidden')) {\n\t\t\t\t\tutilMenu?.classList.add('hidden');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if window is under 540 hide everything in the header except search\n\t\t\tif (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_540) {\n\t\t\t\tif (!startingZone?.classList.contains('hidden')) {\n\t\t\t\t\tstartingZone?.classList.add('hidden');\n\t\t\t\t}\n\t\t\t\tsearchContainer?.classList.add('tiny-search');\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// window is large enough to fit everything so just make sure nothing is hidden.\n\t\tcenterZone?.classList.remove('hidden');\n\t\tutilMenu?.classList.remove('hidden');\n\t\tstartingZone?.classList.remove('hidden');\n\t\tsearchContainer?.classList.remove('tiny-search');\n\t\tpolarisHeader?.classList.remove('search-open');\n\t\tendingZone?.classList.remove('search-open');\n\t}\n};\n\nexport const openURLInNewTab = (url) => {\n\t// We do not want to target the window since search results can be different,\n\t// targeting will only wipe out any other results opened, default is _blank to specify new tab\n\tconst externalWindow = window.open(url);\n\tif (externalWindow) externalWindow.focus();\n};\n\nexport default {\n\tname: 'SEARCH_BEHAVIOR',\n\tinitialState: {\n\t\tsearchContexts: [],\n\t\tselectedSearchContext: {}\n\t},\n\tactionHandlers: {\n\t\t[SEARCH_CONTEXT_UPDATED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tstate: {selectedSearchContext}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (!isEqual(selectedSearchContext, payload)) {\n\t\t\t\t\tupdateState({selectedSearchContext: payload, shouldRender: false});\n\t\t\t\t\ttrack(coeffects, METRICS.SEARCH_CONTEXT_SELECTED, {\n\t\t\t\t\t\tsearchContext: payload.label\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GLOBAL_SEARCH_FOCUSED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\t// Two different types of inputs depending on Ai Search or Zing\n\t\t\t\t// Need to submit feature enhancement to search wrapper to have them add a handler\n\t\t\t\tconst typeaheadInput = host.shadowRoot\n\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-input-wrapper')\n\t\t\t\t\t?.shadowRoot.querySelector(\n\t\t\t\t\t\t'sn-component-workspace-global-search-typeahead'\n\t\t\t\t\t)\n\t\t\t\t\t?.shadowRoot.querySelector('input');\n\n\t\t\t\tconst comboboxInput = host.shadowRoot\n\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-input-wrapper')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-combobox')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-combobox-desktop')\n\t\t\t\t\t?.shadowRoot.querySelector('input');\n\n\t\t\t\tif (typeaheadInput) {\n\t\t\t\t\ttypeaheadInput.select();\n\t\t\t\t} else if (comboboxInput) {\n\t\t\t\t\tcomboboxInput.select();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SEARCH_DROPDOWN_OPENED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tif (payload.userAction === 'tourlist-dropdown') return;\n\n\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t}\n\t\t},\n\t\t['SN_SEARCH_RESULT_WRAPPER#ZING_RESULT_CLICKED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\trecordUrl,\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tisExternalUrl,\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\topenInNewTab,\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta: {event}\n\t\t\t\t\t},\n\t\t\t\t\tstate: {searchRouteMap},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (source) return;\n\t\t\t\tconst context = selectedSearchContext\n\t\t\t\t\t? {path: selectedSearchContext}\n\t\t\t\t\t: POLARIS_CONTEXT;\n\n\t\t\t\tconst url = recordUrl || `${table}.do?sys_id=${sysId}`;\n\t\t\t\tif (isExternalUrl) {\n\t\t\t\t\topenURLInNewTab(url);\n\t\t\t\t} else if (context.path === POLARIS_SITE_NAME) {\n\t\t\t\t\tif (openInNewTab) {\n\t\t\t\t\t\topenURLInNewTab(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: url\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// need to redispatch action with updated payload from workspace search results component\n\t\t\t\t\t// as action handler is bound to the script at the component level.\n\t\t\t\t\t// updated payload will have selectedSearchContext and roureConfigID used for dynamic routing\n\t\t\t\t\tevent\n\t\t\t\t\t\t?.composedPath()[0]\n\t\t\t\t\t\t.dispatch('SN_SEARCH_RESULT_WRAPPER#ZING_RESULT_CLICKED', {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tsearchRouteMap,\n\t\t\t\t\t\t\tsource: 'sn-polaris-layout',\n\t\t\t\t\t\t\topenInNewTab,\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttrack(coeffects, METRICS.SEARCH_RESULTS_ITEM_SELECTED, {table, sysId});\n\t\t\t}\n\t\t},\n\t\t['SN_SEARCH_RESULT_WRAPPER#BACK_CLICKED']: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tconst previousContext = cache.get('searchPreviousContext');\n\n\t\t\t\tif (previousContext) {\n\t\t\t\t\tconst parsedPreviousContext = JSON.parse(previousContext);\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, parsedPreviousContext);\n\t\t\t\t} else {\n\t\t\t\t\t// Should not get here since cache entry is retained with the session\n\t\t\t\t\tdispatch(HOME_PAGE_SELECTED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tCONFIGURABLE,\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES,\n\tSYSTEM\n} from '../constants';\n\nexport default function getMenuType(sysId = '') {\n\tif (!sysId) return;\n\n\tconst isSystemMenu =\n\t\tsysId === MENU_ALL ||\n\t\tsysId === MENU_HISTORY ||\n\t\tsysId === MENU_FAVORITES ||\n\t\tsysId === MENU_WORKSPACES;\n\n\treturn isSystemMenu ? SYSTEM : CONFIGURABLE;\n}\n\nexport function isMenuListUpdated(previous = [], current = []) {\n\tif (previous === null || previous.length !== current.length) return true;\n\n\tconst isUpdated = previous.some(\n\t\t(element, index) => element.label !== current[index]?.label\n\t);\n\treturn isUpdated;\n}\n","export const CONTEXT_MENU_HEADER_TYPES = {\n\tTEXT: 'text',\n\tFILTER: 'filter',\n\tNONE: 'none'\n};\nexport const UPDATE_UTILITY_MENU_ITEMS = 'UPDATE_UTILITY_MENU_ITEMS';\nexport const UTILITY_MENU_UPDATED =\n\t'POLARIS_UTILITY_MENU_BEHAVIOR#UTILITY_MENU_UPDATED';\n","export const START_TRACK_TIME = 'PERFORMANCE_METRICS#START_TRACK_TIME';\nexport const END_TRACK_TIME = 'PERFORMANCE_METRICS#END_TRACK_TIME';\n","export const BEHAVIOR_NAME = 'PERFORMANCE_METRICS_BEHAVIOR';\nexport const CONCOURSE_FETCH_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.concourseFetchTime`;\nexport const FETCH_PLUGINS_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchPluginsTime`;\nexport const CREATE_FAVORITE_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.createFavoriteTime`;\nexport const MENU_RENDER_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.menuRenderTime`;\nexport const FETCH_MENU_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchMenuTime`;\nexport const HEADER_RENDER_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.headerRenderTime`;\nexport const IMPERSONATE_FETCH_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchImpersonateTime`;\n","import track from '../../utils/track';\nimport {\n\tMODAL_SELECTED,\n\tNAV_ITEM_SELECTED,\n\tNOW_BUTTON_CLICKED,\n\tPOLARIS_CONTEXT,\n\tNAV_RESIZED,\n\tBUTTON_ACTIONS,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tCLASSIC,\n\tMETRICS,\n\tMENU_WORKSPACES,\n\tMENU_ALL,\n\tMAIN_LOGO_WIDTH_CACHE_KEY,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS\n} from '../../constants';\nimport {t} from 'sn-translate';\nimport {LINK_TYPES} from './constants';\nimport {\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU,\n\tOVERFLOW_MENU_ITEMS_CHANGED,\n\tNOTIFICATION_DATA_UPDATED,\n\tFEEDBACK_FORM_BUTTON_CLICKED,\n\tEXPEREIENCE_TITLE_RESIZED\n} from '../sn-polaris-layout/actions';\nimport {\n\tEND_IMPERSONATION_REQUESTED,\n\tIMPERSONATION_MODAL_OPENED\n} from '../../behaviors/impersonation-behavior/actions';\nimport {SN_DRAGGABLE_CHANGED_POSITION} from '../sn-polaris-layout/draggable/actions';\nimport {\n\tHOME_PAGE_SELECTED,\n\tHEADER_EXPERIENCE_MENU_CLICKED,\n\tHEADER_LOGO_CLICKED,\n\tMAIN_LOGO_LOADED,\n\tLOGO_IMAGE_UPDATED\n} from './actions';\nimport {LOGOUT_REQUESTED} from '../../behaviors/logout-behavior/actions';\nimport {PRINTER_FRIENDLY_VERSION_REQUESTED} from '../../behaviors/printer-friendly-behavior/actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {positionHeaderItems} from './utils/position-navigation-items';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED\n} = actionTypes;\nimport {ELEVATE_ROLE_MODAL_OPENED} from '../../behaviors/elevate-role-behavior/actions';\nimport {formatURLByType} from './utils/link-utils';\nimport {get, isEqual, isNil, debounce} from 'lodash';\nimport {isDeepEqual} from '../../utils/deepEquals';\nimport {\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFICATION_OPENED,\n\tFETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED\n} from '../../behaviors/notification-behavior/actions';\nimport {unreadNotificationCountConditional} from '../../behaviors/notification-behavior/utils/utils';\nimport {\n\thandleSearchReflow,\n\tbuildAvailableSearchContext\n} from '../../behaviors/search-behavior';\nimport {isMenuListUpdated} from '../../utils/menuUtils';\nimport cache from '../../utils/cache';\nimport {UPDATE_UTILITY_MENU_ITEMS} from '../../behaviors/utility-menu-behavior/actions';\nimport {\n\tFAVORITES_COMMUNICATED_TO_SW,\n\tSYNC_FAVORITES_COMPLETE\n} from '../../behaviors/favorites-behavior/actions';\nimport {SEARCH_INPUT_ONRESIZE} from '../../behaviors/search-behavior/actions';\nimport {positionsMenuItemsOmitCurrent} from '../sn-polaris-layout/draggable/draggable.utils';\nimport {\n\tEND_TRACK_TIME,\n\tSTART_TRACK_TIME\n} from '../../behaviors/performance-metrics-behavior/actions';\nimport {HEADER_RENDER_TIME_PATH} from '../../behaviors/performance-metrics-behavior/constants';\n\nconst handleExperienceNavigationClick = ({\n\taction: {payload},\n\tstate: {\n\t\tproperties: {selectedContent}\n\t},\n\tdispatch\n}) => {\n\tconst {context} = selectedContent;\n\tconst {value, type} = payload.target;\n\n\tswitch (type) {\n\t\tcase LINK_TYPES.EXTERNAL_LINK_TYPE:\n\t\t\t{\n\t\t\t\tconst {\n\t\t\t\t\topensWindow,\n\t\t\t\t\tvalue: {href, target}\n\t\t\t\t} = payload.target;\n\t\t\t\tif (!opensWindow) window.location.href = href;\n\t\t\t\telse {\n\t\t\t\t\tconst external = {\n\t\t\t\t\t\turl: href,\n\t\t\t\t\t\ttarget\n\t\t\t\t\t};\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LINK_TYPES.EMAIL_LINK_TYPE:\n\t\tcase LINK_TYPES.PHONE_LINK_TYPE:\n\t\t\t{\n\t\t\t\tconst url = formatURLByType(value, type);\n\t\t\t\tconst external = {\n\t\t\t\t\turl\n\t\t\t\t};\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LINK_TYPES.MODAL_LINK_TYPE:\n\t\t\tdispatch(MODAL_SELECTED, value);\n\t\t\tbreak;\n\t\tcase LINK_TYPES.ROUTE_LINK_TYPE:\n\t\tdefault:\n\t\t\tdispatch(NAV_ITEM_SELECTED, {context, ...value});\n\t\t\tbreak;\n\t}\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleFirstLoad = (coeffects) => {\n\tconst {host, properties, dispatch} = coeffects;\n\tconst {mainMenuState, contextualMenuState, menuItems} = properties;\n\n\t// sometimes first load can get called before the menuItems are loaded\n\t// when that happens, skip trying to populate label and wait for menuItems\n\tif (\n\t\t(!menuItems ||\n\t\t\tmenuItems.length === 0 ||\n\t\t\tmenuItems[0].id === 'menuLoader' ||\n\t\t\tmainMenuState.primaryMenuLoading) &&\n\t\tmainMenuState.isMenuPinned\n\t) {\n\t\treturn;\n\t}\n\n\tif (mainMenuState.isMenuPinned) {\n\t\tconst pinnedTabLabels = host.shadowRoot.querySelectorAll('.tab-name');\n\t\tconst pinnedMenuItem = menuItems.find(\n\t\t\t(item) => item && item.id === mainMenuState.primaryMenuId\n\t\t);\n\t\tif (pinnedMenuItem) {\n\t\t\tpinnedTabLabels[0].innerText = pinnedMenuItem.label;\n\t\t\tpinnedTabLabels[0].className = 'tab-name  shown';\n\t\t}\n\t}\n\n\tif (contextualMenuState.isMenuPinned) {\n\t\tconst pinnedUtilityButton = host.shadowRoot.querySelector(\n\t\t\t'.contextual-zone-button.pinned'\n\t\t);\n\t\tif (isNil(pinnedUtilityButton)) return;\n\t\tconst icon = pinnedUtilityButton.querySelector('now-icon');\n\t\tif (icon) {\n\t\t\tconst pinnedIcons = host.shadowRoot.querySelectorAll('.pinned-icon');\n\n\t\t\tpinnedIcons[0].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\ticon.icon\n\t\t\t}' />`;\n\t\t\tpinnedIcons[0].style.opacity = 1;\n\t\t}\n\t}\n\n\tdispatch(END_TRACK_TIME, {\n\t\tcoeffects: coeffects,\n\t\tmetric: METRICS.HEADER_RENDERED,\n\t\tpath: HEADER_RENDER_TIME_PATH\n\t});\n};\n\nconst requestUnreadCount = debounce((properties, dispatch) => {\n\tconst sysId = properties.userMeta?.sys_id || '';\n\tconst unreadConditional = unreadNotificationCountConditional(\n\t\tsysId,\n\t\tproperties.userMeta.timeZoneOffset\n\t);\n\tdispatch(FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED, {\n\t\tcondition: unreadConditional\n\t});\n}, 200);\n\nconst measureButtonPlacement = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {\n\t\t\tcontextualMenuState,\n\t\t\tutilityMenuData,\n\t\t\tutilityMenuItemLeftPositions\n\t\t},\n\t\tupdateProperties\n\t} = coeffects;\n\tconst buttonContainer = host.shadowRoot.querySelector('.utility-menu'); //utilityMenuRef.current;\n\tconst buttonList = buttonContainer?.querySelectorAll(\n\t\t'.contextual-zone-button'\n\t);\n\tconst pinnedIcons = host.shadowRoot.querySelector('.pinned-icons');\n\n\tconst menuItemLeftPositions = {};\n\n\tlet hiddenOverflowOffset = 0;\n\tlet pinningOffset = document.dir === 'rtl' ? 1 : -1;\n\n\tif (contextualMenuState.isMenuPinned && contextualMenuState.canBePinned) {\n\t\tif (document.dir === 'rtl') {\n\t\t\tpinningOffset = contextualMenuState.pinnedMenuWidth + 4;\n\t\t} else {\n\t\t\tpinningOffset =\n\t\t\t\tdocument.body.offsetWidth -\n\t\t\t\t((buttonContainer?.offsetLeft || 0) +\n\t\t\t\t\t(buttonContainer?.offsetWidth || 0)) -\n\t\t\t\t9;\n\t\t}\n\t}\n\n\t// first button is always avatar button and has a different size+padding from the rest of the buttons\n\tconst firstButton = buttonList[buttonList.length - 1];\n\n\t//if no first button was found then there were likely no buttons at all\n\tif (!firstButton) return;\n\n\tmenuItemLeftPositions.userMenu =\n\t\tdocument.dir === 'rtl'\n\t\t\t? firstButton.offsetLeft - pinningOffset - pinnedIcons.offsetWidth\n\t\t\t: firstButton.offsetLeft + pinningOffset + pinnedIcons.offsetWidth;\n\n\t//grab whatever the second button is to use for finding button dimensions.\n\tconst secondButton = buttonList[buttonList.length - 2];\n\n\tif (firstButton && secondButton) {\n\t\tconst secondButtonLeft =\n\t\t\tdocument.dir === 'rtl'\n\t\t\t\t? secondButton.offsetLeft - pinnedIcons.offsetWidth\n\t\t\t\t: secondButton.offsetLeft + pinnedIcons.offsetWidth;\n\n\t\tconst gridGap = 8; // space between buttons\n\t\tconst buttonWidth = firstButton.offsetWidth;\n\n\t\tif (secondButton.classList.contains('is-placeholder')) {\n\t\t\thiddenOverflowOffset = document.dir === 'rtl' ? buttonWidth + 4 : 4;\n\t\t}\n\t\t// used to compute left offset of each button\n\t\tlet buttonLeftOffset =\n\t\t\tdocument.dir === 'rtl'\n\t\t\t\t? secondButtonLeft - pinningOffset - hiddenOverflowOffset\n\t\t\t\t: secondButtonLeft + pinningOffset + hiddenOverflowOffset;\n\t\tlet buttonListIndex = buttonList.length - 2;\n\n\t\t// compute the left offset of each utility button other than the avatar button\n\t\tfor (let i = utilityMenuData.length - 1; i >= 0; i--) {\n\t\t\tif (\n\t\t\t\tbuttonListIndex >= 0 &&\n\t\t\t\tbuttonList[buttonListIndex].classList.contains(\n\t\t\t\t\tutilityMenuData[i].buttonConfig.id\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\t!buttonList[buttonListIndex].classList.contains('is-placeholder') ||\n\t\t\t\t\tbuttonList[buttonListIndex].classList.contains(\n\t\t\t\t\t\t'utility-overflow-menu'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tmenuItemLeftPositions[\n\t\t\t\t\t\tutilityMenuData[i].menuConfig.menuProperties.menuType\n\t\t\t\t\t] = buttonLeftOffset;\n\t\t\t\t\tbuttonLeftOffset =\n\t\t\t\t\t\tdocument.dir === 'rtl'\n\t\t\t\t\t\t\t? buttonLeftOffset + buttonWidth\n\t\t\t\t\t\t\t: buttonLeftOffset - buttonWidth;\n\n\t\t\t\t\tif (i !== 0) {\n\t\t\t\t\t\tbuttonLeftOffset =\n\t\t\t\t\t\t\tdocument.dir === 'rtl'\n\t\t\t\t\t\t\t\t? buttonLeftOffset + gridGap\n\t\t\t\t\t\t\t\t: buttonLeftOffset - gridGap;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Save the next position in the case the item gets unpinned\n\t\t\t\t\tmenuItemLeftPositions[\n\t\t\t\t\t\tutilityMenuData[i].menuConfig.menuProperties.menuType\n\t\t\t\t\t] = buttonLeftOffset;\n\t\t\t\t}\n\t\t\t\tbuttonListIndex--;\n\t\t\t}\n\t\t}\n\t}\n\t// the number of utility buttons can change after page load, so use this to only update measurements when the number of buttons changes.\n\t// we also use this to force a re-measurement such as on window resize by setting button count to 0\n\n\tif (!isDeepEqual(utilityMenuItemLeftPositions, menuItemLeftPositions)) {\n\t\tupdateProperties({\n\t\t\tutilityMenuItemLeftPositions: menuItemLeftPositions\n\t\t});\n\t}\n};\n\nconst doHeaderReflow = (coeffects) => {\n\thandleSearchReflow(coeffects);\n\tpositionHeaderItems(coeffects);\n\tmeasureButtonPlacement(coeffects);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDER_REQUESTED]({\n\t\taction: {\n\t\t\tmeta: {firstRenderOnConnect},\n\t\t\tpayload: {previousRenderProperties},\n\t\t\tpreventDefault\n\t\t},\n\t\tproperties: {shouldComponentRender, utilityMenuData, pageTitle},\n\t\tdispatch\n\t}) {\n\t\t// Allow the first render + any following renders after the flag gets set\n\t\tif (\n\t\t\tfirstRenderOnConnect ||\n\t\t\tshouldComponentRender ||\n\t\t\tpreviousRenderProperties.utilityMenuData !== utilityMenuData ||\n\t\t\tpreviousRenderProperties.pageTitle !== pageTitle\n\t\t) {\n\t\t\tdispatch(START_TRACK_TIME, {\n\t\t\t\tpath: HEADER_RENDER_TIME_PATH\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tpreventDefault();\n\t},\n\t[OVERFLOW_MENU_ITEMS_CHANGED]: {\n\t\teffect: ({action: {payload}, properties}) => {\n\t\t\tconst menuItems = properties.menuItems;\n\t\t\tconst lastMenuItem = menuItems ? menuItems[menuItems.length - 1] : null;\n\n\t\t\tif (lastMenuItem?.isOverflow) {\n\t\t\t\tlastMenuItem.subId = payload.id || '';\n\t\t\t\tlastMenuItem.index = payload.index || '';\n\t\t\t\tlastMenuItem.label = payload.label || '';\n\t\t\t\tlastMenuItem.icon = payload.icon;\n\t\t\t\tlastMenuItem.subTemplate = payload.template || MENU_ALL;\n\t\t\t\tlastMenuItem.subItems = payload.overflowMenuItems;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({properties, updateProperties}) => {\n\t\t\tconst logoWidth = cache.get(MAIN_LOGO_WIDTH_CACHE_KEY);\n\n\t\t\tif (logoWidth && logoWidth !== properties.mainLogoWidth) {\n\t\t\t\tupdateProperties({mainLogoWidth: logoWidth});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: (coeffect) => {\n\t\t\tconst {\n\t\t\t\tstate,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties,\n\t\t\t\thost,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffect;\n\t\t\tif (!state.headerNavigationElemRef) {\n\t\t\t\tconst navMenuElem = host.shadowRoot.querySelector(\n\t\t\t\t\t'.sn-polaris-navigation'\n\t\t\t\t);\n\n\t\t\t\tif (navMenuElem) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'headerNavigationElemRef',\n\t\t\t\t\t\tvalue: navMenuElem,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (payload.name) {\n\t\t\t\tcase 'printerFriendlyEnabled':\n\t\t\t\t\tif (properties.contextualMenu.menuType === 'userMenu') {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t...properties.contextualMenu,\n\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t...properties.contextualMenu.menuData,\n\t\t\t\t\t\t\t\t\tprinterFriendlyEnabled: payload.value\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'unreadNotificationCount':\n\t\t\t\tcase 'openFrame':\n\t\t\t\tcase 'concoursePickerConfig':\n\t\t\t\t\t// make sure we update the utlity menu since pickerConfig changed\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'mainMenuState': {\n\t\t\t\t\tconst pinnedTabLabels = host.shadowRoot.querySelectorAll('.tab-name');\n\t\t\t\t\tif (!pinnedTabLabels) {\n\t\t\t\t\t\treturn; // if pinned tab elements were not found, return and move on\n\t\t\t\t\t}\n\n\t\t\t\t\tconst previousState = payload.previousValue;\n\t\t\t\t\tconst newState = payload.value;\n\t\t\t\t\tconst changedProps = [];\n\t\t\t\t\tlet didStateChange = false;\n\n\t\t\t\t\t// compare states to see what changed\n\t\t\t\t\tfor (const property in newState) {\n\t\t\t\t\t\tif (newState[property] !== previousState[property]) {\n\t\t\t\t\t\t\tdidStateChange = true;\n\t\t\t\t\t\t\tchangedProps.push(property);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// handle pin state change if it changed\n\t\t\t\t\tif (\n\t\t\t\t\t\tdidStateChange &&\n\t\t\t\t\t\t(changedProps.includes('pinnedMenuId') ||\n\t\t\t\t\t\t\tchangedProps.includes('isMenuPinned'))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// no pinned menu so reset pinned tabs classnames\n\t\t\t\t\t\tif (!newState.isMenuPinned) {\n\t\t\t\t\t\t\tpinnedTabLabels[0].className = 'tab-name';\n\t\t\t\t\t\t\tpinnedTabLabels[1].className = 'tab-name';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnewState.pinnedMenuId === null ||\n\t\t\t\t\t\t\t\tpreviousState.pinnedMenuId === 'menuLoader'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// get our menu data\n\t\t\t\t\t\t\tconst pinnedMenu = properties.menuItems.find(\n\t\t\t\t\t\t\t\t(item) => item.id === newState.pinnedMenuId\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// It's possible that the pinned menu isn't in the menuItems yet\n\t\t\t\t\t\t\tif (!pinnedMenu || pinnedMenu.id === 'menuLoader') return;\n\n\t\t\t\t\t\t\t// decide which tab to use\n\t\t\t\t\t\t\tconst useFirstTab = !pinnedTabLabels[0].classList.contains(\n\t\t\t\t\t\t\t\t'shown'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// handle cross fading between tabs\n\t\t\t\t\t\t\tif (pinnedMenu && pinnedMenu.label) {\n\t\t\t\t\t\t\t\tpinnedTabLabels[useFirstTab ? 0 : 1].innerText =\n\t\t\t\t\t\t\t\t\tpinnedMenu.label;\n\t\t\t\t\t\t\t\tpinnedTabLabels[0].className = `tab-name ${\n\t\t\t\t\t\t\t\t\tuseFirstTab ? 'shown' : ''\n\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t\tpinnedTabLabels[1].className = `tab-name ${\n\t\t\t\t\t\t\t\t\t!useFirstTab ? 'shown' : ''\n\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'contextualMenuState': {\n\t\t\t\t\tconst {value, previousValue} = payload;\n\n\t\t\t\t\tif (value.primaryMenuId !== null || value.secondaryMenuId !== null) {\n\t\t\t\t\t\tconst primaryMenu = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t`sn-contextual-menu#${value.primaryMenuId}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (primaryMenu && primaryMenu.hasAttribute('defer')) {\n\t\t\t\t\t\t\tprimaryMenu.removeAttribute('defer');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst secondaryMenu = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t`sn-contextual-menu#${value.secondaryMenuId}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (secondaryMenu && secondaryMenu.hasAttribute('defer')) {\n\t\t\t\t\t\t\tsecondaryMenu.removeAttribute('defer');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tvalue.isMenuPinned &&\n\t\t\t\t\t\tvalue.pinnedMenuId !== previousValue.pinnedMenuId\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst pinnedUtilityButton = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t'.contextual-zone-button.pinned'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (isNil(pinnedUtilityButton)) return;\n\t\t\t\t\t\tconst icon = pinnedUtilityButton.querySelector('now-icon');\n\t\t\t\t\t\tif (icon) {\n\t\t\t\t\t\t\tconst pinnedIcons = host.shadowRoot.querySelectorAll(\n\t\t\t\t\t\t\t\t'.pinned-icon'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (pinnedIcons[0].innerHTML === '') {\n\t\t\t\t\t\t\t\tpinnedIcons[0].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\t\t\t\t\t\ticon.icon\n\t\t\t\t\t\t\t\t}' />`;\n\t\t\t\t\t\t\t\tpinnedIcons[0].style.opacity = 1;\n\t\t\t\t\t\t\t\tpinnedIcons[1].innerHTML = '';\n\t\t\t\t\t\t\t\tpinnedIcons[1].style.opacity = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpinnedIcons[1].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\t\t\t\t\t\ticon.icon\n\t\t\t\t\t\t\t\t}' />`;\n\t\t\t\t\t\t\t\tpinnedIcons[1].style.opacity = 1;\n\t\t\t\t\t\t\t\tpinnedIcons[0].innerHTML = '';\n\t\t\t\t\t\t\t\tpinnedIcons[0].style.opacity = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'notifications': {\n\t\t\t\t\t// Really need a better way of keeping contextual menu stuff up to date\n\n\t\t\t\t\tif (isEqual(payload.previousValue, payload.value)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(NOTIFICATION_DATA_UPDATED, {\n\t\t\t\t\t\tnotificationData: properties.notifications\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!properties.isFetchingUnreadCount) {\n\t\t\t\t\t\trequestUnreadCount(properties, dispatch);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'menuItems': {\n\t\t\t\t\tif (isMenuListUpdated(payload.previousValue, payload.value)) {\n\t\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (properties.isSyncingFavorites) {\n\t\t\t\t\t\tdispatch(SYNC_FAVORITES_COMPLETE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst oldFavorites = payload.previousValue?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst newFavorites = payload.value?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!isEqual(oldFavorites, newFavorites)) {\n\t\t\t\t\t\t\tdispatch(FAVORITES_COMMUNICATED_TO_SW, {\n\t\t\t\t\t\t\t\tfavoriteMenu: newFavorites\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase 'headerConfig': {\n\t\t\t\t\tconst searchContexts = buildAvailableSearchContext({\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t});\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thasWorkspaces: !!properties.menuItems?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_WORKSPACES\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsearchContexts\n\t\t\t\t\t});\n\n\t\t\t\t\thandleFirstLoad({host, properties, dispatch});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'polarisSearchContexts':\n\t\t\t\tcase 'selectedContent':\n\t\t\t\tcase 'globalSearchEnabled': {\n\t\t\t\t\tif (\n\t\t\t\t\t\tisEqual(payload.previousValue, payload.value) ||\n\t\t\t\t\t\t!properties.isPolarisEnabled\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tsearchContexts: buildAvailableSearchContext({\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'hasDirtyWorkspaces': {\n\t\t\t\t\tconst oldHasDirtyWorkspace = get(\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t'hasDirtyWorkspace',\n\t\t\t\t\t\tnull\n\t\t\t\t\t);\n\t\t\t\t\tif (payload.value !== oldHasDirtyWorkspace) {\n\t\t\t\t\t\t// Need to recalulate the tab positioning because the size of the tab changed from the dirty workspace icon\n\t\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'windowSize': {\n\t\t\t\t\tconst previousWidth = payload.previousValue.width;\n\t\t\t\t\tconst newWidth = properties.windowSize.width;\n\t\t\t\t\tconst breakPoint = REFLOW_BREAKPOINTS.BREAKPOINT_420;\n\t\t\t\t\tif (\n\t\t\t\t\t\t(newWidth < breakPoint && previousWidth > breakPoint) ||\n\t\t\t\t\t\t(newWidth >= breakPoint && previousWidth < breakPoint)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// to prevent rendering issue during reflow\n\t\t\t\t\t\tdispatch(MAIN_LOGO_LOADED);\n\t\t\t\t\t}\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tif (properties.contextualMenu.showMenu) {\n\t\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'pageTitle':\n\t\t\t\tcase 'utilityMenuData': {\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'headerMenuItems':\n\t\t\t\tcase 'mainLogoWidth': {\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'helpPanelAppContext':\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'wideMenus':\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NAV_RESIZED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {dispatch, state} = coeffects;\n\t\t\tconst {mainMenuState, menuItems} = state.properties;\n\t\t\tif (\n\t\t\t\tmenuItems?.length &&\n\t\t\t\t(mainMenuState.primaryMenuId === menuItems[menuItems.length - 1].id ||\n\t\t\t\t\tmainMenuState.secondaryMenuId === menuItems[menuItems.length - 1].id)\n\t\t\t) {\n\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t}\n\t\t\thandleSearchReflow(coeffects);\n\t\t\tpositionHeaderItems(coeffects);\n\t\t\tmeasureButtonPlacement(coeffects);\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t[EXPEREIENCE_TITLE_RESIZED]: {\n\t\teffect: doHeaderReflow,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_INPUT_ONRESIZE]: {\n\t\teffect: doHeaderReflow,\n\t\tstopPropagation: true\n\t},\n\t[HOME_PAGE_SELECTED]: ({dispatch}) => {\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: t('Home'),\n\t\t\ttype: 'seismic'\n\t\t});\n\t\tdispatch(NAV_ITEM_SELECTED, {route: 'home', context: POLARIS_CONTEXT});\n\t\t//should be in state\n\t\tdispatch(CLOSE_MENUS);\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\thost: {baseURI}\n\t\t\t} = coeffects;\n\t\t\tconst payload = action.payload;\n\n\t\t\tconst experienceMenuClick = () => {\n\t\t\t\thandleExperienceNavigationClick({\n\t\t\t\t\taction,\n\t\t\t\t\tstate,\n\t\t\t\t\tdispatch\n\t\t\t\t});\n\t\t\t};\n\t\t\tfunction handleEvent(eventSource) {\n\t\t\t\tconst HEADER_ACTIONS = {\n\t\t\t\t\t[BUTTON_ACTIONS.LOGOUT_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(LOGOUT_REQUESTED);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {name: 'Log Out'});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.PRINTER_FRIENDLY_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(PRINTER_FRIENDLY_VERSION_REQUESTED);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Printer Friendly Version'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.IMPERSONATE_USER_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_OPENED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Impersonate User'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.END_IMPERSONATION_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(END_IMPERSONATION_REQUESTED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'End User Impersonation'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.ELEVATE_ROLE_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(ELEVATE_ROLE_MODAL_OPENED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Elevate Role'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.PROFILE_CLICKED]: () => {\n\t\t\t\t\t\t// If the Button was clicked with cmd key open in new tab\n\t\t\t\t\t\tif (payload?.event?.metaKey) {\n\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\tbaseURI +\n\t\t\t\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\t\t\t\tproperties.userMeta.sys_id +\n\t\t\t\t\t\t\t\t\t'&sysparm_view=ess',\n\t\t\t\t\t\t\t\t'profile'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\ttarget:\n\t\t\t\t\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\t\t\t\t\tproperties.userMeta.sys_id +\n\t\t\t\t\t\t\t\t\t\t'&sysparm_view=ess'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {name: 'Profile'});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED]: experienceMenuClick,\n\t\t\t\t\t[BUTTON_ACTIONS.OPEN_FEEDBACK]: () => {\n\t\t\t\t\t\tdispatch(FEEDBACK_FORM_BUTTON_CLICKED);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst handler = HEADER_ACTIONS[eventSource];\n\n\t\t\t\t// Handle it here or dispatch the source as an action to be handled in some parent\n\t\t\t\tif (handler || eventSource) {\n\t\t\t\t\thandler ? handler() : dispatch(eventSource);\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleEvent(payload.eventSource);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MAIN_LOGO_LOADED]: {\n\t\teffect: ({host, properties, updateProperties}) => {\n\t\t\t// We don't know the width of the logo until its loaded\n\t\t\t// and that is needed to set the starting width for the logo\n\t\t\t// container and main navigation animations. Without a starting width\n\t\t\t// those elements can not animate.\n\t\t\tconst logoImg = host.shadowRoot.querySelectorAll(\n\t\t\t\t'div.polaris-header-logo'\n\t\t\t)[0];\n\t\t\tconst logoBounds = logoImg.getBoundingClientRect();\n\t\t\tconst logoContainer = host.shadowRoot.querySelectorAll('.logo-area')[0];\n\t\t\tconst logoWidth = logoBounds.width === 0 ? 40 : logoBounds.width;\n\t\t\tlogoContainer.style.width = `${logoWidth}px`;\n\t\t\tlogoContainer.className += ' can-animate';\n\n\t\t\tconst cachedLogoWidth = cache.get(MAIN_LOGO_WIDTH_CACHE_KEY);\n\t\t\tif (\n\t\t\t\tlogoWidth !== properties.mainLogoWidth ||\n\t\t\t\tlogoWidth !== cachedLogoWidth\n\t\t\t) {\n\t\t\t\tcache.set(MAIN_LOGO_WIDTH_CACHE_KEY, logoWidth);\n\t\t\t\tupdateProperties({mainLogoWidth: logoWidth});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t'NOW_CARD#SELECTED_SET': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {from, sysId, table, recordSysId}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (from !== 'notifications') return;\n\n\t\t\tdispatch(NOTIFICATION_OPENED, {\n\t\t\t\tsysId,\n\t\t\t\ttable,\n\t\t\t\trecordSysId\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_CHANGED_POSITION]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'openframeLockedPosition',\n\t\t\t\t\tvalue: value,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFramePositions',\n\t\t\t\t\tvalue: positionsMenuItemsOmitCurrent(value),\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_CARD_HEADER#ACTION_CLICKED': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {action, items}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (action.id !== 'clear') return;\n\n\t\t\tdispatch(NOTIFICATIONS_CLEARED, {items});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[HEADER_LOGO_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\ttrack(coeffects, METRICS.RETURN_HOME, {name: 'Header Logo'});\n\t\t}\n\t},\n\t[HEADER_EXPERIENCE_MENU_CLICKED]: handleExperienceNavigationClick,\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleFirstLoad,\n\t\tstopPropagation: true\n\t},\n\t['openframe_hidden']: {\n\t\teffect: ({host}) => {\n\t\t\t// openframe is the only util menu which is not wrapped by the contextual-menu component\n\t\t\t// so it cant use focusBehavior to handle focus after the CTI diaolog is closed.\n\t\t\t// This means we need to manually set focus back to the CTI button.\n\t\t\thost.shadowRoot\n\t\t\t\t.querySelector('.contextual-zone-button.polaris-enabled.cti')\n\t\t\t\t?.focus();\n\t\t}\n\t},\n\t[LOGO_IMAGE_UPDATED]: {\n\t\teffect: ({updateProperties, action}) => {\n\t\t\tupdateProperties({coreUILogoSrc: action.payload.logoImage});\n\t\t}\n\t}\n};\n","import get from 'lodash/get';\nimport {LINK_TYPES} from '../constants';\n\nexport const formatURLByType = (linkValue = {}, type) => {\n\tconst url = get(linkValue, 'href', '');\n\tswitch (type) {\n\t\tcase LINK_TYPES.EMAIL_LINK_TYPE:\n\t\t\treturn 'mailto:' + url;\n\t\tcase LINK_TYPES.PHONE_LINK_TYPE:\n\t\t\treturn 'tel:' + url;\n\t\tdefault:\n\t\t\treturn url;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_15_polaris_6_index_jsdbx_39ab6cd4__[\"default\"][\"default\"];\n\t\t\t\t} });","export default function deepFind(\n\tarray,\n\tpath,\n\tsearch,\n\tsetParents = false,\n\tparents = []\n) {\n\tif (!Array.isArray(array)) array = [array];\n\n\tfor (const object of array) {\n\t\tif (search(object)) return setParents ? {...object, parents} : object;\n\n\t\tif (object[path]) {\n\t\t\tconst deepResult = deepFind(object[path], path, search, setParents, [\n\t\t\t\t...parents,\n\t\t\t\tobject\n\t\t\t]);\n\n\t\t\tif (deepResult) return deepResult;\n\t\t}\n\t}\n\n\treturn null;\n}\n","export const ENCRYPTION_PICKER_REFRESH_REQUESTED =\n\t'ENCRYPTION_PICKER#REFRESH_REQUESTED';\n\nexport const ENCRYPTION_CHANGE_REQUESTED = 'ENCRYPTION#CHANGE_REQUESTED';\n","const lifecycleFns = {};\nexport default lifecycleFns;\n","import fns from './lifecycleFns';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty, requestIdleCallback} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../constants';\n\nexport default function registerLifecycleFn(\n\tfn,\n\tlifecycle,\n\toptions = {runWhenIdle: true, post: false}\n) {\n\tconst {runWhenIdle = true, post = false} = options;\n\n\tif (post) lifecycle = `POST_${lifecycle}`;\n\n\tif (\n\t\tprocess.env.NODE_ENV === 'test' ||\n\t\tprocess.env.NODE_ENV === 'development' ||\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_DISABLE_DEFER, false)\n\t)\n\t\treturn fn();\n\n\tfns[lifecycle] = fns[lifecycle] || [];\n\tfns[lifecycle].push(\n\t\trunWhenIdle\n\t\t\t? () =>\n\t\t\t\t\trequestIdleCallback(fn, {\n\t\t\t\t\t\ttimeout: getProperty(SYS_PROPS.UI.PAGE_LOAD_TIME_OUT) ?? 1000\n\t\t\t\t\t})\n\t\t\t: fn\n\t);\n}\n","export const CONCOURSE_CURRENT_DATA_REQUESTED =\n\t'CONCOURSE_FETCHER#CURRENT_DATA_REQUESTED';\nexport const CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED =\n\t'CONCOURSE_FETCHER#CURRENT_DATA_REQUEST_SUCCEEDED';\nexport const CONCOURSE_DATA_LISTS_REQUESTED =\n\t'CONCOURSE_FETCHER#DATA_LISTS_REQUESTED';\nexport const CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED =\n\t'CONCOURSE_FETCHER#DATA_LISTS_REQUEST_SUCCEEDED';\nexport const CONCOURSE_REBUILD_CONFIG_REQUESTED =\n\t'CONCOURSE_FETCHER#REBUILD_CONFIG_REQUESTED';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tENCRYPTION_CHANGE_REQUESTED,\n\tENCRYPTION_PICKER_REFRESH_REQUESTED\n} from './actions';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport {INITIAL_EXPERIENCE_PAGE_LOADED} from '../../constants';\nimport cache from '../../utils/cache';\nimport {createHttpEffect, createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nconst ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED =\n\t'ENCRYPTION_PICKER#REFRESH_REQUEST_SUCCEEDED';\nconst ENCRYPTION_CHANGE_SUCCEEDED = 'ENCRYPTION#CHANGE_SUCCEEDED';\n\nconst encryptionPickerEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/encryption',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['cache'],\n\t\tsuccessActionType: ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst encryptionChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/encryption',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: ENCRYPTION_CHANGE_SUCCEEDED\n\t}\n);\n\nconst cryptoModulePickerEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/cryptoModule',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['cache'],\n\t\tsuccessActionType: ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst cryptoModuleChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/cryptoModule',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: ENCRYPTION_CHANGE_SUCCEEDED\n\t}\n);\n\n// internal actions for swapping between the two\nconst CRYPTO_MODULE_REFRESH_REQUESTED = 'CRYPTO_MODULE_REFRESH_REQUESTED';\nconst CRYPTO_MODULE_CHANGE = 'CRYPTO_MODULE_CHANGE';\nconst ENCRYPTION_CONTEXT_REFRESH_REQUESTED =\n\t'ENCRYPTION_CONTEXT_REFRESH_REQUESTED';\nconst ENCRYPTION_CONTEXT_CHANGE = 'ENCRYPTION_CONTEXT_CHANGE';\n\nconst CACHE_KEY = 'availableEncryptionContexts';\nexport const ENCRYPTION_CONTEXT_CACHE_TYPE = 'encryption-context';\nexport const CRYPTO_MODULE_CACHE_TYPE = 'crypto-module';\n\nexport default {\n\tname: 'ENCRYPTION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tif (name !== 'userSettingsAccess') return;\n\n\t\t\tif (\n\t\t\t\tuserSettingsAccess?.showEncryptionPicker ||\n\t\t\t\tuserSettingsAccess?.showCryptoModulePicker\n\t\t\t) {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tconst availableEncryptionContexts = cache.get(CACHE_KEY);\n\t\t\t\t\tconst type = userSettingsAccess?.showEncryptionPicker\n\t\t\t\t\t\t? ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t\t\t: CRYPTO_MODULE_CACHE_TYPE;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tavailableEncryptionContexts &&\n\t\t\t\t\t\tavailableEncryptionContexts.type === type\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({availableEncryptionContexts});\n\t\t\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t\t\t} else dispatch(ENCRYPTION_PICKER_REFRESH_REQUESTED);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t} else {\n\t\t\t\tupdateState({availableEncryptionContexts: {}});\n\t\t\t\tcache.remove(CACHE_KEY);\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CHANGE_REQUESTED]({\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess}\n\t\t}) {\n\t\t\tif (userSettingsAccess?.showEncryptionPicker) {\n\t\t\t\tdispatch(ENCRYPTION_CONTEXT_CHANGE, payload);\n\t\t\t} else if (userSettingsAccess?.showCryptoModulePicker) {\n\t\t\t\tdispatch(CRYPTO_MODULE_CHANGE, payload);\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CONTEXT_CHANGE]: encryptionChangeEffect,\n\t\t[CRYPTO_MODULE_CHANGE]: cryptoModuleChangeEffect,\n\t\t[ENCRYPTION_CHANGE_SUCCEEDED]({dispatch, updateState, action: {meta}}) {\n\t\t\tcache.remove(CACHE_KEY);\n\t\t\tupdateState({\n\t\t\t\tpath: 'availableEncryptionContexts.current',\n\t\t\t\tvalue: meta.request?.data.id,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t},\n\t\t[ENCRYPTION_PICKER_REFRESH_REQUESTED]({\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess}\n\t\t}) {\n\t\t\tif (userSettingsAccess?.showEncryptionPicker) {\n\t\t\t\tdispatch(ENCRYPTION_CONTEXT_REFRESH_REQUESTED, {cache: Date.now()});\n\t\t\t} else if (userSettingsAccess?.showCryptoModulePicker) {\n\t\t\t\tdispatch(CRYPTO_MODULE_REFRESH_REQUESTED, {cache: Date.now()});\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CONTEXT_REFRESH_REQUESTED]: encryptionPickerEffect,\n\t\t[CRYPTO_MODULE_REFRESH_REQUESTED]: cryptoModulePickerEffect,\n\t\t[ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED]({\n\t\t\taction: {\n\t\t\t\tpayload: {result: availableEncryptionContexts}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst normalizedAvailableEncryptionContexts = {\n\t\t\t\t...availableEncryptionContexts,\n\t\t\t\tlist: availableEncryptionContexts.list.map((e) => ({\n\t\t\t\t\t...e,\n\t\t\t\t\tsysId: e.value,\n\t\t\t\t\tname: e.label\n\t\t\t\t})),\n\t\t\t\ttype: userSettingsAccess?.showEncryptionPicker\n\t\t\t\t\t? ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t\t: CRYPTO_MODULE_CACHE_TYPE\n\t\t\t};\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'availableEncryptionContexts',\n\t\t\t\t\tvalue: normalizedAvailableEncryptionContexts,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\n\t\t\tcache.set(CACHE_KEY, normalizedAvailableEncryptionContexts);\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t}\n\t},\n\tinitialState: {\n\t\tavailableEncryptionContexts: {}\n\t}\n};\n","export const APPLICATION_CHANGE_REQUESTED = 'APPLICATION#CHANGE_REQUESTED';\nexport const APPLICATION_CHANGE_SUCCEEDED = 'APPLICATION#CHANGE_SUCCEEDED';\nexport const APPLICATION_REFRESH_REQUESTED = 'APPLICATION#REFRESH_REQUESTED';\nexport const APPLICATION_REFRESH_REQUEST_SUCCEEDED =\n\t'APPLICATION#REFRESH_REQUEST_SUCCEEDED';\n","export const UPDATE_SET_CHANGE_REQUESTED = 'UPDATE_SET#CHANGE_REQUESTED';\nexport const UPDATE_SET_HTTP_REQUEST_SENT = 'UPDATE_SET#HTTP_REQUEST_SENT';\nexport const UPDATE_SET_HTTP_REQUEST_SUCCEEDED =\n\t'UPDATE_SET#HTTP_REQUEST_SUCCEEDED';\nexport const UPDATE_SET_HTTP_REQUEST_FAILED = 'UPDATE_SET#HTTP_REQUEST_FAILED';\nexport const UPDATE_SET_REFRESH_REQUESTED = 'UPDATE_SET#REFRESH_REQUESTED';\nexport const UPDATE_SET_REFRESH_REQUEST_SUCCEEDED =\n\t'UPDATE_SET#REFRESH_REQUEST_SUCCEEDED';\n","import {t} from 'sn-translate';\nimport track from '../../utils/track';\nimport deepFind from '../../utils/deepFind';\nimport {get, isEmpty} from 'lodash';\nimport {\n\tCONCOURSE_PICKER_CLICKED,\n\tCONCOURSE_PICKER_ITEM_SELECTED,\n\tCONCOURSE_PICKER_OPEN_RECORD_CLICKED,\n\tCONCOURSE_PICKER_SEARCH_TEXT_ENTERED,\n\tCONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED,\n\tCONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED,\n\tCONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED\n} from './actions';\nimport {\n\tCLASSIC,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tSYS_PROPS,\n\tUSER_PREF_UPDATED,\n\tCONCOURSE_PICKER_MENU_ID\n} from '../../constants';\nimport {\n\texecuteFilter,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {ENCRYPTION_CONTEXT_CACHE_TYPE} from '../encryption-behavior';\nimport {\n\tDOMAIN_CHANGE_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from '../../behaviors/domain-behavior/actions';\nimport {ENCRYPTION_CHANGE_REQUESTED} from '../../behaviors/encryption-behavior/actions';\nimport {APPLICATION_CHANGE_REQUESTED} from '../../behaviors/application-behavior/actions';\nimport {UPDATE_SET_CHANGE_REQUESTED} from '../../behaviors/update-set-behavior/actions';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport {CONCOURSE_DATA_LISTS_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nexport const getConcoursePickerConfig = ({\n\tavailableApplications,\n\tavailableUpdateSets,\n\tavailableDomains,\n\tavailableEncryptionContexts,\n\tuserMeta,\n\tuserSettingsAccess\n}) => {\n\tlet currentApplication,\n\t\tcurrentApplicationLabelShort,\n\t\tcurrentApplicationLabel,\n\t\tcurrentUpdateSet,\n\t\tcurrentUpdateSetLabelShort,\n\t\tcurrentUpdateSetLabel,\n\t\tcurrentDomain,\n\t\tcurrentDomainLabelShort,\n\t\tcurrentDomainLabel,\n\t\tcurrentEncryptionContext,\n\t\tcurrentEncryptionContextLabelShort,\n\t\tcurrentEncryptionContextLabel,\n\t\tconcoursePickerTooltip,\n\t\tapplicationIndicator,\n\t\tupdateSetIndicator,\n\t\tdomainIndicator;\n\n\tconst showApplicationPicker = !isEmpty(availableApplications);\n\tconst showUpdateSetPicker = !isEmpty(availableUpdateSets);\n\tconst showDomainPicker = !isEmpty(availableDomains);\n\tconst defaultDomain = userMeta?.domain || 'global';\n\n\tconst showEncryptionPicker = !isEmpty(availableEncryptionContexts?.list);\n\n\tif (showApplicationPicker) {\n\t\tcurrentApplication = get(availableApplications, 'current', 'global');\n\t\tapplicationIndicator = currentApplication.sysId !== 'global';\n\t\tcurrentApplicationLabelShort = currentApplication.name;\n\t\tcurrentApplicationLabel = `${t(\n\t\t\t'Application scope: {0}',\n\t\t\tcurrentApplicationLabelShort\n\t\t)}`;\n\t}\n\tif (showUpdateSetPicker) {\n\t\tcurrentUpdateSet = get(availableUpdateSets, 'current', {});\n\t\tupdateSetIndicator = !/Default \\[.*]/.test(currentUpdateSet.name);\n\t\tcurrentUpdateSetLabelShort = currentUpdateSet.name;\n\t\tcurrentUpdateSetLabel = t('Update set: {0}', currentUpdateSetLabelShort);\n\t}\n\tif (showDomainPicker) {\n\t\tcurrentDomain = get(availableDomains, 'current', {});\n\t\tdomainIndicator = currentDomain.id !== defaultDomain;\n\t\tcurrentDomainLabelShort = currentDomain.label;\n\t\tcurrentDomainLabel = t('Domain scope: {0}', currentDomainLabelShort);\n\t}\n\n\tif (showEncryptionPicker) {\n\t\tcurrentEncryptionContext = get(availableEncryptionContexts, 'current');\n\t\tcurrentEncryptionContextLabelShort = availableEncryptionContexts.list.find(\n\t\t\t({value}) => value === availableEncryptionContexts.current\n\t\t)?.label;\n\t\tcurrentEncryptionContextLabel =\n\t\t\tavailableEncryptionContexts.type === ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t? t('Encryption context: {0}', currentEncryptionContextLabelShort)\n\t\t\t\t: t('Crypto module: {0}', currentEncryptionContextLabelShort);\n\t}\n\n\tconst showConcoursePickerButton =\n\t\tuserSettingsAccess?.showApplicationPicker ||\n\t\tuserSettingsAccess?.showUpdateSetPicker ||\n\t\tuserSettingsAccess?.showDomainPicker ||\n\t\tuserSettingsAccess?.showEncryptionPicker ||\n\t\tuserSettingsAccess?.showCryptoModulePicker;\n\n\tif (showConcoursePickerButton) {\n\t\tconcoursePickerTooltip = {\n\t\t\tslotted: true,\n\t\t\tvalue: (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: 'max-content',\n\t\t\t\t\t\t'max-width': '100%'\n\t\t\t\t\t}}>\n\t\t\t\t\t{showDomainPicker ? <div> {currentDomainLabel} <\/div> : null}\n\t\t\t\t\t{showApplicationPicker ? (\n\t\t\t\t\t\t<div> {currentApplicationLabel} <\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{showUpdateSetPicker ? <div> {currentUpdateSetLabel} <\/div> : null}\n\t\t\t\t\t{showEncryptionPicker ? (\n\t\t\t\t\t\t<div> {currentEncryptionContextLabel} <\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t)\n\t\t};\n\t}\n\treturn {\n\t\tshowConcoursePickerButton,\n\t\tconcoursePickerTooltip,\n\t\tavailableApplications,\n\t\tavailableUpdateSets,\n\t\tavailableDomains,\n\t\tavailableEncryptionContexts,\n\t\tcurrentApplication,\n\t\tcurrentUpdateSet,\n\t\tcurrentDomain,\n\t\tdefaultDomain,\n\t\tcurrentEncryptionContext,\n\t\tapplicationIndicator,\n\t\tupdateSetIndicator,\n\t\tdomainIndicator,\n\t\tdrilldownListItems: [\n\t\t\tshowDomainPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'domain',\n\t\t\t\t\t\tlabel: currentDomainLabel,\n\t\t\t\t\t\tcurrent: currentDomainLabelShort,\n\t\t\t\t\t\tsubItems: availableDomains.list,\n\t\t\t\t\t\tindicator: domainIndicator,\n\t\t\t\t\t\ttoolIcon: 'clone-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowApplicationPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'application',\n\t\t\t\t\t\tlabel: currentApplicationLabel,\n\t\t\t\t\t\tcurrent: currentApplicationLabelShort,\n\t\t\t\t\t\tsubItems: availableApplications.list,\n\t\t\t\t\t\tindicator: applicationIndicator,\n\t\t\t\t\t\tsideIcon: 'list-outline',\n\t\t\t\t\t\tsideIconRoute: {\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {target: 'sys_scope_list.do'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttoolIcon: 'globe-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowUpdateSetPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'update-set',\n\t\t\t\t\t\tlabel: currentUpdateSetLabel,\n\t\t\t\t\t\tcurrent: currentUpdateSetLabelShort,\n\t\t\t\t\t\tsubItems: availableUpdateSets.updateSet,\n\t\t\t\t\t\tindicator: updateSetIndicator,\n\t\t\t\t\t\tsideIcon: 'list-outline',\n\t\t\t\t\t\tsideIconRoute: {\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {target: 'sys_update_set_list.do'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttoolIcon: 'grid-three-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowEncryptionPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'encryption-contexts',\n\t\t\t\t\t\tlabel: currentEncryptionContextLabel,\n\t\t\t\t\t\tcurrent: currentEncryptionContextLabelShort,\n\t\t\t\t\t\tsubItems: availableEncryptionContexts.list,\n\t\t\t\t\t\ttoolIcon: 'lock-outline'\n\t\t\t\t  }\n\t\t\t\t: {}\n\t\t].filter((item) => !isEmpty(item))\n\t};\n};\n\n/**\n * Used to update the RECENT_CONCOURSE_PICKER_ITEMS user preference with a selected picker item from a scope picker. Called when the user selects an item in any given picker.\n * @param {*} selectedPickerItem\n */\nconst updateRecentSelections = (selectedPickerItem) => {\n\tconst {dispatch, userPreferences, currentApp, path} = selectedPickerItem;\n\t// get max length of recent items list for any given picker from user prefs\n\tconst maxSelectionLength = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.CONCOURSE_PICKER_MAX_RECENT_ITEMS,\n\t\t\t0\n\t\t)\n\t);\n\t// get data for all recently selected picker items from user pref. stored as a stringified JSON object\n\tconst recentSelectionsPreference = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\t\t'{}'\n\t\t)\n\t);\n\t// get recently selected items data for current picker\n\tlet currentPickerItems =\n\t\trecentSelectionsPreference[selectedPickerItem.menuId] || [];\n\tlet newPickerItem = {}; // placeholder for newly selected picker item\n\n\t// if we are dealing with an update set, make sure we grab the right update set from c\n\tif (selectedPickerItem.menuId === 'update-set') {\n\t\tcurrentPickerItems = currentPickerItems[currentApp];\n\t}\n\n\t// get value of sys prop which defines if domain picker is enabled\n\tconst domainPickerEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t);\n\n\t// define new picker item entry which will get appended to the recent selections list\n\tif (\n\t\tselectedPickerItem.field === 'id' ||\n\t\t(domainPickerEnabled && selectedPickerItem.menuId === 'domain')\n\t) {\n\t\tnewPickerItem = {\n\t\t\tname: selectedPickerItem.name,\n\t\t\tid: selectedPickerItem.value,\n\t\t\tpath\n\t\t};\n\t} else {\n\t\tnewPickerItem = {\n\t\t\tname: selectedPickerItem.name,\n\t\t\tsysId: selectedPickerItem.value,\n\t\t\tpath\n\t\t};\n\t}\n\n\t// update recent selected item data for current picker with newItemSelection\n\tif (!currentPickerItems) {\n\t\t// if selected picker had no recently selected items, create new array of items.\n\t\tcurrentPickerItems = [newPickerItem];\n\t} else {\n\t\t// filter out any duplicates of the newItemSelection from current list of recent items before we add our new item to the recent items list\n\t\tif (\n\t\t\tselectedPickerItem.field === 'id' ||\n\t\t\t(domainPickerEnabled && selectedPickerItem.menuId === 'domain')\n\t\t) {\n\t\t\tcurrentPickerItems = currentPickerItems.filter(\n\t\t\t\t(pickerItem) => pickerItem.id !== selectedPickerItem.value\n\t\t\t);\n\t\t} else {\n\t\t\tcurrentPickerItems = currentPickerItems.filter(\n\t\t\t\t(pickerItem) => pickerItem.sysId !== selectedPickerItem.value\n\t\t\t);\n\t\t}\n\n\t\t// put newItemSelection at the start of the recently selected items list\n\t\tcurrentPickerItems.unshift(newPickerItem);\n\t}\n\n\t// trim recent items list so its less than or equal to maxSelectionLength\n\twhile (currentPickerItems.length > maxSelectionLength) {\n\t\tcurrentPickerItems.pop();\n\t}\n\n\t// update main recent items dataset with updated currentPickerItems list\n\tif (selectedPickerItem.menuId === 'update-set') {\n\t\tif (!recentSelectionsPreference[selectedPickerItem.menuId]) {\n\t\t\trecentSelectionsPreference[selectedPickerItem.menuId] = {};\n\t\t}\n\n\t\t// recent items for the 'update set' picker are stored by selected application\n\t\trecentSelectionsPreference[selectedPickerItem.menuId][\n\t\t\tcurrentApp\n\t\t] = currentPickerItems;\n\t} else {\n\t\t// update recent items list for selected picker\n\t\trecentSelectionsPreference[selectedPickerItem.menuId] = currentPickerItems;\n\t}\n\n\t// update user pref with updated recently selected items data\n\tdispatch(USER_PREF_UPDATED, {\n\t\tname: PREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\tvalue: JSON.stringify(recentSelectionsPreference)\n\t});\n};\n\nexport default {\n\tname: 'COUNCOURSE_PICKER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[CONCOURSE_PICKER_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {type, direct = false}\n\t\t\t\t},\n\t\t\t\tproperties: {userMeta, userSettingsAccess},\n\t\t\t\tstate: {\n\t\t\t\t\tcontextualMenu,\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tconcourseDataFetched\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (type === 'application' && !userSettingsAccess.showApplicationPicker)\n\t\t\t\t\treturn;\n\t\t\t\tif (type === 'update-set' && !userSettingsAccess.showUpdateSetPicker)\n\t\t\t\t\treturn;\n\t\t\t\tif (type === 'domain' && !userSettingsAccess.showDomainPicker) return;\n\n\t\t\t\tif (!concourseDataFetched) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tconcourseDataFetched: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst openedMenus = contextualMenuState.hasBeenOpened;\n\t\t\t\tif (openedMenus.indexOf(CONCOURSE_PICKER_MENU_ID) === -1) {\n\t\t\t\t\topenedMenus.push(CONCOURSE_PICKER_MENU_ID);\n\t\t\t\t}\n\n\t\t\t\t// Toggle menu respective to whether it is currently open\n\t\t\t\tif (\n\t\t\t\t\tcontextualMenu.menuType !== CONCOURSE_PICKER_MENU_ID ||\n\t\t\t\t\ttype !== contextualMenu.menuData?.selectedPicker\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\tdirectPicker: direct,\n\t\t\t\t\t\t\t\tselectedPicker: type,\n\t\t\t\t\t\t\t\t...getConcoursePickerConfig({\n\t\t\t\t\t\t\t\t\tavailableApplications,\n\t\t\t\t\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\t\t\t\t\tavailableDomains,\n\t\t\t\t\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\t\t\t\t\tuserMeta,\n\t\t\t\t\t\t\t\t\tuserSettingsAccess\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\t\t\t\tprimaryMenuId: contextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId\n\t\t\t\t\t\t\t\t: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\t\tsecondaryMenuId: contextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? CONCOURSE_PICKER_MENU_ID\n\t\t\t\t\t\t\t\t: contextualMenuState.secondaryMenuId\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_OPEN_RECORD_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {target}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_ITEM_SELECTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\theaderText,\n\t\t\t\t\t\t\tmenuData: {drilldownListItems, searchTerm, currentApplication}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tuserPreferences\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tpicker,\n\t\t\t\t\t\t\titem: {name, label, sysId, id},\n\t\t\t\t\t\t\trootMenu\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst menuId = picker || rootMenu;\n\t\t\t\tconst menu = drilldownListItems.find((m) => m.id === menuId);\n\t\t\t\tconst field = !isEmpty(sysId) ? 'sysId' : 'id';\n\t\t\t\tconst value = !isEmpty(sysId) ? sysId : id;\n\t\t\t\tconst menuItem =\n\t\t\t\t\tdeepFind(menu, 'subItems', (m) => m[field] === value, true) || [];\n\n\t\t\t\tconst parents = menuItem?.parents;\n\t\t\t\tconst path =\n\t\t\t\t\tparents?.length > 1\n\t\t\t\t\t\t? parents.reduce(\n\t\t\t\t\t\t\t\t(acc, p, i) => (i > 1 ? acc + ' -> ' + p.label : p.label),\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t  ) + ` -> ${name || label}`\n\t\t\t\t\t\t: name || label;\n\t\t\t\tconst metadata = {\n\t\t\t\t\tmenuName: headerText,\n\t\t\t\t\tmenuGroup: menuId,\n\t\t\t\t\tname: !isEmpty(name) ? name : label,\n\t\t\t\t\tfilter: !isEmpty(searchTerm),\n\t\t\t\t\tquery: searchTerm ? searchTerm : '',\n\t\t\t\t\tpath\n\t\t\t\t};\n\n\t\t\t\ttrack(coeffects, METRICS.SELECT_SCOPE_MENU_ITEM, metadata);\n\n\t\t\t\tupdateRecentSelections({\n\t\t\t\t\tcurrentApplication,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tfield,\n\t\t\t\t\tvalue,\n\t\t\t\t\tname: !isEmpty(name) ? name : label,\n\t\t\t\t\tpath: parents?.length === 1 ? '' : path\n\t\t\t\t});\n\n\t\t\t\tif (menuId === 'application') {\n\t\t\t\t\tdispatch(APPLICATION_CHANGE_REQUESTED, {data: {app_id: sysId}});\n\t\t\t\t} else if (menuId === 'update-set') {\n\t\t\t\t\tdispatch(UPDATE_SET_CHANGE_REQUESTED, {data: {name, sysId}});\n\t\t\t\t} else if (menuId === 'domain') {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED, {data: {value: id}});\n\t\t\t\t} else if (menuId === 'encryption-contexts') {\n\t\t\t\t\tdispatch(ENCRYPTION_CHANGE_REQUESTED, {data: {id: sysId}});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_TEXT_ENTERED]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {contextualMenu},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {picker, searchTerm}\n\t\t\t\t},\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {menuData, headerText} = contextualMenu;\n\t\t\t\tconst {\n\t\t\t\t\tdrilldownListItems,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableEncryptionContexts\n\t\t\t\t} = menuData;\n\t\t\t\tlet filteredList;\n\t\t\t\tconst usedSearchTerm = (searchTerm?.length < 2 ? '' : searchTerm || '')\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.trim();\n\n\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED, {\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tmenuName: headerText,\n\t\t\t\t\t\tfilter: usedSearchTerm ? 'Yes' : 'No',\n\t\t\t\t\t\tquery: usedSearchTerm ? usedSearchTerm : undefined\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (picker === 'application') {\n\t\t\t\t\tfilteredList = availableApplications?.list.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t} else if (picker === 'update-set') {\n\t\t\t\t\tfilteredList = availableUpdateSets?.updateSet.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t} else if (picker === 'domain') {\n\t\t\t\t\t// Handle the domain reference picker special case\n\t\t\t\t\tif (\n\t\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED)\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {\n\t\t\t\t\t\t\tsearch: searchTerm\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tfilteredList = executeFilter({\n\t\t\t\t\t\tmenu: {subItems: availableDomains.list},\n\t\t\t\t\t\tsearchTerm: usedSearchTerm\n\t\t\t\t\t})?.subItems;\n\t\t\t\t} else if (picker === 'encryption-contexts') {\n\t\t\t\t\tfilteredList = availableEncryptionContexts?.list.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst firstItem = usedSearchTerm !== '' ? filteredList[0] : null;\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t...menuData,\n\t\t\t\t\t\t\tsearchTerm: usedSearchTerm,\n\t\t\t\t\t\t\tfirstFilteredItem: firstItem,\n\t\t\t\t\t\t\tdrilldownListItems: drilldownListItems.map((item) =>\n\t\t\t\t\t\t\t\titem.id === picker ? {...item, subItems: filteredList} : item\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {focus}\n\t\t\t\t},\n\t\t\t\tproperties: {contextualMenu},\n\t\t\t\tupdateProperties\n\t\t\t}) => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tinputHasFocus: focus\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {metadata}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.FILTER_MENU, metadata);\n\t\t\t},\n\t\t\tmodifier: {name: 'debounce', delay: 1000},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {contextualMenu},\n\t\t\t\t\taction: {payload}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst item = payload?.item;\n\n\t\t\t\tif (item?.id) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuData: {...contextualMenu.menuData, selectedPicker: item.id}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst metadata = {\n\t\t\t\t\t\tmenuName: contextualMenu?.headerText ?? '',\n\t\t\t\t\t\tmenuGroup: item.id,\n\t\t\t\t\t\tdefaultScope: !item.indicator\n\t\t\t\t\t};\n\t\t\t\t\ttrack(coeffects, METRICS.SELECT_SCOPE_MENU_GROUP, metadata);\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t...contextualMenu.menuData,\n\t\t\t\t\t\t\t\tselectedPicker: null,\n\t\t\t\t\t\t\t\tlastOpenPicker: contextualMenu.menuData.selectedPicker\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {getConfig} from './dynamicRoutingScript';\nimport cache from '../../utils/cache';\nimport {ROUTE_MAP_UPDATED} from '../../components/sn-polaris-layout/actions';\nimport {\n\tDYNAMIC_ROUTE_FETCH_REQUESTED,\n\tDYNAMIC_ROUTE_REQUESTED,\n\tDYNAMIC_ROUTE_SUCCEEDED,\n\tDYNAMIC_ROUTE_ERRORED,\n\tSEARCH_ROUTE_MAP_CACHE_PREFIX\n} from '../search-behavior/actions';\n\nconst query = `\nquery ($routeConfigId: String) {\n\tGlideUxDynamicRoute_Query {\n\t  dynamicRouteConfig(routeConfigId: $routeConfigId) {\n\t\tname,\n\t\tsys_id,\n\t\tmappingGroups {\n\t\t  table,\n\t\t  mappings {\n\t\t\tsource_key,\n\t\t\tpayload\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n`;\n\nconst dynamicRouteEffect = createGraphQLEffect(query, {\n\tvariableList: ['routeConfigId'],\n\tsuccessActionType: DYNAMIC_ROUTE_SUCCEEDED,\n\terrorActionType: DYNAMIC_ROUTE_ERRORED\n});\n\nexport default {\n\tname: 'DYNAMIC_ROUTE_BEHAVIOR',\n\tactionHandlers: {\n\t\t[DYNAMIC_ROUTE_REQUESTED]: {\n\t\t\teffect: ({action, dispatch, properties}) => {\n\t\t\t\tconst {routeConfigId, postFn} = action.payload;\n\n\t\t\t\tif (!properties.isPolarisEnabled || !routeConfigId) {\n\t\t\t\t\tif (postFn) postFn({});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst routeMap = cache.get(\n\t\t\t\t\tSEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId\n\t\t\t\t);\n\t\t\t\tif (routeMap) dispatch(ROUTE_MAP_UPDATED, routeMap);\n\t\t\t\telse dispatch(DYNAMIC_ROUTE_FETCH_REQUESTED, {routeConfigId}, {postFn});\n\t\t\t}\n\t\t},\n\t\t[DYNAMIC_ROUTE_FETCH_REQUESTED]: dynamicRouteEffect,\n\t\t[DYNAMIC_ROUTE_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload,\n\t\t\t\t\tmeta: {postFn, options}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tlet routeMap = {};\n\t\t\t\tconst {routeConfigId} = options.variables;\n\n\t\t\t\ttry {\n\t\t\t\t\tif (payload.errors.length > 0) routeMap = {};\n\t\t\t\t\telse {\n\t\t\t\t\t\trouteMap = getConfig(payload);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (routeMap) {\n\t\t\t\t\t\tcache.set(SEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId, routeMap, {\n\t\t\t\t\t\t\tcurrentSession: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(ROUTE_MAP_UPDATED, routeMap);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tcache.set(SEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId, routeMap, {\n\t\t\t\t\t\tcurrentSession: true\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(ROUTE_MAP_UPDATED, {});\n\t\t\t\t}\n\n\t\t\t\tif (postFn) postFn(routeMap);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DYNAMIC_ROUTE_ERRORED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tmeta: {postFn}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tdispatch(ROUTE_MAP_UPDATED, {});\n\t\t\t\tif (postFn) postFn({});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","// Get the route maps from the associated route config\nconst getMapping = (mappingGroup, resultMap) => {\n\tvar mappings = mappingGroup.mappings;\n\tvar table = mappingGroup.table;\n\n\t// there has to be a table (null value for default) and a payload to map to.\n\tif (!table || !mappings) return '';\n\n\tmappings.forEach(function(mapping) {\n\t\tvar map = {};\n\t\tvar source_component = mapping.source_key;\n\n\t\t// If there is a table value passed in, build a map object that has the table's name as key,\n\t\t// and payload under it.\n\t\tmap[source_component] = {\n\t\t\tpayload: mapping.payload\n\t\t};\n\t\t// Now add the table map, or default payload to the source_component (matches elementId in event)\n\t\t// object.\n\t\t// If the elementId object already exists, add to it to support multiple table definitions; otherwise create it.\n\t\tif (resultMap[table])\n\t\t\tresultMap[table][source_component] = map[source_component];\n\t\telse resultMap[table] = map;\n\t});\n\treturn resultMap;\n};\n\n// Get the route configs from the associated query\nexport const getConfig = (gql) => {\n\tvar result = {};\n\tvar mappingGroups =\n\t\tgql?.data?.GlideUxDynamicRoute_Query?.dynamicRouteConfig?.mappingGroups ??\n\t\t[];\n\t// Handle multiple config records if there are any passed in.\n\tmappingGroups.forEach(function(mappingGroup) {\n\t\tresult = getMapping(mappingGroup, result);\n\t});\n\treturn result;\n};\n","export const OPENFRAME_BEHAVIOR_CHECK_CONFIG =\n\t'OPENFRAME_BEHAVIOR#CHECK_CONFIG';\nexport const OPENFRAME_BEHAVIOR_OPEN_WINDOW = 'OPENFRAME_BEHAVIOR#OPEN_WINDOW';\nexport const OPENFRAME_BEHAVIOR_SET_REF = 'OPENFRAME_BEHAVIOR#SET_REF';\nexport const OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD =\n\t'OPENFRAME_BEHAVIOR#OPEN_WINDOW_FROM_KEYBOARD';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_15_polaris_6_index_jsdbx_e03ab053__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"findTabbableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__.__esModule\n\t\t\t\t\tif (cjsModule && 'findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"].findTabbableNodes;\n\t\t\t\t\t} else if ('findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__.findTabbableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_15_polaris_6_index_jsdbx_7ee3c7bb__[\"default\"].findTabbableNodes;\n\t\t\t\t} });","import {findTabbableNodes} from '@servicenow/library-enhanced-utils';\nimport {CLOSE_MENUS} from '../../components/sn-polaris-layout/actions';\n\nconst handleTab = ({\n\tallTabbableElements,\n\tpath,\n\tevent,\n\tcloseMenuAction,\n\tdispatch\n}) => {\n\tconst target = path[0];\n\n\t// List of components that, if opened by a contextual menu, should trap focus\n\tconst focusedTrappedComponents = [\n\t\t'NOW-MODAL',\n\t\t'NOW-POPOVER-PANEL',\n\t\t'NOW-MODELESS-DIALOG'\n\t];\n\n\t// Checking if path contains any of the focusedTrappedComponents\n\tconst focusTrappedTab = path.some((node) =>\n\t\tfocusedTrappedComponents.includes(node.tagName)\n\t);\n\n\tif (!focusTrappedTab) {\n\t\tconst currentElementIndex = allTabbableElements.indexOf(target);\n\n\t\tconst isFocusUpFromFirstEl = currentElementIndex === 0 && event.shiftKey;\n\t\tconst isFocusDownFromLastEl =\n\t\t\tcurrentElementIndex === allTabbableElements.length - 1 && !event.shiftKey;\n\n\t\tif (isFocusUpFromFirstEl || isFocusDownFromLastEl) {\n\t\t\tevent.preventDefault();\n\n\t\t\tdispatch(closeMenuAction, {\n\t\t\t\tclosedByKeyboard: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleUpDownArrows = ({allTabbableElements, path, event}) => {\n\tevent.preventDefault();\n\n\t// Find only the tabbable elements that we care about\n\t// This is relatively fast enough to run each time rather than\n\t// having to cache the list + handle updating whenever\n\t// some menu below gets expanded/collapsed or a menu item\n\t// gets undeferred\n\tconst tabbableElements = allTabbableElements.filter((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentItem = path.find((a) =>\n\t\ta.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentElementIndex = tabbableElements.indexOf(currentItem);\n\n\tlet nextItem = tabbableElements[0];\n\n\tif (currentElementIndex > -1) {\n\t\tnextItem =\n\t\t\tevent.key === 'ArrowDown'\n\t\t\t\t? currentElementIndex + 1\n\t\t\t\t: currentElementIndex - 1;\n\t}\n\n\ttabbableElements[nextItem]?.focus();\n};\n\nconst handleLeftRightArrows = ({allTabbableElements, path, event}) => {\n\tevent.preventDefault();\n\n\tconst tabbableElements = allTabbableElements.filter((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentItem = path.find((a) =>\n\t\ta.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst itemParent = currentItem.parentNode;\n\tlet nextItem = tabbableElements[0];\n\n\tconst currentElementIndex = tabbableElements.indexOf(currentItem);\n\tif (currentElementIndex > -1) {\n\t\tnextItem =\n\t\t\tevent.key === 'ArrowRight'\n\t\t\t\t? currentElementIndex + 1\n\t\t\t\t: currentElementIndex - 1;\n\t}\n\n\tconst isCollapsibleList = currentItem.classList?.contains(\n\t\t'snf-collapsible-list-header-button'\n\t);\n\n\t// if the path only has one occurence of snf-collapsible-list, then this item must be at the highest level of collapsible list (not nested)\n\tconst isRoot =\n\t\tpath.filter((a) => a.classList?.contains('snf-collapsible-list')).length ===\n\t\t\t1 && isCollapsibleList; // nodes without any parents\n\tconst isCollapsed = itemParent.classList.contains('is-collapsed');\n\tconst isEndNode = !isCollapsibleList; // nodes without any children\n\tconst isChildNode = !isRoot;\n\n\tif (event.key === 'ArrowRight' && !isEndNode) {\n\t\tif (isCollapsed) {\n\t\t\t// open the collapsed list + do not change focus\n\t\t\titemParent.click();\n\t\t} else {\n\t\t\t// move focus to first child node\n\t\t\ttabbableElements[nextItem]?.focus();\n\t\t}\n\t} else if (event.key === 'ArrowLeft') {\n\t\tif (!isCollapsed) {\n\t\t\t// collapse the node if it is open\n\t\t\titemParent.click();\n\t\t}\n\t\t// if node is child, and is also either end or closed, move focus to parent\n\t\tif (isChildNode && (isEndNode || isCollapsed)) {\n\t\t\tconst currentItemContainerIndex = path.indexOf(itemParent);\n\t\t\tconst parent = path\n\t\t\t\t.slice(currentItemContainerIndex)\n\t\t\t\t.find((n) => n.classList?.contains('snf-collapsible-list-holder'))\n\t\t\t\t?.previousSibling?.firstChild;\n\t\t\tparent?.focus();\n\t\t}\n\t}\n};\n\nconst handleHome = ({allTabbableElements, event}) => {\n\tevent.preventDefault();\n\n\tallTabbableElements[0].focus();\n\n\tconst firstMenuItem = allTabbableElements.find(\n\t\t(n) => n.classList?.contains('keyboard-navigatable') && n.id !== 'filter'\n\t);\n\tfirstMenuItem?.scrollIntoView({behavior: 'smooth'});\n};\n\nconst handleEnd = ({allTabbableElements, event}) => {\n\tevent.preventDefault();\n\tconst lastMenuItem = allTabbableElements.findLast((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\tlastMenuItem?.focus({preventScroll: true});\n\tallTabbableElements[allTabbableElements.length - 1].scrollIntoView({\n\t\tbehavior: 'smooth'\n\t});\n};\n\nexport const keyboardNavigationEffect = ({\n\taction: {\n\t\tpayload: {event, host}\n\t},\n\tstate: {\n\t\tproperties: {\n\t\t\tmenuState: {pinnedMenuId},\n\t\t\tmenuProperties,\n\t\t\tmenu\n\t\t},\n\t\tcloseMenuAction\n\t},\n\tdispatch\n}) => {\n\t// We're only handling up/down/tab/left/right\n\tif (\n\t\t![\n\t\t\t'ArrowDown',\n\t\t\t'ArrowUp',\n\t\t\t'ArrowLeft',\n\t\t\t'ArrowRight',\n\t\t\t'Tab',\n\t\t\t'Escape',\n\t\t\t'Home',\n\t\t\t'End'\n\t\t].includes(event.key)\n\t)\n\t\treturn;\n\n\tconst menuId = menuProperties ? menuProperties.menuType : menu.id;\n\n\tif (event.key === 'Escape' && menuId !== pinnedMenuId)\n\t\tdispatch(CLOSE_MENUS, {closedByKeyboard: true});\n\n\tconst allTabbableElements = findTabbableNodes(host);\n\n\tconst path = event.composedPath() || [];\n\n\tif (event.key === 'Tab' && menuId !== pinnedMenuId) {\n\t\thandleTab({\n\t\t\tallTabbableElements,\n\t\t\tpath,\n\t\t\tevent,\n\t\t\tcloseMenuAction,\n\t\t\tdispatch\n\t\t});\n\t}\n\n\t// when input or textarea is the target, let default behavior occur\n\tconst target = path[0];\n\tconst isInput =\n\t\ttarget?.tagName === 'INPUT' ||\n\t\ttarget?.tagName === 'TEXTAREA' ||\n\t\ttarget?.isContentEditable;\n\n\tif (event.key.includes('Arrow')) {\n\t\tif (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n\t\t\tif (!isInput) {\n\t\t\t\thandleLeftRightArrows({\n\t\t\t\t\tallTabbableElements,\n\t\t\t\t\tpath,\n\t\t\t\t\tevent\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\thandleUpDownArrows({\n\t\t\t\tallTabbableElements,\n\t\t\t\tpath,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tif (event.key === 'Home' && !isInput) {\n\t\thandleHome({allTabbableElements, event});\n\t}\n\n\tif (event.key === 'End' && !isInput) {\n\t\thandleEnd({allTabbableElements, event});\n\t}\n};\n\nexport default {\n\tname: 'MENU_KEYBOARD_NAV',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keyboardNavigationEffect\n\t\t}\n\t]\n};\n","import '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isEmpty} from 'lodash';\n\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {MENU_FAVORITES} from '../../../constants';\nimport {TOGGLE_WIDE_MENU} from '../../sn-polaris-layout/actions';\nimport {SHOW_MENU_ITEM_TOOLTIP} from '../actions';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\n\nexport const PinButton = ({\n\tmenu,\n\tmenuState,\n\tpinEventName,\n\tisPrimary,\n\tisWideMenu,\n\tdir,\n\tanimationsEnabled,\n\tdispatch\n}) => {\n\tconst currentMenuPinned = menuState.pinnedMenuId === menu?.id && isPrimary;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\tpin: true,\n\t\t\t\t\t'is-pinned': currentMenuPinned,\n\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\tfavorites: menu?.id === MENU_FAVORITES && !isEmpty(menu?.subItems)\n\t\t\t\t}}\n\t\t\t\taria-label={\n\t\t\t\t\tcurrentMenuPinned\n\t\t\t\t\t\t? t('Unpin {0} menu', menu.label)\n\t\t\t\t\t\t: t('Pin {0} menu', menu.label)\n\t\t\t\t}\n\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\tdispatch(pinEventName, {\n\t\t\t\t\t\tisPrimary: isPrimary,\n\t\t\t\t\t\tisWideMenu: isWideMenu || false,\n\t\t\t\t\t\tprimaryMenuId: menuState.primaryMenuId,\n\t\t\t\t\t\tsecondaryMenuId: menuState.secondaryMenuId,\n\t\t\t\t\t\tdoPinning: currentMenuPinned ? false : true\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\t\t\t\t\ttarget: e.target,\n\t\t\t\t\t\tlabel: !currentMenuPinned\n\t\t\t\t\t\t\t? t('Unpin {0} menu', menu.label)\n\t\t\t\t\t\t\t: t('Pin {0} menu', menu.label),\n\t\t\t\t\t\tlocation: 'bottom-center'\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t})}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (menuState.pinnedThroughUI && currentMenuPinned) elm.focus();\n\t\t\t\t}}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch,\n\t\t\t\t\t'bottom-center'\n\t\t\t\t)}>\n\t\t\t\t<now-icon\n\t\t\t\t\tkey=\"pinIcon\"\n\t\t\t\t\tclassName=\"pinned-icon\"\n\t\t\t\t\ticon={currentMenuPinned ? 'thumbtack-fill' : 'thumbtack-outline'}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t{currentMenuPinned ? (\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'The {0} menu is pinned to the side of the browser window.',\n\t\t\t\t\t\t\tmenu.label\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<span />\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const PopoutButton = ({menu, dir, dispatch, isWideMenu}) => {\n\tconst basePanelIcon =\n\t\tdir === 'rtl' ? 'panel-display-left' : 'panel-display-right';\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\tpopout: true\n\t\t\t}}>\n\t\t\t<button\n\t\t\t\tid=\"wideMenuToggleButton\"\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t}}\n\t\t\t\taria-label={\n\t\t\t\t\tisWideMenu\n\t\t\t\t\t\t? t('Narrow {0} menu', menu.label)\n\t\t\t\t\t\t: t('Widen {0} menu', menu.label)\n\t\t\t\t}\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(TOGGLE_WIDE_MENU, {\n\t\t\t\t\t\tmenu\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t{isWideMenu ? (\n\t\t\t\t\t<now-icon icon={`${basePanelIcon}-collapse-outline`} size=\"md\" />\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon icon={`${basePanelIcon}-expand-outline`} size=\"md\" />\n\t\t\t\t)}\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-icon';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\nimport {CONTEXTUAL_MENU_PINNED} from '../../../sn-polaris-layout/actions';\nimport {CONTEXT_MENU_HEADER_TYPES} from '../../../../behaviors/utility-menu-behavior/actions';\nimport {\n\tPinButton,\n\tPopoutButton\n} from '../../../sn-polaris-menu/fragments/button-fragments';\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../../../../behaviors/notification-behavior/constants';\nimport cache from '../../../../utils/cache';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\n/**\n * host key press handler used to listen for RSC key to close menu\n *\n * @param {*} dispatch\n */\nconst handleKeyDown = (dispatch, closeMenuAction) => (e) => {\n\tif (e.key === 'Escape') {\n\t\tdispatch(closeMenuAction, {\n\t\t\tclosedByKeyboard: true\n\t\t});\n\t}\n};\n\n/**\n * Draws the little arrow on top of the menu\n */\nconst TopArrow = () => {\n\treturn (\n\t\t<div className=\"contextual-menu-top\">\n\t\t\t<div className=\"left\" />\n\t\t\t<div className=\"center\" />\n\t\t\t<div className=\"right\" />\n\t\t<\/div>\n\t);\n};\n\n/**\n * Draw the header of the contextual menu based on CONTEXT_MENU_HEADER_TYPES\n */\nconst MenuHeader = ({\n\tmenuProperties,\n\tmenuState,\n\tisPrimary,\n\tdispatch,\n\tanimationsEnabled,\n\tdir\n}) => {\n\tconst headers = [];\n\tconst {\n\t\theaderType = CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\tcanBePinned = false,\n\t\tcanToggleWideMenu = false,\n\t\theaderButtonsConfig = []\n\t} = menuProperties;\n\tconst isWideMenu = menuProperties.wideMenu || false;\n\t// define text header markup\n\theaders[CONTEXT_MENU_HEADER_TYPES.TEXT] = (\n\t\t<div className=\"contextual-menu-header\">\n\t\t\t<div className=\"text-header-area\" aria-live=\"assertive\">\n\t\t\t\t<slot name=\"header-text\" />\n\t\t\t\t{headerButtonsConfig.map(\n\t\t\t\t\t({icon, id, action, payload, label, tooltipContent}) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t[id]: true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={label}\n\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...createInteractionHandlers(() => dispatch(action, payload))}\n\t\t\t\t\t\t\tdata-id={`contextual-menu-header-${id}`}\n\t\t\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<now-icon icon={icon} size=\"md\" />\n\t\t\t\t\t\t<\/button>\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t\t{canToggleWideMenu ? (\n\t\t\t\t\t<PopoutButton\n\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\tlabel: menuProperties.label,\n\t\t\t\t\t\t\tid: menuProperties.menuType\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tisWideMenu={isWideMenu}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{canBePinned ? (\n\t\t\t\t\t<PinButton\n\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\tlabel: menuProperties.label,\n\t\t\t\t\t\t\tid: menuProperties.menuType\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\tpinEventName={CONTEXTUAL_MENU_PINNED}\n\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\tisWideMenu={isWideMenu}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t\t<hr aria-hidden=\"true\" />\n\t\t<\/div>\n\t);\n\n\t// define empty header markup (or lack of markup)\n\theaders[CONTEXT_MENU_HEADER_TYPES.NONE] = '';\n\n\treturn headers[headerType];\n};\n\n/**\n * Draw menu body and slot where menu content will be slotted into\n */\nconst MenuBody = () => {\n\treturn (\n\t\t<div className=\"contextual-menu-content\">\n\t\t\t<slot name=\"menu-content\" />\n\t\t<\/div>\n\t);\n};\n\n/**\n * Draw full Contextual Menu\n */\nexport default (\n\t{\n\t\tproperties: {\n\t\t\treversed,\n\t\t\topened,\n\t\t\tisPolarisEnabled,\n\t\t\tisPrimary,\n\t\t\tmenuProperties,\n\t\t\tmenuState,\n\t\t\tcontextualMenu,\n\t\t\tmenuIndex,\n\t\t\tanimationsEnabled,\n\t\t\tdir,\n\t\t\tshouldAlwaysRender\n\t\t},\n\t\tcloseMenuAction\n\t},\n\t{dispatch}\n) => {\n\tif (!opened && !shouldAlwaysRender) return null;\n\n\tif (\n\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\tmenuState.secondaryMenuId === 'notifications'\n\t) {\n\t\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t});\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-contextual-menu\"\n\t\t\taria-label={`${menuProperties.label}`}\n\t\t\tinert={!opened}\n\t\t\ton-keydown={handleKeyDown(dispatch, closeMenuAction)}\n\t\t\tclass={{\n\t\t\t\t[menuProperties?.menuType]: menuProperties?.menuType,\n\t\t\t\t[contextualMenu?.drilledMenu?.id || 'undrilled']: true,\n\t\t\t\t'wide-menu':\n\t\t\t\t\t(menuProperties?.wideMenu &&\n\t\t\t\t\t\tmenuProperties?.menuType !== 'overflowMenu') ||\n\t\t\t\t\t(menuProperties?.menuType === 'overflowMenu' &&\n\t\t\t\t\t\tcontextualMenu?.drilledMenu?.menuConfig?.menuProperties?.wideMenu),\n\t\t\t\treversed: reversed,\n\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\tmenuState.isMenuPinned &&\n\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\tisPolarisEnabled &&\n\t\t\t\t\tmenuState.pinnedMenuId === menuProperties?.menuType,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'can-be-pinned': menuState.canBePinned,\n\t\t\t\t'is-visible': opened,\n\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t'keyboard-navigatable': opened\n\t\t\t}}>\n\t\t\t{/* top curves and arrow */}\n\t\t\t<TopArrow />\n\n\t\t\t{/* menu body (Everything between the top arrow and bottom corners) */}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'contextual-menu-body': true,\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t<MenuHeader\n\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\tmenuProperties={menuProperties}\n\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\tmenuIndex={menuIndex}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t/>\n\n\t\t\t\t<MenuBody />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {unschedule} from '@servicenow/now-tooltip';\nimport {isNil} from 'lodash';\nimport {handleFocusFirstNode} from '@servicenow/behavior-focus';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DISCONNECTED} = actionTypes;\n\nimport {\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tOVERLAY_BEHAVIOR_OPENED_SET,\n\tBUTTON_ACTIONS,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tPOLARIS_CONTEXT,\n\tCLASSIC\n} from '../../../../constants';\nimport {SCREEN_CONTENT_LINK_ITEM_SELECTED} from '../../actions';\nimport track from '../../../../utils/track';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../../../../behaviors/notification-behavior/constants';\nimport {UNREAD_NOTIFICATIONS_COUNT_SET} from '../../../../behaviors/notification-behavior/actions';\nimport {\n\tCONTEXTUAL_MENU_PINNED,\n\tCLOSE_CONTEXTUAL_MENU\n} from '../../../sn-polaris-layout/actions';\nimport cache from '../../../../utils/cache';\n\nconst MoveTopArrow = ({host, properties, utilityMenuButton}) => {\n\tif (isNil(utilityMenuButton)) {\n\t\treturn;\n\t}\n\n\tconst menuTopElem = host.shadowRoot.querySelectorAll(\n\t\t'.contextual-menu-top'\n\t)[0];\n\n\tif (\n\t\tproperties.menuState.isMenuPinned &&\n\t\tproperties.menuState.canBePinned &&\n\t\tproperties.menuProperties.menuType === properties.menuState.primaryMenuId\n\t) {\n\t\tmenuTopElem.style.gridTemplateColumns = 'auto auto auto';\n\t} else {\n\t\tconst selfRef = host.shadowRoot.querySelectorAll(\n\t\t\t'.contextual-menu-body'\n\t\t)[0];\n\t\tconst menuContainer = selfRef.getBoundingClientRect();\n\t\tconst buttonRect = {\n\t\t\twidth: utilityMenuButton.offsetWidth,\n\t\t\tx:\n\t\t\t\tproperties.isPrimary && !properties.menuState.barMenuId\n\t\t\t\t\t? properties.menuUnpinnedLeft\n\t\t\t\t\t: utilityMenuButton.offsetLeft\n\t\t};\n\t\tconst containerRight = menuContainer.x + menuContainer.width;\n\t\tconst buttonRight = buttonRect.x + buttonRect.width;\n\n\t\tif (properties.menuState.barMenuId) {\n\t\t\tconst halfMiddleColWidth = 9;\n\t\t\tconst newRight = properties.reversed\n\t\t\t\t? buttonRect.x -\n\t\t\t\t  menuContainer.x +\n\t\t\t\t  buttonRect.width / 2 -\n\t\t\t\t  halfMiddleColWidth\n\t\t\t\t: containerRight -\n\t\t\t\t  buttonRight +\n\t\t\t\t  buttonRect.width / 2 -\n\t\t\t\t  halfMiddleColWidth;\n\t\t\tmenuTopElem.style.gridTemplateColumns = `auto 1.125rem ${newRight}px`;\n\t\t} else {\n\t\t\tconst newRight = containerRight - buttonRight + 6;\n\n\t\t\tmenuTopElem.style.gridTemplateColumns = properties.reversed\n\t\t\t\t? `${newRight}px 1.125rem auto`\n\t\t\t\t: `auto 1.125rem ${newRight}px`;\n\t\t}\n\t}\n};\n\nconst moveContextualMenu = (host, state, canAnimate) => {\n\tconst {properties} = state;\n\tconst {menuContainerRef, menuState, menuProperties, isPrimary} = properties;\n\n\t// if no menus are visible, return early and be done.\n\tif (menuState.primaryMenuId === null && menuState.secondaryMenuId === null)\n\t\treturn;\n\n\tconst pinnedMenuLeftMargin = 12; // margin between pinned menu and unpinned menu. This matches the margin in the header for the top nav and is needed for aligning the menu properly to the nav tabs.\n\tconst isRTL = document.dir === 'rtl';\n\tconst hostElement = host.shadowRoot.querySelector(\n\t\t'div.polaris-contextual-menu'\n\t);\n\n\tif (!hostElement) return;\n\n\tlet utilityMenuButton = menuContainerRef.current?.querySelector(\n\t\t`.${menuProperties.buttonId}`\n\t);\n\n\t// Anchor contextual menu to the utility bar if the menu lives there.\n\tif (menuState.barMenuId) {\n\t\tutilityMenuButton = menuState.utilityBarRef.current?.querySelector(\n\t\t\t`#utility-bar-${menuState.barMenuId}`\n\t\t);\n\t}\n\n\tconst defaultMenuWidth = menuState.pinnedMenuWidth;\n\tconst windowWidth = document.body.offsetWidth;\n\n\t// toggle animations on/off as needed\n\tif (canAnimate && !hostElement?.classList.contains('can-animate')) {\n\t\thostElement?.classList.add('can-animate');\n\t} else if (!canAnimate && hostElement?.classList.contains('can-animate')) {\n\t\thostElement?.classList.remove('can-animate');\n\t}\n\n\t// if this the pinned menu, set menu location and be done\n\tif (isPrimary && menuState.isMenuPinned && menuState.canBePinned) {\n\t\tif (isRTL) {\n\t\t\thostElement.style.left = '0px';\n\t\t} else {\n\t\t\thostElement.style.right = '0px';\n\t\t}\n\t\treturn;\n\t}\n\n\tif (utilityMenuButton) {\n\t\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\t\tconst itemRect = {\n\t\t\twidth: utilityMenuButton.offsetWidth,\n\t\t\tx:\n\t\t\t\tisPrimary && !menuState.barMenuId\n\t\t\t\t\t? properties.menuUnpinnedLeft\n\t\t\t\t\t: utilityMenuButton.offsetLeft\n\t\t};\n\t\tconst itemWidth = Math.floor(itemRect.width);\n\t\tconst itemLeft = itemRect.x;\n\t\tconst itemRight = itemRect.x + itemRect.width;\n\t\tlet newMenuStart = 0;\n\n\t\tif (isRTL) {\n\t\t\tnewMenuStart = itemLeft - defaultMenuWidth / 2 + itemWidth / 2;\n\t\t} else {\n\t\t\tnewMenuStart =\n\t\t\t\twindowWidth - defaultMenuWidth / 2 - (itemRight - itemWidth / 2);\n\t\t}\n\n\t\t// if the menu is going to be offscreen, bring it back in\n\t\tif (isPrimary && newMenuStart < 0) {\n\t\t\tnewMenuStart = 0;\n\t\t} else if (!isPrimary && newMenuStart < defaultMenuWidth) {\n\t\t\tnewMenuStart = defaultMenuWidth + pinnedMenuLeftMargin;\n\t\t}\n\n\t\t// move menu body to new location\n\t\tif (isRTL) {\n\t\t\thostElement.style.left = `${newMenuStart}px`;\n\t\t} else {\n\t\t\thostElement.style.right = `${newMenuStart}px`;\n\t\t}\n\n\t\tif (menuState.barMenuId) {\n\t\t\thostElement?.classList.add('is-bar-menu');\n\t\t}\n\t}\n\n\tMoveTopArrow({host, properties, utilityMenuButton});\n};\n\nconst handleMenuStateChange = (host, state, properties) => {\n\tconst {menuState, isPolarisEnabled} = properties;\n\tconst navElement = host.shadowRoot.querySelector(\n\t\t'div.polaris-contextual-menu'\n\t);\n\n\tif (!navElement) return; // means that menu has never been opened so there is no content to place yet\n\n\tconst animationsEnabled = navElement.classList.contains('can-animate');\n\n\t// if current menu is one of the open menus, update its visual state\n\tif (\n\t\tmenuState.primaryMenuId === properties.menuProperties.menuType ||\n\t\tmenuState.secondaryMenuId === properties.menuProperties.menuType\n\t) {\n\t\tif (isPolarisEnabled) {\n\t\t\tmoveContextualMenu(host, state, false);\n\t\t}\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (animationsEnabled && isPolarisEnabled) {\n\t\t\t\tnavElement.classList.add('can-animate');\n\t\t\t}\n\t\t\tnavElement.classList.add('is-visible');\n\t\t});\n\t} else {\n\t\tnavElement.classList.remove('is-visible');\n\t}\n};\n\nconst handleNotificationsMenuOpen = (dispatch) => {\n\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\tttl: Number.MAX_SAFE_INTEGER\n\t});\n\tdispatch(UNREAD_NOTIFICATIONS_COUNT_SET, {\n\t\tunreadCount: 0\n\t});\n};\n\nconst handlePropertyChange = (coeffects) => {\n\tconst {host, state, action, properties, dispatch} = coeffects;\n\tconst {menuContainerRef, menuProperties, menuState} = properties;\n\tconst {name, value} = action.payload;\n\n\tswitch (name) {\n\t\tcase 'menuUnpinnedLeft':\n\t\tcase 'menuProperties':\n\t\tcase 'menuState': {\n\t\t\thandleMenuStateChange(host, state, properties);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'opened': {\n\t\t\tif (value) {\n\t\t\t\tif (\n\t\t\t\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\t\t\t\tmenuState.secondaryMenuId === 'notifications'\n\t\t\t\t) {\n\t\t\t\t\thandleNotificationsMenuOpen(dispatch);\n\t\t\t\t}\n\n\t\t\t\tdispatch('CONTEXTUAL_MENU_CONTENT_FOCUSED');\n\t\t\t} else {\n\t\t\t\tconst utilityMenuButton = menuState.barMenuId\n\t\t\t\t\t? menuState.utilityBarRef.current?.querySelector(\n\t\t\t\t\t\t\t`#utility-bar-${menuState.barMenuId}`\n\t\t\t\t\t  )\n\t\t\t\t\t: menuContainerRef.current.querySelector(\n\t\t\t\t\t\t\t`.${menuProperties.buttonId}`\n\t\t\t\t\t  );\n\t\t\t\tconst isContextualMenuClosed =\n\t\t\t\t\t(!menuState.isMenuPinned && menuState.primaryMenuId === null) ||\n\t\t\t\t\t(menuState.isMenuPinned &&\n\t\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\t\tmenuState.secondaryMenuId === null);\n\t\t\t\tif (utilityMenuButton && isContextualMenuClosed) {\n\t\t\t\t\tif (menuState.closedByKeyboard) {\n\t\t\t\t\t\tutilityMenuButton.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst handleFirstLoad = (coeffects) => {\n\tconst {host, properties, state, dispatch} = coeffects;\n\tconst {menuState, menuProperties, isPolarisEnabled} = properties;\n\tconst isActivePrimaryMenu =\n\t\tmenuState.primaryMenuId === menuProperties.menuType;\n\tconst isMenuPinned = menuState.isMenuPinned && isActivePrimaryMenu;\n\tconst isOverflow = menuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID;\n\n\tif (isMenuPinned && menuProperties.menuType !== 'userMenu') {\n\t\tconst navElement = host.shadowRoot.querySelector(\n\t\t\t'div.polaris-contextual-menu'\n\t\t);\n\t\tnavElement.classList.remove('can-animate');\n\t\tnavElement.classList.add('is-visible');\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tnavElement.classList.add('can-animate');\n\t\t});\n\t}\n\tif (isPolarisEnabled) {\n\t\tmoveContextualMenu(host, state, false);\n\t}\n\n\tif (properties.opened) {\n\t\tif (isOverflow) {\n\t\t\tconst drilldownElement = host.querySelector('sn-drilldown-list');\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdrilldownElement?.focus();\n\t\t\t});\n\t\t} else if (menuState.pinnedMenuId !== menuProperties.menuType) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdispatch('CONTEXTUAL_MENU_CONTENT_FOCUSED');\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\t\tmenuState.secondaryMenuId === 'notifications'\n\t\t) {\n\t\t\thandleNotificationsMenuOpen(dispatch);\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleFirstLoad,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChange,\n\t\tstopPropagation: true\n\t},\n\t[OVERLAY_BEHAVIOR_OPENED_SET]: {\n\t\teffect: ({\n\t\t\tproperties: {menuState, isPrimary, activeModal},\n\t\t\tstate: {closeMenuAction},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (\n\t\t\t\t!activeModal &&\n\t\t\t\t(!(menuState.isMenuPinned && menuState.canBePinned) ||\n\t\t\t\t\t(menuState.isMenuPinned && menuState.canBePinned && !isPrimary))\n\t\t\t)\n\t\t\t\tdispatch(closeMenuAction);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_DISCONNECTED]: ({action}) => {\n\t\tconst componentId = action.meta.id;\n\t\tunschedule(componentId);\n\t},\n\t[SCREEN_CONTENT_LINK_ITEM_SELECTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffects;\n\t\t\tdispatch(NAV_ITEM_SELECTED, payload.item.route);\n\t\t\ttrack(coeffects, METRICS.SCREEN_CONTENT_DEEP_LINK_SELECT, {\n\t\t\t\tlink: payload.item.label\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOW_UI_TOGGLE_PIN]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\tproperties: {menuState, isPrimary},\n\t\t\taction: {\n\t\t\t\tpayload: {pin}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(CONTEXTUAL_MENU_PINNED, {\n\t\t\t\tisPrimary,\n\t\t\t\tprimaryMenuId: menuState.primaryMenuId,\n\t\t\t\tsecondaryMenuId: menuState.secondaryMenuId,\n\t\t\t\tdoPinning: pin\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['CONTEXTUAL_MENU_CONTENT_FOCUSED']: {\n\t\teffect: ({host, properties: {isTouchDevice}}) => {\n\t\t\tif (!isTouchDevice) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleFocusFirstNode(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_AVATAR#CLICKED']: {\n\t\teffect: ({dispatch, properties}) => {\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\troute: CLASSIC,\n\t\t\t\tparams: {\n\t\t\t\t\ttarget:\n\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\tproperties.contextualMenu.menuData.userMeta.sys_id +\n\t\t\t\t\t\t'&sysparm_view=ess'\n\t\t\t\t}\n\t\t\t});\n\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport overlayBehavior from '@servicenow/behavior-overlay';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport menuKeyboardNavBehavior from '../../../../behaviors/menu-keyboard-nav-behavior';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../../sn-polaris-layout/actions';\n\nimport styles from './styles.scss';\nimport view from './contextual-menu.view';\nimport {actionHandlers} from './contextual-menu.effect';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {LOCAL_STORAGE_KEYS} from '../../../../constants';\n\nconst CONTEXTUAL_MENU_ELEMENT = 'sn-contextual-menu';\n\ncreateCustomElement(CONTEXTUAL_MENU_ELEMENT, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tnowAvoidRender: {default: true},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\treversed: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tmenuContainerRef: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tmenuProperties: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tisPrimary: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tcomputed: () => getFeatureSettings().isPolarisEnabled,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\texperienceUserMenu: {\n\t\t\tschema: {type: 'array'},\n\t\t\tdefault: null\n\t\t},\n\t\tmenuIndex: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: -1\n\t\t},\n\t\tmenuState: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {\n\t\t\t\tisMenuPinned: false,\n\t\t\t\tprimaryMenuId: null,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: null,\n\t\t\t\tcanBePinned: true,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\tdrilledMenu: null,\n\t\t\t\tcanToggleWideMenu: false\n\t\t\t}\n\t\t},\n\t\tmenuWidth: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuUnpinnedLeft: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: 0\n\t\t},\n\t\tcontextualMenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\tactiveModal: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tshouldAlwaysRender: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t},\n\t\t\tshouldRender: false\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tcloseMenuAction: CLOSE_CONTEXTUAL_MENU\n\t\t};\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: CONTEXTUAL_MENU_ELEMENT}\n\t\t},\n\t\t{behavior: overlayBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: focusBehavior},\n\t\t{behavior: menuKeyboardNavBehavior}\n\t],\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\tstyles\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-avatar';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {BUTTON_ACTIONS} from '../../../../constants';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {localizePresence} from '@servicenow/now-icon';\n\nconst createAriaLabel = ({fullName, presence, elevatedRole}) => {\n\t// Create aria-label {name}: roles, presence\n\tconst localizedPresence = localizePresence(presence);\n\tconst description = [elevatedRole, localizedPresence]\n\t\t.filter((a) => !!a)\n\t\t.join(', ');\n\treturn t('${0}: ${1}', fullName, description);\n};\n\n/**\n * jsx to render the experiences contextual utilities button\n */\nexport const ActionButton = ({action}) => {\n\treturn (\n\t\t<now-button\n\t\t\tbare\n\t\t\ttype=\"button\"\n\t\t\tsize=\"md\"\n\t\t\tappend-to-payload={{\n\t\t\t\teventSource: BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED,\n\t\t\t\ttarget: action.value\n\t\t\t}}\n\t\t\tclassName=\"contextual-menu-item action-button\"\n\t\t\ttitle={action.label}>\n\t\t\t<now-icon icon={action.icon} />\n\t\t\t<span className=\"contextual-menu-item-label\">{action.label}<\/span>\n\t\t\t{action.alert && action.alert.count > 0 ? (\n\t\t\t\t<now-badge\n\t\t\t\t\tround\n\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tstatus=\"critical\"\n\t\t\t\t\tvalue={action.alert.count}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/now-button>\n\t);\n};\n\n/**\n * jsx to render the main avatar button\n *\n * @param {*} {avatarPath, userName}\n * @returns {*}\n */\nexport const AvatarButton = ({\n\tid,\n\tavatarPath,\n\tfullName,\n\tpresence,\n\tisImpersonating,\n\tisElevated,\n\topened,\n\televatedRole,\n\thandleMenuOpen,\n\tdispatch\n}) => {\n\tconst ariaLabel = createAriaLabel({fullName, presence, elevatedRole});\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={0}\n\t\t\tclass={{\n\t\t\t\t'contextual-zone-button': true,\n\t\t\t\t[id]: true\n\t\t\t}}\n\t\t\tclassName=\"header-avatar-button\"\n\t\t\taria-label={ariaLabel}\n\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\tbare\n\t\t\tsize=\"sm\"\n\t\t\trole=\"button\"\n\t\t\t{...createInteractionHandlers(handleMenuOpen)}\n\t\t\tdata-id={id}\n\t\t\tdata-tooltip={ariaLabel}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\trequestIdleCallback(() => dispatch(TOOLTIP_ADD_TARGET, {target: elm}));\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t}}>\n\t\t\t<now-avatar\n\t\t\t\thide-tooltip\n\t\t\t\tclass={{\n\t\t\t\t\t'is-impersonating': isImpersonating || isElevated\n\t\t\t\t}}\n\t\t\t\timage-src={avatarPath}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tuser-name={fullName}\n\t\t\t\tpresence={presence}\n\t\t\t/>\n\t\t\t{isImpersonating ? (\n\t\t\t\t<now-icon className=\"avatar-status-overlay\" icon=\"eye-fill\" size=\"sm\" />\n\t\t\t) : null}\n\t\t\t{isElevated ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"avatar-status-overlay\"\n\t\t\t\t\ticon=\"circle-arrow-up-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\n/**\n * jsx to render utility buttons\n *\n * @param {*} {\n * \ticon,\n * \tlabel,\n * \tsize = 'md',\n * \ttooltipContent,\n * \teventSource\n * }\n */\nexport const UtilityButton = ({\n\ticon,\n\tid,\n\ttooltipContent = {},\n\tpayload = {},\n\tindicatorOn = false,\n\topened = false,\n\tshowBadgeCount = true,\n\tbadgeCount = 0,\n\tbadgeDot = false,\n\tselected = false,\n\tpresence = {showPresence: false},\n\thandleMenuOpen = () => {},\n\tisPinned = false\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tlet iconElm = null;\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'contextual-zone-button': true,\n\t\t\t\t'indicator-on': indicatorOn,\n\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t[id]: true,\n\t\t\t\tpinned: isPinned,\n\t\t\t\tselected: selected\n\t\t\t}}\n\t\t\taria-label={`${payload?.triggerAriaLabel ??\n\t\t\t\tpayload?.contextualMenuHeaderText}`}\n\t\t\taria-describedby={`contextual_zone_${id}_button`}\n\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\trole=\"button\"\n\t\t\t{...createInteractionHandlers(handleMenuOpen)}\n\t\t\ttab-index={!isPinned ? 0 : -1}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\ticonElm = elm;\n\t\t\t\telm.children[1].targetRef = iconElm;\n\t\t\t}}\n\t\t\tdata-id={id}>\n\t\t\t<now-icon\n\t\t\t\tkey={id}\n\t\t\t\tclassName=\"contextual-zone-icon\"\n\t\t\t\ticon={icon}\n\t\t\t\tsize={isPolarisEnabled ? 'md' : 'lg'}\n\t\t\t/>\n\n\t\t\t{showBadgeCount && badgeCount > 0 ? (\n\t\t\t\t<now-badge\n\t\t\t\t\tround\n\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvalue={badgeCount}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{presence.showPresence ? (\n\t\t\t\t<now-icon-presence\n\t\t\t\t\tkey={id}\n\t\t\t\t\tclassName=\"utility-presence\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tpresence={presence.status}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{badgeDot ? <i className=\"utility-badge-dot\" /> : null}\n\n\t\t\t<now-tooltip\n\t\t\t\tid={`${id}-tooltip`}\n\t\t\t\tcontent={tooltipContent?.slotted ? null : tooltipContent?.value}>\n\t\t\t\t{tooltipContent?.slotted ? tooltipContent?.value : null}\n\t\t\t<\/now-tooltip>\n\t\t<\/span>\n\t);\n};\n","import {SYS_PROPS} from '../../../../../constants';\nimport getBooleanPropertyWhenPolarisEnabled from '../../../../../utils/getBooleanPropertyWhenPolarisEnabled';\n\nexport function mapOverflowMenuItems(contextualMenu) {\n\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\ttrue\n\t);\n\tconst {utilityBarVisible, overflowMenuItems = []} = contextualMenu || {};\n\tconst includeUtilityBar = useUtilityBar && utilityBarVisible;\n\n\treturn overflowMenuItems.reduce((items, menuItem, index) => {\n\t\tif (\n\t\t\t(includeUtilityBar && menuItem.buttonConfig.id === 'concourse-pickers') ||\n\t\t\t(!includeUtilityBar && menuItem.buttonConfig.id === 'instance-tools')\n\t\t) {\n\t\t\treturn items;\n\t\t}\n\n\t\titems.push({\n\t\t\tid: menuItem.buttonConfig.id,\n\t\t\ticon: menuItem.buttonConfig.icon,\n\t\t\tindex: index,\n\t\t\tlabel: menuItem.buttonConfig.payload.contextualMenuHeaderText,\n\t\t\tsubItems: [],\n\t\t\tbadgeCount: menuItem.buttonConfig?.badgeCount || 0,\n\t\t\tindicatorOn: menuItem.buttonConfig?.indicatorOn || false,\n\t\t\tbuttonConfig: menuItem.buttonConfig,\n\t\t\tmenuConfig: menuItem.menuConfig\n\t\t});\n\n\t\treturn items;\n\t}, []);\n}\n","import '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport '../../../../sn-polaris-menu/sn-drilldown-list';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../../../../sn-polaris-menu/sn-drilldown-list/constants';\nimport {SN_DRILLDOWN_LIST_TOGGLE} from '../../../../sn-polaris-menu/actions';\nimport {NOTIFICATIONS_ID} from '../../../../../constants';\nimport {t} from 'sn-translate';\nimport createInteractionHandlers from '../../../../../utils/createInteractionHandlers';\nimport {kebabCase} from 'lodash';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../../../../behaviors/user-settings-behavior/actions';\nimport {mapOverflowMenuItems} from './overflow-menu.utils';\n\n/**\n * Generic JSX to handle rendering the user menu buttons\n *\n * @param {*} {label, icon, eventSource, isVisible}\n * @returns {NowButton}\n */\n\nexport const View = ({\n\tdispatch,\n\tcontextualMenu,\n\tmenuUtilProperties,\n\tcanAnimate,\n\thelpPanelAppContext,\n\tdir\n}) => {\n\tconst ContextualOverflowMenuHeader = (drilledMenu) => (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-container': true,\n\t\t\t\t'is-drilled': true,\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t'is-drilled': true,\n\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t'overflow-back-button': true\n\t\t\t\t}}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\telm.focus();\n\t\t\t\t}}\n\t\t\t\taria-label={t('Back to menus')}\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\tdrilled: false,\n\t\t\t\t\t\titem: drilledMenu,\n\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'right' : 'left'}-outline`}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-header-icon': true,\n\t\t\t\t\t\t\t[drilledMenu?.color]: !!drilledMenu?.color\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={drilledMenu?.icon}\n\t\t\t\t\t/>\n\t\t\t\t\t{drilledMenu?.label}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t{drilledMenu.id === 'experience-notifications' ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-header-controls': true\n\t\t\t\t\t}}>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label={t('Open notification preferences')}\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {\n\t\t\t\t\t\t\t\tinitialTab: NOTIFICATIONS_ID\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<now-icon icon=\"gear-outline\" size=\"md\" />\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n\n\tconst slotInOverflowMenu = (props) => {\n\t\tconst fragmentProperties = {\n\t\t\thideHeader: true,\n\t\t\tcontextualMenu,\n\t\t\thelpPanelAppContext: helpPanelAppContext || null,\n\t\t\tmenuUtilProperties\n\t\t};\n\n\t\treturn props?.menuConfig.menuContent(fragmentProperties);\n\t};\n\n\tconst overflowMenuItems = mapOverflowMenuItems(contextualMenu);\n\n\tconst isDrilled = contextualMenu?.drilledMenu !== null;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'utility-menu-overflow-body': true,\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}\n\t\t\trole=\"menu\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-overflow-menu': true,\n\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t}}>\n\t\t\t\t{isDrilled ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{ContextualOverflowMenuHeader(contextualMenu?.drilledMenu)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t\t\t\t'is-drilled': true,\n\t\t\t\t\t\t\t\t'is-utility': true,\n\t\t\t\t\t\t\t\t[contextualMenu?.drilledMenu?.id]: true\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{slotInOverflowMenu(contextualMenu?.drilledMenu)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{!isDrilled ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t\t\t'is-drilldown-list': true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"drilldown-items\">\n\t\t\t\t\t\t\t{overflowMenuItems.map((menu) => (\n\t\t\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t[`name-${kebabCase(menu.label)}`]: true,\n\t\t\t\t\t\t\t\t\t\t'overflow-item': true\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\tdata-id={`overflow-list-${menu.id}`}\n\t\t\t\t\t\t\t\t\tforceFocus={\n\t\t\t\t\t\t\t\t\t\tmenu?.id === contextualMenu.previousDrilledMenu?.id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import get from 'lodash/get';\n\nexport const getClassicTable = (selectedContent) => {\n\tif (get(selectedContent, 'route') === 'classic') {\n\t\tconst target = get(selectedContent, 'params.target', '').split('.do');\n\t\treturn target[0] || null;\n\t}\n\treturn null;\n};\n\nexport const getClassicSysId = (selectedContent) => {\n\tif (get(selectedContent, 'route') === 'classic') {\n\t\tconst target = get(selectedContent, 'params.target', '').split('?');\n\t\tconst query = target[1];\n\t\tif (!query) return null;\n\t\treturn new URLSearchParams(query).get('sys_id');\n\t}\n\treturn null;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const SN_FEEDBACK_FORM = 'sn-feedback-form';\n\nexport const FEEDBACK_FORM_ACTIONS = {\n\tOPEN: 'FEEDBACK_FORM_ACTION#OPEN',\n\tCLOSE: 'FEEDBACK_FORM_ACTION#CLOSE',\n\tCANCEL: 'FEEDBACK_FORM_ACTION#CANCEL',\n\tSUBMIT: 'FEEDBACK_FORM_ACTION#SUBMIT',\n\tCARD_CLICKED: 'FEEDBACK_FORM_ACTION#CARD_CLICKED'\n};\n\nexport const FEEDBACK_FORM_SUBMIT_REQUESTED = 'FEEDBACK_FORM_SUBMIT_REQUESTED';\nexport const FEEDBACK_SUBMITTED_SUCCESS = 'FEEDBACK_SUBMITTED_SUCCESS';\nexport const FEEDBACK_SUBMITTED_FAILED = 'FEEDBACK_SUBMITTED_FAILED';\n\nexport const FEEDBACK_MAX_VALUE_LENGTH = 250;\n","import '@servicenow/now-modal';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-card';\nimport '@servicenow/now-illustration';\nimport {\n\tdangerouslyCreateElementFromString,\n\tFragment\n} from '@servicenow/ui-renderer-snabbdom';\n\nimport {t} from 'sn-translate';\nimport {FEEDBACK_FORM_ACTIONS, FEEDBACK_MAX_VALUE_LENGTH} from './constants';\n\n/**\n * render each question of the feedback form based on state.questions\n */\nconst FeedbackFormQuestions = (questions, formValues, dispatch) => {\n\treturn questions.map((question) => {\n\t\treturn question.type === 'radio'\n\t\t\t? RadioButtons(question, formValues, dispatch)\n\t\t\t: TextArea(question);\n\t});\n};\n\n/**\n * render row of now-cards which act as radio buttons for a given question\n */\nconst RadioButtons = (question, formValues, dispatch) => {\n\treturn (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={`${question.id}.label`}\n\t\t\tid={`${question.id}.group`}>\n\t\t\t<h2 id={`${question.id}.label`}>{question.label}<\/h2>\n\t\t\t<div className=\"options\">\n\t\t\t\t{question.options.map((option, index) => {\n\t\t\t\t\tconst currentQuestionSelection = formValues[question.id] || null;\n\t\t\t\t\tconst isSelected = currentQuestionSelection === option.rank;\n\t\t\t\t\tconst numOptions = question.options.length;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-card\n\t\t\t\t\t\t\tid={option.id}\n\t\t\t\t\t\t\tvalue={option.rank}\n\t\t\t\t\t\t\tmanage-selected\n\t\t\t\t\t\t\tinteraction=\"select\"\n\t\t\t\t\t\t\thide-shadow\n\t\t\t\t\t\t\tselected={isSelected}\n\t\t\t\t\t\t\tsidebar={{color: 'positive', variant: 'none'}}\n\t\t\t\t\t\t\t// need for chrome + VO to announce the label of the card\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': option.label + `, ${index + 1} of ${numOptions}`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.CARD_CLICKED, {\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\tquestion\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{isSelected ? (\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ticon=\"circle-check-fill\"\n\t\t\t\t\t\t\t\t\tclassName=\"check-icon\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t<div className=\"card-content\">\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t<now-icon icon={option.icon} size=\"lg\" />\n\t\t\t\t\t\t\t\t\t{/* JAWS likes to pick this up along with the button label */}\n\t\t\t\t\t\t\t\t\t<h3 aria-hidden=\"true\">{option.label}<\/h3>\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/now-card>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * render now-textarea for a given feedback question\n */\nconst TextArea = (question) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<h2 id={`${question.id}.label`}>{question.label}<\/h2>\n\t\t\t<now-textarea\n\t\t\t\tid={question.id}\n\t\t\t\tname={question.id}\n\t\t\t\tmaxlength={FEEDBACK_MAX_VALUE_LENGTH}\n\t\t\t\tresize=\"both\"\n\t\t\t\trows=\"1\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tshowCounter\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': question.label\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * render the text shown at the bottom of the feedback form\n */\nconst FeedbackFormFooter = () => {\n\tconst feedbackText = t(\n\t\t'Providing feedback to ServiceNow is voluntary, and should not include any information that identifies, or could be used to identify you. If you participate, your feedback will be processed in accordance with our <a href=\"https://www.servicenow.com/company/trust/privacy.html\" target=\"_blank\">Privacy Policy<\/a>, if applicable. This feedback is not a request for support. ServiceNow may use your feedback to improve our product.'\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t`<div class=\"legal-text\">${feedbackText}<\/div>`\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * render content of feedback form\n */\nconst ModalContent = (state, dispatch) => {\n\tconst {hasBeenSubmitted, questions, formValues} = state;\n\tif (!hasBeenSubmitted) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{FeedbackFormQuestions(questions, formValues, dispatch)}\n\t\t\t\t{FeedbackFormFooter()}\n\t\t\t<\/Fragment>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<div className=\"submit-complete\">\n\t\t\t\t<div className=\"illustration\">\n\t\t\t\t\t<now-illustration size=\"lg\" illustration=\"completed-tasks\" />\n\t\t\t\t<\/div>\n\t\t\t\t<h1>{t('Thank you for your feedback.')}<\/h1>\n\t\t\t<\/div>\n\t\t);\n\t}\n};\n\n/**\n * render buttons on the bottom of the modal based on state of form\n */\nconst ModalButtons = (state) => {\n\tconst {hasBeenSubmitted} = state;\n\tif (!hasBeenSubmitted) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: t('Submit'),\n\t\t\t\tvariant: 'primary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.SUBMIT\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('Cancel'),\n\t\t\t\tvariant: 'secondary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.CANCEL\n\t\t\t}\n\t\t];\n\t} else {\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: t('Close'),\n\t\t\t\tvariant: 'primary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.CLOSE\n\t\t\t}\n\t\t];\n\t}\n};\n\n/**\n * render main feedback modal\n */\nexport default (state, dispatch) => {\n\tconst {\n\t\tproperties: {isOpened}\n\t} = state;\n\tif (!isOpened) return null;\n\treturn (\n\t\t<now-modal\n\t\t\topened={isOpened}\n\t\t\tid=\"feedback-modal\"\n\t\t\tmanageOpened\n\t\t\tsize=\"custom\"\n\t\t\tcustomSize={{width: '815px', height: '775px'}}\n\t\t\theader-label={t('Provide Feedback to ServiceNow')}\n\t\t\tfooter-actions={ModalButtons(state)}\n\t\t\theadingLevel=\"1\">\n\t\t\t<div className=\"feedback-form-container\">\n\t\t\t\t{ModalContent(state, dispatch)}\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n","import {METRICS} from '../../../constants';\nimport {sendFeedback} from '../../../utils/track';\nimport {FEEDBACK_FORM_ACTIONS, FEEDBACK_MAX_VALUE_LENGTH} from './constants';\n\nconst handleCardSelection = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tstate: {formValues},\n\t\tupdateState\n\t} = coeffects;\n\tconst {question, option} = payload;\n\n\tupdateState({\n\t\tformValues: {\n\t\t\t...formValues,\n\t\t\t[question.id]: option.rank\n\t\t}\n\t});\n};\n\nconst handleFormValueChange = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {formValues = {}},\n\t\taction: {payload}\n\t} = coeffects;\n\n\tif (payload.value === '' && formValues[payload.name] !== undefined) {\n\t\t// if user cleared text from a previously answered question, remove that response from formValues\n\t\tdelete formValues[payload.name];\n\t\tupdateState({\n\t\t\tformValues: formValues\n\t\t});\n\t} else if (payload.value !== '') {\n\t\t// user answered a question so include that into formValues\n\t\tupdateState({\n\t\t\tformValues: {\n\t\t\t\t...formValues,\n\t\t\t\t[payload.name]: payload.value\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handleFeedbackFormCancel = ({dispatch}) => {\n\tdispatch(FEEDBACK_FORM_ACTIONS.CLOSE);\n};\n\nconst handleFeedbackFormSubmit = (coeffects) => {\n\tconst {\n\t\tstate: {formValues},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (formValues && Object.keys(formValues).length > 0) {\n\t\tconst formValueKeys = Object.keys(formValues);\n\t\tlet isValid = true;\n\n\t\tformValueKeys.map((key) => {\n\t\t\tconst fieldValue = formValues[key];\n\n\t\t\tif (fieldValue.length > FEEDBACK_MAX_VALUE_LENGTH) {\n\t\t\t\tisValid = false;\n\t\t\t}\n\t\t});\n\n\t\tif (isValid) {\n\t\t\tformValueKeys.map((key) => {\n\t\t\t\tif (formValues[key] !== '') {\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\t[key]: formValues[key],\n\t\t\t\t\t\tv: 1\n\t\t\t\t\t};\n\t\t\t\t\tsendFeedback(coeffects, METRICS.PRODUCT_FEEDBACK, payload);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\thasBeenSubmitted: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[FEEDBACK_FORM_ACTIONS.CARD_CLICKED]: {\n\t\teffect: handleCardSelection,\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_FORM_ACTIONS.CANCEL]: {\n\t\teffect: handleFeedbackFormCancel,\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_FORM_ACTIONS.SUBMIT]: {\n\t\teffect: handleFeedbackFormSubmit,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TEXTAREA#VALUE_SET']: {\n\t\teffect: handleFormValueChange,\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport styles from './styles.scss';\nimport view from './sn-feedback-form.view';\n\nimport {SN_FEEDBACK_FORM} from './constants';\nimport {actionHandlers} from './sn-feedback-form.effects';\n\ncreateCustomElement(SN_FEEDBACK_FORM, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tisOpened: true,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tformValues: {},\n\t\t\thasBeenSubmitted: false,\n\t\t\tquestions: [\n\t\t\t\t{\n\t\t\t\t\tid: 'q1',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tlabel: t('How satisfied are you with this product experience?'),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'extremely-dissatisfied',\n\t\t\t\t\t\t\tlabel: t('Extremely Dissatisfied'),\n\t\t\t\t\t\t\trank: 5,\n\t\t\t\t\t\t\ticon: 'emoji-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'somewhat-dissatisfied',\n\t\t\t\t\t\t\tlabel: t('Somewhat Dissatisfied'),\n\t\t\t\t\t\t\trank: 4,\n\t\t\t\t\t\t\ticon: 'emoji-slightly-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'neither',\n\t\t\t\t\t\t\tlabel: t('Neither Satisfied or Dissatisfied'),\n\t\t\t\t\t\t\trank: 3,\n\t\t\t\t\t\t\ticon: 'emoji-neutral-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'somewhat-satisfied',\n\t\t\t\t\t\t\tlabel: t('Somewhat Satisfied'),\n\t\t\t\t\t\t\trank: 2,\n\t\t\t\t\t\t\ticon: 'emoji-smile-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'extremely-satisfied',\n\t\t\t\t\t\t\tlabel: t('Extremely Satisfied'),\n\t\t\t\t\t\t\trank: 1,\n\t\t\t\t\t\t\ticon: 'emoji-positive-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q2',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tlabel: t('Were you able to complete your goal?'),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'not-at-all',\n\t\t\t\t\t\t\tlabel: t({code: 'unified-nav', message: 'Not at all'}),\n\t\t\t\t\t\t\trank: 1,\n\t\t\t\t\t\t\ticon: 'emoji-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'partially',\n\t\t\t\t\t\t\tlabel: t('Partially'),\n\t\t\t\t\t\t\trank: 2,\n\t\t\t\t\t\t\ticon: 'emoji-neutral-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'completely',\n\t\t\t\t\t\t\tlabel: t({code: 'unified-nav', message: 'Completely'}),\n\t\t\t\t\t\t\trank: 3,\n\t\t\t\t\t\t\ticon: 'emoji-positive-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q3',\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tlabel: t('What part of the experience is your feedback regarding?')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q4',\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tlabel: t('What can we do to improve your experience?')\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t},\n\tactionHandlers: actionHandlers,\n\tstyles\n});\n","import {View as ConcoursePickers} from '../contextual-menu/concourse-pickers';\nimport {View as UserMenu} from '../contextual-menu/user-menu';\nimport {View as OverflowMenu} from '../contextual-menu/overflow-menu';\n\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isNil, get} from 'lodash';\nimport {t} from 'sn-translate';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {\n\tgetClassicSysId,\n\tgetClassicTable\n} from '../../utils/selectedContentUtil';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport {FEEDBACK_FORM_ACTIONS} from '../../../sn-feedback-form';\nimport '../../../sn-polaris-menu/sn-drilldown-list';\nimport {CLASSIC} from '../../../../constants';\n\nexport const ConcoursePickerFragment = ({\n\tcontextualMenu,\n\treversed,\n\tdispatch,\n\tcanAnimate,\n\tuserPreferences\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<ConcoursePickers\n\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\treversed={reversed}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const BellMenuFragment = ({\n\tnotificationData,\n\tuserTimeZoneOffset,\n\tisMoreNotifications,\n\thideHeader\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideHeader ? (\n\t\t\t\t<span slot=\"header-text\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t{t('Notifications')}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<div className=\"notifications-container\">\n\t\t\t\t\t{import('@devsnc/sn-notifications-menu') && (\n\t\t\t\t\t\t<sn-notifications-menu\n\t\t\t\t\t\t\tuserTimeZoneOffset={userTimeZoneOffset}\n\t\t\t\t\t\t\tisMoreNotifications={isMoreNotifications}\n\t\t\t\t\t\t\titems={!isNil(notificationData) ? notificationData : []}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const ChatMenuFragment = ({\n\tisCollabChatSearchEnabled,\n\tcommand,\n\tcollabChatId,\n\tmenuUtilProperties,\n\tuser,\n\tselectedContent,\n\tmenuType,\n\tmenuContext\n}) => {\n\tconst table =\n\t\tget(selectedContent, 'fields.table', null) ||\n\t\tgetClassicTable(selectedContent);\n\tconst sysId =\n\t\tget(selectedContent, 'fields.sysId', null) ||\n\t\tgetClassicSysId(selectedContent);\n\treturn (\n\t\timport('sn-oe-sfs') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span slot=\"menu-content\" className=\"collab-chat-container\">\n\t\t\t\t\t<sn-collab-chat-util-menu\n\t\t\t\t\t\tisCollabChatSearchEnabled={isCollabChatSearchEnabled}\n\t\t\t\t\t\tcommand={command}\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tcollabChatId={collabChatId}\n\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\tcurrentRecordTable={table}\n\t\t\t\t\t\tcurrentRecordId={sysId}\n\t\t\t\t\t\tmenuType={menuType}\n\t\t\t\t\t\t{...menuContext}\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const HelpMenuFragment = ({\n\thelpPanelAppContext,\n\tisContextualMenuPinned,\n\tfeedbackFormEnabled,\n\tisHelpPanelVisible,\n\thideHeader,\n\toverflowVisible,\n\tmenuContext\n}) => {\n\tconst isHelpPanelLoaded = window.customElements?.get('sn-help-panel');\n\n\tconst FeedbackFooter = () => {\n\t\treturn (\n\t\t\t<div className=\"help-menu-footer\">\n\t\t\t\t<now-button\n\t\t\t\t\tid=\"feedbackButton\"\n\t\t\t\t\tlabel={t('Provide Feedback')}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\ticon=\"form-outline\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': t('Provide Feedback')\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\teventSource: FEEDBACK_FORM_ACTIONS.OPEN\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={t('Provide feedback to ServiceNow')}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideHeader ? (\n\t\t\t\t<span slot=\"header-text\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t{t('Help Center')}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'help-menu-panel': true,\n\t\t\t\t\t\tisContextualMenuPinned: isContextualMenuPinned,\n\t\t\t\t\t\tfeedbackFormEnabled: feedbackFormEnabled\n\t\t\t\t\t}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'help-menu-content': true,\n\t\t\t\t\t\t\t'in-overflow-menu': overflowVisible\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<sn-help-panel\n\t\t\t\t\t\t\tisPolarisEnabled={getFeatureSettings().isPolarisEnabled}\n\t\t\t\t\t\t\topened={helpPanelAppContext.showHelpPanel}\n\t\t\t\t\t\t\tapp-context={helpPanelAppContext.appContext}\n\t\t\t\t\t\t\ttop={45}\n\t\t\t\t\t\t\tsetInitialFocusInPanel={false}\n\t\t\t\t\t\t\tvisible={isHelpPanelVisible}\n\t\t\t\t\t\t\tnow-mode={isHelpPanelVisible ? '' : 'suspend'}\n\t\t\t\t\t\t\tpinned={isContextualMenuPinned}\n\t\t\t\t\t\t\t{...menuContext}>\n\t\t\t\t\t\t\t{!isHelpPanelLoaded && helpPanelAppContext.showHelpPanel && (\n\t\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\t\tlabel=\"\"\n\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tmargin: '1rem 0rem'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/sn-help-panel>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{feedbackFormEnabled ? FeedbackFooter() : null}\n\t\t\t\t<\/div>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const NowAssistFragment = ({\n\tselectedContent,\n\tisContextualMenuPinned,\n\tmenuUtilProperties,\n\tcontext: menuContext,\n\tnapShortcutCommand,\n\tconversationId\n}) => {\n\treturn (\n\t\timport('now-assist-core') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span slot=\"menu-content\">\n\t\t\t\t\t<sn-component-assist-panel\n\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\tcomponent-id=\"gaia-chat-client\"\n\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t{...menuContext}\n\t\t\t\t\t\tconversationId={conversationId}\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const UsageAnalyticsFragment = ({\n\tselectedContent,\n\tapplicationId,\n\tmenuUtilProperties\n}) => {\n\tconst pageId =\n\t\tselectedContent?.route === CLASSIC\n\t\t\t? getClassicTable(selectedContent)\n\t\t\t: selectedContent?.route;\n\n\tconst isUsageAnalyticsPanelLoaded = window.customElements?.get(\n\t\t'sn-uxa-analytics-overlay'\n\t);\n\n\treturn (\n\t\timport('@servicenow/uxa-commons-connected') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span\n\t\t\t\t\tslot=\"menu-content\"\n\t\t\t\t\tclassName=\"sn-uxa-analytics-overlay-container\">\n\t\t\t\t\t<sn-uxa-analytics-overlay\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tapplicationId={applicationId}\n\t\t\t\t\t\tpageId={pageId}\n\t\t\t\t\t\tshowBorder={false}\n\t\t\t\t\t\tusePolarisHeader>\n\t\t\t\t\t\t{!isUsageAnalyticsPanelLoaded && (\n\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\tid=\"uxaAnalyticsLoader\"\n\t\t\t\t\t\t\t\tlabel=\"\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmargin: '1rem 0'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/sn-uxa-analytics-overlay>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const UserMenuFragment = ({\n\tcontextualMenu,\n\texperienceUserMenuItems,\n\tscreenContentLinks,\n\tdispatch\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<UserMenu\n\t\t\t\t\tmenuData={contextualMenu}\n\t\t\t\t\texperienceUserMenuItems={experienceUserMenuItems}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const OverflowUtilMenuFragment = ({\n\tdispatch,\n\tcontextualMenu,\n\tmenuUtilProperties,\n\tcanAnimate,\n\thelpPanelAppContext,\n\tdir\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<OverflowMenu\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n","import {UTILITY_OVERFLOW_MENU_ID} from '../../../constants';\n\nexport const isContextualMenuActive = ({\n\tcontextualMenuState,\n\tmenuId,\n\tbuttonConfig,\n\tutilityMenuRef\n}) => {\n\tconst isActivePrimaryMenu = contextualMenuState.primaryMenuId === menuId;\n\n\tconst isActiveSecondaryMenu = contextualMenuState.secondaryMenuId === menuId;\n\n\tlet isActive;\n\tif (menuId === 'ctiMenu') {\n\t\tisActive = buttonConfig.selected;\n\t\tbuttonConfig.payload.menuContainerRef = utilityMenuRef;\n\t} else if (menuId === 'instanceTools') {\n\t\tisActive = contextualMenuState.isBarOpen;\n\t} else {\n\t\tisActive =\n\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t\t? isActivePrimaryMenu || isActiveSecondaryMenu\n\t\t\t\t: isActivePrimaryMenu;\n\t}\n\n\treturn isActive;\n};\n\nexport const getFragmentProperties = ({\n\tcontextualMenuState,\n\tmenuId,\n\tcanAnimate,\n\tbuttonConfig,\n\tmenuConfig,\n\tcontextualMenu\n}) => {\n\tconst isPrimary =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t? contextualMenuState.primaryMenuId === menuId\n\t\t\t: true;\n\tconst animationsEnabled =\n\t\tcanAnimate && buttonConfig.id !== 'concourse-pickers';\n\n\tconst isExternalMenu = menuConfig?.menuProperties?.hasExternallyManagedMenu;\n\n\treturn isExternalMenu || menuId === UTILITY_OVERFLOW_MENU_ID\n\t\t? {\n\t\t\t\tcontextualMenu,\n\t\t\t\tmenuUtilProperties: {\n\t\t\t\t\tpinned:\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId,\n\t\t\t\t\treversed: menuConfig.reversed,\n\t\t\t\t\tmenuProperties: menuConfig.menuProperties,\n\t\t\t\t\tmenuState: contextualMenuState,\n\t\t\t\t\tisPrimary: isPrimary,\n\t\t\t\t\tanimationEnabled: animationsEnabled,\n\t\t\t\t\tnotificationData: contextualMenu.notificationData\n\t\t\t\t},\n\t\t\t\tadditionalData: contextualMenuState.additionalData\n\t\t  }\n\t\t: {contextualMenu};\n};\n","import {\n\tBUTTON_ACTIONS,\n\tSYS_PROPS,\n\tUSER_MENU_ID,\n\tUSER_MENU_HEADER_TEXT,\n\tNOW_ASSIST_MENU_ID\n} from '../../../constants';\nimport {t} from 'sn-translate';\nimport {createRef, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport './contextual-menu';\nimport {get} from 'lodash';\nimport {\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_SELECTED\n} from '../../sn-polaris-layout/actions';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nimport {\n\tActionButton,\n\tAvatarButton,\n\tUtilityButton\n} from './fragments/button-fragments';\nimport {UserMenuFragment} from './fragments/menu-fragments';\nimport {\n\tgetFragmentProperties,\n\tisContextualMenuActive\n} from './utility-menu.utils';\n\nconst uiPresenceDisabled = getBooleanProperty(\n\tSYS_PROPS.UI.PRESENCE_DISABLED,\n\tfalse\n);\n\n/**\n * Main Contextual Utilities Zone View\n * @param {*} param0\n */\nexport const UtilityMenu = ({\n\tcurrentRouteHeaderConfig = {},\n\tisLoggedIn = false,\n\treversed,\n\tcanAnimate,\n\tmenuWidth,\n\tcontextualMenu,\n\tcontextualMenuState,\n\theaderProperties,\n\tavatar,\n\tisImpersonating,\n\tisElevated,\n\televatedRoles,\n\tdispatch,\n\tscreenContentLinks,\n\tactiveModal,\n\tutilityMenuData,\n\tutilityMenuItemLeftPositions,\n\tuserMeta,\n\tfeedbackFormEnabled,\n\twindowSize,\n\tisAIELEnabled\n}) => {\n\tconst {privatePage = {}, publicPage = {}} = currentRouteHeaderConfig;\n\tconst userPage = isLoggedIn ? privatePage : publicPage;\n\tconst userMenuItems = get(userPage, 'globalTools.primaryItems', []);\n\tconst elevatedRole = elevatedRoles.length > 0 ? elevatedRoles[0] : '';\n\n\tconst actions = isLoggedIn\n\t\t? get(userPage, 'globalTools.secondaryItems', [])\n\t\t: get(userPage, 'actionButtons', []);\n\n\tconst utilityMenuRef = createRef(); // div which holds all the utility buttons\n\n\t/**\n\t *\n\t * @param {Number} menuIndex - the index is based on its place within the utilityMenuData array\n\t * @param {*} buttonConfig - object which describes the properties of the button that was clicked\n\t */\n\tconst onOpenContextualMenu = (menuId, buttonConfig) => (e) => {\n\t\te.stopPropagation();\n\t\tconst {dispatchedAction, payload} = buttonConfig;\n\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\tmenuId,\n\t\t\tbuttonConfig,\n\t\t\tdispatchedAction\n\t\t});\n\t\tdispatch(CLOSE_MENUS);\n\t\tdispatch(dispatchedAction, payload);\n\t};\n\n\t/**\n\t * render zone 4  - search field, action menu, utilities menu, user avatar & user menu\n\t */\n\n\treturn (\n\t\t<div\n\t\t\tref={utilityMenuRef}\n\t\t\tclassName=\"utility-menu\"\n\t\t\tclass={{\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}>\n\t\t\t{/* render action buttons */}\n\t\t\t{actions\n\t\t\t\t? actions.map((action) => <ActionButton action={action} />)\n\t\t\t\t: null}\n\n\t\t\t{/* Loop over utilityMenuData to render utility buttons and related contextual menus */}\n\t\t\t{utilityMenuData.map((utilityMenuItem) => {\n\t\t\t\tconst buttonConfig = utilityMenuItem.buttonConfig;\n\t\t\t\tconst menuConfig = utilityMenuItem.menuConfig;\n\t\t\t\tconst menuId = menuConfig.menuProperties.menuType;\n\n\t\t\t\tconst handleMenuOpen = onOpenContextualMenu(\n\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId ||\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === menuId\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: menuId,\n\t\t\t\t\tbuttonConfig\n\t\t\t\t);\n\n\t\t\t\t// Customers should never be using this.\n\t\t\t\tif (\n\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t'glide.ui.polaris.disable_utility_badging',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) === true\n\t\t\t\t) {\n\t\t\t\t\tbuttonConfig.indicatorOn = false;\n\t\t\t\t\tbuttonConfig.showBadgeCount = false;\n\t\t\t\t\tbuttonConfig.badgeCount = 0;\n\t\t\t\t\tbuttonConfig.badgeDot = 0;\n\t\t\t\t\tbuttonConfig.presence = {showPresence: false};\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{/* render utility button */}\n\t\t\t\t\t\t{!buttonConfig.hidden ? (\n\t\t\t\t\t\t\t<UtilityButton\n\t\t\t\t\t\t\t\ticon={buttonConfig.icon}\n\t\t\t\t\t\t\t\tid={buttonConfig.id}\n\t\t\t\t\t\t\t\topened={isContextualMenuActive({\n\t\t\t\t\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\t\t\t\t\tbuttonConfig,\n\t\t\t\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t\t\t\tutilityMenuRef\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttooltipContent={buttonConfig.tooltipContent}\n\t\t\t\t\t\t\t\tpayload={buttonConfig.payload}\n\t\t\t\t\t\t\t\thandleMenuOpen={handleMenuOpen}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tindicatorOn={buttonConfig.indicatorOn}\n\t\t\t\t\t\t\t\tisPinned={\n\t\t\t\t\t\t\t\t\tcontextualMenuState.pinnedMenuId === menuId &&\n\t\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowBadgeCount={buttonConfig.showBadgeCount}\n\t\t\t\t\t\t\t\tbadgeCount={buttonConfig.badgeCount || 0}\n\t\t\t\t\t\t\t\tbadgeDot={buttonConfig.badgeDot || 0}\n\t\t\t\t\t\t\t\tpresence={buttonConfig.presence}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{/* user menu toggle & avatar button */}\n\t\t\t{isLoggedIn ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<AvatarButton\n\t\t\t\t\t\tavatarPath={avatar.avatarPath}\n\t\t\t\t\t\tfullName={avatar.fullName}\n\t\t\t\t\t\tpresence={uiPresenceDisabled ? '' : avatar.presence || 'available'} // avatar.presence is not populated by UXR yet so default to available for now so avatar presence dot and tooltip are correct\n\t\t\t\t\t\tisImpersonating={isImpersonating}\n\t\t\t\t\t\tisElevated={isElevated}\n\t\t\t\t\t\topened={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\televatedRole={elevatedRole}\n\t\t\t\t\t\tid={'user-menu'}\n\t\t\t\t\t\ttooltipContent={{value: 'Show user menu'}}\n\t\t\t\t\t\tpayload={{\n\t\t\t\t\t\t\tcontextualMenuType: USER_MENU_ID\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thandleMenuOpen={onOpenContextualMenu(\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: USER_MENU_ID,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\t\tid: 'user-menu',\n\t\t\t\t\t\t\t\ttooltipContent: t('Show user menu'),\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tcontextualMenuType: USER_MENU_ID,\n\t\t\t\t\t\t\t\t\tcontextualMenuHeaderText: USER_MENU_HEADER_TEXT\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* user context menu */}\n\t\t\t\t\t<sn-contextual-menu\n\t\t\t\t\t\tid=\"userMenu\"\n\t\t\t\t\t\tcontextualMenu={{menuData: {userMeta: userMeta}}}\n\t\t\t\t\t\tmenuContainerRef={utilityMenuRef}\n\t\t\t\t\t\tdefer={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId !== USER_MENU_ID &&\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId !== USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\topened={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\tmenuState={contextualMenuState}\n\t\t\t\t\t\tanimationsEnabled={canAnimate}\n\t\t\t\t\t\tmenuIndex={utilityMenuData.length}\n\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuProperties={{\n\t\t\t\t\t\t\tmenuType: USER_MENU_ID,\n\t\t\t\t\t\t\tbuttonId: 'user-menu'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\tmenuUnpinnedLeft={utilityMenuItemLeftPositions.userMenu}\n\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t{contextualMenuState.hasBeenOpened?.indexOf(USER_MENU_ID) > -1 ||\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID ? (\n\t\t\t\t\t\t\t// todo: remove this outer span as the fragment already has it\n\t\t\t\t\t\t\t<span slot=\"menu-content\">\n\t\t\t\t\t\t\t\t<UserMenuFragment\n\t\t\t\t\t\t\t\t\tcontextualMenu={headerProperties}\n\t\t\t\t\t\t\t\t\texperienceUserMenuItems={userMenuItems || []}\n\t\t\t\t\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/sn-contextual-menu>\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\n\t\t\t{utilityMenuData.map((utilityMenuItem, i) => {\n\t\t\t\tconst buttonConfig = utilityMenuItem.buttonConfig;\n\t\t\t\tconst menuConfig = utilityMenuItem.menuConfig;\n\t\t\t\tconst menuId = menuConfig.menuProperties.menuType;\n\n\t\t\t\tconst isActive = isContextualMenuActive({\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tbuttonConfig,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tutilityMenuRef\n\t\t\t\t});\n\t\t\t\tconst menuUnpinnedLeft = utilityMenuItemLeftPositions[menuId];\n\n\t\t\t\tconst isHelpMenu = menuConfig.menuProperties.menuType === 'helpMenu';\n\t\t\t\tconst fragmentProperties = getFragmentProperties({\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tcanAnimate,\n\t\t\t\t\tbuttonConfig,\n\t\t\t\t\tmenuConfig,\n\t\t\t\t\tcontextualMenu\n\t\t\t\t});\n\n\t\t\t\tconst snContextualMenu =\n\t\t\t\t\tmenuConfig.menuProperties.menuType !== null &&\n\t\t\t\t\tmenuConfig.menuProperties.menuType !== 'ctiMenu' &&\n\t\t\t\t\t(menuConfig.menuProperties.menuType !== NOW_ASSIST_MENU_ID ||\n\t\t\t\t\t\t!isAIELEnabled) &&\n\t\t\t\t\t!menuConfig.forUtilityBar ? (\n\t\t\t\t\t\t<sn-contextual-menu\n\t\t\t\t\t\t\tshould-always-render={isHelpMenu}\n\t\t\t\t\t\t\tdefer={!(isHelpMenu || isActive)}\n\t\t\t\t\t\t\tkey={`id-${menuConfig.menuProperties.menuType}`}\n\t\t\t\t\t\t\tid={menuConfig.menuProperties.menuType}\n\t\t\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\t\t\tmenuIndex={i}\n\t\t\t\t\t\t\tmenuContainerRef={utilityMenuRef}\n\t\t\t\t\t\t\topened={isActive}\n\t\t\t\t\t\t\treversed={menuConfig.reversed}\n\t\t\t\t\t\t\tanimationsEnabled={\n\t\t\t\t\t\t\t\tcanAnimate && buttonConfig.id !== 'concourse-pickers'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId === menuId\n\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmenuProperties={menuConfig.menuProperties}\n\t\t\t\t\t\t\tmenuState={contextualMenuState}\n\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\tmenuUnpinnedLeft={menuUnpinnedLeft}\n\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t\t{contextualMenuState.hasBeenOpened?.indexOf(menuId) > -1 ||\n\t\t\t\t\t\t\tisActive ||\n\t\t\t\t\t\t\tisHelpMenu\n\t\t\t\t\t\t\t\t? menuConfig.menuContent(\n\t\t\t\t\t\t\t\t\t\tfragmentProperties,\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<\/sn-contextual-menu>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\n\t\t\t\treturn menuConfig.forUtilityBar ? '' : snContextualMenu;\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","import {SYS_PROPS} from '../../../constants';\nimport {SEARCH_INPUT_ONRESIZE} from '../../../behaviors/search-behavior/actions';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nconst aiSearchEnabled = getBooleanProperty(\n\tSYS_PROPS.UI.POLARIS_AI_SEARCH_READY,\n\tfalse\n);\n\nexport const SearchContainer = ({\n\trenderSearch,\n\tselectedSearchContext,\n\tsearchTerm,\n\tsearchContexts,\n\tcanAnimate,\n\tisPolarisEnabled,\n\tdispatch,\n\tsearchInputVariant,\n\tisAIELEnabled\n}) => {\n\tconst resizeObserver = new ResizeObserver(() => {\n\t\tdispatch(SEARCH_INPUT_ONRESIZE);\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{'polaris-search': true, 'polaris-enabled': isPolarisEnabled}}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}>\n\t\t\t{renderSearch ? (\n\t\t\t\t<sn-search-input-wrapper\n\t\t\t\t\tglobalSearchViewConfigId={\n\t\t\t\t\t\tselectedSearchContext?.searchViewConfigId || ''\n\t\t\t\t\t}\n\t\t\t\t\tsearchContextConfigId={\n\t\t\t\t\t\tselectedSearchContext?.searchDataConfigId || ''\n\t\t\t\t\t}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tplacement=\"header\"\n\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\taiSearchEnabled={aiSearchEnabled}\n\t\t\t\t\twindowSize={searchInputVariant}\n\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../../../behaviors/favorites-behavior/actions';\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {EXPEREIENCE_TITLE_RESIZED} from '../../actions';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nexport const ExperienceTitlePill = ({\n\tpageLabel,\n\tisPolarisEnabled,\n\tselectedContentFavorite,\n\tfavoriteSR,\n\tfavoriteTooltip,\n\ttempFavoriteStarFill,\n\thideFavoriteTooltip,\n\tdispatch\n}) => {\n\tlet titleElm = null;\n\n\tconst resizeObserver = new ResizeObserver(() => {\n\t\tdispatch(EXPEREIENCE_TITLE_RESIZED);\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-header-experience-title\"\n\t\t\thook-destroy={() => (titleElm = null)}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}\n\t\t\taria-description={pageLabel}>\n\t\t\t<span\n\t\t\t\tclassName=\"experience-title\"\n\t\t\t\tdata-tooltip={pageLabel}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\ttitleElm = elm;\n\t\t\t\t\tif (\n\t\t\t\t\t\telm.parentElement?.children[2] &&\n\t\t\t\t\t\telm.parentElement?.children[2].targetRef\n\t\t\t\t\t) {\n\t\t\t\t\t\telm.parentElement.children[2].targetRef = titleElm;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t}}\n\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t}}\n\t\t\t\tdata-truncation>\n\t\t\t\t{pageLabel}\n\t\t\t<\/span>\n\t\t\t{isPolarisEnabled ? (\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'experience-title-favorite-button': true,\n\t\t\t\t\t\t'is-favorite': selectedContentFavorite\n\t\t\t\t\t}}\n\t\t\t\t\taria-describedby=\"experience_title_favorite_button\"\n\t\t\t\t\taria-label={favoriteSR}\n\t\t\t\t\taria-pressed={selectedContentFavorite ? 'true' : 'false'}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t// prevent setting focus when clicking\n\t\t\t\t\ton-mousedown={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t\t\t? dispatch(LAYOUT_ITEM_UNFAVORITED, {\n\t\t\t\t\t\t\t\t\titem: selectedContentFavorite,\n\t\t\t\t\t\t\t\t\tfromExperienceTitle: true,\n\t\t\t\t\t\t\t\t\tpopupRef: e.currentTarget,\n\t\t\t\t\t\t\t\t\tpositions: [{target: 'bottom-center', content: 'top-center'}]\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t: dispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\t\t\t\t\t\t\ttitle: favoriteTooltip,\n\t\t\t\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t\t\t\tinitialName: favoriteTooltip,\n\t\t\t\t\t\t\t\t\t\tfromExperienceTitle: true,\n\t\t\t\t\t\t\t\t\t\tpopupRef: e.currentTarget\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t  });\n\t\t\t\t\t})}\n\t\t\t\t\ttab-index=\"0\"\n\t\t\t\t\t// If there is no data-tooltip attribute, the tooltip\n\t\t\t\t\t// will not be shown as it does not have any content\n\t\t\t\t\t{...(!hideFavoriteTooltip\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t'data-tooltip': t(\n\t\t\t\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t\t\t\t\t\t? 'Remove favorite for {0}'\n\t\t\t\t\t\t\t\t\t\t: 'Create favorite for {0}',\n\t\t\t\t\t\t\t\t\tfavoriteTooltip\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tkey=\"mainFavIcon\"\n\t\t\t\t\t\tclassName=\"experience-title-favorite-icon\"\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tselectedContentFavorite || tempFavoriteStarFill\n\t\t\t\t\t\t\t\t? 'star-fill'\n\t\t\t\t\t\t\t\t: 'star-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport {POLARIS_CONTEXT, SEARCH, POLARIS_SITE_NAME} from '../constants';\nimport {getExperienceSearchConfig} from '../behaviors/search-behavior';\n\nexport const validateSearchPage = (selectedContent) => {\n\treturn (\n\t\tselectedContent.route === SEARCH &&\n\t\tselectedContent.params?.searchTerm &&\n\t\tselectedContent.params?.searchContext\n\t);\n};\n\n// Page title should use a \"pipe\"; navigation pill and favorite should use hyphen.\nexport const formatSearchPageTitle = (\n\tselectedContent,\n\tseparator = '-',\n\tlocation = null,\n\tpolarisSearchContexts\n) => {\n\tconst selectedContext =\n\t\t{path: selectedContent.params.searchContext} || POLARIS_CONTEXT;\n\tconst context = getExperienceSearchConfig(\n\t\tpolarisSearchContexts,\n\t\tselectedContext\n\t);\n\n\tlet title = t(\n\t\t{\n\t\t\tcode: 'unified-nav',\n\t\t\tmessage: 'Search Results {separator} {searchTerm}'\n\t\t},\n\t\t{\n\t\t\tseparator,\n\t\t\tsearchTerm: selectedContent.params.searchTerm\n\t\t}\n\t);\n\n\t// Non-global searches (eg. not within a workspace) should just show the scope in the pill (ie. no \"search\" labeling).\n\tif (context?.id !== POLARIS_SITE_NAME && context?.label) {\n\t\ttitle += ` ${separator} ${context.label}`;\n\n\t\tif (location === 'pill') title = `${context.label}`;\n\t}\n\n\treturn title;\n};\n","import {CLASSIC, POLARIS_SITE_NAME, POLARIS_CONTEXT} from '../constants';\nimport {validateSearchPage, formatSearchPageTitle} from './search';\nimport {t} from 'sn-translate';\n\nexport const getExperienceLabelAndFavoriteTooltip = (\n\tselectedContent,\n\tpageTitle,\n\tpolarisSearchContexts,\n\tbypassExperienceTitle\n) => {\n\tif (\n\t\tselectedContent &&\n\t\tselectedContent.route === CLASSIC &&\n\t\tpageTitle?.label\n\t) {\n\t\tconst pageLabel = pageTitle.label;\n\t\treturn {pageLabel, favoriteTooltip: pageLabel};\n\t}\n\n\tlet pageLabel = window.document.title;\n\tlet favoriteTooltip = window.document.title;\n\t// if selectedContent is defined and has an experienceName and title, use those for page title\n\tif (selectedContent?.context?.experienceName) {\n\t\tpageLabel =\n\t\t\tselectedContent.context.path === POLARIS_SITE_NAME ||\n\t\t\tbypassExperienceTitle\n\t\t\t\t? pageTitle?.label || selectedContent.title\n\t\t\t\t: selectedContent.context.experienceName; // new pageLabel starts with experience name\n\n\t\tif (\n\t\t\tselectedContent.context.path === POLARIS_SITE_NAME &&\n\t\t\tvalidateSearchPage(selectedContent)\n\t\t) {\n\t\t\tpageLabel = formatSearchPageTitle(\n\t\t\t\tselectedContent,\n\t\t\t\t'-',\n\t\t\t\t'pill',\n\t\t\t\tpolarisSearchContexts\n\t\t\t);\n\t\t}\n\n\t\tfavoriteTooltip = selectedContent.context.experienceName;\n\t\tif (favoriteTooltip === POLARIS_CONTEXT.experienceName) {\n\t\t\tfavoriteTooltip = t('Home');\n\t\t}\n\n\t\t// append label if it exists\n\t\tif (selectedContent.title) {\n\t\t\tfavoriteTooltip = `${selectedContent.title} - ${favoriteTooltip}`;\n\t\t}\n\t}\n\n\tif (!pageLabel) {\n\t\tpageLabel = window.document.title;\n\t\tfavoriteTooltip = window.document.title;\n\t}\n\n\treturn {pageLabel, favoriteTooltip};\n};\n","import {t} from 'sn-translate';\nimport {intersection, get, size, isEmpty} from 'lodash';\nimport {\n\tMENU_WORKSPACES,\n\tREFLOW_BREAKPOINTS,\n\tSEARCH,\n\tSYS_PROPS\n} from '../../constants';\nimport {positionsMenuItemsOmitCurrent} from '../sn-polaris-layout/draggable/draggable.utils';\nimport {\n\tbuildAvailableSearchContext,\n\tgetPolarisSearchContext\n} from '../../behaviors/search-behavior';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nexport const getElevatedRoles = ({availableElevatedRoles}) => {\n\treturn intersection(\n\t\tavailableElevatedRoles.activeRoles,\n\t\tavailableElevatedRoles.roles?.map(({name}) => name)\n\t);\n};\n\nexport const DEFAULT_CONFIG = {\n\tprivatePage: {searchEnabled: false, notificationsEnabled: false},\n\tpublicPage: {searchEnabled: false, notificationsEnabled: false}\n};\n\nexport const getCurrentRouteHeaderConfig = ({\n\tselectedContent,\n\theaderConfig\n}) => {\n\tif (isEmpty(selectedContent) || isEmpty(headerConfig)) return {};\n\n\tconst config = get(headerConfig, 'chrome_header', {});\n\tconst fieldCount = size(selectedContent.fields);\n\tconst routeKey = selectedContent.route\n\t\t? `${selectedContent.route}~${fieldCount}`\n\t\t: 'global';\n\n\tconst result = config[routeKey] || config.global;\n\treturn result || DEFAULT_CONFIG;\n};\n\nexport const setInitialState = ({host, properties}) => {\n\tconst {menuItems} = properties;\n\tconst hasWorkspaces = Array.isArray(menuItems)\n\t\t? !!menuItems.find(({id}) => id === MENU_WORKSPACES)\n\t\t: false;\n\tconst defaultOpenFramePosition = 'top_right';\n\treturn {\n\t\topenframeLockedPosition: defaultOpenFramePosition,\n\t\topenFramePositions: positionsMenuItemsOmitCurrent(defaultOpenFramePosition),\n\t\theaderNavigationElemRef: null,\n\t\tsearchContexts: buildAvailableSearchContext({\n\t\t\tproperties,\n\t\t\tdispatch: host.dispatch\n\t\t}),\n\t\thasWorkspaces\n\t};\n};\n\nexport const getScreenReaderContentForFavorite = (\n\tselectedContentFavorite,\n\tpageLabel\n) => {\n\tif (selectedContentFavorite) {\n\t\treturn t('{0} added to favorites list', pageLabel);\n\t} else {\n\t\treturn t('Create favorite for {0}', pageLabel);\n\t}\n};\n\nexport const getActiveSearchContext = ({\n\tselectedContent,\n\tsearchContexts,\n\tisPolarisEnabled,\n\tselectedSearchContext,\n\tpolarisSearchContexts\n}) => {\n\tif (\n\t\tselectedContent?.route === SEARCH &&\n\t\tisPolarisEnabled &&\n\t\t!getBooleanProperty(SYS_PROPS.UI.USE_CURRENT_EXPERIENCE_CONTEX)\n\t) {\n\t\tif (!selectedContent || isEmpty(searchContexts)) return {};\n\t\tconst searchContextId = selectedContent.params?.searchContext;\n\t\tif (!searchContextId) return {};\n\n\t\treturn (\n\t\t\tsearchContexts?.find(\n\t\t\t\t(searchContext) => searchContext.id === searchContextId\n\t\t\t) || getPolarisSearchContext(polarisSearchContexts)\n\t\t);\n\t} else {\n\t\treturn selectedSearchContext || {};\n\t}\n};\n\nexport const isWorkspaceOrGlobalSearchEnabled = ({\n\tisPolarisEnabled,\n\tglobalSearchEnabled,\n\tsearchContexts\n}) => {\n\treturn isPolarisEnabled && !globalSearchEnabled && !isEmpty(searchContexts)\n\t\t? searchContexts.some((searchContext) => !!searchContext)\n\t\t: globalSearchEnabled;\n};\n\nexport const getSearchInputVariant = ({\n\tisMainMenuPinned,\n\tisContextualMenuPinned,\n\twindowSize\n}) => {\n\tlet searchInputVariant = 'expanded'; // default search input to showing input field\n\tlet searchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_1024;\n\n\t// figure out the best search reflow breakpoint to turn search into an icon\n\tif (\n\t\t(isMainMenuPinned && !isContextualMenuPinned) ||\n\t\t(!isMainMenuPinned && isContextualMenuPinned)\n\t) {\n\t\tsearchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_THREE;\n\t} else if (isMainMenuPinned && isContextualMenuPinned) {\n\t\tsearchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_FOUR;\n\t}\n\n\t// figure out which style of search to show, input or icon\n\tif (windowSize.width <= searchReflowBreakpoint) {\n\t\tsearchInputVariant = 'mobile';\n\t}\n\n\treturn searchInputVariant;\n};\n","export default () => window.ux_globals?.pageProperties?.isATF === true;\n","import {t} from 'sn-translate';\n\nexport const SUBSCRIBE_TO_COLLAB_CHAT = 'SUBSCRIBE_TO_COLLAB_CHAT';\nexport const COLLAB_CHAT_BEHAVIOR = 'COLLAB_CHAT_BEHAVIOR';\nexport const INIT_COLLAB_CHAT = 'INIT_COLLAB_CHAT';\nexport const QUERY_UNREAD_COUNT = 'QUERY_UNREAD_COUNT';\nexport const QUERY_UNREAD_COUNT_SUCCEEDED = 'QUERY_UNREAD_COUNT_SUCCEEDED';\nexport const COLLAB_CHAT_AMB_MESSAGE_RECEIVED =\n\t'COLLAB_CHAT_AMB_MESSAGE_RECEIVED';\nexport const QUERY_COLLAB_RECORD = 'QUERY_COLLAB_RECORD';\nexport const COLLAB_RECORD_QUERY_SUCCEEDED = 'COLLAB_RECORD_QUERY_SUCCEEDED';\nexport const OPEN_COLLAB_CHAT = 'RECORD#OPEN_COLLAB_CHAT';\nexport const COLLAB_MODAL_OPENED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#COLLAB_MODAL_OPENED';\nexport const COLLAB_MODAL_CLOSED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#COLLAB_MODAL_CLOSED';\nexport const OPEN_COLLAB_CHAT_IN_DOCK =\n\t'SN_COLLAB_CHAT_LIST#OPEN_COLLAB_CHAT_IN_DOCK';\nexport const CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED';\nexport const FLOATING_CONTAINER_RESIZED =\n\t'SN_COLLAB_CHAT#FLOATING_CONTAINER_RESIZED';\nexport const COLLAB_PANEL_OPENED = 'SN_COLLAB_CHAT#COLLAB_PANEL_OPENED';\nexport const TOGGLE_SEARCH_VISIBILITY =\n\t'COLLAB_CHAT_MENU_HEADER#TOGGLE_SEARCH_VISIBILITY';\nexport const COLLAB_CHAT_MENU_HEADER_SEND_COMMAND =\n\t'COLLAB_CHAT_MENU_HEADER#SEND_COMMAND';\nexport const CHAT_MENU_ID = 'chat';\nexport const COLLAB_PANEL_HEADER_TEXT = t('Chat');\n","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {cloneDeep} from 'lodash';\nimport {\n\tBUTTON_ACTIONS,\n\tSYS_PROPS,\n\tCONCOURSE_PICKER_MENU_ID,\n\tCONCOURSE_PICKER_HEADER_TEXT,\n\tINSTANCE_TOOLS_ID,\n\tNOTIFICATIONS_ID,\n\tNOTIFICATIONS_HEADER_TEXT,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tINSTANCE_TOOLS_HEADER_TEXT,\n\tNOW_ASSIST_MENU_ID,\n\tNOW_ASSIST_MENU_HEADER_TEXT,\n\tHELP_MENU_ID,\n\tHELP_MENU_HEADER_TEXT,\n\tINSTANCE_TOOLS_MENU_ID,\n\tOPENFRAME_MENU_ID,\n\tOPENFRAME_MENU_HEADER_TEXT,\n\tUTILITY_OVERFLOW_MENU_HEADER_TEXT,\n\tCHAT_MENU_HEADER_TEXT,\n\tUSAGE_ANALYTICS_MENU_ID,\n\tUSAGE_ANALYTICS_HEADER_TEXT\n} from '../../constants';\nimport {USER_SETTINGS_MODAL_OPENED} from '../user-settings-behavior/actions';\nimport {\n\tCONTEXT_MENU_HEADER_TYPES,\n\tUPDATE_UTILITY_MENU_ITEMS,\n\tUTILITY_MENU_UPDATED\n} from './actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {isDeepEqual} from '../../utils/deepEquals';\n\nimport {\n\tConcoursePickerFragment,\n\tBellMenuFragment,\n\tChatMenuFragment,\n\tHelpMenuFragment,\n\tOverflowUtilMenuFragment,\n\tUsageAnalyticsFragment,\n\tNowAssistFragment\n} from '../../components/sn-polaris-header/utility-menu/fragments/menu-fragments';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {CHAT_MENU_ID} from '../collab-chat-behavior/constants';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_READY} = actionTypes;\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tproperties: {contextualMenuState, utilityMenuData},\n\t\tupdateProperties\n\t} = coeffects;\n\n\tconst name = payload.name;\n\tswitch (name) {\n\t\tcase 'nowAssistMenuBadgeCount':\n\t\t\tif (\n\t\t\t\tcontextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\tpayload.previousValue != payload.value\n\t\t\t) {\n\t\t\t\tconst updatedUtilityMenuData = cloneDeep(utilityMenuData);\n\t\t\t\tupdatedUtilityMenuData.forEach((item) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\titem.buttonConfig &&\n\t\t\t\t\t\titem.buttonConfig.id === 'now-assist-button'\n\t\t\t\t\t) {\n\t\t\t\t\t\titem.buttonConfig.badgeCount = payload.value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateProperties({\n\t\t\t\t\tutilityMenuData: updatedUtilityMenuData\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'dir':\n\t\tcase 'contextualMenu':\n\t\tcase 'contextualMenuState':\n\t\tcase 'animationsEnabled':\n\t\tcase 'isCollabChatEnabled':\n\t\tcase 'isUsageAnalyticsEnabled':\n\t\tcase 'showNowAssistMenu':\n\t\tcase 'userMeta':\n\t\tcase 'helpPanelAppContext':\n\t\tcase 'openFrame':\n\t\tcase 'isNotificationsEnabled':\n\t\tcase 'unreadNotificationCount':\n\t\tcase 'userPreferences':\n\t\tcase 'userSession':\n\t\tcase 'utilityMenuData':\n\t\tcase 'selectedContent':\n\t\tcase 'applicationId':\n\t\tcase 'feedbackFormEnabled':\n\t\tcase 'concoursePickerConfig':\n\t\tcase 'openFrameConfig':\n\t\tcase 'napShortcutCommand':\n\t\tcase 'wideMenus':\n\t\t\trefreshUtilityMenuData(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleDomReady = (coeffects) => {\n\trefreshUtilityMenuData(coeffects);\n};\n\n/**\n * create an array of items to describe what should appear in the utility menu.\n * Each item in the array represents both the utility button and its contextual menu.\n * This array does not include the user menu because its too different from the others.\n */\nconst refreshUtilityMenuData = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tcontextualMenu,\n\t\t\tcontextualMenuState,\n\t\t\tanimationsEnabled,\n\t\t\tisCollabChatEnabled,\n\t\t\tisUsageAnalyticsEnabled,\n\t\t\tshowNowAssistMenu,\n\t\t\tuserMeta,\n\t\t\thelpPanelAppContext,\n\t\t\topenFrame,\n\t\t\tisNotificationsEnabled,\n\t\t\tunreadNotificationCount,\n\t\t\tuserPreferences,\n\t\t\tuserSession,\n\t\t\tutilityMenuData,\n\t\t\tselectedContent,\n\t\t\tapplicationId,\n\t\t\tfeedbackFormEnabled,\n\t\t\tconcoursePickerConfig,\n\t\t\topenFrameConfig,\n\t\t\twideMenus,\n\t\t\tisAIELEnabled,\n\t\t\tnowAssistMenuBadgeCount,\n\t\t\tnapShortcutCommand\n\t\t},\n\t\tdispatch,\n\t\tupdateProperties\n\t} = coeffects;\n\tconst {isPolarisEnabled, isHelpEnabled} = getFeatureSettings();\n\tconst userTimeZoneOffset = userMeta?.timeZoneOffset;\n\n\tconst menuData = [];\n\tconst reversed = dir === 'rtl';\n\n\tconst instanceToolsIcon = contextualMenuState.isBarOpen\n\t\t? 'wrench-pencil-fill'\n\t\t: 'wrench-pencil-outline';\n\n\tif (isPolarisEnabled) {\n\t\t// add scope picker button\n\t\tif (concoursePickerConfig.showConcoursePickerButton) {\n\t\t\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif (useUtilityBar) {\n\t\t\t\tmenuData.push({\n\t\t\t\t\tcontextualMenu: contextualMenu,\n\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\thidden: !contextualMenu.utilityBarVisible,\n\t\t\t\t\t\tisUtilityBarTrigger: true,\n\t\t\t\t\t\ticon: instanceToolsIcon,\n\t\t\t\t\t\tid: INSTANCE_TOOLS_ID,\n\t\t\t\t\t\ttooltipContent: {value: t('Show instance tools')},\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tcontextualMenuType: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\tcontextualMenuHeaderText: INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED,\n\t\t\t\t\t\tindicatorOn:\n\t\t\t\t\t\t\t!contextualMenuState.isBarOpen &&\n\t\t\t\t\t\t\t(concoursePickerConfig.applicationIndicator ||\n\t\t\t\t\t\t\t\tconcoursePickerConfig.updateSetIndicator ||\n\t\t\t\t\t\t\t\tconcoursePickerConfig.domainIndicator),\n\t\t\t\t\t\topenNewMenu: true\n\t\t\t\t\t},\n\t\t\t\t\tmenuConfig: {\n\t\t\t\t\t\tforUtilityBar: true,\n\t\t\t\t\t\topened: contextualMenu.menuType === INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\treversed: reversed,\n\t\t\t\t\t\tmenuContent: () => {\n\t\t\t\t\t\t\t// If we expand usage of the utility bar in the future, we should move bar content here (or at least the non-menu content).\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmenuProperties: {\n\t\t\t\t\t\t\tmenuType: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\tbuttonId: INSTANCE_TOOLS_ID,\n\t\t\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmenuData.push({\n\t\t\t\tcontextualMenu: contextualMenu,\n\t\t\t\tbuttonConfig: {\n\t\t\t\t\thidden: useUtilityBar && contextualMenu.utilityBarVisible,\n\t\t\t\t\ticon: useUtilityBar ? 'wrench-pencil-outline' : 'globe-outline',\n\t\t\t\t\tid: 'concourse-pickers',\n\t\t\t\t\ttooltipContent: useUtilityBar\n\t\t\t\t\t\t? {value: t('Show instance tools')}\n\t\t\t\t\t\t: concoursePickerConfig.concoursePickerTooltip,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tcontextualMenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\tcontextualMenuHeaderText: useUtilityBar\n\t\t\t\t\t\t\t? INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t\t: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t\t\t},\n\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED,\n\t\t\t\t\tindicatorOn:\n\t\t\t\t\t\tconcoursePickerConfig.applicationIndicator ||\n\t\t\t\t\t\tconcoursePickerConfig.updateSetIndicator ||\n\t\t\t\t\t\tconcoursePickerConfig.domainIndicator\n\t\t\t\t},\n\t\t\t\tmenuConfig: {\n\t\t\t\t\topened: contextualMenu.menuType === CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\treversed: reversed,\n\t\t\t\t\t// contextualMenu is outdated when menu is in overflow, so we have to pass props version\n\t\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ConcoursePickerFragment\n\t\t\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\t\tcontextualMenu={props?.contextualMenu}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tmenuProperties: {\n\t\t\t\t\t\tmenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\tbuttonId: 'concourse-pickers',\n\t\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\t\tlabel: useUtilityBar\n\t\t\t\t\t\t\t? INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t\t: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tif (showNowAssistMenu) {\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ai-sparkle-outline',\n\t\t\t\tid: 'now-assist-button',\n\t\t\t\ttooltipContent: {value: t('Now Assist')},\n\t\t\t\tpayload: {\n\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\tcontextualMenuType: NOW_ASSIST_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: NOW_ASSIST_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel: 'Now Assist',\n\t\t\t\t\thostType: 'unified-navigation'\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.NOW_ASSIST_CLICKED,\n\t\t\t\topenNewMenu: isAIELEnabled,\n\t\t\t\t...(contextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID && {\n\t\t\t\t\t\tbadgeCount: nowAssistMenuBadgeCount\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === NOW_ASSIST_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: isAIELEnabled\n\t\t\t\t\t? () => {}\n\t\t\t\t\t: ({menuUtilProperties, contextualMenu, additionalData}) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<NowAssistFragment\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.pinnedMenuId === NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t\t\t\tmenuContext={contextualMenu.menuContext}\n\t\t\t\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t\t\t\tconversationId={\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState?.additionalData?.conversationId ||\n\t\t\t\t\t\t\t\t\t\tadditionalData?.conversationId\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t  },\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: NOW_ASSIST_MENU_ID,\n\t\t\t\t\tbuttonId: 'now-assist-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: isAIELEnabled ? false : contextualMenuState.canBePinned,\n\t\t\t\t\tlabel: NOW_ASSIST_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: wideMenus?.includes(NOW_ASSIST_MENU_ID) || false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\thasExternallyManagedMenu: isAIELEnabled ? false : true\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add chat button\n\tif (userSession.isLoggedIn && isCollabChatEnabled) {\n\t\tconst triggerAriaLabel = !contextualMenu.unreadChatCount\n\t\t\t? t('Sidebar discussions')\n\t\t\t: t('Sidebar discussions, {0} unread', contextualMenu.unreadChatCount);\n\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ongoing-outline',\n\t\t\t\tid: 'chat-button',\n\t\t\t\ttooltipContent: {value: t('Sidebar discussions')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: CHAT_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: CHAT_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.CHAT_CLICKED,\n\t\t\t\tbadgeCount: contextualMenu.unreadChatCount || 0\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === CHAT_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: ({menuUtilProperties, contextualMenu}) => {\n\t\t\t\t\t// Determine whether the chat menu is in overflow\n\t\t\t\t\tconst menuInOverflow =\n\t\t\t\t\t\tcontextualMenu.drilledMenu?.id === 'chat-button'\n\t\t\t\t\t\t\t? UTILITY_OVERFLOW_MENU_ID\n\t\t\t\t\t\t\t: '';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChatMenuFragment\n\t\t\t\t\t\t\tisCollabChatSearchEnabled={\n\t\t\t\t\t\t\t\tcontextualMenuState.isCollabChatSearchEnabled\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcommand={contextualMenuState.command}\n\t\t\t\t\t\t\tcollabChatId={contextualMenu.collabChatId}\n\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t\tuser={userMeta}\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\tmenuType={menuInOverflow}\n\t\t\t\t\t\t\tmenuContext={contextualMenu.menuContext}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: CHAT_MENU_ID,\n\t\t\t\t\tbuttonId: 'chat-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned:\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\t!contextualMenuState.isCollabChatSearchEnabled,\n\t\t\t\t\tlabel: CHAT_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: true,\n\t\t\t\t\thasExternallyManagedMenu: true,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add usage analytics button\n\tif (isUsageAnalyticsEnabled) {\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'appsee-outline',\n\t\t\t\tid: 'usage-analytics-button',\n\t\t\t\ttooltipContent: {value: t('Usage Analytics')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: USAGE_ANALYTICS_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: USAGE_ANALYTICS_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel: t('Usage Analytics')\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === USAGE_ANALYTICS_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: ({menuUtilProperties}) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<UsageAnalyticsFragment\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\tapplicationId={applicationId}\n\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: USAGE_ANALYTICS_MENU_ID,\n\t\t\t\t\tbuttonId: 'usage-analytics-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tlabel: USAGE_ANALYTICS_HEADER_TEXT,\n\t\t\t\t\twideMenu: true,\n\t\t\t\t\thasExternallyManagedMenu: true,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add help button\n\tif (isPolarisEnabled && userSession.isLoggedIn && isHelpEnabled) {\n\t\tconst triggerAriaLabel = t('Show help');\n\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'circle-question-outline',\n\t\t\t\tid: 'help-button',\n\t\t\t\ttooltipContent: {value: t('Show help')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: HELP_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: HELP_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.HELP_CLICKED,\n\t\t\t\tbadgeDot: contextualMenu.helpContentIndicatorOn\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === HELP_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props, menuState) => {\n\t\t\t\t\tconst overflowVisible =\n\t\t\t\t\t\tprops?.contextualMenu?.drilledMenu?.id === 'help-button';\n\t\t\t\t\tconst isHelpPanelPinned =\n\t\t\t\t\t\tmenuState?.isMenuPinned &&\n\t\t\t\t\t\tmenuState?.canBePinned &&\n\t\t\t\t\t\tisPolarisEnabled &&\n\t\t\t\t\t\tmenuState?.primaryMenuId === HELP_MENU_ID;\n\t\t\t\t\tconst isHelpPanelVisible =\n\t\t\t\t\t\tcontextualMenu.menuType === HELP_MENU_ID ||\n\t\t\t\t\t\tisHelpPanelPinned ||\n\t\t\t\t\t\toverflowVisible;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HelpMenuFragment\n\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\thideHeader={props?.hideHeader}\n\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\tisHelpPanelVisible={isHelpPanelVisible}\n\t\t\t\t\t\t\tisContextualMenuPinned={isHelpPanelPinned}\n\t\t\t\t\t\t\toverflowVisible={overflowVisible}\n\t\t\t\t\t\t\tmenuContext={props?.contextualMenu?.menuContext}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: HELP_MENU_ID,\n\t\t\t\t\tbuttonId: 'help-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.TEXT,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tsearchEnabled: false,\n\t\t\t\t\tlabel: HELP_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: wideMenus?.includes(HELP_MENU_ID) || false,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t},\n\t\t\t\thelpPanelAppContext\n\t\t\t}\n\t\t});\n\t}\n\n\t// add cti button\n\tif (openFrame?.showIcon) {\n\t\tconst menuHeaderText =\n\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\tOPENFRAME_MENU_HEADER_TEXT;\n\t\tconst triggerAriaLabel = !openFrame.badge\n\t\t\t? t(menuHeaderText)\n\t\t\t: t('{0}, {1} active calls', menuHeaderText, openFrame.badge);\n\t\tconst utilData = utilityMenuData.find(\n\t\t\t(data) => data.buttonConfig.id === 'cti'\n\t\t);\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: openFrame.icon || 'phone-outline',\n\t\t\t\tid: openFrame.id || 'cti',\n\t\t\t\ttooltipContent: {\n\t\t\t\t\tvalue:\n\t\t\t\t\t\topenFrame.tooltip ||\n\t\t\t\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\t\t\t\tt('Phone')\n\t\t\t\t},\n\t\t\t\tselected: openFrame.iconSelected,\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: OPENFRAME_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: menuHeaderText,\n\t\t\t\t\tmenuContainerRef: utilData?.buttonConfig?.payload?.menuContainerRef,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED,\n\t\t\t\tpresence: {\n\t\t\t\t\tshowPresence: !!openFrame?.status,\n\t\t\t\t\tstatus: openFrame?.status\n\t\t\t\t},\n\t\t\t\topenNewMenu: true,\n\t\t\t\tshowBadgeCount: openFrame.badge,\n\t\t\t\tbadgeCount: openFrame.badge\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === OPENFRAME_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: () => {},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: OPENFRAME_MENU_ID,\n\t\t\t\t\tbuttonId: 'cti',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\t\t\t\tOPENFRAME_MENU_HEADER_TEXT\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add notifications button\n\tif (isNotificationsEnabled) {\n\t\tconst showBadgeCount = getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\ttrue\n\t\t);\n\n\t\tconst badgeCount = unreadNotificationCount || 0;\n\t\tlet displayedCount = badgeCount;\n\t\tif (\n\t\t\tcontextualMenuState.primaryMenuId === NOTIFICATIONS_ID ||\n\t\t\tcontextualMenuState.secondaryMenuId === NOTIFICATIONS_ID ||\n\t\t\t(contextualMenuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID &&\n\t\t\t\tcontextualMenu.drilledMenu?.id === 'experience-notifications')\n\t\t) {\n\t\t\tdisplayedCount = 0;\n\t\t}\n\n\t\tconst triggerAriaLabel =\n\t\t\tdisplayedCount === 0\n\t\t\t\t? t({code: 'unified-nav', message: 'Show notifications'})\n\t\t\t\t: displayedCount === 1\n\t\t\t\t? t('Show 1 notification')\n\t\t\t\t: t('Show {0} notifications', displayedCount);\n\n\t\tmenuData.push({\n\t\t\tcontextualMenu: contextualMenu,\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'bell-outline',\n\t\t\t\tid: 'experience-notifications',\n\t\t\t\ttooltipContent: {\n\t\t\t\t\tvalue: t({code: 'unified-nav', message: 'Show notifications'})\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: NOTIFICATIONS_ID,\n\t\t\t\t\tcontextualMenuHeaderText: NOTIFICATIONS_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.NOTIFICATION_TRIGGERED,\n\t\t\t\tbadgeCount: displayedCount,\n\t\t\t\tshowBadgeCount\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === NOTIFICATIONS_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BellMenuFragment\n\t\t\t\t\t\t\tuserTimeZoneOffset={userTimeZoneOffset}\n\t\t\t\t\t\t\tisMoreNotifications={badgeCount > 0}\n\t\t\t\t\t\t\tnotificationData={props?.contextualMenu.notificationData}\n\t\t\t\t\t\t\thideHeader={props?.hideHeader}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: NOTIFICATIONS_ID,\n\t\t\t\t\tbuttonId: 'experience-notifications',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.TEXT,\n\t\t\t\t\tlabel: NOTIFICATIONS_HEADER_TEXT,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\twideMenu: wideMenus?.includes(NOTIFICATIONS_ID) || false,\n\t\t\t\t\theaderButtonsConfig: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ticon: 'gear-outline',\n\t\t\t\t\t\t\tid: 'preferences',\n\t\t\t\t\t\t\taction: USER_SETTINGS_MODAL_OPENED,\n\t\t\t\t\t\t\tpayload: {initialTab: NOTIFICATIONS_ID},\n\t\t\t\t\t\t\tlabel: t('Open notification preferences'),\n\t\t\t\t\t\t\ttooltipContent: t('Open notification preferences')\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/*\n\t * Be careful changing any if statements here because `sn-polaris-header` only knows to\n\t * re-render sometimes because of the `contextualMenu` below here and the fact that notificaitons.\n\t * are copied here.\n\t */\n\t// add overflow button\n\tif (isPolarisEnabled && menuData.length) {\n\t\tconst triggerAriaLabel = !contextualMenu.overflowBadgeCount\n\t\t\t? t('Overflow Menus')\n\t\t\t: contextualMenu.overflowBadgeCount === 1\n\t\t\t? t('Overflow Menus, 1 item')\n\t\t\t: t('Overflow Menus, {0} items', contextualMenu.overflowBadgeCount);\n\t\tmenuData.push({\n\t\t\tcontextualMenu: contextualMenu,\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ellipsis-v-outline',\n\t\t\t\tid: 'utility-overflow-menu',\n\t\t\t\ttooltipContent: {value: t('Overflow Menus')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: UTILITY_OVERFLOW_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED,\n\t\t\t\tbadgeCount: contextualMenu.overflowBadgeCount,\n\t\t\t\tshowBadgeCount: true\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<OverflowUtilMenuFragment\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tcontextualMenu={props?.contextualMenu}\n\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\tmenuUtilProperties={props?.menuUtilProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\t\tbuttonId: 'utility-overflow-menu',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\tsearchEnabled: false,\n\t\t\t\t\tlabel: t('Overflow Menus')\n\t\t\t\t},\n\t\t\t\thelpPanelAppContext\n\t\t\t}\n\t\t});\n\t}\n\n\tif (!isDeepEqual(utilityMenuData, menuData)) {\n\t\tupdateProperties({\n\t\t\tutilityMenuData: menuData,\n\t\t\tutilityButtonCount: menuData.length\n\t\t});\n\t\tdispatch(UTILITY_MENU_UPDATED, {\n\t\t\tmenusThatUpdated: menuData.map(({buttonConfig}) => {\n\t\t\t\treturn (buttonConfig && buttonConfig?.id) || null;\n\t\t\t})\n\t\t});\n\t}\n};\n\nexport default {\n\tname: 'UTILITY_MENU_BEHAVIOR',\n\tproperties: {\n\t\tutilityMenuData: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tutilityMenuItemLeftPositions: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tutilityButtonCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\twideMenus: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handlePropertyChanged,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: handleDomReady,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UPDATE_UTILITY_MENU_ITEMS]: {\n\t\t\teffect: refreshUtilityMenuData,\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import cache from '../../utils/cache';\nimport track from '../../utils/track';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {\n\tCLASSIC,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tPOLARIS_SITE_NAME,\n\tRECORD,\n\tSEARCH,\n\tSYS_PROPS\n} from '../../constants';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport {\n\tSEARCH_CONTEXT_UPDATED,\n\tDYNAMIC_ROUTE_REQUESTED\n} from '../search-behavior/actions';\nimport {openURLInNewTab} from '../search-behavior';\n\nexport default {\n\tname: 'SEARCH_ACTIONS_BEHAVIOR',\n\tactionHandlers: {\n\t\t['SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tsysId,\n\t\t\t\t\t\trecordUrl,\n\t\t\t\t\t\tisExternalUrl,\n\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\ttitle\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst context = selectedSearchContext?.context || POLARIS_CONTEXT;\n\t\t\tif (isExternalUrl) {\n\t\t\t\topenURLInNewTab(recordUrl);\n\t\t\t} else if (context.path === POLARIS_SITE_NAME) {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: recordUrl || `${table}.do?sys_id=${sysId}`\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst useSearchDynamicRouting = getBooleanProperty(\n\t\t\t\t\t'glide.ui.polaris.search_dynamic_routing.enabled',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif (!useSearchDynamicRouting) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\troute: RECORD,\n\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\ttitle\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// If we are in a different configurable workspace lookup UXR routing logic\n\t\t\t\t\t// TODO: STRY53758190 find a way to process the payloads from sys_ux_dynamic_route_mapping\n\t\t\t\t\t// by triggering the recordRoutesMapping sys_ux_client_script_include\n\t\t\t\t\tconst routeMap = cache.get(\n\t\t\t\t\t\t`searchRouteMap${selectedSearchContext.routeConfigId}`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!routeMap) {\n\t\t\t\t\t\tconst {routeConfigId} = selectedSearchContext;\n\n\t\t\t\t\t\t// Wish there was a cleaner way of doing this, but we need to wait for the routeMap to be updated before we can navigate\n\t\t\t\t\t\tdispatch(DYNAMIC_ROUTE_REQUESTED, {\n\t\t\t\t\t\t\trouteConfigId,\n\t\t\t\t\t\t\tpostFn: (routeMap) => {\n\t\t\t\t\t\t\t\tconst route =\n\t\t\t\t\t\t\t\t\trouteMap?.[table]?.workspace_global_search?.payload;\n\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\troute: route ? JSON.parse(route).route : RECORD,\n\t\t\t\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst route = routeMap?.[table]?.workspace_global_search?.payload;\n\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\troute: route ? JSON.parse(route).route : RECORD,\n\t\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.SEARCH_ITEM_SELECTED, {table, sysId});\n\t\t},\n\t\t['SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {\n\t\t\t\t\tpageTitle,\n\t\t\t\t\tisPolarisEnabled,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tconst {selectedSearchContext = {}, searchTerm = ''} = payload;\n\t\t\tconst useSelectedSearchContextRoute = getBooleanProperty(\n\t\t\t\tSYS_PROPS.UI.USE_CURRENT_EXPERIENCE_CONTEXT\n\t\t\t);\n\t\t\tconst context =\n\t\t\t\t(!isPolarisEnabled && selectedSearchContext) ||\n\t\t\t\tuseSelectedSearchContextRoute\n\t\t\t\t\t? selectedSearchContext.context\n\t\t\t\t\t: POLARIS_CONTEXT;\n\n\t\t\t// if Polaris is enabled, use polaris search result page for all the contexts\n\t\t\tconst searchRoute =\n\t\t\t\tisPolarisEnabled && !useSelectedSearchContextRoute\n\t\t\t\t\t? SEARCH\n\t\t\t\t\t: selectedSearchContext.route;\n\n\t\t\tconst {\n\t\t\t\tsearchViewConfigId,\n\t\t\t\tsearchDataConfigId,\n\t\t\t\tid,\n\t\t\t\trouteConfigId\n\t\t\t} = selectedSearchContext;\n\n\t\t\tconst {pageLabel} = getExperienceLabelAndFavoriteTooltip(\n\t\t\t\tselectedContent,\n\t\t\t\tpageTitle,\n\t\t\t\tpolarisSearchContexts\n\t\t\t);\n\t\t\tlet backButtonLabel = null;\n\n\t\t\tif (selectedContent.route !== SEARCH) {\n\t\t\t\tconst {context} = selectedContent;\n\n\t\t\t\tbackButtonLabel = pageLabel || context.experienceName;\n\t\t\t\tconst title = backButtonLabel;\n\t\t\t\tcache.set(\n\t\t\t\t\t'searchPreviousContext',\n\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t...selectedContent,\n\t\t\t\t\t\tupdateUrl: true,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tbackButtonLabel\n\t\t\t\t\t}),\n\t\t\t\t\t{currentSession: true}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!backButtonLabel) {\n\t\t\t\tconst previousContext = cache.get('searchPreviousContext');\n\t\t\t\tif (previousContext) {\n\t\t\t\t\tconst parsedPreviousContext = JSON.parse(previousContext);\n\t\t\t\t\tbackButtonLabel =\n\t\t\t\t\t\tparsedPreviousContext?.backButtonLabel ||\n\t\t\t\t\t\tparsedPreviousContext?.context?.experienceName;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext,\n\t\t\t\troute: searchRoute,\n\t\t\t\tfields: {\n\t\t\t\t\tglobalSearchViewConfigId: searchViewConfigId\n\t\t\t\t},\n\t\t\t\tparams: {\n\t\t\t\t\tglobalSearchDataConfigId: searchDataConfigId,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsearchContext: id,\n\t\t\t\t\tbackButtonLabel\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(DYNAMIC_ROUTE_REQUESTED, {routeConfigId});\n\t\t\tdispatch(SEARCH_CONTEXT_UPDATED, selectedSearchContext);\n\t\t\ttrack(coeffects, METRICS.SEARCH_START, {\n\t\t\t\tquery: searchTerm,\n\t\t\t\tsearchContext: selectedSearchContext.label\n\t\t\t});\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './styles.scss';\nimport {styles as logoStyles} from './logo';\nimport {styles as navigationStyles} from './navigation';\nimport {styles as userMenuStyles} from './utility-menu/contextual-menu/user-menu/';\nimport {styles as concoursePickerStyles} from './utility-menu/contextual-menu/concourse-pickers';\nimport DEFAULT_LOGO from '../../assets/now-polaris.svg';\n\nimport {actionHandlers} from './sn-polaris-header.effects';\nimport {HOME_PAGE, LOCAL_STORAGE_KEYS} from '../../constants';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport concoursePickerBehavior from '../../behaviors/concourse-picker-behavior';\nimport searchDynamicRoutingBehaviour from '../../behaviors/search-dynamic-routing-behavior';\nimport {createTooltipActionHandler} from '@servicenow/now-tooltip';\nimport view from './sn-polaris-header.view';\nimport {CLOSE_POPOVERS} from '../sn-polaris-layout/actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport utilityMenuBehavior from '../../behaviors/utility-menu-behavior';\nimport searchActionsBehavior from '../../behaviors/search-actions-behavior';\nimport {\n\tgetCurrentRouteHeaderConfig,\n\tgetElevatedRoles,\n\tsetInitialState\n} from './sn-polaris-header.utils';\n\ncreateCustomElement('sn-polaris-header', {\n\tproperties: {\n\t\tnowAvoidRender: {default: true},\n\t\tshouldComponentRender: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: process.env.NODE_ENV === 'development',\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpageTitle: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {\n\t\t\t\tlabel: HOME_PAGE,\n\t\t\t\ttype: 'seismic'\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\theaderConfig: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tisInboxEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\thasDirtyWorkspaces: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\toverflowMenuDrilldown: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tmenuItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: {\n\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t},\n\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisFavorite: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubItems: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tpriority: {\n\t\t\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tisFavorite: {\n\t\t\t\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\troute: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null\n\t\t},\n\t\tmainLogoWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tshouldRender: false\n\t\t},\n\t\tcurrentRouteHeaderConfig: {\n\t\t\tcomputed: ({properties: {selectedContent, headerConfig}}) => {\n\t\t\t\treturn getCurrentRouteHeaderConfig({selectedContent, headerConfig});\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t\treadOnly: true,\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tuserSession: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tprinterFriendlyEnabled: {\n\t\t\tdefault: false\n\t\t},\n\t\tavailableElevatedRoles: {\n\t\t\tdefault: {\n\t\t\t\tactiveRoles: [],\n\t\t\t\troles: []\n\t\t\t},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tboundaryElement: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\televatedRoles: {\n\t\t\tdeepCompare: true,\n\t\t\tcomputed({properties: {userMeta, availableElevatedRoles}}) {\n\t\t\t\tif (\n\t\t\t\t\tavailableElevatedRoles.roles?.length === 0 &&\n\t\t\t\t\tavailableElevatedRoles.activeRoles?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tconst activeRoles = userMeta?.roles ?? [];\n\t\t\t\t\tconst roles = (userMeta?.elevatedRoles ?? []).map((role) => ({\n\t\t\t\t\t\tname: role,\n\t\t\t\t\t\tdescription: ''\n\t\t\t\t\t}));\n\t\t\t\t\treturn getElevatedRoles({\n\t\t\t\t\t\tavailableElevatedRoles: {activeRoles, roles}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn getElevatedRoles({availableElevatedRoles});\n\t\t\t}\n\t\t},\n\t\tmainMenuState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tcontextualMenu: {\n\t\t\t/*\n\t\t\t * This reduces renders but keep in mind if the user updates stuff like dismissing\n\t\t\t * a few notifications we only happen to render because of calculations from the\n\t\t\t * overflow menu and concourse menu that for some reason adds a copy of the notification\n\t\t\t * list in `utility-menu-behavior` for the property `utilityMenuData` and trigger the\n\t\t\t * rerender.\n\t\t\t *\n\t\t\t * TODO (tech debt): Make sure we re-render for the right reasons and not because a lucky\n\t\t\t * copy happened in a unrelated menu.\n\t\t\t */\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tcontextualMenuState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tselectedContentFavorite: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: null\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tcomputed: () => getFeatureSettings().isPolarisEnabled,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tisNotificationsEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisCollabChatEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisUsageAnalyticsEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowNowAssistMenu: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tnapShortcutCommand: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tnowAssistMenuBadgeCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'number'}\n\t\t},\n\t\tavailableApplications: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableDomains: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableUpdateSets: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableEncryptionContexts: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tselectedSearchContext: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tglobalSearchEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\theaderLogoTarget: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tnotifications: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\topenFrame: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\topenFrameConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\topenFrameTagLoaded: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tforceMenuOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tactiveModal: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tscreenContentLinks: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\torder: {type: 'number'},\n\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\turl: {type: 'string'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thelpPanelAppContext: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t},\n\t\tisFetchingUnreadCount: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tunreadNotificationCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tcoreUILogoSrc: {\n\t\t\tdefault: DEFAULT_LOGO,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tisTouchDevice: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttempFavoriteStarFill: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\thideFavoriteTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisSyncingFavorites: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tfeedbackFormEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tuserSettingsAccess: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tisLoadingMenu: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tconcoursePickerConfig: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tpolarisSearchContexts: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tapplicationId: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tbypassExperienceTitle: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tisAIELEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t}\n\t},\n\tsetInitialState({host, properties}) {\n\t\treturn setInitialState({host, properties});\n\t},\n\tstyles: `\n\t\t${styles}\n\t\t${logoStyles}\n\t\t${navigationStyles}\n\t\t${userMenuStyles}\n\t\t${concoursePickerStyles}\n\t`,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tdispatches: {NAV_ITEM_SELECTED: {}},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...createTooltipActionHandler\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-header'}\n\t\t},\n\t\t{behavior: resizeBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: concoursePickerBehavior},\n\t\t{behavior: searchDynamicRoutingBehaviour},\n\t\t{behavior: utilityMenuBehavior},\n\t\t{behavior: searchActionsBehavior},\n\t\t{behavior: truncationBehavior}\n\t],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) {\n\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t},\n\t\t\ttarget: document.body\n\t\t}\n\t]\n});\n","import {getProperty} from 'sn-uxpage-presource';\nimport {get} from 'lodash';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {SEARCH_CONTEXT_UPDATED} from '../../behaviors/search-behavior/actions';\n\nimport {\n\tNAV_RESIZED,\n\tSYS_PROPS,\n\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\tMAIN_NAV_HEIGHT,\n\tSEARCH,\n\tPOLARIS_SITE_NAME,\n\tMENU_ALL,\n\tMENU_WORKSPACES,\n\tREFLOW_BREAKPOINTS,\n\tOVERFLOW_MENU_ID,\n\tSEARCH_RENDER_STATUS_REPORTED\n} from '../../constants';\nimport {TAB_PRIMARY_SELECTED} from '../sn-polaris-layout/actions';\nimport {t} from 'sn-translate';\nimport {View as Logo} from './logo';\nimport {View as Navigation} from './navigation';\nimport '../sn-polaris-layout/draggable';\nimport {\n\tgetBooleanPreferenceValue,\n\tHASANA_FILTER,\n\tINCLUDES,\n\tPREFERENCES,\n\tonMouseEnterHeaderItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHoverHandlers\n} from '@devsnc/unav-utils';\n\nimport {OPENFRAME_BEHAVIOR_SET_REF} from '../../behaviors/openFrameBehavior/actions';\nimport {UtilityMenu} from './utility-menu';\nimport {SearchContainer} from './search-container/';\nimport {renderDirtyWorkspaceIcon} from '../../utils/renderDirtyWorkspaceIcon';\nimport {ExperienceTitlePill} from '../sn-polaris-layout/fragments/experience-title-pill';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport {\n\tgetActiveSearchContext,\n\tgetScreenReaderContentForFavorite,\n\tgetSearchInputVariant,\n\tisWorkspaceOrGlobalSearchEnabled\n} from './sn-polaris-header.utils';\nimport {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../behaviors/openFrameBehavior/constants';\nimport isATF from '../../utils/isATF';\n\nexport default (state, {dispatch}) => {\n\tconst {\n\t\tsearchContexts,\n\t\theaderNavigationElemRef,\n\t\topenframeLockedPosition,\n\t\topenFramePositions\n\t} = state;\n\tconst {\n\t\tcurrentRouteHeaderConfig,\n\t\tpageTitle,\n\t\tmenuItems,\n\t\toverflowMenuDrilldown,\n\t\tselectedContent,\n\t\tuserPreferences,\n\t\tuserMeta,\n\t\tuserSession,\n\t\tdir,\n\t\tmainLogoWidth,\n\t\tmenuWidth,\n\t\tanimationsEnabled,\n\t\tboundaryElement,\n\t\televatedRoles,\n\t\tmainMenuState,\n\t\tcontextualMenu,\n\t\tcontextualMenuState,\n\t\tselectedContentFavorite,\n\t\tisPolarisEnabled,\n\t\tisInboxEnabled,\n\t\thasDirtyWorkspaces,\n\t\theaderLogoTarget,\n\t\tselectedSearchContext,\n\t\tglobalSearchEnabled,\n\t\topenFrameConfig,\n\t\topenFrame,\n\t\topenFrameTagLoaded,\n\t\tforceMenuOpen,\n\t\tactiveModal,\n\t\tscreenContentLinks,\n\t\twindowSize,\n\t\tcoreUILogoSrc,\n\t\tisTouchDevice,\n\t\tutilityMenuData,\n\t\tutilityButtonCount,\n\t\tutilityMenuItemLeftPositions,\n\t\ttempFavoriteStarFill,\n\t\thideFavoriteTooltip,\n\t\tshowHiddenControls,\n\t\tfeedbackFormEnabled,\n\t\tisLoadingMenu,\n\t\tunreadNotificationCount,\n\t\tpolarisSearchContexts,\n\t\tbypassExperienceTitle,\n\t\twideMenus,\n\t\tisAIELEnabled\n\t} = state.properties;\n\n\tlet prevSize = 0;\n\tconst onNavigationResize = (entry) => {\n\t\tif (\n\t\t\tprevSize - entry.contentRect.width > 5 ||\n\t\t\tprevSize - entry.contentRect.width < -5\n\t\t) {\n\t\t\tprevSize = entry.contentRect.width;\n\t\t\tdispatch(NAV_RESIZED, {\n\t\t\t\twidth: entry.contentRect.width\n\t\t\t});\n\t\t}\n\t};\n\n\tconst activeSearchContext = getActiveSearchContext({\n\t\tselectedContent,\n\t\tsearchContexts,\n\t\tisPolarisEnabled,\n\t\tselectedSearchContext,\n\t\tpolarisSearchContexts\n\t});\n\n\tconst activeSearchTerm =\n\t\tselectedContent?.route === SEARCH ? selectedContent.params?.searchTerm : '';\n\n\tconst {pageLabel, favoriteTooltip} = getExperienceLabelAndFavoriteTooltip(\n\t\tselectedContent,\n\t\tpageTitle,\n\t\tpolarisSearchContexts,\n\t\tbypassExperienceTitle\n\t);\n\n\tconst shouldOpenUI16TabsInsidePolaris = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\t\tfalse\n\t);\n\n\tconst locale = userMeta.language || getProperty(SYS_PROPS.SYSTEM_LOCALE);\n\tconst filterMethod =\n\t\tgetProperty(SYS_PROPS.UI.NAV_FILTER_ACCURACY_SCORE, 75) == 100\n\t\t\t? INCLUDES\n\t\t\t: HASANA_FILTER;\n\tconst openframeBoundary = [MAIN_NAV_HEIGHT, 0, 0, 0];\n\n\tconst workspacesOrGlobalSearchEnabled = isWorkspaceOrGlobalSearchEnabled({\n\t\tisPolarisEnabled,\n\t\tglobalSearchEnabled,\n\t\tsearchContexts\n\t});\n\n\tif (\n\t\tworkspacesOrGlobalSearchEnabled &&\n\t\t!globalSearchEnabled &&\n\t\tselectedSearchContext?.context?.path === POLARIS_SITE_NAME\n\t) {\n\t\tdispatch(SEARCH_CONTEXT_UPDATED, searchContexts?.[0]);\n\t}\n\tconst {privatePage = {}, publicPage = {}} = currentRouteHeaderConfig;\n\tconst userPage = userSession.isLoggedIn ? privatePage : publicPage;\n\tconst {searchEnabled: workspaceSearchEnabled = false} = userPage;\n\n\tconst isRenderingSearch =\n\t\tworkspacesOrGlobalSearchEnabled || workspaceSearchEnabled;\n\tdispatch(SEARCH_RENDER_STATUS_REPORTED, {isRenderingSearch});\n\n\tconst favoriteSR = getScreenReaderContentForFavorite(\n\t\tselectedContentFavorite,\n\t\tpageLabel\n\t);\n\n\tconst isSuperFilterEnabled = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.SUPER_FILTER_ENABLED,\n\t\ttrue\n\t);\n\n\tconst isMainMenuPinned =\n\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned;\n\tconst isContextualMenuPinned =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned;\n\n\tconst isWorkspaceMenuPinned =\n\t\tisMainMenuPinned && mainMenuState.primaryMenuId === MENU_WORKSPACES;\n\n\tconst experienceTitleConfig =\n\t\twindowSize.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t? {\n\t\t\t\t\tpageLabel,\n\t\t\t\t\tisPolarisEnabled,\n\t\t\t\t\tselectedContentFavorite,\n\t\t\t\t\tfavoriteSR,\n\t\t\t\t\tfavoriteTooltip,\n\t\t\t\t\ttempFavoriteStarFill,\n\t\t\t\t\twindowSize\n\t\t\t  }\n\t\t\t: {};\n\n\treturn (\n\t\t<nav\n\t\t\tclass={{\n\t\t\t\t'polaris-layout': true\n\t\t\t}}\n\t\t\taria-label={t('Primary')}>\n\t\t\t<div\n\t\t\t\tclassName=\"polaris-header\"\n\t\t\t\tclass={{\n\t\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned,\n\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t'is-impersonating':\n\t\t\t\t\t\tuserMeta.isImpersonating || elevatedRoles.length > 0,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'starting-header-zone': true,\n\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t\t\t'is-pinned': isMainMenuPinned\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id=\"header-starting\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{'logo-area': true, 'polaris-on': isPolarisEnabled}}\n\t\t\t\t\t\tstyle={{width: mainLogoWidth === 0 ? 'auto' : mainLogoWidth}}>\n\t\t\t\t\t\t<Logo\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\theaderLogoTarget={headerLogoTarget}\n\t\t\t\t\t\t\tlogoRoute={currentRouteHeaderConfig?.publicPage?.logoRoute || {}}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tcoreUILogoSrc={coreUILogoSrc}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"pinned-tabs\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tab-name primary\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterHeaderItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tab-name secondary\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterHeaderItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{hasDirtyWorkspaces && isWorkspaceMenuPinned\n\t\t\t\t\t\t\t\t? renderDirtyWorkspaceIcon('Workspaces', dispatch)\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{menuItems?.map((menuItem, i) => {\n\t\t\t\t\t\t// Primary: pinned menu or active unpinned menu\n\t\t\t\t\t\t// Secondary: active alt unpinned menu or none\n\n\t\t\t\t\t\tconst isActivePrimaryMenu =\n\t\t\t\t\t\t\tmainMenuState.primaryMenuId === menuItem.id;\n\t\t\t\t\t\tconst isActiveSecondaryMenu =\n\t\t\t\t\t\t\tmainMenuState.secondaryMenuId === menuItem.id;\n\n\t\t\t\t\t\tconst isActive = mainMenuState.isMenuPinned\n\t\t\t\t\t\t\t? isActivePrimaryMenu || isActiveSecondaryMenu\n\t\t\t\t\t\t\t: isActivePrimaryMenu;\n\n\t\t\t\t\t\t// `isPinned` is whether _some_ menu is pinned\n\t\t\t\t\t\t// So the menu is pinned if ^ and it's the active primary menu\n\t\t\t\t\t\tconst isMenuPinned = isMainMenuPinned && isActivePrimaryMenu;\n\n\t\t\t\t\t\tlet ariaLabel =\n\t\t\t\t\t\t\tisMainMenuPinned && mainMenuState.primaryMenuId === menuItem.id\n\t\t\t\t\t\t\t\t? t('Pinned {0} menu', menuItem.label)\n\t\t\t\t\t\t\t\t: t('Unpinned {0} menu', menuItem.label);\n\n\t\t\t\t\t\tlet drilledMenu = null;\n\t\t\t\t\t\tif (menuItem.id === OVERFLOW_MENU_ID) {\n\t\t\t\t\t\t\tariaLabel = t('More menus');\n\t\t\t\t\t\t\tdrilledMenu = overflowMenuDrilldown;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst isCurrentMenuLoading =\n\t\t\t\t\t\t\tisLoadingMenu && !menuItem?.subItems?.length;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<sn-polaris-menu\n\t\t\t\t\t\t\t\tisLoading={isCurrentMenuLoading}\n\t\t\t\t\t\t\t\tisOtherMenusLoading={isLoadingMenu}\n\t\t\t\t\t\t\t\trole=\"navigation\"\n\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\taria-owns={menuItem.id}\n\t\t\t\t\t\t\t\tkey={menuItem.id}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'is-main-menu': isActive || isMenuPinned,\n\t\t\t\t\t\t\t\t\t'is-pinned': isMenuPinned,\n\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t// If not pinned, ignore secondary menu entirely\n\t\t\t\t\t\t\t\t// If pinned, only the activeTab menu is primary\n\t\t\t\t\t\t\t\t//\t\t \t  rest are not.\n\t\t\t\t\t\t\t\tmenuState={mainMenuState}\n\t\t\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\t\t\tisMainMenuPinned\n\t\t\t\t\t\t\t\t\t\t? mainMenuState.primaryMenuId === menuItem.id\n\t\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\theaderNavigationElemRef={headerNavigationElemRef}\n\t\t\t\t\t\t\t\theaderMenuItems={menuItems}\n\t\t\t\t\t\t\t\tmenu={menuItem}\n\t\t\t\t\t\t\t\tdrilledMenu={drilledMenu}\n\t\t\t\t\t\t\t\tmenuIndex={i}\n\t\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\t\topened={isActive}\n\t\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\t\tnowMode={\n\t\t\t\t\t\t\t\t\tisActive || isMenuPinned || !isATF() ? 'active' : 'suspend'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmainLogoWidth={mainLogoWidth}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\tshowHeaderFilter={mainMenuState.showPrimaryFilter}\n\t\t\t\t\t\t\t\tmenuPinable={mainMenuState.primaryMenuPinable}\n\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforce-menu-open={forceMenuOpen}\n\t\t\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\t\t\tuseSuperFilter={\n\t\t\t\t\t\t\t\t\tmenuItem.id === MENU_ALL ||\n\t\t\t\t\t\t\t\t\t(menuItem.id !== MENU_ALL && isSuperFilterEnabled)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t{...experienceTitleConfig}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t<Navigation\n\t\t\t\t\t\tmainMenuState={mainMenuState}\n\t\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\t\theaderNavigationElemRef={headerNavigationElemRef}\n\t\t\t\t\t\tmainLogoWidth={mainLogoWidth}\n\t\t\t\t\t\thasDirtyWorkspaces={hasDirtyWorkspaces}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tonTabSelect={(tab) => dispatch(TAB_PRIMARY_SELECTED, tab)}\n\t\t\t\t\t\tonNavigationResize={onNavigationResize}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div className=\"center-header-zone\" data-id=\"header-center\">\n\t\t\t\t\t{pageLabel &&\n\t\t\t\t\twindowSize.width > REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t\t<ExperienceTitlePill\n\t\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\thideFavoriteTooltip={hideFavoriteTooltip}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'ending-header-zone': true,\n\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t\t\t'is-pinned': isMainMenuPinned\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id=\"header-ending\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"polaris-header-controls\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"search-container\">\n\t\t\t\t\t\t\t{/* search input field */}\n\t\t\t\t\t\t\t<SearchContainer\n\t\t\t\t\t\t\t\trenderSearch={isRenderingSearch}\n\t\t\t\t\t\t\t\tselectedSearchContext={activeSearchContext}\n\t\t\t\t\t\t\t\tsearchTerm={activeSearchTerm}\n\t\t\t\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tsearchInputVariant={getSearchInputVariant({\n\t\t\t\t\t\t\t\t\tisMainMenuPinned,\n\t\t\t\t\t\t\t\t\tisContextualMenuPinned,\n\t\t\t\t\t\t\t\t\twindowSize\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"utility-menu-container\">\n\t\t\t\t\t\t\t{/* utility menu */}\n\t\t\t\t\t\t\t<UtilityMenu\n\t\t\t\t\t\t\t\tcurrentRouteHeaderConfig={currentRouteHeaderConfig}\n\t\t\t\t\t\t\t\tisLoggedIn={userSession.isLoggedIn}\n\t\t\t\t\t\t\t\treversed={dir === 'rtl'}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\t\t\t\tcontextualMenuState={contextualMenuState}\n\t\t\t\t\t\t\t\tavatar={{\n\t\t\t\t\t\t\t\t\tfullName: get(userMeta, 'fullName', t('Unknown User')),\n\t\t\t\t\t\t\t\t\tavatarPath: get(userMeta, 'avatar', ''),\n\t\t\t\t\t\t\t\t\tpresence: userSession.presence\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tisImpersonating={userMeta.isImpersonating}\n\t\t\t\t\t\t\t\tisElevated={elevatedRoles.length > 0}\n\t\t\t\t\t\t\t\televatedRoles={elevatedRoles}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\theaderProperties={state.properties}\n\t\t\t\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\t\t\tutilityMenuData={utilityMenuData}\n\t\t\t\t\t\t\t\tutilityButtonCount={utilityButtonCount}\n\t\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t\t\tutilityMenuItemLeftPositions={utilityMenuItemLeftPositions}\n\t\t\t\t\t\t\t\tuserMeta={userMeta}\n\t\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\t\tunreadNotificationCount={unreadNotificationCount}\n\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\t\twideMenus={wideMenus}\n\t\t\t\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"pinned-contextual-area\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"pinned-icons\">\n\t\t\t\t\t\t\t<div className=\"pinned-icon primary\" />\n\t\t\t\t\t\t\t<div className=\"pinned-icon secondary\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t{openFrameTagLoaded && import('../sn-polaris-layout/draggable') ? (\n\t\t\t\t\t<sn-draggable\n\t\t\t\t\t\ttrigger=\"sn-openframe-nheader\"\n\t\t\t\t\t\tisVisible={openFrame?.windowPositionedCorrectly}\n\t\t\t\t\t\tcontainer=\"sn-openframe-mainFrame\"\n\t\t\t\t\t\tboundaryElement={boundaryElement}\n\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_SET_REF, {element: elm});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\twidth={openFrameConfig?.AppOpenframe_Query?.config?.width || 0}\n\t\t\t\t\t\tlockedPosition={openframeLockedPosition}\n\t\t\t\t\t\theight={openFrameConfig?.AppOpenframe_Query?.config?.height || 0}\n\t\t\t\t\t\topened={openFrame?.iconSelected}\n\t\t\t\t\t\tisMainMenuPinned={isMainMenuPinned}\n\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\tboundary={openframeBoundary}\n\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t{openFrameConfig?.AppOpenframe_Query ? (\n\t\t\t\t\t\t\t<sn-openframe-uxb\n\t\t\t\t\t\t\t\tuser={userMeta}\n\t\t\t\t\t\t\t\tuserSession={userSession}\n\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\tconfiguration={openFrameConfig?.AppOpenframe_Query || ''}\n\t\t\t\t\t\t\t\tpositions={\n\t\t\t\t\t\t\t\t\twindowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t\t\t\t: openFramePositions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmaxAllowedSize={openFrame?.maxAllowedSize}\n\t\t\t\t\t\t\t\topened={openFrame?.iconSelected}\n\t\t\t\t\t\t\t\tnumber={openFrame?.params?.number || ''}\n\t\t\t\t\t\t\t\thasInbox={isInboxEnabled}\n\t\t\t\t\t\t\t\tsysId={openFrame?.params?.sysId || ''}\n\t\t\t\t\t\t\t\ttable={openFrame?.params?.table || ''}\n\t\t\t\t\t\t\t\tsource={openFrame?.params?.source || ''}\n\t\t\t\t\t\t\t\tisLegacy={false}\n\t\t\t\t\t\t\t\tcallPayload={openFrame?.callPayload || null}\n\t\t\t\t\t\t\t\tcustomPayload={openFrame?.customPayload || null}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/sn-draggable>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {isEmpty} from 'lodash';\nimport {SEPARATOR} from '../constants';\n\n// A favorite menu item is a group if it has no moduleId and no route.\n// Separators do not have route but do have a moduleId, and there are\n// some OOB favorites that are just URLs with no moduleId, so both\n// need to be satisfied to categorize as a favorite group. It cannot be\n// applicationId anymore because favorite groups that are not associated with\n// applications do not have one, but are still considered groups.\nexport const isFavoriteGroup = (favorite) =>\n\tfavorite &&\n\tisEmpty(favorite.moduleId) &&\n\tisEmpty(favorite.route) &&\n\tfavorite.actionType !== SEPARATOR &&\n\t!favorite.separator;\n\n// Difference between a favorite group and custom favorite group is that\n// custom favorite groups dont have an applicationId.\nexport const isCustomFavoriteGroup = (favorite) =>\n\tisFavoriteGroup(favorite) && isEmpty(favorite.applicationId);\n\nexport const isSeparatorGroup = (menu) =>\n\tmenu.actionType === SEPARATOR && !!menu.label;\n","// grabbing only custom groups to add to the typeahead for location\nimport {isCustomFavoriteGroup} from '../../../utils/isFavoriteGroup';\nimport isEmpty from 'lodash/isEmpty';\n\n// since thats the only type of group we can add favorites to\nexport const createTypeaheadItems = (\n\tfavoriteList = [],\n\treturnArray = [],\n\tprefix = ''\n) => {\n\tfavoriteList.forEach((favorite) => {\n\t\tif (isCustomFavoriteGroup(favorite)) {\n\t\t\tconst label = prefix ? `${prefix} ${favorite.label}` : favorite.label;\n\t\t\treturnArray.push({id: favorite.id, label});\n\t\t\tif (!isEmpty(favorite.subItems)) {\n\t\t\t\tcreateTypeaheadItems(favorite.subItems, returnArray, `${prefix} --`);\n\t\t\t}\n\t\t}\n\t});\n\treturn returnArray;\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_POPUP_CLOSED,\n\tFAVORITE_POPUP_INFO_UPDATED\n} from '../../../behaviors/favorites-behavior/actions';\nimport {createTypeaheadItems} from './sn-favorite-popup-content.utils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tproperties: {deleteFavorite},\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (name === 'favoriteList' && !deleteFavorite) {\n\t\t\t\tconst newStateFavorites = createTypeaheadItems(value?.subItems);\n\t\t\t\tnewStateFavorites.unshift({\n\t\t\t\t\tid: 'null-id',\n\t\t\t\t\tlabel: t('Top level (default)')\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tstateFavorites: newStateFavorites\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_BUTTON_BARE#CLICKED']: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {refocus: true});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON#CLICKED']: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {\n\t\t\t\tid,\n\t\t\t\trefocus: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_INPUT#INPUT']: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {fieldValue: stateName}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(FAVORITE_POPUP_INFO_UPDATED, {title: stateName});\n\t\t\tupdateState({\n\t\t\t\tstateName\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_SELECT#SELECTED_ITEM_SET']: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {value: stateGroup}\n\t\t\t}\n\t\t}) => {\n\t\t\t// null-id is the id of the top level group (since it needs)\n\t\t\t// to be a selection but is technically an empty group id\n\t\t\tconst group = stateGroup?.replace('null-id', '');\n\t\t\tdispatch(FAVORITE_POPUP_INFO_UPDATED, {\n\t\t\t\tgroupId: group,\n\t\t\t\tparent_group: group\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tstateGroup\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './sn-favorite-popup-content.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport view from './sn-favorite-popup-content.view';\nimport {actionHandlers} from './sn-favorite-popup-content.effects';\nimport {t} from 'sn-translate';\nimport {createTypeaheadItems} from './sn-favorite-popup-content.utils';\nconst FAVORITE_POPUP_CONTENT = 'sn-favorite-popup-content';\n\ncreateCustomElement(FAVORITE_POPUP_CONTENT, {\n\tview,\n\tproperties: {\n\t\tinitialName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tfavoritePayload: {\n\t\t\tdefault: null\n\t\t},\n\t\tfavoriteList: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdeleteFavorite: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tsetInitialState({properties}) {\n\t\tconst {initialName, favoriteList, deleteFavorite} = properties;\n\t\tif (!deleteFavorite) {\n\t\t\tconst stateFavorites = createTypeaheadItems(favoriteList?.subItems);\n\t\t\tstateFavorites.unshift({id: 'null-id', label: t('Top level (default)')});\n\t\t\treturn {\n\t\t\t\tstateName: initialName,\n\t\t\t\tstateGroup: 'null-id',\n\t\t\t\tstateFavorites\n\t\t\t};\n\t\t}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}],\n\tactions: {},\n\tactionHandlers,\n\tstyles: `\n\t${styles}\n\t`\n});\n\nexport default FAVORITE_POPUP_CONTENT;\n","import {t} from 'sn-translate';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-select';\nimport '@servicenow/now-tooltip';\nimport capitalize from 'lodash/capitalize';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nexport default (\n\t{stateName, stateGroup, stateFavorites, properties: {deleteFavorite}},\n\t{dispatch}\n) => {\n\treturn !deleteFavorite ? (\n\t\t<div className=\"popover-content\" slot=\"content\">\n\t\t\t<div className=\"title-row\">\n\t\t\t\t<span>{t('Favorite added')}<\/span>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t'aria-label': t('Close dialog')\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{id: 'close'}}\n\t\t\t\t\thide-block-padding\n\t\t\t\t\ticon-start=\"close-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdata-tooltip={t('Close dialog')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<now-input\n\t\t\t\tautofocus\n\t\t\t\trequired\n\t\t\t\tlabel={t('Name')}\n\t\t\t\tname=\"name\"\n\t\t\t\tvalue={stateName}\n\t\t\t\tmanage-value\n\t\t\t\tminlength={1}\n\t\t\t/>\n\t\t\t<now-select\n\t\t\t\tlabel={t('Location')}\n\t\t\t\tsearch=\"contains\"\n\t\t\t\tselected-item={stateGroup}\n\t\t\t\titems={stateFavorites}\n\t\t\t/>\n\t\t\t<div className=\"button-row\">\n\t\t\t\t<div className=\"start-button\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"more\"\n\t\t\t\t\t\tappend-to-payload={{id: 'more'}}\n\t\t\t\t\t\tlabel={capitalize(t('More'))}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tdisabled={!stateName}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"end-buttons\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"remove\"\n\t\t\t\t\t\tappend-to-payload={{id: 'remove'}}\n\t\t\t\t\t\tlabel={t('Remove')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"done\"\n\t\t\t\t\t\tappend-to-payload={{id: 'done'}}\n\t\t\t\t\t\tlabel={t('Done')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tdisabled={!stateName}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"popover-content delete-popup\" slot=\"content\">\n\t\t\t<div className=\"title-row\">\n\t\t\t\t<span>{t('Remove favorite')}<\/span>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t'aria-label': t('Close popup')\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{id: 'close'}}\n\t\t\t\t\thide-block-padding\n\t\t\t\t\ticon-start=\"close-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdata-tooltip={t('Close dialog')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div className=\"remove-text\">\n\t\t\t\t{t(\n\t\t\t\t\t'You are about to remove this item from your favorite menu. Are you sure you want to remove it?'\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div className=\"button-row delete-popup\">\n\t\t\t\t<div className=\"end-buttons\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"cancel\"\n\t\t\t\t\t\tappend-to-payload={{id: 'cancel'}}\n\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tconfig-aria={{'aria-label': t('Cancel')}}\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"remove\"\n\t\t\t\t\t\tappend-to-payload={{id: 'delete'}}\n\t\t\t\t\t\tlabel={t('Remove')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t\tconfig-aria={{'aria-label': t('Remove')}}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-popover';\nimport './sn-favorite-popup-content';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_POPUP_RENDERED,\n\tFAVORITE_POPUP_DESTROYED\n} from '../../behaviors/favorites-behavior/actions';\n\nexport const FavoritePopup = ({\n\tpopupRef,\n\tinitialName,\n\tfavoritePayload,\n\tpositions = [{target: 'bottom-center', content: 'top-center'}],\n\tfavoriteList = [],\n\tdispatch,\n\tdeleteFavorite\n}) => {\n\treturn (\n\t\t<now-popover\n\t\t\thook-insert={() => {\n\t\t\t\tdispatch(FAVORITE_POPUP_RENDERED);\n\t\t\t}}\n\t\t\thook-destroy={() => {\n\t\t\t\tdispatch(FAVORITE_POPUP_DESTROYED);\n\t\t\t}}\n\t\t\tid=\"favorite-popover\"\n\t\t\tappend-to-payload={{id: 'favorite-popover', deleteFavorite}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': deleteFavorite\n\t\t\t\t\t? t('Remove favorite')\n\t\t\t\t\t: t('Favorite added')\n\t\t\t}}\n\t\t\tposition-target={popupRef}\n\t\t\tpositions={positions}>\n\t\t\t<sn-favorite-popup-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tinitialName={initialName}\n\t\t\t\tfavoritePayload={favoritePayload}\n\t\t\t\tfavoriteList={favoriteList}\n\t\t\t\tdeleteFavorite={deleteFavorite}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n","import {\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {HOME_PAGE, SYS_PROPS} from '../../../constants';\nimport '@servicenow/now-loader';\n\nimport {\n\tdangerouslyCreateElementFromString,\n\tcreateRef\n} from '@servicenow/ui-renderer-snabbdom';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {handleMenuOpen} from './utility-bar.utils';\n\nexport const UtilityBar = ({\n\tisMainMenuPinned = false,\n\tisContextualMenuPinned = false,\n\tanimationsEnabled = false,\n\treversed = false,\n\tdispatch,\n\tconcoursePickerConfig\n}) => {\n\tconst productDescription =\n\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || HOME_PAGE;\n\tconst utilityBarRef = createRef();\n\n\treturn (\n\t\t<div\n\t\t\tref={utilityBarRef}\n\t\t\tclass={{\n\t\t\t\t'utility-bar': true,\n\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\treversed: reversed\n\t\t\t}}>\n\t\t\t<div className=\"info\">\n\t\t\t\t<span className=\"title\">{t('Instance tools')}<\/span>\n\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t`<span class=\"description\">${productDescription}<\/span>`\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div className=\"menus\">\n\t\t\t\t{concoursePickerConfig?.drilldownListItems.length === 0 ? (\n\t\t\t\t\t<div className=\"loader\">\n\t\t\t\t\t\t<now-loader /> {t('Loading Menu...')}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{concoursePickerConfig?.drilldownListItems.map((item) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={`utility-bar-${item.id}`}\n\t\t\t\t\t\t\tclassName=\"sn-polaris-tab\"\n\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-label={item.label}\n\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t\t\t\thandleMenuOpen(\n\t\t\t\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t\t\t\titem.indicatorOn,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tutilityBarRef\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t\t\t{item.toolIcon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.toolIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{item.current}\n\t\t\t\t\t\t\t\t{item.indicatorOn ? <div className=\"indicator\" /> : null}\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span className=\"hint\">{item.label}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_SELECTED\n} from '../../sn-polaris-layout/actions';\nimport {CONCOURSE_PICKER_CLICKED} from '../../../behaviors/concourse-picker-behavior/actions';\n\nexport const handleMenuOpen = (\n\tmenuId,\n\tindicatorOn,\n\tdispatch,\n\tutilityBarRef\n) => (e) => {\n\te.stopPropagation();\n\n\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\tmenuId: 'concoursePickers',\n\t\tbuttonConfig: {indicatorOn},\n\t\tisBarMenu: true,\n\t\tbarMenuId: menuId,\n\t\tutilityBarRef\n\t});\n\tdispatch(CONCOURSE_PICKER_CLICKED, {type: menuId, direct: true});\n\tdispatch(CLOSE_MENUS);\n};\n","export const SCHEDULE_FOR_PAGE_LOAD = 'SCHEDULE_FOR_PAGE_LOAD';\n","/* eslint-disable no-console */\nimport {isEqual, pick} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tCLASSIC,\n\tUSER_PRESENCE_CHANGED,\n\tNOW_EXPERIENCE_PAGE_SWITCHED,\n\tSYS_PROPS\n} from '../../constants';\nimport {\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\nlet loadingStateCleared = false;\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nconst NOW_EXPERIENCE_SWITCH_REQUESTED = 'NOW_EXPERIENCE_SWITCH_REQUESTED';\nconst NOW_EXPERIENCE_SWITCH_INITIATED = 'NOW_EXPERIENCE_SWITCH_INITIATED';\nconst NOW_EXPERIENCE_SWITCHED = 'NOW_EXPERIENCE_SWITCHED';\nconst NOW_EXPERIENCE_PAGE_LOAD_INITIATED = 'NOW_EXPERIENCE_PAGE_LOAD_INITIATED';\nconst MAIN_CONTENT_LOADING = 'mainContentLoading';\n\nconst updatePresence = createAuthedOnlyHttpEffect('/api/now/ui/presence', {\n\tmethod: 'POST',\n\theaders: {'User-Agent': navigator.userAgent},\n\tdataParam: 'data',\n\tsuccessActionType: ''\n});\n\nexport const hasSelectedContentChanged = (\n\tpreviousSelectedContent,\n\tcurrentSelectedContent\n) => {\n\tconst properties = ['route', 'context', 'params', 'fields'];\n\treturn isEqual(\n\t\tpick(previousSelectedContent, properties),\n\t\tpick(currentSelectedContent, properties)\n\t);\n};\n\nexport const setLoadingStateCleared = (val) => {\n\tloadingStateCleared = val;\n};\n\nexport const resolveLoadingDisplayValues = (\n\tactiveContent,\n\tmainContentLoading\n) => ({\n\tindicatorVisible: mainContentLoading,\n\tmain:\n\t\tactiveContent?.route !== CLASSIC && !mainContentLoading ? 'block' : 'none'\n});\n\nconst showLoadingIndicatorEffect = ({\n\tupdateState,\n\tstate: {mainContentLoading},\n\taction: {\n\t\tpayload: {route, passiveNavigation}\n\t}\n}) => {\n\t// Opening a background tab\n\tif (passiveNavigation === true) return;\n\n\tif (loadingStateCleared) {\n\t\tloadingStateCleared = false;\n\t\treturn;\n\t}\n\n\t// core-ui-iframe behavior controls the loading indicator for classic routes\n\tif (mainContentLoading || route === CLASSIC) return;\n\n\tupdateState({\n\t\tpath: MAIN_CONTENT_LOADING,\n\t\tvalue: true,\n\t\toperation: 'set'\n\t});\n};\n\nexport default {\n\tname: 'MAIN_CONTENT_LOADING',\n\tactionHandlers: {\n\t\t[NOW_EXPERIENCE_SWITCH_REQUESTED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_SWITCH_INITIATED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_LOAD_INITIATED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_SWITCHED]: {\n\t\t\teffect({updateState}) {\n\t\t\t\tloadingStateCleared = true;\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_SWITCHED]: {\n\t\t\teffect({action, updateState}) {\n\t\t\t\tconst update = [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'activeContent',\n\t\t\t\t\t\tvalue: action.payload,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// The iframe load event does this for classic routes\n\t\t\t\tif (action?.payload?.route !== CLASSIC) {\n\t\t\t\t\tloadingStateCleared = true;\n\t\t\t\t\tupdate.push({\n\t\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tupdateState(update);\n\t\t\t}\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_LOADED]: {\n\t\t\teffect({\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedContent: {route}\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tconst data = {\n\t\t\t\t\tuser_agent: navigator.userAgent,\n\t\t\t\t\tua_time: new Date().toISOString(),\n\t\t\t\t\thref: window.location.href,\n\t\t\t\t\tpathname: window.location.pathname,\n\t\t\t\t\tsearch: window.location.search,\n\t\t\t\t\tpath: window.location.pathname + window.location.search\n\t\t\t\t};\n\n\t\t\t\tif (!getBooleanProperty(SYS_PROPS.UI.PRESENCE_DISABLED, false)) {\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(USER_PRESENCE_CHANGED, {data});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// The iframe load event does this for classic routes\n\t\t\t\tif (route !== CLASSIC) {\n\t\t\t\t\tloadingStateCleared = true;\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tif (name === 'selectedContent') {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!previousValue ||\n\t\t\t\t\t\t!hasSelectedContentChanged(previousValue, value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'activeContent',\n\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[USER_PRESENCE_CHANGED]: {\n\t\t\t...updatePresence,\n\t\t\tmodifier: {name: 'throttle', limit: 3000}\n\t\t}\n\t}\n};\n","export const SKIP_LINKS_FOCUSED_IN = 'SKIP_LINKS#FOCUSED_IN';\nexport const SKIP_LINKS_FOCUSED_OUT = 'SKIP_LINKS#FOCUSED_OUT';\nexport const SKIP_LINK_FOCUSED = 'SKIP_LINK#FOCUSED';\n","export const ASIDE_RESIZED = 'ASIDE_RESIZED';\n","import isNil from 'lodash/isNil';\n\nexport default function getPreferenceValue(\n\tpreferences,\n\tname,\n\tdefaultValue = null\n) {\n\t// Preferences read from now-ui.glideUserPreferences are stored in ux_globals\n\t// Check canvas chrome first bc those are kept up to date\n\t// TODO: This should all eventually come from the global as we\n\t// move our preferences out from the canvas data broker and into our now-ui\n\tconst preferenceFromChrome = preferences?.find(\n\t\t(preference) => preference.name === name\n\t);\n\n\tconst preference = preferenceFromChrome ?? {\n\t\tvalue: window?.ux_globals?.userPrefs?.[name]\n\t};\n\n\treturn isNil(preference?.value) ? defaultValue : preference.value;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from '../sn-keyboard-shortcuts-modal.scss';\nimport {shortcutStyler} from './common';\n\ncreateCustomElement('sn-shortcut-cell-keys', {\n\tproperties: {\n\t\tshortcut: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\trenderer: snabbdom,\n\tview: ({properties: {shortcut}}) => {\n\t\treturn (\n\t\t\t<div className=\"shortcut\">\n\t\t\t\t<div className=\"shortcut-col\">{shortcutStyler(shortcut, true)}<\/div>\n\t\t\t<\/div>\n\t\t);\n\t},\n\tstyles\n});\n","import {t} from 'sn-translate';\n\nexport const MODE = {\n\tVIEW: 'view',\n\tEDIT: 'edit'\n};\n\nexport const ACTION = {\n\tACCEPT: 'accept',\n\tCANCEL: 'cancel',\n\tEDIT: 'edit',\n\tUNDO: 'undo'\n};\n\nexport const CELL = {\n\tEDITOR: 'sn-shortcut-cell-editor',\n\tREADONLY: 'sn-shortcut-cell'\n};\n\nexport const ERROR = {\n\tUNSAVED: 'unsaved',\n\tGENERIC: 'generic',\n\tRESET_DEFAULT: 'reset_default'\n};\n\nexport const ERROR_STRINGS = {\n\t[ERROR.UNSAVED]: {\n\t\theader: t('Unsaved keyboard shortcut'),\n\t\tcontent: t(\n\t\t\t'There is an unsaved keyboard shortcut open. Please save or cancel the keyboard shortcut remapping before closing the dialog.'\n\t\t)\n\t},\n\t[ERROR.GENERIC]: {\n\t\theader: t('An unknown error occurred'),\n\t\tcontent: ''\n\t},\n\t[ERROR.RESET_DEFAULT]: {\n\t\theader: t('Could not reset keyboard shortcuts to default'),\n\t\tcontent: ''\n\t}\n};\n\n// TODO: Send keycode instead once UXF updates their backend\nexport const SPECIAL_CHARACTERS = {\n\tSemicolon: ';',\n\tBracketLeft: '[',\n\tBracketRight: ']',\n\tQuote: '\"',\n\tComma: ',',\n\tPeriod: '.',\n\tSlash: '/',\n\tDash: '-',\n\tEqual: '='\n};\n\nexport const modifierKeyA11yMap = {\n\tAlt: 'Alt',\n\tCmd: 'Command',\n\tCtrl: 'Control',\n\tOpt: 'Option',\n\tShift: 'Shift'\n};\n\nexport const categoryOrder = [\n\t'global_navigation',\n\t'page_navigation',\n\t'page_actions',\n\t'general'\n];\n\nexport const categoryMap = {\n\tglobal_navigation: t('Global Navigation'),\n\tpage_navigation: t('Page Navigation'),\n\tpage_actions: t('Page Actions'),\n\tgeneral: t('General')\n};\n","export const KEYBOARD_SHORTCUTS_SEARCH_TEXT_ENTERED =\n\t'KEYBOARD_SHORTCUTS_MODAL#SEARCH_TEXT_ENTERED';\nexport const KEYBOARD_SHORTCUTS_RESET_DEFAULTS =\n\t'KEYBOARD_SHORTCUTS_MODAL#RESET_DEFAULTS';\nexport const KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL =\n\t'KEYBOARD_SHORTCUTS_MODAL#RESET_DEFAULTS_MODAL_CANCEL';\nexport const KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM =\n\t'KEYBOARD_SHORTCUTS_MODAL#RESET_DEFAULTS_MODAL_CONFIRM';\nexport const INTERNAL_FOCUS_REQUESTED = 'INTERNAL#FOCUS_REQUESTED';\nexport const KEYBOARD_SHORTCUTS_SHORTCUT_REMAP =\n\t'KEYBOARD_SHORTCUTS_MODAL#SHORTCUT_REMAP';\nexport const KEYBOARD_SHORTCUTS_REFRESH = 'KEYBOARD_SHORTCUTS_MODAL#REFRESH';\n\nexport const SHORTCUTS_CELL_SHORTCUT_REMAP =\n\t'KEYBOARD_SHORTCUT_CELL#SHORTCUT_REMAP';\nexport const SHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT =\n\t'KEYBOARD_SHORTCUT_CELL#SHORTCUT_ABANDON_EDIT';\nexport const SHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT =\n\t'KEYBOARD_SHORTCUT_CELL#SHORTCUT_COMMIT_EDIT';\n","import {t} from 'sn-translate';\nimport {\n\tisModifierKeyPressedWithKey,\n\tisMac\n} from '@servicenow/now-trigger-library';\nimport {\n\tmodifierKeyA11yMap,\n\tMODE,\n\tSPECIAL_CHARACTERS,\n\tcategoryOrder,\n\tcategoryMap\n} from './constants';\nimport {\n\tSHORTCUTS_CELL_SHORTCUT_REMAP,\n\tKEYBOARD_SHORTCUTS_RESET_DEFAULTS,\n\tKEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL\n} from './actions';\nimport {cloneDeep} from 'lodash';\nimport {\n\tgetFocusableNodes,\n\thandleFocusFirstNode\n} from '@servicenow/behavior-focus';\n\nexport const createSearchableShortcutsByCategory = (shortcuts) => {\n\t// Shortcuts order not guaranteed by UXF\n\tshortcuts.sort((a, b) => a.label?.localeCompare(b.label));\n\n\tconst categorizedShortcuts = shortcuts.reduce((acc, item, index) => {\n\t\tconst category = item.categoryValue || 'general';\n\n\t\tif (!acc[category]) {\n\t\t\tacc[category] = [];\n\t\t}\n\n\t\tacc[category].push({\n\t\t\tkey: `rowKey${index + 1}`,\n\t\t\tlabel: item.label,\n\t\t\tdescription: item.description,\n\t\t\tcells: {\n\t\t\t\tshortcutLabel: {\n\t\t\t\t\tvalue: item.label,\n\t\t\t\t\tdescription: item.description,\n\t\t\t\t\tcomponentProps: {\n\t\t\t\t\t\ttitle: item.label,\n\t\t\t\t\t\tmatch: {},\n\t\t\t\t\t\tsearchTerm: ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tvalue: item.shortcut,\n\t\t\t\t\tcomponentProps: {\n\t\t\t\t\t\ttitle: item.label,\n\t\t\t\t\t\tshortcut: item.shortcut,\n\t\t\t\t\t\tvalue: item.description,\n\t\t\t\t\t\tshortcutSysId: item.shortcutSysId,\n\t\t\t\t\t\treadonly: item.readonly,\n\t\t\t\t\t\tselectedShortcutSysId: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn acc;\n\t}, {});\n\n\treturn categoryOrder\n\t\t.filter((category) => categorizedShortcuts[category])\n\t\t.map((category) => ({\n\t\t\tlabel: categoryMap[category],\n\t\t\tsubItems: categorizedShortcuts[category]\n\t\t}));\n};\n\nexport const getColumnDefinitions = (componentTag) => {\n\treturn {\n\t\tcolumns: [\n\t\t\t{\n\t\t\t\tkey: 'shortcutLabel',\n\t\t\t\ttype: 'custom',\n\t\t\t\tcomponentTag: 'sn-shortcut-highlight-title',\n\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\ttitle: '',\n\t\t\t\t\tmatch: undefined,\n\t\t\t\t\tsearchTerm: '',\n\t\t\t\t\tcomponentTag: componentTag\n\t\t\t\t},\n\t\t\t\tcellEditingDisabled: false,\n\t\t\t\tplaceholderDimensions: {width: 'auto', height: '40'},\n\t\t\t\tcellContentDimensions: {width: 'auto', height: '40'},\n\t\t\t\tlabel: t('Label')\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'keyCombination',\n\t\t\t\ttype: 'custom',\n\t\t\t\tcomponentTag: componentTag,\n\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\tshortcut: 'Unset',\n\t\t\t\t\ttitle: '',\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tshortcutSysId: '',\n\t\t\t\t\treadonly: false,\n\t\t\t\t\tselectedShortcutSysId: ''\n\t\t\t\t},\n\t\t\t\tplaceholderDimensions: {width: '270px', height: '40'},\n\t\t\t\tcellContentDimensions: {width: '270px', height: '40'},\n\t\t\t\tlabel: t('Keyboard shortcut')\n\t\t\t}\n\t\t]\n\t};\n};\n\nexport const resolveKeyboardEvent = (event) => {\n\tif (!event) {\n\t\treturn;\n\t}\n\n\tif (\n\t\tevent instanceof CustomEvent &&\n\t\tevent?.detail?.payload?.event instanceof KeyboardEvent\n\t) {\n\t\treturn event.detail.payload.event;\n\t}\n\n\treturn event;\n};\n\nexport const createShortcut = (e) => {\n\tconst {metaKey, altKey, ctrlKey, shiftKey, key, code} = e;\n\tlet keyName;\n\n\tif (code.startsWith('Key')) {\n\t\tkeyName = code.slice(3);\n\t} else if (code.startsWith('Digit')) {\n\t\tkeyName = code.slice(5);\n\t} else {\n\t\tkeyName = SPECIAL_CHARACTERS[code];\n\t}\n\n\tconst shortcut = {\n\t\taltKey,\n\t\tshiftKey,\n\t\tkey: keyName?.toLowerCase() || key\n\t};\n\n\t// TODO: Can remove this logic once it's handled by UXF backend\n\tif (isMac()) {\n\t\tshortcut.metaKey = metaKey;\n\t} else {\n\t\tshortcut.ctrlKey = ctrlKey;\n\t}\n\n\treturn shortcut;\n};\n\nexport const renderConfirmationModal = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"reset-shortcuts-confirm\"\n\t\t\tcomponent-name=\"reset-shortcuts-confirm\"\n\t\t\topened\n\t\t\theader-label={t('Confirmation')}\n\t\t\tcontent={t(\n\t\t\t\t'Are you sure to want to restore all the keyboard shortcut defaults? Pressing the Yes button will remove ALL remapped keyboard shortcuts and restore them to their original values.'\n\t\t\t)}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tlabel: t('Yes'),\n\t\t\t\t\tclickActionType: KEYBOARD_SHORTCUTS_RESET_DEFAULTS\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tlabel: t('No'),\n\t\t\t\t\tclickActionType: KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n\nexport const augmentList = (\n\tsearchTerm,\n\tshortcuts,\n\tselectedShortcutSysId = '',\n\tmode\n) => {\n\tif (!shortcuts || shortcuts.length === 0) {\n\t\treturn [];\n\t}\n\n\treturn shortcuts.map((item, index) => {\n\t\tconst match = item.match ? cloneDeep(item.match) : undefined;\n\t\tconst a11yLabel = getA11yShortcut(\n\t\t\titem.cells.keyCombination.componentProps.shortcut\n\t\t);\n\n\t\treturn {\n\t\t\tkey: `rowKey${index + 1}`,\n\t\t\tlabel: item.label,\n\t\t\tdescription: item.description,\n\t\t\tcells: {\n\t\t\t\tshortcutLabel: {\n\t\t\t\t\tvalue: item.cells.shortcutLabel.value,\n\t\t\t\t\tdescription: item.description,\n\t\t\t\t\tcomponentProps: {\n\t\t\t\t\t\tlabel: item.cells.shortcutLabel.componentProps.title,\n\t\t\t\t\t\tariaLabel: item.cells.shortcutLabel.componentProps.title,\n\t\t\t\t\t\tmatch: match,\n\t\t\t\t\t\tsearchTerm: searchTerm\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tvalue: item.shortcut,\n\t\t\t\t\tcomponentProps: {\n\t\t\t\t\t\tariaLabel:\n\t\t\t\t\t\t\tmode === MODE.EDIT ? t('Edit {0}', a11yLabel) : a11yLabel,\n\t\t\t\t\t\tshortcut: item.cells.keyCombination.componentProps.shortcut,\n\t\t\t\t\t\tlabel: item.cells.shortcutLabel.componentProps.title,\n\t\t\t\t\t\tshortcutSysId:\n\t\t\t\t\t\t\titem.cells.keyCombination.componentProps.shortcutSysId,\n\t\t\t\t\t\treadonly: item.cells.keyCombination.componentProps.readonly,\n\t\t\t\t\t\tselectedShortcutSysId: selectedShortcutSysId\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n};\n\nexport const handleShortcutRemapKeyDown = (e, dispatch) => {\n\tconst event = resolveKeyboardEvent(e);\n\n\t// Early exit if no modifier key is pressed with a non-modifier key\n\tif (!event || !isModifierKeyPressedWithKey(event, true)) {\n\t\treturn;\n\t}\n\n\t// Parse key combo into shortcut\n\tconst shortcut = createShortcut(event);\n\n\tevent.stopPropagation();\n\tevent.preventDefault();\n\n\tdispatch(SHORTCUTS_CELL_SHORTCUT_REMAP, {\n\t\tshortcut\n\t});\n};\n\nexport const getHeaderLabel = (mode) => {\n\tif (mode === MODE.EDIT) {\n\t\treturn t('Remap keyboard shortcuts');\n\t} else {\n\t\treturn t('Keyboard shortcuts');\n\t}\n};\n\nexport const getA11yShortcut = (input) => {\n\treturn input\n\t\t.split(' ')\n\t\t.filter((key) => key !== '+')\n\t\t.map((key) => {\n\t\t\tconst lowerKey = key.toLowerCase();\n\t\t\treturn modifierKeyA11yMap[key] || lowerKey;\n\t\t})\n\t\t.join(' + ');\n};\n\nexport const focusFirstNode = (host, maxRetries = 10, currentRetry = 0) => {\n\tconst attemptFocus = () => {\n\t\tconst nodes = getFocusableNodes(host);\n\t\tconst firstNode = nodes.tabbableNodes[0];\n\n\t\tif (firstNode && firstNode.isConnected && firstNode.offsetParent) {\n\t\t\thandleFocusFirstNode(firstNode);\n\t\t} else if (currentRetry < maxRetries) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tfocusFirstNode(host, maxRetries, currentRetry + 1);\n\t\t\t});\n\t\t}\n\t};\n\n\twindow.requestAnimationFrame(attemptFocus);\n};\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport './sn-shortcut-cell-keys';\nimport {ACTION} from '../constants';\nimport {\n\tSHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT,\n\tSHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT\n} from '../actions';\nimport {getA11yShortcut} from '../sn-keyboard-shortcuts-modal.utils';\nimport {deepSearchElement} from '../../../../utils/domUtils';\n\nexport const shortcutEditor = ({\n\tediting,\n\tshortcut,\n\tshortcutSysId,\n\treadonly,\n\terror,\n\tupdatedShortcut,\n\tselectedShortcutSysId,\n\tloading,\n\tlabel,\n\tdispatch\n}) => {\n\tconst currentShortcut = updatedShortcut\n\t\t? updatedShortcut.prettyShortcut\n\t\t: shortcut;\n\tconst a11yShortcut = getA11yShortcut(currentShortcut);\n\tconst disabled = !(\n\t\tselectedShortcutSysId === shortcutSysId || selectedShortcutSysId === ''\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{editing ? (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"shortcut-col\"\n\t\t\t\t\tid=\"keyboard-shortcut-input-container\"\n\t\t\t\t\taria-label={t(\n\t\t\t\t\t\t'Editing mode active. Press new key combination to update shortcut.'\n\t\t\t\t\t)}>\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tid=\"shortcuts-cell-edit-input\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (e.key === 'Tab') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tdispatch(SHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (e.key === 'Enter') {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tdispatch(SHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-input={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t// Remove any non-alphanumeric/special characters from appearing in the input\n\t\t\t\t\t\t\tconst target = deepSearchElement('input', e.target);\n\t\t\t\t\t\t\tconst inputValue = target.value.replace(/[^a-z0-9]/gi, '');\n\t\t\t\t\t\t\ttarget.value = inputValue;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tinvalid={error}\n\t\t\t\t\t\taria-readonly=\"true\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t'aria-label': a11yShortcut,\n\t\t\t\t\t\t\t\t'aria-readonly': true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-describedby=\"keyboard-shortcut-input-container\"\n\t\t\t\t\t\thideRequiredIndicator\n\t\t\t\t\t\tvalue={''}\n\t\t\t\t\t\tmessages={\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tstatus: 'critical',\n\t\t\t\t\t\t\t\t\t\t\ticon: 'triangle-exclamation-outline',\n\t\t\t\t\t\t\t\t\t\t\tcontent: error\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t<sn-shortcut-cell-keys slot=\"start\" shortcut={currentShortcut} />\n\t\t\t\t\t<\/now-input>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"shortcut-col is-action\">\n\t\t\t\t{editing ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tid=\"shortcuts-cell-edit-cancel-button\"\n\t\t\t\t\t\t\tclassName=\"cancel-button\"\n\t\t\t\t\t\t\tappend-to-payload={{id: ACTION.CANCEL}}\n\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t\t\ttooltip-content={t('Cancels saving')}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {'aria-label': t('Cancel shortcut changes')}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tid=\"shortcuts-cell-edit-accept-button\"\n\t\t\t\t\t\t\tclassName=\"accept-button\"\n\t\t\t\t\t\t\tappend-to-payload={{id: ACTION.ACCEPT}}\n\t\t\t\t\t\t\ticon=\"check-fill\"\n\t\t\t\t\t\t\ttooltip-content={t('Accept shortcut changes')}\n\t\t\t\t\t\t\tvariant=\"secondary-positive\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t\t\t\t'Save remapped keyboard shortcut changes for {0}',\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : readonly ? (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tclassName=\"readonly-info-icon\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t\t\t'{0} is currently not editable, but will be customizable in a future update.',\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttooltip-content={t(\n\t\t\t\t\t\t\t'This shortcut is currently not editable, but will be customizable in a future update.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tid=\"shortcuts-cell-edit-button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tclassName=\"edit-button\"\n\t\t\t\t\t\tappend-to-payload={{id: ACTION.EDIT}}\n\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\ttooltip-content={t('Remap shortcut')}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': t('Remap keyboard shortcut for {0}', label)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const shortcutStyler = (shortcut, isEditing = false) => (\n\t<Fragment>\n\t\t{shortcut\n\t\t\t.split(' ')\n\t\t\t.filter((key) => key !== '+')\n\t\t\t.map((key) => (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'shortcut-btn': true,\n\t\t\t\t\t\t'is-editing': isEditing,\n\t\t\t\t\t\t'single-key': key.length === 1,\n\t\t\t\t\t\t'error-msg': false\n\t\t\t\t\t}}>\n\t\t\t\t\t<div>{key.toLowerCase()}<\/div>\n\t\t\t\t<\/div>\n\t\t\t))}\n\t<\/Fragment>\n);\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from '../sn-keyboard-shortcuts-modal.scss';\nimport {shortcutStyler} from './common';\nimport {getA11yShortcut} from '../sn-keyboard-shortcuts-modal.utils';\n\ncreateCustomElement('sn-shortcut-cell', {\n\tproperties: {\n\t\tshortcut: {\n\t\t\tdefault: 'Unset',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\trenderer: snabbdom,\n\tview: ({properties: {shortcut}}) => {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div aria-label={getA11yShortcut(shortcut)} className=\"shortcut\">\n\t\t\t\t\t<div className=\"shortcut-col\">{shortcutStyler(shortcut)}<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t},\n\tstyles\n});\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from '../sn-keyboard-shortcuts-modal.scss';\nimport {HASANA_FILTER, HighlightedLabel} from '@devsnc/unav-utils';\nimport {CELL} from '../constants';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) => {\n\t\t\t// Workaround since now-list sets nowMode to 'suspended' in Safari\n\t\t\t// TODO Remove once DEF0610268 is fixed on lists end\n\t\t\tif (name === 'nowMode' && value !== 'active') {\n\t\t\t\thost.nowMode = 'active';\n\t\t\t}\n\t\t}\n\t}\n};\n\ncreateCustomElement('sn-shortcut-highlight-title', {\n\tproperties: {\n\t\tlabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\treflect: true\n\t\t},\n\t\tcomponentTag: {\n\t\t\tdefault: CELL.EDITOR,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tmatch: {\n\t\t\tdefault: undefined,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\trenderer: snabbdom,\n\tview: ({properties: {label, match, searchTerm, componentTag}}) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'highlight-title': true,\n\t\t\t\t\t'string-cell-content': true,\n\t\t\t\t\t'in-view-mode': componentTag === CELL.READONLY\n\t\t\t\t}}>\n\t\t\t\t<HighlightedLabel\n\t\t\t\t\ttext={label}\n\t\t\t\t\tmatches={searchTerm?.length > 1 ? match?.matches : undefined}\n\t\t\t\t\tfilterMethod={HASANA_FILTER}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t},\n\tactions: {},\n\tactionHandlers,\n\tstyles\n});\n","import {\n\tsetKeyboardShortcutOverride,\n\tisMac,\n\tdeleteKeyboardShortcutOverride,\n\tprettifyMacShortcut,\n\tprettifyWindowsShortcut\n} from '@servicenow/now-trigger-library';\nimport {\n\thandleShortcutRemapKeyDown,\n\tfocusFirstNode\n} from '../sn-keyboard-shortcuts-modal.utils';\nimport {\n\tKEYBOARD_SHORTCUTS_REFRESH,\n\tKEYBOARD_SHORTCUTS_SHORTCUT_REMAP,\n\tSHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT,\n\tSHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT,\n\tSHORTCUTS_CELL_SHORTCUT_REMAP\n} from '../actions';\nimport {ACTION, ERROR} from '../constants';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst getTableCell = (host) => {\n\treturn host.closest('td');\n};\n\nconst manageKeyboardShortcutListener = (host, dispatch, remove = false) => {\n\tconst tdElm = getTableCell(host);\n\tif (!tdElm) return;\n\n\t//TODO: Call new UXF API endpoint to disable their keyboard shortcuts\n\n\tif (remove) {\n\t\tif (tdElm._keydownHandler) {\n\t\t\ttdElm.removeEventListener('keydown', tdElm._keydownHandler);\n\t\t\tdelete tdElm._keydownHandler;\n\t\t}\n\t} else {\n\t\ttdElm._keydownHandler = (e) => handleShortcutRemapKeyDown(e, dispatch);\n\t\ttdElm.addEventListener('keydown', tdElm._keydownHandler);\n\t}\n};\n\nconst abandonEdit = (host, dispatch, updateState) => {\n\tupdateState({\n\t\tediting: false,\n\t\tupdatedShortcut: undefined\n\t});\n\n\tfocusFirstNode(getTableCell(host));\n\n\tdispatch(KEYBOARD_SHORTCUTS_SHORTCUT_REMAP, {\n\t\tshortcutSysId: ''\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: ({host}) => {\n\t\t\tconst cell = getTableCell(host);\n\n\t\t\tcell.onclick = () => {\n\t\t\t\tfocusFirstNode(host);\n\t\t\t};\n\n\t\t\tcell.onkeydown = (event) => {\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tfocusFirstNode(host);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tproperties: {shortcutSysId},\n\t\t\tstate: {editing},\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (name === 'selectedShortcutSysId' && value !== shortcutSysId) {\n\t\t\t\tif (editing) {\n\t\t\t\t\tabandonEdit(host, dispatch, updateState);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'shortcut' && value !== previousValue) {\n\t\t\t\tupdateState({\n\t\t\t\t\tupdatedShortcut: undefined\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_BUTTON#CLICKED']: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (id === ACTION.ACCEPT) {\n\t\t\t\tdispatch(SHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT);\n\t\t\t}\n\n\t\t\tif (id === ACTION.CANCEL) {\n\t\t\t\tdispatch(SHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON_ICONIC#CLICKED']: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t},\n\t\t\tproperties: {shortcutSysId}\n\t\t}) => {\n\t\t\tif (id === ACTION.EDIT) {\n\t\t\t\tmanageKeyboardShortcutListener(host, dispatch);\n\t\t\t\tupdateState({\n\t\t\t\t\tediting: true,\n\t\t\t\t\terror: undefined,\n\t\t\t\t\tupdatedShortcut: undefined\n\t\t\t\t});\n\n\t\t\t\tfocusFirstNode(host);\n\n\t\t\t\tdispatch(KEYBOARD_SHORTCUTS_SHORTCUT_REMAP, {\n\t\t\t\t\tshortcutSysId: shortcutSysId\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (id === ACTION.UNDO) {\n\t\t\t\tdeleteKeyboardShortcutOverride({\n\t\t\t\t\tshortcutSysId: shortcutSysId\n\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdispatch(KEYBOARD_SHORTCUTS_REFRESH);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\terror: err?.message || ERROR.GENERIC.header\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SHORTCUTS_CELL_SHORTCUT_REMAP]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {shortcut}\n\t\t\t}\n\t\t}) => {\n\t\t\tconst prettifiedShortcut = isMac()\n\t\t\t\t? prettifyMacShortcut(shortcut)\n\t\t\t\t: prettifyWindowsShortcut(shortcut);\n\n\t\t\tupdateState({\n\t\t\t\terror: undefined,\n\t\t\t\tupdatedShortcut: {\n\t\t\t\t\tprettyShortcut: prettifiedShortcut,\n\t\t\t\t\tshortcut\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SHORTCUTS_CELL_SHORTCUT_ABANDON_EDIT]: {\n\t\teffect: ({host, updateState, dispatch}) => {\n\t\t\tmanageKeyboardShortcutListener(host, dispatch, true);\n\t\t\tabandonEdit(host, dispatch, updateState);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SHORTCUTS_CELL_SHORTCUT_COMMIT_EDIT]: {\n\t\teffect: ({\n\t\t\thost,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tstate: {updatedShortcut},\n\t\t\tproperties: {shortcutSysId, shortcut}\n\t\t}) => {\n\t\t\tif (!updatedShortcut || updatedShortcut?.prettyShortcut === shortcut) {\n\t\t\t\tmanageKeyboardShortcutListener(host, dispatch, true);\n\t\t\t\tabandonEdit(host, dispatch, updateState);\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tloading: true\n\t\t\t\t});\n\t\t\t\tsetKeyboardShortcutOverride({\n\t\t\t\t\tshortcutSysId: shortcutSysId,\n\t\t\t\t\tplatform: isMac() ? 'mac' : 'windows',\n\t\t\t\t\tkeyboardMetadata: updatedShortcut.shortcut\n\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\terror: undefined,\n\t\t\t\t\t\t\tediting: false,\n\t\t\t\t\t\t\tloading: false\n\t\t\t\t\t\t});\n\t\t\t\t\t\tmanageKeyboardShortcutListener(host, dispatch, true);\n\t\t\t\t\t\tdispatch(KEYBOARD_SHORTCUTS_REFRESH);\n\t\t\t\t\t\tfocusFirstNode(getTableCell(host));\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\terror: err?.message || ERROR.GENERIC.header,\n\t\t\t\t\t\t\tloading: false\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tfocusFirstNode(host);\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from '../sn-keyboard-shortcuts-modal.scss';\nimport {shortcutEditor, shortcutStyler} from './common';\nimport {actionHandlers} from './sn-shortcut-cell-editor.effects';\n\ncreateCustomElement('sn-shortcut-cell-editor', {\n\tproperties: {\n\t\tshortcut: {\n\t\t\tdefault: 'Unset',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\treflect: true\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tshortcutSysId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tselectedShortcutSysId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treadonly: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tupdatedShortcut: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: undefined,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tediting: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tloading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tupdated: false,\n\t\t\tediting: false,\n\t\t\terror: undefined,\n\t\t\tloading: false,\n\t\t\tupdatedShortcut: undefined\n\t\t};\n\t},\n\trenderer: snabbdom,\n\tview: (state, {dispatch}) => {\n\t\tconst {\n\t\t\tediting,\n\t\t\terror,\n\t\t\tloading,\n\t\t\tupdatedShortcut,\n\t\t\tproperties: {\n\t\t\t\tshortcut,\n\t\t\t\tselectedShortcutSysId,\n\t\t\t\treadonly,\n\t\t\t\tshortcutSysId,\n\t\t\t\tlabel\n\t\t\t}\n\t\t} = state;\n\n\t\tconst displayedShortcut = updatedShortcut?.prettyShortcut || shortcut;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tshortcut: true,\n\t\t\t\t\t'is-view': !editing,\n\t\t\t\t\t'is-error': error\n\t\t\t\t}}>\n\t\t\t\t{editing ? null : (\n\t\t\t\t\t<div className=\"shortcut-col\">\n\t\t\t\t\t\t{shortcutStyler(displayedShortcut)}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{shortcutEditor({\n\t\t\t\t\tediting,\n\t\t\t\t\terror,\n\t\t\t\t\tshortcut,\n\t\t\t\t\tshortcutSysId,\n\t\t\t\t\treadonly,\n\t\t\t\t\tupdatedShortcut,\n\t\t\t\t\tselectedShortcutSysId,\n\t\t\t\t\tloading,\n\t\t\t\t\tlabel,\n\t\t\t\t\tdispatch\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t);\n\t},\n\tactions: {},\n\tactionHandlers,\n\tstyles\n});\n","import '@servicenow/now-modal';\nimport '@servicenow/now-list';\nimport '@servicenow/now-accordion';\nimport '@servicenow/now-input';\nimport {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport './cell/sn-shortcut-cell';\nimport './cell/sn-shortcut-highlight-title';\nimport './cell/sn-shortcut-cell-editor';\n\nimport {\n\taugmentList,\n\tgetColumnDefinitions,\n\tgetHeaderLabel,\n\trenderConfirmationModal\n} from './sn-keyboard-shortcuts-modal.utils';\nimport {CELL, MODE} from './constants';\nimport {KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM} from './actions';\nimport {getBooleanProperty, SYS_PROPS} from '@devsnc/unav-utils';\n\nconst renderErrorBanner = (state) => {\n\tconst {error, errorDismissed} = state;\n\tif (error && !errorDismissed) {\n\t\treturn (\n\t\t\t<now-alert\n\t\t\t\tid=\"keyboard-shortcuts-error-alert\"\n\t\t\t\tstatus=\"critical\"\n\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\theader={error.header}\n\t\t\t\tcontent={{\n\t\t\t\t\ttype: 'jsx',\n\t\t\t\t\tvalue: error?.content ? <div>{error?.content}<\/div> : null\n\t\t\t\t}}\n\t\t\t\taction={{\n\t\t\t\t\ttype: 'dismiss'\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderNavButtons = (state) => {\n\tconst {\n\t\tmode,\n\t\tproperties: {dir, userMeta}\n\t} = state;\n\n\tconst isShortcutCustomizationEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED,\n\t\ttrue\n\t);\n\n\treturn (\n\t\t<div className=\"nav-button-container\">\n\t\t\t{mode === MODE.EDIT ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\tkey=\"back-button\"\n\t\t\t\t\tid=\"keyboard-shortcuts-back-button\"\n\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tlabel={t('Back')}\n\t\t\t\t\ticon-start={\n\t\t\t\t\t\tdir === 'rtl' ? 'arrow-right-outline' : 'arrow-left-outline'\n\t\t\t\t\t}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tlink: {'aria-describedby': 'keyboard-shortcuts-modal'}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{link: 'back-button'}}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{/* UXF API only supports customizing shortcuts for users with a sysId */}\n\t\t\t{mode === MODE.VIEW &&\n\t\t\tisShortcutCustomizationEnabled &&\n\t\t\tuserMeta?.sys_id &&\n\t\t\tuserMeta.sys_id.length === 32 ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\tkey=\"remap-button\"\n\t\t\t\t\tid=\"keyboard-shortcuts-remap-button\"\n\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tlabel={t('Remap keyboard shortcuts')}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tlink: {'aria-describedby': 'keyboard-shortcuts-modal'}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{link: 'remap'}}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t<now-text-link\n\t\t\t\tkey=\"help-button\"\n\t\t\t\tid=\"keyboard-shortcuts-help-button\"\n\t\t\t\thref=\"/api/now/v1/context_doc_url/next-experience-keyboard-shortcuts\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tlabel={t('Keyboard shortcut help')}\n\t\t\t\ticon-end={\n\t\t\t\t\tdir === 'rtl' ? 'move-link-left-outline' : 'move-link-right-outline'\n\t\t\t\t}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tlink: {\n\t\t\t\t\t\t'aria-label': t('Keyboard shortcut help (opens in a new window)')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\topens-window\n\t\t\t\tappend-to-payload={{link: 'help'}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nconst getFooterActions = (mode, hasOverrides) => {\n\tconst actions = [\n\t\t{\n\t\t\tlabel: t('Close'),\n\t\t\tvariant: 'primary',\n\t\t\tclickActionType: 'NOW_MODAL#OPENED_SET',\n\t\t\tconfigAria: {\n\t\t\t\tbutton: {'aria-label': t('Closes modal')}\n\t\t\t}\n\t\t}\n\t];\n\n\tif (mode === MODE.EDIT) {\n\t\tactions.push({\n\t\t\tlabel: t('Restore Defaults'),\n\t\t\tdisabled: !hasOverrides,\n\t\t\tvariant: 'tertiary',\n\t\t\tclickActionType: KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM,\n\t\t\tconfigAria: {\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': t('Restore Defaults'),\n\t\t\t\t\t'aria-description': t(\n\t\t\t\t\t\t'Returns remapped keyboard shortcut to default keyboard shortcut'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\treturn actions;\n};\n\nconst categorizedList = ({\n\tcolumnDefinitions,\n\tshortcuts,\n\tsearchTerm,\n\tselectedShortcutSysId,\n\tmode\n}) => {\n\tif (shortcuts && shortcuts.length) {\n\t\treturn (\n\t\t\t<now-accordion heading-level={3}>\n\t\t\t\t{shortcuts.map((categoryGroup, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-accordion-item\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tid={`shortcut-category-${index}`}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t\t\t\t'{0} ({1} items)',\n\t\t\t\t\t\t\t\t\t\tcategoryGroup.label,\n\t\t\t\t\t\t\t\t\t\tcategoryGroup.subItems.length\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\texpanded={index === 0}\n\t\t\t\t\t\t\theader={categoryGroup.label}>\n\t\t\t\t\t\t\t<div slot=\"content\">\n\t\t\t\t\t\t\t\t{renderList({\n\t\t\t\t\t\t\t\t\tcolumnDefinitions,\n\t\t\t\t\t\t\t\t\trows: augmentList(\n\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\tcategoryGroup.subItems,\n\t\t\t\t\t\t\t\t\t\tselectedShortcutSysId,\n\t\t\t\t\t\t\t\t\t\tmode\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/now-accordion-item>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/now-accordion>\n\t\t);\n\t} else {\n\t\treturn <Fragment>{renderList({columnDefinitions, rows: []})}<\/Fragment>;\n\t}\n};\n\nconst renderList = ({columnDefinitions, rows}) => {\n\treturn (\n\t\t<now-list\n\t\t\tcolumnDefinitions={columnDefinitions}\n\t\t\trowDefinitions={{\n\t\t\t\trows: rows || []\n\t\t\t}}\n\t\t\tselectionEnabled={false}\n\t\t\tcolumnResizingEnabled={false}\n\t\t\tshadeAlternateRows=\"shadeAlternateRowsOn\"\n\t\t\tcolumnDragDropEnabled={false}\n\t\t\tcellEditingEnabled={false}\n\t\t\trowDragDropEnabled={false}\n\t\t\tclickableTextEnabled={false}\n\t\t/>\n\t);\n};\n\nconst renderContent = (state, dispatch) => {\n\tconst {\n\t\tsearchTerm,\n\t\tfilteredShortcutItems,\n\t\tmode,\n\t\terror,\n\t\terrorDismissed,\n\t\tselectedShortcutSysId\n\t} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderErrorBanner(state, dispatch)}\n\t\t\t{renderNavButtons(state)}\n\t\t\t{searchContainer(searchTerm)}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'shortcut-container': true,\n\t\t\t\t\t'error-visible': error && !errorDismissed\n\t\t\t\t}}>\n\t\t\t\t{categorizedList({\n\t\t\t\t\tcolumnDefinitions: getColumnDefinitions(\n\t\t\t\t\t\tmode === MODE.VIEW ? CELL.READONLY : CELL.EDITOR\n\t\t\t\t\t),\n\t\t\t\t\tshortcuts: filteredShortcutItems,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tselectedShortcutSysId,\n\t\t\t\t\tmode\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nconst searchContainer = (searchTerm) => {\n\treturn (\n\t\t<div className=\"search-container\">\n\t\t\t<now-input\n\t\t\t\tplaceholder={t('Search keyboard shortcuts')}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvalue={searchTerm}\n\t\t\t\tid=\"keyboard-shortcuts-search\">\n\t\t\t\t<now-icon slot=\"start\" icon=\"magnifyingGlass-outline\" size=\"sm\" />\n\t\t\t<\/now-input>\n\t\t<\/div>\n\t);\n};\n\nexport default (state, dispatch) => {\n\tconst {mode, showConfirmResetModal, hasOverrides} = state;\n\n\treturn (\n\t\t<now-modal\n\t\t\tid=\"keyboard-shortcuts-modal\"\n\t\t\tclassName=\"keyboard-shortcuts-modal\"\n\t\t\tconfig-aria={{\n\t\t\t\tdocument: {\n\t\t\t\t\t'aria-label': getHeaderLabel(mode)\n\t\t\t\t}\n\t\t\t}}\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'keyboard-shortcuts-modal'\n\t\t\t}}\n\t\t\topened\n\t\t\theader-label={getHeaderLabel(mode)}\n\t\t\tmanage-opened\n\t\t\tcustomSize={{\n\t\t\t\theight: '600px',\n\t\t\t\twidth: '800px'\n\t\t\t}}\n\t\t\tfooter-actions={getFooterActions(mode, hasOverrides)}>\n\t\t\t<Fragment>\n\t\t\t\t{showConfirmResetModal ? renderConfirmationModal() : null}\n\t\t\t\t{renderContent(state, dispatch)}\n\t\t\t<\/Fragment>\n\t\t<\/now-modal>\n\t);\n};\n","import {\n\tINTERNAL_FOCUS_REQUESTED,\n\tKEYBOARD_SHORTCUTS_REFRESH,\n\tKEYBOARD_SHORTCUTS_RESET_DEFAULTS,\n\tKEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL,\n\tKEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM,\n\tKEYBOARD_SHORTCUTS_SEARCH_TEXT_ENTERED,\n\tKEYBOARD_SHORTCUTS_SHORTCUT_REMAP\n} from './actions';\nimport {\n\tgetSearchAnnouncement,\n\texecuteFilter,\n\tHASANA_FILTER\n} from '@devsnc/unav-utils';\nimport {createSearchableShortcutsByCategory} from './sn-keyboard-shortcuts-modal.utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {t} from 'sn-translate';\nimport {\n\tgetAllPrettifiedShortcuts,\n\tgetKeyboardShortcutOverrides,\n\trestoreDefaults\n} from '@servicenow/now-trigger-library';\nimport {KEYBOARD_BEHAVIOR_MODAL_OPENED} from '../actions';\nimport {\n\tgetFocusableNodes,\n\thandleFocusFirstNode\n} from '@servicenow/behavior-focus';\nimport {ERROR, ERROR_STRINGS, MODE} from './constants';\nimport clone from 'lodash/clone';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED\n} = actionTypes;\n\nconst refreshShortcuts = ({\n\tsearchTerm = '',\n\tshortcutsFn,\n\toverridesFn,\n\tupdateState,\n\tmode\n}) => {\n\tconst searchableShortcuts = shortcutsFn\n\t\t? createSearchableShortcutsByCategory(shortcutsFn(mode === MODE.EDIT))\n\t\t: createSearchableShortcutsByCategory(\n\t\t\t\tgetAllPrettifiedShortcuts(mode === MODE.EDIT)\n\t\t  );\n\n\tconst hasOverrides = overridesFn\n\t\t? [...overridesFn()].length > 0\n\t\t: [...getKeyboardShortcutOverrides()].length > 0;\n\n\tif (searchTerm) {\n\t\tconst filteredList = executeFilter({\n\t\t\tmenu: {subItems: searchableShortcuts},\n\t\t\tsearchTerm: searchTerm,\n\t\t\tfilterMethod: HASANA_FILTER,\n\t\t\tignoreParentMatch: true,\n\t\t\tsortRecursively: true\n\t\t});\n\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tupdateState({\n\t\t\t\tglobalShortcutItems: searchableShortcuts,\n\t\t\t\tfilteredShortcutItems: filteredList?.subItems ?? [],\n\t\t\t\tselectedShortcutSysId: '',\n\t\t\t\thasOverrides: hasOverrides,\n\t\t\t\tsearchTerm: searchTerm,\n\t\t\t\tmode\n\t\t\t});\n\t\t});\n\t} else {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tupdateState({\n\t\t\t\tglobalShortcutItems: searchableShortcuts,\n\t\t\t\tfilteredShortcutItems: searchableShortcuts,\n\t\t\t\tselectedShortcutSysId: '',\n\t\t\t\thasOverrides: hasOverrides,\n\t\t\t\tsearchTerm: '',\n\t\t\t\tmode\n\t\t\t});\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tstate: {globalShortcutItems, mode},\n\t\t\t\tproperties: {shortcutsFn, overridesFn}\n\t\t\t} = coeffects;\n\n\t\t\tif (globalShortcutItems) return;\n\n\t\t\trefreshShortcuts({shortcutsFn, overridesFn, updateState, mode});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {previousRenderState}\n\t\t\t\t},\n\t\t\t\tstate: {searchAnnouncement},\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\n\t\t\tif (\n\t\t\t\tsearchAnnouncement &&\n\t\t\t\tpreviousRenderState.searchAnnouncement !== searchAnnouncement\n\t\t\t) {\n\t\t\t\t// Ensure that input content is announced first to prevent system from interrupting this announcement\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\tmessage: searchAnnouncement,\n\t\t\t\t\t\ttype: 'polite',\n\t\t\t\t\t\treplaceContent: true\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_REFRESH]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tstate: {searchTerm, mode},\n\t\t\t\tproperties: {shortcutsFn, overridesFn}\n\t\t\t} = coeffects;\n\t\t\trefreshShortcuts({\n\t\t\t\tsearchTerm,\n\t\t\t\tshortcutsFn,\n\t\t\t\toverridesFn,\n\t\t\t\tupdateState,\n\t\t\t\tmode\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_SEARCH_TEXT_ENTERED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tstate: {globalShortcutItems},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {searchTerm}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\n\t\t\tif (searchTerm?.length > 1) {\n\t\t\t\tconst filteredList = executeFilter({\n\t\t\t\t\tmenu: {subItems: globalShortcutItems},\n\t\t\t\t\tsearchTerm: searchTerm,\n\t\t\t\t\tfilterMethod: HASANA_FILTER,\n\t\t\t\t\tignoreParentMatch: true,\n\t\t\t\t\tsortRecursively: true\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\tsearchTerm: searchTerm,\n\t\t\t\t\tfilteredShortcutItems: filteredList?.subItems ?? [],\n\t\t\t\t\tselectedShortcutSysId: '',\n\t\t\t\t\tsearchAnnouncement: getSearchAnnouncement(filteredList)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tsearchTerm: searchTerm,\n\t\t\t\t\tfilteredShortcutItems: clone(globalShortcutItems),\n\t\t\t\t\tsearchAnnouncement: t('All items shown')\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_RESET_DEFAULTS]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: {mode},\n\t\t\tproperties: {shortcutsFn, overridesFn}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowConfirmResetModal: false,\n\t\t\t\terror: null,\n\t\t\t\terrorDismissed: false\n\t\t\t});\n\t\t\trestoreDefaults()\n\t\t\t\t.then(() => {\n\t\t\t\t\trefreshShortcuts({shortcutsFn, overridesFn, updateState, mode});\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\terror: {\n\t\t\t\t\t\t\theader: ERROR_STRINGS[ERROR.RESET_DEFAULT].header,\n\t\t\t\t\t\t\tcontent: err?.message || err?.detail\n\t\t\t\t\t\t},\n\t\t\t\t\t\terrorDismissed: false,\n\t\t\t\t\t\tshowConfirmResetModal: false\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[INTERNAL_FOCUS_REQUESTED]: {\n\t\teffect: ({host}) => {\n\t\t\t// must focus the back button when navigating first element in the edit modal\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst nodes = getFocusableNodes(host);\n\t\t\t\thandleFocusFirstNode(nodes.tabbableNodes[1]);\n\t\t\t}, 10);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_SHORTCUT_REMAP]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {shortcutSysId}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tselectedShortcutSysId: shortcutSysId\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CANCEL]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tshowConfirmResetModal: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[KEYBOARD_SHORTCUTS_RESET_DEFAULTS_MODAL_CONFIRM]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tshowConfirmResetModal: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {value},\n\t\t\t\tmeta: {origin}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tstate: {showConfirmResetModal, selectedShortcutSysId},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst cancelledEdit = selectedShortcutSysId && origin === 'escape-key';\n\n\t\t\tif (showConfirmResetModal) {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowConfirmResetModal: false\n\t\t\t\t});\n\t\t\t} else if (!showConfirmResetModal && !value && !cancelledEdit) {\n\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_INPUT#INPUT']: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\n\t\t\tconst searchTerm = payload?.fieldValue || '';\n\t\t\tdispatch(KEYBOARD_SHORTCUTS_SEARCH_TEXT_ENTERED, {searchTerm});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_TEXT_LINK#CLICKED']: {\n\t\teffect: async ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: {shortcutsFn, overridesFn},\n\t\t\taction: {\n\t\t\t\tpayload: {link}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (link === 'remap') {\n\t\t\t\trefreshShortcuts({\n\t\t\t\t\tshortcutsFn,\n\t\t\t\t\toverridesFn,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tmode: MODE.EDIT\n\t\t\t\t});\n\t\t\t\tdispatch(INTERNAL_FOCUS_REQUESTED);\n\t\t\t}\n\n\t\t\tif (link === 'back-button') {\n\t\t\t\trefreshShortcuts({\n\t\t\t\t\tshortcutsFn,\n\t\t\t\t\toverridesFn,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tmode: MODE.VIEW\n\t\t\t\t});\n\t\t\t\tdispatch(INTERNAL_FOCUS_REQUESTED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_ALERT#ACTION_CLICKED']: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\terrorDismissed: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport view from './sn-keyboard-shortcuts-modal.view';\nimport {actionHandlers} from './sn-keyboard-shortcuts-modal.effects';\nimport styles from './sn-keyboard-shortcuts-modal.scss';\nimport {\n\tgetAllPrettifiedShortcuts,\n\tgetKeyboardShortcutOverrides\n} from '@servicenow/now-trigger-library';\nimport {createSearchableShortcutsByCategory} from './sn-keyboard-shortcuts-modal.utils';\nimport {MODE} from './constants';\n\nconst KEYBOARD_SHORTCUTS_MODAL = 'sn-keyboard-shortcuts-modal';\n\ncreateCustomElement(KEYBOARD_SHORTCUTS_MODAL, {\n\tview,\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\tshortcutsFn: {\n\t\t\tdefault: getAllPrettifiedShortcuts,\n\t\t\tschema: 'function'\n\t\t},\n\t\toverridesFn: {\n\t\t\tdefault: getKeyboardShortcutOverrides,\n\t\t\tschema: 'function'\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tselectable: true\n\t\t},\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tmode: {\n\t\t\tdefault: MODE.VIEW,\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\terror: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\terrorDismissed: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\thasOverrides: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tshowConfirmResetModal: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tselectedShortcutSysId: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tglobalShortcutItems: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tunstableParse: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tfilteredShortcutItems: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tunstableParse: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}],\n\tsetInitialState({properties: {shortcutsFn, overridesFn}}) {\n\t\tconst searchableShortcuts = createSearchableShortcutsByCategory(\n\t\t\tshortcutsFn(false)\n\t\t);\n\t\tconst hasOverrides = [...overridesFn()].length > 0;\n\n\t\treturn {\n\t\t\tmode: MODE.VIEW,\n\t\t\tglobalShortcutItems: searchableShortcuts,\n\t\t\tfilteredShortcutItems: searchableShortcuts,\n\t\t\thasOverrides: hasOverrides,\n\t\t\tsearchAnnouncement: ''\n\t\t};\n\t}\n});\n\nexport default KEYBOARD_SHORTCUTS_MODAL;\n","export const USER_SESSION_NOTIFICATION_REQUESTED =\n\t'USER_SESSION#NOTIFICATION_REQUESTED';\nexport const USER_NOTIFICATIONS_SUCCEEDED = 'USER_NOTIFICATIONS#SUCCEEDED';\nexport const USER_UI_NOTIFICATION_REQUESTED = 'USER_UI#NOTIFICATION_REQUESTED';\nexport const USER_UI_NOTIFICATION_CLEARED = 'USER_UI#NOTIFICATION_CLEARED';\n","export const BEHAVIOR_NAME = 'SN_POLARIS_APPSHELL_ROOT#';\n","import {BEHAVIOR_NAME} from './constants';\nexport const ADD_HISTORY_ENTRY = `${BEHAVIOR_NAME}ADD_HISTORY_ENTRY`;\nexport const HISTORY_UPDATE_REQUESTED = 'HISTORY_UPDATE_REQUESTED';\nexport const UPDATE_HISTORY = 'UPDATE_HISTORY';\nexport const PUSHED_NOW_UI_HISTORY = 'PUSHED_NOW_UI_HISTORY';\nexport const PUSHED_NOW_UI_HISTORY_SUCCESS = 'PUSHED_NOW_UI_HISTORY_SUCCESS';\nexport const PUSHED_NOW_UI_HISTORY_FAILURE = 'PUSHED_NOW_UI_HISTORY_FAILURE';\nexport const HISTORY_EVENT_FIRED_FROM_MAGELLAN =\n\t'HISTORY_EVENT_FIRED_FROM_MAGELLAN';\nexport const ADD_HISTORY_ENTRY_FOR_UI_PAGES = 'ADD_HISTORY_ENTRY_FOR_UI_PAGES';\nexport const HISTORY_COMMUNICATED_TO_SW = 'HISTORY_COMMUNICATED_TO_SW';\n","export const LEGACY_FORM_MODIFIED = 'LEGACY_FORM#MODIFIED';\nexport const LEGACY_FORM_SUBMITTED = 'LEGACY_FORM#SUBMITTED';\nexport const LEGACY_FORM_SUBMIT_ATTEMPTED = 'LEGACY_FORM#SUBMIT_ATTEMPTED';\nexport const LEGACY_FORM_BEFOREUNLOADED = 'LEGACY_FORM#BEFOREUNLOADED';\nexport const LEGACY_FORM_UNLOADED = 'LEGACY_FORM#UNLOADED';\n","export const INIT_GUIDED_TOURS = 'INIT_GUIDED_TOURS';\nexport const TOUR_MODAL_OPENED = 'TOUR#MODAL_OPENED';\nexport const TOUR_MODAL_CLOSED = 'TOUR#MODAL_CLOSED';\nexport const TOUR_BEGIN = 'TOUR#BEGIN';\n","import {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport {get, isNil, isEmpty, isEqual, intersection, debounce} from 'lodash';\nimport {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport cache, {setUserId, setLanguage} from '../../utils/cache';\nimport {\n\tMENU_ALL,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS,\n\tMAIN_NAV_HEIGHT,\n\tNOW_ASSIST_MENU_ID\n} from '../../constants';\nimport {OPEN_COLLAB_CHAT} from '../../behaviors/collab-chat-behavior/constants';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../../behaviors/user-notification-behavior/actions';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../behaviors/user-settings-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_EVENT_FIRED_FROM_MAGELLAN\n} from '../../behaviors/history-behavior/actions';\nimport {\n\tFAVORITE_ENTRY_ADDED,\n\tFAVORITE_REMOVE_SUCCEEDED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\nimport {TEST_USER_IMPERSONATED} from '../../behaviors/impersonation-behavior/actions';\nimport {ELEVATE_ROLES_REQUESTED} from '../../behaviors/elevate-role-behavior/actions';\nimport {\n\tLEGACY_FORM_MODIFIED,\n\tLEGACY_FORM_SUBMITTED,\n\tLEGACY_FORM_SUBMIT_ATTEMPTED\n} from '../../behaviors/dirty-form-behavior/actions';\nimport {\n\tAPPLICATION_CHANGE_REQUESTED,\n\tAPPLICATION_REFRESH_REQUESTED\n} from '../../behaviors/application-behavior/actions';\nimport {\n\tUPDATE_SET_CHANGE_REQUESTED,\n\tUPDATE_SET_REFRESH_REQUESTED\n} from '../../behaviors/update-set-behavior/actions';\nimport {MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport {DOMAIN_UPDATE_REQUESTED} from '../../behaviors/domain-behavior/actions';\nimport {\n\tTOUR_MODAL_OPENED,\n\tTOUR_MODAL_CLOSED\n} from '../../behaviors/guided-tours-behavior/constants';\n\nimport isATF from '../../utils/isATF';\nimport {resolveUserSession} from './utils/resolveUserSession';\nimport {getSelectedSearchContext} from '../../behaviors/search-behavior';\nimport {\n\tfeatureSettingsInit,\n\tgetFeatureSettings\n} from '../../utils/featureSettingsSingleton';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {OPEN_UTILITY_MENU} from './actions';\n\nexport const handleUINotification = (dispatch, data) => {\n\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\tmessage: {\n\t\t\ttype: data.type || data.getType(),\n\t\t\ttext: data.text || data.getText(),\n\t\t\tduration: data.duration || data.getDuration()\n\t\t}\n\t});\n};\n\nexport const customEvents = {\n\t'magellanNavigator.permalink.set': (dispatch, data) => {\n\t\tconst {title, relativePath} = data;\n\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: title,\n\t\t\turl: relativePath\n\t\t});\n\n\t\tdispatch(RECENT_IFRAME_TITLE_UPDATED, {\n\t\t\tlabel: title\n\t\t});\n\t},\n\t'magellanNavigator.historyAdded': (dispatch, data) => {\n\t\t//update the state to check history event triggered.\n\t\tdispatch(HISTORY_EVENT_FIRED_FROM_MAGELLAN);\n\t\tdispatch(ADD_HISTORY_ENTRY, data.history);\n\t},\n\t'magellanNavigator:favoriteSaved': (dispatch, data) => {\n\t\tdispatch(FAVORITE_ENTRY_ADDED, {\n\t\t\tfavoriteResponse: data,\n\t\t\tupdateSelectedContentFavorite: true\n\t\t});\n\t},\n\t'magellanNavigator:favoriteRemoved': (dispatch, data) => {\n\t\tdispatch(\n\t\t\tFAVORITE_REMOVE_SUCCEEDED,\n\t\t\t{},\n\t\t\t{\n\t\t\t\tremovedFavorites: [{id: data}]\n\t\t\t}\n\t\t);\n\t},\n\t'polaris:legacy.createFavorite': (dispatch, data) => {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\t\t...data,\n\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\tinitialName: data.title,\n\t\t\t\t\tfromExperienceTitle: true\n\t\t\t\t}\n\t\t\t});\n\t\t}, 50);\n\t},\n\t'form.isModified': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_MODIFIED, data);\n\t},\n\t'gsft.formSubmit': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_SUBMITTED, data);\n\t},\n\t'glideform.submit_attempted': (dispatch) => {\n\t\tdispatch(LEGACY_FORM_SUBMIT_ATTEMPTED);\n\t},\n\t'back.gsftSubmit': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_SUBMITTED, data);\n\t},\n\t'glide:form_submitted': (dispatch) => {\n\t\tdispatch(LEGACY_FORM_SUBMIT_ATTEMPTED);\n\t},\n\t'sn:impersonate': (dispatch, data) => {\n\t\tdispatch(TEST_USER_IMPERSONATED, {sysId: data});\n\t},\n\t'sn:elevate_roles': (dispatch, data) => {\n\t\tdispatch(ELEVATE_ROLES_REQUESTED, {\n\t\t\tdata: {\n\t\t\t\troles: data\n\t\t\t}\n\t\t});\n\t},\n\t'sn:change_application': (dispatch, data) => {\n\t\tdispatch(APPLICATION_CHANGE_REQUESTED, {data: {app_id: data}});\n\t},\n\t'sn:change_update_set': (dispatch, data) => {\n\t\tdispatch(UPDATE_SET_CHANGE_REQUESTED, {data: {sysId: data}});\n\t},\n\t'sn:refresh_update_set': (dispatch) => {\n\t\tdispatch(UPDATE_SET_REFRESH_REQUESTED);\n\t},\n\t'sn:refresh_application_picker': (dispatch) => {\n\t\tdispatch(APPLICATION_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.application_change': (dispatch) => {\n\t\tdispatch(APPLICATION_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.update_set_change': debounce((dispatch) => {\n\t\tdispatch(UPDATE_SET_REFRESH_REQUESTED, {}, {setNotification: true});\n\t}, 100),\n\t'glide:ui_notification.error': handleUINotification,\n\t'glide:ui_notification.info': handleUINotification,\n\t'glide:ui_notification.system': handleUINotification,\n\t'glide:ui_notification_preferences': (dispatch) => {\n\t\tdispatch(NAV_ITEM_SELECTED, {route: 'home', context: POLARIS_CONTEXT});\n\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {\n\t\t\tinitialTab: 'notifications'\n\t\t});\n\t},\n\t'navigator.refresh': (dispatch) => {\n\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.system_event': (dispatch, data) => {\n\t\tif (data?.xml?.getAttribute('data-attr-event') === 'refresh_nav') {\n\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t\t}\n\t},\n\topenframe_request: (dispatch, data) => {\n\t\tdispatch('RECORD#OPEN_CALL', {\n\t\t\tparams: {\n\t\t\t\tsource: 'form_field_ui16'\n\t\t\t},\n\t\t\tcallPayload: data\n\t\t});\n\t},\n\t'record.domain': (dispatch, data) => {\n\t\tdispatch(DOMAIN_UPDATE_REQUESTED, data);\n\t},\n\t'collab:open_collab_chat': (dispatch, data) => {\n\t\tdispatch(OPEN_COLLAB_CHAT, {fields: data.payload});\n\t},\n\t'tour:modal_opened': (dispatch, data) => {\n\t\tdispatch(TOUR_MODAL_OPENED, data);\n\t},\n\t'tour:modal_closed': (dispatch) => {\n\t\tdispatch(TOUR_MODAL_CLOSED);\n\t},\n\t'tour:tour_start': (dispatch, data) => {\n\t\tif (document.querySelectorAll('#tours-css').length === 0) {\n\t\t\tconst buildDate = getProperty(SYS_PROPS.BUILD_DATE);\n\n\t\t\tconst depCSS = document.createElement('link');\n\t\t\tdepCSS.id = 'tours-css';\n\t\t\tdepCSS.href = `/polaris-guided-tours-dependency.css?v=${buildDate}`;\n\t\t\tdepCSS.rel = 'stylesheet';\n\t\t\tdocument.head.appendChild(depCSS);\n\t\t}\n\n\t\tdispatch('SN_HELP_PANEL#TOUR_STARTED', data);\n\t},\n\t'tour:tour_end': (dispatch) => {\n\t\tdispatch('SN_HELP_PANEL#TOUR_ENDED');\n\t},\n\t'tour:step_rendered': (dispatch, data) => {\n\t\tdispatch('SN_HELP_PANEL#TOUR_STEP_RENDERED', data);\n\t},\n\t'embedded_help:load_embedded_help': (dispatch, data) => {\n\t\tdispatch('SN_HELP_PANEL#OPEN_DOCUMENT', data);\n\t},\n\t'nowassist:open_utility_menu': (dispatch, data) => {\n\t\tdispatch(OPEN_UTILITY_MENU, {\n\t\t\tid: data?.id || NOW_ASSIST_MENU_ID,\n\t\t\tpin: data?.pin || false,\n\t\t\tadditionalData: data?.additionalData\n\t\t});\n\t}\n};\n\nexport const setInitialState = ({\n\tselectedContent,\n\tuserMeta,\n\tuserPreferences,\n\tuserSession\n}) => {\n\tconst {sys_id} = userMeta;\n\n\t// Need to grab the existing preferences from the macroponent in case the userPrefs\n\t// that are grabbed from the canvas layout are not updated in time for the setInitialState call\n\tif (\n\t\t!getBooleanProperty('glide.uxf.js_server.onDemand', true) ||\n\t\tisEmpty(userPreferences)\n\t) {\n\t\tuserSession = resolveUserSession();\n\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t}\n\n\tsetLanguage(userSession?.user?.language);\n\tsetUserId(sys_id || userSession?.user?.sys_id);\n\tfeatureSettingsInit({}, userPreferences);\n\n\tconst windowWidth = Math.round(window.innerWidth);\n\n\tlet mainMenuPinnedId = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(userPreferences, PREFERENCES.MAIN_MENU_PINNED_ID)\n\t\t: null;\n\n\tlet contextualMenuPinnedId = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(userPreferences, PREFERENCES.CONTEXTUAL_MENU_PINNED_ID)\n\t\t: null;\n\n\tlet contextualMenuWideMenus = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.CONTEXTUAL_MENU_WIDE_MENUS,\n\t\t\t\t[]\n\t\t  )\n\t\t: [];\n\n\tif (mainMenuPinnedId === 'null' || mainMenuPinnedId === '') {\n\t\tmainMenuPinnedId = null;\n\t}\n\n\tif (contextualMenuPinnedId === 'null' || contextualMenuPinnedId === '') {\n\t\tcontextualMenuPinnedId = null;\n\t}\n\n\t// contextualMenuWideMenus will likely be a string so parse it back into an array\n\tif (typeof contextualMenuWideMenus === 'string') {\n\t\tcontextualMenuWideMenus = JSON.parse(contextualMenuWideMenus);\n\t}\n\n\tconst showHiddenControlsPref = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.SHOW_HIDDEN_CONTROLS,\n\t\tfalse\n\t);\n\n\t// pin the all menu when ATF page is loading this\n\tif (isATF()) {\n\t\tmainMenuPinnedId = MENU_ALL;\n\t}\n\n\tconst isCollabChatEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.COLLAB_CHAT_ENABLED, false) &&\n\t\tgetFeatureSettings().isPolarisEnabled;\n\n\tconst isHelpAssistantEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.HELP_ASSISTANT_ENABLED || 'com.glide.dynamic_guidance.enabled',\n\t\tfalse\n\t);\n\n\t// Load menu from storage if exists only if roles are the same\n\tlet previousHeaderMenuItems;\n\tconst userRolesCount = userSession?.user?.roles?.length;\n\tconst previousUserRolesCount = cache.get('userRolesCount');\n\tif (userRolesCount && !isEqual(previousUserRolesCount, userRolesCount)) {\n\t\tcache.set('userRolesCount', userRolesCount, {\n\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t});\n\t\tcache.remove('headerMenuItems');\n\t\tcache.remove('flushstamp');\n\t} else {\n\t\t// if roles are the same in cache as they are in session, its safe to grab menu items\n\t\tpreviousHeaderMenuItems = cache.get('headerMenuItems');\n\t}\n\n\tconst isTouchDevice = () => {\n\t\treturn (\n\t\t\t'ontouchstart' in window ||\n\t\t\tnavigator.maxTouchPoints > 0 ||\n\t\t\tnavigator.msMaxTouchPoints > 0\n\t\t);\n\t};\n\n\tconst selectedSearchContext = getSelectedSearchContext({\n\t\tselectedContent,\n\t\tisLoggedIn: userSession?.isLoggedIn\n\t});\n\n\t// On initial loading, check if any picker preference is truthy.\n\tconst showUtilityBarOnInitialLoad =\n\t\t!getBooleanPropertyWhenPolarisEnabled(\n\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\ttrue\n\t\t) &&\n\t\t(getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.DOMAIN_PICKER_SHOWN,\n\t\t\tfalse\n\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.APPLICATION_PICKER_SHOWN,\n\t\t\t\tfalse\n\t\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.UPDATE_SET_SHOWN,\n\t\t\t\tfalse\n\t\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.ENCRYPTION_SHOWN,\n\t\t\t\tfalse\n\t\t\t));\n\n\tconst isProductFeedbackEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.PRODUCT_FEEDBACK_FORM_ENABLED, true) &&\n\t\tgetBooleanProperty(SYS_PROPS.UI.UXF_METRICS_ENABLED, true) &&\n\t\tgetFeatureSettings().isPolarisEnabled;\n\n\treturn {\n\t\tshouldComponentRender: process.env.NODE_ENV === 'development',\n\t\tlastNowUiPageVisited: '',\n\t\tisNotificationsEnabled:\n\t\t\tgetFeatureSettings().isNotificationEnabled &&\n\t\t\tuserSession &&\n\t\t\tuserSession.isLoggedIn,\n\t\tisCollabChatEnabled,\n\t\tisUsageAnalyticsEnabled: false,\n\t\tlogoutConfirmationOpened: false,\n\t\tpageTitle: null,\n\t\tdirtyWorkspaces: [],\n\t\trecentIframeTitle: null,\n\t\tanimationsEnabled: true,\n\t\tfavoriteModalProps: null,\n\t\tmenuWidth: 0,\n\t\twideMenuWidth: 0,\n\t\tannounceImpersonationStatus: null,\n\t\tmainMenuState: {\n\t\t\tisMenuPinned: !isNil(mainMenuPinnedId),\n\t\t\tprimaryMenuId: mainMenuPinnedId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tpinnedMenuId: !isNil(mainMenuPinnedId) ? mainMenuPinnedId : null,\n\t\t\tcanBePinned: windowWidth >= REFLOW_BREAKPOINTS.MAIN_MENU_PIN_BREAKPOINT,\n\t\t\tclosedByKeyboard: false,\n\t\t\tisPinnedWindow: false\n\t\t},\n\t\tshowUtilityBar: showUtilityBarOnInitialLoad,\n\t\tcontextualMenuState: {\n\t\t\tisMenuPinned: !isNil(contextualMenuPinnedId),\n\t\t\tprimaryMenuId: contextualMenuPinnedId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tpinnedMenuId: !isNil(contextualMenuPinnedId)\n\t\t\t\t? contextualMenuPinnedId\n\t\t\t\t: null,\n\t\t\tcanBePinned:\n\t\t\t\twindowWidth >= REFLOW_BREAKPOINTS.CONTEXTUAL_MENU_PIN_BREAKPOINT,\n\t\t\tclosedByKeyboard: false,\n\t\t\tpinnedMenuWidth: 0,\n\t\t\tisCollabChatSearchEnabled: false,\n\t\t\tcommand: null,\n\t\t\thasBeenOpened: [],\n\t\t\tisBarOpen: showUtilityBarOnInitialLoad,\n\t\t\tutilityBarVisible: true,\n\t\t\tisPinnedWindow: false\n\t\t},\n\t\tcontextualMenu: {\n\t\t\tshowMenu: false,\n\t\t\tmenuType: null,\n\t\t\tbuttonRef: null, // Not being used anywhere; can we remove?\n\t\t\tmenuData: null,\n\t\t\tnotificationData: [],\n\t\t\tinstanceName: null,\n\t\t\tdrilledMenu: null,\n\t\t\tpreviousDrilledMenu: null,\n\t\t\toverflowMenuItems: [],\n\t\t\toverflowBadgeCount: 0,\n\t\t\tutilityBarVisible: true\n\t\t},\n\t\tnowAssistMenuBadgeCount: 0,\n\t\tsearchComponentLoadRequested: false,\n\t\tavailableDomains: {},\n\t\theaderMenuItems: previousHeaderMenuItems,\n\t\toverflowMenuDrilldown: null,\n\t\topenChat: {},\n\t\tfloatingContainerSize: 0,\n\t\topenFrameTagLoaded: false,\n\t\topenFrameConfig: {},\n\t\topenFrame: {\n\t\t\tshowIcon: false,\n\t\t\tshowPanel: false,\n\t\t\tid: 'cti',\n\t\t\ticon: 'phone-outline',\n\t\t\ticonSelected: false,\n\t\t\tstatus: null,\n\t\t\tbadge: 0,\n\t\t\tctiRef: null,\n\t\t\tmaxAllowedSize: {\n\t\t\t\twidth: Number.MAX_VALUE,\n\t\t\t\theight: Number.MAX_VALUE\n\t\t\t}\n\t\t},\n\t\tmainContentLoading: true,\n\t\tactiveModal: '',\n\t\thelpPanelAppContext: {\n\t\t\tappContext: null,\n\t\t\tshowHelpPanel: contextualMenuPinnedId === 'helpMenu' ? true : false\n\t\t},\n\t\thelpAssistantEnabled: isHelpAssistantEnabled,\n\t\tsearchRouteMap: null,\n\t\tisHistoryEventFired: null,\n\t\tisFetchingUnreadCount: false,\n\t\tcollabChatState: {\n\t\t\tshowCreateCollabChatModal: false,\n\t\t\tparentTable: null,\n\t\t\tparentSysId: null,\n\t\t\tcollabChatLoaded: false,\n\t\t\tconfig: {}\n\t\t},\n\t\tisTouchDevice: isTouchDevice(),\n\t\tuiNotificationsMeta: {\n\t\t\tqueue: [],\n\t\t\tdeleteQueue: [],\n\t\t\toffset: 0,\n\t\t\ttotalRowCount: 0\n\t\t},\n\t\tshowHiddenControls: showHiddenControlsPref,\n\t\tselectedSearchContext,\n\t\tfeedbackFormEnabled: isProductFeedbackEnabled,\n\t\tcurrentTooltip: {ref: null, content: '', opened: false, location: []},\n\t\tnapShortcutCommand: {},\n\t\twideMenus: contextualMenuWideMenus\n\t};\n};\n\nexport const getImpersonationMessage = ({\n\tisMainContentReady,\n\tannounceImpersonationStatus,\n\tuserMeta\n}) => {\n\tif (!isMainContentReady && !userMeta?.fullName) {\n\t\treturn null;\n\t}\n\n\tlet impersonationMessage = null;\n\tif (announceImpersonationStatus === 'start') {\n\t\timpersonationMessage = t('Impersonating user {0}', userMeta.fullName);\n\t} else if (announceImpersonationStatus === 'end') {\n\t\timpersonationMessage = t('Impersonation ended');\n\t}\n\n\treturn impersonationMessage;\n};\n\nexport const showSearch = (userRoles) => {\n\tconst searchRoles =\n\t\tgetProperty(SYS_PROPS.UI.GLOBAL_SEARCH_ROLES)?.toLowerCase() || '';\n\tif (isEmpty(searchRoles)) {\n\t\treturn true;\n\t}\n\tconst searchRolesTrimSpaces = searchRoles.split(',').map((str) => str.trim());\n\treturn intersection(userRoles, searchRolesTrimSpaces).length > 0;\n};\n\nexport const getLayoutHeight = ({windowSize, asideHeight}, nav = navigator) => {\n\tlet layoutHeight;\n\n\t// safari does not redraw divs with 100vh properly on window resize (DEF0305700) so we need to update the div with a fixed height on resize\n\t// this ends up causing firefox to sometimes add an extra pixel to the div due to fractional pixels which causes an extra scrollbar to\n\t// be added to the page with a scroll of 1px (DEF0357796).\n\t// Due to this we want to make sure we only update safari with fixed heights and use 100vh for everything else.\n\tlet windowHeight = '100vh';\n\tif (\n\t\tnav.userAgent.indexOf('Safari') > -1 &&\n\t\tnav.userAgent.indexOf('Chrome') === -1\n\t) {\n\t\twindowHeight = windowSize?.height + 'px' || '100vh';\n\t}\n\n\tif (windowSize && windowSize.width <= REFLOW_BREAKPOINTS.MINIMUM_WIDTH) {\n\t\tlayoutHeight = `calc(100vh + ${MAIN_NAV_HEIGHT}px + ${asideHeight}px)`;\n\t} else {\n\t\tlayoutHeight = windowHeight;\n\t}\n\n\treturn layoutHeight;\n};\n","import {TOAST_INITIAL_TIMEOUT, TOAST_AFTER_FOCUS_TIMEOUT} from './constants';\n\nconst getToastInitialTimeout = () => TOAST_INITIAL_TIMEOUT;\nconst getToastAfterFocusTimeout = () => TOAST_AFTER_FOCUS_TIMEOUT;\n\n/**\n * Sorts tab IDs to determine notification priority.\n * Prioritizes tabs with the specified feature first, then sorts by newest tab ID first.\n * @param {string[]} tabIds - Array of tab IDs to sort\n * @param {string} feature - The feature name to prioritize (e.g., 'inbox')\n * @returns {string[]} Sorted array of tab IDs\n */\nconst CLEANUP_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes\n\n/**\n * Removes entries from the notification map whose timestamp is 5+ minutes old.\n * @param {Map} map - The notification map to clean up\n */\nconst cleanupExpiredEntries = (map) => {\n\tconst now = Date.now();\n\tfor (const [key, value] of map) {\n\t\tif (now - value.timestamp >= CLEANUP_INTERVAL_MS) {\n\t\t\tmap.delete(key);\n\t\t}\n\t}\n};\n\nconst sortTabIdsByPriority = (tabIds, feature) => {\n\treturn tabIds.sort((a, b) => {\n\t\tconst aHasFeature = a.includes(`---${feature}`);\n\t\tconst bHasFeature = b.includes(`---${feature}`);\n\n\t\t// If one has the feature and the other doesn't, feature comes first\n\t\tif (aHasFeature && !bHasFeature) return -1;\n\t\tif (!aHasFeature && bHasFeature) return 1;\n\n\t\t// If both have the feature or both don't, sort by newest first\n\t\treturn b.localeCompare(a);\n\t});\n};\n\nexport default {\n\tCLEANUP_INTERVAL_MS,\n\tgetToastInitialTimeout,\n\tgetToastAfterFocusTimeout,\n\tcleanupExpiredEntries,\n\tsortTabIdsByPriority\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {get, isEmpty} from 'lodash';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-tooltip';\nimport {LogoutConfirmation} from './logout-confirmation';\nimport {FavoriteDeleteModal} from '../favorite-delete-modal';\nimport {ScriptDebuggerConfirmation} from './script-debugger-modal';\nimport {DirtyFormConfirmation} from './dirty-form-modal';\nimport {UserSessionNotification} from './user-session-notification';\nimport {UserUINotification} from './user-ui-notification';\nimport {MessageStackServiceNotification} from './message-stack-service-notification';\nimport {PrinterConfirmationModal} from './printer-confirmation-modal';\nimport {GuidedToursModal} from './guided-tours-modal';\nimport {AIEL_UNAVAILABLE_MODAL_DISMISSED} from '../../behaviors/now-assist-behavior/constants';\nimport '@servicenow/now-modal';\nimport {\n\tCLASSIC,\n\tSYS_PROPS,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS\n} from '../../constants';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty, PREFERENCES} from '@devsnc/unav-utils';\nimport {normalizeDirtyWorkspaces} from '../../behaviors/menu-modifier-behavior/util';\nimport {STATE_PATH_IS_ENABLED} from '../../behaviors/is-inbox-enabled-behavior/constants';\nimport {ARIA_LIVE_STATE_PATH} from '../../behaviors/aria-live-messages-behavior/constants';\n\nimport {\n\tNOTIFICATION_CURRENT_SYSID_PATH,\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATION_UNREAD_STATE_PATH\n} from '../../behaviors/notification-behavior/constants';\nimport '../sn-polaris-header';\nimport {FavoritePopup} from '../favorite-popup/FavoritePopup';\nimport {UtilityBar} from './utility-bar';\n\nimport isATF from '../../utils/isATF';\nimport {resolveLoadingDisplayValues} from '../../behaviors/main-content-loading-behavior';\nimport {t} from 'sn-translate';\nimport {\n\tSKIP_LINK_FOCUSED,\n\tSKIP_LINKS_FOCUSED_IN,\n\tSKIP_LINKS_FOCUSED_OUT\n} from '../../behaviors/skip-links-behavior/actions';\nimport {ASIDE_RESIZED} from '../../behaviors/aside-behavior/actions';\nimport getPreferenceValue from '../../utils/getPreferenceValue';\nimport {FLOATING_CONTAINER_RESIZED} from '../../behaviors/collab-chat-behavior/constants';\nimport './sn-keyboard-shortcuts-modal';\nimport {\n\tgetImpersonationMessage,\n\tgetLayoutHeight,\n\tshowSearch\n} from './sn-polaris-layout.utils';\nimport util from '../../behaviors/notification-behavior/util';\n\nlet boundaryElement;\n\nconst LoadingIndicator = ({visible}) => (\n\t<div\n\t\tclass={{\n\t\t\t'main-content-loader': true,\n\t\t\tvisible\n\t\t}}>\n\t\t<now-loader label=\"\" size=\"lg\" action=\"\" />\n\t<\/div>\n);\n\nconst AnnouncementsBanner = ({isMainContentReady}) => {\n\treturn !getProperty(SYS_PROPS.UI.DISABLE_ANNOUNCEMENT_BANNER) &&\n\t\tisMainContentReady &&\n\t\timport('@servicenow/sn-banner-announcement') ? (\n\t\t<sn-banner-announcement-list\n\t\t\tconfigId={\n\t\t\t\tgetProperty(SYS_PROPS.UI.ANNOUNCEMENT_BANNER_CONFIG_ID) ||\n\t\t\t\t'36aefd8153223010f296ddeeff7b12e9'\n\t\t\t}\n\t\t/>\n\t) : null;\n};\n\nconst SkipLinksBar = ({\n\tskipLinksVisible,\n\tdispatch,\n\topenFrameConfig,\n\topenFrame\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'skip-links-bar': true,\n\t\t\t\tvisible: skipLinksVisible,\n\t\t\t\t'can-animate': true\n\t\t\t}}\n\t\t\trole=\"navigation\"\n\t\t\taria-label={t('Global skip links')}\n\t\t\ton-focusin={() => dispatch(SKIP_LINKS_FOCUSED_IN)}\n\t\t\ton-focusout={() => dispatch(SKIP_LINKS_FOCUSED_OUT)}>\n\t\t\t<now-text-link\n\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\tclassName=\"skip-link\"\n\t\t\t\tlabel={t('Skip to main content')}\n\t\t\t\tunderlined\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tlink: {'aria-label': t('Skip to main content')}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{link: 'main-content'}}\n\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'main-content'})}\n\t\t\t/>\n\t\t\t<now-text-link\n\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\tclassName=\"skip-link\"\n\t\t\t\tlabel={t('Open accessibility preferences')}\n\t\t\t\tunderlined\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tlink: {'aria-label': t('Open accessibility preferences')}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{link: 'a11y'}}\n\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'a11y'})}\n\t\t\t/>\n\t\t\t{openFrame?.showIcon ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\tclassName=\"skip-link\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\topenFrameConfig?.AppOpenframe_Query?.config?.title || t('Phone')\n\t\t\t\t\t}\n\t\t\t\t\tunderlined\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\topenFrameConfig?.AppOpenframe_Query?.config?.title || t('Phone')\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{link: 'openframe'}}\n\t\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'openframe'})}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default (\n\t{\n\t\tfavoriteDeletePayload,\n\t\tlogoutConfirmationOpened,\n\t\tnowAssistUnavailableModalOpened,\n\t\tuserSessionNotifications,\n\t\tuserUINotifications,\n\t\tmessageStackAlerts,\n\t\tstartDebuggingConfirmationOpened,\n\t\tdirtyFormConfirmationPayload,\n\t\tprinterConfirmationModalProps,\n\t\tpageTitle,\n\t\tannounceImpersonationStatus,\n\t\trequestToCloseModals,\n\t\tenabledPlugins,\n\t\tproperties: {\n\t\t\theaderLogoTarget,\n\t\t\theaderConfig,\n\t\t\tuserPreferences,\n\t\t\tselectedContent,\n\t\t\tuserMeta,\n\t\t\tdir,\n\t\t\tfeatures: {isPolarisEnabled, isPrintingEnabled, isMenuEnabled},\n\t\t\tuserSession,\n\t\t\twindowSize,\n\t\t\tuserSettingsAccess,\n\t\t\tcoreUILogoSrc,\n\t\t\tshortcutsFn,\n\t\t\toverridesFn,\n\t\t\tpolarisSearchContexts\n\t\t},\n\t\tanimationsEnabled,\n\t\tfavoriteModalProps,\n\t\tshowPrint,\n\t\tguidedToursPrompt,\n\t\tguidedTour,\n\t\timpersonationOpen,\n\t\tendImpersonation,\n\t\televateRoleOpen,\n\t\tmenuWidth,\n\t\tmainMenuState,\n\t\tcontextualMenu,\n\t\tcontextualMenuState,\n\t\tselectedContentFavorite,\n\t\tselectedSearchContext,\n\t\tisNotificationsEnabled,\n\t\tavailableDomains,\n\t\theaderMenuItems,\n\t\toverflowMenuDrilldown,\n\t\tavailableApplications,\n\t\tdirtyWorkspaces,\n\t\tavailableUpdateSets,\n\t\tavailableEncryptionContexts,\n\t\tisCollabChatEnabled,\n\t\tisUsageAnalyticsEnabled,\n\t\tapplicationId,\n\t\tisNowAssistEnabled,\n\t\tnapShortcutCommand,\n\t\topenChat,\n\t\tfloatingContainerSize,\n\t\topenFrame,\n\t\topenFrameTagLoaded,\n\t\topenFrameConfig,\n\t\tavailableElevatedRoles,\n\t\tmainContentLoading,\n\t\tguidedToursLoaded,\n\t\tseismicContentLoaded,\n\t\tactiveContent,\n\t\tactiveModal,\n\t\tsettingOpened,\n\t\tskipLinksVisible,\n\t\tscreenContentLinks,\n\t\thelpPanelAppContext,\n\t\thelpAssistantEnabled,\n\t\tinitialMainContentReady,\n\t\tisFetchingUnreadCount,\n\t\tcollabChatState,\n\t\tshouldComponentRender,\n\t\tisTouchDevice,\n\t\tfavoritePopupPayload,\n\t\tpopupRef,\n\t\ttempFavoriteStarFill,\n\t\tisSyncingFavorites,\n\t\tshowHiddenControls,\n\t\tshowUtilityBar,\n\t\tfeedbackFormEnabled,\n\t\tshowFeedbackForm,\n\t\tisLoadingMenu,\n\t\tcurrentTooltip,\n\t\tasideHeight,\n\t\tconcoursePickerConfig,\n\t\tkeyboardShortcutsModalOpened,\n\t\tnowAssistMenuBadgeCount,\n\t\tbypassExperienceTitle,\n\t\twideMenus,\n\t\tisAIELEnabled,\n\t\tuserPrefsMap,\n\t\t...restOfState\n\t},\n\t{dispatch}\n) => {\n\tconst logoSrc = get(coreUILogoSrc, 'imgSrc', null);\n\tconst displayTransactionStatusMessage = getBooleanProperty(\n\t\tSYS_PROPS.TRANSACTION_STATUS_MESSAGE_ACTIVE,\n\t\tfalse\n\t);\n\n\tconst transactionStatusMessageDelayTime =\n\t\tgetProperty(SYS_PROPS.TRANSACTION_STATUS_MESSAGE_DELAY_TIME, 15) * 1000;\n\n\tconst printerFriendlyEnabled =\n\t\tselectedContent?.route === CLASSIC && isPrintingEnabled && showPrint;\n\n\tconst menuItems = isMenuEnabled\n\t\t? normalizeDirtyWorkspaces(headerMenuItems, dirtyWorkspaces)\n\t\t: [];\n\tconst notifications = get(restOfState, NOTIFICATION_STATE_PATH, []);\n\tconst unreadNotificationCount = get(\n\t\trestOfState,\n\t\tNOTIFICATION_UNREAD_STATE_PATH,\n\t\t0\n\t);\n\tconst currentNotificationSysId = get(\n\t\trestOfState,\n\t\tNOTIFICATION_CURRENT_SYSID_PATH,\n\t\t'none'\n\t);\n\tconst alertingNotifications = notifications.filter(\n\t\t({sysId}) => sysId === currentNotificationSysId\n\t);\n\tconst {main: mainDisplay, indicatorVisible} = resolveLoadingDisplayValues(\n\t\tactiveContent,\n\t\tmainContentLoading\n\t);\n\tconst isFavoriteModalOpen = !isEmpty(favoriteModalProps);\n\n\tconst toggleGlobalSearch = getBooleanProperty(\n\t\tSYS_PROPS.UI.POLARIS_GLOBAL_SEARCH,\n\t\ttrue\n\t);\n\n\tconst notificationLocation = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t'top-end'\n\t);\n\n\tconst helpAssistantActiveAndEnabled =\n\t\thelpAssistantEnabled &&\n\t\tuserMeta.roles?.indexOf('sn_dyn_guidance_user') > -1 &&\n\t\t(enabledPlugins ?? []).find(\n\t\t\t(plugin) =>\n\t\t\t\tplugin?.id === 'com.sn_help_assistant' && plugin?.active === true\n\t\t);\n\n\tconst globalSearchEnabled =\n\t\tisPolarisEnabled && showSearch(userMeta.roles) && toggleGlobalSearch;\n\n\tconst ariaLiveMessages = get(restOfState, ARIA_LIVE_STATE_PATH, []);\n\n\tlet asideResizeObserver;\n\tlet floatingContainerResizeObserver;\n\tconst layoutHeight = getLayoutHeight({windowSize, asideHeight});\n\n\tconst reversed = dir === 'rtl';\n\tconst rightOffset =\n\t\t!reversed &&\n\t\tcontextualMenuState.isMenuPinned &&\n\t\tcontextualMenuState.canBePinned\n\t\t\t? contextualMenuState.pinnedMenuWidth\n\t\t\t: reversed && mainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t? menuWidth\n\t\t\t: 0;\n\tconst leftOffset =\n\t\treversed &&\n\t\tcontextualMenuState.isMenuPinned &&\n\t\tcontextualMenuState.canBePinned\n\t\t\t? contextualMenuState.pinnedMenuWidth\n\t\t\t: !reversed && mainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t? menuWidth\n\t\t\t: 0;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-relevant=\"all\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tclassName=\"now-a11y-label\">\n\t\t\t\t{getImpersonationMessage({\n\t\t\t\t\tisMainContentReady: initialMainContentReady,\n\t\t\t\t\tannounceImpersonationStatus,\n\t\t\t\t\tuserMeta\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tstyle={{height: `${layoutHeight}`}}\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-layout': true,\n\t\t\t\t\t'is-atf': isATF(),\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"layout-aside\"\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tasideResizeObserver = new ResizeObserver((elm) => {\n\t\t\t\t\t\t\tdispatch(ASIDE_RESIZED, elm);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tasideResizeObserver.observe(elm);\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tif (asideResizeObserver) asideResizeObserver.unobserve(elm);\n\n\t\t\t\t\t\tasideResizeObserver = null;\n\t\t\t\t\t}}>\n\t\t\t\t\t<SkipLinksBar\n\t\t\t\t\t\tskipLinksVisible={skipLinksVisible}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\topenFrameConfig={openFrameConfig}\n\t\t\t\t\t\topenFrame={openFrame}\n\t\t\t\t\t/>\n\t\t\t\t\t<AnnouncementsBanner isMainContentReady={initialMainContentReady} />\n\t\t\t\t\t<div aria-live=\"polite\" aria-atomic=\"true\" className=\"now-a11y-label\">\n\t\t\t\t\t\t{ariaLiveMessages?.length > 0\n\t\t\t\t\t\t\t? ariaLiveMessages.map((m) => <div>{m}<\/div>)\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"layout-main\">\n\t\t\t\t\t{window === window.top || isPolarisEnabled ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div className=\"header-bar\">\n\t\t\t\t\t\t\t\t<sn-polaris-header\n\t\t\t\t\t\t\t\t\tis-loading-menu={isLoadingMenu}\n\t\t\t\t\t\t\t\t\tshould-component-render={shouldComponentRender}\n\t\t\t\t\t\t\t\t\tis-notifications-enabled={isNotificationsEnabled}\n\t\t\t\t\t\t\t\t\tis-collab-chat-enabled={isCollabChatEnabled}\n\t\t\t\t\t\t\t\t\tis-usage-analytics-enabled={isUsageAnalyticsEnabled}\n\t\t\t\t\t\t\t\t\tapplication-id={applicationId}\n\t\t\t\t\t\t\t\t\tshow-now-assist-menu={isNowAssistEnabled}\n\t\t\t\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t\t\t\tpage-title={pageTitle}\n\t\t\t\t\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\t\toverflowMenuDrilldown={overflowMenuDrilldown}\n\t\t\t\t\t\t\t\t\tuser-preferences={userPreferences}\n\t\t\t\t\t\t\t\t\tselected-content={selectedContent}\n\t\t\t\t\t\t\t\t\tuser-meta={userMeta}\n\t\t\t\t\t\t\t\t\tuser-session={userSession}\n\t\t\t\t\t\t\t\t\tmenu-width={menuWidth}\n\t\t\t\t\t\t\t\t\tmain-menu-state={mainMenuState}\n\t\t\t\t\t\t\t\t\tanimations-enabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\theader-config={headerConfig}\n\t\t\t\t\t\t\t\t\tprinter-friendly-enabled={printerFriendlyEnabled}\n\t\t\t\t\t\t\t\t\tavailable-elevated-roles={availableElevatedRoles}\n\t\t\t\t\t\t\t\t\tcontextual-menu={contextualMenu}\n\t\t\t\t\t\t\t\t\tcontextual-menu-state={contextualMenuState}\n\t\t\t\t\t\t\t\t\tisInboxEnabled={get(\n\t\t\t\t\t\t\t\t\t\trestOfState,\n\t\t\t\t\t\t\t\t\t\tSTATE_PATH_IS_ENABLED,\n\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\thasDirtyWorkspaces={dirtyWorkspaces.length > 0}\n\t\t\t\t\t\t\t\t\tselected-content-favorite={selectedContentFavorite}\n\t\t\t\t\t\t\t\t\tavailable-encryption-contexts={availableEncryptionContexts}\n\t\t\t\t\t\t\t\t\tavailable-update-sets={availableUpdateSets}\n\t\t\t\t\t\t\t\t\tavailable-applications={availableApplications}\n\t\t\t\t\t\t\t\t\theader-logo-target={headerLogoTarget}\n\t\t\t\t\t\t\t\t\tselected-search-context={selectedSearchContext}\n\t\t\t\t\t\t\t\t\tglobal-search-enabled={globalSearchEnabled}\n\t\t\t\t\t\t\t\t\tnotifications={notifications}\n\t\t\t\t\t\t\t\t\tavailable-domains={availableDomains}\n\t\t\t\t\t\t\t\t\topen-frame-tag-loaded={openFrameTagLoaded}\n\t\t\t\t\t\t\t\t\topen-frame-config={openFrameConfig}\n\t\t\t\t\t\t\t\t\topen-frame={openFrame}\n\t\t\t\t\t\t\t\t\tnowAssistMenuBadgeCount={nowAssistMenuBadgeCount}\n\t\t\t\t\t\t\t\t\t// need to keep the menu open when the popup is open, otherwise\n\t\t\t\t\t\t\t\t\t// interacting with the popup will close everything\n\t\t\t\t\t\t\t\t\tforce-menu-open={\n\t\t\t\t\t\t\t\t\t\tisFavoriteModalOpen ||\n\t\t\t\t\t\t\t\t\t\t(favoriteDeletePayload &&\n\t\t\t\t\t\t\t\t\t\t\t(!favoriteDeletePayload?.fromExperienceTitle ||\n\t\t\t\t\t\t\t\t\t\t\t\twindowSize?.width <\n\t\t\t\t\t\t\t\t\t\t\t\t\tREFLOW_BREAKPOINTS.HIDE_CENTER_PILL)) ||\n\t\t\t\t\t\t\t\t\t\t(favoritePopupPayload &&\n\t\t\t\t\t\t\t\t\t\t\t!favoritePopupPayload?.fromExperienceTitle)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tactive-modal={activeModal}\n\t\t\t\t\t\t\t\t\tboundary-element={boundaryElement}\n\t\t\t\t\t\t\t\t\tscreen-content-links={screenContentLinks}\n\t\t\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\t\t\twindow-size={windowSize}\n\t\t\t\t\t\t\t\t\tisFetchingUnreadCount={isFetchingUnreadCount}\n\t\t\t\t\t\t\t\t\tunreadNotificationCount={unreadNotificationCount}\n\t\t\t\t\t\t\t\t\tcoreUILogoSrc={logoSrc}\n\t\t\t\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\t\t\t\t// temporarily fill the header star until the favorite is created\n\t\t\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\t\t\thideFavoriteTooltip={\n\t\t\t\t\t\t\t\t\t\ttempFavoriteStarFill || !isEmpty(favoriteDeletePayload)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisSyncingFavorites={isSyncingFavorites}\n\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\t\t\tuserSettingsAccess={userSettingsAccess}\n\t\t\t\t\t\t\t\t\tconcoursePickerConfig={concoursePickerConfig}\n\t\t\t\t\t\t\t\t\tpolarisSearchContexts={polarisSearchContexts}\n\t\t\t\t\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t\t\t\t\t\tbypassExperienceTitle={bypassExperienceTitle}\n\t\t\t\t\t\t\t\t\twideMenus={wideMenus}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"header-border-bar\" />\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{isPolarisEnabled &&\n\t\t\t\t\tshowUtilityBar &&\n\t\t\t\t\tcontextualMenu.utilityBarVisible ? (\n\t\t\t\t\t\t<UtilityBar\n\t\t\t\t\t\t\tisMainMenuPinned={\n\t\t\t\t\t\t\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\treversed={dir === 'rtl'}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tconcoursePickerConfig={concoursePickerConfig}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{alertingNotifications?.length > 0\n\t\t\t\t\t\t? import('@devsnc/sn-notifications-menu') && (\n\t\t\t\t\t\t\t\t<sn-notification-toast\n\t\t\t\t\t\t\t\t\talertingNotifications={notifications}\n\t\t\t\t\t\t\t\t\tcurrentNotificationSysId={currentNotificationSysId}\n\t\t\t\t\t\t\t\t\tnotificationLocation={notificationLocation}\n\t\t\t\t\t\t\t\t\tinitialTimeout={util.getToastInitialTimeout()}\n\t\t\t\t\t\t\t\t\tafterFocusTimeout={util.getToastAfterFocusTimeout()}\n\t\t\t\t\t\t\t\t\trightOffset={rightOffset}\n\t\t\t\t\t\t\t\t\tleftOffset={leftOffset}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{displayTransactionStatusMessage ? (\n\t\t\t\t\t\t<sn-transaction-status-message\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-pinned':\n\t\t\t\t\t\t\t\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned,\n\t\t\t\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tinitialDelay={transactionStatusMessageDelayTime}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{messageStackAlerts?.length > 0 ? (\n\t\t\t\t\t\t<MessageStackServiceNotification\n\t\t\t\t\t\t\talerts={messageStackAlerts}\n\t\t\t\t\t\t\tisPinned={mainMenuState.isMenuPinned && mainMenuState.canBePinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{userUINotifications?.length > 0 ? (\n\t\t\t\t\t\t<UserUINotification\n\t\t\t\t\t\t\titems={userUINotifications}\n\t\t\t\t\t\t\tisPinned={mainMenuState.isMenuPinned && mainMenuState.canBePinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{userSessionNotifications?.length > 0 ? (\n\t\t\t\t\t\t<UserSessionNotification\n\t\t\t\t\t\t\titems={userSessionNotifications}\n\t\t\t\t\t\t\tisPinned={mainMenuState.isMenuPinned && mainMenuState.canBePinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t<sn-help />\n\t\t\t\t\t{helpAssistantActiveAndEnabled ? <sn-help-assistant /> : null}\n\n\t\t\t\t\t{favoritePopupPayload?.open ||\n\t\t\t\t\t(favoriteDeletePayload &&\n\t\t\t\t\t\twindowSize?.width >= REFLOW_BREAKPOINTS.HIDE_CENTER_PILL) ? (\n\t\t\t\t\t\t<FavoritePopup\n\t\t\t\t\t\t\tdeleteFavorite={!isEmpty(favoriteDeletePayload)}\n\t\t\t\t\t\t\tpopupRef={popupRef}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t{...favoritePopupPayload}\n\t\t\t\t\t\t\t{...favoriteDeletePayload}\n\t\t\t\t\t\t\tfavoritePayload={favoritePopupPayload}\n\t\t\t\t\t\t\tfavoriteList={headerMenuItems.find(\n\t\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{favoriteDeletePayload &&\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t\t<FavoriteDeleteModal />\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{keyboardShortcutsModalOpened ? (\n\t\t\t\t\t\t<sn-keyboard-shortcuts-modal\n\t\t\t\t\t\t\tshortcutsFn={shortcutsFn}\n\t\t\t\t\t\t\toverridesFn={overridesFn}\n\t\t\t\t\t\t\tuser-meta={userMeta}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{settingOpened && import('@devsnc/sn-user-preferences-modal') ? (\n\t\t\t\t\t\t<sn-user-preferences-modal\n\t\t\t\t\t\t\tclassName={animationsEnabled ? 'can-animate' : ''}\n\t\t\t\t\t\t\tsearchEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tuser-preferences-map={userPrefsMap}\n\t\t\t\t\t\t\tinitial-tab={settingOpened}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"content-area\"\n\t\t\t\t\t\tkey=\"content-area\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'is-pinned':\n\t\t\t\t\t\t\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned,\n\t\t\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{logoutConfirmationOpened ? <LogoutConfirmation /> : null}\n\t\t\t\t\t\t{nowAssistUnavailableModalOpened ? (\n\t\t\t\t\t\t\t<now-modal\n\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\tclassName=\"now-assist-unavailable\"\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tid: 'now-assist-unavailable'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\topened\n\t\t\t\t\t\t\t\tmanage-opened\n\t\t\t\t\t\t\t\theader-label={t('Now Assist is unavailable')}\n\t\t\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t\t\t'The service is temporarily down. Please try again later or contact your administrator.'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: t('Try again'),\n\t\t\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\t\t\tclickActionType: AIEL_UNAVAILABLE_MODAL_DISMISSED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{startDebuggingConfirmationOpened ? (\n\t\t\t\t\t\t\t<ScriptDebuggerConfirmation />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{!isEmpty(dirtyFormConfirmationPayload) ? (\n\t\t\t\t\t\t\t<DirtyFormConfirmation pageTitle={pageTitle} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{printerConfirmationModalProps?.opened ? (\n\t\t\t\t\t\t\t<PrinterConfirmationModal {...printerConfirmationModalProps} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{guidedToursLoaded && (\n\t\t\t\t\t\t\t<GuidedToursModal\n\t\t\t\t\t\t\t\tguidedToursPrompt={guidedToursPrompt}\n\t\t\t\t\t\t\t\tguidedTour={guidedTour}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!isEmpty(favoriteModalProps)\n\t\t\t\t\t\t\t? import('./favorite-edit-modal') && (\n\t\t\t\t\t\t\t\t\t<sn-favorite-edit-modal\n\t\t\t\t\t\t\t\t\t\t{...favoriteModalProps}\n\t\t\t\t\t\t\t\t\t\trequestToClose={requestToCloseModals}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{impersonationOpen || endImpersonation\n\t\t\t\t\t\t\t? import('@devsnc/sn-impersonation') && (\n\t\t\t\t\t\t\t\t\t<sn-impersonation\n\t\t\t\t\t\t\t\t\t\tuser-meta={userMeta}\n\t\t\t\t\t\t\t\t\t\tmodal-opened={impersonationOpen}\n\t\t\t\t\t\t\t\t\t\tend-impersonation={endImpersonation}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{elevateRoleOpen\n\t\t\t\t\t\t\t? import('@devsnc/sn-elevate-roles') && (\n\t\t\t\t\t\t\t\t\t<sn-elevate-roles\n\t\t\t\t\t\t\t\t\t\tavailable-elevated-roles={availableElevatedRoles?.roles}\n\t\t\t\t\t\t\t\t\t\troles={availableElevatedRoles?.activeRoles}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{feedbackFormEnabled && showFeedbackForm\n\t\t\t\t\t\t\t? import('../sn-feedback-form') && (\n\t\t\t\t\t\t\t\t\t<sn-feedback-form isOpened={showFeedbackForm} />\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{isCollabChatEnabled &&\n\t\t\t\t\t\t(!mainContentLoading || collabChatState.collabChatLoaded) ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey=\"collab-chat\"\n\t\t\t\t\t\t\t\tclassName=\"collab-chat-floating-container\"\n\t\t\t\t\t\t\t\tdata-state={collabChatState.collabChatLoaded}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver = new ResizeObserver(\n\t\t\t\t\t\t\t\t\t\t(elm) => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(FLOATING_CONTAINER_RESIZED, elm);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver.observe(elm);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (floatingContainerResizeObserver)\n\t\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver.unobserve(elm);\n\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver = null;\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<sn-collab-floating-container\n\t\t\t\t\t\t\t\t\topenChat={openChat}\n\t\t\t\t\t\t\t\t\tuser={userSession}\n\t\t\t\t\t\t\t\t\twidth={floatingContainerSize}\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole={mainDisplay === 'none' ? 'main' : undefined}\n\t\t\t\t\t\t\tclassName=\"core-main-content\"\n\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\tboundaryElement = elm;\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<LoadingIndicator visible={indicatorVisible} />\n\t\t\t\t\t\t\t<slot name=\"core-ui\" className=\"core-ui\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"main-content\" style={{display: mainDisplay}}>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{seismicContentLoaded && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\tid=\"loaded_indicator\"\n\t\t\t\t\t\t\t\tkey=\"loaded_indicator\"\n\t\t\t\t\t\t\t\tstyle={{display: 'none'}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t{/* generic tooltip component */}\n\t\t\t\t<now-tooltip\n\t\t\t\t\tid=\"tooltip\"\n\t\t\t\t\topened={currentTooltip?.opened || false}\n\t\t\t\t\ttarget-ref={currentTooltip?.ref || null}\n\t\t\t\t\tcontent={currentTooltip?.content || ''}\n\t\t\t\t\tdelay={{show: 0, hide: 0}}\n\t\t\t\t\tposition={currentTooltip?.location || undefined}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t{isCollabChatEnabled && collabChatState.showCreateCollabChatModal ? (\n\t\t\t\t<sn-collab-create-chat-modal\n\t\t\t\t\ttable={collabChatState.parentTable}\n\t\t\t\t\tsys-id={collabChatState.parentSysId}\n\t\t\t\t\tconfig={collabChatState.config}\n\t\t\t\t\tselected-content={selectedContent}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t} });","export const ANNOUNCE_IMPERSONATION_START_KEY =\n\t'sn.impersonation.announceStart';\nexport const ANNOUNCE_IMPERSONATION_END_KEY = 'sn.impersonation.announceEnd';\n","import lifecycleFns from './lifecycleFns';\n\nexport default function runLifecycleFns(lifecycle) {\n\tconst fns = lifecycleFns[lifecycle] || [];\n\tlet fn;\n\twhile ((fn = fns.shift())) fn();\n\n\tconst postFns = lifecycleFns[`POST_${lifecycle}`] || [];\n\twhile ((fn = postFns.shift())) fn();\n}\n","const getLocationHref = () => {\n\treturn window.location.href;\n};\n\nconst getLocationPathName = () => {\n\treturn window.location.pathname;\n};\n\nconst getTitle = () => {\n\treturn window.document.title;\n};\n\nexport default {\n\tgetLocationHref,\n\tgetTitle,\n\tgetLocationPathName\n};\n","/* istanbul ignore file */\nexport default (host) => host.querySelector('iframe[slot=\"core-ui\"]');\n","export const ENABLED_PLUGINS_REFRESHED = 'ENABLED_PLUGINS#REFRESHED';\n","export const FETCH_UI16_DEPENDENCIES = 'FETCH_UI16_DEPENDENCIES';\n","export const IFRAME_NAVIGATION_START = 'IFRAME_NAVIGATION_START';\n","import {createInteractionId} from '@servicenow/ui-metrics';\n\nconst PAGE_LOAD_INTERACTION_TYPE = 'PAGE_LOAD';\nconst NAVIGATION_INTERACTION_TYPE = 'NAVIGATION';\nconst CORE_UI_CONTEXT_PATH = '/now/nav/ui/classic/';\n\nlet interactionType = PAGE_LOAD_INTERACTION_TYPE;\nlet loadStartTime = 0;\nlet interactionId = '';\n\nconst setCoreUIInteractionType = (type) => {\n\tinteractionType = type;\n};\n\nconst getCoreUIInteractionType = () => {\n\treturn interactionType;\n};\n\nconst setCoreUILoadStartTime = (time) => {\n\tloadStartTime = time;\n};\n\nconst getCoreUiIframeLoadStartTime = () => {\n\treturn loadStartTime;\n};\n\nconst setGlobalInteractionId = (interactionId) => {\n\tif (window.nowUiFramework)\n\t\twindow.nowUiFramework.uxrInteractionId = interactionId;\n};\n\nconst setCoreUIInteractionId = () => {\n\tif (interactionType === PAGE_LOAD_INTERACTION_TYPE) {\n\t\tinteractionId =\n\t\t\twindow?.nowUiFramework?.uxrInteractionId || createInteractionId();\n\t} else {\n\t\tinteractionId = createInteractionId();\n\t}\n\tsetGlobalInteractionId(interactionId);\n};\n\nconst markCoreUIInteractionComplete = () => {\n\tinteractionId =\n\t\tinteractionId && !interactionId?.endsWith('-idle')\n\t\t\t? interactionId + '-idle'\n\t\t\t: interactionId;\n\tsetGlobalInteractionId(interactionId);\n};\n\nconst getCoreUIInteractionId = () => {\n\treturn interactionId || '';\n};\n\nexport {\n\tPAGE_LOAD_INTERACTION_TYPE,\n\tNAVIGATION_INTERACTION_TYPE,\n\tCORE_UI_CONTEXT_PATH,\n\tsetCoreUIInteractionType,\n\tgetCoreUIInteractionType,\n\tsetCoreUILoadStartTime,\n\tgetCoreUiIframeLoadStartTime,\n\tsetCoreUIInteractionId,\n\tmarkCoreUIInteractionComplete,\n\tgetCoreUIInteractionId\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"convertUrlToPayload\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.__esModule\n\t\t\t\t\tif (cjsModule && 'convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"].convertUrlToPayload;\n\t\t\t\t\t} else if ('convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.convertUrlToPayload || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"].convertUrlToPayload;\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {handleShortcutKeyDown} from '@servicenow/now-trigger-library';\nimport {isEmpty, forEach} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tCLASSIC,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tPOLARIS_CONTEXT,\n\tCLASSIC_ROUTE,\n\tSYS_PROPS,\n\tPOLARIS_IFRAME_LOAD_COMPLETE\n} from '../../constants';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {LEGACY_SCREEN_PRINTER_VIEW_VISIBLE} from '../printer-friendly-behavior/actions';\nimport {\n\tLEGACY_FORM_UNLOADED,\n\tLEGACY_FORM_BEFOREUNLOADED\n} from '../dirty-form-behavior/actions';\nimport {USER_SESSION_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {ADD_HISTORY_ENTRY_FOR_UI_PAGES} from '../history-behavior/actions';\nimport {FAVORITE_POPUP_CLOSED} from '../favorites-behavior/actions';\nimport {FETCH_UI16_DEPENDENCIES} from '../custom-event-manager-behavior/actions';\nimport {IFRAME_NAVIGATION_START} from './actions';\nimport globals from '../../components/sn-polaris-layout/utils/globals';\nimport {\n\tCORE_UI_CONTEXT_PATH,\n\tNAVIGATION_INTERACTION_TYPE,\n\tPAGE_LOAD_INTERACTION_TYPE,\n\tgetCoreUIInteractionType,\n\tgetCoreUiIframeLoadStartTime,\n\tsetCoreUIInteractionId,\n\tsetCoreUIInteractionType,\n\tsetCoreUILoadStartTime\n} from './utils';\nimport {convertUrlToPayload} from 'sn-ux-core';\n\n// Set the glide js version b/c some platform code uses this to\n// determine if a frame is glide\nwindow.GJSV = 3.0;\n\nconst MAIN_CONTENT_LOADING = 'mainContentLoading';\n\nconst DOWNLOAD_FORMATS = ['CSV', 'EXCEL', 'PDF', 'XLS', 'XLSX'];\n\n// STRY58753051: if the url is a download url, remove that param after download has started to\n// show the list being downloaded and place back in iframe\nexport const normalizeDownloadUrl = (iframe) => {\n\tlet shouldResetUrl = false;\n\tconst normalizedUrl = new URL(iframe?.src);\n\tif (normalizedUrl) {\n\t\tDOWNLOAD_FORMATS.forEach((format) => {\n\t\t\tif (normalizedUrl?.searchParams.has(format)) {\n\t\t\t\tshouldResetUrl = true;\n\t\t\t\tnormalizedUrl?.searchParams.delete(format);\n\t\t\t}\n\t\t});\n\t\tif (shouldResetUrl) {\n\t\t\tconst downloadUrl = iframe.src;\n\t\t\tconst downloadFrame = document.createElement('iframe');\n\t\t\tdownloadFrame.style.width = '0px';\n\t\t\tdownloadFrame.style.height = '0px';\n\t\t\tdownloadFrame.style.display = 'none';\n\t\t\tdownloadFrame.setAttribute('aria-hidden', 'true'); // Hide from screen readers\n\t\t\tdownloadFrame.setAttribute('tabindex', '-1'); // Prevent focus\n\t\t\tdownloadFrame.src = downloadUrl;\n\t\t\tdocument.body.appendChild(downloadFrame);\n\t\t\tiframe.src = normalizedUrl.toString();\n\t\t}\n\t}\n};\n\n// DEF0421364: Prevent embedding external urls in iframe unless they are declared in the allowed\n// domains sysprop\nconst allowedDomains = getProperty(\n\tSYS_PROPS.NEXT_EXPERIENCE_ALLOWED_DOMAINS,\n\t''\n)?.split(',');\n\nconst getParsedUrl = (target) => {\n\tif (!target || typeof target !== 'string') {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\t// Reject dangerous protocols and protocol-relative URLs\n\t\tconst dangerousPattern = target.match(\n\t\t\t/^(javascript|data|vbscript):|^\\/\\/|^\\\\\\\\/i\n\t\t);\n\t\tif (dangerousPattern) {\n\t\t\tconsole.error(\n\t\t\t\t'Dangerous pattern detected:',\n\t\t\t\tdangerousPattern[0],\n\t\t\t\t'in URL:',\n\t\t\t\ttarget\n\t\t\t);\n\t\t\treturn '/';\n\t\t}\n\n\t\tconst targetParsed = new URL(target, window.location.origin);\n\n\t\t// Check if the host is in the allowlist\n\t\tconst isAllowedHost = [window.location.host, ...allowedDomains].includes(\n\t\t\ttargetParsed.host\n\t\t);\n\n\t\tif (isAllowedHost) {\n\t\t\treturn target;\n\t\t}\n\n\t\t// For non-allowed hosts, sanitize and validate the pathname\n\t\tlet safePath = targetParsed.pathname\n\t\t\t.replace(/\\\\/g, '/')\n\t\t\t.replace(/\\/+/g, '/');\n\n\t\tif (!safePath.startsWith('/')) {\n\t\t\tsafePath = '/' + safePath;\n\t\t}\n\n\t\t// Additional safety check: reject if still contains suspicious patterns\n\t\tif (safePath.match(/^\\/\\/|^\\\\\\\\|javascript:|data:|vbscript:/i)) {\n\t\t\tconsole.error('URL contains suspicious pattern:', safePath);\n\t\t\treturn '/';\n\t\t}\n\n\t\tconst finalUrl = new URL(safePath, window.location.origin);\n\n\t\tif (finalUrl.origin !== window.location.origin) {\n\t\t\tconsole.error('URL validation failed - origin mismatch');\n\t\t\treturn '/';\n\t\t}\n\n\t\treturn safePath;\n\t} catch (error) {\n\t\tconsole.error('Error parsing URL:', target, error);\n\t\treturn '/';\n\t}\n};\n\nconst getQueryString = (queryObject) => {\n\tif (isEmpty(queryObject)) return '';\n\tlet queryString = '?';\n\tconst queries = Object.keys(queryObject).map(\n\t\t(key) => `${key}=${queryObject[key]}`\n\t);\n\tqueryString += queries.join('&');\n\treturn queryString;\n};\n\nconst getRelativePath = (url) => {\n\tconst iframeUrl = url instanceof URL ? url : new URL(url, location.origin);\n\n\tconst {pathname, search, hash} = iframeUrl;\n\n\treturn `${pathname.substring(1)}${search}${hash}`;\n};\n\nexport const setTopLevelUrl = (url, dispatch) => {\n\tconst relativePath = getRelativePath(url);\n\tdispatch('CONTENT_UPDATED', {\n\t\tparams: {\n\t\t\ttarget: relativePath\n\t\t},\n\t\tredirect: true\n\t});\n};\n\nconst sendEventToFrame = (frame, eventName, value) =>\n\twindow.CustomEvent.fireToWindow(frame.contentWindow, eventName, value);\n\nconst setIframeBackgroundColor = (iframe) => {\n\tconst isIframeThemed = iframe.contentWindow?.NOW?.isUsingPolaris;\n\tlet iframeBackgroundColor = 'white'; // DEF0238123: unthemed pages without a background color are unusable without a white background (stats.do, sys.scripts.do, cache.do, etc...)\n\tif (isIframeThemed === true) {\n\t\t// Get the background color of the themed page\n\t\tiframeBackgroundColor = getComputedStyle(iframe.contentDocument.body)\n\t\t\t.backgroundColor;\n\t}\n\tiframe.style.backgroundColor = iframeBackgroundColor;\n};\n\n// Check if given route is an app that's supported by unified nav\n// Any route that is not in experienceConfigs gets opened in a new\n// window when NAV_ITEM_SELECTED is called with it\nexport function isSupportedExperience(\n\tpayload,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {}\n) {\n\tif (!payload?.route || !experienceConfigs) return false;\n\n\treturn !!experienceConfigs[(payload?.context?.path)];\n}\n\nconst redirectToSeismicRoute = (payload, iframe, dispatch) => {\n\tconst isSupported = isSupportedExperience(payload);\n\tif (!isSupported) return false;\n\tiframe.contentWindow.stop();\n\tdispatch('NAV_ITEM_SELECTED', payload);\n\treturn true;\n};\n\nconst initIframeLoadListeners = (iframe, dispatch, updateState) => {\n\twindow.frameBusterRouteChangeWithoutRedirect = (payload) => {\n\t\tif (payload && !payload.route) {\n\t\t\treturn convertUrlToPayload(payload)\n\t\t\t\t.then((convertedPayload) =>\n\t\t\t\t\tredirectToSeismicRoute(convertedPayload, iframe, dispatch)\n\t\t\t\t)\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error('Error converting URL to payload:', error);\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t} else {\n\t\t\treturn Promise.resolve(redirectToSeismicRoute(payload, iframe, dispatch));\n\t\t}\n\t};\n\n\tconst getPageTitle = () => {\n\t\tconst formTemplate = iframe.contentDocument.body.getAttribute(\n\t\t\t'data-formname'\n\t\t);\n\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: iframe.contentDocument.title,\n\t\t\ttype: formTemplate,\n\t\t\turl: iframe.contentDocument.location.href\n\t\t});\n\n\t\tdispatch(RECENT_IFRAME_TITLE_UPDATED, {\n\t\t\tlabel: iframe.contentDocument.title\n\t\t});\n\t};\n\n\tiframe.contentWindow.addEventListener('DOMContentLoaded', () => {\n\t\tgetPageTitle();\n\t});\n\n\tiframe.addEventListener('load', () => {\n\t\tconst showIframe = () => {\n\t\t\tupdateState({\n\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true\n\t\t\t});\n\t\t\tiframe.style.visibility = 'visible';\n\t\t};\n\n\t\tif (iframe && iframe.contentWindow) {\n\t\t\ttry {\n\t\t\t\tif (iframe.contentWindow.location.href === 'about:blank') return;\n\t\t\t} catch (e) {\n\t\t\t\tshowIframe();\n\t\t\t}\n\t\t}\n\n\t\tshowIframe();\n\n\t\tif (!iframe.contentDocument.body)\n\t\t\t// Maybe we're loading an image or pdf?\n\t\t\treturn;\n\n\t\tsetIframeBackgroundColor(iframe);\n\n\t\tgetPageTitle();\n\n\t\tsetTimeout(() => {\n\t\t\tdispatch(ADD_HISTORY_ENTRY_FOR_UI_PAGES);\n\t\t}, 1200);\n\n\t\tiframe.contentDocument.addEventListener('click', () => {\n\t\t\tdocument.dispatchEvent(new Event('click'));\n\t\t\t// Clicking on iframe doesn't trigger now-popover's built in OPENED_SET\n\t\t\t// so we have to close it manually\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED);\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('beforeunload', (event) => {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t\tdispatch(LEGACY_FORM_BEFOREUNLOADED, {event});\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('unload', () => {\n\t\t\tdispatch(LEGACY_FORM_UNLOADED);\n\t\t});\n\n\t\tif (window.CustomEvent.fireAll)\n\t\t\twindow.CustomEvent.fireAll('polaris:iframe.loaded');\n\n\t\tdispatch(POLARIS_IFRAME_LOAD_COMPLETE, {\n\t\t\tstartTime: getCoreUiIframeLoadStartTime() || 0,\n\t\t\tinteractionType: getCoreUIInteractionType(),\n\t\t\trelativePath: getRelativePath(iframe.contentDocument.location.href),\n\t\t\tlabel: iframe.contentDocument.title,\n\t\t\tisDocumentHidden: document.visibilityState === 'hidden'\n\t\t});\n\n\t\tif (getFeatureSettings().isPrintingEnabled) {\n\t\t\tdispatch(LEGACY_SCREEN_PRINTER_VIEW_VISIBLE, {showPrint: true});\n\t\t\tiframe.contentWindow.addEventListener('unload', () => {\n\t\t\t\tdispatch(LEGACY_SCREEN_PRINTER_VIEW_VISIBLE, {showPrint: false});\n\t\t\t});\n\t\t}\n\n\t\tiframe.contentWindow.addEventListener('keydown', handleShortcutKeyDown);\n\t});\n};\n\nexport const initAddingFrameToWindow = (iframe) => {\n\twindow.__frames.push(iframe.contentWindow);\n\twindow.gsft_main = iframe.contentWindow;\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {name, value: currentValue, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate\n\t} = coeffects;\n\n\t// See USER_SETTINGS_SEND_EVENT_REQUESTED handler in user-settings-behavior/index.js\n\tif (name === 'userPreferences' && state.userSettingsBuffer) {\n\t\tconst iframe = getCoreUiIframe(host);\n\t\tif (!iframe) return;\n\n\t\tconst changedPreferences = state.userSettingsBuffer;\n\t\tforEach(changedPreferences, ({value}, preferenceName) => {\n\t\t\tsendEventToFrame(iframe, preferenceName, value);\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: 'userSettingsBuffer',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('beforeunload', () => {\n\t\t\t// if the theme changed while they were on a themed page this will prevent a weird flash when the user navigates to a different page\n\t\t\tsetIframeBackgroundColor(iframe);\n\t\t});\n\t}\n\n\tif (name === 'selectedContent') {\n\t\tconst iframeEl = getCoreUiIframe(host);\n\t\tif (iframeEl && currentValue?.route === CLASSIC) {\n\t\t\t// initial value of iframeEl.contentWindow.location.href is about:blank\n\t\t\t// so it doesn't match currentValue.params.target upon initial page load\n\t\t\t// this is causing a double load of the iframe; checking if value\n\t\t\t// begins with http in case there are other unknown intermediary state values\n\t\t\t// in other browsers\n\t\t\tlet href = '';\n\t\t\ttry {\n\t\t\t\thref = iframeEl?.contentWindow.location.href;\n\t\t\t} catch {\n\t\t\t\t//when a URL with 'X-Frame-Options' set to 'sameorigin' which belongs to differnt domain\n\t\t\t\t//is opened in an iFrame, security exception is thrown, on navigating to different page via click from nav menu.\n\t\t\t\t//where when we can't read URL from the Location object\n\t\t\t\thref = iframeEl?.baseURI + previousValue?.params?.target;\n\t\t\t}\n\t\t\tif (!href.startsWith('http')) return;\n\t\t\t// handle case where the initial property set triggers the property changed & causes\n\t\t\t// a double load of the page\n\t\t\tif (isEmpty(previousValue)) return;\n\n\t\t\thandleUrlChange({\n\t\t\t\tcurrentValue,\n\t\t\t\tpreviousValue,\n\t\t\t\tiframeEl,\n\t\t\t\tupdateState,\n\t\t\t\thref\n\t\t\t});\n\n\t\t\t// Call the SessionNotificationService to check for any GlideSession Messages\n\t\t\trequestIdleCallback(() => dispatch(USER_SESSION_NOTIFICATION_REQUESTED));\n\t\t} else {\n\t\t\t// destroy iframe so attached scripts won't keep running in the background\n\t\t\tif (iframeEl) iframeEl.remove();\n\t\t}\n\t}\n};\n\nexport const handleUrlChange = ({\n\tcurrentValue,\n\tpreviousValue,\n\tiframeEl,\n\tupdateState,\n\thref\n}) => {\n\tconst target = currentValue?.params?.target || '';\n\tconst incomingUrl = getParsedUrl(\n\t\ttarget + getQueryString(currentValue?.queryString)\n\t);\n\tconst currentUrl = getRelativePath(href);\n\tconst iframeVisibility = iframeEl?.style?.visibility;\n\n\t// If it's marked a redirect, when we call CONTENT_UPDATED w/ redirect: true, don't update\n\t// If the url changed, update\n\t// If the url is the same but the timestamp is different (click same menu item twice), update\n\tif (\n\t\t!currentValue.redirect &&\n\t\t(incomingUrl !== currentUrl ||\n\t\t\tcurrentValue._timestamp !== previousValue._timestamp)\n\t) {\n\t\ttry {\n\t\t\tiframeEl.contentWindow.location.replace(incomingUrl);\n\t\t} catch {\n\t\t\t//security exception case: when we can't read URL from the Location object\n\t\t\t//form the complete URL with incomingURL and replace in window location\n\t\t\tconst url =\n\t\t\t\t`${iframeEl?.baseURI}${POLARIS_CONTEXT.path}${CLASSIC_ROUTE}` +\n\t\t\t\tencodeURIComponent(incomingUrl);\n\t\t\twindow.location.replace(url);\n\t\t}\n\n\t\t// Don't show the loading spinner when navigating between classic routes\n\t\tif (currentValue?.route === CLASSIC && previousValue?.route !== CLASSIC) {\n\t\t\tupdateState({\n\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true\n\t\t\t});\n\t\t}\n\t}\n\t// using the browser back/forward button can change the experience while the iframe is still loaded in the background\n\telse if (incomingUrl === currentUrl && iframeVisibility === 'hidden') {\n\t\tiframeEl.style.visibility = 'visible';\n\t}\n};\n\nconst onComponentRendered = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {selectedContent},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tif (!isEmpty(selectedContent)) {\n\t\tconst {params, route, queryString: queryObject} = selectedContent;\n\n\t\tif (route === CLASSIC) {\n\t\t\tif (!getCoreUiIframe(host)) {\n\t\t\t\tif (!document.getElementById('polaris-ui16-dependencies')) {\n\t\t\t\t\tdispatch(FETCH_UI16_DEPENDENCIES, {isDelayNeeded: false});\n\t\t\t\t}\n\t\t\t\tconst target = params?.target || '';\n\t\t\t\tconst iframeEl = document.createElement('iframe');\n\t\t\t\tiframeEl.title = t('Main Content');\n\t\t\t\tiframeEl.id = 'gsft_main';\n\t\t\t\tiframeEl.name = 'gsft_main';\n\t\t\t\t// DEF0346911: Prevent XSS (ie. primarily through \"javascript:\" and \"data:\" entry) but we don't want to mess with the URI decoding/encoding that already happens upstream/downstream\n\t\t\t\tiframeEl.src = getParsedUrl(target + getQueryString(queryObject));\n\t\t\t\tnormalizeDownloadUrl(iframeEl);\n\t\t\t\tiframeEl.slot = 'core-ui';\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\n\t\t\t\thost.appendChild(iframeEl);\n\t\t\t\tinitIframeLoadListeners(iframeEl, dispatch, updateState, coeffects);\n\t\t\t\tinitAddingFrameToWindow(iframeEl);\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst setCoreUIInformation = (loadStartTime, interactionType) => {\n\tsetCoreUILoadStartTime(loadStartTime);\n\tsetCoreUIInteractionType(interactionType);\n\tsetCoreUIInteractionId();\n};\n\nconst onComponentBootStrapped = ({dispatch}) => {\n\tif (globals.getLocationPathName().startsWith(CORE_UI_CONTEXT_PATH)) {\n\t\tsetCoreUIInformation(0, PAGE_LOAD_INTERACTION_TYPE);\n\t}\n\n\twindow.addEventListener('popstate', () => {\n\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\ttime: performance.now()\n\t\t});\n\t});\n};\nconst onIframeNavigationStart = ({action: {payload}}) => {\n\tsetCoreUIInformation(payload.time, NAVIGATION_INTERACTION_TYPE);\n};\n\nexport default {\n\tname: 'CORE_UI_IFRAME',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t\t[actionTypes.COMPONENT_RENDERED]: onComponentRendered,\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: onComponentBootStrapped,\n\t\t[IFRAME_NAVIGATION_START]: onIframeNavigationStart\n\t}\n};\n\nexport {getParsedUrl, allowedDomains};\n","import {SERVICE_NOW} from '../constants';\n\nexport default function transformTitle(pageLabel = '', logoName = SERVICE_NOW) {\n\tconst labelSplitArr = pageLabel?.replace('| ' + logoName, '').split('|');\n\n\t// nothing ws split so just return pageLabel\n\tif (!labelSplitArr) return pageLabel;\n\n\tif (labelSplitArr.length > 1) {\n\t\tconst recordTitle = labelSplitArr.slice(0, -1).join('|');\n\t\tconst labelArr = [recordTitle, labelSplitArr.slice(-1)[0]];\n\t\tconst transformedTitle = labelArr\n\t\t\t.reverse()\n\t\t\t.join('- ')\n\t\t\t.trim();\n\t\treturn transformedTitle;\n\t} else {\n\t\treturn labelSplitArr.toString().trim();\n\t}\n}\n","export default function getHelpContext(rawContext) {\n\tlet context = null;\n\n\tif (!rawContext) return context;\n\n\tif (rawContext.route === 'classic') {\n\t\tcontext = {\n\t\t\ttype: 'classic',\n\t\t\tpage: rawContext.params.target\n\t\t};\n\t} else {\n\t\tcontext = {\n\t\t\ttype: 'custom',\n\t\t\tpage: rawContext.route,\n\t\t\tapp_route: rawContext.context?.path || '',\n\t\t\tparams: {...rawContext.fields, ...rawContext.params}\n\t\t};\n\t}\n\n\treturn context;\n}\n","import {whenAllComponentsIdle} from '@servicenow/ui-core';\nconst pause = (duration) =>\n\tnew Promise((resolve) => {\n\t\tsetTimeout(() => resolve(), duration);\n\t});\nexport default async function waitForAllComponentsIdle(duration) {\n\tawait whenAllComponentsIdle();\n\tawait pause(duration);\n\tawait whenAllComponentsIdle();\n}\n","import uxf from '@devsnc/library-uxf';\nimport {t} from 'sn-translate';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\nimport {get, isEmpty, debounce, remove, intersection} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tgetBooleanProperty,\n\tgetBooleanPreferenceValue,\n\tPREFERENCES,\n\trequestIdleCallback,\n\tscheduleHideTooltip,\n\tscheduleShowTooltip\n} from '@devsnc/unav-utils';\nimport {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nimport {\n\tSN_DRAGGABLE_MAX_WINDOW_SIZE,\n\tSN_DRAGGABLE_CHANGED_POSITION\n} from './draggable/actions';\nimport {\n\tANNOUNCE_IMPERSONATION_START_KEY,\n\tANNOUNCE_IMPERSONATION_END_KEY\n} from '../../behaviors/impersonation-behavior/constants';\n\nimport runLifecycleFns from '../../utils/runLifecycleFns';\nimport setConditionalFocusNavigation from '../../utils/setConditionalFocusNavigation';\nimport track from '../../utils/track';\nimport {validateSearchPage, formatSearchPageTitle} from '../../utils/search';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tNOW_EXPERIENCE_PAGE_LOADED,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tPOLARIS_IFRAME_LOAD_COMPLETE,\n\tPOLARIS_SITE_NAME,\n\tSERVICE_NOW,\n\tSYS_PROPS,\n\tUSER_PREF_UPDATED,\n\tREFLOW_BREAKPOINTS,\n\tBUTTON_ACTIONS,\n\tUSER_PRESENCE_CHANGED,\n\tPX_TO_REM_CONVERSION_RATE,\n\tMENU_FAVORITES,\n\tMENU_ALL,\n\tOVERFLOW_MENU_ID,\n\tTOGGLE_MENU_OPEN,\n\tOPEN,\n\tCLOSE,\n\tCLASSIC,\n\tUSER_MENU_ID,\n\tUTILITY_MENU_OVERFLOW_DATA_UPDATED,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tUNIFIED_NAVIGATION_REGISTRY_ID,\n\tPOLARIS_CONTEXT,\n\tHELP_MENU_HEADER_TEXT,\n\tNOTIFICATIONS_HEADER_TEXT,\n\tHELP_MENU_ID,\n\tNOTIFICATIONS_ID,\n\tOPENFRAME_MENU_ID,\n\tCONCOURSE_PICKER_MENU_ID,\n\tNOW_ASSIST_MENU_ID,\n\tNOW_ASSIST_PANEL_MENU_ID,\n\tOPENFRAME_MENU_HEADER_TEXT,\n\tCONCOURSE_PICKER_HEADER_TEXT,\n\tUSER_MENU_HEADER_TEXT,\n\tNOW_ASSIST_MENU_HEADER_TEXT,\n\tINSTANCE_TOOLS_MENU_ID,\n\tCHAT_MENU_HEADER_TEXT,\n\tUSAGE_ANALYTICS_MENU_ID,\n\tUSAGE_ANALYTICS_HEADER_TEXT\n} from '../../constants';\nimport {\n\tALL_MENU_FOCUSED,\n\tALL_MENU_TOGGLED,\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_PINNED,\n\tCONTEXTUAL_MENU_SELECTED,\n\tMAIN_CONTENT_FOCUSED,\n\tMAIN_MENU_PINNED,\n\tMENU_FOCUSED,\n\tNOTIFICATION_DATA_UPDATED,\n\tTAB_PRIMARY_SELECTED,\n\tWINDOW_RESIZED,\n\tROUTE_MAP_UPDATED,\n\tCLOSE_POPOVERS,\n\tCLOSE_MODALS,\n\tFEEDBACK_FORM_BUTTON_CLICKED,\n\tOPEN_UTILITY_MENU,\n\tTOGGLE_UTILITY_MENU,\n\tFAVORITE_TOGGLE_CURRENT_PAGE,\n\tKEYBOARD_BEHAVIOR_MODAL_OPENED,\n\tTOGGLE_WIDE_MENU,\n\tPRE_SHORTCUT_CLEANUP_SUCCEEDED,\n\tREGISTER_WINDOW_MANAGER\n} from './actions';\nimport {\n\tFAVORITE_CHECK_REQUESTED,\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\nimport {\n\tHISTORY_UPDATE_REQUESTED,\n\tPUSHED_NOW_UI_HISTORY,\n\tADD_HISTORY_ENTRY_FOR_UI_PAGES\n} from '../../behaviors/history-behavior/actions';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../behaviors/user-settings-behavior/actions';\nimport {\n\tCHAT_MENU_ID,\n\tINIT_COLLAB_CHAT\n} from '../../behaviors/collab-chat-behavior/constants';\nimport {INIT_GUIDED_TOURS} from '../../behaviors/guided-tours-behavior/constants';\n\n// `globals` not destructured so it can be mocked in tests\nimport globals from './utils/globals';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\n\nimport {normalizeOpenframeRibbonPayload} from './utils/openframe';\nimport {ENABLED_PLUGINS_REFRESHED} from '../../behaviors/enabled-plugins-behavior/actions';\nimport {setTopLevelUrl} from '../../behaviors/core-ui-iframe-behavior';\nimport transformTitle from '../../utils/transformTitle';\nimport {\n\tOPENFRAME_BEHAVIOR_CHECK_CONFIG,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW\n} from '../../behaviors/openFrameBehavior/actions';\nimport getMenuType from '../../utils/menuUtils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../behaviors/schedule-for-page-load-behavior/actions';\nimport decodeEntities from './utils/decodeEntities';\nimport {FEEDBACK_FORM_ACTIONS} from '../sn-feedback-form';\nimport {MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport {\n\tHIDE_MENU_ITEM_TOOLTIP,\n\tSHOW_MENU_ITEM_TOOLTIP,\n\tSN_DRILLDOWN_LIST_TOGGLE,\n\tSN_DRILLDOWN_SET\n} from '../sn-polaris-menu/actions';\nimport {CONCOURSE_DATA_LISTS_REQUESTED} from '../../behaviors/concourse-fetcher-behavior/actions';\nimport {NOTIFICATION_MENU_OPENED} from '../../behaviors/notification-behavior/actions';\nimport {\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATIONS_LAST_VIEWED_KEY\n} from '../../behaviors/notification-behavior/constants';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../sn-polaris-menu/sn-drilldown-list/constants';\nimport {CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED} from '../../behaviors/concourse-picker-behavior/actions';\nimport {positionHeaderItems} from '../sn-polaris-header/utils/position-navigation-items';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport getHelpContext from '../../behaviors/help-behavior/getHelpContext';\nimport {removeHtmlFromDescription} from '../../utils/htmlUtils';\nimport {mapOverflowMenuItems} from '../sn-polaris-header/utility-menu/contextual-menu/overflow-menu/overflow-menu.utils';\nimport cache from '../../utils/cache';\nimport waitForAllComponentsIdle from './utils/pause';\nimport {\n\tmarkCoreUIInteractionComplete,\n\tgetCoreUIInteractionId\n} from '../../behaviors/core-ui-iframe-behavior/utils';\nimport {hasSelectedContentChanged} from '../../behaviors/main-content-loading-behavior';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY\n} = actionTypes;\n\nlet initialExperiencePageLoadedCodeExecuted = false;\n\n/**\n * Handle click event from buttons in contextual utilities zone\n * @param {*} param0\n */\nfunction handleContextualMenuClick({\n\taction: {\n\t\tpayload: {contextualMenuType, contextualMenuHeaderText, ref, context}\n\t},\n\tstate: {\n\t\tconcourseDataFetched,\n\t\tcontextualMenu,\n\t\tshowPrint,\n\t\tavailableElevatedRoles = {},\n\t\tconcoursePickerConfig,\n\t\t...restOfState\n\t},\n\tproperties: {\n\t\tselectedContent,\n\t\tuserMeta,\n\t\tuserSession,\n\t\tuserPreferences,\n\t\tfeatures: {isPrintingEnabled}\n\t},\n\tdispatch,\n\tupdateState\n}) {\n\t// contextualMenuType should always have a value\n\tif (!contextualMenuType) {\n\t\treturn;\n\t}\n\n\tconst printerFriendlyEnabled =\n\t\tselectedContent?.route === CLASSIC && isPrintingEnabled && showPrint;\n\n\tconst notifications = get(restOfState, NOTIFICATION_STATE_PATH, []);\n\n\tconst elevatedRoles = intersection(\n\t\tavailableElevatedRoles.activeRoles,\n\t\tavailableElevatedRoles.roles?.map(({name}) => name)\n\t);\n\n\t// menu clicked and isn't open so open it *or* the menu is open and another menu button was clicked\n\tif (\n\t\tcontextualMenu.menuType === null ||\n\t\t(contextualMenu.menuType !== null &&\n\t\t\tcontextualMenuType !== contextualMenu.menuType)\n\t) {\n\t\tlet menuData = {};\n\n\t\t// collect any data the menu will need to render\n\t\tswitch (contextualMenuType) {\n\t\t\tcase 'userMenu':\n\t\t\t\tmenuData = {\n\t\t\t\t\tuserMeta,\n\t\t\t\t\tuserSession,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tprinterFriendlyEnabled,\n\t\t\t\t\tavailableElevatedRoles: availableElevatedRoles || {},\n\t\t\t\t\televatedRoles: elevatedRoles || []\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'overflowMenu':\n\t\t\tcase 'concoursePickers':\n\t\t\tcase 'instanceTools':\n\t\t\t\tmenuData = concoursePickerConfig;\n\t\t\t\tif (!concourseDataFetched) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tconcourseDataFetched: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'notifications':\n\t\t\t\tdispatch(NOTIFICATION_MENU_OPENED);\n\t\t\t\tmenuData = notifications;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// update Contextual Menu state\n\t\tupdateState({\n\t\t\tcontextualMenu: {\n\t\t\t\t...contextualMenu,\n\t\t\t\tshowMenu: true,\n\t\t\t\tmenuType: contextualMenuType,\n\t\t\t\theaderText: contextualMenuHeaderText,\n\t\t\t\tbuttonRef: ref,\n\t\t\t\tmenuData: menuData,\n\t\t\t\tmenuContext: context,\n\t\t\t\thelpContentIndicatorOn:\n\t\t\t\t\tcontextualMenuType === 'helpMenu'\n\t\t\t\t\t\t? 0\n\t\t\t\t\t\t: contextualMenu.helpContentIndicatorOn,\n\t\t\t\tunreadChatCount: contextualMenu.unreadChatCount\n\t\t\t}\n\t\t});\n\t} else {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t}\n}\n\nconst layoutPropertyChangedEffect = ({\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate\n}) => {\n\tconst {\n\t\tpayload: {name, value}\n\t} = action;\n\tconst {headerMenuItems} = state;\n\n\tif (name == 'windowSize') {\n\t\thandleMenuPinningReflow({state, updateState});\n\t}\n\tif (name === 'selectedContent') {\n\t\tif (value !== null && value.route) {\n\t\t\tconst favList =\n\t\t\t\theaderMenuItems?.filter(({id}) => id === MENU_FAVORITES) || null;\n\n\t\t\tif (favList !== null) {\n\t\t\t\tdispatch(FAVORITE_CHECK_REQUESTED, {\n\t\t\t\t\tvalue,\n\t\t\t\t\tfavoriteList: favList\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {onlyAllEntryRecording: true});\n\t}\n};\n\nexport const favoriteToggleCurrentPage = ({\n\tdispatch,\n\tstate: {pageTitle, selectedContentFavorite, polarisSearchContexts},\n\tproperties: {selectedContent}\n}) => {\n\tif (selectedContentFavorite) {\n\t\tdispatch(LAYOUT_ITEM_UNFAVORITED, {\n\t\t\titem: selectedContentFavorite,\n\t\t\tfromExperienceTitle: true,\n\t\t\tpositions: [{target: 'bottom-center', content: 'top-center'}]\n\t\t});\n\t} else {\n\t\tconst {favoriteTooltip} = getExperienceLabelAndFavoriteTooltip(\n\t\t\tselectedContent,\n\t\t\tpageTitle,\n\t\t\tpolarisSearchContexts\n\t\t);\n\t\tdispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\ttitle: favoriteTooltip,\n\t\t\tfavoritePopupPayload: {\n\t\t\t\tinitialName: favoriteTooltip,\n\t\t\t\tfromExperienceTitle: true\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * Handle when the user clicks the pin button on the main menu\n * @param {*} param0\n */\nconst handleMainMenuPin = (coeffects) => {\n\tconst {action, updateState, state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {\n\t\tprimaryMenuId,\n\t\tsecondaryMenuId,\n\t\tdoPinning,\n\t\tisPrimary,\n\t\tisPinnedWindow = false\n\t} = action.payload;\n\n\tconst {headerMenuItems} = state;\n\n\tlet label = '';\n\tlet menuType = '';\n\n\tif (state.mainMenuState.isPinnedWindow) {\n\t\twindow.nowWindowManager.closeDock('left', secondaryMenuId);\n\t}\n\n\tif (isPrimary) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tisMenuPinned: doPinning,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tsecondaryMenuId !== null ? secondaryMenuId : primaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: doPinning ? primaryMenuId : null,\n\t\t\t\tcanBePinned:\n\t\t\t\t\tproperties.windowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE,\n\t\t\t\tisPinnedWindow: isPinnedWindow && doPinning\n\t\t\t}\n\t\t});\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: doPinning ? primaryMenuId : 'null'\n\t\t});\n\n\t\tconst menuItem = headerMenuItems.find((item) => item.id === primaryMenuId);\n\t\tlabel = menuItem?.label || primaryMenuId;\n\t\tmenuType = getMenuType(primaryMenuId);\n\t} else {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tisMenuPinned: true,\n\t\t\t\tprimaryMenuId: secondaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: secondaryMenuId,\n\t\t\t\tcanBePinned:\n\t\t\t\t\tproperties.windowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE\n\t\t\t}\n\t\t});\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: secondaryMenuId\n\t\t});\n\n\t\tconst menuItem = headerMenuItems.find(\n\t\t\t(item) => item.id === secondaryMenuId\n\t\t);\n\t\tlabel = menuItem?.label || secondaryMenuId;\n\t\tmenuType = getMenuType(secondaryMenuId);\n\t}\n\n\ttrack(coeffects, METRICS.PIN, {\n\t\taction: !isPrimary || doPinning ? 'Pin' : 'Unpin',\n\t\tmenuName: label,\n\t\tmenuType\n\t});\n};\n\n/**\n * Handle when the user clicks the pin button on the contextual menu\n * @param {*} param0\n */\nconst handleContextualMenuPin = (coeffects) => {\n\tconst {action, state, updateState, dispatch, host} = coeffects;\n\tconst {\n\t\tprimaryMenuId = state.contextualMenuState.primaryMenuId,\n\t\tsecondaryMenuId = state.contextualMenuState.secondaryMenuId,\n\t\tdoPinning,\n\t\tisPrimary,\n\t\tisBarMenu = false,\n\t\tbarMenuId,\n\t\tisWideMenu,\n\t\tisPinnedWindow = false\n\t} = action.payload;\n\n\tlet label = '';\n\n\tconst isAIEX =\n\t\t(isPrimary ? primaryMenuId : secondaryMenuId) === NOW_ASSIST_MENU_ID &&\n\t\t(state.isAIELEnabled ?? cache.get('isAIELEnabled'));\n\n\tif (doPinning && isWideMenu) {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.wideMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t} else if (isAIEX) {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.napMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t} else {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.menuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t}\n\n\tfunction getPinnedMenuWidth() {\n\t\tif (isAIEX) {\n\t\t\treturn state.napMenuWidth;\n\t\t} else if (isWideMenu) {\n\t\t\treturn state.wideMenuWidth;\n\t\t} else {\n\t\t\treturn state.menuWidth;\n\t\t}\n\t}\n\n\tif (state.contextualMenuState.isPinnedWindow && !isPinnedWindow) {\n\t\twindow.nowWindowManager.closeDock('right', secondaryMenuId);\n\t}\n\n\tif (isPrimary) {\n\t\tlet pinnedMenuWidth = state.menuWidth;\n\t\tif (doPinning) {\n\t\t\tif (isAIEX) {\n\t\t\t\tpinnedMenuWidth = state.napMenuWidth;\n\t\t\t} else if (isWideMenu) {\n\t\t\t\tpinnedMenuWidth = state.wideMenuWidth;\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tisMenuPinned: doPinning,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tsecondaryMenuId !== null ? secondaryMenuId : primaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedThroughUI: true,\n\t\t\t\tpinnedMenuId: doPinning ? primaryMenuId : null,\n\t\t\t\tpinnedMenuWidth,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tisPinnedWindow: isPinnedWindow && doPinning\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_PINNED_ID,\n\t\t\tvalue: doPinning ? primaryMenuId : 'null'\n\t\t});\n\n\t\tlabel = primaryMenuId;\n\t} else {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tisMenuPinned: true,\n\t\t\t\tprimaryMenuId: secondaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedThroughUI: true,\n\t\t\t\tpinnedMenuId: secondaryMenuId,\n\t\t\t\tpinnedMenuWidth: getPinnedMenuWidth(),\n\t\t\t\tisPinnedWindow: false\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_PINNED_ID,\n\t\t\tvalue: secondaryMenuId\n\t\t});\n\t\tlabel = secondaryMenuId;\n\t}\n\n\ttrack(coeffects, METRICS.PIN, {\n\t\taction: !isPrimary || doPinning ? 'Pin' : 'Unpin',\n\t\tmenuName: label\n\t});\n};\n\n/**\n * Handles automatically pinning and unpinned the menus based on the window size.\n * Called on window resize and needed so that menus can be unpinned when there is no\n * enough space for one or more pinned menus.\n *\n * @param {object} coeffects\n */\nconst handleMenuPinningReflow = (coeffects) => {\n\tconst {state, updateState} = coeffects;\n\tconst {properties} = state;\n\tconst newWidth = properties.windowSize.width;\n\n\tif (newWidth <= REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tprimaryMenuId: -1,\n\t\t\t\tsecondaryMenuId: -1,\n\t\t\t\tcanBePinned: false\n\t\t\t},\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tprimaryMenuId: -1,\n\t\t\t\tsecondaryMenuId: -1,\n\t\t\t\tcanBePinned: false\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tconst canPinMainMenu =\n\t\tnewWidth >= REFLOW_BREAKPOINTS.MAIN_MENU_PIN_BREAKPOINT;\n\tconst canPinContextualMenu =\n\t\tnewWidth >= REFLOW_BREAKPOINTS.CONTEXTUAL_MENU_PIN_BREAKPOINT;\n\n\tconst resetMainPinId =\n\t\tcanPinMainMenu &&\n\t\tstate.mainMenuState.pinnedMenuId !== state.mainMenuState.primaryMenuId;\n\tconst resetContextualPinId =\n\t\tcanPinContextualMenu &&\n\t\tstate.contextualMenuState.pinnedMenuId !==\n\t\t\tstate.contextualMenuState.primaryMenuId;\n\n\tupdateState({\n\t\tmainMenuState: {\n\t\t\t...state.mainMenuState,\n\t\t\tprimaryMenuId: resetMainPinId\n\t\t\t\t? state.mainMenuState.pinnedMenuId\n\t\t\t\t: state.mainMenuState.primaryMenuId,\n\t\t\tsecondaryMenuId: resetMainPinId\n\t\t\t\t? null\n\t\t\t\t: state.mainMenuState.secondaryMenuId,\n\t\t\tcanBePinned: canPinMainMenu\n\t\t},\n\t\tcontextualMenuState: {\n\t\t\t...state.contextualMenuState,\n\t\t\tprimaryMenuId: resetContextualPinId\n\t\t\t\t? state.contextualMenuState.pinnedMenuId\n\t\t\t\t: state.contextualMenuState.primaryMenuId,\n\t\t\tsecondaryMenuId: resetContextualPinId\n\t\t\t\t? null\n\t\t\t\t: state.contextualMenuState.secondaryMenuId,\n\t\t\tcanBePinned: canPinContextualMenu\n\t\t}\n\t});\n};\n\nconst handleWindowResize = ({updateProperties}) => {\n\tconst newWidth = Math.round(window.innerWidth);\n\tconst newHeight = Math.round(window.innerHeight);\n\n\tupdateProperties({\n\t\twindowSize: {\n\t\t\twidth: newWidth,\n\t\t\theight: newHeight\n\t\t}\n\t});\n};\n\nconst handleTabSelection = (coeffects) => {\n\tlet {\n\t\taction: {\n\t\t\tpayload: {menuId, label, isDirty}\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tif (state.isLoadingMenu && !state.menuFetched) {\n\t\tdispatch(MENU_REFRESH_REQUESTED);\n\n\t\tupdateState({\n\t\t\tpath: 'menuFetched',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tdispatch(CLOSE_POPOVERS);\n\tconst alreadyOpen =\n\t\tstate.mainMenuState.primaryMenuId === menuId ||\n\t\tstate.mainMenuState.secondaryMenuId === menuId;\n\tconst menuType = menuId !== OVERFLOW_MENU_ID ? getMenuType(menuId) : '';\n\n\tif (alreadyOpen) menuId = null;\n\n\tif (!label) {\n\t\tlabel = state.headerMenuItems.find(({id}) => id === menuId)?.label;\n\t}\n\n\tconst metadata = {\n\t\taction: menuId !== null ? OPEN : CLOSE,\n\t\tmenuName: label,\n\t\tmenuType\n\t};\n\tif (isDirty) metadata.isUnsaved = true;\n\n\ttrack(coeffects, METRICS.SELECT_MENU, metadata);\n\tif (state.mainMenuState.isMenuPinned && state.mainMenuState.canBePinned) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tsecondaryMenuId: menuId,\n\t\t\t\tclosedByKeyboard: false\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tprimaryMenuId: menuId,\n\t\t\t\tclosedByKeyboard: false\n\t\t\t}\n\t\t});\n\t}\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleContextualMenuSelection = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tmenuId,\n\t\t\t\tbuttonConfig,\n\t\t\t\tdispatchedAction,\n\t\t\t\tisBarMenu = false,\n\t\t\t\topenNewMenu = false,\n\t\t\t\tbarMenuId,\n\t\t\t\tutilityBarRef,\n\t\t\t\tadditionalData\n\t\t\t}\n\t\t},\n\t\tstate: {\n\t\t\tuiNotificationsMeta,\n\t\t\tcontextualMenu,\n\t\t\tcontextualMenuState,\n\t\t\thelpPanelAppContext,\n\t\t\tshowUtilityBar\n\t\t},\n\t\tproperties: {selectedContent},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tconst indicatorOn = buttonConfig?.indicatorOn;\n\tconst isUtilityBarTrigger =\n\t\tbuttonConfig?.isUtilityBarTrigger || menuId === INSTANCE_TOOLS_MENU_ID;\n\n\tdispatch(CLOSE_POPOVERS);\n\n\tconst isOpen = menuId !== null;\n\tconst metadata = {\n\t\taction: isOpen ? 'Open' : 'Close'\n\t};\n\n\tlet metric;\n\tswitch (dispatchedAction) {\n\t\tcase BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED:\n\t\t\tmetric = METRICS.SELECT_SCOPE_MENU;\n\t\t\tif (isOpen) {\n\t\t\t\tmetadata.defaultScope = !indicatorOn;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.NOTIFICATION_TRIGGERED:\n\t\t\tmetric = METRICS.SELECT_NOTIFICATION_MENU;\n\t\t\tif (isOpen && uiNotificationsMeta) {\n\t\t\t\tmetadata.notificationCount = uiNotificationsMeta.totalRowCount;\n\t\t\t\tmetadata.badge = uiNotificationsMeta.totalRowCount > 0;\n\t\t\t\tmetadata.badgeCount = uiNotificationsMeta.totalRowCount;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.HELP_CLICKED:\n\t\t\tmetric = METRICS.SELECT_HELP_MENU;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED:\n\t\t\tmetric = METRICS.SELECT_CTI_MENU;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.CHAT_CLICKED:\n\t\t\tmetric = METRICS.SELECT_COLLAB_CHAT;\n\t\t\tmetadata.unreadChatCount = contextualMenu.unreadChatCount;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.NOW_ASSIST_CLICKED:\n\t\t\tmetric = METRICS.SELECT_NOW_ASSIST;\n\t\t\tmetadata.route = selectedContent.route;\n\t\t\tmetadata.experienceName = selectedContent?.context?.experienceName;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED:\n\t\t\tupdateState({\n\t\t\t\tshowUtilityBar: !showUtilityBar\n\t\t\t});\n\n\t\t\t// Toggle preferences for all pickers\n\t\t\t[\n\t\t\t\tPREFERENCES.DOMAIN_PICKER_SHOWN,\n\t\t\t\tPREFERENCES.APPLICATION_PICKER_SHOWN,\n\t\t\t\tPREFERENCES.UPDATE_SET_SHOWN,\n\t\t\t\tPREFERENCES.ENCRYPTION_SHOWN\n\t\t\t].forEach((pref) => {\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: pref,\n\t\t\t\t\tvalue: !showUtilityBar\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tmetric = METRICS.SELECT_INSTANCE_TOOLS;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tmetric = METRICS.SELECT_USER_MENU;\n\t}\n\n\ttrack(coeffects, metric, metadata);\n\n\tif (dispatchedAction === BUTTON_ACTIONS.HELP_CLICKED) {\n\t\tupdateState({\n\t\t\thelpPanelAppContext: {\n\t\t\t\t...helpPanelAppContext,\n\t\t\t\tshowHelpPanel: true\n\t\t\t}\n\t\t});\n\t}\n\n\tconst openedMenus = contextualMenuState.hasBeenOpened;\n\n\tif (isOpen && contextualMenuState.hasBeenOpened.indexOf(menuId) === -1) {\n\t\topenedMenus.push(menuId);\n\t}\n\n\tconst isBarOpen = isUtilityBarTrigger ? !showUtilityBar : showUtilityBar;\n\n\tif (buttonConfig?.openNewMenu || openNewMenu) {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t}\n\n\tif (contextualMenuState.isMenuPinned && contextualMenuState.canBePinned) {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...contextualMenuState,\n\t\t\t\tadditionalData,\n\t\t\t\tsecondaryMenuId:\n\t\t\t\t\tcontextualMenuState.secondaryMenuId === menuId ? null : menuId,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\tisBarOpen,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tutilityBarRef: isBarMenu ? utilityBarRef : null\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...contextualMenuState,\n\t\t\t\tadditionalData,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId ? null : menuId,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\tisBarOpen,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tutilityBarRef: isBarMenu ? utilityBarRef : null\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handleOpenUtilityMenu = ({\n\taction: {\n\t\tpayload: {id: menuId, pin, context, additionalData = {}}\n\t},\n\tdispatch,\n\tstate\n}) => {\n\tif (menuId === NOW_ASSIST_PANEL_MENU_ID) {\n\t\tmenuId = NOW_ASSIST_MENU_ID;\n\t}\n\n\tfunction isOpen(menuId) {\n\t\treturn (\n\t\t\tstate.contextualMenuState.primaryMenuId === menuId ||\n\t\t\tstate.contextualMenuState.secondaryMenuId === menuId\n\t\t);\n\t}\n\n\tconst isNAPMenu = menuId === NOW_ASSIST_MENU_ID;\n\tconst isAIEX = isNAPMenu && state.isAIELEnabled;\n\tconst isMenuOpen = isOpen(menuId);\n\n\t// default to false for all menus other than aiex\n\tpin = pin ?? (isAIEX ? true : false);\n\n\t// Don't toggle, this is explicitly for \"opening\"\n\t// Allow special case for now-assist to receive conversation id update when pinned\n\tif (!isMenuOpen || isNAPMenu) {\n\t\tconst dispatchedActionMap = {\n\t\t\t[HELP_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.HELP_CLICKED,\n\t\t\t\theaderText: HELP_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[CHAT_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.CHAT_CLICKED,\n\t\t\t\theaderText: CHAT_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[NOTIFICATIONS_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.NOTIFICATION_TRIGGERED,\n\t\t\t\theaderText: NOTIFICATIONS_HEADER_TEXT\n\t\t\t},\n\t\t\t[OPENFRAME_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED,\n\t\t\t\theaderText: OPENFRAME_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[CONCOURSE_PICKER_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED,\n\t\t\t\theaderText: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t},\n\t\t\t[USER_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED,\n\t\t\t\theaderText: USER_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[NOW_ASSIST_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.NOW_ASSIST_CLICKED,\n\t\t\t\theaderText: NOW_ASSIST_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[USAGE_ANALYTICS_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.USAGE_ANAYLTICS_CLICKED,\n\t\t\t\theaderText: USAGE_ANALYTICS_HEADER_TEXT\n\t\t\t}\n\t\t};\n\n\t\tconst matchingOverflowMenu = mapOverflowMenuItems(\n\t\t\tstate.contextualMenu\n\t\t)?.find(({menuConfig}) => menuConfig.menuProperties.menuType === menuId);\n\n\t\tif (matchingOverflowMenu) {\n\t\t\t// If the menu is in overflow, go through flow of opening the overflow\n\t\t\t// menu and then drilling into the specific menu\n\t\t\tconst dispatchedAction = BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED;\n\n\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\tmenuId: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\tdispatchedAction\n\t\t\t});\n\t\t\tdispatch(CLOSE_MENUS);\n\t\t\tdispatch(dispatchedAction, {\n\t\t\t\tcontextualMenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\tcontext\n\t\t\t});\n\n\t\t\t// needed to wait for the above dispatches to get the overflow menu rendering\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\titem: matchingOverflowMenu,\n\t\t\t\t\tdrilled: true,\n\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tconst menuInfo = dispatchedActionMap[menuId];\n\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\tmenuId,\n\t\t\t\tdispatchedAction: menuInfo.action,\n\t\t\t\topenNewMenu: menuInfo.openNewMenu,\n\t\t\t\tadditionalData\n\t\t\t});\n\t\t\tdispatch(CLOSE_MENUS);\n\t\t\tdispatch(menuInfo.action, {\n\t\t\t\tcontextualMenuType: menuId,\n\t\t\t\tcontextualMenuHeaderText: menuInfo.headerText,\n\t\t\t\tcontext,\n\t\t\t\tpin,\n\t\t\t\tadditionalData\n\t\t\t});\n\t\t}\n\t}\n\n\tif (state.contextualMenuState.isMenuPinned !== pin) {\n\t\tconst {contextualMenuState} = state;\n\n\t\tif (isAIEX) {\n\t\t\twindow.nowWindowManager.toggleDock(\n\t\t\t\tNOW_ASSIST_MENU_ID,\n\t\t\t\tdocument.dir === 'rtl' ? 'left' : 'right'\n\t\t\t);\n\t\t}\n\n\t\tdispatch(CONTEXTUAL_MENU_PINNED, {\n\t\t\tprimaryMenuId: menuId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tdoPinning: pin,\n\t\t\tisPrimary: contextualMenuState.isMenuPinned\n\t\t\t\t? contextualMenuState.primaryMenuId === USER_MENU_ID\n\t\t\t\t: true,\n\t\t\tisWideMenu: ['chat', 'usageAnalytics'].includes(menuId) // this needs to be centralized\n\t\t});\n\t}\n};\n\nconst handleToggleUtilityMenu = ({\n\taction: {\n\t\tpayload: {menuId}\n\t},\n\tdispatch,\n\tstate: {contextualMenuState, contextualMenu}\n}) => {\n\tif (\n\t\tcontextualMenuState.primaryMenuId === menuId ||\n\t\tcontextualMenuState.secondaryMenuId === menuId ||\n\t\tcontextualMenu.drilledMenu?.menuConfig?.menuProperties?.menuType === menuId\n\t) {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t} else {\n\t\tdispatch(OPEN_UTILITY_MENU, {id: menuId});\n\t}\n};\n\nfunction loadStyleProps(state, updateState, host) {\n\tconst {\n\t\tcontextualMenuState: {primaryMenuId, isMenuPinned, canBePinned},\n\t\twideMenus\n\t} = state;\n\tconst standardMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--nav-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tconst wideMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--wide-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tconst napMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--nap-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tlet newMenuWidth = standardMenuWidth;\n\tif (\n\t\tprimaryMenuId === 'chat' ||\n\t\tprimaryMenuId === 'usageAnalytics' ||\n\t\t(isMenuPinned && canBePinned && wideMenus.includes(primaryMenuId))\n\t) {\n\t\tnewMenuWidth = wideMenuWidth;\n\t}\n\n\tif (\n\t\tprimaryMenuId === NOW_ASSIST_MENU_ID &&\n\t\t(state.isAIELEnabled ?? cache.get('isAIELEnabled'))\n\t) {\n\t\tnewMenuWidth = napMenuWidth;\n\t}\n\n\thost.style.setProperty(\n\t\t'--pinned-contextual-menu-width',\n\t\t`${newMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t);\n\n\tif (isNaN(standardMenuWidth) || isNaN(wideMenuWidth)) {\n\t\treturn false;\n\t}\n\n\tupdateState({\n\t\tmenuWidth: standardMenuWidth,\n\t\twideMenuWidth: wideMenuWidth,\n\t\tnapMenuWidth: napMenuWidth,\n\t\tcontextualMenuState: {\n\t\t\t...state.contextualMenuState,\n\t\t\tpinnedMenuWidth: newMenuWidth\n\t\t},\n\t\thelpPanelAppContext: {\n\t\t\t...state.helpPanelAppContext,\n\t\t\tappContext: getHelpContext(state.activeContent)\n\t\t}\n\t});\n}\n\nfunction componentBootstrap({updateState, dispatch, properties, state, host}) {\n\tconsole.debug('polaris app shell loaded'); // eslint-disable-line no-console\n\tconst route = get(properties, 'selectedContent', {});\n\n\tif (!isEmpty(route)) {\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {route});\n\n\t\tupdateState({\n\t\t\tpath: 'lastPageVisited',\n\t\t\toperation: 'set',\n\t\t\tvalue: {url: globals.getLocationPathName(), title: route?.title},\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tconst instanceName = getProperty(SYS_PROPS.PRODUCT_NAME, SERVICE_NOW);\n\tupdateState({\n\t\tcontextualMenu: {\n\t\t\t...state.contextualMenu,\n\t\t\tinstanceName: instanceName\n\t\t}\n\t});\n\n\tloadStyleProps(state, updateState, host);\n\n\tconst handleResize = debounce(() => {\n\t\t// need to trigger event on resize so we get updated state values during resize\n\t\tdispatch(WINDOW_RESIZED);\n\t}, 100);\n\n\twindow.addEventListener('resize', handleResize);\n\thandleResize();\n\n\twindow.onblur = () => {\n\t\tdispatch(CLOSE_MENUS);\n\t};\n\n\tif (window?.NOW) {\n\t\twindow.NOW.isPolarisWrapper = 'true';\n\t}\n\n\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\taction: () => {\n\t\t\timport('./transaction-status-message');\n\t\t\tconst animationsDisabled = getBooleanPreferenceValue(\n\t\t\t\tstate.userPreferences,\n\t\t\t\tPREFERENCES.DISABLE_ANIMATION\n\t\t\t);\n\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: true,\n\t\t\t\tanimationsEnabled: !animationsDisabled\n\t\t\t});\n\t\t\tdispatch('NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER', {\n\t\t\t\thostComponent: host\n\t\t\t});\n\t\t}\n\t});\n\n\t// The below setTimeout call allows slow loading pages to start fetching data for\n\t// any behaviors which are already loaded after the timeout period but only when\n\t// `initialExperiencePageLoadedCodeExecuted` is still false.\n\t// If `initialExperiencePageLoadedCodeExecuted` is still false after the timeout\n\t// then the page is running slow and `NOW_EXPERIENCE_PAGE_LOADED`\n\t// has NOT been triggered yet, otherwise it would be true.\n\t// We don't update `initialExperiencePageLoadedCodeExecuted` to true here because\n\t// if the page is loading slow there might be behaviors which load after time timeout\n\t// and we want to be sure their lifecycle functions get still get called\n\t// once `NOW_EXPERIENCE_PAGE_LOADED` is finally triggered. Otherwise things like\n\t// the domain picker will not load. See DEF0245099.\n\tsetTimeout(() => {\n\t\tif (!initialExperiencePageLoadedCodeExecuted) {\n\t\t\trunLifecycleFns(INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t}\n\t}, getProperty(SYS_PROPS.UI.PAGE_LOAD_TIME_OUT) || 1000);\n}\n\nfunction nowExperienceSwitched({dispatch, action}) {\n\tconst route = action.payload;\n\tdispatch(HISTORY_UPDATE_REQUESTED, {route});\n}\n\nfunction menuFocus({action, dispatch, host, state: {mainMenuState}}) {\n\tconst {menuName, label} = action.payload;\n\tif (\n\t\tmainMenuState.primaryMenuId === menuName ||\n\t\tmainMenuState.secondaryMenuId === menuName\n\t) {\n\t\tArray.from(\n\t\t\thost.shadowRoot\n\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t?.shadowRoot.querySelectorAll('sn-polaris-menu') || []\n\t\t)\n\t\t\t.find((m) => m.menu?.id === menuName)\n\t\t\t.focus();\n\t} else {\n\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\tmenuId: menuName,\n\t\t\tlabel\n\t\t});\n\t}\n}\n\nfunction navButtonFocus({action, host}) {\n\tconst {menuId} = action.payload;\n\n\tArray.from(\n\t\thost.shadowRoot\n\t\t\t.querySelector('sn-polaris-header')\n\t\t\t?.shadowRoot.querySelectorAll('.sn-polaris-tab') || []\n\t)\n\t\t.find((m) => m.id === menuId)\n\t\t.focus();\n}\n\nfunction overflowButtonFocus({host}) {\n\thost.shadowRoot\n\t\t.querySelector('sn-polaris-header')\n\t\t?.shadowRoot.querySelector('.tab-overflow')\n\t\t?.focus();\n}\n\nfunction drilldownIntoMenu(coeffects) {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState\n\t} = coeffects;\n\n\tconst {drilled, item} = payload ?? {};\n\n\tupdateState({\n\t\toverflowMenuDrilldown: drilled ? item : null\n\t});\n\n\tconst metadata = {\n\t\taction: drilled ? OPEN : CLOSE,\n\t\tmenuName: item?.label ?? '',\n\t\tmenuId: item?.id ?? '',\n\t\tmenuType: getMenuType(item?.id)\n\t};\n\ttrack(coeffects, METRICS.SELECT_MENU, metadata);\n}\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrap,\n\t['NOW_EXPERIENCE_SWITCHED']: nowExperienceSwitched,\n\t[TAB_PRIMARY_SELECTED]: handleTabSelection,\n\t[CONTEXTUAL_MENU_SELECTED]: handleContextualMenuSelection,\n\t[OPEN_UTILITY_MENU]: handleOpenUtilityMenu,\n\t[TOGGLE_UTILITY_MENU]: handleToggleUtilityMenu,\n\t[MAIN_MENU_PINNED]: handleMainMenuPin,\n\t[CONTEXTUAL_MENU_PINNED]: handleContextualMenuPin,\n\t[COMPONENT_PROPERTY_CHANGED]: layoutPropertyChangedEffect,\n\t[WINDOW_RESIZED]: {\n\t\teffect: (coeffects) => {\n\t\t\thandleWindowResize(coeffects);\n\t\t\tcoeffects.dispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\tCANVAS_SCREEN_LOADED: ({state: {activeContent}, updateState}) => {\n\t\t// don't double fire for iframed pages\n\t\tif (activeContent?.route === 'classic') {\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: false\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Firing legacy event for tests that depend on knowing when the page is loaded\n\t\trequestIdleCallback(() => {\n\t\t\tif (window.CustomEvent?.fireAll) {\n\t\t\t\twindow.CustomEvent.fireAll('page_loaded_fully', {\n\t\t\t\t\tframeElement: {id: 'gsft_main'}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: true\n\t\t\t});\n\t\t});\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: ({state, updateState, dispatch, host}) => {\n\t\t\tlet impersonationStatus;\n\t\t\tif (window?.localStorage?.getItem(ANNOUNCE_IMPERSONATION_START_KEY)) {\n\t\t\t\twindow.localStorage.removeItem(ANNOUNCE_IMPERSONATION_START_KEY);\n\n\t\t\t\timpersonationStatus = 'start';\n\t\t\t} else if (\n\t\t\t\twindow?.localStorage?.getItem(ANNOUNCE_IMPERSONATION_END_KEY)\n\t\t\t) {\n\t\t\t\twindow.localStorage.removeItem(ANNOUNCE_IMPERSONATION_END_KEY);\n\n\t\t\t\timpersonationStatus = 'end';\n\t\t\t}\n\n\t\t\tif (impersonationStatus) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateState({announceImpersonationStatus: impersonationStatus});\n\t\t\t\t}, 1000);\n\t\t\t}\n\n\t\t\tif (state.menuWidth === 0 || state.wideMenuWidth === 0) {\n\t\t\t\tloadStyleProps(state, updateState, host);\n\t\t\t}\n\n\t\t\t// Request help content if the panel is shown by default (eg. pinned)\n\t\t\tif (state.helpPanelAppContext?.showHelpPanel) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch('SN_HELP_PANEL#SHOW_REQUESTED', state.helpPanelAppContext);\n\t\t\t\t}, 900);\n\t\t\t}\n\t\t}\n\t},\n\t[CLOSE_MENUS]: (coeffects) => {\n\t\tconst {\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\taction: {payload}\n\t\t} = coeffects;\n\t\tconst closedByKeyboard = payload?.closedByKeyboard || false;\n\t\tupdateState({overflowMenuDrilldown: null});\n\n\t\tif (state.mainMenuState.isMenuPinned && state.mainMenuState.canBePinned) {\n\t\t\tupdateState({\n\t\t\t\tmainMenuState: {\n\t\t\t\t\t...state.mainMenuState,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard,\n\t\t\t\t\tsecondaryMenuId: null\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// `track` only if a menu is actually open so we don't spam events.\n\t\t\tif (state.mainMenuState.secondaryMenuId)\n\t\t\t\ttrack(coeffects, METRICS.CLOSE_MENU);\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tmainMenuState: {\n\t\t\t\t\t...state.mainMenuState,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard,\n\t\t\t\t\tprimaryMenuId: null,\n\t\t\t\t\tsecondaryMenuId: null\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tstate.mainMenuState.primaryMenuId ||\n\t\t\t\tstate.mainMenuState.secondaryMenuId\n\t\t\t)\n\t\t\t\ttrack(coeffects, METRICS.CLOSE_MENU);\n\t\t}\n\t},\n\t[CLOSE_CONTEXTUAL_MENU]: {\n\t\teffect: ({state, updateState, action: {payload}}) => {\n\t\t\tconst closedByKeyboard = payload?.closedByKeyboard || false;\n\t\t\tupdateState({\n\t\t\t\tcontextualMenu: {\n\t\t\t\t\t...state.contextualMenu,\n\t\t\t\t\tshowMenu: false,\n\t\t\t\t\tmenuType: null,\n\t\t\t\t\tdrilledMenu: null,\n\t\t\t\t\theaderText: null,\n\t\t\t\t\tbuttonRef: null,\n\t\t\t\t\tmenuData: null,\n\t\t\t\t\t__timestamp: Date.now()\n\t\t\t\t},\n\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t...state.contextualMenuState,\n\t\t\t\t\tprimaryMenuId:\n\t\t\t\t\t\tstate.contextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tstate.contextualMenuState.canBePinned\n\t\t\t\t\t\t\t? state.contextualMenuState.primaryMenuId\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tsecondaryMenuId: null,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[CLOSE_POPOVERS]: {\n\t\teffect: ({action: {payload}}) => {\n\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\twindow.CustomEvent.fireAll('body_clicked', payload);\n\t\t}\n\t},\n\t[CLOSE_MODALS]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tstate: {favoriteModalProps},\n\t\t\taction: {payload}\n\t\t}) => {\n\t\t\t// Closes out the following modals within their respective behavior's code:\n\t\t\t// - Keyboard shortcuts\n\t\t\t// - Impersonation\n\t\t\t// - Elevate role\n\t\t\t// - Feedback form\n\t\t\t// - Preferences\n\t\t\t// - Dirty form confirmation\n\t\t\t// - Printer confirmation\n\t\t\t// - Guided tours prompt\n\n\t\t\t// The favorite edit modal is a special case since it can contain unsaved changes.\n\t\t\t// We request to close the modal so that the user can decide if they want to leave and execute the shortcut\n\t\t\t// If other modals need this check, they can be added here\n\t\t\tif (!isEmpty(favoriteModalProps)) {\n\t\t\t\tupdateState({\n\t\t\t\t\trequestToCloseModals: payload\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_SUCCEEDED, payload);\n\t\t\t}\n\t\t}\n\t},\n\t[NOTIFICATION_DATA_UPDATED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {action, updateState} = coeffects;\n\t\t\tconst {notificationData} = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpath: 'contextualMenu.notificationData',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: notificationData\n\t\t\t});\n\t\t\t// Update badge count in overflow\n\t\t\tpositionHeaderItems(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[UN_PAGE_TITLE_UPDATE_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {recentIframeTitle},\n\t\t\t\tproperties: {selectedContent, polarisSearchContexts}\n\t\t\t} = coeffects;\n\n\t\t\tlet title = payload?.label;\n\t\t\tconst bypassExperienceTitle = payload?.bypassExperienceTitle || false;\n\n\t\t\tif (\n\t\t\t\tselectedContent?.context?.path === POLARIS_SITE_NAME &&\n\t\t\t\tisEmpty(title)\n\t\t\t) {\n\t\t\t\ttitle =\n\t\t\t\t\tselectedContent.route === 'home' ? t('Home') : recentIframeTitle;\n\t\t\t}\n\n\t\t\tconst productName = getProperty(SYS_PROPS.PRODUCT_NAME) || SERVICE_NOW;\n\t\t\tconst productDescription =\n\t\t\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || '';\n\t\t\tconst suffix = ` | ${productName}`;\n\n\t\t\tif (title) {\n\t\t\t\ttitle = decodeEntities(title);\n\n\t\t\t\tif (validateSearchPage(selectedContent)) {\n\t\t\t\t\ttitle = formatSearchPageTitle(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (title.includes(productDescription)) {\n\t\t\t\t\ttitle = removeHtmlFromDescription(title, productDescription);\n\t\t\t\t}\n\n\t\t\t\tif (!title.includes(suffix) && title.trim() !== productName)\n\t\t\t\t\ttitle += suffix;\n\n\t\t\t\t// Ask UXF to change the title only when we are in unified nav experience and not a workspace\n\t\t\t\tif (\n\t\t\t\t\twindow.document.title !== title &&\n\t\t\t\t\t(selectedContent?.context?.path === POLARIS_CONTEXT.path ||\n\t\t\t\t\t\tbypassExperienceTitle)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\t\t\t\tlabel: title,\n\t\t\t\t\t\turl: window.document.title\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\ttitle = transformTitle(title);\n\t\t\t\tupdateState({\n\t\t\t\t\tpageTitle: {label: title},\n\t\t\t\t\tbypassExperienceTitle: bypassExperienceTitle\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst url = payload?.url;\n\t\t\tif (url) {\n\t\t\t\tsetTopLevelUrl(url, dispatch);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[RECENT_IFRAME_TITLE_UPDATED]: {\n\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\tconst productDescription =\n\t\t\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || '';\n\t\t\tif (payload.label.includes(productDescription)) {\n\t\t\t\tconst label = removeHtmlFromDescription(\n\t\t\t\t\tpayload.label,\n\t\t\t\t\tproductDescription\n\t\t\t\t);\n\t\t\t\tupdateState({recentIframeTitle: label});\n\t\t\t} else {\n\t\t\t\tupdateState({recentIframeTitle: payload.label});\n\t\t\t}\n\t\t}\n\t},\n\t[POLARIS_IFRAME_LOAD_COMPLETE]: {\n\t\teffect: async (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffects;\n\t\t\tconst iframe = getCoreUiIframe(host);\n\t\t\tconst startTime =\n\t\t\t\tiframe?.contentWindow?.performance?.timing.navigationStart || 0;\n\t\t\t//waiting for 75 milliseconds to ensure that all components idle.\n\t\t\tawait waitForAllComponentsIdle(75);\n\t\t\tconst endTime =\n\t\t\t\tiframe?.contentWindow?.performance?.timing.loadEventEnd || 0;\n\t\t\tconst loadTime = performance.now() - payload.startTime;\n\t\t\tconst totalUiTime = endTime - startTime;\n\t\t\tif (totalUiTime > 0) {\n\t\t\t\tconst {label, interactionType, isDocumentHidden} = payload;\n\t\t\t\ttrack(\n\t\t\t\t\tcoeffects,\n\t\t\t\t\tMETRICS.IFRAME_LOAD_COMPLETE,\n\t\t\t\t\t{\n\t\t\t\t\t\tscreenParams: {\n\t\t\t\t\t\t\ttarget: payload.relativePath\n\t\t\t\t\t\t},\n\t\t\t\t\t\turl: window.parent\n\t\t\t\t\t\t\t? window.parent.location.href\n\t\t\t\t\t\t\t: iframe.contentDocument.location.href,\n\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\tendTime,\n\t\t\t\t\t\ttotalUiTime: loadTime,\n\t\t\t\t\t\texperienceName: POLARIS_CONTEXT.experienceName,\n\t\t\t\t\t\texperienceId: UNIFIED_NAVIGATION_REGISTRY_ID,\n\t\t\t\t\t\tpageTitle: label,\n\t\t\t\t\t\tscreenRoute: CLASSIC,\n\t\t\t\t\t\ttype: interactionType,\n\t\t\t\t\t\tisDocumentHidden,\n\t\t\t\t\t\tuxrInteractionId: getCoreUIInteractionId()\n\t\t\t\t\t},\n\t\t\t\t\tMETRICS.PERFORMANCE\n\t\t\t\t);\n\t\t\t\tmarkCoreUIInteractionComplete();\n\t\t\t}\n\t\t}\n\t},\n\n\t[ADD_HISTORY_ENTRY_FOR_UI_PAGES]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tstate: {\n\t\t\t\t\tisHistoryEventFired,\n\t\t\t\t\tpageTitle,\n\t\t\t\t\trecentIframeTitle,\n\t\t\t\t\tproperties: {selectedContent, userMeta}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\t/* In some corner cases, while handling the dashboards, some iFrames with loading\n               indicators are captured in page title change, below excludeHistory list maintains the list of\n               iframe pages not to be tracked in history. \n            */\n\t\t\tconst excludeHistory = ['Loading your home...'];\n\t\t\tif (\n\t\t\t\texcludeHistory.indexOf(recentIframeTitle) !== -1 ||\n\t\t\t\tpageTitle?.type === 'home'\n\t\t\t)\n\t\t\t\treturn;\n\t\t\t//if the magellian event is fired, dont add the history event, which will create a duplicate entry\n\t\t\tif (isHistoryEventFired) {\n\t\t\t\tupdateState({isHistoryEventFired: null});\n\t\t\t} else if (!get(userMeta, 'isReadOnlyMaintUser', false)) {\n\t\t\t\t// ADD new history entry.\n\t\t\t\tconst logoName = getProperty(SYS_PROPS.PRODUCT_NAME) || SERVICE_NOW;\n\t\t\t\t// if title doesnt exists we show the center pill label.\n\t\t\t\tconst title = transformTitle(\n\t\t\t\t\trecentIframeTitle || pageTitle?.label,\n\t\t\t\t\tlogoName\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tPUSHED_NOW_UI_HISTORY,\n\t\t\t\t\t{\n\t\t\t\t\t\thistoryItem: {\n\t\t\t\t\t\t\tnavigator_history: {\n\t\t\t\t\t\t\t\turl: selectedContent?.params?.target,\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{route: selectedContent}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NAV_ITEM_SELECTED]: {\n\t\teffect: ({state, action, updateState, dispatch, properties}) => {\n\t\t\tsetConditionalFocusNavigation();\n\t\t\tconst data = {\n\t\t\t\tuser_agent: navigator.userAgent,\n\t\t\t\tua_time: new Date().toISOString(),\n\t\t\t\thref: window.location.href,\n\t\t\t\tpathname: window.location.pathname,\n\t\t\t\tsearch: window.location.search,\n\t\t\t\tpath: window.location.pathname + window.location.search\n\t\t\t};\n\n\t\t\tif (!getBooleanProperty(SYS_PROPS.UI.PRESENCE_DISABLED, false)) {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(USER_PRESENCE_CHANGED, {data});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// no need to check dirty status on current form if target url will open in new tab\n\t\t\tif (action?.payload?.external) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dirtyFrame =\n\t\t\t\tstate?.modifiedForm && state?.modifiedForm !== 'gsft_main'\n\t\t\t\t\t? top.frames[0].document.getElementById(state?.modifiedForm)\n\t\t\t\t\t: true;\n\t\t\tif (\n\t\t\t\tstate?.formModified &&\n\t\t\t\tdirtyFrame &&\n\t\t\t\tdirtyFrame?.contentWindow?.location?.href !== 'about:blank' &&\n\t\t\t\tproperties.features.isDirtyFormEnabled\n\t\t\t) {\n\t\t\t\taction.stopPropagation();\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: action.payload\n\t\t\t\t});\n\t\t\t}\n\t\t\t//resetting the state before magellian history event occured.\n\t\t\tupdateState({isHistoryEventFired: null});\n\t\t}\n\t},\n\t[ROUTE_MAP_UPDATED]: {\n\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\tupdateState({\n\t\t\t\tsearchRouteMap: payload,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_EXPERIENCE_PAGE_LOADED]: {\n\t\teffect: () => {\n\t\t\tif (!initialExperiencePageLoadedCodeExecuted) {\n\t\t\t\trunLifecycleFns(INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t\tinitialExperiencePageLoadedCodeExecuted = true;\n\t\t\t}\n\t\t}\n\t},\n\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\teffect: ({action, updateState, properties, dispatch}) => {\n\t\t\tconst {enabledPlugins} = action.payload;\n\n\t\t\tif (!enabledPlugins) return;\n\n\t\t\tconst userRoles = properties?.userSession?.user?.roles || [];\n\n\t\t\tconst isOpenFrameEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.sn_openframe') || {})\n\t\t\t\t\t.active === true;\n\t\t\tif (isOpenFrameEnabled) {\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_CHECK_CONFIG, {enabledPlugins, userRoles});\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tuxf.getComponentsByTagNames(['sn-openframe-uxb']).then(() => {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\topenFrameTagLoaded: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Initialize Collab Chat (ie. subscriptions, state)\n\t\t\t// Only if the server plugin is enabled and the system property is truthy (set by store plugin and can be unset by customer)\n\t\t\tconst isCollabChatEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.glide.cs.collab') || {})\n\t\t\t\t\t.active === true &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.COLLAB_CHAT_ENABLED, false) &&\n\t\t\t\tproperties.features.isPolarisEnabled;\n\n\t\t\tif (isCollabChatEnabled) {\n\t\t\t\tdispatch(INIT_COLLAB_CHAT);\n\t\t\t}\n\n\t\t\tconst isGuidedToursEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.glide.guided_tours') || {})\n\t\t\t\t\t.active === true &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.GUIDED_TOURS_ENABLED, false) &&\n\t\t\t\tproperties.features.isPolarisEnabled;\n\n\t\t\tif (isGuidedToursEnabled) {\n\t\t\t\tif (window.NOW) window.NOW.isGtdEnabledForStandardUI = true;\n\t\t\t\tif (\n\t\t\t\t\tdocument.getElementById('polaris-ui16-dependencies') &&\n\t\t\t\t\t!document.getElementById('polaris-guided-tours-dependency')\n\t\t\t\t)\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(INIT_GUIDED_TOURS);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[MAIN_CONTENT_FOCUSED]: {\n\t\teffect: ({host, state: {activeContent}}) => {\n\t\t\tif (activeContent?.route === 'classic') {\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\t\tif (iframe) {\n\t\t\t\t\tconst focusableNodes = getFocusableNodes(iframe.contentDocument.body);\n\t\t\t\t\tfocusableNodes?.firstFocusableElement?.focus();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst focusableNodes = getFocusableNodes(\n\t\t\t\t\thost.shadowRoot.querySelector('.content-area')\n\t\t\t\t);\n\t\t\t\tfocusableNodes?.firstFocusableElement?.focus();\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ALL_MENU_TOGGLED]: {\n\t\teffect: ({dispatch, state: {mainMenuState}, updateState}) => {\n\t\t\tif (mainMenuState.primaryMenuId === MENU_ALL) {\n\t\t\t\tupdateState({\n\t\t\t\t\tmainMenuState: {\n\t\t\t\t\t\t...mainMenuState,\n\t\t\t\t\t\tisMenuPinned: false,\n\t\t\t\t\t\tprimaryMenuId: null\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tlabel: 'All'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ALL_MENU_FOCUSED]: {\n\t\teffect: ({dispatch, host, state: {mainMenuState}}) => {\n\t\t\t// If all menu open (primary or secondary), just focus\n\t\t\t// Else, just open\n\n\t\t\tif (\n\t\t\t\tmainMenuState.primaryMenuId === MENU_ALL ||\n\t\t\t\tmainMenuState.secondaryMenuId === MENU_ALL\n\t\t\t) {\n\t\t\t\tArray.from(\n\t\t\t\t\thost.shadowRoot\n\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t?.shadowRoot.querySelectorAll('sn-polaris-menu') || []\n\t\t\t\t)\n\t\t\t\t\t.find((m) => m.menu?.id === MENU_ALL)\n\t\t\t\t\t.focus();\n\t\t\t} else {\n\t\t\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tlabel: 'All'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRILLDOWN_SET]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {menu}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\toverflowMenuDrilldown: menu\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FAVORITE_TOGGLE_CURRENT_PAGE]: {\n\t\teffect: favoriteToggleCurrentPage\n\t},\n\t[TOGGLE_MENU_OPEN]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {headerMenuItems, mainMenuState, overflowMenuDrilldown = {}}\n\t\t\t} = coeffects;\n\n\t\t\tconst menuId = payload?.menuId;\n\t\t\tconst overflowMenu =\n\t\t\t\theaderMenuItems.find(({id}) => id === OVERFLOW_MENU_ID) || {};\n\t\t\tconst isMenuAlreadyOpen =\n\t\t\t\tmainMenuState.primaryMenuId === menuId || // Normal menu already open\n\t\t\t\t(mainMenuState.primaryMenuId === OVERFLOW_MENU_ID &&\n\t\t\t\t\toverflowMenu.subId === menuId) || // Solo nav-overflow is already open\n\t\t\t\t(overflowMenuDrilldown && overflowMenuDrilldown.id === menuId); // Open drilldown menu is open\n\t\t\tconst isPinned =\n\t\t\t\tmainMenuState.primaryMenuId === menuId && mainMenuState.isMenuPinned;\n\n\t\t\tconst overflowMatchingSubMenuItem = (menuId) => {\n\t\t\t\tif (!headerMenuItems || !menuId) return null;\n\n\t\t\t\tconst matches = overflowMenu?.subItems.reduce((acc, curr) => {\n\t\t\t\t\treturn acc || (curr.id === menuId ? curr : null);\n\t\t\t\t}, null);\n\n\t\t\t\treturn matches;\n\t\t\t};\n\t\t\tconst overflowSubMenu = overflowMatchingSubMenuItem(menuId);\n\n\t\t\tif (isMenuAlreadyOpen && !isPinned) {\n\t\t\t\tif (overflowSubMenu?.id === menuId || overflowMenu?.subId === menuId) {\n\t\t\t\t\toverflowButtonFocus(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\tnavButtonFocus(coeffects);\n\t\t\t\t}\n\t\t\t\treturn dispatch(CLOSE_MENUS);\n\t\t\t}\n\n\t\t\tif (overflowMenu.subId === menuId) {\n\t\t\t\t// Overflow is acting as the menu\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: OVERFLOW_MENU_ID\n\t\t\t\t});\n\t\t\t} else if (overflowSubMenu) {\n\t\t\t\t// Overflow menu is a sub menu\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: OVERFLOW_MENU_ID\n\t\t\t\t});\n\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\tdrilled: true,\n\t\t\t\t\titem: overflowSubMenu,\n\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Normal menu open\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: menuId\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MENU_FOCUSED]: {\n\t\teffect: menuFocus,\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_MAX_WINDOW_SIZE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {width, height}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: 'openFrame.maxAllowedSize',\n\t\t\t\tvalue: {width, height},\n\t\t\t\toperation: 'merge'\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_CHANGED_POSITION]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({openframeLockedPosition: value});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SET_ACTIVE_MODAL']: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tactiveModal: id\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_MODAL#OPENED_SET']: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {id, value}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (id === 'logout-confirmation' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t});\n\t\t\t} else if (id === 'script-debugger-confirmation' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t});\n\t\t\t} else if (id === 'print-confirm-modal') {\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t} else if (id === 'favorite-delete') {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteDeletePayload: null\n\t\t\t\t});\n\t\t\t} else if (id === 'keyboard-shortcuts-modal') {\n\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_TEXT_LINK#CLICKED']: {\n\t\teffect: async (coeffects) => {\n\t\t\tconst {action, dispatch} = coeffects;\n\t\t\tconst link = action.payload.link;\n\n\t\t\tif (link === 'main-content') {\n\t\t\t\tdispatch(MAIN_CONTENT_FOCUSED);\n\t\t\t} else if (link === 'a11y') {\n\t\t\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {initialTab: 'accessibility'});\n\t\t\t} else if (link === 'openframe') {\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW, {isOpen: true});\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.SKIP_LINK_SELECT, {\n\t\t\t\tname: link\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SCREEN_STATUS_CHANGED']: {\n\t\teffect: ({action: {payload}, properties: {selectedContent}, dispatch}) => {\n\t\t\t// Ensure that we are in the same experience and have the same selected content as when this event was triggered before updating the title\n\t\t\tif (\n\t\t\t\tpayload?.title &&\n\t\t\t\tpayload?.screenKey !== 'classic' &&\n\t\t\t\t(!payload?.sourceSelectedContent ||\n\t\t\t\t\thasSelectedContentChanged(\n\t\t\t\t\t\tpayload?.sourceSelectedContent,\n\t\t\t\t\t\tselectedContent\n\t\t\t\t\t))\n\t\t\t) {\n\t\t\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {label: payload.title});\n\t\t\t}\n\t\t}\n\t},\n\t['RECORD#OPEN_CALL']: {\n\t\teffect: ({action: {payload}, updateState}) => {\n\t\t\t// Add a timestamp to source if it doesn't exist.\n\t\t\t// If this is not done consecutive calls will be ignored by openframe\n\t\t\tlet source = payload?.params?.source;\n\t\t\tif (source) {\n\t\t\t\tsource = source + Date.now();\n\t\t\t}\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\tvalue: payload,\n\t\t\t\t\toperation: 'merge'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFrame.params.source',\n\t\t\t\t\tvalue: source,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t},\n\t['SN_FORM_DATA_CONNECTED#OPEN_PHONE']: ({action: {payload}, dispatch}) => {\n\t\tdispatch('RECORD#OPEN_CALL', normalizeOpenframeRibbonPayload(payload));\n\t},\n\t['EXPERIENCE_STATUS_CHANGED']: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tcontext: {path},\n\t\t\t\t\tisDirty\n\t\t\t\t}\n\t\t\t},\n\t\t\tstate: {dirtyWorkspaces},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (path) {\n\t\t\t\tconst newDirtyWorkspaces = [...dirtyWorkspaces];\n\t\t\t\tconst isAlreadyDirty = newDirtyWorkspaces.indexOf(path) > -1;\n\t\t\t\t// adding new dirty workspace\n\t\t\t\tif (isDirty && !isAlreadyDirty) {\n\t\t\t\t\tnewDirtyWorkspaces.push(path);\n\t\t\t\t\t// removing dirty workspace that is no longer dirty\n\t\t\t\t} else if (!isDirty && isAlreadyDirty) {\n\t\t\t\t\tremove(newDirtyWorkspaces, (item) => item === path);\n\t\t\t\t}\n\n\t\t\t\t// only update when the dirtyWorkspaces have changed\n\t\t\t\tif (dirtyWorkspaces.length !== newDirtyWorkspaces.length) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tdirtyWorkspaces: newDirtyWorkspaces\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[FEEDBACK_FORM_BUTTON_CLICKED]: {\n\t\teffect: ({updateState, dispatch}) => {\n\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.OPEN);\n\t\t\tupdateState({\n\t\t\t\tshowFeedbackForm: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SHOW_MENU_ITEM_TOOLTIP]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst componentId = action.meta.id;\n\t\t\tscheduleShowTooltip(componentId, updateState, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[HIDE_MENU_ITEM_TOOLTIP]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst componentId = action.meta.id;\n\t\t\tscheduleHideTooltip(componentId, updateState);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[UTILITY_MENU_OVERFLOW_DATA_UPDATED]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst {\n\t\t\t\toverflowingMenuItems,\n\t\t\t\ttotalBadgeCount,\n\t\t\t\tutilityBarVisible\n\t\t\t} = action.payload;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.overflowMenuItems',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: overflowingMenuItems\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.overflowBadgeCount',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: totalBadgeCount\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.utilityBarVisible',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: utilityBarVisible\n\t\t\t\t}\n\t\t\t]);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.AVATAR_ICON_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.HELP_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.CHAT_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.BELL_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOW_ASSIST_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {state, updateState} = coeffects;\n\n\t\t\t// If AIEL service is unavailable, show the unavailable modal instead\n\t\t\tif (state.isAIELEnabled && state.isNowAssistUnavailable) {\n\t\t\t\tupdateState({nowAssistUnavailableModalOpened: true});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!state.isAIELEnabled) {\n\t\t\t\thandleContextualMenuClick(coeffects);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {dispatch} = coeffects;\n\n\t\t\tconst {napShortcutCommand} = state;\n\t\t\tconst isPinning = coeffects.action.payload.pin ?? true;\n\t\t\tdispatch('AI_ENGAGEMENT_LAUNCH_EXPERIENCE', {\n\t\t\t\tlaunchMode: isPinning ? 'docked' : 'floating',\n\t\t\t\tnapShortcutCommand,\n\t\t\t\tconversationId:\n\t\t\t\t\tcoeffects.action.payload?.additionalData?.conversationId,\n\t\t\t\thostType: 'unified-navigation'\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOTIFICATION_TRIGGERED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[SN_DRILLDOWN_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {contextualMenu, helpPanelAppContext}\n\t\t\t} = coeffects;\n\t\t\tconst {item, source, value} = payload;\n\t\t\tswitch (source) {\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU: {\n\t\t\t\t\tdrilldownIntoMenu(coeffects);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER: {\n\t\t\t\t\tdispatch(CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED, {item});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU: {\n\t\t\t\t\tconst openNewMenu = item?.buttonConfig?.openNewMenu;\n\n\t\t\t\t\tif (item?.id === 'help-button') {\n\t\t\t\t\t\tdispatch('SN_HELP_PANEL#REFRESH_REQUESTED', {\n\t\t\t\t\t\t\tappContext: {...getHelpContext(value), timestamp: Date.now()}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (helpPanelAppContext?.showHelpPanel) {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tdispatch('SN_HELP_PANEL#SHOW_REQUESTED', helpPanelAppContext);\n\t\t\t\t\t\t\t}, 900);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (item?.id === 'experience-notifications') {\n\t\t\t\t\t\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\t\t\t\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (openNewMenu) {\n\t\t\t\t\t\tconst {buttonConfig} = item;\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tdispatchedAction,\n\t\t\t\t\t\t\tpayload: {contextualMenuType, contextualMenuHeaderText}\n\t\t\t\t\t\t} = buttonConfig || {};\n\n\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\tcontextualMenuType,\n\t\t\t\t\t\t\tbuttonConfig,\n\t\t\t\t\t\t\tlabel: contextualMenuHeaderText,\n\t\t\t\t\t\t\tdispatchedAction\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(dispatchedAction, buttonConfig.payload);\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\tpreviousDrilledMenu: item,\n\t\t\t\t\t\t\t\tdrilledMenu: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (contextualMenu.drilledMenu === null) {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tdrilledMenu: item\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tdrilledMenu: null,\n\t\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t\t...contextualMenu.menuData,\n\t\t\t\t\t\t\t\t\t\tselectedPicker: null,\n\t\t\t\t\t\t\t\t\t\tlastOpenPicker: null\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tpreviousDrilledMenu: contextualMenu?.drilledMenu\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_WIDE_MENU]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menu}\n\t\t\t\t},\n\t\t\t\tstate,\n\t\t\t\thost,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\n\t\t\tconst {wideMenus, menuWidth, wideMenuWidth, contextualMenuState} = state;\n\t\t\tlet newMenuWidth = menuWidth;\n\t\t\tconst isSecondaryMenu = menu.id === contextualMenuState.secondaryMenuId;\n\n\t\t\tlet newMenuList = [];\n\t\t\tif (wideMenus?.includes(menu.id)) {\n\t\t\t\tnewMenuList = wideMenus.filter((id) => {\n\t\t\t\t\treturn menu.id !== id;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewMenuList = wideMenus.concat([menu.id]);\n\t\t\t\tnewMenuWidth = wideMenuWidth;\n\t\t\t}\n\n\t\t\tif (!isSecondaryMenu) {\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--pinned-contextual-menu-width',\n\t\t\t\t\t`${newMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\twideMenus: newMenuList,\n\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t...state.contextualMenuState,\n\t\t\t\t\tpinnedMenuWidth: !isSecondaryMenu\n\t\t\t\t\t\t? newMenuWidth\n\t\t\t\t\t\t: contextualMenuState.pinnedMenuWidth\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_WIDE_MENUS,\n\t\t\t\tvalue: JSON.stringify(newMenuList)\n\t\t\t});\n\n\t\t\ttrack(coeffects, METRICS.TOGGLE_WIDE_MENU, {\n\t\t\t\taction: newMenuWidth === wideMenuWidth ? 'Widen' : 'Narrow',\n\t\t\t\tmenuName: menu.id\n\t\t\t});\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t[REGISTER_WINDOW_MANAGER]: {\n\t\teffect: ({action, updateProperties}) => {\n\t\t\tconst {windowManager} = action.payload;\n\t\t\tupdateProperties({\n\t\t\t\twindowManager\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\nexport {actionHandlers};\n","/**\n * Decodes coded sets of a string to its corresponding character symbols\n * e.g \"&#40;\" becomes \"(\"\n */\nexport default function decodeEntities(str) {\n\tif (!str || !str.length) {\n\t\treturn '';\n\t}\n\n\t/**\n\t * /& - Starts with '&'\n\t * #? - Could have '#'\n\t * [\\w\\d] - Any sequence of words or digits\n\t * ;? - Could end with ';'\n\t *\n\t * e.g: &#40;\n\t */\n\treturn str.replace(/&(#?[\\w\\d]+);?/g, function(match, token) {\n\t\t// Consider tokens only starting with '#'\n\t\tif (token.charAt(0) === '#') {\n\t\t\tvar charCode;\n\n\t\t\t// If the token starts with 'x', parse token as hexadecimal else consider decimal.\n\t\t\tif (token.charAt(1) === 'x') {\n\t\t\t\tcharCode = parseInt(token.substr(2).toLowerCase(), 16);\n\t\t\t} else {\n\t\t\t\tcharCode = parseInt(token.substr(1));\n\t\t\t}\n\n\t\t\t// Character code must be a number and should lie between the valid range\n\t\t\tif (!isNaN(charCode) && charCode >= -32768 && charCode <= 65535) {\n\t\t\t\t// convert code to corresponding character symbol\n\t\t\t\treturn String.fromCharCode(charCode) || match;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t});\n}\n","import {get} from 'lodash';\n\nexport default function setConditionalFocusNavigation() {\n\tif (get(window.top, 'NOW.magellan.setNavigatingState', null)) {\n\t\twindow.top.NOW.magellan.setNavigatingState(true);\n\t}\n}\n","export const normalizeOpenframeRibbonPayload = ({\n\tnumber,\n\tsysid: sysId,\n\ttable\n}) => {\n\tif (number) {\n\t\treturn {\n\t\t\troute: 'cti',\n\t\t\tfields: {opened: true},\n\t\t\ticonSelected: true,\n\t\t\tparams: {\n\t\t\t\tnumber,\n\t\t\t\tsysId,\n\t\t\t\ttable,\n\t\t\t\tsource: `form_field`\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {};\n};\n","export const DEV_STUDIO_INIT = 'DEV_STUDIO#INIT';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {forEach, get, toNumber, some} from 'lodash';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\n\nimport {INIT_GUIDED_TOURS} from '../guided-tours-behavior/constants';\nimport {FETCH_UI16_DEPENDENCIES} from './actions';\nimport {DEV_STUDIO_INIT} from '../dev-studio-init/actions';\n\nconst getDependencies = (customEvents, dispatch) => {\n\tif (document.getElementById('polaris-ui16-dependencies')) return;\n\tconst depHandler = () => {\n\t\tsetupLegacyEventHandlers(customEvents, dispatch);\n\t\tdispatch(INIT_GUIDED_TOURS);\n\t\tdispatch(DEV_STUDIO_INIT);\n\t};\n\n\tconst depJS = document.createElement('script');\n\tdepJS.id = 'polaris-ui16-dependencies';\n\tdepJS.src = '/polaris-ui16-dependencies.js';\n\tdepJS.onload = depHandler;\n\tdepJS.onerror = depHandler;\n\tdocument.head.appendChild(depJS);\n};\n\nconst fetchPolarisUI16Dependencies = ({\n\taction: {\n\t\tpayload: {\n\t\t\toptions: {customEvents},\n\t\t\tisDelayNeeded = true\n\t\t}\n\t},\n\tdispatch\n}) => {\n\tif (!document.getElementById('polaris-ui16-dependencies')) {\n\t\tif (isDelayNeeded)\n\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\tgetDependencies(customEvents, dispatch);\n\t\t\t});\n\t\telse {\n\t\t\tgetDependencies(customEvents, dispatch);\n\t\t}\n\t} else setupLegacyEventHandlers(customEvents, dispatch); // This will add the new events to the window object.\n};\n/**\n * Background:\n * What is this trying to solve?\n * \t- window.frames doesn't pick up iframes that are within a shadow-root\n * \t- you cannot manually push entries to `window.frames`\n * \t- you cannot override window (thankfully) with a proxy\n *\n * window.frames === window normally, so we can set a proxy on .frames and\n * change CustomEventManager to loop over window.frames rather than window\n * since they are the same reference.\n *\n * Since we can't push to window.frames, keep a fake window.__frames around\n * that the iframe component will push its iframe window reference to\n */\nwindow.__frames = window.__frames ?? [];\nwindow.frames = new Proxy(window.frames, {\n\tget(target, prop) {\n\t\t// Let's only handle the primary looping-over-iframes case for now\n\t\tif (prop === 'length' || !isNaN(toNumber(prop)))\n\t\t\treturn window.__frames[prop];\n\n\t\t// eslint-disable-next-line prefer-rest-params\n\t\treturn Reflect.get(...arguments);\n\t}\n});\n\nfunction setupLegacyEventHandlers(customEvents, dispatch) {\n\tif (window.CustomEvent && !window.CustomEvent.observe) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('CustomEventManager extension not loaded');\n\t\treturn;\n\t}\n\n\tif (!get(window.top, 'NOW.magellan.setNavigatingState', null)) {\n\t\twindow.top.NOW = top.NOW || {};\n\t\twindow.top.NOW.magellan = top.NOW.magellan || {\n\t\t\tisNavigating: false,\n\t\t\tsetNavigatingState: function(state) {\n\t\t\t\tthis.isNavigating = state;\n\t\t\t},\n\t\t\tinvokeWhenShouldFocus: function(currentWindow, onFocus) {\n\t\t\t\tif (this.isNavigating || currentWindow.self === currentWindow.top) {\n\t\t\t\t\tonFocus();\n\t\t\t\t\tthis.isNavigating = false;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tforEach(customEvents, (handler, eventName) => {\n\t\tconst existingEvents = get(window.CustomEvent, ['events', eventName], []);\n\t\tconst handlerExists = some(existingEvents, (e) => e === handler);\n\n\t\tif (!handlerExists)\n\t\t\twindow.CustomEvent.observe(eventName, handler.bind(handler, dispatch));\n\t});\n}\n\nexport default {\n\tname: 'CUSTOM_EVENT_MANAGER_SETUP_BEHAVIOR',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: fetchPolarisUI16Dependencies,\n\t\t[FETCH_UI16_DEPENDENCIES]: fetchPolarisUI16Dependencies\n\t}\n};\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {\n\tOPENFRAME_BEHAVIOR_CHECK_CONFIG,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW,\n\tOPENFRAME_BEHAVIOR_SET_REF,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD\n} from './actions';\n\nimport {OPEN_FRAME_BEHAVIOR} from './constants';\n\nimport {\n\tNAV_ITEM_SELECTED,\n\tBUTTON_ACTIONS,\n\tCLASSIC,\n\tRECORD,\n\tPOLARIS_CONTEXT,\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tICON_MAP\n} from '../../constants';\n\nimport {isEmpty, has, get, some} from 'lodash';\nimport {WINDOW_MOVED_TO_PRESET} from '../../components/sn-polaris-layout/draggable/constants';\nimport {effectProxy} from '@devsnc/unav-utils';\n\nconst OPEN_FRAME_CONFIG_REQUESTED = 'OPEN_FRAME_BEHAVIOR#CONFIG_REQUESTED';\nexport const OPEN_FRAME_CONFIG_SUCCEEDED =\n\t'OPEN_FRAME_BEHAVIOR#CONFIG_SUCCEEDED';\nconst OPEN_FRAME_CONFIG_ERROR = 'OPEN_FRAME_BEHAVIOR#CONFIG_ERROR';\nconst ALLOW_LIST_FOR_ROLES = ['sn_openframe_user', 'admin'];\nconst OPENFRAME_STATE_PATH = 'behaviors.OPEN_FRAME_BEHAVIOR';\nexport const OPENFRAME_ENABLED = 'OPEN_FRAME_BEHAVIOR#OPENFRAME_ENABLED';\n\nconst query = `\n{\n    AppOpenframe_Query {\n      showFrame\n      config {\n        title\n        subTitle\n        configuration\n        height\n        width\n        navIconClass\n        titleIcon\n        collapsedViewEnabled\n        iframeAllow\n        showPresenceIndicator\n        url {\n          authority\n          fragment\n          host\n          path\n          port\n          query\n          scheme\n          schemeSpecificPart\n          userInfo\n          isAbsolute\n          isOpaque\n          stringValue\n        }\n      }\n    }\n  }\n`;\n\nexport const openFrameConfigEffect = createGraphQLEffect(query, {\n\tsuccessActionType: OPEN_FRAME_CONFIG_SUCCEEDED,\n\terrorActionType: OPEN_FRAME_CONFIG_ERROR\n});\n\nconst checkForOpenframeRole = (roles) => {\n\treturn roles.some((role) => ALLOW_LIST_FOR_ROLES.includes(role));\n};\n\nexport default {\n\tname: OPEN_FRAME_BEHAVIOR,\n\tinitialState: {\n\t\topenframeRef: null\n\t},\n\tactionHandlers: {\n\t\t[OPENFRAME_BEHAVIOR_CHECK_CONFIG]: {\n\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\tconst {enabledPlugins, userRoles} = action.payload;\n\n\t\t\t\tconst isPluginEnabled = some(\n\t\t\t\t\tenabledPlugins,\n\t\t\t\t\t({id}) => id === 'com.sn_openframe'\n\t\t\t\t);\n\n\t\t\t\tif (isPluginEnabled && checkForOpenframeRole(userRoles)) {\n\t\t\t\t\tdispatch(OPEN_FRAME_CONFIG_REQUESTED);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPEN_FRAME_CONFIG_REQUESTED]: effectProxy(openFrameConfigEffect),\n\t\t[OPEN_FRAME_CONFIG_ERROR]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('openframe request for configuration failed');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPEN_FRAME_CONFIG_SUCCEEDED]: {\n\t\t\teffect: ({action: {payload}, updateState, dispatch}) => {\n\t\t\t\tlet openFrameConfig;\n\n\t\t\t\tif (payload.errors.length > 0) {\n\t\t\t\t\topenFrameConfig = {};\n\t\t\t\t} else {\n\t\t\t\t\topenFrameConfig = payload.data;\n\t\t\t\t\topenFrameConfig.AppOpenframe_Query.position = 'parent-draggable';\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'openFrameConfig',\n\t\t\t\t\tvalue: openFrameConfig,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\n\t\t\t\tconst configIcon = openFrameConfig.AppOpenframe_Query.config?.url\n\t\t\t\t\t? openFrameConfig.AppOpenframe_Query.config?.navIconClass\n\t\t\t\t\t: null;\n\t\t\t\tconst hasIcon = !isEmpty(configIcon) && !isEmpty(ICON_MAP[configIcon]);\n\n\t\t\t\tif (hasIcon)\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\tshowIcon: hasIcon,\n\t\t\t\t\t\t\ticon: ICON_MAP[configIcon]\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperation: 'merge',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t});\n\t\t\t\tif (hasIcon) {\n\t\t\t\t\tdispatch(OPENFRAME_ENABLED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WINDOW_MOVED_TO_PRESET]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame.windowPositionedCorrectly',\n\t\t\t\t\tvalue: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['PRIME_NAV_SOURCE_CHANGED']: {\n\t\t\teffect: ({\n\t\t\t\tproperties,\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {openFrame}\n\t\t\t}) => {\n\t\t\t\tconst {id, status, badge, select = false, show = false} = payload;\n\t\t\t\tif (id === 'cti') {\n\t\t\t\t\tif (!isEmpty(status)) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.status',\n\t\t\t\t\t\t\tvalue: status\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (\n\t\t\t\t\t\thas(payload, 'badge') &&\n\t\t\t\t\t\t!isEmpty(badge) &&\n\t\t\t\t\t\thas(badge, 'count')\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.badge',\n\t\t\t\t\t\t\tvalue: badge.count\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (has(payload, 'select')) {\n\t\t\t\t\t\tif (!select && !isEmpty(openFrame.ctiRef)) {\n\t\t\t\t\t\t\topenFrame.ctiRef.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.iconSelected',\n\t\t\t\t\t\t\tvalue: select\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('POLARIS#OPEN_OPENFRAME_WINDOW', {isOpen: select});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst hasRole = checkForOpenframeRole(properties?.userMeta?.roles);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\topenFrame.icon !== payload.icon ||\n\t\t\t\t\t\t\topenFrame.select !== payload.select\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\tshowIcon: show && hasRole,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\ticon: payload.icon,\n\t\t\t\t\t\t\t\t\ticonSelected: select,\n\t\t\t\t\t\t\t\t\tstatus\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (show && hasRole) {\n\t\t\t\t\t\t\t\tdispatch(OPENFRAME_ENABLED);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menuContainerRef}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst {iconSelected = false, id} = state.openFrame || {};\n\t\t\t\tconst ctiButtonRef = menuContainerRef.current.querySelector(`.${id}`);\n\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...state.openFrame,\n\t\t\t\t\t\tctiRef: ctiButtonRef,\n\t\t\t\t\t\ticonSelected: !iconSelected\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_SET_REF]: {\n\t\t\teffect: ({action: {payload}, updateState, state}) => {\n\t\t\t\tconst oldOpenframeRef = get(\n\t\t\t\t\tstate,\n\t\t\t\t\tOPENFRAME_STATE_PATH + '.openframeRef'\n\t\t\t\t);\n\t\t\t\tconst {element} = payload;\n\t\t\t\tif (!oldOpenframeRef) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: OPENFRAME_STATE_PATH + '.openframeRef',\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_COMPONENT_OPENFRAME#OPEN_CUSTOM_URL']: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: payload?.url\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SN_COMPONENT_OPENFRAME#OPEN_LIST']: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {entity, query = ''} = payload;\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tif (entity) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttarget: `${entity}_list.do?sysparm_query=${query}`\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD]: {\n\t\t\teffect: ({dispatch, state}) => {\n\t\t\t\tconst iconSelected = state.openFrame.iconSelected;\n\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW, {\n\t\t\t\t\tisOpen: !iconSelected\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_OPEN_WINDOW]: {\n\t\t\teffect: ({action: {payload}, updateState, state}) => {\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ticonSelected: payload.isOpen,\n\t\t\t\t\t\t\tfields: {opened: payload.isOpen}\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tconst oldOpenframeRef = get(\n\t\t\t\t\tstate,\n\t\t\t\t\tOPENFRAME_STATE_PATH + '.openframeRef'\n\t\t\t\t);\n\t\t\t\tif (oldOpenframeRef) {\n\t\t\t\t\toldOpenframeRef.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_OPENFRAME_UXB#RECORD_OPENED']: {\n\t\t\teffect: ({action: {payload}, dispatch, properties}) => {\n\t\t\t\tconst {\n\t\t\t\t\ttable,\n\t\t\t\t\tsys_id,\n\t\t\t\t\tparent_table,\n\t\t\t\t\tparent_sys_id,\n\t\t\t\t\tparams,\n\t\t\t\t\tdoNotOpenForUI16\n\t\t\t\t} = payload;\n\t\t\t\tconst query = get(params, 'query', '');\n\n\t\t\t\tconst fields = {\n\t\t\t\t\ttable,\n\t\t\t\t\tsysId: sys_id,\n\t\t\t\t\ttarget: `${table}.do?sys_id=${sys_id}`,\n\t\t\t\t\t...(query && query.length > 0 && {query})\n\t\t\t\t};\n\t\t\t\tconst parent = {\n\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\ttable: parent_table,\n\t\t\t\t\t\tsysId: parent_sys_id\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tif (\n\t\t\t\t\t!(\n\t\t\t\t\t\tdoNotOpenForUI16 && properties?.selectedContent?.route === 'classic'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\t\tfields,\n\t\t\t\t\t\t...(parent_table !== table && parent_sys_id !== sys_id && {parent}),\n\t\t\t\t\t\tfallbackRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: `${table}.do?sys_id=${sys_id}&sysparm_query=${query}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\tOPENFRAME_CUSTOM_EVENT: {\n\t\t\teffect({action: {payload}, updateState}) {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame.customPayload',\n\t\t\t\t\tvalue: {...payload, _timestamp: Date.now()}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {isEmpty, get} from 'lodash';\nimport {MENU_ENTRY_ADDED} from '../menu-modifier-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_UPDATE_REQUESTED,\n\tUPDATE_HISTORY,\n\tPUSHED_NOW_UI_HISTORY,\n\tPUSHED_NOW_UI_HISTORY_FAILURE,\n\tPUSHED_NOW_UI_HISTORY_SUCCESS,\n\tHISTORY_EVENT_FIRED_FROM_MAGELLAN,\n\tHISTORY_COMMUNICATED_TO_SW\n} from './actions';\nimport {\n\tCLASSIC,\n\tPOLARIS_SITE_NAME,\n\tHISTORY_RECORDING,\n\tSYS_PROPS,\n\tMENU_HISTORY,\n\tUSER_PREF_UPDATED,\n\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\tUSER_PREF_HOMEPAGE\n} from '../../constants';\nimport {BEHAVIOR_NAME} from './constants';\nimport globals from '../../components/sn-polaris-layout/utils/globals';\nimport {\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanPreferenceValue\n} from '@devsnc/unav-utils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\n/*\n{\n\t\"history\": {\n\t  \"id\": \"41c065da076420105fca5d1aead30051\",\n\t  \"createdString\": \"2020-11-19 22:41:16\",\n\t  \"prettyTitle\": \"Guided Setup\",\n\t  \"timestampOffset\": 1605853576000,\n\t  \"url\": \"/com.glideapp.servicecatalog_category_view.do?v=1&sysparm_parent=fc000d749f10120066dabde8132e7091&sysparm_catalog=0b22fd2ad7021100b9a5c7400e610319&sysparm_catalog_view=catalog_Admin_Home&polaris_legacy=true\",\n\t  \"timestamp\": 1605854476000,\n\t  \"title\": \"Guided Setup\"\n\t}\n  }\n  */\n\nexport const listMetadataMap = {};\n\nconst fixEncodedStateInRoute = (route) => {\n\tconst encodedStateRegex = /__state__\\/([^/]+)/;\n\tconst match = window.location.pathname.match(encodedStateRegex);\n\tif (!match) return route;\n\treturn {...route, encodedPersistedState: decodeURIComponent(match[1])};\n};\n\nconst adaptMenuItem = (historyItem) => {\n\tconst route = historyItem.route || {\n\t\tparams: {\n\t\t\ttarget: historyItem.url\n\t\t},\n\t\troute: CLASSIC\n\t};\n\treturn {\n\t\tcanFavorite: false,\n\t\tcreatedTimestamp: historyItem.timestamp,\n\t\tcreatedTimestampOffset: historyItem.timestampOffset,\n\t\tdescription: historyItem.description,\n\t\tid: historyItem.id,\n\t\tlabel: historyItem.prettyTitle || historyItem.title,\n\t\troute\n\t};\n};\n\nconst isAllHistoryStrategy = () => {\n\tconst historyRecordingType = getProperty(SYS_PROPS.UI.HISTORY_RECORDING, '');\n\treturn (\n\t\thistoryRecordingType.toLowerCase() === HISTORY_RECORDING.ALL.toLowerCase()\n\t);\n};\n\nconst isEntryHistoryStrategy = () => {\n\tconst historyRecordingType = getProperty(SYS_PROPS.UI.HISTORY_RECORDING, '');\n\treturn (\n\t\thistoryRecordingType.toLowerCase() ===\n\t\t\tHISTORY_RECORDING.ENTRY.toLowerCase() || historyRecordingType === ''\n\t);\n};\n\n// Presence of list id indicates that the page is a list template page\nexport const isListTemplateRoute = (route) =>\n\troute?.route === 'list' || !isEmpty(route?.params?.listId);\n\nexport const isListMissingParams = (route) => {\n\treturn (\n\t\tisEmpty(route?.params?.listId) &&\n\t\tisEmpty(route?.params?.tinyId) &&\n\t\tisEmpty(route?.encodedPersistedState)\n\t);\n};\n\nconst getListParams = (route) => {\n\tconst listId = route?.params?.listId;\n\tconst listParams = listMetadataMap[listId];\n\tif (listParams) {\n\t\treturn listParams;\n\t}\n};\n\nexport const shouldRecordHistory = (\n\troute,\n\tlastPageVisited,\n\tcurrentUrl,\n\tisListTemplatePage,\n\tlistDataFetched\n) => {\n\tif (isListTemplatePage) {\n\t\tif (!listDataFetched) return false;\n\t\tconst listId = route?.params?.listId;\n\t\tconst listParams = listMetadataMap[listId];\n\n\t\tif (isEmpty(listParams) || !listParams.table) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// List template page should have either tinyId or encodedPersistedState\n\t\tif (isListMissingParams(route)) return false;\n\t}\n\n\tif (!isEmpty(route)) {\n\t\tconst isUrlDifferent = lastPageVisited?.url !== currentUrl;\n\n\t\tlet isTitleDifferent = false;\n\n\t\tif (!isUrlDifferent && !route.route === 'list') {\n\t\t\tisTitleDifferent = lastPageVisited?.title !== route?.title;\n\t\t}\n\n\t\treturn isUrlDifferent || isTitleDifferent;\n\t}\n};\n\nconst recordListMetadata = ({payload, selectedContent, dispatch}) => {\n\tconst {listId: listIDSelectedContent} = selectedContent?.params || {};\n\tconst encodedPersistedState = selectedContent?.encodedPersistedState;\n\tconst {tinyUrl, listId, table, query} =\n\t\tpayload?.model?.tinyFields || payload || {};\n\n\tif (listId && table) {\n\t\tlistMetadataMap[listId] = {\n\t\t\ttinyId: tinyUrl,\n\t\t\ttable,\n\t\t\tquery,\n\t\t\tencodedPersistedState\n\t\t};\n\t}\n\n\tif (!listIDSelectedContent || listIDSelectedContent === listId) {\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {listDataFetched: true});\n\t}\n};\n\nconst dropParams = (url = '', isListTemplatePage) =>\n\tisListTemplatePage ? url : url.replace(/\\/params.*$/i, '');\n\nexport const pushHistory = createAuthedOnlyHttpEffect('/api/now/ui/history', {\n\tmethod: 'POST',\n\tbatch: false,\n\tdataParam: 'historyItem',\n\tsuccessActionType: PUSHED_NOW_UI_HISTORY_SUCCESS,\n\terrorActionType: PUSHED_NOW_UI_HISTORY_FAILURE\n});\n\nconst pushHistorySuccess = (coeffects) => {\n\tconst {action, dispatch} = coeffects;\n\tconst payload = action.payload;\n\tconst {route} = action.meta;\n\tconst historyItem = get(payload, 'result.navigatorHistory', {});\n\tif (historyItem) {\n\t\tdispatch(HISTORY_COMMUNICATED_TO_SW, {\n\t\t\t...historyItem,\n\t\t\troute\n\t\t});\n\t\tdispatch(ADD_HISTORY_ENTRY, {\n\t\t\t...historyItem,\n\t\t\troute\n\t\t});\n\t}\n};\n\nconst pushHistoryFailure = () => {\n\tconsole.error('Error while trying to saving history');\n};\n\nfunction recordHistory({\n\troute,\n\tdispatch,\n\tuserPreferences,\n\tcurrentUrl,\n\ttable,\n\tquery,\n\tisListTemplatePage\n}) {\n\tconst experiencePath = get(route, 'context.path');\n\tif (experiencePath && experiencePath !== POLARIS_SITE_NAME) {\n\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\taction: () => {\n\t\t\t\tdispatch(UPDATE_HISTORY, {\n\t\t\t\t\troute: fixEncodedStateInRoute(route),\n\t\t\t\t\tcurrentUrl,\n\t\t\t\t\ttable,\n\t\t\t\t\tquery,\n\t\t\t\t\tisListTemplatePage\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tUSER_PREF_CONTINUE_LANDING_PAGE\n\t\t\t)\n\t\t) {\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: USER_PREF_HOMEPAGE,\n\t\t\t\tvalue: isAllHistoryStrategy()\n\t\t\t\t\t? globals.getLocationPathName\n\t\t\t\t\t: experiencePath\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport const historyUpdateRequested = ({\n\tupdateState,\n\tpayload,\n\tselectedContent,\n\tlastPageVisited,\n\tdispatch,\n\tuserPreferences,\n\tlocationPathName\n}) => {\n\tconst route = isEmpty(payload?.route) ? selectedContent : payload.route;\n\tconst isListTemplatePage = isListTemplateRoute(route);\n\tconst listDataFetched = payload?.listDataFetched;\n\tconst currentUrl = dropParams(locationPathName, isListTemplatePage);\n\tif (\n\t\tshouldRecordHistory(\n\t\t\troute,\n\t\t\tlastPageVisited,\n\t\t\tcurrentUrl,\n\t\t\tisListTemplatePage,\n\t\t\tlistDataFetched\n\t\t)\n\t) {\n\t\tconst {table, query} = getListParams(route) || {};\n\t\trecordHistory({\n\t\t\troute,\n\t\t\tdispatch,\n\t\t\tuserPreferences,\n\t\t\tcurrentUrl,\n\t\t\ttable,\n\t\t\tquery,\n\t\t\tisListTemplatePage\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: 'lastPageVisited',\n\t\t\toperation: 'set',\n\t\t\tvalue: {url: currentUrl, title: route?.title},\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[PUSHED_NOW_UI_HISTORY]: pushHistory,\n\t\t[PUSHED_NOW_UI_HISTORY_SUCCESS]: pushHistorySuccess,\n\t\t[PUSHED_NOW_UI_HISTORY_FAILURE]: pushHistoryFailure,\n\t\t[ADD_HISTORY_ENTRY]: ({\n\t\t\tdispatch,\n\t\t\taction: {payload},\n\t\t\tproperties: {userPreferences},\n\t\t\tstate: {isMenuStubbed}\n\t\t}) => {\n\t\t\tif (\n\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tUSER_PREF_CONTINUE_LANDING_PAGE\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: USER_PREF_HOMEPAGE,\n\t\t\t\t\tvalue: payload.url\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(MENU_ENTRY_ADDED, {\n\t\t\t\tmenuId: MENU_HISTORY,\n\t\t\t\tentry: adaptMenuItem(payload),\n\t\t\t\taction: 'prepend',\n\t\t\t\t// history menu has own deduping logic\n\t\t\t\tdedupe: false,\n\t\t\t\tisMenuStubbed\n\t\t\t});\n\t\t},\n\t\t['NOW_RECORD_LIST_CONNECTED#DATA_FETCH_SUCCEEDED']: {\n\t\t\teffect({\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {\n\t\t\t\t\tproperties: {selectedContent}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\trecordListMetadata({selectedContent, dispatch, payload});\n\t\t\t}\n\t\t},\n\t\t['LIST_CTRL#DATA_FETCH_SUCCEEDED']: {\n\t\t\teffect({\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {\n\t\t\t\t\tproperties: {selectedContent}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\trecordListMetadata({selectedContent, dispatch, payload});\n\t\t\t}\n\t\t},\n\t\t[HISTORY_UPDATE_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tlastPageVisited,\n\t\t\t\t\tproperties: {selectedContent, userPreferences}\n\t\t\t\t},\n\t\t\t\taction: {payload}\n\t\t\t}) => {\n\t\t\t\tif (\n\t\t\t\t\tisAllHistoryStrategy() ||\n\t\t\t\t\t(isEntryHistoryStrategy() && !payload?.onlyAllEntryRecording)\n\t\t\t\t) {\n\t\t\t\t\tconst locationPathName = globals.getLocationPathName();\n\t\t\t\t\thistoryUpdateRequested({\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tlastPageVisited,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\tlocationPathName\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[HISTORY_EVENT_FIRED_FROM_MAGELLAN]: ({updateState}) => {\n\t\t\tupdateState({isHistoryEventFired: true});\n\t\t},\n\t\t[UPDATE_HISTORY]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {route, currentUrl, table, query, isListTemplatePage}\n\t\t\t\t},\n\t\t\t\tstate: {pageTitle},\n\t\t\t\tproperties: {userMeta}\n\t\t\t}) => {\n\t\t\t\tif (!get(userMeta, 'isReadOnlyMaintUser', false)) {\n\t\t\t\t\tconst experienceName = get(route, 'context.experienceName');\n\t\t\t\t\tconst experienceRoute = {context: route?.context};\n\t\t\t\t\tconst desc = route?.title || pageTitle?.label || '';\n\t\t\t\t\tconst experiencePath = get(route, 'context.path');\n\n\t\t\t\t\tconst title = isListTemplatePage ? table : experienceName;\n\t\t\t\t\tconst description = isListTemplatePage ? query : desc;\n\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tPUSHED_NOW_UI_HISTORY,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thistoryItem: {\n\t\t\t\t\t\t\t\tnavigator_history: {\n\t\t\t\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\t\t\t\turl: isAllHistoryStrategy() ? currentUrl : experiencePath,\n\t\t\t\t\t\t\t\t\tui_type: 'polaris',\n\t\t\t\t\t\t\t\t\tdescription: isAllHistoryStrategy() ? description : '',\n\t\t\t\t\t\t\t\t\troute: isListTemplatePage ? 'list' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\troute: isAllHistoryStrategy() ? route : experienceRoute\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export default function deepFilter(array, path, fn) {\n\tif (!Array.isArray(array)) array = [array];\n\n\treturn array.reduce((result, obj) => {\n\t\tconst children = deepFilter(obj[path] || [], path, fn);\n\n\t\tif (fn(obj))\n\t\t\tresult.push(\n\t\t\t\tObject.assign({}, obj, obj[path]?.length && {[path]: children})\n\t\t\t);\n\n\t\treturn result;\n\t}, []);\n}\n","export default function deepEach(array, path, fn) {\n\tif (!Array.isArray(array)) array = [array];\n\n\tfor (const object of array) {\n\t\tfn(object);\n\n\t\tif (object[path]) {\n\t\t\tdeepEach(object[path], path, fn);\n\t\t}\n\t}\n}\n","export const MENU_LOADING_BEHAVIOR_NAME = 'MENU_LOADING_BEHAVIOR';\n","import {MENU_LOADING_BEHAVIOR_NAME} from './constants';\n\nexport const MENU_LOADING_BEHAVIOR_STATE_PATH = `behaviors[${MENU_LOADING_BEHAVIOR_NAME}]`;\nexport const LOADER_MENU_STUBBED = 'MENU_LOADING_BEHAVIOR#LOADER_MENU_STUBBED';\nexport const LOADER_MENU_UNSTUBBED =\n\t'MENU_LOADING_BEHAVIOR#LOADER_MENU_UNSTUBBED';\n","import {START_TRACK_TIME} from './actions';\nimport {effectProxy} from '@devsnc/unav-utils';\n\nexport function trackStartTime(effectFn, path) {\n\treturn {\n\t\teffect: effectProxy(effectFn),\n\t\tinterceptors: [\n\t\t\t(context) => {\n\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {path});\n\t\t\t\treturn context;\n\t\t\t}\n\t\t]\n\t};\n}\n","import {isArray, take, cloneDeep, isEmpty, get} from 'lodash';\nimport {\n\tMENU_ENTRY_ADDED,\n\tMENU_ENTRIES_UPDATED,\n\tMENU_ENTRY_REMOVED,\n\tREPLACE_MENU_SUBITEMS,\n\tMENU_REFRESH_REQUESTED,\n\tMENU_REFRESH_REQUEST_SUCCEEDED,\n\tMANUAL_MENU_REFRESH_REQUESTED,\n\tMENU_HEADERS_UPDATE_REQUESTED,\n\tMENU_LOADED\n} from './actions';\n\nimport deepFind from '../../utils/deepFind';\nimport deepFilter from '../../utils/deepFilter';\nimport deepEach from '../../utils/deepEach';\nimport {\n\teffectProxy,\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanProperty,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport cache from '../../utils/cache';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tMENU_FAVORITES,\n\tMETRICS,\n\tSYS_PROPS,\n\tSYSTEM_MENUS,\n\tUSER_PREF_UPDATED\n} from '../../constants';\nimport {HISTORY_UPDATE_REQUESTED} from '../history-behavior/actions';\nimport {\n\tresolveUserSession,\n\tresolvePipelineResult,\n\tgetEarlyEvaluation\n} from '../../components/sn-polaris-layout/utils/resolveUserSession';\nimport getPreferenceValue from '../../utils/getPreferenceValue';\nimport {\n\tLOADER_MENU_STUBBED,\n\tLOADER_MENU_UNSTUBBED\n} from '../menu-loading-behavior/actions';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport {X_FLUSHSTAMP, X_MENU_DATA_CURRENT} from './constants';\nimport {\n\tSTART_TRACK_TIME,\n\tEND_TRACK_TIME\n} from '../performance-metrics-behavior/actions';\nimport {\n\tFETCH_MENU_TIME_PATH,\n\tMENU_RENDER_TIME_PATH\n} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY\n} = actionTypes;\n\nexport const getPolarisMenus = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/polaris/menu',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['id'],\n\t\theaderList: [X_FLUSHSTAMP],\n\t\tsuccessActionType: MENU_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst isEqualTo = (field) => (value) => (obj) => obj[field] === value;\nconst isEqualToId = isEqualTo('id');\n\nexport function findMenuByPath(menus, path = []) {\n\treturn path.reduce((currMenu, p) => {\n\t\t// since not a fully recursive structure – top level menu is not nested under subItems\n\t\t// but really _is_ subItems – check here\n\t\tconst subItems = isArray(currMenu) ? currMenu : currMenu.subItems;\n\t\treturn subItems.find(isEqualToId(p));\n\t}, menus);\n}\n\nconst prepend = (items = [], entry) => [entry, ...items];\nconst append = (items = [], entry) => [...items, entry];\n\nexport const findDuplicateItem = (menu, id) => {\n\tif (menu.id === id) {\n\t\treturn menu;\n\t} else if (menu.subItems) {\n\t\tfor (let i = 0; i < menu.subItems.length; ++i) {\n\t\t\tconst result = findDuplicateItem(menu.subItems[i], id);\n\t\t\tif (result) return result;\n\t\t}\n\t}\n\treturn null;\n};\n\nexport function addToMenu({\n\tcurrentMenu,\n\taction,\n\tpath,\n\tentry,\n\tcap = Infinity,\n\tdedupe = true,\n\tparent\n}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = cloneDeep(currentMenu);\n\tconst menu = findMenuByPath(newMenu, path);\n\n\tif (!menu) {\n\t\treturn newMenu;\n\t}\n\n\tif (dedupe) {\n\t\t// Verify the entry does not already exist in the menu before adding a duplicate\n\t\tconst item = findDuplicateItem(menu, entry.id);\n\t\tif (item) {\n\t\t\tObject.assign(item, entry);\n\t\t\treturn newMenu;\n\t\t}\n\t}\n\n\tconst fn = action === 'prepend' ? prepend : append;\n\n\t// This is responsible for adding a menu item as a child of another menu item\n\t// which is needed functionality to add favorites to custom groups upon creation\n\tif (parent) {\n\t\tconst parentItem = findDuplicateItem(menu, parent);\n\t\tif (parentItem) {\n\t\t\tparentItem.subItems = take(fn(parentItem.subItems, entry), cap);\n\t\t\treturn newMenu;\n\t\t}\n\t}\n\n\tmenu.subItems = take(fn(menu.subItems, entry), cap);\n\treturn newMenu;\n}\n\nexport function updateMenuItem({\n\tcurrentMenu,\n\tpaths,\n\tentries,\n\tkey,\n\tvalue,\n\tupdateSubItems = false,\n\tdeepClone = true,\n\tsubItemSkipList = []\n}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = deepClone ? cloneDeep(currentMenu) : [...currentMenu];\n\tfor (let i = 0; i < entries.length; ++i) {\n\t\tconst menu = findMenuByPath(newMenu, paths[i]);\n\t\tconst menuItem =\n\t\t\tdeepFind(menu, 'subItems', (m) => m.id === entries[i]) || [];\n\n\t\tif (isEmpty(menuItem) || subItemSkipList.find((id) => id === menuItem.id))\n\t\t\tcontinue;\n\t\tmenuItem[key] = value;\n\t\tif (menuItem?.subItems && updateSubItems) {\n\t\t\t// Update all the subItems\n\t\t\tdeepEach(menuItem.subItems, 'subItems', (f) => {\n\t\t\t\tif (f.subItems) return;\n\t\t\t\telse if (subItemSkipList.find((id) => id === f.id)) return;\n\t\t\t\tf[key] = value;\n\t\t\t});\n\t\t}\n\t}\n\treturn newMenu;\n}\n\nexport function removeFromMenu({currentMenu, paths, entries}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = cloneDeep(currentMenu);\n\tfor (let index = 0; index < entries.length; ++index) {\n\t\tconst menu = findMenuByPath(newMenu, paths[index]);\n\t\tconst filteredMenu =\n\t\t\tdeepFilter(\n\t\t\t\tmenu,\n\t\t\t\t'subItems',\n\t\t\t\t(i) =>\n\t\t\t\t\ti.applicationId !== entries[index].id &&\n\t\t\t\t\ti.moduleId !== entries[index].id &&\n\t\t\t\t\ti.id !== entries[index].id\n\t\t\t)[0] || [];\n\n\t\tmenu.subItems = filteredMenu.subItems;\n\t}\n\treturn newMenu;\n}\n\nexport const replaceMenuSubItems = ({currentMenu, menuId, subItems}) => {\n\tconst newMenu = cloneDeep(currentMenu);\n\tconst menuIndex = newMenu.findIndex(({id}) => menuId === id);\n\tnewMenu[menuIndex].subItems = subItems;\n\n\treturn newMenu;\n};\n\nfunction createFavoritedItemsSet(favorites, favoritedItems) {\n\tif (!favorites) return;\n\tfavoritedItems.add(\n\t\tfavorites.applicationId || favorites.moduleId || favorites.id\n\t);\n\tif (favorites.subItems) {\n\t\tfavorites.subItems.forEach((favSubItem) => {\n\t\t\tcreateFavoritedItemsSet(favSubItem, favoritedItems);\n\t\t});\n\t}\n}\n\nconst flagFavorites = (configurableMenuItems, favoritedItems) => {\n\tif (!configurableMenuItems) return;\n\tconfigurableMenuItems.favorited = favoritedItems.has(\n\t\tconfigurableMenuItems.id\n\t);\n\tif (configurableMenuItems.subItems) {\n\t\tconfigurableMenuItems.subItems.forEach((item) => {\n\t\t\tflagFavorites(item, favoritedItems);\n\t\t});\n\t}\n};\n\nconst flagFavouritesForConfigurableMenus = (headerMenuItems) => {\n\tlet favoritedItemsSet;\n\n\tlet favoritesObject = null;\n\tfor (const menuItem of headerMenuItems) {\n\t\tif (menuItem.id === MENU_FAVORITES) {\n\t\t\tfavoritesObject = menuItem;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\theaderMenuItems.forEach((menuItem) => {\n\t\tif (!SYSTEM_MENUS.has(menuItem.id)) {\n\t\t\tif (!favoritedItemsSet) {\n\t\t\t\tfavoritedItemsSet = new Set();\n\t\t\t\tcreateFavoritedItemsSet(favoritesObject, favoritedItemsSet);\n\t\t\t}\n\t\t\tflagFavorites(menuItem, favoritedItemsSet);\n\t\t}\n\t});\n};\n\nconst updateHeaderMenuItems = (\n\tupdateState,\n\theaderMenuItems,\n\tcallback = () => {}\n) => {\n\tflagFavouritesForConfigurableMenus(headerMenuItems);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'headerMenuItems',\n\t\t\tvalue: headerMenuItems,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'isLoadingMenu',\n\t\t\tvalue: false,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n\n\tconst isMenuFlushstampEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\ttrue\n\t);\n\n\t// set for a whole day\n\tcache.set(\n\t\t'headerMenuItems',\n\t\theaderMenuItems,\n\t\tisMenuFlushstampEnabled ? {ttl: 24 * 60 * 60 * 1000} : undefined\n\t);\n\tcallback();\n};\n\n/**\n *\tAppends extra data item to headerMenuItems data\n *  This extra item tells the menu how to handle the overflow menu item\n *\n * @param {*} menuItems\n */\nconst appendOverflowItem = (menuItems) => {\n\tif (isEmpty(menuItems)) return menuItems;\n\n\t// don't add duplicate overflow\n\tif (menuItems[menuItems.length - 1]?.id === 'nav-overflow') return menuItems;\n\n\tconst overflowMenuItem = {\n\t\tisOverflow: true,\n\t\tid: 'nav-overflow',\n\t\torder: Number.MAX_SAFE_INTEGER,\n\t\tcanFavorite: false,\n\t\ttemplate: 'overflow',\n\t\tsubItems: []\n\t};\n\tmenuItems.push(overflowMenuItem);\n\treturn menuItems;\n};\n\nconst syncPinnedMenuPreference = (\n\tuserSession,\n\tuserPreferences,\n\theaderMenuItems,\n\tmainMenuState,\n\tupdateState,\n\tdispatch\n) => {\n\tif (isEmpty(userPreferences)) {\n\t\tuserSession = resolveUserSession();\n\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t}\n\tconst pinnedMenuId = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.MAIN_MENU_PINNED_ID\n\t);\n\n\t// only update if current user preference is set & invalid, not if it's falsey\n\tif (\n\t\tpinnedMenuId &&\n\t\tpinnedMenuId != 'null' &&\n\t\t!headerMenuItems.find((item) => item.id === pinnedMenuId)\n\t) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...mainMenuState,\n\t\t\t\tisMenuPinned: false,\n\t\t\t\tpinnedMenuId: null\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: 'null'\n\t\t});\n\t}\n};\n\nconst updateMenuHeaderItems = (\n\tmenuHeaders,\n\tupdateState,\n\tdispatch,\n\tstate,\n\tproperties\n) => {\n\tconst {mainMenuState, isMenuStubbed, headerMenuItems} = state;\n\tconst {userPreferences, userSession} = properties;\n\t// Append the overflow menu to the menu items received from the backend\n\tmenuHeaders = appendOverflowItem(menuHeaders);\n\n\tif (!isMenuStubbed) {\n\t\tsyncPinnedMenuPreference(\n\t\t\tuserSession,\n\t\t\tuserPreferences,\n\t\t\tmenuHeaders,\n\t\t\tmainMenuState,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t);\n\t}\n\n\tif (!headerMenuItems) {\n\t\tupdateState({\n\t\t\tpath: 'headerMenuItems',\n\t\t\tvalue: menuHeaders,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n\n\tdispatch(MENU_LOADED);\n\n\t// Fetch rest of the menus in the background\n\t// Need to build in cancellation when user triggers their own menu fetch with click\n\n\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\taction: () => {\n\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t}\n\t});\n};\n\nlet pendingHistory = [];\n\nexport default {\n\tname: 'MENU_MODIFIER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate: {headerMenuItems},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (properties.features.isMenuEnabled) {\n\t\t\t\t\tif (headerMenuItems) {\n\t\t\t\t\t\tupdateHeaderMenuItems(updateState, headerMenuItems, () => {\n\t\t\t\t\t\t\tdispatch(HISTORY_UPDATE_REQUESTED);\n\t\t\t\t\t\t\tdispatch(LOADER_MENU_UNSTUBBED);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(MENU_LOADED);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet userPreferences = properties.userPreferences;\n\t\t\t\t\tif (isEmpty(userPreferences)) {\n\t\t\t\t\t\tconst userSession = resolveUserSession();\n\t\t\t\t\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!getBooleanProperty(SYS_PROPS.UI.MENU_LAZY_LOADING_ENABLED, true)\n\t\t\t\t\t) {\n\t\t\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\t\t\t// if disabled, grab the full menu\n\t\t\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t\t\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst pinnedMenuId = getPreferenceValue(\n\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\tPREFERENCES.MAIN_MENU_PINNED_ID\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (pinnedMenuId && pinnedMenuId != 'null') {\n\t\t\t\t\t\t\tif (headerMenuItems) {\n\t\t\t\t\t\t\t\t// If we're pinned but have the data already, just background request the full menu data\n\t\t\t\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\t\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED, {id: pinnedMenuId});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(MENU_HEADERS_UPDATE_REQUESTED);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisLoadingMenu: !headerMenuItems\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDER_REQUESTED]({\n\t\t\taction: {\n\t\t\t\tpayload: {previousRenderState}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate\n\t\t}) {\n\t\t\tdispatch(START_TRACK_TIME, {\n\t\t\t\tpath: MENU_RENDER_TIME_PATH\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tpreviousRenderState.isMenuStubbed === true &&\n\t\t\t\tstate.isMenuStubbed === false\n\t\t\t) {\n\t\t\t\t// now that menu is resolved, go through any pending\n\t\t\t\t// history and add those\n\t\t\t\tpendingHistory.forEach((h) =>\n\t\t\t\t\tdispatch(MENU_ENTRY_ADDED, {...h, isMenuStubbed: false})\n\t\t\t\t);\n\t\t\t\tpendingHistory = [];\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {dispatch} = coeffects;\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.MENU_RENDERED,\n\t\t\t\t\tpath: MENU_RENDER_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MENU_ENTRY_ADDED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems, isLoadingMenu},\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tpayload: {\n\t\t\t\t\tmenuId,\n\t\t\t\t\tentry,\n\t\t\t\t\tcap = Infinity,\n\t\t\t\t\tpath = [],\n\t\t\t\t\taction,\n\t\t\t\t\tdedupe = true,\n\t\t\t\t\tparent,\n\t\t\t\t\tcallback,\n\t\t\t\t\tisMenuStubbed\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// What's a good way of adding/removing an entry without\n\t\t\t// just passing in the entire new menu?\n\t\t\t// Each menu could be deeply nested + needs to be able\n\t\t\t// to handle favoriting a group (lvl1) and a subitem (lvl2)\n\t\t\t// maybe just make this SET_MENU_ENTRY rather than ADD,\n\t\t\t// and have utilities to make constructing a new menu with\n\t\t\t// updated items easier. This way each handler can hold its\n\t\t\t// own logic on _how_ to update\n\t\t\t//\n\t\t\t// orrrr, pass a function that takes in menuItems that returns the\n\t\t\t// new menuItem + where to put it. (where-to-put-it) seems like\n\t\t\t// a hard thing to represent... maybe a lodash path?\n\t\t\t//\n\t\t\t// operations\n\t\t\t// set attr `all.subItems[3].subItems[2].favoriteId = ...`\n\t\t\t// replace `all.subItems[3].subItems[2]` ...\n\t\t\t// push `all.subItems[3].subItems` ...\n\t\t\t//\n\t\t\t//\n\t\t\t//\n\t\t\t// (1) find the menu\n\t\t\t// (2) insert entry into (1)\n\t\t\t// (3) update the state\n\n\t\t\tif (isMenuStubbed || isLoadingMenu) {\n\t\t\t\t// If the menu is stubbed and items are still being fetched\n\t\t\t\t// there isn't a history menu to prepend to. Queue them up\n\t\t\t\t// to be handled later when the menu is unstubbed\n\t\t\t\tpendingHistory = [...pendingHistory, payload];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menu = addToMenu({\n\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\tentry,\n\t\t\t\tcap,\n\t\t\t\tpath: [menuId, ...path],\n\t\t\t\taction,\n\t\t\t\tdedupe,\n\t\t\t\tparent\n\t\t\t});\n\n\t\t\tif (callback) {\n\t\t\t\tcallback(menu, entry);\n\t\t\t}\n\n\t\t\tupdateHeaderMenuItems(updateState, menu);\n\t\t},\n\t\t[MENU_ENTRIES_UPDATED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tmenuId,\n\t\t\t\t\tentries,\n\t\t\t\t\tpaths,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tupdateSubItems,\n\t\t\t\t\tdeepClone,\n\t\t\t\t\tsubItemSkipList,\n\t\t\t\t\tcallback\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateHeaderMenuItems(\n\t\t\t\tupdateState,\n\t\t\t\tupdateMenuItem({\n\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\tpaths: (paths || new Array(entries.length).fill([])).map((path) => [\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t...path\n\t\t\t\t\t]),\n\t\t\t\t\tentries,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tupdateSubItems,\n\t\t\t\t\tdeepClone,\n\t\t\t\t\tsubItemSkipList\n\t\t\t\t}),\n\t\t\t\tcallback\n\t\t\t);\n\t\t},\n\t\t[MENU_ENTRY_REMOVED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems},\n\t\t\taction: {\n\t\t\t\tpayload: {menuId, entries, paths}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateHeaderMenuItems(\n\t\t\t\tupdateState,\n\t\t\t\tremoveFromMenu({\n\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\tpaths: (paths || new Array(entries.length).fill([])).map((path) => [\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t...path\n\t\t\t\t\t]),\n\t\t\t\t\tentries\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t[REPLACE_MENU_SUBITEMS]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menuId, subItems}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {headerMenuItems}\n\t\t\t}) => {\n\t\t\t\tupdateHeaderMenuItems(\n\t\t\t\t\tupdateState,\n\t\t\t\t\treplaceMenuSubItems({\n\t\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\tsubItems\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[MENU_REFRESH_REQUESTED]: {\n\t\t\teffect: effectProxy(getPolarisMenus),\n\t\t\tinterceptors: [\n\t\t\t\t(context) => {\n\t\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {\n\t\t\t\t\t\tpath: FETCH_MENU_TIME_PATH\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn context;\n\n\t\t\t\t\t// If we don't have any menu items locally, clear the flushstamp to force menu data to be returned\n\t\t\t\t\tconst flushstamp =\n\t\t\t\t\t\t!isEmpty(context.coeffects.state.headerMenuItems) &&\n\t\t\t\t\t\tcache.get('headerMenuItems') &&\n\t\t\t\t\t\tcache.get('flushstamp');\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t...context.coeffects,\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t...context.coeffects.action,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t...context.coeffects.action.payload,\n\t\t\t\t\t\t\t\t\t[X_FLUSHSTAMP]: flushstamp\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t[MANUAL_MENU_REFRESH_REQUESTED]: trackStartTime(\n\t\t\tgetPolarisMenus,\n\t\t\tFETCH_MENU_TIME_PATH\n\t\t),\n\t\t[MENU_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tlet {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch,\n\t\t\t\t\thost,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\theaderMenuItems: oldHeaderMenuItems,\n\t\t\t\t\t\tmainMenuState,\n\t\t\t\t\t\tisMenuStubbed\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {result: headerMenuItems},\n\t\t\t\t\t\tmeta\n\t\t\t\t\t},\n\t\t\t\t\tproperties: {userPreferences, userSession}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tlet isMenuDataCurrent = false;\n\n\t\t\t\tif (\n\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED, true)\n\t\t\t\t) {\n\t\t\t\t\tconst responseHeaders = meta?.responseHeaders || {};\n\t\t\t\t\tisMenuDataCurrent = responseHeaders[X_MENU_DATA_CURRENT] == 'true';\n\n\t\t\t\t\tif (isMenuDataCurrent) {\n\t\t\t\t\t\theaderMenuItems = cache.get('headerMenuItems');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst updatedFlushstamp = responseHeaders['x-flushstamp'];\n\n\t\t\t\t\t\tif (updatedFlushstamp) {\n\t\t\t\t\t\t\tcache.set('flushstamp', updatedFlushstamp, {\n\t\t\t\t\t\t\t\tttl: 24 * 60 * 60 * 1000\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Append the overflow menu to the menu items received from the backend\n\t\t\t\theaderMenuItems = appendOverflowItem(headerMenuItems);\n\n\t\t\t\tif (!isMenuStubbed) {\n\t\t\t\t\tsyncPinnedMenuPreference(\n\t\t\t\t\t\tuserSession,\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\theaderMenuItems,\n\t\t\t\t\t\tmainMenuState,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (meta?.request?.params?.id && !isMenuDataCurrent) {\n\t\t\t\t\tupdateState({headerMenuItems});\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!isMenuDataCurrent) {\n\t\t\t\t\tupdateHeaderMenuItems(updateState, headerMenuItems, () => {\n\t\t\t\t\t\tif (isEmpty(oldHeaderMenuItems)) {\n\t\t\t\t\t\t\tdispatch(HISTORY_UPDATE_REQUESTED);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch(MENU_LOADED);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst refresh = host.shadowRoot.querySelector('#refresh-menu');\n\t\t\t\tif (refresh) {\n\t\t\t\t\trefresh.classList.add('refreshing');\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trefresh.classList.remove('refreshing');\n\t\t\t\t\t}, 5000);\n\t\t\t\t}\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.MENU_FETCHED,\n\t\t\t\t\tpath: FETCH_MENU_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MENU_HEADERS_UPDATE_REQUESTED]: {\n\t\t\teffect: ({updateState, dispatch, state, properties}) => {\n\t\t\t\tlet {menuHeaders} = properties;\n\t\t\t\tif (!menuHeaders) {\n\t\t\t\t\t//Shell data brokers will be sent back asynchronously\n\t\t\t\t\tgetEarlyEvaluation('polaris_app_shell_menu_headers').then(\n\t\t\t\t\t\t(evaluatedDataPipeline) => {\n\t\t\t\t\t\t\tmenuHeaders = resolvePipelineResult(evaluatedDataPipeline);\n\t\t\t\t\t\t\tupdateMenuHeaderItems(\n\t\t\t\t\t\t\t\tmenuHeaders,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tproperties\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else\n\t\t\t\t\tupdateMenuHeaderItems(\n\t\t\t\t\t\tmenuHeaders,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tproperties\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tBACKGROUND_LOAD_MENU: {\n\t\t\teffect: ({dispatch, state, updateState}) => {\n\t\t\t\tif (!state.menuFetched) {\n\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'menuFetched',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[LOADER_MENU_STUBBED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisMenuStubbed: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LOADER_MENU_UNSTUBBED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {headerMenuItems, mainMenuState},\n\t\t\t\tproperties: {userPreferences, userSession}\n\t\t\t}) => {\n\t\t\t\tsyncPinnedMenuPreference(\n\t\t\t\t\tuserSession,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\theaderMenuItems,\n\t\t\t\t\tmainMenuState,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisMenuStubbed: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {isEmpty} from 'lodash';\nexport default function stripBlacklistedParams(target, blacklist = []) {\n\tblacklist = [...blacklist, 'sysparm_use_polaris'];\n\tconst url = new URL(target, window.location);\n\n\t// strip the blacklisted query params and then return that\n\tblacklist.forEach((i) => url.searchParams.delete(i));\n\turl.searchParams.forEach((value, key) => {\n\t\tif (isEmpty(value)) {\n\t\t\turl.searchParams.delete(key);\n\t\t}\n\t});\n\n\treturn url.href;\n}\n","export const INTERNAL_CONFIRM_CLICKED = 'INTERNAL#CONFIRM_CLICKED';\nexport const INTERNAL_CUSTOM_GROUP_REQUESTED =\n\t'INTERNAL#CUSTOM_GROUP_REQUESTED';\nexport const FAVORITE_EDIT_MODAL_REQUESTED = 'FAVORITE_EDIT_MODAL#REQUESTED';\nexport const FAVORITE_EDIT_MODAL_DISMISSED = 'FAVORITE_EDIT_MODAL#DISMISSED';\nexport const FAVORITE_EDIT_MODAL_CONFIRM_CLICKED =\n\t'FAVORITE_EDIT_MODAL#CONFIRM';\nexport const INTERNAL_CANCEL_REQUESTED = 'INTERNAL#CANCEL_REQUESTED';\nexport const INTERNAL_FINAL_CANCEL_ABORTED = 'INTERNAL#FINAL_CANCEL_ABORTED';\nexport const INTERNAL_SCROLL_TO_NEW_CUSTOM_GROUP =\n\t'INTERNAL#SCROLL_TO_NEW_CUSTOM_GROUP';\nexport const INTERNAL_SCROLL_TO_SELECTED_ITEM =\n\t'INTERNAL#SCROLL_TO_SELECTED_ITEM';\n","import {uniqBy} from 'lodash';\n\nexport default function flattenMenuItems(\n\thead,\n\treturnArray = [],\n\tkey = 'subItems',\n\tparentKey = ['id'],\n\tparent\n) {\n\tif (head) {\n\t\treturnArray.push({parent, ...head});\n\t\thead[key]?.forEach((item) =>\n\t\t\tflattenMenuItems(\n\t\t\t\titem,\n\t\t\t\treturnArray,\n\t\t\t\tkey,\n\t\t\t\tparentKey,\n\t\t\t\thead[parentKey.find((key) => !!head[key])]\n\t\t\t)\n\t\t);\n\t}\n\treturn uniqBy(returnArray, 'id');\n}\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '@devsnc/unav-utils';\n\nexport const defaultColors = [\n\t'purple',\n\t'blue',\n\t'cyan',\n\t'aquamarine',\n\t'green',\n\t'yellow',\n\t'orange',\n\t'burnt-orange',\n\t'red',\n\t'pink',\n\t'fuschia',\n\t'white'\n];\n\nexport const getColors = (\n\tpropColors = getProperty(SYS_PROPS.UI.NAV_COLORS)\n) => {\n\tlet colors;\n\ttry {\n\t\tcolors = JSON.parse(propColors);\n\t} catch (ex) {\n\t\tcolors = defaultColors;\n\t}\n\treturn colors;\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../../../../constants';\n\nexport const defaultIcons = [\n\t'article-document',\n\t'user',\n\t'user-group',\n\t'lightbulb',\n\t'home',\n\t'mobile',\n\t'comment',\n\t'mail',\n\t'locked',\n\t'database',\n\t'book',\n\t'drawer',\n\t'folder',\n\t'catalog',\n\t'tab',\n\t'cards',\n\t'tree-right',\n\t'tree',\n\t'book-open',\n\t'paperclip',\n\t'edit',\n\t'trash',\n\t'image',\n\t'search',\n\t'power',\n\t'cog',\n\t'star',\n\t'star-empty',\n\t'new-ticket',\n\t'dashboard',\n\t'cart-full',\n\t'view',\n\t'label',\n\t'filter',\n\t'calendar',\n\t'script',\n\t'add',\n\t'delete',\n\t'help',\n\t'check-circle',\n\t'alert',\n\t'sort-ascending',\n\t'console',\n\t'list',\n\t'form',\n\t'livefeed',\n\t'key',\n\t'hr'\n];\n\nexport const getIcons = (propIcons = getProperty(SYS_PROPS.UI.NAV_ICONS)) => {\n\tlet icons;\n\ttry {\n\t\ticons = JSON.parse(propIcons);\n\t} catch (ex) {\n\t\ticons = defaultIcons;\n\t}\n\treturn icons;\n};\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const ARIA_LIVE_MESSAGE_ADDED = `${BEHAVIOR_NAME}#MESSAGE_ADDED`;\nexport const ARIA_LIVE_MESSAGE_REMOVED = `${BEHAVIOR_NAME}#MESSAGE_REMOVED`;\n","import {isEmpty, get} from 'lodash';\nimport {isFavoriteGroup} from './isFavoriteGroup';\nimport {SEPARATOR} from '../constants';\n\nexport const mapItemsToFavorites = (subItems, parent = null) => {\n\treturn subItems.map(\n\t\t({\n\t\t\tcolor,\n\t\t\ticon,\n\t\t\tid,\n\t\t\topen,\n\t\t\torder,\n\t\t\tlabel: title,\n\t\t\tsubItems: favorites,\n\t\t\tmoduleId,\n\t\t\tapplicationId,\n\t\t\troute,\n\t\t\tactionType\n\t\t}) => ({\n\t\t\tcolor,\n\t\t\ticon,\n\t\t\tid,\n\t\t\topen,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tfavorites: isEmpty(favorites)\n\t\t\t\t? []\n\t\t\t\t: mapItemsToFavorites(\n\t\t\t\t\t\tfavorites,\n\t\t\t\t\t\tisFavoriteGroup({moduleId, route, actionType}) ? id : null\n\t\t\t\t  ),\n\t\t\t...(parent\n\t\t\t\t? isFavoriteGroup({moduleId, route, actionType})\n\t\t\t\t\t? {parent_group: parent}\n\t\t\t\t\t: {groupId: parent}\n\t\t\t\t: {}),\n\t\t\t...(isFavoriteGroup({moduleId, route, actionType})\n\t\t\t\t? {applicationId, group: true}\n\t\t\t\t: {module: moduleId, group: false}),\n\t\t\t...(actionType === SEPARATOR ? {separator: true} : {separator: false}),\n\t\t\t...(get(route, 'params.target') ? {url: route.params.target} : {})\n\t\t})\n\t);\n};\n","import track from '../../utils/track';\nimport {validateSearchPage, formatSearchPageTitle} from '../../utils/search';\nimport {\n\tcreateHttpEffect,\n\tgetBooleanPreferenceValue,\n\teffectProxy,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {\n\tget,\n\tisEmpty,\n\tisFunction,\n\tomitBy,\n\tisEqual,\n\trandom,\n\tuniqBy,\n\tdifferenceWith\n} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport stripBlacklistedParams from '../../utils/stripBlacklistedParams';\n\nimport {BEHAVIOR_NAME, FAVORITE, FAVORITES} from './constants';\nimport {\n\tFAVORITE_ENTRY_ADDED,\n\tFAVORITE_ENTRY_REMOVED,\n\tFAVORITE_REQUESTED,\n\tFAVORITE_GROUP_REQUESTED,\n\tFAVORITE_DELETE_REQUESTED,\n\tFAVORITE_DELETE_MODULE_REQUESTED,\n\tFAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED,\n\tFAVORITE_DELETE_GROUP_REQUESTED,\n\tFAVORITE_CREATE_SUCCEEDED,\n\tFAVORITE_REMOVE_SUCCEEDED,\n\tFAVORITE_FAILED,\n\tFAVORITE_EDIT_SUCCEEDED,\n\tFAVORITE_UPDATE_ALL_REQUESTED,\n\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\tFAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED,\n\tFAVORITE_CHECK_REQUESTED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED,\n\tFAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\tLAYOUT_ITEM_FAVORITED,\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_POPUP_CLOSED,\n\tFAVORITE_POPUP_INFO_UPDATED,\n\tFAVORITE_POPUP_RENDERED,\n\tFAVORITE_POPUP_DESTROYED,\n\tSYNC_ALL_MENU_AND_TITLE,\n\tSYNC_FAVORITES_COMPLETE,\n\tFAVORITE_DELETE_MODAL_CANCEL_CLICKED,\n\tFAVORITE_DELETE_MODAL_REMOVE_CLICKED\n} from './actions';\nimport {\n\tFAVORITE_EDIT_MODAL_REQUESTED,\n\tFAVORITE_EDIT_MODAL_DISMISSED,\n\tFAVORITE_EDIT_MODAL_CONFIRM_CLICKED\n} from '../../components/sn-polaris-layout/favorite-edit-modal/actions';\nimport {\n\tMENU_ENTRY_ADDED,\n\tMENU_ENTRIES_UPDATED,\n\tMENU_ENTRY_REMOVED,\n\tREPLACE_MENU_SUBITEMS\n} from '../menu-modifier-behavior/actions';\nimport {\n\tCLASSIC,\n\tSYS_PROPS,\n\tMETRICS,\n\tSEPARATOR,\n\tCONTEXTUAL_MENU_TITLE,\n\tSCRIPT,\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS\n} from '../../constants';\nimport flattenMenuItems from '../../utils/flattenMenuItems';\nimport {getColors} from '../../components/sn-polaris-layout/fragments/color-picker/color-picker.utils';\nimport {getIcons} from '../../components/sn-polaris-layout/fragments/icon-picker/icon-picker.utils';\nimport {ARIA_LIVE_MESSAGE_ADDED} from '../aria-live-messages-behavior/actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {mapItemsToFavorites} from '../../utils/mapItemsToFavorites';\nimport {\n\tisFavoriteGroup,\n\tisCustomFavoriteGroup\n} from '../../utils/isFavoriteGroup';\nimport {PRE_SHORTCUT_CLEANUP_SUCCEEDED} from '../../components/sn-polaris-layout/actions';\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {CREATE_FAVORITE_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nlet blacklist, colors, icons;\ntry {\n\tblacklist =\n\t\tJSON.parse(getProperty(SYS_PROPS.UI.NAV_FAVORITE_URL_PARAM_BLACKLIST)) ||\n\t\t[];\n\tcolors = JSON.parse(getProperty(SYS_PROPS.UI.NAV_COLORS));\n\ticons = JSON.parse(getProperty(SYS_PROPS.UI.NAV_ICONS));\n} catch {\n\tblacklist = [];\n\tcolors = ['purple'];\n\ticons = ['list'];\n}\n\n// Creates a favorite label for a module favorite similar to that created prior\n// to the popup\nconst createAllMenuLabel = (item, parentMenuItem) => {\n\tif (parentMenuItem && parentMenuItem.label !== item.label) {\n\t\treturn `${parentMenuItem.label} - ${item.label}`;\n\t}\n\treturn item.label;\n};\n\nexport const areSimilarClassicUrls = (\n\turl1,\n\turl2,\n\tcustomDenyList = blacklist\n) => {\n\tif (!url1 || !url2) return false;\n\tconst cleanUrl1 = new URL(\n\t\tstripBlacklistedParams(url1.replace(/^\\//g, ''), customDenyList)\n\t);\n\tconst cleanUrl2 = new URL(\n\t\tstripBlacklistedParams(url2.replace(/^\\//g, ''), customDenyList)\n\t);\n\tconst searchParams1 = Object.fromEntries(cleanUrl1.searchParams);\n\tconst searchParams2 = Object.fromEntries(cleanUrl2.searchParams);\n\treturn (\n\t\tcleanUrl1.hostname === cleanUrl2.hostname &&\n\t\tcleanUrl1.pathname === cleanUrl2.pathname &&\n\t\tisEqual(searchParams1, searchParams2)\n\t);\n};\n\nconst areSimilarRouteObjects = (route1, route2) => {\n\tif (isEmpty(route1) || isEmpty(route2)) return false;\n\n\tconst isSameContext =\n\t\t(isEmpty(route1.context) && isEmpty(route2.context)) ||\n\t\tisEqual(get(route1, 'context', {}), get(route2, 'context', {}));\n\n\tconst isSameFields =\n\t\t(isEmpty(route1.fields) && isEmpty(route2.fields)) ||\n\t\tisEqual(\n\t\t\tomitBy(get(route1, 'fields', {}), isEmpty),\n\t\t\tomitBy(get(route2, 'fields', {}), isEmpty)\n\t\t);\n\n\tconst isSameParams =\n\t\t(isEmpty(route1.params) && isEmpty(route2.params)) ||\n\t\tisEqual(\n\t\t\tomitBy(get(route1, 'params', {}), isEmpty),\n\t\t\tomitBy(get(route2, 'params', {}), isEmpty)\n\t\t);\n\n\tconst isSameRoute =\n\t\t(isEmpty(route1.route) && isEmpty(route2.route)) ||\n\t\tisEqual(get(route1, 'route', ''), get(route2, 'route', ''));\n\n\treturn isSameContext && isSameFields && isSameParams && isSameRoute;\n};\n\n/**\n * Construct messages for aria-live region\n * Removed a single app favorite:\n * \tRemoved <app label> and <num_sub_items> children from favorites\n * Removed a single module favorite (no children):\n * Removed <module label> from favorites\n * Removed <num of apps + > from favorites\n */\nconst dispatchAriaLiveMessage = (removedFavorites, dispatch) => {\n\tif (isEmpty(removedFavorites)) return;\n\n\tconst favoritesRemoved = new Set();\n\tconst childrenRemoved = new Set();\n\n\tremovedFavorites.forEach((favorite) => {\n\t\tconst [parent, ...children] = flattenMenuItems(\n\t\t\tfavorite.favorite || favorite\n\t\t);\n\t\tif (!isEmpty(children)) {\n\t\t\tchildren.forEach((c) => childrenRemoved.add(c));\n\t\t}\n\n\t\t// sometimes removedFavorites will contain the app removed and its subitems as a single list\n\t\tif (!childrenRemoved.has(parent)) favoritesRemoved.add(parent);\n\t});\n\n\tconst getFavoriteLabel = (f) => f.label ?? f.favorite.label;\n\n\t// build aria-live message\n\tlet message = '';\n\n\t// a single app removed (children items implicitly removed too)\n\tif (favoritesRemoved.size === 1 && childrenRemoved.size > 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} and {1} sub items from favorites',\n\t\t\tgetFavoriteLabel(removedFavorites[0]),\n\t\t\tchildrenRemoved.size\n\t\t);\n\t// a single module removed\n\telse if (favoritesRemoved.size === 1 && childrenRemoved.size === 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} from favorites',\n\t\t\tgetFavoriteLabel(removedFavorites[0])\n\t\t);\n\t// multiple single modules removed\n\telse if (favoritesRemoved.size > 1 && childrenRemoved.size === 0)\n\t\tmessage = t('Removed {0} items from favorites', favoritesRemoved.size);\n\t// multiple apps removed (also includes mix of apps and single modules)\n\telse if (favoritesRemoved.size > 1 && childrenRemoved.size > 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} items and {1} sub items from favorites',\n\t\t\tfavoritesRemoved.size,\n\t\t\tchildrenRemoved.size\n\t\t);\n\n\tif (message) dispatch(ARIA_LIVE_MESSAGE_ADDED, {message});\n};\n\nexport const getRoute = (\n\tselectedContent,\n\turl = '',\n\tcurrentPage,\n\ttype,\n\twindowName\n) => {\n\tconst trimmedUrl = url.trim();\n\t// Classic route object\n\tif (selectedContent?.route === CLASSIC || !currentPage) {\n\t\t// External link has been favorited\n\t\tif (windowName) {\n\t\t\treturn {route: {external: {url: trimmedUrl, target: windowName}}};\n\t\t}\n\t\t// Script type module has been favorited\n\t\telse if (type === 'NOT_FOUND' && trimmedUrl.indexOf('javascript') === 0) {\n\t\t\treturn {actionType: SCRIPT, command: trimmedUrl};\n\t\t}\n\t\t// regular navigation module has been favorited\n\t\telse {\n\t\t\treturn {route: {params: {target: url}, route: CLASSIC}};\n\t\t}\n\t}\n\t// Workspaces route object\n\telse {\n\t\treturn {\n\t\t\troute: {\n\t\t\t\tcontext: selectedContent.context,\n\t\t\t\troute: selectedContent.route,\n\t\t\t\tfields: selectedContent.fields || {},\n\t\t\t\tparams: omitBy(selectedContent.params, isEmpty)\n\t\t\t}\n\t\t};\n\t}\n};\n\nconst resetFavoriteDeletePayload = ({updateState}) => {\n\tupdateState({\n\t\tfavoriteDeletePayload: null\n\t});\n};\n\nconst addNestedItems = (item, itemArray) => {\n\titemArray.push(item);\n\titem?.subItems?.forEach((subItem) => {\n\t\taddNestedItems(subItem, itemArray);\n\t});\n};\n\nconst createFavoriteByUrl = createHttpEffect('/api/now/ui/favorite', {\n\tmethod: 'POST',\n\tdataParam: FAVORITE,\n\tbatch: false,\n\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\terrorActionType: FAVORITE_FAILED\n});\n\nexport const updateAllFavorites = createHttpEffect(\n\t'/api/now/ui/favorite/multiple',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: FAVORITES,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_EDIT_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteMultipleFavoritesById = createHttpEffect(\n\t'/api/now/ui/favorite/multiple',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['ids', 'groups'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nconst deleteMultipleFavoritesByModuleId = createHttpEffect(\n\t'/api/now/ui/favorite/modules',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['ids'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const createFavoriteById = createHttpEffect(\n\t'/api/now/ui/favorite/module',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: FAVORITE,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const createFavoriteByGroup = createHttpEffect(\n\t'/api/now/ui/favorite/application',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: FAVORITE,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteFavoriteById = createHttpEffect('/api/now/ui/favorite', {\n\tmethod: 'DELETE',\n\tqueryParams: ['id', 'group'],\n\tbatch: false,\n\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\terrorActionType: FAVORITE_FAILED\n});\n\nexport const deleteFavoriteByModule = createHttpEffect(\n\t'/api/now/ui/favorite/module',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['id'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteFavoriteByApplication = createHttpEffect(\n\t'/api/now/ui/favorite/application',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['id'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nconst getFavorite = (\n\tfavoriteResponse,\n\tdispatch,\n\tselectedContent,\n\tcurrentPage\n) => {\n\tconst favorite = {\n\t\tid: favoriteResponse.id,\n\t\tlabel: favoriteResponse.title,\n\t\ticon: favoriteResponse.icon,\n\t\topen: favoriteResponse.open,\n\t\tcolor: favoriteResponse.color,\n\t\t...(favoriteResponse.separator ? {actionType: SEPARATOR} : {}),\n\t\t...(isEmpty(favoriteResponse.url)\n\t\t\t? {}\n\t\t\t: getRoute(\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tfavoriteResponse.url,\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tfavoriteResponse.type,\n\t\t\t\t\tfavoriteResponse.windowName\n\t\t\t  )),\n\t\t...(isEmpty(favoriteResponse.applicationId)\n\t\t\t? {}\n\t\t\t: {applicationId: favoriteResponse.applicationId}),\n\t\t...(isEmpty(favoriteResponse.module)\n\t\t\t? {}\n\t\t\t: {moduleId: favoriteResponse.module})\n\t};\n\n\tif (!favoriteResponse.group) return favorite;\n\n\tconst subItems = [];\n\tfavoriteResponse.favorites.forEach((f) => {\n\t\tif (f.separator) {\n\t\t\tconst separator = getFavorite(f, dispatch);\n\t\t\tseparator.subItems = [];\n\t\t\tif (separator.label) {\n\t\t\t\tf.favorites?.forEach((item) =>\n\t\t\t\t\tseparator.subItems.push(getFavorite(item, dispatch))\n\t\t\t\t);\n\t\t\t\tsubItems.push(separator);\n\t\t\t} else {\n\t\t\t\tsubItems.push(separator);\n\t\t\t\tf.favorites?.forEach((item) =>\n\t\t\t\t\tsubItems.push(getFavorite(item, dispatch))\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tsubItems.push(getFavorite(f, dispatch));\n\t\t}\n\t});\n\n\tfavorite.subItems = subItems;\n\treturn favorite;\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tselectedContentFavorite: null,\n\t\tfavoriteDeletePayload: null,\n\t\tfavoritePopupPayload: null,\n\t\tpopupRef: null,\n\t\tswitchingPopupPosition: false,\n\t\ttempFavoriteStarFill: false,\n\t\tisSyncingFavorites: false\n\t},\n\tactionHandlers: {\n\t\t[FAVORITE_ENTRY_ADDED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {selectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tfavoriteResponse,\n\t\t\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tcurrentPage,\n\t\t\t\t\t\topenModal\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tlet addCallback;\n\t\t\tconst menuItem = favoriteResponse.group\n\t\t\t\t? favoriteResponse.applicationId\n\t\t\t\t: favoriteResponse.module;\n\n\t\t\t// we need to add favorites to the favorite menu after we have updated the all\n\t\t\t// menu successfully. This is because the calls to MENU_ENTRY_ADDED and MENU_ENTRY_UPDATED\n\t\t\t// get in a race condition where one of them updates the ALL menu and the other updates the\n\t\t\t// FAVORITES menu, but they do not wait for each other's updates so one change gets overwritten.\n\t\t\t// With the callback, we guarantee that both updates occur correctly.\n\t\t\tconst updateCallback = () => {\n\t\t\t\tconst entry = getFavorite(\n\t\t\t\t\tfavoriteResponse,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage\n\t\t\t\t);\n\n\t\t\t\tif (openModal) {\n\t\t\t\t\taddCallback = (menu, entry) =>\n\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\tmenu: menu.find(({id}) => id === MENU_FAVORITES),\n\t\t\t\t\t\t\tentryId: entry.id\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// adding the favorite menu item in the favorite menu\n\t\t\t\tdispatch(MENU_ENTRY_ADDED, {\n\t\t\t\t\tentry,\n\t\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\t\taction: 'append',\n\t\t\t\t\tparent: favoriteResponse.groupId || favoriteResponse.parentGroup,\n\t\t\t\t\tcallback: addCallback\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// adding the star in the all menu if the item exists in the all menu\n\t\t\tif (menuItem) {\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: [menuItem],\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tcallback: updateCallback\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateCallback();\n\t\t\t}\n\n\t\t\t// this is if we are favoriting from the star in experience title or context menu\n\t\t\tif (updateSelectedContentFavorite) {\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedContentFavorite: getFavorite(favoriteResponse),\n\t\t\t\t\ttempFavoriteStarFill: false\n\t\t\t\t});\n\t\t\t\t// this is when we favorite from the all menu and we need to find out if we should star the current page\n\t\t\t} else if (!selectedContentFavorite) {\n\t\t\t\tlet addSelectedContentFavorite;\n\n\t\t\t\t// if the favorited item is a group/application, we flatten the response and try to find a similar url\n\t\t\t\t// to the current url you are on\n\t\t\t\tif (favoriteResponse.group) {\n\t\t\t\t\taddSelectedContentFavorite = (\n\t\t\t\t\t\tflattenMenuItems(favoriteResponse, [], FAVORITES) || [\n\t\t\t\t\t\t\tfavoriteResponse\n\t\t\t\t\t\t]\n\t\t\t\t\t).find(({url}) =>\n\t\t\t\t\t\tareSimilarClassicUrls(url, selectedContent?.params?.target)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// if its just a module, then we find out if the module is the same as the current page user is on,\n\t\t\t\t\t// if it is similar to current page then we set the variable to the favorite response\n\t\t\t\t\tconst similarClassicUrls = areSimilarClassicUrls(\n\t\t\t\t\t\tfavoriteResponse.url,\n\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t);\n\t\t\t\t\tif (similarClassicUrls) {\n\t\t\t\t\t\taddSelectedContentFavorite = favoriteResponse;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (addSelectedContentFavorite) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite: getFavorite(addSelectedContentFavorite)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// When a VTB or Knowledge article is favorited we need them to add their star\n\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\tif (iframe) {\n\t\t\t\tif (window.CustomEvent.fireToWindow)\n\t\t\t\t\twindow.CustomEvent.fireToWindow(\n\t\t\t\t\t\tiframe.contentWindow,\n\t\t\t\t\t\t'magellanNavigator:favoriteSaved',\n\t\t\t\t\t\tfavoriteResponse\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\tcoeffects: coeffects,\n\t\t\t\tmetric: METRICS.FAVORITE_CREATED,\n\t\t\t\tpath: CREATE_FAVORITE_TIME_PATH\n\t\t\t});\n\t\t},\n\t\t[FAVORITE_ENTRY_REMOVED]: ({\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {selectedContentFavorite},\n\t\t\taction: {\n\t\t\t\tpayload: {removedFavorites, fromExperienceTitle, menuItemUpdateSkipList}\n\t\t\t}\n\t\t}) => {\n\t\t\tconst entries = removedFavorites?.map(\n\t\t\t\t(favorite) => favorite.moduleId || favorite.applicationId || favorite.id\n\t\t\t);\n\n\t\t\t// updating the all menu items by removing the stars\n\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\tentries,\n\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\tkey: 'favorited',\n\t\t\t\tvalue: false,\n\t\t\t\tupdateSubItems: true,\n\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t});\n\n\t\t\t// removing the favorite items from the favorite menu\n\t\t\tdispatch(MENU_ENTRY_REMOVED, {\n\t\t\t\tentries: removedFavorites,\n\t\t\t\tmenuId: MENU_FAVORITES\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\t!menuItemUpdateSkipList?.find(\n\t\t\t\t\t(id) => id === selectedContentFavorite?.moduleId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// finding out if we need to remove the star from experience title depending on what\n\t\t\t\t// favorites have been removed\n\t\t\t\tconst removeSelectedContentFavorite = flattenMenuItems({\n\t\t\t\t\tsubItems: removedFavorites\n\t\t\t\t}).find(\n\t\t\t\t\t({id, moduleId}) =>\n\t\t\t\t\t\tid &&\n\t\t\t\t\t\t(id === selectedContentFavorite?.id ||\n\t\t\t\t\t\t\tid === selectedContentFavorite?.moduleId ||\n\t\t\t\t\t\t\t(moduleId && moduleId === selectedContentFavorite?.moduleId))\n\t\t\t\t);\n\n\t\t\t\t//updating experience title star if we are removing from the experience title\n\t\t\t\t// or if the current page matches a favorite item that was removed\n\t\t\t\tif (fromExperienceTitle || removeSelectedContentFavorite) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// When a VTB or Knowledge article is unfavorited we need them to remove their star\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\t\tif (iframe) {\n\t\t\t\t\tif (window.CustomEvent.fireToWindow)\n\t\t\t\t\t\twindow.CustomEvent.fireToWindow(\n\t\t\t\t\t\t\tiframe.contentWindow,\n\t\t\t\t\t\t\t'magellanNavigator:favoriteRemoved',\n\t\t\t\t\t\t\tselectedContentFavorite.id\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteById,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_GROUP_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteByGroup,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_DELETE_REQUESTED]: effectProxy(deleteFavoriteById),\n\t\t[FAVORITE_DELETE_MULTIPLE_REQUESTED]: effectProxy(\n\t\t\tdeleteMultipleFavoritesById\n\t\t),\n\t\t[FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED]: deleteMultipleFavoritesByModuleId,\n\t\t[FAVORITE_DELETE_MODULE_REQUESTED]: effectProxy(deleteFavoriteByModule),\n\t\t[FAVORITE_DELETE_GROUP_REQUESTED]: effectProxy(deleteFavoriteByApplication),\n\t\t[FAVORITE_UPDATE_ALL_REQUESTED]: effectProxy(updateAllFavorites),\n\t\t[FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteByUrl,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_CREATE_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\tstate: {favoritePopupPayload, switchingPopupPosition},\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tmeta: {\n\t\t\t\t\tresultType,\n\t\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\topenModal\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// if user is switching popups by clicking one star then clicking another star\n\t\t\t// while the popup is open for the initial star, we should not remove the favoritePopupPayload\n\t\t\t// as it has changed to hold the new data and has a new location.\n\t\t\tif (switchingPopupPosition) {\n\t\t\t\tupdateState({\n\t\t\t\t\tswitchingPopupPosition: false\n\t\t\t\t});\n\t\t\t\t// we close the popup after we confirm that the user has created the favorite successfully\n\t\t\t\t// and get rid of the metadata\n\t\t\t} else if (!isEmpty(favoritePopupPayload)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoritePopupPayload: null\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch(FAVORITE_ENTRY_ADDED, {\n\t\t\t\tfavoriteResponse: get(payload, resultType),\n\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\tselectedContent,\n\t\t\t\tcurrentPage,\n\t\t\t\topenModal\n\t\t\t});\n\t\t},\n\t\t[FAVORITE_REMOVE_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tskipUpdate,\n\t\t\t\t\tskipAriaLive,\n\t\t\t\t\tremovedFavorites,\n\t\t\t\t\tcallback,\n\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// sometimes, we know that this isnt the last request to go through, in that\n\t\t\t// case we should skip the update as another request will take care of it.\n\t\t\tif (!skipUpdate) {\n\t\t\t\tdispatch(FAVORITE_ENTRY_REMOVED, {\n\t\t\t\t\tremovedFavorites,\n\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (isFunction(callback)) {\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t\tif (!skipAriaLive) {\n\t\t\t\tdispatchAriaLiveMessage(removedFavorites, dispatch);\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menu, entryId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteModalProps: {\n\t\t\t\t\t\tmenu,\n\t\t\t\t\t\tcolors: getColors(),\n\t\t\t\t\t\ticons: getIcons(),\n\t\t\t\t\t\tentryId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState, dispatch, state: {requestToCloseModals}}) => {\n\t\t\t\tif (!isEmpty(requestToCloseModals)) {\n\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_SUCCEEDED, requestToCloseModals);\n\t\t\t\t\tupdateState({requestToCloseModals: null});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteModalProps: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_CONFIRM_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tmenuItems: subItems,\n\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_DISMISSED);\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_UPDATE_ALL_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfavorites: {favorites: mapItemsToFavorites(subItems)}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tif (isEmpty(removedFavorites)) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(','),\n\t\t\t\t\t\t\tgroups: removedFavorites.map(({group}) => group).join(',')\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tskipUpdate: true,\n\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {selectedContentFavorite},\n\t\t\tproperties: {selectedContent},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tresult: {list}\n\t\t\t\t},\n\t\t\t\tmeta: {removedFavorites, menuItemUpdateSkipList}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(REPLACE_MENU_SUBITEMS, {\n\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\tsubItems: list.map((item) =>\n\t\t\t\t\tgetFavorite(item, dispatch, selectedContent)\n\t\t\t\t)\n\t\t\t});\n\n\t\t\t// if some entries are removed from the favorite editing modal\n\t\t\tif (!isEmpty(removedFavorites)) {\n\t\t\t\tconst allMenuRemovedFavorites = removedFavorites\n\t\t\t\t\t.filter(({allId}) => allId)\n\t\t\t\t\t.map(({allId}) => allId);\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: allMenuRemovedFavorites,\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\t!menuItemUpdateSkipList.find(\n\t\t\t\t\t\t(id) => id === selectedContentFavorite?.moduleId\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// if an item we removed is a page that we are currently on, we need to remove the star\n\t\t\t\t\t// from the experience title\n\t\t\t\t\tconst removeSelectedContentFavorite = removedFavorites.find(\n\t\t\t\t\t\t({favorite}) => {\n\t\t\t\t\t\t\treturn flattenMenuItems(favorite)?.find(\n\t\t\t\t\t\t\t\t({id, moduleId}) =>\n\t\t\t\t\t\t\t\t\tid === selectedContentFavorite?.id ||\n\t\t\t\t\t\t\t\t\t(moduleId && moduleId === selectedContentFavorite?.moduleId)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (removeSelectedContentFavorite) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_CHECK_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {selectedContentFavorite: oldSelectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {value, favoriteList}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tlet selectedContentFavorite;\n\t\t\t\tconst flatFavorites = flattenMenuItems(favoriteList[0]);\n\t\t\t\tif (value?.route === CLASSIC) {\n\t\t\t\t\tselectedContentFavorite = flatFavorites.find(({route}) =>\n\t\t\t\t\t\tareSimilarClassicUrls(route?.params?.target, value?.params?.target)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tselectedContentFavorite = flatFavorites.find(({route}) =>\n\t\t\t\t\t\tareSimilarRouteObjects(route, value)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(selectedContentFavorite && !oldSelectedContentFavorite) ||\n\t\t\t\t\t(!selectedContentFavorite && oldSelectedContentFavorite) ||\n\t\t\t\t\t(selectedContentFavorite &&\n\t\t\t\t\t\toldSelectedContentFavorite &&\n\t\t\t\t\t\t!isEqual(selectedContentFavorite, oldSelectedContentFavorite))\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tlet {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {favoritePopupPayload: oldPopupPayload, favoriteDeletePayload},\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\twindowSize,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tpolarisSearchContexts,\n\t\t\t\t\t\tuserMeta: {preferences}\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {title, favoritePopupPayload, url: payloadUrl}\n\t\t\t\t\t},\n\t\t\t\t\thost\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst url =\n\t\t\t\t\tpayloadUrl ||\n\t\t\t\t\t(selectedContent?.route === CLASSIC\n\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t: window.location.pathname.substring(1));\n\n\t\t\t\tif (validateSearchPage(selectedContent)) {\n\t\t\t\t\ttitle = formatSearchPageTitle(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t'-',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst dispatchPayload = {\n\t\t\t\t\tfavorite: {\n\t\t\t\t\t\tcolor: colors ? colors[random(0, colors.length - 1)] : 'purple',\n\t\t\t\t\t\ticon: icons ? icons[random(0, icons.length - 1)] : 'list',\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\t...(selectedContent?.route === CLASSIC ? {} : {ui_type: 'polaris'})\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst dispatchMeta = {\n\t\t\t\t\tresultType: 'result.favorite',\n\t\t\t\t\tupdateSelectedContentFavorite: true,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage: true\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t!getBooleanPreferenceValue(\n\t\t\t\t\t\tpreferences,\n\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) ||\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t\t) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\tdispatchMeta\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t// this sets the default ref when user favorites the page from the UI16 list contextual menu\n\t\t\t\t\t\t\tpopupRef: host.shadowRoot\n\t\t\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t\t\t.shadowRoot.querySelector('.experience-title-favorite-button'),\n\t\t\t\t\t\t\t...favoritePopupPayload,\n\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\t\topen: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\tswitchingPopupPosition:\n\t\t\t\t\t\t\t!isEmpty(oldPopupPayload) || !isEmpty(favoriteDeletePayload),\n\t\t\t\t\t\ttempFavoriteStarFill: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tfavoriteDeletePayload: {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\trootMenu,\n\t\t\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\t\t\tparentMenuItem = {}\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderMenuItems\n\t\t\t\t\t},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tlet removedFavorites = [item];\n\t\t\t\tlet appChildrenFavorites = [];\n\t\t\t\tconst menuItemUpdateSkipList = [];\n\t\t\t\tconst favoritesList = headerMenuItems.find(\n\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t);\n\t\t\t\tconst flatFavorites = flattenMenuItems(favoritesList);\n\t\t\t\tconst dispatchAction =\n\t\t\t\t\t!rootMenu || rootMenu === MENU_FAVORITES\n\t\t\t\t\t\t? FAVORITE_DELETE_REQUESTED\n\t\t\t\t\t\t: !isEmpty(item.subItems)\n\t\t\t\t\t\t? FAVORITE_DELETE_GROUP_REQUESTED\n\t\t\t\t\t\t: FAVORITE_DELETE_MODULE_REQUESTED;\n\n\t\t\t\tif (dispatchAction === FAVORITE_DELETE_REQUESTED) {\n\t\t\t\t\t// delete parent separator or app if item deleted is last subItem\n\t\t\t\t\tif (\n\t\t\t\t\t\tparentMenuItem.id !== rootMenu &&\n\t\t\t\t\t\t!isEmpty(parentMenuItem.subItems) &&\n\t\t\t\t\t\t!isCustomFavoriteGroup(parentMenuItem) &&\n\t\t\t\t\t\tparentMenuItem.subItems.length < 2\n\t\t\t\t\t) {\n\t\t\t\t\t\tremovedFavorites.push(parentMenuItem);\n\t\t\t\t\t}\n\n\t\t\t\t\t// needed when separator is deleted to delete all the modules inside\n\t\t\t\t\tif (\n\t\t\t\t\t\tdispatchAction === FAVORITE_DELETE_REQUESTED &&\n\t\t\t\t\t\t!isEmpty(item.subItems) &&\n\t\t\t\t\t\t!isEmpty(item.moduleId)\n\t\t\t\t\t) {\n\t\t\t\t\t\titem.subItems.forEach((subItem) =>\n\t\t\t\t\t\t\taddNestedItems(subItem, removedFavorites)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// when a user removes a favorite group from the favorite menu, and one of the modules\n\t\t\t\t\t// is favorited separately, we want to keep the star of that favorite item in the all menu\n\t\t\t\t\tremovedFavorites.forEach((favorite) => {\n\t\t\t\t\t\tconst flatItem = flattenMenuItems(favorite, [], 'subItems', [\n\t\t\t\t\t\t\t'applicationId',\n\t\t\t\t\t\t\t'moduleId'\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tflatItem.forEach((subItem) => {\n\t\t\t\t\t\t\tif (subItem.moduleId) {\n\t\t\t\t\t\t\t\tconst skipModification = flatFavorites?.find(\n\t\t\t\t\t\t\t\t\t({moduleId, id}) =>\n\t\t\t\t\t\t\t\t\t\tmoduleId &&\n\t\t\t\t\t\t\t\t\t\tmoduleId === subItem.moduleId &&\n\t\t\t\t\t\t\t\t\t\tid !== subItem.id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (skipModification) {\n\t\t\t\t\t\t\t\t\tif (fromExperienceTitle) {\n\t\t\t\t\t\t\t\t\t\tremovedFavorites.push(skipModification);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tmenuItemUpdateSkipList.push(skipModification.moduleId);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if (!subItem.parent) {\n\t\t\t\t\t\t\t\t\tremovedFavorites.push(subItem);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!subItem.moduleId) {\n\t\t\t\t\t\t\t\tremovedFavorites.push(subItem);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// delete separator favorite from all menu if all its children are deleted\n\t\t\t\t\tif (\n\t\t\t\t\t\tparentMenuItem.id !== rootMenu &&\n\t\t\t\t\t\tparentMenuItem.actionType === SEPARATOR &&\n\t\t\t\t\t\tparentMenuItem?.subItems?.filter(\n\t\t\t\t\t\t\t({favorited, actionType}) => favorited || actionType === SEPARATOR\n\t\t\t\t\t\t).length < 2\n\t\t\t\t\t) {\n\t\t\t\t\t\tremovedFavorites.push(parentMenuItem);\n\t\t\t\t\t}\n\n\t\t\t\t\t// handles the case of when user deletes an app that has a module favorited\n\t\t\t\t\t// outside of the app. Backend removes that favorite as well, so we need to find it\n\t\t\t\t\t// and remove it from the client side\n\t\t\t\t\tif (dispatchAction === FAVORITE_DELETE_GROUP_REQUESTED) {\n\t\t\t\t\t\tconst flatItem = flattenMenuItems(item, [], 'subItems', [\n\t\t\t\t\t\t\t'applicationId',\n\t\t\t\t\t\t\t'moduleId'\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tflatFavorites.forEach((favorite) => {\n\t\t\t\t\t\t\tif (favorite.moduleId) {\n\t\t\t\t\t\t\t\tconst child = flatItem.find(\n\t\t\t\t\t\t\t\t\t({id}) => id && id === favorite.moduleId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (child) {\n\t\t\t\t\t\t\t\t\tappChildrenFavorites.push(child);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tremovedFavorites = uniqBy(removedFavorites, 'id');\n\t\t\t\tappChildrenFavorites = uniqBy(appChildrenFavorites, 'id');\n\t\t\t\tif (removedFavorites.length === 1 || isCustomFavoriteGroup(item)) {\n\t\t\t\t\t// add the app children favorites to the removedFavorites after knowing that we are removing an app\n\t\t\t\t\t// this will take remove the individual favorite items that are also children of the app favorite\n\t\t\t\t\t// from the favorites menu\n\t\t\t\t\tremovedFavorites = uniqBy(\n\t\t\t\t\t\t[...removedFavorites, ...appChildrenFavorites],\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tdispatchAction,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t...(dispatchAction === FAVORITE_DELETE_REQUESTED\n\t\t\t\t\t\t\t\t? {group: isFavoriteGroup(item)}\n\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tif (dispatchAction === FAVORITE_DELETE_REQUESTED) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(','),\n\t\t\t\t\t\t\t\tgroups: removedFavorites\n\t\t\t\t\t\t\t\t\t.map((item) => isFavoriteGroup(item))\n\t\t\t\t\t\t\t\t\t.join(',')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(',')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tremovedFavorites\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t\ttrack(coeffects, METRICS.REMOVE_FAVORITE, {\n\t\t\t\t\tmenuName: fromExperienceTitle\n\t\t\t\t\t\t? CONTEXTUAL_MENU_TITLE\n\t\t\t\t\t\t: parentMenuItem?.label,\n\t\t\t\t\tname: item.label,\n\t\t\t\t\tfilter: undefined,\n\t\t\t\t\tquery: undefined\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LAYOUT_ITEM_FAVORITED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {favoritePopupPayload, favoriteDeletePayload},\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tuserMeta: {preferences},\n\t\t\t\t\twindowSize\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst dispatchAction = payload.item.subItems\n\t\t\t\t\t? FAVORITE_GROUP_REQUESTED\n\t\t\t\t\t: FAVORITE_REQUESTED;\n\t\t\t\tconst resultType =\n\t\t\t\t\tdispatchAction === FAVORITE_GROUP_REQUESTED\n\t\t\t\t\t\t? 'result.group'\n\t\t\t\t\t\t: 'result.favorite';\n\n\t\t\t\tconst favoriteLabel = createAllMenuLabel(\n\t\t\t\t\tpayload.item,\n\t\t\t\t\tpayload.parentMenuItem\n\t\t\t\t);\n\t\t\t\tconst dispatchPayload = {\n\t\t\t\t\tfavorite: {...payload.favorite, title: favoriteLabel}\n\t\t\t\t};\n\t\t\t\tconst dispatchMeta = {\n\t\t\t\t\trootMenu: payload.rootMenu,\n\t\t\t\t\tmenu: payload.menu,\n\t\t\t\t\tfavorite: payload.item,\n\t\t\t\t\tresultType,\n\t\t\t\t\tselectedContent\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t!getBooleanPreferenceValue(\n\t\t\t\t\t\tpreferences,\n\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) ||\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t\t) {\n\t\t\t\t\tdispatch(dispatchAction, dispatchPayload, dispatchMeta);\n\t\t\t\t} else {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\t\topen: true,\n\t\t\t\t\t\t\t\tinitialName: favoriteLabel,\n\t\t\t\t\t\t\t\tdispatchAction,\n\t\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\t\t\tpositions: [\n\t\t\t\t\t\t\t\t\t{target: 'center-end', content: 'center-start'},\n\t\t\t\t\t\t\t\t\t{target: 'bottom-center', content: 'top-center'},\n\t\t\t\t\t\t\t\t\t{target: 'top-center', content: 'bottom-center'}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tswitchingPopupPosition:\n\t\t\t\t\t\t\t\t!isEmpty(favoritePopupPayload) ||\n\t\t\t\t\t\t\t\t!isEmpty(favoriteDeletePayload)\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\n\t\t\t\t\t// creates a fake star when user clicks and the popup appears,\n\t\t\t\t\t// the callback will open the popup but the popup needs to be open after\n\t\t\t\t\t// the star is filled as the target needs to still be displayed for the popup\n\t\t\t\t\t// to appear correctly. If a user clicks on the star and hovers away, then the\n\t\t\t\t\t// empty star will disappear and popup will not have a displayed target\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: [payload.item.id],\n\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LAYOUT_ITEM_UNFAVORITED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {switchingPopupPosition},\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\t...(switchingPopupPosition ? {switchingPopupPosition: false} : {}),\n\t\t\t\t\tfavoriteDeletePayload: {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t...(payload.fromExperienceTitle && !payload.popupRef\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpopupRef: host.shadowRoot\n\t\t\t\t\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t\t\t\t\t.shadowRoot.querySelector(\n\t\t\t\t\t\t\t\t\t\t\t'.experience-title-favorite-button'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(!payload.fromExperienceTitle\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpositions: [\n\t\t\t\t\t\t\t\t\t\t{target: 'center-end', content: 'center-start'},\n\t\t\t\t\t\t\t\t\t\t{target: 'bottom-center', content: 'top-center'},\n\t\t\t\t\t\t\t\t\t\t{target: 'top-center', content: 'bottom-center'}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {})\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_POPOVER#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {value, id, actionSource}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (id === 'favorite-popover' && value === false) {\n\t\t\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {\n\t\t\t\t\t\trefocus:\n\t\t\t\t\t\t\tactionSource === 'tab-press' || actionSource === 'escape-press'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_INFO_UPDATED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {favoritePopupPayload},\n\t\t\t\taction: {payload}\n\t\t\t}) => {\n\t\t\t\t// updates the payload when user changes name or location of favorite\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t...favoritePopupPayload,\n\t\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\t\tfavorite: {\n\t\t\t\t\t\t\t\t...favoritePopupPayload.dispatchPayload.favorite,\n\t\t\t\t\t\t\t\t...payload\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_CLOSED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {favoritePopupPayload, popupRef, favoriteDeletePayload},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {id, refocus}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (favoriteDeletePayload) {\n\t\t\t\t\tif (!id || id === 'cancel') {\n\t\t\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t\t\t} else if (id === 'delete') {\n\t\t\t\t\t\tdispatch(FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED);\n\t\t\t\t\t}\n\t\t\t\t} else if (favoritePopupPayload) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\tdispatchAction\n\t\t\t\t\t} = favoritePopupPayload;\n\t\t\t\t\t// if the button clicked is not 'Remove', we create the favorite\n\t\t\t\t\t// and close the popup\n\t\t\t\t\tif (id !== 'remove' && dispatchPayload.favorite?.title) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tdispatchAction || FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\t{...dispatchMeta, openModal: id === 'more'}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (!favoritePopupPayload.dispatchAction) {\n\t\t\t\t\t\t\ttrack(coeffects, METRICS.CREATE_FAVORITE, {\n\t\t\t\t\t\t\t\tmenuName: CONTEXTUAL_MENU_TITLE,\n\t\t\t\t\t\t\t\tname: dispatchPayload.title,\n\t\t\t\t\t\t\t\tfilter: undefined,\n\t\t\t\t\t\t\t\tquery: undefined\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: {...favoritePopupPayload, open: false}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// if the button is remove, we remove the star that was added and\n\t\t\t\t\t\t// dont dispatch anything to create a favorite\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: null,\n\t\t\t\t\t\t\ttempFavoriteStarFill: false\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// this removes the fake star from the all menu\n\t\t\t\t\t\tif (!favoritePopupPayload.fromExperienceTitle) {\n\t\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\t\tentries: [favoritePopupPayload.item.id],\n\t\t\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\tupdateSubItems: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if user closes using keyboard and not click,\n\t\t\t\t// we need to restore focus to the element that opened the\n\t\t\t\t// popup\n\t\t\t\tif (refocus) {\n\t\t\t\t\t(\n\t\t\t\t\t\tfavoritePopupPayload?.popupRef ||\n\t\t\t\t\t\tfavoriteDeletePayload?.popupRef ||\n\t\t\t\t\t\tpopupRef\n\t\t\t\t\t).focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_RENDERED]: {\n\t\t\teffect: () => {\n\t\t\t\tconst body = window.document.body;\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--old-popover-background-color',\n\t\t\t\t\tbody.style.getPropertyValue('--now-popover--background-color')\n\t\t\t\t);\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--background-color',\n\t\t\t\t\t'var(--now-unified-nav_menu--background-color)'\n\t\t\t\t);\n\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--old-popover-border-color',\n\t\t\t\t\tbody.style.getPropertyValue('--now-popover--border-color')\n\t\t\t\t);\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--border-color',\n\t\t\t\t\t'var(--now-unified-nav_menu--border-color)'\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_DESTROYED]: {\n\t\t\teffect: () => {\n\t\t\t\tconst body = window.document.body;\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--background-color',\n\t\t\t\t\tbody.style.getPropertyValue('--old-popover-background-color')\n\t\t\t\t);\n\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--border-color',\n\t\t\t\t\tbody.style.getPropertyValue('--old-popover-border-color')\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SYNC_ALL_MENU_AND_TITLE]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tstate: {headerMenuItems, selectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {favoriteMenu, callback}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisSyncingFavorites: true\n\t\t\t\t});\n\n\t\t\t\tlet needCallback = true;\n\t\t\t\t// check if any items have an id we dont recognize\n\t\t\t\tconst isSameId = (first, second) => first.id === second.id;\n\n\t\t\t\tconst flatOldFavorites = flattenMenuItems(\n\t\t\t\t\theaderMenuItems?.find(({id}) => id === MENU_FAVORITES)\n\t\t\t\t);\n\t\t\t\tconst flatNewFavorites = flattenMenuItems(favoriteMenu);\n\n\t\t\t\t// any newly added favorites to be added across tabs\n\t\t\t\tconst newFavorites = differenceWith(\n\t\t\t\t\tflatNewFavorites,\n\t\t\t\t\tflatOldFavorites,\n\t\t\t\t\tisSameId\n\t\t\t\t);\n\n\t\t\t\t// any removed favorites to be removed across tabs\n\t\t\t\tconst removedFavorites = differenceWith(\n\t\t\t\t\tflatOldFavorites,\n\t\t\t\t\tflatNewFavorites,\n\t\t\t\t\tisSameId\n\t\t\t\t);\n\n\t\t\t\tif (!isEmpty(newFavorites)) {\n\t\t\t\t\tconst newFavoritesToUpdate = newFavorites\n\t\t\t\t\t\t.map(({applicationId, moduleId}) => applicationId || moduleId)\n\t\t\t\t\t\t.filter((item) => !!item);\n\n\t\t\t\t\t// checks if the star in the title needs to be filled\n\t\t\t\t\tconst updateTitle = newFavorites.find((item) =>\n\t\t\t\t\t\tareSimilarClassicUrls(\n\t\t\t\t\t\t\titem?.route?.params?.target,\n\t\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tif (updateTitle) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: updateTitle\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// updates star in all menu\n\t\t\t\t\tif (!isEmpty(newFavoritesToUpdate)) {\n\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\tentries: newFavoritesToUpdate,\n\t\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t});\n\t\t\t\t\t\tneedCallback = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(removedFavorites)) {\n\t\t\t\t\tconst menuItemUpdateSkipList = [];\n\t\t\t\t\tconst removedFavoritesToUpdate = removedFavorites\n\t\t\t\t\t\t.map(({applicationId, moduleId}) => applicationId || moduleId)\n\t\t\t\t\t\t.filter((item) => !!item);\n\n\t\t\t\t\t// check which removed favorites have duplicates so we keep the star in the all menu\n\t\t\t\t\tremovedFavorites.forEach((subItem) => {\n\t\t\t\t\t\tif (subItem.moduleId) {\n\t\t\t\t\t\t\tconst skipModification = flatNewFavorites?.find(\n\t\t\t\t\t\t\t\t({moduleId, id}) =>\n\t\t\t\t\t\t\t\t\tmoduleId && moduleId === subItem.moduleId && id !== subItem.id\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (skipModification) {\n\t\t\t\t\t\t\t\tmenuItemUpdateSkipList.push(skipModification.moduleId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t// remove the favorite star in the title if applicable\n\t\t\t\t\tif (\n\t\t\t\t\t\t!isEmpty(selectedContentFavorite) &&\n\t\t\t\t\t\t!flatNewFavorites.find(\n\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\tareSimilarClassicUrls(\n\t\t\t\t\t\t\t\t\titem?.route?.params?.target,\n\t\t\t\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t\t\t\t) || areSimilarRouteObjects(item.route, selectedContent)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// update all menu favorite stars\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: removedFavoritesToUpdate,\n\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\n\t\t\t\t\tneedCallback = false;\n\t\t\t\t}\n\n\t\t\t\t// needed when items arent removed or added, just editted/rearranged\n\t\t\t\tif (needCallback) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SYNC_FAVORITES_COMPLETE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisSyncingFavorites: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_MODAL_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_MODAL_REMOVE_CLICKED]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"IMPERSONATION_MODAL_DISMISSED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'IMPERSONATION_MODAL_DISMISSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].IMPERSONATION_MODAL_DISMISSED;\n\t\t\t\t\t} else if ('IMPERSONATION_MODAL_DISMISSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.IMPERSONATION_MODAL_DISMISSED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].IMPERSONATION_MODAL_DISMISSED;\n\t\t\t\t}, [\"USER_IMPERSONATE_FAILED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'USER_IMPERSONATE_FAILED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_FAILED;\n\t\t\t\t\t} else if ('USER_IMPERSONATE_FAILED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.USER_IMPERSONATE_FAILED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_FAILED;\n\t\t\t\t}, [\"USER_IMPERSONATE_SUCCEEDED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'USER_IMPERSONATE_SUCCEEDED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_SUCCEEDED;\n\t\t\t\t\t} else if ('USER_IMPERSONATE_SUCCEEDED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.USER_IMPERSONATE_SUCCEEDED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_SUCCEEDED;\n\t\t\t\t} });","import {createHttpEffect} from '@devsnc/unav-utils';\n\nimport cache from '../../utils/cache.js';\nimport {t} from 'sn-translate';\nimport {\n\tIMPERSONATION_MODAL_DISMISSED,\n\tUSER_IMPERSONATE_SUCCEEDED,\n\tUSER_IMPERSONATE_FAILED\n} from '@devsnc/sn-impersonation';\nimport {\n\tEND_IMPERSONATION_REQUESTED,\n\tIMPERSONATION_MODAL_OPENED,\n\tCANVAS_GLOBAL_ERROR,\n\tTEST_USER_IMPERSONATED\n} from './actions';\nimport {\n\tANNOUNCE_IMPERSONATION_START_KEY,\n\tANNOUNCE_IMPERSONATION_END_KEY\n} from './constants';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions.js';\n\nexport const testImpersonateUserEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/:sysId',\n\t{\n\t\tmethod: 'POST',\n\t\tpathParams: ['sysId'],\n\t\tbatch: false,\n\t\tsuccessActionType: USER_IMPERSONATE_SUCCEEDED,\n\t\terrorActionType: USER_IMPERSONATE_FAILED\n\t}\n);\n\nexport default {\n\tname: 'POLARIS_IMPERSONATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[TEST_USER_IMPERSONATED]: testImpersonateUserEffect,\n\t\t[USER_IMPERSONATE_SUCCEEDED]: {\n\t\t\teffect: ({action: {payload}}) => {\n\t\t\t\tconst storageKey =\n\t\t\t\t\tpayload.result.user === 'null'\n\t\t\t\t\t\t? ANNOUNCE_IMPERSONATION_START_KEY\n\t\t\t\t\t\t: ANNOUNCE_IMPERSONATION_END_KEY;\n\n\t\t\t\tcache.clear();\n\t\t\t\twindow.localStorage.setItem(storageKey, true);\n\t\t\t\twindow.location.replace(window.location.origin);\n\t\t\t}\n\t\t},\n\t\t[USER_IMPERSONATE_FAILED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch(CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: CANVAS_GLOBAL_ERROR,\n\t\t\t\t\theaderLabel: payload.data.error.message || t('Cannot impersonate'),\n\t\t\t\t\tcontent:\n\t\t\t\t\t\tpayload.data.error.detail ||\n\t\t\t\t\t\tt('The user you selected could not be impersonated.')\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[END_IMPERSONATION_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({endImpersonation: true});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[IMPERSONATION_MODAL_OPENED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\timpersonationOpen: true,\n\t\t\t\t\tactiveModal: 'impersonation'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[IMPERSONATION_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\timpersonationOpen: false,\n\t\t\t\t\tactiveModal: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {\n\tELEVATE_ROLE_MODAL_OPENED,\n\tELEVATE_ROLE_MODAL_DISMISSED,\n\tELEVATE_ROLES_REQUESTED,\n\tELEVATE_ROLES_REFRESH_SUCCEEDED\n} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport cache from '../../utils/cache';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst ELEVATE_ROLES_SUCCEEDED = 'ELEVATE_ROLES#ELEVATE_ROLES_SUCCEEDED';\nconst ELEVATE_ROLES_FAILED = 'ELEVATE_ROLES#ELEVATE_ROLES_FAILED';\n\nconst updateElevatedRoles = createHttpEffect('/api/now/ui/impersonate/role', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: ELEVATE_ROLES_SUCCEEDED,\n\terrorActionType: ELEVATE_ROLES_FAILED\n});\n\nexport default {\n\tname: 'ELEVATE_ROLE_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst availableElevatedRoles = cache.get('availableElevatedRoles');\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableElevatedRoles',\n\t\t\t\t\tvalue: availableElevatedRoles,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[ELEVATE_ROLES_SUCCEEDED]: {\n\t\t\teffect: () => {\n\t\t\t\t// need to refetch once roles are elevated\n\t\t\t\tcache.clear();\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLE_MODAL_OPENED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\televateRoleOpen: true,\n\t\t\t\t\tactiveModal: 'elevateRole'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLE_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\televateRoleOpen: false,\n\t\t\t\t\tactiveModal: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLES_REFRESH_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableElevatedRoles}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableElevatedRoles',\n\t\t\t\t\tvalue: availableElevatedRoles,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tcache.set('availableElevatedRoles', availableElevatedRoles);\n\t\t\t}\n\t\t},\n\t\t// this is a duplicate handler of one that exists in sn-elevate-roles/src/elevate-roles.effects\n\t\t// it has no effect but is needed here for testing purposes\n\t\t[ELEVATE_ROLES_REQUESTED]: updateElevatedRoles,\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(ELEVATE_ROLE_MODAL_DISMISSED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {BEHAVIOR_NAME} from './constants';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '@devsnc/unav-utils';\nimport {\n\tLEGACY_SCREEN_PRINTER_VIEW_VISIBLE,\n\tPRINTER_FRIENDLY_CANCEL_CLICKED,\n\tPRINTER_FRIENDLY_CONFIRM_CLICKED,\n\tPRINTER_FRIENDLY_VERSION_REQUESTED,\n\tPRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED\n} from './actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst handlePrintRequest = (printUrl) => {\n\tif (printUrl) {\n\t\twindow.open(printUrl, 'Printer_friendly_format');\n\t}\n};\n\nconst printUrlDecode = (href) => {\n\tif (!href) return null;\n\thref = href.replace(/%40/g, '@');\n\thref = href.replace(/@99@/g, '&');\n\thref = href.replace(/@88@/g, '@99@');\n\thref = href.replace(/@77@/g, '@88@');\n\thref = href.replace(/@66@/g, '@77@');\n\treturn href;\n};\n\nconst isNewForm = (referringUrl) => {\n\treturn (\n\t\treferringUrl.indexOf('?sys_id=-1') > -1 ||\n\t\t(referringUrl.indexOf('sys_id') === -1 &&\n\t\t\treferringUrl.indexOf('sysparm_tiny') === -1)\n\t);\n};\n\n// Logic refactored from https://code.devsnc.com/dev/glide/blob/master/glide/plugins/com.glide.ui.concourse/ui.html/scripts/concourse/directive.printerFriendly.js\nconst setupPrintInfo = (iframe, formTemplate) => {\n\tlet newForm;\n\tconst maxRows = getProperty(SYS_PROPS.UI.MAX_PRINT_ROWS) || '999999999';\n\tconst isForm = formTemplate?.indexOf('form') > -1;\n\tconst rows = iframe.contentDocument\n\t\t.querySelector(\"[id$='total_rows']\")\n\t\t?.innerText?.replace(/,/g, '');\n\tlet printUrl = iframe.contentDocument.querySelector('#printURL')?.value;\n\tif (!printUrl) {\n\t\tconst referringUrl =\n\t\t\tiframe.contentDocument.forms.sys_personalize?.sysparm_referring_url\n\t\t\t\t?.value;\n\t\tif (referringUrl) {\n\t\t\tif (isForm && isNewForm(referringUrl)) {\n\t\t\t\tnewForm = true;\n\t\t\t}\n\t\t\tprintUrl = referringUrl;\n\t\t} else {\n\t\t\tprintUrl = iframe.contentWindow.location.href;\n\t\t}\n\t}\n\n\tif (printUrl.indexOf('?') < 0) {\n\t\tprintUrl += '?';\n\t} else {\n\t\tprintUrl += '&';\n\t}\n\n\tprintUrl = printUrlDecode(printUrl);\n\tprintUrl = new URL(printUrl, window.location.origin);\n\tprintUrl.searchParams.delete('partial_page');\n\tprintUrl.searchParams.set('sysparm_stack', 'no');\n\tprintUrl.searchParams.set('sysparm_force_row_count', maxRows);\n\tprintUrl.searchParams.set('sysparm_media', 'print');\n\treturn {\n\t\trows: parseInt(formTemplate?.indexOf('list') > 0 ? rows : '0', 10),\n\t\tprintUrl: printUrl.toString(),\n\t\tnewForm,\n\t\tmaxRows: parseInt(maxRows, 10)\n\t};\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tshowPrint: false,\n\t\tprinterConfirmationModalProps: null\n\t},\n\tactionHandlers: {\n\t\t[LEGACY_SCREEN_PRINTER_VIEW_VISIBLE]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {showPrint}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'showPrint',\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: showPrint,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_VERSION_REQUESTED]: {\n\t\t\teffect: ({dispatch, host}) => {\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\t\t\t\tconst formTemplate = iframe.contentDocument.body.getAttribute(\n\t\t\t\t\t'data-formname'\n\t\t\t\t);\n\t\t\t\tdispatch(PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED, {\n\t\t\t\t\tprintInfo: setupPrintInfo(iframe, formTemplate)\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tprintInfo: {rows, printUrl, newForm, maxRows}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tlet opened;\n\t\t\t\tlet message = '';\n\t\t\t\tif (newForm) {\n\t\t\t\t\topened = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (rows > maxRows) {\n\t\t\t\t\t\topened = true;\n\t\t\t\t\t\tmessage += t('Printing is limited to {0} rows. Continue?', maxRows);\n\t\t\t\t\t} else if (rows > 5000) {\n\t\t\t\t\t\topened = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (opened) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tprinterConfirmationModalProps: {\n\t\t\t\t\t\t\topened,\n\t\t\t\t\t\t\tnewForm,\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tprintUrl\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\thandlePrintRequest(printUrl);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_CONFIRM_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tprinterConfirmationModalProps: {printUrl}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\thandlePrintRequest(printUrl);\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(PRINTER_FRIENDLY_CANCEL_CLICKED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'print-confirm-modal') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {get} from 'lodash';\nimport {\n\tSTART_DEBUGGING_CONFIRMATION_REQUESTED,\n\tSTART_DEBUGGING_CONFIRMATION_CLICKED\n} from '../../components/sn-polaris-layout/script-debugger-modal/actions';\n\nfunction setupScriptDebuggerHandler({dispatch}) {\n\tif (!get(window.top, 'breakpointHitAlert', null)) {\n\t\twindow.top.breakpointHitAlert = (show) => {\n\t\t\tif (!show) return;\n\n\t\t\tdispatch(START_DEBUGGING_CONFIRMATION_REQUESTED);\n\t\t};\n\t}\n}\n\nexport default {\n\tname: 'SCRIPT_DEBUGGER_SETUP_BEHAVIOR',\n\tinitialState: {\n\t\tstartDebuggingConfirmationOpened: false\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: setupScriptDebuggerHandler,\n\t\t[START_DEBUGGING_CONFIRMATION_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[START_DEBUGGING_CONFIRMATION_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst debugWindow = window.open('', 'sn_ScriptDebugger');\n\t\t\t\tif (debugWindow) debugWindow.focus();\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'script-debugger-confirmation' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export default function isPluginEnabled(plugins, id) {\n\tconst plugin = plugins.find((plugin) => plugin.id === id) || {};\n\treturn plugin.active;\n}\n","import {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\nimport isPluginEnabled from '../../utils/isPluginEnabled';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_TREE_READY} = actionTypes;\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {some, get, values, every} from 'lodash';\nimport {\n\tPLUGIN_NAME,\n\tROLE_NAMES,\n\tBEHAVIOR_NAME,\n\tSYS_PROP_AWA,\n\tSTATE_PATH_PARTS_ENABLED,\n\tSTATE_PATH_IS_ENABLED\n} from './constants';\n\nconst updatePart = ({updateState, state}, changes) => {\n\tupdateState({\n\t\tpath: STATE_PATH_PARTS_ENABLED,\n\t\tvalue: changes,\n\t\toperation: 'merge'\n\t});\n\tconst old = get(state, STATE_PATH_PARTS_ENABLED);\n\tconst newParts = {\n\t\t...old,\n\t\t...changes\n\t};\n\tupdateState({\n\t\tpath: STATE_PATH_IS_ENABLED,\n\t\tvalue: every(values(newParts)),\n\t\toperation: 'set'\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tisEnabled: false,\n\t\tpartsEnabled: {\n\t\t\tisUserRole: false,\n\t\t\tisPluginEnabled: false,\n\t\t\tisPropertyEnabled: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: ({updateState, state}) => {\n\t\t\t\tupdatePart(\n\t\t\t\t\t{updateState, state},\n\t\t\t\t\t{\n\t\t\t\t\t\tisPropertyEnabled: getBooleanProperty(SYS_PROP_AWA, false)\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name === 'userSession') {\n\t\t\t\t\tconst roles = properties?.userSession?.user?.roles || [];\n\t\t\t\t\tupdatePart(\n\t\t\t\t\t\t{updateState, state},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisUserRole: some(ROLE_NAMES, (role) => roles.includes(role))\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: ({updateState, state, action}) => {\n\t\t\t\tconst {enabledPlugins} = action.payload;\n\t\t\t\tupdatePart(\n\t\t\t\t\t{updateState, state},\n\t\t\t\t\t{\n\t\t\t\t\t\tisPluginEnabled: isPluginEnabled(enabledPlugins || [], PLUGIN_NAME)\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {t} from 'sn-translate';\nimport {METRICS, NAV_ITEM_SELECTED} from '../../constants';\nimport {\n\tLEGACY_FORM_MODIFIED,\n\tLEGACY_FORM_SUBMITTED,\n\tLEGACY_FORM_UNLOADED,\n\tLEGACY_FORM_SUBMIT_ATTEMPTED,\n\tLEGACY_FORM_BEFOREUNLOADED\n} from './actions';\nimport {\n\tDIRTY_FORM_CONFIRMATION_LEAVE_CLICKED,\n\tDIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n} from '../../components/sn-polaris-layout/dirty-form-modal/actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport track from '../../utils/track';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst checkDirtyForm = (coeffects) => {\n\tconst {state, action, dispatch, updateState} = coeffects;\n\tconst {payload} = action;\n\tconst checkDirty = payload?.iframeElId\n\t\t? state?.modifiedForm === payload?.iframeElId\n\t\t: true;\n\t// Menu navigation clicked, Check formModified\n\tif (\n\t\tstate?.formModified &&\n\t\tcheckDirty &&\n\t\tgetFeatureSettings().isDirtyFormEnabled\n\t) {\n\t\taction.stopPropagation();\n\t\ttrack(coeffects, METRICS.DIRTY_FORM_MODAL);\n\t\tupdateState({\n\t\t\tdirtyFormConfirmationPayload: payload\n\t\t});\n\t} else {\n\t\tif (payload?.params) {\n\t\t\tif (payload?.iframeElId !== 'gsft_main' && payload?.href) {\n\t\t\t\tconst dirtyFrame = getDirtyFrame(\n\t\t\t\t\tframes.gsft_main.document.getElementsByTagName('iframe'),\n\t\t\t\t\tpayload?.iframeElId\n\t\t\t\t);\n\t\t\t\tdirtyFrame.contentWindow.location.href = payload?.href;\n\t\t\t} else if (payload?.subFrame) {\n\t\t\t\tpayload.subFrame.document.location.href = payload.params.target;\n\t\t\t} else {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, payload);\n\t\t\t}\n\t\t} else {\n\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formSubmit');\n\t\t}\n\t}\n};\n\nconst getDirtyFrame = (currentFrame, iframeElId) => {\n\tif (currentFrame.length > 0) {\n\t\tfor (let i = 0; i < currentFrame.length; i++) {\n\t\t\tif (currentFrame.item(i).id === iframeElId) return currentFrame.item(i);\n\n\t\t\tconst subFrame = currentFrame\n\t\t\t\t.item(i)\n\t\t\t\t.contentWindow.document.getElementsByTagName('iframe');\n\t\t\tif (!subFrame) return null;\n\n\t\t\tconst f = getDirtyFrame(\n\t\t\t\tcurrentFrame\n\t\t\t\t\t.item(i)\n\t\t\t\t\t.contentWindow.document.getElementsByTagName('iframe'),\n\t\t\t\tiframeElId\n\t\t\t);\n\t\t\tif (f?.id === iframeElId) return f;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst polarisLayoutUnloadHandler = (state, event) => {\n\tevent.preventDefault();\n\tevent.returnValue = t(\n\t\t'Changes have been made. Continuing will discard the changes.'\n\t); // Gecko + IE\n\treturn event.returnValue; // Safari, Chrome, and other WebKit-derived browsers\n};\n\nexport default {\n\tname: 'DIRTY_FORM_BEHAVIOR',\n\tinitialState: {\n\t\tformModified: false,\n\t\tformSubmitted: false,\n\t\tdirtyFormConfirmationPayload: null\n\t},\n\tactionHandlers: {\n\t\t[LEGACY_FORM_MODIFIED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {isModified, iframeElId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\t// DEF0385637: Do not update the state if from a scripted modal iframe\n\t\t\t\tif (iframeElId === 'sn-scripted-modal-iframe-content') return;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tformModified: isModified,\n\t\t\t\t\tmodifiedForm: iframeElId\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_SUBMITTED]: checkDirtyForm,\n\t\t[LEGACY_FORM_SUBMIT_ATTEMPTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tmodifiedForm: null,\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tformSubmitted: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_BEFOREUNLOADED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t},\n\t\t\t\tstate\n\t\t\t}) => {\n\t\t\t\tif (\n\t\t\t\t\tstate.formSubmitted ||\n\t\t\t\t\t!state.formModified ||\n\t\t\t\t\t!getFeatureSettings().isDirtyFormEnabled\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tpolarisLayoutUnloadHandler(state, event);\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_UNLOADED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tmodifiedForm: null,\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tformSubmitted: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tstate: {dirtyFormConfirmationPayload},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formModified', false);\n\n\t\t\t\t// First check the iframe to see if a link was clicked in there via the\n\t\t\t\t// back button, or UI Action\n\t\t\t\tif (\n\t\t\t\t\tdirtyFormConfirmationPayload?.iframeElId !== 'gsft_main' &&\n\t\t\t\t\tdirtyFormConfirmationPayload?.href\n\t\t\t\t) {\n\t\t\t\t\tconst dirtyFrame = getDirtyFrame(\n\t\t\t\t\t\tframes.gsft_main.document.getElementsByTagName('iframe'),\n\t\t\t\t\t\tdirtyFormConfirmationPayload?.iframeElId\n\t\t\t\t\t);\n\t\t\t\t\tdirtyFrame.contentWindow.location.href =\n\t\t\t\t\t\tdirtyFormConfirmationPayload?.href;\n\t\t\t\t\t// Check for context that would come if user used the Header menu items for navigation\n\t\t\t\t\t// via All, Favorites, History, Workflow, etc. and params if on a form and navigating via\n\t\t\t\t\t// a reference tear off\n\t\t\t\t} else if (dirtyFormConfirmationPayload?.subFrame) {\n\t\t\t\t\tdirtyFormConfirmationPayload.subFrame.document.location.href =\n\t\t\t\t\t\tdirtyFormConfirmationPayload.params.target;\n\t\t\t\t} else if (\n\t\t\t\t\tdirtyFormConfirmationPayload?.context ||\n\t\t\t\t\tdirtyFormConfirmationPayload?.params\n\t\t\t\t) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, dirtyFormConfirmationPayload);\n\t\t\t\t\t// Else submit the form and clear the flag as a result of the browser back button\n\t\t\t\t} else {\n\t\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formSubmit');\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tAPPLICATION_CHANGE_REQUESTED,\n\tAPPLICATION_CHANGE_SUCCEEDED,\n\tAPPLICATION_REFRESH_REQUESTED,\n\tAPPLICATION_REFRESH_REQUEST_SUCCEEDED\n} from './actions.js';\n\nimport cache from '../../utils/cache';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions.js';\n\nconst applicationChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/application',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: APPLICATION_CHANGE_SUCCEEDED\n\t}\n);\n\nexport const applicationRefreshEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/application',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: APPLICATION_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nexport default {\n\tname: 'APPLICATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[APPLICATION_CHANGE_REQUESTED]: applicationChangeEffect,\n\t\t[APPLICATION_REFRESH_REQUESTED]: effectProxy(applicationRefreshEffect),\n\t\t[APPLICATION_CHANGE_SUCCEEDED]: {\n\t\t\teffect: () => {\n\t\t\t\tcache.remove('headerMenuItems');\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[APPLICATION_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableApplications}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableApplications',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...availableApplications,\n\t\t\t\t\t\tcurrent: {\n\t\t\t\t\t\t\tsysId: availableApplications.current,\n\t\t\t\t\t\t\tname: availableApplications.list.find(\n\t\t\t\t\t\t\t\t({sysId}) => sysId === availableApplications.current\n\t\t\t\t\t\t\t)?.name\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tCONCOURSE_CURRENT_DATA_REQUESTED,\n\tCONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED,\n\tCONCOURSE_DATA_LISTS_REQUESTED,\n\tCONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED,\n\tCONCOURSE_REBUILD_CONFIG_REQUESTED\n} from './actions';\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport {getConcoursePickerConfig} from '../concourse-picker-behavior/index';\nimport {\n\tCONCOURSE_PICKER_MENU_ID,\n\tMETRICS,\n\tUTILITY_OVERFLOW_MENU_ID\n} from '../../constants';\n\nconst {COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {CONCOURSE_FETCH_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nexport const concourseCurrentDataRequested = createHttpEffect(\n\t'/api/now/ui/concoursepicker/current',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED\n\t}\n);\n\nexport const concourseDataListsRequested = createHttpEffect(\n\t'/api/now/ui/concoursepicker/concourselist',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED\n\t}\n);\n\nfunction dispatchWhenUserSettingsAccessIsPresent(\n\tdispatch,\n\tupdateState,\n\tuserSettingsAccess\n) {\n\tif (\n\t\tuserSettingsAccess?.showApplicationPicker ||\n\t\tuserSettingsAccess?.showUpdateSetPicker ||\n\t\tuserSettingsAccess?.showDomainPicker\n\t) {\n\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\taction: () => {\n\t\t\t\tdispatch(CONCOURSE_CURRENT_DATA_REQUESTED);\n\t\t\t}\n\t\t});\n\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\tupdateState({\n\t\t\tpath: 'hasRequestedConcourseRebuildConfig',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n}\n\nexport default {\n\tname: 'CONCOURSE_FETCHER_BEHAVIOR',\n\tinitialState: {\n\t\tcurrentDataFetched: false,\n\t\tconcourseListRequested: false,\n\t\tconcourseDataFetched: false,\n\t\thasRequestedConcourseRebuildConfig: false,\n\t\tdomainTable: 'domain'\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {hasRequestedConcourseRebuildConfig}\n\t\t\t}) => {\n\t\t\t\t// prevent duplicating the dispatch if it has been dispatched in COMPONENT_PROPERTY_CHANGED handler\n\t\t\t\tif (!hasRequestedConcourseRebuildConfig) {\n\t\t\t\t\tdispatchWhenUserSettingsAccessIsPresent(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tuserSettingsAccess\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name !== 'userSettingsAccess') return;\n\t\t\t\tdispatchWhenUserSettingsAccessIsPresent(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tuserSettingsAccess\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_CURRENT_DATA_REQUESTED]: trackStartTime(\n\t\t\tconcourseCurrentDataRequested,\n\t\t\tCONCOURSE_FETCH_TIME_PATH\n\t\t),\n\t\t[CONCOURSE_DATA_LISTS_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {currentDataFetched}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!currentDataFetched) {\n\t\t\t\t\tupdateState({concourseListRequested: true});\n\t\t\t\t} else {\n\t\t\t\t\treturn effectProxy(concourseDataListsRequested)(coeffects);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tresult: {currentDomain, currentUpdateSet, currentApplication}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {concourseListRequested},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst currentNormalizedDomain = {\n\t\t\t\t\tid: currentDomain.value,\n\t\t\t\t\tlabel: currentDomain.label.split('/').pop(),\n\t\t\t\t\thierarchy: currentDomain.label.split('/'),\n\t\t\t\t\tselected: true\n\t\t\t\t};\n\n\t\t\t\tconst availableApplications = userSettingsAccess?.showApplicationPicker\n\t\t\t\t\t? {current: currentApplication, list: [currentApplication]}\n\t\t\t\t\t: {};\n\t\t\t\tconst availableDomains = userSettingsAccess?.showDomainPicker\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcurrent: currentNormalizedDomain,\n\t\t\t\t\t\t\tlist: []\n\t\t\t\t\t  }\n\t\t\t\t\t: {};\n\t\t\t\tconst availableUpdateSets = userSettingsAccess?.showUpdateSetPicker\n\t\t\t\t\t? {current: currentUpdateSet, updateSet: [currentUpdateSet]}\n\t\t\t\t\t: {};\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDataFetched: true,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableUpdateSets\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t\tif (concourseListRequested) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t}\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.CONCOURSE_DATA_FETCHED,\n\t\t\t\t\tpath: CONCOURSE_FETCH_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\tavailableApplications: appList,\n\t\t\t\t\t\t\tavailableDomains: domainList,\n\t\t\t\t\t\t\tavailableUpdateSets: updateSetList,\n\t\t\t\t\t\t\tdomainTable\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tavailableUpdateSets: oldUpdateSets,\n\t\t\t\t\tavailableApplications: oldApplications,\n\t\t\t\t\tavailableDomains: oldDomains\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst availableApplications = userSettingsAccess?.showApplicationPicker\n\t\t\t\t\t? {...oldApplications, list: appList}\n\t\t\t\t\t: oldApplications;\n\t\t\t\tconst availableDomains = userSettingsAccess?.showDomainPicker\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...oldDomains,\n\t\t\t\t\t\t\t...(domainList && domainList.length ? {list: domainList} : {})\n\t\t\t\t\t  }\n\t\t\t\t\t: oldDomains;\n\t\t\t\tconst availableUpdateSets = userSettingsAccess?.showUpdateSetPicker\n\t\t\t\t\t? {...oldUpdateSets, updateSet: updateSetList}\n\t\t\t\t\t: oldUpdateSets;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tdomainTable\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_REBUILD_CONFIG_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tstate: {\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tcontextualMenu\n\t\t\t\t},\n\t\t\t\tproperties: {userMeta, userSettingsAccess},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst concoursePickerConfig = getConcoursePickerConfig({\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tuserMeta,\n\t\t\t\t\tuserSettingsAccess\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tconcoursePickerConfig,\n\t\t\t\t\tcontextualMenu:\n\t\t\t\t\t\tcontextualMenu?.menuType === CONCOURSE_PICKER_MENU_ID ||\n\t\t\t\t\t\tcontextualMenu?.menuType === UTILITY_OVERFLOW_MENU_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t\t...(contextualMenu.menuData || {}),\n\t\t\t\t\t\t\t\t\t\t...concoursePickerConfig\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: contextualMenu\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {set, clone} from 'lodash';\nimport {t} from 'sn-translate';\nimport {\n\tUPDATE_SET_CHANGE_REQUESTED,\n\tUPDATE_SET_HTTP_REQUEST_SENT,\n\tUPDATE_SET_HTTP_REQUEST_SUCCEEDED,\n\tUPDATE_SET_HTTP_REQUEST_FAILED,\n\tUPDATE_SET_REFRESH_REQUESTED,\n\tUPDATE_SET_REFRESH_REQUEST_SUCCEEDED\n} from './actions.js';\nimport {effectProxy, createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions.js';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions.js';\n\nexport const updateSetChangeEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/updateset',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: UPDATE_SET_HTTP_REQUEST_SUCCEEDED,\n\t\terrorActionType: UPDATE_SET_HTTP_REQUEST_FAILED\n\t}\n);\n\nexport const updateSetRefreshEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/updateset',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: UPDATE_SET_REFRESH_REQUEST_SUCCEEDED,\n\t\terrorActionType: UPDATE_SET_HTTP_REQUEST_FAILED\n\t}\n);\n\nexport default {\n\tname: 'UPDATE_SET_BEHAVIOR',\n\tinitialState: {\n\t\trequestedUpdateSet: null\n\t},\n\tactionHandlers: {\n\t\t[UPDATE_SET_HTTP_REQUEST_SENT]: effectProxy(updateSetChangeEffect),\n\t\t[UPDATE_SET_REFRESH_REQUESTED]: effectProxy(updateSetRefreshEffect),\n\t\t[UPDATE_SET_CHANGE_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {data}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\trequestUpdateSet: data\n\t\t\t\t});\n\t\t\t\tdispatch(UPDATE_SET_HTTP_REQUEST_SENT, {data});\n\t\t\t}\n\t\t},\n\t\t[UPDATE_SET_HTTP_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tstate: {availableUpdateSets, requestUpdateSet: value},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst newAvailableUpdateSets = set(\n\t\t\t\t\tclone(availableUpdateSets),\n\t\t\t\t\t'current',\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tavailableUpdateSets: newAvailableUpdateSets\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[UPDATE_SET_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableUpdateSets},\n\t\t\t\t\tmeta: {setNotification}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (setNotification) {\n\t\t\t\t\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\ttype: 'system',\n\t\t\t\t\t\t\ttext: t(\n\t\t\t\t\t\t\t\t'Your current update set has been changed to {0}',\n\t\t\t\t\t\t\t\tavailableUpdateSets.current.name\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshouldCreateHTMLElement: false // prevent user from injecting html into alert\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableUpdateSets',\n\t\t\t\t\tvalue: availableUpdateSets,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport cache from '../../utils/cache';\nimport {DEV_STUDIO_INIT} from './actions';\n\nconst DEV_STUDIO_OPEN_MODE_REQUESTED = 'DEV_STUDIO_OPEN_MODE#REQUESTED';\nconst DEV_STUDIO_OPEN_MODE_SUCCEEDED = 'DEV_STUDIO_OPEN_MODE#SUCCEEDED';\n\nconst getDevStudioOpenMode = createHttpEffect('/api/now/uxf/databroker/exec', {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tbatch: true,\n\tsuccessActionType: DEV_STUDIO_OPEN_MODE_SUCCEEDED\n});\n\nexport default {\n\tname: 'DEV_STUDIO_INIT',\n\tactionHandlers: {\n\t\t[DEV_STUDIO_INIT]({properties, dispatch}) {\n\t\t\tif (properties.features.isPolarisEnabled) {\n\t\t\t\tconst devStudioOpenMode = cache.get('devStudioOpenMode');\n\t\t\t\tif (devStudioOpenMode !== undefined) {\n\t\t\t\t\tif (window.DevStudio || !window.initDevStudioLauncher) return;\n\n\t\t\t\t\twindow.DevStudio = window.initDevStudioLauncher(\n\t\t\t\t\t\twindow,\n\t\t\t\t\t\tdevStudioOpenMode\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DEV_STUDIO_OPEN_MODE_REQUESTED, {\n\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'TRANSFORM',\n\t\t\t\t\t\t\t\tdefinitionSysId: '50855f17076320105fca5d1aead30036',\n\t\t\t\t\t\t\t\tinputValues: {\n\t\t\t\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\t\t\t\ttype: 'JSON_LITERAL',\n\t\t\t\t\t\t\t\t\t\tvalue: '{\"preference\": \"ide.open_mode\"}'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[DEV_STUDIO_OPEN_MODE_REQUESTED]: getDevStudioOpenMode,\n\t\t[DEV_STUDIO_OPEN_MODE_SUCCEEDED]: {\n\t\t\teffect: ({action: {payload: output}}) => {\n\t\t\t\tif (window.DevStudio || !window.initDevStudioLauncher) return;\n\n\t\t\t\tconst devStudioOpenMode =\n\t\t\t\t\toutput?.result[0]?.executionResult?.output?.value;\n\n\t\t\t\twindow.DevStudio = window.initDevStudioLauncher(\n\t\t\t\t\twindow,\n\t\t\t\t\tdevStudioOpenMode\n\t\t\t\t);\n\n\t\t\t\tcache.set('devStudioOpenMode', devStudioOpenMode);\n\t\t\t}\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\nimport {\n\tDOMAIN_CHANGE_REQUESTED,\n\tDOMAIN_CHANGE_SUCCEEDED,\n\tDOMAIN_RESET_REQUESTED,\n\tDOMAIN_UPDATE_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from './actions.js';\nimport cache from '../../utils/cache';\nimport {METRICS, SYS_PROPS} from '../../constants';\nimport {isEmpty} from 'lodash';\nimport {getBooleanProperty, createHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nconst NUM_DOMAIN_PER_SEARCH = 20;\n\nconst getUpdatedDomains = (id, domains) => {\n\tconst current = getDomain(domains.list, id, domains.current);\n\treturn {\n\t\tcurrent,\n\t\tlist: domains.list\n\t};\n};\n\nconst getDomain = (domainList, id, current) => {\n\tfor (let i = 0; i < domainList.length; i++) {\n\t\tconst domainObj = domainList[i];\n\t\tif (domainObj.id === id) {\n\t\t\tdomainObj.selected = true;\n\t\t\tcurrent = domainObj;\n\t\t} else if (domainObj.selected) domainObj.selected = false;\n\n\t\tcurrent = getDomain(domainObj.subItems, id, current);\n\t}\n\treturn current;\n};\n\nconst domainChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/domain',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: DOMAIN_CHANGE_SUCCEEDED\n\t}\n);\n\nconst DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED =\n\t'DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED';\nconst domainSearchEffect = createHttpEffect(\n\t'/angular.do?sysparm_type=ref_list_data',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED\n\t}\n);\n\nexport default {\n\tname: 'DOMAIN_BEHAVIOR',\n\tactionHandlers: {\n\t\t[DOMAIN_SEARCH_REQUESTED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {search = '', fromScrolling = false}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate: {\n\t\t\t\tcurrentDomainResultOffset = 0,\n\t\t\t\tcurrentDomainSearchTerm = '',\n\t\t\t\thasMoreResults = true,\n\t\t\t\tdomainTable = 'domain'\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\t// If we're scrolling & we've determined no more results, don't do anything\n\t\t\tif (fromScrolling && !hasMoreResults) return;\n\n\t\t\t// If scrolling, get the next page\n\t\t\t// If search changes (not from scroll), reset current offset\n\t\t\tconst start = fromScrolling ? currentDomainResultOffset : 0;\n\n\t\t\tconst executeSearch = (search) => {\n\t\t\t\tconst finalSearchTerm = search?.replace(/^\\*+(.*)/, '$1') || '';\n\t\t\t\tconst searchMethod = /^\\*+(.*)/.test(search)\n\t\t\t\t\t? 'CONTAINS'\n\t\t\t\t\t: 'STARTSWITH';\n\n\t\t\t\tdispatch('DOMAIN_SEARCH', {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcount: NUM_DOMAIN_PER_SEARCH,\n\t\t\t\t\t\tp: `${domainTable};q:name${searchMethod}${finalSearchTerm}^nameISNOTEMPTY;r:active=true`,\n\t\t\t\t\t\tqualifier: 'active=true',\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\tsysparm_domain: 'picker',\n\t\t\t\t\t\tsysparm_for_impersonation: false,\n\t\t\t\t\t\ttable: domainTable\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tlet searchTerm = currentDomainSearchTerm;\n\t\t\tif (!fromScrolling) {\n\t\t\t\t// reset the state if the search term has ended\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'availableDomains.list',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'currentDomainResultOffset',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'currentDomainSearchTerm',\n\t\t\t\t\t\tvalue: search,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\n\t\t\t\tsearchTerm = search;\n\t\t\t}\n\n\t\t\texecuteSearch(searchTerm);\n\t\t},\n\t\tDOMAIN_SEARCH: domainSearchEffect,\n\t\t[DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED]({\n\t\t\tdispatch,\n\t\t\taction: {payload},\n\t\t\tstate: {currentDomainResultOffset = 0},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst items =\n\t\t\t\tpayload?.items?.map((i) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsysId: i.sys_id,\n\t\t\t\t\t\tid: i.sys_id,\n\t\t\t\t\t\tname: i.name\n\t\t\t\t\t};\n\t\t\t\t}) ?? [];\n\n\t\t\t// keep track of current offset\n\t\t\tconst numResults = items.length + currentDomainResultOffset;\n\t\t\t// if the number of domains in the most response is < the amount\n\t\t\t// requested, then there are no more results\n\t\t\tconst hasMoreResults = items.length === NUM_DOMAIN_PER_SEARCH;\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'availableDomains.list',\n\t\t\t\t\tvalue: items,\n\t\t\t\t\toperation: 'concat'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'currentDomainResultOffset',\n\t\t\t\t\tvalue: numResults,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'hasMoreResults',\n\t\t\t\t\tvalue: hasMoreResults,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t},\n\n\t\t[DOMAIN_UPDATE_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tstate: {availableDomains},\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\tconst domainId = !isEmpty(payload.domainId)\n\t\t\t\t\t? payload.domainId\n\t\t\t\t\t: 'global';\n\t\t\t\tconst updateDomains = getUpdatedDomains(domainId, availableDomains);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableDomains',\n\t\t\t\t\tvalue: updateDomains,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[DOMAIN_CHANGE_REQUESTED]: domainChangeEffect,\n\t\t[DOMAIN_RESET_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\titem: {id}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.DOMAIN_REFRESH, {\n\t\t\t\t\tmenuGroup: 'Domain',\n\t\t\t\t\tdefaultDomain: id\n\t\t\t\t});\n\t\t\t\tconst referencePickerEnabled = getBooleanProperty(\n\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t);\n\n\t\t\t\tif (referencePickerEnabled) {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED, {data: {value: id}});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[DOMAIN_CHANGE_SUCCEEDED]: {\n\t\t\teffect: () => {\n\t\t\t\tcache.remove('headerMenuItems');\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {isSupportedExperience} from '../behaviors/core-ui-iframe-behavior';\n\nexport default function onIframeLoad(iframe, cb) {\n\tif (!iframe) return cb();\n\tif (\n\t\tiframe?.contentDocument?.readyState === 'complete' ||\n\t\tiframe?.contentDocument?.readyState === 'uninitialized'\n\t)\n\t\treturn cb();\n\tlet path = iframe?.contentDocument?.location?.pathname;\n\n\tif (path?.startsWith('/')) {\n\t\tpath = path.substring(1);\n\t}\n\n\tif (\n\t\tisSupportedExperience({\n\t\t\tcontext: {path}\n\t\t})\n\t)\n\t\treturn cb();\n\n\tconst onReadyStateChange = () => {\n\t\tif (iframe?.contentDocument?.readyState === 'complete') {\n\t\t\tcb();\n\t\t\tiframe.removeEventListener('readystatechange', onReadyStateChange);\n\t\t}\n\t};\n\n\tiframe?.contentDocument?.addEventListener(\n\t\t'readystatechange',\n\t\tonReadyStateChange\n\t);\n}\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {ENABLED_PLUGINS_REFRESHED} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport cache from '../../utils/cache';\nimport onIframeLoad from '../../utils/onIframeLoad';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tCLASSIC,\n\tMETRICS\n} from '../../constants';\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {FETCH_PLUGINS_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nexport const PLUGINS_REFRESH_REQUESTED = 'PLUGINS#REFRESH_REQUESTED';\nexport const PLUGINS_REFRESH_REQUEST_SUCCEEDED =\n\t'PLUGINS#REFRESH_REQUEST_SUCCEEDED';\n\nexport const refreshAvailablePlugins = createHttpEffect(\n\t'/api/now/uxf/databroker/exec',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tbatch: true,\n\t\tsuccessActionType: PLUGINS_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst enablePlugins = (dispatch, updateState) => {\n\tconst enabledPlugins = cache.get('enabledPlugins');\n\tif (enabledPlugins) {\n\t\tupdateState({enabledPlugins});\n\t\tdispatch(ENABLED_PLUGINS_REFRESHED, {\n\t\t\tenabledPlugins: enabledPlugins\n\t\t});\n\t} else {\n\t\tdispatch(PLUGINS_REFRESH_REQUESTED, {\n\t\t\tpayload: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'TRANSFORM',\n\t\t\t\t\tdefinitionSysId: '0f5459db40422010f8774d1a29c70a10',\n\t\t\t\t\tinputValues: {\n\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\ttype: 'JSON_LITERAL',\n\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t'[\"com.glide.i18n\", \"com.sn_components_omnichannel_interaction\", \"com.glide.interaction.awa\", \"com.sn_openframe\", \"com.glideapp.dashboards\", \"com.snc.pa\", \"com.glide.cs.collab\", \"com.glide.guided_tours\", \"com.sn_help_assistant\",\"com.glide.cs.genai\", \"com.glide.appsee\", \"com.servicenow_uxa_dashboard\"]'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n};\n\nexport default {\n\tname: 'ENABLED_PLUGINS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch, updateState, host}) => {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tif (host?.selectedContent?.route === CLASSIC)\n\t\t\t\t\t\tonIframeLoad(getCoreUiIframe(host), () =>\n\t\t\t\t\t\t\tenablePlugins(dispatch, updateState)\n\t\t\t\t\t\t);\n\t\t\t\t\telse enablePlugins(dispatch, updateState);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t}\n\t\t},\n\t\t[PLUGINS_REFRESH_REQUESTED]: trackStartTime(\n\t\t\trefreshAvailablePlugins,\n\t\t\tFETCH_PLUGINS_TIME_PATH\n\t\t),\n\t\t[PLUGINS_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {result}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst enabledPlugins = result[0]?.executionResult?.output;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'enabledPlugins',\n\t\t\t\t\tvalue: enabledPlugins,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tcache.set('enabledPlugins', enabledPlugins);\n\n\t\t\t\tdispatch(ENABLED_PLUGINS_REFRESHED, {\n\t\t\t\t\tenabledPlugins: enabledPlugins\n\t\t\t\t});\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.PLUGINS_FETCHED,\n\t\t\t\t\tpath: FETCH_PLUGINS_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import isEmpty from 'lodash/isEmpty';\nimport {createHttpEffect} from '@devsnc/unav-utils';\n// eslint-disable-next-line no-restricted-imports\nimport {guid} from '@servicenow/ui-internal';\nimport {\n\tUSER_UI_NOTIFICATION_REQUESTED,\n\tUSER_SESSION_NOTIFICATION_REQUESTED,\n\tUSER_NOTIFICATIONS_SUCCEEDED\n} from './actions';\n\n//  Grab any Session Notifications that may be waiting on the server\nconst getUserNotifications = createHttpEffect('/api/now/session/notification', {\n\tmethod: 'GET',\n\tbatch: false,\n\tsuccessActionType: USER_NOTIFICATIONS_SUCCEEDED\n});\n\nconst getAlert = (\n\tmessage,\n\tid,\n\tshouldCreateHTMLElement = true,\n\tautoDismissConfig = {}\n) => {\n\treturn {\n\t\tid: id,\n\t\tstatus:\n\t\t\tmessage.type === 'error'\n\t\t\t\t? 'critical'\n\t\t\t\t: message.type === 'system' || message.type === 'access'\n\t\t\t\t? 'info'\n\t\t\t\t: message.type === 'auth'\n\t\t\t\t? 'warning'\n\t\t\t\t: message.type,\n\t\ticon:\n\t\t\tmessage.type === 'warning'\n\t\t\t\t? 'check-circle-outline'\n\t\t\t\t: message.type === 'error'\n\t\t\t\t? 'exclamation-triangle-outline'\n\t\t\t\t: message.type === 'auth'\n\t\t\t\t? 'exclamation-triangle-outline'\n\t\t\t\t: 'info-circle-outline',\n\t\tcontent: {\n\t\t\ttype: shouldCreateHTMLElement ? 'html' : 'string',\n\t\t\tvalue: message.text\n\t\t},\n\t\taction: {type: 'dismiss'},\n\t\tautoDismissConfig: autoDismissConfig\n\t};\n};\n\nconst moveUserMsgContent = (host, totalAlerts) => {\n\tconst userNotifContainer = host.shadowRoot.querySelector(\n\t\t'.user-notification-container.is-visible'\n\t);\n\tif (!userNotifContainer) return;\n\n\tconst txnMessageContainer = host.shadowRoot.querySelector(\n\t\t'.sn-transaction-status-message.is-visible'\n\t);\n\tconst messageStackContainer = host.shadowRoot.querySelector(\n\t\t'.message-stack-container.is-visible'\n\t);\n\tlet position = totalAlerts * 60 + 58;\n\tif (txnMessageContainer) {\n\t\tposition += 40;\n\t}\n\n\tif (messageStackContainer) {\n\t\tposition += 40;\n\t}\n\n\tif (txnMessageContainer && messageStackContainer) {\n\t\tposition += 16;\n\t}\n\tuserNotifContainer.style.top = position + 'px';\n};\n\nexport default {\n\tname: 'USER_NOTIFICATION_BEHAVIOR',\n\tinitialState: {\n\t\tuserSessionNotifications: [],\n\t\tuserUINotifications: []\n\t},\n\tactionHandlers: {\n\t\t[USER_UI_NOTIFICATION_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t\tshouldCreateHTMLElement,\n\t\t\t\t\t\tautoDismiss = true,\n\t\t\t\t\t\tautoDismissConfig = {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstate: {userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst id = `user-ui-notification-alert-${guid()}`;\n\n\t\t\t\tconst defaultAutoDismissConfig = {\n\t\t\t\t\tenableAutoDismiss: autoDismiss,\n\t\t\t\t\tduration: message?.duration ?? 10000\n\t\t\t\t};\n\n\t\t\t\tconst finalAutoDismissConfig = isEmpty(autoDismissConfig)\n\t\t\t\t\t? defaultAutoDismissConfig\n\t\t\t\t\t: {...defaultAutoDismissConfig, ...autoDismissConfig};\n\n\t\t\t\tconst newMessage = getAlert(\n\t\t\t\t\tmessage,\n\t\t\t\t\tid,\n\t\t\t\t\tshouldCreateHTMLElement,\n\t\t\t\t\tfinalAutoDismissConfig\n\t\t\t\t);\n\t\t\t\tconst totalAlerts = userUINotifications\n\t\t\t\t\t? userUINotifications.length + 1\n\t\t\t\t\t: 1;\n\t\t\t\tif (host) moveUserMsgContent(host, totalAlerts);\n\t\t\t\tupdateState({\n\t\t\t\t\tuserUINotifications: userUINotifications\n\t\t\t\t\t\t? [...userUINotifications, newMessage]\n\t\t\t\t\t\t: [newMessage]\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[USER_SESSION_NOTIFICATION_REQUESTED]: getUserNotifications,\n\t\t[USER_NOTIFICATIONS_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tstate: {userSessionNotifications, userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (result.length < 1) return;\n\t\t\t\tconst filteredItems = result.filter(\n\t\t\t\t\t(notification) =>\n\t\t\t\t\t\t!isEmpty(notification.text) && notification.type !== 'nav'\n\t\t\t\t);\n\t\t\t\tlet authNotification = null;\n\t\t\t\tconst newItems = filteredItems.reduce((accumulator, r) => {\n\t\t\t\t\tconst id = `user-notification-alert-${guid()}`;\n\t\t\t\t\tif (r.type === 'auth') {\n\t\t\t\t\t\t// if authNotification already captured, we can ignore subsequent auth notifications\n\t\t\t\t\t\tif (!authNotification) {\n\t\t\t\t\t\t\t// grab the first notification of auth type\n\t\t\t\t\t\t\tauthNotification = getAlert(r, id);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\taccumulator.push(getAlert(r, id));\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}, []);\n\n\t\t\t\tif (userUINotifications?.length) {\n\t\t\t\t\tmoveUserMsgContent(host, userUINotifications.length);\n\t\t\t\t}\n\n\t\t\t\t// Concocting auth notifications (if present) with all other type of notifications\n\t\t\t\tconst concoctedNotifications = authNotification\n\t\t\t\t\t? [...newItems, authNotification]\n\t\t\t\t\t: newItems;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tuserSessionNotifications: userSessionNotifications\n\t\t\t\t\t\t? [...userSessionNotifications, ...concoctedNotifications]\n\t\t\t\t\t\t: concoctedNotifications\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEMS_SET']: {\n\t\t\teffect: ({host, action, state: {userUINotifications}, updateState}) => {\n\t\t\t\tconst {payload} = action;\n\t\t\t\tconst {value} = payload;\n\n\t\t\t\tconst visibleAlertIds = new Set(value.map((item) => item.id));\n\t\t\t\tconst filteredItems = userUINotifications.filter((notification) =>\n\t\t\t\t\tvisibleAlertIds.has(notification.id)\n\t\t\t\t);\n\t\t\t\tmoveUserMsgContent(host, filteredItems.length);\n\t\t\t\tupdateState({userUINotifications: filteredItems});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEM_ACTION_CLICKED']: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction,\n\t\t\t\tstate: {userSessionNotifications, userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst {payload} = action;\n\t\t\t\tconst {item} = payload;\n\t\t\t\tif (item.id.indexOf('user-notification-alert') === 0) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tuserSessionNotifications: userSessionNotifications.filter(\n\t\t\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst filteredItems = userUINotifications.filter(\n\t\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t\t);\n\t\t\t\t\tmoveUserMsgContent(host, filteredItems.length);\n\t\t\t\t\tupdateState({userUINotifications: filteredItems});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tLOGOUT_CONFIRMATION_YES_CLICKED,\n\tLOGOUT_REQUESTED\n} from '../../behaviors/logout-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_COMMUNICATED_TO_SW\n} from '../history-behavior/actions';\nimport {\n\tENABLE_SOURCE_MAPS,\n\tSYS_PROPS,\n\tUSER_PREF_UPDATED,\n\tMENU_FAVORITES\n} from '../../constants';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {get} from 'lodash';\nimport {REPLACE_MENU_SUBITEMS} from '../menu-modifier-behavior/actions';\nimport {\n\tFAVORITES_COMMUNICATED_TO_SW,\n\tSYNC_ALL_MENU_AND_TITLE\n} from '../favorites-behavior/actions';\nimport {USER_IMPERSONATE_SUCCEEDED} from '@devsnc/sn-impersonation';\n\nconst NOW_SCOPE = '/now';\nconst X_SCOPE = '/x';\n\nconst serviceWorkerEvents = {\n\tconfigureServiceWorker: 'POLARIS_CONFIGURE_SW',\n\tclearServiceWorkerCache: 'POLARIS_CLEAR_SW_CACHE',\n\treloadPage: 'POLARIS_RELOAD_PAGE',\n\tmsgChannelInitPort: 'POLARIS_MSG_CHANNEL_INIT_PORT',\n\tcreateHistoryItem: 'POLARIS_HISTORY_ITEMS',\n\tupdateFavoriteItems: 'POLARIS_FAVORITE_ITEMS_UPDATE'\n};\n\nconst sysProps = {\n\tconfig: 'glide.ui.polaris.service_worker_cache_config'\n};\n\nlet history, favorites, historyHandling, favoriteHandling;\n\nif ('BroadcastChannel' in self) {\n\tconst channel = new BroadcastChannel('polaris-mcp-sw');\n\tchannel.addEventListener('message', (event) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('Received Message from SW: ', event.data);\n\t\tif (event.data.type === serviceWorkerEvents.reloadPage) {\n\t\t\tconst shouldReload = get(event.data.payload, 'shouldReload', false);\n\t\t\tif (shouldReload) {\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t}\n\t});\n}\n\nconst messageChannel = new MessageChannel();\n// Listen to the response\nmessageChannel.port1.onmessage = (event) => {\n\t// eslint-disable-next-line no-console\n\tconsole.log('Received Message from SW on the Message Channel: ', event.data);\n\tif (event.data && event.data.type === serviceWorkerEvents.reloadPage) {\n\t\tconst shouldReload = get(event.data.payload, 'shouldReload', false);\n\t\tif (shouldReload) {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n};\n\nconst resolveRegistrations = async () => {\n\tif (!navigator.serviceWorker) return [];\n\n\treturn (await navigator.serviceWorker.getRegistrations()).filter(\n\t\t(registration) =>\n\t\t\twindow.location.pathname.startsWith(new URL(registration.scope).pathname)\n\t);\n};\n\nconst postClearCacheMsg = async () => {\n\t(await resolveRegistrations()).forEach((registration) => {\n\t\tregistration.active?.postMessage({\n\t\t\ttype: serviceWorkerEvents.clearServiceWorkerCache\n\t\t});\n\t});\n};\n\nconst postUxAssetConfigUpdateMsg = async (config = {}) => {\n\tif (!navigator.serviceWorker) return;\n\n\tconst registration = await navigator.serviceWorker.ready;\n\tawait registration.active?.postMessage({\n\t\taction: 'setConfig',\n\t\t...config\n\t});\n\tconst messageListener = (event) => {\n\t\tconst action = get(event, 'data.action', '');\n\n\t\tif (action === 'cacheCleared') {\n\t\t\tsetTimeout(() => window.location.reload(), 2000);\n\t\t}\n\t\tnavigator.serviceWorker.removeEventListener('message', messageListener);\n\t};\n\tnavigator.serviceWorker.addEventListener('message', messageListener);\n};\n\nexport default {\n\tname: 'POLARIS_SERVICE_WORKER',\n\tactionHandlers: {\n\t\t[LOGOUT_REQUESTED]: {\n\t\t\teffect: () => {\n\t\t\t\tif (!getBooleanProperty(SYS_PROPS.SYS_LOGOUT_PROMPT))\n\t\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_YES_CLICKED]: {\n\t\t\teffect: () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (name === 'userSession' && !value.isLoggedIn) postClearCacheMsg();\n\t\t\t\tif (\n\t\t\t\t\tname === 'userMeta' &&\n\t\t\t\t\tObject.keys(previousValue || {}).length === 0 &&\n\t\t\t\t\tvalue?.sys_id\n\t\t\t\t) {\n\t\t\t\t\thistoryHandling = (event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.data.user_sys_id === value.sys_id &&\n\t\t\t\t\t\t\tevent.data.type === serviceWorkerEvents.createHistoryItem\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdispatch(ADD_HISTORY_ENTRY, {\n\t\t\t\t\t\t\t\t...event.data.payload,\n\t\t\t\t\t\t\t\tproperties: event.data.properties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tfavoriteHandling = (event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.data.user_sys_id === value.sys_id &&\n\t\t\t\t\t\t\tevent.data.type === serviceWorkerEvents.updateFavoriteItems\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst callback = () =>\n\t\t\t\t\t\t\t\tdispatch(REPLACE_MENU_SUBITEMS, {\n\t\t\t\t\t\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\t\t\t\t\t\tsubItems: event.data.favoriteMenu.subItems\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdispatch(SYNC_ALL_MENU_AND_TITLE, {\n\t\t\t\t\t\t\t\tfavoriteMenu: event.data.favoriteMenu,\n\t\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\thistory = new BroadcastChannel('historySync');\n\t\t\t\t\thistory.addEventListener('message', historyHandling);\n\n\t\t\t\t\tfavorites = new BroadcastChannel('favoritesSync');\n\t\t\t\t\tfavorites.addEventListener('message', favoriteHandling);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_RENDER_REQUESTED]: {\n\t\t\teffect: async () => {\n\t\t\t\tconst config = JSON.parse(getProperty(sysProps.config)) || {\n\t\t\t\t\treferrerScope: '/now/',\n\t\t\t\t\tcacheEnabled: true,\n\t\t\t\t\tsetTimeoutDelay: 5000,\n\t\t\t\t\tcacheableRequests: {\n\t\t\t\t\t\t'/api/now/uxframework/macroponent_drivers': {\n\t\t\t\t\t\t\tmethods: ['POST'],\n\t\t\t\t\t\t\tttl: 300000\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'/api/now/uxframework/component_drivers': {\n\t\t\t\t\t\t\tmethods: ['POST'],\n\t\t\t\t\t\t\tttl: 300000\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t(await resolveRegistrations()).forEach((registration) => {\n\t\t\t\t\tregistration.active?.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.configureServiceWorker,\n\t\t\t\t\t\tpayload: config\n\t\t\t\t\t});\n\t\t\t\t\tconst scopePath = new URL(registration.scope).pathname;\n\t\t\t\t\tif (scopePath === NOW_SCOPE || scopePath === X_SCOPE) {\n\t\t\t\t\t\tregistration.active?.postMessage(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: serviceWorkerEvents.msgChannelInitPort,\n\t\t\t\t\t\t\t\tpayload: {}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[messageChannel.port2]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[USER_PREF_UPDATED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {name, value}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (name === ENABLE_SOURCE_MAPS) {\n\t\t\t\t\tpostUxAssetConfigUpdateMsg({enabledSourceMaps: value});\n\t\t\t\t} else {\n\t\t\t\t\tpostClearCacheMsg();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[USER_IMPERSONATE_SUCCEEDED]: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t['USER_PREFERENCES#UPDATE_LANGUAGE_SUCCEEDED']: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t['USER_PREFERENCES#UPDATE_TIMEZONE_SUCCEEDED']: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[HISTORY_COMMUNICATED_TO_SW]: {\n\t\t\teffect: async ({action: {payload}, properties}) => {\n\t\t\t\thistory.postMessage({\n\t\t\t\t\ttype: serviceWorkerEvents.createHistoryItem,\n\t\t\t\t\tuser_sys_id: properties.userMeta.sys_id,\n\t\t\t\t\tpayload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FAVORITES_COMMUNICATED_TO_SW]: {\n\t\t\teffect: async ({\n\t\t\t\tproperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {favoriteMenu}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (favorites) {\n\t\t\t\t\tfavorites.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.updateFavoriteItems,\n\t\t\t\t\t\tuser_sys_id: properties.userMeta.sys_id,\n\t\t\t\t\t\tfavoriteMenu\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {ARIA_LIVE_MESSAGE_ADDED, ARIA_LIVE_MESSAGE_REMOVED} from './actions';\nimport {ARIA_LIVE_STATE_PATH, BEHAVIOR_NAME} from './constants';\n\nconst handleAriaLiveMessageAdded = ({\n\tupdateState,\n\taction: {\n\t\tpayload: {message}\n\t},\n\tdispatch\n}) => {\n\tupdateState({\n\t\tpath: ARIA_LIVE_STATE_PATH,\n\t\tvalue: message,\n\t\toperation: 'push',\n\t\tshouldRender: true\n\t});\n\n\t// auto clear out aria-live message\n\tsetTimeout(() => {\n\t\tdispatch(ARIA_LIVE_MESSAGE_REMOVED);\n\t}, 1000);\n};\n\nconst handleAriaLiveMessageRemoved = ({updateState}) => {\n\tupdateState({\n\t\tpath: ARIA_LIVE_STATE_PATH,\n\t\tvalue: [],\n\t\toperation: 'set',\n\t\tshouldRender: true\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tariaLiveMessages: []\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_ADDED]: {\n\t\t\teffect: handleAriaLiveMessageAdded,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ARIA_LIVE_MESSAGE_REMOVED]: {\n\t\t\teffect: handleAriaLiveMessageRemoved,\n\t\t\tmodifier: {name: 'debounce', delay: 500},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","import {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {\n\tQUERY_UNREAD_COUNT_SUCCEEDED,\n\tCOLLAB_CHAT_AMB_MESSAGE_RECEIVED,\n\tCOLLAB_RECORD_QUERY_SUCCEEDED\n} from './constants';\n\nexport const collabChatAMBChannel = createAmbSubscriptionEffect(\n\t'/collabchat/user/:userId',\n\t{\n\t\tmessageReceivedActionType: COLLAB_CHAT_AMB_MESSAGE_RECEIVED\n\t}\n);\n\nexport const queryUnreadCount = createGraphQLEffect(\n\t`\n\tquery {\n\t\tGlideCollabChat_Query {\n\t\t\tgetUnreadConversationCount\n\t\t}\n\t}\n\t`,\n\t{\n\t\tsuccessActionType: QUERY_UNREAD_COUNT_SUCCEEDED\n\t}\n);\n\nexport const queryCollabRecord = createGraphQLEffect(\n\t`query ($queryConditions: String!) {\n\t\tGlideRecord_Query {\n\t\t  sys_cs_collab_record(queryConditions: $queryConditions) {\n\t\t\t_results {\n\t\t\t  table {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t  document {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t  collab_chat {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t}\n\t\t  }\n\t\t}\n\t  }\n\t  `,\n\t{\n\t\tvariableList: ['queryConditions'],\n\t\tsuccessActionType: COLLAB_RECORD_QUERY_SUCCEEDED\n\t}\n);\n","import {\n\tqueryUnreadCount,\n\tcollabChatAMBChannel,\n\tqueryCollabRecord\n} from './dataSources';\nimport {\n\tCOLLAB_CHAT_BEHAVIOR,\n\tCOLLAB_CHAT_AMB_MESSAGE_RECEIVED,\n\tSUBSCRIBE_TO_COLLAB_CHAT,\n\tINIT_COLLAB_CHAT,\n\tQUERY_UNREAD_COUNT,\n\tQUERY_UNREAD_COUNT_SUCCEEDED,\n\tQUERY_COLLAB_RECORD,\n\tCOLLAB_RECORD_QUERY_SUCCEEDED,\n\tOPEN_COLLAB_CHAT,\n\tOPEN_COLLAB_CHAT_IN_DOCK,\n\tCREATE_COLLAB_CHAT_MUTATION_SUCCEEDED,\n\tCOLLAB_MODAL_OPENED,\n\tCOLLAB_MODAL_CLOSED,\n\tFLOATING_CONTAINER_RESIZED,\n\tCOLLAB_PANEL_OPENED,\n\tTOGGLE_SEARCH_VISIBILITY,\n\tCOLLAB_CHAT_MENU_HEADER_SEND_COMMAND,\n\tCHAT_MENU_ID,\n\tCOLLAB_PANEL_HEADER_TEXT\n} from './constants';\nimport {METRICS, SYS_PROPS} from '../../constants';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport get from 'lodash/get';\nimport isInteger from 'lodash/isInteger';\nimport track from '../../utils/track';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\n\nconst initCollabChat = ({\n\tdispatch,\n\tstate,\n\tupdateState,\n\tproperties: {userMeta}\n}) => {\n\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\timport('sn-oe-sfs');\n\t\tdispatch(SUBSCRIBE_TO_COLLAB_CHAT, {\n\t\t\tuserId: get(userMeta, 'sys_id', '0'),\n\t\t\tsubscribe: true\n\t\t});\n\t\tdispatch(QUERY_UNREAD_COUNT);\n\t\tupdateState({\n\t\t\tcollabChatState: {\n\t\t\t\t...state.collabChatState,\n\t\t\t\tcollabChatLoaded: true\n\t\t\t}\n\t\t});\n\t});\n};\n\n/**\n * Use value returned from AMB to update the unread count\n */\nconst handleAMBMessage = ({action, updateState}) => {\n\tconst count = get(action, 'payload.data.count');\n\n\tif (isInteger(count) && count > -1) {\n\t\tupdateState(({state}) => {\n\t\t\treturn {\n\t\t\t\tcontextualMenu: {\n\t\t\t\t\t...state.contextualMenu,\n\t\t\t\t\tunreadChatCount: count\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n};\n\n/**\n * Use value returned from GraphQL to update the unread count\n */\nconst handleUnreadCount = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate: {contextualMenu},\n\t\tupdateState\n\t} = coeffects;\n\tconst count = get(\n\t\taction,\n\t\t'payload.data.GlideCollabChat_Query.getUnreadConversationCount'\n\t);\n\n\tif (isInteger(count) && count > -1) {\n\t\tupdateState({\n\t\t\tcontextualMenu: {\n\t\t\t\t...contextualMenu,\n\t\t\t\tunreadChatCount: count\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handlerCollabQuery = ({action, dispatch, state}) => {\n\tconst results = get(\n\t\taction,\n\t\t'payload.data.GlideRecord_Query.sys_cs_collab_record._results'\n\t);\n\n\tconst isMultiChatEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.COLLAB_CHAT_ENABLE_MULTI_CHATS,\n\t\tfalse\n\t);\n\n\tif (isMultiChatEnabled || !results || results.length == 0) {\n\t\tdispatch(COLLAB_MODAL_OPENED, {\n\t\t\tparentTable: state.parentTable,\n\t\t\tparentSysId: state.parentSysId,\n\t\t\tconfig: state.config\n\t\t});\n\t} else {\n\t\tconst collabChatId = get(results[0], 'collab_chat.value');\n\t\tif (collabChatId) {\n\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\tid: collabChatId\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleOpenDockedChat = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tupdateState({\n\t\topenChat: {\n\t\t\tcollabChatSysId: payload.id,\n\t\t\tmessageSysId: payload.messageSysId || null,\n\t\t\tpayload,\n\t\t\ttimestamp: Date.now()\n\t\t}\n\t});\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleOpenNewDockedChat = (coeffects) => {\n\tconst {action, updateState} = coeffects;\n\tconst collabChatSysId = get(\n\t\taction,\n\t\t'payload.data.GlideCollabChat_Mutation.createChat.sysId'\n\t);\n\twindow.requestAnimationFrame(() => {\n\t\tupdateState({\n\t\t\topenChat: {\n\t\t\t\tcollabChatSysId: collabChatSysId,\n\t\t\t\ttimestamp: Date.now()\n\t\t\t}\n\t\t});\n\t});\n};\n\nexport default {\n\tname: COLLAB_CHAT_BEHAVIOR,\n\tinitialState: {\n\t\tparentTable: null,\n\t\tparentSysId: null,\n\t\tconfig: {}\n\t},\n\tactionHandlers: {\n\t\t[INIT_COLLAB_CHAT]: {\n\t\t\teffect: initCollabChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_TO_COLLAB_CHAT]: collabChatAMBChannel,\n\t\t[COLLAB_CHAT_AMB_MESSAGE_RECEIVED]: {\n\t\t\teffect: handleAMBMessage,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_UNREAD_COUNT]: queryUnreadCount,\n\t\t[QUERY_UNREAD_COUNT_SUCCEEDED]: {\n\t\t\teffect: handleUnreadCount,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_COLLAB_RECORD]: queryCollabRecord,\n\t\t[COLLAB_RECORD_QUERY_SUCCEEDED]: {\n\t\t\teffect: handlerCollabQuery,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPEN_COLLAB_CHAT]: {\n\t\t\teffect: ({action, dispatch, updateState}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tfields: {parentSysId, parentTable, config, collabChatId}\n\t\t\t\t\t}\n\t\t\t\t} = action;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tparentTable,\n\t\t\t\t\tparentSysId,\n\t\t\t\t\tconfig\n\t\t\t\t});\n\n\t\t\t\tif (collabChatId) {\n\t\t\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\t\t\tid: collabChatId\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(QUERY_COLLAB_RECORD, {\n\t\t\t\t\t\tqueryConditions: `table=${parentTable}^document=${parentSysId}`\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPEN_COLLAB_CHAT_IN_DOCK]: {\n\t\t\teffect: handleOpenDockedChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED]: {\n\t\t\teffect: handleOpenNewDockedChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TOGGLE_SEARCH_VISIBILITY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {contextualMenuState},\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tisCollabChatSearchEnabled: payload\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\ttrack(coeffects, METRICS.TOGGLED_COLLAB_CHAT_SEARCH, {\n\t\t\t\t\tsearchExpanded: payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_MODAL_OPENED]: {\n\t\t\teffect: ({action: {payload}, updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcollabChatState: {\n\t\t\t\t\t\tshowCreateCollabChatModal: true,\n\t\t\t\t\t\tparentTable: payload.parentTable,\n\t\t\t\t\t\tparentSysId: payload.parentSysId,\n\t\t\t\t\t\tconfig: payload.config\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_MODAL_CLOSED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {openChatPanel, collabChatId}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcollabChatState: {\n\t\t\t\t\t\tshowCreateCollabChatModal: false,\n\t\t\t\t\t\tparentTable: null,\n\t\t\t\t\t\tparentSysId: null,\n\t\t\t\t\t\tconfig: {}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (openChatPanel && collabChatId) {\n\t\t\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\t\t\tcollabChatId: collabChatId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_PANEL_OPENED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {contextualMenu, contextualMenuState},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {collabChatId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\tmenuType: CHAT_MENU_ID,\n\t\t\t\t\t\theaderText: COLLAB_PANEL_HEADER_TEXT,\n\t\t\t\t\t\tcollabChatId: collabChatId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tprimaryMenuId: CHAT_MENU_ID\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FLOATING_CONTAINER_RESIZED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tupdateState({\n\t\t\t\t\tfloatingContainerSize: payload[0].contentRect.width\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_CHAT_MENU_HEADER_SEND_COMMAND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {contextualMenuState},\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tcommand: payload\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tactions: {\n\t\t[QUERY_UNREAD_COUNT]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[QUERY_COLLAB_RECORD]: {\n\t\t\tprivate: true\n\t\t}\n\t}\n};\n","export const INBOX = {\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED',\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS',\n\tWORK_TIEMS_SUBSCRIBED_FAILED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED_FAILED',\n\tWORK_ITEMS_CHANGED: 'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_CHANGED',\n\tACTIVELY_FETCH_WORK_ITEM:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM',\n\tACTIVELY_FETCH_WORK_ITEM_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED',\n\tACTIVELY_FETCH_WORK_ITEM_FAILURE:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM_FAILURE'\n};\n\nexport const UI_NOTIFICATIONS = {\n\tSUBSCRIBE_MESSAGE_RECEIVED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_MESSAGE_RECEIVED',\n\tSUBSCRIBE_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_REQUESTED',\n\tSUBSCRIBE_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_SUCCEEDED',\n\tSUBSCRIBE_FAILED: 'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_FAILED',\n\tFETCH_EXISTING_NOTIFICATIONS_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_REQUESTED',\n\tFETCH_EXISTING_NOTIFICATIONS_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_SUCCEEDED',\n\tFETCH_EXISTING_NOTIFICATIONS_FAILED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_FAILED',\n\tUPDATE_EXISTING_NOTIFICATIONS_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_UPDATE_EXISTING_NOTIFICATIONS_REQUESTED',\n\tQUERY_NOTIFICATION_COUNT_SUCCEEDED: 'QUERY_ALERT_COUNT_SUCCEEDED',\n\tQUERY_NOTIFICATION_COUNT_ERROR: 'QUERY_ALERT_COUNT_ERROR'\n};\n","import {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {t} from 'sn-translate';\nimport {get} from 'lodash';\nimport {NOTIFY_REQUESTED} from '../actions';\nimport {INBOX} from './actions';\nconst {\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED,\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS,\n\tWORK_ITEMS_CHANGED,\n\tWORK_TIEMS_SUBSCRIBED_FAILED,\n\tACTIVELY_FETCH_WORK_ITEM,\n\tACTIVELY_FETCH_WORK_ITEM_SUCCEEDED,\n\tACTIVELY_FETCH_WORK_ITEM_FAILURE\n} = INBOX;\nimport {PREFERENCES} from '../constants';\nimport {FETCH_WORK_ITEM_QUERY} from './graphQL';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../schedule-for-page-load-behavior/actions';\n\nconst TYPE = 'inbox';\n\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\nconst WORK_ITEM_CHANNEL_PATH = '/awa/work_item/:userId';\nconst GRAPHQL_WORK_ITEMS_PATH = 'data.GlideInboxAWA_Query.inboxItem.results';\n\nconst ambEffect = createAmbSubscriptionEffect(WORK_ITEM_CHANNEL_PATH, {\n\tsubscribeSucceededActionType: WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS,\n\tsubscribeFailedActionType: WORK_TIEMS_SUBSCRIBED_FAILED,\n\tmessageReceivedActionType: WORK_ITEMS_CHANGED\n});\n\nconst typeNameIconMap = {\n\tCase: 'user-plus-outline',\n\tIncident: 'user-plus-outline',\n\t'Walk-up': 'user-plus-outline',\n\tChat: 'chat-outline',\n\tdefault: 'user-plus-outline'\n};\n\nexport const normalizeInboxPayload = (workItem, userPreferences) => {\n\tlet shortDescription;\n\tconst fieldsWithShortDesc = get(workItem, 'fieldValues', []).filter(\n\t\t(item) => item.keyName === 'short_description'\n\t);\n\tif (fieldsWithShortDesc.length > 0) {\n\t\tshortDescription = fieldsWithShortDesc[0].value;\n\t} else {\n\t\tshortDescription = get(workItem, 'serviceChannel.shortDescription');\n\t}\n\n\tconst isDesktopNotification = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.INBOX_DESKTOP_NOTIFICATION\n\t);\n\treturn {\n\t\tid:\n\t\t\tget(workItem, 'documentDisplayValue') ||\n\t\t\tget(workItem, 'workItem.document_sys_id'),\n\t\ttitle: t('New {0}', get(workItem, 'typeName')),\n\t\tmessage: shortDescription,\n\t\trecordType: get(workItem, 'workItem.document_table'),\n\t\ticon: typeNameIconMap[workItem.typeName] || typeNameIconMap.default,\n\t\ttimestamp: get(workItem, 'workItem.created_on'),\n\t\tisDesktopNotification: isDesktopNotification\n\t};\n};\n\nexport const activelyFetchWorkItem = createGraphQLEffect(\n\tFETCH_WORK_ITEM_QUERY,\n\t{\n\t\tsuccessActionType: ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED,\n\t\terrorActionType: ACTIVELY_FETCH_WORK_ITEM_FAILURE\n\t}\n);\n\nexport default {\n\ttype: TYPE,\n\trequiredPlugins: ['com.sn_components_omnichannel_interaction'],\n\tregister: (coeffect) => {\n\t\tconst {properties, dispatch} = coeffect;\n\t\tconst sysId = get(properties, 'userMeta.sys_id', '');\n\t\tconst userPreferences = get(properties, 'userPreferences');\n\t\tconst userDesktopNotificationEnabled = getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.INBOX_DESKTOP_NOTIFICATION\n\t\t);\n\n\t\tif (sysId && userDesktopNotificationEnabled) {\n\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\taction: () => {\n\t\t\t\t\tdispatch(WORK_ITEMS_SUBSCRIBE_REQUESTED, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserId: sysId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[WORK_ITEMS_SUBSCRIBE_REQUESTED]: ambEffect,\n\t\t[WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(ACTIVELY_FETCH_WORK_ITEM);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WORK_TIEMS_SUBSCRIBED_FAILED]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Failure to connect to amb channel for notifications');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WORK_ITEMS_CHANGED]: {\n\t\t\teffect: ({action, dispatch, properties: {userPreferences}}) => {\n\t\t\t\tconst data = get(action.payload, 'data', {});\n\t\t\t\tconst inboxItems = get(data, 'inboxItems', []);\n\t\t\t\tif (inboxItems.length > 0 && data.isEntered) {\n\t\t\t\t\tconst workItem = inboxItems[0];\n\t\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t\t...normalizeInboxPayload(workItem, userPreferences),\n\t\t\t\t\t\tfeature: 'inbox',\n\t\t\t\t\t\turl: 'now/workspace/agent/inbox',\n\t\t\t\t\t\ttype: TYPE\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ACTIVELY_FETCH_WORK_ITEM]: activelyFetchWorkItem,\n\t\t[ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED]: {\n\t\t\teffect: ({action, dispatch, properties: {userPreferences}}) => {\n\t\t\t\tconst workItems = get(action.payload, GRAPHQL_WORK_ITEMS_PATH, []);\n\t\t\t\tif (workItems.length > 0) {\n\t\t\t\t\t/*\n\t\t\t\t\t * We only care about the first item here because any other\n\t\t\t\t\t * notifications would have already been handled\n\t\t\t\t\t */\n\t\t\t\t\tconst workItem = workItems[0];\n\t\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t\t...normalizeInboxPayload(workItem, userPreferences),\n\t\t\t\t\t\turl: 'now/workspace/agent/inbox',\n\t\t\t\t\t\ttype: TYPE\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ACTIVELY_FETCH_WORK_ITEM_FAILURE]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Error featching existing work items');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","export const FETCH_WORK_ITEM_QUERY = `\nquery {\n\tGlideInboxAWA_Query {\n\t\tinboxItem {\n\t\t\tworkItemRefetchTime\n\t\t\tworkItemFetchStrategy\n\t\t\tmaxWorkItemFetchAttempts\n\t\t\tserverTime\n\t\t\tresults{\n\t\t\t\tassignmentRule{\n\t\t\t\t\tpresenceAfterTimeout\n\t\t\t\t\tsysID\n\t\t\t\t\treassignOnTimeOut\n\t\t\t\t\tnumericTimeout\n\t\t\t\t}\n\t\t\t\tserviceChannel{\n\t\t\t\t\tworkItemCondition\n\t\t\t\t\tsysID\n\t\t\t\t\tassignToField\n\t\t\t\t\tactive\n\t\t\t\t\tshortDescription\n\t\t\t\t\tupdatedOn\n\t\t\t\t\ttype\n\t\t\t\t\tworkItemTable\n\t\t\t\t\tassignmentGroupField\n\t\t\t\t\tname\n\t\t\t\t\torder\n\t\t\t\t\tinboxAlertAudioName\n\t\t\t\t\tmessageAlertAudioName\n\t\t\t\t}\n\t\t\t\tworkItem{\n\t\t\t\t\tdocument_sys_id\n\t\t\t\t\tupdated_on\n\t\t\t\t\tdismissed\n\t\t\t\t\tactive\n\t\t\t\t\tqueue_sys_id\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tsys_id\n\t\t\t\t\tassigned_to_display_value\n\t\t\t\t\toffered_on\n\t\t\t\t\tcreated_on\n\t\t\t\t\tallocated_by_display_value\n\t\t\t\t\tdocument_table\n\t\t\t\t\tstate\n\t\t\t\t\tallocated_by\n\t\t\t\t\tassigned_to\n\t\t\t\t}\n\t\t\t\tdocumentDisplayValue\n\t\t\t\tchannelSysID\n\t\t\t\ttypeName\n\t\t\t\tcanReadDocument\n\t\t\t\tfieldValues{\n\t\t\t\t\tkeyName\n\t\t\t\t\tvalue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport const FETCH_EXISTING_NOTIFICATIONS_QUERY = `\n\tquery($condition: String, $offset: Int, $limit: Int) {\n\t  GlideRecord_Query {\n\t\tui_notification_inbox(queryConditions: $condition, pagination: {limit: $limit, offset: $offset}) {\n\t\t  _rowCount\n\t\t  _results {\n\t\t\tsys_id {\n\t\t\t  value\n\t\t\t}\n\t\t\tsys_created_on {\n\t\t\t  value\n\t\t\t}\n\t\t\tpayload {\n\t\t\t  value\n\t\t\t}\n\t\t\ttarget_table{\n\t\t\t  value\n\t\t\t}\n\t\t\ttarget {\n\t\t\t  value\n\t\t\t}\n\t\t\ttrigger {\n\t\t\t  value\n\t\t\t}\n\t\t\ttriggered_by {\n\t\t\t  value\n\t\t\t  displayValue\n\t\t\t}\n\t\t\tstatus {\n\t\t\t\tvalue\n\t\t\t}\n\t\t\troute {\n\t\t\t\tvalue\n\t\t\t}\n\t\t  }\n\t\t}\n\t  }\n\t}\n`;\n\n/**\n * Batch update for alerts.\n *\n * Each batched request must be aliased with a unique variable name currently. Hence the \"update_{{sys_id}}: \" portion\n * below.\n * @type {string}\n */\nexport const UPDATE_EXISTING_NOTIFICATIONS_QUERY = `\n\tmutation {\n\t\tGlideRecord_Mutation {\n\t\t\t{{#items}}\n\t\t\t\tupdate_{{sysId}}: update_ui_notification_inbox(sys_id: \"{{sysId}}\", status: \"{{status}}\") {\n\t\t\t\t\tsys_id {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\tsys_created_on {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\tpayload {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttarget_table{\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttarget {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttriggered_by {\n\t\t\t\t\t  value\n\t\t\t\t\t  displayValue\n\t\t\t\t\t}\n\t\t\t\t\tstatus {\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t{{/items}}\n\t\t}\n\t}\n`;\n\nexport const FETCH_NOTIFICATION_COUNT_QUERY = `query($condition: String) {\n\tGlideAggregate_Query(tableName: \"ui_notification_inbox\", queryConditions: $condition) {\n\t\tcount\n\t}\n}\n`;\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {get} from 'lodash';\n\nimport {UI_NOTIFICATIONS} from './actions';\nimport {\n\tFETCH_EXISTING_NOTIFICATIONS_QUERY,\n\tUPDATE_EXISTING_NOTIFICATIONS_QUERY,\n\tFETCH_NOTIFICATION_COUNT_QUERY\n} from './graphQL';\nimport {\n\tEXISTING_NOTIFICATIONS_SET,\n\tFETCH_MORE_NOTIFICATIONS_REQUESTED,\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFY_REQUESTED,\n\tUNREAD_NOTIFICATIONS_COUNT_SET,\n\tFETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED\n} from '../actions';\n\nimport * as chromeNotificationUtils from '../utils/utils';\nimport {buildAlertItem} from '../utils/buildAlertItem';\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\nimport {getClassicSysId} from '../../../components/sn-polaris-header/utils/selectedContentUtil';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../schedule-for-page-load-behavior/actions';\n\nconst {\n\tSUBSCRIBE_MESSAGE_RECEIVED,\n\tSUBSCRIBE_REQUESTED,\n\tSUBSCRIBE_SUCCEEDED,\n\tSUBSCRIBE_FAILED,\n\tFETCH_EXISTING_NOTIFICATIONS_REQUESTED,\n\tFETCH_EXISTING_NOTIFICATIONS_SUCCEEDED,\n\tFETCH_EXISTING_NOTIFICATIONS_FAILED,\n\tUPDATE_EXISTING_NOTIFICATIONS_REQUESTED,\n\n\tQUERY_NOTIFICATION_COUNT_SUCCEEDED,\n\tQUERY_NOTIFICATION_COUNT_ERROR\n} = UI_NOTIFICATIONS;\n\nconst PAGE_SIZE = 20;\nconst AGENT_WORKSPACE_ROUTE = 'cb1af195872023002941b53046cb0b4e';\nconst NEXT_EXPERIENCE_ROUTE = 'bccd1214533201107cd3ddeeff7b1289';\n\nconst normalizeUINotificationPayload = (notification) => {\n\tconst {\n\t\ttitle,\n\t\tmessage,\n\t\tactionName,\n\t\tactionPayload,\n\t\tinfoIcon: icon,\n\t\ttable,\n\t\tsys_id: recordSysId,\n\t\ttagline,\n\t\ttime_stamp: timestamp,\n\t\troute,\n\t\ttrigger,\n\t\tnotify\n\t} = notification;\n\n\treturn {\n\t\tisRead: notification.is_read,\n\t\t// TODO: Remove if we want inbox in bell menu later\n\t\tsource: 'ui_notifications',\n\t\tsysId:\n\t\t\tnotification.alert_sys_id /* || notification.route?.value; //TODO: Fix when remapping amb data*/,\n\t\ttarget: recordSysId,\n\t\trecordSysId,\n\t\ttable,\n\t\ttimestamp,\n\t\ttriggeredBy: notification.triggered_by,\n\n\t\tnotify,\n\t\t// Needed by NotificationToast\n\t\t// tagline is the record display value, which is the id in notification toast... ???\n\t\tid: tagline || recordSysId || '',\n\t\trecordType: table,\n\t\ttitle,\n\t\tmessage,\n\t\tactionName,\n\t\tactionPayload,\n\t\troute,\n\t\ttrigger,\n\t\ticon\n\t};\n};\n\nconst buildAlertSubscriptionFilter = (sysId) => {\n\tconst filter = `recipient=${sysId}^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status=new`;\n\treturn btoa(filter).replace(/=/g, '-');\n};\n\nconst subscribeNotificationsEffect = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeSucceededActionType: SUBSCRIBE_SUCCEEDED,\n\t\tsubscribeFailedActionType: SUBSCRIBE_FAILED,\n\t\tmessageReceivedActionType: SUBSCRIBE_MESSAGE_RECEIVED\n\t}\n);\n\nexport default {\n\ttype: 'uiNotifications',\n\trequiredPlugins: [],\n\tregister: ({dispatch, properties}) => {\n\t\tif (!properties.userSession?.isLoggedIn) return;\n\n\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\tdispatch(SUBSCRIBE_REQUESTED, {\n\t\t\ttable: 'ui_notification_inbox',\n\t\t\tfilter: buildAlertSubscriptionFilter(sysId),\n\t\t\tsubscribe: true\n\t\t});\n\t},\n\tactionHandlers: {\n\t\t[SUBSCRIBE_REQUESTED]: subscribeNotificationsEffect,\n\t\t[SUBSCRIBE_MESSAGE_RECEIVED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {uiNotificationsMeta = {}},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst missingPayload = !get(payload, 'data.record.payload', false);\n\t\t\t\tif (missingPayload) return;\n\t\t\t\tconst changedRecordSysId = get(payload, 'data.record.target.value');\n\t\t\t\tconst route = get(payload, 'data.record.route.value');\n\t\t\t\tconst trigger = get(payload, 'data.record.trigger.value');\n\t\t\t\tconst seismicRecordSysId = get(\n\t\t\t\t\tproperties,\n\t\t\t\t\t'selectedContent.fields.sysId'\n\t\t\t\t);\n\t\t\t\tconst classicRecordSysId = getClassicSysId(properties.selectedContent);\n\t\t\t\t/*\n\t\t\t\t *  If the user is currently on the Seismic or classic page for the record that the\n\t\t\t\t *  notification is regarding then ignore the notification\n\t\t\t\t */\n\t\t\t\tif (seismicRecordSysId && seismicRecordSysId === changedRecordSysId)\n\t\t\t\t\treturn;\n\t\t\t\t// same for classic\n\t\t\t\tif (classicRecordSysId && classicRecordSysId === changedRecordSysId)\n\t\t\t\t\treturn;\n\n\t\t\t\tconst rawAlert = {\n\t\t\t\t\t...get(payload, 'data.record', {}),\n\t\t\t\t\tsys_id: {\n\t\t\t\t\t\tvalue: get(payload, 'data.sys_id', {})\n\t\t\t\t\t},\n\t\t\t\t\troute,\n\t\t\t\t\ttrigger\n\t\t\t\t};\n\n\t\t\t\tif (get(rawAlert, 'status.value') === 'deleted') return;\n\n\t\t\t\tconst {alertPayload} = chromeNotificationUtils.getTransformedAlert(\n\t\t\t\t\trawAlert\n\t\t\t\t);\n\n\t\t\t\tconst uiNotificationBannersOn = getBooleanPreferenceValue(\n\t\t\t\t\tproperties.userPreferences,\n\t\t\t\t\t'workspace.notifications.showPopups'\n\t\t\t\t);\n\n\t\t\t\tconst notify = uiNotificationBannersOn;\n\n\t\t\t\tconst userSysId = properties.userMeta?.sys_id || '';\n\t\t\t\tconst builtAlertItem = buildAlertItem(alertPayload, userSysId);\n\t\t\t\tif (builtAlertItem === null) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\"Couldn't build a notification. It was likely malformed or missing data.\"\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst alertItem = {...builtAlertItem, notify};\n\n\t\t\t\tconst {\n\t\t\t\t\tdeleteQueue = [],\n\t\t\t\t\tqueue = [],\n\t\t\t\t\toffset = 0,\n\t\t\t\t\ttotalRowCount\n\t\t\t\t} = uiNotificationsMeta;\n\n\t\t\t\tconst {\n\t\t\t\t\talertsToKeep,\n\t\t\t\t\talertsToDelete\n\t\t\t\t} = chromeNotificationUtils.purgeOldAlerts(queue, alertItem, {\n\t\t\t\t\tdeleteQueue\n\t\t\t\t});\n\n\t\t\t\tconst normalizedNotification = normalizeUINotificationPayload(\n\t\t\t\t\talertItem,\n\t\t\t\t\tuserSysId\n\t\t\t\t);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'uiNotificationsMeta',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tqueue: alertsToKeep,\n\t\t\t\t\t\tdeleteQueue: alertsToDelete,\n\t\t\t\t\t\toffset: offset + 1,\n\t\t\t\t\t\ttotalRowCount: totalRowCount + 1\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'assign'\n\t\t\t\t});\n\n\t\t\t\t// Delete any duplicates\n\t\t\t\tif (alertsToDelete.length) {\n\t\t\t\t\tdispatch(NOTIFICATIONS_CLEARED, {\n\t\t\t\t\t\titems: alertsToDelete.map((sysId) => ({sysId})),\n\t\t\t\t\t\tfromDeletingDuplicates: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t...normalizedNotification,\n\t\t\t\t\tisDesktopNotification: false\n\t\t\t\t});\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: alertsToKeep.map((n) =>\n\t\t\t\t\t\tnormalizeUINotificationPayload(n, userSysId)\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_SUCCEEDED]: {\n\t\t\teffect: ({dispatch, properties}) => {\n\t\t\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\t\t\tconst condition = `recipient=${sysId}^sys_created_on>=javascript:gs.beginningOfLast7Days()^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status!=deleted^ORDERBYDESCsys_created_on`;\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(FETCH_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\t\t\tcondition,\n\t\t\t\t\t\t\tlimit: PAGE_SIZE,\n\t\t\t\t\t\t\toffset: 0\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_FAILED]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Error: Subscribing to UI Notifications');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FETCH_EXISTING_NOTIFICATIONS_REQUESTED]: createGraphQLEffect(\n\t\t\tFETCH_EXISTING_NOTIFICATIONS_QUERY,\n\t\t\t{\n\t\t\t\tvariableList: ['condition', 'limit', 'offset'],\n\t\t\t\tsuccessActionType: FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED,\n\t\t\t\terrorActionType: FETCH_EXISTING_NOTIFICATIONS_FAILED\n\t\t\t}\n\t\t),\n\t\t[FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED]: createGraphQLEffect(\n\t\t\tFETCH_NOTIFICATION_COUNT_QUERY,\n\t\t\t{\n\t\t\t\tvariableList: ['condition'],\n\t\t\t\tsuccessActionType: QUERY_NOTIFICATION_COUNT_SUCCEEDED,\n\t\t\t\terrorActionType: QUERY_NOTIFICATION_COUNT_ERROR\n\t\t\t}\n\t\t),\n\t\t[FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {uiNotificationsMeta = {}, isFetchingUnreadCount},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst existingUINotifications =\n\t\t\t\t\tpayload?.data?.GlideRecord_Query?.ui_notification_inbox?._results ||\n\t\t\t\t\t[];\n\n\t\t\t\tconst totalRowCount =\n\t\t\t\t\tpayload?.data?.GlideRecord_Query?.ui_notification_inbox?._rowCount ||\n\t\t\t\t\t0;\n\n\t\t\t\tconst {deleteQueue = [], queue = [], offset = 0} = uiNotificationsMeta;\n\n\t\t\t\tconst newOffset = offset + existingUINotifications.length;\n\n\t\t\t\tconst userSysId = properties.userMeta?.sys_id || '';\n\n\t\t\t\t// Get all current notifications\n\t\t\t\tconst {\n\t\t\t\t\talertsToKeep,\n\t\t\t\t\talertsToDelete\n\t\t\t\t} = chromeNotificationUtils.purgeOldAlerts2(\n\t\t\t\t\tqueue,\n\t\t\t\t\texistingUINotifications,\n\t\t\t\t\t{deleteQueue},\n\t\t\t\t\tuserSysId\n\t\t\t\t);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tuiNotificationsMeta: {\n\t\t\t\t\t\tqueue: alertsToKeep,\n\t\t\t\t\t\tdeleteQueue: alertsToDelete,\n\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\ttotalRowCount\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Delete any duplicates\n\t\t\t\tif (alertsToDelete.length) {\n\t\t\t\t\tdispatch(NOTIFICATIONS_CLEARED, {\n\t\t\t\t\t\titems: alertsToDelete.map((sysId) => ({sysId})),\n\t\t\t\t\t\tfromDeletingDuplicates: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: alertsToKeep.map((n) =>\n\t\t\t\t\t\tnormalizeUINotificationPayload(n, userSysId)\n\t\t\t\t\t)\n\t\t\t\t});\n\n\t\t\t\tif (!isFetchingUnreadCount) {\n\t\t\t\t\tconst unreadConditional = chromeNotificationUtils.unreadNotificationCountConditional(\n\t\t\t\t\t\tuserSysId,\n\t\t\t\t\t\tproperties.userMeta.timeZoneOffset\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED, {\n\t\t\t\t\t\tcondition: unreadConditional\n\t\t\t\t\t});\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisFetchingUnreadCount: true,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FETCH_MORE_NOTIFICATIONS_REQUESTED]: ({\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate: {uiNotificationsMeta = {}}\n\t\t}) => {\n\t\t\tconst {offset, totalRowCount} = uiNotificationsMeta;\n\n\t\t\t// don't request if we're at the current limit\n\t\t\tif (offset >= totalRowCount) return;\n\n\t\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\t\tconst condition = `recipient=${sysId}^sys_created_on>=javascript:gs.beginningOfLast7Days()^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status!=deleted^ORDERBYDESCsys_created_on`;\n\n\t\t\tdispatch(FETCH_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\tcondition,\n\t\t\t\tlimit: PAGE_SIZE,\n\t\t\t\toffset\n\t\t\t});\n\t\t},\n\t\t[UPDATE_EXISTING_NOTIFICATIONS_REQUESTED]: createGraphQLEffect(\n\t\t\tUPDATE_EXISTING_NOTIFICATIONS_QUERY,\n\t\t\t{\n\t\t\t\ttemplateVarList: ['items']\n\t\t\t}\n\t\t),\n\t\t[QUERY_NOTIFICATION_COUNT_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, dispatch, updateState} = coeffects;\n\t\t\t\tconst totalRowCount =\n\t\t\t\t\taction.payload.data.GlideAggregate_Query[0].count || 0;\n\t\t\t\tdispatch(UNREAD_NOTIFICATIONS_COUNT_SET, {\n\t\t\t\t\tunreadCount: totalRowCount\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tisFetchingUnreadCount: false,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_NOTIFICATION_COUNT_ERROR]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {updateState} = coeffects;\n\t\t\t\tupdateState({\n\t\t\t\t\tisFetchingUnreadCount: false,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {t} from 'sn-translate';\nimport track from '../../utils/track';\n\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\nimport {\n\tEXISTING_NOTIFICATIONS_SET,\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFICATION_OPENED,\n\tNOTIFY_REQUESTED,\n\tNOTIFICATION_MENU_OPENED,\n\tUNREAD_NOTIFICATIONS_COUNT_SET,\n\tNOTIFICATION_TOAST_CLEARED\n} from './actions';\nimport inboxPublisher from './publisher/inbox';\nimport uiNotificationsPublisher from './publisher/uiNotifications';\nimport util from './util';\nimport {pick, get, differenceWith} from 'lodash';\nimport {\n\tBEHAVIOR_NAME,\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATION_CURRENT_SYSID_PATH,\n\tNOTIFICATION_OBJECT_KEYS,\n\tNOTIFICATION_UNREAD_STATE_PATH\n} from './constants';\nimport isPluginEnabled from '../../utils/isPluginEnabled';\nimport {\n\tCLASSIC,\n\tPOLARIS_CONTEXT,\n\tMETRICS,\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tRECORD\n} from '../../constants';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\n\nimport {UI_NOTIFICATIONS} from './publisher/actions';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\n\nconst {UPDATE_EXISTING_NOTIFICATIONS_REQUESTED} = UI_NOTIFICATIONS;\n\n// Generate unique tab ID for multi-tab notification coordination\nconst TAB_ID = `${Date.now()}-${Math.floor(Math.random() * 1000)}`;\n\n// BroadcastChannel for cross-tab communication\nlet notificationChannel = null;\nlet isBroadcastChannelAvailable = false;\n\ntry {\n\tnotificationChannel = new BroadcastChannel('desktop-notifications');\n\tisBroadcastChannelAvailable = true;\n} catch (error) {\n\t// eslint-disable-next-line no-console\n\tconsole.warn(\n\t\t'BroadcastChannel not available, falling back to direct notifications:',\n\t\terror\n\t);\n}\n\n// File-level coordination state\n// Map structure: notificationId -> { tabIds: [], alreadyNotified: false, timestamp: number }\nlet notificationMap = new Map();\n\nlet cleanupIntervalId = null;\n\nfunction startCleanupInterval() {\n\tif (cleanupIntervalId !== null) return;\n\tcleanupIntervalId = setInterval(() => {\n\t\tutil.cleanupExpiredEntries(notificationMap);\n\t\tif (notificationMap.size === 0) {\n\t\t\tclearInterval(cleanupIntervalId);\n\t\t\tcleanupIntervalId = null;\n\t\t}\n\t}, util.CLEANUP_INTERVAL_MS);\n}\n\n// Set up listener for tab candidates at module level to avoid race conditions\nif (isBroadcastChannelAvailable) {\n\tnotificationChannel.addEventListener('message', (event) => {\n\t\tconst {type, tabId, notificationId} = event.data;\n\n\t\tif (type === 'tab-candidate') {\n\t\t\t// Initialize entry for this notification if it doesn't exist\n\t\t\tif (!notificationMap.has(notificationId)) {\n\t\t\t\tnotificationMap.set(notificationId, {\n\t\t\t\t\ttabIds: [],\n\t\t\t\t\talreadyNotified: false,\n\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t});\n\t\t\t\tstartCleanupInterval();\n\t\t\t}\n\t\t\t// Only add the tabId if it's not already in the list (prevents duplicates from same tab)\n\t\t\tconst tabIds = notificationMap.get(notificationId).tabIds;\n\t\t\tif (!tabIds.includes(tabId)) {\n\t\t\t\ttabIds.push(tabId);\n\t\t\t}\n\t\t} else if (type === 'notification-handled') {\n\t\t\t// Mark that this notification has already been handled by a tab\n\t\t\tif (notificationMap.has(notificationId)) {\n\t\t\t\tnotificationMap.get(notificationId).alreadyNotified = true;\n\t\t\t}\n\t\t}\n\t});\n}\n\nconst setNotificationAsToast = (coeffect, notificationItem) => {\n\tconst {updateState} = coeffect;\n\tupdateState({\n\t\tpath: NOTIFICATION_CURRENT_SYSID_PATH,\n\t\tvalue: notificationItem.sysId,\n\t\toperation: 'set'\n\t});\n};\n\nconst dismissAllNotificationToasts = ({updateState}) => {\n\tupdateState([\n\t\t{\n\t\t\toperation: 'set',\n\t\t\tpath: NOTIFICATION_CURRENT_SYSID_PATH,\n\t\t\tvalue: null\n\t\t}\n\t]);\n};\n\nconst notificationPublishers = [inboxPublisher, uiNotificationsPublisher];\n\n// TODO: Point to classic route until we figure out routing to different\n// \t\t experiences / workspace\nconst getUrl = (table, sysId) => `${table}.do?sys_id=${sysId}`;\n\nfunction isPublisherPluginsEnabled(enabledPlugins, publisher) {\n\treturn publisher.requiredPlugins.every((pluginName) =>\n\t\tisPluginEnabled(enabledPlugins, pluginName)\n\t);\n}\n\nfunction desktopNotification(notificationPayload, dispatch, currentRoute) {\n\tif (Notification.permission === 'granted') {\n\t\tfireDesktopNotification(notificationPayload, dispatch, currentRoute);\n\t\t// Ask to turn on notification if turned off already\n\t} else if (Notification.permission !== 'denied') {\n\t\tNotification.requestPermission().then((result) => {\n\t\t\tif (result === 'granted') {\n\t\t\t\tfireDesktopNotification(notificationPayload, dispatch, currentRoute);\n\t\t\t}\n\t\t});\n\t}\n}\n\n// Right now we only support inbox for desktop notifications\nfunction fireDesktopNotification(notificationPayload, dispatch, currentRoute) {\n\tlet {message, id, feature} = notificationPayload;\n\tid = id || 'sn-desktop-notification';\n\n\t// If BroadcastChannel is not available, fire notification directly without coordination\n\tif (!isBroadcastChannelAvailable) {\n\t\tconst notification = new Notification(message, {\n\t\t\ttag: id,\n\t\t\ticon: '/favicon.ico',\n\t\t\trenotify: true\n\t\t});\n\n\t\tnotification.onclick = function() {\n\t\t\twindow.focus();\n\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\tnavType: 'EXPERIENCE_ONLY',\n\t\t\t\tfeature\n\t\t\t});\n\n\t\t\tnotification.close();\n\t\t};\n\t\treturn;\n\t}\n\n\tconst currentTabIdAndRoute = `${TAB_ID}---${currentRoute}`;\n\n\t// Initialize entry for this notification if it doesn't exist\n\tif (!notificationMap.has(id)) {\n\t\tnotificationMap.set(id, {\n\t\t\ttabIds: [],\n\t\t\talreadyNotified: false,\n\t\t\ttimestamp: Date.now()\n\t\t});\n\t\tstartCleanupInterval();\n\t}\n\n\t// Add this tab to the candidates\n\tnotificationMap.get(id).tabIds.push(currentTabIdAndRoute);\n\n\t// Broadcast this tab's candidacy\n\tnotificationChannel.postMessage({\n\t\ttype: 'tab-candidate',\n\t\ttabId: currentTabIdAndRoute,\n\t\tnotificationId: id\n\t});\n\n\t// Wait to collect responses from all tabs\n\tsetTimeout(() => {\n\t\tconst notificationData = notificationMap.get(id);\n\n\t\t// If another tab already handled this notification, don't fire\n\t\tif (!notificationData || notificationData.alreadyNotified) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine winner (prioritize inbox tabs, then newest tab ID)\n\t\tconst sortedTabIds = util.sortTabIdsByPriority(\n\t\t\tnotificationData.tabIds,\n\t\t\tfeature\n\t\t);\n\t\tconst winnerTabId = sortedTabIds[0];\n\n\t\t// Only fire notification if this tab is the winner\n\t\tif (winnerTabId === currentTabIdAndRoute) {\n\t\t\t// Mark as handled and broadcast to other tabs\n\t\t\tnotificationData.alreadyNotified = true;\n\t\t\tnotificationChannel.postMessage({\n\t\t\t\ttype: 'notification-handled',\n\t\t\t\tnotificationId: id\n\t\t\t});\n\n\t\t\tconst notification = new Notification(message, {\n\t\t\t\ttag: id,\n\t\t\t\ticon: '/favicon.ico',\n\t\t\t\trenotify: true\n\t\t\t});\n\n\t\t\tnotification.onclick = function() {\n\t\t\t\twindow.focus();\n\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\tnavType: 'EXPERIENCE_ONLY',\n\t\t\t\t\tfeature\n\t\t\t\t});\n\n\t\t\t\tnotification.close();\n\t\t\t};\n\t\t}\n\t}, 500);\n}\n\nfunction webNotification({\n\taction,\n\tupdateState,\n\tdispatch,\n\tproperties: {userPreferences}\n}) {\n\tconst notificationItem = pick(action.payload, NOTIFICATION_OBJECT_KEYS);\n\n\tconst uiNotificationBannersOn = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\t'workspace.notifications.showPopups',\n\t\ttrue\n\t);\n\tconst isUiNotification = notificationItem.source === 'ui_notifications';\n\tconst notify = !isUiNotification || uiNotificationBannersOn;\n\n\tif (notify) {\n\t\tsetNotificationAsToast({updateState, dispatch}, notificationItem);\n\t}\n}\n\nconst getDayTitle = (acctualDate) => {\n\tconst isToday = (a, b = new Date()) =>\n\t\ta.getDate() === b.getDate() &&\n\t\ta.getMonth() === b.getMonth() &&\n\t\ta.getFullYear() === b.getFullYear();\n\n\tconst today = new Date();\n\tconst yesterday = isToday(\n\t\tacctualDate,\n\t\tnew Date(today.setDate(today.getDate() - 1))\n\t);\n\treturn isToday(acctualDate) ? 'Today' : yesterday ? 'Yesterday' : 'Older';\n};\n\nconst daysBetween = (baseDate, actualDate) => {\n\tconst normalizedBaseDate = new Date(baseDate.getTime());\n\tnormalizedBaseDate.setHours(0, 0, 0);\n\tconst normalizedActualDate = new Date(actualDate.getTime());\n\tnormalizedActualDate.setHours(0, 0, 0);\n\n\tconst DAY = 24 * 60 * 60 * 1000;\n\tconst diff = normalizedBaseDate.getTime() - normalizedActualDate.getTime();\n\treturn (diff >= 0 || -1) * Math.round(Math.abs(diff / DAY));\n};\n\nconst getTime = (date) => {\n\tlet hh = date.getHours(),\n\t\tmm = date.getMinutes();\n\tlet suffix = 'AM';\n\tif (hh > 12) {\n\t\thh -= 12;\n\t\tsuffix = 'PM';\n\t}\n\tif (mm < 10) {\n\t\tmm = `0${mm}`;\n\t}\n\treturn `${hh}:${mm} ${suffix}`;\n};\n\nconst getWords = (date, daysDiff) => {\n\tconst baseDate = new Date(Date.now());\n\tconst diffMills = baseDate - date;\n\n\tconst seconds = diffMills / 1000;\n\tconst minutes = seconds / 60;\n\tconst hours = minutes / 60;\n\n\tlet words = '';\n\tif (daysDiff === 0) {\n\t\tif (seconds < 60) words = t('just now');\n\t\telse if (minutes < 60) words = t('{0}m ago', Math.floor(minutes));\n\t\telse if (hours < 24) words = t('{0}h ago', Math.floor(hours));\n\t} else if (daysDiff === 1) {\n\t\twords = getTime(date);\n\t} else if (daysDiff > 1 && daysDiff <= 7) {\n\t\twords = t('{0}d ago', daysDiff);\n\t} else {\n\t\twords = 'Older than 7 days'; // Shouldn't see this\n\t}\n\n\treturn words;\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tnotifications: [],\n\t\tunreadCount: 0\n\t},\n\tactionHandlers: {\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, state} = coeffects;\n\n\t\t\t\tif (!state.isNotificationsEnabled) return;\n\n\t\t\t\tconst {enabledPlugins} = action.payload;\n\n\t\t\t\tif (!enabledPlugins) return;\n\n\t\t\t\tconst enabledPublishers = notificationPublishers.filter((publisher) =>\n\t\t\t\t\tisPublisherPluginsEnabled(enabledPlugins, publisher)\n\t\t\t\t);\n\n\t\t\t\tenabledPublishers.forEach((publisher) => publisher.register(coeffects));\n\t\t\t}\n\t\t},\n\t\t[NOTIFICATION_TOAST_CLEARED]: {\n\t\t\teffect: dismissAllNotificationToasts,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t/* Expected Payload\n\t\t\t{ title, message, url, icon, notified }\n\t\t*/\n\t\t[NOTIFY_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tproperties: {selectedContent},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\tconst payload = coeffects?.action?.payload;\n\t\t\t\tif (payload?.isDesktopNotification) {\n\t\t\t\t\tconst currentRoute = selectedContent?.route;\n\t\t\t\t\tdesktopNotification(payload, dispatch, currentRoute);\n\t\t\t\t} else if (payload?.type !== 'inbox') {\n\t\t\t\t\twebNotification(coeffects);\n\t\t\t\t}\n\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tconst metadata = {\n\t\t\t\t\ttitle: payload.title,\n\t\t\t\t\tsysId: payload.sysId,\n\t\t\t\t\texperience: context.experienceName\n\t\t\t\t};\n\t\t\t\ttrack(coeffects, METRICS.ALERT_NEW_NOTIFICATION, metadata);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EXISTING_NOTIFICATIONS_SET]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {notifications}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: NOTIFICATION_STATE_PATH,\n\t\t\t\t\tvalue: notifications,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATION_OPENED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\t// 1. open url or fire notification action\n\t\t\t\t// 2. set notification as read\n\t\t\t\t// 3. close notifications\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {sysId, recordSysId, table, actionName, actionPayload}\n\t\t\t\t\t},\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties: {selectedContent},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\t// context will get updated by UXR routing logic action GLOBAL_NAVIGATION_REQUESTED\n\n\t\t\t\tif (actionName) {\n\t\t\t\t\t// -- Fire Notiifcaitons Action\n\t\t\t\t\tdispatch(actionName, actionPayload);\n\t\t\t\t} else {\n\t\t\t\t\t// -- Open url\n\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId: recordSysId,\n\t\t\t\t\t\t\ttarget: getUrl(table, recordSysId)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfallbackRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: getUrl(table, recordSysId)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst notifications = get(state, NOTIFICATION_STATE_PATH);\n\t\t\t\tconst notification = notifications.find((n) => n.sysId === sysId);\n\t\t\t\tconst timestamp = notification.timestamp;\n\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\tconst baseDate = new Date(Date.now());\n\t\t\t\tconst daysDiff = daysBetween(baseDate, _date);\n\n\t\t\t\tconst updatedNotifications = notifications.map((n) =>\n\t\t\t\t\tn.sysId === sysId ? {...n, isRead: true} : n\n\t\t\t\t);\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\trank: notifications.findIndex((n) => n.sysId === sysId) + 1,\n\t\t\t\t\tstatus: notification.isRead ? 'Read' : 'Unread',\n\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\ttitle: notification.title,\n\t\t\t\t\trecency: getWords(_date, daysDiff),\n\t\t\t\t\texperience: context.experienceName,\n\t\t\t\t\tsysId: sysId\n\t\t\t\t};\n\t\t\t\ttrack(coeffects, METRICS.SELECT_NOTIFICATION, metadata);\n\n\t\t\t\tdispatch(UPDATE_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\titems: [{sysId, status: 'read'}]\n\t\t\t\t});\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: updatedNotifications\n\t\t\t\t});\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\tdispatch(NOTIFICATION_TOAST_CLEARED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UNREAD_NOTIFICATIONS_COUNT_SET]: {\n\t\t\teffect: ({action, updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: NOTIFICATION_UNREAD_STATE_PATH,\n\t\t\t\t\tvalue: action.payload.unreadCount,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATIONS_CLEARED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\titems,\n\t\t\t\t\t\t\tcloseBellMenu = false,\n\t\t\t\t\t\t\tfromDeletingDuplicates = false\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!items.length) return;\n\n\t\t\t\tconst notifications = get(state, NOTIFICATION_STATE_PATH);\n\t\t\t\tdispatch(UPDATE_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\titems: items.map(({sysId}) => ({sysId, status: 'deleted'}))\n\t\t\t\t});\n\n\t\t\t\t// Deleting duplicates handles setting this on their own\n\t\t\t\tif (!fromDeletingDuplicates) {\n\t\t\t\t\tconst updatedNotifications = differenceWith(\n\t\t\t\t\t\tnotifications,\n\t\t\t\t\t\titems,\n\t\t\t\t\t\t(a, b) => a.sysId === b.sysId\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\t\tnotifications: updatedNotifications\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst newOffset = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\t(state.uiNotificationsMeta?.offset || 0) - items.length\n\t\t\t\t);\n\n\t\t\t\tconst newTotalRowCount = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\t(state.uiNotificationsMeta?.totalRowCount || 0) - items.length\n\t\t\t\t);\n\t\t\t\tdismissAllNotificationToasts({updateState, properties, dispatch});\n\n\t\t\t\t// TODO: refactor to have like, one source of truth\n\t\t\t\tconst newQueue = differenceWith(\n\t\t\t\t\tstate.uiNotificationsMeta?.queue,\n\t\t\t\t\titems,\n\t\t\t\t\t(a, b) => a.alert_sys_id === b.sysId\n\t\t\t\t);\n\n\t\t\t\tlet metadata = {};\n\t\t\t\tif (items.length === 1) {\n\t\t\t\t\tconst notification = notifications.find(\n\t\t\t\t\t\t(n) => n.sysId === items[0].sysId\n\t\t\t\t\t);\n\t\t\t\t\tif (notification && notification.length > 0) {\n\t\t\t\t\t\tconst timestamp = notification.timestamp;\n\t\t\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\t\t\tconst baseDate = new Date(Date.now());\n\t\t\t\t\t\tconst daysDiff = daysBetween(baseDate, _date);\n\n\t\t\t\t\t\tmetadata = {\n\t\t\t\t\t\t\trank:\n\t\t\t\t\t\t\t\tnotifications.findIndex((n) => n.sysId === notification.sysId) +\n\t\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t\tstatus: notification.isRead,\n\t\t\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\t\t\ttitle: notification.title,\n\t\t\t\t\t\t\trecency: getWords(_date, daysDiff),\n\t\t\t\t\t\t\texperience: properties?.selectedContent?.context?.experienceName,\n\t\t\t\t\t\t\tsysId: notification.sysId\n\t\t\t\t\t\t};\n\t\t\t\t\t\ttrack(coeffects, METRICS.DISMISS_NOTIFICATION, metadata);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst timestamp = notifications[0].timestamp;\n\t\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\t\tmetadata = {\n\t\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\t\tclearCount: items.length\n\t\t\t\t\t};\n\t\t\t\t\ttrack(coeffects, METRICS.CLEAR_NOTIFICATION, metadata);\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'uiNotificationsMeta',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tqueue: newQueue,\n\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\ttotalRowCount: newTotalRowCount\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'assign'\n\t\t\t\t});\n\n\t\t\t\tif (closeBellMenu) dispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATION_MENU_OPENED]: {\n\t\t\teffect: dismissAllNotificationToasts,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t// When we get multiple providers we can filter actionHandlers\n\t\t...inboxPublisher.actionHandlers,\n\t\t...uiNotificationsPublisher.actionHandlers\n\t}\n};\n","/* istanbul ignore file */\n\nimport {\n\tregisterComponent as registerComponentNowTriggerLib,\n\tsetActionState as setActionStateNowTriggerLib\n} from '@servicenow/now-trigger-library';\n\nlet registerComponentSub = [];\nlet setActionStateSub = [];\n\nexport const handleRegisterComponent = (fn) => {\n\tregisterComponentSub.push(fn);\n};\n\nexport const handleSetActionState = (fn) => {\n\tsetActionStateSub.push(fn);\n};\n\nexport const resetAllFunctionsToDefault = () => {\n\tregisterComponentSub = [registerComponentNowTriggerLib];\n\tsetActionStateSub = [setActionStateNowTriggerLib];\n};\n\nexport function registerComponent(...args) {\n\t// Register the component with the trigger library\n\tconst nowTriggerLibRegistrationId = registerComponentNowTriggerLib(...args);\n\n\t// Call other registering functions (used for testing purposes)\n\tfor (let i = 0; i < registerComponentSub.length; i++) {\n\t\tregisterComponentSub[i].apply(null, args);\n\t}\n\n\treturn nowTriggerLibRegistrationId;\n}\n\nexport function setActionState(...args) {\n\t// Set the action state with the trigger library\n\tsetActionStateNowTriggerLib(...args);\n\n\t// Call other setActionState functions (used for testing purposes)\n\tfor (let i = 0; i < setActionStateSub.length; i++) {\n\t\tsetActionStateSub[i].apply(null, args);\n\t}\n}\n","import {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nconst {SET} = declarativeOperations;\nimport get from 'lodash/get';\nimport {\n\tMENU_ALL,\n\tBUTTON_ACTIONS,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES,\n\tMENU_ADMIN,\n\tSYS_PROPS,\n\tTOGGLE_MENU_OPEN,\n\tCONCOURSE_PICKER_MENU_ID,\n\tHELP_MENU_ID,\n\tNOW_ASSIST_MENU_ID,\n\tINSTANCE_TOOLS_ID,\n\tNOTIFICATIONS_ID,\n\tUSER_MENU_ID,\n\tSEARCH_RENDER_STATUS_REPORTED,\n\tINSTANCE_TOOLS_MENU_ID\n} from '../../constants';\nimport {\n\tALL_MENU_FOCUSED_REQUESTED,\n\tIMPERSONATION_OPEN_REQUESTED,\n\tMAIN_CONTENT_FOCUSED,\n\tMAIN_CONTENT_FOCUSED_REQUESTED,\n\tCONTEXTUAL_MENU_SELECTED,\n\tHELP_MENU_FOCUSED_REQUESTED,\n\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED,\n\tOPEN_FRAME_FOCUSED_REQUESTED,\n\tOPEN_LANDING_PAGE_REQUESTED,\n\tFAVORITES_MENU_FOCUSED_REQUESTED,\n\tHISTORY_MENU_FOCUSED_REQUESTED,\n\tWORKSPACES_MENU_FOCUSED_REQUESTED,\n\tNOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\tUSER_MENU_FOCUSED_REQUESTED,\n\tCHAT_MENU_FOCUSED_REQUESTED,\n\tADMIN_MENU_FOCUSED_REQUESTED,\n\tTOOLBAR_FOCUSED_REQUESTED,\n\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MODALS,\n\tFAVORITE_TOGGLE_CURRENT_PAGE,\n\tKEYBOARD_BEHAVIOR_MODAL_OPENED,\n\tPRE_SHORTCUT_CLEANUP_REQUESTED,\n\tPRE_SHORTCUT_CLEANUP_SUCCEEDED,\n\tPRE_SHORTCUT_CLEANUP_FAILED,\n\tTOGGLE_UTILITY_MENU\n} from '../../components/sn-polaris-layout/actions';\nimport {GLOBAL_SEARCH_FOCUSED} from '../../behaviors/search-behavior/actions';\nimport {openHomePage} from '../../utils/openHomePage';\nimport {IMPERSONATION_MODAL_OPENED} from '../impersonation-behavior/actions';\nimport {IMPERSONATION_MODAL_DISMISSED} from '@devsnc/sn-impersonation';\nimport {UTILITY_MENU_UPDATED} from '../utility-menu-behavior/actions';\nimport {\n\tregisterComponent,\n\tsetActionState\n} from '../../utils/keyboard-shortcut-wrapper';\nimport {deregisterComponent} from '@servicenow/now-trigger-library';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {CHAT_MENU_ID} from '../collab-chat-behavior/constants';\nimport {MENU_LOADED} from '../menu-modifier-behavior/actions';\nimport {OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD} from '../openFrameBehavior/actions';\nimport {OPENFRAME_ENABLED} from '../openFrameBehavior';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\nconst KEYBOARD_SHORTCUTS = 'KEYBOARD_SHORTCUTS';\nexport const STATE_PATH_IS_LOGIN_EVALUATED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isLoginShortcutEvaluated';\nexport const STATE_PATH_IMPERSONATE_EVALUATED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isImpersonationEvaluated';\nexport const STATE_PATH_SEARCH_RENDERED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isSearchRendered';\n\nexport default {\n\tname: KEYBOARD_SHORTCUTS,\n\tsetInitialState: () => ({\n\t\tbehaviors: {\n\t\t\t[KEYBOARD_SHORTCUTS]: {\n\t\t\t\tisLoginShortcutEvaluated: false,\n\t\t\t\tisImpersonationEvaluated: false,\n\t\t\t\tisSearchRendered: false\n\t\t\t}\n\t\t},\n\t\tkeyboardShortcutsModalOpened: false,\n\t\trequestToCloseModals: null,\n\t\tnowTriggerLibRegistrationId: null\n\t}),\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {action, host, updateState, state} = coeffects;\n\t\t\tconst {name, value} = action.payload;\n\n\t\t\tconst stillNeedToEvaluate = !get(state, STATE_PATH_IS_LOGIN_EVALUATED);\n\t\t\tif (stillNeedToEvaluate && name === 'userSession' && value.isLoggedIn) {\n\t\t\t\tsetActionState(host?.componentId, USER_MENU_FOCUSED_REQUESTED, true);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: STATE_PATH_IS_LOGIN_EVALUATED,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: SET\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst stillNeedToEvaluateImpersonation = !get(\n\t\t\t\tstate,\n\t\t\t\tSTATE_PATH_IMPERSONATE_EVALUATED\n\t\t\t);\n\t\t\tif (\n\t\t\t\tstillNeedToEvaluateImpersonation &&\n\t\t\t\tname === 'userMeta' &&\n\t\t\t\tvalue?.canImpersonate\n\t\t\t) {\n\t\t\t\tsetActionState(host?.componentId, IMPERSONATION_OPEN_REQUESTED, true);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: STATE_PATH_IMPERSONATE_EVALUATED,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: SET\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {userPreferences, userSession, features},\n\t\t\t\tupdateState,\n\t\t\t\thost,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst keyboardShortcutsEnabled = getBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif (keyboardShortcutsEnabled) {\n\t\t\t\tconst nowTriggerLibRegistrationId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[KEYBOARD_BEHAVIOR_MODAL_OPENED]: ({\n\t\t\t\t\t\t\tstate: {keyboardShortcutsModalOpened}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tif (!keyboardShortcutsModalOpened) {\n\t\t\t\t\t\t\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[GLOBAL_SEARCH_FOCUSED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(GLOBAL_SEARCH_FOCUSED);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[ALL_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_ALL\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[ADMIN_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_ADMIN\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[FAVORITES_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_FAVORITES\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[HISTORY_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_HISTORY\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[WORKSPACES_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_WORKSPACES\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[IMPERSONATION_OPEN_REQUESTED]: ({state: {impersonationOpen}}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tif (!impersonationOpen) {\n\t\t\t\t\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_OPENED);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[MAIN_CONTENT_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(MAIN_CONTENT_FOCUSED);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[HELP_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: HELP_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[OPEN_FRAME_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[NOW_ASSIST_PANEL_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tnapShortcutCommand: {\n\t\t\t\t\t\t\t\t\t\t\tcommand: 'NOW_ASSIST_PANEL_SELECTED',\n\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[VOICE_INPUT_PANEL_FOCUSED_REQUESTED]: ({\n\t\t\t\t\t\t\tstate: {contextualMenuState}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tnapShortcutCommand: {\n\t\t\t\t\t\t\t\t\t\t\tcommand: 'VOICE_INPUT_SELECTED',\n\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[TOOLBAR_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tif (useUtilityBar) {\n\t\t\t\t\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: CONCOURSE_PICKER_MENU_ID\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[NOTIFICATIONS_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: NOTIFICATIONS_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[USER_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\t\t\t\tmenuId: USER_MENU_ID,\n\t\t\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[CHAT_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: CHAT_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[FAVORITE_CURRENT_PAGE_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(FAVORITE_TOGGLE_CURRENT_PAGE);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[OPEN_LANDING_PAGE_REQUESTED]: ({\n\t\t\t\t\t\t\tproperties: {selectedContent, headerLogoTarget}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\topenHomePage({\n\t\t\t\t\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t\t\t\t\theaderLogoTarget,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst defaultToFalse = [\n\t\t\t\t\tALL_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tFAVORITES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tHISTORY_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tWORKSPACES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tADMIN_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tTOOLBAR_FOCUSED_REQUESTED,\n\t\t\t\t\tCHAT_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tNOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tUSER_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\t\t\t\t\tIMPERSONATION_OPEN_REQUESTED,\n\t\t\t\t\tGLOBAL_SEARCH_FOCUSED,\n\t\t\t\t\tHELP_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tOPEN_FRAME_FOCUSED_REQUESTED,\n\t\t\t\t\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\t\t\t\t\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED\n\t\t\t\t];\n\t\t\t\tdefaultToFalse.forEach((key) =>\n\t\t\t\t\tsetActionState(host?.componentId, key, false)\n\t\t\t\t);\n\n\t\t\t\tif (userSession?.isLoggedIn)\n\t\t\t\t\tsetActionState(host?.componentId, USER_MENU_FOCUSED_REQUESTED, true);\n\n\t\t\t\tif (features?.isPolarisEnabled)\n\t\t\t\t\tsetActionState(\n\t\t\t\t\t\thost?.componentId,\n\t\t\t\t\t\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\n\t\t\t\tupdateState({nowTriggerLibRegistrationId});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tstate: {nowTriggerLibRegistrationId}\n\t\t\t} = coeffects;\n\n\t\t\tif (nowTriggerLibRegistrationId && deregisterComponent) {\n\t\t\t\tderegisterComponent(nowTriggerLibRegistrationId);\n\t\t\t\tupdateState({nowTriggerLibRegistrationId: null});\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_REQUESTED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch(CLOSE_MODALS, payload);\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_SUCCEEDED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\t// Clean-up actions\n\t\t\t\tif (!payload?.headerMenu) {\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t\tif (!payload?.contextualMenu) {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t\tpayload?.keyboardShortcutHandler();\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({requestToCloseModals: null});\n\t\t\t}\n\t\t},\n\t\t[MENU_LOADED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tstate: {headerMenuItems}\n\t\t\t} = coeffects;\n\t\t\tconst currentHeaders = headerMenuItems\n\t\t\t\t? headerMenuItems.map(({id}) => id)\n\t\t\t\t: [];\n\t\t\tconst menuMapping = {\n\t\t\t\t[MENU_ALL]: ALL_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_FAVORITES]: FAVORITES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_HISTORY]: HISTORY_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_WORKSPACES]: WORKSPACES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_ADMIN]: ADMIN_MENU_FOCUSED_REQUESTED\n\t\t\t};\n\t\t\tcurrentHeaders.forEach((id) => {\n\t\t\t\tif (menuMapping[id])\n\t\t\t\t\tsetActionState(host?.componentId, menuMapping[id], true);\n\t\t\t});\n\t\t},\n\t\t[UTILITY_MENU_UPDATED]: ({action, host}) => {\n\t\t\tconst menusThatUpdated = action?.payload?.menusThatUpdated;\n\t\t\tconst menuMapping = {\n\t\t\t\t'chat-button': CHAT_MENU_FOCUSED_REQUESTED,\n\t\t\t\t'experience-notifications': NOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\t\t\t\t'help-button': HELP_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[INSTANCE_TOOLS_ID]: TOOLBAR_FOCUSED_REQUESTED\n\t\t\t};\n\t\t\tmenusThatUpdated.forEach((id) => {\n\t\t\t\tid = id === 'concourse-pickers' ? INSTANCE_TOOLS_ID : id;\n\t\t\t\tif (menuMapping[id])\n\t\t\t\t\tsetActionState(host?.componentId, menuMapping[id], true);\n\t\t\t});\n\t\t},\n\t\t[SEARCH_RENDER_STATUS_REPORTED]: ({action, host, updateState, state}) => {\n\t\t\tconst oldIsRenderingSearch = get(state, STATE_PATH_SEARCH_RENDERED);\n\t\t\tconst isRenderingSearch = action?.payload?.isRenderingSearch;\n\t\t\tif (isRenderingSearch !== oldIsRenderingSearch) {\n\t\t\t\tsetActionState(\n\t\t\t\t\thost?.componentId,\n\t\t\t\t\tGLOBAL_SEARCH_FOCUSED,\n\t\t\t\t\tisRenderingSearch\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: STATE_PATH_SEARCH_RENDERED,\n\t\t\t\tvalue: isRenderingSearch,\n\t\t\t\toperation: SET\n\t\t\t});\n\t\t},\n\t\t[BUTTON_ACTIONS.KEYBOARD_SHORTCUT_MODAL]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[KEYBOARD_BEHAVIOR_MODAL_OPENED]: {\n\t\t\teffect: ({updateState, state: {keyboardShortcutsModalOpened}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tkeyboardShortcutsModalOpened: !keyboardShortcutsModalOpened,\n\t\t\t\t\tactiveModal: !keyboardShortcutsModalOpened\n\t\t\t\t\t\t? 'keyboardShortcutsModal'\n\t\t\t\t\t\t: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_ENABLED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\tsetActionState(host?.componentId, OPEN_FRAME_FOCUSED_REQUESTED, true);\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch, state: {keyboardShortcutsModalOpened}}) => {\n\t\t\t\tif (keyboardShortcutsModalOpened) {\n\t\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export const UI_CONFIGURE_SCREEN_BEHAVIOR_NAME = 'CONFIGURE_SCREEN_BEHAVIOR';\n","import {UI_CONFIGURE_SCREEN_BEHAVIOR_NAME} from './constants';\n\nexport const UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH = `behaviors[${UI_CONFIGURE_SCREEN_BEHAVIOR_NAME}]`;\n","import get from 'lodash/get';\nimport isNil from 'lodash/isNil';\n\nimport {UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH} from './actions';\nimport {UI_CONFIGURE_SCREEN_BEHAVIOR_NAME} from './constants';\n\nconst showScreenContentLinks = (userMeta = {}) => {\n\treturn (\n\t\tuserMeta.roles?.indexOf('admin') > -1 ||\n\t\tuserMeta.roles?.indexOf('workspace_admin') > -1\n\t);\n};\n\nconst handleActiveScreenRendered = (coeffects) => {\n\tif (!showScreenContentLinks(coeffects.properties.userMeta)) return;\n\tconst {activeScreenId} = coeffects.action.payload;\n\tif (!activeScreenId) return;\n\n\tconst behaviorState = get(\n\t\tcoeffects.state,\n\t\tUI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\t{}\n\t);\n\tconst configureItems = get(\n\t\tbehaviorState,\n\t\t`screenContentItemsMap.${activeScreenId}`,\n\t\t[]\n\t);\n\n\tcoeffects.updateState(() => ({\n\t\tpath: 'screenContentLinks',\n\t\tvalue: [...configureItems],\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t}));\n\n\tcoeffects.updateState({\n\t\tpath: UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\tvalue: {activeScreenId: activeScreenId},\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n\nconst handleIncomingConfigureItems = (coeffects) => {\n\tif (!showScreenContentLinks(coeffects.properties.userMeta)) return;\n\tconst {items} = coeffects.action.payload;\n\n\tconst behaviorState = get(\n\t\tcoeffects.state,\n\t\tUI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\t{}\n\t);\n\tconst activeScreenId = get(behaviorState, 'activeScreenId');\n\n\tif (isNil(activeScreenId)) return;\n\n\tcoeffects.updateState(() => ({\n\t\tpath: 'screenContentLinks',\n\t\tvalue: [...items],\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t}));\n\n\tconst {screenContentItemsMap} = behaviorState;\n\tconst newScreenContentItemsMap = {\n\t\t...screenContentItemsMap,\n\t\t[activeScreenId]: [...items]\n\t};\n\n\tcoeffects.updateState({\n\t\tpath: UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\tvalue: {\n\t\t\tscreenContentItemsMap: newScreenContentItemsMap\n\t\t},\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n\nexport default {\n\tname: UI_CONFIGURE_SCREEN_BEHAVIOR_NAME,\n\tinitialState: {\n\t\tscreenContentItemsMap: {},\n\t\tactiveScreenId: null,\n\t\tscreenContentLinks: []\n\t},\n\tactionHandlers: {\n\t\t['CONTENT_ITEMS_SELECTED']: handleIncomingConfigureItems,\n\t\t['ACTIVE_SCREEN_RENDERED']: handleActiveScreenRendered\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHelpAssistantBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHelpAssistantBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"].snHelpAssistantBehavior;\n\t\t\t\t\t} else if ('snHelpAssistantBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.snHelpAssistantBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"].snHelpAssistantBehavior;\n\t\t\t\t} });","import {isEmpty} from 'lodash';\nimport {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {snHelpAssistantBehavior} from 'sn-help-assistant';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport {HELP_MENU_ID} from '../../constants';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport getHelpContext from './getHelpContext';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\n/*\n\tdefer the loading of help until it is actually requested. on the\n\tfirst call we need to wait until the sn-help(-panel) element has\n\tbeen upgraded before re-dispatching the actions else the help\n\tcode will throw because the help behaviors assume a sn-help(-panel)\n\tinstance exists.\n\n\tlocally default doesn't exist; on an instance only default exists;\n\tthis is the reason for\n\tconst {snHelpBehavior, default: snHelp} = await import('@devsnc/sn-help');\n*/\n\nconst manualDispatchDelay = 250;\nlet forwardHelpPanelActionCalled = false;\nlet forwardHelpPanelCalled = false;\nlet isHelpAssistantPluginActive = false;\n\nconst forwardHelpAction = async (coeffects) => {\n\tconst {snHelpBehavior, default: snHelp} = await import('@devsnc/sn-help');\n\tconst behavior = snHelpBehavior || snHelp.snHelpBehavior;\n\tif (forwardHelpPanelCalled)\n\t\treturn behavior.actionHandlers[coeffects.action.type](coeffects);\n\n\trequestIdleCallback(() => {\n\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\tforwardHelpPanelCalled = true;\n\t});\n};\n\nconst forwardHelpAssistantAction = async (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\tconst {helpAssistantEnabled} = state;\n\tif (!isHelpAssistantPluginActive) return;\n\tif (!helpAssistantEnabled) {\n\t\tif (coeffects.action.type === 'SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE') {\n\t\t\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: 'system',\n\t\t\t\t\ttext: t(\n\t\t\t\t\t\t'Dynamic Guidance is unavailable at this time. Ask your admin to check if the skill is active before trying again.'\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tshouldCreateHTMLElement: false\n\t\t\t});\n\t\t} else return;\n\t\treturn;\n\t}\n\tconst behavior = snHelpAssistantBehavior;\n\tbehavior && behavior.actionHandlers[coeffects.action.type](coeffects);\n};\n\nconst forwardHelpPanelAction = async (coeffects) => {\n\tconst {\n\t\tsnHelpPanelBehavior,\n\t\tdefault: snHelpPanel\n\t} = await import('@devsnc/sn-help-panel');\n\tconst behavior = snHelpPanelBehavior || snHelpPanel.snHelpPanelBehavior;\n\tif (forwardHelpPanelActionCalled)\n\t\treturn behavior.actionHandlers[coeffects.action.type](coeffects);\n\n\trequestIdleCallback(() => {\n\t\t// On first call, if manually dispatched and not from menu click\n\t\tif (!coeffects.state.helpPanelAppContext.showHelpPanel) {\n\t\t\tcoeffects.updateState({\n\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t...coeffects.state.helpPanelAppContext,\n\t\t\t\t\tshowHelpPanel: true\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\t\t\tforwardHelpPanelActionCalled = true;\n\t\t\t}, manualDispatchDelay);\n\t\t} else {\n\t\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\t\tforwardHelpPanelActionCalled = true;\n\t\t}\n\t});\n};\n\nconst appContextUpdated = ({\n\taction: {\n\t\tpayload: {appContext, refreshRequested}\n\t},\n\tupdateState,\n\tstate: {helpPanelAppContext},\n\tdispatch\n}) => {\n\tif (refreshRequested) {\n\t\tdispatch('SN_HELP_PANEL#REFRESH_REQUESTED', {\n\t\t\tappContext\n\t\t});\n\t}\n\n\tconst lastTimestamp = helpPanelAppContext?.appContext?.timestamp;\n\tif (lastTimestamp && appContext.timestamp < lastTimestamp) {\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\tpath: 'helpPanelAppContext.appContext',\n\t\tvalue: appContext,\n\t\toperation: 'set',\n\t\tshouldRender: !!helpPanelAppContext?.showHelpPanel\n\t});\n};\n\nconst handleComponentPropertyChanged = ({action, dispatch}) => {\n\tconst {\n\t\tpayload: {name, value, previousValue}\n\t} = action;\n\n\tif (name === 'selectedContent') {\n\t\tif (value !== null && value.route) {\n\t\t\tconst helpContext = {\n\t\t\t\t...getHelpContext(value),\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\n\t\t\t// Schedule sn-help-panel load when selectedContent\n\t\t\t// is initially set\n\t\t\tif (isEmpty(previousValue)) {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\timport('@devsnc/sn-help-panel').then(() => {\n\t\t\t\t\t\t\tdispatch('SN_HELP_PANEL#APP_CONTEXT_UPDATED', {\n\t\t\t\t\t\t\t\tappContext: helpContext,\n\t\t\t\t\t\t\t\trefreshRequested: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tdelay: 2000\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch('SN_HELP_PANEL#APP_CONTEXT_UPDATED', {\n\t\t\t\t\t\t\tappContext: helpContext\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst updateHelpAssistantPluginStatus = ({action}) => {\n\tconst {enabledPlugins} = action.payload;\n\tisHelpAssistantPluginActive = (enabledPlugins ?? []).find(\n\t\t(plugin) =>\n\t\t\tplugin?.id === 'com.sn_help_assistant' && plugin?.active === true\n\t)\n\t\t? true\n\t\t: false;\n\treturn;\n};\n\nlet isInitiallyLoaded = false;\n\nexport default {\n\tname: 'HELP_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t'SN_HELP#GUIDANCE_START_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#GUIDANCE_STOP_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#ADD_NODE_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#REMOVE_NODE_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#CLEAR_NODES_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP_PANEL#SHOW_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#HIDE_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#OPEN_DOCUMENT': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_STARTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_ENDED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_STEP_RENDERED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#REFRESH_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#APP_CONTEXT_UPDATED': appContextUpdated,\n\t\t// To Help Assistant\n\t\t'SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t'SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t'SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t// From Help Assistant\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_STARTED': forwardHelpPanelAction,\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_ENDED': forwardHelpPanelAction,\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_PAUSED': forwardHelpPanelAction,\n\n\t\t[ENABLED_PLUGINS_REFRESHED]: updateHelpAssistantPluginStatus,\n\n\t\t['SN_HELP_PANEL#SHOWN']: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {contextualMenu, contextualMenuState, helpPanelAppContext}\n\t\t\t}) => {\n\t\t\t\t// only show panel after the initial loading is done\n\t\t\t\tif (!isInitiallyLoaded && !helpPanelAppContext?.showHelpPanel) {\n\t\t\t\t\tisInitiallyLoaded = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (contextualMenu.menuType !== 'overflowMenu') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\t\tmenuType: 'helpMenu',\n\t\t\t\t\t\t\theaderText: t('Help Center'),\n\t\t\t\t\t\t\t// buttonRef: ref,\n\t\t\t\t\t\t\tmenuData: {},\n\t\t\t\t\t\t\thelpContentIndicatorOn: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t\t\t...helpPanelAppContext,\n\t\t\t\t\t\t\tshowHelpPanel: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\t\tsecondaryMenuId: HELP_MENU_ID\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\t\tprimaryMenuId: HELP_MENU_ID\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#HIDDEN']: {\n\t\t\teffect: ({dispatch, updateState, state: {helpPanelAppContext}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t\t...helpPanelAppContext,\n\t\t\t\t\t\tshowHelpPanel: false\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#CONTENT_FETCHED']: {\n\t\t\teffect: ({state: {contextualMenu}, updateState, action: {payload}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\thelpContentIndicatorOn: payload.hasNewContent\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#MODAL_OPENED']: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: payload.id});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#MODAL_CLOSED']: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tCLASSIC,\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tSYS_PROPS\n} from '../../constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport onIframeLoad from '../../utils/onIframeLoad';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {getProperty} from 'sn-uxpage-presource';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst update = {\n\tpath: 'initialMainContentReady',\n\tvalue: true,\n\toperation: 'set'\n};\nconst deferUpdate = (updateState, update) =>\n\tsetTimeout(\n\t\t() =>\n\t\t\trequestIdleCallback(() => {\n\t\t\t\tupdateState(update);\n\t\t\t}),\n\t\tgetProperty(SYS_PROPS.UI.BANNER_DELAY) || 5000\n\t);\n\nexport default {\n\tname: 'MAIN_CONTENT_READY',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({host, updateState}) {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tif (host?.selectedContent?.route === CLASSIC) {\n\t\t\t\t\t\treturn onIframeLoad(getCoreUiIframe(host), () => {\n\t\t\t\t\t\t\tdeferUpdate(updateState, update);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tdeferUpdate(updateState, update);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t}\n\t\t}\n\t}\n};\n","/**\n * Behavior that causes a loading menu with a spinner to show if a menu is pinned but the menu is not loaded yet\n * during initial loading of the app shell. This is not intended to handle cases where the menu is refreshing after\n * initial load, as the new menu will just swap out the old menu in that case.\n */\nimport {actionTypes} from '@servicenow/ui-core';\nimport {isEmpty, get} from 'lodash';\nimport {\n\tMANUAL_MENU_REFRESH_REQUESTED,\n\tMENU_REFRESH_REQUEST_SUCCEEDED\n} from '../menu-modifier-behavior/actions';\nimport {MENU_LOADING_BEHAVIOR_NAME} from './constants';\nimport {\n\tLOADER_MENU_STUBBED,\n\tLOADER_MENU_UNSTUBBED,\n\tMENU_LOADING_BEHAVIOR_STATE_PATH\n} from './actions';\nimport {MENU_ALL} from '@devsnc/unav-utils';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst MENU_LOADER = 'menuLoader';\nconst LOADER_MENU = [\n\t{\n\t\tid: MENU_LOADER,\n\t\ttemplate: 'loader'\n\t}\n];\n\nexport default {\n\tname: MENU_LOADING_BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({state: {mainMenuState, headerMenuItems}, updateState, dispatch}) {\n\t\t\t\t// Stub blank/loader menu when pinned and menu isn't loaded yet\n\t\t\t\tif (\n\t\t\t\t\tmainMenuState.isMenuPinned &&\n\t\t\t\t\tmainMenuState.canBePinned &&\n\t\t\t\t\tisEmpty(headerMenuItems)\n\t\t\t\t) {\n\t\t\t\t\tconst newMainMenuState = {\n\t\t\t\t\t\t...mainMenuState,\n\t\t\t\t\t\tpinnedMenuId: MENU_LOADER,\n\t\t\t\t\t\tprimaryMenuId: MENU_LOADER,\n\t\t\t\t\t\tprimaryMenuLoading: true,\n\t\t\t\t\t\tshowPrimaryFilter: false,\n\t\t\t\t\t\tprimaryMenuPinable: false\n\t\t\t\t\t};\n\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'headerMenuItems',\n\t\t\t\t\t\t\tvalue: LOADER_MENU,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\t\tvalue: {previousMainMenuState: mainMenuState},\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\t\tvalue: newMainMenuState,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\n\t\t\t\t\tdispatch(LOADER_MENU_STUBBED);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[MANUAL_MENU_REFRESH_REQUESTED]: {\n\t\t\teffect({state: {mainMenuState, headerMenuItems}, updateState, dispatch}) {\n\t\t\t\tconst ALL_MENU_LOADING = [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: MENU_ALL,\n\t\t\t\t\t\tlabel: 'All',\n\t\t\t\t\t\torder: 1,\n\t\t\t\t\t\ttemplate: 'loader'\n\t\t\t\t\t},\n\t\t\t\t\t...headerMenuItems.slice(1)\n\t\t\t\t];\n\n\t\t\t\tconst newMainMenuState = {\n\t\t\t\t\t...mainMenuState,\n\t\t\t\t\tprimaryMenuId: MENU_ALL,\n\t\t\t\t\tprimaryMenuLoading: true,\n\t\t\t\t\tshowPrimaryFilter: true\n\t\t\t\t};\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'headerMenuItems',\n\t\t\t\t\t\tvalue: ALL_MENU_LOADING,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\tvalue: {previousMainMenuState: mainMenuState},\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\tvalue: newMainMenuState,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\n\t\t\t\tdispatch(LOADER_MENU_STUBBED);\n\t\t\t}\n\t\t},\n\t\t[MENU_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect({state, updateState, dispatch}) {\n\t\t\t\tconst previousMainMenuState = get(\n\t\t\t\t\tstate,\n\t\t\t\t\t`${MENU_LOADING_BEHAVIOR_STATE_PATH}.previousMainMenuState`\n\t\t\t\t);\n\t\t\t\tif (previousMainMenuState) {\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\t\tvalue: {previousMainMenuState: null},\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\t\tvalue: previousMainMenuState,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\n\t\t\t\t\tdispatch(LOADER_MENU_UNSTUBBED);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export const MESSAGE_STACK_SERVICE_REQUESTED =\n\t'MESSAGE_STACK#SERVICE_REQUESTED';\nexport const MESSAGE_STACK_GET_MESSAGE = 'MESSAGE_STACK#GET_MESSAGE';\nexport const MESSAGE_STACK_MESSAGE_SUCCEEDED =\n\t'MESSAGE_STACK#MESSAGE_SUCCEEDED';\n","import {t} from 'sn-translate';\nimport {isUndefined} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {createHttpEffect} from '@devsnc/unav-utils';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nimport {SYS_PROPS} from '../../constants';\nimport {\n\tMESSAGE_STACK_SERVICE_REQUESTED,\n\tMESSAGE_STACK_GET_MESSAGE,\n\tMESSAGE_STACK_MESSAGE_SUCCEEDED\n} from './actions';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst getUserMessage = createHttpEffect('/angular.do?sysparm_type=message', {\n\tmethod: 'POST',\n\tdataParam: ['key'],\n\tbatch: false,\n\tsuccessActionType: MESSAGE_STACK_MESSAGE_SUCCEEDED\n});\n\nexport default {\n\tname: 'MESSAGE_STACK_SERVICE_BEHAVIOR',\n\tinitialState: {\n\t\tmessageStackAlerts: []\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\t// If the nav is in an `ATF` testing iframe don't show the message\n\t\t\t\tif (window?.frameElement?.id === 'testFrame') return;\n\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tdispatch(MESSAGE_STACK_SERVICE_REQUESTED);\n\t\t\t\t}, getProperty(SYS_PROPS.UI.MESSAGE_SERVICE_POLL_INTERVAL, 4500));\n\t\t\t}\n\t\t},\n\t\t[MESSAGE_STACK_SERVICE_REQUESTED]: {\n\t\t\teffect: ({state: {messageStackAlerts = []}, updateState, dispatch}) => {\n\t\t\t\tconst cookies = document.cookie?.split(';');\n\t\t\t\tconst messageServices = getProperty(SYS_PROPS.UI.MESSAGE_SERVICES);\n\t\t\t\tmessageServices?.split(',')?.forEach((service) => {\n\t\t\t\t\tconst cookie = cookies.find((c) => c.trim().indexOf(service) === 0);\n\t\t\t\t\tconst showAlert = messageStackAlerts.find((m) => m.id === service);\n\t\t\t\t\t// If showAlert is not underfied AND we no longer have a cookie\n\t\t\t\t\t// Close the alert and remove the message from showAlert list\n\t\t\t\t\tif (isUndefined(cookie) && !isUndefined(showAlert)) {\n\t\t\t\t\t\tmessageStackAlerts = messageStackAlerts.filter(\n\t\t\t\t\t\t\t(m) => m.id !== service\n\t\t\t\t\t\t);\n\t\t\t\t\t\tupdateState({messageStackAlerts});\n\t\t\t\t\t}\n\n\t\t\t\t\t// If we have a cookie AND showAlert is undefined\n\t\t\t\t\t// Show the alert and add message to showAlert list till the cookie is removed\n\t\t\t\t\tif (!isUndefined(cookie) && isUndefined(showAlert)) {\n\t\t\t\t\t\tconst text = getProperty(\n\t\t\t\t\t\t\tSYS_PROPS.UI.MESSAGE_SERVICE_MESSAGE + service\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tMESSAGE_STACK_GET_MESSAGE,\n\t\t\t\t\t\t\t{key: {messages: [text]}},\n\t\t\t\t\t\t\t{service, text}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MESSAGE_STACK_GET_MESSAGE]: getUserMessage,\n\t\t[MESSAGE_STACK_MESSAGE_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {messageStackAlerts = []},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {messages},\n\t\t\t\t\t\tmeta: {service, text}\n\t\t\t\t\t},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tconst messageKeys = getProperty(\n\t\t\t\t\tSYS_PROPS.UI.MESSAGE_SERVICE_MESSAGE_KEYS + (service || '')\n\t\t\t\t)?.split(',');\n\t\t\t\tconst message = messages?.[text] ? messages[text] : text;\n\t\t\t\tconst alert = messageKeys?.length\n\t\t\t\t\t? t(message, ...messageKeys)\n\t\t\t\t\t: t(message);\n\t\t\t\tupdateState({\n\t\t\t\t\tmessageStackAlerts: [\n\t\t\t\t\t\t...messageStackAlerts,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: service,\n\t\t\t\t\t\t\tstatus: 'warning',\n\t\t\t\t\t\t\ticon: 'exclamation-circle-outline',\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'jsx',\n\t\t\t\t\t\t\t\tvalue: (\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t\t\t\t\t\t`<span>${alert}<\/span>`\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\n\nimport {\n\tSKIP_LINKS_FOCUSED_OUT,\n\tSKIP_LINKS_FOCUSED_IN,\n\tSKIP_LINK_FOCUSED\n} from './actions';\nimport {METRICS} from '../../constants';\n\nexport default {\n\tname: 'SKIP_LINKS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[SKIP_LINKS_FOCUSED_IN]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tskipLinksVisible: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SKIP_LINKS_FOCUSED_OUT]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tskipLinksVisible: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SKIP_LINK_FOCUSED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.SKIP_LINK_NAVIGATE, {\n\t\t\t\t\tname: payload.link\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {default as cache} from '../../utils/cache';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../../constants';\nimport {\n\tLOGOUT_REQUESTED,\n\tLOGOUT_CONFIRMATION_CANCEL_CLICKED,\n\tLOGOUT_CONFIRMATION_YES_CLICKED\n} from './actions';\n\nconst logout = () => {\n\tcache.remove('searchPreviousContext'); //remove previous search context when user logs out\n\tcache.remove('availableElevatedRoles');\n\twindow.localStorage.removeItem('originalUserHasAdminRole');\n\twindow.location.href = '/logout.do';\n};\n\nexport default {\n\tname: 'LOGOUT_BEHAVIOR',\n\tactionHandlers: {\n\t\t[LOGOUT_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tif (getBooleanProperty(SYS_PROPS.SYS_LOGOUT_PROMPT)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tlogoutConfirmationOpened: true\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlogout();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_YES_CLICKED]: {\n\t\t\teffect: logout,\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'logout-confirmation' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"];\n\t\t\t\t} });","import {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport intersection from 'lodash/intersection';\nimport get from 'lodash/get';\nimport {USER_PREF_CONTINUE_LANDING_PAGE} from '../../constants';\n\nimport {\n\tSYS_PROPS,\n\tPREFERENCES,\n\tgetBooleanProperty,\n\tgetBooleanPreferenceValue,\n\tgetPreferenceValue\n} from '@devsnc/unav-utils';\n\nexport const REFRESH_PREFERENCES_MAP =\n\t'PREFERENCE_OBJECT_GENERATOR#REFRESH_PREFERENCES_MAP';\n\nexport const ATF_INSPECTOR_ROLES = [\n\t'admin',\n\t'atf_test_designer',\n\t'atf_test_admin'\n];\n\nexport const DASHBOARD_ROLES = ['pa_viewer', 'pa_contributor', 'admin'];\n\nexport const getDateTimeSelectedItem = (userPreferences) => {\n\tconst selectedFormat = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.DATE_FORMAT\n\t);\n\n\tconst compact = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.COMPACT_DATE\n\t);\n\n\tconst value = selectedFormat\n\t\t? selectedFormat\n\t\t\t\t.replace(/\\s+/g, '')\n\t\t\t\t.replace(/(.*)(shortDate|shortDates)(:true|:false)(.*)/g, '$1$4')\n\t\t\t\t.replace(/([,{])(dateBoth|timeAgo)(:)/g, '$1\"$2\"$3')\n\t\t: '{\"timeAgo\":false,\"dateBoth\":false}';\n\n\tlet parsedValue;\n\ttry {\n\t\tparsedValue = JSON.parse(value);\n\t} catch {\n\t\tparsedValue = {timeAgo: false, dateBoth: false};\n\t}\n\n\treturn compact && !parsedValue.timeAgo ? `${value}/compact` : value;\n};\n\nexport const getHomepageTitle = (userPreferences) => {\n\tconst homepageValue = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.HOMEPAGE,\n\t\t''\n\t);\n\n\tconst homepageContinueLastExit = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\t\tfalse\n\t);\n\n\tlet homepageTitle = homepageContinueLastExit\n\t\t? t('Continue where I last left off')\n\t\t: '';\n\n\tif (!homepageTitle) {\n\t\tif (homepageValue === '') {\n\t\t\thomepageTitle = t('Default');\n\t\t} else if (homepageValue === 'default') {\n\t\t\thomepageTitle = t('Homepages');\n\t\t} else if (homepageValue === '$pa_dashboard.do') {\n\t\t\thomepageTitle = t('Dashboards');\n\t\t} else {\n\t\t\thomepageTitle = getPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.HOMEPAGE_TITLE,\n\t\t\t\t''\n\t\t\t);\n\t\t}\n\t}\n\n\treturn homepageTitle;\n};\n\n/* istanbul ignore next */\nexport const getSeismicDevtoolChromeWebstoreURL = () => {\n\treturn getProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL,\n\t\t''\n\t);\n};\n\nexport const isAtfInspectorEnabled = ({userRoles}) => {\n\treturn intersection(userRoles, ATF_INSPECTOR_ROLES).length > 0;\n};\n\nexport const isDashboardsEnabled = ({enabledPlugins = [], userRoles}) => {\n\tconst isCanvasActive =\n\t\tenabledPlugins.find(({id}) => id === 'com.glideapp.dashboards')?.active &&\n\t\tgetBooleanProperty(SYS_PROPS.RESPONSIVE_GRID_LAYOUT, true);\n\treturn (\n\t\tisCanvasActive ||\n\t\t(enabledPlugins.find(({id}) => id === 'com.snc.pa')?.active &&\n\t\t\tintersection(userRoles, DASHBOARD_ROLES).length > 0)\n\t);\n};\n\nexport const isUserExperienceTabEnabled = ({\n\tisAppseeActive,\n\tisTelemetryToggleAllowed\n}) => {\n\treturn (\n\t\tgetBooleanProperty(SYS_PROPS.USER_SELECT_LANDING_PAGE, false) ||\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_ON_OFF_USER_PREF_ENABLED, false) ||\n\t\t(isAppseeActive && isTelemetryToggleAllowed)\n\t);\n};\n\n/* istanbul ignore next */\nexport const preferenceNamespace = () => {\n\treturn get(\n\t\twindow,\n\t\t'ux_globals.theme.themeOptions.userPreferenceNamespace',\n\t\t'glide.ui.polaris.'\n\t);\n};\n\nexport const showSeismicDevtoolsPrefPanel = (\n\tuserAgent = window.navigator.userAgent\n) => {\n\t// Show only for chrome browser\n\tconst isChrome = /Chrome/.test(userAgent);\n\tconst hasURL = getProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL\n\t);\n\treturn (\n\t\tisChrome &&\n\t\thasURL &&\n\t\tgetBooleanProperty(\n\t\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED,\n\t\t\tfalse\n\t\t)\n\t);\n};\n","import {t} from 'sn-translate';\nimport {isEmpty, map} from 'lodash';\nimport {\n\tcreateHttpEffect,\n\teffectProxy,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport createThemeLoaderEffect from '@devsnc/uxf-effect-theme-loader';\nimport {SYS_PROPS} from '../../constants';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const THEME_VARIANT_CHANGED = 'THEME#VARIANT_CHANGED';\nexport const THEME_INFODENSITY_CHANGED = 'THEME#INFODENSITY_CHANGED';\nexport const THEMES_FETCHED = 'THEME_BEHAVIOR#THEMES_FETCHED';\nexport const THEMES_FETCHED_SUCCEEDED =\n\t'THEME_BEHAVIOR#THEMES_FETCHED_SUCCEEDED';\nconst THEMES_FETCHED_FAILED = 'THEME_BEHAVIOR#THEMES_FETCHED_FAILED';\n\nexport const fetchThemes = createHttpEffect(\n\t'/api/now/uxframework/themes/experience/:sys_id',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tpathParams: ['sys_id'],\n\t\tsuccessActionType: THEMES_FETCHED_SUCCEEDED,\n\t\terrorActionType: THEMES_FETCHED_FAILED\n\t}\n);\n\nconst propertiesForPrefs = [\n\t'--now-color_background--secondary',\n\t'--now-color--secondary-3',\n\t'--now-color--primary-2',\n\t'--now-unified-nav_header--background-color',\n\t'--now-color_chrome--brand-10',\n\t'--now-unified-nav_nav-menu-trigger--color',\n\t'--now-unified-nav_button--color',\n\t'--now-color--neutral-0',\n\t'--now-color_background--primary',\n\t'--now-color_border--tertiary',\n\t'--now-color_text--primary',\n\t'--now-color_text--secondary',\n\t'--now-button--primary--background-color',\n\t'--now-text-link--primary--color'\n];\n\nexport const findRGBValue = (name, properties) => {\n\tlet temp = name;\n\tif (propertiesForPrefs.indexOf(name) > -1) {\n\t\twhile (properties[temp] && !/^.+,.+,.+$/.test(properties[temp])) {\n\t\t\ttemp = properties[temp];\n\t\t\tif (temp === properties[temp]) return null;\n\t\t}\n\t\treturn properties[temp];\n\t} else return null;\n};\n\nconst mapPropertiesToRGBValues = (properties) => {\n\tconst newProperties = {};\n\tfor (const property in properties) {\n\t\tconst value = findRGBValue(property, properties);\n\t\tif (value) newProperties[property] = value;\n\t}\n\n\treturn newProperties;\n};\n\nconst setAvailableThemes = (theme = {}, updateState) => {\n\tconst availableThemes = [];\n\tconst {multiThemeEnabled, themes} = theme;\n\n\tif (!themes) return;\n\n\tthemes.forEach((theme) => {\n\t\tconst themeObject = theme.themeOptions;\n\n\t\tif (!themeObject) {\n\t\t\tupdateState({\n\t\t\t\tavailableThemes,\n\t\t\t\tthemesFetched: true,\n\t\t\t\tmultiThemeEnabled\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst styleProperties = themeObject.coreStyles.reduce(\n\t\t\t(acc, style) => ({\n\t\t\t\t...acc,\n\t\t\t\t...style.properties\n\t\t\t}),\n\t\t\t{}\n\t\t);\n\n\t\tconst convertedStyleProperties = mapPropertiesToRGBValues(styleProperties);\n\n\t\tavailableThemes.push({\n\t\t\tname: themeObject.name || t('Default'),\n\t\t\tsys_id: themeObject.themeId || '',\n\t\t\tproperties: convertedStyleProperties,\n\t\t\ttheme,\n\t\t\tvariants: [\n\t\t\t\t{\n\t\t\t\t\tname: t('Default'),\n\t\t\t\t\tsys_id: '',\n\t\t\t\t\tisDark: false,\n\t\t\t\t\tproperties: convertedStyleProperties\n\t\t\t\t},\n\t\t\t\t...map(themeObject.variants, ({properties, isDark, name}, sys_id) => ({\n\t\t\t\t\tname,\n\t\t\t\t\tsys_id,\n\t\t\t\t\tisDark,\n\t\t\t\t\tproperties: mapPropertiesToRGBValues({\n\t\t\t\t\t\t...styleProperties,\n\t\t\t\t\t\t...properties\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t].filter((variant) =>\n\t\t\t\t!getBooleanProperty(SYS_PROPS.UI.DARK_THEMES_ENABLED)\n\t\t\t\t\t? !variant.isDark\n\t\t\t\t\t: true\n\t\t\t)\n\t\t});\n\t});\n\n\tupdateState({\n\t\tavailableThemes,\n\t\tthemesFetched: true,\n\t\tmultiThemeEnabled\n\t});\n};\n\nexport default {\n\tname: 'THEMES_BEHAVIOR',\n\tinitialState: {\n\t\tthemesFetched: false\n\t},\n\tactionHandlers: {\n\t\t[THEMES_FETCHED]: effectProxy(fetchThemes),\n\t\t[THEME_VARIANT_CHANGED]: createThemeLoaderEffect(),\n\t\t[THEME_INFODENSITY_CHANGED]: createThemeLoaderEffect(),\n\n\t\t[THEMES_FETCHED_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst theme = !isEmpty(result) ? result : window.ux_globals.theme;\n\n\t\t\t\tsetAvailableThemes(theme, updateState);\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t}\n\t\t},\n\t\t[THEMES_FETCHED_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tsetAvailableThemes(window.ux_globals.theme, updateState);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const GET_TELEMETRY_TRACKING =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING';\nexport const GET_TELEMETRY_TRACKING_SUCCEEDED =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING_SUCCEEDED';\nconst GET_TELEMETRY_TRACKING_FAILED =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING_FAILED';\n\nexport const UPDATE_TELEMETRY_TRACKING =\n\t'TELEMETRY_BEHAVIOR#UPDATE_TELEMETRY_TRACKING';\n\nexport const getTelemetryTracking = createHttpEffect('/api/now/consent/get', {\n\tmethod: 'GET',\n\tbatch: true,\n\tsuccessActionType: GET_TELEMETRY_TRACKING_SUCCEEDED,\n\terrorActionType: GET_TELEMETRY_TRACKING_FAILED\n});\n\nexport const updateTelemetryTracking = createHttpEffect(\n\t'/api/now/consent/update',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: true,\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: ''\n\t}\n);\n\nexport default {\n\tname: 'TELEMETRY_BEHAVIOR',\n\tactionHandlers: {\n\t\t[GET_TELEMETRY_TRACKING]: effectProxy(getTelemetryTracking),\n\t\t[GET_TELEMETRY_TRACKING_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {ConsentToggleState, ConsentToggleIsAllowed} = result;\n\t\t\t\tupdateState({\n\t\t\t\t\ttelemetryToggleState: ConsentToggleState,\n\t\t\t\t\tisTelemetryToggleAllowed: ConsentToggleIsAllowed\n\t\t\t\t});\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t}\n\t\t},\n\t\t[GET_TELEMETRY_TRACKING_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\ttelemetryToggleState: false,\n\t\t\t\t\ttelemetryToggleIsAllowed: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[UPDATE_TELEMETRY_TRACKING]: effectProxy(updateTelemetryTracking)\n\t}\n};\n","import {omit} from 'lodash';\nimport track from '../../utils/track';\nimport cache from '../../utils/cache';\nimport {\n\tUSER_SETTINGS_SEND_EVENT_REQUESTED,\n\tUSER_SETTINGS_MODAL_OPENED,\n\tUSER_SETTINGS_UPDATE_STATE\n} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_DOM_TREE_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {METRICS, NAV_ITEM_SELECTED} from '../../constants';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\nimport {THEMES_FETCHED} from '../theme-behavior';\nimport {GET_TELEMETRY_TRACKING} from '../telemetry-behavior';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const CORE_TABS = {\n\tgeneral: 'display',\n\tform: 'display',\n\tlist: 'display',\n\ttheme: 'theme',\n\taccessibility: 'a11y',\n\tnotifications_general: 'notifications'\n};\n\nexport const EVENTS = {\n\tCOMPACT: 'compact',\n\tWRAP_LIST: 'table_wrap',\n\tDATE_FORMAT: 'cc_dateformat_set',\n\tCOMPACT_DATE: 'cc_dateformat_compact_set',\n\tKEYBOARD_SHORTCUTS: 'application_navigator_keyboard_shortcuts_updated',\n\tTABBED_FORMS: 'tabbed'\n};\n\nconst eventMappings = {\n\t// https://code.devsnc.com/dev/glide/blob/1750772b8084a22800adf70a5616303ea743ef69/glide/plugins/com.glide.ui.concourse/ui.html/scripts/concourse/dateTimeFormat.js#L8-L13\n\t// Handle expanding dateformat to its respective event + value\n\t[EVENTS.DATE_FORMAT]: (value) => {\n\t\tlet preferences;\n\n\t\ttry {\n\t\t\tpreferences = typeof value === 'string' ? JSON.parse(value) : value;\n\t\t} catch (ex) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (preferences.dateBoth === false)\n\t\t\treturn {\n\t\t\t\ttimeago_set: {\n\t\t\t\t\tvalue: preferences.timeAgo\n\t\t\t\t}\n\t\t\t};\n\t\telse\n\t\t\treturn {\n\t\t\t\tdate_both: {\n\t\t\t\t\tvalue: true\n\t\t\t\t}\n\t\t\t};\n\t},\n\t[EVENTS.COMPACT_DATE]: (value) => {\n\t\treturn {\n\t\t\tshortdates_set: {\n\t\t\t\tvalue\n\t\t\t}\n\t\t};\n\t}\n};\n\nconst getSetting = ({event, value}) => {\n\tconst mapping = eventMappings[event];\n\treturn mapping ? mapping(value) : {[event]: {value}};\n};\n\nconst omitSettings = ({userSettingsBuffer, event, value}) => {\n\tconst mapping = omitMappings[event];\n\treturn mapping\n\t\t? omit(userSettingsBuffer, mapping(value))\n\t\t: userSettingsBuffer;\n};\n\nconst omitMappings = {\n\t[EVENTS.DATE_FORMAT]: (value) => {\n\t\tlet preferences;\n\n\t\ttry {\n\t\t\tpreferences = typeof value === 'string' ? JSON.parse(value) : value;\n\t\t} catch (ex) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn preferences.dateBoth ? ['timeago_set'] : ['date_both'];\n\t}\n};\n\nconst userSettingEventsEffect = ({action, updateState, state}) => {\n\tconst {\n\t\tpayload: {event, value}\n\t} = action;\n\tconst userSettingsBuffer = state.userSettingsBuffer || {};\n\t// The userSettingsBuffer is flushed and the preferences are fired into the iframe after the userPreferences property changes\n\t// which indicates that the database has been updated with the latest preference values.\n\t// e.g. { ['compact']: { value: true } }\n\tupdateState({\n\t\tpath: 'userSettingsBuffer',\n\t\tvalue: {\n\t\t\t...omitSettings({userSettingsBuffer, event, value}),\n\t\t\t...getSetting({userSettingsBuffer, event, value})\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nexport const deleteCookie = () => {\n\t// Need to set localStorage variable because there's delay in cookie deletion causing double rendering of page.\n\tcache.set('sysparm_modal_path', 'expired', {ttl: 7000});\n\tdocument.cookie =\n\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n};\n\nconst getSettingsModalPath = () => {\n\tif (cache.get('sysparm_modal_path') === 'expired') {\n\t\tcache.remove('sysparm_modal_path');\n\t\tdocument.cookie =\n\t\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n\t\treturn null;\n\t}\n\n\t/** sysparm_modal_path will be in below format\n\t * 'sysparm_modal_path=settings.forms',\n\t * 'sysparm_modal_path=\"settings.notifications_general.notifications_category?category=cbc6836273e0230080b29ca9faf6a7ac\"'\n\t */\n\tconst settingsModalPathValue = document.cookie\n\t\t.split('; ')\n\t\t.find((row) => row.startsWith('sysparm_modal_path='))\n\t\t?.replaceAll('\"', '');\n\n\tif (settingsModalPathValue) {\n\t\tconst paths = settingsModalPathValue.split('=')[1]?.split('.');\n\t\tlet modalPath = null;\n\t\tif (paths?.[0] === 'settings') {\n\t\t\tif (\n\t\t\t\tpaths.length === 3 &&\n\t\t\t\t!getFeatureSettings().isCoreUINotificationPrefEnabled\n\t\t\t) {\n\t\t\t\tconst targetPath = paths.length === 3 ? paths[2] : '';\n\t\t\t\tif (targetPath) {\n\t\t\t\t\tconst decodedValue = decodeURIComponent(settingsModalPathValue);\n\t\t\t\t\tconst targetTab = decodedValue?.split('?')[1]?.split('=');\n\t\t\t\t\tconst params = {};\n\t\t\t\t\tif (targetTab[0] === 'category') params.categoryId = targetTab[1];\n\t\t\t\t\telse if (targetTab[0] === 'notification')\n\t\t\t\t\t\tparams.notificationId = targetTab[1];\n\n\t\t\t\t\tmodalPath = {params};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst tab = CORE_TABS[paths[1]];\n\t\t\t\tmodalPath =\n\t\t\t\t\ttab === 'notifications'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinitialTab: tab,\n\t\t\t\t\t\t\t\tnotificationUrl: `/np.do?${settingsModalPathValue}&sysparm_use_modal=true&sysparm_nostack=true`\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {initialTab: tab};\n\t\t\t}\n\t\t}\n\t\tdeleteCookie();\n\t\treturn modalPath;\n\t}\n\treturn null;\n};\n\nconst handleSettingsModalPath = ({dispatch}) => {\n\tconst modalPath = getSettingsModalPath();\n\tif (modalPath) {\n\t\tif (modalPath.params) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext: {path: 'now/platform-notifications'},\n\t\t\t\troute: 'platform-notifications',\n\t\t\t\tparams: modalPath.params\n\t\t\t});\n\t\t} else dispatch(USER_SETTINGS_MODAL_OPENED, modalPath);\n\t}\n};\n\nexport default {\n\tname: 'USER_SETTINGS_BEHAVIOR',\n\tinitialState: {\n\t\tsettingOpened: null,\n\t\tnotificationUrl: '/np.do?sysparm_nostack=true'\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: handleSettingsModalPath\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name === 'selectedContent') {\n\t\t\t\t\thandleSettingsModalPath({dispatch});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[USER_SETTINGS_SEND_EVENT_REQUESTED]: userSettingEventsEffect,\n\t\t[USER_SETTINGS_MODAL_OPENED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate: {themesFetched, enabledPlugins},\n\t\t\t\t\tproperties: {features: isPolarisEnabled}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst settingOpened = action.payload?.initialTab || 'display';\n\t\t\t\tupdateState({\n\t\t\t\t\tsettingOpened,\n\t\t\t\t\tnotificationUrl: action.payload.notificationUrl\n\t\t\t\t});\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: 'settingsModal'});\n\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\tname: 'Preferences'\n\t\t\t\t});\n\n\t\t\t\tconst isAppseeActive = enabledPlugins?.find(\n\t\t\t\t\t({id}) => id === 'com.glide.appsee'\n\t\t\t\t)?.active;\n\n\t\t\t\tif (isPolarisEnabled && !themesFetched) {\n\t\t\t\t\tdispatch(THEMES_FETCHED, {\n\t\t\t\t\t\tsys_id: 'a84adaf4c700201072b211d4d8c260b7'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (isAppseeActive) {\n\t\t\t\t\tdispatch(GET_TELEMETRY_TRACKING);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_USER_PREFERENCES#MODAL_CLOSED']: {\n\t\t\teffect: ({updateState, dispatch}) => {\n\t\t\t\tif (getFeatureSettings().isCoreUINotificationPrefEnabled) {\n\t\t\t\t\tdocument.cookie =\n\t\t\t\t\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tsettingOpened: null,\n\t\t\t\t\tnotificationUrl: 'np.do'\n\t\t\t\t});\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch('SN_USER_PREFERENCES#MODAL_CLOSED');\n\t\t\t}\n\t\t},\n\t\t[USER_SETTINGS_UPDATE_STATE]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {path, value}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {ASIDE_RESIZED} from './actions';\nimport {PX_TO_REM_CONVERSION_RATE} from '../../constants';\n\nexport default {\n\tname: 'ASIDE_BEHAVIOR',\n\tinitialState: {\n\t\tasideHeight: 0\n\t},\n\tactionHandlers: {\n\t\t[ASIDE_RESIZED]: {\n\t\t\teffect: ({host, updateState, action: {payload}}) => {\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--aside-height',\n\t\t\t\t\t`${payload[0].contentRect.height / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tasideHeight: payload[0].contentRect.height\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {isFunction} from 'lodash';\nimport {SCHEDULE_FOR_PAGE_LOAD} from './actions';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {CLASSIC} from '../../constants';\nconst functionMap = new Map();\nexport default {\n\tname: 'SCHEDULE_FOR_PAGE_LOAD',\n\tactionHandlers: {\n\t\t[SCHEDULE_FOR_PAGE_LOAD]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {action: fn}\n\t\t\t\t},\n\t\t\t\tproperties: {selectedContent}\n\t\t\t}) => {\n\t\t\t\tconst route = selectedContent?.route || null;\n\t\t\t\tconst startTime = new Date();\n\t\t\t\tfunctionMap.set(fn, startTime);\n\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\t// hacky - once promise is resolved on direct loads, on click through it stays resolved\n\t\t\t\t\t// Check if `whenScreenMacroponentIdleDuringPageLoad` is already resolved\n\t\t\t\t\tconst funStartTime = functionMap.get(fn);\n\t\t\t\t\tconst endTime = new Date();\n\t\t\t\t\tif (\n\t\t\t\t\t\tendTime - funStartTime < 10 ||\n\t\t\t\t\t\troute === CLASSIC ||\n\t\t\t\t\t\troute === null\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Add a timeout to execute the function if the Promise is already resolved\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tisFunction(fn) && fn();\n\t\t\t\t\t\t}, getProperty('glide.next_experience.mock_page_load_timeout', 4000));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Wait for the Promise to resolve and then execute the function\n\t\t\t\t\t\tisFunction(fn) && fn();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tINIT_GUIDED_TOURS,\n\tTOUR_MODAL_OPENED,\n\tTOUR_MODAL_CLOSED,\n\tTOUR_BEGIN\n} from './constants';\nimport {SYS_PROPS} from '../../constants';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nexport default {\n\tname: 'GUIDED_TOURS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[INIT_GUIDED_TOURS]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tif (!document.getElementById('polaris-ui16-dependencies')) return;\n\t\t\t\tconst buildDate = getProperty(SYS_PROPS.BUILD_DATE);\n\n\t\t\t\tif (window.NOW && window.NOW.isGtdEnabledForStandardUI) {\n\t\t\t\t\tconst depJS = document.createElement('script');\n\t\t\t\t\tdepJS.src = `/polaris-guided-tours-dependency.js?v=${buildDate}`;\n\t\t\t\t\tdepJS.id = 'polaris-guided-tours-dependency';\n\t\t\t\t\tdocument.head.appendChild(depJS);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'guidedToursLoaded',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\n\t\t\t\t\t// Triggered only for Guided Tour Designer as it renders Next Experience in a child frame (ie. tours are not played back).\n\t\t\t\t\tif (\n\t\t\t\t\t\twindow.top !== window.self &&\n\t\t\t\t\t\tdocument.querySelectorAll('#tours-css').length === 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst depCSS = document.createElement('link');\n\t\t\t\t\t\tdepCSS.id = 'tours-css';\n\t\t\t\t\t\tdepCSS.href = `/polaris-guided-tours-dependency.css?v=${buildDate}`;\n\t\t\t\t\t\tdepCSS.rel = 'stylesheet';\n\t\t\t\t\t\tdocument.head.appendChild(depCSS);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TOUR_MODAL_OPENED]: {\n\t\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: true,\n\t\t\t\t\tguidedTour: payload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[TOUR_MODAL_CLOSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: false,\n\t\t\t\t\tguidedTour: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[TOUR_BEGIN]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({dispatch, action}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\tCustomEvent.fireAll('tour:modal_closed', action);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#FOOTER_ACTION_CLICKED']: {\n\t\t\teffect: ({dispatch, action}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\tCustomEvent.fireAll('tour:modal_footer_action_clicked', action);\n\t\t\t}\n\t\t}\n\t}\n};\n","export const PUSHED_UXF_PAGE_TO_STACK = 'PUSHED_UXF_PAGE_TO_STACK';\nexport const PUSHED_UXF_PAGE_TO_STACK_SUCCESS =\n\t'PUSHED_UXF_PAGE_TO_STACK_SUCCESS';\nexport const PUSHED_UXF_PAGE_TO_STACK_FAILURE =\n\t'PUSHED_UXF_PAGE_TO_STACK_FAILURE';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tPUSHED_UXF_PAGE_TO_STACK,\n\tPUSHED_UXF_PAGE_TO_STACK_FAILURE,\n\tPUSHED_UXF_PAGE_TO_STACK_SUCCESS\n} from './actions';\nimport {CLASSIC} from '../../constants';\nimport {isEqual} from 'lodash';\nimport {createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\nexport const pushToStack = createAuthedOnlyHttpEffect('/api/now/ui/stack', {\n\tmethod: 'PUT',\n\tbatch: false,\n\tqueryParams: ['sysparm_uri', 'sysparm_nameofstack'],\n\tdata: 'data',\n\tsuccessActionType: PUSHED_UXF_PAGE_TO_STACK_SUCCESS,\n\terrorActionType: PUSHED_UXF_PAGE_TO_STACK_FAILURE\n});\n\nconst pushToStackSuccess = () => {\n\t//\tconsole.info('uri addedto stack');\n};\n\nconst pushToStackFailure = () => {\n\tconsole.error('Error while trying to push to stack');\n};\n\nexport default {\n\tname: 'NAVIGATION_STACK_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) {\n\t\t\tif (name === 'selectedContent') {\n\t\t\t\tif (\n\t\t\t\t\tvalue &&\n\t\t\t\t\tvalue.route !== CLASSIC &&\n\t\t\t\t\t(!isEqual(previousValue?.context, value.context) ||\n\t\t\t\t\t\t!isEqual(previousValue?.route, value.route) ||\n\t\t\t\t\t\t!isEqual(previousValue?.fields, value.fields))\n\t\t\t\t) {\n\t\t\t\t\tconst currentUrl = window.location.pathname;\n\t\t\t\t\tconst glideStackName = value?.params?.glideStackName;\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(PUSHED_UXF_PAGE_TO_STACK, {\n\t\t\t\t\t\t\t\tsysparm_uri: currentUrl,\n\t\t\t\t\t\t\t\tsysparm_nameofstack: glideStackName\n\t\t\t\t\t\t\t\t\t? glideStackName\n\t\t\t\t\t\t\t\t\t: 'default',\n\t\t\t\t\t\t\t\tsysparm_clear_stack: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PUSHED_UXF_PAGE_TO_STACK]: pushToStack,\n\t\t[PUSHED_UXF_PAGE_TO_STACK_SUCCESS]: pushToStackSuccess,\n\t\t[PUSHED_UXF_PAGE_TO_STACK_FAILURE]: pushToStackFailure\n\t}\n};\n","import {FEEDBACK_FORM_ACTIONS} from '../../components/sn-feedback-form';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst handleFeedbackFormOpen = (coeffects) => {\n\tconst {updateState, dispatch} = coeffects;\n\tdispatch('SET_ACTIVE_MODAL', {id: 'feedback-modal'});\n\tupdateState({\n\t\tshowFeedbackForm: true\n\t});\n};\n\nconst handleFeedbackFormClose = (coeffects) => {\n\tconst {updateState, dispatch} = coeffects;\n\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\tupdateState({\n\t\tshowFeedbackForm: false\n\t});\n};\n\nexport default {\n\tname: 'FEEDBACK_FORM_BEHAVIOR',\n\tinitialState: {\n\t\tshowFeedbackForm: false\n\t},\n\tactionHandlers: {\n\t\t[FEEDBACK_FORM_ACTIONS.OPEN]: {\n\t\t\teffect: handleFeedbackFormOpen,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FEEDBACK_FORM_ACTIONS.CLOSE]: {\n\t\t\teffect: handleFeedbackFormClose,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.CLOSE);\n\t\t\t}\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET': {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {value}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!value) {\n\t\t\t\t\thandleFeedbackFormClose(coeffects);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import {\n\tOVERVIEW_HELP_VISITED,\n\tOVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V,\n\tUSER_PREF_UPDATED\n} from '../constants';\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\n\nexport const defaultGuidance = '70e8b5fbc31a3010b6cb4b46dd40dd57';\nexport const guidanceWithNowAssist = 'ca7201f243022110096aa4f8f9b8f287';\n\nconst isHelpVisited = (userPreferences, isNowAssistEnabled) => {\n\tconst preference = isNowAssistEnabled\n\t\t? OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V\n\t\t: OVERVIEW_HELP_VISITED;\n\n\treturn getBooleanPreferenceValue(userPreferences, preference);\n};\n\nexport default function setHelpVisited(\n\tdispatch,\n\tisNowAssistEnabled,\n\tuserPreferences\n) {\n\tif (!isHelpVisited(userPreferences, isNowAssistEnabled)) {\n\t\t// Dispatch guidance if polaris is on, this is the logged in users first time experience\n\t\tdispatch('SN_HELP#GUIDANCE_START_REQUESTED', {\n\t\t\tguidanceId: isNowAssistEnabled ? guidanceWithNowAssist : defaultGuidance\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: OVERVIEW_HELP_VISITED,\n\t\t\tvalue: true\n\t\t});\n\n\t\tif (isNowAssistEnabled) {\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V,\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t}\n\t}\n}\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {actionTypes} from '@servicenow/ui-core';\nimport cache from '../../utils/cache';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport setHelpVisited from '../../utils/setHelpVisited';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\nimport {setActionState} from '../../utils/keyboard-shortcut-wrapper';\nimport {\n\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED\n} from '../../components/sn-polaris-layout/actions';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {\n\tNOW_ASSIST_BEHAVIOR,\n\tNOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED,\n\tNOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED_SUCCEEDED,\n\tNOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED,\n\tNOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED_SUCCEEDED,\n\tNOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL,\n\tNOW_ASSIST_CHAT_MESSAGE_RECEIVED,\n\tFETCH_CONVERSATION_LIST,\n\tFETCH_CONVERSATION_LIST_SUCCESS,\n\tCHECK_MULTI_CONVERSATION_ENABLED_NAP,\n\tCHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS,\n\tSYS_CS_CHANNEL_NAME_FOR_NAP,\n\tUNIFIED_NAV_UX_APP_ID,\n\tFETCH_CONVERSATION_COUNT_SUCCESS,\n\tFETCH_CONVERSATION_COUNT,\n\tAIEL,\n\tAIEL_SERVICE_UNAVAILABLE,\n\tAIEL_UNAVAILABLE_MODAL_DISMISSED,\n\tAIEL_SERVICE_AVAILABLE\n} from './constants';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {CLASSIC, NOW_ASSIST_MENU_ID} from '../../constants';\n\nconst subscribeToNowAssistConversation = createAmbSubscriptionEffect(\n\t'/nap/unread/message/count/:userSysId',\n\t{\n\t\tmessageReceivedActionType: NOW_ASSIST_CHAT_MESSAGE_RECEIVED\n\t}\n);\n\nconst getUnreadChatCount = createHttpEffect(\n\t'api/now/v1/cs/consumerAccount/unreadConversationCount',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_return_only', 'sysparm_deviceType'],\n\t\tsuccessActionType: FETCH_CONVERSATION_COUNT_SUCCESS\n\t}\n);\n\nconst getUnreadConversation = createHttpEffect(\n\t'api/now/v1/cs/consumerAccount/unreadConversation',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_return_only', 'portal', 'isOffglide'],\n\t\tsuccessActionType: FETCH_CONVERSATION_LIST_SUCCESS\n\t}\n);\n\nconst checkMultiConversationEnabledForNAP = createHttpEffect(\n\t'api/now/v1/cs/console/channel',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['channelName'],\n\t\tsuccessActionType: CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS\n\t}\n);\n\nconst checkNowAssistPanelEnabled = createGraphQLEffect(\n\t`\n\t    query { \n            now { \n                nowAssistUtility {\n                    napActive\n                }\n            }\n        }\n\t`,\n\t{\n\t\tsuccessActionType: NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED_SUCCEEDED\n\t}\n);\n\nconst checkVoiceInputEnabled = createGraphQLEffect(\n\t`\n\t\tquery { \n\t\t\tnow { \n\t\t\t\tnowAssistUtility {\n\t\t\t\t\tnapVoiceInputActive\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`,\n\t{\n\t\tsuccessActionType: NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED_SUCCEEDED\n\t}\n);\n\nexport const aielActiveForFulfiller = createGraphQLEffect(\n\t`\n    query { \n            now { \n                    nowAssistUtility {\n                        aielActiveForFulfiller\n                }\n            }\n        }`,\n\t{\n\t\tsuccessActionType: AIEL.AIEL_ACTIVE_FOR_FULFILLER_SUCCESS\n\t}\n);\n\nconst handleInitialPinAIEXLaunch = ({\n\tdispatch,\n\tisAIELEnabled,\n\tcontextualMenuState,\n\tnapShortcutCommand,\n\tisNowAssistUnavailable\n}) => {\n\t// Maintain pinned menu if AIEL is enabled\n\tif (isAIELEnabled && !isNowAssistUnavailable) {\n\t\t// Check if AIEL is contextual menu pinned\n\t\tconst isContextualMenuPinned =\n\t\t\tcontextualMenuState.pinnedMenuId === NOW_ASSIST_MENU_ID ||\n\t\t\tcontextualMenuState.pinnedMenuId === 'nowAssist';\n\n\t\tif (isContextualMenuPinned) {\n\t\t\t// Open AIEL if it is pinned\n\t\t\tdispatch('AI_ENGAGEMENT_LAUNCH_EXPERIENCE', {\n\t\t\t\tnapShortcutCommand,\n\t\t\t\tconversationId: contextualMenuState?.additionalData?.conversationId,\n\t\t\t\thostType: 'unified-navigation'\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst eventListeners = new WeakMap();\n\nexport default {\n\tname: NOW_ASSIST_BEHAVIOR,\n\tinitialState: {\n\t\tisNowAssistEnabled: false,\n\t\tisVoiceInputEnabled: false\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED]({dispatch, host}) {\n\t\t\tconst onServiceUnavailable = (event) => {\n\t\t\t\tdispatch(AIEL_SERVICE_UNAVAILABLE, {\n\t\t\t\t\treason: event.detail?.reason\n\t\t\t\t});\n\t\t\t};\n\t\t\tconst onServiceAvailable = () => {\n\t\t\t\tdispatch(AIEL_SERVICE_AVAILABLE);\n\t\t\t};\n\n\t\t\teventListeners.set(host, {\n\t\t\t\tonServiceUnavailable,\n\t\t\t\tonServiceAvailable\n\t\t\t});\n\n\t\t\twindow.addEventListener('aiel-service-unavailable', onServiceUnavailable);\n\t\t\twindow.addEventListener('aiel-service-available', onServiceAvailable);\n\n\t\t\t// Handle case where AIEL already resolved before this listener was registered\n\t\t\tif (window.__aielServiceAvailable) {\n\t\t\t\tdispatch(AIEL_SERVICE_AVAILABLE);\n\t\t\t} else if (window.__aielServiceUnavailable) {\n\t\t\t\tif (window.__aielServiceUnavailable.reason !== 'loading') {\n\t\t\t\t\tdispatch(AIEL_SERVICE_UNAVAILABLE, {\n\t\t\t\t\t\treason: window.__aielServiceUnavailable.reason\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_DISCONNECTED]({host}) {\n\t\t\tconst listeners = eventListeners.get(host);\n\t\t\tif (listeners) {\n\t\t\t\tconst {onServiceUnavailable, onServiceAvailable} = listeners;\n\t\t\t\tif (onServiceUnavailable) {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'aiel-service-unavailable',\n\t\t\t\t\t\tonServiceUnavailable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (onServiceAvailable) {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'aiel-service-available',\n\t\t\t\t\t\tonServiceAvailable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\teventListeners.delete(host);\n\t\t\t}\n\t\t},\n\t\t[AIEL_SERVICE_AVAILABLE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tsessionStorage.removeItem('aiel-retry-pending');\n\t\t\t\tupdateState({\n\t\t\t\t\tisNowAssistUnavailable: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AIEL_SERVICE_UNAVAILABLE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst retryPending =\n\t\t\t\t\tsessionStorage.getItem('aiel-retry-pending') === 'true';\n\t\t\t\tsessionStorage.removeItem('aiel-retry-pending');\n\t\t\t\tupdateState({\n\t\t\t\t\tisNowAssistUnavailable: true,\n\t\t\t\t\t...(retryPending ? {nowAssistUnavailableModalOpened: true} : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AIEL_UNAVAILABLE_MODAL_DISMISSED]: {\n\t\t\teffect: () => {\n\t\t\t\tsessionStorage.setItem('aiel-retry-pending', 'true');\n\t\t\t\tdelete window.__aielServiceUnavailable;\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'now-assist-unavailable' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tnowAssistUnavailableModalOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) {\n\t\t\t// Make sure that the off-glide AIEL is present\n\t\t\tif (window.__AIEX_GLOBALS__) {\n\t\t\t\t// Check for non-core-UI selected content changes\n\t\t\t\tif (name === 'selectedContent' && value?.route !== CLASSIC) {\n\t\t\t\t\tconst acceptedTypes = ['record', 'list', 'home', 'search'];\n\n\t\t\t\t\tconst pageContext = {\n\t\t\t\t\t\t...(value.fields?.table && {table: value.fields?.table}),\n\t\t\t\t\t\t...(value.fields?.sysId && {sysId: value.fields?.sysId}),\n\t\t\t\t\t\ttype: acceptedTypes.includes(value.route) ? value.route : 'other',\n\t\t\t\t\t\troute: value.route,\n\t\t\t\t\t\texperienceName: 'workspace',\n\t\t\t\t\t\tpageType: 'UXF'\n\t\t\t\t\t};\n\n\t\t\t\t\twindow.__AIEX_GLOBALS__.updatePageContext?.(pageContext);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\tstate: {contextualMenuState, napShortcutCommand},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {enabledPlugins}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (getFeatureSettings().isPolarisEnabled) {\n\t\t\t\t\tconst isGenAIEnabled = (\n\t\t\t\t\t\tenabledPlugins.find(({id}) => id === 'com.glide.cs.genai') || {}\n\t\t\t\t\t).active;\n\n\t\t\t\t\t// Check if we have whether AIEL is enabled in cache\n\t\t\t\t\tconst isAIELEnabled = cache.get('isAIELEnabled');\n\t\t\t\t\tif (isAIELEnabled !== undefined) {\n\t\t\t\t\t\tupdateState({isAIELEnabled});\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tif (isGenAIEnabled) {\n\t\t\t\t\t\t\t\tdispatch(NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED);\n\n\t\t\t\t\t\t\t\t// If we don't have AIEL enabled in cache, fetch it\n\t\t\t\t\t\t\t\tif (isAIELEnabled === undefined) {\n\t\t\t\t\t\t\t\t\tdispatch(AIEL.AIEL_ACTIVE_FOR_FULFILLER_REQUEST);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thandleInitialPinAIEXLaunch({\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\tisAIELEnabled,\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\t\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\t\t\t\t\t\tisNowAssistUnavailable: window.__aielServiceUnavailable\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tdispatch(NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED);\n\t\t\t\t\t\t\t} else setHelpVisited(dispatch, false, userPreferences);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED]: checkNowAssistPanelEnabled,\n\t\t[NOW_ASSIST_BEHAVIOR_CHECK_PANEL_ENABLED_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnow: {\n\t\t\t\t\t\t\t\tnowAssistUtility: {napActive: isNowAssistEnabled}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisNowAssistEnabled\n\t\t\t\t});\n\n\t\t\t\tsetActionState(\n\t\t\t\t\thost?.componentId,\n\t\t\t\t\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\t\t\t\t\tisNowAssistEnabled\n\t\t\t\t);\n\n\t\t\t\tif (isNowAssistEnabled) {\n\t\t\t\t\tdispatch(CHECK_MULTI_CONVERSATION_ENABLED_NAP, {\n\t\t\t\t\t\tchannelName: SYS_CS_CHANNEL_NAME_FOR_NAP\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER', {\n\t\t\t\t\t\thostComponent: host\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tsetHelpVisited(dispatch, isNowAssistEnabled, userPreferences);\n\t\t\t}\n\t\t},\n\t\t[NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED]: checkVoiceInputEnabled,\n\t\t[NOW_ASSIST_BEHAVIOR_CHECK_VOICE_INPUT_ENABLED_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnow: {\n\t\t\t\t\t\t\t\tnowAssistUtility: {napVoiceInputActive: isVoiceInputEnabled}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tconst voiceInputPref = getBooleanPreferenceValue(\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tPREFERENCES.VOICE_INPUT,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tconst isVoiceInputActive = voiceInputPref && isVoiceInputEnabled;\n\n\t\t\t\tsetActionState(\n\t\t\t\t\thost?.componentId,\n\t\t\t\t\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED,\n\t\t\t\t\tisVoiceInputActive\n\t\t\t\t);\n\n\t\t\t\t// Need to keep value without preference checked because we use this value to show/hide the preference pill\n\t\t\t\tupdateState({\n\t\t\t\t\tisVoiceInputEnabled: isVoiceInputEnabled\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[AIEL.AIEL_ACTIVE_FOR_FULFILLER_REQUEST]: aielActiveForFulfiller,\n\t\t[AIEL.AIEL_ACTIVE_FOR_FULFILLER_SUCCESS]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {data}\n\t\t\t\t\t},\n\t\t\t\t\tstate: {contextualMenuState, napShortcutCommand}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst isAIELEnabled =\n\t\t\t\t\tdata?.now?.nowAssistUtility?.aielActiveForFulfiller;\n\n\t\t\t\t// Mark service as unavailable when AIEL assets haven't loaded yet (ai_native_chat experience)\n\t\t\t\t// Only applies when __aielServiceUnavailable is set by sn-uxr-base\n\t\t\t\tif (\n\t\t\t\t\tisAIELEnabled &&\n\t\t\t\t\t!window.__aielServiceAvailable &&\n\t\t\t\t\twindow.__aielServiceUnavailable\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisNowAssistUnavailable: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tisAIELEnabled\n\t\t\t\t});\n\n\t\t\t\t// Set AIEL enabled in cache\n\t\t\t\tcache.set('isAIELEnabled', isAIELEnabled);\n\n\t\t\t\thandleInitialPinAIEXLaunch({\n\t\t\t\t\tdispatch,\n\t\t\t\t\tisAIELEnabled,\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\tisNowAssistUnavailable:\n\t\t\t\t\t\t!window.__aielServiceAvailable && window.__aielServiceUnavailable\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CHECK_MULTI_CONVERSATION_ENABLED_NAP]: checkMultiConversationEnabledForNAP,\n\t\t[NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL]: subscribeToNowAssistConversation,\n\t\t[CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userSession},\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tsupportsMultipleConversations: supportsMultipleConversations\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstate\n\t\t\t}) => {\n\t\t\t\tif (state.isAIELEnabled) {\n\t\t\t\t\tdispatch(NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserSysId: userSession.user.sys_id\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(FETCH_CONVERSATION_LIST, {\n\t\t\t\t\t\tsysparm_return_only: 'count',\n\t\t\t\t\t\tportal: UNIFIED_NAV_UX_APP_ID,\n\t\t\t\t\t\t...(window.__aielServiceAvailable && {isOffglide: true})\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (supportsMultipleConversations) {\n\t\t\t\t\tdispatch(NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserSysId: userSession.user.sys_id\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(FETCH_CONVERSATION_COUNT, {\n\t\t\t\t\t\tsysparm_return_only: 'count',\n\t\t\t\t\t\tsysparm_deviceType: 'nowassistpanel'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_LIST]: getUnreadConversation,\n\t\t[FETCH_CONVERSATION_COUNT]: getUnreadChatCount,\n\t\t[NOW_ASSIST_CHAT_MESSAGE_RECEIVED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {data}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: Number(data?.conversationCount) || 0\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_COUNT_SUCCESS]: {\n\t\t\teffect: ({updateState, action}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: action.payload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_LIST_SUCCESS]: {\n\t\t\teffect: ({updateState, action}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: action.payload?.totalUnreadMessageCount\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {isEmpty} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../../constants';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport default {\n\tname: 'USAGE_ANALYTICS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {userSettingsAccess, selectedContent},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name !== 'userSettingsAccess' && name !== 'selectedContent') return;\n\n\t\t\t\tif (!isEmpty(selectedContent)) {\n\t\t\t\t\tconst experiencePath = selectedContent.context?.path;\n\t\t\t\t\tconst experienceConfigs = window?.ux_globals?.experienceConfigs;\n\t\t\t\t\tconst applicationId =\n\t\t\t\t\t\texperienceConfigs?.[experiencePath]?.experienceId;\n\t\t\t\t\tconst restrictedApplications = getProperty(\n\t\t\t\t\t\tSYS_PROPS.ANALYTICS_RESTRICTIONS,\n\t\t\t\t\t\t''\n\t\t\t\t\t)?.split(',');\n\n\t\t\t\t\t// Ensure the current application id is not restricted from analytics\n\t\t\t\t\tconst appNotAnalyticsRestricted = !restrictedApplications.includes(\n\t\t\t\t\t\tapplicationId\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisUsageAnalyticsEnabled:\n\t\t\t\t\t\t\tuserSettingsAccess?.showUsageAnalyticsMenu &&\n\t\t\t\t\t\t\tappNotAnalyticsRestricted,\n\t\t\t\t\t\tapplicationId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","const atfUtils = {\n\tgetInspectorToggledUrl(href, enabled = null) {\n\t\tconst classicIdentifier = '/params/target/';\n\t\tconst decodedHref = decodeURIComponent(href);\n\n\t\tif (\n\t\t\t(decodedHref.indexOf('$atf_page_inspector.do') > -1 && enabled) ||\n\t\t\t(decodedHref.indexOf('$atf_page_inspector.do') < 0 && !enabled)\n\t\t) {\n\t\t\treturn href;\n\t\t} else if (decodedHref.indexOf('$atf_page_inspector.do') < 0) {\n\t\t\tconst uriParts = href.split(classicIdentifier);\n\n\t\t\treturn (\n\t\t\t\turiParts[0] +\n\t\t\t\tclassicIdentifier +\n\t\t\t\tencodeURIComponent(\n\t\t\t\t\t'$atf_page_inspector.do?sysparm_stack=no&sysparm_url='\n\t\t\t\t) +\n\t\t\t\tencodeURIComponent(uriParts[1])\n\t\t\t);\n\t\t} else {\n\t\t\tconst uriParts = decodedHref.split('sysparm_url=');\n\n\t\t\treturn (\n\t\t\t\thref.split(classicIdentifier)[0] +\n\t\t\t\tclassicIdentifier +\n\t\t\t\turiParts[1].split('&')[0] // Trim off any non-original parameters\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport default atfUtils;\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {findTabbableNodes} from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-loader';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tgetBooleanPreferenceValue,\n\tPREFERENCES,\n\tgetPreferenceValue,\n\tSYS_PROPS,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport tabbedFormImg from '@servicenow/now-illustration/src/assets/tile-icons/related-list.svg';\nimport linebreakImg from '@servicenow/now-illustration/src/assets/tile-icons/line-break.svg';\nimport spacingImg from '@servicenow/now-illustration/src/assets/tile-icons/compact-mode.svg';\nimport formTooltipsImg from '@servicenow/now-illustration/src/assets/tile-icons/form-circle-info.svg';\nimport topNavImg from '@servicenow/now-illustration/src/assets/tile-icons/window-open.svg';\nimport keyboardShortcuts from '@servicenow/now-illustration/src/assets/tile-icons/keyboard-shortcut.svg';\nimport dataViz from '@servicenow/now-illustration/src/assets/tile-icons/chart-pie.svg';\nimport removeMotion from '@servicenow/now-illustration/src/assets/tile-icons/motion.svg';\nimport a11yUI16 from '@servicenow/now-illustration/src/assets/tile-icons/tab-stops.svg';\nimport screenReader from '@servicenow/now-illustration/src/assets/tile-icons/table-data.svg';\nimport timeFormatImg from '@servicenow/now-illustration/src/assets/tile-icons/date-picker.svg';\nimport keyboardTruncation from '@servicenow/now-illustration/src/assets/tile-icons/truncated-text.svg';\nimport atfInspectorIcon from '@servicenow/now-illustration/src/assets/tile-icons/automated-test-framework.svg';\nimport scriptDebuggerIcon from '@servicenow/now-illustration/src/assets/tile-icons/code-bug.svg';\nimport seismicDebuggerIcon from '@servicenow/now-illustration/src/assets/tile-icons/bug-open.svg';\nimport displayIcon from '@servicenow/now-illustration/src/assets/tile-icons/monitor.svg';\nimport analyticsIcon from '@servicenow/now-illustration/src/assets/tile-icons/kpi-chart.svg';\nimport ribbonImg from '@servicenow/now-illustration/src/assets/tile-icons/ribbon.svg';\nimport sidebarImg from '@servicenow/now-illustration/src/assets/tile-icons/side-panel.svg';\nimport showBannersImg from '@servicenow/now-illustration/src/assets/tile-icons/show-banner.svg';\nimport showBadgeCountImg from '@servicenow/now-illustration/src/assets/tile-icons/bell-notification.svg';\nimport {\n\tgetDateTimeSelectedItem,\n\tgetHomepageTitle,\n\tgetSeismicDevtoolChromeWebstoreURL,\n\tisAtfInspectorEnabled,\n\tisDashboardsEnabled,\n\tisUserExperienceTabEnabled,\n\tpreferenceNamespace,\n\tshowSeismicDevtoolsPrefPanel\n} from './user-preference-object-generator.utils';\nimport {\n\tCLASSIC,\n\tENABLE_SOURCE_MAPS,\n\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\tUSER_PREF_POLARIS_USE,\n\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\tUSER_PREF_UPDATED\n} from '../../constants';\nimport get from 'lodash/get';\n\n// Needs to grab from now-illustration asset library once DEF0582926 resolved\nimport invisibleControls from './resources/tileicon-preferences-show-hidden-controls.svg';\nimport voiceInput from './resources/tileicon-preferences-voice-input.svg';\nimport activityExpandedImg from './resources/tileicon-preferences-activity-expanded.svg';\nimport favoritePopupIcon from './resources/tileicon-preferences-favorites-popover.svg';\nimport superFilter from './resources/tileicon-preferences-superfilter.svg';\n// To be uncommented when HDS needs the auto-focus user pref\n// import autoFocusAlertsImg from './resources/tileicon-preferences-auto-focus.svg';\nimport autoDismissAlertsImg from './resources/tileicon-preferences-auto-dismiss.svg';\nimport lazyLoadingImg from './resources/tileicon-preferences-lazy-loading.svg';\nimport cache from '../../utils/cache';\nimport {UPDATE_TELEMETRY_TRACKING} from '../telemetry-behavior';\nimport {USER_SETTINGS_UPDATE_STATE} from '../user-settings-behavior/actions';\nimport {\n\tTHEME_VARIANT_CHANGED,\n\tTHEME_INFODENSITY_CHANGED\n} from '../theme-behavior';\nimport {EVENTS} from '../user-settings-behavior';\nimport atfUtils from '../../utils/atfUtils';\n\nexport const getUserPrefsMap = ({\n\tuserPreferences,\n\thasFavorites,\n\tavailableThemes = [],\n\tcurrentRouteHeaderConfig,\n\thasAdminRole,\n\tisAppseeActive,\n\tisTelemetryToggleAllowed,\n\tisVoiceInputEnabled,\n\tenabledPlugins,\n\tisPolarisEnabled,\n\ttelemetryToggleState,\n\tmultiThemeEnabled,\n\tnotificationUrl = '/np.do?sysparm_nostack=true',\n\thasWorkspaces,\n\tdispatch,\n\tuserMeta,\n\tselectedContent,\n\tpageTitle\n}) => {\n\tconst dir = document.dir;\n\n\t// WORKSPACE DATA\n\tconst hasApplicationsTab = get(\n\t\tcurrentRouteHeaderConfig,\n\t\t'privatePage.userPrefsEnabled',\n\t\tfalse\n\t);\n\n\tconst userMenuChildren = get(\n\t\tcurrentRouteHeaderConfig,\n\t\t'privatePage.globalTools.primaryItems[0].value.children',\n\t\t[]\n\t);\n\n\tconst preferences = userMenuChildren.find(({type}) => type === 'menu')?.value\n\t\t?.children;\n\n\tconst showRibbonObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t);\n\n\tconst lazyLoadingObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_LAZY_LOADING\n\t);\n\n\tconst showSidebarObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t);\n\n\tconst showActivityExpandedObject = preferences?.find(\n\t\t({value}) =>\n\t\t\tvalue?.userPrefName === PREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t);\n\n\tconst showBannersObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_BANNERS\n\t);\n\n\tconst showBadgeCountObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t);\n\n\t// USER EXPERIENCE DATA\n\tconst homepageTitle = getHomepageTitle(userPreferences);\n\n\tlet finalLandingPageItems = [\n\t\t{\n\t\t\tid: 'NULL',\n\t\t\tlabel: t('Use the default')\n\t\t},\n\t\t{\n\t\t\tid: 'default',\n\t\t\tlabel: t('Use Homepages')\n\t\t},\n\t\t{\n\t\t\tid: '$pa_dashboard.do',\n\t\t\tlabel: t('Use Dashboards')\n\t\t},\n\t\t{\n\t\t\tid: 'current',\n\t\t\tlabel: t(\"Use the page I'm on now\")\n\t\t},\n\t\t{\n\t\t\tid: 'continue',\n\t\t\tlabel: t('Continue where I last left off')\n\t\t}\n\t];\n\n\tif (getBooleanProperty(SYS_PROPS.DEPRECATE_HOMEPAGES, true)) {\n\t\tfinalLandingPageItems = finalLandingPageItems.filter(\n\t\t\t({id}) => id !== 'default'\n\t\t);\n\t}\n\n\tif (!isDashboardsEnabled({userRoles: userMeta?.roles, enabledPlugins})) {\n\t\tfinalLandingPageItems = finalLandingPageItems.filter(\n\t\t\t({id}) => id !== '$pa_dashboard.do'\n\t\t);\n\t}\n\n\tconst analyticsPrivacyStatement = getProperty(\n\t\tSYS_PROPS.ANALYTICS_PRIVACY_STATEMENT,\n\t\t''\n\t);\n\n\t// THEMING DATA\n\tconst mediaQuery = window.matchMedia('(forced-colors: active)');\n\tconst highContrastEnabled = !mediaQuery || mediaQuery.matches;\n\tconst defaultTheme = availableThemes?.[0]?.sys_id || '';\n\tconst themeVariantPreferenceName =\n\t\tpreferenceNamespace() + PREFERENCES.NAMESPACED.THEME_VARIANT;\n\n\tconst themePreferenceName =\n\t\tpreferenceNamespace() + PREFERENCES.NAMESPACED.THEME;\n\n\tconst selectedTheme = getPreferenceValue(\n\t\tuserPreferences,\n\t\tthemePreferenceName,\n\t\t''\n\t);\n\n\tconst selectedVariant = getPreferenceValue(\n\t\tuserPreferences,\n\t\tthemeVariantPreferenceName,\n\t\t''\n\t);\n\tconst isThemePrefValid = !!availableThemes.find(\n\t\t({sys_id}) => sys_id === selectedTheme\n\t);\n\n\t// REGION DATA\n\n\tconst calendarFormat = userMeta.dateFormat?.toUpperCase() || 'YYYY-MM-DD';\n\tconst dateTimeFormatItems = [\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":true}',\n\t\t\tlabel: t('{0} 09:00:01 5 min ago', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":true}/compact',\n\t\t\tlabel: t('{0} 09:00 5 min ago', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":false}',\n\t\t\tlabel: t('{0} 09:00:01', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":false}/compact',\n\t\t\tlabel: t('{0} 09:00', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":true,\"dateBoth\":false}',\n\t\t\tlabel: t('5 min ago')\n\t\t}\n\t];\n\n\treturn !isPolarisEnabled && hasApplicationsTab\n\t\t? {\n\t\t\t\tapplications: {\n\t\t\t\t\ttitle: t('Workspace'),\n\t\t\t\t\ticon: 'windows-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Display'),\n\t\t\t\t\t\t\tid: 'display',\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'show-ribbon': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show the ribbon'),\n\t\t\t\t\t\t\t\t\timage: ribbonImg,\n\t\t\t\t\t\t\t\t\timageId: 'ribbon-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_RIBBON,\n\t\t\t\t\t\t\t\t\t\tget(showRibbonObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the ribbon',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-sidebar': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: sidebarImg,\n\t\t\t\t\t\t\t\t\timageId: 'side-panel-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Show the sidebar'),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_SIDEBAR,\n\t\t\t\t\t\t\t\t\t\tget(showSidebarObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the sidebar',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-activity-expanded': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: activityExpandedImg,\n\t\t\t\t\t\t\t\t\timageId: 'activity-expanded-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Expand activity stream items by default'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Toggle this option to automatically expand all activities in activity stream.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED,\n\t\t\t\t\t\t\t\t\t\tget(showActivityExpandedObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Expand activity stream items by default',\n\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'wrap-list': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: linebreakImg,\n\t\t\t\t\t\t\t\t\timageId: 'line-break-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WRAP_LIST\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Put line breaks in lists'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Put line breaks in lists'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Notifications'),\n\t\t\t\t\t\t\tid: 'notifications',\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\tget(showBannersObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\tget(showBadgeCountObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t  }\n\t\t: {\n\t\t\t\tdisplay: {\n\t\t\t\t\ttitle: t('Display'),\n\t\t\t\t\ticon: 'monitor-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'tabbed-form': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: tabbedFormImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-related-list-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.TABBED_FORMS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t'Organize form sections and related lists into tabs in classic forms'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tevent: EVENTS.TABBED_FORMS,\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.TABBED_FORMS,\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Organize form sections and related lists into tabs in classic forms'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'related-list-loading': {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t{id: 'default', label: t('With the form')},\n\t\t\t\t\t\t\t\t\t\t{id: 'deferred', label: t('After the form loads')},\n\t\t\t\t\t\t\t\t\t\t{id: 'ondemand', label: t('On demand')}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.RELATED_LIST_LOADING,\n\t\t\t\t\t\t\t\t\t\t'default'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Load related lists in classic forms'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.RELATED_LIST_LOADING,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Load related lists in classic forms'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'wrap-list': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: linebreakImg,\n\t\t\t\t\t\t\t\t\timageId: 'line-break-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WRAP_LIST\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Put line breaks in lists'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tevent: EVENTS.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Put line breaks in lists'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcompact: {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: spacingImg,\n\t\t\t\t\t\t\t\t\timageId: 'compact-mode-polaris',\n\t\t\t\t\t\t\t\t\tchecked:\n\t\t\t\t\t\t\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.COMPACT\n\t\t\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\t\tgetPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\tpreferenceNamespace() +\n\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NAMESPACED.THEME_INFODENSITY,\n\t\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t\t\t) === 'compact',\n\t\t\t\t\t\t\t\t\ttitle: t('Use compact spacing mode'),\n\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.COMPACT,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.COMPACT,\n\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Use compact spacing mode'\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\tpreferenceNamespace() +\n\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NAMESPACED.THEME_INFODENSITY,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\ttrue: 'compact',\n\t\t\t\t\t\t\t\t\t\t\t\tfalse: 'default'\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_INFODENSITY_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedInfoDensity: value\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'field-tooltips': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: formTooltipsImg,\n\t\t\t\t\t\t\t\t\timageId: 'form-help-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.FIELD_TOOLTIPS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Show help tips on forms'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show help tips on forms',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.FIELD_TOOLTIPS,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'top-navigation-for-tab': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: topNavImg,\n\t\t\t\t\t\t\t\t\timageId: 'new-window-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tUSER_PREF_UI6_TABS_INSIDE_POLARIS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Always show top navigation'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'When opening a new browser tab or window from the menu, the top navigation persists so you can continue to access your menus.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Always show top navigation',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: USER_PREF_UI6_TABS_INSIDE_POLARIS\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(hasFavorites && window.innerWidth >= 530\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'favorites-popover': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: favoritePopupIcon,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'favorites-popover-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show ability to quick edit favorites'),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show ability to quick edit favorites',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t'enable-super-filter': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: superFilter,\n\t\t\t\t\t\t\t\t\timageId: 'superfilter-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.SUPER_FILTER_ENABLED,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t'Show results from other menus when filtering menu items'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\"This setting refers to the menus listed within the navigation. Within the Unified Navigation, you have the ability to display only the items listed in each menu or display some or all of the menus all in one view. The 'All' menu will show all items from every menu even if you set filtering preferences. Your list of menus may differ from the default list based on any customizations made by your admin.\"\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Show results from other menus when filtering menu items',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.SUPER_FILTER_ENABLED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'aiex-launch-mode-list': {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t{id: 'docked', label: t('Docked')},\n\t\t\t\t\t\t\t\t\t\t{id: 'floating', label: t('Floating')},\n\t\t\t\t\t\t\t\t\t\t{id: 'modal', label: t('Modal')}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.AIEX_LAUNCH_MODE || 'com.glide.aiex.launch_mode'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Now Assist Launch Mode'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t//TODO: Remove hardcoded property name once the unav-utils version issue on WM is resolved.\n\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.AIEX_LAUNCH_MODE ||\n\t\t\t\t\t\t\t\t\t\t\t'com.glide.aiex.launch_mode',\n\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Now Assist Launch Mode'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t...(availableThemes.length > 1 ||\n\t\t\t\tavailableThemes?.[0]?.variants.length > 1\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttheme: {\n\t\t\t\t\t\t\t\ttitle: t('Theme'),\n\t\t\t\t\t\t\t\tsubtitle: highContrastEnabled\n\t\t\t\t\t\t\t\t\t? t(\n\t\t\t\t\t\t\t\t\t\t\t'Theme preference settings are disabled when high contrast mode is turned on.'\n\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\ticon: 'palette-outline',\n\t\t\t\t\t\t\t\tenabled: !highContrastEnabled,\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: availableThemes.reduce((acc, theme) => {\n\t\t\t\t\t\t\t\t\t\t\tconst isCurrentThemeSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t!selectedTheme || !isThemePrefValid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? theme.sys_id === defaultTheme\n\t\t\t\t\t\t\t\t\t\t\t\t\t: theme.sys_id === selectedTheme;\n\n\t\t\t\t\t\t\t\t\t\t\t//If a theme is selected, we want to find which variant is selected\n\t\t\t\t\t\t\t\t\t\t\tconst selectedThemeVariant = isCurrentThemeSelected\n\t\t\t\t\t\t\t\t\t\t\t\t? theme.variants?.find(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t({sys_id}) => sys_id === selectedVariant\n\t\t\t\t\t\t\t\t\t\t\t\t  ) || theme.variants[0]\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\t\t\t\t\tacc[theme.sys_id] = {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'theme',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: theme.name,\n\t\t\t\t\t\t\t\t\t\t\t\tthemeProperties: theme.properties,\n\t\t\t\t\t\t\t\t\t\t\t\tisThemeSelected: isCurrentThemeSelected,\n\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: selectedThemeVariant,\n\t\t\t\t\t\t\t\t\t\t\t\ttheme,\n\t\t\t\t\t\t\t\t\t\t\t\tvariants: theme.variants,\n\t\t\t\t\t\t\t\t\t\t\t\tisCardClickable: multiThemeEnabled,\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: multiThemeEnabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: theme.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: theme.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themePreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themePreferenceName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_VARIANT_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttheme: theme.theme\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_VARIANT_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t\t}, {})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\ta11y: {\n\t\t\t\t\ttitle: t('Accessibility'),\n\t\t\t\t\ticon: 'accessibility-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'date-time-labels': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: timeFormatImg,\n\t\t\t\t\t\t\t\t\timageId: 'date-picker-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Show date and time formats on forms'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Date/time format shows in field name so that format is still available when the field is in focus.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_DATE_FORMAT\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show date and time formats on forms',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'screen-reader': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: screenReader,\n\t\t\t\t\t\t\t\t\timageId: 'enable-table-data-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Enable data table for charts and graphs'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Shows a table with chart and graph data for easier screen reader access.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_SCREEN_READER\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable data table for charts and graphs',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_SCREEN_READER,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'data-viz': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: dataViz,\n\t\t\t\t\t\t\t\t\timageId: 'simplify-chart-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Replace colors with patterns in charts and graphs'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Adjusts charts and graphs to display with a pattern such as stripes or dashed lines instead of just a color.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.DATA_VIZ\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Replace colors with patterns in charts and graphs',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DATA_VIZ,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'remove-motion': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: removeMotion,\n\t\t\t\t\t\t\t\t\timageId: 'animation-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Reduce motion'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Reduces animations to prevent triggering vestibular issues such as migraines, dizziness, or headaches.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.DISABLE_ANIMATION\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Reduce motion',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DISABLE_ANIMATION,\n\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_SETTINGS_UPDATE_STATE, {\n\t\t\t\t\t\t\t\t\t\t\t\tpath: 'animationsEnabled',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: value != true\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.KEYBOARD_SHORTCUTS_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'keyboard-shortcuts': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: keyboardShortcuts,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'keyboard-shortcut-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Enable keyboard shortcuts'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'These shortcuts let you start a global search, skip to the main screen content, and more.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t\t\t\t\t\t\turl:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'/api/now/v1/context_doc_url/next-experience-keyboard-shortcuts',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Keyboard shortcut help'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTab: true\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable keyboard shortcuts',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.KEYBOARD_SHORTCUTS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t'classic-a11y': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: a11yUI16,\n\t\t\t\t\t\t\t\t\timageId: 'tab-stops-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Enable accessibility in classic'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Extend keyboard navigation and allow more tab stops in classic UI so you can tab to icons and buttons in lists, form fields, and cards. It also presents additional info on forms.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_UI16\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable accessibility in classic',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_UI16,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'invisible-controls': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: invisibleControls,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-hidden-controls-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show all buttons without the need to hover'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Displays all buttons, eliminating the need to hover, for easier access.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.SHOW_HIDDEN_CONTROLS\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Show all buttons without the need to hover',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.SHOW_HIDDEN_CONTROLS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_SETTINGS_UPDATE_STATE, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: 'showHiddenControls',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: value == true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}); // prefs can be string\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'keyboard-truncation': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: keyboardTruncation,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'tooltip-stops-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable keyboard focus on text that displays a tooltip'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enhance keyboard navigation to encompass elements like truncated text and asterisks on required fields, which display tooltips on mouse hover but are non-interactive when clicked. This ensures all users can access essential information regardless of how they navigate.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.TRUNCATED_TEXT\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable keyboard focus on text that displays a tooltip',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.TRUNCATED_TEXT\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t...(isVoiceInputEnabled\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'voice-input': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: voiceInput,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'voice-input',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Enable voice input for the Now Assist panel'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Activate voice input to speak commands and interact with Now Assist Panel using your voice.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.VOICE_INPUT\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable voice input for the Now Assist panel',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.VOICE_INPUT,\n\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t// To be uncommented when HDS needs the auto-focus user pref\n\t\t\t\t\t\t\t\t// 'auto-focus-alerts': {\n\t\t\t\t\t\t\t\t// \ttype: 'toggle',\n\t\t\t\t\t\t\t\t// \timage: autoFocusAlertsImg,\n\t\t\t\t\t\t\t\t// \timageId: 'auto-focus-alerts',\n\t\t\t\t\t\t\t\t// \ttitle: t('Enable auto-focus on page alerts'),\n\t\t\t\t\t\t\t\t// \tsubtitle: t(\n\t\t\t\t\t\t\t\t// \t\t'When a page alert appears, focus will automatically move to the alert.'\n\t\t\t\t\t\t\t\t// \t),\n\t\t\t\t\t\t\t\t// \tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t// \t\tuserPreferences,\n\t\t\t\t\t\t\t\t// \t\tPREFERENCES.AUTO_FOCUS_ALERTS,\n\t\t\t\t\t\t\t\t// \t\tfalse\n\t\t\t\t\t\t\t\t// \t),\n\t\t\t\t\t\t\t\t// \tpayload: {\n\t\t\t\t\t\t\t\t// \t\tmetricsName: 'Enable auto-focus on page alerts',\n\t\t\t\t\t\t\t\t// \t\tpreferenceName: PREFERENCES.AUTO_FOCUS_ALERTS\n\t\t\t\t\t\t\t\t// \t}\n\t\t\t\t\t\t\t\t// },\n\t\t\t\t\t\t\t\t'keep-alerts': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: autoDismissAlertsImg,\n\t\t\t\t\t\t\t\t\timageId: 'keep-alerts',\n\t\t\t\t\t\t\t\t\ttitle: t('Do not auto-dismiss page alerts'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Page alerts may disappear after a certain amount of time when preference is turned off. When preference is turned on, page alerts will not dismiss.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: !getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.ALERT_AUTO_DISMISSAL,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Do not auto-dismiss page alerts',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.ALERT_AUTO_DISMISSAL,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t// This is a workaround for the fact that the value is inverted in the backend\n\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\tfalse: true,\n\t\t\t\t\t\t\t\t\t\t\ttrue: false\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t...(getBooleanProperty(SYS_PROPS.UI.NOTIFICATION_ENABLED, true) &&\n\t\t\t\t(hasWorkspaces ||\n\t\t\t\t\t!getBooleanProperty(PREFERENCES.LEGACY_NOTIFICATION_MODEL, false))\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tnotifications: {\n\t\t\t\t\t\t\t\ttitle: t('Notifications'),\n\t\t\t\t\t\t\t\ticon: 'bell-outline',\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tPREFERENCES.LEGACY_NOTIFICATION_MODEL,\n\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'notification-location': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Notification toast banner location'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'ui16',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('General'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tcustomContent: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.CORE_UI_NOTIFICATION_PREFERENCE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\timport('sn-unified-notification-preferences') ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<sn-unified-navigation-preferences />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tleft: '50%'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: '26rem',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'padding-inline': '24px'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Notifications\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"sn_frame\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={notificationUrl}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.addEventListener('load', () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.previousElementSibling.remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.style.visibility = 'visible';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thook-update={({elm}) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trebroadcastIframeEvents(elm);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst innerIframes = elm.contentWindow.document.querySelectorAll(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'iframe'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerIframes.forEach((innerIframe) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trebroadcastIframeEvents(innerIframe);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\thasWorkspaces\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'applications',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Next Experience'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'notification-location': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t\t\t].filter((subTab) => subTab)\n\t\t\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\t...(hasApplicationsTab\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tapplications: {\n\t\t\t\t\t\t\t\ttitle: t('Workspace'),\n\t\t\t\t\t\t\t\ticon: 'windows-outline',\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t'show-ribbon': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show the ribbon'),\n\t\t\t\t\t\t\t\t\t\t\t\timage: ribbonImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'ribbon-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_RIBBON,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showRibbonObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the ribbon',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'show-sidebar': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: sidebarImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'side-panel-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show the sidebar'),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_SIDEBAR,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showSidebarObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the sidebar',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'show-activity-expanded': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: activityExpandedImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'activity-expanded-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Expand activity stream items by default'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Toggle this option to automatically expand all activities in activity stream.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showActivityExpandedObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Expand activity stream items by default',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'lazy-loading': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: lazyLoadingImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'lazy-loading-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Lazy load workspace pages'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Lazy loading improves page performance by loading content dynamically as needed. You can disable it if you prefer all content to load immediately.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_LAZY_LOADING,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(lazyLoadingObject, 'value.value', true)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Lazy load workspace pages',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_LAZY_LOADING\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\t...(hasAdminRole\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tdebugging: {\n\t\t\t\t\t\t\t\ttitle: t('Debugging'),\n\t\t\t\t\t\t\t\ticon: 'bug-search-outline',\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t'script-debugger': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'action',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Script Debugger'),\n\t\t\t\t\t\t\t\t\t\t\t\timage: scriptDebuggerIcon,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'script-debugger-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tclickHandler: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.top.launchScriptDebugger();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t...(isAtfInspectorEnabled({userRoles: userMeta?.roles})\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'atf-inspector': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: atfInspectorIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'automated-test-framework-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Automated Test Framework Page Inspector'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Helps you identify and test components for custom UI pages'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Automated Test Framework Page Inspector',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_SWITCH_ON,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcache.remove('headerMenuItems');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.location.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tatfUtils.getInspectorToggledUrl(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, 300);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t'source-maps': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: linebreakImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'line-break-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('UX Source Maps'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enables source maps for all Next Experience Pages'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tENABLE_SOURCE_MAPS\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable source maps',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: ENABLE_SOURCE_MAPS\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t...(showSeismicDevtoolsPrefPanel()\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'seismic-devtools': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'action',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: seismicDebuggerIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'seismic-debugger-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Next Experience Developer Tools'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclickHandler: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetSeismicDevtoolChromeWebstoreURL(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\tregion: {\n\t\t\t\t\ttitle: t('Language & Region'),\n\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\tdatetime: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titems: dateTimeFormatItems,\n\t\t\t\t\t\t\t\t\tselectedItem: getDateTimeSelectedItem(userPreferences),\n\t\t\t\t\t\t\t\t\ttitle: t('Date and time format'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Option \"YYYY-MM-DD 09:00 5 min ago\" and \"YYYY-MM-DD 09:00\" will omit the current year'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Date and time format',\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}/compact':\n\t\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}',\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}/compact':\n\t\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.COMPACT_DATE,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.COMPACT_DATE,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}': false,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}/compact': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}': false,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}/compact': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":true,\"dateBoth\":false}': false\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttimezone: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titemSearch: 'contains',\n\t\t\t\t\t\t\t\t\ttitle: t('Timezone'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Timezone'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tlanguage: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titemSearch: 'contains',\n\t\t\t\t\t\t\t\t\ttitle: t('Language'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Language'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t...(isUserExperienceTabEnabled({\n\t\t\t\t\tisAppseeActive,\n\t\t\t\t\tisTelemetryToggleAllowed\n\t\t\t\t})\n\t\t\t\t\t? {\n\t\t\t\t\t\t\texperience: {\n\t\t\t\t\t\t\t\ttitle: t('User Experience'),\n\t\t\t\t\t\t\t\ticon: () => (\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\twidth: '16',\n\t\t\t\t\t\t\t\t\t\t\theight: '16',\n\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\tviewBox: '0 0 16 16'\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M2 6.5a4.5 4.5 0 1 1 8.966 .556 l .939 .470 a5.5 5.5 0 1 0 -5.576 4.472 l -.255 -1.018 A4.5 4.5 0 0 1 2 6.5 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M10 6.5 v .073 l -1.04 -.520 a2.5 2.5 0 1 0 -3.43 2.752 l .282 1.127 A3.501 3.501 0 1 1 10 6.5 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M6.724 6.053 a.5 .5 0 0 0 -.71 .568 l 2 8 a.5 .5 0 0 0 .902 .156 l 1.893 -2.839 3.812 -.953 a.5 .5 0 0 0 .103 -.932 l -8 -4 Z m1.987 7.23 -1.462 -5.85 5.819 2.91 -2.69 .672 a.5 .5 0 0 0 -.294 .208 l -1.373 2.06 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<\/svg>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.USER_SELECT_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thome: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: finalLandingPageItems,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Current start page: {0}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thomepageTitle\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Home',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.HOMEPAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNULL: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedContent?.route === CLASSIC\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: window.location.pathname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontinue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedContent?.route === CLASSIC\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: window.location.pathname\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value, originalValue) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === '' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === '$pa_dashboard.do' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (originalValue === 'current') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: PREFERENCES.HOMEPAGE_TITLE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: pageTitle.label\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (originalValue === 'continue') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_ON_OFF_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t) && isPolarisEnabled\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'enable-polaris': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: displayIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'display-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Turn off Next Experience'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Turn off Next Experience',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: USER_PREF_POLARIS_USE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isAppseeActive && isTelemetryToggleAllowed\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'enable-analytics': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Enable Analytics'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: analyticsIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'enable-analytics-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: telemetryToggleState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable Analytics',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(UPDATE_TELEMETRY_TRACKING, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser_consent: value ? 'Y' : 'N'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...(analyticsPrivacyStatement !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: analyticsPrivacyStatement,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Privacy Statement'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTab: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {})\n\t\t  };\n};\n\nconst rebroadcastIframeEvents = (iframeElement) => {\n\tconst iframeDocument = iframeElement.contentWindow.document;\n\n\tif (!iframeDocument.eventRebroadcastSetup) {\n\t\tiframeDocument.eventRebroadcastSetup = true;\n\n\t\tconst iframeBody = iframeDocument.body;\n\n\t\tiframeBody.addEventListener('keydown', (event) => {\n\t\t\tlet shouldRebroadcastEvent = false;\n\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tshouldRebroadcastEvent = true;\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tconst focusableElements = findTabbableNodes(iframeBody);\n\t\t\t\tconst path = event.composedPath() || [];\n\t\t\t\tconst indexOfCurrent = focusableElements.indexOf(path[0]);\n\n\t\t\t\tif (\n\t\t\t\t\tindexOfCurrent === focusableElements.length - 1 &&\n\t\t\t\t\t!event.shiftKey\n\t\t\t\t) {\n\t\t\t\t\tshouldRebroadcastEvent = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (shouldRebroadcastEvent) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst keyboardEvent = new KeyboardEvent(event.type, event);\n\t\t\t\tiframeElement.dispatchEvent(keyboardEvent);\n\t\t\t}\n\t\t});\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {getUserPrefsMap} from './prefsProp';\nimport {MENU_FAVORITES, MENU_WORKSPACES} from '../../constants';\nimport {REFRESH_PREFERENCES_MAP} from './user-preference-object-generator.utils';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {getCurrentRouteHeaderConfig} from '../../components/sn-polaris-header/sn-polaris-header.utils';\n\nconst updatePrefsMap = (coeffects) => {\n\tconst {state, properties, dispatch, updateState} = coeffects;\n\tconst {\n\t\tuserPreferences,\n\t\theaderConfig,\n\t\tuserMeta,\n\t\tfeatures: {isPolarisEnabled},\n\t\tselectedContent\n\t} = properties;\n\tconst {\n\t\tenabledPlugins,\n\t\tisVoiceInputEnabled,\n\t\theaderMenuItems,\n\t\tavailableThemes,\n\t\tisTelemetryToggleAllowed,\n\t\ttelemetryToggleState,\n\t\tmultiThemeEnabled,\n\t\tnotificationUrl,\n\t\tpageTitle\n\t} = state;\n\tconst hasFavorites = !!headerMenuItems?.find(({id}) => id === MENU_FAVORITES);\n\tconst currentRouteHeaderConfig = getCurrentRouteHeaderConfig({\n\t\tselectedContent,\n\t\theaderConfig\n\t});\n\tconst hasAdminRole = userMeta?.roles?.includes('admin');\n\tconst isAppseeActive = enabledPlugins?.find(\n\t\t({id}) => id === 'com.glide.appsee'\n\t)?.active;\n\tconst hasWorkspaces = Array.isArray(headerMenuItems)\n\t\t? !!headerMenuItems?.find(({id}) => id === MENU_WORKSPACES)\n\t\t: false;\n\tupdateState({\n\t\tuserPrefsMap: getUserPrefsMap({\n\t\t\tuserPreferences,\n\t\t\thasFavorites,\n\t\t\tavailableThemes,\n\t\t\tcurrentRouteHeaderConfig,\n\t\t\thasAdminRole,\n\t\t\tisAppseeActive,\n\t\t\tisTelemetryToggleAllowed,\n\t\t\tisVoiceInputEnabled,\n\t\t\tenabledPlugins,\n\t\t\tisPolarisEnabled,\n\t\t\ttelemetryToggleState,\n\t\t\tmultiThemeEnabled,\n\t\t\tnotificationUrl,\n\t\t\thasWorkspaces,\n\t\t\tdispatch,\n\t\t\tuserMeta,\n\t\t\tselectedContent,\n\t\t\tpageTitle\n\t\t})\n\t});\n};\n\nexport default {\n\tname: 'PREFERENCE_OBJECT_GENERATOR',\n\tactionHandlers: {\n\t\t[REFRESH_PREFERENCES_MAP]: {\n\t\t\teffect: updatePrefsMap,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {name}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (name === 'userPreferences') updatePrefsMap(coeffects);\n\t\t\t}\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\nimport {START_TRACK_TIME, END_TRACK_TIME} from './actions';\nimport {get} from 'lodash';\n\nexport default {\n\tname: 'PERFORMANCE_METRICS_BEHAVIOR',\n\tinitialState: {\n\t\tconcourseFetchTime: undefined,\n\t\tfetchPluginsTime: undefined,\n\t\tcreateFavoriteTime: undefined,\n\t\tmenuRenderTime: undefined,\n\t\tfetchMenuTime: undefined,\n\t\theaderRenderTime: undefined,\n\t\timpersonateFetchTime: undefined\n\t},\n\tactionHandlers: {\n\t\t[START_TRACK_TIME]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {path}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: path,\n\t\t\t\t\tvalue: Date.now(),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[END_TRACK_TIME]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {coeffects, metric, path}\n\t\t\t\t},\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst startTime = get(state, path, undefined);\n\t\t\t\tif (startTime) {\n\t\t\t\t\ttrack(\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t\tmetric,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'performance'\n\t\t\t\t\t);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: path,\n\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tgetAllPrettifiedShortcuts,\n\tgetKeyboardShortcutOverrides\n} from '@servicenow/now-trigger-library';\nimport {\n\tLOCAL_STORAGE_KEYS,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED\n} from '../../constants';\n\nimport styles from './_sn-polaris-layout.scss';\nimport view from './sn-polaris-layout.view';\nimport {actionHandlers} from './sn-polaris-layout.effects';\n\nimport customEventManagerBehavior from '../../behaviors/custom-event-manager-behavior';\nimport openFrameBehavior from '../../behaviors/openFrameBehavior';\nimport historyBehavior from '../../behaviors/history-behavior';\nimport menuModifierBehavior from '../../behaviors/menu-modifier-behavior';\nimport favoritesBehavior from '../../behaviors/favorites-behavior';\nimport impersonationBehavior from '../../behaviors/impersonation-behavior';\nimport elevateRoleBehavior from '../../behaviors/elevate-role-behavior';\nimport printerFriendlyBehavior from '../../behaviors/printer-friendly-behavior';\nimport scriptDebuggerBehavior from '../../behaviors/script-debugger-behavior';\nimport inboxEnabledBehavior from '../../behaviors/is-inbox-enabled-behavior';\nimport dirtyFormBehavior from '../../behaviors/dirty-form-behavior';\nimport applicationBehavior from '../../behaviors/application-behavior';\nimport concourseFetcherBehavior from '../../behaviors/concourse-fetcher-behavior';\nimport updateSetBehavior from '../../behaviors/update-set-behavior';\nimport devStudioInit from '../../behaviors/dev-studio-init';\nimport domainBehavior from '../../behaviors/domain-behavior';\nimport enabledPluginsBehavior from '../../behaviors/enabled-plugins-behavior';\nimport coreUiIframeBehavior from '../../behaviors/core-ui-iframe-behavior';\nimport mainContentLoadingBehavior from '../../behaviors/main-content-loading-behavior';\nimport userNotificationBehavior from '../../behaviors/user-notification-behavior';\nimport serviceWorkerBehavior from '../../behaviors/service-worker-behavior';\nimport ariaLiveMessagesBehavior from '../../behaviors/aria-live-messages-behavior';\nimport collabChatBehavior from '../../behaviors/collab-chat-behavior';\nimport {dirtyFormStyles} from './dirty-form-modal';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport notificationBehavior from '../../behaviors/notification-behavior';\nimport keyboardShortcutsBehavior from '../../behaviors/keyboard-shortcuts-behavior';\nimport configureScreenBehavior from '../../behaviors/configure-screen';\nimport helpBehavior from '../../behaviors/help-behavior';\nimport encryptionBehavior from '../../behaviors/encryption-behavior';\nimport mainContentReadyBehavior from '../../behaviors/main-content-ready-behavior';\nimport menuLoadingBehavior from '../../behaviors/menu-loading-behavior';\nimport messageStackServiceBehavior from '../../behaviors/message-stack-service-behavior';\nimport skipLinkBehavior from '../../behaviors/skip-links-behavior';\nimport searchBehavior from '../../behaviors/search-behavior';\nimport logoutBehavior from '../../behaviors/logout-behavior';\nimport userSettingsBehavior from '../../behaviors/user-settings-behavior';\nimport concoursePickerBehavior from '../../behaviors/concourse-picker-behavior';\nimport asideBehavior from '../../behaviors/aside-behavior';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport scheduleForPageLoadBehavior from '../../behaviors/schedule-for-page-load-behavior';\nimport guidedToursBehavior from '../../behaviors/guided-tours-behavior';\nimport NavigationStackBehavior from '../../behaviors/Navigation-stack-behavior';\nimport FeedbackFormBehavior from '../../behaviors/feeback-form-behavior';\nimport nowAssistBehavior from '../../behaviors/now-assist-behavior';\nimport usageAnalyticsBehavior from '../../behaviors/usage-analytics-behavior';\nimport themeBehavior from '../../behaviors/theme-behavior';\nimport telemetryBehavior from '../../behaviors/telemetry-behavior';\nimport userPreferenceObjectGeneratorBehavior from '../../behaviors/user-preference-object-generator-behavior';\n\nimport {styles as utilityBarStyles} from './utility-bar';\nimport {customEvents, setInitialState} from './sn-polaris-layout.utils';\nimport performanceMetricsBehavior from '../../behaviors/performance-metrics-behavior';\n\ncreateCustomElement('sn-polaris-layout', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles: `\n\t\t${styles}\n\t\t${dirtyFormStyles}\n\t\t${utilityBarStyles}\n\t`,\n\tproperties: {\n\t\tnowAvoidRender: {default: true},\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tonChange(newVal, prevVal, dispatch) {\n\t\t\t\tif (newVal)\n\t\t\t\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {label: newVal?.title});\n\t\t\t}\n\t\t},\n\t\theaderConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tcoreUILogoSrc: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\theaderLogoTarget: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tselectable: true\n\t\t},\n\t\tuserSession: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tselectable: true\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tskipFetchDependencies: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tuserSettingsAccess: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: Math.round(window.innerWidth),\n\t\t\t\theight: Math.round(window.innerHeight)\n\t\t\t}\n\t\t},\n\t\tpolarisSearchContexts: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {}\n\t\t},\n\n\t\tfeatures: {\n\t\t\tcomputed: () => getFeatureSettings(),\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tisPolarisEnabled: {type: 'boolean'},\n\t\t\t\t\tisPrintingEnabled: {type: 'boolean'},\n\t\t\t\t\tisMenuEnabled: {type: 'boolean'},\n\t\t\t\t\tisDirtyFormEnabled: {type: 'boolean'},\n\t\t\t\t\tisCoreUINotificationPrefEnabled: {type: 'boolean'}\n\t\t\t\t},\n\t\t\t\trequired: ['isPolarisEnabled', 'isPrintingEnabled', 'isMenuEnabled']\n\t\t\t}\n\t\t},\n\t\tmenuHeaders: {\n\t\t\tschema: 'object'\n\t\t},\n\t\tshortcutsFn: {\n\t\t\tdefault: getAllPrettifiedShortcuts,\n\t\t\tschema: 'function'\n\t\t},\n\t\toverridesFn: {\n\t\t\tdefault: getKeyboardShortcutOverrides,\n\t\t\tschema: 'function'\n\t\t},\n\t\twindowManager: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\tsetInitialState({\n\t\tproperties: {selectedContent, userMeta, userPreferences, userSession}\n\t}) {\n\t\treturn setInitialState({\n\t\t\tselectedContent,\n\t\t\tuserMeta,\n\t\t\tuserPreferences,\n\t\t\tuserSession\n\t\t});\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t// Uncomment to debug render issues\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-layout'}\n\t\t},\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS) !== null\n\t\t\t\t\t? require('../../behaviors/performance-debug-behavior').default\n\t\t\t\t\t: null\n\t\t},\n\t\t{\n\t\t\tbehavior: customEventManagerBehavior,\n\t\t\toptions: {\n\t\t\t\tcustomEvents\n\t\t\t}\n\t\t},\n\t\t{behavior: favoritesBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: tooltipBehavior},\n\t\t{behavior: menuModifierBehavior},\n\t\t{behavior: historyBehavior},\n\t\t{behavior: impersonationBehavior},\n\t\t{behavior: openFrameBehavior},\n\t\t{behavior: notificationBehavior},\n\t\t{behavior: elevateRoleBehavior},\n\t\t{behavior: printerFriendlyBehavior},\n\t\t{behavior: scriptDebuggerBehavior},\n\t\t{behavior: applicationBehavior},\n\t\t{behavior: updateSetBehavior},\n\t\t{behavior: encryptionBehavior},\n\t\t{behavior: dirtyFormBehavior},\n\t\t{behavior: devStudioInit},\n\t\t{behavior: domainBehavior},\n\t\t{behavior: enabledPluginsBehavior},\n\t\t{behavior: inboxEnabledBehavior},\n\t\t{behavior: coreUiIframeBehavior},\n\t\t{behavior: mainContentLoadingBehavior},\n\t\t{behavior: userNotificationBehavior},\n\t\t{behavior: serviceWorkerBehavior},\n\t\t{behavior: keyboardShortcutsBehavior},\n\t\t{behavior: configureScreenBehavior},\n\t\t{behavior: helpBehavior},\n\t\t{behavior: ariaLiveMessagesBehavior},\n\t\t{behavior: collabChatBehavior},\n\n\t\t{behavior: mainContentReadyBehavior},\n\t\t{behavior: mainContentReadyBehavior},\n\t\t{behavior: messageStackServiceBehavior},\n\t\t{behavior: menuLoadingBehavior},\n\t\t{behavior: skipLinkBehavior},\n\t\t{behavior: searchBehavior},\n\t\t{behavior: logoutBehavior},\n\t\t{behavior: userSettingsBehavior},\n\t\t{behavior: concoursePickerBehavior},\n\t\t{behavior: asideBehavior},\n\t\t{behavior: scheduleForPageLoadBehavior},\n\t\t{behavior: guidedToursBehavior},\n\t\t{behavior: NavigationStackBehavior},\n\t\t{behavior: FeedbackFormBehavior},\n\t\t{behavior: concourseFetcherBehavior},\n\t\t{behavior: nowAssistBehavior},\n\t\t{behavior: usageAnalyticsBehavior},\n\t\t{behavior: performanceMetricsBehavior},\n\t\t{behavior: themeBehavior},\n\t\t{behavior: telemetryBehavior},\n\t\t{behavior: userPreferenceObjectGeneratorBehavior}\n\t]\n});\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport {NAV_SUB_MENU_ITEM_UNFAVORITED} from '../actions';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\n\nexport const FavoriteDelete = ({\n\tdispatch,\n\titem,\n\trootMenu,\n\tmenu,\n\tisOpen = true\n}) => {\n\tconst onToggleFavorite = (rootMenu, menu, item, popupRef) => {\n\t\tdispatch(NAV_SUB_MENU_ITEM_UNFAVORITED, {\n\t\t\trootMenu: rootMenu.id,\n\t\t\tmenu: menu.id,\n\t\t\titem,\n\t\t\tparentMenuItem: menu,\n\t\t\tpopupRef\n\t\t});\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<button\n\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tonToggleFavorite(rootMenu, menu, item, e.currentTarget);\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\tclass={{\n\t\t\t\t\t'menu-action': true,\n\t\t\t\t\t'menu-action-interaction-state': true,\n\t\t\t\t\t'favorite-delete': true\n\t\t\t\t}}\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={t('Remove {0} from favorites', item.label)}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabindex={isOpen ? '0' : '-1'}>\n\t\t\t\t<now-icon className=\"delete\" icon=\"close-outline\" size=\"md\" />\n\t\t\t\t<span className=\"tooltip-label\">{t('Remove From Favorites')}<\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\n\nimport {\n\tNAV_SUB_MENU_ITEM_FAVORITED,\n\tNAV_SUB_MENU_ITEM_UNFAVORITED\n} from '../actions';\nimport loadIcon, {svgTemplate} from '../utils/load-icon';\n\nlet starOutlinePaths, starFillPaths;\n\nexport async function loadIconSvg() {\n\tstarOutlinePaths = await loadIcon('starOutline');\n\tstarFillPaths = await loadIcon('starFill');\n\treturn;\n}\n\nloadIconSvg();\n\nexport const View = ({dispatch, item, rootMenu, menu, isOpen = true}) => {\n\tif (!item.canFavorite) return null;\n\n\tconst isFavorite = item.favorited;\n\n\tconst onToggleFavorite = (rootMenu, menu, item, popupRef) => {\n\t\tconst dispatchAction = isFavorite\n\t\t\t? NAV_SUB_MENU_ITEM_UNFAVORITED\n\t\t\t: NAV_SUB_MENU_ITEM_FAVORITED;\n\t\tdispatch(dispatchAction, {\n\t\t\trootMenu: rootMenu.id,\n\t\t\tmenu: menu.id,\n\t\t\titem,\n\t\t\tparentMenuItem: menu,\n\t\t\tpopupRef\n\t\t});\n\t};\n\n\tconst icon = item.favorited\n\t\t? svgTemplate(starFillPaths, 'star', 'star-fill')\n\t\t: svgTemplate(starOutlinePaths, 'star', 'star-outline');\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'menu-action': true,\n\t\t\t\tfavorite: true,\n\t\t\t\t'is-favorite': item.favorited,\n\t\t\t\t'menu-action-interaction-state': true\n\t\t\t}}\n\t\t\taria-label={\n\t\t\t\tisFavorite\n\t\t\t\t\t? t('Remove {0} from favorites', item.label)\n\t\t\t\t\t: t('Add {0} to favorites', item.label)\n\t\t\t}\n\t\t\ttabindex={isOpen ? '0' : '-1'}\n\t\t\ttype=\"button\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterIconItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\n\t\t\t\tonToggleFavorite(rootMenu, menu, item, e.currentTarget);\n\t\t\t})}>\n\t\t\t{icon}\n\t\t<\/button>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {MENU_EDIT_INITIATED} from './constants';\nimport {SEPARATOR} from '../../../constants';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport loadIcon, {svgTemplate} from '../utils/load-icon';\n\nlet editIcon;\n\nexport async function loadIconSvg() {\n\tconst svg = await loadIcon('pencilPageOutline');\n\teditIcon = svgTemplate(svg, 'edit', 'edit');\n\treturn;\n}\n\nloadIconSvg();\n\nexport const View = ({dispatch, rootMenu, item, isOpen}) => {\n\tif (!(rootMenu.canEdit || item.canEdit) || item.actionType === SEPARATOR)\n\t\treturn null;\n\n\tconst ariaLabel = item.subItems\n\t\t? t('Edit Application {0}', item.label)\n\t\t: t('Edit Module {0}', item.label);\n\n\tconst tooltipText = item.subItems ? t('Edit Application') : t('Edit Module');\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'menu-action': true,\n\t\t\t\t'edit-menu': true,\n\t\t\t\t'menu-action-interaction-state': true\n\t\t\t}}\n\t\t\taria-label={ariaLabel}\n\t\t\tdata-dontUseAriaLabelAsTooltip\n\t\t\ttabIndex={isOpen ? 0 : -1}\n\t\t\ttype=\"button\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterIconItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tdispatch(MENU_EDIT_INITIATED, {rootMenu, item});\n\t\t\t})}>\n\t\t\t{editIcon}\n\t\t\t<span id=\"edit-menu-label\" className=\"tooltip-label\">\n\t\t\t\t{tooltipText}\n\t\t\t<\/span>\n\t\t<\/button>\n\t);\n};\n","import {isEmpty} from 'lodash';\nimport {\n\tisFavoriteGroup,\n\tisSeparatorGroup\n} from '../../../utils/isFavoriteGroup';\n\nexport const addGroupPropToMenus = (menu) => {\n\tmenu = {...menu, isGroup: isFavoriteGroup(menu) || isSeparatorGroup(menu)};\n\tif (!isEmpty(menu.subItems)) {\n\t\tmenu.subItems = [\n\t\t\t...menu.subItems.map((innerMenu) => addGroupPropToMenus(innerMenu))\n\t\t];\n\t}\n\treturn menu;\n};\n","import {some} from 'lodash';\n\nimport isATF from '../../../utils/isATF';\nimport {FavoriteDelete} from '../favorite-delete';\nimport {View as Favorite} from '../favorite';\nimport {View as Edit} from '../editMenu';\nimport '../sn-collapsible-list';\nimport {\n\tMENU_ADMIN,\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES\n} from '../../../constants';\nimport {addGroupPropToMenus} from '../utils/addGroupPropToMenus';\nimport {getFilterResultAnnouncement} from '../utils/getFilterResultAnnouncement';\n\nconst isATFCustomizationsEnabled = isATF();\n\nexport default ({\n\tmenu,\n\tpinned,\n\tsearchTerm,\n\tfilterMethod,\n\ttotalItems,\n\tmatchingItems,\n\tanimationsEnabled,\n\tshouldOpenUI16TabsInsidePolaris,\n\thideScroll,\n\tskipDefer = false,\n\tshowHiddenControls,\n\tisOtherMenusLoading,\n\tpreventHighlight\n}) => {\n\tconst isSingleLevel = !some(menu.subItems, (m) => m.subItems?.length);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-tree-menu': true,\n\t\t\t\t'sn-polaris-nav-content': true,\n\t\t\t\t'is-pinned': pinned\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-tab-content': true,\n\t\t\t\t\t'-left': true,\n\t\t\t\t\t'is-visible': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-body': true,\n\t\t\t\t\t\t'hide-scroll': hideScroll ? true : false\n\t\t\t\t\t}}>\n\t\t\t\t\t{menu && menu.subItems\n\t\t\t\t\t\t? menu.subItems.map((m, idx) => {\n\t\t\t\t\t\t\t\tlet finalSubMenu = m;\n\t\t\t\t\t\t\t\tif (menu?.id === MENU_FAVORITES) {\n\t\t\t\t\t\t\t\t\tfinalSubMenu = addGroupPropToMenus(m);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst isOpen =\n\t\t\t\t\t\t\t\t\tm.open || !!searchTerm || isATFCustomizationsEnabled;\n\n\t\t\t\t\t\t\t\tconst resolveActions = () => {\n\t\t\t\t\t\t\t\t\tif (isOtherMenusLoading) return [];\n\n\t\t\t\t\t\t\t\t\tswitch (menu?.id) {\n\t\t\t\t\t\t\t\t\t\tcase MENU_FAVORITES:\n\t\t\t\t\t\t\t\t\t\t\tfinalSubMenu = addGroupPropToMenus(m);\n\t\t\t\t\t\t\t\t\t\t\treturn [FavoriteDelete];\n\t\t\t\t\t\t\t\t\t\tcase MENU_ALL:\n\t\t\t\t\t\t\t\t\t\t\treturn [Edit, Favorite];\n\t\t\t\t\t\t\t\t\t\tcase MENU_HISTORY:\n\t\t\t\t\t\t\t\t\t\tcase MENU_WORKSPACES:\n\t\t\t\t\t\t\t\t\t\tcase MENU_ADMIN:\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\treturn [Favorite];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tconst shouldDefer =\n\t\t\t\t\t\t\t\t\t!isATFCustomizationsEnabled &&\n\t\t\t\t\t\t\t\t\t!skipDefer &&\n\t\t\t\t\t\t\t\t\tidx !== menu.subItems.length - 1;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<sn-collapsible-list\n\t\t\t\t\t\t\t\t\t\t// last item shouldnt be defered for keyboard nav to be able to focus the last tree element\n\t\t\t\t\t\t\t\t\t\tnow-mode={shouldDefer ? 'suspend' : 'active'}\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'is-pinned': pinned\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t// expand if we have a search term\n\t\t\t\t\t\t\t\t\t\tis-open={isOpen}\n\t\t\t\t\t\t\t\t\t\trootMenu={menu}\n\t\t\t\t\t\t\t\t\t\tmenu={finalSubMenu}\n\t\t\t\t\t\t\t\t\t\tisGroup={finalSubMenu.isGroup}\n\t\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tactions={resolveActions()}\n\t\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t  })\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<FilterResultAnnounce\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\ttotalItems={totalItems}\n\t\t\t\tmatchingItems={matchingItems}\n\t\t\t\tisSingleLevel={isSingleLevel}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nconst FilterResultAnnounce = ({\n\tsearchTerm,\n\ttotalItems,\n\tmatchingItems,\n\tisSingleLevel\n}) => {\n\tif (!searchTerm) return null;\n\n\tconst message = getFilterResultAnnouncement({\n\t\tsearchTerm,\n\t\ttotalItems,\n\t\tmatchingItems,\n\t\tisSingleLevel\n\t});\n\n\treturn (\n\t\t<div aria-live=\"polite\" className=\"now-a11y-label\">\n\t\t\t{message}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport const getFilterResultAnnouncement = ({\n\tsearchTerm,\n\ttotalItems,\n\tmatchingItems,\n\tisSingleLevel\n}) => {\n\tlet message;\n\tif (isSingleLevel) {\n\t\tmessage =\n\t\t\tmatchingItems === 1\n\t\t\t\t? t('1 item contains \"{0}\"', searchTerm)\n\t\t\t\t: t('{0} items contain \"{1}\"', matchingItems, searchTerm);\n\t} else {\n\t\t// 1 item is singular, 0 or more than 1 is plural\n\t\tif (totalItems === 1) {\n\t\t\tif (matchingItems === 1) {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} item, {1} item contains \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} item, {1} items contain \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tif (matchingItems === 1) {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} items, {1} item contains \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} items, {1} items contain \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn message;\n};\n","export const ONE_MIN = 60 * 1000;\nexport const FIFTEEN_MIN = 15 * ONE_MIN;\nexport const THIRTY_MIN = 30 * ONE_MIN;\nexport const ONE_HOUR = FIFTEEN_MIN * 4;\nexport const ONE_DAY = ONE_HOUR * 24;\nexport const BUCKET_SPAN_MS = THIRTY_MIN;\nexport const BUCKET_SPAN = 30;\n","import {mapValues, uniqBy, get, omit, sortBy, toPairs} from 'lodash';\nimport stripBlacklistedParams from '../../../../utils/stripBlacklistedParams';\n\nconst findKeyInObject = (obj, targetKey) => {\n\tfor (const key in obj) {\n\t\tif (key === targetKey) {\n\t\t\treturn obj[key]; // Found the key, return its value\n\t\t}\n\n\t\tif (typeof obj[key] === 'object' && obj[key] !== null) {\n\t\t\t// If the value is an object (and not null), recurse into it\n\t\t\tconst result = findKeyInObject(obj[key], targetKey);\n\t\t\tif (result !== undefined) {\n\t\t\t\t// If the key was found in a nested object\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined; // Key not found\n};\n\nexport default function(bucket, favoriteBlackList = [], historyBlockList = []) {\n\treturn mapValues(bucket, (items) =>\n\t\tuniqBy(items, (item) => {\n\t\t\tlet query;\n\t\t\tconst route = get(item, 'route');\n\t\t\tconst routeType = get(route, 'route', '');\n\t\t\tif (routeType === 'classic') {\n\t\t\t\tconst target = get(route, 'params.target', {});\n\t\t\t\treturn stripBlacklistedParams(target, favoriteBlackList);\n\t\t\t} else {\n\t\t\t\tconst context = JSON.stringify(\n\t\t\t\t\tsortBy(toPairs(get(route, 'context', {})), (prop) => prop[0])\n\t\t\t\t);\n\t\t\t\tconst fields = JSON.stringify(\n\t\t\t\t\tsortBy(toPairs(get(route, 'fields', {})), (prop) => prop[0])\n\t\t\t\t);\n\t\t\t\tconst params = JSON.stringify(\n\t\t\t\t\tsortBy(\n\t\t\t\t\t\ttoPairs(omit(get(route, 'params', {}), historyBlockList)),\n\t\t\t\t\t\t(prop) => prop[0]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tif (route?.encodedPersistedState) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst persistedState = JSON.parse(\n\t\t\t\t\t\t\tatob(\n\t\t\t\t\t\t\t\troute.encodedPersistedState.slice(\n\t\t\t\t\t\t\t\t\troute.encodedPersistedState.indexOf('~') + 1\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tquery = findKeyInObject(persistedState, 'query');\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tquery = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn context + fields + params + routeType + query;\n\t\t\t}\n\t\t})\n\t);\n}\n","const isSupportedLocal = (locale) => {\n\tlet length;\n\ttry {\n\t\tlength = Intl.DateTimeFormat.supportedLocalesOf([locale]).length;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\treturn length > 0;\n};\n\nfunction normalizeFormat(locale) {\n\t// handle glide weirdness with locales\n\tswitch (locale) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-Hant';\n\t\tcase 'xl':\n\t\t\treturn 'en';\n\t\tdefault:\n\t\t\t// glide.system.locale '.' separates, like 'en.US' rather than standard 'en-US'\n\t\t\treturn locale ? locale.replace(/[._]/, '-') : window.navigator.language;\n\t}\n}\n\nexport default function getLocale(locale) {\n\tconst normalizedLocale = normalizeFormat(locale);\n\treturn isSupportedLocal(normalizedLocale)\n\t\t? normalizedLocale\n\t\t: window.navigator.language;\n}\n","import {floor, groupBy, partition} from 'lodash';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\n\nimport {BUCKET_SPAN_MS, BUCKET_SPAN, ONE_HOUR} from '../constants';\nimport deduplicateBucket from './deduplicateBucket';\nimport getLocale from './getLocale';\nimport {SYS_PROPS} from '../../../../constants';\n\nconst isSameDate = (a, b) =>\n\ta.getDate() === b.getDate() &&\n\ta.getMonth() === b.getMonth() &&\n\ta.getFullYear() === b.getFullYear();\n\nexport default function createTimeBuckets(\n\tmenuItems,\n\tcurrentDate = new Date(),\n\tlocale = 'en-US'\n) {\n\t/*\n    [0, 1hr]: group by 30min\n    [1hr, 24hr]: group by hour\n    [24hr, Infinity]: group by day\n\n    today:\n        recent:[],\n        30min: [],\n        1hour: [],\n        2hour: [],\n        3hour: [],\n        ...,\n    yesterday: [],\n    DATE_STRING (MM DD YYY): [],\n    DATE_STRING (MM DD YYY): [],\n    ...\n\n    Partition -> [Today, ...Not Today]\n        Today -> [1hr, >1hr]\n            1hr  -> Bucket by 30min\n            >1hr -> Bucket by 1hr\n        Not Today -> Bucket by day\n\t*/\n\tlet blacklist, historyBlockList;\n\ttry {\n\t\tblacklist =\n\t\t\tJSON.parse(getProperty(SYS_PROPS.UI.NAV_FAVORITE_URL_PARAM_BLACKLIST)) ||\n\t\t\t[];\n\t\thistoryBlockList =\n\t\t\tJSON.parse(getProperty(SYS_PROPS.UI.HISTORY_URL_PARAM_BLOCKLIST)) || [];\n\t} catch {\n\t\tblacklist = [];\n\t\thistoryBlockList = [];\n\t}\n\n\tconst [today, pastToday] = partition(menuItems, (m) => {\n\t\tconst itemCreatedDate = new Date(m.createdTimestamp);\n\t\treturn isSameDate(currentDate, itemCreatedDate);\n\t});\n\n\tconst todayBuckets = groupBy(today, (m) => {\n\t\tconst elapsedTime = currentDate.getTime() - m.createdTimestamp;\n\n\t\t// how many 30 minute buckets can fit into the elapsed time === the bucket it belongs to\n\t\tconst bucket = floor(elapsedTime / BUCKET_SPAN_MS) * BUCKET_SPAN;\n\n\t\tif (bucket >= 60) {\n\t\t\t// if > 1hr, place in hour buckets\n\t\t\tconst bucket = floor(elapsedTime / ONE_HOUR);\n\t\t\treturn bucket === 1 ? t('{0} hr ago', bucket) : t('{0} hrs ago', bucket);\n\t\t}\n\n\t\tif (bucket === 0) return '';\n\n\t\treturn t('{0} min ago', bucket);\n\t});\n\n\tconst [yesterday, rest] = partition(pastToday, (m) => {\n\t\tconst itemCreatedDate = new Date(m.createdTimestamp);\n\t\tconst yesterdayDate = new Date(currentDate);\n\t\tyesterdayDate.setDate(yesterdayDate.getDate() - 1);\n\n\t\treturn isSameDate(yesterdayDate, itemCreatedDate);\n\t});\n\n\tconst restOfDays = groupBy(rest, (m) => {\n\t\tconst resolvedLocale = getLocale(locale);\n\n\t\treturn new Intl.DateTimeFormat(resolvedLocale, {\n\t\t\tmonth: 'long',\n\t\t\tday: 'numeric'\n\t\t}).format(new Date(m.createdTimestamp));\n\t});\n\n\treturn {\n\t\tToday: deduplicateBucket(todayBuckets, blacklist, historyBlockList),\n\t\t[t('Yesterday')]: yesterday,\n\t\t...restOfDays\n\t};\n}\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\n// eslint-disable-next-line no-restricted-imports\nimport {guid} from '@servicenow/ui-internal';\nimport {floor, isArray, map, reduce} from 'lodash';\nimport {BUCKET_SPAN, BUCKET_SPAN_MS} from './constants';\nimport createTimeBuckets from './utils/createTimeBuckets';\nimport {t} from 'sn-translate';\n\nimport {\n\tonMouseEnterHistoryItem,\n\tonMouseLeaveItem,\n\tHighlightedLabel,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\nimport createMenuHrefHandlers from '../../../utils/createMenuHrefHandlers';\n\nexport default function HistoryTemplate({\n\tmenu,\n\tpinned,\n\tcurrentDate = new Date(),\n\tlocale,\n\tanimationsEnabled,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\thideScroll,\n\tpreventHighlight\n}) {\n\t// {Today: {0: [], 15: []}, Yesterday: [], ...rest: []}\n\tconst bucketedItems = createTimeBuckets(\n\t\tmenu.subItems || [],\n\t\tcurrentDate,\n\t\tlocale\n\t);\n\n\tconst matchingItems = reduce(\n\t\tbucketedItems,\n\t\t(acc, values) => {\n\t\t\tif (isArray(values)) return acc + values.length;\n\t\t\treturn acc + reduce(values, (acc, v) => acc + v.length, 0);\n\t\t},\n\t\t0\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-history-menu': true,\n\t\t\t\t'sn-polaris-nav-body': true,\n\t\t\t\t'hide-scroll': hideScroll\n\t\t\t}}>\n\t\t\t{map(bucketedItems, (values, label) => (\n\t\t\t\t<MenuGroup\n\t\t\t\t\tmenu={values}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tpinned={pinned}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tfirstFilteredNavItem={menu.firstFilteredNavItem || null}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t<FilterResultAnnounce\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tmatchingItems={matchingItems}\n\t\t\t/>\n\t\t<\/div>\n\t);\n}\n\nconst MenuGroup = ({\n\tlabel,\n\tmenu,\n\tpinned,\n\tdispatch,\n\tanimationsEnabled,\n\tcurrentDate,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight\n}) => {\n\t// This happens to cover both the array & object cases :)\n\tif (Object.keys(menu).length === 0) return null;\n\n\t// Only show the menu header for days past Today\n\tconst showMenuHeader = label !== 'Today';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'is-pinned': pinned\n\t\t\t}}>\n\t\t\t{showMenuHeader ? (\n\t\t\t\t<div className=\"section-header\">\n\t\t\t\t\t<span className=\"section-label\">{label}<\/span>\n\t\t\t\t\t<hr className=\"section-divider\" />\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<ul className=\"sn-polaris-nav-list-items\">\n\t\t\t\t<MenuSection\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/ul>\n\t\t<\/div>\n\t);\n};\n\nconst MenuSection = ({\n\tdispatch,\n\tmenu,\n\tanimationsEnabled,\n\tcurrentDate,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight\n}) => {\n\tconst reducedMenu = reduce(\n\t\tmenu,\n\t\t(accum, item) => {\n\t\t\treturn accum.concat(item);\n\t\t},\n\t\t[]\n\t);\n\tconst totalHistoryItems = isArray(menu) ? menu.length : reducedMenu.length;\n\tlet numItemsSeen = 0;\n\n\treturn isArray(menu)\n\t\t? menu.map((item, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\tlabelSize={totalHistoryItems}\n\t\t\t\t\t\tlabelIndex={index + 1}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t  })\n\t\t: map(menu, (items, label) => {\n\t\t\t\treturn items.map((item, index) => {\n\t\t\t\t\tconst elapsedTime = currentDate.getTime() - item.createdTimestamp;\n\t\t\t\t\t// Don't want to show \"0 min ago\"\n\t\t\t\t\tconst timeMarker = Math.max(\n\t\t\t\t\t\t1,\n\t\t\t\t\t\tfloor((elapsedTime / BUCKET_SPAN_MS) * BUCKET_SPAN)\n\t\t\t\t\t);\n\n\t\t\t\t\t// // Show time label for:\n\t\t\t\t\t// //   - Anything within past 30 min, OR\n\t\t\t\t\t// //\t - The first item\n\t\t\t\t\tconst timeLabel =\n\t\t\t\t\t\tlabel === ''\n\t\t\t\t\t\t\t? t('{0} min ago', timeMarker)\n\t\t\t\t\t\t\t: index === 0\n\t\t\t\t\t\t\t? label\n\t\t\t\t\t\t\t: '';\n\n\t\t\t\t\tnumItemsSeen += 1;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\ttimeLabel={timeLabel}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\tlabelSize={totalHistoryItems}\n\t\t\t\t\t\t\tlabelIndex={numItemsSeen}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t  });\n};\n\nexport const MenuItem = ({\n\titem,\n\ttimeLabel,\n\tdispatch,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight,\n\tlabelSize,\n\tlabelIndex\n}) => {\n\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\tconst ariaID = guid();\n\tconst ariaLabel = `${item?.label} ${labelIndex} of ${labelSize}`;\n\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t}}>\n\t\t\t<a\n\t\t\t\tclassName=\"menu-item-link keyboard-navigatable\"\n\t\t\t\tclass={{\n\t\t\t\t\t'highlighted-item':\n\t\t\t\t\t\titem.id === firstFilteredNavItem?.id && !preventHighlight\n\t\t\t\t}}\n\t\t\t\thref={href || null}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby={`menu-item-description-${ariaID} menu-item-time-marker-${ariaID}`}\n\t\t\t\ttarget={href ? '_self' : null}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterHistoryItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\t{...createMenuHrefHandlers(item, (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tdispatch('NAV_SUB_MENU_ITEM#SELECTED', {\n\t\t\t\t\t\titem\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t<div className=\"menu-item\">\n\t\t\t\t\t<div className=\"menu-item-label\">\n\t\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\t\ttext={item.label}\n\t\t\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\titem.label\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t{item.description ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"menu-item-description\"\n\t\t\t\t\t\t\t\t\tid={`menu-item-description-${ariaID}`}>\n\t\t\t\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\t\t\t\ttext={item.description}\n\t\t\t\t\t\t\t\t\t\t\tmatches={item.descriptionMatch?.matches}\n\t\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\titem.description\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{timeLabel ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"menu-item-time-marker\"\n\t\t\t\t\t\t\tid={`menu-item-time-marker-${ariaID}`}\n\t\t\t\t\t\t\taria-label={t('last visited {0}', timeLabel)}>\n\t\t\t\t\t\t\t{timeLabel}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t<\/li>\n\t);\n};\n\nconst FilterResultAnnounce = ({searchTerm, matchingItems}) => {\n\tif (!searchTerm) return null;\n\n\tconst message =\n\t\tmatchingItems === 1\n\t\t\t? t('1 item contains \"{0}\"', searchTerm)\n\t\t\t: t('{0} items contain \"{1}\"', matchingItems, searchTerm);\n\n\treturn (\n\t\t<div aria-live=\"polite\" className=\"now-a11y-label\">\n\t\t\t{message}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {MENU_ALL, MENU_FAVORITES} from '../../../constants';\nimport {View as TreeMenu} from '../sn-menu-template-all';\nimport {MenuBody} from '../utils/template-map';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tTOGGLE_ALL_RESULTS,\n\tTOGGLE_FAVORITE_RESULTS,\n\tTOGGLE_OTHER_RESULTS,\n\tNO_TOGGLE\n} from '../actions';\n\n/* render the 'All Results' header  */\nconst AllResultsHeader = ({dispatch, canToggle = true}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-header': true,\n\t\t\t\t'all-results-toggle': true,\n\t\t\t\t'no-interaction': !canToggle\n\t\t\t}}>\n\t\t\t{canToggle ? (\n\t\t\t\t<button\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tdispatch(TOGGLE_ALL_RESULTS);\n\t\t\t\t\t})}\n\t\t\t\t\ttabIndex={0}>\n\t\t\t\t\t{t('All Results')}\n\n\t\t\t\t\t<now-icon icon=\"chevron-right-fill\" size=\"md\" />\n\t\t\t\t<\/button>\n\t\t\t) : (\n\t\t\t\tt('All Results')\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst ResultsSubheader = ({dispatch, label, toggleType, isOpen}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-subheader': toggleType !== NO_TOGGLE,\n\t\t\t\t'super-filter-header': toggleType === NO_TOGGLE,\n\t\t\t\t'no-interaction': toggleType === NO_TOGGLE,\n\t\t\t\t'section-open': isOpen\n\t\t\t}}>\n\t\t\t{toggleType !== NO_TOGGLE ? (\n\t\t\t\t<button\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tdispatch(toggleType);\n\t\t\t\t\t})}\n\t\t\t\t\ttabIndex={0}>\n\t\t\t\t\t{t(label)}\n\n\t\t\t\t\t<now-icon icon=\"chevron-right-fill\" size=\"md\" />\n\t\t\t\t<\/button>\n\t\t\t) : (\n\t\t\t\tt(label)\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/* render filtered menu section using the menu templates */\nexport const FilteredResults = ({\n\tid,\n\tlabel,\n\tfilteredMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tdispatch,\n\ttoggleType,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst isSectionOpen =\n\t\ttoggleType === NO_TOGGLE ||\n\t\t(toggleType === TOGGLE_OTHER_RESULTS && superFilterOtherOpen) ||\n\t\t(toggleType == TOGGLE_FAVORITE_RESULTS && superFilterFavoritesOpen);\n\treturn (\n\t\t<Fragment>\n\t\t\t<ResultsSubheader\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tlabel={label}\n\t\t\t\ttoggleType={toggleType}\n\t\t\t\tisOpen={isSectionOpen}\n\t\t\t/>\n\t\t\t{filteredMenuData.matchingItems === 0 ? (\n\t\t\t\t<div\n\t\t\t\t\tid={id}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'no-results-text': true,\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': isSectionOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('No Results')}\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tid={id}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': isSectionOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t<MenuBody\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={filteredMenuData}\n\t\t\t\t\t\tmatchingItems={filteredMenuData.matchingItems}\n\t\t\t\t\t\ttotalItems={filteredMenuData.totalItems}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\thideScroll\n\t\t\t\t\t\tskipDefer\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/* render 'All Results' filtered menu section using the All Menu Tempalte */\nexport const AllResults = ({\n\topen,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tif (fullMenuData.matchingItems === 0) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'no-results-text': true,\n\t\t\t\t\t'results-section': true,\n\t\t\t\t\t'section-open': true\n\t\t\t\t}}>\n\t\t\t\t{t('No Results')}\n\t\t\t<\/div>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<TreeMenu\n\t\t\t\topen={open}\n\t\t\t\tmenu={fullMenuData}\n\t\t\t\tmatchingItems={fullMenuData.matchingItems}\n\t\t\t\ttotalItems={fullMenuData.totalItems}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\thideScroll\n\t\t\t\tskipDefer\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/* \n    Render simple layout showing filtered results which includes just 'all results' header, favorites and all results section \n    This layout is used for All and Favorites menus\n*/\nexport const SimpleFilteredResults = ({\n\tmenu,\n\tcurrentMenuData,\n\tfavoritesMenuData,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tallResultsOpen,\n\tdispatch,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Filtered results from current menu */}\n\t\t\t{menu.id !== MENU_ALL && menu.id !== MENU_FAVORITES ? (\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"currentResults\"\n\t\t\t\t\tlabel={`${menu.label} Results`}\n\t\t\t\t\tfilteredMenuData={currentMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{/* Filtered results for Favorites Section */}\n\t\t\t<FilteredResults\n\t\t\t\tid=\"favoriteResults\"\n\t\t\t\tlabel={'Favorites'}\n\t\t\t\tfilteredMenuData={favoritesMenuData}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\n\t\t\t{/* All filtered menu items section */}\n\t\t\t<hr />\n\t\t\t<AllResultsHeader dispatch={dispatch} canToggle={menu.id !== MENU_ALL} />\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'all-results-section': true,\n\t\t\t\t\t'section-open': allResultsOpen,\n\t\t\t\t\t'results-section': true\n\t\t\t\t}}>\n\t\t\t\t<AllResults\n\t\t\t\t\topen={allResultsOpen}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\n/*\n    Render extended filter results which include current filtered menu, all results header followed by favorites filtered results and finally all results section\n    This is used for any menu other the All and Favories\n*/\nexport const FullFilteredResults = ({\n\tmenu,\n\tcurrentMenuData,\n\tfavoritesMenuData,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tallResultsOpen,\n\tdispatch,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Filtered results from current menu */}\n\t\t\t{menu.id !== MENU_ALL && menu.id !== MENU_FAVORITES ? (\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"currentResults\"\n\t\t\t\t\tlabel={`${menu.label} Results`}\n\t\t\t\t\tfilteredMenuData={currentMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{/* All filtered menu items section */}\n\t\t\t<hr />\n\t\t\t<AllResultsHeader dispatch={dispatch} canToggle={menu.id !== MENU_ALL} />\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'all-results-section': true,\n\t\t\t\t\t'all-results-open': !allResultsOpen\n\t\t\t\t}}>\n\t\t\t\t{/* Filtered results for Favorites Section */}\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"favoriteResults\"\n\t\t\t\t\tlabel={'Favorites'}\n\t\t\t\t\tfilteredMenuData={favoritesMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={TOGGLE_FAVORITE_RESULTS}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\n\t\t\t\t<ResultsSubheader\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tlabel=\"Other\"\n\t\t\t\t\ttoggleType={TOGGLE_OTHER_RESULTS}\n\t\t\t\t\tisOpen={superFilterOtherOpen}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tid=\"otherResults\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': superFilterOtherOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t<AllResults\n\t\t\t\t\t\topen={allResultsOpen}\n\t\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n","import {IFRAME_NAVIGATION_START} from '../../../../behaviors/core-ui-iframe-behavior/actions';\nimport {\n\tCLASSIC,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT\n} from '../../../../constants';\nimport {CLOSE_MENUS} from '../../../sn-polaris-layout/actions';\nimport {CLICK_FIRST_FILTERED_NAV_ITEM} from '../../actions';\n\nconst replace = (from, to) => (val) => val.replace(from, to);\nconst makeConfigUrl = (from, to) => (val) => {\n\tval = replace(from, to)(val);\n\tconst url = new URL('/personalize_all.do', window.location);\n\turl.searchParams.set('sysparm_rules_table', val);\n\turl.searchParams.set('sysparm_rules_label', val);\n\n\treturn `${url.pathname.substring(1)}${url.search}`;\n};\n\nconst makeBuilderUrl = (from, to) => (val) => {\n\tval = replace(from, to)(val);\n\n\tconst PAGEMAPPING = {\n\t\t'.builder': 'fields',\n\t\t'.BUILDER': 'fields',\n\t\t'.view': 'views',\n\t\t'.VIEW': 'views',\n\t\t'.flow': 'flows',\n\t\t'.FLOW': 'flows',\n\t\t'.sheet': 'tables',\n\t\t'.SHEET': 'tables'\n\t};\n\tconst url = new URL(\n\t\t`/now/build/form/main/params/table/${val}/view/Default view/page/${\n\t\t\tPAGEMAPPING[from]\n\t\t}`,\n\t\twindow.location.origin\n\t);\n\treturn url.toString().substring(window.location.origin.length + 1);\n};\n\nconst createClassicRoute = (targetMapper = (v) => v) => (value) => ({\n\troute: 'classic',\n\tparams: {\n\t\ttarget: addNoStack(targetMapper(value).toLowerCase())\n\t},\n\tcontext: POLARIS_CONTEXT\n});\n\nconst createExternalRoute = (targetMapper = (v) => v) => (value) => ({\n\texternal: {\n\t\turl: addNoStack(targetMapper(value).toLowerCase())\n\t}\n});\n\nconst COMMAND_MAPPING = {\n\t'.form': createClassicRoute(replace('.form', '.do?sys_id=-1')),\n\t'.FORM': createExternalRoute(replace('.FORM', '.do?sys_id=-1')),\n\t'.filter': createClassicRoute(\n\t\treplace('.filter', '_list.do?sysparm_filter_only=true')\n\t),\n\t'.FILTER': createExternalRoute(\n\t\treplace('.FILTER', '_list.do?sysparm_filter_only=true')\n\t),\n\t'.list': createClassicRoute(replace('.list', '_list.do')),\n\t'.LIST': createExternalRoute(replace('.LIST', '_list.do')),\n\t'.config': createClassicRoute(makeConfigUrl('.config', '')),\n\t'.CONFIG': createExternalRoute(makeConfigUrl('.CONFIG', '')),\n\t'.DO': createExternalRoute(replace('.DO', '.do?sys_id=-1')),\n\t'.do': createClassicRoute(replace('.do', '.do?sys_id=-1')),\n\t'.builder': createClassicRoute(makeBuilderUrl('.builder', '')),\n\t'.BUILDER': createExternalRoute(makeBuilderUrl('.BUILDER', '')),\n\t'.view': createClassicRoute(makeBuilderUrl('.view', '')),\n\t'.VIEW': createExternalRoute(makeBuilderUrl('.VIEW', '')),\n\t'.flow': createClassicRoute(makeBuilderUrl('.flow', '')),\n\t'.FLOW': createExternalRoute(makeBuilderUrl('.FLOW', '')),\n\t'.sheet': createClassicRoute(makeBuilderUrl('.sheet', '')),\n\t'.SHEET': createExternalRoute(makeBuilderUrl('.SHEET', ''))\n};\n\n// Clear the stack when navigating via shortcut\nconst addNoStack = (url) => {\n\tif (url.indexOf('?') == -1) return url + '?sysparm_clear_stack=true';\n\telse if (\n\t\turl.search(\n\t\t\t/sysparm_nostack|sysparm_nameofstack|sysparm_clear_stack|sysparm_stack|sysparm_stack0/\n\t\t) == -1\n\t) {\n\t\treturn url + '&sysparm_clear_stack=true';\n\t} else if (url.indexOf('?sys_id') != -1) {\n\t\tconst lastIndex = url.lastIndexOf('?');\n\t\treturn url.slice(0, lastIndex) + '&' + url.slice(lastIndex + 1);\n\t}\n\n\treturn url;\n};\n\nexport const makeNavigationFromCommand = (value) => {\n\t// Use URL to help parsing commands with query params, e.g. incident.do?sys_id=...\n\tconst url = new URL(value, 'http://test');\n\t// pathname is the command without query params\n\t// so for incident.do?sys_id=.., it'd be 'incident.do'\n\tconst searchTerm = url.pathname.substring(1);\n\n\tconst command = searchTerm.substring(searchTerm.lastIndexOf('.'));\n\tconst handler = COMMAND_MAPPING[command];\n\n\tif (!handler) return false;\n\n\tconst target = `${searchTerm.trim()}${url.search.trim()}`;\n\treturn handler(target);\n};\n\nexport default ({\n\taction: {\n\t\tpayload: {searchTerm, filteredMenu}\n\t},\n\tdispatch,\n\thost,\n\tproperties: {menu},\n\tupdateState\n}) => {\n\tlet navItem = {};\n\n\tif (filteredMenu.matchingItems && filteredMenu.matchingItems > 0) {\n\t\tdispatch(CLICK_FIRST_FILTERED_NAV_ITEM);\n\t} else {\n\t\tnavItem = makeNavigationFromCommand(searchTerm);\n\n\t\tif (!navItem) return;\n\t\tif (navItem.route === CLASSIC) {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t}\n\n\t\tconst input = host.shadowRoot.querySelector('input.navigation-filter');\n\t\tif (input) input.value = '';\n\n\t\tdispatch(NAV_ITEM_SELECTED, navItem);\n\t\tdispatch(CLOSE_MENUS);\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'searchTerm',\n\t\t\t\tvalue: '',\n\t\t\t\toperation: 'set'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'filteredMenu',\n\t\t\t\tvalue: menu,\n\t\t\t\toperation: 'set'\n\t\t\t}\n\t\t]);\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {executeFilter} from '@devsnc/unav-utils';\nimport {METRICS} from '../../../../constants';\n\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM,\n\tCLICK_FIRST_FILTERED_NAV_ITEM,\n\tSN_DRILLDOWN_SET\n} from '../../actions';\nimport {CLOSE_MENUS} from '../../../sn-polaris-layout/actions';\n\nimport track from '../../../../utils/track';\nimport handleNavigation from './handle-navigation-command';\nimport getMenuType from '../../../../utils/menuUtils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst findFirstHighlightedNavItem = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tstate: {properties}\n\t} = coeffects;\n\tconst {menu} = properties;\n\tlet firstList = null;\n\tlet navItem = null;\n\tif (menu.template === 'historyList') {\n\t\tfirstList = host.shadowRoot.querySelectorAll('.sn-history-menu')[0];\n\t\tnavItem = firstList.querySelector('.highlighted-item');\n\t\tif (!navItem) {\n\t\t\tnavItem = firstList.querySelector('.menu-item-link');\n\t\t}\n\t} else {\n\t\tfirstList = host.shadowRoot.querySelectorAll('sn-collapsible-list')[0];\n\t\tnavItem = firstList.shadowRoot.querySelector('.highlighted-item');\n\t\tif (!navItem) {\n\t\t\tconst firstInnerList = firstList.shadowRoot.querySelectorAll(\n\t\t\t\t'sn-collapsible-list'\n\t\t\t)[0];\n\t\t\tnavItem = firstInnerList?.shadowRoot.querySelector('.highlighted-item');\n\t\t}\n\t\t// if the menu item has a collapsed parent, we cant nav down to it with a keyboard. So\n\t\t// we'll just nav down to first item in the menu\n\t\tif (\n\t\t\tnavItem?.parentElement?.parentElement?.classList.contains('is-collapsed')\n\t\t) {\n\t\t\tnavItem = null;\n\t\t}\n\t}\n\n\treturn navItem;\n};\n\nexport const executeSuperFilter = (\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight\n) => {\n\treturn executeFilter({menu, searchTerm, filterMethod, skipHighlight});\n};\n\nconst handleMenuFiltering = (coeffects) => {\n\tlet {\n\t\taction: {\n\t\t\tpayload: {searchTerm}\n\t\t},\n\t\tdispatch,\n\t\tproperties: {menu, filterMethod, drilledMenu},\n\t\tstate,\n\t\tupdateState\n\t} = coeffects;\n\n\t// Only start filtering with 2 chars\n\tif (searchTerm?.trim().length === 1) {\n\t\tif (state.searchTerm) {\n\t\t\tsearchTerm = '';\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\n\tconst targetMenu =\n\t\tmenu.template === 'overflow' && !isSingleMenu\n\t\t\t? menu.subItems.find(({id}) => id === drilledMenu.id)\n\t\t\t: menu;\n\tconst targetMenuState = drilledMenu ? 'drilledMenu' : 'filteredMenu';\n\n\tif (targetMenu.id) {\n\t\tconst metadata = {\n\t\t\tmenuName: targetMenu.label,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(targetMenu.id)\n\t\t};\n\n\t\tdispatch(FILTER_MENU_EVENT_TRACKED, {metadata});\n\t}\n\n\tconst filteredMenu = executeFilter({\n\t\tmenu: targetMenu,\n\t\tsearchTerm,\n\t\tfilterMethod\n\t});\n\n\tif (targetMenuState === 'drilledMenu') {\n\t\tdispatch(SN_DRILLDOWN_SET, {menu: filteredMenu});\n\t}\n\n\tupdateState({\n\t\tsearchTerm,\n\t\t[targetMenuState]: filteredMenu\n\t});\n};\n\nconst FILTER_MENU_EVENT_TRACKED = 'FILTER_BEHAVIOR#FILTER_MENU_EVENT_TRACKED';\nconst trackFilterMenuEvent = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {metadata}\n\t\t}\n\t} = coeffects;\n\n\ttrack(coeffects, METRICS.FILTER_MENU, metadata);\n};\n\nexport default {\n\tname: 'NAV_FILTER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\tproperties: {filterMethod},\n\t\t\tstate: {searchTerm},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tif (name === 'menu') {\n\t\t\t\tconst filterValue = executeFilter({\n\t\t\t\t\tmenu: value,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tfilterMethod\n\t\t\t\t});\n\t\t\t\tif (filterValue !== null) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfilteredMenu: filterValue\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FILTER_SEARCH_UPDATED]: {\n\t\t\teffect: handleMenuFiltering,\n\t\t\tmodifier: {name: 'debounce', delay: 200},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NAVIGATION_REQUESTED]: {\n\t\t\teffect: handleNavigation,\n\t\t\tmodifier: {name: 'debounce', delay: 200},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FILTER_MENU_EVENT_TRACKED]: {\n\t\t\teffect: trackFilterMenuEvent,\n\t\t\tmodifier: {name: 'debounce', delay: 1000},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FOCUS_FIRST_FILTERED_NAV_ITEM]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {host, state, updateState} = coeffects;\n\n\t\t\t\tconst targetMenuState = state.drilledMenu\n\t\t\t\t\t? 'drilledMenu'\n\t\t\t\t\t: 'filteredMenu';\n\n\t\t\t\tconst navItem = findFirstHighlightedNavItem(coeffects);\n\n\t\t\t\tif (navItem) {\n\t\t\t\t\tnavItem.focus();\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\t[targetMenuState]: {\n\t\t\t\t\t\t\t...state[targetMenuState],\n\t\t\t\t\t\t\tfirstFilteredNavItem: null\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// if a highlighted nav item was not found, just jump to the first list item instead\n\t\t\t\t\tconst firstList = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'sn-collapsible-list'\n\t\t\t\t\t);\n\t\t\t\t\tfirstList.shadowRoot\n\t\t\t\t\t\t.querySelector('.snf-collapsible-list-header-button')\n\t\t\t\t\t\t.focus();\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\t[targetMenuState]: {\n\t\t\t\t\t\t\t...state[targetMenuState],\n\t\t\t\t\t\t\tfirstFilteredNavItem: null\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: false\n\t\t},\n\t\t[CLICK_FIRST_FILTERED_NAV_ITEM]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst navItem = findFirstHighlightedNavItem(coeffects);\n\t\t\t\tconst {dispatch} = coeffects;\n\n\t\t\t\tif (navItem) {\n\t\t\t\t\tnavItem.click();\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: false\n\t\t}\n\t}\n};\n","// canEdit is passed to the function based on whether the top level menu\n// has edit functionality for its subItems. Then it returns a function that sets\n// the same value of canEdit on the subItems of the menu and recurses through the\n\nimport {MENU_ALL, MENU_FAVORITES, MENU_HISTORY} from '../../../constants';\nimport {executeSuperFilter} from '../behaviors/filter';\nimport {t} from 'sn-translate';\n\n// subItems of subItems until all menu items have `canEdit` to match the top level menu\nexport const setCanEdit = (canEdit) => (menu) => ({\n\t...menu,\n\tcanEdit,\n\t...(menu.subItems?.length > 0\n\t\t? {subItems: menu.subItems.map(setCanEdit(canEdit))}\n\t\t: {})\n});\n\nexport const getSuperFilterResults = ({\n\theaderMenuItems,\n\tfilterMethod,\n\tsearchTerm,\n\tmenu\n}) => {\n\t// collect favorites menu data from headerMenuItems\n\tconst favoritesMenuItems = headerMenuItems.find(\n\t\t(menuItem) => menuItem.id === MENU_FAVORITES\n\t);\n\t// collect menu data for all menus other then favs and history from headerMenuItems\n\tconst fullMenuItems = headerMenuItems.filter(\n\t\t({id}) =>\n\t\t\tid !== MENU_FAVORITES && id !== MENU_HISTORY && id !== 'nav-overflow'\n\t);\n\tlet joinMenuItems = []; // placeholder array to join subitems from fullMenuItems\n\n\t// create joined array of subitems from each menu in fullMenuItems\n\t// DEF0651735: Skip empty subItems so that open and loaded menu is still searchable\n\tfullMenuItems.forEach((menu) => {\n\t\tif (menu.subItems?.length) {\n\t\t\tjoinMenuItems = joinMenuItems.concat(\n\t\t\t\tmenu.subItems.map(setCanEdit(menu.canEdit))\n\t\t\t);\n\t\t}\n\t});\n\n\t// create menu data for filtered current menu section\n\tconst currentMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: menu.id,\n\t\t\tsubItems: menu.subItems,\n\t\t\ttemplate: menu.template,\n\t\t\tisGroup: true\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod\n\t);\n\n\t// create menu data for filtered favorites section\n\tconst favoritesMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: MENU_FAVORITES,\n\t\t\tsubItems: favoritesMenuItems?.subItems,\n\t\t\ttemplate: 'tree',\n\t\t\tisGroup: true\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod,\n\t\tcurrentMenuData.matchingItems > 0 &&\n\t\t\tmenu.id !== MENU_ALL &&\n\t\t\tmenu.id !== MENU_FAVORITES\n\t);\n\n\t// create menu data for all filtered results secton\n\tconst fullMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: MENU_ALL,\n\t\t\tlabel: t('All Results'),\n\t\t\tsubItems: joinMenuItems,\n\t\t\ttemplate: 'tree',\n\t\t\topen: menu.id === MENU_ALL\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod,\n\t\tcurrentMenuData.matchingItems > 0 && favoritesMenuData.matchingItems > 0\n\t);\n\n\treturn {fullMenuData, favoritesMenuData, currentMenuData};\n};\n","import {MENU_ALL, MENU_FAVORITES} from '../../../constants';\nimport {SimpleFilteredResults, FullFilteredResults} from './fragments';\nimport {getSuperFilterResults} from './super-filter.utils';\n\n/**\n *\n * Simple View to handle displaying extended menu filter results which can include the current menu\n * as well as items from other menus suchs as Favorites.\n *\n */\nexport const SuperFilter = ({\n\tdispatch,\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\theaderMenuItems = [],\n\tallResultsOpen,\n\tanimationsEnabled,\n\tshouldOpenUI16TabsInsidePolaris,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst {\n\t\tfullMenuData,\n\t\tfavoritesMenuData,\n\t\tcurrentMenuData\n\t} = getSuperFilterResults({headerMenuItems, searchTerm, filterMethod, menu});\n\n\t/* if there are no results in the favorites section, then automatically show all results */\n\tconst forceAllResultsOpen =\n\t\t(menu.id === MENU_ALL || menu.id === MENU_FAVORITES) &&\n\t\t(favoritesMenuData && favoritesMenuData.matchingItems === 0);\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-container': true,\n\t\t\t\t'all-results-open': allResultsOpen || forceAllResultsOpen\n\t\t\t}}>\n\t\t\t{menu.id === MENU_ALL || menu.id === MENU_FAVORITES ? (\n\t\t\t\t<SimpleFilteredResults\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tcurrentMenuData={currentMenuData}\n\t\t\t\t\tfavoritesMenuData={favoritesMenuData}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tallResultsOpen={\n\t\t\t\t\t\tmenu.id === MENU_ALL || allResultsOpen || forceAllResultsOpen\n\t\t\t\t\t}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<FullFilteredResults\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tcurrentMenuData={currentMenuData}\n\t\t\t\t\tfavoritesMenuData={favoritesMenuData}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tallResultsOpen={menu.id === MENU_ALL || allResultsOpen}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import {SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nexport const actionHandlers = {\n\t[SN_DRILLDOWN_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {updateState} = coeffects;\n\n\t\t\tupdateState({\n\t\t\t\tsearchTerm: ''\n\t\t\t});\n\t\t}\n\t}\n};\n","import '@servicenow/now-loader';\n\nexport default () => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-loader-menu': true\n\t\t\t}}>\n\t\t\t<now-loader />\n\t\t<\/div>\n\t);\n};\n","import {View as TreeMenu} from '../sn-menu-template-all';\nimport {View as HistoryMenu} from '../sn-menu-template-history';\nimport {View as OverflowMenu} from '../sn-menu-template-overflow';\nimport {View as LoaderMenu} from '../sn-menu-template-loader';\n\nexport const TEMPLATE_MAP = {\n\ttree: TreeMenu,\n\thistoryList: HistoryMenu,\n\toverflow: OverflowMenu,\n\tloader: LoaderMenu\n};\n\nexport const resolveTemplate = (template) => TEMPLATE_MAP[template] || TreeMenu;\n\n/**\n * Render the proper menu based off of the template\n */\nexport const MenuBody = (props) => {\n\tif (!props.menu) return null;\n\n\tconst templateProps = {\n\t\t...props,\n\t\tmenu: {...props.menu}\n\t};\n\n\tconst Template = props.isLoading\n\t\t? TEMPLATE_MAP.loader\n\t\t: resolveTemplate(templateProps.menu.template);\n\n\treturn <Template {...templateProps} />;\n};\n","import '@servicenow/now-icon';\nimport '../sn-drilldown-list';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tSN_DRILLDOWN_LIST_TOGGLE,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM\n} from '../actions';\n\nimport {MAIN_MENU_PINNED} from '../../sn-polaris-layout/actions';\nimport {FAVORITE_EDIT_MODAL_REQUESTED} from '../../sn-polaris-layout/favorite-edit-modal/actions';\n\nimport {t} from 'sn-translate';\nimport {FilterInput} from '../../filter-input';\nimport {PinButton} from '../fragments/button-fragments';\nimport {MenuBody} from '../utils/template-map';\nimport {isNil} from 'lodash';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {SuperFilter} from '../super-filter';\nimport {\n\tgetBooleanProperty,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {\n\tMENU_FAVORITES,\n\tMENU_ALL,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS\n} from '../../../constants';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\nimport {ExperienceTitlePill} from '../../sn-polaris-layout/fragments/experience-title-pill';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../sn-drilldown-list/constants';\n\nexport default ({\n\tanimationsEnabled,\n\tdrilledMenu,\n\tdir,\n\tdispatch,\n\tinputHasFocus,\n\tmenu,\n\tobserver,\n\tsearchTerm,\n\tupdateState,\n\tmenuState = {},\n\tisPrimary,\n\tfilterMethod,\n\tuseSuperFilter,\n\theaderMenuItems,\n\tallResultsOpen,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshouldOpenUI16TabsInsidePolaris,\n\tshowHiddenControls,\n\tpageLabel,\n\tisPolarisEnabled,\n\tselectedContentFavorite,\n\tfavoriteSR,\n\tfavoriteTooltip,\n\ttempFavoriteStarFill,\n\twindowSize\n}) => {\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\tconst activeMenuId = !isNil(drilledMenu) ? drilledMenu.id : menu.subId;\n\tconst isSuperFilterOpen = searchTerm?.length >= 2 && useSuperFilter;\n\n\tconst OverflowMenuHeader = () => (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-container': true,\n\t\t\t\t'is-drilled': drilledMenu ? true : false,\n\t\t\t\t'can-animate': animationsEnabled\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t'is-drilled': drilledMenu ? true : false,\n\t\t\t\t\t'is-single': isSingleMenu,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\ttabIndex={isDrilled ? 0 : -1}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={t('Back to menus')}\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\tdrilled: false,\n\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU,\n\t\t\t\t\t\titem: drilledMenu\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t{drilledMenu ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'right' : 'left'}-outline`}\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t\t\t{drilledMenu.icon\n\t\t\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\t\t\tdrilledMenu.icon,\n\t\t\t\t\t\t\t\t\t\tdrilledMenu,\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-icon',\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{drilledMenu.label}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : null}\n\t\t\t\t{isSingleMenu ? (\n\t\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-icon',\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t{menu?.label}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\n\t\t\t{!isNil(drilledMenu) && drilledMenu.id === MENU_FAVORITES ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\tpencil: true\n\t\t\t\t\t}}>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\tfavorites: drilledMenu.id === MENU_FAVORITES\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label={t('Edit your favorites')}\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\t\tmenu: drilledMenu\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<now-icon icon=\"pencil-page-outline\" size=\"md\" />\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\tpin: true\n\t\t\t\t}}>\n\t\t\t\t<PinButton\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tmenuState={{\n\t\t\t\t\t\tisPrimary,\n\t\t\t\t\t\t// TODO: fix overflow pinning\n\t\t\t\t\t\tprimaryMenuId: isPrimary ? activeMenuId : menuState.primaryMenuId,\n\t\t\t\t\t\tsecondaryMenuId: !isPrimary\n\t\t\t\t\t\t\t? activeMenuId\n\t\t\t\t\t\t\t: menuState.secondaryMenuId,\n\n\t\t\t\t\t\tdoPinning: true\n\t\t\t\t\t}}\n\t\t\t\t\tpinEventName={MAIN_MENU_PINNED}\n\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tisWideMenu={false}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\tconst {matchingItems} = drilledMenu || {};\n\tconst isDrilled = drilledMenu || isSingleMenu;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-overflow-menu': true\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-tab-content': true,\n\t\t\t\t\t'-left': true,\n\t\t\t\t\t'is-visible': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t{!isDrilled &&\n\t\t\t\twindowSize.width !== -1 &&\n\t\t\t\twindowSize.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t<div className=\"overflow-pill-header\">\n\t\t\t\t\t\t<ExperienceTitlePill\n\t\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tisInMenu\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{isDrilled ? <OverflowMenuHeader /> : <div />}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t'is-drilled': isDrilled,\n\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t'is-drilldown-list': !isDrilled\n\t\t\t\t\t}}>\n\t\t\t\t\t{isDrilled ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-id={`menu-header-${menu.id}`}>\n\t\t\t\t\t\t\t<FilterInput\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\thasFocus={inputHasFocus}\n\t\t\t\t\t\t\t\tmenu={isSingleMenu ? menu : drilledMenu}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI\n\t\t\t\t\t\t\t\t\t\t\t\t.NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tevent.target.select();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tupdateState({inputHasFocus: true});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => updateState({inputHasFocus: false})}\n\t\t\t\t\t\t\t\tonInput={(e) => {\n\t\t\t\t\t\t\t\t\tconst searchTerm = e.composedPath()[0].value;\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {\n\t\t\t\t\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\t\t\t\t\t\tdispatch(NAVIGATION_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: e.composedPath()[0].value,\n\t\t\t\t\t\t\t\t\t\t\t\tfilteredMenu: isSingleMenu ? menu : drilledMenu\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\t\t\t\t\t\tif (matchingItems && matchingItems > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(FOCUS_FIRST_FILTERED_NAV_ITEM);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonInputClear={() => {\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {searchTerm: ''});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{drilledMenu ? (\n\t\t\t\t\t\tisSuperFilterOpen ? (\n\t\t\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tmenu={drilledMenu}\n\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallResultsOpen={allResultsOpen || drilledMenu.id === MENU_ALL}\n\t\t\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MenuBody\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tmenu={drilledMenu}\n\t\t\t\t\t\t\t\tmatchingItems={drilledMenu.matchingItems}\n\t\t\t\t\t\t\t\ttotalItems={drilledMenu.totalItems}\n\t\t\t\t\t\t\t\tcanMove={false}\n\t\t\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : menu?.subItems ? (\n\t\t\t\t\t\tisSingleMenu ? (\n\t\t\t\t\t\t\tisSuperFilterOpen ? (\n\t\t\t\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\t\t\t\t...menu,\n\t\t\t\t\t\t\t\t\t\tid: menu.subId,\n\t\t\t\t\t\t\t\t\t\ttemplate: menu.subTemplate\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<MenuBody\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\t\t\t\t...menu,\n\t\t\t\t\t\t\t\t\t\tid: menu.subId,\n\t\t\t\t\t\t\t\t\t\ttemplate: menu.subTemplate\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmatchingItems={menu.matchingItems}\n\t\t\t\t\t\t\t\t\ttotalItems={menu.totalItems}\n\t\t\t\t\t\t\t\t\tcanMove={false}\n\t\t\t\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"drilldown-items\">\n\t\t\t\t\t\t\t\t{menu.subItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\t\t\t\tmenu={item}\n\t\t\t\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\n/**\n * Called when the headerNavigationElemRef property changes.\n * Handles updating the correct sn-polaris-menu components based on the state of menuMenuState.\n * If there was a menu open already when this is called, that is considered the 'previous menu' and this will handle closing it out properly too.\n * 'Previous menu' also gets used to setup the slide into place menu animations.\n * All sn-polaris-menu components on the page will have its 'handleMenuStateChange' method called but only the 'active menu' (the menu the user can see) will  make the actual updates to the page.\n * @param {*} state state of menu component\n * @param {*} host\n * @param {*} propName\n * @param {*} previousValue\n */\nexport default function handleMenuStateChange(\n\tstate,\n\thost,\n\tpropName,\n\tpreviousValue\n) {\n\tconst {\n\t\tproperties: {\n\t\t\tmenu,\n\t\t\tmenuState,\n\t\t\theaderNavigationElemRef,\n\t\t\tisPrimary,\n\t\t\tanimationsEnabled\n\t\t}\n\t} = state;\n\n\tconst menuElementsList = host.parentElement?.querySelectorAll(\n\t\t'sn-polaris-menu'\n\t);\n\n\tconst previousMenu = menuElementsList?.[previousValue] || null;\n\n\t// close menu after second tab click\n\tif (menuState.primaryMenuId === null && previousMenu) {\n\t\thost?.classList.remove('is-open');\n\t\treturn;\n\t}\n\tif (!headerNavigationElemRef || !headerNavigationElemRef.querySelector)\n\t\treturn;\n\n\t// only update the active menu(s)\n\tif (\n\t\tmenu.id === menuState.primaryMenuId ||\n\t\tmenu.id === menuState.secondaryMenuId\n\t) {\n\t\tswitch (propName) {\n\t\t\tcase 'firstLoad':\n\t\t\tcase 'headerNavigationElemRef':\n\t\t\tcase 'menuState': {\n\t\t\t\tif (propName === 'firstLoad') {\n\t\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t\t`[id='${menu.id}']`\n\t\t\t\t\t);\n\t\t\t\t\tmoveMenu(host, state, nextNavigationTabElement, animationsEnabled);\n\t\t\t\t}\n\n\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t`[id='${\n\t\t\t\t\t\tisPrimary ? menuState.primaryMenuId : menuState.secondaryMenuId\n\t\t\t\t\t}']`\n\t\t\t\t);\n\t\t\t\tif (previousMenu) {\n\t\t\t\t\tpreviousMenu?.classList.remove('is-open');\n\t\t\t\t}\n\t\t\t\thost?.classList.add('is-open');\n\t\t\t\t// trigger animation\n\t\t\t\tmoveMenu(host, state, nextNavigationTabElement, animationsEnabled);\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\thost?.classList.remove('is-open');\n\t}\n}\n\n/**\n * Handles moving the main or alt menu so that its centered properly under the active tab in the top navigation.\n * This handles offsetting the visible tab in cases where the menu can not be centered because the tab is near the edge of the page.\n * In those cases we put the menu on the edge of the screen and change the grid template of tab 'grid container' so the tab offsets properly to appear\n * under the selected tab in the top navigation. This will also handle cases where the menu's tab needs to sit right or left flush with the menu body.\n * @param {*} host the sn-polaris-menu element this effect is running in\n * @param {*} state state of host\n * @param {*} navTabElem the element in the top navigation which this menu should align itself to\n * @param {*} canAnimate boolean to toggle if this call will animate or not. Mostly used to quick place menus in the background\n */\nexport const moveMenu = (\n\thost,\n\tstate,\n\tnavTabElem,\n\tcanAnimate,\n\tisContextualMenu = true\n) => {\n\tconst {menuState, menuWidth, isPrimary} = state.properties;\n\n\tconst pinnedMenuLeftMargin = 12; // margin between pinned menu and unpinned menu. This matches the margin in the header for the top nav and is needed for aligning the menu properly to the nav tabs.\n\tconst isRTL = document.dir === 'rtl';\n\tconst hostElement = isContextualMenu\n\t\t? host.shadowRoot.querySelector('nav')\n\t\t: host;\n\n\tif (navTabElem) {\n\t\t// toggle animations on/off as needed\n\t\tif (canAnimate && !hostElement?.classList.contains('can-animate')) {\n\t\t\thostElement?.classList.add('can-animate');\n\t\t} else if (!canAnimate && hostElement?.classList.contains('can-animate')) {\n\t\t\thostElement?.classList.remove('can-animate');\n\t\t}\n\n\t\t// if this the pinned menu, set menu location and be done\n\t\tif (isPrimary && (menuState.isMenuPinned && menuState.canBePinned)) {\n\t\t\tif (isRTL) {\n\t\t\t\thostElement.style.right = `0px`;\n\t\t\t} else {\n\t\t\t\thostElement.style.left = `0px`;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// if this is not a pinned menu, figure out what size and location this menu's tab needs to be\n\t\tconst newMenuWidth = menuWidth + (isPrimary ? 0 : pinnedMenuLeftMargin);\n\t\tconst menuBodyOffset = newMenuWidth / 2;\n\n\t\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\t\tconst itemRect = {\n\t\t\twidth: navTabElem.offsetWidth,\n\t\t\tx: navTabElem.offsetLeft\n\t\t};\n\t\tconst itemWidth = Math.floor(itemRect.width);\n\t\tconst itemLeft = navTabElem.getAttribute('unpinnedLeft') || itemRect.x;\n\n\t\t// find new location for the menu body\n\t\tlet newMenuStart = itemLeft - menuBodyOffset + itemWidth / 2;\n\n\t\t// if the menu is going to be offscreen, bring it back in and offset menu tab\n\t\tif (newMenuStart < 0) {\n\t\t\tnewMenuStart = 0;\n\t\t} else if (!isPrimary && newMenuStart < newMenuWidth) {\n\t\t\t// if this is a secondary menu and its overlapping the pinned menu, bring it back and offset the menu tab\n\t\t\tnewMenuStart = newMenuWidth;\n\t\t} else if (\n\t\t\tisPrimary &&\n\t\t\tnewMenuStart + newMenuWidth >= document.body.offsetWidth\n\t\t) {\n\t\t\tnewMenuStart = 0;\n\t\t}\n\n\t\t// At this point we are done computing where the menu and tab locations will need to be.\n\t\t// Now do the actual updates on the menu(s)\n\t\t// move menu body to new location\n\t\tif (isRTL) {\n\t\t\thostElement.style.right = `${newMenuStart}px`;\n\t\t} else {\n\t\t\thostElement.style.left = `${newMenuStart}px`;\n\t\t}\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {get, isEmpty} from 'lodash';\nimport deepFind from '../../utils/deepFind';\n\nimport {\n\tNAV_ITEM_SELECTED,\n\tMETRICS,\n\tOVERLAY_BEHAVIOR_OPENED_SET,\n\tMENU_ALL,\n\tMENU_WORKSPACES,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tCLASSIC\n} from '../../constants';\n\nimport {\n\tNAV_SUB_MENU_ITEM_SELECTED,\n\tNAV_SUB_MENU_ITEM_UNFAVORITED,\n\tNAV_SUB_MENU_ITEM_FAVORITED,\n\tMENU_CONTENT_FOCUSED,\n\tTOGGLE_ALL_RESULTS,\n\tTOGGLE_FAVORITE_RESULTS,\n\tTOGGLE_OTHER_RESULTS,\n\tSN_DRILLDOWN_SET\n} from './actions';\n\nimport {\n\tLAYOUT_ITEM_FAVORITED,\n\tLAYOUT_ITEM_UNFAVORITED\n} from '../../behaviors/favorites-behavior/actions';\n\nimport {unschedule} from '@servicenow/now-tooltip';\n\nimport track from '../../utils/track';\n\nimport handleMenuStateChange from './utils/handle-menu-state-change';\nimport {MAIN_LOGO_LOADED} from '../sn-polaris-header/actions';\nimport getMenuType from '../../utils/menuUtils';\n\nimport {handleFocusFirstNode} from '@servicenow/behavior-focus';\nimport {MAIN_MENU_PINNED} from '../sn-polaris-layout/actions';\nimport {MANUAL_MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport getMenuItemHref from '../../utils/getMenuItemHref';\nimport {\n\tgetRouteFromMenuItem,\n\tprepareFavoriteUrl\n} from './sn-polaris-menu.utils';\nimport {IFRAME_NAVIGATION_START} from '../../behaviors/core-ui-iframe-behavior/actions';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_DOM_READY\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[NAV_SUB_MENU_ITEM_SELECTED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {item}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tproperties: {menu},\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tif (item.route?.route == CLASSIC) {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t}\n\n\t\tupdateState({preventHighlight: true});\n\t\t// we still use experienceConfigs from the window because there are supported\n\t\t// experiences that are not workspaces.\n\t\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\n\t\tconst route = getRouteFromMenuItem(item, menu?.id);\n\t\tif (menu?.id === MENU_WORKSPACES) {\n\t\t\tdispatch(PAGE_TITLE_UPDATE_REQUESTED, {label: ''});\n\t\t}\n\t\tconst {searchTerm, closeMenuAction} = state;\n\n\t\tconst menuItem =\n\t\t\tdeepFind(menu, 'subItems', (m) => m.id === item.id, true) || [];\n\n\t\tconst parent = menuItem?.parents;\n\t\tconst path =\n\t\t\tparent?.length > 1\n\t\t\t\t? parent.reduce(\n\t\t\t\t\t\t(acc, p, i) => (i > 1 ? acc + ' -> ' + p.label : p.label),\n\t\t\t\t\t\t''\n\t\t\t\t  ) +\n\t\t\t\t  ' -> ' +\n\t\t\t\t  item.label\n\t\t\t\t: item.label;\n\n\t\tconst metadata = {\n\t\t\tmenuName: menu.label,\n\t\t\tname: path,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(menu.id)\n\t\t};\n\t\tif (item.isDirty) metadata.isUnsaved = true;\n\n\t\ttrack(coeffects, METRICS.SELECT_MENU_ITEM, metadata);\n\t\tif (\n\t\t\t!isEmpty(experienceConfigs) &&\n\t\t\texperienceConfigs[(route?.context?.path)]\n\t\t) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, route, {updatePersistedState: true});\n\t\t} else {\n\t\t\tconst url = getMenuItemHref(item, true);\n\t\t\tconst target = item.route?.external?.target ?? '_blank';\n\t\t\twindow.open(url, target).focus();\n\t\t}\n\t\tdispatch(closeMenuAction);\n\t},\n\t[NAV_SUB_MENU_ITEM_FAVORITED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tstate: {searchTerm},\n\t\t\tproperties\n\t\t} = coeffects;\n\n\t\tconst favorite = prepareFavoriteUrl(payload.item);\n\t\tif (!favorite) return;\n\n\t\tconst metadata = {\n\t\t\tmenuName: properties.menu.label,\n\t\t\tname: payload.item.label,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(properties.menu.id)\n\t\t};\n\n\t\ttrack(coeffects, METRICS.CREATE_FAVORITE, metadata);\n\t\tdispatch(LAYOUT_ITEM_FAVORITED, {\n\t\t\t...payload,\n\t\t\tfavorite\n\t\t});\n\t},\n\t[NAV_SUB_MENU_ITEM_UNFAVORITED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch\n\t\t} = coeffects;\n\n\t\tdispatch(LAYOUT_ITEM_UNFAVORITED, payload);\n\t},\n\t[OVERLAY_BEHAVIOR_OPENED_SET]: ({\n\t\tproperties: {menuState, isPrimary, forceMenuOpen},\n\t\tstate: {closeMenuAction},\n\t\tdispatch\n\t}) => {\n\t\tif (\n\t\t\t!forceMenuOpen &&\n\t\t\t(!(menuState.isMenuPinned && menuState.canBePinned) ||\n\t\t\t\t(menuState.isMenuPinned && menuState.canBePinned && !isPrimary))\n\t\t)\n\t\t\tdispatch(closeMenuAction);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\tstate,\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\topened,\n\t\t\theaderNavigationElemRef,\n\t\t\tmenu,\n\t\t\tmenuState,\n\t\t\theaderMenuItems,\n\t\t\tdrilledMenu\n\t\t},\n\t\tupdateState\n\t}) {\n\t\tswitch (name) {\n\t\t\tcase 'headerNavigationElemRef':\n\t\t\tcase 'menuState':\n\t\t\t\thandleMenuStateChange(state, host, name, previousValue);\n\t\t\t\tbreak;\n\t\t\tcase 'menu':\n\t\t\t\tif (value.id !== previousValue.id && opened) {\n\t\t\t\t\t// focus again when the menu changes\n\t\t\t\t\thost.focus();\n\t\t\t\t}\n\t\t\t\tif (drilledMenu) {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_SET, {\n\t\t\t\t\t\tmenu: headerMenuItems.find(({id}) => id === drilledMenu.id)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'drilledMenu':\n\t\t\t\tif (value && isEmpty(previousValue)) {\n\t\t\t\t\twindow.requestIdleCallback(() => {\n\t\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\t\tdispatch(MENU_CONTENT_FOCUSED);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'opened':\n\t\t\t\tif (value) {\n\t\t\t\t\t// Host is not always available straight away then property is changed hence this need to be delayed\n\t\t\t\t\tsetTimeout(() => host.focus(), 100);\n\t\t\t\t} else {\n\t\t\t\t\t// reset overflow menu state on close\n\t\t\t\t\tif (menu.id === 'nav-overflow') {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfilteredMenu: menu,\n\t\t\t\t\t\t\tsearchTerm: ''\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst inputField = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t'.navigation-filter'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (inputField) {\n\t\t\t\t\t\t\tinputField.value = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t\t`[id='${menu.id}']`\n\t\t\t\t\t);\n\t\t\t\t\tconst isMainMenuClosed =\n\t\t\t\t\t\t(!menuState.isMenuPinned && menuState.primaryMenuId === null) ||\n\t\t\t\t\t\t(menuState.isMenuPinned &&\n\t\t\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\t\t\tmenuState.secondaryMenuId === null);\n\n\t\t\t\t\t// if there are no other menus open, return focus to parent button of menu being closed.\n\t\t\t\t\tif (nextNavigationTabElement && isMainMenuClosed) {\n\t\t\t\t\t\t// menu is closing which means container needs to become focusable again\n\t\t\t\t\t\tupdateState({containerTabindex: 0});\n\t\t\t\t\t\tif (menuState.closedByKeyboard) {\n\t\t\t\t\t\t\tnextNavigationTabElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// put all list items in suspend mode when menu is closed\n\t\t\t\t\tconst listItems = host.shadowRoot.querySelectorAll(\n\t\t\t\t\t\t'sn-collapsible-list'\n\t\t\t\t\t);\n\t\t\t\t\tlistItems.forEach((item) => {\n\t\t\t\t\t\tif (item.nowMode !== 'detach') {\n\t\t\t\t\t\t\titem.nowMode = 'suspend';\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({action}) => {\n\t\tconst componentId = action.meta.id;\n\t\tunschedule(componentId);\n\t},\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: ({state, host}) => {\n\t\t\thandleMenuStateChange(state, host, 'firstLoad', -1);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MAIN_LOGO_LOADED]: {\n\t\teffect: ({state, host}) => {\n\t\t\thandleMenuStateChange(state, host, 'firstLoad', -1);\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t[MAIN_MENU_PINNED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {doPinning}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: {isTouchDevice}\n\t\t}) => {\n\t\t\tif (isTouchDevice) {\n\t\t\t\tupdateState({containerTabindex: doPinning ? 0 : -1});\n\t\t\t}\n\t\t\tif (!isTouchDevice && doPinning) {\n\t\t\t\tdispatch(MENU_CONTENT_FOCUSED);\n\t\t\t}\n\t\t}\n\t},\n\t[MENU_CONTENT_FOCUSED]: {\n\t\teffect: ({host, properties: {isTouchDevice}}) => {\n\t\t\tif (!isTouchDevice) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleFocusFirstNode(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MANUAL_MENU_REFRESH_REQUESTED]: {\n\t\teffect: ({host}) => {\n\t\t\tconst refresh = host.shadowRoot.querySelector('#refresh-menu');\n\t\t\tif (refresh) {\n\t\t\t\trefresh.classList.add('refreshing');\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\trefresh.classList.remove('refreshing');\n\t\t\t\t}, 5000);\n\t\t\t}\n\t\t}\n\t},\n\t[TOGGLE_ALL_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {allResultsOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tif (menu.id !== MENU_ALL) {\n\t\t\t\tupdateState({\n\t\t\t\t\tallResultsOpen: !allResultsOpen\n\t\t\t\t});\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\t\tname: 'Filter All Results Toggle',\n\t\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t\t};\n\n\t\t\t\ttrack(coeffects, METRICS.ALL_RESULTS_TOGGLE, metadata);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_FAVORITE_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {superFilterFavoritesOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tupdateState({\n\t\t\t\tsuperFilterFavoritesOpen: !superFilterFavoritesOpen\n\t\t\t});\n\n\t\t\tconst metadata = {\n\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\tname: 'Filter Favorite Results Toggle',\n\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t};\n\n\t\t\ttrack(coeffects, METRICS.FAVORITES_RESULTS_TOGGLE, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_OTHER_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {superFilterOtherOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tupdateState({\n\t\t\t\tsuperFilterOtherOpen: !superFilterOtherOpen\n\t\t\t});\n\n\t\t\tconst metadata = {\n\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\tname: 'Filter Other Results Toggle',\n\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t};\n\n\t\t\ttrack(coeffects, METRICS.OTHER_RESULTS_TOGGLE, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {isNil} from 'lodash';\n\nconst {\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst setupIntersectionObserver = ({host, updateState}) => {\n\tconst menuItemHeight = 32;\n\tconst additionalItemsToRender = 2;\n\n\tconst observer = new IntersectionObserver(\n\t\t(entries) => {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tentry.target.nowMode = 'active';\n\t\t\t\t} else {\n\t\t\t\t\tentry.target.nowMode = 'suspend';\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t{\n\t\t\troot: host.shadowRoot.querySelector('.sn-polaris-nav'),\n\t\t\trootMargin: `${menuItemHeight * additionalItemsToRender}px 0px`\n\t\t}\n\t);\n\n\t// handle any that have already been rendered\n\thost.shadowRoot\n\t\t.querySelectorAll('sn-collapsible-list')\n\t\t?.forEach((elm) => observer.observe(elm));\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'observer',\n\t\t\tvalue: observer,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t},\n\t\t{\n\t\t\tpath: 'alreadyBeenOpened',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t}\n\t]);\n};\n\nexport default {\n\tname: 'MENU_LAZY_LOADING_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]({\n\t\t\taction,\n\t\t\tproperties: {opened},\n\t\t\tstate: {alreadyBeenOpened}\n\t\t}) {\n\t\t\tif (!alreadyBeenOpened && !opened) action.preventDefault();\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]({\n\t\t\tproperties: {opened},\n\t\t\thost,\n\t\t\tstate: {observer},\n\t\t\tupdateState\n\t\t}) {\n\t\t\t// If menu initially open, setup\n\t\t\tif (opened && isNil(observer))\n\t\t\t\tsetupIntersectionObserver({host, updateState});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\thost,\n\t\t\tstate: {observer},\n\t\t\tproperties: {opened},\n\t\t\tupdateState\n\t\t}) {\n\t\t\t// helper method to setup intersection observers on current menu items\n\t\t\t// interesection observers are used to delay rendering menu items until they\n\t\t\t// appear within the visible part of the menu\n\t\t\tconst setupObserver = () => {\n\t\t\t\tif (!isNil(observer)) {\n\t\t\t\t\tteardownObserver();\n\t\t\t\t}\n\t\t\t\tif (opened) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetupIntersectionObserver({host, updateState});\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// helper method to remove intersection observers from menu items\n\t\t\t// used when the menu items are removed from the dom.\n\t\t\tconst teardownObserver = () => {\n\t\t\t\tif (!isNil(observer)) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'observer',\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (\n\t\t\t\tname === 'opened' ||\n\t\t\t\t(name === 'drilledMenu' ||\n\t\t\t\t\tname === 'superFilterAllResultsOpen' ||\n\t\t\t\t\tname === 'menu')\n\t\t\t) {\n\t\t\t\tif (value || name === 'superFilterAllResultsOpen' || name === 'menu') {\n\t\t\t\t\tsetupObserver();\n\t\t\t\t} else {\n\t\t\t\t\tteardownObserver();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties: {opened}}) {\n\t\treturn {\n\t\t\tobserver: null,\n\t\t\talreadyBeenOpened: opened\n\t\t};\n\t}\n};\n","import {PINNED_MENU_LEFT_MARGIN, TAB_HEIGHT, CORNER_RADIUS} from './constants';\nimport {declarativeOperations} from '@servicenow/ui-core';\n\n/**\n * Entry point to draw/redraw the top tab for a given menu\n *\n * @param {Object} coeffects\n */\nexport const updateTabPath = (coeffects) => {\n\tconst {\n\t\tproperties: {opened, menu, menuState}\n\t} = coeffects;\n\n\tconst pathTag = getPathTag(coeffects);\n\n\tif (pathTag) {\n\t\tif (\n\t\t\topened &&\n\t\t\t(!menuState.isMenuPinned ||\n\t\t\t\t(menuState.isMenuPinned && !menuState.canBePinned) ||\n\t\t\t\t(menuState.isMenuPinned && menuState.primaryMenuId !== menu.id))\n\t\t) {\n\t\t\tdrawTabSvgPath(pathTag, TAB_HEIGHT, CORNER_RADIUS, coeffects, false);\n\t\t} else {\n\t\t\tdrawTabSvgPath(pathTag, 0, 0, coeffects, true);\n\t\t}\n\t}\n};\n\n/**\n * Returns the parent tab in the main menu navigation for the current menu\n * If the element has not been cached yet, this will fetch it and cache it first.\n *\n * @param {Object} coeffects\n * @returns {Object} returns object containing nav tab element and nav dimensions used to find tab placement\n */\nexport const getNavTabElement = (coeffects) => {\n\tconst {state, properties, updateState} = coeffects;\n\tconst {menu, headerNavigationElemRef} = properties;\n\n\tlet navTabElem = state.navTabElem?.value;\n\tlet navTabElemRect = state.navTabElemRect?.value;\n\n\t// grab and cache the element in the main nav which goes with this menu\n\tif (headerNavigationElemRef && (!navTabElem || !navTabElemRect)) {\n\t\tnavTabElem = headerNavigationElemRef.querySelector(`[id='${menu.id}']`);\n\n\t\tnavTabElemRect = {\n\t\t\twidth: navTabElem.offsetWidth,\n\t\t\theight: navTabElem.parentElement.offsetHeight,\n\t\t\tx: navTabElem.offsetLeft\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: 'navTabElem',\n\t\t\tvalue: navTabElem,\n\t\t\tshouldRender: false,\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'navTabElemRect',\n\t\t\tvalue: navTabElemRect,\n\t\t\tshouldRender: false,\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t}\n\n\treturn {\n\t\tnavTabElem: navTabElem,\n\t\tnavTabElemRect: navTabElemRect\n\t};\n};\n\n/**\n * Returns the svg path tag that draws the menu's top tab\n * This will create and cache the path tag and append it to the menu's svg\n * if the element has not been created/cached yet.\n * @param {Object} coeffects\n * @returns {Element} svg path tag element\n */\nexport const getPathTag = (coeffects) => {\n\tconst {state, updateState, host} = coeffects;\n\n\t// grab and cache the path element inside the svg element for this menu\n\tlet pathTag = state.pathTag?.value;\n\tif (!pathTag) {\n\t\tconst svgTag = host.shadowRoot.querySelector('#tabSvg');\n\t\tif (!svgTag) {\n\t\t\treturn null;\n\t\t}\n\t\tpathTag = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n\t\tsvgTag.appendChild(pathTag);\n\t\tdrawTabSvgPath(pathTag, 0, 0, coeffects, true);\n\n\t\tupdateState({\n\t\t\tpath: 'pathTag',\n\t\t\tvalue: pathTag,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\treturn pathTag;\n};\n\n/**\n * This does the math to figure out where the menu and its tab are on the page\n * and then updates the svg path to draw the tab in the right place. This also\n * handles if the tab is flush to the side of the menu and when document direction is flipped\n *\n * @param {*} pathTag - svg path tag that draw the tab path itself\n * @param {*} tabHeight - height of the tab\n * @param {*} cornerRadius - corner radius of the menu corners\n * @param {*} coeffects\n * @return {*}\n */\nconst drawTabSvgPath = (\n\tpathTag,\n\ttabHeight,\n\tcornerRadius,\n\tcoeffects,\n\thideAnimation\n) => {\n\tconst {properties} = coeffects;\n\tconst {navTabElem, navTabElemRect} = getNavTabElement(coeffects);\n\n\tif (!navTabElem || !navTabElemRect) return;\n\n\t/* \n        do some math to figure out the tab placement \n    */\n\n\tconst areaHeight = navTabElemRect.height;\n\n\t// if this is not a pinned menu, figure out what size and location this menu's tab needs to be\n\tconst newMenuWidth =\n\t\tproperties.menuWidth + (properties.isPrimary ? 0 : PINNED_MENU_LEFT_MARGIN);\n\tconst menuBodyOffset = newMenuWidth / 2;\n\n\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\tconst tabWidth = Math.floor(navTabElemRect.width);\n\tconst tabLeft = navTabElem.getAttribute('unpinnedLeft') || navTabElemRect.x;\n\n\t// find new location for the menu body\n\tconst newMenuStart = tabLeft - menuBodyOffset + tabWidth / 2;\n\n\t// find offset to use to make sure this menu's tab aligns correctly with its top nav item in the header\n\tlet tabLeftOffset = menuBodyOffset - tabWidth / 2;\n\n\t// if the menu is going to be offscreen, recompute tab offset based on that\n\tif (\n\t\tnewMenuStart < 0 ||\n\t\t(properties.isPrimary &&\n\t\t\tnewMenuStart + newMenuWidth >= document.body.offsetWidth)\n\t) {\n\t\ttabLeftOffset = tabLeftOffset - newMenuStart * -1;\n\t} else if (!properties.isPrimary && newMenuStart < newMenuWidth) {\n\t\t// if this is a secondary menu and its overlapping the pinned menu, bring it back and offset the menu tab\n\t\ttabLeftOffset = tabLeftOffset - (newMenuStart - newMenuWidth) * -1;\n\t}\n\n\t// do some math to figure out the end points of various lines\n\tconst leftHorizontalEndPoint = tabLeftOffset - cornerRadius * 2;\n\tconst rightHorizontalEndPoint =\n\t\tproperties.menuWidth -\n\t\tcornerRadius -\n\t\t(cornerRadius * 3 + tabWidth + leftHorizontalEndPoint);\n\tconst tabSideLength = tabHeight - cornerRadius;\n\n\t/* \n        Update the svg path with the new points based on the math above in order to draw the tab correctly.\n        The path is drawn starting from the lower left corner and moves to the right. Each point is positioned \n        relative to the previous point to make the math easier. To handle RTL we just flip 'leftHorizontalEndPoint'\n        and 'rightHorizontalEndPoint'. The path must have the same number of points in it regardless of its state\n        (open, closed, flush) in order for the path animations to work properly.\n    */\n\n\tif (hideAnimation && pathTag.classList.contains('can-animate')) {\n\t\tpathTag.classList.remove('can-animate');\n\t}\n\n\t// draw the tab path starting at the lower left corner\n\tlet path = `M0.5,${areaHeight + 0.5} `; // starting point in lower left corner\n\n\t//draw left side\n\tif (tabLeftOffset < cornerRadius * 2 && properties.dir === 'ltr') {\n\t\tpath += `a0,0 1 0,1 0,0 `; // first curve\n\t\tpath += `l0,0 0,${cornerRadius * -2} `; // first horizontal line for flush tab\n\t\tpath += `a0,0 1 0,0 0,0 `; // lower left corner of tab\n\t} else {\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius *\n\t\t\t-1} `; // first curve\n\t\tpath += `l0,0 ${\n\t\t\tproperties.dir === 'rtl'\n\t\t\t\t? rightHorizontalEndPoint\n\t\t\t\t: leftHorizontalEndPoint\n\t\t},0 `; // first horizontal line\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,0 ${cornerRadius},${cornerRadius *\n\t\t\t-1} `; // lower left corner of tab\n\t}\n\n\t// draw tab itself\n\tpath += `l0,0 0,${tabSideLength * -1} `; // tab left vertical border\n\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius *\n\t\t-1} `; // tab top left corner\n\tpath += `l0,0 ${Math.floor(tabWidth - cornerRadius * 2 - 1)},0 `; // tab top border\n\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius} `; // tab top right corner\n\tpath += `l0,0 0,${tabSideLength} `; // tab right vertical border\n\n\t// draw right side\n\tif (tabLeftOffset < cornerRadius * 2 && properties.dir === 'rtl') {\n\t\tpath += `a0,0 1 0,1 0,0 `; // tab bottom right corner\n\t\tpath += `l0,0 0,${cornerRadius * 2} `; // tab right horizontal line\n\t\tpath += `a0,0 1 0,0 0,0 `; // lower left corner of tab\n\t} else {\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,0 ${cornerRadius},${cornerRadius} `; // tab bottom right corner\n\t\tpath += `l0,0 ${\n\t\t\tproperties.dir === 'rtl'\n\t\t\t\t? leftHorizontalEndPoint\n\t\t\t\t: rightHorizontalEndPoint\n\t\t},0 `; // tab right horizontal line\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius} `; // final right corner\n\t}\n\n\t// update path tag with updated path point data\n\tpathTag.setAttribute('d', `${path} Z`);\n\n\tif (\n\t\thideAnimation &&\n\t\tpathTag.parentElement.classList.contains('can-animate')\n\t) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tpathTag.classList.add('can-animate');\n\t\t});\n\t}\n};\n","export const PINNED_MENU_LEFT_MARGIN = 12;\nexport const TAB_HEIGHT = 26;\nexport const CORNER_RADIUS = 8;\n","import {actionTypes} from '@servicenow/ui-core';\nimport {updateTabPath} from './utils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\n/**\n * Behavior to handle drawing the top tab for a menu\n * see ./utils.js for specifics of how this works.\n */\n\nexport default {\n\tname: 'MENU_TAB_SVG_BEHAVIOR',\n\tinitialState: {\n\t\tpathTag: null,\n\t\tnavTabElem: null,\n\t\tnavTabElemRect: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {name}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tswitch (name) {\n\t\t\t\t\tcase 'menuState':\n\t\t\t\t\tcase 'headerNavigationElemRef':\n\t\t\t\t\t\tupdateTabPath(coeffects);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport menuKeyboardNavBehavior from '../../behaviors/menu-keyboard-nav-behavior';\nimport {CLOSE_MENUS} from '../sn-polaris-layout/actions';\n\nimport styles from './_sn-polaris-menu.scss';\nimport view from './sn-polaris-menu.view';\n\nimport {actionHandlers as overflowActionHandlers} from './sn-menu-template-overflow';\n\nimport {actionHandlers} from './sn-polaris-menu.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport overlayBehavior from '@servicenow/behavior-overlay';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport menuLazyLoadingBehavior from './behaviors/menu-lazy-loading';\nimport filterBehavior from './behaviors/filter';\nimport {INCLUDES} from '@devsnc/unav-utils';\nimport tabSvgBehavior from './behaviors/menu-tab-svg-behavior';\n\nimport {createTooltipActionHandler} from '@servicenow/now-tooltip';\nimport {MENU_CONTENT_FOCUSED} from './actions';\nimport {LOCAL_STORAGE_KEYS, MENU_ALL} from '../../constants';\n\ncreateCustomElement('sn-polaris-menu', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmenu: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdrilledMenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tisPinned: {\n\t\t\tdefault: false\n\t\t},\n\t\tisPrimary: {\n\t\t\tdefault: false\n\t\t},\n\t\tmenuState: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\theaderNavigationElemRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tshowHeaderFilter: {\n\t\t\tdefault: true\n\t\t},\n\t\theaderMenuItems: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tmenuPinable: {\n\t\t\tdefault: true\n\t\t},\n\t\tfilterMethod: {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault: INCLUDES\n\t\t},\n\t\tlocale: {\n\t\t\tdefault: 'en-US'\n\t\t},\n\t\tmainLogoWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\t// only used to stub for testing / examples\n\t\tcurrentDate: {},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tshouldRender: false\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false,\n\t\t\tshouldRender: false\n\t\t},\n\t\tmenuIndex: {\n\t\t\tdefault: -1\n\t\t},\n\t\tshouldOpenUI16TabsInsidePolaris: {\n\t\t\tdefault: false\n\t\t},\n\t\tforceMenuOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisTouchDevice: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuseSuperFilter: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tshouldRender: false\n\t\t},\n\t\tsuperFilterAllResultsOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisOtherMenusLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tpageLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tselectedContentFavorite: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tfavoriteSR: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tfavoriteTooltip: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\ttempFavoriteStarFill: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties: {menu, menuState}}) {\n\t\treturn {\n\t\t\tsearchTerm: '',\n\t\t\tfilteredMenu: menu,\n\t\t\tdrilledMenu: null,\n\t\t\thasRendered: false,\n\t\t\tcloseMenuAction: CLOSE_MENUS,\n\t\t\tcontainerTabindex: menu.id === menuState.pinnedMenuId ? -1 : 0,\n\t\t\tclosedByKeyboard: false,\n\t\t\tallResultsOpen: menu.id === MENU_ALL,\n\t\t\tsuperFilterFavoritesOpen: true,\n\t\t\tsuperFilterOtherOpen: true,\n\t\t\tpreventHighlight: false\n\t\t};\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-menu'}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: overlayBehavior},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (_, dispatch) => dispatch(MENU_CONTENT_FOCUSED)\n\t\t\t}\n\t\t},\n\t\t{behavior: menuLazyLoadingBehavior},\n\t\t{behavior: filterBehavior},\n\t\t{behavior: menuKeyboardNavBehavior},\n\t\t{behavior: tabSvgBehavior}\n\t],\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...overflowActionHandlers,\n\t\t...createTooltipActionHandler\n\t},\n\tstyles\n});\n","import '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {isEmpty} from 'lodash';\n\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM\n} from './actions';\nimport {MAIN_MENU_PINNED} from '../sn-polaris-layout/actions';\nimport {FAVORITE_EDIT_MODAL_REQUESTED} from '../sn-polaris-layout/favorite-edit-modal/actions';\n\nimport isATF from '../../utils/isATF';\nimport {FilterInput} from '../filter-input';\nimport {PinButton} from './fragments/button-fragments';\n\nimport {MenuBody} from './utils/template-map';\nimport {MENU_ALL, MENU_FAVORITES, SYS_PROPS} from '../../constants';\n\nimport {SuperFilter} from './super-filter';\nimport {\n\tgetBooleanProperty,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {MANUAL_MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\n\nexport default (\n\t{\n\t\tproperties,\n\t\tfilteredMenu,\n\t\tsearchTerm,\n\t\tobserver,\n\t\tinputHasFocus,\n\t\tcontainerTabindex,\n\t\tallResultsOpen,\n\t\tsuperFilterFavoritesOpen,\n\t\tsuperFilterOtherOpen,\n\t\tpreventHighlight\n\t},\n\t{dispatch, updateState, updateProperties}\n) => {\n\tconst {\n\t\topened,\n\t\tmenuState,\n\t\tisPrimary,\n\t\tdir,\n\t\tlocale,\n\t\tcurrentDate,\n\t\tanimationsEnabled,\n\t\tmenu,\n\t\tfilterMethod,\n\t\tshouldOpenUI16TabsInsidePolaris,\n\t\tshowHeaderFilter,\n\t\tdrilledMenu,\n\t\tmenuPinable,\n\t\tisTouchDevice,\n\t\theaderMenuItems,\n\t\tuseSuperFilter,\n\t\tsuperFilterAllResultsOpen,\n\t\tshowHiddenControls,\n\t\tisLoading,\n\t\tisOtherMenusLoading,\n\t\tpageLabel,\n\t\tisPolarisEnabled,\n\t\tselectedContentFavorite,\n\t\tfavoriteSR,\n\t\tfavoriteTooltip,\n\t\ttempFavoriteStarFill,\n\t\twindowSize\n\t} = properties;\n\n\tconst isInOverflow = filteredMenu?.template === 'overflow';\n\n\tconst {matchingItems, totalItems} = drilledMenu || filteredMenu || {};\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\tconst isSuperFilterAllResultsOpen = searchTerm.length >= 2 && useSuperFilter;\n\n\tif (superFilterAllResultsOpen !== isSuperFilterAllResultsOpen) {\n\t\tupdateProperties({\n\t\t\tsuperFilterAllResultsOpen: isSuperFilterAllResultsOpen\n\t\t});\n\t}\n\n\tconst isRefreshMenuSysPropEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH,\n\t\ttrue\n\t);\n\n\treturn (\n\t\t<nav\n\t\t\tclassName=\"menu-body\"\n\t\t\tclass={{\n\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'is-visible': opened\n\t\t\t}}>\n\t\t\t{/* menu tab container */}\n\t\t\t<div className=\"menu-tab-container\">\n\t\t\t\t<div className=\"grid-container\" id=\"tabContainer\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\tmenuTabSvg: true,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid=\"tabSvg\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t{/* menu content container */}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav': true,\n\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t'is-in-overflow': isInOverflow,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'is-atf': isATF()\n\t\t\t\t}}\n\t\t\t\taria-label={t('{0} menu', menu.label)}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex={isTouchDevice ? containerTabindex : -1}\n\t\t\t\ton-blur={() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tmenu.id !== menuState.pinnedMenuId &&\n\t\t\t\t\t\t(!isInOverflow || isSingleMenu)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// we no longer need container focusable past initial menu opening\n\t\t\t\t\t\tupdateState({containerTabindex: -1});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tdata-id={`menu-${menu.id}`}>\n\t\t\t\t{!isInOverflow ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdata-id={`menu-header-${menu.id}`}>\n\t\t\t\t\t\t{showHeaderFilter ? (\n\t\t\t\t\t\t\t<FilterInput\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\thasFocus={inputHasFocus}\n\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI\n\t\t\t\t\t\t\t\t\t\t\t\t.NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tevent.target.select();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tupdateState({inputHasFocus: true});\n\t\t\t\t\t\t\t\t\tupdateState({preventHighlight: false});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => updateState({inputHasFocus: false})}\n\t\t\t\t\t\t\t\tonInput={(e) => {\n\t\t\t\t\t\t\t\t\tconst searchTerm = e.composedPath()[0].value;\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {\n\t\t\t\t\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\t\t\t\t\t\tdispatch(NAVIGATION_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: e.composedPath()[0].value,\n\t\t\t\t\t\t\t\t\t\t\t\tfilteredMenu\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\t\t\t\t\t\tif (matchingItems && matchingItems > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(FOCUS_FIRST_FILTERED_NAV_ITEM);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonInputClear={() => {\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {searchTerm: ''});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menu.id === MENU_FAVORITES &&\n\t\t\t\t\t\t!isEmpty(menu.subItems) &&\n\t\t\t\t\t\t!isOtherMenusLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\tpencil: true\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t\tfavorites: menu.id === MENU_FAVORITES\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\taria-label={t('Edit your favorites')}\n\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\tmenu\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"pencil-page-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menu.id === MENU_ALL && isRefreshMenuSysPropEnabled ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\tsync: true\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={'refresh-menu'}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\taria-label={t('Refresh menu items')}\n\t\t\t\t\t\t\t\t\ton-click={() => dispatch(MANUAL_MENU_REFRESH_REQUESTED)}\n\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"sync-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menuPinable ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\tpin: true\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-live=\"assertive\">\n\t\t\t\t\t\t\t\t<PinButton\n\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\t\t\t\tpinEventName={MAIN_MENU_PINNED}\n\t\t\t\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tisWideMenu={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\n\t\t\t\t{/* if there is no search term, show standard menu content */}\n\t\t\t\t{!isSuperFilterAllResultsOpen ||\n\t\t\t\t(searchTerm.length >= 2 && !useSuperFilter) ||\n\t\t\t\tmenu.id === 'nav-overflow' ? (\n\t\t\t\t\t<MenuBody\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\tisOtherMenusLoading={isOtherMenusLoading}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={filteredMenu}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tmatchingItems={matchingItems}\n\t\t\t\t\t\ttotalItems={totalItems}\n\t\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdrilledMenu={drilledMenu}\n\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tinputHasFocus={inputHasFocus}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\tuseSuperFilter={useSuperFilter}\n\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{/* is there is a valid search term, show the super filter */}\n\t\t\t\t{isSuperFilterAllResultsOpen && menu.id !== 'nav-overflow' ? (\n\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\n\ncreateCustomElement('sn-legacy-screen', {\n\tview: () => null\n});\n","/* eslint-disable no-console */\nimport {version} from '../package.json';\nif (!window.___POLARIS_VERSIONS___) {\n\twindow.___POLARIS_VERSIONS___ = {};\n}\nwindow.___POLARIS_VERSIONS___['polaris-app-shell'] = version;\n\nconsole.debug('polaris app shell loading version: ' + version);\n\nimport './components/sn-polaris-layout';\nimport './components/sn-polaris-header';\nimport './components/sn-polaris-menu';\nimport './components/sn-legacy-screen';\n","import * as exports from '../index.js';\nwindow.__TECTONIC__polaris_app_shell=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":373,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-chrome/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","includes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","createRef","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__","createCustomElement","properties","containerProps","schema","type","renderer","view","state","className","style","styles","snCanvasContentStyles","behaviors","rtlBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","positions","top","left","right","bottom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","clamp","debounce","each","filter","find","findIndex","findKey","forEach","forOwn","has","isEmpty","isEqual","isNil","keys","noop","omit","set","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","actionTypes","opened","manageable","position","hasCloseIcon","heading","beforeClose","snCanvasCornerDialog","_ref","dispatch","hidden","absolutePositions","_includes","_keys","background","name","icon","size","label","level","variant","hasNoMargin","bare","evt","_handleClose","Promise","resolve","then","res","stopPropagation","snCanvasCornerDialogStyles","dispatches","actionHandlers","effect","_ref2","host","_isEmpty","parentElement","_ref3","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","CONSTANTS","SN_CANVAS_ERROR_TAGNAME","SESSION_EXPIRED_HEADER_LABEL","AMB_SESSION_LOGOUT_PROP","ACTION_TYPES","NOW_MODAL_OPENED_SET","NOW_MODAL_FOOTER_ACTION_CLICKED","ARIA_LIVE_TRIGGER_TEXT","uiCore","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__","calculateNewScreenStatusPayloads","deepSearchAllElement","deepSearchElement","getLandingPath","getUnifiedCacheInstance","renderSkipBehavior","setCanCreateParentScreen","setCanCreateSubScreen","setPageTitle","updateScreenCreationStatus","updateCallback","oldNode","newNode","applyOverlayStyles","_window","overlayStyle","window","ux_globals","sysprops","seismicHoist","el","sourceElement","tagName","toLowerCase","selector","target","document","body","observer","MutationObserver","mutationList","disconnect","observe","shadowRoot","childList","subtree","waitForEl","nowModalOverlay","backgroundValue","opacityValue","styleStr","split","trim","backgroundProperty","property","startsWith","opacityProperty","opacity","extractStyleValues","backgroundColor","catch","console","log","warn","COMPONENT_DISCONNECTED","ARIA_LIVE_REGION_UPDATE_REQUESTED","updateState","path","operation","declarativeOperations","SET","shouldRender","action","payload","open","errorConfig","headerLabel","message","formatAriaMessage","replace","errorMessage","replaceContent","triggers","_ref4","footerAction","loginModal","btnClickFn","footerActions","deepCompare","unstableParse","nowHoist","manageOpened","hook-update","oldVnode","vnode","initialState","COMPONENT_DOM_READY","messageListener","iframeRef","private","src","params","disableSandbox","updateProperties","setRef","ref","_renderHeader","title","sandbox","addEventListener","data","showModal","onMessage","messageHandler","removeEventListener","iFrameRef","contentWindow","postMessage","location","origin","sendInitMessage","contentDocument","documentElement","height","scrollHeight","once","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","activeItem","active","onDragStart","event","preventDefault","currentTarget","xOffset","yOffset","initialX","touches","clientX","initialY","clientY","onDragEnd","currentX","currentY","onDrag","setTranslate","xPos","yPos","elNode","querySelector","transform","DOCUMENT_EVENTS","effectHandlers","bindDraggableEvents","targetRef","parentTargetRef","dockingEnabled","eventType","unbindDraggableEvents","clearStyles","coeffects","previousValue","childNodes","node","removeProperty","draggableEffect","draggableBehavior","Docking","status","on-click","onClickHandler","expand","snCanvasSidebar","class","snCanvasSidebarStyles","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__","NOW_POPOVER_OPENED_SET","NOW_BUTTON_BARE_CLICKED","NOW_CONFIRM_MODAL_CLEAR","NAV_ITEM_SELECTED","MODAL_SELECTED","TABS_LIST_ARIA_LABEL","CLOSE_TAB_MENU_ITEM","CLOSE_OTHER_TABS_MENU_ITEM","CLOSE_ALL_TABS_MENU_ITEM","TAB_JUST_CLOSED","SELECTED_WORKSPACE_TAB_FOCUS","SELECTED_PAGE_TAB_FOCUS","TAB_NEW_MESSAGE","TAB_NEW_MESSAGES","MAIN_TAB_CLICKED","MAIN_TAB_CLOSE_CLICKED","MAIN_TAB_NEW_ALERT_CLEARED","MAIN_TAB_NEW_ALERT_CLEARED_OK","SUB_TAB_CLOSE_CLICKED","TABS_SCREEN_CONTENT_CHANGED","TABS_CLOSE_REQUESTED","TABS_CLOSE_CONFIRMED","TABS_CLOSE_CANCELLED","TABS_SELECTED_CONTENT_CHANGED","DRILLDOWN_BACK_CLICKED","SCREEN_CLOSED_CONFIRMED","SCREEN_CLOSED_CANCELLED","PRIMARY_TAB_PROP_CHANGED","SELECT_TAB","FULL_SEARCH_TAB_TITLE","KNOWLEDGE_TAB_TITLE","OPEN_OR_FOCUS_TAB_REDUCER","INIT_OR_UPDATE_TABS_REDUCER","LIVE_UPDATE_TABS_REDUCER","CLOSE_ONE_DRILLDOWN_REDUCER","UPDATE_PRIMARY_TAB_REDUCER","TAB_LOADING","SCREEN_STATUS_ACTION_CLOSED","TOOLBAR_RESIZED","TOOLBAR_OVERFLOW_BUTTON_LABEL","CANVAS_NEW_TAB_MARK","MARKS","CLICK_L1_MENU","CLOSE_TAB","CLICK_TAB_MENU_ITEM","NEW_TAB","EXCEED_MAX_TABS","TOOLBAR_BUTTON_CLICKED","TOOLBAR_ACTIVE_BUTTON_SET","TOOLBAR_ACTIVE_BUTTON_UPDATED","TOOLBAR_OVERFLOW_MENU_FOCUS","TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED","TOOLBAR_OVERFLOW_TAB_KEY_PRESSED","TABS_REARRANGED","DND_OPERATION","freeze","none","dragStart","dragOver","dragEnd","drop","keyup","keyDown","completed","waitingForAnimationCompletion","USER_META_KEYS","SYS_ID","FIRST_NAME","LAST_NAME","FULL_NAME","ROLES","AVATAR","INITIALS","TIME_ZONE","TIME_FORMAT","LANGUAGE","TIME_ZONE_OFFSET","SN_CANVAS_SIDEPANEL_TOGGLE_OPENED","UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS","backdrop","canClose","isTitleClickable","SnCanvasSidepanel","mouseDownInside","isDragging","role","onMouseUpBackdrop","setTimeout","onMouseDownPanel","onMouseMovePanel","cursor","snCanvasSidepanelStyles","slots","cssText","behavior","focusBehavior","options","trap","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__","TOOLTIP_HIDE","TOOLTIP_SHOW","LEFT","BOTTOM","TOP","RIGHT","AUTO","valToPx","val","tooltipPositions","buildVisibleAndOverflowList","tabList","totalWidth","selectedTabId","visibleList","selectedTabIdx","tab_id","selectedTab","isSelectedPrimaryTab","isPrimaryTab","maxTabWidth","maxTabWidthL1Item","standardTabSpace","L1ItemTabSpace","count","tabWidth","overflowList","newTabSpace","Math","floor","max","minTabWidth","newTabList","slice","lastVisibleIdx","splice","it","itemType","itemOrder","isDetailsTab","width","minWidth","maxWidth","getTabStyle","tabOrder","_getChildElement","parent","childTag","childElementCount","Array","from","children","insertTooltipEl","nowTooltip","appendChild","removeTooltipEl","HTMLElement","removeChild","isRtl","dir","handleRtlFn","ltrDir","rtlDir","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","dropEffect","Keys","ArrowLeft","ArrowRight","getDragStateFromElement","dragElm","props","hostId","getAttribute","tabsData","tabId","parentTabId","movingStartTabIndex","tabData","dragState","isRTL","posInfo","targetIndex","parentRect","startIndex","prevPositions","Map","DragEvent","dropTime","keyDownCounter","parentLi","getBoundingClientRect","toJSON","posX","index","boundingRect","itemInfo","abs","slidItems","dndState","newTargetIndex","prevStatus","prevTargetIndex","prevPosInfo","currentPosInfoMap","itemWidth","draggingItemWidth","draggingItemOffsetX","keyframeOptions","duration","fill","directionMultiplier","offsetToBeShifted","async","applyAnimation","tabInfo","elm","offset","animation","animate","composite","getKeyframes","finished","cancel","error","li","currentTabInfo","handleDrop","dataTransfer","paths","composedPath","runningAnimations","triggerEvent","startTab","track","previousPosition","newPosition","actionType","KeyboardEvent","tabsLevel","Date","now","getAnimations","isResolved","all","_move","next","currentId","firstElementChild","containerElm","focusedElmIndex","toBeFocusedIndex","focus","_moveLeft","_moveRight","shouldRenderVisualIndicators","parseInt","fn","eventProps","showTooltip","handleTooltipShow","hideTooltip","handleTooltipHide","showTabPreviewTimer","tab","tabType","isSelected","isHighlighted","dndStatus","draggingTabId","focusTabId","tooltipPosition","parentTitle","table","disabled","hasUpdate","iconStatus","isDirty","tooltipPreview","color","highlightedValue","secondaryTitle","isWider","TAB_DESCRIPTION_ID","primaryTitle","secondaryContent","shouldRenderTabPreview","tabRef","tabPreviewRef","shouldRenderSecondaryLabel","classname","isCurrentlyDragging","tmpClassList","_buildClassName","mouseEnterListener","mouseLeaveListener","_clearPopoverTimers","clearTimeout","_showFormPreview","containerStyle","tooltip","placement","targetRect","tooltipRect","horizontalCenterOffset","verticalCenterOffset","targetLeft","targetTop","OFFSET","tooltipLeft","tooltipTop","innerHeight","innerWidth","getCenterPositioning","current","CustomEvent","detail","dispatchEvent","_hideFormPreview","Event","_moveNext","_movePrevious","_onKeyUp","keyCode","onKeyUp","ctrlKey","shiftKey","_onClose","onCloseTab","tabTitle","unreadCount","Number","formatUnreadMessageCount","titlePart","ariaLabel","isDraggable","buildEventHandlersForTooltip","delay","tabPreviewContainer","tabPreview","classList","add","applyStyles","element","rule","mouseEnterHandler","remove","mouseLeaveHandler","draggable","_ref5","_ref6","tabIndex","onClickTab","_onMouseEnter","_onMouseLeave","on-focusin","on-focusout","_renderStatusIndicator","configIconAria","configAria","_renderIcon","_renderSecondaryTitle","_renderHighlightedValue","showIcon","_renderCloseBtn","on-mouseenter","chromeTabsUtils","on-mouseleave","_insertTooltipEl","_renderTabPreview","transformedSecondaryContent","isArray","fieldLabel","displayValue","transformSecondaryContent","tabDescription","segments","_segments$flatMap","parts","flatMap","seg","_seg$blocks$map","_seg$blocks","blocks","b","Boolean","buildTabDescription","items","ControlMenu","optionItems","highlightIndex","onItemClick","_className","m","OptionItem","CanvasOverflowItem","isNodeFocused","styleClass","closeBtn_tooltip","_onItemClick","_onItemClose","onItemClose","elmRef","setAttribute","onNodeFocus","TabOverflow","_renderDisabledItem","POPOVER_HIGHLIGHT_INDEX_CHANGED","POPOVER_HIGHLIGHT_INDEX_RESET_REQUESTED","COMPONENT_RENDERED","handler","tabs","menuItems","nextHighlightIndex","nowPopover","triggerEl","hoistHost","meta","activeElement","handlerMap","arrowUp","onArrowUp","currentIndex","newIndex","Constants","arrowDown","onArrowDown","execute","reset","handleKeyPressed","_handleKeyPressed","snCanvasPopoverEventHandlers","events","_action$payload","MoreOptionMenu","snCanvasPopoverContentActionHandlers","eventHandlers","itemLength","_handler","_highlightIndex","onNewTab","shouldRenderWhenSet","snCanvasTabsMenuEventHandlers","snCanvasTabsMenuActionHandlers","overflowDisabled","tabsMaxOpen","stopperPrompt","tabsToCloseQueue","parentTabTitle","newMenu","focusedTabIndex","onShowModal","visibleAndOverflowList","tabsMaxWidth","_transformedMenuItems","closeMenu","activeTab","isPivotActive","isDetailsTabTheOnlyOtherTab","_meatBallPopOverRef","_newMenuPopOverRef","_hidePopover","_onClickTab","_propagateTabFocusUpdate","dispatchFn","_onClickMenuItem","menuItem","idx","onMenuClose","_onCloseMenuItem","popoverListener","_handlePopoverInsert","button","popoverContent","lastElementChild","removeAttribute","_popoverHandler","_handlePopoverDestroy","overflowLabel","overflowAriaLabel","overflowTooltipContent","overflowClassNames","badgeCount","hasOverflowUpdate","overflowButtonId","_getAriaOwns","_visibleList","_selectedTabId","_focusedTabIndex","CanvasTab","_renderNewMenu","buttonId","tooltipContent","_renderMenuPopover","_elm","slot","_renderTabOpenAlert","openDialog","request","warningMessage","buttonTitle","clickActionType","firstTabInQueue","skipConfirmation","dirtyModalId","showCustomConfirmation","confirmationStatus","showCustomWarning","hasWarning","warningModalId","screenNowId","_renderTabCloseConfirmation","_optionItems","refit","_renderCounterBadge","counterBadge","overflowLength","round","defer","_funcs","runFuncs","values","GlobalResizeListener","runImmediately","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","defineMetric","getInteractionId","mark","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","tabsConfig","valid_max_tabs_min","valid_max_tabs_max","non_records","constants","getMaxTabLimit","tabsConfigProperty","_tabsConfigProperty$m","_tabsConfigProperty$m2","mainLimit","maxMainTabLimit","subLimit","maxTotalSubTabLimit","PRIMARY_TAB_MAP","CONTEXTUAL_TAB_MAP","TAB_TITLE_CACHE_BY_SCREEN","initTabConfig","tabConfig","primaryRoute","createPrimaryTabMap","contextual","config","createContextualTabMap","getPrimaryTabMap","generateContentKey","fields","route","sort","reduce","hash","getContentKey","_selectedContent","selectedContent","uid","multiInstField","contextualRouteSelected","maxTabsPrompt","buttonAction","propagateFlag","flag","flagValue","parentTab","some","applyToAllTabs","objToApply","filterFn","flagsArr","newTabsData","entries","subTabId","subTab","getTabById","getAllContentKeys","contentKeys","traverse","indexOf","isReachingTabsLimit","preTabsData","nextTabsData","nextActiveTab","experienceId","reached","preTabList","nextTabList","preMainTabCount","countMainTabs","nextMainTabCount","nextSubTabCount","subTabs","countSubTabs","shouldUpdateTabData","getSelectedTab","updateSelectedTabs","tabReducer","root","currNode","applyToSelectedTabs","clearUpdateFlag","getNavItemSelectedPayload","navItemSelectedPayload","drillDowns","drillDownPayload","drillDownsArr","rest","_objectWithoutPropertiesLoose","_excluded","j","isMultiInstFieldValUpdated","_navItemSelectedPayload","_excluded2","redirect","getActiveLeafTabId","_buildContentKeySet","contentKeySet","Set","contentKey","drilldown","_buildRemovedTabs","removedTabIds","_tab","isMainTab","withNoSubTabs","isCloseable","isLeafSubTab","isLeafTab","annotation","annotateRemovedSubTab","parentKey","currentTab","findParentKey","getRemovedTabs","_tabsData","_newTabsData","oldTabIds","newTabIds","_results","unshift","findRemovedTabIds","oldContentKeySet","newContentKeySet","removedContentKeys","removedTabs","getPrimaryTab","filterSelectedContent","_excluded3","tabResolutionStrategyMap","ACTIVE_OR_FIRST_SESSION_TAB","getTabToDelete","screenKey","tabToDelete","matchScreenContentWithActivityLeaf","tabValue","matchScreenContent","TAB_CLOSE_NAMES","getTabHierarchy","types","trackClosedTabs","closedFromMenu","_selectedContent$fiel","_selectedContent$fiel2","_selectedContent$fiel3","_selectedContent$fiel4","record","sysId","trackTabClick","_selectedContent$fiel5","_selectedContent$fiel6","_selectedContent$fiel7","_selectedContent$fiel8","tab_ids","trackEvent","numOfTabs","_menuItem$routeInfo$f","_menuItem$routeInfo","_menuItem$routeInfo$r","_menuItem$routeInfo2","routeInfo","match","toUpperCase","tabsOpened","trackTopNav","trackMaxTabsReached","COMPONENT_TREE_RENDERED","COMPONENT_RENDER_REQUESTED","tabsLifeCycleHandlers","nowId","clientWidth","showSubTabsHideAnimation","tabsActionHandlers","maxIndex","getTab","isParentDirtyAfterChildClose","tabToClose","siblingTab","parentHasWarningAfterChildClose","updateParentTabOnChildUpdate","childTab","updateParentTabOnChildClose","childTabToClose","newSelectedTabId","childContentKeys","shouldCloseParent","closeTabById","updateParent","updatedTabsData","childTabId","getTabsToCloseQueue","tabFilter","queueItem","canvasTabs","newTabMenu","menuConf","_onCloseTab","_onCloseTabHandler","_onClickSubTabs","_onCloseSubTab","_onClickCloseMenuItem","_onClickNewMenuItem","_routeInfo","_onShowModal","modalID","screenRef","getComponentById","modalId","_renderBackButton","iconStart","_getDrillDowns","canvasTabBars","depth","_type","_tabsData$currSelecte","currTabList","currSelectedTabId","selectedPrimaryTabId","isSubTabs","hideDetailsTab","CanvasTabBar","shift","_renderTabBars","header","anchor","HTMLAnchorElement","isTabMoveKey","doKeyboardAction","stopImmediatePropagation","tabsDragUtils","modifiers","hostIndex","minimumLeft","offsetX","prevItemInfo","composed","contains","effectAllowed","tooltipBehavior","truncationBehavior","getSessionStorageKey","getTime","getStorageKeyChatOnPageMap","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","LOCAL_STORAGE","SESSION_STORAGE","storageNamespace","nextTabId","getNextTabId","getStorageType","getStoredTabs","userId","storageType","storedtabsData","getItem","_storedtabsData","saveTabs","setItem","preProcessSelectedContent","_rootContent","drillDown","_contextualRouteSelected","contextualRoute","_primaryRouteSelected","primaryTabMap","primaryRouteSelected","reverse","getInitPrimaryTabData","primaryTab","sortedTabData","fromEntries","order","getPrimaryTabByOrder","viewportInfo","getTabDefinition","getTabPayload","selectedContentStack","tabNode","_excluded4","pop","locateTabs","cachedTabTitle","reducerTypeMap","passiveNavigation","transformedPayload","generators","_properties$tabConfig","storedTabContent","storedTabsData","tabUtils","primaryTabData","tabConfigPrimaryRoute","setPrimaryTab","reduceTabs","initTabs","primaryTabId","newSelectedContent","newTabsDataClone","parentContentKey","selectedParentTab","screenParams","hasError","newContentKey","tabsRequiringContentUpdate","_length","_contentKeys","_fields","_currentTab","oldContentKeyValue","updateContentKeys","nonDetailsObj","setTabTitleCacheByScreen","screenId","isTooltipPreviewEmpty","newContent","restPrimaryTab","_excluded5","primaryTabPropData","primaryTabContent","rootSelectedTabId","tabsDataNew","reduceTabsData","reducer_type","reducer","uxrEnableDebug","caller","doVerify","verified","errors","verifyTab","verifyTabs","debug","verifyTabsPrivate","saveNewTabsData","topTabId","topTabContentKey","tabsObj","childTabIndex","saveChatOnPageMapToStorage","chatOnPageMap","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","setActionState","setActionStateForShortcut","COMPONENT_BOOTSTRAPPED","tabsDataEffectWrapper","tabsDataCopy","storedTabsContent","_payload","inbound","skipNextScreenActivation","stopper","selectedContentCurrent","allowAdditionalTabs","allowInitialTabs","selectedContentForInitialTabs","initContent","results","_results$removedTabs","_results$removedTabs2","closedTabInfo","closedMainTabs","closedSubTabs","hasOwn","getClosedTabInfo","closedNavigationIds","closedIdsInfo","selectedContentNew","tabCloseClickedEffect","tabFilterAll","tabFilterOther","ignoreDirty","closeTabs","activityKeys","mainTabCloseConfirmedEffect","newtabsToCloseQueue","mainTabCloseCancelledEffect","mainTabNewAlertClearedEffect","loadTabConfigFromCache","tabConfigFromProps","tabElements","querySelectorAll","modalClosedEffect","actionTabsDataEffectMap","_implicitTabResolution","_tabResolutionStrategy","_tabId","reducerPayload","registeredComponentId","reducedTabsData","activeTabContent","experienceName","currTabsData","pendingConfirmation","componentId","tabsDataActionHandlers","tabEffect","args","rootActionHandlers","actionMap","_host$querySelectorAl","_host$querySelectorAl2","tabsUnloadHandler","handleTabConfigPropChange","handleSelectedContentPropChange","prevSelectedContent","handleChangedScreenContentPropChange","previousChangedScreenContent","changedScreenContent","new_items","all_items","isScreenKeyUpdated","handleScreenCloseConfirmationChange","screenCloseConfirmation","handlePrimaryTabPropChange","handleActiveRecords","activeParentId","activeRecords","_selectedTab$selected","selectedContentFields","chatOnPageMapKey","canBeActiveRecord","activeRecord","hasChatOnPage","checkHasHoistContentData","screensToCloseQueue","tabsToClose","screen","handleScreensToCloseQueueChange","_window$ux_globals","shouldUpdate","session","output","user","sys_id","storedChatOnPageMap","getChatOnPageMapFromStorage","isMainSessionTab","tabsDataBehavior","selectable","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","getDirtyStateManager","_window2","uxf","dirtyStateManager","Error","callbackFn","screenStatusChangedActionPayload","subscriberUpdatePropertiesFn","ROOT_TAB_KEY","leafTabs","currentScreenDirtyState","isScreenDirty","leafTab","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__","filterAriaAttributes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","RECORD_WATCHER","SUBSCRIBE_STARTED","SUBSCRIBED","SUBSCRIBE_FAILED","UNSUBSCRIBED","ITEM_CHANGED","SUBSCRIPTION_CHANGED","AGGREGATE_COUNT","FETCH","STARTED","SUCCEEDED","FAILED","handleBadgeCountFetch","variableList","startActionType","successActionType","errorActionType","handleRecordWatcher","subscribeStartedActionType","subscribeSucceededActionType","subscribeFailedActionType","unsubscribeSucceededActionType","messageReceivedActionType","_getSubscriptionArgs","subscribe","btoa","handleBadgeCountFetchSuccess","badge","_get","handleBadgeCountFetchFailure","handleItemChanged","countUpdate","onConnect","_has","configurations","onDisconnect","badgeCountEffect","badgeCountBehavior","actions","SUBSCRIBED_STARTED","SUBSCRIBED_FAILED","presence","table_name","presenceEffect","presenceBehavior","getAriaRole","group","required","availability","isOverflow","snCanvasToolbarButton","ariaPressedCheckedOrSelected","selected","buttonClickedId","checkToolbarFocus","_renderBadge","_renderPresence","snCanvasToolbarButtonStyles","SN_CANVAS_TOOLBAR_BUTTON_CLICKED","_host$shadowRoot","buttonToClick","click","_host$shadowRoot2","overflowItems","horizontal","topOverflowItems","bottomOverflowItems","overflowItemsInBothGroups","snCanvasToolbarOverflowMenuStyles","isOpen","snCanvasToolbarOverflow","hideTail","snCanvasToolbarOverflowStyles","SN_CANVAS_TOOLBAR_OVERFLOW_ITEM_CLICKED","overflow","focusOnOverflowButton","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__","getButtonElementRef","toolbarButtonRef","getToolbarButtonRefByIndex","getToolbarButtons","toolbarButtonGroupEls","toolbarButtonEls","grpEl","btn","getActiveToolbarButton","setButtonSelectionByRoute","buttons","_find","preserveViewportOpened","lastActiveButton","getLastActiveButton","loadViewport","toolbarButtons","isViewportWithRoute","getResolvedProperties","toolbarButtonsLastIndex","currentToolbarButtonIndex","activeToolbarButton","_findKey","toolbarButton","getActiveToolbarButtonIndex","currentToolbarButton","currentButtonElm","arrowA","arrowZ","nextToolbarButton","isOverflowCurrentElm","resetViewportSelection","_filter","_findIndex","newToolbarButtons","reinitialize","setActiveButton","activeButton","activeRoute","buttonRoute","restRoute","updateToolbarButtonsWithActiveBtn","_getToolbarButtonByRoute","resetSizeAndViewportInfo","isRoute","getStorageKey","registerToolbarRouteLabels","titles","buttonObj","getStoredToolbarButtons","storedToolbarButtons","storedUserId","_storedToolbarButtons","FIRST_PANEL_FOCUSED","CLICK_TOOLBAR_BUTTON_SHORTCUT","FOCUS_TOOLBAR_BUTTON_SHORTCUT","handleToolbarButtonClicked","toggledButtons","isViewport","buttonIndex","newToggledButtons","isViewportEmptyPageLoaded","viewportEmptyPageLoaded","handleActiveButtonSet","handleActiveButtonUpdated","handleComponentConnected","handleComponentDisconnected","toolbarObserverRef","unobserve","nowRootNode","handlePropertyChanged","saveToolbarButtons","handleComponentBootstrapped","_ref7","_host$shadowRoot3","handleComponentTreeRendered","_ref8","actionKey","condition","snCanvasToolbarEffect","renderButton","show","roles","plugin","viewportElementId","parentSize","snCanvasToolbar","toolbarButtonsTop","toolbarButtonsBottom","visibleButtons","overflowButtons","measureButtons","toolbarSize","toolbarLength","visibleButtonCount","activeButtonOverflowIndex","updateVisibleButtons","activeButtonIndex","displacedButton","renderOverflow","snCanvasToolbarStyles","firstRenderOnConnect","toolbarResizeObserver","ResizeObserver","entry","contentRect","resizeBehavior","timer","wait","keyBindingBehavior","keyBindings","onKeyPress","handlers","UCM_DIALOG_CLOSED","UCM_HEADING","FOOTER_ACTIONS","alert","consentValue","confirm","ucmActionHandlers","_payload$action","ucmConfig","enum","template","innerHTML","setTargetRef","hook-destroy","getFieldValueFromViewportInfo","field","getFieldsFromViewportRoutes","viewportRoutes","newFields","viewportRouteConfig","rc","routeType","f","viewportOpened","getParamsFromViewportRoutes","newParams","_forOwn","_forEach","p","sessionStorageKey","currentActiveButton","preload","loadViewportWithFieldsAndParams","handleComponentDOMReady","includesFieldsParams","handleComponentPropertyChanged","maxTabLimit","onMaxTabLimitChange","onActiveParentIdChange","onActiveRecordsChange","onViewportRoutesChange","snCanvasViewportEffect","snCanvasViewport","snCanvasViewportStyles","IS_LOGGED_IN","gLoggedIn","DESTINATION_URL","destinationUrl","initPath","landingPath","USER_META_REQUEST","USER_META_REQUEST_STARTED","USER_META_REQUEST_SUCCEEDED","USER_META_REQUEST_FAILED","VIEWPORT_SELECTED","PRIME_NAV_SOURCE_CHANGED","handlePropertyChange","toolbarButtonsConfig","handleButtonUpdate","select","updateButtonIcon","updateButtonPresenceStatus","updateButtonBadgeCount","setButtonSelection","setButtonVisibility","handleViewportSelection","handlePrimaryTabUpdate","chromeStateEffect","userMeta","getUserMetaFromUxGlobal","UX_GLOBALS","sessionUserInfo","userKey","mapUserMeta","loginRedirectUrl","isLoggedIn","__TECTONIC__sn_canvas_chrome"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/_style.scss","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/_style.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-content/_sn-canvas-content.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/_sn-canvas-corner-dialog.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/_sn-canvas-iframe.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/_sn-canvas-sidebar.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/_sn-canvas-sidepanel.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/_sn-canvas-tabs.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/_sn-canvas-toolbar-button.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/_sn-canvas-toolbar.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/_sn-canvas-viewport.scss","webpack:///./src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/_style.scss?f4c2","webpack:///./src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/_style.scss?a58a","webpack:///./src/components/sn-canvas-content/_sn-canvas-content.scss?2608","webpack:///./src/components/sn-canvas-corner-dialog/_sn-canvas-corner-dialog.scss?56e4","webpack:///./src/components/sn-canvas-iframe/_sn-canvas-iframe.scss?f7a9","webpack:///./src/components/sn-canvas-sidebar/_sn-canvas-sidebar.scss?2d2d","webpack:///./src/components/sn-canvas-sidepanel/_sn-canvas-sidepanel.scss?6e1a","webpack:///./src/components/sn-canvas-tabs/_sn-canvas-tabs.scss?8aec","webpack:///./src/components/sn-canvas-toolbar/_sn-canvas-toolbar-button.scss?624a","webpack:///./src/components/sn-canvas-toolbar/_sn-canvas-toolbar.scss?b3dc","webpack:///./src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.scss?c819","webpack:///./src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.scss?1b0e","webpack:///./src/components/sn-canvas-viewport/_sn-canvas-viewport.scss?906c","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-content/sn-canvas-content.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/positions.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/absolutePositions.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/sn-canvas-corner-dialog.js","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/constants.js","webpack:///external module \"/uxasset/externals/sn-canvas-common/28.0.63-swarm.0/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/sn-canvas-error-helpers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/sn-canvas-error.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/constants/index.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/sn-canvas-iframe.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-chrome/src/behaviors/draggable/onDrag.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/setTranslate.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/draggableEffect.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/clearTranslate.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/draggableBehavior.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/sn-canvas-sidebar.view.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/sn-canvas-sidebar.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/constants/constants.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/sn-canvas-sidepanel.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/positions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/canvas-tab/canvas-tab-preview.util.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/utils.js","webpack:///sn-canvas-chrome/src/utils/rtl.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/tabsDragUtils.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/canvasTab-helpers.js","webpack:///sn-canvas-chrome/src/utils/getEventbindingsForTooltips.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/canvas-tab/canvasTab.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/control-menu/controlMenu.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/canvasOverflowItem.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/tabOverflow.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/option-item/optionItem.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/constants/constants.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/sn-canvas-popover-content.effects.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/utils/utils.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/sn-canvas-popover-content.eventHandlers.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-popover-content/sn-canvas-popover-content.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.actions.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.events.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/canvasTabBar.js","webpack:///sn-canvas-chrome/src/utils/global-resize-listener.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-chrome/src/constants/canvas_config.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/tabsData.config.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/tabsData.utils.js","webpack:///sn-canvas-chrome/src/utils/marks.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/sn-canvas-tabs.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.closeTabs.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/sn-canvas-tabs.view.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/browser.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.storage.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.generators.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.reducers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/utilityPanel.storage.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.effects.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/utilityPanel.utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsDataBehavior.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/dirtyStateHandler.utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/sn-canvas-tabsdata.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/helpers/dirtyStateHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-canvas-chrome/src/behaviors/badge-count/badgeCountEffect.js","webpack:///sn-canvas-chrome/src/behaviors/badge-count/badgeCountBehavior.js","webpack:///sn-canvas-chrome/src/behaviors/presence/presenceEffect.js","webpack:///sn-canvas-chrome/src/behaviors/presence/presenceBehavior.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/sn-canvas-toolbar-button.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.js","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-key-binding/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/elements.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/helpers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/storage.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/snCanvasToolbarEffect.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/sn-canvas-toolbar.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/schemas/toolbar-buttons-schema.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/schemas/router-schema.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-ucm/sn-canvas-ucm.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/utils/index.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/loadViewportUtils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/snCanvasViewportEffect.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/sn-canvas-viewport.js","webpack:///sn-canvas-chrome/src/state-managers/utils.js","webpack:///sn-canvas-chrome/src/state-managers/chromeStateEffect.js","webpack:///sn-canvas-chrome/src/state-managers/sn-canvas-chrome-state.js","webpack:///sn-canvas-chrome/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-chrome-popover-items{display:inline-block;margin:auto 0;position:relative}.sn-chrome-popover-items.is-open .sn-chrome-popover{display:block;visibility:visible}.sn-chrome-popover-content{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color--primary-1,30,133,109));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:auto;list-style:none;width:14.5rem;z-index:z(\\\"popover\\\")}.sn-chrome-popover-content:first-of-type .sn-chrome-popover-content-list:not(:empty){border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-chrome-popover-content:focus{outline:none}.sn-chrome-popover-content-text{align-items:center;display:inline;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.sn-chrome-popover-content-list{list-style:none;margin:0;padding:0;width:100%}.sn-chrome-popover-content-list:focus{outline:none}.sn-chrome-popover-content-list.-nested{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-chrome-popover-content-list-item{align-items:center;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;font-size:1rem;height:2rem;overflow:hidden;position:relative}.sn-chrome-popover-content-list-item.has-update:after{background:RGB(var(--now-color_alert--info-2,14,120,196));bottom:0;content:\\\"\\\";left:0;top:0;width:.25rem}.sn-chrome-popover-content-list-item-button{align-items:center;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;font-size:inherit;height:100%;letter-spacing:inherit;outline:none;padding:0 1.5rem 0 1rem;position:relative;width:100%}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-button,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-button{text-align:left}:host([dir=rtl]) .sn-chrome-popover-content-list-item-button,:root[dir=rtl] .sn-chrome-popover-content-list-item-button{text-align:right}.sn-chrome-popover-content-list-item-button.is-disabled{cursor:not-allowed;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-popover-content-list-item-button.is-focus,.sn-chrome-popover-content-list-item-button.is-hover,.sn-chrome-popover-content-list-item-button:focus,.sn-chrome-popover-content-list-item-button:hover{background:RGB(var(--now-color--primary-0,221,237,233));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-popover-section .sn-chrome-popover-content-list-item-button{padding:0 .75rem}:host(:not([dir=rtl])) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon,:root:not([dir=rtl]) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon{margin-right:.5rem}:host([dir=rtl]) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon,:root[dir=rtl] .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon{margin-left:.5rem}.has-update .sn-chrome-popover-content-list-item-button{background:RGBA(var(--now-color_alert--info-0,195,221,240),var(--now-opacity--mid,.5))}.has-update .sn-chrome-popover-content-list-item-button.is-hover,.has-update .sn-chrome-popover-content-list-item-button:hover{background:RGBA(var(--now-color_alert--info-1,104,171,218),var(--now-opacity--mid,.5))}.has-update .sn-chrome-popover-content-list-item-button.is-focus,.has-update .sn-chrome-popover-content-list-item-button:focus{background:RGB(var(--now-color--primary-0,221,237,233))}:host(:not([dir=rtl])) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button,:root:not([dir=rtl]) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button{padding-left:3.25rem}:host([dir=rtl]) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button,:root[dir=rtl] .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button{padding-right:3.25rem}.sn-chrome-popover-content-list-item-button>label{cursor:pointer}.sn-chrome-popover-content-list-item-button>now-icon{flex:0 0 auto}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-button>now-icon,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-button>now-icon{margin-left:.5rem}:host([dir=rtl]) .sn-chrome-popover-content-list-item-button>now-icon,:root[dir=rtl] .sn-chrome-popover-content-list-item-button>now-icon{margin-right:.5rem}.sn-chrome-popover-content-list-item-close{background:transparent;border:none;cursor:pointer;margin-top:-.3125rem;padding:0;position:absolute;top:42%;width:.75rem;z-index:1}.sn-chrome-popover-content-list-item-close::-moz-focus-inner{border-style:none}.sn-chrome-popover-content-list-item-close:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-popover-content-list-item-close:focus{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-close,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-close{right:.5rem}:host([dir=rtl]) .sn-chrome-popover-content-list-item-close,:root[dir=rtl] .sn-chrome-popover-content-list-item-close{left:.5rem}.sn-chrome-popover-content-list-item-close.is-hover,.sn-chrome-popover-content-list-item-close:hover{color:RGB(var(--now-color--primary-1,30,133,109))}@media(forced-colors:active){.sn-chrome-popover-content-list{border-color:highlight;border-width:1px}.sn-chrome-popover-content-list-item-button{background-color:canvas;color:canvastext}.sn-chrome-popover-content-list-item-button:focus,.sn-chrome-popover-content-list-item-button:hover{background-color:highlight;color:highlighttext}.sn-chrome-popover-content-list-item-button:focus span.sn-chrome-popover-content-text,.sn-chrome-popover-content-list-item-button:hover span.sn-chrome-popover-content-text{forced-color-adjust:none}.sn-chrome-popover-content-list-item-button[disabled],.sn-chrome-popover-content-list-item-button[disabled]:hover{color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-tabs-menu{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color--primary-1,30,133,109));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:auto;list-style:none;z-index:z(\\\"popover\\\")}.sn-canvas-tabs-menu:focus{outline:none}.sn-canvas-tabs-menu-list{list-style:none;margin:0;padding:0;width:100%}.sn-canvas-tabs-menu-list:focus{outline:none}.sn-canvas-tabs-menu-list.-nested{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-canvas-tabs-menu-list-item{align-items:center;display:flex;font-size:1rem;height:2rem;overflow:hidden;position:relative}.sn-canvas-tabs-menu-list-item.is-disabled{opacity:var(--now-opacity--mid,.5)}.sn-canvas-tabs-menu-list-item-button{align-items:center;background:transparent;border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;font-size:inherit;height:100%;outline:none;padding:0 .5rem 0 1rem;position:relative;width:100%}:host(:not([dir=rtl])) .sn-canvas-tabs-menu-list-item-button,:root:not([dir=rtl]) .sn-canvas-tabs-menu-list-item-button{text-align:left}:host([dir=rtl]) .sn-canvas-tabs-menu-list-item-button,:root[dir=rtl] .sn-canvas-tabs-menu-list-item-button{text-align:right}.sn-canvas-tabs-menu-list-item-button:focus,.sn-canvas-tabs-menu-list-item-button:hover{background:RGB(var(--now-color--primary-0,221,237,233));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-canvas-tabs-menu-list-item-button>label{cursor:pointer}.sn-canvas-tabs-menu-text{align-items:center;display:inline;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}@media(forced-colors:active){.sn-canvas-tabs-menu-list{border-color:highlight;border-width:1px}.sn-canvas-tabs-menu-list-item-button{background-color:canvas;color:canvastext}.sn-canvas-tabs-menu-list-item-button:focus,.sn-canvas-tabs-menu-list-item-button:hover{background-color:highlight;color:highlighttext}.sn-canvas-tabs-menu-list-item-button:focus span.sn-canvas-tabs-menu-text,.sn-canvas-tabs-menu-list-item-button:hover span.sn-canvas-tabs-menu-text{forced-color-adjust:none}.sn-canvas-tabs-menu-list-item.is-disabled,.sn-canvas-tabs-menu-list-item.is-disabled:hover{background-color:canvas;color:graytext}.sn-canvas-tabs-menu-list-item.is-disabled span.sn-canvas-tabs-menu-text,.sn-canvas-tabs-menu-list-item.is-disabled:hover span.sn-canvas-tabs-menu-text{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-content{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-style:normal;font-variant:normal;height:100%;letter-spacing:inherit;line-height:1.25;margin:0;margin-block-start:0;position:relative;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit}:host(:not([dir=rtl])) .sn-canvas-content,:root:not([dir=rtl]) .sn-canvas-content{text-align:left}:host([dir=rtl]) .sn-canvas-content,:root[dir=rtl] .sn-canvas-content{text-align:right}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-corner-dialog{background:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));border:1px solid RGB(var(--now-color--neutral-4,191,197,198));border-radius:.25rem;box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));font-style:normal;font-variant:normal;letter-spacing:inherit;min-width:21.875rem;padding:1.5rem;position:absolute;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit;z-index:4001}:host(:not([dir=rtl])) .sn-canvas-corner-dialog,:root:not([dir=rtl]) .sn-canvas-corner-dialog{text-align:left}:host([dir=rtl]) .sn-canvas-corner-dialog,:root[dir=rtl] .sn-canvas-corner-dialog{text-align:right}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-header .header{align-items:center;display:flex;justify-items:center}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-content{overflow-y:auto}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer{margin-top:1.5rem}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-footer-button{align-items:center;display:flex;justify-content:flex-end;justify-items:center}:host(:not([dir=rtl])) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type,:root:not([dir=rtl]) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type{margin-left:.25rem}:host([dir=rtl]) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type,:root[dir=rtl] .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type{margin-right:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host .sn-canvas-iframe{height:100%}:host .sn-canvas-iframe>iframe{border:none;height:100%;min-height:350px;overflow-x:hidden;overflow-y:auto;resize:both;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.sn-canvas-sidebar{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));border:1px solid RGB(var(--now-color--neutral-13,58,71,72));border-top:none;box-sizing:border-box;height:100vh;width:15rem}.sn-canvas-sidebar.expand{height:100%;width:100%}.sn-canvas-sidebar.-hidden{height:0;visibility:hidden;width:0}.sn-canvas-sidebar.-undocked{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));box-shadow:-.125rem .125rem .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.5);height:28.125rem;left:17.25rem;position:absolute;top:15.375rem;width:20.1875rem;z-index:4001}.sn-canvas-sidebar.-undocked .sn-canvas-sidebar-header{cursor:move}.sn-canvas-sidebar.-undocked .sn-canvas-sidebar-content{height:362px}.sn-canvas-sidebar .sn-canvas-sidebar-header{align-items:center;display:flex;height:2.875rem;justify-content:space-between;justify-items:center;padding:1.0625rem .875rem .625rem 1rem}.sn-canvas-sidebar .sn-canvas-sidebar-header .sn-canvas-sidebar-header-title{color:RGB(var(--now-color--neutral-13,58,71,72));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.25}.sn-canvas-sidebar .sn-canvas-sidebar-header .close-icon{cursor:pointer}.sn-canvas-sidebar .sn-canvas-sidebar-content{height:100%;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{margin:0;padding:0}.sn-canvas-sidepanel{bottom:0;letter-spacing:normal;position:fixed;top:0;word-spacing:normal;z-index:3000}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{right:0}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{left:0}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{left:0}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{right:0}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{text-align:left}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{text-align:right}.sn-canvas-sidepanel:before{content:\\\"\\\";display:block;height:100%;position:relative;top:0;width:100%}:host(:not([dir=rtl])) .sn-canvas-sidepanel:before,:root:not([dir=rtl]) .sn-canvas-sidepanel:before{left:0}:host([dir=rtl]) .sn-canvas-sidepanel:before,:root[dir=rtl] .sn-canvas-sidepanel:before{right:0}.sn-canvas-sidepanel.-backdrop:before{background-color:RGBA(var(--now-color--neutral-21,0,0,0),.16)}.sn-canvas-sidepanel-overlay{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100vh;overflow:auto;padding:1.5rem;position:absolute}.sn-canvas-sidepanel-overlay.-top{height:23.4375rem;max-height:80%;top:0;width:100vw}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-top,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-top{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-top,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-top{right:0}.sn-canvas-sidepanel-overlay.-bottom{bottom:0;height:23.4375rem;max-height:80%;width:100vw}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-bottom,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-bottom{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-bottom,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-bottom{right:0}.sn-canvas-sidepanel-overlay.-left{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-left,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-left{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-left,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-left{right:0}.sn-canvas-sidepanel-overlay.-right{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-right,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-right{right:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-right,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-right{left:0}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-overlay-panel{height:100%}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header{align-items:center;display:flex;height:4.0625rem;justify-content:space-between}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon{margin-right:1rem}:host([dir=rtl]) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon,:root[dir=rtl] .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon{margin-left:1rem}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-chrome-one-tab-container{padding-left:var(--now-chrome-one-tab-left-padding,0);position:relative}.sn-chrome-one-tab-container:first-child .sn-chrome-one-tab:not(.-default){border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,4px)}.sn-chrome-one-tab-container::-moz-focus-inner{border-style:none}.sn-chrome-one-tab-container:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab-container:focus{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-one-tab-container,:root:not([dir=rtl]) .sn-chrome-one-tab-container{text-align:left}:host([dir=rtl]) .sn-chrome-one-tab-container,:root[dir=rtl] .sn-chrome-one-tab-container{text-align:right}.sn-chrome-one-tab{align-items:center;background:RGB(var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border:none;border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,4px);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,4px);color:RGB(var(--now-chrome-one-tab--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex:0 0 auto;font-size:1rem;height:2.25rem;justify-content:center;margin:0;position:relative;-webkit-user-select:none;user-select:none;width:calc(100% + 1px)}.sn-chrome-one-tab.-default{height:2.25rem}.sn-chrome-one-tab.is-primary{padding:0 1.75rem 0 1rem}.sn-chrome-one-tab.is-primary .has-presence{display:none}.sn-chrome-one-tab.is-wider.is-selected{border-right:RGB(var(--now-color--neutral-3,209,214,214)) 1px solid}.sn-chrome-one-tab:before{background:RGB(var(--now-chrome-one-tab--before--background-color,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";height:1.25rem;margin-block-start:-.625rem;position:absolute;top:50%;width:.0625rem;z-index:1}:host(:not([dir=rtl])) .sn-chrome-one-tab:before,:root:not([dir=rtl]) .sn-chrome-one-tab:before{right:-.0625rem}:host([dir=rtl]) .sn-chrome-one-tab:before,:root[dir=rtl] .sn-chrome-one-tab:before{left:-.0625rem}.sn-chrome-one-tab.is-hover,.sn-chrome-one-tab:hover{background:RGB(var(--now-chrome-one-tab--hover--background-color,var(--now-color--primary-0,221,237,233)));color:RGB(var(--now-chrome-one-tab--hover--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-chrome-one-tab:hover:before{display:none}.sn-chrome-one-tab.is-selected{border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,4px);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,4px)}.sn-chrome-one-tab.is-selected.-default:after{background:RGB(var(--now-chrome-one-tab--is-selected--after--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));bottom:-.0625rem;content:\\\"\\\";height:.0625rem;left:0;position:absolute;right:0}.sn-chrome-one-tab.is-selected:before{display:none}.sn-chrome-one-tab-content{align-items:center;display:inline-flex;flex:1 1 auto;overflow:hidden;position:relative}.sn-chrome-one-tab-content.has-icon,.sn-chrome-one-tab-content.has-presence{flex:0 0 auto;padding-left:0;padding-right:0}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-icon,:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-icon,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{margin-right:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-icon,:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-icon,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{margin-left:.25rem}.sn-chrome-one-tab-content.has-presence .sn-presence-dot{color:var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55));display:inline-flex;flex:0 0 auto;position:relative}.sn-chrome-one-tab-content.has-presence .sn-presence-dot.is-hidden{opacity:0}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence .sn-presence-dot,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence .sn-presence-dot{left:.020625rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence .sn-presence-dot,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence .sn-presence-dot{right:.020625rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{margin-left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{margin-right:-.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{padding-right:.25rem}.sn-chrome-one-tab-content.has-secondary-label{align-items:unset;display:flex;flex-wrap:wrap}.sn-chrome-one-tab-content.has-secondary-label :not(:last-child){margin-right:.25rem}.sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-label{top:2px}.sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{word-wrap:normal;align-items:center;display:inline-block;display:inline-flex;font-size:.75rem;max-width:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label,:root[dir=rtl] .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{right:-.25rem}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-active{color:RGB(var(--now-chrome-one-tab--sn-canvas-tab-icon--is-positive--color,var(--now-color--secondary-1,1,119,142)))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-critical{color:RGB(var(--now-color_alert--critical-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-high{color:RGB(var(--now-color_alert--high-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-warning{color:RGB(var(--now-color_alert--warning-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-moderate{color:RGB(var(--now-color_alert--moderate-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-positive{color:RGB(var(--now-color_alert--positive-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-info{color:RGB(var(--now-color_alert--info-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-low{color:RGB(var(--now-color_alert--low-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-magenta{color:RGB(var(--now-color_grouped--magenta-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-pink{color:RGB(var(--now-color_grouped--pink-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-orange{color:RGB(var(--now-color_grouped--orange-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-yellow{color:RGB(var(--now-color_grouped--yellow-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-brown{color:RGB(var(--now-color_grouped--brown-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-green{color:RGB(var(--now-color_grouped--green-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-green-yellow{color:RGB(var(--now-color_grouped--green-yellow-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-blue{color:RGB(var(--now-color_grouped--blue-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-gray{color:RGB(var(--now-color_grouped--gray-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-teal{color:RGB(var(--now-color_grouped--teal-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-purple{color:RGB(var(--now-color_grouped--purple-4))}.sn-chrome-one-tab-content .sn-chrome-one-tab-label{word-wrap:normal;display:inline-block;max-width:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .sn-chrome-one-tab-content .sn-chrome-one-tab-label,:root:not([dir=rtl]) .sn-chrome-one-tab-content .sn-chrome-one-tab-label{left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content .sn-chrome-one-tab-label,:root[dir=rtl] .sn-chrome-one-tab-content .sn-chrome-one-tab-label{right:-.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content,:root:not([dir=rtl]) .sn-chrome-one-tab-content{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content,:root[dir=rtl] .sn-chrome-one-tab-content{padding-right:.25rem}.sn-chrome-one-tab-close{background:transparent;border:none;color:RGB(var(--now-chrome-one-tab--close--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;margin-top:-.5rem;padding:0;position:absolute;top:50%;z-index:2}.sn-chrome-one-tab-close.is-hover,.sn-chrome-one-tab-close:hover{color:RGB(var(--now-chrome-one-tab--close--hover--color,var(--now-color--primary-1,30,133,109)))}:host(:not([dir=rtl])) .sn-chrome-one-tab-close,:root:not([dir=rtl]) .sn-chrome-one-tab-close{right:.75rem}:host([dir=rtl]) .sn-chrome-one-tab-close,:root[dir=rtl] .sn-chrome-one-tab-close{left:.75rem}.sn-chrome-one-tab-close::-moz-focus-inner{border-style:none}.sn-chrome-one-tab-close:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab-close:focus{outline:1px solid highlight}}.sn-chrome-one-tab-highlighted-value{border:none;padding:0;position:absolute;top:8px;z-index:2}:host(:not([dir=rtl])) .sn-chrome-one-tab-highlighted-value,:root:not([dir=rtl]) .sn-chrome-one-tab-highlighted-value{right:2rem}:host([dir=rtl]) .sn-chrome-one-tab-highlighted-value,:root[dir=rtl] .sn-chrome-one-tab-highlighted-value{left:2rem}.sn-chrome-one-tab.is-master-detail{background:RGB(var(--now-chrome-one-tab--is-master-detail--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-chrome-one-tab.is-master-detail[aria-selected=true]{border-bottom:1px solid RGB(var(--now-chrome-one-tab--is-master-detail--aria-selected--border-bottom-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-chrome-one-tab.-default{border:1px solid transparent;border-bottom:0}.sn-chrome-one-tab.-default:hover{border-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-chrome-one-tab.-default.is-selected{border-color:RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));border-width:var(--now-navigation-page_tabs--secondary--border-width--selected,1px)}.sn-canvas-sub-tabs-container .sn-chrome-one-tab{background:RGB(var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-one-tab.-overflow{border:none;border-radius:0;height:2rem;margin:.25rem;width:2rem}.sn-chrome-one-tab.-overflow:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),.25);color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-chrome-one-tab.is-hover,.sn-chrome-one-tab:hover{background:RGB(var(--now-navigation-page_tabs--primary--background-color--hover,var(--now-color--primary-0,221,237,233)));z-index:1}.sn-canvas-sub-tabs-container .sn-chrome-one-tab.is-hover,.sn-canvas-sub-tabs-container .sn-chrome-one-tab:hover{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--hover,var(--now-color--primary-0,221,237,233)))}.sn-chrome-one-tab.is-selected{background:RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));z-index:2}.sn-canvas-sub-tabs-container .sn-chrome-one-tab.is-selected{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-one-tab.has-children{background:RGB(var(--now-navigation-page_tabs--primary_parent--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-one-tab+.sn-chrome-one-tab-close{z-index:10}.sn-chrome-one-tab.is-updated{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color--secondary-0,217,235,238)) inset}.sn-chrome-one-tab.is-updated:before{background:RGB(var(--now-color--secondary-1,1,119,142));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-updated.is-hover,.sn-chrome-one-tab.is-updated:hover{box-shadow:1px 1px 100px RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-critical{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--critical-0)) inset}.sn-chrome-one-tab.is-critical:before{background:RGB(var(--now-color_alert--critical-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-critical.is-hover,.sn-chrome-one-tab.is-critical:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--critical-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-high{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--high-0)) inset}.sn-chrome-one-tab.is-high:before{background:RGB(var(--now-color_alert--high-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-high.is-hover,.sn-chrome-one-tab.is-high:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--high-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-warning{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--warning-0)) inset}.sn-chrome-one-tab.is-warning:before{background:RGB(var(--now-color_alert--warning-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-warning.is-hover,.sn-chrome-one-tab.is-warning:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--warning-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-moderate{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--moderate-0)) inset}.sn-chrome-one-tab.is-moderate:before{background:RGB(var(--now-color_alert--moderate-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-moderate.is-hover,.sn-chrome-one-tab.is-moderate:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--moderate-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-positive{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--positive-0)) inset}.sn-chrome-one-tab.is-positive:before{background:RGB(var(--now-color_alert--positive-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-positive.is-hover,.sn-chrome-one-tab.is-positive:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--positive-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-info{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--info-0)) inset}.sn-chrome-one-tab.is-info:before{background:RGB(var(--now-color_alert--info-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-info.is-hover,.sn-chrome-one-tab.is-info:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--info-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-low{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--low-0)) inset}.sn-chrome-one-tab.is-low:before{background:RGB(var(--now-color_alert--low-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-low.is-hover,.sn-chrome-one-tab.is-low:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--low-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-magenta{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--magenta-0)) inset}.sn-chrome-one-tab.is-magenta:before{background:RGB(var(--now-color_grouped--magenta-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-magenta.is-hover,.sn-chrome-one-tab.is-magenta:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--magenta-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-pink{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--pink-0)) inset}.sn-chrome-one-tab.is-pink:before{background:RGB(var(--now-color_grouped--pink-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-pink.is-hover,.sn-chrome-one-tab.is-pink:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--pink-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-orange{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--orange-0)) inset}.sn-chrome-one-tab.is-orange:before{background:RGB(var(--now-color_grouped--orange-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-orange.is-hover,.sn-chrome-one-tab.is-orange:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--orange-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--yellow-0)) inset}.sn-chrome-one-tab.is-yellow:before{background:RGB(var(--now-color_grouped--yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-yellow.is-hover,.sn-chrome-one-tab.is-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-brown{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--brown-0)) inset}.sn-chrome-one-tab.is-brown:before{background:RGB(var(--now-color_grouped--brown-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-brown.is-hover,.sn-chrome-one-tab.is-brown:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--brown-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-green{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-0)) inset}.sn-chrome-one-tab.is-green:before{background:RGB(var(--now-color_grouped--green-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-green.is-hover,.sn-chrome-one-tab.is-green:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-green-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-yellow-0)) inset}.sn-chrome-one-tab.is-green-yellow:before{background:RGB(var(--now-color_grouped--green-yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-green-yellow.is-hover,.sn-chrome-one-tab.is-green-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-blue{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--blue-0)) inset}.sn-chrome-one-tab.is-blue:before{background:RGB(var(--now-color_grouped--blue-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-blue.is-hover,.sn-chrome-one-tab.is-blue:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--blue-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-gray{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--gray-0)) inset}.sn-chrome-one-tab.is-gray:before{background:RGB(var(--now-color_grouped--gray-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-gray.is-hover,.sn-chrome-one-tab.is-gray:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--gray-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-teal{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--teal-0)) inset}.sn-chrome-one-tab.is-teal:before{background:RGB(var(--now-color_grouped--teal-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-teal.is-hover,.sn-chrome-one-tab.is-teal:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--teal-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-purple{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--purple-0)) inset}.sn-chrome-one-tab.is-purple:before{background:RGB(var(--now-color_grouped--purple-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-purple.is-hover,.sn-chrome-one-tab.is-purple:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--purple-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-disabled{cursor:default;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-one-tab>now-badge{position:absolute;right:-1px;top:-5px}.sn-chrome-one-tab::-moz-focus-inner{border-style:none}.sn-chrome-one-tab:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab:focus{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab{padding-right:.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab{padding-right:1.75rem}:host([dir=rtl]) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab{padding-left:1.75rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab{padding-right:3.5rem}:host([dir=rtl]) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab{padding-left:3.5rem}.sn-chrome-tab-preview-container{margin:auto 0;overflow-wrap:anywhere;z-index:4000}.sn-chrome-tab-preview-container.is-open .sn-chrome-tab-preview{display:block;visibility:visible}.sn-chrome-tab-preview{background:RGB(var(--now-chrome-tab-preview--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid RGB(var(--now-chrome-tab-preview--border-color,var(--now-color--primary-1,30,133,109)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;font-size:.75rem;height:auto;list-style:none;margin-top:.25rem;position:absolute;right:0;visibility:hidden;width:14.5rem;z-index:4000}.sn-chrome-tab-preview.hoverEnabled{position:fixed;position:-ms-device-fixed}.sn-chrome-tab-preview:focus{outline:none}.sn-chrome-tab-preview-body{display:block}.sn-chrome-tab-preview-body:focus{outline:none}.sn-card{border:none;padding:.75rem .75rem}.sn-card .sn-card--title--name--truncated{line-height:1rem;margin-right:-1em;max-height:2rem;max-width:12.5rem;overflow:hidden;padding-right:1em;position:relative;word-break:break-word}.sn-card .sn-card--title--name--truncated:before{bottom:0;content:\\\"...\\\";position:absolute;right:0}.sn-card .sn-card--title--name--truncated:after{background:RGB(var(--now-chrome-tab-preview--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";height:1em;margin-top:.2em;position:absolute;right:0;width:1em}.sn-card .sn-card--table--content{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sn-card--title{color:RGB(var(--now-sn-card--title--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:block;font-size:1rem;font-weight:600;line-height:1rem;margin:.5rem 0 0;max-height:2rem;overflow:hidden;position:relative;width:100%}.sn-card--title.is-first-child,.sn-card--title.is-only-child,.sn-card--title:first-child,.sn-card--title:only-child{margin:0}.sn-card--title h5{margin-block-end:0;margin-block-start:0}.sn-card--title span{word-wrap:normal;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-card--row{color:RGB(var(--now-sn-card--row--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;flex-wrap:wrap;margin:.5rem 0 0;position:relative;width:100%}.sn-card--row.mod-nowrap{flex-wrap:nowrap}.sn-card--row.is-first-child,.sn-card--row:first-child{margin-top:0}.sn-card table{border-collapse:collapse;max-width:100%}.sn-card td{vertical-align:top}.sn-card td:first-of-type{padding:0 .5rem .25rem 0;white-space:nowrap}.sn-card tr:last-of-type td{padding-bottom:0}@media(forced-colors:active){.sn-chrome-one-tab-container{border-style:solid;border-width:1px}.sn-chrome-one-tab{border-radius:0;width:100%}.sn-chrome-one-tab:before{display:none}.sn-chrome-one-tab:active{background-color:buttonface;color:buttontext}.sn-chrome-one-tab.is-selected:focus,.sn-chrome-one-tab.is-selected:hover,.sn-chrome-one-tab.is-updated:focus,.sn-chrome-one-tab.is-updated:hover,.sn-chrome-one-tab:focus,.sn-chrome-one-tab:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-chrome-one-tab.is-selected:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-selected:hover .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-updated:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-updated:hover .sn-chrome-one-tab-label,.sn-chrome-one-tab:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab:hover .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab.-default{border:none}.sn-chrome-one-tab.is-selected{background-color:selecteditem;color:selecteditemtext}.sn-chrome-one-tab.is-selected .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab.is-updated{background-color:selecteditem;border-color:highlight;color:selecteditemtext}.sn-chrome-one-tab.is-updated .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab-content.has-presence.sn-presence-dot.is-unsaved{border-color:highlight}.sn-chrome-one-tab-close{background-color:buttonface;color:buttontext}.sn-chrome-one-tab-close:focus,.sn-chrome-one-tab-close:hover{background-color:highlighttext;border-color:highlight;color:highlight;opacity:1}.sn-chrome-one-tab.is-master-detail{border-bottom-color:highlight}}.hide{display:none!important}.move-cursor{cursor:move!important}.no-drop-cursor{cursor:no-drop!important}.voiceover-region{height:0;overflow:hidden;position:absolute;width:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.draggable-container:before{background:RGB(var(--now-chrome-one-tab--before--background-color,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";height:1.25rem;margin-block-start:-.625rem;position:absolute;top:50%;width:.0625rem}:host(:not([dir=rtl])) .draggable-container:before,:root:not([dir=rtl]) .draggable-container:before{right:-.0625rem}:host([dir=rtl]) .draggable-container:before,:root[dir=rtl] .draggable-container:before{left:-.0625rem}.sn-chrome-tabs{background:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));display:inline-flex;padding-block-start:.25rem;position:relative;width:100%}.sn-chrome-tabs-dropdown-container .sn-chrome-popover-container{display:inline}.sn-chrome-tabs.-default{background:RGB(var(--now-navigation-page_tabs_container--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));border-bottom:1px solid RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));padding-block-start:.25rem;padding-inline-start:.75rem}.sn-chrome-tabs-content{align-items:flex-end;display:inline-flex;flex:1 1 auto;position:relative}.sn-chrome-tabs-content:last-of-type{flex:0 0 auto}.sn-chrome-tabs-group{display:inline-flex;flex:0 0 auto;list-style:none;margin:0;max-width:100%;padding:0;position:relative}.sn-chrome-tabs-btn{align-items:center;background:RGB(var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border:none;border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,4px);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,4px);color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex:0 0 auto;font-size:1rem;height:2.25rem;justify-content:center;margin-left:.0625rem;position:relative;width:2.5rem}.sn-chrome-tabs-btn.-default{border:1px solid transparent;border-bottom:0}.sn-chrome-tabs-btn.-default:hover{border-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-chrome-tabs-btn.-default.is-selected{border-color:RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));border-width:var(--now-navigation-page_tabs--secondary--border-width--selected,1px)}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn{background:RGB(var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-tabs-btn.-overflow{border:none;margin:.25rem}.sn-chrome-tabs-btn.-overflow:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),.25);color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-chrome-tabs-btn.is-hover,.sn-chrome-tabs-btn:hover{background:RGB(var(--now-navigation-page_tabs--primary--background-color--hover,var(--now-color--primary-0,221,237,233)));z-index:1}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn.is-hover,.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn:hover{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--hover,var(--now-color--primary-0,221,237,233)))}.sn-chrome-tabs-btn.is-selected{background:RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));z-index:2}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn.is-selected{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-tabs-btn.has-children{background:RGB(var(--now-navigation-page_tabs--primary_parent--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-tabs-btn+.sn-chrome-one-tab-close{z-index:10}.sn-chrome-tabs-btn.is-updated{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color--secondary-0,217,235,238)) inset}.sn-chrome-tabs-btn.is-updated:before{background:RGB(var(--now-color--secondary-1,1,119,142));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-updated.is-hover,.sn-chrome-tabs-btn.is-updated:hover{box-shadow:1px 1px 100px RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-critical{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--critical-0)) inset}.sn-chrome-tabs-btn.is-critical:before{background:RGB(var(--now-color_alert--critical-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-critical.is-hover,.sn-chrome-tabs-btn.is-critical:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--critical-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-high{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--high-0)) inset}.sn-chrome-tabs-btn.is-high:before{background:RGB(var(--now-color_alert--high-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-high.is-hover,.sn-chrome-tabs-btn.is-high:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--high-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-warning{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--warning-0)) inset}.sn-chrome-tabs-btn.is-warning:before{background:RGB(var(--now-color_alert--warning-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-warning.is-hover,.sn-chrome-tabs-btn.is-warning:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--warning-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-moderate{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--moderate-0)) inset}.sn-chrome-tabs-btn.is-moderate:before{background:RGB(var(--now-color_alert--moderate-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-moderate.is-hover,.sn-chrome-tabs-btn.is-moderate:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--moderate-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-positive{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--positive-0)) inset}.sn-chrome-tabs-btn.is-positive:before{background:RGB(var(--now-color_alert--positive-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-positive.is-hover,.sn-chrome-tabs-btn.is-positive:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--positive-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-info{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--info-0)) inset}.sn-chrome-tabs-btn.is-info:before{background:RGB(var(--now-color_alert--info-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-info.is-hover,.sn-chrome-tabs-btn.is-info:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--info-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-low{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--low-0)) inset}.sn-chrome-tabs-btn.is-low:before{background:RGB(var(--now-color_alert--low-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-low.is-hover,.sn-chrome-tabs-btn.is-low:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--low-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-magenta{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--magenta-0)) inset}.sn-chrome-tabs-btn.is-magenta:before{background:RGB(var(--now-color_grouped--magenta-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-magenta.is-hover,.sn-chrome-tabs-btn.is-magenta:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--magenta-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-pink{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--pink-0)) inset}.sn-chrome-tabs-btn.is-pink:before{background:RGB(var(--now-color_grouped--pink-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-pink.is-hover,.sn-chrome-tabs-btn.is-pink:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--pink-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-orange{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--orange-0)) inset}.sn-chrome-tabs-btn.is-orange:before{background:RGB(var(--now-color_grouped--orange-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-orange.is-hover,.sn-chrome-tabs-btn.is-orange:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--orange-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--yellow-0)) inset}.sn-chrome-tabs-btn.is-yellow:before{background:RGB(var(--now-color_grouped--yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-yellow.is-hover,.sn-chrome-tabs-btn.is-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-brown{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--brown-0)) inset}.sn-chrome-tabs-btn.is-brown:before{background:RGB(var(--now-color_grouped--brown-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-brown.is-hover,.sn-chrome-tabs-btn.is-brown:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--brown-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-green{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-0)) inset}.sn-chrome-tabs-btn.is-green:before{background:RGB(var(--now-color_grouped--green-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-green.is-hover,.sn-chrome-tabs-btn.is-green:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-green-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-yellow-0)) inset}.sn-chrome-tabs-btn.is-green-yellow:before{background:RGB(var(--now-color_grouped--green-yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-green-yellow.is-hover,.sn-chrome-tabs-btn.is-green-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-blue{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--blue-0)) inset}.sn-chrome-tabs-btn.is-blue:before{background:RGB(var(--now-color_grouped--blue-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-blue.is-hover,.sn-chrome-tabs-btn.is-blue:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--blue-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-gray{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--gray-0)) inset}.sn-chrome-tabs-btn.is-gray:before{background:RGB(var(--now-color_grouped--gray-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-gray.is-hover,.sn-chrome-tabs-btn.is-gray:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--gray-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-teal{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--teal-0)) inset}.sn-chrome-tabs-btn.is-teal:before{background:RGB(var(--now-color_grouped--teal-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-teal.is-hover,.sn-chrome-tabs-btn.is-teal:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--teal-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-purple{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--purple-0)) inset}.sn-chrome-tabs-btn.is-purple:before{background:RGB(var(--now-color_grouped--purple-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-purple.is-hover,.sn-chrome-tabs-btn.is-purple:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--purple-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-disabled{cursor:default;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-tabs-btn>now-badge{position:absolute;right:-1px;top:-5px}.sn-chrome-tabs-btn::-moz-focus-inner{border-style:none}.sn-chrome-tabs-btn:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-tabs-btn:focus{outline:1px solid highlight}}.sn-chrome-tabs-btn.-default.is-disabled,.sn-chrome-tabs.-default .sn-chrome-tabs-btn.is-disabled{border-color:transparent}.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple){background:transparent;border-color:transparent}.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple).is-hover,.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple):hover{background:RGB(var(--now-chrome-tabs--btn--default--background-color,var(--now-color--secondary-2,1,89,107)),.25);border-color:RGB(var(--now-chrome-tabs--btn--default--border-color,var(--now-color--secondary-2,1,89,107)))}.sn-chrome-tabs-btn.-default::-moz-focus-inner{border-style:none}.sn-chrome-tabs-btn.-default:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-tabs-btn.-default:focus{outline:1px solid highlight}}.sn-chrome-tabs-btn.-overflow{border-radius:0;height:2rem;margin:.125rem;width:2rem}.sn-chrome-tabs.chromeTabs.-primary{border-start-start-radius:var(--now-navigation-page_tabs_container--primary--border-start-start-radius,8px)}.sn-chrome-tabs-btn:hover{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}@media(forced-colors:active){.sn-chrome-tabs-btn,.sn-chrome-tabs-btn.-overflow{background-color:buttonface;border-style:solid;border-width:1px;color:buttontext}.sn-chrome-tabs-btn.-overflow:focus,.sn-chrome-tabs-btn.-overflow:hover,.sn-chrome-tabs-btn:focus,.sn-chrome-tabs-btn:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-chrome-tabs-btn.-overflow.is-disabled,.sn-chrome-tabs-btn.is-disabled{background-color:buttonface;border-color:graytext;color:graytext;opacity:1}}:host{background:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));display:flex;flex-direction:column;position:relative}.sn-canvas-tabs-container{background-color:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border-start-end-radius:var(--now-navigation-page_tabs_container--primary--border-start-end-radius,0);border-start-start-radius:var(--now-navigation-page_tabs_container--primary--border-start-start-radius,8px);position:relative;width:100%}.sn-canvas-sub-tabs-container{width:100%}.sn-canvas-sub-tabs-container.subTabsHideAnimation{transition:margin-top .3s ease-out}.sn-canvas-sub-tabs-container.hideDetailsTab{margin-block-start:var(--canvas-sub-tabs--margin-block-start,-41px)}.sn-primary-back-button{padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:calc(.25rem + 1rem*var(--now-button--scale-size-inline, 1));padding-inline-start:calc(.25rem + 1rem*var(--now-button--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-toolbar-button-container{height:3rem;padding:.25rem;width:3rem}.sn-canvas-toolbar-button{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:50%;color:RGB(var(--now-canvas-toolbar-button--color,var(--now-color--neutral-4,191,197,198)));cursor:pointer;display:flex;height:2.5rem;justify-content:center;margin:0;padding:0 .5rem;position:relative;width:2.5rem}.sn-canvas-toolbar-button::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-button:focus{outline:1px solid highlight}}.sn-canvas-toolbar-button:hover{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--hover,var(--now-color_chrome--brand-10,21,32,32)),var(--now-canvas-toolbar-button--opacity--hover,var(--now-opacity--mid,.5)))}.sn-canvas-toolbar-button:active{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button.is-selected{border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));color:RGB(var(--now-canvas-toolbar-button--color--focus,var(--now-color--neutral-0,255,255,255)))}.sn-canvas-toolbar-button.is-selected,.sn-canvas-toolbar-button:focus{background-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button:focus{border-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button:focus::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-button:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-button:focus:focus{outline:1px solid highlight}}.sn-canvas-toolbar-button .-badge-count{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-button .-badge-count,:root:not([dir=rtl]) .sn-canvas-toolbar-button .-badge-count{right:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-button .-badge-count,:root[dir=rtl] .sn-canvas-toolbar-button .-badge-count{left:.25rem}.sn-canvas-toolbar-button .-presence-indicator{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-button .-presence-indicator,:root:not([dir=rtl]) .sn-canvas-toolbar-button .-presence-indicator{left:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-button .-presence-indicator,:root[dir=rtl] .sn-canvas-toolbar-button .-presence-indicator{right:.25rem}.sn-canvas-toolbar-button .-rotateY180{transform:rotateY(180deg)}@media(forced-colors:active){.sn-canvas-toolbar-button{background-color:ButtonFace;border:1px solid ButtonBorder;color:ButtonText}.sn-canvas-toolbar-button:focus,.sn-canvas-toolbar-button:hover{background-color:HighlightText;border:1px solid;color:Highlight}.sn-canvas-toolbar-button.is-selected{background-color:SelectedItem;border:1px solid SelectedItemText;color:SelectedItemText}.sn-canvas-toolbar-button.is-selected:focus,.sn-canvas-toolbar-button.is-selected:hover{border-color:Highlight}}.sn-canvas-toolbar-overflow-menu-container{height:100%;width:100%}.sn-canvas-toolbar-overflow-item{align-items:center;background-color:transparent;border:none;color:#151920;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:flex-start;margin:0;padding:0 1rem;position:relative;width:100%}.sn-canvas-toolbar-overflow-item::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-overflow-item:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-overflow-item:focus{outline:1px solid highlight}}.sn-canvas-toolbar-overflow-item.isHighlighted,.sn-canvas-toolbar-overflow-item:hover{background-color:var(--now-canvas-toolbar-overflow-menu-background-color--hover,rgba(209,210,238,.5))}.sn-canvas-toolbar-overflow-item.isHighlighted{-webkit-appearance:none;border-width:1px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;outline:0}.sn-canvas-toolbar-overflow-item.is-selected{background-color:var(--now-canvas-toolbar-overflow-item--background-color--active,#4f52bd);color:RGB(var(--now-canvas-toolbar-overflow-item--color--active,var(--now-color--neutral-0,255,255,255)))}.sn-canvas-toolbar-overflow-item .-badge-count{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-overflow-item .-badge-count,:root:not([dir=rtl]) .sn-canvas-toolbar-overflow-item .-badge-count{right:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-overflow-item .-badge-count,:root[dir=rtl] .sn-canvas-toolbar-overflow-item .-badge-count{left:.25rem}.sn-canvas-toolbar-overflow-item .-presence-indicator{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-overflow-item .-presence-indicator,:root:not([dir=rtl]) .sn-canvas-toolbar-overflow-item .-presence-indicator{left:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-overflow-item .-presence-indicator,:root[dir=rtl] .sn-canvas-toolbar-overflow-item .-presence-indicator{right:.25rem}.sn-canvas-toolbar-overflow-item .-rotateY180{transform:rotateY(180deg)}.sn-canvas-toolbar-overflow-item .overflow-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-canvas-toolbar-overflow-item now-icon{margin-inline-end:.125rem}@media(forced-colors:active){.sn-canvas-toolbar-overflow-item{background-color:ButtonFace;border:1px solid ButtonBorder;color:ButtonText}.sn-canvas-toolbar-overflow-item:focus,.sn-canvas-toolbar-overflow-item:hover{background-color:HighlightText;border:1px solid;color:Highlight}.sn-canvas-toolbar-overflow-item.is-selected{background-color:SelectedItem;border:1px solid SelectedItemText;color:SelectedItemText}.sn-canvas-toolbar-overflow-item.is-selected:focus,.sn-canvas-toolbar-overflow-item.is-selected:hover{border-color:Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}:host{display:block;height:100%;overflow:hidden;width:100%}.sn-canvas-toolbar{background:linear-gradient(180deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);background:linear-gradient(180deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-middle,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-middle-position,85%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100%;padding:0 0 1rem;width:var(--now-canvas-toolbar--width,3rem);z-index:1000}:host(:not([dir=rtl])) .sn-canvas-toolbar,:root:not([dir=rtl]) .sn-canvas-toolbar{text-align:left}:host([dir=rtl]) .sn-canvas-toolbar,:root[dir=rtl] .sn-canvas-toolbar{text-align:right}.sn-canvas-toolbar .sn-canvas-toolbar-group-list-item{padding:2rem}.sn-canvas-toolbar .sn-canvas-toolbar-group.-top{align-self:start}.sn-canvas-toolbar .sn-canvas-toolbar-group.-bottom{align-self:end}.sn-canvas-toolbar.horizontal{background:linear-gradient(90deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:var(--now-canvas-toolbar--width,3rem);width:100%}.sn-canvas-toolbar.horizontal .sn-canvas-toolbar-group{display:flex}.sn-canvas-toolbar.horizontal .sn-canvas-toolbar-group.-bottom{justify-content:flex-end}.sn-canvas-toolbar .sn-cavnas-toolbar-overflow-popover.horizontal{margin:auto;margin-right:0}@media(forced-colors:active){.sn-canvas-toolbar{background-color:Canvas;border:1px solid;color:CanvasText}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}hr{border:0;border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));display:block;height:1px;margin:0;padding:0}.sn-canvas-overflow-menu-container.horizontal{margin-left:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-toolbar-overflow-container{display:block;height:3rem;padding:.25rem;width:3rem}.sn-canvas-toolbar-overflow-button{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-canvas-toolbar-button--color,var(--now-color--neutral-4,191,197,198)));cursor:pointer;display:flex;height:3rem;height:2.5rem;justify-content:center;margin:0;padding:.25rem;padding:0 .5rem;position:relative;width:3rem;width:2.5rem}.sn-canvas-toolbar-overflow-button::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-overflow-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-overflow-button:focus{outline:1px solid highlight}}.sn-canvas-toolbar-overflow-button:hover{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--hover,var(--now-color_chrome--brand-10,21,32,32)),var(--now-canvas-toolbar-button--opacity--hover,var(--now-opacity--mid,.5)))}.sn-canvas-toolbar-overflow-button:active{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-overflow-button:focus{border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));border-radius:50%;box-shadow:none}.sn-canvas-toolbar-overflow-button.is-selected{background-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)));border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));color:RGB(var(--now-canvas-toolbar-button--color--focus,var(--now-color--neutral-0,255,255,255)))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-viewport{height:100%;position:relative;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-corner-dialog.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-iframe.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-sidebar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-sidepanel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-tabs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-toolbar-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-toolbar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-toolbar-overflow-menu.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-toolbar-overflow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-viewport.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasContentStyles from './_sn-canvas-content.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\n// eslint-disable-next-line no-unused-vars\nconst snCanvasContent = (state) => {\n\tconst { containerProps } = state.properties;\n\treturn (\n\t\t<section className=\"sn-canvas-content\" style={containerProps}>\n\t\t\t<slot />\n\t\t<\/section>\n\t);\n};\n\ncreateCustomElement('sn-canvas-content', {\n\tproperties: {\n\t\t/**\n\t\t * Property to set the styles for the content\n\t\t * @type {object} Style for container element\n\t\t */\n\t\tcontainerProps: { default: {}, schema: { type: 'object' } }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasContent\n\t},\n\tstyles: snCanvasContentStyles,\n\tbehaviors: [rtlBehavior]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export default {\n\tTOP: 'top',\n\tTOP_LEFT: 'top-left',\n\tTOP_RIGHT: 'top-right',\n\tBOTTOM: 'bottom',\n\tBOTTOM_LEFT: 'bottom-left',\n\tBOTTOM_RIGHT: 'bottom-right',\n\tLEFT: 'left',\n\tRIGHT: 'right'\n};\n","import positions from './positions';\n\nexport default {\n\t[positions.TOP_LEFT]: {\n\t\ttop: '50px',\n\t\tleft: '50px'\n\t},\n\t[positions.TOP_RIGHT]: {\n\t\ttop: '50px',\n\t\tright: '50px'\n\t},\n\t[positions.BOTTOM_LEFT]: {\n\t\tbottom: '50px',\n\t\tleft: '50px'\n\t},\n\t[positions.BOTTOM_RIGHT]: {\n\t\tbottom: '50px',\n\t\tright: '50px'\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"clamp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t\t} else if ('clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clamp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"each\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t\t} else if ('each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.each || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"findKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t\t} else if ('findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"includes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t\t} else if ('includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.includes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t} });","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasCornerDialogStyles from './_sn-canvas-corner-dialog.scss';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport positions from './positions';\nimport absolutePositions from './absolutePositions';\nimport {\n\tincludes as _includes,\n\tkeys as _keys,\n\tisEmpty as _isEmpty\n} from 'lodash';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst _handleClose = (state, dispatch) => {\n\tlet { beforeClose } = state.properties;\n\tif (beforeClose && typeof beforeClose === 'function') {\n\t\tlet callbackFn = new Promise((resolve) => {\n\t\t\treturn resolve(beforeClose());\n\t\t});\n\t\tcallbackFn.then((res) => {\n\t\t\tres\n\t\t\t\t? dispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: false })\n\t\t\t\t: null;\n\t\t});\n\t} else {\n\t\tdispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: false });\n\t}\n};\n\nconst snCanvasCornerDialog = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tposition,\n\t\tcontainerProps,\n\t\thasCloseIcon,\n\t\theading\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-canvas-corner-dialog\"\n\t\t\thidden={!opened}\n\t\t\tstyle={{\n\t\t\t\t...containerProps,\n\t\t\t\t...absolutePositions[\n\t\t\t\t\t_includes(_keys(absolutePositions), position)\n\t\t\t\t\t\t? position\n\t\t\t\t\t\t: positions.BOTTOM_RIGHT\n\t\t\t\t],\n\t\t\t\tbackground: '#ffffff'\n\t\t\t}}>\n\t\t\t<header className=\"sn-canvas-corner-dialog-header\">\n\t\t\t\t<slot name=\"header\">\n\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t<now-icon icon=\"lightbulb-outline\" size=\"md\" />\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={heading}\n\t\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\t\t\thasNoMargin\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/slot>\n\t\t\t\t{hasCloseIcon ? (\n\t\t\t\t\t<div className=\"sn-canvas-corner-dialog-close-icon\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\ticon-name=\"close-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': t('Close') }}\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\t\t_handleClose(state, dispatch);\n\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/header>\n\t\t\t<div className=\"sn-canvas-corner-dialog-content\">\n\t\t\t\t<slot name=\"content\">\n\t\t\t\t\t<span>content goes here..<\/span>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t\t<footer className=\"sn-canvas-corner-dialog-footer\">\n\t\t\t\t<slot name=\"footer\">\n\t\t\t\t\t<span>footer goes here..<\/span>\n\t\t\t\t<\/slot>\n\t\t\t<\/footer>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Corner dialog aims at UI needs to display content at the configured corners of the viewport.\n *\n * @seismicElement sn-canvas-corner-dialog\n * @summary A corner dialog component to display visual announcements at the corners of the viewport\n */\ncreateCustomElement('sn-canvas-corner-dialog', {\n\tproperties: {\n\t\t/**\n\t\t * Property opened sets the state of the corner dialog\n\t\t * @type {Boolean} set state on corner dialog\n\t\t */\n\t\topened: { default: false, manageable: true },\n\t\t/**\n\t\t * Property position to set the position of the corner dialog\n\t\t * @type {('top-left'|'top-right'|'bottom-left'|'bottom-right')} Position - Possible values are:\n\t\t * \t- top-left,\n\t\t *  - top-right,\n\t\t *  - bottom-left,\n\t\t *  - bottom-right\n\t\t */\n\t\tposition: { default: positions.TOP_RIGHT, manageable: true },\n\t\t/**\n\t\t * Property to set the styles for the corner dialog container\n\t\t * @type {string} Style for container element\n\t\t */\n\t\tcontainerProps: { default: null },\n\t\t/**\n\t\t * Property sets the close icon to dismiss the corner dialog.\n\t\t * @type {string} Icon in the header of corner dialog\n\t\t */\n\t\thasCloseIcon: { default: true },\n\t\t/**\n\t\t * Property sets the heading for the corner dialog if not sent as slot.\n\t\t * @type {string} Heading in the header of corner dialog\n\t\t */\n\t\theading: { default: 'Guided Action' },\n\t\t/**\n\t\t * Property sets a callback function to handle before corner dialog is closed.\n\t\t * @type {function} beforeClose A callback function called when user tries to close corner dialog\n\t\t */\n\t\tbeforeClose: { default: null }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasCornerDialog\n\t},\n\tstyles: snCanvasCornerDialogStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the corner dialog is opened/closed.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED': {}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect({ host }) {\n\t\t\t\tif (!_isEmpty(host)) {\n\t\t\t\t\thost.parentElement.style.position = 'relative';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({ state, dispatch }) {\n\t\t\t\tif (state.properties.opened) {\n\t\t\t\t\tdispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: true });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t} });","import * as uiCore from '@servicenow/ui-core';\nimport { get } from '@devsnc/snowdash';\n\nexport const CONSTANTS = {\n\t/* Seismic element tag name */\n\tSN_CANVAS_ERROR_TAGNAME: 'sn-canvas-error',\n\tSESSION_EXPIRED_HEADER_LABEL: 'Session Expired (401)',\n\tAMB_SESSION_LOGOUT_PROP: 'glide.amb.session.logout.overlay.style',\n\n\t/* action types */\n\tACTION_TYPES: {\n\t\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\t\tNOW_MODAL_FOOTER_ACTION_CLICKED: 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n\t},\n};\n\nexport const ARIA_LIVE_TRIGGER_TEXT = get(\n\tuiCore,\n\t'ariaLiveRegionTriggers.ARIA_LIVE_TRIGGER_TEXT',\n\t'text',\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"calculateNewScreenStatusPayloads\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t\t} else if ('calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.calculateNewScreenStatusPayloads || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t}, [\"deepSearchAllElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchAllElement;\n\t\t\t\t\t} else if ('deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.deepSearchAllElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchAllElement;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"getLandingPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLandingPath;\n\t\t\t\t\t} else if ('getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getLandingPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLandingPath;\n\t\t\t\t}, [\"getUnifiedCacheInstance\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t\t} else if ('getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getUnifiedCacheInstance || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t}, [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t}, [\"setCanCreateParentScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setCanCreateParentScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setCanCreateParentScreen;\n\t\t\t\t\t} else if ('setCanCreateParentScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setCanCreateParentScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setCanCreateParentScreen;\n\t\t\t\t}, [\"setCanCreateSubScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setCanCreateSubScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setCanCreateSubScreen;\n\t\t\t\t\t} else if ('setCanCreateSubScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setCanCreateSubScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setCanCreateSubScreen;\n\t\t\t\t}, [\"setPageTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setPageTitle;\n\t\t\t\t\t} else if ('setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setPageTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setPageTitle;\n\t\t\t\t}, [\"updateScreenCreationStatus\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'updateScreenCreationStatus' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].updateScreenCreationStatus;\n\t\t\t\t\t} else if ('updateScreenCreationStatus' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.updateScreenCreationStatus || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].updateScreenCreationStatus;\n\t\t\t\t} });","import { deepSearchElement, deepSearchAllElement } from 'sn-canvas-common';\nimport { CONSTANTS } from './constants';\n\nconst { AMB_SESSION_LOGOUT_PROP } = CONSTANTS;\n\nexport const _execBtnActionFn = (btnClickFn) => {\n\ttypeof btnClickFn === typeof (() => {}) ? btnClickFn() : null;\n};\n\n/**\n *\n * @param {HTMLElement} selector - element you want to wait for\n * @param {HTMLElement} [target=document.body] - element that will be observed for changes\n * @returns {Promise}\n */\nexport const waitForEl = (selector, target = document.body) => {\n\treturn new Promise((resolve) => {\n\t\tconst el = deepSearchElement(selector, target);\n\t\t// if element being waited for is already present\n\t\tif (el) {\n\t\t\tresolve(el);\n\t\t}\n\t\tconst observer = new MutationObserver((mutationList, observer) => {\n\t\t\tconst el = deepSearchElement(selector, target);\n\t\t\tif (el) {\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve(el);\n\t\t\t}\n\t\t});\n\t\tobserver.observe(target.shadowRoot, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t});\n\t});\n};\n\n/**\n * Updates the overlay styling based on the provided old and new nodes.\n *\n * @param {Object} oldNode - The old node object.\n * @param {Object} newNode - The new node object.\n * @param {Boolean} applyOverlayStyles - determines if the overlay styles should be applied\n * @returns {void}\n */\nexport const updateCallback = (oldNode, newNode, applyOverlayStyles) => {\n\tconst overlayStyle =\n\t\twindow?.ux_globals?.sysprops?.[AMB_SESSION_LOGOUT_PROP] || '';\n\t// Only apply the styles when the prop exists and the modal is configured for it.\n\tif (overlayStyle && applyOverlayStyles) {\n\t\t// There might be more than one element so need to find the `now-modal` one\n\t\tconst seismicHoist = deepSearchAllElement('seismic-hoist').filter(\n\t\t\t(el) => el.sourceElement.tagName.toLowerCase() === 'now-modal',\n\t\t)[0];\n\n\t\tif (seismicHoist) {\n\t\t\t// nned to wait for the hoist to complete\n\t\t\twaitForEl('.now-modal-overlay', seismicHoist)\n\t\t\t\t.then((nowModalOverlay) => {\n\t\t\t\t\tconst [backgroundValue, opacityValue] =\n\t\t\t\t\t\textractStyleValues(overlayStyle);\n\t\t\t\t\tif (backgroundValue) {\n\t\t\t\t\t\tnowModalOverlay.style.backgroundColor = backgroundValue;\n\t\t\t\t\t}\n\t\t\t\t\tif (opacityValue) {\n\t\t\t\t\t\tnowModalOverlay.style.opacity = opacityValue;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log('**** Mutation Error: ****', e);\n\t\t\t\t});\n\t\t}\n\t} else {\n\t\tconsole.warn(\n\t\t\t`System property '${AMB_SESSION_LOGOUT_PROP}' could not be found.`,\n\t\t);\n\t}\n};\n\nexport function extractStyleValues(styleStr) {\n\tconst properties = styleStr.split(';').map((item) => item.trim());\n\n\t// Extract and validate properties\n\tconst backgroundProperty = properties.find((property) =>\n\t\tproperty.startsWith('background'),\n\t);\n\tconst opacityProperty = properties.find((property) =>\n\t\tproperty.startsWith('opacity'),\n\t);\n\n\t// Extract values\n\tconst background = backgroundProperty\n\t\t? backgroundProperty.split(':')[1].trim()\n\t\t: undefined;\n\tconst opacity = opacityProperty\n\t\t? opacityProperty.split(':')[1].trim()\n\t\t: undefined;\n\n\treturn [background, opacity];\n}\n\n/**\n * Formats the aria message for the modal.\n * @param {string} headerLabel modal header label\n * @param {string} content modal content\n * @returns {string}\n */\nexport const formatAriaMessage = (headerLabel, content) => {\n\tconst message = [headerLabel, content].join('. ').replace(/\\.\\.\\s/g, '. ');\n\treturn message;\n};\n","import { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { CONSTANTS, ARIA_LIVE_TRIGGER_TEXT } from './constants';\nimport { _execBtnActionFn, formatAriaMessage } from './sn-canvas-error-helpers';\n\nconst { NOW_MODAL_FOOTER_ACTION_CLICKED, NOW_MODAL_OPENED_SET } =\n\tCONSTANTS.ACTION_TYPES;\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_DISCONNECTED]: ({ updateState }) => {\n\t\tupdateState({\n\t\t\tpath: 'errorMessage',\n\t\t\tvalue: '',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: false,\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tproperties,\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t}) => {\n\t\tconst { payload } = action;\n\t\tconst {\n\t\t\topen,\n\t\t\terrorConfig: { headerLabel, content },\n\t\t} = properties;\n\t\tif (open && payload.name === 'errorConfig') {\n\t\t\tconst message = formatAriaMessage(headerLabel, content);\n\t\t\tif (message !== state.errorMessage) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'errorMessage',\n\t\t\t\t\tvalue: message,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t\treplaceContent: true,\n\t\t\t\t\ttriggers: ARIA_LIVE_TRIGGER_TEXT,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[NOW_MODAL_OPENED_SET]: ({\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t}) => {\n\t\tif (!value) dispatch('CANVAS_HIDE_ERROR_MODAL', { errorConfig: {} });\n\t},\n\t[NOW_MODAL_FOOTER_ACTION_CLICKED]: ({\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties,\n\t}) => {\n\t\tconst {\n\t\t\tfooterAction: { action },\n\t\t} = payload;\n\t\tconst { loginModal } = properties;\n\t\t_execBtnActionFn(action(dispatch, loginModal));\n\t\tdispatch('CANVAS_HIDE_ERROR_MODAL', { errorConfig: {} });\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from './constants';\nimport { actionHandlers } from './actions';\nimport { updateCallback } from './sn-canvas-error-helpers';\nimport '@servicenow/now-modal';\nconst { SN_CANVAS_ERROR_TAGNAME } = CONSTANTS;\n\n/** @seismicView sn-canvas-error */\nexport const snCanvasError = (state) => {\n\tconst { open, errorConfig } = state.properties;\n\tconst {\n\t\theaderLabel = '',\n\t\tcontent = '',\n\t\tfooterActions = [],\n\t\tapplyOverlayStyles = false,\n\t} = errorConfig;\n\n\treturn (\n\t\t<now-modal\n\t\t\tsize=\"sm\"\n\t\t\topened={open}\n\t\t\tnowHoist={open}\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tcontent={content}\n\t\t\tfooter-actions={footerActions}\n\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\tupdateCallback(oldVnode, vnode, applyOverlayStyles);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Canvas error represents custom modal component that displays the\n * error message and actions.\n *\n * ```jsx\n * <sn-canvas-error errorConfig={errorConfig} open={true} />\n * ```\n *\n * @seismicElement sn-canvas-error\n * @summary Canvas error defines the error modal.\n *\n **/\ncreateCustomElement(SN_CANVAS_ERROR_TAGNAME, {\n\tproperties: {\n\t\t/**\n\t\t * Property to set the error modal configuration - header label, content, footer actions etc.\n\t\t * @type {Object} errorConfig - Canvas error modal configuration\n\t\t * @default [{}]\n\t\t */\n\t\terrorConfig: {\n\t\t\tdefault: {\n\t\t\t\theaderLabel: '',\n\t\t\t\tcontent: '',\n\t\t\t\tfooterActions: [],\n\t\t\t\tapplyOverlayStyles: false,\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Property to set the card's primary title\n\t\t * @type {boolean} [open=false] open - Error modal display state\n\t\t * @default [false]\n\t\t */\n\t\topen: { default: false },\n\t\tloginModal: {\n\t\t\tdefault: {},\n\t\t\tunstableParse: true,\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasError,\n\t},\n\tactionHandlers,\n\tinitialState: {\n\t\terrorMessage: '',\n\t},\n});\n","export const CANVAS_IFRAME_MODAL_MESSAGE_TYPE =\n\t'CANVAS_IFRAME_MODAL_MESSAGE_TYPE';\nexport const CANVAS_IFRAME_CLOSED = 'SN_CANVAS_IFRAME#CLOSED';\nexport const CANVAS_IFRAME_OUTBOUND_ACTION_CANCELED =\n\t'CANVAS_IFRAME_OUTBOUND_ACTION_CANCELED';\nexport const CANVAS_IFRAME_OUTBOUND_ACTION_CONFIRMED =\n\t'CANVAS_IFRAME_OUTBOUND_ACTION_CONFIRMED';\nexport const CANVAS_IFRAME_INIT = 'CANVAS_IFRAME_INIT';\nexport const CANVAS_IFRAME_CONTENT = 'CANVAS_IFRAME_CONTENT';\n\nexport const IFRAME_REF = 'iframeRef';\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-iframe.scss';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nimport {\n\tCANVAS_IFRAME_CLOSED,\n\tCANVAS_IFRAME_CONTENT,\n\tIFRAME_REF\n} from './constants';\n\n/**\n * API that handles communication from iframe, dispatches MODAL_SELECTED, SN_CANVAS_IFRAME#CLOSED actions\n * @param {*} e , standar postMessage payload\n */\nconst onMessage = (e) => {\n\tconst { type, action, params = {} } = e.data || {};\n\n\tif (CANVAS_IFRAME_CONTENT === type) {\n\t\te.dispatch('MODAL_SELECTED', { showModal: false });\n\t\te.dispatch(CANVAS_IFRAME_CLOSED, {\n\t\t\taction,\n\t\t\tparams\n\t\t});\n\t}\n};\n\nlet messageListener;\n\nconst messageHandler = (dispatch) => {\n\treturn (e) => {\n\t\tonMessage({ data: e.data, dispatch });\n\t}\n};\n\nconst sendInitMessage = (iFrameRef, params = {}) => {\n\tif (!iFrameRef) return;\n\n\tlet data = {\n\t\ttype: 'CAVAS_IFRAME_MODAL_INIT',\n\t\tparams\n\t};\n\tiFrameRef.contentWindow.postMessage(data, location.origin);\n};\n\nconst setIframeHeight = (iframeRef) => {\n\tif (\n\t\tiframeRef &&\n\t\tiframeRef.contentDocument &&\n\t\tiframeRef.contentDocument.documentElement\n\t)\n\t\tiframeRef.style.height =\n\t\t\tiframeRef.contentDocument.documentElement.scrollHeight + 'px';\n};\n\nconst view = (state, { updateProperties }) => {\n\tconst {\n\t\tsrc,\n\t\theaderLabel,\n\t\tiframeRef,\n\t\tdisableSandbox = false\n\t} = state.properties;\n\tconst includeIframe = !!src;\n\tif (!includeIframe) return null;\n\n\tconst setRef = (ref) => {\n\t\tif (iframeRef) return;\n\t\tupdateProperties({ iframeRef: ref });\n\t};\n\n\tconst _renderHeader = () => {\n\t\tif (!headerLabel || headerLabel.length === 0) return null;\n\t\treturn <h1>{headerLabel}<\/h1>;\n\t};\n\n\treturn disableSandbox === true ? (\n\t\t<div className=\"sn-canvas-iframe\">\n\t\t\t{_renderHeader()}\n\t\t\t<iframe\n\t\t\t\tref={setRef}\n\t\t\t\tsrc={src}\n\t\t\t\ttitle={headerLabel}\n\t\t\t\tsandbox=\"allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-downloads\"\n\t\t\t/>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"sn-canvas-iframe\">\n\t\t\t{_renderHeader()}\n\t\t\t<iframe\n\t\t\t\tref={setRef}\n\t\t\t\tsrc={src}\n\t\t\t\ttitle={headerLabel}\n\t\t\t\tsandbox=\"allow-scripts\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * A canvas component that provides ability to pass in header title and src url to create a content with iframe\n * . A use case of this component is it is used in OOB modal so the actual content will be displayed on modal\n * ```jsx\n * \t<sn-canvas-iframe header-title=\"My Header\" src=\"https://myhost/sample.html\" height=\"400px\" />\n * ```\n *  @seismicElement sn-canvas-iframe\n *  @summary - A component to group tilte , iframe together\n */\ncreateCustomElement('sn-canvas-iframe', {\n\tproperties: {\n\t\tiframeRef: {\n\t\t\tprivate: true,\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Property to configure the canvas iframe title.\n\t\t *\n\t\t * A title for your iframe\n\t\t * @type {string}\n\t\t */\n\t\theaderLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Property to configure the canvas iframe src or url.\n\t\t *\n\t\t * A src (url) for your iframe content\n\t\t * @type {string}\n\t\t */\n\t\tsrc: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Initial data to iframe content\n\t\t */\n\t\tparams: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Optional. disable-sandbox, a boolean property to toggle sandbox restrictions.\n\t\t */\n\t\tdisableSandbox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ dispatch, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\twindow.addEventListener('message', messageListener = messageHandler(dispatch));\n\t\t},\n\n\t\t[COMPONENT_DISCONNECTED]: ({ dispatch, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\twindow.removeEventListener('message', messageListener);\n\t\t\tmessageListener = null;\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: { payload },\n\t\t\tproperties: { params }\n\t\t}) => {\n\t\t\tif (payload.name === IFRAME_REF) {\n\t\t\t\tif (!payload.value) return;\n\t\t\t\tpayload.value.addEventListener('load', () => {\n\t\t\t\t\tsendInitMessage(payload.value, params);\n\t\t\t\t\tsetIframeHeight(payload.value);\n\t\t\t\t}, {once: true});\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","import { setTranslate } from './setTranslate';\n\nlet activeItem = null;\nlet active = false;\n\nconst onDragStart = (e) => {\n\t// determine event object\n\tif (!e) {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tlet e = window.event;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\n\tif (e.target !== e.currentTarget) {\n\t\tactive = true;\n\n\t\t// this is the item we are interacting with\n\t\tactiveItem = e.target;\n\n\t\tif (activeItem !== null) {\n\t\t\tif (!activeItem.xOffset) {\n\t\t\t\tactiveItem.xOffset = 0;\n\t\t\t}\n\n\t\t\tif (!activeItem.yOffset) {\n\t\t\t\tactiveItem.yOffset = 0;\n\t\t\t}\n\n\t\t\tif (e.type === 'touchstart') {\n\t\t\t\tactiveItem.initialX = e.touches[0].clientX - activeItem.xOffset;\n\t\t\t\tactiveItem.initialY = e.touches[0].clientY - activeItem.yOffset;\n\t\t\t} else {\n\t\t\t\tactiveItem.initialX = e.clientX - activeItem.xOffset;\n\t\t\t\tactiveItem.initialY = e.clientY - activeItem.yOffset;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nconst onDragEnd = () => {\n\tif (activeItem !== null) {\n\t\tactiveItem.initialX = activeItem.currentX;\n\t\tactiveItem.initialY = activeItem.currentY;\n\t}\n\n\tactive = false;\n\tactiveItem = null;\n\treturn false;\n};\n\nconst onDrag = (e) => {\n\tif (active) {\n\t\tif (e.type === 'touchmove') {\n\t\t\te.preventDefault();\n\n\t\t\tactiveItem.currentX = e.touches[0].clientX - activeItem.initialX;\n\t\t\tactiveItem.currentY = e.touches[0].clientY - activeItem.initialY;\n\t\t} else {\n\t\t\tactiveItem.currentX = e.clientX - activeItem.initialX;\n\t\t\tactiveItem.currentY = e.clientY - activeItem.initialY;\n\t\t}\n\n\t\tactiveItem.xOffset = activeItem.currentX;\n\t\tactiveItem.yOffset = activeItem.currentY;\n\n\t\tsetTranslate(activeItem.currentX, activeItem.currentY, activeItem);\n\t}\n};\n\nconst getActiveItem = () => activeItem;\nconst getActive = () => active;\n\nexport { onDragStart, onDragEnd, onDrag, getActiveItem, getActive };\n","const setTranslate = (xPos, yPos, el) => {\n\t// -undocked class is added to the floating items\n\t// that support dock /un-dock\n\tconst elNode = el.shadowRoot.querySelector('.-undocked');\n\tif (elNode) {\n\t\telNode.style.transform =\n\t\t\t'translate3d(' + xPos + 'px, ' + yPos + 'px, 0)';\n\t}\n};\n\nexport { setTranslate };\n","import { onDrag, onDragStart, onDragEnd } from './onDrag';\nimport { clearTranslate } from './clearTranslate';\n\nexport const DOCUMENT_EVENTS = [\n\t'mousemove',\n\t'mousedown',\n\t'mouseup',\n\t'touchmove',\n\t'touchstart',\n\t'touchend',\n];\n\nconst bindDraggableEvents = ({ host, state, updateState }) => {\n\tconst targetRef = host;\n\tconst parentTargetRef = host.parentElement;\n\tconst { dockingEnabled } = state.properties;\n\n\tif (dockingEnabled && targetRef && parentTargetRef) {\n\t\tDOCUMENT_EVENTS.forEach((eventType) => {\n\t\t\tif (eventType === 'touchstart' || eventType === 'mousedown') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDragStart, false);\n\t\t\t} else if (eventType === 'touchend' || eventType === 'mouseup') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDragEnd, false);\n\t\t\t} else if (eventType === 'touchmove' || eventType === 'mousemove') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDrag, false);\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateState({ targetRef: host, parentTargetRef: host.parentElement });\n};\n\nconst unbindDraggableEvents = ({ host, state }) => {\n\tconst targetRef = host;\n\tconst parentTargetRef = host.parentElement;\n\tconst { dockingEnabled } = state.properties;\n\n\tif (dockingEnabled && targetRef && parentTargetRef) {\n\t\tDOCUMENT_EVENTS.forEach((eventType) => {\n\t\t\tif (eventType === 'touchstart' || eventType === 'mousedown') {\n\t\t\t\tparentTargetRef.removeEventListener(\n\t\t\t\t\teventType,\n\t\t\t\t\tonDragStart,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t} else if (eventType === 'touchend' || eventType === 'mouseup') {\n\t\t\t\tparentTargetRef.removeEventListener(\n\t\t\t\t\teventType,\n\t\t\t\t\tonDragEnd,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t} else if (eventType === 'touchmove' || eventType === 'mousemove') {\n\t\t\t\tparentTargetRef.removeEventListener(eventType, onDrag, false);\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst clearStyles = (coeffects) => {\n\tconst {\n\t\thost,\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { name, previousValue, value } = payload;\n\tif (name === 'status' && previousValue !== value && value === 'DOCKED') {\n\t\tclearTranslate(host);\n\t}\n};\n\nconst effectHandlers = {\n\tbindDraggableEvents,\n\tunbindDraggableEvents,\n\tclearStyles,\n};\n\nexport default {\n\teffectHandlers,\n};\n","const clearTranslate = (el) => {\n\tif (el && el.shadowRoot && el.shadowRoot.childNodes) {\n\t\tel.shadowRoot.childNodes.forEach((node) => {\n\t\t\tnode.style.removeProperty('transform');\n\t\t});\n\t}\n};\n\nexport { clearTranslate };\n","import { actionTypes } from '@servicenow/ui-core';\nimport draggableEffect from './draggableEffect';\n\nconst {\n\tbindDraggableEvents,\n\tunbindDraggableEvents,\n\tclearStyles\n} = draggableEffect.effectHandlers;\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport const draggableBehavior = {\n\tname: 'draggableBehavior',\n\tinitialState: {\n\t\ttargetRef: null,\n\t\tparentTargetRef: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: bindDraggableEvents,\n\t\t[COMPONENT_DISCONNECTED]: unbindDraggableEvents,\n\t\t[COMPONENT_PROPERTY_CHANGED]: clearStyles\n\t}\n};\n","import { isEmpty as _isEmpty } from 'lodash';\n\nconst Docking = ({ dockingEnabled, status, updateProperties }) => {\n\treturn dockingEnabled ? (\n\t\tstatus === 'DOCKED' ? (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"close-icon\"\n\t\t\t\ticon=\"clone-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tonClickHandler(dockingEnabled, status, updateProperties);\n\t\t\t\t}}\n\t\t\t/>\n\t\t) : (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"close-icon\"\n\t\t\t\ticon=\"close-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tonClickHandler(dockingEnabled, status, updateProperties);\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t) : null;\n};\n\nexport const snCanvasSidebar = (state, { updateProperties }) => {\n\tconst {\n\t\topened,\n\t\theading,\n\t\tstatus,\n\t\tdockingEnabled,\n\t\tcontainerProps,\n\t\texpand,\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-canvas-sidebar': true,\n\t\t\t\texpand: expand,\n\t\t\t\t'-undocked': status === 'UN_DOCKED',\n\t\t\t\t'-hidden': !opened,\n\t\t\t}}\n\t\t\tstyle={{ ...containerProps }}\n\t\t>\n\t\t\t{!dockingEnabled && _isEmpty(heading) ? null : (\n\t\t\t\t<header className=\"sn-canvas-sidebar-header\">\n\t\t\t\t\t<slot name=\"heading\">\n\t\t\t\t\t\t<h1 className=\"sn-canvas-sidebar-header-title\">\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t<\/h1>\n\t\t\t\t\t\t<Docking\n\t\t\t\t\t\t\tdockingEnabled={dockingEnabled}\n\t\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/slot>\n\t\t\t\t<\/header>\n\t\t\t)}\n\t\t\t<div className=\"sn-canvas-sidebar-content\">\n\t\t\t\t<slot name=\"content\" />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport function onDockingContainerClickHandler(\n\tdockingEnabled,\n\tstatus,\n\tupdateProperties,\n) {\n\tif (dockingEnabled && status === 'DOCKED') {\n\t\tupdateProperties({ status: 'UN_DOCKED' });\n\t} else {\n\t\tupdateProperties({ status: 'DOCKED' });\n\t}\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasSidebarStyles from './_sn-canvas-sidebar.scss';\nimport '@servicenow/now-icon';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport { draggableBehavior } from '../../behaviors/draggable/draggableBehavior';\nimport { snCanvasSidebar } from './sn-canvas-sidebar.view';\n\ncreateCustomElement('sn-canvas-sidebar', {\n\tproperties: {\n\t\theading: { default: '' },\n\t\topened: { default: false, manageable: true },\n\t\tcontainerProps: { default: {} },\n\t\tdockingEnabled: { default: false },\n\t\tstatus: { default: 'DOCKED' },\n\t\texpand: { default: false },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasSidebar,\n\t},\n\tstyles: snCanvasSidebarStyles,\n\tbehaviors: [uxfViewportBehavior, draggableBehavior],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"];\n\t\t\t\t} });","import { t } from 'sn-translate';\n\n//components\nexport const SN_CANVAS_TABS_DATA = 'sn-canvas-tabs-data';\n\n// Actions dispatched from NDS\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_NAVIGATION_ITEM_CLICKED = 'NOW_NAVIGATION_ITEM#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_CONFIRM_MODAL_CLEAR = 'NOW_CONFIRM_MODAL#CLEAR';\n\n// Global actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const SESSION_LOGGED_OUT = 'SESSION_LOGGED_OUT';\nexport const VIEWPORT_MODAL_SELECTED = 'MACROPONENT_VIEWPORT_LOAD_REQUESTED';\nexport const SCREEN_TITLES_REGISTRATION_REQUESTED =\n\t'SCREEN_TITLES_REGISTRATION_REQUESTED';\n\n// Link types\nexport const EMAIL_LINK_TYPE = 'email';\nexport const PHONE_LINK_TYPE = 'phone';\nexport const ROUTE_LINK_TYPE = 'route';\nexport const MODAL_LINK_TYPE = 'modal';\nexport const EXTERNAL_LINK_TYPE = 'external';\nexport const ACTION_LINK_TYPE = 'action';\nexport const LOGOUT_LINK_TYPE = 'logout';\nexport const VIEWPORT_MODAL_TYPE = 'viewportModal';\n// Component actions\nexport const PUBLIC_ACTION_BUTTON_CLICKED =\n\t'CANVAS_PUBLIC_ACTION_BUTTON#CLICKED';\n\n// Defaults\nexport const DEFAULT_LOGOUT_ROUTE = 'logout.do';\n// Keyboard constants\nexport const ENTER_KEY_CODE = 13;\n\nexport const HOME_KEY = 'Home';\nexport const ARROW_UP_KEY = 'ArrowUp';\nexport const ARROW_RIGHT_KEY = 'ArrowRight';\nexport const ARROW_DOWN_KEY = 'ArrowDown';\nexport const ARROW_LEFT_KEY = 'ArrowLeft';\nexport const END_KEY = 'End';\nexport const ESCAPE_KEY = 'Escape';\nexport const TAB_KEY = 'Tab';\nexport const ENTER_KEY = 'Enter';\nexport const SPACE_KEY = ' ';\n\n//Tab Constants\nexport const LOAD_TABS_DATA = 'LOAD_TABS_DATA';\nexport const TABS_DATA_UPDATED = 'TABS_DATA_UPDATED';\nexport const TABS_INIT_PROPS_BEHAVIOR = 'TABS_INIT_PROPS_BEHAVIOR';\nexport const TABS_ROOT_BEHAVIOR = 'TABS_ROOT_BEHAVIOR';\nexport const TABS_LIST_ARIA_LABEL = t('Tab List');\nexport const CLOSE_TAB_MENU_ITEM = 'CLOSE_TAB_MENU_ITEM';\nexport const CLOSE_OTHER_TABS_MENU_ITEM = 'CLOSE_OTHER_TABS_MENU_ITEM';\nexport const CLOSE_ALL_TABS_MENU_ITEM = 'CLOSE_ALL_TABS_MENU_ITEM';\nexport const TAB_JUST_CLOSED = 'TAB_JUST_CLOSED';\nexport const CHAT_ITEM_TYPE = 'CHAT_ITEM_TYPE';\nexport const SELECTED_WORKSPACE_TAB_FOCUS = 'SELECTED_WORKSPACE_TAB_FOCUS';\nexport const SELECTED_PAGE_TAB_FOCUS = 'SELECTED_PAGE_TAB_FOCUS';\nexport const TAB_NEW_MESSAGE = t('new message');\nexport const TAB_NEW_MESSAGES = t('new messages');\n\n// Modal Buttons\nexport const EDS_MODAL_CANCEL_BTN = {\n\tvariant: 'secondary',\n\tlabel: t('Cancel'),\n};\n\nexport const EDS_MODAL_CONFIRM_BTN = {\n\tvariant: 'primary',\n\tlabel: t('OK'),\n};\n\n// Tab actions\nexport const WORKSPACE_TAB_ACTIVATED = 'WORKSPACE_TAB_ACTIVATED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MAIN_TAB_CLICKED = 'MAIN_TAB_CLICKED';\nexport const MASTER_DETAIL_TOGGLED = 'MASTER_DETAIL_TOGGLED';\nexport const MAIN_TAB_CLOSE_CLICKED = 'MAIN_TAB_CLOSE_CLICKED';\nexport const MAIN_TAB_NEW_CLICKED = 'MAIN_TAB_NEW_CLICKED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED = 'MAIN_TAB_NEW_ALERT_CLEARED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED_OK = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const SUB_TAB_CLOSE_CLICKED = 'SUB_TAB_CLOSE_CLICKED';\nexport const TABS_SCREEN_CONTENT_CHANGED = 'TABS_SCREEN_CONTENT_CHANGED';\nexport const TABS_CLOSE_REQUESTED = 'TABS_CLOSE_REQUESTED';\nexport const TABS_CLOSE_CONFIRMED = 'TABS_CLOSE_CONFIRMED';\nexport const TABS_CLOSE_CANCELLED = 'TABS_CLOSE_CANCELLED';\nexport const TABS_SELECTED_CONTENT_CHANGED = 'TABS_SELECTED_CONTENT_CHANGED';\nexport const DRILLDOWN_BACK_CLICKED = 'DRILLDOWN_BACK_CLICKED';\nexport const SCREEN_CLOSED_CONFIRMED = 'SCREEN_CLOSED_CONFIRMED';\nexport const SCREEN_CLOSED_CANCELLED = 'SCREEN_CLOSED_CANCELLED';\nexport const PRIMARY_TAB_PROP_CHANGED = 'PRIMARY_TAB_PROP_CHANGED';\nexport const NAVIGATION_CLOSED = 'NAVIGATION_CLOSED';\nexport const VIEWPORT_SELECTED = 'VIEWPORT_SELECTED';\n\n// Mediated action types\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const SELECT_TAB = 'SELECT_TAB';\nexport const CONTEXTUAL_RECORD_ITEM_TYPE = 'contextual_record';\nexport const TWO_LAYER_TYPE = 'TWO_LAYER_TYPE'; //[RECORD_ITEM_TYPE, NEW_RECORD_ITEM_TYPE, CHAT_ITEM_TYPE]// Error mediated action types\nexport const MAIN_TAB_ONLY_TYPE = 'MAIN_TAB_ONLY_TYPE';\n\n//KEY COMMANDS\nexport const MOVE_UP = 'MOVE_UP';\nexport const TAB = 'TAB';\nexport const MOVE_DOWN = 'MOVE_DOWN';\nexport const EXECUTE = 'EXECUTE';\nexport const CLICK = 'CLICK';\n\n// Tab Item Types\nexport const RECORD_ITEM_TYPE = 'record';\nexport const FULL_SEARCH_ITEM_TYPE = 'full-search';\nexport const KNOWLEDGE_ITEM_TYPE = 'knowledge';\nexport const NON_RECORD_ITEM_TYPE = 'non_record';\nexport const FULL_LIST_ITEM_TYPE = 'list';\nexport const NEW_RECORD_ITEM_TYPE = 'new_record';\n\nexport const FULL_SEARCH_TAB_TITLE = t('WS:Search Results');\nexport const KNOWLEDGE_TAB_TITLE = t('Knowledge Articles');\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\nexport const ACTIVITY_LOG_UPDATED = 'ACTIVITY_LOG_UPDATED';\n\n// Tab Reducers\nexport const OPEN_OR_FOCUS_TAB_REDUCER = 'OPEN_OR_FOCUS_TAB_REDUCER';\nexport const INIT_OR_UPDATE_TABS_REDUCER = 'INIT_OR_UPDATE_TABS_REDUCER';\nexport const LIVE_UPDATE_TABS_REDUCER = 'LIVE_UPDATE_TABS_REDUCER';\nexport const INIT_TABS_REDUCER = 'INIT_TABS_REDUCER';\nexport const CHAINED_REDUCER = 'CHAINED_REDUCER';\nexport const CLOSE_ONE_DRILLDOWN_REDUCER = 'CLOSE_ONE_DRILLDOWN_REDUCER';\nexport const UPDATE_PRIMARY_TAB_REDUCER = 'UPDATE_PRIMARY_TAB_REDUCER';\n\n//ICONS\nexport const ICON_CHAT_FILL = 'chat-fill';\nexport const ICON_CHAT_OUTLINE = 'chat-outline';\nexport const ICON_PHONE_FILL = 'phone-fill';\nexport const ICON_PHONE_OUTLINE = 'phone-outline';\nexport const ICON_GROUP_FILL = 'group-fill';\nexport const ICON_GROUP_OUTLINE = 'group-outline';\nexport const ICON_LIST_OUTLINE = 'list-outline';\n\n// Special table handling\nexport const INTERACTION_TABLE = 'interaction';\n\n// Messages\nexport const TAB_DETAILS_TITLE = 'Details';\nexport const TAB_LOADING = 'Loading...';\n\n// min width for canvas tab to show visual indicators\nexport const MIN_WIDTH_TO_HIDE_VISUAL_INDICATOR = 144;\n\n// Other constants\nexport const DEFAULT_MULTI_INST_FIELD = 'sys_id';\n\nexport const SCREEN_STATUS_ACTION_CLOSED = 'closed';\nexport const SCREEN_STATUS_ACTION_INSERTED = 'inserted';\nexport const TOOLBAR_BUTTON_HEIGHT = 48; //pixels\nexport const TOOLBAR_BUTTON_WIDTH = 48; //pixels\nexport const TOOLBAR_BUTTON_IS_SELECTED_PROP = 'isSelected';\nexport const TOOLBAR_DEBOUNCE_RATE = 200;\nexport const TOOLBAR_RESIZED = 'TOOLBAR_RESIZED';\nexport const TOOLBAR_OVERFLOW_BUTTON_LABEL = t('Additional navigation options');\n\n// NOW Actions\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\nexport const CANVAS_NEW_TAB_MARK = 'CANVAS_NEW_TAB_MARK';\nexport const MARKS = {\n\tCLICK_L1_MENU: 'Click L1 Menu',\n\tCLOSE_TAB: 'Close Tab',\n\tCLICK_TAB_MENU_ITEM: 'Click Tab Menu Item',\n\tNEW_TAB: 'New Tab',\n\tEXCEED_MAX_TABS: 'Exceed Max Tabs',\n\tSELECT_TAB: 'Select Tab',\n};\nexport const ACTION_TYPES = {\n\tTOOLBAR_BUTTON_CLICKED: 'SN_CANVAS_TOOLBAR_BUTTON#CLICKED',\n\tTOOLBAR_ACTIVE_BUTTON_SET: 'SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_SET',\n\tTOOLBAR_ACTIVE_BUTTON_UPDATED: 'SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_UPDATED',\n\tTOOLBAR_OVERFLOW_MENU_FOCUS: 'SN_CANVAS_TOOLBAR#FOCUS_OVERFLOW_MENU',\n\tTOOLBAR_OVERFLOW_MENU_INDEX_CHANGED:\n\t\t'SN_CANVAS_TOOLBAR#FOCUS_OVERFLOW_MENU_INDEX_CHANGED',\n\tTOOLBAR_OVERFLOW_TAB_KEY_PRESSED: 'TOOLBAR_OVERFLOW_TAB_KEY_PRESSED',\n};\nexport const TABS_REARRANGED = 'SN_CANVAS_TABS#TABS_REARRANGED';\nexport const DND_OPERATION = Object.freeze({\n\tnone: 'none',\n\tdragStart: 'dragstart',\n\tdragOver: 'dragover',\n\tdragEnd: 'dragend',\n\tdrop: 'drop',\n\tkeyup: 'keyup',\n\tkeyDown: 'keydown',\n\tcompleted: 'completed',\n\twaitingForAnimationCompletion: 'waitingForAnimationCompletion',\n});\n\nexport const USER_META_KEYS = Object.freeze({\n\tSYS_ID: 'sys_id',\n\tFIRST_NAME: 'firstName',\n\tLAST_NAME: 'lastName',\n\tFULL_NAME: 'fullName',\n\tROLES: 'roles',\n\tAVATAR: 'avatar',\n\tINITIALS: 'initials',\n\tTIME_ZONE: 'timeZone',\n\tTIME_FORMAT: 'timeFormat',\n\tLANGUAGE: 'language',\n\tTIME_ZONE_OFFSET: 'timeZoneOffset',\n});\n\nexport const SN_CANVAS_SIDEPANEL_TOGGLE_OPENED =\n\t'SN_CANVAS_SIDEPANEL#TOGGLE_OPENED';\n\nexport const UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS =\n\t'UXR_INTERNAL#UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS';\n\nexport const MOUSE_LEAVE = 'mouseleave';\n","import { SN_CANVAS_SIDEPANEL_TOGGLE_OPENED } from '../../constants/constants';\n\nconst _handleClose = (state, dispatch) => {\n\tlet { beforeClose } = state.properties;\n\tif (beforeClose && typeof beforeClose === 'function') {\n\t\tlet callbackFn = new Promise((resolve) => {\n\t\t\treturn resolve(beforeClose());\n\t\t});\n\t\tcallbackFn.then((res) => {\n\t\t\tres\n\t\t\t\t? dispatch(SN_CANVAS_SIDEPANEL_TOGGLE_OPENED, {\n\t\t\t\t\t\topened: false,\n\t\t\t\t\t})\n\t\t\t\t: null;\n\t\t});\n\t} else {\n\t\tdispatch(SN_CANVAS_SIDEPANEL_TOGGLE_OPENED, { opened: false });\n\t}\n};\n\nexport { _handleClose };\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasSidepanelStyles from './_sn-canvas-sidepanel.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\nimport { _handleClose } from './utils';\nimport { POSITIONS } from './positions';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst SnCanvasSidepanel = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tbackdrop,\n\t\tposition,\n\t\tcontainerProps,\n\t\tcanClose,\n\t\theading,\n\t\tisTitleClickable,\n\t} = state.properties;\n\n\t// Flags to track dragging state\n\tlet mouseDownInside = false;\n\tlet isDragging = false;\n\n\t// Handler for mouse down inside panel\n\tconst onMouseDownPanel = () => {\n\t\tmouseDownInside = true;\n\t\tisDragging = false;\n\t};\n\n\t// Handler for mouse move inside panel\n\tconst onMouseMovePanel = () => {\n\t\tif (mouseDownInside) {\n\t\t\tisDragging = true;\n\t\t}\n\t};\n\n\t// Handler for mouse up on backdrop\n\tconst onMouseUpBackdrop = () => {\n\t\tsetTimeout(() => {\n\t\t\tmouseDownInside = false;\n\t\t\tisDragging = false;\n\t\t}, 0);\n\t};\n\n\t// Backdrop click handler to close panel conditionally\n\tconst onClickBackdrop = (evt) => {\n\t\tif (isDragging) {\n\t\t\tevt.stopPropagation();\n\t\t\treturn;\n\t\t}\n\t\t_handleClose(state, dispatch);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\trole=\"dialog\"\n\t\t\tclass={{ 'sn-canvas-sidepanel': true, '-backdrop': backdrop }}\n\t\t\thidden={!opened}\n\t\t\ton-click={onClickBackdrop}\n\t\t\ton-mouseup={onMouseUpBackdrop}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={\n\t\t\t\t\t'sn-canvas-sidepanel-overlay -' + position.toLowerCase()\n\t\t\t\t}\n\t\t\t\tstyle={containerProps}\n\t\t\t\ton-click={(evt) => evt.stopPropagation()}\n\t\t\t\ton-mousedown={onMouseDownPanel}\n\t\t\t\ton-mousemove={onMouseMovePanel}\n\t\t\t>\n\t\t\t\t<div className=\"sn-canvas-sidepanel-overlay-panel\">\n\t\t\t\t\t{heading ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"sn-canvas-sidepanel-op-header\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tcursor: isTitleClickable ? 'pointer' : 'auto',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (isTitleClickable)\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t'SN_CANVAS_SIDEPANEL#TITLE_CLICKED',\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"sn-canvas-sidepanel-oph-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\">\n\t\t\t\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\t\t\t\tlabel={heading}\n\t\t\t\t\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\t\t\t\t\t\thasNoMargin\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/slot>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t{canClose ? (\n\t\t\t\t\t\t\t\t<div className=\"sn-canvas-sidepanel-oph-icon\">\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\ticon-name=\"close-outline\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('Close'),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\t\t\t\t\t_handleClose(state, dispatch);\n\t\t\t\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * ## Overview\n * The sidepanel component is a panel overlaying the screen on the right side.\n * It is used to show more details about a specific object in context. A sidepanel is often triggered by clicking a button\n * or icon that dispatches the action to toggle the visibility.\n *\n * ## Use cases\n * - Showing a sidepanel menu for mobile responsiveness.\n * - Showing detailed information about a transaction (such as items in a cart).\n * - Showing a list of notifications in a notifications tray (sidepanel).\n *\n * Sidepanel aims at UI needs to display workspace notification tray, portal mobile menu panel, and it could also be used\n * for contextual overlay panel across the viewport sides.\n *\n * @seismicElement sn-canvas-panel\n * @summary A panel component to display workspace notifications, portal menus and other contextual overlay on the viewport\n */\ncreateCustomElement('sn-canvas-sidepanel', {\n\tproperties: {\n\t\t/**\n\t\t * Property opened sets the state of the panel\n\t\t * @type {boolean} set state on side panel\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Property backdrop sets the background opacity for the region outside the sidepanel\n\t\t * @type {boolean} set the backdrop to enable background opacity for the region outside the sidepanel\n\t\t */\n\t\tbackdrop: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Property position to set the position of the panel\n\t\t * @type {string} Position - Possible values - TOP,  LEFT, BOTTOM, RIGHT\n\t\t */\n\t\tposition: { default: POSITIONS.RIGHT, schema: { type: 'string' } },\n\t\t/**\n\t\t * Property to set the styles for the panel container\n\t\t * @type {object} Style for container element\n\t\t */\n\t\tcontainerProps: { default: {}, schema: { type: 'object' } },\n\t\t/**\n\t\t * Property sets the icon of the panel header.\n\t\t * @type {boolean} Icon in the header of the panel\n\t\t */\n\t\tcanClose: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Property sets the title of the panel content if title is not sent as slot.\n\t\t * @type {string} Title in the header of panel\n\t\t */\n\t\theading: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Property sets a callback function to handle before panel is closed.\n\t\t * @type {function} beforeClose A callback function called when user tries to close the panel\n\t\t */\n\t\tbeforeClose: { default: null },\n\t\t/**\n\t\t * If this property is true, header will be clickable.\n\t\t * @type {Boolean} True if header should be clickable\n\t\t */\n\t\tisTitleClickable: { default: false, schema: { type: 'boolean' } },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: SnCanvasSidepanel,\n\t},\n\tstyles: snCanvasSidepanelStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the side panel is opened/closed.\n\t\t * @type {{opened: false}}\n\t\t */\n\t\t'SN_CANVAS_SIDEPANEL#TOGGLE_OPENED': {},\n\t\t/**\n\t\t * Dispatched when the panel title is clicked.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_SIDEPANEL#TITLE_CLICKED': {},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Sidepanel title appears in this named slot. A title can be clickable, and\n\t\t * dispatches `SN_CANVAS_SIDEPANEL#TITLE_CLICKED` action when clicked.\n\t\t */\n\t\ttitle: {},\n\t\t/**\n\t\t * Content placed in this named slot that appears inside of the sidepanel. It takes care of enabling\n\t\t * the vertical scrollbar for large content.\n\t\t */\n\t\tcontent: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({ state, dispatch }) {\n\t\t\t\tconst { opened } = state.properties;\n\t\t\t\tif (opened) {\n\t\t\t\t\tdispatch('SN_CANVAS_SIDEPANEL#TOGGLE_OPENED', {\n\t\t\t\t\t\topened: true,\n\t\t\t\t\t});\n\t\t\t\t\t// To avoid parent scrollbar while the panel is shown.\n\t\t\t\t\t//  panel may have vertical scrollbar for overflowing content\n\t\t\t\t\tdocument.body.style.cssText = 'height:100vh !important';\n\t\t\t\t} else {\n\t\t\t\t\t//reset back the height to enable back the parent scrollbar\n\t\t\t\t\tdocument.body.style.cssText = 'height:auto !important';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: { trap: true },\n\t\t},\n\t],\n});\n","export const POSITIONS = {\n\tTOP: 'TOP',\n\tBOTTOM: 'BOTTOM',\n\tLEFT: 'LEFT',\n\tRIGHT: 'RIGHT'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_HIDE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t\t} else if ('TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.TOOLTIP_HIDE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t}, [\"TOOLTIP_SHOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t\t} else if ('TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.TOOLTIP_SHOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","const LEFT = 'left';\nconst BOTTOM = 'bottom';\nconst TOP = 'top';\nconst RIGHT = 'right';\nconst AUTO = 'auto';\n\nconst valToPx = (val) => `${val}px`;\n\nexport function getCenterPositioning(\n\ttarget,\n\ttooltip,\n\toffset = 5,\n\tplacement = BOTTOM,\n) {\n\tif (!target || !tooltip) return;\n\n\tconst targetRect = target.getBoundingClientRect();\n\tconst tooltipRect = tooltip.getBoundingClientRect();\n\n\tlet horizontalCenterOffset = (targetRect.width - tooltipRect.width) / 2;\n\tlet verticalCenterOffset = (targetRect.height - tooltipRect.height) / 2;\n\tlet targetLeft = targetRect.left;\n\tlet targetTop = targetRect.top;\n\tconst OFFSET = offset;\n\n\tlet tooltipLeft, tooltipTop;\n\n\tswitch (placement || TOP) {\n\t\tcase TOP:\n\t\t\ttooltipLeft = valToPx(targetLeft + horizontalCenterOffset);\n\t\t\ttooltipTop = valToPx(targetTop - tooltipRect.height - OFFSET);\n\t\t\tbreak;\n\t\tcase BOTTOM:\n\t\t\ttooltipTop = valToPx(targetRect.bottom + OFFSET);\n\t\t\ttooltipLeft = valToPx(targetLeft + horizontalCenterOffset);\n\t\t\tbreak;\n\t\tcase RIGHT:\n\t\t\ttooltipLeft = valToPx(targetLeft + targetRect.width + OFFSET);\n\t\t\ttooltipTop = valToPx(targetTop + verticalCenterOffset);\n\t\t\tbreak;\n\t\tcase LEFT:\n\t\t\ttooltipLeft = valToPx(targetLeft - tooltipRect.width - OFFSET);\n\t\t\ttooltipTop = valToPx(targetTop + verticalCenterOffset);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tlet top = tooltipTop;\n\tlet left = tooltipLeft;\n\tlet right = AUTO;\n\tlet bottom;\n\n\t//reposition tooltip if it doesn't fit in the viewport.\n\t//this reposition does not work for all cases right now. It will only check for the opposite case to be true.\n\tif (placement === TOP && targetRect.top <= tooltipRect.height + OFFSET) {\n\t\ttop = valToPx(targetRect.bottom + OFFSET);\n\t\tbottom = AUTO;\n\t}\n\n\tif (\n\t\tplacement === BOTTOM &&\n\t\twindow.innerHeight - targetRect.bottom <= tooltipRect.height + OFFSET\n\t) {\n\t\ttop = valToPx(targetTop - tooltipRect.height - OFFSET);\n\t\tbottom = AUTO;\n\t}\n\n\tif (placement === LEFT && targetRect.left <= tooltipRect.width + OFFSET) {\n\t\tleft = valToPx(targetLeft + targetRect.width + OFFSET);\n\t\tright = AUTO;\n\t}\n\n\tif (\n\t\tplacement === RIGHT &&\n\t\ttargetRect.right - window.innerWidth <= tooltipRect.width + OFFSET\n\t) {\n\t\tleft = valToPx(targetLeft - tooltipRect.width - OFFSET);\n\t\tright = AUTO;\n\t}\n\n\treturn {\n\t\ttop,\n\t\tleft,\n\t\tright,\n\t\tbottom,\n\t};\n}\n\n/**\n * Takes raw secondary content data and transforms it into a format suitable for rendering in 'now-label-value-tabbed' component.\n * @param {Object} secondaryContent\n * @returns {Array} Transformed secondary content as an array of objects with 'label' and 'value' properties.\n */\nexport function transformSecondaryContent(secondaryContent) {\n\tif (!Array.isArray(secondaryContent)) {\n\t\treturn [];\n\t}\n\treturn secondaryContent.map(({ fieldLabel, displayValue }) => ({\n\t\tlabel: fieldLabel,\n\t\tvalue: displayValue,\n\t}));\n}\n\nexport function buildTabDescription(primaryTitle, secondaryContent, segments) {\n\tconst parts = [\n\t\tprimaryTitle,\n\t\t...(secondaryContent?.length > 0\n\t\t\t? secondaryContent.map((i) => `${i.label}: ${i.value}`)\n\t\t\t: []),\n\t\t...(segments?.flatMap(\n\t\t\t(seg) =>\n\t\t\t\tseg.blocks?.map((b) =>\n\t\t\t\t\tb.type === 'text'\n\t\t\t\t\t\t? b.displayValue\n\t\t\t\t\t\t: `${b.fieldLabel}: ${b.displayValue}`,\n\t\t\t\t) ?? [],\n\t\t) ?? []),\n\t].filter(Boolean);\n\n\treturn parts.length > 0 ? parts.join('. ') : null;\n}\n","'use strict';\nimport {\n\tCLOSE_TAB_MENU_ITEM,\n\tCLOSE_OTHER_TABS_MENU_ITEM,\n\tCLOSE_ALL_TABS_MENU_ITEM\n} from '../../../../constants/constants';\n\nexport function getOverflowDisabled(tabList) {\n\tconst { length } = tabList;\n\treturn length == 0 || (length === 1 && !tabList[0].canClose);\n}\n\nexport const tooltipPositions = [['bottom-center top-center',\n\t'top-center bottom-center',\n\t'center-end center-start',\n\t'center-start center-end',\n\t'top-end top-start',\n\t'bottom-end bottom-start',\n\t'top-start top-end',\n\t'bottom-start bottom-end']];\n\nexport function transformCloseMenuItems(closeMenu, tabList, selectedTabId) {\n\tconst activeTab = tabList.find((t) => t.tab_id === selectedTabId) || {};\n\tconst length = tabList.length;\n\tlet isPivotActive = !!(activeTab && !activeTab.canClose);\n\tlet isDetailsTabTheOnlyOtherTab =\n\t\tlength === 2 && activeTab && activeTab.canClose && !tabList[0].canClose; // the only other tab is the details tab\n\treturn closeMenu.items.map((it) => {\n\t\tlet disabled = false;\n\t\tswitch (it.name) {\n\t\t\tcase CLOSE_TAB_MENU_ITEM:\n\t\t\t\tdisabled = length === 0 || !activeTab || isPivotActive;\n\t\t\t\tbreak;\n\t\t\tcase CLOSE_OTHER_TABS_MENU_ITEM:\n\t\t\t\tdisabled = length <= 1 || !activeTab || isDetailsTabTheOnlyOtherTab;\n\t\t\t\tbreak;\n\t\t\tcase CLOSE_ALL_TABS_MENU_ITEM:\n\t\t\t\tdisabled = length <= 1;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn { ...it, itemType: 'menu', disabled };\n\t});\n}\n\nexport function buildOverflowStyle(\n\ttype,\n\toverflowDisabled,\n\tbadgeCount,\n\thasOverflowUpdate\n) {\n\tlet overflowClassNames = 'sn-chrome-tabs-btn -overflow';\n\n\tif (overflowDisabled) overflowClassNames += ' is-disabled';\n\telse {\n\t\toverflowClassNames += type === 'default' ? ' -default' : ' -close';\n\n\t\tif (badgeCount > 0)\n\t\t\toverflowClassNames +=\n\t\t\t\t' has-badge ' + (hasOverflowUpdate ? 'is-updated' : 'is-activated');\n\t}\n\n\treturn overflowClassNames;\n}\n\nexport function buildVisibleAndOverflowList(\n\ttabList,\n\ttotalWidth,\n\tselectedTabId\n) {\n\ttotalWidth -= 20; // this gives us a little extra room in our calculations\n\tlet visibleList = [];\n\tif (tabList.length === 0) return visibleList;\n\n\tlet length = tabList.length;\n\n\tconst selectedTabIdx = tabList.findIndex((t) => t.tab_id == selectedTabId);\n\tconst selectedTab = tabList[selectedTabIdx];\n\tconst isSelectedPrimaryTab = selectedTab.isPrimaryTab;\n\n\t/* note that the code below is filled with magic numbers.\n\t * These were carried forward from legacy workspace tab code, and are not configurable.\n\t * The value 280 was added to handle the case when the L1 tab is at its max width,\n\t * as is the case when inbox is selected.  It was selected because empirically it works well,\n\t * not from any specific math for handling the totalWidth space.\n\t * This logic relies on tabList[0].size being set in this case, an not in any other case, which is fragile.\n\t */\n\tconst gap = 4, // right margin space among tabs\n\t\tminTabWidth = 88,\n\t\tmaxTabWidth = 180,\n\t\tmaxTabWidthL1Item = tabList[0].size ? 280 : 240,\n\t\tminTabWidthL1Item = 110;\n\n\tconst standardTabSpace = maxTabWidth + gap,\n\t\tL1ItemTabSpace = maxTabWidthL1Item + gap,\n\t\tminTabSpace = minTabWidth + gap,\n\t\t// mustHaveSpace = L1ItemTabSpace + standardTabSpace,    // no longer used\n\t\tuncompressedTabSpace = standardTabSpace * (length - 1) + L1ItemTabSpace;\n\n\tlet tabWidth = maxTabWidth,\n\t\toverflowList = [];\n\tvisibleList = tabList;\n\n\tlet count;\n\t// We don't have enough room and must compress tab width\n\tif (uncompressedTabSpace > totalWidth) {\n\t\t// Without shrinking the module tab or the active tab (if present), figure out how much space for each of\n\t\t// the remaining tabs\n\t\tlet newTabSpace = isSelectedPrimaryTab\n\t\t\t? (totalWidth - L1ItemTabSpace) / (length - 1)\n\t\t\t: (totalWidth - (L1ItemTabSpace + standardTabSpace)) / (length - 2);\n\n\t\tnewTabSpace = Math.floor(newTabSpace); // newTabSpace is an int, so round up\n\t\t// Ensure this isn't lower than our minimum\n\t\tnewTabSpace = Math.max(minTabSpace, newTabSpace);\n\n\t\t// Figure out how many tabs we can fit in the available area using this width\n\t\tcount = isSelectedPrimaryTab\n\t\t\t? Math.floor((totalWidth - L1ItemTabSpace) / newTabSpace) + 1\n\t\t\t: Math.floor(\n\t\t\t\t\t(totalWidth - (L1ItemTabSpace + standardTabSpace)) / newTabSpace\n\t\t\t  ) + 2;\n\n\t\ttabWidth = newTabSpace - gap;\n\t}\n\n\t// Calculate the space required for all tabs at the current width\n\tconst spaceRequired = isSelectedPrimaryTab\n\t\t? L1ItemTabSpace + (tabWidth + gap) * (length - 1)\n\t\t: L1ItemTabSpace + standardTabSpace + (tabWidth + gap) * (length - 2);\n\n\t// We don't have enough space for all of the tabs and need to collapse some\n\tif (spaceRequired > totalWidth) {\n\t\tlet newTabList = tabList.slice(0);\n\n\t\tlet lastVisibleIdx = count - 1;\n\t\tif(count >= -1 && count <= 0){\n\t\t\tlastVisibleIdx = 0;\n\t\t}\n\t\telse if(count < -1){\n\t\t\tlastVisibleIdx = -1;\n\t\t}\n\n\t\t// If the selected tab is further to the right of the last tab we have room for, move it to the last visible position\n\t\tif (selectedTabIdx > lastVisibleIdx) {\n\t\t\tnewTabList.splice(selectedTabIdx, 1); // delete the activeTab from newTabList\n\t\t\tnewTabList.splice(lastVisibleIdx, 0, selectedTab); // insert activeTab at lastVisibleIdx\n\t\t}\n\n\t\tvisibleList = newTabList.slice(0, lastVisibleIdx + 1);\n\t\toverflowList = newTabList\n\t\t\t.slice(lastVisibleIdx + 1)\n\t\t\t.map((it, i) => ({ ...it, itemType: 'tab', itemOrder: i }));\n\t}\n\n\tvisibleList = visibleList.map((t, i) => {\n\t\tconst style = getTabStyle(t);\n\t\treturn { ...t, style, tabOrder: i };\n\t});\n\n\tfunction getTabStyle(t) {\n\t\tif (t.isDetailsTab) return { width: `${maxTabWidth}px` };\n\n\t\tif (t.isPrimaryTab)\n\t\t\treturn {\n\t\t\t\tminWidth: `${minTabWidthL1Item}px`,\n\t\t\t\tmaxWidth: `${maxTabWidthL1Item}px`\n\t\t\t};\n\n\t\tif (t.tab_id === selectedTabId) return { width: `${maxTabWidth}px` };\n\n\t\treturn { width: `${tabWidth}px` };\n\t}\n\n\treturn { visibleList: visibleList, overflowList };\n}\n\nconst _getChildElement = (parent, childTag) => {\n\tif (!parent || parent.childElementCount === 0) return undefined;\n\n\treturn Array.from(parent.children).find((e) => e && e.tagName === childTag);\n};\n\nexport const insertTooltipEl = (node, content, predicate = () => true) => {\n\tif (!node || !content) return;\n\n\tif (predicate.call(null) === false) return;\n\n\tconst nowTooltip = document.createElement('now-tooltip');\n\tnowTooltip.targetRef = node;\n\tnowTooltip.content = content;\n\tnowTooltip.position = [\n\t\t'bottom-center top-center',\n\t\t'top-center bottom-center',\n\t\t'center-end center-start',\n\t\t'center-start center-end',\n\t\t'top-end top-start',\n\t\t'bottom-end bottom-start',\n\t\t'top-start top-end',\n\t\t'bottom-start bottom-end'\n\t];\n\n\tconst toolTip = _getChildElement(node, 'NOW-TOOLTIP');\n\tif (toolTip) return;\n\n\tnode.appendChild(nowTooltip);\n};\n\nexport const removeTooltipEl = (node) => {\n\tif (!node) return;\n\tconst isHtmlElm = node instanceof HTMLElement;\n\tif (!isHtmlElm) return;\n\n\tlet nowTooltip = _getChildElement(node, 'NOW-TOOLTIP');\n\tif (!nowTooltip) return;\n\n\tnode.removeChild(nowTooltip);\n};\n","export const isRtl = (dir) => dir === 'rtl';\n\nexport const handleRtlFn = (ltrDir, rtlDir, dir) => {\n\tif (!isRtl(dir)) {\n\t\treturn ltrDir;\n\t} else {\n\t\treturn rtlDir;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import { isRtl } from '../../../../utils/rtl';\nimport {\n\tTABS_REARRANGED,\n\tDND_OPERATION,\n} from '../../../../constants/constants';\nimport { t } from 'sn-translate';\nimport track from '@devsnc/ux-metrics';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { ARIA_LIVE_REGION_UPDATE_REQUESTED } = actionTypes;\n/**\n * @typedef {{id: string, left: number, right: number}} TabInfo\n * @typedef {{canClose: boolean,\n * \t\t\t\tisPrimaryTab: boolean,\n * \t\t\t\ttabList: Array<string>,\n * \t\t\t\tparentTabId: string,\n * \t\t\t\ttab_id: string,\n * \t\t\t\ttitle: string,\n * \t\t\t\ttabList: Array<string>}} TabData\n * @typedef {{\n * posInfo: Array<TabInfo>,\n * targetIndex: number\n * parentRect: {left: number, right: number},\n * startIndex: number,\n * parentElement: HTMLUListElement,\n * prevPositions: Map<string, number>,\n * isRTL: boolean,\n * hostId: string,\n * tabId: string,\n * parentTabId: string,\n * tabList: Array<string>,\n * movingStartTabIndex: number,\n * status: string,\n * dropTime: number,\n * keyDownCounter: number\n * }} TabDragState\n **/\n\nconst dropEffect = 'move';\nconst Keys = Object.freeze({\n\tArrowLeft: 'ArrowLeft',\n\tArrowRight: 'ArrowRight',\n});\n/**\n * @param {HTMLAnchorElement} dragElm\n */\nexport function getDragStateFromElement(coeffects, dragElm) {\n\t/**\n\t * @type {{event: DragEvent | KeyboardEvent}}\n\t */\n\tconst {\n\t\thost,\n\t\tproperties: props,\n\t\taction: {\n\t\t\tpayload: { event: e },\n\t\t},\n\t} = coeffects;\n\tconst hostId = host.getAttribute('now-id');\n\t/**\n\t * @type {{tabsData: Record<string, TabData>}}\n\t */\n\tconst { tabsData } = props;\n\tconst tabId = dragElm.id;\n\tconst parentTabId = tabsData[tabId].parentTabId;\n\tconst tabList = tabsData[parentTabId].tabList;\n\tlet movingStartTabIndex = tabList.findIndex((tabId) => {\n\t\tconst tabData = tabsData[tabId];\n\t\treturn tabData.canClose || tabData.isPrimaryTab === false;\n\t});\n\t/**\n\t * @type {HTMLUListElement}\n\t */\n\tconst parentElement = dragElm.parentElement.parentElement;\n\n\t/**\n\t * @type {TabDragState}\n\t */\n\tconst dragState = {\n\t\tisRTL: isRtl(props.dir),\n\t\tposInfo: [],\n\t\ttargetIndex: -1,\n\t\tparentRect: { left: 0, right: 0 },\n\t\tparentElement,\n\t\tstartIndex: 0,\n\t\tprevPositions: new Map(),\n\t\thostId,\n\t\ttabId,\n\t\tparentTabId,\n\t\ttabList,\n\t\tmovingStartTabIndex,\n\t\tstatus:\n\t\t\te instanceof DragEvent\n\t\t\t\t? DND_OPERATION.dragStart\n\t\t\t\t: DND_OPERATION.keyDown,\n\t\tdropTime: 0,\n\t\tkeyDownCounter: 1,\n\t};\n\tconst parentLi = dragElm.parentElement;\n\tconst parentRect = parentElement.getBoundingClientRect();\n\tdragState.parentRect = parentRect.toJSON();\n\tlet posX = 0;\n\tconst posInfo = Array.from(parentElement.children).map((item, index) => {\n\t\tdragState.prevPositions.set(item.id, 0);\n\t\tconst boundingRect = item.getBoundingClientRect();\n\t\t/**\n\t\t * @type {TabInfo}\n\t\t */\n\t\tconst itemInfo = {\n\t\t\tid: item.id,\n\t\t\tleft: posX,\n\t\t\tright: 0,\n\t\t};\n\t\tposX += Math.abs(boundingRect.right - boundingRect.left);\n\t\titemInfo.right = posX;\n\t\tif (parentLi === item)\n\t\t\tdragState.startIndex = dragState.targetIndex = index;\n\t\treturn itemInfo;\n\t});\n\tdragState.posInfo = posInfo;\n\treturn dragState;\n}\nexport function handleDragStart(coeffects) {\n\tconst { action, updateState } = coeffects;\n\t/**\n\t * @type {{event: DragEvent}}\n\t */\n\tconst { event } = action.payload;\n\tif (!event.composed) return;\n\t/**\n\t * @type {Array<Element>}\n\t */\n\tconst nodes = event.composedPath();\n\t/**\n\t * @type {HTMLAnchorElement}\n\t */\n\tconst dragElm = nodes.find((node) => {\n\t\treturn (\n\t\t\tnode instanceof HTMLAnchorElement &&\n\t\t\tnode.classList.contains('sn-chrome-one-tab')\n\t\t);\n\t});\n\tif (!dragElm || dragElm.getAttribute('draggable') === 'false') return;\n\tconst dndState = getDragStateFromElement(coeffects, dragElm);\n\tupdateState({ dndState });\n\tevent.dataTransfer.effectAllowed = 'move';\n\tevent.dataTransfer.dropEffect = dropEffect;\n}\n/**\n *\n * @param {number} posX\n * @returns {Array<Keyframe>}\n */\nexport function getKeyframes(posX) {\n\treturn [{ composite: 'replace', transform: `translateX(${posX}px)` }];\n}\n/**\n *\n * @param {TabDragState} dndState\n * @param {number} prevIndex\n * @param {number} newTargetIndex\n * @returns\n */\nexport function slidItems(dndState, newTargetIndex) {\n\tconst {\n\t\tisRTL,\n\t\tparentElement,\n\t\tposInfo,\n\t\tstartIndex,\n\t\tprevPositions: prevStatus,\n\t\ttargetIndex: prevTargetIndex,\n\t} = dndState;\n\tif (prevTargetIndex === newTargetIndex) return;\n\tconst prevPosInfo = { ...posInfo[prevTargetIndex] };\n\tif (prevTargetIndex < newTargetIndex) {\n\t\tposInfo.splice(newTargetIndex + 1, 0, { ...prevPosInfo });\n\t\tposInfo.splice(prevTargetIndex, 1);\n\t} else {\n\t\tposInfo.splice(prevTargetIndex, 1);\n\t\tposInfo.splice(newTargetIndex, 0, { ...prevPosInfo });\n\t}\n\tposInfo[newTargetIndex] = prevPosInfo;\n\tlet posX = 0;\n\t/**\n\t * @type {Map<string, TabInfo>}\n\t */\n\tlet currentPosInfoMap = new Map();\n\tposInfo.forEach((item) => {\n\t\tconst itemWidth = item.right - item.left;\n\t\titem.left = posX;\n\t\tposX += itemWidth;\n\t\titem.right = posX;\n\t\tcurrentPosInfoMap.set(item.id, item);\n\t});\n\tdndState.targetIndex = newTargetIndex;\n\tconst { targetIndex } = dndState;\n\tconst draggingItemWidth =\n\t\tposInfo[targetIndex].right - posInfo[targetIndex].left;\n\n\tlet draggingItemOffsetX = 0;\n\n\tconst keyframeOptions = {\n\t\tduration: 100,\n\t\tfill: 'both',\n\t};\n\tlet directionMultiplier = targetIndex - startIndex > 0 ? -1 : 1;\n\tif (isRTL) directionMultiplier = directionMultiplier * -1;\n\tconst offsetToBeShifted = draggingItemWidth * directionMultiplier;\n\t/**\n\t * @param {TabInfo} tabInfo\n\t * @param {HTMLElement} elm\n\t * @param {number} offset\n\t */\n\tasync function applyAnimation(tabInfo, elm, offset) {\n\t\tif (prevStatus.get(tabInfo.id) === offset) return;\n\t\tprevStatus.set(tabInfo.id, offset);\n\t\ttry {\n\t\t\tconst animation = elm.animate(getKeyframes(offset), keyframeOptions);\n\t\t\tawait animation.finished;\n\t\t\telm.style.transform = `translateX(${offset}px)`;\n\t\t\tanimation.cancel();\n\t\t} catch (error) {\n\t\t\tconsole.error('error occured while applying animation', error);\n\t\t}\n\t}\n\tfor (let i = 0; i < parentElement.children.length; i++) {\n\t\tif (i === startIndex) continue;\n\t\t/**\n\t\t * @type {HTMLLIElement}\n\t\t */\n\t\tconst li = parentElement.children[i];\n\t\tconst id = li.id;\n\t\tconst currentTabInfo = currentPosInfoMap.get(id);\n\t\tlet itemWidth = 0;\n\t\tif (currentTabInfo)\n\t\t\titemWidth = Math.abs(currentTabInfo.right - currentTabInfo.left);\n\t\tif (targetIndex === startIndex) {\n\t\t\tapplyAnimation(currentTabInfo, li, 0);\n\t\t} else {\n\t\t\tif (\n\t\t\t\t(i >= targetIndex && i <= startIndex) ||\n\t\t\t\t(i >= startIndex && i <= targetIndex)\n\t\t\t) {\n\t\t\t\tdraggingItemOffsetX += itemWidth;\n\t\t\t\tapplyAnimation(currentTabInfo, li, offsetToBeShifted);\n\t\t\t} else applyAnimation(currentTabInfo, li, 0);\n\t\t}\n\t}\n\tapplyAnimation(\n\t\tposInfo[newTargetIndex],\n\t\tparentElement.children[startIndex],\n\t\tdraggingItemOffsetX * directionMultiplier * -1,\n\t);\n}\n/**\n *\n * @param {TabDragState} dragState\n * @param {DragEvent} e\n * @param {Function} updateState\n */\nexport function handleDragOver(coeffects) {\n\t/**\n\t * @type {{updateState: Function, host, state, action: {payload: {event: DragEvent}}}}\n\t */\n\tconst { host, state, action, updateState } = coeffects;\n\tconst e = action.payload.event;\n\t/**\n\t * @type {TabDragState}\n\t */\n\tconst dndState = state.dndState;\n\tif (!dndState) return;\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst paths = e.composedPath();\n\tconst hostIndex = paths.findIndex((item) => item === host);\n\te.preventDefault();\n\tconst {\n\t\tisRTL,\n\t\tmovingStartTabIndex,\n\t\tposInfo,\n\t\ttargetIndex: prevTargetIndex,\n\t} = dndState;\n\tlet minimumLeft = 0;\n\tif (movingStartTabIndex === -1) minimumLeft = 0;\n\telse if (movingStartTabIndex === 0) minimumLeft = posInfo[1].left;\n\telse minimumLeft = posInfo[movingStartTabIndex].left;\n\tlet offsetX = e.clientX - dndState.parentRect.left;\n\tif (isRTL)\n\t\toffsetX =\n\t\t\tdndState.parentRect.right - dndState.parentRect.left - offsetX;\n\tconst prevItemInfo = { ...dndState.posInfo[dndState.targetIndex] };\n\tif (offsetX >= prevItemInfo.left && offsetX <= prevItemInfo.right) return;\n\tlet newTargetIndex = -1;\n\tif (offsetX >= posInfo[posInfo.length - 1].right)\n\t\tnewTargetIndex = posInfo.length - 1;\n\telse if (offsetX <= minimumLeft) newTargetIndex = movingStartTabIndex;\n\telse {\n\t\tnewTargetIndex = posInfo.findIndex((item, index) => {\n\t\t\tconst { left, right } = item;\n\t\t\tconst width = Math.abs(right - left);\n\t\t\tif (offsetX >= left && offsetX <= right) {\n\t\t\t\tif (\n\t\t\t\t\tprevTargetIndex + 1 === index &&\n\t\t\t\t\t(offsetX >= left && offsetX <= left + width / 2)\n\t\t\t\t)\n\t\t\t\t\treturn false;\n\t\t\t\tif (\n\t\t\t\t\tprevTargetIndex - 1 === index &&\n\t\t\t\t\t(offsetX >= left + width / 2 && offsetX <= right)\n\t\t\t\t)\n\t\t\t\t\treturn false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tif (newTargetIndex === -1) return;\n\t\tslidItems(dndState, newTargetIndex);\n\t\tif (dndState.status !== DND_OPERATION.dragOver)\n\t\t\tupdateState({\n\t\t\t\tdndState: { ...dndState, status: DND_OPERATION.dragOver },\n\t\t\t});\n\t}\n\tif (hostIndex === -1 || offsetX <= minimumLeft) {\n\t\te.dataTransfer.dropEffect = 'none';\n\t\tdocument.body.style.cursor = 'no-drop';\n\t} else {\n\t\te.dataTransfer.dropEffect = dropEffect;\n\t\tdocument.body.style.cursor = 'default';\n\t}\n}\n\nexport async function handleDrop(coeffects) {\n\t/**\n\t * @type {{host: HTMLElement, updateState: Function, action: { payload: {event: DragEvent}}}}\n\t */\n\tconst {\n\t\tupdateState,\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\thost,\n\t\tproperties,\n\t} = coeffects;\n\t/**\n\t * @type {{event: DragEvent}}\n\t */\n\tconst { event } = action.payload;\n\tif (event instanceof DragEvent) event.dataTransfer.dropEffect = 'none';\n\tif (!state.dndState) return;\n\tevent.preventDefault();\n\tdocument.body.style.cursor = 'default';\n\tconst paths = event.composedPath();\n\t/**\n\t * @type {{dndState: TabDragState}}\n\t */\n\tconst { dndState } = state;\n\tconst index = paths.findIndex((elm) => elm === host);\n\n\tconst {\n\t\tparentElement,\n\t\tparentTabId,\n\t\ttabId,\n\t\tstartIndex,\n\t\ttargetIndex,\n\t\ttabList,\n\t} = dndState;\n\tlet runningAnimations = [];\n\tArray.from(parentElement.children).forEach((elm) => {\n\t\trunningAnimations.push(\n\t\t\telm.getAnimations().map((item) => item.finished),\n\t\t);\n\t});\n\n\tfunction triggerEvent() {\n\t\tif ((event.type === 'drop' || event.type === 'keyup') && index >= 0) {\n\t\t\tif (startIndex !== targetIndex) {\n\t\t\t\tlet newTabList = [...tabList];\n\t\t\t\tconst startTab = newTabList[startIndex];\n\t\t\t\tif (startIndex < targetIndex) {\n\t\t\t\t\tnewTabList.splice(targetIndex + 1, 0, startTab);\n\t\t\t\t\tnewTabList.splice(startIndex, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnewTabList.splice(startIndex, 1);\n\t\t\t\t\tnewTabList.splice(targetIndex, 0, startTab);\n\t\t\t\t}\n\t\t\t\ttrack(coeffects, 'Reorder Tabs', {\n\t\t\t\t\tname: properties.tabsData[dndState.tabId].title,\n\t\t\t\t\tcount: dndState.posInfo.length,\n\t\t\t\t\tpreviousPosition: startIndex,\n\t\t\t\t\tnewPosition: targetIndex,\n\t\t\t\t\tactionType:\n\t\t\t\t\t\tevent instanceof KeyboardEvent ? 'keyboard' : 'mouse',\n\t\t\t\t\ttabsLevel: properties.tabsLevel,\n\t\t\t\t});\n\t\t\t\tdispatch(TABS_REARRANGED, { tabId, parentTabId, newTabList });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tdndState: { ...dndState, status: DND_OPERATION.completed },\n\t\t\tdropTime: Date.now(),\n\t\t});\n\t}\n\tlet isResolved = false;\n\tsetTimeout(() => {\n\t\tif (isResolved) return;\n\t\ttriggerEvent();\n\t}, 150);\n\tif (runningAnimations.length > 0) await Promise.all(runningAnimations);\n\tif (isResolved) return;\n\tisResolved = true;\n\ttriggerEvent();\n}\nexport function handleDragEffect(coeffects) {\n\t/**\n\t * @type {{state: {dndState: TabDragState}, action: {payload: {event: DragEvent}}}}\n\t */\n\tconst {\n\t\tstate: { dndState },\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t} = coeffects;\n\tif (!dndState) return;\n\tevent.preventDefault();\n\tif (event.type === 'dragenter') {\n\t\tevent.dataTransfer.dropEffect = dropEffect;\n\t\tdocument.body.style.cursor = 'default';\n\t} else {\n\t\tdocument.body.style.cursor = 'no-drop';\n\t\tevent.dataTransfer.dropEffect = 'none';\n\t}\n}\n\nexport function handleKeyboardInput(coeffects) {\n\t/**\n\t * @type {{host: HTMLElement, dispatch: Function, state: {dndState: TabDragState}, updateState: Function, action: {payload: {event: KeyboardEvent}}}}\n\t */\n\tlet {\n\t\tstate,\n\t\tproperties: props,\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { event: e },\n\t\t},\n\t\thost,\n\t\tdispatch,\n\t} = coeffects;\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst paths = e.composedPath();\n\tlet dndState = state.dndState;\n\tconst anchor = paths.find(\n\t\t(item) =>\n\t\t\titem instanceof HTMLAnchorElement &&\n\t\t\titem.getAttribute('draggable') === 'true',\n\t);\n\tif (!anchor) return;\n\tconst isTabMoveKey =\n\t\te.ctrlKey &&\n\t\te.shiftKey &&\n\t\t(e.key === Keys.ArrowRight || e.key === Keys.ArrowLeft);\n\tif (isTabMoveKey) {\n\t\te.stopImmediatePropagation();\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t}\n\t/**\n\t *\n\t * @param {TabDragState} dndState\n\t * @returns\n\t */\n\tfunction doKeyboardAction(dndState) {\n\t\tlet targetIndex = dndState.targetIndex;\n\t\tif (e.key === Keys.ArrowRight) targetIndex++;\n\t\telse if (e.key === Keys.ArrowLeft) targetIndex--;\n\t\telse return;\n\t\tif (\n\t\t\ttargetIndex >= dndState.posInfo.length ||\n\t\t\ttargetIndex < dndState.movingStartTabIndex\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\t// text to send to the aria-live region to let screen readers know there was a content change\n\t\tlet message = '';\n\t\t/**\n\t\t * @type {TabData}\n\t\t */\n\t\tconst tabData = props.tabsData[dndState.tabId];\n\n\t\tif (dndState.startIndex === targetIndex) {\n\t\t\tmessage = t(\n\t\t\t\t`Tab {0} is moved back to it's original position`,\n\t\t\t\ttabData.title,\n\t\t\t);\n\t\t} else {\n\t\t\tmessage = t(\n\t\t\t\t`Tab {0} position changed from {1} of {2} to {3} of {4}`,\n\t\t\t\ttabData.title,\n\t\t\t\tdndState.startIndex,\n\t\t\t\tdndState.posInfo.length,\n\t\t\t\ttargetIndex,\n\t\t\t\tdndState.posInfo.length,\n\t\t\t);\n\t\t}\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'polite',\n\t\t});\n\t\tslidItems(dndState, targetIndex);\n\t\tdndState = {\n\t\t\t...dndState,\n\t\t\tstatus: DND_OPERATION.keyDown,\n\t\t\tkeyDownCounter:\n\t\t\t\te.type === 'keydown' ? ++dndState.keyDownCounter : 0,\n\t\t};\n\t\tupdateState({ dndState });\n\t}\n\n\tif (isTabMoveKey) {\n\t\tif (e.type === 'keydown') {\n\t\t\tif (dndState) {\n\t\t\t\tif (\n\t\t\t\t\tdndState.status ===\n\t\t\t\t\t\tDND_OPERATION.waitingForAnimationCompletion ||\n\t\t\t\t\tdndState.status === DND_OPERATION.completed\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t\tif (dndState.keyDownCounter >= 1) doKeyboardAction(dndState);\n\t\t\t\telse\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tdndState: { ...dndState, keyDownCounter: 1 },\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdndState = getDragStateFromElement(coeffects, anchor);\n\t\t\tupdateState({ dndState });\n\t\t} else if (dndState && dndState.keyDownCounter <= 1)\n\t\t\tdoKeyboardAction(dndState);\n\t} else if (dndState) {\n\t\tupdateState({\n\t\t\tdndState: {\n\t\t\t\t...dndState,\n\t\t\t\tstatus: DND_OPERATION.waitingForAnimationCompletion,\n\t\t\t},\n\t\t});\n\t\thandleDrop(coeffects);\n\t}\n}\n","import { isEmpty } from 'lodash';\nimport {\n\tDND_OPERATION,\n\tMIN_WIDTH_TO_HIDE_VISUAL_INDICATOR,\n\tTAB_NEW_MESSAGE,\n\tTAB_NEW_MESSAGES,\n} from '../../../../constants/constants';\n\nconst _buildClassName = (\n\tisSelected,\n\ttype,\n\tdisabled,\n\thasUpdate,\n\tcolor,\n\tisWider,\n\tisPrimaryTab = false,\n\ttabList,\n\tisCurrentlyDragging = false,\n\tdraggingTabId = '',\n\tdndStatus = DND_OPERATION.completed,\n\tcanClose = false,\n) => {\n\ttype = type === 'primary' ? 'meta' : type;\n\tlet tmpClassList = ['sn-chrome-one-tab', `-${type}`];\n\tif (isSelected) tmpClassList.push('is-selected');\n\tif (disabled) tmpClassList.push('is-disabled');\n\tif (hasUpdate) tmpClassList.push('is-updated');\n\telse if (color) tmpClassList.push(`is-${color}`);\n\tif (isWider) tmpClassList.push('is-wider');\n\tif (isPrimaryTab) tmpClassList.push('is-primary');\n\tif (tabList.length > 1 && isSelected) tmpClassList.push('has-children');\n\tif (\n\t\tdndStatus !== DND_OPERATION.completed &&\n\t\tdndStatus !== DND_OPERATION.waitingForAnimationCompletion\n\t) {\n\t\tif (isCurrentlyDragging && dndStatus !== DND_OPERATION.keyDown)\n\t\t\ttmpClassList.push('hide');\n\t\tif (draggingTabId.length > 0 && dndStatus !== DND_OPERATION.keyDown) {\n\t\t\tif (canClose) tmpClassList.push('move-cursor');\n\t\t\telse tmpClassList.push('no-drop-cursor');\n\t\t}\n\t} else {\n\t\tif (draggingTabId.length > 0) {\n\t\t\tif (canClose) tmpClassList.push('move-cursor');\n\t\t\telse tmpClassList.push('no-drop-cursor');\n\t\t}\n\t\tif (draggingTabId.length === 0 && canClose)\n\t\t\ttmpClassList.push('move-cursor');\n\t}\n\treturn tmpClassList.join(' ');\n};\n\nconst _move = (elm) => (next) => {\n\tif (!elm) return;\n\tlet currentId = elm.id;\n\tif (!currentId) {\n\t\tcurrentId = elm.parentElement && elm.parentElement.firstElementChild.id;\n\t}\n\tconst containerElm = elm.parentElement && elm.parentElement.parentElement;\n\tif (!containerElm) return;\n\tconst children = Array.from(containerElm.children || []);\n\tconst focusedElmIndex = children.findIndex(\n\t\t(e) => e.firstElementChild && e.firstElementChild.id === currentId,\n\t);\n\tif (focusedElmIndex === -1) return;\n\tconst toBeFocusedIndex = next(focusedElmIndex, children.length);\n\tif (toBeFocusedIndex < 0 || toBeFocusedIndex >= children.length) return;\n\tif (!children[toBeFocusedIndex].firstElementChild) return;\n\tchildren[toBeFocusedIndex].firstElementChild.focus();\n};\n\nconst _moveLeft = (elm) =>\n\t_move(elm)((index, length) =>\n\t\tindex === 0 ? length - 1 : (index - 1) % length,\n\t);\nconst _moveRight = (elm) => _move(elm)((index, length) => (index + 1) % length);\n\nconst shouldRenderVisualIndicators = (style) =>\n\t!(\n\t\tstyle.width &&\n\t\tparseInt(style.width) <= MIN_WIDTH_TO_HIDE_VISUAL_INDICATOR\n\t);\n\nconst formatUnreadMessageCount = (highlightedValue) => {\n\tif (isEmpty(highlightedValue) || isEmpty(highlightedValue.label)) {\n\t\treturn '';\n\t}\n\n\tconst count = Number(highlightedValue.label);\n\tif (count < 1) {\n\t\treturn '';\n\t}\n\tconst message = count === 1 ? TAB_NEW_MESSAGE : TAB_NEW_MESSAGES;\n\treturn `, ${count} ${message}`;\n};\n\nexport {\n\t_buildClassName,\n\t_move,\n\t_moveLeft,\n\t_moveRight,\n\tshouldRenderVisualIndicators,\n\tformatUnreadMessageCount,\n};\n","import { TOOLTIP_SHOW, TOOLTIP_HIDE } from '@servicenow/behavior-tooltip';\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, { target: event.target });\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, { target: event.target });\n};\n\nfunction buildEventHandlersForTooltip(dispatch, fn) {\n\tconst eventProps = {};\n\tconst showTooltip = handleTooltipShow(dispatch);\n\tconst hideTooltip = handleTooltipHide(dispatch);\n\teventProps['on-mouseenter'] = (e) => {\n\t\tfn ? fn(e, dispatch) : showTooltip(e);\n\t};\n\teventProps['on-focusin'] = (e) => {\n\t\tfn ? fn(e, dispatch) : showTooltip(e);\n\t};\n\teventProps['on-mouseleave'] = (e) => {\n\t\tfn ? fn(e, dispatch) : hideTooltip(e);\n\t};\n\teventProps['on-focusout'] = (e) => {\n\t\tfn ? fn(e, dispatch) : hideTooltip(e);\n\t};\n\treturn eventProps;\n}\n\nexport { handleTooltipHide, handleTooltipShow, buildEventHandlersForTooltip };\nexport default buildEventHandlersForTooltip;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n// nds-scanner-disable-file native-element, inline-styles\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-highlighted-value';\n\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tgetCenterPositioning,\n\ttransformSecondaryContent,\n\tbuildTabDescription,\n} from './canvas-tab-preview.util';\nimport * as chromeTabsUtils from '../../utils';\nimport { handleRtlFn } from '../../../../../utils/rtl';\nimport {\n\tDND_OPERATION,\n\tMOUSE_LEAVE,\n\tTAB_LOADING,\n} from '../../../../../constants/constants';\nimport { tooltipPositions } from '../../utils';\nimport { TOOLTIP_HIDE, TOOLTIP_SHOW } from '@servicenow/behavior-tooltip';\nimport {\n\t_buildClassName,\n\t_moveLeft,\n\t_moveRight,\n\tshouldRenderVisualIndicators,\n\tformatUnreadMessageCount,\n} from '../../utils/canvasTab-helpers';\nimport buildEventHandlersForTooltip from '../../../../../utils/getEventbindingsForTooltips';\n\nlet showTabPreviewTimer;\n\nexport default (props) => {\n\t/**\n\t * @type {{draggingTabId: string, dndStatus: string}}\n\t */\n\tconst {\n\t\ttab,\n\t\ttabType,\n\t\tisSelected,\n\t\tisHighlighted,\n\t\tdropTime = 0,\n\t\tdndStatus = '',\n\t\tdispatch,\n\t} = props;\n\tlet { draggingTabId = '' } = props;\n\tlet focusTabId = '';\n\tif (dndStatus === DND_OPERATION.completed) {\n\t\tfocusTabId = draggingTabId;\n\t\tdraggingTabId = '';\n\t}\n\tconst {\n\t\ttab_id,\n\t\tstyle,\n\t\ttooltipPosition,\n\t\ttitle,\n\t\tlabel: parentTitle,\n\t\ttable,\n\t\tdisabled,\n\t\thasUpdate,\n\t\ticonStatus,\n\t\tcanClose = true,\n\t\ticon,\n\t\tisDirty,\n\t\ttooltipPreview = {},\n\t\tsize,\n\t\ttabList,\n\t\tisPrimaryTab,\n\t\tcolor,\n\t\thighlightedValue,\n\t\tsecondaryTitle,\n\t} = tab;\n\n\tconst isWider = size ? true : false;\n\tconst TAB_DESCRIPTION_ID = `${tab_id}-tabbed`;\n\n\tconst { primaryTitle, secondaryContent } = tooltipPreview;\n\n\tconst shouldRenderTabPreview = !isEmpty(tooltipPreview);\n\n\tconst tabRef = createRef();\n\tconst tabPreviewRef = createRef();\n\n\tconst shouldRenderSecondaryLabel =\n\t\tshouldRenderVisualIndicators(style) &&\n\t\t!(isEmpty(secondaryTitle) || isEmpty(secondaryTitle.label));\n\n\tlet classname = _buildClassName(\n\t\tisSelected,\n\t\ttabType,\n\t\tdisabled,\n\t\thasUpdate,\n\t\tcolor,\n\t\tisWider,\n\t\ttab.isPrimaryTab,\n\t\ttabList,\n\t\ttab_id === draggingTabId,\n\t\tdraggingTabId,\n\t\tdndStatus,\n\t\tcanClose,\n\t);\n\n\t/**\n\t * Add event listeners to the chrome tab container. This is so we do not need to create a new seismic component,\n\t * and handle styles related events in a functional component.\n\t *\n\t * @param {HTMLElement} elm\n\t */\n\tconst applyStyles = (element, styles) => {\n\t\tfor (let rule in styles) {\n\t\t\telement.style[rule] = styles[rule];\n\t\t}\n\t};\n\n\tlet mouseEnterListener;\n\n\tconst mouseEnterHandler = (elm) => {\n\t\treturn ({ detail }) => {\n\t\t\tconst { containerStyle } = detail;\n\t\t\t// Tightly coupled with the dom structure of _renderTabPreview\n\n\t\t\tlet tabPreviewContainer = elm.querySelector(\n\t\t\t\t'.sn-chrome-tab-preview-container',\n\t\t\t);\n\t\t\tlet tabPreview = elm.querySelector('.sn-chrome-tab-preview ');\n\t\t\tif (tabPreviewContainer && tabPreview) {\n\t\t\t\ttabPreviewContainer.classList.add('is-open');\n\t\t\t\tapplyStyles(tabPreview, containerStyle);\n\t\t\t}\n\t\t};\n\t};\n\n\tlet mouseLeaveListener;\n\tconst mouseLeaveHandler = (elm) => {\n\t\treturn () => {\n\t\t\t// Tightly coupled with the dom structure of _renderTabPreview\n\t\t\tlet tabPreviewContainer = elm.querySelector(\n\t\t\t\t'.sn-chrome-tab-preview-container',\n\t\t\t);\n\t\t\tif (tabPreviewContainer) {\n\t\t\t\ttabPreviewContainer.classList.remove('is-open');\n\t\t\t}\n\t\t};\n\t};\n\n\tconst addEventListener = (elm) => {\n\t\tif (!elm) return;\n\n\t\telm.addEventListener(\n\t\t\t'CANVAS_TAB#MOUSE_ENTER',\n\t\t\t(mouseEnterListener = mouseEnterHandler(elm)),\n\t\t);\n\t\telm.addEventListener(\n\t\t\t'CANVAS_TAB#MOUSE_LEAVE',\n\t\t\t(mouseLeaveListener = mouseLeaveHandler(elm)),\n\t\t);\n\t};\n\n\tconst removeEventListener = (elm) => {\n\t\tif (!elm) return;\n\n\t\telm.removeEventListener('CANVAS_TAB#MOUSE_ENTER', mouseEnterListener);\n\t\telm.removeEventListener('CANVAS_TAB#MOUSE_LEAVE', mouseLeaveListener);\n\t\tmouseEnterListener = null;\n\t\tmouseLeaveListener = null;\n\t};\n\n\tconst _clearPopoverTimers = () => {\n\t\tif (showTabPreviewTimer) clearTimeout(showTabPreviewTimer);\n\t};\n\n\tconst _showFormPreview = () => {\n\t\t_clearPopoverTimers();\n\n\t\tif (!isSelected) {\n\t\t\tconst containerStyle = getCenterPositioning(\n\t\t\t\ttabRef.current,\n\t\t\t\ttabPreviewRef.current,\n\t\t\t);\n\t\t\tconst event = new CustomEvent('CANVAS_TAB#MOUSE_ENTER', {\n\t\t\t\tdetail: { containerStyle },\n\t\t\t});\n\n\t\t\tshowTabPreviewTimer = setTimeout(() => {\n\t\t\t\ttabRef.current.dispatchEvent(event);\n\t\t\t}, 100);\n\t\t}\n\t};\n\n\tconst _hideFormPreview = () => {\n\t\t_clearPopoverTimers();\n\t\tconst event = new Event('CANVAS_TAB#MOUSE_LEAVE');\n\t\ttabRef.current.dispatchEvent(event);\n\t};\n\n\tconst _onMouseEnter = () => {\n\t\t// snapdom is assuming  drag n drop event is mouse enter event.\n\t\t// give sometime so that preview panel will not appear after dnd.\n\t\tif (dropTime === 0 || Date.now() - dropTime > 1000) _showFormPreview();\n\t};\n\n\tconst _onMouseLeave = () => {\n\t\t_hideFormPreview();\n\t};\n\n\tconst _onClick = (e) => {\n\t\tconst { index, tab } = props;\n\t\t_hideFormPreview();\n\t\tprops.onClickTab(tab.tab_id, index, e);\n\t};\n\n\tconst _moveNext = handleRtlFn(_moveRight, _moveLeft, props.dir);\n\tconst _movePrevious = handleRtlFn(_moveLeft, _moveRight, props.dir);\n\n\tconst _onKeyUp = (e) => {\n\t\tswitch (e.keyCode) {\n\t\t\tcase 13: // enter\n\t\t\tcase 32: // space\n\t\t\t\tprops.onKeyUp(props.tab.tab_id, e);\n\t\t\t\tbreak;\n\t\t\tcase 37: // left arrow\n\t\t\t\tif (!(e.ctrlKey && e.shiftKey) && Date.now() - dropTime > 1000)\n\t\t\t\t\t_movePrevious(e.target);\n\t\t\t\tbreak;\n\t\t\tcase 39: // right arrow\n\t\t\t\tif (!(e.ctrlKey && e.shiftKey) && Date.now() - dropTime > 1000)\n\t\t\t\t\t_moveNext(e.target);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst _onClose = (e) => {\n\t\te.stopPropagation();\n\t\tconst { tab, onCloseTab } = props;\n\t\tonCloseTab(tab.tab_id, e);\n\t};\n\n\tconst _insertTooltipEl = (el, content) => {\n\t\tif (shouldRenderTabPreview || isSelected) return;\n\t\tchromeTabsUtils.insertTooltipEl(el, content);\n\t};\n\n\tconst _renderStatusIndicator = () => {\n\t\tconst configIconAria = {\n\t\t\ticon: {\n\t\t\t\t'aria-label': 'Dirty State Indicator for ' + tabTitle,\n\t\t\t\t'aria-hidden': !isDirty, // if isDirty is false, we want to hide the icon from screen readers\n\t\t\t},\n\t\t};\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-content has-presence\">\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={tab_id + '__presence-dot'}\n\t\t\t\t\ticon=\"presence-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfigAria={configIconAria}\n\t\t\t\t\tclassName={\n\t\t\t\t\t\t'sn-presence-dot' + (isDirty ? '' : ' is-hidden')\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderIcon = () => {\n\t\tif (!icon) return;\n\n\t\tconst status =\n\t\t\ticonStatus === 'active'\n\t\t\t\t? `is-active`\n\t\t\t\t: isEmpty(iconStatus)\n\t\t\t\t\t? ''\n\t\t\t\t\t: `is-${iconStatus}`;\n\n\t\treturn (\n\t\t\t<div className={'sn-chrome-one-tab-content has-icon'}>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={tab_id + '__session-type'}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tclassName={`sn-canvas-tab-icon ${status}`}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderCloseBtn = (tab_id, title) => {\n\t\tconst tooltip = t('Close Tab {0}', title);\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"sn-chrome-one-tab-close\"\n\t\t\t\trole=\"tab\"\n\t\t\t\taria-label={tooltip}\n\t\t\t\ton-click={_onClose}\n\t\t\t\ton-keyup={(e) =>\n\t\t\t\t\te.keyCode == 13 || e.keyCode == 32\n\t\t\t\t\t\t? _onClose(e)\n\t\t\t\t\t\t: _onKeyUp(e)\n\t\t\t\t}\n\t\t\t\ton-mouseenter={() =>\n\t\t\t\t\tchromeTabsUtils.removeTooltipEl(tabRef && tabRef.current)\n\t\t\t\t}\n\t\t\t\ton-mouseleave={() =>\n\t\t\t\t\t_insertTooltipEl(tabRef && tabRef.current, title)\n\t\t\t\t}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={'close-tab-' + tab_id}\n\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t);\n\t};\n\n\tconst _renderHighlightedValue = () => {\n\t\tif (isEmpty(highlightedValue) || isEmpty(highlightedValue.label))\n\t\t\treturn;\n\n\t\tconst { label, color, variant, icon, showIcon } = highlightedValue;\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-highlighted-value\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tcolor={color}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderSecondaryTitle = () => {\n\t\tconst { label, icon = '' } = secondaryTitle;\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-secondary-label\">\n\t\t\t\t{!isEmpty(icon) && <now-icon size=\"sm\" icon={icon} />}\n\t\t\t\t<span data-truncation>{label}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderTabPreview = () => {\n\t\tif (!shouldRenderTabPreview) return null;\n\n\t\tconst transformedSecondaryContent =\n\t\t\ttransformSecondaryContent(secondaryContent);\n\t\tconst tabDescription = buildTabDescription(\n\t\t\tprimaryTitle,\n\t\t\ttransformedSecondaryContent,\n\t\t\t[],\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-tab-preview-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"sn-chrome-tab-preview has-card hoverEnabled\"\n\t\t\t\t\tref={tabPreviewRef}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"sn-chrome-tab-preview-body\">\n\t\t\t\t\t\t<div className=\"sn-card\">\n\t\t\t\t\t\t\t{primaryTitle ? (\n\t\t\t\t\t\t\t\t<div className=\"sn-card--row\">\n\t\t\t\t\t\t\t\t\t<div className=\"sn-card--title\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"sn-card--title--name\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 className=\"sn-card--title--name--truncated\">\n\t\t\t\t\t\t\t\t\t\t\t\t{primaryTitle}\n\t\t\t\t\t\t\t\t\t\t\t<\/h5>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{transformedSecondaryContent?.length > 0 ? (\n\t\t\t\t\t\t\t\t<now-label-value-tabbed\n\t\t\t\t\t\t\t\t\titems={transformedSecondaryContent}\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{tabDescription && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={TAB_DESCRIPTION_ID}\n\t\t\t\t\t\t\t\t\tclassName=\"visually-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{tabDescription}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst tabTitle = title || (table ? t(TAB_LOADING) : '');\n\tconst unreadCount = formatUnreadMessageCount(highlightedValue);\n\tconst titlePart = `${tabTitle}${parentTitle ? ` - ${parentTitle}` : ''}`;\n\tconst hasTitle = !isEmpty(titlePart.trim());\n\tconst ariaLabel = hasTitle ? `${titlePart}${unreadCount}` : '';\n\tconst isDraggable = !isPrimaryTab || canClose;\n\treturn (\n\t\t<li\n\t\t\tid={`li_${tab_id}`}\n\t\t\tclass={{\n\t\t\t\t'sn-chrome-one-tab-container': true,\n\t\t\t\t'draggable-container':\n\t\t\t\t\ttab_id === draggingTabId &&\n\t\t\t\t\tdndStatus !== DND_OPERATION.keyDown,\n\t\t\t}}\n\t\t\tstyle={style}\n\t\t\trole=\"presentation\"\n\t\t\tdata-tooltip={title}\n\t\t\tdata-tooltipposition={tooltipPosition}\n\t\t\t{...buildEventHandlersForTooltip(dispatch, (e) => {\n\t\t\t\tconst elm = e.target;\n\t\t\t\tif (isSelected || e.type === MOUSE_LEAVE)\n\t\t\t\t\tdispatch(TOOLTIP_HIDE, { target: elm, delay: 500 });\n\t\t\t\telse dispatch(TOOLTIP_SHOW, { target: elm });\n\t\t\t})}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tif (\n\t\t\t\t\tdndStatus === DND_OPERATION.completed &&\n\t\t\t\t\telm.style.transform.length > 0\n\t\t\t\t)\n\t\t\t\t\telm.style.removeProperty('transform');\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\taddEventListener(elm);\n\t\t\t\tif (shouldRenderTabPreview || isSelected) return;\n\t\t\t}}\n\t\t\thook-destroy={({ elm }) => {\n\t\t\t\tremoveEventListener(elm);\n\t\t\t}}\n\t\t\tref={tabRef}\n\t\t>\n\t\t\t<a\n\t\t\t\tdraggable={isDraggable ? 'true' : 'false'}\n\t\t\t\trole=\"tab\"\n\t\t\t\taria-grabbed={\n\t\t\t\t\tisDraggable\n\t\t\t\t\t\t? tab_id === draggingTabId\n\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby={\n\t\t\t\t\tshouldRenderTabPreview && !isSelected\n\t\t\t\t\t\t? TAB_DESCRIPTION_ID\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\thook-insert={({ elm }) => elm && isHighlighted && elm.focus()}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (focusTabId === tab_id) elm.focus();\n\t\t\t\t}}\n\t\t\t\tid={tab_id}\n\t\t\t\tclassName={classname}\n\t\t\t\tstyle={size ? { width: size } : {}}\n\t\t\t\ttabIndex={isSelected ? '0' : '-1'}\n\t\t\t\ton-click={_onClick}\n\t\t\t\ton-keyup={_onKeyUp}\n\t\t\t\ton-mouseenter={_onMouseEnter}\n\t\t\t\ton-mouseleave={_onMouseLeave}\n\t\t\t\ton-focusin={() => _showFormPreview()}\n\t\t\t\ton-focusout={() => _hideFormPreview()}\n\t\t\t>\n\t\t\t\t{_renderStatusIndicator()}\n\t\t\t\t{_renderIcon()}\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-chrome-one-tab-content ${\n\t\t\t\t\t\tshouldRenderSecondaryLabel && 'has-secondary-label'\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"sn-chrome-one-tab-label\" data-truncation>\n\t\t\t\t\t\t{tabTitle}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t{shouldRenderSecondaryLabel\n\t\t\t\t\t\t? _renderSecondaryTitle()\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t\t{shouldRenderVisualIndicators(style)\n\t\t\t\t? _renderHighlightedValue()\n\t\t\t\t: null}\n\t\t\t{canClose &&\n\t\t\t(draggingTabId !== tab_id ||\n\t\t\t\t(draggingTabId.length > 0 &&\n\t\t\t\t\tdndStatus === DND_OPERATION.keyDown))\n\t\t\t\t? _renderCloseBtn(tab_id, title)\n\t\t\t\t: null}\n\t\t\t{!draggingTabId ? _renderTabPreview() : null}\n\t\t<\/li>\n\t);\n};\n","import { OptionItem } from '../../subcomponents';\nconst ControlMenu = (props) => {\n\tconst { id, optionItems, highlightIndex, onItemClick } = props;\n\tconst _className = props._className\n\t\t? props._className\n\t\t: 'sn-chrome-popover-content';\n\tconst _getMenuRef = (ref) => {\n\t\tif (ref) ref.focus();\n\t};\n\n\treturn (\n\t\t<ul\n\t\t\tid={id}\n\t\t\tclassName={_className + '-list'}\n\t\t\trole=\"presentation\"\n\t\t\tref={_getMenuRef}>\n\t\t\t{optionItems.map((m, i) => {\n\t\t\t\tlet key = m.itemType === 'tab' ? m.tab_id : m.name || m.title;\n\t\t\t\tconst isHighlighted = highlightIndex === i;\n\t\t\t\treturn (\n\t\t\t\t\t<OptionItem\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\titem={m}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisHighlighted={isHighlighted}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\t_className={_className}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n};\n\nexport { ControlMenu };\n","import { t } from 'sn-translate';\nimport '@servicenow/now-icon';\n\nexport const CanvasOverflowItem = (props) => {\n\tconst { tab, hasUpdate, isHighlighted, isNodeFocused } = props;\n\tconst { tab_id, title } = tab;\n\tconst styleClass =\n\t\t'sn-chrome-popover-content-list-item ' + (hasUpdate ? 'has-update' : '');\n\tconst closeBtn_tooltip = t('Close Tab');\n\n\tconst _onItemClick = (e) => {\n\t\tconst { tab, onItemClick } = props;\n\t\tonItemClick(tab, tab.tabOrder, e);\n\t};\n\n\tconst _onItemClose = (e) => {\n\t\te.stopPropagation();\n\t\tconst { tab, onItemClose } = props;\n\t\tonItemClose(tab, e);\n\t};\n\n\tconst _onItemKeyUp = (e) => {\n\t\tif (e.keyCode !== 13 /*enter*/ && e.keyCode !== 32 /*space*/) return;\n\t\t_onItemClick(e);\n\t};\n\n\tconst _onKeyUp = (e) => {\n\t\tif (e.keyCode === 9) {\n\t\t\t//tab\n\t\t\tconst { index, onNodeFocus } = props;\n\t\t\tonNodeFocus(index);\n\t\t} else if (e.keyCode === 13 /*enter*/ || e.keyCode === 32 /*space*/)\n\t\t\t_onItemClose(e);\n\n\t\tif (elmRef) elmRef.setAttribute('tabindex', '-1');\n\t};\n\tlet elmRef = null;\n\treturn (\n\t\t<li className={styleClass} role=\"presentation\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={`sn-chrome-popover-content-list-item-button`}\n\t\t\t\ton-click={_onItemClick}\n\t\t\t\ton-keyup={_onItemKeyUp}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tref={(elm) => (elmRef = elm)}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (!elm) return;\n\t\t\t\t\tif (isHighlighted && !isNodeFocused) {\n\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\telm.setAttribute('tabindex', '0');\n\t\t\t\t\t} else {\n\t\t\t\t\t\telm.setAttribute('tabindex', '-1');\n\t\t\t\t\t}\n\t\t\t\t}}>\n\t\t\t\t<span className=\"sn-chrome-popover-content-text\">{title}<\/span>\n\t\t\t<\/button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"overflow-close-btn sn-chrome-popover-content-list-item-close\"\n\t\t\t\taria-label={closeBtn_tooltip}\n\t\t\t\ttooltip={closeBtn_tooltip}\n\t\t\t\ton-click={_onItemClose}\n\t\t\t\ton-keyup={_onKeyUp}>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={'overflow-close-tab-' + tab_id}\n\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t{/* <sn-component-tooltip /> */}\n\t\t<\/li>\n\t);\n};\n","import { CanvasOverflowItem } from './canvasOverflowItem';\n\nconst TabOverflow = (props) => {\n\tconst {\n\t\toptionItems,\n\t\thighlightIndex,\n\t\tonItemClick,\n\t\tonItemClose,\n\t\tonNodeFocus,\n\t\tisNodeFocused\n\t} = props;\n\treturn (\n\t\t<ul className=\"sn-chrome-popover-content-list\" role=\"presentation\">\n\t\t\t{optionItems.map((item, i) => {\n\t\t\t\treturn (\n\t\t\t\t\t<CanvasOverflowItem\n\t\t\t\t\t\tkey={item.tab_id}\n\t\t\t\t\t\ttab={item}\n\t\t\t\t\t\tisHighlighted={highlightIndex === i}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisNodeFocused={isNodeFocused}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\tonItemClose={onItemClose}\n\t\t\t\t\t\tonNodeFocus={onNodeFocus}\n\t\t\t\t\t\thasUpdate={item.hasUpdate}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n};\n\nexport { TabOverflow };\n","const OptionItem = (props) => {\n\tconst { index, item, isHighlighted, _className } = props;\n\tconst { disabled, displayValue } = item;\n\n\tconst _renderDisabledItem = () => {\n\t\tconst { item, index } = props;\n\t\tconst { name, displayValue } = item;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={`${name}_${index}`}\n\t\t\t\tclassName={_className + '-list-item'}\n\t\t\t\trole=\"presentation\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName={_className + '-list-item-button is-disabled'}\n\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\ttabIndex={index+1}\n\t\t\t\t\thook-update={({ elm }) => elm && isHighlighted && elm.focus()}\n\t\t\t\t\t>\n\t\t\t\t\t<span className={_className + '-text'}>{displayValue}<\/span>\n\t\t\t\t<\/button>\n\t\t\t<\/li>\n\t\t);\n\t};\n\n\tconst _onItemClick = (e) => {\n\t\tconst { item, index, onItemClick } = props;\n\t\tonItemClick(item, index, e);\n\t};\n\n\tconst _onKeyup = (e) => {\n\t\tif (e.keyCode !== 32 /*space*/) return;\n\t\t_onItemClick(e);\n\t};\n\n\treturn disabled ? (\n\t\t_renderDisabledItem()\n\t) : (\n\t\t<li className={_className + '-list-item'} role=\"presentation\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={_className + '-list-item-button'}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex={index+1}\n\t\t\t\ton-click={_onItemClick}\n\t\t\t\ton-keyup={_onKeyup}\n\t\t\t\thook-update={({ elm }) => elm && isHighlighted && elm.focus()}>\n\t\t\t\t<span className={_className + '-text'}>{displayValue}<\/span>\n\t\t\t<\/button>\n\t\t<\/li>\n\t);\n};\n\nexport { OptionItem };\n","export const POPOVER_HIGHLIGHT_INDEX_CHANGED =\n\t'CANVAS_POPOVER_CONTENT#HIGHLIGHT_INDEX_CHANGED';\nexport const POPOVER_CONTENT_CLICKED = 'CANVAS_POPOVER_CONTENT#CLICKED';\nexport const POPOVER_HIGHLIGHT_INDEX_RESET_REQUESTED =\n\t'CANVAS_POPOVER_CONTENT#HIGHLIGHT_INDEX_RESET_REQUESTED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tPOPOVER_HIGHLIGHT_INDEX_CHANGED,\n\tPOPOVER_HIGHLIGHT_INDEX_RESET_REQUESTED,\n} from './constants';\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst actionHandlers = {\n\t[POPOVER_HIGHLIGHT_INDEX_CHANGED]: (coeffects) => {\n\t\tconst { highlightIndex } = coeffects.state;\n\t\tconst { optionItems } = coeffects.properties;\n\t\tconst { handler } = coeffects.action.payload;\n\t\tconst tabs = optionItems.filter((it) => it.itemType === 'tab');\n\t\tconst menuItems = optionItems.filter((it) => it.itemType === 'menu');\n\t\tconst nextHighlightIndex = handler.call(null, highlightIndex, [\n\t\t\t...tabs,\n\t\t\t...menuItems,\n\t\t]);\n\t\tcoeffects.updateState({\n\t\t\thighlightIndex: nextHighlightIndex,\n\t\t\tisNodeFocused: false,\n\t\t});\n\t},\n\t[POPOVER_HIGHLIGHT_INDEX_RESET_REQUESTED]: ({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t}) => {\n\t\tconst { isNodeFocused } = state;\n\t\tif (!isNodeFocused) {\n\t\t\tupdateState({ highlightIndex: -1 });\n\t\t\tconst nowPopover = host.parentElement;\n\t\t\tif (!nowPopover) return;\n\t\t\tconst triggerEl = nowPopover.querySelector('[slot=trigger]');\n\t\t\tif (triggerEl) {\n\t\t\t\tnowPopover.opened = false;\n\t\t\t\ttriggerEl.focus();\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: ({ action, updateState }) => {\n\t\tconst { hoistHost } = action.meta;\n\t\tif (!hoistHost) return;\n\t\tconst activeElm = hoistHost.shadowRoot.activeElement;\n\t\tif (activeElm) return;\n\t\tupdateState({ highlightIndex: -1 });\n\t},\n};\nexport default actionHandlers;\n","import { debounce, noop } from 'lodash';\nimport * as Constants from '../constants';\n\nexport const onArrowUp = (currentIndex, optionItems) => {\n\tlet newIndex = -1;\n\tif (currentIndex <= 0) {\n\t\tnewIndex = optionItems.length - 1;\n\t} else {\n\t\tnewIndex = (currentIndex - 1) % optionItems.length;\n\t}\n\n\treturn newIndex;\n};\n\nexport const onArrowDown = (currentIndex, optionItems) => {\n\tlet newIndex = 0;\n\tif (currentIndex === -1 && optionItems.length > 1) {\n\t\tnewIndex = 1;\n\t} else {\n\t\tnewIndex = (currentIndex + 1) % optionItems.length;\n\t}\n\n\treturn newIndex;\n};\n\nconst handlerMap = {\n\tarrowUp: {\n\t\tfn: onArrowUp,\n\t\taction: Constants.POPOVER_HIGHLIGHT_INDEX_CHANGED,\n\t},\n\tarrowDown: {\n\t\tfn: onArrowDown,\n\t\taction: Constants.POPOVER_HIGHLIGHT_INDEX_CHANGED,\n\t},\n\texecute: {\n\t\tfn: noop,\n\t\taction: Constants.POPOVER_CONTENT_CLICKED,\n\t},\n\treset: {\n\t\tfn: noop,\n\t\taction: Constants.POPOVER_HIGHLIGHT_INDEX_RESET_REQUESTED,\n\t},\n};\n\nconst _handleKeyPressed = (event, dispatch) => {\n\tlet handler = undefined;\n\tswitch (event.keyCode) {\n\t\tcase 38: //ArrowUp\n\t\t\thandler = 'arrowUp';\n\t\t\tbreak;\n\t\tcase 40: //ArrowDown\n\t\t\thandler = 'arrowDown';\n\t\t\tbreak;\n\t\tcase 13: //Enter\n\t\tcase 32: //Space\n\t\t\thandler = 'execute';\n\t\t\tbreak;\n\t\tcase 9: // Tab\n\t\t\thandler = 'reset';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\tif (handler && handlerMap[handler])\n\t\tdispatch(handlerMap[handler].action, {\n\t\t\thandler: handlerMap[handler].fn,\n\t\t});\n};\n\nexport const handleKeyPressed = debounce(_handleKeyPressed, 150);\n","import { handleKeyPressed } from './utils';\n\nexport const snCanvasPopoverEventHandlers = [\n\t{\n\t\tevents: ['keyup'],\n\t\teffect({ action, dispatch }) {\n\t\t\taction.preventDefault();\n\t\t\thandleKeyPressed(action.payload.event, dispatch);\n\t\t},\n\t},\n\t{\n\t\tevents: ['keydown'],\n\t\teffect({ action }) {\n\t\t\tif (action?.payload?.event?.keyCode === 9) {\n\t\t\t\t// Prevent Tab from scrolling down in overflow\n\t\t\t\taction.preventDefault();\n\t\t\t}\n\t\t},\n\t},\n];\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { TabOverflow, ControlMenu } from '../index';\nimport styles from './_style.scss';\nimport snCanvasPopoverContentActionHandlers from './sn-canvas-popover-content.effects';\nimport { snCanvasPopoverEventHandlers } from './sn-canvas-popover-content.eventHandlers';\nconst MoreOptionMenu = (state, { updateState }) => {\n\tconst props = state.properties;\n\tconst { optionItems, onItemClick, onItemClose } = props;\n\tconst { highlightIndex, isNodeFocused } = state;\n\tlet tabs = optionItems.filter((it) => it.itemType === 'tab');\n\tlet menuItems = optionItems.filter((it) => it.itemType === 'menu');\n\n\tconst onNodeFocus = (index) => {\n\t\tif (index >= 0 && index < tabs.length)\n\t\t\tupdateState({\n\t\t\t\thighlightIndex: index,\n\t\t\t\tisNodeFocused: true,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className=\"sn-chrome-popover-content\" role=\"menu\" tabIndex=\"0\">\n\t\t\t<TabOverflow\n\t\t\t\toptionItems={tabs}\n\t\t\t\thighlightIndex={highlightIndex}\n\t\t\t\tonItemClick={onItemClick}\n\t\t\t\tonItemClose={onItemClose}\n\t\t\t\tonNodeFocus={onNodeFocus}\n\t\t\t\tisNodeFocused={isNodeFocused}\n\t\t\t/>\n\t\t\t<ControlMenu\n\t\t\t\toptionItems={menuItems}\n\t\t\t\thighlightIndex={highlightIndex - tabs.length}\n\t\t\t\tonItemClick={onItemClick}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-popover-content', {\n\tview: MoreOptionMenu,\n\tstyles,\n\tproperties: {\n\t\toptionItems: { default: null, deepCompare: true },\n\t\tonItemClick: { default: () => {} },\n\t\tonItemClose: { default: () => {} },\n\t},\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t\tisNodeFocused: false,\n\t},\n\tactionHandlers: { ...snCanvasPopoverContentActionHandlers },\n\teventHandlers: snCanvasPopoverEventHandlers,\n});\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst actionHandlers = {\n\t[COMPONENT_RENDERED]: ({ action, updateState }) => {\n\t\tconst { hoistHost } = action.meta;\n\t\tif (!hoistHost) return;\n\t\tconst activeElm = hoistHost.shadowRoot.activeElement;\n\t\tif (activeElm) return;\n\n\t\tupdateState({ highlightIndex: -1 });\n\t},\n};\nexport default actionHandlers;\n","import { debounce } from 'lodash';\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['keyup'],\n\t\teffect({ action, properties, state, updateState, host }) {\n\t\t\taction.preventDefault();\n\t\t\tconst currentIndex = state.highlightIndex;\n\t\t\tconst itemLength = (properties.menuItems || []).length;\n\n\t\t\tif (itemLength === 0) return;\n\t\t\tconst _handler = () => {\n\t\t\t\tlet _highlightIndex = currentIndex;\n\t\t\t\tswitch (action.payload.event.keyCode) {\n\t\t\t\t\tcase 38: //ArrowUp\n\t\t\t\t\t\tif (currentIndex <= 0) {\n\t\t\t\t\t\t\t_highlightIndex = itemLength - 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_highlightIndex = (currentIndex - 1) % itemLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 40: //ArrowDown\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcurrentIndex === -1 ||\n\t\t\t\t\t\t\tcurrentIndex === itemLength - 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t_highlightIndex = 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_highlightIndex = (currentIndex + 1) % itemLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 13: //Enter\n\t\t\t\t\tcase 32: //Space\n\t\t\t\t\t\tproperties.onNewTab(properties.menuItems[currentIndex]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 9: //tab\n\t\t\t\t\t\t_highlightIndex = -1;\n\t\t\t\t\t\t//Create a scope so linter is happy\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst nowPopover = host.parentElement;\n\t\t\t\t\t\t\tif (!nowPopover) return;\n\t\t\t\t\t\t\tconst triggerEl = nowPopover.querySelector(\n\t\t\t\t\t\t\t\t'[slot=trigger]',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (triggerEl) {\n\t\t\t\t\t\t\t\tnowPopover.opened = false;\n\t\t\t\t\t\t\t\ttriggerEl.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tupdateState({ highlightIndex: _highlightIndex });\n\t\t\t};\n\t\t\t//throttle the handler\n\t\t\tdebounce(_handler, 150)();\n\t\t},\n\t},\n\t{\n\t\tevents: ['keydown'],\n\t\teffect({ action }) {\n\t\t\tif (action?.payload?.event?.keyCode === 9) {\n\t\t\t\t// Prevent Tab from scrolling down in overflow\n\t\t\t\taction.preventDefault();\n\t\t\t}\n\t\t},\n\t},\n];\nexport default eventHandlers;\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport { ControlMenu } from '../control-menu/controlMenu';\nimport styles from './_style.scss';\nimport snCanvasTabsMenuActionHandlers from './sn-canvas-tabs-menu.actions';\nimport snCanvasTabsMenuEventHandlers from './sn-canvas-tabs-menu.events';\n\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst newMenu = (state) => {\n\tconst { properties: props, highlightIndex } = state;\n\tif (!props.menuItems) return;\n\tconst menuItems = props.menuItems.map((m) => {\n\t\treturn { ...m, title: m.label, displayValue: m.label };\n\t});\n\treturn (\n\t\t<div className=\"sn-canvas-tabs-menu\" role=\"menu\" tabIndex=\"0\">\n\t\t\t<ControlMenu\n\t\t\t\toptionItems={menuItems}\n\t\t\t\tonItemClick={props.onNewTab}\n\t\t\t\thighlightIndex={highlightIndex}\n\t\t\t\t_className=\"sn-canvas-tabs-menu\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-tabs-menu', {\n\tview: newMenu,\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t},\n\tproperties: {\n\t\tmenuItems: {\n\t\t\tdefault: [],\n\t\t},\n\t\tonNewTab: {\n\t\t\tdefault: () => {},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tstyles,\n\teventHandlers: snCanvasTabsMenuEventHandlers,\n\tactionHandlers: { ...snCanvasTabsMenuActionHandlers },\n});\n","// nds-scanner-disable-file native-element\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-modal';\nimport { t } from 'sn-translate';\n\nimport CanvasTab from './subcomponents/canvas-tab';\nimport * as chromeTabsUtils from './utils';\nimport './subcomponents/sn-canvas-popover-content';\nimport './subcomponents/sn-canvas-tabs-menu';\nimport {\n\tMAIN_TAB_NEW_ALERT_CLEARED,\n\tTABS_CLOSE_CONFIRMED,\n\tTABS_CLOSE_CANCELLED,\n\tDND_OPERATION,\n\tTABS_LIST_ARIA_LABEL,\n} from '../../../constants/constants';\nimport { tooltipPositions } from './utils';\nimport buildEventHandlersForTooltip from '../../../utils/getEventbindingsForTooltips';\n\n/* schema : {\n\tdispatchFn: function, // Seismic dispatch function\n\tlevel: 0, //1 //2\n\tfocusedTabIndex: -1,\n\tselectedTabId: {},\n\tparentTabId: {},\n\ttabList: [],\n\ttype: {},\n\tnewMenu: {},\n\tcloseMenu: {},\n\tonNewTab: {},\n\tonClickTab: {},\n\tonCloseTab: {},\n\tonMenuClose: {},\n\ttabsMaxWidth: {}\n}*/\nexport default (props) => {\n\tlet showOverflowMenu = false;\n\tlet overflowDisabled = chromeTabsUtils.getOverflowDisabled(props.tabList);\n\tlet hasOverflowUpdate = false;\n\tlet badgeCount = 0;\n\t/**\n\t * @type {{dndState: import('./utils').TabDragState}}\n\t */\n\tconst {\n\t\ttabsMaxOpen,\n\t\tstopperPrompt,\n\t\ttabsToCloseQueue,\n\t\ttabList,\n\t\tparentTabId,\n\t\tparentTabTitle,\n\t\ttype,\n\t\tonCloseTab,\n\t\tselectedTabId,\n\t\tonClickTab,\n\t\tnewMenu,\n\t\tonNewTab,\n\t\tfocusedTabIndex,\n\t\tonShowModal,\n\t\tdir,\n\t\tdndState,\n\t\tdropTime = 0,\n\t} = props;\n\tconst { tabId: draggingTabId = '', status = DND_OPERATION.completed } =\n\t\tdndState ? dndState : {};\n\tconst visibleAndOverflowList = chromeTabsUtils.buildVisibleAndOverflowList(\n\t\ttabList,\n\t\tprops.tabsMaxWidth,\n\t\tselectedTabId,\n\t);\n\t/**\n\t * @type {{visibleList: Array<{canClose:boolean, contentKey: string,\n\t * icon: string, tab_id: string, isPrimaryTab: boolean, style: Record<string, any>}>}}\n\t */\n\tconst { visibleList, overflowList } = visibleAndOverflowList;\n\tconst _transformedMenuItems = chromeTabsUtils.transformCloseMenuItems(\n\t\tprops.closeMenu,\n\t\ttabList,\n\t\tselectedTabId,\n\t);\n\tconst optionItems = _transformedMenuItems.concat(overflowList);\n\tlet _meatBallPopOverRef = undefined,\n\t\t_newMenuPopOverRef = undefined;\n\tconst _hidePopover = (type) => {\n\t\tif (type === 'newMenu') {\n\t\t\tif (!_newMenuPopOverRef) return;\n\t\t\t_newMenuPopOverRef.opened = false;\n\t\t} else {\n\t\t\tif (!_meatBallPopOverRef) return;\n\t\t\t_meatBallPopOverRef.opened = false;\n\t\t}\n\t};\n\n\tconst _propagateTabFocusUpdate = (level, tabIndex) => {\n\t\tprops.dispatchFn('CANVAS_TAB_BAR#FOCUSED_TAB_SET', {\n\t\t\ttabIndex,\n\t\t\tlevel,\n\t\t});\n\t};\n\n\tconst _onClickTab = (tab_id, index, e) => {\n\t\tonClickTab(tab_id, e);\n\t\t_propagateTabFocusUpdate(props.level, index);\n\t\t_hidePopover();\n\t};\n\n\tconst _onClickMenuItem = (menuItem, idx, e) => {\n\t\t_hidePopover();\n\t\tconst { onMenuClose, onClickTab } = props;\n\t\tif (menuItem.itemType === 'menu') {\n\t\t\tonMenuClose({\n\t\t\t\toperation: menuItem.name,\n\t\t\t\tselectedTabId,\n\t\t\t\ttype: props.type,\n\t\t\t});\n\t\t} else {\n\t\t\tconst { tab_id } = menuItem;\n\t\t\tonClickTab(tab_id, e);\n\t\t}\n\t};\n\n\tconst _onCloseMenuItem = (menuItem, e) => {\n\t\tconst { onCloseTab } = props;\n\t\tconst { tab_id } = menuItem;\n\t\tonCloseTab(tab_id, e);\n\t\t_hidePopover();\n\t};\n\n\tconst _onNewTab = (menuItem) => {\n\t\tonNewTab(menuItem);\n\t\t_hidePopover('newMenu');\n\t};\n\n\t// Use a named function instead of anonymous function to avoid Memory Leaks\n\tlet popoverListener;\n\n\tconst _popoverHandler = (elm) => {\n\t\treturn ({\n\t\t\tdetail: {\n\t\t\t\tpayload: { value },\n\t\t\t},\n\t\t}) => {\n\t\t\telm.opened = value;\n\t\t\tconst button = elm.firstElementChild;\n\t\t\tconst popoverContent = elm.lastElementChild;\n\t\t\tif (popoverContent) popoverContent.removeAttribute('defer');\n\t\t\tif (button) button.setAttribute('aria-expanded', value);\n\t\t};\n\t};\n\n\tconst _handlePopoverInsert = ({ elm }) => {\n\t\tif (!elm) return;\n\t\telm.addEventListener(\n\t\t\t'NOW_POPOVER#OPENED_SET',\n\t\t\t(popoverListener = _popoverHandler(elm)),\n\t\t);\n\t};\n\n\tconst _handlePopoverDestroy = ({ elm }) => {\n\t\tif (!elm) return;\n\t\telm.removeEventListener('NOW_POPOVER#OPENED_SET', popoverListener);\n\t\tpopoverListener = null;\n\t};\n\n\tconst _renderMenuPopover = (menuItems, onNewTab) => {\n\t\tconst tooltipContent = t('Add');\n\t\tconst ariaLabel = tooltipContent;\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\thide-tail\n\t\t\t\tpositions={[{ target: 'bottom-start', content: 'top-start' }]}\n\t\t\t\tmanage-opened\n\t\t\t\tref={(_elm) => (_newMenuPopOverRef = _elm)}\n\t\t\t\thook-insert={_handlePopoverInsert}\n\t\t\t\thook-destroy={_handlePopoverDestroy}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"sn-chrome-tabs-btn\"\n\t\t\t\t\tid=\"chrome-add-new-button\"\n\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t\t{...buildEventHandlersForTooltip(props.dispatchFn)}\n\t\t\t\t>\n\t\t\t\t\t<now-icon icon=\"plus-outline\" />\n\t\t\t\t<\/button>\n\t\t\t\t<sn-canvas-tabs-menu\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\tonNewTab={onNewTab}\n\t\t\t\t/>\n\t\t\t<\/now-popover>\n\t\t);\n\t};\n\n\tconst _renderNewMenu = (newMenu, onNewTab, type) => {\n\t\tif (!newMenu || !Array.isArray(newMenu) || newMenu.length === 0)\n\t\t\treturn null;\n\t\tif (type !== 'primary') return null;\n\n\t\tlet classname = 'sn-chrome-tabs-btn';\n\t\tconst buttonId = 'chrome-add-new-button';\n\t\tconst tooltipContent = t('Add {0}', newMenu[0].label);\n\t\tconst ariaLabel = tooltipContent;\n\t\tif (newMenu.length > 1) return _renderMenuPopover(newMenu, onNewTab);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={classname}\n\t\t\t\ton-click={() => onNewTab(newMenu[0])}\n\t\t\t\tid={buttonId}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\thook-insert={({ elm }) =>\n\t\t\t\t\tchromeTabsUtils.insertTooltipEl(elm, tooltipContent)\n\t\t\t\t}\n\t\t\t\thook-destroy={({ elm }) => chromeTabsUtils.removeTooltipEl(elm)}\n\t\t\t>\n\t\t\t\t<now-icon component-id={buttonId} icon=\"plus-outline\" />\n\t\t\t<\/button>\n\t\t);\n\t};\n\n\t/** renderer for modal used when the user requests a new tab that goes beyond configured limit */\n\tconst _renderTabOpenAlert = (tabsMaxOpen, stopperPrompt) => {\n\t\tconst openDialog = stopperPrompt && stopperPrompt.request == true;\n\t\tif (!openDialog) return null;\n\n\t\tconst title = stopperPrompt\n\t\t\t? stopperPrompt.title\n\t\t\t: t('Max Tab Reached');\n\t\tconst warningMessage = stopperPrompt\n\t\t\t? stopperPrompt.message\n\t\t\t: t(\n\t\t\t\t\t'You have reached the max number of tabs you can have open at one time. Close tabs in order to open more.',\n\t\t\t\t);\n\t\tconst buttonTitle = stopperPrompt\n\t\t\t? stopperPrompt.buttonTitle\n\t\t\t: t('Dismiss');\n\t\treturn (\n\t\t\t<now-modal\n\t\t\t\topened={openDialog}\n\t\t\t\tsize=\"sm\"\n\t\t\t\theader-label={title}\n\t\t\t\tcontent={warningMessage}\n\t\t\t\tmanageOpened\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tlabel: buttonTitle,\n\t\t\t\t\t\tclickActionType: MAIN_TAB_NEW_ALERT_CLEARED,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t};\n\n\t/** renderer for modal used when a user requests to close a dirty tab */\n\tconst _renderTabCloseConfirmation = (tabsToCloseQueue) => {\n\t\tlet openDialog = false;\n\n\t\tif (\n\t\t\ttabsToCloseQueue &&\n\t\t\ttabsToCloseQueue.tabList &&\n\t\t\ttabsToCloseQueue.tabList[0]\n\t\t) {\n\t\t\tconst firstTabInQueue = tabsToCloseQueue.tabList[0];\n\t\t\t// check if we need to suppress the dirty dialog\n\t\t\tif (firstTabInQueue.skipConfirmation === true) return;\n\n\t\t\topenDialog =\n\t\t\t\tfirstTabInQueue.isDirty && !firstTabInQueue.dirtyModalId;\n\n\t\t\tconst showCustomConfirmation =\n\t\t\t\tfirstTabInQueue.isDirty &&\n\t\t\t\tfirstTabInQueue.dirtyModalId &&\n\t\t\t\tfirstTabInQueue.confirmationStatus === 'pending';\n\t\t\tconst showCustomWarning =\n\t\t\t\tfirstTabInQueue.hasWarning &&\n\t\t\t\tfirstTabInQueue.warningModalId &&\n\t\t\t\tfirstTabInQueue.confirmationStatus === 'pending';\n\n\t\t\tif (showCustomConfirmation) {\n\t\t\t\tonShowModal(firstTabInQueue.dirtyModalId, true, firstTabInQueue.screenNowId);\n\t\t\t\treturn;\n\t\t\t} else if (!openDialog && showCustomWarning) {\n\t\t\t\tonShowModal(firstTabInQueue.warningModalId, true, firstTabInQueue.screenNowId);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (!openDialog) return null;\n\n\t\tconst title = t('Close Tab');\n\t\tconst warningMessage = t(\n\t\t\t'Closing this tab will cause your changes to be lost. Do you want to continue?',\n\t\t);\n\t\treturn (\n\t\t\t<now-modal\n\t\t\t\topened={openDialog}\n\t\t\t\tsize=\"sm\"\n\t\t\t\theader-label={title}\n\t\t\t\tcontent={warningMessage}\n\t\t\t\tmanageOpened\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\ttooltipContent: t('Continue'),\n\t\t\t\t\t\tclickActionType: TABS_CLOSE_CONFIRMED,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\ttooltipContent: t('Cancel'),\n\t\t\t\t\t\tclickActionType: TABS_CLOSE_CANCELLED,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst _renderCounterBadge = () => {\n\t\tlet counterBadge = null;\n\t\tlet overflowLength = overflowList.length;\n\t\tif (overflowLength > 0)\n\t\t\tcounterBadge = (\n\t\t\t\t<now-badge\n\t\t\t\t\tround\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tstatus=\"critical\"\n\t\t\t\t\tvalue={overflowLength}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t/>\n\t\t\t);\n\t\treturn counterBadge;\n\t};\n\n\tconst overflowLabel = t('More Options');\n\tconst overflowAriaLabel =\n\t\tparentTabTitle !== null\n\t\t\t? t('More options for tabs related to {0}', parentTabTitle)\n\t\t\t: overflowLabel;\n\tconst overflowTooltipContent = overflowDisabled ? null : overflowLabel;\n\tconst overflowClassNames = chromeTabsUtils.buildOverflowStyle(\n\t\ttype,\n\t\toverflowDisabled,\n\t\tbadgeCount,\n\t\thasOverflowUpdate,\n\t);\n\tconst overflowButtonId = `ellipsis-h ${type}`;\n\n\tconst _renderPopover = (_optionItems) => (\n\t\t<now-popover\n\t\t\thide-tail\n\t\t\tpositions={[\n\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t{ target: 'bottom-center', content: 'top-end' },\n\t\t\t\t{ target: 'bottom-start', content: 'top-end' },\n\t\t\t]}\n\t\t\tmanage-opened\n\t\t\tref={(_elm) => (_meatBallPopOverRef = _elm)}\n\t\t\thook-insert={_handlePopoverInsert}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tsetTimeout(() => elm && elm.refit(), 200);\n\t\t\t}}\n\t\t\thook-destroy={_handlePopoverDestroy}\n\t\t>\n\t\t\t<button\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tdisabled={overflowDisabled}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={overflowClassNames}\n\t\t\t\tid={overflowButtonId}\n\t\t\t\taria-label={overflowAriaLabel}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\taria-controls={showOverflowMenu ? 'popover-body-2' : null}\n\t\t\t\tdata-tooltip={overflowTooltipContent}\n\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t{...buildEventHandlersForTooltip(props.dispatchFn)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={overflowButtonId}\n\t\t\t\t\ticon={'ellipsis-h-fill'}\n\t\t\t\t/>\n\t\t\t\t{_renderCounterBadge()}\n\t\t\t<\/button>\n\t\t\t<sn-canvas-popover-content\n\t\t\t\tslot=\"content\"\n\t\t\t\toptionItems={_optionItems}\n\t\t\t\tonItemClick={_onClickMenuItem}\n\t\t\t\tonItemClose={_onCloseMenuItem}\n\t\t\t\tdefer\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n\n\tconst _getAriaOwns = (_visibleList) => {\n\t\treturn _visibleList.map((t) => t.tab_id).join(' ');\n\t};\n\n\tconst _renderTabs = (\n\t\t_visibleList,\n\t\t_type,\n\t\t_selectedTabId,\n\t\t_focusedTabIndex,\n\t) => (\n\t\t<ul\n\t\t\trole=\"tablist\"\n\t\t\tclassName=\"sn-chrome-tabs-group\"\n\t\t\taria-label={TABS_LIST_ARIA_LABEL}\n\t\t\taria-owns={_getAriaOwns(_visibleList)}\n\t\t>\n\t\t\t{_visibleList.map((t, i) => {\n\t\t\t\tconst { tab_id } = t;\n\t\t\t\tconst key = parentTabId ? `${parentTabId}_${tab_id}` : tab_id;\n\t\t\t\tconst isHighlighted =\n\t\t\t\t\t_focusedTabIndex === i ||\n\t\t\t\t\t(_focusedTabIndex == -1\n\t\t\t\t\t\t? tab_id === _selectedTabId\n\t\t\t\t\t\t: false);\n\t\t\t\treturn (\n\t\t\t\t\t<CanvasTab\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tcomponent-id={tab_id}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\ttab={t}\n\t\t\t\t\t\ttabType={type}\n\t\t\t\t\t\tisSelected={tab_id === _selectedTabId}\n\t\t\t\t\t\tisHighlighted={isHighlighted}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tonCloseTab={onCloseTab}\n\t\t\t\t\t\tonClickTab={_onClickTab}\n\t\t\t\t\t\tonKeyUp={onClickTab}\n\t\t\t\t\t\tdraggingTabId={draggingTabId}\n\t\t\t\t\t\tdropTime={dropTime}\n\t\t\t\t\t\tdndStatus={status}\n\t\t\t\t\t\tdispatch={props.dispatchFn}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n\n\treturn (\n\t\t<div className={'sn-chrome-tabs chromeTabs -' + type}>\n\t\t\t<div className=\"sn-chrome-tabs-content tab-list\">\n\t\t\t\t{_renderTabs(visibleList, type, selectedTabId, focusedTabIndex)}\n\t\t\t\t{_renderNewMenu(newMenu, _onNewTab, type)}\n\t\t\t\t{_renderTabOpenAlert(tabsMaxOpen, stopperPrompt)}\n\t\t\t\t{_renderTabCloseConfirmation(tabsToCloseQueue)}\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-chrome-tabs-content close-option\">\n\t\t\t\t{_renderPopover(optionItems)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\n\nlet _funcs = {};\n\nconst runFuncs = debounce(() => {\n\tObject.values(_funcs).forEach((fn) => fn());\n}, 500);\n\nexport const GlobalResizeListener = {\n\tadd(id, fn, runImmediately) {\n\t\tif (runImmediately) {\n\t\t\tfn();\n\t\t}\n\t\tif (window && isEmpty(_funcs)) {\n\t\t\twindow.addEventListener('resize', runFuncs);\n\t\t}\n\t\t_funcs[id] = fn;\n\t},\n\tremove(id) {\n\t\tdelete _funcs[id];\n\t\tif (isEmpty(_funcs)) {\n\t\t\twindow.removeEventListener('resize', runFuncs);\n\t\t}\n\t},\n};\n\nexport const getFuncs = () => _funcs;\n\nObject.freeze(GlobalResizeListener);\nexport default GlobalResizeListener;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","import { t } from 'sn-translate';\nimport * as constants from './constants';\nexport const tabsConfig = {\n\tvalid_max_tabs_min: 0,\n\tvalid_max_tabs_max: 100,\n\tnon_records: [\n\t\t{\n\t\t\ttype: constants.FULL_SEARCH_ITEM_TYPE,\n\t\t\ttitle: constants.FULL_SEARCH_TAB_TITLE,\n\t\t},\n\t\t{\n\t\t\ttype: constants.KNOWLEDGE_ITEM_TYPE,\n\t\t\ttitle: constants.KNOWLEDGE_TAB_TITLE,\n\t\t},\n\t],\n};\n\nexport const menuConfig = {\n\tcloseMenu: {\n\t\theader: null,\n\t\titems: [\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close Tab'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_OTHER_TABS_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close Other Tabs'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_ALL_TABS_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close All Tabs'),\n\t\t\t},\n\t\t],\n\t},\n\tmainPlus: {\n\t\theader: { name: 'new', displayValue: t('New...') },\n\t\titems: [],\n\t},\n};\n","import clamp from 'lodash/clamp';\nimport { tabsConfig } from '../../../constants/canvas_config';\n\nexport function getMaxTabLimit(tabsConfigProperty) {\n\tconst { valid_max_tabs_min, valid_max_tabs_max } = tabsConfig;\n\n\tconst defaultMaxMainTabLimit = 10;\n\tlet mainLimit =\n\t\ttabsConfigProperty?.maxMainTabLimit ?? defaultMaxMainTabLimit;\n\tmainLimit = clamp(mainLimit, valid_max_tabs_min, valid_max_tabs_max);\n\n\tconst defaultMaxSubTabLimit = 30;\n\tlet subLimit =\n\t\ttabsConfigProperty?.maxTotalSubTabLimit ?? defaultMaxSubTabLimit;\n\tsubLimit = clamp(subLimit, mainLimit, valid_max_tabs_max);\n\n\treturn {\n\t\tmainLimit,\n\t\tsubLimit,\n\t};\n}\n","import { get, isEmpty, omit } from 'lodash';\nimport { klona } from 'klona';\nimport { t } from 'sn-translate';\n\nimport { getMaxTabLimit } from './tabsData.config';\nimport {\n\tsetCanCreateParentScreen,\n\tsetCanCreateSubScreen,\n} from 'sn-canvas-common';\n\nlet PRIMARY_TAB_MAP;\nlet CONTEXTUAL_TAB_MAP;\n\nconst TAB_TITLE_CACHE_BY_SCREEN = {};\n\nexport function initTabConfig(tabConfig) {\n\tif (!tabConfig) return;\n\tcreatePrimaryTabMap(tabConfig);\n\tcreateContextualTabMap(tabConfig);\n}\n\nexport function createPrimaryTabMap(tabConfig) {\n\tPRIMARY_TAB_MAP = tabConfig.primaryRoute || {};\n\n\treturn PRIMARY_TAB_MAP;\n}\n\nexport function createContextualTabMap(tabConfig) {\n\tCONTEXTUAL_TAB_MAP = {};\n\tif (tabConfig && tabConfig.contextual) {\n\t\ttabConfig.contextual.forEach((config) => {\n\t\t\tCONTEXTUAL_TAB_MAP[config] = config;\n\t\t});\n\t}\n\treturn CONTEXTUAL_TAB_MAP;\n}\n\nexport const getPrimaryTabMap = () => PRIMARY_TAB_MAP;\nexport const getContextualTabMap = () => CONTEXTUAL_TAB_MAP;\n\nexport const generateContentKey = (fields, route) => {\n\tif (!fields) fields = {};\n\treturn Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n};\n\nexport const recoverContentFromKey = (key) => {\n\tif (!key) return;\n\tconst parts = key.split('~');\n\tconst route = parts[0];\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\treturn { route, fields };\n};\n\nexport function getContentKey(_selectedContent) {\n\tconst selectedContent = klona(_selectedContent);\n\tlet { route, fields, uid, multiInstField } = selectedContent;\n\tif (!fields) fields = {};\n\n\tif (multiInstField && fields[multiInstField]) {\n\t\tconst parts = fields[multiInstField].split('_uid_');\n\t\tfields[multiInstField] = parts[0];\n\t\tif (parts.length > 1) uid = parts[1];\n\t}\n\n\tlet key = generateContentKey(fields, route);\n\tif (uid) {\n\t\tkey = `${key}${uid}`;\n\t}\n\n\treturn key;\n}\n\nexport function primaryRouteSelected(payload) {\n\tconst primaryTabMap = getPrimaryTabMap();\n\tconst { route } = payload;\n\treturn primaryTabMap[route];\n}\n\nexport function contextualRouteSelected(payload) {\n\tif (!payload) return;\n\tconst contextualTabMap = getContextualTabMap();\n\treturn contextualTabMap[payload.route];\n}\n\nexport const setTabTitleCacheByScreen = (screenId, title) =>\n\t(TAB_TITLE_CACHE_BY_SCREEN[screenId] = title);\n\nexport const getTabTitleCachedByScreen = (screenId) =>\n\tTAB_TITLE_CACHE_BY_SCREEN[screenId];\n\nconst maxTabsPrompt = {\n\ttitle: t('Max Tab Reached'),\n\tmessage: t(\n\t\t'You have reached max number of tabs you can have open at one time. Close tabs in order to open more.',\n\t),\n\tbuttonTitle: t('Dismiss'),\n\tbuttonAction: () => {},\n};\n\nexport function getSiblings(tabsData, tab) {\n\tconst { parentTabId } = tab;\n\tlet siblings = [];\n\tif (parentTabId) {\n\t\tconst parentTab = tabsData[parentTabId];\n\t\tconst chilren = parentTab.tabList;\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst [tab_id, ...restChildren] = chilren;\n\t\tif (restChildren && restChildren.length > 0) {\n\t\t\tsiblings = restChildren.map((tabId) => tabsData[tabId]);\n\t\t}\n\t}\n\treturn siblings;\n}\n\n/**\n * Propagates the flag/field changes from the leaf node to the root node\n * while aggregating the field value at every level.\n *\n * @param {Object} tabsData - Contains the tabsdata.\n * @param {Object} tab - Leaf node.\n * @param {string} flag - Field that needs to be updated.\n * @param {any} flagValue - Field value that is used to propagate change.\n * @returns {Object} tabsData - Tabs data with udpated flag/field values.\n */\nexport function propagateFlag(tabsData, tab, flag, flagValue) {\n\tlet { parentTabId } = tab;\n\tlet value = flagValue;\n\twhile (parentTabId) {\n\t\tconst parentTab = tabsData[parentTabId];\n\t\tif (value === true) {\n\t\t\tif (parentTab[flag] === true) break;\n\t\t\telse parentTab[flag] = value;\n\t\t} else if (value === false) {\n\t\t\tparentTab[flag] = parentTab.tabList.some(\n\t\t\t\t(t) => tabsData[t][flag] === true,\n\t\t\t);\n\t\t}\n\t\tparentTabId = parentTab.parentTabId;\n\t\tvalue = parentTab[flag];\n\t}\n\treturn tabsData;\n}\n//passing no filterFn will apply obj to all tabs\nexport function applyToAllTabs(\n\ttabsData,\n\tobjToApply = {},\n\tfilterFn = () => true,\n) {\n\tconst flagsArr = ['isDirty', 'hasError', 'hasUpdate', 'hasWarning'];\n\tconst newTabsData = { ...tabsData };\n\tfor (let [tabId, tab] of Object.entries(newTabsData)) {\n\t\tif (!filterFn || (filterFn && filterFn(tab))) {\n\t\t\tnewTabsData[tabId] = { ...tab, ...objToApply };\n\n\t\t\t/**\n\t\t\t * If the title is being updated check if the tab is a parent tab.\n\t\t\t * If so then update the subtabs to get the new parent tab title for\n\t\t\t * a11y needs.\n\t\t\t */\n\t\t\tif ('tabList' in tab && 'title' in objToApply) {\n\t\t\t\tconst subTabIds = tab.tabList;\n\t\t\t\tsubTabIds.forEach((subTabId) => {\n\t\t\t\t\tconst subTab = newTabsData[subTabId];\n\t\t\t\t\tif (subTab) {\n\t\t\t\t\t\tsubTab.label = objToApply.title;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tflagsArr.forEach((flag) => {\n\t\t\t\tif (\n\t\t\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t\t\t\tobjToApply.hasOwnProperty(flag) &&\n\t\t\t\t\ttab[flag] !== objToApply[flag]\n\t\t\t\t) {\n\t\t\t\t\tpropagateFlag(\n\t\t\t\t\t\tnewTabsData,\n\t\t\t\t\t\tnewTabsData[tabId],\n\t\t\t\t\t\tflag,\n\t\t\t\t\t\tobjToApply[flag],\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn newTabsData;\n}\n\nexport function getTabById(tabList, tab_id) {\n\treturn tabList ? tabList.find((t) => t.tab_id === tab_id) : null;\n}\n\nexport function getTabIndexById(tabList, tabId) {\n\treturn tabList.findIndex((t) => t.tab_id === tabId);\n}\n\nexport function isDetailTab(tab, parentTab) {\n\tconst { contentKey } = tab;\n\tconst { contentKey: parentContentKey } = parentTab;\n\n\treturn contentKey === parentContentKey;\n}\n\nexport function getAllContentKeys(tabsData) {\n\tconst contentKeys = [];\n\tfunction traverse(node) {\n\t\tif (node && typeof node === 'object') {\n\t\t\tfor (const key in node) {\n\t\t\t\tif (key === 'contentKey') {\n\t\t\t\t\tif (contentKeys.indexOf(node[key]) === -1) {\n\t\t\t\t\t\tcontentKeys.push(node[key]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttraverse(node[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\ttraverse(tabsData);\n\treturn contentKeys;\n}\n\n/**\n *  determine if the user has reached the allowed limit of tabs\n *\n * @param {Object} param0\n * @param {Object} param0.preTabsData\n * @param {Object} param0.nextTabsData\n * @param {Object} param0.nextActiveTab\n * @param {Object} param0.tabsConfig\n * @returns {boolean}\n */\nexport function isReachingTabsLimit({\n\tpreTabsData,\n\tnextTabsData,\n\tnextActiveTab,\n\ttabsConfig,\n\texperienceId,\n}) {\n\tlet reached = false;\n\n\t// Override tab limit if active tab says so\n\tif (get(nextActiveTab, 'additional_data.overrideTabLimit', false)) {\n\t\treturn reached;\n\t}\n\n\tif (!tabsConfig) {\n\t\treturn reached;\n\t}\n\n\tconst preTabList = preTabsData ? Object.values(preTabsData) : null;\n\tconst nextTabList = Object.values(nextTabsData);\n\n\tconst { mainLimit, subLimit } = getMaxTabLimit(tabsConfig);\n\tconst preMainTabCount = countMainTabs(preTabList);\n\tconst nextMainTabCount = countMainTabs(nextTabList);\n\tif (nextMainTabCount > preMainTabCount)\n\t\treached = nextMainTabCount > mainLimit;\n\tif (nextMainTabCount == mainLimit)\n\t\tsetCanCreateParentScreen(\n\t\t\texperienceId,\n\t\t\tgetAllContentKeys(nextTabsData),\n\t\t\tfalse,\n\t\t);\n\n\tif (!reached) {\n\t\tconst nextSubTabCount = countSubTabs(nextTabList);\n\t\t// add the main tab count to the sub tab count to get the total tab count\n\t\treached = nextSubTabCount + nextMainTabCount > subLimit;\n\t\tif (nextSubTabCount + nextMainTabCount == subLimit)\n\t\t\tsetCanCreateSubScreen(\n\t\t\t\texperienceId,\n\t\t\t\tgetAllContentKeys(nextTabsData),\n\t\t\t\tfalse,\n\t\t\t);\n\t}\n\treturn reached;\n}\n\n/**\n * returns a tabStopper object if nextTabsData includes some condition that should prevent it from being accepted\n *  currently, the only condition is too many open tabs, which includes separate limits for main tabs and sub-tabs.\n *  This is set up to allow some versatility with the stopper object that gets returned, but currently there is only one.\n *  It would make sense, for exampke, to have different stopper objects for the main tab limit and th sub tab limit.\n *\n * @param {Object} preTabsData\n * @param {Object} nextTabsData\n * @param {Object} tabsConfig\n * @returns {Object}\n */\nexport function shouldUpdateTabData(\n\tpreTabsData,\n\tnextTabsData,\n\ttabsConfig,\n\texperienceId,\n) {\n\tif (!nextTabsData) return null; // if there is no new data to comapre against, return null\n\tconst nextActiveTab = getSelectedTab(nextTabsData);\n\tlet stopperPrompt = null;\n\tconst reachedTabLimit = isReachingTabsLimit({\n\t\tpreTabsData,\n\t\tnextTabsData,\n\t\tnextActiveTab,\n\t\ttabsConfig,\n\t\texperienceId,\n\t});\n\tif (reachedTabLimit) {\n\t\tstopperPrompt = maxTabsPrompt;\n\t}\n\n\treturn stopperPrompt;\n}\n\n/**\n * Counts the number of main tabs\n *\n * @param {Object[]} tabList list of tabs\n * @returns {number}\n */\nexport function countMainTabs(tabList) {\n\tif (isEmpty(tabList)) return 0;\n\t// a main tab has a parent tab of root and is not a primary tab\n\treturn tabList.filter((x) => {\n\t\treturn x.parentTabId === 'root' && !x.isPrimaryTab;\n\t}).length;\n}\n\n/**\n * Counts the total number of subtabs\n *\n * @param {Object[]} tabList list of tabs\n * @returns {number}\n */\nexport function countSubTabs(tabList) {\n\tif (isEmpty(tabList)) return 0;\n\tconst subTabs = tabList.filter((x) => {\n\t\treturn x.parentTabId && x.parentTabId !== 'root' && x.canClose;\n\t});\n\treturn subTabs.length;\n}\n\nexport function getSelectedTab(tabsData) {\n\tconst { tabList, selectedTabId } = tabsData;\n\treturn getTabById(tabList, selectedTabId);\n}\n\nexport function clearUpdateFlag(tab) {\n\t// No update flag to clear\n\tif (!tab.hasUpdate) return tab;\n\n\t// If no children, clear flag\n\tconst { tabList = [] } = tab;\n\tif (tabList.length === 0) return { ...tab, hasUpdate: false };\n\n\t// If a child tab has an update, don't clear flag\n\tif (tabList.some((t) => t.hasUpdate)) return tab;\n\n\t// Clear flag\n\treturn { ...tab, hasUpdate: false };\n}\n\nexport function updateSelectedTabs(tabsData) {\n\tif (!tabsData || !Object.keys(tabsData).length) return; // pre-condition, no work to do if tabsData is null or empty object\n\tconst clearupdateFlagReducer = (t) => clearUpdateFlag(t);\n\n\treturn applyToSelectedTabs(tabsData, clearupdateFlagReducer);\n}\n\n/**\n * Helper function applies a function to every selected tab of the tree, mutating the parent as necessary\n * @param tab\n * @param fn\n * @returns {*}\n */\nexport function applyToSelectedTabs(tabsData, tabReducer) {\n\tlet newTabsData = { ...tabsData };\n\tconst root = tabsData.root;\n\tlet { selectedTabId } = root;\n\n\twhile (selectedTabId != '-1') {\n\t\tconst currNode = tabsData[selectedTabId];\n\t\tnewTabsData[selectedTabId] = tabReducer(newTabsData[selectedTabId]);\n\t\tselectedTabId = currNode.selectedTabId;\n\t}\n\n\treturn newTabsData;\n}\n\nexport function getNavItemSelectedPayload(tabsData) {\n\tif (!tabsData) return;\n\tlet navItemSelectedPayload;\n\tconst root = tabsData.root;\n\tlet { selectedTabId } = root;\n\n\tlet i = 0;\n\twhile (selectedTabId != '-1') {\n\t\tconst currNode = tabsData[selectedTabId];\n\t\tconst { selectedContent, isDetailsTab } = currNode;\n\n\t\t// adding title field in navItemSelectedPayload for dynamicly changing the browser tab title\n\t\tlet { title } = currNode;\n\t\tif (isDetailsTab) {\n\t\t\ttitle = tabsData[currNode.parentTabId].title;\n\t\t}\n\n\t\tif (!navItemSelectedPayload) {\n\t\t\tif (isDetailsTab !== true)\n\t\t\t\tnavItemSelectedPayload = { ...selectedContent, title };\n\t\t} else {\n\t\t\tif (isDetailsTab === true) {\n\t\t\t\tnavItemSelectedPayload = { ...selectedContent, title };\n\t\t\t} else {\n\t\t\t\tnavItemSelectedPayload = {\n\t\t\t\t\t...selectedContent,\n\t\t\t\t\ttitle,\n\t\t\t\t\tparent: { ...navItemSelectedPayload },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tselectedTabId = currNode.selectedTabId;\n\t\ti++;\n\t}\n\n\tif (i == 1 && navItemSelectedPayload.drillDowns) {\n\t\tlet drillDownPayload;\n\t\tlet { drillDowns: drillDownsArr, ...rest } = navItemSelectedPayload;\n\t\tfor (let j = drillDownsArr.length - 1; j >= 0; j--) {\n\t\t\tdrillDownPayload = {\n\t\t\t\t...drillDownsArr[j],\n\t\t\t\t...(drillDownPayload && { parent: { ...drillDownPayload } }),\n\t\t\t};\n\t\t}\n\t\tif (drillDownPayload) {\n\t\t\tnavItemSelectedPayload = {\n\t\t\t\t...drillDownPayload,\n\t\t\t\tparent: { ...rest },\n\t\t\t};\n\t\t}\n\t}\n\tconst { isMultiInstFieldValUpdated, ..._navItemSelectedPayload } =\n\t\tnavItemSelectedPayload;\n\tif (isMultiInstFieldValUpdated) {\n\t\tnavItemSelectedPayload = { ..._navItemSelectedPayload, redirect: true };\n\t}\n\treturn navItemSelectedPayload;\n}\n\nexport function getDescendantTabIds(tabsData, tabId) {\n\tif (!tabsData || !tabsData[tabId]) return [];\n\tconst descendants = [];\n\tlet i = 0;\n\twhile ((descendants.length == 0 && i == 0) || i < descendants.length) {\n\t\tconst id = i == 0 ? tabId : descendants[i];\n\t\tconst tab = tabsData[id];\n\t\tdescendants.push(...tab.tabList);\n\t\ti++;\n\t}\n\treturn descendants;\n}\n\nexport function getAllLeafNodes(tabsData) {\n\treturn Object.values(tabsData).filter((tab) => tab.tabList.length === 0);\n}\n\nexport function getActiveLeafTabId(tabsData) {\n\tlet currNode = tabsData.root;\n\tlet { selectedTabId } = currNode;\n\twhile (selectedTabId != '-1') {\n\t\tcurrNode = tabsData[selectedTabId];\n\t\tselectedTabId = currNode.selectedTabId;\n\t}\n\tif (currNode && currNode.tab_id !== 'root') {\n\t\treturn currNode.selectedContent.isDetailsTab\n\t\t\t? currNode.parentTabId\n\t\t\t: currNode.tab_id;\n\t}\n\treturn null;\n}\n\nexport function clearAllFlags(tabsData) {\n\tlet newTabsData = {};\n\tconst flagsArr = ['isDirty', 'hasError', 'hasUpdate', 'hasWarning'];\n\tfor (let [tabId, tab] of Object.entries(tabsData)) {\n\t\tnewTabsData[tabId] = omit(tab, flagsArr);\n\t}\n\treturn newTabsData;\n}\n\nexport function getActiveSessionTab(tabsData) {\n\tif (!tabsData) return null;\n\tlet { selectedTabId } = tabsData.root;\n\tif (selectedTabId) return tabsData[selectedTabId];\n\treturn null;\n}\n\nexport function _buildContentKeySet(tabsData) {\n\tconst contentKeySet = new Set();\n\tObject.values(tabsData).forEach((tab) => {\n\t\tconst { contentKey, selectedContent } = tab;\n\t\tif (tab.isPrimaryTab !== true) contentKeySet.add(contentKey);\n\n\t\t//check drilldowns\n\t\tconst { drillDowns } = selectedContent || {};\n\t\tif (drillDowns && Array.isArray(drillDowns)) {\n\t\t\tdrillDowns.forEach((drilldown) => {\n\t\t\t\tconst { route, fields } = drilldown;\n\t\t\t\tconst key = generateContentKey(fields, route);\n\t\t\t\tcontentKeySet.add(key);\n\t\t\t});\n\t\t}\n\t});\n\treturn contentKeySet;\n}\n\nexport function findRemovedTabIds(oldTabIds = [], newTabIds = []) {\n\tconst set = new Set(),\n\t\t_results = [];\n\tif (oldTabIds.length - newTabIds.length < 0) return _results;\n\tnewTabIds.forEach((index) => set.add(index));\n\toldTabIds.forEach((index) => {\n\t\tif (!set.has(index)) _results.unshift(index);\n\t});\n\treturn _results;\n}\n\nconst findParentKey = (tabs = [], tabId) => {\n\tif (!tabId || tabId.length === 0) return;\n\tconst currentTab = tabs[tabId];\n\twhile (currentTab.parentTabId) {\n\t\tif (currentTab.parentTabId === 'root') return currentTab.contentKey;\n\t}\n};\n\nconst annotateRemovedSubTab = (tab = {}) => {\n\tconst _tab = { ...tab };\n\tconst isPrimaryTab = tab.isPrimaryTab;\n\tconst isMainTab = tab.parentTabId === 'root';\n\tconst withNoSubTabs = tab.tabList && tab.tabList.length === 0;\n\tconst isCloseable = tab.canClose;\n\tconst primaryOrMainTab = isPrimaryTab || isMainTab;\n\tconst isLeafSubTab = !primaryOrMainTab && withNoSubTabs && isCloseable;\n\tif (isLeafSubTab)\n\t\treturn {\n\t\t\t..._tab,\n\t\t\tisLeafTab: isLeafSubTab,\n\t\t\tannotation: { operation: 'closed' },\n\t\t};\n\treturn _tab;\n};\n\nexport const _buildRemovedTabs = (tabsData, removedTabIds) => {\n\treturn removedTabIds\n\t\t.map((tabId) => ({ ...tabsData[tabId] }))\n\t\t.map((t) => annotateRemovedSubTab(t))\n\t\t.map((t) => {\n\t\t\tif (t.isLeafTab) {\n\t\t\t\tconst parentKey = findParentKey(tabsData, t.parentTabId);\n\t\t\t\tif (parentKey)\n\t\t\t\t\treturn { ...t, annotation: { ...t.annotation, parentKey } };\n\t\t\t\treturn t;\n\t\t\t}\n\t\t\treturn t;\n\t\t})\n\t\t.map((t) => ({ [t.contentKey]: { ...t } }));\n};\n\nexport function getRemovedTabs(tabsData, newTabsData) {\n\tlet _tabsData = tabsData || {};\n\tlet _newTabsData = newTabsData || {};\n\tif (Object.keys(_tabsData).length < Object.keys(_newTabsData).length) {\n\t\treturn;\n\t}\n\tconst removedTabIds = findRemovedTabIds(\n\t\tObject.keys(tabsData),\n\t\tObject.keys(newTabsData),\n\t);\n\n\t//check if any existing tab is pointing to same contentKey/screen\n\tconst oldContentKeySet = _buildContentKeySet(_tabsData);\n\tconst newContentKeySet = _buildContentKeySet(_newTabsData);\n\tconst removedContentKeys = new Set();\n\tfor (let contentKey of oldContentKeySet) {\n\t\tif (!newContentKeySet.has(contentKey)) {\n\t\t\tremovedContentKeys.add(contentKey);\n\t\t}\n\t}\n\n\tconst removedTabs = _buildRemovedTabs(tabsData, removedTabIds);\n\n\treturn {\n\t\tremovedContentKeys: [...removedContentKeys],\n\t\tremovedTabs: [...removedTabs],\n\t};\n}\n\nexport function getPrimaryTab(tabsData) {\n\t// eslint-disable-next-line no-unused-vars\n\tfor (let [tabId, tab] of Object.entries(tabsData)) {\n\t\tif (tab && tab.isPrimaryTab === true && tab.parentTabId === 'root')\n\t\t\treturn tab;\n\t}\n}\n\nexport function getViewPortInfo(tabsData) {\n\tconst {\n\t\troot: { selectedTabId },\n\t} = tabsData;\n\tconst primaryTab = getPrimaryTab(tabsData);\n\tif (selectedTabId && primaryTab && selectedTabId === primaryTab.tab_id) {\n\t\treturn primaryTab.viewportInfo;\n\t}\n}\n\nexport function filterSelectedContent(selectedContent) {\n\tif (!selectedContent) return;\n\tconst {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t__uxfCompositionElId,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t_timestamp,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tupdateUrl,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tredirect,\n\t\t...rest\n\t} = selectedContent;\n\treturn rest;\n}\n\nexport function locateTabs(tabsData, selectedContent) {\n\tlet tabNode = tabsData.root;\n\tconst selectedContentStack = [];\n\tlet _selectedContent = { ...selectedContent };\n\twhile (_selectedContent) {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { parent, ...content } = _selectedContent;\n\t\tselectedContentStack.push(content);\n\t\t_selectedContent = _selectedContent.parent;\n\t}\n\tconst tabs = [];\n\twhile (selectedContentStack.length > 0 && tabNode) {\n\t\tconst content = selectedContentStack.pop();\n\t\tconst contentKey = getContentKey(content);\n\t\tconst { childContentKeys } = tabNode;\n\t\tif (childContentKeys && childContentKeys[contentKey]) {\n\t\t\tconst tabId = childContentKeys[contentKey];\n\t\t\tconst tab = {\n\t\t\t\t...tabsData[tabId],\n\t\t\t\tselectedContent: {\n\t\t\t\t\t...tabsData[tabId].selectedContent,\n\t\t\t\t\t...content,\n\t\t\t\t},\n\t\t\t};\n\t\t\ttabs.push(tab);\n\t\t} else {\n\t\t\tif (!content.isDetailsTab) {\n\t\t\t\tselectedContentStack.push(content);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\ttabNode = tabsData[childContentKeys[contentKey]];\n\t}\n\n\treturn { selectedContentStack, tabs };\n}\n\nexport function primaryTabContentUpdate(payload, tabsData) {\n\tconst { primaryTabPropData } = payload;\n\tconst primaryTab = getPrimaryTab(tabsData);\n\tconst { contentKey, selectedContent } = primaryTab;\n\tconst { viewportInfo, routeInfo, title, icon, id } = primaryTabPropData;\n\n\tif (!isEmpty(viewportInfo)) {\n\t\t// viewportInfo\n\t\treturn {\n\t\t\tselectedTabId: get(tabsData, 'root.tabList')[0],\n\t\t\tcontentKey: get(routeInfo, 'route'),\n\t\t\tselectedContent: {\n\t\t\t\tid,\n\t\t\t\ticon,\n\t\t\t\tlabel: title,\n\t\t\t\troute: get(routeInfo, 'route'),\n\t\t\t\tfields: get(routeInfo, 'fields', {}),\n\t\t\t\tparams: get(routeInfo, 'params', {}),\n\t\t\t},\n\t\t};\n\t} else {\n\t\t// no viewports involved\n\t\treturn {\n\t\t\trootSelectedTabId: get(tabsData, 'root.tabList')[0],\n\t\t\tcontentKey,\n\t\t\tselectedContent,\n\t\t};\n\t}\n}\n\nexport const tabResolutionStrategyMap = {\n\tACTIVE_OR_FIRST_SESSION_TAB: (tabsData) => {\n\t\tlet _tab = tabsData[tabsData.root.selectedTabId];\n\t\tif (!_tab) return;\n\t\tif (_tab.isPrimaryTab) {\n\t\t\t_tab = tabsData.root.tabList\n\t\t\t\t.map((t) => tabsData[t])\n\t\t\t\t.find((t) => t.isPrimaryTab !== true);\n\t\t}\n\t\treturn _tab ? _tab.tab_id : undefined;\n\t},\n};\n\n/**\n * Function to get the correct tab data with the lowest order value.\n * Solves issue when postgres database instance data not sorted.\n * @param primaryTabMap object with tab objects of chrome tab data\n * @returns the primary tab object with the lowest order value\n */\nexport const getPrimaryTabByOrder = (primaryTabMap) => {\n\tconst sortedTabData = Object.fromEntries(\n\t\tObject.entries(primaryTabMap).sort((a, b) => a[1].order - b[1].order),\n\t);\n\treturn sortedTabData[Object.keys(sortedTabData)[0]];\n};\n\n/**\n * Helper function used to find any matching tab to delete by matching screenKey values.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nconst matchScreenContent = (tabsData, screenKey) => {\n\treturn Object.values(tabsData).find((tabValue) => {\n\t\treturn tabValue.contentKey === screenKey;\n\t});\n};\n\n/**\n * Helper function to consider active leaf tab to close for screen closed event.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nconst matchScreenContentWithActivityLeaf = (tabsData, screenKey) => {\n\treturn Object.values(tabsData).find((tabValue) => {\n\t\treturn (\n\t\t\ttabValue.contentKey === screenKey &&\n\t\t\tgetActiveLeafTabId(tabsData) === tabValue.tab_id\n\t\t);\n\t});\n};\n\n/**\n * Function created to find the correct tab to delete if the payload.status = 'closed'.\n * The process for the function takes into account when there are parent tabs and n+ leaf tabs.\n * If the process doesn't find any leaf tabs then the process attempts to match any tab from the tabsData object\n * to the screenKey.  This handles both edge cases for DEF0296545 and DEF0375971.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nexport const getTabToDelete = (tabsData, screenKey) => {\n\tlet tabToDelete;\n\ttabToDelete = matchScreenContentWithActivityLeaf(tabsData, screenKey);\n\n\tif (!tabToDelete)\n\t\t//only do below if no leaf tabs are found\n\t\ttabToDelete = matchScreenContent(tabsData, screenKey);\n\n\treturn tabToDelete;\n};\n\nexport const _getTabMaps = () => {\n\treturn { PRIMARY_TAB_MAP, CONTEXTUAL_TAB_MAP };\n};\n","import { defineMetric, mark, getInteractionId } from '@servicenow/ui-metrics';\nimport {\n\tACTION_TYPES,\n\tCANVAS_NEW_TAB_MARK,\n\tCLOSE_ALL_TABS_MENU_ITEM,\n\tCLOSE_OTHER_TABS_MENU_ITEM,\n\tCLOSE_TAB_MENU_ITEM,\n\tMAIN_TAB_CLICKED,\n\tMAIN_TAB_CLOSE_CLICKED,\n\tMARKS,\n\tSELECT_TAB,\n\tSUB_TAB_CLOSE_CLICKED,\n} from '../constants/constants';\nimport { countMainTabs } from '../components/sn-canvas-tabsdata/utils/tabsData.utils';\n\nconst { TOOLBAR_BUTTON_CLICKED } = ACTION_TYPES;\n\nconst TAB_CLOSE_NAMES = {\n\t[CLOSE_ALL_TABS_MENU_ITEM]: 'Close All Tabs',\n\t[CLOSE_OTHER_TABS_MENU_ITEM]: 'Close Other Tabs',\n\t[CLOSE_TAB_MENU_ITEM]: 'Close Tab',\n};\n\nconst getTabHierarchy = (tabId, tabsData) => {\n\tconst types = {\n\t\tPARENT: 'Parent',\n\t\tCHILD: 'Child',\n\t};\n\treturn tabsData[tabId].parentTabId === 'root' ? types.PARENT : types.CHILD;\n};\n\n// define custom marks\nObject.values(MARKS).forEach((mark) => {\n\tdefineMetric(mark, 4);\n});\n\nexport const trackClosedTabs = (tabsData, coeffects) => {\n\tconst {\n\t\thost,\n\t\taction,\n\t\tproperties: { selectedContent },\n\t} = coeffects;\n\tconst {\n\t\tpayload: { closedFromMenu, operation, tab_id },\n\t} = action;\n\t// determine if Parent or Child tab\n\tconst type = getTabHierarchy(tab_id, tabsData);\n\t// title is empty for some tabs when looking at selectedContent\n\t// so use the tabsData with selectedContent as a fallback\n\tconst label =\n\t\ttab_id in tabsData ? tabsData[tab_id].title : selectedContent.title;\n\tif (closedFromMenu) {\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.CLICK_TAB_MENU_ITEM,\n\t\t\t{\n\t\t\t\tname: TAB_CLOSE_NAMES[operation],\n\t\t\t\ttype,\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t} else {\n\t\tconst record = selectedContent?.fields?.table ?? '';\n\t\tconst sysId = selectedContent?.fields?.sysId ?? '';\n\t\t// emit marks when closing a tab by clicking the \"X\"\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.CLOSE_TAB,\n\t\t\t{\n\t\t\t\troute: selectedContent.route,\n\t\t\t\tlabel,\n\t\t\t\trecord,\n\t\t\t\tsysId,\n\t\t\t\ttype,\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t}\n};\n\nexport const trackNewTab = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst {\n\t\tpayload: { menuItem, tabsData },\n\t} = action;\n\tconst numOfTabs = tabsData ? countMainTabs(Object.values(tabsData)) : null;\n\tif (menuItem) {\n\t\tconst table = menuItem.routeInfo?.fields?.table ?? '';\n\t\tconst route = menuItem.routeInfo?.route ?? '';\n\t\tconst name =\n\t\t\tmenuItem.title ||\n\t\t\t`New ${table.replace(/\\w/, (match) => match.toUpperCase())}`;\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.NEW_TAB,\n\t\t\t{\n\t\t\t\tname,\n\t\t\t\troute,\n\t\t\t\trecord: table,\n\t\t\t\ttabsOpened: numOfTabs - 1, // don't count the 1st tab since it can't be closed\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t}\n};\n\nexport const trackTopNav = (button, host, action) => {\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.CLICK_L1_MENU,\n\t\t{\n\t\t\tname: button.label,\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport const trackMaxTabsReached = (tabsData, coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst numOfTabs = tabsData ? countMainTabs(Object.values(tabsData)) : null;\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.EXCEED_MAX_TABS,\n\t\t{\n\t\t\ttabsOpened: numOfTabs - 1, // don't count the 1st tab since it can't be closed\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport const trackTabClick = (tabsData, coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst { payload, type } = action;\n\t// child tabs have their id inside an array `tab_ids`\n\tlet tabId = type === SELECT_TAB ? payload.tab_ids[0] : payload.tab_id;\n\n\t// only continue of the tab_id is found and it's not \"root\" tab\n\tif (!(tabId in tabsData) || tabId === 'tab_0') {\n\t\treturn false;\n\t}\n\tconst tabType = getTabHierarchy(tabId, tabsData);\n\tconst { selectedContent } = tabsData[tabId];\n\tconst record = selectedContent?.fields?.table ?? '';\n\tconst sysId = selectedContent?.fields?.sysId ?? '';\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.SELECT_TAB,\n\t\t{\n\t\t\tlabel: selectedContent.title,\n\t\t\tname: tabsData[tabId].title,\n\t\t\ttype: tabType,\n\t\t\troute: selectedContent.route,\n\t\t\trecord,\n\t\t\tsysId,\n\t\t},\n\t\t'usage',\n\t);\n};\n\nconst trackEvent = {\n\t[MAIN_TAB_CLOSE_CLICKED]: trackClosedTabs,\n\t[SUB_TAB_CLOSE_CLICKED]: trackClosedTabs,\n\t[CANVAS_NEW_TAB_MARK]: trackNewTab,\n\t[TOOLBAR_BUTTON_CLICKED]: trackTopNav,\n\t[MARKS.EXCEED_MAX_TABS]: trackMaxTabsReached,\n\t[MAIN_TAB_CLICKED]: trackTabClick,\n\t[SELECT_TAB]: trackTabClick,\n};\n\nexport { trackEvent };\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport { t } from 'sn-translate';\nimport styles from './_sn-canvas-tabs.scss';\nimport { canvasTabs } from './sn-canvas-tabs.view';\nimport GlobalResizeListener from '../../utils/global-resize-listener';\nimport { trackEvent } from '../../utils/marks';\nimport { CANVAS_NEW_TAB_MARK } from '../../constants/constants';\nimport * as tabsDragUtils from './../internal/canvas-tabbar/utils';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nexport const tabsLifeCycleHandlers = {\n\t[COMPONENT_DOM_READY]: ({ host, updateState }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalResizeListener.add(nowId, () => {\n\t\t\tupdateState({ maxWidth: host.clientWidth });\n\t\t});\n\t},\n\t[COMPONENT_RENDER_REQUESTED]({ action, properties: { tabsData } }) {\n\t\tif (!tabsData) {\n\t\t\taction.preventDefault();\n\t\t}\n\t},\n\t[COMPONENT_TREE_RENDERED]: ({ host, updateState }) => {\n\t\t// this is to update initial state to proper width\n\t\t// we should ignore zero width as it is not a valid value\n\t\t// @see DEF0676079\n\t\tif (host.clientWidth) {\n\t\t\tupdateState({ maxWidth: host.clientWidth });\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalResizeListener.remove(nowId);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action: { payload }, updateState }) => {\n\t\tconst { name, previousValue, value } = payload;\n\t\tif (name === 'tabsData') {\n\t\t\tconst showSubTabsHideAnimation =\n\t\t\t\tpreviousValue !== null &&\n\t\t\t\tvalue.root.selectedTabId === previousValue.root.selectedTabId;\n\t\t\tupdateState({\n\t\t\t\tshowSubTabsHideAnimation,\n\t\t\t});\n\t\t}\n\t},\n};\n\nexport const tabsActionHandlers = {\n\t'CANVAS_TAB_BAR#FOCUSED_TAB_SET': ({\n\t\taction: { payload },\n\t\tupdateState,\n\t\tstate,\n\t}) => {\n\t\tconst { focusedTabIndex } = state;\n\t\tconst { level, tabIndex } = payload;\n\n\t\tlet startIndex = level + 1;\n\t\tconst maxIndex = Object.entries(focusedTabIndex).length;\n\t\tlet _focusedTabIndex = { [level]: tabIndex };\n\t\twhile (startIndex <= maxIndex) {\n\t\t\t_focusedTabIndex[startIndex] = -1;\n\t\t\tstartIndex = startIndex + 1;\n\t\t}\n\t\tconst newFocusedTabIndex = {\n\t\t\t...state.focusedTabIndex,\n\t\t\t..._focusedTabIndex,\n\t\t};\n\t\tupdateState({ focusedTabIndex: newFocusedTabIndex });\n\t},\n\t[CANVAS_NEW_TAB_MARK]: (coeffects) => {\n\t\ttrackEvent[CANVAS_NEW_TAB_MARK](coeffects);\n\t},\n};\n\n/**\n * `sn-canvas-tabs` is a navigational component  that provides flexibility to switch between\n * pages/screens opened in a session in a single page app.\n *\n * There are 3 types of tabs\n *\n * ## Primary\n * An application can have only one Primary tab rendered at any point and it is always the first\n * tab if exists. Primary tab switches between `primaryRoutes` defined in `primaryTab` property.\n *\n * ## Contextual\n * Contextual tabs are dynamically generated two-level tab set which can hold **sub tabs**.\n * The routes must be defined as `contextual` in `tabConfig` property. **DrillDowns** and\n * **DeepLinking** is not possible in Contextual tabs.\n *\n * ## Main Only\n * A tab which is not `primary` and not `contextual` is rendered as main only tab that is one-level\n * tab dynamically generated and can not hold sub tabs.\n *\n * See the [README](https://code.devsnc.com/dev/sn-canvas-chrome/blob/master/src/components/sn-canvas-tabs/README.md)\n * for complete usage.\n *\n * @seismicElement sn-canvas-tabs\n */\ncreateCustomElement('sn-canvas-tabs', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: canvasTabs,\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * This is used to determine which level the tabs will be rendered in.\n\t\t * Numbering is not zero based so the top level is 1.\n\t\t * @type {number}\n\t\t */\n\t\ttabsLevel: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Configuration information for all tabs across all tab bars.\n\t\t * The config drives how to render tabs and new menu items\n\t\t * @type {object}\n\t\t */\n\t\ttabConfig: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * This holds all the information for the individual and nested tabs.\n\t\t * See https://code.devsnc.com/dev/sn-canvas-chrome/blob/master/example/tabs/data.json#L74 for\n\t\t * an example of the structure.\n\t\t * @type {object}\n\t\t */\n\t\ttabsData: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Holds a list of tabs that are to be closed sorted right to left with the deeper tabs first.\n\t\t * @type {object}\n\t\t */\n\t\ttabsToCloseQueue: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Object used to block a request to open a new tab.  Includes the information to display to the user.\n\t\t * @type {object}\n\t\t */\n\t\tstopperPrompt: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tinitialState: {\n\t\t//Give tabs full window width minus the width of toolbar, host.clientWidth will override it later.\n\t\tmaxWidth: window.innerWidth - 48,\n\t\ttabsMaxOpen: 3,\n\t\tmenuConf: {\n\t\t\tcloseMenu: {\n\t\t\t\theader: null,\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_TAB_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close Tab'),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_OTHER_TABS_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close Other Tabs'),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_ALL_TABS_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close All Tabs'),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tfocusedTabIndex: {\n\t\t\t1: -1, //level 1: focusedTabIndex -1\n\t\t\t2: -1,\n\t\t},\n\t\tdndState: null,\n\t\tdropTime: 0,\n\t\tshowSubTabsHideAnimation: true,\n\t},\n\tactionHandlers: {\n\t\t...tabsLifeCycleHandlers,\n\t\t...tabsActionHandlers,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown', 'keyup'],\n\t\t\teffect(coeffects) {\n\t\t\t\ttabsDragUtils.handleKeyboardInput(coeffects);\n\t\t\t},\n\t\t\tmodifiers: {\n\t\t\t\tname: 'debounce',\n\t\t\t\tdelay: 100,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['dragover'],\n\t\t\teffect(coeffects) {\n\t\t\t\ttabsDragUtils.handleDragOver(coeffects);\n\t\t\t},\n\t\t\ttarget: document,\n\t\t},\n\t\t{\n\t\t\tevents: ['dragstart'],\n\t\t\teffect(coeffects) {\n\t\t\t\ttabsDragUtils.handleDragStart(coeffects);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['dragend', 'drop'],\n\t\t\teffect(coeffects) {\n\t\t\t\ttabsDragUtils.handleDrop(coeffects);\n\t\t\t},\n\t\t\ttarget: document,\n\t\t},\n\t\t{\n\t\t\tevents: ['dragenter', 'dragleave'],\n\t\t\teffect(coeffects) {\n\t\t\t\ttabsDragUtils.handleDragEffect(coeffects);\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [tooltipBehavior, rtlBehavior, truncationBehavior],\n});\n","/*  MODULE NOTES\n *  This code was originally part of Workspace, and has been adapted to sn-canvas-chrome.\n *  All functionality related to closing tabs is in this module.\n *  Tab closing is opinionated, and follows these rules:\n *  1. Upon close, all child tabs are closed, and state is propagated up the ancenstor chain\n *  2. The user is asked to verify the close operation if this tab or any of its children are dirty.\n *     a) The user is prompted individually for each dirty child.\n *     b) The tabs are closed one at a time, independently.\n *     c) The first \"cancel\" on a dirty tab cancels all remaining close operations.\n *  3. If the tab being closed is the currently selected tab in its sub-tree, then a sibling tab is assigned\n *     as the selected tab according to this simple algorithm:\n *       a. select the next tab, if there is one\n *       b. else select the previous tab\n *  4. If the last child tab within a parent is closed, and the parent's canClose is true, then close the parent as well.\n */\n\n/** given a tab_id, return the tab object from the tabsData structure */\nfunction getTab(tabsData, tab_id) {\n\tconst tabList = Object.values(tabsData);\n\treturn tabList.find((tab) => tab.tab_id === tab_id);\n}\n\n/** return true if parentTab should be closed based on its current state */\nfunction shouldCloseParent(parentTab) {\n\treturn parentTab.tabList.length === 0 && parentTab.canClose;\n}\n\n/** recompute the dirty state of a parent tab assumint that tabToClose has been deleted */\nfunction isParentDirtyAfterChildClose(tabsData, tabToClose) {\n\tlet parentTab = getTab(tabsData, tabToClose.parentTabId);\n\tif (parentTab) {\n\t\tlet i;\n\t\tfor (i = 0; i < parentTab.tabList.length; i++) {\n\t\t\tconst siblingTab = getTab(tabsData, parentTab.tabList[i]);\n\t\t\tif (siblingTab.tab_id != tabToClose.tab_id) {\n\t\t\t\tif (siblingTab && siblingTab.isDirty) return true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n/** recompute the dirty state of a parent tab assumint that tabToClose has been deleted */\nfunction parentHasWarningAfterChildClose(tabsData, tabToClose) {\n\tlet parentTab = getTab(tabsData, tabToClose.parentTabId);\n\tif (parentTab) {\n\t\tlet i;\n\t\tfor (i = 0; i < parentTab.tabList.length; i++) {\n\t\t\tconst siblingTab = getTab(tabsData, parentTab.tabList[i]);\n\t\t\tif (siblingTab.tab_id != tabToClose.tab_id) {\n\t\t\t\tif (siblingTab && siblingTab.hasWarning) return true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n/** update the grandParent of a tab that is being closed\n *  every ancestor of the child tab being closed potentially needs to be updated\n *  1. if the child tab was the selected tab, then the new selectedTabId needs to popagate up\n *  2. the dirty state of each ancestor needs to be recomputed\n */\nfunction updateParentTabOnChildUpdate(\n\ttabsData,\n\tchildTab,\n\tselectedTabId,\n\tisDirty,\n\thasWarning\n) {\n\tif (childTab && childTab.parentTabId) {\n\t\tlet parentTab = getTab(tabsData, childTab.parentTabId);\n\t\tif (parentTab) {\n\t\t\tparentTab.isDirty =\n\t\t\t\tisDirty || isParentDirtyAfterChildClose(tabsData, childTab);\n\t\t\tparentTab.hasWarning =\n\t\t\t\thasWarning || parentHasWarningAfterChildClose(tabsData, childTab);\n\t\t\tupdateParentTabOnChildUpdate(\n\t\t\t\ttabsData,\n\t\t\t\tparentTab,\n\t\t\t\tparentTab.tab_id,\n\t\t\t\tparentTab.isDirty,\n\t\t\t\tparentTab.hasWarning\n\t\t\t);\n\t\t}\n\t}\n}\n\n/* update the parent of a tab that is being closed\n *   1. update the parent's recomputed state, bubbling this change up to ancestors\n *   2. remove childTabToClose from parentTab's tablist and childContentKeys\n *   3. if the parent tab is now empty and is allowed to be closed, then close it as well\n */\nfunction updateParentTabOnChildClose(tabsData, parentTab, childTabToClose) {\n\tlet index = parentTab.tabList.findIndex((t) => t === childTabToClose.tab_id);\n\tif (index === -1) return; // illegal call, childTabToClose is not a child of parentTab\n\n\tparentTab.isDirty = isParentDirtyAfterChildClose(tabsData, childTabToClose);\n\tparentTab.hasWarning = parentHasWarningAfterChildClose(\n\t\ttabsData,\n\t\tchildTabToClose\n\t);\n\tlet newSelectedTabId = '-1';\n\tif (parentTab.selectedTabId === childTabToClose.tab_id) {\n\t\t// if the childTabToClose was selected, then pick a new selection\n\t\tif (parentTab.tabList.length > index + 1) {\n\t\t\tnewSelectedTabId = parentTab.tabList[index + 1];\n\t\t} else if (index > 0) {\n\t\t\tnewSelectedTabId = parentTab.tabList[index - 1];\n\t\t}\n\t\tparentTab.selectedTabId = newSelectedTabId;\n\t}\n\t// pass the new state up the ancestor chain\n\tupdateParentTabOnChildUpdate(\n\t\ttabsData,\n\t\tparentTab,\n\t\tnewSelectedTabId,\n\t\tparentTab.isDirty,\n\t\tparentTab.hasWarning\n\t);\n\n\t// remove the child tab from all data structures in the parent that reference it\n\tif (parentTab.childContentKeys[childTabToClose.contentKey]) {\n\t\tdelete parentTab.childContentKeys[childTabToClose.contentKey];\n\t}\n\tparentTab.tabList.splice(index, 1);\n\n\t// once the parent has been updated, see if it should also be closed\n\tif (shouldCloseParent(parentTab)) {\n\t\tcloseTabById(tabsData, parentTab.tab_id, true);\n\t}\n}\n\n/** close tab_id, which will delete the tab from tabsData and clean up all references\n *  1. close tab_id's children\n *  2. adjust parent tab and all ancestor tabs\n *  3. remove tab_id from tabsData\n */\nexport function closeTabById(tabsData, tab_id, updateParent) {\n\tlet updatedTabsData = tabsData;\n\tlet tabToDelete = getTab(tabsData, tab_id);\n\tif (!tabToDelete) return updatedTabsData;\n\n\t// close the children of this tab recursively, depth-first\n\ttabToDelete.tabList.forEach(function(childTabId) {\n\t\tupdatedTabsData = closeTabById(updatedTabsData, childTabId, false);\n\t\tdelete updatedTabsData[childTabId];\n\t});\n\n\t// adjust the parent of this tab\n\tif (updateParent) {\n\t\tif (tabToDelete.parentTabId && tabToDelete.parentTabId != '-1') {\n\t\t\tupdateParentTabOnChildClose(\n\t\t\t\ttabsData,\n\t\t\t\tupdatedTabsData[tabToDelete.parentTabId],\n\t\t\t\ttabToDelete\n\t\t\t);\n\t\t}\n\t}\n\n\t// delete this tab.  Must be done after parent has been updated so parent can select an appropriate selectedTabId\n\tdelete updatedTabsData[tabToDelete.tab_id];\n\n\t// return the updated tabsData\n\treturn updatedTabsData;\n}\n\n/** return a list of tabs to be closed, depth first, right to left order */\nexport function getTabsToCloseQueue(\n\ttabsData,\n\toperation,\n\ttab_id,\n\ttabsToCloseQueue,\n\ttabFilter\n) {\n\tif (!tabsData[tab_id] || !tabsData[tab_id].tabList) return tabsToCloseQueue; // pre-condition\n\tif (tabFilter && !tabFilter(tabsData[tab_id])) return tabsToCloseQueue; // no data to process\n\n\tif (!tabsToCloseQueue.tabList) tabsToCloseQueue.tabList = []; // initialize the output struct\n\t// process child tabs first\n\tlet i = tabsData[tab_id].tabList.length - 1;\n\tfor (; i >= 0; i--) {\n\t\ttabsToCloseQueue = getTabsToCloseQueue(\n\t\t\ttabsData,\n\t\t\toperation,\n\t\t\ttabsData[tab_id].tabList[i],\n\t\t\ttabsToCloseQueue,\n\t\t\tnull\n\t\t);\n\t}\n\t// add this tab to the queue\n\tconst isDirty = tabsData[tab_id].isDirty ? tabsData[tab_id].isDirty : false;\n\tconst hasWarning = tabsData[tab_id].hasWarning\n\t\t? tabsData[tab_id].hasWarning\n\t\t: false;\n\tlet confirmationStatus = '';\n\tif (isDirty || hasWarning) confirmationStatus = 'pending';\n\tconst queueItem = {\n\t\ttab_id: tab_id,\n\t\tisDirty: isDirty,\n\t\tconfirmationStatus: confirmationStatus,\n\t\tdirtyModalId: tabsData[tab_id].dirtyModalId,\n\t\thasWarning: hasWarning,\n\t\twarningModalId: tabsData[tab_id].warningModalId,\n\t\tscreenNowId: tabsData[tab_id].screenNowId,\n\t};\n\ttabsToCloseQueue.tabList.push(queueItem);\n\treturn tabsToCloseQueue;\n}\n","import { t } from 'sn-translate';\nimport '@servicenow/now-button';\n\nimport CanvasTabBar from '../internal/canvas-tabbar';\nimport { DND_OPERATION } from '../../constants/constants';\nimport { getComponentById } from '@servicenow/ui-core';\nimport {\n\tMAIN_TAB_CLICKED,\n\tMAIN_TAB_CLOSE_CLICKED,\n\tNAV_ITEM_SELECTED,\n\tCLOSE_TAB_MENU_ITEM,\n\tSELECT_TAB,\n\tSUB_TAB_CLOSE_CLICKED,\n\tMODAL_SELECTED,\n\tCANVAS_NEW_TAB_MARK,\n} from '../../constants/constants';\n\nexport const canvasTabs = (state, { dispatch, updateState }) => {\n\tconst {\n\t\ttabsLevel,\n\t\ttabsData,\n\t\ttabsToCloseQueue,\n\t\tstopperPrompt,\n\t\ttabConfig = {},\n\t\tdir,\n\t} = state.properties;\n\t/**\n\t * @type {{dndState: import('../internal/canvas-tabbar/utils').TabDragState}}\n\t */\n\tconst { dndState, showSubTabsHideAnimation } = state;\n\tlet dropTime = state.dropTime || 0;\n\tif (dndState) {\n\t\t// tabList changed. bailout all dnd logic. this can happen\n\t\t// 1. because of \"TABS_REARRANGED\" event\n\t\t// 2. user has done the dnd operation.\n\t\tif (\n\t\t\ttabsData[dndState.parentTabId].tabList !== dndState.tabList ||\n\t\t\tdndState.status === DND_OPERATION.drop ||\n\t\t\tdndState.status === DND_OPERATION.dragEnd ||\n\t\t\tdndState.status === DND_OPERATION.completed\n\t\t) {\n\t\t\tupdateState({ dndState: null, dropTime: Date.now() });\n\t\t\tstate.dndState = { ...dndState, status: DND_OPERATION.completed };\n\t\t\tdropTime = Date.now();\n\t\t}\n\t}\n\tif (!tabsData || !tabConfig) return null;\n\n\tconst { newTabMenu: newMenu } = tabConfig;\n\n\tconst { closeMenu } = state.menuConf;\n\n\tconst _onClickTab = (tab_id) => {\n\t\tdispatch(MAIN_TAB_CLICKED, { tab_id });\n\t};\n\n\t/** onCloseHandler sets a timeout to dispatch MAIN_TAB_CLOSE_CLICKED.\n\t *  this async processing allows content to handle internal events\n\t *  use case where this matters:  user typing into a text field in a record, where the\n\t *  dirty state is only propagated up to tabs when the text field loses focus\n\t */\n\tconst _onCloseTab = (tab_id) => {\n\t\tconst _onCloseTabHandler = () => {\n\t\t\tdispatch(MAIN_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation: CLOSE_TAB_MENU_ITEM,\n\t\t\t\ttab_id,\n\t\t\t});\n\t\t};\n\t\twindow.setTimeout(_onCloseTabHandler, 100);\n\t};\n\n\tconst _onClickSubTabs = (tab_id) => {\n\t\tdispatch(SELECT_TAB, { tab_ids: [...[], tab_id] });\n\t};\n\n\tconst _onCloseSubTab = (tab_id) => {\n\t\tconst _onCloseTabHandler = () => {\n\t\t\tdispatch(SUB_TAB_CLOSE_CLICKED, {\n\t\t\t\ttab_id,\n\t\t\t});\n\t\t};\n\t\twindow.setTimeout(_onCloseTabHandler, 100);\n\t};\n\n\tconst _onClickCloseMenuItem = ({ operation, selectedTabId, type }) => {\n\t\tif (type === 'primary') {\n\t\t\tdispatch(MAIN_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation,\n\t\t\t\ttab_id: selectedTabId,\n\t\t\t\tclosedFromMenu: true,\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(SUB_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation,\n\t\t\t\ttab_id: selectedTabId,\n\t\t\t\tclosedFromMenu: true,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst _onClickNewMenuItem = (menuItem) => {\n\t\tconst { routeInfo } = menuItem;\n\t\tif (routeInfo) {\n\t\t\tlet _routeInfo = { ...routeInfo };\n\t\t\tdispatch(CANVAS_NEW_TAB_MARK, { menuItem, tabsData });\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t..._routeInfo,\n\t\t\t\ttitle: menuItem.title,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst _onShowModal = (modalID, showModal, screenNowId) => {\n\t\tconst screenRef = getComponentById(screenNowId);\n\t\tdispatch(MODAL_SELECTED, {\n\t\t\tmodalId: modalID,\n\t\t\tshowModal: showModal,\n\t\t\tscreenRef: screenRef,\n\t\t});\n\t};\n\n\tconst _renderBackButton = (drillDowns) => {\n\t\treturn drillDowns && drillDowns.length > 0 ? (\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"sn-primary-back-button\"\n\t\t\t\ticonStart=\"arrow-left-outline\"\n\t\t\t\tlabel={t('Back')}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-payload={{ drillDowns }}\n\t\t\t/>\n\t\t) : null;\n\t};\n\n\tconst _getDrillDowns = (tabsData, tabId) => {\n\t\treturn tabsData[tabId] && tabsData[tabId].selectedContent\n\t\t\t? tabsData[tabId].selectedContent.drillDowns\n\t\t\t: null;\n\t};\n\n\tconst _renderTabBars = (tabsData) => {\n\t\tif (!tabsData) return;\n\t\tlet canvasTabBars = [];\n\n\t\tlet currNode = tabsData.root;\n\t\tlet depth = 0;\n\n\t\tlet _type = 'primary';\n\t\tlet _className = 'sn-canvas-tabs-container';\n\t\tlet onClickTab = _onClickTab;\n\t\tlet onCloseTab = _onCloseTab;\n\n\t\twhile (currNode) {\n\t\t\tlet currTabList = currNode.tabList.map(\n\t\t\t\t(tab_id) => tabsData[tab_id],\n\t\t\t);\n\t\t\tlet currSelectedTabId = currNode.selectedTabId;\n\n\t\t\tif (\n\t\t\t\tcurrSelectedTabId == '-1' ||\n\t\t\t\t!currTabList ||\n\t\t\t\tcurrTabList.length == 0\n\t\t\t)\n\t\t\t\tbreak;\n\n\t\t\tif (depth > 0) {\n\t\t\t\t_type = 'default';\n\t\t\t\t_className = 'sn-canvas-sub-tabs-container';\n\t\t\t\tonClickTab = _onClickSubTabs;\n\t\t\t\tonCloseTab = _onCloseSubTab;\n\t\t\t}\n\n\t\t\tconst drillDowns = _getDrillDowns(tabsData, currSelectedTabId);\n\t\t\tconst selectedPrimaryTabId = tabsData.root.selectedTabId;\n\t\t\tconst subTabs = Object.values(tabsData).filter(\n\t\t\t\t(tab) => tab.parentTabId === selectedPrimaryTabId,\n\t\t\t);\n\t\t\tconst isSubTabs = tabsLevel === 2 || tabsLevel === '2';\n\t\t\tconst hideDetailsTab =\n\t\t\t\tisSubTabs && subTabs.length === 1 && subTabs[0].isDetailsTab;\n\t\t\tif (isSubTabs && hideDetailsTab) {\n\t\t\t\t/*\n\t\t\t\t * When there are subTabs and the only one sub tab is a details tab,\n\t\t\t\t * we can break the loop and not render the details tab.\n\t\t\t\t */\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst parentTabId = tabsData[currSelectedTabId]?.parentTabId;\n\t\t\tconst parentTabTitle =\n\t\t\t\tparentTabId !== 'root' ? tabsData[parentTabId].title : null;\n\n\t\t\tcanvasTabBars.push(\n\t\t\t\t<nav\n\t\t\t\t\tclassName={`${_className} ${showSubTabsHideAnimation && 'subTabsHideAnimation'}`}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\ttabsLevel == 1 || tabsLevel == '1'\n\t\t\t\t\t\t\t? t('Tabs')\n\t\t\t\t\t\t\t: t('Sub Tabs')\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<CanvasTabBar\n\t\t\t\t\t\tlevel={depth + 1}\n\t\t\t\t\t\tfocusedTabIndex={state.focusedTabIndex[depth + 1]}\n\t\t\t\t\t\tdispatchFn={dispatch}\n\t\t\t\t\t\ttype={_type}\n\t\t\t\t\t\ttabsMaxWidth={state.maxWidth}\n\t\t\t\t\t\ttabsMaxOpen={state.tabsMaxOpen}\n\t\t\t\t\t\tstopperPrompt={stopperPrompt}\n\t\t\t\t\t\ttabsToCloseQueue={tabsToCloseQueue}\n\t\t\t\t\t\tselectedTabId={currSelectedTabId}\n\t\t\t\t\t\ttabList={currTabList}\n\t\t\t\t\t\tnewMenu={newMenu}\n\t\t\t\t\t\tcloseMenu={closeMenu}\n\t\t\t\t\t\tonClickTab={onClickTab}\n\t\t\t\t\t\tonCloseTab={onCloseTab}\n\t\t\t\t\t\tonNewTab={_onClickNewMenuItem}\n\t\t\t\t\t\tonMenuClose={_onClickCloseMenuItem}\n\t\t\t\t\t\tonShowModal={_onShowModal}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdndState={state.dndState}\n\t\t\t\t\t\tdropTime={dropTime}\n\t\t\t\t\t\tparentTabTitle={parentTabTitle}\n\t\t\t\t\t/>\n\t\t\t\t\t{_renderBackButton(drillDowns)}\n\t\t\t\t<\/nav>,\n\t\t\t);\n\t\t\tif (tabsLevel == 1 || tabsLevel == '1') break;\n\n\t\t\tcurrNode = tabsData[currSelectedTabId];\n\t\t\tdepth++;\n\t\t}\n\t\tif (tabsLevel == 2 || tabsLevel == '2') canvasTabBars.shift();\n\n\t\treturn canvasTabBars;\n\t};\n\n\treturn _renderTabBars(tabsData);\n};\n","export const getSessionStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasSessionTabsData_${experienceId}`\n\t\t: `canvasSessionTabsData_${new Date().getTime()}`; //make it almost impossible to use sessionStorage without experienceId\n\nexport const getStorageKeyChatOnPageMap = (experienceId) => {\n\treturn experienceId\n\t\t? `canvasSessionChatOnPageMap_${experienceId}`\n\t\t: `canvasSessionChatOnPageMap_${new Date().getTime()}`;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport { getSessionStorageKey } from '../utils/browser';\nimport { getProperty } from 'sn-uxpage-presource';\n\nexport const LOCAL_STORAGE = 'localStorage';\nexport const SESSION_STORAGE = 'sessionStorage';\n\nexport const storageNamespace = {\n\t[LOCAL_STORAGE]: 'CANVAS_SESSION_TABS_LOCAL_STORAGE',\n\t[SESSION_STORAGE]: 'CANVAS_SESSION_TABS_SESSION_STORAGE',\n};\n\nlet nextTabId = 0; // Math.round(Math.random() * 1000);\n\nexport function getNextTabId() {\n\treturn 'tab_' + nextTabId++;\n}\n\nexport function shouldUseLocalStorage() {\n\treturn (\n\t\tgetProperty('glide.ui.restore.previous.session.tabs.v2', 'true') ===\n\t\t'true'\n\t);\n}\n\nexport function getStorageType() {\n\treturn shouldUseLocalStorage() ? LOCAL_STORAGE : SESSION_STORAGE;\n}\n\nexport async function getStoredTabs(userId, experienceId) {\n\tif (!experienceId) return;\n\t//let tabsData = getInitialTabsData();\n\tlet tabsData, tabConfig;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tconst storedtabsData = await getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).getItem(getSessionStorageKey(experienceId));\n\t\tif (\n\t\t\tstoredtabsData &&\n\t\t\tstoredtabsData.userId === userId &&\n\t\t\tstoredtabsData.experienceId === experienceId &&\n\t\t\tstoredtabsData.root &&\n\t\t\tArray.isArray(storedtabsData.root.tabList) &&\n\t\t\tstoredtabsData.root.tabList.length\n\t\t) {\n\t\t\t({ userId, nextTabId, experienceId, tabConfig, ...tabsData } =\n\t\t\t\tstoredtabsData);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored Tabs\n\t}\n\tif (!tabsData && !tabConfig) return;\n\n\treturn { tabsData, tabConfig };\n}\n\nexport async function saveTabs(tabsData, tabConfig, userId, experienceId) {\n\tif (!experienceId) return;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).setItem(getSessionStorageKey(experienceId), {\n\t\t\tnextTabId,\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t\ttabConfig,\n\t\t\t...tabsData,\n\t\t});\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\n/**\n * Saves the new tab data if it is not null and has keys.\n *\n * @param {Object} newTabsData - The new tab data to be saved.\n * @param {Object} properties - The properties object containing userId and experienceId.\n * @returns {Promise<void>} - A promise that resolves when the save operation is complete.\n */\nexport async function saveNewTabsData(newTabsData, properties) {\n\tif (newTabsData && Object.keys(newTabsData).length > 0) {\n\t\tawait saveTabs(\n\t\t\tnewTabsData,\n\t\t\tproperties.tabConfig,\n\t\t\tproperties.userId,\n\t\t\tproperties.experienceId,\n\t\t);\n\t}\n}\n\n//suspend tabs feature\n\nexport async function clearTabs(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).removeItem(getSessionStorageKey(experienceId));\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import { isEmpty} from 'lodash';\nimport { t } from 'sn-translate';\nimport {\n\tgetPrimaryTabMap,\n\tgetContentKey,\n\tgetTabTitleCachedByScreen,\n\tcontextualRouteSelected,\n\tprimaryRouteSelected,\n\tlocateTabs,\n\tgetPrimaryTabByOrder\n} from '../utils/tabsData.utils';\n\nimport { getNextTabId } from './tabsData.storage';\nimport { TAB_DETAILS_TITLE, TAB_LOADING } from '../../../constants/constants';\n\n//Process selectedContent\n\nexport function preProcessSelectedContent(selectedContent) {\n\tlet _rootContent = { ...selectedContent };\n\tlet drillDowns = [];\n\twhile (_rootContent && _rootContent.parent) {\n\t\tlet { parent, ...drillDown } = _rootContent;\n\t\tdrillDowns.push(drillDown);\n\t\t_rootContent = parent;\n\t}\n\n\tconst _contextualRouteSelected = contextualRouteSelected(_rootContent);\n\n\tif (_contextualRouteSelected)\n\t\treturn {\n\t\t\tselectedContent,\n\t\t\tcontextualRoute: _contextualRouteSelected,\n\t\t\ttabType: 'CONTEXTUAL'\n\t\t};\n\n\tconst _primaryRouteSelected = primaryRouteSelected(_rootContent);\n\n\tif (drillDowns.length > 1) {\n\t\tdrillDowns.reverse();\n\t}\n\tconst _selectedContent = {\n\t\t..._rootContent,\n\t\t...(drillDowns.length > 0 && { drillDowns })\n\t};\n\n\tif (_primaryRouteSelected)\n\t\treturn {\n\t\t\tselectedContent: _selectedContent,\n\t\t\tprimaryRoute: _primaryRouteSelected,\n\t\t\ttabType: 'PRIMARY'\n\t\t};\n\n\treturn { selectedContent: _selectedContent, tabType: 'MAIN_ONLY' };\n}\n\n//generate tabsData root object\nexport function generateTabsDataRoot() {\n\treturn {\n\t\troot: {\n\t\t\ttab_id: 'root',\n\t\t\tparentTabId: null,\n\t\t\tselectedTabId: '-1',\n\t\t\tchildContentKeys: {},\n\t\t\ttabList: []\n\t\t}\n\t};\n}\n\nexport function getInitPrimaryTabData({ selectedContent, primaryRoute }) {\n\tconst primaryTabMap = getPrimaryTabMap();\n\tif (Object.keys(primaryTabMap).length === 0) return;\n\tconst primaryTab = primaryRoute\n\t\t? primaryRoute\n\t\t: !isEmpty(primaryTabMap)\n\t\t? getPrimaryTabByOrder(primaryTabMap)\n\t\t: null;\n\tif (primaryTab) {\n\t\tconst content = primaryRoute ? selectedContent : primaryTab.routeInfo;\n\n\t\tconst { label, icon } = primaryTab;\n\t\tconst options = {\n\t\t\tcanClose: false,\n\t\t\tisPrimaryTab: true,\n\t\t\tsize: null,\n\t\t\tviewportInfo: null\n\t\t};\n\t\treturn getTabDefinition({\n\t\t\tselectedContent: { ...content, label, icon },\n\t\t\toptions\n\t\t});\n\t}\n}\n\nexport function getTabPayload(tabsData, payload) {\n\tconst { selectedContent, tabType } = payload;\n\tlet _selectedContent = { ...selectedContent };\n\n\tif (tabType === 'CONTEXTUAL' && payload.contextualRoute) {\n\t\tif (!_selectedContent.parent) {\n\t\t\t_selectedContent = {\n\t\t\t\t..._selectedContent,\n\t\t\t\tisDetailsTab: true,\n\t\t\t\tparent: _selectedContent\n\t\t\t};\n\t\t}\n\t}\n\tlet { selectedContentStack, tabs } = locateTabs(tabsData, _selectedContent);\n\n\twhile (selectedContentStack.length > 0) {\n\t\t//create tabs for content that are not located\n\t\tconst tabId = getNextTabId();\n\t\tconst content = selectedContentStack.pop();\n\t\tconst tab = getTabDefinition({ tabId, selectedContent: content });\n\t\ttabs.push(tab);\n\t}\n\n\tlet i = 0;\n\twhile (tabs.length > 0 && i < tabs.length - 1) {\n\t\t//manage parent and child relations in payload\n\t\tconst tab = tabs[i];\n\t\tconst subTab = tabs[i + 1];\n\t\tif (i == 0) tab.parentTabId = 'root';\n\t\ttab.selectedTabId = subTab.tab_id;\n\t\ttab.childContentKeys = {\n\t\t\t...tab.childContentKeys,\n\t\t\t[subTab.contentKey]: subTab.tab_id\n\t\t};\n\t\tif (tab.tabList && tab.tabList.indexOf(subTab.tab_id) === -1)\n\t\t\ttab.tabList.push(subTab.tab_id);\n\t\tsubTab.parentTabId = tab.tab_id;\n\t\ti++;\n\t}\n\treturn tabs;\n}\n\n//generate tab definition\nexport function getTabDefinition({ tabId, selectedContent, options = {} }) {\n\tif (!tabId) tabId = getNextTabId();\n\tconst { isDetailsTab = false, ...rest } = selectedContent;\n\tconst { canClose, isPrimaryTab = false, size, viewportInfo } = options;\n\tconst { label, title, icon } = rest;\n\tconst contentKey = getContentKey(rest);\n\tconst cachedTabTitle = getTabTitleCachedByScreen(contentKey);\n\n\tconst tab = {\n\t\ttab_id: tabId,\n\t\ttitle: isDetailsTab\n\t\t\t? t(TAB_DETAILS_TITLE)\n\t\t\t: label || title || cachedTabTitle || t(TAB_LOADING),\n\t\ticon,\n\t\tselectedTabId: '-1',\n\t\tparentTabId: 'root',\n\t\tselectedContent: rest,\n\t\tcontentKey,\n\t\tcanClose: canClose === false ? canClose : !isDetailsTab,\n\t\t...(isPrimaryTab && { isPrimaryTab }),\n\t\t...(isDetailsTab && { isDetailsTab }),\n\t\t...(size && { size: null }),\n\t\t...(viewportInfo && { viewportInfo: null }),\n\t\ttabList: []\n\t};\n\n\treturn tab;\n}\n","import { isEmpty, isNil } from 'lodash';\nimport { klona } from 'klona';\nimport * as tabUtils from '../utils/tabsData.utils';\nimport * as constants from '../../../constants/constants';\nimport * as generators from './tabsData.generators';\nimport { getStoredTabs, saveNewTabsData } from './tabsData.storage';\nimport { closeTabById } from './tabsData.closeTabs';\n\nconst reducerTypeMap = {\n\t[constants.INIT_OR_UPDATE_TABS_REDUCER]: initOrUpdateTabs,\n\t[constants.OPEN_OR_FOCUS_TAB_REDUCER]: openOrFocusTabs,\n\t[constants.LIVE_UPDATE_TABS_REDUCER]: liveUpdateTabs,\n\t[constants.CLOSE_ONE_DRILLDOWN_REDUCER]: closeOneDrillDown,\n\t[constants.UPDATE_PRIMARY_TAB_REDUCER]: updatePrimaryTab,\n};\n/**\n * Generic reducer function uses type prop to determine tab reducer\n * @param tabsData\n * @param payload\n * @returns {*}\n */\nexport async function reduceTabsData(\n\treducer_type,\n\ttabsData,\n\tpayload,\n\tproperties,\n) {\n\tif (!payload) return tabsData;\n\tconst reducer = reducerTypeMap[reducer_type];\n\tif (reducer) {\n\t\tconst { uxrEnableDebug } = properties;\n\t\tconst newTabsData = await reducer(tabsData, payload, properties);\n\t\tverifyTabsPrivate(newTabsData, reducer_type, uxrEnableDebug);\n\t\tawait saveNewTabsData(newTabsData, properties);\n\t\treturn newTabsData;\n\t}\n\n\treturn tabsData;\n}\n\nexport function setPrimaryTab(tabsData, primaryTabData, passiveNavigation) {\n\tconst newTabsData = tabsData;\n\tconst { tab_id, contentKey = {} } = primaryTabData;\n\tlet primaryTabId;\n\tif (\n\t\ttabsData &&\n\t\ttabsData.root &&\n\t\ttabsData.root.tabList &&\n\t\ttabsData.root.tabList.length > 0\n\t) {\n\t\tprimaryTabId = tabsData.root.tabList[0];\n\t\tif (\n\t\t\tprimaryTabId &&\n\t\t\ttabsData[primaryTabId] &&\n\t\t\ttabsData[primaryTabId].isPrimaryTab !== true\n\t\t) {\n\t\t\tprimaryTabId = null;\n\t\t}\n\t}\n\tprimaryTabId = primaryTabId || tab_id;\n\tif (primaryTabId) {\n\t\tnewTabsData[primaryTabId] = primaryTabData;\n\t\tnewTabsData[primaryTabId].tab_id = primaryTabId;\n\t}\n\n\tnewTabsData.root.tabList[0] = primaryTabId;\n\tnewTabsData.root.childContentKeys[contentKey] = primaryTabId;\n\tif (!passiveNavigation) newTabsData.root.selectedTabId = primaryTabId;\n\n\treturn newTabsData;\n}\n\nexport function reduceTabs(tabsData, tabs = [], passiveNavigation) {\n\tif (!tabs || !tabs.length > 0) return tabsData;\n\n\tconst { tab_id: topTabId, contentKey: topTabContentKey = {} } = tabs[0];\n\n\tconst tabsObj = tabs.reduce((obj, t) => {\n\t\tobj[t.tab_id] = t;\n\t\treturn obj;\n\t}, {});\n\n\tlet newTabsData = Object.assign({}, tabsData, tabsObj);\n\tif (!passiveNavigation) newTabsData.root.selectedTabId = topTabId;\n\n\tif (\n\t\tnewTabsData.root.tabList &&\n\t\tnewTabsData.root.tabList.indexOf(topTabId) === -1\n\t)\n\t\tnewTabsData.root.tabList.push(topTabId);\n\n\tnewTabsData.root.childContentKeys[topTabContentKey] = topTabId;\n\n\treturn newTabsData;\n}\n\nexport async function initTabs(tabsData, payload, properties) {\n\tconst { userId, experienceId } = properties;\n\tconst storedTabContent = await getStoredTabs(userId, experienceId);\n\tlet storedTabsData = storedTabContent?.tabsData;\n\tif (storedTabsData) storedTabsData = tabUtils.clearAllFlags(storedTabsData);\n\tconst { selectedContent, tabType, primaryRoute, contextualRoute } = payload;\n\n\tconst primaryTabData = generators.getInitPrimaryTabData(payload);\n\n\t// update storedTabsData title based on tabConfig. DEF0503403\n\tif (storedTabsData && properties?.tabConfig?.primaryRoute) {\n\t\tconst tabConfigPrimaryRoute = properties.tabConfig.primaryRoute;\n\t\tfor (const tabId in storedTabsData) {\n\t\t\tconst tab = storedTabsData[tabId];\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\ttabConfigPrimaryRoute,\n\t\t\t\t\ttab.id,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// Replace the title with the corresponding label from tabConfig\n\t\t\t\ttab.title = tabConfigPrimaryRoute[tab.id].label;\n\t\t\t}\n\t\t}\n\t}\n\n\tlet newTabsData = storedTabsData\n\t\t? storedTabsData\n\t\t: generators.generateTabsDataRoot();\n\n\tif (\n\t\t(!storedTabsData && primaryTabData) ||\n\t\t(storedTabsData && tabType === 'PRIMARY' && primaryRoute)\n\t)\n\t\tnewTabsData = setPrimaryTab(newTabsData, primaryTabData);\n\n\tif (tabType !== 'PRIMARY' && !primaryRoute) {\n\t\t//create details tab if launched directly in contextual route\n\t\tif (contextualRoute && selectedContent.parent) {\n\t\t\tconst _payload = Object.assign({}, payload, {\n\t\t\t\tselectedContent: Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tpayload.selectedContent.parent,\n\t\t\t\t),\n\t\t\t});\n\t\t\tconst detailsTab = generators.getTabPayload(newTabsData, _payload);\n\t\t\tnewTabsData = reduceTabs(newTabsData, detailsTab);\n\t\t}\n\n\t\tconst tabs = generators.getTabPayload(newTabsData, payload);\n\t\tnewTabsData = reduceTabs(newTabsData, tabs);\n\t}\n\n\treturn newTabsData;\n}\n\nexport async function initOrUpdateTabs(tabsData, payload, properties) {\n\tconst { passiveNavigation = false, ...restPayload } = payload;\n\tconst transformedPayload =\n\t\tgenerators.preProcessSelectedContent(restPayload);\n\tif (!tabsData)\n\t\treturn await initTabs(tabsData, transformedPayload, properties);\n\n\tlet newTabsData = Object.assign({}, tabsData);\n\n\tconst { selectedContent, tabType, contextualRoute } = transformedPayload;\n\n\tif (tabType === 'PRIMARY' && transformedPayload.primaryRoute) {\n\t\tconst primaryTabId = newTabsData.root.tabList[0];\n\t\tconst { label, icon } = transformedPayload.primaryRoute;\n\t\tconst options = {\n\t\t\tcanClose: false,\n\t\t\tisPrimaryTab: true,\n\t\t\tsize: null,\n\t\t\tviewportInfo: null,\n\t\t};\n\t\tconst newSelectedContent = selectedContent;\n\t\tnewSelectedContent.label = label;\n\t\tnewSelectedContent.icon = icon;\n\t\tconst primaryTabData = generators.getTabDefinition({\n\t\t\ttabId: primaryTabId,\n\t\t\tselectedContent: newSelectedContent,\n\t\t\toptions,\n\t\t});\n\t\tnewTabsData = setPrimaryTab(\n\t\t\tnewTabsData,\n\t\t\tprimaryTabData,\n\t\t\tpassiveNavigation,\n\t\t);\n\t} else {\n\t\tlet newTabsDataClone = klona(newTabsData);\n\t\t// test for the case where the \"details\" default subtab does not exist, and create it if necessary\n\t\tif (contextualRoute && selectedContent && selectedContent.parent) {\n\t\t\tconst parentContentKey = tabUtils.getContentKey(\n\t\t\t\tselectedContent.parent,\n\t\t\t);\n\t\t\tconst parentTabId =\n\t\t\t\tnewTabsDataClone.root.childContentKeys[parentContentKey];\n\t\t\tconst detailsTabId = newTabsDataClone[parentTabId]\n\t\t\t\t? newTabsDataClone[parentTabId].childContentKeys[\n\t\t\t\t\t\tparentContentKey\n\t\t\t\t\t]\n\t\t\t\t: null;\n\t\t\tif (detailsTabId == null) {\n\t\t\t\tconst _payload = {\n\t\t\t\t\t...transformedPayload,\n\t\t\t\t\tselectedContent: {\n\t\t\t\t\t\t...transformedPayload.selectedContent.parent,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tconst detailsTab = generators.getTabPayload(\n\t\t\t\t\tnewTabsDataClone,\n\t\t\t\t\t_payload,\n\t\t\t\t);\n\t\t\t\tnewTabsDataClone = reduceTabs(newTabsDataClone, detailsTab);\n\t\t\t}\n\t\t}\n\n\t\tconst tabs = generators.getTabPayload(\n\t\t\tnewTabsDataClone,\n\t\t\ttransformedPayload,\n\t\t);\n\t\tnewTabsData = reduceTabs(newTabsDataClone, tabs, passiveNavigation);\n\t}\n\n\treturn newTabsData;\n}\n\nexport function openOrFocusTabs(tabsData, payload) {\n\tlet { tab_id } = payload;\n\tlet newTabsData = tabsData;\n\tif (!tab_id || !newTabsData[tab_id]) return;\n\n\tlet tabId = tabUtils.getActiveLeafTabId(newTabsData);\n\n\tif (tabId && tabId === tab_id) {\n\t\t//clear drilldowns if active main tab is clicked again\n\t\tif (\n\t\t\tnewTabsData[tabId] &&\n\t\t\tnewTabsData[tabId].selectedContent.drillDowns\n\t\t) {\n\t\t\tconst selectedContent = newTabsData[tabId].selectedContent;\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tconst { drillDowns, ...rest } = selectedContent;\n\t\t\tnewTabsData[tabId].selectedContent = rest;\n\t\t\treturn newTabsData;\n\t\t}\n\t\treturn;\n\t}\n\n\t//check if an active tab is clicked\n\tconst selectedTab = newTabsData[tab_id];\n\tconst selectedParentTab =\n\t\tselectedTab && selectedTab.parentTabId\n\t\t\t? newTabsData[selectedTab.parentTabId]\n\t\t\t: null;\n\tconst activeTabId = selectedParentTab\n\t\t? selectedParentTab.selectedTabId\n\t\t: null;\n\tif (activeTabId === tab_id) {\n\t\treturn;\n\t}\n\n\twhile (tab_id != null) {\n\t\tconst currTab = newTabsData[tab_id];\n\t\tconst parentTabId = currTab.parentTabId;\n\t\tif (parentTabId == null) break;\n\t\tconst parent = newTabsData[parentTabId];\n\t\tparent.selectedTabId = tab_id;\n\t\tnewTabsData[parentTabId] = parent;\n\t\ttab_id = parentTabId;\n\t}\n\n\treturn newTabsData;\n}\n\nfunction liveUpdateTabs(tabsData, payload) {\n\tconst {\n\t\tscreenParams,\n\t\tscreenKey,\n\t\ttitle,\n\t\tmessage,\n\t\thasError,\n\t\thasUpdate,\n\t\tdirtyModalId,\n\t\tstatus,\n\t\thasWarning,\n\t\twarningMessage,\n\t\twarningModalId,\n\t\tcolor,\n\t\thighlightedValue,\n\t\tclearStyles = false,\n\t\tsecondaryTitle,\n\t\tscreenNowId,\n\t} = payload;\n\n\tconst tooltipPreview = isNil(payload.tooltipPreview)\n\t\t? {}\n\t\t: payload.tooltipPreview;\n\n\tif (!screenKey) return tabsData;\n\n\tlet { icon } = payload;\n\n\tif (status && status === constants.SCREEN_STATUS_ACTION_CLOSED) {\n\t\tconst tabToDelete = tabUtils.getTabToDelete(tabsData, screenKey);\n\n\t\treturn tabToDelete\n\t\t\t? closeTabById(tabsData, tabToDelete.tab_id, true)\n\t\t\t: tabsData;\n\t}\n\n\tlet { newTabsData, newContentKey: contentKey } = screenParams\n\t\t? updateContentKeys({\n\t\t\t\ttabsData: tabsData,\n\t\t\t\tpayload: Object.assign({}, screenParams, { screenKey }),\n\t\t\t})\n\t\t: { newTabsData: tabsData, newContentKey: screenKey };\n\n\tlet iconStatus;\n\tif (icon !== null && typeof icon === 'object') {\n\t\tconst { name, status } = icon; //status: active  = icon in green color. More status, color mappings to follow.\n\t\ticon = name;\n\t\ticonStatus = status;\n\t}\n\n\tlet nonDetailsObj = {};\n\tif (title) nonDetailsObj.title = title;\n\tif (icon) {\n\t\tnonDetailsObj.icon = icon;\n\t\tnonDetailsObj.iconStatus = iconStatus;\n\t}\n\tif (color) nonDetailsObj.color = color;\n\tif (!isEmpty(highlightedValue))\n\t\tnonDetailsObj.highlightedValue = highlightedValue;\n\tif (!isEmpty(secondaryTitle)) nonDetailsObj.secondaryTitle = secondaryTitle;\n\tif (clearStyles) {\n\t\tnonDetailsObj.iconStatus = 'default';\n\t\tnonDetailsObj.color = 'default';\n\t\tnonDetailsObj.highlightedValue = { label: '' };\n\t\tnonDetailsObj.secondaryTitle = { label: '' };\n\t}\n\n\tif (!isEmpty(nonDetailsObj)) {\n\t\tconst ignoreDetailsFilterFn = (tab) =>\n\t\t\ttab.contentKey === contentKey && !tab.isDetailsTab;\n\t\tnewTabsData = tabUtils.applyToAllTabs(\n\t\t\tnewTabsData,\n\t\t\tnonDetailsObj,\n\t\t\tignoreDetailsFilterFn,\n\t\t);\n\t\tif (title) tabUtils.setTabTitleCacheByScreen(contentKey, title);\n\t}\n\n\tconst isTooltipPreviewEmpty =\n\t\tisEmpty(tooltipPreview.primaryTitle) &&\n\t\tisEmpty(tooltipPreview.secondaryContent);\n\n\t/**\n\t * NOTE: (STRY59837322) As a part of Dirty State Management\n\t * Epic(EPIC1111724) we do not want to rely on drilled down\n\t * properties and instead want them to use DSM. Tabsdata\n\t * handles its dirty state through the\n\t * dirtyStateSubscriberBehavior(). Hence we do not have\n\t * to resolve the dirty state of the tabsdata in the reducer.\n\t * This is why objToApply does not have isDirty property.\n\t */\n\n\tconst objToApply = {};\n\tif (message) objToApply.message = message;\n\tif (!isTooltipPreviewEmpty) objToApply.tooltipPreview = tooltipPreview;\n\tif (hasError === true || hasError === false) objToApply.hasError = hasError;\n\tif (hasUpdate === true || hasUpdate === false)\n\t\tobjToApply.hasUpdate = hasUpdate;\n\tif (dirtyModalId) objToApply.dirtyModalId = dirtyModalId;\n\tif (hasWarning === true || hasWarning === false)\n\t\tobjToApply.hasWarning = hasWarning;\n\tif (warningMessage) objToApply.warningMessage = warningMessage;\n\tif (warningModalId) objToApply.warningModalId = warningModalId;\n\tif (screenNowId) objToApply.screenNowId = screenNowId;\n\n\tif (!isEmpty(objToApply)) {\n\t\tconst filterFn = (tab) => tab.contentKey === contentKey;\n\t\tnewTabsData = tabUtils.applyToAllTabs(\n\t\t\tnewTabsData,\n\t\t\tobjToApply,\n\t\t\tfilterFn,\n\t\t);\n\t}\n\treturn newTabsData;\n}\n\n/**\n * resolve overall dirty state for content from the cached dirty state of all components contained within the content\n */\nexport function resolveDirtyState(\n\ttabsData,\n\tcontentKey,\n\tcomponentId,\n\tisDirty,\n\tdirtyModalId,\n) {\n\t// find the leaf tab\n\tlet leafTab;\n\tconst allTabs = Object.values(tabsData);\n\tlet i = 0;\n\tfor (; i < allTabs.length; i++) {\n\t\tif (\n\t\t\tallTabs[i].contentKey === contentKey &&\n\t\t\tallTabs[i].tabList.length == 0\n\t\t) {\n\t\t\tleafTab = allTabs[i];\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (leafTab) {\n\t\t// if we have not yet seen this component, create an entry for it\n\t\tif (!leafTab.componentList) {\n\t\t\tleafTab.componentList = [];\n\t\t}\n\t\tconst componentForId = (entry) => entry.componentId === componentId;\n\t\tlet componentEntry = leafTab.componentList.some(componentForId);\n\t\tif (!componentEntry) {\n\t\t\tcomponentEntry = {\n\t\t\t\tcomponentId: componentId,\n\t\t\t\tisDirty: isDirty,\n\t\t\t\tdirtyModalId: dirtyModalId,\n\t\t\t};\n\t\t\tleafTab.componentList.push(componentEntry);\n\t\t}\n\n\t\t// set the properties for this entry\n\t\tleafTab.componentList.forEach((entry) => {\n\t\t\tif (entry.componentId === componentId) {\n\t\t\t\tentry.isDirty = isDirty;\n\t\t\t\tentry.dirtyModalId = dirtyModalId;\n\t\t\t}\n\t\t});\n\n\t\t// return the resolved dirty state accounting for all components\n\t\tconst isDirtyEntry = (entry) => entry.isDirty === true;\n\t\treturn leafTab.componentList.some(isDirtyEntry);\n\t} else {\n\t\t// default to the dirty state that was passed in\n\t\treturn isDirty;\n\t}\n}\n\nexport function closeOneDrillDown(tabsData) {\n\tlet newTabsData = tabsData;\n\t//const {contentKey, drillDowns} = payload;\n\n\tlet tabId = tabUtils.getActiveLeafTabId(newTabsData);\n\n\tif (tabId) {\n\t\tconst { selectedContent } = tabsData[tabId];\n\t\tlet { drillDowns, ...rest } = selectedContent;\n\n\t\tif (!drillDowns) return newTabsData;\n\n\t\tif (drillDowns.length > 0) drillDowns.pop();\n\n\t\tconst newContent = Object.assign(\n\t\t\t{},\n\t\t\trest,\n\t\t\tdrillDowns.length === 0 && { drillDowns },\n\t\t);\n\n\t\tnewTabsData[tabId].selectedContent = newContent;\n\t}\n\n\treturn newTabsData;\n}\n\nexport function updateContentKeys({\n\ttabsData,\n\tpayload: { screenKey, ...screenParams },\n}) {\n\tconst content = tabUtils.recoverContentFromKey(screenKey);\n\tconst newContentKey = tabUtils.generateContentKey(\n\t\tObject.assign({}, content.fields, screenParams),\n\t\tcontent.route,\n\t);\n\tlet _tabsData = {};\n\n\tconst tabsRequiringContentUpdate = Object.keys(tabsData).filter(\n\t\t(t) =>\n\t\t\ttabsData[t].contentKey === screenKey && tabsData[t].selectedContent,\n\t);\n\n\tconst _length = tabsRequiringContentUpdate.length;\n\tif (!_length === 0) return tabsData;\n\tlet currentTab = tabsData[tabsRequiringContentUpdate[_length - 1]];\n\twhile (currentTab) {\n\t\tlet _contentKeys = currentTab.childContentKeys\n\t\t\t? currentTab.childContentKeys\n\t\t\t: {};\n\t\tlet _selectedContent;\n\t\tif (tabsRequiringContentUpdate.includes(currentTab.tab_id)) {\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(currentTab, 'contentKey')\n\t\t\t) {\n\t\t\t\tcurrentTab.contentKey = newContentKey;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tcurrentTab,\n\t\t\t\t\t'selectedContent',\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet selectedContent = currentTab.selectedContent;\n\t\t\t\tlet _fields = selectedContent.fields;\n\n\t\t\t\tif (selectedContent.multiInstField) {\n\t\t\t\t\t_fields[selectedContent.multiInstField] =\n\t\t\t\t\t\tscreenParams[selectedContent.multiInstField];\n\t\t\t\t\tselectedContent.isMultiInstFieldValUpdated = true;\n\t\t\t\t} else {\n\t\t\t\t\t_fields = Object.assign({}, _fields, screenParams);\n\t\t\t\t}\n\n\t\t\t\tdelete selectedContent['multiInstField'];\n\t\t\t\tdelete selectedContent['uid'];\n\n\t\t\t\t_selectedContent = Object.assign({}, selectedContent, {\n\t\t\t\t\tfields: _fields,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet _currentTab = currentTab;\n\t\tif (_contentKeys) {\n\t\t\tconst oldContentKeyValue = _contentKeys[screenKey];\n\t\t\tdelete _contentKeys[screenKey];\n\t\t\t_contentKeys[newContentKey] = oldContentKeyValue;\n\t\t\t_currentTab.childContentKeys = _contentKeys;\n\t\t}\n\n\t\tif (_selectedContent) _currentTab.selectedContent = _selectedContent;\n\n\t\t_tabsData[currentTab.tab_id] = _currentTab;\n\t\tcurrentTab = currentTab.parentTabId\n\t\t\t? tabsData[currentTab.parentTabId]\n\t\t\t: null;\n\t}\n\n\tconst newTabsData = Object.assign({}, tabsData, _tabsData);\n\treturn { newTabsData, newContentKey };\n}\n\nexport function updatePrimaryTab(tabsData, payload) {\n\tif (!tabsData || !payload) return;\n\n\tconst primaryTab = tabUtils.getPrimaryTab(tabsData);\n\n\tif (!primaryTab) return;\n\t// eslint-disable-next-line no-unused-vars\n\tconst { contentKey, selectedContent, ...restPrimaryTab } = primaryTab;\n\n\tconst { primaryTabPropData } = payload;\n\tconst primaryTabContent = tabUtils.primaryTabContentUpdate(\n\t\tpayload,\n\t\ttabsData,\n\t);\n\n\tif (isEmpty(primaryTabPropData) || isEmpty(primaryTabContent)) return;\n\n\tconst tabsDataNew = tabsData;\n\ttabsDataNew[primaryTab.tab_id] = Object.assign(\n\t\t{},\n\t\trestPrimaryTab,\n\t\tprimaryTabPropData,\n\t\t{ contentKey: primaryTabContent.contentKey },\n\t\t{ selectedContent: primaryTabContent.selectedContent },\n\t);\n\treturn tabsDataNew;\n}\n\nfunction verifyTabsPrivate(tabsData, caller, doVerify) {\n\tconst verified = verifyTabs(tabsData, doVerify);\n\tif (verified.result === false) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.debug('verifyTabs failed from ' + caller, verified, tabsData);\n\t}\n\treturn verified;\n}\n\n/* verify that the tabsData structure is correct and consistent.\n * returns an object with property \"result\" set to true if everything is ok.\n * \"result\" will be set to false if there are any errors,\n * and the \"errors\" array will include descriptions of what is wrong.\n */\nexport function verifyTabs(tabsData, doVerify) {\n\tlet verified = { result: true, errors: [] };\n\tif (!doVerify) return verified;\n\tif (!tabsData) return verified;\n\n\tif (!tabsData.root) {\n\t\tverified.result = false;\n\t\tverified.errors.push('missing root element');\n\t\treturn verified;\n\t}\n\tconst tabList = Object.values(tabsData);\n\tfor (let tabIndex = 0; tabIndex < tabList.length; tabIndex++) {\n\t\tconst parentTab = tabList[tabIndex];\n\t\tverifyTab(parentTab, tabList, verified);\n\t}\n\treturn verified;\n}\n\nfunction verifyTab(tab, tabList, verified) {\n\t// verify that selected tab in parent is set to a child\n\tif (tab.selectedTabId && tab.selectedTabId != '-1') {\n\t\tif (!tab.tabList.includes(tab.selectedTabId)) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'bad selectedTabId ' + tab.tab_id + ' / ' + tab.selectedTabId,\n\t\t\t);\n\t\t}\n\t}\n\t// check for circular references.\n\t// 1. parentId cannot also be a child\n\tif (tab.tabList.includes(tab.parentTabId)) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref parent/child ' + tab.tab_id);\n\t}\n\t// 2. self cannot also be a child of itself\n\tif (tab.tabList.includes(tab.tab_id)) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref self/child ' + tab.tab_id);\n\t}\n\t// 3. self cannot be its own parent\n\tif (tab.parentTabId === tab.tab_id) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref self/parent ' + tab.tab_id);\n\t}\n\n\t// verify parent/child relationship\n\tfor (\n\t\tlet childTabIndex = 0;\n\t\tchildTabIndex < tab.tabList.length;\n\t\tchildTabIndex++\n\t) {\n\t\tconst childTabId = tab.tabList[childTabIndex];\n\t\tconst childTab = tabUtils.getTabById(tabList, childTabId);\n\t\tif (childTab.parentTabId !== tab.tab_id) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'mismatch parent/child ' + tab.tab_id + ' > ' + childTab.tab_id,\n\t\t\t);\n\t\t}\n\t\tif (tab.childContentKeys[childTab.contentKey] != childTab.tab_id) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'bad childContentKeys entry ' +\n\t\t\t\t\ttab.tab_id +\n\t\t\t\t\t' > ' +\n\t\t\t\t\tchildTab.tab_id +\n\t\t\t\t\t' / ' +\n\t\t\t\t\ttab.childContentKeys[childTab.contentKey],\n\t\t\t);\n\t\t}\n\t}\n}\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport { getStorageKeyChatOnPageMap } from '../utils/browser';\n\nimport { storageNamespace, getStorageType } from './tabsData.storage';\n\nexport async function getChatOnPageMapFromStorage(userId, experienceId) {\n\tif (!experienceId) return;\n\tlet chatOnPageMap = {};\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tconst storedChatOnPageMap = await getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).getItem(getStorageKeyChatOnPageMap(experienceId));\n\t\tif (\n\t\t\tstoredChatOnPageMap &&\n\t\t\tstoredChatOnPageMap.userId === userId &&\n\t\t\tstoredChatOnPageMap.experienceId === experienceId &&\n\t\t\ttypeof storedChatOnPageMap.chatOnPageMap === 'object'\n\t\t) {\n\t\t\tchatOnPageMap = storedChatOnPageMap.chatOnPageMap;\n\t\t}\n\t} catch (e) {\n\t\tconsole.error('Error reading Hoisted Content Map from storage:', e);\n\t}\n\treturn chatOnPageMap;\n}\n\nexport async function saveChatOnPageMapToStorage(\n\tchatOnPageMap,\n\tuserId,\n\texperienceId,\n) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).setItem(getStorageKeyChatOnPageMap(experienceId), {\n\t\t\tchatOnPageMap,\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t});\n\t} catch (e) {\n\t\tconsole.error('Error saving Hoisted Content Map to storage:', e);\n\t}\n}\n\nexport async function clearChatOnPageMapStorage(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).removeItem(getStorageKeyChatOnPageMap(experienceId));\n\t} catch (e) {\n\t\tconsole.error('Error clearing Hoisted Content Map from storage:', e);\n\t}\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t}, [\"setActionStateForShortcut\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionStateForShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionStateForShortcut;\n\t\t\t\t\t} else if ('setActionStateForShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionStateForShortcut || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionStateForShortcut;\n\t\t\t\t} });","import { isEqual, get, set, has, each, isEmpty } from 'lodash';\nimport { klona } from 'klona';\nimport { actionTypes } from '@servicenow/ui-core';\nimport * as closeTabs from './tabsData.closeTabs';\nimport * as tabUtils from '../utils/tabsData.utils';\nimport { reduceTabsData } from './tabsData.reducers';\nimport { getStoredTabs, saveTabs } from './tabsData.storage';\nimport { saveChatOnPageMapToStorage } from './utilityPanel.storage';\nimport * as constants from '../../../constants/constants';\nimport { trackEvent } from '../../../utils/marks';\nimport {\n\tdeepSearchElement,\n\tcalculateNewScreenStatusPayloads,\n} from 'sn-canvas-common';\nimport { setActionState } from '@servicenow/now-trigger-library';\nimport {\n\tregisterComponent,\n\tderegisterComponent,\n} from '@servicenow/now-trigger-library';\nimport {\n\tSELECTED_WORKSPACE_TAB_FOCUS,\n\tSELECTED_PAGE_TAB_FOCUS,\n\tUPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS,\n} from '../../../constants/constants';\nimport { setPageTitle, updateScreenCreationStatus } from 'sn-canvas-common';\nimport {\n\tupdateHoistedContentForActiveRecords,\n\tcheckHasHoistContentData,\n} from '../utils/utilityPanel.utils';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nfunction createTabsDataEffect(tabEffect) {\n\treturn {\n\t\teffect: tabsDataEffectWrapper,\n\t\targs: [tabEffect],\n\t};\n}\n\n/**\n * return true if the requested additional tab is legal\n * the checks that are done are for the max # of tab limits - primary tabs as well as subtabs\n * side effects: sets stopperPrompt property if limit exceeded\n */\nexport function allowAdditionalTabs(\n\ttabsDataCopy,\n\ttabsDataNew,\n\tdispatch,\n\tupdateProperties,\n\ttabsConfig,\n\texperienceId,\n) {\n\tconst stopper = tabUtils.shouldUpdateTabData(\n\t\ttabsDataCopy,\n\t\ttabsDataNew,\n\t\ttabsConfig,\n\t\texperienceId,\n\t);\n\tif (stopper) {\n\t\tstopper.request = true;\n\t\tupdateProperties({ stopperPrompt: stopper }); //this tells an ancestor element to show whatever UI it wants to\n\t\tconst selectedContentCurrent =\n\t\t\ttabUtils.getNavItemSelectedPayload(tabsDataCopy);\n\t\tif (selectedContentCurrent) {\n\t\t\tselectedContentCurrent.redirect = true;\n\t\t\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentCurrent);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n/**\n * return true if the requested initial tab is legal\n * the checks that are done are for the max # of tab limits - primary tabs as well as subtabs\n * side effects: sets stopperPrompt property if limit exceeded\n */\nfunction allowInitialTabs(tabsDataCopy, tabsDataNew, tabsConfig, experienceId) {\n\tconst stopper = tabUtils.shouldUpdateTabData(\n\t\ttabsDataCopy,\n\t\ttabsDataNew,\n\t\ttabsConfig,\n\t\texperienceId,\n\t);\n\tif (stopper) {\n\t\tstopper.request = true;\n\t\treturn stopper;\n\t}\n\treturn null;\n}\n\n// if we were asked to display a new tab during init phase, but doing so would violate the max tab limit,\n// then we use the primary tab as the default selected content\nfunction selectedContentForInitialTabs(tabsDataNew) {\n\tconst tabList = Object.values(tabsDataNew);\n\treturn tabList[1].selectedContent;\n}\n\nexport function getClosedTabInfo(results) {\n\tlet closedTabInfo = {\n\t\tclosedMainTabs: [],\n\t\tclosedSubTabs: [],\n\t};\n\tresults?.removedTabs\n\t\t?.filter((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\tif (keys.length === 0) return false;\n\n\t\t\treturn Object.hasOwn(item[keys[0]], 'annotation');\n\t\t})\n\t\t.map((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach((item) => {\n\t\t\tclosedTabInfo.closedSubTabs.push(item.contentKey);\n\t\t});\n\n\tresults?.removedTabs\n\t\t?.filter((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\tif (keys.length === 0) return false;\n\t\t\treturn item[keys[0]]['parentTabId'] === 'root';\n\t\t})\n\t\t.map((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach((item) => {\n\t\t\tclosedTabInfo.closedMainTabs.push(item.contentKey);\n\t\t});\n\treturn closedTabInfo;\n}\n/**\n * Wraps all tab data effects with before and after behavior\n * @param effect\n * @param coeffects\n */\nexport async function tabsDataEffectWrapper(effect, coeffects) {\n\tconst {\n\t\taction: { payload, type },\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst { tabsData, userId, experienceId } = properties;\n\tlet tabsDataCopy = klona(tabsData);\n\t/* DEF0650055 - In the case of direct load at the tab limit, we must restore the tabsData from session store. I am creating an extra variable below and not reusing\n\t   tabsDataCopy because tabsDataCopy is used to determine a particular state in direct load vs non direct load below, if I use the same variable it will be impossible to tell\n\t   if we are coming from direct load or not. The await getStoredTabs call below will only execute when tabsData is null, and that only happens in the direct load case. This will not\n\t   have much impact on performance.\n\t*/\n\tlet storedTabsData;\n\tif (!tabsData) {\n\t\tconst storedTabsContent = await getStoredTabs(userId, experienceId);\n\t\tstoredTabsData = storedTabsContent?.tabsData;\n\t}\n\tlet tabsDataNew = await effect(tabsDataCopy, payload, coeffects);\n\n\tlet _payload = payload;\n\tif (Array.isArray(payload) && payload.length > 0)\n\t\t_payload = payload[payload.length - 1];\n\tconst { passiveNavigation, inbound, skipNextScreenActivation } = _payload;\n\n\tif (!tabsDataNew) return;\n\t// If the event is a trackable event, emit an AppSee mark\n\tif (type in trackEvent) {\n\t\ttrackEvent[type](tabsDataNew, coeffects);\n\t}\n\tif (tabsDataCopy) {\n\t\tif (\n\t\t\t!allowAdditionalTabs(\n\t\t\t\ttabsDataCopy,\n\t\t\t\ttabsDataNew,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties.tabConfig,\n\t\t\t\tproperties.experienceId,\n\t\t\t)\n\t\t) {\n\t\t\ttrackEvent[constants.MARKS.EXCEED_MAX_TABS](\n\t\t\t\ttabsDataCopy,\n\t\t\t\tcoeffects,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t} else {\n\t\tconst stopper = allowInitialTabs(\n\t\t\ttabsDataCopy,\n\t\t\ttabsDataNew,\n\t\t\tproperties.tabConfig,\n\t\t\tproperties.experienceId,\n\t\t);\n\t\tif (stopper) {\n\t\t\tupdateProperties({\n\t\t\t\ttabsData: storedTabsData,\n\t\t\t\tstopperPrompt: stopper,\n\t\t\t}); //this tells an ancestor element to show whatever UI it wants to\n\n\t\t\tconst selectedContent = selectedContentForInitialTabs(\n\t\t\t\ttabsDataNew,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\ttabsDataNew = await initContent(\n\t\t\t\tstoredTabsData,\n\t\t\t\tselectedContent,\n\t\t\t\tcoeffects,\n\t\t\t);\n\n\t\t\t// NAV_ITEM_SELECTED is required to set the URL correctly\n\t\t\tconst selectedContentCurrent =\n\t\t\t\ttabUtils.getNavItemSelectedPayload(tabsDataNew);\n\t\t\tif (selectedContentCurrent) {\n\t\t\t\tselectedContentCurrent.redirect = true;\n\t\t\t\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentCurrent);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t}\n\n\ttabsDataNew = tabUtils.updateSelectedTabs(tabsDataNew);\n\tupdateProperties({ tabsData: tabsDataNew });\n\n\tconst results = tabUtils.getRemovedTabs(tabsData, tabsDataNew);\n\tif (\n\t\tresults &&\n\t\tresults.removedContentKeys &&\n\t\tresults.removedContentKeys.length > 0\n\t) {\n\t\tupdateScreenCreationStatus(\n\t\t\tproperties.experienceId,\n\t\t\tgetClosedTabInfo(results),\n\t\t);\n\t\tdispatch(constants.NAVIGATION_CLOSED, {\n\t\t\tclosedNavigationIds: [...results.removedContentKeys],\n\t\t\tclosedIdsInfo: [...results.removedTabs],\n\t\t});\n\t}\n\n\tif (\n\t\tpassiveNavigation === true ||\n\t\tinbound === true ||\n\t\tskipNextScreenActivation === true ||\n\t\tisEqual(tabsData, tabsDataNew)\n\t)\n\t\treturn;\n\n\tlet selectedContentNew = tabUtils.getNavItemSelectedPayload(tabsDataNew);\n\n\tif (selectedContentNew)\n\t\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentNew);\n}\n\n/** close main tab invoked from menu (close one, close other, close all) */\nexport function mainTabCloseClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tif (!tab_id) return tabsData;\n\tconst selectedTab = tabsData[tab_id];\n\tconst tabList =\n\t\tselectedTab &&\n\t\tselectedTab.parentTabId &&\n\t\ttabsData[selectedTab.parentTabId]\n\t\t\t? tabsData[selectedTab.parentTabId].tabList\n\t\t\t: null;\n\tif (!tabList) return tabsData;\n\tfunction tabFilter(tab) {\n\t\treturn tab.canClose;\n\t}\n\treturn tabCloseClickedEffect(\n\t\ttabsData,\n\t\tpayload,\n\t\tcoeffects,\n\t\ttabList,\n\t\ttabFilter,\n\t\ttabFilter,\n\t);\n}\n\n/** close sub tab invoked from menu (close one, close other, close all)  */\nfunction subTabCloseClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tconst selectedTab = tabsData[tab_id];\n\tconst tabList = tabsData[selectedTab.parentTabId].tabList;\n\tfunction tabFilterAll() {\n\t\treturn true;\n\t}\n\tfunction tabFilterOther(tab) {\n\t\treturn !(tab.canClose === false);\n\t}\n\treturn tabCloseClickedEffect(\n\t\ttabsData,\n\t\tpayload,\n\t\tcoeffects,\n\t\ttabList,\n\t\ttabFilterAll,\n\t\ttabFilterOther,\n\t);\n}\n\n/** implementation of close behavior, common for main and sub tabs */\nexport function tabCloseClickedEffect(\n\ttabsData,\n\tpayload,\n\tcoeffects,\n\ttabList,\n\ttabFilterAll,\n\ttabFilterOther,\n) {\n\t// Let tabsDataWrapper know that no new nav item selected should happen\n\tset(coeffects, 'action.payload.inbound', true);\n\tconst { operation, tab_id, ignoreDirty = false } = payload;\n\tconst { dispatch, updateProperties } = coeffects;\n\tlet tabsDataCopy = klona(tabsData);\n\n\tupdateProperties(({ properties }) => {\n\t\tconst { tabsData } = properties;\n\t\t// build the list of tabs to be closed\n\t\t// note that we close then right to left, so we iterate through tabList backwards\n\t\tlet tabsToCloseQueue = {};\n\t\tif (operation === constants.CLOSE_ALL_TABS_MENU_ITEM) {\n\t\t\tlet i = tabList.length - 1;\n\t\t\tfor (; i >= 0; i--) {\n\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\ttabsData,\n\t\t\t\t\toperation,\n\t\t\t\t\ttabsData[tabList[i]].tab_id,\n\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\ttabFilterAll,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (operation === constants.CLOSE_OTHER_TABS_MENU_ITEM) {\n\t\t\tlet i = tabList.length - 1,\n\t\t\t\tactivityKeys = [];\n\t\t\tfor (; i >= 0; i--) {\n\t\t\t\tif (tabsData[tabList[i]].tab_id != tab_id) {\n\t\t\t\t\tconst _tab = tabsData[tabList[i]];\n\t\t\t\t\tactivityKeys.push({ key: _tab.contentKey });\n\t\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\t\ttabsData,\n\t\t\t\t\t\toperation,\n\t\t\t\t\t\ttabsData[tabList[i]].tab_id,\n\t\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\t\ttabFilterOther,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// close selected tab\n\t\t\tif (tabsData[tab_id].canClose) {\n\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\ttabsData,\n\t\t\t\t\toperation,\n\t\t\t\t\ttab_id,\n\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\tnull,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// stash the queue of tabs to be closed in state, and dispatch the message to process that queue\n\t\tif (tabsToCloseQueue.tabList) {\n\t\t\tif (ignoreDirty) {\n\t\t\t\t// set this here to supress the dialog\n\t\t\t\ttabsToCloseQueue.tabList[0].skipConfirmation = true;\n\t\t\t\ttabsToCloseQueue.tabList[0].confirmationStatus = 'confirmed';\n\t\t\t}\n\t\t\tdispatch(constants.TABS_CLOSE_REQUESTED, {\n\t\t\t\t...payload,\n\t\t\t\tinbound:\n\t\t\t\t\tignoreDirty === true\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: tabsData[tabUtils.getActiveLeafTabId(tabsData)]\n\t\t\t\t\t\t\t\t.isDirty === true,\n\t\t\t});\n\t\t\ttabsDataCopy = tabsData;\n\t\t\treturn {\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'tabsToCloseQueue',\n\t\t\t\tvalue: tabsToCloseQueue,\n\t\t\t};\n\t\t}\n\t\ttabsDataCopy = tabsData;\n\t\treturn {};\n\t});\n\n\treturn tabsDataCopy;\n}\n\n/** current tab in close queue required confirmation, and confirmation was granted.\n *  change the state of the queue entry for that tab to 'confirmed' and continue processing the queue\n */\nexport function mainTabCloseConfirmedEffect(tabsData, _payload, coeffects) {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\tif (\n\t\ttabsToCloseQueue &&\n\t\ttabsToCloseQueue.tabList &&\n\t\ttabsToCloseQueue.tabList.length > 0\n\t) {\n\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'confirmed';\n\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\tdispatch(constants.TABS_CLOSE_REQUESTED, tabsData);\n\t\tconst modalId =\n\t\t\ttabsToCloseQueue.tabList[0].dirtyModalId ||\n\t\t\ttabsToCloseQueue.tabList[0].warningModalId;\n\t\tif (modalId) {\n\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\tmodalId,\n\t\t\t\tshowModal: false,\n\t\t\t});\n\t\t\tdispatch(constants.NOW_CONFIRM_MODAL_CLEAR);\n\t\t}\n\t}\n\treturn tabsData;\n}\n\n/** current tab in close queue required confirmation, and confirmation was denied.\n *  change the state of the queue entry for that tab to 'cancelled' and continue processing the queue\n *  we have to verify that we're in the middle of a close operation here, because we have to handle\n *  modal dialog dismissed events, and it might not be the tab close dialog (NOW_MODAL#OPENED_SET)\n */\nexport function mainTabCloseCancelledEffect(tabsData, _payload, coeffects) {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\tif (\n\t\ttabsToCloseQueue &&\n\t\ttabsToCloseQueue.tabList &&\n\t\ttabsToCloseQueue.tabList.length > 0\n\t) {\n\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'cancelled';\n\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\tdispatch(constants.TABS_CLOSE_REQUESTED, {\n\t\t\t..._payload,\n\t\t\tinbound: true,\n\t\t});\n\t\tconst modalId =\n\t\t\ttabsToCloseQueue.tabList[0].dirtyModalId ||\n\t\t\ttabsToCloseQueue.tabList[0].warningModalId;\n\t\tif (modalId) {\n\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\tmodalId,\n\t\t\t\tshowModal: false,\n\t\t\t});\n\t\t\tdispatch(constants.NOW_CONFIRM_MODAL_CLEAR);\n\t\t}\n\t}\n\treturn tabsData;\n}\n\n/** process the queue of tabs that are pending close */\nexport function tabCloseRequestedEffect(tabsData, _payload, coeffects) {\n\tconst { properties, updateProperties, dispatch } = coeffects;\n\tlet pendingConfirmation = false;\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\n\tif (tabsToCloseQueue.tabList) {\n\t\tlet i;\n\t\tfor (i = 0; i < tabsToCloseQueue.tabList.length; i++) {\n\t\t\tif (!tabsData[tabsToCloseQueue.tabList[i].tab_id])\n\t\t\t\t// already deleted\n\t\t\t\tcontinue;\n\n\t\t\tif (\n\t\t\t\t!tabsToCloseQueue.tabList[i].isDirty &&\n\t\t\t\t!tabsToCloseQueue.tabList[i].hasWarning\n\t\t\t) {\n\t\t\t\t// close clean tab\n\t\t\t\ttabsData = closeTabs.closeTabById(\n\t\t\t\t\ttabsData,\n\t\t\t\t\ttabsToCloseQueue.tabList[i].tab_id,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\ttabsToCloseQueue.tabList[i].confirmationStatus === 'confirmed'\n\t\t\t) {\n\t\t\t\t// we already asked for confirmation, and we were told to force-close this tab\n\t\t\t\ttabsData = closeTabs.closeTabById(\n\t\t\t\t\ttabsData,\n\t\t\t\t\ttabsToCloseQueue.tabList[i].tab_id,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t\t// if the content had a custom modal, tell it to close itself\n\t\t\t\tconst modalId =\n\t\t\t\t\ttabsToCloseQueue.tabList[i].dirtyModalId ||\n\t\t\t\t\ttabsToCloseQueue.tabList[i].warningModalId;\n\t\t\t\tif (modalId) {\n\t\t\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\t\t\tmodalId,\n\t\t\t\t\t\tshowModal: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\ttabsToCloseQueue.tabList[i].confirmationStatus === 'cancelled'\n\t\t\t) {\n\t\t\t\t// we were told to stop processing this close operation\n\t\t\t\t// set state by removing all remaining tabs in the queue, and break\n\t\t\t\tupdateProperties({ tabsToCloseQueue: {} });\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// tab is dirty but we haven't yet asked to close it, so set up state to do so and break\n\t\t\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\t\t\tnewtabsToCloseQueue.tabList.splice(0, i);\n\t\t\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'pending';\n\t\t\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\t\t\tpendingConfirmation = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// if there are no more tabs to close, reset the state\n\t\tif (!pendingConfirmation) updateProperties({ tabsToCloseQueue: {} });\n\n\t\tdispatch(constants.TAB_JUST_CLOSED, tabsData);\n\t}\n\treturn tabsData;\n}\n\n//Handle focus on tab just closed\nfunction tabJustClosedEffect(payload) {\n\tconst selectedTab = deepSearchElement(`#${payload.root.selectedTabId}`);\n\tselectedTab.focus();\n}\n\nfunction mainTabNewAlertClearedEffect(tabsData, payload, coeffects) {\n\tconst { updateProperties } = coeffects;\n\tupdateProperties({ stopperPrompt: {} });\n\treturn tabsData;\n}\n\nasync function mainTabClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tconst { dispatch, properties } = coeffects;\n\t//const tabPayload = generators.getSelectTabPayload([tab_id]);\n\tconst tab = tabsData[tab_id];\n\tif (\n\t\ttab &&\n\t\ttab.isPrimaryTab === true &&\n\t\ttab.parentTabId === 'root' &&\n\t\ttab.viewportInfo\n\t) {\n\t\tdispatch(constants.VIEWPORT_SELECTED, {\n\t\t\tid: tab.id,\n\t\t\tviewportInfo: {\n\t\t\t\t...tab.viewportInfo,\n\t\t\t\tfields: { opened: !tab.viewportInfo.fields.opened },\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\treturn await reduceTabsData(\n\t\tconstants.OPEN_OR_FOCUS_TAB_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n}\n\nasync function selectTabEffect(tabsData, payload, coeffects) {\n\tlet {\n\t\ttab_ids = [],\n\t\t_implicitTabResolution = false,\n\t\t_tabResolutionStrategy = 'ACTIVE_OR_FIRST_SESSION_TAB',\n\t} = payload;\n\n\tconst { properties } = coeffects;\n\n\tif (tab_ids.length === 0 && _implicitTabResolution === true) {\n\t\tconst _tabId =\n\t\t\ttabUtils.tabResolutionStrategyMap[_tabResolutionStrategy](tabsData);\n\t\tif (_tabId === undefined || _tabId === null) return;\n\t\ttab_ids = tab_ids.concat(_tabId);\n\t}\n\tconst reducerPayload = { tab_id: tab_ids[0] };\n\treturn await reduceTabsData(\n\t\tconstants.OPEN_OR_FOCUS_TAB_REDUCER,\n\t\ttabsData,\n\t\treducerPayload,\n\t\tproperties,\n\t);\n}\n\nconst drillDownBackClickedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\treturn await reduceTabsData(\n\t\tconstants.CLOSE_ONE_DRILLDOWN_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\n//Property change effects\nconst screenContentChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\tlet currTabsData = tabsData;\n\tfor (const item of payload) {\n\t\tcurrTabsData = await reduceTabsData(\n\t\t\tconstants.LIVE_UPDATE_TABS_REDUCER,\n\t\t\tcurrTabsData,\n\t\t\titem,\n\t\t\tproperties,\n\t\t);\n\t}\n\treturn currTabsData;\n};\n\nconst initContent = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\treturn await reduceTabsData(\n\t\tconstants.INIT_OR_UPDATE_TABS_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\nconst selectedContentChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties, state } = coeffects;\n\tconst { registeredComponentId } = state;\n\tconst reducedTabsData = await reduceTabsData(\n\t\tconstants.INIT_OR_UPDATE_TABS_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n\n\t// DEF0577913- Title Update Fix\n\tif (!payload?.title) {\n\t\tconst activeTabContent =\n\t\t\ttabUtils.getNavItemSelectedPayload(reducedTabsData) || {};\n\t\tconst experienceName = get(\n\t\t\tactiveTabContent,\n\t\t\t'context.experienceName',\n\t\t\t'',\n\t\t);\n\t\tif (\n\t\t\tactiveTabContent?.route !== 'classic' &&\n\t\t\t!activeTabContent?.passiveNavigation\n\t\t) {\n\t\t\tsetPageTitle('', activeTabContent?.title, experienceName);\n\t\t}\n\t}\n\n\tif (reducedTabsData?.root) {\n\t\tconst { selectedTabId } = reducedTabsData.root;\n\t\tconst selectedTab = reducedTabsData[selectedTabId];\n\n\t\tsetActionState(\n\t\t\tregisteredComponentId,\n\t\t\tSELECTED_PAGE_TAB_FOCUS,\n\t\t\tselectedTab.tabList.length > 1,\n\t\t);\n\t}\n\n\treturn reducedTabsData;\n};\n\nconst primaryTabPropChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\tset(coeffects, 'action.payload.inbound', true);\n\treturn await reduceTabsData(\n\t\tconstants.UPDATE_PRIMARY_TAB_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\n//Property Change actions\nexport const handleTabConfigPropChange = (tabConfig, properties, dispatch) => {\n\tif (!tabConfig || typeof tabConfig === 'string') return;\n\ttabUtils.initTabConfig(tabConfig);\n\tconst { selectedContent } = properties;\n\tif (selectedContent) {\n\t\tconst rest = tabUtils.filterSelectedContent(selectedContent);\n\t\tdispatch(constants.TABS_SELECTED_CONTENT_CHANGED, {\n\t\t\t...rest,\n\t\t\tinbound: true,\n\t\t});\n\t}\n};\n\nexport const handleSelectedContentPropChange = (\n\tvalue,\n\tpreviousValue,\n\tproperties,\n\tdispatch,\n) => {\n\tif (!value || typeof value === 'string') return;\n\tconst { tabConfig, tabsData } = properties;\n\tconst selectedContent = tabUtils.filterSelectedContent(value);\n\tif (!tabConfig || !selectedContent || !selectedContent.route) return null;\n\tif (tabConfig && !tabsData) tabUtils.initTabConfig(tabConfig);\n\tconst prevSelectedContent = tabUtils.filterSelectedContent(previousValue);\n\tif (!isEqual(selectedContent, prevSelectedContent))\n\t\tdispatch(constants.TABS_SELECTED_CONTENT_CHANGED, {\n\t\t\t...selectedContent,\n\t\t\tinbound: true,\n\t\t});\n};\n\nconst handleChangedScreenContentPropChange = (\n\tpreviousChangedScreenContent,\n\tchangedScreenContent,\n\tdispatch,\n) => {\n\tconst new_items = calculateNewScreenStatusPayloads(\n\t\tpreviousChangedScreenContent,\n\t\tchangedScreenContent,\n\t);\n\n\tnew_items.forEach((item, idx, all_items) => {\n\t\tconst { status, isScreenKeyUpdated = false } = item;\n\t\tall_items[idx] = {\n\t\t\t...item,\n\t\t\t...(((status !== constants.SCREEN_STATUS_ACTION_CLOSED &&\n\t\t\t\tisScreenKeyUpdated === false) ||\n\t\t\t\t(status === constants.SCREEN_STATUS_ACTION_INSERTED &&\n\t\t\t\t\tisScreenKeyUpdated === true)) && { inbound: true }),\n\t\t};\n\t});\n\tdispatch(constants.TABS_SCREEN_CONTENT_CHANGED, new_items);\n};\n\nexport const handleScreenCloseConfirmationChange = (\n\tscreenCloseConfirmation,\n\tdispatch,\n) => {\n\tif (screenCloseConfirmation === 'true')\n\t\tdispatch(constants.SCREEN_CLOSED_CONFIRMED, { inbound: true });\n\telse if (screenCloseConfirmation === 'false')\n\t\tdispatch(constants.SCREEN_CLOSED_CANCELLED, { inbound: true });\n};\n\nconst handlePrimaryTabPropChange = (primaryTabPropData, dispatch) => {\n\tif (!primaryTabPropData) return;\n\tdispatch(constants.PRIMARY_TAB_PROP_CHANGED, {\n\t\tprimaryTabPropData,\n\t\tinbound: true,\n\t});\n};\n\n/**\n * Updates the tabsData properties activeRecords and activeParentId\n *\n * Determines activeParentId and activeRecords from tabsData and chatOnPageMap props.\n * Chat Team hooks into activeRecords.hasChatOnPage to determine whether to hide\n * or show Agent Chat on a record.\n *\n * @param {Object} tabsData - The current tabs data structure.\n * @param {Function} updateProperties - Function to update component properties.\n * @param {Object} properties - Additional properties, including chatOnPageMap.\n */\nexport const handleActiveRecords = (tabsData, updateProperties, properties) => {\n\tconst chatOnPageMap =\n\t\tproperties && properties.chatOnPageMap ? properties.chatOnPageMap : {};\n\n\tlet activeParentId = '-1';\n\tlet tabList = [];\n\tlet activeRecords = [];\n\n\tif (has(tabsData, 'root')) {\n\t\tconst selectedTabId = get(tabsData, 'root.selectedTabId');\n\t\tconst selectedTab = tabsData[selectedTabId];\n\t\tconst selectedContentFields = selectedTab?.selectedContent?.fields;\n\n\t\tif (selectedTabId !== 'tab_0') {\n\t\t\tactiveParentId = get(\n\t\t\t\tselectedTab,\n\t\t\t\t'selectedContent.fields.sysId',\n\t\t\t\t'-1',\n\t\t\t);\n\t\t}\n\n\t\tconst table = get(selectedTab, 'selectedContent.fields.table', '-1');\n\t\tconst chatOnPageMapKey = `${table}~${activeParentId}`;\n\n\t\t//Criteria to be active record and to be a page with chat enabled\n\t\tconst canBeActiveRecord =\n\t\t\tselectedContentFields?.table && selectedContentFields?.sysId;\n\n\t\t/* DEF0675071: Prevent Handling Active Records until chatOnPageMap is available.\n\t\t * If chatOnPageMap is not available for the selected page, do not update\n\t\t * activeRecords and activeParentId. The Chat Shell eagerly reads these properties\n\t\t * from the tabsData on load, and does not have a property handler for tabsData updated.\n\t\t * Thus, we need to ensure these two properties are set correctly.\n\t\t */\n\t\tif (!chatOnPageMap[chatOnPageMapKey] && canBeActiveRecord) {\n\t\t\treturn;\n\t\t}\n\n\t\ttabList = get(tabsData, 'root.tabList', []);\n\t\teach(tabList, (tabId) => {\n\t\t\tconst tab = tabsData[tabId];\n\t\t\tif (!get(tab, 'isPrimaryTab', false)) {\n\t\t\t\tlet activeRecord = get(tab, 'selectedContent.fields', {});\n\t\t\t\tactiveRecord = klona(activeRecord);\n\n\t\t\t\tif (!isEmpty(activeRecord)) {\n\t\t\t\t\tactiveRecord.hasChatOnPage = false;\n\t\t\t\t\tcheckHasHoistContentData(chatOnPageMap, activeRecord);\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(activeRecord)) {\n\t\t\t\t\tactiveRecords.push(activeRecord);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateProperties({\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t});\n};\n\nconst handleScreensToCloseQueueChange = (\n\tscreensToCloseQueue = [],\n\t{ tabsData },\n\tdispatch,\n\tupdateProperties,\n) => {\n\tif (!Array.isArray(screensToCloseQueue) || screensToCloseQueue.length === 0)\n\t\treturn;\n\tconst tabsToClose = screensToCloseQueue.map((screen) => ({\n\t\ttab_id: tabsData.root.childContentKeys[screen.screenKey],\n\t\tignoreDirty: screen.ignoreDirty || false,\n\t}));\n\n\tif (tabsToClose.length === 0) return;\n\t// TODO: we need a batch close, revisit it.\n\ttabsToClose.forEach((tab) =>\n\t\tdispatch(constants.MAIN_TAB_CLOSE_CLICKED, {\n\t\t\ttab_id: tab.tab_id,\n\t\t\toperation: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\tignoreDirty: tab.ignoreDirty,\n\t\t}),\n\t);\n\n\tupdateProperties({\n\t\tscreensToCloseQueue: [],\n\t});\n};\n\nconst loadTabConfigFromCache = async (coeffects) => {\n\tconst {\n\t\tproperties: { userId, experienceId, tabConfig: tabConfigFromProps },\n\t\thost,\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (!isEmpty(tabConfigFromProps)) return;\n\tif (!userId || !experienceId) return;\n\tconst storedTabsContent = await getStoredTabs(userId, experienceId);\n\tlet tabConfig = storedTabsContent?.tabConfig;\n\tif (tabConfig) {\n\t\tupdateProperties({\n\t\t\ttabConfig,\n\t\t});\n\t\tconst tabElements = host.querySelectorAll('sn-canvas-tabs');\n\t\tfor (let i = 0; i < tabElements.length; i++) {\n\t\t\tif (!tabElements[i].tabConfig) tabElements[i].tabConfig = tabConfig;\n\t\t}\n\t}\n};\n\n// eslint-disable-next-line no-unused-vars\nconst tabsPropertyChangedEffect = async ({\n\thost,\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst { name, value, previousValue } = action.payload;\n\n\tswitch (name) {\n\t\tcase 'tabConfig':\n\t\t\thandleTabConfigPropChange(value, properties, dispatch);\n\t\t\tbreak;\n\n\t\tcase 'selectedContent':\n\t\t\thandleSelectedContentPropChange(\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase 'changedScreenContent':\n\t\t\thandleChangedScreenContentPropChange(\n\t\t\t\tpreviousValue,\n\t\t\t\tvalue,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase 'screenCloseConfirmation':\n\t\t\thandleScreenCloseConfirmationChange(value, dispatch);\n\t\t\tbreak;\n\n\t\tcase 'primaryTab':\n\t\t\thandlePrimaryTabPropChange(value, dispatch);\n\t\t\tbreak;\n\n\t\tcase 'tabsData':\n\t\t\thandleActiveRecords(value, updateProperties, properties);\n\t\t\tbreak;\n\n\t\tcase 'screensToCloseQueue':\n\t\t\thandleScreensToCloseQueueChange(\n\t\t\t\tvalue,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'experienceId':\n\t\t\tawait loadTabConfigFromCache({\n\t\t\t\thost,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'userId':\n\t\t\tawait loadTabConfigFromCache({\n\t\t\t\thost,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\n/** handle generic modal dialog close message, which comes from the \"x\" close icon.\n *  if 'NOW_MODAL#OPENED_SET' reaches this code for a modal that doesn't belong to us,\n *  then it results in a no-op.\n */\nfunction modalClosedEffect(tabsData, payload, coeffects) {\n\tmainTabCloseCancelledEffect(tabsData, payload, coeffects);\n\tmainTabNewAlertClearedEffect(tabsData, payload, coeffects);\n}\n\nfunction modalSelectedEffect(tabsData, payload, coeffects) {\n\tconst { host } = coeffects;\n\tconst componentId = get(coeffects, 'action.meta.id');\n\n\tif (componentId !== host.componentId && payload.showModal === false)\n\t\tmodalClosedEffect(tabsData, payload, coeffects);\n}\n\nasync function tabsDataConnectedEffect(coeffects) {\n\tconst { host } = coeffects;\n\tawait loadTabConfigFromCache(coeffects);\n\tconst tabsUnloadHandler = async () => {\n\t\tif (host && host.getProperty) {\n\t\t\tconst tabsData = host.getProperty('tabsData');\n\t\t\tconst tabConfig = host.getProperty('tabConfig');\n\t\t\tconst experienceId = host.getProperty('experienceId');\n\t\t\tconst userId = host.getProperty('userId');\n\t\t\tawait saveTabs(tabsData, tabConfig, userId, experienceId);\n\t\t\tconst chatOnPageMap = host.getProperty('chatOnPageMap');\n\t\t\tawait saveChatOnPageMapToStorage(\n\t\t\t\tchatOnPageMap,\n\t\t\t\tuserId,\n\t\t\t\texperienceId,\n\t\t\t);\n\t\t}\n\t\twindow.removeEventListener('beforeunload', tabsUnloadHandler);\n\t};\n\twindow.addEventListener('beforeunload', tabsUnloadHandler);\n}\n\nexport function tabsDataBootstrappedEffect({ host, updateState }) {\n\tconst actionMap = {\n\t\t[SELECTED_WORKSPACE_TAB_FOCUS]: {\n\t\t\taction: ({ host }) => {\n\t\t\t\thost.querySelectorAll('sn-canvas-tabs')[0]\n\t\t\t\t\t?.shadowRoot.querySelector('[role=\"tab\"].is-selected')\n\t\t\t\t\t.focus();\n\t\t\t},\n\t\t},\n\t\t[SELECTED_PAGE_TAB_FOCUS]: {\n\t\t\taction: ({ host }) => {\n\t\t\t\thost.querySelectorAll('sn-canvas-tabs')[1]\n\t\t\t\t\t?.shadowRoot.querySelector('[role=\"tab\"].is-selected')\n\t\t\t\t\t.focus();\n\t\t\t},\n\t\t\tactive: false,\n\t\t},\n\t};\n\n\tconst registeredComponentId = registerComponent(host, {\n\t\tupdateState,\n\t\tactionMap,\n\t});\n\n\tupdateState({\n\t\tpath: 'registeredComponentId',\n\t\tvalue: registeredComponentId,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n}\n\nexport async function tabsDataDisconnectedEffect(coeffects) {\n\tconst {\n\t\thost,\n\t\tproperties: { userId },\n\t\tstate: { registeredComponentId },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (host && host.getProperty) {\n\t\tconst tabsData = host.getProperty('tabsData');\n\t\tconst tabConfig = host.getProperty('tabConfig');\n\t\tconst experienceId = host.getProperty('experienceId');\n\t\tawait saveTabs(tabsData, tabConfig, userId, experienceId);\n\t\tconst chatOnPageMap = host.getProperty('chatOnPageMap');\n\t\tawait saveChatOnPageMapToStorage(chatOnPageMap, userId, experienceId);\n\t}\n\n\tif (registeredComponentId) {\n\t\tderegisterComponent(registeredComponentId);\n\t\tupdateState({\n\t\t\tpath: 'registeredComponentId',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n}\n\nconst actionTabsDataEffectMap = {\n\t[constants.MAIN_TAB_CLOSE_CLICKED]: mainTabCloseClickedEffect,\n\t[constants.MAIN_TAB_NEW_ALERT_CLEARED]: mainTabNewAlertClearedEffect,\n\t[constants.MAIN_TAB_NEW_ALERT_CLEARED_OK]: mainTabNewAlertClearedEffect,\n\t[constants.MAIN_TAB_CLICKED]: mainTabClickedEffect,\n\t[constants.SUB_TAB_CLOSE_CLICKED]: subTabCloseClickedEffect,\n\t[constants.SELECT_TAB]: selectTabEffect,\n\t[constants.TABS_SELECTED_CONTENT_CHANGED]: selectedContentChangedEffect,\n\t[constants.TABS_SCREEN_CONTENT_CHANGED]: screenContentChangedEffect,\n\t[constants.TABS_CLOSE_REQUESTED]: tabCloseRequestedEffect,\n\t[constants.TABS_CLOSE_CONFIRMED]: mainTabCloseConfirmedEffect,\n\t[constants.TABS_CLOSE_CANCELLED]: mainTabCloseCancelledEffect,\n\t[constants.NOW_MODAL_OPENED_SET]: modalClosedEffect, // this is the generic msg from close icon on modal\n\t[constants.DRILLDOWN_BACK_CLICKED]: drillDownBackClickedEffect,\n\t[constants.SCREEN_CLOSED_CONFIRMED]: mainTabCloseConfirmedEffect,\n\t[constants.SCREEN_CLOSED_CANCELLED]: mainTabCloseCancelledEffect,\n\t[constants.PRIMARY_TAB_PROP_CHANGED]: primaryTabPropChangedEffect,\n\t[constants.MODAL_SELECTED]: modalSelectedEffect,\n\t[constants.TAB_JUST_CLOSED]: tabJustClosedEffect,\n};\n\nconst tabsDataActionHandlers = Object.keys(actionTabsDataEffectMap).reduce(\n\t(result, key) => {\n\t\treturn {\n\t\t\t...result,\n\t\t\t[key]: createTabsDataEffect(actionTabsDataEffectMap[key]),\n\t\t};\n\t},\n\t{},\n);\n\nexport const rootActionHandlers = {\n\t...tabsDataActionHandlers,\n\t[COMPONENT_BOOTSTRAPPED]: tabsDataBootstrappedEffect,\n\t[COMPONENT_CONNECTED]: tabsDataConnectedEffect,\n\t[COMPONENT_DISCONNECTED]: tabsDataDisconnectedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: tabsPropertyChangedEffect,\n\t[UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS]:\n\t\tupdateHoistedContentForActiveRecords,\n\t[constants.TABS_REARRANGED]: ({ updateProperties, properties, action }) => {\n\t\tconst { parentTabId, newTabList } = action.payload;\n\t\tconst tabsData = { ...properties.tabsData };\n\t\ttabsData[parentTabId].tabList = newTabList;\n\t\tupdateProperties({ tabsData });\n\t},\n\t[constants.NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tif (payload.drillDowns)\n\t\t\t\tdispatch(constants.DRILLDOWN_BACK_CLICKED, payload);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n","import { getChatOnPageMapFromStorage } from '../behaviors/utilityPanel.storage';\nimport { isEmpty } from 'lodash';\n\nexport const updateHoistedContentForActiveRecords = async (coeffects) => {\n\tconst { updateProperties, properties, action } = coeffects;\n\tconst { payload } = action;\n\tlet { chatOnPageMap } = properties;\n\tlet shouldUpdate = false;\n\tconst experienceId = payload.experienceId;\n\tconst userId = window.ux_globals?.session?.output?.user?.sys_id;\n\t//if chatOnPageMap is empty, get it from storage\n\tif (isEmpty(chatOnPageMap)) {\n\t\tconst storedChatOnPageMap = await getChatOnPageMapFromStorage(\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t);\n\t\tif (!!storedChatOnPageMap && typeof storedChatOnPageMap === 'object') {\n\t\t\tchatOnPageMap = storedChatOnPageMap;\n\t\t\tshouldUpdate = true;\n\t\t}\n\t}\n\t//skip if payload is a duplicate\n\tif (\n\t\tpayload.table !== undefined &&\n\t\tpayload.sysId !== undefined &&\n\t\tpayload.isMainSessionTab === true &&\n\t\t(chatOnPageMap[`${payload.table}~${payload.sysId}`] === undefined ||\n\t\t\tchatOnPageMap[`${payload.table}~${payload.sysId}`].hasChatOnPage !==\n\t\t\t\tpayload.hasChatOnPage)\n\t) {\n\t\tchatOnPageMap[`${payload.table}~${payload.sysId}`] = { ...payload };\n\t\tshouldUpdate = true;\n\t}\n\tif (shouldUpdate) {\n\t\tupdateProperties({ chatOnPageMap });\n\t}\n};\n\nexport const checkHasHoistContentData = (chatOnPageMap, activeRecord) => {\n\tif (!!chatOnPageMap && !!activeRecord) {\n\t\tfor (let key in chatOnPageMap) {\n\t\t\tlet { sysId, table, hasChatOnPage } = chatOnPageMap[key];\n\t\t\tif (activeRecord.sysId === sysId && activeRecord.table === table) {\n\t\t\t\tactiveRecord.hasChatOnPage = hasChatOnPage;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n","import { rootActionHandlers } from './tabsData.effects';\n\nexport const tabsDataBehavior = {\n\tname: 'tabsDataBehavior',\n\tproperties: {\n\t\tprimaryTab: {\n\t\t\tdefault: null,\n\t\t},\n\t\ttabConfig: {\n\t\t\tdefault: null,\n\t\t},\n\t\ttabsData: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\ttabsToCloseQueue: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tstopperPrompt: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t},\n\t\tchangedScreenContent: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreenCloseConfirmation: {\n\t\t\tdefault: null,\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: window?.ux_globals?.session?.output?.user?.sys_id,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tuxrEnableDebug: {\n\t\t\tdefault: false,\n\t\t},\n\t\tactiveParentId: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\tactiveRecords: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: false,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: false,\n\t\t},\n\t\tchatOnPageMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...rootActionHandlers,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\n/**\n * Retrieves the page macroponent component ID from the given action chain.\n *\n * Iterates through the component IDs in reverse order and returns the\n * page macroponent component ID if found.\n *\n * @param {string[]} componentIdsInActionChain - An array of component IDs representing the action chain.\n * @returns {string|null} - Returns the latest macroponent component ID if found, otherwise `null`.\n */\nexport const getLatestCapturedMacroponentComponentId = (\n\tcomponentIdsInActionChain,\n) => {\n\t/**\n\t * The action chain looks like this:\n\t * [source-component, ..., page-macroponent, ..., main, ...,tabsData]\n\t * We get the action chain from the tabsData to the source element.\n\t */\n\tfor (let i = componentIdsInActionChain.length - 1; i >= 0; i--) {\n\t\tconst componentId = componentIdsInActionChain[i];\n\t\tif (getDirtyStateManager().isRegisteredMacroponent(componentId)) {\n\t\t\treturn componentId;\n\t\t}\n\t}\n\treturn null;\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { renderSkipBehavior } from 'sn-canvas-common';\nimport { tabsDataBehavior } from './behaviors/tabsDataBehavior';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport { onDirtyStateChange } from './helpers/dirtyStateHandlers';\n\ncreateCustomElement('sn-canvas-tabsdata', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: () => <slot />,\n\t},\n\tbehaviors: [\n\t\ttabsDataBehavior,\n\t\trenderSkipBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tregisteredComponentId: '',\n\t},\n});\n","import { isEmpty, isNil } from '@devsnc/snowdash';\nimport { declarativeOperations } from '@servicenow/ui-core';\nimport { klona } from 'klona';\nimport { propagateFlag } from '../utils/tabsData.utils';\nimport { getDirtyStateManager } from '../utils/dirtyStateHandler.utils';\n\n/**\n * Callback method to update `tabsData` with aggregated \"isDirty\"\n * value for the tabsdata level.\n *\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js\n */\nexport const onDirtyStateChange = (params) => {\n\tconst {\n\t\tisDirty,\n\t\tscreenStatusChangedActionPayload: { screenKey },\n\t\tsubscriberUpdatePropertiesFn,\n\t} = params;\n\n\tif (isNil(screenKey)) {\n\t\treturn;\n\t}\n\n\tsubscriberUpdatePropertiesFn(({ properties }) => {\n\t\tconst { tabsData } = properties;\n\t\tconst ROOT_TAB_KEY = 'root';\n\n\t\t// Update the aggregated dirty state from DSM at root.\n\t\tif (isNil(tabsData[ROOT_TAB_KEY])) {\n\t\t\treturn properties;\n\t\t}\n\t\ttabsData[ROOT_TAB_KEY].isDirty = isDirty;\n\n\t\t// Identify the leaf nodes\n\t\tconst leafTabs = Object.values(tabsData).filter(\n\t\t\t(t) => t?.contentKey === screenKey && isEmpty(t?.tabList),\n\t\t);\n\n\t\tif (isEmpty(leafTabs)) {\n\t\t\treturn properties;\n\t\t}\n\n\t\t/**\n\t\t * Update the aggregated dirty state to the leaf nodes.\n\t\t * This is based on the aggregated dirty state of the screen from DSM.\n\t\t */\n\t\tconst currentScreenDirtyState =\n\t\t\tgetDirtyStateManager().isScreenDirty(screenKey);\n\t\tif (currentScreenDirtyState === null) {\n\t\t\treturn properties;\n\t\t}\n\n\t\tlet updatedTabsData = tabsData;\n\n\t\tleafTabs.forEach((leafTab) => {\n\t\t\t/**\n\t\t\t * Propagate the changes from leaf node to the root node.\n\t\t\t * This ensures that the tabs from the leaf layer to the\n\t\t\t * root layer gets the correct consolidated value.\n\t\t\t */\n\t\t\tleafTab.isDirty = currentScreenDirtyState;\n\t\t\tupdatedTabsData = propagateFlag(\n\t\t\t\tupdatedTabsData,\n\t\t\t\tleafTab,\n\t\t\t\t'isDirty',\n\t\t\t\tcurrentScreenDirtyState,\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tpath: 'tabsData',\n\t\t\tvalue: klona(updatedTabsData),\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldUpdate: true,\n\t\t};\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"filterAriaAttributes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.__esModule\n\t\t\t\t\tif (cjsModule && 'filterAriaAttributes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].filterAriaAttributes;\n\t\t\t\t\t} else if ('filterAriaAttributes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.filterAriaAttributes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].filterAriaAttributes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { get as _get, has as _has, isEmpty as _isEmpty } from 'lodash';\n\nconst ACTION_TYPES = {\n\tRECORD_WATCHER: {\n\t\tSUBSCRIBE_STARTED: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\t\tSUBSCRIBED: 'RECORD_WATCHER_SUBSCRIBED',\n\t\tSUBSCRIBE_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\t\tUNSUBSCRIBED: 'RECORD_WATCHER_UNSUBSCRIBED',\n\t\tITEM_CHANGED: 'RECORD_WATCHER_ITEM_CHANGED',\n\t\tSUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED',\n\t},\n\tAGGREGATE_COUNT: {\n\t\tFETCH: 'AGGREGATE_COUNT_FETCH',\n\t\tSTARTED: 'AGGREGATE_COUNT_STARTED',\n\t\tSUCCEEDED: 'AGGREGATE_COUNT_SUCCEEDED',\n\t\tFAILED: 'AGGREGATE_COUNT_FAILED',\n\t},\n};\n\nconst AGGREGATE_COUNT_GQL = `query($table: String!, $filter: String!) {\n    GlideAggregate_Query(tableName: $table, queryConditions: $filter) {\n      count\n    }\n  }`;\n\nconst handleBadgeCountFetch = createGraphQLEffect(AGGREGATE_COUNT_GQL, {\n\tvariableList: ['table', 'filter'],\n\tstartActionType: ACTION_TYPES.AGGREGATE_COUNT.STARTED,\n\tsuccessActionType: ACTION_TYPES.AGGREGATE_COUNT.SUCCEEDED,\n\terrorActionType: ACTION_TYPES.AGGREGATE_COUNT.FAILED,\n});\n\nconst handleBadgeCountFetchSuccess = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n}) => {\n\tconst { badge } = properties;\n\tconst count = _get(action, 'payload.data.GlideAggregate_Query[0].count', 0);\n\tupdateProperties({ badge: { ...badge, count } });\n};\n\nconst handleBadgeCountFetchFailure = ({ properties, updateProperties }) => {\n\tconst { badge } = properties;\n\tconst { table, filter } = badge;\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t`Failed to fetch aggregate counts with for table, ${table} with filter, ${filter}`,\n\t);\n\tupdateProperties({ badge: { ...badge, count: 0 } });\n};\n\nconst handleRecordWatcher = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeStartedActionType:\n\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBED,\n\t\tsubscribeFailedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType:\n\t\t\tACTION_TYPES.RECORD_WATCHER.UNSUBSCRIBED,\n\t\tmessageReceivedActionType: ACTION_TYPES.RECORD_WATCHER.ITEM_CHANGED,\n\t},\n);\n\nconst handleItemChanged = ({ action, properties, updateProperties }) => {\n\tconst countUpdate = _get(action, 'payload.data.count', '').split('');\n\tconst { badge } = properties;\n\tif (countUpdate[0] === '+') {\n\t\tupdateProperties({\n\t\t\tbadge: { ...badge, count: badge.count + parseInt(countUpdate[1]) },\n\t\t});\n\t} else if (countUpdate[0] === '-') {\n\t\tupdateProperties({\n\t\t\tbadge: { ...badge, count: badge.count - parseInt(countUpdate[1]) },\n\t\t});\n\t}\n};\n\nconst _getSubscriptionArgs = (table, filter, subscribe) => ({\n\tsubscribe,\n\ttable,\n\tfilter: btoa(filter).replace(/=/g, '-'),\n});\n\nconst onConnect = ({ properties, dispatch }) => {\n\tconst { badge } = properties;\n\tif (!_isEmpty(badge) && _has(badge, 'configurations')) {\n\t\tconst { configurations, type } = badge;\n\t\tswitch (type) {\n\t\t\tcase 'record': {\n\t\t\t\tconst { table, filter } = configurations;\n\t\t\t\tif (table && filter) {\n\t\t\t\t\t// Fetch initial data\n\t\t\t\t\tdispatch(ACTION_TYPES.AGGREGATE_COUNT.FETCH, {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tfilter,\n\t\t\t\t\t});\n\n\t\t\t\t\t// Subscribe to changes\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t\t\t_getSubscriptionArgs(table, filter, true),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onDisconnect = ({ properties, dispatch }) => {\n\tconst { badge } = properties;\n\n\tif (!_isEmpty(badge) && _has(badge, 'configurations')) {\n\t\tconst { table, filter } = badge.configurations;\n\t\tif (table && filter) {\n\t\t\t// unsubscribe to changes\n\t\t\tdispatch(\n\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t_getSubscriptionArgs(table, filter, false),\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst effectHandlers = {\n\thandleBadgeCountFetch,\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect,\n};\n\nexport {\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect,\n\tACTION_TYPES,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport badgeCountEffect from './badgeCountEffect';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst { RECORD_WATCHER, AGGREGATE_COUNT } = badgeCountEffect.ACTION_TYPES;\n\nconst {\n\thandleBadgeCountFetch,\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n} = badgeCountEffect.effectHandlers;\n\nexport const badgeCountBehavior = {\n\tname: 'BADGE_COUNT_BEHAVIOR',\n\tproperties: {\n\t\t/**\n\t\t * Defines the badge information.\n\t\t * @type {object}\n\t\t *\n\t\t * {\n\t\t *    count: 2,\n\t\t *    configurations: {\n\t\t *      table: \"task\"\n\t\t *      filter: \"assigned_to=46c6f9efa9fe198101ddf5eed9adf6e7\"\n\t\t *    },\n\t\t *    type: \"record\"\n\t\t * }\n\t\t */\n\t\tbadge: { schema: { type: 'object' } }\n\t},\n\tactions: {\n\t\t[AGGREGATE_COUNT.FETCH]: { private: true },\n\t\t[AGGREGATE_COUNT.STARTED]: { private: true },\n\t\t[AGGREGATE_COUNT.SUCCEEDED]: { private: true },\n\t\t[AGGREGATE_COUNT.FAILED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_STARTED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_FAILED]: { private: true },\n\t\t[RECORD_WATCHER.UNSUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: { private: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[AGGREGATE_COUNT.FETCH]: handleBadgeCountFetch,\n\t\t[AGGREGATE_COUNT.SUCCEEDED]: handleBadgeCountFetchSuccess,\n\t\t[AGGREGATE_COUNT.FAILED]: handleBadgeCountFetchFailure,\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: handleRecordWatcher,\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: handleItemChanged\n\t}\n};\n","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { get as _get, has as _has, isEmpty as _isEmpty } from 'lodash';\n\nconst ACTION_TYPES = {\n\tRECORD_WATCHER: {\n\t\tSUBSCRIBE_STARTED: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\t\tSUBSCRIBED: 'RECORD_WATCHER_SUBSCRIBED',\n\t\tSUBSCRIBE_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\t\tUNSUBSCRIBED: 'RECORD_WATCHER_UNSUBSCRIBED',\n\t\tITEM_CHANGED: 'RECORD_WATCHER_ITEM_CHANGED',\n\t\tSUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED'\n\t}\n};\n\nconst handleRecordWatcher = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeStartedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBED,\n\t\tsubscribeFailedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.UNSUBSCRIBED,\n\t\tmessageReceivedActionType: ACTION_TYPES.RECORD_WATCHER.ITEM_CHANGED\n\t}\n);\n\nconst handleItemChanged = ({ action, properties, updateProperties }) => {\n\tconst { configurations } = properties.presence;\n\tconst { table_name, record } = _get(action, 'payload.data');\n\ttable_name === configurations.table\n\t\t? updateProperties({\n\t\t\t\tpresence: {\n\t\t\t\t\t...properties.presence,\n\t\t\t\t\tstatus: _get(record, 'status.value')\n\t\t\t\t}\n\t\t  })\n\t\t: null;\n};\n\nconst _getSubscriptionArgs = (table, filter, subscribe) => ({\n\tsubscribe,\n\ttable,\n\tfilter: btoa(filter).replace(/=/g, '-')\n});\n\nconst onConnect = ({ properties, dispatch }) => {\n\tconst { presence } = properties;\n\tif (!_isEmpty(presence) && _has(presence, 'configurations')) {\n\t\tconst { configurations, type } = presence;\n\t\tswitch (type) {\n\t\t\tcase 'record': {\n\t\t\t\tconst { table, filter } = configurations;\n\t\t\t\tif (table && filter) {\n\t\t\t\t\t// Subscribe to changes\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t\t\t_getSubscriptionArgs(table, filter, true)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onDisconnect = ({ properties, dispatch }) => {\n\tconst { presence } = properties;\n\n\tif (!_isEmpty(presence) && _has(presence, 'configurations')) {\n\t\tconst { table, filter } = presence.configurations;\n\t\tif (table && filter) {\n\t\t\t// unsubscribe to changes\n\t\t\tdispatch(\n\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t_getSubscriptionArgs(table, filter, false)\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst effectHandlers = {\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport presenceEffect from './presenceEffect';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst { RECORD_WATCHER } = presenceEffect.ACTION_TYPES;\n\nconst {\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n} = presenceEffect.effectHandlers;\n\nexport const presenceBehavior = {\n\tname: 'PRESENCE_BEHAVIOR',\n\tproperties: {\n\t\t/**\n\t\t * Presence of the user, displayed with an indicator icon in the corner of the toolbar button.\n\t\t * @type {object}\n\t\t *\n\t\t * {\n\t\t *    status: \"available\",\n\t\t *    configurations: {\n\t\t *      table: \"sys_user_presence\"\n\t\t *      filter: \"user_available=true^user=6816f79cc0a8016401c5a33be04be441\"\n\t\t *    },\n\t\t *    type: \"record\"\n\t\t * }\n\t\t */\n\t\tpresence: { schema: { type: 'object' } }\n\t},\n\tactions: {\n\t\t[RECORD_WATCHER.SUBSCRIBED_STARTED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_FAILED]: { private: true },\n\t\t[RECORD_WATCHER.UNSUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: { private: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: handleRecordWatcher,\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: handleItemChanged\n\t}\n};\n","// nds-scanner-disable-file native-element\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { filterAriaAttributes } from '@servicenow/library-enhanced-utils';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-badge';\nimport snCanvasToolbarButtonStyles from './_sn-canvas-toolbar-button.scss';\nimport { badgeCountBehavior } from '../../behaviors/badge-count';\nimport { presenceBehavior } from '../../behaviors/presence';\nimport { isEmpty as _isEmpty, get as _get } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport buildEventHandlersForTooltip from '../../utils/getEventbindingsForTooltips';\n\nconst { COMPONENT_DOM_READY } = actionTypes;\n\nconst SN_CANVAS_TOOLBAR_BUTTON_CLICKED = 'SN_CANVAS_TOOLBAR_BUTTON#CLICKED';\n\nconst _renderIcon = (icon, isOverflow) => {\n\treturn icon ? (\n\t\t<now-icon\n\t\t\ticon={icon}\n\t\t\tsize={isOverflow ? 'md' : 'lg'}\n\t\t\taria-hidden=\"true\"\n\t\t/>\n\t) : undefined;\n};\n\nconst _renderBadge = (badge) => {\n\treturn !_isEmpty(badge) && !!badge.count ? (\n\t\t<now-badge\n\t\t\tclass={{ '-badge-count': true }}\n\t\t\tround\n\t\t\tsize=\"sm\"\n\t\t\tstatus=\"info\"\n\t\t\tvalue={badge.count}\n\t\t\taria-label={t('badge counter ' + badge.count)}\n\t\t\tvariant=\"secondary\"\n\t\t/>\n\t) : undefined;\n};\n\nconst _renderPresence = (status) => {\n\treturn status ? (\n\t\t<now-icon-presence\n\t\t\tclass={{ '-presence-indicator': true }}\n\t\t\tsize=\"sm\"\n\t\t\tpresence={status}\n\t\t\taria-hidden=\"true\"\n\t\t\tshow-pattern=\"true\"\n\t\t/>\n\t) : undefined;\n};\n\nexport const getAriaRole = (group) => {\n\tif (group === 'top') return 'tab';\n\telse return undefined;\n};\n\nexport const ariaPressedCheckedOrSelected = (selected, group) => {\n\tif (group === 'top')\n\t\treturn { ['aria-selected']: selected ? 'true' : 'false' };\n\telse return undefined;\n};\n\nexport const checkToolbarFocus = () => {\n\tlet activeElement = document.activeElement;\n\tif (\n\t\t(activeElement && activeElement.tagName === 'SEISMIC-HOIST') ||\n\t\tactiveElement.tagName === 'SN-CANVAS-TOOLBAR'\n\t)\n\t\treturn true;\n\twhile (\n\t\tactiveElement &&\n\t\tactiveElement.shadowRoot &&\n\t\tactiveElement.shadowRoot.activeElement\n\t) {\n\t\tif (\n\t\t\tactiveElement.tagName === 'SEISMIC-HOIST' ||\n\t\t\tactiveElement.tagName === 'SN-CANVAS-TOOLBAR'\n\t\t)\n\t\t\treturn true;\n\t\tactiveElement = activeElement.shadowRoot.activeElement;\n\t}\n\treturn false;\n};\n\nconst snCanvasToolbarButton = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\ticon,\n\t\tbadge,\n\t\tpresence,\n\t\tisSelected,\n\t\tgroup,\n\t\tisOverflow,\n\t\tisHighlighted,\n\t} = state.properties;\n\tconst status = _get(presence, 'status', '');\n\tconst configAria = { button: { 'aria-label': label } };\n\tconst tooltipContent = label;\n\n\tconst onButtonClicked = (evt) => {\n\t\tevt.preventDefault();\n\t\tconst {\n\t\t\tid,\n\t\t\tisSelected,\n\t\t\tselectedContent,\n\t\t\trouteInfo,\n\t\t\tviewportInfo,\n\t\t\tgroup,\n\t\t} = state.properties;\n\t\tconst isViewport = _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\n\t\t// set the button selection for toggle buttons for viewports e.g. cti call\n\t\tisViewport ? updateProperties({ isSelected: !isSelected }) : null;\n\n\t\tdispatch(SN_CANVAS_TOOLBAR_BUTTON_CLICKED, {\n\t\t\tbuttonClickedId: id,\n\t\t\trouteInfo: selectedContent || routeInfo,\n\t\t\tviewportInfo: viewportInfo,\n\t\t\tgroup: group,\n\t\t});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={\n\t\t\t\tisOverflow\n\t\t\t\t\t? 'sn-canvas-toolbar-overflow-item-container'\n\t\t\t\t\t: 'sn-canvas-toolbar-button-container'\n\t\t\t}\n\t\t>\n\t\t\t<button\n\t\t\t\tid={`${id.toLowerCase()}-btn`}\n\t\t\t\ttype=\"button\"\n\t\t\t\tvalue={label}\n\t\t\t\tclass={\n\t\t\t\t\tisOverflow\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t'sn-canvas-toolbar-overflow-item': true,\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t'sn-canvas-toolbar-button': true,\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttabIndex={isSelected ? '0' : '-1'}\n\t\t\t\trole={getAriaRole(group)}\n\t\t\t\t{...ariaPressedCheckedOrSelected(isSelected, group)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\t\ton-click={onButtonClicked}\n\t\t\t\tdata-tooltip={isOverflow ? null : tooltipContent}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (!elm) return;\n\t\t\t\t\tif (isHighlighted) {\n\t\t\t\t\t\tif (checkToolbarFocus()) elm.focus();\n\t\t\t\t\t\telm.setAttribute('tabindex', '0');\n\t\t\t\t\t} else {\n\t\t\t\t\t\telm.setAttribute('tabindex', '-1');\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{_renderIcon(icon, isOverflow)}\n\t\t\t\t{_renderBadge(badge)}\n\t\t\t\t{_renderPresence(status)}\n\t\t\t\t{isOverflow ? (\n\t\t\t\t\t<span className=\"overflow-item-label\">{label}<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n/*\n * A toolbar button component that appears on the toolbar.\n *\n * *button configuration*\n * ```json\n *\n * {\n * \t\t\"id\": \"home\",\n *  \t\"label\": \"Home\",\n *  \t\"icon\": \"home-outline\",\n *  \t\"viewportInfo\": {},\n *  \t\"routeInfo\": {\n *    \t\"route\": \"home\"\n *  \t},\n *  \t\"group\": \"top\",\n *  \t\"badge\": {},\n *  \t\"presence\": {},\n *  \t\"availability\": {}\n * }\n *\n * ```\n * @seismicElement sn-canvas-toolbar-button\n * @summary A toolbar button that appears on the toolbar that refers to a resource. The target resource must be an\n * internal page of current application.\n */\ncreateCustomElement('sn-canvas-toolbar-button', {\n\tproperties: {\n\t\t/**\n\t\t * Properties to configure the canvas toolbar button.\n\t\t *\n\t\t * Defines the button id.\n\t\t * @type {string}\n\t\t */\n\t\tid: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the button value.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the icon displayed.\n\t\t * @type {string}\n\t\t */\n\t\ticon: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the viewport information.\n\t\t * @type {object}\n\t\t */\n\t\tviewportInfo: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the badge information.\n\t\t * @type {object}\n\t\t */\n\t\tbadge: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Presence of the user, displayed with an indicator icon in the corner of the toolbar button.\n\t\t * @type {object}\n\t\t */\n\t\tpresence: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Indicates the selected state of the button.\n\t\t * Maps to `aria-checked` for a radio button\n\t\t * @type {boolean}\n\t\t */\n\t\tisSelected: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Defines the route information.\n\t\t * @type {object}\n\t\t */\n\t\trouteInfo: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the button availability criteria based on user roles, plugin activation.\n\t\t * @type {object}\n\t\t */\n\t\tavailability: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the button placement group - top vs bottom.\n\t\t * @type {string}\n\t\t */\n\t\tgroup: { required: true, schema: { type: 'string' } },\n\t\tselectedContent: { default: null, schema: { type: 'object' } },\n\t\t/**\n\t\t * Inidicates if the toolbar-button is an overflow item or not\n\t\t */\n\t\tisOverflow: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Indicates if the toolbar button in the overflow menu is highlighted or not\n\t\t */\n\t\tisHighlighted: { default: false, schema: { type: 'boolean' } },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarButton,\n\t},\n\tstyles: snCanvasToolbarButtonStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a link points to an internal application page.\n\t\t * @type {{value: true, buttonClicked: targetRef, routeInfo: {}}}\n\t\t */\n\t\tSN_CANVAS_TOOLBAR_BUTTON_CLICKED: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ host, properties, updateState }) => {\n\t\t\tconst { isOverflow } = properties;\n\t\t\tconst targetRef = isOverflow\n\t\t\t\t? host.shadowRoot.querySelector(\n\t\t\t\t\t\t'.sn-canvas-toolbar-overflow-item',\n\t\t\t\t\t)\n\t\t\t\t: host.shadowRoot.querySelector('.sn-canvas-toolbar-button');\n\t\t\tupdateState({ targetRef });\n\n\t\t\tconst buttonToClick = host?.shadowRoot?.querySelector('button');\n\n\t\t\thost.click = () => {\n\t\t\t\tbuttonToClick.click();\n\t\t\t};\n\t\t},\n\t},\n\tbehaviors: [\n\t\ttooltipBehavior,\n\t\tbadgeCountBehavior,\n\t\tpresenceBehavior,\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\thost?.shadowRoot?.querySelector('button')?.focus();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasToolbarOverflowMenuStyles from './sn-canvas-toolbar-overflow-menu.scss';\nimport { ACTION_TYPES } from '../../../constants/constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst {\n\tTOOLBAR_OVERFLOW_MENU_FOCUS,\n\tTOOLBAR_OVERFLOW_MENU_INDEX_CHANGED,\n\tTOOLBAR_OVERFLOW_TAB_KEY_PRESSED,\n} = ACTION_TYPES;\nconst snCanvasToolbarOverflowMenu = (state) => {\n\tconst { highlightIndex, properties } = state;\n\tconst { overflowItems, horizontal } = properties;\n\tconst topOverflowItems = overflowItems.filter((b) => b.group === 'top');\n\tconst bottomOverflowItems = overflowItems.filter(\n\t\t(b) => b.group === 'bottom',\n\t);\n\tconst overflowItemsInBothGroups =\n\t\ttopOverflowItems.length > 0 && bottomOverflowItems.length > 0;\n\treturn (\n\t\t<div\n\t\t\tclassName={`sn-canvas-overflow-menu-container ${\n\t\t\t\thorizontal ? 'horizontal' : ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"sn-canvas-overflow-menu-top\" role=\"tablist\">\n\t\t\t\t{topOverflowItems.map((button, i) => (\n\t\t\t\t\t<sn-canvas-toolbar-button\n\t\t\t\t\t\t{...button}\n\t\t\t\t\t\tisHighlighted={highlightIndex === i}\n\t\t\t\t\t\tisOverflow\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t\t{overflowItemsInBothGroups ? <hr /> : null}\n\t\t\t<div className=\"sn-canvas-overflow-bottom\">\n\t\t\t\t{bottomOverflowItems.map((button, i) => (\n\t\t\t\t\t<sn-canvas-toolbar-button\n\t\t\t\t\t\t{...button}\n\t\t\t\t\t\tisHighlighted={\n\t\t\t\t\t\t\thighlightIndex === i + topOverflowItems.length\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisOverflow\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-toolbar-overflow-menu', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `ToolbarButton` items each w/ the config for each\n\t\t * overflow button\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\toverflowItems: [],\n\t\t/*\n\t\t * Whether or not the overflow menu is open\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarOverflowMenu,\n\t},\n\tstyles: snCanvasToolbarOverflowMenuStyles,\n\tdispatches: {},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ dispatch, action }) => {\n\t\t\tconst { name } = action.payload;\n\t\t\tif (name === 'opened' && action.payload.value === true) {\n\t\t\t\tdispatch(TOOLBAR_OVERFLOW_MENU_FOCUS);\n\t\t\t}\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_MENU_FOCUS]: ({ updateState, action, state }) => {\n\t\t\tupdateState({ highlightIndex: 0 });\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED]: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst { keyCode } = action.payload;\n\t\t\tlet { highlightIndex, properties } = state;\n\t\t\tlet { overflowItems } = properties;\n\n\t\t\tif (keyCode === 9) {\n\t\t\t\tdispatch(TOOLBAR_OVERFLOW_TAB_KEY_PRESSED);\n\t\t\t}\n\n\t\t\tif (keyCode === 38) {\n\t\t\t\tif (highlightIndex == 0)\n\t\t\t\t\thighlightIndex = overflowItems.length - 1;\n\t\t\t\telse highlightIndex -= 1;\n\t\t\t} else if (keyCode === 40) {\n\t\t\t\tif (highlightIndex == overflowItems.length - 1)\n\t\t\t\t\thighlightIndex = 0;\n\t\t\t\telse highlightIndex += 1;\n\t\t\t}\n\t\t\tupdateState({ highlightIndex });\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keyup'],\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\taction.preventDefault();\n\t\t\t\tconst { keyCode } = action.payload.event;\n\t\t\t\tif (keyCode === 38 || keyCode === 40 || keyCode === 9) {\n\t\t\t\t\tdispatch(TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED, {\n\t\t\t\t\t\tkeyCode: keyCode,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport { isEmpty as _isEmpty } from 'lodash';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../sn-canvas-toolbar-button';\nimport './sn-canvas-toolbar-overflow-menu';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-rich-text';\nimport { deepSearchElement } from 'sn-canvas-common';\nimport snCanvasToolbarOverflowStyles from './sn-canvas-toolbar-overflow.scss';\nimport {\n\tACTION_TYPES,\n\tNOW_POPOVER_OPENED_SET,\n\tTOOLBAR_OVERFLOW_BUTTON_LABEL,\n} from '../../../constants/constants';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport buildEventHandlersForTooltip from '../../../utils/getEventbindingsForTooltips';\n\nconst { TOOLBAR_BUTTON_CLICKED, TOOLBAR_OVERFLOW_TAB_KEY_PRESSED } =\n\tACTION_TYPES;\n\nconst snCanvasToolbarOverflow = (state, { dispatch }) => {\n\tconst { overflowItems, horizontal, isOpen } = state.properties;\n\treturn (\n\t\t<now-popover\n\t\t\tclassName=\"sn-canvas-toolbar-overflow-container\"\n\t\t\tpositions={\n\t\t\t\thorizontal\n\t\t\t\t\t? [{ target: 'bottom-center', content: 'top-end' }]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t{ target: 'bottom-center', content: 'top-start' },\n\t\t\t\t\t\t\t{ target: 'center-end', content: 'bottom-start' },\n\t\t\t\t\t\t]\n\t\t\t}\n\t\t\tmanageOpened\n\t\t\topened={isOpen}\n\t\t\thideTail\n\t\t>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tclassName=\"sn-canvas-toolbar-overflow-button\"\n\t\t\t\taria-label={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\tdata-tooltip={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\tvalue={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"sn-canvas-toolbar-overflow-button\"\n\t\t\t\t\ticon=\"ellipsis-h-fill\"\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t<sn-canvas-toolbar-overflow-menu\n\t\t\t\tslot=\"content\"\n\t\t\t\toverflowItems={overflowItems}\n\t\t\t\topened={isOpen}\n\t\t\t\thorizontal={horizontal ? horizontal : false}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\nconst focusOnOverflowButton = (host) => {\n\tconst overflow = deepSearchElement('sn-canvas-toolbar-overflow', host);\n\tif (overflow) {\n\t\tconst popover = overflow.shadowRoot.querySelector('now-popover');\n\t\tpopover.querySelector('button').focus();\n\t}\n};\n\ncreateCustomElement('sn-canvas-toolbar-overflow', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `ToolbarButton` item each w/ the config for each\n\t\t * overflow button\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\toverflowItems: [],\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t},\n\t\tisOpen: {\n\t\t\tdefault: false,\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarOverflow,\n\t},\n\tstyles: snCanvasToolbarOverflowStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a link points to an internal application page.\n\t\t * @type {{value: true, buttonClicked: targetRef, routeInfo: {}}}\n\t\t */\n\t\tSN_CANVAS_TOOLBAR_OVERFLOW_ITEM_CLICKED: {},\n\t},\n\tactionHandlers: {\n\t\t[TOOLBAR_BUTTON_CLICKED]: ({ action, updateProperties }) => {\n\t\t\tconst { routeInfo } = action.payload;\n\t\t\tif (!_isEmpty(routeInfo)) {\n\t\t\t\tupdateProperties({ isOpen: false });\n\t\t\t}\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: ({ state, updateProperties }) => {\n\t\t\tconst { isOpen } = state.properties;\n\t\t\tupdateProperties({ isOpen: !isOpen });\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_TAB_KEY_PRESSED]: ({ state, updateProperties }) => {\n\t\t\tconst { isOpen } = state.properties;\n\t\t\tupdateProperties({ isOpen: !isOpen });\n\t\t\tfocusOnOverflowButton();\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"];\n\t\t\t\t} });","import {\n\tfindKey as _findKey,\n\tfind as _find,\n\tisEmpty as _isEmpty,\n} from 'lodash';\n\nexport const getButtonElementRef = (toolbarButtonRef) => {\n\treturn toolbarButtonRef.shadowRoot.querySelector('button');\n};\n\nexport const getToolbarButtonRefByIndex = (host, index) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\n\treturn toolbarButtons[index];\n};\n\nexport const getToolbarButtonFromEventPath = (path) => {\n\treturn _find(path, (elem) => elem.localName === 'sn-canvas-toolbar-button');\n};\n\nexport const getToolbarButtons = (host) => {\n\tconst toolbarButtonGroupEls = host.shadowRoot.querySelectorAll(\n\t\t'.sn-canvas-toolbar .sn-canvas-toolbar-group',\n\t);\n\tlet toolbarButtonEls = [];\n\n\tif (!_isEmpty([...toolbarButtonGroupEls])) {\n\t\t[...toolbarButtonGroupEls].forEach((grpEl) => {\n\t\t\tconst buttons = grpEl.querySelectorAll('sn-canvas-toolbar-button');\n\t\t\t[...buttons].forEach((btn) => {\n\t\t\t\ttoolbarButtonEls.push(btn);\n\t\t\t});\n\t\t});\n\t}\n\n\treturn toolbarButtonEls;\n};\n\nexport const getActiveToolbarButton = (host) => {\n\treturn host.shadowRoot.activeElement;\n};\n\nexport const getActiveToolbarButtonIndex = (host) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\tconst activeToolbarButton = getActiveToolbarButton(host);\n\n\treturn parseInt(\n\t\t_findKey(\n\t\t\ttoolbarButtons,\n\t\t\t(toolbarButton) => activeToolbarButton === toolbarButton,\n\t\t),\n\t\t10,\n\t);\n};\n\nexport const getToolbarButtonIndex = (host, toolbarButtonRef) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\n\treturn parseInt(\n\t\t_findKey(\n\t\t\ttoolbarButtons,\n\t\t\t(toolbarButton) => toolbarButtonRef === toolbarButton,\n\t\t),\n\t\t10,\n\t);\n};\n\nexport const getNextToolbarButton = (host) => {\n\tconst currentActiveToolbarButton = getActiveToolbarButton(host);\n\n\treturn currentActiveToolbarButton.nextElementSibling;\n};\n\nexport const getToolbarButtonsData = (host) => {\n\treturn host.toolbarButtons;\n};\n","import {\n\tforEach as _forEach,\n\tfind as _find,\n\tisEmpty as _isEmpty,\n\tfilter as _filter,\n\tget as _get,\n\tfindIndex as _findIndex,\n\thas as _has,\n} from 'lodash';\n\nimport {\n\tgetActiveToolbarButtonIndex,\n\tgetActiveToolbarButton,\n\tgetButtonElementRef,\n\tgetToolbarButtonRefByIndex,\n\tgetToolbarButtons,\n} from './elements';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport { SCREEN_TITLES_REGISTRATION_REQUESTED } from '../../../constants/constants';\n\nimport { deepSearchElement } from 'sn-canvas-common';\n\n/**\n * setButtonSelectionByRoute\n * @param buttons\n * @param route\n */\nexport const setButtonSelectionByRoute = (buttons, route) => {\n\tconst button = _find(buttons, (b) => _get(b, 'routeInfo.route') === route);\n\tif (!_isEmpty(button)) {\n\t\tbutton.isSelected = true;\n\t}\n\treturn button;\n};\n\n/**\n * updateToolbarButtonsWithActiveBtn\n * @param toolbarButtons\n * @param button\n * @param experienceId\n * @param updateProperties\n */\nexport const updateToolbarButtonsWithActiveBtn = async (\n\ttoolbarButtons,\n\tbutton,\n\tactiveRoute,\n\texperienceId,\n\tupdateProperties,\n) => {\n\tlet newToolbarButtons = [...toolbarButtons];\n\t// button found and set it's isSelected flag to true,\n\t// update teh activeButton state.\n\tif (!_isEmpty(button)) {\n\t\t// find button, replace and update properties\n\n\t\tconst route =\n\t\t\t_get(activeRoute, 'parent.route') || _get(activeRoute, 'route');\n\t\tconst buttonRoute = _get(button, 'routeInfo.route');\n\t\t// eslint-disable-next-line\n\t\tconst { updateUrl, passiveNavigation, ...restRoute } =\n\t\t\tactiveRoute || {};\n\t\tconst index = _findIndex(newToolbarButtons, (b) => b.id === button.id);\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\t...(route &&\n\t\t\t\tbuttonRoute &&\n\t\t\t\troute === buttonRoute && { selectedContent: { ...restRoute } }),\n\t\t});\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\t} else {\n\t\tbutton = newToolbarButtons[0];\n\t\tif (!_isEmpty(button)) {\n\t\t\tbutton.isSelected = true;\n\t\t}\n\t\tnewToolbarButtons.splice(0, 1, {\n\t\t\t...button,\n\t\t});\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\n\t\t// set to teh session storage\n\t\tif (experienceId) {\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t}\n\t}\n};\n\n/**\n * preserveViewportOpened: In order to preserve the collapsed or expand, we need\n * to get the opened value from the last active viewport button.\n * @param viewportInfo\n * @param experienceId\n * @returns {boolean}\n */\nexport const preserveViewportOpened = async (viewportInfo, experienceId) => {\n\tconst route = _get(viewportInfo, 'route');\n\tconst lastActiveButton = await getLastActiveButton(experienceId);\n\tlet opened = false;\n\tif (route === _get(lastActiveButton, 'viewportInfo.route')) {\n\t\topened = _get(lastActiveButton, 'viewportInfo.fields.opened');\n\t}\n\treturn opened;\n};\n\n/**\n * loadViewport\n * @param activeRecords\n * @param toolbarButtons\n * @param button\n * @param experienceId\n * @param dispatch\n * @param operation\n */\nexport const loadViewport = async (\n\tactiveRecords,\n\ttoolbarButtons,\n\tbutton,\n\texperienceId,\n\tdispatch,\n\toperation = 'TOGGLE_VIEWPORT_OPENED',\n) => {\n\tconst { id, label, viewportInfo, routeInfo, group } = button;\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst {\n\t\tfields: { opened },\n\t} = viewportInfo;\n\n\tif (operation === 'PRESERVE_VIEWPORT_OPENED' && isViewportWithRoute) {\n\t\t// only applicable for viewport with routes information where onload of records,\n\t\t// we need to preserve the viewport opened value if the button with viewport routes\n\t\t// is already selected\n\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tgroup,\n\t\t\trouteInfo,\n\t\t\tviewportInfo: {\n\t\t\t\t...viewportInfo,\n\t\t\t\tfields: {\n\t\t\t\t\topened: await preserveViewportOpened(\n\t\t\t\t\t\tviewportInfo,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t} else if (operation === 'TOGGLE_VIEWPORT_OPENED') {\n\t\t// when toolbar button with viewport is clicked, toggle the viewport opened value\n\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tgroup,\n\t\t\trouteInfo,\n\t\t\tviewportInfo: {\n\t\t\t\t...viewportInfo,\n\t\t\t\tfields: { opened: !opened },\n\t\t\t},\n\t\t});\n\t}\n};\n\n/**\n * getRouteFromButtonData\n * @param toolbarButtons\n * @param label\n * @returns {*}\n */\nexport const getRouteFromButtonData = (toolbarButtons, label) => {\n\tconst { routeInfo } =\n\t\t_find(toolbarButtons, (button) => button.label === label) || {};\n\treturn routeInfo;\n};\n\n/**\n * handleKeyPressed\n * @param host\n * @param event\n */\nexport const handleKeyPressed = (host, event) => {\n\tconst { horizontal } = host.getResolvedProperties();\n\tconst toolbarButtons = getToolbarButtons(host);\n\tconst toolbarButtonFirstIndex = 0;\n\tconst toolbarButtonsLastIndex = toolbarButtons.length - 1;\n\tconst currentToolbarButtonIndex = getActiveToolbarButtonIndex(host);\n\tconst currentToolbarButton = getActiveToolbarButton(host);\n\tconst currentButtonElm = getButtonElementRef(currentToolbarButton);\n\n\tconst arrowA = horizontal ? 37 : 38; //arrowLeft, arrowUp\n\tconst arrowZ = horizontal ? 39 : 40; //arrowRight, arrowDown\n\tconst tab = 9;\n\n\tlet nextToolbarButton = null;\n\tswitch (event.keyCode) {\n\t\tcase arrowA: {\n\t\t\t// ArrowUp\n\t\t\tevent.preventDefault();\n\t\t\tif (currentToolbarButtonIndex === toolbarButtonFirstIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\ttoolbarButtonsLastIndex,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\tcurrentToolbarButtonIndex - 1,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (nextToolbarButton) {\n\t\t\t\tgetButtonElementRef(nextToolbarButton).focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase arrowZ: {\n\t\t\t// ArrowDown\n\t\t\tevent.preventDefault();\n\t\t\tif (currentToolbarButtonIndex < toolbarButtonsLastIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\tcurrentToolbarButtonIndex + 1,\n\t\t\t\t);\n\t\t\t} else if (currentToolbarButtonIndex === toolbarButtonsLastIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\ttoolbarButtonFirstIndex,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (nextToolbarButton) {\n\t\t\t\tgetButtonElementRef(nextToolbarButton).focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase tab: {\n\t\t\tconst overflow = deepSearchElement(\n\t\t\t\t'sn-canvas-toolbar-overflow',\n\t\t\t\thost,\n\t\t\t);\n\t\t\tconst isOverflowCurrentElm =\n\t\t\t\toverflow.shadowRoot.activeElement === currentButtonElm;\n\t\t\tif (overflow && !isOverflowCurrentElm && !event.shiftKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst popover =\n\t\t\t\t\toverflow.shadowRoot.querySelector('now-popover');\n\t\t\t\tpopover.querySelector('button').focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 32:\n\t\t/* Space */ case 13: /* Enter */ {\n\t\t\tevent.preventDefault();\n\t\t\tcurrentButtonElm.click();\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\t// do not block other keys\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\n/**\n * resetViewportSelection\n * @param toolbarButtons\n * @param dispatch\n * @param updateProperties\n */\nexport const resetViewportSelection = (\n\ttoolbarButtons,\n\tbutton,\n\tdispatch,\n\tupdateProperties,\n) => {\n\t// collect all viewport toolbar buttons from top group\n\tconst buttons = _filter(\n\t\ttoolbarButtons,\n\t\t(b) =>\n\t\t\tb.group === 'top' &&\n\t\t\t!_isEmpty(b.viewportInfo) &&\n\t\t\tb.id !== button.id,\n\t);\n\n\t// reset all of the viewport visibility elements\n\tbuttons.map((b) => {\n\t\tconst { id } = b;\n\t\tconst {\n\t\t\tfields: { opened },\n\t\t} = b.viewportInfo;\n\t\tconst index = _findIndex(toolbarButtons, { id });\n\n\t\tif (opened && index > -1) {\n\t\t\t// reset the viewportInfo.fields.opened\n\t\t\tlet newToolbarButtons = [...toolbarButtons];\n\n\t\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t\t...b,\n\t\t\t\tviewportInfo: {\n\t\t\t\t\t...b.viewportInfo,\n\t\t\t\t\tfields: { opened: false },\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\t\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\t\tid,\n\t\t\t\tviewportInfo: {\n\t\t\t\t\t...b.viewportInfo,\n\t\t\t\t\tfields: { opened: !opened },\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t...b.viewportInfo,\n\t\t\t\tfields: { opened: !opened },\n\t\t\t\treinitialize: true,\n\t\t\t});\n\t\t}\n\t});\n};\n\n/**\n * setActiveButton\n * @param activeButton\n * @param toolbarButtons\n * @param activeRoute\n * @param activeRecords\n * @param experienceId\n * @param updateProperties\n * @param updateState\n */\nexport const setActiveButton = async (\n\tactiveButton,\n\ttoolbarButtons,\n\tactiveRoute,\n\tactiveRecords,\n\texperienceId,\n\tdispatch,\n\tupdateProperties,\n\tupdateState,\n) => {\n\tif (_isEmpty(toolbarButtons)) return;\n\n\tlet button, route;\n\n\t// check activeRoute match to button definition\n\tif (!_isEmpty(activeRoute)) {\n\t\tconst activeRouteHasRoute =\n\t\t\t!_isEmpty(_get(activeRoute, 'parent.route')) ||\n\t\t\t!_isEmpty(_get(activeRoute, 'route'));\n\n\t\tif (activeRouteHasRoute) {\n\t\t\troute =\n\t\t\t\t_get(activeRoute, 'parent.route') || _get(activeRoute, 'route');\n\t\t\tbutton = setButtonSelectionByRoute(toolbarButtons, route);\n\t\t}\n\t}\n\n\t// activeRoute doesn't match to button definition, look for the\n\t// last active button from the session storage\n\tif (_isEmpty(button)) {\n\t\tconst lastActiveButton = await getUnifiedCacheInstance(\n\t\t\t'sessionStorage',\n\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t).getItem(getSessionStorageKey(experienceId));\n\n\t\tif (!_isEmpty(lastActiveButton)) {\n\t\t\tconst lastActiveButtonRouteInfo = !_isEmpty(\n\t\t\t\t_get(lastActiveButton, 'routeInfo'),\n\t\t\t);\n\t\t\tif (lastActiveButtonRouteInfo) {\n\t\t\t\troute = _get(lastActiveButton, 'routeInfo.route');\n\t\t\t\tbutton = setButtonSelectionByRoute(toolbarButtons, route);\n\t\t\t}\n\t\t} else {\n\t\t\tbutton = _isEmpty(activeButton)\n\t\t\t\t? { ...toolbarButtons[0] }\n\t\t\t\t: activeButton;\n\t\t\tbutton.isSelected = true;\n\t\t}\n\t}\n\n\t// button found but not in session storage or different than the one in session storage\n\tif (!_isEmpty(button)) {\n\t\tconst lastActiveButton = await getLastActiveButton(experienceId);\n\t\tif (_isEmpty(lastActiveButton) || lastActiveButton.id !== button.id) {\n\t\t\tif (experienceId) {\n\t\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t\t'sessionStorage',\n\t\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t\t}\n\t\t}\n\t}\n\n\t// resolved the active button to toolbar button definitions, with\n\t// isSelected flag to true\n\tawait updateToolbarButtonsWithActiveBtn(\n\t\ttoolbarButtons,\n\t\tbutton,\n\t\tactiveRoute,\n\t\texperienceId,\n\t\tupdateProperties,\n\t);\n\n\t// updating the activeButton state\n\tupdateState({ activeButton: button });\n\n\t// load the viewport for the button if exists\n\tif (\n\t\t!_isEmpty(button) &&\n\t\t_has(button, 'viewportInfo') &&\n\t\t!_isEmpty(button.viewportInfo)\n\t) {\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t\t'PRESERVE_VIEWPORT_OPENED',\n\t\t);\n\t}\n};\n\nexport const getLastActiveButton = async (experienceId) => {\n\treturn await getUnifiedCacheInstance(\n\t\t'sessionStorage',\n\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t).getItem(getSessionStorageKey(experienceId));\n};\n\n/**\n * _getToolbarButtonByRoute\n * @param routeInfo\n * @param toolbarButtons\n * @returns {null|*}\n * @private\n */\nexport const _getToolbarButtonByRoute = (routeInfo, toolbarButtons) => {\n\tif (_isEmpty(toolbarButtons) || _isEmpty(routeInfo)) {\n\t\treturn null;\n\t}\n\treturn _find(\n\t\ttoolbarButtons,\n\t\t(b) => _get(b, 'routeInfo.route') === routeInfo.route,\n\t);\n};\n\n/**\n * isRoute\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isRoute = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn !_isEmpty(routeInfo) && _isEmpty(viewportInfo);\n};\n\n/**\n * isViewport\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isViewport = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n};\n\n/**\n * isViewportWithRoute\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isViewportWithRoute = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n};\n\n/**\n * resetSizeAndViewportInfo\n * @param activeRoute\n * @param toolbarButtons\n */\nexport const resetSizeAndViewportInfo = (\n\tactiveRoute,\n\ttoolbarButtons,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst button = _getToolbarButtonByRoute(activeRoute, toolbarButtons);\n\n\tif (!_isEmpty(button) && isRoute(activeRoute, toolbarButtons)) {\n\t\t// reset viewport selection\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// update the primary tab\n\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\tbutton: { ...button, size: null, viewportInfo: null },\n\t\t});\n\t}\n};\n\n/**\n * isViewportEmptyPageLoaded\n * @param lastActiveButton\n * @parm viewportInfo\n * @returns {boolean}\n */\nexport const isViewportEmptyPageLoaded = (lastActiveButton, viewportInfo) => {\n\tlet viewportEmptyPageLoaded = false;\n\tif (!_isEmpty(lastActiveButton) && !_isEmpty(viewportInfo)) {\n\t\tconst currentViewportRoute = _get(viewportInfo, 'route');\n\t\tviewportEmptyPageLoaded =\n\t\t\tcurrentViewportRoute.indexOf(\n\t\t\t\t_get(lastActiveButton, 'routeInfo.route'),\n\t\t\t) !== -1;\n\t}\n\treturn viewportEmptyPageLoaded;\n};\n\n/**\n * getSessionStorageKey\n  @parm experienceId\n * @returns {string}\n */\nexport const getSessionStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasToolbar_${experienceId}`\n\t\t: `canvasToolbar_${new Date().getTime()}`;\n\nexport const getStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasToolbarButtons_${experienceId}`\n\t\t: `canvasToolbarButtons_${new Date().getTime()}`;\n\nexport const generateContentKey = (fields, route) => {\n\tif (!fields) fields = {};\n\treturn Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n};\n\nexport const registerToolbarRouteLabels = ({ properties, dispatch }) => {\n\tconst { toolbarButtons } = properties;\n\tconst titles = {};\n\tfor (const buttonObj of toolbarButtons) {\n\t\tconst { routeInfo, label } = buttonObj;\n\t\tif (!_isEmpty(routeInfo)) {\n\t\t\tconst { route, fields = {} } = routeInfo;\n\t\t\tif (!route) return;\n\t\t\tconst key = generateContentKey(fields, route);\n\t\t\ttitles[key] = label;\n\t\t}\n\t}\n\tif (!_isEmpty(titles))\n\t\tdispatch(SCREEN_TITLES_REGISTRATION_REQUESTED, titles);\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport { getStorageKey } from './helpers';\n\nconst storageType = 'localStorage';\nconst storageNamespace = 'CANVAS_TOOLBAR_BUTTONS_LOCAL_STORAGE';\n\nexport const getStoredToolbarButtons = async (userId, experienceId) => {\n\tif (!experienceId) return;\n\tconst storedToolbarButtons = await getUnifiedCacheInstance(\n\t\tstorageType,\n\t\tstorageNamespace,\n\t).getItem(getStorageKey(experienceId));\n\n\tif (storedToolbarButtons) {\n\t\tconst { userId: storedUserId, toolbarButtons: _storedToolbarButtons } =\n\t\t\tstoredToolbarButtons;\n\t\tif (userId === storedUserId && _storedToolbarButtons) {\n\t\t\treturn _storedToolbarButtons;\n\t\t}\n\t}\n};\n\nexport const saveToolbarButtons = async (\n\ttoolbarButtons,\n\tuserId,\n\texperienceId,\n) => {\n\tif (!experienceId) return;\n\ttry {\n\t\tawait getUnifiedCacheInstance(storageType, storageNamespace).setItem(\n\t\t\tgetStorageKey(experienceId),\n\t\t\t{\n\t\t\t\tuserId,\n\t\t\t\ttoolbarButtons,\n\t\t\t},\n\t\t);\n\t} catch (e) {\n\t\tconsole.error('Error saving toolbar buttons to storage:', e);\n\t}\n};\n","import { isEmpty as _isEmpty } from 'lodash';\nimport { trackEvent } from '../../utils/marks';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport {\n\tregisterComponent,\n\tderegisterComponent,\n\tsetActionStateForShortcut,\n} from '@servicenow/now-trigger-library';\n\nimport {\n\tresetViewportSelection,\n\tgetSessionStorageKey,\n\tsetActiveButton,\n\tresetSizeAndViewportInfo,\n\tisViewportEmptyPageLoaded,\n\tloadViewport,\n\tregisterToolbarRouteLabels,\n} from './utils/helpers';\nimport { getStoredToolbarButtons, saveToolbarButtons } from './utils/storage';\nimport { ACTION_TYPES } from '../../constants/constants';\n\nconst FIRST_PANEL_FOCUSED = 'FIRST_PANEL_FOCUSED';\nconst CLICK_TOOLBAR_BUTTON_SHORTCUT = 'CLICK_TOOLBAR_BUTTON_SHORTCUT';\nconst FOCUS_TOOLBAR_BUTTON_SHORTCUT = 'FOCUS_TOOLBAR_BUTTON_SHORTCUT';\nconst handleToolbarButtonClicked = async ({\n\thost,\n\taction,\n\tdispatch,\n\tstate,\n\tupdateProperties,\n\tupdateState,\n}) => {\n\tconst { buttonClickedId, viewportInfo, routeInfo } = action.payload;\n\tconst { toolbarButtons, activeRecords, experienceId } = state.properties;\n\tconst { activeButton, toggledButtons } = state;\n\tconst isRoute = !_isEmpty(routeInfo) && _isEmpty(viewportInfo);\n\tconst isViewport = _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst buttonIndex = toolbarButtons.findIndex(\n\t\t(button) => button.id === buttonClickedId,\n\t);\n\tconst button = toolbarButtons[buttonIndex];\n\n\t// The title should be derived from the button config\n\tconst title = button.label || routeInfo.route;\n\n\t// Buttons in toolbar configured for navigational purposes will have routeInfo in their payload\n\t// otherwise, it's a toggle switch that simply dispatches to indicate that toolbar's button got selected\n\n\t//clear the previous selection and set the clicked button as selected.  Store it as state.route\n\tif (isRoute || isViewportWithRoute) {\n\t\tif (experienceId) {\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t}\n\t\tdispatch('SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_UPDATED', { button });\n\t\ttrackEvent[ACTION_TYPES.TOOLBAR_BUTTON_CLICKED](button, host, action);\n\t}\n\n\tif (isRoute) {\n\t\t// For all of toolbar button with viewport that behaves as a toggle needs to turn off\n\t\t// and enable that's are the part of route\n\t\t// should this be determined from button configuration/\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// navigate to route\n\t\t// if routeInfo.title field is empty, adding title\n\t\t_isEmpty(routeInfo.title)\n\t\t\t? dispatch('NAV_ITEM_SELECTED', { ...routeInfo, title })\n\t\t\t: dispatch('NAV_ITEM_SELECTED', routeInfo);\n\n\t\t// update the primary tab\n\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\tbutton: { ...button, size: null, viewportInfo: null },\n\t\t});\n\t} else if (isViewport) {\n\t\t// load the viewport\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t);\n\t\t//Update state of toolbar to save the button thats was toggled\n\t\tconst newToggledButtons = { ...toggledButtons };\n\t\tnewToggledButtons[buttonClickedId] =\n\t\t\t!newToggledButtons[buttonClickedId];\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'toggledButtons',\n\t\t\tvalue: newToggledButtons,\n\t\t\tshouldRender: true,\n\t\t});\n\t} else if (isViewportWithRoute) {\n\t\t// For all of toolbar button with viewport that behaves as a toggle needs to turn off\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t//load the viewport\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t);\n\n\t\t// when there are no active tabs, navigate to empty page route\n\t\t// currently we have inbox & ongoing only for top group\n\t\tif (\n\t\t\t_isEmpty(activeRecords) &&\n\t\t\t!isViewportEmptyPageLoaded(activeButton, viewportInfo)\n\t\t) {\n\t\t\t_isEmpty(routeInfo.title)\n\t\t\t\t? dispatch('NAV_ITEM_SELECTED', { ...routeInfo, title })\n\t\t\t\t: dispatch('NAV_ITEM_SELECTED', routeInfo);\n\t\t} else if (!_isEmpty(activeRecords)) {\n\t\t\t// resolve to the first tab implicitly\n\t\t\tdispatch('SELECT_TAB', {\n\t\t\t\ttab_ids: [],\n\t\t\t\t_implicitTabResolution: true,\n\t\t\t});\n\t\t}\n\t}\n};\n\n/**\n * handleActiveButtonSet\n * @param activeButton\n * @param toolbarButtons\n * @param activeRoute\n * @param updateProperties\n * @param updateState\n * @param dispatch\n */\nconst handleActiveButtonSet = async ({\n\tstate: {\n\t\tactiveButton,\n\t\tproperties: { toolbarButtons, activeRecords, experienceId },\n\t},\n\taction: {\n\t\tpayload: { activeRoute },\n\t},\n\tupdateProperties,\n\tupdateState,\n\tdispatch,\n}) => {\n\tawait setActiveButton(\n\t\tactiveButton,\n\t\ttoolbarButtons,\n\t\tactiveRoute,\n\t\tactiveRecords,\n\t\texperienceId,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tupdateState,\n\t);\n};\n\n/**\n * handleActiveButtonUpdated\n * @param payload\n * @param updateState\n */\nconst handleActiveButtonUpdated = ({ action: { payload }, updateState }) => {\n\tupdateState({ activeButton: payload.button });\n};\n\n/**\n * handlePropertyChanged\n * @param state\n * @param action\n * @param dispatch\n * @param updateProperties\n */\nconst handlePropertyChanged = async (coeffects) => {\n\tconst { state, action, dispatch, updateProperties } = coeffects;\n\tconst { name, value, previousValue } = action.payload;\n\tconst {\n\t\tactiveButton,\n\t\tproperties: { toolbarButtons, activeRecords, userId, experienceId },\n\t} = state;\n\tconst { id, viewportInfo, routeInfo, group } = activeButton;\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\n\tif (\n\t\t(name === 'experienceId' || name === 'userId') &&\n\t\texperienceId &&\n\t\tuserId &&\n\t\t_isEmpty(toolbarButtons)\n\t) {\n\t\tconst storedToolbarButtons = await getStoredToolbarButtons(\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t);\n\t\tif (storedToolbarButtons) {\n\t\t\tupdateProperties({ toolbarButtons: storedToolbarButtons });\n\t\t}\n\t}\n\n\tif (name === 'toolbarButtons' && !_isEmpty(toolbarButtons)) {\n\t\tregisterToolbarRouteLabels(coeffects);\n\t\tawait saveToolbarButtons(toolbarButtons, userId, experienceId);\n\t}\n\n\tif (\n\t\tname === 'activeRecords' &&\n\t\t!_isEmpty(id) &&\n\t\tisViewportWithRoute &&\n\t\tgroup === 'top' &&\n\t\t!_isEmpty(previousValue) &&\n\t\t_isEmpty(value)\n\t) {\n\t\t// when there are no active tabs, navigate to empty page route\n\t\t// currently we have inbox & ongoing only for top group\n\t\tdispatch('NAV_ITEM_SELECTED', routeInfo);\n\t}\n\n\tif (\n\t\tname === 'activeRoute' &&\n\t\ttypeof value === 'object' &&\n\t\t!_isEmpty(value) &&\n\t\t!_isEmpty(toolbarButtons) &&\n\t\tArray.isArray(activeRecords)\n\t) {\n\t\t// handle browser back & forward to resolve the\n\t\t//  - active button and\n\t\t//  - reset the primary tab size\n\t\tconst { passiveNavigation } = value;\n\t\tif (passiveNavigation === true) return;\n\n\t\t// reset the primary tab size\n\t\tresetSizeAndViewportInfo(\n\t\t\tvalue,\n\t\t\ttoolbarButtons,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// set the active button for the toolbar\n\t\tdispatch(ACTION_TYPES.TOOLBAR_ACTIVE_BUTTON_SET, {\n\t\t\tactiveRoute: value,\n\t\t});\n\t}\n};\n\nconst handleComponentBootstrapped = ({ updateState, host }) => {\n\tconst registeredComponentId = registerComponent(host, {\n\t\tupdateState,\n\t\tactionMap: {\n\t\t\t[FIRST_PANEL_FOCUSED]: {\n\t\t\t\taction: ({ host }) => {\n\t\t\t\t\thost?.shadowRoot\n\t\t\t\t\t\t?.querySelector('sn-canvas-toolbar-button')\n\t\t\t\t\t\t?.focus();\n\t\t\t\t},\n\t\t\t\tactive: true,\n\t\t\t},\n\t\t\t[CLICK_TOOLBAR_BUTTON_SHORTCUT]: {\n\t\t\t\taction: ({ host, payload }) => {\n\t\t\t\t\thost?.shadowRoot?.querySelector(`#${payload?.id}`)?.click();\n\t\t\t\t},\n\t\t\t\tactive: false,\n\t\t\t},\n\t\t\t[FOCUS_TOOLBAR_BUTTON_SHORTCUT]: {\n\t\t\t\taction: ({ host, payload }) => {\n\t\t\t\t\thost?.shadowRoot?.querySelector(`#${payload?.id}`)?.focus();\n\t\t\t\t},\n\t\t\t\tactive: false,\n\t\t\t},\n\t\t},\n\t});\n\n\tupdateState({\n\t\tpath: 'registeredComponentId',\n\t\tvalue: registeredComponentId,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\nconst handleComponentTreeRendered = ({ state, properties }) => {\n\tconst { toolbarButtons = [] } = properties;\n\tconst { registeredComponentId } = state;\n\n\t// Set active if a button has a shortcut mapped to it for focus & click\n\tif (registeredComponentId) {\n\t\tfor (let button of toolbarButtons) {\n\t\t\tsetActionStateForShortcut(registeredComponentId, true, {\n\t\t\t\tactionKey: CLICK_TOOLBAR_BUTTON_SHORTCUT,\n\t\t\t\tcondition: { id: button?.id },\n\t\t\t});\n\t\t\tsetActionStateForShortcut(registeredComponentId, true, {\n\t\t\t\tactionKey: FOCUS_TOOLBAR_BUTTON_SHORTCUT,\n\t\t\t\tcondition: { id: button?.id },\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleComponentConnected = async (coeffects) => {\n\tregisterToolbarRouteLabels(coeffects);\n\tconst { properties, updateProperties } = coeffects;\n\tconst { experienceId, userId } = properties;\n\tif (!userId || !experienceId) return;\n\tconst storedToolbarButtons = await getStoredToolbarButtons(\n\t\tuserId,\n\t\texperienceId,\n\t);\n\tif (storedToolbarButtons) {\n\t\tupdateProperties({ toolbarButtons: storedToolbarButtons });\n\t}\n};\n\nconst handleComponentDisconnected = (coeffects, toolbarObserverRef) => {\n\tconst { host, state, updateState } = coeffects;\n\tconst { registeredComponentId } = state;\n\ttoolbarObserverRef.unobserve(host.nowRootNode.host);\n\n\tif (registeredComponentId) {\n\t\tderegisterComponent(registeredComponentId);\n\t\tupdateState({\n\t\t\tpath: 'registeredComponentId',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\n/**\n *\n * @type {{\n *\t handleActiveButtonUpdated:  handleActiveButtonUpdated,\n *\t handleToolbarButtonClicked: handleToolbarButtonClicked,\n *\t handleActiveButtonSet: handleActiveButtonSet,\n *\t handleActiveButtonViewportLoaded: handleActiveButtonViewportLoaded\n * }}\n */\nconst effectHandlers = {\n\thandleToolbarButtonClicked,\n\thandleActiveButtonSet,\n\thandleActiveButtonUpdated,\n\thandleComponentConnected,\n\thandleComponentDisconnected,\n\thandlePropertyChanged,\n\thandleComponentBootstrapped,\n\thandleComponentTreeRendered,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import {\n\tcreateCustomElement,\n\tactionTypes,\n\tdeclarativeOperations,\n} from '@servicenow/ui-core';\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport './sn-canvas-toolbar-button';\nimport './overflow/sn-canvas-toolbar-overflow';\nimport snCanvasToolbarStyles from './_sn-canvas-toolbar.scss';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { handleKeyPressed } from './utils/helpers';\nimport { isEmpty as _isEmpty, filter as _filter, debounce } from 'lodash';\nimport { toolbarButtonsSchema } from './schemas/toolbar-buttons-schema';\nimport { routerSchema } from './schemas/router-schema';\nimport snCanvasToolbarEffect from './snCanvasToolbarEffect';\nimport {\n\tACTION_TYPES,\n\tTOOLBAR_BUTTON_HEIGHT,\n\tTOOLBAR_BUTTON_WIDTH,\n\tTOOLBAR_RESIZED,\n\tTOOLBAR_DEBOUNCE_RATE,\n} from '../../constants/constants';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst {\n\thandleToolbarButtonClicked,\n\thandleActiveButtonSet,\n\thandleActiveButtonUpdated,\n\thandleComponentConnected,\n\thandleComponentDisconnected,\n\thandlePropertyChanged,\n\thandleComponentBootstrapped,\n\thandleComponentTreeRendered,\n} = snCanvasToolbarEffect.effectHandlers;\n\nconst {\n\tTOOLBAR_ACTIVE_BUTTON_SET,\n\tTOOLBAR_BUTTON_CLICKED,\n\tTOOLBAR_ACTIVE_BUTTON_UPDATED,\n} = ACTION_TYPES;\n\n//Reference to the resizeObserver so we can unobserve the toolbar on disconnect\nlet toolbarObserverRef;\n/**\n * Measure toolbar buttons and split them into visible and overflow buttons based on\n * the provided criteria.\n *\n * @param {Array} toolbarButtons - An array of toolbar buttons to measure.\n * @param {number} toolbarSize - The size of the toolbar as given by resize behavior\n * @param {boolean} horizontal - A flag indicating whether the toolbar is in horizontal mode.\n * @returns {Object} An object containing visibleButtons and overflowButtons arrays.\n */\nexport const measureButtons = (toolbarButtons, toolbarSize, horizontal) => {\n\tconst toolbarLength = horizontal ? toolbarSize.width : toolbarSize.height;\n\tconst buttonLength = horizontal\n\t\t? TOOLBAR_BUTTON_WIDTH\n\t\t: TOOLBAR_BUTTON_HEIGHT;\n\n\tif (!toolbarButtons || toolbarButtons.length === 0) {\n\t\treturn { visibleButtons: [], overflowButtons: [] };\n\t}\n\tconst totalButtonLength = buttonLength * toolbarButtons.length;\n\tif (totalButtonLength <= toolbarLength) {\n\t\treturn { visibleButtons: toolbarButtons, overflowButtons: [] };\n\t}\n\tconst visibleButtonCount = Math.floor(toolbarLength / buttonLength) - 1;\n\tconst visibleButtons = toolbarButtons.slice(0, visibleButtonCount);\n\tconst overflowButtons = toolbarButtons.slice(visibleButtonCount);\n\treturn { visibleButtons, overflowButtons };\n};\n\n/**\n * Updates the last element of the visibleButtons to be the active button that\n * is currently in the overflow menu. The displaced item is put into the overflow\n * menu. Its guarenteed that the activeButton is in the overflow menu\n *\n * @param {Array} overflowButtons - An array of toolbar buttons in the overflow menu\n * @param {Array} visibleButtons - An array of toolbar buttons that are visible on the toolbar\n * @param {Object} activeButton - An index for the currently active button in overflowButtons\n */\nexport const updateVisibleButtons = (\n\tvisibleButtons,\n\toverflowButtons,\n\tactiveButtonIndex,\n) => {\n\tif (activeButtonIndex < 0 || activeButtonIndex >= overflowButtons.length)\n\t\treturn;\n\n\tconst displacedButton = visibleButtons.pop();\n\tif (displacedButton.isSelected) displacedButton.isSelected = false;\n\tconst activeButton = overflowButtons[activeButtonIndex];\n\n\tvisibleButtons.push(activeButton);\n\toverflowButtons.splice(activeButtonIndex, 1, displacedButton);\n};\n\n/**\n * Renders a custom canvas toolbar button based on the provided button object.\n *\n * @param {Object} button - The button object containing configuration for the toolbar button.\t*\n * @param {Object} activeButton - Currently active button object. Assumes 'id' property is present.\t*\n * @returns {JSX.Element|null} The JSX element representing the canvas toolbar button.\n * Returns null if the button should not be shown or if the group is neither 'top' nor 'bottom'.\n */\nconst renderButton = (button, activeButton, toggledButtons) => {\n\tconst { show = true, group } = button;\n\tif (!show || (group !== 'top' && group !== 'bottom')) {\n\t\treturn null;\n\t}\n\n\t//Select the active button and all toggle buttons which have been toggled\n\tconst selected =\n\t\tactiveButton.id === button.id || toggledButtons[button.id] === true;\n\treturn (\n\t\t<sn-canvas-toolbar-button\n\t\t\t{...button}\n\t\t\tisHighlighted={selected}\n\t\t\tisSelected={selected}\n\t\t/>\n\t);\n};\n\nconst renderOverflow = (overflowButtons, horizontal) => {\n\tif (!overflowButtons.length) return;\n\treturn (\n\t\t<sn-canvas-toolbar-overflow\n\t\t\toverflow-items={overflowButtons}\n\t\t\thorizontal={horizontal}\n\t\t\tclassName=\"sn-canvas-toolbar-overflow\"\n\t\t/>\n\t);\n};\n\n/**\n * snCanvasToolbar: View function\n * @param state\n * @param dispatch\n * @returns {JSX.Element|null}\n */\nexport const snCanvasToolbar = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { toolbarButtons, activeRoute, activeRecords, horizontal },\n\t\tactiveButton,\n\t\tparentSize,\n\t\ttoggledButtons,\n\t} = state;\n\n\tlet toolbarButtonsTop, toolbarButtonsBottom;\n\tlet visibleButtons = [],\n\t\toverflowButtons = [];\n\n\tif (!_isEmpty(toolbarButtons) && !_isEmpty(parentSize)) {\n\t\tconst result = measureButtons(toolbarButtons, parentSize, horizontal);\n\t\tvisibleButtons = result.visibleButtons;\n\t\toverflowButtons = result.overflowButtons;\n\t}\n\n\tif (\n\t\t_isEmpty(activeButton) &&\n\t\t!_isEmpty(activeRoute) &&\n\t\t!_isEmpty(toolbarButtons) &&\n\t\ttypeof activeRoute === 'object' &&\n\t\tArray.isArray(activeRecords)\n\t) {\n\t\tdispatch(TOOLBAR_ACTIVE_BUTTON_SET, { activeRoute });\n\t}\n\t//STRY55513368 - Reflow at 400% zoom with overflow menu\n\tif (overflowButtons.length > 0) {\n\t\tlet activeButtonOverflowIndex = overflowButtons.findIndex(\n\t\t\t(button) => button.id === activeButton.id,\n\t\t);\n\t\tif (activeButtonOverflowIndex >= 0) {\n\t\t\tupdateVisibleButtons(\n\t\t\t\tvisibleButtons,\n\t\t\t\toverflowButtons,\n\t\t\t\tactiveButtonOverflowIndex,\n\t\t\t);\n\t\t}\n\t\ttoolbarButtonsTop = visibleButtons.map((b) =>\n\t\t\trenderButton(b, activeButton, toggledButtons),\n\t\t);\n\t\ttoolbarButtonsBottom = [];\n\n\t\t//Update overflowButtons w/ the toggle state\n\t\toverflowButtons.forEach((button) => {\n\t\t\tif (toggledButtons.hasOwnProperty(button.id))\n\t\t\t\tbutton.isSelected = toggledButtons[button.id];\n\t\t\telse button.isSelected = activeButton.id === button.id;\n\t\t});\n\t} else {\n\t\t//No overflow buttons, regular rendering\n\t\ttoolbarButtonsTop = toolbarButtons\n\t\t\t.filter((b) => b.group === 'top')\n\t\t\t.map((b) => renderButton(b, activeButton, toggledButtons));\n\t\ttoolbarButtonsBottom = toolbarButtons\n\t\t\t.filter((b) => b.group === 'bottom')\n\t\t\t.map((b) => renderButton(b, activeButton, toggledButtons));\n\t}\n\n\treturn !_isEmpty(toolbarButtons) && !_isEmpty(activeButton) ? (\n\t\t<nav\n\t\t\tclassName={`sn-canvas-toolbar ${horizontal ? 'horizontal' : ''}`}\n\t\t\taria-label={t('Main Workspace Navigation')}\n\t\t>\n\t\t\t<div className=\"sn-canvas-toolbar-group -top\" role=\"tablist\">\n\t\t\t\t{toolbarButtonsTop}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-cavnas-toolbar-overflow-popover ${\n\t\t\t\t\thorizontal ? 'horizontal' : ''\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{renderOverflow(overflowButtons, horizontal)}\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-canvas-toolbar-group -bottom\">\n\t\t\t\t{toolbarButtonsBottom}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t) : null;\n};\n\n/**\n * A canvas toolbar that groups buttons to reference to a workspace module resource. There are\n * two button groups:\n *  - **top**: One appears at the top are radio group toolbar buttons. Only one button could be set selected at a time.\n *  - **bottom**: One appears at the bottom are toggle buttons.\n *\n *\n *\n * ```jsx\n * [\n * {\n *    \"id\": \"home\",\n *    \"label\": \"Home\",\n *    \"icon\": \"home-outline\",\n *    \"viewportInfo\": {},\n *    \"routeInfo\": {\n *      \"route\": \"home\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\": {},\n *    \"presence\": {},\n *    \"availability\": {}\n *  },\n * {\n *    \"id\": \"list\",\n *    \"label\": \"List\",\n *    \"icon\": \"list-outline\",\n *    \"viewportInfo\": {},\n *    \"routeInfo\": {\n *      \"route\": \"list\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\":{},\n *    \"presence\": {},\n *    \"availability\": {}\n *  },\n * {\n *    \"id\": \"inbox\",\n *    \"label\": \"Inbox\",\n *    \"icon\": \"inbox-outline\",\n *    \"routeInfo\": {},\n *    \"viewportInfo\": {\n *      \"route\": \"inbox\",\n *      \"fields\": {\n *        \"opened\": false\n *      },\n *      \"viewportElementId\": \"wsSidebar\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\": {\n *      \"count\": 0\n *    },\n *    \"presence\": {\n *      \"status\": \"\"\n *    },\n *    \"availability\": {\n *      \"roles\": [\"awa_agent\",\"awa_admin\",\"admin\"],\n *      \"plugin\": \"com.glide.interaction.awa\"\n *    }\n *  },\n * {\n *    \"id\": \"call\",\n *    \"label\": \"Call\",\n *    \"icon\": \"phone-outline\",\n *    \"routeInfo\": {},\n *    \"viewportInfo\": {\n *      \"route\": \"cti\",\n *      \"fields\": {\n *        \"opened\": false\n *      },\n *      \"viewportElementId\": \"wsCornerDialog\"\n *    },\n *    \"group\": \"bottom\",\n *    \"badge\":{},\n *    \"presence\": {},\n *    \"availability\": {}\n *  }\n * ]\n *\n *  <sn-canvas-toolbar toolbarButtons={buttons} />\n *\n * ```\n *\n * @seismicElement sn-canvas-toolbar\n * @summary A vertical toolbar that provide an interactive reference to a resource. The target resource must be an\n * internal page of current application.\n */\ncreateCustomElement('sn-canvas-toolbar', {\n\tproperties: {\n\t\t/**\n\t\t * Properties to configure the canvas toolbar buttons.\n\t\t *\n\t\t *\n\t\t * Toolbar buttons provides a way to interaction and load the workspace canvas modules.\n\t\t * All button clicks dispatches to NAV_ITEM_SELECTED to navigate to an internal page or screen\n\t\t *\n\t\t * An array of `ToolbarButton` item.\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\ttoolbarButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: toolbarButtonsSchema,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t/**\n\t\t * Defines the active route information.\n\t\t * An object of `Router`. See here for more information\n\t\t * [sn-canvas-router](https://code.devsnc.com/dev/sn-canvas-core#canvas-router)\n\t\t *@type {(Object.<Router>)}\n\t\t */\n\t\tactiveRoute: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: routerSchema },\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\t/**\n\t\t * Represents the sysId of current selected session tab\n\t\t * @type {(string)}\n\t\t */\n\t\tactiveParentId: { default: '-1', schema: { type: 'string' } },\n\t\t/**\n\t\t * Represents the array of the active session tab <table: '', sysId: ''>\n\t\t * When there are no session tabs, it's value is empty array []\n\t\t *\n\t\t * @type {Array.<{table: string, sysId: string}>}\n\t\t */\n\t\tactiveRecords: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: window?.ux_globals?.session?.output?.user?.sys_id,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Property determining if the toolbar should reflow or not\n\t\t * @type {boolean}\n\t\t */\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\tinitialState: {\n\t\tactiveButton: {},\n\t\tparentSize: {},\n\t\ttoggledButtons: {},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbar,\n\t},\n\tstyles: snCanvasToolbarStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the toolbar button is selected.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_TOOLBAR#BUTTON_SELECTED': {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t\t[COMPONENT_TREE_RENDERED]: handleComponentTreeRendered,\n\t\t[COMPONENT_RENDER_REQUESTED]: ({ action, host, dispatch }) => {\n\t\t\tconst { meta } = action;\n\t\t\tif (meta.firstRenderOnConnect) {\n\t\t\t\tconst toolbarResizeObserver = new ResizeObserver(\n\t\t\t\t\tdebounce((entries) => {\n\t\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\t\tconst size = {\n\t\t\t\t\t\t\t\twidth: entry.contentRect.width,\n\t\t\t\t\t\t\t\theight: entry.contentRect.height,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tdispatch(TOOLBAR_RESIZED, { size });\n\t\t\t\t\t\t}\n\t\t\t\t\t}, TOOLBAR_DEBOUNCE_RATE),\n\t\t\t\t);\n\t\t\t\ttoolbarResizeObserver.observe(host.nowRootNode.host);\n\t\t\t\ttoolbarObserverRef = toolbarResizeObserver;\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\thandleComponentDisconnected(coeffects, toolbarObserverRef);\n\t\t},\n\t\t[TOOLBAR_ACTIVE_BUTTON_SET]: {\n\t\t\teffect: handleActiveButtonSet,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[TOOLBAR_BUTTON_CLICKED]: {\n\t\t\teffect: handleToolbarButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[TOOLBAR_ACTIVE_BUTTON_UPDATED]: {\n\t\t\teffect: handleActiveButtonUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[TOOLBAR_RESIZED]: ({ action: { payload }, updateState }) => {\n\t\t\tupdateState({ parentSize: payload.size });\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{ behavior: focusBehavior },\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: { timer: { type: 'debounce', wait: 200 } },\n\t\t},\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t\t'Tab',\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\t'Enter',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonKeyPress: (host, event, dispatch) =>\n\t\t\t\t\t\thandleKeyPressed(host, event, dispatch),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n});\n","export const toolbarButtonsSchema = {\n\ttype: 'array',\n\tbuttons: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tid: { type: 'string' },\n\t\t\tlabel: { type: 'string' },\n\t\t\ticon: { type: 'string' },\n\t\t\tbadge: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcount: { type: 'string' },\n\t\t\t\t\tconfigurations: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\t\t\tfilter: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttype: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tpresence: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstatus: { type: 'string' },\n\t\t\t\t\tconfigurations: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\t\t\tfilter: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttype: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tavailability: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troles: { type: 'array' },\n\t\t\t\t\tplugin: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\trouteInfo: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\tparams: { type: 'object' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tviewportInfo: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\tviewportElementId: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tgroup: { type: 'string' }\n\t\t}\n\t}\n};\n","export const routerSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\troute: { type: 'string' },\n\t\tfields: { type: 'object' },\n\t\tparams: { type: 'object' }\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-modal';\nimport { t } from 'sn-translate';\n\nconst UCM_DIALOG_CLOSED = 'UXR_UCM_DIALOG_CLOSED';\nconst UCM_HEADING = t('Enable Analytics');\nconst FOOTER_ACTIONS = {\n\talert: [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: t('Agree'),\n\t\t\tconsentValue: 'AGREE',\n\t\t},\n\t],\n\tconfirm: [\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: t('Yes'),\n\t\t\tconsentValue: 'YES',\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: t('No'),\n\t\t\tconsentValue: 'NO',\n\t\t},\n\t],\n};\n\nexport const ucmActionHandlers = {\n\t'NOW_MODAL#OPENED_SET': ({\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t}) => {\n\t\tif (!value) {\n\t\t\tdispatch(UCM_DIALOG_CLOSED, { result: '' });\n\t\t}\n\t},\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED': ({ action: { payload }, dispatch }) => {\n\t\tdispatch(UCM_DIALOG_CLOSED, {\n\t\t\tresult: payload.action?.consentValue,\n\t\t});\n\t},\n};\n\nexport const snCanvasUcm = (state) => {\n\tconst { open, ucmConfig = {} } = state.properties;\n\tif (!ucmConfig || Object.keys(ucmConfig).length === 0) return;\n\tconst { content = '', type } = ucmConfig;\n\tconst template = document.createElement('template');\n\ttemplate.innerHTML = content;\n\n\tvar setTargetRef = (elm) => {\n\t\tif (!elm) return;\n\t\telm.appendChild(template.content);\n\t};\n\n\treturn (\n\t\t<now-modal\n\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tsize=\"md\"\n\t\t\topened={open}\n\t\t\tmanageOpened\n\t\t\theader-label={UCM_HEADING}\n\t\t\tfooter-actions={type ? FOOTER_ACTIONS[type.toLowerCase()] : []}\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-canvas-ucm', {\n\tproperties: {\n\t\tucmConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: { type: 'string' },\n\t\t\t\t\ttype: { enum: ['confirm', 'alert'] },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\topen: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\tview: snCanvasUcm,\n\tactionHandlers: ucmActionHandlers,\n});\n","import { forEach as _forEach, forOwn as _forOwn, get as _get } from 'lodash';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\n/**\n * getFieldValueFromViewportInfo\n * @param viewportInfo\n * @param field\n * @return {*}\n */\nexport const getFieldValueFromViewportInfo = (viewportInfo, field) => {\n\tconst { fields } = viewportInfo;\n\treturn fields[field];\n};\n\n/**\n * getFieldsFromViewportRoutes\n * @param viewportRoutes\n * @param properties\n * @return {{}}\n */\nexport const getFieldsFromViewportRoutes = async (viewportRoutes, properties) => {\n\tconst {\n\t\toptions: {viewportInfo}\n\t} = properties;\n\tlet newFields = {};\n\tconst keys = Object.keys(viewportRoutes);\n\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst route = keys[i];\n\t\tif (viewportRoutes.hasOwnProperty(route)) {\n\t\t\tconst viewportRouteConfig = viewportRoutes[route];\n\t\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\t\tconst fields = _get(\n\t\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t\t'fields'\n\t\t\t\t);\n\t\t\t\tnewFields = {};\n\t\t\t\tfor (const f of fields) {\n\t\t\t\t\tif (f === 'opened') {\n\t\t\t\t\t\tnewFields[f] = await viewportOpened(viewportInfo, properties);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewFields[f] = !properties[f]\n\t\t\t\t\t\t\t? getFieldValueFromViewportInfo(viewportInfo, f)\n\t\t\t\t\t\t\t: properties[f];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newFields;\n};\n\n/**\n * getParamsFromViewportRoutes\n * @param viewportRoutes\n * @param properties\n * @return {{}}\n */\nexport const getParamsFromViewportRoutes = (viewportRoutes, properties) => {\n\tconst {\n\t\toptions: { viewportInfo }\n\t} = properties;\n\tlet newParams = {};\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tconst params = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'optionalParameters'\n\t\t\t);\n\t\t\tnewParams = {};\n\t\t\t_forEach(params, (p) => {\n\t\t\t\tnewParams[p] = properties[p];\n\t\t\t});\n\t\t}\n\t});\n\n\treturn newParams;\n};\n\n/**\n * getFields\n * @param viewportRoutes\n * @param viewportInfo\n * @return {[]}\n */\nexport const getFields = (viewportRoutes, viewportInfo) => {\n\tlet fields = [];\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tfields = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'fields',\n\t\t\t\t[]\n\t\t\t);\n\t\t}\n\t});\n\treturn fields;\n};\n\n/**\n * getParams\n * @param viewportRoutes\n * @param viewportInfo\n * @return {[]}\n */\nexport const getParams = (viewportRoutes, viewportInfo) => {\n\tlet params = [];\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tparams = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'optionalParameters',\n\t\t\t\t[]\n\t\t\t);\n\t\t}\n\t});\n\treturn params;\n};\n\n/**\n *\n * @return {*}\n */\nconst currentRoute = async () => {\n\tconst activeButton = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_TOOLBAR_SESSION_STORAGE')\n\t\t.getItem('canvasToolbar');\n\treturn _get(activeButton, 'routeInfo.route', '');\n};\n\n/**\n * skipPreload\n * @param viewportInfo\n * @return {boolean}\n */\nexport const skipPreload = async (viewportInfo) => {\n\tconst route = await currentRoute();\n\treturn _get(viewportInfo, 'route', '').indexOf(route) !== -1;\n};\n\n/**\n * viewportOpened\n * @param viewportInfo\n * @returns {boolean}\n */\nconst viewportOpened = async (viewportInfo, properties) => {\n\tconst { experienceId } = properties;\n\tconst sessionStorageKey = experienceId\n\t\t? `canvasToolbar_${experienceId}`\n\t\t: 'canvasToolbar';\n\n\tconst currentActiveButton = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_TOOLBAR_SESSION_STORAGE')\n\t\t.getItem(sessionStorageKey);\n\n\tconst route = _get(viewportInfo, 'route');\n\tlet opened = false;\n\tif (route === _get(currentActiveButton, 'viewportInfo.route')) {\n\t\topened = _get(currentActiveButton, 'viewportInfo.fields.opened');\n\t}\n\treturn opened;\n};\n","import { get as _get, forOwn as _forOwn } from 'lodash';\nimport {\n\tgetFieldsFromViewportRoutes,\n\tgetParamsFromViewportRoutes,\n} from './utils';\n\n/**\n * loadViewport\n * @param viewportRoutes\n * @param viewportInfo\n * @param dispatch\n * @param updateProperties\n */\nexport const loadViewport = (\n\tviewportRoutes,\n\tviewportInfo,\n\tdispatch,\n\tupdateProperties,\n) => {\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t...viewportInfo,\n\t\t\t\treinitialize: true,\n\t\t\t});\n\n\t\t\t// turn off preload, to stop re-firing on component prop change\n\t\t\tupdateProperties({ preload: false });\n\t\t}\n\t});\n};\n\n/**\n * loadViewportWithFieldsAndParams\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const loadViewportWithFieldsAndParams = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t} = properties;\n\n\tconst keys = Object.keys(viewportRoutes);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst route = keys[i];\n\t\tif (viewportRoutes.hasOwnProperty(route)) {\n\t\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t\t...viewportInfo,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\t...(await getFieldsFromViewportRoutes(\n\t\t\t\t\t\t\tviewportRoutes,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t)),\n\t\t\t\t\t},\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...getParamsFromViewportRoutes(\n\t\t\t\t\t\t\tviewportRoutes,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\treinitialize: true,\n\t\t\t\t});\n\n\t\t\t\t// turn off preload, to stop re-firing on component prop change\n\t\t\t\tupdateProperties({ preload: false });\n\t\t\t}\n\t\t}\n\t}\n};","import { isEmpty as _isEmpty, get as _get } from 'lodash';\nimport { loadViewport, loadViewportWithFieldsAndParams } from './loadViewportUtils';\n\n/**\n * handleComponentDOMReady\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const handleComponentDOMReady = async ({\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpreload,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\tconst { viewportInfo } = options;\n\tconst viewportElementId = _get(viewportInfo, 'viewportElementId');\n\n\tif (\n\t\t!preload ||\n\t\t_isEmpty(viewportRoutes) ||\n\t\t_isEmpty(viewportElementId)\n\t) {\n\t\treturn;\n\t}\n\n\t/**\n\t * preload viewports - Preload viewports that don't require any fields & params\n\t * e.g. Ongoing sidebar, and CTI use cases\n\t **/\n\tif (!includesFieldsParams) {\n\t\tloadViewport(viewportRoutes, viewportInfo, dispatch, updateProperties);\n\t}\n\t/**\n\t * preload viewports - Preload viewports that require fields or params\n\t * e.g. Inbox sidebar. \n\t * Notes: \n\t *   1) This is necessary for the inbox sidebar to load with params. See DEF0528020.\n\t *   2) We also want to avoid loading wsChatShell. See DEF0531681.\n\t *      Loading wsChatShell here is unnecessary, and has caused WPT performance degradation.\n\t */\n\telse if (viewportElementId !== 'wsChatShell') {\n\t\tawait loadViewportWithFieldsAndParams(\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t}\n};\n\n/**\n * viewportRoutes change\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onViewportRoutesChange = (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\tconst { viewportInfo } = options;\n\t/**\n\t * preload viewports - Preload viewports that don't require any fields & params\n\t * e.g. Ongoing sidebar, and CTI use cases\n\t **/\n\tif (\n\t\tpreload &&\n\t\t!includesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tloadViewport(viewportRoutes, viewportInfo, dispatch, updateProperties);\n\t}\n};\n\n/**\n * onMaxTabLimitChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onMaxTabLimitChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveRecords,\n\t\tmaxTabLimit,\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tif (\n\t\tpreload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\t// preload viewports, that require maxTabLimit & activeRecords e.g. inbox viewport\n\t\tif (maxTabLimit && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * onActiveParentIdChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onActiveParentIdChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tconst { viewportInfo } = options;\n\n\t// update viewports on activeParentId change\n\tif (\n\t\t!preload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tif (!_isEmpty(activeParentId) && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * onActiveRecordsChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nconst onActiveRecordsChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t\tmaxTabLimit,\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tif (\n\t\tpreload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\t// preload agent chat shell\n\t\tif (!_isEmpty(activeParentId) && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n\n\t// update viewports on activeRecords change\n\tif (\n\t\t!preload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tif (maxTabLimit) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\n\t\tif (!_isEmpty(activeParentId)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * handleComponentPropertyChanged\n * @param action\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const handleComponentPropertyChanged = async ({\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst { name } = action.payload;\n\tswitch (name) {\n\t\tcase 'maxTabLimit':\n\t\t\tawait onMaxTabLimitChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tcase 'activeParentId':\n\t\t\tawait onActiveParentIdChange(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'activeRecords':\n\t\t\tawait onActiveRecordsChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tcase 'viewportRoutes':\n\t\t\t// adding break to avoid case falling through\n\t\t\tonViewportRoutesChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const handleComponentConnected = ({ host }) => {\n\tlet current = host;\n\twhile (current && current.tagName !== 'SN-CANVAS-LAYOUT') {\n\t\tcurrent = current.parentElement;\n\t\tif (current.tagName === 'BODY') break;\n\t}\n\tif (current.tagName === 'SN-CANVAS-LAYOUT')\n\t\thost['experienceId'] = `@${current['componentId']}/experienceId`;\n};\n\nconst effectHandlers = {\n\thandleComponentConnected,\n\thandleComponentDOMReady,\n\thandleComponentPropertyChanged,\n};\n\nexport default {\n\teffectHandlers,\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport snCanvasViewportEffect from './snCanvasViewportEffect';\nimport snCanvasViewportStyles from './_sn-canvas-viewport.scss';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst {\n\thandleComponentConnected,\n\thandleComponentDOMReady,\n\thandleComponentPropertyChanged,\n} = snCanvasViewportEffect.effectHandlers;\n\nexport const snCanvasViewport = () => {\n\treturn (\n\t\t<div className=\"sn-canvas-viewport\">\n\t\t\t<slot name=\"viewport\" />\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-viewport', {\n\tproperties: {\n\t\tpreload: { default: false, schema: { type: 'boolean' } },\n\t\tincludesFieldsParams: { default: false, schema: { type: 'boolean' } },\n\t\toptions: { default: {}, schema: { type: 'object' } },\n\t\tactiveParentId: { default: '-1', schema: { type: 'string' } },\n\t\tactiveRecords: { default: null, schema: { type: 'array' } },\n\t\tmaxTabLimit: { default: 0, schema: { type: 'number' } },\n\t\texperienceId: { default: '' },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasViewport,\n\t},\n\tstyles: snCanvasViewportStyles,\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t\t[COMPONENT_DOM_READY]: handleComponentDOMReady,\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t},\n\tbehaviors: [uxfViewportBehavior, renderSkipBehavior],\n});\n","import { get } from 'lodash';\nimport { USER_META_KEYS } from '../constants/constants';\nimport { getLandingPath } from 'sn-canvas-common';\n\nexport const updateButtonPresenceStatus = (\n\tbutton,\n\tindex,\n\tstatus,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n    const { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tpresence: { status: status }\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const updateButtonBadgeCount = (\n\tbutton,\n\tindex,\n\tbadge,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n    const { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tbadge\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const updateButtonIcon = (\n\tbutton,\n\tindex,\n\ticon,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n  \tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\ticon\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const setButtonSelection = (\n\tbutton,\n\tindex,\n\tselect,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n  \tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tisSelected: select\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const setButtonVisibility = (\n\tbutton,\n\tindex,\n\tshow,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n\t\tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tshow\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const IS_LOGGED_IN = (() => {\n\tconst gLoggedIn = get(window, 'ux_globals.isLoggedIn', false);\n\treturn (\n\t\tgLoggedIn === true ||\n\t\t(typeof gLoggedIn === 'string' && gLoggedIn.toLowerCase() === 'true')\n\t);\n})();\n\nexport const DESTINATION_URL = (() => {\n\tlet destinationUrl = get(window, 'ux_globals.loginRedirectUrl', null);\n\n\tif (!destinationUrl) {\n\t\tconst initPath = get(\n\t\t\twindow,\n\t\t\t'ux_globals.siteName',\n\t\t\tnull\n\t\t);\n\t\tconst landingPath = getLandingPath(initPath);\n\t\tdestinationUrl = initPath && landingPath\n\t\t\t? `/${initPath}/${landingPath}`\n\t\t\t: '';\n\t}\n\treturn destinationUrl;\n})();\n\nexport const mapUserMeta = (sessionUserInfo = {}) => {\n\tif (sessionUserInfo === null || Object.entries(sessionUserInfo).length === 0) return {};\n\n\tlet userMeta = {};\n\tfor (let userKey in sessionUserInfo) {\n\t\tif (Object.values(USER_META_KEYS).includes(userKey)) {\n\t\t\tuserMeta[userKey] = sessionUserInfo[userKey];\n\t\t}\n\t}\n\treturn userMeta;\n}\n","import {\n\tfind as _find,\n\tfindIndex as _findIndex,\n\tget as _get,\n\tisEmpty as _isEmpty,\n\thas as _has,\n} from 'lodash';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport {\n\tupdateButtonPresenceStatus,\n\tupdateButtonBadgeCount,\n\tsetButtonSelection,\n\tsetButtonVisibility,\n\tupdateButtonIcon,\n\tmapUserMeta,\n} from './utils';\n\nconst ACTION_TYPES = {\n\t/* user meta actions */\n\tUSER_META_REQUEST: 'USER_META_REQUEST',\n\tUSER_META_REQUEST_STARTED: 'USER_META_REQUEST_STARTED',\n\tUSER_META_REQUEST_SUCCEEDED: 'USER_META_REQUEST_SUCCEEDED',\n\tUSER_META_REQUEST_FAILED: 'USER_META_REQUEST_FAILED',\n\n\t// viewport actions\n\tVIEWPORT_SELECTED: 'VIEWPORT_SELECTED',\n\tPRIME_NAV_SOURCE_CHANGED: 'PRIME_NAV_SOURCE_CHANGED', // action from sn-inbox\n};\n\nexport const handleButtonUpdate = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: { toolbarButtons },\n\t\t},\n\t} = coeffects;\n\n\tlet { id, status, badge, select = false, show = true, icon = '' } = payload;\n\tlet button, index;\n\n\tif (!_isEmpty(id)) {\n\t\tid = _get(payload, 'id');\n\t\tbutton = _find(toolbarButtons, (b) => b.id === id);\n\t\tindex = _findIndex(toolbarButtons, { id });\n\n\t\tif (!_isEmpty(button) && index !== -1) {\n\t\t\tif (_has(payload, 'icon') && !_isEmpty(icon)) {\n\t\t\t\tupdateButtonIcon(button, index, icon, updateProperties);\n\t\t\t}\n\n\t\t\tif (_has(payload, 'status') && !_isEmpty(status)) {\n\t\t\t\tupdateButtonPresenceStatus(\n\t\t\t\t\tbutton,\n\t\t\t\t\tindex,\n\t\t\t\t\tstatus,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_has(payload, 'badge') &&\n\t\t\t\t!_isEmpty(badge) &&\n\t\t\t\t_has(badge, 'count')\n\t\t\t) {\n\t\t\t\tupdateButtonBadgeCount(button, index, badge, updateProperties);\n\t\t\t}\n\n\t\t\tif (_has(payload, 'select')) {\n\t\t\t\tsetButtonSelection(button, index, select, updateProperties);\n\t\t\t}\n\n\t\t\tif (_has(payload, 'show')) {\n\t\t\t\tsetButtonVisibility(button, index, show, updateProperties);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const handlePropertyChange = ({ properties, updateProperties }) => {\n\tconst { toolbarButtonsConfig, toolbarButtons } = properties;\n\n\tif (!_isEmpty(toolbarButtonsConfig) && _isEmpty(toolbarButtons)) {\n\t\tupdateProperties({ toolbarButtons: toolbarButtonsConfig });\n\t}\n};\n\nexport const handleViewportSelection = async (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, viewportInfo },\n\t\t},\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: { toolbarButtons, experienceId },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst button = _find(toolbarButtons, (b) => b.id === id);\n\tconst index = _findIndex(toolbarButtons, { id });\n\n\tif (!_isEmpty(button) && index > -1) {\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, { ...button, viewportInfo });\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\n\t\t// update primary tab only for top group of toolbar buttons that controls the viewports\n\t\tif (button.group === 'top') {\n\t\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\t\tbutton: { ...button, viewportInfo, size: '240px' },\n\t\t\t});\n\t\t\tconst sessionStorageKey = experienceId\n\t\t\t\t? `canvasToolbar_${experienceId}`\n\t\t\t\t: 'canvasToolbar';\n\t\t\t//update the toolbar button to session\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(sessionStorageKey, {\n\t\t\t\t...button,\n\t\t\t\tviewportInfo,\n\t\t\t});\n\t\t}\n\t}\n\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t...viewportInfo,\n\t\treinitialize: true,\n\t});\n};\n\nexport const handlePrimaryTabUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tbutton: { id, label, icon, routeInfo, viewportInfo, size },\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tupdateProperties({\n\t\tprimaryTab: {\n\t\t\tid,\n\t\t\ttitle: label,\n\t\t\ticon,\n\t\t\trouteInfo,\n\t\t\tviewportInfo,\n\t\t\tsize,\n\t\t},\n\t});\n};\n\nconst effectHandlers = {\n\thandlePropertyChange,\n\thandleButtonUpdate,\n\thandleViewportSelection,\n\thandlePrimaryTabUpdate,\n};\n\n/**\n * Function created to retrieve the userMeta data from ux_globals instead of making additional GQL.\n * @returns {Object}\n */\nexport const getUserMetaFromUxGlobal = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!_has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tconst sessionUserInfo = _get(UX_GLOBALS['session'], ['output', 'user'], {});\n\n\treturn mapUserMeta(sessionUserInfo);\n};\n\nexport default {\n\tACTION_TYPES,\n\teffectHandlers,\n};\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { renderSkipBehavior } from 'sn-canvas-common';\nimport chromeStateEffect, {\n\tgetUserMetaFromUxGlobal,\n} from './chromeStateEffect';\nimport { IS_LOGGED_IN, DESTINATION_URL } from './utils';\nimport { isEmpty as _isEmpty } from 'lodash';\n\nconst { PRIME_NAV_SOURCE_CHANGED, VIEWPORT_SELECTED } =\n\tchromeStateEffect.ACTION_TYPES;\n\nconst {\n\thandleButtonUpdate,\n\thandlePropertyChange,\n\thandleViewportSelection,\n\thandlePrimaryTabUpdate,\n} = chromeStateEffect.effectHandlers;\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_READY, COMPONENT_CONNECTED } =\n\tactionTypes;\n\ncreateCustomElement('sn-canvas-chrome-state', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: () => <slot />,\n\t},\n\tproperties: {\n\t\tprimaryTab: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t},\n\t\ttoolbarButtonsConfig: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tselectable: false,\n\t\t},\n\t\ttoolbarButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tselectable: true,\n\t\t},\n\t\tuserMeta: {\n\t\t\tdefault: getUserMetaFromUxGlobal(),\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t},\n\t\tloginRedirectUrl: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t\tselectable: true,\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tloginRedirectUrl: DESTINATION_URL,\n\t\t\t\tisLoggedIn: IS_LOGGED_IN,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({ properties, updateProperties }) => {\n\t\t\tconst { toolbarButtonsConfig, toolbarButtons } = properties;\n\t\t\tif (!_isEmpty(toolbarButtonsConfig) && _isEmpty(toolbarButtons)) {\n\t\t\t\tupdateProperties({ toolbarButtons: toolbarButtonsConfig });\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange,\n\t\t[VIEWPORT_SELECTED]: handleViewportSelection,\n\t\t['PRIMARY_TAB_UPDATED']: handlePrimaryTabUpdate,\n\t\t[PRIME_NAV_SOURCE_CHANGED]: handleButtonUpdate,\n\t},\n\tbehaviors: [renderSkipBehavior],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_chrome=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":414,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-core-addon/28.0.63-swarm.0/index.min.js","names":["module","exports","a","n","TypeError","__esModule","toPropertyKey","require","_defineProperties","e","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","value","_extends","assign","bind","arguments","hasOwnProperty","call","apply","includes","_typeof","Symbol","toPrimitive","i","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","definition","get","obj","prop","CANVAS_SESSION_BEHAVIOR","AMB_STATUS_BEHAVIOR","NAV_ITEM_SELECTED","CONTENT_UPDATED","MODAL_SELECTED","EXPERIENCE_LOAD_REQUESTED","SESSION_LOGGED_OUT","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","default","difference","has","isEmpty","isEqual","isFunction","isNil","set","throttle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__","PERSIST_STATE_CONSTANTS","deepSearchElement","canvasRootBehavior","name","properties","rootSelectedNavItem","selectable","shouldRenderWhenSet","rootContentUpdated","modalContent","actionHandlers","_ref","action","updateProperties","payload","meta","nativeEvent","restPayload","_objectWithoutPropertiesLoose","_excluded","metaKeyPressed","updatePersistedState","encodedPersistedState","url","external","window","open","target","startsWith","isExternalURL","currTime","performance","now","passiveNavigation","updateUrl","_timestamp","_ref2","isOpen","closeAll","_ref3","_action$payload","modalId","sourceEl","showModal","displayOptions","screenRef","rest","_excluded2","currentScreen","elementRef","source","path","event","composedPath","screenArray","filter","p","tagName","id","selector","str","match","_e","getAttribute","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","declarativeOperations","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","handleLogin","dispatch","loginModal","fields","document","location","reload","createModalConfigFactory","headerLabel","content","footerActions","onClose","hasActions","applyOverlayStyles","token","resetAuthToken","new_g_ck","g_ck","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__","AmbClientProxy","_createClass","_classCallCheck","_defineProperty","amb","actionType","client","handlerIdMap","this","eventKey","replace","eventName","getEvents","Error","subscribeToEvent","handlerId","unsubscribeFromEvent","keys","unsubscribeFromAction","ambClientProxy","freeze","autoRedirectLogout","isWindowOverride","autoRedirect","toString","toLowerCase","ACTION_TYPES","AMB_STATUS_SET","AMB_EVENT_SESSION_LOGGED_IN","AMB_EVENT_SESSION_LOGGED_OUT","AMB_EVENT_SESSION_INVALIDATED","AMB_META_CONNECT_MESSAGE_RECEIVED","CANVAS_GLOBAL_ERROR","CANVAS_HIDE_ERROR_MODAL","effectHandlers","handleSessionLoggedIn","state","behaviorState","behaviors","isAuthTokenActive","isSessionLoggedIn","showError","errorConfig","handleSessionLoggedOut","coeffects","canvasSession","sessionLoggedIn","isLoggedIn","isShowTimeoutModalOverride","noTimeoutModal","type","handleSessionInvalidated","forgetMe","handleAmbMetaConnectMessageReceived","_canvasSession$proper","_canvasSession$proper2","host","updateState","ambSessionLogoutValue","ambSessionLogout","message","ext","_isEmpty","getWindowOverrideValue","ssoShowModal","ssoShowModalOverride","ssoShowModals","_canvasSession$proper3","_canvasSession$proper4","_canvasSession$proper5","_canvasSession$proper6","ambStatusBehaviorState","isActiveSessionExpiringShown","activeSessionTimeleft","activeSessionTimeRemainingInSeconds","parseInt","operation","sessionTimeleft","sessionTimeleftInSeconds","showErrorProp","errorConfigProp","getResolvedProperties","setAMBStatus","updatedSession","onConnect","dispatchOnEvent","isGckValid","getChannel","subscribe","onDisconnect","unsubscribeFromActions","CONSTANTS","SN_CANVAS_ERROR_TAGNAME","CANVAS_ERROR_BEHAVIOR","NOW_MODAL_OPENED_SET","NOW_MODAL_FOOTER_ACTION_CLICKED","API","TOUCH_SESSION_URL","ERROR_MODAL_CONSTANTS","DEFAULT","ONLINE","OFFLINE","SESSION_EXPIRED","SESSION_EXTENDED","SESSION_TIMEOUT","CLOSE","REFRESH","LOGIN","EXTEND_SESSION","OK","ambStatusEffect","handleLogoutRedirect","errorModalConfig","variant","label","modal","ACTIVE_SESSION_EXPIRING","CANVAS_SHOW_ERROR_MODAL","CANVAS_SESSION_EXTENDED","showCanvasErrorModalEffect","hideCanvasErrorModalEffect","handleCanvasGlobalErrorEffect","data","_has","error","detail","trim","console","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","canvasErrorEffect","COMPONENT_CONNECTED","COMPONENT_DISCONNECTED","canvasErrorBehavior","method","batch","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","canvasAppshellRootBehavior","activeExperience","Client","OS","WINDOWS","MACINTOSH","IOS","ANDROID","_getOS","_getMobileOS","userAgent","navigator","regExpPlatform","matches","regExpAppleDevices","version","_getDesktopOS","platform","indexOf","regExpVersion","uaResult","_setOS","os","parseFloat","BROWSER","INTERNET_EXPLORER","EDGE","FIREFOX","CHROME","SAFARI","_calcBrowser","ua","browserMatch","exec","result","browser","_setBrowser","_getBrowser","regExpMobile","mozilla","RegExp","$1","mobile","test","webkit","webkitVersion","regExpWebkitVersion","chromeMatch","firefoxMatch","androidMatch","isMobile","exp","isStandalone","standalone","parts","fullscreen","webview","phantomJS","msie","trident","edge","edg","edga","edgios","b","_setSupport","support","touch","maxTouchPoints","DocumentTouch","supportTouch","SYSTEMTYPE","TABLET","PHONE","DESKTOP","COMBI","_getSystem","isTabletDetected","_isTablet","windows","chrome","android","densityFactor","devicePixelRatio","Math","min","screen","width","height","isAndroidPhone","isWin8Upwards","system","tablet","phone","windows_phone","desktop","combi","_setSystem","getTimeZoneName","timeZoneName","Date","toLocaleString","split","pop","getLanguage","lang","_setLanguage","_htmlEle","getElementsByTagName","language","getDir","dir","_setDir","getGreeting","testValue","getHours","currentHour","COMPONENT_DOM_READY","canvasClientBehavior","clientInfo","schema","greeting","canvasSessionSchema","awaEnabled","sessionTimeout","trackingEnabled","user","avatar","canImpersonate","country","countryCallingCode","dateFormat","dateTimeFormat","domain","encryptionContexts","firstName","fullName","impersonatingUserId","initials","isImpersonating","lastName","preferences","definitions","userPreference","presence","roles","sys_id","timeFormat","timeZone","timeZoneOffset","title","username","userPrefs","getDefaultUserPrefsFromPageProps","property","entries","prefName","prefDefaultValue","mergePreferences","defaultPreferences","preferenceMap","map","prefObj","prefValue","computeUserPrefs","sessionUserPrefs","activeExperiencePath","canvasBehavior","experiencePath","experienceUserPrefDefaults","computedUserPrefs","resolvedPrefs","resolveNullUserPrefs","mergeSessionDbAndLibCompPrefs","sessionDbPrefs","libComponentPrefs","sessionDbPrefsKeys","pref","libComponentPrefsKeys","newUserPrefs","getExperienceConfigUserPrefDefaults","UX_GLOBALS","ux_globals","experienceConfigs","experienceDefaultUserPrefs","experienceId","pageProperties","chrome_header","propObj","JSON","parse","defaultUserPrefs","mergeDefaultUserPrefsFromUXGlobals","experienceConfigUserPrefDefaults","getSysPropsFromUxGlobalEffect","CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED","CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED","CANVAS_USER_PREFERENCE_UPDATE_REQUEST","CANVAS_USER_PREFERENCES_UPDATE_REQUEST","CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED","CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED","CANVAS_USER_PREFERENCE_UPDATED","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","CANVAS_USER_PREFERENCE_UPDATE","USER_PREF_SOURCE_UPDATED","CANVAS_EXPERIENCE_LOADED","CANVAS_EXPERIENCE_SWITCHED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__","convertUrlToPayload","setSysProps","setUserPrefs","updateUserPreferenceEffect","successActionType","errorActionType","variableList","updateUserPreferencesEffect","updatePreferenceEffect","experienceLoadedOrSwitchedEffect","_ref4","updateContext","payloadExperiencePath","shouldRender","sessionPreferences","sysPropsData","effect","session","updatedUserPreferences","errors","updatedPreference","isExistingPreference","preference","stopPropagation","_ref5","defaultEventRegistry","Map","sessionExtensionEffect","events","eventRegistry","coeffect","forEach","body","addEventListener","createDisconnectEffect","removeEventListener","removeEventListeners","registerEventListeners","createEffectForEvents","leading","trailing","sessionData","getSessionFromUxGlobalEffect","sessionInfo","lastUiActivitySysProp","canvasSessionBehavior","deepCompare","initialState","sessionUpdateEffects","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","RECORD_PRESENCE_COLUMN","createAmbPresenceSubscription","subscribeStartedActionType","subscribeSucceededActionType","subscribeFailedActionType","unsubscribeSucceededActionType","messageReceivedActionType","table","btoa","handleSubscriptionError","warn","updatedValue","update","userPresenceBehavior","userPresenceUpdateEffect","actions","private","BROWSER_STATUS","HTTP_ERROR_OCCURRED","onlinelistener","offlinelistener","onHttpErrorOccurred","status","evt","onlineHandler","offlineHandler","canvasLayoutEffect","canvasLayoutErrorBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","ACTION_CREATE_TINY_URL","ACTION_TINY_URL_CREATED","ACTION_TINY_URL_CREATE_FAILED","ACTION_RESOLVE_TINY_URL","ACTION_TINY_URL_RESOLVED","ACTION_TINY_URL_RESOLVE_FAILED","getUrlPersistedStateWithMetadata","persistedStateForUrl","encoding","isTiny","metadata","push","join","deserializePersistedState","persistedState","persistedStateFromUrl","decodedPersistedState","atob","tinyIdStatePersistenceCache","putResolvedTinyPersistedStateToCache","tinyId","serialzedPersistedState","ACTION_PERSIST_STATE_INTERNAL","ACTION_PERSIST_STATE_INIT_INTERNAL","ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL","SINK_URL","validPersistenceSinks","handleEmptyPersistedStateFromRouter","rawPersistedStateFromUrl","screenKey","persistedStateForRouter","previousPersistedState","handleNonEmptyPersistedStateFromRouter","serializedPersistedState","_window","resolvedTinyIdFromUxGlobals","resolvedTinyPersistedState","getResolvedTinyPersistedStateFromCache","statePersistenceMeta","deserializedPersistedState","handlePersistStateFromRouter","handlerFunction","shouldUpdate","SET","handleTinyUrlCreationFailed","statePersistenceBehavior","persistedStateForMain","persistTo","persistedStateForScreen","stringify","serializePersistedState","newEncodedPersistedStateForScreen","encodeURIComponent","dataParam","_payload$result","tinyPersistedState","pathParams","_tinyUrlResponse$resu","tinyUrlResponse","__state__","handleTinyUrlResolvedFailed","async","origin","isFromLinkGrabber","reloadFromPlugin","incomingUrl","URL","selectedContent","getSelectedContent","err","navigateWithContext","internalNavPluginBehavior","navigateToIncomingUrl"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/defineProperty.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/constants/constants.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-common/28.0.63-swarm.0/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-root/canvasRoot.actions.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-root/canvasRoot.behavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/utils/isLegacySelector.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-error/utils.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/ambStatusBehavior/getAuthToken.js","webpack:///external module \"/uxasset/externals/amb-client-js/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/ambStatusBehavior/ambClientProxy.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/utils/autoRedirectLogout.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/ambStatusBehavior/ambStatusEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/utils/showModalsOverride.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-error/constants.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-error/errorModalConfig.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-error/canvasErrorEffect.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-error/canvasErrorBehavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-appshell-root/canvasAppshellRoot.behavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-appshell-root/canvasAppShellRoot.actions.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-client/utils/client.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-client/utils/greeting.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/sn-canvas-client/sn-canvas-client.behavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/schemas/index.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/effects/utils.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/effects/bootstrapEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/28.0.4/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/effects/sessionUpdateEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/effects/lastUIActivityEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasSessionBehavior/sn-canvas-session.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/userPresenceBehavior/constants.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/userPresenceBehavior/userPresenceEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/userPresenceBehavior/userPresenceBehavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/ambStatusBehavior/ambStatusBehavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasLayoutErrorBehavior/canvasLayoutEffect.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/canvasLayoutErrorBehavior/canvasLayoutErrorBehavior.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/statePersistenceBehavior/constants.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/statePersistenceBehavior/utils.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/statePersistenceBehavior/statePersistence.actions.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/statePersistenceBehavior/statePersistence.behavior.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/internalNavPluginBehavior/navigateToIncomingUrl.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/internalNavPluginBehavior/internalNavPlugin.actions.js","webpack:///sn-canvas-core-addon/28.0.63-swarm.0/src/internalNavPluginBehavior/internalNavPlugin.behavior.js"],"sourcesContent":["function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","//Behaviors\nexport const CANVAS_ROOT_BEHAVIOR = 'CANVAS_ROOT_BEHAVIOR';\nexport const CANVAS_APPSHELL_ROOT_BEHAVIOR = 'CANVAS_APPSHELL_ROOT_BEHAVIOR';\nexport const CANVAS_CLIENT_BEHAVIOR = 'CANVAS_CLIENT_BEHAVIOR';\nexport const CANVAS_SESSION_BEHAVIOR = 'CANVAS_SESSION_BEHAVIOR';\nexport const AMB_STATUS_BEHAVIOR = 'AMB_STATUS_BEHAVIOR';\nexport const USER_PRESENCE_BEHAVIOR = 'USER_PRESENCE_BEHAVIOR';\nexport const INTERNAL_NAV_PLUGIN_BEHAVIOR = 'INTERNAL_NAV_PLUGIN_BEHAVIOR';\n\n// Actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const VIEWPORT_MODAL_SELECTED = 'MACROPONENT_VIEWPORT_LOAD_REQUESTED';\n\nexport const EXPERIENCE_LOAD_REQUESTED = 'CANVAS_EXPERIENCE_LOAD_REQUESTED';\n\nexport const SESSION_LOGGED_OUT = 'SESSION_LOGGED_OUT';\n\nexport const SN_CANVAS_SCREEN = 'SN-CANVAS-SCREEN';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PERSIST_STATE_CONSTANTS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t\t} else if ('PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.PERSIST_STATE_CONSTANTS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t} });","import { get, has, isEmpty, set } from 'lodash';\nimport {\n\tNAV_ITEM_SELECTED,\n\tCONTENT_UPDATED,\n\tMODAL_SELECTED,\n\tSN_CANVAS_SCREEN,\n} from '../constants/constants';\n\nimport { deepSearchElement } from 'sn-canvas-common';\nimport { isLegacySelector } from '../utils/isLegacySelector';\n\nfunction isExternalURL(url) {\n\treturn !isEmpty(url) && url.startsWith('http');\n}\n\nfunction handleNavItemSelected({ action, updateProperties }) {\n\tconst { payload, meta } = action;\n\tconst { nativeEvent = {}, ...restPayload } = payload;\n\tconst metaKeyPressed =\n\t\tget(nativeEvent, 'metaKey', false) ||\n\t\tget(nativeEvent, 'ctrlKey', false);\n\n\tif (meta?.updatePersistedState !== true) {\n\t\trestPayload.encodedPersistedState = null;\n\t}\n\tif (has(payload, ['external', 'url'])) {\n\t\tconst url = payload.external.url;\n\t\twindow.open(\n\t\t\turl,\n\t\t\tpayload.external.target || '_blank',\n\t\t\tisExternalURL(url) ? 'noreferrer' : null,\n\t\t);\n\t\treturn;\n\t}\n\tconst currTime = window.performance.now();\n\tset(window, ['uxf_timing', 'most_recent_user_nav'], currTime);\n\tupdateProperties({\n\t\trootSelectedNavItem: {\n\t\t\t...restPayload,\n\t\t\t...((metaKeyPressed || restPayload.passiveNavigation === true) && {\n\t\t\t\tpassiveNavigation: true,\n\t\t\t\tupdateUrl: false,\n\t\t\t}),\n\t\t\t_timestamp: currTime,\n\t\t},\n\t});\n}\n\nfunction handleContentUpdated({ action, updateProperties }) {\n\tupdateProperties({\n\t\trootContentUpdated: action.payload,\n\t\tmodalContent: { isOpen: false, closeAll: true },\n\t});\n}\n\nconst handleModalSelected = ({ action, updateProperties }) => {\n\tconst {\n\t\tmodalId: sourceEl,\n\t\tshowModal: isOpen,\n\t\tdisplayOptions,\n\t\tscreenRef,\n\t\t...rest\n\t} = action.payload;\n\tlet { elementRef: source } = action.meta;\n\n\t// corresponding screenRef is passed when sn-canvas-tabs dispatches MODAL_SELECTED\n\tif (!source && screenRef) {\n\t\tsource = deepSearchElement(sourceEl, screenRef);\n\t}\n\tlet currentScreen;\n\tif (sourceEl && !source) {\n\t\tconst path = action.meta.event.composedPath();\n\t\tconst screenArray = path?.filter((p) => p.tagName === SN_CANVAS_SCREEN); //find the canvas screen element\n\t\tif (screenArray && screenArray.length > 0) {\n\t\t\tcurrentScreen = screenArray[0];\n\t\t}\n\n\t\t/*  Currently, modal elements are queried using the CSS endsWith selector ([id$=\"modalId\"]). This picks\n\t\tthe first matched modal in the dom tree, this leads to incorrect modal selection when the dom has multiple macroponents \n\t\twith same sys Id, which internally has modals with same elementID */\n\t\ttry {\n\t\t\tif (action.meta.id) {\n\t\t\t\tlet selector = isLegacySelector(sourceEl)\n\t\t\t\t\t? `[component-id^='${action.meta.id}']${sourceEl}`\n\t\t\t\t\t: sourceEl; // updating the selector with startsWith component-id of the trigger component\n\t\t\t\tsource = currentScreen\n\t\t\t\t\t? deepSearchElement(selector, currentScreen)\n\t\t\t\t\t: undefined; // searches with updated selector in the current screen only\n\t\t\t\tif (!source) {\n\t\t\t\t\tsource = deepSearchElement(selector); // searches with updated selector on entire dom\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!source && currentScreen) {\n\t\t\t\tsource = deepSearchElement(sourceEl, currentScreen); // fallback to search with selector on current screen\n\t\t\t}\n\n\t\t\t// fallback to search with selector on entire dom\n\t\t\tif (!source) source = deepSearchElement(sourceEl);\n\t\t} catch (_e) {\n\t\t\t//set source when selector fails to validate in worst case.\n\t\t\tsource = undefined;\n\t\t}\n\t}\n\n\tconst modalId = source ? source.getAttribute('component-id') : undefined;\n\tupdateProperties({\n\t\tmodalContent: {\n\t\t\t...rest,\n\t\t\tsource,\n\t\t\tmodalId,\n\t\t\tisOpen,\n\t\t\tdisplayOptions,\n\t\t},\n\t});\n};\n\nexport default {\n\t[NAV_ITEM_SELECTED]: handleNavItemSelected,\n\t[CONTENT_UPDATED]: handleContentUpdated,\n\t[MODAL_SELECTED]: handleModalSelected,\n};\n","import { CANVAS_ROOT_BEHAVIOR } from '../constants/constants';\nimport actions from './canvasRoot.actions';\n\nexport const canvasRootBehavior = {\n\tname: CANVAS_ROOT_BEHAVIOR,\n\tproperties: {\n\t\trootSelectedNavItem: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\trootContentUpdated: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t},\n\t\tmodalContent: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tactionHandlers: actions,\n};\n","export function isLegacySelector(str) {\n    const match =\n        str && str.match(/^\\[\\s*component-id\\s*\\$=\\s*(['\"]?)([\\w- ]+)\\1\\s*\\]$/);\n    if (!match) {\n        return false;\n    }\n\n    return true;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { has } from 'lodash';\nimport { VIEWPORT_MODAL_SELECTED } from '../constants/constants';\n\n/**!\n * @method handleLogin\n * @param dispatch\n * @param loginModal\n */\nexport const handleLogin = (dispatch, loginModal) => {\n\tif (has(loginModal, 'viewportElementId') && has(loginModal, 'route')) {\n\t\tdispatch(VIEWPORT_MODAL_SELECTED, { ...loginModal, fields: {} });\n\t} else {\n\t\twindow.document.location.reload();\n\t}\n};\n\n/**\n * Generates a configuration object for errorModalConfig\n * @param {string} headerLabel Modal title (required).\n * @param {string} content Modal content (required).\n * @param {Array} [footerActions=[]] Footer action buttons.\n * @param {Function} [onClose=null] Close callback.\n * @param {boolean} [hasActions=footerActions.length > 0] If modal has action.\n * @param {boolean} [applyOverlayStyles=false] If apply overlay styles.\n * @returns {Object} Modal configuration.\n */\nexport const createModalConfigFactory = ({\n\theaderLabel,\n\tcontent,\n\tfooterActions = [],\n\tonClose = null,\n\thasActions = footerActions.length > 0,\n\tapplyOverlayStyles = false,\n}) => {\n\treturn {\n\t\theaderLabel,\n\t\tcontent,\n\t\tfooterActions,\n\t\tonClose,\n\t\thasActions,\n\t\tapplyOverlayStyles,\n\t};\n};\n","const token = {};\n\nexport default token;\n\n/**\n * Updates the user auth token header and  window.g_ck global. This will enable support for logging back in\n * after getting logged out\n *\n * @method resetAuthToken\n * @param new_g_ck\n */\nexport const resetAuthToken = new_g_ck => {\n\twindow.g_ck = token['X-UserToken'] = new_g_ck;\n};\n\n// Initially set the token to window.g_ck.\nresetAuthToken(window.g_ck);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"];\n\t\t\t\t} });","import amb from 'amb-client-js'\n\n/**\n * A context-specific alias to mimic ambEventEffect until this issue is resolved:\n * https://code.devsnc.com/dev/sn-seismic/issues/446\n */\nclass AmbClientProxy {\n\thandlerIdMap = {};\n\tclient = amb.getClient();\n\n\tdispatchOnEvent(actionType, dispatch) {\n\t\tconst { client, handlerIdMap } = this;\n\n\t\tconst eventKey = actionType.replace(/^AMB_EVENT_/, '');\n\t\tconst { [eventKey]: eventName } = client.getEvents();\n\n\t\tif (!eventName) {\n\t\t\tthrow new Error(\n\t\t\t\t`[ambClientProxy] No amb event found for '${actionType}'`\n\t\t\t);\n\t\t}\n\n\t\tif (handlerIdMap.hasOwnProperty(actionType)) {\n\t\t\treturn;\n\t\t}\n\n\t\thandlerIdMap[actionType] = client.subscribeToEvent(eventName, () => {\n\t\t\tdispatch(actionType);\n\t\t});\n\t}\n\n\tunsubscribeFromAction(actionType) {\n\t\tconst {\n\t\t\tclient,\n\t\t\thandlerIdMap,\n\t\t\thandlerIdMap: { [actionType]: handlerId }\n\t\t} = this;\n\n\t\tclient.unsubscribeFromEvent(handlerId);\n\t\tdelete handlerIdMap[actionType];\n\t}\n\n\tunsubscribeFromActions() {\n\t\tconst actionTypes = Object.keys(this.handlerIdMap);\n\n\t\tfor (const actionType of actionTypes) {\n\t\t\tthis.unsubscribeFromAction(actionType);\n\t\t}\n\t}\n}\n\n// eslint-disable-next-line\nconst ambClientProxy =\n\tprocess.env.NODE_ENV !== 'development' && new AmbClientProxy();\n\nexport default Object.freeze(ambClientProxy);\n","import { get } from 'lodash';\n\n/**\n * This is to handle when a person is logged out but the platform is configured to suppress\n * login modal. If the modal should be hidden the page is refreshed and the\n * session_timeout.do page handles the redirect.\n * @returns boolean\n */\nconst autoRedirectLogout = (isWindowOverride) => {\n\tif(isWindowOverride) {\n\t\treturn false; //don't do the autoRedirectLogout logic if window override is true\n\t}\n\n\tconst autoRedirect = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.auto_redirect\"]',\n\t\tfalse,\n\t);\n\tif (\n\t\tautoRedirect === true ||\n\t\tautoRedirect.toString().toLowerCase() === 'true'\n\t) {\n\t\twindow.location.reload();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport { autoRedirectLogout };\n","import { isEmpty as _isEmpty, get } from 'lodash';\nimport { resetAuthToken } from './getAuthToken';\nimport ambClientProxy from './ambClientProxy';\nimport {\n\tSESSION_LOGGED_OUT,\n\tAMB_STATUS_BEHAVIOR,\n} from '../constants/constants';\nimport { autoRedirectLogout } from '../utils/autoRedirectLogout';\nimport { ssoShowModalOverride } from '../utils/showModalsOverride';\n\n/**\n * amb, canvas error & canvas error modal effect action types\n *\n * @type {{\n * \tAMB_STATUS_SET: string,\n * \tAMB_EVENT_SESSION_LOGGED_IN: string,\n * \tAMB_EVENT_SESSION_LOGGED_OUT: string,\n * \tAMB_EVENT_SESSION_INVALIDATED: string,\n *  AMB_META_CONNECT_MESSAGE_RECEIVED: string,\n * \tCANVAS_GLOBAL_ERROR: string,\n * \tCANVAS_HIDE_ERROR_MODAL: string,\n * \t}}\n */\nconst ACTION_TYPES = {\n\t/*-- amb actions --*/\n\tAMB_STATUS_SET: 'AMB_STATUS_BEHAVIOR#SET_STATUS',\n\tAMB_EVENT_SESSION_LOGGED_IN: 'AMB_EVENT_SESSION_LOGGED_IN',\n\tAMB_EVENT_SESSION_LOGGED_OUT: 'AMB_EVENT_SESSION_LOGGED_OUT',\n\tAMB_EVENT_SESSION_INVALIDATED: 'AMB_EVENT_SESSION_INVALIDATED',\n\tAMB_META_CONNECT_MESSAGE_RECEIVED: 'AMB_META_CONNECT_MESSAGE_RECEIVED',\n\n\t/*-- canvas global error actions --*/\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\n\t/*-- canvas error modal actions --*/\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n};\n\n/**\n * Handler if Session is SSO/Remember me case, default is false\n * @type {boolean}\n */\nlet isWindowOverride = false;\n\n/**\n * Function to determine if the user session is SSO or Remember me.  When the user has a valid session and is a\n * Remember_me or SSO enabled the additional property 'glide.amb.login.window.override' is added to the meta/connect\n * message.  When this property is true the users should not be shown the session extend modal and page should not\n * autoRedirect/refresh.  Instead, the user should be taken to the configured login page or modal.\n * @param{Object} ext - object from the amb meta/connect message\n * @returns {boolean}\n */\nexport const getWindowOverrideValue = (ext) => {\n\tif (\n\t\t!_isEmpty(ext) &&\n\t\text['glide.amb.login.window.override'] !== undefined\n\t) {\n\t\t//only if 'glide.amb.login.window.override' is present should we check the value\n\t\treturn (\n\t\t\text['glide.amb.login.window.override'] === true ||\n\t\t\text['glide.amb.login.window.override'] === 'true'\n\t\t);\n\t}\n\treturn false;\n};\n\n/**\n * Need to retrieve the value glide.ui.session.no.timeout.modal from the window object.\n * when value is true then the timeout modal will not be shown overriding the default behavior.\n * @returns {boolean}\n */\nexport const isShowTimeoutModalOverride = () => {\n\tconst noTimeoutModal = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.no.timeout.modal\"]',\n\t\tfalse,\n\t);\n\n\treturn noTimeoutModal === true || noTimeoutModal === 'true';\n};\n\n/**\n * Handler for Session Logged In\n *\n * @method handleSessionLoggedIn\n * @param state\n * @param action\n * @param dispatch\n */\nexport const handleSessionLoggedIn = ({ state, action, dispatch }) => {\n\t// Intended to be called after being logged in via the login modal\n\tconst behaviorState = state.behaviors[AMB_STATUS_BEHAVIOR];\n\tconst payload = {\n\t\tisAuthTokenActive: behaviorState.isAuthTokenActive,\n\t\tisSessionLoggedIn: true,\n\t};\n\tconst { token } = action.payload || {};\n\n\t// Making this check ensures that the canvas error modal stays open long enough to retrieve the new g_ck.\n\tif (!behaviorState.isAuthTokenActive && typeof token === 'string') {\n\t\tresetAuthToken(token);\n\t\tpayload.isAuthTokenActive = true;\n\n\t\t// Doing this because we can't seem to re-establish a valid connection once it's lost.\n\t\t// So, we'll just ignore invalidated messages after the first one fires\n\t\tambClientProxy.unsubscribeFromAction(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t);\n\t}\n\tdispatch(ACTION_TYPES.AMB_STATUS_SET, payload);\n\tdispatch(ACTION_TYPES.CANVAS_HIDE_ERROR_MODAL, {\n\t\tshowError: false,\n\t\terrorConfig: {},\n\t});\n};\n\n/**\n * Handler for Session Logged Out\n *\n * @method handleSessionLoggedOut\n * @param coeffects\n */\nexport const handleSessionLoggedOut = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t} = coeffects;\n\n\tconst { sessionLoggedIn = false, isLoggedIn = false } = canvasSession;\n\n\tif (sessionLoggedIn && isLoggedIn) {\n\t\tdispatch(SESSION_LOGGED_OUT, {});\n\n\t\t// check if the session timeout modal should be hidden\n\t\tif (autoRedirectLogout(isWindowOverride)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\n\t\tif (isShowTimeoutModalOverride()) return false; //don't show the modal if the override is true\n\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t...payload,\n\t\t\ttype: ACTION_TYPES.AMB_EVENT_SESSION_LOGGED_OUT,\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t}\n};\n\n/**\n * Handler for Session Invalidated\n * @method handleSessionInvalidated\n * @param coeffects\n */\nexport const handleSessionInvalidated = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t} = coeffects;\n\n\tconst { sessionLoggedIn = false, isLoggedIn = false } = canvasSession;\n\tconst forgetMe = get(canvasSession, 'properties.forgetMe.value');\n\n\tif (sessionLoggedIn && isLoggedIn && forgetMe !== 'false') {\n\t\tdispatch(SESSION_LOGGED_OUT, {});\n\n\t\t// check if the session timeout modal should be hidden\n\t\tif (autoRedirectLogout(isWindowOverride)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t...payload,\n\t\t\ttype: ACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t}\n};\n\nexport const setAMBStatus = ({\n\tstate,\n\tproperties: { canvasSession },\n\taction,\n\tupdateState,\n\tupdateProperties,\n}) => {\n\tconst { isAuthTokenActive, isSessionLoggedIn } = action.payload || {};\n\tconst sessionLoggedIn = isAuthTokenActive && isSessionLoggedIn;\n\n\tif (canvasSession.sessionLoggedIn !== sessionLoggedIn) {\n\t\tconst updatedSession = {\n\t\t\t...canvasSession,\n\t\t\tsessionLoggedIn,\n\t\t\tisLoggedIn: sessionLoggedIn,\n\t\t};\n\n\t\tupdateProperties(() => ({\n\t\t\tpath: 'canvasSession',\n\t\t\tvalue: updatedSession,\n\t\t\toperation: 'assign',\n\t\t}));\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\t...state.behaviors[AMB_STATUS_BEHAVIOR],\n\t\t\tisAuthTokenActive,\n\t\t\tisSessionLoggedIn,\n\t\t},\n\t});\n};\n\nexport const handleAmbMetaConnectMessageReceived = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { canvasSession },\n\t\tdispatch,\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst ambSessionLogoutValue =\n\t\tcanvasSession?.properties?.ambSessionLogout ?? 'true';\n\tconst isAmbSessionLogout =\n\t\tambSessionLogoutValue === 'true' || ambSessionLogoutValue === true; //coerce value to boolean\n\tif (!isAmbSessionLogout) {\n\t\t//touch session alive when value is false\n\t\tdispatch('CANVAS_SESSION_EXTENDED');\n\t\treturn;\n\t}\n\n\tconst { message } = action.payload;\n\tconst { ext } = message;\n\tisWindowOverride = getWindowOverrideValue(ext); //set the window override value\n\tconst ssoShowModal = ssoShowModalOverride();\n\n\tif (\n\t\t!_isEmpty(ext) &&\n\t\text['glide.session.status'] === 'session.logged.in' &&\n\t\t(!isWindowOverride || ssoShowModal) //only show the session extension when the window override is false\n\t) {\n\t\t// Active session management\n\t\tconst ambStatusBehaviorState = state.behaviors[AMB_STATUS_BEHAVIOR];\n\t\tif (ambStatusBehaviorState.isActiveSessionExpiringShown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeSessionTimeleft =\n\t\t\tcanvasSession?.properties?.activeSessionTimeleft?.value ?? 0;\n\n\t\tif (activeSessionTimeleft) {\n\t\t\tconst activeSessionTimeRemainingInSeconds =\n\t\t\t\text['glide.active.session.time.remaining.in.seconds'];\n\t\t\tif (\n\t\t\t\tactiveSessionTimeRemainingInSeconds !== undefined &&\n\t\t\t\tparseInt(activeSessionTimeRemainingInSeconds, 10) <=\n\t\t\t\t\tparseInt(activeSessionTimeleft, 10) * 60\n\t\t\t) {\n\t\t\t\t// Active session left time is less than 2 min, display session end message.\n\t\t\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: 'ACTIVE_SESSION_EXPIRING',\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...ambStatusBehaviorState,\n\t\t\t\t\t\tisActiveSessionExpiringShown: true,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Inactive session management\n\t\tconst sessionTimeleft =\n\t\t\tcanvasSession?.properties?.sessionTimeleft?.value ?? 0;\n\n\t\tif (sessionTimeleft) {\n\t\t\tconst sessionTimeleftInSeconds = parseInt(sessionTimeleft, 10) * 60;\n\t\t\tconst inactiveSessionTimeRemainingInSeconds = parseInt(\n\t\t\t\text['glide.session.time.remaining.in.seconds'],\n\t\t\t\t10,\n\t\t\t);\n\t\t\tif (\n\t\t\t\tinactiveSessionTimeRemainingInSeconds <=\n\t\t\t\tsessionTimeleftInSeconds\n\t\t\t) {\n\t\t\t\t//On 2 minutes left, display the session extension\n\t\t\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: 'SESSION_EXTENDED',\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst {\n\t\t\t\t\tshowError: showErrorProp,\n\t\t\t\t\terrorConfig: errorConfigProp,\n\t\t\t\t} = host.getResolvedProperties();\n\t\t\t\tif (showErrorProp === true && !_isEmpty(errorConfigProp)) {\n\t\t\t\t\tdispatch(ACTION_TYPES.CANVAS_HIDE_ERROR_MODAL, {\n\t\t\t\t\t\tshowError: false,\n\t\t\t\t\t\terrorConfig: {},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @method onConnect\n * @param coeffects\n */\nexport const onConnect = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t\tupdateState,\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tconst isLoggedIn = get(canvasSession, 'isLoggedIn', false);\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\t...state.behaviors[AMB_STATUS_BEHAVIOR],\n\t\t\tisSessionLoggedIn: isLoggedIn,\n\t\t},\n\t});\n\n\tconst updatedSession = {\n\t\t...canvasSession,\n\t\tsessionLoggedIn: isLoggedIn,\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t}));\n\n\tif (ambClientProxy) {\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_LOGGED_IN,\n\t\t\tdispatch,\n\t\t);\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_LOGGED_OUT,\n\t\t\tdispatch,\n\t\t);\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t\tdispatch,\n\t\t);\n\n\t\tconst isGckValid = typeof window.g_ck === 'string';\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: isGckValid,\n\t\t\tisSessionLoggedIn: isLoggedIn,\n\t\t});\n\n\t\tambClientProxy.client\n\t\t\t.getChannel('/meta/connect')\n\t\t\t.subscribe((message) => {\n\t\t\t\tdispatch(ACTION_TYPES.AMB_META_CONNECT_MESSAGE_RECEIVED, {\n\t\t\t\t\tmessage,\n\t\t\t\t});\n\t\t\t});\n\t}\n};\n\n/**\n * @method onDisconnect\n */\nexport const onDisconnect = () => {\n\tif (ambClientProxy) {\n\t\tambClientProxy.unsubscribeFromActions();\n\t}\n};\n\nconst effectHandlers = {\n\thandleSessionLoggedIn,\n\thandleSessionLoggedOut,\n\thandleSessionInvalidated,\n\thandleAmbMetaConnectMessageReceived,\n\tsetAMBStatus,\n\tonConnect,\n\tonDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { get } from 'lodash';\n\n/**\n *   Due to the nature of the SSO/Remember me case, UXR may want to show the time left/out modals\n *   even if the user has an SSO/Remember me session.  This is controlled by the 'glide.ui.session.show_modals.override' property\n *   If this property is true, we should show the modals even if the user is SSO/Remember me. If it is false, we should not show the modals and fallback to the window override logic.\n * @returns {boolean}\n */\nconst ssoShowModalOverride = () => {\n\t//using lodash get due to issue with snowdash get can't parse the path\n\tconst ssoShowModals = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.show_modals.override\"]',\n\t\tfalse,\n\t);\n\treturn (\n\t\tssoShowModals === true || String(ssoShowModals).toLowerCase() === 'true'\n\t);\n};\n\nexport { ssoShowModalOverride };\n","export const CONSTANTS = {\n\t/* Seismic element tag name */\n\tSN_CANVAS_ERROR_TAGNAME: 'sn-canvas-error',\n\n\t/* Seismic behavior name */\n\tCANVAS_ERROR_BEHAVIOR: 'CANVAS_ERROR_BEHAVIOR',\n\n\t/* action types */\n\tACTION_TYPES: {\n\t\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\t\tNOW_MODAL_FOOTER_ACTION_CLICKED: 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n\t},\n\n\t/* APIs */\n\tAPI: {\n\t\tTOUCH_SESSION_URL: '/api/now/uisession/touch-session',\n\t},\n};\n\nexport const ERROR_MODAL_CONSTANTS = {\n\tHEADERS: {\n\t\tDEFAULT: 'Canvas Error',\n\t\tONLINE: 'Connection Restored',\n\t\tOFFLINE: 'Connection Lost',\n\t\tSESSION_EXPIRED: 'Session Expired (401)',\n\t\tSESSION_LOGGED_OUT: 'Your session has expired.',\n\t\tSESSION_EXTENDED: 'Extend your session.',\n\t\tSESSION_TIMEOUT: 'Session Timeout',\n\t},\n\tCONTENTS: {\n\t\tDEFAULT: 'An error has occurred. Please refresh or contact support.',\n\t\tONLINE: 'Your browser is back online.',\n\t\tOFFLINE:\n\t\t\t'Your browser has gone offline. Please check your network connection.',\n\t\tSESSION_EXPIRED: 'Your login session has expired. Please login again.',\n\t\tSESSION_EXTENDED:\n\t\t\t'Your current session will expire soon. Click extend to continue with your current session.',\n\t\tSESSION_TIMEOUT:\n\t\t\t'Your session will time out soon. Be sure to save your work.',\n\t},\n\tACTIONS: {\n\t\tCLOSE: 'Close',\n\t\tREFRESH: 'Refresh',\n\t\tLOGIN: 'Login',\n\t\tEXTEND_SESSION: 'Extend session',\n\t\tOK: 'Ok',\n\t},\n};\n","import { t } from 'sn-translate';\nimport { handleLogin, createModalConfigFactory } from './utils';\nimport ambStatusEffect from '../ambStatusBehavior/ambStatusEffect';\nimport { ERROR_MODAL_CONSTANTS } from './constants';\n\nconst { AMB_EVENT_SESSION_LOGGED_OUT, AMB_EVENT_SESSION_INVALIDATED } =\n\tambStatusEffect.ACTION_TYPES;\n\n/**\n * Ensures that the uesr's session is terminated and the user is redirected to the login page.\n * Executed by the `onClose` handler of some errorModalConfig objects.\n * @param {Object} coeffects the coeffects object\n * @param {Function} coeffects.dispatch\n */\nexport const handleLogoutRedirect = ({ dispatch }) => {\n\tdispatch(AMB_EVENT_SESSION_INVALIDATED);\n\tdispatch(AMB_EVENT_SESSION_LOGGED_OUT);\n\twindow.location.reload();\n};\n\nexport const errorModalConfig = {\n\tDEFAULT: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.DEFAULT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.DEFAULT),\n\t}),\n\n\tONLINE: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.ONLINE),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.ONLINE),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.CLOSE),\n\t\t\t\taction: () => () => {},\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'secondary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.REFRESH),\n\t\t\t\taction: () => () => window.document.location.reload(),\n\t\t\t},\n\t\t],\n\t}),\n\n\tOFFLINE: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.OFFLINE),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.OFFLINE),\n\t}),\n\n\t401: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXPIRED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tAMB_EVENT_SESSION_INVALIDATED: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXPIRED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tAMB_EVENT_SESSION_LOGGED_OUT: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_LOGGED_OUT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tSESSION_EXTENDED: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXTENDED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXTENDED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.EXTEND_SESSION),\n\t\t\t\taction: (dispatch) => () => dispatch('CANVAS_SESSION_EXTENDED'),\n\t\t\t},\n\t\t],\n\t}),\n\n\tACTIVE_SESSION_EXPIRING: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_TIMEOUT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_TIMEOUT),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.OK),\n\t\t\t\taction: () => () => {},\n\t\t\t},\n\t\t],\n\t}),\n};\n","import { errorModalConfig } from './errorModalConfig';\nimport { has as _has, isFunction, get } from 'lodash';\nimport { autoRedirectLogout } from '../utils/autoRedirectLogout';\nimport { t } from 'sn-translate';\n\n/**\n * canvas error action types\n *\n * @type {\n *   {\n *      CANVAS_GLOBAL_ERROR: string,\n *      CANVAS_SHOW_ERROR_MODAL: string,\n *      CANVAS_HIDE_ERROR_MODAL: string,\n *   }\n * }\n * @const\n */\nconst ACTION_TYPES = {\n\t/* canvas actions */\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\tCANVAS_SHOW_ERROR_MODAL: 'CANVAS_SHOW_ERROR_MODAL',\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n\tCANVAS_SESSION_EXTENDED: 'CANVAS_SESSION_EXTENDED',\n};\n\n/**\n * Hides the canvas error modal by updating the canvas error properties.\n *\n * @param {Object} coeffects - The coeffects object.\n * @param {Object} coeffects.action - The action object.\n * @param {Object} coeffects.action.payload - The payload object.\n * @param {Object} coeffects.action.payload.errorConfig - The error configuration.\n * @param {Function} coeffects.updateProperties - Function to update properties.\n * @param {Object} coeffects.properties - The properties object.\n */\nexport const hideCanvasErrorModalEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { errorConfig },\n\t\t},\n\t\tupdateProperties,\n\t\tproperties,\n\t} = coeffects;\n\tupdateProperties({ showError: false, errorConfig });\n\tconst onClose = get(properties, 'errorConfig.onClose');\n\tif (onClose && isFunction(onClose)) {\n\t\tonClose(coeffects);\n\t}\n};\n\n/**\n * Shows the canvas error modal by updating the canvas error properties.\n *\n * @param {Object} params - The parameters object.\n * @param {Object} params.action - The action object.\n * @param {Object} params.action.payload - The payload object.\n * @param {Object} params.action.payload.errorConfig - The error configuration.\n * @param {Function} params.updateProperties - Function to update properties.\n */\nexport const showCanvasErrorModalEffect = ({ action, updateProperties }) => {\n\tconst { errorConfig } = action.payload;\n\tupdateProperties({ showError: true, errorConfig });\n};\n\n/**\n * Handles the canvas global error by updating the canvas error properties.\n * Updating the showError property determines the visibility of the error modal.\n * \n * @param {Object} params - The parameters object.\n * @param {Object} params.action - The action object.\n * @param {Object} params.action.payload - The payload object.\n * @param {string} params.action.payload.type - The error type.\n * @param {Object} params.action.payload.data - The error data.\n * @param {Function} params.updateProperties - Function to update properties.\n * @returns {boolean} - Returns false modal is not shown. Returns true if modal is shown.\n\n */\nexport const handleCanvasGlobalErrorEffect = ({ action, updateProperties }) => {\n\tconst { type, data } = action.payload;\n\tif (!type || type === 403) return false;\n\tif (type == 401 && autoRedirectLogout()) return false;\n\tlet errorConfig = {};\n\tif (_has(errorModalConfig, type)) {\n\t\tlet content = data?.error && t(data.error.detail || data.error.message);\n\t\tcontent = content && content.trim() ? { content } : {};\n\t\terrorConfig = {\n\t\t\t...errorModalConfig.DEFAULT,\n\t\t\t...errorModalConfig[type],\n\t\t\t...content,\n\t\t};\n\t} else if (type === ACTION_TYPES.CANVAS_GLOBAL_ERROR) {\n\t\terrorConfig = { ...action.payload };\n\t} else {\n\t\tconsole.error(action?.payload);\n\t\treturn false;\n\t}\n\tupdateProperties({ showError: true, errorConfig });\n\treturn true;\n};\n\nconst effectHandlers = {\n\tshowCanvasErrorModalEffect,\n\thideCanvasErrorModalEffect,\n\thandleCanvasGlobalErrorEffect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport canvasErrorEffect from './canvasErrorEffect';\nimport { CONSTANTS } from './constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nconst { TOUCH_SESSION_URL } = CONSTANTS.API;\n\nconst { CANVAS_ERROR_BEHAVIOR } = CONSTANTS;\n\nconst {\n\tCANVAS_GLOBAL_ERROR,\n\tCANVAS_HIDE_ERROR_MODAL,\n\tCANVAS_SHOW_ERROR_MODAL,\n\tCANVAS_SESSION_EXTENDED,\n} = canvasErrorEffect.ACTION_TYPES;\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst {\n\tshowCanvasErrorModalEffect,\n\thideCanvasErrorModalEffect,\n\thandleCanvasGlobalErrorEffect,\n} = canvasErrorEffect.effectHandlers;\n\n/**\n * ## Canvas Error Behavior\n * This behavior adds error handling capabilities and helps components\n * to intercept HTTP, AMB and other catastrophic errors messages to a modal.\n * It dynamically appends `<sn-canvas-error />` modal component to the associated component.\n *\n *\n * **Register behavior**\n *\n * Import the behavior at the top of your component JS file and register it\n * in your component behaviors list:\n *\n * ```js\n * import canvasErrorBehavior from './snCanvasErrorBehavior';\n *\n * createCustomElement('sn-canvas-layout', {\n *   ...\n *   behaviors: [canvasErrorBehavior]\n * });\n * ```\n *\n *\n * ## Error Types\n * ### GraphQL and REST Datasource Errors\n * The component will only intercept GraphQL and REST datasource errors that contain an HTTP status code\n * matching one of the properties defined in `errorModalConfig.js`, e.g. `401`, `500`, etc.\n *\n * A modal is displayed with the details defined in that file. Any missing\n * properties are replaced with those defined in the `default` error within the same file.\n *\n * HTTP result `403` is treated as a special case.  No modal is displayed for 403.\n * Instead, a message is displayed in the browser error console.\n *\n * ### AMB Events\n * The component will only intercept AMB Events matching one of the properties\n * defined in `errorModalConfig.js`, that begin with the prefix `AMB_EVENT_` e.g. `AMB_EVENT_SESSION_INVALIDATED`\n *\n * A modal is displayed with the details defined in that file. Any missing\n * properties are replaced with those defined in the `DEFAULT` error within the same file.\n *\n * ### Offline / Online Browser Changes\n * When the browser goes offline and online, the corresponding modal details defined in\n * `errorModalConfig.js` are used.\n *\n * ### Manual `CANVAS_GLOBAL_ERROR` dispatches\n * To trigger canvas global errors explicitly, you can dispatch a `CANVAS_GLOBAL_ERROR` action with a payload\n * corresponding to below object\n *\n * ```js\n  dispatch(\n    'CANVAS_GLOBAL_ERROR', \n    {\n        type: 'CANVAS_GLOBAL_ERROR',\n        headerLabel: payload.data.error.message || t('Cannot impersonate'),\n        content: payload.data.error.detail || t('The user you selected could not be impersonated.')\n        footerActions: [{ variant: 'primary', label: t('Say Hello'), action: () => alert('Hello') }],\n        hasActions: true\n    }\n  );\n * ```\n *\n * @seismicBehavior canvasErrorBehavior\n * @summary Canvas error handling mechanism to display errors to a modal component.\n */\nexport const canvasErrorBehavior = {\n\tname: CANVAS_ERROR_BEHAVIOR,\n\tproperties: {\n\t\telementRef: { default: null },\n\t\tshowError: { selectable: true, default: false },\n\t\terrorConfig: { selectable: true, default: {} },\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({ action: { payload }, updateProperties }) => {\n\t\t\tconst { host } = payload;\n\t\t\tupdateProperties({ elementRef: host });\n\t\t},\n\n\t\t[COMPONENT_DISCONNECTED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ elementRef: null });\n\t\t},\n\n\t\t/* canvas global error action handlers */\n\t\t[CANVAS_GLOBAL_ERROR]: handleCanvasGlobalErrorEffect,\n\t\t[CANVAS_SHOW_ERROR_MODAL]: showCanvasErrorModalEffect,\n\t\t[CANVAS_HIDE_ERROR_MODAL]: hideCanvasErrorModalEffect,\n\t\t[CANVAS_SESSION_EXTENDED]: () =>\n\t\t\tcreateHttpEffect(TOUCH_SESSION_URL, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbatch: false,\n\t\t\t}),\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t} });","import { CANVAS_APPSHELL_ROOT_BEHAVIOR } from '../constants/constants';\nimport actions from './canvasAppShellRoot.actions';\n\nexport const canvasAppshellRootBehavior = {\n\tname: CANVAS_APPSHELL_ROOT_BEHAVIOR,\n\tproperties: {\n\t\tactiveExperience: {\n\t\t\tselectable: true,\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers: actions\n};\n","import { createInteractionId } from '@servicenow/ui-metrics';\nimport { EXPERIENCE_LOAD_REQUESTED } from '../constants/constants';\nimport { set } from '@devsnc/snowdash';\n\nconst experienceLoadRequestedEffect = ({\n\taction: { payload },\n\tupdateProperties,\n}) => {\n\tconst { path } = payload;\n\tconst currTime = window.performance.now();\n\t// @DEF0609882: New interaction id was not getting created when a experience is loaded for the first time\n\tset(window, ['nowUiFramework', 'uxrInteractionId'], createInteractionId());\n\tset(window, 'ux_globals.snCanvasScreen', null);\n\tset(window, ['uxf_timing', 'most_recent_user_nav'], currTime);\n\tupdateProperties({ activeExperience: { path, _timestamp: currTime } });\n};\n\nexport default {\n\t[EXPERIENCE_LOAD_REQUESTED]: experienceLoadRequestedEffect,\n};\n","/* eslint-disable no-useless-escape */\n/**\n * Client Information Detection API: Provides information about the used browser / device and cross platform support\n * for certain events like media queries, orientation change or resizing.\n *\n * This API is independent of any library and dynamically depending on the capabilities of the browser or device.\n *\n * @namespace\n * @name Client\n */\nconst Client = {};\n\n/**------------------------- OS Detection ---------------------------**/\n/**\n * Contains information about the operating system of the Client system.\n * @name Client.os\n */\n\n/**\n * Enumeration containing the names of known operating systems.\n * @name Client.os.OS\n */\n\n/**\n * The name of the operating system.\n * @name Client.os.name\n * @type String\n */\n\n/**\n * The version of the operating system as <code>float<\/code>. Might be <code>-1<\/code> if no version can be determined.\n * @name Client.os.version\n * @type float\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a Windows operating system is used.\n * @name Client.os.windows\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a Mac operating system is used.\n * @name Client.os.macintosh\n * @type boolean\n */\n\n/*\n * If this flag is set to <code>true<\/code>, an iOS operating system is used.\n * @name Client.os.ios\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, an Android operating system is used.\n * @name Client.os.android\n * @type boolean\n */\n\n/*\n * Windows operating system name.\n * @see Client.os.name\n * @name Client.os.OS.WINDOWS\n */\n\n/**\n * MAC operating system name.\n * @see Client.os.name\n * @name Client.os.OS.MACINTOSH\n */\n\n/**\n * iOS operating system name.\n * @see Client.os.name\n * @name Client.os.OS.IOS\n */\n\n/**\n * Android operating system name.\n * @see Client.os.name\n * @name Client.os.OS.ANDROID\n */\n\nconst OS = {\n\tWINDOWS: 'win',\n\tMACINTOSH: 'mac',\n\tIOS: 'iOS',\n\tANDROID: 'Android'\n};\n\nexport const _getMobileOS = () => {\n\tconst userAgent = navigator.userAgent;\n\tlet regExpPlatform, // regular expression for platform\n\t\tmatches;\n\n\t// iOS, Android\n\tregExpPlatform = /\\(([a-zA-Z ]+);\\s(?:[U]?[;]?)([\\D]+)((?:[\\d._]*))(?:.*[\\)][^\\d]*)([\\d.]*)\\s/;\n\tmatches = userAgent.match(regExpPlatform);\n\n\tif (matches) {\n\t\tlet regExpAppleDevices = /iPhone|iPad|iPod/;\n\n\t\tif (matches[0].match(regExpAppleDevices)) {\n\t\t\tmatches[3] = matches[3].replace(/_/g, '.');\n\n\t\t\treturn {\n\t\t\t\tname: OS.IOS,\n\t\t\t\tversion: matches[3]\n\t\t\t};\n\t\t}\n\n\t\tif (matches[2].match(/Android/)) {\n\t\t\tmatches[2] = matches[2].replace(/\\s/g, '');\n\t\t\treturn {\n\t\t\t\tname: OS.ANDROID,\n\t\t\t\tversion: matches[3]\n\t\t\t};\n\t\t}\n\t}\n\n\t// Firefox on Android\n\tregExpPlatform = /\\((Android)[\\s]?([\\d][.\\d]*)?;.*Firefox\\/[\\d][.\\d]*/;\n\tmatches = userAgent.match(regExpPlatform);\n\tif (matches) {\n\t\treturn {\n\t\t\tname: OS.ANDROID,\n\t\t\tversion: matches.length === 3 ? matches[2] : ''\n\t\t};\n\t}\n};\n\nexport const _getDesktopOS = () => {\n\tconst platform = navigator.platform;\n\tif (platform.indexOf('Win') !== -1) {\n\t\tconst regExpVersion = /Windows NT (\\d+).(\\d)/i; // userAgent since windows 10: Windows NT 10[...]\n\t\tconst uaResult = navigator.userAgent.match(regExpVersion);\n\t\treturn {\n\t\t\tname: OS.WINDOWS,\n\t\t\tversion: uaResult[1]\n\t\t};\n\t}\n\n\tif (platform.indexOf('Mac') !== -1) {\n\t\treturn {\n\t\t\tname: OS.MACINTOSH,\n\t\t\tversion: ''\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst _getOS = () => {\n\treturn _getMobileOS() || _getDesktopOS();\n};\n\nconst _setOS = () => {\n\tif (Client.os) {\n\t\treturn;\n\t}\n\n\tClient.os = _getOS() || {};\n\tClient.os.OS = OS;\n\tClient.os.version = Client.os.version ? parseFloat(Client.os.version) : -1;\n\n\tif (Client.os.name) {\n\t\tfor (let name in OS) {\n\t\t\tif (OS[name] === Client.os.name) {\n\t\t\t\tClient.os[name.toLowerCase()] = true;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst getOS = () => {\n\tif (!Client.os) {\n\t\t_setOS();\n\t}\n\n\treturn Client.os;\n};\n\nconst isAndroid = () => {\n\tif (!Client.os) {\n\t\t_setOS();\n\t}\n\n\treturn !!Client.os.android;\n};\n\n/**------------------------- Browser Detection ---------------------------**/\n/**\n * Contains information about the used browser.\n * @name Client.browser\n */\n\n/**\n * Enumeration containing the names of known browsers.\n * @name Client.browser.BROWSER\n *\n * The name of the browser.\n * @name Client.browser.name\n * @type String\n */\n\n/**\n * The version of the browser as <code>float<\/code>. Might be <code>-1<\/code> if no version can be determined.\n * @name Client.browser.version\n * @type float\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the mobile variant of the browser is used or\n * a tablet or phone device is detected. This information might not be available for all browsers.\n * @name Client.browser.mobile\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Microsoft Edge browser is used.\n * @name Client.browser.edge\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Mozilla Firefox browser is used.\n * @name Client.browser.firefox\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Google Chrome browser is used.\n * @name Client.browser.chrome\n * @type boolean\n *\n * If this flag is set to <code>true<\/code>, the Apple Safari browser is used.\n *\n * <b>Note:<\/b>\n * This flag is also <code>true<\/code> when the standalone (fullscreen) mode or webview is used on iOS devices.\n * Please also note the flags {@link Client.browser.fullscreen} and {@link Client.browser.webview}.\n *\n * @name Client.browser.safari\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a browser featuring a Webkit engine is used.\n *\n * <b>Note:<\/b>\n * This flag is also <code>true<\/code> when the used browser was based on the Webkit engine, but\n * uses another rendering engine in the meantime. For example the Chrome browser started from version 28 and above\n * uses the Blink rendering engine.\n *\n * @name Client.browser.webkit\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Safari browser runs in standalone fullscreen mode on iOS.\n *\n * <b>Note:<\/b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\n * the availability of {@link Client.browser.version}.\n *\n * @name Client.browser.fullscreen\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Safari browser runs in webview mode on iOS.\n *\n * <b>Note:<\/b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\n * the availability of {@link Client.browser.version}.\n *\n * @name Client.browser.webview\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Phantom JS browser is used.\n * @name Client.browser.phantomJS\n * @type boolean\n */\n\n/**\n * The version of the used Webkit engine, if available.\n * @name Client.browser.webkitVersion\n * @type String\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a browser featuring a Mozilla engine is used.\n * @name Client.browser.mozilla\n * @type boolean\n */\n\n/**\n * Internet Explorer browser name.\n * @name Client.browser.BROWSER.INTERNET_EXPLORER\n */\n\n/**\n * Edge browser name.\n * @name Client.browser.BROWSER.EDGE\n */\n\n/**\n * Firefox browser name.\n * @name Client.browser.BROWSER.FIREFOX\n */\n\n/**\n * Chrome browser name.\n * @name Client.browser.BROWSER.CHROME\n */\n\n/**\n * Safari browser name.\n * @name Client.browser.BROWSER.SAFARI\n */\n\n/**\n * Android stock browser name.\n * @name Client.browser.BROWSER.ANDROID\n */\nconst BROWSER = {\n\tINTERNET_EXPLORER: 'IE',\n\tEDGE: 'EDGE',\n\tFIREFOX: 'FIREFOX',\n\tCHROME: 'CHROME',\n\tSAFARI: 'SAFARI',\n\tANDROID: 'ANDROID'\n};\n\n/*!\n * Taken from jQuery JavaScript Library v1.7.1\n * http://jquery.com/\n *\n * Copyright 2011, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n */\nexport const _calcBrowser = () => {\n\tconst ua = navigator.userAgent.toLowerCase();\n\n\tconst regExpWebkit = /(webkit)[ \\/]([\\w.]+)/;\n\tconst regExpMSIE = /(msie) ([\\w.]+)/;\n\tconst regExpMSIE11 = /(trident)\\/[\\w.]+;.*rv:([\\w.]+)/;\n\tconst regExpEdge = /(edge|edga|edgios|edg)[ \\/]([\\w.]+)/;\n\tconst regExpMozilla = /(mozilla)(?:.*? rv:([\\w.]+))?/;\n\n\t// WinPhone IE11 and MS Edge userAgents contain \"WebKit\" and \"Mozilla\" and therefore must be checked first\n\tconst browserMatch =\n\t\tregExpEdge.exec(ua) ||\n\t\tregExpMSIE11.exec(ua) ||\n\t\tregExpWebkit.exec(ua) ||\n\t\tregExpMSIE.exec(ua) ||\n\t\t(ua.indexOf('compatible') < 0 && regExpMozilla.exec(ua)) ||\n\t\t[];\n\n\tconst result = {\n\t\tbrowser: browserMatch[1] || '',\n\t\tversion: browserMatch[2] || '0'\n\t};\n\tresult[result.browser] = true;\n\treturn result;\n};\n\nexport const _getBrowser = () => {\n\tconst browser = _calcBrowser();\n\tconst navigator = window.navigator;\n\tconst ua = navigator.userAgent;\n\n\t// jQuery checks for user agent strings. We differentiate between browsers\n\tlet regExpMobile;\n\tlet result;\n\n\t// Mozilla\n\tif (browser.mozilla) {\n\t\tregExpMobile = /Mobile/;\n\t\tif (ua.match(/Firefox\\/(\\d+\\.\\d+)/)) {\n\t\t\tlet version = parseFloat(RegExp.$1);\n\t\t\tresult = {\n\t\t\t\tname: BROWSER.FIREFOX,\n\t\t\t\tversion: version,\n\t\t\t\tmozilla: true,\n\t\t\t\tmobile: regExpMobile.test(ua)\n\t\t\t};\n\t\t} else {\n\t\t\t// unknown mozilla browser\n\t\t\tresult = {\n\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\tmozilla: true,\n\t\t\t\tversion: -1\n\t\t\t};\n\t\t}\n\t} else if (browser.webkit) {\n\t\t// webkit version is needed for calculation if the mobile android device is a tablet (calculation of other mobile devices work without)\n\t\tlet regExpWebkitVersion = ua.toLowerCase().match(/webkit[\\/]([\\d.]+)/);\n\t\tlet webkitVersion;\n\t\tif (regExpWebkitVersion) {\n\t\t\twebkitVersion = regExpWebkitVersion[1];\n\t\t}\n\t\tregExpMobile = /Mobile/;\n\t\tlet chromeMatch = ua.match(/(Chrome|CriOS)\\/(\\d+\\.\\d+).\\d+/);\n\t\tlet firefoxMatch = ua.match(/FxiOS\\/(\\d+\\.\\d+)/);\n\t\tlet androidMatch = ua.match(/Android .+ Version\\/(\\d+\\.\\d+)/);\n\n\t\tif (chromeMatch || firefoxMatch || androidMatch) {\n\t\t\tlet name, version, isMobile;\n\n\t\t\tif (chromeMatch) {\n\t\t\t\tname = BROWSER.CHROME;\n\t\t\t\tisMobile = regExpMobile.test(ua);\n\t\t\t\tversion = parseFloat(chromeMatch[2]);\n\t\t\t} else if (firefoxMatch) {\n\t\t\t\tname = BROWSER.FIREFOX;\n\t\t\t\tisMobile = true;\n\t\t\t\tversion = parseFloat(firefoxMatch[1]);\n\t\t\t} else if (androidMatch) {\n\t\t\t\tname = BROWSER.ANDROID;\n\t\t\t\tisMobile = regExpMobile.test(ua);\n\t\t\t\tversion = parseFloat(androidMatch[1]);\n\t\t\t}\n\n\t\t\tresult = {\n\t\t\t\tname: name,\n\t\t\t\tmobile: isMobile,\n\t\t\t\tversion: version,\n\t\t\t\twebkit: true,\n\t\t\t\twebkitVersion: webkitVersion\n\t\t\t};\n\t\t} else {\n\t\t\t// Safari might have an issue with ua.match(...); thus changing\n\t\t\tlet exp = /(Version|PhantomJS)\\/(\\d+\\.\\d+).*Safari/;\n\t\t\tlet isStandalone = navigator.standalone;\n\t\t\tif (exp.test(ua)) {\n\t\t\t\tlet parts = exp.exec(ua);\n\t\t\t\tlet version = parseFloat(parts[2]);\n\t\t\t\tresult = {\n\t\t\t\t\tname: BROWSER.SAFARI,\n\t\t\t\t\tfullscreen: false,\n\t\t\t\t\twebview: false,\n\t\t\t\t\tversion: version,\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion,\n\t\t\t\t\tphantomJS: parts[1] === 'PhantomJS'\n\t\t\t\t};\n\t\t\t} else if (\n\t\t\t\t/iPhone|iPad|iPod/.test(ua) &&\n\t\t\t\t!/CriOS/.test(ua) &&\n\t\t\t\t!/FxiOS/.test(ua) &&\n\t\t\t\t(isStandalone === true || isStandalone === false)\n\t\t\t) {\n\t\t\t\t//WebView or Standalone mode on iOS\n\t\t\t\tresult = {\n\t\t\t\t\tname: BROWSER.SAFARI,\n\t\t\t\t\tversion: -1,\n\t\t\t\t\tfullscreen: isStandalone,\n\t\t\t\t\twebview: !isStandalone,\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// other webkit based browser\n\t\t\t\tresult = {\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion,\n\t\t\t\t\tversion: -1\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t} else if (browser.msie || browser.trident) {\n\t\tlet version = parseFloat(browser.version);\n\n\t\tresult = {\n\t\t\tname: BROWSER.INTERNET_EXPLORER,\n\t\t\tversion: version,\n\t\t\tmsie: true,\n\t\t\tmobile: false\n\t\t};\n\t} else if (browser.edge || browser.edg || browser.edga || browser.edgios) {\n\t\tlet version = parseFloat(browser.version);\n\t\tresult = {\n\t\t\tname: BROWSER.EDGE,\n\t\t\tversion: version,\n\t\t\tedge: true\n\t\t};\n\t} else {\n\t\tresult = {\n\t\t\tname: '',\n\t\t\tversion: '',\n\t\t\tmobile: false\n\t\t};\n\t}\n\n\treturn result;\n};\n\nconst _setBrowser = () => {\n\tClient.browser = _getBrowser();\n\tClient.browser.BROWSER = BROWSER;\n\n\tif (Client.browser.name) {\n\t\tfor (let b in BROWSER) {\n\t\t\tif (BROWSER[b] === Client.browser.name) {\n\t\t\t\tClient.browser[b.toLowerCase()] = true;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst getBrowser = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn Client.browser;\n};\n\nexport const isIE = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.msie;\n};\n\nexport const isEdge = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.edge;\n};\n\nexport const isChrome = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.chrome;\n};\n\nexport const isFF = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.firefox;\n};\n\nexport const isSafari = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.safari;\n};\n\n/**------------------------- Touch Support Detection ---------------------------**/\n\nconst _setSupport = () => {\n\tif (Client.support) {\n\t\treturn;\n\t}\n\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\n\tClient.support = {};\n\tClient.support.touch = !!(\n\t\t'ontouchstart' in window ||\n\t\tnavigator.maxTouchPoints > 0 ||\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch)\n\t);\n};\n\nconst supportTouch = () => {\n\tif (!Client.support) {\n\t\t_setSupport();\n\t}\n\n\treturn !!Client.support.touch;\n};\n\n/**------------------------- System Detection ---------------------------**/\n/**\n * Provides a basic categorization of the used device based on various indicators.\n *\n * <b>Note:<\/b> Depending on the capabilities of the device it is also possible that multiple flags\n * are set to <code>true<\/code>.\n *\n * @namespace\n * @name Client.system\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a tablet.\n *\n * <b>Note:<\/b> This flag is also true for some browsers on desktop devices running on Windows 8 or higher.\n * Also see the documentation for {@link Client.system.combi} devices.\n * You can use the following logic to ensure that the current device is a tablet device:\n *\n * <pre>\n * if(Client.system.tablet && !Client.system.desktop){\n *\t...tablet related commands...\n * }\n * <\/pre>\n *\n * @name Client.system.tablet\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a phone.\n *\n * @name Client.system.phone\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a desktop system.\n *\n * @name Client.system.desktop\n * @type boolean\n */\n\n/**\n * Indicates if the device is recognized as a combination of a desktop system and tablet.\n *\n * <b>Note:<\/b> This property is mainly for Microsoft Windows 8 (and following) devices where the\n * mouse and touch event may be supported natively by the browser being used. This property is\n * set to <code>true<\/code> only when both mouse and touch event are natively supported.\n *\n * @name Client.system.combi\n * @type boolean\n */\n\n/**\n * @name Client.system.SYSTEMTYPE\n * Enumeration containing the names of known types of the devices.\n */\nconst SYSTEMTYPE = {\n\tTABLET: 'tablet',\n\tPHONE: 'phone',\n\tDESKTOP: 'desktop',\n\tCOMBI: 'combi' //devices where the mouse and touch event may be supported natively by the browser\n};\n\nconst _isTablet = () => {\n\tconst ua = navigator.userAgent;\n\tif (Client.os.name === Client.os.OS.IOS) {\n\t\treturn /ipad/i.test(ua);\n\t} else {\n\t\t//in real mobile device\n\t\tif (supportTouch()) {\n\t\t\tif (Client.os.windows && Client.os.version >= 8) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tClient.browser.chrome &&\n\t\t\t\tClient.os.android &&\n\t\t\t\tClient.os.version >= 4.4\n\t\t\t) {\n\t\t\t\treturn !/Mobile Safari\\/[.0-9]+/.test(ua);\n\t\t\t} else {\n\t\t\t\tlet densityFactor = window.devicePixelRatio\n\t\t\t\t\t? window.devicePixelRatio\n\t\t\t\t\t: 1;\n\t\t\t\tif (\n\t\t\t\t\tClient.os.android &&\n\t\t\t\t\tClient.browser.webkit &&\n\t\t\t\t\tparseFloat(Client.browser.webkitVersion) > 537.1\n\t\t\t\t) {\n\t\t\t\t\tdensityFactor = 1;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tMath.min(\n\t\t\t\t\t\twindow.screen.width / densityFactor,\n\t\t\t\t\t\twindow.screen.height / densityFactor\n\t\t\t\t\t) >= 600\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// This simple android phone detection can be used here because this is the mobile emulation mode in desktop browser\n\t\t\tconst isAndroidPhone = /(?=android)(?=.*mobile)/i.test(ua);\n\t\t\t// in desktop browser, it's detected as tablet when\n\t\t\t// 1. Windows 8 device with a touch screen where \"Touch\" is contained in the userAgent\n\t\t\t// 2. Android emulation and it's not an Android phone\n\t\t\treturn (\n\t\t\t\t(Client.browser.msie && ua.indexOf('Touch') !== -1) ||\n\t\t\t\t(Client.os.android && !isAndroidPhone)\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst _getSystem = () => {\n\tconst isTabletDetected = _isTablet();\n\tconst isWin8Upwards = Client.os.windows && Client.os.version >= 8;\n\n\tconst system = {};\n\tsystem.tablet = !!(\n\t\t(Client.support.touch || isWin8Upwards) &&\n\t\tisTabletDetected\n\t);\n\tsystem.phone = !!(\n\t\tClient.os.windows_phone ||\n\t\t(Client.support.touch && !isTabletDetected)\n\t);\n\tsystem.desktop = !!((!system.tablet && !system.phone) || isWin8Upwards);\n\tsystem.combi = system.desktop && system.tablet;\n\tsystem.SYSTEMTYPE = SYSTEMTYPE;\n\n\treturn system;\n};\n\nconst _setSystem = () => {\n\t_setSupport();\n\t_setOS();\n\n\tClient.system = {};\n\tClient.system = _getSystem();\n\tif (Client.system.tablet || Client.system.phone) {\n\t\tClient.browser.mobile = true;\n\t}\n};\n\nconst getSystem = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system;\n};\n\nexport const isDesktop = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.desktop;\n};\n\nexport const isTablet = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.tablet;\n};\n\nexport const isPhone = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.phone;\n};\n\nexport const isMobile = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.browser.mobile;\n};\n\nconst _setTimeZoneName = () => {\n\tif (Client.timeZoneName) {\n\t\treturn;\n\t}\n\n\tClient.timeZoneName = new Date()\n\t\t.toLocaleString('en', {timeZoneName: 'short'})\n\t\t.split(' ')\n\t\t.pop();\n};\n\nconst getTimeZoneName = () => {\n\tif (!Client.timeZoneName) {\n\t\t_setTimeZoneName();\n\t}\n\n\treturn Client.timeZoneName;\n};\n\nconst _setLanguage = () => {\n\tif (Client.lang) {\n\t\treturn;\n\t}\n\n\tconst _htmlEle = document.getElementsByTagName('html')[0];\n\tClient.lang = _htmlEle.getAttribute('lang') || window.navigator.language;\n};\n\nconst getLanguage = () => {\n\tif (!Client.lang) {\n\t\t_setLanguage();\n\t}\n\n\treturn Client.lang;\n};\n\nconst _setDir = () => {\n\tif (Client.dir) {\n\t\treturn;\n\t}\n\n\tconst _htmlEle = document.getElementsByTagName('html')[0];\n\tClient.dir = _htmlEle.getAttribute('dir');\n};\n\nconst getDir = () => {\n\tif (!Client.dir) {\n\t\t_setDir();\n\t}\n\n\treturn Client.dir;\n};\n\n(() => {\n\tgetOS();\n\tgetSystem();\n\tgetBrowser();\n\tsupportTouch();\n\tgetDir();\n\tgetLanguage();\n\tgetTimeZoneName();\n})();\n\nObject.freeze(Client);\nexport default Client;\n","const getGreeting = (testValue) => {\n\tif (testValue) {\n\t\tconsole.error(`${testValue}.${testValue.getHours()}`);\n\t}\n\tconst currentHour = testValue\n\t\t? testValue.getHours()\n\t\t: new Date().getHours();\n\treturn currentHour >= 4 && currentHour < 12 // after 4:00AM and before 12:00PM\n\t\t? 'Good morning,'\n\t\t: currentHour >= 12 && currentHour <= 17 // after 12:00PM and before 6:00pm\n\t\t\t? 'Good afternoon,'\n\t\t\t: currentHour > 17 || currentHour < 4 // after 5:59pm or before 4:00AM (to accommodate night owls)\n\t\t\t\t? 'Good evening,' // if for some reason the calculation didn't work\n\t\t\t\t: 'Welcome,';\n};\n\nconst greeting = getGreeting();\n\nexport default greeting;\n\nexport const exportOnlyForTesting = {\n\tgetGreeting,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport clientInfo from './utils/client';\nimport greeting from './utils/greeting';\nimport { CANVAS_CLIENT_BEHAVIOR } from '../constants/constants';\n\nconst { COMPONENT_DOM_READY } = actionTypes;\n\nexport const canvasClientBehavior = {\n\tname: CANVAS_CLIENT_BEHAVIOR,\n\tproperties: {\n\t\tclientInfo: { default: {}, schema: { type: 'object' }, selectable: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ clientInfo: { ...clientInfo, greeting } });\n\t\t}\n\t}\n};\n","const sessionPropertiesSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tawaEnabled: { type: 'boolean' },\n\t\tforgetMe: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' } // boolean value in string format (e.g., \"true\").\n\t\t\t}\n\t\t},\n\t\tsessionTimeleft: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' } // numeric value in string format (e.g. \"2\").\n\t\t\t}\n\t\t},\n\t\tsessionTimeout: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' } // numeric value in string format (e.g. \"30\").\n\t\t\t}\n\t\t},\n\t\ttrackingEnabled: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' } // boolean value in string format (e.g. \"true\").\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst userPreferencesSchema = {\n\tdefinitions: {\n\t\tuserPreference: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tname: { type: 'string' }, // prefName\n\t\t\t\tvalue: { type: 'string' } // prefName\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst userSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tavatar: {},\n\t\tcanImpersonate: { type: 'boolean' },\n\t\tcountry: {},\n\t\tcountryCallingCode: { type: 'string' },\n\t\tdateFormat: { type: 'string' },\n\t\tdateTimeFormat: { type: 'string' },\n\t\tdomain: { type: 'string' },\n\t\tencryptionContexts: { type: 'array' },\n\t\tfirstName: { type: 'string' },\n\t\tfullName: { type: 'string' },\n\t\timpersonatingUserId: {},\n\t\tinitials: { type: 'string' },\n\t\tisImpersonating: { type: 'boolean' },\n\t\tlanguage: { type: 'string' },\n\t\tlastName: { type: 'string' },\n\t\tpreferences: {\n\t\t\t// array of user preference objects (e.g. [{name: 'pref1', value: 'pref1Value1',...}])\n\t\t\ttype: 'array',\n\t\t\tproperties: userPreferencesSchema\n\t\t},\n\t\tpresence: {},\n\t\troles: { type: 'array' },\n\t\tsys_id: { type: 'string' },\n\t\ttimeFormat: { type: 'string' },\n\t\ttimeZone: { type: 'string' },\n\t\ttimeZoneOffset: { type: 'number' },\n\t\ttitle: {},\n\t\tusername: { type: 'string' }\n\t}\n};\n\nexport const canvasSessionSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tisLoggedIn: { type: 'boolean' },\n\t\tsessionLoggedIn: { type: 'boolean' },\n\t\tproperties: sessionPropertiesSchema,\n\t\tuser: userSchema,\n\t\tuserPrefs: { type: 'object' } // user.preferences formatted as a map. {prefName: prefValue}\n\t}\n};\n","import { CANVAS_SESSION_BEHAVIOR } from '../../constants/constants';\n\nimport { difference, get, has, isEmpty, isEqual, isNil, set } from 'lodash';\n\nconst _META = '_meta';\nconst _PATH = '_path';\nconst _VALUE = '_value';\nconst _DEFAULT = '_default';\nconst _TYPE = '_type';\n\n/***\n * Iterate through a property (from ux_globals.experienceConfigs) and filter out\n * items that are user preference declarations in the chrome_header property.\n */\nexport const getDefaultUserPrefsFromPageProps = (property, userPrefs = {}) => {\n\tif (isEmpty(property) || typeof property !== 'object') return userPrefs;\n\tfor (const [key, value] of Object.entries(property)) {\n\t\tif (value && typeof value === 'object') {\n\t\t\tif (key === _META && value[_TYPE] === 'userPreferences') {\n\t\t\t\tconst path = get(value, `${_PATH}`, null);\n\t\t\t\tconst prefName = get(value, `${_VALUE}.${path}`, null);\n\t\t\t\tconst prefDefaultValue = get(value, `${_DEFAULT}.${path}`);\n\t\t\t\tif (prefName) userPrefs[prefName] = prefDefaultValue;\n\t\t\t} else {\n\t\t\t\tgetDefaultUserPrefsFromPageProps(value, userPrefs);\n\t\t\t}\n\t\t}\n\t}\n\treturn userPrefs;\n};\n\nexport const mergePreferences = (preferences, defaultPreferences) => {\n\tlet preferenceMap = { ...defaultPreferences };\n\tpreferences.map((prefObj) => {\n\t\tif (has(prefObj, 'name')) {\n\t\t\tconst prefName = get(prefObj, 'name');\n\t\t\tconst prefValue = get(prefObj, 'value');\n\t\t\tif (!has(preferenceMap, prefName)) {\n\t\t\t\tpreferenceMap[prefName] = prefValue;\n\t\t\t} else {\n\t\t\t\tif (!isNil(prefValue) && !isEqual(prefValue, 'null'))\n\t\t\t\t\tpreferenceMap[prefName] = prefValue;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn preferenceMap;\n};\n\n/***\n * In case when a preference from session property is null,\n * there is no meaning to update that corresponding session userPrefs to be null.\n * Only non-null updates should be considered.\n */\nexport const resolveNullUserPrefs = (userPrefs = {}, sessionUserPrefs = {}) => {\n\tconst resolvedPrefs = { ...userPrefs };\n\tfor (const name in resolvedPrefs) {\n\t\tif (\n\t\t\tresolvedPrefs[name] === null &&\n\t\t\tObject.prototype.hasOwnProperty.call(sessionUserPrefs, name)\n\t\t) {\n\t\t\tresolvedPrefs[name] = sessionUserPrefs[name];\n\t\t}\n\t}\n\treturn resolvedPrefs;\n};\n\n/***\n * When Session property changes, update the userPrefs property userPrefs should\n * be a computed property, but because there are potential performance issues\n * with a computed property(DEF0187366), we are manually doing it whenever\n * session property is updated.\n */\nexport const computeUserPrefs = (\n\tpreferences = [],\n\tstate = {},\n\tsessionUserPrefs = {},\n\tactiveExperiencePath = null,\n) => {\n\tconst canvasBehavior = get(state, [\n\t\t'behaviors',\n\t\t`${CANVAS_SESSION_BEHAVIOR}`,\n\t]);\n\tconst experiencePath =\n\t\tactiveExperiencePath != null\n\t\t\t? activeExperiencePath\n\t\t\t: get(canvasBehavior, 'activeExperiencePath', null);\n\tconst experienceUserPrefDefaults = get(\n\t\tcanvasBehavior,\n\t\t'experienceUserPrefDefaults',\n\t\t{},\n\t);\n\tconst defaultPreferences = get(\n\t\texperienceUserPrefDefaults,\n\t\texperiencePath,\n\t\t{},\n\t);\n\n\tconst mergedUserPrefs = mergePreferences(preferences, defaultPreferences);\n\n\t// Some preferences may not be found from the sys_user_preference table and are assigned null.\n\t// Updating non-null preferences with null may cause unnecessary property updates.\n\t// This may trigger forms fetch, and may ultimately let us be in a situation that forms render\n\t// inconsistent form views. (DEF0591783)\n\tconst computedUserPrefs = resolveNullUserPrefs(\n\t\tmergedUserPrefs,\n\t\tsessionUserPrefs,\n\t);\n\treturn computedUserPrefs;\n};\n\n/***\n * Takes the SessionGraphQL user.preference array of objects and checks if there\n * are any preferences listed in sys_ux_lib_component records (ux_globals.userPrefs)\n * that are not accounted for in user.preferences.  If so, merge the missing\n * user prefs into a single array of objects.\n */\nexport const mergeSessionDbAndLibCompPrefs = (\n\tsessionDbPrefs,\n\tlibComponentPrefs,\n) => {\n\tif (!libComponentPrefs)\n\t\tlibComponentPrefs = get(window, 'ux_globals.userPrefs', {});\n\n\tconst sessionDbPrefsKeys = sessionDbPrefs.map((pref) => get(pref, 'name'));\n\tconst libComponentPrefsKeys = Object.keys(libComponentPrefs);\n\n\t// Compute which [if any] user preferences are in userPrefs but not in session.user.preferences\n\tconst deltaPrefs = difference(libComponentPrefsKeys, sessionDbPrefsKeys);\n\n\t// transform window.ux_globals.userPrefs' map {prefName: prefValue} to\n\t// session.user.preferences' array [{name: prefName, value: prefValue}] (backwards compatibility)\n\tconst newUserPrefs = deltaPrefs.map((prefName) => {\n\t\treturn { name: prefName, value: get(libComponentPrefs, prefName) };\n\t});\n\n\treturn [...sessionDbPrefs, ...newUserPrefs];\n};\n\nexport const getExperienceConfigUserPrefDefaults = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tconst experienceConfigs = get(UX_GLOBALS, 'experienceConfigs', {});\n\n\tlet experienceDefaultUserPrefs = {};\n\tfor (const [experienceId, value] of Object.entries(experienceConfigs)) {\n\t\tif (\n\t\t\tvalue &&\n\t\t\tvalue.pageProperties &&\n\t\t\tvalue.pageProperties.chrome_header\n\t\t) {\n\t\t\tlet propObj = {};\n\t\t\ttry {\n\t\t\t\tpropObj = JSON.parse(value.pageProperties.chrome_header);\n\t\t\t} catch (e) {\n\t\t\t\t//Invalid json string\n\t\t\t}\n\t\t\tif (!isEmpty(propObj)) {\n\t\t\t\tconst defaultUserPrefs =\n\t\t\t\t\tgetDefaultUserPrefsFromPageProps(propObj);\n\t\t\t\tif (!isEmpty(defaultUserPrefs))\n\t\t\t\t\tset(\n\t\t\t\t\t\texperienceDefaultUserPrefs,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t\tdefaultUserPrefs,\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\treturn experienceDefaultUserPrefs;\n};\n\nexport const mergeDefaultUserPrefsFromUXGlobals = (preferences) => {\n\tconst experienceConfigUserPrefDefaults =\n\t\tgetExperienceConfigUserPrefDefaults();\n\tconst experiencePath = get(window.ux_globals, 'siteName', '');\n\tconst defaultPreferences = get(\n\t\texperienceConfigUserPrefDefaults,\n\t\texperiencePath,\n\t\t{},\n\t);\n\treturn mergePreferences(preferences, defaultPreferences);\n};\n","import {\n\tmergeDefaultUserPrefsFromUXGlobals,\n\tmergeSessionDbAndLibCompPrefs,\n} from './utils';\n\nimport { get, has, set } from 'lodash';\n\n/**\n * Fetches initial session information from ux_globals when component is created.\n * The result of this function will be the value of the session property.\n */\nexport const getSessionFromUxGlobalEffect = () => {\n\t// Reads SessionGraphQL data resource output\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tlet sessionInfo = get(UX_GLOBALS['session'], ['output'], {});\n\n\t// After starting with SessionGraphQL DB output check if there are any user\n\t// preferences in the Required User Prefs of sys_ux_lib_component records\n\t// (stored in ux_globals.userPrefs) that are not in the DB output.  If so,\n\t// merge those extra user prefs into canvasSession\n\n\tlet sessionDbPrefs = get(sessionInfo, 'user.preferences', []);\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tset(sessionInfo, 'user.preferences', updatedUserPreferences);\n\n\t// Computer the object format of the user preferences array for easy lookup\n\tset(\n\t\tsessionInfo,\n\t\t'userPrefs',\n\t\tmergeDefaultUserPrefsFromUXGlobals(updatedUserPreferences),\n\t);\n\n\treturn sessionInfo;\n};\n\nexport const getSysPropsFromUxGlobalEffect = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['sysprops'])) UX_GLOBALS['sysprops'] = {};\n\treturn get(UX_GLOBALS, 'sysprops', {});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\n// preference update\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED =\n\t'SN_CANVAS#USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED';\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED =\n\t'SN_CANVAS#USER_PREFERENCE_UPDATE_REQUEST_FAILED';\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST =\n\t'CANVAS_USER_PREFERENCE_UPDATE_REQUEST';\n\n//multiple preference update\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST =\n\t'CANVAS_USER_PREFERENCES_UPDATE_REQUEST';\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED =\n\t'SN_CANVAS#USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED';\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED =\n\t'SN_CANVAS#USER_PREFERENCES_UPDATE_REQUEST_FAILED';\n\n// Seismic lifecycle action types\nexport const COMPONENT_BOOTSTRAPPED = actionTypes.COMPONENT_BOOTSTRAPPED;\nexport const COMPONENT_CONNECTED = actionTypes.COMPONENT_CONNECTED;\nexport const COMPONENT_PROPERTY_CHANGED =\n\tactionTypes.COMPONENT_PROPERTY_CHANGED;\n\n// Preference update\nexport const CANVAS_USER_PREFERENCE_UPDATED = 'USER_PREF_UPDATED';\nexport const CANVAS_USER_PREFERENCE_UPDATE = 'SN_CANVAS#USER_PREFERENCE_UPDATE';\nexport const USER_PREF_SOURCE_UPDATED = 'UXR_INTERNAL#USER_PREF_SOURCE_UPDATED';\n\nexport const CANVAS_EXPERIENCE_LOADED = 'CANVAS_EXPERIENCE_LOADED';\nexport const CANVAS_EXPERIENCE_SWITCHED = 'CANVAS_EXPERIENCE_SWITCHED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"convertUrlToPayload\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].convertUrlToPayload;\n\t\t\t\t\t} else if ('convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.convertUrlToPayload || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].convertUrlToPayload;\n\t\t\t\t}, [\"setSysProps\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'setSysProps' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setSysProps;\n\t\t\t\t\t} else if ('setSysProps' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.setSysProps || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setSysProps;\n\t\t\t\t}, [\"setUserPrefs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'setUserPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setUserPrefs;\n\t\t\t\t\t} else if ('setUserPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.setUserPrefs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setUserPrefs;\n\t\t\t\t} });","import { computeUserPrefs, mergeSessionDbAndLibCompPrefs } from './utils';\nimport { CANVAS_SESSION_BEHAVIOR } from '../../constants/constants';\nimport * as ACTION_TYPES from '../constants';\nimport { getSysPropsFromUxGlobalEffect } from './bootstrapEffect';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { setSysProps, setUserPrefs } from 'sn-ux-core';\nimport { get, isEqual, isNil } from 'lodash';\n\nconst USER_PREFERENCE_UPDATE_GQL_QUERY = `\nmutation($name: String!, $value: String!) {\n\tnow {\n\t\tuserPreference {\n\t\t  updateUserPreference(name: $name, value: $value) {\n\t\t\tname\n\t\t\tvalue\n\t\t  }\n\t\t}\n\t}\n}\n`;\n\nconst USER_PREFERENCES_UPDATE_GQL_QUERY = `\nmutation($preferences: [GlideDomain_PreferenceArgument!]!) {\n  GlideDomain_Mutation {\n    user {\n      setPreferences(preferences: $preferences) {\n        name\n        value\n      }\n    }\n  }\n}\n`;\n\n/**\n * GraphQL's mutation for updating a user preference\n */\nconst updateUserPreferenceEffect = createGraphQLEffect(\n\tUSER_PREFERENCE_UPDATE_GQL_QUERY,\n\t{\n\t\tsuccessActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED,\n\t\terrorActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED,\n\t\tvariableList: ['name', 'value'],\n\t},\n);\n\nconst updateUserPreferencesEffect = createGraphQLEffect(\n\tUSER_PREFERENCES_UPDATE_GQL_QUERY,\n\t{\n\t\tsuccessActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED,\n\t\terrorActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED,\n\t\tvariableList: ['preferences'],\n\t},\n);\n\n/**\n * On a successful update of a user preference, reflect that change on the\n * `session.user.preferences` property.\n * @param {coeffects}\n */\nconst updateUserPreferenceRequestSucceeded = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateContext,\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { errors = [] } = payload;\n\tconst { canvasSession } = properties;\n\n\tif (errors.length) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'now.userPreference.updateUserPreference returned errors: ',\n\t\t\terrors,\n\t\t);\n\t\treturn;\n\t}\n\n\tconst updatedPreference = get(\n\t\tpayload,\n\t\t'data.now.userPreference.updateUserPreference',\n\t);\n\tconst preferences = get(properties, 'canvasSession.user.preferences', []);\n\n\tlet isExistingPreference = false;\n\n\tlet updatedUserPreferences = preferences.map((preference) => {\n\t\tif (preference.name === updatedPreference.name) {\n\t\t\tisExistingPreference = true;\n\t\t\treturn updatedPreference;\n\t\t}\n\t\treturn preference;\n\t});\n\n\t// If we've never seen this preference before, add it to our list\n\t// this means that the preference map above did not make any updates.\n\tif (!isExistingPreference)\n\t\tupdatedUserPreferences = [...updatedUserPreferences, updatedPreference];\n\n\tconst newUserPrefs = computeUserPrefs(updatedUserPreferences, state);\n\tconst updatedSession = {\n\t\t...canvasSession,\n\t\tuser: {\n\t\t\t...canvasSession.user,\n\t\t\tpreferences: updatedUserPreferences,\n\t\t},\n\t\tuserPrefs: { ...newUserPrefs },\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(newUserPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\n/**\n * Error handler for un-successful user preference update.\n * @param {coeffects}\n */\nconst updateUserPreferenceRequestFailed = ({ action }) => {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'now.userPreference.updateUserPreference failed: ',\n\t\taction.payload.message,\n\t);\n};\n\n/**\n * When sn-canvas-appshell-root indicates that a new experience has been loaded\n * or switched, this function will respond to the readUserPrefSource property\n * change and look at window.ux_globals.userPref. if there are any new preferences\n * that are not present in session.user.preferences, this function will update\n * session.user.preferences to include these new preferences.\n * @param {coeffects}\n */\nconst updateUserPrefsFromUxGlobalsEffect = ({\n\tstate,\n\tproperties,\n\tupdateProperties,\n\tupdateContext,\n}) => {\n\t// Get the list of preference names that session property currently holds.(Session Databroker)\n\tlet session = get(properties, 'canvasSession', {});\n\tlet sessionDbPrefs = get(session, 'user.preferences', []);\n\tconst sessionUserPrefs = get(session, 'userPrefs', {});\n\n\t// If any preferences in sys_ux_lib_component that are not part of canvasSession\n\t// merge them in here.\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tconst userPrefs = computeUserPrefs(\n\t\tupdatedUserPreferences,\n\t\tstate,\n\t\tsessionUserPrefs,\n\t);\n\tconst updatedSession = {\n\t\t...session,\n\t\tuser: {\n\t\t\t...session.user,\n\t\t\tpreferences: updatedUserPreferences,\n\t\t},\n\t\tuserPrefs,\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(userPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\nconst updatePreferenceEffect = ({ action: { payload }, dispatch }) => {\n\tconst { name, value } = payload;\n\tif (isNil(name) || isNil(value)) return;\n\tdispatch(ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST, {\n\t\tname,\n\t\tvalue,\n\t});\n};\n\n/**\n * When an experience is loaded or switched we need to store the experience's\n * path in our state.activeExperiencePath. Additionally, we should re-compute\n * userPrefs to make sure we apply the correct default user preferences.\n *\n * @param {coeffects}\n */\nconst experienceLoadedOrSwitchedEffect = ({\n\taction: { payload },\n\tproperties,\n\tstate,\n\tupdateState,\n\tupdateProperties,\n\tupdateContext,\n}) => {\n\tconst payloadExperiencePath = get(\n\t\tpayload,\n\t\t['selectedContent', 'context', 'path'],\n\t\tnull,\n\t);\n\tconst activeExperiencePath = get(state, [\n\t\t'behaviors',\n\t\t`${CANVAS_SESSION_BEHAVIOR}`,\n\t\t'activeExperiencePath',\n\t]);\n\n\tif (\n\t\tisNil(payloadExperiencePath) ||\n\t\tisEqual(payloadExperiencePath, activeExperiencePath)\n\t)\n\t\treturn;\n\n\tupdateState({\n\t\tpath: `behaviors[${CANVAS_SESSION_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\tactiveExperiencePath: payloadExperiencePath,\n\t\t},\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t});\n\n\tconst sessionPreferences = get(\n\t\tproperties,\n\t\t['canvasSession', 'user', 'preferences'],\n\t\t[],\n\t);\n\tconst sessionUserPrefs = get(\n\t\tproperties,\n\t\t['canvasSession', 'userPrefs'],\n\t\t{},\n\t);\n\t// state is not yet updated, and so state.activeExperiencePath is stale,\n\t// therefore, we explicitly pass payloadExperiencePath,\n\t// so that userPrefs is computed based on the latest experience path.\n\tconst computedUserPrefs = computeUserPrefs(\n\t\tsessionPreferences,\n\t\tstate,\n\t\tsessionUserPrefs,\n\t\tpayloadExperiencePath,\n\t);\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession.userPrefs',\n\t\tvalue: computedUserPrefs,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(computedUserPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\nexport const actionHandlers = {\n\t[ACTION_TYPES.CANVAS_EXPERIENCE_LOADED]: {\n\t\teffect: experienceLoadedOrSwitchedEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_EXPERIENCE_SWITCHED]: {\n\t\teffect: experienceLoadedOrSwitchedEffect,\n\t},\n\t[ACTION_TYPES.USER_PREF_SOURCE_UPDATED]: {\n\t\teffect: updateUserPrefsFromUxGlobalsEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATED]: {\n\t\teffect: updatePreferenceEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE]: {\n\t\teffect: updatePreferenceEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST]:\n\t\tupdateUserPreferenceEffect,\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED]: {\n\t\teffect: updateUserPreferenceRequestSucceeded,\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED]: {\n\t\teffect: updateUserPreferenceRequestFailed,\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST]:\n\t\tupdateUserPreferencesEffect,\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED]: {\n\t\teffect: () => {},\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED]: {\n\t\teffect: ({ action: { payload } }) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'GlideDomain_Mutation.user.setPreferences failed: ',\n\t\t\t\tpayload.message,\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { throttle } from 'lodash';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\nconst LAS_UI_ACTION_UPDATE_INTERVAL = 30000;\nlet defaultEventRegistry = new Map();\n\nexport function sessionExtensionEffect(\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n) {\n\treturn (coeffect) => {\n\t\tevents.forEach((event) => {\n\t\t\teventRegistry.set(event, (event) => effect(coeffect, event));\n\t\t\tdocument.body.addEventListener(\n\t\t\t\tevent,\n\t\t\t\teventRegistry.get(event),\n\t\t\t\ttrue,\n\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createDisconnectEffect({\n\tevents,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn () => {\n\t\tevents.forEach((event) => {\n\t\t\tif (eventRegistry.has(event))\n\t\t\t\tdocument.body.removeEventListener(\n\t\t\t\t\tevent,\n\t\t\t\t\teventRegistry.get(event),\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createEffectForEvents({\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn {\n\t\tremoveEventListeners: createDisconnectEffect({ events, eventRegistry }),\n\t\tregisterEventListeners: sessionExtensionEffect(\n\t\t\tevents,\n\t\t\teffect,\n\t\t\teventRegistry,\n\t\t),\n\t};\n}\n\nexport const { removeEventListeners, registerEventListeners } =\n\tcreateEffectForEvents({\n\t\tevents: ['click', 'keyup', 'contextmenu'],\n\t\teffect: throttle(\n\t\t\t(coeffect) => {\n\t\t\t\tconst { updateProperties } = coeffect;\n\t\t\t\tupdateProperties(() => ({\n\t\t\t\t\tpath: 'canvasSession.lastUiActivity',\n\t\t\t\t\tvalue: Date.now(),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t}));\n\t\t\t},\n\t\t\tLAS_UI_ACTION_UPDATE_INTERVAL,\n\t\t\t{ leading: true, trailing: false },\n\t\t),\n\t});\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: {\n\t\teffect: registerEventListeners,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: removeEventListeners,\n\t},\n};\n","import { CANVAS_SESSION_BEHAVIOR } from '../constants/constants';\nimport { canvasSessionSchema } from './schemas';\nimport {\n\tgetSessionFromUxGlobalEffect,\n\tgetSysPropsFromUxGlobalEffect,\n} from './effects/bootstrapEffect';\nimport { actionHandlers as sessionUpdateEffects } from './effects/sessionUpdateEffect';\nimport { getExperienceConfigUserPrefDefaults } from './effects/utils';\nimport { setUserPrefs, setSysProps } from 'sn-ux-core';\nimport { get } from 'lodash';\nimport { actionHandlers } from './effects/lastUIActivityEffect';\n\nconst sessionData = getSessionFromUxGlobalEffect();\n\nconst { userPrefs } = sessionData;\nsetUserPrefs(userPrefs);\n\nconst sysPropsData = getSysPropsFromUxGlobalEffect();\nsetSysProps(sysPropsData);\nconst lastUiActivitySysProp = get(\n\tsysPropsData,\n\t'glide.ui.uxr.last_ui_activity',\n);\n\nexport const canvasSessionBehavior = {\n\tname: CANVAS_SESSION_BEHAVIOR,\n\tproperties: {\n\t\tcanvasSession: {\n\t\t\tdefault: sessionData,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: canvasSessionSchema,\n\t\t},\n\t},\n\tinitialState: {\n\t\texperienceUserPrefDefaults: getExperienceConfigUserPrefDefaults(),\n\t\tactiveExperiencePath: get(window.ux_globals, 'siteName', ''),\n\t},\n\tactionHandlers: {\n\t\t...sessionUpdateEffects,\n\t\t...(lastUiActivitySysProp === 'true' ? actionHandlers : {}),\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\n\nexport const ACTION_TYPES = {\n\tCOMPONENT_CONNECTED: actionTypes.COMPONENT_CONNECTED,\n\tUSER_PRESENCE_SUBSCRIPTION_CHANGED: 'USER_PRESENCE_SUBSCRIPTION_CHANGED',\n\tUSER_PRESENCE_SUBSCRIPTION_SUCCEED: 'RECORD_WATCHER_SUBSCRIBED',\n\tUSER_PRESENCE_SUBSCRIPTION_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tUSER_PRESENCE_UPDATED: 'RECORD_WATCHER_ITEM_CHANGED'\n};\n\nexport const AMB_EVENT_TYPES = {\n\tsubscribeStartedActionType: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\tsubscribeSucceededActionType: 'RECORD_WATCHER_SUBSCRIBED',\n\tsubscribeFailedActionType: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tunsubscribeSucceededActionType: 'RECORD_WATCHER_UNSUBSCRIBED',\n\tmessageReceivedActionType: 'RECORD_WATCHER_ITEM_CHANGED'\n};\n\nexport const RECORD_PRESENCE_COLUMN = 'user_available';\nexport const RECORD_PRESENCE_TABLE_NAME = 'sys_user_presence';\n","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { get } from 'lodash';\nimport {\n\tAMB_EVENT_TYPES,\n\tACTION_TYPES,\n\tRECORD_PRESENCE_COLUMN,\n\tRECORD_PRESENCE_TABLE_NAME\n} from './constants';\n\nconst createAmbPresenceSubscription = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\t...AMB_EVENT_TYPES\n\t}\n);\n\nconst handleSubscriptionError = () => {\n\t// eslint-disable-next-line no-console\n\tconsole.warn('User presence subscription failed, current user role might not have User Presence subscription');\n};\n\nconst updatePresence = coeffects => {\n\tconst { action, updateProperties } = coeffects;\n\tconst updatedValue = get(\n\t\taction,\n\t\t`payload.data.record.[${RECORD_PRESENCE_COLUMN}].value`,\n\t\tnull\n\t);\n\n\tif (updatedValue) {\n\t\tconst update = updatedValue === 'true';\n\t\tupdateProperties(() => ({\n\t\t\tpath: `canvasSession.user.presence.${RECORD_PRESENCE_COLUMN}`,\n\t\t\toperation: 'assign',\n\t\t\tvalue: update,\n\t\t\tshouldRender: false\n\t\t}));\n\t}\n};\n\nexport const actionHandlers = {\n\t[ACTION_TYPES.COMPONENT_CONNECTED]: {\n\t\teffect: ({ dispatch, properties }) => {\n\t\t\tdispatch(ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_CHANGED, {\n\t\t\t\ttable: RECORD_PRESENCE_TABLE_NAME,\n\t\t\t\t/** filter is the string `user=<user's sys_id>` in base64 encoding with '=' replaced with '-'\n\t\t\t\ti.e.: dXNlcj02ODE2Zjc5Y2MwYTgwMTY0MDFjNWEzM2JlMDRiZTQ0MQ-- **/\n\t\t\t\tfilter: btoa(\n\t\t\t\t\t`user=${get(properties, 'canvasSession.user.sys_id', '')}`\n\t\t\t\t).replace(/=/g, '-'),\n\t\t\t\tsubscribe: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_CHANGED]: createAmbPresenceSubscription,\n\t[ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_FAILED]: handleSubscriptionError,\n\t[ACTION_TYPES.USER_PRESENCE_UPDATED]: updatePresence\n};\n","import { USER_PRESENCE_BEHAVIOR } from '../constants/constants';\nimport { actionHandlers as userPresenceUpdateEffect } from './userPresenceEffect';\n\nexport const userPresenceBehavior = {\n\tname: USER_PRESENCE_BEHAVIOR,\n\tactionHandlers: {\n\t\t...userPresenceUpdateEffect\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport ambStatusEffect from './ambStatusEffect';\nimport { AMB_STATUS_BEHAVIOR } from '../constants/constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst {\n\tAMB_STATUS_SET,\n\tAMB_EVENT_SESSION_LOGGED_IN,\n\tAMB_EVENT_SESSION_LOGGED_OUT,\n\tAMB_EVENT_SESSION_INVALIDATED,\n\tAMB_META_CONNECT_MESSAGE_RECEIVED\n} = ambStatusEffect.ACTION_TYPES;\n\nconst {\n\thandleSessionLoggedIn,\n\thandleSessionLoggedOut,\n\thandleSessionInvalidated,\n\tsetAMBStatus,\n\tonConnect,\n\tonDisconnect,\n\thandleAmbMetaConnectMessageReceived\n} = ambStatusEffect.effectHandlers;\n\n/**\n * ambStatusBehavior encapsulates functionality described by the effect-amb documentation:\n * https://code.devsnc.com/dev/sn-seismic/blob/master/packages/effects/effect-amb/api.md#createambeventeffect\n */\nconst ambStatusBehavior = {\n\tname: AMB_STATUS_BEHAVIOR,\n\n\tinitialState: {\n\t\tisSessionLoggedIn: false,\n\t\tisAuthTokenActive: false,\n\t\tisActiveSessionExpiringShown: false\n\t},\n\tactions: {\n\t\t[AMB_STATUS_SET]: { private: true }\n\t},\n\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[AMB_EVENT_SESSION_LOGGED_IN]: handleSessionLoggedIn,\n\t\t[AMB_EVENT_SESSION_LOGGED_OUT]: handleSessionLoggedOut,\n\t\t[AMB_EVENT_SESSION_INVALIDATED]: handleSessionInvalidated,\n\t\t[AMB_STATUS_SET]: setAMBStatus,\n\t\t[AMB_META_CONNECT_MESSAGE_RECEIVED]: handleAmbMetaConnectMessageReceived,\n\t}\n};\n\nexport default ambStatusBehavior;\n","const BROWSER_STATUS = { ONLINE: 'ONLINE', OFFLINE: 'OFFLINE' };\n\nconst ACTION_TYPES = {\n\tHTTP_ERROR_OCCURRED: 'HTTP_ERROR_OCCURRED',\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n};\n\n/**\n * onHttpErrorOccurred\n * @param action\n * @param dispatch\n */\nexport const onHttpErrorOccurred = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t...payload,\n\t\ttype: payload.status,\n\t});\n};\n\n/**\n * onlineHandler\n * @param e\n * @param dispatch\n */\nlet onlinelistener;\nexport const onlineHandler = (dispatch) => {\n\treturn (e) => {\n\t\tconst payload = { type: BROWSER_STATUS.ONLINE, evt: e };\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, payload);\n\t};\n};\n\n/**\n * offlineHandler\n * @param e\n * @param dispatch\n */\nlet offlinelistener;\nexport const offlineHandler = (dispatch) => {\n\treturn (e) => {\n\t\tconst payload = { type: BROWSER_STATUS.OFFLINE, evt: e };\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, payload);\n\t};\n};\n\n/**\n * onConnect\n * @param dispatch\n */\n\nexport const onConnect = ({ dispatch }) => {\n\twindow.addEventListener(\n\t\t'online',\n\t\t(onlinelistener = onlineHandler(dispatch)),\n\t);\n\twindow.addEventListener(\n\t\t'offline',\n\t\t(offlinelistener = offlineHandler(dispatch)),\n\t);\n};\n\n/**\n * onDisconnect\n * @param dispatch\n */\n\nexport const onDisconnect = ({ dispatch }) => {\n\twindow.removeEventListener('online', onlinelistener);\n\twindow.removeEventListener('offline', offlinelistener);\n\tonlinelistener = null;\n\tofflinelistener = null;\n};\n\nconst effectHandlers = {\n\tonHttpErrorOccurred: onHttpErrorOccurred,\n\tonConnect: onConnect,\n\tonDisconnect: onDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport canvasLayoutEffect from './canvasLayoutEffect';\n\nconst { HTTP_ERROR_OCCURRED } = canvasLayoutEffect.ACTION_TYPES;\n\nconst {\n\tonConnect,\n\tonDisconnect,\n\tonHttpErrorOccurred\n} = canvasLayoutEffect.effectHandlers;\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nexport const canvasLayoutErrorBehavior = {\n\tname: 'CANVAS_LAYOUT_ERROR',\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\n\t\t/* http errors */\n\t\t[HTTP_ERROR_OCCURRED]: onHttpErrorOccurred\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","export const ACTION_CREATE_TINY_URL = 'CREATE_TINY_URL#PERSISTED_STATE';\nexport const ACTION_TINY_URL_CREATED = 'TINY_URL_CREATED#PERSISTED_STATE';\nexport const ACTION_TINY_URL_CREATE_FAILED =\n\t'TINY_URL_CREATE_FAILED#PERSISTED_STATE';\n\nexport const ACTION_RESOLVE_TINY_URL = 'RESOLVE_TINY_URL#PERSISTED_STATE';\nexport const ACTION_TINY_URL_RESOLVED = 'TINY_URL_RESOLVED#PERSISTED_STATE';\nexport const ACTION_TINY_URL_RESOLVE_FAILED =\n\t'TINY_URL_RESOLVE_FAILED#PERSISTED_STATE';\n","import { isEmpty, isNil } from '@devsnc/snowdash';\n\nexport const getUrlPersistedStateWithMetadata = (\n\tpersistedStateForUrl,\n\tencoding,\n\tisTiny,\n) => {\n\tconst metadata = [encoding];\n\tif (isTiny) metadata.push('tiny');\n\n\treturn `${metadata.join('-')}~${persistedStateForUrl}`;\n};\n\nconst ENCODING_B64 = 'b64';\nexport const defaultEncoding = ENCODING_B64;\n\nexport const deserializePersistedState = (persistedState, encoding) => {\n\tlet persistedStateFromUrl;\n\ttry {\n\t\tconst decodedPersistedState =\n\t\t\tencoding === ENCODING_B64 ? atob(persistedState) : persistedState;\n\t\tpersistedStateFromUrl = JSON.parse(decodedPersistedState);\n\t} catch (e) {\n\t\tconsole.error('Failed to parse persisted state', e);\n\t}\n\treturn persistedStateFromUrl;\n};\n\nexport const serializePersistedState = (persistedState) => {\n\tif (isEmpty(persistedState)) return;\n\n\tlet serializedPersistedState;\n\ttry {\n\t\t//fixme: btoa could throw \"Character Out Of Range\" for non ascii state value\n\t\tserializedPersistedState = btoa(JSON.stringify(persistedState));\n\t} catch (e) {\n\t\tconsole.error(\n\t\t\t'Failed to serialize persisted state: ',\n\t\t\tpersistedState,\n\t\t\te,\n\t\t);\n\t}\n\treturn serializedPersistedState;\n};\n\nexport let tinyIdStatePersistenceCache = new Map();\nexport const getResolvedTinyPersistedStateFromCache = (tinyId) => {\n\tif (tinyIdStatePersistenceCache.has(tinyId)) {\n\t\treturn tinyIdStatePersistenceCache.get(tinyId);\n\t}\n\n\tconst resolvedTinyIdFromUxGlobals =\n\t\twindow?.ux_globals?.resolvedTinyPersistedState?.[tinyId];\n\tif (!isNil(resolvedTinyIdFromUxGlobals)) {\n\t\tputResolvedTinyPersistedStateToCache(\n\t\t\ttinyId,\n\t\t\tresolvedTinyIdFromUxGlobals,\n\t\t);\n\t\treturn resolvedTinyIdFromUxGlobals;\n\t}\n\n\treturn null;\n};\n\nexport const putResolvedTinyPersistedStateToCache = (\n\ttinyId,\n\tserialzedPersistedState,\n) => {\n\ttinyIdStatePersistenceCache.set(tinyId, serialzedPersistedState);\n};\n","import { get, isEmpty, isNil, set } from '@devsnc/snowdash';\nimport { declarativeOperations } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport { klona } from 'klona';\n\nimport { PERSIST_STATE_CONSTANTS } from 'sn-canvas-common';\nimport {\n\tACTION_CREATE_TINY_URL,\n\tACTION_RESOLVE_TINY_URL,\n\tACTION_TINY_URL_CREATED,\n\tACTION_TINY_URL_CREATE_FAILED,\n\tACTION_TINY_URL_RESOLVED,\n\tACTION_TINY_URL_RESOLVE_FAILED,\n} from './constants';\nimport {\n\tdefaultEncoding,\n\tdeserializePersistedState,\n\tgetResolvedTinyPersistedStateFromCache,\n\tgetUrlPersistedStateWithMetadata,\n\tputResolvedTinyPersistedStateToCache,\n\tserializePersistedState,\n} from './utils';\n\nconst {\n\tACTION_PERSIST_STATE_INTERNAL,\n\tACTION_PERSIST_STATE_INIT_INTERNAL,\n\tACTION_PERSIST_STATE_URL_CHANGED_INTERNAL,\n\tSINK_URL,\n} = PERSIST_STATE_CONSTANTS;\n\nconst validPersistenceSinks = [SINK_URL];\nconst handlePersistState = ({ action, dispatch, updateProperties }) => {\n\taction.stopPropagation();\n\n\tconst {\n\t\tpayload: { screenKey, path, value, persistTo },\n\t} = action;\n\tif (isEmpty(screenKey)) {\n\t\tconsole.warn(`Empty screenKey for PERSIST_STATE`);\n\t\treturn;\n\t}\n\tif (isEmpty(path)) {\n\t\tconsole.warn(`Empty path for PERSIST_STATE`);\n\t\treturn;\n\t}\n\tif (!validPersistenceSinks.includes(persistTo)) {\n\t\tconsole.warn(`Unsupported persistence sink: ${persistTo}`);\n\t\treturn;\n\t}\n\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${persistTo}.${screenKey}.${path.join('.')}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue,\n\t}));\n\tif (persistTo === SINK_URL) {\n\t\tupdateProperties(({ properties }) => {\n\t\t\tconst { persistedState } = properties;\n\n\t\t\t/* check if new persistedState would require tinyUrl serialization */\n\t\t\tconst persistedStateForScreen = klona(\n\t\t\t\tget(persistedState, [persistTo, screenKey], {}),\n\t\t\t);\n\t\t\tset(persistedStateForScreen, path, value);\n\t\t\tconst serializedPersistedState = serializePersistedState(\n\t\t\t\tpersistedStateForScreen,\n\t\t\t);\n\t\t\tconst newEncodedPersistedStateForScreen = encodeURIComponent(\n\t\t\t\tserializedPersistedState,\n\t\t\t);\n\t\t\tconst needsTiny = newEncodedPersistedStateForScreen.length > 1024; // arbitrary limit\n\n\t\t\tlet update = {};\n\t\t\tif (needsTiny) {\n\t\t\t\tdispatch(\n\t\t\t\t\tACTION_CREATE_TINY_URL,\n\t\t\t\t\t{\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\turl: `?__state__=${newEncodedPersistedStateForScreen}`, // tinyurl service expects queryparams\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tpersistTo,\n\t\t\t\t\t\t\tencoding: defaultEncoding,\n\t\t\t\t\t\t\tserializedPersistedState,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// no tinyUrl needed, just updateProperties.\n\t\t\t\t// When screen notifies of a change in persistedState, we update persistedState and persistedStateForRouter.\n\t\t\t\tupdate = {\n\t\t\t\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: getUrlPersistedStateWithMetadata(\n\t\t\t\t\t\tserializedPersistedState,\n\t\t\t\t\t\tdefaultEncoding,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn update;\n\t\t});\n\t}\n};\n\nconst handleEmptyPersistedStateFromRouter = (\n\trawPersistedStateFromUrl,\n\tscreenKey,\n\tproperties,\n) => {\n\tconst { persistedStateForRouter: previousPersistedState } = properties;\n\tif (\n\t\t!isEmpty(previousPersistedState?.[screenKey]) &&\n\t\tisEmpty(rawPersistedStateFromUrl)\n\t) {\n\t\t// back button. going from url-with-persistedState to url-without-persistedState\n\t\treturn [true, null, null];\n\t}\n\treturn [false];\n};\n\nconst handleNonEmptyPersistedStateFromRouter = (\n\trawPersistedStateFromUrl = '',\n\tscreenKey,\n\tproperties,\n\tdispatch,\n) => {\n\tconst [metadata, persistedState] = rawPersistedStateFromUrl.split('~');\n\tconst [encoding, isTiny] = metadata.split('-');\n\n\tlet serializedPersistedState;\n\tif (isTiny) {\n\t\tserializedPersistedState = getResolvedTinyPersistedStateFromCache(\n\t\t\tpersistedState,\n\t\t);\n\t\tif (isNil(serializedPersistedState)) {\n\t\t\t// persistedState is tiny but resolved value is not present in uxGlobals.\n\t\t\t// this is likely a url change resulting from back button.\n\t\t\tdispatch(\n\t\t\t\tACTION_RESOLVE_TINY_URL,\n\t\t\t\t{\n\t\t\t\t\ttinyId: persistedState,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\trawPersistedStateFromUrl,\n\t\t\t\t\t\tencoding,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t} else {\n\t\tserializedPersistedState = persistedState;\n\t}\n\n\tif (isEmpty(serializedPersistedState)) {\n\t\treturn [false];\n\t}\n\tconst deserializedPersistedState = deserializePersistedState(\n\t\tserializedPersistedState,\n\t\tencoding,\n\t);\n\tif (isEmpty(deserializedPersistedState)) {\n\t\treturn [false];\n\t}\n\n\treturn [true, serializedPersistedState, deserializedPersistedState];\n};\n\nconst handlePersistStateFromRouter = (coeffects) => {\n\tconst {\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tscreenKey,\n\t\t\t\tencodedPersistedState: rawPersistedStateFromUrl,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tif (isEmpty(screenKey)) return;\n\n\tconst handlerFunction = isEmpty(rawPersistedStateFromUrl)\n\t\t? handleEmptyPersistedStateFromRouter\n\t\t: handleNonEmptyPersistedStateFromRouter;\n\tconst [\n\t\tshouldUpdate,\n\t\tserializedPersistedState,\n\t\tdeserializedPersistedState,\n\t] = handlerFunction(\n\t\trawPersistedStateFromUrl,\n\t\tscreenKey,\n\t\tproperties,\n\t\tdispatch,\n\t);\n\n\tif (!shouldUpdate) {\n\t\treturn;\n\t}\n\n\t// When router notifies of a change in persistedState, we update persistedState, persistedStateForRouter and persistedStateForMain\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: rawPersistedStateFromUrl,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${SINK_URL}.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: deserializedPersistedState,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: deserializedPersistedState,\n\t}));\n};\n\nconst handleTinyUrlCreated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tmeta: {\n\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\tpath,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpersistTo,\n\t\t\t\t\tencoding,\n\t\t\t\t\tserializedPersistedState,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst tinyPersistedState = payload?.result?.split(/\\?sysparm_tiny=/)?.[1]; // parse tinyUrl Key from /api/now/tinyurl response\n\tif (isEmpty(tinyPersistedState)) {\n\t\thandleTinyUrlCreationFailed();\n\t\treturn;\n\t}\n\tputResolvedTinyPersistedStateToCache(\n\t\ttinyPersistedState,\n\t\tserializedPersistedState,\n\t);\n\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: getUrlPersistedStateWithMetadata(\n\t\t\ttinyPersistedState,\n\t\t\tencoding,\n\t\t\ttrue,\n\t\t),\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${persistTo}.${screenKey}.${path.join('.')}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue,\n\t}));\n};\n\nconst handleTinyUrlCreationFailed = () => {\n\tconsole.warn(\n\t\t'Failed to create tinyUrl for large persistedState. URL updates to persistedState ignored.',\n\t);\n};\n\nconst handleTinyUrlResolved = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: tinyUrlResponse,\n\t\t\tmeta: {\n\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\trawPersistedStateFromUrl,\n\t\t\t\t\tencoding,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst serializedPersistedState = tinyUrlResponse?.result?.__state__;\n\tconst persistedState = deserializePersistedState(\n\t\tserializedPersistedState,\n\t\tencoding,\n\t);\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: rawPersistedStateFromUrl,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${SINK_URL}.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: persistedState,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: persistedState,\n\t}));\n};\nconst handleTinyUrlResolvedFailed = () => {\n\tconsole.warn('Failed to resolve persistedState from tinyUrl');\n};\n\nexport default {\n\t[ACTION_PERSIST_STATE_INTERNAL]: handlePersistState,\n\t[ACTION_PERSIST_STATE_INIT_INTERNAL]: handlePersistStateFromRouter,\n\t[ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL]: handlePersistStateFromRouter,\n\n\t[ACTION_CREATE_TINY_URL]: createHttpEffect('/api/now/tinyurl', {\n\t\t// platform's tinyurl service\n\t\tmethod: 'POST',\n\t\tsuccessActionType: ACTION_TINY_URL_CREATED,\n\t\terrorActionType: ACTION_TINY_URL_CREATE_FAILED,\n\t\tbatch: false,\n\t\tdataParam: ['data'],\n\t}),\n\t[ACTION_TINY_URL_CREATED]: handleTinyUrlCreated,\n\t[ACTION_TINY_URL_CREATE_FAILED]: handleTinyUrlCreationFailed,\n\n\t[ACTION_RESOLVE_TINY_URL]: createHttpEffect('/api/now/tinyurl/:tinyId', {\n\t\tmethod: 'GET',\n\t\tsuccessActionType: ACTION_TINY_URL_RESOLVED,\n\t\terrorActionType: ACTION_TINY_URL_RESOLVE_FAILED,\n\t\tbatch: false,\n\t\tpathParams: ['tinyId'],\n\t}),\n\t[ACTION_TINY_URL_RESOLVED]: handleTinyUrlResolved,\n\t[ACTION_TINY_URL_RESOLVE_FAILED]: handleTinyUrlResolvedFailed,\n};\n","import actions from './statePersistence.actions';\n\nexport const statePersistenceBehavior = {\n\tname: 'statePersistence',\n\tproperties: {\n\t\tpersistedState: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tpersistedStateForRouter: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tpersistedStateForMain: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tactionHandlers: actions,\n};\n","import { convertUrlToPayload } from 'sn-ux-core';\nimport { NAV_ITEM_SELECTED } from '../constants/constants';\n\nconst getSelectedContent = async (url) => {\n\tconst incomingContent = await convertUrlToPayload(url);\n\treturn incomingContent;\n};\n\nasync function navigateToIncomingUrl(e, dispatch) {\n\tconst target = '_self';\n\t// HANDLE THE EVENT ONLY IN CASE THE MESSAGE IS COMING FROM THE SAME ORIGIN\n\tif (e.origin !== location.origin) {\n\t\treturn;\n\t}\n\n\tconst { data } = e;\n\tif (!data) {\n\t\treturn;\n\t}\n\tconst {\n\t\turl = '',\n\t\tisFromLinkGrabber = false,\n\t\treloadFromPlugin = false,\n\t} = data;\n\t// HANDLE THE EVENT ONLY IN CASE THE MESSAGE IS COMING FROM OUR PLUGIN\n\tif (!isFromLinkGrabber || !url) {\n\t\treturn;\n\t}\n\n\tconst incomingUrl = new URL(url);\n\t// DO NOT ALLOW USERS TO NAVIGATE TO EXTERNAL SITES\n\tif (location.origin !== incomingUrl.origin) {\n\t\treturn;\n\t}\n\ttry {\n\t\tif (reloadFromPlugin || !dispatch) {\n\t\t\twindow.open(url, target);\n\t\t\treturn;\n\t\t}\n\t\tconst selectedContent = await getSelectedContent(url);\n\t\tselectedContent.isFromLinkGrabber = isFromLinkGrabber;\n\t\tdispatch(NAV_ITEM_SELECTED, selectedContent, {\n\t\t\tupdatePersistedState: true,\n\t\t});\n\t} catch (err) {\n\t\twindow.open(url, target);\n\t\tconsole.error(\n\t\t\t'Error while trying to dispatch navPayload, Reloading the page::',\n\t\t\terr,\n\t\t);\n\t}\n}\n\nexport default navigateToIncomingUrl;\n","import {actionTypes} from '@servicenow/ui-core';\nimport navigateToIncomingUrl from './navigateToIncomingUrl';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nlet navigateWithContext;\nexport default {\n\t[COMPONENT_CONNECTED]: (coeffects) => {\n\t\tnavigateWithContext = (e) => navigateToIncomingUrl(e, coeffects.dispatch);\n\t\twindow.addEventListener('message', navigateWithContext);\n\t},\n\t[COMPONENT_DISCONNECTED]: () => {\n\t\twindow.removeEventListener('message', navigateWithContext);\n\t}\n};\n","import { INTERNAL_NAV_PLUGIN_BEHAVIOR } from '../constants/constants';\nimport actions from './internalNavPlugin.actions';\n\n// This behavior is added to open links in the existing chrome tab, as a support for browser plugin/extension\nexport const internalNavPluginBehavior = {\n\tname: INTERNAL_NAV_PLUGIN_BEHAVIOR,\n\tactionHandlers: actions,\n};\n"],"version":3}},{"offset":{"line":435,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/sn-window-manager/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","CREATE_WINDOW","CLOSE_WINDOW","OPEN_WINDOW","OPEN_DEBUG_WINDOW","BROADCAST_MESSAGE","RELAY_MESSAGE","FOCUS_WINDOW","SET_HEADER_BUTTONS","CHECK_WINDOW_LOCATIONS","TOGGLE_DOCK","TOGGLE_MODAL_STATE","TOGGLE_MINIMIZE_STATE","CLOSE_DOCK","UPDATE_BODY_CLASS_NAMES","SCREEN_CHANGED","SET_DIRTY_STATE","SET_WINDOW_PROPERTIES","SN_WINDOW_DIALOG_CLOSE_CONFIRMED","UPDATE_BOTTOM_TOOLBAR_ELEMENTS","TOGGLE_OVERFLOW_POPOVER","SET_OVERFLOW_BUTTON_REF","SN_WINDOW_DIALOG_CLOSE_CANCELED","UPDATE_MINIMIZED_TARGET_POSITION","FOCUS_BOTTOM_TOOLBAR_REQUESTED","WM_CREATE_WINDOW","WM_CLOSE_WINDOW","WM_OPEN_WINDOW","WM_CLOSE_DOCK","WM_TOGGLE_DOCK","WM_TOGGLE_MODAL","WM_TOGGLE_MINIMIZED","WM_RELAY_MESSAGE","WM_FOCUS_WINDOW","WM_SET_HEADER_BUTTONS","WM_SET_DIRTY_STATE","WM_SET_WINDOW_PROPERTIES","UXF_CREATE_MODELESS_WINDOW","UXF_SHOW_MODELESS_WINDOW","UXF_CLOSE_MODELESS_WINDOW","UXF_MINIMIZE_MODELESS_WINDOW","UXF_DIRTY_MODELESS_WINDOW","UXF_UPDATE_MODELESS_WINDOW","UXF_SELECT_MODELESS_WINDOW","UXF_WM_SCREEN_SELECTED","UXF_CLOSE_MODELESS_WINDOW_ON_STAGE","UXF_FOCUS_WINDOW","UXF_CLOSE_DOCK","UXF_TOGGLE_DOCK","UXF_TOGGLE_MODAL","UXF_TOGGLE_MINIMIZED","UXF_CLOSE_WINDOW","UXF_OPEN_WINDOW","UXF_WINDOW_FOCUSED","AIEL_NAVIGATION_REQUESTED","GLOBAL_NAVIGATION_REQUESTED","NAV_ITEM_SELECTED","SIDEBAR_UNREAD_MESSAGE","SET_SIDEBAR_CHAT_PRIVATE","clampDialogPosition","_ref","dialogLocation","dialogSize","left","top","normalizeDialogLocation","width","height","viewportWidth","window","innerWidth","viewportHeight","innerHeight","clampedWidth","Math","min","clampedHeight","maxLeft","maxTop","newLeft","max","newTop","right","bottom","isWindowInBounds","normalizedDialogLocation","windowLocationValid","windowLocationInBounds","coordinateSystem","isDeepEqual","object1","object2","objKeys1","keys","objKeys2","value1","value2","isObjects","isObject","isFunctions","isFunction","object","deepSearchElement","selector","queue","document","body","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","shiftTo","container","newX","newY","toolBar","style","boundaryElement","draggableRect","getBoundingClientRect","boundaryRec","classList","contains","toolBarRect","keepInBoundary","createHDSBoundsPayload","bounds","mouseEvent","fullscreen","payload","positions","mouse","X","floor","clientX","Y","clientY","offset","dimensions","dispatchModelessDialogAction","contentElement","windowConfig","actionName","isFullscreen","dispatch","_dialogLocation$left","_dialogLocation$top","constructedBounds","defaultButtonVariant","touchEnhancedButtonSize","determineUseTouchEnhancedButtons","coeffects","_coeffects$properties","_coeffects$properties2","properties","browserDimensions","CustomHeaderButtonIconic","_button$properties","_button$properties2","_button$properties3","_button$properties4","_button$properties5","_button$properties8","button","ButtonComponent","type","element","size","bare","icon","variant","tooltipContent","label","configAria","on-click","_button$properties6","_button$properties7","onClick","action","appendToPayload","CloseButton","_ref2","useTouchEnhancedButtons","dispatchedEvent","isUXFWindow","tooltipLabel","closeButtonTooltip","headingLabel","closeIcon","buttonAction","stopPropagation","closeToElement","forceUpdate","matchCoordinateSystemToClosingLocation","closedFromButton","OpenButton","LeftDockButton","_ref4","windowsState","showHorizontalDockOptions","isRTL","dir","isDocked","buttonId","buttonIcon","dockTooltip","dockConfig","dockRightIcon","class","dockLocation","preventDefault","RightDockButton","_ref5","ToggleModalButton","_ref6","isModal","MinimizeWindowButton","_ref7","minimizedWindows","includes","DragButton","_ref8","state","updateState","isDragModeEnabled","KEY_MOVEMENT_STEP_AMOUNT","setTargetRef","ref","setTimeout","targetRef","_ref9","elm","hook-destroy","className","on-blur","enabled","SN_WINDOW_OPENED","SN_WINDOW_CLOSED","SN_WINDOW_CREATED","SN_WINDOW_MINIMIZED","SN_WINDOW_CHECK_LOCATION","SN_WINDOW_START_DRAG","SN_WINDOW_END_DRAG","SN_WINDOW_KEY_PRESSED","SN_WINDOW_SET_DIRTY_STATE","SN_WINDOW_SET_WINDOW_SIZE","SN_WINDOW_SET_DOCKED_WINDOW_SIZE","SN_WINDOW_SET_WINDOW_PROPERTIES","NOW_MODELESS_DIALOG_CONTENT_VISIBLE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__","PREFERENCES","getBooleanPreferenceValue","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__","debounce","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__","getFocusableNodes","PORTAL_TYPES","normalizeDialogSize","_convertValue","_convertValue2","convertValue","dimension","endsWith","percentage","parseFloat","browserSize","round","createBrowserWindowMutationObserver","updateProperties","modalWindow","mutationObs","ResizeObserver","mutationsList","handleBrowserWindowMutations","mutation","_mutation$contentRect","_mutation$contentRect2","contentRect","parseInt","observe","browserWindowMutationObserver","completeDockToggle","newLeftDockId","newRightDockId","newBottomDockId","dockSide","windowsList","currentWindow","find","isWindowDocked","modalWindows","filter","windowId","leftDockId","rightDockId","bottomDockId","secondaryMenuId","handleStateChangeCallback","stateChangeCallback","handleOpenWindow","newProperties","contentElementProperties","forEach","component","isOpen","activeWindowId","dispatchEventToContentElement","isAnimating","newWindowList","isMinimized","windowStartingState","stateWhenClosed","indexOf","handleToggleMinimize","forceMinimize","overrideConfig","currWindow","canMinimize","currMinimizedWidows","newActiveWindowId","splice","existingPositions","minimizedTargetPositions","newWindowsState","isRestoring","dispatchEventToWindow","name","existingPositionValues","values","finalWindowsState","fromEntries","wId","index","sort","b","position","clampedPosition","_currWindow$component","windowBounds","_currWindow$component2","isFullscreenView","handleDialogCloseCancelled","closingWindowId","showCloseConfirmDialog","event","_currentWindow$compon6","extraPayload","console","info","screenKey","instanceId","experienceId","componentId","uxrComponentId","eventPayload","COMPONENT_DOM_TREE_READY","COMPONENT_PROPERTY_CHANGED","COMPONENT_RENDERED","setAnimationClass","host","disabled","add","remove","animationTimeouts","WeakMap","isFullScreen","fullscreenViewConfig","widthThreshold","modalThresholds","standardThresholds","heightThreshold","computeStyleObj","_windowConfig$autoRes","_properties$windowCon","_properties$windowCon2","autoResizeEnabled","autoResizableConfig","enableAutoResizableHeight","styleObj","autoResizableMinHeight","autoResizableMaxHeight","borderRadius","isLeft","isRight","isBottom","dockedWindowSize","closeToTop","_windowConfig$closeTo","_windowConfig$closeTo2","_windowConfig$closeTo3","_windowConfig$closeTo4","_windowConfig$closeTo5","_windowConfig$closeTo6","_windowConfig$closeTo7","_windowConfig$closeTo8","_windowConfig$closeTo9","_windowConfig$closeTo0","_windowConfig$closeTo1","_windowConfig$closeTo10","topCoordinate","bottomCoordinate","leftCoordinate","rightCoordinate","closingLocation","transformOrigin","_properties$windowsSt","_properties$windowsSt2","_properties$windowsSt3","target","positionsCleared","targetTopRightX","targetTopRightY","verticalOffset","modalLeft","modalTop","_windowConfig$autoRes2","_windowConfig$autoRes3","_windowConfig$autoRes4","_windowConfig$autoRes5","transform","modalWidth","mWidth","modalSize","mHeight","dim","total","px","css","widthPx","widthCss","heightPx","heightCss","updateShadowRootStyling","_icon","_icon$shadowRoot","header","_button$shadowRoot","removeChild","nowIconShadowRoot","existingStyle","styling","innerHTML","appendChild","handleSetHeaderButtons","headerButtons","handleSetWindowSize","_windowConfig$autoRes6","newDialogSize","requestAnimationFrame","updateButtonFocus","focusButtonId","_getFocusableNodes","isActive","headerElement","buttons","tabbableNodes","blur","_host$shadowRoot","_buttonToFocus$shadow","buttonToFocus","focus","_buttons$","actionHandlers","hasModalEventListenerSet","modalElement","parentNode","modalOverlayClickEnabled","canMaximize","addEventListener","operation","path","shouldRender","animationsDisabled","contentTagName","slottedHeading","slottedContent","slottedFooter","slottedActions","headingElements","createDocumentFragment","elem","contentElements","footerElements","actionsElements","tagName","portalType","isFloating","_slottedContent","_properties$windowCon3","parentElement","prepend","footerSlot","hasAttribute","removeAttribute","headerSlot","actionsSlot","resizeEnabled","canDrag","startingState","fitContent","footer","headerHeight","offsetHeight","footerHeight","dialogHeight","dialogWidth","margin","isHidden","iframeElement","pointerEvents","resizableConfig","enableResizable","remMulitplier","getComputedStyle","getPropertyValue","setProperty","error","previousValue","nextWindowsState","_previousValue$minimi","_value$minimizedTarge","_prevTargetPos$top","_newTargetPos$top","_prevTargetPos$left","_newTargetPos$left","_prevTargetPos$width","_newTargetPos$width","_prevTargetPos$height","_newTargetPos$height","_nextWindowsState$min","_properties$windowsLi","prevTargetPos","newTargetPos","targetPositionInitiallySet","targetPositionChanged","getDockKey","_Object$keys$find","prevDockKey","newDockKey","dockTargetChange","isOpeningOrClosing","isOpening","modalTransition","animationTimeoutDuration","hasMinimizeTarget","isMinimizing","willAnimate","newState","currentState","dispatchEventToContent","hasFocus","newStyleObj","finalStyleObj","skipImmediateResizeUpdate","resizableConfigUpdate","lastState","opened","pinnedHeaderHeight","w","existingTimeout","clearTimeout","delete","set","modelessDialog","wrapper","wrapperBounds","_ref3","screenInfo","matchesCurrentLocationFormat","locationIsDifferent","newLocation","newSize","isLeftDocked","isRightDocked","isBottomDocked","effect","maxWidth","isDirty","newHeadingLabel","title","dialogTitle","modelessDialogControllerId","sourceElementId","compositionId","meta","_properties$contentEl","_properties$contentEl2","eventHandlers","events","maxWindowSizePercentage","_properties$dialogSiz","_properties$dialogSiz2","widthPercent","heightPercent","dialogElement","newMaxWidth","newMaxHeight","_properties$dialogSiz3","_properties$dialogSiz4","lastChild","resizableMaxWidth","resizableMaxHeight","ButtonsPanel","_fullscreenViewConfig","_fullscreenViewConfig2","fullScreenBreakpoint","dockLeft","dockRight","canToggleModal","canDock","canClose","isPersistent","DockedWindow","_windowConfig$headerI","targetHeaderSlot","targetActionsSlot","targetContentSlot","targetFooterSlot","slot","hideHeadingDivider","headerIcon","isMessageUnread","isChatPrivate","color","handleModalMutations","dialogContainer","attributeName","handleModalResize","dialogTop","offsetTop","windowHeight","offsetWidth","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__","endDrag","removeEventListener","dragHandler","isDragging","mouseOffsetX","mouseOffsetY","initialState","dragHandleElement","dragContainerElement","__mousedownListener__","__keydownListener__","dragHandle","dragContainer","nonDragElements","isDraggable","_element$tagName","startsWith","some","nonDragTag","_element$tagName2","toLowerCase","nonDragRole","_element$role","role","keydownListener","keyEvent","mousedownListener","startDrag","tooltip","containerBounds","resetWindowSize","offsetX","offsetY","toolbar","bottomToolbarComponent","_button$shadowRoot2","pageX","pageY","onMouseUp","handleModelessMousedown","_action$payload","handleModelessMouseup","keyPressed","bottomToolBar","origLeft","offsetLeft","origTop","isShift","shiftKey","view","_properties$windowCon4","mutationObserver","resizeObserver","leftDockOpen","rightDockOpen","transitionClass","navRef","onCurrentScreen","isGlobalWindow","nowWindowManager","canResize","hidden","docked","modal","floating","minimized","active","closed","useFlexContentLayout","dialog","createMutationObserver","disconnect","MutationObserver","resizeObs","attributes","_properties$mutationO","_properties$resizeObs","styles","schema","shouldRenderWhenSet","isSmallScreen","availablePanels","computed","resizableMinWidth","resizableMinHeight","context","enum","setInitialState","behaviors","behavior","rtlBehavior","focusBehavior","options","trap","modalBehavior","limit","watchPropertyName","dragBehavior","resizableBehavior","resizeTarget","getResizableConfig","POLARIS_CONTEXT","experienceName","defaultWindowOptions","renderer","snabbdom","buttonSize","showTopButtons","route","params","menuId","buttonConfig","contextualMenuType","contextualMenuHeaderText","dispatchedAction","modelessProps","enableDrag","manageOpened","opts","minimizedTitle","category","eventInfo","elementId","hideOthers","singleInstance","contentRef","src","resolvedProps","COMPONENT_CONNECTED","command","checked","viewCount","PROPERTY_CHANGED","warn","newButtons","MIN_BUTTON_WIDTH","createResult","zone1Windows","zone2Windows","zone1VisibleCount","zone2VisibleCount","zone1OverflowCount","zone2OverflowCount","calculatedButtonWidth","bothZonesHaveOverflow","halfOfVisibleButtons","visible1","slice","visible2","overflowCount1","overflowCount2","overflowWindows1","overflowWindows2","showDivider","buttonWidth","useBalancedSizing","computeZones","zone3Width","zone1ButtonCount","zone2ButtonCount","zone3TotalSpace","availableWidth","totalButtonCount","optimalButtonWidth","spaceForButtons","maxVisibleButtons","allocateSlots","halfOfSlots","targetSlotsPerZone","zone1Gap","zone2Gap","remainingSlots","leftoverSlots","totalVisibleButtons","isTruncated","labelSpan","scrollWidth","clientWidth","handleTooltipCheck","closest","truncated","closePopoverOnTabOut","zoneId","actionSource","appended","createItemKeydownHandler","itemIndex","totalItemCount","isShiftTab","isFirstItem","isLastItem","isOnCloseButton","handleArrowKeyNavigation","currentElement","currentTarget","items","Array","from","currentIndex","_items$nextIndex","isArrowDown","totalItems","windows","isGlobal","windowType","windowCount","ariaLabel","renderWindowItem","subtitle","hasIcon","tabIndex","hidePadding","updateButtonPosition","el","windowIdOrWindows","overflow","targetButton","rect","rectData","ZoneOverflowButton","count","openedOverflowZone","vnode","buttonRef","hook-update","oldVnode","String","MinimizedButtonView","_windowConfig$headerI2","_windowConfig$headerI3","_windowConfig$compone","_windowConfig$headerI4","headingLabelText","hasHeaderIcon","replace","subtext","prevToolbarOpen","COMPONENT_DISCONNECTED","measureZone3Width","hoistTargetElem","resizeUpdateZone3Width","childNodes","child","visibility","display","filterMinimizedWindows","minimizedWindowList","globalMinimizedWindows","scopedMinimizedWindows","mainToolbarElement","observer","isCurrentSelectedScreen","_window$nowWindowMana","_child$sourceElement","_child$sourceElement2","currentScreenKey","currentExperienceId","sourceElement","activeHoistedContent","isSlottedElemVisible","nodeType","Node","ELEMENT_NODE","computedStyle","hasSlottedContent","childList","_zone3MutationObserver","ux_globals","__windowManagerConfig","zoneThreeHoistTarget","hoistedElements","hasHoistedElement","elemHoistInfo","overflowButtonRefs","zoneFromPopover","isConnected","newWindowId","newButton","_properties$browserDi","_properties$browserDi2","_properties$zone3Widt","bottomDockOpen","isToolbarOpen","_tabbableElements$nex","currentItem","composedPath","tabbableElements","nextIndex","balanced","zone1","empty","zone2","pinDropDownView","showPadding","hideCaret","hideLabel","align","COMPONENT_BOOTSTRAPPED","pinningDropDown","customHeaderButtons","url","detail","open","_window$ux_globals","_window$ux_globals2","newStyleSheet","dynamicStyleSheet","styleEl","head","sheet","createStyleSheet","insertRule","cssRules","unifiedNavComponent","windowManager","createWindow","openWindow","closeWindow","forceDestroy","closeDock","dock","toggleDock","toggleModal","forceEnableModal","toggleMinimized","relayMessage","message","debugWindow","focusWindow","getContentElement","setHeaderButtons","buttonsData","doesWindowExist","setContentProperties","props","setWindowProperties","setWindowSize","dockedMode","newDockedWindowSize","handleScreenChanged","setDirtyState","dirtyState","updateUserPreferences","userPreferences","DISABLE_ANIMATION","closeAllWindows","getDockedWindowId","userPrefs","coerceBoolean","val","_err","isArray","pref","p","isLoaded","handleComponentConnected","handleToggleLeftDock","handleToggleRightDock","handleToggleBottomDock","_currentWindow$compon3","_currentWindow$compon4","_currentWindow$compon5","_payload$content4","_payload$content5","_newWindowConfig$star","_newWindowConfig$star2","_newWindowConfig$star3","_payload$content$comp","existingWindowConfig","newWindowConfig","newWindowDataConfig","_payload$closeIcon","_payload$dockConfig$d","_payload$dockConfig","_payload$dockConfig$d2","_payload$dockConfig2","_payload$dockConfig$d3","_payload$dockConfig3","_payload$dockConfig$d4","_payload$dockConfig4","_payload$dockConfig$d5","_payload$dockConfig5","_payload$fullscreenVi","_payload$fullscreenVi2","_payload$fullscreenVi3","_payload$fullscreenVi4","_payload$headerIcon","_payload$headerIcon2","_payload$dialogLocati","_payload$dialogLocati2","_payload$dialogLocati3","_payload$dialogLocati4","_payload$dialogLocati5","_payload$dialogLocati6","_payload$dialogLocati7","_payload$dialogLocati8","_payload$modalSize","_payload$modalSize2","_payload$content","_payload$content2","_payload$resizableCon","_payload$resizableCon2","_payload$content3","_payload$autoResizabl","c","random","JSON","parse","dockBottom","dockLeftIcon","reopenAsFloatingWindow","confirmClose","confirmCloseMessage","bottomDockHeight","updateDialogLocationBottomDock","normalizedLocation","areWindowsOverlapping","window1","window2","normalizedWindow1","normalizedWindow2","windowsAreOpen","windowsAreInSameLocation","initialPosition","newWindowsList","startLeft","startTop","isOccupied","clampedLeft","clampedTop","findAvailableDialogPosition","nowWindow","_currentWindow$compon","_currentWindow$compon2","newMinimizedWindows","newModalWindows","windowComponent","_windowComponent$shad","wasConfirmed","undockedWindowId","undockedWindow","doPinning","isPrimary","primaryMenuId","isPinnedWindow","bottomToolbar","_state$properties$win","prevPositions","updatedPositions","isUnread","isPrivate","_windowsState$minimiz","_windowsState$minimiz2","_bottomToolbarCompone","_focusableNodes$tabba","_focusableNodes$tabba2","minimizedCount","replaceContent","focusableNodes","firstButton","maxRetries","Promise","resolve","attempts","attemptFocus","_error","focusElementWithRetry","then","focusSuccess","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","setActionState","nowTriggerLibRegistrationId","KEYBOARD_SHORTCUTS","actionMap","source","headerLabel","footerActions","clickActionType","deepCompare","calculatedStyle","keyboardShortcutsBehavior","__TECTONIC__$servicenow_sn_window_manager"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/fragments/debug-styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window/styles.scss","webpack:///./src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.scss?fa83","webpack:///./src/sn-window-manager/bottomToolbar/styles.scss?d78e","webpack:///./src/sn-window-manager/fragments/debug-styles.scss?a7bc","webpack:///./src/sn-window-manager/styles.scss?52e6","webpack:///./src/sn-window/styles.scss?e331","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/actions.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/helpers.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/helpers.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/buttons.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/keyboard-events.js","webpack:///@servicenow/sn-window-manager/src/sn-window/actions.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/29.0.1-polaris.19/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/27.0.2/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/constants.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/index.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.effects.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/buttonPanel.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/dockedWindow.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.view.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.3.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-modal/27.0.2/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resizable/27.0.2/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/mouse-events.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/drag-behavior.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/fragments/debug-panel.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.utils.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.view.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.effects.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/example/header-button-example.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.view.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.effects.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/behaviors/keyboard-shortcuts-behavior.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.js","webpack:///@servicenow/sn-window-manager/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block-end--xxs{margin-block-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline--xxs{margin-inline-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--xxs{margin-inline-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block--xs{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block-end--xs{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline--xs{margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--xs{margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block--sm{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-block-end--sm{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline--sm{margin-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--sm{margin-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block--sm{padding-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block-end--sm{padding-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline--sm{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline-end--sm{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.sn-overflow-popover{background-color:RGB(var(--now-popover--background-color,var(--now-color--neutral-0,255,255,255)));border-radius:6px;color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex-direction:column;max-width:250px;overflow:hidden}.sn-overflow-popover-header{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));border-bottom:1px solid RGB(var(--now-menu-contextual_container--primary--border-color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-color_text--tertiary,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-size:12px;font-weight:400;min-height:24px;padding:4px 16px}.sn-overflow-popover-list{max-height:300px;overflow-y:auto;padding:calc(.25rem*var(--na-ss-rem-multiplier)) 0}.sn-overflow-popover-item{align-items:center;background-color:RGB(var(--now-popover--background-color,var(--now-color--neutral-0,255,255,255)));border-bottom:1px solid RGB(var(--now-menu-contextual_container--primary--border-color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer;display:flex;gap:8px;min-height:32px;outline:none;padding:8px 16px 8px 16px}.sn-overflow-popover-item:focus,.sn-overflow-popover-item:hover{background-color:RGB(var(--sn-overflow-popover-item--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-overflow-popover-item:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_border--primary,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-overflow-popover-item:last-child{border-bottom:none}.sn-overflow-popover-item-icon{flex-shrink:0;height:16px;width:16px}.sn-overflow-popover-item-icon,.sn-overflow-popover-item:hover .sn-overflow-popover-item-icon{color:RGB(var(--now-color_text--primary,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-overflow-popover-item-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.sn-overflow-popover-item-title{color:RGB(var(--now-color_text--primary,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:16px}.sn-overflow-popover-item-subtitle,.sn-overflow-popover-item-title{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-overflow-popover-item-subtitle{color:RGB(var(--sn-overflow-popover-item-subtitle--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.sn-overflow-popover-item-close{align-items:center;display:flex;flex-shrink:0;justify-content:center}@media(forced-colors:active){.sn-overflow-popover{border-color:highlight}.sn-overflow-popover-header{border-bottom-color:highlight}.sn-overflow-popover-header,.sn-overflow-popover-item:hover{background-color:highlight;color:highlighttext}.sn-overflow-popover-item:hover .sn-overflow-popover-item-icon{color:highlighttext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-window-manager-toolbar{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -2px 4px rgba(0,0,0,.1);display:flex;flex-direction:row;height:0;left:0;overflow:hidden;pointer-events:all;position:absolute;right:0;transition:left .15s ease-in-out,right .15s ease-in-out,height .15s ease-in-out;z-index:100}.sn-window-manager-toolbar.opened{border-radius:20px 20px 0 0;border-top:solid 1px RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));height:56px}.sn-window-manager-toolbar.is-rtl{direction:rtl}.sn-window-manager-toolbar .toolbar-zone{align-items:center;display:flex}.sn-window-manager-toolbar .toolbar-zone.zone3{align-content:center;flex:0 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:center;margin-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));margin-inline-start:auto;max-width:calc(100% - 153px - 2rem*var(--na-ss-rem-multiplier));min-width:0}.sn-window-manager-toolbar .toolbar-zone.zone3 now-loader{display:none}.sn-window-manager-toolbar .toolbar-zone.zone1,.sn-window-manager-toolbar .toolbar-zone.zone2{align-items:stretch;display:flex;flex:0 1 auto;gap:0;margin:0;max-width:100%;min-width:0;overflow:hidden;padding:0}.sn-window-manager-toolbar .toolbar-zone.zone1.empty,.sn-window-manager-toolbar .toolbar-zone.zone2.empty{flex:0 0 0}.sn-window-manager-toolbar .toolbar-zone.zone1.balanced,.sn-window-manager-toolbar .toolbar-zone.zone2.balanced{flex:1 1 0}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow),.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow){flex:1 1 0;max-width:180px;min-width:0;transition:width .3s ease-in-out;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) button,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) .button-content,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) .button-content{overflow:hidden;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) .button-label,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) .button-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button.overflow,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button.overflow{flex:0 0 auto;max-width:60px;transition:none}.sn-window-manager-toolbar .zone-divider{align-self:center;background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)));flex:0 0 auto;height:32px;margin:auto calc(.75rem*var(--na-ss-rem-multiplier));width:1px}.sn-window-manager-toolbar .zone1:last-child{margin-inline-end:0}.sn-window-manager-toolbar .minimization-zone{align-items:stretch;display:flex;flex:0 0 auto;flex-direction:row;gap:0;justify-content:flex-start;margin-inline-end:calc(1rem*var(--na-ss-rem-multiplier));margin-inline-start:calc(1rem*var(--na-ss-rem-multiplier));max-width:calc(100% - var(--zone3-width, 0px) - 64px);min-width:0;overflow:hidden;white-space:nowrap;width:auto}.sn-window-manager-toolbar .minimization-zone.balanced .zone1.balanced,.sn-window-manager-toolbar .minimization-zone.balanced .zone2.balanced{flex:1 1 0}@media(max-width:768px){.sn-window-manager-toolbar{z-index:3020}.sn-window-manager-toolbar .window-button:not(.overflow){min-width:120px}}@media(max-width:480px){.sn-window-manager-toolbar .window-button:not(.overflow){min-width:100px}}@media(max-width:320px){.sn-window-manager-toolbar{flex-direction:row;justify-content:space-between}.sn-window-manager-toolbar .toolbar-zone.zone3{flex:0 0 auto;margin-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));margin-inline-start:auto;order:3}.sn-window-manager-toolbar .minimization-zone{align-items:center;flex:0 0 auto;flex-direction:row;gap:0;max-width:none;order:1}.sn-window-manager-toolbar .minimization-zone .zone1,.sn-window-manager-toolbar .minimization-zone .zone2{flex:0 0 auto}.sn-window-manager-toolbar .minimization-zone .zone1 .window-button:not(.overflow),.sn-window-manager-toolbar .minimization-zone .zone2 .window-button:not(.overflow){display:none}.sn-window-manager-toolbar .minimization-zone .zone1 .window-button.overflow,.sn-window-manager-toolbar .minimization-zone .zone2 .window-button.overflow{display:flex}.sn-window-manager-toolbar .minimization-zone .zone-divider{display:block;margin:auto calc(.75rem*var(--na-ss-rem-multiplier))}}.sn-window-manager-toolbar.left-dock-open{left:var(--left-dock-width)}.sn-window-manager-toolbar.right-dock-open{right:var(--right-dock-width)}.sn-window-manager-toolbar.bottom-dock-open{bottom:var(--bottom-dock-height)}.sn-window-manager-toolbar .window-button{--now-button_icon--primary--color:RGB($now-color--text-primary);--now-button-iconic--bare_primary--color:RGB($now-color--text-primary);flex:0 0 auto;height:40px;margin:calc(.5rem*var(--na-ss-rem-multiplier)) calc(.75rem*var(--na-ss-rem-multiplier)) calc(.5rem*var(--na-ss-rem-multiplier)) 0;overflow:hidden;width:180px}.sn-window-manager-toolbar .window-button button{border:0;border-radius:var(--now-actionable--border-radius,0);color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28));cursor:pointer;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-weight:var(--now-actionable--font-weight,normal);height:40px;margin:0;max-width:100%;overflow:hidden;padding:0;padding-inline-end:calc(1rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier));text-align:start;width:100%}.sn-window-manager-toolbar .window-button button .button-icons{display:grid;gap:calc(.25rem*var(--na-ss-rem-multiplier));grid-auto-columns:calc(1rem*var(--na-ss-rem-multiplier));grid-auto-flow:column}.sn-window-manager-toolbar .window-button button .button-content{align-items:center;display:grid;grid-template-columns:min-content 1fr min-content;justify-content:start}.sn-window-manager-toolbar .window-button button .label-text{font-size:14px;font-style:normal;font-weight:600;line-height:16px}.sn-window-manager-toolbar .window-button button .label-text,.sn-window-manager-toolbar .window-button button .subtext{overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}.sn-window-manager-toolbar .window-button button .label-text.has-icon,.sn-window-manager-toolbar .window-button button .subtext.has-icon{padding-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.sn-window-manager-toolbar .window-button button .button-label{overflow:hidden}.sn-window-manager-toolbar .window-button button .subtext{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:12px;font-weight:400;line-height:14px}.sn-window-manager-toolbar .window-button button .window-close-button{padding-inline-start:calc(.25rem*var(--na-ss-rem-multiplier))}.sn-window-manager-toolbar .window-button button:hover{box-shadow:0 calc(.125rem*var(--na-ss-rem-multiplier)) calc(.25rem*var(--na-ss-rem-multiplier)) 0 RGB(56,56,56,var(--now-opacity--less,.25))}.sn-window-manager-toolbar .window-button button:focus::-moz-focus-inner{border-style:none}.sn-window-manager-toolbar .window-button button:focus:focus{box-shadow:inset 0 0 0 calc(.125rem*var(--na-ss-rem-multiplier)) RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 calc(.1875rem*var(--na-ss-rem-multiplier)) RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-window-manager-toolbar .window-button button:focus:focus{outline:1px solid highlight}}.sn-window-manager-toolbar .window-button button.-primary{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-window-manager-toolbar .window-button button.-primary:hover{background-color:RGB(var(--now-color_surface--brand-3,200,223,214))}.sn-window-manager-toolbar .window-button button.-primary:active{background-color:RGB(var(--now-color_surface--brand-4,183,212,201))}.sn-window-manager-toolbar .window-button button.-secondary{background-color:RGB(var(--now-color_surface--neutral-3,232,234,234))}.sn-window-manager-toolbar .window-button button.-tertiary{background-color:RGB(var(--now-button--tertiary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-button--tertiary--background-color-alpha,0));border-color:RGB(var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148)),var(--now-button--tertiary--border-color-alpha,1));border-end-end-radius:var(--now-button--tertiary--border-end-end-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-end-start-radius:var(--now-button--tertiary--border-end-start-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-start-end-radius:var(--now-button--tertiary--border-start-end-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-start-start-radius:var(--now-button--tertiary--border-start-start-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--tertiary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))),var(--now-button--tertiary--color-alpha,1))}.sn-window-manager-toolbar .window-button button.-tertiary .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button--tertiary--background-color--hover,var(--now-color--neutral-2,228,230,231)),var(--now-button--tertiary--background-color-alpha--hover,1));border-color:RGB(var(--now-button--tertiary--border-color--hover,var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148))),var(--now-button--tertiary--border-color-alpha--hover,var(--now-button--tertiary--border-color-alpha,1)));color:RGB(var(--now-button--tertiary--color--hover,var(--now-color--secondary-2,1,89,107)),var(--now-button--tertiary--color-alpha--hover,var(--now-button--tertiary--color-alpha,1)))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--hover,var(--now-button--tertiary--color--hover,var(--now-color--secondary-2,1,89,107))))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):active{background-color:RGB(var(--now-button--tertiary--background-color--active,var(--now-color--neutral-5,172,180,181)),var(--now-button--tertiary--background-color-alpha--active,1));border-color:RGB(var(--now-button--tertiary--border-color--active,var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148))),var(--now-button--tertiary--border-color-alpha--active,var(--now-button--tertiary--border-color-alpha,1)));color:RGB(var(--now-button--tertiary--color--active,var(--now-color--secondary-3,1,60,71)),var(--now-button--tertiary--color-alpha--active,var(--now-button--tertiary--color-alpha,1)))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--active,var(--now-button--tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}.sn-window-manager-toolbar .window-button button.-tertiary.is-disabled{opacity:var(--now-button--tertiary--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.sn-window-manager-toolbar .window-button.overflow{flex:0 0 auto;margin-inline-end:0;min-width:48px;position:relative;width:auto;z-index:1}.sn-window-manager-toolbar .window-button.overflow button{align-items:center;display:flex;justify-content:center;min-width:48px;padding-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(.75rem*var(--na-ss-rem-multiplier));text-align:center;width:auto}.sn-window-manager-toolbar .window-button.overflow button .button-content,.sn-window-manager-toolbar .window-button.overflow button .button-label{align-items:center;display:flex;justify-content:center;width:100%}.sn-window-manager-toolbar .window-button.overflow button .button-label .label-text{text-align:center}.sn-window-manager-toolbar .window-button:last-child{margin-inline-end:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-color_text--primary:#000}.debug-panel{background-color:#fff;background:radial-gradient(circle at top,#fff,#bbb);color:#000;display:flex;flex-direction:column;height:100%}.debug-panel h1,.debug-panel h2,.debug-panel h3{margin:0;padding:0 0 0 10px}.debug-panel .button-panel{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin:0 0 10px 0}.debug-panel.side-docked .debug-controls{height:235px}.debug-panel .debug-controls{flex-grow:0;height:227px;overflow:hidden;overflow:auto;transition:height .15s ease-in-out}.debug-panel .debug-controls.hidden{height:0}.debug-panel .debug-windows-list{contain:strict;flex-grow:1}.debug-panel .debug-windows-list .window-list{display:grid;height:calc(100% - 24px);overflow:auto}.debug-panel .debug-windows-list .window-list ul{background-color:hsla(0,0%,100%,.5);border-radius:3px;margin:10px auto;padding:0 5px;width:75%}.debug-panel .debug-windows-list .window-list ul li:nth-child(2n){background-color:#d3d3d3}.debug-panel .debug-windows-list .window-list ul li{align-items:center;display:grid;grid-template-columns:auto min-content}.debug-panel .debug-windows-list .window-list ul li:hover{background-color:hsla(0,0%,100%,.8)}.debug-panel .debug-windows-list .window-list ul li .window-button-panel{--now-button_icon--primary--color:0,0,0;display:flex;flex-direction:row}.debug-panel.bottom-docked{display:grid;grid-template-columns:30% auto;transition:all .15s ease-in-out}.debug-panel.bottom-docked h3{text-align:center}.debug-panel.bottom-docked .button-panel{justify-content:center}.debug-panel.bottom-docked.hide-buttons{grid-template-columns:0 auto}.debug-panel.bottom-docked .debug-controls,.debug-panel.bottom-docked .debug-controls.hidden{height:267px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1);--standard-dock-width:calc(20rem*var(--na-ss-rem-multiplier));--standard-dock-height:calc(20rem*var(--na-ss-rem-multiplier));--left-dock-width:var(--standard-dock-width);--right-dock-width:var(--standard-dock-width);--bottom-dock-height:var(--standard-dock-height);height:100vh;pointer-events:none;width:100%}:host now-modal{pointer-events:all}div[id*=modal]{background-color:RGB(var(--now-color--neutral-21,0,0,0),.5);height:100vh;left:0;opacity:0;pointer-events:all;position:fixed;top:0;transition:opacity .25s ease-in-out;width:100vw;z-index:3999}div[id*=modal].modal-visible{opacity:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-toggle_label--color:RGB($sn-window_header_label--primary--color);--standard-dock-width:calc(20rem*var(--na-ss-rem-multiplier));--standard-dock-height:calc(20rem*var(--na-ss-rem-multiplier));--left-dock-width:var(--standard-dock-width);--right-dock-width:var(--standard-dock-width);--bottom-dock-height:var(--standard-dock-height);--transition-timing:250ms;--transition-timing-slow:500ms;--transition-timing-fast:50ms;--transition-timing-delay:150ms;--transition-curve:cubic-bezier(0.4,0,1,1);--transition-curve-y:cubic-bezier(0,0,0.6,1);--transition-curve-y-negative:cubic-bezier(1,0.2,1,1);--transition-curve-shift:cubic-bezier(0.85,0,0.14,1);pointer-events:all}:host .now-button-iconic.is-bare.-primary{padding:10px}.window-button-panel{align-items:center;display:flex;flex-direction:row;justify-content:space-between}now-toggle{color:RGB(var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255)))}:host(.disable-animation) .sn-window-wrapper{transition:none!important}.docked-window{-webkit-user-select:text;user-select:text}.docked-window .header{align-items:center;background-color:RGB(var(--sn-window_header--primary--background-color,var(--now-color_chrome--brand-10,21,32,32)));color:RGB(var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-columns:auto max-content max-content;padding:0 calc(1rem*var(--na-ss-rem-multiplier))}.docked-window .header .heading-label{display:inline;line-height:normal;vertical-align:middle}.docked-window .header .heading-label.-sm{font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:400}.docked-window .header .heading-label.-md{font-size:calc(1rem*var(--na-ss-rem-multiplier));font-weight:600}.docked-window .header.primary{--now-button_icon--primary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button--bare_primary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color-alpha--hover:1;--now-button--bare_primary--background-color-alpha--active:1;--now-dropdown_icon--secondary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color-alpha--hover:1;--now-dropdown--secondary--background-color-alpha--active:1;--now-button-iconic--bare_tertiary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--hover:1;--now-button-iconic--bare_tertiary--background-color-alpha--active:1}.docked-window .header.initial{--now-button_icon--primary--color:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-button_icon--primary--color--hover:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-button_icon--primary--color--active:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--now-modeless-dialog_actions--initial--background-color--hover,var(--now-color--neutral-15,44,53,55));--now-dropdown--secondary--background-color--active:var(--now-modeless-dialog_actions--initial--background-color--active,var(--now-color--neutral-15,44,53,55));--now-dropdown--secondary--background-color-alpha--hover:0.1;--now-dropdown--secondary--background-color-alpha--active:0.1;--now-button--bare_primary--background-color-alpha--hover:0.1;--now-button--bare_primary--background-color-alpha--active:0.1;--now-button--bare_primary--background-color--hover:var(--now-modeless-dialog_actions--initial--background-color--hover,var(--now-color--neutral-15,44,53,55));--now-button--bare_primary--background-color--active:var(--now-modeless-dialog_actions--initial--background-color--active,var(--now-color--neutral-15,44,53,55));background-color:RGB(var(--sn-window_header--initial--background-color,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.docked-window .header.initial:not(.hide-divider){border-bottom:solid 1px RGB(var(--now-modeless-dialog--border-color,var(--now-color--neutral-3,209,214,214)))}.docked-window .header.secondary{--now-button_icon--primary--color:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--hover:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--active:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--sn-window-header_button--secondary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color--active:var(--sn-window-header_button--secondary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color-alpha--hover:1;--now-dropdown--secondary--background-color-alpha--active:1;--now-button--bare_primary--background-color--hover:var(--sn-window-header_button--secondary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color--active:var(--sn-window-header_button--secondary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color-alpha--hover:1;--now-button--bare_primary--background-color-alpha--active:1;background-color:RGB(var(--sn-window_header--secondary--background-color,var(--now-color_chrome--brand-5,41,63,64)));color:RGB(var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255)))}.docked-window .header.aiex{--now-button_icon--primary--color:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button--bare_primary--color:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button_icon--primary--color--hover:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button_icon--primary--color--active:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));background-color:transparent;color:rgb(var(--sn-window_header_label--aiex--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.docked-window .header.aiex now-icon{color:rgb(var(--sn-window_header_icon--aiex--color,var(--now-color--secondary-1,1,119,142)))}.docked-window .header.aiex .heading-label{font-weight:700}.docked-window .header .now-animation-container{display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.docked-window .header now-animation{block-size:calc(2rem*var(--na-ss-rem-multiplier));inline-size:calc(2rem*var(--na-ss-rem-multiplier))}.docked-window{display:flex;flex-direction:column;height:100%}.docked-window .header{flex-grow:0;height:52px}.docked-window div[slot=content]{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);flex-grow:1;height:calc(100% - 52px)}.docked-window div[slot=footer]{background-color:RGBA(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),1)}.docked-window .heading-container{align-items:center}.docked-window .heading-container now-icon{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.docked-window .heading-container now-icon.unread-indicator{color:#00b5ff;transform:scale(.5)}.docked-window .heading-container .privacy-indicator{margin:0 calc(.5rem*var(--na-ss-rem-multiplier))}.floating,.modal{box-shadow:0 calc(1rem*var(--na-ss-rem-multiplier)) calc(1.5rem*var(--na-ss-rem-multiplier)) 0 RGB(56,56,56,var(--now-opacity--less,.25))}.floating .header,.modal .header{border-radius:var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)*var(--na-ss-rem-multiplier, 1))) var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)*var(--na-ss-rem-multiplier, 1))) 0 0}.sn-window-wrapper{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);border:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))) solid 1px;display:flex;flex-direction:column;opacity:1;position:fixed;z-index:2000}.sn-window-wrapper,.sn-window-wrapper:not(.is-animating){transition:transform var(--transition-timing) var(--transition-curve),opacity var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.fit-content{height:auto!important;max-height:calc(100vh - 40px);max-width:calc(100vw - 40px);min-height:200px;min-width:320px;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window{display:inline-block;height:auto!important;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window [slot=content]{display:block;height:auto!important;max-width:100%;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window [slot=content]>*{max-width:100%;width:auto!important}.sn-window-wrapper.auto-resize .docked-window{display:contents}.sn-window-wrapper.auto-resize .docked-window [slot=content]{display:flex;flex-grow:1;flex-shrink:1;min-block-size:0}.sn-window-wrapper.use-flex .docked-window{display:contents}.sn-window-wrapper.use-flex .docked-window div[slot=content]{display:flex}.sn-window-wrapper.is-animating{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) var(--transition-timing-delay),right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper .header{flex-grow:0;height:var(--sn-window-header-height,52px);line-height:52px}.sn-window-wrapper .header .heading-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-window-wrapper .header .heading-label{vertical-align:middle}.sn-window-wrapper.can-drag .header{cursor:move}.sn-window-wrapper.active{opacity:1;z-index:2002}.sn-window-wrapper.active now-modeless-dialog{--now-opacity--less:0.25}.sn-window-wrapper.closed{transform:scale(.000001)}.sn-window-wrapper.minimized{transform:scale(.25)}.sn-window-wrapper.hidden{visibility:hidden}.sn-window-wrapper.closed,.sn-window-wrapper.minimized{opacity:0;pointer-events:none;transform-origin:top right!important}.sn-window-wrapper.close-to-top{transform:scale(.000001);transform-origin:top left}.sn-window-wrapper.transition-docked-to-docked,.sn-window-wrapper.transition-docked-to-floating,.sn-window-wrapper.transition-docked-to-modal,.sn-window-wrapper.transition-floating-to-docked,.sn-window-wrapper.transition-floating-to-modal,.sn-window-wrapper.transition-modal-to-docked,.sn-window-wrapper.transition-modal-to-floating{transition:border-radius var(--transition-timing-slow) var(--transition-curve-shift),bottom var(--transition-timing-slow) var(--transition-curve-shift),height var(--transition-timing-slow) var(--transition-curve-shift),left var(--transition-timing-slow) var(--transition-curve-shift),opacity var(--transition-timing) var(--transition-curve-shift),right var(--transition-timing-slow) var(--transition-curve-shift),top var(--transition-timing-slow) var(--transition-curve-shift),transform var(--transition-timing-slow) var(--transition-curve-shift),width var(--transition-timing-slow) var(--transition-curve-shift)}.sn-window-wrapper.transition-minimized-to-floating{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) .2s,right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve-y-negative),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.close-to-top,.sn-window-wrapper.transition-floating-to-minimized,.sn-window-wrapper.transition-modal-to-minimized{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) var(--transition-timing-delay),right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve-y),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.transition-floating-to-modal,.sn-window-wrapper.transition-modal-to-floating{transform-origin:center center!important}.sn-window-wrapper.transition-floating-to-minimized,.sn-window-wrapper.transition-minimized-to-docked,.sn-window-wrapper.transition-minimized-to-floating,.sn-window-wrapper.transition-minimized-to-modal,.sn-window-wrapper.transition-modal-to-minimized{transform-origin:top right!important}.sn-window-wrapper.floating{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),0)}.sn-window-wrapper.floating,.sn-window-wrapper.modal{border-radius:var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)));overflow:hidden}.sn-window-wrapper.modal{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);border:solid 1px RGB(var(--now-modeless-dialog--border-color,var(--now-color--neutral-3,209,214,214)));z-index:3999!important}.sn-window-wrapper.docked-right{border-width:0 0 0 1px}.sn-window-wrapper.docked-left{border-width:0 1px 0 0}.sn-window-wrapper.docked-bottom{border-width:1px 0 0 0}.sn-window-wrapper.docked-bottom.left-dock-open{left:320px;width:calc(100% - 320px)}.sn-window-wrapper.docked-bottom.right-dock-open{right:320px;width:calc(100% - 320px)}.sn-window-wrapper.docked-bottom.left-dock-open.right-dock-open{width:calc(100% - 640px)}.sn-window-wrapper.fullscreen-view{border-radius:0;bottom:0;left:0;position:fixed;right:0;top:0}.sn-window-wrapper.aiex{border-left:1px solid rgb(var(--sn-window--aiex--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));container-type:inline-size}.sn-window-wrapper.aiex div[slot=content]{background:transparent}.sn-window-wrapper.aiex .docked-window{background:linear-gradient(180deg,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.8) 0,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.25) 50%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.1) 100%),rgb(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}@container (min-width: 820px){.sn-window-wrapper.aiex .docked-window{background:linear-gradient(110deg,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.65) .36%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.5) 50.18%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.25) 100%),rgb(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important}}.sn-window-wrapper.aiex.floating,.sn-window-wrapper.aiex.modal{border:1px solid rgb(var(--sn-window--aiex--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:var(--sn-window--aiex--border-radius,calc(.75rem*var(--na-ss-rem-multiplier)));box-shadow:0 12px 24px 0 rgba(var(--sn-window--aiex--shadow-color,56,56,56),.25)}.accessibility-drag-button{block-size:1px;inline-size:1px;opacity:0;overflow:hidden}.accessibility-drag-button:focus{block-size:auto;inline-size:auto;opacity:1;overflow:initial}.sn-window-manager-modal-overlay{background-color:RGB(var(--now-color--neutral-21,0,0,0),.5);height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:3999}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-overflow-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./debug-styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","// private events called from within window manager\nexport const CREATE_WINDOW = 'PRIVATE#CREATE_WINDOW';\nexport const CLOSE_WINDOW = 'PRIVATE#CLOSE_WINDOW';\nexport const OPEN_WINDOW = 'PRIVATE#OPEN_WINDOW';\nexport const OPEN_DEBUG_WINDOW = 'PRIVATE#OPEN_DEBUG_WINDOW';\nexport const BROADCAST_MESSAGE = 'PRIVATE#BROADCAST_MESSAGE';\nexport const RELAY_MESSAGE = 'PRIVATE#RELAY_MESSAGE';\nexport const FOCUS_WINDOW = 'PRIVATE#FOCUS_WINDOW';\nexport const SET_HEADER_BUTTONS = 'PRIVATE#SET_HEADER_BUTTONS';\nexport const CHECK_WINDOW_LOCATIONS = 'PRIVATE#CHECK_WINDOW_LOCATIONS';\nexport const TOGGLE_DOCK = 'PRIVATE#TOGGLE_DOCK_STATE';\nexport const TOGGLE_MODAL_STATE = 'PRIVATE#TOGGLE_MODAL_STATE';\nexport const TOGGLE_MINIMIZE_STATE = 'PRIVATE#TOGGLE_MINIMIZE_STATE';\nexport const CLOSE_DOCK = 'PRIVATE#CLOSE_DOCK';\nexport const UPDATE_BODY_CLASS_NAMES = 'PRIVATE#UPDATE_BODY_CLASS_NAMES';\nexport const SCREEN_CHANGED = 'PRIVATE#SCREEN_CHANGED';\nexport const SET_DIRTY_STATE = 'PRIVATE#SET_DIRTY_STATE';\nexport const SET_WINDOW_PROPERTIES = 'PRIVATE#SET_WINDOW_PROPERTIES';\nexport const SN_WINDOW_DIALOG_CLOSE_CONFIRMED =\n\t'PRIVATE#SN_WINDOW_DIALOG_CLOSE_CONFIRMED';\nexport const UPDATE_BOTTOM_TOOLBAR_ELEMENTS =\n\t'PRIVATE#UPDATE_BOTTOM_TOOLBAR_ELEMENTS';\nexport const TOGGLE_OVERFLOW_POPOVER = 'PRIVATE#TOGGLE_OVERFLOW_POPOVER';\nexport const SET_OVERFLOW_BUTTON_REF = 'PRIVATE#SET_OVERFLOW_BUTTON_REF';\nexport const SN_WINDOW_DIALOG_CLOSE_CANCELED =\n\t'PRIVATE#SN_WINDOW_DIALOG_CLOSE_CANCELED';\nexport const UPDATE_MINIMIZED_TARGET_POSITION =\n\t'PRIVATE#UPDATE_MINIMIZED_TARGET_POSITION';\nexport const FOCUS_BOTTOM_TOOLBAR_REQUESTED =\n\t'PRIVATE#FOCUS_BOTTOM_TOOLBAR_REQUESTED';\n\n// generic publicly available events\nexport const WM_CREATE_WINDOW = 'SN_WINDOW_MANAGER#CREATE_WINDOW';\nexport const WM_CLOSE_WINDOW = 'SN_WINDOW_MANAGER#CLOSE_WINDOW';\nexport const WM_OPEN_WINDOW = 'SN_WINDOW_MANAGER#OPEN_WINDOW';\nexport const WM_CLOSE_DOCK = 'SN_WINDOW_MANAGER#CLOSE_DOCK';\nexport const WM_TOGGLE_DOCK = 'SN_WINDOW_MANAGER#TOGGLE_DOCK';\nexport const WM_TOGGLE_MODAL = 'SN_WINDOW_MANAGER#TOGGLE_MODAL';\nexport const WM_TOGGLE_MINIMIZED = 'SN_WINDOW_MANAGER#TOGGLE_MINIMIZED';\nexport const WM_RELAY_MESSAGE = 'SN_WINDOW_MANAGER#RELAY_MESSAGE';\nexport const WM_FOCUS_WINDOW = 'SN_WINDOW_MANAGER#FOCUS_WINDOW';\nexport const WM_SET_HEADER_BUTTONS = 'SN_WINDOW_MANAGER#SET_HEADER_BUTTONS';\nexport const WM_SET_DIRTY_STATE = 'SN_WINDOW_MANAGER#SET_DIRTY_STATE';\nexport const WM_SET_WINDOW_PROPERTIES =\n\t'SN_WINDOW_MANAGER#SET_WINDOW_PROPERTIES';\n\n// UIB<>UXF specific events\nexport const UXF_CREATE_MODELESS_WINDOW = 'UXF#CREATE_MODELESS_WINDOW';\nexport const UXF_SHOW_MODELESS_WINDOW = 'UXF#SHOW_MODELESS_WINDOW';\nexport const UXF_CLOSE_MODELESS_WINDOW = 'UXF#CLOSE_MODELESS_WINDOW';\nexport const UXF_MINIMIZE_MODELESS_WINDOW = 'UXF#MINIMIZE_MODELESS_WINDOW';\nexport const UXF_DIRTY_MODELESS_WINDOW = 'UXF#DIRTY_MODELESS_WINDOW';\nexport const UXF_UPDATE_MODELESS_WINDOW = 'UXF#UPDATE_MODELESS_WINDOW';\nexport const UXF_SELECT_MODELESS_WINDOW = 'UXF#SELECT_MODELESS_WINDOW';\nexport const UXF_WM_SCREEN_SELECTED = 'UXF#WM_SCREEN_SELECTED';\nexport const UXF_CLOSE_MODELESS_WINDOW_ON_STAGE =\n\t'UXF#CLOSE_MODELESS_WINDOW_ON_STAGE';\n\n// header button events sent from within a UIB or workspace page\nexport const UXF_FOCUS_WINDOW = 'UXF#FOCUS_WINDOW';\nexport const UXF_CLOSE_DOCK = 'UXF#CLOSE_DOCK';\nexport const UXF_TOGGLE_DOCK = 'UXF#TOGGLE_DOCK';\nexport const UXF_TOGGLE_MODAL = 'UXF#TOGGLE_MODAL_STATE';\nexport const UXF_TOGGLE_MINIMIZED = 'UXF#TOGGLE_MINIMIZED_STATE';\nexport const UXF_CLOSE_WINDOW = 'UXF#CLOSE_WINDOW';\nexport const UXF_OPEN_WINDOW = 'UXF#OPEN_WINDOW';\nexport const UXF_WINDOW_FOCUSED = 'UXF#WINDOW_FOCUSED';\n\n// AI Engagement actions\nexport const AIEL_NAVIGATION_REQUESTED = 'AIEL_NAVIGATION_REQUESTED';\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\n// Sidebar specific events\nexport const SIDEBAR_UNREAD_MESSAGE = 'SIDEBAR#UNREAD_MESSAGE';\nexport const SET_SIDEBAR_CHAT_PRIVATE = 'SIDEBAR#CHAT_PRIVATE';\n","export const clampDialogPosition = ({dialogLocation, dialogSize}) => {\n\tconst {left, top} = normalizeDialogLocation(dialogLocation, dialogSize);\n\tconst {width, height} = dialogSize;\n\n\t// Get viewport dimensions\n\tconst viewportWidth = window.innerWidth;\n\tconst viewportHeight = window.innerHeight;\n\n\t// Always resize to fit available space when needed\n\tconst clampedWidth = Math.min(width, viewportWidth);\n\tconst clampedHeight = Math.min(height, viewportHeight);\n\n\t// Calculate the maximum valid positions\n\tconst maxLeft = viewportWidth - clampedWidth;\n\tconst maxTop = viewportHeight - clampedHeight;\n\n\t// Ensure the dialog stays in bounds\n\tconst newLeft = Math.max(0, Math.min(left, maxLeft));\n\tconst newTop = Math.max(0, Math.min(top, maxTop));\n\n\treturn {\n\t\tleft: newLeft,\n\t\tright: viewportWidth - newLeft - clampedWidth,\n\t\ttop: newTop,\n\t\tbottom: viewportHeight - newTop - clampedHeight,\n\t\twidth: clampedWidth,\n\t\theight: clampedHeight,\n\t};\n};\n\n// Check if the window is in bounds\nexport const isWindowInBounds = (\n\tdialogSize,\n\tdialogLocation,\n\tviewportWidth,\n\tviewportHeight,\n) => {\n\tconst normalizedDialogLocation = normalizeDialogLocation(\n\t\tdialogLocation,\n\t\tdialogSize,\n\t);\n\n\tconst windowLocationValid =\n\t\tnormalizedDialogLocation.left >= 0 && normalizedDialogLocation.top >= 0;\n\tconst windowLocationInBounds =\n\t\tnormalizedDialogLocation.left + dialogSize.width <= viewportWidth &&\n\t\tnormalizedDialogLocation.top + dialogSize.height <= viewportHeight;\n\n\treturn windowLocationValid && windowLocationInBounds;\n};\n\n// Normalize the windows location so we don't have to worry about comparing different coordinate types for different windows\nexport const normalizeDialogLocation = (\n\tdialogLocation,\n\tdialogSize,\n\tcoordinateSystem = 'TL',\n) => {\n\tconst {top, left, bottom, right} = dialogLocation;\n\tconst {width, height} = dialogSize;\n\n\tswitch (coordinateSystem) {\n\t\tcase 'TL':\n\t\t\treturn {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top}\n\t\t\t\t\t: {top: window.innerHeight - bottom - height}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left}\n\t\t\t\t\t: {left: window.innerWidth - right - width}),\n\t\t\t};\n\t\tcase 'BR':\n\t\t\treturn {\n\t\t\t\t...(bottom !== undefined\n\t\t\t\t\t? {bottom}\n\t\t\t\t\t: {bottom: window.innerHeight - top - height}),\n\t\t\t\t...(right !== undefined\n\t\t\t\t\t? {right}\n\t\t\t\t\t: {right: window.innerWidth - left - width}),\n\t\t\t};\n\t\tdefault:\n\t\t\treturn dialogLocation;\n\t}\n};\n\n// Check if two windows are overlapping\nexport const areWindowsOverlapping = (window1, window2) => {\n\t// Normalize the windows locations to use top/left\n\tconst normalizedWindow1 = normalizeDialogLocation(\n\t\twindow1.dialogLocation,\n\t\twindow1.dialogSize,\n\t);\n\tconst normalizedWindow2 = normalizeDialogLocation(\n\t\twindow2.dialogLocation,\n\t\twindow2.dialogSize,\n\t);\n\n\t// Check if both windows are open and their normalized positions are the same\n\tconst windowsAreOpen = window1.isOpen === true && window2.isOpen === true;\n\tconst windowsAreInSameLocation =\n\t\tnormalizedWindow1.left === normalizedWindow2.left &&\n\t\tnormalizedWindow1.top === normalizedWindow2.top;\n\n\treturn windowsAreOpen && windowsAreInSameLocation;\n};\n\nexport function findAvailableDialogPosition(\n\tinitialPosition,\n\twindowsList,\n\tdialogSize,\n\tbottomDockHeight = 0,\n\tnewWindowConfig = {},\n) {\n\tlet {top, left} = normalizeDialogLocation(initialPosition, dialogSize);\n\tconst {width, height} = dialogSize;\n\tconst offset = 52;\n\tconst maxLeft = window.innerWidth - width;\n\tconst maxTop = window.innerHeight - height - bottomDockHeight;\n\tconst newWindowsList = [...windowsList, newWindowConfig];\n\n\t//Start positions in case of wrap around\n\tlet startLeft = 0,\n\t\tstartTop = 0;\n\n\tlet isOccupied = true;\n\n\twhile (isOccupied) {\n\t\tconst clampedLeft = Math.max(0, Math.min(left, maxLeft));\n\t\tconst clampedTop = Math.max(0, Math.min(top, maxTop));\n\n\t\tisOccupied = newWindowsList.some(\n\t\t\t(window) =>\n\t\t\t\twindow.isOpen &&\n\t\t\t\twindow.dialogLocation.left === clampedLeft &&\n\t\t\t\twindow.dialogLocation.top === clampedTop,\n\t\t);\n\n\t\tif (!isOccupied) {\n\t\t\treturn {top: clampedTop, left: clampedLeft};\n\t\t}\n\n\t\tleft += offset;\n\t\ttop += offset;\n\n\t\t// Wrap around if bounds exceeded\n\t\tif (left > maxLeft && startLeft + offset <= maxLeft) {\n\t\t\tstartLeft += offset;\n\t\t\tleft = startLeft;\n\t\t}\n\n\t\tif (top > maxTop && startTop + offset <= maxTop) {\n\t\t\tstartTop += offset;\n\t\t\ttop = startTop;\n\t\t}\n\t}\n\treturn {\n\t\ttop: Math.max(0, Math.min(initialPosition.top, maxTop)),\n\t\tleft: Math.max(0, Math.min(initialPosition.left, maxLeft)),\n\t};\n}\n\n/**\n * Adjusts the dialog location of a window to account for the bottom dock height.\n * @param {Object} newWindowConfig - The window configuration object.\n * @param {number} bottomDockHeight - The height of the bottom dock, the div offsetHeight.\n * @returns {Object} The normalized adjusted dialog location: top & bottom.\n */\nexport const updateDialogLocationBottomDock = (\n\tnewWindowConfig,\n\tbottomDockHeight,\n) => {\n\tconst dialogHeight = newWindowConfig.autoResizableConfig\n\t\t.enableAutoResizableHeight\n\t\t? newWindowConfig.autoResizableConfig.autoResizableMinHeight\n\t\t: newWindowConfig.dialogSize.height;\n\n\tnewWindowConfig.dialogSize.height = dialogHeight;\n\n\tconst normalizedLocation = normalizeDialogLocation(\n\t\tnewWindowConfig.dialogLocation,\n\t\tnewWindowConfig.dialogSize,\n\t);\n\n\tif (\n\t\twindow.innerHeight -\n\t\t\tnormalizedLocation.top -\n\t\t\tnewWindowConfig.dialogSize.height <\n\t\tbottomDockHeight\n\t) {\n\t\tif (newWindowConfig.autoResizableConfig.enableAutoResizableHeight) {\n\t\t\treturn {\n\t\t\t\t...newWindowConfig.dialogLocation,\n\t\t\t\tbottom: newWindowConfig.offset[0] + bottomDockHeight,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t...normalizedLocation,\n\t\t\t\ttop:\n\t\t\t\t\twindow.innerHeight -\n\t\t\t\t\tnewWindowConfig.dialogSize.height -\n\t\t\t\t\tnewWindowConfig.offset[0] -\n\t\t\t\t\tbottomDockHeight,\n\t\t\t};\n\t\t}\n\t} else {\n\t\treturn newWindowConfig.dialogLocation;\n\t}\n};\n\n/**\n * Focus an element with retry using requestAnimationFrame\n * Useful when element may not be immediately ready for focus\n * @param {HTMLElement} element - Element to focus\n * @param {number} maxRetries - Maximum number of retry attempts\n * @returns {Promise<boolean>} True if focus succeeded, false otherwise\n */\nexport const focusElementWithRetry = (element, maxRetries = 3) =>\n\tnew Promise((resolve) => {\n\t\tif (!element) {\n\t\t\tresolve(false);\n\t\t\treturn;\n\t\t}\n\n\t\tlet attempts = 0;\n\n\t\tconst attemptFocus = () => {\n\t\t\tattempts++;\n\n\t\t\ttry {\n\t\t\t\telement.focus();\n\t\t\t\t// If focus() doesn't throw, assume success\n\t\t\t\tresolve(true);\n\t\t\t} catch (_error) {\n\t\t\t\t// Retry if we haven't exceeded max attempts\n\t\t\t\tif (attempts < maxRetries) {\n\t\t\t\t\trequestAnimationFrame(attemptFocus);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trequestAnimationFrame(attemptFocus);\n\t});\n\nexport const isDeepEqual = (object1, object2) => {\n\tconst objKeys1 = Object.keys(object1);\n\tconst objKeys2 = Object.keys(object2);\n\n\tif (objKeys1.length !== objKeys2.length) {\n\t\treturn false;\n\t}\n\n\tfor (const key of objKeys1) {\n\t\tconst value1 = object1[key];\n\t\tconst value2 = object2[key];\n\n\t\tconst isObjects = isObject(value1) && isObject(value2);\n\t\tconst isFunctions = isFunction(value1) && isFunction(value2);\n\n\t\tif (\n\t\t\t(isObjects && !isDeepEqual(value1, value2)) ||\n\t\t\t(!isObjects && !isFunctions && value1 !== value2)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nconst isObject = (object) => object != null && typeof object === 'object';\n\nconst isFunction = (object) => object != null && typeof object === 'function';\n","import {normalizeDialogLocation} from '../../../sn-window-manager/utilities/helpers';\n\nexport const deepSearchElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) {\n\t\t\treturn ele;\n\t\t}\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) {\n\t\t\tqueue.push(topShadow);\n\t\t}\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) {\n\t\t\t\tqueue.push(allSearched[i].shadowRoot);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const keepInBoundary = (\n\tcontainer,\n\tboundaryElement,\n\ttoolBar,\n\tdialogLocation,\n\tstrict = false,\n) => {\n\tconst WINDOW_OFFSET = 0;\n\tconst offset = strict ? WINDOW_OFFSET : 0;\n\tconst minSpacing = 0;\n\tconst {top, left} = dialogLocation;\n\n\tif (typeof container === 'string') {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontainer = deepSearchElement(`.${container}`);\n\t}\n\n\tif (!(container && boundaryElement)) {\n\t\treturn;\n\t}\n\n\tconst draggableRect = container.getBoundingClientRect();\n\tconst boundaryRec = boundaryElement.getBoundingClientRect();\n\n\t// Check against top of viewport\n\tif (draggableRect.top < boundaryRec.top + offset) {\n\t\tif (top) {\n\t\t\tcontainer.style.top = `${boundaryRec.top + WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.bottom = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.bottom = `${window.innerHeight - draggableRect.height - (boundaryRec.top + WINDOW_OFFSET)}px`;\n\t\t\tcontainer.style.top = 'auto';\n\t\t}\n\t}\n\t// If bottomtoolbar is open, check against its top boundary\n\telse if (toolBar && toolBar.classList.contains('opened')) {\n\t\tconst toolBarRect = toolBar.getBoundingClientRect();\n\t\tif (draggableRect.bottom > toolBarRect.top) {\n\t\t\tconst newTop = toolBarRect.top - draggableRect.height - minSpacing;\n\t\t\tif (top) {\n\t\t\t\tcontainer.style.top = `${newTop}px`;\n\t\t\t\tcontainer.style.bottom = 'auto';\n\t\t\t} else {\n\t\t\t\tcontainer.style.bottom = `${window.innerHeight - draggableRect.height - newTop}px`;\n\t\t\t\tcontainer.style.top = 'auto';\n\t\t\t}\n\t\t}\n\t}\n\t// Otherwise, check against the bottom of the viewport\n\telse if (draggableRect.bottom + offset > boundaryRec.bottom) {\n\t\tif (top) {\n\t\t\tcontainer.style.top = `${window.innerHeight - draggableRect.height - WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.bottom = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.bottom = `${WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.top = 'auto';\n\t\t}\n\t}\n\n\tif (draggableRect.right + offset > boundaryRec.right) {\n\t\tif (left) {\n\t\t\tcontainer.style.left = `${window.innerWidth - draggableRect.width - WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.right = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.right = `${WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.left = 'auto';\n\t\t}\n\t} else if (draggableRect.left < boundaryRec.left + offset) {\n\t\tif (left) {\n\t\t\tcontainer.style.left = `${boundaryRec.left + WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.right = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.right = `${window.innerWidth - draggableRect.width - (boundaryRec.left + WINDOW_OFFSET)}px`;\n\t\t\tcontainer.style.left = 'auto';\n\t\t}\n\t}\n};\n\nexport const shiftTo = (\n\tcontainer,\n\tnewX,\n\tnewY,\n\tdialogSize,\n\tdialogLocation,\n\ttoolBar,\n) => {\n\tconst {width, height} = dialogSize;\n\tconst {top, left} = dialogLocation;\n\n\tif (top) {\n\t\tcontainer.style.top = `${newY}px`;\n\t\tcontainer.style.bottom = 'auto';\n\t} else {\n\t\tcontainer.style.bottom = `${window.innerHeight - height - newY}px`;\n\t\tcontainer.style.top = 'auto';\n\t}\n\tif (left) {\n\t\tcontainer.style.left = `${newX}px`;\n\t\tcontainer.style.right = 'auto';\n\t} else {\n\t\tcontainer.style.right = `${window.innerWidth - width - newX}px`;\n\t\tcontainer.style.left = 'auto';\n\t}\n\n\tkeepInBoundary(container, document.body, toolBar, dialogLocation);\n};\n\nexport const resetWindowSize = (container) => {\n\tconst containerBounds = container.getBoundingClientRect();\n\n\tcontainer.style.width = `${containerBounds.width}px`;\n\tcontainer.style.height = `${containerBounds.height}px`;\n};\n\nexport function matchCoordinateSystemToClosingLocation(coeffects) {\n\tconst {\n\t\tproperties: {\n\t\t\tdialogSize,\n\t\t\tdialogLocation,\n\t\t\twindowConfig: {closeToElement},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t...normalizeDialogLocation(\n\t\t\tdialogLocation,\n\t\t\tdialogSize,\n\t\t\tcloseToElement?.bottom !== undefined ? 'BR' : 'TL',\n\t\t),\n\t\tforceUpdate: true,\n\t});\n}\n\nexport const createHDSBoundsPayload = (\n\tbounds,\n\tmouseEvent = undefined,\n\tfullscreen = undefined,\n) => {\n\tconst payload = {\n\t\tpositions: {\n\t\t\tmouse: {\n\t\t\t\tX: mouseEvent\n\t\t\t\t\t? Math.floor(mouseEvent.clientX)\n\t\t\t\t\t: Math.floor(bounds.left + bounds.width / 2),\n\t\t\t\tY: mouseEvent\n\t\t\t\t\t? Math.floor(mouseEvent.clientY)\n\t\t\t\t\t: Math.floor(bounds.top + bounds.height / 2),\n\t\t\t},\n\t\t\toffset: {\n\t\t\t\tleft: Math.floor(bounds.left),\n\t\t\t\ttop: Math.floor(bounds.top),\n\t\t\t},\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: Math.floor(bounds.width),\n\t\t\theight: Math.floor(bounds.height),\n\t\t},\n\t};\n\tif (fullscreen !== undefined) {\n\t\tpayload.fullscreen = fullscreen;\n\t}\n\treturn payload;\n};\n\nexport const dispatchModelessDialogAction = ({\n\tcontentElement,\n\twindowConfig,\n\tactionName,\n\tpayload,\n\tbounds,\n\tdialogSize,\n\tdialogLocation,\n\tmouseEvent,\n\tisFullscreen,\n}) => {\n\tif (!contentElement?.dispatch) {\n\t\treturn;\n\t}\n\n\tif (bounds) {\n\t\tcontentElement.dispatch(\n\t\t\tactionName,\n\t\t\tcreateHDSBoundsPayload(bounds, mouseEvent, isFullscreen),\n\t\t);\n\t} else if (dialogSize && dialogLocation) {\n\t\tconst constructedBounds = {\n\t\t\tleft:\n\t\t\t\tdialogLocation.left ??\n\t\t\t\twindow.innerWidth - dialogLocation.right - dialogSize.width,\n\t\t\ttop:\n\t\t\t\tdialogLocation.top ??\n\t\t\t\twindow.innerHeight - dialogLocation.bottom - dialogSize.height,\n\t\t\twidth: dialogSize.width,\n\t\t\theight: dialogSize.height,\n\t\t};\n\t\tcontentElement.dispatch(\n\t\t\tactionName,\n\t\t\tcreateHDSBoundsPayload(constructedBounds, mouseEvent, isFullscreen),\n\t\t);\n\t} else {\n\t\tcontentElement.dispatch(actionName, payload);\n\t}\n};\n","import {Fragment, createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport {\n\tCLOSE_WINDOW,\n\tOPEN_WINDOW,\n\tTOGGLE_MINIMIZE_STATE,\n\tTOGGLE_MODAL_STATE,\n\tTOGGLE_DOCK,\n\tUXF_TOGGLE_DOCK,\n\tUXF_TOGGLE_MODAL,\n\tUXF_TOGGLE_MINIMIZED,\n\tUXF_CLOSE_WINDOW,\n\tUXF_OPEN_WINDOW,\n} from '../../sn-window-manager/utilities/actions';\nimport {matchCoordinateSystemToClosingLocation} from '../behaviors/utils/helpers';\nimport {\n\tKEY_MOVEMENT_STEP_AMOUNT,\n\tKEY_MOVEMENT_STEP_MULTIPLIER,\n} from '../behaviors/utils/keyboard-events';\n\nconst defaultButtonVariant = 'primary';\nconst touchEnhancedButtonSize = 'lg';\n\n// Only screens smaller than 421px will use touch enhanced buttons\nconst determineUseTouchEnhancedButtons = (coeffects) =>\n\tcoeffects?.properties?.browserDimensions?.width !== 0 &&\n\tcoeffects?.properties?.browserDimensions?.width < 421;\n\nexport const CustomHeaderButtonIconic = ({button, dispatch, coeffects}) => {\n\tlet ButtonComponent = null;\n\n\tif (button.type === 'element') {\n\t\treturn button.element;\n\t}\n\n\tswitch (button.type) {\n\t\tcase 'icon':\n\t\t\tButtonComponent = 'now-button-iconic';\n\t\t\tbreak;\n\t\tcase 'button':\n\t\t\tButtonComponent = 'now-button';\n\t\t\tbreak;\n\t\tcase 'toggle':\n\t\t\tButtonComponent = 'now-toggle';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tButtonComponent = button.type;\n\t}\n\n\treturn (\n\t\t<ButtonComponent\n\t\t\t{...button.properties}\n\t\t\tkey={button.id || null}\n\t\t\thide-padding\n\t\t\tsize={\n\t\t\t\tbutton.properties?.size ||\n\t\t\t\t(determineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: coeffects.windowConfig.size)\n\t\t\t}\n\t\t\tbare\n\t\t\ticon={button.properties?.icon}\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={button.properties?.tooltipContent || button.label}\n\t\t\tconfigAria={\n\t\t\t\tbutton.properties?.configAria || {\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': button.properties?.tooltipContent || button.label,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\ton-click={() => {\n\t\t\t\tif (button.properties?.onClick) {\n\t\t\t\t\tbutton.properties?.onClick(button);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(button.action, button);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tappend-to-payload={button.properties?.appendToPayload || null}\n\t\t/>\n\t);\n};\n\nexport const CloseButton = ({coeffects}) => {\n\tconst {windowConfig, dispatch, useTouchEnhancedButtons} = coeffects;\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_CLOSE_WINDOW\n\t\t: CLOSE_WINDOW;\n\n\tconst tooltipLabel = windowConfig.closeButtonTooltip\n\t\t? windowConfig.closeButtonTooltip\n\t\t: t('Close {0}', windowConfig.headingLabel);\n\n\treturn (\n\t\t<now-button\n\t\t\tid=\"close-window\"\n\t\t\thide-padding\n\t\t\ticon={windowConfig?.closeIcon}\n\t\t\tsize={\n\t\t\t\tuseTouchEnhancedButtons ? touchEnhancedButtonSize : windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\tappend-to-payload={{\n\t\t\t\tbuttonAction: windowConfig.isUXFWindow ? 'close_window' : 'close',\n\t\t\t\twindowConfig,\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\t// if this is a UXF window we need to listen for now_button click event in launcherBehavior\n\t\t\t\t// so we can pass along the meta info to the close window action\n\t\t\t\te.stopPropagation();\n\t\t\t\tif (!windowConfig.isUXFWindow) {\n\t\t\t\t\tmatchCoordinateSystemToClosingLocation(coeffects);\n\t\t\t\t\tdispatch(dispatchedEvent, {windowConfig, closedFromButton: true});\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const OpenButton = (coeffects) => {\n\tconst {windowConfig, dispatch, useTouchEnhancedButtons} = coeffects;\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_OPEN_WINDOW\n\t\t: OPEN_WINDOW;\n\n\tconst tooltipLabel = t('Open {0}', windowConfig.headingLabel);\n\n\treturn (\n\t\t<now-button\n\t\t\tid=\"open-window\"\n\t\t\thide-padding\n\t\t\ticon=\"plus-outline\"\n\t\t\tsize={\n\t\t\t\tuseTouchEnhancedButtons ? touchEnhancedButtonSize : windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const BottomDockButton = ({coeffects}) => {\n\tconst {windowConfig, windowsState, dispatch} = coeffects;\n\tlet buttonId, buttonIcon, tooltipLabel;\n\n\tif (windowsState?.bottomDockId === windowConfig?.id) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = 'panel-display-popout-outline';\n\t\ttooltipLabel = t('Undock {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonId = 'bottom-dock';\n\t\tbuttonIcon = 'panel-display-bottom-outline';\n\t\ttooltipLabel = t('Dock {0} To Bottom', windowConfig.headingLabel);\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig, dockLocation: 'bottom'});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const LeftDockButton = ({coeffects}) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tdispatch,\n\t\tproperties: {showHorizontalDockOptions},\n\t} = coeffects;\n\tconst isRTL = document.dir === 'rtl';\n\tconst isDocked =\n\t\twindowsState?.[isRTL ? 'rightDockId' : 'leftDockId'] === windowConfig?.id;\n\n\tlet buttonId, buttonIcon, dockTooltip;\n\n\tif (isDocked) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-fill`;\n\t\tdockTooltip = t('Unpin {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-outline`;\n\n\t\t// If we don't have multiple dock options, just specify that we are pinning\n\t\tif (!showHorizontalDockOptions) {\n\t\t\tbuttonId = 'pin';\n\t\t\tdockTooltip = t('Pin {0}', windowConfig.headingLabel);\n\t\t} else {\n\t\t\t// Case on which side we are pinning to based on RTL\n\t\t\tif (isRTL) {\n\t\t\t\tbuttonId = 'right-dock';\n\t\t\t\tdockTooltip = t('Pin {0} right', windowConfig.headingLabel);\n\t\t\t} else {\n\t\t\t\tbuttonId = 'left-dock';\n\t\t\t\tdockTooltip = t('Pin {0} left', windowConfig.headingLabel);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tclass={{\n\t\t\t\t'singular-dock-button': !showHorizontalDockOptions && !isDocked,\n\t\t\t\t'left-dock-button':\n\t\t\t\t\t(!showHorizontalDockOptions && isDocked) || showHorizontalDockOptions,\n\t\t\t}}\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={dockTooltip}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': dockTooltip,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\tdispatch(dispatchedEvent, {\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tdockLocation: isRTL ? 'right' : 'left',\n\t\t\t\t});\n\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const RightDockButton = ({coeffects}) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tdispatch,\n\t\tproperties: {showHorizontalDockOptions},\n\t} = coeffects;\n\tconst isRTL = document.dir === 'rtl';\n\tconst isDocked =\n\t\twindowsState[isRTL ? 'leftDockId' : 'rightDockId'] === windowConfig?.id;\n\n\tlet buttonId, buttonIcon, dockTooltip;\n\n\tif (isDocked) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-fill`;\n\t\tdockTooltip = t('Unpin {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-outline`;\n\n\t\t// If we don't have multiple dock options, just specify that we are pinning\n\t\tif (!showHorizontalDockOptions) {\n\t\t\tbuttonId = 'pin';\n\t\t\tdockTooltip = t('Pin {0}', windowConfig.headingLabel);\n\t\t} else {\n\t\t\t// Case on which side we are pinning to based on RTL\n\t\t\tif (isRTL) {\n\t\t\t\tbuttonId = 'left-dock';\n\t\t\t\tdockTooltip = t('Pin {0} left', windowConfig.headingLabel);\n\t\t\t} else {\n\t\t\t\tbuttonId = 'right-dock';\n\t\t\t\tdockTooltip = t('Pin {0} right', windowConfig.headingLabel);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tclass={{\n\t\t\t\t'singular-dock-button': !showHorizontalDockOptions && !isDocked,\n\t\t\t\t'right-dock-button':\n\t\t\t\t\t(!showHorizontalDockOptions && isDocked) || showHorizontalDockOptions,\n\t\t\t}}\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={dockTooltip}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': dockTooltip,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\tdispatch(dispatchedEvent, {\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tdockLocation: isRTL ? 'left' : 'right',\n\t\t\t\t});\n\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const ToggleModalButton = ({coeffects}) => {\n\tconst {windowConfig, properties, dispatch} = coeffects;\n\tlet buttonId, buttonIcon, tooltipLabel;\n\n\tif (properties?.isModal) {\n\t\tbuttonId = 'leave-modal';\n\t\tbuttonIcon = 'collapse-outline';\n\t\ttooltipLabel = t('Leave Modal');\n\t} else {\n\t\tbuttonId = 'enter-modal';\n\t\tbuttonIcon = 'expand-outline';\n\t\ttooltipLabel = t('Enter Modal');\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_MODAL\n\t\t: TOGGLE_MODAL_STATE;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const MinimizeWindowButton = ({coeffects}) => {\n\tconst {windowConfig, windowsState, dispatch} = coeffects;\n\tconst currMinimizedWidows = windowsState.minimizedWindows || [];\n\tconst isMinimized = currMinimizedWidows.includes(windowConfig.id);\n\n\tlet buttonId, buttonIcon, tooltipLabel;\n\tif (isMinimized) {\n\t\tbuttonId = 'maximize';\n\t\tbuttonIcon = 'maximize-outline';\n\t\ttooltipLabel = t('Restore {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonId = 'minimize';\n\t\tbuttonIcon = 'minimize-outline';\n\t\ttooltipLabel = t('Minimize {0}', windowConfig.headingLabel);\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_MINIMIZED\n\t\t: TOGGLE_MINIMIZE_STATE;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const DragButton = ({coeffects}) => {\n\tconst {windowConfig, dispatch, state, updateState} = coeffects;\n\n\tconst buttonIcon = 'grid-vertical-outline';\n\n\tconst tooltipContent = state?.isDragModeEnabled\n\t\t? t(\n\t\t\t\t'Use arrow keys to move by {0} pixels. Hold SHIFT to move by {1} pixels.',\n\t\t\t\tKEY_MOVEMENT_STEP_AMOUNT,\n\t\t\t\tKEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER,\n\t\t\t)\n\t\t: t('Press SPACE to enable dragging.');\n\n\tconst setTargetRef = (ref) => setTimeout(() => updateState({targetRef: ref}));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button\n\t\t\t\tid=\"drag-button\"\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\tclassName=\"accessibility-drag-button\"\n\t\t\t\thide-padding\n\t\t\t\ticon={buttonIcon}\n\t\t\t\tsize={\n\t\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t\t: windowConfig.size\n\t\t\t\t}\n\t\t\t\tbare\n\t\t\t\tvariant={defaultButtonVariant}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': tooltipContent,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch('TOGGLE_DRAG_MODE');\n\t\t\t\t}}\n\t\t\t\ton-blur={() => {\n\t\t\t\t\tdispatch('TOGGLE_DRAG_MODE', {enabled: false});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{state?.targetRef ? (\n\t\t\t\t<now-tooltip target-ref={state.targetRef} content={tooltipContent} />\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","import {shiftTo} from './helpers';\nexport const KEY_MOVEMENT_STEP_AMOUNT = 5;\nexport const KEY_MOVEMENT_STEP_MULTIPLIER = 10;\n\nexport const keyPressed = (e, state, dispatch, bottomToolBar) => {\n\tconst {dragContainerElement} = state;\n\n\tconst origLeft = dragContainerElement.offsetLeft;\n\tconst origTop = dragContainerElement.offsetTop;\n\tlet newLeft = origLeft;\n\tlet newTop = origTop;\n\n\tconst isShift = e.shiftKey;\n\n\tif (e.key === 'ArrowUp') {\n\t\tnewTop =\n\t\t\tnewTop -\n\t\t\t(isShift\n\t\t\t\t? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER\n\t\t\t\t: KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'ArrowDown') {\n\t\tnewTop =\n\t\t\tnewTop +\n\t\t\t(isShift\n\t\t\t\t? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER\n\t\t\t\t: KEY_MOVEMENT_STEP_AMOUNT);\n\t}\n\n\tif (e.key === 'ArrowLeft') {\n\t\tnewLeft =\n\t\t\tnewLeft -\n\t\t\t(isShift\n\t\t\t\t? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER\n\t\t\t\t: KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'ArrowRight') {\n\t\tnewLeft =\n\t\t\tnewLeft +\n\t\t\t(isShift\n\t\t\t\t? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER\n\t\t\t\t: KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'Escape') {\n\t\tdispatch('TOGGLE_DRAG_MODE', {enabled: false});\n\t\treturn;\n\t}\n\n\tif (origLeft !== newLeft || origTop !== newTop) {\n\t\tshiftTo(\n\t\t\tdragContainerElement,\n\t\t\tnewLeft,\n\t\t\tnewTop,\n\t\t\tstate.properties.dialogSize,\n\t\t\tstate.properties.dialogLocation,\n\t\t\tbottomToolBar,\n\t\t);\n\t}\n};\n","// standard actions for the SN_WINDOW\nexport const SN_WINDOW_OPENED = 'SN_WINDOW#WINDOW_OPENED';\nexport const SN_WINDOW_CLOSED = 'SN_WINDOW#WINDOW_CLOSED';\nexport const SN_WINDOW_CREATED = 'SN_WINDOW#WINDOW_CREATED';\nexport const SN_WINDOW_FOCUSED = 'SN_WINDOW#WINDOW_FOCUSED';\nexport const SN_WINDOW_MODALIZED = 'SN_WINDOW#WINDOW_MODALIZED';\nexport const SN_WINDOW_DOCKED = 'SN_WINDOW#WINDOW_DOCKED';\nexport const SN_WINDOW_MINIMIZED = 'SN_WINDOW#WINDOW_MINIMIZED';\nexport const SN_WINDOW_CHECK_LOCATION = 'SN_WINDOW#CHECK_LOCATION';\nexport const SN_WINDOW_START_DRAG = 'SN_WINDOW#START_DRAG';\nexport const SN_WINDOW_END_DRAG = 'SN_WINDOW#END_DRAG';\nexport const SN_WINDOW_KEY_PRESSED = 'SN_WINDOW#KEY_PRESSED';\nexport const SN_WINDOW_SET_DIRTY_STATE = 'SN_WINDOW#SET_DIRTY_STATE';\nexport const SN_WINDOW_DIRTY_STATE_SET = 'SN_WINDOW#DIRTY_STATE_SET';\nexport const SN_WINDOW_SET_WINDOW_SIZE = 'SN_WINDOW#SET_WINDOW_SIZE';\nexport const SN_WINDOW_SET_DOCKED_WINDOW_SIZE =\n\t'SN_WINDOW#SET_DOCKED_WINDOW_SIZE';\nexport const SN_WINDOW_SET_WINDOW_PROPERTIES =\n\t'SN_WINDOW#SET_WINDOW_PROPERTIES';\n\n// HDS: Modeless Dialog Action Constants for backwards compatability\nexport const NOW_MODELESS_DIALOG_MOUSEDOWN = 'NOW_MODELESS_DIALOG#MOUSEDOWN';\nexport const NOW_MODELESS_DIALOG_MOUSEUP = 'NOW_MODELESS_DIALOG#MOUSEUP';\nexport const NOW_MODELESS_DIALOG_OPENED_SET = 'NOW_MODELESS_DIALOG#OPENED_SET';\nexport const NOW_MODELESS_DIALOG_CLOSE = 'NOW_MODELESS_DIALOG#CLOSE';\nexport const NOW_MODELESS_DIALOG_MAXIMIZE = 'NOW_MODELESS_DIALOG#MAXIMIZE';\nexport const NOW_MODELESS_DIALOG_MINIMIZE = 'NOW_MODELESS_DIALOG#MINIMIZE';\nexport const NOW_MODELESS_DIALOG_RESIZABLE_END =\n\t'NOW_MODELESS_DIALOG#RESIZABLE_END';\nexport const NOW_MODELESS_DIALOG_CONTENT_VISIBLE =\n\t'NOW_MODELESS_DIALOG#CONTENT_VISIBLE';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PREFERENCES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.__esModule\n\t\t\t\t\tif (cjsModule && 'PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].PREFERENCES;\n\t\t\t\t\t} else if ('PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.PREFERENCES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].PREFERENCES;\n\t\t\t\t}, [\"getBooleanPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t\t} else if ('getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.getBooleanPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","export const PORTAL_TYPES = {\n\tUNIFIED_NAVIGATION: 'unified-navigation',\n\tSERVICE_PORTAL: 'service-portal',\n\tEXAMPLE_APP: 'example-app',\n};\n","/* eslint-disable no-console */\nimport {getComponentsByTagNames} from '@devsnc/library-uxf';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {debounce} from '@devsnc/snowdash';\n\nimport {\n\tCLOSE_WINDOW,\n\tCREATE_WINDOW,\n\tOPEN_DEBUG_WINDOW,\n\tOPEN_WINDOW,\n\tRELAY_MESSAGE,\n\tBROADCAST_MESSAGE,\n\tTOGGLE_MODAL_STATE,\n\tCLOSE_DOCK,\n\tTOGGLE_DOCK,\n\tUPDATE_BODY_CLASS_NAMES,\n\tCHECK_WINDOW_LOCATIONS,\n\tSET_HEADER_BUTTONS,\n\tTOGGLE_MINIMIZE_STATE,\n\tSCREEN_CHANGED,\n\tSET_DIRTY_STATE,\n\tFOCUS_WINDOW,\n\tSET_WINDOW_PROPERTIES,\n\tUPDATE_BOTTOM_TOOLBAR_ELEMENTS,\n} from './actions';\n\nimport {\n\tareWindowsOverlapping,\n\tclampDialogPosition,\n\tfindAvailableDialogPosition,\n\tisWindowInBounds,\n\tupdateDialogLocationBottomDock,\n\tfocusElementWithRetry,\n\tisDeepEqual,\n} from './helpers';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\n\nimport {PORTAL_TYPES} from './constants';\nimport {\n\tSN_WINDOW_CHECK_LOCATION,\n\tSN_WINDOW_CLOSED,\n\tSN_WINDOW_MINIMIZED,\n\tSN_WINDOW_OPENED,\n\tNOW_MODELESS_DIALOG_MOUSEDOWN,\n\tNOW_MODELESS_DIALOG_MOUSEUP,\n\tNOW_MODELESS_DIALOG_OPENED_SET,\n\tNOW_MODELESS_DIALOG_CLOSE,\n\tNOW_MODELESS_DIALOG_MAXIMIZE,\n\tNOW_MODELESS_DIALOG_MINIMIZE,\n} from '../../sn-window/actions';\nimport {dispatchModelessDialogAction} from '../../sn-window/behaviors/utils/helpers';\n\nfunction createGuid() {\n\treturn 'xxxxxxxx'.replace(/[xy]/g, function (c) {\n\t\tconst r = (Math.random() * 16) | 0,\n\t\t\tv = c === 'x' ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n}\n\nconst ensureArray = (value) =>\n\tArray.isArray(value)\n\t\t? value\n\t\t: typeof value === 'string'\n\t\t\t? JSON.parse(value)\n\t\t\t: (value ?? [0, 0]);\n\nconst normalizeDialogSize = (dialogSize) => {\n\tif (!dialogSize) {\n\t\treturn {width: 320, height: 480};\n\t}\n\n\tconst convertValue = (value, dimension) => {\n\t\t// Convert percentage values to pixels based on browser window size\n\t\tif (typeof value === 'string' && value.endsWith('%')) {\n\t\t\tconst percentage = parseFloat(value) / 100;\n\t\t\tconst browserSize =\n\t\t\t\tdimension === 'width' ? window.innerWidth : window.innerHeight;\n\t\t\treturn Math.round(browserSize * percentage);\n\t\t}\n\t\treturn value;\n\t};\n\n\treturn {\n\t\twidth: convertValue(dialogSize.width, 'width') ?? 320,\n\t\theight: convertValue(dialogSize.height, 'height') ?? 480,\n\t};\n};\n\nconst newWindowDataConfig = (payload, portalType) => ({\n\tid: payload.id || createGuid(),\n\theadingLabel: payload.title || '',\n\tpinnedHeaderHeight: payload.pinnedHeaderHeight || '52px',\n\tisUXFWindow: payload.isUXFWindow || false,\n\tisOpen: payload.isOpen !== undefined ? payload.isOpen : true,\n\tposition: payload.position || 'centered',\n\tcanDrag: payload.canDrag !== undefined ? payload.canDrag : true,\n\tcanResize: payload.canResize !== undefined ? payload.canResize : true,\n\tcanMinimize:\n\t\tportalType === PORTAL_TYPES.SERVICE_PORTAL\n\t\t\t? false\n\t\t\t: payload.canMinimize !== undefined\n\t\t\t\t? payload.canMinimize\n\t\t\t\t: false,\n\tcanMaximize: payload.canMaximize !== undefined ? payload.canMaximize : false,\n\tcanClose: payload.canClose !== undefined ? payload.canClose : true,\n\tcloseIcon: payload?.closeIcon ?? 'close-outline',\n\tcloseToTop: payload.closeToTop !== undefined ? payload.closeToTop : false,\n\tcloseToElement:\n\t\tpayload.closeToElement !== undefined ? payload.closeToElement : null,\n\tcanDock: payload.canDock !== undefined ? payload.canDock : false,\n\tstartingState: payload.startingState || 'floating',\n\tisGlobalWindow:\n\t\tpayload.isGlobalWindow !== undefined ? payload.isGlobalWindow : true,\n\tscreenKey: payload.screenKey || null,\n\tinstanceId: payload.instanceId || null,\n\texperienceId: payload.experienceId || null,\n\tuxrComponentId: payload.componentId || null,\n\tcategory: payload.category || null,\n\tminimizedTitle: payload.minimizedTitle || '',\n\tmodelessDialogControllerId: payload.modelessDialogControllerId || null,\n\toffset: ensureArray(payload.offset || [0, 0]),\n\tdockConfig: {\n\t\tdockRight: payload.dockConfig?.dockRight ?? true,\n\t\tdockLeft: payload.dockConfig?.dockLeft ?? true,\n\t\tdockBottom: payload.dockConfig?.dockBottom ?? false,\n\t\tdockRightIcon: payload.dockConfig?.dockRightIcon ?? 'thumbtack',\n\t\tdockLeftIcon: payload.dockConfig?.dockLeftIcon ?? 'thumbtack',\n\t},\n\tcanToggleModal:\n\t\tpayload.canToggleModal !== undefined ? payload.canToggleModal : false,\n\tfullscreenViewConfig: {\n\t\tmodalThresholds: {\n\t\t\twidth: payload.fullscreenViewConfig?.modalThresholds?.width || 641,\n\t\t\theight: payload.fullscreenViewConfig?.modalThresholds?.height || -1,\n\t\t},\n\t\tstandardThresholds: {\n\t\t\twidth: payload.fullscreenViewConfig?.standardThresholds?.width || 421,\n\t\t\theight: payload.fullscreenViewConfig?.standardThresholds?.height || -1,\n\t\t},\n\t},\n\tisPersistent: payload.isPersistent || false,\n\theaderButtons: payload.headerButtons || [],\n\tisModal: payload.isModal || payload.startingState === 'modal' || false,\n\theaderIcon: {\n\t\ticon: payload.headerIcon?.icon || null,\n\t\tsize: payload.headerIcon?.size || 'lg',\n\t},\n\tdialogSize: normalizeDialogSize(payload.dialogSize),\n\tdialogLocation: {\n\t\ttop: payload.dialogLocation?.top ?? -1,\n\t\tbottom: payload.dialogLocation?.bottom ?? -1,\n\t\tleft: payload.dialogLocation?.left ?? -1,\n\t\tright: payload.dialogLocation?.right ?? -1,\n\t},\n\tdockedWindowSize: payload.dockedWindowSize || 320,\n\tmodalSize: {\n\t\twidth: payload.modalSize?.width || '95%',\n\t\theight: payload.modalSize?.height || '85%',\n\t},\n\tcontent: {\n\t\tcomponent: payload.content?.component || null,\n\t\tproperties: payload.content?.properties || null,\n\t},\n\tresizableConfig: payload.resizableConfig || {\n\t\tenableResizable: payload.canResize !== undefined ? payload.canResize : true,\n\t\tresizableMinWidth: 320,\n\t\tresizableMinHeight: 280,\n\t\tresizableMaxWidth: payload.resizableConfig?.resizableMaxWidth || null,\n\t\tresizableMaxHeight: payload.resizableConfig?.resizableMaxHeight || null,\n\t\tcontext: 'float',\n\t},\n\t// Store percentage values separately (not in resizableConfig) for browser resize calculations\n\tmaxWindowSizePercentage: payload.maxWindowSizePercentage || null,\n\tautoResizableConfig: payload.autoResizableConfig || {\n\t\tenableAutoResizableHeight: false,\n\t},\n\tvariant: payload.variant || 'secondary',\n\tfitContent:\n\t\t(payload.content?.component !== null && payload.fitContent) || false,\n\tsize: payload.size || 'md',\n\tconfigAria: payload.configAria || {},\n\tstateChangeCallback: payload.stateChangeCallback || null,\n\tmodalOverlayClickEnabled: payload.modalOverlayClickEnabled || false,\n\treopenAsFloatingWindow: payload.reopenAsFloatingWindow || false,\n\tcloseButtonTooltip: payload.closeButtonTooltip || null,\n\tconfirmClose: payload.confirmClose || false,\n\tconfirmCloseMessage: payload.confirmCloseMessage || null,\n\thideHeadingDivider: payload.hideHeadingDivider || false,\n\tuseFlexContentLayout:\n\t\tpayload.autoResizableConfig?.enableAutoResizableHeight ||\n\t\tpayload.useFlexContentLayout\n\t\t\t? true\n\t\t\t: false,\n});\n\nexport function createStyleSheet(coeffects) {\n\tconst {\n\t\tproperties: {dynamicStyleSheet},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tif (dynamicStyleSheet !== null) {\n\t\treturn dynamicStyleSheet;\n\t}\n\n\tconst styleEl = document.createElement('style');\n\tstyleEl.id = 'sn-window-manager-styles';\n\n\t// Append <style> element to <head>\n\tdocument.head.appendChild(styleEl);\n\n\t// Grab style element's sheet\n\tconst newStyleSheet = styleEl.sheet;\n\tupdateProperties({\n\t\tdynamicStyleSheet: newStyleSheet,\n\t});\n\n\treturn newStyleSheet;\n}\n\n// ---------- Mutation Observer for the entire browser window ----------\nconst handleBrowserWindowMutations = (\n\tmutationsList,\n\tupdateProperties,\n\tdispatch,\n) => {\n\tfor (const mutation of mutationsList) {\n\t\tconst browserDimensions = {width: 0, height: 0};\n\t\tif (mutation.contentRect?.width !== undefined) {\n\t\t\tbrowserDimensions.width = parseInt(mutation.contentRect.width);\n\t\t}\n\t\tif (mutation.contentRect?.height !== undefined) {\n\t\t\tbrowserDimensions.height = parseInt(mutation.contentRect.height);\n\t\t}\n\t\tupdateProperties({browserDimensions});\n\t}\n\tdispatch(CHECK_WINDOW_LOCATIONS);\n};\n\nconst createBrowserWindowMutationObserver = (updateProperties, dispatch) => {\n\tconst modalWindow = document.querySelector('body');\n\n\tconst mutationObs = new ResizeObserver(\n\t\tdebounce((mutationsList) => {\n\t\t\thandleBrowserWindowMutations(mutationsList, updateProperties, dispatch);\n\t\t}, 10),\n\t);\n\tmutationObs.observe(modalWindow);\n\tupdateProperties({browserWindowMutationObserver: mutationObs});\n};\n\nexport const componentBootstrap = (coeffects) => {\n\tconst {dispatch, properties, state, host, updateProperties} = coeffects;\n\n\t// setup and include any CSS needed for the page to be able to support docking\n\tconst newStyleSheet = createStyleSheet(coeffects);\n\n\tswitch (properties.portalType) {\n\t\tcase PORTAL_TYPES.SERVICE_PORTAL:\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'body > .sp-page-root { transition: padding-right 150ms ease-in-out, padding-left 150ms ease-in-out, padding-bottom 150ms ease-in-out; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockLeft > .sp-page-root { padding-left: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockRight > .sp-page-root { padding-right: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockBottom > .sp-page-root { padding-bottom: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\n\t\t\tbreak;\n\n\t\tcase PORTAL_TYPES.UNIFIED_NAVIGATION:\n\t\t\tif (properties.unifiedNavComponent) {\n\t\t\t\tproperties.unifiedNavComponent.dispatch(\n\t\t\t\t\t'POLARIS#REGISTER_WINDOW_MANAGER',\n\t\t\t\t\t{\n\t\t\t\t\t\twindowManager: host,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase PORTAL_TYPES.EXAMPLE_APP:\n\t\t\thost.style.setProperty('--now-canvas-ai-border-color--primary', 'black');\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'body { transition: padding-inline-start 200ms cubic-bezier(0.4, 0, 0.5, 1) 300ms, padding-inline-end 200ms cubic-bezier(0.4, 0, 0.5, 1) 300ms; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockLeft { padding-left: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockRight { padding-right: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockBottom { padding-bottom: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\n\t\t\tbreak;\n\t}\n\n\t// setup window commands for the sn-window-manager\n\twindow.nowWindowManager = host;\n\twindow.nowWindowManager.createWindow = (windowConfig) => {\n\t\tdispatch(CREATE_WINDOW, windowConfig);\n\t};\n\twindow.nowWindowManager.openWindow = (windowId, props = null) => {\n\t\tdispatch(OPEN_WINDOW, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tnewProperties: props,\n\t\t});\n\t};\n\twindow.nowWindowManager.closeWindow = (\n\t\twindowId,\n\t\tforceDestroy = false,\n\t\tmeta,\n\t) => {\n\t\tdispatch(CLOSE_WINDOW, {windowConfig: {id: windowId}, forceDestroy, meta});\n\t};\n\twindow.nowWindowManager.closeDock = (dockLocation, secondaryMenuId) => {\n\t\tdispatch(CLOSE_DOCK, {\n\t\t\tdock: dockLocation,\n\t\t\tsecondaryMenuId,\n\t\t});\n\t};\n\twindow.nowWindowManager.toggleDock = (windowId, dockLocation) => {\n\t\tdispatch(TOGGLE_DOCK, {windowConfig: {id: windowId}, dockLocation});\n\t};\n\twindow.nowWindowManager.toggleModal = (\n\t\twindowId,\n\t\tforceEnableModal = false,\n\t) => {\n\t\tdispatch(TOGGLE_MODAL_STATE, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tforceEnableModal,\n\t\t});\n\t};\n\twindow.nowWindowManager.toggleMinimized = (\n\t\twindowId,\n\t\tforceMinimize = false,\n\t) => {\n\t\tdispatch(TOGGLE_MINIMIZE_STATE, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tforceMinimize,\n\t\t});\n\t};\n\twindow.nowWindowManager.relayMessage = (message) => {\n\t\tdispatch(RELAY_MESSAGE, message);\n\t};\n\twindow.nowWindowManager.debugWindow = () => {\n\t\tdispatch(OPEN_DEBUG_WINDOW);\n\t};\n\twindow.nowWindowManager.focusWindow = (windowId) => {\n\t\tdispatch(FOCUS_WINDOW, {\n\t\t\twindowConfig: {id: windowId},\n\t\t});\n\t};\n\twindow.nowWindowManager.getContentElement = (windowId) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tif (currentWindow) {\n\t\t\treturn currentWindow.component.contentElement;\n\t\t}\n\t\treturn null;\n\t};\n\n\twindow.nowWindowManager.setHeaderButtons = (windowId, buttonsData) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\t\tif (currentWindow) {\n\t\t\tdispatchEventToWindow(\n\t\t\t\twindow.nowWindowManager.windowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\tSET_HEADER_BUTTONS,\n\t\t\t\t{\n\t\t\t\t\theaderButtons: buttonsData,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\twindow.nowWindowManager.doesWindowExist = (windowId) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\t\treturn currentWindow !== undefined && currentWindow !== null;\n\t};\n\n\twindow.nowWindowManager.setContentProperties = (windowId, props) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tObject.keys(props).forEach((key) => {\n\t\t\tcurrentWindow.component.contentElement[key] = props[key];\n\t\t});\n\t};\n\n\twindow.nowWindowManager.setWindowProperties = (windowId, props) => {\n\t\tdispatch(SET_WINDOW_PROPERTIES, {windowId, newProperties: props});\n\t};\n\n\twindow.nowWindowManager.setWindowSize = (windowId, size, dockedMode) => {\n\t\tconst windowsList = window.nowWindowManager.windowsList;\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tif (currentWindow) {\n\t\t\t// Only allow docked window size to be set in service portal\n\t\t\tif (dockedMode) {\n\t\t\t\tif (\n\t\t\t\t\twindow.nowWindowManager.portalType === PORTAL_TYPES.SERVICE_PORTAL\n\t\t\t\t) {\n\t\t\t\t\tconst newDockedWindowSize = {\n\t\t\t\t\t\tsize:\n\t\t\t\t\t\t\tsize.width ||\n\t\t\t\t\t\t\tsize.height ||\n\t\t\t\t\t\t\tcurrentWindow.component.dockedWindowSize,\n\t\t\t\t\t};\n\t\t\t\t\tdispatchEventToWindow(\n\t\t\t\t\t\twindowsList,\n\t\t\t\t\t\tcurrentWindow.id,\n\t\t\t\t\t\t'SN_WINDOW#SET_DOCKED_WINDOW_SIZE',\n\t\t\t\t\t\tnewDockedWindowSize,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst newDialogSize = {\n\t\t\t\t\twidth: size.width || currentWindow.component.dialogSize.width,\n\t\t\t\t\theight: size.height || currentWindow.component.dialogSize.height,\n\t\t\t\t};\n\t\t\t\tdispatchEventToWindow(\n\t\t\t\t\twindowsList,\n\t\t\t\t\tcurrentWindow.id,\n\t\t\t\t\t'SN_WINDOW#SET_WINDOW_SIZE',\n\t\t\t\t\tnewDialogSize,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\twindow.nowWindowManager.handleScreenChanged = (payload) => {\n\t\tdispatch(SCREEN_CHANGED, payload);\n\t};\n\n\twindow.nowWindowManager.setDirtyState = (windowId, dirtyState) => {\n\t\tdispatch(SET_DIRTY_STATE, {id: windowId, dirtyState});\n\t};\n\n\twindow.nowWindowManager.updateUserPreferences = (name, value) => {\n\t\tupdateProperties({\n\t\t\tuserPreferences: {\n\t\t\t\t...state.properties.userPreferences,\n\t\t\t\t[name]: value,\n\t\t\t},\n\t\t});\n\t\tif (name === PREFERENCES.DISABLE_ANIMATION) {\n\t\t\tupdateProperties({animationsDisabled: value});\n\t\t}\n\t};\n\n\twindow.nowWindowManager.closeAllWindows = (forceDestroy = false) => {\n\t\tconst windowsToClose = [...window.nowWindowManager.windowsList];\n\t\twindowsToClose.forEach((windowConfig) => {\n\t\t\twindow.nowWindowManager.closeWindow(windowConfig.id, forceDestroy);\n\t\t});\n\t};\n\n\twindow.nowWindowManager.getDockedWindowId = (dockLocation) => {\n\t\tconst windowsState = window.nowWindowManager.windowsState;\n\n\t\tlet result;\n\t\tswitch (dockLocation) {\n\t\t\tcase 'left':\n\t\t\t\tresult = windowsState.leftDockId;\n\t\t\t\tbreak;\n\t\t\tcase 'right':\n\t\t\t\tresult = windowsState.rightDockId;\n\t\t\t\tbreak;\n\t\t\tcase 'bottom':\n\t\t\t\tresult = windowsState.bottomDockId;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tresult = null;\n\t\t}\n\t\treturn result;\n\t};\n\n\tconst userPrefs = window.ux_globals?.userPrefs || {};\n\tupdateProperties({\n\t\tuserPreferences: userPrefs,\n\t});\n\n\tconst coerceBoolean = (val) => {\n\t\tif (typeof val === 'boolean') {\n\t\t\treturn val;\n\t\t}\n\t\tif (typeof val === 'string') {\n\t\t\treturn val.toLowerCase() === 'true' || val === '1';\n\t\t}\n\t\tif (typeof val === 'number') {\n\t\t\treturn val === 1;\n\t\t}\n\t\treturn false;\n\t};\n\n\tlet animationsDisabled = false;\n\ttry {\n\t\tanimationsDisabled = getBooleanPreferenceValue(\n\t\t\tuserPrefs,\n\t\t\tPREFERENCES.DISABLE_ANIMATION,\n\t\t);\n\t} catch (_err) {\n\t\tif (Array.isArray(userPrefs)) {\n\t\t\tconst pref = userPrefs.find(\n\t\t\t\t(p) => p?.name === PREFERENCES.DISABLE_ANIMATION,\n\t\t\t);\n\t\t\tanimationsDisabled = coerceBoolean(pref?.value);\n\t\t} else if (userPrefs && typeof userPrefs === 'object') {\n\t\t\tanimationsDisabled = coerceBoolean(\n\t\t\t\tuserPrefs?.[PREFERENCES.DISABLE_ANIMATION],\n\t\t\t);\n\t\t}\n\t}\n\tupdateProperties({animationsDisabled});\n\n\tcreateBrowserWindowMutationObserver(updateProperties, dispatch);\n\tif (window.ux_globals?.__windowManagerConfig) {\n\t\twindow.ux_globals.__windowManagerConfig.isLoaded = true;\n\t}\n\n\tconsole.info('sn-window-manager - started', {properties, state});\n};\n\nexport const handlePropertyChange = ({action, state}) => {\n\tconst {\n\t\tpayload: {name, value},\n\t} = action;\n\n\tif (\n\t\tname === 'browserDimensions' ||\n\t\tname === 'windowsState' ||\n\t\tname === 'windowsList' ||\n\t\tname === 'portalType' ||\n\t\tname === 'animationsDisabled' ||\n\t\tname === 'screenInfo'\n\t) {\n\t\tstate.properties.windowsList.map((currentWindow) => {\n\t\t\tdispatchEventToWindow(\n\t\t\t\tstate.properties.windowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\t'PROPERTY_CHANGED',\n\t\t\t\t{name, value},\n\t\t\t);\n\t\t});\n\t}\n};\n\nexport const handleDomTreeReady = (coeffects) => {\n\tconst {state, host, dispatch, updateProperties} = coeffects;\n\tconst {properties} = state;\n\n\t// if we are in the example app, open the debug window by default\n\tif (properties.portalType === PORTAL_TYPES.EXAMPLE_APP) {\n\t\tdispatch(OPEN_DEBUG_WINDOW);\n\t}\n\n\tconst bottomToolBar = host.shadowRoot.querySelector(\n\t\t'sn-window-manager-bottom-toolbar',\n\t);\n\tupdateProperties({\n\t\tbottomToolbarComponent: bottomToolBar,\n\t});\n};\n\nexport const handleComponentConnected = () => {\n\t// console.info('sn-window-manager - Component connected');\n};\n\nconst completeDockToggle = (\n\tnewLeftDockId,\n\tnewRightDockId,\n\tnewBottomDockId,\n\tdockSide,\n\tcoeffects,\n\tpayload,\n) => {\n\tconst {updateProperties, state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState, windowsList} = properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\tconst isWindowDocked =\n\t\tnewLeftDockId === payload.windowConfig.id ||\n\t\tnewRightDockId === payload.windowConfig.id ||\n\t\tnewBottomDockId === payload.windowConfig.id;\n\n\tlet modalWindows = windowsState.modalWindows || [];\n\tif (windowsState.modalWindows.includes(payload.windowConfig.id)) {\n\t\tmodalWindows = windowsState.modalWindows.filter(\n\t\t\t(windowId) => windowId !== payload.windowConfig.id,\n\t\t);\n\t\tconst currentWindow = windowsList.find(\n\t\t\t(window) => window.id === payload.windowConfig.id,\n\t\t);\n\t\tcurrentWindow.isModal = false;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tleftDockId: newLeftDockId,\n\t\t\trightDockId: newRightDockId,\n\t\t\tbottomDockId: newBottomDockId,\n\t\t\tmodalWindows: modalWindows,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES, {secondaryMenuId: payload.secondaryMenuId});\n\thandleStateChangeCallback(\n\t\tcurrentWindow,\n\t\tisWindowDocked ? 'docked-' + dockSide : 'floating',\n\t);\n};\n\nexport const handleToggleLeftDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\tproperties.windowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\tconst newRightDockId =\n\t\tproperties.windowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.rightDockId;\n\tconst newBottomDockId =\n\t\tproperties.windowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.bottomDockId;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'left',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleRightDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState} = properties;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\twindowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: windowsState.leftDockId;\n\tconst newRightDockId =\n\t\twindowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\tconst newBottomDockId =\n\t\twindowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: windowsState.bottomDockId;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'right',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleBottomDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\tproperties.windowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.leftDockId;\n\tconst newRightDockId =\n\t\tproperties.windowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.rightDockId;\n\tconst newBottomDockId =\n\t\tproperties.windowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'bottom',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleDock = (coeffects) => {\n\tconst {action, properties} = coeffects;\n\tconst {windowsList} = properties;\n\tconst {\n\t\tpayload: {dockLocation, windowConfig, overrideConfig = false},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\t// Ensure the config doesn't prevent docking (unless overrideConfig is true)\n\tif (!currentWindow || (!currentWindow.canDock && !overrideConfig)) {\n\t\treturn;\n\t}\n\n\tif (dockLocation === 'left') {\n\t\thandleToggleLeftDock(coeffects);\n\t} else if (dockLocation === 'right') {\n\t\thandleToggleRightDock(coeffects);\n\t} else if (dockLocation === 'bottom') {\n\t\thandleToggleBottomDock(coeffects);\n\t}\n};\n\nexport const handleCloseDock = (coeffects) => {\n\tconst {action, updateProperties, state, dispatch} = coeffects;\n\tconst {payload} = action;\n\tconst {properties} = state;\n\tlet newLeftDockId = properties.windowsState.leftDockId;\n\tlet newRightDockId = properties.windowsState.rightDockId;\n\tlet newBottomDockId = properties.windowsState.bottomDockId;\n\tlet undockedWindowId;\n\n\t// Close the window that was docked to the side specified\n\tif (payload.dock === 'left') {\n\t\tundockedWindowId = newLeftDockId;\n\t\tnewLeftDockId = null;\n\t} else if (payload.dock === 'right') {\n\t\tundockedWindowId = newRightDockId;\n\t\tnewRightDockId = null;\n\t} else if (payload.dock === 'bottom') {\n\t\tundockedWindowId = newBottomDockId;\n\t\tnewBottomDockId = null;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...properties.windowsState,\n\t\t\tleftDockId: newLeftDockId,\n\t\t\trightDockId: newRightDockId,\n\t\t\tbottomDockId: newBottomDockId,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES, {secondaryMenuId: payload.secondaryMenuId});\n\t// Get window that was undocked\n\tif (undockedWindowId !== null) {\n\t\tconst undockedWindow = properties.windowsList.find(\n\t\t\t(window) => window.id === undockedWindowId,\n\t\t);\n\t\thandleStateChangeCallback(undockedWindow, 'floating');\n\t}\n};\n\nexport const updateBodyClassName = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\taction: {payload},\n\t\tdispatch,\n\t} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState} = properties;\n\tconst {leftDockId, rightDockId, bottomDockId} = windowsState;\n\n\t// closing left dock\n\tif (document.body.classList.contains('dockLeft') && leftDockId === null) {\n\t\tdocument.body.classList.remove('dockLeft');\n\t\tif (!payload.secondaryMenuId) {\n\t\t\tdispatch(\n\t\t\t\tdocument.dir === 'rtl' ? 'CONTEXTUAL_MENU#PINNED' : 'MAIN_MENU#PINNED',\n\t\t\t\t{\n\t\t\t\t\tdoPinning: false,\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t\tprimaryMenuId: null,\n\t\t\t\t\tisPinnedWindow: true,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\t// closing right dock\n\tif (document.body.classList.contains('dockRight') && rightDockId === null) {\n\t\tdocument.body.classList.remove('dockRight');\n\t\tif (!payload.secondaryMenuId) {\n\t\t\tdispatch('CONTEXTUAL_MENU#PINNED', {\n\t\t\t\tdoPinning: false,\n\t\t\t\tisPrimary: true,\n\t\t\t\tprimaryMenuId: null,\n\t\t\t\tisPinnedWindow: true,\n\t\t\t});\n\t\t}\n\t}\n\t// closing bottom dock\n\tif (document.body.classList.contains('dockBottom') && bottomDockId === null) {\n\t\tdocument.body.classList.remove('dockBottom');\n\t}\n\n\t// opening left dock\n\tif (!document.body.classList.contains('dockLeft') && leftDockId !== null) {\n\t\tdocument.body.classList.add('dockLeft');\n\t\tdispatch(\n\t\t\tdocument.dir === 'rtl' ? 'CONTEXTUAL_MENU#PINNED' : 'MAIN_MENU#PINNED',\n\t\t\t{\n\t\t\t\tdoPinning: true,\n\t\t\t\tisPrimary: true,\n\t\t\t\tprimaryMenuId: leftDockId,\n\t\t\t\tisPinnedWindow: true,\n\t\t\t},\n\t\t);\n\t}\n\t// opening right dock\n\tif (!document.body.classList.contains('dockRight') && rightDockId !== null) {\n\t\tdocument.body.classList.add('dockRight');\n\t\tdispatch('CONTEXTUAL_MENU#PINNED', {\n\t\t\tdoPinning: true,\n\t\t\tisPrimary: true,\n\t\t\tprimaryMenuId: rightDockId,\n\t\t\tisPinnedWindow: true,\n\t\t});\n\t}\n\t// opening bottom dock\n\tif (\n\t\t!document.body.classList.contains('dockBottom') &&\n\t\tbottomDockId !== null\n\t) {\n\t\tdocument.body.classList.add('dockBottom');\n\t}\n};\n\nexport const handleStateChangeCallback = (windowConfig, state) => {\n\tif (windowConfig.stateChangeCallback) {\n\t\twindowConfig.stateChangeCallback({state});\n\t}\n};\n\nexport const handleCreateWindow = (coeffects) => {\n\tconst {updateProperties, state, action, host, dispatch} = coeffects;\n\tconst {\n\t\twindowsList,\n\t\twindowsState,\n\t\tportalType,\n\t\tbrowserDimensions,\n\t\tbottomToolbarComponent,\n\t} = state.properties;\n\tconst {payload} = action;\n\n\tconst existingWindowConfig = windowsList.find(\n\t\t(currentWindow) => currentWindow.id === payload.id,\n\t);\n\n\tif (existingWindowConfig) {\n\t\tcoeffects.action.payload.windowConfig = existingWindowConfig;\n\n\t\t// DEF0722407: if a window has been created with isOpen set to false\n\t\t// and createWindow gets called again for that same window, do not open it.\n\t\t// we need to check the incoming payload and not existingWindowConfig because isOpen\n\t\t// could change in existingWindowConfig after it has been created\n\t\tif (coeffects.action.payload.windowConfig.isOpen !== false) {\n\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\thandleOpenWindow(coeffects);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tpayload.content?.component &&\n\t\ttypeof payload.content?.component === 'string'\n\t) {\n\t\tgetComponentsByTagNames([payload.content.component]);\n\t}\n\n\tconst newWindowConfig = newWindowDataConfig(payload, portalType);\n\n\tconsole.info('New Window Config', {newWindowConfig, payload});\n\n\t// determine window position if the user has opted to define position and offset instead of dialogLocation\n\n\t// Case where the y value is not specified\n\tif (\n\t\tnewWindowConfig.dialogLocation.top === -1 &&\n\t\tnewWindowConfig.dialogLocation.bottom === -1\n\t) {\n\t\tif (newWindowConfig.position === 'centered') {\n\t\t\tnewWindowConfig.dialogLocation.top =\n\t\t\t\t(window.innerHeight - newWindowConfig.dialogSize.height) / 2;\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-right' ||\n\t\t\tnewWindowConfig.position === 'top-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.top = newWindowConfig.offset[1];\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'bottom-right' ||\n\t\t\tnewWindowConfig.position === 'bottom-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.bottom = newWindowConfig.offset[1];\n\t\t}\n\t}\n\n\t// Case where the x value is not specified\n\tif (\n\t\tnewWindowConfig.dialogLocation.left === -1 &&\n\t\tnewWindowConfig.dialogLocation.right === -1\n\t) {\n\t\tif (newWindowConfig.position === 'centered') {\n\t\t\tnewWindowConfig.dialogLocation.left =\n\t\t\t\t(window.innerWidth - newWindowConfig.dialogSize.width) / 2;\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-left' ||\n\t\t\tnewWindowConfig.position === 'bottom-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.left = newWindowConfig.offset[0];\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-right' ||\n\t\t\tnewWindowConfig.position === 'bottom-right'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.right = newWindowConfig.offset[0];\n\t\t}\n\t}\n\n\t// Only keep the coordinate system that is being used\n\tnewWindowConfig.dialogLocation = {\n\t\t...(newWindowConfig.dialogLocation.top !== -1\n\t\t\t? {top: newWindowConfig.dialogLocation.top}\n\t\t\t: {bottom: newWindowConfig.dialogLocation.bottom}),\n\t\t...(newWindowConfig.dialogLocation.left !== -1\n\t\t\t? {left: newWindowConfig.dialogLocation.left}\n\t\t\t: {right: newWindowConfig.dialogLocation.right}),\n\t};\n\n\t//get the current sn-window-manager-toolbar height\n\tconst {offsetHeight: bottomDockHeight} =\n\t\tbottomToolbarComponent.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t//adjust window location and normalize the coordinates for offset\n\tnewWindowConfig.dialogLocation = updateDialogLocationBottomDock(\n\t\tnewWindowConfig,\n\t\tbottomDockHeight,\n\t);\n\n\t// Offset window if it's overlapping with another window\n\tconst isAnyWindowOverlapping = windowsList.find((window) =>\n\t\tareWindowsOverlapping(window, newWindowConfig),\n\t);\n\tif (isAnyWindowOverlapping) {\n\t\tnewWindowConfig.dialogLocation = findAvailableDialogPosition(\n\t\t\tnewWindowConfig.dialogLocation,\n\t\t\twindowsList,\n\t\t\tnewWindowConfig.dialogSize,\n\t\t\tbottomDockHeight,\n\t\t\tnewWindowConfig,\n\t\t);\n\t}\n\n\t// Position it top left to allow for proper fit-content calculation\n\tif (newWindowConfig.fitContent) {\n\t\tnewWindowConfig.dialogLocation = {top: 0, left: 0};\n\t}\n\n\t// create new sn-window element\n\tconst nowWindow = document.createElement('sn-window');\n\tnowWindow.animationsDisabled = state.properties.animationsDisabled;\n\tnowWindow.id = `window-${newWindowConfig.id}`;\n\tnowWindow.windowConfig = newWindowConfig;\n\tnowWindow.windowsList = windowsList;\n\tnowWindow.windowsState = windowsState;\n\tnowWindow.dialogSize = newWindowConfig.dialogSize;\n\tnowWindow.dialogLocation = newWindowConfig.dialogLocation;\n\tnowWindow.dockedWindowSize = newWindowConfig.dockedWindowSize;\n\tnowWindow.modalSize = newWindowConfig.modalSize;\n\tnowWindow.portalType = portalType || PORTAL_TYPES.UNIFIED_NAVIGATION;\n\tnowWindow.isModal = newWindowConfig.isModal;\n\tnowWindow.isDocked = newWindowConfig.startingState?.indexOf('docked') >= 0;\n\tnowWindow.isFloating =\n\t\tnewWindowConfig.startingState?.indexOf('floating') >= 0;\n\tnowWindow.canResize = newWindowConfig.canResize;\n\tnowWindow.resizableConfig = newWindowConfig.resizableConfig;\n\tnowWindow.maxWindowSizePercentage = newWindowConfig.maxWindowSizePercentage;\n\tnowWindow.fullscreenViewConfig = newWindowConfig.fullscreenViewConfig;\n\tnowWindow.browserDimensions = browserDimensions;\n\tnowWindow.bottomToolbarComponent = bottomToolbarComponent;\n\tnowWindow.configAria = newWindowConfig.configAria;\n\tnowWindow.isHidden = newWindowConfig.fitContent;\n\tnowWindow.isDirty = false;\n\tnowWindow.isOpen = newWindowConfig.isOpen;\n\n\tnewWindowConfig.component = nowWindow;\n\n\tconst modalWindows = windowsState.modalWindows || [];\n\n\tif (newWindowConfig.startingState === 'modal') {\n\t\t// nowWindow.resizableConfig.enableResizable = false;\n\t\tmodalWindows.push(newWindowConfig.id);\n\t}\n\n\tif (newWindowConfig.startingState?.indexOf('docked') >= 0) {\n\t\t// nowWindow.resizableConfig.enableResizable = false;\n\t\tif (newWindowConfig.startingState === 'docked-left') {\n\t\t\twindowsState.leftDockId = newWindowConfig.id;\n\t\t}\n\t\tif (newWindowConfig.startingState === 'docked-right') {\n\t\t\twindowsState.rightDockId = newWindowConfig.id;\n\t\t}\n\t\tif (newWindowConfig.startingState === 'docked-bottom') {\n\t\t\twindowsState.bottomDockId = newWindowConfig.id;\n\t\t}\n\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t}\n\n\t// call state change callback\n\thandleStateChangeCallback(\n\t\tnewWindowConfig,\n\t\t!newWindowConfig.isOpen ? 'closed' : newWindowConfig.startingState,\n\t);\n\n\t// append the new window to host element\n\tif (\n\t\tpayload.content.component.elm?.tagName === 'NOW-UXF-PAGE-SIMPLE-CONTAINER'\n\t) {\n\t\tpayload.content.component.elm.appendChild(nowWindow);\n\t} else {\n\t\thost.shadowRoot.appendChild(nowWindow);\n\t}\n\n\t//if uxf window and hideOthers is enabled, minimize other windows\n\tif (newWindowConfig.isUXFWindow && payload.hideOthers) {\n\t\tfor (const window of windowsList) {\n\t\t\tif (window.id !== newWindowConfig.id) {\n\t\t\t\thandleToggleMinimize({\n\t\t\t\t\t...coeffects,\n\t\t\t\t\taction: {\n\t\t\t\t\t\t...coeffects.action,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: window.id},\n\t\t\t\t\t\t\tforceMinimize: true,\n\t\t\t\t\t\t\toverrideConfig: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tupdateProperties({\n\t\twindowsList: [...windowsList, newWindowConfig],\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tactiveWindowId: newWindowConfig.id,\n\t\t\tmodalWindows: modalWindows,\n\t\t},\n\t});\n};\n\nexport const handleCloseWindow = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {windowsList, windowsState, showCloseConfirmDialog} = state.properties;\n\tconst {\n\t\tpayload: {\n\t\t\twindowConfig,\n\t\t\tforceDestroy = false,\n\t\t\toverrideConfig = false,\n\t\t\tclosedFromButton = false,\n\t\t},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\tconst reopenAsFloatingWindow = currentWindow?.reopenAsFloatingWindow || false;\n\n\t// Ensure the config doesn't prevent closing (unless overrideConfig is true)\n\tif (\n\t\t!currentWindow ||\n\t\t(!currentWindow.canClose && !overrideConfig && !forceDestroy)\n\t) {\n\t\treturn;\n\t}\n\n\tconsole.info('Closing Window', {\n\t\tshowCloseConfirmDialog,\n\t\tcurrentWindow,\n\t\tpayload: action.payload,\n\t});\n\n\tif (\n\t\t(!forceDestroy && currentWindow.component.isDirty) ||\n\t\twindowConfig.confirmClose\n\t) {\n\t\tupdateProperties({\n\t\t\tshowCloseConfirmDialog: true,\n\t\t\tclosingWindowId: currentWindow.id,\n\t\t\tconfirmCloseMessage: windowConfig.confirmCloseMessage || null,\n\t\t});\n\t\tif (currentWindow.component.isDirty) {\n\t\t\tdispatchEventToWindow(\n\t\t\t\twindowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\t'SN_WINDOW#CLOSE_REQUESTED',\n\t\t\t\t{\n\t\t\t\t\tmeta: action.payload.meta,\n\t\t\t\t\twindowId: currentWindow.id,\n\t\t\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\t\t\texperienceId: currentWindow.experienceId,\n\t\t\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst nowWindow = currentWindow.component;\n\tconst isPersistent = currentWindow.isPersistent || false;\n\n\tlet newWindowsList = null;\n\tlet newMinimizedWindows = windowsState.minimizedWindows || [];\n\tlet newModalWindows = windowsState.modalWindows || [];\n\tconst activeWindowId = windowsState.activeWindowId || null;\n\n\t// let the window's content element know that the window is being closed before we close it\n\tif (showCloseConfirmDialog) {\n\t\tdispatchEventToWindow(\n\t\t\twindowsList,\n\t\t\tcurrentWindow.id,\n\t\t\t'SN_WINDOW#CLOSE_CONFIRMED',\n\t\t\t{\n\t\t\t\twindowId: currentWindow.id,\n\t\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\t\texperienceId: currentWindow.experienceId,\n\t\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t},\n\t\t);\n\t}\n\n\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG events\n\tconst windowComponent = currentWindow.component;\n\tconst contentElement = currentWindow.component?.contentElement;\n\tconst isFullscreen = currentWindow.component.isFullscreenView ?? false;\n\n\tdispatchModelessDialogAction({\n\t\tcontentElement,\n\t\twindowConfig: currentWindow.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_OPENED_SET,\n\t\tpayload: {value: false},\n\t});\n\n\t// DEF0802061: dont disaptch this event if the window is already closed as it will trigger ai-notebook-explorer to close a dialog which should not get closed\n\tif (currentWindow.isOpen) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tconst windowBounds = windowComponent?.shadowRoot\n\t\t\t\t?.querySelector('.sn-window-wrapper')\n\t\t\t\t?.getBoundingClientRect();\n\t\t\tif (windowBounds) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig: currentWindow.windowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CLOSE,\n\t\t\t\t\tbounds: windowBounds,\n\t\t\t\t\tisFullscreen,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\twindow.requestAnimationFrame(() => {\n\t\tdispatchEventToContentElement(currentWindow, SN_WINDOW_CLOSED, {\n\t\t\twasConfirmed: showCloseConfirmDialog,\n\t\t\tclosedFromButton,\n\t\t});\n\t});\n\n\t// If the window is persistent AND we aren't forcing a destroy, then just close the window\n\tif (isPersistent && !forceDestroy) {\n\t\tcurrentWindow.isOpen = false;\n\t\tcurrentWindow.component.isOpen = false;\n\n\t\t// remove old entry from windowsList and add the updated entry\n\t\tnewWindowsList = windowsList.filter(\n\t\t\t(window) => window.id !== currentWindow.id,\n\t\t);\n\t\tnewWindowsList.push(currentWindow);\n\t\tnewMinimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\t} else {\n\t\tcurrentWindow.isOpen = false;\n\t\tcurrentWindow.component.isOpen = false;\n\n\t\tnewWindowsList = windowsList.filter(\n\t\t\t(window) => window.id !== currentWindow.id,\n\t\t);\n\t\tnewMinimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\t\tnewModalWindows = windowsState.modalWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\n\t\tsetTimeout(() => {\n\t\t\tnowWindow.remove();\n\t\t}, 30);\n\t}\n\n\tif (windowsState.leftDockId === currentWindow.id) {\n\t\twindowsState.leftDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-left';\n\t}\n\tif (windowsState.rightDockId === currentWindow.id) {\n\t\twindowsState.rightDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-right';\n\t}\n\tif (windowsState.bottomDockId === currentWindow.id) {\n\t\twindowsState.bottomDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-bottom';\n\t}\n\tif (currentWindow.component.isModal) {\n\t\tcurrentWindow.component.stateWhenClosed = 'modal';\n\t}\n\tif (reopenAsFloatingWindow || currentWindow.component.isFloating) {\n\t\tcurrentWindow.component.stateWhenClosed = 'floating';\n\t}\n\n\tupdateProperties({\n\t\tshowCloseConfirmDialog: false,\n\t\tclosingWindowId: null,\n\t\twindowsList: newWindowsList,\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: newMinimizedWindows,\n\t\t\tmodalWindows: newModalWindows,\n\t\t\t...(reopenAsFloatingWindow && {\n\t\t\t\tmodalWindows: newModalWindows.filter(\n\t\t\t\t\t(window) => window !== currentWindow.id,\n\t\t\t\t),\n\t\t\t}),\n\t\t\tactiveWindowId:\n\t\t\t\tactiveWindowId === currentWindow.id ? null : activeWindowId,\n\t\t},\n\t});\n\n\twindow.requestAnimationFrame(() => {\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t});\n\n\thandleStateChangeCallback(currentWindow, 'closed');\n};\n\nexport const handleOpenWindow = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {windowsList, windowsState} = state.properties;\n\tconst {payload} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\tif (!currentWindow) {\n\t\treturn;\n\t}\n\n\tif (payload.newProperties) {\n\t\t// interate over the contentElementData and set the properties on the contentElement component\n\t\tconst contentElementProperties = payload.newProperties || null;\n\t\tif (contentElementProperties) {\n\t\t\tObject.keys(contentElementProperties).forEach((key) => {\n\t\t\t\tcurrentWindow.component.contentElement[key] =\n\t\t\t\t\tcontentElementProperties[key];\n\t\t\t});\n\t\t}\n\t}\n\n\tif (currentWindow.isOpen) {\n\t\t// Window is already open, just bring it to front\n\t\tupdateProperties({\n\t\t\twindowsState: {\n\t\t\t\t...windowsState,\n\t\t\t\tactiveWindowId: currentWindow.id,\n\t\t\t},\n\t\t});\n\n\t\tdispatchEventToContentElement(currentWindow, SN_WINDOW_OPENED);\n\t\treturn;\n\t}\n\n\tcurrentWindow.isOpen = true;\n\t// Animate it early to beat any race condition\n\tcurrentWindow.component.isAnimating = true;\n\tcurrentWindow.component.isOpen = true;\n\n\tconst newWindowList = windowsList.filter(\n\t\t(window) => window.id !== currentWindow.id,\n\t);\n\tnewWindowList.push(currentWindow);\n\n\tconst isMinimized = windowsState.minimizedWindows.includes(currentWindow.id);\n\tlet minimizedWindows = windowsState.minimizedWindows || [];\n\tif (isMinimized) {\n\t\tminimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(windowId) => windowId !== currentWindow.id,\n\t\t);\n\t}\n\n\tconst windowStartingState = currentWindow.component.stateWhenClosed;\n\tif (windowStartingState !== '') {\n\t\tif (windowStartingState.indexOf('docked') >= 0) {\n\t\t\tif (windowStartingState === 'docked-left') {\n\t\t\t\twindowsState.leftDockId = currentWindow.id;\n\t\t\t}\n\t\t\tif (windowStartingState === 'docked-right') {\n\t\t\t\twindowsState.rightDockId = currentWindow.id;\n\t\t\t}\n\t\t\tif (windowStartingState === 'docked-bottom') {\n\t\t\t\twindowsState.bottomDockId = currentWindow.id;\n\t\t\t}\n\t\t\tcurrentWindow.component.isDocked = true;\n\t\t}\n\n\t\tcurrentWindow.component.stateWhenClosed = '';\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t\thandleStateChangeCallback(currentWindow, windowStartingState);\n\t}\n\n\tupdateProperties({\n\t\twindowsList: newWindowList,\n\t\twindowsState: {\n\t\t\t...state.properties.windowsState,\n\t\t\tactiveWindowId: currentWindow.id,\n\t\t\tminimizedWindows: minimizedWindows,\n\t\t},\n\t});\n\n\tdispatchEventToContentElement(currentWindow, SN_WINDOW_OPENED);\n};\n\nexport const handleModalToggle = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {\n\t\tproperties: {windowsState, windowsList},\n\t} = state;\n\tconst {\n\t\tpayload: {windowConfig, forceEnableModal = false, overrideConfig = false},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\t// Check if config doesn't prevent modal toggling (unless overrideConfig is true)\n\tif (\n\t\t!currentWindow ||\n\t\t(!(currentWindow.canToggleModal || currentWindow.canMaximize) &&\n\t\t\t!overrideConfig)\n\t) {\n\t\treturn;\n\t}\n\n\tlet modalWindows = windowsState.modalWindows || [];\n\n\tlet isModal;\n\n\tif (windowsState.modalWindows.includes(currentWindow.id)) {\n\t\t// When the window is already modal, we only want to remove it if the user isn't forcing modal mode\n\t\tif (!forceEnableModal) {\n\t\t\tmodalWindows = windowsState.modalWindows.filter(\n\t\t\t\t(windowId) => windowId !== currentWindow.id,\n\t\t\t);\n\t\t\tisModal = false;\n\t\t}\n\t} else {\n\t\tmodalWindows.push(currentWindow.id);\n\t\tisModal = true;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tmodalWindows: modalWindows,\n\t\t\tactiveWindowId: currentWindow.id,\n\t\t\tleftDockId:\n\t\t\t\twindowsState.leftDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.leftDockId,\n\t\t\trightDockId:\n\t\t\t\twindowsState.rightDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.rightDockId,\n\t\t\tbottomDockId:\n\t\t\t\twindowsState.bottomDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.bottomDockId,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\thandleStateChangeCallback(currentWindow, isModal ? 'modal' : 'floating');\n\t// HDS legacy: Toggle between full-screen view (floating) and modal view\n\tconst isFullscreen = isModal;\n\tdispatchModelessDialogAction({\n\t\tcontentElement: currentWindow?.component?.contentElement,\n\t\twindowConfig: currentWindow.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_MAXIMIZE,\n\t\tdialogSize: currentWindow?.component?.dialogSize,\n\t\tdialogLocation: currentWindow?.component?.dialogLocation,\n\t\tisFullscreen,\n\t});\n};\n\nexport const handleModelessMousedown = (coeffects) => {\n\tconst {action, state} = coeffects;\n\tconst {payload} = action;\n\tconst {properties} = state;\n\n\tif (properties.windowConfig.canDrag) {\n\t\tdispatchModelessDialogAction({\n\t\t\tcontentElement: properties.contentElement,\n\t\t\twindowConfig: properties.windowConfig,\n\t\t\tactionName: NOW_MODELESS_DIALOG_MOUSEDOWN,\n\t\t\tdialogSize: properties.dialogSize,\n\t\t\tdialogLocation: properties.dialogLocation,\n\t\t\tmouseEvent: payload.mouseEvent,\n\t\t});\n\t}\n};\n\nexport const handleModelessMouseup = (coeffects) => {\n\tconst {action, state} = coeffects;\n\tconst {properties} = state;\n\n\tdispatchModelessDialogAction({\n\t\tcontentElement: properties.contentElement,\n\t\twindowConfig: properties.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_MOUSEUP,\n\t\tdialogSize: properties.dialogSize,\n\t\tdialogLocation: properties.dialogLocation,\n\t\tmouseEvent: action.payload?.mouseEvent,\n\t});\n};\n\nexport const handleSetWindowActive = (coeffects) => {\n\tconst {updateProperties, state, action} = coeffects;\n\tconst {windowsState} = state.properties;\n\tconst {payload} = action;\n\n\tconst currentWindow = state.properties.windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\t// Focus the window\n\tcurrentWindow.component.focus();\n\n\tif (\n\t\twindowsState.activeWindowId === payload.windowConfig.id ||\n\t\t!currentWindow\n\t) {\n\t\treturn;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tactiveWindowId: payload.windowConfig.id,\n\t\t},\n\t});\n\t// dispatchEventToContentElement(currentWindow, SN_WINDOW_FOCUSED);\n};\n\nexport const handleToggleMinimize = (coeffects) => {\n\tconst {\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: {windowsList, windowsState},\n\t\t},\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\tforceMinimize = false,\n\t\t\t\toverrideConfig = false,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tconst currWindow = windowsList.find(\n\t\t(currentWindow) => currentWindow.id === windowId,\n\t);\n\n\t// Ensure the config doesn't prevent minimizing (unless overrideConfig is true)\n\tif (!currWindow || (!currWindow.canMinimize && !overrideConfig)) {\n\t\treturn;\n\t}\n\n\tconst currMinimizedWidows = windowsState.minimizedWindows || [];\n\tconst isMinimized = currMinimizedWidows.includes(windowId);\n\tlet newActiveWindowId;\n\n\tif (isMinimized) {\n\t\t// When the window is already minimized and we're forcing minimization, we maintain the current state\n\t\tif (forceMinimize) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove it from our list of minimized windows\n\t\tcurrMinimizedWidows.splice(currMinimizedWidows.indexOf(windowId), 1);\n\n\t\t// Update new active window id\n\t\tnewActiveWindowId = windowId;\n\n\t\t// Keep existing positions for other minimized windows, remove only this window's position\n\t\tconst existingPositions = {\n\t\t\t...windowsState.minimizedTargetPositions,\n\t\t};\n\t\tdelete existingPositions[windowId];\n\n\t\tconst newWindowsState = {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: currMinimizedWidows,\n\t\t\tactiveWindowId: newActiveWindowId,\n\t\t\tminimizedTargetPositions: existingPositions,\n\t\t\tisRestoring: true,\n\t\t};\n\n\t\tupdateProperties({\n\t\t\twindowsState: newWindowsState,\n\t\t});\n\t\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\t\twindowsList.forEach((window) => {\n\t\t\tif (window.component) {\n\t\t\t\twindow.component.windowsState = newWindowsState;\n\t\t\t\tdispatchEventToWindow(windowsList, window.id, 'PROPERTY_CHANGED', {\n\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\tvalue: newWindowsState,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\tconst existingPositionValues = Object.values(existingPositions);\n\t\t\tconst finalWindowsState =\n\t\t\t\texistingPositionValues.length > 0\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...windowsState,\n\t\t\t\t\t\t\tminimizedTargetPositions: Object.fromEntries(\n\t\t\t\t\t\t\t\tcurrMinimizedWidows\n\t\t\t\t\t\t\t\t\t.map((wId, index) => [\n\t\t\t\t\t\t\t\t\t\twId,\n\t\t\t\t\t\t\t\t\t\texistingPositionValues.sort((a, b) => a.left - b.left)[\n\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t])\n\t\t\t\t\t\t\t\t\t.filter(([, position]) => position),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tisRestoring: false,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t...windowsState,\n\t\t\t\t\t\t\tisRestoring: false,\n\t\t\t\t\t\t};\n\n\t\t\tupdateProperties({windowsState: finalWindowsState});\n\t\t\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\n\t\t\twindowsList.forEach((window) => {\n\t\t\t\tif (window.component) {\n\t\t\t\t\twindow.component.windowsState = finalWindowsState;\n\t\t\t\t\tdispatchEventToWindow(windowsList, window.id, 'PROPERTY_CHANGED', {\n\t\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\t\tvalue: finalWindowsState,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}, 100);\n\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\t\tconst dialogSize = currWindow.component.dialogSize;\n\t\tconst dialogLocation = currWindow.component.dialogLocation;\n\n\t\t// Only clamp the window if it's overflowing the viewport\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tdialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tconst clampedPosition = clampDialogPosition({dialogLocation, dialogSize});\n\n\t\t\tcurrWindow.dialogLocation = {\n\t\t\t\t...(dialogLocation.top !== undefined\n\t\t\t\t\t? {top: clampedPosition.top}\n\t\t\t\t\t: {bottom: clampedPosition.bottom}),\n\t\t\t\t...(dialogLocation.left !== undefined\n\t\t\t\t\t? {left: clampedPosition.left}\n\t\t\t\t\t: {right: clampedPosition.right}),\n\t\t\t};\n\t\t\tcurrWindow.dialogSize = {\n\t\t\t\twidth: clampedPosition.width,\n\t\t\t\theight: clampedPosition.height,\n\t\t\t};\n\n\t\t\tcurrWindow.component.dialogLocation = currWindow.dialogLocation;\n\t\t\tcurrWindow.component.dialogSize = currWindow.dialogSize;\n\t\t}\n\n\t\tconst windowContainer =\n\t\t\tcurrWindow.component.shadowRoot.querySelector('.sn-window-wrapper');\n\n\t\tif (!windowContainer) {\n\t\t\treturn;\n\t\t}\n\t} else {\n\t\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG#MINIMIZE before hiding\n\t\tconst windowBounds = currWindow.component?.shadowRoot\n\t\t\t?.querySelector('.sn-window-wrapper')\n\t\t\t?.getBoundingClientRect();\n\t\tif (windowBounds) {\n\t\t\tconst isFullscreen = currWindow.component.isFullscreenView || false;\n\t\t\tdispatchModelessDialogAction({\n\t\t\t\tcontentElement: currWindow?.component?.contentElement,\n\t\t\t\twindowConfig: currWindow.windowConfig,\n\t\t\t\tactionName: NOW_MODELESS_DIALOG_MINIMIZE,\n\t\t\t\tbounds: windowBounds,\n\t\t\t\tisFullscreen,\n\t\t\t});\n\t\t}\n\n\t\t// Update new active window id\n\t\tnewActiveWindowId = windowsState.activeWindowId;\n\n\t\t// Add it to our list of minimized windows\n\t\tcurrMinimizedWidows.push(windowId);\n\t}\n\n\t// toggle the properties\n\tcurrWindow.isMinimized = !isMinimized;\n\tcurrWindow.component.isMinimized = !isMinimized;\n\tcurrWindow.isOpen = isMinimized;\n\tcurrWindow.component.isOpen = isMinimized;\n\n\tdispatchEventToContentElement(currWindow, SN_WINDOW_MINIMIZED, {\n\t\tisMinimized: !isMinimized,\n\t});\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: currMinimizedWidows,\n\t\t\tactiveWindowId: newActiveWindowId,\n\t\t},\n\t});\n};\n\nexport const handleCheckWindowLocations = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {windowsList},\n\t\t},\n\t} = coeffects;\n\n\twindowsList.map((currentWindow) => {\n\t\tdispatchEventToWindow(\n\t\t\twindowsList,\n\t\t\tcurrentWindow.id,\n\t\t\tSN_WINDOW_CHECK_LOCATION,\n\t\t\t{\n\t\t\t\twidth: document.body.offsetWidth,\n\t\t\t\theight: document.body.offsetHeight,\n\t\t\t},\n\t\t);\n\t});\n};\n\nexport const relayMessage = ({state, action}) => {\n\tconst {properties} = state;\n\tconst {windowsList} = properties;\n\n\twindowsList.map((currentWindow) => {\n\t\tconst childWindow = currentWindow.component;\n\t\tchildWindow.dispatch(BROADCAST_MESSAGE, action.payload);\n\t});\n};\n\nexport const handleScreenChanged = (coeffects) => {\n\tconst {updateProperties, state, action} = coeffects;\n\tconst {payload} = action;\n\n\tupdateProperties({\n\t\tscreenInfo: {\n\t\t\tscreenKey: payload.screenKey,\n\t\t\tinstanceId: payload.instanceId,\n\t\t\texperienceId: payload.experienceId,\n\t\t},\n\t});\n\n\tconst bottomToolbar = state.properties.bottomToolbarComponent;\n\n\trequestAnimationFrame(() => {\n\t\tbottomToolbar.dispatch(UPDATE_BOTTOM_TOOLBAR_ELEMENTS, payload);\n\t});\n};\n\nexport const handleSetDirtyState = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, dirtyState} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isDirty: dirtyState},\n\t});\n};\n\nexport const handleDialogCloseConfirmed = (coeffects) => {\n\tconst {state, dispatch, updateProperties} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsList, closingWindowId} = properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === closingWindowId,\n\t);\n\tdispatch(CLOSE_WINDOW, {\n\t\twindowConfig: {id: closingWindowId},\n\t\tforceDestroy: true,\n\t});\n};\n\nexport const handleDialogCloseCancelled = (coeffects) => {\n\tconst {\n\t\tupdateProperties,\n\t\tproperties: {windowsList, closingWindowId},\n\t} = coeffects;\n\tupdateProperties({\n\t\tshowCloseConfirmDialog: false,\n\t\tclosingWindowId: null,\n\t});\n\tdispatchEventToWindow(\n\t\twindowsList,\n\t\tclosingWindowId,\n\t\t'SN_WINDOW#CLOSE_CANCELED',\n\t);\n};\n\nexport const handleSetWindowProperties = (coeffects) => {\n\tconst {state, action, updateProperties} = coeffects;\n\tconst {payload} = action;\n\tconst {windowsList} = state.properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowId,\n\t);\n\n\tconsole.info('Setting window properties', {payload, currentWindow});\n\n\tif (!currentWindow) {\n\t\treturn;\n\t}\n\n\t// update the window properties\n\tObject.keys(payload.newProperties).forEach((key) => {\n\t\tif (key in currentWindow) {\n\t\t\tcurrentWindow[key] = payload.newProperties[key];\n\t\t}\n\t\tif (key in currentWindow.component) {\n\t\t\tcurrentWindow.component[key] = payload.newProperties[key];\n\t\t}\n\t});\n\n\tupdateProperties({\n\t\twindowsList: [...windowsList],\n\t});\n\n\tdispatchEventToWindow(\n\t\twindowsList,\n\t\tcurrentWindow.id,\n\t\t'SN_WINDOW#SET_WINDOW_PROPERTIES',\n\t\tpayload.newProperties,\n\t);\n};\n\nconst dispatchEventToContentElement = (\n\tcurrentWindow,\n\tevent,\n\textraPayload = {},\n) => {\n\tconsole.info('Dispatching event to content element', {\n\t\tevent,\n\t\tcurrentWindow,\n\t\textraPayload,\n\t});\n\t// let the window's content element know that the window is being opened/closed\n\tif (currentWindow.component?.contentElement?.dispatch) {\n\t\tcurrentWindow.component.contentElement.dispatch(event, {\n\t\t\twindowId: currentWindow.id,\n\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\texperienceId: currentWindow.experienceId,\n\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t...extraPayload,\n\t\t});\n\t}\n};\n\nconst dispatchEventToWindow = (\n\twindowsList,\n\twindowId,\n\tevent,\n\teventPayload = {},\n) => {\n\tconst currentWindow = windowsList.find((window) => window.id === windowId);\n\tif (currentWindow) {\n\t\tcurrentWindow.component.dispatch(event, eventPayload);\n\t}\n};\n\nexport const handleSidebarUnreadMessage = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, isUnread} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isMessageUnread: isUnread},\n\t});\n};\n\nexport const handleSetSidebarChatPrivate = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, isPrivate} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isChatPrivate: isPrivate},\n\t});\n};\n\nexport const openDebugWindow = (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\n\tdispatch(CREATE_WINDOW, {\n\t\tid: 'debug-panel-window',\n\t\ttitle: `Window Manager Debug Panel`,\n\t\tcategory: 'Debug Tools',\n\t\tisPersistent: true,\n\t\tstartingState: 'floating',\n\t\tcloseToTop: false,\n\t\tcanResize: true,\n\t\tcanDrag: true,\n\t\tcanMinimize: true,\n\t\tcanMaximize: true,\n\t\tcanClose: true,\n\t\tcanDock: true,\n\t\tvariant: 'secondary',\n\t\tisOpen: true,\n\t\tposition: 'bottom-left',\n\t\toffset: '[100,50]',\n\t\tcloseButtonTooltip: 'Click this button to close the Debug Window',\n\t\tconfirmClose: true,\n\t\tconfirmCloseMessage: 'Are you sure you want to close the Debug Window?',\n\t\tdockConfig: {\n\t\t\tdockLeft: true,\n\t\t\tdockRight: true,\n\t\t\tdockBottom: true,\n\t\t},\n\t\tdialogSize: {\n\t\t\twidth: 640,\n\t\t\theight: 420,\n\t\t},\n\t\theaderIcon: {\n\t\t\ticon: 'bug-search-fill',\n\t\t\tvariant: 'initial',\n\t\t},\n\t\tcontent: {\n\t\t\tcomponent: 'debug-panel',\n\t\t\tproperties: {\n\t\t\t\ttitle: 'Debug Panel',\n\t\t\t\twindowsList: state.properties.windowsList,\n\t\t\t\twindowsState: state.properties.windowsState,\n\t\t\t},\n\t\t},\n\t});\n};\n\n// When a toolbar button mounts we measure its rect in the manager and store it in windowsState.\n// Because manager props don't auto-propagate into each sn-window, we explicitly push the updated\n// windowsState to the target window so its COMPONENT_PROPERTY_CHANGED runs and it recomputes the\n// minimized animation. We dispatch 'PROPERTY_CHANGED' and also call updateProperties on the window\n// to ensure both component logic and slotted content see the change immediately.\nexport const handleMinimizedTargetPosition = ({\n\tstate,\n\taction,\n\tupdateProperties,\n}) => {\n\tconst {windowId, rect} = action.payload;\n\n\tconst isMinimized =\n\t\tstate.properties.windowsState.minimizedWindows?.includes(windowId);\n\tif (!isMinimized) {\n\t\treturn;\n\t}\n\n\tconst prevPositions =\n\t\tstate.properties.windowsState.minimizedTargetPositions || {};\n\n\tconst updatedPositions = {\n\t\t...prevPositions,\n\t\t[windowId]: rect,\n\t};\n\n\tconst newWindowsState = {\n\t\t...state.properties.windowsState,\n\t\tminimizedTargetPositions: updatedPositions,\n\t};\n\n\tconst isSame = isDeepEqual(\n\t\tstate.properties.windowsState.minimizedTargetPositions,\n\t\tupdatedPositions,\n\t);\n\tif (isSame) {\n\t\treturn;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: newWindowsState,\n\t});\n\n\tconst currentWindow = state.properties.windowsList.find(\n\t\t(window) => window.id === windowId,\n\t);\n\n\tif (currentWindow?.component) {\n\t\tcurrentWindow.component.windowsState = newWindowsState;\n\t\t// Propagate to the target window so its COMPONENT_PROPERTY_CHANGED runs and it recomputes/animates\n\t\tdispatchEventToWindow(\n\t\t\tstate.properties.windowsList,\n\t\t\twindowId,\n\t\t\t'PROPERTY_CHANGED',\n\t\t\t{\n\t\t\t\tname: 'windowsState',\n\t\t\t\tvalue: newWindowsState,\n\t\t\t},\n\t\t);\n\n\t\tif (currentWindow.component.updateProperties) {\n\t\t\tcurrentWindow.component.updateProperties({\n\t\t\t\twindowsState: newWindowsState,\n\t\t\t});\n\t\t}\n\t} else {\n\t\tconsole.warn('Could not find window in windowsList:', windowId);\n\t}\n};\n\nexport const refreshAllMinimizedPositions = ({state, updateProperties}) => {\n\tconst clearedPositions = {};\n\n\tconst newWindowsState = {\n\t\t...state.properties.windowsState,\n\t\tminimizedTargetPositions: clearedPositions,\n\t};\n\n\tupdateProperties({\n\t\twindowsState: newWindowsState,\n\t});\n\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\tstate.properties.windowsList.forEach((window) => {\n\t\tif (window.component) {\n\t\t\twindow.component.windowsState = newWindowsState;\n\t\t\tdispatchEventToWindow(\n\t\t\t\tstate.properties.windowsList,\n\t\t\t\twindow.id,\n\t\t\t\t'PROPERTY_CHANGED',\n\t\t\t\t{\n\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\tvalue: newWindowsState,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * Handle focus bottom toolbar request from keyboard shortcut\n * Finds first minimized window button and focuses it with retry pattern\n * Announces state to screen readers\n */\nexport const handleFocusBottomToolbar = (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {bottomToolbarComponent, windowsState} = properties;\n\n\t// Check if bottom toolbar exists\n\tif (!bottomToolbarComponent) {\n\t\tconsole.warn('[WM Shortcuts] No bottom toolbar component');\n\t\treturn;\n\t}\n\n\t// Check if there are minimized windows\n\tconst minimizedCount = windowsState?.minimizedWindows?.length ?? 0;\n\n\tif (minimizedCount === 0) {\n\t\t// Announce no minimized windows\n\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\tmessage: 'No minimized windows',\n\t\t\ttype: 'polite',\n\t\t\treplaceContent: true,\n\t\t});\n\t\treturn;\n\t}\n\n\t// Find and focus first button using getFocusableNodes\n\tconst toolbar = bottomToolbarComponent?.shadowRoot?.querySelector(\n\t\t'.sn-window-manager-toolbar',\n\t);\n\tconst focusableNodes = getFocusableNodes(toolbar);\n\tconst firstButton = focusableNodes?.tabbableNodes?.[0] ?? null;\n\n\tif (!firstButton) {\n\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\tmessage: 'Bottom toolbar not available',\n\t\t\ttype: 'polite',\n\t\t\treplaceContent: true,\n\t\t});\n\t\treturn;\n\t}\n\n\t// Focus with retry pattern (returns a promise but we don't need to await it)\n\tfocusElementWithRetry(firstButton).then((focusSuccess) => {\n\t\tif (focusSuccess) {\n\t\t\t// Announce to screen reader\n\t\t\tconst message =\n\t\t\t\tminimizedCount === 1\n\t\t\t\t\t? 'Bottom bar focused. 1 minimized window.'\n\t\t\t\t\t: `Bottom bar focused. ${minimizedCount} minimized windows.`;\n\t\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\t\tmessage,\n\t\t\t\ttype: 'polite',\n\t\t\t\treplaceContent: true,\n\t\t\t});\n\t\t}\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {\n\tBROADCAST_MESSAGE,\n\tSET_HEADER_BUTTONS,\n\tTOGGLE_MODAL_STATE,\n} from '../sn-window-manager/utilities/actions';\nimport {\n\tclampDialogPosition,\n\tfindAvailableDialogPosition,\n\tisWindowInBounds,\n} from '../sn-window-manager/utilities/helpers';\nimport {\n\tSN_WINDOW_CHECK_LOCATION,\n\tSN_WINDOW_CREATED,\n\tSN_WINDOW_FOCUSED,\n\tSN_WINDOW_SET_DIRTY_STATE,\n\tSN_WINDOW_MODALIZED,\n\tSN_WINDOW_DOCKED,\n\tSN_WINDOW_MINIMIZED,\n\tSN_WINDOW_SET_WINDOW_SIZE,\n\tSN_WINDOW_SET_DOCKED_WINDOW_SIZE,\n\tSN_WINDOW_SET_WINDOW_PROPERTIES,\n\tNOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\tNOW_MODELESS_DIALOG_RESIZABLE_END,\n} from './actions';\nimport {\n\tdeepSearchElement,\n\tdispatchModelessDialogAction,\n} from './behaviors/utils/helpers';\nimport {handleStateChangeCallback} from '../sn-window-manager/utilities';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n} = actionTypes;\n\nconst setAnimationClass = (host, disabled) => {\n\tif (disabled) {\n\t\thost.classList.add('disable-animation');\n\t} else {\n\t\thost.classList.remove('disable-animation');\n\t}\n};\nconst animationTimeouts = new WeakMap();\n\nexport const isFullScreen = (\n\tbrowserDimensions,\n\tisModal,\n\tfullscreenViewConfig,\n) => {\n\t// Get width and height thresholds based on whether the window is a modal\n\tconst widthThreshold = isModal\n\t\t? fullscreenViewConfig.modalThresholds.width\n\t\t: fullscreenViewConfig.standardThresholds.width;\n\tconst heightThreshold = isModal\n\t\t? fullscreenViewConfig.modalThresholds.height\n\t\t: fullscreenViewConfig.standardThresholds.height;\n\n\t// If browserDimensions are not yet initialized (0,0), don't treat as fullscreen\n\tif (browserDimensions?.width === 0 || browserDimensions?.height === 0) {\n\t\treturn false;\n\t}\n\n\t// Check if the browser dimensions are less than the thresholds\n\treturn (\n\t\tbrowserDimensions.width < widthThreshold ||\n\t\tbrowserDimensions.height < heightThreshold\n\t);\n};\n\nexport const computeStyleObj = (properties) => {\n\tconst {windowsState, windowConfig} = properties;\n\n\tconst {top, left, bottom, right} = properties.dialogLocation;\n\tconst autoResizeEnabled =\n\t\twindowConfig.autoResizableConfig?.enableAutoResizableHeight;\n\n\t// default and floating\n\tlet styleObj = {\n\t\t...(top !== undefined\n\t\t\t? {top: `${top}px`, bottom: 'auto'}\n\t\t\t: {bottom: `${bottom}px`, top: 'auto'}),\n\t\t...(left !== undefined\n\t\t\t? {left: `${left}px`, right: 'auto'}\n\t\t\t: {right: `${right}px`, left: 'auto'}),\n\t\twidth: `${properties.dialogSize.width}px`,\n\t\theight: autoResizeEnabled ? 'initial' : `${properties.dialogSize.height}px`,\n\t\t'min-height': autoResizeEnabled\n\t\t\t? `${properties.windowConfig.autoResizableConfig?.autoResizableMinHeight}px`\n\t\t\t: 'auto',\n\t\t'max-height': autoResizeEnabled\n\t\t\t? `${properties.windowConfig.autoResizableConfig?.autoResizableMaxHeight}px`\n\t\t\t: 'auto',\n\t};\n\n\tif (\n\t\tisFullScreen(\n\t\t\tproperties.browserDimensions,\n\t\t\tproperties.isModal,\n\t\t\tproperties.fullscreenViewConfig,\n\t\t) &&\n\t\tproperties.isOpen\n\t) {\n\t\tstyleObj = {\n\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t...(left !== undefined ? {left: '0px'} : {right: '0px'}),\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t\tborderRadius: 0,\n\t\t};\n\t} else if (properties.isDocked) {\n\t\tconst isLeft = windowsState.leftDockId === windowConfig.id;\n\t\tconst isRight = windowsState.rightDockId === windowConfig.id;\n\t\tconst isBottom = windowsState.bottomDockId === windowConfig.id;\n\n\t\tif (isLeft) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: '0px'}\n\t\t\t\t\t: {right: `calc(100vw - ${properties.dockedWindowSize}px)`}),\n\t\t\t\twidth: `${properties.dockedWindowSize}px`,\n\t\t\t\theight: '100vh',\n\t\t\t};\n\t\t} else if (isRight) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `calc(100vw - ${properties.dockedWindowSize}px)`}\n\t\t\t\t\t: {right: '0px'}),\n\t\t\t\twidth: `${properties.dockedWindowSize}px`,\n\t\t\t\theight: '100vh',\n\t\t\t};\n\t\t} else if (isBottom) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `calc(100vh - ${properties.dockedWindowSize}px)`}\n\t\t\t\t\t: {bottom: '0px'}),\n\t\t\t\t...(left !== undefined ? {left: '0px'} : {right: '0px'}),\n\t\t\t\twidth: `${window.innerWidth}px`,\n\t\t\t\theight: `${properties.dockedWindowSize}px`,\n\t\t\t};\n\t\t}\n\t} else if (windowConfig.closeToTop && !properties.isOpen) {\n\t\tconst isRTL = document.dir === 'rtl';\n\t\tconst topCoordinate =\n\t\t\twindowConfig.closeToElement?.top ??\n\t\t\twindowConfig.closeToElement?.getBoundingClientRect?.()?.top ??\n\t\t\t12;\n\t\tconst bottomCoordinate =\n\t\t\twindowConfig.closeToElement?.bottom ??\n\t\t\twindow.innerHeight - properties.dialogSize.height - 12;\n\t\tconst leftCoordinate =\n\t\t\twindowConfig.closeToElement?.left ??\n\t\t\twindowConfig.closeToElement?.getBoundingClientRect?.()?.left ??\n\t\t\twindow.innerWidth - 210;\n\t\tconst rightCoordinate = windowConfig.closeToElement?.right ?? 210;\n\n\t\tlet closingLocation;\n\n\t\t// Calculate where the transform origin should be based on whether we're using top/left or bottom/right\n\t\tif (top !== undefined) {\n\t\t\tclosingLocation = {\n\t\t\t\ttransformOrigin: 'top left',\n\t\t\t\ttop: `${topCoordinate}px`,\n\t\t\t\tleft: `${!isRTL ? leftCoordinate : window.innerWidth - leftCoordinate}px`,\n\t\t\t};\n\t\t} else {\n\t\t\tclosingLocation = {\n\t\t\t\ttransformOrigin: 'bottom right',\n\t\t\t\tbottom: `${bottomCoordinate}px`,\n\t\t\t\tright: `${!isRTL ? rightCoordinate : window.innerWidth - rightCoordinate}px`,\n\t\t\t};\n\t\t}\n\n\t\tstyleObj = {\n\t\t\t...closingLocation,\n\t\t\twidth: `${properties.dialogSize.width}px`,\n\t\t\theight: `${properties.dialogSize.height}px`,\n\t\t};\n\t} else if (properties.isMinimized) {\n\t\tconst target =\n\t\t\tproperties.windowsState?.minimizedTargetPositions?.[\n\t\t\t\tproperties.windowConfig.id\n\t\t\t];\n\t\tconst positionsCleared =\n\t\t\tObject.keys(properties.windowsState?.minimizedTargetPositions || {})\n\t\t\t\t.length === 0;\n\t\tconst isRestoring = properties.windowsState?.isRestoring;\n\n\t\tif (target && !positionsCleared && !isRestoring) {\n\t\t\tconst targetTopRightX = target.left + target.width;\n\t\t\tconst targetTopRightY = target.top;\n\n\t\t\tconst isFirstSlot = target.left <= 16; // First button is typically at left: 16px\n\t\t\tconst verticalOffset = isFirstSlot ? 52 : 0; // Apply 52px offset only to first slot\n\n\t\t\tconst modalLeft = targetTopRightX - properties.dialogSize.width;\n\t\t\tconst modalTop = targetTopRightY - verticalOffset;\n\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `${modalTop}px`}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tbottom: `${\n\t\t\t\t\t\t\t\twindow.innerHeight - modalTop - properties.dialogSize.height\n\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `${modalLeft}px`}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tright: `${\n\t\t\t\t\t\t\t\twindow.innerWidth - modalLeft - properties.dialogSize.width\n\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t}),\n\t\t\t\twidth: `${properties.dialogSize.width}px`,\n\t\t\t\theight: `${properties.dialogSize.height}px`,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep previous style until the minimize target is available\n\t\t\tstyleObj = {\n\t\t\t\t...properties.styleObj,\n\t\t\t};\n\t\t}\n\t} else if (properties.isModal) {\n\t\tconst autoResizeEnabled =\n\t\t\twindowConfig.autoResizableConfig?.enableAutoResizableHeight;\n\n\t\tif (autoResizeEnabled) {\n\t\t\t// Use CSS-based centering for auto-sizing modals\n\t\t\tstyleObj = {\n\t\t\t\ttop: '50%',\n\t\t\t\tleft: '50%',\n\t\t\t\ttransform: 'translate(-50%, -50%)',\n\t\t\t\twidth: windowConfig.autoResizableConfig?.modalWidth || '600px',\n\t\t\t\theight: 'auto',\n\t\t\t\ttransformOrigin: 'center center',\n\t\t\t\t'min-height': `${windowConfig.autoResizableConfig?.autoResizableMinHeight || 200}px`,\n\t\t\t\t'max-height': `${\n\t\t\t\t\twindowConfig.autoResizableConfig?.autoResizableMaxHeight ||\n\t\t\t\t\twindow.innerHeight * 0.9\n\t\t\t\t}px`,\n\t\t\t};\n\t\t} else {\n\t\t\tlet modalTop = 0;\n\t\t\tlet modalLeft = 0;\n\t\t\tconst mWidth = properties.modalSize.width;\n\t\t\tconst mHeight = properties.modalSize.height;\n\n\t\t\tconst dimension = (dim, total) => {\n\t\t\t\tif (typeof dim === 'number') {\n\t\t\t\t\treturn {px: dim, css: `${dim}px`};\n\t\t\t\t}\n\t\t\t\tif (typeof dim === 'string') {\n\t\t\t\t\tif (dim.endsWith('%')) {\n\t\t\t\t\t\tconst percent = parseFloat(dim) * 0.01;\n\t\t\t\t\t\treturn {px: total * percent, css: dim};\n\t\t\t\t\t}\n\t\t\t\t\tif (dim.endsWith('px')) {\n\t\t\t\t\t\tconst px = parseInt(dim, 10);\n\t\t\t\t\t\treturn {px, css: dim};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {px: 0, css: '0px'};\n\t\t\t};\n\n\t\t\tconst {px: widthPx, css: widthCss} = dimension(mWidth, window.innerWidth);\n\t\t\tconst {px: heightPx, css: heightCss} = dimension(\n\t\t\t\tmHeight,\n\t\t\t\twindow.innerHeight,\n\t\t\t);\n\n\t\t\tmodalLeft = (window.innerWidth - widthPx) / 2;\n\t\t\tmodalTop = (window.innerHeight - heightPx) / 2;\n\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `${modalTop}px`}\n\t\t\t\t\t: {bottom: `${window.innerHeight - modalTop - heightPx}px`}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `${modalLeft}px`}\n\t\t\t\t\t: {right: `${window.innerWidth - modalLeft - widthPx}px`}),\n\t\t\t\twidth: widthCss,\n\t\t\t\theight: heightCss,\n\t\t\t};\n\t\t}\n\t}\n\n\tstyleObj = {\n\t\t...styleObj,\n\t\t...(top !== undefined && !styleObj.transformOrigin\n\t\t\t? {transformOrigin: 'top left'}\n\t\t\t: {transformOrigin: 'bottom right'}),\n\t};\n\n\treturn styleObj;\n};\n\n// ----- TODO: Remove block once the new thumbtack icons are provided -----\n// NOTE: This code is EXTREMELY brittle, and will break if the structure of the shadow DOM changes\n// Temporary solution while the other direction thumbtack icons are not available\nconst updateShadowRootStyling = (host) => {\n\t// find the header of the window\n\tconst header = host.shadowRoot.querySelector('.header');\n\tif (!header) {\n\t\treturn;\n\t}\n\n\t// clear any styling from all existing buttons.\n\tconst existingButtons = header.querySelectorAll(\n\t\t'now-button, now-button-iconic',\n\t);\n\texistingButtons.forEach((button) => {\n\t\tconst shadowRoot = button.shadowRoot?.querySelector('now-icon')?.shadowRoot;\n\t\tif (shadowRoot) {\n\t\t\tconst style = shadowRoot.querySelector('style');\n\t\t\tif (style) {\n\t\t\t\tshadowRoot.removeChild(style);\n\t\t\t}\n\t\t}\n\t});\n\n\t// check if there is only one dock button. If so, rotate it 45 degrees\n\tlet icon = header.querySelector('.singular-dock-button');\n\tlet transform = 'transform: rotate(-45deg); margin-top: -2px;';\n\n\t// if there more than one dock button, then icon will be null\n\t// so grab the right side dock button and flip it horizontally\n\tif (!icon) {\n\t\ticon = header.querySelector('.right-dock-button');\n\t\ttransform = 'transform: scaleX(-1);';\n\t}\n\n\t// if icon is still null then no dock buttons were found and nothing needs to be done\n\tif (!icon) {\n\t\treturn;\n\t}\n\n\t// ugly and hacky but this stops styling custom icons provided for the pinning button\n\tif (!icon?.icon?.includes('thumbtack')) {\n\t\treturn;\n\t}\n\n\t// dig down and find the now-icon shadow root\n\tconst nowIconShadowRoot =\n\t\ticon.shadowRoot?.querySelector('now-icon')?.shadowRoot;\n\n\t// if now-icon was not found, then there is nothing to do\n\tif (!nowIconShadowRoot) {\n\t\treturn;\n\t}\n\n\t// Remove any existing style first to prevent duplicates\n\tconst existingStyle = nowIconShadowRoot.querySelector('style');\n\tif (existingStyle) {\n\t\tnowIconShadowRoot.removeChild(existingStyle);\n\t}\n\n\t// Add the new style to rotate the now-icon in the button\n\tconst styling = document.createElement('style');\n\tstyling.innerHTML = `.now-icon { ${transform} }`;\n\tnowIconShadowRoot.appendChild(styling);\n};\n\nconst handleSetHeaderButtons = (coeffects) => {\n\tconst {state, action, updateProperties} = coeffects;\n\tconst {properties} = state;\n\tconst {windowConfig} = properties;\n\n\tupdateProperties({\n\t\twindowConfig: {\n\t\t\t...windowConfig,\n\t\t\theaderButtons: action.payload.headerButtons,\n\t\t},\n\t});\n};\n\nconst handleSetWindowSize = (coeffects) => {\n\tconst {\n\t\tstate: {properties},\n\t\taction: {payload},\n\t\tdispatch,\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst {dialogSize, dialogLocation, windowConfig} = properties;\n\n\tconsole.info('window handleSetWindowSize', {payload});\n\n\tif (\n\t\tpayload.width !== dialogSize.width ||\n\t\tpayload.height !== dialogSize.height\n\t) {\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\t\tconst newDialogSize = {\n\t\t\twidth: payload.width ? payload.width : dialogSize.width,\n\t\t\theight: payload.height ? payload.height : dialogSize.height,\n\t\t};\n\t\tlet clampedPosition = {\n\t\t\t...dialogLocation,\n\t\t\t...newDialogSize,\n\t\t};\n\n\t\t// Clamp the window if it's now out of bounds\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tnewDialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tclampedPosition = clampDialogPosition({\n\t\t\t\tdialogLocation,\n\t\t\t\tdialogSize: newDialogSize,\n\t\t\t});\n\t\t}\n\n\t\tif (windowConfig.autoResizableConfig?.enableAutoResizableHeight) {\n\t\t\tupdateProperties({\n\t\t\t\twindowConfig: {\n\t\t\t\t\t...windowConfig,\n\t\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t\t...windowConfig.autoResizableConfig,\n\t\t\t\t\t\tenableAutoResizableHeight: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', clampedPosition);\n\t\t});\n\t}\n};\n\nconst updateButtonFocus = (host, focusButtonId, isActive = true) => {\n\tconst headerElement = host.shadowRoot.querySelector('.docked-window');\n\tif (!headerElement) {\n\t\treturn;\n\t}\n\n\tconst buttons = getFocusableNodes(headerElement)?.tabbableNodes || [];\n\n\t// blur every button to prevent tooltips from sticking around when they shouldnt\n\tbuttons?.forEach((button) => {\n\t\tbutton.blur();\n\t});\n\n\tif (focusButtonId && isActive) {\n\t\tconst buttonToFocus = host.shadowRoot?.querySelector(\n\t\t\t`now-button[id=\"${focusButtonId}\"]`,\n\t\t);\n\t\tbuttonToFocus?.shadowRoot.querySelector('button')?.focus();\n\t}\n\n\tif (!focusButtonId && isActive) {\n\t\tconsole.info('Focusing first button', buttons[0]);\n\t\tbuttons[0]?.focus();\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {\n\t\t\t\thasModalEventListenerSet,\n\t\t\t\tproperties: {isModal, windowConfig},\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t} = coeffects;\n\t\tconst modalElement = host.parentNode.querySelector('[id^=\"modal-origin\"]');\n\n\t\t// Handle modal event listener setup/removal\n\t\tif (\n\t\t\twindowConfig.modalOverlayClickEnabled &&\n\t\t\twindowConfig.canMaximize &&\n\t\t\tisModal !== !!hasModalEventListenerSet\n\t\t) {\n\t\t\tif (isModal) {\n\t\t\t\tif (modalElement) {\n\t\t\t\t\t// Set up modal event listener\n\t\t\t\t\tmodalElement.addEventListener('click', () => {\n\t\t\t\t\t\tdispatch(TOGGLE_MODAL_STATE, {windowConfig: {id: windowConfig.id}});\n\t\t\t\t\t});\n\n\t\t\t\t\t// Update state to track that listener is set\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'hasModalEventListenerSet',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Clean up state when no longer a modal\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'hasModalEventListenerSet',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tisModal &&\n\t\t\tmodalElement &&\n\t\t\t!modalElement.classList.contains('modal-visible')\n\t\t) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tmodalElement.classList.add('modal-visible');\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\tconst {state, host, updateProperties, dispatch} = coeffects;\n\t\tconst {properties} = state;\n\n\t\tsetAnimationClass(host, properties.animationsDisabled);\n\n\t\tif (properties.contentElement !== null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = properties.windowConfig.content || null;\n\t\tconst contentTagName = content?.component || 'div';\n\t\tconst contentElementProperties = content?.properties || null;\n\t\tconst contentElement =\n\t\t\ttypeof contentTagName === 'string'\n\t\t\t\t? document.createElement(contentTagName)\n\t\t\t\t: contentTagName.elm || contentTagName;\n\n\t\tlet slottedHeading = null;\n\t\tlet slottedContent = null;\n\t\tlet slottedFooter = null;\n\t\tlet slottedActions = null;\n\n\t\tif (contentElement.querySelectorAll('[slot=\"heading\"]').length > 0) {\n\t\t\t// slottedHeading = contentElement.querySelector('[slot=\"heading\"]');\n\t\t\tconst headingElements =\n\t\t\t\tcontentElement.querySelectorAll('[slot=\"heading\"]');\n\t\t\tslottedHeading = document.createDocumentFragment();\n\t\t\theadingElements.forEach((elem) => {\n\t\t\t\tslottedHeading.appendChild(elem);\n\t\t\t});\n\t\t}\n\t\tif (contentElement.querySelectorAll('[slot=\"content\"]').length > 0) {\n\t\t\t// slottedContent = contentElement.querySelector('[slot=\"content\"]');\n\t\t\tconst contentElements =\n\t\t\t\tcontentElement.querySelectorAll('[slot=\"content\"]');\n\t\t\tslottedContent = document.createDocumentFragment();\n\t\t\tcontentElements.forEach((elem) => {\n\t\t\t\tslottedContent.appendChild(elem);\n\t\t\t});\n\t\t}\n\t\tif (contentElement.querySelectorAll('[slot=\"footer\"]').length > 0) {\n\t\t\tconst footerElements = contentElement.querySelectorAll('[slot=\"footer\"]');\n\t\t\tslottedFooter = document.createDocumentFragment();\n\t\t\tfooterElements.forEach((elem) => {\n\t\t\t\tslottedFooter.appendChild(elem);\n\t\t\t});\n\t\t\t// slottedFooter = contentElement.querySelector('[slot=\"footer\"]');\n\t\t}\n\t\tif (contentElement.querySelectorAll('[slot=\"actions\"]').length > 0) {\n\t\t\t// slottedActions = contentElement.querySelector('[slot=\"actions\"]');\n\t\t\tconst actionsElements =\n\t\t\t\tcontentElement.querySelectorAll('[slot=\"actions\"]');\n\t\t\t// force slotted NOW-BUTTON-ICONIC buttons to be the same size and style as other header buttons\n\t\t\tactionsElements.forEach((elem) => {\n\t\t\t\tif (elem.tagName === 'NOW-BUTTON-ICONIC') {\n\t\t\t\t\telem['size'] = properties.windowConfig.size;\n\t\t\t\t\telem['hidePadding'] = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\tslottedActions = document.createDocumentFragment();\n\t\t\tactionsElements.forEach((elem) => {\n\t\t\t\tslottedActions.appendChild(elem);\n\t\t\t});\n\t\t}\n\n\t\tcontentElement['windowConfig'] = properties.windowConfig;\n\t\tcontentElement['windowsState'] = properties.windowsState;\n\t\tcontentElement['portalType'] = properties.portalType;\n\t\tcontentElement['dialogSize'] = properties.dialogSize;\n\t\tcontentElement['dialogLocation'] = properties.dialogLocation;\n\t\tcontentElement['isDocked'] = properties.isDocked;\n\t\tcontentElement['isModal'] = properties.isModal;\n\t\tcontentElement['isFloating'] = properties.isFloating;\n\n\t\t// interate over the contentElementData and set the properties on the contentElement component\n\t\tif (contentElementProperties) {\n\t\t\tObject.keys(contentElementProperties).forEach((key) => {\n\t\t\t\tcontentElement[key] = contentElementProperties[key];\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\t// Append the content element to the host element\n\t\t\tconst parentElement = host.shadowRoot.querySelector('.docked-window');\n\n\t\t\tif (!parentElement) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// const modelessDialog = host.shadowRoot.querySelector(parentElement);\n\t\t\tconst contentSlot = parentElement.querySelector('div[slot=\"content\"]');\n\t\t\tcontentSlot.prepend(slottedContent ?? contentElement);\n\n\t\t\tif (slottedFooter) {\n\t\t\t\tconst footerSlot = parentElement.querySelector('div[slot=\"footer\"]');\n\t\t\t\tif (slottedFooter.hasAttribute && slottedFooter.hasAttribute('slot')) {\n\t\t\t\t\tslottedFooter.removeAttribute('slot');\n\t\t\t\t}\n\t\t\t\tfooterSlot.prepend(slottedFooter);\n\t\t\t}\n\n\t\t\tif (slottedHeading) {\n\t\t\t\tconst headerSlot = parentElement.querySelector('div[slot=\"heading\"]');\n\t\t\t\tif (\n\t\t\t\t\tslottedHeading.hasAttribute &&\n\t\t\t\t\tslottedHeading.hasAttribute('slot')\n\t\t\t\t) {\n\t\t\t\t\tslottedHeading.removeAttribute('slot');\n\t\t\t\t}\n\t\t\t\theaderSlot.prepend(slottedHeading);\n\t\t\t}\n\n\t\t\tif (slottedActions) {\n\t\t\t\tconst actionsSlot = parentElement.querySelector('div[slot=\"actions\"]');\n\t\t\t\tif (\n\t\t\t\t\tslottedActions.hasAttribute &&\n\t\t\t\t\tslottedActions.hasAttribute('slot')\n\t\t\t\t) {\n\t\t\t\t\tslottedActions.removeAttribute('slot');\n\t\t\t\t}\n\t\t\t\tactionsSlot.prepend(slottedActions);\n\t\t\t}\n\n\t\t\tconst resizeEnabled =\n\t\t\t\tproperties.windowConfig.canDrag &&\n\t\t\t\tproperties.windowConfig.startingState !== 'modal' &&\n\t\t\t\tproperties.windowConfig.startingState?.indexOf('docked') === -1;\n\n\t\t\tif (properties.windowConfig.fitContent) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst container = host.shadowRoot.querySelector('.docked-window');\n\n\t\t\t\t\tconst content = container.querySelector('[slot=\"content\"]');\n\t\t\t\t\tconst header = container.querySelector('div[slot=\"heading\"]');\n\t\t\t\t\tconst footer = container.querySelector('div[slot=\"footer\"]');\n\n\t\t\t\t\tconst headerHeight = header?.offsetHeight || 0;\n\t\t\t\t\tconst footerHeight = footer?.offsetHeight || 0;\n\t\t\t\t\tconst contentRect = content.getBoundingClientRect();\n\n\t\t\t\t\tconst margin = 20;\n\t\t\t\t\tconst viewportHeight = window.innerHeight;\n\t\t\t\t\tconst viewportWidth = window.innerWidth;\n\n\t\t\t\t\tconst dialogHeight = Math.max(\n\t\t\t\t\t\theaderHeight + contentRect.height + footerHeight,\n\t\t\t\t\t\t200,\n\t\t\t\t\t);\n\t\t\t\t\tconst dialogWidth = Math.max(\n\t\t\t\t\t\tMath.min(contentRect.width, viewportWidth - margin * 2),\n\t\t\t\t\t\t320,\n\t\t\t\t\t);\n\n\t\t\t\t\tconst top = Math.max(\n\t\t\t\t\t\tmargin,\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t(viewportHeight - dialogHeight) / 2,\n\t\t\t\t\t\t\tviewportHeight - dialogHeight - margin,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\tconst left = Math.max(\n\t\t\t\t\t\tmargin,\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t(viewportWidth - dialogWidth) / 2,\n\t\t\t\t\t\t\tviewportWidth - dialogWidth - margin,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: Math.round(top),\n\t\t\t\t\t\tleft: Math.round(left),\n\t\t\t\t\t\twidth: dialogWidth,\n\t\t\t\t\t\theight: dialogHeight,\n\t\t\t\t\t});\n\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tisHidden: false,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\t// temp fix until HDS fixes DEF0708685 in resizableBehavior\n\t\t\t// once HDS fixes resize behavior and we remove this, we will still need\n\t\t\t// to fix our custom drag behavior to toggle pointer-events on the iframe\n\t\t\thost.addEventListener('mousedown', () => {\n\t\t\t\tconst iframeElement = deepSearchElement(\n\t\t\t\t\t'iframe#gsft_main',\n\t\t\t\t\tdocument.body,\n\t\t\t\t);\n\t\t\t\tif (iframeElement) {\n\t\t\t\t\tiframeElement.style.pointerEvents = 'none';\n\t\t\t\t}\n\t\t\t});\n\t\t\thost.addEventListener('mouseup', () => {\n\t\t\t\tconst iframeElement = deepSearchElement(\n\t\t\t\t\t'iframe#gsft_main',\n\t\t\t\t\tdocument.body,\n\t\t\t\t);\n\t\t\t\tif (iframeElement) {\n\t\t\t\t\tiframeElement.style.pointerEvents = 'auto';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\tcontentElement,\n\t\t\t\tslottedHeading,\n\t\t\t\tslottedContent,\n\t\t\t\tslottedFooter,\n\t\t\t\tslottedActions,\n\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t...properties,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\t// delay updating resizableConfig for resizableBehavior.\n\t\t\t// The behavior expects to start in an enabled state for the on/off toggle to work.\n\t\t\t// Otherwise if it starts in a disabled state it will never create its resize element\n\t\t\t// and so when resize is enabled again, the behavior does not\n\t\t\t// have its resize element to attach to the DOM\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tenableResizable: resizeEnabled,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\t// TODO: Remove once the new thumbtack icons are provided\n\t\t\t\t// Temporary solution while the other direction thumbtack icons are not available\n\t\t\t\tupdateShadowRootStyling(host);\n\t\t\t}, 100);\n\n\t\t\tif (contentElement.dispatch) {\n\t\t\t\tcontentElement.dispatch(SN_WINDOW_CREATED, {\n\t\t\t\t\tscreenKey: properties.windowConfig.screenKey,\n\t\t\t\t\tinstanceId: properties.windowConfig.instanceId,\n\t\t\t\t\texperienceId: properties.windowConfig.experienceId,\n\t\t\t\t\twindowId: properties.windowConfig.id,\n\t\t\t\t\tcomponentId: properties.windowConfig.uxrComponentId,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// HDS legacy: Dispatch CONTENT_VISIBLE when window is first created and has contentElement\n\t\t\tif (properties.isOpen && contentElement.dispatch) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\t\t\t\t\tpayload: {},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst genStyles = getComputedStyle(host);\n\t\t\tconst remMulitplier = genStyles.getPropertyValue(\n\t\t\t\t'--na-ss-rem-multiplier',\n\t\t\t);\n\t\t\tif (!remMulitplier || remMulitplier === '') {\n\t\t\t\thost.style.setProperty('--na-ss-rem-multiplier', '1');\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error('sn-window - DOM Tree Error', error);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {state, action, updateProperties, host, dispatch} = coeffects;\n\t\tconst {properties} = state;\n\t\tconst {windowConfig, windowsState, isOpen, contentElement} = properties;\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tconst nextWindowsState = name === 'windowsState' ? value : windowsState;\n\n\t\tif (name === 'animationsDisabled') {\n\t\t\tupdateProperties({animationsDisabled: value});\n\t\t\tsetAnimationClass(host, value);\n\t\t}\n\n\t\tif (name === 'windowsState' || name === 'isOpen') {\n\t\t\tconst isDocked =\n\t\t\t\tnextWindowsState.leftDockId === windowConfig.id ||\n\t\t\t\tnextWindowsState.rightDockId === windowConfig.id ||\n\t\t\t\tnextWindowsState.bottomDockId === windowConfig.id;\n\t\t\tconst isMinimized = nextWindowsState.minimizedWindows.includes(\n\t\t\t\twindowConfig.id,\n\t\t\t);\n\t\t\tconst isActive =\n\t\t\t\tisOpen &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!isMinimized &&\n\t\t\t\twindowConfig.id === nextWindowsState.activeWindowId;\n\t\t\tconst isModal =\n\t\t\t\tisOpen && nextWindowsState.modalWindows.includes(windowConfig.id);\n\t\t\tconst isFloating = !isDocked && !isModal && isOpen;\n\n\t\t\tconst prevTargetPos =\n\t\t\t\tpreviousValue?.minimizedTargetPositions?.[windowConfig.id];\n\t\t\tconst newTargetPos = value?.minimizedTargetPositions?.[windowConfig.id];\n\t\t\t// Recompute when the minimized target first appears or when its rect changes\n\t\t\tconst targetPositionInitiallySet =\n\t\t\t\tisMinimized && !prevTargetPos && newTargetPos;\n\t\t\tconst targetPositionChanged =\n\t\t\t\tname === 'windowsState' &&\n\t\t\t\t((prevTargetPos?.top ?? null) !== (newTargetPos?.top ?? null) ||\n\t\t\t\t\t(prevTargetPos?.left ?? null) !== (newTargetPos?.left ?? null) ||\n\t\t\t\t\t(prevTargetPos?.width ?? null) !== (newTargetPos?.width ?? null) ||\n\t\t\t\t\t(prevTargetPos?.height ?? null) !== (newTargetPos?.height ?? null));\n\n\t\t\tconst getDockKey = (state, id) =>\n\t\t\t\tObject.keys(state).find(\n\t\t\t\t\t(key) => key.endsWith('DockId') && state[key] === id,\n\t\t\t\t) ?? null;\n\t\t\tconst prevDockKey = getDockKey(previousValue, windowConfig.id);\n\t\t\tconst newDockKey = getDockKey(value, windowConfig.id);\n\t\t\tconst dockTargetChange = prevDockKey !== newDockKey;\n\t\t\tconst isOpeningOrClosing = name === 'isOpen' && previousValue !== value;\n\t\t\tconst isOpening = isOpeningOrClosing && value === true;\n\n\t\t\t// Check if we're transitioning in or out of a modal state (except for when we're opening/closing/minimizing)\n\t\t\tconst modalTransition =\n\t\t\t\tisModal !== properties.isModal && !isOpeningOrClosing;\n\t\t\tconst animationTimeoutDuration =\n\t\t\t\tprevDockKey || newDockKey || modalTransition ? 510 : 260;\n\n\t\t\tconst hasMinimizeTarget =\n\t\t\t\tnextWindowsState.minimizedTargetPositions?.[windowConfig.id];\n\t\t\tconst isMinimizing = isMinimized && !properties.isMinimized;\n\t\t\tconst isRestoring = !isMinimized && properties.isMinimized;\n\n\t\t\tlet willAnimate = false;\n\n\t\t\t// Check if animations are enabled and if any of the conditions are true\n\t\t\tif (\n\t\t\t\t!properties.animationsDisabled &&\n\t\t\t\t(dockTargetChange ||\n\t\t\t\t\tisMinimized !== properties.isMinimized ||\n\t\t\t\t\t(isMinimizing && hasMinimizeTarget) ||\n\t\t\t\t\tisRestoring ||\n\t\t\t\t\tisDocked !== properties.isDocked ||\n\t\t\t\t\tisModal !== properties.isModal ||\n\t\t\t\t\tproperties.isAnimating ||\n\t\t\t\t\tisOpeningOrClosing)\n\t\t\t) {\n\t\t\t\twillAnimate = true;\n\t\t\t}\n\n\t\t\tconst didPropsChange =\n\t\t\t\tdockTargetChange ||\n\t\t\t\tisDocked !== properties.isDocked ||\n\t\t\t\tisMinimized !== properties.isMinimized ||\n\t\t\t\tisActive !== properties.isActive ||\n\t\t\t\tisModal !== properties.isModal ||\n\t\t\t\tisFloating !== properties.isFloating ||\n\t\t\t\twillAnimate !== properties.isAnimating ||\n\t\t\t\t(name === 'isOpen' && previousValue !== value) ||\n\t\t\t\ttargetPositionInitiallySet ||\n\t\t\t\ttargetPositionChanged ||\n\t\t\t\tisOpeningOrClosing;\n\n\t\t\tif (!didPropsChange) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet newState = properties.currentState;\n\n\t\t\tif (isDocked) {\n\t\t\t\tnewState = 'docked';\n\t\t\t} else if (isMinimized) {\n\t\t\t\tnewState = 'minimized';\n\t\t\t} else if (isModal) {\n\t\t\t\tnewState = 'modal';\n\t\t\t} else if (isFloating) {\n\t\t\t\tnewState = 'floating';\n\t\t\t} else {\n\t\t\t\tnewState = 'closed';\n\t\t\t}\n\n\t\t\tconst dispatchEventToContent = (event, extraPayload = {}) => {\n\t\t\t\tif (contentElement?.dispatch) {\n\t\t\t\t\tcontentElement.dispatch(event, {\n\t\t\t\t\t\twindowId: windowConfig.id,\n\t\t\t\t\t\tscreenKey: windowConfig.screenKey,\n\t\t\t\t\t\tinstanceId: windowConfig.instanceId,\n\t\t\t\t\t\texperienceId: windowConfig.experienceId,\n\t\t\t\t\t\tcomponentId: windowConfig.uxrComponentId,\n\t\t\t\t\t\t...extraPayload,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// notify content component if window became active\n\t\t\tif (isActive !== properties.isActive) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_FOCUSED, {\n\t\t\t\t\thasFocus: isActive,\n\t\t\t\t});\n\t\t\t}\n\t\t\t// notify content component if window became minimized\n\t\t\tif (isMinimized !== properties.isMinimized) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_MINIMIZED, {\n\t\t\t\t\tisMinimized,\n\t\t\t\t});\n\t\t\t\tif (!isMinimized && isActive) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tupdateButtonFocus(host, 'minimize', value);\n\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// HDS legacy: Dispatch CONTENT_VISIBLE when window opens and contentElement exists\n\t\t\tif (isOpening && contentElement?.dispatch) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\t\t\t\t\tpayload: {},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// notify content component if window was toggled in/out of modal state\n\t\t\tif (isModal !== properties.isModal) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_MODALIZED, {\n\t\t\t\t\tisModal,\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateButtonFocus(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tisModal ? 'leave-modal' : 'enter-modal',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t);\n\t\t\t\t}, animationTimeoutDuration);\n\t\t\t}\n\t\t\t// notify content component if window was toggled in/out of docked state\n\t\t\tif (isDocked !== properties.isDocked) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_DOCKED, {\n\t\t\t\t\tisDocked,\n\t\t\t\t});\n\n\t\t\t\tif (isDocked) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tupdateButtonFocus(host, 'undock', true);\n\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t} else {\n\t\t\t\t\tif (prevDockKey === 'leftDockId') {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tupdateButtonFocus(host, 'left-dock', true);\n\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t} else if (prevDockKey === 'rightDockId') {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tupdateButtonFocus(host, 'right-dock', true);\n\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t} else if (prevDockKey === 'bottomDockId') {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tupdateButtonFocus(host, 'bottom-dock', true);\n\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// TODO: Remove once the new thumbtack icons are provided\n\t\t\t\t// Temporary solution while the other direction thumbtack icons are not available\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateShadowRootStyling(host);\n\t\t\t\t}, 50);\n\t\t\t}\n\n\t\t\tconst newStyleObj = computeStyleObj({\n\t\t\t\t...properties,\n\t\t\t\twindowsState: nextWindowsState,\n\t\t\t\tisDocked,\n\t\t\t\tisMinimized,\n\t\t\t\tisModal,\n\t\t\t\tisFloating,\n\t\t\t\tisOpen: name === 'isOpen' ? value : isOpen,\n\t\t\t});\n\n\t\t\t// If minimized without a known target, keep current style to avoid an initial snap\n\t\t\tconst finalStyleObj =\n\t\t\t\tisMinimized && !hasMinimizeTarget ? properties.styleObj : newStyleObj;\n\n\t\t\t// Skip immediate resizableConfig update during dock state changes to avoid race condition\n\t\t\t// The delayed update below will handle it after is-fullscreen class is removed\n\t\t\tconst skipImmediateResizeUpdate =\n\t\t\t\tisDocked !== properties.isDocked || isModal !== properties.isModal;\n\n\t\t\t// Extract resizable config update\n\t\t\tconst resizableConfigUpdate = !skipImmediateResizeUpdate\n\t\t\t\t? {\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\t\tenableResizable: isFloating,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {};\n\n\t\t\tupdateProperties({\n\t\t\t\tisFloating,\n\t\t\t\tisDocked,\n\t\t\t\tisMinimized,\n\t\t\t\tisActive,\n\t\t\t\tisModal,\n\t\t\t\tcanDrag: windowConfig.canDrag && newState === 'floating',\n\t\t\t\tcurrentState:\n\t\t\t\t\tisOpeningOrClosing || !properties.isAnimating\n\t\t\t\t\t\t? newState\n\t\t\t\t\t\t: properties.currentState,\n\t\t\t\tlastState:\n\t\t\t\t\tisOpeningOrClosing || !properties.isAnimating\n\t\t\t\t\t\t? properties.currentState\n\t\t\t\t\t\t: properties.lastState,\n\t\t\t\tisAnimating: willAnimate,\n\t\t\t\topened: isModal, // this is just for modalBehavior to tell it to open the background overlay\n\t\t\t\t...resizableConfigUpdate,\n\t\t\t\twindowConfig: {\n\t\t\t\t\t...windowConfig,\n\t\t\t\t\tpinnedHeaderHeight: isDocked\n\t\t\t\t\t\t? properties.windowsList.find((w) => w.id === windowConfig.id)\n\t\t\t\t\t\t\t\t?.pinnedHeaderHeight\n\t\t\t\t\t\t: '52px',\n\t\t\t\t},\n\t\t\t\tstyleObj: finalStyleObj,\n\t\t\t});\n\n\t\t\t// need to set timeout to wait for .is-fullscreen to change so that\n\t\t\t// the property handler on the resizable behavior can make the change correctly\n\t\t\t// TODO: post Y releases we can update the property normally as long as we remove the\n\t\t\t// is-fullscreen class from the resizable div\n\t\t\tif (\n\t\t\t\tproperties.resizableConfig.enableResizable !== isFloating ||\n\t\t\t\tskipImmediateResizeUpdate\n\t\t\t) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\t\tenableResizable: isFloating,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\t// Clear any existing timer for this host and set a new one if animations are enabled\n\t\t\tconst existingTimeout = animationTimeouts.get(host);\n\t\t\tif (!properties.animationsDisabled && existingTimeout) {\n\t\t\t\tclearTimeout(existingTimeout);\n\t\t\t\tanimationTimeouts.delete(host);\n\t\t\t}\n\n\t\t\tif (properties.animationsDisabled) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisAnimating: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst t = setTimeout(() => {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tisAnimating: false,\n\t\t\t\t\t});\n\t\t\t\t\tanimationTimeouts.delete(host);\n\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\tanimationTimeouts.set(host, t);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (name === 'isFloating' && value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst modelessDialog = host.shadowRoot.querySelector(\n\t\t\t\t\t'now-modeless-dialog',\n\t\t\t\t);\n\t\t\t\tif (!modelessDialog) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst wrapper =\n\t\t\t\t\tmodelessDialog.shadowRoot.querySelector('div[role=\"dialog\"]');\n\t\t\t\tconst wrapperBounds = wrapper?.getBoundingClientRect();\n\n\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\ttop: wrapperBounds.top,\n\t\t\t\t\tbottom: window.innerHeight - wrapperBounds.bottom,\n\t\t\t\t\tleft: wrapperBounds.left,\n\t\t\t\t\tright: window.innerWidth - wrapperBounds.right,\n\t\t\t\t\twidth: wrapperBounds.width,\n\t\t\t\t\theight: wrapperBounds.height,\n\t\t\t\t});\n\t\t\t}, 100);\n\t\t}\n\n\t\tif (\n\t\t\tname === 'browserDimensions' ||\n\t\t\tname === 'isModal' ||\n\t\t\tname === 'fullscreenViewConfig'\n\t\t) {\n\t\t\t// Check whether the window should now be in fullscreen view\n\t\t\tconst isFullscreenView = isFullScreen(\n\t\t\t\tproperties.browserDimensions,\n\t\t\t\tproperties.isModal,\n\t\t\t\tproperties.fullscreenViewConfig,\n\t\t\t);\n\n\t\t\t// If the fullscreen status has changed, update the property and recompute the style object\n\t\t\tif (isFullscreenView !== properties.isFullscreenView) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisFullscreenView,\n\t\t\t\t\tstyleObj: computeStyleObj(properties),\n\t\t\t\t});\n\n\t\t\t\t// Handle state change\n\t\t\t\tlet newState;\n\t\t\t\tif (isFullscreenView) {\n\t\t\t\t\tnewState = 'fullscreen';\n\t\t\t\t} else {\n\t\t\t\t\t// The window has returned to original state before fullscreen\n\t\t\t\t\tif (properties.isDocked) {\n\t\t\t\t\t\tconst dockedSide =\n\t\t\t\t\t\t\twindowsState.leftDockId === windowConfig.id\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: windowsState.rightDockId === windowConfig.id\n\t\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t\t: windowsState.bottomDockId === windowConfig.id\n\t\t\t\t\t\t\t\t\t\t? 'bottom'\n\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tnewState = `docked-${dockedSide}`;\n\t\t\t\t\t} else if (properties.isModal) {\n\t\t\t\t\t\tnewState = 'modal';\n\t\t\t\t\t} else if (properties.isMinimized) {\n\t\t\t\t\t\tnewState = 'minimized';\n\t\t\t\t\t} else if (properties.isFloating) {\n\t\t\t\t\t\tnewState = 'floating';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\thandleStateChangeCallback(windowConfig, newState);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tname !== 'resizableConfig' &&\n\t\t\tname !== 'fullscreenViewConfig' &&\n\t\t\tcontentElement\n\t\t) {\n\t\t\tcontentElement[name] = value;\n\t\t}\n\t},\n\t['PROPERTY_CHANGED']: ({state, action, updateProperties}) => {\n\t\tconst {\n\t\t\tpayload: {name, value},\n\t\t} = action;\n\t\tconst {properties} = state;\n\n\t\tupdateProperties({\n\t\t\t[name]: value,\n\t\t});\n\n\t\tif (\n\t\t\tproperties.contentElement &&\n\t\t\tname !== 'resizableConfig' &&\n\t\t\tname !== 'fullscreenViewConfig'\n\t\t) {\n\t\t\tproperties.contentElement[name] = value;\n\t\t}\n\n\t\tif (name === 'screenInfo') {\n\t\t\tupdateProperties({\n\t\t\t\tscreenInfo: value,\n\t\t\t});\n\t\t}\n\t},\n\t[BROADCAST_MESSAGE]: ({state, action}) => {\n\t\tstate.properties.contentElement.dispatch('HANDLE_MESSAGE', action.payload);\n\t},\n\t['UPDATE_FLOATING_MENU_LOCATION']: (coeffects) => {\n\t\tconst {state, action, updateProperties, properties} = coeffects;\n\t\tconst {\n\t\t\tproperties: {isFloating, dialogSize, dialogLocation, isAnimating},\n\t\t} = state;\n\t\tconst {payload} = action;\n\t\tconst {width, height, forceUpdate} = payload;\n\n\t\t// Don't update window location if window is in fullscreen view\n\t\tif (properties.isFullscreenView) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ((!isFloating || isAnimating || !properties.isOpen) && !forceUpdate) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet matchesCurrentLocationFormat = true;\n\t\tlet locationIsDifferent = false;\n\t\tlet coordinateSystem = [];\n\n\t\t// Check if the update matches the current location format and/or the location is different\n\t\tfor (const key of Object.keys(dialogLocation)) {\n\t\t\tif (payload[key] !== undefined) {\n\t\t\t\tif (dialogLocation[key] !== payload[key]) {\n\t\t\t\t\tlocationIsDifferent = true;\n\t\t\t\t}\n\t\t\t\tcoordinateSystem.push(key);\n\t\t\t} else {\n\t\t\t\tmatchesCurrentLocationFormat = false;\n\t\t\t\tcoordinateSystem =\n\t\t\t\t\tpayload['top'] !== undefined ? ['top', 'left'] : ['bottom', 'right'];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t!matchesCurrentLocationFormat ||\n\t\t\tlocationIsDifferent ||\n\t\t\twidth !== dialogSize.width ||\n\t\t\theight !== dialogSize.height\n\t\t) {\n\t\t\t// Use the new location/size or fallback to stored location/size\n\t\t\tconst newLocation =\n\t\t\t\tpayload[coordinateSystem[0]] !== undefined &&\n\t\t\t\tpayload[coordinateSystem[1]] !== undefined\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t[coordinateSystem[0]]: payload[coordinateSystem[0]],\n\t\t\t\t\t\t\t[coordinateSystem[1]]: payload[coordinateSystem[1]],\n\t\t\t\t\t\t}\n\t\t\t\t\t: dialogLocation;\n\n\t\t\tconst newSize = {\n\t\t\t\twidth: width === 0 || !width ? dialogSize.width : width,\n\t\t\t\theight: height === 0 || !height ? dialogSize.height : height,\n\t\t\t};\n\n\t\t\tupdateProperties({\n\t\t\t\tdialogLocation: newLocation,\n\t\t\t\tdialogSize: newSize,\n\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t...state.properties,\n\t\t\t\t\tdialogLocation: newLocation,\n\t\t\t\t\tdialogSize: newSize,\n\t\t\t\t}),\n\t\t\t});\n\t\t}\n\t},\n\t[SET_HEADER_BUTTONS]: handleSetHeaderButtons,\n\t// this is for backwards compatibility with Y and Z releases\n\t// it will be removed in a future release\n\t['NOW_WINDOW_MANAGER#SET_HEADER_BUTTONS']: handleSetHeaderButtons,\n\t[SN_WINDOW_CHECK_LOCATION]: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {properties},\n\t\t\taction: {payload = {}},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\t\tconst {dialogLocation, dialogSize, windowsState, windowConfig} = properties;\n\n\t\tconst isLeftDocked = windowsState.leftDockId === windowConfig.id;\n\t\tconst isRightDocked = windowsState.rightDockId === windowConfig.id;\n\t\tconst isBottomDocked = windowsState.bottomDockId === windowConfig.id;\n\t\tconst isMinimized = windowsState.minimizedWindows.includes(windowConfig.id);\n\t\tconst isModal = windowConfig.isModal;\n\n\t\tif (\n\t\t\tisLeftDocked ||\n\t\t\tisRightDocked ||\n\t\t\tisBottomDocked ||\n\t\t\tisMinimized ||\n\t\t\tisModal\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get viewport dimensions\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\n\t\tlet clampedPosition = {\n\t\t\t...dialogLocation,\n\t\t\twidth: dialogSize.width,\n\t\t\theight: dialogSize.height,\n\t\t};\n\n\t\t// If the window is out of bounds, calculate the clamped position\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tdialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tclampedPosition = clampDialogPosition({dialogLocation, dialogSize});\n\t\t}\n\n\t\t// Always update on forceUpdate or if there's an actual change\n\t\tif (\n\t\t\tpayload.forceUpdate ||\n\t\t\tclampedPosition.top !== dialogLocation.top ||\n\t\t\tclampedPosition.bottom !== dialogLocation.bottom ||\n\t\t\tclampedPosition.left !== dialogLocation.left ||\n\t\t\tclampedPosition.right !== dialogLocation.right ||\n\t\t\tclampedPosition.width !== dialogSize.width ||\n\t\t\tclampedPosition.height !== dialogSize.height\n\t\t) {\n\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', clampedPosition);\n\t\t}\n\t},\n\t[SN_WINDOW_SET_WINDOW_SIZE]: handleSetWindowSize,\n\t// this is for backwards compatibility with Y and Z releases\n\t// it will be removed in a future release\n\t['NOW_WINDOW#SET_WINDOW_SIZE']: handleSetWindowSize,\n\t[SN_WINDOW_SET_DOCKED_WINDOW_SIZE]: {\n\t\teffect: ({\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: {size},\n\t\t\t},\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst minWidth = '320';\n\t\t\tconst maxWidth = window.innerWidth * 0.5;\n\n\t\t\t// We should possibly also check innerHeight since dockedWindowSize is used for bottom docking as well\n\t\t\tif (size >= minWidth && size <= maxWidth) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t...properties.windowConfig,\n\t\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\t},\n\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t\t...properties,\n\t\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[SN_WINDOW_SET_DIRTY_STATE]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tupdateProperties,\n\t\t} = coeffects;\n\n\t\tupdateProperties({\n\t\t\tisDirty: payload,\n\t\t});\n\t},\n\t[SN_WINDOW_SET_WINDOW_PROPERTIES]: (coeffects) => {\n\t\tconst {updateProperties, action} = coeffects;\n\t\tconst {payload} = action;\n\n\t\tupdateProperties(({properties}) => {\n\t\t\tlet newHeadingLabel = properties.windowConfig.headingLabel;\n\n\t\t\tif (payload.headingLabel) {\n\t\t\t\tnewHeadingLabel = payload.headingLabel;\n\t\t\t} else if (payload.title) {\n\t\t\t\tnewHeadingLabel = payload.title;\n\t\t\t} else if (payload.dialogTitle) {\n\t\t\t\tnewHeadingLabel = payload.dialogTitle;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpath: 'windowConfig',\n\t\t\t\tvalue: {\n\t\t\t\t\t...properties.windowConfig,\n\t\t\t\t\t...payload,\n\t\t\t\t\theadingLabel: newHeadingLabel,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t},\n\t['SN_WINDOW#CLOSE_REQUESTED']: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t} = coeffects;\n\t\tconsole.info(\n\t\t\t'sn-window - SN_WINDOW#CLOSE_REQUESTED',\n\t\t\tproperties.windowConfig.modelessDialogControllerId,\n\t\t\t{payload},\n\t\t);\n\t\tdispatch(\n\t\t\t'UXF#DIALOG_CLOSE_REQUESTED',\n\t\t\t{\n\t\t\t\tsourceElementId: properties.windowConfig.modelessDialogControllerId,\n\t\t\t\tinstanceId: payload.instanceId,\n\t\t\t\tcompositionId: payload.screenKey,\n\t\t\t},\n\t\t\tpayload.meta,\n\t\t);\n\t},\n\t['SN_WINDOW#CLOSE_CONFIRMED']: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {properties},\n\t\t\taction: {payload},\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t} = coeffects;\n\t\tconsole.info('sn-window - SN_WINDOW#CLOSE_CONFIRMED', {\n\t\t\tpayload,\n\t\t\tproperties,\n\t\t});\n\t\tproperties.contentElement?.dispatch('DIALOG_CLOSE_CONFIRMED', payload);\n\t},\n\t['SN_WINDOW#CLOSE_CANCELED']: (coeffects) => {\n\t\tconst {properties} = coeffects;\n\t\tproperties.contentElement?.dispatch('DIALOG_CLOSE_CANCELED');\n\t},\n\t['PRIVATE#RESIZABLE_END']: (coeffects) => {\n\t\tconst {updateProperties, properties, action} = coeffects;\n\n\t\tupdateProperties({\n\t\t\twindowConfig: {\n\t\t\t\t...properties.windowConfig,\n\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t...properties.windowConfig.autoResizableConfig,\n\t\t\t\t\tenableAutoResizableHeight: false,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG#RESIZABLE_END when resize completes\n\t\tconst payload = action.payload || {};\n\t\tdispatchModelessDialogAction({\n\t\t\tcontentElement: properties.contentElement,\n\t\t\twindowConfig: properties.windowConfig,\n\t\t\tactionName: NOW_MODELESS_DIALOG_RESIZABLE_END,\n\t\t\tpayload: {\n\t\t\t\twidth: payload.width,\n\t\t\t\theight: payload.height,\n\t\t\t\tleft: payload.left,\n\t\t\t\ttop: payload.top,\n\t\t\t},\n\t\t});\n\t},\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['resize'],\n\t\teffect: ({host, properties}) => {\n\t\t\tif (properties.maxWindowSizePercentage) {\n\t\t\t\tconst {width: widthPercent, height: heightPercent} =\n\t\t\t\t\tproperties.windowConfig.maxWindowSizePercentage;\n\t\t\t\tconst dialogElement = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog',\n\t\t\t\t);\n\t\t\t\tconst newMaxWidth = Math.floor(\n\t\t\t\t\twindow.innerWidth * (widthPercent / 100),\n\t\t\t\t);\n\t\t\t\tconst newMaxHeight = Math.floor(\n\t\t\t\t\twindow.innerHeight * (heightPercent / 100),\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tproperties.dialogSize?.width !== newMaxWidth ||\n\t\t\t\t\tproperties.dialogSize?.height !== newMaxHeight\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tproperties.isFloating &&\n\t\t\t\t\t\t(properties.dialogSize?.width > newMaxWidth ||\n\t\t\t\t\t\t\tproperties.dialogSize?.height > newMaxHeight)\n\t\t\t\t\t) {\n\t\t\t\t\t\tdialogElement.style.width = newMaxWidth + 'px';\n\t\t\t\t\t\tdialogElement.style.height = newMaxHeight + 'px';\n\t\t\t\t\t}\n\t\t\t\t\tdialogElement.lastChild.resizableMaxWidth = newMaxWidth;\n\t\t\t\t\tdialogElement.lastChild.resizableMaxHeight = newMaxHeight;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttarget: window,\n\t},\n];\n","import '@servicenow/now-button';\nimport {\n\tCloseButton,\n\tOpenButton,\n\tRightDockButton,\n\tLeftDockButton,\n\tToggleModalButton,\n\tMinimizeWindowButton,\n\tCustomHeaderButtonIconic,\n\tDragButton,\n} from './buttons';\nimport {isFullScreen} from '../sn-window.effects';\n\nexport const ButtonsPanel = (coeffects) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tproperties: {\n\t\t\tisMinimized,\n\t\t\tisDocked,\n\t\t\tisOpen,\n\t\t\tbrowserDimensions,\n\t\t\tisModal,\n\t\t\tfullscreenViewConfig,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isMinimized) {\n\t\treturn null;\n\t}\n\n\tconst isLeftDocked = windowsState.leftDockId === windowConfig.id;\n\tconst isRightDocked = windowsState.rightDockId === windowConfig.id;\n\t// const isBottomDocked = windowsState.bottomDockId === windowConfig.id;\n\t// const isMinimized = windowsState.minimizedWindows.includes(windowConfig.id);\n\t// const isDocked = isLeftDocked || isRightDocked || isBottomDocked;\n\n\t// Only modal windows with screens smaller than 421px will use touch enhanced buttons\n\t// TODO: Remove this block once the new thumbtack icons are provided\n\tconst fullScreenBreakpoint =\n\t\t(isModal\n\t\t\t? fullscreenViewConfig?.modalThresholds?.width\n\t\t\t: fullscreenViewConfig?.standardThresholds?.width) || 421;\n\tconst useTouchEnhancedButtons =\n\t\tbrowserDimensions.width !== 0 &&\n\t\tbrowserDimensions.width < fullScreenBreakpoint;\n\tcoeffects.properties.showHorizontalDockOptions =\n\t\twindowConfig.dockConfig.dockLeft && windowConfig.dockConfig.dockRight;\n\n\treturn (\n\t\t<div className=\"window-button-panel\">\n\t\t\t{/* custom header buttons */}\n\t\t\t{windowConfig.headerButtons &&\n\t\t\t\twindowConfig.headerButtons.map((button) => (\n\t\t\t\t\t<CustomHeaderButtonIconic\n\t\t\t\t\t\tbutton={button}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tcoeffects={coeffects}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\n\t\t\t{/* minimize button */}\n\t\t\t{windowConfig.canMinimize && !isDocked ? (\n\t\t\t\t<MinimizeWindowButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* toggle modal button */}\n\t\t\t{(windowConfig.canToggleModal || windowConfig.canMaximize) &&\n\t\t\t!isMinimized &&\n\t\t\t!useTouchEnhancedButtons ? (\n\t\t\t\t<ToggleModalButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* pin button */}\n\t\t\t{windowConfig.canDock &&\n\t\t\t((windowConfig.dockConfig.dockLeft &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t\t(isLeftDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\tisLeftDocked && document.dir === 'rtl' ? (\n\t\t\t\t\t<RightDockButton coeffects={coeffects} />\n\t\t\t\t) : (\n\t\t\t\t\t<LeftDockButton coeffects={coeffects} />\n\t\t\t\t)\n\t\t\t) : null}\n\n\t\t\t{/* {windowConfig.canDock &&\n\t\t\t\t((windowConfig.dockConfig.dockBottom &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t(isBottomDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\t<BottomDockButton coeffects={coeffects} />\n\t\t\t) : null} */}\n\n\t\t\t{windowConfig.canDock &&\n\t\t\t((windowConfig.dockConfig.dockRight &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t\t(isRightDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\tisRightDocked && document.dir === 'rtl' ? (\n\t\t\t\t\t<LeftDockButton coeffects={coeffects} />\n\t\t\t\t) : (\n\t\t\t\t\t<RightDockButton coeffects={coeffects} />\n\t\t\t\t)\n\t\t\t) : null}\n\n\t\t\t{/* close window button */}\n\t\t\t{windowConfig.canClose && isOpen && !isMinimized ? (\n\t\t\t\t<CloseButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* open window button */}\n\t\t\t{!isOpen && windowConfig.isPersistent ? (\n\t\t\t\t<OpenButton\n\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tuseTouchEnhancedButtons={useTouchEnhancedButtons}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{windowConfig.canDrag && !isDocked && !isModal && isOpen ? (\n\t\t\t\t<DragButton coeffects={coeffects} />\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-button';\nimport {t} from 'sn-translate';\nimport {ButtonsPanel} from './buttonPanel';\n\nexport const DockedWindow = (coeffects) => {\n\tconst {state, dispatch, updateState} = coeffects;\n\tconst {properties} = state;\n\tconst {\n\t\twindowConfig,\n\t\tcontentElement,\n\t\tslottedHeading,\n\t\tslottedActions,\n\t\tslottedContent,\n\t\tslottedFooter,\n\t} = properties;\n\n\treturn (\n\t\t<div\n\t\t\thook-insert={(element) => {\n\t\t\t\tif (contentElement) {\n\t\t\t\t\tconst targetHeaderSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"heading\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetActionsSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"actions\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetContentSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"content\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetFooterSlot =\n\t\t\t\t\t\telement.elm.querySelector('div[slot=\"footer\"]');\n\n\t\t\t\t\tif (slottedContent) {\n\t\t\t\t\t\ttargetContentSlot.appendChild(slottedContent);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttargetContentSlot?.appendChild(contentElement);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (slottedHeading) {\n\t\t\t\t\t\ttargetHeaderSlot.prepend(slottedHeading);\n\t\t\t\t\t}\n\t\t\t\t\tif (slottedActions) {\n\t\t\t\t\t\ttargetActionsSlot.prepend(slottedActions);\n\t\t\t\t\t}\n\t\t\t\t\tif (slottedFooter) {\n\t\t\t\t\t\ttargetFooterSlot.prepend(slottedFooter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclassName=\"docked-window\"\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"heading\"\n\t\t\t\tclass={{\n\t\t\t\t\theader: true,\n\t\t\t\t\t'hide-divider': windowConfig.hideHeadingDivider,\n\t\t\t\t\t[windowConfig.variant]: true,\n\t\t\t\t}}\n\t\t\t\tstyle={{'--sn-window-header-height': windowConfig.pinnedHeaderHeight}}\n\t\t\t>\n\t\t\t\t<div className=\"heading-container\">\n\t\t\t\t\t{properties.isDirty ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tid=\"dirty-icon\"\n\t\t\t\t\t\t\ticon=\"dirty-indicator-fill\"\n\t\t\t\t\t\t\tsize={windowConfig.headerIcon.size}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{properties.isMessageUnread ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"circle-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"unread-indicator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{windowConfig.headerIcon?.icon !== null ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={windowConfig.headerIcon.icon}\n\t\t\t\t\t\t\tsize={windowConfig.headerIcon.size}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h2 className={`heading-label -${windowConfig.size}`}>\n\t\t\t\t\t\t{windowConfig.headingLabel || ''}\n\t\t\t\t\t<\/h2>\n\t\t\t\t\t{properties.isChatPrivate ? (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={t('Private')}\n\t\t\t\t\t\t\tclassName=\"privacy-indicator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t\t<div slot=\"actions\"><\/div>\n\t\t\t\t<div>\n\t\t\t\t\t<ButtonsPanel\n\t\t\t\t\t\tproperties={properties}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\t\t\twindowConfig={properties.windowConfig}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div slot=\"content\"><\/div>\n\t\t\t<div slot=\"footer\"><\/div>\n\t\t<\/div>\n\t);\n};\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {DockedWindow} from './fragments/dockedWindow';\n\nimport {debounce} from '@devsnc/snowdash';\nimport {SN_WINDOW_CHECK_LOCATION} from './actions';\n\nconst handleModalMutations = debounce(\n\t(properties, mutationsList, dialogContainer, dispatch) => {\n\t\t// Skip updates for auto-resize modals - CSS centering handles it\n\t\tif (\n\t\t\tproperties.windowConfig.autoResizableConfig?.enableAutoResizableHeight &&\n\t\t\tproperties.isModal\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (mutation.attributeName === 'style' && !properties.isMinimized) {\n\t\t\t\tconst style = dialogContainer.getBoundingClientRect();\n\t\t\t\tconst top = style.y;\n\t\t\t\tconst left = style.x;\n\t\t\t\tconst width = style.width;\n\t\t\t\tconst height = style.height;\n\n\t\t\t\t// When the modal has been mutated (user resized or moved it),\n\t\t\t\t// update the dialogSize and dialogLocation via UPDATE_FLOATING_MENU_LOCATION\n\t\t\t\t// to ensure state is consistent with the visual representation\n\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\ttop,\n\t\t\t\t\tleft,\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t10,\n);\n\nconst handleModalResize = debounce((properties, dialogContainer, dispatch) => {\n\t// For auto-resize modals, don't update position - CSS centering handles it\n\tif (\n\t\tproperties.isModal &&\n\t\tproperties.windowConfig.autoResizableConfig?.enableAutoResizableHeight\n\t) {\n\t\treturn;\n\t}\n\tif (properties.windowConfig.autoResizableConfig?.enableAutoResizableHeight) {\n\t\tlet dialogTop = dialogContainer.offsetTop;\n\t\tconst dialogHeight = dialogContainer.offsetHeight;\n\t\tconst windowHeight = window.innerHeight;\n\n\t\tif (dialogTop + dialogHeight > windowHeight) {\n\t\t\t// Dialog is out of bounds, adjust position\n\t\t\tdialogTop = Math.max(0, windowHeight - dialogHeight);\n\t\t}\n\n\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\twidth: dialogContainer.offsetWidth,\n\t\t\theight: dialogContainer.offsetHeight,\n\t\t\ttop: dialogTop,\n\t\t\tforceUpdate: true,\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\tif (dialogContainer.offsetTop !== dialogTop) {\n\t\t\t\tdialogContainer.style.top = `${dialogTop}px`;\n\t\t\t}\n\t\t}, 150);\n\t} else {\n\t\tif (dialogContainer) {\n\t\t\t// Immediately check and update the position to maintain visibility\n\t\t\tdispatch('SN_WINDOW_CHECK_LOCATION', {\n\t\t\t\tforceUpdate: true,\n\t\t\t});\n\t\t}\n\t}\n}, 50);\n\nconst createMutationObserver = (\n\telement,\n\tdispatch,\n\tmutationObserver,\n\tresizeObserver,\n\tproperties,\n\tupdateProperties,\n) => {\n\t// const dialogRoot = element.elm?.shadowRoot;\n\tconst dialogContainer = element.elm; //dialogRoot?.children[0];\n\tif (!dialogContainer) {\n\t\treturn;\n\t}\n\n\t// Disconnect the previous observer if it exists\n\tif (mutationObserver) {\n\t\tmutationObserver.disconnect();\n\t}\n\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect();\n\t}\n\n\tconst mutationObs = new MutationObserver((mutationsList) => {\n\t\thandleModalMutations(properties, mutationsList, dialogContainer, dispatch);\n\t});\n\n\tconst resizeObs = new ResizeObserver(() => {\n\t\tif (!properties.isAnimating) {\n\t\t\thandleModalResize(properties, dialogContainer, dispatch);\n\t\t}\n\t});\n\n\tupdateProperties({mutationObserver: mutationObs, resizeObserver: resizeObs});\n\n\t// Only start observing after first placement of the window\n\tsetTimeout(() => {\n\t\tmutationObs.observe(dialogContainer, {\n\t\t\tattributes: true,\n\t\t});\n\t\tresizeObs.observe(dialogContainer);\n\t}, 100);\n};\n\nexport default (state, {dispatch, updateProperties, updateState}) => {\n\tconst {properties} = state;\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tconfigAria,\n\t\tmutationObserver,\n\t\tresizeObserver,\n\t} = properties;\n\n\tconst leftDockOpen = windowsState.leftDockId !== null;\n\tconst rightDockOpen = windowsState.rightDockId !== null;\n\n\tconst transitionClass = `transition-${properties.lastState}-to-${properties.currentState}`;\n\tconst navRef = createRef();\n\tconst isFloating =\n\t\tproperties.isOpen &&\n\t\t!properties.isDocked &&\n\t\t!properties.isModal &&\n\t\t!properties.isAnimating &&\n\t\t!properties.isMinimized;\n\n\tlet onCurrentScreen = properties.windowConfig.isGlobalWindow;\n\n\tif (properties.windowConfig.isUXFWindow) {\n\t\tonCurrentScreen =\n\t\t\tproperties.windowConfig.screenKey ===\n\t\t\t\tnowWindowManager.screenInfo.screenKey &&\n\t\t\tproperties.windowConfig.experienceId ===\n\t\t\t\tnowWindowManager.screenInfo.experienceId;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={navRef}\n\t\t\tstyle={properties.styleObj}\n\t\t\tclass={{\n\t\t\t\t'is-fullscreen':\n\t\t\t\t\tproperties.isDocked ||\n\t\t\t\t\tproperties.isModal ||\n\t\t\t\t\t!properties.windowConfig.canResize,\n\t\t\t\t'now-modeless-dialog': true, // this is just for tricking resizableBehavior into letting us turn on/off resizing\n\t\t\t\t'sn-window-wrapper': true,\n\t\t\t\thidden: properties.isHidden || !onCurrentScreen,\n\t\t\t\tdocked: properties.isDocked,\n\t\t\t\tmodal: properties.isModal,\n\t\t\t\tfloating: isFloating,\n\t\t\t\tminimized: properties.isMinimized,\n\t\t\t\tactive: properties.isOpen && properties.isActive,\n\t\t\t\tclosed: !properties.isOpen && !windowConfig.closeToTop,\n\t\t\t\t'is-animating': properties.isAnimating,\n\t\t\t\t'close-to-top': !properties.isOpen && windowConfig.closeToTop,\n\t\t\t\t[transitionClass]: properties.isAnimating,\n\t\t\t\t'docked-left': windowsState.leftDockId === windowConfig.id,\n\t\t\t\t'docked-right': windowsState.rightDockId === windowConfig.id,\n\t\t\t\t'docked-bottom': windowsState.bottomDockId === windowConfig.id,\n\t\t\t\t'left-dock-open': leftDockOpen,\n\t\t\t\t'right-dock-open': rightDockOpen,\n\t\t\t\t'can-drag': windowConfig.canDrag && isFloating,\n\t\t\t\t'fullscreen-view': properties.isFullscreenView,\n\t\t\t\t[properties.windowConfig.variant || 'secondary']: true,\n\t\t\t\t'fit-content': properties.windowConfig.fitContent,\n\t\t\t\t'use-flex': properties.windowConfig.useFlexContentLayout,\n\t\t\t\t'auto-resize':\n\t\t\t\t\tproperties.windowConfig.autoResizableConfig\n\t\t\t\t\t\t?.enableAutoResizableHeight,\n\t\t\t}}\n\t\t\t{...(configAria.dialog || {})}\n\t\t\thook-insert={(element) => {\n\t\t\t\tif (!properties.isMinimized) {\n\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\tcreateMutationObserver(\n\t\t\t\t\t\t\telement,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tmutationObserver,\n\t\t\t\t\t\t\tresizeObserver,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-remove={(element) => {\n\t\t\t\tproperties.mutationObserver?.disconnect();\n\t\t\t\tproperties.resizeObserver?.disconnect();\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmutationObserver: null,\n\t\t\t\t\tresizeObserver: null,\n\t\t\t\t});\n\n\t\t\t\telement.elm.remove();\n\t\t\t}}\n\t\t>\n\t\t\t{/* {DockedWindow({state, dispatch, updateProperties})} */}\n\t\t\t<DockedWindow\n\t\t\t\tstate={state}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tnavRef={navRef}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"];\n\t\t\t\t} });","import {SN_WINDOW_END_DRAG} from '../../actions';\n/* eslint-disable no-use-before-define */\nimport {shiftTo, resetWindowSize} from './helpers';\n\nexport const startDrag = (coeffects, e) => {\n\tconst {updateState, state, dispatch, host} = coeffects;\n\n\tif (e.buttons === 0) {\n\t\tendDrag(coeffects, e);\n\t\treturn;\n\t}\n\n\t// Hide tooltips when drag starts\n\tconst buttons = host.shadowRoot.querySelectorAll('now-button');\n\tbuttons.forEach((button) => {\n\t\tconst tooltip = button.shadowRoot?.querySelector('now-tooltip');\n\t\tif (tooltip) {\n\t\t\ttooltip.content = null;\n\t\t}\n\t});\n\n\tif (state.properties.windowConfig.fitContent) {\n\t\t// Recalculate the size before we remove fit-content class\n\t\tresetWindowSize(state.dragContainerElement);\n\t\tstate.dragContainerElement.classList.remove('fit-content');\n\t}\n\n\tconst containerBounds = state.dragContainerElement.getBoundingClientRect();\n\tconst offsetX = e.clientX - containerBounds.left;\n\tconst offsetY = e.clientY - containerBounds.top;\n\n\tconst bottomToolbarComponent = state.properties.bottomToolbarComponent;\n\tconst toolbar = bottomToolbarComponent.shadowRoot.querySelector(\n\t\t'.sn-window-manager-toolbar',\n\t);\n\n\tconst dragHandler = (event) => {\n\t\tif (event.buttons === 0) {\n\t\t\twindow.removeEventListener('mousemove', dragHandler);\n\t\t\tdispatch(SN_WINDOW_END_DRAG, {\n\t\t\t\tmouseEvent: event,\n\t\t\t\twindowConfig: state.windowConfig,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\t// Hide tooltips during drag movement\n\t\tconst buttons = host.shadowRoot.querySelectorAll('now-button');\n\t\tbuttons.forEach((button) => {\n\t\t\tconst tooltip = button.shadowRoot?.querySelector('now-tooltip');\n\t\t\tif (tooltip) {\n\t\t\t\ttooltip.content = null;\n\t\t\t}\n\t\t});\n\n\t\tshiftTo(\n\t\t\tstate.dragContainerElement,\n\t\t\tevent.pageX - offsetX,\n\t\t\tevent.pageY - offsetY,\n\t\t\tstate.properties.dialogSize,\n\t\t\tstate.properties.dialogLocation,\n\t\t\ttoolbar,\n\t\t);\n\t};\n\n\twindow.addEventListener('mousemove', dragHandler);\n\n\tconst onMouseUp = (e) => {\n\t\tdispatch(SN_WINDOW_END_DRAG, {\n\t\t\tmouseEvent: e,\n\t\t\twindowConfig: state.windowConfig,\n\t\t});\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\tdocument.addEventListener('mouseup', onMouseUp);\n\n\tshiftTo(\n\t\tstate.dragContainerElement,\n\t\te.pageX - offsetX,\n\t\te.pageY - offsetY,\n\t\tstate.properties.dialogSize,\n\t\tstate.properties.dialogLocation,\n\t\ttoolbar,\n\t);\n\n\tupdateState({\n\t\tisDragging: true,\n\t\tdragHandler,\n\t\tmouseOffsetX: offsetX,\n\t\tmouseOffsetY: offsetY,\n\t});\n};\n\nexport const endDrag = (coeffects) => {\n\tconst {updateState, state} = coeffects;\n\n\twindow.removeEventListener('mousemove', state.dragHandler);\n\n\tupdateState({\n\t\tisDragModeEnabled: false,\n\t\tisDragging: false,\n\t\tdragHandler: null,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0,\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tSN_WINDOW_START_DRAG,\n\tSN_WINDOW_END_DRAG,\n\tSN_WINDOW_KEY_PRESSED,\n} from '../actions';\nimport {startDrag, endDrag} from './utils/mouse-events';\nimport {keyPressed} from './utils/keyboard-events';\nimport {\n\tFOCUS_WINDOW,\n\tUXF_FOCUS_WINDOW,\n} from '../../sn-window-manager/utilities/actions';\nimport {\n\thandleModelessMousedown,\n\thandleModelessMouseup,\n} from '../../sn-window-manager/utilities';\n\nconst {COMPONENT_DOM_TREE_READY} = actionTypes;\n\nexport default {\n\tname: 'drag-behavior',\n\tinitialState: {\n\t\tisDragModeEnabled: false,\n\t\tisDragging: false,\n\t\tdragHandleElement: null,\n\t\tdragContainerElement: null,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0,\n\t\t__mousedownListener__: null,\n\t\t__keydownListener__: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\t\tconst {updateState, host, state, dispatch} = coeffects;\n\t\t\tconst {properties} = state;\n\n\t\t\tif (properties.windowConfig.canDrag) {\n\t\t\t\tconst dragHandle = host.shadowRoot.querySelector('.header');\n\t\t\t\tconst dragContainer = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog',\n\t\t\t\t);\n\n\t\t\t\t// Remove old listeners to prevent accumulation\n\t\t\t\tif (state.__mousedownListener__ && state.dragHandleElement) {\n\t\t\t\t\tstate.dragHandleElement.removeEventListener(\n\t\t\t\t\t\t'mousedown',\n\t\t\t\t\t\tstate.__mousedownListener__,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (state.__keydownListener__ && state.dragContainerElement) {\n\t\t\t\t\tstate.dragContainerElement.removeEventListener(\n\t\t\t\t\t\t'keydown',\n\t\t\t\t\t\tstate.__keydownListener__,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst nonDragElements = ['button', 'toggle', 'link'];\n\t\t\t\tconst isDraggable = (element) =>\n\t\t\t\t\telement.id === 'drag-button' ||\n\t\t\t\t\t!(\n\t\t\t\t\t\telement.tagName?.startsWith('NOW-') ||\n\t\t\t\t\t\tnonDragElements.some((nonDragTag) =>\n\t\t\t\t\t\t\telement.tagName?.toLowerCase().includes(nonDragTag),\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\tnonDragElements.some((nonDragRole) =>\n\t\t\t\t\t\t\telement.role?.toLowerCase().includes(nonDragRole),\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\tconst keydownListener = (e) => {\n\t\t\t\t\tif (properties.windowConfig.canDrag && isDraggable(e.target)) {\n\t\t\t\t\t\tdispatch(SN_WINDOW_KEY_PRESSED, {\n\t\t\t\t\t\t\tkeyEvent: e,\n\t\t\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst mousedownListener = (e) => {\n\t\t\t\t\tif (e.button === 0 && isDraggable(e.target)) {\n\t\t\t\t\t\tdispatch(SN_WINDOW_START_DRAG, {\n\t\t\t\t\t\t\tmouseEvent: e,\n\t\t\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\t\t});\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tdragContainer.addEventListener('keydown', keydownListener);\n\t\t\t\tdragHandle.addEventListener('mousedown', mousedownListener);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tdragHandleElement: dragHandle,\n\t\t\t\t\tdragContainerElement: dragContainer,\n\t\t\t\t\tisDragModeEnabled: false,\n\t\t\t\t\tisDragging: false,\n\t\t\t\t\t__mousedownListener__: mousedownListener,\n\t\t\t\t\t__keydownListener__: keydownListener,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_START_DRAG]: (coeffects) => {\n\t\t\tconst {action, dispatch, state} = coeffects;\n\t\t\tconst {payload} = action;\n\t\t\tconst {properties} = state;\n\t\t\tif (properties.windowConfig.isUXFWindow) {\n\t\t\t\tdispatch(UXF_FOCUS_WINDOW, {windowConfig: properties.windowConfig});\n\t\t\t} else {\n\t\t\t\tdispatch(FOCUS_WINDOW, {windowConfig: properties.windowConfig});\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!state.isDragModeEnabled &&\n\t\t\t\t!state.isDragging &&\n\t\t\t\tproperties.isFloating\n\t\t\t) {\n\t\t\t\tstartDrag(coeffects, payload.mouseEvent);\n\t\t\t\thandleModelessMousedown(coeffects);\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_END_DRAG]: (coeffects) => {\n\t\t\tconst {state} = coeffects;\n\t\t\tconst {properties} = state;\n\n\t\t\tif (properties.windowConfig.canDrag && state.isDragging) {\n\t\t\t\thandleModelessMouseup(coeffects);\n\t\t\t\tendDrag(coeffects);\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_KEY_PRESSED]: (coeffects) => {\n\t\t\tconst {action, dispatch, state} = coeffects;\n\t\t\tconst {payload} = action;\n\t\t\tconst {properties} = state;\n\t\t\tif (properties.windowConfig.canDrag && state.isDragModeEnabled) {\n\t\t\t\tconst bottomToolbarComponent = properties.bottomToolbarComponent;\n\t\t\t\tconst toolbar = bottomToolbarComponent.shadowRoot.querySelector(\n\t\t\t\t\t'.sn-window-manager-toolbar',\n\t\t\t\t);\n\t\t\t\tkeyPressed(payload.keyEvent, state, dispatch, toolbar);\n\t\t\t}\n\t\t},\n\t\t['TOGGLE_DRAG_MODE']({\n\t\t\taction: {\n\t\t\t\tpayload: {enabled},\n\t\t\t},\n\t\t\tstate: {isDragModeEnabled = false},\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst dragModeEnabled = enabled ?? !isDragModeEnabled;\n\t\t\tupdateState({isDragModeEnabled: dragModeEnabled});\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './sn-window.view';\nimport {actionHandlers, eventHandlers} from './sn-window.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport modalBehavior from '@servicenow/behavior-modal';\nimport resizableBehavior from '@servicenow/behavior-resizable';\nimport dragBehavior from './behaviors/drag-behavior';\n\ncreateCustomElement('sn-window', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\twindowConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\t// Dimensions of the *entire* window, i.e. browser\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 320,\n\t\t\t\theight: 480,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdialogLocation: {\n\t\t\tdefault: {\n\t\t\t\ttop: -1,\n\t\t\t\tleft: -1,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdockedWindowSize: {\n\t\t\tdefault: 320,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\tmodalSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: '95%',\n\t\t\t\theight: '85%',\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tstyleObj: {\n\t\t\tdefault: {\n\t\t\t\ttop: '0px',\n\t\t\t\tleft: '0px',\n\t\t\t\twidth: '0px',\n\t\t\t\theight: '0px',\n\t\t\t\ttransform: 'scale(0)',\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tmutationObserver: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tresizeObserver: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tisDocked: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisMinimized: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisActive: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisModal: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisHidden: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisFloating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisDirty: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t// For smaller screens, we need to use a touch-enhanced UI\n\t\tisSmallScreen: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcontentElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedHeading: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedActions: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedContent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedFooter: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tstateWhenClosed: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tisAnimating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisFullscreenView: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcurrentState: {\n\t\t\tdefault: 'closed',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tlastState: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tcanResize: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t// Number of available panels for the window to display\n\t\t// 1: only chat or canvas\n\t\t// 2: chat/history + canvas\n\t\t// 3: chat + history + canvas\n\t\tavailablePanels: {\n\t\t\tdefault: 1,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tcomputed({properties: {isOpen}}) {\n\t\t\t\treturn isOpen;\n\t\t\t},\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tbottomToolbarComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResizable: {type: 'boolean'},\n\t\t\t\t\tresizableMinWidth: {type: 'number'},\n\t\t\t\t\tresizableMinHeight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\t\ttype: ['number', 'null'],\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\t\ttype: ['number', 'null'],\n\t\t\t\t\t},\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['normal', 'fixed', 'float'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tmaxWindowSizePercentage: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\n\t\tfullscreenViewConfig: {\n\t\t\tdefault: {\n\t\t\t\tmodalThresholds: {\n\t\t\t\t\twidth: 641,\n\t\t\t\t\theight: -1,\n\t\t\t\t},\n\t\t\t\tstandardThresholds: {\n\t\t\t\t\twidth: 421,\n\t\t\t\t\theight: -1,\n\t\t\t\t},\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tmodalThresholds: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tstandardThresholds: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tanimationsDisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tisMessageUnread: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisChatPrivate: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\tcontentElement: null,\n\t\t\tisDragModeEnabled: false,\n\t\t};\n\t},\n\tactionHandlers: actionHandlers,\n\teventHandlers: eventHandlers,\n\tbehaviors: [\n\t\t{behavior: rtlBehavior},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {trap: true},\n\t\t},\n\t\t{\n\t\t\tbehavior: modalBehavior,\n\t\t\toptions: {\n\t\t\t\tlimit: 'sn-window',\n\t\t\t\twatchPropertyName: 'isModal',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: dragBehavior,\n\t\t\toptions: {\n\t\t\t\tdragHandle: '.header',\n\t\t\t\tdragContainer: '.now-modeless-dialog',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-modeless-dialog',\n\t\t\t\tcontainer: '.now-modeless-dialog',\n\t\t\t\tgetResizableConfig: ({properties}) => ({\n\t\t\t\t\t...properties.windowConfig.resizableConfig,\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","/* eslint-disable no-console */\nimport {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-button';\nimport {\n\tTOGGLE_DOCK,\n\tCREATE_WINDOW,\n\tUXF_CREATE_MODELESS_WINDOW,\n\tOPEN_WINDOW,\n\tRELAY_MESSAGE,\n\tSET_HEADER_BUTTONS,\n} from '../utilities/actions';\nimport {ButtonsPanel} from '../../sn-window/fragments/buttonPanel';\nimport styles from './debug-styles.scss';\nimport {PORTAL_TYPES} from '../utilities/constants';\nimport {SN_WINDOW_CLOSED, SN_WINDOW_CREATED} from '../../sn-window/actions';\n\nexport const POLARIS_CONTEXT = {\n\texperienceName: 'Unified Navigation App',\n\tpath: 'now/nav/ui',\n};\nexport const CLASSIC_ROUTE = '/classic/params/target/';\nexport const CLASSIC = 'classic';\n\nconst defaultWindowOptions = {\n\tcanDock: true,\n\tcanMinimize: true,\n\tcanMaximize: true,\n\tcanToggleModal: true,\n\tcanDrag: true,\n\tcanResize: true,\n\tcanClose: true,\n};\n\nconst view = (coeffects, {dispatch, updateState}) => {\n\tconst {properties} = coeffects;\n\n\tconst isBottomDocked =\n\t\tproperties.windowsState.bottomDockId === 'debug-panel-window';\n\tconst isLeftDocked =\n\t\tproperties.windowsState.leftDockId === 'debug-panel-window';\n\tconst isRightDocked =\n\t\tproperties.windowsState.rightDockId === 'debug-panel-window';\n\tconst buttonSize =\n\t\tproperties.portalType === PORTAL_TYPES.SERVICE_PORTAL ? 'lg' : 'sm';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'debug-panel': true,\n\t\t\t\t'bottom-docked': isBottomDocked,\n\t\t\t\t'side-docked': isLeftDocked || isRightDocked,\n\t\t\t\t'hide-buttons': !properties.showTopButtons,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`debug-controls ${properties.showTopButtons ? '' : 'hidden'}`}\n\t\t\t>\n\t\t\t\t<h3>animation state<\/h3>\n\t\t\t\t{properties.isAnimating\n\t\t\t\t\t? `Animating ${properties.lastState} to ${properties.currentState} transition`\n\t\t\t\t\t: `Not Animating ${properties.currentState}`}\n\t\t\t\t<h3>Dock areas<\/h3>\n\t\t\t\t<span className=\"button-panel\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.leftDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'left',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tLeft Dock\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.bottomDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'bottom',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tBottom Dock\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.rightDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'right',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tRight Dock\n\t\t\t\t\t<\/now-button>\n\t\t\t\t<\/span>\n\n\t\t\t\t<h3>Window Controls<\/h3>\n\t\t\t\t<span className=\"button-panel\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('NAV_ITEM_SELECTED', {\n\t\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\ttarget: 'sys_user.do?sys_id=' + 12345 + '&sysparm_view=ess',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNAV_ITEM_SELECTED\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('CONTEXTUAL_MENU#SELECTED', {\n\t\t\t\t\t\t\t\tmenuId: 'userMenu',\n\t\t\t\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\t\t\tid: 'user-menu',\n\t\t\t\t\t\t\t\t\ttooltipContent: 'Show user menu',\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tcontextualMenuType: 'userMenu',\n\t\t\t\t\t\t\t\t\t\tcontextualMenuHeaderText: 'User',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdispatchedAction: 'AVATAR_ICON#CLICKED',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatchedAction: 'AVATAR_ICON#CLICKED',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tOpen User Menu\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\tid: 'closed-window1',\n\t\t\t\t\t\t\t\ttitle: `Closed Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisOpen: false,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Closed Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Closed Window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tstartingState: 'docked-right',\n\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Docked Window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Now Assist`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tvariant: 'aiex',\n\t\t\t\t\t\t\t\tcanResize: true,\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'ai-sparkle-fill',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tAIEX variant window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Global Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tdockConfig: {\n\t\t\t\t\t\t\t\t\tdockLeft: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Temp Global Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(UXF_CREATE_MODELESS_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Scoped Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tscreenKey: nowWindowManager.screenInfo.screenKey,\n\t\t\t\t\t\t\t\texperienceId: nowWindowManager.screenInfo.experienceId,\n\t\t\t\t\t\t\t\tmodelessProps: {\n\t\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\t\toffset: '[24,24]',\n\t\t\t\t\t\t\t\t\tenableDrag: true,\n\t\t\t\t\t\t\t\t\tcanMinimize: true,\n\t\t\t\t\t\t\t\t\theadingLabel: `Window scoped to ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tmanageOpened: true,\n\t\t\t\t\t\t\t\t\topened: true,\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t\twidth: 600,\n\t\t\t\t\t\t\t\t\tposition: 'bottom-right',\n\t\t\t\t\t\t\t\t\theight: 498,\n\t\t\t\t\t\t\t\t\tcanMaximize: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\topts: {\n\t\t\t\t\t\t\t\t\tinstanceId: nowWindowManager.screenInfo.instanceId,\n\t\t\t\t\t\t\t\t\tisDirty: false,\n\t\t\t\t\t\t\t\t\topened: true,\n\t\t\t\t\t\t\t\t\tdialogTitle: `Window scoped to ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tminimizedTitle: `Minimized ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tcategory: 'Test Scope Window',\n\t\t\t\t\t\t\t\t\tposition: 'centered',\n\t\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\t\teventInfo: {\n\t\t\t\t\t\t\t\t\t\t\tsourceElementId:\n\t\t\t\t\t\t\t\t\t\t\t\t'f18548cf50d64637b6354728f-modeless_dialog_controller',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\telementId: 'modeless_dialog_controller',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thideOthers: false,\n\t\t\t\t\t\t\t\t\tsingleInstance: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontentRef: {\n\t\t\t\t\t\t\t\t\tcomponent: null,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Temp Scoped Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent Window ${\n\t\t\t\t\t\t\t\t\t\t\tproperties.windowsList.length + 1\n\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Persistant Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Modal Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: false,\n\t\t\t\t\t\t\t\tstartingState: 'modal',\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '50%',\n\t\t\t\t\t\t\t\t\theight: '50%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 550,\n\t\t\t\t\t\t\t\t\theight: 420,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent Window ${\n\t\t\t\t\t\t\t\t\t\t\tproperties.windowsList.length + 1\n\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tSmall Complex Modal Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Basic Modal ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\tstartingState: 'modal',\n\t\t\t\t\t\t\t\tcanDock: false,\n\t\t\t\t\t\t\t\tcanMinimize: false,\n\t\t\t\t\t\t\t\tcanMaximize: false,\n\t\t\t\t\t\t\t\tcanToggleModal: false,\n\t\t\t\t\t\t\t\tcanDrag: false,\n\t\t\t\t\t\t\t\tcanResize: false,\n\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\t// fitContent: true,\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '60%',\n\t\t\t\t\t\t\t\t\theight: '60%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t\t\t\t\tautoResizableMaxHeight: 800,\n\t\t\t\t\t\t\t\t\tenableAutoResizableHeight: true,\n\t\t\t\t\t\t\t\t\tautoResizableMinHeight: 470,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'iframe',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent basic modal window`,\n\t\t\t\t\t\t\t\t\t\tsrc: '/incident.do?sys_id=e329de99731423002728660c4cf6a73c',\n\t\t\t\t\t\t\t\t\t\twidth: '700px',\n\t\t\t\t\t\t\t\t\t\theight: '800px',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Large Modal Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `INC0009004`,\n\t\t\t\t\t\t\t\tisPersistent: false,\n\t\t\t\t\t\t\t\tposition: 'centered',\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '95%',\n\t\t\t\t\t\t\t\t\theight: '95%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 550,\n\t\t\t\t\t\t\t\t\theight: 420,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'iframe',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tsrc: '/incident.do?sys_id=e329de99731423002728660c4cf6a73c',\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\t\t\twidth: 500,\n\t\t\t\t\t\t\t\t\t\t\theight: 600,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNew Iframed Form\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('HEADER_TOGGLE_SET');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tHide Buttons\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Header Buttons Example`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tcanDock: false,\n\t\t\t\t\t\t\t\tcanMinimize: false,\n\t\t\t\t\t\t\t\tcanMaximize: false,\n\t\t\t\t\t\t\t\tcanToggleModal: false,\n\t\t\t\t\t\t\t\tcanDrag: true,\n\t\t\t\t\t\t\t\tcanResize: true,\n\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 640,\n\t\t\t\t\t\t\t\t\theight: 220,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'header-button-example',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tHeader Buttons Example\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('SN_WINDOW#SET_WINDOW_SIZE', {width: 400});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tMake Window 400px wide\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('SN_WINDOW#SET_WINDOW_SIZE', {width: 800});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tMake Window 800px wide\n\t\t\t\t\t<\/now-button>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\n\t\t\t<div className=\"debug-windows-list\">\n\t\t\t\t<h3>Window List<\/h3>\n\t\t\t\t<span className=\"window-list\">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{properties.windowsList.map((currentWindow, index) => {\n\t\t\t\t\t\t\tconst resolvedProps = currentWindow.component;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.info('Window Clicked', {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\twindowConfig: currentWindow,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tdispatch(OPEN_WINDOW, {windowConfig: currentWindow});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{currentWindow.headingLabel}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<ButtonsPanel\n\t\t\t\t\t\t\t\t\t\tproperties={resolvedProps}\n\t\t\t\t\t\t\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\t\t\t\t\t\t\twindowConfig={currentWindow}\n\t\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('debug-panel', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tstyles,\n\tproperties: {\n\t\ttitle: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 640,\n\t\t\t\theight: 480,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\theaderButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tshowTopButtons: {\n\t\t\tdefault: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisAnimating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcurrentState: {\n\t\t\tdefault: 'closed',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tlastState: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED]: ({dispatch, updateProperties}) => {\n\t\t\t// define what buttons we want to show in the header on the sn-window\n\t\t\tupdateProperties({\n\t\t\t\theaderButtons: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'icon',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: t('Broadcast Message'),\n\t\t\t\t\t\t\ttooltipContent: t('Broadcast Message'),\n\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\ticon: 'broadcast-tower-outline',\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tconsole.info('Test button clicked');\n\t\t\t\t\t\t\t\tdispatch(RELAY_MESSAGE, {\n\t\t\t\t\t\t\t\t\ttype: 'command',\n\t\t\t\t\t\t\t\t\tcommand: 'bumpCounter',\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: t('Hide Buttons'),\n\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\t'manage-checked': true,\n\t\t\t\t\t\t\tchecked: true,\n\t\t\t\t\t\t\tsize: 'sm',\n\t\t\t\t\t\t\ttooltip: t('Hide Window Control Buttons'),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tconsole.info('Test button clicked');\n\t\t\t\t\t\t\t\tdispatch('HEADER_TOGGLE_SET');\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\n\t\t\tswitch (payload.name) {\n\t\t\t\tcase 'headerButtons': {\n\t\t\t\t\t// relay header buttons to parent sn-window component\n\t\t\t\t\tdispatch(SET_HEADER_BUTTONS, {headerButtons: payload.value});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['HANDLE_BUTTON_CLICK']: ({state, updateProperties}) => {\n\t\t\tupdateProperties({\n\t\t\t\tviewCount: state.properties.viewCount + 1,\n\t\t\t});\n\t\t},\n\t\t['PROPERTY_CHANGED']: () => {\n\t\t\t// console.info('DEBUG_PANEL - Property changed', action.payload);\n\t\t},\n\t\t['HANDLE_MESSAGE']: ({state, action, updateProperties}) => {\n\t\t\tconst {payload} = action;\n\n\t\t\tswitch (payload.type) {\n\t\t\t\tcase 'command': {\n\t\t\t\t\tswitch (payload.command) {\n\t\t\t\t\t\tcase 'bumpCounter': {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tviewCount: state.properties.viewCount + 1,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tconsole.warn('DEBUG_PANEL - Unknown command', payload.command);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'propertyChanged': {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['HEADER_TOGGLE_SET']: (coeffects) => {\n\t\t\tconsole.info('debug-window - NOW_TOGGLE#CHECKED_SET');\n\t\t\tconst {state, updateProperties} = coeffects;\n\t\t\tconst {properties} = state;\n\t\t\tconst newButtons = [...properties.headerButtons];\n\n\t\t\tnewButtons[1].properties.checked = !properties.showTopButtons;\n\n\t\t\tupdateProperties({\n\t\t\t\tshowTopButtons: !properties.showTopButtons,\n\t\t\t\theaderButtons: newButtons,\n\t\t\t});\n\t\t},\n\t\t[SN_WINDOW_CLOSED]: (coeffects) => {\n\t\t\tconsole.info('debug-window - SN_WINDOW_CLOSED', coeffects);\n\t\t},\n\t\t[SN_WINDOW_CREATED]: (coeffects) => {\n\t\t\tconsole.info('debug-window - SN_WINDOW_CREATED', coeffects);\n\t\t},\n\t},\n});\n","const VIEWPORT_PADDING = 16;\nconst MIN_BUTTON_WIDTH = 130;\nconst MAX_BUTTON_WIDTH = 180;\nconst OVERFLOW_BUTTON_WIDTH = 60;\n\n/**\n * Distributes available button slots between two zones (global and scoped windows).\n * Attempts to balance the zones evenly, with priority given to the zone that's further from its target.\n *\n * Algorithm:\n * 1. If zones have equal counts, split slots 50/50 (with remainder going to zone 1 if needed)\n * 2. Otherwise, fill each zone toward half of available slots, alternating based on which has the larger gap\n * 3. Distribute any remaining slots proportionally based on zone counts\n * 4. Assign any final leftover slots alternating between zones\n */\nconst allocateSlots = (\n\tzone1ButtonCount,\n\tzone2ButtonCount,\n\tmaxVisibleButtons,\n) => {\n\tif (maxVisibleButtons <= 0) {\n\t\treturn {zone1VisibleCount: 0, zone2VisibleCount: 0};\n\t}\n\n\t// If one zone is empty, all slots go to the other zone\n\tif (zone1ButtonCount === 0) {\n\t\treturn {\n\t\t\tzone1VisibleCount: 0,\n\t\t\tzone2VisibleCount: Math.min(zone2ButtonCount, maxVisibleButtons),\n\t\t};\n\t}\n\tif (zone2ButtonCount === 0) {\n\t\treturn {\n\t\t\tzone1VisibleCount: Math.min(zone1ButtonCount, maxVisibleButtons),\n\t\t\tzone2VisibleCount: 0,\n\t\t};\n\t}\n\n\t// If zones have equal counts, split evenly\n\tif (zone1ButtonCount === zone2ButtonCount) {\n\t\tconst halfOfSlots = Math.floor(maxVisibleButtons / 2);\n\t\tconst zone1VisibleCount = Math.min(zone1ButtonCount, halfOfSlots);\n\t\tconst zone2VisibleCount = Math.min(zone2ButtonCount, halfOfSlots);\n\n\t\t// If odd number of slots and both zones can use more, give remainder to zone 1\n\t\tif (\n\t\t\tmaxVisibleButtons % 2 === 1 &&\n\t\t\tzone1VisibleCount < zone1ButtonCount &&\n\t\t\tzone2VisibleCount < zone2ButtonCount &&\n\t\t\tzone1VisibleCount + zone2VisibleCount < maxVisibleButtons\n\t\t) {\n\t\t\treturn {zone1VisibleCount: zone1VisibleCount + 1, zone2VisibleCount};\n\t\t}\n\t\treturn {zone1VisibleCount, zone2VisibleCount};\n\t}\n\n\t// Balance zones toward half of available slots\n\tlet zone1VisibleCount = 0;\n\tlet zone2VisibleCount = 0;\n\tconst targetSlotsPerZone = Math.floor(maxVisibleButtons / 2);\n\n\t// Fill each zone toward its target, alternating based on which needs more\n\twhile (\n\t\t(zone1VisibleCount < targetSlotsPerZone ||\n\t\t\tzone2VisibleCount < targetSlotsPerZone) &&\n\t\tzone1VisibleCount + zone2VisibleCount < maxVisibleButtons\n\t) {\n\t\tconst zone1Gap = targetSlotsPerZone - zone1VisibleCount;\n\t\tconst zone2Gap = targetSlotsPerZone - zone2VisibleCount;\n\n\t\t// Give slot to the zone that's further from its target and has buttons remaining\n\t\tif (zone1Gap > zone2Gap && zone1VisibleCount < zone1ButtonCount) {\n\t\t\tzone1VisibleCount++;\n\t\t} else if (zone2Gap > zone1Gap && zone2VisibleCount < zone2ButtonCount) {\n\t\t\tzone2VisibleCount++;\n\t\t} else if (\n\t\t\tzone1VisibleCount < targetSlotsPerZone &&\n\t\t\tzone1VisibleCount < zone1ButtonCount\n\t\t) {\n\t\t\tzone1VisibleCount++;\n\t\t} else if (\n\t\t\tzone2VisibleCount < targetSlotsPerZone &&\n\t\t\tzone2VisibleCount < zone2ButtonCount\n\t\t) {\n\t\t\tzone2VisibleCount++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Distribute remaining slots proportionally based on zone counts\n\tconst remainingSlots =\n\t\tmaxVisibleButtons - zone1VisibleCount - zone2VisibleCount;\n\tif (remainingSlots > 0) {\n\t\tconst totalButtonCount = zone1ButtonCount + zone2ButtonCount;\n\t\tzone1VisibleCount = Math.min(\n\t\t\tzone1ButtonCount,\n\t\t\tMath.min(\n\t\t\t\tzone1VisibleCount +\n\t\t\t\t\tMath.floor((remainingSlots * zone1ButtonCount) / totalButtonCount),\n\t\t\t\tmaxVisibleButtons - zone2VisibleCount,\n\t\t\t),\n\t\t);\n\t\tzone2VisibleCount = Math.min(\n\t\t\tzone2ButtonCount,\n\t\t\tMath.min(\n\t\t\t\tzone2VisibleCount +\n\t\t\t\t\tMath.floor((remainingSlots * zone2ButtonCount) / totalButtonCount),\n\t\t\t\tmaxVisibleButtons - zone1VisibleCount,\n\t\t\t),\n\t\t);\n\n\t\t// Assign any final leftover slots alternating between zones\n\t\tconst leftoverSlots =\n\t\t\tmaxVisibleButtons - zone1VisibleCount - zone2VisibleCount;\n\t\tif (leftoverSlots > 0) {\n\t\t\tfor (\n\t\t\t\tlet i = 0;\n\t\t\t\ti < leftoverSlots &&\n\t\t\t\t(zone1VisibleCount < zone1ButtonCount ||\n\t\t\t\t\tzone2VisibleCount < zone2ButtonCount);\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\tif (i % 2 === 0 && zone1VisibleCount < zone1ButtonCount) {\n\t\t\t\t\tzone1VisibleCount++;\n\t\t\t\t} else if (zone2VisibleCount < zone2ButtonCount) {\n\t\t\t\t\tzone2VisibleCount++;\n\t\t\t\t} else if (zone1VisibleCount < zone1ButtonCount) {\n\t\t\t\t\tzone1VisibleCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {zone1VisibleCount, zone2VisibleCount};\n};\n\n/**\n * Creates the result object containing visible buttons, overflow counts, and layout configuration.\n */\nconst createResult = (\n\tzone1Windows,\n\tzone2Windows,\n\tzone1VisibleCount,\n\tzone2VisibleCount,\n\tzone1OverflowCount,\n\tzone2OverflowCount,\n\tcalculatedButtonWidth,\n) => {\n\tconst bothZonesHaveOverflow =\n\t\tzone1OverflowCount > 0 && zone2OverflowCount > 0;\n\tconst halfOfVisibleButtons = Math.floor(\n\t\t(zone1VisibleCount + zone2VisibleCount) / 2,\n\t);\n\n\treturn {\n\t\tvisible1: zone1Windows.slice(0, zone1VisibleCount),\n\t\tvisible2: zone2Windows.slice(0, zone2VisibleCount),\n\t\toverflowCount1: zone1OverflowCount,\n\t\toverflowCount2: zone2OverflowCount,\n\t\toverflowWindows1: zone1Windows.slice(zone1VisibleCount),\n\t\toverflowWindows2: zone2Windows.slice(zone2VisibleCount),\n\t\tshowDivider:\n\t\t\t(zone1VisibleCount > 0 || zone1OverflowCount > 0) &&\n\t\t\t(zone2VisibleCount > 0 || zone2OverflowCount > 0),\n\t\tbuttonWidth: calculatedButtonWidth,\n\t\tuseBalancedSizing:\n\t\t\tbothZonesHaveOverflow &&\n\t\t\tzone1VisibleCount >= halfOfVisibleButtons &&\n\t\t\tzone2VisibleCount >= halfOfVisibleButtons,\n\t};\n};\n\n/**\n * Computes which buttons should be visible vs. overflowed for the bottom toolbar.\n *\n * This function determines the optimal layout based on available space:\n * 1. If all buttons fit at optimal size (MIN_WIDTH to MAX_WIDTH), show all\n * 2. Otherwise, calculate how many buttons can fit and distribute them between zones\n *\n * The available space accounts for:\n * - Viewport padding\n * - Zone 3 width (if hoisted content exists)\n * - Overflow button space (if needed)\n */\nexport const computeZones = (\n\tzone1Windows,\n\tzone2Windows,\n\tviewportWidth,\n\tzone3Width = 0,\n) => {\n\tconst zone1ButtonCount = zone1Windows.length;\n\tconst zone2ButtonCount = zone2Windows.length;\n\n\t// No buttons to display\n\tif (zone1ButtonCount === 0 && zone2ButtonCount === 0) {\n\t\treturn createResult(\n\t\t\tzone1Windows,\n\t\t\tzone2Windows,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\tMIN_BUTTON_WIDTH,\n\t\t);\n\t}\n\n\t// Calculate available space: viewport width minus padding and zone 3 space\n\tconst zone3TotalSpace = zone3Width > 0 ? zone3Width + 32 : 0;\n\tconst availableWidth = Math.max(\n\t\tviewportWidth - VIEWPORT_PADDING - zone3TotalSpace,\n\t\t0,\n\t);\n\tconst totalButtonCount = zone1ButtonCount + zone2ButtonCount;\n\n\t// Check if all buttons fit at optimal size (between MIN_WIDTH and MAX_WIDTH)\n\tif (totalButtonCount * MIN_BUTTON_WIDTH <= availableWidth) {\n\t\tconst optimalButtonWidth = Math.max(\n\t\t\tMIN_BUTTON_WIDTH,\n\t\t\tMath.min(MAX_BUTTON_WIDTH, availableWidth / totalButtonCount),\n\t\t);\n\n\t\t// If all buttons fit at optimal size, show all with no overflow\n\t\tif (totalButtonCount * optimalButtonWidth <= availableWidth) {\n\t\t\treturn createResult(\n\t\t\t\tzone1Windows,\n\t\t\t\tzone2Windows,\n\t\t\t\tzone1ButtonCount,\n\t\t\t\tzone2ButtonCount,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\toptimalButtonWidth,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Calculate how many buttons can fit (accounting for overflow buttons)\n\tconst spaceForOverflowButtons =\n\t\t(zone1ButtonCount > 0 ? OVERFLOW_BUTTON_WIDTH : 0) +\n\t\t(zone2ButtonCount > 0 ? OVERFLOW_BUTTON_WIDTH : 0);\n\tconst spaceForButtons = availableWidth - spaceForOverflowButtons;\n\tconst maxVisibleButtons = Math.floor(spaceForButtons / MIN_BUTTON_WIDTH);\n\n\t// Distribute available slots between zones\n\tconst {zone1VisibleCount, zone2VisibleCount} = allocateSlots(\n\t\tzone1ButtonCount,\n\t\tzone2ButtonCount,\n\t\tMath.max(maxVisibleButtons, 0),\n\t);\n\n\t// Calculate overflow counts and button width\n\tconst zone1OverflowCount = zone1ButtonCount - zone1VisibleCount;\n\tconst zone2OverflowCount = zone2ButtonCount - zone2VisibleCount;\n\tconst totalVisibleButtons = zone1VisibleCount + zone2VisibleCount;\n\tconst calculatedButtonWidth =\n\t\ttotalVisibleButtons > 0\n\t\t\t? Math.floor(spaceForButtons / totalVisibleButtons)\n\t\t\t: MIN_BUTTON_WIDTH;\n\n\treturn createResult(\n\t\tzone1Windows,\n\t\tzone2Windows,\n\t\tzone1VisibleCount,\n\t\tzone2VisibleCount,\n\t\tzone1OverflowCount,\n\t\tzone2OverflowCount,\n\t\tcalculatedButtonWidth,\n\t);\n};\n\nexport {allocateSlots};\n\nexport const isTruncated = (element, selector = '.label-text') => {\n\tconst labelSpan = element.querySelector(selector);\n\treturn labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n};\n\nexport const handleTooltipCheck = (e, tooltipContent) => {\n\tconst button = e.target.closest('button') || e.target;\n\tconst tooltip = button.parentElement.querySelector('now-tooltip');\n\tif (tooltip) {\n\t\tconst truncated = isTruncated(button);\n\t\tif (truncated && !tooltip.content) {\n\t\t\ttooltip.content = tooltipContent;\n\t\t} else if (!truncated && tooltip.content) {\n\t\t\ttooltip.content = null;\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './sn-overflow-popover.scss';\nimport {t} from 'sn-translate';\nimport {CLOSE_WINDOW, TOGGLE_MINIMIZE_STATE} from '../../utilities/actions';\n\nconst handleArrowKeyNavigation = (e, currentElement) => {\n\tconst list = e.currentTarget.closest('.sn-overflow-popover-list');\n\tconst items = Array.from(\n\t\tlist?.querySelectorAll('.sn-overflow-popover-item') || [],\n\t);\n\tconst currentIndex = items.indexOf(currentElement);\n\n\tif (list && items.length > 0 && currentIndex !== -1) {\n\t\te.preventDefault();\n\t\tconst isArrowDown = e.key === 'ArrowDown';\n\t\tconst totalItems = items.length;\n\t\tconst nextIndex = isArrowDown\n\t\t\t? (currentIndex + 1) % totalItems\n\t\t\t: (currentIndex - 1 + totalItems) % totalItems;\n\n\t\titems[nextIndex]?.focus();\n\t}\n};\n\nconst closePopoverOnTabOut = (dispatch, zoneId, actionSource = 'tab-press') => {\n\tdispatch(\n\t\t'NOW_POPOVER#OPENED_SET',\n\t\t{value: false, actionSource},\n\t\t{appended: {id: `overflow-popover-${zoneId}`}},\n\t);\n};\n\nconst createItemKeydownHandler =\n\t(dispatch, itemIndex, totalItemCount, zoneId, windowConfig) => (e) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n\t\t\thandleArrowKeyNavigation(e, e.currentTarget);\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'Tab') {\n\t\t\tconst isShiftTab = e.shiftKey;\n\t\t\tconst isFirstItem = itemIndex === 0;\n\t\t\tconst isLastItem = itemIndex === totalItemCount - 1;\n\t\t\tconst isOnCloseButton = !!e.target.closest(\n\t\t\t\t'.sn-overflow-popover-item-close',\n\t\t\t);\n\n\t\t\tif (!isShiftTab && isLastItem && isOnCloseButton) {\n\t\t\t\te.preventDefault();\n\t\t\t\tclosePopoverOnTabOut(dispatch, zoneId);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isShiftTab && isFirstItem && !isOnCloseButton) {\n\t\t\t\te.preventDefault();\n\t\t\t\tclosePopoverOnTabOut(dispatch, zoneId);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\nconst renderWindowItem = (\n\twindowConfig,\n\tdispatch,\n\titemIndex,\n\ttotalItemCount,\n\tzoneId,\n) => {\n\tconst title =\n\t\twindowConfig.minimizedTitle || windowConfig.headingLabel || t('No Title');\n\tconst subtitle =\n\t\twindowConfig?.category && windowConfig.category !== ''\n\t\t\t? windowConfig.category\n\t\t\t: '';\n\tconst hasIcon = windowConfig.headerIcon?.icon;\n\n\treturn (\n\t\t<div\n\t\t\tkey={windowConfig.id}\n\t\t\tclassName=\"sn-overflow-popover-item\"\n\t\t\ttabIndex={0}\n\t\t\trole=\"menuitem\"\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\t}}\n\t\t\ton-keydown={createItemKeydownHandler(\n\t\t\t\tdispatch,\n\t\t\t\titemIndex,\n\t\t\t\ttotalItemCount,\n\t\t\t\tzoneId,\n\t\t\t\twindowConfig,\n\t\t\t)}\n\t\t>\n\t\t\t{hasIcon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"sn-overflow-popover-item-icon\"\n\t\t\t\t\ticon={windowConfig.headerIcon.icon}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div className=\"sn-overflow-popover-item-content\">\n\t\t\t\t<div className=\"sn-overflow-popover-item-title\">{title}<\/div>\n\t\t\t\t<div className=\"sn-overflow-popover-item-subtitle\">{subtitle}<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-overflow-popover-item-close\">\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\thidePadding\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': t('Close {0}', title),\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={t('Close {0}', title)}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tdispatch(CLOSE_WINDOW, {windowConfig});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst view = ({properties: {windows, isGlobal, zoneId}}, {dispatch}) => {\n\tif (!windows || windows.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst windowType = isGlobal ? t('Global') : t('Scoped');\n\tconst windowCount = windows.length;\n\tconst ariaLabel = t('{0} windows ({1})', [windowType, windowCount]);\n\n\treturn (\n\t\t<div className=\"sn-overflow-popover\" role=\"menu\" aria-label={ariaLabel}>\n\t\t\t<div className=\"sn-overflow-popover-header\">{ariaLabel}<\/div>\n\t\t\t<div className=\"sn-overflow-popover-list\" role=\"none\">\n\t\t\t\t{windows.map((windowConfig, index) =>\n\t\t\t\t\trenderWindowItem(\n\t\t\t\t\t\twindowConfig,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\twindows.length,\n\t\t\t\t\t\tzoneId,\n\t\t\t\t\t),\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-overflow-popover', {\n\tproperties: {\n\t\twindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tminimizedTitle: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theadingLabel: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcategory: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tzoneId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import {t} from 'sn-translate';\nimport {\n\tCLOSE_WINDOW,\n\tTOGGLE_MINIMIZE_STATE,\n\tTOGGLE_OVERFLOW_POPOVER,\n\tSET_OVERFLOW_BUTTON_REF,\n\tUPDATE_MINIMIZED_TARGET_POSITION,\n} from '../utilities/actions';\nimport {\n\tcomputeZones,\n\tisTruncated,\n\thandleTooltipCheck,\n} from './bottomToolbar.utils.js';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-loader';\nimport './sn-overflow-popover';\n\nconst updateButtonPosition = (\n\tel,\n\twindowIdOrWindows,\n\tdispatch,\n\toverflow = false,\n) => {\n\trequestAnimationFrame(() => {\n\t\tconst selector = overflow ? 'button' : 'now-button';\n\t\tconst targetButton = el.querySelector(selector) || el;\n\t\tif (!targetButton) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = targetButton.getBoundingClientRect();\n\t\tconst rectData = {\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.left,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height,\n\t\t};\n\n\t\tif (overflow) {\n\t\t\twindowIdOrWindows.forEach((windowConfig) => {\n\t\t\t\tdispatch(UPDATE_MINIMIZED_TARGET_POSITION, {\n\t\t\t\t\twindowId: windowConfig.id,\n\t\t\t\t\trect: rectData,\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(UPDATE_MINIMIZED_TARGET_POSITION, {\n\t\t\t\twindowId: windowIdOrWindows,\n\t\t\t\trect: rectData,\n\t\t\t});\n\t\t}\n\t});\n};\n\n// Per-zone overflow chip with popover\nconst ZoneOverflowButton = ({\n\tcount,\n\twindows,\n\tisGlobal,\n\tzoneId,\n\tstate,\n\tdispatch,\n}) => {\n\tif (!count || count <= 0 || !windows || windows.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst isOpen = state.openedOverflowZone === zoneId;\n\n\treturn (\n\t\t<now-popover\n\t\t\topened={isOpen}\n\t\t\tpositioning-to-trigger=\"auto\"\n\t\t\toffset={8}\n\t\t\tmanage-opened\n\t\t\thide-tail\n\t\t\tappend-to-meta={{id: `overflow-popover-${zoneId}`}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"window-button overflow\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\thook-insert={(vnode) => {\n\t\t\t\t\tconst el = vnode.elm;\n\t\t\t\t\tconst button = el.querySelector('button');\n\t\t\t\t\tconst tooltip = el.querySelector('now-tooltip');\n\t\t\t\t\tif (button && tooltip) {\n\t\t\t\t\t\ttooltip.targetRef = button;\n\t\t\t\t\t\tdispatch(SET_OVERFLOW_BUTTON_REF, {zoneId, buttonRef: button});\n\t\t\t\t\t}\n\t\t\t\t\tupdateButtonPosition(el, windows, dispatch, true);\n\t\t\t\t}}\n\t\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\t\tupdateButtonPosition(vnode.elm, windows, dispatch, true);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"-secondary -md\"\n\t\t\t\t\tid={`overflow-button-${zoneId}`}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(TOGGLE_OVERFLOW_POPOVER, {zoneId});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tdispatch(TOGGLE_OVERFLOW_POPOVER, {zoneId});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"button-content\">\n\t\t\t\t\t\t<div className=\"button-label\">\n\t\t\t\t\t\t\t<div class={{'label-text': true}}>{`+${count}`}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/button>\n\t\t\t\t<now-tooltip content={t('{0} more', String(count))} />\n\t\t\t<\/div>\n\t\t\t<sn-overflow-popover\n\t\t\t\tslot=\"content\"\n\t\t\t\twindows={windows}\n\t\t\t\tis-global={isGlobal}\n\t\t\t\tzone-id={zoneId}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\nconst MinimizedButtonView = ({windowConfig, dispatch}) => {\n\tconst headingLabelText =\n\t\twindowConfig.minimizedTitle || windowConfig.headingLabel || t('No Title');\n\tconst hasHeaderIcon =\n\t\twindowConfig.headerIcon?.icon &&\n\t\twindowConfig.headerIcon?.icon !== null &&\n\t\twindowConfig.headerIcon?.icon !== '';\n\tconst isDirty = windowConfig.component?.isDirty;\n\tconst buttonId = `window-button-${windowConfig.id.replace(/~/g, '')}`;\n\tconst tooltipContent = t('Open {0}', windowConfig.headingLabel);\n\treturn (\n\t\t<div\n\t\t\tclassName=\"window-button\"\n\t\t\thook-insert={(vnode) => {\n\t\t\t\tconst el = vnode.elm;\n\t\t\t\tconst button = el.querySelector('button');\n\t\t\t\tconst tooltip = el.querySelector('now-tooltip');\n\t\t\t\tif (button && tooltip) {\n\t\t\t\t\ttooltip.targetRef = button;\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tconst truncated = isTruncated(button);\n\t\t\t\t\t\tif (!truncated && tooltip.content) {\n\t\t\t\t\t\t\ttooltip.content = null;\n\t\t\t\t\t\t} else if (truncated && !tooltip.content) {\n\t\t\t\t\t\t\ttooltip.content = tooltipContent;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateButtonPosition(el, windowConfig.id, dispatch);\n\t\t\t}}\n\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\tupdateButtonPosition(vnode.elm, windowConfig.id, dispatch);\n\t\t\t}}\n\t\t>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={`-${windowConfig.isGlobalWindow ? 'primary' : 'secondary'} -md`}\n\t\t\t\tid={buttonId}\n\t\t\t\ton-mouseenter={(e) => handleTooltipCheck(e, tooltipContent)}\n\t\t\t\ton-focusin={(e) => handleTooltipCheck(e, tooltipContent)}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tconsole.info('Window Clicked', {dispatch, windowConfig});\n\t\t\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"button-content\">\n\t\t\t\t\t<div className=\"button-icons\">\n\t\t\t\t\t\t{isDirty ? (\n\t\t\t\t\t\t\t<now-icon icon=\"dirty-indicator-fill\" size=\"sm\" id=\"dirty-icon\" />\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{hasHeaderIcon ? (\n\t\t\t\t\t\t\t<now-icon icon={windowConfig.headerIcon?.icon} size=\"md\" />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div className=\"button-label\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'label-text': true,\n\t\t\t\t\t\t\t\t'has-icon': hasHeaderIcon,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{headingLabelText}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{windowConfig.category && windowConfig.category !== '' ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\tsubtext: true,\n\t\t\t\t\t\t\t\t\t'has-icon': hasHeaderIcon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{windowConfig.category}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div className=\"window-close-button\">\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\thidePadding\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': t('Close'),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttooltip-content={t('Close')}\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tdispatch(CLOSE_WINDOW, {windowConfig});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/button>\n\t\t\t<now-tooltip content={tooltipContent} />\n\t\t<\/div>\n\t);\n};\n\n// Track previous toolbar state\nlet prevToolbarOpen = false;\nconst TOOLBAR_HEIGHT = '56px';\n\nexport default (state, dispatch, host) => {\n\tconst {properties} = state;\n\tconst {\n\t\twindowsState,\n\t\thasSlottedContent,\n\t\tglobalMinimizedWindows,\n\t\tscopedMinimizedWindows,\n\t} = properties;\n\n\tconst leftDockOpen = windowsState.leftDockId !== null;\n\tconst rightDockOpen = windowsState.rightDockId !== null;\n\tconst bottomDockOpen = windowsState.bottomDockId !== null;\n\n\tconst result = computeZones(\n\t\tglobalMinimizedWindows,\n\t\tscopedMinimizedWindows,\n\t\tproperties.browserDimensions?.width ??\n\t\t\t(typeof window !== 'undefined' ? window.innerWidth : 0),\n\t\tproperties.zone3Width ?? 0,\n\t);\n\n\tconst {\n\t\tvisible1,\n\t\tvisible2,\n\t\toverflowCount1,\n\t\toverflowCount2,\n\t\toverflowWindows1,\n\t\toverflowWindows2,\n\t\tshowDivider,\n\t\tuseBalancedSizing,\n\t} = result;\n\n\tconst isToolbarOpen =\n\t\tscopedMinimizedWindows.length > 0 ||\n\t\tglobalMinimizedWindows.length > 0 ||\n\t\tproperties.hasSlottedContent ||\n\t\thasSlottedContent;\n\n\t// Dispatch event if toolbar visibility changed\n\tif (prevToolbarOpen !== isToolbarOpen) {\n\t\tdispatch('WM_BOTTOM_TOOLBAR_VISIBILITY_CHANGED', {\n\t\t\tisOpen: isToolbarOpen,\n\t\t\theight: isToolbarOpen ? TOOLBAR_HEIGHT : '0px',\n\t\t});\n\t\tprevToolbarOpen = isToolbarOpen;\n\t}\n\n\tconst handleKeyboardNavigation = (event) => {\n\t\tconst {key} = event;\n\n\t\tconst path = event.composedPath();\n\t\tconst currentItem = path.find(\n\t\t\t(el) => el.tagName === 'BUTTON' || el.hasAttribute('tabindex'),\n\t\t);\n\n\t\tconst toolbar = currentItem.closest('.sn-window-manager-toolbar');\n\t\tif (!toolbar) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Filter out icon buttons\n\t\tconst tabbableElements = Array.from(\n\t\t\ttoolbar.querySelectorAll('.window-button > button'),\n\t\t);\n\n\t\tconst currentIndex = tabbableElements.indexOf(currentItem);\n\t\tif (currentIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = currentIndex;\n\n\t\tif (key === 'ArrowLeft' || key === 'ArrowUp') {\n\t\t\tnextIndex =\n\t\t\t\tcurrentIndex > 0 ? currentIndex - 1 : tabbableElements.length - 1;\n\t\t} else if (key === 'ArrowRight' || key === 'ArrowDown') {\n\t\t\tnextIndex =\n\t\t\t\tcurrentIndex < tabbableElements.length - 1 ? currentIndex + 1 : 0;\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\ttabbableElements[nextIndex]?.focus();\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'is-rtl': document.dir === 'rtl',\n\t\t\t\topened: isToolbarOpen,\n\t\t\t\t'sn-window-manager-toolbar': true,\n\t\t\t\t'left-dock-open': leftDockOpen,\n\t\t\t\t'right-dock-open': rightDockOpen,\n\t\t\t\t'bottom-dock-open': bottomDockOpen,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t'--zone3-width': `${properties.zone3Width || 0}px`,\n\t\t\t}}\n\t\t\trole=\"toolbar\"\n\t\t\ton-keydown={handleKeyboardNavigation}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t'minimization-zone': true,\n\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t\tzone1: true,\n\t\t\t\t\t\tempty: visible1.length === 0 && overflowCount1 === 0,\n\t\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{visible1.map((windowConfig) => (\n\t\t\t\t\t\t<MinimizedButtonView\n\t\t\t\t\t\t\tkey={windowConfig.id}\n\t\t\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t<ZoneOverflowButton\n\t\t\t\t\t\tcount={overflowCount1}\n\t\t\t\t\t\twindows={overflowWindows1}\n\t\t\t\t\t\tisGlobal={true}\n\t\t\t\t\t\tzoneId=\"zone1\"\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t{showDivider ? <div className=\"zone-divider\" /> : null}\n\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t\tzone2: true,\n\t\t\t\t\t\tempty: visible2.length === 0 && overflowCount2 === 0,\n\t\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{visible2.map((windowConfig) => (\n\t\t\t\t\t\t<MinimizedButtonView\n\t\t\t\t\t\t\tkey={windowConfig.id}\n\t\t\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t<ZoneOverflowButton\n\t\t\t\t\t\tcount={overflowCount2}\n\t\t\t\t\t\twindows={overflowWindows2}\n\t\t\t\t\t\tisGlobal={false}\n\t\t\t\t\t\tzoneId=\"zone2\"\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div className=\"toolbar-zone zone3\">\n\t\t\t\t<now-loader id=\"reflow-loader\"><\/now-loader>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {debounce} from '@devsnc/snowdash';\nimport '@servicenow/now-loader';\nimport {\n\tSCREEN_CHANGED,\n\tUPDATE_BOTTOM_TOOLBAR_ELEMENTS,\n\tTOGGLE_OVERFLOW_POPOVER,\n\tSET_OVERFLOW_BUTTON_REF,\n} from '../utilities/actions';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst measureZone3Width = (hoistTargetElem) => {\n\tif (!hoistTargetElem) {\n\t\treturn 0;\n\t}\n\treturn hoistTargetElem.offsetWidth || 0;\n};\n\nconst resizeUpdateZone3Width = debounce((hoistTargetElem, updateProperties) => {\n\t// Make zone 3 take up the full width to trigger reflow of internal elements\n\thoistTargetElem.style.width = '100%';\n\n\t// Hide all the child nodes of zone 3\n\thoistTargetElem.childNodes.forEach((child) => {\n\t\t// Start showing the loader telling the user we are reflowing zone 3\n\t\tif (child.id !== 'reflow-loader') {\n\t\t\tchild.style.visibility = 'hidden';\n\t\t} else {\n\t\t\tchild.style.display = 'flex';\n\t\t\tchild.style.position = 'fixed';\n\t\t\tchild.style.right = '20px';\n\t\t}\n\t});\n\n\t// Need to wait for the reflow to complete\n\tsetTimeout(() => {\n\t\t// Reset zone 3 back to the normal width\n\t\thoistTargetElem.style.width = '';\n\n\t\t// Loop through all the child nodes of the hoist target element and set their visibility to visible\n\t\thoistTargetElem.childNodes.forEach((child) => {\n\t\t\t// Go back to hiding the reflow loader\n\t\t\tif (child.id !== 'reflow-loader') {\n\t\t\t\tchild.style.visibility = 'visible';\n\t\t\t} else {\n\t\t\t\tchild.style.display = 'none';\n\t\t\t}\n\t\t});\n\n\t\t// Recalculate the zone 3 width\n\t\tupdateProperties({zone3Width: measureZone3Width(hoistTargetElem)});\n\t}, 200);\n}, 300);\n\nconst filterMinimizedWindows = (\n\tminimizedWindowList,\n\twindowsList,\n\tscreenInfo,\n) => {\n\tconst globalMinimizedWindows = [];\n\tconst scopedMinimizedWindows = [];\n\n\tminimizedWindowList.forEach((windowId) => {\n\t\tconst windowConfig = windowsList.find((window) => window.id === windowId);\n\t\tif (windowConfig) {\n\t\t\tif (windowConfig.isGlobalWindow) {\n\t\t\t\tglobalMinimizedWindows.push(windowConfig);\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\twindowConfig.screenKey === screenInfo.screenKey &&\n\t\t\t\t\twindowConfig.experienceId === screenInfo.experienceId\n\t\t\t\t) {\n\t\t\t\t\tscopedMinimizedWindows.push(windowConfig);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn {globalMinimizedWindows, scopedMinimizedWindows};\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\tconst {host, updateProperties} = coeffects;\n\t\tconst mainToolbarElement = host.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t\tconst hoistTargetElem = mainToolbarElement.querySelector(\n\t\t\t'.toolbar-zone.zone3',\n\t\t);\n\t\tconst callback = (mutationsList) => {\n\t\t\tconst isCurrentSelectedScreen = (child) => {\n\t\t\t\tconst {screenKey: currentScreenKey, experienceId: currentExperienceId} =\n\t\t\t\t\twindow.nowWindowManager?.screenInfo;\n\n\t\t\t\treturn (\n\t\t\t\t\tchild?.sourceElement?.experienceId === currentExperienceId &&\n\t\t\t\t\tchild?.sourceElement?.activeHoistedContent === currentScreenKey\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tfor (const mutation of mutationsList) {\n\t\t\t\tif (mutation.type === 'childList') {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tlet isSlottedElemVisible = false;\n\n\t\t\t\t\t\t// Check if any child elements are visible\n\t\t\t\t\t\thoistTargetElem.childNodes.forEach((child) => {\n\t\t\t\t\t\t\t// Check if the slotted element is visible\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tchild.nodeType === Node.ELEMENT_NODE &&\n\t\t\t\t\t\t\t\tisCurrentSelectedScreen(child)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst computedStyle = window.getComputedStyle(child);\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcomputedStyle.display !== 'none' &&\n\t\t\t\t\t\t\t\t\tcomputedStyle.visibility !== 'hidden'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tisSlottedElemVisible = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Ensure that child components are taking up the full width of zone 3\n\t\t\t\t\t\t\tif (child.id !== 'reflow-loader') {\n\t\t\t\t\t\t\t\tchild.style.width = '100%';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Wait for the child component to be fully loaded before measuring the zone 3 width\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\tzone3Width: measureZone3Width(hoistTargetElem),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, 750);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst zone3Width = isSlottedElemVisible\n\t\t\t\t\t\t\t? measureZone3Width(hoistTargetElem)\n\t\t\t\t\t\t\t: 0;\n\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\thasSlottedContent: isSlottedElemVisible,\n\t\t\t\t\t\t\tzone3Width,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst observer = new MutationObserver(callback);\n\n\t\tconst config = {childList: true}; // Only watch for direct children being added or removed\n\n\t\t// Start observing the target node for configured mutations\n\t\tobserver.observe(hoistTargetElem, config);\n\n\t\t// Store observer for cleanup\n\t\thost._zone3MutationObserver = observer;\n\n\t\tif (window.ux_globals) {\n\t\t\tif (!window.ux_globals.__windowManagerConfig) {\n\t\t\t\twindow.ux_globals.__windowManagerConfig = {};\n\t\t\t}\n\t\t\twindow.ux_globals.__windowManagerConfig.zoneThreeHoistTarget =\n\t\t\t\thoistTargetElem;\n\t\t}\n\n\t\t// Store ref and set initial width measurement\n\t\tupdateProperties({\n\t\t\tmainToolbarElement,\n\t\t\tzone3Width: hoistTargetElem ? hoistTargetElem.offsetWidth || 0 : 0,\n\t\t});\n\t},\n\t[UPDATE_BOTTOM_TOOLBAR_ELEMENTS]: (coeffects) => {\n\t\tconst {host, updateProperties, action} = coeffects;\n\t\tconst {payload} = action;\n\n\t\tconst mainToolbarElement = host.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t\tconst hoistTargetElem = mainToolbarElement.querySelector(\n\t\t\t'.toolbar-zone.zone3',\n\t\t);\n\n\t\tconst hoistedElements = hoistTargetElem.querySelectorAll('seismic-hoist');\n\t\tlet hasHoistedElement = false;\n\n\t\thoistedElements.forEach((elem) => {\n\t\t\tconst elemHoistInfo = elem.sourceElement.activeHoistedContent;\n\t\t\tif (elemHoistInfo && elemHoistInfo === payload.screenKey) {\n\t\t\t\t// This element belongs to the selected screen, ensure it's visible\n\t\t\t\telem.style.display = 'initial';\n\t\t\t\thasHoistedElement = true;\n\t\t\t} else {\n\t\t\t\t// This element does not belong to the selected screen, hide it\n\t\t\t\tif (elem.offsetWidth !== 0) {\n\t\t\t\t\telem.style.width = elem.offsetWidth + 'px'; // Maintain width to avoid layout shift\n\t\t\t\t\telem.style.display = 'none';\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tconst zone3Width = hasHoistedElement\n\t\t\t? measureZone3Width(hoistTargetElem)\n\t\t\t: 0;\n\t\tupdateProperties({\n\t\t\thasSlottedContent: hasHoistedElement,\n\t\t\tzone3Width,\n\t\t});\n\t},\n\t[TOGGLE_OVERFLOW_POPOVER]: ({action, state, updateState}) => {\n\t\tconst {zoneId} = action.payload;\n\t\tconst {openedOverflowZone} = state;\n\n\t\tupdateState({\n\t\t\topenedOverflowZone: openedOverflowZone === zoneId ? '' : zoneId,\n\t\t});\n\t},\n\t// Store overflow button ref for focus management\n\t[SET_OVERFLOW_BUTTON_REF]: ({action, state, updateState}) => {\n\t\tconst {zoneId, buttonRef} = action.payload;\n\t\tconst {overflowButtonRefs = {}} = state;\n\n\t\tupdateState({\n\t\t\toverflowButtonRefs: {\n\t\t\t\t...overflowButtonRefs,\n\t\t\t\t[zoneId]: buttonRef,\n\t\t\t},\n\t\t});\n\t},\n\t// Listen to popover close from now-popover (click-away)\n\t['NOW_POPOVER#OPENED_SET']: ({action, updateState, state}) => {\n\t\tconst {id} = action.meta.appended;\n\t\tconst {value, actionSource} = action.payload;\n\t\tconst {openedOverflowZone, overflowButtonRefs = {}} = state;\n\n\t\t// Extract zone from id (e.g., 'overflow-popover-zone1' -> 'zone1')\n\t\tconst zoneFromPopover = id?.replace('overflow-popover-', '');\n\n\t\t// Only clear state if THIS popover is closing AND it matches our current zone\n\t\t// This prevents zone1 closing from clearing zone2 that just opened\n\t\tif (!value && zoneFromPopover === openedOverflowZone) {\n\t\t\tupdateState({openedOverflowZone: ''});\n\n\t\t\t// Restore focus to trigger button if closed via keyboard (Tab or Escape)\n\t\t\tif (actionSource === 'tab-press' || actionSource === 'escape-press') {\n\t\t\t\tconst buttonRef = overflowButtonRefs[zoneFromPopover];\n\n\t\t\t\tif (buttonRef && buttonRef.isConnected) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (buttonRef.isConnected) {\n\t\t\t\t\t\t\tbuttonRef.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t// Close popover when properties that affect overflow calculation change (reflow detection)\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {action, updateProperties, updateState, state, host} = coeffects;\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tconst {properties} = state;\n\n\t\tif (name === 'browserDimensions') {\n\t\t\tconst widthChanged = value?.width !== previousValue?.width;\n\n\t\t\tif (widthChanged) {\n\t\t\t\tconst {openedOverflowZone, properties} = state;\n\t\t\t\tconst {mainToolbarElement} = properties || {};\n\n\t\t\t\tif (openedOverflowZone) {\n\t\t\t\t\tupdateState({openedOverflowZone: ''});\n\t\t\t\t}\n\n\t\t\t\tconst hoistTargetElem = mainToolbarElement?.querySelector(\n\t\t\t\t\t'.toolbar-zone.zone3',\n\t\t\t\t);\n\n\t\t\t\tif (value?.width > previousValue?.width) {\n\t\t\t\t\tresizeUpdateZone3Width(\n\t\t\t\t\t\thoistTargetElem,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\tproperties.zone3Width,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\tconst width = hoistTargetElem\n\t\t\t\t\t\t\t\t? hoistTargetElem.offsetWidth || 0\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t\t\tupdateProperties({zone3Width: width});\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'windowsState') {\n\t\t\tconst {windowsList, windowsState, screenInfo} = properties;\n\t\t\tconst minimizedWindowList = windowsState.minimizedWindows;\n\n\t\t\tconst {globalMinimizedWindows, scopedMinimizedWindows} =\n\t\t\t\tfilterMinimizedWindows(minimizedWindowList, windowsList, screenInfo);\n\n\t\t\tif (\n\t\t\t\tglobalMinimizedWindows.length !==\n\t\t\t\t\tproperties.globalMinimizedWindows.length ||\n\t\t\t\tscopedMinimizedWindows.length !==\n\t\t\t\t\tproperties.scopedMinimizedWindows.length\n\t\t\t) {\n\t\t\t\t// Only update if there's a change in length to avoid infinite loops\n\t\t\t\tupdateProperties({\n\t\t\t\t\tglobalMinimizedWindows,\n\t\t\t\t\tscopedMinimizedWindows,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tname === 'globalMinimizedWindows' ||\n\t\t\tname === 'scopedMinimizedWindows'\n\t\t) {\n\t\t\tconst newWindowId = value.filter((item) => !previousValue.includes(item));\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (newWindowId && newWindowId.length > 0) {\n\t\t\t\t\tconst newButton = host.shadowRoot.querySelector(\n\t\t\t\t\t\t`#window-button-${newWindowId[0].id.replace(/~/g, '')}`,\n\t\t\t\t\t);\n\t\t\t\t\tif (newButton) {\n\t\t\t\t\t\tnewButton.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 360);\n\t\t}\n\n\t\tif (name === 'screenInfo') {\n\t\t\tconst {windowsList, windowsState} = properties;\n\t\t\tconst minimizedWindowList = windowsState.minimizedWindows;\n\n\t\t\tconst {globalMinimizedWindows, scopedMinimizedWindows} =\n\t\t\t\tfilterMinimizedWindows(minimizedWindowList, windowsList, value);\n\n\t\t\tupdateProperties({\n\t\t\t\tglobalMinimizedWindows,\n\t\t\t\tscopedMinimizedWindows,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({host}) => {\n\t\tif (host._zone3MutationObserver) {\n\t\t\thost._zone3MutationObserver.disconnect();\n\t\t\thost._zone3MutationObserver = null;\n\t\t}\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './bottomToolbar.view';\nimport {actionHandlers} from './bottomToolbar.effects';\n\ncreateCustomElement('sn-window-manager-bottom-toolbar', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {\n\t\t\t\tleftDockId: null,\n\t\t\t\trightDockId: null,\n\t\t\t\tbottomDockId: null,\n\t\t\t\tactiveWindowId: null,\n\t\t\t\tminimizedWindows: [],\n\t\t\t\tmodalWindows: [],\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tglobalMinimizedWindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tscopedMinimizedWindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: 'unified-navigation',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tmainToolbarElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\thasSlottedContent: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\topenedOverflowZone: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tzone3Width: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\toverflowButtonRefs: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tactionHandlers: actionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {SET_HEADER_BUTTONS} from '../src/sn-window-manager/utilities/actions';\nimport {t} from 'sn-translate';\n\nexport const view = (state, dispatch) => {\n\tconst {properties} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"test-content\">\n\t\t\t\t<h1 align=\"center\">Header Button Example View<\/h1>\n\n\t\t\t\t<div>\n\t\t\t\t\t<p align=\"center\">\n\t\t\t\t\t\tThis is an example of how to setup and use buttons in the window\n\t\t\t\t\t\theader.\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nconst tooltipLabel = t('Pin Menu');\n\nconst pinDropDownView = () => (\n\t<now-dropdown\n\t\tid=\"pin-dropdown\"\n\t\titems={[\n\t\t\t{id: 'top-left', label: t('Top Left')},\n\t\t\t{id: 'top-right', label: t('Top Right')},\n\t\t\t{id: 'bottom-left', label: t('Bottom Left')},\n\t\t\t{id: 'bottom-right', label: t('Bottom Right')},\n\t\t]}\n\t\tshowPadding={false}\n\t\t// variant=\"primary\"\n\t\thideCaret={true}\n\t\thideLabel={true}\n\t\ttooltip-content={tooltipLabel}\n\t\ticon=\"ellipsis-vertical-outline\"\n\t\tconfig-aria={{'aria-label': tooltipLabel}}\n\t/>\n);\n\ncreateCustomElement('header-button-example', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\t// dialogSize and dialogLocation will get passed down from sn-window\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tdialogLocation: {\n\t\t\tdefault: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: ({dispatch, state}) => {\n\t\t\t// This is where you would set up your header buttons\n\n\t\t\t// the drop down element which will be put in the window header\n\t\t\tconst pinningDropDown = pinDropDownView();\n\t\t\tconst tooltipLabel = t('Open in new tab');\n\t\t\t// this defines the buttons that will be added to the header\n\t\t\tconst customHeaderButtons = [\n\t\t\t\t// button defined just by JSON\n\t\t\t\t{\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: 'open-link',\n\t\t\t\t\t\t// label: tooltipLabel,\n\t\t\t\t\t\ttooltipContent: tooltipLabel,\n\t\t\t\t\t\tconfigAria: {'aria-label': tooltipLabel},\n\t\t\t\t\t\ticon: 'open-link-right-outline',\n\t\t\t\t\t\t// variant: 'primary',\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tdispatch('OPEN_IN_NEW_TAB', {\n\t\t\t\t\t\t\t\turl: '/incident.do?sys_id=1234567890abcdef',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t// button that is a dropdown element managed by this view\n\t\t\t\t{\n\t\t\t\t\ttype: 'element',\n\t\t\t\t\telement: pinningDropDown,\n\t\t\t\t},\n\t\t\t];\n\n\t\t\t// tell sn-window to add the buttons to the header\n\t\t\tdispatch(SET_HEADER_BUTTONS, {\n\t\t\t\theaderButtons: customHeaderButtons,\n\t\t\t});\n\n\t\t\t// for now dropdown to work, we need to add an event listener to the dropdown\n\t\t\t// this is a hack to make sure the dropdown is in the DOM before we add the event listener\n\t\t\tsetTimeout(() => {\n\t\t\t\tpinningDropDown.elm.addEventListener(\n\t\t\t\t\t'NOW_DROPDOWN#ITEM_CLICKED',\n\t\t\t\t\t(event) => {\n\t\t\t\t\t\tconst {payload} = event.detail;\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\titem: {id},\n\t\t\t\t\t\t} = payload;\n\t\t\t\t\t\tdispatch('PIN_TO_CORNER', id);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}, 100);\n\t\t},\n\t\t['PIN_TO_CORNER']: (coeffects) => {\n\t\t\tconst {state, action, dispatch} = coeffects;\n\t\t\tconst {payload} = action;\n\n\t\t\t// handle pinning to corners\n\t\t\tswitch (payload) {\n\t\t\t\tcase 'top-left':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'top-right':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: window.innerWidth - state.properties.dialogSize.width,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-left':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: window.innerHeight - state.properties.dialogSize.height,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-right':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: window.innerHeight - state.properties.dialogSize.height,\n\t\t\t\t\t\tleft: window.innerWidth - state.properties.dialogSize.width,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t['OPEN_IN_NEW_TAB']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t} = coeffects;\n\n\t\t\twindow.open(payload.url, '_blank');\n\t\t},\n\t\t['NOW_DROPDOWN#ITEM_CLICKED']: (coeffects) => {\n\t\t\t// const {action: {payload}, dispatch} = coeffects;\n\t\t\t// const {id} = payload;\n\n\t\t\tconsole.info('NOW_DROPDOWN#ITEM_CLICKED');\n\t\t},\n\t},\n});\n","import '../sn-window';\nimport '@servicenow/now-modal';\nimport './fragments/debug-panel';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport './bottomToolbar';\nimport '../sn-window/';\nimport './fragments/debug-panel';\nimport '../../example/header-button-example';\nimport {\n\tSN_WINDOW_DIALOG_CLOSE_CANCELED,\n\tSN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n} from './utilities/actions';\nimport {t} from 'sn-translate';\n\nexport default (state, dispatch) => {\n\tconst {properties} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{properties.showCloseConfirmDialog ? (\n\t\t\t\t<now-modal\n\t\t\t\t\topened={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tmanageOpened={true}\n\t\t\t\t\theaderLabel={t('Close Dialog')}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\tproperties.confirmCloseMessage\n\t\t\t\t\t\t\t? properties.confirmCloseMessage\n\t\t\t\t\t\t\t: t(\n\t\t\t\t\t\t\t\t\t'Closing this dialog will cause your changes to be lost. Do you want to continue?',\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tfooterActions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclickActionType: SN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n\t\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclickActionType: SN_WINDOW_DIALOG_CLOSE_CANCELED,\n\t\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t><\/now-modal>\n\t\t\t) : null}\n\n\t\t\t<sn-window-manager-bottom-toolbar\n\t\t\t\tminimizedWindowList={properties.windowsState.minimizedWindows}\n\t\t\t\twindowsList={properties.windowsList}\n\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\tportalType={properties.portalType}\n\t\t\t\tscreenInfo={properties.screenInfo}\n\t\t\t\tbrowserDimensions={properties.browserDimensions}\n\t\t\t><\/sn-window-manager-bottom-toolbar>\n\t\t<\/Fragment>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tCREATE_WINDOW,\n\tCLOSE_WINDOW,\n\tOPEN_WINDOW,\n\tOPEN_DEBUG_WINDOW,\n\tRELAY_MESSAGE,\n\tTOGGLE_MODAL_STATE,\n\tTOGGLE_MINIMIZE_STATE,\n\tCLOSE_DOCK,\n\tUPDATE_BODY_CLASS_NAMES,\n\tCHECK_WINDOW_LOCATIONS,\n\tTOGGLE_DOCK,\n\tSCREEN_CHANGED,\n\tSET_DIRTY_STATE,\n\tFOCUS_WINDOW,\n\tSN_WINDOW_DIALOG_CLOSE_CANCELED,\n\tSN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n\tSET_WINDOW_PROPERTIES,\n\tUPDATE_MINIMIZED_TARGET_POSITION,\n\tSIDEBAR_UNREAD_MESSAGE,\n\tSET_SIDEBAR_CHAT_PRIVATE,\n\tFOCUS_BOTTOM_TOOLBAR_REQUESTED,\n} from './utilities/actions';\n\nimport {\n\tcomponentBootstrap,\n\thandlePropertyChange,\n\thandleDomTreeReady,\n\thandleComponentConnected,\n\thandleCreateWindow,\n\thandleCloseWindow,\n\thandleOpenWindow,\n\thandleModalToggle,\n\thandleSetWindowActive,\n\trelayMessage,\n\topenDebugWindow,\n\thandleToggleMinimize,\n\thandleCloseDock,\n\tupdateBodyClassName,\n\thandleCheckWindowLocations,\n\thandleToggleDock,\n\thandleScreenChanged,\n\thandleSetDirtyState,\n\thandleDialogCloseCancelled,\n\thandleDialogCloseConfirmed,\n\thandleSetWindowProperties,\n\thandleMinimizedTargetPosition,\n\thandleSidebarUnreadMessage,\n\thandleSetSidebarChatPrivate,\n\thandleFocusBottomToolbar,\n} from './utilities';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange,\n\t[COMPONENT_DOM_TREE_READY]: handleDomTreeReady,\n\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t[TOGGLE_DOCK]: handleToggleDock,\n\t[TOGGLE_MODAL_STATE]: handleModalToggle,\n\t[TOGGLE_MINIMIZE_STATE]: handleToggleMinimize,\n\t[CREATE_WINDOW]: handleCreateWindow,\n\t[CLOSE_WINDOW]: handleCloseWindow,\n\t[OPEN_WINDOW]: handleOpenWindow,\n\t[OPEN_DEBUG_WINDOW]: openDebugWindow,\n\t[FOCUS_WINDOW]: handleSetWindowActive,\n\t[RELAY_MESSAGE]: relayMessage,\n\t[CLOSE_DOCK]: handleCloseDock,\n\t[UPDATE_BODY_CLASS_NAMES]: updateBodyClassName,\n\t[CHECK_WINDOW_LOCATIONS]: handleCheckWindowLocations,\n\t[SCREEN_CHANGED]: handleScreenChanged,\n\t[SET_DIRTY_STATE]: handleSetDirtyState,\n\t[SET_WINDOW_PROPERTIES]: handleSetWindowProperties,\n\t[SN_WINDOW_DIALOG_CLOSE_CONFIRMED]: handleDialogCloseConfirmed,\n\t[SN_WINDOW_DIALOG_CLOSE_CANCELED]: handleDialogCloseCancelled,\n\t['NOW_MODAL#OPENED_SET']: (coeffects) => {\n\t\tconst {properties, updateProperties} = coeffects;\n\t\tif (properties.showCloseConfirmDialog) {\n\t\t\thandleDialogCloseCancelled(coeffects);\n\t\t}\n\t},\n\t[UPDATE_MINIMIZED_TARGET_POSITION]: handleMinimizedTargetPosition,\n\t[SIDEBAR_UNREAD_MESSAGE]: handleSidebarUnreadMessage,\n\t[SET_SIDEBAR_CHAT_PRIVATE]: handleSetSidebarChatPrivate,\n\t[FOCUS_BOTTOM_TOOLBAR_REQUESTED]: handleFocusBottomToolbar,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t} });","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tregisterComponent,\n\tderegisterComponent,\n\tsetActionState,\n} from '@servicenow/now-trigger-library';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {FOCUS_BOTTOM_TOOLBAR_REQUESTED} from '../utilities/actions';\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\n\n/**\n * Keyboard shortcuts behavior for Window Manager\n * Registers keyboard shortcuts using registerComponent (matches polaris-app-shell pattern)\n *\n * NOTE: This requires the UXF shortcuts infrastructure (now-trigger-library) to be available.\n * It will not work in the example app environment - testing must be done in Unified Navigation.\n */\nexport default {\n\tname: 'keyboard-shortcuts-behavior',\n\tsetInitialState: () => ({\n\t\tnowTriggerLibRegistrationId: null,\n\t}),\n\tactionHandlers: {\n\t\t/**\n\t\t * Register keyboard shortcuts when component is bootstrapped\n\t\t * Reads configuration from userPreferences (matches polaris-app-shell pattern)\n\t\t */\n\t\t[COMPONENT_BOOTSTRAPPED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\thost,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\n\t\t\t// Check if keyboard shortcuts are enabled via user preferences\n\t\t\tconst keyboardShortcutsEnabled = getBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (!keyboardShortcutsEnabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t// Register component with action map (polaris-app-shell pattern)\n\t\t\t\tconst nowTriggerLibRegistrationId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[FOCUS_BOTTOM_TOOLBAR_REQUESTED]: () => {\n\t\t\t\t\t\t\t// Dispatch action to focus bottom toolbar\n\t\t\t\t\t\t\tdispatch(FOCUS_BOTTOM_TOOLBAR_REQUESTED, {\n\t\t\t\t\t\t\t\tsource: 'keyboard-shortcut',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\t// Enable the shortcut by default\n\t\t\t\tsetActionState(host?.componentId, FOCUS_BOTTOM_TOOLBAR_REQUESTED, true);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tnowTriggerLibRegistrationId,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'[WM Shortcuts] Failed to register keyboard shortcuts:',\n\t\t\t\t\terror,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Unregister keyboard shortcuts when component is disconnected\n\t\t * Prevents memory leaks\n\t\t */\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\tconst {updateState, state} = coeffects;\n\n\t\t\tif (!state.nowTriggerLibRegistrationId) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tderegisterComponent(state.nowTriggerLibRegistrationId);\n\t\t\t\tupdateState({\n\t\t\t\t\tnowTriggerLibRegistrationId: null,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'[WM Shortcuts] Failed to unregister keyboard shortcuts:',\n\t\t\t\t\terror,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './sn-window-manager.view';\nimport {actionHandlers} from './sn-window-manager.effects';\nimport keyboardShortcutsBehavior from './behaviors/keyboard-shortcuts-behavior';\n\ncreateCustomElement('sn-window-manager', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tdynamicStyleSheet: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\t// Dimensions of the *entire* window, i.e. browser\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {\n\t\t\t\tleftDockId: null,\n\t\t\t\trightDockId: null,\n\t\t\t\tbottomDockId: null,\n\t\t\t\tactiveWindowId: null,\n\t\t\t\tminimizedWindows: [],\n\t\t\t\tminimizedTargetPositions: {},\n\t\t\t\tmodalWindows: [],\n\t\t\t\tcalculatedStyle: {},\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: 'unified-navigation',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tunifiedNavComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tanimationsDisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tbottomToolbarComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tshowCloseConfirmDialog: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tclosingWindowId: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['string', 'null']},\n\t\t},\n\t\tconfirmCloseMessage: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['string', 'null']},\n\t\t},\n\t},\n\tactionHandlers: actionHandlers,\n\tbehaviors: [keyboardShortcutsBehavior],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_sn_window_manager=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":462,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/ai-engagement-library/27.10.27/index.min.js","names":["module","exports","a","n","TypeError","__esModule","toPropertyKey","require","_defineProperties","e","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","_extends","assign","bind","arguments","hasOwnProperty","call","apply","includes","_typeof","Symbol","toPrimitive","i","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","definition","get","obj","prop","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__","default","generatorVersions","intentActions","registerGenerator","registerTranslator","setActiveTranslator","updateContext","CONTEXT_RECEIVED","_isNapActive","window","__aiexLibrary","pageContext","customContext","callbacks","Set","setContext","getPageContext","getNapActive","setNapActive","value","AIEX_HISTORY_KEY","translatorKey","payload","_payload$context","experienceName","sysId","table","url","route","context","_history","_history$replaceState","_location","state","history","replaceState","location","href","addToHistory","forEach","callback","actions","_history2","_window$__aiexLibrary","_window$__aiexLibrary2","emptyContext","subscribeToPageContextUpdates","cb","add","delete","getFullContext","__LIBRARY_INTENT_CHANNEL__mediatorRegistry","invoke","eventName","options","generatorVersion","V2","receiveAllContexts","console","warn","isTranslatorRegistered","setCustomContext","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__","UXF_CLOSE_MODELESS_WINDOW","UXF_CLOSE_MODELESS_WINDOW_ON_STAGE","UXF_CLOSE_WINDOW","UXF_CREATE_MODELESS_WINDOW","UXF_DIRTY_MODELESS_WINDOW","UXF_FOCUS_WINDOW","UXF_MINIMIZE_MODELESS_WINDOW","UXF_OPEN_WINDOW","UXF_SELECT_MODELESS_WINDOW","UXF_SHOW_MODELESS_WINDOW","UXF_TOGGLE_DOCK","UXF_TOGGLE_MINIMIZED","UXF_TOGGLE_MODAL","UXF_UPDATE_MODELESS_WINDOW","UXF_WM_SCREEN_SELECTED","WM_CLOSE_DOCK","WM_CLOSE_WINDOW","WM_CREATE_WINDOW","WM_FOCUS_WINDOW","WM_OPEN_WINDOW","WM_RELAY_MESSAGE","WM_SET_DIRTY_STATE","WM_SET_HEADER_BUTTONS","WM_SET_WINDOW_PROPERTIES","WM_TOGGLE_DOCK","WM_TOGGLE_MINIMIZED","WM_TOGGLE_MODAL","LAUNCH_EXPERIENCE","AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED","AIEX_PUBLISH_REQUESTED","AIEX_SUBSCRIBE_REQUESTED","AIEX_UNSUBSCRIBE_REQUESTED","LAUNCH_WINDOW_MANAGER","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__","snHttpFactory","snHttp","xsrfToken","g_ck","batch","batching","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","WM_LAUNCH_MODE_PROPERTY","CONTEXTUAL_PINNED_ID_PROPERTY","CONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS","EXPERIENCE_LAUNCH_MODE","MODAL","FLOATING","DOCKED","DOCKED_LEFT","DOCKED_RIGHT","getStartingStateByLaunchMode","launchMode","startingState","values","document","dir","getBrandingOverrides","header_label","va_logo","title","headerIcon","icon","createCanvasWindowConfig","_ref","ux_globals","userPrefs","maxWindowSizePercentage","width","height","overrides","_objectWithoutPropertiesLoose","_excluded","id","canDrag","canResize","canMaximize","canMinimize","canToggleModal","canDock","closeToTop","closeToElement","dockConfig","dockRight","dockLeft","dockBottom","dockedWindowSize","isPersistent","isModal","dialogSize","resizableConfig","enableResizable","resizableMinWidth","resizableMinHeight","resizableMaxWidth","Math","floor","innerWidth","resizableMaxHeight","innerHeight","modalSize","content","component","properties","variant","configAria","dialog","role","isWindowManagerLoading","windowManagerComponentLoaded","windowManagerPreloadPromise","aiEngagementComponentLoaded","aiEngagementPreloadPromise","preloadAIEngagementComponent","then","info","catch","err","Promise","resolve","setTimeout","launchWindowManager","async","host","portalType","_window$ux_globals","wmParent","body","appShellLayout","querySelector","polarisLayout","shadowRoot","getWMParent","__windowManagerConfig","isLoaded","windowManager","createElement","append","_window$ux_globals2","getSelectedContentFromRouter","_host$shadowRoot","routerId","nowId","launchExperience","_nassProps$brandingSe","_window$ux_globals$__","hostType","_body$data","response","request","data","query","napActive","now","nowAssistUtility","error","checkAndUpdateNapActive","selectedContent","napShortcutCommand","conversationId","windowConfigOverrides","nassProps","canvasWindowConfig","brandingSettings","brandingProperties","sessionContext","forceNewConversation","remAdjustmentRequired","isChatOnlyMode","switchContextConversation","showChat","activeConversationId","nowAssistOptions","timestamp","Date","openOrCreateWindow","propsToUpdate","nowWindowManager","doesWindowExist","setWindowProperties","openWindow","createWindow","addEventListener","_window$nowWindowMana","launchSkillExecution","_nassProps$brandingSe2","skillId","skillParams","skill","windowManagerPromise","windowManagerApiProxy","Proxy","_","_len","args","Array","_key","wmAPI","channelManager","_createClass","ChannelManager","_classCallCheck","this","channels","Map","channelName","subscriberCallback","subscriberId","has","set","contextMap","contextHashId","makeContextHashId","subscribers","unsubscribe","_contextMap$get","debug","size","subscriberObj","_this$channels$get","uniqueSubscriberId","split","subscriberRemoved","cleanUpChannelMap","subscriberMap","desiredChannelName","desiredContext","push","str","JSON","stringify","keys","sort","hash","charCodeAt","toString","subscribe","unsubIdCallback","replace","c","random","createSubscriberId","unsubscribeFn","registerChannel","publish","_ref2","relayMessage","getAllSubscribers","COMPONENT_BOOTSTRAPPED","getUxfWindowId","experienceId","screenKey","instanceId","componentId","zoneThreeHoistTarget","name","actionHandlers","effect","windowManagerShim","coeffects","action","unifiedNavComponent","hostComponent","stopPropagation","_ref3","_ref4","closeWindow","windowId","newProps","newProperties","closeDock","dockLocation","toggleDock","toggleModal","toggleMinimized","focusWindow","headerButtons","setHeaderButtons","_payload$dirtyState","dirtyState","isDirty","setDirtyState","keysToFilterOut","fromEntries","entries","filter","_ref5","_payload$opts","modelessProps","opts","windowConfig","isUXFWindow","isGlobalWindow","headingLabel","contentRef","modelessDialogControllerId","meta","eventInfo","sourceElementId","uxfMeta","forceDestroy","_payload$dirtyState2","_ref6","handleScreenChanged","windowsList","win","updateUserPreferences","_ref7","enableModal","AIEX_UPDATE_CONTEXT","_ref8","_ref9","_ref0","_ref1","dispatch","buttonAction","target"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-intent-channel/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.27/aiex-library.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/sn-window-manager/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.1/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.27/actions.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-http-request/28.0.4/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.27/graphql-utils.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.27/constants.js","webpack:///@servicenow/ai-engagement-library/27.10.27/launcher.js","webpack:///@servicenow/ai-engagement-library/27.10.27/utils/window-manager-shim.js","webpack:///@servicenow/ai-engagement-library/27.10.27/pub-sub.js","webpack:///@servicenow/ai-engagement-library/27.10.27/utils/channel-manager.js","webpack:///@servicenow/ai-engagement-library/27.10.27/launcher-behavior.js"],"sourcesContent":["function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"generatorVersions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'generatorVersions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].generatorVersions;\n\t\t\t\t\t} else if ('generatorVersions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.generatorVersions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].generatorVersions;\n\t\t\t\t}, [\"intentActions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t\t} else if ('intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentActions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t}, [\"registerGenerator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerGenerator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerGenerator;\n\t\t\t\t\t} else if ('registerGenerator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.registerGenerator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerGenerator;\n\t\t\t\t}, [\"registerTranslator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerTranslator;\n\t\t\t\t\t} else if ('registerTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.registerTranslator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerTranslator;\n\t\t\t\t}, [\"setActiveTranslator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActiveTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].setActiveTranslator;\n\t\t\t\t\t} else if ('setActiveTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.setActiveTranslator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].setActiveTranslator;\n\t\t\t\t}, [\"updateContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'updateContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].updateContext;\n\t\t\t\t\t} else if ('updateContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.updateContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].updateContext;\n\t\t\t\t} });","import {\n\tregisterTranslator,\n\tsetActiveTranslator,\n\tregisterGenerator,\n\tintentActions,\n\tgeneratorVersions,\n\tupdateContext,\n} from '@devsnc/library-intent-channel';\n\nconst {CONTEXT_RECEIVED} = intentActions;\n// Private state for NAP active status\nlet _isNapActive = undefined;\n\nwindow.__aiexLibrary = window.__aiexLibrary || {\n\tpageContext: {},\n\tcustomContext: {},\n\tcallbacks: new Set(),\n\t// for testing\n\tsetContext,\n\tgetPageContext,\n\n\t// NAP configuration methods\n\tgetNapActive() {\n\t\treturn _isNapActive;\n\t},\n\tsetNapActive(value) {\n\t\t_isNapActive = value;\n\t},\n};\n\nconst AIEX_HISTORY_KEY = '__aiex_context';\nconst translatorKey = 'aiex-library';\n\nfunction addToHistory() {\n\tconst state = history.state || {};\n\thistory?.replaceState?.(\n\t\t{...state, [AIEX_HISTORY_KEY]: true},\n\t\t'',\n\t\tlocation?.href || '',\n\t);\n}\n\nfunction setContext(payload) {\n\tif (payload.translatorKey === translatorKey) {\n\t\treturn;\n\t}\n\n\t// these are the specific fields that chat component picks up\n\t// to send to the backend\n\tconst {experienceName, sysId, table, url, route, customContext} =\n\t\tpayload.context ?? {};\n\n\twindow.__aiexLibrary.pageContext = {\n\t\texperienceName,\n\t\tsysId,\n\t\ttable,\n\t\turl,\n\t\troute,\n\t};\n\n\t// mark that this history entry has context\n\taddToHistory();\n\n\t// keep custom context from other translators separate\n\twindow.__aiexLibrary.customContext = customContext ?? {};\n\n\twindow.__aiexLibrary.callbacks.forEach((callback) => {\n\t\tcallback(getPageContext());\n\t});\n}\n\nconst actions = {\n\t[CONTEXT_RECEIVED]: setContext,\n};\n\nfunction dispatch(eventName, payload) {\n\tactions[eventName] && actions[eventName](payload);\n}\n\n// workaround for now for older versions of library-intent-channel loaded\n// from bundled apps\nif (\n\t// check if older version is added that doesn't have invoke\n\t!(\n\t\twindow.__LIBRARY_INTENT_CHANNEL__mediatorRegistry &&\n\t\t!window.__LIBRARY_INTENT_CHANNEL__mediatorRegistry.invoke\n\t)\n) {\n\tregisterGenerator('aiex-library', dispatch, {\n\t\toptions: {generatorVersion: generatorVersions.V2, receiveAllContexts: true},\n\t});\n} else {\n\tconsole.warn('Failed to register generator');\n}\n\nexport function getPageContext() {\n\tconst state = history?.state || {};\n\tconst hasMark = !!state?.[AIEX_HISTORY_KEY];\n\tconst emptyContext = {\n\t\texperienceName: undefined,\n\t\tsysId: undefined,\n\t\ttable: undefined,\n\t\turl: undefined,\n\t\troute: undefined,\n\t};\n\n\tif (!hasMark) {\n\t\treturn {...emptyContext};\n\t}\n\n\treturn window.__aiexLibrary?.pageContext ?? {...emptyContext};\n}\n\nexport function subscribeToPageContextUpdates(cb) {\n\tif (typeof cb !== 'function') {\n\t\treturn;\n\t}\n\n\twindow.__aiexLibrary.callbacks.add(cb);\n\t// call with current page context\n\tcb(getPageContext());\n\n\t// return unsubscribe function\n\treturn () => {\n\t\twindow.__aiexLibrary.callbacks.delete(cb);\n\t};\n}\n\nexport function getFullContext() {\n\treturn {\n\t\t...getPageContext(),\n\t\tcustomContext: window.__aiexLibrary.customContext,\n\t};\n}\n\nlet isTranslatorRegistered = false;\n\nexport function setCustomContext(customContext) {\n\tif (!isTranslatorRegistered) {\n\t\tregisterTranslator(translatorKey, function () {}, {});\n\t\tisTranslatorRegistered = true;\n\t}\n\n\tObject.assign(window.__aiexLibrary.customContext, customContext);\n\n\tconst context = getFullContext();\n\n\tsetActiveTranslator(translatorKey);\n\tupdateContext(translatorKey, context);\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"UXF_CLOSE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_CLOSE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_CLOSE_MODELESS_WINDOW_ON_STAGE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_MODELESS_WINDOW_ON_STAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW_ON_STAGE;\n\t\t\t\t\t} else if ('UXF_CLOSE_MODELESS_WINDOW_ON_STAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_MODELESS_WINDOW_ON_STAGE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW_ON_STAGE;\n\t\t\t\t}, [\"UXF_CLOSE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_WINDOW;\n\t\t\t\t\t} else if ('UXF_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_WINDOW;\n\t\t\t\t}, [\"UXF_CREATE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CREATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CREATE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_CREATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CREATE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CREATE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_DIRTY_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_DIRTY_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_DIRTY_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_DIRTY_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_DIRTY_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_DIRTY_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_FOCUS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_FOCUS_WINDOW;\n\t\t\t\t\t} else if ('UXF_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_FOCUS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_FOCUS_WINDOW;\n\t\t\t\t}, [\"UXF_MINIMIZE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_MINIMIZE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_MINIMIZE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_MINIMIZE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_MINIMIZE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_MINIMIZE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_OPEN_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_OPEN_WINDOW;\n\t\t\t\t\t} else if ('UXF_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_OPEN_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_OPEN_WINDOW;\n\t\t\t\t}, [\"UXF_SELECT_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_SELECT_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SELECT_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_SELECT_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_SELECT_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SELECT_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_SHOW_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_SHOW_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SHOW_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_SHOW_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_SHOW_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SHOW_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_TOGGLE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_DOCK;\n\t\t\t\t\t} else if ('UXF_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_DOCK;\n\t\t\t\t}, [\"UXF_TOGGLE_MINIMIZED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MINIMIZED;\n\t\t\t\t\t} else if ('UXF_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_MINIMIZED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MINIMIZED;\n\t\t\t\t}, [\"UXF_TOGGLE_MODAL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MODAL;\n\t\t\t\t\t} else if ('UXF_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_MODAL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MODAL;\n\t\t\t\t}, [\"UXF_UPDATE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_UPDATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_UPDATE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_UPDATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_UPDATE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_UPDATE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_WM_SCREEN_SELECTED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_WM_SCREEN_SELECTED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_WM_SCREEN_SELECTED;\n\t\t\t\t\t} else if ('UXF_WM_SCREEN_SELECTED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_WM_SCREEN_SELECTED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_WM_SCREEN_SELECTED;\n\t\t\t\t}, [\"WM_CLOSE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CLOSE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_DOCK;\n\t\t\t\t\t} else if ('WM_CLOSE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CLOSE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_DOCK;\n\t\t\t\t}, [\"WM_CLOSE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_WINDOW;\n\t\t\t\t\t} else if ('WM_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CLOSE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_WINDOW;\n\t\t\t\t}, [\"WM_CREATE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CREATE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CREATE_WINDOW;\n\t\t\t\t\t} else if ('WM_CREATE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CREATE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CREATE_WINDOW;\n\t\t\t\t}, [\"WM_FOCUS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_FOCUS_WINDOW;\n\t\t\t\t\t} else if ('WM_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_FOCUS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_FOCUS_WINDOW;\n\t\t\t\t}, [\"WM_OPEN_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_OPEN_WINDOW;\n\t\t\t\t\t} else if ('WM_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_OPEN_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_OPEN_WINDOW;\n\t\t\t\t}, [\"WM_RELAY_MESSAGE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_RELAY_MESSAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_RELAY_MESSAGE;\n\t\t\t\t\t} else if ('WM_RELAY_MESSAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_RELAY_MESSAGE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_RELAY_MESSAGE;\n\t\t\t\t}, [\"WM_SET_DIRTY_STATE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_DIRTY_STATE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_DIRTY_STATE;\n\t\t\t\t\t} else if ('WM_SET_DIRTY_STATE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_DIRTY_STATE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_DIRTY_STATE;\n\t\t\t\t}, [\"WM_SET_HEADER_BUTTONS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_HEADER_BUTTONS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_HEADER_BUTTONS;\n\t\t\t\t\t} else if ('WM_SET_HEADER_BUTTONS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_HEADER_BUTTONS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_HEADER_BUTTONS;\n\t\t\t\t}, [\"WM_SET_WINDOW_PROPERTIES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_WINDOW_PROPERTIES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_WINDOW_PROPERTIES;\n\t\t\t\t\t} else if ('WM_SET_WINDOW_PROPERTIES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_WINDOW_PROPERTIES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_WINDOW_PROPERTIES;\n\t\t\t\t}, [\"WM_TOGGLE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_DOCK;\n\t\t\t\t\t} else if ('WM_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_DOCK;\n\t\t\t\t}, [\"WM_TOGGLE_MINIMIZED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MINIMIZED;\n\t\t\t\t\t} else if ('WM_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_MINIMIZED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MINIMIZED;\n\t\t\t\t}, [\"WM_TOGGLE_MODAL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MODAL;\n\t\t\t\t\t} else if ('WM_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_MODAL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MODAL;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LAUNCH_EXPERIENCE = 'AI_ENGAGEMENT_LAUNCH_EXPERIENCE';\nexport const LAUNCH_EXPERIENCE_WITH_DEBOUNCE =\n\t'LAUNCH_EXPERIENCE_WITH_DEBOUNCE';\nexport const AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED =\n\t'AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED';\n\n// Separate PR to work on these\nexport const MESSAGE_RECEIVED = 'NOW_AI_CANVAS_FRAMEWORK_MESSAGE_RECEIVED';\nexport const SEND_MESSAGE = 'NOW_AI_CANVAS_FRAMEWORK_SEND_MESSAGE';\n\n// PUB-SUB Actions\nexport const AIEX_PUBLISH_REQUESTED = 'AIEX_PUBLISH_REQUESTED';\nexport const AIEX_SUBSCRIBE_REQUESTED = 'AIEX_SUBSCRIBE_REQUESTED';\nexport const AIEX_UNSUBSCRIBE_REQUESTED = 'AIEX_UNSUBSCRIBE_REQUESTED';\n\n// Action handler for launching window manager for a click\nexport const LAUNCH_WINDOW_MANAGER =\n\t'NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER';\n\nexport const LAUNCH_EXPERIENCE_DEBOUNCE_TIMER = 700;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHttpFactory\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"].snHttpFactory;\n\t\t\t\t\t} else if ('snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__.snHttpFactory || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_28_0_4_index_jsdbx_6bbfab0c__[\"default\"].snHttpFactory;\n\t\t\t\t} });","import {snHttpFactory} from 'sn-http-request';\n\nconst snHttp = snHttpFactory({\n\txsrfToken: typeof window !== 'undefined' ? window.g_ck : undefined,\n\tbatch: false,\n\tbatching: false,\n});\n\n// GraphQL Queries\nexport const isNapActiveQuery = `\n\tquery CheckNowAssistActive {\n\t\tnow {\n\t\t\tnowAssistUtility {\n\t\t\t\tnapActive\n\t\t\t}\n\t\t}\n\t}\n`;\nconst GRAPHQL_ENDPOINT = '/api/now/graphql';\n\nexport async function checkAndUpdateNapActive() {\n\tif (window.__aiexLibrary.getNapActive() !== undefined) {\n\t\treturn window.__aiexLibrary.getNapActive();\n\t}\n\ttry {\n\t\tconst response = await snHttp.request(GRAPHQL_ENDPOINT, 'POST', {\n\t\t\tdata: {\n\t\t\t\tquery: isNapActiveQuery,\n\t\t\t},\n\t\t});\n\t\tconst body = response?.body;\n\t\tconst napActive = body?.data?.now?.nowAssistUtility?.napActive;\n\n\t\twindow.__aiexLibrary.setNapActive(napActive === true);\n\t} catch (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Failed to check NAP active status:', error);\n\t}\n\n\tif (!window.__aiexLibrary.getNapActive()) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('SN_AIEL: NAP is not active');\n\t\treturn false;\n\t}\n\treturn true;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","export const WM_LAUNCH_MODE_PROPERTY = 'com.glide.aiex.launch_mode';\nexport const CONTEXTUAL_PINNED_ID_PROPERTY =\n\t'glide.ui.menu.contextual.pinned.id';\nexport const CONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS = 'now-ai-canvas-window';\n","import {getComponentsByTagNames} from '@devsnc/library-uxf';\nimport {checkAndUpdateNapActive} from './graphql-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tWM_LAUNCH_MODE_PROPERTY,\n\tCONTEXTUAL_PINNED_ID_PROPERTY,\n\tCONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS,\n} from './constants';\n\nexport const EXPERIENCE_LAUNCH_MODE = {\n\tMODAL: 'modal', // 90% mode\n\tFLOATING: 'floating', // Floating window mode\n\tDOCKED: 'docked',\n\tDOCKED_LEFT: 'docked-left',\n\tDOCKED_RIGHT: 'docked-right',\n};\nconst DOCUMENT_DIRECTION = 'rtl';\n\nfunction getStartingStateByLaunchMode(launchMode) {\n\t// Determine starting state based on launchMode\n\tconst startingState = Object.values(EXPERIENCE_LAUNCH_MODE).includes(\n\t\tlaunchMode,\n\t)\n\t\t? launchMode\n\t\t: EXPERIENCE_LAUNCH_MODE.DOCKED;\n\n\tif (startingState === EXPERIENCE_LAUNCH_MODE.DOCKED) {\n\t\treturn document.dir === DOCUMENT_DIRECTION\n\t\t\t? EXPERIENCE_LAUNCH_MODE.DOCKED_LEFT\n\t\t\t: EXPERIENCE_LAUNCH_MODE.DOCKED_RIGHT;\n\t}\n\treturn startingState;\n}\n\nconst getBrandingOverrides = ({header_label, va_logo} = {}) => ({\n\t...(header_label && {title: header_label}),\n\t...(va_logo && {\n\t\theaderIcon: {\n\t\t\ticon: va_logo,\n\t\t},\n\t}),\n});\n\nexport const createCanvasWindowConfig = ({\n\tlaunchMode = window.ux_globals.userPrefs[CONTEXTUAL_PINNED_ID_PROPERTY] ===\n\tCONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS\n\t\t? EXPERIENCE_LAUNCH_MODE.DOCKED\n\t\t: window.ux_globals.userPrefs[WM_LAUNCH_MODE_PROPERTY] ||\n\t\t\tgetProperty('com.glide.aiex.launch_mode') ||\n\t\t\tEXPERIENCE_LAUNCH_MODE.DOCKED,\n\tmaxWindowSizePercentage = {width: 80, height: 80},\n\t...overrides\n} = {}) => ({\n\tid: 'now-ai-canvas-window',\n\ttitle: 'Now Assist',\n\tcanDrag: true,\n\tcanResize: true,\n\tcanMaximize: true,\n\tcanMinimize: false,\n\tcanToggleModal: true,\n\tcanDock: true,\n\tcloseToTop: true,\n\tcloseToElement: '[data-id=\"now-assist-button\"]',\n\tdockConfig: {\n\t\tdockRight: true,\n\t\tdockLeft: false,\n\t\tdockBottom: false,\n\t},\n\tdockedWindowSize: 408,\n\tisPersistent: true,\n\tisModal: launchMode === EXPERIENCE_LAUNCH_MODE.MODAL,\n\theaderIcon: {\n\t\ticon: 'ai-sparkle-fill',\n\t},\n\tstartingState: getStartingStateByLaunchMode(launchMode),\n\t// dialogLocation: {\n\t// \tleft: 0,\n\t// \ttop: 52\n\t// },\n\tdialogSize: {\n\t\twidth: 420,\n\t\theight: 640,\n\t},\n\tresizableConfig: {\n\t\tenableResizable: true,\n\t\tresizableMinWidth: 320,\n\t\tresizableMinHeight: 280,\n\t\tresizableMaxWidth: Math.floor(\n\t\t\twindow.innerWidth * (maxWindowSizePercentage.width / 100),\n\t\t),\n\t\tresizableMaxHeight: Math.floor(\n\t\t\twindow.innerHeight * (maxWindowSizePercentage.height / 100),\n\t\t),\n\t\tcontext: 'float',\n\t},\n\tmaxWindowSizePercentage,\n\tmodalSize: {\n\t\twidth: '95%',\n\t\theight: '85%',\n\t},\n\tcontent: {\n\t\tcomponent: 'sn-ai-engagement-experience',\n\t\tproperties: {},\n\t},\n\tvariant: 'aiex',\n\tconfigAria: {\n\t\tdialog: {\n\t\t\trole: 'dialog',\n\t\t\t'aria-label': 'Now Assist',\n\t\t\t'aria-labelledby': 'sn-window-heading-now-ai-canvas-window',\n\t\t},\n\t},\n\t...overrides,\n});\n\nlet isWindowManagerLoading = false;\n\nlet windowManagerComponentLoaded = false;\nlet windowManagerPreloadPromise = null;\n\nlet aiEngagementComponentLoaded = false;\nlet aiEngagementPreloadPromise = null;\n\nconst getWMParent = (host) => {\n\tlet wmParent = host || document.body;\n\n\tconst appShellLayout = wmParent.querySelector('sn-canvas-appshell-layout');\n\tif (appShellLayout) {\n\t\tconst polarisLayout = appShellLayout.querySelector('sn-polaris-layout');\n\t\twmParent = polarisLayout ? polarisLayout.shadowRoot : appShellLayout;\n\t}\n\n\treturn wmParent;\n};\n\nexport const preloadWindowManagerComponent = () => {\n\tif (!windowManagerPreloadPromise && !windowManagerComponentLoaded) {\n\t\twindowManagerPreloadPromise = getComponentsByTagNames(['sn-window-manager'])\n\t\t\t.then(() => {\n\t\t\t\tconsole.info('Window manager component preloaded successfully');\n\t\t\t\twindowManagerComponentLoaded = true;\n\t\t\t\twindowManagerPreloadPromise = null;\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Window manager preload failed, will load on demand:',\n\t\t\t\t\terr,\n\t\t\t\t);\n\t\t\t\twindowManagerPreloadPromise = null;\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\treturn (\n\t\twindowManagerPreloadPromise || Promise.resolve(windowManagerComponentLoaded)\n\t);\n};\n\nexport const preloadAIEngagementComponent = () => {\n\tif (!aiEngagementPreloadPromise && !aiEngagementComponentLoaded) {\n\t\taiEngagementPreloadPromise = getComponentsByTagNames([\n\t\t\t'sn-ai-engagement-experience',\n\t\t])\n\t\t\t.then(() => {\n\t\t\t\tconsole.info(\n\t\t\t\t\t'AI engagement experience component preloaded successfully',\n\t\t\t\t);\n\t\t\t\taiEngagementComponentLoaded = true;\n\t\t\t\taiEngagementPreloadPromise = null;\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'AI engagement experience preload failed, will load on demand:',\n\t\t\t\t\terr,\n\t\t\t\t);\n\t\t\t\taiEngagementPreloadPromise = null;\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\treturn (\n\t\taiEngagementPreloadPromise || Promise.resolve(aiEngagementComponentLoaded)\n\t);\n};\n\n// Trigger both preloads when the module is loaded\nif (typeof window !== 'undefined') {\n\t// Defer preloading slightly to not block initial page rendering\n\tsetTimeout(() => {\n\t\tpreloadWindowManagerComponent();\n\t\t// Start AI engagement preload after window manager to avoid resource contention\n\t\tsetTimeout(preloadAIEngagementComponent, 100);\n\t}, 100);\n}\n\nexport const launchWindowManager = async (host, portalType) => {\n\tconst wmParent = getWMParent(host);\n\n\tif (\n\t\tisWindowManagerLoading ||\n\t\twindow.ux_globals?.__windowManagerConfig?.isLoaded\n\t) {\n\t\tconsole.info('Window manager already exists', wmParent);\n\t\treturn wmParent.querySelector('sn-window-manager');\n\t}\n\n\tisWindowManagerLoading = true;\n\n\ttry {\n\t\t// Use the preloaded component or load it now if preloading failed\n\t\tif (!windowManagerComponentLoaded) {\n\t\t\tawait getComponentsByTagNames(['sn-window-manager']);\n\t\t\twindowManagerComponentLoaded = true;\n\t\t}\n\n\t\tconst windowManager = document.createElement('sn-window-manager');\n\n\t\t// Set the portalType property if provided\n\t\tif (portalType) {\n\t\t\twindowManager.portalType = portalType;\n\t\t}\n\n\t\twmParent.append(windowManager);\n\n\t\tconsole.info('Window manager created', windowManager);\n\t\treturn windowManager;\n\t} finally {\n\t\t// Reset the loading flag if something goes wrong\n\t\tif (!window.ux_globals?.__windowManagerConfig?.isLoaded) {\n\t\t\tconsole.info('Resetting isWindowManagerLoading flag');\n\t\t\tisWindowManagerLoading = false;\n\t\t}\n\t}\n};\n\nfunction getSelectedContentFromRouter(host) {\n\tconst routerId = host?.shadowRoot?.querySelector('sn-canvas-router')?.nowId;\n\tif (!routerId) {\n\t\treturn undefined;\n\t}\n\n\treturn `@${routerId}/selectedContent`;\n}\n\nexport const launchExperience = async (payload, host) => {\n\t// Check if NAP is active if not already checked (ONLY if we're not in portal)\n\tif (payload.hostType !== 'portal') {\n\t\tconst napActive = await checkAndUpdateNapActive();\n\t\tif (!napActive) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst {\n\t\tselectedContent,\n\t\tnapShortcutCommand,\n\t\tconversationId,\n\t\twindowConfigOverrides = {},\n\t\tlaunchMode,\n\t\tportalType,\n\t\tnassProps,\n\t\tmaxWindowSizePercentage,\n\t\tcanvasWindowConfig = createCanvasWindowConfig({\n\t\t\tlaunchMode,\n\t\t\tmaxWindowSizePercentage,\n\t\t\t...windowConfigOverrides,\n\t\t\t...getBrandingOverrides(nassProps?.brandingSettings?.brandingProperties),\n\t\t}),\n\t\tsessionContext = {},\n\t\tforceNewConversation,\n\t\thostType,\n\t\tremAdjustmentRequired,\n\t\tisChatOnlyMode = false,\n\t\tswitchContextConversation,\n\t} = payload;\n\n\t// if full page canvas, just call nav_item_selected\n\tif (!aiEngagementComponentLoaded) {\n\t\tawait getComponentsByTagNames(['sn-ai-engagement-experience']);\n\t\taiEngagementComponentLoaded = true;\n\t}\n\n\tcanvasWindowConfig.content.properties = {\n\t\t...canvasWindowConfig.content.properties,\n\t\tshowChat: true,\n\t\tnapShortcutCommand,\n\t\tactiveConversationId: conversationId,\n\t\tselectedContent: selectedContent ?? getSelectedContentFromRouter(host),\n\t\tsessionContext,\n\t\thostType,\n\t\tnassProps,\n\t\tremAdjustmentRequired,\n\t\tswitchContextConversation,\n\t\tisChatOnlyMode,\n\t\tnowAssistOptions: {\n\t\t\tcontext: {...sessionContext},\n\t\t\tforceNewConversation,\n\t\t\ttimestamp: Date.now(),\n\t\t},\n\t};\n\n\tconst openOrCreateWindow = () => {\n\t\tconst propsToUpdate = canvasWindowConfig.content.properties;\n\n\t\tif (\n\t\t\twindow.nowWindowManager.doesWindowExist(canvasWindowConfig.id) === true\n\t\t) {\n\t\t\t// Update closeToElement on existing window so close animation targets the correct position\n\t\t\tif (canvasWindowConfig.closeToElement !== undefined) {\n\t\t\t\twindow.nowWindowManager.setWindowProperties(canvasWindowConfig.id, {\n\t\t\t\t\tcloseToElement: canvasWindowConfig.closeToElement,\n\t\t\t\t});\n\t\t\t}\n\t\t\twindow.nowWindowManager.openWindow(canvasWindowConfig.id, propsToUpdate);\n\t\t} else {\n\t\t\twindow.nowWindowManager.createWindow(canvasWindowConfig);\n\t\t}\n\t};\n\n\tif (window.ux_globals.__windowManagerConfig?.isLoaded) {\n\t\topenOrCreateWindow();\n\t} else {\n\t\tif (window.nowWindowManager) {\n\t\t\topenOrCreateWindow();\n\t\t} else {\n\t\t\t//Launching window manager on core & portal pages\n\t\t\tconst windowManager = await launchWindowManager(host, portalType);\n\t\t\twindowManager.addEventListener('SEISMIC_COMPONENT_BOOTSTRAPPED', () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.nowWindowManager?.createWindow(canvasWindowConfig);\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const launchSkillExecution = (payload, host) => {\n\tconst {\n\t\tskillId,\n\t\tskillParams,\n\t\tforceNewConversation,\n\t\tlaunchMode,\n\t\tnassProps,\n\t\tsessionContext = {},\n\t\tremAdjustmentRequired,\n\t\tmaxWindowSizePercentage,\n\t\twindowConfigOverrides = {},\n\t} = payload;\n\tconst canvasWindowConfig = createCanvasWindowConfig({\n\t\tlaunchMode,\n\t\tmaxWindowSizePercentage,\n\t\t...windowConfigOverrides,\n\t\t...getBrandingOverrides(nassProps?.brandingSettings?.brandingProperties),\n\t});\n\n\tcanvasWindowConfig.content.properties = {\n\t\tskillId,\n\t};\n\tlaunchExperience(\n\t\t{\n\t\t\tcanvasWindowConfig,\n\t\t\tforceNewConversation,\n\t\t\tnassProps,\n\t\t\tsessionContext: {...sessionContext, skill: skillId, skillParams},\n\t\t\tremAdjustmentRequired,\n\t\t},\n\t\thost,\n\t);\n};\n","import {launchWindowManager} from '../launcher';\n\n// Promise that will resolve when the window manager is ready\nlet windowManagerPromise;\n\n// Catch all potential window manager calls the user can make\nconst windowManagerApiProxy = new Proxy(\n\t{},\n\t{\n\t\tget(_, prop) {\n\t\t\t// Forward the call to the real window manager api\n\t\t\treturn async function (...args) {\n\t\t\t\tconst windowManager = await windowManagerPromise;\n\n\t\t\t\t// Wait for window manager to initialize all of the api logic\n\t\t\t\twindowManager.addEventListener('SEISMIC_COMPONENT_BOOTSTRAPPED', () => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst wmAPI = window.nowWindowManager[prop];\n\n\t\t\t\t\t\t// Make sure we are invoking a window manager api that exists\n\t\t\t\t\t\tif (typeof wmAPI === 'function') {\n\t\t\t\t\t\t\treturn wmAPI(...args);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 100);\n\t\t\t\t});\n\t\t\t};\n\t\t},\n\t},\n);\n\n// Define nowWindowManager shim\nexport const windowManagerShim = (host) => {\n\tObject.defineProperty(window, 'nowWindowManager', {\n\t\tget() {\n\t\t\t// Kick off launching window manager and return the proxy in the case\n\t\t\t// where the user is immediately calling one of the JS APIs\n\t\t\tif (!windowManagerPromise) {\n\t\t\t\twindowManagerPromise = launchWindowManager(host);\n\t\t\t}\n\t\t\treturn windowManagerApiProxy;\n\t\t},\n\t\tset(value) {\n\t\t\tObject.defineProperty(window, 'nowWindowManager', {\n\t\t\t\tvalue,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t});\n\t\t\treturn true;\n\t\t},\n\t\tconfigurable: true,\n\t});\n};\n","// Description: generic pub-sub library to enable various bi-directional communication use-cases\nimport {ChannelManager} from './utils/channel-manager';\nconst channelManager = new ChannelManager();\n\nexport function subscribe({\n\tchannelName,\n\tcontext,\n\tcallback,\n\tunsubIdCallback = null,\n}) {\n\t// Sanity check arguments\n\tif (\n\t\ttypeof channelName !== 'string' ||\n\t\ttypeof context !== 'object' ||\n\t\ttypeof callback !== 'function'\n\t) {\n\t\tconsole.error('Invalid arguments for subscribe');\n\t\treturn;\n\t}\n\n\tconsole.debug(\n\t\t'Subscribing to channel',\n\t\tchannelName,\n\t\t'with context',\n\t\tcontext,\n\t\t'and callback',\n\t\tcallback,\n\t);\n\n\t// Create a unique id for this subscriber\n\tconst subscriberId = createSubscriberId(channelName, context);\n\tconst unsubscribeFn = channelManager.registerChannel(\n\t\tchannelName,\n\t\tcontext,\n\t\tcallback,\n\t\tsubscriberId,\n\t);\n\n\t// If an unsubIdCallback is provided, call it back with the subscriber id\n\tif (unsubIdCallback) {\n\t\tunsubIdCallback(subscriberId);\n\t} else {\n\t\treturn unsubscribeFn;\n\t}\n}\n\nexport function unsubscribe(subscriberId) {\n\t// Sanity check argument\n\tif (typeof subscriberId !== 'string') {\n\t\tconsole.error('Invalid argument for unsubscribe');\n\t\treturn false;\n\t}\n\n\tconsole.debug('Unsubscribing from channel with subscriber id', subscriberId);\n\n\t// Returns whether the unsubscribe was successful\n\treturn channelManager.unsubscribe(subscriberId);\n}\n\nexport function publish({channelName, context, data}) {\n\t// Sanity check arguments\n\tif (typeof channelName !== 'string' || typeof context !== 'object') {\n\t\tconsole.error('Invalid arguments for publish');\n\t\treturn false;\n\t}\n\n\tconsole.debug(\n\t\t'Publishing to channel',\n\t\tchannelName,\n\t\t'with context',\n\t\tcontext,\n\t\t'and data',\n\t\tdata,\n\t);\n\n\t// Return true if the message was sent to at least one subscriber\n\treturn channelManager.relayMessage(channelName, context, data);\n}\n\nexport function getAllSubscribers(payload) {\n\treturn channelManager.getAllSubscribers(\n\t\tpayload?.channelName,\n\t\tpayload?.context,\n\t);\n}\n\nexport function createSubscriberId(channelName, context) {\n\treturn `${channelName}_${channelManager.makeContextHashId(context)}_${'xxxxxxxx'.replace(\n\t\t/[xy]/g,\n\t\t(c) => {\n\t\t\tconst r = (Math.random() * 16) | 0;\n\t\t\tconst v = c === 'x' ? r : (r & 0x3) | 0x8;\n\t\t\treturn v.toString(16);\n\t\t},\n\t)}`;\n}\n","// Channel manager for pub-sub library\n\nexport class ChannelManager {\n\tconstructor() {\n\t\t/**\n\t\t * A map between a channel name and an object containing all the information for the channel such as:\n\t\t * - context-subscribers map: a map between a context hash id and an object containing the context object and a set of subscriber callbacks and ids\n\t\t *\n\t\t * Example:\n\t\t * {\n\t\t *     'SET_AGENT_CHAT_INPUT' => {\n\t\t *         '4645rffyf798987f' => {\n\t\t *             context: {\n\t\t *                  table: 'incident',\n\t\t *                  sys_id: '123'\n\t\t *              },\n\t\t *              subscribers: new Set([{callback1, id1}, {callback2, id2}])\n\t\t *      \t\t},\n\t\t * \t\t\t'24u184jjxn2jkr2' => {\n\t\t * \t\t\t\tcontext: {\n\t\t * \t\t\t\t\ttable: 'change',\n\t\t * \t\t\t\t\tsys_id: '456'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\tsubscribers: new Set([{callback3, id3}, {callback4, id4}])\n\t\t * \t\t\t},\n\t\t * \t\t\t...\n\t\t * \t\t},\n\t\t * \t\t'OTHER_CHANNEL' => {\n\t\t * \t\t\t...\n\t\t * \t\t}\n\t\t * \t\t...\n\t\t * }\n\t\t * @type {Map<string, Map<string, {context: Object, subscribers: Set<{callback: Function, id: string}>}>}\n\t\t */\n\t\tthis.channels = new Map();\n\t}\n\n\t/**\n\t * Registers a channel with the channel manager\n\t * @param {string} channelName - the name of the channel\n\t * @param {Object} context - the context of the page\n\t * @param {Function} subscriberCallback - the subscriber callback\n\t * @param {string} subscriberId - the id of the subscriber\n\t */\n\tregisterChannel(channelName, context, subscriberCallback, subscriberId) {\n\t\t// make sure that the channel exists\n\t\tif (!this.channels.has(channelName)) {\n\t\t\tthis.channels.set(channelName, new Map());\n\t\t}\n\n\t\tconst contextMap = this.channels.get(channelName);\n\n\t\t// make sure the there exists an entry for the given context\n\t\tconst contextHashId = this.makeContextHashId(context);\n\t\tif (!contextMap.has(contextHashId)) {\n\t\t\tcontextMap.set(contextHashId, {\n\t\t\t\tcontext,\n\t\t\t\tsubscribers: new Set(),\n\t\t\t});\n\t\t}\n\n\t\t// add the subscriber callback and the subscriber id to the set for this context subscriber map\n\t\tcontextMap.get(contextHashId).subscribers.add({\n\t\t\tcallback: subscriberCallback,\n\t\t\tid: subscriberId,\n\t\t});\n\n\t\t// return the unsubscribe function for users to invoke later on\n\t\treturn () => {\n\t\t\tthis.unsubscribe(subscriberId);\n\t\t};\n\t}\n\n\t/**\n\t * Relays a message to all subscribers of a channel\n\t * @param {string} channelName - the name of the channel\n\t * @param {Object} context - the context of the page\n\t * @param {Object} data - the data to be relayed\n\t */\n\trelayMessage(channelName, context, data) {\n\t\t// get the context subscribers map for the given channel\n\t\tconst contextMap = this.channels.get(channelName);\n\n\t\t// make sure that there is an entry for this channel name\n\t\tif (!contextMap) {\n\t\t\tconsole.debug('No subscribers for channel', channelName);\n\t\t\treturn false;\n\t\t}\n\n\t\t// grab the hash id for the given context\n\t\tconst contextHashId = this.makeContextHashId(context);\n\n\t\t// make sure there is an entry for this context under the channel name\n\t\tif (!contextMap.has(contextHashId)) {\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontext,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// get the subscribers for this context under the channel name\n\t\tconst subscribers = contextMap?.get(contextHashId)?.subscribers;\n\n\t\t// check if there are any subscribers to send the message to\n\t\tif (subscribers.size === 0) {\n\t\t\t// We should never get here because contexts without any subscribers should be cleaned up\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontext,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// loop through all the subscribers and invoke them with the data\n\t\tsubscribers.forEach((subscriberObj) => {\n\t\t\tsubscriberObj.callback(data);\n\t\t});\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Unsubscribes a subscriber from a channel\n\t * @param {string} subscriberId - the subscriber id\n\t * @returns {boolean} true if the subscriber was unsubscribed, false otherwise\n\t */\n\tunsubscribe(subscriberId) {\n\t\t// the subscriber id is in the format of `${channelName}_${contextHashId}_${uniqueSubscriberId}`\n\t\tconst [channelName, contextHashId, uniqueSubscriberId] =\n\t\t\tsubscriberId.split('_');\n\n\t\tif (!channelName || !contextHashId || !uniqueSubscriberId) {\n\t\t\tconsole.debug('Invalid subscriber id', subscriberId);\n\t\t\treturn false;\n\t\t}\n\n\t\t// get the context subscribers map for the given channel\n\t\tconst subscribers = this.channels\n\t\t\t.get(channelName)\n\t\t\t?.get(contextHashId)?.subscribers;\n\n\t\t// make sure that there is a set for this channel name and context\n\t\tif (!subscribers) {\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontextHashId,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// remove the subscriber object from the set with the given subscriber id key in the object\n\t\tlet subscriberRemoved = false;\n\t\tfor (const subscriberObj of subscribers) {\n\t\t\tif (subscriberObj.id === subscriberId) {\n\t\t\t\tsubscribers.delete(subscriberObj);\n\t\t\t\tsubscriberRemoved = true;\n\t\t\t}\n\t\t}\n\n\t\tif (!subscriberRemoved) {\n\t\t\tconsole.debug(\n\t\t\t\t'Subscriber with subscriber id',\n\t\t\t\tsubscriberId,\n\t\t\t\t' does not exist for channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.cleanUpChannelMap();\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cleans up the channel map by removing channels that have no subscribers\n\t */\n\tcleanUpChannelMap() {\n\t\t// loop through all the channels\n\t\tthis.channels.forEach((contextMap, channelName, channels) => {\n\t\t\t// loop through all the context-subscriber maps for the channel\n\t\t\tcontextMap.forEach((subscriberMap, contextHashId) => {\n\t\t\t\t// if there are no subscribers for the context, remove it\n\t\t\t\tif (subscriberMap.subscribers.size === 0) {\n\t\t\t\t\tcontextMap.delete(contextHashId);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// if there are no contexts for the channel, remove the channel\n\t\t\tif (contextMap.size === 0) {\n\t\t\t\tchannels.delete(channelName);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * [Debugging] Returns a list of tuples of (channelName, contextHashId, subscriberId, subscriberCallback) for all subscribers\n\t * @param {string} desiredChannelName (optional) - the name of the channel\n\t * @param {Object} desiredContext (optional) - the context of the page\n\t * @returns {Array} list of tuples of (channelName, contextHashId, subscriberId, subscriberCallback)\n\t */\n\tgetAllSubscribers(desiredChannelName = null, desiredContext = null) {\n\t\tconst subscribers = [];\n\n\t\tthis.channels.forEach((contextMap, channelName) => {\n\t\t\tif (desiredChannelName == null || channelName === desiredChannelName) {\n\t\t\t\tcontextMap.forEach((subscriberMap, contextHashId) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tdesiredContext == null ||\n\t\t\t\t\t\tcontextHashId === this.makeContextHashId(desiredContext)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsubscriberMap.subscribers.forEach((subscriberObj) => {\n\t\t\t\t\t\t\tsubscribers.push({\n\t\t\t\t\t\t\t\tchannelName,\n\t\t\t\t\t\t\t\tcontext: subscriberMap.context,\n\t\t\t\t\t\t\t\tsubscriberId: subscriberObj.id,\n\t\t\t\t\t\t\t\tsubscriberCallback: subscriberObj.callback,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn subscribers;\n\t}\n\n\t/**\n\t * Makes context hash id from a context object\n\t * @param {Object} context - the context of the page\n\t * @returns {string} the hash id of the context\n\t */\n\tmakeContextHashId(context) {\n\t\t// sort the keys of the context object to ensure consistent hash ids\n\t\tconst str = JSON.stringify(context, Object.keys(context).sort());\n\n\t\tlet hash = 0;\n\t\t// loop through the string of the object and calculate the hash\n\t\tfor (let i = 0; i < str.length; i++) {\n\t\t\tconst chr = str.charCodeAt(i);\n\t\t\thash = (hash << 5) - hash + chr;\n\t\t\thash |= 0; // convert to 32‑bit integer\n\t\t}\n\n\t\treturn hash.toString();\n\t}\n}\n","import './aiex-library';\nimport {actionTypes} from '@servicenow/ui-core';\n\nimport {\n\tWM_CLOSE_DOCK,\n\tWM_CLOSE_WINDOW,\n\tWM_CREATE_WINDOW,\n\tWM_FOCUS_WINDOW,\n\tWM_OPEN_WINDOW,\n\tWM_RELAY_MESSAGE,\n\tWM_SET_HEADER_BUTTONS,\n\tWM_TOGGLE_DOCK,\n\tWM_TOGGLE_MINIMIZED,\n\tWM_TOGGLE_MODAL,\n\tWM_SET_DIRTY_STATE,\n\tWM_SET_WINDOW_PROPERTIES,\n\tUXF_WM_SCREEN_SELECTED,\n\tUXF_CREATE_MODELESS_WINDOW,\n\tUXF_SHOW_MODELESS_WINDOW,\n\tUXF_CLOSE_MODELESS_WINDOW,\n\tUXF_MINIMIZE_MODELESS_WINDOW,\n\tUXF_DIRTY_MODELESS_WINDOW,\n\tUXF_UPDATE_MODELESS_WINDOW,\n\tUXF_SELECT_MODELESS_WINDOW,\n\tUXF_TOGGLE_DOCK,\n\tUXF_TOGGLE_MODAL,\n\tUXF_TOGGLE_MINIMIZED,\n\tUXF_CLOSE_WINDOW,\n\tUXF_OPEN_WINDOW,\n\tUXF_FOCUS_WINDOW,\n\tUXF_CLOSE_MODELESS_WINDOW_ON_STAGE,\n} from '@servicenow/sn-window-manager';\nimport {debounce} from '@devsnc/snowdash';\nimport {\n\tLAUNCH_EXPERIENCE,\n\tLAUNCH_WINDOW_MANAGER,\n\tAI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED,\n\tLAUNCH_EXPERIENCE_DEBOUNCE_TIMER,\n\tLAUNCH_EXPERIENCE_WITH_DEBOUNCE,\n\tAIEX_PUBLISH_REQUESTED,\n\tAIEX_SUBSCRIBE_REQUESTED,\n\tAIEX_UNSUBSCRIBE_REQUESTED,\n} from './actions';\nimport {windowManagerShim} from './utils/window-manager-shim';\nimport {\n\tlaunchExperience,\n\tlaunchSkillExecution,\n\tlaunchWindowManager,\n} from './launcher';\nimport {setCustomContext} from './aiex-library';\nimport {publish, subscribe, unsubscribe} from './pub-sub';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nexport const getUxfWindowId = (payload) => {\n\tif (!payload.experienceId || !payload.screenKey || !payload.instanceId) {\n\t\treturn payload.componentId;\n\t}\n\treturn `${payload.experienceId}~${payload.screenKey}~${payload.instanceId}`;\n};\n\n// Initialize window manager config\nif (window.ux_globals) {\n\twindow.ux_globals.__windowManagerConfig = {\n\t\tzoneThreeHoistTarget: null,\n\t\tisLoaded: false,\n\t};\n}\n\nexport default {\n\tname: 'NOW_AI_CANVAS_LAUNCHER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\t// Ensure window manager is not already initialized before shimming\n\t\t\t\tif (!window.ux_globals?.__windowManagerConfig?.isLoaded) {\n\t\t\t\t\twindowManagerShim(host);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t// TODO: remove later once we have worked out how to init window manager in places like blank app-shell and SP\n\t\t[LAUNCH_WINDOW_MANAGER]: {\n\t\t\tasync effect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\thost,\n\t\t\t\t} = coeffects;\n\t\t\t\tconst windowManager = await launchWindowManager(host);\n\t\t\t\twindowManager.unifiedNavComponent = payload.hostComponent || null;\n\t\t\t},\n\t\t},\n\n\t\t[LAUNCH_EXPERIENCE]: {\n\t\t\teffect({host, action: {payload}}) {\n\t\t\t\tlaunchExperience(payload, host);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t[AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED]: {\n\t\t\teffect({host, action: {payload}}) {\n\t\t\t\tlaunchSkillExecution(payload, host);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// generic public events\n\t\t[WM_CREATE_WINDOW]: {\n\t\t\tasync effect({action: {payload}}) {\n\t\t\t\twindow.nowWindowManager.createWindow(payload);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_CLOSE_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_OPEN_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst newProps = payload.newProperties || {};\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId, newProps);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_CLOSE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeDock(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst dockLocation = payload.dockLocation || 'right';\n\t\t\t\t\twindow.nowWindowManager.toggleDock(windowId, dockLocation);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_MODAL]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_MINIMIZED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_RELAY_MESSAGE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.relayMessage(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_FOCUS_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.focusWindow(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_HEADER_BUTTONS]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst headerButtons = payload.headerButtons || [];\n\t\t\t\t\twindow.nowWindowManager.setHeaderButtons(windowId, headerButtons);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_DIRTY_STATE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst dirtyState = payload.dirtyState ?? payload.isDirty;\n\t\t\t\t\twindow.nowWindowManager.setDirtyState(windowId, dirtyState);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_WINDOW_PROPERTIES]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id;\n\n\t\t\t\t\tconst keysToFilterOut = ['windowId', 'id', 'options'];\n\n\t\t\t\t\tconst newProperties = Object.fromEntries(\n\t\t\t\t\t\tObject.entries(payload).filter(\n\t\t\t\t\t\t\t([key]) => !keysToFilterOut.includes(key),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\twindow.nowWindowManager.setWindowProperties(windowId, newProperties);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// UIB<>UXF events\n\t\t[UXF_CREATE_MODELESS_WINDOW]: {\n\t\t\tasync effect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst modelessProps = payload.modelessProps || {};\n\t\t\t\tconst windowId = getUxfWindowId({\n\t\t\t\t\tscreenKey: payload.screenKey,\n\t\t\t\t\texperienceId: payload.experienceId,\n\t\t\t\t\tinstanceId: payload.opts.instanceId,\n\t\t\t\t});\n\t\t\t\tconst windowConfig = {\n\t\t\t\t\tisUXFWindow: true,\n\t\t\t\t\tisGlobalWindow: false,\n\t\t\t\t\tid: windowId,\n\t\t\t\t\texperienceId: payload.experienceId,\n\t\t\t\t\tscreenKey: payload.screenKey,\n\t\t\t\t\tcomponentId: payload.componentId,\n\t\t\t\t\tinstanceId: payload.opts.instanceId,\n\t\t\t\t\ttitle: payload.modelessProps.headingLabel,\n\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\twidth: payload.modelessProps.width,\n\t\t\t\t\t\theight: payload.modelessProps.height,\n\t\t\t\t\t},\n\t\t\t\t\t...payload.opts,\n\t\t\t\t\t...modelessProps,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tcomponent: payload.contentRef,\n\t\t\t\t\t},\n\t\t\t\t\tmodelessDialogControllerId:\n\t\t\t\t\t\tpayload?.opts?.meta?.eventInfo?.sourceElementId || null,\n\t\t\t\t};\n\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_CREATE_MODELESS_WINDOW, windowConfig);\n\t\t\t\t\twindow.nowWindowManager.createWindow(windowConfig);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_SHOW_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_SHOW_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tlet meta = null;\n\t\t\t\tif (payload?.uxfMeta) {\n\t\t\t\t\tmeta = {uxfMeta: payload.uxfMeta};\n\t\t\t\t}\n\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconst forceDestroy = payload.forceDestroy || false;\n\t\t\t\t\tconsole.info(UXF_CLOSE_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.closeWindow(windowId, forceDestroy, meta);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_MINIMIZE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_MINIMIZE_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(windowId, true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_DIRTY_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_DIRTY_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.setDirtyState(\n\t\t\t\t\t\twindowId,\n\t\t\t\t\t\tpayload.dirtyState ?? payload.isDirty,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_UPDATE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\n\t\t\t\t\tconst keysToFilterOut = [\n\t\t\t\t\t\t'componentId',\n\t\t\t\t\t\t'experienceId',\n\t\t\t\t\t\t'screenKey',\n\t\t\t\t\t\t'instanceId',\n\t\t\t\t\t\t'windowId',\n\t\t\t\t\t\t'options',\n\t\t\t\t\t];\n\n\t\t\t\t\tconst newProperties = Object.fromEntries(\n\t\t\t\t\t\tObject.entries(payload).filter(\n\t\t\t\t\t\t\t([key]) => !keysToFilterOut.includes(key),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\tconsole.info(UXF_UPDATE_MODELESS_WINDOW, {\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\twindowId,\n\t\t\t\t\t\tnewProperties,\n\t\t\t\t\t});\n\n\t\t\t\t\twindow.nowWindowManager.setWindowProperties(windowId, newProperties);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_SELECT_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_SELECT_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_WM_SCREEN_SELECTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_WM_SCREEN_SELECTED, payload);\n\t\t\t\t\twindow.nowWindowManager.handleScreenChanged(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// header button events sent from within a UIB or workspace page\n\t\t[UXF_TOGGLE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_DOCK, payload);\n\t\t\t\tif (\n\t\t\t\t\tpayload?.windowConfig &&\n\t\t\t\t\tpayload.dockLocation &&\n\t\t\t\t\twindow.nowWindowManager\n\t\t\t\t) {\n\t\t\t\t\twindow.nowWindowManager.toggleDock(\n\t\t\t\t\t\tpayload.windowConfig.id,\n\t\t\t\t\t\tpayload.dockLocation,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_TOGGLE_MODAL]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_MODAL, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_TOGGLE_MINIMIZED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_MINIMIZED, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action} = coeffects;\n\t\t\t\tconst {payload} = action;\n\n\t\t\t\tconsole.info(UXF_CLOSE_WINDOW, {payload});\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(\n\t\t\t\t\t\tpayload.windowConfig.id,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tpayload.meta,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_OPEN_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_OPEN_WINDOW, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.openWindow(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_FOCUS_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_FOCUS_WINDOW, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.focusWindow(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_MODELESS_WINDOW_ON_STAGE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_CLOSE_MODELESS_WINDOW_ON_STAGE);\n\t\t\t\t\twindow.nowWindowManager.windowsList.forEach((win) => {\n\t\t\t\t\t\twindow.nowWindowManager.closeWindow(win.id, true);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['CANVAS_USER_PREFERENCE_UPDATE_REQUEST']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action} = coeffects;\n\t\t\t\tconst {payload} = action;\n\n\t\t\t\twindow.nowWindowManager.updateUserPreferences(\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// these are for backwards compatibility with Y and Z releases\n\t\t// they will be removed in a future release\n\t\t['NOW_WINDOW_MANAGER#CREATE_WINDOW']: {\n\t\t\tasync effect({action: {payload}}) {\n\t\t\t\twindow.nowWindowManager.createWindow(payload);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#CLOSE_WINDOW']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\t\t\t\tforceDestroy,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(windowId, forceDestroy);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#OPEN_WINDOW']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst newProps = payload.newProperties || {};\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId, newProps);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#TOGGLE_MODAL_STATE']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\t\t\t\tenableModal,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (windowId && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(windowId, enableModal);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\tAIEX_UPDATE_CONTEXT: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {context},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tsetCustomContext(context);\n\t\t\t},\n\t\t},\n\t\t[AIEX_SUBSCRIBE_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {channelName, context, subscriberCallback, unsubIdCallback},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_SUBSCRIBE_REQUESTED', channelName, context);\n\n\t\t\t\tif (!unsubIdCallback || typeof unsubIdCallback !== 'function') {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Must provide a callback function to receive the subscriber id',\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubscribe({\n\t\t\t\t\tchannelName,\n\t\t\t\t\tcontext,\n\t\t\t\t\tcallback: subscriberCallback,\n\t\t\t\t\tunsubIdCallback,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[AIEX_UNSUBSCRIBE_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {subscriberId},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_UNSUBSCRIBE_REQUESTED', subscriberId);\n\n\t\t\t\tunsubscribe(subscriberId);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[AIEX_PUBLISH_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {channelName, context, data},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_PUBLISH_REQUESTED', channelName, context, data);\n\t\t\t\tpublish({channelName, context, data});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_BUTTON#CLICKED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload, meta},\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tif (\n\t\t\t\tpayload.buttonAction &&\n\t\t\t\tpayload.buttonAction === 'close_window' &&\n\t\t\t\tpayload.windowConfig\n\t\t\t) {\n\t\t\t\t// Need to wait until any dirty state logic is completed before we try to close the window\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch(UXF_CLOSE_WINDOW, {\n\t\t\t\t\t\twindowConfig: payload.windowConfig,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t},\n\t},\n\tproperties: {\n\t\ttarget: {},\n\t},\n};\n"],"version":3}},{"offset":{"line":478,"column":0},"map":{"mappings":";;;;;;;;;;;;;;eAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,GAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,6ECDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,2IAA4I,KAErL,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,oLAAqL,KAE9N,S,eCNQ,IAAII,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,UCVpC,SAASyB,IACP,OAAO7B,EAAOC,QAAU4B,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAClF,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUxB,OAAQuB,IAAK,CACzC,IAAIE,EAAID,UAAUD,GAClB,IAAK,IAAIG,KAAKD,GAAG,CAAG,GAAEE,eAAeC,KAAKH,EAAGC,KAAOJ,EAAEI,GAAKD,EAAEC,GAC/D,CACA,OAAOJ,CACT,EAAGjC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS4B,EAASW,MAAM,KAAML,UACxG,CACAnC,EAAOC,QAAU4B,EAAU7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR5FwC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBxB,IAAjByB,EACH,OAAOA,EAAa3C,QAGrB,IAAID,EAASyC,EAAyBE,GAAY,CACjDrB,GAAIqB,EAEJ1C,QAAS,CAAC,GAOX,OAHA4C,EAAoBF,GAAU3C,EAAQA,EAAOC,QAASyC,GAG/C1C,EAAOC,OACf,CCrBAyC,EAAoBT,EAAKjC,IACxB,IAAI8C,EAAS9C,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA0C,EAAoBK,EAAED,EAAQ,CAAEE,EAAGF,IAC5BA,GCLRJ,EAAoBK,EAAI,CAAC9C,EAASgD,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAElD,EAASiD,IAC5EpB,OAAOsB,eAAenD,EAASiD,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,MCJ3ER,EAAoBS,EAAI,CAACI,EAAKC,IAAU1B,OAAO2B,UAAUnB,eAAeC,KAAKgB,EAAKC,GCClFd,EAAoBL,EAAKpC,IACH,oBAAXyD,QAA0BA,OAAOC,aAC1C7B,OAAOsB,eAAenD,EAASyD,OAAOC,YAAa,CAAEC,MAAO,WAE7D9B,OAAOsB,eAAenD,EAAS,aAAc,CAAE2D,OAAO,K,qGCHvD,MAAM,EAFEC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,aAClT,oBAAyB,KAC3B,MAAMF,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEE,oBAInGF,EAAuFE,qBAAuBF,EAAgG,SAAKA,EAAgG,QAAEE,uBCnBjU,MAAM,EAFEL,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAYI,EAAoGvC,SAAWuC,EAAoGxC,WAG9N,OAAIoC,EACHI,EAA6G,QAAEC,cAIhHD,EAAoGC,eAAiBD,EAA6G,SAAKA,EAA6G,QAAEC,eAC3V,QAAa,KACf,MAAML,EAAYI,EAAoGvC,SAAWuC,EAAoGxC,WACrO,OAAIoC,EACII,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdJ,EACHI,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,KCjBze,MAAM,EAFEN,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,kBAAuB,KAC3D,MAAMC,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEC,kBAIrHD,EAAyGC,mBAAqBD,EAAkH,SAAKA,EAAkH,QAAEC,mBAC9W,2BAAgC,KAClC,MAAMP,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEE,2BAIrHF,EAAyGE,4BAA8BF,EAAkH,SAAKA,EAAkH,QAAEE,4BACvX,qBAA0B,KAC5B,MAAMR,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEG,qBAIrHH,EAAyGG,sBAAwBH,EAAkH,SAAKA,EAAkH,QAAEG,sBACjX,oBAAyB,KAC3B,MAAMT,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEI,oBAIrHJ,EAAyGI,qBAAuBJ,EAAkH,SAAKA,EAAkH,QAAEI,qBAChX,0BAA+B,KACjC,MAAMV,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEK,0BAIrHL,EAAyGK,2BAA6BL,EAAkH,SAAKA,EAAkH,QAAEK,2BACtX,mBAAwB,KAC1B,MAAMX,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEM,mBAIrHN,EAAyGM,oBAAsBN,EAAkH,SAAKA,EAAkH,QAAEM,oBAC/W,sBAA2B,KAC7B,MAAMZ,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEO,sBAIrHP,EAAyGO,uBAAyBP,EAAkH,SAAKA,EAAkH,QAAEO,uBAClX,uBAA4B,KAC9B,MAAMb,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEQ,uBAIrHR,EAAyGQ,wBAA0BR,EAAkH,SAAKA,EAAkH,QAAEQ,wBACnX,0BAA+B,KACjC,MAAMd,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAES,0BAIrHT,EAAyGS,2BAA6BT,EAAkH,SAAKA,EAAkH,QAAES,2BACtX,mCAAwC,KAC1C,MAAMf,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEU,mCAIrHV,EAAyGU,oCAAsCV,EAAkH,SAAKA,EAAkH,QAAEU,oCAC/X,8BAAmC,KACrC,MAAMhB,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEW,8BAIrHX,EAAyGW,+BAAiCX,EAAkH,SAAKA,EAAkH,QAAEW,+BAC1X,yBAA8B,KAChC,MAAMjB,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEY,yBAIrHZ,EAAyGY,0BAA4BZ,EAAkH,SAAKA,EAAkH,QAAEY,0BACrX,qBAA0B,KAC5B,MAAMlB,EAAYM,EAAyGzC,SAAWyC,EAAyG1C,WAGxO,OAAIoC,EACHM,EAAkH,QAAEa,qBAIrHb,EAAyGa,sBAAwBb,EAAkH,SAAKA,EAAkH,QAAEa,wBCnIlXC,EAAoB,SAACC,GAAmC,IACxDC,EAAQ,CAD2BlD,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,GAAAA,UAAA,GAAGmD,SAASC,MAEnD,KAAOF,EAAM1E,OAAS,GAAG,CACvB,MAAM6E,EAAMH,EAAMI,QACZC,EAAMF,EAAIG,cAAcP,GAC9B,GAAIM,EAAK,OAAOA,EAEhB,MAAME,EAAYJ,EAAIK,WAClBD,GAAWP,EAAM7D,KAAKoE,GAC1B,MAAME,EAAcN,EAAIO,iBAAiB,KACzC,IAAK,IAAIlF,EAAI,EAAGA,EAAIiF,EAAYnF,OAAQE,IAClCiF,EAAYjF,GAAGgF,YAAYR,EAAM7D,KAAKsE,EAAYjF,GAAGgF,WAE7D,CACF,ECdA,OAEEzB,EAAAA,EAAAA,eAAA,OAAK9C,GAAG,mBACP8C,EAAAA,EAAAA,eAAA,OAAK4B,UAAU,qBACd5B,EAAAA,EAAAA,eAAA,e,sBCHG,MAAM6B,EAA0B,0BAC1BC,EAA4B,4BAE5BC,EAAiB,iBACjBC,EAAmB,mBAInBC,EAAkB,kBAOlBC,EACZ,mCAGYC,EAAgC,gCCZ7C,IAAIC,EACAC,EAEG,MAQMC,EAAeA,CAACC,EAAMC,KAClC,MAAMC,EAAiBD,GAAuBH,EAC9C,IAAKI,EAAgB,OACrB,MAAMC,EAAiBH,EAAKhB,cDZG,oBCazBoB,EAAeJ,EAAKhB,cDjBG,kBCmBvBqB,EAAqBJ,EACxB,IAAIA,gBACJ,IAAIH,iBAUP,GARIK,IACHA,EAAeG,YAAcD,EAC7BF,EAAeI,gBAAkB,IAAIL,oBACrCC,EAAeK,cAAgB,IAAIX,kBAC/BI,IACHE,EAAeM,oBAAsB,IAAIR,0BAGvCG,IACHA,EAAaE,YAAcD,EAC3BD,EAAaG,gBAAkB,IAAIL,oBACnCE,EAAaM,eAAiB,IAAIb,0BAClCO,EAAaO,kBAAoB,IAAIb,sBACjCK,GAAgB,CACnB,MAAMS,EAAeT,EAAeU,aAAa,gBACjDT,EAAaU,aAAe,IAAIF,iBAChCR,EAAaW,aAAe,IAAIH,iBAChCR,EAAaY,aAAe,IAAIJ,iBAChCR,EAAaa,oBAAsB,IAAIL,wBACvCR,EAAaK,oBAAsB,IAAIG,uBACxC,IC7CI,oBAAEM,GAAwB5D,EAAAA,YAyB1B6D,EAAiB,CACtB,CAACD,GAxBwCE,IAAc,IAAAC,EAAA,IAAb,KAAErB,GAAMoB,EAClD,MAAME,EAAoC,QAArBD,EAAGrB,EAAKuB,qBAAa,IAAAF,GAAM,QAANA,EAAlBA,EAAoBrB,YAAI,IAAAqB,OAAA,EAAxBA,EAA0BG,cAClD,GACCF,GFKwC,8BEJxCA,EAAgBG,QAAQC,cACvB,CACD,MAAMC,EAA6BL,EAAgBT,aAClD,gBAEKe,EAAS5B,EAAKa,aAAa,gBAC9BgB,OAAOC,gBAAgBC,QAAQH,GAAU,GAC3C7B,EAAaC,EAAM2B,EAErB,MAECK,QAAQC,MACP,kDACAjC,EACAsB,KCtBH,MAAM,EAFEpE,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,mBAAwB,KAC5D,MAAMC,EAAY8E,EAAqGjH,SAAWiH,EAAqGlH,WAGhO,OAAIoC,EACH8E,EAA8G,QAAEC,mBAIjHD,EAAqGC,oBAAsBD,EAA8G,SAAKA,EAA8G,QAAEC,uBCKlWjB,oBAAmBA,GAAK5D,EAAAA,YAE1B8E,EAAUzD,SAASK,cAAc,2BACvC,GAAIoD,GAAqE,IAA1DA,EAAQX,QAAQC,cAAcK,QAAQ,gBAAuB,CAK3E,GAJ0BvD,EACzBc,EACA8C,GAGAC,QACM,CACN,MAAMC,EAA2BA,KACL9D,EAC1Bc,EACA8C,IAEuBC,KAEzBD,EAAQG,iBACPrB,EACAoB,EACA,CAAEE,MAAM,GAEV,CACD,CAEA,SAASH,KACR9E,EAAAA,EAAAA,qBAAoBiC,EAAgB,CACnCiD,KAAMC,EAAAA,QACNC,KAAI,EACJC,OAAM,IACNzB,eAAc,EACd0B,UAAW,CAAC3E,EAAAA,uBAAwBiE,EAAAA,qBAEtC,C,sBChDA,MAAM,EAFEjF,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAY0F,EAA+F7H,SAAW6H,EAA+F9H,WAGpN,OAAIoC,EACH0F,EAAwG,QAAEC,YAI3GD,EAA+FC,aAAeD,EAAwG,SAAKA,EAAwG,QAAEC,eCTjV,MAAM,EAFE7F,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,wBAA6B,KACjE,MAAMC,EAAY4F,EAAuF/H,SAAW+H,EAAuFhI,WAGpM,OAAIoC,EACH4F,EAAgG,QAAEC,wBAInGD,EAAuFC,yBAA2BD,EAAgG,SAAKA,EAAgG,QAAEC,yBAC9T,aAAkB,KACpB,MAAM7F,EAAY4F,EAAuF/H,SAAW+H,EAAuFhI,WAGpM,OAAIoC,EACH4F,EAAgG,QAAEE,aAInGF,EAAuFE,cAAgBF,EAAgG,SAAKA,EAAgG,QAAEE,iBCbpT,uBAAEC,GAA2B7F,EAAAA,YAEnC,IAAI8F,GAA8B,EAE3B,MAqBMC,EAAqBC,UACjC,MAAMC,EAtBuBvD,KAC7B,IAAIwD,EAAaxD,GAAQrB,SAASC,KAElC,MAAM6E,EAAiBD,EAAWxE,cAAcO,GAChD,GAAIkE,EAAgB,CACnB,MAAMC,EAAgBD,EAAezE,cAAc,qBACnDwE,EAAaE,EAAgBA,EAAcxE,WAAauE,CACzD,CAEA,OAAOD,GAaQG,CAAc3D,GAE7B,IACC,IAAKoD,EAA6B,CACjC,MAAOQ,SAAyBX,EAAAA,EAAAA,yBAAwB,CACvD,yBAED,IAAKW,EACJ,OAAO,KAERR,GAA8B,CAC/B,CAEA,MAAMS,EAAelF,SAASlB,cAAc,wBAEtCqG,EAzBqC9D,KAAS,IAAA+D,EACrD,MAAMC,EAAWhE,SAAgB,QAAZ+D,EAAJ/D,EAAMd,kBAAU,IAAA6E,GAAiC,QAAjCA,EAAhBA,EAAkB/E,cAAcS,UAAiB,IAAAsE,OAAA,EAAjDA,EAAmDE,MACpE,GAAKD,EAIL,MAAO,IAAIA,qBAmBUE,CAA6BlE,GAOjD,OANI8D,IACHD,EAAaC,YAAcA,GAG5BP,EAAOY,OAAON,GAEPA,CACR,CAAE,MAAO5B,GACR,OAAO,IACR,GAGYmC,EAAyB,CACrCC,KAAM,yBACNlD,eAAgB,CACf,CAACgC,GAAyB,CACzBmB,OAAQlD,IAAc,IAAb,KAAEpB,GAAMoB,EAChBiC,EAAmBrD,OCjEvB,MAAM,EAFE9C,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAYmH,EAA8FtJ,SAAWsJ,EAA8FvJ,WAGlN,OAAIoC,EACHmH,EAAuG,QAAEC,iBAI1GD,EAA8FC,kBAAoBD,EAAuG,SAAKA,EAAuG,QAAEC,oBCTnV,MAAM,EAFEtH,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAYqH,EAAkGxJ,SAAWwJ,EAAkGzJ,WAG1N,OAAIoC,EACHqH,EAA2G,QAAEC,cAI9GD,EAAkGC,eAAiBD,EAA2G,SAAKA,EAA2G,QAAEC,eACrV,yBAA8B,KAChC,MAAMtH,EAAYqH,EAAkGxJ,SAAWwJ,EAAkGzJ,WAG1N,OAAIoC,EACHqH,EAA2G,QAAEE,yBAI9GF,EAAkGE,0BAA4BF,EAA2G,SAAKA,EAA2G,QAAEE,4BClB1VC,EAAe,eACfC,EAAwB,QAExBC,EAAO,OCDPC,GAA4BA,CAACnI,EAAKoI,EAAMC,KACpD,IAAI1I,EAAM,KACNU,EAAQ,KACPL,IAAKA,EAAM,CAAC,GACjB,MAAMsI,EAAO/J,OAAO+J,KAAKtI,IACjB5C,OAAQmL,GAAcD,EACxBE,EAAkBC,MAAMC,QAAQ1I,GAAO,GAAK,CAAC,EACnDoI,EAAKO,IAAI3I,GACT,IAAK,IAAI1C,EAAI,EAAGA,EAAIiL,EAAWjL,IAG9B,GAFAqC,EAAM2I,EAAKhL,GACX+C,EAAQL,EAAIL,GACS,mBAAVU,EACVmI,EAAgB7I,GACf,YAAYU,EAAMoH,KAAO,IAAIpH,EAAMoH,OAAS,WACvC,GAAIpH,aAAiBuI,QAAS,CACpC,MAAMC,EAAc,CACnBhE,QAASxE,EAAMwE,QAAQC,cACvBgE,YAAazI,EAAMyI,aAEpB,IAAK,MAAMC,KAAa1I,EAAM2I,YAAc,GAC3CH,EAAYE,EAAUtB,MAAQsB,EAAU1I,MAGzCmI,EAAgB7I,GAAOkJ,CACxB,MAAWxI,aAAiB4I,KAC3BT,EAAgB7I,GAAO,CAAEmJ,YAAazI,EAAMyI,aAClCzI,aAAiB6I,OAC3BV,EAAgB7I,GAAOU,EAAMxD,WACF,iBAAVwD,EACjBmI,EAAgB7I,GAAO,IAAIU,EAAMxD,cACN,iBAAVwD,GAAgC,OAAVA,EACnC+H,EAAKe,IAAI9I,IAAUA,IAAUL,EAChCwI,EAAgB7I,GAAO,aAEvB6I,EAAgB7I,GACf0I,GDxC6C,GCyC1CF,GAA0B9H,EAAO+H,EAAMC,EAAQ,GDxCnB,yBC4CjCG,EAAgB7I,GAAOU,EAIzB,OADA+H,EAAKgB,OAAOpJ,GACLwI,GCjDKa,GAAyBA,CAACC,EAAUC,KAChD,IAAIC,GAAQ,EACZ,IAAK,MAAM7J,KAAO2J,EAAU,CAE3B,GAAIE,EAAO,MACP7J,IAAQ4J,EAAcE,mBACzBD,GAAQ,EACHF,EAAS3J,GAAK+J,WAClBJ,EAAS3J,GAAK+J,SAAW,CAAC,GAE3BJ,EAAS3J,GAAK+J,SAASH,EAAcI,aAAe,CACnDF,kBAAmBF,EAAcE,kBACjCC,SAAU,CAAC,IAEFJ,EAAS3J,GAAK+J,UACxBL,GAAuBC,EAAS3J,GAAK+J,SAAUH,EAEjD,GCjBYK,GAAaA,CAACC,EAAMC,EAAUP,KAC1C,IAAIC,GAAQ,EACZ,IAAK,MAAM7J,KAAOkK,EAAM,CACvB,GAAIL,EAAO,MACX,GAAI7J,IAAQmK,EAAU,CAChBD,EAAKlK,GAAK+J,WAAUG,EAAKlK,GAAK+J,SAAW,CAAC,GAC/CG,EAAKlK,GAAK+J,SAASH,EAAcI,aAAe,CAC/CI,WAAYR,EAAcQ,WAC1BlF,QAAS0E,EAAc1E,QACvBmF,SAAUT,EAAcS,UAGzBR,GAAQ,EACR,KACD,CAAWK,EAAKlK,GAAK+J,WACpBF,EAAQI,GAAWC,EAAKlK,GAAK+J,SAAUI,EAAUP,GAGnD,CACA,OAAOC,GCfKS,GAA6BA,CAACX,EAAUC,KACpD,GAAKD,EAASO,KAOP,CACN,MAAMK,ECX2BC,EAACC,EAAMT,KACzC,IAAK,MAAMhK,KAAOyK,EAAM,CACvB,MAAMC,EAAUC,EAAOF,EAAKzK,GAAMgK,EAAa,CAAChK,IAChD,GAAI0K,EACH,OAAOA,CAET,CACA,SAASC,EAAOF,EAAMT,EAAaY,GAClC,GAAIH,EAAKV,SAASC,GACjB,OAAOY,EAAKlN,KAAK4K,GAElB,IAAK,IAAIuC,KAAWJ,EAAKV,SAAU,CAClC,IAAIvL,EAASmM,EACZF,EAAKV,SAASc,GACdb,EACAY,EAAKpN,OAAOqN,IAEb,GAAIrM,EACH,OAAOA,CAET,CACA,OAAO,IACR,GDXwBgM,CACtBb,EAASc,KACTb,EAAcI,aAEf,GAAIO,EAAgB,CACLA,EAAeO,MAAMxC,GAG7ByC,UAAUC,KAAMC,GAEDhB,GACnBN,EAASO,KACTe,EACArB,GAIH,CACD,MAzBCD,EAAa,KAAI,CAAC,EAClBA,EAASO,KAAKN,EAAcI,aAAe,CAC1CI,WAAYR,EAAcQ,WAC1BlF,QAAS0E,EAAc1E,QACvBmF,SAAUT,EAAcS,WEoCrBa,GAAwBA,CAAChG,EAASiG,EAA0BC,KAAY,IAAAC,EAC7E,GACCF,EAAyBjG,IACzBkG,SAAoB,QAAbC,EAAPD,EAASE,mBAAW,IAAAD,GAAiB,QAAjBA,EAApBA,EAAsBE,uBAAe,IAAAF,GAArCA,EAAuCG,SAAStG,GAEhD,OAAO,EACR,MAAM,eAAEuG,EAAc,eAAEC,EAAc,eAAEC,GACvCP,EAAQE,YAET,OACCG,aAAc,EAAdA,EAAgBD,SAAStG,MACzByG,aAAc,EAAdA,EAAgBX,KAAMY,GAAW1G,EAAQ2G,WAAWD,OACpDF,aAAc,EAAdA,EAAgBV,KAAMc,GAAW5G,EAAQ6G,SAASD,MAI9CE,GAA0B3L,IAC/B,MAAM7B,EAAS,CAAC,EAChB,IAAK,MAAMwB,KAAOK,EAEA,KAAbA,EAAIL,IAA4B,OAAbK,EAAIL,SAA8B/B,IAAboC,EAAIL,KAC/CxB,EAAOwB,GAAOK,EAAIL,IAGpB,OAAOxB,GCxDKyN,GAAoBC,IAE9BA,EAAQhH,SAAW,IAAIsG,SAAS,MACjCU,EAAQC,aAAa9D,GASV+D,GAAoBF,IAChC,KAAMA,aAAmBjD,SAAU,OAAO,EAC1C,MAAMoD,EAAQ/G,OAAOgH,iBAAiBJ,GACtC,QAA2B,SAAlBG,EAAME,SAA2C,WAArBF,EAAMG,aAG/BC,GAAoBA,CAChCxH,EACAiH,EACAQ,EACAC,KACI,IAAAC,EACJ,MAAM1H,EAAUgH,EAAQhH,QAAQC,cAC1B6E,EAAckC,EAAQ5H,aAAa+D,GACnCyB,EACL7E,GAAiBA,EAAcX,aAAa+D,GACvCwE,GACL5H,SAAsB,QAAT2H,EAAb3H,EAAeC,eAAO,IAAA0H,OAAA,EAAtBA,EAAwBzH,gBAAiB,OACpC2H,EAASZ,EAAQa,iBAEvB,GAAIL,IAAiBC,EACpB,MAAO,CACNzH,UACA8E,cACA/E,cAAe,CAAE4H,uBAAsB/C,sBAIzC,MAAMkD,EAAiBF,aAAM,EAANA,EAAQ1C,WACzB6C,EAAqBf,EAAQgB,wBAC7BC,EAAuBjB,EAAQkB,gBAC/BC,EAAuB,CAAC,EAC9B,IAAK,MAAM/M,KAAQ6M,EAAsB,CACxC,MAAMG,EAAUH,EAAqB7M,GACd,iBAAZgN,GAAwBA,EAAQzB,WAAW,OACrDwB,EAAqB/M,GAAQgN,EAE/B,CACA,MAAMC,EAAiB,CAAC,EACxB,IAAK,MAAMzF,KAAQkF,EACL,UAATlF,IACHyF,EAAezF,GAAQmF,EAAmBnF,IAI5C,OCpEAU,GDoEsB,CACrBwB,cACAF,oBACA5E,UACA8H,iBACAO,iBACAF,uBACAtD,SAAU,CAAC,GC3EmB,IAAIyD,QAAW,ID+ElCC,GAAsBA,CAClC7D,EACAD,EACAwB,EACAuC,EACAC,EACAvC,KAIA,QAFuBnN,IAAnB0L,EAASpB,KAAqBoB,EAASpB,GAAQ,CAAC,GAEhDqB,EAAe,CACdA,EAAcE,kBACjBJ,GAAuBC,EAASc,KAAMb,GAEtCD,EAASc,KAAKb,EAAcI,aAAe,CAC1CF,kBAAmB,KACnBC,SAAU,CAAC,GAGb,IDnGsC6D,EACvChE,EACAD,EACAwB,EACAuC,EACAC,EACAvC,KAEA,IACEF,GACAtB,EAAc1E,QACdiG,EACAC,GAEA,KAAAyC,EACD,MAAMzD,EAAaR,EAAc2D,eACjC,IAAIO,EACAzD,EAAWsD,EACf,MAAMI,EAAkB5C,EAAyBvB,EAAc1E,SAE/D,GAAI6I,EAAiB,CACpB,MAAM,UAAEC,EAAS,OAAEC,GAAWF,EAE9BD,EAAkBE,EAAU,CAAE5D,eAC9BC,EAAW4D,CACZ,MACCH,EAAkBJ,EAAiB,CAAEtD,eAGtC,MAAM8D,EAAgBlC,GAAuB8B,GAC7C,GAA0C,IAAtClP,OAAO+J,KAAKuF,GAAezQ,OAC9B,OAEDmM,EAAcQ,WAAa8D,EAC3BtE,EAAcS,SAAWA,IAAYe,SAAsB,QAAfyC,EAAPzC,EAAS+C,qBAAa,IAAAN,OAAA,EAAtBA,EAAwBI,QACzDrE,EAAcE,mBACjBQ,GAA2BX,EAAUC,EAKvC,GC2DEgE,CACChE,EACAD,EACAwB,EACAuC,EACAC,EACAvC,EAEF,CAAE,MAAOpM,GACR,MAAM,IAAIoP,MAAMpP,EACjB,CACD,GExGYqP,GAAiBxJ,IAUxB,IAVyB,eAC9ByJ,EAAc,cACdC,EAAa,aACbC,EAAY,SACZ7E,EAAQ,aACR+C,EAAY,yBACZvB,EAAwB,iBACxBuC,EAAgB,cAChBC,EAAa,QACbvC,GACAvG,EACA,MAAM4J,GFXkBvC,EEWSoC,IFTjCpC,EAAQhH,SPTsB,WOU9BgH,EAAQhH,QAAQC,cAHQ+G,MEYxB,MAAMwC,EAAiBzC,GAAiBqC,GAClCK,EACLD,GAAkBD,EAAkBH,EAAiBC,EAChDK,EAAmBF,EAAiBF,EAAe,EAAIA,EAE7D,GAAIC,EAGHhJ,QAAQoJ,KAAK,8CAEb,IAAK,MAAMC,IFVoB5C,KAChC,MAAM6C,EAAO7C,EAAQvJ,YAAcuJ,EACnC,OAAO6C,EAAKC,cAAgBD,EAAKC,gBAAkBD,EAAKE,YEQ5BC,CAAiBZ,GAAiB,CAC5D,IAAKlC,GAAiB0C,GACrB,SAGD,GADuB7C,GAAiB6C,GACpB,CACnB,MAAMlF,EAAgB6C,GACrBkC,EACAG,EACApC,GACA,GAGDe,GACC7D,EACAD,EACAwB,EACAuC,EACAC,EACAvC,EAEF,CACAiD,GAAe,CACdC,eAAgBQ,EAChBP,cAAeI,EACfH,aAAcI,EACdjF,WACA+C,eACAvB,2BACAuC,mBACAC,gBACAvC,WAEF,GC3DW+D,GAA8B/D,IAC1C,MAAM,iBAAEgE,EAAgB,cAAEjB,EAAgB,CAAC,GAAM/C,EAC3CD,ECLqCiE,KAC3C,IAAIjE,EAA2B,CAAC,EAChC,MAAM,yBAAEkE,EAAwB,sBAAEC,GAA0B3I,EAAAA,aACtD4I,EAAUF,EAAyBC,KACzC,IAAK,MAAMxC,KAAUsC,EAAkB,KAAAI,EACtC,MAAMtK,EAAU4H,SAAa,QAAP0C,EAAN1C,EAAQ2C,aAAK,IAAAD,GAAoB,QAApBA,EAAbA,EAAeE,0BAAkB,IAAAF,OAAA,EAAjCA,EAAmCrK,cAC7CwK,EAAgB7C,EAAO2C,MAAMG,2BAC/B1K,IACHiG,EAAyBjG,GAAW,CACnC8I,UAAWuB,EAAQI,GACnB1B,OAAQnB,EAAO2C,MAAMxB,QAGxB,CACA,OAAO9C,GDRN0E,CAA4BT,IACvB,yBAAEU,GAA6B3B,GAC/B,yBAAEkB,EAAwB,sBAAEC,GAA0B3I,EAAAA,aAEtD+G,EADU2B,EAAyBC,IAChBC,CAAQO,GAC3BnG,EAAW,GAWjB,OAVA0E,GAAe,CACdC,eAAgBlM,SAASC,KACzBkM,cAAe,KACfC,aAAc,EACd7E,WACA+C,cAAc,EACdvB,2BACAuC,mBACAtC,YAEMzB,EAASO,OEpBX,gBAAE6F,GAAe,qBAAEC,IAAyB7H,EAAAA,cAE5C8H,GAAiC,iCACjCC,GAAiC,iCACjCC,GAA8B,8BAE9BC,GACI,UADJA,GAEI,UAGJC,IAAsBpI,EAAAA,EAAAA,kBAC3B,kDACA,CACCqI,OAAQ,MACRC,OAAO,EACPC,kBAAmBN,GACnBO,gBAAiBN,KAINO,GAA4B,CACxC5I,KAAM,4BACNlD,eAAgB,CACf,CAACqL,IAAiCI,GAClC,CAACH,IAAgCS,GAChC,MACCC,QAAQ,QAAEC,EAAO,KAAE3G,GAAM,SACzB4G,GACGH,GACE,OAAEnS,GAAWqS,GACb,eAAEE,GAAmB7G,EAG3BzE,QAAQuL,IACP,GAAGd,iBACH1R,GAGD,IACC,MAAMyS,EAAmB9B,GAA2B3Q,GAEpDsS,EAASd,GAAsB,CAC9Be,iBACAG,OAAQd,GACRe,QAASF,GAEX,CAAE,MAAOvL,GACRD,QAAQC,MAAM,wCAAyCA,GAEvDoL,EAASd,GAAsB,CAC9Be,iBACAG,OAAQd,GACRe,QACC,uDAEH,CACD,EACA,CAAChB,IAA6BQ,GAC7B,MACCC,QAAQ,QAAEC,EAAO,KAAE3G,GAAM,SACzB4G,GACGH,GACE,eAAEI,GAAmB7G,EAE3BzE,QAAQC,MAAM,8BAA+BmL,EAAQnL,OAErDoL,EAASd,GAAsB,CAC9Be,iBACAG,OAAQd,GACRe,QAAS,kDAEX,EACA,CAACpB,IAAelL,GAAwB,IAAtB,OAAE+L,EAAM,SAAEE,GAAUjM,EACrCY,QAAQuL,IACP,wCACAJ,EAAOC,QAAQO,QAGc,qBAA1BR,EAAOC,QAAQO,QAEnBN,EACCb,GACA,CAAC,EACD,CAAEc,eAAgBH,EAAOC,QAAQO,QAEnC,I,wBCxFF,MAAM,GAFEzQ,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,6BAAkC,KACtE,MAAMC,EAAYwQ,EAA8G3S,SAAW2S,EAA8G5S,WAGlP,OAAIoC,EACHwQ,EAAuH,QAAEC,6BAI1HD,EAA8GC,8BAAgCD,EAAuH,SAAKA,EAAuH,QAAEC,gCCT/Y,MAAM,GAFE3Q,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAY0Q,EAA2F7S,SAAW6S,EAA2F9S,WAG5M,OAAIoC,EACH0Q,EAAoG,QAAEC,cAIvGD,EAA2FC,eAAiBD,EAAoG,SAAKA,EAAoG,QAAEC,iBCTvU,MAAM,GAFE7Q,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,0BAA+B,KACnE,MAAMC,EAAY4Q,EAAuG/S,SAAW+S,EAAuGhT,WAGpO,OAAIoC,EACH4Q,EAAgH,QAAEC,0BAInHD,EAAuGC,2BAA6BD,EAAgH,SAAKA,EAAgH,QAAEC,6BCTvX,MAAM,GAFE/Q,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,UAAe,KACnD,MAAMC,EAAY8Q,EAAmFjT,SAAWiT,EAAmFlT,WAG5L,OAAIoC,EACH8Q,EAA4F,QAAEC,UAI/FD,EAAmFC,WAAaD,EAA4F,SAAKA,EAA4F,QAAEC,WACpS,IAAS,KACX,MAAM/Q,EAAY8Q,EAAmFjT,SAAWiT,EAAmFlT,WAG5L,OAAIoC,EACH8Q,EAA4F,QAAEvR,IAI/FuR,EAAmFvR,KAAOuR,EAA4F,SAAKA,EAA4F,QAAEvR,KAC9R,IAAS,KACX,MAAMS,EAAY8Q,EAAmFjT,SAAWiT,EAAmFlT,WAG5L,OAAIoC,EACH8Q,EAA4F,QAAEnI,IAI/FmI,EAAmFnI,KAAOmI,EAA4F,SAAKA,EAA4F,QAAEnI,OCtBxRqI,GAAgB7N,IAC5B,IAAKA,EAAiB,OACtB,MAAM8N,GAAmBF,EAAAA,GAAAA,WAAU5N,GACnC,IAAI,MAAE+N,EAAK,OAAEC,EAAM,IAAEC,EAAG,eAAEC,GAAmBJ,EAG7C,GAFKE,IAAQA,EAAS,CAAC,GAEnBE,GAAkBF,EAAOE,GAAiB,CAC7C,MAAMC,EAAQH,EAAOE,GAAgBpH,MAAM,SAC3CkH,EAAOE,GAAkBC,EAAM,GAC3BA,EAAM1U,OAAS,IAAGwU,EAAME,EAAM,GACnC,CAEA,IAAInS,EAnBqBoS,EAACJ,EAAQD,IACxBnT,OAAO+J,KAAKqJ,GACpBK,OACAC,OAAO,CAACC,EAAMvS,IAAQ,GAAGuS,KAAQvS,KAAOgS,EAAOhS,KAAQ+R,GAgB/CK,CAAkBJ,EAAQD,GAIpC,OAHIE,IACHjS,EAAM,GAAGA,IAAMiS,KAETjS,GCvBR,MAAM,GAFEW,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,MAAW,KAC/C,MAAMC,EAAY2R,EAAgF9T,SAAW8T,EAAgF/T,WAGtL,OAAIoC,EACH2R,EAAyF,QAAEC,MAI5FD,EAAgFC,OAASD,EAAyF,SAAKA,EAAyF,QAAEC,UCqCtR9N,oBAAmB,uBAAE+N,IAAwB3R,EAAAA,YAW/C4R,IAASnB,EAAAA,GAAAA,eAAc,CAC5BoB,UAA6B,oBAAXtN,OAAyBA,OAAOuN,UAAO5U,EACzDsS,OAAO,EACPuC,UAAU,IA6FJ,MAAMC,GAA6B,CACzC,CAACL,IAAsB7N,IAAc,IAAb,KAAEpB,GAAMoB,EAC1BS,OAAO0N,sB5BxGevP,KAC5BF,EAAoBE,EAAKd,WACvBF,cAAcS,GACdoB,aAAa,gBACfhB,EAAiBG,EAAKa,aAAa,gBAEnC,MAAM2O,EAAiBxP,EAAKhB,cAAcO,GACpCkQ,EAAezP,EAAKhB,cDzDY,2BCiEtC,GAPIwQ,IACHA,EAAelP,YAAc,IAAIR,iBACjC0P,EAAejP,gBAAkB,IAAIT,oBACrC0P,EAAehP,cAAgB,IAAIX,kBACnC2P,EAAeE,WAAa,IAAI7P,gBAG7B4P,IACHA,EAAanP,YAAc,IAAIR,iBAC/B2P,EAAalP,gBAAkB,IAAIT,oBAC/B0P,GAAgB,CACnB,MAAMG,EACLH,EAAe3O,aAAa,gBAC7B4O,EAAaG,mBAAqB,IAAID,uBACtCF,EAAaI,gBAAkB,IAAIF,mBACpC,CAGD5P,EAAaC,I4B8EsB8P,CAAa9P,GAE/C+P,GAAmB/P,IAGpB,CAACJ,GAAiCsN,IACjC,MACCC,QACCC,SAAS,gBAAE7M,IACX,YACDyP,GACG9C,EAIE+C,EAAkB7B,GAAa7N,IAAoB,GAIzDyP,EAAY,CACX7I,KAAM,mCACN+I,UAAW,MACXjT,MAAO,CACNkT,0BFpJgCC,MAAM,IAAAC,EAAAC,EACzC,GAAW,QAAPD,EAACxO,cAAM,IAAAwO,GAAK,QAALA,EAANA,EAAQE,WAAG,IAAAF,IAAXA,EAAaG,kBACjB,MAAM,IAAI7F,MACT,sGAIF,OAAa,QAAb2F,EAAOzO,cAAM,IAAAyO,GAAK,QAALA,EAANA,EAAQC,WAAG,IAAAD,OAAA,EAAXA,EAAaE,mBEuIlBJ,GAAuBK,cAAcR,KAAoB,EAOxDA,sBAIH,CAACtQ,GAAmC+Q,IAAsC,IAAAJ,EAAAK,EAAAC,EAAA,IAArC,WAAEjK,EAAU,iBAAEkK,GAAkBH,EACpE,MAAM,cAAElQ,GAAkBmG,EACpBmK,EAAUC,KACVC,EAAc9V,IAAA,GAAQsF,EAAkBsQ,GAC9CD,EAAiB,CAAErQ,cAAewQ,IAClCnP,OAAOoP,WAAWH,QAAQI,OAASF,EAEnC7V,OAAOgW,OAAa,QAAPb,EAACzO,cAAM,IAAAyO,GAAY,QAAZA,EAANA,EAAQW,kBAAU,IAAAX,GAAS,QAATA,EAAlBA,EAAoBQ,eAAO,IAAAR,OAAA,EAA3BA,EAA6BY,QAC3C/V,OAAOgW,OAAa,QAAPR,EAAC9O,cAAM,IAAA8O,GAAY,QAAZA,EAANA,EAAQM,kBAAU,IAAAN,GAAS,QAATA,EAAlBA,EAAoBG,eAAO,IAAAH,GAAQ,QAARA,EAA3BA,EAA6BO,cAAM,IAAAP,OAAA,EAAnCA,EAAqCS,WACnDjW,OAAOgW,OAAa,QAAPP,EAAC/O,cAAM,IAAA+O,GAAY,QAAZA,EAANA,EAAQK,kBAAU,IAAAL,GAAS,QAATA,EAAlBA,EAAoBE,eAAO,IAAAF,GAAQ,QAARA,EAA3BA,EAA6BM,cAAM,IAAAN,GAAM,QAANA,EAAnCA,EAAqCS,YAAI,IAAAT,OAAA,EAAzCA,EAA2CU,eAI9CP,GAAsBA,KAClC,MAAMQ,EAAa1P,OAAOoP,aAAepP,OAAOoP,WAAa,CAAC,IACzDlL,EAAAA,GAAAA,KAAIwL,EAAY,CAAC,cAAaA,EAAoB,QAAI,CAAC,GAC5D,IAAIC,GAAcxC,EAAAA,GAAAA,QAAMrS,EAAAA,GAAAA,KAAI4U,EAAoB,QAAG,CAAC,UAAW,CAAC,IAE5DE,GAAiB9U,EAAAA,GAAAA,KAAI6U,EAAa,mBAAoB,IAE1D,MAAME,GACLrT,EAAAA,EAAAA,+BAA8BoT,GACzBE,GAAkBvT,EAAAA,EAAAA,oCACvBsT,GAQD,OALAF,EAAYH,KAAKC,YAAcnW,OAAOyW,QAAQD,GAAiBhY,IAC9DkY,IAAA,IAAExN,EAAMpH,GAAM4U,EAAA,MAAM,CAAExN,OAAMpH,WAE7B9B,OAAOC,OAAOoW,EAAYJ,UAAWO,GAE9BH,IAGDlO,iBACN,MAAMlB,EAAUzD,SAASK,cAAc,2BACvC,GACCoD,GAC0D,IAA1DA,EAAQX,QAAQC,cAAcK,QAAQ,gBACrC,CACD,MAAM+P,EAAoBtT,EACzBc,EACA8C,GAED,GAAI0P,QACGC,GAAcD,OACd,KAAAE,EAGN,GADmB,QADDA,EACjB5P,EAAQlD,kBAAU,IAAA8S,OAAA,EAAlBA,EAAoBhT,cAAcQ,SAE5BuS,IAAc,OACd,CACN,MAAMzP,EAA2BgB,UAChC,MAAM2O,EAAqBzT,EAC1Bc,EACA8C,SAEK2P,GAAcE,IAErB7P,EAAQG,iBACPrB,GACAoB,EACA,CAAEE,MAAM,GAEV,CACD,CACD,CACD,CACA0P,GAEA,MAAMnC,GAAsB/P,IAC3B,MAAMmS,EAAanS,EAAKa,aAAa,gBAC/BuR,EAAY5T,EAAkBkB,EAAiBM,GACjDoS,GACHA,EAAUC,KAAO,IAAIF,cACrBC,EAAUE,YAAc,IAAIH,iBAG5BnQ,QAAQoJ,KAAK,+BAA+B1L,MAI9C4D,eAAeyO,GAAcD,GAC5B,MAmCMjE,QA1OPvK,iBACC,IAAI,IAAAiP,EACH,MAAMC,QAAiBtD,GAAOuD,Q7BlDA,mB6BkD0B,OAAQ,CAC/DC,KAAM,CACLC,MAvBiC,2KA2BnC,GAAKH,UAAAA,EAAU5T,KAId,OAHAoD,QAAQoJ,KACP,gEAEMwH,GAAAA,6BAGR,MAAMC,EACQ,QADMN,EACnBC,EAAS5T,YAAI,IAAA2T,GAAM,QAANA,EAAbA,EAAeG,YAAI,IAAAH,GAAK,QAALA,EAAnBA,EAAqBO,WAAG,IAAAP,GAAkB,QAAlBA,EAAxBA,EAA0BQ,wBAAgB,IAAAR,OAAA,EAA1CA,EACGS,2BAEJ,IAAKH,EAIJ,OAHA7Q,QAAQoJ,KACP,iEAEMwH,GAAAA,6BAIR,GAAuB,mBAAnBC,EAAqC,CAExChR,OAAOoR,yBAA2B,CAAEC,OAAQ,WAE5C,IAAIrF,EAA+B,CAAE1M,eAAgB,CAAC,GACtD,IAAI,IAAAkP,EACH,MAKM8C,EAAU,IALMpQ,EAAAA,EAAAA,aACrB,8BACA,yCAKD,IAAIqQ,EAA2B,IAAIC,KACnCD,EAAyBE,WAAW,GACpCF,EAAyBG,gBAAgB,GACzC,MAAMC,EAAuBJ,EAAyBK,UAChDC,EAA0B,GAAGP,QAAmB,QAAN9C,EAAAxO,cAAM,IAAAwO,GAAY,QAAZA,EAANA,EAAQY,kBAAU,IAAAZ,OAAA,EAAlBA,EAAoBsD,mBAAoBH,IAMxF3F,SAHmB+F;AAAAA,OACQF,EAAAA;AAAAA,EAGrB7F,oCACChM,OAAOoR,yBACdpR,OAAOgS,wBAAyB,EAChChS,OAAOiS,cAAc,IAAIC,YAAY,0BACtC,CAAE,MAAO9R,GACRD,QAAQC,MAAM,yCAA0CA,GACxDJ,OAAOoR,yBAA2B,CACjCC,OAAQ,sBAETrR,OAAOiS,cACN,IAAIC,YAAY,2BAA4B,CAC3CC,OAAQ,CAAEd,OAAQ,wBAGrB,CAEA,OAAAhY,IAAA,GACI0X,GAAAA,6BAAgC,CACnCzR,eAAcjG,IAAA,GACV0X,GAAAA,6BAAiCzR,eACjC0M,EAA6B1M,iBAGnC,CACC,OAAOyR,GAAAA,4BAET,CAAE,MAAO3Q,GAKR,OAJAD,QAAQC,MACP,oFACAA,GAEM2Q,GAAAA,4BACR,CACD,CAuJQqB,IAEP1W,EAAAA,EAAAA,qBACCuU,EAAoBxS,EAA0BE,EAC9C,CACCiD,KAAMC,EAAAA,QACNC,KA1C2BuR,IAIvB,IAJwB,YAC7B3N,EACA4N,kCAAkC,0BAAEhE,GAA4B,GAChExJ,YAAY,aAAEyN,EAAe,CAAC,EAAC,mBAAEC,EAAkB,iBAAEC,IACrDJ,EACA,OACCzW,EAAAA,EAAAA,eAAA,OACC9C,GACCmX,EACG,0BACA,mBAGJrU,EAAAA,EAAAA,eAAA,yBAAuB,gBAAe2W,KACtC3W,EAAAA,EAAAA,eAAA,oBACC,yBAAwB,IAAI8I,wBAC5B,uBAAsB8N,EACtB,uBAAsB,IAAI9N,4BAC1B,oBAAmB+N,EACnB,+BAA8BnE,KAE/B1S,EAAAA,EAAAA,eAAA,OACC4B,UACCyS,EACG,4BACA,mBAEJ,cAAasC,SAAAA,EAAcG,OAAS,OAAS,UAE7C9W,EAAAA,EAAAA,eAAA,gBAcFmF,OAAQkP,EAAoBlP,KAAS4R,IACrC3R,UAAW,CACV7E,EAAAA,mBACAF,EAAAA,oBACAF,EAAAA,2BACAC,EAAAA,qBACAI,EAAAA,sBACAN,EAAAA,kBACAY,EAAAA,qBACAR,EAAAA,0BACAO,EAAAA,yBACAH,EAAAA,0BACAiG,EACA6I,GACAgB,GAAAA,0BACA,CACCwG,SAAU9P,EAAAA,yBACV+P,QAAS,CACRC,oB7B1TsC,kC6B8TpC9G,EACD,CAAC,CAAE4G,SAAU5G,IACb,IAEJ+G,aAAc,CAKbT,iCAAkC,CACjChE,2BAA2B,EAC3BF,gBAAiB,KAGnB9O,eAAcjG,IAAA,GACVoU,KAIP,CC5VA,IAAIzP,GACAC,GACJ+B,OAAOC,gBAAkB,GAClB,MAAM/B,GAAeA,CAACC,EAAMC,KAClC,MAAMC,EAAiBD,GAAuBH,GAC9C,IAAKI,EAAgB,OACrB,MAAM0B,EAAS5B,EAAKa,aAAa,gBACjCgB,OAAOC,gBAAkB,IAAID,OAAOC,gBAAiBF,GACrD,MAAMzB,EAAiBH,EAAKhB,cAAc,oBACpCoB,EAAeJ,EAAKhB,cAAc,kBAElCqB,EAAqBJ,EACxB,IAAIA,gBACJ,IAAIH,kBAUP,GARIK,IACHA,EAAeG,YAAcD,EAC7BF,EAAeI,gBAAkB,IAAIL,oBACrCC,EAAeK,cAAgB,IAAIX,mBAC/BI,IACHE,EAAeM,oBAAsB,IAAIR,0BAGvCG,IACHA,EAAaE,YAAcD,EAC3BD,EAAaG,gBAAkB,IAAIL,oBACnCE,EAAaM,eAAiB,IAAIb,2BAC9BM,GAAgB,CACnB,MAAMS,EAAeT,EAAeU,aAAa,gBAKjDT,EAAaU,aAAeb,EAAsB,IAAIA,iBAAqC,IAAIW,iBAC/FR,EAAaW,aAAe,IAAIH,iBAChCR,EAAaY,aAAe,IAAIJ,iBAChCR,EAAaa,oBAAsB,IAAIL,wBACvCR,EAAaK,oBAAsB,IAAIG,uBACxC,GAIWkP,GAAgB9P,IAAS,IAAA+D,EAMrC,GALAjE,GAAoBE,SAAgB,QAAZ+D,EAAJ/D,EAAMd,kBAAU,IAAA6E,GACA,QADAA,EAAhBA,EACjB/E,cAAc,2BAAmB,IAAA+E,OAAA,EADhBA,EAEjBlD,aAAa,gBAChBhB,GAAiBG,aAAI,EAAJA,EAAMa,aAAa,iBAEhCf,GACH,O7BzCDA,E6B2CYA,G7BxCoBnF,KAChCkF,EAAiBlF,G6BwCjBka,CAAkBhV,IAElB,MAAM2P,EAAiBxP,EAAKhB,cAAc,6BACpCyQ,EAAezP,EAAKhB,cAAc,2BAQxC,GAPIwQ,IACHA,EAAelP,YAAc,IAAIR,kBACjC0P,EAAejP,gBAAkB,IAAIT,qBACrC0P,EAAehP,cAAgB,IAAIX,mBACnC2P,EAAeE,WAAa,IAAI7P,iBAG7B4P,EAAc,CAGjB,GAFAA,EAAanP,YAAc,IAAIR,kBAC/B2P,EAAalP,gBAAkB,IAAIT,qBAC/B0P,EAAgB,CACnB,MAAMG,EAAoBH,EAAe3O,aACxC,gBAED4O,EAAaG,mBAAqB,IAAID,uBACtCF,EAAaI,gBAAkB,IAAIF,mBACpC,CAEA,MAAMrO,EAAkBmO,EAAavQ,WAAWF,cAAc,8BAC9D,GAAGsC,EAAgB,CAClB,MAAM6F,EAAO8J,WAAW6D,SAExB,GAAGxT,EAAgBgF,SAAStM,OAAS,EAAE,CACtC,MAAM+a,EAAgBzT,EAAgBgF,SAAS,GAC/C,GAAGyO,EAAc,KAAAC,EAChB,MAAMC,EAAoBhE,WAAWiE,kBAAkB,GAAG/N,KAC1D4N,EAAcI,MAAQF,EAAiBnU,aACvCiU,EAAcK,sBAAuBH,SAA8B,QAAdD,EAAhBC,EAAkBI,oBAAY,IAAAL,OAAA,EAA9BA,EAAgCM,QAASL,EAAiBM,YAC/FR,EAAcS,yBAA0B,EACxC,MAAMC,EAAUV,EAAc7V,WAAWF,cAAc,kBACvDe,GAAa0V,EAASnU,EAAgBT,aAAa,gBACpD,CACD,CACD,CACD,GAGD,GAAIgB,OAAO0N,qBAAsB,CAChC,MAAMnN,EAAUzD,SAASK,cAAc,2BACvC,GAAGoD,GAAuD,IAA5CA,EAAQX,QAAQM,QAAQ,gBAAsB,CAC3DK,EAAQsT,gBAAkBzE,WAAWH,QACrC,MAAM6E,EAAevT,EAAQlD,WAAWF,cAAc,2BACtD,GAAG2W,EACF7F,GAAa6F,OACV,CACH,MAAMF,EAAUrT,EAAQlD,WAAWF,cAAc,kBAC9CyW,GACF1V,GAAa0V,EACf,CACD,CACD,CC7GA5T,OAAO+T,4BAA4Btc,E","file":"externals/sn-canvas-blank/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__","ambStatusBehavior","canvasAppshellRootBehavior","canvasClientBehavior","canvasErrorBehavior","canvasLayoutErrorBehavior","canvasRootBehavior","canvasSessionBehavior","experienceRootBehavior","internalNavPluginBehavior","mergeDefaultUserPrefsFromUXGlobals","mergeSessionDbAndLibCompPrefs","statePersistenceBehavior","userPresenceBehavior","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","className","SN_CANVAS_APPSHELL_ROOT","SN_CANVAS_APPSHELL_LAYOUT","SN_CANVAS_ROOT","SN_CANVAS_ROUTER","SN_CANVAS_ERROR","CANVAS_EXPERIENCE_CONFIG_CHANGED","MAIN_SELECTED_CONTENT_CHANGED","appShellRootId","routerComponentId","wireExpProps","host","expShellComponentId","srcComponentId","snCanvasLayout","snCanvasMain","routeConfigBinding","routeConfig","selectedContent","canvasSession","screensToCloseQueue","persistedState","activeContextPath","_componentId","getAttribute","experienceId","screenStatus","activityLogs","closedNavigationIds","COMPONENT_CONNECTED","actionHandlers","_ref","_host$getRootNode","experienceShell","getRootNode","parentElement","tagName","toLowerCase","experienceShellComponentId","rootId","window","__uxrWiredProps","indexOf","console","error","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__","renderSkipBehavior","rootMcp","createRoot","rootMcpConnectedCallback","addEventListener","once","type","snabbdom","view","styles","behaviors","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","sandboxUtils","COMPONENT_BOOTSTRAPPED","screenReaderComponentLoaded","launchScreenReader","async","parent","hostParent","appShellLayout","polarisLayout","getHostParent","screenReaderTag","screenReader","activeRoute","_host$shadowRoot","routerId","nowId","getSelectedContentFromRouter","append","aiScreenReaderBehavior","name","effect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__","intentActions","intentTranslatorBehavior","COMPONENT_ID","ELEMENT_ADDRESS_TOKEN","TREE","sanitizeObjectByRecursion","seen","level","keys","numOfkeys","sanitizedObject","Array","isArray","add","Element","elementInfo","textContent","attribute","attributes","Text","Window","has","delete","findAndFitChildElement","elements","mappedElement","found","parentComponentId","children","componentId","findInMeta","meta","parentId","properties","promptId","findAndFitChildElementMeta","elementAddress","buildElementAddress","tree","address","search","path","childId","split","reverse","some","part","shouldIgnoreComponent","componentConfigOverrides","results","_results$filterLists","filterLists","includeElements","includes","ignoreElements","ignoreSuffixes","ignorePrefixes","prefix","startsWith","suffix","endsWith","filterObjectProperties","isSeismicElement","element","hasAttribute","isElementVisible","style","getComputedStyle","display","visibility","mapSeismicElement","elementsOnly","updateElement","_parentElement$tagNam","parentElementTagName","config","nowElementConfig","propertyConfig","resolvedProperties","getResolvedProperties","unResolvedProperties","getProperties","selectableProperties","propVal","propertyValues","WeakSet","mapTheMappedElement","defaultTransform","defaultPrompt","extractSummaryComponents","_results$defaultConfi","transformResult","componentConfig","transform","prompt","filteredProps","defaultConfig","Error","getAllElements","currentElement","currentParent","seismicDepth","isIframeElement","seismicElement","nextParent","nextSeismicDepth","warn","childElement","root","assignedNodes","childNodes","getChildElements","processComponentTransforms","componentConfigs","createSandboxedEvaluator","defaultAllowedGlobals","sandbox","_config$props","props","component_tag_name","transformCode","summary_metadata_transform","getComponentConfigOverrides","summaryMetadataTransform","INTENT_RECEIVED","SEND_INTENT_FEEDBACK","UXF_NAA_CONFIG_FETCH_REQUESTED","UXF_NAA_CONFIG_FETCH_SUCCEEDED","UXF_NAA_CONFIG_FETCH_FAILED","INTENT_FEEDBACK_STATUS","naaConfigRESTEffect","method","batch","successActionType","errorActionType","pageSummarizationBehavior","coeffects","action","payload","dispatch","originalIntent","log","componentResults","status","message","intent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__","aiEngagementLauncherBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__","snHttpFactory","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateHandlerBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","cloneDeep","getScreenKey","_selectedContent","route","fields","uid","multiInstField","parts","generateScreenKey","sort","reduce","hash","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","COMPONENT_DOM_READY","snHttp","xsrfToken","g_ck","batching","appShellRootActionHandlers","__serverSideRendered","appshellLayout","appshellMain","clientInfo","layoutComponentId","selectedContentMap","experiencesData","wireAppProps","_setUpErrorHandler","updateState","activeScreenKey","operation","confirmPopStateNavigation","getDirtyStateManager","_window","_window2","uxf","dirtyStateManager","isScreenDirty","_ref2","_window3","_window4","updateProperties","session","getSessionUserPrefs","updatedSession","ux_globals","output","freeze","userPrefs","user","preferences","UX_GLOBALS","sessionInfo","sessionDbPrefs","updatedUserPreferences","mergedUserPrefs","entries","_ref3","appShellRootFound","createAppRoot","_rootMcp$shadowRoot","_appShellRootFound","setupRootMcp","rootCompID","targetEle","open","errorConfig","_response$body","response","request","data","query","baseAiEngagementLauncherBehavior","experienceType","now","nowAssistUtility","getAielFulfillerExperience","__aielServiceUnavailable","reason","aielUrl","assetCachedForMinuteDate","Date","setSeconds","setMilliseconds","assetCachedForMinute","valueOf","assetUrlWithCacheBuster","assetCacheBuster","import","__aielServiceAvailable","dispatchEvent","CustomEvent","detail","getAiEngagementLauncherBehavior","_ref4","confirmPopStateNavigationContext","modalContent","rootContentUpdated","activeExperience","isOpen","canvasRootStyles","behavior","options","translatorContextId","initialState","setAppShellRootId","siteName","experienceMcp","_experienceConfig$pag","experienceConfig","experienceConfigs","appId","nowUxfAppConfigSysId","pageSettings","sysId","appConfigId","isCanvasExperienceShell","expRoot","userSessionInfo","appshellRoot","__TECTONIC__sn_canvas_blank"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/_sn-canvas-appshell-root.scss","webpack:///sn-canvas-blank/src/sn-canvas-root/_sn-canvas-root.scss","webpack:///./src/sn-canvas-appshell-root/_sn-canvas-appshell-root.scss?a730","webpack:///./src/sn-canvas-root/_sn-canvas-root.scss?dd18","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-core-addon/28.0.63-swarm.0/index.jsdbx\"","webpack:///sn-canvas-blank/src/utils/domUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.view.js","webpack:///sn-canvas-blank/src/constants/constants.js","webpack:///sn-canvas-blank/src/utils/propWiring.js","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.effects.js","webpack:///external module \"/uxasset/externals/sn-canvas-common/28.0.63-swarm.0/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/behaviors/aiScreenReader.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-intent-channel/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/constants/cptConstants.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/recursiveUtils/sanitizeObjectByRecursion.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/recursiveUtils/findAndFitChildElement.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/findInMeta.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/elementFinders.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/buildElementAddress.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/componentUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/elementUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/objectUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/getAllElements.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/componentTransformProcessor.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/getComponentConfigOverrides.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/behaviors/pageSummarization.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ai-engagement-library/27.10.25/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-http-request/29.3.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/sn-canvas-appshell-root.utils.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/sn-canvas-appshell-root.js","webpack:///sn-canvas-blank/src/index.js","webpack:///sn-canvas-blank/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host(sn-canvas-appshell-root){display:block;height:100%;width:100%}:host(sn-canvas-appshell-root) #sn-canvas-appshell-root{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host(sn-canvas-root){display:block;height:100%;width:100%}:host(sn-canvas-root) #sn-canvas-root{height:100%}:host(sn-canvas-root) #sn-canvas-root .layout-container{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-root.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-root.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"ambStatusBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'ambStatusBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].ambStatusBehavior;\n\t\t\t\t\t} else if ('ambStatusBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.ambStatusBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].ambStatusBehavior;\n\t\t\t\t}, [\"canvasAppshellRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasAppshellRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasAppshellRootBehavior;\n\t\t\t\t\t} else if ('canvasAppshellRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasAppshellRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasAppshellRootBehavior;\n\t\t\t\t}, [\"canvasClientBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasClientBehavior;\n\t\t\t\t\t} else if ('canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasClientBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasClientBehavior;\n\t\t\t\t}, [\"canvasErrorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasErrorBehavior;\n\t\t\t\t\t} else if ('canvasErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasErrorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasErrorBehavior;\n\t\t\t\t}, [\"canvasLayoutErrorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasLayoutErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasLayoutErrorBehavior;\n\t\t\t\t\t} else if ('canvasLayoutErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasLayoutErrorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasLayoutErrorBehavior;\n\t\t\t\t}, [\"canvasRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasRootBehavior;\n\t\t\t\t\t} else if ('canvasRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasRootBehavior;\n\t\t\t\t}, [\"canvasSessionBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasSessionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasSessionBehavior;\n\t\t\t\t\t} else if ('canvasSessionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasSessionBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasSessionBehavior;\n\t\t\t\t}, [\"experienceRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'experienceRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].experienceRootBehavior;\n\t\t\t\t\t} else if ('experienceRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.experienceRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].experienceRootBehavior;\n\t\t\t\t}, [\"internalNavPluginBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'internalNavPluginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].internalNavPluginBehavior;\n\t\t\t\t\t} else if ('internalNavPluginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.internalNavPluginBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].internalNavPluginBehavior;\n\t\t\t\t}, [\"mergeDefaultUserPrefsFromUXGlobals\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeDefaultUserPrefsFromUXGlobals' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].mergeDefaultUserPrefsFromUXGlobals;\n\t\t\t\t\t} else if ('mergeDefaultUserPrefsFromUXGlobals' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.mergeDefaultUserPrefsFromUXGlobals || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].mergeDefaultUserPrefsFromUXGlobals;\n\t\t\t\t}, [\"mergeSessionDbAndLibCompPrefs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeSessionDbAndLibCompPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].mergeSessionDbAndLibCompPrefs;\n\t\t\t\t\t} else if ('mergeSessionDbAndLibCompPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.mergeSessionDbAndLibCompPrefs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].mergeSessionDbAndLibCompPrefs;\n\t\t\t\t}, [\"statePersistenceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'statePersistenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].statePersistenceBehavior;\n\t\t\t\t\t} else if ('statePersistenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.statePersistenceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].statePersistenceBehavior;\n\t\t\t\t}, [\"userPresenceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'userPresenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].userPresenceBehavior;\n\t\t\t\t\t} else if ('userPresenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.userPresenceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].userPresenceBehavior;\n\t\t\t\t} });","const deepSearchElement = (selector, root = document.body) => {\n  let queue = [root];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    const ele = top.querySelector(selector);\n    if (ele) return ele;\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top.querySelectorAll('*');\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n};\n\nconst deepSearchAllElement = (selector, root = document.body) => {\n  let queue = [root];\n  let result = [];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    const ele = top.querySelectorAll(selector);\n    if (ele && ele.length > 0) result.push(...ele);\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top.querySelectorAll('*');\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n  return result;\n};\n\nexport { deepSearchElement, deepSearchAllElement };\n","export default () => {\n\treturn (\n\t\t<div id=\"sn-canvas-root\">\n\t\t\t<div className=\"layout-container\">\n\t\t\t\t<slot />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","//Component Names\nexport const SN_CANVAS_APPSHELL_ROOT = 'sn-canvas-appshell-root';\nexport const SN_CANVAS_APPSHELL_LAYOUT = 'sn-canvas-appshell-layout';\nexport const SN_CANVAS_APPSHELL_MAIN = 'sn-canvas-appshell-main';\nexport const SN_CANVAS_ROOT = 'sn-canvas-root';\nexport const SN_CANVAS_ROUTER = 'sn-canvas-router';\nexport const SN_CANVAS_MAIN = 'sn-canvas-main';\nexport const SN_CANVAS_TOOLBAR = 'sn-canvas-toolbar';\nexport const SN_CANVAS_HEADER = 'sn-canvas-header';\nexport const SN_CANVAS_ERROR = 'sn-canvas-error';\nexport const SN_CANVAS_LAYOUT = 'sn-canvas-layout';\nexport const SN_CANVAS_TABSDATA = 'sn-canvas-tabsdata';\nexport const SN_CANVAS_CLIENT = 'sn-canvas-client';\nexport const SN_CANVAS_UCM = 'sn-canvas-ucm';\nexport const SN_CANVAS_EXPERIENCE_SHELL = 'sn-canvas-experience-shell';\nexport const UXF_PAGE_SUMMARIZATION_SKILL = 'UXF_PageSummarizationSkill';\nexport const CANVAS_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_EXPERIENCE_CONFIG_CHANGED';\n\n// Actions\nexport const MAIN_SELECTED_CONTENT_CHANGED = 'MAIN_SELECTED_CONTENT_CHANGED';\nexport const GRAPHQL_ENDPOINT = '/api/now/graphql';\n","import {\n\tSN_CANVAS_ROUTER,\n\tSN_CANVAS_APPSHELL_LAYOUT,\n\tSN_CANVAS_APPSHELL_MAIN,\n\tSN_CANVAS_LAYOUT,\n\tSN_CANVAS_MAIN,\n} from '../constants/constants';\n\nlet appShellRootId;\nlet routerComponentId;\n\nexport const setRouterId = id => {\n\trouterComponentId = id;\n};\n\nexport const setAppShellRootId = id => {\n\tappShellRootId = id;\n};\n\nexport const wireExpProps = (host, expShellComponentId) => {\n\tconst srcComponentId = expShellComponentId || routerComponentId;\n\tif (!srcComponentId) return;\n\tconst snCanvasLayout = host.querySelector(SN_CANVAS_LAYOUT);\n\tconst snCanvasMain = host.querySelector(SN_CANVAS_MAIN);\n\n\tconst routeConfigBinding = expShellComponentId\n\t\t? `@${expShellComponentId}/routeConfig`\n\t\t: `@${routerComponentId}/routerConfig`;\n\n\tif (snCanvasLayout) {\n\t\tsnCanvasLayout.routeConfig = routeConfigBinding;\n\t\tsnCanvasLayout.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tif (expShellComponentId)\n\t\t\tsnCanvasLayout.screensToCloseQueue = `@${expShellComponentId}/screensToCloseQueue`;\n\t}\n\n\tif (snCanvasMain) {\n\t\tsnCanvasMain.routeConfig = routeConfigBinding;\n\t\tsnCanvasMain.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasMain.persistedState = `@${appShellRootId}/persistedStateForMain`;\n\t\tsnCanvasMain.activeContextPath = `@${routerComponentId}/activeContextPath`;\n\t\tif (snCanvasLayout) {\n\t\t\tconst _componentId = snCanvasLayout.getAttribute('component-id');\n\t\t\tsnCanvasMain.experienceId = `@${_componentId}/experienceId`;\n\t\t\tsnCanvasMain.screenStatus = `@${_componentId}/screenStatus`;\n\t\t\tsnCanvasMain.activityLogs = `@${_componentId}/activityLogs`;\n\t\t\tsnCanvasMain.closedNavigationIds = `@${_componentId}/closedNavigationIds`;\n\t\t\tsnCanvasMain.screensToCloseQueue = `@${_componentId}/screensToCloseQueue`;\n\t\t}\n\t}\n};\n\nexport const wireAppProps = (host) => {\n\trouterComponentId = host.shadowRoot\n\t\t.querySelector(SN_CANVAS_ROUTER)\n\t\t.getAttribute('component-id');\n\tappShellRootId = host.getAttribute('component-id');\n\n\tconst appshellLayout = host.querySelector(SN_CANVAS_APPSHELL_LAYOUT);\n\tconst appshellMain = host.querySelector(SN_CANVAS_APPSHELL_MAIN);\n\tif (appshellLayout) {\n\t\tappshellLayout.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellLayout.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tappshellLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tappshellLayout.clientInfo = `@${appShellRootId}/clientInfo`;\n\t}\n\n\tif (appshellMain) {\n\t\tappshellMain.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellMain.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tif (appshellLayout) {\n\t\t\tconst layoutComponentId =\n\t\t\t\tappshellLayout.getAttribute('component-id');\n\t\t\tappshellMain.selectedContentMap = `@${layoutComponentId}/selectedContentMap`;\n\t\t\tappshellMain.experiencesData = `@${layoutComponentId}/experiencesData`;\n\t\t}\n\t}\n\n\twireExpProps(host); //wire props if standalone app\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { wireExpProps } from '../utils/propWiring';\nimport { SN_CANVAS_EXPERIENCE_SHELL } from '../constants/constants';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nexport const onComponentConnectedEffect = ({ host }) => {\n\tconst experienceShell = host.getRootNode()?.host?.parentElement;\n\tif (\n\t\texperienceShell &&\n\t\texperienceShell.tagName.toLowerCase() == SN_CANVAS_EXPERIENCE_SHELL\n\t) {\n\t\tconst experienceShellComponentId = experienceShell.getAttribute(\n\t\t\t'component-id',\n\t\t);\n\t\tconst rootId = host.getAttribute('component-id');\n\t\tif(window.__uxrWiredProps.indexOf(rootId) < 0)\n\t\t\twireExpProps(host, experienceShellComponentId);\n\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'experienceShell not found for sn-canvas-root : ',\n\t\t\thost,\n\t\t\texperienceShell,\n\t\t);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_CONNECTED]: onComponentConnectedEffect,\n};\nexport { actionHandlers };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { experienceRootBehavior } from 'sn-canvas-core-addon';\nimport { deepSearchElement } from './../utils/domUtils';\nimport view from './sn-canvas-root.view';\n\nimport styles from './_sn-canvas-root.scss';\nimport { actionHandlers } from './sn-canvas-root.effects';\n\nimport {\n\tSN_CANVAS_APPSHELL_ROOT,\n\tSN_CANVAS_ROOT,\n\tSN_CANVAS_EXPERIENCE_SHELL,\n} from './../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nconst rootMcp = document.querySelector('[macroponent-namespace]');\nif (rootMcp && rootMcp.tagName.toLowerCase().indexOf('macroponent-') === 0) {\n\tconst appShellRootFound = deepSearchElement(\n\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\trootMcp,\n\t);\n\tif (appShellRootFound) {\n\t\tcreateRoot();\n\t} else {\n\t\tconst rootMcpConnectedCallback = () => {\n\t\t\tconst _appShellRootFound = deepSearchElement(\n\t\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\t\trootMcp,\n\t\t\t);\n\t\t\tif (_appShellRootFound) createRoot();\n\t\t};\n\t\trootMcp.addEventListener(\n\t\t\tCOMPONENT_CONNECTED,\n\t\t\trootMcpConnectedCallback,\n\t\t\t{ once: true },\n\t\t);\n\t}\n}\n\nfunction createRoot() {\n\tcreateCustomElement(SN_CANVAS_ROOT, {\n\t\ttype: snabbdom,\n\t\tview,\n\t\tstyles,\n\t\tactionHandlers,\n\t\tbehaviors: [experienceRootBehavior, renderSkipBehavior],\n\t});\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t}, [\"sandboxUtils\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'sandboxUtils' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].sandboxUtils;\n\t\t\t\t\t} else if ('sandboxUtils' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.sandboxUtils || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].sandboxUtils;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport { getComponentsByTagNames } from '@devsnc/library-uxf';\n\nimport {\n\tSN_CANVAS_ROUTER,\n\tSN_CANVAS_APPSHELL_LAYOUT,\n} from '../../constants/constants';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nlet screenReaderComponentLoaded = false;\n\nexport const getHostParent = (host) => {\n\tlet hostParent = host || document.body;\n\n\tconst appShellLayout = hostParent.querySelector(SN_CANVAS_APPSHELL_LAYOUT);\n\tif (appShellLayout) {\n\t\tconst polarisLayout = appShellLayout.querySelector('sn-polaris-layout');\n\t\thostParent = polarisLayout ? polarisLayout.shadowRoot : appShellLayout;\n\t}\n\n\treturn hostParent;\n};\n\nexport const getSelectedContentFromRouter = (host) => {\n\tconst routerId = host?.shadowRoot?.querySelector(SN_CANVAS_ROUTER)?.nowId;\n\tif (!routerId) {\n\t\treturn undefined;\n\t}\n\n\treturn `@${routerId}/selectedContent`;\n};\n\nexport const launchScreenReader = async (host) => {\n\tconst parent = getHostParent(host);\n\n\ttry {\n\t\tif (!screenReaderComponentLoaded) {\n\t\t\tconst [screenReaderTag] = await getComponentsByTagNames([\n\t\t\t\t'now-ai-screen-reader',\n\t\t\t]);\n\t\t\tif (!screenReaderTag) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tscreenReaderComponentLoaded = true;\n\t\t}\n\n\t\tconst screenReader = document.createElement('now-ai-screen-reader');\n\n\t\tconst activeRoute = getSelectedContentFromRouter(host);\n\t\tif (activeRoute) {\n\t\t\tscreenReader.activeRoute = activeRoute;\n\t\t}\n\n\t\tparent.append(screenReader);\n\n\t\treturn screenReader;\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n\nexport const aiScreenReaderBehavior = {\n\tname: 'aiScreenReaderBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({ host }) => {\n\t\t\t\tlaunchScreenReader(host);\n\t\t\t},\n\t\t},\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"intentActions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t\t} else if ('intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentActions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t}, [\"intentTranslatorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentTranslatorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentTranslatorBehavior;\n\t\t\t\t\t} else if ('intentTranslatorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentTranslatorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentTranslatorBehavior;\n\t\t\t\t} });","export const ALLOWED_DEEPLY_NESTED_OBJECT_LEVEL = 10;\nexport const DEEPLY_NESTED_OBJECT = '[DEEPLY_NESTED_OBJECT]';\nexport const IFRAME_TAG_NAME = 'iframe';\nexport const COMPONENT_ID = 'component-id';\nexport const ELEMENT_ADDRESS_TOKEN = '.ead.';\nexport const META = 'meta';\nexport const TREE = 'tree';\n","import {\n\tALLOWED_DEEPLY_NESTED_OBJECT_LEVEL,\n\tDEEPLY_NESTED_OBJECT,\n} from '../../../constants/cptConstants';\n\nexport const sanitizeObjectByRecursion = (obj, seen, level) => {\n\tlet key = null;\n\tlet value = null;\n\tif (!obj) obj = {};\n\tconst keys = Object.keys(obj);\n\tconst { length: numOfkeys } = keys;\n\tconst sanitizedObject = Array.isArray(obj) ? [] : {};\n\tseen.add(obj);\n\tfor (let i = 0; i < numOfkeys; i++) {\n\t\tkey = keys[i];\n\t\tvalue = obj[key];\n\t\tif (typeof value === 'function') {\n\t\t\tsanitizedObject[key] =\n\t\t\t\t`[Function${value.name ? ` ${value.name}` : ''}]`;\n\t\t} else if (value instanceof Element) {\n\t\t\tconst elementInfo = {\n\t\t\t\ttagName: value.tagName.toLowerCase(),\n\t\t\t\ttextContent: value.textContent,\n\t\t\t};\n\t\t\tfor (const attribute of value.attributes || []) {\n\t\t\t\telementInfo[attribute.name] = attribute.value;\n\t\t\t}\n\n\t\t\tsanitizedObject[key] = elementInfo;\n\t\t} else if (value instanceof Text) {\n\t\t\tsanitizedObject[key] = { textContent: value.textContent };\n\t\t} else if (value instanceof Window) {\n\t\t\tsanitizedObject[key] = value.toString();\n\t\t} else if (typeof value === 'symbol') {\n\t\t\tsanitizedObject[key] = `[${value.toString()}]`;\n\t\t} else if (typeof value === 'object' && value !== null) {\n\t\t\tif (seen.has(value) || value === obj) {\n\t\t\t\tsanitizedObject[key] = '[Circular]';\n\t\t\t} else {\n\t\t\t\tsanitizedObject[key] =\n\t\t\t\t\tlevel <= ALLOWED_DEEPLY_NESTED_OBJECT_LEVEL\n\t\t\t\t\t\t? sanitizeObjectByRecursion(value, seen, level + 1)\n\t\t\t\t\t\t: DEEPLY_NESTED_OBJECT;\n\t\t\t}\n\t\t} else {\n\t\t\tsanitizedObject[key] = value;\n\t\t}\n\t}\n\tseen.delete(obj);\n\treturn sanitizedObject;\n};\n","export const findAndFitChildElement = (elements, mappedElement) => {\n\tlet found = false;\n\tfor (const key in elements) {\n\t\t//TODO: Write tests so as to establish that this breaks do avoid unecessary loops after finding it\n\t\tif (found) break;\n\t\tif (key === mappedElement.parentComponentId) {\n\t\t\tfound = true;\n\t\t\tif (!elements[key].children) {\n\t\t\t\telements[key].children = {};\n\t\t\t}\n\t\t\telements[key].children[mappedElement.componentId] = {\n\t\t\t\tparentComponentId: mappedElement.parentComponentId,\n\t\t\t\tchildren: {},\n\t\t\t};\n\t\t} else if (elements[key].children) {\n\t\t\tfindAndFitChildElement(elements[key].children, mappedElement);\n\t\t}\n\t}\n};\n","export const findInMeta = (meta, parentId, mappedElement) => {\n\tlet found = false;\n\tfor (const key in meta) {\n\t\tif (found) break;\n\t\tif (key === parentId) {\n\t\t\tif (!meta[key].children) meta[key].children = {};\n\t\t\tmeta[key].children[mappedElement.componentId] = {\n\t\t\t\tproperties: mappedElement.properties,\n\t\t\t\ttagName: mappedElement.tagName,\n\t\t\t\tpromptId: mappedElement.promptId,\n\t\t\t};\n\t\t\t//recursively check children\n\t\t\tfound = true;\n\t\t\tbreak;\n\t\t} else if (meta[key].children) {\n\t\t\tfound = findInMeta(meta[key].children, parentId, mappedElement);\n\t\t}\n\t\tif (!found) continue;\n\t}\n\treturn found;\n};\n","import { buildElementAddress } from './buildElementAddress';\nimport { findInMeta } from './findInMeta';\nimport { ELEMENT_ADDRESS_TOKEN, META } from '../../../constants/cptConstants';\n\nexport const findAndFitChildElementMeta = (elements, mappedElement) => {\n\tif (!elements.meta) {\n\t\telements[META] = {};\n\t\telements.meta[mappedElement.componentId] = {\n\t\t\tproperties: mappedElement.properties,\n\t\t\ttagName: mappedElement.tagName,\n\t\t\tpromptId: mappedElement.promptId,\n\t\t};\n\t} else {\n\t\tconst elementAddress = buildElementAddress(\n\t\t\telements.tree,\n\t\t\tmappedElement.componentId,\n\t\t);\n\t\tif (elementAddress) {\n\t\t\tconst parts = elementAddress.split(ELEMENT_ADDRESS_TOKEN);\n\t\t\t//TODO: write tests 1. to confirm some is doing an early exit on foundInMeta;\n\t\t\t//                  2. Handle notFoundInMeta ties down to again root elements as in the else part of extractSummaryComponents?\n\t\t\tparts.reverse().some((part) => {\n\t\t\t\t//Map to a parent from the heirarchy in meta, the parent may not be the direct parent in most cases\n\t\t\t\tconst foundInMeta = findInMeta(\n\t\t\t\t\telements.meta,\n\t\t\t\t\tpart,\n\t\t\t\t\tmappedElement,\n\t\t\t\t);\n\t\t\t\treturn foundInMeta;\n\t\t\t});\n\t\t}\n\t}\n};\n","import { ELEMENT_ADDRESS_TOKEN } from '../../../constants/cptConstants';\n\nexport const buildElementAddress = (tree, componentId) => {\n\tfor (const key in tree) {\n\t\tconst address = search(tree[key], componentId, [key]);\n\t\tif (address) {\n\t\t\treturn address;\n\t\t}\n\t}\n\tfunction search(tree, componentId, path) {\n\t\tif (tree.children[componentId]) {\n\t\t\treturn path.join(ELEMENT_ADDRESS_TOKEN);\n\t\t}\n\t\tfor (let childId in tree.children) {\n\t\t\tlet result = search(\n\t\t\t\ttree.children[childId],\n\t\t\t\tcomponentId,\n\t\t\t\tpath.concat(childId),\n\t\t\t);\n\t\t\tif (result) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n","import { findAndFitChildElementMeta } from './cptHelpers/elementFinders';\n\nexport const extractSummaryComponents = (\n\tmappedElement,\n\telements,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n) => {\n\tif (\n\t\t!shouldIgnoreComponent(\n\t\t\tmappedElement.tagName,\n\t\t\tcomponentConfigOverrides,\n\t\t\tresults,\n\t\t)\n\t) {\n\t\tconst properties = mappedElement.propertyValues;\n\t\tlet transformResult;\n\t\tlet promptId = defaultPrompt;\n\t\tconst componentConfig = componentConfigOverrides[mappedElement.tagName];\n\n\t\tif (componentConfig) {\n\t\t\tconst { transform, prompt } = componentConfig;\n\n\t\t\ttransformResult = transform({ properties });\n\t\t\tpromptId = prompt;\n\t\t} else {\n\t\t\ttransformResult = defaultTransform({ properties });\n\t\t}\n\n\t\tconst filteredProps = filterObjectProperties(transformResult);\n\t\tif (Object.keys(filteredProps).length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tmappedElement.properties = filteredProps;\n\t\tmappedElement.promptId = promptId || results?.defaultConfig?.prompt;\n\t\tif (mappedElement.parentComponentId) {\n\t\t\tfindAndFitChildElementMeta(elements, mappedElement);\n\t\t} else {\n\t\t\t//TODO: no parent elements so add to root?\n\t\t\t//console.log('The root elements that we probably dont care about -', mappedElement.componentId)\n\t\t}\n\t}\n};\n\nconst shouldIgnoreComponent = (tagName, componentConfigOverrides, results) => {\n\tif (\n\t\tcomponentConfigOverrides[tagName] ||\n\t\tresults?.filterLists?.includeElements?.includes(tagName)\n\t)\n\t\treturn false;\n\tconst { ignoreElements, ignoreSuffixes, ignorePrefixes } =\n\t\tresults.filterLists;\n\n\treturn (\n\t\tignoreElements?.includes(tagName) ||\n\t\tignorePrefixes?.some((prefix) => tagName.startsWith(prefix)) ||\n\t\tignoreSuffixes?.some((suffix) => tagName.endsWith(suffix))\n\t);\n};\n\nconst filterObjectProperties = (obj) => {\n\tconst result = {};\n\tfor (const key in obj) {\n\t\t// TODO - Update to snowdash\n\t\tif (obj[key] !== '' && obj[key] !== null && obj[key] !== undefined) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\treturn result;\n};\n","import {\n\tCOMPONENT_ID,\n\tIFRAME_TAG_NAME,\n\tTREE,\n} from '../../constants/cptConstants';\nimport { sanitizeObject } from './objectUtils';\nimport { findAndFitChildElement } from './recursiveUtils/findAndFitChildElement';\nimport { extractSummaryComponents } from './componentUtils';\n\nexport const isIFrame = (element) =>\n\telement &&\n\telement.tagName &&\n\telement.tagName.toLowerCase() === IFRAME_TAG_NAME;\n\nexport const isSeismicElement = (element) => {\n\treturn (\n\t\t(element.tagName || '').includes('-') &&\n\t\telement.hasAttribute(COMPONENT_ID)\n\t);\n};\n\nexport const getChildElements = (element) => {\n\tconst root = element.shadowRoot || element;\n\treturn root.assignedNodes ? root.assignedNodes() : root.childNodes;\n};\n\nexport const isElementVisible = (element) => {\n\tif (!(element instanceof Element)) return false;\n\tconst style = window.getComputedStyle(element);\n\treturn !(style.display === 'none' || style.visibility === 'hidden');\n};\n\nexport const mapSeismicElement = (\n\tparentElement,\n\telement,\n\telementsOnly,\n\tupdateElement,\n) => {\n\tconst tagName = element.tagName.toLowerCase();\n\tconst componentId = element.getAttribute(COMPONENT_ID);\n\tconst parentComponentId =\n\t\tparentElement && parentElement.getAttribute(COMPONENT_ID);\n\tconst parentElementTagName =\n\t\tparentElement?.tagName?.toLowerCase() || 'null';\n\tconst config = element.nowElementConfig;\n\n\tif (elementsOnly && !updateElement) {\n\t\treturn {\n\t\t\ttagName,\n\t\t\tcomponentId,\n\t\t\tparentElement: { parentElementTagName, parentComponentId },\n\t\t};\n\t}\n\n\tconst propertyConfig = config?.properties;\n\tconst resolvedProperties = element.getResolvedProperties();\n\tconst unResolvedProperties = element.getProperties();\n\tconst selectableProperties = {};\n\tfor (const prop in unResolvedProperties) {\n\t\tconst propVal = unResolvedProperties[prop];\n\t\tif (typeof propVal === 'string' && propVal.startsWith('@')) {\n\t\t\tselectableProperties[prop] = propVal;\n\t\t}\n\t}\n\tconst propertyValues = {};\n\tfor (const name in propertyConfig) {\n\t\tif (name !== 'nowId') {\n\t\t\tpropertyValues[name] = resolvedProperties[name];\n\t\t}\n\t}\n\n\treturn sanitizeObject({\n\t\tcomponentId,\n\t\tparentComponentId,\n\t\ttagName,\n\t\tpropertyConfig,\n\t\tpropertyValues,\n\t\tselectableProperties,\n\t\tchildren: {},\n\t});\n};\n\nexport const mapTheMappedElement = (\n\tmappedElement,\n\telements,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n) => {\n\tif (elements[TREE] === undefined) elements[TREE] = {};\n\t//First we establish its place in the tree via findAndFitChildElement and put it in elements.tree\n\tif (mappedElement) {\n\t\tif (mappedElement.parentComponentId) {\n\t\t\tfindAndFitChildElement(elements.tree, mappedElement);\n\t\t} else\n\t\t\telements.tree[mappedElement.componentId] = {\n\t\t\t\tparentComponentId: null,\n\t\t\t\tchildren: {},\n\t\t\t};\n\t\t//Then we see if this element is summary worthy only then do we add it to the summary.meta\n\t\ttry {\n\t\t\textractSummaryComponents(\n\t\t\t\tmappedElement,\n\t\t\t\telements,\n\t\t\t\tcomponentConfigOverrides,\n\t\t\t\tdefaultTransform,\n\t\t\t\tdefaultPrompt,\n\t\t\t\tresults,\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tthrow new Error(e);\n\t\t}\n\t}\n};\n","import { sanitizeObjectByRecursion } from './recursiveUtils/sanitizeObjectByRecursion';\n\nexport const sanitizeObject = (obj) =>\n\tsanitizeObjectByRecursion(obj, new WeakSet(), 0);\n","import {\n\tisIFrame,\n\tisSeismicElement,\n\tgetChildElements,\n\tisElementVisible,\n\tmapSeismicElement,\n\tmapTheMappedElement,\n} from './cptUtils/elementUtils';\n\nexport const getAllElements = ({\n\tcurrentElement,\n\tcurrentParent,\n\tseismicDepth,\n\telements,\n\telementsOnly,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n}) => {\n\tconst isIframeElement = isIFrame(currentElement);\n\tconst seismicElement = isSeismicElement(currentElement);\n\tconst nextParent =\n\t\tseismicElement || isIframeElement ? currentElement : currentParent;\n\tconst nextSeismicDepth = seismicElement ? seismicDepth + 1 : seismicDepth;\n\n\tif (isIframeElement) {\n\t\t//TODO: Support for iFrame elements\n\t\t//elements.push(getIFrameElementDetails(currentElement, currentParent)); Not processing any iFrame elements yet\n\t\tconsole.warn('iFrame elements are not supported yet');\n\t} else {\n\t\tfor (const childElement of getChildElements(currentElement)) {\n\t\t\tif (!isElementVisible(childElement)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst seismicElement = isSeismicElement(childElement);\n\t\t\tif (seismicElement) {\n\t\t\t\tconst mappedElement = mapSeismicElement(\n\t\t\t\t\tnextParent,\n\t\t\t\t\tchildElement,\n\t\t\t\t\telementsOnly,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\n\t\t\t\tmapTheMappedElement(\n\t\t\t\t\tmappedElement,\n\t\t\t\t\telements,\n\t\t\t\t\tcomponentConfigOverrides,\n\t\t\t\t\tdefaultTransform,\n\t\t\t\t\tdefaultPrompt,\n\t\t\t\t\tresults,\n\t\t\t\t);\n\t\t\t}\n\t\t\tgetAllElements({\n\t\t\t\tcurrentElement: childElement,\n\t\t\t\tcurrentParent: nextParent,\n\t\t\t\tseismicDepth: nextSeismicDepth,\n\t\t\t\telements,\n\t\t\t\telementsOnly,\n\t\t\t\tcomponentConfigOverrides,\n\t\t\t\tdefaultTransform,\n\t\t\t\tdefaultPrompt,\n\t\t\t\tresults,\n\t\t\t});\n\t\t}\n\t}\n};\n","import { sandboxUtils } from '@devsnc/library-uxf';\n\nimport { getComponentConfigOverrides } from './ctpHandlers/getComponentConfigOverrides';\nimport { getAllElements } from './ctpHandlers/getAllElements';\n\nexport const processComponentTransforms = (results) => {\n\tconst { componentConfigs, defaultConfig = {} } = results;\n\tconst componentConfigOverrides =\n\t\tgetComponentConfigOverrides(componentConfigs);\n\tconst { summaryMetadataTransform } = defaultConfig;\n\tconst { createSandboxedEvaluator, defaultAllowedGlobals } = sandboxUtils;\n\tconst sandbox = createSandboxedEvaluator(defaultAllowedGlobals());\n\tconst defaultTransform = sandbox(summaryMetadataTransform);\n\tconst elements = [];\n\tgetAllElements({\n\t\tcurrentElement: document.body,\n\t\tcurrentParent: null,\n\t\tseismicDepth: 0,\n\t\telements,\n\t\telementsOnly: false,\n\t\tcomponentConfigOverrides,\n\t\tdefaultTransform,\n\t\tresults,\n\t});\n\treturn elements.meta;\n};\n","import { sandboxUtils } from '@devsnc/library-uxf';\n\nexport const getComponentConfigOverrides = (componentConfigs) => {\n\tlet componentConfigOverrides = {};\n\tconst { createSandboxedEvaluator, defaultAllowedGlobals } = sandboxUtils;\n\tconst sandbox = createSandboxedEvaluator(defaultAllowedGlobals());\n\tfor (const config of componentConfigs) {\n\t\tconst tagName = config?.props?.component_tag_name?.toLowerCase();\n\t\tconst transformCode = config.props.summary_metadata_transform;\n\t\tif (tagName) {\n\t\t\tcomponentConfigOverrides[tagName] = {\n\t\t\t\ttransform: sandbox(transformCode),\n\t\t\t\tprompt: config.props.prompt,\n\t\t\t};\n\t\t}\n\t}\n\treturn componentConfigOverrides;\n};\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { intentActions } from '@devsnc/library-intent-channel';\nimport { processComponentTransforms } from '../utils/componentTransformProcessor';\n\nconst { INTENT_RECEIVED, SEND_INTENT_FEEDBACK } = intentActions;\n\nconst UXF_NAA_CONFIG_FETCH_REQUESTED = 'UXF_NAA_CONFIG#FETCH_REQUESTED';\nconst UXF_NAA_CONFIG_FETCH_SUCCEEDED = 'UXF_NAA_CONFIG#FETCH_SUCCEEDED';\nconst UXF_NAA_CONFIG_FETCH_FAILED = 'UXF_NAA_CONFIG#FETCH_FAILED';\n\nconst INTENT_FEEDBACK_STATUS = {\n\tSUCCESS: 'success',\n\tFAILURE: 'failure',\n};\n\nconst naaConfigRESTEffect = createHttpEffect(\n\t'/api/sn_page_summary/page_summarization/configs',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: UXF_NAA_CONFIG_FETCH_SUCCEEDED,\n\t\terrorActionType: UXF_NAA_CONFIG_FETCH_FAILED,\n\t},\n);\n\nexport const pageSummarizationBehavior = {\n\tname: 'pageSummarizationBehavior',\n\tactionHandlers: {\n\t\t[UXF_NAA_CONFIG_FETCH_REQUESTED]: naaConfigRESTEffect,\n\t\t[UXF_NAA_CONFIG_FETCH_SUCCEEDED](coeffects) {\n\t\t\tconst {\n\t\t\t\taction: { payload, meta },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tconst { result } = payload;\n\t\t\tconst { originalIntent } = meta;\n\n\t\t\t// Logging the result\n\t\t\tconsole.log(\n\t\t\t\t`${UXF_NAA_CONFIG_FETCH_SUCCEEDED} SUCCEEDED: `,\n\t\t\t\tresult,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst componentResults = processComponentTransforms(result);\n\n\t\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.SUCCESS,\n\t\t\t\t\tmessage: componentResults,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(`Error processing component transform.`, error);\n\n\t\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.FAILURE,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t'Error occurred with processing component transforms',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[UXF_NAA_CONFIG_FETCH_FAILED](coeffects) {\n\t\t\tconst {\n\t\t\t\taction: { payload, meta },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tconst { originalIntent } = meta;\n\n\t\t\tconsole.error('ERROR in NAA Config fetch: ', payload.error);\n\n\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\toriginalIntent,\n\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.FAILURE,\n\t\t\t\tmessage: 'Error occurred with fetching component configs',\n\t\t\t});\n\t\t},\n\t\t[INTENT_RECEIVED]({ action, dispatch }) {\n\t\t\tconsole.log(\n\t\t\t\t'INTENT_RECIEVED-action.payload.intent',\n\t\t\t\taction.payload.intent,\n\t\t\t);\n\n\t\t\tif (action.payload.intent !== 'initSummarySkill') return;\n\n\t\t\tdispatch(\n\t\t\t\tUXF_NAA_CONFIG_FETCH_REQUESTED,\n\t\t\t\t{},\n\t\t\t\t{ originalIntent: action.payload.intent },\n\t\t\t);\n\t\t},\n\t},\n};\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tUXF_NAA_CONFIG_FETCH_REQUESTED,\n\t\t\t\tUXF_NAA_CONFIG_FETCH_SUCCEEDED,\n\t\t\t\tUXF_NAA_CONFIG_FETCH_FAILED,\n\t\t\t\tnaaConfigRESTEffect,\n\t\t\t}\n\t\t: void 0;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"aiEngagementLauncherBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__.__esModule\n\t\t\t\t\tif (cjsModule && 'aiEngagementLauncherBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"].aiEngagementLauncherBehavior;\n\t\t\t\t\t} else if ('aiEngagementLauncherBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__.aiEngagementLauncherBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_25_index_jsdbx_de0e7811__[\"default\"].aiEngagementLauncherBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHttpFactory\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t\t} else if ('snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.snHttpFactory || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateHandlerBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateHandlerBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateHandlerBehavior;\n\t\t\t\t\t} else if ('dirtyStateHandlerBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateHandlerBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateHandlerBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t} });","import { cloneDeep } from 'lodash';\n\nconst generateScreenKey = (fields, route) => {\n\tlet key = Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n\treturn key;\n};\n\nexport const getScreenKey = (selectedContent) => {\n\tif (!selectedContent) return;\n\tconst _selectedContent = cloneDeep(selectedContent);\n\tlet { route, fields, uid, multiInstField } = _selectedContent;\n\tif (!fields) fields = {};\n\n\tif (multiInstField && fields[multiInstField]) {\n\t\tconst parts = fields[multiInstField].split('_uid_');\n\t\tfields[multiInstField] = parts[0];\n\t\tif (parts.length > 1) uid = parts[1];\n\t}\n\n\tlet key = generateScreenKey(fields, route);\n\tif (uid) {\n\t\tkey = `${key}${uid}`;\n\t}\n\treturn key;\n};\n\n/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { getProperty } from 'sn-uxpage-presource';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tcanvasRootBehavior,\n\tcanvasErrorBehavior,\n\tcanvasAppshellRootBehavior,\n\tcanvasClientBehavior,\n\tcanvasSessionBehavior,\n\tambStatusBehavior,\n\tuserPresenceBehavior,\n\tcanvasLayoutErrorBehavior,\n\tstatePersistenceBehavior,\n\tinternalNavPluginBehavior,\n} from 'sn-canvas-core-addon';\nimport { aiScreenReaderBehavior } from './behaviors/aiScreenReader.behavior';\nimport { pageSummarizationBehavior } from './behaviors/pageSummarization.behavior';\nimport { deepSearchElement } from '../utils/domUtils';\nimport { wireAppProps } from '../utils/propWiring';\nimport {\n\tSN_CANVAS_APPSHELL_ROOT,\n\tSN_CANVAS_ROOT,\n\tSN_CANVAS_ERROR,\n\tUXF_PAGE_SUMMARIZATION_SKILL,\n\tMAIN_SELECTED_CONTENT_CHANGED,\n\tGRAPHQL_ENDPOINT,\n} from '../constants/constants';\nimport styles from './_sn-canvas-appshell-root.scss';\nimport canvasRootStyles from './../sn-canvas-root/_sn-canvas-root.scss';\n\nimport { intentTranslatorBehavior } from '@devsnc/library-intent-channel';\n\nimport { aiEngagementLauncherBehavior as baseAiEngagementLauncherBehavior } from '@servicenow/ai-engagement-library';\n\nimport { snHttpFactory } from 'sn-http-request';\nimport { dirtyStateHandlerBehavior } from '@devsnc/uxf-shared-behaviors';\nimport {\n\tgetDirtyStateManager,\n\tgetScreenKey,\n} from './utils/sn-canvas-appshell-root.utils';\nimport {\n\tmergeSessionDbAndLibCompPrefs,\n\tmergeDefaultUserPrefsFromUXGlobals,\n} from 'sn-canvas-core-addon';\nimport { CANVAS_EXPERIENCE_CONFIG_CHANGED } from '../constants/constants';\nimport { klona } from 'klona';\nimport { get, has } from 'lodash';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DOM_READY } = actionTypes;\n\nconst aielFulfillerExperienceQuery = `\n\t\t\t\tquery { \n\t\t\t\t\t\tnow { \n\t\t\t\t\t\t\t\tnowAssistUtility {\n\t\t\t\t\t\t\t\t\tgetAielFulfillerExperience\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}`;\n\nconst snHttp = snHttpFactory({\n\txsrfToken: typeof window !== 'undefined' ? window.g_ck : undefined,\n\tbatch: false,\n\tbatching: false,\n});\n\n/**\n * Fetches the AI engagement launcher behavior based on the fulfiller experience type.\n * Dynamically imports the appropriate library based on the GraphQL response.\n */\nasync function getAiEngagementLauncherBehavior() {\n\ttry {\n\t\tconst response = await snHttp.request(GRAPHQL_ENDPOINT, 'POST', {\n\t\t\tdata: {\n\t\t\t\tquery: aielFulfillerExperienceQuery,\n\t\t\t},\n\t\t});\n\n\t\tif (!response?.body) {\n\t\t\tconsole.warn(\n\t\t\t\t'[getAiEngagementLauncherBehavior] Invalid response structure',\n\t\t\t);\n\t\t\treturn baseAiEngagementLauncherBehavior;\n\t\t}\n\n\t\tconst experienceType =\n\t\t\tresponse.body?.data?.now?.nowAssistUtility\n\t\t\t\t?.getAielFulfillerExperience;\n\n\t\tif (!experienceType) {\n\t\t\tconsole.warn(\n\t\t\t\t'[getAiEngagementLauncherBehavior] No experience type returned',\n\t\t\t);\n\t\t\treturn baseAiEngagementLauncherBehavior;\n\t\t}\n\n\t\t// Dynamically import the appropriate behavior based on experience type\n\t\tif (experienceType === 'ai_native_chat') {\n\t\t\t// Signal that AIEL loading is in progress — suppress sparkle until resolved\n\t\t\twindow.__aielServiceUnavailable = { reason: 'loading' };\n\t\t\t// Try to grab AIEL from sk8 endpoint\n\t\t\tlet aiEngagementLauncherBehavior = { actionHandlers: {} };\n\t\t\ttry {\n\t\t\t\tconst baseServerURL = getProperty(\n\t\t\t\t\t'com.glide.aiel_asset_server',\n\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t\t// Construct URL at runtime to prevent bundler from intercepting\n\t\t\t\tconst aielUrl = `${baseServerURL}/sncapps/nextwave/assets/aiel.es.js`;\n\n\t\t\t\tlet assetCachedForMinuteDate = new Date();\n\t\t\t\tassetCachedForMinuteDate.setSeconds(0);\n\t\t\t\tassetCachedForMinuteDate.setMilliseconds(0);\n\t\t\t\tconst assetCachedForMinute = assetCachedForMinuteDate.valueOf();\n\t\t\t\tconst assetUrlWithCacheBuster = `${aielUrl}?v=${window?.ux_globals?.assetCacheBuster || assetCachedForMinute}`;\n\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\tconst aiel = await import(\n\t\t\t\t\t/* webpackIgnore: true */ assetUrlWithCacheBuster\n\t\t\t\t);\n\t\t\t\taiEngagementLauncherBehavior =\n\t\t\t\t\taiel.aiEngagementLauncherBehavior;\n\t\t\t\tdelete window.__aielServiceUnavailable;\n\t\t\t\twindow.__aielServiceAvailable = true;\n\t\t\t\twindow.dispatchEvent(new CustomEvent('aiel-service-available'));\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error importing AIEL from sk8 endpoint', error);\n\t\t\t\twindow.__aielServiceUnavailable = {\n\t\t\t\t\treason: 'script-load-failed',\n\t\t\t\t};\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('aiel-service-unavailable', {\n\t\t\t\t\t\tdetail: { reason: 'script-load-failed' },\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...baseAiEngagementLauncherBehavior,\n\t\t\t\tactionHandlers: {\n\t\t\t\t\t...baseAiEngagementLauncherBehavior.actionHandlers,\n\t\t\t\t\t...aiEngagementLauncherBehavior.actionHandlers,\n\t\t\t\t},\n\t\t\t};\n\t\t} else {\n\t\t\treturn baseAiEngagementLauncherBehavior;\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t'[getAiEngagementLauncherBehavior] Error fetching AI engagement launcher behavior:',\n\t\t\terror,\n\t\t);\n\t\treturn baseAiEngagementLauncherBehavior;\n\t}\n}\n\nexport const appShellRootActionHandlers = {\n\t[COMPONENT_DOM_READY]: ({ host }) => {\n\t\tif (!window.__serverSideRendered) wireAppProps(host);\n\n\t\t_setUpErrorHandler(host);\n\t},\n\t// Reset confirmPopStateNavigation after navigating on pop-state.\n\t[MAIN_SELECTED_CONTENT_CHANGED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { selectedContent },\n\t\t\t},\n\t\t\tupdateState,\n\t\t} = coeffects;\n\n\t\t// Irrespective of the `confirmPopStateNavigationWhenDirty` page property,\n\t\t// we need to update the `confirmPopStateNavigationContext`.\n\t\tconst activeScreenKey = getScreenKey(selectedContent) || '';\n\t\tconst isActiveScreenDirty =\n\t\t\tgetDirtyStateManager().isScreenDirty(activeScreenKey) || false;\n\n\t\tupdateState({\n\t\t\tpath: 'confirmPopStateNavigationContext',\n\t\t\toperation: 'set',\n\t\t\tvalue: {\n\t\t\t\tconfirmPopStateNavigation: isActiveScreenDirty,\n\t\t\t\tactiveScreenKey,\n\t\t\t},\n\t\t});\n\t},\n\t[CANVAS_EXPERIENCE_CONFIG_CHANGED]: ({ properties, updateProperties }) => {\n\t\tconst { canvasSession } = properties;\n\t\tconst session = getSessionUserPrefs();\n\t\tconst updatedSession = { ...canvasSession, ...session };\n\t\tupdateProperties({ canvasSession: updatedSession });\n\t\twindow.ux_globals.session.output = updatedSession;\n\n\t\tObject.freeze(window?.ux_globals?.session?.output);\n\t\tObject.freeze(window?.ux_globals?.session?.output?.userPrefs);\n\t\tObject.freeze(window?.ux_globals?.session?.output?.user?.preferences);\n\t},\n};\n\nexport const getSessionUserPrefs = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tlet sessionInfo = klona(get(UX_GLOBALS['session'], ['output'], {}));\n\n\tlet sessionDbPrefs = get(sessionInfo, 'user.preferences', []);\n\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tconst mergedUserPrefs = mergeDefaultUserPrefsFromUXGlobals(\n\t\tupdatedUserPreferences,\n\t);\n\n\tsessionInfo.user.preferences = Object.entries(mergedUserPrefs).map(\n\t\t([name, value]) => ({ name, value }),\n\t);\n\tObject.assign(sessionInfo.userPrefs, mergedUserPrefs);\n\n\treturn sessionInfo;\n};\n\nexport async function setupRootMcp() {\n\tconst rootMcp = document.querySelector('[macroponent-namespace]');\n\tif (\n\t\trootMcp &&\n\t\trootMcp.tagName.toLowerCase().indexOf('macroponent-') === 0\n\t) {\n\t\tconst appShellRootFound = deepSearchElement(\n\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\trootMcp,\n\t\t);\n\t\tif (appShellRootFound) {\n\t\t\tawait createAppRoot(appShellRootFound);\n\t\t} else {\n\t\t\tconst snCanvasRoot =\n\t\t\t\trootMcp.shadowRoot?.querySelector(SN_CANVAS_ROOT); // DEF0485433\n\t\t\tif (snCanvasRoot) {\n\t\t\t\tawait createAppRoot(false);\n\t\t\t} else {\n\t\t\t\tconst rootMcpConnectedCallback = async () => {\n\t\t\t\t\tconst _appShellRootFound = deepSearchElement(\n\t\t\t\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\t\t\t\trootMcp,\n\t\t\t\t\t);\n\t\t\t\t\tawait createAppRoot(_appShellRootFound);\n\t\t\t\t};\n\t\t\t\trootMcp.addEventListener(\n\t\t\t\t\tCOMPONENT_CONNECTED,\n\t\t\t\t\trootMcpConnectedCallback,\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\nsetupRootMcp();\n\nconst _setUpErrorHandler = (host) => {\n\tconst rootCompID = host.getAttribute('component-id');\n\tconst targetEle = deepSearchElement(SN_CANVAS_ERROR, host);\n\tif (targetEle) {\n\t\ttargetEle.open = `@${rootCompID}/showError`;\n\t\ttargetEle.errorConfig = `@${rootCompID}/errorConfig`;\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`blank-canvas: can not found ${SN_CANVAS_ERROR}`);\n\t}\n};\n\nasync function createAppRoot(appShellRootFound) {\n\tconst snCanvasAppShellRoot = ({\n\t\tcomponentId,\n\t\tconfirmPopStateNavigationContext: { confirmPopStateNavigation = false },\n\t\tproperties: { modalContent = {}, rootContentUpdated, activeExperience },\n\t}) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={\n\t\t\t\t\tappShellRootFound\n\t\t\t\t\t\t? 'sn-canvas-appshell-root'\n\t\t\t\t\t\t: 'sn-canvas-root'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<sn-canvas-modal-hoist modal-content={modalContent} />\n\t\t\t\t<sn-canvas-router\n\t\t\t\t\troot-selected-nav-item={`@${componentId}/rootSelectedNavItem`}\n\t\t\t\t\troot-content-updated={rootContentUpdated}\n\t\t\t\t\troot-persisted-state={`@${componentId}/persistedStateForRouter`}\n\t\t\t\t\tactive-experience={activeExperience}\n\t\t\t\t\tconfirm-pop-state-navigation={confirmPopStateNavigation}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tappShellRootFound\n\t\t\t\t\t\t\t? 'appshell-layout-container'\n\t\t\t\t\t\t\t: 'layout-container'\n\t\t\t\t\t}\n\t\t\t\t\taria-hidden={modalContent?.isOpen ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t<slot />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst aiEngagementLauncherBehavior =\n\t\tawait getAiEngagementLauncherBehavior();\n\n\tcreateCustomElement(\n\t\tappShellRootFound ? SN_CANVAS_APPSHELL_ROOT : SN_CANVAS_ROOT,\n\t\t{\n\t\t\ttype: snabbdom,\n\t\t\tview: snCanvasAppShellRoot,\n\t\t\tstyles: appShellRootFound ? styles : canvasRootStyles,\n\t\t\tbehaviors: [\n\t\t\t\tcanvasRootBehavior,\n\t\t\t\tcanvasErrorBehavior,\n\t\t\t\tcanvasAppshellRootBehavior,\n\t\t\t\tcanvasClientBehavior,\n\t\t\t\tcanvasSessionBehavior,\n\t\t\t\tambStatusBehavior,\n\t\t\t\tuserPresenceBehavior,\n\t\t\t\tcanvasLayoutErrorBehavior,\n\t\t\t\tstatePersistenceBehavior,\n\t\t\t\tinternalNavPluginBehavior,\n\t\t\t\taiScreenReaderBehavior,\n\t\t\t\tpageSummarizationBehavior,\n\t\t\t\tdirtyStateHandlerBehavior,\n\t\t\t\t{\n\t\t\t\t\tbehavior: intentTranslatorBehavior,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttranslatorContextId: UXF_PAGE_SUMMARIZATION_SKILL,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t// Conditionally add AI engagement launcher behavior if available\n\t\t\t\t...(aiEngagementLauncherBehavior\n\t\t\t\t\t? [{ behavior: aiEngagementLauncherBehavior }]\n\t\t\t\t\t: []),\n\t\t\t],\n\t\t\tinitialState: {\n\t\t\t\t/**\n\t\t\t\t * Inform the router to display confirmation dialog\n\t\t\t\t * when navigation occurs on pop-state.\n\t\t\t\t */\n\t\t\t\tconfirmPopStateNavigationContext: {\n\t\t\t\t\tconfirmPopStateNavigation: false,\n\t\t\t\t\tactiveScreenKey: '',\n\t\t\t\t},\n\t\t\t},\n\t\t\tactionHandlers: {\n\t\t\t\t...appShellRootActionHandlers,\n\t\t\t},\n\t\t},\n\t);\n}\n","export * from './sn-canvas-root';\nexport * from './sn-canvas-appshell-root';\nimport { setRouterId, setAppShellRootId } from './utils/propWiring';\n\nlet appShellRootId;\nlet routerComponentId;\nwindow.__uxrWiredProps = [];\nexport const wireExpProps = (host, expShellComponentId) => {\n\tconst srcComponentId = expShellComponentId || routerComponentId;\n\tif (!srcComponentId) return;\n\tconst rootId = host.getAttribute('component-id');\n\twindow.__uxrWiredProps = [...window.__uxrWiredProps, rootId];\n\tconst snCanvasLayout = host.querySelector('sn-canvas-layout');\n\tconst snCanvasMain = host.querySelector('sn-canvas-main');\n\n\tconst routeConfigBinding = expShellComponentId\n\t\t? `@${expShellComponentId}/routeConfig`\n\t\t: `@${routerComponentId}/routerConfig`;\n\n\tif (snCanvasLayout) {\n\t\tsnCanvasLayout.routeConfig = routeConfigBinding;\n\t\tsnCanvasLayout.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tif (expShellComponentId)\n\t\t\tsnCanvasLayout.screensToCloseQueue = `@${expShellComponentId}/screensToCloseQueue`;\n\t}\n\n\tif (snCanvasMain) {\n\t\tsnCanvasMain.routeConfig = routeConfigBinding;\n\t\tsnCanvasMain.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasMain.persistedState = `@${appShellRootId}/persistedStateForMain`;\n\t\tif (snCanvasLayout) {\n\t\t\tconst _componentId = snCanvasLayout.getAttribute('component-id');\n\t\t\t// bind experienceId to sn-canvas-experience-shell instead of sn-canvas-layout when possible\n\t\t\t// the reason is that sn-canvas-layout/experienceId is set by the exp macroponent ELEMENT_BINDING\n\t\t\t// but when sn-canvas-main starts rendering sn-canvas-screen, the exp macroponent is not yet rendered,\n\t\t\t// makes the sn-canvas-layout/experienceId undefined yet.\n\t\t\tsnCanvasMain.experienceId = expShellComponentId ? `@${expShellComponentId}/experienceId` : `@${_componentId}/experienceId`;\n\t\t\tsnCanvasMain.screenStatus = `@${_componentId}/screenStatus`;\n\t\t\tsnCanvasMain.activityLogs = `@${_componentId}/activityLogs`;\n\t\t\tsnCanvasMain.closedNavigationIds = `@${_componentId}/closedNavigationIds`;\n\t\t\tsnCanvasMain.screensToCloseQueue = `@${_componentId}/screensToCloseQueue`;\n\t\t}\n\t}\n};\n\nexport const wireAppProps = (host) => {\n\trouterComponentId = host?.shadowRoot\n\t\t?.querySelector('sn-canvas-router')\n\t\t?.getAttribute('component-id');\n\tappShellRootId = host?.getAttribute('component-id');\n\n\tif(!routerComponentId)\n\t\treturn;\n\n\tsetRouterId(routerComponentId);\n\tsetAppShellRootId(appShellRootId);\n\n\tconst appshellLayout = host.querySelector('sn-canvas-appshell-layout');\n\tconst appshellMain = host.querySelector('sn-canvas-appshell-main');\n\tif (appshellLayout) {\n\t\tappshellLayout.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellLayout.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tappshellLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tappshellLayout.clientInfo = `@${appShellRootId}/clientInfo`;\n\t}\n\n\tif (appshellMain) {\n\t\tappshellMain.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellMain.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tif (appshellLayout) {\n\t\t\tconst layoutComponentId = appshellLayout.getAttribute(\n\t\t\t\t'component-id',\n\t\t\t);\n\t\t\tappshellMain.selectedContentMap = `@${layoutComponentId}/selectedContentMap`;\n\t\t\tappshellMain.experiencesData = `@${layoutComponentId}/experiencesData`;\n\t\t}\n\n\t\tconst experienceShell = appshellMain.shadowRoot.querySelector('sn-canvas-experience-shell');\n\t\tif(experienceShell){\n\t\t\tconst path = ux_globals.siteName;\n\n\t\t\tif(experienceShell.children.length > 0){\n\t\t\t\tconst experienceMcp = experienceShell.children[0];\n\t\t\t\tif(experienceMcp){\n\t\t\t\t\tconst experienceConfig =  ux_globals.experienceConfigs[`${path}`];\n\t\t\t\t\texperienceMcp.appId = experienceConfig.experienceId;\n\t\t\t\t\texperienceMcp.nowUxfAppConfigSysId = experienceConfig?.pageSettings?.sysId || experienceConfig.appConfigId;\n\t\t\t\t\texperienceMcp.isCanvasExperienceShell = true;\n\t\t\t\t\tconst expRoot = experienceMcp.shadowRoot.querySelector('sn-canvas-root');\n\t\t\t\t\twireExpProps(expRoot, experienceShell.getAttribute('component-id'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (window.__serverSideRendered) {\n\tconst rootMcp = document.querySelector('[macroponent-namespace]');\n\tif(rootMcp && rootMcp.tagName.indexOf('MACROPONENT-') === 0){\n\t\trootMcp.userSessionInfo = ux_globals.session;\n\t\tconst appshellRoot = rootMcp.shadowRoot.querySelector('sn-canvas-appshell-root');\n\t\tif(appshellRoot)\n\t\t\twireAppProps(appshellRoot);\n\t\telse{\n\t\t\tconst expRoot = rootMcp.shadowRoot.querySelector('sn-canvas-root');\n\t\t\tif(expRoot)\n\t\t\t\twireExpProps(expRoot);\n\t\t}\n\t}\n}","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_blank=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":503,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-declarative-actions/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","target","arguments","source","key","prototype","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","o","defineProperty","enumerable","get","obj","prop","r","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","DA_WRAPPED_CLICKED","UXF_INTERNAL_EVENT_META","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","chain","curry","difference","find","forEach","forOwn","has","isArray","isEmpty","isEqual","isFunction","isNull","isObject","isString","mapValues","merge","pick","replace","set","startCase","take","relayDAUpdates","host","daRelayPropName","actions","_host$shadowRoot$quer","items","shadowRoot","querySelector","assignedNodes","getDynamicEvaluatedDAs","declarativeActions","reduce","acc","currentValue","children","da","action","filter","dynamicEvaluationEnabled","assignmentId","evaluateDynamicConditions","context","daSysIds","values","payload","previousValue","dispatch","state","dynamicConditionResults","properties","modelData","parentTable","parentRecordSysId","conditions","table","recordSysIdsToReEvaluate","runDynamicCondition","recordSysIds","affectedRecordSysIds","selectedRecords","updateDeclarativeActions","getDynamicConditionsState","updateState","listRefresh","cellUpdatedOn","editedRecords","getRecordsToEvaluate","keys","isDirty","daSysId","isDAEnabled","every","recSysId","daToUpdate","enabled","dynamicConditionCompletedEffect","_ref","newConditionResults","stateConditionResultsArr","conditionResult","recData","recordResults","rec","recordSysId","stateConditionResults","selectAllRecords","selectedRecordsToEffect","runDynamicConditionsEffect","variableList","successActionType","errorActionType","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","markTypes","DEFAULT_MARK_TYPE","TYPE","EVENT_NAME","EVENT_ORIGIN_EVENT_NAME_MAP","getEventName","model","listType","eventOriginNode","meta","event","composedPath","nodeName","ex","console","warn","coeffects","markLevel","markType","eventName","details","actionDispatch","name","label","fieldName","referenceTable","tableName","dispatchedAction","fieldTable","sysId","type","track","level","COMPONENT_PROPERTY_CHANGED","COMPONENT_DOM_TREE_READY","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED","DECLARATIVE_ACTION","DECLARATIVE_ACTION_UPDATE_RENDER","DECLARATIVE_ACTION_EXECUTE_ACTION","DECLARATIVE_ACTION_CANCEL_ACTION","DECLARATIVE_ACTION_CLOSE_MODAL","DECLARATIVE_ACTION_SCRIPT_START","DECLARATIVE_ACTION_SCRIPT_SUCCESS","DECLARATIVE_ACTION_SCRIPT_FAILED","DECLARATIVE_ACTION_OPEN_LINK","HTTP_ERROR_OCCURRED","VALUE_CHANGED","SERVER_SCRIPT_API_BODY_PARAMS","consolidateModel","fieldsParams","fields","isNewRecord","dispatchActionByType","actionType","actionPayload","shouldWrapAction","wrapped_action_name","wrapped_payload","wrapped_action_type","sourceCorrelationId","createHttpData","sysparm_table","data","actionName","clientScript","getDispatcher","shouldAppendActionEvent","createActionEvent","_ref2","metaKey","actionEvent","addToPayload","dispatchNotifications","sessionNotifications","notifications","allNotifications","_ref3","text","message","effect","confirmationRequired","trackUxMetrics","displayConfirmation","stopPropagation","_ref5","payloadAction","isDefined","actionComponent","customElements","updatingState","Date","now","async","componentTag","then","names","loadComponent","loadedComponents","_ref6","_ref7","method","headers","queryParams","pathParams","dataParam","_ref8","stateAction","redirect","record","sys_id","query","type_metadata","parent_table","parent_sys_id","_ref9","_ref10","_ref11","url","window","open","_ref4","onValueChange","shouldEvaluateDynamicConditions","dynamicConditionsState","handlePropertyChanged","_ref12","_ref13","error","errors","_ref14","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__","COMPONENT_BOOTSTRAPPED","itemSelectedAction","treePickerItemSelectedAction","treePickerModalCloseAction","treePickerModalAddAction","FETCH_TREE_PICKER","FETCH_TREE_PICKER_SUCCESS","FETCH_TREE_PICKER_FAILURE","COMPONENT_LOAD_REQUESTED","COMPONENT_LOAD_SUCCEEDED","COMPONENT_LOAD_FAILED","closeModalEffect","active","selectedItems","display_value_list","referenceKey","newPayload","displayValue","additionalInfo","referenceSysId","itemSelectedTransform","fieldType","operation","index","indexOf","start","deleteCount","path","serializedChanges","encodedRecord","dictionary","attributes","attributeValue","field","serialized_changes","encoded_record","tagName","fetchingTreePicker","isTreePicker","config","domainSeparation","treePickerConfig","domainId","createComponentLoaderEffect","componentLoading","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","t","getScrollOffset","pageXOffset","pageYOffset","document","compatMode","documentElement","scrollTop","body","handleEscape","e","opened","offset","setTimeout","removeAttribute","scrollTo","unfreezeBody","freezeStyle","overflowY","position","top","left","width","style","freezeBody","variant","tooltipContent","bare","clickActionType","renderer","snabbdom","view","componentId","ignoreDepAsRefQual","ignoreReferenceQualifier","dependentField","chars","isSupported","isGlideList","displayFooter","footerActions","isLoading","getContainerClass","prefix","baseClass","props","containerClass","Modal","size","className","select","dependentValue","targetValue","queryString","refTableName","renderModalContent","initialState","referenceQualifier","styles","actionHandlers","daWrappedClickedBehavior","options","predicate","aliases","uxfMeta","permitCorrelationIdMismatch","alias","opers","ANYTHING","BETWEEN","vals","split","evalGreaterThanOrEquals","evalLessThanOrEquals","ISEMPTY","evalIsEmpty","EMPTYSTRING","evalEmptyString","ENDSWITH","String","endsWith","evalEquals","IN","evalIn","LIKE","evalLike","ISNOTEMPTY","SAMEAS","evalSameAs","NSAMEAS","STARTSWITH","startsWith","GT_FIELD","LT_FIELD","GT_OR_EQUALS_FIELD","LT_OR_EQUALS_FIELD","evaluateConditions","modelConditions","groupByNewQuery","term","groupByAnd","some","terms","operator","evalScriptedClientConditions","scriptedClientCond","scopeVariableNames","scopeVariableValues","scopingFunction","Function","newQuery","or","includes","val","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","getInteractionId","mark","interpolationRegex","arrayIndexRegex","ZERO_COUNT_REGEX","evaluate","modelEvaluator","substitute","string","parsedString","exec","matchedString","modelField","lastIndex","str","isInterpolation","trim","replacement","recursiveEvaluation","evaluator","Array","objectValue","evaluateAction","tooltip","actionAttributes","payloadMap","scriptedClientCondition","ariaLabel","mergedPayload","constructPayload","payloadTemplate","_","resolvePayloadPath","variable","condition","jsonParse","jsonString","JSON","parse","parseStringProperties","unparsedPayload","unparsedAttributes","parsedPayload","parsedAttributes","formatZeroCountString","test","transformActions","metricsData","accumulator","recordSelectionRequired","newAction","parsedAction","evaluatedAction","count","metadata","nowId","interactionId","sort","action1","action2","order","transformer","evaluateOnly","evaluateAndKeep","ACTION_CONFIG","ACTION_CONFIG_ID","ASSIGNMENT_ID","ACTION_DISPATCH","ARRAY","BOOLEAN","CONTEXT_VARS","UXF_CLIENT_ACTION","ERROR_PREFIX","ERROR_ACTION_PAYLOAD","ERROR_TYPE_INVALID","EVAM","BOARD","EVENT","FIELD","FIELD_TYPE","FORM","ID","LABEL","LIST","MODEL","META_DATA","NAME","NUMBER","OBJECT","PAYLOAD","PROPERTIES","RELATED_LIST","SCHEMA","STRING","VALUE","CATALOG_WIZARD","SUPPORTED_MODELS_TYPES","MODELS","getTypeFromValue","getNameAndLabel","getEventStructure","buildObject","isEventProps","typeMetadata","schema","v","getPropMetadata","buildList","arr","buildEventDefinitions","Error","buildApplicability","modelType","contractGenerator","evaluateRequired","evaluateModelType","daApplicability","dispatchedEventDefs","show","buttons","createButtons","confirmationMessage","SNDeclarativeMediator","isUIComponent","ActionComponent","hoist","deepCompare","dispatches","ADD_NOTIFICATIONS","REFRESH_REQUESTED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","createPreSourceBehavior","getBehaviorProp","preWsConfigSysId","OPEN_FRAME_KEY","openFrameBehavior","transform","getActionsByKey","nth","HACKY_GLOBAL_DEPENDENCY_MAP","CTI","behaviors","openFrameConfig","canRenderAction","formData","requiresValue","requiresExistingRecord","requiresWritable","readonly","dependency","DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL","DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS","DECLARATIVE_ACTION_FETCH_FIELD_ERROR","fetchActionsEffect","updateProperties","actionsFromDatasource","Action","oldIconToNDSIcon","search","phone","animateIcon","icon","getIcon","iconProp","animatedIcon","preventDefault","resolvedActions","cappedActions","evaluatedActions","componentName","fetchDeclarativeActions","wsConfigSysId","createData","workspaceConfigId","classicForm","isClassicForm","SNDeclarativeFieldAction","__TECTONIC__$devsnc_sn_declarative_actions"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.scss","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.scss","webpack:///./src/field/field-renderer/view.scss?5fc8","webpack:///./src/reference-search/view.scss?ee0b","webpack:///@babel/runtime/7.18.9/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/common/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/mediator/dynamicConditionsUtil.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/utils/uxMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/actions.js","webpack:///@devsnc/sn-declarative-actions/src/utils/dynamicLoad.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-component-loader/26.0.21/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/reference-search/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/modal-wrapper/index.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/index.js","webpack:///@devsnc/sn-declarative-actions/src/behaviors/daWrappedClickedBehavior/index.js","webpack:///@devsnc/sn-declarative-actions/src/common/conditionEvaluator.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/common/transformActions.js","webpack:///@devsnc/sn-declarative-actions/src/utils/uiMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/common/contractGenerator.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/actions.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/index.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/index.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/behaviors.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/utils.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/index.js","webpack:///@devsnc/sn-declarative-actions/src/field/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/index.js","webpack:///@devsnc/sn-declarative-actions/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".list-container{height:424px}.tree-container{height:424px;position:relative}.loader-container{align-items:center;display:flex;height:424px;justify-content:center;width:100%}.multi{height:422px}.with-footer{height:350px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","export const DA_WRAPPED_CLICKED = 'DA_WRAPPED_CLICKED';\nexport const UXF_INTERNAL_EVENT_META = '__uxfMetaInternalOnlyDoNotUse';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"chain\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t\t} else if ('chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chain || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t}, [\"curry\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t\t} else if ('curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.curry || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t}, [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNull\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNull' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNull;\n\t\t\t\t\t} else if ('isNull' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNull || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNull;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"replace\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'replace' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].replace;\n\t\t\t\t\t} else if ('replace' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.replace || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].replace;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"startCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'startCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].startCase;\n\t\t\t\t\t} else if ('startCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.startCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].startCase;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t} });","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {difference, find, get, has, isEmpty, isEqual, merge} from 'lodash';\n\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\n/**\n * Method to pass down Dynamically Evaluated Declarative Actions to slotted children\n * using a property name [daRelayPropName] configured\n *\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n * @param {Object} actions Updated Dynamically Evaluated Declarative Actions\n */\nexport const relayDAUpdates = (host, daRelayPropName, actions) => {\n\tif (daRelayPropName) {\n\t\tconst items = host.shadowRoot.querySelector('slot')?.assignedNodes() || [];\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tfor (const item of items) {\n\t\t\titem[daRelayPropName] = actions;\n\t\t}\n\t}\n};\n\n/**\n * Returns a list of DA sysIds where dynamicEvaluationEnabled is true\n * @param {Array} declarativeActions\n * @returns Array\n */\nexport const getDynamicEvaluatedDAs = declarativeActions => {\n\treturn declarativeActions\n\t\t.reduce((acc, currentValue) => {\n\t\t\treturn acc.concat(currentValue.children);\n\t\t}, [])\n\t\t.map(da => da.action)\n\t\t.filter(da => da.dynamicEvaluationEnabled)\n\t\t.map(da => da.assignmentId);\n};\n\nexport const handlePropertyChanged = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\tproperties,\n\t\thost\n\t} = context;\n\n\tif (\n\t\t(name === 'modelData' || name === 'declarativeActions') &&\n\t\tvalue &&\n\t\t!isEqual(value, previousValue)\n\t) {\n\t\tconst {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {daRelayPropName}\n\t\t} = properties;\n\n\t\tconst dynamicConditionsState = getDynamicConditionsState(context);\n\t\tif (isEmpty(dynamicConditionsState)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (name === 'declarativeActions' && isEmpty(declarativeActions)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get All dynamicEvaluation Enabled DA\n\t\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t\t// Evaluate only dynamicEvaluation Enabled DA\n\t\tif (!daSysIds.length) {\n\t\t\t//handle list table change with no dynamicEval DA\n\t\t\t//update the child of mediator with new DA info\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t\treturn;\n\t\t}\n\n\t\tevaluateDynamicConditions(context, daSysIds, dynamicConditionsState);\n\t}\n};\n\nconst evaluateDynamicConditions = (context, daSysIds, values) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tstate: {dynamicConditionResults = {}},\n\t\tproperties: {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {parentTable, parentRecordSysId, conditions, table, daRelayPropName}\n\t\t},\n\t\thost\n\t} = context;\n\n\tconst {recordSysIdsToReEvaluate, runDynamicCondition} = values;\n\tif (runDynamicCondition) {\n\t\t// Re-Evaluate the conditions again for the DA's against the new Records\n\t\tdispatch(DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS, {\n\t\t\tdaSysIds, // we send all da's that have dynamicEvaluationEnabled for evaluation\n\t\t\trecordSysIds: recordSysIdsToReEvaluate,\n\t\t\ttable,\n\t\t\tparentTable,\n\t\t\tparentRecordSysId,\n\t\t\tconditions // use conditions only for \"Select All\" case\n\t\t});\n\t\treturn;\n\t}\n\tif (isEmpty(dynamicConditionResults) && isEmpty(previousValue)) {\n\t\t//handle list table change with dynamicEval DA when No record selected (no gql fired)\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\treturn;\n\t}\n\t//handle pagination & count updates on list\n\tlet {affectedRecordSysIds} = values;\n\tif (!affectedRecordSysIds.length) affectedRecordSysIds = value.selectedRecords || [];\n\t// No need for Re-Evaluation, use the cached data in state to calculate DA state\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\taffectedRecordSysIds,\n\t\tdynamicConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst getDynamicConditionsState = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tproperties: {\n\t\t\tmodelData: {recordSysIds = []}\n\t\t},\n\t\tstate: {dynamicConditionResults = {}},\n\t\tupdateState\n\t} = context;\n\n\tlet recordSysIdsToReEvaluate = [];\n\tlet affectedRecordSysIds = [];\n\tlet runDynamicCondition = false;\n\n\tif (\n\t\t!isEmpty(previousValue) &&\n\t\t(!isEqual(value.parentTable, previousValue.parentTable) ||\n\t\t\t!isEqual(value.parentRecordSysId, previousValue.parentRecordSysId) ||\n\t\t\t!isEqual(value.table, previousValue.table) ||\n\t\t\t!isEqual(value.recordSysIds, previousValue.recordSysIds))\n\t) {\n\t\t//ignore unwanted props\n\t\treturn {};\n\t} else if (!isEqual(value.listRefresh, previousValue.listRefresh)) {\n\t\t// Clear dynamic condition result cache when list is refreshed\n\t\tupdateState({dynamicConditionResults: {}});\n\t\treturn {};\n\t} else if (!isEqual(value.conditions, previousValue.conditions)) {\n\t\trunDynamicCondition = true;\n\t} else if (\n\t\tvalue.cellUpdatedOn &&\n\t\tvalue.editedRecords &&\n\t\t!isEqual(value.cellUpdatedOn, previousValue.cellUpdatedOn) &&\n\t\tvalue.editedRecords.length\n\t) {\n\t\t//handle inline edit\n\t\t//note if the same record is being updated again we get the same sysIds in editedRecords\n\t\t//so we use cellUpdatedOn in combination\n\t\taffectedRecordSysIds = value.editedRecords || [];\n\t\trecordSysIdsToReEvaluate = affectedRecordSysIds;\n\t\trunDynamicCondition = recordSysIdsToReEvaluate.length;\n\t} else if (!isEqual(value.selectedRecords, previousValue.selectedRecords)) {\n\t\t// NoInlineEdit - get all records not in state\n\n\t\taffectedRecordSysIds = value.selectedRecords || [];\n\t\t//dynamicConditionResults is Object of objects\n\t\t//Object<{[dasysID]:{[recordSysId]:boolean}}>\n\t\t//each of the objects [one per DA] will contain the same set of recordSysIds\n\t\t//we need only one object from that to get a list of recordSysIds\n\t\t//so we use Object.keys to get one object and then find the difference\n\t\trecordSysIdsToReEvaluate = getRecordsToEvaluate(recordSysIds, dynamicConditionResults);\n\t\trunDynamicCondition = affectedRecordSysIds.length && recordSysIdsToReEvaluate.length;\n\t}\n\n\treturn {recordSysIdsToReEvaluate, affectedRecordSysIds, runDynamicCondition};\n};\n\nexport const getRecordsToEvaluate = (recordSysIds, dynamicConditionResults) => {\n\treturn Object.keys(dynamicConditionResults).length\n\t\t? difference(recordSysIds, Object.keys(find(dynamicConditionResults)))\n\t\t: recordSysIds;\n};\n\n/**\n * Function to add/update the \"enable\" property\n * for all the Dynamic Evaluation Enabled DAs based on its defined Conditions\n * and update the slotted child with the Updated Declarative Actions if any\n *\n * @param {Array.<string>} daSysIds  DynamicEvaluation Enabled Declarative Action SysIds\n * @param {Array.<string>} selectedRecords Selected Record SysIds to run conditions on\n * @param {Object} dynamicConditionResults Dynamically Evaluated DA Results from server\n * @param {Object} declarativeActions Declarative Actions\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n */\nconst updateDeclarativeActions = (\n\tdaSysIds = [],\n\tselectedRecords = [],\n\tdynamicConditionResults,\n\tdeclarativeActions,\n\thost,\n\tdaRelayPropName\n) => {\n\tlet isDirty = false;\n\n\t//Run for each of the Dynamic Evaluation Enabled DA's\n\tdaSysIds.forEach(daSysId => {\n\t\t//check DA - enable or disable\n\t\t//DA has to be disabled if no selected records\n\t\t//fail fast - get out of the loop as soon as we find first false\n\t\tconst isDAEnabled = selectedRecords.length\n\t\t\t? selectedRecords.every(recSysId =>\n\t\t\t\t\tget(dynamicConditionResults, `${daSysId}.${recSysId}`, false)\n\t\t\t  )\n\t\t\t: false;\n\n\t\t//find the DAs to update\n\t\tdeclarativeActions = declarativeActions.map(da => {\n\t\t\treturn {\n\t\t\t\t...da,\n\t\t\t\tchildren: da.children.map(daToUpdate => {\n\t\t\t\t\tif (daToUpdate.id === daSysId) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdaToUpdate.action &&\n\t\t\t\t\t\t\t(!has(daToUpdate.action, 'enabled') ||\n\t\t\t\t\t\t\t\tdaToUpdate.action.enabled !== isDAEnabled)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tisDirty = true;\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...daToUpdate,\n\t\t\t\t\t\t\t\taction: {...daToUpdate.action, enabled: isDAEnabled}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn daToUpdate;\n\t\t\t\t})\n\t\t\t};\n\t\t});\n\t});\n\n\tif (isDirty) {\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t}\n};\n\n/**\n * Function to convert the structure of DA Condition results from GQL to\n * the structure used in the UI\n *\n * @param {Array<{daSysId:string,recordResults:Array<recordSysId:string,result:boolean>}>} results\n * @returns {Array<{[dasysID]:{[recordSysId]:boolean}}>}\n *\n * input daResults\n * [\n *     {\n *         \"daSysId\": \"e217890121fe1910f877aaad21d648c7\",\n *         \"recordResults\": [\n *             {\n *                 \"recordSysId\": \"57af7aec73d423002728660c4cf6a71c\",\n *                 \"result\": false\n *             },\n *             ...more\n *         ]\n *     }\n *     ...more\n * ]\n *\n * output mappedResults\n * [\n *     {\n *         \"e217890121fe1910f877aaad21d648c7\": {\n *             \"57af7aec73d423002728660c4cf6a71c\": false,\n *             \"ed92e8d173d023002728660c4cf6a7bc\": false,\n *             ...more\n *         }\n *     },\n *     ...more\n * ]\n */\nconst mapDynamicConditionResults = results =>\n\tresults.map(conditionResult => {\n\t\tconst recData = conditionResult.recordResults.map(rec => ({\n\t\t\t[rec.recordSysId]: rec.result\n\t\t}));\n\t\t//convert Array<{[recordSysId]: boolean}> to Object<{[recordSysId]: boolean}>\n\t\t//and assign that to a daSysID\n\t\treturn {[conditionResult.daSysId]: Object.assign({}, ...recData)};\n\t});\n\nexport const dynamicConditionCompletedEffect = ({\n\taction,\n\tproperties: {\n\t\tdeclarativeActions,\n\t\tmodelData: {selectedRecords, conditions, daRelayPropName}\n\t},\n\tupdateState,\n\tstate: {dynamicConditionResults},\n\thost\n}) => {\n\tconst newConditionResults = get(\n\t\taction,\n\t\t'payload.data.GlideListDeclarativeActionUtil_Query.getEvaluatedDynamicConditions',\n\t\t[]\n\t);\n\n\t// convert the structure\n\tconst stateConditionResultsArr = mapDynamicConditionResults(newConditionResults);\n\n\t// merge new record data with existing record data in state\n\tconst stateConditionResults = merge(\n\t\tdynamicConditionResults,\n\t\tObject.assign({}, ...stateConditionResultsArr)\n\t);\n\n\tupdateState({dynamicConditionResults: stateConditionResults});\n\n\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t//if conditions is in place, its a List Select All Case\n\t//we get all recordSysIds from the result\n\tconst selectAllRecords = Object.assign({}, ...stateConditionResultsArr);\n\tconst selectedRecordsToEffect =\n\t\tconditions && !selectedRecords.length\n\t\t\t? Object.keys(selectAllRecords).length\n\t\t\t\t? Object.keys(find(selectAllRecords))\n\t\t\t\t: []\n\t\t\t: selectedRecords;\n\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\tselectedRecordsToEffect,\n\t\tstateConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst dynamicConditionQuery = `\nquery snDeclarativeMediator($daSysIds: [String!], $recordSysIds: [String!], $table: String!, $parentTable: String, $parentRecordSysId: String, $conditions: String){\n\tGlideListDeclarativeActionUtil_Query{\n\t\tgetEvaluatedDynamicConditions(daSysIds: $daSysIds, recordSysIds: $recordSysIds, table: $table, \\\nparentTable: $parentTable, parentRecordSysId: $parentRecordSysId, conditions: $conditions) {\n\t\t\tdaSysId,\n\t\t\trecordResults {\n\t\t\t\trecordSysId,\n\t\t\t\tresult\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport const runDynamicConditionsEffect = createGraphQLEffect(dynamicConditionQuery, {\n\tvariableList: [\n\t\t'daSysIds',\n\t\t'recordSysIds',\n\t\t'table',\n\t\t'parentTable',\n\t\t'parentRecordSysId',\n\t\t'conditions'\n\t],\n\tsuccessActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED,\n\terrorActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t}, [\"markTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t\t} else if ('markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.markTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t} });","import {get} from 'lodash';\nimport track, {markTypes} from '@devsnc/ux-metrics';\n\n// Mark level goes from 0 to 5, where higher number the more important.\nexport const DEFAULT_MARK_LEVEL = 4;\n\n// Mark type of the event. Available options: 'all', 'usage', 'performance'\nexport const DEFAULT_MARK_TYPE = markTypes.usage;\n\nconst TYPE = 'Declarative Action';\n\nconst EVENT_NAME = {\n\tFORM: 'Click Form Action',\n\tFIELD: 'Click Field Action',\n\tLIST: 'Click List Action',\n\tRELATED_LIST: 'Click Related List Action',\n\tUNKNOWN: 'Click Declarative Action'\n};\n\nconst EVENT_ORIGIN_EVENT_NAME_MAP = {\n\t'SN-FORM-INTERNAL-UIACTIONBAR': EVENT_NAME.FORM,\n\t'SN-DECLARATIVE-FIELD-ACTION-RENDERER': EVENT_NAME.FIELD\n};\n\n/**\n * Track component's events for UX usage analytics\n * @param {Object} coeffects - Coeffects object containing props such as host, action payload, and action type.\n * @param {Number} [markLevel=4] - Mark level goes from 0 to 5, where higher number the more important.\n * @param {String} [markType=usage] - Mark type of the event. Available options: 'all', 'usage', 'performance'\n */\nconst trackUxMetrics = (\n\tcoeffects,\n\tmarkLevel = DEFAULT_MARK_LEVEL,\n\tmarkType = DEFAULT_MARK_TYPE\n) => {\n\ttry {\n\t\tlet eventName, details;\n\n\t\tif (get(coeffects, 'action.payload.model')) {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch, assignmentId, id, name, label},\n\t\t\t\t\tmodel: {fieldName, referenceTable, table, tableName}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = getEventName(coeffects.action);\n\n\t\t\tdetails = {\n\t\t\t\tdispatchedAction: actionDispatch ? actionDispatch : '',\n\t\t\t\tfieldName: fieldName ? fieldName : '',\n\t\t\t\tfieldTable: referenceTable ? referenceTable : '',\n\t\t\t\tlabel,\n\t\t\t\tname,\n\t\t\t\tsysId: id ? id : assignmentId,\n\t\t\t\ttable: table ? table : tableName,\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t} else {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = actionDispatch;\n\n\t\t\tdetails = {\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t}\n\n\t\ttrack(\n\t\t\tcoeffects,\n\t\t\teventName,\n\t\t\t{\n\t\t\t\t...details\n\t\t\t},\n\t\t\t{\n\t\t\t\tlevel: markLevel,\n\t\t\t\ttype: markType\n\t\t\t}\n\t\t);\n\t} catch (ex) {\n\t\t// not logging the exception to avoid confusing the customers with internal issues.\n\t}\n};\n\nconst getEventName = action => {\n\tconst {\n\t\tpayload: {\n\t\t\tmodel: {listType}\n\t\t}\n\t} = action;\n\n\tif (listType) {\n\t\tif (listType === 'DEFAULT') {\n\t\t\treturn EVENT_NAME.LIST;\n\t\t} else {\n\t\t\treturn EVENT_NAME.RELATED_LIST;\n\t\t}\n\t} else {\n\t\tlet eventOriginNode;\n\t\ttry {\n\t\t\teventOriginNode = action.meta.event.composedPath()[0].nodeName;\n\t\t} catch (ex) {\n\t\t\tconsole.warn(\"Unable to retrieve the event's origin\");\n\t\t}\n\t\treturn get(EVENT_ORIGIN_EVENT_NAME_MAP, eventOriginNode, EVENT_NAME.UNKNOWN);\n\t}\n};\n\nexport default trackUxMetrics;\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../common/constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {\n\tdynamicConditionCompletedEffect,\n\thandlePropertyChanged,\n\trelayDAUpdates,\n\trunDynamicConditionsEffect\n} from './dynamicConditionsUtil';\nimport {get, isArray, isFunction, pick} from 'lodash';\nimport {loadComponent} from '../utils/dynamicLoad';\nimport trackUxMetrics from '../utils/uxMetricsUtils';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_TREE_READY} = actionTypes;\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\nexport const DECLARATIVE_ACTION = 'DECLARATIVE_ACTION';\nexport const DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION_INTERNAL#UPDATE_RENDER';\nexport const DECLARATIVE_ACTION_EXECUTE_ACTION = 'DECLARATIVE_ACTION_INTERNAL#EXECUTE_ACTION';\nexport const DECLARATIVE_ACTION_CANCEL_ACTION = 'DECLARATIVE_ACTION_INTERNAL#CANCEL_ACTION';\nexport const DECLARATIVE_ACTION_CLOSE_MODAL = 'DECLARATIVE_ACTION_INTERNAL#CLOSE_MODAL';\nexport const DECLARATIVE_ACTION_SCRIPT_START = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_START';\nexport const DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_SUCCESS';\nexport const DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_FAILED';\n\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION#SCRIPT_SUCCESS';\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION#SCRIPT_FAILED';\nexport const PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION#UPDATE_RENDER';\nexport const PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED = 'DECLARATIVE_ACTION#REDIRECT_REQUESTED';\n\nexport const DECLARATIVE_ACTION_OPEN_LINK = 'DECLARATIVE_ACTION#OPEN_LINK';\nexport const DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED =\n\t'DECLARATIVE_ACTION#CLIENT_SCRIPT_EXECUTION_REQUESTED';\nconst HTTP_ERROR_OCCURRED = 'HTTP_ERROR_OCCURRED';\n\nexport const VALUE_CHANGED = 'VALUE_CHANGED';\nexport const ACTION_COMPONENT = 'action_component';\nexport const DISPATCH_ACTION = 'dispatch_action';\nexport const CLIENT_SCRIPT = 'client_script';\nexport const SERVER_SCRIPT = 'server_script';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nconst SERVER_SCRIPT_API = '/api/now/ui/declarative_action/:assignmentId';\nconst SERVER_SCRIPT_API_PATH_PARAMS = ['assignmentId'];\nconst SERVER_SCRIPT_API_QUERY_PARAMS = ['sysparm_table'];\nconst SERVER_SCRIPT_API_BODY_PARAMS = [\n\t'sysId',\n\t'sysIds',\n\t'fields',\n\t'encodedRecord',\n\t'query',\n\t'selectionQuery',\n\t'parentTable',\n\t'parentRecordSysId'\n];\n\n// Field model doesn't have sysId field\nconst consolidateModel = model => {\n\tlet fieldsParams = {};\n\tlet fields = get(model, 'fields');\n\tif (fields) {\n\t\tif (!isArray(fields)) fields = Object.values(fields); //DA action executor needs fields in array different than our related items and side panel\n\t\tfieldsParams = {fields};\n\t}\n\n\treturn {\n\t\t...model,\n\t\tsysId: model.isNewRecord ? '-1' : model.sysId || model.recordSysId,\n\t\t...fieldsParams\n\t};\n};\n\nconst createHttpData = (action, model) => ({\n\tassignmentId: action.assignmentId,\n\tsysparm_table: model.table || model.tableName,\n\tdata: pick(consolidateModel(model), SERVER_SCRIPT_API_BODY_PARAMS)\n});\n\n// dispatches an action with the necessary payload to execute the action\n// This function assumes the user has already confirmed the action if confirmation\n// is required. TODO: Refactor to handle ACTION_COMPONENT without needing to do a double render\nconst dispatchActionByType = (dispatch, action, model, properties) => {\n\tconst {actionType, actionDispatch, actionPayload, assignmentId} = action;\n\tconst {shouldWrapAction = false} = properties;\n\n\tif (actionType === DISPATCH_ACTION || actionType === UXF_CLIENT_ACTION) {\n\t\tif (!shouldWrapAction) {\n\t\t\tdispatch(actionDispatch, actionPayload);\n\t\t} else {\n\t\t\tdispatch(\n\t\t\t\tDA_WRAPPED_CLICKED,\n\t\t\t\t{\n\t\t\t\t\twrapped_action_name: actionDispatch,\n\t\t\t\t\twrapped_payload: actionPayload,\n\t\t\t\t\twrapped_action_type: actionType\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {\n\t\t\t\t\t\tsourceCorrelationId: assignmentId\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else if (actionType === SERVER_SCRIPT) {\n\t\tdispatch(DECLARATIVE_ACTION_SCRIPT_START, createHttpData(action, model));\n\t} else if (actionType === CLIENT_SCRIPT) {\n\t\tconst {actionName, assignmentId, clientScript} = action;\n\t\tdispatch(DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED, {\n\t\t\tactionName,\n\t\t\tassignmentId,\n\t\t\tclientScript,\n\t\t\tmodel\n\t\t});\n\t}\n};\n\nconst getDispatcher = ({action, properties, dispatch}) => {\n\tconst {shouldAppendActionEvent} = properties;\n\tif (!shouldAppendActionEvent) return dispatch;\n\tconst createActionEvent = ({type, target, metaKey}) => {\n\t\treturn {type, target, metaKey};\n\t};\n\tconst {\n\t\tmeta: {actionEvent = createActionEvent(action.meta.event)}\n\t} = action;\n\tconst addToPayload = (name, payload) =>\n\t\tname === DA_WRAPPED_CLICKED\n\t\t\t? {\n\t\t\t\t\t...payload,\n\t\t\t\t\twrapped_payload: {\n\t\t\t\t\t\t...payload.wrapped_payload,\n\t\t\t\t\t\tactionEvent\n\t\t\t\t\t}\n\t\t\t  }\n\t\t\t: {...payload, actionEvent};\n\treturn (name, payload, meta) => dispatch(name, addToPayload(name, payload), meta);\n};\n\nexport const mediator = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {model, action}\n\t\t},\n\t\tproperties\n\t} = coeffects;\n\tconst {confirmationRequired} = action;\n\n\ttrackUxMetrics(coeffects);\n\tconst dispatch = getDispatcher(coeffects);\n\n\tif (!confirmationRequired) dispatchActionByType(dispatch, action, model, properties);\n\n\tdispatch(DECLARATIVE_ACTION_UPDATE_RENDER, {\n\t\tmodel,\n\t\taction,\n\t\tdisplayConfirmation: confirmationRequired\n\t});\n};\n\nconst dispatchNotifications = (dispatch, sessionNotifications = []) => {\n\tif (!sessionNotifications.length) return;\n\n\tconst notifications = sessionNotifications.reduce((allNotifications, {type, text}) => {\n\t\tif (!text) return allNotifications;\n\n\t\treturn [\n\t\t\t...allNotifications,\n\t\t\t{\n\t\t\t\ttype,\n\t\t\t\tmessage: text\n\t\t\t}\n\t\t];\n\t}, []);\n\tif (notifications.length)\n\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\tnotifications\n\t\t});\n};\n\n// Handler for DAs that may update the field value.\n// The component author would dispatch `VALUE_CHANGED`.\n// Uses the onValueChange passed by form (Section.js)\n// Ultimately it will invoke formData.setValue(...)\n// Payload must include: name, value, displayValue\n// This is specific to field declarative actions\nexport const updateFormFieldValue = ({action: {payload}, state}) => {\n\tconst {model} = state;\n\tconst {onValueChange} = model;\n\n\tif (!isFunction(onValueChange)) return;\n\n\tonValueChange({\n\t\t...payload,\n\t\tname: payload.name || model.name\n\t});\n};\n\nexport default {\n\t[DECLARATIVE_ACTION]: {\n\t\teffect: mediator,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_UPDATE_RENDER]: {\n\t\teffect: ({updateState, action, dispatch}) => {\n\t\t\tconst {action: payloadAction, model, displayConfirmation} = action.payload;\n\t\t\tconst isDefined =\n\t\t\t\t!payloadAction.actionComponent ||\n\t\t\t\tpayloadAction.actionComponent === 'sn-declarative-reference-search' ||\n\t\t\t\tcustomElements.get(payloadAction.actionComponent);\n\t\t\tconst updatingState = {\n\t\t\t\taction: payloadAction,\n\t\t\t\tmodel,\n\t\t\t\tdisplayConfirmation,\n\t\t\t\tkey: Date.now() // key is Date.now() because we need to the author's component to re-render always\n\t\t\t};\n\t\t\tif (isDefined) {\n\t\t\t\tupdateState(updatingState);\n\t\t\t} else {\n\t\t\t\tloadComponent(payloadAction.actionComponent).then(loadedComponents => {\n\t\t\t\t\tupdateState(updatingState);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_EXECUTE_ACTION]: {\n\t\teffect: ({state: {action, model}, dispatch, properties}) =>\n\t\t\tdispatchActionByType(dispatch, action, model, properties),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CANCEL_ACTION]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\taction: null,\n\t\t\t\tmodel: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_START]: {\n\t\t...createHttpEffect(SERVER_SCRIPT_API, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {'X-WantSessionNotificationMessages': true},\n\t\t\tqueryParams: SERVER_SCRIPT_API_QUERY_PARAMS,\n\t\t\tpathParams: SERVER_SCRIPT_API_PATH_PARAMS,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: DECLARATIVE_ACTION_SCRIPT_SUCCESS,\n\t\t\terrorActionType: DECLARATIVE_ACTION_SCRIPT_FAILED\n\t\t}),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_SUCCESS]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tconst {redirect, record} = get(action, 'payload.result', {});\n\t\t\tif (redirect) {\n\t\t\t\tif (redirect.type !== 'TABLE') {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn('Unhandled redirect type', redirect);\n\t\t\t\t}\n\n\t\t\t\tconst {table, sys_id, query} = redirect.type_metadata;\n\t\t\t\tconst {table: parent_table, sys_id: parent_sys_id} = record || {};\n\n\t\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED, {\n\t\t\t\t\ttable,\n\t\t\t\t\tsys_id,\n\t\t\t\t\t...(query\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tquery\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_table\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_table\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_sys_id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_sys_id\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {})\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch('REFRESH_REQUESTED');\n\n\t\t\tconst sessionNotifications = get(action, 'payload.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_FAILED]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tlet message = get(action, 'payload.data.error.message', '');\n\t\t\tif (!message) {\n\t\t\t\tconst result = get(action, 'payload.data.result', {});\n\t\t\t\tconst sysId = Object.keys(result)[0];\n\t\t\t\tmessage = get(result, `${sysId}.resultBody.error.message`, '');\n\t\t\t}\n\n\t\t\tif (message)\n\t\t\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\t\t\tnotifications: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\tmessage\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t});\n\n\t\t\tconst sessionNotifications = get(action, 'payload.data.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CLOSE_MODAL]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tdisplayConfirmation: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_OPEN_LINK]: {\n\t\teffect: ({action}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {url}\n\t\t\t} = action;\n\n\t\t\tif (url) window.open(url, '_blank');\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[VALUE_CHANGED]: {\n\t\teffect: updateFormFieldValue,\n\t\tstopPropagation: true\n\t},\n\t// seismic dispatch Standard action dispatched on HTTP errors from the server, and canvas will handle it and display a standard error modal.\n\t// We don't want that since our call should be handled in component and we already show session message\n\t[HTTP_ERROR_OCCURRED]: {\n\t\teffect: () => {},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: context => {\n\t\tconst {\n\t\t\tproperties: {shouldEvaluateDynamicConditions = false}\n\t\t} = context;\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\thandlePropertyChanged(context);\n\t\t}\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS]: {\n\t\t...runDynamicConditionsEffect,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState,\n\t\tstate,\n\t\thost\n\t}) => {\n\t\tdynamicConditionCompletedEffect({action, dispatch, properties, updateState, state, host});\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED]: ({action}) => {\n\t\tconsole.error('Running Dynamic Conditions Failed', action.payload.errors);\n\t},\n\t[COMPONENT_DOM_TREE_READY]: ({\n\t\thost,\n\t\tproperties: {\n\t\t\tmodelData = {},\n\t\t\tdeclarativeActions = [],\n\t\t\tshouldEvaluateDynamicConditions = false\n\t\t}\n\t}) => {\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\t//update the child of mediator with new DA info\n\t\t\tconst {daRelayPropName = ''} = modelData;\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t}\n\t}\n};\n","import {getComponentsByTagNames} from '@devsnc/library-uxf';\n\n/*\n * Downloads a single component tag\n */\nexport const loadComponent = async componentTag => {\n\tif (!componentTag) return undefined;\n\treturn getComponentsByTagNames([componentTag]).then(names => {\n\t\treturn names;\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t} });","import {VALUE_CHANGED} from '../mediator/actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst itemSelectedAction = 'NOW_RECORD_LIST_CONNECTED#ROW_CLICKED';\nconst treePickerItemSelectedAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nconst treePickerModalCloseAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst treePickerModalAddAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\nconst FETCH_TREE_PICKER = 'FETCH_TREE_PICKER';\nconst FETCH_TREE_PICKER_SUCCESS = 'FETCH_TREE_PICKER_SUCCESS';\nconst FETCH_TREE_PICKER_FAILURE = 'FETCH_TREE_PICKER_FAILURE';\nconst TREE_PICKER_CONFIG_DATA_PATH = 'data.GlideLayout_Query.treePickerConfigQuery.treePicker';\nconst DOMAIN_SEPARATION_DATA_PATH = 'data.GlideLayout_Query.formLayout.domainSeparation';\n\nconst COMPONENT_LOAD_REQUESTED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_REQUESTED';\nconst COMPONENT_LOAD_SUCCEEDED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_SUCCEEDED';\nconst COMPONENT_LOAD_FAILED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_FAILED';\n\nexport const itemSelectedTransform = ({action, dispatch, state}) => {\n\tconst {referenceKey} = state.properties;\n\tconst value = referenceKey\n\t\t? get(action, 'payload.row.referenceKeyValue.value')\n\t\t: get(action, 'payload.row.sys_id.value');\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue,\n\t\tdisplayValue: get(action, 'payload.row.displayValue.value', ''),\n\t\tadditionalInfo: {referenceSysId: get(action, 'payload.row.sys_id.value')}\n\t};\n\tdispatch(VALUE_CHANGED, newPayload);\n};\n\nexport const treePickerItemSelectedTransform = ({action, dispatch, state, updateState}) => {\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: get(action, 'payload.value', ''),\n\t\tdisplayValue: get(action, 'payload.displayValue', '')\n\t};\n\tif (state.properties.fieldType !== 'glide_list') {\n\t\tdispatch(VALUE_CHANGED, newPayload);\n\t\tdispatch(treePickerModalCloseAction);\n\t} else {\n\t\tconst operation = {\n\t\t\toperation: 'push'\n\t\t};\n\t\tconst isSelected = get(action, 'payload.isSelected', true);\n\t\tif (!isSelected) {\n\t\t\tconst index = state.selectedItems.value.indexOf(newPayload.value);\n\t\t\tif (index === -1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tObject.assign(operation, {operation: 'splice', start: index, deleteCount: 1});\n\t\t}\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.value',\n\t\t\t\tvalue: get(action, 'payload.value', ''),\n\t\t\t\t...operation\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.display_value_list',\n\t\t\t\tvalue: get(action, 'payload.displayValue', ''),\n\t\t\t\t...operation\n\t\t\t}\n\t\t]);\n\t}\n};\n\nexport const addSelectedItemsEffect = ({dispatch, state}) => {\n\tconst {selectedItems} = state;\n\tif (selectedItems.value.length === 0) {\n\t\tdispatch(treePickerModalCloseAction);\n\t\treturn;\n\t}\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: selectedItems.value.join(','),\n\t\tdisplayValue: selectedItems.display_value_list\n\t};\n\n\tdispatch(VALUE_CHANGED, newPayload);\n\tdispatch(treePickerModalCloseAction);\n};\n\nconst closeModalEffect = ({updateState}) => {\n\tupdateState({\n\t\tactive: false,\n\t\tselectedItems: {value: [], display_value_list: []}\n\t});\n};\n\nconst treePickerQuery = `\nquery ($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  \tGlideLayout_Query {\n\t\ttreePickerConfigQuery(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n\t\t\ttreePicker {\n\t\t\t\tisSupported\n\t\t\t\tprocessor\n\t\t\t\ttable\n\t\t\t\ttargetField\n\t\t\t\ttargetValue\n\t\t\t\ttargetPath\n\t\t\t\tqueryString\n\t\t\t}\n\t\t}\n\t\tformLayout(table: $table, sysId: $sys_id) {\n\t\t\tdomainSeparation {\n\t\t\t\tdomainId\n\t\t\t}\n\t\t}\n  \t}\n}\n`;\n\nexport const handleComponentBootstrapped = ({\n\tproperties: {fieldName, tableName, recordSysId, serializedChanges, encodedRecord, dictionary},\n\tdispatch,\n\tupdateState\n}) => {\n\tconst attributes = get(dictionary, 'attributes', []);\n\tconst attributeValue = find(attributes, a => a.name === 'tree_picker');\n\tconst isTreePicker = attributeValue === undefined ? false : attributeValue.value === 'true';\n\n\t// if tree_picker attribute is configured to true, determine tree picker is supported or not.\n\tif (isTreePicker) {\n\t\tconst payload = {\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tsys_id: recordSysId,\n\t\t\tserialized_changes: serializedChanges,\n\t\t\tencoded_record: encodedRecord\n\t\t};\n\t\tdispatch(FETCH_TREE_PICKER, payload, {stopPropagation: true});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'sn-record-content-tree-connected'});\n\t} else {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\tisTreePicker: false\n\t\t});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'now-record-list-connected-reference'});\n\t}\n};\n\nexport default {\n\t[itemSelectedAction]: {\n\t\teffect: coeffects => {\n\t\t\titemSelectedTransform(coeffects);\n\t\t\tcloseModalEffect(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[treePickerItemSelectedAction]: {\n\t\teffect: treePickerItemSelectedTransform,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalCloseAction]: {\n\t\teffect: closeModalEffect,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalAddAction]: {\n\t\teffect: addSelectedItemsEffect,\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': closeModalEffect,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[FETCH_TREE_PICKER]: createGraphQLEffect(treePickerQuery, {\n\t\tvariableList: ['table', 'field', 'sys_id', 'serialized_changes', 'encoded_record'],\n\t\tsuccessActionType: FETCH_TREE_PICKER_SUCCESS,\n\t\terrorActionType: FETCH_TREE_PICKER_FAILURE\n\t}),\n\t[FETCH_TREE_PICKER_SUCCESS]: ({updateState, action}) => {\n\t\tconst {payload} = action;\n\t\tif (payload.errors.length < 1) {\n\t\t\tconst config = get(payload, TREE_PICKER_CONFIG_DATA_PATH);\n\t\t\tconst domainSeparation = get(payload, DOMAIN_SEPARATION_DATA_PATH);\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: config,\n\t\t\t\tdomainId: domainSeparation ? domainSeparation.domainId : null\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: {}\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_TREE_PICKER_FAILURE]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\ttreePickerConfig: {}\n\t\t});\n\t},\n\t[COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\tsuccessActionType: COMPONENT_LOAD_SUCCEEDED,\n\t\terrorActionType: COMPONENT_LOAD_FAILED\n\t}),\n\t[COMPONENT_LOAD_SUCCEEDED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_FAILED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tconsole.error('Failed to load component');\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-modal';\n\nconst getScrollOffset = function() {\n\tif (window.pageXOffset !== undefined) return window.pageYOffset;\n\tconst isCSS1Compat = (document.compatMode || '') === 'CSS1Compat';\n\treturn isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n};\n\nconst freezeBody = function(offset = 0) {\n\tconst freezeStyle = {\n\t\toverflowY: 'hidden',\n\t\tposition: 'fixed',\n\t\ttop: `-${offset}px`,\n\t\tleft: '0px',\n\t\twidth: '100%'\n\t};\n\tObject.assign(document.body.style, freezeStyle);\n};\n\nconst unfreezeBody = function(offset = 0) {\n\tsetTimeout(() => {\n\t\tdocument.body.removeAttribute('style');\n\t\twindow.scrollTo(0, offset);\n\t}, 10);\n};\n\nconst handleEscape = e => {\n\tif (e.key === 'Escape') {\n\t\te.stopPropagation();\n\t}\n};\n\nexport default (properties, children) => {\n\tif (!properties.opened) {\n\t\tunfreezeBody(getScrollOffset());\n\t}\n\n\tfreezeBody(getScrollOffset());\n\n\treturn (\n\t\t<now-modal {...properties} on-keydown={handleEscape} manage-opened>\n\t\t\t{children}\n\t\t<\/now-modal>\n\t);\n};\n","import '@servicenow/now-loader';\nimport {t} from 'sn-translate';\nimport Modal from '../modal-wrapper';\n\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\n\nconst actions = [\n\t{\n\t\tlabel: t('Close'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Close'),\n\t\tbare: true,\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION\n\t},\n\t{\n\t\tlabel: t('Add'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Add'),\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION\n\t}\n];\n\nconst renderModalContent = props => {\n\tconst {\n\t\tfieldName,\n\t\treferenceTable,\n\t\ttableName,\n\t\ttreePickerConfig,\n\t\tcontainerClass,\n\t\tdependentField,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreReferenceQualifier,\n\t\tignoreDepAsRefQual,\n\t\treferenceKey,\n\t\tchars\n\t} = props;\n\tconst select = isGlideList ? 'multi' : 'single';\n\treturn (\n\t\t<div className={containerClass}>\n\t\t\t{treePickerConfig.isSupported ? (\n\t\t\t\t<sn-record-content-tree-connected\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\treferenceTable={referenceTable}\n\t\t\t\t\tdependentField={dependentField}\n\t\t\t\t\tdependentValue={treePickerConfig.targetValue}\n\t\t\t\t\ttreePickerConfig={treePickerConfig}\n\t\t\t\t\tdomainId={domainId}\n\t\t\t\t\tquery={treePickerConfig.queryString}\n\t\t\t\t\tselect={select}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-record-list-connected-reference\n\t\t\t\t\tcomponent-id={`${componentId}_modal_refList`}\n\t\t\t\t\tchars={chars || '**'}\n\t\t\t\t\tignore-ref-qual={ignoreReferenceQualifier}\n\t\t\t\t\tlist-title={label}\n\t\t\t\t\trecord-sys-id={recordSysId}\n\t\t\t\t\tfield={fieldName}\n\t\t\t\t\ttable={tableName}\n\t\t\t\t\tserializedChanges={serializedChanges}\n\t\t\t\t\tencodedRecord={encodedRecord}\n\t\t\t\t\tignoreDepAsRefQual={ignoreDepAsRefQual}\n\t\t\t\t\trefTableName={referenceTable}\n\t\t\t\t\treferenceKey={referenceKey}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default ({\n\tproperties: {\n\t\tfieldName,\n\t\ttableName,\n\t\trecordSysId,\n\t\tlabel,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tcomponentId,\n\t\treferenceTable,\n\t\tignoreDepAsRefQual = false,\n\t\tignoreReferenceQualifier = false,\n\t\tdependentField,\n\t\tfieldType,\n\t\treferenceKey,\n\t\tchars\n\t},\n\tactive,\n\tcomponentLoading,\n\tfetchingTreePicker,\n\ttreePickerConfig,\n\tdomainId\n}) => {\n\tconst {isSupported: isTreePicker} = treePickerConfig;\n\tconst isGlideList = fieldType === 'glide_list';\n\tconst displayFooter = isTreePicker && isGlideList;\n\tconst footerActions = displayFooter ? actions : undefined;\n\tconst isLoading = fetchingTreePicker || componentLoading;\n\n\tconst getContainerClass = prefix => {\n\t\tconst baseClass = `${prefix}-container`;\n\t\tif (displayFooter) return `${baseClass} with-footer`;\n\t\tif (isGlideList) return `${baseClass} multi`;\n\t\treturn baseClass;\n\t};\n\n\tconst props = {\n\t\tfieldName,\n\t\ttableName,\n\t\treferenceTable,\n\t\tdependentField,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreDepAsRefQual,\n\t\tignoreReferenceQualifier,\n\t\treferenceKey,\n\t\tchars,\n\t\ttreePickerConfig,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcontainerClass: isTreePicker ? getContainerClass('tree') : 'list-container'\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\topened={active}\n\t\t\tsize=\"lg\"\n\t\t\theader-label={label}\n\t\t\tcomponent-id={`${componentId}_modal`}\n\t\t\tfooterActions={footerActions}>\n\t\t\t{isLoading ? (\n\t\t\t\t<div className={getContainerClass('loader')}>\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\trenderModalContent(props)\n\t\t\t)}\n\t\t<\/Modal>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport style from './view.scss';\nimport view from './view';\n\nexport const SNDeclarativeReferenceSearchElement = 'sn-declarative-reference-search';\n\ncreateCustomElement(SNDeclarativeReferenceSearchElement, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tactive: true,\n\t\tfetchingTreePicker: true,\n\t\tcomponentLoading: true,\n\t\ttreePickerConfig: {},\n\t\tselectedItems: {value: [], display_value_list: []}\n\t},\n\tproperties: {\n\t\tfieldName: '',\n\t\ttableName: '',\n\t\trecordSysId: '',\n\t\tlabel: '',\n\t\tserializedChanges: '',\n\t\tencodedRecord: '',\n\t\tcontext: '',\n\t\tchars: '',\n\t\tcomponentId: '',\n\t\treferenceTable: '',\n\t\tignoreReferenceQualifier: '',\n\t\tignoreDepAsRefQual: '',\n\t\tdictionary: {},\n\t\tdependentField: '',\n\t\tdependentValue: '',\n\t\treferenceQualifier: '',\n\t\treferenceKey: '',\n\t\tfieldType: ''\n\t},\n\tstyles: style,\n\tactionHandlers\n});\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../../common/constants';\nimport isFunction from 'lodash/isFunction';\nconst BEHAVIOR_NAME = 'daWrappedClickedBehavior';\n\nconst actionHandlers = {\n\t[DA_WRAPPED_CLICKED]: ({action, dispatch}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\twrapped_action_name: actionName = '',\n\t\t\t\twrapped_payload: actionPayload = {},\n\t\t\t\toptions: {predicate, aliases = []} = {}\n\t\t\t} = {},\n\t\t\tmeta: {[UXF_INTERNAL_EVENT_META]: uxfMeta = {}} = {}\n\t\t} = action;\n\n\t\tif (actionName && (!isFunction(predicate) || predicate(action))) {\n\t\t\tdispatch(actionName, actionPayload, {\n\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t});\n\n\t\t\taliases.forEach(alias => {\n\t\t\t\tdispatch(alias, actionPayload, {\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const daWrappedClickedBehavior = {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers\n};\n","import {isEmpty} from 'lodash';\n\nconst opers = {\n\tANYTHING: () => true,\n\tBETWEEN: evalBetween,\n\tISEMPTY: evalIsEmpty,\n\tEMPTYSTRING: evalEmptyString,\n\tENDSWITH: evalEndsWith,\n\t'=': evalEquals,\n\t'>': evalGreaterThan,\n\t'>=': evalGreaterThanOrEquals,\n\tIN: evalIn,\n\t'NOT IN': evalNotIn,\n\tLIKE: evalLike,\n\t'<': evalLessThan,\n\t'<=': evalLessThanOrEquals,\n\tISNOTEMPTY: evalIsNotEmpty,\n\t'!=': evalNotEquals,\n\t'NOT LIKE': evalNotLike,\n\tSAMEAS: evalSameAs,\n\tNSAMEAS: evalNotSameAs,\n\tSTARTSWITH: evalStartsWith,\n\tGT_FIELD: evalGreaterThanField,\n\tLT_FIELD: evalLessThanField,\n\tGT_OR_EQUALS_FIELD: evalGreaterThanOrEqualsField,\n\tLT_OR_EQUALS_FIELD: evalLessThanOrEqualsField\n};\n\n/**\n * Given an `action` and a `model`, the `evaluateConditions`\n * function will return `true` if the conditions on the action\n * evaluate to `true`, and `false` otherwise. Currently only\n * the operators for the `boolean`, `string`, and `integer` types\n * are supported.\n *\n * Queries have the structure:\n *\n * [ (A OR B) AND (B OR C) ]\n *\n * OR (newQuery)\n *\n * [ (D OR E) AND (F OR G) ]\n *\n * The terms are evaluated as follows:\n * * The terms are grouped according to the `newQuery` flag.\n * * The terms within each of these groups are grouped according to the `or` flag.\n * * The `some` - `every` - `some` logic evaluates the OR (newQuery) - AND - OR boolean structure of the query\n *\n * @param {object} action\n * @param {object} model\n *\n * */\nexport const evaluateConditions = (modelConditions, model) => {\n\tif (!modelConditions || modelConditions.length === 0) return true;\n\n\treturn modelConditions\n\t\t.reduce(groupByNewQuery, [])\n\t\t.map(term => term.reduce(groupByAnd, []))\n\t\t.some(terms =>\n\t\t\tterms.every(terms =>\n\t\t\t\tterms.some(({field, operator, value}) => {\n\t\t\t\t\tif (field == null && value == null) return true;\n\t\t\t\t\treturn opers[operator](field, value, model);\n\t\t\t\t})\n\t\t\t)\n\t\t);\n};\n\nexport const evalScriptedClientConditions = (scriptedClientCond, model = {}) => {\n\tif (isEmpty(scriptedClientCond) || isEmpty(model)) return true;\n\n\tconst scopeVariableNames = Object.keys(model) || [];\n\tconst scopeVariableValues = scopeVariableNames.map(key => model[key]);\n\tlet result = true;\n\n\ttry {\n\t\tconst scopingFunction = new Function(scopeVariableNames, `return (${scriptedClientCond});`);\n\t\tresult = scopingFunction.apply(scopingFunction, scopeVariableValues);\n\t} catch (e) {\n\t\tconsole.error('Declarative Action scripted client condition expression evaluation failed');\n\t\tconsole.error(e);\n\t}\n\treturn result;\n};\n\n/**\n * The `groupBy*` functions operate over a list of query terms\n * and transform it into a list of arrays, with each array being\n * a group of terms separated by the operator specified.\n *\n * @param {array} conditions\n * @param {object} model\n *\n * @example\n *\n * const conditions =\n * [\n *  { newQuery: false, or: false },\n *  { newQuery: false, or: true  },\n *  { newQuery: true,  or: false ),\n *  { newQuery: false, or: false }\n * ];\n *\n * console.log(conditions.reduce(groupByNewQuery, []));\n * output:\n * [\n *  [\n *    { newQuery: false, or: false },\n *    { newQuery: false, or: true  }\n *  ],\n *  [\n *    { newQuery: true,  or: false },\n *    { newQuery: false, or: false }\n *  ]\n * ]\n * */\nfunction groupByNewQuery(conditions, term, i) {\n\tconst {newQuery} = term;\n\tif (newQuery || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\nfunction groupByAnd(conditions, term, i) {\n\tconst {or} = term;\n\tif (!or || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\n/* General operators */\nfunction evalEquals(field, value, model) {\n\treturn String(model[field]) === String(value);\n}\n\nfunction evalNotEquals(field, value, model) {\n\treturn !evalEquals(field, value, model);\n}\n\nfunction evalSameAs(field, value, model) {\n\treturn model[field] === model[value];\n}\n\nfunction evalNotSameAs(field, value, model) {\n\treturn !evalSameAs(field, value, model);\n}\n\nfunction evalIsEmpty(field, value, model) {\n\treturn evalEmptyString(field, value, model);\n}\n\nfunction evalIsNotEmpty(field, value, model) {\n\treturn !evalIsEmpty(field, value, model);\n}\n\n/* String operators */\nfunction evalStartsWith(field, value, model) {\n\treturn String(model[field]).startsWith(String(value));\n}\n\nfunction evalEndsWith(field, value, model) {\n\treturn String(model[field]).endsWith(String(value));\n}\n\nfunction evalLike(field, value, model) {\n\treturn String(model[field]).includes(String(value));\n}\n\nfunction evalNotLike(field, value, model) {\n\treturn !evalLike(field, value, model);\n}\n\nfunction evalEmptyString(field, value, model) {\n\treturn model[field] === '' || model[field] === null;\n}\n\nfunction evalIn(field, value, model) {\n\treturn String(value)\n\t\t.split(',')\n\t\t.some(val => evalEquals(field, val, model));\n}\n\nfunction evalNotIn(field, value, model) {\n\treturn !evalIn(field, value, model);\n}\n\n/* Integer/String operators */\nfunction evalGreaterThan(field, value, model) {\n\treturn model[field] > value;\n}\n\nfunction evalGreaterThanOrEquals(field, value, model) {\n\treturn model[field] >= value;\n}\n\nfunction evalLessThan(field, value, model) {\n\treturn model[field] < value;\n}\n\nfunction evalLessThanOrEquals(field, value, model) {\n\treturn model[field] <= value;\n}\n\nfunction evalBetween(field, value, model) {\n\tconst vals = value.split('@');\n\treturn (\n\t\tevalGreaterThanOrEquals(field, vals[0], model) &&\n\t\tevalLessThanOrEquals(field, vals[1], model)\n\t);\n}\n\n/* Integer operators */\nfunction evalGreaterThanField(field, value, model) {\n\treturn model[field] > model[value];\n}\n\nfunction evalLessThanField(field, value, model) {\n\treturn model[field] < model[value];\n}\n\nfunction evalGreaterThanOrEqualsField(field, value, model) {\n\treturn model[field] >= model[value];\n}\n\nfunction evalLessThanOrEqualsField(field, value, model) {\n\treturn model[field] <= model[value];\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","import {\n\tcurry,\n\tforEach,\n\tget,\n\tisArray,\n\tisEmpty,\n\tisFunction,\n\tisObject,\n\tisString,\n\tmap,\n\tmapValues,\n\treplace,\n\tset\n} from 'lodash';\nimport {evalScriptedClientConditions, evaluateConditions} from './conditionEvaluator';\nimport track from '../utils/uiMetricsUtils';\n\n/**\n * For the interpolation regex, we have logic to check for \\u200B\n * The platform sanitizes {{}} with a \\u200B character to prevent angular code from\n * executing on platform form. Ideally this unicode should only be applied\n * for presentational purposes and the value should remain unchanged in the db\n * but that is not the case.\n */\n\nconst interpolationRegex = /{\\u200B?{([\\s\\S]+?)}}/g;\nconst arrayIndexRegex = /@(\\d)@?/g;\nconst ZERO_COUNT_REGEX = /\\(0\\)/;\n\nconst evaluate = model => {\n\tconst modelEvaluator = curry(substitute)(model);\n\n\treturn string => {\n\t\tif (!isString(string) || !isObject(model)) return string;\n\n\t\t// check if string matches interpolation pattern\n\t\tconst parsedString = interpolationRegex.exec(string);\n\t\tconst matchedString = parsedString ? parsedString[0] : null;\n\t\tconst modelField = parsedString ? parsedString[1] : null;\n\n\t\t// reset state of regex for next string\n\t\tinterpolationRegex.lastIndex = 0;\n\n\t\t// if whole string is matched to the regex, return actual value\n\t\t// e.g \"{{displayValueList}}\" => [ \"Abel Tuter\", \"Beth Anglin\" ]\n\t\tif (parsedString && matchedString.length === string.length) {\n\t\t\treturn modelEvaluator(string, modelField, false);\n\t\t}\n\n\t\t// else, return string interpolated value\n\t\t// e.g \"Edit ({{count}})\" => \"Edit (2)\"\n\t\treturn replace(string, interpolationRegex, modelEvaluator);\n\t};\n};\n\nfunction substitute(model, str, field, isInterpolation = true) {\n\tconst key = field.trim();\n\tconst replacement = get(model, key);\n\n\tif (isInterpolation && isObject(replacement) && !isArray(replacement)) return key;\n\tif (replacement !== undefined) return replacement;\n\n\tconst keys = key.split('.');\n\t//if the key is not in model, return original string, otherwise return empty string.\n\treturn keys[0] in model ? '' : str;\n}\n\nconst recursiveEvaluation = (value, evaluator) => {\n\tif (!isFunction(evaluator)) return null;\n\tif (Array.isArray(value)) return map(value, item => recursiveEvaluation(item, evaluator));\n\tif (isObject(value))\n\t\treturn mapValues(value, objectValue => recursiveEvaluation(objectValue, evaluator));\n\n\treturn evaluator(value);\n};\n\n/**\n * For payload mapping we construct a path for nested objects using\n * the `@` character to separate fields\n *\n * Ex: `{ a: { b: { c: 1 }} }` => The path to `c` is `a@b@c`\n * Ex: `{a: [ { b: { c: 1 } }  ] }` => The path to `c` is `a@0@b@c`\n *\n * These paths must be corrected\n * `a@b@c` => `a.b.c`\n * `a@0@b@c` => `a[0].b.c`\n */\nconst resolvePayloadPath = path => {\n\tif (!path) return '';\n\n\tconst arrayIndexReplaced = replace(path, arrayIndexRegex, (_, index) => {\n\t\treturn `[${index}]`;\n\t});\n\n\treturn arrayIndexReplaced.replace(/@/g, '.');\n};\n\nconst evaluateAction = (action, evaluator) => {\n\tif (!isObject(action) || !isFunction(evaluator)) return null;\n\n\t// These are the only fields that support evaluation\n\tconst {\n\t\tlabel,\n\t\ttooltip,\n\t\tactionAttributes,\n\t\tactionPayload,\n\t\tmodelConditions,\n\t\tpayloadMap,\n\t\tscriptedClientCondition,\n\t\tariaLabel = ''\n\t} = action;\n\n\tconst evaluatedVariables = map(payloadMap, variable =>\n\t\trecursiveEvaluation(variable, evaluator)\n\t);\n\n\tconst constructPayload = (payloadTemplate, fields) => {\n\t\tconst payload = {\n\t\t\t...payloadTemplate\n\t\t};\n\n\t\tforEach(fields, ({name, value}) => {\n\t\t\tconst path = resolvePayloadPath(name);\n\t\t\tset(payload, path, value);\n\t\t});\n\n\t\treturn payload;\n\t};\n\n\tconst mergedPayload = constructPayload(actionPayload, evaluatedVariables);\n\n\treturn {\n\t\t...action,\n\t\tlabel: evaluator(label),\n\t\ttooltip: evaluator(tooltip),\n\t\tariaLabel: evaluator(ariaLabel),\n\t\tactionAttributes: recursiveEvaluation(actionAttributes, evaluator),\n\t\tactionPayload: recursiveEvaluation(mergedPayload, evaluator),\n\t\tmodelConditions: map(modelConditions, condition =>\n\t\t\trecursiveEvaluation(condition, evaluator)\n\t\t),\n\t\tscriptedClientCondition: evaluator(scriptedClientCondition)\n\t};\n};\n\n/**\n * Possible performance improvement here is to store the parsed\n * JSON string to stop future calls to JSON.parse()\n */\nconst jsonParse = jsonString => {\n\tif (isObject(jsonString)) return jsonString;\n\tif (!isString(jsonString)) return {};\n\n\ttry {\n\t\treturn JSON.parse(jsonString || '{}');\n\t} catch (e) {\n\t\treturn {\n\t\t\te: `Error parsing: ${jsonString}`\n\t\t};\n\t}\n};\n\nconst parseStringProperties = action => {\n\tconst unparsedPayload = get(action, 'actionPayload', {});\n\tconst unparsedAttributes = get(action, 'actionAttributes', {});\n\n\tconst parsedPayload = jsonParse(unparsedPayload);\n\tconst parsedAttributes = jsonParse(unparsedAttributes);\n\n\treturn {\n\t\t...action,\n\t\tactionPayload: parsedPayload,\n\t\tactionAttributes: parsedAttributes\n\t};\n};\n\nconst formatZeroCountString = str => {\n\tconst hasMatch = ZERO_COUNT_REGEX.test(str);\n\tif (hasMatch) {\n\t\treturn str.replace(ZERO_COUNT_REGEX, '').trim();\n\t} else {\n\t\treturn str;\n\t}\n};\n\nconst transformActions = (actions, model, metricsData) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\tconst {label, tooltip, recordSelectionRequired} = action;\n\t\t\tconst newAction = {\n\t\t\t\t...action,\n\t\t\t\ttooltip: tooltip || label\n\t\t\t};\n\n\t\t\tconst parsedAction = parseStringProperties(newAction);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\tif (recordSelectionRequired && model.count === 0) {\n\t\t\t\t// Handle case of Edit (0) to Edit\n\t\t\t\tevaluatedAction.label = formatZeroCountString(evaluatedAction.label);\n\t\t\t\tevaluatedAction.tooltip = formatZeroCountString(evaluatedAction.tooltip);\n\t\t\t\tevaluatedAction.ariaLabel = formatZeroCountString(evaluatedAction.ariaLabel);\n\t\t\t}\n\n\t\t\tif (metricsData) {\n\t\t\t\tconst {coeffects = {}, eventName = 'transformActions', meta = {}} = metricsData;\n\t\t\t\tmeta.evaluatedAction = evaluatedAction;\n\t\t\t\tmeta.parsedAction = parsedAction;\n\t\t\t\ttrack(coeffects, eventName, meta);\n\t\t\t}\n\t\t\tconst passed =\n\t\t\t\tevaluateConditions(evaluatedAction.modelConditions, model) &&\n\t\t\t\tevalScriptedClientConditions(evaluatedAction.scriptedClientCondition, model);\n\n\t\t\tif (passed) accumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\nconst evaluateAndKeep = (actions, model) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\taction.tooltip = action.tooltip || action.label;\n\n\t\t\tconst parsedAction = parseStringProperties(action);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\taccumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\n/**\n * Given a list of `actions`, `transformer` will return\n * a filtered list of `actions` with `{{}}` syntax evaluated\n * and client conditions applied\n *\n * @param {array} actions\n * @param {object} model\n *\n * @example\n *\n * const model = { value: 'World' };\n * const actions = [\n * {\n * \tname: 'action1',\n * \tlabel: 'Hello {{ value }}!'\n * },\n * {\n * \tname: 'action2',\n * \tlabel: 'Foo {{ value }}',\n * \tconditions: {\n * \t\tvalue: 'bar'\n * \t}\n * }\n * ];\n *\n * const evaluateActions = transformer(action2, model);\n * console.log(evaluatedActions); // => [{ name: 'action1 , label: 'Hello World'}]\n */\nexport const transformer = (actions, model, metricsData) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn transformActions(actions, model, metricsData);\n};\n\nexport const evaluateOnly = (actions, model) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn evaluateAndKeep(actions, model);\n};\n","import {getInteractionId, mark} from '@servicenow/ui-metrics';\n\nexport default function track(coeffects, eventName, metadata = {}) {\n\tconst {\n\t\thost,\n\t\taction: {meta = {}},\n\t\tproperties: {nowId = ''}\n\t} = coeffects;\n\tconst interactionId = getInteractionId(meta) || nowId;\n\tmark(host, interactionId, eventName, metadata, 'performance');\n}\n","import {forOwn, get, isArray, isEmpty, isObject, startCase} from 'lodash';\nimport {t} from 'sn-translate';\n\nexport const ACTION_CONFIG = 'actionConfig';\nexport const ACTION_CONFIG_ID = 'actionConfigId';\nexport const ASSIGNMENT_ID = 'assignmentId';\nexport const ACTION_DISPATCH = 'actionDispatch';\nexport const ARRAY = 'array';\nexport const BOOLEAN = 'boolean';\nexport const CONTEXT_VARS = 'contextVars';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nexport const ERROR_PREFIX = 'DA contractGenerator error: ';\nexport const ERROR_ACTION_PAYLOAD =\n\t'actions have not been passed through transformer to evaluate `{{}}` syntax.';\nexport const ERROR_TYPE_INVALID = 'modelType is invalid or not supported.';\nexport const EVAM = 'EVAM';\nexport const BOARD = 'BOARD';\nexport const EVENT_NAME = 'eventName';\nexport const EVENT = 'event';\nexport const FIELD = 'FIELD';\nexport const FIELD_TYPE = 'fieldType';\nexport const FORM = 'FORM';\nexport const ID = 'id';\nexport const LABEL = 'label';\nexport const LIST = 'LIST';\nexport const MODEL = 'model';\nexport const META_DATA = 'typeMetadata';\nexport const NAME = 'name';\nexport const NUMBER = 'number';\nexport const OBJECT = 'object';\nexport const PAYLOAD = 'payload';\nexport const PROPERTIES = 'properties';\nexport const RELATED_LIST = 'RELATED_LIST';\nexport const SCHEMA = 'schema';\nexport const STRING = 'string';\nexport const TYPE = 'type';\nexport const VALUE = 'value';\nexport const CATALOG_WIZARD = 'CATALOG_WIZARD';\n\nexport const SUPPORTED_MODELS_TYPES = [\n\tBOARD,\n\tEVAM,\n\tFIELD,\n\tFORM,\n\tLIST,\n\tRELATED_LIST,\n\tCATALOG_WIZARD\n];\nexport const MODELS = {\n\t[BOARD]: {\n\t\t[ID]: '45757de50fa52010ad4437a98b767e33',\n\t\t[LABEL]: t('Board Model')\n\t},\n\t[EVAM]: {\n\t\t[ID]: '035d270073151010c342d5fdbdf6a715',\n\t\t[LABEL]: t('EVAM Model')\n\t},\n\t[FIELD]: {\n\t\t[ID]: '15920e6d534723003eddddeeff7b1244',\n\t\t[LABEL]: t('Field Model')\n\t},\n\t[FORM]: {\n\t\t[ID]: '360935e9534723003eddddeeff7b127d',\n\t\t[LABEL]: t('Form Model')\n\t},\n\t[LIST]: {\n\t\t[ID]: 'c3547169534723003eddddeeff7b126c',\n\t\t[LABEL]: t('List Model')\n\t},\n\t[RELATED_LIST]: {\n\t\t[ID]: 'd91731a9534723003eddddeeff7b121c',\n\t\t[LABEL]: t('Related List Model')\n\t},\n\t[CATALOG_WIZARD]: {\n\t\t[ID]: 'e48b12c02d559110f8778479e97d46f0',\n\t\t[LABEL]: t('Catalog Wizard Model')\n\t}\n};\n\nconst getTypeFromValue = value => (isArray(value) ? ARRAY : typeof value);\n\nconst evaluateRequired = (actions = [], model = {}) =>\n\tisEmpty(actions) || isEmpty(actions[0]) || isEmpty(model);\n\nconst evaluateModelType = model =>\n\tisEmpty(model.modelType) || SUPPORTED_MODELS_TYPES.indexOf(model.modelType) === -1\n\t\t? ERROR_TYPE_INVALID\n\t\t: null;\n\nconst getNameAndLabel = key => ({[NAME]: key, [LABEL]: startCase(key)});\n\nconst getEventStructure = (value, key, isObject = false) => ({\n\t...getNameAndLabel(key),\n\t[FIELD_TYPE]: isObject ? 'json' : getTypeFromValue(value),\n\t[META_DATA]: {\n\t\t[SCHEMA]: {\n\t\t\t[TYPE]: getTypeFromValue(value),\n\t\t\t...(isObject && {[PROPERTIES]: {}})\n\t\t}\n\t}\n});\n\nconst getPropMetadata = (value, key) => ({\n\t...getNameAndLabel(key),\n\t[VALUE]: value\n});\n\nconst buildObject = (value, key, isEventProps) => {\n\tif (isEventProps && isObject(value)) {\n\t\tconst event = getEventStructure(value, key, true);\n\t\tconst {\n\t\t\ttypeMetadata: {\n\t\t\t\tschema: {properties}\n\t\t\t}\n\t\t} = event;\n\n\t\tforOwn(value, (v, k) => {\n\t\t\tproperties[k] = buildObject(v, k, isEventProps);\n\t\t});\n\t\treturn event;\n\t}\n\treturn isEventProps ? getEventStructure(value, key) : getPropMetadata(value, key);\n};\n\n/**\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"name\": \"table\",\n *      \"label\": \"Table\",\n *      \"value\": \"incidnet\"\n *    }\n *  ]\n */\nexport const buildList = (obj, isEventProps = false) => {\n\tconst arr = [];\n\tif (isEmpty(obj)) return arr;\n\n\tforOwn(obj, (value, key) => {\n\t\tarr.push(buildObject(value, key, isEventProps));\n\t});\n\treturn arr;\n};\n\n/**\n *\n * @throws {string}\n * @example 'DA contractGenerator error: actions have not\n * been passed through transformer to evaluate `{{}}` syntax.'\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"id\": \"789\",\n *      \"label\": \"Baz Clicked\",\n *      \"eventName\": \"BAZZZZZ_CLICKED\",\n *      \"properties\": [\n *        {\n *          \"name\": \"message\",\n *          \"label\": \"Message\",\n *          \"fieldType\": \"json\",\n *          \"typeMetadata\": {\n *            \"schema\": {}\n *          }\n *        }\n *      ]\n *    }\n *  ]\n *\n */\nexport const buildEventDefinitions = actions => {\n\tconst arr = [];\n\tfor (var action of actions) {\n\t\tconst {actionType, actionPayload} = action;\n\n\t\tif (actionType !== UXF_CLIENT_ACTION) continue;\n\t\tif (getTypeFromValue(actionPayload) === STRING)\n\t\t\tthrow new Error(ERROR_PREFIX + ERROR_ACTION_PAYLOAD);\n\n\t\tarr.push({\n\t\t\t[ID]: get(action, ASSIGNMENT_ID, ''),\n\t\t\t[EVENT_NAME]: get(action, ACTION_DISPATCH, ''),\n\t\t\t[LABEL]: get(action, LABEL, ''),\n\t\t\t[PROPERTIES]: buildList(actionPayload, true)\n\t\t});\n\t}\n\treturn arr;\n};\n\n/**\n *\n * @param {object} model\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"model\": {}\n *    \"actionConfig\": {},\n *    \"contextVars\": []\n *  }\n *\n */\nexport const buildApplicability = model => {\n\treturn {\n\t\t[MODEL]: MODELS[model.modelType],\n\t\t[ACTION_CONFIG]: {[ID]: get(model, ACTION_CONFIG_ID, '')},\n\t\t[CONTEXT_VARS]: buildList(model)\n\t};\n};\n\n/**\n *\n * This generator is necessary for use\n * in providing UIB with the available client actions supported\n * by an action container component.\n *\n * Given a list of transformed `actions`, `contractGenerator`\n * will return an object containing a list of dispatched\n * client event defintions.\n *\n * @param {array} actions\n * @param {object} model (i.e. Fields that exist in container component.)\n *\n * @example\n *\n *  {\n *    \"actionConfigId\": \"\",\n *    \"columns\": \"\",\n *    \"modelType\": \"LIST\",\n *    \"parentRecordSysId\": \"\",\n *    \"parentTable\": \"\",\n *    \"relatedListName\": \"\",\n *    \"table\": \"\",\n *  }\n *\n *\n * @throws {string}\n * @example 'DA contractGenerator error: modelType has not\n * been defined.'\n *\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"daApplicability\": {},\n *    \"dispatchedEventDefs\": []\n *  }\n *\n */\nexport const contractGenerator = (actions, model) => {\n\tif (evaluateRequired(actions, model)) return null;\n\n\tif (!isEmpty(evaluateModelType(model))) throw new Error(ERROR_PREFIX + ERROR_TYPE_INVALID);\n\n\treturn {\n\t\tdaApplicability: buildApplicability(model),\n\t\tdispatchedEventDefs: buildEventDefinitions(actions)\n\t};\n};\n","import {\n\tDECLARATIVE_ACTION_CANCEL_ACTION,\n\tDECLARATIVE_ACTION_CLOSE_MODAL,\n\tDECLARATIVE_ACTION_EXECUTE_ACTION\n} from '../actions';\nimport {get} from 'lodash';\n\nexport default {\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED': ({state, dispatch, action}) => {\n\t\tconst scriptTitle = get(state, 'properties.action.label', '');\n\t\tconst buttonTitle = get(action, 'payload.action.label', 'NOT_A_MATCH');\n\t\tif (scriptTitle === buttonTitle) dispatch(DECLARATIVE_ACTION_EXECUTE_ACTION);\n\t\telse dispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t},\n\t'NOW_MODAL#OPENED_SET': ({dispatch}) => {\n\t\tdispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeConfirmationModal = 'sn-declarative-confirmation-modal';\n\ncreateCustomElement(SNDeclarativeConfirmationModal, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\taction: {},\n\t\tshow: false,\n\t\tcomponentId: ''\n\t},\n\tactionHandlers\n});\n","import {t} from 'sn-translate';\nimport Modal from '../../modal-wrapper';\n\nconst createButtons = action => [\n\t{\n\t\tvariant: 'primary-negative',\n\t\tlabel: action.label || t('Confirm')\n\t},\n\t{\n\t\tvariant: 'secondary',\n\t\tlabel: t('Cancel')\n\t}\n];\n\nexport default ({properties: {show, action, componentId}}) => {\n\tif (!action) return null;\n\n\tconst buttons = createButtons(action);\n\tconst message = action.confirmationMessage ? action.confirmationMessage : t('Execute action');\n\n\treturn (\n\t\t<Modal\n\t\t\tcomponent-id={`${componentId}_confirmation_modal`}\n\t\t\topened={show}\n\t\t\theader-label={t('Confirmation')}\n\t\t\tfooter-actions={buttons}>\n\t\t\t<p>{message}<\/p>\n\t\t<\/Modal>\n\t);\n};\n","import {ACTION_COMPONENT} from './actions';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport './confirmation-modal';\n\nexport default ({model, action, key, displayConfirmation}) => {\n\tconst {actionType, actionComponent, actionAttributes} = action || {};\n\n\tconst isUIComponent = actionType === ACTION_COMPONENT;\n\tconst ActionComponent = actionComponent;\n\tconst props = {\n\t\t...model,\n\t\t...actionAttributes\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<slot />\n\t\t\t{!displayConfirmation && isUIComponent && ActionComponent ? (\n\t\t\t\t<ActionComponent hoist key={key} {...props} model={model} />\n\t\t\t) : null}\n\t\t\t{displayConfirmation ? (\n\t\t\t\t<sn-declarative-confirmation-modal\n\t\t\t\t\taction={action}\n\t\t\t\t\tshow={displayConfirmation}\n\t\t\t\t\thoist\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeMediator = 'sn-declarative-mediator';\n\n/**\n * Helper component which wraps other components which rely on declarative actions\n * The component handles everything related to executing and evaluating conditions of the declarative action\n * dispatched by the slotted component and sending the results back down to the child through props\n *\n * ```jsx\n * <sn-declarative-mediator>\n *\t\t<other-component-which-renders-declarative-action\n *\t\t\t{...properties}\n *\t\t/>\n * <\/sn-declarative-mediator>\n * ```\n *\n * @seismicElement sn-declarative-mediator\n * @summary Helper component which wraps other components which rely on declarative actions\n * and handles execution of the action for the wrapped component\n */\ncreateCustomElement(SNDeclarativeMediator, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\taction: {},\n\t\tmodel: {},\n\t\tkey: null,\n\t\tdisplayConfirmation: false,\n\t\tdynamicConditionResults: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Whether or not it should dispatch a wrapped action with an actual action in a payload for DISPATCH_ACTION and UXF_CLIENT_ACTION type\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldWrapAction: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should work on Dynamic Evaluation for DAs\n\t\t */\n\t\tshouldEvaluateDynamicConditions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should append actionEvent to payload to describe the event triggerring the action\n\t\t * The value of actionEvent comes from either\n\t\t *  1. action.meta.actionEvent\n\t\t *  2. action.meta.event (default)\n\t\t *\n\t\t * actionEvent schema:\n\t\t * \tactionEvent: {\n\t\t * \t\tschema: {\n\t\t * \t\t\ttype: 'object',\n\t\t * \t\t\tproperties: {\n\t\t * \t\t\t\ttarget: {\n\t\t * \t\t\t\t\ttype: 'object',\n\t\t * \t\t\t\t\tdescription: 'a reference to action event's target element'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\ttype: {\n\t\t * \t\t\t\t\ttype: 'string',\n\t\t * \t\t\t\t\tdescription: 'event type'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\tmetaKey: {\n\t\t * \t\t\t\t\ttype: 'boolean',\n\t\t * \t\t\t\t\tdescription: 'indicates whether the meta key was pressed or not when the event occurs'\n\t\t * \t\t\t\t}\n\t\t * \t\t\t}\n\t\t * \t\t}\n\t\t * \t}\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldAppendActionEvent: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * All the Declarative Action SysIds needed to be evaluated\n\t\t * @type {Array.<Object>}\n\t\t */\n\t\tdeclarativeActions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t},\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * List info needed when used in Lists/Related Lists\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * @type {{\n\t\t * model: string,\n\t\t * recordSysIds: Array.<string>,\n\t\t * conditions: string,\n\t\t * selectedRecords: Array.<string>,\n\t\t * editedRecords: Array.<string>,\n\t\t * listRefresh: Object,\n\t\t * daRelayPropName: string,\n\t\t * table: string,\n\t\t * parentTable: string,\n\t\t * parentRecordSysId: string\n\t\t * }}\n\t\t */\n\t\tmodelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Model type list / form\n\t\t\t\t\t * For Future use\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tmodel: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\trecordSysIds: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Filter conditions for the current list.\n\t\t\t\t\t * Used for \"Select All\" use case\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tconditions: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the selected/checked Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\tselectedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the inline Edited Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\teditedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * Flag for inline Edited Records to be evaluated - Timestamp\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tcellUpdatedOn: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Last time the record list was refreshed\n\t\t\t\t\t * @type {{}}\n\t\t\t\t\t */\n\t\t\t\t\tlistRefresh: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: {}\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Child component property name to which the dynamically evaluated Declarative Actions will be passed down.\n\t\t\t\t\t * ex. Used for Enable/Disable DA's based on Record Selection on Lists\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tdaRelayPropName: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\ttable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentTable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Record SysId for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentRecordSysId: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched once the declarative action execution has completed indicating success or failure\n\t\t * @type {AddNotificationsPayload[]}\n\t\t */\n\t\tADD_NOTIFICATIONS: {},\n\t\t/**\n\t\t * Dispatched on successful action execution\n\t\t * @type {object}\n\t\t */\n\t\tREFRESH_REQUESTED: {}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createPreSourceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t\t} else if ('createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.createPreSourceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t}, [\"getBehaviorProp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t\t} else if ('getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getBehaviorProp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t}, [\"preWsConfigSysId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'preWsConfigSysId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].preWsConfigSysId;\n\t\t\t\t\t} else if ('preWsConfigSysId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.preWsConfigSysId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].preWsConfigSysId;\n\t\t\t\t} });","import {createPreSourceBehavior} from 'sn-uxpage-presource';\nimport {get} from 'lodash';\n\nconst OPEN_FRAME = 'sn-component-openframe';\nconst openFrameDataPath = 'data.AppOpenframe_Query';\n\nexport const OPEN_FRAME_KEY = 'openFrameConfig';\nexport const openFrameBehavior = createPreSourceBehavior(OPEN_FRAME, {\n\tname: OPEN_FRAME_KEY,\n\ttransform: data => get(data, openFrameDataPath, null)\n});\n","import {OPEN_FRAME_KEY} from './behaviors';\nimport {chain, get, isEmpty, isFunction, isObject} from 'lodash';\nimport {getBehaviorProp} from 'sn-uxpage-presource';\n\nfunction isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport const getActionsByKey = (actions, fieldType) => {\n\treturn chain(actions)\n\t\t.filter(action => action.field === fieldType)\n\t\t.nth(0)\n\t\t.get('actions', [])\n\t\t.value();\n};\n\n/**\n * Some configuration data (e.g., CTI and current user info) is currently\n * stored globally and not provided as props/in a central Seismic store.\n *\n * This maps known action dependencies (specified in sys_declarative_action\n * table) to a predicate that determines whether or not the action can be\n * rendered.\n */\nconst HACKY_GLOBAL_DEPENDENCY_MAP = {\n\tCTI: behaviors => {\n\t\tconst openFrameConfig = getBehaviorProp({behaviors}, OPEN_FRAME_KEY, {});\n\t\treturn (\n\t\t\tget(openFrameConfig, 'showFrame', 'false') === 'true' &&\n\t\t\tget(openFrameConfig, 'config', null)\n\t\t);\n\t}\n};\n\nexport default function canRenderAction({model, action, formData, behaviors} = {}) {\n\tif (!isObject(action)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresValue && isEmpty(model.value)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresExistingRecord && isObject(formData) && formData.isNewRecord) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresWritable && isAttrTrue(model.readonly)) {\n\t\treturn false;\n\t}\n\n\tif (\n\t\taction.dependency &&\n\t\tisFunction(HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency]) &&\n\t\t!HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency](behaviors)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {get} from 'lodash';\n\nimport {getActionsByKey} from './utils';\n\nexport const DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL = 'DECLARATIVE_ACTION_FETCH_FIELD#GRAPHQL';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS = 'DECLARATIVE_ACTION_FETCH_FIELD#SUCCESS';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_ERROR = 'DECLARATIVE_ACTION_FETCH_FIELD#ERROR';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_PRESOURCE = 'DECLARATIVE_ACTION_FETCH#PRESOURCE';\n\nconst globalActionsDataPath =\n\t'data.GlideDeclarativeActions_Query.GlideDeclarativeActions_fieldQuery.fieldDeclarativeActions.fieldActions';\nconst declarativeFieldActionQuery = `query($tableName: String!, $sysId: String!, $workspaceConfigId: String!) {\n\tGlideDeclarativeActions_Query {\n\t\tGlideDeclarativeActions_fieldQuery {\n\t\t\tfieldDeclarativeActions(table: $tableName, view: \"\", sysId: $sysId, source: \"field\", workspaceConfigId: $workspaceConfigId) {\n\t\t\t\tfieldActions {\n\t\t\t\t\tfield\n\t\t\t\t\tactions {\n\t\t\t\t\t\tname\n\t\t\t\t\t\ticon\n\t\t\t\t\t\tanimateIcon\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\tdependency\n\t\t\t\t\t\trequiresValue\n\t\t\t\t\t\torder\n\t\t\t\t\t\tactionType\n\t\t\t\t\t\tactionComponent\n\t\t\t\t\t\tactionDispatch\n\t\t\t\t\t\tactionPayload\n\t\t\t\t\t\tactionAttributes\n\t\t\t\t\t\tgroupBy\n\t\t\t\t\t\tgroup\n\t\t\t\t\t\tassignmentId\n\t\t\t\t\t\tconfirmationRequired\n\t\t\t\t\t\tconfirmationMessage\n\t\t\t\t\t\ttooltip\n\t\t\t\t\t\tclientScript\n\t\t\t\t\t\tscriptedClientCondition\n\t\t\t\t\t\tmodelConditions {\n\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t\toperator\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\tnewQuery\n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpayloadMap {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}`;\n\nconst fetchActionsEffect = createGraphQLEffect(declarativeFieldActionQuery, {\n\tvariableList: ['tableName', 'sysId', 'workspaceConfigId'],\n\tsuccessActionType: DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS,\n\terrorActionType: DECLARATIVE_ACTION_FETCH_FIELD_ERROR\n});\n\nexport default {\n\t[DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL]: fetchActionsEffect,\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS]: ({updateProperties, state, action}) => {\n\t\tconst {payload, meta} = action;\n\t\tconst {\n\t\t\tproperties: {model}\n\t\t} = state;\n\t\tconst requestTableName = get(meta, 'options.variables.tableName');\n\t\tconst globalResponse = requestTableName === 'global';\n\n\t\tconst key = globalResponse ? model.fieldType : model.fieldName;\n\t\tconst actionsFromDatasource = get(payload, globalActionsDataPath);\n\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: getActionsByKey(actionsFromDatasource, key)\n\t\t});\n\t},\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_ERROR]: ({updateProperties}) => {\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: []\n\t\t});\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-button';\nimport {isEmpty, isNull, map, take} from 'lodash';\nimport {t} from 'sn-translate';\n\nimport canRenderAction from './utils';\n\nimport {transformer} from '../../common/transformActions';\n\nconst AI_ICON = 'ai-sparkle-fill';\n\nexport const Action = ({action, dispatch, model, key}) => {\n\tconst onClick = (e = {}) => {\n\t\te.preventDefault();\n\t\tconst target = e.target;\n\t\tconst {metaKey, type} = e;\n\t\tconst meta = target ? {actionEvent: {metaKey, type, target}} : {};\n\t\tdispatch('DECLARATIVE_ACTION', {action, model}, meta);\n\t};\n\n\tconst oldIconToNDSIcon = {\n\t\tsearch: 'magnifying-glass-outline',\n\t\tphone: 'phone-outline',\n\t\t'info-circle': 'info-circle-outline'\n\t};\n\n\tconst getIcon = icon => oldIconToNDSIcon[icon] || icon;\n\n\tconst {label, tooltip, animateIcon = false} = action;\n\n\tconst icon = getIcon(action.icon);\n\tlet iconProp = {};\n\n\tif (icon === AI_ICON && animateIcon) {\n\t\ticonProp = {animatedIcon: icon};\n\t} else {\n\t\ticonProp = {icon};\n\t}\n\n\treturn (\n\t\t<now-button-iconic\n\t\t\t{...(key ? {key} : {})}\n\t\t\tbare\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': tooltip || label,\n\t\t\t\t'aria-description': model.displayValue\n\t\t\t\t\t? t('{0} field : {1}', model.label, model.displayValue)\n\t\t\t\t\t: t('{0} field', model.label)\n\t\t\t}}\n\t\t\t{...iconProp}\n\t\t\ton-click={onClick}\n\t\t\tsize=\"sm\"\n\t\t\ttooltip-content={tooltip}\n\t\t\tvariant=\"tertiary\"\n\t\t/>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {behaviors, componentId, properties} = state;\n\tconst {model, actions, actionsFromDatasource, formData} = properties;\n\n\tconst resolvedActions =\n\t\tisNull(actions) && !isEmpty(actionsFromDatasource) ? actionsFromDatasource : actions;\n\n\tconst cappedActions = take(resolvedActions, 3);\n\tconst metricsData = {\n\t\tcoeffects: {\n\t\t\thost: {\n\t\t\t\tcomponentId,\n\t\t\t\tcomponentName: 'sn-declarative-field-action-renderer'\n\t\t\t},\n\t\t\taction: {},\n\t\t\tproperties\n\t\t},\n\t\teventName: 'FIELD-RENDERER#VIEW_RENDER',\n\t\tmeta: {\n\t\t\tmodel\n\t\t}\n\t};\n\tconst evaluatedActions = transformer(cappedActions, model, metricsData);\n\treturn map(evaluatedActions, action => {\n\t\tif (!canRenderAction({model, action, formData, behaviors})) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Action key={action.name} model={model} action={action} dispatch={dispatch} />;\n\t});\n};\n\nexport default view;\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport {isNull, isString} from 'lodash';\nimport {preWsConfigSysId} from 'sn-uxpage-presource';\n\nimport {openFrameBehavior} from './behaviors';\nimport actionHandlers, {DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL} from './actions';\nimport styles from './view.scss';\nimport view from './view';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst createData = (model, wsConfigSysId) => {\n\tconst {tableName = 'global', recordSysId: sysId = '-1'} = model;\n\tconst workspaceConfigId = isString(wsConfigSysId) ? wsConfigSysId : '-1';\n\n\treturn {\n\t\ttableName,\n\t\tsysId,\n\t\tworkspaceConfigId\n\t};\n};\n\nexport {default as canRenderFieldAction} from './utils';\nexport const SNDeclarativeFieldActionRenderer = 'sn-declarative-field-action-renderer';\n\ncreateCustomElement(SNDeclarativeFieldActionRenderer, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactionsFromDatasource: {\n\t\t\tdefault: null\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [openFrameBehavior, preWsConfigSysId],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch, properties, state}) => {\n\t\t\t\tconst {actions, model, fetchDeclarativeActions} = properties;\n\t\t\t\tconst {wsConfigSysId} = state.behaviors;\n\n\t\t\t\t// we can possibly move this type of logic into a behavior\n\t\t\t\tif (isNull(actions) && fetchDeclarativeActions)\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL,\n\t\t\t\t\t\tcreateData(model, wsConfigSysId)\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t...actionHandlers\n\t}\n});\n","import '../mediator';\nimport './field-renderer';\n\nexport function isClassicForm(formData = {}) {\n\t// Just doing this for now to unblock us. Will clean up later\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (!formData.hasOwnProperty('classicForm')) return true;\n\treturn formData.classicForm || false;\n}\n\nconst view = ({properties}) => {\n\tconst {formData} = properties;\n\tconst classicForm = isClassicForm(formData);\n\n\treturn (\n\t\t<sn-declarative-mediator\n\t\t\tshould-wrap-action={!classicForm}\n\t\t\tshould-append-action-event={!classicForm}>\n\t\t\t<sn-declarative-field-action-renderer {...properties} />\n\t\t<\/sn-declarative-mediator>\n\t);\n};\n\nexport default view;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\n\nexport {default as canRenderFieldAction} from './field-renderer/utils';\nexport const SNDeclarativeFieldAction = 'sn-declarative-field-action';\n\ncreateCustomElement(SNDeclarativeFieldAction, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_declarative_actions=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":527,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-list-selector/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","AVAILABLE_DATA_POPULATE_MODE","VIEW_TYPES","compact","twoPanels","dotWalk","SELECTED_ITEMS_ID_SEPARATOR","AVAILABLE_CONTENT","code","message","NO_AVAILABLE_LABEL","FETCH_FIELD_ERROR","SELECTED_COLUMNS_DEFAULT_TEXT","AVAILABLE_COLUMNS_DEFAULT_TEXT","ITEM_SELECTED","SELECTED_ITEM_SET","REMOVE_NEW_SELECTED_ITEMS_REQUESTED","FETCH_DATA","FETCH_DATA_SUCCESS","FETCH_DATA_FAILURE","FETCH_VARIABLES_DATA","FETCH_VARIABLES_DATA_SUCCESS","FETCH_VARIABLES_DATA_FAILURE","METRIC_ACTIONS","DOT_WALK_TABLE_CONFIG_FETCH_FAILED","DOT_WALK_TABLE_CONFIG_FETCH_STARTED","DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED","QUESTIONS","generateSelectedItemObject","ids","labels","locked","label","generateAvailableItemsSelectedObject","selectedItems","availableItemsSelected","availableItemsLocked","forEach","path","split","convertSelectedItemsToStateFormat","items","itemsPath","_itemsPath","convertSingleSelectedItemToEventFormat","itemPath","idsArr","labelArr","index","convertSelectedItemsToEventFormat","convertedSelectedItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","availablePanelsChangedHandler","coeffects","action","payload","openItems","updateState","state","availableItems","availableItemsRoot","referenceSource","availableOpenPanels","itemId","reference","availableLeftPanel","availableItemsPath","availableRightPanel","initializeFetchData","tableName","dispatch","referenceFieldTableName","getNumberOfPanels","host","viewType","width","getBoundingClientRect","currentViewType","resizeHandler","properties","numberOfPanels","setTimeout","registerResizeEvent","resizeObserver","mainRef","handler","unobserve","current","newResizeObserver","ResizeObserver","observe","operation","shouldRender","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","createRef","setInitialStateHandler","mode","itemsRoot","keys","selectedBucketItems","renderVariables","moreVariablesAvailable","openTabId","liveUpdateText","showResetWarning","newlySelectedItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","dispatchErrorMessage","errorMessage","error","type","compareByDisplayValue","b","displayValue","toLocaleLowerCase","fetchEffect","variableList","successActionType","errorActionType","fetchVariablesEffect","fetchTableMetadata","fetchVariablesFailureEffect","_ref2","ARROW_LEFT","ARROW_RIGHT","ENTER","ESCAPE","SPACE","CTRL_A","SHIFT","_isMac","test","navigator","userAgent","isCtrl","event","metaKey","ctrlKey","normalizeKey","isSpaceBar","isEscape","isCtrlA","scrollIntoView","element","scrollIntoViewIfNeeded","stopPropagation","toggleFocus","selectedIndexes","lastSelectedIndex","newSelectedIndexes","itemAlreadySelected","includes","filter","shiftKey","shiftSelectionHandler","startIndex","Math","min","endIndex","max","currentTarget","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","flow","isEmpty","negate","noop","property","getElement","ref","focus","style","offsetWidth","scrollWidth","handleDragOver","dragging","preventDefault","handleDragEnter","dragOverIndex","dragItemIndex","dataTransfer","dropEffect","position","total","handleDragStart","effectAllowed","display","reorderItems","sourceIndex","targetIndex","isValidIndex","reorderedItems","splice","handleDrop","name","handleDragEnd","handleFocus","listRef","previouslyFocused","querySelectorAll","elm","classList","remove","activeElement","shadowRoot","focusElement","closest","add","keyHandlersForDraggingState","Map","handleDragCancel","propertyMatchesEvent","_ref","target","matchesEvent","removeRefMatchesEvent","itemRefMatchesEvent","keyHandlers","every","findIndex","focusAll","handleKeyDown","handlers","has","shouldDisplayLabel","tooltip","targetRef","dragIconFocusHandler","REMOVE_ROW","REMOVE_MULTIPLE_ROWS","REMOVE_SELECTED_FIELD_ACTION","SELECTED_CONTENT","NO_SELECTION_LABEL","isRTL","document","dir","renderItems","autoScrollToNewItems","disableReorder","newItems","newlyAdded","isSelected","onItemUpdate","_ref3","scrollToNewItem","onLabelUpdate","isTooltipRefReady","setTooltipRefReady","arrayLabels","reverse","tooltipSeparator","tooltipText","useChevron","removeItemMessage","class","draggable","icon","size","tabIndex","role","className","removeRef","bare","disabled","hidePadding","variant","button","itemDeleted","tooltipContent","delay","opened","dragOpened","shouldRenderTooltip","initializeItems","COMPONENT_PROPERTY_CHANGED","actionHandlers","effect","itemIndex","itemsToDelete","updatedItems","firstItemDeleted","focusedElement","view","helpers","ariaLabel","comment","alignment","heading","level","illustration","getEmptyStateJsx","styles","setInitialState","schema","actions","generateSelectedItemKey","convertKeyToSelectedItem","getOpenPanels","openPanelsPath","onePanelMode","noRightPanel","leftPanel","rightPanel","findItemPanel","itemKey","_rightPanelRef$curren","rightPanelRef","pathLength","itemPathLength","rightPanelEmpty","childNodes","pop","PANEL_CHANGED_EVENT","ITEM_EXPAND_REQUESTED","CHECKED_SET_EVENT","SCROLLED_TO_BOTTOM","SEARCH_TERM_SET","OPEN_ITEM_BUTTON","CLOSE_PANELS_BUTTON","SEARCH","INITIAL","CONTAINS","validateItem","text","searchValue","searchType","toLowerCase","startsWith","filterPanelItemsBySearchValue","category","openItem","_panelItems$openItem","search","panelItems","filteredPanelItems","panelItem","panelData","searchChangedHandler","activeItem","lastSelectedItem","openedCategory","getShiftSelectedItems","leftPanelRef","itemPanel","lastSelectedPanel","Array","from","lastSelectedPos","hoveredItemPos","shiftSelectedItems","_selectedItems$item$i","isLocked","checkedSetHoverShiftHandler","checkedSetSingleItemHandler","_selectedItems$itemKe","selected","selectedItemArr","checked","checkedSetHandler","_selectedItems$itemKe2","lastSelectedItemOnPanel","checkedSetShiftHandler","_selectedItems$lastSe","checkedItems","shiftSelectedChecked","_selectedItems$item","_selectedItems$item2","moveItemFocusToRightAndLeft","isRightPanel","composedPath","some","_element$classList","contains","isLeftPanel","_element$classList2","parentNode","querySelector","expandedItem","click","clickFocusedElement","handleKeyPanelDown","newSelectedItems","focusables","_newSelectedItems$ite","selectAllItems","checkedSetShiftStarted","handlePanelKeyUp","checkedSetShiftEnded","handleScroll","panel","reportBottomSent","scrollHeight","scrollTop","clientHeight","distanceFromBottom","getOpenItemButtonText","itemLabel","CLOSE_PANELS_BUTTON_TEXT","SEARCH_TEXT","LEFT_PANEL_TEXT","RIGHT_PANEL_TEXT","ITEM_INFO_BUTTON_TEXT","getLeftActiveItem","openItemsPath","focusItemId","getSelectedItemsKeyLastItem","isRightPanelItemFocused","separatorJsx","generatePanelItemsJsx","searchMode","panelItemsJsx","variablesJsx","searchOpenItemJsx","showHiddenControls","variablesRenderingMode","scrollToBottomLoader","_selectedItems$itemSe","_selectedItems$itemSe2","itemData","itemSelectedKey","isItemLocked","isItemOpened","isShiftSelected","checkBox","checkBoxJsx","isItemSelected","readonly","manageChecked","checkbox","expandButton","expandButtonJsx","infoButton","infoButtonJsx","popoverClass","itemAdditionalData","additionalData","positions","slot","html","subLabel","subLabelJsx","itemStyle","loadingIcon","focusHandler","containerRef","matches","closePanelsHandler","newOpenItemsPath","initSelectedItems","lockedItems","stateSelectedItems","selectedItem","lockedItem","stateItems","stateItemsRoot","currentPanel","componentFocused","COMPONENT_RENDERED","newPanel","expandButtonClickHandler","itemPosition","slice","_focusElement","activeItemPathLength","activeItemIsExpanded","activeItemOnLeftPanel","activeItemOnRightPanel","activeItemId","replace","showSearchBorder","leftPanelActiveItem","isRightPanelEmpty","leftPanelItems","rightPanelItems","generatePanelsJsx","leftPanelItemsJsx","rightPanelItemsJsx","leftPanelItemsPath","breadcrumbsJsx","breadcrumbs","href","hideLabel","overflow","delimiter","generateBreadcrumbJsx","containerClass","container","leftPanelHasValue","panelLeftTopClass","searchClass","searchInputClass","breadcrumbsClass","placeholder","additionalProperties","AVAILABLE_ITEMS_TAB_ID","SELECTED_ITEMS_TAB_ID","DATA_RESET_TEXT","getAvailableItemsJsx","dataReady","availableTitle","isLoading","getTitleJsx","title","textClass","COMPONENT_BOOTSTRAPPED","COMPONENT_DOM_READY","effectProxy","args","selectedLabel","itemIds","removedItems","updatedSelectedItems","itemsLabels","unselectedItem","showSelectedItemPath","lastIndexOf","updatedNewlySelectedItems","itemLabelsArr","selectedItemPath","availableRoot","selectedItemLabels","removedItemId","find","itemSelectedPayload","itemLabels","selectedItemsEventFormat","lastVariableId","searchTerm","operator","animatedItems","eventName","metadata","hideResetWarning","newState","item_option_new","_payload$data","_payload$data$GlideLa","_payload$data$GlideLa2","allowDotWalking","includeSysId","showVariables","results","data","GlideLayout_Query","fieldNameListDataRetriever","fieldGlideList","fieldsData","fieldNameData","filterFieldResults","transformFieldNameData","tableItems","isFieldReferenceType","referenceDataKey","_payload$data3","_payload$data3$GlideV","_payload$data3$GlideV2","_payload$data4","_payload$data4$GlideV","_payload$data4$GlideV2","availableVariables","GlideVariables_Query","getVariableSearchResult","variables","allRecordsSearched","sort","_item$catalogItem","_item$variableSet","sysId","catalogItem","variableSet","transformVariablesFieldNameData","_payload$data2","_payload$data2$GlideC","tableMetaData","GlideConditionBuilder_Query","dotwalkTableConfig","showQuestions","track","components","uiConf","SELECTED_ITEM_SCHEMA","required","SCHEMA","componentName","uibProperties","_components$name","_get","typeMetadata","getDefaultValue","_getDefaultValue","defaultValue","getFieldType","_getFieldType","fieldType","SELECTED_ITEM","EXPANDED_ITEM","getSchema","availableLabel","headersLevel","showCount","panelToCount","numberOfAvailableItems","numberOfSelectedItems","selectedTitle","availableTitleJsx","selectedTitleJsx","availableItemsJsx","selectedItemsJsx","getSelectedItemsJsx","tabsJsx","getTabsJsx","count","removeNewItemsRequest","_payload","availableContainerClass","selectedContainerClass","resetWarningJsx","status","getResetWarningJsx","window","__TECTONIC__$devsnc_sn_list_selector"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/styles.scss","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/styles.scss","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/styles.scss","webpack:///./src/sn-available-bucket/styles.scss?b1f9","webpack:///./src/sn-list-selector/styles.scss?25f7","webpack:///./src/sn-selected-bucket/styles.scss?5f14","webpack:///@babel/runtime/7.26.9/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/constants.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/selectedItemsHandler.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/availableItemsHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/componentBootstrappedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/resizeHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/setInitialStateHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/fetchDataHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/query.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tabs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/shared/keyboardEvents.js","webpack:///@devsnc/sn-list-selector/src/shared/browser.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/onClickHandler.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/dragAndDropHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/focusHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/keyboardEventHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/tooltipOpenedSetHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/view.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/setInitialStateHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/componentPropertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-breadcrumbs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/utils.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/constants.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/searchHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/checkedSetHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/keyboardEventHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/scrollHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/view.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/breadcrumbsClickHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/setInitialStateHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/buttonIconicClickHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/propertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/componentRenderedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/index.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/view.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/propertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/selectedTabHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/searchHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/alertHandler.js","webpack:///@devsnc/sn-list-selector/src/shared/schema.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/index.js","webpack:///@devsnc/sn-list-selector/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.tab{-moz-tab-size:8;tab-size:8}.variables-item{font-size:1rem;line-height:32px;padding:0 .5rem 0}.variables-separator{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));font-size:.75rem;line-height:24px;margin:0;padding:0 .5rem 0}.container{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:grid;gap:1px;grid-template-columns:50% 50%;grid-template-rows:36px auto;height:100%;overflow:hidden;width:100%}.container--hide-border{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.container--single{grid-template-columns:100% auto}.panel-left-top{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.panel-left-top--border{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;margin-bottom:calc(var(--now-scale-space--sm, 1)*.5rem);overflow:hidden}.panel-left-top--narrow div:last-child{margin-inline-start:auto;margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0}.search{align-items:center;display:flex;width:100%}.search--narrow:not(:hover):not(:focus-within){width:auto}.search:focus-within,.search:hover{width:100%}.search:focus-within input,.search:hover input{margin:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.search:focus-within~.breadcrumbs,.search:hover~.breadcrumbs{height:0;margin-inline-start:auto;overflow:hidden;width:0}.search-input{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));height:100%;margin:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.search-input--narrow{margin:0;width:0}.breadcrumbs{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:row;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.breadcrumbs :not(:last-child){margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem)}.breadcrumbs-comp{width:100%}.breadcrumbs--hidden{margin:0;width:0}.panel-left,.panel-right,.panel-spinner{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:100%;overflow:auto;width:100%}.panel-spinner{align-items:center;justify-content:center}.panel-row{width:100%}.panel-row--open,.panel-row:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.panel-row--open{border:solid 1px RGB(var(--now-color--primary-1,30,133,109))}.panel-row--shift{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.panel-item{align-items:center;border:none;display:flex;flex-direction:row;gap:calc(var(--now-scale-space--sm, 1)*.5rem);height:max-content;margin:0;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-user-select:none;user-select:none;width:100%}.panel-item:focus-within now-popover,.panel-item:hover now-popover{height:auto;width:auto}.panel-item-popover{height:0;overflow:hidden;width:0}.panel-item-popover--visible{height:auto;width:auto}.panel-item-checkbox{align-items:center;display:flex;min-height:32px}.panel-item-sublabel-div{margin-inline-start:2rem}.panel-item-sublabel{font-size:.75rem;min-height:32px}.panel-item-expand{margin-inline-start:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.main{align-items:flex-start;display:flex;flex-direction:column;height:100%;min-height:20.3125rem;min-width:14.375rem;overflow:hidden}.content,.main,.reset-warning{width:100%}.content{display:flex;flex-direction:row;gap:.5rem;height:100%;overflow:hidden}.content .tabs-panel{padding:2px}.content .available-container{display:flex;flex:0 1 auto;flex-direction:column;min-width:14.6875rem;width:66%}.content .available-container--width-50{width:50%}.content .available-container--width-100{width:100%}.content .available-container .available-header{display:flex;flex-direction:row;flex-shrink:0;gap:.25rem;height:1.5rem;padding-bottom:.5rem;padding-left:2px;padding-right:2px}.content .available-container .available-header .available-header-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;font-weight:400;margin-top:0}.content .available-container .available{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;flex-grow:1;margin:2px;overflow:hidden}.content .available-container .single-panel{flex-grow:1;margin:2px;margin-top:.5rem;overflow:hidden}.content .available-container .selected{flex-grow:1;height:100%;overflow:hidden}.content .selected-container{display:flex;flex:1;flex-direction:column;min-width:14.6875rem;overflow:hidden;width:33%}.content .selected-container--width-50{width:50%}.content .selected-container .selected-header{display:flex;flex-direction:row;flex-shrink:0;gap:.25rem;height:1.5rem;padding-bottom:.5rem;padding-left:2px;padding-right:2px}.content .selected-container .selected-header .selected-header-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;font-weight:400;margin:0}.content .selected-container .selected{flex-grow:1;margin:2px;overflow:hidden;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.content .no-selected-container,.content .selected-container .selected{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;height:100%}.content .no-selected-container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;justify-content:center}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-dragdrop-image{background-color:transparent;cursor:none;pointer-events:none;position:absolute}.now-dragdrop-badge{align-items:center;background-color:RGB(var(--now-dragdrop_badge--background-color,var(--now-color_alert--info-2,14,120,196)));block-size:1.5rem;border-color:RGB(var(--now-dragdrop_badge--border-color,var(--now-color--neutral-0,255,255,255)));border-radius:50%;border-style:solid;border-width:1px;color:RGB(var(--now-dragdrop_badge--color,var(--now-color--neutral-0,255,255,255)));display:flex;font-family:var(--now-dragdrop_badge--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;inline-size:1.5rem;justify-content:center;line-height:1.3333;overflow:hidden;position:absolute}.now-dragdrop-badge,.now-dragdrop-ghost{box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));pointer-events:none}.now-dragdrop-ghost{background-color:RGB(var(--now-dragdrop_ghost--background-color,var(--now-color--neutral-0,255,255,255)),.3);opacity:.5}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.reorderable-list-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));height:100%;padding:3px;width:100%}.reorderable-list{height:100%;margin:0;overflow:auto;overscroll-behavior:auto;padding:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;-webkit-user-select:none;user-select:none}.reorderable-list .reorderable-list-item{list-style-type:none;position:relative;width:100%}.reorderable-list .reorderable-list-item .item-container{align-items:center;border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem);overflow:hidden;padding:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.reorderable-list .reorderable-list-item .item-container--draggable{cursor:grab}.reorderable-list .reorderable-list-item .item-container--focused,.reorderable-list .reorderable-list-item .item-container:focus,.reorderable-list .reorderable-list-item .item-container:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.reorderable-list .reorderable-list-item .item-container .item-label-container{align-items:center;display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem);overflow:hidden;width:100%}.reorderable-list .reorderable-list-item .item-container .item-label-container--draggable{cursor:grab}.reorderable-list .reorderable-list-item .item-container .label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.reorderable-list .reorderable-list-item .item-container--selected{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1);border:solid 1px RGB(var(--now-color--primary-1,30,133,109))}.reorderable-list .reorderable-list-item .item-container--new{animation:new-item 3s}.reorderable-list .reorderable-list-item.dragging .item-container{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1);box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));cursor:grabbing;opacity:var(--now-opacity--less,.25)}.reorderable-list .reorderable-list-item+.reorderable-list-item{margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.reorderable-list .indicator-after:after,.reorderable-list .indicator-before:before{border-block-end:calc(var(--now-container--border-width, 1px)*2) solid RGB(var(--now-color_selection--primary-2,30,133,109));content:\\\"\\\";display:block;position:absolute;width:100%}.reorderable-list .indicator-before:before{inset-block-start:calc(0px - var(--now-scale-space--sm, 1)*.5rem/2 - var(--now-container--border-width, 1px))}.reorderable-list .indicator-after:after{inset-block-end:calc(0px - var(--now-scale-space--sm, 1)*.5rem/2 - var(--now-container--border-width, 1px))}.reorderable-list .dragging.indicator-after:after,.reorderable-list .dragging.indicator-before:before{opacity:var(--now-opacity--less,.25)}.no-selected-container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:100%;justify-content:center}@keyframes new-item{0%{background-color:RGB(var(--now-color_selection--primary-0,221,237,233));border:solid 1px RGB(var(--now-color_selection--primary-2,30,133,109));border-radius:.25rem}80%{background-color:RGB(var(--now-color_selection--primary-0,221,237,233));border:solid 1px RGB(var(--now-color_selection--primary-2,30,133,109));border-radius:.25rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\n\n////////////// CONSTANTS //////////////\nexport const AVAILABLE_DATA_POPULATE_MODE = {MANUAL: 'manual', TABLE_DESCRIPTION: 'tableDescription'};\nexport const VIEW_TYPES = {compact: 1, twoPanels: 2, dotWalk: 3};\n\nexport const RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameListDataRetriever.fieldGlideList';\n\nexport const SELECTED_ITEMS_ID_SEPARATOR = '.';\n\nexport const NEW_SELECTED_ITEMS_TIMEOUT = 3000;\n////////////// MESSAGES //////////////\nexport const AVAILABLE_CONTENT = t({code: 'sn-list-selector', message: 'No fields found'});\nexport const NO_AVAILABLE_LABEL = t({code: 'sn-list-selector', message: 'No fields to select from'});\n\nexport const FETCH_FIELD_ERROR = t({code: 'sn-list-selector', message: 'Unable to fetch Field. Please try again'});\n\nexport const SELECTED_COLUMNS_DEFAULT_TEXT = t({code: 'sn-list-selector', message: 'Selected columns'});\nexport const AVAILABLE_COLUMNS_DEFAULT_TEXT = t({code: 'sn-list-selector', message: 'Available columns'});\n\n////////////// EVENTS //////////////\n\n// Component\nexport const ITEM_SELECTED = 'SN_LIST_SELECTOR#ITEM_SELECTED';\nexport const SELECTED_ITEM_SET = 'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\nexport const ITEM_EXPAND_REQUESTED = 'SN_LIST_SELECTOR#ITEM_EXPAND_REQUESTED';\nexport const SCROLLED_TO_BOTTOM = 'SN_LIST_SELECTOR#SCROLLED_TO_BOTTOM';\nexport const SEARCH_TERM_SET = 'SN_LIST_SELECTOR#SEARCH_TERM_SET';\nexport const REMOVE_NEW_SELECTED_ITEMS_REQUESTED = 'SN_LIST_SELECTOR#REMOVE_NEW_SELECTED_ITEMS_REQUESTED';\n\n//GraphQL\nexport const FETCH_DATA = 'FIELD_SELECT_FETCH_DATA';\nexport const FETCH_DATA_SUCCESS = 'FIELD_SELECT_FETCH_DATA_SUCCESS';\nexport const FETCH_DATA_FAILURE = 'FIELD_SELECT_FETCH_DATA_FAILURE';\nexport const FETCH_VARIABLES_DATA = 'FIELD_SELECT_VARIABLES_FETCH_DATA';\nexport const FETCH_VARIABLES_DATA_SUCCESS = 'FIELD_SELECT_VARIABLES_FETCH_DATA_SUCCESS';\nexport const FETCH_VARIABLES_DATA_FAILURE = 'FIELD_SELECT_VARIABLES_FETCH_DATA_FAILURE';\n\n////////////// METRICS //////////////\nexport const METRIC_ACTIONS = {\n\tMETRIC_TRACKED: 'SN_LIST_SELECTOR#METRIC_TRACKED',\n\tSN_LIST_SELECTOR_INTIAL_LOAD: 'Initial List Selector View'\n};\n\nexport const DOT_WALK_TABLE_CONFIG_FETCH_FAILED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_FAILED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_STARTED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_STARTED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED';\n\nexport const VARIABLES = 'variables';\nexport const QUESTIONS = 'questions';\n","import {\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tSELECTED_ITEMS_ID_SEPARATOR,\n\tSELECTED_ITEM_SET,\n\tITEM_SELECTED\n} from '../constants';\nimport {t} from 'sn-translate';\n\n/**\n * Generate an item object to be added to selected items list\n * selected element format is an object with id and label and tooltip\n * label format is: ... > zzz\n * tooltip format is: xxx > yyy > zzz\n * id format is: xxx.yyy.zzz\n *\n * @param {array} ids - a list of ids which are the ids of all the items in the selected item path\n * @param {array} labels - a list of labels of all the items in the selected item path\n * @returns {{tooltipText, id, label: (string|*)}}\n */\nconst generateSelectedItemObject = (ids, labels, locked) => ({\n\tid: ids.join(SELECTED_ITEMS_ID_SEPARATOR),\n\tlabel: labels,\n\tlocked\n});\n\n/**\n * convert selected items to availalbe bucket format of selected items\n * @param {array} selectedItems\n * @returns {{availableItemsLocked: *[], availableItemsSelected: *[]}}\n */\nconst generateAvailableItemsSelectedObject = selectedItems => {\n\t// convert selected items to available items selected separator\n\tconst availableItemsSelected = [];\n\tconst availableItemsLocked = [];\n\tselectedItems.forEach(item => {\n\t\tconst path = item.id.split(SELECTED_ITEMS_ID_SEPARATOR);\n\t\tavailableItemsSelected.push(path);\n\t\tif (item.locked)\n\t\t\tavailableItemsLocked.push(path);\n\t});\n\treturn {availableItemsSelected, availableItemsLocked};\n};\n\n/**\n * Convert input selectedItems to selectedBucket input format and availableItemsSelected format\n * input format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * output format: <array<{id, label}>>\n *     [{id: 'item1.item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {array} selectedItems\n * @returns {array}\n */\nexport const convertSelectedItemsToStateFormat = selectedItems => {\n\tif (!selectedItems) {\n\t\treturn {\n\t\t\tselectedItems: [],\n\t\t\tavailableItemsSelected: [],\n\t\t\tavailableItemsLocked: []\n\t\t};\n\t}\n\n\tconst items = [];\n\n\tselectedItems.forEach(itemsPath => {\n\t\tconst ids = [];\n\t\tconst labels = [];\n\t\t// is locked is only on the item (not its path) there for only on the last item\n\t\tconst locked = itemsPath[itemsPath.length - 1]?.locked;\n\t\titemsPath.forEach(item => {\n\t\t\tids.push(item.id);\n\t\t\tlabels.push(item.label);\n\t\t});\n\t\t// selected bucket element format is a list of objects with id and label\n\t\t// label format is: ... > zzz\n\t\t// tooltip format is: xxx > yyy > zzz\n\t\t// id format is: xxx.yyy.zzz\n\t\tconst item = generateSelectedItemObject(ids, labels, locked);\n\t\titems.push(item);\n\t});\n\n\t// convert selected items to available items selected separator\n\tconst {availableItemsSelected, availableItemsLocked} = generateAvailableItemsSelectedObject(items);\n\n\treturn {\n\t\tselectedItems: items,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked\n\t};\n};\n\n/**\n * convert one selected item to SN_LIST_SELECTOR#SELECTED_ITEM_SET event payload item format\n * item payload format <array<{id, label}>:\n * \t\t[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}]\n * state item format: <{id, label}>\n *     {id: 'item1.item2', label: 'Item 1 > Item 2'}\n * @param {object} item\n * @returns {*[]}\n */\nconst convertSingleSelectedItemToEventFormat = item => {\n\tconst itemPath = [];\n\tconst idsArr = item.id.split(SELECTED_ITEMS_ID_SEPARATOR);\n\tconst labelArr = item.label;\n\n\tidsArr.forEach((id, index) => itemPath.push({id, label: labelArr[index]}));\n\n\treturn itemPath;\n};\n\n/**\n * Convert state selectedItems format to SN_LIST_SELECTOR#SELECTED_ITEM_SET event payload format\n * payload format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * state format: <array<{id, label}>>\n *     [{id: 'item1.item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {object} selectedItems\n * @returns {*[]}\n */\nconst convertSelectedItemsToEventFormat = selectedItems => {\n\tconst convertedSelectedItems = [];\n\tselectedItems.forEach(item => {\n\t\tconst itemPath = convertSingleSelectedItemToEventFormat(item);\n\t\tconvertedSelectedItems.push(itemPath);\n\t});\n\n\treturn convertedSelectedItems;\n};\n\n/**\n * handle SN_SELECTED_BUCKET#ITEMS_REORDERED event\n * it removes items that already displayed as new from new items list\n * @param {object} coeffects\n */\nexport const newItemsAnimationEndedHandler = coeffects => {\n\tconst {action, updateState, state: {newlySelectedItems}} = coeffects;\n\tconst animatedItems = action.payload;\n\tif (newlySelectedItems.length === 0)\n\t\treturn;\n\n\t// filter out items that its animation completed from new items list\n\tconst updatedNewlySelectedItems = newlySelectedItems.filter(item => !animatedItems.includes(item));\n\tupdateState({newlySelectedItems: updatedNewlySelectedItems});\n};\n\n/**\n * handle SN_AVAILABLE_ITEMS#CHECKED_SET event\n * Add or remove item to selected item bucket according to its checked value\n * @param {object} coeffects\n */\nexport const availableItemCheckSetHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t\taction: {payload: items},\n\t\tproperties: {selectedLabel}\n\t} = coeffects;\n\n\tconst {\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tselectedItems,\n\t\tnewlySelectedItems\n\t} = state;\n\n\tconst updatedNewlySelectedItems = newlySelectedItems || [];\n\tlet updatedSelectedItems = selectedItems;\n\tconst itemLabelsArr = [];\n\n\titems.forEach(itemData => {\n\t\tconst selectedItemPath = itemData.item;\n\t\tconst isSelected = itemData.checked;\n\t\tlet selectedItem;\n\n\t\tif (isSelected) { // add selected item\n\t\t\t// the selected item path is just a list of ids, we need to get the values from items list\n\t\t\tlet availableRoot = availableItemsRoot;\n\t\t\tconst selectedItemLabels = selectedItemPath.map(id => {\n\t\t\t\tconst items = availableItems[availableRoot];\n\t\t\t\tconst item = items[id];\n\t\t\t\tavailableRoot = item.reference;\n\t\t\t\treturn item.label;\n\t\t\t});\n\t\t\tselectedItem = generateSelectedItemObject(selectedItemPath, selectedItemLabels);\n\t\t\tupdatedSelectedItems.push(selectedItem);\n\t\t\tupdatedNewlySelectedItems.push(selectedItem.id);\n\t\t} else { // remove selected item\n\t\t\tconst removedItemId = selectedItemPath.join(SELECTED_ITEMS_ID_SEPARATOR);\n\t\t\t// find element in selected items list - all item path should be exactly the same\n\t\t\tselectedItem = selectedItems.find(item => item.id === removedItemId); // find the items deleted\n\t\t\tupdatedSelectedItems = updatedSelectedItems.filter(item => item.id !== removedItemId); // create a new list without the item\n\t\t}\n\n\t\tconst itemSelectedPayload = {\n\t\t\titem: convertSingleSelectedItemToEventFormat(selectedItem),\n\t\t\tselected: isSelected\n\t\t};\n\n\t\t// send a message to screen reader so user with disabilities will know the item was selected\n\t\tconst itemLabel = selectedItem.label ? selectedItem.label[selectedItem.label.length - 1] : t({code: 'sn-list-selector', message: 'item'});\n\t\tif (itemLabel)\n\t\t\titemLabelsArr.push(itemLabel);\n\n\t\t// send the effected item by event\n\t\tdispatch(ITEM_SELECTED, itemSelectedPayload);\n\t});\n\n\t// send a message to screen reader so user with disabilities will know the item was selected\n\tconst itemLabels = itemLabelsArr.length > 0 ? itemLabelsArr.join(',') : t({code: 'sn-list-selector', message: 'item'});\n\tconst message = items[0].checked ? // all items are check or uncheck, no mix state\n\t\tt({code: 'sn-list-selector', message: '{itemLabels} added to {selectedLabel}'}, {itemLabels, selectedLabel}) :\n\t\tt({code: 'sn-list-selector', message: '{itemLabels} removed from {selectedLabel}'}, {itemLabels, selectedLabel});\n\n\t// removedItems.map(item => item.label && item.label[item.label.length - 1]).join(',');\n\tconst selectedItemsEventFormat = convertSelectedItemsToEventFormat(updatedSelectedItems);\n\t// since selected bucket changed we send its new value by event\n\tdispatch(SELECTED_ITEM_SET, selectedItemsEventFormat);\n\n\t// generate SELECTED_ITEM_SET event payload format\n\tconst {availableItemsSelected} = generateAvailableItemsSelectedObject(updatedSelectedItems);\n\n\tupdateState({\n\t\tselectedItems: [...updatedSelectedItems],\n\t\tavailableItemsSelected,\n\t\tnewlySelectedItems: updatedNewlySelectedItems,\n\t\tliveUpdateText: message\n\t});\n};\n\n/**\n * handle NOW_BUTTON_ICONIC#CLICKED event\n * remove item from selected items and uncheck it in available items\n * @param {object} coeffects\n */\nexport const selectedItemRemoveFieldHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties: {selectedLabel}\n\t} = coeffects;\n\tconst {selectedItems} = state;\n\tconst itemIds = action.payload;\n\tconst newlySelectedItems = [];\n\n\tif (!itemIds || itemIds.length === 0)\n\t\treturn;\n\n\t// get the list of removed items (for the event)\n\tconst removedItems = selectedItems.filter(item => itemIds.includes(item.id));\n\t// remove the removed items from selectedItems\n\tconst updatedSelectedItems = selectedItems.filter(item => !itemIds.includes(item.id));\n\tconst {availableItemsSelected} = generateAvailableItemsSelectedObject(updatedSelectedItems);\n\n\t// send a message to screen reader so user with disabilities will know the item was selected\n\n\tconst itemsLabels = removedItems.map(item => item.label && item.label[item.label.length - 1]).join(',');\n\tconst message = t({code: 'sn-list-selector', message: '{itemsLabels} removed from {selectedLabel}'}, {itemsLabels, selectedLabel});\n\tupdateState({selectedItems: updatedSelectedItems, availableItemsSelected, liveUpdateText: message, newlySelectedItems});\n\t\n\tconst payload = convertSelectedItemsToEventFormat(updatedSelectedItems);\n\n\t// since selected bucket changed we send its new value by event\n\tdispatch(SELECTED_ITEM_SET, payload);\n\n\tconvertSelectedItemsToEventFormat(removedItems).forEach(unselectedItem => {\n\t\tconst itemSelectedPayload = {\n\t\t\titem: unselectedItem,\n\t\t\tselected: false\n\t\t};\n\n\t\t// send the deleted item by event\n\t\tdispatch(ITEM_SELECTED, itemSelectedPayload);\n\t});\n};\n\nexport const selectedItemFieldSelectedHandler = coeffects => {\n\tconst {action: {payload}, updateState, properties} = coeffects;\n\tconst {showSelectedItemPath, mode} = properties;\n\tconst {itemId} = payload;\n\n\tif (!showSelectedItemPath || !itemId || mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION)\n\t\treturn; // feature not activated or item deselected - nothing to do\n\n\t// the item id is the item path seperated by dot (.) so all we need is to split it to get the path\n\tconst availableItemsPath = itemId.lastIndexOf(SELECTED_ITEMS_ID_SEPARATOR) === -1 ?\n\t\t[] :\n\t\titemId.split(SELECTED_ITEMS_ID_SEPARATOR);\n\n\tupdateState({availableItemsPath});\n};\n\n/**\n * handle SN_SELECTED_BUCKET#ITEMS_REORDERED event\n * dispatch event with the new ordered selected items\n * @param {object} coeffects\n */\nexport const updateDragAndDropItemsHandler = coeffects => {\n\tconst {action, updateState, dispatch} = coeffects;\n\tconst {value} = action.payload;\n\tupdateState({selectedItems: value});\n\tconst payload = convertSelectedItemsToEventFormat(value);\n\tdispatch(SELECTED_ITEM_SET, payload);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {AVAILABLE_DATA_POPULATE_MODE, FETCH_DATA, FETCH_VARIABLES_DATA, ITEM_EXPAND_REQUESTED, SCROLLED_TO_BOTTOM} from '../constants';\n\n/**\n * Handle SN_AVAILABLE_ITEMS#PANEL_CHANGED event\n * update the number of items in the left panel of available items\n * @param {object} coeffects\n */\nexport const availablePanelsChangedHandler = coeffects => {\n\tconst {\n\t\taction: {payload: openItems},\n\t\tupdateState,\n\t\tstate: {availableItems, availableItemsRoot},\n\t} = coeffects;\n\n\t// the last expanded item is the last element in open path\n\tlet referenceSource = availableItemsRoot;\n\tconst availableOpenPanels = [availableItemsRoot];\n\n\topenItems.forEach(itemId => {\n\t\tconst item = availableItems[referenceSource][itemId];\n\t\treferenceSource = item.reference;\n\t\tavailableOpenPanels.push(item.reference);\n\t});\n\n\t// if we have only one open panel it got to be the root\n\t// if we have more then one it is one before the last (since we only display the last 2 open panels)\n\tconst availableLeftPanel = availableOpenPanels.length > 1 ?\n\t\tavailableOpenPanels[availableOpenPanels.length - 2] :\n\t\tavailableItemsRoot;\n\n\tconst availableRightPanel = availableOpenPanels[availableOpenPanels.length - 1];\n\n\n\tupdateState({availableItemsPath: openItems, availableLeftPanel, availableRightPanel});\n\n\treturn {availableLeftPanel, referenceSource};\n};\n\n/**\n * Handle SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED event\n * update the number of items in the left panel of available items\n * and dispatch load request for next table data if in connected mode\n * (for connected mode only)\n * @param {object} coeffects\n */\nexport const availableItemExpandRequestedHandler = coeffects => {\n\tconst {\n\t\taction: {payload: openItems},\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate: {availableItems, renderVariables},\n\t\tproperties: {mode}\n\t} = coeffects;\n\n\t// first we need to update panels counters\n\tconst {\n\t\tavailableLeftPanel, // the category (panel) of the clicked item\n\t\treferenceSource // the category (panel) the clicked item references to\n\t} = availablePanelsChangedHandler(coeffects);\n\n\tconst payload = {\n\t\treferenceFieldTableName: referenceSource,\n\t\ttableName: ''\n\t};\n\n\t// if data not exist and we are in connected mode load it\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION && (!availableItems[referenceSource] || referenceSource === 'item_option_new')) {\n\t\tif (referenceSource === 'item_option_new' && renderVariables && openItems && (openItems[0] === 'questions' || openItems[0] === 'variables')) {\n\n\t\t\tavailableItems.item_option_new = null;\n\n\t\t\tupdateState({availableItems: {...availableItems}});\n\t\t\tdispatch(FETCH_VARIABLES_DATA, {\n\t\t\t\treferenceFieldTableName: referenceSource,\n\t\t\t\tsearchTerm: '',\n\t\t\t\toperator: 'LIKE',\n\t\t\t\tlastVariableId: ''\n\t\t\t});\n\n\t\t} else\n\t\t\tdispatch(FETCH_DATA, payload);\n\t}\n\n\tconst itemId = openItems[openItems.length - 1]; // last item is the selected item\n\n\tconst itemLabel = availableItems[availableLeftPanel][itemId].label;\n\tconst message = t({code: 'sn-list-selector', message: 'Item opened: {itemLabel}'}, {itemLabel});\n\n\tupdateState({liveUpdateText: message});\n\n\t// item category is always the left panel since it was moved to left it was when expanded\n\tdispatch(ITEM_EXPAND_REQUESTED, {\n\t\tcategory: availableLeftPanel, // category is the name of a group of items displayed in a pane\n\t\titemId,\n\t\titem: availableItems[availableLeftPanel][itemId], // item data object\n\t});\n};\n\nexport const availableItemScrollBottomHandler = coeffects => {\n\tconst {state,\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\tconst {moreVariablesAvailable, renderVariables, lastVariableId, availableItemsPath} = state;\n\n\t// When Scrolled  bottom for variables, We are fetching new set of variables\n\tif (payload?.category === 'item_option_new' && moreVariablesAvailable && renderVariables &&\n\t\tavailableItemsPath && (availableItemsPath[0] === 'variables' || availableItemsPath[0] === 'questions' ) ) {\n\t\tdispatch(FETCH_VARIABLES_DATA, {\n\t\t\treferenceFieldTableName: 'item_option_new',\n\t\t\tsearchTerm: '',\n\t\t\toperator: 'LIKE',\n\t\t\tlastVariableId\n\t\t});\n\t} else\n\t\tdispatch(SCROLLED_TO_BOTTOM, payload);\n};\n","import {\n\tFETCH_DATA,\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tMETRIC_ACTIONS\n} from '../constants';\n\nexport const initializeFetchData = (tableName, dispatch) => {\n\tconst payload = {\n\t\treferenceFieldTableName: tableName, //fields are fetched from this table\n\t\ttableName: '' //used internally by form controls\n\t};\n\tdispatch(FETCH_DATA, payload);\n};\n\nexport const componentBootstrappedEffect = coeffects => {\n\tconst {state, dispatch, properties} = coeffects;\n\tconst {tableName, mode} = state.properties;\n\n\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {eventName: METRIC_ACTIONS.SN_LIST_SELECTOR_INTIAL_LOAD, metadata: properties});\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION && tableName)\n\t\tinitializeFetchData(tableName, dispatch);\n};\n\n\n\n","import {VIEW_TYPES} from '../constants';\n\nconst MIN_WIDTH_THREE_PANELS = 660;\nconst MIN_WIDTH_TWO_PANEL = 480;\n\n/**\n * Return the number of panels component should display\n * @param {object} host\n * @returns {number}\n */\nexport const getNumberOfPanels = (host, viewType = 'dotWalk') => {\n\tconst {width} = host.getBoundingClientRect();\n\tif (width === 0)\n\t\treturn -1;\n\n\t// DEF0447611: if wrong value in view type - set it to dotWalk mode\n\tconst currentViewType = VIEW_TYPES[viewType] || 3;\n\n\t// !VIEW_TYPES[viewType] undefined if got a wrong view type value\n\tif (width > MIN_WIDTH_THREE_PANELS && currentViewType === 3)\n\t\treturn 3; // three panels mode - two for available items and one for selected items (default)\n\n\tif (width > MIN_WIDTH_TWO_PANEL && currentViewType >= 2)\n\t\treturn 2; // two panels mode - one for available items and one for selected items\n\n\treturn 1;\n};\n\n/**\n * Handle resize event, set component number of anels according to component size\n * @param {object} coeffects\n * @returns {(function(): void)|*}\n */\nexport const resizeHandler = coeffects =>\n\t() => {\n\t\tconst {updateState, host, properties: {viewType}} = coeffects;\n\n\t\tconst numberOfPanels = getNumberOfPanels(host, viewType);\n\t\tif (numberOfPanels === -1) {\n\t\t\t// if we got here dom is probably not ready yet... wait for it\n\t\t\tsetTimeout(() => {\n\t\t\t\tresizeHandler(coeffects)();\n\t\t\t}, 100);\n\t\t\treturn;\n\t\t}\n\n\t\tupdateState({numberOfPanels});\n\t};\n\n/**\n * Set component size and register to resize events\n * @param {object} coeffects\n */\nexport const registerResizeEvent = coeffects => {\n\tconst {state: {resizeObserver, mainRef}, updateState} = coeffects;\n\n\t// init component size\n\tresizeHandler(coeffects)(null);\n\tconst handler = resizeHandler(coeffects);\n\n\t// remove old event listener if exists\n\t// every time coeffects changes we need to reregister so handler function will be binded to the last coeffects\n\tif (resizeObserver)\n\t\tresizeObserver.unobserve(mainRef.current);\n\n\t// register for future resize events\n\tconst newResizeObserver = new ResizeObserver(handler);\n\tnewResizeObserver.observe(mainRef.current);\n\n\tupdateState({\n\t\tpath: 'resizeObserver',\n\t\tvalue: newResizeObserver,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t} });","import {convertSelectedItemsToStateFormat} from './selectedItemsHandler';\nimport {AVAILABLE_DATA_POPULATE_MODE} from '../constants';\nimport {getNumberOfPanels} from './resizeHandler';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\n\nexport const setInitialStateHandler = coeffects => {\n\tconst {host, properties} = coeffects;\n\tconst {mode, selectedItems, items, itemsRoot, tableName, viewType} = properties;\n\n\t// Items only applicable for non connected mode (in connected mode we get it from supplied table)\n\tlet availableItems = items;\n\tlet availableItemsRoot = itemsRoot;\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION) {\n\t\tavailableItems = undefined; // in connected mode we query the items from DB\n\t\tavailableItemsRoot = tableName;\n\t}\n\t// if availableRoot not supplied the default is the first element in availableItems\n\tif (availableItems && !availableItemsRoot && Object.keys(availableItems).length > 0)\n\t\tavailableItemsRoot = Object.keys(items)[0];\n\n\tconst numberOfPanels = getNumberOfPanels(host, viewType);\n\n\tconst {selectedItems: selectedBucketItems, availableItemsSelected, availableItemsLocked} = convertSelectedItemsToStateFormat(selectedItems);\n\treturn {\n\t\trenderVariables: false,\n\t\tmoreVariablesAvailable:false,\n\t\tselectedItems: selectedBucketItems,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableLeftPanel: availableItemsRoot,\n\t\tavailableRightPanel: availableItemsRoot,\n\t\tavailableItemsPath: [],\n\t\topenTabId: undefined, // in case of a small component where available/selected buckets displayed in tabs\n\t\tnumberOfPanels, // default it three panels two for available bucket and one for selected bucket\n\t\tresizeObserver: undefined, // reference to resize observer, we need it to stop observing\n\t\tliveUpdateText: '',\n\t\tshowResetWarning: false, // when changing table/root, selection and dot-walk are lost, warn user flag,\n\t\tnewlySelectedItems: [], // the list of newly selected items, they have different style in selected bucket\n\t\tmainRef: createRef(), // reference to main list selector container, used for resize event registration\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {dotwalkTableDataQuery, query, QUERY_VARIABLE_LIST, variableQuery} from './query';\nimport {\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tFETCH_DATA_FAILURE,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_FIELD_ERROR,\n\tFETCH_VARIABLES_DATA_FAILURE,\n\tFETCH_VARIABLES_DATA_SUCCESS,\n\tQUESTIONS,\n\tSELECTED_ITEM_SET,\n\tVARIABLES\n} from '../constants';\n\nconst filterFieldResults = results => results.filter(item => item.value !== 'sys_id');\n\nconst dispatchErrorMessage = (value, errorMessage, dispatch) => {\n\tconst payload = {\n\t\titems: value,\n\t\terror: {\n\t\t\ttype: 'error',\n\t\t\tmessage: errorMessage\n\t\t}\n\t};\n\tdispatch(SELECTED_ITEM_SET, payload);\n};\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}]} fieldNameData\n * * @param allowDotWalking true\n * @return {object} - {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameData\n */\nconst transformFieldNameData = (\n\tfieldNameData,\n\tallowDotWalking\n) => {\n\tconst tableItems = {};\n\tfieldNameData.forEach(item => {\n\t\ttableItems[item.value] = {\n\t\t\tlabel: item.displayValue,\n\t\t\treference: allowDotWalking && (item.isFieldReferenceType || item?.referenceDataKey) ? item.referenceDataKey : null\n\t\t};\n\t});\n\treturn tableItems;\n};\n\n\nfunction compareByDisplayValue(a, b) {\n\tif (a?.displayValue.toLocaleLowerCase() < b?.displayValue.toLocaleLowerCase())\n\t\treturn -1;\n\tif (a?.displayValue.toLocaleLowerCase() > b?.displayValue.toLocaleLowerCase())\n\t\treturn 1;\n\treturn 0;\n}\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, referenceTable: string}]} fieldNameData\n * @param {boolean} allowDotWalking\n * @return {object} - {{[field: string]: {displayValue: string, isReference: boolean, referenceTable: string}}} Transformed fieldNameData\n */\nconst transformVariablesFieldNameData = fieldNameData => {\n\tconst tableItems = {};\n\tfieldNameData.sort(compareByDisplayValue);\n\tlet lastVariableId = '';\n\n\tfieldNameData.forEach(item => {\n\t\tlastVariableId = item?.sysId;\n\t\tif (item.displayValue) {\n\t\t\ttableItems[item?.sysId] = {\n\t\t\t\tlabel: item.displayValue,\n\t\t\t\tsubLabel: item?.catalogItem?.name || item?.variableSet?.name,\n\t\t\t};\n\t\t}\n\t});\n\treturn {tableItems, lastVariableId};\n};\n\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: QUERY_VARIABLE_LIST,\n\tsuccessActionType: FETCH_DATA_SUCCESS,\n\terrorActionType: FETCH_DATA_FAILURE\n});\nexport const fetchVariablesEffect = createGraphQLEffect(variableQuery, {\n\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\tsuccessActionType: FETCH_VARIABLES_DATA_SUCCESS,\n\terrorActionType: FETCH_VARIABLES_DATA_FAILURE\n});\n\nexport const fetchTableMetadata = createGraphQLEffect(dotwalkTableDataQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\terrorActionType: DOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n});\n\nexport const fetchSuccessEffect = coeffects => {\n\tconst {properties, state, updateState, dispatch, action: {payload}} = coeffects;\n\tconst {allowDotWalking = false, includeSysId, showVariables} = properties;\n\tconst {availableItems} = state;\n\tconst newItems = availableItems || {};\n\n\tconst results = payload.data?.GlideLayout_Query?.fieldNameListDataRetriever?.fieldGlideList;\n\tif (!results && results[0])\n\t\treturn;\n\n\tconst {tableName} = results[0];\n\tconst fieldsData = includeSysId ? results[0].fieldNameData : filterFieldResults(results[0].fieldNameData);\n\n\t// convert result to availableItems format\n\tnewItems[tableName] = transformFieldNameData(fieldsData, allowDotWalking);\n\n\t// Questions and Variables both has to show the variable list Only\n\t//The path for Questions and Variables is same only the label is different\n\tif (showVariables && newItems[tableName][QUESTIONS]) {\n\t\tnewItems[tableName][VARIABLES] = newItems[tableName][QUESTIONS];\n\t\tdelete newItems[tableName][QUESTIONS];\n\t}\n\n\tupdateState({availableItems: {...newItems}});\n\n\t// Initiate Fetch variables data only based on \"showVariables\" property\n\tif (showVariables) {\n\t\tconst {tableName = ''} = properties;\n\t\tdispatch(DOT_WALK_TABLE_CONFIG_FETCH_STARTED, {tableName});\n\t}\n};\n\nexport const fetchVaribleMetaDataSuccessEffect = coeffects => {\n\tconst {updateState, action: {payload}} = coeffects;\n\tconst tableMetaData = payload?.data?.GlideConditionBuilder_Query?.dotwalkTableConfig;\n\tconst renderVariables = tableMetaData?.showVariables || tableMetaData?.showQuestions;\n\tupdateState({renderVariables});\n};\n\nexport const fetchVariablesSuccessEffect = coeffects => {\n\tconst {state, updateState, action: {payload}} = coeffects;\n\tconst {availableItems} = state;\n\tconst newItems = availableItems || {};\n\tconst availableVariables = availableItems?.item_option_new || {};\n\n\tconst results = payload.data?.GlideVariables_Query?.getVariableSearchResult?.variables;\n\tconst moreVariablesAvailable = payload.data?.GlideVariables_Query?.getVariableSearchResult?.allRecordsSearched === false;\n\tif (!results && results[0])\n\t\treturn;\n\n\tconst {tableItems, lastVariableId} = transformVariablesFieldNameData(results);\n\n\tnewItems.item_option_new = {...availableVariables, ...tableItems};\n\tupdateState({availableItems: {...newItems}, moreVariablesAvailable, lastVariableId});\n};\n\nexport const fetchFailureEffect = ({\n\tstate: {\n\t\tproperties: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatchErrorMessage(value, FETCH_FIELD_ERROR, dispatch);\n};\nexport const fetchVariablesFailureEffect = ({\n\tstate: {\n\t\tproperties: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatchErrorMessage(value, FETCH_FIELD_ERROR, dispatch);\n};\n","export const query = `query ($tableName: String!, $referenceFieldTableName: String!) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName) {\n\t\tfieldGlideList {\n\t\t  tableName\n\t\t  tableDisplayColumnValue\n\t\t  tableDisplayColumnLabel\n\t\t  fieldNameData {\n\t\t\tvalue\n\t\t\tdisplayValue: label\n\t\t\tisFieldReferenceType\n\t\t\treferenceDataKey\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n\t`;\n\nexport const QUERY_VARIABLE_LIST = [\n\t'parentTableName',\n\t'fieldName',\n\t'recordSysId',\n\t'serializedChanges',\n\t'encodedRecord',\n\t'tableName',\n\t'referenceFieldTableName'\n];\n\nexport const variableQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                allRecordsSearched\n\t\t\t\tlastVariableId\n\t\t\t\tvariables {\n\t\t\t\t\tsysId\n\t\t\t\t\tdisplayValue\n\t\t\t\t\treferenceTable\n\t\t\t\t\treferenceTableDefaultField\n\t\t\t\t\ttype\n\t\t\t\t\tcatalogItem {\n\t\t\t\t\t\tsysId\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t\tvariableSet {\n\t\t\t\t\t\tsysId\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n            }\n        }\n    }\n`;\nexport const dotwalkTableDataQuery = `query ($tableName: String!) {\n        GlideConditionBuilder_Query {\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const ARROW_DOWN = 'ArrowDown';\nexport const ARROW_LEFT = 'ArrowLeft';\nexport const ARROW_RIGHT = 'ArrowRight';\nexport const ARROW_UP = 'ArrowUp';\nexport const ENTER = 'Enter';\nexport const ESC = 'Esc';\nexport const ESCAPE = 'Escape';\nexport const SPACE = ' ';\nexport const SPACE_BAR = 'Spacebar';\nexport const CTRL_A = 'CtrlA';\nexport const SHIFT = 'Shift';\n\nconst _isMac = /Mac/.test(navigator.userAgent);\n\n/**\n * isEscape.\n * @param {string} key\n */\nexport const isEscape = key => key === ESC || key === ESCAPE;\n\n/**\n * isSpaceBar.\n * @param {string} key\n */\nexport const isSpaceBar = key => key === SPACE_BAR || key === SPACE;\n\n/**\n * Check if the key event is CRTL/Command according to browser\n * @param {object} event\n * @returns {boolean}\n */\nexport const isCtrl = event => (_isMac && event.metaKey) || (!_isMac && event.ctrlKey);\n\n/**\n * Check if the key event is CRTL/Command A\n * @param {object} event\n * @returns {boolean}\n */\nconst isCtrlA = event => ((event.key === 'A' || event.key === 'a') && isCtrl(event));\n\n/**\n * normalizeKey.\n * @param {string} key\n */\nexport const normalizeKey = event => {\n\tconst {key} = event;\n\tif (isSpaceBar(key))\n\t\treturn SPACE;\n\tif (isEscape(key))\n\t\treturn ESCAPE;\n\tif (isCtrlA(event))\n\t\treturn CTRL_A;\n\n\treturn key;\n};\n","\n\n\n/**\n * this function scrolls to bring the element into view\n * @param {HTMLElement} element\n */\nexport const scrollIntoView = element => {\n\tif (element.scrollIntoViewIfNeeded)\n\t\telement.scrollIntoViewIfNeeded(); // not supported in Firefox\n\telse\n\t\telement.scrollIntoView();\n};\n","import {REMOVE_SELECTED_FIELD_ACTION} from '../view';\nimport {isCtrl} from '../../shared/keyboardEvents';\nimport {scrollIntoView} from '../../shared/browser';\n\n/**\n * This function stop browser event from bubbling up to the parent element.\n * When registering to browser event on an element (in our case click) we get the event on child elements as well\n * to disable the event from getting to the parent we have to register to the same event on the child and\n * sop its propagation\n * @param {*} event\n */\nexport const stopPropagation = (/** @type {*} */ event) => event.stopPropagation(); // eslint-disable-line\n\n/**\n *\n * @param {array} items\n * @param {array} selectedIndexes\n * @param {integer} index\n * @param {integer} lastSelectedIndex\n * @returns {*[]|*}\n */\nconst shiftSelectionHandler = (items, selectedIndexes, index, lastSelectedIndex) => {\n\t// no previously selected item, select only the current item, perform single selection\n\tif (lastSelectedIndex === undefined || selectedIndexes.length === 0)\n\t\treturn selectedIndexes.includes(index) ? [] : [index];\n\n\t// Shift selection mode - select/unselect all element between the last element selected to the current one\n\tconst startIndex = Math.min(lastSelectedIndex, index);\n\tconst endIndex = Math.max(lastSelectedIndex, index);\n\n\t// if lastSelectedIndex was selected, select all items up to shift click element\n\tif (selectedIndexes.includes(lastSelectedIndex)) {\n\t\tconst newSelectedIndexes = [...selectedIndexes];\n\n\t\titems.forEach((item, index) => {\n\t\t\tif (!newSelectedIndexes.includes(index) && index >= startIndex && index <= endIndex)\n\t\t\t\tnewSelectedIndexes.push(index);\n\t\t});\n\n\t\treturn newSelectedIndexes;\n\t}\n\n\t// lastSelectedIndex was unselected, unselect all items up to shift click element\n\treturn selectedIndexes.filter(i => i < startIndex || i > endIndex);\n};\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n * @param {number} index\n */\nexport const toggleFocus = (coeffects, index) =>\n\t(/** @type {Event} */ event) => { // eslint-disable-line\n\t\tconst {state: {selectedIndexes, lastSelectedIndex, items}, updateState, dispatch} = coeffects;\n\n\t\tlet newSelectedIndexes = [...selectedIndexes];\n\t\tconst itemAlreadySelected = selectedIndexes.includes(index);\n\n\t\t// second click on an item will deselect it (remove it from list)\n\t\tif (index < 0) { // no item (background click) clear selection\n\t\t\tnewSelectedIndexes = [];\n\t\t} else if (isCtrl(event)) {\n\t\t\t// Ctrl selection mode - add selected item to selected list\n\t\t\titemAlreadySelected ?\n\t\t\t\tnewSelectedIndexes = selectedIndexes.filter(i => i !== index) : // remove existing item\n\t\t\t\tnewSelectedIndexes.push(index); // add non existing item\n\t\t} else if (event.shiftKey) {\n\t\t\t// shift selection mode\n\t\t\tnewSelectedIndexes = shiftSelectionHandler(items, selectedIndexes, index, lastSelectedIndex);\n\t\t} else {\n\t\t\t// single selection mode, only clicked item selected\n\t\t\tnewSelectedIndexes = itemAlreadySelected ? [] : [index];\n\t\t}\n\n\t\tconst item = itemAlreadySelected || index < 0 ? null : items[index];\n\n\t\tupdateState({selectedIndexes: newSelectedIndexes, lastSelectedIndex: index});\n\t\tdispatch('SN_SELECTED_BUCKET#ITEM_SELECTED', {itemId: item?.id});\n\n\t\t// move clicked element to view (for case it is only half visible)\n\t\tif (event.currentTarget)\n\t\t\tscrollIntoView(event.currentTarget);\n\n\t\tstopPropagation(event);\n\t};\n\nexport const focusAll = coeffects => {\n\tconst {state: {items}, updateState} = coeffects;\n\tconst selectedIndexes = items.map((item, index) => index);\n\tupdateState({selectedIndexes, lastSelectedIndex: undefined});\n};\n\n/**\n * handle NOW_BUTTON_ICONIC#CLICKED event\n * remove the clicked item from list\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const removeItemClickHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst {items, listRef, selectedIndexes} = state;\n\tconst {itemDeleted, button} = action.payload;\n\n\tif (button !== REMOVE_SELECTED_FIELD_ACTION || !itemDeleted)\n\t\treturn;\n\n\tconst itemIndex = items.findIndex(item => item.id === itemDeleted);\n\n\tlet itemsToDelete = [...selectedIndexes];\n\t// in case we have more then one item selected we have two option\n\t// 1)  if currently clicked item is selected - all selected items are removed with it\n\t// 2) if it is not selected it will be the only one deleted\n\tif (!itemsToDelete.includes(itemIndex))\n\t\titemsToDelete = [itemIndex];\n\n\t// if an item is deleted, all selected items are deleted with it\n\tconst updatedItems = items.filter((item, index) => !(itemsToDelete.includes(index) && !item.locked));\n\n\t// after deletion set focus on the element before the first item deleted (by position)\n\tconst firstItemDeleted = Math.min(...[itemsToDelete], itemIndex);\n\tconst itemsElements = listRef.current.querySelectorAll('now-button-iconic');\n\tconst focusedItemIndex = firstItemDeleted === 0 ? 0 : firstItemDeleted - 1;\n\tconst focusedElement = itemsElements[focusedItemIndex];\n\tif (focusedElement)\n\t\tfocusedElement.focus();\n\n\t// fire items delete event\n\t// every item that is not in new list was deleted\n\tconst deletedItems = items.filter(item => !updatedItems.includes(item)).map(item => item.id);\n\n\tdispatch('SN_SELECTED_BUCKET#ITEM_DELETED', deletedItems);\n\n\tupdateState({items: updatedItems, selectedIndexes: [], lastSelectedIndex: undefined});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"flow\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t\t} else if ('flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flow || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"negate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'negate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].negate;\n\t\t\t\t\t} else if ('negate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.negate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].negate;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"property\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'property' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].property;\n\t\t\t\t\t} else if ('property' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.property || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].property;\n\t\t\t\t} });","import {get, noop} from 'lodash';\nimport {t} from 'sn-translate';\n\n/**\n * Renders table header cell th element\n * @param {object} item array of ...\n * @param {string} ref string ...\n * @returns\n */\nexport const getElement = (item, ref = 'ref') =>\n\tget(item, [ref, 'current']) || {\n\t\tfocus: noop,\n\t\tstyle: {},\n\t\toffsetWidth: 0,\n\t\tscrollWidth: 0\n\t};\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragOver =\n\tcoeffects =>\n\t\tevent => {\n\t\t\tconst {\n\t\t\t\tstate: {dragging}\n\t\t\t} = coeffects;\n\t\t\tif (dragging) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t};\n\n/**\n * Property changed effect handler.\n * @param {DragEnterPayload} payload\n */\nexport const handleDragEnter = payload =>\n\tcoeffects =>\n\t\tevent => {\n\n\t\t\tconst {index: dragOverIndex} = payload;\n\t\t\tconst {\n\t\t\t\tstate: {dragItemIndex, items},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (dragItemIndex === -1 || dragOverIndex === -1)\n\t\t\t\treturn;\n\n\t\t\tif (event.dataTransfer) {\n\t\t\t\tconst {dataTransfer} = event;\n\t\t\t\tdataTransfer.dropEffect = 'move';\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tdragOverIndex,\n\t\t\t\tliveUpdateText: t({code: 'sn-list-selector', message: '{label}. Current position: {position} of {total}.'}, {\n\t\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\t\tposition: dragOverIndex + 1,\n\t\t\t\t\ttotal: items.length\n\t\t\t\t})\n\t\t\t});\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t};\n\n/**\n * Property changed effect handler.\n * @param {DragStartPayload} payload\n */\nexport const handleDragStart = payload =>\n\tcoeffects =>\n\t\tevent => {\n\t\t\tconst {index: dragItemIndex} = payload;\n\t\t\tconst {\n\t\t\t\tstate: {items},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (event.dataTransfer) {\n\t\t\t\tconst {dataTransfer} = event;\n\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\tgetElement(items[dragItemIndex], 'removeRef').style.display = 'none';\n\t\t\t}\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: `items[${dragItemIndex}].tooltip.opened`,\n\t\t\t\t\tvalue: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragItemIndex',\n\t\t\t\t\tvalue: dragItemIndex\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragging',\n\t\t\t\t\tvalue: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragOverIndex',\n\t\t\t\t\tvalue: dragItemIndex\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'liveUpdateText',\n\t\t\t\t\tvalue: t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: 'sn-list-selector',\n\t\t\t\t\t\t\tmessage: '{label} grabbed. Current position: {position} of {total}. Press up and down arrow keys to change position, enter key to drop, escape key to cancel.'},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\t\t\t\tposition: dragItemIndex + 1,\n\t\t\t\t\t\t\ttotal: items.length\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]);\n\t\t};\n\n/**\n * Drag Cancel effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragCancel = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {dragItemIndex, items},\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tupdateState({\n\t\t\tdragging: false,\n\t\t\tdragItemIndex: -1,\n\t\t\tdragOverIndex: -1,\n\t\t\tliveUpdateText: t({code: 'sn-list-selector', message: '{label} reorder cancelled.'}, {\n\t\t\t\tlabel: items[dragItemIndex].label\n\t\t\t})\n\t\t});\n\n\t\tevent.preventDefault();\n\t};\n\n/**\n * Validate Index.\n * @param {number} length\n */\nexport const validateIndex = length => (/** @type {number} */ index) => -1 < index && index < length; // eslint-disable-line\n\n/**\n * Reorder Items.\n * @param {Array<Item>} items\n * @param {number} sourceIndex\n * @param {number} targetIndex\n */\nexport const reorderItems = (items, sourceIndex, targetIndex) => {\n\tconst isValidIndex = validateIndex(items.length);\n\tconst reorderedItems = [...items];\n\n\tif (\n\t\tisValidIndex(sourceIndex) &&\n\t\tisValidIndex(targetIndex) &&\n\t\tsourceIndex !== targetIndex\n\t) {\n\t\treorderedItems.splice(sourceIndex, 1);\n\t\treorderedItems.splice(targetIndex, 0, items[sourceIndex]);\n\t}\n\n\treturn reorderedItems;\n};\n\n/**\n * Drop effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDrop = coeffects => () => {\n\tconst {\n\t\tstate: {dragItemIndex, dragOverIndex, items},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tif (dragItemIndex === -1 || dragOverIndex === -1)\n\t\treturn;\n\n\tconst itemMoved = dragItemIndex !== dragOverIndex;\n\tif (itemMoved) {\n\t\tdispatch('SN_SELECTED_BUCKET#ITEMS_REORDERED', {\n\t\t\tname: 'items',\n\t\t\tvalue: reorderItems(items, dragItemIndex, dragOverIndex)\n\t\t});\n\t}\n\n\tupdateState({\n\t\tliveUpdateText: t(\n\t\t\t{\n\t\t\t\tcode: 'sn-list-selector',\n\t\t\t\tmessage: '{label} dropped. Final position {position} of {total}.'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\tposition: dragOverIndex + 1,\n\t\t\t\ttotal: items.length\n\t\t\t}\n\t\t),\n\t\tselectedIndexes: [dragOverIndex],\n\t\tlastSelectedIndex: dragOverIndex\n\t});\n};\n\n/**\n * Drop End effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragEnd = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {items, dragItemIndex},\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tif (event.dataTransfer)\n\t\t\tgetElement(items[dragItemIndex], 'removeRef').style.display = '';\n\n\t\tupdateState({\n\t\t\tdragging: false,\n\t\t\tdragItemIndex: -1,\n\t\t\tdragOverIndex: -1\n\t\t});\n\t};\n","\n\n\n/**\n * Handle focus on element selectedIndexes so it will have selected item style (same style as click)\n * @param {object} coeffects\n * @returns {(function(): void)|*}\n */\nexport const handleFocus = coeffects =>\n\t() => {\n\t\tconst {state: {host, listRef}} = coeffects;\n\t\t// remove previously focused element selected style\n\t\tconst previouslyFocused = listRef.current.querySelectorAll('.item-container--focused');\n\n\t\tif (previouslyFocused && previouslyFocused.length > 0)\n\t\t\tpreviouslyFocused.forEach(elm => elm.classList.remove('item-container--focused'));\n\n\t\t// get focused element\n\t\tconst {activeElement} = host.shadowRoot;\n\t\tconst focusElement = activeElement && activeElement.closest('.item-container');\n\n\t\t// set focused element selected style\n\t\tif (focusElement)\n\t\t\tfocusElement.classList.add('item-container--focused');\n\t};\n","import {ARROW_DOWN, ARROW_UP, ENTER, ESCAPE, SPACE, normalizeKey, CTRL_A} from '../../shared/keyboardEvents';\nimport {flow, isEmpty, negate, property} from 'lodash';\nimport {focusAll, toggleFocus} from './onClickHandler';\nimport {handleDragCancel, handleDragEnd, handleDragEnter, handleDragStart, handleDrop} from './dragAndDropHandler';\n\nconst keyHandlersForDraggingState = new Map([\n\t[\n\t\tARROW_DOWN,\n\t\tcoeffects =>\n\t\t\tevent => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {dragOverIndex, items}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst index = Math.min(dragOverIndex + 1, items.length - 1);\n\t\t\t\thandleDragEnter({index})(coeffects)(event);\n\t\t\t}\n\t],\n\t[\n\t\tARROW_UP,\n\t\tcoeffects => event => {\n\t\t\tconst {\n\t\t\t\tstate: {dragOverIndex}\n\t\t\t} = coeffects;\n\t\t\tconst index = Math.max(dragOverIndex - 1, 0);\n\t\t\thandleDragEnter({index})(coeffects)(event);\n\t\t}\n\t],\n\t[\n\t\tSPACE,\n\t\t() => event => {\n\t\t\tevent.preventDefault();\n\t\t}\n\t],\n\t[\n\t\tESCAPE,\n\t\tcoeffects => event => {\n\t\t\thandleDragCancel(coeffects)(event);\n\t\t}\n\t],\n\t[\n\t\tENTER,\n\t\tcoeffects => event => {\n\t\t\thandleDrop(coeffects)();\n\t\t\thandleDragEnd(coeffects)(event);\n\t\t\tevent.preventDefault();\n\t\t}\n\t]\n]);\n\n/**\n * Match Event\n * @param {Event} target\n */\nconst matchesEvent =\n\t({target}) =>\n\t\t({current}) => current === target;\n\n/**\n * Match Event\n * @param {string} path\n */\nconst propertyMatchesEvent = path => (/** @type {Event} */ event) => flow(property(path), matchesEvent(event)) // eslint-disable-line\n\nconst removeRefMatchesEvent = propertyMatchesEvent('removeRef');\nconst itemRefMatchesEvent = propertyMatchesEvent('ref');\n\nconst keyHandlers = new Map([\n\t[\n\t\tSPACE,\n\t\t(/** @type {Coeffects<Props, State>} */ coeffects) => // eslint-disable-line\n\t\t\t(/** @type {Event} */ event) => { // eslint-disable-line\n\t\t\t\tconst {\n\t\t\t\t\tstate: {items}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (items.every(negate(removeRefMatchesEvent(event))))\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst index = items.findIndex(itemRefMatchesEvent(event));\n\t\t\t\tif (index > -1)\n\t\t\t\t\thandleDragStart({index})(coeffects)(event);\n\t\t\t}\n\t],\n\t[\n\t\tENTER,\n\t\tcoeffects =>\n\t\t\tevent => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {items}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst index = items.findIndex(itemRefMatchesEvent(event));\n\n\t\t\t\tif (index > -1)\n\t\t\t\t\ttoggleFocus(coeffects, index)(event);\n\t\t\t}\n\t],\n\t[\n\t\tCTRL_A,\n\t\tcoeffects =>\n\t\t\t() => {\n\t\t\t\tfocusAll(coeffects);\n\t\t\t}\n\t]\n]);\n\n/**\n * Drop End effect handler.\n * @param {ViewRenderHelpers<State, *> | {state: StateWithProps<State, *>}} coeffects\n */\nexport const handleKeyDown = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {dragging, items}\n\t\t} = coeffects;\n\n\t\tif (isEmpty(items))\n\t\t\treturn;\n\n\t\tconst key = normalizeKey(event);\n\t\tconst handlers = dragging ? keyHandlersForDraggingState : keyHandlers;\n\n\t\tif (handlers.has(key)) {\n\t\t\t//@ts-ignore\n\t\t\thandlers.get(key)(coeffects)(event);\n\t\t}\n\t};\n","\nconst shouldDisplayLabel = (item, value) => {\n\tif (!item || !item.tooltip)\n\t\treturn false;\n\n\tconst label = item.tooltip.targetRef.current;\n\treturn item.label.length > 1 || value === false || label.scrollWidth > label.offsetWidth;\n};\n\n/**\n * Open Set effect handler.\n * display tooltip is item path is longer then 1 (item is not in start column)\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleOpenedSet = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {index, id, value}\n\t\t},\n\t\tstate: {items},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (id === 'dragTooltip')\n\t\treturn;\n\n\tif (shouldDisplayLabel(items[index], value)) {\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `items[${index}].tooltip.opened`,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\n/**\n * this function handles tooltip on items drag icon,\n * it will only open the tooltip on focus\n * @param {object} coeffects\n * @param {integer} index\n * @returns {(function(*): void)|*}\n */\nexport const dragIconFocusHandler = (coeffects, index) =>\n\tevent => {\n\t\tconst {updateState, state: {items}} = coeffects;\n\t\tconst {type} = event;\n\n\t\tconst value = type === 'focus';\n\n\t\tif (shouldDisplayLabel(items[index], value)) {\n\t\t\tupdateState({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: `items[${index}].tooltip.dragOpened`,\n\t\t\t\tvalue\n\t\t\t});\n\t\t}\n\t};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {toggleFocus, stopPropagation} from './handlers/onClickHandler';\nimport {\n\thandleDragEnd,\n\thandleDragEnter,\n\thandleDragOver,\n\thandleDragStart,\n\thandleDrop\n} from './handlers/dragAndDropHandler';\nimport {handleFocus} from './handlers/focusHandler';\nimport {handleKeyDown} from './handlers/keyboardEventHandler';\nimport {dragIconFocusHandler} from './handlers/tooltipOpenedSetHandler';\nimport {scrollIntoView} from '../shared/browser';\n\nconst REMOVE_ROW = t({code: 'sn-list-selector', message: 'Remove item'});\nconst REMOVE_MULTIPLE_ROWS = t({code: 'sn-list-selector', message: 'Remove items'});\nexport const REMOVE_SELECTED_FIELD_ACTION = 'removeSelectedField';\nconst TOOLTIP_DELAY = 50;\nconst ITEMS_TOOLTIP_SEPARATOR = ' > ';\nconst ITEMS_TOOLTIP_SEPARATOR_RTL = ' < ';\nconst ITEMS_ELLIPSIS_SEPARATOR = '...';\n\nexport const SELECTED_CONTENT = t({code: 'sn-list-selector', message: 'Select fields to add here'});\nexport const NO_SELECTION_LABEL = t({code: 'sn-list-selector', message: 'No fields selected yet'});\n/**\n * Check if the page direction is RTL (right to left)\n * @returns {boolean}\n */\nconst isRTL = () => document.dir === 'rtl';\n\n/**\n * @param {object} Obj\n * @param {Function} Obj.updateState\n */\nconst setTooltipRefReady = ({updateState}) =>\n\t() => {\n\t\tupdateState({isTooltipRefReady: true});\n\t};\n\n/**\n * @param {object} Obj\n * @param {boolean} Obj.dragging\n * @param {boolean} Obj.isTooltipRefReady\n */\nconst shouldRenderTooltip = ({dragging, isTooltipRefReady}) =>\n\tisTooltipRefReady && !dragging;\n\n/**\n * scroll to element\n * @param {HTMLElement} elm\n * @returns {*}\n */\nconst scrollToNewItem = coeffects =>\n\t({elm}) => {\n\t\tconst {updateState} = coeffects;\n\n\t\tscrollIntoView(elm);\n\t\tupdateState({\n\t\t\tpath: 'autoScrollToNewItems',\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\nconst getEmptyStateJsx = (comment, label) => (\n\t<div className='no-selected-container'>\n\t\t<div>\n\t\t\t<now-template-message-empty-state\n\t\t\t\talignment='vertical-centered'\n\t\t\t\tcontent={comment}\n\t\t\t\theading={{label, level: 2}}\n\t\t\t\tillustration='no-data'\n\t\t\t/>\n\t\t<\/div>\n\t<\/div>);\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nconst renderItems = coeffects => {\n\tconst {state} = coeffects;\n\tconst {\n\t\tdragItemIndex,\n\t\tdragOverIndex,\n\t\tselectedIndexes,\n\t\titems,\n\t\tautoScrollToNewItems,\n\t\tproperties: {disableReorder, newItems},\n\t} = state;\n\n\treturn items.map((item, index) => {\n\t\t// if we have a selected element (selectedIndexes.length > 0) it should be focused and scrolled to\n\t\t// if we have new item but no node selected scroll to it\n\t\tconst newlyAdded = newItems.includes(item.id);\n\t\tconst isSelected = selectedIndexes.includes(index);\n\t\tconst onItemUpdate = (selectedIndexes.length === 0 && newlyAdded && autoScrollToNewItems) ? scrollToNewItem(coeffects) : undefined;\n\t\tconst onLabelUpdate = setTooltipRefReady(coeffects);\n\n\t\tconst arrayLabels = isRTL() ? [...item.label].reverse() : item.label;\n\t\tconst tooltipSeparator = isRTL() ? ITEMS_TOOLTIP_SEPARATOR_RTL : ITEMS_TOOLTIP_SEPARATOR;\n\t\tconst tooltipText = arrayLabels.join(tooltipSeparator);\n\t\tconst useChevron = item.label.length > 1;\n\t\tconst label = useChevron ? item.label[item.label.length - 1] : item.label[0];\n\t\tconst removeItemMessage = selectedIndexes.length > 0 && selectedIndexes.includes(index) ? REMOVE_MULTIPLE_ROWS : REMOVE_ROW;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tid={`item-${item.id}`}\n\t\t\t\tdata-id={item.id}\n\t\t\t\tclass={{\n\t\t\t\t\t'reorderable-list-item': true,\n\t\t\t\t\tdragging: dragItemIndex === index,\n\t\t\t\t\t'indicator-before':\n\t\t\t\t\t\tdragOverIndex === index && dragOverIndex < dragItemIndex,\n\t\t\t\t\t'indicator-after':\n\t\t\t\t\t\tdragOverIndex === index && dragOverIndex >= dragItemIndex,\n\t\t\t\t}}\n\t\t\t\ton-focusin={handleFocus(coeffects)}\n\t\t\t\ton-focusout={handleFocus(coeffects)}\n\t\t\t>\n\t\t\t\t<div class={{'item-container--new': newlyAdded}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'item-container': true,\n\t\t\t\t\t\t\t'item-container--selected': isSelected,\n\t\t\t\t\t\t\t'item-container--draggable': !disableReorder\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdraggable={disableReorder ? 'false' : 'true'}\n\t\t\t\t\t\ton-dragstart={disableReorder ? null : handleDragStart({index})(coeffects)}\n\t\t\t\t\t\ton-dragend={disableReorder ? null : handleDragEnd(coeffects)}\n\t\t\t\t\t\ton-dragenter={disableReorder ? null : handleDragEnter({index})(coeffects)}\n\t\t\t\t\t\ton-dragover={disableReorder ? null : handleDragOver(coeffects)}\n\t\t\t\t\t\ton-drop={disableReorder ? null : handleDrop(coeffects)}\n\t\t\t\t\t\ton-click={toggleFocus(coeffects, index)}\n\t\t\t\t\t\thook-insert={onItemUpdate}\n\t\t\t\t\t\thook-update={onItemUpdate}\n\t\t\t\t\t>\n\t\t\t\t\t\t{disableReorder ? null : (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon='grid-vertical-outline'\n\t\t\t\t\t\t\t\tsize='md'\n\t\t\t\t\t\t\t\ttabIndex='0'\n\t\t\t\t\t\t\t\tref={item.ref}\n\t\t\t\t\t\t\t\trole='button'\n\t\t\t\t\t\t\t\taria-label={t({code: 'sn-list-selector', message: '{label} press space bar to reorder'}, {label})}\n\t\t\t\t\t\t\t\ton-focus={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t\ton-blur={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t\ton-mouseout={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t/>)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'item-label-container': true,\n\t\t\t\t\t\t\t\t'item-label-container--draggablr': !disableReorder\n\t\t\t\t\t\t\t}} ref={item.tooltip.targetRef}>\n\t\t\t\t\t\t\t{useChevron ? ITEMS_ELLIPSIS_SEPARATOR : ''}\n\t\t\t\t\t\t\t{useChevron ? (\n\t\t\t\t\t\t\t\t<now-icon icon={isRTL() ? 'chevron-left-fill' : 'chevron-right-fill'} size='md' />\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='label'\n\t\t\t\t\t\t\t\thook-insert={onLabelUpdate}\n\t\t\t\t\t\t\t\thook-update={onLabelUpdate}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon={item.locked ? 'lock-outline' : 'close-outline'}\n\t\t\t\t\t\t\tref={item.removeRef}\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tdisabled={item.locked}\n\t\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\t\tvariant='tertiary'\n\t\t\t\t\t\t\tsize='md'\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tbutton: REMOVE_SELECTED_FIELD_ACTION,\n\t\t\t\t\t\t\t\titemDeleted: item.id\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttooltipContent={removeItemMessage}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': t({code: 'sn-list-selector', message: 'Remove {label} from the selected column'}, {label})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={stopPropagation}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<now-tooltip\n\t\t\t\t\tappend-to-payload={{index, id: 'dragTooltip'}}\n\t\t\t\t\tcontent={tooltipText}\n\t\t\t\t\tdelay={TOOLTIP_DELAY}\n\t\t\t\t\tid={`tooltip-drag-${item.id}`}\n\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\topened={item.tooltip.dragOpened}\n\t\t\t\t\ttarget-ref={item.ref.current}\n\t\t\t\t/>\n\t\t\t\t{\n\t\t\t\t\tshouldRenderTooltip(state) ? (\n\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\tappend-to-payload={{index, id: 'itemTooltip'}}\n\t\t\t\t\t\t\tcontent={tooltipText}\n\t\t\t\t\t\t\tdelay={TOOLTIP_DELAY}\n\t\t\t\t\t\t\tid={`tooltip-${item.id}`}\n\t\t\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\t\t\topened={item.tooltip.opened}\n\t\t\t\t\t\t\ttarget-ref={item.tooltip.targetRef.current}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t<\/li>\n\t\t);\n\t});\n};\n\n//@ts-ignore\nexport const view = (state, helpers) => {\n\tconst {items, listRef, liveUpdateText, properties: {ariaLabel}} = state;\n\tconst coeffects = {...helpers, state};\n\n\treturn (\n\t\t<div\n\t\t\tclassName='reorderable-list-container'\n\t\t\tref={listRef}\n\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\ton-click={toggleFocus(coeffects, -1)}\n\t\t\ttabIndex='-1'\n\t\t>\n\t\t\t{\n\t\t\t\titems.length > 0 ? (\n\t\t\t\t\t<ol aria-label={ariaLabel} className='reorderable-list'>\n\t\t\t\t\t\t{renderItems(coeffects)}\n\t\t\t\t\t<\/ol>\n\t\t\t\t) : getEmptyStateJsx(SELECTED_CONTENT, NO_SELECTION_LABEL)\n\t\t\t}\n\t\t\t<span\n\t\t\t\tid='snSelectedBucketLiveUpdate'\n\t\t\t\tclassName='now-a11y-label'\n\t\t\t\taria-live='assertive'\n\t\t\t>\n\t\t\t\t{liveUpdateText}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\n\n\n/**\n * Renders table header cell th element\n * @param {Items} items array of ...\n * @returns {Items | *}\n */\nexport const initializeItems = items =>\n\titems.map(\n\t\titem => ({\n\t\t\t...item,\n\t\t\tref: createRef(),\n\t\t\tremoveRef: createRef(),\n\t\t\ttooltip: {\n\t\t\t\topened: false,\n\t\t\t\tdragOpened: false,\n\t\t\t\ttargetRef: createRef(),\n\t\t\t}\n\t\t}));\n\n\n/**\n * Property changed effect handler.\n * @param {Props} items\n */\nexport const setInitialStateHandler = coeffects => {\n\tconst {properties: {items}, host} = coeffects;\n\treturn ({\n\t\tdragging: false,\n\t\tdragItemIndex: -1,\n\t\tdragOverIndex: -1,\n\t\tisTooltipRefReady: false,\n\t\titems: initializeItems(items),\n\t\tlistRef: createRef(),\n\t\tliveUpdateText: '',\n\t\tselectedIndexes: [],\n\t\tlastSelectedIndex: undefined, // contain the laset element selected/unselected for shift selection\n\t\tautoScrollToNewItems: true, // specified if auto scroll to new item is required (we only outo scroll in the first time new item is displayed)\n\t\thost\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {handleComponentPropertyChanged} from './handlers/componentPropertyChangedHandler';\nimport {handleOpenedSet} from './handlers/tooltipOpenedSetHandler';\nimport {removeItemClickHandler} from './handlers/onClickHandler';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TOOLTIP#OPENED_SET']: {\n\t\teffect: handleOpenedSet,\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON_ICONIC#CLICKED']: {\n\t\teffect: removeItemClickHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import {initializeItems} from './setInitialStateHandler';\n\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value}\n\t\t},\n\t\tproperties: {\n\t\t\tnewItems\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (name === 'items') {\n\t\tupdateState({\n\t\t\tisTooltipRefReady: false,\n\t\t\titems: initializeItems(value),\n\t\t\tselectedIndexes: [],\n\t\t\tlastSelectedIndex: undefined,\n\t\t\tautoScrollToNewItems: newItems?.length > 0\n\t\t});\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {actionHandlers} from './actionHandlers';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects properties\n * @returns {{dragging: boolean, dragItemIndex: number, dragOverIndex: number, liveUpdateText: string, isTooltipRefReady: boolean, items: Array<Item>|*, listRef: *, selectedIndexes: array}}\n */\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n * A List selector Selected items visual component used to contains the list of selected items,\n * manages its order and remove them if no longer necessary\n *\n * @seismicElement sn-selected-bucket\n * @summary A List selector Selected items visual component used to contains the list of selected items, manages its order and remove them if no longer necessary.\n */\ncreateCustomElement('sn-selected-bucket', {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The list items to be displayed in the selected items list.\n\t\t * Each selected element structured from the elements the user dot walked until the element's panel opened\n\t\t * and the selected element as the lat item\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {type: 'string'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\t\tlocked: {type: 'boolean'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * True/False flag to indicate if the selected items list can be reordered\n\t\t * @type {Boolean}\n\t\t */\n\t\tdisableReorder: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\n\t\t},\n\t\t/**\n\t\t * The selected items title to be read when accessed (by screen reader)\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Ids of the newly added item, they have a different style\n\t\t */\n\t\tnewItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched on change of selected fields order.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {Object}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEMS_REORDERED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titems : {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\t\ttooltip: {type: 'string'}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when one of the items in selected was removed.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {String}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEM_DELETED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a new item was added to the selected items.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {String}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEM_SELECTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titemId: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","\nexport const SELECTED_ITEMS_ID_SEPARATOR = '.';\n\n/**\n * Convert a selected item to hash table key.\n * @param {array} path\n * @param {string} item\n * @returns {string}\n */\nexport const generateSelectedItemKey = path => {\n\tif (path)\n\t\treturn path.join(SELECTED_ITEMS_ID_SEPARATOR);\n\n\treturn '';\n};\n\n/**\n * convert selectedItems hashtable key back to selected item object\n * @param {string} key\n * @returns {{item, openItems: *}}\n */\nexport const convertKeyToSelectedItem = key => {\n\tif (!key)\n\t\treturn [];\n\n\treturn key.split(SELECTED_ITEMS_ID_SEPARATOR);\n};\n\n/**\n * Return the last item id in the items key\n * (which is a list of items ids seperated dot)\n * @param {string} key\n * @returns {string}\n */\nexport const getSelectedItemsKeyLastItem = key => {\n\tif (!key)\n\t\treturn;\n\n\tconst items = convertKeyToSelectedItem(key);\n\treturn items[items.length - 1];\n};\n\n/**\n * Get the currently visible panels ids\n * @param {object} coeffects\n * @returns {{leftPanel: *, rightPanel: *}}\n */\nexport const getOpenPanels = coeffects => {\n\tconst {state: {properties, openPanelsPath}} = coeffects;\n\tconst {onePanelMode} = properties;\n\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\tconst leftPanel = noRightPanel ?\n\t\topenPanelsPath[openPanelsPath.length - 1] : // one panel mode\n\t\topenPanelsPath[openPanelsPath.length - 2]; // two panels mode\n\n\tconst rightPanel = !noRightPanel ? openPanelsPath[openPanelsPath.length - 1] : null;\n\n\treturn {leftPanel, rightPanel};\n};\n\n/**\n * Find the panel on which the input item displayed, if panel not visible return undefined\n * @param {object} coeffects\n * @param {string} itemKey\n * @returns {*}\n */\nexport const findItemPanel = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\topenPanelsPath,\n\t\t\titems,\n\t\t\trightPanelRef\n\t\t}\n\t} = coeffects;\n\n\tconst pathLength = openPanelsPath.length;\n\tconst itemPath = convertKeyToSelectedItem(itemKey);\n\tconst itemPathLength = itemPath.length;\n\tconst rightPanelEmpty = rightPanelRef?.current?.childNodes.length === 0;\n\n\tif (itemPathLength !== pathLength && itemPathLength + 1 !== pathLength) // item not in a visible panel\n\t\treturn;\n\n\tconst itemId = itemPath.pop();\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\n\tif ((!rightPanel || rightPanelEmpty) && items[leftPanel][itemId]) // no right panel\n\t\treturn leftPanel;\n\n\tif (itemPathLength === pathLength && items[rightPanel][itemId]) // two panels item on the right\n\t\treturn rightPanel;\n\n\tif (itemPathLength + 1 === pathLength && items[leftPanel][itemId]) // two panels item on the left\n\t\treturn leftPanel;\n};\n","// external events\nexport const PANEL_CHANGED_EVENT = 'SN_AVAILABLE_ITEMS#PANEL_CHANGED';\nexport const ITEM_EXPAND_REQUESTED = 'SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED';\nexport const CHECKED_SET_EVENT = 'SN_AVAILABLE_ITEMS#CHECKED_SET';\nexport const SCROLLED_TO_BOTTOM = 'SN_AVAILABLE_ITEMS#SCROLLED_TO_BOTTOM';\nexport const SEARCH_TERM_SET = 'SN_AVAILABLE_ITEMS#SEARCH_TERM_SET';\n\n// buttons\nexport const OPEN_ITEM_BUTTON = 'OPEN_ITEM_BUTTON';\nexport const CLOSE_PANELS_BUTTON = 'CLOSE_PANELS_BUTTON';\n\n// constants\nexport const SEARCH = {INITIAL: 'initial', CONTAINS: 'contains'};\n","import {SEARCH, SEARCH_TERM_SET} from '../constants';\n\n/**\n * Validates if text meats the search criteria according to search type (start with / includes), returns true or false\n * @param {string} text\n * @param {string} searchValue\n * @param {string} searchType\n * @returns {boolean}\n */\nconst validateItem = (text, searchValue, searchType) => {\n\tif (searchType === SEARCH.CONTAINS)\n\t\treturn text.toLowerCase().includes(searchValue.toLowerCase());\n\n\treturn text.toLowerCase().startsWith(searchValue.toLowerCase());\n};\n\n/**\n * filter a panel items according to input search value\n * @param {object} panelItems\n * @param {string} value\n * @param {string} openItem\n * @param {object} coeffects\n * @returns {{}}\n */\nexport const filterPanelItemsBySearchValue = (category, searchValue, openItem, coeffects) => {\n\tconst {state: {properties, items}} = coeffects;\n\tconst {search = SEARCH.INITIAL} = properties;\n\n\tconst panelItems = items[category];\n\n\tif (!searchValue)\n\t\treturn panelItems;\n\n\tconst filteredPanelItems = {};\n\n\t// if we have an open item (expanded) it must stay\n\t// if it does not meet the filter criteria it moves under \"open item\"\n\tif (panelItems[openItem] && !validateItem(panelItems[openItem]?.label, searchValue, search))\n\t\tfilteredPanelItems[openItem] = panelItems[openItem];\n\n\tObject.keys(panelItems).forEach(panelItem => {\n\t\tconst panelData = panelItems[panelItem];\n\n\t\tif (validateItem(panelData?.label, searchValue, search))\n\t\t\tfilteredPanelItems[panelItem] = panelData;\n\t});\n\n\treturn filteredPanelItems;\n};\n\n/**\n * This handler filters out items according to search criteria\n * @param {object} coeffects\n * @returns {(function(*): void)|*}\n */\nexport const searchChangedHandler = (coeffects, rightPanel, leftPanel) =>\n\tevent => {\n\t\tconst {updateState, dispatch} = coeffects;\n\n\t\tconst element = event.target;\n\t\tif (!element)\n\t\t\treturn;\n\n\t\tconst value = element.value || '';\n\n\t\tupdateState({\n\t\t\tsearchValue: value,\n\t\t\tactiveItem: undefined,\n\t\t\tlastSelectedItem: undefined\n\t\t});\n\n\t\tdispatch(SEARCH_TERM_SET, {searchValue: value, category: leftPanel, openedCategory: rightPanel});\n\t};\n","import {\n\tconvertKeyToSelectedItem,\n\tfindItemPanel,\n\tgetOpenPanels\n} from './utils';\nimport {CHECKED_SET_EVENT} from '../constants';\n\n/**\n * End Shift selection flow (shift key not longer pressed)\n * @param {object} coeffects\n */\nexport const checkedSetShiftEnded = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({shiftSelectedItems: undefined, activeItem: undefined});\n};\n\n/**\n * End Shift selection flow (shift key not longer pressed)\n * @param {object} coeffects\n */\nexport const checkedSetShiftStarted = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({shiftSelectedItems: {}, activeItem: undefined});\n};\n\n/**\n * Get the list of items between the input item to the last selected item\n * @param {object} coeffects\n * @param {string} itemKey - the input item for searching items list\n * @returns {object} - object of items\n */\nconst getShiftSelectedItems = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\tlastSelectedItem,\n\t\t\trightPanelRef,\n\t\t\tleftPanelRef,\n\t\t\tselectedItems\n\t\t}\n\t} = coeffects;\n\n\tconst {rightPanel} = getOpenPanels(coeffects); // check if right panel is open and not empty\n\tconst itemPanel = findItemPanel(coeffects, itemKey);\n\tconst lastSelectedPanel = findItemPanel(coeffects, lastSelectedItem);\n\n\t// only if both items (last selected and hovered) on the same panel we select\n\tif (!itemPanel || itemPanel !== lastSelectedPanel)\n\t\treturn;\n\n\t// Get panel items, it must be from DOM and not from items object since order matters and item is an hash table\n\tconst panelItems = itemPanel === rightPanel ?\n\t\tArray.from(rightPanelRef.current.querySelectorAll('.panel-item')) :\n\t\tArray.from(leftPanelRef.current.querySelectorAll('.panel-item:not(.panel-variables)'));\n\n\tconst lastSelectedPos = panelItems.findIndex(item => item.id === lastSelectedItem);// keysArray.indexOf(lastSelectedId);\n\tconst hoveredItemPos = panelItems.findIndex(item => item.id === itemKey);\n\tconst startIndex = Math.min(lastSelectedPos, hoveredItemPos);\n\tconst endIndex = Math.max(lastSelectedPos, hoveredItemPos);\n\n\tconst shiftSelectedItems = {};\n\t// get only the items between the last selected and hovered items\n\tpanelItems.forEach((item, index) => {\n\t\tconst isLocked = selectedItems[item.id]?.locked;\n\t\tif (index >= startIndex && index <= endIndex && item.id !== lastSelectedItem && !isLocked)\n\t\t\tshiftSelectedItems[item.id] = true;\n\t});\n\n\treturn shiftSelectedItems;\n};\n\n\n/**\n * Handles hover while shift key is pressed\n * by saving the item to the multi selected items array\n * to be selected at the end of the process (second shift+click)\n * @param {object} coeffects\n * @param {string} itemKey\n */\nexport const checkedSetHoverShiftHandler = (coeffects, itemKey) =>\n\t() => {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tstate: {\n\t\t\t\tshiftSelectedItems,\n\t\t\t\tlastSelectedItem\n\t\t\t}\n\t\t} = coeffects;\n\n\t\tif (!shiftSelectedItems || !lastSelectedItem) // shift not selected, or no item to start from\n\t\t\treturn;\n\n\t\tconst newShiftSelectedItems = getShiftSelectedItems(coeffects, itemKey) || {};\n\n\t\tupdateState({shiftSelectedItems: newShiftSelectedItems});\n\t};\n\nconst checkedSetSingleItemHandler = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems\n\t\t},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst isSelected = !selectedItems[itemKey]?.selected; // toggle selection\n\tif (isSelected)\n\t\tselectedItems[itemKey] = {selected: true}; // add to selected items hash\n\telse\n\t\tdelete selectedItems[itemKey]; // remove from selected items hash\n\n\t// convert selected item to selectedItem property format and add to payload\n\tconst selectedItemArr = convertKeyToSelectedItem(itemKey);\n\n\tdispatch(CHECKED_SET_EVENT, [{item: selectedItemArr, checked: isSelected}]);\n\n\tupdateState({selectedItems, activeItem: itemKey, lastSelectedItem: itemKey});\n};\n\n/**\n * Get the list of items between the last selected item (the last element that was clicked)\n * and the input item (itemKey)\n * @param {object} coeffects\n * @param {string} itemKey\n */\nconst checkedSetShiftHandler = (coeffects, itemKey) => {\n\tconst {state: {selectedItems, lastSelectedItem}, updateState, dispatch} = coeffects;\n\tconst checkedItems = [];\n\n\t// check if the element selected, if it is we are in multi selection state, if not multi un-select\n\tconst shiftSelectedChecked = selectedItems[lastSelectedItem]?.selected;\n\n\tconst shiftSelectedItems = getShiftSelectedItems(coeffects, itemKey);\n\tif (!shiftSelectedItems) { // not a multi selection, select the single item clicked since we do not have lastSelectedItem\n\t\tcheckedSetSingleItemHandler(coeffects, itemKey);\n\t\tupdateState({shiftSelectedItems: {}}); // start shift selection process\n\t\treturn;\n\t}\n\t// select all elements in shiftSelectedItems\n\tObject.keys(shiftSelectedItems).forEach(item => {\n\t\t// convert selected item to selectedItem property format and add to payload\n\t\tconst selectedItemArr = convertKeyToSelectedItem(item);\n\t\tif ((shiftSelectedChecked && !selectedItems[item]?.selected) || // added item that is not currently in the selected list\n\t\t\t(!shiftSelectedChecked && selectedItems[item]?.selected)) // removed item that was not removed yet from the list\n\t\t\tcheckedItems.push({item: selectedItemArr, checked: !!shiftSelectedChecked}); //only item that changed its state is published by event\n\n\t\tif (shiftSelectedChecked)\n\t\t\tselectedItems[item] = {selected: true};\n\t\telse\n\t\t\tdelete selectedItems[item];\n\t});\n\n\tdispatch(CHECKED_SET_EVENT, checkedItems);\n\t// clear shift selection flow by initializing shiftSelectedItems\n\tupdateState({shiftSelectedItems: undefined, selectedItems, lastSelectedItem: itemKey, activeItem: itemKey});\n};\n\n/**\n * This handler handles checkbox click event\n * It will send an event with the checked item path and its checked value\n * @param {object} coeffects\n */\nexport const checkedSetHandler = (coeffects, itemKey) =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {\n\t\t\t\tselectedItems,\n\t\t\t\tlastSelectedItem,\n\t\t\t\tshiftSelectedItems\n\t\t\t}\n\t\t} = coeffects;\n\t\tif (selectedItems[itemKey]?.locked) // locked item cannot be selected or unselected\n\t\t\treturn;\n\n\t\tconst lastSelectedItemOnPanel = lastSelectedItem && convertKeyToSelectedItem(lastSelectedItem).length === convertKeyToSelectedItem(itemKey).length;\n\t\t// if shift key (shiftSelectedItems is only defined if shift is pressed) is pressed we are on multi select mode\n\t\tif ((event.shiftKey || shiftSelectedItems) && lastSelectedItemOnPanel)\n\t\t\tcheckedSetShiftHandler(coeffects, itemKey);\n\t\telse\n\t\t\tcheckedSetSingleItemHandler(coeffects, itemKey);\n\n\t};\n\n/**\n * Select all items of the right most panel (right panel if exists and not empty left panel otherwise)\n * @param {object} coeffects\n */\nexport const selectAllItems = coeffects => {\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems,\n\t\t\trightPanelRef,\n\t\t\tleftPanelRef,\n\t\t\thost\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tconst newSelectedItems = {...selectedItems};\n\n\t// get focused element\n\tconst focusables = host.shadowRoot.activeElement;\n\t// find focused element parent panel\n\tconst panel = focusables && focusables.closest('.panel-right') ? 'right' : 'left';\n\n\tconst panelItems = panel === 'right' ?\n\t\trightPanelRef.current.querySelectorAll('.panel-item') :\n\t\tleftPanelRef.current.querySelectorAll('.panel-item:not(.panel-variables)');\n\tconst checkedItems = [];\n\n\tpanelItems.forEach(item => {\n\t\tif (!newSelectedItems[item.id]?.selected) {\n\t\t\tnewSelectedItems[item.id] = {selected: true};\n\t\t\t// convert selected item to selectedItem property format and add to payload\n\t\t\tconst selectedItemArr = convertKeyToSelectedItem(item.id);\n\n\t\t\tcheckedItems.push({item: selectedItemArr, checked: true});\n\t\t}\n\t});\n\n\tdispatch(CHECKED_SET_EVENT, checkedItems);\n\tupdateState({selectedItems: newSelectedItems, lastSelectedItem: undefined});\n};\n","import {\n\tARROW_LEFT,\n\tARROW_RIGHT,\n\tCTRL_A,\n\tENTER,\n\tSHIFT,\n\tnormalizeKey,\n} from '../../shared/keyboardEvents';\nimport {checkedSetShiftEnded, checkedSetShiftStarted, selectAllItems} from './checkedSetHandler';\n\n/**\n * Handle ARROW_RIGHT and ARROW_LEFT event by navigating between the checkbox and expand button\n * @param {object} event\n */\nconst moveItemFocusToRightAndLeft = (coeffects, event) => {\n\tconst {key, target} = event;\n\tconst {state: {rightPanelRef, leftPanelRef}} = coeffects;\n\n\tconst isRightPanel = event.composedPath().some(element => element.classList?.contains('panel-right'));\n\tconst isLeftPanel = event.composedPath().some(element => element.classList?.contains('panel-left'));\n\tif (!isRightPanel && !isLeftPanel) // focus is not on one of the panels - do nothing\n\t\treturn;\n\n\tif (isLeftPanel &&\n\t\tkey === ARROW_RIGHT &&\n\t\ttarget.parentNode.classList.contains('panel-item') || // panel item\n\t\ttarget.parentNode.classList.contains('panel-item-popover') // panel item info cutton\n\t) {\n\t\t// arrow right on expand button move focus to first element on right panel\n\t\tconst rightPanel = rightPanelRef.current;\n\n\t\tconst focusElement = rightPanel.querySelector('now-checkbox');\n\t\tfocusElement?.focus();\n\t} else if (isRightPanel && key === ARROW_LEFT) {\n\t\t// arrow left on right panel move focus back to expand button on expanded item\n\t\tconst leftPanel = leftPanelRef.current;\n\n\t\tconst expandedItem = leftPanel.querySelector('.panel-row--open .panel-item-expand');\n\t\texpandedItem?.focus();\n\t}\n\n\tevent.preventDefault();\n};\n\n/**\n * Handle ENTER key event for checkbox item by emulating a click\n * @param {object} event\n */\nconst clickFocusedElement = event => {\n\tconst path = event.composedPath();\n\tif (!path)\n\t\treturn;\n\tconst element = path[0];\n\n\tif (element?.type === 'checkbox') {\n\t\telement.click();\n\t\tevent.preventDefault();\n\t}\n};\n\n/**\n * keyboard handler for keyboard navigation (accessibility).\n * @param {object} event\n */\nexport const handleKeyDown = coeffects =>\n\tevent => {\n\t\tconst key = normalizeKey(event);\n\n\t\tswitch (key) {\n\t\t\tcase (ARROW_RIGHT):\n\t\t\tcase (ARROW_LEFT):\n\t\t\t\tmoveItemFocusToRightAndLeft(coeffects, event);\n\t\t\t\tbreak;\n\t\t\tcase (ENTER):\n\t\t\t\tclickFocusedElement(event);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\nexport const handleKeyPanelDown = coeffects =>\n\tevent => {\n\t\tconst key = normalizeKey(event);\n\n\t\tswitch (key) {\n\t\t\tcase (CTRL_A):\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectAllItems(coeffects);\n\t\t\t\tbreak;\n\t\t\tcase (SHIFT):\n\t\t\t\tcheckedSetShiftStarted(coeffects);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\nexport const handlePanelKeyUp = coeffects =>\n\tevent => {\n\t\tconst key = normalizeKey(event);\n\n\t\tif (key === SHIFT)\n\t\t\tcheckedSetShiftEnded(coeffects);\n\t};\n","import {SCROLLED_TO_BOTTOM} from '../constants';\n\nconst BOTTOM_THRESHOLD = 100;\n\n/**\n *\n * @param {object} coeffects\n * @param {string} panel - the panel (category) on which scroll event fired\n * @returns {(function(*): void)|*}\n */\nexport const handleScroll = (coeffects, panel) =>\n\tevent => {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tstate: {reportBottomSent}, // used to track scrolled_to_bottom event so it won't be send more than once\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tif (!panel)\n\t\t\treturn;\n\n\t\t// calculate scroll position\n\t\t/*\n\t\t* scrollHeight: the total scroll height - from element start to end\n\t\t* scrollTop: the area above the scroll - from element start to current scroll position\n\t\t* clientHeight: the visible area of the element\n\t\t*\n\t\t* So if the scroll reached its end:\n\t\t*     scrollHeight - scrollTop = clientHeight\n\t\t* Or:\n\t\t* \t  scrollHeight - scrollTop - clientHeight = 0\n\t\t* To enable data loading time we want to fire the event before reaching the scroll end:\n\t\t*     scrollHeight - clientHeight - scrollTop < 100\n\t\t*/\n\t\tconst {scrollHeight, scrollTop, clientHeight} = event.target;\n\t\tconst distanceFromBottom = scrollHeight - clientHeight - scrollTop;\n\n\t\t// scrollTop === 0 means no scroll\n\t\tif (scrollTop !== 0 && distanceFromBottom < BOTTOM_THRESHOLD && !reportBottomSent[panel]) {\n\t\t\tdispatch(SCROLLED_TO_BOTTOM, {category: panel});\n\t\t\treportBottomSent[panel] = true;\n\t\t} else if (distanceFromBottom >= BOTTOM_THRESHOLD) {\n\t\t\t// initialize flag if distance is bigger than 100 (due to scroll up or data load)\n\t\t\treportBottomSent[panel] = false;\n\t\t}\n\n\t\tupdateState({reportBottomSent});\n\t};\n","import '@servicenow/now-checkbox';\nimport '@servicenow/now-breadcrumbs';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-rich-text';\nimport '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {\n\tconvertKeyToSelectedItem,\n\tgenerateSelectedItemKey,\n\tgetOpenPanels,\n\tgetSelectedItemsKeyLastItem\n} from './handlers/utils';\nimport {filterPanelItemsBySearchValue, searchChangedHandler} from './handlers/searchHandler';\nimport {CLOSE_PANELS_BUTTON, OPEN_ITEM_BUTTON} from './constants';\nimport {handleKeyDown, handlePanelKeyUp, handleKeyPanelDown} from './handlers/keyboardEventHandler';\nimport {handleScroll} from './handlers/scrollHandler';\nimport {checkedSetHandler, checkedSetHoverShiftHandler} from './handlers/checkedSetHandler';\n\nconst getOpenItemButtonText = itemLabel => t({code: 'sn-list-selector', message: 'Open item: {itemLabel}'}, {itemLabel});\nconst CLOSE_PANELS_BUTTON_TEXT = t({code: 'sn-list-selector', message: 'Close panels'});\nconst SEARCH_TEXT = t({code: 'sn-list-selector', message: 'Search'});\nconst LEFT_PANEL_TEXT = t({code: 'sn-list-selector', message: 'Left panel'});\nconst RIGHT_PANEL_TEXT = t({code: 'sn-list-selector', message: 'Right panel'});\nconst ITEM_INFO_BUTTON_TEXT = t({code: 'sn-list-selector', message: 'Open additional data'});\n\n/**\n * Check if the page direction is RTL (right to left)\n * @returns {boolean}\n */\nconst isRTL = () => document.dir === 'rtl';\n\n/**\n * get the last focused item on left panel (it is displayed with a different style)\n * 1) to check on which panel the focus item is all we need is to compare the item path length to panels path length\n *     if items path is the same length of panels path item click is on the right panel if smaller it is on the left\n * 2) if a right panel item is focused, the last item that was focused in the left panel must be the open panel\n * @param {string} activeItem\n * @param {array} openPanelsPath\n * @param {array} openItemsPath\n * @returns {*|string}\n */\nconst getLeftActiveItem = (activeItem, openPanelsPath, openItemsPath) => {\n\n\tconst openItem = openItemsPath[openItemsPath.length - 1];\n\tconst focusItemId = getSelectedItemsKeyLastItem(activeItem);\n\tconst isRightPanelItemFocused = convertKeyToSelectedItem(activeItem).length === openPanelsPath.length;\n\treturn !activeItem || isRightPanelItemFocused ? openItem : focusItemId;\n};\n\n/**\n * Generate JSX for panel item expand chevron icon\n * @param {object} item\n * @param {object} itemData\n * @param {string} panel\n * @returns {JSX.Element|null}\n */\nconst expandButtonJsx = (item, itemData, panel) => (itemData.reference ?\n\t<now-button-iconic\n\t\tclassName='panel-item-expand'\n\t\ticon={isRTL() ? 'chevron-left-fill' : 'chevron-right-fill'}\n\t\tvariant='tertiary'\n\t\tsize='md'\n\t\thide-padding={true}\n\t\tconfig-aria={{button: {'aria-label': getOpenItemButtonText(itemData.label)}}}\n\t\ttooltip-content={getOpenItemButtonText(itemData.label)}\n\t\tappend-to-payload={{\n\t\t\tbutton: OPEN_ITEM_BUTTON,\n\t\t\titem,\n\t\t\tpanel\n\t\t}}\n\t/> :\n\tnull);\n\n/**\n * Generate JSX for panel item info button\n * @param {object} itemData\n * @param {boolean} showHiddenControls - if true icon always displayed\n * @returns {JSX.Element|null}\n */\nconst infoButtonJsx = (itemData, showHiddenControls) => {\n\tconst popoverPosition = [\n\t\t{target: 'center-end', content: 'center-start'},\n\t\t{target: 'top-end', content: 'top-start'},\n\t\t{target: 'bottom-end', content: 'bottom-start'},\n\t\t{target: 'center-start', content: 'center-end'},\n\t\t{target: 'top-start', content: 'top-end'},\n\t\t{target: 'bottom-start', content: 'bottom-end'}\n\t];\n\n\tconst popoverClass = {\n\t\t'panel-item-popover': true,\n\t\t'panel-item-popover--visible': showHiddenControls\n\t};\n\n\t// I need to wrap additionalData with div since now-rich-text style would not effect its content\n\tconst itemAdditionalData = `<div style='padding:5px;max-width:360px;'>${itemData.additionalData}<\/div>`;\n\n\treturn itemData.additionalData ? (\n\t\t<now-popover interaction-type='none' positions={popoverPosition} class={popoverClass}>\n\t\t\t<now-button-iconic\n\t\t\t\tslot='trigger'\n\t\t\t\ticon='circle-info-outline'\n\t\t\t\tvariant='tertiary'\n\t\t\t\tsize='sm'\n\t\t\t\thide-padding={true}\n\t\t\t\tconfig-aria={{button: {'aria-label': ITEM_INFO_BUTTON_TEXT}}}\n\t\t\t\ttooltip-content={ITEM_INFO_BUTTON_TEXT}\n\t\t\t/>\n\t\t\t<div slot='content'>{ITEM_INFO_BUTTON_TEXT}<\/div>\n\t\t\t<now-rich-text slot='content' aria-live='polite' html={itemAdditionalData}/>\n\t\t<\/now-popover>) : null;\n};\n\n/**\n * Generate JSX for item sub label\n * @param {object} itemData\n * @returns {JSX.Element|null}\n */\nconst subLabelJsx = itemData =>\n\t(itemData?.subLabel ? (\n\t\t<div className='panel-item-sublabel-div'>\n\t\t\t<span className='panel-item-sublabel'>{itemData?.subLabel}<\/span>\n\t\t<\/div>) : null);\n\n/**\n * Generate JSX for panel item checkbox component\n * @param {array} itemData\n * @param {string} itemSelectedKey\n * @param {boolean} isItemSelected\n * @param {boolean} isItemLocked\n * @returns {JSX.Element}\n */\nconst checkBoxJsx = (itemData, itemSelectedKey, isItemSelected, isItemLocked, coeffects) => (\n\t<now-checkbox\n\t\tclassName='panel-item-checkbox'\n\t\tsize='md'\n\t\tname={itemSelectedKey}\n\t\tvalue={false}\n\t\tchecked={isItemSelected}\n\t\treadonly={isItemLocked}\n\t\tlabel={itemData.label}\n\t\tmanageChecked={true}\n\t\ton-click={checkedSetHandler(coeffects, itemSelectedKey)}\n\t\tconfig-aria={{\n\t\t\tcheckbox: {\n\t\t\t\t'aria-label': itemData.label,\n\t\t\t\trole: 'checkbox',\n\t\t\t\t'aria-checked': 'false'\n\t\t\t}\n\t\t}}\n\t/>\n);\n\n/**\n * Generate JSX for separator item\n * @param {string} label\n * @returns {JSX.Element}\n */\nconst separatorJsx = label => <div className='variables-separator'>{label}<\/div>;\n\n/**\n * generates one panels JSX\n * @param {object} coeffects\n * @param {object} panelItems\n * @param {string} panel\n * @param {array} openItemsPath\n * @param {string} openItem\n * @param {boolean} showHiddenControls\n * @param {boolean} variablesRenderingMode\n * @param {array} scrollToBottomLoader\n * @returns {*[]}\n */\nconst generatePanelItemsJsx = (coeffects, panelItems, panel, openItemsPath, openItem = '', searchMode = false) => {\n\tlet panelItemsJsx = [];\n\tconst variablesJsx = [];\n\tconst searchOpenItemJsx = [];\n\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems,\n\t\t\tshiftSelectedItems,\n\t\t\tlastSelectedItem,\n\t\t\tproperties: {\n\t\t\t\tshowHiddenControls = false,\n\t\t\t\tvariablesRenderingMode,\n\t\t\t\tscrollToBottomLoader = []\n\t\t\t}\n\t\t}\n\t} = coeffects;\n\n\t// if not data available return loading spinner\n\tif (!panelItems)\n\t\treturn <div className={'panel-spinner'}><now-loader label='' size='lg' action='' /><\/div>;\n\n\tconst shiftSelectedChecked = selectedItems[lastSelectedItem]; // expected value in shift select is the value of the last selected element\n\n\tObject.keys(panelItems).forEach(item => {\n\t\tconst itemData = panelItems[item];\n\t\tconst itemSelectedKey = generateSelectedItemKey([...openItemsPath, item]);\n\t\tconst isItemLocked = selectedItems[itemSelectedKey]?.locked === true;\n\t\tconst isItemOpened = openItem === item;\n\t\tconst isShiftSelected = shiftSelectedItems && !!shiftSelectedItems[itemSelectedKey];\n\t\tconst isItemSelected = !isShiftSelected ? selectedItems[itemSelectedKey]?.selected === true : // no shift pressed display selected actual value\n\t\t\tshiftSelectedChecked ? isShiftSelected : !isShiftSelected; // shift pressed display expected value after shift selection\n\n\t\tconst checkBox = checkBoxJsx(itemData, itemSelectedKey, isItemSelected, isItemLocked, coeffects);\n\n\t\tconst expandButton = expandButtonJsx(item, itemData, panel);\n\n\t\tconst infoButton = infoButtonJsx(itemData, showHiddenControls);\n\n\t\tconst subLabel = subLabelJsx(itemData);\n\n\t\tconst itemStyle = {\n\t\t\t'panel-row': true,\n\t\t\t'panel-row--open': isItemOpened,\n\t\t\t'panel-row--shift': isShiftSelected\n\t\t};\n\n\t\tif (variablesRenderingMode && (item === 'variables' || item === 'questions')) {\n\t\t\t// The variable section has to be visible at the end of the panel\n\t\t\tvariablesJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Other'}))\n\t\t\t);\n\t\t\tvariablesJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey}>\n\t\t\t\t\t<fieldset className='panel-item panel-variables' attr-id={itemSelectedKey} aria-label={itemData.label}>\n\t\t\t\t\t\t<div className='variables-item'>{itemData?.label}<\/div>\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t} else if (searchMode && isItemOpened) {\n\t\t\t// a filtered out openItem (by search) has to be visible at the beginning of the panel\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Open item'}))\n\t\t\t);\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey}>\n\t\t\t\t\t<fieldset className='panel-item' attr-id={itemSelectedKey} aria-label={itemData.label}>\n\t\t\t\t\t\t{checkBox}\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t\t{subLabel}\n\t\t\t\t<\/div>);\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Search results'}))\n\t\t\t);\n\t\t} else {\n\t\t\tpanelItemsJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey} on-mouseover={checkedSetHoverShiftHandler(coeffects, itemSelectedKey)}>\n\t\t\t\t\t<fieldset className='panel-item' attr-id={itemSelectedKey} aria-label={itemData.label}>\n\t\t\t\t\t\t{checkBox}\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t\t{subLabel}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\t});\n\n\tif (variablesJsx.length > 0) // The variable section has to be visible at the end of the panel\n\t\tpanelItemsJsx = panelItemsJsx.concat(variablesJsx);\n\n\tif (searchOpenItemJsx.length > 0) // a filtered out openItem (by search) has to be visible at the beginning of the panel\n\t\tpanelItemsJsx = searchOpenItemJsx.concat(panelItemsJsx);\n\n\t// Add a Loader at the End of variabile when more Variables are Available to display\n\tif (scrollToBottomLoader.includes(panel)) {\n\t\tconst loadingIcon = <div>\n\t\t\t<now-loader label='' size='md' action='' />\n\t\t<\/div>;\n\t\tpanelItemsJsx.push(loadingIcon);\n\t}\n\treturn panelItemsJsx;\n};\n\n/**\n * generates panels JSX\n * @param {object} coeffects\n * @param {boolean} isRightPanelEmpty\n * @param {boolean} noRightPanel\n * @returns {{rightPanelItems: *[], leftPanelItems: *[]}}\n */\nconst generatePanelsJsx = (coeffects,\n\tisRightPanelEmpty,\n\tnoRightPanel) => {\n\tlet leftPanelItemsJsx = [];\n\tlet rightPanelItemsJsx = [];\n\n\tconst {state: {\n\t\titems,\n\t\topenPanelsPath,\n\t\topenItemsPath,\n\t\tsearchValue\n\t}} = coeffects;\n\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\n\tif (items && Object.keys(items).length > 0 && openPanelsPath) {\n\t\t// for the left panel I remove the last element from openItemsPath, required for item selection calculation\n\t\tconst leftPanelItemsPath = noRightPanel ? openItemsPath : openItemsPath.slice(0, openItemsPath.length - 1);\n\t\tconst openItem = openItemsPath[openItemsPath.length - 1];\n\n\t\t// filter left panel items if we have search value to filter by\n\t\tconst leftPanelItems = filterPanelItemsBySearchValue(leftPanel, searchValue, openItem, coeffects);\n\n\t\tleftPanelItemsJsx = generatePanelItemsJsx(\n\t\t\tcoeffects,\n\t\t\tleftPanelItems,\n\t\t\tleftPanel,\n\t\t\tleftPanelItemsPath,\n\t\t\topenItem,\n\t\t\t!!searchValue\n\t\t);\n\n\t\t// do not display right panel values:\n\t\t// if the right panel item does not exist in left panel (filtered by search)\n\t\t// if the left panel open item is not focused (input parameter isRightPanelEmpty)\n\t\t// in those cases right panel will be displayed empty\n\t\tif (rightPanel && !isRightPanelEmpty) {\n\t\t\tconst rightPanelItems = filterPanelItemsBySearchValue(rightPanel, searchValue, undefined, coeffects);\n\t\t\trightPanelItemsJsx = generatePanelItemsJsx(\n\t\t\t\tcoeffects,\n\t\t\t\trightPanelItems,\n\t\t\t\trightPanel,\n\t\t\t\topenItemsPath,\n\t\t\t\tundefined,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t}\n\n\treturn {leftPanelItems: leftPanelItemsJsx, rightPanelItems: rightPanelItemsJsx, leftPanel, rightPanel};\n};\n\nconst generateBreadcrumbJsx = (items = {}, openPanelsPath, openItemsPath, isRightPanelEmpty) => {\n\tif (!items || !openItemsPath || openItemsPath.length < 1)\n\t\treturn null;\n\n\tlet breadcrumbs = [{label: CLOSE_PANELS_BUTTON_TEXT, icon: 'home-outline', href: 'javascript:void(0)', itemPosition: -1, hideLabel: true}];\n\topenItemsPath.forEach((item, index) => {\n\t\tconst panel = openPanelsPath[index];\n\t\tconst itemData = items[panel][item];\n\t\tif (itemData)\n\t\t\tbreadcrumbs.push({label: itemData.label, href: 'javascript:void(0)', itemPosition: index});\n\t});\n\n\tif (breadcrumbs.length === 1) // only home items means there are not items\n\t\treturn null;\n\n\t// is left item is not focused right panel displayed empty\n\t// in such case we want to remove the last item from breadcrumbs as well\n\tif (isRightPanelEmpty)\n\t\tbreadcrumbs = breadcrumbs.slice(0, breadcrumbs.length - 1);\n\n\treturn breadcrumbs.length > 1 ? (\n\t\t<now-breadcrumbs\n\t\t\tclassName='breadcrumbs-comp'\n\t\t\titems={breadcrumbs}\n\t\t\toverflow='truncate-collapse'\n\t\t\tdelimiter='chevron'\n\t\t/>\n\t) : ( // if we have only one item in breadcrumbs it is not clickable so we need to replace it with button\n\t\t<now-button-iconic\n\t\t\ticon='home-outline'\n\t\t\tvariant='tertiary'\n\t\t\tsize='sm'\n\t\t\thide-padding={true}\n\t\t\tconfig-aria={{button: {'aria-label': CLOSE_PANELS_BUTTON_TEXT}}}\n\t\t\ttooltip-content={CLOSE_PANELS_BUTTON_TEXT}\n\t\t\tappend-to-payload={{\n\t\t\t\tbutton: CLOSE_PANELS_BUTTON\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * this function handles focus lost event on the available items component\n * if we get focus out and non of the children has focus or now-breadcrumbs got the focus\n * focus is outside the component\n * @param {object}  coeffects\n * @returns {(function(*): void)|*}\n */\nconst focusHandler = coeffects =>\n\t() => {\n\n\t\tconst {state: {containerRef}, updateState} = coeffects;\n\t\tconst componentFocused = containerRef?.current.matches(':focus-within');\n\n\t\tupdateState({\n\t\t\tpath: 'componentFocused',\n\t\t\tvalue: componentFocused,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\nexport const view = (state, helpers) => {\n\tconst coeffects = {...helpers, state};\n\n\tconst {\n\t\topenItemsPath,\n\t\topenPanelsPath,\n\t\tactiveItem,\n\t\tsearchValue,\n\t\tproperties,\n\t\trightPanelRef,\n\t\tleftPanelRef,\n\t\tcontainerRef\n\t} = state;\n\n\tconst {ariaLabel, onePanelMode, showSearchBorder} = properties;\n\t// if left open item is not focused right panel displayed according to path but empty (without items)\n\t// it happens when a left panel item which is not the open item is checked\n\tconst openItem = openItemsPath[openItemsPath.length - 1];\n\tconst leftPanelActiveItem = getLeftActiveItem(activeItem, openPanelsPath, openItemsPath);\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\tconst isRightPanelEmpty = !!activeItem && leftPanelActiveItem !== openItem;\n\n\tconst {\n\t\tleftPanel, // left panel name\n\t\trightPanel, // right panel name (if exists)\n\t\tleftPanelItems,\n\t\trightPanelItems\n\t} = generatePanelsJsx(coeffects, isRightPanelEmpty, noRightPanel);\n\n\t// call generateBreadcrumbJsx with properties.items state.items may be changed by filter and I do not want breadcrumbs to be effected\n\tconst breadcrumbsJsx = generateBreadcrumbJsx(properties.items, openPanelsPath, openItemsPath, isRightPanelEmpty && !onePanelMode);\n\n\tconst containerClass = {\n\t\tcontainer: true,\n\t\t'container--single': noRightPanel,\n\t\t'container--hide-border': showSearchBorder\n\t};\n\n\tconst leftPanelHasValue = leftPanelItems.length > 0 ? 'true' : 'false';\n\n\tconst panelLeftTopClass = {\n\t\t'panel-left-top': true,\n\t\t'panel-left-top--narrow': onePanelMode && breadcrumbsJsx,\n\t\t'panel-left-top--border': showSearchBorder\n\t};\n\n\tconst searchClass = {\n\t\t'search': true,\n\t\t'search--narrow': onePanelMode && breadcrumbsJsx\n\t};\n\n\tconst searchInputClass = {\n\t\t'search-input': true,\n\t\t'search-input--narrow': onePanelMode && breadcrumbsJsx\n\t};\n\n\tconst breadcrumbsClass = {\n\t\t'breadcrumbs': true,\n\t\t'breadcrumbs--hidden': onePanelMode && !breadcrumbsJsx\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={containerClass}\n\t\t\taria-label={ariaLabel}\n\t\t\tref={containerRef}\n\t\t\ton-focusout={focusHandler(coeffects)}\n\t\t\ton-focusin={focusHandler(coeffects)}\n\t\t\ton-keydown={handleKeyPanelDown(coeffects)}\n\t\t\ton-keyup={handlePanelKeyUp(coeffects)}\n\t\t>\n\t\t\t<div class={panelLeftTopClass}>\n\t\t\t\t<div class={searchClass}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon='magnifying-glass-fill'\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={searchInputClass}\n\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\tplaceholder={SEARCH_TEXT}\n\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\taria-expanded={leftPanelHasValue}\n\t\t\t\t\t\taria-label={SEARCH_TEXT}\n\t\t\t\t\t\taria-controls='availableItemsLeftPanel'\n\t\t\t\t\t\taria-autocomplete='inline'\n\t\t\t\t\t\ton-input={searchChangedHandler(coeffects, rightPanel, leftPanel)}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{onePanelMode ? (<div class={breadcrumbsClass}>{breadcrumbsJsx}<\/div>) : null}\n\t\t\t<\/div>\n\t\t\t{<div className='breadcrumbs'>{!onePanelMode ? breadcrumbsJsx : null}<\/div>}\n\t\t\t<div className='panel-left'\n\t\t\t\tref={leftPanelRef}\n\t\t\t\ttabIndex='-1'\n\t\t\t\tattr-id='availableItemsLeftPanel'\n\t\t\t\taria-label={LEFT_PANEL_TEXT}\n\t\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\t\ton-scroll={handleScroll(coeffects, leftPanel)}>\n\t\t\t\t{leftPanelItems}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName='panel-right'\n\t\t\t\trole=\"contentinfo\"\n\t\t\t\taria-hidden={rightPanelItems?.length > 0 ? 'false' : 'true'}\n\t\t\t\tref={rightPanelRef}\n\t\t\t\ttabIndex='-1'\n\t\t\t\taria-label={noRightPanel ? RIGHT_PANEL_TEXT : null} // no need for aria-label if panel is closed\n\t\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\t\ton-scroll={handleScroll(coeffects, rightPanel)}>\n\t\t\t\t{rightPanelItems}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n","import {PANEL_CHANGED_EVENT} from '../constants';\nimport {generateSelectedItemKey} from './utils';\n\nexport const closePanelsHandler = coeffects => {\n\tconst {state, updateState, dispatch} = coeffects;\n\tconst {openPanelsPath} = state;\n\n\tconst newOpenPanelsPath = [openPanelsPath[0]];\n\tconst newOpenItemsPath = [];\n\n\tupdateState({\n\t\topenItemsPath: newOpenItemsPath,\n\t\topenPanelsPath: newOpenPanelsPath\n\t});\n\n\tdispatch(PANEL_CHANGED_EVENT, newOpenItemsPath);\n};\n\n/**\n * breadcrumb NOW_BREADCRUMBS#ITEM_CLICKED event handler\n * update the panels and items when breadcrumbs item is clicked\n * @param {object} coeffects\n */\nexport const breadcrumbsClickHandler = coeffects => {\n\tconst {state, updateState, dispatch, action: {payload}} = coeffects;\n\tconst {openItemsPath, openPanelsPath} = state;\n\tconst {item: {itemPosition}} = payload;\n\n\t// if itemPosition is -1 it means it is the \"close panels\" button\n\tif (itemPosition === -1) {\n\t\tclosePanelsHandler(coeffects);\n\t\treturn;\n\t}\n\n\t// move one panel backwards in open panels\n\tconst newOpenItemsPath = openItemsPath.slice(0, itemPosition + 1); // +1 since I do not want the selected item to be removed\n\tconst newOpenPanelsPath = openPanelsPath.slice(0, itemPosition + 2); // the panel of the selected item should stay open\n\n\tupdateState({\n\t\topenItemsPath: newOpenItemsPath,\n\t\topenPanelsPath: newOpenPanelsPath,\n\t\tactiveItem: generateSelectedItemKey(newOpenItemsPath),\n\t\tlastSelectedItem: undefined\n\t});\n\n\tdispatch(PANEL_CHANGED_EVENT, newOpenItemsPath);\n};\n","import {generateSelectedItemKey} from './utils';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\n\n\n/**\n * populate selected Items in state - convert it to hash table for faster access\n * @param {array} selectedItems\n * @param {array} lockedItems\n * @returns {{}}\n */\nexport const initSelectedItems = (selectedItems, lockedItems) => {\n\tconst stateSelectedItems = {};\n\n\tif (selectedItems) {\n\t\tselectedItems.forEach(selectedItem => {\n\t\t\tconst key = generateSelectedItemKey(selectedItem);\n\t\t\tstateSelectedItems[key] = {selected: true, locked: false};\n\t\t});\n\t}\n\n\tif (lockedItems) {\n\t\tlockedItems.forEach(lockedItem => {\n\t\t\tconst key = generateSelectedItemKey(lockedItem);\n\t\t\tif (stateSelectedItems[key])\n\t\t\t\tstateSelectedItems[key].locked = true;\n\t\t});\n\t}\n\n\treturn stateSelectedItems;\n};\n\n/**\n * Handler to set the component initial state\n * @param {object} properties\n * @returns {{openItemsPath: *[], availableRoot: string, openPanelsPath: *[], items: {}, selectedItems: {}}}\n */\nexport const setInitialStateHandler = coeffects => {\n\tconst {host, properties, state} = coeffects;\n\tconst {openItems, items, itemsRoot, selectedItems, lockedItems} = properties;\n\n\tconst openItemsPath = [];\n\tconst openPanelsPath = [];\n\tconst stateItems = items || {};\n\tconst stateSelectedItems = initSelectedItems(selectedItems, lockedItems);\n\tlet stateItemsRoot = itemsRoot || '';\n\n\t// if path not supplied the default start is the first element in items\n\tif (!stateItemsRoot && Object.keys(stateItems)[0])\n\t\tstateItemsRoot = Object.keys(stateItems)[0];\n\n\tif (stateItems[stateItemsRoot])\n\t\topenPanelsPath.push(stateItemsRoot);\n\n\tif (stateItems[stateItemsRoot] && openItems && openItems.length > 0) {\n\n\t\t// generate openItems and panelsPath - add only valid entries\n\t\tlet currentPanel = stateItemsRoot;\n\n\t\topenItems.forEach(item => {\n\t\t\tconst panelItems = stateItems[currentPanel];\n\t\t\tif (panelItems) {\n\n\t\t\t\tconst itemData = panelItems[item];\n\t\t\t\tif (itemData && itemData.reference) {\n\t\t\t\t\topenItemsPath.push(item);\n\t\t\t\t\tcurrentPanel = itemData.reference;\n\t\t\t\t\topenPanelsPath.push(currentPanel);\n\t\t\t\t} else {\n\t\t\t\t\t// we have an illegal item - stop the search\n\t\t\t\t\tcurrentPanel = null;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\treturn {\n\t\titems: stateItems,\n\t\topenItemsPath,\n\t\topenPanelsPath,\n\t\tselectedItems: stateSelectedItems,\n\t\tshiftSelectedItems: undefined, // all items selected while shift key is pressed (for multi selection)\n\t\tactiveItem: state?.activeItem || undefined,\n\t\tlastSelectedItem: state?.lastSelectedItem || undefined, // contain the laset element selected/unselected for shift selection\n\t\titemsRoot: stateItemsRoot,\n\t\tsearchValue: state?.searchValue || '', // in case of items change we want to keep the search value.\n\t\treportBottomSent: {}, // used to track scrolled_to_bottom event so it won't be send more than once\n\t\tcomponentFocused: state?.componentFocused || false,\n\t\trightPanelRef: createRef(),\n\t\tleftPanelRef: createRef(),\n\t\tcontainerRef: createRef(),\n\t\thost // on browser events we do not have host so we save it in state\n\t};\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {buttonIconicClickHandler} from './handlers/buttonIconicClickHandler';\nimport {propertyChangedHandler} from './handlers/propertyChangedHandler';\nimport {breadcrumbsClickHandler} from './handlers/breadcrumbsClickHandler';\nimport {componentRenderedHandler} from './handlers/componentRenderedHandler';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED} = actionTypes;\n\nexport const actionHandlers = {\n\t['NOW_BUTTON_ICONIC#CLICKED']: {\n\t\teffect: buttonIconicClickHandler,\n\t\tstopPropagation: true\n\t},\n\t['NOW_BREADCRUMBS#ITEM_CLICKED']: {\n\t\teffect: breadcrumbsClickHandler,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect: componentRenderedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import {OPEN_ITEM_BUTTON, ITEM_EXPAND_REQUESTED, CLOSE_PANELS_BUTTON} from '../constants';\nimport {generateSelectedItemKey} from './utils';\nimport {closePanelsHandler} from './breadcrumbsClickHandler';\n\n/**\n * This handler update the panels and items when an expand item button is clicked\n * @param {object} coeffects\n */\nconst expandButtonClickHandler = coeffects => {\n\tconst {action: {payload}, state, updateState, dispatch} = coeffects;\n\tconst {item, panel} = payload;\n\tconst {items, openItemsPath, openPanelsPath} = state;\n\n\t// no need to validate input since it all been validated in component bootstrap\n\tconst itemData = items[panel][item];\n\tconst newPanel = itemData.reference;\n\n\tif (panel === openPanelsPath[openPanelsPath.length - 1]) {\n\t\t// click on right panel expand - open new panel current panel becomes left panel\n\t\topenItemsPath.push(item);\n\t\topenPanelsPath.push(newPanel);\n\t} else if (panel === openPanelsPath[openPanelsPath.length - 2]) {\n\t\t// click on left panel expand - close right panel and open the new one instead\n\t\topenItemsPath.splice(-1, 1, item);\n\t\topenPanelsPath.splice(-1, 1, newPanel);\n\t}\n\n\tupdateState({\n\t\topenItemsPath: [...openItemsPath],\n\t\topenPanelsPath: [...openPanelsPath],\n\t\tactiveItem: generateSelectedItemKey(openItemsPath),\n\t\tlastSelectedItem: undefined\n\t});\n\n\tdispatch(ITEM_EXPAND_REQUESTED, openItemsPath);\n};\n\n/**\n * This handles handles button click event\n * @param {object} coeffects\n */\nexport const buttonIconicClickHandler = coeffects => {\n\tconst {action: {payload: {button}}} = coeffects;\n\n\tif (button === OPEN_ITEM_BUTTON)\n\t\texpandButtonClickHandler(coeffects);\n\telse if (button === CLOSE_PANELS_BUTTON)\n\t\tclosePanelsHandler(coeffects);\n};\n","import {initSelectedItems, setInitialStateHandler} from './setInitialStateHandler';\n\nexport const propertyChangedHandler = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value}\n\t\t},\n\t\tproperties: {\n\t\t\tlockedItems\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (name === 'selectedItems') {\n\t\tconst stateSelectedItems = initSelectedItems(value, lockedItems);\n\t\tupdateState({selectedItems: stateSelectedItems});\n\t} else if (name === 'openItems') {\n\t\tconst {openItemsPath, openPanelsPath} = setInitialStateHandler(coeffects);\n\t\tupdateState({openItemsPath, openPanelsPath});\n\t} else if (name === 'items') {\n\t\t// if items changed everything changes for example selected items might no longer exist\n\t\t// so I have to initialize the entire component\n\t\tupdateState(setInitialStateHandler(coeffects));\n\t}\n};\n","import {convertKeyToSelectedItem, generateSelectedItemKey} from './utils';\n\n/**\n * This function set focus on the active element if exists\n * focus must be reset after expanding right panel item since the items moves to left panel\n * and we want it to maintain its focus\n * NOTE: activeItem is an item that was expanded or selected\n * @param {object} coeffects\n */\nexport const componentRenderedHandler = coeffects => {\n\tconst {\n\t\tstate: {rightPanelRef, leftPanelRef, activeItem, openItemsPath, openPanelsPath, componentFocused},\n\t\tproperties: {onePanelMode}\n\t} = coeffects;\n\n\t// if no focused item or it is not opened we do no need to reset focus\n\tif (!activeItem || !componentFocused)\n\t\treturn;\n\n\t// chock were is the focused item, left or right panel\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\n\tconst activeItemPathLength = convertKeyToSelectedItem(activeItem).length;\n\tconst activeItemIsExpanded = activeItem === generateSelectedItemKey(openItemsPath);\n\t// open item is always on the left panel so if focus item path is the same length it is on the left panel\n\tconst activeItemOnLeftPanel = activeItemPathLength === openItemsPath.length;\n\t// if focus item length is longer (+1) it is on the right panel\n\tconst activeItemOnRightPanel = activeItemPathLength === openItemsPath.length + 1;\n\n\tconst activeItemId = activeItem.replace(/\\./g, '\\\\.');\n\tlet focusElement;\n\tif (activeItemIsExpanded) { // right panel opened, focus on first element\n\t\tfocusElement = noRightPanel ?\n\t\t\tleftPanelRef?.current.querySelector('now-checkbox') : // one panel mode\n\t\t\trightPanelRef?.current.querySelector('now-checkbox'); // two panels mode\n\t} else if (activeItemOnRightPanel) { // focused item on right panel refocus it\n\t\tfocusElement = noRightPanel ?\n\t\t\tleftPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`) : // one panel mode right panels items displayed on left panel\n\t\t\trightPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`); // two panels mode\n\t} else if (activeItemOnLeftPanel) // focus item on left panel but not the open panel, focus it\n\t\tfocusElement = leftPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`);\n\n\tif (!focusElement) // focused item not in a visible panel, focus on first element\n\t\tfocusElement = leftPanelRef?.current.querySelector('now-checkbox');\n\n\tfocusElement?.focus();\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {actionHandlers} from './actionHandlers';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\nimport {CHECKED_SET_EVENT, PANEL_CHANGED_EVENT, SCROLLED_TO_BOTTOM, ITEM_EXPAND_REQUESTED, SEARCH, SEARCH_TERM_SET} from './constants';\n\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n * A List selector Available items visual component used to contains the list available item,\n * and enable navigation between different categories of items displayed in seperated panels (dot walking)\n *\n * @seismicElement sn-available-bucket\n * @summary A List selector Available items visual component used to contains the list of available items,\n * and enable navigation between different categories of items displayed in seperated panels (dot walking).\n */\ncreateCustomElement('sn-available-bucket', {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\t\t/**\n\t\t *\n\t\t * Indicates that variables are supported and to be displayed\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tvariablesRenderingMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * A list of panels to display loader when scrolling to bottom (for lazy loading)\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tscrollToBottomLoader: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * An object that contains the available items for selection\n\t\t * This object constructed from the categories the items inside each category and references between the items to other categories\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {},\n\t\t\t\t\tadditionalProperties: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The name of the category to start from\n\t\t * This category will be displayed when the component opens\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\titemsRoot: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of items ids (path) that was opened (dot walked) to display the current categories (panels) that are currently being displayed\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\topenItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of selected items\n\t\t * In the available panel it is used to check their checkboxs\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of locked items: items that are selected but cannot be unselected.\n\t\t * Displayed disabled\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tlockedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If set to true there will be only one panel displayed instead of two\n\t\t * Expanding an item (dot walk) will change the content of the panel instead of opening a new one\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tonePanelMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * If set to true component will display the borders of the search textbox\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tshowSearchBorder: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * If set to true, show elements that as default displayed only on hover\n\t\t * currently it is the info icon only\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * Sets the search value\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: SEARCH.INITIAL,\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\t/**\n\t\t * The available items title to be read when accessed (by screen reader)\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched when an item was checked/unchecked by user\n\t\t * @type {Object}\n\t\t */\n\t\t[CHECKED_SET_EVENT]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\topenItems: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchecked: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when panel was changed\n\t\t * @type {Array}\n\t\t */\n\t\t[PANEL_CHANGED_EVENT]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when an item was expanded (dot walked)\n\t\t * @type {Array}\n\t\t */\n\t\t[ITEM_EXPAND_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when user scrolled the items panel to the bottom\n\t\t * @type {Object}\n\t\t */\n\t\t[SCROLLED_TO_BOTTOM]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when search value is set\n\t\t * @type {Object}\n\t\t */\n\t\t[SEARCH_TERM_SET]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\topenedCategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-tabs';\nimport '@servicenow/now-alert';\nimport '../sn-selected-bucket';\nimport '../sn-available-bucket';\n\nimport {\n\tAVAILABLE_CONTENT,\n\tNO_AVAILABLE_LABEL,\n\tVIEW_TYPES,\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tREMOVE_NEW_SELECTED_ITEMS_REQUESTED,\n\tNEW_SELECTED_ITEMS_TIMEOUT\n} from './constants';\nimport {t} from 'sn-translate';\n\nexport const AVAILABLE_ITEMS_TAB_ID = 'availableItems';\nconst SELECTED_ITEMS_TAB_ID = 'selectedItems';\nconst DATA_RESET_TEXT = t({code: 'sn-list-selector', message: 'The data has changed, your previous selections are no longer valid. Please make new selections.'});\n\nconst getEmptyStateJsx = (isLoading, comment, label) => (\n\t<div className='no-selected-container'>\n\t\t<div>\n\t\t\t{isLoading ?\n\t\t\t\t<now-loader label='' size='lg' action='' />\n\t\t\t\t:\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\talignment='vertical-centered'\n\t\t\t\t\tcontent={comment}\n\t\t\t\t\theading={{label, level: 2}}\n\t\t\t\t\tillustration='no-data'\n\t\t\t\t/>\n\t\t\t}\n\t\t<\/div>\n\t<\/div>\n);\n\n\nconst getAvailableItemsJsx = (\n\tdataReady,\n\tavailableItems,\n\tavailableItemsRoot,\n\tavailableItemsPath,\n\tavailableItemsSelected,\n\tavailableItemsLocked,\n\tavailableTitle,\n\tnumberOfPanels,\n\tshowHiddenControls,\n\tsearch,\n\tmode,\n\trenderVariables,\n\tmoreVariablesAvailable\n) => (\n\t<div className={numberOfPanels === VIEW_TYPES.compact ? 'single-panel' : 'available'}>\n\t\t{dataReady ? ( // if metadata not defined data is still being loaded\n\t\t\t<sn-available-bucket\n\t\t\t\titems={availableItems}\n\t\t\t\titems-root={availableItemsRoot}\n\t\t\t\topen-items={availableItemsPath}\n\t\t\t\tselected-items={availableItemsSelected}\n\t\t\t\tlocked-items={availableItemsLocked}\n\t\t\t\taria-label={availableTitle}\n\t\t\t\tone-panel-mode={numberOfPanels === VIEW_TYPES.compact || numberOfPanels === VIEW_TYPES.twoPanels}\n\t\t\t\tshow-search-border={numberOfPanels === VIEW_TYPES.compact}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tsearch={search}\n\t\t\t\tvariablesRenderingMode={renderVariables && mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION}\n\t\t\t\tmode={mode}\n\t\t\t\trenderVariables={renderVariables}\n\t\t\t\tscrollToBottomLoader = {moreVariablesAvailable ? ['item_option_new'] : []}\n\t\t\t/>\n\t\t) : getEmptyStateJsx(availableItems === null || availableItems === undefined, AVAILABLE_CONTENT, NO_AVAILABLE_LABEL)}\n\t<\/div>\n);\n\nconst getSelectedItemsJsx = (dataReady, selectedItems, disableReorder, selectedTitle, newlySelectedItems) => (\n\t<div className='selected'>\n\t\t<sn-selected-bucket\n\t\t\titems={dataReady ? selectedItems : []}\n\t\t\tdisable-reorder={disableReorder}\n\t\t\tariaLabel={selectedTitle}\n\t\t\tnewItems={newlySelectedItems}\n\t\t/>\n\t<\/div>\n);\n\nconst getTabsJsx = (availableTitle, selectedTitle, showCount, numberOfAvailableItems, numberOfSelectedItems, openTabId) => (\n\t<now-tabs\n\t\tclassName='tabs-panel'\n\t\titems={[\n\t\t\t{\n\t\t\t\tid: AVAILABLE_ITEMS_TAB_ID,\n\t\t\t\tlabel: availableTitle,\n\t\t\t\tcount: showCount ? numberOfAvailableItems : undefined\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: SELECTED_ITEMS_TAB_ID,\n\t\t\t\tlabel: selectedTitle,\n\t\t\t\tcount: showCount ? numberOfSelectedItems : undefined\n\t\t\t}\n\t\t]}\n\t\tselected-item={openTabId || 'availableItems'}\n\t\tfixed-width={true}\n\t\tsize='md'\n\t/>\n);\n\nconst getTitleJsx = (title, level, textClass) => {\n\tswitch (level) {\n\t\tcase 1:\n\t\t\treturn (<h1 className={textClass}>{title}<\/h1>);\n\t\tcase 2:\n\t\t\treturn (<h2 className={textClass}>{title}<\/h2>);\n\t\tcase 3:\n\t\t\treturn (<h3 className={textClass}>{title}<\/h3>);\n\t\tcase 4:\n\t\t\treturn (<h4 className={textClass}>{title}<\/h4>);\n\t\tcase 5:\n\t\t\treturn (<h5 className={textClass}>{title}<\/h5>);\n\t\tcase 6:\n\t\t\treturn (<h6 className={textClass}>{title}<\/h6>);\n\t\tdefault:\n\t\t\treturn (<h6 className={textClass}>{title}<\/h6>);\n\t}\n};\n\nconst getResetWarningJsx = showResetWarning => (showResetWarning ? (\n\t<now-alert\n\t\tclassName='reset-warning'\n\t\tstatus='warning'\n\t\ticon='info-circle-outline'\n\t\tcontent={DATA_RESET_TEXT}\n\t\taction={{type: 'dismiss'}}>\n\t<\/now-alert>\n) : null);\n\n/**\n * This function generate the remove function request executed inside a timeout\n * It main purpose is to save the original payload send on the time of the timeout call\n * @param {function} dispatch\n * @param {object} payload\n * @returns {(function(): void)|*}\n */\nconst removeNewItemsRequest = (dispatch, payload) => {\n\tconst _payload = [...payload];\n\treturn () => {\n\t\tdispatch(REMOVE_NEW_SELECTED_ITEMS_REQUESTED, _payload);\n\t};\n};\n\nexport default (state, helpers) => {\n\tconst {\n\t\tproperties,\n\t\tselectedItems,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableItemsPath,\n\t\tavailableLeftPanel,\n\t\tavailableRightPanel,\n\t\tnumberOfPanels,\n\t\topenTabId,\n\t\tliveUpdateText,\n\t\trenderVariables,\n\t\tmoreVariablesAvailable,\n\t\tshowResetWarning,\n\t\tnewlySelectedItems,\n\t\tmainRef\n\t} = state;\n\tconst {dispatch} = helpers;\n\n\tconst {\n\t\tavailableLabel,\n\t\tselectedLabel,\n\t\theadersLevel,\n\t\tshowCount,\n\t\tdisableReorder,\n\t\tshowHiddenControls,\n\t\tsearch,\n\t\tmode\n\t} = properties;\n\tconst dataReady = !!availableItems && Object.keys(availableItems).length > 0 && availableItems[availableLeftPanel];\n\n\t// calculate number of items in available items left panel and selected items\n\tconst panelToCount = numberOfPanels === VIEW_TYPES.dotWalk ? availableLeftPanel : availableRightPanel;\n\tconst numberOfAvailableItems = dataReady && availableItems[panelToCount] ? Object.keys(availableItems[panelToCount]).length : 0;\n\tconst numberOfSelectedItems = dataReady ? selectedItems.length : 0;\n\tconst availableTitle = showCount ? `${availableLabel} (${numberOfAvailableItems})` : availableLabel;\n\tconst selectedTitle = showCount ? `${selectedLabel} (${numberOfSelectedItems})` : selectedLabel;\n\tconst availableTitleJsx = getTitleJsx(availableTitle, headersLevel, 'available-header-text');\n\tconst selectedTitleJsx = getTitleJsx(selectedTitle, headersLevel, 'selected-header-text');\n\n\tconst availableItemsJsx = getAvailableItemsJsx(\n\t\tdataReady,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableItemsPath,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableTitle,\n\t\tnumberOfPanels,\n\t\tshowHiddenControls,\n\t\tsearch,\n\t\tmode,\n\t\trenderVariables,\n\t\tmoreVariablesAvailable\n\t);\n\tconst selectedItemsJsx = getSelectedItemsJsx(dataReady, selectedItems, disableReorder, selectedTitle, newlySelectedItems);\n\n\n\tconst tabsJsx = getTabsJsx(availableLabel, selectedLabel, showCount, numberOfAvailableItems, numberOfSelectedItems, openTabId);\n\n\t// new selected items should stop being emphasized after 3s after displayed\n\t// In case of tabs their display might be delayed until selected items tab is open, so I do not start counter if we only display available tab.\n\tif (newlySelectedItems.length > 0 && (numberOfPanels !== VIEW_TYPES.compact || openTabId === SELECTED_ITEMS_TAB_ID))\n\t\tsetTimeout(removeNewItemsRequest(dispatch, newlySelectedItems), NEW_SELECTED_ITEMS_TIMEOUT);\n\n\tconst availableContainerClass = {\n\t\t'available-container': true,\n\t\t'available-container--width-50': numberOfPanels === VIEW_TYPES.twoPanels,\n\t\t'available-container--width-100': numberOfPanels === VIEW_TYPES.compact,\n\t};\n\tconst selectedContainerClass = {\n\t\t'selected-container': true,\n\t\t'selected-container--width-50': numberOfPanels === VIEW_TYPES.twoPanels\n\t};\n\n\tconst resetWarningJsx = getResetWarningJsx(showResetWarning);\n\n\treturn (\n\t\t<div className='main' ref={mainRef}>\n\t\t\t<span\n\t\t\t\tid='snListSelectorLiveUpdate'\n\t\t\t\tclassName='now-a11y-label'\n\t\t\t\taria-live='assertive'\n\t\t\t>\n\t\t\t\t{liveUpdateText}\n\t\t\t<\/span>\n\t\t\t{resetWarningJsx}\n\t\t\t<div className='content'>\n\t\t\t\t<div class={availableContainerClass}>\n\t\t\t\t\t{numberOfPanels > VIEW_TYPES.compact ? (\n\t\t\t\t\t\t<div className='available-header'>\n\t\t\t\t\t\t\t{availableTitleJsx}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) :\n\t\t\t\t\t\ttabsJsx\n\t\t\t\t\t}\n\t\t\t\t\t{numberOfPanels === VIEW_TYPES.compact && openTabId === SELECTED_ITEMS_TAB_ID ? selectedItemsJsx : availableItemsJsx}\n\t\t\t\t<\/div>\n\t\t\t\t{numberOfPanels > VIEW_TYPES.compact ? (\n\t\t\t\t\t<div class={selectedContainerClass}>\n\t\t\t\t\t\t<div className='selected-header'>\n\t\t\t\t\t\t\t{selectedTitleJsx}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{selectedItemsJsx}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {\n\tavailableItemCheckSetHandler,\n\tnewItemsAnimationEndedHandler,\n\tselectedItemFieldSelectedHandler,\n\tselectedItemRemoveFieldHandler,\n\tupdateDragAndDropItemsHandler\n} from './handlers/selectedItemsHandler';\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport track from '@devsnc/ux-metrics';\nimport {\n\tavailablePanelsChangedHandler,\n\tavailableItemScrollBottomHandler,\n\tavailableItemExpandRequestedHandler\n} from './handlers/availableItemsHandler';\nimport {componentBootstrappedEffect} from './tableDefinitionHandlers/componentBootstrappedHandler';\nimport {propertyChangedHandler} from './handlers/propertyChangedHandler';\nimport {\n\tFETCH_DATA,\n\tFETCH_DATA_FAILURE,\n\tFETCH_DATA_SUCCESS,\n\tMETRIC_ACTIONS,\n\tFETCH_VARIABLES_DATA,\n\tFETCH_VARIABLES_DATA_SUCCESS,\n\tFETCH_VARIABLES_DATA_FAILURE,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tREMOVE_NEW_SELECTED_ITEMS_REQUESTED\n} from './constants';\nimport {\n\tfetchEffect,\n\tfetchFailureEffect,\n\tfetchSuccessEffect,\n\tfetchVariablesEffect,\n\tfetchVariablesSuccessEffect,\n\tfetchVariablesFailureEffect, fetchTableMetadata, fetchVaribleMetaDataSuccessEffect,\n\n\n} from './tableDefinitionHandlers/fetchDataHandler';\nimport {registerResizeEvent} from './handlers/resizeHandler';\nimport {selectedTabHandler} from './handlers/selectedTabHandler';\nimport {searchTermHandler} from './handlers/searchHandler';\nimport {alertHandler} from './handlers/alertHandler';\n\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_READY} = actionTypes;\n\nconst effectProxy = effect => coeffects => effect.effect(...effect.args, coeffects);\n\nexport default {\n\t['SN_SELECTED_BUCKET#ITEM_DELETED']: {\n\t\teffect: selectedItemRemoveFieldHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_SELECTED_BUCKET#ITEM_SELECTED']: {\n\t\teffect: selectedItemFieldSelectedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_SELECTED_BUCKET#ITEMS_REORDERED']: {\n\t\teffect: updateDragAndDropItemsHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#CHECKED_SET']: {\n\t\teffect: availableItemCheckSetHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#SCROLLED_TO_BOTTOM']: {\n\t\teffect: availableItemScrollBottomHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[REMOVE_NEW_SELECTED_ITEMS_REQUESTED]: {\n\t\teffect: newItemsAnimationEndedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: registerResizeEvent,\n\t\tstopPropagation: true\n\t},\n\n\t['NOW_TABS#SELECTED_ITEM_SET']: {\n\t\teffect: selectedTabHandler,\n\t\tstopPropagation: true\n\t},\n\t['SN_AVAILABLE_ITEMS#PANEL_CHANGED']: {\n\t\teffect: availablePanelsChangedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED']: {\n\t\teffect: availableItemExpandRequestedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#SEARCH_TERM_SET']: {\n\t\teffect: searchTermHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['NOW_ALERT#ACTION_CLICKED']: {\n\t\teffect: alertHandler,\n\t\tstopPropagation: true\n\t},\n\n\t// this events are only for connected mode\n\n\t[FETCH_DATA]: {\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t// this events are only for variables in connected mode\n\t[FETCH_VARIABLES_DATA]: {\n\t\teffect: effectProxy(fetchVariablesEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_VARIABLES_DATA_SUCCESS]: {\n\t\teffect: fetchVariablesSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_VARIABLES_DATA_FAILURE]: {\n\t\teffect: fetchVariablesFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\n\t// this events are only for variables in connected mode\n\t[DOT_WALK_TABLE_CONFIG_FETCH_STARTED]:{\n\t\teffect: effectProxy(fetchTableMetadata),\n\t\tstopPropagation: true\n\t},\n\t[DOT_WALK_TABLE_CONFIG_FETCH_FAILED]:{\n\t\teffect: fetchVariablesFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED]:{\n\t\teffect: fetchVaribleMetaDataSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\n\t// Metrics\n\t[METRIC_ACTIONS.METRIC_TRACKED]: {\n\t\teffect(coeffects) {\n\t\t\tconst {action: {payload: {eventName, metadata}}} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t}\n\n};\n","import {convertSelectedItemsToStateFormat} from './selectedItemsHandler';\nimport {AVAILABLE_DATA_POPULATE_MODE} from '../constants';\nimport {registerResizeEvent} from './resizeHandler';\nimport {setInitialStateHandler} from './setInitialStateHandler';\nimport {initializeFetchData} from '../tableDefinitionHandlers/componentBootstrappedHandler';\n\n/**\n * Handle COMPONENT_PROPERTY_CHANGED event\n * Update selected items / items from parent application\n *\n * @param {object} coeffects\n */\nexport const propertyChangedHandler = coeffects => {\n\tconst {updateState, dispatch, action: {payload}, properties: {mode, hideResetWarning}} = coeffects;\n\tconst {name, value} = payload;\n\n\tswitch (name) {\n\t\tcase 'tableName':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION) {\n\t\t\t\tconst newState = setInitialStateHandler(coeffects);\n\t\t\t\tnewState.showResetWarning = hideResetWarning ? false : true;\n\t\t\t\tupdateState(newState);\n\t\t\t\tinitializeFetchData(value, dispatch);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'itemsRoot':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.MANUAL) {\n\t\t\t\tconst newState = setInitialStateHandler(coeffects);\n\t\t\t\tnewState.showResetWarning = hideResetWarning ? false : true;\n\t\t\t\tupdateState(newState);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'selectedItems':\n\t\t\tupdateState(convertSelectedItemsToStateFormat(value));\n\t\t\tbreak;\n\t\tcase 'items':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.MANUAL) {\n\t\t\t\t// save stupid users from their stupidity:\n\t\t\t\t// do not allow update items if they was queried from DB\n\t\t\t\tconst availableItems = value || {};\n\t\t\t\tupdateState({availableItems});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'viewType':\n\t\t\tregisterResizeEvent(coeffects); // register again with updated coeffects\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n","import {AVAILABLE_ITEMS_TAB_ID} from '../view';\n\n/**\n * Handles tab selection change by updating component state\n * @param {object} coeffects\n */\nexport const selectedTabHandler = coeffects => {\n\tconst {updateState, action: {payload}, state: {newlySelectedItems}} = coeffects;\n\tconst {item: {id}} = payload;\n\n\t// if we move back from selected tab to available tab new items animation no longer relevant\n\tconst updatedNewlySelectedItems = id === AVAILABLE_ITEMS_TAB_ID ? [] : newlySelectedItems;\n\tupdateState({openTabId: id, newlySelectedItems: updatedNewlySelectedItems});\n};\n","import {SEARCH_TERM_SET} from '../constants';\n/**\n * Handle N_AVAILABLE_ITEMS#SEARCH_TERM_SET event\n * dispatches SEARCH_TERM_SET event\n * @param {object} coeffects\n */\nexport const searchTermHandler = coeffects => {\n\tconst {\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\n\tdispatch(SEARCH_TERM_SET, payload);\n};\n","\n/**\n * Handle NOW_ALERT#ACTION_CLICKED event\n * Close alert message\n * @param {object} coeffects\n */\nexport const alertHandler = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({showResetWarning: false});\n};\n","import uiConf from '../../now-ui.json';\nconst {components} = uiConf;\n\nconst _get = (uibProperties, name) => {\n\tconst {typeMetadata: {schema}} = uibProperties.find(i => i.name === name);\n\treturn schema;\n};\n\nconst _getDefaultValue = (uibProperties, name) => {\n\tconst {defaultValue} = uibProperties.find(i => i.name === name);\n\treturn defaultValue;\n};\n\nconst _getFieldType = (uibProperties, name) => {\n\tconst {fieldType} = uibProperties.find(i => i.name === name);\n\treturn fieldType;\n};\n\nconst _getProperties = name => components[name]?.properties;\nconst SELECTED_ITEM_SCHEMA = {\n\ttype: 'array',\n\titems: {\n\t\ttitle: 'Item object',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tid: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\tlabel: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\trequired: [\n\t\t\t'id', 'label'\n\t\t]\n\t}\n};\nexport const getCommons = () => ({\n\tSELECTED_ITEM: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\titem: SELECTED_ITEM_SCHEMA,\n\t\t\tselected: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t},\n\tSELECTED_ITEM_SET: {\n\t\ttype: 'array',\n\t\titems: SELECTED_ITEM_SCHEMA\n\t},\n\tEXPANDED_ITEM: {\n\t\ttitle: 'Expanded item object',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcategory: {type: 'string'},\n\t\t\titem: {\n\t\t\t\ttitle: 'Item object',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\treference: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tlabel: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\titemId: {type: 'string'}\n\t\t}\n\t}\n\n});\n\n/**\n * Simple schema utility to getSchema  from now-ui.json\n * And some commons definitions\n * @usage const SCHEMA = getSchema('componentName');\n * @param {object} componentName - the name of the component you want to extract from\n * @return {object}\n */\nexport function getSchema(componentName) {\n\tconst uibProperties = _getProperties(componentName);\n\tif (!uibProperties)\n\t\treturn null;\n\n\treturn {\n\t\tget: name => _get(uibProperties, name),\n\t\tgetDefaultValue: name => _getDefaultValue(uibProperties, name),\n\t\tgetFieldType: name => _getFieldType(uibProperties, name),\n\t\t...getCommons()\n\t};\n}\n","import {createCustomElement} from '@servicenow/ui-core';\nimport actionHandlers from './actionHandlers';\nimport styles from './styles.scss';\nimport view from './view';\nimport {getSchema} from '../shared/schema';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\nimport {SELECTED_COLUMNS_DEFAULT_TEXT, AVAILABLE_COLUMNS_DEFAULT_TEXT} from './constants';\n\nexport const COMPONENT_NAME = 'sn-list-selector';\nconst SCHEMA = getSchema(COMPONENT_NAME);\n\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n *  A List selector visual component used to add, remove, or move items in a form or list\n *\n *  ![alt text](snapshot.gif)\n *\n * ```jsx\n * <sn-list-selector\n *\t\tmode=\"tableDescription\"\n *\t\ttable-name=\"incident\"\n * />\n *\n * <sn-list-selector\n *      mode=\"manual\"\n *      items={\"category1\": {\"item1\": {\"label\": \"Item 1\", \"reference\": null},\"item2\": {\"label\": \"Item 2\", \"reference\": null} }}\n *      items-root=\"category1\"\n *  />\n * ```\n *\n * @seismicElement sn-list-selector\n * @summary A List selector visual component used to add, remove, or move items in a form or list.\n */\ncreateCustomElement('sn-list-selector', {\n\tview,\n\tsetInitialState,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The population mode of available items\n\t\t * one of two modes:\n\t\t * \t\t1) Manual\n\t\t * \t\t2) Connected - table definition\n\t\t *\n\t\t * \t@type {String}\n\t\t */\n\t\tmode: {\n\t\t\tschema: SCHEMA.get('mode')\n\t\t},\n\t\t/**\n\t\t *  Choose how to display the component:\n\t\t *  \t1) Compact display one panel for both available and selected panel\n\t\t *  \t2) Two panels, one for available items and one for selected items\n\t\t *  \t3) Dot walk mode, wide available panel for easy dot walk navigation (default)\n\t\t *\n\t\t *\t@type {String}\n\t\t */\n\t\tviewType: {\n\t\t\tdefault: 'dotWalk',\n\t\t\tschema: SCHEMA.get('viewType')\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * If true, a tree is displayed to select from, that includes reference fields so we can dot-walk.\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tallowDotWalking: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('allowDotWalking')\n\t\t},\n\t\tshowVariables: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * Table from where the fields needs to be displayed\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: SCHEMA.get('tableName')\n\t\t},\n\n\t\t/**\n\t\t * Flag to include sysId in list of fields shown\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tincludeSysId: {\n\t\t\tschema: SCHEMA.get('includeSysId')\n\t\t},\n\n\t\t/**\n\t\t * Items object for manual population of available items\n\t\t * Only applicable to Manual mode\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tschema: SCHEMA.get('items')\n\t\t},\n\n\t\t/**\n\t\t * This is available items category (panel) to start with.\n\t\t * Only applicable to Manual mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\titemsRoot: {\n\t\t\tdefault: '',\n\t\t\tschema: SCHEMA.get('itemsRoot')\n\t\t},\n\n\t\t/**\n\t\t * selectedItems - list of selected fields\n\t\t *\n\t\t *  @type {Array<{id: string, label: string}>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: SCHEMA.get('selectedItems')\n\t\t},\n\n\t\t/**\n\t\t * selectedLabel - A label for the selected columns\n\t\t * @type {string}\n\t\t */\n\t\tselectedLabel: {\n\t\t\tdefault: SELECTED_COLUMNS_DEFAULT_TEXT,\n\t\t\tschema: SCHEMA.get('selectedLabel')\n\t\t},\n\t\t/**\n\t\t * availableLabel - A label for the available columns\n\t\t * @type {string}\n\t\t */\n\t\tavailableLabel: {\n\t\t\tdefault: AVAILABLE_COLUMNS_DEFAULT_TEXT,\n\t\t\tschema: SCHEMA.get('availableLabel')\n\t\t},\n\t\t/**\n\t\t * show the number of items in available and selected buckets\n\t\t * @type {boolean}\n\t\t */\n\t\tshowCount: {\n\t\t\tdefault: true,\n\t\t\tschema: SCHEMA.get('showCount')\n\t\t},\n\t\t/**\n\t\t * specifies the list selector available and selected headings level (H1-H6) it does not effect title design\n\t\t * @type {number}\n\t\t */\n\t\theadersLevel: {\n\t\t\tdefault: 6,\n\t\t\tschema: SCHEMA.get('headersLevel')\n\t\t},\n\t\t/**\n\t\t * disable reorder of selected items\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReorder: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('disableReorder')\n\t\t},\n\t\t/**\n\t\t * show a selected item path in the available items.\n\t\t * Only available for manual mode\n\t\t * To used this feature, the full path (all categories) to get to a selected items must be pre loaded\n\t\t * @type {boolean}\n\t\t */\n\t\tshowSelectedItemPath: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('showSelectedItemPath')\n\t\t},\n\t\t/**\n\t\t * Some controls may be hidden until the relevant element is hovered or focused.\n\t\t * This setting reveals all hidden controls inside the component.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('showHiddenControls')\n\t\t},\n\t\t/**\n\t\t * Controls how to filter the list items as the user types into the integrated search input\n\t\t * one of two search options:\n\t\t * \t\t1) Initial\n\t\t * \t\t2) Contains\n\t\t *\n\t\t * \t@type {String}\n\t\t */\n\t\tsearch: {\n\t\t\tschema: SCHEMA.get('search')\n\t\t},\n\t\t/**\n\t\t * Hide reset warning message when list selector data reset after tableName/itemsRoot changed.\n\t\t */\n\t\thideResetWarning: {\n\t\t\tschema: SCHEMA.get('hideResetWarning')\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched on change of selected fields.\n\t\t * @type {{items: Array<object> }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#SELECTED_ITEM_SET': {\n\t\t\tschema: SCHEMA.SELECTED_ITEM_SET\n\t\t},\n\t\t/**\n\t\t * Dispatched every time an item is selected or deselected\n\t\t * @type {{item: object, value: boolean }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#ITEM_SELECTED': {\n\t\t\tschema: SCHEMA.SELECTED_ITEM\n\t\t},\n\t\t/**\n\t\t * Dispatched on item expand (dot walking) request.\n\t\t * @type {{category: string, itemId: string, path: Array<string> }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#ITEM_EXPAND_REQUESTED': {\n\t\t\tschema: SCHEMA.EXPANDED_ITEM\n\t\t},\n\t\t/**\n\t\t * Notifies that a user reached the end of the category items by scrolling to the bottom of the panel\n\t\t * @type {{category: string}}\n\t\t */\n\t\t'SN_LIST_SELECTOR#SCROLLED_TO_BOTTOM': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user inputs text in the internal search field.\n\t\t * @type {{value: string}}\n\t\t * @uib.description Dispatched when the user inputs text in the internal search field\n\t\t */\n\t\t'SN_LIST_SELECTOR#SEARCH_TERM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tcategory: {type: 'string'},\n\t\t\t\t\topenedCategory: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '/home/jenkins/agent/workspace/smic-coe_sn-list-selector_master/target/checkout/src/index.js';\nwindow.__TECTONIC__$devsnc_sn_list_selector=exports;\nexport * from '/home/jenkins/agent/workspace/smic-coe_sn-list-selector_master/target/checkout/src/index.js';\n\n"],"version":3}},{"offset":{"line":554,"column":0},"map":{"mappings":"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CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,MAAMC,GAAGD,GAAG72C,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,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","file":"externals/sn-tinymce/28.7.1/index.min.js","names":["e","t","Array","isArray","r","o","prototype","isPrototypeOf","constructor","name","String","n","s","a","undefined","i","l","c","u","d","h","_len","arguments","length","_key","apply","m","p","f","g","_len2","_key2","_len3","_key3","concat","v","Error","y","b","x","k","this","tag","value","some","none","singletonNone","fold","isSome","isNone","map","bind","exists","forall","filter","getOr","or","getOrThunk","orThunk","getOrDie","from","getOrNull","getOrUndefined","each","toArray","toString","w","slice","S","indexOf","C","push","T","call","I","A","O","E","pass","fail","L","N","_","D","P","R","M","j","F","sort","U","B","z","substr","H","$","substring","W","V","G","q","replace","K","parseInt","J","Y","major","minor","patch","X","exec","Z","options","get","Q","ee","te","ne","re","oe","se","ae","ie","le","ce","ue","de","he","me","pe","tinymce","explode","fe","set","ge","clear","isSet","_extends","on","ve","dom","nodeValue","getOption","ye","window","Function","be","xe","split","ke","nodeName","toLowerCase","we","nodeType","Se","Ce","Te","Ie","Ae","Oe","Ee","Le","Ne","_e","De","fromHtml","document","createElement","innerHTML","hasChildNodes","childNodes","console","error","fromTag","fromText","createTextNode","fromDom","fromPoint","elementFromPoint","Pe","Object","keys","Re","hasOwnProperty","Me","je","Fe","Ue","Be","ze","He","_len4","_key4","We","$e","Ve","nu","detect","test","Number","unknown","Ge","search","qe","Ke","Je","versionRegexes","brand","Ye","Xe","browsers","oses","Ze","Qe","et","tt","nt","rt","current","version","isEdge","isChromium","isIE","isOpera","isFirefox","isSafari","ot","st","at","it","lt","ct","ut","dt","ht","mt","isWindows","isiOS","isAndroid","isMacOS","isLinux","isSolaris","isFreeBSD","isChromeOS","pt","ft","gt","matchMedia","matches","vt","brands","isiPad","isiPhone","isTablet","isPhone","isTouch","isWebView","isDesktop","browser","os","deviceType","navigator","userAgent","userAgentData","yt","bt","xt","kt","isSupported","cleanDocument","Promise","reject","wt","loadScript","catch","then","cleanFilteredInlineElements","St","unbind","trigger","_len5","_key5","Ct","registry","Tt","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","It","childElementCount","querySelectorAll","At","Ot","Et","createRange","setStartBefore","setStart","setStartAfter","setEndBefore","setEnd","setEndAfter","Lt","Nt","_len6","_key6","_len7","_key7","match","join","log","constructors","params","_t","ltr","rtl","Dt","startContainer","startOffset","endContainer","endOffset","Pt","start","soffset","finish","foffset","Rt","ownerDocument","Mt","jt","defaultView","Ft","parentNode","Ut","previousSibling","Bt","nextSibling","zt","reverse","Ht","Wt","Element","attachShadow","Node","getRootNode","$t","Vt","Gt","host","qt","body","contains","Kt","Jt","Yt","before","after","Xt","cata","getStart","Zt","domRange","relative","exact","Qt","exactFromRange","getWin","range","en","tn","nn","getSelection","rn","removeAllRanges","addRange","sn","rangeCount","getRangeAt","an","anchorNode","focusNode","collapsed","anchorOffset","focusOffset","ln","cn","insertBefore","un","hn","dn","appendChild","mn","pn","fn","gn","textContent","vn","removeChild","yn","bn","xn","kn","Date","getTime","Math","floor","random","wn","setAttribute","Sn","Cn","Tn","getAttribute","In","An","hasAttribute","On","removeAttribute","En","Ln","classList","Nn","_n","add","Pn","Rn","Mn","jn","style","getPropertyValue","Fn","setProperty","Un","removeProperty","Bn","zn","Hn","getComputedStyle","Wn","$n","Vn","item","Gn","qn","Kn","Jn","Yn","Xn","Zn","Qn","er","tr","nr","resolve","rr","sr","ar","ir","lr","cr","dr","hr","setBaseAndExtent","extend","collapse","mr","cleanup","toOn","toOff","ur","contenteditable","position","top","width","height","overflow","opacity","attach","focus","contents","elements","html","offscreen","container","detach","instance","setTimeout","destroy","events","run","pr","fr","cacheSuffix","pasteBinAttrs","keepSrc","sanitizer","sanitizeHtml","sanitizeText","tabSpaces","indentUseMargin","defaultProtocol","gr","vr","isReady","yr","pure","br","xr","toPromise","anonBind","toLazy","toCached","kr","wr","Cr","inner","isValue","isError","Ir","mapError","toOptional","Tr","fromOption","Or","removeEventListener","Er","Lr","target","shadowRoot","composed","composedPath","stopPropagation","preventDefault","stop","prevent","kill","raw","clientX","clientY","Ar","addEventListener","Nr","count","callbacks","lastIndexOf","ephemeral","permanent","unregister","Dr","Sr","getOrSetIndexed","waitForLoad","preload","addStylesheet","_r","rel","type","href","head","sheet","cssRules","addScript","Pr","Rr","paste","cancel","incomplete","Mr","jr","Fr","Ur","Br","zr","Hr","Wr","$r","response","bundle","Vr","Gr","qr","Kr","steps","input","label","capture","Jr","Yr","Xr","Zr","Qr","starts","pattern","all","not","eo","to","no","caseSensitive","caseInsensitive","ro","condition","oo","so","ao","io","lo","attributes","uo","ho","mo","po","fo","go","scopeName","tagName","getNode","text","vo","yo","bo","ko","styles","classes","tags","Dn","remove","wo","So","mutate","Co","createDocumentFragment","receive","cloneNode","xo","left","firstChild","hasNext","next","pop","To","Io","emit","emitTokens","Ao","trace","nextFilter","Oo","variant","Eo","No","JSON","parse","level","emblems","originalToken","Lo","getCurrentListType","getCurrentLevel","listType","emitter","token","openItem","inside","_o","pred","action","Do","Po","state","result","Ro","Mo","types","items","jo","Fo","Uo","Bo","zo","co","Ho","Wo","$o","Vo","qo","Ko","Jo","Yo","closeAllLists","Xo","Qo","outside","es","Zo","check","ts","reset","Go","ns","rs","regex","ss","as","is","charAt","ls","isNaN","cs","us","trim","ds","hs","ms","ps","stringify","nextNode","currentNode","createTreeWalker","NodeFilter","SHOW_COMMENT","acceptNode","FILTER_ACCEPT","FILTER_REJECT","gs","max","ceil","fs","vs","ys","DOMParser","parseFromString","implementation","createHTMLDocument","bs","xs","Word","GoogleDocs","Html","ks","attrName","styleName","mapValue","ws","Ss","Cs","Ts","toUpperCase","Is","As","red","green","blue","Os","Es","Ls","alpha","Ns","parseFloat","_s","Ds","getContext","clearRect","fillStyle","fillRect","getImageData","data","Ps","Rs","Ms","js","Fs","Us","matchTag","key","values","newTag","removeExtra","Bs","zs","border","fake","toRemove","toPreserve","Hs","Ws","$s","Vs","Gs","qs","Ks","Js","Ys","Xs","Zs","Qs","face","size","color","ea","ta","na","ra","oa","sa","aa","ia","la","ca","ua","da","ha","ma","pa","fa","ga","va","transform","debug","ya","ba","xa","ka","wa","Sa","Ca","Ta","commonAncestorContainer","Ia","Aa","Oa","Ea","La","Na","_a","Da","Pa","Ra","Ma","ja","Fa","Ua","merge","Ba","za","Ha","Wa","$a","Va","Ga","bothErrors","firstError","secondError","bothValues","qa","Ya","Ka","Ja","drawImage","Xa","naturalWidth","Za","naturalHeight","Qa","fetch","ok","blob","status","code","ei","atob","min","charCodeAt","Uint8Array","Blob","ti","ni","HTMLCanvasElement","toBlob","toDataURL","ri","URL","createObjectURL","Image","src","complete","si","oi","FileReader","onloadend","readAsDataURL","revokeObjectURL","ai","getType","toBase64","toAdjustedBlob","toAdjustedDataURL","toAdjustedBase64","toCanvas","ii","li","ci","ui","pow","round","di","mi","pi","gi","vi","yi","isPx","cropWidth","cropHeight","bi","xi","PI","hi","sin","cos","abs","translate","rotate","ki","wi","Si","Ci","len","list","Ai","element","Oi","include","excludeWith","excludeWithout","Ei","Li","boundary","empty","nonEditable","Ni","_i","Di","Pi","Ri","isBoundary","toText","eq","property","getText","Mi","ji","Fi","isText","isEmptyTag","isNonEditable","isElement","children","Ui","Bi","zi","Ti","prev","setText","create","insert","afterAll","word","Hi","up","selector","closest","predicate","down","getRaw","attrs","copyTo","append","appendAll","prepend","wrap","unwrap","clone","query","comparePosition","compareDocumentPosition","prevSibling","parent","isComment","isSpecial","getLanguage","Wi","source","$i","Ii","term","index","prefix","suffix","lastIndex","RegExp","Vi","Gi","qi","Ki","Ji","Yi","Xi","disabled","discriminator","fromClipboard","rtf","Zi","Qi","el","tl","nl","flavor","rl","Symbol","iterator","ol","setPrototypeOf","__proto__","sl","Reflect","construct","sham","Proxy","Boolean","valueOf","al","il","TypeError","ll","cl","ul","isFrozen","dl","getPrototypeOf","hl","getOwnPropertyDescriptor","ml","freeze","pl","seal","fl","gl","vl","yl","bl","xl","Nl","forEach","kl","wl","Sl","Cl","Tl","Il","Al","Ol","El","Ll","_l","Dl","Pl","warn","Rl","Ml","jl","Fl","Ul","Bl","zl","Hl","Wl","$l","Vl","Gl","ql","Kl","Jl","Yl","Xl","Zl","Ql","ec","nc","removed","DocumentFragment","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","trustedTypes","content","createPolicy","currentScript","createHTML","createScriptURL","createNodeIterator","getElementsByTagName","importNode","documentMode","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","PARSER_MEDIA_TYPE","ALLOWED_TAGS","ALLOWED_ATTR","ALLOWED_NAMESPACES","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","FORBID_CONTENTS","FORBID_TAGS","FORBID_ATTR","USE_PROFILES","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","FORCE_BODY","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","ALLOWED_URI_REGEXP","NAMESPACE","CUSTOM_ELEMENT_HANDLING","svg","svgFilters","mathMl","ADD_TAGS","ADD_ATTR","table","tbody","outerHTML","attribute","getAttributeNode","documentElement","createDocument","SHOW_ELEMENT","SHOW_TEXT","namespaceURI","allowedTags","firstElementChild","attrValue","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","setAttributeNS","sanitize","toStaticHTML","shadowroot","shadowrootmod","doctype","setConfig","clearConfig","isValidAttribute","addHook","removeHook","removeHooks","removeAllHooks","rc","oc","sc","ac","ic","lc","cc","uc","dc","hc","mc","pc","fc","gc","vc","yc","bc","xc","kc","wc","Sc","getData","Cc","Tc","Ic","clipboardData","Ac","Oc","native","fallback","msoffice","googledocs","image","plaintext","discard","Ec","getLabelForApi","Lc","asset","Nc","block","getAvailable","isInternal","officeStyles","images","getWordData","getGoogleDocsData","getImage","getHtml","getOnlyText","getNative","nativeEvent","getVoid","pasteCustom","isBlocked","_c","Dc","url","Pc","Rc","Mc","jc","Fc","Uc","Bc","asyncAsset","zc","Hc","Wc","$c","Gc","qc","allowLocalImages","Vc","errors","Kc","credentials","headers","async","Jc","message","Yc","Xc","Zc","eu","encodeURIComponent","onload","onerror","readAsText","Qc","tu","ru","ou","su","queryKey","strictMode","path","au","cu","iu","lu","htmlStyles","isWord","uu","du","isGoogleDocs","hu","translations","gdocsStyles","tabindex","className","click","setTitle","setContent","setButtons","close","show","mu","fu","gu","defineProperty","vu","yu","getOwnPropertyNames","bu","xu","ku","exports","wu","Su","encode","decode","Cu","rest","Tu","getArg","scheme","auth","port","urlParse","urlGenerate","isAbsolute","splice","unshift","normalize","toSetString","fromSetString","compareByOriginalPositions","originalLine","originalColumn","generatedColumn","generatedLine","compareByOriginalPositionsNoSource","compareByGeneratedPositionsDeflated","compareByGeneratedPositionsDeflatedNoLine","compareByGeneratedPositionsInflated","parseSourceMapInput","computeSourceURL","Iu","Map","_array","_set","fromArray","has","ArraySet","Au","_sorted","_last","unsortedForEach","MappingList","Ou","_file","_sourceRoot","_skipValidation","_sources","_names","_mappings","_sourcesContents","_version","fromSourceMap","sourceRoot","file","eachMapping","generated","line","column","original","addMapping","sources","sourceContentFor","setSourceContent","_validateMapping","applySourceMap","originalPositionFor","_serializeMappings","_generateSourcesContent","toJSON","names","mappings","sourcesContent","SourceMapGenerator","Eu","Lu","Nu","_u","Du","Pu","Ru","Mu","ju","Fu","Uu","Bu","zu","Hu","Gu","qu","Ku","Ju","Yu","Xu","Zu","Qu","ed","td","nd","rd","fromCodePoint","od","sd","Uint32Array","ad","lines","columns","startLine","startColumn","computed","id","ld","cd","ud","dd","hd","md","Set","pd","safe","xd","spec","bd","fd","gd","vd","yd","_ref","kd","node","wd","Sd","AnPlusB","Dd","Atrule","Pd","AtrulePrelude","Rd","AttributeSelector","Vd","Block","Gd","Brackets","qd","CDC","Kd","CDO","Jd","ClassSelector","Xd","Combinator","Qd","Comment","eh","Declaration","th","DeclarationList","nh","Dimension","rh","oh","Hash","sh","IdSelector","ch","Identifier","ih","MediaFeature","uh","MediaQuery","dh","MediaQueryList","hh","NestingSelector","ph","Nth","gh","vh","Operator","yh","Parentheses","bh","Percentage","kh","PseudoClassSelector","Sh","PseudoElementSelector","Th","Ratio","Ih","Raw","Eh","Rule","Lh","Selector","_h","SelectorList","Ph","Bh","StyleSheet","zh","TypeSelector","Vh","UnicodeRange","Gh","Url","Qh","Value","em","WhiteSpace","tm","Cd","Td","Id","Ad","Od","tokenStart","tokenEnd","Ed","Ld","cmpChar","Nd","tokenType","lookupType","isDelim","skip","consume","_d","skipSC","substrToCursor","loc","getLocation","tokenize","prelude","Hd","eof","eat","Wd","$d","matcher","flags","Yd","eatDelim","Zd","eatIdent","important","unit","ah","lh","mh","fh","lookupValue","nth","xh","consumeNumber","wh","consumeFunctionName","pseudo","createList","tokenIndex","Ch","right","Ah","getTokenStart","firstCharOffset","Oh","skipUntilBalanced","consumeUntilBalanceEnd","Nh","readSequence","scope","getFirstListNode","getLocationFromList","Dh","Rh","Mh","Fh","Uh","Wh","$h","qh","Kh","Jh","Yh","Xh","Zh","nm","generate","tokenBefore","decorator","sourceMap","css","mode","rm","om","createItem","tail","cursor","allocateCursor","releaseCursor","updateCursors","isEmpty","first","last","forEachRight","reduce","reduceRight","appendData","nextUntil","prevUntil","copy","prependData","insertData","shift","prependList","insertList","appendList","im","lm","_ref2","padStart","am","sm","cm","assign","SyntaxError","stack","offset","sourceFragment","formattedMessage","um","recognizer","onWhiteSpace","dm","hm","mm","pm","createSingleNodeList","fm","gm","vm","ym","dir","lang","where","slotted","bm","xm","setSource","getLocationRange","end","offsetAndType","balance","tokenCount","lookupOffset","isBalanceEdge","forEachToken","dump","idx","chunk","context","atrule","parseContext","config","parseAtrulePrelude","parseRulePrelude","parseValue","parseCustomProperty","consumeUntilLeftCurlyBracket","consumeUntilLeftCurlyBracketOrSemicolon","consumeUntilExclamationMarkOrSemicolon","consumeUntilSemicolonIncluded","getLastListNode","parseWithFallback","lookupNonWSType","cmpStr","fromCharCode","filename","positions","onParseError","onComment","default","selectorList","km","wm","Sm","Cm","Tm","Im","_len8","_key8","Am","_len9","_key9","Om","Em","Lm","includes","Nm","selectorString","toObject","asObject","asArray","asString","isEqualTo","isGreaterThan","isLessThan","calculate","compare","equals","lessThan","greaterThan","sortAsc","sortDesc","Dm","Pm","selectorText","Rm","CSSRule","IMPORT_RULE","styleSheet","STYLE_RULE","Mm","Fm","_m","styleSheets","jm","Um","zm","convertToPx","Hm","play","display","pu","contentWindow","contentDocument","open","write","mergeInline","Bm","$m","Vm","Gm","qm","preprocessor","annotate","local","Jm","Ym","Xm","pcIsSpace","str","Zm","Qm","ep","Km","tp","handle","proxyBin","findClipboardTags","np","Wm","intraFlag","isMarked","rp","op","sp","ap","ip","unsupported","supported","lp","cp","bower","idRef","isEquation","dp","hp","mp","pp","fp","vp","yp","bp","xp","kp","blobs","filteredImages","imageAttrs","failedImage","Sp","Cp","processRtf","gp","wp","cropl","cropt","cropw","croph","Tp","Ip","Ap","Op","Ep","Lp","Np","_p","Dp","Pp","Rp","Mp","jp","Fp","correlated","Up","Bp","kind","getAsFile","zp","Hp","Wp","Resource","load","$p","Vp","Gp","qp","Kp","Jp","Yp","Xp","Zp","Qp","undoManager","extra","nf","ef","selection","isCollapsed","execCommand","tf","insertContent","rf","hasEventListeners","of","dispatch","internal","isDefaultPrevented","cancelled","getBody","af","DomParser","schema","forced_root_block","isRootContent","Serializer","validate","serialize","lf","stopImmediatePropagation","cf","dataTransfer","PluginManager","requireLangPack","majorVersion","minorVersion","register","valid","processor","isRegistered","util","VK","metaKeyPressed","keyCode","shiftKey","fi","editorUpload","blobCache","base64","blobUri","uri","importImages","uploadImages","getLocalURL","sf","jsUrl","transact","moveToBookmark","baseUrl","class","createDialog","primary","getButtons","getAction","title","initialData","buttons","onCancel","onAction","windowManager","hide","reflow","notificationManager","assets","setProgressState","pasteHtml","pasteText","pasteEvent","getBookmark","addCommand","inline","getDoc","uf","RangeUtils","getCaretRangeFromPoint","setRng","files","jpg","jpe","jfi","jif","jfif","pjpeg","pjp","self","globalThis","_T_","aU","i3","d7","jH","c0","bb","i0","jG","b5","ag","fI","cZ","iZ","cK","iY","f7","cY","iX","aT","cX","iW","f6","f5","f4","cW","f3","aC","bI","fH","cV","jD","a$","cH","cI","cJ","fG","jC","cU","f0","fF","a7","iT","fE","jB","eg","jA","fY","d6","iR","cb","aV","d5","iP","d4","d3","jz","d2","cG","cT","bq","bC","iM","jy","cS","eb","iL","b4","jw","fX","jv","b3","bH","bG","bB","d1","bA","fC","d0","b2","aS","dZ","fB","fA","b1","b$","cR","bF","iG","fz","jq","b0","fy","aR","aK","aE","fx","iF","dY","fw","iE","fv","fU","iD","iA","jk","iz","b_","iy","fS","ix","d$","jh","cQ","dX","dW","iw","d_","cF","a_","cP","b9","a9","dV","dU","cE","d9","cO","fQ","dT","cN","dS","bz","fq","a8","cD","fP","fO","by","jd","cC","dR","jb","i9","i_","i8","cM","cB","fN","bE","i6","cL","dQ","ik","fL","aD","ij","b8","bD","b7","b6","cA","dP","fK","d8","dO","fJ","zC","c_","ek","repeat","bM","jS","aW","jT","toUtf16","Ax","aG","Invalid_argument","jQ","bL","bK","aL","aF","fun","c2","aw","AA","log2","gf","Float32Array","Int32Array","buffer","jZ","j9","Division_by_zero","isFinite","Infinity","Az","c6","jP","dims","layout","caml_custom","jN","gg","c5","NaN","f9","hi32","gj","lo32","ucompare","neg","sub","mul","isZero","isNeg","and","xor","shift_left","shift_right_unsigned","shift_right","lsl1","lsr1","udivmod","quotient","modulus","div","mod","toInt","toFloat","zE","bv","jL","av","Failure","jM","read32s","read16u","read32u","Float64Array","Int8Array","Int16Array","Uint16Array","zD","read8s","read8u","read16s","jK","imul","zQ","jO","zV","fill","c4","deserialize","fixed_length","hash","jU","c8","jV","j0","jR","c9","f$","bN","justify","signstyle","filler","alternate","base","signedconv","uppercase","sign","prec","conv","gb","toExponential","toFixed","j7","gk","c3","gq","AB","kb","zF","Ay","AE","bx","j5","bP","bw","f_","Sys_error","j_","c$","ax","ab","bJ","root","lookupFun","jY","truncate","read","err_closed","create_dir_if_needed","slash","lookup","mkdir","is_dir","rmdir","readdir","opendir","readSync","closeSync","unlink","rdonly","wronly","binary","excl","cg","orig","device","zI","zR","zN","zO","zM","zP","zS","zZ","z3","zW","zY","z1","z2","ay","j8","c7","z6","z7","z8","z9","bO","aM","ej","Ab","ArrayBuffer","b32","zz","subarray","zA","zy","bf","aX","opened","buffer_curr","output","c1","j3","buffered","out","j4","z$","j2","Ak","lex_default","lex_base","lex_backtrk","lex_check","lex_trans","lex_default_code","lex_base_code","lex_backtrk_code","lex_check_code","lex_trans_code","lex_code","bQ","j6","bg","aH","toplevelReloc","process","env","jsoo_static_env","Not_found","Av","crypto","getRandomValues","randomBytes","bR","joo_tramp","joo_args","RangeError","InternalError","Stack_overflow","j1","Aw","altname","isCharacterDevice","AC","undo","obj","prop","pos","txt","AD","jW","z5","zK","aJ","cz","zw","exit","Aq","caml_fs_tmp","jsoo_create_file","zL","db","gv","gL","eK","a3","g9","hL","zv","hP","hQ","kk","kf","kq","kv","kz","kA","ky","kE","kD","kC","kJ","kH","kG","kF","kM","kL","kR","kS","kT","kU","kN","kO","kP","kQ","kZ","k0","k1","k2","kV","kW","kX","kY","k3","k7","k6","k5","lg","lj","lk","lq","lv","lG","ly","lH","lz","lI","lA","lJ","lB","lK","lC","lE","lw","lF","lx","lD","mN","mL","mM","mO","mP","mQ","mR","mS","mT","mU","mV","mJ","mH","mI","mG","mB","mq","mv","mw","mx","my","mz","mA","mf","mg","mj","mk","mb","l1","l2","l4","l5","l6","l7","l8","l9","l_","l$","l0","l3","lO","lP","lR","lS","lT","lU","lV","lW","lX","lY","lN","lQ","lZ","k8","k9","k_","k$","lb","lL","mZ","m0","nk","ng","m_","m$","nb","m5","m6","m7","m8","m9","m1","m2","m3","m4","mY","mW","mX","nq","nH","nG","nE","nM","nN","pB","pC","p4","p5","p6","p0","p1","p2","qb","qf","qg","p3","p7","p8","p9","p_","p$","pZ","qj","pP","pQ","pR","pS","pT","pU","pV","pW","pX","pL","pM","pN","pO","pK","pJ","pG","pH","pI","pF","pA","nO","nP","nQ","nR","nS","nT","nU","nV","nW","nX","nY","nZ","n0","n1","n2","n3","n4","n5","n6","n7","n8","n9","n_","n$","ob","oj","oq","ov","ox","oy","oz","oA","oB","oC","oD","oE","oF","oG","oH","oI","oJ","oK","oL","oM","oN","oO","oP","oQ","oR","oS","oT","oU","oV","oW","oX","oZ","o0","o1","o3","o4","o5","o7","o8","o9","o_","o$","pb","pf","pg","pj","pk","pq","pv","py","qz","qA","qD","qE","qB","qI","qM","qL","qK","qJ","qS","qQ","qR","qN","qO","qP","q0","qZ","q3","qT","qU","qV","qW","q1","rb","q$","q9","q5","q6","q7","q8","rQ","rP","rM","rK","rD","rE","rF","rG","rH","rI","rJ","rL","rN","rO","rB","rz","rA","ry","rw","rx","rv","rj","rk","rg","rq","r4","r5","r3","r2","r1","r0","rZ","rY","rV","rX","rW","rT","rU","rS","rR","sb","r9","r_","sg","sj","sx","sk","sq","sv","sw","sy","sz","sA","sB","sC","sD","sE","sF","sG","sH","sI","sJ","sK","sL","sM","sN","sO","sP","sQ","sR","sS","sT","sU","sV","sW","sX","sY","sZ","s1","s2","s3","s4","s5","s6","s8","s9","s_","s$","tb","tc","tg","tj","tk","tq","tv","tw","tx","ty","tz","tA","tB","tC","tD","tE","tF","tH","tI","tJ","tL","tM","tN","tP","tQ","tR","tS","tT","tU","tV","tW","tX","tY","tZ","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t_","t$","ub","uk","uj","ug","uq","u8","u9","u_","u$","vb","u6","uV","uW","uX","uY","uZ","u0","u1","uT","uO","uP","uN","uQ","uJ","uH","uI","uF","uC","uD","uz","uv","uw","ux","uy","uA","uB","uE","uM","uR","uS","u2","u4","u5","vf","vj","vk","vY","vZ","v0","v2","v1","vV","vW","vX","v3","vT","vU","vQ","vR","vS","vN","vO","vP","vK","vL","vC","vw","vx","vy","vz","vA","vB","vD","vE","vF","vG","vH","vI","vv","vq","v7","v_","v$","v8","v9","v5","v6","wK","wL","wM","wI","wE","wF","wA","wB","wC","wz","wD","ww","wx","wq","wf","wg","wj","wk","xB","xy","xz","xx","xv","xw","xf","w$","w8","w7","w3","w4","w0","w1","wZ","wU","wV","wW","wX","wS","wQ","wR","xq","xP","xN","xO","xL","xJ","xK","xH","xD","xE","xF","xG","x8","x9","xV","xW","xX","xY","xZ","x0","x1","x2","x4","x5","x7","x6","x3","xR","xT","yf","x$","yv","yq","yk","yj","yC","yD","yz","yA","yy","yx","yE","yF","y3","y4","y5","y6","yY","yZ","yU","yV","yJ","yL","yK","yM","yO","yP","yR","yS","yW","y0","y1","y7","y$","zb","kg","kj","buffer_max","refill","Af","ev","aY","bS","gw","ew","Ag","ex","cj","ck","gx","gy","kw","kx","ey","aj","bT","gz","gA","gB","aN","zJ","kB","ez","df","eA","dg","gC","aZ","gD","eB","gE","aq","az","gF","gG","eC","gH","kI","gI","kK","gJ","zB","gK","a0","z_","gM","eD","gN","dj","eE","eF","k4","gP","gQ","gR","bU","eG","gS","gT","bV","gU","gV","eH","ak","aI","aO","aP","a1","dk","cq","aA","aB","aQ","bW","lM","gW","mC","mD","mE","mF","zG","cx","eI","mK","a2","bj","gX","eJ","eL","gY","eM","eN","gZ","nj","g1","g0","eO","g2","nD","nI","g7","nL","nK","g8","nJ","bk","og","ow","oY","o2","o6","eR","pz","g_","g$","pD","px","pw","eS","pE","pY","qk","a4","eT","eU","hb","hg","eW","eX","fk","fj","eY","cw","qC","dv","qG","dw","dx","hj","hk","dy","dz","eZ","e0","e1","dA","e2","a5","e3","dB","qF","qH","hq","bX","qX","qY","e4","e5","q2","e6","dC","q4","q_","hv","dD","hw","e7","rC","hx","hy","hz","hA","e8","e9","e_","bY","hB","cy","dN","bZ","dM","dL","dK","a6","dJ","dE","r7","hC","r8","r6","r$","hD","hE","hF","e$","hG","hH","hI","hJ","hK","s0","s7","tG","tK","tO","hM","hN","hO","hR","uG","uK","uL","hS","hT","uU","u3","u7","hU","hV","dF","vg","fb","dG","hW","hX","vJ","vM","hY","v4","wb","hZ","h0","wv","h1","wy","wG","wH","wJ","h2","wN","wO","wP","wT","wY","w2","w6","w_","xb","xg","xk","h3","h4","xC","xI","xM","xQ","xS","h5","xU","x_","h6","yb","h7","yg","h8","h9","yw","h_","yB","cv","ff","dH","yG","h$","HTMLElement","yH","yN","yQ","yT","yX","y2","y8","y9","y_","ib","zd","ig","zj","zk","typeOf$1","eq$2","eqString","eqArray","eqa","eqSortedArray","compareFn","contramap","sort$1","eqRecord","eqAny","isEquatableType","getPrototypeOf$2","hasProto","isType$1","proto","typeOf","isSimpleType","eq$1","is$4","isObject","isString","isPlainObject","isArray$1","isNull","isBoolean","isUndefined","isNullable","isNonNullable","isFunction","isNumber","isArrayOf","noop","compose","args","compose1","fbc","fab","constant","identity","tripleEquals","curry","initialArgs","restArgs","die","msg","apply$1","never","always","Optional","onNone","onSome","mapper","binder","replacement","thunk","worker","nativeSlice","nativeIndexOf","nativePush","rawIndexOf","contains$2","map$3","each$e","eachr","partition$2","filter$5","foldr","acc","foldl","findUntil$1","until","find$2","findIndex$2","flatten","bind$3","difference","mapToObject","comparator","get$b","last$3","findMap","arr","hasOwnProperty$1","each$d","props","map$2","tupleMap","tuple","objAcc","internalFilter","onTrue","onFalse","filter$4","mapToArray","get$a","has$2","hasNonNullableKey","stringArray","isArrayLike","each$c","map$1","array","callback","filter$3","collection","iteratee","accumulator","thisArg","findIndex$1","last$2","cached","called","unknown$2","nu$3","Version","detect$5","agent","cleanedAgent","find$1","regexes","firstMatch","group","detect$4","candidates","candidate","checkRange","removeLeading","startsWith","removeFromStart","numChars","contains$1","endsWith","blank","trim$4","lTrim","rTrim","isNotEmpty","isEmpty$3","num","normalVersionRegex","checkContains","uastring","PlatformInfo","edge","chromium","opera","firefox","safari","nu$2","info","isBrowser","Browser","unknown$1","windows","android","linux","macos","solaris","freebsd","chromeos","nu$1","isOS","OperatingSystem","ios","PlatformDetection","detect$3","userAgentDataOpt","mediaMatch","detectBrowser$1","uaBrand","lcBrand","detectBrowser","detectOs","DeviceType","isMobile","iOSwebview","platform$4","detect$2","platform$3","browser$3","os$1","windowsPhone","Env","transparentSrc","canHaveCSP","whiteSpaceRegExp$1","trim$3","walk$4","Tools","is$3","makeMap","delim","resolvedItems","grep","inArray","hasOwn","ext","walk","explode$3","_addCacheSuffix","is$2","lhs","rhs","lift2","someIf","Global","resolve$2","parts","actual","unsafe","getPrototypeOf$1","sandHTMLElement","type$1","isType","isHTMLElement$1","isElement$7","isText$b","isDocument$2","isDocumentFragment$1","isTag","rawSet","set$3","setAll$1","get$9","getOpt","has$1","remove$a","clone$4","attr","read$4","supports","get$8","add$3","clazz","add$4","remove$8","remove$9","add$2","cleanClass","remove$7","toggle$1","toggle","toggle$2","fromDom$2","SugarElement","fromHtml$1","fromPoint$2","docElm","recurse","cur","is$1","elem","bypassSelector","owner$1","documentOrOwner","dos","parentElement","parents$1","isRoot","ret","rawParent","prevSiblings","nextSiblings","children$1","child$1","lastChild","childNodesCount","isShadowRoot","isSupported$1","getStyleContainer","doc","getHead","getShadowHost","getOriginalEventTarget","event","isOpenShadowHost","inBody","getShadowRoot","ClosestOrAncestor","ancestor","ancestor$4","closest$4","child","descendant$2","descend","res","ancestor$3","descendant$1","one","querySelector","closest$3","isEditable$2","assumeEditable","isContentEditable","editable","getRaw$1","contentEditable","internalSet","set$2","setAll","get$7","getUnsafeProperty","getAllRaw","ruleName","remove$6","internalRemove","before$3","marker","after$4","append$1","wrap$2","wrapper","rogue","remove$5","after$3","fromDom$1","nodes","get$6","set$1","docDom","fragment","contentElements","handle$1","handler","rawEvent","mkEvent","fromRawEvent","bind$2","useCapture","wrapped","SugarPosition","firstDefinedOrZero","viewport","offsetLeft","offsetTop","box","getBoundingClientRect","boxPosition","get$5","_DOC","scrollLeft","scrollTop","win","scrollTo","intoView","alignToTop","scrollIntoViewIfNeeded","scrollIntoView","bounds","bottom","getBounds","_win","scroll","visualViewport","get$4","clientWidth","clientHeight","pageLeft","pageTop","descendants$1","descendants","ancestor$2","DomTreeWalker","startNode","rootNode","prev2","shallow","findSibling","findPreviousNode","startName","siblingName","sibling","isNodeType","isRestrictedNode","isElement$6","isHTMLElement","matchNodeName","lowerCasedName","matchNodeNames","lowerCasedNames","matchStyleValues","isBogus$2","isTable$2","hasContentEditableState","isTextareaOrInput","isText$a","isCData","isPi","isDocument$1","isDocumentFragment","isBr$6","isImg","isContentEditableTrue$3","isContentEditableFalse$b","isTableCell$3","isTableCellOrCaption","isMedia$2","isListItem$2","isDetails","isSummary$1","zeroWidth","nbsp","isZwsp$2","char","api$1","NodeValue","get$3","lazyLookup","isBr$5","isTextBlock$2","isList","isListItem$1","isTableSection","isTableCell$2","isWsPreserveElement","removeTrailingBr","elm","allBrs","brs","rawNode","getLastChildren$1","createPaddingBr","fillWithPaddingBr","ZWSP$1","isZwsp$1","trim$2","isElement$5","isText$9","isCaretContainerBlock$1","isCaretContainerInline","isCaretContainer$2","hasContent","isBeforeInline","isAtStart","isAfterInline","isAtEnd","startsWithCaretContainer$1","endsWithCaretContainer$1","showCaretContainerBlock","caretContainer","lastBr","trimBogusBr","isRangeInCaretContainerBlock","isContentEditableTrue$2","isContentEditableFalse$a","isBr$4","isText$8","isInvalidTextElement","isAtomicInline","isTable","isCaretContainer$1","isCaretCandidate$3","isNonUiContentEditableFalse","isUnselectable","isEditableCaretCandidate$1","isInEditable","tempNode","whiteSpaceRegExp","isWhitespaceText","isZwsp","isNewLineChar","normalize$4","isStartOfContent","isEndOfContent","tabSpace","normalizedText","isCollapsibleWhitespace$1","isNewline","isWhitespace$1","hasWhitespacePreserveParent","rootElement","isContent$1","isNamedAnchor","isBookmark","isBogus$1","isBogusAll","hasAttributeValue","hasNonEditableParent","isEmpty$2","skipBogus","isEmptyNode","targetNode","brCount","walker","isNonHtmlElementRootName","isNonHtmlElementRoot","toScopeType","namespaceElements","transparentBlockAttr","makeSelectorFromSchemaMap","elementNames","updateTransparent","blocksSelector","transparent","updateBlockStateOnChildren","transparentSelector","getTransparentElements","getBlockElements","trimEdge","leftSide","childPropertyName","splitInvalidChildren","transparentBlocks","blocksElements","isBlock","transparentBlock","parentBlock","invalidChildren","isValidChild","stateScope","split$2","parentElm","splitElm","beforeFragment","extractContents","afterFragment","updateChildren","unwrapInvalidChildren","isTransparentBlock","isTransparentInline","updateElement","isTransparentElement","hasBlockAttr","isTransparentElementName","isTransparentAstBlock","browser$2","firstElement","hasChild","getPos","rootElm","clientLeft","clientTop","offsetParent","castOffsetParent","caption","bodyTop","captionTop","captionHeight","offsetHeight","getTableCaptionDeltaY","StyleSheetLoader","documentOrShadowRoot","settings","idCount","loadedStates","edos","addStyle","removeStyle","styleContainer","getOrCreateState","passed","failed","success","failure","link","urlWithSuffix","linkElem","contentCssCors","referrerPolicy","unload","loadRawCss","styleElem","loadAll","urls","allSettled","results","reason","unloadRawCss","unloadAll","_setReferrerPolicy","_setContentCssCors","create$d","WeakMap","forElement","referenceElement","rootDom","isInlineContent","isInline","isBookmarkNode$2","isSpan","isKeepTextNode","surroundedByInlineContent","prevIsInline","nextIsInline","trimNode","currentChildren","isDocument","isKeepElement","makeMap$3","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","baseEntities","reverseEntities","buildEntitiesLookup","radix","itemList","chr","entity","namedEntities","encodeRaw","encodeNumeric","encodeNamed","entities","resolveEntities","Entities","encodeAllRaw","getEncodeFunc","entitiesMap","encodeNamedAndNumeric","encodeCustomNamed","nameMap","named","numeric","innerText","nativeDecode","split$1","patternToRegExp","parseValidElementsRules","globalElement","validElements","elementRuleRegExp","rule","elementName","outputName","attrsPrefix","attrData","attributesOrder","cloneAttributesInto","paddEmpty","removeEmpty","removeEmptyAttrs","parseValidElementsAttrDataIntoElement","targetElement","attrRuleRegExp","hasPatternsRegExp","attrType","attrPrefix","attributesRequired","required","attributesDefault","defaultValue","attributesForced","forcedValue","validValues","attrPattern","attributePatterns","aliasName","mapCache","makeMap$2","each$b","extend$2","explode$2","createMap","extendWith","getTextRootBlockElements","getTextBlockElements","compileElementMap","Schema","patternElements","customElementsMap","specialElements","createLookupTable","option","newValue","schemaType","schemaItems","globalAttributes","phrasingContent","flowContent","blockContent","getElementSetsAsStrings","addElement","childNames","allAttributes","addAttrs","schemaItem","video","audio","script","makeSchema","verify_html","valid_elements","validStyles","valid_styles","invalidStyles","invalid_styles","validClasses","valid_classes","whitespaceElementsMap","selfClosingElementsMap","voidElementsMap","boolAttrMap","nonEmptyOrMoveCaretBeforeOnEnter","nonEmptyElementsMap","moveCaretBeforeOnEnterElementsMap","headings","textBlockElementsMap","blockElementsMap","textInlineElementsMap","transparentElementsMap","wrapBlockElementsMap","addValidElements","patternElement","setValidElements","addCustomElements","customElements","text_block_elements","block_elements","customElementRegExp","cloneName","parseCustomElementsRules","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","operation","prefixToOperation","parseValidChildrenRules","_ref3","getElementRule","_val","padd_empty_block_inline_children","paddInEmptyBlock","custom_elements","valid_children","extended_valid_elements","thead","tfoot","legend","area","param","parents","parentsRequired","invalid_elements","getValidStyles","getInvalidStyles","getValidClasses","getBoolAttrs","getTextInlineElements","getVoidElements","getSelfClosingElements","getNonEmptyElements","getMoveCaretBeforeOnEnterElements","getWhitespaceElements","getWrapBlockElements","getSpecialElements","isValid","attrPatterns","getCustomElements","isWrapper","normalizeHex","hex","toHex","component","fromRgba","rgbaColour","hexColour","rgbRegex","rgbaRegex","fromStringValues","fromString","rgbaString","rgbMatch","rgbaMatch","rgba","rgbaToHexString","Styles","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","invisibleChar","encodingItems","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","noJoin","canCompress","keepSlashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","scriptUrl","allow_svg_data_urls","force_hex_color","compress2","serializeStyles","elemName","validStyleList","styleList","styleMap","deprecated","keyLocation","layerX","layerY","returnValue","webkitMovementX","webkitMovementY","keyIdentifier","mozPressure","needsNormalizing","Event","initEvent","isNativeEvent","clone$3","originalEvent","getModifierState","keyArg","getTargetRanges","normalize$3","fallbackTarget","srcElement","defaultPrevented","cancelBubble","isPropagationStopped","isImmediatePropagationStopped","hasIsDefaultPrevented","mouseEventRe","addEvent","removeEvent","fix","isMouseEvent","pageX","eventDoc","mouseEvent","pageY","bindOnReady","eventUtils","domLoaded","readyHandler","readyState","EventUtils","expando","hasFocusIn","callbackList","defaultNativeHandler","evt","executeHandlers","namesList","nativeHandler","fakeName","func","eventMap","newCallbackList","fire","parentWindow","clean","each$a","internalStyleName","numericalCssMap","legacySetAttribute","camelCaseToHyphens","findNodeIndex","normalized","lastNodeType","updateInternalStyleAttr","rawValue","applyStyle$1","$elm","cssName","cssValue","normalizedName","convertStyleToString","DOMUtils","addedStyles","counter","styleSheetLoader","boundEvents","ownEvents","getElementById","_get","getAttrib","defaultVal","hook","attrHooks","getAttribs","setAttrib","val","originalValue","onSetAttrib","attrElm","getRoot","root_element","getPos$1","getStyle","getSize","offsetWidth","elms","getParents","collect","resolvedRoot","selectorVal","_findSib","setAttribs","setHTML","newElm","keepChildren","$node","toggleClass","cls","oldElm","replacee","replaceChild","isNonEmptyElement","createRng","boundTarget","boundName","boundFunc","getContentEditable","stdMode","boxModel","deep","getViewPort","argWin","getRect","getParent","getNext","getPrev","select","_b","outHtml","createFragment","frag","setStyle","update_styles","setStyles","stylesArg","removeAllAttribs","removeAttributeNode","parseStyle","cssText","serializeStyle","DOM","styleElm","loadCSS","addClass","removeClass","hasClass","isHidden","uniqueId","getOuterHTML","getOuter","setOuterHTML","insertAfter","reference","referenceNode","rename","attrNode","findCommonAncestor","whitespaceElements","nonEmptyElements","bogusVal","includeZwsp","nodeIndex","replacementElm","getContentEditableParent","isEditable","isChildOf","dumpRng","setupAttrHooks","keepValues","keep_values","keepUrlHook","sugarElm","DOM$b","ScriptLoader","states","queue","scriptLoadedCallbacks","queueLoadedCallbacks","loading","done","isDone","markDone","loadQueue","loadScripts","scripts","execCallbacks","processResults","failures","_ref4","processQueue","nextQueuedItem","uniqueScripts","Cell","initial","currentCode","getLanguageData","I18n","getData$1","setCode","newCode","getCode","add$1","langData","lcNames","translation","lcName","isDuplicated","firstIndex","getLangData","textStr","removeContext","isTokenised","$1","$2","isRtl","isRtl$1","hasCode","AddOnManager","_listeners","runListeners","matchedListeners","listener","isLoaded","loadLanguagePack","languages","language","waitFor","isAdded","languageLoad","addOn","createUrl","dep","resource","addOnUrl","urlString","baseURL","ThemeManager","ModelManager","repeatable","delay","intervalId","revoke","clearInterval","functionToRepeat","setInterval","value$2","subject","doRevoke","singleton","first$1","rate","timer","clearTimeout","throttle","last$1","annotation","dataAnnotation","dataAnnotationId","dataAnnotationActive","dataAnnotationClasses","dataAnnotationAttributes","isRoot$1","identify","editor","annotationName","rng","getRng","newStart","uid","findMarkers","isBogusElement","descendant","findAll","markers","directory","nodesAlready","setup$y","changeCallbacks","initData","listeners","previous","withCallbacks","updateCallbacks","callbackMap","outputData","toggleActiveAttr","onNodeChange","annotations","getNames","fireNoAnnotation","_ref5","fireCallbacks","addListener","unique","generate$1","time","clone$2","isDeep","shallow$1","deep$1","shallowAs","TextWalker","direction","TextSeeker","isBlockBoundary","newOffset","backwards","forwards","round$2","clone$1","rect","toStart","isValidOverflow","overflowY","rect1","rect2","isAbove$1","halfHeight","isBelow$1","distanceToRectEdgeFromXY","sqrt","getSelectedNode","getNode$1","safeOffset","clamp$2","extendingChars","isExtendingChar","isElement$4","isCaretCandidate$2","isBlock$2","isFloated","isValidElementCaretCandidate","_len0","_key0","isNotPre","isText$7","isBr$3","nodeIndex$1","resolveIndex$1","getNodeUnsafe","createRange$1","isWhiteSpace$1","isRange","isHiddenWhiteSpaceRange","isZeroRect","getBoundingClientRect$1","clientRect","clientRects","getClientRects","brNode","nbsp$1","getBrClientRect","newRng","cloneRange","getBoundingClientRectWebKitText","collapseAndInflateWidth","newClientRect","getCaretPositionClientRects","caretPosition","addUniqueAndValidRect","isEqual","addCharacterOffset","beforeNode","CaretPosition","toRange","isVisible","fromRangeStart","fromRangeEnd","isAbove","pos1","pos2","isBelow","isTextPosition","isElementPosition","trimEmptyTextNode$1","rangeInsertNode","insertFragment","insertNode","isText$6","isBogus","normalizedParent","getChildNodes","equal","createPathItem","numTextFragments","normalizedNodeIndex","create$b","outputOffset","normalizedTextOffset","parentsUntil$1","resolve$1","paths","resolvePathItem","nodeOffset","findTextPosition","targetOffset","dataLen","isContentEditableFalse$9","getPoint","point","getNormalizedTextOffset$1","trimmedOffset","findIndex","moveEndPoint$1","normalizeTableCellSelection","getOffsetBookmark","findAdjacentContentEditableFalseElm","forward","isForward","fakeCaret","isFakeCaret","createBookmarkSpan","filled","getPersistentBookmark","rng2","endBookmarkNode","startBookmarkNode","keep","getBookmark$2","getCaretBookmark","getRangeBookmark","getUndoBookmark","value$1","applyHelper","constHelper","outputHelper","_onError","onValue","Result","onError","_onValue","optional","err","Adt","cases","adt","acase","keys$1","_len1","_key1","argLength","_len10","foldArgs","_key10","branches","branchKeys","reqKey","isInlinePattern","isBlockPattern","normalizePattern","formatOrCmd","onFormat","onCommand","format","formats","cmd","command","commandValue","getBlockPatterns","patterns","getInlinePatterns","fromRawPatterns","partition$1","deviceDetection$1","DOM$a","isRegExp","stringOrObjectProcessor","bodyOptionProcessor","bodyObj","getHash","getIframeAttrs","getDocType","getDocumentBaseUrl","getBodyId","getBodyClass","getContentSecurityPolicy","shouldPutBrInPre$1","getForcedRootBlock","getForcedRootBlockAttrs","getNewlineBehavior","getBrNewLineSelector","getNoNewLineSelector","shouldKeepStyles","shouldEndContainerOnEmptyBlock","isAutomaticUploadsEnabled","shouldReuseFileName","shouldReplaceBlobUris","getIconPackName","getIconsUrl","getImageUploadUrl","getImageUploadBasePath","getImagesUploadCredentials","getImagesUploadHandler","shouldUseContentCssCors","getReferrerPolicy","getLanguageCode","getLanguageUrl","shouldIndentUseMargin","getIndentation","getContentCss","getContentStyle","getFontCss","getDirectionality","getInlineBoundarySelector","getObjectResizing","getResizeImgProportional","getPlaceholder","getEventRoot","getServiceMessage","getTheme","getThemeUrl","getModel","getModelUrl","isInlineBoundariesEnabled","getFormats","getPreviewStyles","canFormatEmptyLines","getFormatNoneditableSelector","getCustomUiSelector","isInline$1","hasHiddenInput","shouldPatchSubmit","shouldAddFormSubmitTrigger","shouldAddUnloadTrigger","getCustomUndoRedoLevels","shouldDisableNodeChange","isReadOnly$1","hasEditableRoot$1","hasContentCssCors","getPlugins","getExternalPlugins$1","shouldBlockUnsupportedDrop","isVisualAidsEnabled","getVisualAidsTableClass","getVisualAidsAnchorClass","getIframeAriaText","getSetupCallback","getInitInstanceCallback","getUrlConverterCallback","getAutoFocus","shouldBrowserSpellcheck","getProtect","shouldPasteBlockDrop","shouldPasteDataImages","getPastePreProcess","getPastePostProcess","getNewDocumentContent","getPasteWebkitStyles","shouldPasteRemoveWebKitStyles","shouldPasteMergeFormats","isSmartPasteEnabled","isPasteAsTextEnabled","getPasteTabSpaces","shouldAllowHtmlDataUrls","getTextPatterns","getTextPatternsLookup","getNonEditableClass","getEditableClass","getNonEditableRegExps","shouldPreserveCData","shouldHighlightOnFocus","shouldSanitizeXss","shouldUseDocumentWrite","getAllowedImageFileTypes","hasTableTabNavigation","getDetailsInitialState","getDetailsSerializedState","shouldForceHexColor","shouldSandboxIframes","shouldConvertBlobstoBase64","isElement$3","isText$5","removeNode$1","trimCount","trimmedText","deleteZwspChars","deleteData","removeUnchanged","remove$3","removeElementAndReposition","newPosition","indexOf$1","removeTextCaretContainer","removeTextAndReposition","removeAndReposition","removeElementCaretContainer","caretContainerNode","isContentEditableFalse$8","isMedia$1","isTableCell$1","getAbsoluteClientRect","scrollX","scrollY","rootRect","margin","FakeCaret","hasFocus","lastVisualCaret","cursorInterval","caretBlock","fakeCaretTargetNodes","trimInlineCaretContainers","caretState","caret","startBlink","insertInline$1","textNode","splitText","isInlineFakeCaretTarget","insertBlock","blockName","blockNode","getCss","reposition","isFakeCaretTableBrowser","isFakeCaretTarget","isContentEditableTrue$1","isContentEditableFalse$7","isMedia","isBlockLike","isCaretContainer","isCaretContainerBlock","isElement$2","isText$4","isCaretCandidate$1","isForwards","isBackwards","skipCaretContainers","findNode","predicateFn","isCefOrCaretContainer","getParentBlock$3","isInSameBlock","caretPosition1","caretPosition2","getChildNodeAtRelativeOffset","relativeOffset","beforeAfter","isNodesInSameBlock","node1","node2","lean","before$2","after$2","normalizeRange","leanLeft","leanRight","location","getRelativeCefElm","getNormalizedRangeEndPoint","normalizedRange","getElementFromPosition","getVisualCaretPosition","walkFn","isMoveInsideSameBlock","inSameBlock","HDirection","isContentEditableFalse$6","isText$3","isElement$1","isBr$2","isCaretCandidate","isAtomic","isAtomicContentEditableFalse","isEditableCaretCandidate","nodeAtIndex","getCaretCandidatePosition","findCaretPosition$1","startPos","innerNode","moveForwardFromBr","Forwards","rootContentEditableFalseElm","getParents$3","CaretWalker","Backwards","isBeforeOrStart","isAfterOrEnd","isBeforeAfterSameElement","shouldSkipPosition","fromPosition","navigate","navigateIgnore","ignoreFilter","positionIn","walkToPositionIn","nextPosition","prevPosition","firstPositionIn","lastPositionIn","CARET_ID","isCaretNode","getParentCaretContainer","isIndexBookmark","bookmark","isPathBookmark","isForwardBookmark","addBogus","tryFindRangePosition","padEmptyCaretContainer","isEmpty$1","insertZwsp","setEndPoint","isValidTextNode","restoreEndPoint","markerParent","otherMarker","resolvePaths","isStringPathBookmark","resolveCaretPositionBookmark","endPos","isIdBookmark","resolveId","spos","epos","resolveIndex","selectNode","isRangeBookmark","getBookmark$1","_ref6","isBookmarkNode$1","isNbsp","expected","isWhiteSpace","isContent","getRanges$1","ranges","getCellsFromRanges","getSelectedNodes","getCellsFromElementOrRanges","selectedCells","getCellsFromEditor","getSel","getClosestTable","cell","getFirstChildren","getLastChildren","hasAllContentsSelected","getStartNode","getEndNode","endNode","moveEndPoint","hasAnyRanges","sel","runOnRanges","executor","fakeSelectionNodes","fakeNodeRng","preserve","fillBookmark","isNode","isElementNode$1","preserveSelection","shouldMoveStart","selectedNodeBeforeAction","isSelectedBeforeNodeNoneditable","moveStartToNearestText","isElementDirectlySelected","selectedAttr","isWhiteSpaceNode$1","getNonWhiteSpaceSibling","inc","nextName","isTextBlock$1","allowSpaces","isWrappableNoneditable","isWrapNoneditableTarget","baseDataSelector","formatNoneditableSelector","replaceVars","vars","isEq$5","str1","normalizeStyleValue","strValue","getTextDecoration","decoration","getParents$2","isFormatPredicate","formatName","formatter","areSimilarFormats","otherFormatName","validKeys","filterObj","validKey","fmt1","filteredFmt1","fmt2","filteredFmt2","equal$1","isBlockFormat","isSelectorFormat","isInlineFormat","shouldExpandToSelector","expand","isCaretContainerEmpty","getEmptyCaretContainers","isEmptyCaretFormatElement","isBookmarkNode","getParents$1","isWhiteSpaceNode","isTextBlock","isBogusBr","findParentContentEditable","walkText","findSpace","findContent","findWordEndPoint","includeTrailingSpaces","lastTextNode","textSeeker","textOffset","findSelectorEndPoint","formatList","curFormat","findBlockEndPoint","scopeRoot","isAtBlockBoundary$1","findParentContainer","block_expand","isSelfOrParentBookmark","expandRng","includeTrailingSpace","_ref7","_ref8","walk$3","exclude","firstNode","lastNode","collectSiblings","siblings","findEndPoint","walkBoundary","startPoint","endPoint","validBlocks","wrapName","isZeroWidth","isAnnotation","applyAnnotation","masterUId","decorate","directAnnotation","otherData","_objectWithoutPropertiesLoose","_excluded","attributeNames","removeDirectAnnotation","customAttrNames","customClasses","remove$4","makeAnnotation","eDoc","master","newWrappers","finishWrapper","processElements","elems","processElement","processNodes","annotateWithBookmark","initialRng","hasFakeSelection","masterUid","applyWordGrab","selectionRng","Annotator","create$c","setup$x","dataAnnotation$1","identifyParserNode","newClassList","serializer","addTempAttr","addAttributeFilter","persistent","changes","removeAnnotations","annotationChanged","_ref9","removeAll","getAll","BookmarkManager","isXYWithinRange","containsXY","fireError","errorType","fireFormatApply","fireFormatRemove","fireSetContent","fireGetContent","firePastePlainTextToggle","BACKSPACE","DELETE","DOWN","ENTER","ESC","LEFT","RIGHT","SPACEBAR","TAB","UP","PAGE_UP","PAGE_DOWN","END","HOME","modifierPressed","ctrlKey","altKey","metaKey","elementSelectionAttr","round$1","resizeHandles","nw","ControlSelection","editableDoc","rootDocument","selectedElm","selectedElmGhost","resizeHelper","selectedHandle","resizeBackdrop","startX","startY","startW","startH","ratio","resizeStarted","startScrollWidth","startScrollHeight","isImage","contextMenuSelectImage","isEventOnImageOutsideRange","isTouchEvent","touch","touches","getResizeTargets","isResizable","setSizeProp","targets","setGhostElmSize","ghostElm","resizeGhostElement","deltaX","deltaY","proportional","resizeHelperX","resizeHelperY","screenX","screenY","selectedElmX","selectedElmY","scrollWidth","scrollHeight","fireObjectResizeStart","origin","endGhostResize","wasResizeStarted","showResizeRect","fireObjectResized","nodeChanged","targetElm","unbindResizeHandleEvents","targetWidth","targetHeight","hideResizeRect","startDrag","handleElm","throttledShowResizeRect","removeSelected","isChildOrEqual","updateResizeRect","composing","controlElm","selectedValue","img","disableGeckoResize","startElm","getEnd","relativeToNative","startSitu","finishSitu","setFinish","situ","exactToNative","adt$3","fromRange","diagnose","getRanges","doDiagnose","rev","SimRange","create$a","caretPositionFromPoint","offsetNode","caretRangeFromPoint","availableSearch","adt$2","Situ","onBefore","onOn","onAfter","adt$1","SimSelection","simRange","_finishSitu","_soffset","_finish","_foffset","getStart$1","beforeSpecial","name$1","preprocessRelative","preprocessExact","fromElements","toNative","getDomRange","filtered","preprocess","getAtPoint","fromPoint$1","isEq$4","rng1","hasParent$1","findParent","hasParentWithName","isCeFalseCaretContainer","hasBrBeforeAfter","findTextNodeRelative","isAfterNode","lastInlineElement","parentBlockContainer","normalizeEndPoint","directionLeft","hasContentEditableFalseParent","isPrevNode","normalize$2","normRng","newContainer","rangeLike","newRange","normalizedRng","compareRanges","api","getOffset","aggregate","properties","cumulativeInclusions","getDocument","walkUp","navigation","view","owner","Navigation","frameElement","find","frames","pathTo","excludeFromDescend","markerInfo","cleanupFun","pageYOffset","pageXOffset","absolute","get$2","createMarker$1","span","withMarker","preserveWith","applyWithMarker","withScrollEvents","fireScrollIntoViewEvent","fireAfterScrollIntoViewEvent","withElement","elementMarker","startElement","endElement","scrollToMarker","viewHeight","intoWindowIfNeeded","viewportBottom","markerTop","markerBottom","largerThanViewport","intoWindow","innerHeight","intoFrame","frameViewHeight","viewportBounds","rangeIntoWindow","elementIntoWindow","rangeIntoFrame","elementIntoFrame","scrollRangeIntoView","focus$1","preventScroll","hasFocus$1","activeElement","active$1","clamp$1","normalizeRng","isOrContains","isRngInRoot","nativeRangeToSelectionRange","readRange","bookmarkToNativeRng","store","newBookmark","shouldStore","FocusManager","isEditorUIElement","Delay","setEditorTimeout","wrappedSetTimeout","setEditorInterval","wrappedSetInterval","register$6","throttledStore","registerPageMouseUp","mouseUpPage","registerEditorEvents","registerMouseUp","selectionChange","isManualNodeChange","documentFocusInHandler","DOM$9","isEditorContentAreaElement","isUIElement","customSelector","getActiveElement","getElement","registerEvents$1","editorManager","toggleContentAreaOnFocus","getContainer","focusedEditor","setActive","blurredEditor","activeEditor","unregisterDocumentEvents","getFocusInElement","getCollapsedNode","normalizeSelection","caretPos","focusBody","hasElementFocus","rawBody","hasInlineFocus","iframeElement","hasIframeFocus","hasEditorOrUiFocus","hasUiFocus","activateEditor","skipFocus","quirks","refreshContentEditable","bookmarkRng","contentEditableHost","getContentEditableHost","focusEditor","isEditableRange","getEndpointElement","real","getEnd$1","skipEmptyTextNodes","processRanges","elementsWithCursorPosition","isCursorPosition","hasCursorPosition","isContentEditableFalse$5","descendantRtl","autocompleteSelector","create$9","findIn","setCursorLocation","typeLookup","walk$2","isEmptyTextNode","AstNode","selfAttrs","cloneAttrs","selfAttr","refNode","whitespace","unescapedTextParents","containsZwsp","getTemporaryNodeSelector","tempAttrs","createZwspCommentWalker","FILTER_SKIP","createUnescapedZwspTextWalker","hasZwspComment","hasUnescapedZwspText","hasTemporaryNode","trimTemporaryNodes","getTemporaryNodes","emptyAllNodeValuesInWalker","curr","emptyZwspComments","emptyUnescapedZwspTexts","trim$1","conditionalTrims","trimmed","cloned","_ref0","cleanupBogusElements","bogusElements","cleanupInputNames","inputs","getPlainTextContent","offscreenDiv","getContentContainer","getContentFromBody","getTempAttrs","trimEmptyContents","emptyRegExp","makeMap$1","Writer","indent","indentBefore","indent_before","indentAfter","indent_after","entity_encoding","htmlOutput","element_format","cdata","comment","getContent","HtmlSerializer","writer","handlers","sortedAttrs","elementRule","nonInheritableStyles","shorthandStyleProps","getStyleProps","hasInheritableStyles","isNonInheritableStyle","hasStyleConflict","nodeStyleProps","parentNodeStyleProps","valueMismatch","parentValue","nodeStyleProp","propExists","longhandProps","isChar","delta","isBeforeSpace","isAfterSpace","isEmptyText","matchesElementPosition","isImageBlock","isCefNode","isBogusAll$1","isBeforeImageBlock","isAfterImageBlock","isBeforeMedia","isAfterMedia","isBeforeTable","isAfterTable","isBeforeContentEditableFalse","isAfterContentEditableFalse","parentsUntil","parentsAndSelf","navigateIgnoreEmptyTextNodes","getClosestBlock$1","isBlock$1","isAtBeforeAfterBlockBoundary","newPos","fromBlock","isAtBlockBoundary","isAtStartOfBlock","isAtEndOfBlock","isBeforeBlock","isAfterBlock","isBr$1","findBr","parentBlocks","isBeforeBr$1","isAfterBr","getElementFromPrevPosition","findPreviousBr","findNextBr","isInMiddleOfText","getClosestBlock","hasSpaceBefore","hasSpaceAfter","isInPre","isPreValue","isAtLineBoundary","isAtBeginningOfBody","isAtEndOfBody","isSiblingCefBlock","needsToHaveNbsp","needsToBeNbspLeft","isAfterCefBlock","prevPos","isPrevCefBlock","needsToBeNbspRight","isBeforeCefBlock","nextPos","isNextCefBlock","needsToBeNbsp","isNbspAt","isWhiteSpaceAt","normalizeNbspAtStart","makeNbsp","firstPos","normalizeNbspInMiddleOfTextNode","newText","chars","normalizeNbspMiddle","normalizeNbspAtEnd","lastPos","normalizeNbsps","hasNbsp","normalize$1","replaceData","normalizeWhitespaceAfter","whitespaceCount","normalizeWhitespaceBefore","mergeTextNodes","prevNode","normalizeWhitespace","mergeToPrev","whitespaceOffset","newNode","removeNode","needsReposition","getPreviousSiblingCaretPosition","getNextSiblingCaretPosition","findCaretPositionBackwards","findCaretPositionBackwardsFromElm","findCaretPositionForward","findCaretPositionForwardsFromElm","findCaretPosOutsideElmAfterDelete","findCaretPosition","setSelection$1","deleteNormalized","afterDeletePosOpt","prevTextOpt","nextTextOpt","lift3","deleteElement$2","moveCaret","preserveEmptyCaret","afterDeletePos","normalizedAfterDeletePos","isInlineElement","paddEmptyBlock","paddPos","strongRtl","isInlineTarget","hasStrongRtl","findRootInline","findInlineParents","normalizePosition","normalizeForwards","normalizeBackwards","execCommandIgnoreInputEvents","inputBlocker","off","execNativeDeleteCommand","isTextBlockOrListItem","getParentBlock$2","isBeforeRoot","paddEmptyBody","moveSelection","no_selection","willDeleteLastPositionInElement","fromPos","normalizedFirstPos","normalizedLastPos","normalizedFromPos","freefallRtl","deleteRangeContents","deleteContents","lastBlock","additionalCleanupNodes","sibling$1","getTableCells","getTable$1","adjustQuirksInDetails","details","startTable","endTable","isStartTableParentOfEndTable","isEndTableParentOfStartTable","isSameTable","isMultiTable","selectionInTableWithNestedTable","tableCellRng","deleteAction","singleCellTable","fullTable","partialTable","multiTable","getClosestCell$1","isExpandedCellRng","cellRng","getTableFromCellRng","startParentTable","endParentTable","getTableSelectionFromCellRng","tableSelection","cells","getTableSelections","selectionDetails","sameTableSelection","startCell","endCell","startTableSelection","getCellRangeFromStartTable","endTableSelection","getCellRangeFromEndTable","getCellIndex","getSelectedCells","startIndex","endIndex","isSingleCellTableContentSelected","optCellRng","isSingleCellTable","rows","unselectCells","otherContentRng","getActionFromRange","isRootFromElement","getCellRng","getTableDetailsFromRange","isStartInTable","isEndInTable","handleMultiTable","_ref10","startTableSelectedCells","endTableSelectedCells","handleSingleTable","_ref1","cleanCells","deleteContentInsideCell","isFirstCellInSelection","insideTableRng","deleteCellContents","collapseAndRestoreCellSelection","selectedNode","emptySingleTableCells","outsideDetails","editorRng","cellsToClean","_ref11","outsideBlock","getOutsideBlock","handleEmptyBlock","startInTable","emptyBlock","endPointCell","emptyMultiTableCells","startTableCells","endTableCells","betweenRng","startTableCellsToClean","endTableCellsToClean","deleteTableElement","deleteTableRange","getParentCaption","deleteCellRange","deleteCaptionRange","emptyElement","getParentCell","deleteCaretInsideCaption","fromCaption","isDeleteOfLastCharPos","emptyCaretCaption","validateCaretCaption","toCaption","deleteCaretCells","fromCell","deleteBetweenCells","toCell","isNearTable","deleteCaret$3","isBeforeOrAfterTable","deleteCaretCaption","backspaceDelete$a","deleteRange$3","getContentEditableRoot$1","internalAttributesPrefixes","each$9","ElementUtils","internalAttributes","isAttributeInternal","attributeName","attribs","compareObjects","obj1","obj2","isHeading","matchNode$1","nodeFilters","attributeFilters","runFilters","matchRecord","filteringAttributes","filter$2","findMatchingNodes","traverse","childNode","paddEmptyNode","pad_empty_with_br","astNode","hasOnlyChild","isPadded","findClosestEditingHost","editableNode","removeOrUnwrapInvalidNode","originalNodeParent","cleanInvalidNodes","onCreate","textBlockElements","nonSplittableElements","fixed","isSplittableElement","newParent","isInvalid","hasClosest","parentName","isSummary","normalizeBlockSelectionRange","newEndPos","isPaddedEmptyBlock","hasOnlyOneChild$1","isPaddingNode","isListFragment","isEmptyFragmentElement","isListItemPadded","isPadding","trimListItems","getParentLi","findLastOf","newCaretPos","insertBefore$2","findFirstIn","insertAtCaret$1","domFragment","toDomFragment","cleanupDomFragment","liTarget","liElms","isAt","caretWalker","newPosNode","insertAfter$2","insertMiddle","getSplit","beforeRng","afterRng","cloneContents","mergeableWrappedElements","isTableCell","trimBrsFromTableCell","trimBlockTrailingBr","lastChildPrevSibling","moveSelectionToMarker","nextRng","parentEditableElm","isCell","isPartOfFragment","findNextCaretRng","deleteSelectedContent","isTableCellContentSelected","insertHtmlAtCaret","parser","bookmarkHtml","preserve_zwsp","caretElement","canHaveChildren","parserArgs","isParentBlockLi","shouldPasteContentOnly","isPastingSingleElement","isWrappedElement","isPastingInTheSameBlockTag","isPastingInContentEditable","markFragmentElements","_selectionOverrides","showBlockCaretContainer","invalid","notHeadingsInSummary","markerNode","findMarkerNode","editingHost","toExtract","getNodeFilters","getAttributeFilters","validInsertion","no_events","reduceInlineTextElements","textInlineElements","elementUtils","updateCaret","caretParent","isTreeNode","setEditorHtml","noSelection","setContentInternal","setContentTree","trimmedHtml","setContentString","padd","forcedRootBlockName","ensureIsRoot","closest$1","transformed","isEq$3","matchesUnInheritedFormatSelector","inherit","matchParents","similar","matchedNode","matchNode","matchName","matchItems","itemName","matchAttributes","onmatch","expectedValue","isEmptyValue","match$2","rawElm","matchAllOnNode","formatNames","matchSimilar","isVariableFormatName","isVariableValue","field","fieldValues","ZWSP","findFirstTextNode","createCaretContainer","removeCaretContainerNode","trimZwspFromCaretContainer","removeCaretContainer","appendNode","insertFormatNodesIntoCaretContainer","formatNodes","innerMostFormatNode","formatNode","removeCaretFormat","hasContentAfter","expandedRng","parentsAfter","newCaretContainer","insertCaretContainerNode","cleanedFormatNode","cleanFormatNode","validFormats","matchedFormats","fmtName","clonedFormatNode","caretTextNode","setup$v","disableCaretContainer","createCaretFormat","innerMost","replaceWithCaretFormat","isFormatElement","inlineElements","postProcessHooks","isPre","addPostProcessHook","blocks","getSelectedBlocks","preBlocks","pre","hasPreSibling","joinPre","pre1","pre2","sPre2","listItemStyles","findExpandedListItemFormat","fmt","hasListStyles","getExpandedListItemFormat","isRngStartAtStartOfElement","isRngEndAtEndOfElement","isEditableListItem","getFullySelectedListItems","middle","getFullySelectedBlocks","getPartiallySelectedListItems","each$8","isElementNode","findElementSibling","mergeSiblingsNodes","isPrevEditable","isNextEditable","tmpSibling","mergeSiblings","merge_siblings","processChildElements","hasStyle","applyStyle","unwrapEmptySpan","removeResult","MCE_ATTR_RE","each$7","isEq$2","isChildOfInlineParent","lastIdx","normalizeTableSelection","isTableCellOrRow","wrap$1","wrapWithSiblings","rootBlockElm","forcedRootBlock","list_block","isMixedFormat","processFormatAttrOrStyle","removeEmptyStyleAttributeIfNeeded","removeStyles","compareNode","stylesModified","styleValue","normalizedStyleValue","remove_similar","removeNodeFormatInternal","ceFalseOverride","isColorFormatAndAnchor","links","preserveAttributes","preserve_attributes","attrsToPreserve","currentValue","valueOut","removeNodeFormatFromClone","newName","removeFormatInternal","splitToFormatRoot","formatRoot","findFormatRoot","wrapAndSplit","lastClone","firstClone","formatRootParent","mixed","removeFormatOnNode","removeNodeFormat","currentNodeMatches","textDecoration","isRemoveBookmarkNode","removeRngStyle","removeListStyleFormats","liFmt","removeFormat$1","each$6","mergeWithChildren","clearChildStyles","clear_child_styles","_value","each$5","applyStyles","styleVal","applyFormatAction","setElementFormat","onformat","applyNodeStyle","found","createWrapElement","wrapElm","applyRngStyle","nodeSpecific","isMatchingWrappingBlock","isWrappingBlockFormat","canRenameBlock","isEditableDescendant","isValidBlockFormatForNode","isNonWrappingBlockFormat","currentWrapElm","lastContentEditable","isWrappableNoneditableElm","contentEditableValue","canFormatBR","validBRParentElements","hasCaretNodeSibling","canWrapNode","isValidWrapNode","isCaret","isCorrectFormatForNode","childCount","isEmptyTextNode$1","getChildCount","childElement","mergeStyles","mergeWithParents","merge_with_parents","mergeBackgroundColorAndFontSize","backgroundColor","hasFontSize","mergeTextDecorationsAndColor","processTextDecorationsAndColor","parentTextDecoration","mergeSubSup","inverseTagDescendants","applyCaretFormat","wordcharRegex","postProcess$1","applyFormat$1","hasVars","fallbackElement","matchingNode","matchingFormat","updateAndFireChangeCallbacks","registeredCallbacks","runIfChanged","withSimilar","withoutSimilar","withVars","formatChangedInternal","registeredFormatListeners","addListeners","formatChangeItems","getCurrent","toAppendTo","removeListeners","explode$1","create$8","filters","addFilter","getFilters","removeFilter","newCallbacks","addFontToSpansFilter","domParser","fontSizes","addNodeFilter","removeAttrs","addFilters","convert_fonts_to_spans","font_size_legacy_values","addStrikeFilter","convertToSTag","htmlParser","blockElements","prevName","lastParent","parseDataUri","base64Encoded","extractedData","extractBase64Data","decodeURIComponent","buildBlob","uriToBlob","uriType","blobUriToBlob","_ref12","blobToDataUri","reader","count$1","processDataUri","dataUri","base64Only","generateBlobInfo","_ref13","btoa","createBlobInfo$1","blobInfo","dataUriToBlobInfo","getByData","registerBase64ImageFilter","blob_cache","processImage","inputSrc","isInternalImageSource","isBogusImage","isMimeType","mime","register$4","remove_trailing_brs","addNoOpener","newRel","appendRel","allow_unsafe_link_target","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","convert_unsafe_embeds","createSafeEmbed","sandboxIframes","embed","sandbox_iframes","entries","create$7","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","addToSet","transformCaseFunc","_transformCaseFunc","lcElement","object","newObject","lookupGetter","desc","html$1","svg$1","svgDisallowed","mathMl$1","mathMlDisallowed","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","EXPRESSIONS","getGlobal","purify","createDOMPurify","DOMPurify","originalDocument","ElementPrototype","getNextSibling","getParentNode","template","trustedTypesPolicy","emptyHTML","hooks","IS_ALLOWED_URI$1","DEFAULT_ALLOWED_TAGS","DEFAULT_ALLOWED_ATTR","SET_CONFIG","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","IS_EMPTY_INPUT","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","TRUSTED_TYPES_POLICY","purifyHostElement","ATTR_NAME","policyName","_createTrustedTypesPolicy","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","_initDocument","dirty","leadingWhitespace","dirtyPayload","_createIterator","_isNode","_executeHook","entryPoint","_sanitizeElements","_basicCustomElementTest","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","_sanitizeAttributes","hookEvent","initValue","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","shadowrootmode","serializedHTML","hookFunction","each$4","queryParts","DEFAULT_PORTS","ftp","http","https","mailto","safeSvgDataUrlElements","isInvalidUri","decodedUri","encodedUri","unescape","decodeUri","allow_html_data_urls","blockSvgDataUris","allowSvgDataUrls","URI","uriComponents","isDomSafe","protocol","pathname","baseUri","base_uri","isProtocolRelative","toAbsPath","urlMatch","part","userInfo","setPath","pathMatch","getURI","toRelative","relativeUri","toRelPath","anchor","toAbsolute","noHost","absoluteUri","isSameOrigin","defaultPort","breakPoint","normalizedBase","normalizedPath","baseParts","pathParts","outPath","noProtoHost","filteredUrlAttrs","internalElementAttr","processNode","allow_conditional_comments","lcTagName","isInternalElement","bogus","hasNone","shouldKeepAttribute","isRequiredAttributeOfInternalElement","ele","isBooleanAttribute","filterAttributes","setupPurify","namespaceTracker","purify$1","track","processAttr","sanitizeNamespaceElement","xlinkAttrs","getSanitizer","createNamespaceTracker","scopes","peek","currentScope","sanitizeHtmlElement","mimeType","getPurifyConfig","_mimeType","extend$1","transferChildren","nativeParent","nsSanitizer","nativeChild","whitespaceCleaner","textRootBlockElements","allWhiteSpaceRegExp","startWhiteSpaceRegExp","endWhiteSpaceRegExp","hasWhitespaceParent","isAtEdgeOfBlock","neighbour","isLineBreakNode","isNodeEmpty","isTextRootBlockEmpty","isPaddedWithNbsp","nodeFilterRegistry","attributeFilterRegistry","defaultedSettings","root_name","removeNodeFilter","removeAttributeFilter","isWrappableNode","rootName","isSpecialRoot","wrappedHtml","parseAndSanitizeWithContext","whitespacePre","whitespacePost","invalidFinder","findInvalidChildren","matchFinder","walkTree","preprocessors","postprocessors","traverseOrder","postprocess","topLevelChildren","otherChildren","rootBlockName","getRootBlockName","addRootBlocks","rootBlockNode","rootBlock","forced_root_block_attrs","register$5","inline_styles","withSerializedContent","fireEvent","parserSettings","serializedContent","serializeContent","eventArgs","preProcessGetContent","fireBeforeGetContent","postProcessGetContent","processedEventArgs","preProcessSetContent","fireBeforeSetContent","postProcessSetContent","tableModel","tableRow","cellPosition","getSpan","cellExists","getWidth","row","findElementPos","extractRows","newRows","tableElm","fillout","rowspan","colspan","skipCellsX","toDom","createDomTable","tableElement","tableBody","modelRowsToDomRows","subsection","subTable","getFullySelectedListWrappers","_li","findParentListContainer","listCont","listElm","listStyles","_style","getWrapElements","commonAnchorContainer","wrapElements","listWrappers","allWrappers","directListWrappers","emptyFragment","getFragmentFromRange","innerElm","getTableFragment","selectedTableCells","getParentTable","firstCell","lastCell","fullTableModel","sectionedTableModel","read$3","getSelectionFragment","isCollapsibleWhitespace","getInnerText","bin","extractSelectedContent","parentBlockOpt","contextNodeName","getContextNodeName","rangeContentClone","nonRenderedText","parentBlockText","textIndex","getTextContent","getSerializedContent","tmpElm","contextual","getSelectedContentInternal","defaultedArgs","setupArgs$3","getInner","updatedArgs","getOuterHtml","insertAt","fragments","applyDiff","diff","removeAt","vDown","vUp","buildScript","start1","end1","start2","end2","getMiddleSnake","diag","i2","buildSnake","snake","sum","lazyTempDocument","createFromEditor","hasIframes","read$2","trimZwsp","beforeBookmark","applyToEditor","getLevelContent","getCleanLevelContent","isEq$1","level1","level2","hasEqualContent","hasEqualCleanedContent","isUnlocked","locks","setTyping","typing","endTyping","makePlainAdaptor","init","bindEvents","beforeChange","beforeChange$1","addUndoLevel$1","currentLevel","newLevel","lastLevel","customUndoRedoLevels","setDirty","undo$1","redo","redo$1","clear$1","reset$1","hasUndo","hasUndo$1","hasRedo","hasRedo$1","transact$1","ignore","ignore$1","callback1","callback2","extra$1","matchAll","matchedFormatNames","checkedMap","canApply","formatChanged","getContentInternal","addVisual","addVisualInternal","matchedElm","hasVisual","autocompleter","addDecoration","removeDecoration","remove$2","isRtc","plugins","setup$t","editorCast","rtcPlugin","setup","getRtcSetup","rtcInstance","makeNoopAdaptor","nul","rtcEditor","defaultVars","_undoManager","_locks","_index","_node","_similar","_rfl","_details","_format","getRawModel","makeRtcAdaptor","rtc","isRemote","getRtcInstanceWithFallback","getRtcInstanceWithError","getContent$1","getSelectedContent","mergeAndNormalizeText","outerNode","outer","merge$1","outerElm","oldLength","innerTextNode","walkPastBookmark","normalizeTextIfRequired","setContent$1","setupArgs$2","cleanedContent","cleanContent","contextBlock","contextArgs","rngSetContent","prevText","nextText","createContextualFragment","deleteFromCallbackMap","SelectorChanged","selectorChangedData","currentSelectors","findMatchingNode","selectorChangedWithUnbind","matchedSelectors","isAttachedToDom","EditorSelection","selectedRange","explicitRange","getRng$1","tryCompareBoundaryPoints","how","sourceRange","destinationRange","compareBoundaryPoints","START_TO_START","END_TO_END","isValidRange","anchorRange","focusRange","bookmarkManager","select$1","compareEndPoints","fakeSelectedElements","setNode","getSelectedBlocks$1","endElm","selectedBlocks","selectorChanged","getScrollContainer","scrollContainer","scrollElementIntoView","placeCaretAt","controlSelection","process$1","shouldFireEvent","preProcess$1","oldDoc","clonedNode","impl","firePreProcess","toHtml","serializeNode","postProcess","outArgs","firePostProcess","DomSerializerImpl","register$3","internalName","hasChildren","preserve_cdata","getHtmlFromNode","parseHtml","isBr","brNode1","brNode2","trimTrailingBr","addRules","setRules","DomSerializer","domSerializer","setupArgs$1","getContent$2","setupArgs","setContent$2","removedOptions","deprecatedOptions","removedPlugins","deprecatedPlugins","replacedWith","getMatchingOptions","searchingFor","settingNames","setting","getRemovedOptions","getDeprecatedOptions","getMatchingPlugins","pluginNames","plugin","getRemovedPlugins","getDeprecatedPlugins","entry","getPluginDescription","logWarnings","rawOptions","normalizedOptions","logRemovedWarnings","hasRemovedPlugins","hasRemovedOptions","isLegacyMobileTheme","theme","listJoiner","themesMessage","pluginsMessage","optionsMessage","logDeprecatedWarnings","hasDeprecatedPlugins","hasDeprecatedOptions","DOM$8","safeDestroy","remove$1","save","is_removing","unbindAllNativeEvents","fireRemove","orgDisplay","restoreOriginalStyles","fireDetach","automatic","destroyed","_beforeUnload","form","_mceOldSubmit","submit","formEventDelegate","restoreForm","contentAreaContainer","editorContainer","bodyElement","clearDomReferences","IconManager","CreateIconManager","iconPack","icons","getProp","propName","getComputedSizeProp","getClientWidth","getClientHeight","getMarginTop","getMarginLeft","isXYInContentArea","bodyElm","transposedPoint","transpose","isInsideElementContentArea","isEditorAttachedToDom","rawContainer","getContentAreaContainer","NotificationManager","notifications","getImplementation","getNotificationManagerImpl","NotificationManagerImpl","unimplemented","getArgs","getTopNotification","notification","closeNotification","otherNotification","progressBar","timeout","getEl","addNotification","getNotifications","serviceMessage","requestAnimationFrame","registerEvents","WindowManager","dialogs","getWindowManagerImpl","WindowManagerImpl","openUrl","alert","confirm","funcBind","_len11","_key11","addDialog","dialog","fireOpenEvent","closeDialog","fireCloseEvent","otherDialog","storeSelectionAndOpenDialog","openDialog","windowManagerImpl","displayNotification","displayError","_skinLoaded","logError","createLoadError","initError","_len12","_key12","toContentSkinResourceName","transformToUrls","cssLinks","skinUrl","contentCssFile","isBundledCssSkinName","isContentCssSkinName","documentBaseURI","appendContentCssFromSettings","contentCSS","getContentCssUrls","getFontCssUrls","ImageScanner","uploadStatus","cachedPromises","getAllImages","isUploaded","promises","imageSrc","imageInfo","newPromise","imageToBlobInfo","invalidDataUri","getByUri","UploadStatus","blobUriStatuses","createStatus","resultUri","hasBlobUri","getResultUri","isPending","markPending","markUploaded","removeFailed","uuid","seed","rnd","Uploader","pendingPromises","defaultHandler","progress","xhr","XMLHttpRequest","withCredentials","upload","onprogress","loaded","total","json","responseText","pathJoin","path1","path2","basePath","formData","FormData","send","uploadHandler","handlerSuccess","handlerFailure","resolvePending","uploadBlobs","blobInfos","openNotification","pendingUploadBlobInfo","uploadBlobInfo","percent","createUploader","addPaddingToEmpty","isEmptyForPadding","EditorUpload","BlobCache","cache","toBlobInfo","library","findFirst","cachedBlobInfo","removeByUri","uploader","imageScanner","urlFilters","aliveGuard","replaceString","replaceImageUrl","targetUrl","replacementUrl","replacementString","replaceUrlInUndoStack","scanForImages","imageInfos","imagesToRemove","shouldDispatchChange","filteredResult","uploadInfo","replaceImageUriInView","convertURL","uploadError","uploadUri","sugarElement","parentOpt","dispatchChange","uploadImagesAuto","isValidDataUriImage","imgElm","resultItem","replaceBlobUris","source_view","genericBase","cellBase","cellFormats","tablecellbackgroundcolor","tablecellverticalalign","tablecellbordercolor","borderColor","tablecellclass","tableclass","tablecellborderstyle","borderStyle","tablecellborderwidth","borderWidth","FormatRegistry","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","preview","textAlign","float","marginLeft","marginRight","aligncenter","alignright","alignjustify","bold","fontWeight","italic","fontStyle","underline","strikethrough","strike","forecolor","hilitecolor","fontname","fontFamily","fontsize","fontSize","lineheight","lineHeight","fontsize_class","blockquote","subscript","superscript","_fmt","_itemName","customValue","removeformat","get$1","each$3","isPreviewItem","parsedSelectorToHtml","ancestry","sItem","wrapInHtml","ancestors","parentCandidate","ancestorName","parentRequired","getRequiredParent","elmRule","siblingElm","parentSiblings","parseSelectorItem","$0","$3","$4","getCssText","previewCss","previewStyles","removeVars","previewFrag","previewElm","rawParentFontSize","parentFontSize","Formatter","formatChangeState","addShortcut","setup$s","setup$u","nodeOrRange","applyFormat","removeFormat","toggleFormat","matchFormat","closestFormat","matchAllFormats","matchNodeFormat","canApplyFormat","shouldIgnoreCommand","UndoManager","addUndoLevel","isFirstTypedCharacter","addNonTypingUndoLevel","isMeta","isDirty","modKey","inputType","isInsertFromPasteOrDrop","addKeyboardShortcuts","nonTypingKeycodes","placeholderAttr","isKeyboardEvent","isDeleteEvent","setup$r","placeholder","updatePlaceholder","isNonTypingKeyboardEvent","showPlaceholder","isTypingKeyboardEvent","isVisuallyEmpty","firePlaceholderToggle","blockBoundary","getBlockPosition","containerElm","blockPosition","getClosestHost","readFromRange","fromBlockPos","toBlockPos","blockPos","skipLastBr","lastPositionInBlock","isDifferentBlocks","hasSameHost","isEditable$1","isValidBlock","hasValidBlocks","extractChildren","getChildrenUntilBlockBoundary","removeEmptyRoot","nestedBlockMerge","toBlock","insertionPoint","sidelongBlockMerge","getInlineToBlockDescendants","helper","newFromBlockDescendants","getInsertionPoint","findInsertionPoint","parentsAndSelf$1","trimBr","mergeBlockInto","mergeBlocks","block1","block2","backspaceDelete$9","read$1","isRawNodeInTable","isEverythingSelected","noPrevious","noNext","isSelectionInTable","deleteRange$2","emptyEditor","deleteRangeMergeBlocks","backspaceDelete$8","_forward","showCaret","getNodeRange","renderRangeCaret","renderCaretAtRange","caretPositionNode","caretPositionBeforeNode","ceRoot","isBeforeBoundary","isAfterBoundary","deleteContentAndShowCaret","peekCaretPosition","caretRange","deleteRange","trimEmptyTextNode","backspaceDelete$7","deleteBoundaryText","getNextPosFn","isBeforeFn","nextCaretPosition","normalizedNextCaretPosition","getEdgeCefPosition","atStart","isCefAtEdgeSelected","DeleteAction","moveToElement","moveToPosition","deleteEmptyBlockOrMoveToCef","toCefElm","blockElm","findCefPosition","isDeleteFromCefDifferentBlocks","getContentEditableAction","isAtContentEditableBlockCaret","caretLocation","getContentEditableBlockAction","skipMoveToActionFromInlineCefToContent","getAncestorCe","backspaceDeleteCaret","deleteElement$1","hideFakeCaret","backspaceDeleteRange","paddEmptyElement","backspaceDelete$6","backspaceDelete$5","deleteCaret$2","isText$2","startsWithCaretContainer","endsWithCaretContainer","createZwsp","insertInline","insertBefore$1","insertAfter$1","insertInlineBefore","insertInlineAfter","insertInlinePos","isPosCaretContainer","caretNode","renderCaret","evaluateUntil","fns","Location","rescope$1","nPos","isNotInsideFormatCaretContainer","findInsideRootInline","start$1","isValidLocation","readLocation","getName","betweenInlines","fromInline","toInline","hasSameParentBlock","skipNoMovement","fromLocation","toLocation","location2","location1","isEq","findLocationSimple","findLocation$1","findLocationTraverse","moveRel","modify","moveByWord","hasSelectionModifyApi","BreakType","flip","walk$1","getBreakType","currentPos","Wrap","getPositionsUntil","breakType","breakAt","Eol","getAdjacentLinePositions","getPositionsUntilBreak","findClosestHorizontalPositionFromPoint","lastRect","newRect","lastDist","findClosestHorizontalPosition","targetRect","getPositionsUntilPreviousLine","getPositionsUntilNextLine","getPositionsAbove","getPositionsBelow","isAtFirstLine","isAtLastLine","getClosestPositionAbove","getClosestPositionBelow","isContentEditableFalse$4","distanceToRectLeft$1","distanceToRectRight$1","findClosestClientRect","oldClientRect","oldDistance","newDistance","getNodeClientRects","toArrayWithNode","VDirection","walkUntil","isAboveFn","isBeflowFn","targetClientRect","findUntil","upUntil","downUntil","Down","getLastClientRect","isAboveLine","lineNumber","aboveLineNumber","isLine","isLineNumber","moveToRange","renderRangeCaretOpt","moveHorizontally","isBefore","isAfter","rangeIsInContainerBlock","moveVertically","caretClientRect","linePositions","nextLinePositions","nextLineRect","dist1","dist2","caretPositions","positionsUntil","isBelowFn","closestNextLineRect","getLineEndPoint","getEditingHost","lineInfo","moveToLineEndPoint$3","setCaretPosition","setSelected","renderCaretLocation","findLocation","getPositionFromRange","isInlineTarget$1","safeRemoveCaretContainer","caretValue","isAtZwsp","move$3","moveWord","_caret","setupSelectedState","toggleInlines","inlineBoundaries","selectedInlines","targetInlines","renderInsideInlineCaret","inlines","_inline","moveNextWord","movePrevWord","moveToLineEndPoint$2","linePoint","outsideLoc","setCaretLocation","deleteFromTo","rangeFromPositions","backspaceDeleteCollapsed","rescope","toPosition","hasOnlyTwoOrLessPositionsLeft","backspaceDelete$4","getParentsUntil","hasOnlyOneChild","getParentInlinesUntilMultichildInline","hasMultipleChildren","getFormatNodes","parentInlines","isFormatElement$1","getFormatNodesAtStart","getParentInlines","deleteCaret$1","deleteLastPosition","createCaretFormatAtStart","isBrInEmptyElement","createCaretFormatAtStart$1","rangeStartsAtTextContainer","rangeEndsAtEndOfStartContainer","startParent","endParent","isEqualNode","rangeStartAndEndHaveSameParent","rangeEndsAtEndOfEndContainer","requiresDeleteRangeOverride","rangeStartsAtStartOfTextContainer","rangeStartParentIsFormatElement","rangeEndsAfterEndOfStartContainer","rangeEndsAtOrAfterEndOfStartContainer","deleteRange$1","updateCaretFormat","updateFormats","missingFormats","backspaceDelete$3","hasAncestorInlineCaret","ancestor$1","requiresRefreshCaretOverride","hasAncestorInlineCaretAtStart","refreshCaret","deleteElement","backspaceDelete$2","deleteCaret","isNearMedia","parseIndentValue","getIndentStyleName","useMargin","canOutdent","getBlocksToIndent","isReadOnly","validateBlocks","indentStyleName","intentValue","isListComponent","parentIsListComponent","indentation","indentUnit","indentValue","indentElement","parsedValue","outdent","backspaceDelete$1","findAction","forwardDeleteCommand","execNativeForwardDeleteCommand","setup$q","deleteCommand","getTouch","setup$p","startData","longpressFired","debounceLongpress","isFarEnough","distX","distY","isBlockElement","isValidTarget","shouldRemoveTextNode","createRootBlock","rootNodeName","hasBlockParent","restoreSelection","insertEmptyLine","checkClassName","replaceMatchWithSpan","prevChar","findStartTagIndex","isValidContent","nonEditableRegExps","setup$n","contentEditableAttrName","editClass","nonEditClass","hasEditClass","hasNonEditClass","convertRegExpsToNonEditable","blockCaretContainer","handleBlockContainer","findBlockCaretContainer","isContentEditableFalse$3","exitPreBlock","getVisualCaretPosition$1","newBlock","textBlock","createTextBlock","getHorizontalRange","moveToCeFalseHorizontally","getVerticalRange","moveToCeFalseVertically","moveH$2","flipDirection","moveV$4","moveToLineEndPoint$1","selectToEndPoint","curRng","isTarget","moveCaretToNewEmptyLine","getClosestTargetBlock","isAtFirstOrLastLine","moveV$3","move$2","moveDown","summary","moveUp","moveV$2","baseKeyPattern","matchesEvent","match$1","defaultPatterns","matchDelayed","defaultDelayedPatterns","_len13","_key13","execute","executeWithDelayedAction","moveH$1","moveV$1","moveToLineEndPoint","CellLocation","filterFirstLayer","lookup$1","isEligible","newIndex","getClosestCell","getYAxisValue","isTargetCorner","corners","getCorners","tds","deflate","corner","findClosestCorner","newCorner","oldCorner","oldDist","newDist","getClosestCellAbove","getClosestCellBelow","findClosestPositionInAboveCell","findClosestPositionInBelowCell","isAtTableCellLine","startsWithWrapBreak","startsWithBrBreak","hasNextBreak","breakPos","isAtFirstTableCellLine","isAtLastTableCellLine","navigateHorizontally","_td","isCaretAtStartOrEndOfTable","getTable","renderBlock","insertFn","navigateVertically","getClosestAbovePosition","getClosestBelowPosition","move$1","mover","moveH","moveV","tabGo","_current","getCellFirstCursorPosition","tabForward","tabBackward","handleTab","rootElements","model","clearSelectedCells","setup$l","executeKeydownOverride$4","isMac","DOM$7","alwaysNext","textBefore","scanLeft","scanRight","repeatLeft","isWhitespace","stripTrigger","findStart","initRange","minChars","findTriggerIndex","findTrigger","firstChar","spot","toLast","isText$1","toLeaf","isStartOfWord","leaf","isPreviousCharContent","_element","getDatabase","database","getTriggerContext","triggers","lookupWithContext","fetchOptions","startText","autocompleters","lookupByTrigger","lookupData","maxResults","matchText","highlightOn","SimpleResultType","fold$1","stype","serror","svalue","SimpleResult","bindError","formatObj","getErrorInfo","chooseFrom","missingBranch","branch","extract","choose$1","missingKey","chosen","baseMerge","merger","curObject","deepMerge","old","defaulted$1","mergeErrors","ResultCombine","objects","partitions","ifField","ifCustom","newKey","presence","instantiator","validator","custom","anyValue$1","requiredAccess","missingRequired","fallbackAccess","extractField","bundleAsOption","optValue","optionAccess","optionDefaultedAccess","objOf","extractFields","fields","fieldStrings","_okey","_presence","_instantiator","arrOf","asRaw","extractValue","errs","formatError","errInfo","formatErrors","choose","anyValue","typedValue","expectedType","actualType","number","string","boolean","functionProcessor","field$1","customField","customField$1","validateEnum","requiredOf","requiredString","requiredFunction","optionOf","optionString","defaultedOf","defaultedNumber","defaultedStringEnum","defaultedBoolean","defaultedFunction","fetch$1","onSetup","optionalText","optionalIcon","optionalTooltip","optionalLabel","active","enabled","defaultedType","defaultedString","autocompleterSchema","defaulted","defaultedArrayOf","baseToolbarButtonFields","baseToolbarToggleButtonFields","contextBarFields","contextButtonFields","contextToggleButtonFields","launchButtonFields","launchToggleButtonFields","toggleOrNormal","contextformbutton","contextformtogglebutton","requiredArrayOf","register$2","popups","dataset","popup","createAutocompleter","datasetValues","setup$k","activeAutocompleter","uiActive","isActive","cancelIfNecessary","removeAutocompleterDecoration","fireAutocompleterEnd","commenceIfNecessary","addAutocompleterDecoration","matchLength","getAutocompleters","newContext","doLookup","lookupInfo","fireAutocompleterUpdate","fireAutocompleterStart","_ui","setupEditorInput","update","which","emptyNodeContents","isEntireNodeSelected","getParentDetailsElementAtPos","isInDetailsElement","isCaretAtStartOfSummary","detailsElements","startSummary","isCaretInTheBeginningOf","isCaretAtEndOfSummary","isCaretInTheEndOf","setCaretToPosition","moveCaretToDetailsPos","shouldPreventDeleteIntoDetails","granularity","parentDetailsAtCaret","inEmptyParentBlock","isFirstBlock","isLastBlock","parentDetailsAtNewPos","shouldPreventDeleteSummaryAction","detailElements","isPartialDelete","startInSummary","endInSummary","isPartiallySelectedDetailsElements","startDetails","endDetails","isCaretInLastPositionInBody","isCaretInFirstPositionInBody","shouldPreventDeleteAction","getDetailsElements","handleDeleteActionSafari","applySelection","appendAllChildNodes","backspaceDelete","createAndFireInputEvent","eventType","specifics","overrides","bubbles","isComposing","detail","currentTarget","eventPhase","AT_TARGET","originalTarget","explicitOriginalTarget","isTrusted","cancelable","InputEvent","fireInputEvent","fireBeforeInputEvent","platform$2","isMacOSOriOS","setup$j","isBackspaceKeydown","executeKeydownOverride$3","unmodifiedGranularity","getModifiedGranularity","applyAction","executeKeyupOverride","moveToCaretPosition","firstNonWhiteSpaceNodeSibling","getEditableRoot","editableRoot","getParentBlock$1","setForcedBlockAttrs","applyAttributes","forcedRootBlockAttrs","attrStyles","currentStyles","newStyles","attrClassesOpt","attrClasses","currentClassesOpt","currentClasses","filteredClasses","newClasses","appliedAttrs","remainingAttrs","createNewBlock","keepStyles","newBlockName","parentBlockName","isLastEmptyBlockInDetails","isAtDetailsEdge","insertNewLine","getDetailsRoot","hasParent","isListBlock","isListItem","getContainerBlock","containerBlock","containerBlockParent","isFirstOrLastLi","getStyles","insert$4","containerParent","parentBlockStyles","isFirstChild","tmpRng","hasFirstChild","previousChildren","isEmptyAnchor","containerAndSiblingName","canSplitBlock","normalizeZwspOffset","blockbreak","insert$3","isAfterLastNodeInContainer","isCef","collapsedAndCef","createNewBlock$1","isCaretAtStartOrEndOfBlock","normalizedOffset","insertNewBlockAfter","containerBlockName","shouldEndContainer","optionValue","isWithinNonEditableList","parentList","wrapSelfAndSiblingsInDefaultBlock","startNodeName","startNodeParent","parentBlockParent","isNearChildren","includeZwspInRange","trimLeadingLineBreaks","trimInlineElementsOnLeftSideOfBlock","firstChilds","addBrToBlockIfNeeded","fakeEventName","moveSelectionToBr","brElm","extraBr","insertBrAtCaret","isControlKey","hasRightSideContent","insertBrBefore","insertBrAfter","hasBrAfter","isAnchorLink","isInsideAnchor","insertBrOutsideAnchor","linebreak","insert$2","anchorLocation","readInlineAnchorLocation","matchesSelector","newLineAction","shouldBlockNewLine","_shiftKey","shouldBlockNewLine$1","inListBlock","requiredState","isListItemParentBlock","inBlock","getParentBlockName","inCefBlock","inPreBlock","shouldPutBrInPre","inBrContext","shouldInsertBr","hasShiftKey","_editor","canInsertIntoEditableRoot","rootEditable","isInRootWithEmptyOrCEF","isCefOpt","predicates","insertBreak","execEditorDeleteCommand","insert$1","logicalAction","platform$1","isIOSSafari","handleEnterKeyEvent","setup$i","iOSSafariKeydownBookmark","koreanCharRegex","isCaretAfterKoreanCharacter","iOSSafariKeydownOverride","iOSSafariKeyupOverride","setup$h","executeKeydownOverride$2","setup$g","normalizeNbspsInEditor","platform","isPageUpDown","setNodeChangeBlocker","blocked","setup$f","executeKeyupAction","insertTextAtPosition","insertNbspAtPosition","insertSpaceAtPosition","setSelection","insertSpaceOrNbspAtSelection","locationToCaretPosition","checkPos","insertInlineBoundarySpaceOrNbsp","insertSpaceInSummaryAtSelectionOnFirefox","domUtils","insertSpaceThunk","insertSpaceOrNbspAtPosition","isInsideSummary","setup$d","executeKeydownOverride$1","tableTabNavigation","setup$c","executeKeydownOverride","setup$b","setup$e","setup$m","NodeChange","lastRng","lastPath","nativeRng","fakeRng","isSameElementPath","initialized","currentPath","imageId","eventId","mkSetEventFn","transfer","setDragstartEvent","setDropEvent","setDragendEvent","isInDragStartEvent","modeId","mkSetModeFn","setMode$1","setReadWriteMode","setReadOnlyMode","setProtectedMode","checkMode","expectedMode","isInReadWriteMode","isInProtectedMode","validDropEffects","validEffectAlloweds","createDataTransfer","dataTransferImpl","DataTransfer","dropEffect","effectAllowed","effect","allowed","normalizeItems","itemsImpl","setDragImage","imageData","setData","clearData","cloneDataTransfer","originalMode","getMode","getDragImage","getEvent","setEvent","setHtmlData","internalMimeType","internalHtmlMime","internalMark","mark","toBlockElements","rootTag","rootAttrs","tagOpen","openContainer","tagClose","paragraphs","pasteBinDefaultContent","isPasteBin","isDefaultPasteBinContent","PasteBin","create$6","lastRngCell","pasteBinElm","pasteBinClone","copyAndRemove","toElm","fromElm","pasteBinClones","dirtyWrappers","cleanWrapper","getLastRng","filter$1","trimHtml","trimSpaces","processResult","filterContent","preProcessArgs","firePastePreProcess","filteredContent","preProcess","postProcessFilter","tempBody","postProcessArgs","firePastePostProcess","pasteHtml$1","isAbsoluteUrl","linkSelection","pasteHtmlFn","createLink","insertImage","isImageUrl","createImage","pasteAsText","smartInsertContent","createIdGenerator","createPasteDataTransfer","doPaste","shouldSimulateInputEvent","doPasteAction","internalFlag","unmark","encodedText","getDataTransferItems","contentType","hasContentType","clipboardContent","hasHtmlOrText","createBlobInfo","useFileName","extractFilename","allowedExtensions","extension","lowerExt","mimeOverrides","getImageMimeType","pasteImageData","getImagesFromDataTransfer","fileResults","pasteImage","imageItem","_ref14","existingBlobInfo","insertClipboardContent","plainTextMode","isPlainTextHtml","isPlainText","isAbsoluteUrl$1","voidElements","ignoreElements","registerEventHandlers","pasteBin","pasteFormat","keyboardPastePlainTextState","isKeyboardPasteEvent","isBrokenAndroidClipboardEvent","registerEventsAndFilters","isWebKitFakeUrl","isDataUri","isPasteInsert","registerDataImageFilter","register$1","togglePlainTextPaste","setClipboardData","setHtml5Clipboard","offscreenRange","selectNodeContents","hasSelectedContent","isTableSelection","cut","getCaretRangeFromEvent","setFocusedRange","setup$a","draggingInternallyState","hasImage","dropContent","plainTextContent","isPlainTextFileUrl","internalContent","needsInternalDrop","needsCustomInternalDrop","parentTransparent","isInternalDrop","trimmedContent","hasNoSummary","brokenDetailElements","setupSummaryDeleteByDragFix","rgbRegExp","rgbToHex","removeWebKitStyles","webKitStylesOption","webKitStyles","inputStyles","outputStyles","inputValue","compareInput","outputStyle","setup$7","addPreProcessFilter","filterFunc","setup$8","processEvent","setup$9","setup$6","preventSummaryToggle","initialStateOption","serializedStateOption","filterDetails","isContentEditableFalse$2","getClosestScope","isContentEditableTrue","getClosestCef","findEdgeCaretCandidate","onTripleClickSelect","findClosestBlockRange","startRng","clickNode","cef","FakeCaretPosition","distanceToRectLeft","distanceToRectRight","isOverlapping","overlap","overlapY","collidesY","splitRectsPerAxis","rects","prevRect","boundingClientRectFromRects","isInsideY","boundingRect","horizontal","vertical","horizontalDistance","_y","closestChildCaretCandidateNodeRect","findCloserTextNode","caretCandidateRect","findClosestCaretCandidateNodeRect","distance","sortedRects","tryFindSecondBestTextNode","sndClosest","horizontalRects","verticalRects","above","below","closestCaretCandidateNodeRect","ownerDoc","traverseUp","prevScope","childNodesWithoutGhost","uncheckedChildren","newScope","closestFakeCaretCandidate","clientInfo","Before","After","getAbsolutePosition","docElem","calc","calculatePosition","bodyPosition","getBodyPosition","scrollPosition","getScrollPosition","mousePosition","getMousePosition","iframePosition","inlineScroll","iframeScroll","getBodyScroll","getTargetProps","makeDragEvent","dataTransferForDispatch","makeDataTransferCopyForDragEvent","makeDndEvent","timeStamp","BUBBLING_PHASE","CAPTURING_PHASE","NONE","button","movementX","movementY","offsetX","offsetY","relatedTarget","initUIEvent","initMouseEvent","makeDndEventFromMouseEvent","isContentEditableFalse$1","createGhost","clonedElm","padding","boxSizing","scrollEditor","amount","behavior","scrollRight","scrollUp","scrollDown","removeElement","isLeftMouseButtonPressed","ceElm","isDraggable","elmPos","dragging","maxX","maxY","relX","relY","ghost","dispatchDragEvent","move","throttledPlaceCaretAt","caretInfo","state_","movement","mouseEventOriginatedFromWithinTheEditor","targetPos","applyRelPos","moveGhost","mouseY","mouseX","overflowX","outerMouseY","outerMouseX","innerWidth","appendGhostToBody","drop","isValidDropTarget","dragElement","getRawTarget","dropTarget","removeElementWithPadding","getHtmlData","removeDragState","stopDragging","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","init$2","preventFileDrop","preventFileDropIfUIElement","editorRoot","eventNames","blockUnsupportedFileDrop","isContentEditableFalse","getContentEditableRoot","SelectionOverrides","realSelectionId","selectedElement","isFakeSelectionTargetElement","removeElementSelection","contentEditableRoot","setElementSelection","closestContentEditable","setRange","normalizeVoidElementSelection","isRangeInCaretContainer","isFakeSelectionElement","renderFocusCaret","setup$4","setup$3","isWithinCaretContainer","selectElement","targetClone","setupOffscreenSelection","realSelectionContainer","nodeElm","afterNode","getNormalizedTextOffset","generatePath","generatePathRange","resolvePath","nodePath","optNode","resolvePathRange","_ref15","_ref16","cleanEmptyNodes","deleteRng","getParentBlock","resolveFromDynamicPatterns","patternSet","beforeText","dynamicPatterns","dynamicPatternsLookup","blockPatterns","inlinePatterns","getBeforeText","stripPattern","firstTextNode","textAfter","applyPattern$1","isBlockFormatName","formatSet","findPattern$1","sortedPatterns","sortPatterns$1","nuText","newMarker","rangeFromMarker","createMarker","markerPrefix","pathRange","textEnd","textStart","startParentNode","removeMarker","isReplacementPattern","findPatternStartFromSpot","startPattern","patternContent","searchText","startEndIndex","startPatternIndex","nextSpot","findPattern","normalizedMatches","endPathRng","endRng","resultsOpt","findPatternsRec","remainingPatterns","requireGap","startRange","findPatternStart","startPathRng","generatePathRangeFromRange","endSpot","patternsWithoutCurrent","applyPattern","patternRange","findPatterns","getBestMatches","matchesWithSortedPatterns","hasSameMatches","sortedMatch","applyMatches","matchesWithMarkers","addMarkers","matchesWithEnds","endMarker","startMarker","applyReplacementPattern","markerRange","applyPatternWithContent","markerEndRange","markerStartRange","patternMarker","handleEnter","dynamicPatternSet","inlineMatches","blockMatches","findPatterns$1","blockText","insert$5","applyMatches$1","checkKeyEvent","codes","setup$2","charCodes","keyCodes","getPatternSet","createPatternSet","hasDynamicPatterns","hasTextPatternsLookup","handleInlineTrigger","handleInlineKey","charCode","Quirks","isGecko","isWebKit","setEditorCommandState","emptyEditorWhenDeleting","serializeRng","allRng","allContentsSelected","selectAll","shortcuts","documentElementEditingFocus","Range","blur","selectControlElements","visualAidsAnchorClass","disableBackspaceIntoATable","setGeckoEditingOptions","setOpts","addBrAfterLastLinks","showBrokenImageIcon","contentStyles","restoreFocusOnKeyDown","bodyHeight","blockCmdArrowNavigation","tapLinksAndImages","blockFormSubmitInsideEditor","isAllContentSelected","removeStylesWhenDeletingAcrossBlockElements","getAttributeApplyFunction","setAttributeNode","isSelectionAcrossElements","DragEvent","DOM$6","getRootName","removeUndefined","mkParserSettings","mkSchemaSettings","initEditor","bindPendingEventDelegates","fireInit","moveSelectionToFirstCaretPosition","initInstanceCallback","autoFocus","getStyleSheetLoader$1","loadContentCss","fontCss","removeCss","contentCssText","allStylesheets","makeStylesheetLoadingPromises","framedFonts","bundledCss","normalCss","bundledPromises","contentStyle","appendStyle","initEditorWithInitialContent","startContent","loadInitialContent","contentBodyLoaded","readonly","_editableRoot","hasEditableRoot","createParser","mkSerializerSettings","annotator","_nodeChangeDispatcher","setup$5","setup$1","setup$o","setupRtcThunk","firePreInit","spellcheck","firePostRender","directionality","protect","escape","preInit","cancelProgress","canceled","progressTimeout","startProgress","setupRtc","_rtcMode","DOM$5","createIframe","boxInfo","iframeTitle","ifr","createIframeElement","customAttrs","iframe","frameBorder","allowTransparency","iframeContainer","iframeHTML","documentBaseUrl","bodyId","bodyClass","translatedAriaText","getIframeHtml","setupIframeBody","ready","srcdoc","DOM$4","initPlugin","initializedPlugins","Plugin","pluginUrl","pluginInstance","pluginInitError","createThemeFalseResult","renderThemeFalse","renderThemeFalseIframe","renderThemeUi","render","renderUI","renderFromLoadedTheme","iframeHeight","renderFromThemeFunc","iconPackName","currentIcons","loadIcons","svgData","icon","addIcon","initIcons","Theme","initTheme","Model","initModel","trimLegacyPrefix","initPlugins","renderInfo","augmentEditorUiApi","uiApiFacade","isEnabled","setEnabled","init$1","hidden","visibility","orgVisibility","DOM$3","hasSkipLoadPrefix","loadLanguage","scriptLoader","languageCode","languageUrl","languageLoadError","loadTheme","themeUrl","themeLoadError","loadModel","modelUrl","modelLoadError","getIconsUrlMetaFromName","defaultIconsUrl","customIconsUrl","getIconsUrlMetaFromUrl","cat","urlMeta","iconsLoadError","loadPlugins","loadPlugin","pluginLoadError","isThemeLoaded","isModelLoaded","snapshot","getStyleSheetLoader","resetContent","triggerSave","isEncodingXml","set_dirty","deviceDetection","normalizePlugins","trimmedPlugins","extractSections","bifilter","sections","sectionResult","hasSection","getMobileOverrideOptions","mobileOptions","defaultMobileOptions","table_grid","object_resizing","resize","toolbar_mode","toolbar_sticky","menubar","getExternalPlugins","overrideOptions","userDefinedExternalPlugins","external_plugins","processPlugins","isMobileDevice","defaultOverrideOptions","forcedPlugins","forced_plugins","desktopPlugins","mobileConfig","getSectionConfig","platformPlugins","getPlatformPlugins","mobilePlugins","combinedPlugins","combinePlugins","combineOptions","defaultOptions","deviceOverrideOptions","mobile","extendedOptions","isOnMobile","defaults","sectionOptions","getSection","addVisual$1","registerExecCommands$3","toggleAlign","align","editorCommands","addCommands","JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","JustifyNone","registerCommands$b","alignStates","registerQueryStateCommands$1","trimOrPad","trimOrPadLeftRight","insertAtCaret","processValue$1","insertedContent","insertContent$1","legacyPropNames","isFont","getSpecifiedFontProp","legacyPropName","getProperty","getFontProp","getComputedFontProp","getFontSize","getFontFamily","findFirstCaretElement","bindRange","getCaretElement","mapRange","fromFontSizeNumber","fontSizeNumber","getFontStyleValues","fontClasses","getFontSizeClasses","normalizeFontNames","font","fonts","registerExecCommands$2","ForeColor,HiliteColor","BackColor","_command","FontName","fontNameAction","FontSize","fontSizeAction","LineHeight","lineHeightAction","Lang","customCode","mceBlockQuote","FormatBlock","mceToggleFormat","registerQueryValueCommands","isFormatMatch","addQueryValueHandler","fontNameQuery","fontSizeQuery","specifiedStyle","computedStyle","lineHeightQuery","registerCommands$6","Indent","Outdent","getTopParentBlock","topParentBlock","registerCommands$3","InsertNewBlockBefore","InsertNewBlockAfter","registerCommands","queryCommandEnabled","queryCommandSupported","registerCommands$a","mceAddUndoLevel","mceEndUndoLevel","Undo","Redo","registerCommands$7","mceSelectNodeDepth","mceSelectNode","registerCommands$1","mceCleanup","insertHorizontalRule","insertText","insertHTML","mceInsertContent","mceSetContent","mceReplaceContent","mceNewDocument","registerCommands$9","applyLinkToSelection","linkDetails","mceInsertLink","registerCommands$5","insertParagraph","mceInsertNewLine","InsertLineBreak","registerCommands$2","listParent","registerExecCommands$1","registerQueryStateCommands","registerCommands$4","registerCommands$8","mceRemoveNode","mcePrint","print","mceFocus","mceToggleVisualAid","registerExecCommands","selectionSafeCommands","isSelectionSafeCommand","EditorCommands","commands","lowerCaseCommand","skip_focus","restore","queryCommandState","queryCommandValue","commandList","addQueryStateHandler","internalContentEditableAttr","setContentEditable","toggleReadOnly","removeFakeSelection","switchOnContentEditableTrue","restoreFakeSelection","registerFilters","allowedEvents","processReadonlyEvents","isClickEvent","getAnchorHrefOpt","targetEl","isReadOnlyAllowedEvent","nativeEvents","EventDispatcher","isNative","bindings","toggleEvent","beforeFire","once","wrappedCallback","currentName","bindingName","filteredHandlers","binding","getEventDispatcher","_eventDispatcher","toggleNativeEvent","Observable","bubble","dispatcherArgs","DOM$2","customEventRootDelegates","getEventTarget","eventName","eventRoot","isListening","bindEventDelegate","delegates","eventRootElm","delegate","editors","EditorObservable","_pendingNativeEvents","stringListProcessor","getErrorMessage","isValidResult","processValue","create$5","initialOptions","setValue","isBuiltInSpec","getBuiltInProcessor","processDefaultValue","immutable","unset","registered","defaultModes","switchToMode","activeMode","availableModes","oldMode","newMode","activate","deactivate","editorReadOnly","fireSwitchMode","create$4","design","registerReadOnlyContentFilters","registerReadOnlySelectionBlockers","setMode","registerMode","each$2","keyCodeLookup","f1","f2","f8","f10","f11","f12","modifierNames","parseShortcut","shortcut","isModifier","access","alt","ctrl","meta","Shortcuts","pendingPatterns","hasModifier","isFunctionKey","matchShortcut","subpatterns","executeShortcutAction","cmdFunc","normalizeCommandFunc","createShortcut","bridge","create$3","menuItems","contextMenus","contextToolbars","sidebars","views","addButton","addGroupToolbarButton","addToggleButton","addMenuButton","addSplitButton","addMenuItem","addNestedMenuItem","addToggleMenuItem","addAutocompleter","addContextMenu","addContextToolbar","addContextForm","addSidebar","addView","DOM$1","each$1","Editor","loadedCSS","isNotDirty","documentBaseURL","normalizeOptions","registerOption","hasPlugin","lookupFn","ctx","rawPatterns","_ctx","register$7","_setBaseUrl","baseURI","setupCallback","getParam","loadArgs","saveArgs","initialContent","oldState","urlConverterCallback","urlObject","setEditableRoot","fireEditableRootStateChange","_scanForImages","beforeUnloadDelegate","boundGlobalEvents","globalEventDelegate","EditorManager","toggleGlobalEvents","removeEditorFromList","targetEditor","oldEditors","isQuirksMode","compatMode","releaseDate","i18n","tinyMCEPreInit","srcScript","overrideDefaults","base_url","pluginBaseUrls","plugin_base_urls","pluginBaseUrl","pluginName","invalidInlineTargets","provideResults","initEditors","initCount","execCallback","unique$1","findTargets","isInvalidInlineTarget","createEditor","createId","existingEditor","editorId","editorOptions","addI18n","FakeClipboard","dataValue","FakeClipboardItem","relativePosition","targetW","targetH","relChars","create$2","Rect","inflate","findBestRelativePosition","constrainRect","rels","intersect","cropRect","clamp","clampRect","fixedSize","cx2","cy2","underflowX1","underflowY1","overflowX2","overflowY2","fromClientRect","create$1","tasks","resultFns","resources","loadErrMsg","runErrMsg","task","waiter","resolveCb","rejectCb","completer","_len14","_key14","_len15","_key15","awaiter","localStorage","setItem","removeItem","storage","getItem","publicApi","geom","LocalStorage","ImageUploader","showNotification","TreeWalker","Selection","tinymce$1","tinyMCE","exportToWindowGlobal","module","exportToModuleLoaders","global$4","after$1","TagBoundaries","scan","universe","toEnd","freefallRtl$2","freefallRtl$1","copyAttributesTo","destination","other","accordionTag","accordionDetailsClass","accordionSummaryClass","accordionBodyWrapperClass","accordionBodyWrapperTag","global$3","isOpen","isInSummary","isInsertAllowed","getSelectedDetails","insertBogus","createParagraph","normalizeSummary","accordion","createSummary","normalizeAccordion","normalizeContent","paragraph","insertAccordion","editorBody","summaryText","bodyText","accordionSummaryHtml","accordionBodyHtml","detailsElm","summaryElm","des","toggleDetailsElement","shouldOpen","removeAccordion","insertAndSelectParagraphAfter","insertAdjacentElement","toggleAccordion","fireToggleAccordionEvent","toggleAllAccordions","accordions","fireToggleAllAccordionsEvent","global$2","getClassList","addClasses","classListSet","removeClasses","isAccordionDetailsNode","isAccordionBodyWrapperNode","getAccordionChildren","accordionNode","summaryNode","wrapperNode","otherNodes","padInputNode","global$1","setupEnterKeyInSummary","isAtDetailsStart","isDetailsSelected","normalizeDetails","global","buttonApi","tooltip","hasSummaryNode","newSummaryNode","hasWrapperNode","newWrapperNode","otherNode","pNode","summaryClassRemoveSet","applyListFormat","listName","getNumberStyles","getBulletStyles","isListNode","isTableCellNode","inList","isChildOfBody","makeSetupHandler","setNodeChangeHandler","nodeChangeHandler","initialNode","updateButtonState","isWithinNonEditable","presets","iconStyle","iconName","itemValue","displayText","styleValueToText","onItemAction","_splitButtonApi","listStyleType","getSelectedStyleType","listStyle","addControl","addListStylePosition","_ref17","_ref18","allowHtmlInNamedAnchor","namedAnchorSelector","isEmptyString","getIdFromAnchor","isAnchor","removeEmptyNamedAnchorsInSelection","getNamedAnchor","updateAnchor","anchorElement","createAnchor","currentId","getId","onSubmit","insertAnchor","newId","isEmptyNamedAnchorNode","isNamedAnchorNode","onSetupEditable","unbindSelectorChanged","unbindEditableChanged","registerFormats","getAutoLinkPattern","getDefaultLinkTarget","getDefaultLinkProtocol","allowUnsafeLinkTarget","isTextNode","isBracketOrSpace","findChar","parseCurrentLine","autoLinkPattern","tempOffset","startSpot","hasProtocol","convertToLink","defaultLinkTarget","handleSpacebar","handleBracket","insertChar","evtChr","fireInsertCustomChar","getCharMap$1","getCharMapAppend","UserDefined","getCharsFromOption","charmap","getCharMap","groups","extendCharMap","userCharMap","characters","userCharMapAppend","userDefinedGroup","lowerCasePattern","charMatches","patternName","charMap","makeGroupItems","currentTab","updateFilter","_len16","_key16","dialogApi","scanAndSet","bridgeSpec","tabs","charGroup","onTabChange","newTabName","onChange","changeData","charMapProcessor","_maxResults","_reject","autocompleteApi","CM_SETTINGS","lineWrapping","lineNumbers","foldGutter","gutter","matchBrackets","styleActiveLine","tabSize","CURSOR_MARKER_CODE","CUSTOM_EDITOR_ID","setupCodemirror","codeMirror","autoComplete","getAutocompleteConfig","completeAfter","showHint","completionActive","completeSingle","Pass","completeIfAfterLt","getCursor","getRange","Pos","completeIfInTag","tok","getTokenAt","isStringEdge","innerMode","matchTags","bothTags","keyMap","gutters","extraKeys","cmi","foldCode","screenReaderLabel","setCursor","refresh","addAccessKeyInfoPanel","td1","td2","setupResource","CodeMirror","setupSourceEscape","focusableElements","escKeyMap","Esc","addKeyMap","tabKeyMap","removeKeyMap","focusableElement","getInputField","getValue","markCursorPosition","somethingSelected","moveCursorIfInEntity","moveCursorIfInTag","getViewport","findMatchingTag","hit","moveCursorIfInIframe","findEnclosingTag","openingTagCursorLocation","curLine","getLine","addCursorMarker","checkLineBoundary","charPos","_ref19","getModeAt","tinyCursor","replaceSelection","CustomEditor","isDarkTheme","addCursorMarkers","bookmarkNode","isBody","cursorElement","createCursorPosition","contentProcessor","markedContent","cursorMarker","getContentWithMarkers","lineIdx","cursorIndex","getCursorPosition","submitHandler","_ref20","Dialog","helpers","processContent","collectSettings","codeview","cmSettings","scriptId","makeDialog","prismjs","oldprism","Prism","manual","_self","plainTextGrammar","disableWorkerMessageHandler","tokens","Token","alias","objId","deepClone","visited","setLanguage","defaultActivation","plain","redef","grammar","newToken","DFS","propertyType","highlightAll","highlightAllUnder","highlightElement","insertHighlightedCode","highlightedCode","Worker","onmessage","postMessage","immediateClose","highlight","tokenList","LinkedList","addAfter","matchGrammar","matchedStr","matchPattern","lookbehind","lookbehindLength","rematch","cause","patternObj","greedy","reach","removeCount","matchStr","removeFrom","removeRange","nestedRematch","aliases","highlightAutomaticallyCallback","defer","WorkerGlobalScope","clike","defineProperties","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","markup","tokenizePlaceholders","walkTokens","keyword","modName","cpp","replacements","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","keywords","nonTypeKeywords","nonContextualKeywords","generic","nestedRound","genericName","identifier","typeExpressionWithoutTuple","tupleElement","typeExpression","typeInside","character","regularString","verbatimString","csharp","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","dotnet","addInlined","addAttribute","classNamePrefix","java","function","namespace","javascript","includedCdataInside","def","mathml","ssml","atom","rss","operator","punctuation","php","string_interpolation","python","ruby","percentExpression","symbolName","getLanguages$1","useGlobalPrismJS","isCodeSample","getSelectedCodeSample","customLanguages","getLanguages","defaultLanguage","currentLanguage","getCurrentLanguage","getCurrentCode","insertCodeSample","newPre","onChanged","pres","unprocessedCodeSamples","isCodeSampleSelection","children$2","getDirection","getParentElement","setDirOnElements","blockElement","isBlockElementListItem","normalizedBlock","getNormalizedBlock","listItems","listItem","setDir","getNodeChangeHandler","getEmojiDatabase","getEmojiDatabaseUrl","getEmojiDatabaseId","getAppendedEmoji","getEmojiImageUrl","ALL_CATEGORY","categoryNameMap","symbols","people","animals_and_nature","food_and_drink","activity","travel_and_places","user","translateCategory","categories","getUserDefinedEmoji","userDefinedEmoticons","category","initDatabase","databaseUrl","databaseId","emojiImagesUrl","getEmoji","lib","emojis","userEmojis","cats","everything","processEmojis","listAll","hasLoaded","listCategories","numRetries","interval","listCategory","emojiMatches","emoji","emojisFrom","reachedLimit","initialState","_len17","_key17","dialogData","searchField","resultsField","getInitialState","actionData","insertEmoticon","redial","unblock","_err","fitzpatrick_scale","grinning","grimacing","grin","joy","rofl","partying","smiley","smile","sweat_smile","laughing","innocent","wink","blush","slightly_smiling_face","upside_down_face","relaxed","yum","relieved","heart_eyes","smiling_face_with_three_hearts","kissing_heart","kissing","kissing_smiling_eyes","kissing_closed_eyes","stuck_out_tongue_winking_eye","zany","raised_eyebrow","monocle","stuck_out_tongue_closed_eyes","stuck_out_tongue","money_mouth_face","nerd_face","sunglasses","star_struck","clown_face","cowboy_hat_face","hugs","smirk","no_mouth","neutral_face","expressionless","unamused","roll_eyes","thinking","lying_face","hand_over_mouth","shushing","symbols_over_mouth","exploding_head","flushed","disappointed","worried","angry","rage","pensive","confused","slightly_frowning_face","frowning_face","persevere","confounded","tired_face","weary","pleading","triumph","open_mouth","scream","fearful","cold_sweat","hushed","frowning","anguished","cry","disappointed_relieved","drooling_face","sleepy","sweat","hot","cold","sob","dizzy_face","astonished","zipper_mouth_face","nauseated_face","sneezing_face","vomiting","mask","face_with_thermometer","face_with_head_bandage","woozy","sleeping","zzz","poop","smiling_imp","imp","japanese_ogre","japanese_goblin","skull","alien","robot","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","palms_up","raised_hands","clap","wave","call_me_hand","facepunch","fist","fist_left","fist_right","ok_hand","raised_hand","raised_back_of_hand","open_hands","muscle","pray","foot","leg","handshake","point_up","point_up_2","point_down","point_left","point_right","raised_hand_with_fingers_splayed","love_you","metal","crossed_fingers","vulcan_salute","writing_hand","selfie","nail_care","lips","tooth","tongue","ear","nose","eye","eyes","brain","bust_in_silhouette","busts_in_silhouette","speaking_head","baby","boy","girl","adult","man","woman","blonde_woman","blonde_man","bearded_person","older_adult","older_man","older_woman","man_with_gua_pi_mao","woman_with_headscarf","woman_with_turban","man_with_turban","policewoman","policeman","construction_worker_woman","construction_worker_man","guardswoman","guardsman","female_detective","male_detective","woman_health_worker","man_health_worker","woman_farmer","man_farmer","woman_cook","man_cook","woman_student","man_student","woman_singer","man_singer","woman_teacher","man_teacher","woman_factory_worker","man_factory_worker","woman_technologist","man_technologist","woman_office_worker","man_office_worker","woman_mechanic","man_mechanic","woman_scientist","man_scientist","woman_artist","man_artist","woman_firefighter","man_firefighter","woman_pilot","man_pilot","woman_astronaut","man_astronaut","woman_judge","man_judge","woman_superhero","man_superhero","woman_supervillain","man_supervillain","mrs_claus","santa","sorceress","wizard","woman_elf","man_elf","woman_vampire","man_vampire","woman_zombie","man_zombie","woman_genie","man_genie","mermaid","merman","woman_fairy","man_fairy","angel","pregnant_woman","breastfeeding","princess","prince","bride_with_veil","man_in_tuxedo","running_woman","running_man","walking_woman","walking_man","dancer","man_dancing","dancing_women","dancing_men","couple","two_men_holding_hands","two_women_holding_hands","bowing_woman","bowing_man","man_facepalming","woman_facepalming","woman_shrugging","man_shrugging","tipping_hand_woman","tipping_hand_man","no_good_woman","no_good_man","ok_woman","ok_man","raising_hand_woman","raising_hand_man","pouting_woman","pouting_man","frowning_woman","frowning_man","haircut_woman","haircut_man","massage_woman","massage_man","woman_in_steamy_room","man_in_steamy_room","couple_with_heart_woman_man","couple_with_heart_woman_woman","couple_with_heart_man_man","couplekiss_man_woman","couplekiss_woman_woman","couplekiss_man_man","family_man_woman_boy","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_boy_boy","family_man_woman_girl_girl","family_woman_woman_boy","family_woman_woman_girl","family_woman_woman_girl_boy","family_woman_woman_boy_boy","family_woman_woman_girl_girl","family_man_man_boy","family_man_man_girl","family_man_man_girl_boy","family_man_man_boy_boy","family_man_man_girl_girl","family_woman_boy","family_woman_girl","family_woman_girl_boy","family_woman_boy_boy","family_woman_girl_girl","family_man_boy","family_man_girl","family_man_girl_boy","family_man_boy_boy","family_man_girl_girl","yarn","thread","coat","labcoat","womans_clothes","tshirt","jeans","necktie","dress","bikini","kimono","lipstick","kiss","footprints","flat_shoe","high_heel","sandal","boot","mans_shoe","athletic_shoe","hiking_boot","socks","gloves","scarf","womans_hat","tophat","billed_hat","rescue_worker_helmet","mortar_board","crown","school_satchel","luggage","pouch","purse","handbag","briefcase","eyeglasses","dark_sunglasses","goggles","ring","closed_umbrella","dog","mouse","hamster","rabbit","fox_face","bear","panda_face","koala","tiger","lion","cow","pig","pig_nose","frog","squid","octopus","shrimp","monkey_face","gorilla","see_no_evil","hear_no_evil","speak_no_evil","monkey","chicken","penguin","bird","baby_chick","hatching_chick","hatched_chick","duck","eagle","owl","bat","wolf","boar","horse","unicorn","honeybee","bug","butterfly","snail","beetle","ant","grasshopper","spider","scorpion","crab","lizard","sauropod","turtle","tropical_fish","fish","blowfish","dolphin","shark","whale","whale2","crocodile","leopard","zebra","tiger2","water_buffalo","cow2","deer","dromedary_camel","camel","giraffe","elephant","rhinoceros","goat","ram","sheep","racehorse","pig2","rat","mouse2","rooster","turkey","dove","dog2","poodle","cat2","rabbit2","chipmunk","hedgehog","raccoon","llama","hippopotamus","kangaroo","badger","swan","peacock","parrot","lobster","mosquito","paw_prints","dragon","dragon_face","cactus","christmas_tree","evergreen_tree","deciduous_tree","palm_tree","seedling","herb","shamrock","four_leaf_clover","bamboo","tanabata_tree","leaves","fallen_leaf","maple_leaf","ear_of_rice","hibiscus","sunflower","rose","wilted_flower","tulip","blossom","cherry_blossom","bouquet","mushroom","chestnut","jack_o_lantern","shell","spider_web","earth_americas","earth_africa","earth_asia","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","new_moon","waxing_crescent_moon","first_quarter_moon","waxing_gibbous_moon","new_moon_with_face","full_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","sun_with_face","crescent_moon","star","star2","dizzy","sparkles","comet","sunny","sun_behind_small_cloud","partly_sunny","sun_behind_large_cloud","sun_behind_rain_cloud","cloud","cloud_with_rain","cloud_with_lightning_and_rain","cloud_with_lightning","zap","boom","snowflake","cloud_with_snow","snowman","snowman_with_snow","wind_face","dash","tornado","fog","open_umbrella","umbrella","droplet","sweat_drops","ocean","green_apple","apple","pear","tangerine","lemon","banana","watermelon","grapes","strawberry","melon","cherries","peach","pineapple","coconut","kiwi_fruit","mango","avocado","broccoli","tomato","eggplant","cucumber","carrot","hot_pepper","potato","corn","leafy_greens","sweet_potato","peanuts","honey_pot","croissant","bread","baguette_bread","bagel","pretzel","cheese","egg","bacon","steak","pancakes","poultry_leg","meat_on_bone","bone","fried_shrimp","fried_egg","hamburger","fries","stuffed_flatbread","hotdog","pizza","sandwich","canned_food","spaghetti","taco","burrito","green_salad","shallow_pan_of_food","ramen","stew","fish_cake","fortune_cookie","sushi","bento","rice_ball","rice","rice_cracker","oden","dango","shaved_ice","ice_cream","icecream","pie","cake","cupcake","moon_cake","birthday","custard","candy","lollipop","chocolate_bar","popcorn","dumpling","doughnut","cookie","milk_glass","beer","beers","clinking_glasses","wine_glass","tumbler_glass","cocktail","tropical_drink","champagne","sake","tea","cup_with_straw","coffee","baby_bottle","salt","spoon","fork_and_knife","plate_with_cutlery","bowl_with_spoon","takeout_box","chopsticks","soccer","basketball","football","baseball","softball","tennis","volleyball","rugby_football","flying_disc","golf","golfing_woman","golfing_man","ping_pong","badminton","goal_net","ice_hockey","field_hockey","lacrosse","cricket","ski","skier","snowboarder","person_fencing","women_wrestling","men_wrestling","woman_cartwheeling","man_cartwheeling","woman_playing_handball","man_playing_handball","ice_skate","curling_stone","skateboard","sled","bow_and_arrow","fishing_pole_and_fish","boxing_glove","martial_arts_uniform","rowing_woman","rowing_man","climbing_woman","climbing_man","swimming_woman","swimming_man","woman_playing_water_polo","man_playing_water_polo","woman_in_lotus_position","man_in_lotus_position","surfing_woman","surfing_man","bath","basketball_woman","basketball_man","weight_lifting_woman","weight_lifting_man","biking_woman","biking_man","mountain_biking_woman","mountain_biking_man","horse_racing","business_suit_levitating","trophy","running_shirt_with_sash","medal_sports","medal_military","reminder_ribbon","rosette","ticket","tickets","performing_arts","art","circus_tent","woman_juggling","man_juggling","microphone","headphones","musical_score","musical_keyboard","drum","saxophone","trumpet","guitar","violin","clapper","video_game","space_invader","dart","game_die","chess_pawn","slot_machine","jigsaw","bowling","red_car","taxi","blue_car","bus","trolleybus","racing_car","police_car","ambulance","fire_engine","minibus","truck","articulated_lorry","tractor","kick_scooter","motorcycle","bike","motor_scooter","rotating_light","oncoming_police_car","oncoming_bus","oncoming_automobile","oncoming_taxi","aerial_tramway","mountain_cableway","suspension_railway","railway_car","train","monorail","bullettrain_side","bullettrain_front","light_rail","mountain_railway","steam_locomotive","train2","metro","tram","station","flying_saucer","helicopter","small_airplane","airplane","flight_departure","flight_arrival","sailboat","motor_boat","speedboat","ferry","passenger_ship","rocket","artificial_satellite","seat","canoe","construction","fuelpump","busstop","vertical_traffic_light","traffic_light","checkered_flag","ship","ferris_wheel","roller_coaster","carousel_horse","building_construction","foggy","tokyo_tower","factory","fountain","rice_scene","mountain","mountain_snow","mount_fuji","volcano","japan","camping","tent","national_park","motorway","railway_track","sunrise","sunrise_over_mountains","desert","beach_umbrella","desert_island","city_sunrise","city_sunset","cityscape","night_with_stars","bridge_at_night","milky_way","stars","sparkler","fireworks","rainbow","houses","european_castle","japanese_castle","stadium","statue_of_liberty","house","house_with_garden","derelict_house","office","department_store","post_office","european_post_office","hospital","bank","hotel","convenience_store","school","love_hotel","wedding","classical_building","church","mosque","synagogue","kaaba","shinto_shrine","watch","iphone","calling","computer","keyboard","desktop_computer","printer","computer_mouse","trackball","joystick","minidisc","floppy_disk","dvd","vhs","camera","camera_flash","video_camera","movie_camera","film_projector","film_strip","telephone_receiver","phone","pager","fax","radio","studio_microphone","level_slider","control_knobs","compass","stopwatch","timer_clock","alarm_clock","mantelpiece_clock","hourglass_flowing_sand","hourglass","satellite","battery","electric_plug","bulb","flashlight","candle","fire_extinguisher","wastebasket","oil_drum","money_with_wings","dollar","yen","euro","pound","moneybag","credit_card","gem","balance_scale","toolbox","wrench","hammer","hammer_and_pick","hammer_and_wrench","pick","nut_and_bolt","gear","brick","chains","magnet","gun","bomb","firecracker","hocho","dagger","crossed_swords","shield","smoking","skull_and_crossbones","coffin","funeral_urn","amphora","crystal_ball","prayer_beads","nazar_amulet","barber","alembic","telescope","microscope","hole","pill","syringe","dna","microbe","petri_dish","test_tube","thermometer","broom","basket","toilet_paper","toilet","shower","bathtub","soap","sponge","lotion_bottle","old_key","couch_and_lamp","sleeping_bed","bed","door","bellhop_bell","teddy_bear","framed_picture","world_map","parasol_on_ground","moyai","shopping","shopping_cart","balloon","ribbon","gift","confetti_ball","tada","dolls","wind_chime","crossed_flags","izakaya_lantern","red_envelope","email","envelope_with_arrow","incoming_envelope","love_letter","postbox","mailbox_closed","mailbox","mailbox_with_mail","mailbox_with_no_mail","package","postal_horn","inbox_tray","outbox_tray","page_with_curl","bookmark_tabs","receipt","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","page_facing_up","date","calendar","spiral_calendar","card_index","card_file_box","ballot_box","file_cabinet","clipboard","spiral_notepad","file_folder","open_file_folder","card_index_dividers","newspaper_roll","newspaper","notebook","closed_book","green_book","blue_book","orange_book","notebook_with_decorative_cover","ledger","books","open_book","safety_pin","paperclip","paperclips","scissors","triangular_ruler","straight_ruler","abacus","pushpin","round_pushpin","triangular_flag_on_post","white_flag","black_flag","rainbow_flag","closed_lock_with_key","lock","unlock","lock_with_ink_pen","pen","fountain_pen","black_nib","memo","pencil2","crayon","paintbrush","mag","mag_right","heart","orange_heart","yellow_heart","green_heart","blue_heart","purple_heart","black_heart","broken_heart","heavy_heart_exclamation","two_hearts","revolving_hearts","heartbeat","heartpulse","sparkling_heart","cupid","gift_heart","heart_decoration","peace_symbol","latin_cross","star_and_crescent","wheel_of_dharma","star_of_david","six_pointed_star","menorah","yin_yang","orthodox_cross","place_of_worship","ophiuchus","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","atom_symbol","u7a7a","u5272","radioactive","biohazard","mobile_phone_off","vibration_mode","u6709","u7121","u7533","u55b6","u6708","eight_pointed_black_star","accept","white_flower","ideograph_advantage","secret","congratulations","u5408","u6e80","u7981","sos","no_entry","name_badge","no_entry_sign","stop_sign","anger","hotsprings","no_pedestrians","do_not_litter","no_bicycles","underage","no_mobile_phones","exclamation","grey_exclamation","question","grey_question","bangbang","interrobang","low_brightness","high_brightness","trident","fleur_de_lis","part_alternation_mark","warning","children_crossing","beginner","recycle","u6307","chart","sparkle","eight_spoked_asterisk","negative_squared_cross_mark","white_check_mark","diamond_shape_with_a_dot_inside","cyclone","loop","globe_with_meridians","atm","passport_control","customs","baggage_claim","left_luggage","wheelchair","no_smoking","parking","potable_water","mens","womens","baby_symbol","restroom","put_litter_in_its_place","cinema","signal_strength","koko","cool","new","free","zero","two","three","four","five","six","seven","eight","nine","keycap_ten","asterisk","eject_button","arrow_forward","pause_button","next_track_button","stop_button","record_button","play_or_pause_button","previous_track_button","fast_forward","rewind","twisted_rightwards_arrows","repeat_one","arrow_backward","arrow_up_small","arrow_down_small","arrow_double_up","arrow_double_down","arrow_right","arrow_left","arrow_up","arrow_down","arrow_upper_right","arrow_lower_right","arrow_lower_left","arrow_upper_left","arrow_up_down","left_right_arrow","arrows_counterclockwise","arrow_right_hook","leftwards_arrow_with_hook","arrow_heading_up","arrow_heading_down","information_source","abc","abcd","capital_abcd","musical_note","notes","wavy_dash","curly_loop","heavy_check_mark","arrows_clockwise","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_multiplication_x","infinity","heavy_dollar_sign","currency_exchange","copyright","back","soon","ballot_box_with_check","radio_button","white_circle","black_circle","red_circle","large_blue_circle","small_orange_diamond","small_blue_diamond","large_orange_diamond","large_blue_diamond","small_red_triangle","black_small_square","white_small_square","black_large_square","white_large_square","small_red_triangle_down","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_square_button","white_square_button","speaker","sound","loud_sound","mute","mega","loudspeaker","bell","no_bell","black_joker","mahjong","spades","clubs","hearts","diamonds","flower_playing_cards","thought_balloon","right_anger_bubble","speech_balloon","left_speech_bubble","clock1","clock2","clock3","clock4","clock5","clock6","clock7","clock8","clock9","clock10","clock11","clock12","clock130","clock230","clock330","clock430","clock530","clock630","clock730","clock830","clock930","clock1030","clock1130","clock1230","afghanistan","aland_islands","albania","algeria","american_samoa","andorra","angola","anguilla","antarctica","antigua_barbuda","argentina","armenia","aruba","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","barbados","belarus","belgium","belize","benin","bermuda","bhutan","bolivia","caribbean_netherlands","bosnia_herzegovina","botswana","brazil","british_indian_ocean_territory","british_virgin_islands","brunei","bulgaria","burkina_faso","burundi","cape_verde","cambodia","cameroon","canada","canary_islands","cayman_islands","central_african_republic","chad","chile","christmas_island","cocos_islands","colombia","comoros","congo_brazzaville","congo_kinshasa","cook_islands","costa_rica","croatia","cuba","curacao","cyprus","czech_republic","denmark","djibouti","dominica","dominican_republic","ecuador","egypt","el_salvador","equatorial_guinea","eritrea","estonia","ethiopia","falkland_islands","faroe_islands","fiji","finland","french_guiana","french_polynesia","french_southern_territories","gabon","gambia","georgia","ghana","gibraltar","greece","greenland","grenada","guadeloupe","guam","guatemala","guernsey","guinea","guinea_bissau","guyana","haiti","honduras","hong_kong","hungary","iceland","india","indonesia","iran","iraq","ireland","isle_of_man","israel","cote_divoire","jamaica","jersey","jordan","kazakhstan","kenya","kiribati","kosovo","kuwait","kyrgyzstan","laos","latvia","lebanon","lesotho","liberia","libya","liechtenstein","lithuania","luxembourg","macau","macedonia","madagascar","malawi","malaysia","maldives","mali","malta","marshall_islands","martinique","mauritania","mauritius","mayotte","mexico","micronesia","moldova","monaco","mongolia","montenegro","montserrat","morocco","mozambique","myanmar","namibia","nauru","nepal","netherlands","new_caledonia","new_zealand","nicaragua","niger","nigeria","niue","norfolk_island","northern_mariana_islands","north_korea","norway","oman","pakistan","palau","palestinian_territories","panama","papua_new_guinea","paraguay","peru","philippines","pitcairn_islands","poland","portugal","puerto_rico","qatar","reunion","romania","rwanda","st_barthelemy","st_helena","st_kitts_nevis","st_lucia","st_pierre_miquelon","st_vincent_grenadines","samoa","san_marino","sao_tome_principe","saudi_arabia","senegal","serbia","seychelles","sierra_leone","singapore","sint_maarten","slovakia","slovenia","solomon_islands","somalia","south_africa","south_georgia_south_sandwich_islands","south_sudan","sri_lanka","sudan","suriname","swaziland","sweden","switzerland","syria","taiwan","tajikistan","tanzania","thailand","timor_leste","togo","tokelau","tonga","trinidad_tobago","tunisia","turkmenistan","turks_caicos_islands","tuvalu","uganda","ukraine","united_arab_emirates","england","scotland","wales","us_virgin_islands","uruguay","uzbekistan","vanuatu","vatican_city","venezuela","vietnam","wallis_futuna","western_sahara","yemen","zambia","zimbabwe","united_nations","pirate_flag","fullscreenState","isFullscreen","_len19","_key19","_len20","_key20","unbindable","siblings$2","_len18","_key18","bind$1","detect$1","_len22","_key22","fireFullscreenStateChanged","getFullscreenNative","getFullscreenRoot","isFullscreenElement","fullscreenElement","msFullscreenElement","webkitFullscreenElement","ancestors$1","all$1","siblings$1","ancestorPosition","ancestorStyles","clobberStyles","clobber","clobberStyle","backup","bgColor","matchColor","viewportUpdate","resizeBinder","scrollBinder","_len21","_key21","toggleFullscreen","editorContainerS","sinkContainerS","fullscreenRoot","fullscreenInfo","editorContainerStyle","iframeStyle","handleClasses","clobberedEls","restoreStyles","fullscreenChangeHandler","sugarDoc","exitFullscreen","msExitFullscreen","webkitCancelFullScreen","iframeWidth","containerWidth","containerHeight","containerTop","containerLeft","sinkCssPosition","scrollPos","_evt","newFullScreenInfo","sugarElem","requestFullscreen","msRequestFullscreen","webkitRequestFullScreen","editorEventCallback","hasDimensions","hasAdvTab","hasUploadTab","getPrependUrl","hasDescription","hasImageTitle","hasImageCaption","getImageList","showAccessibilityOptions","parseIntAndGetMax","val1","val2","removePixelSuffix","addPixelSuffix","isPlaceholderImage","isSafeImageUrl","getHspace","getVspace","marginTop","marginBottom","getBorder","hasCaption","updateAttrib","toggleCaption","figureElm","removeFigure","wrapInFigure","normalizeStyle","normalizeCss","setSize","setHspace","pxValue","setVspace","setBorder","setBorderStyle","getBorderStyle","isFigure","getIsDecorative","getAlt","getStyleValue","hspace","vspace","isDecorative","updateProp","oldData","newData","setAlt","sugarImage","_name","updateAlt","normalizeCss$1","mergedCss","splitMargin","mergeMargins","compressed","getSelectedImage","splitTextBlock","figure","insertImageAtCaret","insertedElm","fromLibrary","writeImageDataToSelection","syncSrcAttr","waitLoadImage","selectImage","insertOrUpdateImage","partialData","selectedImageData","sanitizedData","sanitizeImageData","deleteImage","sanitizeList","menu","extractor","findEntryDelegate","isGroup","ListUtils","findEntry","optList","AdvTab","_info","inputMode","urlListSanitizer","futureImageList","createImageList","imageList","hasAdvTab$1","hasUploadTab$1","hasUploadUrl$1","hasUploadUrl","hasUploadHandler$1","hasUploadHandler","readImageDataFromSelection","hasDescription$1","hasImageTitle$1","hasDimensions$1","hasImageCaption$1","hasAccessibilityOptions","automaticUploads","prependURL","preUrl","libraryTab","allowLibraryUploads","showLibraryTab","libraryFilePicker","labels","tabName","dropzone","getSnImageSettings","LibraryTab","dropZone","makeItems","imageDescription","filetype","picker_text","useColumns","MainTab","UploadTab","fromImageData","dimensions","borderstyle","fileinput","libraryfile","toImageData","removeEmptyAlt","addPrependUrl","addPrependUrl2","srcURL","prependUrl","formFillFromMeta","formFillFromMeta2","changeSrc","calculateImageSize","imageSize","updateImagesDropdown","prevImage","changeLibraryFileHandler","dataUrl","createBlobCache","addToBlobCache","showTab","changeHandler","changeImages","prevAlt","changeFileInput","finalize","updateSrcAndSwitchTab","uploadImage","alertErr","actionHandler","successCallback","getEditor","closeHandler","makeDialogBody","finalData","getImageSize","createState","onClose","hasImageClass","toggleContentEditableState","toggleContentEditable","unbindEditable","getDateFormat","getTimeFormat","shouldInsertTimeElement","daysShort","daysLong","monthsShort","monthsLong","addZeros","getDateTime","getFullYear","getYear","getMonth","getDate","getHours","getMinutes","getSeconds","getDay","insertDateTime","userTime","computerTime","timeElm","newTimeElm","datetime","defaultFormat","getDefaultDateTime","_api","makeMenuItemHandler","getSubmenuItems","global$5","assumeExternalTargets","hasContextToolbar","getLinkList","getTargetList","getRelList","getLinkClassList","shouldShowLinkTitle","useQuickLink","sanitizeWith","extracter","ListOptions","createUi","isLink","getHref","collectNodesInRange","applyRelTargetRules","isUnsafe","rules","removeTargetRules","newRels","addTargetRules","getAnchorElement","getLinksInSelection","isImageFigure","isInAnchor","getAnchorText","anchorElm","trimCaretContainers","getLinks$1","hasLinks","isOnlyTextSelected","inlineTextElements","applyLinkOverrides","linkAttrs","newLinkAttrs","handleExternalTargets","linkDomMutation","attachState","getLinkAttrs","linkImageFigure","updateLink","unwrapOptions","_k","sanitizeData","uriOptions","unlinkImageFigure","startAnchorElm","endAnchorElm","unlinkSelection","unlinkDomMutation","fig","isListGroup","findTextByValue","catalog","getDelta","persistentText","fieldName","hasPersistentText","DialogChanges","linkCatalog","persistentData","onUrlChange","getTitleFromUrlChange","onCatalogChange","change","catalogs","findCatalog","tryEmailTransform","tryProtocolTransform","defaultLinkProtocol","DialogConfirms","delayedConfirm","AnchorListOptions","anchorNodes","anchors","ClassListOptions","parseJson","LinkListOptions","linkList","optItems","RelOptions","getRels","initialTarget","isTargetBlank","safeRelExtractor","fallbacks","TargetOptions","nonEmptyAttr","DialogInfo","linkNode","extractFromAnchor","linkClass","titleEnabled","open$1","collectData","handleSubmit","getChangedValue","changedData","pData","titleText","getInitialData","defaultTarget","dialogDelta","_ref21","createEvent","appendClickRemove","dispatchEvent","getLink","getSelectedLink","gotoLink","gotoSelectedLink","toggleState","toggler","toggleLinkState","updateState","toggleLinkMenuState","toggleGotoLinkState","hasExactlyOneLinkInSelection","toggleUnlinkState","hasLinks$1","updateEnabled","setupContextToolbars","onSetupLink","launch","formApi","onlyText","getLinkText","collapseSelectionToEnd","setupButtons","setupMenuItems","setupContextMenu","hasOnlyAltModifier","setupGotoLinks","toolbarKey","global$7","closest$2","before$1","global$6","isTextNode$1","isOlUlNode","isOlNode","isListItemNode","isDlItemNode","isVoid","keepBookmarks","shouldIndentOnTab","contentNode","blockAttrs","hasContentNode","splitList","bookmarks","removeAndKeepBookmarks","isDescriptionDetail","isDescriptionTerm","outdentDlItem","indentDlItem","getNormalizedPoint","outRng","rangeStart","rangeEnd","listNames","listSelector","getParentList","selectionStart","getClosestListHost","getSelectedSubLists","isParentListSelected","findSubLists","getSelectedListItems","findParentListItemsNodes","listItemsElms","getClosestEditingHost","parentTableCell","isListHost","findLastParentListNode","parentLists","getSelectedListRoots","selectedLists","firstList","subsequentLists","getSelectedLists","getParentLists","isListInsideAnLiWithFirstAndLastNotListElement","getUniqueListRoots","lists","listRoots","isCustomList","fireListEvent","hasFirstChildList","isEntryList","isEntryComment","isIndented","depth","isSelected","cloneItemContent","joinSegment","createSegment","segment","writeShallow","cast","newCast","itemAttributes","appendItem","normalizeSegment","listAttributes","isEntryFragment","writeDeep","segments","createSegments","parentListType","appendSegments","joinSegments","populateSegments","composeList","firstCommentEntryOpt","firstCommentEntry","fistCast","normalizeEntries","closestSiblingEntry","cleanListProperties","matchingEntry","cloneListProperties","parseSingleItem","itemSelection","selectionState","currentItemEntry","createEntry","isInPreviousLi","childListEntries","parseList","parseItem","parsedSiblings","liChild","isFragment","composeEntries","groupBy","wasType","indentedComposer","normalizedEntries","outdentedComposer","listIndentation","entrySets","parseLists","sourceList","selectedListItems","getItemSelection","entrySet","indentSelectedEntries","indentEntry","composedLists","composedList","selectionIndentation","dlItems","getSelectedDlItems","isHandled","dlIndentation","handleIndentation","selectionIsWithinNonEditableList","indentListSelection","outdentListSelection","flattenListSelection","_len23","_key23","_len24","_key24","createBookmark","setupEndPoint","resolveBookmark","listToggleActionFromListName","updateListWithDetails","updateListStyle","updateListAttrs","getEndPointNode","findBetterContainer","findBlockAncestor","applyList","listItemName","getRootSearchStart","selectedTextBlocks","getSelectedTextBlocks","textBlocks","listBlock","hasCompatibleStyle","sib","sibStyle","detailStyle","mergeWithAdjacentLists","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm2","hasSameClasses","liSibling","updateList$1","newList","updateCustomList","hasListStyleDetail","toggleList","_detail","selectedSubLists","toggleMultipleLists","parentIsList","allLists","updateFunction","toggleSingleList","normalizeLists","normalizeList","findNextCaretContainer","nonEmptyBlocks","hasOnlyOneBlockChild","isUnwrappable","moveChildren","unwrapSingleBlockChild","mergeLiElements","listNode","nestedLists","mergeForward","fromLi","toLi","mergeIntoEmptyLi","backspaceDeleteFromListToListCaret","selectionStartElm","otherLi","willMergeParentIntoChild","mergeBackward","resolvedBookmark","oldParentElRef","backspaceDeleteIntoListCaret","findValidElement","findRoot","removeBlock","hasListSelection","parseAlphabeticBase26","charValue","composeAlphabeticBase26","remainder","parseDetail","currentList","isLowercase","deduceListType","parseStartValue","queryListCommandState","registerDialog","updateList","nodeBuffer","wrapInvalidChildren","insertListItem","restBuffer","reducer","setupTabKey","setupToggleButtonHandler","setupMenuButtonHandler","listProperties","getAudioTemplateCallback","getVideoTemplateCallback","getIframeTemplateCallback","hasLiveEmbeds","shouldFilterHtml","getUrlResolver","hasAltSource","hasPoster","getSnMediaSettings","snSettings","allowLibrarySearch","attachmentList","showLocalsTab","mediaUploadHandler","media","typeAttachment","typeLibrary","waitOpen","trimPx","getEphoxEmbedData","altsource","poster","htmlToData","guess","fileEnd","mp3","m4a","wav","mp4","webm","ogg","swf","Parser","addPx","updateEphoxEmbed","updateHtml","updateAll","numSources","sourceCount","urlPatterns","allowFullscreen","getUrl","protocolMatches","getProtocol","newUrl","dataToHtml","dataIn","sourcemime","altsourcemime","allowfullscreen","audioTemplateCallback","videoTemplateCallback","iframeTemplateCallback","getFlashHtml","getAudioHtml","getVideoHtml","isMediaElement","loadedData","getEmbedHtml","embedHandler","embedPromise","rej","wrappedResolve","defaultPromise","_ref23","makeTab","_ref24","onListLoaded","localsTabSourceType","callLoaded","attachConfig","attachmentItems","LocalsTab","handleSourceUpdate","_ref22","handleBrowseLibrary","sourceInput","metaData","extractMeta","mainData","getFromData","getFromMetaData","getNonEmptyValue","getDimensions","handleError","errorMessage","addEmbedHtml","snippetData","nuData","handleInsert","beforeObjects","selectPlaceholder","afterObjects","isEmbedIframe","mediaDataType","shouldInsertAsNewIframe","prevData","hasDimensionsChanged","submitForm","showDialog","editorData","snippet","getDimensionsOfElement","getEditorData","currentData","handleSource","serviceData","sizeInput","constrain","generalTab","embedTab","advancedFormItems","advancedTab","snMediaSettings","attachmentsLoaded","dataFromEmbed","handleEmbed","handleUpdate","attachments","firstItem","getSrc","setSrc","sourceEl","VideoScanner","videos","getAllVideos","videoSrc","videoInfo","videoToBlobInfo","Rtc","videoScanner","replaceVideoUrl","replaceVideoUriInView","uploadVideos","scanForVideos","videosToRemove","grandParentOpt","vid","isLiveEmbedNode","getDimension","dimension","setDimensions","previewNode","useDefaults","defaultWidth","fallbackHeight","defaultHeight","createPlaceholderNode","placeHolder","retainAttributesAndInnerHtml","createPreviewNode","previewWrapper","frameborder","sandbox","sanitizedHtml","appendNodeContent","shimNode","sourceNode","innerHtml","isPageEmbedWrapper","nodeClass","isWithinEmbedWrapper","parseAndSanitize","getEditorOption","boolAttrs","placeHolderConverter","realElmName","realElm","showDialog$1","getKeyboardSpaces","wrapNbsps","stringRepeat","repeats","insertNbsp","times","visualchars","isVisualCharsEnabled","spaces","getSeparatorHtml","shouldSplitBlock","pageBreakClass","getPlaceholderHtml","separatorHtml","shouldSplitBlock$1","pageBreakSeparatorRegExp","headHtml","cors","preventClicksOnLinksScript","dirAttr","getPreviewHtml","sandboxed","showBottomBorder","getHeight","setHeight","toggleClasses","handleOnClick","min_height","max_height","addClickEventListener","setDimmensions","removeClickEventListener","_ref25","punctuation$1","parent$1","isSimpleBoundary","walkerFn","collectTextToBoundary","section","isContentEditableTrueInCef","fOffset","sOffset","skipStart","finishSection","collectRangeSections","ceTrueNode","documentPositionPreceding","DOCUMENT_POSITION_PRECEDING","fromRng","fromNode","nodePositions","matchIdx","matchId","matchedText","matchIndex","matchStart","matchFinish","replacementNode","findAndMarkInSelection","textSections","fromNodes","getElmIndex","markAllMatches","currentSearchState","inSelection","findAndMark","findSpansByIndex","spans","searchState","testIndex","matchCase","wholeWord","escapedText","escapeSearchText","wordRegex","isForwardSelection","isMatchSpan","currentIndex","currentMatchIndex","nextIndex","keepEditorSelection","selectedText","updateButtonStates","hasPrev","disableAll","disable","toggleNotFoundAlert","getDialogSpec","focusButtonIfRequired","doFind","findtext","matchcase","wholewords","inselection","replacetext","getPanelItems","maximized","borderless","showNoMatchesAlertBanner","updateSearchState","currentState","next$1","prev$1","replace$1","attachedToDom","dispatchWith","getSystem","triggerEvent","_len25","_key25","_len26","_key26","fireAttaching","components","attachSystemWith","guiSystem","inserter","getByDom","hoistEl","skinLoaded","createHoistElement","loadSkin","stylesheetUrl","skin","skinName","getSkinUrl","isSkinDisabled","moveSink","uiRoot","uiMothership","getRootComponent","zIndex","hoistSink","restoreSink","dismissPopups$1","hostMap","editorMap","dismissPopups","channel","broadcastOn","scrollHandler","debounce","debounced","stopped","_len27","_key27","later","scrollListener","getPopupButtons","addPopupButtonClickListeners","getHostsFromAncestors","addOutsideScrollListener","findListener","ELEMENT_NODE","CustomEvent","hosts","editorSet","setupHoist","addPopupButtonClickListenersOnNodeChange","oldOpen","_len28","_key28","addWindowHandlers","_ref26","areNotificationsOpen","fullscreen","isFullScreen","hoistNotificationsOnFullScreen","removeHoist","delete","removeOutsideScrollListener","_len29","_key29","_len30","_key30","flatten$1","children$3","child$3","child$2","getIsRoot","addPxSuffix","getSelectionStart","isInEditableContext","getAttrValue","firstLayer","validSectionList","rowdetail","columnGroups","fromRowsOrColGroups","columnGroup","cells$1","getParentSection","isValidSection","getLockedColumnsFromTable","lockedColStr","lockedCols","filterItems","warehouse","lockedColumns","rowData","maxRows","maxColumns","rowCount","colgroupRows","partition","currentRow","rowCell","isLocked","extended","occupiedColumnPosition","occupiedRowPosition","columnPosition","newpos","colgroups","columnsGroup","columnIndex","colIndex","columnext","generateColumns","colgroup$1","colgroup","grid$1","grid","Warehouse","rows$1","fromTable$1","getAt","findItem","getColumnAt","getTDTHOverallStyle","firstChildStyle","currentStyle","setAlign","fireTableModified","toNumber","getCalculatedWidth","calcContentBoxSize","upper","lower","defaultCellBorderWidths","defaultCellBorderStyles","getPixelForcedWidth","getTableSizingMode","getTableBorderWidths","getTableBorderStyles","hasAdvancedCellTab","hasAdvancedRowTab","hasAdvancedTableTab","hasAppearanceOptions","hasTableGrid","shouldStyleWithCss","getCellClassList","getRowClassList","getTableClassList","getToolbar","getTableBackgroundColorMap","getTableBorderColorMap","isPixelsForced","isResponsiveForced","getDefaultStyles","defaultStyles","determineDefaultStyles","getDefaultAttributes","defaultAttributes","determineDefaultAttributes","isWithin","startCol","finishCol","startRow","finishRow","getAnyBox","finishCell","startCoords","finishCoords","detailA","detailB","getBox$1","isRectangular","isRect","detailIsWithin","getWarehouse","unsafeOne","look","commonElement","sharedOne$1","oneAll","lookupTable","getEdges","firstSelectedSelector","lastSelectedSelector","_universe","sharedOne","retrieve","retrieve$1","sels","retrieveBox","edges","sectionSelector","firstAncestor","lastAncestor","getBox","strSelected","strFirstSelected","strLastSelected","ephemera","selected","selectedSelector","firstSelected","lastSelected","getSelectionFromSelector","initCell","cellName","getSelectionCellOrCaption","getSelectionCell","getCellsFromSelection","getRowsFromSelection","cellOpt","rowsOpt","verticalAlignValues","shorthandRegex","longformRegex","fromString$1","isHexString","onSetupToggle","formatValue","boundCallback","checkNode","buildListItems","buildMenuItems","applyTableCellStyle","filterNoneItem","generateMenuItemsCallback","buildColorMenu","colorList","colorMap","canvas","canvasContext","fancytype","colors","allowCustomColors","changeRowHeader","newType","changeColumnHeader","getItems$2","getClassList$1","getAdvancedTab","dialogName","advTabItems","DomModifier","normal","setFormat","isHeaderCell","getRowHeaderType","isHeaderRow","isHeaderCells","findCommonCellType","headerCells","findCommonRowType","rowTypes","subType","getRowType$1","hasHeader","hasFooter","hasBody","findInWarehouse","extractCells","cell$1","onCells","allUnlocked","isUnlockedTableCell","onUnlockedMergable","onMergable","_warehouse","mergable","mergeable","onUnlockedUnmergable","onUnmergable","unmergable","_len32","_key32","_len33","_key33","only","getRowsType","opGetRowsType","lastSelectedCell","minRowRange","maxRowRange","selectedRows","extractAdvancedStyles","borderwidth","bordercolor","backgroundcolor","getSharedValues","baseData","comparisonData","itemKey","comparisonValue","getAlignment","getHAlignment","getVAlignment","getRowType","allCells","cellA","cellB","col","applyStyleData$1","wasChanged","isSingleCell","cellElm","shouldOverrideCurrentValue","modifier","updateSimpleProps$1","colModifier","shouldUpdate","updateAdvancedProps$1","halign","setVAlign","valign","onSubmitCellForm","applyCellData","modifiedData","styleModified","structureModified","applyStructureData$1","celltype","structure","cellsData","extractDataFromCellElement","colElm","open$2","dialogTabPanel","dialogPanel","formChildren","getItems$1","applyStyleData","rowElm","updateSimpleProps","updateAdvancedProps","onSubmitRowForm","applyRowData","typeModified","applyStructureData","rowsData","extractDataFromRowElement","getItems","insertNewTable","rowColCountItems","appearanceItems","classListItem","styleTDTH","applyDataToElement","shouldApplyOnCell","shouldStyleWithCss$1","hasAdvancedTableTab$1","removePxSuffix","cellspacing","cellpadding","cellStyles","advData","onSubmitTableForm","cols","applicableCellProperties","captionElm","captionModified","extractDataFromSettings","hasAdvTableTab","advStyle","getCellPaddingCellSpacing","spacing","extractDataFromTableElement","optBorderWidth","generalPanel","dialogBody","mceTableProps","mceTableRowProps","mceTableCellProps","mceInsertTableDialog","runAction","hasSpan","getSelectionTargets","changeHandlers","isCaption","isDisabledForSelection","getSelectionEnd","startCellOrCaption","oot","noMenu","forMenu","getExtractedDetails","locked","onAny","onFirst","onLast","unmergeable","resetTargets","_len31","_key31","setupHandler","isDisabled","onSetupWithToggle","isDisabledFromLocked","lockedDisable","onSetupTableHeaders","headerType","onSetupTableRowHeaders","onSetupTableColumnHeaders","onSetupTable","onSetupCellOrRow","onSetupColumn","onSetupPasteable","getClipboardData","onSetupPasteableColumn","onSetupMergeable","_targets","onSetupUnmergeable","onSetupTableWithCaption","tableTypeBase","tableTypeRow","tableTypeColumn","getRows","getColumns","onSetupEditable$1","selectionTargets","addMenuItems","addMenuIfRegistered","addToggleMenuIfRegistered","insertTableAction","numRows","numColumns","hasRowMenuItems","hasColumnMenuItems","hasCellMenuItems","tableClassList","tableCellClassList","addButtons","addButtonIfRegistered","addToggleButtonIfRegistered","isEditableTable","toolbar","addToolbars","toggleVisualBlocks","enabledState","fireVisualBlocks","isEnabledByDefault","toggleActiveState","charMapToRegExp","regExp","regExpGlobal","charMapToSelector","nbspClass","wrapCharWithSpan","isWrappedNbsp","isMatch","filterEditableDescendants","isChildEditable","nodeList","withSpans","findParentElm","applyVisualChars","fireVisualChars","toggleVisualChars","debouncedToggle","_len34","_key34","enabledStated","regExps","characterIndices","SETS$1","PUNCTUATION$1","SETS","OTHER","setsLength","isWordBoundary","nextType","nextNextType","prevType","WHITESPACE","PUNCTUATION","isProtocol","findUrlEnd","findWordEnd","getWordsWithIndices","includeWhitespace","includePunctuation","extractedChars","findWordsWithIndices","sChars","characterMap","indices","startOfWord","endOfWord","endOfUrl","memoized","memoize","classify","getWords","getWords$1","removeZwsp$1","treeWalker","strLen","countWords","removeZwsp","countCharacters","countCharactersWithoutSpaces","createBodyCounter","createSelectionCounter","createBodyWordCounter","header","getWordCount","getCharacterCountWithoutSpaces","getCharacterCount","updateCount","fireWordCountUpdate","wordCount","charactersWithoutSpaces","debouncedUpdate","_len35","_key35","getCount","getSnSettings","SNPredictiveTextService","fetchPrediction","_ref27","resourceSysId","resourceTable","nowId","additionalInfo","signal","customFetch","sys_id","additional_info","g_ck","fetchFn","apiUrl","method","model_output","DELETE_KEYS","ACCEPT_KEYS","SKIP_KEYS","isEscapeKey","SNPredictiveText","ghostNode","currentGhostText","debounceDelay","activeRequestId","abortController","updateSettings","predictive_text","resetGhostText","cancelPendingPrediction","debounceTimer","abort","isAcceptKey","commitGhostText","isSkipKey","rejectedText","rejectionKey","isDeleteKey","debounceFetchPrediction","removeGhostTextNode","getCurrentFragment","cursorRng","fragmentRange","getGhostText","typed","prediction","_f","fragmentInfo","requestId","AbortController","currentFragment","renderGhostText","remaining","acceptedText","contextFragment","fullPrediction","_len37","_key37","_len38","_key38","range$1","get$d","after$5","firstChild$1","elementnew","isNew","rowcells","getBody$1","ancestors$3","ancestors$4","getRaw$2","hasColspan","cellOrCol","hasRowspan","getCssValue","minWidth","minHeight","columns$1","_len39","_key39","api$2","getOuter$2","getRuntime$1","addCells","gridRow","existingCells","newCells","setCells","addCell","mutateCell","getCell","getCellElement","cellLength","extractGridDetails","cloneRow","cloneCell","LOCKED_COL_ATTR","getLockedColumnsFromGrid","lockedArr","fromTable","justCells","justColumns","hasColumns","isValidCell","rowsArr","decide","getBlock","getFallback","deduce","extras","onDirection","isLtr","getOuter$1","getRuntime","rowInfo","colInfo","rtlEdge","ltrEdge","getLeftEdge","getRightEdge","getTop$1","getTopEdge","getBottomEdge","findPositions","getInnerEdge","getOuterEdge","cellOption","lastLine","optElements","step","units","unsupportedLength","decimalDigits","exponentPart","opt","unsignedDecimalLiteral","accepted","unitRaw","isUnit","rPercentageBasedSizeRegex","rPixelBasedSizeRegex","isCol$2","getPercentSize","outerGetter","innerGetter","relativeParent","setPixelWidth","setPercentageWidth","normalizePixelSize","getter","setter","convert","newSize","getTotalHeight","getHeightValue","getRawWidth$1","getPercentageWidth","getPixelWidth$1","setGenericWidth","getPercentTableWidth","percentageBasedSizeRegex","isCol$1","getRawW","getRawH","backups","getWidthFrom","columnCells","justCols","colFilter","supportsColWidths","isValidColumn","bindFrom","getDeduced","deduced","getPixelWidths","tableSize","minCellWidth","getHeightFrom","widthLookup","noneSize","pixelWidth","getWidths","getCellDelta","singleColumnWidth","setElementWidth","adjustTableWidth","isRelative","percentageSize","getFloatWidth","getPercentageWidths","cellWidth","_delta","currentWidth","pixelSize","newWidth","TableSize","chooseSize","makeCell","seenSelected","rowIndex","extract$1","replica","replicaHouse","replicaStats","findSelectedStats","totalColumns","minRow","minCol","maxRow","maxCol","endRow","endCol","statsStruct","unselectedCells","fillInGaps","stats","totalRows","widthDelta","getTableWidthDelta","colWidths","allColsWidth","selectedColsWidth","emptyRows","transferableAttributes","createCell","createCol","createColgroup","createRow$1","copy$2","cloneChildren","pasteReplace","cellOperations","formatsToClone","cloneCss","copy$1","sourceDom","targetDom","cloneFormats","oldCell","newCell","firstText","formatSelector","clonedFormat","cloneAppropriateAttributes","validAttributes","colGap","gap","paste$1","getTableCloneElements","getTableHeaderType","getTableColumnResizingBehaviour","isPreserveTableColumnResizing","isResizeTableColumnResizing","isTablePercentagesForced","isTablePixelsForced","isTableResponsiveForced","hasTableResizeBars","shouldMergeContentOnPaste","getTableDefaultAttributes","determineDefaultTableAttributes","getTableDefaultStyles","determineDefaultTableStyles","tableUseColumnGroup","removeDataStyle","removeStyleAttribute","getPixelWidth","getPixelHeight","isInEditableContext$1","leftEdge","rightEdge","topEdge","bottomEdge","intercepts$1","parentCell","innerCell","isContainedBy","moveBy","deltaRow","deltaColumn","moveBy$1","intercepts","nestedIntercepts","firstTable","lastTable","optStartCell","optLastCell","DomUniverse","ps1","ps2","prune","ind","pruned1","pruned2","shared","firstpath","secondpath","universe$3","rootTable","boxes","finishTable","ancestorCells","lca","lcaTable","finishAncestorCells","startAncestorCells","shiftSelection","getLast","expandTo","identified","strSelectedSelector","strAttributeSelector","strFirstSelectedSelector","strLastSelectedSelector","attributeSelector","actions","multiCellContext","extractSelected","serializeElements","getCellsFromFakeSelection","generators","pasteCells","scan$1","universe$2","halve","main","getGenericWidth","surround","sizes","clampDeltaHelper","minCellSize","clampNegativeDelta","clampDelta","resizeTable","calcRelativeDeltas","newThis","calcLeftEdgeDeltas","calcFixedDeltas","clampedDelta","resizer","clampTableDelta","calcMiddleDeltas","_prev","calcRightEdgeDeltas","calcRedestributedWidths","totalWidth","pixelDelta","newSizes","preserveTable","isLastColumn","maxDelta","_minCellSize","_totalWidth","_pixelDelta","_isRelative","getGridSize","transformCell","substitution","transformRow","fixedCell","mutate$1","sectionCells","TableSection","getTableSectionType","rowType","findTableRowHeaderType","setIfNot","render$1","syncRows","gridSection","syncColGroup","colGroup","renderSection","sectionName","generateSection","newSection","sectionElems","renderOrRemoveSection","removeSection","headSection","bodySection","footSection","columnGroupsSection","findDiff","comp","subgrid","getRow","isColRow","getColumn","toDetails","seen","updateSeen","detailnew","rowdetailnew","toGrid","colgroupCols","rowCells","rowDetail","toDetailList","adjustment","postAction","genWrappers","behaviours","tableSection","fromWarehouse","newElements","tableSizing","sizing","resizing","onPasteByEditor","onUnlockedCells","unmerge","currentCell","isToReplace","splitRows","uniqueCells","measureWidth","gridA","gridB","rowDelta","colDelta","measureHeight","generateElements","generator","rowFill","exampleRow","colFill","newChildren","tailor","fillCols","fillRows","gridWidth","isLastColLocked","modifiedCols","newLockedColumns","isSpanning","matching","getLockedColumnsWithinBounds","startAddress","colNum","validStartAddress","getValidStartAddress","currentStartAddress","gridColLength","adjustedRowAddress","possibleColAddresses","validColAddress","gridBRows","lockedColumnsWithinBounds","measure","rowRemainder","colRemainder","colRequired","rowRequired","fittedGrid","newLockedColumnsWithinBounds","mergeTables","lockedColumnObj","skippedCol","gridBColIndex","newCellElm","insertCols","splitCols","prevCell","substitute","fittedNewGrid","secondDelta","fittedOldGrid","insertRows","oldCols","oldRows","newLocked","secondDiff","fittedGridB","lockedColFill","newChild","insertRowAt","example","newRow","insertColumnAt","withinSpan","getElementFor","isDuplicatedCell","notInStartRow","notInStartColumn","determineScope","applyScope","isInHeader","getScope","replaceIn","replacer","genScope","shouldReplace","mapCells","setOptions","getColumnCells","replaceColumns","indexes","rowHeaders","shouldReplaceCell","columnReplacePredicate","targetColumn","_colIndex","scopeGenerator","columnScopeGenerator","replaceRows","targetRow","getRowCells","columnHeaders","_cell","newGrid","rowReplacerPredicate","_rowIndex","rowScopeGenerator","replaceCells","targetCells","_len40","_key40","_len41","_key41","adt$6","ColumnContext","determine","neighbours","onLeft","onMiddle","onRight","measures","recalculateHeightForCells","heights","recalculate","widths","recalculateWidthForColumns","recalculateWidthForCells","recalculateAndApply","adjustWidth","clampedStep","deltas","newWidths","adjustHeight","getPixelHeights","newHeights","newCellSizes","newRowSizes","matchRowHeight","uniqueColumns","uniqueCheck","currentDetail","isCol","isColgroup","isRow$1","elementToData","getScopeAttribute","Generators","toData","nuCell","recent","getOrInit","makeNew","replaceOrInit","getScopeProperty","stringAttributes","baseScope","blockList","universe$1","isList$1","isEmptyTag$1","markCell","rightSiblingIsBlock","rightSibling","markContent","advancedBr","outcome","elementFromGrid","findEditableCursorPosition","uniqueRows","rowCompilation","makeRowsSection","initialGrid","rowIndexes","opMakeRowsHeader","opMakeRowsBody","opMakeRowsFooter","gridifyRows","pasteDetails","fromPastedRows","adjustWidthTo","_table","adjustAndRedistributeWidths","adjustAndRedistributeWidths$1","resizeBehaviour","tablePixelWidth","firstColumnIsLocked","lastColumnIsLocked","getColumnsWidth","uniqueCols","insertColumnsExtractor","pasteColumnsExtractor","headerCellGenerator","bodyCellGenerator","insertRowsBefore","opInsertRowsBefore","targetIndex","insertRowsAfter","opInsertRowsAfter","newG","insertColumnsBefore","opInsertColumnsBefore","extractDetail","insertColumnsAfter","opInsertColumnsAfter","eraseColumns","opEraseColumns","_comparator","_genWrappers","deleteColumnsAt","maxColIndex","eraseColumnsExtractor","eraseRows","opEraseRows","deleteRowsAt","maxRowIndex","makeColumnsHeader","opMakeColumnsHeader","columnIndexes","unmakeColumnsHeader","opUnmakeColumnsHeader","makeRowsHeader","makeRowsBody","makeRowsFooter","makeCellsHeader","opMakeCellsHeader","unmakeCellsHeader","opUnmakeCellsHeader","mergeCells","opMergeCells","merge$2","unmergeCells","opUnmergeCells","unmerge$1","opPasteCells","gridify","address","onPaste","pasteColsBefore","opPasteColsBefore","mergedGrid","pasteColsAfter","opPasteColsAfter","pasteRowsBefore","opPasteRowsBefore","pasteRowsAfter","opPasteRowsAfter","getColumnsType","opGetColumnsType","minColRange","maxColRange","selectedColumnCells","getCellsType","opGetCellsType","fireNewRow","fireNewCell","styleAndStructureModified","TableActions","resizeHandler","cellSelectionHandler","isTableBody","colMutationOp","setSelectionFromAction","guard","noEvents","deleteRow","deleteColumn","getTableRowType","getTableCellType","getTableColType","constrainSpan","currentColspan","isColInRange","copyCols","fakeColGroups","generateColGroup","colsToCopy","copiedCols","clonedCol","fakeColgroup","fakeRows","generateRows","cellsToCopy","copiedCells","clonedCell","fakeTR","copyRows","slicedGrid","filteredGrid","slicedDetails","adt$5","pixels","validateFor","rawAmount","Size","redistributeValues","newWidthType","redistributeToPx","newTotalWidth","scale","_pc","redistributeToPercent","redistribute$1","floats","redistributeEmpty","roundDown","floored","getUnit","redistribute","optWidth","optHeight","widthUnit","oldWidths","getRawWidths","nuWidths","redistributeToColumns","redistributeToW","newHeight","hUnit","totalHeight","oldHeights","getRawHeights","redistributeToH","isPercentSizing","isPixelSizing","isNoneSizing","cleanupLegacyAttributes","convertToPercentSize","convertToPixelSize","getPixelTableWidth","convertToNoneSize","rowElements","DefaultRenderOptions","colGroups","tableHeaderCell","tableCell","createGroupRow","createRows","createRow","placeCaretInCell","colHeaders","renderOpts","rowHeadersGoInThead","actualRowHeaders","theadRows","tbodyRows","isPercentage","fireEvents","selectFirstCellInTable","fakeClipboardItem","setRows","clearRows","setColumns","columnsOpt","clearColumns","getSelectionStartCellOrCaption","getTableFromCell","performActionOnSelection","getSelectionStartCell","postExecute","_data","actOnSelection","copyRowSelection","copyColSelection","pasteOnSelection","clonedRows","pasteRows","actOnType","get$c","mceTableSplitCells","mceTableMergeCells","mceTableInsertRowBefore","mceTableInsertRowAfter","mceTableInsertColBefore","mceTableInsertColAfter","mceTableDeleteCol","mceTableDeleteRow","mceTableCutCol","mceTableCutRow","mceTableCopyCol","mceTableCopyRow","mceTablePasteColBefore","mceTablePasteColAfter","mceTablePasteRowBefore","mceTablePasteRowAfter","mceTableDelete","eraseTable","cellOrCaption","mceTableCellToggleClass","toggleTableCellClass","allHaveClass","formatterAction","mceTableToggleClass","toggleTableClass","mceTableToggleCaption","appendAt","mceTableSizingMode","setSizingMode","mceTableCellType","mceTableColType","mceTableRowType","checkInput","headerRows","headerColumns","insertTable","getFormatName","validArgs","adt$4","cata$1","Response","selectNodeContentsUsing","toRect","asLtrRange","Situs","convertToRange","makeSitus","selectRange","cellSel","backtrack","_direction","transition","sidestep","advance","successors","succ","Walkers","left$1","right$1","hone","isLeaf","seekLeft$1","seekRight$1","failedUp","failedDown","isRow","BeforeAfter","verify","beforeOffset","afterOffset","afterCell","beforeCell","beforeBounds","afterBounds","_sharedRow","onSuccess","onFailedUp","onFailedDown","gatherer","cand","gather","handleParent","adjacent","inParent","indexInParent","tryBr","handleBr","tgt","xDelta","yDelta","toCaret","getElemBox","getBoxAt","getPartialBox","getRangedRect","getEntireBox","retry","inOutsideBlock","isOutside","downMovement","adjuster","adjustDown","guessBox","lowerCaret","adjustTil","isAtTable","adjustForTable","situsFromPoint","newCaret","moved","adjusted","checkScroll","getInnerHeight","scrollBy","Retries","tryUp","adjustUp","higherCaret","tryDown","getJumpSize","findSpot","brNeighbour","fromSitus","analysis","_message","tryCursor","situs","tryAgain","tryAt","inSameTable","simulate","precheck","firstUpCheck","seekLeft","lastOffset","lastDownCheck","seekRight","findCell","isKey","keycode","isUp","isDown","isNavigation","isBackward","makeRange","same","getNativeSelection","doSetNativeRange","doSetRange","setRangeFromRelative","setLegacyRtlRange","setExact","setRelative","firstRng","doGetExact","setToElement","getExact","getFirstRect","getFirstRect$1","WindowBridge","exactAdt","clearSelection","collapseSelection","setRelativeSelection","selectContents","getScrollY","MouseSelection","clearstate","clearBeforeUpdate","singleCell","isNonEditableCell","isCellClosestContentEditable","mousedown","mouseover","mouseup","isEditableNode","isEditableSelection","clearToNavigate","keydown","realEvent","update$1","attempts","newSels","keyup","sync","SelectionAnnotation","byAttr","onSelection","onClear","removeSelectionAttributes","addSelectionAttribute","multiple","single","getOtherCells","upOrLeftCells","getUpOrLeftCells","upGrid","upDetails","slicedCells","downOrRightCells","getDownOrRightCells","downGrid","downDetails","fromRawEvent$1","_len36","_key36","hasInternalTarget","TableCellSelectionHandler","cellSelection","Selections","lazyRoot","otherCells","fireTableSelectionChange","fireTableSelectionClear","mouseHandlers","keyHandlers","external$1","external","handleResponse","isLeftMouse","doubleTap","getDoubleTap","lastTarget","lastTimeStamp","touchEnd","lTS","wrappedEvent","syncSelection","onMultiple","onSingle","_len42","_key42","typeDefs","baseWith","handleUnsupported","validateStrArr","sorted","checkDupes","req","reqMessage","invalidKeys","invalidTypeMessage","incorrect","handleExact","unsuppMessage","exactly","DragMode","DragSink","DragApi","InDrag","onEvent","Movement","noDragState","NoDrag","inDragState","dragState","isOn","mutation","sink","throttledDrop","_len43","_key43","runIfActive","_len44","_key44","forceDrop","delayDrop","dashNamespace","MouseDrag","dragApi","blocker","layerClass","Blocker","mdown","mup","mmove","mout","BarMutation","drag","Mutation","resizeBar","resizeRowBar","resizeColBar","wire","drawBar","cpOption","bar","refreshCol","colPositions","tableHeight","colBar","refreshRow","rowPositions","tableWidth","rowBar","refreshGrid","warhouse","resizableRowBars","resizableRows","resizableRowPositions","_pos","barIndex","resizableColBars","resizableColumns","resizableCols","colElmOpt","resizableColPositions","bars","resizeBarDragging","BarManager","hoverTable","getResizer","_dataRow","_dataCol","currentCol","startAdjust","isColBar","destroy$1","tbl","hideBars","showBars","TableResize","lazySizing","hdirection","vdirection","manager","beforeResize","afterResize","_event","refreshBars","ResizeWire","chrome","createContainer","barResizerPrefix","TableResizeHandler","tableResize","resizeWire","startRawW","lazyResizingBehaviour","afterCornerResize","isRightEdgeResize","getNumColumns","isPercentage$1","percentW","isPixel","computedWidth","syncPixels","rawWire","objectResizing","hasTableObjectResizing","rawTable","getRawWidth","setupTable","registerQueryCommands","lookupOnSelection","DomModel","__esModule","excluded","sourceKeys","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","require"],"sources":["webpack:///sn-tinymce/28.7.1/js/tinymce/plugins/powerpaste/plugin.full.js","webpack:///sn-tinymce/28.7.1/js/tinymce/tinymce.full.js","webpack:///@babel/runtime/7.18.9/helpers/extends.js","webpack:///@babel/runtime/7.18.9/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///sn-tinymce/28.7.1/index.js"],"sourcesContent":["/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n!function(){\"use strict\";const e=e=>t=>(e=>{const t=typeof e;return null===e?\"null\":\"object\"===t&&Array.isArray(e)?\"array\":\"object\"===t&&((e,t,n)=>{var r,o;return o=e,!!t.prototype.isPrototypeOf(o)||(null===(r=e.constructor)||void 0===r?void 0:r.name)===t.name})(e,String)?\"string\":t})(t)===e,t=e=>t=>typeof t===e,n=e(\"string\"),r=e(\"object\"),o=e(\"array\"),s=t(\"boolean\"),a=(void 0,e=>undefined===e);const i=e=>null==e,l=e=>!i(e),c=t(\"function\"),u=t(\"number\"),d=()=>{},h=(e,t)=>(...n)=>e(t.apply(null,n)),m=e=>()=>e,p=e=>e,f=(e,t)=>e===t;function g(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=e=>()=>{throw new Error(e)},y=e=>e(),b=m(!1),x=m(!0);class k{constructor(e,t){this.tag=e,this.value=t}static some(e){return new k(!0,e)}static none(){return k.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?k.some(e(this.value)):k.none()}bind(e){return this.tag?e(this.value):k.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:k.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:\"Called getOrDie on None\")}static from(e){return l(e)?k.some(e):k.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}k.singletonNone=new k(!1);const w=Array.prototype.slice,S=Array.prototype.indexOf,C=Array.prototype.push,T=(e,t)=>((e,t)=>S.call(e,t))(e,t)>-1,I=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return!0;return!1},A=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o<n;o++){const n=e[o];r[o]=t(n,o)}return r},O=(e,t)=>{for(let n=0,r=e.length;n<r;n++)t(e[n],n)},E=(e,t)=>{const n=[],r=[];for(let o=0,s=e.length;o<s;o++){const s=e[o];(t(s,o)?n:r).push(s)}return{pass:n,fail:r}},L=(e,t)=>{const n=[];for(let r=0,o=e.length;r<o;r++){const o=e[r];t(o,r)&&n.push(o)}return n},N=(e,t,n)=>(O(e,((e,r)=>{n=t(n,e,r)})),n),_=(e,t)=>((e,t,n)=>{for(let r=0,o=e.length;r<o;r++){const o=e[r];if(t(o,r))return k.some(o);if(n(o,r))break}return k.none()})(e,t,b),D=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return k.some(n);return k.none()},P=e=>{const t=[];for(let n=0,r=e.length;n<r;++n){if(!o(e[n]))throw new Error(\"Arr.flatten item \"+n+\" was not an array, input: \"+e);C.apply(t,e[n])}return t},R=(e,t)=>P(A(e,t)),M=(e,t)=>{for(let n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n))return!1;return!0},j=(e,t)=>{const n={};for(let r=0,o=e.length;r<o;r++){const o=e[r];n[String(o)]=t(o,r)}return n},F=(e,t)=>{const n=w.call(e,0);return n.sort(t),n},U=e=>((e,t)=>0<e.length?k.some(e[0]):k.none())(e),B=(e,t)=>{for(let n=0;n<e.length;n++){const r=t(e[n],n);if(r.isSome())return r}return k.none()},z=(e,t,n)=>\"\"===t||e.length>=t.length&&e.substr(n,n+t.length)===t,H=(e,t)=>$(e,t)?((e,t)=>e.substring(t))(e,t.length):e,W=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!a(r)||o+t.length<=r)},$=(e,t)=>z(e,t,0),V=(e,t)=>z(e,t,e.length-t.length),G=(q=/^\\s+|\\s+$/g,e=>e.replace(q,\"\"));var q;const K=e=>parseInt(e,10),J=(e,t)=>{const n=e-t;return 0===n?0:n>0?1:-1},Y=(e,t,n)=>({major:e,minor:t,patch:n}),X=e=>{const t=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return t?Y(K(t[1]),K(t[2]),K(t[3])):Y(0,0,0)},Z=e=>t=>t.options.get(e),Q=Z(\"paste_as_text\"),ee=Z(\"paste_merge_formats\"),te=Z(\"paste_tab_spaces\"),ne=Z(\"smart_paste\"),re=Z(\"cache_suffix\"),oe=Z(\"automatic_uploads\"),se=Z(\"indent_use_margin\"),ae=Z(\"powerpaste_block_drop\"),ie=Z(\"powerpaste_keep_unsupported_src\"),le=Z(\"powerpaste_allow_local_images\"),ce=Z(\"powerpaste_word_import\"),ue=Z(\"powerpaste_googledocs_import\"),de=Z(\"powerpaste_html_import\"),he=Z(\"powerpaste_clean_filtered_inline_elements\"),me=Z(\"link_default_protocol\"),pe=e=>{var t;return tinymce.explode(null!==(t=e.options.get(\"images_file_types\"))&&void 0!==t?t:\"\")},fe=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},ge=()=>{const e=(e=>{const t=fe(k.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(k.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(k.some(e))}}})(d);return{...e,on:t=>e.get().each(t)}},ve=(e,t)=>{const n=t=>e(t)?k.from(t.dom.nodeValue):k.none();return{get:r=>{if(!e(r))throw new Error(\"Can only get \"+t+\" value of a \"+t+\" node\");return n(r).getOr(\"\")},getOption:n,set:(n,r)=>{if(!e(n))throw new Error(\"Can only set raw \"+t+\" value of a \"+t+\" node\");n.dom.nodeValue=r}}},ye=\"undefined\"!=typeof window?window:Function(\"return this;\")(),be=(e,t)=>(void 0!==e[t]&&null!==e[t]||(e[t]={}),e[t]),xe=(e,t)=>((e,t)=>{let n=void 0!==t?t:ye;for(let t=0;t<e.length;++t)n=be(n,e[t]);return n})(e.split(\".\"),t),ke=e=>e.dom.nodeName.toLowerCase(),we=e=>e.dom.nodeType,Se=e=>t=>we(t)===e,Ce=e=>8===we(e)||\"#comment\"===ke(e),Te=Se(1),Ie=Se(3),Ae=Se(9),Oe=Se(11),Ee=e=>t=>Te(t)&&ke(t)===e,Le=ve(Ce,\"comment\"),Ne=e=>Le.get(e),_e=e=>{if(null==e)throw new Error(\"Node cannot be null or undefined\");return{dom:e}},De={fromHtml:(e,t)=>{const n=(t||document).createElement(\"div\");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t=\"HTML does not have a single root node\";throw console.error(t,e),new Error(t)}return _e(n.childNodes[0])},fromTag:(e,t)=>{const n=(t||document).createElement(e);return _e(n)},fromText:(e,t)=>{const n=(t||document).createTextNode(e);return _e(n)},fromDom:_e,fromPoint:(e,t,n)=>k.from(e.dom.elementFromPoint(t,n)).map(_e)},Pe=Object.keys,Re=Object.hasOwnProperty,Me=(e,t)=>{const n=Pe(e);for(let r=0,o=n.length;r<o;r++){const o=n[r];t(e[o],o)}},je=(e,t)=>Fe(e,((e,n)=>({k:n,v:t(e,n)}))),Fe=(e,t)=>{const n={};return Me(e,((e,r)=>{const o=t(e,r);n[o.k]=o.v})),n},Ue=(e,t)=>{const n={};return((e,t,n,r)=>{Me(e,((e,o)=>{(t(e,o)?n:r)(e,o)}))})(e,t,(e=>(t,n)=>{e[n]=t})(n),d),n},Be=e=>Pe(e).length,ze=(e,t)=>Re.call(e,t),He=e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)},We=()=>$e(0,0),$e=(e,t)=>({major:e,minor:t}),Ve={nu:$e,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?We():((e,t)=>{const n=((e,t)=>{for(let n=0;n<e.length;n++){const r=e[n];if(r.test(t))return r}})(e,t);if(!n)return{major:0,minor:0};const r=e=>Number(t.replace(n,\"$\"+e));return $e(r(1),r(2))})(e,n)},unknown:We},Ge=(e,t)=>{const n=String(t).toLowerCase();return _(e,(e=>e.search(n)))},qe=/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,Ke=e=>t=>W(t,e),Je=[{name:\"Edge\",versionRegexes:[/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],search:e=>W(e,\"edge/\")&&W(e,\"chrome\")&&W(e,\"safari\")&&W(e,\"applewebkit\")},{name:\"Chromium\",brand:\"Chromium\",versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/,qe],search:e=>W(e,\"chrome\")&&!W(e,\"chromeframe\")},{name:\"IE\",versionRegexes:[/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,/.*?rv:([0-9]+)\\.([0-9]+).*/],search:e=>W(e,\"msie\")||W(e,\"trident\")},{name:\"Opera\",versionRegexes:[qe,/.*?opera\\/([0-9]+)\\.([0-9]+).*/],search:Ke(\"opera\")},{name:\"Firefox\",versionRegexes:[/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],search:Ke(\"firefox\")},{name:\"Safari\",versionRegexes:[qe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(W(e,\"safari\")||W(e,\"mobile/\"))&&W(e,\"applewebkit\")}],Ye=[{name:\"Windows\",search:Ke(\"win\"),versionRegexes:[/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"iOS\",search:e=>W(e,\"iphone\")||W(e,\"ipad\"),versionRegexes:[/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:\"Android\",search:Ke(\"android\"),versionRegexes:[/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"macOS\",search:Ke(\"mac os x\"),versionRegexes:[/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]},{name:\"Linux\",search:Ke(\"linux\"),versionRegexes:[]},{name:\"Solaris\",search:Ke(\"sunos\"),versionRegexes:[]},{name:\"FreeBSD\",search:Ke(\"freebsd\"),versionRegexes:[]},{name:\"ChromeOS\",search:Ke(\"cros\"),versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]}],Xe={browsers:m(Je),oses:m(Ye)},Ze=\"Edge\",Qe=\"Chromium\",et=\"Opera\",tt=\"Firefox\",nt=\"Safari\",rt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(Ze),isChromium:r(Qe),isIE:r(\"IE\"),isOpera:r(et),isFirefox:r(tt),isSafari:r(nt)}},ot=()=>rt({current:void 0,version:Ve.unknown()}),st=rt,at=(m(Ze),m(Qe),m(\"IE\"),m(et),m(tt),m(nt),\"Windows\"),it=\"Android\",lt=\"Linux\",ct=\"macOS\",ut=\"Solaris\",dt=\"FreeBSD\",ht=\"ChromeOS\",mt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(at),isiOS:r(\"iOS\"),isAndroid:r(it),isMacOS:r(ct),isLinux:r(lt),isSolaris:r(ut),isFreeBSD:r(dt),isChromeOS:r(ht)}},pt=()=>mt({current:void 0,version:Ve.unknown()}),ft=mt,gt=(m(at),m(\"iOS\"),m(it),m(lt),m(ct),m(ut),m(dt),m(ht),e=>window.matchMedia(e).matches);let vt=He((()=>((e,t,n)=>{const r=Xe.browsers(),o=Xe.oses(),s=t.bind((e=>((e,t)=>B(t.brands,(t=>{const n=t.brand.toLowerCase();return _(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:Ve.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(ot,st),a=((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(pt,ft),i=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,a=e.isiOS()||e.isAndroid(),i=a||r(\"(pointer:coarse)\"),l=o||!s&&a&&r(\"(min-device-width:768px)\"),c=s||a&&!l,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!l&&!u;return{isiPad:m(o),isiPhone:m(s),isTablet:m(l),isPhone:m(c),isTouch:m(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:m(u),isDesktop:m(d)}})(a,s,e,n);return{browser:s,os:a,deviceType:i}})(navigator.userAgent,k.from(navigator.userAgentData),gt)));const yt=()=>vt(),bt=yt(),xt=bt.deviceType.isiOS()||bt.deviceType.isAndroid(),kt=m({isSupported:!1,cleanDocument:()=>Promise.reject(\"not supported\")});var wt=xt?kt:(e,t,n)=>{const r=t+\"/wordimport.js\"+(e=>k.from(e).filter((e=>0!==e.length)).map((e=>(-1===e.indexOf(\"?\")?\"?\":\"\")+e)).getOr(\"\"))(n||\"v=9.2.3\"),o=e.loadScript(\"ephox.wimp\",r);return o.catch((e=>{console.error(\"Unable to load word import: \",e)})),{isSupported:!0,cleanDocument:(e,t,n)=>o.then((r=>r.cleanDocument(e,t,n.cleanFilteredInlineElements)))}};const St=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error(\"Event bind error: undefined handler\");t.push(e)},unbind:e=>{t=L(t,(t=>t!==e))},trigger:(...n)=>{const r={};O(e,((e,t)=>{r[e]=n[t]})),O(t,(e=>{e(r)}))}}},Ct=e=>{const t=je(e,(e=>({bind:e.bind,unbind:e.unbind}))),n=je(e,(e=>e.trigger));return{registry:t,trigger:n}},Tt=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error(\"Browser lacks native selectors\")}},It=(e,t)=>{const n=void 0===t?document:t.dom;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:A(n.querySelectorAll(e),De.fromDom);var r},At=(e,t)=>e.dom===t.dom,Ot=Tt,Et=(e,t,n)=>{const r=e.document.createRange();var o;return o=r,t.fold((e=>{o.setStartBefore(e.dom)}),((e,t)=>{o.setStart(e.dom,t)}),(e=>{o.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,n)=>{e.setEnd(t.dom,n)}),(t=>{e.setEndAfter(t.dom)}))})(r,n),r},Lt=(e,t,n,r,o)=>{const s=e.document.createRange();return s.setStart(t.dom,n),s.setEnd(r.dom,o),s},Nt=e=>{if(!o(e))throw new Error(\"cases must be an array\");if(0===e.length)throw new Error(\"there must be at least one case\");const t=[],n={};return O(e,((r,s)=>{const a=Pe(r);if(1!==a.length)throw new Error(\"one and only one name per case\");const i=a[0],l=r[i];if(void 0!==n[i])throw new Error(\"duplicate key detected:\"+i);if(\"cata\"===i)throw new Error(\"cannot have a case named cata (sorry)\");if(!o(l))throw new Error(\"case arguments must be an array\");t.push(i),n[i]=(...n)=>{const r=n.length;if(r!==l.length)throw new Error(\"Wrong number of arguments to case \"+i+\". Expected \"+l.length+\" (\"+l+\"), got \"+r);return{fold:(...t)=>{if(t.length!==e.length)throw new Error(\"Wrong number of arguments to fold. Expected \"+e.length+\", got \"+t.length);return t[s].apply(null,n)},match:e=>{const r=Pe(e);if(t.length!==r.length)throw new Error(\"Wrong number of arguments to match. Expected: \"+t.join(\",\")+\"\\nActual: \"+r.join(\",\"));if(!M(t,(e=>T(r,e))))throw new Error(\"Not all branches were specified when using match. Specified: \"+r.join(\", \")+\"\\nRequired: \"+t.join(\", \"));return e[i].apply(null,n)},log:e=>{console.log(e,{constructors:t,constructor:i,params:n})}}}})),n},_t=Nt([{ltr:[\"start\",\"soffset\",\"finish\",\"foffset\"]},{rtl:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Dt=(e,t,n)=>t(De.fromDom(n.startContainer),n.startOffset,De.fromDom(n.endContainer),n.endOffset);_t.ltr,_t.rtl;const Pt=(e,t,n,r)=>({start:e,soffset:t,finish:n,foffset:r}),Rt=e=>De.fromDom(e.dom.ownerDocument),Mt=e=>Ae(e)?e:Rt(e),jt=e=>De.fromDom(Mt(e).dom.defaultView),Ft=e=>k.from(e.dom.parentNode).map(De.fromDom),Ut=e=>k.from(e.dom.previousSibling).map(De.fromDom),Bt=e=>k.from(e.dom.nextSibling).map(De.fromDom),zt=e=>(e=>{const t=w.call(e,0);return t.reverse(),t})(((e,t)=>{const n=[],r=e=>(n.push(e),t(e));let o=t(e);do{o=o.bind(r)}while(o.isSome());return n})(e,Ut)),Ht=e=>A(e.dom.childNodes,De.fromDom),Wt=c(Element.prototype.attachShadow)&&c(Node.prototype.getRootNode),$t=m(Wt),Vt=Wt?e=>De.fromDom(e.dom.getRootNode()):Mt,Gt=e=>De.fromDom(e.dom.host),qt=e=>{const t=Ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=Vt(e);return Oe(n=t)&&l(n.dom.host)?k.some(t):k.none();var n})(De.fromDom(t)).fold((()=>n.body.contains(t)),(r=qt,o=Gt,e=>r(o(e))));var r,o},Kt=(e,t)=>{let n=[];return O(Ht(e),(e=>{t(e)&&(n=n.concat([e])),n=n.concat(Kt(e,t))})),n},Jt=(e,t)=>It(t,e),Yt=Nt([{before:[\"element\"]},{on:[\"element\",\"offset\"]},{after:[\"element\"]}]),Xt={before:Yt.before,on:Yt.on,after:Yt.after,cata:(e,t,n,r)=>e.fold(t,n,r),getStart:e=>e.fold(p,p,p)},Zt=Nt([{domRange:[\"rng\"]},{relative:[\"startSitu\",\"finishSitu\"]},{exact:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Qt={domRange:Zt.domRange,relative:Zt.relative,exact:Zt.exact,exactFromRange:e=>Zt.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>De.fromDom(e.startContainer),relative:(e,t)=>Xt.getStart(e),exact:(e,t,n,r)=>e}))(e);return jt(t)},range:Pt},en=(e,t)=>{const n=ke(e);return\"input\"===n?Xt.after(e):T([\"br\",\"img\"],n)?0===t?Xt.before(e):Xt.after(e):Xt.on(e,t)},tn=(e,t,n,r)=>{const o=Rt(e).dom.createRange();return o.setStart(e.dom,t),o.setEnd(n.dom,r),o},nn=e=>k.from(e.getSelection()),rn=(e,t,n,r,o)=>{((e,t)=>{nn(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))})(e,Lt(e,t,n,r,o))},on=(e,t,n,r,o)=>{const s=((e,t,n,r)=>{const o=en(e,t),s=en(n,r);return Qt.relative(o,s)})(t,n,r,o);((e,t)=>{((e,t)=>{const n=((e,t)=>t.match({domRange:e=>({ltr:m(e),rtl:k.none}),relative:(t,n)=>({ltr:He((()=>Et(e,t,n))),rtl:He((()=>k.some(Et(e,n,t))))}),exact:(t,n,r,o)=>({ltr:He((()=>Lt(e,t,n,r,o))),rtl:He((()=>k.some(Lt(e,r,o,t,n))))})}))(e,t);return((e,t)=>{const n=t.ltr();return n.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>_t.rtl(De.fromDom(e.endContainer),e.endOffset,De.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>Dt(0,_t.ltr,n))):Dt(0,_t.ltr,n)})(0,n)})(e,t).match({ltr:(t,n,r,o)=>{rn(e,t,n,r,o)},rtl:(t,n,r,o)=>{nn(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,n,r.dom,o);else if(s.extend)try{((e,t,n,r,o,s)=>{t.collapse(n.dom,r),t.extend(o.dom,s)})(0,s,t,n,r,o)}catch(s){rn(e,r,o,t,n)}else rn(e,r,o,t,n)}))}})})(e,s)},sn=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);return k.some(Pt(De.fromDom(t.startContainer),t.startOffset,De.fromDom(n.endContainer),n.endOffset))}return k.none()},an=e=>{if(null===e.anchorNode||null===e.focusNode)return sn(e);{const t=De.fromDom(e.anchorNode),n=De.fromDom(e.focusNode);return((e,t,n,r)=>{const o=tn(e,t,n,r),s=At(e,n)&&t===r;return o.collapsed&&!s})(t,e.anchorOffset,n,e.focusOffset)?k.some(Pt(t,e.anchorOffset,n,e.focusOffset)):sn(e)}},ln=e=>nn(e).filter((e=>e.rangeCount>0)).bind(an),cn=(e,t)=>{Ft(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},un=(e,t)=>{Bt(e).fold((()=>{Ft(e).each((e=>{hn(e,t)}))}),(e=>{cn(e,t)}))},dn=(e,t)=>{(e=>((e,t)=>{const n=e.dom.childNodes;return k.from(n[0]).map(De.fromDom)})(e))(e).fold((()=>{hn(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))},hn=(e,t)=>{e.dom.appendChild(t.dom)},mn=(e,t)=>{cn(e,t),hn(t,e)},pn=(e,t)=>{O(t,((n,r)=>{const o=0===r?e:t[r-1];un(o,n)}))},fn=(e,t)=>{O(t,(t=>{hn(e,t)}))},gn=e=>{e.dom.textContent=\"\",O(Ht(e),(e=>{vn(e)}))},vn=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},yn=e=>{const t=Ht(e);t.length>0&&pn(e,t),vn(e)},bn=(e,t,n,r)=>{const o=At(e,n)&&t===r;return{startContainer:m(e),startOffset:m(t),endContainer:m(n),endOffset:m(r),collapsed:m(o)}};let xn=0;const kn=e=>{const t=(new Date).getTime(),n=Math.floor(1e9*Math.random());return xn++,e+\"_\"+n+xn+String(t)},wn=(e,t,r)=>{if(!(n(r)||s(r)||u(r)))throw console.error(\"Invalid call to Attribute.set. Key \",t,\":: Value \",r,\":: Element \",e),new Error(\"Attribute value was not simple\");e.setAttribute(t,r+\"\")},Sn=(e,t,n)=>{wn(e.dom,t,n)},Cn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{wn(n,t,e)}))},Tn=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},In=(e,t)=>k.from(Tn(e,t)),An=(e,t)=>{const n=e.dom;return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},On=(e,t)=>{e.dom.removeAttribute(t)},En=(e,t)=>{const n=Tn(e,t);return void 0===n||\"\"===n?[]:n.split(\" \")},Ln=e=>void 0!==e.dom.classList,Nn=e=>En(e,\"class\"),_n=(e,t)=>{Ln(e)?e.dom.classList.add(t):((e,t)=>{((e,t,n)=>{const r=En(e,t).concat([n]);Sn(e,t,r.join(\" \"))})(e,\"class\",t)})(e,t)},Dn=(e,t)=>{Ln(e)?e.dom.classList.remove(t):((e,t)=>{((e,t,n)=>{const r=L(En(e,t),(e=>e!==n));r.length>0?Sn(e,t,r.join(\" \")):On(e,t)})(e,\"class\",t)})(e,t),(e=>{0===(Ln(e)?e.dom.classList:Nn(e)).length&&On(e,\"class\")})(e)},Pn=(e,t)=>Ln(e)&&e.dom.classList.contains(t),Rn=(e,t,n=f)=>e.exists((e=>n(e,t))),Mn=(e,t)=>e?k.some(t):k.none(),jn=e=>void 0!==e.style&&c(e.style.getPropertyValue),Fn=(e,t,r)=>{if(!n(r))throw console.error(\"Invalid call to CSS.set. Property \",t,\":: Value \",r,\":: Element \",e),new Error(\"CSS value must be a string: \"+r);jn(e)&&e.style.setProperty(t,r)},Un=(e,t)=>{jn(e)&&e.style.removeProperty(t)},Bn=(e,t,n)=>{const r=e.dom;Fn(r,t,n)},zn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{Fn(n,t,e)}))},Hn=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return\"\"!==r||qt(e)?r:Wn(n,t)},Wn=(e,t)=>jn(e)?e.style.getPropertyValue(t):\"\",$n=(e,t)=>{const n=e.dom,r=Wn(n,t);return k.from(r).filter((e=>e.length>0))},Vn=e=>{const t={},n=e.dom;if(jn(n))for(let e=0;e<n.style.length;e++){const r=n.style.item(e);t[r]=n.style[r]}return t},Gn=(e,t)=>{const n=e.dom;Un(n,t),Rn(In(e,\"style\").map(G),\"\")&&On(e,\"style\")},qn=e=>\"rtl\"===Hn(e,\"direction\")?\"rtl\":\"ltr\",Kn=(e,t)=>{const n=(t||document).createElement(\"div\");return n.innerHTML=e,Ht(De.fromDom(n))},Jn=e=>e.dom.innerHTML,Yn=(e,t,n)=>{let r=e.dom;const o=c(n)?n:b;for(;r.parentNode;){r=r.parentNode;const e=De.fromDom(r);if(t(e))return k.some(e);if(o(e))break}return k.none()},Xn=(e,t)=>_(e.dom.childNodes,(e=>t(De.fromDom(e)))).map(De.fromDom),Zn=(e,t)=>{const n=e=>{for(let r=0;r<e.childNodes.length;r++){const o=De.fromDom(e.childNodes[r]);if(t(o))return k.some(o);const s=n(e.childNodes[r]);if(s.isSome())return s}return k.none()};return n(e.dom)},Qn=(e,t,n)=>Yn(e,(e=>Tt(e,t)),n),er=(e,t,n)=>((e,t,n,r,o)=>((e,t)=>Tt(e,t))(n,r)?k.some(n):c(o)&&o(n)?k.none():t(n,r,o))(0,Qn,e,t,n),tr=e=>{const t=nr(e);return{resolve:e=>{const n=e.split(\" \");return A(n,(e=>rr(t,e))).join(\" \")}}},nr=e=>e.replace(/\\./g,\"-\"),rr=(e,t)=>e+\"-\"+t,or=tr(\"ephox-sloth\").resolve,sr=m(or(\"bin\")),ar=[\"b\",\"i\",\"u\",\"sub\",\"sup\",\"strike\"],ir=sr(),lr=ir+kn(\"\"),cr=(\"-100000px\",\"100000px\",e=>\"rtl\"===qn(e)?\"100000px\":\"-100000px\");const ur=(e,t)=>{const n=De.fromTag(\"div\");var r;Cn(n,t),Cn(n,{contenteditable:\"true\",\"aria-hidden\":\"true\"}),zn(n,{position:\"fixed\",top:\"0px\",width:\"100px\",height:\"100px\",overflow:\"hidden\",opacity:\"0\"}),r=n,O([ir,lr],(e=>{_n(r,e)}));const o=e=>Pn(e,lr);return{attach:e=>{gn(n),Bn(n,\"left\",cr(e)),hn(e,n)},focus:()=>{Qn(n,\"body\").each((t=>{e.toOff(t,n)}))},contents:()=>(((e,t)=>{Bt(e).filter(t).each((t=>{const n=Ht(t);fn(e,n),vn(t)})),((e,t)=>{const n=Ht(e);O(n,(e=>{t(e)&&((e,t)=>{const n=Ht(e),r=De.fromTag(\"div\",Rt(e).dom);fn(r,n),cn(e,r),vn(e)})(e)}))})(e,t),O(Ht(e),(e=>{(e=>Te(e)&&!e.dom.hasChildNodes()&&T(ar,ke(e)))(e)&&vn(e)}))})(n,o),{elements:Ht(n),html:Jn(n),offscreen:n}),container:m(n),detach:()=>{vn(n)}}},dr=e=>{const t=At(e.start,e.finish)&&e.soffset===e.foffset;return{startContainer:m(e.start),startOffset:m(e.soffset),endContainer:m(e.finish),endOffset:m(e.foffset),collapsed:m(t)}},hr={set:(e,t)=>{on(e,t.startContainer(),t.startOffset(),t.endContainer(),t.endOffset())},get:e=>ln(e).map(dr)};var mr=e=>t=>{const n=Ct({after:St([\"container\"])}),r=(e=>{const t=De.fromTag(\"br\");let n=k.none();const r=e=>jt(e).dom;return{cleanup:()=>{vn(t)},toOn:(t,o)=>{const s=r(o);n.each((n=>{const r=(e=>e.dom.childNodes.length)(t),o=At(t,n.startContainer())&&r<n.startOffset()?r:n.startOffset(),a=At(t,n.endContainer())&&r<n.endOffset()?r:n.endOffset(),i=bn(n.startContainer(),o,n.endContainer(),a);e.set(s,i)}))},toOff:(o,s)=>{const a=r(s);hn(s,t),n=e.get(a),e.set(a,bn(t,0,t,0))}}})(hr),o=((e,t,n)=>{const r=ur(e,n),o=()=>{e.cleanup();const t=r.contents();r.detach(),s.trigger.after(t.elements,t.html,r.container())},s=Ct({before:St([]),after:St([\"elements\",\"html\",\"container\"])}),a=d;return{instance:m((()=>{s.trigger.before(),r.attach(t),r.focus(),((e,t)=>{((e,t)=>{setTimeout(t,1)})(0,t)})(Rt(t),o)})),destroy:a,events:s.registry}})(r,t,e);return o.events.after.bind((e=>{r.toOn(t,e.container),n.trigger.after(e.container)})),{run:()=>{o.instance()()},events:n.registry}};const pr=tr(\"ephox-cement\").resolve,fr={cacheSuffix:\"\",pasteBinAttrs:{},keepSrc:!1,sanitizer:{sanitizeHtml:m(\"\"),sanitizeText:m(\"\")},tabSpaces:4,cleanFilteredInlineElements:[],indentUseMargin:!1,defaultProtocol:\"https\"},gr=m(pr(\"smartpaste-eph-bin\")),vr=e=>{let t=k.none(),n=[];const r=e=>{o()?s(e):n.push(e)},o=()=>t.isSome(),s=e=>{t.each((t=>{setTimeout((()=>{e(t)}),0)}))};return e((e=>{o()||(t=k.some(e),O(n,s),n=[])})),{get:r,map:e=>vr((t=>{r((n=>{t(e(n))}))})),isReady:o}},yr={nu:vr,pure:e=>vr((t=>{t(e)}))},br=e=>{setTimeout((()=>{throw e}),0)},xr=e=>{const t=t=>{e().then(t,br)};return{map:t=>xr((()=>e().then(t))),bind:t=>xr((()=>e().then((e=>t(e).toPromise())))),anonBind:t=>xr((()=>e().then((()=>t.toPromise())))),toLazy:()=>yr.nu(t),toCached:()=>{let t=null;return xr((()=>(null===t&&(t=e()),t)))},toPromise:e,get:t}},kr=e=>xr((()=>new Promise(e))),wr=e=>((e,t)=>t((t=>{const n=[];let r=0;0===e.length?t([]):O(e,((o,s)=>{o.get((o=>s=>{n[o]=s,r++,r>=e.length&&t(n)})(s))}))})))(e,kr),Sr=()=>{const e={};return{getOrSetIndexed:(t,n)=>(t=>void 0!==e[t])(t)?e[t]:((t,n)=>(e[t]=n,n))(t,n()),waitForLoad:()=>{const t=((e,t)=>{const n=[];return Me(e,((e,r)=>{n.push(t(e,r))})),n})(e,p);return wr(t)}}},Cr=e=>{const t=t=>t(e),n=m(e),r=()=>o,o={tag:!0,inner:e,fold:(t,n)=>n(e),isValue:x,isError:b,map:t=>Ir.value(t(e)),mapError:r,bind:t,exists:t,forall:t,getOr:n,or:r,getOrThunk:n,orThunk:r,getOrDie:n,each:t=>{t(e)},toOptional:()=>k.some(e)};return o},Tr=e=>{const t=()=>n,n={tag:!1,inner:e,fold:(t,n)=>t(e),isValue:b,isError:x,map:t,mapError:t=>Ir.error(t(e)),bind:t,exists:b,forall:x,getOr:p,or:p,getOrThunk:y,orThunk:y,getOrDie:v(String(e)),each:d,toOptional:k.none};return n},Ir={value:Cr,error:Tr,fromOption:(e,t)=>e.fold((()=>Tr(t)),Cr)},Ar=e=>{const t=De.fromDom((e=>{if($t()&&l(e.target)){const t=De.fromDom(e.target);if(Te(t)&&l(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return U(t)}}return k.from(e.target)})(e).getOr(e.target)),n=()=>e.stopPropagation(),r=()=>e.preventDefault(),o=h(r,n);return((e,t,n,r,o,s,a)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:a}))(t,e.clientX,e.clientY,n,r,o,e)},Or=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},Er=x,Lr=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(Ar(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:g(Or,e,t,s,o)}})(e,t,n,r,!1))(e,t,Er,n),Nr=(e=>{const t=g(xe,e);xe(\"callbacks\",t());const n=(n,o)=>{const s=t(),a=(e=>{const t=void 0===e.count?0:e.count,n=\"callback_\"+t;return e.count=t+1,n})(s);return s.callbacks[a]=(...e)=>{o||r(a),n(...e)},(t=>e+\".callbacks.\"+t)(a)},r=e=>{const n=e.substring(e.lastIndexOf(\".\")+1),r=t();void 0!==r.callbacks[n]&&delete r.callbacks[n]};return{ephemeral:e=>n(e,!1),permanent:e=>n(e,!0),unregister:r}})(\"ephox.henchman.features\"),_r=(e,t)=>yr.nu((n=>{const o=t=>{O(a,(e=>{e.unbind()})),n(t.fold((t=>Ir.error(t+'Unable to download editor stylesheets from \"'+e+'\"')),Ir.value))},s=((e,t)=>{const n=De.fromDom(document),r=De.fromTag(\"link\",n.dom);return Cn(r,{rel:\"stylesheet\",type:\"text/css\",href:e}),((e,t)=>{const n=(e=>{const t=e.dom.head;if(null==t)throw new Error(\"Head is not available yet\");return De.fromDom(t)})(e);hn(n,t)})(n,r),r})(e),a=[Lr(s,\"load\",(e=>{(e=>{var t;try{const n=null===(t=e.target.dom.sheet)||void 0===t?void 0:t.cssRules;return r(n)&&0===n.length}catch(e){}return!1})(e)?o(Ir.error(\"\")):t(o)})),Lr(s,\"error\",g(o,Ir.error(\"\")))]})),Dr=(()=>{const e=Sr(),t=()=>e.waitForLoad();return{preload:()=>{t().get(p)},addStylesheet:(t,n)=>e.getOrSetIndexed(t,(()=>_r(t,n))),addScript:(t,n)=>e.getOrSetIndexed(t,(()=>(e=>yr.nu((t=>{const n=()=>{o.unbind(),s.unbind()},r=De.fromTag(\"script\");Sn(r,\"src\",e),Sn(r,\"type\",\"text/javascript\"),Sn(r,\"async\",\"async\"),Sn(r,\"data-main\",Nr.ephemeral((e=>{t(Ir.value(e))})));const o=Lr(r,\"error\",(()=>{n(),t(Ir.error(\"Error loading external script tag \"+e))})),s=Lr(r,\"load\",n);hn(De.fromDom(document.head),r)})))(t).map(n))),waitForLoad:t}})(),Pr={loadScript:(e,t)=>new Promise(((e,n)=>{((e,t)=>Dr.addScript(e,t))(t,p).get((t=>{t.fold(n,e)}))}))},Rr=Nt([{error:[\"message\"]},{paste:[\"elements\",\"correlated\"]},{cancel:[]},{incomplete:[\"elements\",\"correlated\",\"message\"]}]),Mr=(e,t,n,r,o)=>e.fold(t,n,r,o),jr=Rr.error,Fr=Rr.paste,Ur=Rr.cancel,Br=Rr.incomplete,zr=[\"officeStyles\",\"htmlStyles\",\"gdocsStyles\",\"isWord\",\"isGoogleDocs\",\"proxyBin\",\"isInternal\"],Hr=(e,t)=>{const n={};return O(zr,(r=>{t[r].or(e[r]).each((e=>{n[r]=e}))})),Wr(n)},Wr=e=>j(zr,(t=>k.from(e[t]))),$r=e=>({response:jr(e),bundle:Wr({})}),Vr=e=>Promise.resolve($r(e)),Gr={response:Ur(),bundle:Wr({})},qr=e=>l(e.then),Kr=(e,t,n,r)=>({steps:e,input:t,label:n,capture:r}),Jr=(e,t)=>{const n=Hr(e.bundle,t.bundle),r=((e,t)=>Mr(e,k.none,k.none,k.none,((e,n,r)=>Mr(t,k.none,((e,t)=>k.some(Rr.incomplete(e,t,r))),k.none,k.none))).getOr(t))(e.response,t.response);return{response:r,bundle:n}},Yr=(e,t,n)=>{const r=()=>e,o=()=>{const r=n(t,e);return qr(r)?r.then((t=>Jr(e,t))):Jr(e,r)};return Mr(e.response,r,o,r,o)},Xr=(Zr=(e,t)=>t,(...e)=>{if(0===e.length)throw new Error(\"Can't merge zero objects\");const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const e in r)ze(r,e)&&(t[e]=Zr(t[e],r[e]))}return t});var Zr;const Qr=Nt([{starts:[\"value\",\"f\"]},{pattern:[\"regex\",\"f\"]},{contains:[\"value\",\"f\"]},{exact:[\"value\",\"f\"]},{all:[]},{not:[\"stringMatch\"]}]),eo=p,to=(e,t)=>e.fold(((e,n)=>0===n(t).indexOf(n(e))),((e,n)=>e.test(n(t))),((e,n)=>n(t).indexOf(n(e))>=0),((e,n)=>n(t)===n(e)),x,(e=>!to(e,t))),no={starts:Qr.starts,pattern:Qr.pattern,contains:Qr.contains,exact:Qr.exact,all:Qr.all,not:Qr.not,cata:(e,t,n,r,o,s,a)=>e.fold(t,n,r,o,s,a),matches:to,caseSensitive:eo,caseInsensitive:e=>e.toLowerCase()},ro=(e,t)=>{const n=ke(e),r=t.name,o=void 0!==t.condition?t.condition:x;return no.matches(r,n)&&o(e)},oo=(e,t,n)=>{const r=(e=>{const t={},n=l(e)?e.split(\";\"):[];return O(n,(e=>{const n=e.split(\":\");2===n.length&&(t[G(n[0])]=G(n[1]))})),t})(e.dom.getAttribute(\"style\")),o={};return O(t,(e=>{const t=r[e];void 0===t||n(t,e)||(o[e]=t)})),o},so=e=>{const t=Pe(e);return A(t,(t=>t+\": \"+e[t])).join(\"; \")},ao=[\"mso-list\"],io=(e,t)=>{const n=oo(e,ao,t),r=((e,t)=>{const n=e.dom.style,r=i(n)?[]:n,o={};return O(r,(n=>{$n(e,n).each((e=>{t(e,n)||(o[n]=e)}))})),o})(e,t);((e,t,n)=>{Sn(e,\"style\",\"\");const r=Be(t),o=Be(n);if(0===r&&0===o)On(e,\"style\");else if(0===r)Sn(e,\"style\",so(n));else{Me(t,((t,n)=>{Bn(e,n,t)}));const r=Tn(e,\"style\"),s=o>0?so(n)+\"; \":\"\";Sn(e,\"style\",s+r)}})(e,r,n)},lo=(e,t)=>{const n=((e,t)=>{const n={};return O(e.dom.attributes,(e=>{t(e.value,e.name)||(n[e.name]=e.value)})),n})(e,t);((e,t)=>{const n=A(e.dom.attributes,(e=>e.name));Be(t)!==n.length&&((e,t,n)=>{O(t,(t=>{On(e,t)})),Me(n,((t,n)=>{Sn(e,n,t)}))})(e,n,t)})(e,n)},co=(e,t)=>{io(De.fromDom(e),t)},uo=(e,t,n)=>{e(n,((e,r)=>I(t,(t=>((e,t,n,r)=>{const o=r.name,s=void 0!==r.condition?r.condition:x,a=void 0!==r.value?r.value:no.all();return no.matches(o,n)&&no.matches(a,t)&&s(e)})(n,e,r,t)))))},ho=\"startElement\",mo=\"endElement\",po=\"text\",fo=\"comment\",go=(e,t,n)=>{let r,o,s;const a=De.fromDom(e);switch(e.nodeType){case 1:t?r=mo:(r=ho,zn(a,n||{}));const i=e;o=\"HTML\"!==i.scopeName&&i.scopeName&&i.tagName&&i.tagName.indexOf(\":\")<=0?(i.scopeName+\":\"+i.tagName).toLowerCase():i.tagName.toLowerCase();break;case 3:r=po,s=e.nodeValue;break;case 8:r=fo,s=e.nodeValue;break;default:console.log(\"WARNING: Unsupported node type encountered: \"+e.nodeType)}return{getNode:m(e),tag:()=>o,type:()=>r,text:()=>s}},vo=(e,t,n,r)=>{const o=r.createElement(e);return Me(t,((e,t)=>{o.setAttribute(t,e+\"\")})),go(o,!1,n)},yo=(e,t)=>go(t.createElement(e),!0),bo=yo(\"html\",window.document),xo=e=>{const t=e.createDocumentFragment();let n=t;const r=e=>{n.appendChild(e)};return{dom:t,receive:o=>{switch(o.type()){case ho:s=o.getNode().cloneNode(!1),r(s),n=s;break;case po:(t=>{const n=e.createTextNode(t.text());r(n)})(o);break;case mo:(()=>{const e=n.parentNode;n=null===e?t:e})();break;case fo:break;default:throw new Error(\"Unsupported token type: \"+o.type())}var s},label:\"SERIALISER\"}},ko=e=>t=>{((e,t)=>{const n=Xr({styles:[],attributes:[],classes:[],tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{uo(io,n.styles,e),uo(lo,n.attributes,e),O(n.classes,(t=>{const n=An(e,\"class\")?(e=>Ln(e)?(e=>{const t=e.dom.classList,n=new Array(t.length);for(let e=0;e<t.length;e++){const r=t.item(e);null!==r&&(n[e]=r)}return n})(e):Nn(e))(e):[];O(n,(n=>{no.matches(t.name,n)&&Dn(e,n)}))}))}));const o=Jt(e,\"*\");O(o,(e=>{I(n.tags,g(ro,e))&&vn(e)}))})(t,e)},wo=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{I(n.tags,g(ro,e))&&yn(e)}))})(t,e)},So=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{_(n.tags,g(ro,e)).each((t=>{t.mutate(e)}))}))})(t,e)},Co=e=>t=>{const n=Jn(t),r=((e,t,n)=>{const r=xo(e),o=((e,t=window.document)=>{const n=t.createElement(\"div\");t.body.appendChild(n),n.style.position=\"absolute\",n.style.left=\"-10000px\",n.innerHTML=e;let r=n.firstChild||bo;const o=[];let s=!1;return{hasNext:()=>void 0!==r,next:()=>{const e=r,a=r,i=s;return!s&&e.firstChild?(o.push(e),r=e.firstChild):s||1!==e.nodeType?e.nextSibling?(r=e.nextSibling,s=!1):(r=o.pop(),s=!0):s=!0,a===bo||r||(t.body.removeChild(n),r=bo),(l=a)===bo?l:l?go(l,i):void 0;var l}}})(t,e),s=((e,t,n)=>{let r=n;for(let n=t.length-1;n>=0;n--)r=t[n](r,{},e);return r})(e,n,r);for(;o.hasNext();){const e=o.next();s.receive(e)}return r.dom})(Rt(t).dom,n,e);gn(t),t.dom.appendChild(r)},To=(e,t,n)=>{const r=De.fromTag(\"div\",e.dom);zn(r,{position:\"fixed\",left:\"-100000px\",top:\"0px\"}),hn((e=>{const t=e.dom.body;if(null==t)throw new Error(\"Body is not available yet\");return De.fromDom(t)})(e),r),r.dom.innerHTML=t,O(n,(e=>{e(r)}));const o=Jn(r);return vn(r),o},Io=(e,t)=>n=>{const r=e=>{n.receive(e)},o=(e,t,n)=>(n=void 0!==n?n:e.type()===mo,go(t,n,{})),s={emit:r,emitTokens:e=>{O(e,r)},receive:t=>{e(s,t,o)},document:window.document};return t(s),s},Ao=(e,t)=>{if(void 0===e||void 0===t)throw console.trace(),new Error(\"brick\");e.nextFilter.set(t)},Oo=(e,t,n=!1)=>e===t||l(e)&&l(t)&&e.tag===t.tag&&e.type===t.type&&(n||e.variant===t.variant),Eo=(e,t)=>An(De.fromDom(t.getNode()),\"data-list-level\"),Lo=(e,t,n,r)=>{const o=n.getCurrentListType(),s=n.getCurrentLevel()==r.level()?o:null;return(a=r.emblems(),i=s,_(a,(e=>\"ul\"===e.tag||l(i)&&Oo(e,i,!0))).orThunk((()=>U(a)))).filter((e=>!(\"ol\"===e.tag&&(e=>{if(T([\"p\"],e.tag())){const t=((e,t)=>{const n=De.fromDom(e.getNode());return Tn(n,\"class\")})(e);return l(t)&&/^MsoHeading/.test(t)}return!0})(t))));var a,i},No=e=>(t,n,r)=>{const o=r,s=(e=>{const t=parseInt(Tn(e,\"data-list-level\"),10),n=Tn(e,\"data-list-emblems\"),r=l(n)?JSON.parse(n):[];return On(e,\"data-list-level\"),On(e,\"data-list-emblems\"),{level:m(t),emblems:m(r)}})(De.fromDom(o.getNode()));n.originalToken.set(o);const a=((e,t,n)=>(Lo(n.listType.get(),e,n.emitter,t).each(n.listType.set),((e,t,n)=>({level:m(e),token:m(t),type:m(n)}))(t.level(),n.originalToken.get(),n.listType.get())))(o,s,n);n.emitter.openItem(a.level(),a.token(),a.type()),Ao(n,e.inside())},_o=(e,t,n)=>({pred:e,action:t,label:m(n)});var Do=(e,t,n)=>{const r=(e,r,o)=>{_(t,(e=>e.pred(r,o))).fold(m(n),(e=>e.action))(e,r,o)};return r.toString=()=>\"Handlers for \"+e,r};const Po=(e,t)=>({state:m(e),result:m(t)}),Ro=(e,t)=>({state:m(e),value:m(t)}),Mo=(e,t,n,r)=>({level:m(e),type:m(t),types:m(n),items:m(r)}),jo=e=>{const t=e.items().slice(0);if(t.length>0&&\"p\"!==t[t.length-1]){const n=t[t.length-1];t[t.length-1]=\"p\";const r=Mo(e.level(),e.type(),e.types(),t);return Ro(r,k.some(n))}return Ro(e,k.none())},Fo=(e,t,n)=>{let r=[],o=e;for(;t(o);){const e=n(o);o=e.state(),r=r.concat(e.result())}return Po(o,r)},Uo=(e,t,n)=>{const r=t.start&&t.start>1?{start:t.start}:{},o=e.level()+1,s=t,a=e.types().concat([t]),i=[g(vo,t.tag,r,n)],l=Mo(o,s,a,e.items());return Po(l,i)},Bo=e=>{const t=e.types().slice(0),n=[g(yo,t.pop().tag)],r=e.level()-1,o=t[t.length-1],s=Mo(r,o,t,e.items());return Po(s,n)},zo=(e,t,n)=>{const r=(c=t)?(e=>{const t=((e,t)=>{const n=De.fromDom(e.getNode());return Hn(n,\"margin-left\")})(e);return l(t)&&\"0px\"!==t?{\"margin-left\":t}:{}})(c):{\"list-style-type\":\"none\"},o=e.type()&&!Oo(e.type(),n)?((e,t)=>{const n=Bo(e),r=Uo(n.state(),t,t.type?{\"list-style-type\":t.type}:{});return Po(r.state(),n.result().concat(r.result()))})(e,n):Po(e,[]),s=[g(vo,\"li\",{},r)],a=((e,t)=>{const n=e.items().slice(0),r=void 0!==t&&\"p\"!==t?k.some(t):k.none();r.fold((()=>{n.push(\"p\")}),(e=>{n.push(e)}));const o=Mo(e.level(),e.type(),e.types(),n);return Ro(o,r)})(o.state(),t&&t.tag()),i=a.value().map((e=>{const n=t;return co(n.getNode(),x),[m(n)]})).getOr([]);var c;return Po(a.state(),o.result().concat(s).concat(i))},Ho=e=>{const t=g(yo,\"li\"),n=jo(e),r=n.value().fold((()=>[t]),(e=>[g(yo,e),t]));return Po(n.state(),r)},Wo=e=>{if(0===e.length)throw new Error(\"Compose must have at least one element in the list\");const t=e[e.length-1],n=R(e,(e=>e.result()));return Po(t.state(),n)},$o=e=>{const t=Ho(e),n=Bo(t.state());return Wo([t,n])},Vo=(e,t)=>((e,t,n)=>Fo(e,(e=>e.level()>t),n))(e,t,$o),Go=(e,t,n,r)=>{const o=e.level()>t?Vo(e,t):Po(e,[]),s=o.state().level()===t?((e,t,n)=>{const r=e.level()>0?Ho(e):Po(e,[]),o=zo(r.state(),n,t);return Wo([r,o])})(o.state(),r,n):((e,t,n,r)=>{const o=n>1?jo(e):Ro(e,k.none()),s=o.value().map((e=>[g(yo,e)])).getOr([]),a=((e,t,n,r)=>((e,t,n)=>Fo(e,(e=>e.level()<t),n))(e,n,(e=>((e,t,n,r)=>{const o=e.level()===n-1&&t.type?{\"list-style-type\":t.type}:{},s=Uo(e,t,o),a=zo(s.state(),s.state().level()==n?r:void 0,t);return Wo([s,a])})(e,t,n,r))))(o.state(),t,n,r);return Po(a.state(),s.concat(a.result()))})(o.state(),r,t,n);return Wo([o,s])},qo=Vo,Ko=[\"disc\",\"circle\",\"square\"],Jo={getCurrentListType:()=>Yo().getCurrentListType(),getCurrentLevel:()=>Yo().getCurrentLevel(),closeAllLists:()=>Yo().closeAllLists(),openItem:(e,t,n)=>Yo().openItem(e,t,n)};let Yo=()=>({getCurrentListType:m({}),getCurrentLevel:m(1),closeAllLists:d,openItem:p});const Xo={inside:()=>Qo,outside:()=>es},Zo=(()=>{let e=!1;return{check:t=>!(!e||t.type()!==po)||(t.type()===ho&&\"style\"===t.tag()?(e=!0,!0):t.type()===mo&&\"style\"===t.tag()&&(e=!1,!0))}})(),Qo=(e=>Do(\"Inside.List.Item\",[_o(((e,t)=>{const n=e.originalToken.get();return t.type()===mo&&null!==n&&t.tag()===n.tag()}),((t,n)=>{Ao(n,e.outside())}),\"Closing open tag\")],((e,t,n)=>{e.emit(n)})))(Xo),es=(e=>Do(\"Outside.List.Item\",[_o(Eo,No(e),\"Data List ****\"),_o(((e,t)=>t.type()===po&&(e=>e.type()===po&&/^[\\s\\u00A0]*$/.test(e.text()))(t)),((e,t,n)=>{e.emit(n)}),\"Whitespace\")],((t,n,r)=>{n.emitter.closeAllLists(),t.emit(r),Ao(n,e.outside())})))(Xo),ts=(e=>{const t=fe(e),n=fe(null),r=fe(null);return{reset:o=>{t.set(e),n.set(null),r.set(null),Yo=m(((e,t)=>{let n=Mo(0,void 0,[],[]);const r=n=>{O(n.result(),(n=>{const r=n(t);e.emit(r)}))};return{closeAllLists:()=>{const e=qo(n,0);n=e.state(),r(e)},openItem:(e,t,o)=>{if(!o)return;const s=((e,t)=>\"ul\"===e.tag&&Ko[t-1]===e.type?{tag:\"ul\"}:e)(o,e),a=Go(n,e,t,s);n=a.state(),r(a)},getCurrentListType:()=>n.type(),getCurrentLevel:()=>n.level()}})(o,o.document))},nextFilter:t,originalToken:n,listType:r,emitter:Jo}})(es);var ns=Io(((e,t,n)=>{Zo.check(t)||((e,t,n)=>{t.nextFilter.get()(e,t,n)})(e,ts,t)}),ts.reset);const rs=e=>e.dom.textContent,os=[{regex:/^\\(?[dc][\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[DC][\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}},{regex:/^\\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-roman\"}},{regex:/^\\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-roman\"}},{regex:/^\\(?[0-9]+[\\.\\)]$/,type:{tag:\"ol\"}},{regex:/^([0-9]+\\.)*[0-9]+\\.?$/,type:{tag:\"ol\",variant:\"outline\"}},{regex:/^\\(?[a-z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[A-Z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}}],ss={\"\\u2022\":{tag:\"ul\",type:\"disc\"},\"\\xb7\":{tag:\"ul\",type:\"disc\"},\"\\xa7\":{tag:\"ul\",type:\"square\"}},as={o:{tag:\"ul\",type:\"circle\"},\"-\":{tag:\"ul\",type:\"disc\"},\"\\u25cf\":{tag:\"ul\",type:\"disc\"},\"\\ufffd\":{tag:\"ul\",type:\"circle\"}},is=(e,t)=>a(e.variant)?\"(\"===t.charAt(0)?\"()\":\")\"===t.charAt(t.length-1)?\")\":\".\":e.variant,ls=e=>{const t=e.split(\".\"),n=(()=>{if(0===t.length)return e;const n=t[t.length-1];return 0===n.length&&t.length>1?t[t.length-2]:n})(),r=parseInt(n,10);return isNaN(r)?{}:{start:r}},cs=e=>{const t=(e=>oo(e,[\"mso-list\"],b)[\"mso-list\"])(e),n=l(t)&&/ level([0-9]+)/.exec(t);return n&&n[1]?k.some(parseInt(n[1],10)):k.none()},us=(e,t)=>{const n=((e,t)=>{const n=as[e]?[as[e]]:[],r=((e,t)=>t&&ss[e]?[ss[e]]:t?[{tag:\"ul\",variant:e}]:[])(e,t),o=R(os,(t=>t.regex.test(e)?[Xr(t.type,ls(e),{variant:is(t.type,e)})]:[])),s=n.concat(r).concat(o);return A(s,(t=>void 0!==t.variant?t:Xr(t,{variant:e})))})(rs(e).trim(),t);return n.length>0?k.some(n):k.none()},ds=e=>Xn(e,Ce).bind(Bt).filter(Ee(\"span\")),hs=e=>Zn(e,(e=>!!(Te(e)?oo(e,[\"mso-list\"],b):{})[\"mso-list\"])),ms=e=>Te(e)&&$n(e,\"font-family\").exists((e=>T([\"wingdings\",\"symbol\"],e.toLowerCase()))),ps=(e,t,n,r)=>{((e,t,n)=>{Sn(e,\"data-list-level\",t);const r=JSON.stringify(n);Sn(e,\"data-list-emblems\",r)})(e,t,n),(e=>{const t=((e,t)=>{const n=t.getOr(x);return(e=>{const t=[];for(;null!==e.nextNode();)t.push(De.fromDom(e.currentNode));return t})(document.createTreeWalker(e.dom,NodeFilter.SHOW_COMMENT,{acceptNode:e=>n(e.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}))})(e,k.none());O(t,vn)})(e),O(r,vn),On(e,\"style\"),On(e,\"class\")},fs=e=>(e=>cs(e).bind((t=>(e=>Xn(e,ms))(e).bind((n=>us(n,!0).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():cs(e).bind((t=>hs(e).bind((n=>us(n,!1).map((r=>({mutate:()=>{ps(e,t,r,[Ft(n).getOr(n)])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():hs(e).bind((t=>{const n=Ft(t).getOr(t),r=ms(n);return us(t,r).bind((t=>(e=>$n(e,\"margin-left\").bind((e=>{const t=parseInt(e,10);return isNaN(t)?k.none():k.some(Math.max(1,Math.ceil(t/18)))})))(e).map((r=>({mutate:()=>{ps(e,r,t,[n])}})))))})))(e))),gs=So({tags:[{name:no.pattern(/^(p|h\\d+)$/,no.caseInsensitive),mutate:e=>{fs(e).each((e=>{e.mutate()}))}}]}),vs=ns,ys=e=>{return(o=e,Ce(o)?(t=o,n=\"v:shape\",k.from((r=t,r.dom.nodeValue)).bind((e=>{const t=e.indexOf(\"]>\"),r=(e=>{try{return(new DOMParser).parseFromString(e,\"text/html\").body}catch(t){const n=document.implementation.createHTMLDocument(\"\").body;return n.innerHTML=e,n}})(`<div>${e.slice(t+2,e.lastIndexOf(\"<![\"))}<\/div>`);return Zn(De.fromDom(r),(e=>ke(e)===n))}))):k.none()).map((e=>{const t=Tn(e,\"o:spid\"),n=void 0===t?In(e,\"id\").getOr(\"\"):t,r=De.fromTag(\"img\");return _n(r,\"rtf-data-image\"),Sn(r,\"data-image-id\",n.substr(7)),Sn(r,\"data-image-type\",\"code\"),((e,t)=>{const n=e.dom;Me(t,((e,t)=>{e.fold((()=>{Un(n,t)}),(e=>{Fn(n,t,e)}))}))})(r,{width:$n(e,\"width\"),height:$n(e,\"height\")}),r}));var t,n,r,o},bs=e=>{if(Ee(\"img\")(e)){const t=Tn(e,\"src\");if(null!=t&&$(t,\"file://\")){const n=(e=>((e,t)=>De.fromDom(e.dom.cloneNode(!1)))(e))(e),r=t.split(/[\\/\\\\]/),o=r[r.length-1];return Sn(n,\"data-image-id\",o),On(n,\"src\"),Sn(n,\"data-image-type\",\"local\"),_n(n,\"rtf-data-image\"),k.some(n)}return k.none()}return k.none()};var xs;!function(e){e[e.Word=0]=\"Word\",e[e.GoogleDocs=1]=\"GoogleDocs\",e[e.Html=2]=\"Html\"}(xs||(xs={}));const ks=e=>t=>{In(t,e.attrName).each((n=>{const r=l(e.styleName)?e.styleName:e.attrName;if($n(t,r).isNone()){const o=e.mapValue(n);Bn(t,r,o)}On(t,e.attrName)}))},ws=e=>{const t=ke(e);return\"td\"===t||\"tr\"===t||\"col\"===t||\"th\"===t},Ss=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,Cs=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,Ts=e=>H(e,\"#\").toUpperCase(),Is=e=>{const t=e.toString(16);return(1===t.length?\"0\"+t:t).toUpperCase()},As=e=>(e=>({value:Ts(e)}))(Is(e.red)+Is(e.green)+Is(e.blue)),Os=/^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i,Es=/^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i,Ls=(e,t,n,r)=>({red:e,green:t,blue:n,alpha:r}),Ns=(e,t,n,r)=>{const o=parseInt(e,10),s=parseInt(t,10),a=parseInt(n,10),i=parseFloat(r);return Ls(o,s,a,i)},_s=[\"background-repeat-x\",\"background-repeat-y\"],Ds=e=>{return\"currentcolor\"===e||\"transparent\"===e?e:\"#\"+(t=H(e,\"#\").toUpperCase(),(e=>Ss.test(e)||Cs.test(e))(t)?k.some({value:Ts(t)}):k.none()).orThunk((()=>(e=>{if(\"transparent\"===e)return k.some(Ls(0,0,0,0));const t=Os.exec(e);if(null!==t)return k.some(Ns(t[1],t[2],t[3],\"1\"));const n=Es.exec(e);return null!==n?k.some(Ns(n[1],n[2],n[3],n[4])):k.none()})(e).map(As))).getOrThunk((()=>{const t=document.createElement(\"canvas\");t.height=1,t.width=1;const n=t.getContext(\"2d\");n.clearRect(0,0,t.width,t.height),n.fillStyle=\"#FFFFFF\",n.fillStyle=e,n.fillRect(0,0,1,1);const r=n.getImageData(0,0,1,1).data,o=r[0],s=r[1],a=r[2],i=r[3];return As(Ls(o,s,a,i))})).value;var t},Ps=(e,t)=>{if(a(e))return\"\";switch(t){case\"color\":return Ds(e);case\"font-family\":return e.replace(/['\"]/g,\"\");case\"font-weight\":return(e=>{switch(e){case\"bold\":return\"700\";case\"normal\":return\"400\";default:return e}})(e);default:return V(t,\"-color\")?Ds(e):(e=>e.replace(/^0(pt|px|pc|in|cm|mm|Q|cap|ch|ic|em|ex|lh|rlh|rem|vw|vh|vb|vi|vmax|vmin|%)$/,\"0\"))(e)}},Rs=So({tags:[{name:no.pattern(/^(p|div)$/,no.caseInsensitive),mutate:e=>{const t=\"ltr\"===qn(e),n=t?\"margin-left\":\"margin-right\",r=t?\"padding-left\":\"padding-right\";$n(e,n).each((()=>{const t=Hn(e,n);Bn(e,r,t),Gn(e,n)}))}}]}),Ms=wo({tags:[{name:no.exact(\"b\",no.caseInsensitive),condition:e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid\")))}]}),js=ko({attributes:[{name:no.exact(\"id\",no.caseInsensitive),value:no.starts(\"docs-internal-guid\",no.caseInsensitive)}]}),Fs=[So({tags:[{name:no.exact(\"col\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]})],Us=e=>So({tags:[{name:no.exact(e.matchTag,no.caseInsensitive),mutate:t=>{var n,r;(n=Vn(t),r=e.key,ze(n,r)?k.from(n[r]):k.none()).exists((t=>T(e.values,t)))&&(mn(t,De.fromTag(e.newTag)),Gn(t,e.key),o(e.removeExtra)&&O(e.removeExtra,(e=>Gn(t,e))))}}]}),Bs=[Us({matchTag:\"span\",key:\"font-weight\",values:[\"700\",\"bold\"],newTag:\"strong\"}),Us({matchTag:\"span\",key:\"font-style\",values:[\"italic\"],newTag:\"em\"}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"sub\"],newTag:\"sub\",removeExtra:[\"font-size\"]}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"super\"],newTag:\"sup\",removeExtra:[\"font-size\"]})],zs=e=>t=>{const n=[],r={border:e.browser.isFirefox()?\"medium none\":\"none\",\"text-decoration\":\"none\"},o=(e,t)=>{if(!a(t)){const r=De.fromTag(ke(e));hn(t,r),n.push({me:e,fake:r})}const r=L(Ht(e),Te);O(r,(t=>o(t,e)))};o(t);const s=A(n,(e=>{const{fake:t,me:n}=e,o=Vn(n),s=Ue(o,((e,r)=>{const o=((e,t)=>T(_s,t)?$n(e,\"background-repeat\"):k.none())(n,r).getOr(e),s=((e,t)=>T(_s,t)?Hn(e,\"background-repeat\"):Hn(e,t))(t,r);return Ps(o,r)===Ps(s,r)})),a=Ue(r,((e,t)=>Rn($n(n,t),e)));return{fake:t,me:n,toRemove:s,toPreserve:a}}));O(s,(e=>{const{me:t,toRemove:n,toPreserve:r,fake:o}=e;Me(n,((e,n)=>{Gn(t,n)})),Me(r,((e,n)=>{Bn(t,n,e)})),vn(o)}))},Hs=[\"p\",\"div\",\"article\",\"aside\",\"details\",\"dt\",\"figcaption\",\"footer\",\"form\",\"fieldset\",\"header\",\"hgroup\",\"html\",\"main\",\"nav\",\"section\",\"summary\",\"body\",\"dl\",\"multicol\",\"dd\",\"figure\",\"address\",\"center\",\"blockquote\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"listing\",\"xmp\",\"pre\",\"plaintext\",\"menu\",\"dir\",\"ul\",\"ol\",\"li\",\"hr\",\"table\",\"tbody\",\"thead\",\"tfoot\",\"th\",\"tr\",\"td\",\"caption\"],Ws=ko({styles:[{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.starts(\"pre\",no.caseInsensitive)},{name:no.exact(\"white-space-collapse\",no.caseInsensitive),value:no.starts(\"preserve\",no.caseInsensitive)},{name:no.exact(\"text-wrap\",no.caseInsensitive),value:no.not(no.exact(\"wrap\",no.caseInsensitive))},{name:no.pattern(/^overflow(-[xy])?$/,no.caseInsensitive),condition:e=>ws(e)&&Rn($n(e,\"overflow\"),\"hidden\")},{name:no.exact(\"overflow-wrap\",no.caseInsensitive),condition:ws},{name:no.exact(\"table-layout\",no.caseInsensitive),value:no.exact(\"fixed\",no.caseInsensitive),condition:Ee(\"table\")},{name:no.exact(\"line-height\",no.caseInsensitive),value:no.exact(\"1.38\",no.caseInsensitive)},{name:no.exact(\"vertical-align\",no.caseInsensitive),value:no.exact(\"baseline\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"font-variant\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.starts(\"padding\",no.caseInsensitive),condition:ws},{name:no.pattern(/^text-decoration(-(line|thickness|style|color))?$/,no.caseInsensitive),condition:e=>!Ee(\"a\")(e)&&Rn($n(e,\"text-decoration\"),\"none\")}],attributes:[{name:no.exact(\"aria-level\",no.caseInsensitive),condition:Ee(\"li\")},{name:no.exact(\"dir\",no.caseInsensitive),value:no.exact(\"ltr\",no.caseInsensitive),condition:e=>T(Hs,ke(e))},{name:no.exact(\"role\",no.caseInsensitive),value:no.exact(\"presentation\",no.caseInsensitive),condition:e=>Ee(\"p\")(e)&&Ft(e).exists(Ee(\"li\"))}]}),$s=ko({styles:[{name:no.exact(\"text-align\",no.caseInsensitive),value:no.exact(\"right\",no.caseInsensitive),condition:e=>\"rtl\"===qn(e)}]}),Vs=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:e=>{const t=t=>$n(e,t).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))).getOr(0),n=qn(e);return t(\"text-indent\")+t(\"rtl\"===n?\"padding-right\":\"padding-left\")===0},mutate:e=>{const t=qn(e);Gn(e,\"text-indent\"),Gn(e,\"rtl\"===t?\"padding-right\":\"padding-left\")}}]}),Gs=e=>t=>Pn(t,e),qs=ve(Ie,\"text\"),Ks=e=>qs.get(e),Js=e=>{const t=e.dom.attributes;return null==t||0===t.length||1===t.length&&\"style\"===t[0].name},Ys=(e,t)=>{const n=De.fromTag(e);cn(t,n);const r=t.dom.attributes;O(r,(e=>{n.dom.setAttribute(e.name,e.value)}));const o=Ht(t);return fn(n,o),vn(t),n},Xs=Ee(\"li\"),Zs=e=>Ut(e).bind((e=>Ie(e)&&0===Ks(e).trim().length?Zs(e):Xs(e)?k.some(e):k.none())),Qs=e=>{const t=Ys(\"span\",e),n={\"font-size\":{1:\"8pt\",2:\"10pt\",3:\"12pt\",4:\"14pt\",5:\"18pt\",6:\"24pt\",7:\"36pt\"}};Me({face:\"font-family\",size:\"font-size\",color:\"color\"},((e,r)=>{In(t,r).each((o=>{const s=n[e],a=void 0!==s&&void 0!==s[o]?s[o]:o;Bn(t,e,a),On(t,r)}))}))},ea=ko({tags:[{name:no.exact(\"script\",no.caseInsensitive)},{name:no.exact(\"link\",no.caseInsensitive)},{name:no.exact(\"style\",no.caseInsensitive),condition:e=>0===Jn(e).length}],attributes:[{name:no.starts(\"on\",no.caseInsensitive)},{name:no.exact('\"',no.caseInsensitive)},{name:no.exact(\"lang\",no.caseInsensitive)},{name:no.exact(\"language\",no.caseInsensitive)}],styles:[{name:no.all(),value:no.pattern(/OLE_LINK/i,no.caseInsensitive)}]}),ta=ko({tags:[{name:no.exact(\"meta\",no.caseInsensitive)}]}),na=ko({tags:[{name:no.exact(\"style\",no.caseInsensitive)}]}),ra=ko({styles:[{name:no.not(no.pattern(/^(width|height|list-style-type)$/,no.caseInsensitive)),condition:e=>!Pn(e,\"ephox-limbo-transform\")},{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:e=>{return(e=>\"img\"!==ke(e))(e)&&!(\"table\"===ke(t=e)||ws(t));var t}}]}),oa=(e=[])=>{const t=A(e,(e=>({name:no.exact(e,no.caseInsensitive)})));return wo({tags:t})},sa=ko({classes:[{name:no.not(no.exact(\"rtf-data-image\",no.caseInsensitive))}]}),aa=ko({styles:[{name:no.pattern(/^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\\..*)$/,no.caseInsensitive)}]}),ia=ko({classes:[{name:no.pattern(/mso/i,no.caseInsensitive)}]}),la=wo({tags:[{name:no.exact(\"img\",no.caseInsensitive),condition:e=>{const t=Tn(e,\"src\");return n(t)&&/^file:/.test(t)}}]}),ca=wo({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:Js}]}),ua=ko({attributes:[{name:no.exact(\"style\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),da=ko({attributes:[{name:no.exact(\"class\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),ha=wo({tags:[{name:no.pattern(/^(font|em|strong|samp|acronym|cite|code|dfn|kbd|tt|b|i|u|s|sub|sup|ins|del|var|span)$/,no.caseInsensitive),condition:(ma=e=>!Js(e)||(e=>{const t=e.dom.attributes,n=null!=t&&t.length>0;return\"span\"!==ke(e)||n})(e)&&Zn(e,(e=>{const t=!Js(e),n=!T([\"font\",\"em\",\"strong\",\"samp\",\"acronym\",\"cite\",\"code\",\"dfn\",\"kbd\",\"tt\",\"b\",\"i\",\"u\",\"s\",\"sub\",\"sup\",\"ins\",\"del\",\"var\",\"span\"],ke(e));return Ie(e)||t||n})).isSome(),e=>!ma(e))}]});var ma;const pa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:e=>{0===Jn(e).length&&hn(e,De.fromTag(\"br\"))}}]}),fa=e=>{const t=Ys(\"span\",e);_n(t,\"ephox-limbo-transform\"),Bn(t,\"text-decoration\",\"underline\")},ga=So({tags:[{name:no.pattern(/ol|ul/,no.caseInsensitive),mutate:e=>{Ft(e).each((t=>{const n=ke(t);T([\"ol\",\"ul\"],n)&&Zs(e).fold((()=>{const t=De.fromTag(\"li\");Bn(t,\"list-style-type\",\"none\"),mn(e,t)}),(t=>{hn(t,e)}))}))}}]}),va=e=>{const t=[{name:\"b\",transform:{mutate:g(Ys,\"strong\")}},{name:\"i\",transform:{mutate:g(Ys,\"em\")}},{name:\"u\",transform:{mutate:fa}},{name:\"s\",transform:{mutate:g(Ys,\"strike\")}},{name:\"font\",transform:{mutate:Qs,debug:!0}}],n=L(t,(t=>!T(e,t.name))).map((e=>({name:no.exact(e.name,no.caseInsensitive),...e.transform})));return So({tags:n})},ya=ko({classes:[{name:no.exact(\"ephox-limbo-transform\",no.caseInsensitive)}]}),ba=ko({tags:[{name:no.exact(\"br\",no.caseInsensitive),condition:Gs(\"Apple-interchange-newline\")}]}),xa=ko({styles:[{name:no.pattern(/^-/,no.caseInsensitive)},{name:no.all(),value:no.exact(\"initial\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.pattern(/font-variant.*/,no.caseInsensitive)},{name:no.exact(\"letter-spacing\",no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/400|normal/,no.caseInsensitive)},{name:no.exact(\"orphans\",no.caseInsensitive)},{name:no.exact(\"text-decoration\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"text-size-adjust\",no.caseInsensitive)},{name:no.exact(\"text-indent\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-transform\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"widows\",no.caseInsensitive)},{name:no.exact(\"word-spacing\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-align\",no.caseInsensitive),value:no.pattern(/start|end/,no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/700|bold/,no.caseInsensitive),condition:e=>/^h\\d$/.test(ke(e))}]}),ka=(()=>{const e=(e,t)=>n=>e(n).filter((e=>Ie(n)&&t(rs(e)||\"\",\" \"))).isSome(),t=e(Ut,V),n=e(Bt,$);return So({tags:[{name:no.exact(\"span\",no.caseInsensitive),condition:Gs(\"Apple-converted-space\"),mutate:e=>{\"\\xa0\"===rs(e)&&(t(e)||n(e)?yn(e):(cn(e,De.fromText(\" \")),vn(e)))}}]})})(),wa=(()=>{const e=/^file:\\/\\/\\/[^#]+(#[^#]+)$/;return So({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:t=>{const n=Tn(t,\"href\");return!!n&&e.test(n)},mutate:t=>{In(t,\"href\").each((n=>{Sn(t,\"href\",n.replace(e,\"$1\"))}))}}]})})(),Sa=ko({attributes:[{name:no.exact(\"href\",no.caseInsensitive),value:no.starts(\"file:///\",no.caseInsensitive)}]}),Ca=(()=>{const e=(e,t,n)=>({name:no.exact(e,no.caseInsensitive),condition:e=>An(e,t),mutate:e=>{In(e,t).each((r=>{Sn(e,n,r),On(e,t)}))}});return So({tags:[e(\"a\",\"data-ephox-href\",\"href\"),e(\"img\",\"data-ephox-src\",\"src\")]})})(),Ta=e=>{const t=[\"table\",\"thead\",\"tbody\",\"tfoot\",\"th\",\"tr\",\"td\",\"ul\",\"ol\",\"li\"],n=Kt(e,Ce),r=_(n,(e=>W(Ne(e),\"StartFragment\"))),o=_(n,(e=>W(Ne(e),\"EndFragment\")));r.each((n=>{o.each((r=>{let o=n;const s=[];let a=((e,t,n,r)=>{const o=tn(e,0,n,0);return De.fromDom(o.commonAncestorContainer)})(n,0,r);for(;void 0!==a&&!At(a,e);)T(t,ke(a))?o=a:s.push(a),a=Ft(a).getOrUndefined();O(s,yn),O(zt(o),vn)})),vn(n)})),o.each(vn)},Ia=So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]}),Aa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:ks({attrName:\"align\",styleName:\"text-align\",mapValue:p})}]}),Oa=(e,t)=>{return(n=e,qs.getOption(n)).exists((e=>0===t(e).length));var n},Ea=ko({tags:[{name:no.exact(\"font\",no.caseInsensitive),condition:e=>{const t=Ht(e),n=e=>e.replace(/[ \\r\\n\\uFEFF]+/g,\"\");return 0===t.length||M(t,(e=>Oa(e,n)))}}]}),La=e=>O(Ht(e),(e=>{Oa(e,G)&&vn(e)})),Na=So({tags:[{name:no.exact(\"ol\",no.caseInsensitive),mutate:La},{name:no.exact(\"ul\",no.caseInsensitive),mutate:La}]}),_a=wo({tags:[{name:no.pattern(/^([OVWXP]|U[0-9]+|ST[0-9]+):/i,no.caseInsensitive)}]}),Da=[Co([vs])],Pa=ko({attributes:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"table\")}]}),Ra=ko({attributes:[{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:ws}]}),Ma=So({tags:[{name:no.exact(\"table\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]}),ja=ko({styles:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"td\")},{name:no.exact(\"width\",no.caseInsensitive),condition:Ee(\"tr\")},{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"col\")}]}),Fa=ko({attributes:[{name:no.pattern(/^v:/,no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_toc\",no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_mso\",no.caseInsensitive)},{name:no.pattern(/^xmlns(:|$)/,no.caseInsensitive)},{name:no.exact(\"type\",no.caseInsensitive),condition:e=>\"ol\"===ke(e)||\"ul\"===ke(e)}]});wo({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:(\"li\",e=>Ft(e).exists((e=>\"li\"===ke(e)&&1===Ht(e).length)))}]}),So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]});const Ua=e=>{const t=[Aa,aa,ia],n=[Aa,ra,oa(e.cleanFilteredInlineElements),sa];return e.merge?t:n},Ba=e=>e.type===xs.Word?[gs]:[],za=e=>e.type===xs.Word?[_a,...Da,Fa]:[],Ha=e=>e.type===xs.GoogleDocs?[Ms]:[],Wa=e=>e.type!==xs.GoogleDocs||e.indentUseMargin?[]:[Rs],$a=(e,t)=>e.type===xs.GoogleDocs?[Ws,...Bs,...Fs,zs(t),$s,Vs,...Wa(e)]:[],Va=e=>e.type===xs.Html&&e.merge?[xa]:[],Ga=e=>e.type===xs.Word?[ja,Ma,Ra,Pa]:[];Nt([{bothErrors:[\"error1\",\"error2\"]},{firstError:[\"error1\",\"value2\"]},{secondError:[\"value1\",\"error2\"]},{bothValues:[\"value1\",\"value2\"]}]);const qa=(e,t)=>Ya(document.createElement(\"canvas\"),e,t),Ka=e=>{const t=qa(e.width,e.height);return Ja(t).drawImage(e,0,0),t},Ja=e=>e.getContext(\"2d\"),Ya=(e,t,n)=>(e.width=t,e.height=n,e),Xa=e=>e.naturalWidth||e.width,Za=e=>e.naturalHeight||e.height,Qa=e=>fetch(e).then((e=>e.ok?e.blob():Promise.reject(new Error(\"Error \"+e.status+\" downloading image\"))),(()=>Promise.reject((()=>{const e=new Error(\"No access to download image\");return e.code=18,e.name=\"SecurityError\",e})()))),ei=e=>{const t=e.split(\",\"),n=/data:([^;]+)/.exec(t[0]);if(!n)return k.none();const r=n[1],o=t[1],s=1024,a=atob(o),i=a.length,l=Math.ceil(i/s),c=new Array(l);for(let e=0;e<l;++e){const t=e*s,n=Math.min(t+s,i),r=new Array(n-t);for(let e=t,o=0;e<n;++o,++e)r[o]=a[e].charCodeAt(0);c[e]=new Uint8Array(r)}return k.some(new Blob(c,{type:r}))},ti=e=>new Promise(((t,n)=>{ei(e).fold((()=>{n(\"uri is not base64: \"+e)}),t)})),ni=(e,t,n)=>(t=t||\"image/png\",c(HTMLCanvasElement.prototype.toBlob)?new Promise(((r,o)=>{e.toBlob((e=>{e?r(e):o()}),t,n)})):ti(e.toDataURL(t,n))),ri=e=>(e=>{const t=URL.createObjectURL(e),n=new Image;return n.src=t,(e=>new Promise(((t,n)=>{const r=()=>{s(),t(e)},o=[Lr(e,\"load\",r),Lr(e,\"error\",(()=>{s(),n(\"Unable to load data from image: \"+e.dom.src)}))],s=()=>O(o,(e=>e.unbind()));e.dom.complete&&r()})))(De.fromDom(n)).then((e=>e.dom))})(e).then((e=>{si(e);const t=qa(Xa(e),Za(e));return Ja(t).drawImage(e,0,0),t})),oi=e=>new Promise((t=>{const n=new FileReader;n.onloadend=()=>{t(n.result)},n.readAsDataURL(e)})),si=e=>{URL.revokeObjectURL(e.src)},ai=(e,t,n)=>{const r=t.type,o=m(r),s=m(n),a=(t,n)=>e.then((e=>((e,t,n)=>(t=t||\"image/png\",e.toDataURL(t,n)))(e,t,n)));return{getType:o,toBlob:()=>Promise.resolve(t),toDataURL:s,toBase64:()=>n.split(\",\")[1],toAdjustedBlob:(t,n)=>e.then((e=>ni(e,t,n))),toAdjustedDataURL:a,toAdjustedBase64:(e,t)=>a(e,t).then((e=>e.split(\",\")[1])),toCanvas:()=>e.then(Ka)}},ii=(e,t)=>ni(e,t).then((t=>ai(Promise.resolve(e),t,e.toDataURL()))),li=(e,t,n)=>{const r=Xa(e),o=Za(e);let s=t/r,a=n/o,i=!1;(s<.5||s>2)&&(s=s<.5?.5:2,i=!0),(a<.5||a>2)&&(a=a<.5?.5:2,i=!0);const l=ci(e,s,a);return i?l.then((e=>li(e,t,n))):l},ci=(e,t,n)=>new Promise((r=>{const o=Xa(e),s=Za(e),a=Math.floor(o*t),i=Math.floor(s*n),l=qa(a,i);Ja(l).drawImage(e,0,0,o,s,0,0,a,i),r(l)})),ui=(e,t=2)=>{const n=Math.pow(10,t),r=Math.round(e*n);return Math.ceil(r/n)},di=(e,t,n,r,o)=>((e,t,n,r,o)=>e.toCanvas().then((s=>((e,t,n,r,o,s)=>{const a=qa(o,s);return Ja(a).drawImage(e,-n,-r),ii(a,t)})(s,e.getType(),t,n,r,o))))(e,t,n,r,o),hi=(e,t)=>((e,t)=>e.toCanvas().then((n=>((e,t,n)=>{const r=(n<0?360+n:n)*Math.PI/180,o=e.width,s=e.height,a=Math.sin(r),i=Math.cos(r),l=ui(Math.abs(o*i)+Math.abs(s*a)),c=ui(Math.abs(o*a)+Math.abs(s*i)),u=qa(l,c),d=Ja(u);return d.translate(l/2,c/2),d.rotate(r),d.drawImage(e,-o/2,-s/2),ii(u,t)})(n,e.getType(),t))))(e,t),mi=(e,t)=>((e,t)=>ai(ri(e),e,t))(e,t),pi=e=>(e=>(e=>{const t=e.src;return 0===t.indexOf(\"data:\")?ti(t):Qa(t)})(e).then((e=>(e=>oi(e).then((t=>ai(ri(e),e,t))))(e))))(e),fi=e=>e.toBlob(),gi=e=>e.toDataURL(),vi=e=>parseInt(e,10),yi=e=>e.isPx&&(e.cropWidth!==e.width||e.cropHeight!==e.height),bi=/rotate\\((\\d\\.\\d+)rad\\)/,xi=(e,t,n)=>pi(e.dom).then((e=>t=>((e,t,n)=>((e,t,n)=>e.toCanvas().then((r=>li(r,t,n).then((t=>ii(t,e.getType()))))))(e,t,n))(t,e.width,e.height))(t)).then(((e,t)=>n=>{if(yi(t)){const r=-1*vi(Hn(e,\"margin-top\")),o=-1*vi(Hn(e,\"margin-left\"));return di(n,o,r,t.cropWidth,t.cropHeight).then((n=>(Cn(e,{width:t.cropWidth,height:t.cropHeight}),n)))}return Promise.resolve(n)})(e,t)).then(((e,t)=>n=>(e=>{const t=Hn(e,\"transform\");return k.from(bi.exec(t)).map((e=>Math.round(parseFloat(e[1])*(180/Math.PI))))})(t).fold((()=>Promise.resolve(n)),(r=>hi(n,r).then((n=>(Gn(t,\"transform\"),On(e,\"width\"),On(e,\"height\"),n))))))(e,n)).then((t=>{const n=gi(t);return Sn(e,\"src\",n),Promise.resolve()})),ki=e=>Ft(e).filter(Ee(\"span\")).map((t=>{const n=()=>((e,t)=>{var n,r,o;Gn(e,\"margin-top\"),Gn(e,\"margin-left\"),Gn(t,\"width\"),Gn(t,\"height\"),Gn(t,\"overflow\"),Gn(t,\"display\"),r=e,o=[\"transform\"],Te(n=t)&&Te(r)&&O(o,(e=>{((e,t,n)=>{$n(e,n).each((e=>{$n(t,n).isNone()&&Bn(t,n,e)}))})(n,r,e)})),Gn(t,\"transform\")})(e,t),r=((e,t)=>{const n=(e,t)=>In(e,t).map(vi).filter((e=>!isNaN(e))).getOr(0),r=Hn(t,\"width\"),o=Hn(t,\"height\"),s=n(e,\"width\"),a=n(e,\"height\"),i=/^\\d+px$/;return{isPx:i.test(r)&&i.test(o),cropWidth:vi(r),cropHeight:vi(o),width:s,height:a}})(e,t);return(yi(r)||bi.test(Hn(t,\"transform\"))?xi(e,r,t):Promise.resolve()).then(n,n)})).getOrThunk((()=>Promise.resolve()));var wi=[\"body\",\"p\",\"div\",\"article\",\"aside\",\"figcaption\",\"figure\",\"footer\",\"header\",\"nav\",\"section\",\"ol\",\"ul\",\"li\",\"table\",\"thead\",\"tbody\",\"tfoot\",\"caption\",\"tr\",\"td\",\"th\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"blockquote\",\"pre\",\"address\"];const Si=(e,t)=>D(e,(e=>e.start===t)),Ci=(e,t,n=0)=>N(e,((e,n)=>t(n,e.len).fold(m(e),(t=>({len:t.finish,list:e.list.concat([t])})))),{len:n,list:[]}).list,Ti=(e,t,n)=>0===t.length?e:R(e,(e=>{const r=R(t,(t=>((e,t)=>t>=e.start&&t<=e.finish)(e,t)?[t-e.start]:[]));return r.length>0?((e,t,n)=>((e,t)=>A(e,(e=>({...e,start:e.start+t,finish:e.finish+t}))))(n(e,t),e.start))(e,r,n):[e]})),Ii=(e,t)=>{const n=R(t,(t=>{const n=((e,t)=>{const n=t.term(),r=[];let o=n.exec(e);for(;o;){const s=o.index+t.prefix(o),a=o[0].length-t.prefix(o)-t.suffix(o);r.push({start:s,finish:s+a}),n.lastIndex=s+a,o=n.exec(e)}return r})(e,t.pattern);return A(n,(e=>({...t,...e})))}));return(e=>{const t=(e=>F(e,((e,t)=>e.start-t.start)))(e);return N(t,((e,t)=>{const n=I(e,(e=>t.start>=e.start&&t.finish<=e.finish));return D(e,(e=>t.start===e.start)).fold((()=>n?e:[...e,t]),(n=>t.finish>e[n].finish?[...e.slice(0,n),t]:e))}),[])})(n)},Ai=(e,t,n)=>({element:e,start:t,finish:n}),Oi=Nt([{include:[\"item\"]},{excludeWith:[\"item\"]},{excludeWithout:[\"item\"]}]),Ei={include:Oi.include,excludeWith:Oi.excludeWith,excludeWithout:Oi.excludeWithout,cata:(e,t,n,r)=>e.fold(t,n,r)},Li=Nt([{boundary:[\"item\",\"universe\"]},{empty:[\"item\",\"universe\"]},{text:[\"item\",\"universe\"]},{nonEditable:[\"item\",\"universe\"]}]),Ni=b,_i=x,Di=m(0),Pi=m(1),Ri=e=>({...e,isBoundary:()=>e.fold(_i,Ni,Ni,Ni),toText:()=>e.fold(k.none,k.none,(e=>k.some(e)),k.none),is:t=>e.fold(Ni,Ni,((e,n)=>n.eq(e,t)),Ni),len:()=>e.fold(Di,Pi,((e,t)=>t.property().getText(e).length),Pi)}),Mi={text:h(Ri,Li.text),boundary:h(Ri,Li.boundary),empty:h(Ri,Li.empty),nonEditable:h(Ri,Li.empty),cata:(e,t,n,r,o)=>e.fold(t,n,r,o)},ji=m([]),Fi=(e,t,n)=>{if(e.property().isText(t))return[Mi.text(t,e)];if(e.property().isEmptyTag(t))return[Mi.empty(t,e)];if(e.property().isNonEditable(t))return[];if(e.property().isElement(t)){const r=e.property().children(t),o=e.property().isBoundary(t)?[Mi.boundary(t,e)]:[],s=void 0!==n&&n(t)?[]:R(r,(t=>Fi(e,t,n)));return o.concat(s).concat(o)}return[]},Ui=Fi,Bi=(e,t,n)=>{const r=((e,t)=>{const n=[];let r=[];return O(e,(e=>{const o=t(e);Ei.cata(o,(()=>{r.push(e)}),(()=>{r.length>0&&n.push(r),n.push([e]),r=[]}),(()=>{r.length>0&&n.push(r),r=[]}))})),r.length>0&&n.push(r),n})(R(t,(t=>Ui(e,t,n))),(e=>e.match({boundary:()=>Ei.excludeWithout(e),empty:()=>Ei.excludeWith(e),text:()=>Ei.include(e),nonEditable:()=>Ei.excludeWithout(e)})));return L(r,(e=>e.length>0))},zi=(e,t,n)=>{const r=R(n,(e=>[e.start,e.finish])),o=Ti(t,r,((t,n)=>((e,t,n)=>{const r=e.property().getText(t),o=L(((e,t)=>{if(0===t.length)return[e];const n=N(t,((t,n)=>{if(0===n)return t;const r=e.substring(t.prev,n);return{prev:n,values:t.values.concat([r])}}),{prev:0,values:[]}),r=t[t.length-1];return r<e.length?n.values.concat(e.substring(r)):n.values})(r,n),(e=>e.length>0));if(o.length<=1)return[Ai(t,0,r.length)];e.property().setText(t,o[0]);const s=Ci(o.slice(1),((t,n)=>{const r=e.create().text(t),o=Ai(r,n,n+t.length);return k.some(o)}),o[0].length),a=A(s,(e=>e.element));return e.insert().afterAll(t,a),[Ai(t,0,o[0].length)].concat(s)})(e,t.element,n)));return A(n,(t=>{const n=((e,t,n)=>{const r=Si(e,t),o=Si(e,n);return r.bind((t=>{const r=o.getOr(((e,t)=>e[e.length-1]&&e[e.length-1].finish===t?e.length+1:-1)(e,n));return r>-1?k.some(e.slice(t,r)):k.none()})).getOr([])})(o,t.start,t.finish),r=A(n,(e=>e.element)),s=A(r,e.property().getText).join(\"\");return{elements:r,word:t.word,exact:s}}))},Hi={up:m({selector:Qn,closest:er,predicate:Yn,all:(e,t)=>{const n=c(t)?t:b;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=De.fromDom(e);if(o.push(t),!0===n(t))break;r=e}return o}}),down:m({selector:Jt,predicate:Kt}),styles:m({get:Hn,getRaw:$n,set:Bn,remove:Gn}),attrs:m({get:Tn,set:Sn,remove:On,copyTo:(e,t)=>{const n=N(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{});Cn(t,n)}}),insert:m({before:cn,after:un,afterAll:pn,append:hn,appendAll:fn,prepend:dn,wrap:mn}),remove:m({unwrap:yn,remove:vn}),create:m({nu:De.fromTag,clone:e=>De.fromDom(e.dom.cloneNode(!1)),text:De.fromText}),query:m({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:Ut,nextSibling:Bt}),property:m({children:Ht,name:ke,parent:Ft,document:e=>Mt(e).dom,isText:Ie,isComment:Ce,isElement:Te,isSpecial:e=>{const t=ke(e);return T([\"script\",\"noscript\",\"iframe\",\"noframes\",\"noembed\",\"title\",\"style\",\"textarea\",\"xmp\"],t)},getLanguage:e=>Te(e)?In(e,\"lang\"):k.none(),getText:Ks,setText:(e,t)=>qs.set(e,t),isBoundary:e=>!!Te(e)&&(\"body\"===ke(e)||T(wi,ke(e))),isEmptyTag:e=>!!Te(e)&&T([\"br\",\"img\",\"hr\",\"input\"],ke(e)),isNonEditable:e=>Te(e)&&\"false\"===Tn(e,\"contenteditable\")}),eq:At,is:Ot},Wi=/(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g.source,$i=e=>{return((e,t,n)=>((e,t,n,r)=>{const o=Bi(e,t,r),s=R(o,(t=>{const r=R(t,(e=>e.fold(ji,ji,(e=>[e]),ji))),o=A(r,e.property().getText).join(\"\"),s=Ii(o,n),a=((e,t)=>Ci(t,((t,n)=>{const r=n+e.property().getText(t).length;return k.from(Ai(t,n,r))})))(e,r);return zi(e,a,s)}));return s})(Hi,e,t,void 0))(e,[{word:\"__INTERNAL__\",pattern:(t=Wi,((e,t,n,r)=>({term:()=>new RegExp(e,r.getOr(\"g\")),prefix:t,suffix:n}))(t,m(0),m(0),k.none()))}]);var t},Vi=e=>!er(e,\"a\",undefined).isSome(),Gi=(e,t)=>{const n=$i(e);O(n,(e=>{const n=e.exact;if(n.indexOf(\"@\")<0||qi(n)){const r=W(n,\"://\")?n:`${t.defaultProtocol}://${n}`;((e,t)=>{k.from(e[0]).filter(Vi).map((n=>{const r=De.fromTag(\"a\");return cn(n,r),fn(r,e),Sn(r,\"href\",t),r}))})(e.elements,r)}}))},qi=e=>{const t=e.indexOf(\"://\");return t>=3&&t<=9},Ki=(e,t)=>{O(e,(e=>{Te(e)&&$n(e,\"position\").isSome()&&Gn(e,\"position\")}))},Ji=(e,t)=>{const n=L(e,Ee(\"li\"));if(n.length>0){const t=zt(n[0]),r=De.fromTag(\"ul\");if(cn(e[0],r),t.length>0){const e=De.fromTag(\"li\");hn(r,e),fn(e,t)}fn(r,n)}},Yi=(e,t)=>{const n=Ht(e);O([Gi,Ki,Ji],(e=>{e(n,t)}))},Xi={disabled:()=>({discriminator:\"disabled\",data:{}}),fromClipboard:e=>({discriminator:\"fromClipboard\",data:{rtf:e}})},Zi=Pe(Xi),Qi=Xi.disabled,el=Xi.fromClipboard,tl=e=>void 0!==e&&void 0!==e.types&&null!==e.types,nl=(e,t)=>{const n=new RegExp(t,\"i\");return B(e,(e=>Mn(null!==n.exec(e),{type:e,flavor:t})))};function rl(e){return rl=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},rl(e)}function ol(e,t){return ol=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ol(e,t)}function sl(e,t,n){return sl=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ol(o,n.prototype),o},sl.apply(null,arguments)}function al(e){return function(e){if(Array.isArray(e))return il(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return il(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?il(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function il(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ll=Object.hasOwnProperty,cl=Object.setPrototypeOf,ul=Object.isFrozen,dl=Object.getPrototypeOf,hl=Object.getOwnPropertyDescriptor,ml=Object.freeze,pl=Object.seal,fl=Object.create,gl=\"undefined\"!=typeof Reflect&&Reflect,vl=gl.apply,yl=gl.construct;vl||(vl=function(e,t,n){return e.apply(t,n)}),ml||(ml=function(e){return e}),pl||(pl=function(e){return e}),yl||(yl=function(e,t){return sl(e,al(t))});var bl,xl=Nl(Array.prototype.forEach),kl=Nl(Array.prototype.pop),wl=Nl(Array.prototype.push),Sl=Nl(String.prototype.toLowerCase),Cl=Nl(String.prototype.toString),Tl=Nl(String.prototype.match),Il=Nl(String.prototype.replace),Al=Nl(String.prototype.indexOf),Ol=Nl(String.prototype.trim),El=Nl(RegExp.prototype.test),Ll=(bl=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return yl(bl,t)});function Nl(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return vl(e,t,r)}}function _l(e,t,n){var r;n=null!==(r=n)&&void 0!==r?r:Sl,cl&&cl(e,null);for(var o=t.length;o--;){var s=t[o];if(\"string\"==typeof s){var a=n(s);a!==s&&(ul(t)||(t[o]=a),s=a)}e[s]=!0}return e}function Dl(e){var t,n=fl(null);for(t in e)!0===vl(ll,e,[t])&&(n[t]=e[t]);return n}function Pl(e,t){for(;null!==e;){var n=hl(e,t);if(n){if(n.get)return Nl(n.get);if(\"function\"==typeof n.value)return Nl(n.value)}e=dl(e)}return function(e){return console.warn(\"fallback value for\",e),null}}var Rl=ml([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),Ml=ml([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),jl=ml([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),Fl=ml([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"fedropshadow\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),Ul=ml([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\"]),Bl=ml([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),zl=ml([\"#text\"]),Hl=ml([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"xmlns\",\"slot\"]),Wl=ml([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),$l=ml([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Vl=ml([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),Gl=pl(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),ql=pl(/<%[\\w\\W]*|[\\w\\W]*%>/gm),Kl=pl(/\\${[\\w\\W]*}/gm),Jl=pl(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),Yl=pl(/^aria-[\\-\\w]+$/),Xl=pl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Zl=pl(/^(?:\\w+script|data):/i),Ql=pl(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),ec=pl(/^html$/i),tc=function(){return\"undefined\"==typeof window?null:window},nc=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:tc(),n=function(t){return e(t)};if(n.version=\"2.4.7\",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,o=t.document,s=t.DocumentFragment,a=t.HTMLTemplateElement,i=t.Node,l=t.Element,c=t.NodeFilter,u=t.NamedNodeMap,d=void 0===u?t.NamedNodeMap||t.MozNamedAttrMap:u,h=t.HTMLFormElement,m=t.DOMParser,p=t.trustedTypes,f=l.prototype,g=Pl(f,\"cloneNode\"),v=Pl(f,\"nextSibling\"),y=Pl(f,\"childNodes\"),b=Pl(f,\"parentNode\");if(\"function\"==typeof a){var x=o.createElement(\"template\");x.content&&x.content.ownerDocument&&(o=x.content.ownerDocument)}var k=function(e,t){if(\"object\"!==rl(e)||\"function\"!=typeof e.createPolicy)return null;var n=null,r=\"data-tt-policy-suffix\";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var o=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(o,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn(\"TrustedTypes policy \"+o+\" could not be created.\"),null}}(p,r),w=k?k.createHTML(\"\"):\"\",S=o,C=S.implementation,T=S.createNodeIterator,I=S.createDocumentFragment,A=S.getElementsByTagName,O=r.importNode,E={};try{E=Dl(o).documentMode?o.documentMode:{}}catch(e){}var L={};n.isSupported=\"function\"==typeof b&&C&&void 0!==C.createHTMLDocument&&9!==E;var N,_,D=Gl,P=ql,R=Kl,M=Jl,j=Yl,F=Zl,U=Ql,B=Xl,z=null,H=_l({},[].concat(al(Rl),al(Ml),al(jl),al(Ul),al(zl))),W=null,$=_l({},[].concat(al(Hl),al(Wl),al($l),al(Vl))),V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),G=null,q=null,K=!0,J=!0,Y=!1,X=!0,Z=!1,Q=!1,ee=!1,te=!1,ne=!1,re=!1,oe=!1,se=!0,ae=!1,ie=!0,le=!1,ce={},ue=null,de=_l({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]),he=null,me=_l({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]),pe=null,fe=_l({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),ge=\"http://www.w3.org/1998/Math/MathML\",ve=\"http://www.w3.org/2000/svg\",ye=\"http://www.w3.org/1999/xhtml\",be=ye,xe=!1,ke=null,we=_l({},[ge,ve,ye],Cl),Se=[\"application/xhtml+xml\",\"text/html\"],Ce=null,Te=o.createElement(\"form\"),Ie=function(e){return e instanceof RegExp||e instanceof Function},Ae=function(e){Ce&&Ce===e||(e&&\"object\"===rl(e)||(e={}),e=Dl(e),N=N=-1===Se.indexOf(e.PARSER_MEDIA_TYPE)?\"text/html\":e.PARSER_MEDIA_TYPE,_=\"application/xhtml+xml\"===N?Cl:Sl,z=\"ALLOWED_TAGS\"in e?_l({},e.ALLOWED_TAGS,_):H,W=\"ALLOWED_ATTR\"in e?_l({},e.ALLOWED_ATTR,_):$,ke=\"ALLOWED_NAMESPACES\"in e?_l({},e.ALLOWED_NAMESPACES,Cl):we,pe=\"ADD_URI_SAFE_ATTR\"in e?_l(Dl(fe),e.ADD_URI_SAFE_ATTR,_):fe,he=\"ADD_DATA_URI_TAGS\"in e?_l(Dl(me),e.ADD_DATA_URI_TAGS,_):me,ue=\"FORBID_CONTENTS\"in e?_l({},e.FORBID_CONTENTS,_):de,G=\"FORBID_TAGS\"in e?_l({},e.FORBID_TAGS,_):{},q=\"FORBID_ATTR\"in e?_l({},e.FORBID_ATTR,_):{},ce=\"USE_PROFILES\"in e&&e.USE_PROFILES,K=!1!==e.ALLOW_ARIA_ATTR,J=!1!==e.ALLOW_DATA_ATTR,Y=e.ALLOW_UNKNOWN_PROTOCOLS||!1,X=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Z=e.SAFE_FOR_TEMPLATES||!1,Q=e.WHOLE_DOCUMENT||!1,ne=e.RETURN_DOM||!1,re=e.RETURN_DOM_FRAGMENT||!1,oe=e.RETURN_TRUSTED_TYPE||!1,te=e.FORCE_BODY||!1,se=!1!==e.SANITIZE_DOM,ae=e.SANITIZE_NAMED_PROPS||!1,ie=!1!==e.KEEP_CONTENT,le=e.IN_PLACE||!1,B=e.ALLOWED_URI_REGEXP||B,be=e.NAMESPACE||ye,V=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Z&&(J=!1),re&&(ne=!0),ce&&(z=_l({},al(zl)),W=[],!0===ce.html&&(_l(z,Rl),_l(W,Hl)),!0===ce.svg&&(_l(z,Ml),_l(W,Wl),_l(W,Vl)),!0===ce.svgFilters&&(_l(z,jl),_l(W,Wl),_l(W,Vl)),!0===ce.mathMl&&(_l(z,Ul),_l(W,$l),_l(W,Vl))),e.ADD_TAGS&&(z===H&&(z=Dl(z)),_l(z,e.ADD_TAGS,_)),e.ADD_ATTR&&(W===$&&(W=Dl(W)),_l(W,e.ADD_ATTR,_)),e.ADD_URI_SAFE_ATTR&&_l(pe,e.ADD_URI_SAFE_ATTR,_),e.FORBID_CONTENTS&&(ue===de&&(ue=Dl(ue)),_l(ue,e.FORBID_CONTENTS,_)),ie&&(z[\"#text\"]=!0),Q&&_l(z,[\"html\",\"head\",\"body\"]),z.table&&(_l(z,[\"tbody\"]),delete G.tbody),ml&&ml(e),Ce=e)},Oe=_l({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Ee=_l({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]),Le=_l({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),Ne=_l({},Ml);_l(Ne,jl),_l(Ne,Fl);var _e=_l({},Ul);_l(_e,Bl);var De=function(e){wl(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=w}catch(t){e.remove()}}},Pe=function(e,t){try{wl(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){wl(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),\"is\"===e&&!W[e])if(ne||re)try{De(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}},Re=function(e){var t,n;if(te)e=\"<remove><\/remove>\"+e;else{var r=Tl(e,/^[\\r\\n\\t ]+/);n=r&&r[0]}\"application/xhtml+xml\"===N&&be===ye&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><\/head><body>'+e+\"<\/body><\/html>\");var s=k?k.createHTML(e):e;if(be===ye)try{t=(new m).parseFromString(s,N)}catch(e){}if(!t||!t.documentElement){t=C.createDocument(be,\"template\",null);try{t.documentElement.innerHTML=xe?w:s}catch(e){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(o.createTextNode(n),a.childNodes[0]||null),be===ye?A.call(t,Q?\"html\":\"body\")[0]:Q?t.documentElement:a},Me=function(e){return T.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},je=function(e){return\"object\"===rl(i)?e instanceof i:e&&\"object\"===rl(e)&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName},Fe=function(e,t,r){L[e]&&xl(L[e],(function(e){e.call(n,t,r,Ce)}))},Ue=function(e){var t,r;if(Fe(\"beforeSanitizeElements\",e,null),(r=e)instanceof h&&(\"string\"!=typeof r.nodeName||\"string\"!=typeof r.textContent||\"function\"!=typeof r.removeChild||!(r.attributes instanceof d)||\"function\"!=typeof r.removeAttribute||\"function\"!=typeof r.setAttribute||\"string\"!=typeof r.namespaceURI||\"function\"!=typeof r.insertBefore||\"function\"!=typeof r.hasChildNodes))return De(e),!0;if(El(/[\\u0080-\\uFFFF]/,e.nodeName))return De(e),!0;var o=_(e.nodeName);if(Fe(\"uponSanitizeElement\",e,{tagName:o,allowedTags:z}),e.hasChildNodes()&&!je(e.firstElementChild)&&(!je(e.content)||!je(e.content.firstElementChild))&&El(/<[/\\w]/g,e.innerHTML)&&El(/<[/\\w]/g,e.textContent))return De(e),!0;if(\"select\"===o&&El(/<template/i,e.innerHTML))return De(e),!0;if(!z[o]||G[o]){if(!G[o]&&ze(o)){if(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,o))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(o))return!1}if(ie&&!ue[o]){var s=b(e)||e.parentNode,a=y(e)||e.childNodes;if(a&&s)for(var i=a.length-1;i>=0;--i)s.insertBefore(g(a[i],!0),v(e))}return De(e),!0}return e instanceof l&&!function(e){var t=b(e);t&&t.tagName||(t={namespaceURI:be,tagName:\"template\"});var n=Sl(e.tagName),r=Sl(t.tagName);return!!ke[e.namespaceURI]&&(e.namespaceURI===ve?t.namespaceURI===ye?\"svg\"===n:t.namespaceURI===ge?\"svg\"===n&&(\"annotation-xml\"===r||Oe[r]):Boolean(Ne[n]):e.namespaceURI===ge?t.namespaceURI===ye?\"math\"===n:t.namespaceURI===ve?\"math\"===n&&Ee[r]:Boolean(_e[n]):e.namespaceURI===ye?!(t.namespaceURI===ve&&!Ee[r])&&!(t.namespaceURI===ge&&!Oe[r])&&!_e[n]&&(Le[n]||!Ne[n]):!(\"application/xhtml+xml\"!==N||!ke[e.namespaceURI]))}(e)?(De(e),!0):\"noscript\"!==o&&\"noembed\"!==o&&\"noframes\"!==o||!El(/<\\/no(script|embed|frames)/i,e.innerHTML)?(Z&&3===e.nodeType&&(t=e.textContent,t=Il(t,D,\" \"),t=Il(t,P,\" \"),t=Il(t,R,\" \"),e.textContent!==t&&(wl(n.removed,{element:e.cloneNode()}),e.textContent=t)),Fe(\"afterSanitizeElements\",e,null),!1):(De(e),!0)},Be=function(e,t,n){if(se&&(\"id\"===t||\"name\"===t)&&(n in o||n in Te))return!1;if(J&&!q[t]&&El(M,t));else if(K&&El(j,t));else if(!W[t]||q[t]){if(!(ze(e)&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&El(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t))||\"is\"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,n)||V.tagNameCheck instanceof Function&&V.tagNameCheck(n))))return!1}else if(pe[t]);else if(El(B,Il(n,U,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==Al(n,\"data:\")||!he[e])if(Y&&!El(F,Il(n,U,\"\")));else if(n)return!1;return!0},ze=function(e){return e.indexOf(\"-\")>0},He=function(e){var t,r,o,s;Fe(\"beforeSanitizeAttributes\",e,null);var a=e.attributes;if(a){var i={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:W};for(s=a.length;s--;){var l=t=a[s],c=l.name,u=l.namespaceURI;if(r=\"value\"===c?t.value:Ol(t.value),o=_(c),i.attrName=o,i.attrValue=r,i.keepAttr=!0,i.forceKeepAttr=void 0,Fe(\"uponSanitizeAttribute\",e,i),r=i.attrValue,!i.forceKeepAttr&&(Pe(c,e),i.keepAttr))if(X||!El(/\\/>/i,r)){Z&&(r=Il(r,D,\" \"),r=Il(r,P,\" \"),r=Il(r,R,\" \"));var d=_(e.nodeName);if(Be(d,o,r)){if(!ae||\"id\"!==o&&\"name\"!==o||(Pe(c,e),r=\"user-content-\"+r),k&&\"object\"===rl(p)&&\"function\"==typeof p.getAttributeType)if(u);else switch(p.getAttributeType(d,o)){case\"TrustedHTML\":r=k.createHTML(r);break;case\"TrustedScriptURL\":r=k.createScriptURL(r)}try{u?e.setAttributeNS(u,c,r):e.setAttribute(c,r),kl(n.removed)}catch(e){}}}else Pe(c,e)}Fe(\"afterSanitizeAttributes\",e,null)}},We=function e(t){var n,r=Me(t);for(Fe(\"beforeSanitizeShadowDOM\",t,null);n=r.nextNode();)Fe(\"uponSanitizeShadowNode\",n,null),Ue(n)||(n.content instanceof s&&e(n.content),He(n));Fe(\"afterSanitizeShadowDOM\",t,null)};return n.sanitize=function(e){var o,a,l,c,u,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((xe=!e)&&(e=\"\\x3c!--\\x3e\"),\"string\"!=typeof e&&!je(e)){if(\"function\"!=typeof e.toString)throw Ll(\"toString is not a function\");if(\"string\"!=typeof(e=e.toString()))throw Ll(\"dirty is not a string, aborting\")}if(!n.isSupported){if(\"object\"===rl(t.toStaticHTML)||\"function\"==typeof t.toStaticHTML){if(\"string\"==typeof e)return t.toStaticHTML(e);if(je(e))return t.toStaticHTML(e.outerHTML)}return e}if(ee||Ae(d),n.removed=[],\"string\"==typeof e&&(le=!1),le){if(e.nodeName){var h=_(e.nodeName);if(!z[h]||G[h])throw Ll(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof i)1===(a=(o=Re(\"\\x3c!----\\x3e\")).ownerDocument.importNode(e,!0)).nodeType&&\"BODY\"===a.nodeName||\"HTML\"===a.nodeName?o=a:o.appendChild(a);else{if(!ne&&!Z&&!Q&&-1===e.indexOf(\"<\"))return k&&oe?k.createHTML(e):e;if(!(o=Re(e)))return ne?null:oe?w:\"\"}o&&te&&De(o.firstChild);for(var m=Me(le?e:o);l=m.nextNode();)3===l.nodeType&&l===c||Ue(l)||(l.content instanceof s&&We(l.content),He(l),c=l);if(c=null,le)return e;if(ne){if(re)for(u=I.call(o.ownerDocument);o.firstChild;)u.appendChild(o.firstChild);else u=o;return(W.shadowroot||W.shadowrootmod)&&(u=O.call(r,u,!0)),u}var p=Q?o.outerHTML:o.innerHTML;return Q&&z[\"!doctype\"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&El(ec,o.ownerDocument.doctype.name)&&(p=\"<!DOCTYPE \"+o.ownerDocument.doctype.name+\">\\n\"+p),Z&&(p=Il(p,D,\" \"),p=Il(p,P,\" \"),p=Il(p,R,\" \")),k&&oe?k.createHTML(p):p},n.setConfig=function(e){Ae(e),ee=!0},n.clearConfig=function(){Ce=null,ee=!1},n.isValidAttribute=function(e,t,n){Ce||Ae({});var r=_(e),o=_(t);return Be(r,o,n)},n.addHook=function(e,t){\"function\"==typeof t&&(L[e]=L[e]||[],wl(L[e],t))},n.removeHook=function(e){if(L[e])return kl(L[e])},n.removeHooks=function(e){L[e]&&(L[e]=[])},n.removeAllHooks=function(){L={}},n}();const rc=[\"script\",\"svg\"],oc=e=>-1!==e.lastIndexOf(\"<\/html>\"),sc=e=>({sanitizeHtml:(t,n)=>e(t)?t:((e,t)=>{nc.addHook(\"uponSanitizeElement\",((e,t)=>{T(rc,t.tagName)||ze(t.allowedTags,t.tagName)||(t.allowedTags[t.tagName]=!0)})),nc.addHook(\"uponSanitizeAttribute\",((e,t)=>{0===t.attrName.indexOf(\"on\")||ze(t.allowedAttributes,t.attrName)||(t.allowedAttributes[t.attrName]=!0),t.attrValue&&-1!==t.attrValue.indexOf(\"\\n\")&&(t.attrValue=t.attrValue.replace(/\\r?\\n/g,\"\"))}));const n=(e=>$(G(e),\"<!\"))(e),r=n?`<body>${e}<\/body>`:(e=>e.replace(/^[\\S\\s]*?(<!DOCTYPE|<html)/i,\"$1\"))(e),o=nc.sanitize(r,{ALLOW_UNKNOWN_PROTOCOLS:!0,FORBID_TAGS:rc,WHOLE_DOCUMENT:oc(e)});return nc.removeHook(\"uponSanitizeElement\"),nc.removeHook(\"uponSanitizeAttribute\"),n?(s=H(o,\"<body>\"),V(s,\"<\/body>\")?((e,t)=>e.substring(0,e.length-7))(s):s):o;var s})(t),sanitizeText:p}),ac={sanitizeHtml:p,sanitizeText:p},ic=e=>t=>({discriminator:e,data:t}),lc=e=>t=>t.discriminator===e?k.some(t.data):k.none(),cc=ic(\"event\"),uc=ic(\"html\"),dc=ic(\"images\"),hc=ic(\"word\"),mc=ic(\"text\"),pc=ic(\"void\"),fc=lc(\"html\"),gc=lc(\"images\"),vc=lc(\"word\"),yc=lc(\"text\"),bc=[\"^image/\",\"file\"],xc=e=>(e=>W(e,\"<html\")&&(W(e,'xmlns:o=\"urn:schemas-microsoft-com:office:office\"')||W(e,'xmlns:x=\"urn:schemas-microsoft-com:office:excel\"')))(e)||(e=>W(e,'meta name=\"ProgId\" content=\"Word.Document\"'))(e),kc=e=>W(e,'id=\"docs-internal-guid-'),wc=e=>e.length>0,Sc=(e,t)=>nl(e.types,t).map((t=>e.getData(t.type))).filter(wc),Cc=e=>Sc(e,\"html\"),Tc=e=>Cc(e).filter(kc),Ic=e=>k.from(e.clipboardData).filter(tl),Ac=e=>{const t=De.fromTag(\"div\"),n=((e,t)=>To(e,t,[Ta]))(Rt(t),e);return((e,t)=>{const n=Rt(e).dom,r=De.fromDom(n.createDocumentFragment()),o=Kn(t,n);fn(r,o),gn(e),hn(e,r)})(t,n),uc({container:t})},Oc={native:\"Outside of Textbox.io pasting HTML5 API (could be internal)\",fallback:\"Outside of Textbox.io pasting offscreen (could be internal)\",msoffice:\"Word Import pasting\",googledocs:\"Google Docs pasting\",image:\"Image pasting\",plaintext:\"Only plain text is available to paste\",text:\"Plain text pasting\",none:\"There is no valid way to paste\",discard:\"There is no valid way to paste, discarding content\"},Ec={getLabelForApi:e=>{const t=Pe(Oc);return _(t,(t=>Oc[t]===e)).fold(m(\"unknown\"),(e=>{switch(e){case\"native\":case\"fallback\":return\"html\";case\"none\":case\"discard\":return\"invalid\";default:return e}}))},...Oc},Lc=e=>A(e,(e=>e.asset)),Nc=(e,t,n)=>{const r=Ct({cancel:St([]),error:St([\"message\"]),insert:St([\"elements\",\"assets\",\"correlated\",\"isInternal\",\"source\",\"mode\"]),block:St([\"state\"])});let o=!1;r.registry.block.bind((e=>o=e.state));const s=(n,o)=>{r.trigger.block(!0);const s=((e,t,n)=>{const r=((e,t)=>B(e,(e=>e.getAvailable(t).map((t=>Kr(e.steps,t,e.label,e.capture()))))))(e,n);return r.getOrThunk((()=>{const e=t.getAvailable(n);return Kr(t.steps,e,t.label,t.capture())}))})(e,t,n);s.capture&&o();const a=((e,t)=>{const n={response:Fr([],[]),bundle:Wr({})},r=N(e,((e,n)=>qr(e)?e.then((e=>Yr(e,t,n))):Yr(e,t,n)),n);return qr(r)?r:Promise.resolve(r)})(s.steps,s.input),i=Ec.getLabelForApi(s.label);a.then((e=>{const t=e.bundle.isInternal.getOr(!1),n=e.bundle.officeStyles.fold(m(\"auto\"),(e=>e?\"merge\":\"clean\"));r.trigger.block(!1),Mr(e.response,(e=>{r.trigger.error(e)}),((e,o)=>{r.trigger.insert(e,Lc(o),o,t,i,n)}),(()=>{r.trigger.cancel()}),((e,o,s)=>{r.trigger.insert(e,Lc(o),o,t,i,n),r.trigger.error(s)}))}))};return{paste:e=>{const t=jt(De.fromDom(e.target));ln(t.dom).each((t=>{if(!Pn(t.start,sr())){const t=((e,t=ac)=>{const n=e=>{return void 0===e.items?k.none():(t=bc,n=e.types,B(t,(e=>nl(n,e)))).map((t=>{const n=[];for(let t=0;t<e.items.length;t++)n.push(e.items[t]);return dc({images:n})}));var t,n},r=e=>B(e.types,(n=>\"text/plain\"===n?k.some(e.getData(n)).map((e=>mc({text:t.sanitizeText(e)}))):k.none()));return{getWordData:()=>Ic(e).bind((e=>(e=>Cc(e).filter(xc))(e).map((t=>{const n=(e=>Sc(e,\"rtf\"))(e);return hc({html:t,rtf:n.fold((()=>Qi()),(e=>el(e)))})})))),getGoogleDocsData:()=>Ic(e).bind(Tc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:()=>Ic(e).bind(n),getText:()=>Ic(e).bind(r),getHtml:()=>Ic(e).bind(Cc).map(t.sanitizeHtml).map(Ac),getOnlyText:()=>Ic(e).bind((e=>{return 1===(t=e.types).length&&\"text/plain\"===t[0]?r(e):k.none();var t})),getNative:()=>cc({nativeEvent:e}),getVoid:()=>pc({})}})(e,n);s(t,(()=>{e.preventDefault()}))}}))},pasteCustom:(e,t=d)=>{s(e,t)},isBlocked:()=>o,destroy:d,events:r.registry}},_c=e=>oi(e);var Dc={cata:(e,t,n)=>e.fold(t,n),...Nt([{blob:[\"id\",\"imageresult\",\"objurl\"]},{url:[\"id\",\"url\",\"raw\"]}])};const Pc=e=>{const t=URL.createObjectURL(e);return Rc(e,t)},Rc=(e,t)=>_c(e).then((n=>{const r=mi(e,n),o=kn(\"image\");return Dc.blob(o,r,t)})),Mc=e=>Promise.all(A(e,Pc)),jc=(e,t)=>({asset:e,image:t}),Fc=(e,t)=>Dc.cata(e,((e,n,r)=>(Sn(t,\"src\",r),!0)),b),Uc=(e,t)=>{const n=[];return O(e,((e,r)=>{const o=t[r];Fc(e,o)&&n.push(jc(e,o))})),n},Bc=(e,t)=>({asyncAsset:e.then(Ir.value,Ir.error),image:t}),zc=e=>{const t=De.fromTag(\"div\");return fn(t,e),Jt(t,\"img[src]\")},Hc=e=>0===e.indexOf(\"data:\")&&e.indexOf(\"base64\")>-1,Wc=e=>0===e.indexOf(\"blob:\"),$c=e=>In(e,\"src\").exists((e=>Hc(e)||Wc(e))),Vc=e=>R(zc(e),(e=>{const t=In(e,\"src\").getOr(\"\");return Hc(t)?((e,t)=>{return(n=t,ei(n)).map((t=>Bc(Pc(t),e)));var n})(e,t).toArray():Wc(t)?((e,t)=>{return(n=t,k.from(0===(r=n).indexOf(\"blob:\")?Qa(r):0===r.indexOf(\"data:\")?ti(r):null)).map((t=>{const n=t.then(Pc);return Bc(n,e)}));var n,r})(e,t).toArray():[]})),Gc=e=>{const t=L(e,(e=>!Ee(\"img\")(e)||!$c(e)));return Br(t,[],\"errors.local.images.disallowed\")};var qc=e=>(t,n)=>{const r=()=>Promise.resolve(n),o=(t,o)=>!1===e.allowLocalImages?(e=>{const t=L(zc(e),$c);return O(t,vn),Promise.resolve({response:t.length>0?Gc(e):n.response,bundle:n.bundle})})(t):0===o.length?(e=>{const t=Vc(e),r=Promise.all(A(t,(e=>e.asyncAsset))),o=A(t,(e=>e.image));return r.then((t=>{const r=(e=>{const t=[],n=[];return O(e,(e=>{e.fold((e=>{t.push(e)}),(e=>{n.push(e)}))})),{errors:t,values:n}})(t),s=Uc(r.values,o);return{response:r.errors.length>0?Br(e,s,\"errors.imageimport.failed\"):Fr(e,s),bundle:n.bundle}}))})(t):r();return Mr(n.response,Vr,o,r,o)};const Kc=(e,t,n=!1)=>fetch(e,{credentials:n?\"include\":\"same-origin\",headers:t}).then((async e=>{const t=await e.blob();return{ok:e.ok,status:e.status,blob:t}}),(()=>({ok:!1,status:0}))),Jc=[{code:404,message:\"Could not find Image Proxy\"},{code:403,message:\"Rejected request\"},{code:0,message:\"Incorrect Image Proxy URL\"}],Yc=[{type:\"not_found\",message:\"Failed to load image.\"},{type:\"key_missing\",message:\"The request did not include an api key.\"},{type:\"key_not_found\",message:\"The provided api key could not be found.\"},{type:\"domain_not_trusted\",message:\"The api key is not valid for the request origins.\"}],Xc=e=>{const t=(e=>{const t=_(Jc,(t=>e===t.code)).fold(m(\"Unknown ImageProxy error\"),(e=>e.message));return\"ImageProxy HTTP error: \"+t})(e);return Promise.reject(t)},Zc=e=>_(Yc,(t=>t.type===e)).fold(m(\"Unknown service error\"),(e=>e.message)),Qc=e=>(e=>new Promise(((t,n)=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=e=>{n(e)},r.readAsText(e)})))(e).then((e=>{const t=(e=>{const t=(e=>{try{return k.some(JSON.parse(e))}catch(e){return k.none()}})(e),n=t.bind((e=>((e,t)=>{const n=N([\"error\",\"type\"],((e,t)=>l(e)?e[t]:void 0),e);return k.from(n)})(e).map(Zc))).getOr(\"Invalid JSON in service error message\");return\"ImageProxy Service error: \"+n})(e);return Promise.reject(t)})),eu=(e,t,n=!0)=>t?((e,t)=>{const n={\"Content-Type\":\"application/json;charset=UTF-8\",\"tiny-api-key\":t};return Kc(((e,t)=>{const n=-1===e.indexOf(\"?\")?\"?\":\"&\";return/[?&]apiKey=/.test(e)?e:e+n+\"apiKey=\"+encodeURIComponent(t)})(e,t),n).then((e=>{return e.ok?Promise.resolve(e.blob):((e,t)=>\"application/json\"===(null==t?void 0:t.type)&&(400===e||403===e||404===e||500===e))(t=e.status,n=e.blob)?Qc(n):Xc(t);var t,n}))})(e,t):((e,t)=>Kc(e,{},t).then((e=>e.ok?Promise.resolve(e.blob):Xc(e.status))))(e,n),tu=/^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,nu=/^(?:(?![^:@\\/]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,ru=/(?:^|&)([^&=]+)=?([^&]*)/g,ou=e=>{const t={};for(;;){const n=ru.exec(e);if(null===n)return t;t[n[1]]=n[2]}},su=(e,t)=>{const n=()=>Promise.resolve({response:t.response,bundle:t.bundle}),r=e=>_c(e).then((t=>{const n=kn(\"image\"),r=mi(e,t),o=URL.createObjectURL(e);return Dc.blob(n,r,o)})),o=(e,t)=>Dc.url(kn(\"image\"),t,e),s=(e,n)=>{let s=!1;const a=R(e,(e=>Jt(e,\"img\")));return Promise.all(A(a,(e=>{const t=e.dom.src;return(e=>{const t=((e,t={})=>{var n;return((e,t)=>{const n=(t?tu:nu).exec(e),r=j([\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"],((e,t)=>{var r;return null!==(r=n[t])&&void 0!==r?r:\"\"}));return{...r,queryKey:ou(r.query)}})(e,null!==(n=t.strictMode)&&void 0!==n&&n)})(e);return W(t.host,\"google\")&&!$(t.path,\"/drawings/\")})(t)?eu(e.dom.src,void 0,!0).then(r,(()=>(s=!0,o(e,t)))):o(e,t)}))).then((r=>{const o=n.concat(Uc(r,a));return{response:s?Br(e,o,\"errors.imageimport.failed\"):Fr(e,o),bundle:t.bundle}}),(()=>({response:jr(\"errors.imageimport.invalid\"),bundle:t.bundle})))};return Mr(t.response,n,s,n,s)},au=e=>{const t=cu(e);return t&&iu(e)||!t&&lu(e)},iu=e=>e.officeStyles.getOr(!0),lu=e=>e.htmlStyles.getOr(!1),cu=e=>e.isWord.getOr(!1),uu=e=>e.isInternal.getOr(!1),du=e=>cu(e)?xs.Word:(e=>e.isGoogleDocs.getOr(!1))(e)?xs.GoogleDocs:xs.Html,hu=(e,t)=>{const n=((e,t)=>{const n=t.translations,r=e=>k.some(Xr(t,{officeStyles:e,gdocsStyles:e,htmlStyles:e}));return{get:o=>{const s=(e=>{switch(e){case xs.Word:return\"officeStyles\";case xs.GoogleDocs:return\"gdocsStyles\";default:return\"htmlStyles\"}})(o),a=t[s];return c(a)?a().then((e=>r(\"merge\"===e)),(e=>(console.error(e),r(!1)))):\"clean\"===a?Promise.resolve(r(!1)):\"merge\"===a?Promise.resolve(r(!0)):new Promise((t=>{const o=De.fromTag(\"div\");_n(o,pr(\"styles-dialog-content\"));const s=De.fromTag(\"p\"),a=Kn(n(\"cement.dialog.paste.instructions\"));fn(s,a),hn(o,s);const i={text:n(\"cement.dialog.paste.clean\"),tabindex:0,className:pr(\"clean-styles\"),click:()=>{c(),t(r(!1))}},l={text:n(\"cement.dialog.paste.merge\"),tabindex:1,className:pr(\"merge-styles\"),click:()=>{c(),t(r(!0))}},c=()=>{u.destroy()},u=e();u.setTitle(n(\"cement.dialog.paste.title\")),u.setContent(o),u.setButtons([i,l]),u.events.close.bind((()=>{c(),t(k.none())})),u.show()}))},destroy:d}})(e,t);return(e,t)=>{const r=t.bundle,o=t.response;return n.get(du(r)).then((e=>e.fold((()=>({response:Ur(),bundle:t.bundle})),(e=>({response:o,bundle:Wr({officeStyles:e.officeStyles,gdocsStyles:e.gdocsStyles,htmlStyles:e.htmlStyles})})))))}},mu=(e,t)=>(n,r)=>uu(r.bundle)?(e=>Promise.resolve({response:r.response,bundle:Wr({officeStyles:e,gdocsStyles:e,htmlStyles:e})}))(!0):hu(e,t)(n,r),pu=(e,t)=>{if(!qt(e))throw new Error(\"Internal error: attempted to write to an iframe that is not in the DOM\");const n=(e=>(e=>{const t=e.dom;try{return((e,t)=>null!=e?k.some(t(e)):k.none())(t.contentWindow?t.contentWindow.document:t.contentDocument,De.fromDom)}catch(e){return console.log(\"Error reading iframe: \",t),console.log(\"Error was: \"+e),k.none()}})(e).getOrThunk((()=>Rt(e))))(e),r=n.dom;r.open(\"text/html\",\"replace\"),r.write(t),r.close()};var fu=Object.create,gu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,yu=Object.getOwnPropertyNames,bu=Object.getPrototypeOf,xu=Object.prototype.hasOwnProperty,ku=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),wu=(e,t)=>{for(var n in t)gu(e,n,{get:t[n],enumerable:!0})},Su=ku((e=>{var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");e.encode=function(e){if(0<=e&&e<t.length)return t[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},e.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}})),Cu=ku((e=>{var t=Su();e.encode=function(e){var n,r,o=\"\",s=(r=e)<0?1+(-r<<1):0+(r<<1);do{n=31&s,(s>>>=5)>0&&(n|=32),o+=t.encode(n)}while(s>0);return o},e.decode=function(e,n,r){var o,s,a=e.length,i=0,l=0;do{if(n>=a)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(s=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&s),i+=(s&=31)<<l,l+=5}while(o);r.value=function(e){var t=e>>1;return 1==(1&e)?-t:t}(i),r.rest=n}})),Tu=ku((e=>{e.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\"'+t+'\" is a required argument.')};var t=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function r(e){var n=e.match(t);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function o(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}e.urlParse=r,e.urlGenerate=o;var s=function(t){var n=[];return function(t){for(var s=0;s<n.length;s++)if(n[s].input===t){var a=n[0];return n[0]=n[s],n[s]=a,n[0].result}var i=function(t){var n=t,s=r(t);if(s){if(!s.path)return t;n=s.path}for(var a=e.isAbsolute(n),i=[],l=0,c=0;;){if(l=c,-1===(c=n.indexOf(\"/\",l))){i.push(n.slice(l));break}for(i.push(n.slice(l,c));c<n.length&&\"/\"===n[c];)c++}var u,d=0;for(c=i.length-1;c>=0;c--)\".\"===(u=i[c])?i.splice(c,1):\"..\"===u?d++:d>0&&(\"\"===u?(i.splice(c+1,d),d=0):(i.splice(c,2),d--));return\"\"===(n=i.join(\"/\"))&&(n=a?\"/\":\".\"),s?(s.path=n,o(s)):n}(t);return n.unshift({input:t,result:i}),n.length>32&&n.pop(),i}}();function a(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var a=r(t),i=r(e);if(i&&(e=i.path||\"/\"),a&&!a.scheme)return i&&(a.scheme=i.scheme),o(a);if(a||t.match(n))return t;if(i&&!i.host&&!i.path)return i.host=t,o(i);var l=\"/\"===t.charAt(0)?t:s(e.replace(/\\/+$/,\"\")+\"/\"+t);return i?(i.path=l,o(i)):l}e.normalize=s,e.join=a,e.isAbsolute=function(e){return\"/\"===e.charAt(0)||t.test(e)},e.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var n=0;0!==t.indexOf(e+\"/\");){var r=e.lastIndexOf(\"/\");if(r<0||(e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++n}return Array(n+1).join(\"../\")+t.substr(e.length+1)};var i=!(\"__proto__\"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9||95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=i?l:function(e){return c(e)?\"$\"+e:e},e.fromSetString=i?l:function(e){return c(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,n){var r=u(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByOriginalPositionsNoSource=function(e,t,n){var r;return 0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflatedNoLine=function(e,t,n){var r=e.generatedColumn-t.generatedColumn;return 0!==r||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=u(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},e.computeSourceURL=function(e,t,n){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),n){var i=r(n);if(!i)throw new Error(\"sourceMapURL could not be parsed\");if(i.path){var l=i.path.lastIndexOf(\"/\");l>=0&&(i.path=i.path.substring(0,l+1))}t=a(o(i),t)}return s(t)}})),Iu=ku((e=>{var t=Tu(),n=Object.prototype.hasOwnProperty,r=typeof Map<\"u\";function o(){this._array=[],this._set=r?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,s=e.length;r<s;r++)n.add(e[r],t);return n},o.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(e,o){var s=r?e:t.toSetString(e),a=r?this.has(e):n.call(this._set,s),i=this._array.length;(!a||o)&&this._array.push(e),a||(r?this._set.set(e,i):this._set[s]=i)},o.prototype.has=function(e){if(r)return this._set.has(e);var o=t.toSetString(e);return n.call(this._set,o)},o.prototype.indexOf=function(e){if(r){var o=this._set.get(e);if(o>=0)return o}else{var s=t.toSetString(e);if(n.call(this._set,s))return this._set[s]}throw new Error('\"'+e+'\" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},o.prototype.toArray=function(){return this._array.slice()},e.ArraySet=o})),Au=ku((e=>{var t=Tu();function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){!function(e,n){var r=e.generatedLine,o=n.generatedLine,s=e.generatedColumn,a=n.generatedColumn;return o>r||o==r&&a>=s||t.compareByGeneratedPositionsInflated(e,n)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=n})),Ou=ku((e=>{var t=Cu(),n=Tu(),r=Iu().ArraySet,o=Au().MappingList;function s(e){e||(e={}),this._file=n.getArg(e,\"file\",null),this._sourceRoot=n.getArg(e,\"sourceRoot\",null),this._skipValidation=n.getArg(e,\"skipValidation\",!1),this._sources=new r,this._names=new r,this._mappings=new o,this._sourcesContents=null}s.prototype._version=3,s.fromSourceMap=function(e){var t=e.sourceRoot,r=new s({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var o={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(o.source=e.source,null!=t&&(o.source=n.relative(t,o.source)),o.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(o.name=e.name)),r.addMapping(o)})),e.sources.forEach((function(o){var s=o;null!==t&&(s=n.relative(t,o)),r._sources.has(s)||r._sources.add(s);var a=e.sourceContentFor(o);null!=a&&r.setSourceContent(o,a)})),r},s.prototype.addMapping=function(e){var t=n.getArg(e,\"generated\"),r=n.getArg(e,\"original\",null),o=n.getArg(e,\"source\",null),s=n.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,o,s),null!=o&&(o=String(o),this._sources.has(o)||this._sources.add(o)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:o,name:s})},s.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=n.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(e,t,o){var s=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');s=e.file}var a=this._sourceRoot;null!=a&&(s=n.relative(a,s));var i=new r,l=new r;this._mappings.unsortedForEach((function(t){if(t.source===s&&null!=t.originalLine){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=o&&(t.source=n.join(o,t.source)),null!=a&&(t.source=n.relative(a,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}var c=t.source;null!=c&&!i.has(c)&&i.add(c);var u=t.name;null!=u&&!l.has(u)&&l.add(u)}),this),this._sources=i,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=o&&(t=n.join(o,t)),null!=a&&(t=n.relative(a,t)),this.setSourceContent(t,r))}),this)},s.prototype._validateMapping=function(e,t,n,r){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if(!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||n||r){if(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n)return;throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:n,original:t,name:r}))}},s.prototype._serializeMappings=function(){for(var e,r,o,s,a=0,i=1,l=0,c=0,u=0,d=0,h=\"\",m=this._mappings.toArray(),p=0,f=m.length;p<f;p++){if(e=\"\",(r=m[p]).generatedLine!==i)for(a=0;r.generatedLine!==i;)e+=\";\",i++;else if(p>0){if(!n.compareByGeneratedPositionsInflated(r,m[p-1]))continue;e+=\",\"}e+=t.encode(r.generatedColumn-a),a=r.generatedColumn,null!=r.source&&(s=this._sources.indexOf(r.source),e+=t.encode(s-d),d=s,e+=t.encode(r.originalLine-1-c),c=r.originalLine-1,e+=t.encode(r.originalColumn-l),l=r.originalColumn,null!=r.name&&(o=this._names.indexOf(r.name),e+=t.encode(o-u),u=o)),h+=e}return h},s.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=n.relative(t,e));var r=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=s}));function Eu(e){return e>=48&&e<=57}function Lu(e){return Eu(e)||e>=65&&e<=70||e>=97&&e<=102}function Nu(e){return e>=65&&e<=90}function _u(e){return function(e){return Nu(e)||function(e){return e>=97&&e<=122}(e)}(e)||function(e){return e>=128}(e)||95===e}function Du(e){return _u(e)||Eu(e)||45===e}function Pu(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function Ru(e){return 10===e||13===e||12===e}function Mu(e){return Ru(e)||32===e||9===e}function ju(e,t){return!(92!==e||Ru(t)||0===t)}function Fu(e,t,n){return 45===e?_u(t)||45===t||ju(t,n):!!_u(e)||92===e&&ju(e,t)}function Uu(e,t,n){return 43===e||45===e?Eu(t)?2:46===t&&Eu(n)?3:0:46===e?Eu(t)?2:0:Eu(e)?1:0}function Bu(e){return 65279===e||65534===e?1:0}var zu=new Array(128),Hu=130,Wu=131,$u=132,Vu=133;for(let e=0;e<zu.length;e++)zu[e]=Mu(e)&&Hu||Eu(e)&&Wu||_u(e)&&$u||Pu(e)&&Vu||e||128;function Gu(e){return e<128?zu[e]:$u}function qu(e,t){return t<e.length?e.charCodeAt(t):0}function Ku(e,t,n){return 13===n&&10===qu(e,t+1)?2:1}function Ju(e,t,n){let r=e.charCodeAt(t);return Nu(r)&&(r|=32),r===n}function Yu(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let o=t;o<n;o++){let n=r.charCodeAt(o-t),s=e.charCodeAt(o);if(Nu(s)&&(s|=32),s!==n)return!1}return!0}function Xu(e,t){for(;t<e.length&&Mu(e.charCodeAt(t));t++);return t}function Zu(e,t){for(;t<e.length&&Eu(e.charCodeAt(t));t++);return t}function Qu(e,t){if(Lu(qu(e,(t+=2)-1))){for(let n=Math.min(e.length,t+5);t<n&&Lu(qu(e,t));t++);let n=qu(e,t);Mu(n)&&(t+=Ku(e,t,n))}return t}function ed(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!Du(n)){if(ju(n,qu(e,t+1))){t=Qu(e,t)-1;continue}break}}return t}function td(e,t){let n=e.charCodeAt(t);if((43===n||45===n)&&(n=e.charCodeAt(t+=1)),Eu(n)&&(t=Zu(e,t+1),n=e.charCodeAt(t)),46===n&&Eu(e.charCodeAt(t+1))&&(t=Zu(e,t+=2)),Ju(e,t,101)){let r=0;n=e.charCodeAt(t+1),(45===n||43===n)&&(r=1,n=e.charCodeAt(t+2)),Eu(n)&&(t=Zu(e,t+1+r+1))}return t}function nd(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(41===n){t++;break}ju(n,qu(e,t+1))&&(t=Qu(e,t))}return t}function rd(e){if(1===e.length&&!Lu(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(0===t||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var od=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\"];function sd(e=null,t){return null===e||e.length<t?new Uint32Array(Math.max(t+1024,16384)):e}function ad(e){let t=e.source,n=t.length,r=t.length>0?Bu(t.charCodeAt(0)):0,o=sd(e.lines,n),s=sd(e.columns,n),a=e.startLine,i=e.startColumn;for(let e=r;e<n;e++){let r=t.charCodeAt(e);o[e]=a,s[e]=i++,(10===r||13===r||12===r)&&(13===r&&e+1<n&&10===t.charCodeAt(e+1)&&(e++,o[e]=a,s[e]=i),a++,i=1)}o[n]=a,s[n]=i,e.lines=o,e.columns=s,e.computed=!0}var id=16777215,ld=24,cd=new Map([[2,22],[21,22],[19,20],[23,24]]);function ud(e,t){function n(t){return t<i?e.charCodeAt(t):0}function r(){return c=td(e,c),Fu(n(c),n(c+1),n(c+2))?(a=12,void(c=ed(e,c))):37===n(c)?(a=11,void c++):void(a=10)}function o(){let t=c;return c=ed(e,c),Yu(e,t,c,\"url\")&&40===n(c)?(c=Xu(e,c+1),34===n(c)||39===n(c)?(a=2,void(c=t+4)):void function(){for(a=7,c=Xu(e,c);c<e.length;c++){let t=e.charCodeAt(c);switch(Gu(t)){case 41:return void c++;case Hu:return c=Xu(e,c),41===n(c)||c>=e.length?void(c<e.length&&c++):(c=nd(e,c),void(a=8));case 34:case 39:case 40:case Vu:return c=nd(e,c),void(a=8);case 92:if(ju(t,n(c+1))){c=Qu(e,c)-1;break}return c=nd(e,c),void(a=8)}}}()):40===n(c)?(a=2,void c++):void(a=1)}function s(t){for(t||(t=n(c++)),a=5;c<e.length;c++){let r=e.charCodeAt(c);switch(Gu(r)){case t:return void c++;case Hu:if(Ru(r))return c+=Ku(e,c,r),void(a=6);break;case 92:if(c===e.length-1)break;let o=n(c+1);Ru(o)?c+=Ku(e,c+1,o):ju(r,o)&&(c=Qu(e,c)-1)}}}let a,i=(e=String(e||\"\")).length,l=Bu(n(0)),c=l;for(;c<i;){let i=e.charCodeAt(c);switch(Gu(i)){case Hu:a=13,c=Xu(e,c+1);break;case 34:s();break;case 35:Du(n(c+1))||ju(n(c+1),n(c+2))?(a=4,c=ed(e,c+1)):(a=9,c++);break;case 39:s();break;case 40:a=21,c++;break;case 41:a=22,c++;break;case 43:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 44:a=18,c++;break;case 45:Uu(i,n(c+1),n(c+2))?r():45===n(c+1)&&62===n(c+2)?(a=15,c+=3):Fu(i,n(c+1),n(c+2))?o():(a=9,c++);break;case 46:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 47:42===n(c+1)?(a=25,c=e.indexOf(\"*/\",c+2),c=-1===c?e.length:c+2):(a=9,c++);break;case 58:a=16,c++;break;case 59:a=17,c++;break;case 60:33===n(c+1)&&45===n(c+2)&&45===n(c+3)?(a=14,c+=4):(a=9,c++);break;case 64:Fu(n(c+1),n(c+2),n(c+3))?(a=3,c=ed(e,c+1)):(a=9,c++);break;case 91:a=19,c++;break;case 92:ju(i,n(c+1))?o():(a=9,c++);break;case 93:a=20,c++;break;case 123:a=23,c++;break;case 125:a=24,c++;break;case Wu:r();break;case $u:o();break;default:a=9,c++}t(a,l,l=c)}}var dd,hd=(dd=Ou(),((e,t,n,r)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(let n of yu(t))!xu.call(e,n)&&\"default\"!==n&&gu(e,n,{get:()=>t[n],enumerable:!(r=vu(t,n))||r.enumerable});return e})((e=>gu(e,\"__esModule\",{value:!0}))(gu(null!=dd?fu(bu(dd)):{},\"default\",{value:dd,enumerable:!0})),dd)),md=new Set([\"Atrule\",\"Selector\",\"Declaration\"]),pd={};wu(pd,{safe:()=>xd,spec:()=>bd});var fd=(e,t)=>{if(9===e&&(e=t),\"string\"==typeof e){let t=e.charCodeAt(0);return t>127?32768:t<<8}return e},gd=[[1,1],[1,2],[1,7],[1,8],[1,\"-\"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,\"-\"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,\"-\"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,\"-\"],[12,10],[12,11],[12,12],[12,15],[\"#\",1],[\"#\",2],[\"#\",7],[\"#\",8],[\"#\",\"-\"],[\"#\",10],[\"#\",11],[\"#\",12],[\"#\",15],[\"-\",1],[\"-\",2],[\"-\",7],[\"-\",8],[\"-\",\"-\"],[\"-\",10],[\"-\",11],[\"-\",12],[\"-\",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,\"%\"],[10,15],[\"@\",1],[\"@\",2],[\"@\",7],[\"@\",8],[\"@\",\"-\"],[\"@\",15],[\".\",10],[\".\",11],[\".\",12],[\"+\",10],[\"+\",11],[\"+\",12],[\"/\",\"*\"]],vd=gd.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,\"-\"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,\"-\"]]);function yd(e){let t=new Set(e.map((([e,t])=>fd(e)<<16|fd(t))));return function(e,n,r){let o=fd(n,r),s=r.charCodeAt(0);return(45===s&&1!==n&&2!==n&&15!==n||43===s?t.has(e<<16|s<<8):t.has(e<<16|o))&&this.emit(\" \",13,!0),o}}var bd=yd(gd),xd=yd(vd);function kd(e,t){if(\"function\"!=typeof t)e.children.forEach(this.node,this);else{let n=null;e.children.forEach((e=>{null!==n&&t.call(this,n),this.node(e),n=e}))}}function wd(e){ud(e,((t,n,r)=>{this.token(t,e.slice(n,r))}))}var Sd={};wu(Sd,{AnPlusB:()=>Dd,Atrule:()=>Pd,AtrulePrelude:()=>Rd,AttributeSelector:()=>Vd,Block:()=>Gd,Brackets:()=>qd,CDC:()=>Kd,CDO:()=>Jd,ClassSelector:()=>Xd,Combinator:()=>Qd,Comment:()=>eh,Declaration:()=>th,DeclarationList:()=>nh,Dimension:()=>rh,Function:()=>oh,Hash:()=>sh,IdSelector:()=>ch,Identifier:()=>ih,MediaFeature:()=>uh,MediaQuery:()=>dh,MediaQueryList:()=>hh,NestingSelector:()=>ph,Nth:()=>gh,Number:()=>vh,Operator:()=>yh,Parentheses:()=>bh,Percentage:()=>kh,PseudoClassSelector:()=>Sh,PseudoElementSelector:()=>Th,Ratio:()=>Ih,Raw:()=>Eh,Rule:()=>Lh,Selector:()=>_h,SelectorList:()=>Ph,String:()=>Bh,StyleSheet:()=>zh,TypeSelector:()=>Vh,UnicodeRange:()=>Gh,Url:()=>Qh,Value:()=>em,WhiteSpace:()=>tm});var Cd=43,Td=45,Id=110,Ad=!0;function Od(e,t){let n=this.tokenStart+e,r=this.charCodeAt(n);for((r===Cd||r===Td)&&(t&&this.error(\"Number sign is not allowed\"),n++);n<this.tokenEnd;n++)Eu(this.charCodeAt(n))||this.error(\"Integer is expected\",n)}function Ed(e){return Od.call(this,0,e)}function Ld(e,t){if(!this.cmpChar(this.tokenStart+e,t)){let n=\"\";switch(t){case Id:n=\"N is expected\";break;case Td:n=\"HyphenMinus is expected\"}this.error(n,this.tokenStart+e)}}function Nd(){let e=0,t=0,n=this.tokenType;for(;13===n||25===n;)n=this.lookupType(++e);if(10!==n){if(!this.isDelim(Cd,e)&&!this.isDelim(Td,e))return null;t=this.isDelim(Cd,e)?Cd:Td;do{n=this.lookupType(++e)}while(13===n||25===n);10!==n&&(this.skip(e),Ed.call(this,Ad))}return e>0&&this.skip(e),0===t&&(n=this.charCodeAt(this.tokenStart),n!==Cd&&n!==Td&&this.error(\"Number sign is expected\")),Ed.call(this,0!==t),t===Td?\"-\"+this.consume(10):this.consume(10)}function _d(){let e=this.tokenStart,t=null,n=null;if(10===this.tokenType)Ed.call(this,!1),n=this.consume(10);else if(1===this.tokenType&&this.cmpChar(this.tokenStart,Td))switch(t=\"-1\",Ld.call(this,1,Id),this.tokenEnd-this.tokenStart){case 2:this.next(),n=Nd.call(this);break;case 3:Ld.call(this,2,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,2,Td),Od.call(this,3,Ad),this.next(),n=this.substrToCursor(e+2)}else if(1===this.tokenType||this.isDelim(Cd)&&1===this.lookupType(1)){let r=0;switch(t=\"1\",this.isDelim(Cd)&&(r=1,this.next()),Ld.call(this,0,Id),this.tokenEnd-this.tokenStart){case 1:this.next(),n=Nd.call(this);break;case 2:Ld.call(this,1,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,1,Td),Od.call(this,2,Ad),this.next(),n=this.substrToCursor(e+r+1)}}else if(12===this.tokenType){let r=this.charCodeAt(this.tokenStart),o=r===Cd||r===Td,s=this.tokenStart+o;for(;s<this.tokenEnd&&Eu(this.charCodeAt(s));s++);s===this.tokenStart+o&&this.error(\"Integer is expected\",this.tokenStart+o),Ld.call(this,s-this.tokenStart,Id),t=this.substring(e,s),s+1===this.tokenEnd?(this.next(),n=Nd.call(this)):(Ld.call(this,s-this.tokenStart+1,Td),s+2===this.tokenEnd?(this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10)):(Od.call(this,s-this.tokenStart+2,Ad),this.next(),n=this.substrToCursor(s+1)))}else this.error();return null!==t&&t.charCodeAt(0)===Cd&&(t=t.substr(1)),null!==n&&n.charCodeAt(0)===Cd&&(n=n.substr(1)),{type:\"AnPlusB\",loc:this.getLocation(e,this.tokenStart),a:t,b:n}}function Dd(e){if(e.a){let t=(\"+1\"===e.a||\"1\"===e.a?\"n\":\"-1\"===e.a&&\"-n\")||e.a+\"n\";if(e.b){let n=\"-\"===e.b[0]||\"+\"===e.b[0]?e.b:\"+\"+e.b;this.tokenize(t+n)}else this.tokenize(t)}else this.tokenize(e.b)}function Pd(e){this.token(3,\"@\"+e.name),null!==e.prelude&&this.node(e.prelude),e.block?this.node(e.block):this.token(17,\";\")}function Rd(e){this.children(e)}var Md=36,jd=42,Fd=61,Ud=94,Bd=124,zd=126;function Hd(){this.eof&&this.error(\"Unexpected end of input\");let e=this.tokenStart,t=!1;return this.isDelim(jd)?(t=!0,this.next()):this.isDelim(Bd)||this.eat(1),this.isDelim(Bd)?this.charCodeAt(this.tokenStart+1)!==Fd?(this.next(),this.eat(1)):t&&this.error(\"Identifier is expected\",this.tokenEnd):t&&this.error(\"Vertical line is expected\"),{type:\"Identifier\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Wd(){let e=this.tokenStart,t=this.charCodeAt(e);return t!==Fd&&t!==zd&&t!==Ud&&t!==Md&&t!==jd&&t!==Bd&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\"),this.next(),t!==Fd&&(this.isDelim(Fd)||this.error(\"Equal sign is expected\"),this.next()),this.substrToCursor(e)}function $d(){let e,t=this.tokenStart,n=null,r=null,o=null;return this.eat(19),this.skipSC(),e=Hd.call(this),this.skipSC(),20!==this.tokenType&&(1!==this.tokenType&&(n=Wd.call(this),this.skipSC(),r=5===this.tokenType?this.String():this.Identifier(),this.skipSC()),1===this.tokenType&&(o=this.consume(1),this.skipSC())),this.eat(20),{type:\"AttributeSelector\",loc:this.getLocation(t,this.tokenStart),name:e,matcher:n,value:r,flags:o}}function Vd(e){this.token(9,\"[\"),this.node(e.name),null!==e.matcher&&(this.tokenize(e.matcher),this.node(e.value)),null!==e.flags&&this.token(1,e.flags),this.token(9,\"]\")}function Gd(e){this.token(23,\"{\"),this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")})),this.token(24,\"}\")}function qd(e){this.token(9,\"[\"),this.children(e),this.token(9,\"]\")}function Kd(){this.token(15,\"--\\x3e\")}function Jd(){this.token(14,\"\\x3c!--\")}function Yd(){return this.eatDelim(46),{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function Xd(e){this.token(9,\".\"),this.token(1,e.name)}function Zd(){let e,t=this.tokenStart;switch(this.tokenType){case 13:e=\" \";break;case 9:switch(this.charCodeAt(this.tokenStart)){case 62:case 43:case 126:this.next();break;case 47:this.next(),this.eatIdent(\"deep\"),this.eatDelim(47);break;default:this.error(\"Combinator is expected\")}e=this.substrToCursor(t)}return{type:\"Combinator\",loc:this.getLocation(t,this.tokenStart),name:e}}function Qd(e){this.tokenize(e.name)}function eh(e){this.token(25,\"/*\"+e.value+\"*/\")}function th(e){this.token(1,e.property),this.token(16,\":\"),this.node(e.value),e.important&&(this.token(9,\"!\"),this.token(1,!0===e.important?\"important\":e.important))}function nh(e){this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")}))}function rh(e){this.token(12,e.value+e.unit)}function oh(e){this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\")}function sh(e){this.token(4,\"#\"+e.value)}function ah(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function ih(e){this.token(1,e.name)}function lh(){let e=this.tokenStart;return this.eat(4),{type:\"IdSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e+1)}}function ch(e){this.token(9,\"#\"+e.name)}function uh(e){this.token(21,\"(\"),this.token(1,e.name),null!==e.value&&(this.token(16,\":\"),this.node(e.value)),this.token(22,\")\")}function dh(e){this.children(e)}function hh(e){this.children(e,(()=>this.token(18,\",\")))}function mh(){let e=this.tokenStart;return this.eatDelim(38),{type:\"NestingSelector\",loc:this.getLocation(e,this.tokenStart)}}function ph(){this.token(9,\"&\")}function fh(){this.skipSC();let e,t=this.tokenStart,n=t,r=null;return e=this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?this.Identifier():this.AnPlusB(),n=this.tokenStart,this.skipSC(),this.lookupValue(0,\"of\")&&(this.next(),r=this.SelectorList(),n=this.tokenStart),{type:\"Nth\",loc:this.getLocation(t,n),nth:e,selector:r}}function gh(e){this.node(e.nth),null!==e.selector&&(this.token(1,\"of\"),this.node(e.selector))}function vh(e){this.token(10,e.value)}function yh(e){this.tokenize(e.value)}function bh(e){this.token(21,\"(\"),this.children(e),this.token(22,\")\")}function xh(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function kh(e){this.token(11,e.value+\"%\")}function wh(){let e,t,n=this.tokenStart,r=null;return this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoClassSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Sh(e){this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ch(){let e,t,n=this.tokenStart,r=null;return this.eat(16),this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoElementSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Th(e){this.token(16,\":\"),this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ih(e){this.token(10,e.left),this.token(9,\"/\"),this.token(10,e.right)}function Ah(){return this.tokenIndex>0&&13===this.lookupType(-1)?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}function Oh(e,t,n){let r,o=this.getTokenStart(e);return this.skipUntilBalanced(e,t||this.consumeUntilBalanceEnd),r=n&&this.tokenStart>o?Ah.call(this):this.tokenStart,{type:\"Raw\",loc:this.getLocation(o,r),value:this.substring(o,r)}}function Eh(e){this.tokenize(e.value)}function Lh(e){this.node(e.prelude),this.node(e.block)}function Nh(){let e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error(\"Selector is expected\"),{type:\"Selector\",loc:this.getLocationFromList(e),children:e}}function _h(e){this.children(e)}function Dh(){let e=this.createList();for(;!this.eof&&(e.push(this.Selector()),18===this.tokenType);)this.next();return{type:\"SelectorList\",loc:this.getLocationFromList(e),children:e}}function Ph(e){this.children(e,(()=>this.token(18,\",\")))}var Rh=92,Mh=34,jh=39;function Fh(e){let t=e.length,n=e.charCodeAt(0),r=n===Mh||n===jh?1:0,o=1===r&&t>1&&e.charCodeAt(t-1)===n?t-2:t-1,s=\"\";for(let n=r;n<=o;n++){let r=e.charCodeAt(n);if(r===Rh){if(n===o){n!==t-1&&(s=e.substr(n+1));break}if(r=e.charCodeAt(++n),ju(Rh,r)){let t=n-1,r=Qu(e,t);n=r-1,s+=rd(e.substring(t+1,r))}else 13===r&&10===e.charCodeAt(n+1)&&n++}else s+=e[n]}return s}function Uh(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:Fh(this.consume(5))}}function Bh(e){this.token(5,function(e,t){let n=Mh,r=\"\",o=!1;for(let t=0;t<e.length;t++){let s=e.charCodeAt(t);0!==s?s<=31||127===s?(r+=\"\\\\\"+s.toString(16),o=!0):s===n||s===Rh?(r+=\"\\\\\"+e.charAt(t),o=!1):(o&&(Lu(s)||Mu(s))&&(r+=\" \"),r+=e.charAt(t),o=!1):r+=\"\\ufffd\"}return'\"'+r+'\"'}(e.value))}function zh(e){this.children(e)}var Hh=42;function Wh(){1!==this.tokenType&&!1===this.isDelim(Hh)&&this.error(\"Identifier or asterisk is expected\"),this.next()}function $h(){let e=this.tokenStart;return this.isDelim(124)?(this.next(),Wh.call(this)):(Wh.call(this),this.isDelim(124)&&(this.next(),Wh.call(this))),{type:\"TypeSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Vh(e){this.tokenize(e.name)}function Gh(e){this.tokenize(e.value)}var qh=32,Kh=92,Jh=34,Yh=39,Xh=40,Zh=41;function Qh(e){this.token(7,function(e){let t=\"\",n=!1;for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);0!==o?o<=31||127===o?(t+=\"\\\\\"+o.toString(16),n=!0):o===qh||o===Kh||o===Jh||o===Yh||o===Xh||o===Zh?(t+=\"\\\\\"+e.charAt(r),n=!1):(n&&Lu(o)&&(t+=\" \"),t+=e.charAt(r),n=!1):t+=\"\\ufffd\"}return\"url(\"+t+\")\"}(e.value))}function em(e){this.children(e)}function tm(e){this.token(13,e.value)}Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"});var nm=function(e){let t=new Map;for(let n in e.node){let r=e.node[n];\"function\"==typeof(r.generate||r)&&t.set(n,r.generate||r)}return function(e,n){let r=\"\",o=0,s={node(e){if(!t.has(e.type))throw new Error(\"Unknown node type: \"+e.type);t.get(e.type).call(a,e)},tokenBefore:xd,token(e,t){o=this.tokenBefore(o,e,t),this.emit(t,e,!1),9===e&&92===t.charCodeAt(0)&&this.emit(\"\\n\",13,!0)},emit(e){r+=e},result:()=>r};n&&(\"function\"==typeof n.decorator&&(s=n.decorator(s)),n.sourceMap&&(s=function(e){let t=new hd.SourceMapGenerator,n={line:1,column:0},r={line:0,column:0},o={line:1,column:0},s={generated:o},a=1,i=0,l=!1,c=e.node;e.node=function(e){if(e.loc&&e.loc.start&&md.has(e.type)){let c=e.loc.start.line,u=e.loc.start.column-1;(r.line!==c||r.column!==u)&&(r.line=c,r.column=u,n.line=a,n.column=i,l&&(l=!1,(n.line!==o.line||n.column!==o.column)&&t.addMapping(s)),l=!0,t.addMapping({source:e.loc.source,original:r,generated:n}))}c.call(this,e),l&&md.has(e.type)&&(o.line=a,o.column=i)};let u=e.emit;e.emit=function(e,t,n){for(let t=0;t<e.length;t++)10===e.charCodeAt(t)?(a++,i=0):i++;u(e,t,n)};let d=e.result;return e.result=function(){return l&&t.addMapping(s),{css:d(),map:t}},e}(s)),n.mode in pd&&(s.tokenBefore=pd[n.mode]));let a={node:e=>s.node(e),children:kd,token:(e,t)=>s.token(e,t),tokenize:wd};return s.node(e),s.result()}}({node:Sd}),rm=null,om=class{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(e){return om.createItem(e)}allocateCursor(e,t){let n;return null!==rm?(n=rm,rm=rm.cursor,n.prev=e,n.next=t,n.cursor=this.cursor):n={prev:e,next:t,cursor:this.cursor},this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=rm,rm=e}updateCursors(e,t,n,r){let{cursor:o}=this;for(;null!==o;)o.prev===e&&(o.prev=t),o.next===n&&(o.next=r),o=o.cursor}*[Symbol.iterator](){for(let e=this.head;null!==e;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;null!==t;t=t.next)e++;return e}get isEmpty(){return null===this.head}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(e){let t=null;this.head=null;for(let n of e){let e=om.createItem(n);null!==t?t.next=e:this.head=e,e.prev=t,t=e}return this.tail=t,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;null!==n.next;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;null!==n.prev;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r,o=this.allocateCursor(null,this.head),s=t;for(;null!==o.next;)r=o.next,o.next=r.next,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}reduceRight(e,t,n=this){let r,o=this.allocateCursor(this.tail,null),s=t;for(;null!==o.prev;)r=o.prev,o.prev=r.prev,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}some(e,t=this){for(let n=this.head;null!==n;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)n.appendData(e.call(t,r.data,r,this));return n}filter(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)e.call(t,r.data,r,this)&&n.appendData(r.data);return n}nextUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(null,e);for(;null!==r.next;){let e=r.next;if(r.next=e.next,t.call(n,e.data,e,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(e,null);for(;null!==r.prev;){let e=r.prev;if(r.prev=e.prev,t.call(n,e.data,e,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let e=new om;for(let t of this)e.appendData(t);return e}prepend(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this}prependData(e){return this.prepend(om.createItem(e))}append(e){return this.insert(e)}appendData(e){return this.insert(om.createItem(e))}insert(e,t=null){if(null!==t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error(\"before doesn't belong to list\");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this}insertData(e,t){return this.insert(om.createItem(e),t)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error(\"item doesn't belong to list\");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error(\"item doesn't belong to list\");this.tail=e.prev}return e.prev=null,e.next=null,e}push(e){this.insert(om.createItem(e))}pop(){return null!==this.tail?this.remove(this.tail):null}unshift(e){this.prepend(om.createItem(e))}shift(){return null!==this.head?this.remove(this.head):null}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this}replace(e,t){\"head\"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}},sm=100,am=60,im=\"    \";function lm({source:e,line:t,column:n},r){function o(e,t){return s.slice(e,t).map(((t,n)=>String(e+n+1).padStart(l)+\" |\"+t)).join(\"\\n\")}let s=e.split(/\\r\\n?|\\n|\\f/),a=Math.max(1,t-r)-1,i=Math.min(t+r,s.length+1),l=Math.max(4,String(i).length)+1,c=0;(n+=(im.length-1)*(s[t-1].substr(0,n-1).match(/\\t/g)||[]).length)>sm&&(c=n-am+3,n=am-2);for(let e=a;e<=i;e++)e>=0&&e<s.length&&(s[e]=s[e].replace(/\\t/g,im),s[e]=(c>0&&s[e].length>c?\"\\u2026\":\"\")+s[e].substr(c,sm-2)+(s[e].length>c+sm-1?\"\\u2026\":\"\"));return[o(a,t),new Array(n+l+2).join(\"-\")+\"^\",o(t,i)].filter(Boolean).join(\"\\n\")}function cm(e,t,n,r,o){return Object.assign(function(e,t){let n=Object.create(SyntaxError.prototype),r=new Error;return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||\"\").replace(/^(.+\\n){1,3}/,`${e}: ${t}\\n`)}})}(\"SyntaxError\",e),{source:t,offset:n,line:r,column:o,sourceFragment:e=>lm({source:t,line:r,column:o},isNaN(e)?0:e),get formattedMessage(){return`Parse error: ${e}\\n`+lm({source:t,line:r,column:o},2)}})}function um(e){let t=this.createList(),n=!1,r={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:n=!0,this.next();continue}let o=e.getNode.call(this,r);if(void 0===o)break;n&&(e.onWhiteSpace&&e.onWhiteSpace.call(this,o,t,r),n=!1),t.push(o)}return n&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,r),t}var dm=()=>{};function hm(e){return function(){return this[e]()}}function mm(e){let t=Object.create(null);for(let n in e){let r=e[n],o=r.parse||r;o&&(t[n]=o)}return t}var pm={parse(){return this.createSingleNodeList(this.SelectorList())}},fm={parse(){return this.createSingleNodeList(this.Selector())}},gm={parse(){return this.createSingleNodeList(this.Identifier())}},vm={parse(){return this.createSingleNodeList(this.Nth())}},ym={dir:gm,has:pm,lang:gm,matches:pm,is:pm,\"-moz-any\":pm,\"-webkit-any\":pm,where:pm,not:pm,\"nth-child\":vm,\"nth-last-child\":vm,\"nth-last-of-type\":vm,\"nth-of-type\":vm,slotted:fm,host:fm,\"host-context\":fm},bm={};wu(bm,{AnPlusB:()=>_d,AttributeSelector:()=>$d,ClassSelector:()=>Yd,Combinator:()=>Zd,IdSelector:()=>lh,Identifier:()=>ah,NestingSelector:()=>mh,Nth:()=>fh,Percentage:()=>xh,PseudoClassSelector:()=>wh,PseudoElementSelector:()=>Ch,Raw:()=>Oh,Selector:()=>Nh,SelectorList:()=>Dh,String:()=>Uh,TypeSelector:()=>$h});var xm=function(e){let t=\"\",n=\"<unknown>\",r=!1,o=dm,s=!1,a=new class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(e,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||ad(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||ad(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},i=Object.assign(new class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=\"\",t=(()=>{})){let n=(e=String(e||\"\")).length,r=sd(this.offsetAndType,e.length+1),o=sd(this.balance,e.length+1),s=0,a=0,i=0,l=-1;for(this.offsetAndType=null,this.balance=null,t(e,((e,t,c)=>{switch(e){default:o[s]=n;break;case a:{let e=i&id;for(i=o[e],a=i>>ld,o[s]=e,o[e++]=s;e<s;e++)o[e]===n&&(o[e]=s);break}case 21:case 2:case 19:case 23:o[s]=i,a=cd.get(e),i=a<<ld|s}r[s++]=e<<ld|c,-1===l&&(l=t)})),r[s]=0|n,o[s]=n,o[n]=n;0!==i;){let e=i&id;i=o[e],o[e]=n}this.source=e,this.firstCharOffset=-1===l?0:l,this.tokenCount=s,this.offsetAndType=r,this.balance=o,this.reset(),this.next()}lookupType(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>ld:0}lookupOffset(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e-1]&id:this.source.length}lookupValue(e,t){return(e+=this.tokenIndex)<this.tokenCount&&Yu(this.source,this.offsetAndType[e-1]&id,this.offsetAndType[e]&id,t)}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&id:this.offsetAndType[this.tokenCount]&id:this.firstCharOffset}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?9===this.lookupType(t)&&this.source.charCodeAt(this.lookupOffset(t))===e:9===this.tokenType&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&id,t=this.offsetAndType[t],this.tokenType=t>>ld,this.tokenEnd=t&id):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>ld,this.tokenEnd=e&id):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;13===this.tokenType||25===this.tokenType;)this.next()}skipUntilBalanced(e,t){let n,r,o=e;e:for(;o<this.tokenCount&&(n=this.balance[o],!(n<e));o++)switch(r=o>0?this.offsetAndType[o-1]&id:this.firstCharOffset,t(this.source.charCodeAt(r))){case 1:break e;case 2:o++;break e;default:this.balance[n]===o&&(o=n)}this.skip(o-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,o=this.offsetAndType[t],s=o&id;n=s,e(o>>ld,r,s,t)}}dump(){let e=new Array(this.tokenCount);return this.forEachToken(((t,n,r,o)=>{e[o]={idx:o,type:od[t],chunk:this.source.substring(n,r),balance:this.balance[o]}})),e}},function(e){let t={context:Object.create(null),scope:Object.assign(Object.create(null),e.scope),atrule:mm(e.atrule),pseudo:mm(e.pseudo),node:mm(e.node)};for(let n in e.parseContext)switch(typeof e.parseContext[n]){case\"function\":t.context[n]=e.parseContext[n];break;case\"string\":t.context[n]=hm(e.parseContext[n])}return{config:t,...t,...t.node}}(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:um,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:e=>123===e?1:0,consumeUntilLeftCurlyBracketOrSemicolon:e=>123===e||59===e?1:0,consumeUntilExclamationMarkOrSemicolon:e=>33===e||59===e?1:0,consumeUntilSemicolonIncluded:e=>59===e?2:0,createList:()=>new om,createSingleNodeList:e=>(new om).appendData(e),getFirstListNode:e=>e&&e.first,getLastListNode:e=>e&&e.last,parseWithFallback(e,t){let n=this.tokenIndex;try{return e.call(this)}catch(e){if(s)throw e;let r=t.call(this,n);return s=!0,o(e,r),s=!1,r}},lookupNonWSType(e){let t;do{if(t=this.lookupType(e++),13!==t)return t}while(0!==t);return 0},charCodeAt:e=>e>=0&&e<t.length?t.charCodeAt(e):0,substring:(e,n)=>t.substring(e,n),substrToCursor(e){return this.source.substring(e,this.tokenStart)},cmpChar:(e,n)=>Ju(t,e,n),cmpStr:(e,n,r)=>Yu(t,e,n,r),consume(e){let t=this.tokenStart;return this.eat(e),this.substrToCursor(t)},consumeFunctionName(){let e=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),e},consumeNumber(e){let n=t.substring(this.tokenStart,td(t,this.tokenStart));return this.eat(e),n},eat(e){if(this.tokenType!==e){let t=od[e].slice(0,-6).replace(/-/g,\" \").replace(/^./,(e=>e.toUpperCase())),n=`${/[[\\](){}]/.test(t)?`\"${t}\"`:t} is expected`,r=this.tokenStart;switch(e){case 1:2===this.tokenType||7===this.tokenType?(r=this.tokenEnd-1,n=\"Identifier is expected but function found\"):n=\"Identifier is expected\";break;case 4:this.isDelim(35)&&(this.next(),r++,n=\"Name is expected\");break;case 11:10===this.tokenType&&(r=this.tokenEnd,n=\"Percent sign is expected\")}this.error(n,r)}this.next()},eatIdent(e){(1!==this.tokenType||!1===this.lookupValue(0,e))&&this.error(`Identifier \"${e}\" is expected`),this.next()},eatDelim(e){this.isDelim(e)||this.error(`Delim \"${String.fromCharCode(e)}\" is expected`),this.next()},getLocation:(e,t)=>r?a.getLocationRange(e,t,n):null,getLocationFromList(e){if(r){let t=this.getFirstListNode(e),r=this.getLastListNode(e);return a.getLocationRange(null!==t?t.loc.start.offset-a.startOffset:this.tokenStart,null!==r?r.loc.end.offset-a.startOffset:this.tokenStart,n)}return null},error(e,n){let r=typeof n<\"u\"&&n<t.length?a.getLocation(n):this.eof?a.getLocation(function(e,t){for(;t>=0&&Mu(e.charCodeAt(t));t--);return t+1}(t,t.length-1)):a.getLocation(this.tokenStart);throw new cm(e||\"Unexpected input\",t,r.offset,r.line,r.column)}});return Object.assign((function(e,l){t=e,l=l||{},i.setSource(t,ud),a.setSource(t,l.offset,l.line,l.column),n=l.filename||\"<unknown>\",r=Boolean(l.positions),o=\"function\"==typeof l.onParseError?l.onParseError:dm,s=!1,i.parseAtrulePrelude=!(\"parseAtrulePrelude\"in l)||Boolean(l.parseAtrulePrelude),i.parseRulePrelude=!(\"parseRulePrelude\"in l)||Boolean(l.parseRulePrelude),i.parseValue=!(\"parseValue\"in l)||Boolean(l.parseValue),i.parseCustomProperty=\"parseCustomProperty\"in l&&Boolean(l.parseCustomProperty);let{context:c=\"default\",onComment:u}=l;if(!(c in i.context))throw new Error(\"Unknown context `\"+c+\"`\");\"function\"==typeof u&&i.forEachToken(((e,n,r)=>{if(25===e){let e=i.getLocation(n,r),o=Yu(t,r-2,r,\"*/\")?t.slice(n+2,r-2):t.slice(n+2,r);u(o,e)}}));let d=i.context[c].call(i,l);return i.eof||i.error(),d}),{SyntaxError:cm,config:i.config})}({parseContext:{default:\"SelectorList\",selectorList:\"SelectorList\",selector:\"Selector\"},scope:{Selector:{onWhiteSpace:function(e,t){null!==t.last&&\"Combinator\"!==t.last.type&&null!==e&&\"Combinator\"!==e.type&&t.push({type:\"Combinator\",loc:null,name:\" \"})},getNode:function(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return 16===this.lookupType(1)?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:46===this.charCodeAt(this.tokenStart)&&this.error(\"Identifier is expected\",this.tokenStart+1);break;case 9:switch(this.charCodeAt(this.tokenStart)){case 43:case 62:case 126:case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector();case 38:return this.NestingSelector()}}}}},atrule:{},pseudo:ym,node:bm}),km=(e,t)=>e.a===t.a?e.b===t.b?e.c-t.c:e.b-t.b:e.a-t.a,wm=(e,t)=>0===km(e,t),Sm=(e,t)=>km(e,t)>0,Cm=(e,t)=>km(e,t)<0,Tm=(e,t=\"ASC\")=>{let n=e.sort(km);return\"DESC\"===t?n.reverse():n},Im=(...e)=>Tm(e,\"ASC\"),Am=(...e)=>Tm(e,\"DESC\"),Om=(...e)=>Am(...e)[0],Em=e=>{let t={a:0,b:0,c:0};return e.children.forEach((e=>{switch(e.type){case\"IdSelector\":t.a+=1;break;case\"AttributeSelector\":case\"ClassSelector\":t.b+=1;break;case\"PseudoClassSelector\":switch(e.name.toLowerCase()){case\"where\":break;case\"is\":case\"matches\":case\"-webkit-any\":case\"-moz-any\":case\"any\":case\"not\":case\"has\":if(e.children){let n=Om(...Lm(e.children.first));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"nth-child\":case\"nth-last-child\":if(t.b+=1,e.children.first.selector){let n=Om(...Lm(e.children.first.selector));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"host-context\":case\"host\":if(t.b+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"after\":case\"before\":case\"first-letter\":case\"first-line\":t.c+=1;break;default:t.b+=1}break;case\"PseudoElementSelector\":switch(e.name){case\"slotted\":if(t.c+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"view-transition-group\":case\"view-transition-image-pair\":case\"view-transition-old\":case\"view-transition-new\":if(e.children&&\"*\"===e.children.first.value)break;t.c+=1;break;default:t.c+=1}break;case\"TypeSelector\":let n=e.name;n.includes(\"|\")&&(n=n.split(\"|\")[1]),\"*\"!==n&&(t.c+=1)}})),new Nm(t,e)},Lm=e=>{if(!e)return[];let t=(e=>{if(\"string\"==typeof e||e instanceof String)try{return xm(e,{context:\"selectorList\"})}catch(t){throw new TypeError(`Could not convert passed in source '${e}' to SelectorList: ${t.message}`)}if(e instanceof Object){if(e.type&&[\"Selector\",\"SelectorList\"].includes(e.type))return e;if(e.type&&\"Raw\"===e.type)try{return xm(e.value,{context:\"selectorList\"})}catch(e){throw new TypeError(`Could not convert passed in source to SelectorList: ${e.message}`)}throw new TypeError(\"Passed in source is an Object but no AST / AST of the type Selector or SelectorList\")}throw new TypeError(\"Passed in source is not a String nor an Object. I don't know what to do with it.\")})(e);if(\"Selector\"===t.type)return[Em(e)];if(\"SelectorList\"===t.type){let e=[];return t.children.forEach((t=>{let n=Em(t);e.push(n)})),e}},Nm=class{constructor(e,t=null){this.value=e,this.selector=t}get a(){return this.value.a}set a(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get b(){return this.value.b}set b(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get c(){return this.value.c}set c(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}selectorString(){return\"string\"==typeof this.selector||this.selector instanceof String?this.selector:this.selector instanceof Object&&\"Selector\"===this.selector.type?nm(this.selector):\"\"}toObject(){return this.value}toArray(){return[this.value.a,this.value.b,this.value.c]}toString(){return`(${this.value.a},${this.value.b},${this.value.c})`}toJSON(){return{selector:this.selectorString(),asObject:this.toObject(),asArray:this.toArray(),asString:this.toString()}}isEqualTo(e){return wm(this,e)}isGreaterThan(e){return Sm(this,e)}isLessThan(e){return Cm(this,e)}static calculate(e){return Lm(e)}static compare(e,t){return km(e,t)}static equals(e,t){return wm(e,t)}static lessThan(e,t){return Cm(e,t)}static greaterThan(e,t){return Sm(e,t)}static min(...e){return((...e)=>Im(...e)[0])(...e)}static max(...e){return Om(...e)}static sortAsc(...e){return Im(...e)}static sortDesc(...e){return Am(...e)}};const _m=e=>(e=>{const t=new Map,n=e=>{const n=t.get(e);if(l(n))return n;{const n=Nm.calculate(e)[0];return t.set(e,n),n}};return F(e,((e,t)=>{const r=n(e.selector),o=n(t.selector);return Nm.compare(r,o)}))})((e=>R(e,(e=>(e=>-1!==e.selector.indexOf(\",\"))(e)?(e=>{const t=e.selector.split(/,(?![^(]*\\))/g);return A(t,(t=>{const n=t.trim();return{...e,selector:n}}))})(e):[e])))(e)),Dm=e=>{const t={};return O(e,(r=>{const o=e.getPropertyValue(r);n(o)&&(t[r]=o)})),t},Pm=e=>({selector:e.selectorText,styles:Dm(e.style)}),Rm=e=>{const t=e.cssRules;return R(t,(e=>(e=>e.type===window.CSSRule.IMPORT_RULE)(e)?Rm(e.styleSheet):(e=>e.type===window.CSSRule.STYLE_RULE)(e)?[Pm(e)]:[]))},Mm=(e,t)=>{const n=N(t,((e,t)=>({...e,...t.styles})),{});return Ue(n,((t,n)=>!T(e.dom.style,n)))};const jm=e=>{return t=(e=>{const t=e.dom.styleSheets;return Array.prototype.slice.call(t)})(e),R(t,Rm);var t},Fm=(!0,(e,t,n)=>((e,t,r,o)=>{var s,a;((e,t,n)=>{((e,t,n)=>{const r=[],o=document.createTreeWalker(e.dom,NodeFilter.SHOW_ELEMENT);for(;l(o.nextNode());){const e=De.fromDom(o.currentNode),n=L(t,(t=>Tt(e,t.selector)));if(n.length>0){const t=Mm(e,n);zn(e,t),r.push(e)}}n&&O(r,(e=>On(e,\"class\")))})(t,_m(e),n)})((s=jm(t),a=n,A(s,(e=>{const t=e.selector,n=a.hasOwnProperty(t)?a[t]:t;return{...e,selector:n}}))),r,true)})(0,e,t));const Um={p:\"p, li[data-converted-paragraph]\"},Bm=(e,t)=>{const n=Jt(e,\"li[data-converted-paragraph]\");if(O(n,(e=>{On(e,\"data-converted-paragraph\")})),t){const t=Jt(e,\"li\");O(t,(t=>{const n=(e=>{const t=(()=>{const t=De.fromTag(\"spn\");return dn(e,t),t})();return{convertToPx:e=>{return Bn(t,\"margin-left\",e),n=Hn(t,\"margin-left\"),parseFloat(/-?\\d+\\.?\\d*/.exec(n)[0]);var n},destroy:()=>vn(t)}})(e),r=((e,t)=>{const n=In(e,\"data-tab-interval\").getOr(\"36pt\");return t.convertToPx(n)})(e,n),o=zm(t,r,n).getOr({});(e=>{On(e,\"data-list-level\"),On(e,\"data-text-indent-alt\"),On(e,\"data-border-margin\"),Gn(e,\"margin-left\"),Gn(e,\"text-indent\"),Me(Vn(e),((t,n)=>{!$(n,\"border\")||\"border-image\"!==n&&\"none\"!==t.trim()&&\"initial\"!==t.trim()||Gn(e,n)}))})(t),n.destroy(),zn(t,o)}));const n=Jt(e,\"ol,ul\");O(n,(e=>{const t=Jt(e,\"li\");$n(e,\"margin-top\").isNone()&&k.from(t[0]).each((t=>{Bn(e,\"margin-top\",Hn(t,\"margin-top\"))})),$n(e,\"margin-bottom\").isNone()&&k.from(t[t.length-1]).each((t=>{Bn(e,\"margin-bottom\",Hn(t,\"margin-bottom\"))}))}))}On(e,\"data-tab-interval\")},zm=(e,t,n)=>{const r=e=>In(e,\"data-list-level\").map((e=>parseInt(e,10))).getOr(1);return $n(e,\"text-indent\").bind((o=>$n(e,\"margin-left\").map((s=>{const a=$n(e,\"list-style\").exists((e=>W(e,\"none\"))),i=In(e,\"data-border-margin\").getOr(\"0px\"),l=a?r(e)+1:r(e),c=n.convertToPx(s)+n.convertToPx(i),u=t*l,d=In(e,\"data-text-indent-alt\").getOr(o),h=n.convertToPx(d),m={},p=t/2*-1-h;p>0&&(m[\"text-indent\"]=p+\"px\");const f=c-u-p;return m[\"margin-left\"]=f>0?f+\"px\":\"0px\",m}))))},Hm=e=>{const t=(n=De.fromDom(document.body),{play:(e,t,r)=>{const o=De.fromTag(\"div\"),s=De.fromTag(\"iframe\");zn(o,{display:\"none\"});const a=Lr(s,\"load\",(()=>{var n;a.unbind(),pu(s,e);const i=null===(n=s.dom.contentWindow)||void 0===n?void 0:n.document;if(void 0===i)throw new Error(\"sandbox iframe load event did not fire correctly\");const l=De.fromDom(i),c=l.dom.body;if(void 0===c)throw new Error(\"sandbox iframe does not have a body\");const u=De.fromDom(c),d=t(l,u);vn(o),setTimeout(g(r,d),0)}));hn(o,s),hn(n,o)}});var n;return n=>new Promise((r=>{t.play(n,((t,n)=>(((e,t,n)=>{const r=n.mergeInline();r&&(Fm(e,t,Um),(e=>{Ia(e)})(t)),Bm(t,r)})(t,n,{mergeInline:m(e)}),Jn(n))),r)}))},Wm=(e,t,n,r)=>{const o=e.html;return n.cleanDocument(o,t,r).then((e=>{if(null==(n=e)||0===n.length)return{response:Fr([],[]),bundle:Wr({})};{const n=void 0===r.sanitizer?sc(r.intraFlag.isMarked):r.sanitizer;return((e,t,n,r)=>{const o=e=>({response:e,bundle:Wr({})}),s=r.sanitizeHtml(t,\"word\");return Hm(e)(s).then((e=>{const t=Kn(e),r=e=>o(Fr(t,e)),s=De.fromTag(\"div\");fn(s,t);const a=L(It(\"img[src]\",s),(e=>In(e,\"src\").exists((e=>$(e,\"blob:\")||$(e,\"data:\"))))),i=It(\"img[data-image-src]\",s);if(0===a.length&&0===i.length)return r([]);if(n)return O(a,(e=>On(e,\"id\"))),(e=>Promise.all(A(e,(e=>{const t=e.dom;return pi(t).then((n=>n.toBlob().then((r=>((n,r)=>{const o=$(t.src,\"blob:\")?t.src:URL.createObjectURL(r),s=kn(\"image\"),a=Dc.blob(s,n,o);return jc(a,e)})(n,r)))))}))))(a).then(r);{O(a,vn),O(i,vn);const e=Ht(s);return o(Br(e,[],\"errors.local.images.disallowed\"))}}))})(t,e,r.allowLocalImages,n)}var n}),(e=>(console.error(\"PowerPaste error code: WIM01\"),{response:jr(\"errors.paste.process.failure\"),bundle:Wr({})})))},$m=yt(),Vm=e=>{try{const t=e(),n=null!=t&&t.length>0?Kn(t):[];return Ir.value(n)}catch(e){return console.error(\"PowerPaste error code: PT01. Message: \",e),Ir.error(\"errors.paste.process.failure\")}},Gm=e=>e.fold($r,(e=>({response:Fr(e,[]),bundle:Wr({})}))),qm=(e,t,n,r,o)=>Vm((()=>{const s={type:r,merge:n,cleanFilteredInlineElements:o.cleanFilteredInlineElements,indentUseMargin:o.indentUseMargin,preprocessor:{defaultProtocol:o.defaultProtocol}};return((e,t,n,r)=>{Yi(n,r.preprocessor);const o=Jn(n),s=((e,t)=>{const n=t.merge,r=((e,t)=>{const n=t.browser.isFirefox(),r=Co([(s=n?bs:ys,a=!n,Io(((e,t)=>{const n=((e,t,n)=>t(De.fromDom(e.getNode())).fold((()=>[e]),(t=>{const r=e.type()===mo,o=[go(t.dom,r)];return!r&&n&&o.push(go(t.dom,!0)),o})))(t,s,a);e.emitTokens(n)}),d))]),o=n?d:la;var s,a;return{annotate:[e.type===xs.Word?r:d],local:[o]}})(t,e);return P([r.local,Ba(t),Ha(t),r.annotate,(o=n?[]:t.cleanFilteredInlineElements,[Ea,Na,va(o)]),za(t),$a(t,e),[js],[ga],[ea],[ta],Ua(t),[wa,Sa,ca,Ca],[ua],[da],[ha],[ba],Va(t),[ka],[pa],[Ia],Ga(t),[ya],[na]]);var o})(t,r);return To(e,o,s)})(e,$m,t,s)})),Km=(e,t)=>{const n=Vm((()=>((e,t)=>((e,t)=>To(e,t,[ta,Ca]))(e,Jn(t)))(e,t)));return Gm(n)},Jm=(e,t,n,r,o)=>qm(e,t,r,n,o).fold(Vr,(e=>Promise.resolve({response:Fr(e,[]),bundle:Wr({})}))),Ym=e=>\"\\n\"===e||\"\\r\"===e,Xm=(e,t)=>{const n=(e=>{const t=De.fromTag(\"div\");return((e,t)=>{e.dom.textContent=t})(t,e),Jn(t)})(e),r=((e,t)=>{const n=((e,t)=>{const n=e.replace(/\\t/g,(r=t)<=0?\"\":new Array(r+1).join(\" \"));var r;const o=N(n,((e,t)=>(e=>-1!==\" \\f\\t\\v\".indexOf(e))(t)||\"\\xa0\"===t?e.pcIsSpace||\"\"===e.str||e.str.length===n.length-1||((e,t)=>t<e.length&&t>=0&&Ym(e[t]))(n,e.str.length+1)?{pcIsSpace:!1,str:e.str+\"\\xa0\"}:{pcIsSpace:!0,str:e.str+\" \"}:{pcIsSpace:Ym(t),str:e.str+t}),{pcIsSpace:!1,str:\"\"});return o.str})(e,t).replace(/^[\\r\\n]*|[\\r\\n]*$/g,\"\").split(/(?:\\r?\\n){2}/),r=A(n,(e=>e.split(/\\n|\\r\\n/).join(\"<br />\")));return 1===r.length?r[0]:A(r,(e=>\"<p>\"+e+\"<\/p>\")).join(\"\")})(n,t),o=Kn(r);return Fr(o,[])},Zm=e=>(t,n)=>((e,t)=>{const n=yc(e).getOrDie(\"Required text input for Text Handler\");return{response:n.text.length>0?Xm(n.text,t):Ur(),bundle:Wr({})}})(t,e),Qm=e=>(t,n)=>{const r=(t,r)=>{const o=De.fromTag(\"div\");fn(o,t),Yi(o,e);const s=Ht(o);return{response:Fr(s,r),bundle:n.bundle}},o=m(n);return Mr(n.response,o,r,o,r)},ep=(e,t,n)=>(r,o)=>{const s=fc(r).getOrDie(\"Wrong input type for HTML handler\").container,a=Rt(t),i=o.bundle;return uu(i)?Km(a,s):(e(s),((e,t,n,r,o)=>{const s=qm(e,t,n,r,o);return Gm(s)})(a,s,au(i),du(i),n))},tp=(e,t,n)=>(r,o)=>{const s=o.bundle;return(e=>({handle:(t,n)=>e.proxyBin.fold((()=>(console.error(t),Promise.resolve({response:Ur(),bundle:Wr({})}))),n)}))(s).handle(\"There was no proxy bin setup. Ensure you have run proxyStep first.\",(r=>{const o=au(s),a=du(s),i=uu(s),l=Rt(e);return i?((e,t,n,r)=>{const o=xs.Html,s=t.findClipboardTags(Ht(n)).getOr([]);return O(s,vn),Jm(e,n,o,!0,r)})(l,t,r,n):((e,t,n,r,o)=>Jm(e,t,r,n,o))(l,r,o,a,n)}))},np=(e,t)=>(n,r)=>{const o=vc(n).getOrDie(\"Wrong input type for Word Import handler\"),s=iu(r.bundle);return Wm(o,s,e,t)},rp=(e,t)=>Gr,op=e=>(t,n)=>{const r=Hr(n.bundle,Wr(e));return{response:n.response,bundle:r}},sp=(e,t)=>(e=>{const t=e=>({response:Fr([e],[]),bundle:Wr({})});return(e=>(e=>{const t=Jt(e,\"img\");return Promise.all(A(t,ki)).then((()=>e))})(e))(e).then(t).catch((()=>t(e)))})(fc(e).getOrDie(\"Wrong input type for HTML handler\").container);yt();var ap=(e,t,n,r)=>(o,s)=>{const a=s.response;return new Promise(((o,s)=>{const i=e(n);i.events.after.bind((e=>{const n=e.container;t(n),_n(n,gr());const s=(u=Jn(n)).indexOf(\"<o:p>\")>=0||u.indexOf(\"mso-list\")>=0||u.indexOf(\"p.MsoNormal, li.MsoNormal, div.MsoNormal\")>=0||u.indexOf(\"MsoListParagraphCxSpFirst\")>=0||u.indexOf(\"<w:WordDocument>\")>=0,i=((e,t)=>{const n=Jt(t,\"*[id]\");return I(n,(e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid-\")))))})(0,n),l=Ht(n),c=r.findClipboardTags(l).isSome();var u;o({response:a,bundle:Wr({isWord:s,isGoogleDocs:i,isInternal:c,proxyBin:n})})})),i.run()}))};const ip=Nt([{unsupported:[\"id\",\"message\",\"isEquation\",\"attrs\"]},{supported:[\"id\",\"contentType\",\"blob\",\"isEquation\",\"attrs\"]}]),lp={unsupported:ip.unsupported,supported:ip.supported,cata:(e,t,n)=>e.fold(t,n)},cp=(e,t,n)=>t.indexOf(e,n),up=(e,t,n,r,o,s,a)=>-1===e||-1===t?k.none():k.some({start:e,end:t,bower:n,regex:r,idRef:o,isEquation:s,attrs:a}),dp=(e,t,n)=>e.substring(t,n),hp=(e,t)=>{if(-1===t)return t;let n=0;const r=e.length;do{const o=e.indexOf(\"{\",t),s=e.indexOf(\"}\",t);if(s>o&&-1!==o?(t=o+1,++n):(o>s||o<0)&&-1!==s&&(t=s+1,--n),t>r||-1===s)return-1}while(n>0);return t},mp=(e,t,n,r,o)=>{const s=dp(e,n,r),a=((e,t)=>{const n=cp(\"\\\\picscalex\",e,t),r=cp(\"\\\\bliptag\",e,n);return n>-1&&n<r?k.from(e.substring(n,r)):k.none()})(e,n);return up(n,r,s,/[^a-fA-F0-9]([a-fA-F0-9]+)\\}$/,\"i\",o,a)},pp=(e,t,n,r,o)=>{const s=dp(e,n,r);return up(n,r,s,/([a-fA-F0-9]{64,})(?:\\}.*)/,\"s\",o,k.none())},fp=(e,t)=>((e,t)=>{const n=cp(\"{\\\\pict{\",e,t),r=hp(e,n),o=cp(\"{\\\\shp{\",e,t),s=hp(e,o),a=cp(\"{\\\\mmathPict{\",e,t),i=hp(e,a),l=-1!==a&&(a<n&&i>r||a<o&&i>s),c=g(pp,e,t,o,s,l),u=g(mp,e,t,n,r,l);return-1===n&&-1===o?k.none():-1===n?c():-1===o||o<n&&s>r?u():n<o&&r>s?c():n<o?u():o<n?c():k.none()})(e,t),gp=e=>{let t=[];const n=()=>e.length,r=e=>{const n=(e=>{const t=e.bower,n=e.regex,r=e.isEquation,o=e.attrs;return(e=>{const t=/\\\\shplid(\\d+)/.exec(e);return null!==t?k.some(t[1]):k.none()})(t).map((s=>{const a=e.idRef+s;return(e=>e.indexOf(\"\\\\pngblip\")>=0?Ir.value(\"image/png\"):e.indexOf(\"\\\\jpegblip\")>=0?Ir.value(\"image/jpeg\"):Ir.error(\"errors.imageimport.unsupported\"))(t).fold((e=>lp.unsupported(a,e,r,o)),(e=>((e,t)=>{const n=e.match(t);return n&&n[1]&&n[1].length%2==0?Ir.value(n[1]):Ir.error(\"errors.imageimport.invalid\")})(t,n).fold((e=>lp.unsupported(a,e,r,o)),(t=>lp.supported(a,e,((e,t)=>{if(0===e.length)throw new Error(\"Zero length content passed to Hex conversion\");const n=(e=>{const t=new Array(e.length/2);for(let n=0;n<e.length;n+=2){const r=e.substr(n,2);t[Math.floor(n/2)]=parseInt(r,16)}return t})(e),r=new Uint8Array(n);return new Blob([r],{type:t})})(t,e),r,o)))))}))})(e);return t=t.concat(n.toArray()),e.end};let o=0;for(;o<e.length;)o=fp(e,o).fold(n,r);return t},vp=e=>lp.cata(e,((e,t,n)=>e),((e,t,n,r,o)=>e)),yp=e=>lp.cata(e,((e,t,n)=>n),((e,t,n,r,o)=>r)),bp=e=>lp.cata(e,((e,t,n)=>Ir.error(t)),((e,t,n,r,o)=>Ir.value(n))),xp=(e,t)=>{const n=new RegExp(\"\\\\\\\\pic\"+t+\"(\\\\-?\\\\d+)\\\\\\\\\").exec(e)[1];return parseInt(n,10)},kp=(e,t,n,r,o)=>{const s=[],a=[];let i=!1;const l=R(e,((e,l)=>{const c=Tn(e,\"data-image-id\");return On(e,\"rtf-data-image\"),On(e,\"data-image-id\"),On(e,\"data-ms-equation\"),o||On(e,\"data-image-src\"),\"unsupported\"===c?(i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[]):_(t,((e,t)=>r(e,t,c,l))).fold((()=>(console.log(\"WARNING: unable to find data for image \",e.dom),i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[])),(t=>bp(t).fold((t=>(i=!0,console.error(\"PowerPaste error code: RTF04\"),Sn(e,\"alt\",n(t)),[])),(n=>{var r;return s.push(e),a.push((r=t,lp.cata(r,((e,t,n)=>k.none()),((e,t,n,r,o)=>o)))),o&&On(e,\"data-image-src\"),[n]}))))}));return{blobs:l,filteredImages:s,imageAttrs:a,failedImage:i}},wp=(e,t,n,r,o)=>{const s=(e=>N(e,((e,t)=>{const n=vp(t),r=yp(t);return D(e,(e=>!(r||yp(e))&&vp(e)===n)).fold((()=>e.concat([t])),(n=>bp(e[n]).isValue()?e:e.slice(0,n).concat(e.slice(n+1)).concat([t])))}),[]))(t),{pass:a,fail:i}=E(s,(e=>!yp(e))),{pass:l,fail:c}=E(e,(e=>!(e=>\"true\"===Tn(e,\"data-ms-equation\"))(e))),u=kp(l,a,r,((e,t,n,r)=>vp(e)===n),o.keepSrc),d=kp(c,i,r,((e,t,n,r)=>t===r),o.keepSrc),h=u.filteredImages.concat(d.filteredImages),m=u.imageAttrs.concat(d.imageAttrs),p=u.blobs.concat(d.blobs),f=u.failedImage||d.failedImage;Mc(p).then((e=>{((e,t)=>e.length===t.length?Promise.all(A(e,((e,n)=>((e,t)=>t.fold((()=>Promise.resolve(e)),(t=>Dc.cata(e,((n,r,o)=>r.toCanvas().then((s=>{const a=De.fromDom(s),i=In(a,\"width\").map((e=>parseInt(e,10))).getOr(1),l=In(a,\"height\").map((e=>parseInt(e,10))).getOr(1),c=((e,t,n)=>{const r=g(xp,e),o=r(\"wgoal\"),s=r(\"hgoal\"),a=o/t,i=s/n,l=r(\"cropl\"),c=r(\"cropt\");return{cropl:l/a,cropt:c/i,cropw:(o-l-r(\"cropr\"))/a,croph:(s-c-r(\"cropb\"))/i}})(t,i,l);return i===c.cropw&&l===c.croph&&0===c.cropl&&0===c.cropt?Promise.resolve(e):di(r,c.cropl,c.cropt,c.cropw,c.croph).then((e=>e.toBlob().then((t=>{URL.revokeObjectURL(o);const r=URL.createObjectURL(t);return Dc.blob(n,e,r)}))))}))),((t,n,r)=>Promise.resolve(e))))))(e,t[n])))):Promise.resolve(e))(e,m).then((e=>{const t=Uc(e,h);n(t,f)}))}))},Sp=e=>Jt(e,\"[rtf-data-image]\"),Cp=e=>{const t=e.translations,n=Ct({insert:St([\"elements\",\"correlated\"]),incomplete:St([\"elements\",\"correlated\",\"message\"])});return{events:n.registry,processRtf:(e,r,o,s)=>{const a=(e=>{const t=e.replace(/\\r/g,\"\").replace(/\\n/g,\"\");return gp(t)})(o),i=Sp(e);wp(i,a,((t,o)=>{const s=Ht(e),a=t.concat(r);o?(console.error(\"PowerPaste error code: RTF01\"),n.trigger.incomplete(s,a,\"errors.imageimport.failed\")):n.trigger.insert(s,a)}),t,s)}}};const Tp=e=>{const t=()=>Promise.resolve(e);return Dc.cata(e.asset,((n,r,o)=>/(tiff|pdf)$/.test(r.getType())?(e=>((e,t,n)=>e.toAdjustedBlob(t,n))(e,\"image/png\").then(Pc).then(k.some).catch((e=>(console.warn(e),k.none()))))(r).then((t=>t.map((t=>{const n=e.image;return URL.revokeObjectURL(o),Fc(t,n),jc(t,n)})).getOr(e))):t()),t)};var Ip=(e,t)=>{const n=(e,n)=>Promise.all(A(e,Tp)).then((e=>({response:n(e),bundle:t.bundle})));return Mr(t.response,Vr,((e,t)=>n(t,(t=>Fr(e,t)))),(()=>Promise.resolve(t)),((e,t,r)=>n(t,(t=>(console.error(\"PowerPaste error code:  IMG01\"),Br(e,t,r))))))};const Ap=(e,t)=>e.isSupported?t.getWordData():k.none(),Op=e=>e.getNative(),Ep=e=>e.getImage(),Lp=e=>e.getHtml(),Np=e=>e.getText(),_p=e=>e.getOnlyText(),Dp=e=>e.getGoogleDocsData(),Pp=e=>e.getVoid(),Rp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),Mp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),jp=(e,t,n,r)=>{return Rp(Ec.native,Lp,[(o=t.intraFlag,(e,t)=>{const n=fc(e).getOrDie(\"Wrong input type for HTML handler\"),r=o.findClipboardTags(Ht(n.container));r.each((e=>{O(e,vn)}));const s=r.isSome();return{response:t.response,bundle:Wr({isInternal:s})}}),mu(e,t),ep(n,r,t),qc(t),Ip],!0);var o},Fp=(e,t,n)=>{return Rp(Ec.msoffice,g(Ap,e),[op({isWord:!0}),hu(t,n),np(e,n),(r=n,(e,t)=>new Promise(((n,o)=>{const s=Cp(r),a=e=>n({response:e,bundle:Wr({})});s.events.insert.bind((e=>{a(Fr(e.elements,e.correlated))})),s.events.incomplete.bind((e=>{console.error(\"PowerPaste error code: RTF02\"),a(Br(e.elements,e.correlated,e.message))}));const i=vc(e).getOrDie(\"Word input required for rtf data\"),l=e=>{const n=()=>Promise.resolve(t),o=(t,n)=>{const o=De.fromTag(\"div\");return fn(o,t),e.fold((()=>{const e=Sp(o);return e.length>0?(e=>{O(e,vn);const t=Ht(o);return console.error(\"PowerPaste error code: RTF03\"),a(Br(t,n,\"errors.imageimport.failed\"))})(e):(()=>{const e=Ht(o);return a(Fr(e,n))})()}),(e=>{s.processRtf(o,n,e,r)}))};return Mr(t.response,n,o,n,o)};((e,t)=>{const n=Pe(t);if(n.length!==Zi.length)throw new Error(\"Partial match\");B(n,(n=>Mn(e.discriminator===n,t[n]))).getOrDie(\"Must find branch for constructor: \"+e.discriminator)(e.data)})(i.rtf,{disabled:()=>{l(k.none())},fromClipboard:e=>{l(!0===r.allowLocalImages?k.some(e.rtf):k.none())}})}))),Ip],!0);var r},Up=(e,t,n,r)=>Rp(Ec.googledocs,Dp,[op({isGoogleDocs:!0}),hu(e,t),sp,ep(n,r,t),su,qc(t),Ip],!0),Bp=e=>Rp(Ec.image,Ep,[!1===e.allowLocalImages?(e,t)=>Vr(\"errors.local.images.disallowed\"):(e,t)=>(e=>{const t=L(e,(e=>\"file\"===e.kind&&/image/.test(e.type))),n=N(t,((e,t)=>{const n=t.getAsFile();return(e=>null!==e)(n)?e.concat(n):e}),[]);return Mc(n).then((e=>{const t=(e=>{const t=[],n=[];return O(e,(e=>Dc.cata(e,((r,o,s)=>{const a=De.fromTag(\"img\");Sn(a,\"src\",s),t.push(a),n.push(jc(e,a))}),((e,t,n)=>{console.error(\"Internal error: Paste operation produced an image URL instead of a Data URI: \",t)})))),Fr(t,n)})(e);return{response:t,bundle:Wr({})}}))})(gc(e).getOrDie(\"Must have image data for images handler\").images),Ip],!0),zp=e=>Rp(Ec.plaintext,_p,[Zm(e.tabSpaces),Qm({defaultProtocol:e.defaultProtocol})],!0),Hp=(e,t)=>Rp(Ec.text,Np,[Zm(e),Qm({defaultProtocol:t})],!0);var Wp=Object.freeze({__proto__:null,loadScript:(e,t)=>tinymce.Resource.load(e,t)});const $p={\"cement.dialog.paste.title\":\"Paste Formatting Options\",\"cement.dialog.paste.instructions\":\"Choose to keep or remove formatting in the pasted content.\",\"cement.dialog.paste.merge\":\"Keep formatting\",\"cement.dialog.paste.clean\":\"Remove formatting\",\"error.code.images.not.found\":\"The images service was not found: (\",\"error.imageupload\":\"Image failed to upload: (\",\"error.full.stop\":\").\",\"errors.local.images.disallowed\":\"Local image paste has been disabled. Local images have been removed from pasted content.\",\"errors.imageimport.failed\":\"Some images failed to import.\",\"errors.imageimport.unsupported\":\"Unsupported image type.\",\"errors.imageimport.invalid\":\"Image is invalid.\"},Vp=e=>tinymce.translate((e=>$p[e])(e)),Gp=e=>{const t=document.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML},qp=\"x-tinymce/html\",Kp=m(qp),Jp=\"\\x3c!-- \"+qp+\" --\\x3e\",Yp=e=>-1!==e.indexOf(Jp),Xp=e=>/^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(e),Zp=e=>{const t=/^<a href=\"([^\"]+)\">([^<]+)<\\/a>$/.exec(e);return k.from(t).bind((t=>{const n={url:t[1],html:e};return Mn(t[1]===t[2],n)}))},Qp=(e,t,n)=>(e=>\"extra\"in e.undoManager)(e)?(e.undoManager.extra((()=>{nf(e,t)}),n),k.some(!0)):k.none(),ef=(e,t)=>Zp(t).bind((t=>!1===e.selection.isCollapsed()&&Xp(t.url)?((e,t)=>Qp(e,t.html,(()=>{e.execCommand(\"mceInsertLink\",!1,t.url)})))(e,t):k.none())),tf=(e,t)=>Zp(t).bind((t=>((e,t)=>{const n=e.toLowerCase();return Xp(n)&&I(t,(e=>V(n,`.${e.toLowerCase()}`)))})(t.url,pe(e))?((e,t)=>Qp(e,t.html,(()=>{e.insertContent('<img src=\"'+t.url+'\">')})))(e,t):k.none())),nf=(e,t)=>(e.insertContent(t,{merge:ee(e),paste:!0}),k.some(!0)),rf=(e,t)=>e.hasEventListeners(t),of=(e,t,n,r,o)=>{const s=(e=>e.replace(Jp,\"\"))(t),a=((e,t,n,r,o)=>rf(e,\"PastePreProcess\")?((e,t,n,r,o)=>{const s=((e,t)=>e.dispatch(\"PastePreProcess\",t))(e,{internal:n,content:t,source:r,mode:o}),a=s.isDefaultPrevented();return a?{cancelled:a}:{cancelled:a,content:s.content}})(e,t,n,r,o):{cancelled:!1,content:t})(e,s,n,r,o);return a.cancelled?a:((e,t,n,r,o)=>rf(e,\"PastePostProcess\")?((e,t,n,r,o)=>{const s=e.dom.add(e.getBody(),\"div\",{style:\"display:none\"},t),a=((e,t)=>e.dispatch(\"PastePostProcess\",t))(e,{internal:n,node:s,source:r,mode:o}),i=a.isDefaultPrevented();if(i)return{cancelled:i};const l=a.node.innerHTML;return e.dom.remove(s),{cancelled:i,content:l}})(e,t,n,r,o):{content:t,cancelled:!1})(e,a.content,n,r,o)},sf=(e,t,n,r,o,s)=>{const a=ge(),i=(null==r?void 0:r.jsUrl)?r.jsUrl:(\"/js\",n.replace(/\\/$/,\"\")+\"/\"+\"/js\".replace(/^\\//,\"\"));const c=(e,t)=>(e.undoManager.transact((()=>{var n;nf(e,t),n=e.getBody(),O(A(n.getElementsByTagName(\"*\"),De.fromDom),(e=>{An(e,\"data-mce-style\")&&!An(e,\"style\")&&In(e,\"data-mce-style\").each((t=>Sn(e,\"style\",t)))}))})),k.some(!0)),u=()=>{a.on((t=>e.selection.moveToBookmark(t))),a.clear()},h=te(e),m={baseUrl:i,cacheSuffix:re(e),officeStyles:ce(e),htmlStyles:de(e),gdocsStyles:ue(e),translations:Vp,allowLocalImages:le(e),pasteBinAttrs:{\"data-mce-bogus\":\"all\",class:\"mce-pastebin\"},intraFlag:{isMarked:Yp,findClipboardTags:e=>{const t=L(e,(e=>Ce(e)&&W(Ne(e),Kp())));return t.length?k.some(t):k.none()}},keepSrc:ie(e),cleanFilteredInlineElements:he(e),indentUseMargin:se(e),sanitizer:o,tabSpaces:h,defaultProtocol:me(e)},p=((e,t,n,r,o=Pr)=>{const s={...{...fr,sanitizer:sc(r.intraFlag.isMarked)},...Ue(r,l)},a=wt(o,s.baseUrl,s.cacheSuffix),i=mr(s.pasteBinAttrs),c=[zp(s),Fp(a,t,s),Up(t,s,n,e),jp(t,s,n,e),Bp(s),Hp(s.tabSpaces,s.defaultProtocol)],u=((e,t,n,r,o)=>Mp(Ec.fallback,Op,[ap(r,n,o,t.intraFlag),mu(e,t),tp(o,t.intraFlag,t),qc(t),Ip],!1))(t,s,n,i,e);return Nc(c,u,s.sanitizer)})(De.fromDom(e.getBody()),(e=>({createDialog:()=>{let t=\"\";const n=ge(),r=(()=>{const e=fe([{text:\"Close\",name:\"close\",type:\"custom\",primary:!0}]),t=fe({});return{setButtons:n=>{const r={},o=A(n,(e=>{const t=e.text;return r[t.toLowerCase()]=e.click,{text:t,name:t.toLowerCase(),type:\"custom\"}}));t.set(r),e.set(o)},getButtons:e.get,getAction:e=>{const n=t.get();return ze(n,e)?k.some(n[e]):k.none()}}})(),o=Ct({close:St([])}),s=()=>{o.trigger.close()};return{events:o.registry,setTitle:e=>t=e,setContent:e=>n.set(e),setButtons:e=>{r.setButtons(e)},show:()=>{n.on((n=>{const o=Gp(n.dom),a={title:t,body:{type:\"panel\",items:[{type:\"htmlpanel\",html:o}]},initialData:{},buttons:r.getButtons(),onCancel:s,onAction:(e,t)=>{r.getAction(t.name).each(y),e.close()}};e.windowManager.open(a)}))},hide:d,destroy:()=>{n.clear()},reflow:d}}}))(e).createDialog,d,m,Wp),f=((e=ac,t=fr.tabSpaces)=>Nc([Hp(t,fr.defaultProtocol)],Mp(Ec.discard,Pp,[rp],!0),e))(o,h);return O([p,f],(t=>{t.events.cancel.bind((()=>{u()})),t.events.error.bind((t=>{u(),e.notificationManager?e.notificationManager.open({text:Vp(t.message),type:\"error\"}):((e,t)=>{const n={title:\"Error\",body:{type:\"panel\",items:[{type:\"htmlpanel\",html:t}]},initialData:{},buttons:[{text:\"OK\",type:\"cancel\",name:\"ok\",primary:!0}]};e.windowManager.open(n)})(e,Vp(t.message))})),t.events.insert.bind((t=>{const n=A(t.elements,(e=>Gp(e.dom))).join(\"\");e.focus(),s.importImages(t.assets).get((()=>{u();const r=of(e,n,t.isInternal,t.source,t.mode);r.cancelled||(((e,t)=>{((e,t,n)=>{B(n,(n=>n(e,t)))})(e,t,(ne(e)?[ef,tf]:[]).concat([c]))})(e,r.content),oe(e)&&s.uploadImages(t.assets))}))})),t.events.block.bind((t=>{e.setProgressState(t.state)}))})),{pasteHtml:e=>p.pasteCustom(((e,t=ac)=>({getWordData:()=>k.from(e).filter(xc).map((e=>hc({html:e,rtf:Qi()}))),getGoogleDocsData:()=>k.from(e).filter(kc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:k.none,getHtml:()=>k.some(Ac(t.sanitizeHtml(e))),getText:k.none,getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteText:e=>f.pasteCustom(((e,t=ac)=>({getWordData:k.none,getGoogleDocsData:k.none,getImage:k.none,getHtml:k.none,getText:()=>k.some(mc({text:t.sanitizeText(e)})),getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteEvent:n=>{(e=>{return(t=e,k.from(t.clipboardData).bind((e=>k.from(e.getData(\"text/html\"))))).bind((e=>(e=>W(e,\"<google-sheets-html-origin\"))(e)?k.some(\"googlesheets\"):(e=>W(e,\" data-ccp-props=\")&&W(e,\" paraid=\")&&/font-family:.+?_MSFontService(&quot;)?[,;]/.test(e))(e)?k.some(\"mswordonline\"):(e=>W(e,\"<meta name=ProgId content=Excel.Sheet>\")&&!W(e,'=\"urn:schemas-microsoft-com:office:'))(e)?k.some(\"msexcelonline\"):k.none()));var t})(n).each((t=>{((e,t)=>{e.dispatch(\"PowerPasteTempStats\",{source:t})})(e,t)})),a.isSet()||a.set(e.selection.getBookmark(1)),(t.isText()?f:p).paste(n),t.reset(),n.stopImmediatePropagation()}}},af=(e,t)=>{const n=tinymce.html.DomParser({},e.schema).parse(t,{forced_root_block:!1,isRootContent:!0});return tinymce.html.Serializer({validate:!0},e.schema).serialize(n)},lf=(e,t)=>{e.dom.bind(t,\"drop dragstart dragend dragover dragenter dragleave dragdrop draggesture\",(e=>{e.preventDefault(),e.stopImmediatePropagation()}))},cf=e=>{var t,n;return I(null!==(n=null===(t=e.dataTransfer)||void 0===t?void 0:t.items)&&void 0!==n?n:[],(e=>$(e.type,\"image/\")))},uf=(e,t,n,r)=>{const o=tinymce.dom.RangeUtils;let s;const a=t=>{var n,r;const s=o.getCaretRangeFromPoint(null!==(n=t.clientX)&&void 0!==n?n:0,null!==(r=t.clientY)&&void 0!==r?r:0,e.getDoc());e.focus(),l(s)&&e.selection.setRng(s)};e.on(\"dragstart dragend\",(e=>{s=\"dragstart\"===e.type})),e.on(\"dragover dragend dragleave\",(e=>{s||cf(e)||(e.preventDefault(),a(e))}));const i=(e,t)=>t in e&&e[t].length>0;e.on(\"drop\",(t=>{if(!s&&!cf(t)){a(t);const o=(t=>{var n,r,o;const s=null!==(o=null!==(n=t.target.files)&&void 0!==n?n:null===(r=t.dataTransfer)||void 0===r?void 0:r.files)&&void 0!==o?o:[],a=pe(e);return L(s,(e=>$(e.type,\"image/\")&&I(a,(t=>(e=>{const t=e.toLowerCase(),n={jpg:\"jpeg\",jpe:\"jpeg\",jfi:\"jpeg\",jif:\"jpeg\",jfif:\"jpeg\",pjpeg:\"jpeg\",pjp:\"jpeg\",svg:\"svg+xml\"};return ze(n,t)?\"image/\"+n[t]:\"image/\"+t})(t)===e.type))))})(t);if(o.length>0)return(t=>{Mc(t).then((t=>{const n=(e=>A(e,(e=>{const t=De.fromTag(\"img\"),n=Dc.cata(e,r.getLocalURL,((e,t,n)=>t));return Sn(t,\"src\",n),t.dom.outerHTML})).join(\"\"))(t),o=of(e,n,!1,\"imagedrop\",\"auto\");o.cancelled||(e.insertContent(o.content,{merge:ee(e)}),oe(e)&&r.uploadImages(t))}))})(o),void t.preventDefault();const s=(e=>{const t={};if(e&&e.types)for(let n=0;n<e.types.length;n++){const r=e.types[n];t[r]=e.getData(r)}return t})(t.dataTransfer);i(s,\"text/html\")?(n.pasteHtml(s[\"text/html\"]),t.preventDefault()):i(s,\"text/plain\")&&!(e=>{const t=e[\"text/plain\"];return!!t&&0===t.indexOf(\"file://\")})(s)&&(n.pasteText(s[\"text/plain\"]),t.preventDefault())}}))};tinymce.PluginManager.requireLangPack(\"powerpaste\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"powerpaste\",(e=>(t,r)=>{if(((e,t)=>!!e&&-1===((e,t)=>{const n=J(e.major,t.major);if(0!==n)return n;const r=J(e.minor,t.minor);if(0!==r)return r;const o=J(e.patch,t.patch);return 0!==o?o:0})((e=>X((e=>[e.majorVersion,e.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(e)))(e),X(t)))(tinymce,\"6.0.0\"))return void console.error('The \"powerpaste\" plugin requires at least version 6.0.0 of TinyMCE.');(e=>{const t=e.options.register,r=e=>{const t=c(e)||(e=>n(e)&&T([\"clean\",\"merge\",\"prompt\"],e))(e);return t?{value:e,valid:t}:{valid:!1,message:\"Must be prompt, clean or merge.\"}};t(\"powerpaste_block_drop\",{processor:\"boolean\",default:!1}),t(\"powerpaste_keep_unsupported_src\",{processor:\"boolean\",default:!1}),t(\"powerpaste_allow_local_images\",{processor:\"boolean\",default:!0}),t(\"powerpaste_word_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_googledocs_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_html_import\",{processor:r,default:\"clean\"}),t(\"powerpaste_clean_filtered_inline_elements\",{processor:\"string[]\",default:[]}),e.options.isRegistered(\"link_default_protocol\")||t(\"link_default_protocol\",{processor:\"string\",default:\"https\"})})(t),(e=>{const t=e.options.set;t(\"paste_block_drop\",!1),t(\"paste_remove_styles_if_webkit\",!1)})(t);const o=(e=>{const t=fe(Q(e)),n=fe(!1);return e.on(\"keydown\",(e=>{(e=>tinymce.util.VK.metaKeyPressed(e)&&86===e.keyCode&&e.shiftKey)(e)&&n.set(!0)})),e.on(\"PastePlainTextToggle\",(e=>{t.set(e.state)})),{reset:()=>{n.set(!1)},isText:()=>n.get()||t.get()}})(t),s=(e=>{const t=(e,t)=>m(e+\".\"+(e=>{const t=e.toLowerCase(),n={\"image/jpeg\":\"jpg\",\"image/jpg\":\"jpg\",\"image/gif\":\"gif\",\"image/png\":\"png\",\"image/apng\":\"apng\",\"image/avif\":\"avif\",\"image/svg+xml\":\"svg\",\"image/webp\":\"webp\",\"image/bmp\":\"bmp\",\"image/tiff\":\"tiff\"};return ze(n,t)?n[t]:\"dat\"})(t)),n=(n,r,o,s)=>kr((a=>{fi(r).then((r=>{e.editorUpload.blobCache.add({id:m(n),name:m(n),filename:t(n,r.type),blob:m(r),base64:m(o.split(\",\")[1]),blobUri:m(s),uri:m(void 0)}),a(r)}))}));return{importImages:e=>{const t=R(e,(e=>Dc.cata(e,((e,t,r)=>{const o=gi(t);return[n(e,t,o,r)]}),m([]))));return wr(t)},uploadImages:()=>{e.uploadImages()},getLocalURL:(e,t,n)=>gi(t)}})(t),a=(e=>{const t=sc(Yp),n=(e=>({sanitizeHtml:g(af,e),sanitizeText:p}))(e);return{sanitizeText:t.sanitizeText,sanitizeHtml:(e,r)=>(Yp(e)?n:t).sanitizeHtml(e,r)}})(t);t.on(\"PreInit\",(()=>{if(t.removed)return;const i=sf(t,o,r,e,a,s);((e,t)=>{e.addCommand(\"mceInsertClipboardContent\",((e,r)=>{n(r.html)?t.pasteHtml(r.html):n(r.text)&&t.pasteText(r.text)}))})(t,i),((e,t)=>{e.on(\"paste\",(e=>{e.isDefaultPrevented()||(e=>{var t,n;const r=null!==(n=null===(t=e.clipboardData)||void 0===t?void 0:t.items)&&void 0!==n?n:[],o=L(r,(e=>$(e.type,\"image/\")));return o.length>0&&o.length===r.length})(e)||t.pasteEvent(e)}))})(t,i),ae(t)?(e=>{lf(e,e.getBody()),e.inline||lf(e,e.getDoc())})(t):uf(t,0,i,s)}))})(undefined))}();/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n// Generated by js_of_ocaml 4.0.0\n(function(a){typeof\nglobalThis!==\"object\"&&(this?b():(a.defineProperty(a.prototype,\"_T_\",{configurable:true,get:b}),_T_));function\nb(){var\nb=this||self;b.globalThis=b;delete\na.prototype._T_}}(Object));(function(x){\"use strict\";var\njI=\"q\",f8=\"i\",aU=\"img\",i3=\"Invalid_argument\",d7=\"Map.bal\",i2=\"@[\",i1=\"%ni\",jH=\"data-text-indent-alt\",c0=\"th\",bb=\"!\",i0=\"align\",jG=\"applewebkit\",b5=\"label\",bt=\"col\",ag=0xff,cc=\"title\",fI=\"del\",l=-579472809,cZ=\"font\",iZ=\"strike\",X=\"contents\",cK=\"height\",iY=\"abbr\",af=\"0\",f7=\"samp\",c=-841728391,R=698996132,cY=128,iX=\"Sys_blocked_io\",aT=\"p\",cX=\"start\",jF=\"fd \",iW=\"normal\",ba=\"form\",A=248,f6=\"DeltaViewInsertion\",f5=\"var\",f4=\" {\\n\",cW=\">\",jE=1027,f3=\"em\",aC=0xFF,ei=\"caption\",ao=246,bI=\"td\",bs=\"object\",iV=\"%u\",fH=\"[endif]\",cV=\"noscript\",jD=\"error\",a$=\"table\",cH=\"tbody\",cI=127,cJ=1024,ap=\"script\",iU=\"@{\",f1=\"1\",f2=\"e\",fG=\" : flags Open_rdonly and Open_wronly are not compatible\",jC=\"mso-list\",eh=\"button\",cU=\"h1\",br=\"-\",f0=\": Not a directory\",fF=\" : file already exists\",fZ=\"b\",a7=0xffffff,iT=\"startfragment\",fE=\"strong\",jB=\"Out_of_memory\",eg=\"big\",$=\"ul\",jA=\": closedir failed\",fY=\"index out of bounds\",d6=\"select\",at=\"tr\",ef=\"_bigarr02\",ee=\"@\",iR=\", characters \",iS=0x7F,cb=\"isindex\",aV=0xffff,d5=\"basefont\",iP=\"wordimport.js\",d4=\"none\",iQ=12520,d3=\"small\",jz=\"infinity\",aa=\"li\",d2=\"menu\",cG=1000,e=\"\",cT=\"sub\",iO=\"^\",ca=749117977,bq=0x3f,bC=\"link\",iN=\"src\",ed=\"frame\",iM=\"Match_failure\",jy=\"mso-element\",cS=\"html\",ec=\"iframe\",eb=252,an=0x00,iL=\" : is a directory\",bu=\".\",b4=\"+\",jw=\"safari\",fX=\"tt\",jx=0xf0,jv=\"<![endif]\",b3=\"param\",bH=\"width\",iK=\"%li\",ju=\"map\",bG=\"fieldset\",bB=\"a\",iJ=65536,fW=-32,fD=\")\",d1=\"legend\",bA=-810056052,fC=\"nan\",jt=\"list-style-type\",js=\"closedir\",d0=\"applet\",iI=0xe0,iH=0xdfff,b2=\"div\",aS=\"/\",jr=\"Assert_failure\",dZ=\"s\",bp=\"meta\",fB=\"ENOTDIR\",fA=1073741823,j=870530776,b1=\"dl\",bo=250,b$=\"frameset\",cR=\"blockquote\",ea=\",\",bF='\"',iG=\"function\",fz=1255,fV=\"<\",jq=\"Fatal error: exception %s\\n\",b0=255,jp=0x800,fy=\"jsError\",aR=0x8000,aK=256,aE=\"style\",fx=\"\\n}\",iF=\"End_of_file\",jo=\"text-align\",dY=\"center\",jn=\"data-main\",fw=\"Failure\",iE=\"data-converted-paragraph\",v=50834029,fv=\"code\",fU=\"ENOENT\",iD=\".5pt\",fu=\"dfn\",jm=\"([^/]+)\",fT=0xf,iB=-48,iC=0xdc00,jl=\"ENOTEMPTY\",ft=\"EBADF\",iA=\"data-list-level\",N=\"camlinternalFormat.ml\",jk=\"Division_by_zero\",jj=\"<\\/\",iz=\"Sys_error\",fs=\"cite\",b_=\"noframes\",W=\"ol\",ji=\": \",iy=\"EEXIST\",fS=\"%d\",ix=\"Printexc.handle_uncaught_exception\",d$=\"optgroup\",fr=\"kbd\",jg=\"'\",jh=\"buffer.ml\",cQ=\"h5\",dX=\"int_of_string\",dW=\"dt\",iw=\"display\",iu=120,iv=103,d_=\"colgroup\",cF=\"h6\",a_=\"head\",cP=\"h3\",it=512,jf=\"br\",is=0x7ff0,b9=\"data-list-id\",a9=\"body\",dV=\"u\",ir=\"0x\",dU=\"\\n\",cE=\"h2\",d9=254,iq=\"bdo\",fR=100,cO=\"pre\",io=\"%Li\",ip=\": file descriptor already closed\",fQ=\" : flags Open_text and Open_binary are not compatible\",dT=\"area\",je=\"Safari\",cN=\"tfoot\",dS=\"input\",bz=\"span\",fq=3257036,a8=-804212868,cD=\"thead\",fP=17731,im=\"lexing: empty token\",fO=\"Unix.Unix_error\",by=\"--\",jd=\"&nbsp;\",fp=\"mkdir\",jc=\"Stack_overflow\",fo=\"v:shape\",cC=\"address\",dR=\": No such file or directory\",ja=\"border\",jb=\"/static/\",i$=-97,i9=\"tab-interval\",i_=\"Not_found\",i8=\"chrome\",cM=\"dd\",fn=\"ins\",cB=\", \",i=781665294,il=0xFE,fN=\"rmdir\",bE=\"dir\",fm=\"data-list-type\",bn=\"class\",i7=1026,i6=\"Chromium\",cL=\"sup\",fM=\"?\",dQ=\"list-style\",ik=\"Pervasives.do_at_exit\",ae=\" \",fL=\"Fatal error: exception \",aD=0x80,ij=\"Undefined_recursive_module\",b8=\"base\",bD=\":\",i5=\"\\xc2\\xa0\",b7=\"option\",b6=\"hr\",ii=\"cleanDocument\",cA=\"h4\",o=-936778451,dP=\"Set.bal\",i4=\"_\",fK=\"compare: functional value\",ih=\"%i\",d8=\"true\",dO=\"textarea\",fJ=\"acronym\";function\nzB(d,b,e,c,f){if(c<=b)for(var\na=1;a<=f;a++)e[c+a]=d[b+a];else\nfor(var\na=f;a>=1;a--)e[c+a]=d[b+a];return 0}function\nzC(e,f,d){var\na=new\nArray(d+1);a[0]=0;for(var\nb=1,c=f+1;b<=d;b++,c++)a[b]=e[c];return a}function\nc_(c,b,a){var\nd=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var\nf=e;for(;0<a;b+=cJ,a-=cJ)f+=d.apply(null,c.slice(b,b+Math.min(a,cJ)));return f}function\nek(b){var\nc=new\nUint8Array(b.l),e=b.c,d=e.length,a=0;for(;a<d;a++)c[a]=e.charCodeAt(a);for(d=b.l;a<d;a++)c[a]=0;b.c=c;b.t=4;return c}function\nbc(d,e,b,f,c){if(c==0)return 0;if(f==0&&(c>=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else\nif(b.t==2&&f==b.c.length){b.c+=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else{if(b.t!=4)ek(b);var\ng=d.c,h=b.c;if(d.t==4)if(f<=e)for(var\na=0;a<c;a++)h[f+a]=g[e+a];else\nfor(var\na=c-1;a>=0;a--)h[f+a]=g[e+a];else{var\ni=Math.min(c,g.length-e);for(var\na=0;a<i;a++)h[f+a]=g.charCodeAt(e+a);for(;a<c;a++)h[f+a]=0}}return 0}function\nau(a){return a}function\nbd(a,b,c,d,e){bc(au(a),b,c,d,e);return 0}function\ncf(b,a){if(b==0)return e;if(a.repeat)return a.repeat(b);var\nd=e,c=0;for(;;){if(b&1)d+=a;b>>=1;if(b==0)return d;a+=a;c++;if(c==9)a.slice(0,1)}}function\nbM(a){if(a.t==2)a.c+=cf(a.l-a.c.length,\"\\0\");else\na.c=c_(a.c,0,a.c.length);a.t=0}function\njS(a,b){if(a===b)return 1;a.t&6&&bM(a);b.t&6&&bM(b);return a.c==b.c?1:0}function\nAo(b,a){throw[0,b,a]}function\nkd(a){if(a.length<24){for(var\nb=0;b<a.length;b++)if(a.charCodeAt(b)>cI)return false;return true}else\nreturn!/[^\\x00-\\x7f]/.test(a)}function\nAx(f){for(var\nk=e,c=e,h,g,i,a,b=0,j=f.length;b<j;b++){g=f.charCodeAt(b);if(g<aD){for(var\nd=b+1;d<j&&(g=f.charCodeAt(d))<aD;d++);if(d-b>it){c.substr(0,1);k+=c;c=e;k+=f.slice(b,d)}else\nc+=f.slice(b,d);if(d==j)break;b=d}a=1;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(g<<6);if(g<iI){a=h-0x3080;if(a<aD)a=1}else{a=2;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(h<<6);if(g<jx){a=h-0xe2080;if(a<jp||a>=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY&&g<0xf5){a=i-0x3c82080+(h<<6);if(a<0x10000||a>0x10ffff)a=3}}}}}if(a<4){b-=a;c+=\"\\ufffd\"}else\nif(a>aV)c+=String.fromCharCode(0xd7c0+(a>>10),iC+(a&0x3FF));else\nc+=String.fromCharCode(a);if(c.length>cJ){c.substr(0,1);k+=c;c=e}}return k+c}function\naW(c,a,b){this.t=c;this.c=a;this.l=b}aW.prototype.toString=function(){switch(this.t){case\n9:return this.c;default:bM(this);case\n0:if(kd(this.c)){this.t=9;return this.c}this.t=8;case\n8:return this.c}};aW.prototype.toUtf16=function(){var\na=this.toString();if(this.t==9)return a;return Ax(a)};aW.prototype.slice=function(){var\na=this.t==4?this.c.slice():this.c;return new\naW(this.t,a,this.l)};function\njT(a){return new\naW(0,a,a.length)}function\na(a){return jT(a)}function\ngn(c,b){Ao(c,a(b))}var\naG=[0];function\nL(a){gn(aG.Invalid_argument,a)}function\njQ(){L(fY)}function\nbL(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case\n0:return a.c.charCodeAt(b);case\n4:return a.c[b]}}function\nbK(b,a){if(a>>>0>=b.l)jQ();return bL(b,a)}function\nH(a,c,b){b&=ag;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}ek(a)}a.c[c]=b;return 0}function\naL(b,a,c){if(a>>>0>=b.l)jQ();return H(b,a,c)}function\naF(c,a){if(c.fun)return aF(c.fun,a);if(typeof\nc!==\"function\")return c;var\nb=c.length|0;if(b===0)return c.apply(null,a);var\ne=a.length|0,d=b-e|0;if(d==0)return c.apply(null,a);else\nif(d<0)return aF(c.apply(null,a.slice(0,b)),a.slice(b));else\nreturn function(){var\ne=arguments.length==0?1:arguments.length,d=new\nArray(a.length+e);for(var\nb=0;b<a.length;b++)d[b]=a[b];for(var\nb=0;b<arguments.length;b++)d[a.length+b]=arguments[b];return aF(c,d)}}function\nc2(){L(fY)}function\nw(a,b){if(b>>>0>=a.length-1)c2();return a}function\nzG(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function\naw(a){a.t&6&&bM(a);return a.c}var\nAA=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function\nAz(a){if(AA)return Math.floor(Math.log2(a));var\nb=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else\nwhile(a<1){a*=2;b--}return b}function\ngf(c){var\na=new\nFloat32Array(1);a[0]=c;var\nb=new\nInt32Array(a.buffer);return b[0]|0}var\njZ=Math.pow(2,-24);function\nj9(a){throw a}function\ngo(){j9(aG.Division_by_zero)}function\nm(b,c,a){this.lo=b&a7;this.mi=c&a7;this.hi=a&aV}m.prototype.caml_custom=\"_j\";m.prototype.copy=function(){return new\nm(this.lo,this.mi,this.hi)};m.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hi<a.hi)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.compare=function(a){var\nb=this.hi<<16,c=a.hi<<16;if(b>c)return 1;if(b<c)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.neg=function(){var\na=-this.lo,b=-this.mi+(a>>24),c=-this.hi+(b>>24);return new\nm(a,b,c)};m.prototype.add=function(a){var\nb=this.lo+a.lo,c=this.mi+a.mi+(b>>24),d=this.hi+a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.sub=function(a){var\nb=this.lo-a.lo,c=this.mi-a.mi+(b>>24),d=this.hi-a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.mul=function(a){var\nb=this.lo*a.lo,c=(b*jZ|0)+this.mi*a.lo+this.lo*a.mi,d=(c*jZ|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new\nm(b,c,d)};m.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};m.prototype.isNeg=function(){return this.hi<<16<0};m.prototype.and=function(a){return new\nm(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};m.prototype.or=function(a){return new\nm(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};m.prototype.xor=function(a){return new\nm(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};m.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo<<a,this.mi<<a|this.lo>>24-a,this.hi<<a|this.mi>>24-a);if(a<48)return new\nm(0,this.lo<<a-24,this.mi<<a-24|this.lo>>48-a);return new\nm(0,0,this.lo<<a-48)};m.prototype.shift_right_unsigned=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new\nm(this.hi>>a-48,0,0)};m.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var\nc=this.hi<<16>>16;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var\nb=this.hi<<16>>31;if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&aV);return new\nm(this.hi<<16>>a-32,b,b)};m.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&a7;this.lo=this.lo<<1&a7};m.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&a7;this.mi=(this.mi>>>1|this.hi<<23)&a7;this.hi=this.hi>>>1};m.prototype.udivmod=function(e){var\nc=0,b=this.copy(),a=e.copy(),d=new\nm(0,0,0);while(b.ucompare(a)>0){c++;a.lsl1()}while(c>=0){c--;d.lsl1();if(b.ucompare(a)>=0){d.lo++;b=b.sub(a)}a.lsr1()}return{quotient:d,modulus:b}};m.prototype.div=function(a){var\nb=this;if(a.isZero())go();var\nd=b.hi^a.hi;if(b.hi&aR)b=b.neg();if(a.hi&aR)a=a.neg();var\nc=b.udivmod(a).quotient;if(d&aR)c=c.neg();return c};m.prototype.mod=function(b){var\na=this;if(b.isZero())go();var\nd=a.hi;if(a.hi&aR)a=a.neg();if(b.hi&aR)b=b.neg();var\nc=a.udivmod(b).modulus;if(d&aR)c=c.neg();return c};m.prototype.toInt=function(){return this.lo|this.mi<<24};m.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};m.prototype.toArray=function(){return[this.hi>>8,this.hi&ag,this.mi>>16,this.mi>>8&ag,this.mi&ag,this.lo>>16,this.lo>>8&ag,this.lo&ag]};m.prototype.lo32=function(){return this.lo|(this.mi&ag)<<24};m.prototype.hi32=function(){return this.mi>>>8&aV|this.hi<<16};function\nen(b,c,a){return new\nm(b,c,a)}function\nem(a){if(!isFinite(a)){if(isNaN(a))return en(1,0,is);return a>0?en(0,0,is):en(0,0,0xfff0)}var\nf=a==0&&1/a==-Infinity?aR:a>=0?0:aR;if(f)a=-a;var\nb=Az(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-i7)}else{a/=Math.pow(2,b-jE);if(a<16){a*=2;b-=1}if(b==0)a/=2}var\nd=Math.pow(2,24),c=a|0;a=(a-c)*d;var\ne=a|0;a=(a-e)*d;var\ng=a|0;c=c&fT|f|b<<4;return en(g,e,c)}function\nc6(a){return a.toArray()}function\njP(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==ef)for(var\na=0;a<b.dims.length;a++)if(b.dims[a]<aV)c.write(16,b.dims[a]);else{c.write(16,aV);c.write(32,0);c.write(32,b.dims[a])}else\nfor(var\na=0;a<b.dims.length;a++)c.write(32,b.dims[a]);switch(b.kind){case\n2:case\n3:case\n12:for(var\na=0;a<b.data.length;a++)c.write(8,b.data[a]);break;case\n4:case\n5:for(var\na=0;a<b.data.length;a++)c.write(16,b.data[a]);break;case\n6:for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n8:case\n9:c.write(8,0);for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n7:for(var\na=0;a<b.data.length/2;a++){var\ne=c6(b.get(a));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n1:for(var\na=0;a<b.data.length;a++){var\ne=c6(em(b.get(a)));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n0:for(var\na=0;a<b.data.length;a++){var\ne=gf(b.get(a));c.write(32,e)}break;case\n10:for(var\na=0;a<b.data.length/2;a++){var\nd=b.get(a);c.write(32,gf(d[1]));c.write(32,gf(d[2]))}break;case\n11:for(var\na=0;a<b.data.length/2;a++){var\nf=b.get(a),e=c6(em(f[1]));for(var\nd=0;d<8;d++)c.write(8,e[d]);var\ne=c6(em(f[2]));for(var\nd=0;d<8;d++)c.write(8,e[d])}break}g[0]=(4+b.dims.length)*4;g[1]=(4+b.dims.length)*8}function\njN(a){switch(a){case\n7:case\n10:case\n11:return 2;default:return 1}}function\nzD(b,d){var\na;switch(b){case\n0:a=Float32Array;break;case\n1:a=Float64Array;break;case\n2:a=Int8Array;break;case\n3:a=Uint8Array;break;case\n4:a=Int16Array;break;case\n5:a=Uint16Array;break;case\n6:a=Int32Array;break;case\n7:a=Int32Array;break;case\n8:a=Int32Array;break;case\n9:a=Int32Array;break;case\n10:a=Float32Array;break;case\n11:a=Float64Array;break;case\n12:a=Uint8Array;break}if(!a)L(\"Bigarray.create: unsupported kind\");var\nc=new\na(d*jN(b));return c}function\ngg(c){var\na=new\nInt32Array(1);a[0]=c;var\nb=new\nFloat32Array(a.buffer);return b[0]}function\nc5(a){return new\nm(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function\ngh(d){var\nf=d.lo,g=d.mi,b=d.hi,c=(b&0x7fff)>>4;if(c==2047)return(f|g|b&fT)==0?b&aR?-Infinity:Infinity:NaN;var\ne=Math.pow(2,-24),a=(f*e+g)*e+(b&fT);if(c>0){a+=16;a*=Math.pow(2,c-jE)}else\na*=Math.pow(2,-i7);if(b&aR)a=-a;return a}function\nf9(b){var\nd=b.length,c=1;for(var\na=0;a<d;a++){if(b[a]<0)L(\"Bigarray.create: negative dimension\");c=c*b[a]}return c}function\nzV(b,a){return new\nm(b&a7,b>>>24&ag|(a&aV)<<8,a>>>16&aV)}function\ngi(a){return a.hi32()}function\ngj(a){return a.lo32()}var\nzE=ef;function\nbv(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bv.prototype.caml_custom=zE;bv.prototype.offset=function(b){var\nc=0;if(typeof\nb===\"number\")b=[b];if(!(b\ninstanceof\nArray))L(\"bigarray.js: invalid offset\");if(this.dims.length!=b.length)L(\"Bigarray.get/set: bad number of dimensions\");if(this.layout==0)for(var\na=0;a<this.dims.length;a++){if(b[a]<0||b[a]>=this.dims[a])c2();c=c*this.dims[a]+b[a]}else\nfor(var\na=this.dims.length-1;a>=0;a--){if(b[a]<1||b[a]>this.dims[a])c2();c=c*this.dims[a]+(b[a]-1)}return c};bv.prototype.get=function(a){switch(this.kind){case\n7:var\nd=this.data[a*2+0],b=this.data[a*2+1];return zV(d,b);case\n10:case\n11:var\ne=this.data[a*2+0],c=this.data[a*2+1];return[d9,e,c];default:return this.data[a]}};bv.prototype.set=function(a,b){switch(this.kind){case\n7:this.data[a*2+0]=gj(b);this.data[a*2+1]=gi(b);break;case\n10:case\n11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};bv.prototype.fill=function(b){switch(this.kind){case\n7:var\nc=gj(b),e=gi(b);if(c==e)this.data.fill(c);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?c:e;break;case\n10:case\n11:var\nd=b[1],f=b[2];if(d==f)this.data.fill(d);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?d:f;break;default:this.data.fill(b);break}};bv.prototype.compare=function(b,g){if(this.layout!=b.layout||this.kind!=b.kind){var\ne=this.kind|this.layout<<8,f=b.kind|b.layout<<8;return f-e}if(this.dims.length!=b.dims.length)return b.dims.length-this.dims.length;for(var\na=0;a<this.dims.length;a++)if(this.dims[a]!=b.dims[a])return this.dims[a]<b.dims[a]?-1:1;switch(this.kind){case\n0:case\n1:case\n10:case\n11:var\nc,d;for(var\na=0;a<this.data.length;a++){c=this.data[a];d=b.data[a];if(c<d)return-1;if(c>d)return 1;if(c!=d){if(!g)return NaN;if(c==c)return 1;if(d==d)return-1}}break;case\n7:for(var\na=0;a<this.data.length;a+=2){if(this.data[a+1]<b.data[a+1])return-1;if(this.data[a+1]>b.data[a+1])return 1;if(this.data[a]>>>0<b.data[a]>>>0)return-1;if(this.data[a]>>>0>b.data[a]>>>0)return 1}break;case\n2:case\n3:case\n4:case\n5:case\n6:case\n8:case\n9:case\n12:for(var\na=0;a<this.data.length;a++){if(this.data[a]<b.data[a])return-1;if(this.data[a]>b.data[a])return 1}break}return 0};function\ncd(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}cd.prototype=new\nbv();cd.prototype.offset=function(a){if(typeof\na!==\"number\")if(a\ninstanceof\nArray&&a.length==1)a=a[0];else\nL(\"Ml_Bigarray_c_1_1.offset\");if(a<0||a>=this.dims[0])c2();return a};cd.prototype.get=function(a){return this.data[a]};cd.prototype.set=function(a,b){this.data[a]=b;return 0};cd.prototype.fill=function(a){this.data.fill(a);return 0};function\njL(c,d,a,b){var\ne=jN(c);if(f9(a)*e!=b.length)L(\"length doesn't match dims\");if(d==0&&a.length==1&&e==1)return new\ncd(c,d,a,b);return new\nbv(c,d,a,b)}function\nav(b){if(!aG.Failure)aG.Failure=[A,a(fw),-3];gn(aG.Failure,b)}function\njM(b,v,r){var\ni=b.read32s();if(i<0||i>16)av(\"input_value: wrong number of bigarray dimensions\");var\np=b.read32s(),j=p&ag,o=p>>8&1,h=[];if(r==ef)for(var\na=0;a<i;a++){var\nn=b.read16u();if(n==aV){var\nt=b.read32u(),u=b.read32u();if(t!=0)av(\"input_value: bigarray dimension overflow in 32bit\");n=u}h.push(n)}else\nfor(var\na=0;a<i;a++)h.push(b.read32u());var\nd=f9(h),f=zD(j,d),g=jL(j,o,h,f);switch(j){case\n2:for(var\na=0;a<d;a++)f[a]=b.read8s();break;case\n3:case\n12:for(var\na=0;a<d;a++)f[a]=b.read8u();break;case\n4:for(var\na=0;a<d;a++)f[a]=b.read16s();break;case\n5:for(var\na=0;a<d;a++)f[a]=b.read16u();break;case\n6:for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n8:case\n9:var\ns=b.read8u();if(s)av(\"input_value: cannot read bigarray with 64-bit OCaml ints\");for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n7:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nq=c5(e);g.set(a,q)}break;case\n1:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nk=gh(c5(e));g.set(a,k)}break;case\n0:for(var\na=0;a<d;a++){var\nk=gg(b.read32s());g.set(a,k)}break;case\n10:for(var\na=0;a<d;a++){var\nm=gg(b.read32s()),l=gg(b.read32s());g.set(a,[d9,m,l])}break;case\n11:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nm=gh(c5(e));for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nl=gh(c5(e));g.set(a,[d9,m,l])}break}v[0]=(4+i)*4;return jL(j,o,h,f)}function\njK(a,b,c){return a.compare(b,c)}function\nep(a,b){return Math.imul(a,b)}function\nY(b,a){a=ep(a,0xcc9e2d51|0);a=a<<15|a>>>32-15;a=ep(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function\nzQ(a,b){a=Y(a,gj(b));a=Y(a,gi(b));return a}function\ngd(a,b){return zQ(a,em(b))}function\njO(c){var\nb=f9(c.dims),d=0;switch(c.kind){case\n2:case\n3:case\n12:if(b>aK)b=aK;var\ne=0,a=0;for(a=0;a+4<=c.data.length;a+=4){e=c.data[a+0]|c.data[a+1]<<8|c.data[a+2]<<16|c.data[a+3]<<24;d=Y(d,e)}e=0;switch(b&3){case\n3:e=c.data[a+2]<<16;case\n2:e|=c.data[a+1]<<8;case\n1:e|=c.data[a+0];d=Y(d,e)}break;case\n4:case\n5:if(b>cY)b=cY;var\ne=0,a=0;for(a=0;a+2<=c.data.length;a+=2){e=c.data[a+0]|c.data[a+1]<<16;d=Y(d,e)}if((b&1)!=0)d=Y(d,c.data[a]);break;case\n6:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n8:case\n9:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n7:if(b>32)b=32;b*=2;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n10:b*=2;case\n0:if(b>64)b=64;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break;case\n11:b*=2;case\n1:if(b>32)b=32;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break}return d}function\nzT(a,b){b[0]=4;return a.read32s()}function\nAj(a,b){switch(a.read8u()){case\n1:b[0]=4;return a.read32s();case\n2:av(\"input_value: native integer value too large\");default:av(\"input_value: ill-formed native integer\")}}function\nz4(c,d){var\nb=new\nArray(8);for(var\na=0;a<8;a++)b[a]=c.read8u();d[0]=8;return c5(b)}function\nz0(e,d,b){var\nc=c6(d);for(var\na=0;a<8;a++)e.write(8,c[a]);b[0]=8;b[1]=8}function\nzU(a,b,c){return a.compare(b)}function\nzX(a){return a.lo32()^a.hi32()}var\nc4={\"_j\":{deserialize:z4,serialize:z0,fixed_length:8,compare:zU,hash:zX},\"_i\":{deserialize:zT,fixed_length:4},\"_n\":{deserialize:Aj,fixed_length:4},\"_bigarray\":{deserialize:function(a,b){return jM(a,b,\"_bigarray\")},serialize:jP,compare:jK,hash:jO},\"_bigarr02\":{deserialize:function(a,b){return jM(a,b,ef)},serialize:jP,compare:jK,hash:jO}};function\nga(a){return c4[a.caml_custom]&&c4[a.caml_custom].compare}function\njU(f,c,d,e){var\nb=ga(c);if(b){var\na=d>0?b(c,f,e):b(f,c,e);if(e&&a!=a)return d;if(+a!=+a)return+a;if((a|0)!=0)return a|0}return d}function\nc8(a){return a\ninstanceof\naW}function\neo(a){return c8(a)}function\njV(a){if(typeof\na===\"number\")return cG;else\nif(c8(a))return eb;else\nif(eo(a))return 1252;else\nif(a\ninstanceof\nArray&&a[0]===a[0]>>>0&&a[0]<=b0){var\nb=a[0]|0;return b==d9?0:b}else\nif(a\ninstanceof\nString)return iQ;else\nif(typeof\na==\"string\")return iQ;else\nif(a\ninstanceof\nNumber)return cG;else\nif(a&&a.caml_custom)return fz;else\nif(a&&a.compare)return 1256;else\nif(typeof\na==\"function\")return 1247;else\nif(typeof\na==\"symbol\")return 1251;return 1001}function\nj0(a,b){if(a<b)return-1;if(a==b)return 0;return 1}function\njR(a,b){a.t&6&&bM(a);b.t&6&&bM(b);return a.c<b.c?-1:a.c>b.c?1:0}function\nc9(a,b){return jR(a,b)}function\nf$(a,b,d){var\ne=[];for(;;){if(!(d&&a===b)){var\nf=jV(a);if(f==bo){a=a[1];continue}var\ng=jV(b);if(g==bo){b=b[1];continue}if(f!==g){if(f==cG){if(g==fz)return jU(a,b,-1,d);return-1}if(g==cG){if(f==fz)return jU(b,a,1,d);return 1}return f<g?-1:1}switch(f){case\n247:L(fK);break;case\n248:var\nc=j0(a[2],b[2]);if(c!=0)return c|0;break;case\n249:L(fK);break;case\n250:L(\"equal: got Forward_tag, should not happen\");break;case\n251:L(\"equal: abstract value\");break;case\n252:if(a!==b){var\nc=jR(a,b);if(c!=0)return c|0}break;case\n253:L(\"equal: got Double_tag, should not happen\");break;case\n254:L(\"equal: got Double_array_tag, should not happen\");break;case\n255:L(\"equal: got Custom_tag, should not happen\");break;case\n1247:L(fK);break;case\n1255:var\ni=ga(a);if(i!=ga(b))return a.caml_custom<b.caml_custom?-1:1;if(!i)L(\"compare: abstract value\");var\nc=i(a,b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1256:var\nc=a.compare(b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1000:a=+a;b=+b;if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1001:if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1251:if(a!==b){if(!d)return NaN;return 1}break;case\n1252:var\na=aw(a),b=aw(b);if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n12520:var\na=a.toString(),b=b.toString();if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n246:case\n254:default:if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)e.push(a,b,1);break}}if(e.length==0)return 0;var\nh=e.pop();b=e.pop();a=e.pop();if(h+1<a.length)e.push(a,b,h+1);a=a[h];b=b[h]}}function\nce(a,b){return f$(a,b,true)}function\nzH(){return[0]}function\nD(a){if(a<0)L(\"Bytes.create\");return new\naW(a?2:9,e,a)}function\nbN(a,b){return+(f$(a,b,false)==0)}function\nzJ(a,c,b,d){if(b>0)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=cf(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)ek(a);for(b+=c;c<b;c++)a.c[c]=d}return 0}function\ngm(d){d=aw(d);var\ne=d.length;if(e>31)L(\"format_int: format too long\");var\na={justify:b4,signstyle:br,filler:ae,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:\"f\"};for(var\nc=0;c<e;c++){var\nb=d.charAt(c);switch(b){case\"-\":a.justify=br;break;case\"+\":case\" \":a.signstyle=b;break;case\"0\":a.filler=af;break;case\"#\":a.alternate=true;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":a.width=0;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.width=a.width*10+b;c++}c--;break;case\".\":a.prec=0;c++;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.prec=a.prec*10+b;c++}c--;case\"d\":case\"i\":a.signedconv=true;case\"u\":a.base=10;break;case\"x\":a.base=16;break;case\"X\":a.base=16;a.uppercase=true;break;case\"o\":a.base=8;break;case\"e\":case\"f\":case\"g\":a.signedconv=true;a.conv=b;break;case\"E\":case\"F\":case\"G\":a.signedconv=true;a.uppercase=true;a.conv=b.toLowerCase();break}}return a}function\ngb(b,g){if(b.uppercase)g=g.toUpperCase();var\nf=g.length;if(b.signedconv&&(b.sign<0||b.signstyle!=br))f++;if(b.alternate){if(b.base==8)f+=1;if(b.base==16)f+=2}var\nc=e;if(b.justify==b4&&b.filler==ae)for(var\nd=f;d<b.width;d++)c+=ae;if(b.signedconv)if(b.sign<0)c+=br;else\nif(b.signstyle!=br)c+=b.signstyle;if(b.alternate&&b.base==8)c+=af;if(b.alternate&&b.base==16)c+=b.uppercase?\"0X\":ir;if(b.justify==b4&&b.filler==af)for(var\nd=f;d<b.width;d++)c+=af;c+=g;if(b.justify==br)for(var\nd=f;d<b.width;d++)c+=ae;return a(c)}function\ngc(i,c){function\nj(a,b){if(Math.abs(a)<1.0)return a.toFixed(b);else{var\nc=parseInt(a.toString().split(b4)[1]);if(c>20){c-=20;a/=Math.pow(10,c);a+=new\nArray(c+1).join(af);if(b>0)a=a+bu+new\nArray(b+1).join(af);return a}else\nreturn a.toFixed(b)}}var\na,e=gm(i),d=e.prec<0?6:e.prec;if(c<0||c==0&&1/c==-Infinity){e.sign=-1;c=-c}if(isNaN(c)){a=fC;e.filler=ae}else\nif(!isFinite(c)){a=\"inf\";e.filler=ae}else\nswitch(e.conv){case\"e\":var\na=c.toExponential(d),b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break;case\"f\":a=j(c,d);break;case\"g\":d=d?d:1;a=c.toExponential(d-1);var\nh=a.indexOf(f2),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var\nb=h-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break}else{var\nf=d;if(g<0){f-=g+1;a=c.toFixed(f)}else\nwhile(a=c.toFixed(f),a.length>d+1)f--;if(f){var\nb=a.length-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)}}break}return gb(e,a)}function\nel(f,c){if(aw(f)==fS)return a(e+c);var\nb=gm(f);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else\nc>>>=0;var\nd=c.toString(b.base);if(b.prec>=0){b.filler=ae;var\ng=b.prec-d.length;if(g>0)d=cf(g,af)+d}return gb(b,d)}var\nj7=0;function\nbe(){return j7++}function\ngk(a){return a.toUtf16()}function\nda(){return false}function\nAB(){function\na(a){if(a.charAt(0)===aS)return[e,a.substring(1)];return}function\nb(c){var\nh=/^([a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/]+[^\\\\/]+)?([\\\\/])?([\\s\\S]*?)$/,a=h.exec(c),b=a[1]||e,f=Boolean(b&&b.charAt(1)!==bD);if(Boolean(a[2]||f)){var\nd=a[1]||e,g=a[2]||e;return[d,c.substring(d.length+g.length)]}return}return da()&&x.process&&x.process.platform?x.process.platform===\"win32\"?b:a:a}var\ngq=AB();function\nkb(a){return a.slice(-1)!==aS?a+aS:a}if(da()&&x.process&&x.process.cwd)var\nc3=x.process.cwd().replace(/\\\\/g,aS);else\nvar\nc3=\"/static\";c3=kb(c3);function\nAa(a){a=gk(a);if(!gq(a))a=c3+a;var\ne=gq(a),d=e[1].split(aS),b=[];for(var\nc=0;c<d.length;c++)switch(d[c]){case\"..\":if(b.length>1)b.pop();break;case\".\":break;case\"\":break;default:b.push(d[c]);break}b.unshift(e[0]);b.orig=a;return b}function\nAy(f){for(var\ng=e,b=g,a,i,c=0,h=f.length;c<h;c++){a=f.charCodeAt(c);if(a<aD){for(var\nd=c+1;d<h&&(a=f.charCodeAt(d))<aD;d++);if(d-c>it){b.substr(0,1);g+=b;b=e;g+=f.slice(c,d)}else\nb+=f.slice(c,d);if(d==h)break;c=d}if(a<jp){b+=String.fromCharCode(0xc0|a>>6);b+=String.fromCharCode(aD|a&bq)}else\nif(a<0xd800||a>=iH)b+=String.fromCharCode(iI|a>>12,aD|a>>6&bq,aD|a&bq);else\nif(a>=0xdbff||c+1==h||(i=f.charCodeAt(c+1))<iC||i>iH)b+=\"\\xef\\xbf\\xbd\";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(jx|a>>18,aD|a>>12&bq,aD|a>>6&bq,aD|a&bq)}if(b.length>cJ){b.substr(0,1);g+=b;b=e}}return g+b}function\nzF(a){var\nb=9;if(!kd(a))b=8,a=Ay(a);return new\naW(b,a,a.length)}function\nai(a){return zF(a)}var\nAE=[\"E2BIG\",\"EACCES\",\"EAGAIN\",ft,\"EBUSY\",\"ECHILD\",\"EDEADLK\",\"EDOM\",iy,\"EFAULT\",\"EFBIG\",\"EINTR\",\"EINVAL\",\"EIO\",\"EISDIR\",\"EMFILE\",\"EMLINK\",\"ENAMETOOLONG\",\"ENFILE\",\"ENODEV\",fU,\"ENOEXEC\",\"ENOLCK\",\"ENOMEM\",\"ENOSPC\",\"ENOSYS\",fB,jl,\"ENOTTY\",\"ENXIO\",\"EPERM\",\"EPIPE\",\"ERANGE\",\"EROFS\",\"ESPIPE\",\"ESRCH\",\"EXDEV\",\"EWOULDBLOCK\",\"EINPROGRESS\",\"EALREADY\",\"ENOTSOCK\",\"EDESTADDRREQ\",\"EMSGSIZE\",\"EPROTOTYPE\",\"ENOPROTOOPT\",\"EPROTONOSUPPORT\",\"ESOCKTNOSUPPORT\",\"EOPNOTSUPP\",\"EPFNOSUPPORT\",\"EAFNOSUPPORT\",\"EADDRINUSE\",\"EADDRNOTAVAIL\",\"ENETDOWN\",\"ENETUNREACH\",\"ENETRESET\",\"ECONNABORTED\",\"ECONNRESET\",\"ENOBUFS\",\"EISCONN\",\"ENOTCONN\",\"ESHUTDOWN\",\"ETOOMANYREFS\",\"ETIMEDOUT\",\"ECONNREFUSED\",\"EHOSTDOWN\",\"EHOSTUNREACH\",\"ELOOP\",\"EOVERFLOW\"];function\nbx(d,g,f,a){var\nb=AE.indexOf(d);if(b<0){if(a==null)a=-9999;b=[0,a]}var\nc=[b,ai(g||e),ai(f||e)];return c}var\nj5={};function\nbP(a){return j5[a]}function\nbw(b,a){throw[0,b].concat(a)}function\nf_(a){if(!(a\ninstanceof\nUint8Array))a=new\nUint8Array(a);return new\naW(4,a,a.length)}function\nr(a){gn(aG.Sys_error,a)}function\nj_(a){r(a+dR)}function\nc$(a){if(a.t!=4)ek(a);return a.c}function\nax(a){return a.l}function\nzx(){}function\nab(a){this.data=a}ab.prototype=new\nzx();ab.prototype.constructor=ab;ab.prototype.truncate=function(a){var\nb=this.data;this.data=D(a|0);bc(b,0,this.data,0,a)};ab.prototype.length=function(){return ax(this.data)};ab.prototype.write=function(b,d,g,a){var\nc=this.length();if(b+a>=c){var\ne=D(b+a),f=this.data;this.data=e;bc(f,0,this.data,0,c)}bc(f_(d),g,this.data,b,a);return 0};ab.prototype.read=function(b,e,f,a){var\nc=this.length();if(b+a>=c)a=c-b;if(a){var\nd=D(a|0);bc(this.data,b,d,0,a);e.set(c$(d),f)}return a};function\nbJ(c,a,b){this.file=a;this.name=c;this.flags=b}bJ.prototype.err_closed=function(){r(this.name+ip)};bJ.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bJ.prototype.write=function(c,a,d,b){if(this.file)return this.file.write(c,a,d,b);this.err_closed()};bJ.prototype.read=function(c,a,d,b){if(this.file)return this.file.read(c,a,d,b);this.err_closed()};bJ.prototype.close=function(){this.file=undefined};function\nU(b,a){this.content={};this.root=b;this.lookupFun=a}U.prototype.nm=function(a){return this.root+a};U.prototype.create_dir_if_needed=function(d){var\nc=d.split(aS),b=e;for(var\na=0;a<c.length-1;a++){b+=c[a]+aS;if(this.content[b])continue;this.content[b]=Symbol(\"directory\")}};U.prototype.slash=function(a){return/\\/$/.test(a)?a:a+aS};U.prototype.lookup=function(b){if(!this.content[b]&&this.lookupFun){var\nc=this.lookupFun(a(this.root),a(b));if(c!==0){this.create_dir_if_needed(b);this.content[b]=new\nab(au(c[1]))}}};U.prototype.exists=function(a){if(a==e)return 1;var\nb=this.slash(a);if(this.content[b])return 1;this.lookup(a);return this.content[a]?1:0};U.prototype.mkdir=function(c,f,d){var\nb=d&&bP(fO);if(this.exists(c))if(b)bw(b,bx(iy,fp,this.nm(c)));else\nr(c+\": File exists\");var\na=/^(.*)\\/[^/]+/.exec(c);a=a&&a[1]||e;if(!this.exists(a))if(b)bw(b,bx(fU,fp,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fp,this.nm(a)));else\nr(a+f0);this.create_dir_if_needed(this.slash(c))};U.prototype.rmdir=function(a,g){var\nb=g&&bP(fO),c=a==e?e:this.slash(a),f=new\nRegExp(iO+c+jm);if(!this.exists(a))if(b)bw(b,bx(fU,fN,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fN,this.nm(a)));else\nr(a+f0);for(var\nd\nin\nthis.content)if(d.match(f))if(b)bw(b,bx(jl,fN,this.nm(a)));else\nr(this.nm(a)+\": Directory not empty\");delete\nthis.content[c]};U.prototype.readdir=function(a){var\ng=a==e?e:this.slash(a);if(!this.exists(a))r(a+dR);if(!this.is_dir(a))r(a+f0);var\nh=new\nRegExp(iO+g+jm),d={},c=[];for(var\nf\nin\nthis.content){var\nb=f.match(h);if(b&&!d[b[1]]){d[b[1]]=true;c.push(b[1])}}return c};U.prototype.opendir=function(a,f){var\nb=f&&bP(fO),c=this.readdir(a),d=false,e=0;return{readSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);if(e==c.length)return null;var\nf=c[e];e++;return{name:f}},closeSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);d=true;c=[]}}};U.prototype.is_dir=function(a){if(a==e)return true;var\nb=this.slash(a);return this.content[b]?1:0};U.prototype.unlink=function(a){var\nb=this.content[a]?true:false;delete\nthis.content[a];return b};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.register=function(c,a){var\nb;if(this.content[c])r(this.nm(c)+fF);if(c8(a))b=new\nab(a);if(eo(a))b=new\nab(au(a));else\nif(a\ninstanceof\nArray)b=new\nab(f_(a));else\nif(typeof\na===\"string\")b=new\nab(jT(a));else\nif(a.toString){var\nd=au(ai(a.toString()));b=new\nab(d)}if(b){this.create_dir_if_needed(c);this.content[c]=b}else\nr(this.nm(c)+\" : registering file with invalid content type\")};U.prototype.constructor=U;function\njJ(){}function\njY(b){var\na=gq(b);if(!a)return;return a[0]+aS}var\neq=jY(c3)||av(\"unable to compute caml_root\"),cg=[];if(da())cg.push({path:eq,device:new\njJ(eq)});else\ncg.push({path:eq,device:new\nU(eq)});cg.push({path:jb,device:new\nU(jb)});function\nke(b){var\ng=Aa(b),b=g.join(aS),f=kb(b),c;for(var\ne=0;e<cg.length;e++){var\na=cg[e];if(f.search(a.path)==0&&(!c||c.path.length<a.path.length))c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}if(!c&&da()){var\nd=jY(b);if(d&&d.match(/^[a-zA-Z]:\\/$/)){var\na={path:d,device:new\njJ(d)};cg.push(a);c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}}if(c)return c;r(\"no device found for \"+f)}function\nzI(c,b){var\na=ke(c);if(!a.device.register)av(\"cannot register file\");a.device.register(a.rest,b);return 0}function\nkc(c,b){var\nc=a(c),b=a(b);return zI(c,b)}function\nzL(){var\nb=x.caml_fs_tmp;if(b)for(var\na=0;a<b.length;a++)kc(b[a].name,b[a].content);x.jsoo_create_file=kc;x.caml_fs_tmp=[];return 0}function\njX(){return[0]}function\nge(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b.charCodeAt(a)|b.charCodeAt(a+1)<<8|b.charCodeAt(a+2)<<16|b.charCodeAt(a+3)<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b.charCodeAt(a+2)<<16;case\n2:c|=b.charCodeAt(a+1)<<8;case\n1:c|=b.charCodeAt(a);d=Y(d,c)}d^=e;return d}function\nzR(a,b){return ge(a,aw(b))}function\nzO(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b[a]|b[a+1]<<8|b[a+2]<<16|b[a+3]<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b[a+2]<<16;case\n2:c|=b[a+1]<<8;case\n1:c|=b[a];d=Y(d,c)}d^=e;return d}function\nAd(a){switch(a.t&6){default:bM(a);case\n0:return a.c;case\n4:return a.c}}function\nzN(b,c){var\na=Ad(c);return typeof\na===\"string\"?ge(b,a):zO(b,a)}function\nzP(a){a^=a>>>16;a=ep(a,0x85ebca6b|0);a^=a>>>13;a=ep(a,0xc2b2ae35|0);a^=a>>>16;return a}function\nzM(j,l,n,m){var\nf,g,h,d,c,b,a,e,i;d=l;if(d<0||d>aK)d=aK;c=j;b=n;f=[m];g=0;h=1;while(g<h&&c>0){a=f[g++];if(a&&a.caml_custom){if(c4[a.caml_custom]&&c4[a.caml_custom].hash){var\nk=c4[a.caml_custom].hash(a);b=Y(b,k);c--}}else\nif(a\ninstanceof\nArray&&a[0]===(a[0]|0))switch(a[0]){case\n248:b=Y(b,a[2]);c--;break;case\n250:f[--g]=a[1];break;default:var\no=a.length-1<<10|a[0];b=Y(b,o);for(e=1,i=a.length;e<i;e++){if(h>=d)break;f[h++]=a[e]}break}else\nif(c8(a)){b=zN(b,a);c--}else\nif(eo(a)){b=zR(b,a);c--}else\nif(typeof\na===\"string\"){b=ge(b,a);c--}else\nif(a===(a|0)){b=Y(b,a+a+1);c--}else\nif(a===+a){b=gd(b,a);c--}}b=zP(b);return b&0x3FFFFFFF}function\nzS(a,c,l){if(!isFinite(a)){if(isNaN(a))return ai(fC);return ai(a>0?jz:\"-infinity\")}var\nj=a==0&&1/a==-Infinity?1:a>=0?0:1;if(j)a=-a;var\nd=0;if(a==0);else\nif(a<1)while(a<1&&d>-1022){a*=2;d--}else\nwhile(a>=2){a/=2;d++}var\nk=d<0?e:b4,f=e;if(j)f=br;else\nswitch(l){case\n43:f=b4;break;case\n32:f=ae;break;default:break}if(c>=0&&c<13){var\nh=Math.pow(2,c*4);a=Math.round(a*h)/h}var\nb=a.toString(16);if(c>=0){var\ni=b.indexOf(bu);if(i<0)b+=bu+cf(c,af);else{var\ng=i+1+c;if(b.length<g)b+=cf(g-b.length,af);else\nb=b.substr(0,g)}}return ai(f+ir+b+aT+k+d.toString(10))}function\nzZ(a){return+a.isZero()}function\nz2(a){return new\nm(a&a7,a>>24&a7,a>>31&aV)}function\nz3(a){return a.toInt()}function\nzY(a){return+a.isNeg()}function\nz1(a){return a.neg()}function\nzW(h,c){var\na=gm(h);if(a.signedconv&&zY(c)){a.sign=-1;c=z1(c)}var\nb=e,i=z2(a.base),g=\"0123456789abcdef\";do{var\nf=c.udivmod(i);c=f.quotient;b=g.charAt(z3(f.modulus))+b}while(!zZ(c));if(a.prec>=0){a.filler=ae;var\nd=a.prec-b.length;if(d>0)b=cf(d,af)+b}return gb(a,b)}function\nay(b,a){return bL(b,a)}function\nk(a){return ax(a)}function\nAm(c){var\na=0,e=k(c),b=10,d=1;if(e>0)switch(ay(c,a)){case\n45:a++;d=-1;break;case\n43:a++;d=1;break}if(a+1<e&&ay(c,a)==48)switch(ay(c,a+1)){case\n120:case\n88:b=16;a+=2;break;case\n111:case\n79:b=8;a+=2;break;case\n98:case\n66:b=2;a+=2;break;case\n117:case\n85:a+=2;break}return[a,d,b]}function\nj8(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function\nc7(f){var\nh=Am(f),c=h[0],i=h[1],d=h[2],g=k(f),j=-1>>>0,e=c<g?ay(f,c):0,b=j8(e);if(b<0||b>=d)av(dX);var\na=b;for(c++;c<g;c++){e=ay(f,c);if(e==95)continue;b=j8(e);if(b<0||b>=d)break;a=d*a+b;if(a>j)av(dX)}if(c!=g)av(dX);a=i*a;if(d==10&&(a|0)!=a)av(dX);return a|0}function\nz6(){var\nb=console,c=[\"log\",\"debug\",\"info\",\"warn\",jD,\"assert\",bE,\"dirxml\",\"trace\",\"group\",\"groupCollapsed\",\"groupEnd\",\"time\",\"timeEnd\"];function\nd(){}for(var\na=0;a<c.length;a++)if(!b[c[a]])b[c[a]]=d;return b}function\nz7(c){var\nd=c.length,b=new\nArray(d+1);b[0]=0;for(var\na=0;a<d;a++)b[a+1]=c[a];return b}function\nz8(d){return function(){var\nb=arguments.length;if(b>0){var\nc=new\nArray(b);for(var\na=0;a<b;a++)c[a]=arguments[a];return aF(d,c)}else\nreturn aF(d,[undefined])}}function\nz9(d){return function(){var\nc=arguments.length,b=new\nArray(c+1);b[0]=this;for(var\na=0;a<c;a++)b[a+1]=arguments[a];return aF(d,b)}}function\nah(b){b=aw(b);var\nd=b.length/2,c=new\nArray(d);for(var\na=0;a<d;a++)c[a]=(b.charCodeAt(2*a)|b.charCodeAt(2*a+1)<<8)<<16>>16;return c}function\nz_(b,t,a){var\nn=2,o=3,r=5,d=6,h=7,g=8,j=9,m=1,l=2,q=3,s=4,p=5;if(!b.lex_default){b.lex_base=ah(b[m]);b.lex_backtrk=ah(b[l]);b.lex_check=ah(b[p]);b.lex_trans=ah(b[s]);b.lex_default=ah(b[q])}var\ne,c=t,k=c$(a[n]);if(c>=0){a[h]=a[r]=a[d];a[g]=-1}else\nc=-c-1;for(;;){var\nf=b.lex_base[c];if(f<0)return-f-1;var\ni=b.lex_backtrk[c];if(i>=0){a[h]=a[d];a[g]=i}if(a[d]>=a[o])if(a[j]==0)return-c-1;else\ne=aK;else{e=k[a[d]];a[d]++}if(b.lex_check[f+e]==c)c=b.lex_trans[f+e];else\nc=b.lex_default[c];if(c<0){a[d]=a[h];if(a[g]==-1)av(im);else\nreturn a[g]}else\nif(e==aK)a[j]=0}}function\nbO(c){var\nb=0;for(var\na=c.length-1;a>=0;a--){var\nd=c[a];b=[0,d,b]}return b}function\naM(a,d){if(a<0)c2();var\na=a+1|0,b=new\nArray(a);b[0]=0;for(var\nc=1;c<a;c++)b[c]=d;return b}function\nzz(){var\na=new\nArrayBuffer(64),b=new\nUint32Array(a),c=new\nUint8Array(a);return{len:0,w:new\nUint32Array([0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476]),b32:b,b8:c}}var\nej=function(){function\nk(a,b){return a+b|0}function\na(d,a,c,f,b,e){a=k(k(a,d),k(f,e));return k(a<<b|a>>>32-b,c)}function\nf(c,b,d,e,h,f,g){return a(b&d|~b&e,c,b,h,f,g)}function\ng(d,b,e,c,h,f,g){return a(b&c|e&~c,d,b,h,f,g)}function\nh(c,b,d,e,h,f,g){return a(b^d^e,c,b,h,f,g)}function\ni(c,b,d,e,h,f,g){return a(d^(b|~e),c,b,h,f,g)}return function(j,e){var\na=j[0],b=j[1],c=j[2],d=j[3];a=f(a,b,c,d,e[0],7,0xD76AA478);d=f(d,a,b,c,e[1],12,0xE8C7B756);c=f(c,d,a,b,e[2],17,0x242070DB);b=f(b,c,d,a,e[3],22,0xC1BDCEEE);a=f(a,b,c,d,e[4],7,0xF57C0FAF);d=f(d,a,b,c,e[5],12,0x4787C62A);c=f(c,d,a,b,e[6],17,0xA8304613);b=f(b,c,d,a,e[7],22,0xFD469501);a=f(a,b,c,d,e[8],7,0x698098D8);d=f(d,a,b,c,e[9],12,0x8B44F7AF);c=f(c,d,a,b,e[10],17,0xFFFF5BB1);b=f(b,c,d,a,e[11],22,0x895CD7BE);a=f(a,b,c,d,e[12],7,0x6B901122);d=f(d,a,b,c,e[13],12,0xFD987193);c=f(c,d,a,b,e[14],17,0xA679438E);b=f(b,c,d,a,e[15],22,0x49B40821);a=g(a,b,c,d,e[1],5,0xF61E2562);d=g(d,a,b,c,e[6],9,0xC040B340);c=g(c,d,a,b,e[11],14,0x265E5A51);b=g(b,c,d,a,e[0],20,0xE9B6C7AA);a=g(a,b,c,d,e[5],5,0xD62F105D);d=g(d,a,b,c,e[10],9,0x02441453);c=g(c,d,a,b,e[15],14,0xD8A1E681);b=g(b,c,d,a,e[4],20,0xE7D3FBC8);a=g(a,b,c,d,e[9],5,0x21E1CDE6);d=g(d,a,b,c,e[14],9,0xC33707D6);c=g(c,d,a,b,e[3],14,0xF4D50D87);b=g(b,c,d,a,e[8],20,0x455A14ED);a=g(a,b,c,d,e[13],5,0xA9E3E905);d=g(d,a,b,c,e[2],9,0xFCEFA3F8);c=g(c,d,a,b,e[7],14,0x676F02D9);b=g(b,c,d,a,e[12],20,0x8D2A4C8A);a=h(a,b,c,d,e[5],4,0xFFFA3942);d=h(d,a,b,c,e[8],11,0x8771F681);c=h(c,d,a,b,e[11],16,0x6D9D6122);b=h(b,c,d,a,e[14],23,0xFDE5380C);a=h(a,b,c,d,e[1],4,0xA4BEEA44);d=h(d,a,b,c,e[4],11,0x4BDECFA9);c=h(c,d,a,b,e[7],16,0xF6BB4B60);b=h(b,c,d,a,e[10],23,0xBEBFBC70);a=h(a,b,c,d,e[13],4,0x289B7EC6);d=h(d,a,b,c,e[0],11,0xEAA127FA);c=h(c,d,a,b,e[3],16,0xD4EF3085);b=h(b,c,d,a,e[6],23,0x04881D05);a=h(a,b,c,d,e[9],4,0xD9D4D039);d=h(d,a,b,c,e[12],11,0xE6DB99E5);c=h(c,d,a,b,e[15],16,0x1FA27CF8);b=h(b,c,d,a,e[2],23,0xC4AC5665);a=i(a,b,c,d,e[0],6,0xF4292244);d=i(d,a,b,c,e[7],10,0x432AFF97);c=i(c,d,a,b,e[14],15,0xAB9423A7);b=i(b,c,d,a,e[5],21,0xFC93A039);a=i(a,b,c,d,e[12],6,0x655B59C3);d=i(d,a,b,c,e[3],10,0x8F0CCC92);c=i(c,d,a,b,e[10],15,0xFFEFF47D);b=i(b,c,d,a,e[1],21,0x85845DD1);a=i(a,b,c,d,e[8],6,0x6FA87E4F);d=i(d,a,b,c,e[15],10,0xFE2CE6E0);c=i(c,d,a,b,e[6],15,0xA3014314);b=i(b,c,d,a,e[13],21,0x4E0811A1);a=i(a,b,c,d,e[4],6,0xF7537E82);d=i(d,a,b,c,e[11],10,0xBD3AF235);c=i(c,d,a,b,e[2],15,0x2AD7D2BB);b=i(b,c,d,a,e[9],21,0xEB86D391);j[0]=k(a,j[0]);j[1]=k(b,j[1]);j[2]=k(c,j[2]);j[3]=k(d,j[3])}}();function\nzA(a,e,b){var\nd=a.len&bq,c=0;a.len+=b;if(d){var\nf=64-d;if(b<f){a.b8.set(e.subarray(0,b),d);return}a.b8.set(e.subarray(0,f),d);ej(a.w,a.b32);b-=f;c+=f}while(b>=64){a.b8.set(e.subarray(c,c+64),0);ej(a.w,a.b32);b-=64;c+=64}if(b)a.b8.set(e.subarray(c,c+b),0)}function\nzy(b){var\nc=b.len&bq;b.b8[c]=aD;c++;if(c>56){for(var\na=c;a<64;a++)b.b8[a]=0;ej(b.w,b.b32);for(var\na=0;a<56;a++)b.b8[a]=0}else\nfor(var\na=c;a<56;a++)b.b8[a]=0;b.b32[14]=b.len<<3;b.b32[15]=b.len>>29&0x1FFFFFFF;ej(b.w,b.b32);var\ne=new\nUint8Array(16);for(var\nd=0;d<4;d++)for(var\na=0;a<4;a++)e[d*4+a]=b.w[d]>>8*a&aC;return e}function\nAs(b){return a(c_(b,0,b.length))}function\nAb(e,c,b){var\na=zz(),d=c$(e);zA(a,d.subarray(c,c+b),b);return As(zy(a))}function\nAc(c,b,a){return Ab(au(c),b,a)}function\nAe(){return 0}var\nbf=new\nArray();function\naX(b){var\na=bf[b];if(!a.opened)r(\"Cannot flush a closed channel\");if(!a.buffer||a.buffer_curr==0)return 0;if(a.output)a.output(c_(a.buffer,0,a.buffer_curr));else\na.file.write(a.offset,a.buffer,0,a.buffer_curr);a.offset+=a.buffer_curr;a.buffer_curr=0;return 0}function\nAu(a,b){return null}var\ner=new\nArray(3);function\nc1(a,b){ab.call(this,D(0));this.log=function(a){return 0};if(a==1&&typeof\nconsole.log==\"function\")this.log=console.log;else\nif(a==2&&typeof\nconsole.error==\"function\")this.log=console.error;else\nif(typeof\nconsole.log==\"function\")this.log=console.log;this.flags=b}c1.prototype.length=function(){return 0};c1.prototype.write=function(e,c,b,a){if(this.log){if(a>0&&b>=0&&b+a<=c.length&&c[b+a-1]==10)a--;var\nd=D(a);bc(f_(c),b,d,0,a);this.log(d.toUtf16());return 0}r(this.fd+ip)};c1.prototype.read=function(c,a,d,b){r(this.fd+\": file descriptor is write only\")};c1.prototype.close=function(){this.log=undefined};function\nes(b,a){if(a==undefined)a=er.length;er[a]=b;return a}function\nAF(c,b,f){var\na={};while(b){switch(b[1]){case\n0:a.rdonly=1;break;case\n1:a.wronly=1;break;case\n2:a.append=1;break;case\n3:a.create=1;break;case\n4:a.truncate=1;break;case\n5:a.excl=1;break;case\n6:a.binary=1;break;case\n7:a.text=1;break;case\n8:a.nonblock=1;break}b=b[2]}if(a.rdonly&&a.wronly)r(aw(c)+fG);if(a.text&&a.binary)r(aw(c)+fQ);var\nd=ke(c),e=d.device.open(d.rest,a);return es(e,undefined)}(function(){function\na(a,b){return da()?Au(a,b):new\nc1(a,b)}es(a(0,{rdonly:1,altname:\"/dev/stdin\",isCharacterDevice:true}),0);es(a(1,{buffered:2,wronly:1,isCharacterDevice:true}),1);es(a(2,{buffered:2,wronly:1,isCharacterDevice:true}),2)}());function\nAf(c){var\na=er[c];if(a.flags.wronly)r(jF+c+\" is writeonly\");var\nd=null,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:false,buffer_curr:0,buffer_max:0,buffer:new\nUint8Array(iJ),refill:d};bf[b.fd]=b;return b.fd}function\nj3(c){var\na=er[c];if(a.flags.rdonly)r(jF+c+\" is readonly\");var\nd=a.flags.buffered!==undefined?a.flags.buffered:1,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:true,buffer_curr:0,buffer:new\nUint8Array(iJ),buffered:d};bf[b.fd]=b;return b.fd}function\nAg(){var\nb=0;for(var\na=0;a<bf.length;a++)if(bf[a]&&bf[a].opened&&bf[a].out)b=[0,bf[a].fd,b];return b}function\nO(a){return a}function\nAh(c,b,f,g){var\na=bf[c];if(!a.opened)r(\"Cannot output to a closed channel\");var\nb=c$(b);b=b.subarray(f,f+g);if(a.buffer_curr+b.length>a.buffer.length){var\ne=new\nUint8Array(a.buffer_curr+b.length);e.set(a.buffer);a.buffer=e}switch(a.buffered){case\n0:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;aX(c);break;case\n1:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c);break;case\n2:var\nd=b.lastIndexOf(10);if(d<0){a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c)}else{a.buffer.set(b.subarray(0,d+1),a.buffer_curr);a.buffer_curr+=d+1;aX(c);a.buffer.set(b.subarray(d+1),a.buffer_curr);a.buffer_curr+=b.length-d-1}break}return 0}function\nj4(b,a,d,c){return Ah(b,au(a),d,c)}function\ngl(c,b){var\nd=a(String.fromCharCode(b));j4(c,d,0,1);return 0}function\nAi(b,a){if(a==0)go();return b%a}function\nz$(d,a,c,f){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=f;else\nc[b+1]=c[e+1]}}function\nj2(d,a,c){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=-1;else\nc[b+1]=c[e+1]}}function\nAk(a,D,b){var\nt=2,u=3,A=5,f=6,i=7,h=8,n=9,j=10,r=1,p=2,y=3,B=4,v=5,s=6,q=7,z=8,C=9,w=10,x=11;if(!a.lex_default){a.lex_base=ah(a[r]);a.lex_backtrk=ah(a[p]);a.lex_check=ah(a[v]);a.lex_trans=ah(a[B]);a.lex_default=ah(a[y])}if(!a.lex_default_code){a.lex_base_code=ah(a[s]);a.lex_backtrk_code=ah(a[q]);a.lex_check_code=ah(a[w]);a.lex_trans_code=ah(a[C]);a.lex_default_code=ah(a[z])}if(a.lex_code==null)a.lex_code=aw(a[x]);var\ne,c=D,o=c$(b[t]);if(c>=0){b[i]=b[A]=b[f];b[h]=-1}else\nc=-c-1;for(;;){var\ng=a.lex_base[c];if(g<0){var\nd=a.lex_base_code[c];j2(a.lex_code,d,b[j]);return-g-1}var\nl=a.lex_backtrk[c];if(l>=0){var\nd=a.lex_backtrk_code[c];j2(a.lex_code,d,b[j]);b[i]=b[f];b[h]=l}if(b[f]>=b[u])if(b[n]==0)return-c-1;else\ne=aK;else{e=o[b[f]];b[f]++}var\nk=c;if(a.lex_check[g+e]==c)c=a.lex_trans[g+e];else\nc=a.lex_default[c];if(c<0){b[f]=b[i];if(b[h]==-1)av(im);else\nreturn b[h]}else{var\nm=a.lex_base_code[k],d;if(a.lex_check_code[m+e]==k)d=a.lex_trans_code[m+e];else\nd=a.lex_default_code[k];if(d>0)z$(a.lex_code,d,b[j],b[f]);if(e==aK)b[n]=0}}}function\nbQ(a,b){return+(f$(a,b,false)!=0)}function\nj6(d,c){var\nb=new\nArray(c+1);b[0]=d;for(var\na=1;a<=c;a++)b[a]=0;return b}function\nAl(a,b){a[0]=bo;a[1]=b;return 0}function\nbg(a){if(a\ninstanceof\nArray&&a[0]==a[0]>>>0)return a[0];else\nif(c8(a))return eb;else\nif(eo(a))return eb;else\nif(a\ninstanceof\nFunction||typeof\na==\"function\")return 247;else\nif(a&&a.caml_custom)return b0;else\nreturn cG}function\naH(b,c,a){if(a&&x.toplevelReloc)b=x.toplevelReloc(a);aG[b+1]=c;if(a)aG[a]=c}function\ngp(a,b){j5[aw(a)]=b;return 0}function\nAp(a){a[2]=j7++;return a}function\nd(a,b){return jS(a,b)}function\nAr(){L(fY)}function\nB(b,a){if(a>>>0>=k(b))Ar();return ay(b,a)}function\ng(a,b){return 1-d(a,b)}function\nAt(){return 0x7FFFFFFF/4|0}function\nAn(){j9(aG.Not_found)}function\nka(c){var\nb=x.process,a=gk(c);if(b&&b.env&&b.env[a]!=undefined)return ai(b.env[a]);if(x.jsoo_static_env&&x.jsoo_static_env[a])return ai(x.jsoo_static_env[a]);An()}function\nAv(){if(x.crypto)if(typeof\nx.crypto.getRandomValues===\"function\"){var\na=new\nUint32Array(1);x.crypto.getRandomValues(a);return[0,a[0]]}else\nif(x.crypto.randomBytes===iG){var\nb=x.crypto.randomBytes(4),a=new\nUint32Array(b);return[0,a[0]]}var\nc=new\nDate().getTime(),d=c^0xffffffff*Math.random();return[0,d]}function\nbR(a){var\nb=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function\nn(b,a){return{joo_tramp:b,joo_args:a}}function\nj$(a){return a}function\nC(a){if(a\ninstanceof\nArray)return a;if(x.RangeError&&a\ninstanceof\nx.RangeError&&a.message&&a.message.match(/maximum call stack/i))return j$(aG.Stack_overflow);if(x.InternalError&&a\ninstanceof\nx.InternalError&&a.message&&a.message.match(/too much recursion/i))return j$(aG.Stack_overflow);if(a\ninstanceof\nx.Error&&bP(fy))return[0,bP(fy),a];return[0,aG.Failure,ai(String(a))]}function\nj1(a){return a.slice(1)}function\nAw(d){var\nc=k(d),b=new\nArray(c),a=0;for(;a<c;a++)b[a]=ay(d,a);return b}var\nAC=function(){var\nb=[an,an,an,an,an,an,aC,0x03,il,aC,aC,0x87,il,aC,aC,0x07,an,an,an,an,an,an,an,an,aC,aC,iS,aC,aC,aC,iS,aC],c={CHAR:0,CHARNORM:1,STRING:2,STRINGNORM:3,CHARCLASS:4,BOL:5,EOL:6,WORDBOUNDARY:7,BEGGROUP:8,ENDGROUP:9,REFGROUP:10,ACCEPT:11,SIMPLEOPT:12,SIMPLESTAR:13,SIMPLEPLUS:14,GOTO:15,PUSHBACK:16,SETMARK:17,CHECKPROGRESS:18};function\nr(a){return b[a>>3]>>(a&7)&1}function\no(b,a){return B(b,a>>3)>>(a&7)&1}function\na(m,b,a,B){var\nw=j1(m[1]),k=j1(m[2]),v=aw(m[3]),y=m[4]|0,z=m[5]|0,C=m[6]|0,b=Aw(b),l=0,x=false,t=[],i=new\nArray(y),q=new\nArray(z);for(var\nf=0;f<i.length;f++)i[f]={start:-1,end:-1};i[0].start=a;function\ne(){while(t.length){var\nb=t.pop();if(b.undo)b.undo.obj[b.undo.prop]=b.undo.value;else\nif(b.pos){l=b.pos.pc;a=b.pos.txt;return}}x=true}function\np(a){t.push(a)}function\nu(){i[0].end=a;var\nd=new\nArray(1+i.length*2);d[0]=0;for(var\nc=0;c<i.length;c++){var\nb=i[c];if(b.start<0||b.end<0)b.start=b.end=-1;d[2*c+1]=b.start;d[2*c+1+1]=b.end}return d}function\nj(){if(B)return u();else\ne()}while(!x){var\nA=w[l]&ag,s=w[l]>>8,d=s&ag,g=b[a],h;l++;switch(A){case\nc.CHAR:if(a===b.length){j();break}if(g===d)a++;else\ne();break;case\nc.CHARNORM:if(a===b.length){j();break}if(v.charCodeAt(g)===d)a++;else\ne();break;case\nc.STRING:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(g===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.STRINGNORM:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(v.charCodeAt(g)===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.CHARCLASS:if(a===b.length){j();break}if(o(k[d],g))a++;else\ne();break;case\nc.BOL:if(a>0&&b[a-1]!=10)e();break;case\nc.EOL:if(a<b.length&&b[a]!=10)e();break;case\nc.WORDBOUNDARY:if(a==0){if(a===b.length){j();break}if(r(b[0]))break;e()}else\nif(a===b.length){if(r(b[a-1]))break;e()}else{if(r(b[a-1])!=r(b[a]))break;e()}break;case\nc.BEGGROUP:h=i[d];p({undo:{obj:h,prop:cX,value:h.start}});h.start=a;break;case\nc.ENDGROUP:h=i[d];p({undo:{obj:h,prop:\"end\",value:h.end}});h.end=a;break;case\nc.REFGROUP:h=i[d];if(h.start<0||h.end<0){e();break}for(var\nf=h.start;f<h.end;f++){if(a===b.length){j();break}if(b[f]!=b[a]){e();break}a++}break;case\nc.SIMPLEOPT:if(o(k[d],g))a++;break;case\nc.SIMPLESTAR:while(o(k[d],g))g=b[++a];break;case\nc.SIMPLEPLUS:if(a===b.length){j();break}if(o(k[d],g))do\ng=b[++a];while(o(k[d],g));else\ne();break;case\nc.ACCEPT:return u();case\nc.GOTO:l=l+s;break;case\nc.PUSHBACK:p({pos:{pc:l+s,txt:a}});break;case\nc.SETMARK:p({undo:{obj:q,prop:d,value:q[d]}});q[d]=a;break;case\nc.CHECKPROGRESS:if(q[d]===a)e();break;default:throw new\nError(\"Invalid bytecode\")}}return 0}return a}();function\nAD(d,b,a){if(a<0||a>k(b))L(\"Str.search_forward\");while(a<=k(b)){var\nc=AC(d,b,a,0);if(c)return c;a++}return[0]}function\nz5(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function\nzK(b){var\na=e;if(b[0]==0){a+=b[1][1];if(b.length==3&&b[2][0]==0&&z5(b[1]))var\nf=b[2],g=1;else\nvar\ng=2,f=b;a+=\"(\";for(var\nd=g;d<f.length;d++){if(d>g)a+=cB;var\nc=f[d];if(typeof\nc==\"number\")a+=c.toString();else\nif(c\ninstanceof\naW)a+=bF+c.toString()+bF;else\nif(typeof\nc==\"string\")a+=bF+c.toString()+bF;else\na+=i4}a+=fD}else\nif(b[0]==A)a+=b[1];return a}function\njW(a){if(a\ninstanceof\nArray&&(a[0]==0||a[0]==A)){var\nc=bP(ix);if(c)c(a,false);else{var\nd=zK(a),b=bP(ik);if(b)b(0);console.error(fL+d+\"\\n\")}}else\nthrow a}function\nAq(){var\na=x.process;if(a&&a.on)a.on(\"uncaughtException\",function(b,c){jW(b);a.exit(2)});else\nif(x.addEventListener)x.addEventListener(jD,function(a){if(a.error)jW(a.error)})}Aq();function\nb(a,b){return a.length==1?a(b):aF(a,[b])}function\nf(a,b,c){return a.length==2?a(b,c):aF(a,[b,c])}function\naJ(a,b,c,d){return a.length==3?a(b,c,d):aF(a,[b,c,d])}function\nfl(a,b,c,d,e){return a.length==4?a(b,c,d,e):aF(a,[b,c,d,e])}function\ncz(a,b,c,d,e,f){return a.length==5?a(b,c,d,e,f):aF(a,[b,c,d,e,f])}function\nzw(a,b,c,d,e,f,g,h){return a.length==7?a(b,c,d,e,f,g,h):aF(a,[b,c,d,e,f,g,h])}zL();var\neu=[A,a(jB),-1],gu=[A,a(iz),-2],db=[A,a(fw),-3],et=[A,a(i3),-4],p=[A,a(i_),-7],gs=[A,a(iM),-8],gt=[A,a(jc),-9],s=[A,a(jr),-11],gv=[A,a(ij),-12],di=[0,a(e),0,0,-1],gL=[0,a(e),1,0,0],zr=[4,0,0,0,[12,45,[4,0,0,0,0]]],eK=[0,[11,a('File \"'),[2,0,[11,a('\", line '),[4,0,0,0,[11,a(iR),[4,0,0,0,[12,45,[4,0,0,0,[11,a(ji),[2,0,0]]]]]]]]]],a('File \"%s\", line %d, characters %d-%d: %s')],a3=[0,a(\"\\0\\0\\x01\\0\\xf9\\xff\\0\\0A\\0\\xa3\\0\\xfd\\xff\\0\\0\\x01\\0\\xff\\xff\\xf1\\0 \\0\\x80\\0\\xfd\\xff\\x01\\0@\\x01\\x8e\\x01.\\x000\\0\\xfd\\xff\\x04\\0\\0\\0\\xff\\xff\\x7f\\0\\xa0\\0\\xfe\\xff\\xff\\xff\\xee\\0\\x0e\\x01\\xfd\\xff\\xfe\\xff\\x02\\0\\xff\\xff\\0\\x02\\xf7\\xffr\\x02\\xf9\\xff\\xfa\\xff\\xfb\\xff\\x84\\x02\\0\\0\\xf8\\x02\\xff\\xff\\xfe\\xff\\xfe\\x02\\xf9\\xff\\x04\\x03\\xfb\\xff\\xfc\\xff\\x02\\0\\n\\x03\\xff\\xff\\xfe\\xff\\x03\\0\\xff\\xffu\\0\\xff\\xff\"),a(\"\\xff\\xff\\x07\\0\\xff\\xff\\x05\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\0\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\x02\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\x02\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\f\\0\\f\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x12\\0\\x12\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\x18\\0\\x18\\0\\0\\0\\0\\0\\x1c\\0\\x1c\\0\\0\\0\\0\\0\\xff\\xff\\0\\0#\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0#\\0\\xff\\xff#\\0\\0\\0\\0\\0.\\0\\0\\0.\\0\\0\\0\\0\\0\\xff\\xff.\\0\\0\\0\\0\\x005\\0\\0\\x007\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0(\\x001\\x001\\0(\\0\\0\\x001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\x07\\x001\\0\\0\\0\\0\\x006\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\b\\0\\t\\0\\x04\\0\\x0f\\0\\x15\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x03\\0\\xff\\xff\\x16\\0\\x06\\0 \\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x14\\0\\x0e\\0\\xff\\xff\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\x008\\0\\0\\0\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\x02\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\r\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1e\\0\\x1f\\0\\x13\\0\\0\\0\\xff\\xff\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x19\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x1d\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0(\\0(\\0\\0\\0\\0\\0(\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\0\\0%\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0)\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0&\\0*\\0\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\\"\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\x001\\x001\\0\\0\\0\\0\\x001\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\x001\\0\\xff\\xff0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff/\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff+\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x004\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0-\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0(\\x001\\x001\\0(\\0\\xff\\xff1\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0\\x03\\x001\\0\\xff\\xff\\xff\\xff5\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\0\\x03\\0\\x0e\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\0\\0\\x01\\0\\x15\\0\\x03\\0\\x1f\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x11\\0\\x0b\\0\\x12\\0\\xff\\xff\\x03\\0\\xff\\xff\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x04\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\x007\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\f\\0\\x17\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\0\\0\\x01\\0\\x05\\x005\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1b\\0\\x1b\\0\\x11\\0\\xff\\xff\\x12\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1c\\0\\x1c\\0\\xff\\xff\\xff\\xff\\n\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff7\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x17\\0\\f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x18\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x1b\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0!\\0!\\0\\xff\\xff\\xff\\xff!\\0\\x1c\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0!\\0\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0#\\0#\\0\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0#\\0\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff#\\0#\\0'\\0'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff!\\0)\\0)\\0\\xff\\xff\\xff\\xff)\\0\\xff\\xff,\\0,\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff.\\0.\\0\\xff\\xff\\xff\\xff.\\0\\xff\\xff2\\x002\\0\\xff\\xff\\xff\\xff2\\0)\\0\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0)\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff.\\0,\\0.\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0.\\x002\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff)\\0)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\"),a(e),a(e),a(e),a(e),a(e),a(e)],g9=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zs=[0,a(cZ),[0,a(d5),0]],zt=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hL=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zu=[0,a(d5),0],zv=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hP=a(\"o:spid\"),hQ=a(\"id\"),dI=[0,a(ii)];aH(11,gv,ij);aH(10,s,jr);aH(9,[A,a(iX),-10],iX);aH(8,gt,jc);aH(7,gs,iM);aH(6,p,i_);aH(5,[A,a(jk),-6],jk);aH(4,[A,a(iF),-5],iF);aH(3,et,i3);aH(2,db,fw);aH(1,gu,iz);aH(0,eu,jB);var\nkl=a(\"%.12g\"),kk=a(bu),kh=a(d8),ki=a(\"false\"),kf=a(\"Stdlib.Exit\"),km=a(\"CamlinternalLazy.Undefined\"),kq=a(\"\\\\\\\\\"),kr=a(\"\\\\'\"),ks=a(\"\\\\b\"),kt=a(\"\\\\t\"),ku=a(\"\\\\n\"),kv=a(\"\\\\r\"),kp=a(\"Char.chr\"),kz=a(\"nth\"),kA=a(\"List.nth\"),ky=a(\"tl\"),kE=a(\"String.blit / Bytes.blit_string\"),kD=a(\"Bytes.blit\"),kC=a(\"String.sub / Bytes.sub\"),kJ=a(\"String.contains_from / Bytes.contains_from\"),kH=a(e),kG=a(e),kF=a(\"String.concat\"),kM=a(\"Array.blit\"),kL=a(\"Array.sub\"),kR=a(\"Set.remove_min_elt\"),kS=[0,0,0,0],kT=[0,0,0],kU=[0,a(\"set.ml\"),570,18],kN=a(dP),kO=a(dP),kP=a(dP),kQ=a(dP),kZ=a(\"Map.remove_min_elt\"),k0=[0,0,0,0],k1=[0,a(\"map.ml\"),400,10],k2=[0,0,0],kV=a(d7),kW=a(d7),kX=a(d7),kY=a(d7),k3=a(\"Stdlib.Stack.Empty\"),k7=a(\"Buffer.add: cannot grow buffer\"),k6=[0,a(jh),93,2],k5=[0,a(jh),94,2],le=a(\"%c\"),lf=a(\"%s\"),lg=a(ih),lh=a(iK),li=a(i1),lj=a(io),lk=a(\"%f\"),ll=a(\"%B\"),lm=a(\"%{\"),ln=a(\"%}\"),lo=a(\"%(\"),lp=a(\"%)\"),lq=a(\"%a\"),lr=a(\"%t\"),ls=a(\"%?\"),lt=a(\"%r\"),lu=a(\"%_r\"),lv=[0,a(N),850,23],lG=[0,a(N),814,21],ly=[0,a(N),815,21],lH=[0,a(N),818,21],lz=[0,a(N),819,21],lI=[0,a(N),822,19],lA=[0,a(N),823,19],lJ=[0,a(N),826,22],lB=[0,a(N),827,22],lK=[0,a(N),831,30],lC=[0,a(N),832,30],lE=[0,a(N),836,26],lw=[0,a(N),837,26],lF=[0,a(N),846,28],lx=[0,a(N),847,28],lD=[0,a(N),851,23],mN=a(iV),mL=[0,a(N),1558,4],mM=a(\"Printf: bad conversion %[\"),mO=[0,a(N),1626,39],mP=[0,a(N),1649,31],mQ=[0,a(N),1650,31],mR=a(\"Printf: bad conversion %_\"),mS=a(iU),mT=a(i2),mU=a(iU),mV=a(i2),mJ=a(fC),mH=a(\"neg_infinity\"),mI=a(jz),mG=a(bu),mB=[0,iv],mp=a(\"%+nd\"),mq=a(\"% nd\"),ms=a(\"%+ni\"),mt=a(\"% ni\"),mu=a(\"%nx\"),mv=a(\"%#nx\"),mw=a(\"%nX\"),mx=a(\"%#nX\"),my=a(\"%no\"),mz=a(\"%#no\"),mo=a(\"%nd\"),mr=a(i1),mA=a(\"%nu\"),mc=a(\"%+ld\"),md=a(\"% ld\"),mf=a(\"%+li\"),mg=a(\"% li\"),mh=a(\"%lx\"),mi=a(\"%#lx\"),mj=a(\"%lX\"),mk=a(\"%#lX\"),ml=a(\"%lo\"),mm=a(\"%#lo\"),mb=a(\"%ld\"),me=a(iK),mn=a(\"%lu\"),l1=a(\"%+Ld\"),l2=a(\"% Ld\"),l4=a(\"%+Li\"),l5=a(\"% Li\"),l6=a(\"%Lx\"),l7=a(\"%#Lx\"),l8=a(\"%LX\"),l9=a(\"%#LX\"),l_=a(\"%Lo\"),l$=a(\"%#Lo\"),l0=a(\"%Ld\"),l3=a(io),ma=a(\"%Lu\"),lO=a(\"%+d\"),lP=a(\"% d\"),lR=a(\"%+i\"),lS=a(\"% i\"),lT=a(\"%x\"),lU=a(\"%#x\"),lV=a(\"%X\"),lW=a(\"%#X\"),lX=a(\"%o\"),lY=a(\"%#o\"),lN=a(fS),lQ=a(ih),lZ=a(iV),k8=a(\"@]\"),k9=a(\"@}\"),k_=a(\"@?\"),k$=a(\"@\\n\"),la=a(\"@.\"),lb=a(\"@@\"),lc=a(\"@%\"),ld=a(ee),lL=a(\"CamlinternalFormat.Type_mismatch\"),mZ=a(e),m0=[0,[11,a(cB),[2,0,[2,0,0]]],a(\", %s%s\")],nn=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],no=[0,[11,a(\"Fatal error in uncaught exception handler: exception \"),[2,0,[12,10,0]]],a(\"Fatal error in uncaught exception handler: exception %s\\n\")],nm=a(\"Fatal error: out of memory in uncaught exception handler\"),nk=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],ng=[0,[2,0,[12,10,0]],a(\"%s\\n\")],m_=a(\"Raised at\"),m$=a(\"Re-raised at\"),na=a(\"Raised by primitive operation at\"),nb=a(\"Called from\"),nc=a(\" (inlined)\"),ne=a(e),nd=[0,[2,0,[12,32,[2,0,[11,a(' in file \"'),[2,0,[12,34,[2,0,[11,a(\", line \"),[4,0,0,0,[11,a(iR),zr]]]]]]]]]],a('%s %s in file \"%s\"%s, line %d, characters %d-%d')],nf=[0,[2,0,[11,a(\" unknown location\"),0]],a(\"%s unknown location\")],m5=a(\"Out of memory\"),m6=a(\"Stack overflow\"),m7=a(\"Pattern matching failed\"),m8=a(\"Assertion failed\"),m9=a(\"Undefined recursive module\"),m1=[0,[12,40,[2,0,[2,0,[12,41,0]]]],a(\"(%s%s)\")],m2=a(e),m3=a(e),m4=[0,[12,40,[2,0,[12,41,0]]],a(\"(%s)\")],mY=[0,[4,0,0,0,0],a(fS)],mW=[0,[3,0,0],a(\"%S\")],mX=a(i4),nh=[0,a(e),a(\"(Cannot print locations:\\n bytecode executable program file not found)\"),a(\"(Cannot print locations:\\n bytecode executable program file appears to be corrupt)\"),a(\"(Cannot print locations:\\n bytecode executable program file has wrong magic number)\"),a(\"(Cannot print locations:\\n bytecode executable program file cannot be opened;\\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)\")],np=a(\"x\"),ns=a(\"Hashtbl: unsupported hash table format\"),zp=a(\"OCAMLRUNPARAM\"),zn=a(\"CAMLRUNPARAM\"),nq=a(e),nC=a(e),nH=a(e),nG=a(e),nE=a(e),nM=[2,a(fV)],nN=[2,a(fV)],pB=a(e),pC=a(e),p4=a(ae),p5=a('=\"'),p6=a(bF),p0=a(bb),p1=a(by),p2=a(fM),qa=a(\"<?\"),qb=a(X),qc=a(cW),qd=a(\"<!--\"),qe=a(X),qf=a(\"-->\"),qg=a(\"<!\"),qh=a(X),qi=a(cW),p3=a(fV),p7=a(\"/>\"),p8=a(cW),p9=a(cW),p_=a(jj),p$=a(cW),pZ=a(\"&quot;\"),qj=a(\"write\"),pP=a(e),pQ=a(jj),pR=a(X),pS=a(by),pT=a(X),pU=a(bb),pV=a(X),pW=a(fM),pX=a(e),pL=[0,0,0],pM=[0,0,1],pN=[0,0,0],pO=[0,0,1],pK=[0,a(\"netstring/code/src/netstring/nethtml.ml\"),356,27],pJ=a(e),pG=a(e),pH=[0,bA,fq],pI=[0,bA,fq],pF=a(e),pA=a(e),nO=a(\"Nethtml.End_of_scan\"),nP=a(\"Nethtml.Found\"),nQ=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],nR=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),nS=a(cS),nT=[0,a(aE),[0,j,ca]],nU=[0,a(bp),[0,j,v]],nV=[0,a(b8),[0,j,v]],nW=[0,a(cc),[0,j,[0,l,0]]],nX=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],nY=[0,a(bI),[0,j,i]],nZ=[0,a(c0),[0,j,i]],n0=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],n1=[0,a(bt),[0,j,v]],n2=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],n3=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],n4=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],n5=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],n6=[0,a(ei),[0,j,c]],n7=[0,a(d1),[0,j,c]],n8=[0,a(b7),[0,j,[0,l,0]]],n9=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],n_=[0,a(aa),[0,j,i]],n$=[0,a(cM),[0,j,i]],oa=[0,a(dW),[0,j,c]],ob=[0,a(fI),[0,bA,i]],oc=[0,a(fn),[0,bA,i]],od=[0,a(b3),[0,j,v]],oe=[0,a(bC),[0,j,v]],of=[0,a(dT),[0,j,v]],oh=[0,l,[0,a(ap),0]],oi=a(a9),oj=[0,a(cb),[0,o,v]],ok=[0,a(b_),[0,o,i]],ol=[0,a(dY),[0,o,i]],om=[0,a(cC),[0,o,c]],oo=[0,l,[0,a(d1),0]],op=a(bG),oq=[0,a(a$),[0,o,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],or=[0,a(b6),[0,o,v]],ot=[0,l,[0,a(ap),0]],ou=[0,a(ba),0],ov=a(ba),ox=[0,l,[0,a(ap),0]],oy=a(cR),oz=[0,a(cV),[0,o,i]],oA=[0,a(b2),[0,o,i]],oB=[0,a(b1),[0,o,[0,l,[0,a(dW),[0,a(cM),0]]]]],oC=[0,a(cO),[0,o,[0,R,[0,[0,a(aU),[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),zs]]]]]]],c]]]],oD=[0,l,[0,a(aa),0]],oE=a(d2),oF=[0,l,[0,a(aa),0]],oG=a(bE),oH=[0,a(W),[0,o,[0,l,[0,a(aa),0]]]],oI=[0,a($),[0,o,[0,l,[0,a(aa),0]]]],oJ=[0,a(cF),[0,o,c]],oK=[0,a(cQ),[0,o,c]],oL=[0,a(cA),[0,o,c]],oM=[0,a(cP),[0,o,c]],oN=[0,a(cE),[0,o,c]],oO=[0,a(cU),[0,o,c]],oP=[0,a(aT),[0,o,c]],oQ=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zt]]]]]]],i]]]],oR=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],oS=[0,a(dO),[0,c,[0,l,0]]],oT=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],oU=[0,a(dS),[0,c,v]],oV=[0,a(ec),[0,c,i]],oW=[0,a(d5),[0,c,v]],oX=[0,a(cZ),[0,c,c]],oZ=[0,l,[0,a(b3),0]],o0=a(d0),o1=[0,a(jI),[0,c,c]],o3=[0,l,[0,a(dT),0]],o4=a(ju),o5=[0,a(ap),[0,c,ca]],o7=[0,l,[0,a(b3),0]],o8=a(bs),o9=[0,a(aU),[0,c,v]],o_=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],o$=[0,a(jf),[0,c,v]],pa=[0,a(iq),[0,c,c]],pb=[0,a(bz),[0,c,c]],pc=[0,a(cT),[0,c,c]],pd=[0,a(cL),[0,c,c]],pe=[0,a(fJ),[0,c,c]],pf=[0,a(iY),[0,c,c]],pg=[0,a(fs),[0,c,c]],ph=[0,a(f5),[0,c,c]],pi=[0,a(fr),[0,c,c]],pj=[0,a(f7),[0,c,c]],pk=[0,a(fv),[0,c,c]],pl=[0,a(fu),[0,c,c]],pm=[0,a(fE),[0,c,c]],pn=[0,a(f3),[0,c,c]],po=[0,a(iZ),[0,c,c]],pp=[0,a(dZ),[0,c,c]],pq=[0,a(dV),[0,c,c]],pr=[0,a(d3),[0,c,c]],ps=[0,a(eg),[0,c,c]],pt=[0,a(fZ),[0,c,c]],pu=[0,a(f8),[0,c,c]],pv=[0,a(fX),[0,c,c]],py=[0,a(a9),[0,a(a$),[0,a(W),[0,a($),[0,a(b1),0]]]]],qz=a(e),qA=a(e),qD=a(\"too many r* or r+ where r is nullable\"),qE=a(e),qB=[0,a(\"str.ml\"),214,11],qI=[0,0,0],qM=a(e),qL=a(e),qK=a(e),qJ=a(e),qS=a(ae),qQ=a(\"' is invalid\"),qR=a(\"document list level '\"),qN=a(\"\\xef\\x82\\xb7\"),qO=a(\"\\xef\\x82\\xa7\"),qP=a(\"o\"),q0=a(\"excel\"),qZ=a(cS),q3=[0,a(\"src/main/re/html/htmlStd.re\"),144,9],qT=a(X),qU=a(fH),qV=bO([a(cC),a(\"article\"),a(\"aside\"),a(\"audio\"),a(cR),a(\"canvas\"),a(cM),a(b2),a(b1),a(bG),a(\"figcaption\"),a(\"figure\"),a(\"footer\"),a(ba),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(\"header\"),a(\"hgroup\"),a(b6),a(aa),a(cV),a(W),a(\"output\"),a(aT),a(cO),a(\"section\"),a(a$),a(cH),a(bI),a(cN),a(c0),a(cD),a(at),a($),a(\"video\")]),qW=[0,a(a9),[0,a(a_),[0,a(cS),[0,a(bC),[0,a(bp),[0,a(aE),[0,a(fo),0]]]]]]],q1=[0,a(e)],re=a(aT),rc=a(jo),rb=a(i0),rd=[0,a(jo)],q$=a(i0),q9=a(aU),q5=a(iN),q6=a(iN),q7=a(\"file:\"),q8=a(\"data-image-src\"),rQ=a(ae),rP=a(dU),rM=a(\":level\"),rK=a(ae),rD=a(fx),rE=a(f4),rF=a(fx),rG=a(f4),rH=a(ee),rI=a(fx),rJ=a(f4),rL=a(e),rN=a(e),rO=a(\"@list \"),rB=a(cB),rz=[0,a(\"\\n  \")],rA=a(\"  \"),ry=a(e),rw=a(\"color\"),rx=a(ae),rt=a('\"\"'),ru=a(\";\"),rv=a(bD),rj=a(ea),rk=a(e),rl=a(bb),rm=a(ae),rn=a(e),ri=[0,a(e),0],ro=a(e),rp=a(cB),rg=a(bF),rh=a(bF),rq=[0,a(\"font-family\"),0],r4=a(\"Internal failure -- please contact the parser generator's developers.\\n%!\"),r5=[0,a(\"src/main/re/css_parser.ml\"),494,4],r3=a(ea),r2=a(bD),r1=a(ee),r0=a(ea),rZ=a(bD),rY=a(ee),rV=a(\"list\"),rX=a(bD),rW=a(e),rT=a(ea),rU=a(e),rS=[0,a(e),0],rR=a(\"Css_parser.MenhirBasics.Error\"),sa=a(fD),sb=a(\"' (\"),sc=a(\"Unexpected char: '\"),r9=a(\"Css_lexer.SyntaxError\"),r_=[0,a('\\0\\0\\xeb\\xff\\x14\\0\\x03\\0\\x01\\0\\xd7\\0\\x0e\\0H\\x01\\x9d\\0\\xf1\\xff\\x03\\0\\x06\\0\\x11\\0u\\x01\\xe8\\x01B\\x02\\x9c\\x02\\xf6\\x02\\x02\\0\\x1e\\0\\xf7\\xff\\xf8\\xff\\xf9\\xff\\xfa\\xff\\xfb\\xff\\xfc\\xff\\b\\0\\x01\\0\\xfe\\xff\\xff\\xff\\xf6\\xff\\xf5\\xff\\x12\\0P\\x03\\xaa\\x03|\\0\\xf4\\xff\\x04\\x04^\\x04\\xc8\\x01\\x90\\x04\\x13\\0\\xbd\\x04\\xed\\xff0\\x05\\x15\\0\\x16\\0\\x17\\0\\xf0\\xff2\\x052\\x001\\x054\\0\\x0b\\0\\x12\\0\\x0e\\0\"\\0\\xa1\\x05\\xa2\\x055\\0\\xa3\\x05\\xa7\\x05\\xa8\\x05\\xa9\\x05\\xad\\x051\\x003\\0\\xee\\xffY\\0Z\\0\\xec\\xff\\\\\\0]\\0'),a(\"\\xff\\xff\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\x14\\0\\x14\\0\\x14\\0\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\r\\0\\x10\\0\\x10\\0\\x10\\0\\x14\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\f\\0\\xff\\xff\\x10\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff3\\x001\\0\\0\\0.\\0-\\0\\t\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0\\xff\\xff\\0\\0\\xff\\xff\\t\\0/\\0\\t\\0\\0\\x001\\x001\\x003\\x003\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\x009\\x009\\x009\\x009\\x009\\x009\\x009\\0\\xff\\xff\\xff\\xff\\0\\0D\\0G\\0\\0\\0G\\0G\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x1c\\0\\x1c\\0\\0\\0\\x1b\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x05\\0\\b\\0\\x05\\0A\\0\\x05\\0\\x06\\0\\x07\\0\\x1a\\0\\0\\0\\t\\0\\x05\\0\\x19\\0\\x0f\\0\\r\\0\\x02\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x15\\0\\x16\\0\\x03\\0\\x05\\0D\\0\\x1f\\0\\x14\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x1e\\0\\x04\\x009\\0B\\0\\x05\\0C\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x11\\0\\x05\\0\\x05\\0\\x10\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\x12\\0\\x17\\0\\x13\\x005\\x006\\x007\\x008\\0E\\0E\\0#\\0H\\0H\\0\\0\\0F\\0\\0\\0\\0\\0F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\xff\\xff#\\0\\0\\0\\xff\\xff\\0\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x05\\x002\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x1d\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff \\0\\xff\\xff\\xff\\xff\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\x004\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\xff\\xff\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0(\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0)\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0*\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0%\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0!\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\\"\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0&\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\x05\\0\\0\\0\\xff\\xff\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0(\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0)\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0+\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\x000\\0\\x05\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\x004\\x002\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\0\\0\\0\\0\\0>\\0\\0\\0=\\0\\0\\0\\0\\0\\0\\0?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a('\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\x1b\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x1a\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x12\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x13\\0\\0\\x008\\0A\\0\\0\\0B\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\x005\\x006\\x007\\0D\\0E\\0#\\0G\\0H\\0\\xff\\xffE\\0\\xff\\xff\\xff\\xffH\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\b\\0#\\0\\xff\\xff\\b\\0\\xff\\xff#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\b\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\b\\0\\x05\\0\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\x04\\0\\x05\\0\\n\\0\\x05\\0\\x05\\0\\x0b\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\f\\0 \\0)\\0\\x05\\0-\\0.\\0/\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\x002\\0\\x05\\x004\\0;\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x07\\0\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xffD\\0E\\0\\xff\\xffG\\0H\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\b\\0\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\r\\0\\x07\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\r\\0\\'\\0\\xff\\xff\\r\\0\\'\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\xff\\xff\\'\\0\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\x0e\\0\\x07\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\'\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0!\\0\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0%\\0\\xff\\xff%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0&\\0\\xff\\xff&\\0\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff(\\0&\\0\\xff\\xff(\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0(\\0&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0(\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff*\\0*\\0\\xff\\xff\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\x001\\0,\\0\\xff\\xff\\xff\\xff3\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\0,\\0\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff,\\x003\\x001\\0,\\0(\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\x009\\0:\\0<\\x009\\0:\\0<\\0=\\0>\\0?\\0=\\0>\\0?\\0@\\0\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff\\xff\\xff=\\0\\xff\\xff<\\0\\xff\\xff\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0'),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x03\\0\\0\\0\\x07\\0\\x04\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x0b\\0\\x05\\0\\r\\0\\x0f\\0\\x11\\0\\x13\\0\\x19\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x11\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\x07\\0\\b\\x001\\x003\\0\\xff\\xff9\\x003\\0:\\x009\\0<\\0:\\0=\\0<\\0>\\0=\\0?\\0>\\0\\xff\\xff?\\0\\xff\\xff\\0\\0@\\0\\b\\x001\\0@\\0\\0\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x009\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff8\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff=\\0\\xff\\xff\\xff\\xff\\xff\\xff<\\0\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\x07\\0\\b\\x001\\x004\\0;\\0\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\"),a(\"\\xff\\x03\\xff\\x02\\xff\\xff\\x03\\xff\\xff\\x01\\x02\\0\\x03\\xff\\x04\\xff\\xff\\x03\\x04\\x04\\xff\\xff\")],sh=a(aE),sf=a(ji),sg=a(\": syntax error parsing:\"),sd=a(br),se=a(bD),si=a(a9),sj=a(aE),sx=a(e),sr=a(jg),ss=a(\"='\"),sk=a(jg),sl=a(\"Data '\"),sm=a(dU),sn=a(fD),so=a(dU),sp=a(e),sq=a(\"]\"),st=a(cB),su=a(\", [\"),sv=a(\"Element (\"),sw=a(dU),sy=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],sz=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),sA=a(cS),sB=[0,a(aE),[0,j,ca]],sC=[0,a(bp),[0,j,v]],sD=[0,a(b8),[0,j,v]],sE=[0,a(cc),[0,j,[0,l,0]]],sF=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],sG=[0,a(bI),[0,j,i]],sH=[0,a(c0),[0,j,i]],sI=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],sJ=[0,a(bt),[0,j,v]],sK=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],sL=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],sM=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],sN=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],sO=[0,a(ei),[0,j,c]],sP=[0,a(d1),[0,j,c]],sQ=[0,a(b7),[0,j,[0,l,0]]],sR=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],sS=[0,a(aa),[0,j,i]],sT=[0,a(cM),[0,j,i]],sU=[0,a(dW),[0,j,c]],sV=[0,a(fI),[0,bA,i]],sW=[0,a(fn),[0,bA,i]],sX=[0,a(b3),[0,j,v]],sY=[0,a(bC),[0,j,v]],sZ=[0,a(dT),[0,j,v]],s1=[0,l,[0,a(ap),0]],s2=a(a9),s3=[0,a(cb),[0,o,v]],s4=[0,a(b_),[0,o,i]],s5=[0,a(dY),[0,o,i]],s6=[0,a(cC),[0,o,c]],s8=[0,l,[0,a(d1),0]],s9=a(bG),s_=[0,a(a$),[0,a8,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],s$=[0,a(b6),[0,o,v]],tb=[0,l,[0,a(ap),0]],tc=[0,a(ba),0],td=a(ba),tf=[0,l,[0,a(ap),0]],tg=a(cR),th=[0,a(cV),[0,o,i]],ti=[0,a(b2),[0,o,i]],tj=[0,a(b1),[0,a8,[0,l,[0,a(dW),[0,a(cM),0]]]]],tk=[0,a(cO),[0,o,[0,R,[0,[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),[0,a(cZ),zu]]]]]]],c]]]],tl=[0,l,[0,a(aa),0]],tm=a(d2),tn=[0,l,[0,a(aa),0]],to=a(bE),tp=[0,a(W),[0,a8,[0,l,[0,a(aa),0]]]],tq=[0,a($),[0,a8,[0,l,[0,a(aa),0]]]],tr=[0,a(cF),[0,o,c]],ts=[0,a(cQ),[0,o,c]],tt=[0,a(cA),[0,o,c]],tu=[0,a(cP),[0,o,c]],tv=[0,a(cE),[0,o,c]],tw=[0,a(cU),[0,o,c]],tx=[0,a(aT),[0,o,c]],ty=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zv]]]]]]],i]]]],tz=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],tA=[0,a(dO),[0,c,[0,l,0]]],tB=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],tC=[0,a(dS),[0,c,v]],tD=[0,a(ec),[0,c,i]],tE=[0,a(d5),[0,c,v]],tF=[0,a(cZ),[0,c,i]],tH=[0,l,[0,a(b3),0]],tI=a(d0),tJ=[0,a(jI),[0,c,i]],tL=[0,l,[0,a(dT),0]],tM=a(ju),tN=[0,a(ap),[0,c,ca]],tP=[0,l,[0,a(b3),0]],tQ=a(bs),tR=[0,a(aU),[0,c,v]],tS=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],tT=[0,a(jf),[0,c,v]],tU=[0,a(iq),[0,c,i]],tV=[0,a(bz),[0,c,i]],tW=[0,a(cT),[0,c,i]],tX=[0,a(cL),[0,c,i]],tY=[0,a(fJ),[0,c,i]],tZ=[0,a(iY),[0,c,i]],t0=[0,a(fs),[0,c,i]],t1=[0,a(f5),[0,c,i]],t2=[0,a(fr),[0,c,i]],t3=[0,a(f7),[0,c,i]],t4=[0,a(fv),[0,c,i]],t5=[0,a(fu),[0,c,i]],t6=[0,a(fE),[0,c,i]],t7=[0,a(f3),[0,c,i]],t8=[0,a(iZ),[0,c,i]],t9=[0,a(dZ),[0,c,i]],t_=[0,a(dV),[0,c,i]],t$=[0,a(d3),[0,c,i]],ua=[0,a(eg),[0,c,i]],ub=[0,a(fZ),[0,c,i]],uc=[0,a(f8),[0,c,i]],ud=[0,a(fX),[0,c,i]],uu=a(aE),ut=a(a_),ur=a(a9),us=a(cS),uo=a(a_),up=a(aE),un=a(aE),uk=a(X),ul=a(by),um=a(iT),uj=a(a_),ui=a(a9),uf=[0,1],ug=[0,0],uh=[0,1],uq=[1,a(bp),[0,[0,a(\"http-equiv\"),a(\"Content-Type\")],[0,[0,a(\"content\"),a(\"text/html; charset=utf-8\")],0]],0,0],u8=a(X),u9=a(bb),u_=a(X),u$=a(\"[if !msEquation]\"),va=a(bb),vb=a(X),vc=a(fH),u6=[0,a(\"data-ms-equation\"),a(d8)],uV=a(X),uW=a(bb),uX=a(X),uY=a(\"[if !vml]\"),uZ=a(bb),u0=a(X),u1=a(fH),uT=a(fo),uO=a(aU),uP=a(aU),uN=a(aU),uQ=a(aU),uJ=a(fo),uH=a(\"v:imagedata\"),uI=a(aU),uF=a(\"vshapedata\"),uC=[0,[0,a(\"rtf-data-image\"),a(d8)],0],uD=a(\"data-image-id\"),uz=a(\"rotation\"),uv=a(\"-90\"),uw=a(\"90\"),ux=a(cK),uy=a(bH),uA=a(cK),uB=a(bH),uE=a(\"unsupported\"),uM=a(aU),uR=a(\"[if gte vml 1]>\"),uS=a(jv),u2=a(by),u4=a(\"[if gte msEquation\"),u5=a(jv),vd=a(by),vf=[0,0],vi=a(X),vj=a(\"[if !supportLists]\"),vk=a(bb),vl=a(by),vY=a(iA),vZ=a(aa),v0=a(bn),v2=[0,a(iE),a(d8)],v1=a(aa),vV=a(b9),vW=a(bD),vX=a(fm),v3=a(aT),vT=a(\"mso-text-indent-alt\"),vU=a(jH),vQ=a(\"mso-level-legacy\"),vR=a(\"yes\"),vS=[0,a($),0,0],vN=a(iw),vO=a(d4),vP=[0,a(dQ)],vK=a(\"margin-top\"),vL=a(\"margin-bottom\"),vC=[0,[0,a($),0]],vw=a(\"alpha-lower\"),vx=a(\"alpha-upper\"),vy=a(\"bullet\"),vz=a(\"image\"),vA=a(\"roman-lower\"),vB=a(\"roman-upper\"),vD=[0,[0,a(W),[0,a(\"upper-roman\")]]],vE=[0,[0,a(W),[0,a(\"lower-roman\")]]],vF=[0,[0,a(W),[0,a(\"upper-alpha\")]]],vG=[0,[0,a(W),[0,a(\"lower-alpha\")]]],vH=a(\"mso-level-number-format\"),vI=[0,a(W),0],vt=[0,[0,a($),[0,a(\"square\")]]],vu=[0,[0,a($),[0,a(\"circle\")]]],vv=a(\"mso-level-text\"),vs=a(af),vr=a(cX),vo=[0,a(jt)],vp=a($),vq=a(\"mso-level-start-at\"),vm=[0,[0,a(dQ)],[0,[0,a(d4),0]]],vn=a(aa),vh=a(jC),v7=a(dV),v_=a(dZ),v$=a(bz),v8=a(jd),v9=a(i5),wa=a(aT),v5=[0,a(i5)],v6=[0,a(jd)],wK=[0,1],wL=[0,1],wM=[0,1],wI=a(b9),wE=a(W),wF=a($),wA=a($),wB=a(W),wC=a(W),wz=a(b9),wD=a(b9),ww=a(cX),wx=a(f1),wt=a(W),wu=a($),ws=a(aa),wo=a(dQ),wp=[0,a(d4),0],wq=a(b9),wr=a(b9),wl=a(W),wm=a($),wh=a(aa),wi=a(W),we=a($),wf=a(f1),wg=a(cX),wj=a(fm),wk=a(cX),wc=bO([a(cZ),a(bz),a(fZ),a(f8),a(dV),a(cT),a(cL),a(f3),a(fE),a(f7),a(fJ),a(fs),a(fv),a(fu),a(fr),a(fX),a(dZ),a(fn),a(fI),a(f5),a(a_)]),xB=a(bz),xy=a(bn),xz=a(f6),xx=a(f6),xv=a(bn),xw=a(f6),xt=a(bn),xu=a(\"Apple-converted-space\"),xm=a(X),xh=a(bn),xi=a(\"msocomtxt\"),xf=a(b6),xc=a(bn),xd=a(\"msocomoff\"),w$=a(\"mso-comment-reference\"),w8=a(\"comment-list\"),w7=a(jy),w3=a(bn),w4=a(\"MsoCommentReference\"),w0=a(by),w1=a(\"---\"),wZ=a(X),wU=a(iT),wV=a(\"endfragment\"),wW=a(\"[if \"),wX=a(\"[endif\"),wS=a(bB),wQ=a(\"name\"),wR=a(\"OLE_LINK\"),xn=a(bb),xp=[0,a(\"lang\"),[0,a(\"onmouseover\"),[0,a(\"onmouseout\"),[0,a(fm),0]]]],xq=[0,a(bn),[0,a(iE),[0,a(iA),[0,a(jH),0]]]],xP=a(b2),xN=a(jy),xO=[0,a(\"para-border-div\"),0],xL=a(ja),xJ=a(\"margin-left\"),xK=a(\"data-border-margin\"),xH=a(aT),xD=a(bz),xE=a(bE),xF=a(bz),xG=a(bE),x8=a(\"mso-\"),x9=a(jC),xV=a(\"font-stretch\"),xW=a(\"font-variant-caps\"),xX=a(\"text-decoration\"),xY=a(\"text-indent\"),xZ=a(\"text-transform\"),x0=a(\"vertical-align\"),x1=a(\"white-space\"),x2=a(\"word-spacing\"),x4=a(iW),x5=a(\"baseline\"),x7=a(iW),x6=a(d4),x3=a(\"0px\"),xR=[0,a(jt),[0,a(dQ),[0,a(iw),0]]],xT=bO([a(\"layout-grid-mode\"),a(\"tab-stops\"),a(i9),a(\"text-underline\"),a(\"text-effect\"),a(\"text-line-through\"),a(\"page\"),a(\"font-color\"),a(\"horiz-align\"),a(\"language\"),a(\"separator-image\"),a(\"table-border-color-dark\"),a(\"table-border-color-light\"),a(\"vert-align\"),a(\"widows\"),a(\"letter-spacing\"),a(\"caret-color\"),a(\"orphans\")]),yh=a(\"a:link\"),ye=a(iD),yf=a(\"1px\"),yd=a(iD),yc=a(ja),x$=[0,a(a$),[0,a(at),[0,a(bI),[0,a(bt),0]]]],yu=a(cK),yv=a(bH),yt=[0,a(bI),[0,a(bt),0]],ys=a(at),yq=a(bH),yr=a(cK),yp=a(a$),yn=a(a$),ym=a(bH),yk=a(bH),yj=a(\"px\"),yi=[0,a(bH),[0,a(cK),0]],yC=a(\"before:\"),yD=a(\"after:\"),yz=a(i9),yA=a(\"data-tab-interval\"),yy=[0,1],yx=[0,0],yE=a(\"Jsoo_runtime.Error.Exn\"),yF=a(fy),y3=a(\"edge/\"),y4=a(i8),y5=a(jw),y6=a(jG),yY=a(i8),yZ=a(\"chromeframe\"),yU=a(\"msie\"),yV=a(\"trident\"),yJ=a(jw),yL=a(\"mobile/\"),yK=a(jG),yM=a(je),yO=a(\"firefox\"),yP=a(\"Firefox\"),yR=a(\"opera\"),yS=a(\"Opera\"),yW=a(\"IE\"),y0=[0,a(i6)],y1=a(i6),y7=a(\"Edge\"),y$=a(je),zg=a(e),zh=a(ii),zb=a(iG),zl=a(\"ephox.wimp\");function\nE(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,E(a[1])];case\n1:return[1,E(a[1])];case\n2:return[2,E(a[1])];case\n3:return[3,E(a[1])];case\n4:return[4,E(a[1])];case\n5:return[5,E(a[1])];case\n6:return[6,E(a[1])];case\n7:return[7,E(a[1])];case\n8:var\nc=a[1];return[8,c,E(a[2])];case\n9:var\nb=a[1];return[9,b,b,E(a[3])];case\n10:return[10,E(a[1])];case\n11:return[11,E(a[1])];case\n12:return[12,E(a[1])];case\n13:return[13,E(a[1])];default:return[14,E(a[1])]}}function\nZ(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,Z(a[1],b)];case\n1:return[1,Z(a[1],b)];case\n2:return[2,Z(a[1],b)];case\n3:return[3,Z(a[1],b)];case\n4:return[4,Z(a[1],b)];case\n5:return[5,Z(a[1],b)];case\n6:return[6,Z(a[1],b)];case\n7:return[7,Z(a[1],b)];case\n8:var\nc=a[1];return[8,c,Z(a[2],b)];case\n9:var\nd=a[2],e=a[1];return[9,e,d,Z(a[3],b)];case\n10:return[10,Z(a[1],b)];case\n11:return[11,Z(a[1],b)];case\n12:return[12,Z(a[1],b)];case\n13:return[13,Z(a[1],b)];default:return[14,Z(a[1],b)]}}function\ny(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,y(a[1],b)];case\n1:return[1,y(a[1],b)];case\n2:var\nc=a[1];return[2,c,y(a[2],b)];case\n3:var\nd=a[1];return[3,d,y(a[2],b)];case\n4:var\ne=a[3],f=a[2],g=a[1];return[4,g,f,e,y(a[4],b)];case\n5:var\nh=a[3],i=a[2],j=a[1];return[5,j,i,h,y(a[4],b)];case\n6:var\nk=a[3],l=a[2],m=a[1];return[6,m,l,k,y(a[4],b)];case\n7:var\nn=a[3],o=a[2],p=a[1];return[7,p,o,n,y(a[4],b)];case\n8:var\nq=a[3],r=a[2],s=a[1];return[8,s,r,q,y(a[4],b)];case\n9:var\nt=a[1];return[9,t,y(a[2],b)];case\n10:return[10,y(a[1],b)];case\n11:var\nu=a[1];return[11,u,y(a[2],b)];case\n12:var\nv=a[1];return[12,v,y(a[2],b)];case\n13:var\nw=a[2],x=a[1];return[13,x,w,y(a[3],b)];case\n14:var\nz=a[2],A=a[1];return[14,A,z,y(a[3],b)];case\n15:return[15,y(a[1],b)];case\n16:return[16,y(a[1],b)];case\n17:var\nB=a[1];return[17,B,y(a[2],b)];case\n18:var\nC=a[1];return[18,C,y(a[2],b)];case\n19:return[19,y(a[1],b)];case\n20:var\nD=a[2],E=a[1];return[20,E,D,y(a[3],b)];case\n21:var\nF=a[1];return[21,F,y(a[2],b)];case\n22:return[22,y(a[1],b)];case\n23:var\nG=a[1];return[23,G,y(a[2],b)];default:var\nH=a[2],I=a[1];return[24,I,H,y(a[3],b)]}}function\nch(a){throw[0,db,a]}function\nI(a){throw[0,et,a]}var\ngr=[A,kf,be(0)];function\ndc(a){return 0<=a?a:-a|0}function\nh(d,c){var\na=k(d),e=k(c),b=D(a+e|0);bd(d,0,b,0,a);bd(c,0,b,a,e);return O(b)}function\nkg(a){return a?kh:ki}function\nkj(a){try{var\nb=[0,c7(a)];return b}catch(a){a=C(a);if(a[1]===db)return 0;throw a}}function\nF(a,b){if(a){var\nc=a[1];return[0,c,F(a[2],b)]}return b}Af(0);var\nev=j3(1),aY=j3(2);function\nbS(b,a){return j4(b,a,0,k(a))}function\nci(a){bS(ev,a);gl(ev,10);return aX(ev)}function\ngw(a){bS(aY,a);gl(aY,10);return aX(aY)}function\new(b){function\na(b){var\na=b;for(;;){if(a){var\nc=a[2],d=a[1];try{aX(d)}catch(a){a=C(a);if(a[1]!==gu)throw a;var\ne=a}var\na=c;continue}return 0}}return a(Ag(0))}gp(a(ik),ew);var\nex=At(0),cj=(4*ex|0)-1|0,kn=[A,km,be(0)];function\nko(a){throw kn}function\nck(a){var\nd=a[1];a[1]=ko;try{var\nc=b(d,0);Al(a,c);return c}catch(b){b=C(b);a[1]=function(a){throw b};throw b}}function\ngx(h,g,e){var\na=g,d=e;for(;;){var\nc=b(d,0);if(c){var\ni=c[2],a=f(h,a,c[1]),d=i;continue}return a}}function\ngy(c,a){return a?[0,b(c,a[1])]:0}function\ncl(a){if(0<=a&&!(b0<a))return a;return I(kp)}function\ncm(a){var\nb=a-192|0,c=0;if(30<b>>>0){if(!(25<b+cI>>>0))c=1}else\nif(23!==b)c=1;return c?a+32|0:a}function\nkw(a){return 25<a-65>>>0?a:a+32|0}function\nkx(a){return 25<a+i$>>>0?a:a+fW|0}function\nbh(c){var\nb=0,a=c;for(;;){if(a){var\nb=b+1|0,a=a[2];continue}return b}}function\ndd(a){return a?a[2]:ch(ky)}function\ney(d,c){if(0<=c){var\na=d,b=c;for(;;){if(a){var\ne=a[2],f=a[1];if(0===b)return f;var\na=e,b=b-1|0;continue}return ch(kz)}}return I(kA)}function\ncn(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[1],b],a=a[2],b=e;continue}return b}}function\nG(a){return cn(a,0)}function\naj(c,a){if(a){var\nd=a[2],e=b(c,a[1]);return[0,e,aj(c,d)]}return 0}function\nbT(d,c){var\na=c;for(;;){if(a){var\ne=a[2];b(d,a[1]);var\na=e;continue}return 0}}function\nbi(e,d,c){var\nb=d,a=c;for(;;){if(a){var\ng=a[2],b=f(e,b,a[1]),a=g;continue}return b}}function\ngz(c,a,b){if(a){var\nd=a[1];return f(c,d,gz(c,a[2],b))}return b}function\ngA(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c){var\na=f;continue}return c}return 1}}function\nV(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}}function\ngB(d,c){var\na=c;for(;;){if(a){var\ne=a[2],b=0===ce(a[1],d)?1:0;if(b)return b;var\na=e;continue}return 0}}function\nco(d,c){var\na=c;for(;;){if(a){var\nb=a[1],e=a[2],f=b[2];if(0===ce(b[1],d))return f;var\na=e;continue}throw p}}function\nde(b,a){return a<=b?b:a}function\naN(a,c){var\nb=D(a);zJ(b,0,a,c);return b}var\nkB=D(0);function\nez(a){var\nb=ax(a),c=D(b);bc(a,0,c,0,b);return c}function\ndf(a){return O(ez(a))}function\neA(c,b,a){if(0<=b&&0<=a&&!((ax(c)-a|0)<b)){var\nd=D(a);bc(c,b,d,0,a);return d}return I(kC)}function\ndg(c,b,a){return O(eA(c,b,a))}function\ngC(e,c,d,b,a){if(0<=a&&0<=c&&!((ax(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bc(e,c,d,b,a);return I(kD)}function\naZ(e,c,d,b,a){if(0<=a&&0<=c&&!((k(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bd(e,c,d,b,a);return I(kE)}function\ngD(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\neB(g,c){var\nd=ax(c);if(0===d)return c;var\ne=D(d),f=d-1|0,h=0;if(!(f<0)){var\na=h;for(;;){H(e,a,b(g,bL(c,a)));var\ni=a+1|0;if(f!==a){var\na=i;continue}break}}return e}function\ngE(b,a){return O(aN(b,a))}function\naq(c,b,a){return O(eA(au(c),b,a))}function\naz(l,g){if(g){var\nh=k(l),c=0,b=g,q=0;for(;;){if(b){var\ni=b[1];if(b[2]){var\nj=(k(i)+h|0)+c|0,n=b[2],o=c<=j?j:I(kF),c=o,b=n;continue}var\nm=k(i)+c|0}else\nvar\nm=c;var\nf=D(m),e=q,d=g;for(;;){if(d){var\na=d[1];if(d[2]){var\np=d[2];bd(a,0,f,e,k(a));bd(l,0,f,e+k(a)|0,h);var\ne=(e+k(a)|0)+h|0,d=p;continue}bd(a,0,f,e,k(a))}return O(f)}}}return kG}function\ngF(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\ngG(e,d,c,b){var\na=c;for(;;){if(d<=a)throw p;if(ay(e,a)===b)return a;var\na=a+1|0;continue}}function\neC(a,b){return gG(a,k(a),0,b)}function\nkI(b,a,d){var\nc=k(b);if(0<=a&&!(c<a))try{gG(b,c,a,d);var\ne=1;return e}catch(a){a=C(a);if(a===p)return 0;throw a}return I(kJ)}function\ngH(b,a){return kI(b,0,a)}function\ndh(a){return O(eB(kw,au(a)))}function\ngI(a){return O(eB(cm,au(a)))}var\nkK=c9;function\ngJ(e,c,d,b,a){if(0<=a&&0<=c&&!((e.length-1-a|0)<c)&&0<=b&&!((d.length-1-a|0)<b))return zB(e,c,d,b,a);return I(kM)}function\ngK(e,c){var\nd=c.length-1;if(0===d)return[0];var\nf=aM(d,b(e,c[1])),g=d-1|0,h=1;if(!(g<1)){var\na=h;for(;;){f[1+a]=b(e,c[1+a]);var\ni=a+1|0;if(g!==a){var\na=i;continue}break}}return f}function\na0(f,e,a){var\nc=z_(f,e,a),d=0<=c?1:0,g=d?a[12]!==di?1:0:d;if(g){a[11]=a[12];var\nb=a[12];a[12]=[0,b[1],b[2],b[3],a[4]+a[6]|0]}return c}function\ngM(b,a){var\nc=b?b[1]:1,e=c?gL:di,f=c?gL:di,g=[0],h=1,i=0,j=0,l=0,m=0,n=0,o=k(a),d=ez(au(a));return[0,function(a){a[9]=1;return 0},d,o,n,m,l,j,i,h,g,f,e]}function\nJ(a){return dg(a[2],a[5],a[6]-a[5]|0)}function\neD(c,a,b){return dg(c[2],a,b-a|0)}function\ngN(d){function\nq(a){return a?a[4]:0}function\ne(b,e,a){var\nc=b?b[4]:0,d=a?a[4]:0,f=d<=c?c+1|0:d+1|0;return[0,b,e,a,f]}function\ng(b,f,a){var\ng=b?b[4]:0,h=a?a[4]:0;if((h+2|0)<g){if(b){var\nc=b[3],k=b[2],i=b[1],m=q(c);if(m<=q(i))return e(i,k,e(c,f,a));if(c){var\nn=c[2],o=c[1],p=e(c[3],f,a);return e(e(i,k,o),n,p)}return I(kN)}return I(kO)}if((g+2|0)<h){if(a){var\nj=a[3],l=a[2],d=a[1],r=q(d);if(r<=q(j))return e(e(b,f,d),l,j);if(d){var\ns=d[2],t=d[1],u=e(d[3],l,j);return e(e(b,f,t),s,u)}return I(kP)}return I(kQ)}var\nv=h<=g?g+1|0:h+1|0;return[0,b,f,a,v]}function\na(c,b){if(b){var\ne=b[3],h=b[2],i=b[1],j=f(d[1],c,h);if(0===j)return b;if(0<=j){var\nk=a(c,e);return e===k?b:g(i,h,k)}var\nl=a(c,i);return i===l?b:g(l,h,e)}return[0,0,c,0,1]}function\nh(a){return[0,0,a,0,1]}function\nE(b,a){if(a){var\nc=a[3],d=a[2];return g(E(b,a[1]),d,c)}return h(b)}function\nF(b,a){if(a){var\nc=a[2],d=a[1];return g(d,c,F(b,a[3]))}return h(b)}function\nc(b,d,a){if(b){if(a){var\nf=a[4],h=b[4],i=a[3],j=a[2],k=a[1],l=b[3],m=b[2],n=b[1];return(f+2|0)<h?g(n,m,c(l,d,a)):(h+2|0)<f?g(c(b,d,k),j,i):e(b,d,a)}return F(d,b)}return E(d,a)}function\nj(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return a[2]}throw p}}function\nG(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2]]}return 0}}function\nH(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return a[2]}throw p}}function\nT(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return[0,a[2]]}return 0}}function\nr(a){if(a){var\nb=a[1];if(b){var\nc=a[3],d=a[2];return g(r(b),d,c)}return a[3]}return I(kR)}function\nm(b,a){if(b){if(a){var\nd=r(a);return c(b,j(a),d)}return b}return a}function\ni(b,a){if(a){var\ne=a[3],g=a[2],h=a[1],l=f(d[1],b,g);if(0===l)return[0,h,1,e];if(0<=l){var\nj=i(b,e),m=j[3],n=j[2];return[0,c(h,g,j[1]),n,m]}var\nk=i(b,h),o=k[2],p=k[1];return[0,p,o,c(k[3],g,e)]}return kS}var\nu=0;function\nU(a){return a?0:1}function\nV(g,e){var\na=e;for(;;){if(a){var\nh=a[3],i=a[1],b=f(d[1],g,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nv(e,b){if(b){var\na=b[3],h=b[2],c=b[1],i=f(d[1],e,h);if(0===i){if(c){if(a){var\nm=r(a);return g(c,j(a),m)}return c}return a}if(0<=i){var\nk=v(e,a);return a===k?b:g(c,h,k)}var\nl=v(e,c);return c===l?b:g(l,h,a)}return 0}function\nk(d,b){if(d){if(b){var\ng=b[4],e=b[2],h=d[4],f=d[2],m=b[3],n=b[1],o=d[3],p=d[1];if(g<=h){if(1===g)return a(e,d);var\nj=i(f,b),q=j[1],r=k(o,j[3]);return c(k(p,q),f,r)}if(1===h)return a(f,b);var\nl=i(e,d),s=l[1],t=k(l[3],m);return c(k(s,n),e,t)}return d}return b}function\nn(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=n(e,b[3]);return c(n(g,h),f,j)}var\nk=n(e,b[3]);return m(n(g,h),k)}return 0}return 0}function\nw(e,a){if(a){var\nj=a[3],g=a[2],k=a[1],l=f(d[1],e,g);if(0===l)return 0;if(0<=l){var\nh=w(e,j);if(h){var\nm=h[2];return[0,c(k,g,h[1]),m]}return 0}var\ni=w(e,k);if(i){var\nn=i[2],o=i[1];return[0,o,function(a){return c(b(n,0),g,j)}]}return 0}return[0,0,function(a){return 0}]}function\nJ(g,f){var\na=g,c=f;for(;;){if(a&&c){var\nh=a[3],i=a[2],j=a[1];if(a===c)return 0;var\nd=w(i,c);if(d){var\nk=d[2],e=J(j,d[1]);if(e){var\na=h,c=b(k,0);continue}return e}return 0}return 1}}function\no(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=o(e,b[3]);return m(o(g,h),j)}var\nk=o(e,b[3]);return c(o(g,h),f,k)}return a}return 0}function\nl(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],b],a=a[1],b=e;continue}return b}}function\nK(m,k){var\nn=l(k,0),b=l(m,0),a=n;for(;;){if(b){if(a){var\ne=a[3],g=a[2],h=b[3],i=b[2],c=f(d[1],b[1],a[1]);if(0===c){var\nj=l(g,e),b=l(i,h),a=j;continue}return c}return 1}return a?-1:0}}function\nW(b,a){return 0===K(b,a)?1:0}function\nt(o,n){var\na=o,b=n;for(;;){if(a){if(b){var\nh=b[3],i=b[1],c=a[3],e=a[2],g=a[1],j=f(d[1],e,b[2]);if(0===j){var\nk=t(g,i);if(k){var\na=c,b=h;continue}return k}if(0<=j){var\nl=t([0,0,e,c,0],h);if(l){var\na=g;continue}return l}var\nm=t([0,g,e,0,0],i);if(m){var\na=c;continue}return m}return 0}return 1}}function\nL(c,d){var\na=d;for(;;){if(a){var\ne=a[3],f=a[2];L(c,a[1]);b(c,f);var\na=e;continue}return 0}}function\nM(c,e,d){var\na=e,b=d;for(;;){if(a){var\ng=a[3],h=a[2],i=f(c,h,M(c,a[1],b)),a=g,b=i;continue}return b}}function\nN(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d){var\ne=N(c,i);if(e){var\na=h;continue}var\nf=e}else\nvar\nf=d;return f}return 1}}function\nO(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d)var\ne=d;else{var\nf=O(c,i);if(!f){var\na=h;continue}var\ne=f}return e}return 0}}function\nx(d,a){if(a){var\ng=a[3],h=a[2],i=a[1],e=x(d,i),j=b(d,h),f=x(d,g);if(j){if(i===e&&g===f)return a;return c(e,h,f)}return m(e,f)}return 0}function\ny(d,a){if(a){var\ne=a[2],l=a[3],f=y(d,a[1]),g=f[2],h=f[1],n=b(d,e),i=y(d,l),j=i[2],k=i[1];if(n){var\no=m(g,j);return[0,c(h,e,k),o]}var\np=c(g,e,j);return[0,m(h,k),p]}return kT}function\nz(a){if(a){var\nb=a[1],c=z(a[3]);return(z(b)+1|0)+c|0}return 0}function\nP(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[2],f=a[1],b=[0,e,P(b,a[3])],a=f;continue}return b}}function\nX(a){return P(0,a)}function\nY(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return b;var\nj=0<=c?h:i,a=j;continue}throw p}}function\nZ(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return d}}var\nc=k;continue}throw p}}function\n_(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return[0,d]}}var\nc=k;continue}return 0}}function\n$(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return d}}var\nc=l;continue}throw p}}function\naa(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return[0,d]}}var\nc=l;continue}return 0}}function\nab(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return[0,b];var\nj=0<=c?h:i,a=j;continue}return 0}}function\nA(g,e,b){var\nh=0;if(0!==g){var\nm=H(g);if(0<=f(d[1],m,e))h=1}if(!h){var\ni=0;if(0!==b){var\nl=j(b);if(0<=f(d[1],e,l))i=1}if(!i)return c(g,e,b)}return k(g,a(e,b))}function\nB(c,a){if(a){var\nd=a[3],e=a[2],f=a[1],g=B(c,f),h=b(c,e),i=B(c,d);if(f===g&&e===h&&d===i)return a;return A(g,h,i)}return 0}function\nC(e,c){if(c){var\nf=c[3],g=c[2],h=c[1],d=C(e,h),i=b(e,g),a=C(e,f);if(i){var\nk=i[1];if(h===d&&g===k&&f===a)return c;return A(d,k,a)}if(d){if(a){var\nl=r(a);return A(d,j(a),l)}return d}return a}return 0}function\nac(c){if(c){var\nk=c[2],g=c[1];if(k){var\nl=k[2],i=k[1];if(l){var\nn=l[2],o=l[1];if(n){var\np=n[2],r=n[1];if(p){if(p[2]){var\nb=d[1],x=function(j,g){if(2===j){if(g){var\nn=g[2];if(n){var\no=n[1],k=g[1],J=n[2],y=f(b,k,o),K=0===y?[0,k,0]:0<y?[0,k,[0,o,0]]:[0,o,[0,k,0]];return[0,K,J]}}}else\nif(3===j&&g){var\np=g[2];if(p){var\nq=p[2];if(q){var\nc=q[1],a=p[1],d=g[1],N=q[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<E?[0,a,[0,c,0]]:[0,c,[0,a,0]],r=O;else\nif(0<D){var\nF=f(b,a,c);if(0===F)var\ns=[0,d,[0,a,0]];else\nif(0<F)var\ns=[0,d,[0,a,[0,c,0]]];else\nvar\nG=f(b,d,c),P=0===G?[0,d,[0,a,0]]:0<G?[0,d,[0,c,[0,a,0]]]:[0,c,[0,d,[0,a,0]]],s=P;var\nr=s}else{var\nH=f(b,d,c);if(0===H)var\nt=[0,a,[0,d,0]];else\nif(0<H)var\nt=[0,a,[0,d,[0,c,0]]];else\nvar\nI=f(b,a,c),Q=0===I?[0,a,[0,d,0]]:0<I?[0,a,[0,c,[0,d,0]]]:[0,c,[0,a,[0,d,0]]],t=Q;var\nr=t}return[0,r,N]}}}var\nz=j>>1,A=m(z,g),L=A[1],B=m(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nu=h[2],v=h[1],w=i[2],l=i[1],x=f(b,l,v);if(0===x){var\ni=w,h=u,e=[0,l,e];continue}if(0<=x){var\nh=u,e=[0,v,e];continue}var\ni=w,e=[0,l,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},m=function(j,g){if(2===j){if(g){var\nm=g[2];if(m){var\nn=m[1],k=g[1],J=m[2],y=f(b,k,n),K=0===y?[0,k,0]:0<=y?[0,n,[0,k,0]]:[0,k,[0,n,0]];return[0,K,J]}}}else\nif(3===j&&g){var\no=g[2];if(o){var\np=o[2];if(p){var\nc=p[1],a=o[1],d=g[1],N=p[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<=E?[0,c,[0,a,0]]:[0,a,[0,c,0]],q=O;else\nif(0<=D){var\nF=f(b,d,c);if(0===F)var\nr=[0,a,[0,d,0]];else\nif(0<=F)var\nG=f(b,a,c),P=0===G?[0,a,[0,d,0]]:0<=G?[0,c,[0,a,[0,d,0]]]:[0,a,[0,c,[0,d,0]]],r=P;else\nvar\nr=[0,a,[0,d,[0,c,0]]];var\nq=r}else{var\nH=f(b,a,c);if(0===H)var\ns=[0,d,[0,a,0]];else\nif(0<=H)var\nI=f(b,d,c),Q=0===I?[0,d,[0,a,0]]:0<=I?[0,c,[0,d,[0,a,0]]]:[0,d,[0,c,[0,a,0]]],s=Q;else\nvar\ns=[0,d,[0,a,[0,c,0]]];var\nq=s}return[0,q,N]}}}var\nz=j>>1,A=x(z,g),L=A[1],B=x(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nt=h[2],u=h[1],v=i[2],l=i[1],w=f(b,l,u);if(0===w){var\ni=v,h=t,e=[0,l,e];continue}if(0<w){var\ni=v,e=[0,l,e];continue}var\nh=t,e=[0,u,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},q=bh(c),t=2<=q?m(q,c)[1]:c,j=function(b,a){if(!(3<b>>>0))switch(b){case\n0:return[0,0,a];case\n1:if(a)return[0,[0,0,a[1],0,1],a[2]];break;case\n2:if(a){var\nd=a[2];if(d)return[0,[0,[0,0,a[1],0,1],d[1],0,2],d[2]]}break;default:if(a){var\nf=a[2];if(f){var\ng=f[2];if(g)return[0,[0,[0,0,a[1],0,1],f[1],[0,0,g[1],0,1],2],g[2]]}}}var\nh=b/2|0,i=j(h,a),c=i[2],l=i[1];if(c){var\nm=c[1],k=j((b-h|0)-1|0,c[2]),n=k[2];return[0,e(l,m,k[1]),n]}throw[0,s,kU]};return j(bh(t),t)[1]}var\nv=p[1];return a(v,a(r,a(o,a(i,h(g)))))}return a(r,a(o,a(i,h(g))))}return a(o,a(i,h(g)))}return a(i,h(g))}return h(g)}return u}function\nQ(c,b){return gx(function(c,b){return a(b,c)},b,c)}function\nad(a){return Q(a,u)}function\nD(a,d){if(a){var\nb=a[1],c=l(a[2],a[3]);return[0,b,function(a){return D(c,a)}]}return 0}function\nae(a){var\nb=l(a,0);return function(a){return D(b,a)}}function\nR(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[1],b],a=a[3],b=e;continue}return b}}function\nS(a,d){if(a){var\nb=a[1],c=R(a[2],a[3]);return[0,b,function(a){return S(c,a)}]}return 0}function\naf(a){var\nb=R(a,0);return function(a){return S(b,a)}}return[0,u,U,V,a,h,v,k,n,J,o,K,W,t,L,B,M,N,O,x,C,y,z,X,j,G,H,T,j,G,i,Y,ab,Z,_,$,aa,ac,function(j,i){var\na=i,b=0;for(;;){if(a){var\nc=a[3],e=a[2],k=a[1],g=f(d[1],e,j);if(0!==g){if(0<=g){var\na=k,b=[0,e,c,b];continue}var\na=c;continue}var\nh=[0,e,c,b]}else\nvar\nh=b;return function(a){return D(h,a)}}},ae,af,Q,ad]}function\ndj(g){function\nh(a){return a?a[5]:0}function\nd(b,f,e,a){var\nc=h(b),d=h(a),g=d<=c?c+1|0:d+1|0;return[0,b,f,e,a,g]}function\nq(b,a){return[0,0,b,a,0,1]}function\na(b,g,f,a){var\ni=b?b[5]:0,j=a?a[5]:0;if((j+2|0)<i){if(b){var\nc=b[4],m=b[3],n=b[2],k=b[1],q=h(c);if(q<=h(k))return d(k,n,m,d(c,g,f,a));if(c){var\nr=c[3],s=c[2],t=c[1],u=d(c[4],g,f,a);return d(d(k,n,m,t),s,r,u)}return I(kV)}return I(kW)}if((i+2|0)<j){if(a){var\nl=a[4],o=a[3],p=a[2],e=a[1],v=h(e);if(v<=h(l))return d(d(b,g,f,e),p,o,l);if(e){var\nw=e[3],x=e[2],y=e[1],z=d(e[4],p,o,l);return d(d(b,g,f,y),x,w,z)}return I(kX)}return I(kY)}var\nA=j<=i?i+1|0:j+1|0;return[0,b,g,f,a,A]}var\nC=0;function\nQ(a){return a?0:1}function\nm(d,c,b){if(b){var\ne=b[4],i=b[3],j=b[2],h=b[1],o=b[5],k=f(g[1],d,j);if(0===k)return i===c?b:[0,h,d,c,e,o];if(0<=k){var\nl=m(d,c,e);return e===l?b:a(h,j,i,l)}var\nn=m(d,c,h);return h===n?b:a(n,j,i,e)}return[0,0,d,c,0,1]}function\nR(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return h;var\nj=0<=b?e:i,a=j;continue}throw p}}function\nS(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,e,d]}}var\nc=m;continue}throw p}}function\nT(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,[0,e,d]]}}var\nc=m;continue}return 0}}function\nU(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,e,d]}}var\nc=o;continue}throw p}}function\nV(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,[0,e,d]]}}var\nc=o;continue}return 0}}function\nW(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return[0,h];var\nj=0<=b?e:i,a=j;continue}return 0}}function\nX(e,d){var\na=d;for(;;){if(a){var\nh=a[4],i=a[1],b=f(g[1],e,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nn(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2],a[3]]}throw p}}function\nD(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,[0,a[2],a[3]]]}return 0}}function\nY(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,a[2],a[3]]}throw p}}function\nZ(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,[0,a[2],a[3]]]}return 0}}function\nr(b){if(b){var\nc=b[1];if(c){var\nd=b[4],e=b[3],f=b[2];return a(r(c),f,e,d)}return b[4]}return I(kZ)}function\nE(c,b){if(c){if(b){var\nd=n(b),e=d[2],f=d[1];return a(c,f,e,r(b))}return c}return b}function\nt(e,b){if(b){var\nc=b[4],i=b[3],h=b[2],d=b[1],j=f(g[1],e,h);if(0===j)return E(d,c);if(0<=j){var\nk=t(e,c);return c===k?b:a(d,h,i,k)}var\nl=t(e,d);return d===l?b:a(l,h,i,c)}return 0}function\nu(d,i,c){if(c){var\ne=c[4],j=c[3],k=c[2],h=c[1],r=c[5],l=f(g[1],d,k);if(0===l){var\nm=b(i,[0,j]);if(m){var\nn=m[1];return j===n?c:[0,h,d,n,e,r]}return E(h,e)}if(0<=l){var\no=u(d,i,e);return e===o?c:a(h,k,j,o)}var\np=u(d,i,h);return h===p?c:a(p,k,j,e)}var\nq=b(i,0);return q?[0,0,d,q[1],0,1]:0}function\nF(b,c){var\na=c;for(;;){if(a){var\nd=a[4],e=a[3],g=a[2];F(b,a[1]);f(b,g,e);var\na=d;continue}return 0}}function\nv(c,a){if(a){var\nd=a[5],e=a[4],f=a[3],g=a[2],h=v(c,a[1]),i=b(c,f);return[0,h,g,i,v(c,e),d]}return 0}function\nw(b,a){if(a){var\nc=a[2],d=a[5],e=a[4],g=a[3],h=w(b,a[1]),i=f(b,c,g);return[0,h,c,i,w(b,e),d]}return 0}function\nG(c,e,d){var\na=e,b=d;for(;;){if(a){var\nf=a[4],g=a[3],h=a[2],i=aJ(c,h,g,G(c,a[1],b)),a=f,b=i;continue}return b}}function\nH(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c){var\nd=H(b,i);if(d){var\na=h;continue}var\ne=d}else\nvar\ne=c;return e}return 1}}function\nJ(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c)var\nd=c;else{var\ne=J(b,i);if(!e){var\na=h;continue}var\nd=e}return d}return 0}}function\nK(d,c,b){if(b){var\ne=b[4],f=b[3],g=b[2];return a(K(d,c,b[1]),g,f,e)}return q(d,c)}function\nL(d,c,b){if(b){var\ne=b[3],f=b[2],g=b[1];return a(g,f,e,L(d,c,b[4]))}return q(d,c)}function\nc(e,g,f,b){if(e){if(b){var\nh=b[5],i=e[5],j=b[4],k=b[3],l=b[2],m=b[1],n=e[4],o=e[3],p=e[2],q=e[1];return(h+2|0)<i?a(q,p,o,c(n,g,f,b)):(i+2|0)<h?a(c(e,g,f,m),l,k,j):d(e,g,f,b)}return L(g,f,e)}return K(g,f,b)}function\nj(b,a){if(b){if(a){var\nd=n(a),e=d[2],f=d[1];return c(b,f,e,r(a))}return b}return a}function\no(d,e,b,a){return b?c(d,e,b[1],a):j(d,a)}function\ni(b,a){if(a){var\nd=a[4],e=a[3],h=a[2],j=a[1],m=f(g[1],b,h);if(0===m)return[0,j,[0,e],d];if(0<=m){var\nk=i(b,d),n=k[3],o=k[2];return[0,c(j,h,e,k[1]),o,n]}var\nl=i(b,j),p=l[2],q=l[1];return[0,q,p,c(l[3],h,e,d)]}return k0}function\nk(c,b,a){if(b){var\nd=b[2],j=b[5],l=b[4],m=b[3],n=b[1];if(h(a)<=j){var\ne=i(d,a),p=e[2],q=e[1],r=k(c,l,e[3]),t=aJ(c,d,[0,m],p);return o(k(c,n,q),d,t,r)}}else\nif(!a)return 0;if(a){var\nf=a[2],u=a[4],v=a[3],w=a[1],g=i(f,b),x=g[2],y=g[1],z=k(c,g[3],u),A=aJ(c,f,x,[0,v]);return o(k(c,y,w),f,A,z)}throw[0,s,k1]}function\nl(d,b,a){if(b){if(a){var\nj=a[3],e=a[2],k=b[3],f=b[2],u=a[4],v=a[1],w=b[4],x=b[1];if(a[5]<=b[5]){var\ng=i(f,a),m=g[2],y=g[3],n=l(d,x,g[1]),p=l(d,w,y);return m?o(n,f,aJ(d,f,k,m[1]),p):c(n,f,k,p)}var\nh=i(e,b),q=h[2],z=h[3],r=l(d,h[1],v),s=l(d,z,u);return q?o(r,e,aJ(d,e,q[1],j),s):c(r,e,j,s)}var\nt=b}else\nvar\nt=a;return t}function\nx(b,a){if(a){var\ng=a[4],h=a[3],i=a[2],k=a[1],d=x(b,k),l=f(b,i,h),e=x(b,g);if(l){if(k===d&&g===e)return a;return c(d,i,h,e)}return j(d,e)}return 0}function\ny(b,a){if(a){var\nd=a[2],i=a[4],k=a[3],e=y(b,a[1]),g=f(b,d,k),h=y(b,i);return g?c(e,d,g[1],h):j(e,h)}return 0}function\nz(b,a){if(a){var\nd=a[3],e=a[2],n=a[4],g=z(b,a[1]),h=g[2],i=g[1],o=f(b,e,d),k=z(b,n),l=k[2],m=k[1];if(o){var\np=j(h,l);return[0,c(i,e,d,m),p]}var\nq=c(h,e,d,l);return[0,j(i,m),q]}return k2}function\ne(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[4],b],a=a[1],b=e;continue}return b}}function\n_(j,i,h){var\nr=e(h,0),b=e(i,0),a=r;for(;;){if(b){if(a){var\nk=a[4],l=a[3],m=a[2],n=b[4],o=b[3],p=b[2],c=f(g[1],b[1],a[1]);if(0===c){var\nd=f(j,p,m);if(0===d){var\nq=e(l,k),b=e(o,n),a=q;continue}return d}return c}return 1}return a?-1:0}}function\n$(k,j,i){var\ns=e(i,0),b=e(j,0),a=s;for(;;){if(b){if(a){var\nl=a[4],m=a[3],n=a[2],o=b[4],p=b[3],q=b[2],c=0===f(g[1],b[1],a[1])?1:0;if(c){var\nd=f(k,q,n);if(d){var\nr=e(m,l),b=e(p,o),a=r;continue}var\nh=d}else\nvar\nh=c;return h}return 0}return a?0:1}}function\nA(a){if(a){var\nb=a[1],c=A(a[4]);return(A(b)+1|0)+c|0}return 0}function\nM(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[3],f=a[2],g=a[1],b=[0,[0,f,e],M(b,a[4])],a=g;continue}return b}}function\naa(a){return M(0,a)}function\nN(b,a){return gx(function(b,a){return m(a[1],a[2],b)},a,b)}function\nab(a){return N(a,C)}function\nB(a,f){if(a){var\nb=a[2],c=a[1],d=e(a[3],a[4]);return[0,[0,c,b],function(a){return B(d,a)}]}return 0}function\nac(a){var\nb=e(a,0);return function(a){return B(b,a)}}function\nO(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[1],b],a=a[4],b=e;continue}return b}}function\nP(a,e){if(a){var\nb=a[2],c=a[1],d=O(a[3],a[4]);return[0,[0,c,b],function(a){return P(d,a)}]}return 0}function\nad(a){var\nb=O(a,0);return function(a){return P(b,a)}}return[0,C,Q,X,m,u,q,t,k,l,_,$,F,G,H,J,x,y,z,A,aa,n,D,Y,Z,n,D,i,R,W,S,T,U,V,v,w,ac,ad,function(k,j){var\na=j,b=0;for(;;){if(a){var\nc=a[4],e=a[3],d=a[2],l=a[1],h=f(g[1],d,k);if(0!==h){if(0<=h){var\na=l,b=[0,d,e,c,b];continue}var\na=c;continue}var\ni=[0,d,e,c,b]}else\nvar\ni=b;return function(a){return B(i,a)}}},N,ab]}var\neE=[A,k3,be(0)];function\ngO(a){return[0,0,0]}function\neF(b,a){a[1]=[0,b,a[1]];a[2]=a[2]+1|0;return 0}function\ncp(a){var\nb=a[1];if(b){var\nc=b[1];a[1]=b[2];a[2]=a[2]-1|0;return c}throw eE}function\nk4(b,a){return bT(b,a[1])}function\ngP(a){var\nb=1<=a?a:1,c=cj<b?cj:b,d=D(c);return[0,d,0,c,d]}function\ngQ(a){return dg(a[1],0,a[2])}function\ngR(a,c){var\nd=a[2],b=[0,a[3]];for(;;){if(b[1]<(d+c|0)){b[1]=2*b[1]|0;continue}if(cj<b[1])if((d+c|0)<=cj)b[1]=cj;else\nch(k7);var\ne=D(b[1]);gC(a[1],0,e,0,a[2]);a[1]=e;a[3]=b[1];if((a[2]+c|0)<=a[3]){if((d+c|0)<=a[3])return 0;throw[0,s,k5]}throw[0,s,k6]}}function\nbU(a,c){var\nb=k(c),d=a[2]+b|0;if(a[3]<d)gR(a,b);bd(c,0,a[1],a[2],b);a[2]=d;return 0}function\neG(a){return 5===a[2]?12:-6}function\ngS(a){return[0,0,D(a)]}function\ngT(a,g){var\nb=ax(a[2]),c=a[1]+g|0,d=b<c?1:0;if(d){var\ne=D(de(b*2|0,c));gC(a[2],0,e,0,b);a[2]=e;var\nf=0}else\nvar\nf=d;return f}function\nbV(a,b){gT(a,1);aL(a[2],a[1],b);a[1]=a[1]+1|0;return 0}function\nS(a,c){var\nb=k(c);gT(a,b);aZ(c,0,a[2],a[1],b);a[1]=a[1]+b|0;return 0}function\ngU(a){return dg(a[2],0,a[1])}function\ngV(a){if(typeof\na===\"number\")switch(a){case\n0:return k8;case\n1:return k9;case\n2:return k_;case\n3:return k$;case\n4:return la;case\n5:return lb;default:return lc}else\nswitch(a[0]){case\n0:return a[1];case\n1:return a[1];default:return h(ld,gE(1,a[1]))}}function\neH(b,c){var\na=c;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nd=a[1];S(b,le);var\na=d;continue;case\n1:var\ne=a[1];S(b,lf);var\na=e;continue;case\n2:var\nf=a[1];S(b,lg);var\na=f;continue;case\n3:var\ng=a[1];S(b,lh);var\na=g;continue;case\n4:var\nh=a[1];S(b,li);var\na=h;continue;case\n5:var\ni=a[1];S(b,lj);var\na=i;continue;case\n6:var\nj=a[1];S(b,lk);var\na=j;continue;case\n7:var\nk=a[1];S(b,ll);var\na=k;continue;case\n8:var\nl=a[2],m=a[1];S(b,lm);eH(b,m);S(b,ln);var\na=l;continue;case\n9:var\nn=a[3],o=a[1];S(b,lo);eH(b,o);S(b,lp);var\na=n;continue;case\n10:var\np=a[1];S(b,lq);var\na=p;continue;case\n11:var\nq=a[1];S(b,lr);var\na=q;continue;case\n12:var\nr=a[1];S(b,ls);var\na=r;continue;case\n13:var\ns=a[1];S(b,lt);var\na=s;continue;default:var\nt=a[1];S(b,lu);var\na=t;continue}}function\nK(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,K(a[1])];case\n1:return[1,K(a[1])];case\n2:return[2,K(a[1])];case\n3:return[3,K(a[1])];case\n4:return[4,K(a[1])];case\n5:return[5,K(a[1])];case\n6:return[6,K(a[1])];case\n7:return[7,K(a[1])];case\n8:var\nb=a[1];return[8,b,K(a[2])];case\n9:var\nc=a[2],d=a[1];return[9,c,d,K(a[3])];case\n10:return[10,K(a[1])];case\n11:return[11,K(a[1])];case\n12:return[12,K(a[1])];case\n13:return[13,K(a[1])];default:return[14,K(a[1])]}}function\nT(a){if(typeof\na===\"number\"){var\ns=function(a){return 0},t=function(a){return 0},u=function(a){return 0};return[0,function(a){return 0},u,t,s]}else\nswitch(a[0]){case\n0:var\nc=T(a[1]),v=c[4],w=c[3],x=c[2],y=c[1],z=function(a){b(x,0);return 0};return[0,function(a){b(y,0);return 0},z,w,v];case\n1:var\nd=T(a[1]),A=d[4],B=d[3],C=d[2],D=d[1],E=function(a){b(C,0);return 0};return[0,function(a){b(D,0);return 0},E,B,A];case\n2:var\ne=T(a[1]),F=e[4],G=e[3],H=e[2],I=e[1],J=function(a){b(H,0);return 0};return[0,function(a){b(I,0);return 0},J,G,F];case\n3:var\nf=T(a[1]),L=f[4],N=f[3],O=f[2],P=f[1],Q=function(a){b(O,0);return 0};return[0,function(a){b(P,0);return 0},Q,N,L];case\n4:var\ng=T(a[1]),R=g[4],S=g[3],U=g[2],V=g[1],W=function(a){b(U,0);return 0};return[0,function(a){b(V,0);return 0},W,S,R];case\n5:var\nh=T(a[1]),X=h[4],Y=h[3],Z=h[2],_=h[1],$=function(a){b(Z,0);return 0};return[0,function(a){b(_,0);return 0},$,Y,X];case\n6:var\ni=T(a[1]),aa=i[4],ab=i[3],ac=i[2],ad=i[1],ae=function(a){b(ac,0);return 0};return[0,function(a){b(ad,0);return 0},ae,ab,aa];case\n7:var\nj=T(a[1]),af=j[4],ag=j[3],ah=j[2],ai=j[1],aj=function(a){b(ah,0);return 0};return[0,function(a){b(ai,0);return 0},aj,ag,af];case\n8:var\nk=T(a[2]),ak=k[4],al=k[3],am=k[2],an=k[1],ao=function(a){b(am,0);return 0};return[0,function(a){b(an,0);return 0},ao,al,ak];case\n9:var\nap=a[2],aq=a[1],l=T(a[3]),ar=l[4],as=l[3],at=l[2],au=l[1],m=T(M(K(aq),ap)),av=m[4],aw=m[3],ax=m[2],ay=m[1],az=function(a){b(av,0);b(ar,0);return 0},aA=function(a){b(as,0);b(aw,0);return 0},aB=function(a){b(ax,0);b(at,0);return 0};return[0,function(a){b(au,0);b(ay,0);return 0},aB,aA,az];case\n10:var\nn=T(a[1]),aC=n[4],aD=n[3],aE=n[2],aF=n[1],aG=function(a){b(aE,0);return 0};return[0,function(a){b(aF,0);return 0},aG,aD,aC];case\n11:var\no=T(a[1]),aH=o[4],aI=o[3],aJ=o[2],aK=o[1],aL=function(a){b(aJ,0);return 0};return[0,function(a){b(aK,0);return 0},aL,aI,aH];case\n12:var\np=T(a[1]),aM=p[4],aN=p[3],aO=p[2],aP=p[1],aQ=function(a){b(aO,0);return 0};return[0,function(a){b(aP,0);return 0},aQ,aN,aM];case\n13:var\nq=T(a[1]),aR=q[4],aS=q[3],aT=q[2],aU=q[1],aV=function(a){b(aR,0);return 0},aW=function(a){b(aS,0);return 0},aX=function(a){b(aT,0);return 0};return[0,function(a){b(aU,0);return 0},aX,aW,aV];default:var\nr=T(a[1]),aY=r[4],aZ=r[3],a0=r[2],a1=r[1],a2=function(a){b(aY,0);return 0},a3=function(a){b(aZ,0);return 0},a4=function(a){b(a0,0);return 0};return[0,function(a){b(a1,0);return 0},a4,a3,a2]}}function\nM(d,c){var\na=0;if(typeof\nd===\"number\")if(typeof\nc===\"number\")return 0;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;case\n8:a=5;break;case\n9:a=6;break;default:throw[0,s,lv]}else\nswitch(d[0]){case\n0:var\ne=0,u=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n0:return[0,M(u,c[1])];case\n8:a=5;e=1;break;case\n9:a=6;e=1;break;case\n10:e=1;break;case\n11:a=1;e=1;break;case\n12:a=2;e=1;break;case\n13:a=3;e=1;break;case\n14:a=4;e=1;break}if(!e)a=7;break;case\n1:var\nf=0,v=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n1:return[1,M(v,c[1])];case\n8:a=5;f=1;break;case\n9:a=6;f=1;break;case\n10:f=1;break;case\n11:a=1;f=1;break;case\n12:a=2;f=1;break;case\n13:a=3;f=1;break;case\n14:a=4;f=1;break}if(!f)a=7;break;case\n2:var\ng=0,w=d[1];if(typeof\nc===\"number\")g=1;else\nswitch(c[0]){case\n2:return[2,M(w,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:g=1}if(g)a=7;break;case\n3:var\nh=0,x=d[1];if(typeof\nc===\"number\")h=1;else\nswitch(c[0]){case\n3:return[3,M(x,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:h=1}if(h)a=7;break;case\n4:var\ni=0,y=d[1];if(typeof\nc===\"number\")i=1;else\nswitch(c[0]){case\n4:return[4,M(y,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:i=1}if(i)a=7;break;case\n5:var\nj=0,z=d[1];if(typeof\nc===\"number\")j=1;else\nswitch(c[0]){case\n5:return[5,M(z,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:j=1}if(j)a=7;break;case\n6:var\nk=0,A=d[1];if(typeof\nc===\"number\")k=1;else\nswitch(c[0]){case\n6:return[6,M(A,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:k=1}if(k)a=7;break;case\n7:var\nl=0,B=d[1];if(typeof\nc===\"number\")l=1;else\nswitch(c[0]){case\n7:return[7,M(B,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:l=1}if(l)a=7;break;case\n8:var\nm=0,C=d[2],D=d[1];if(typeof\nc===\"number\")m=1;else\nswitch(c[0]){case\n8:var\nE=c[1],F=M(C,c[2]);return[8,M(D,E),F];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:m=1}if(m)throw[0,s,lE];break;case\n9:var\nn=0,G=d[3],H=d[2],I=d[1];if(typeof\nc===\"number\")n=1;else\nswitch(c[0]){case\n8:a=5;break;case\n9:var\nJ=c[3],L=c[2],N=c[1],t=T(M(K(H),N)),O=t[4];b(t[2],0);b(O,0);return[9,I,L,M(G,J)];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:n=1}if(n)throw[0,s,lF];break;case\n10:var\nP=d[1];if(typeof\nc!==\"number\"&&10===c[0])return[10,M(P,c[1])];throw[0,s,lG];case\n11:var\no=0,Q=d[1];if(typeof\nc===\"number\")o=1;else\nswitch(c[0]){case\n10:break;case\n11:return[11,M(Q,c[1])];default:o=1}if(o)throw[0,s,lH];break;case\n12:var\np=0,R=d[1];if(typeof\nc===\"number\")p=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:return[12,M(R,c[1])];default:p=1}if(p)throw[0,s,lI];break;case\n13:var\nq=0,S=d[1];if(typeof\nc===\"number\")q=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:return[13,M(S,c[1])];default:q=1}if(q)throw[0,s,lJ];break;default:var\nr=0,U=d[1];if(typeof\nc===\"number\")r=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:return[14,M(U,c[1])];default:r=1}if(r)throw[0,s,lK]}switch(a){case\n0:throw[0,s,ly];case\n1:throw[0,s,lz];case\n2:throw[0,s,lA];case\n3:throw[0,s,lB];case\n4:throw[0,s,lC];case\n5:throw[0,s,lw];case\n6:throw[0,s,lx];default:throw[0,s,lD]}}var\nP=[A,lL,be(0)];function\ndk(b,a){if(typeof\nb===\"number\")return[0,0,a];else{if(0===b[0])return[0,[0,b[1],b[2]],a];if(typeof\na!==\"number\"&&2===a[0])return[0,[1,b[1]],a[1]];throw P}}function\ncq(e,b,d){var\na=dk(e,d);if(typeof\nb===\"number\"){if(b){var\nc=a[2];if(typeof\nc!==\"number\"&&2===c[0])return[0,a[1],1,c[1]];throw P}return[0,a[1],0,a[2]]}return[0,a[1],[0,b[1]],a[2]]}function\nac(c,d,a){if(typeof\nc===\"number\")return[0,0,u(d,a)];else\nswitch(c[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ng=ac(c[1],d,a[1]);return[0,[0,g[1]],g[2]]}break;case\n1:if(typeof\na!==\"number\"&&1===a[0]){var\nh=ac(c[1],d,a[1]);return[0,[1,h[1]],h[2]]}break;case\n2:if(typeof\na!==\"number\"&&2===a[0]){var\ni=ac(c[1],d,a[1]);return[0,[2,i[1]],i[2]]}break;case\n3:if(typeof\na!==\"number\"&&3===a[0]){var\nj=ac(c[1],d,a[1]);return[0,[3,j[1]],j[2]]}break;case\n4:if(typeof\na!==\"number\"&&4===a[0]){var\nk=ac(c[1],d,a[1]);return[0,[4,k[1]],k[2]]}break;case\n5:if(typeof\na!==\"number\"&&5===a[0]){var\nl=ac(c[1],d,a[1]);return[0,[5,l[1]],l[2]]}break;case\n6:if(typeof\na!==\"number\"&&6===a[0]){var\nm=ac(c[1],d,a[1]);return[0,[6,m[1]],m[2]]}break;case\n7:if(typeof\na!==\"number\"&&7===a[0]){var\nn=ac(c[1],d,a[1]);return[0,[7,n[1]],n[2]]}break;case\n8:if(typeof\na!==\"number\"&&8===a[0]){var\no=a[1],x=a[2],y=c[2];if(bQ([0,c[1]],[0,o]))throw P;var\np=ac(y,d,x);return[0,[8,o,p[1]],p[2]]}break;case\n9:if(typeof\na!==\"number\"&&9===a[0]){var\ne=a[2],f=a[1],z=a[3],A=c[3],B=c[2],C=c[1],D=[0,E(f)];if(bQ([0,E(C)],D))throw P;var\nF=[0,E(e)];if(bQ([0,E(B)],F))throw P;var\nq=T(M(K(f),e)),G=q[4];b(q[2],0);b(G,0);var\nr=ac(E(A),d,z),H=r[2];return[0,[9,f,e,K(r[1])],H]}break;case\n10:if(typeof\na!==\"number\"&&10===a[0]){var\ns=ac(c[1],d,a[1]);return[0,[10,s[1]],s[2]]}break;case\n11:if(typeof\na!==\"number\"&&11===a[0]){var\nt=ac(c[1],d,a[1]);return[0,[11,t[1]],t[2]]}break;case\n13:if(typeof\na!==\"number\"&&13===a[0]){var\nv=ac(c[1],d,a[1]);return[0,[13,v[1]],v[2]]}break;case\n14:if(typeof\na!==\"number\"&&14===a[0]){var\nw=ac(c[1],d,a[1]);return[0,[14,w[1]],w[2]]}break}throw P}function\nu(b,a){if(typeof\nb===\"number\")return[0,0,a];else\nswitch(b[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ns=u(b[1],a[1]);return[0,[0,s[1]],s[2]]}break;case\n1:if(typeof\na!==\"number\"&&0===a[0]){var\nt=u(b[1],a[1]);return[0,[1,t[1]],t[2]]}break;case\n2:var\nae=b[2],v=dk(b[1],a),e=v[2],af=v[1];if(typeof\ne!==\"number\"&&1===e[0]){var\nw=u(ae,e[1]);return[0,[2,af,w[1]],w[2]]}throw P;case\n3:var\nag=b[2],x=dk(b[1],a),f=x[2],ah=x[1];if(typeof\nf!==\"number\"&&1===f[0]){var\ny=u(ag,f[1]);return[0,[3,ah,y[1]],y[2]]}throw P;case\n4:var\nai=b[4],aj=b[1],g=cq(b[2],b[3],a),h=g[3],al=g[1];if(typeof\nh!==\"number\"&&2===h[0]){var\nam=g[2],z=u(ai,h[1]);return[0,[4,aj,al,am,z[1]],z[2]]}throw P;case\n5:var\nan=b[4],ao=b[1],i=cq(b[2],b[3],a),j=i[3],ap=i[1];if(typeof\nj!==\"number\"&&3===j[0]){var\naq=i[2],A=u(an,j[1]);return[0,[5,ao,ap,aq,A[1]],A[2]]}throw P;case\n6:var\nar=b[4],as=b[1],k=cq(b[2],b[3],a),l=k[3],at=k[1];if(typeof\nl!==\"number\"&&4===l[0]){var\nau=k[2],B=u(ar,l[1]);return[0,[6,as,at,au,B[1]],B[2]]}throw P;case\n7:var\nav=b[4],aw=b[1],m=cq(b[2],b[3],a),n=m[3],ax=m[1];if(typeof\nn!==\"number\"&&5===n[0]){var\nay=m[2],C=u(av,n[1]);return[0,[7,aw,ax,ay,C[1]],C[2]]}throw P;case\n8:var\naz=b[4],aA=b[1],o=cq(b[2],b[3],a),p=o[3],aB=o[1];if(typeof\np!==\"number\"&&6===p[0]){var\naC=o[2],D=u(az,p[1]);return[0,[8,aA,aB,aC,D[1]],D[2]]}throw P;case\n9:var\naD=b[2],F=dk(b[1],a),q=F[2],aE=F[1];if(typeof\nq!==\"number\"&&7===q[0]){var\nG=u(aD,q[1]);return[0,[9,aE,G[1]],G[2]]}throw P;case\n10:var\nH=u(b[1],a);return[0,[10,H[1]],H[2]];case\n11:var\naF=b[1],I=u(b[2],a);return[0,[11,aF,I[1]],I[2]];case\n12:var\naG=b[1],J=u(b[2],a);return[0,[12,aG,J[1]],J[2]];case\n13:if(typeof\na!==\"number\"&&8===a[0]){var\nK=a[1],aH=a[2],aI=b[3],aJ=b[1];if(bQ([0,b[2]],[0,K]))throw P;var\nL=u(aI,aH);return[0,[13,aJ,K,L[1]],L[2]]}break;case\n14:if(typeof\na!==\"number\"&&9===a[0]){var\nM=a[1],aK=a[3],aL=b[3],aM=b[2],aN=b[1],aO=[0,E(M)];if(bQ([0,E(aM)],aO))throw P;var\nN=u(aL,E(aK));return[0,[14,aN,M,N[1]],N[2]]}break;case\n15:if(typeof\na!==\"number\"&&10===a[0]){var\nO=u(b[1],a[1]);return[0,[15,O[1]],O[2]]}break;case\n16:if(typeof\na!==\"number\"&&11===a[0]){var\nQ=u(b[1],a[1]);return[0,[16,Q[1]],Q[2]]}break;case\n17:var\naP=b[1],R=u(b[2],a);return[0,[17,aP,R[1]],R[2]];case\n18:var\nS=b[2],r=b[1];if(0===r[0]){var\nW=r[1],aT=W[2],X=u(W[1],a),aU=X[1],Y=u(S,X[2]);return[0,[18,[0,[0,aU,aT]],Y[1]],Y[2]]}var\nZ=r[1],aV=Z[2],_=u(Z[1],a),aW=_[1],$=u(S,_[2]);return[0,[18,[1,[0,aW,aV]],$[1]],$[2]];case\n19:if(typeof\na!==\"number\"&&13===a[0]){var\nT=u(b[1],a[1]);return[0,[19,T[1]],T[2]]}break;case\n20:if(typeof\na!==\"number\"&&1===a[0]){var\naQ=b[2],aR=b[1],U=u(b[3],a[1]);return[0,[20,aR,aQ,U[1]],U[2]]}break;case\n21:if(typeof\na!==\"number\"&&2===a[0]){var\naS=b[1],V=u(b[2],a[1]);return[0,[21,aS,V[1]],V[2]]}break;case\n23:var\nd=b[2],c=b[1];if(typeof\nc===\"number\")switch(c){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:if(typeof\na!==\"number\"&&14===a[0]){var\naa=u(d,a[1]);return[0,[23,2,aa[1]],aa[2]]}throw P;default:return ak(c,d,a)}else\nswitch(c[0]){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:return ak(c,d,a);case\n3:return ak(c,d,a);case\n4:return ak(c,d,a);case\n5:return ak(c,d,a);case\n6:return ak(c,d,a);case\n7:return ak(c,d,a);case\n8:return ak([8,c[1],c[2]],d,a);case\n9:var\naX=c[1],ab=ac(c[2],d,a),ad=ab[2];return[0,[23,[9,aX,ab[1]],ad[1]],ad[2]];case\n10:return ak(c,d,a);default:return ak(c,d,a)}}throw P}function\nak(d,c,b){var\na=u(c,b);return[0,[23,d,a[1]],a[2]]}function\nal(l,g,a){var\nb=k(a),h=0<=g?l:0,d=dc(g);if(d<=b)return a;var\nm=2===h?48:32,c=aN(d,m);switch(h){case\n0:aZ(a,0,c,0,b);break;case\n1:aZ(a,0,c,d-b|0,b);break;default:var\ne=0;if(0<b){var\ni=0;if(43!==B(a,0)&&45!==B(a,0)&&32!==B(a,0)){e=1;i=1}if(!i){aL(c,0,B(a,0));aZ(a,1,c,(d-b|0)+1|0,b-1|0)}}else\ne=1;if(e){var\nf=0;if(1<b&&48===B(a,0)){var\nj=0;if(iu!==B(a,1)&&88!==B(a,1)){f=1;j=1}if(!j){aL(c,1,B(a,1));aZ(a,2,c,(d-b|0)+2|0,b-2|0)}}else\nf=1;if(f)aZ(a,0,c,d-b|0,b)}}return O(c)}function\nbW(l,b){var\nc=dc(l),a=k(b),d=B(b,0),e=0;if(58<=d){if(71<=d){if(!(5<d+i$>>>0))e=1}else\nif(65<=d)e=1}else{var\nf=0;if(32!==d)if(43<=d)switch(d-43|0){case\n5:if(a<(c+2|0)&&1<a){var\nj=0;if(iu===B(b,1)||88===B(b,1))j=1;if(j){var\nh=aN(c+2|0,48);aL(h,1,B(b,1));aZ(b,2,h,(c-a|0)+4|0,a-2|0);return O(h)}}e=1;f=1;break;case\n0:case\n2:break;case\n1:case\n3:case\n4:f=1;break;default:e=1;f=1}else\nf=1;if(!f&&a<(c+1|0)){var\ng=aN(c+1|0,48);aL(g,0,d);aZ(b,1,g,(c-a|0)+2|0,a-1|0);return O(g)}}if(e&&a<c){var\ni=aN(c,48);aZ(b,0,i,c-a|0,a);return O(i)}return b}function\nlM(l){var\nj=0,B=k(l);for(;;){if(B<=j)var\np=l;else{var\no=ay(l,j)+fW|0,q=0;if(59<o>>>0){if(33<o-61>>>0)q=1}else\nif(2===o)q=1;if(!q){var\nj=j+1|0;continue}var\ne=au(l),a=[0,0],s=ax(e)-1|0,x=0;if(!(s<0)){var\ni=x;for(;;){var\nf=bL(e,i),g=0;if(32<=f){var\nm=f-34|0,r=0;if(58<m>>>0){if(93<=m)r=1}else\nif(56<m-1>>>0){g=1;r=1}if(!r){var\nn=1;g=2}}else\nif(11<=f){if(13===f)g=1}else\nif(8<=f)g=1;switch(g){case\n0:var\nn=4;break;case\n1:var\nn=2;break}a[1]=a[1]+n|0;var\nA=i+1|0;if(s!==i){var\ni=A;continue}break}}if(a[1]===ax(e))var\nu=ez(e);else{var\nb=D(a[1]);a[1]=0;var\nt=ax(e)-1|0,y=0;if(!(t<0)){var\nh=y;for(;;){var\nc=bL(e,h),d=0;if(35<=c)if(92===c)d=2;else\nif(cI<=c)d=1;else\nd=3;else\nif(32<=c)if(34<=c)d=2;else\nd=3;else\nif(14<=c)d=1;else\nswitch(c){case\n8:H(b,a[1],92);a[1]++;H(b,a[1],98);break;case\n9:H(b,a[1],92);a[1]++;H(b,a[1],116);break;case\n10:H(b,a[1],92);a[1]++;H(b,a[1],110);break;case\n13:H(b,a[1],92);a[1]++;H(b,a[1],114);break;default:d=1}switch(d){case\n1:H(b,a[1],92);a[1]++;H(b,a[1],48+(c/fR|0)|0);a[1]++;H(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;H(b,a[1],48+(c%10|0)|0);break;case\n2:H(b,a[1],92);a[1]++;H(b,a[1],c);break;case\n3:H(b,a[1],c);break}a[1]++;var\nz=h+1|0;if(t!==h){var\nh=z;continue}break}}var\nu=b}var\np=O(u)}var\nv=k(p),w=aN(v+2|0,34);bd(p,0,w,1,v);return O(w)}}function\ngW(d,g){var\nh=dc(g),f=mB[1];switch(d[2]){case\n0:var\nb=102;break;case\n1:var\nb=101;break;case\n2:var\nb=69;break;case\n3:var\nb=iv;break;case\n4:var\nb=71;break;case\n5:var\nb=f;break;case\n6:var\nb=104;break;case\n7:var\nb=72;break;default:var\nb=70}var\nc=gS(16);bV(c,37);switch(d[1]){case\n0:break;case\n1:bV(c,43);break;default:bV(c,32)}if(8<=d[2])bV(c,35);bV(c,46);S(c,a(e+h));bV(c,b);return gU(c)}function\ndl(n,a){if(13<=n){var\ng=[0,0],h=k(a)-1|0,o=0;if(!(h<0)){var\nc=o;for(;;){if(!(9<ay(a,c)+iB>>>0))g[1]++;var\nr=c+1|0;if(h!==c){var\nc=r;continue}break}}var\ni=g[1],j=D(k(a)+((i-1|0)/3|0)|0),l=[0,0],d=function(a){aL(j,l[1],a);l[1]++;return 0},e=[0,((i-1|0)%3|0)+1|0],m=k(a)-1|0,p=0;if(!(m<0)){var\nb=p;for(;;){var\nf=ay(a,b);if(9<f+iB>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var\nq=b+1|0;if(m!==b){var\nb=q;continue}break}}return O(j)}return a}function\nmC(b,c){switch(b){case\n1:var\na=lO;break;case\n2:var\na=lP;break;case\n4:var\na=lR;break;case\n5:var\na=lS;break;case\n6:var\na=lT;break;case\n7:var\na=lU;break;case\n8:var\na=lV;break;case\n9:var\na=lW;break;case\n10:var\na=lX;break;case\n11:var\na=lY;break;case\n0:case\n13:var\na=lN;break;case\n3:case\n14:var\na=lQ;break;default:var\na=lZ}return dl(b,el(a,c))}function\nmD(b,c){switch(b){case\n1:var\na=mc;break;case\n2:var\na=md;break;case\n4:var\na=mf;break;case\n5:var\na=mg;break;case\n6:var\na=mh;break;case\n7:var\na=mi;break;case\n8:var\na=mj;break;case\n9:var\na=mk;break;case\n10:var\na=ml;break;case\n11:var\na=mm;break;case\n0:case\n13:var\na=mb;break;case\n3:case\n14:var\na=me;break;default:var\na=mn}return dl(b,el(a,c))}function\nmE(b,c){switch(b){case\n1:var\na=mp;break;case\n2:var\na=mq;break;case\n4:var\na=ms;break;case\n5:var\na=mt;break;case\n6:var\na=mu;break;case\n7:var\na=mv;break;case\n8:var\na=mw;break;case\n9:var\na=mx;break;case\n10:var\na=my;break;case\n11:var\na=mz;break;case\n0:case\n13:var\na=mo;break;case\n3:case\n14:var\na=mr;break;default:var\na=mA}return dl(b,el(a,c))}function\nmF(b,c){switch(b){case\n1:var\na=l1;break;case\n2:var\na=l2;break;case\n4:var\na=l4;break;case\n5:var\na=l5;break;case\n6:var\na=l6;break;case\n7:var\na=l7;break;case\n8:var\na=l8;break;case\n9:var\na=l9;break;case\n10:var\na=l_;break;case\n11:var\na=l$;break;case\n0:case\n13:var\na=l0;break;case\n3:case\n14:var\na=l3;break;default:var\na=ma}return dl(b,zW(a,c))}function\na1(b,e,a){function\nf(d){switch(b[1]){case\n0:var\nc=45;break;case\n1:var\nc=43;break;default:var\nc=32}return zS(a,e,c)}function\nl(c){var\nb=zG(a);return 3===b?a<0.?mH:mI:4<=b?mJ:c}switch(b[2]){case\n5:var\nd=gc(gW(b,e),a),c=0,m=k(d);for(;;){if(c===m)var\nj=0;else{var\ng=B(d,c)-46|0,i=0;if(23<g>>>0){if(55===g)i=1}else\nif(21<g-1>>>0)i=1;if(!i){var\nc=c+1|0;continue}var\nj=1}var\nn=j?d:h(d,mG);return l(n)}case\n6:return f(0);case\n7:return O(eB(kx,au(f(0))));case\n8:return l(f(0));default:return gc(gW(b,e),a)}}function\ncx(e,I,G,F){var\nc=I,a=G,d=F;for(;;)if(typeof\nd===\"number\")return b(c,a);else\nswitch(d[0]){case\n0:var\nJ=d[1];return function(b){return q(c,[5,a,b],J)};case\n1:var\nL=d[1];return function(b){var\ne=0;if(40<=b)if(92===b)var\nd=kq;else\nif(cI<=b)e=1;else\ne=2;else\nif(32<=b)if(39<=b)var\nd=kr;else\ne=2;else\nif(14<=b)e=1;else\nswitch(b){case\n8:var\nd=ks;break;case\n9:var\nd=kt;break;case\n10:var\nd=ku;break;case\n13:var\nd=kv;break;default:e=1}switch(e){case\n1:var\nf=D(4);H(f,0,92);H(f,1,48+(b/fR|0)|0);H(f,2,48+((b/10|0)%10|0)|0);H(f,3,48+(b%10|0)|0);var\nd=O(f);break;case\n2:var\ng=D(1);H(g,0,b);var\nd=O(g);break}var\nh=k(d),i=aN(h+2|0,39);bd(d,0,i,1,h);return q(c,[4,a,O(i)],L)};case\n2:var\nM=d[2],N=d[1];return eI(c,a,M,N,function(a){return a});case\n3:return eI(c,a,d[2],d[1],lM);case\n4:return dm(c,a,d[4],d[2],d[3],mC,d[1]);case\n5:return dm(c,a,d[4],d[2],d[3],mD,d[1]);case\n6:return dm(c,a,d[4],d[2],d[3],mE,d[1]);case\n7:return dm(c,a,d[4],d[2],d[3],mF,d[1]);case\n8:var\ni=d[4],j=d[3],l=d[2],h=d[1];if(typeof\nl===\"number\"){if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,a1(h,d,b)],i)}:function(b){return q(c,[4,a,a1(h,eG(h),b)],i)};var\nae=j[1];return function(b){return q(c,[4,a,a1(h,ae,b)],i)}}else{if(0===l[0]){var\np=l[2],r=l[1];if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,al(r,p,a1(h,d,b))],i)}:function(b){return q(c,[4,a,al(r,p,a1(h,eG(h),b))],i)};var\naf=j[1];return function(b){return q(c,[4,a,al(r,p,a1(h,af,b))],i)}}var\nv=l[1];if(typeof\nj===\"number\")return j?function(e,d,b){return q(c,[4,a,al(v,e,a1(h,d,b))],i)}:function(d,b){return q(c,[4,a,al(v,d,a1(h,eG(h),b))],i)};var\nag=j[1];return function(d,b){return q(c,[4,a,al(v,d,a1(h,ag,b))],i)}}case\n9:return eI(c,a,d[2],d[1],kg);case\n10:var\na=[7,a],d=d[1];continue;case\n11:var\na=[2,a,d[1]],d=d[2];continue;case\n12:var\na=[3,a,d[1]],d=d[2];continue;case\n13:var\nQ=d[3],R=d[2],w=gS(16);eH(w,R);var\nC=gU(w);return function(b){return q(c,[4,a,C],Q)};case\n14:var\nS=d[3],T=d[2];return function(d){var\ne=d[1],b=u(e,E(K(T)));if(typeof\nb[2]===\"number\")return q(c,a,y(b[1],S));throw P};case\n15:var\nU=d[1];return function(d,b){return q(c,[6,a,function(a){return f(d,a,b)}],U)};case\n16:var\nV=d[1];return function(b){return q(c,[6,a,b],V)};case\n17:var\na=[0,a,d[1]],d=d[2];continue;case\n18:var\no=d[1];if(0===o[0]){var\nW=d[2],X=o[1][1],Y=0,c=function(b,c,d){return function(a){return q(c,[1,b,[0,a]],d)}}(a,c,W),a=Y,d=X;continue}var\nZ=d[2],_=o[1][1],$=0,c=function(b,c,d){return function(a){return q(c,[1,b,[1,a]],d)}}(a,c,Z),a=$,d=_;continue;case\n19:throw[0,s,mL];case\n20:var\naa=d[3],ab=[8,a,mM];return function(a){return q(c,ab,aa)};case\n21:var\nac=d[2];return function(b){return q(c,[4,a,el(mN,b)],ac)};case\n22:var\nad=d[1];return function(b){return q(c,[5,a,b],ad)};case\n23:var\ng=d[2],m=d[1];if(typeof\nm===\"number\")switch(m){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:throw[0,s,mO];default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}else\nswitch(m[0]){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n3:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n4:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n5:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n6:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n7:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n8:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n9:var\nB=m[2];return e<50?fi(e+1|0,c,a,B,g):n(fi,[0,c,a,B,g]);case\n10:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}default:var\nx=d[3],z=d[1],A=b(d[2],0);return e<50?fh(e+1|0,c,a,x,z,A):n(fh,[0,c,a,x,z,A])}}function\nfi(e,d,c,a,b){if(typeof\na===\"number\")return e<50?t(e+1|0,d,c,b):n(t,[0,d,c,b]);else\nswitch(a[0]){case\n0:var\nf=a[1];return function(a){return ar(d,c,f,b)};case\n1:var\ng=a[1];return function(a){return ar(d,c,g,b)};case\n2:var\nh=a[1];return function(a){return ar(d,c,h,b)};case\n3:var\ni=a[1];return function(a){return ar(d,c,i,b)};case\n4:var\nj=a[1];return function(a){return ar(d,c,j,b)};case\n5:var\nk=a[1];return function(a){return ar(d,c,k,b)};case\n6:var\nl=a[1];return function(a){return ar(d,c,l,b)};case\n7:var\nm=a[1];return function(a){return ar(d,c,m,b)};case\n8:var\no=a[2];return function(a){return ar(d,c,o,b)};case\n9:var\np=a[3],q=a[2],r=M(K(a[1]),q);return function(a){return ar(d,c,Z(r,p),b)};case\n10:var\nu=a[1];return function(e,a){return ar(d,c,u,b)};case\n11:var\nv=a[1];return function(a){return ar(d,c,v,b)};case\n12:var\nw=a[1];return function(a){return ar(d,c,w,b)};case\n13:throw[0,s,mP];default:throw[0,s,mQ]}}function\nt(d,b,e,a){var\nc=[8,e,mR];return d<50?cx(d+1|0,b,c,a):n(cx,[0,b,c,a])}function\nfh(h,c,f,a,e,d){if(e){var\ni=e[1];return function(e){return mK(c,f,a,i,b(d,e))}}var\ng=[4,f,d];return h<50?cx(h+1|0,c,g,a):n(cx,[0,c,g,a])}function\nq(a,b,c){return bR(cx(0,a,b,c))}function\nar(a,b,c,d){return bR(fi(0,a,b,c,d))}function\nmK(a,b,c,d,e){return bR(fh(0,a,b,c,d,e))}function\neI(f,e,d,a,c){if(typeof\na===\"number\")return function(a){return q(f,[4,e,b(c,a)],d)};else{if(0===a[0]){var\ng=a[2],h=a[1];return function(a){return q(f,[4,e,al(h,g,b(c,a))],d)}}var\ni=a[1];return function(g,a){return q(f,[4,e,al(i,g,b(c,a))],d)}}}function\ndm(g,e,d,h,c,b,a){if(typeof\nh===\"number\"){if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,bW(h,f(b,a,c))],d)}:function(c){return q(g,[4,e,f(b,a,c)],d)};var\nl=c[1];return function(c){return q(g,[4,e,bW(l,f(b,a,c))],d)}}else{if(0===h[0]){var\ni=h[2],j=h[1];if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,al(j,i,bW(h,f(b,a,c)))],d)}:function(c){return q(g,[4,e,al(j,i,f(b,a,c))],d)};var\nm=c[1];return function(c){return q(g,[4,e,al(j,i,bW(m,f(b,a,c)))],d)}}var\nk=h[1];if(typeof\nc===\"number\")return c?function(i,h,c){return q(g,[4,e,al(k,i,bW(h,f(b,a,c)))],d)}:function(h,c){return q(g,[4,e,al(k,h,f(b,a,c))],d)};var\nn=c[1];return function(h,c){return q(g,[4,e,al(k,h,bW(n,f(b,a,c)))],d)}}}function\na2(c,f){var\na=f;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\ng=a[1],h=gV(a[2]);a2(c,g);return bS(c,h);case\n1:var\nd=a[2],e=a[1];if(0===d[0]){var\ni=d[1];a2(c,e);bS(c,mS);var\na=i;continue}var\nj=d[1];a2(c,e);bS(c,mT);var\na=j;continue;case\n6:var\nm=a[2];a2(c,a[1]);return b(m,c);case\n7:a2(c,a[1]);return aX(c);case\n8:var\nn=a[2];a2(c,a[1]);return I(n);case\n2:case\n4:var\nk=a[2];a2(c,a[1]);return bS(c,k);default:var\nl=a[2];a2(c,a[1]);return gl(c,l)}}function\nbj(c,g){var\na=g;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nh=a[1],i=gV(a[2]);bj(c,h);return bU(c,i);case\n1:var\ne=a[2],f=a[1];if(0===e[0]){var\nj=e[1];bj(c,f);bU(c,mU);var\na=j;continue}var\nk=e[1];bj(c,f);bU(c,mV);var\na=k;continue;case\n6:var\nn=a[2];bj(c,a[1]);return bU(c,b(n,0));case\n7:var\na=a[1];continue;case\n8:var\no=a[2];bj(c,a[1]);return I(o);case\n2:case\n4:var\nl=a[2];bj(c,a[1]);return bU(c,l);default:var\nm=a[2];bj(c,a[1]);var\nd=c[2];if(c[3]<=d)gR(c,1);H(c[1],d,m);c[2]=d+1|0;return 0}}function\ngX(d,c){var\na=c[1],b=0;return q(function(a){a2(d,a);return 0},b,a)}function\neJ(a){return gX(aY,a)}function\naO(b){var\na=b[1];return q(function(b){var\na=gP(64);bj(a,b);return gQ(a)},0,a)}var\ndn=[0,0];function\neL(j,i){var\na=j[1+i];if(1-(typeof\na===\"number\"?1:0)){if(bg(a)===eb)return b(aO(mW),a);if(bg(a)===253){var\nd=gc(kl,a),c=0,g=k(d);for(;;){if(g<=c)return h(d,kk);var\ne=B(d,c),f=0;if(48<=e){if(!(58<=e))f=1}else\nif(45===e)f=1;if(f){var\nc=c+1|0;continue}return d}}return mX}return b(aO(mY),a)}function\ngY(b,a){if(b.length-1<=a)return mZ;var\nc=gY(b,a+1|0),d=eL(b,a);return f(aO(m0),d,c)}function\neM(a){function\nq(f){var\nc=f;for(;;){if(c){var\ng=c[2],h=c[1];try{var\ne=0,d=b(h,a);e=1}catch(a){}if(e&&d)return[0,d[1]];var\nc=g;continue}return 0}}var\nj=q(dn[1]);if(j)return j[1];if(a===eu)return m5;if(a===gt)return m6;if(a[1]===gs){var\nd=a[2],k=d[3],r=d[2],t=d[1];return cz(aO(eK),t,r,k,k+5|0,m7)}if(a[1]===s){var\ne=a[2],l=e[3],u=e[2],v=e[1];return cz(aO(eK),v,u,l,l+6|0,m8)}if(a[1]===gv){var\ng=a[2],m=g[3],w=g[2],x=g[1];return cz(aO(eK),x,w,m,m+6|0,m9)}if(0===bg(a)){var\ni=a.length-1,y=a[1][1];if(2<i>>>0)var\nn=gY(a,2),o=eL(a,1),c=f(aO(m1),o,n);else\nswitch(i){case\n0:var\nc=m2;break;case\n1:var\nc=m3;break;default:var\np=eL(a,1),c=b(aO(m4),p)}return h(y,c)}return a[1]}function\neN(t,s){var\ne=zH(s),g=e.length-1-1|0,p=0;if(!(g<0)){var\nc=p;for(;;){var\na=w(e,c)[1+c],f=function(a){return function(b){return b?0===a?m_:m$:0===a?na:nb}}(c);if(0===a[0])var\nh=a[5],i=a[4],j=a[3],k=a[6]?nc:ne,l=a[2],m=a[7],n=f(a[1]),d=[0,zw(aO(nd),n,m,l,k,j,i,h)];else\nif(a[1])var\nd=0;else\nvar\no=f(0),d=[0,b(aO(nf),o)];if(d){var\nq=d[1];b(gX(t,ng),q)}var\nr=c+1|0;if(g!==c){var\nc=r;continue}break}}return 0}function\ngZ(c){for(;;){var\na=dn[1],d=[0,c,a],e=dn[1]===a?(dn[1]=d,1):0,b=1-e;if(b)continue;return b}}var\nni=nh.slice();function\nnj(e,d){var\nf=eM(e);b(eJ(nk),f);eN(aY,d);var\na=Ae(0);if(a<0){var\nc=dc(a);gw(w(ni,c)[1+c])}return aX(aY)}var\nnl=[0];gp(a(ix),function(e,i){try{try{var\nc=i?nl:jX(0);try{ew(0)}catch(a){}try{var\na=nj(e,c),d=a}catch(a){a=C(a);var\ng=eM(e);b(eJ(nn),g);eN(aY,c);var\nh=eM(a);b(eJ(no),h);eN(aY,jX(0));var\nd=aX(aY)}var\nf=d}catch(a){a=C(a);if(a!==eu)throw a;var\nf=gw(nm)}return f}catch(a){return 0}});try{var\nzq=ka(zp),g1=zq}catch(a){a=C(a);if(a!==p)throw a;try{var\nzo=ka(zn),g0=zo}catch(a){a=C(a);if(a!==p)throw a;var\ng0=nq}var\ng1=g0}var\nnr=gH(g1,82),dp=[ao,function(A){var\np=Av(0),c=[0,aM(55,0),0],l=0===p.length-1?[0,0]:p,m=l.length-1,b=0;for(;;){w(c[1],b)[1+b]=b;var\nz=b+1|0;if(54!==b){var\nb=z;continue}var\ni=[0,np],n=54+de(55,m)|0,u=0;if(!(n<0)){var\nd=u;for(;;){var\nf=d%55|0,o=Ai(d,m),v=w(l,o)[1+o],j=h(i[1],a(e+v));i[1]=Ac(j,0,k(j));var\ng=i[1],q=B(g,3)<<24,r=B(g,2)<<16,s=B(g,1)<<8,t=((B(g,0)+s|0)+r|0)+q|0,x=(w(c[1],f)[1+f]^t)&fA;w(c[1],f)[1+f]=x;var\ny=d+1|0;if(n!==d){var\nd=y;continue}break}}c[2]=0;return c}}];function\neO(a,b){return 4<=a.length-1?zM(10,fR,a[3],b)&(a[2].length-1-1|0):I(ns)}function\ng2(f,b){var\ng=eO(f,b),c=w(f[2],g)[1+g];if(c){var\nd=c[3],j=c[2];if(0===ce(b,c[1]))return j;if(d){var\ne=d[3],k=d[2];if(0===ce(b,d[1]))return k;if(e){var\nl=e[2],m=e[3];if(0===ce(b,e[1]))return l;var\na=m;for(;;){if(a){var\nh=a[2],i=a[3];if(0===ce(b,a[1]))return h;var\na=i;continue}throw p}}throw p}throw p}throw p}function\nnt(b,a){var\nc=bg(a)===A?a:a[1];return gp(b,c)}var\nnu=2;function\nnv(c){var\na=[0,0],d=k(c)-1|0,e=0;if(!(d<0)){var\nb=e;for(;;){var\ng=B(c,b);a[1]=(223*a[1]|0)+g|0;var\nh=b+1|0;if(d!==b){var\nb=h;continue}break}}a[1]=a[1]&2147483647;var\nf=fA<a[1]?a[1]+2147483648|0:a[1];return f}var\neP=dj([0,c9]),dq=dj([0,c9]),dr=dj([0,j0]),g3=j6(0,0),nw=[0,0];function\ng4(a){return 2<a?g4((a+1|0)/2|0)*2|0:a}function\ng5(d){nw[1]++;var\nb=d.length-1,c=aM((b*2|0)+2|0,g3);w(c,0)[1]=b;var\ng=((g4(b)*32|0)/8|0)-1|0;w(c,1)[2]=g;var\ne=b-1|0,h=0;if(!(e<0)){var\na=h;for(;;){var\nf=(a*2|0)+3|0,i=w(d,a)[1+a];w(c,f)[1+f]=i;var\nj=a+1|0;if(e!==a){var\na=j;continue}break}}return[0,nu,c,dq[1],dr[1],0,0,eP[1],0]}function\neQ(a,b){var\nc=a[2].length-1,d=c<b?1:0;if(d){var\ne=aM(b,g3);gJ(a[2],0,e,0,c);a[2]=e;var\nf=0}else\nvar\nf=d;return f}var\ng6=[0,0],nx=[0,0];function\nny(a){var\nb=a[2].length-1;eQ(a,b+1|0);return b}function\nnz(a,d){try{var\nb=f(dq[28],d,a[3]);return b}catch(b){b=C(b);if(b===p){var\nc=ny(a);a[3]=aJ(dq[4],d,c,a[3]);a[4]=aJ(dr[4],c,1,a[4]);return c}throw b}}function\nnA(a){var\nb=a[1];a[1]=b+1|0;return b}function\nnB(a,c){try{var\nb=f(eP[28],c,a[7]);return b}catch(b){b=C(b);if(b===p){var\nd=nA(a);if(g(c,nC))a[7]=aJ(eP[4],c,d,a[7]);return d}throw b}}function\nnD(b,a){var\nc=k(b);return c<a?nE:aq(b,a,c-a|0)}var\nnF=34;function\nnI(a){var\nd=0;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 0;case\n1:return 3;case\n2:return 6;case\n3:var\ne=J(a);return[0,aq(e,1,k(e)-1|0)];case\n4:var\nf=J(a);return[1,aq(f,2,k(f)-2|0)];case\n5:return nM;case\n6:return 13;default:return[2,J(a)]}}}function\ng7(a){var\nd=33;for(;;){var\nc=a0(a3,d,a);if(9<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:return[4,J(a)];case\n4:return 11;case\n5:return 12;case\n6:return 12;case\n7:return[5,J(a)];case\n8:return 13;default:return 12}}}function\nnL(a){var\nc=55;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}function\nnK(a){var\nc=53;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}var\naP=[A,nO,be(0)],g8=[A,nP,be(0)];function\nnJ(a,e){var\nd=e;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:try{var\nf=[5,nK(a)];return f}catch(a){return 12}case\n4:try{var\ng=[5,nL(a)];return g}catch(a){return 12}case\n5:return[5,J(a)];case\n6:return 13;default:return 12}}}function\nbk(b,a){return[0,fP,[0,b,a]]}var\nog=[0,of,[0,oe,[0,od,[0,oc,[0,ob,[0,oa,[0,n$,[0,n_,[0,n9,[0,n8,[0,n7,[0,n6,[0,n5,[0,n4,[0,n3,[0,n2,[0,n1,[0,n0,[0,nZ,[0,nY,[0,nX,[0,nW,[0,nV,[0,nU,[0,nT,[0,[0,nS,[0,j,bk(i,nR)]],nQ]]]]]]]]]]]]]]]]]]]]]]]]]],on=[0,om,[0,ol,[0,ok,[0,oj,[0,[0,oi,[0,j,bk(i,oh)]],og]]]]],os=[0,or,[0,oq,[0,[0,op,[0,o,bk(i,oo)]],on]]],ow=[0,[0,ov,[0,o,[0,R,[0,ou,bk(i,ot)]]]],os],oY=[0,oX,[0,oW,[0,oV,[0,oU,[0,oT,[0,oS,[0,oR,[0,oQ,[0,oP,[0,oO,[0,oN,[0,oM,[0,oL,[0,oK,[0,oJ,[0,oI,[0,oH,[0,[0,oG,[0,o,[0,R,[0,g9,oF]]]],[0,[0,oE,[0,o,[0,R,[0,g9,oD]]]],[0,oC,[0,oB,[0,oA,[0,oz,[0,[0,oy,[0,o,bk(i,ox)]],ow]]]]]]]]]]]]]]]]]]]]]]]],o2=[0,o1,[0,[0,o0,[0,c,bk(i,oZ)]],oY]],o6=[0,o5,[0,[0,o4,[0,c,bk(i,o3)]],o2]],eR=[0,pv,[0,pu,[0,pt,[0,ps,[0,pr,[0,pq,[0,pp,[0,po,[0,pn,[0,pm,[0,pl,[0,pk,[0,pj,[0,pi,[0,ph,[0,pg,[0,pf,[0,pe,[0,pd,[0,pc,[0,pb,[0,pa,[0,o$,[0,o_,[0,o9,[0,[0,o8,[0,c,bk(i,o7)]],o6]]]]]]]]]]]]]]]]]]]]]]]]]];function\npw(a){function\nb(a){if(typeof\na===\"number\"){if(c===a)return i}else\nif(R===a[1]){var\nd=a[2],e=d[1];return[0,R,[0,e,b(d[2])]]}return a}return aj(function(d){var\ne=d[2],f=e[2],a=e[1],g=d[1];return c===a?[0,g,[0,a,b(f)]]:[0,g,[0,a,f]]},a)}function\npx(a,f){return aj(function(b){var\nc=b[2],d=c[2],e=c[1],a=b[1];if(o===e&&gB(a,f))return[0,a,[0,a8,d]];return[0,a,[0,e,d]]},a)}px(pw(eR),py);function\npz(c){var\ne=pA;a:for(;;){var\nf=17;for(;;){var\nd=a0(a3,f,c);if(3<d>>>0){b(c[1],c);var\nf=d;continue}switch(d){case\n0:var\na=1;break;case\n1:var\na=2;break;case\n2:var\na=13;break;default:var\na=2}if(2===a){var\ne=h(e,J(c));continue a}if(13<=a)throw aP;return e}}}function\ng_(a){var\ne=23;for(;;){var\nd=a0(a3,e,a);if(2<d>>>0){b(a[1],a);var\ne=d;continue}switch(d){case\n0:var\nc=4;break;case\n1:var\nc=13;break;default:var\nc=5}if(5===c){var\nf=J(a);return h(f,g_(a))}if(13<=c)throw aP;return pB}}function\ng$(c){var\ne=27;for(;;){var\nd=a0(a3,e,c);if(4<d>>>0){b(c[1],c);var\ne=d;continue}switch(d){case\n0:var\na=7;break;case\n1:var\na=7;break;case\n2:var\na=13;break;case\n3:var\na=8;break;default:var\na=8}if(8===a){var\nf=J(c);return h(f,g$(c))}if(13<=a)throw aP;return pC}}function\npD(k){var\nc=16,l=bh(k);for(;;){if(!(l<=c)&&!(ex<(c*2|0))){var\nc=c*2|0;continue}if(nr){var\ni=bg(dp),b=bo===i?dp[1]:ao===i?ck(dp):dp;b[2]=(b[2]+1|0)%55|0;var\nd=b[2],e=w(b[1],d)[1+d],f=(b[2]+24|0)%55|0,g=(w(b[1],f)[1+f]+(e^(e>>>25|0)&31)|0)&fA,h=b[2];w(b[1],h)[1+h]=g;var\nj=g}else\nvar\nj=0;var\na=[0,0,aM(c,0),j,c];bT(function(v){var\nx=v[1],H=v[2],f=eO(a,x),G=[0,x,H,w(a[2],f)[1+f]];w(a[2],f)[1+f]=G;a[1]=a[1]+1|0;var\nu=a[2].length-1<<1<a[1]?1:0;if(u){var\ni=a[2],s=(i.length-1)*2|0,t=s<ex?1:0;if(t){var\nj=aM(s,0),y=a.length-1<4?1:0,z=y||(a[4]<0?1:0),k=1-z;a[2]=j;var\nl=j.length-1,g=aM(l,0),o=i.length-1-1|0,C=0;if(!(o<0)){var\ne=C;a:for(;;){var\nb=w(i,e)[1+e];for(;;){if(b){var\nm=b[1],A=b[2],B=b[3],h=k?b:[0,m,A,0],c=eO(a,m),n=w(g,c)[1+c];if(n)n[3]=h;else\nw(j,c)[1+c]=h;w(g,c)[1+c]=h;var\nb=B;continue}var\nF=e+1|0;if(o!==e){var\ne=F;continue a}break}break}}if(k){var\np=l-1|0,D=0;if(!(p<0)){var\nd=D;for(;;){var\nr=w(g,d)[1+d];if(r)r[3]=0;var\nE=d+1|0;if(p!==d){var\nd=E;continue}break}}var\nq=0}else\nvar\nq=k;return q}return t}return u},k);return a}}var\neS=gN([0,c9]);function\npE(M,L,K,I,H,j){var\nX=M?M[1]:eR,Y=L?L[1]:0,Z=K?K[1]:0,_=I?I[1]:0,$=H?H[1]:0,e=[0,pF],l=[0,0],a=[0,0],q=[0,eS[1]],r=gO(0),N=pD(X),m=$?function(a){return a}:gI;function\nu(a){if(d(a,pG))return pH;function\nb(a){var\nb=a[2];if(typeof\nb!==\"number\"&&R===b[1])return[0,a[1],b[2][2]];return a}try{var\nc=b(g2(N,a));return c}catch(a){a=C(a);if(a===p)return pI;throw a}}function\nac(k,j,e){var\nb=u(e)[1];function\nd(n){var\na=n;for(;;){if(typeof\na===\"number\"){if(fq<=a){if(ca<=a){if(i<=a){var\ng=c===b?1:0;if(g)var\nh=g;else\nvar\np=o===b?1:0,h=p||(a8===b?1:0);return h}return 0}return v<=a?0:1}if(c<=a)return c===b?1:0;var\nq=o===b?1:0,r=q||(a8===b?1:0);return r}var\nf=a[1];if(fP<=f){if(R<=f)throw[0,s,pK];var\nj=a[2],t=j[2],k=d(j[1]);if(k)return k;var\na=t;continue}if(-260921543<=f){var\nl=a[2],u=l[2],m=d(l[1]),w=m?1-d(u):m;return w}return gB(e,a[2])}}var\na=bA===b?1:0;if(a)var\ng=a;else{var\nh=1-f(eS[3],e,j);if(h)return d(u(k)[2]);var\ng=h}return g}function\nz(d){var\nc=gO(0),f=e[1],g=l[1],h=a[1],i=q[1];try{for(;;){if(ac(e[1],q[1],d)){var\nj=0;return j}if(a8===u(e[1])[1])throw eE;var\nb=cp(r);eF(b,c);var\nk=b[4],m=b[3],n=b[2],o=b[1],p=G(a[1]),s=[0,[0,e[1],l[1],p]];e[1]=o;l[1]=n;q[1]=k;a[1]=[0,s,m];continue}}catch(b){b=C(b);if(b===eE)for(;;){if(0<c[2]){eF(cp(c),r);continue}e[1]=f;l[1]=g;a[1]=h;q[1]=i;return 0}throw b}}function\nA(a){function\nb(b){for(;;){var\na=b?nJ(j,44):g7(j);if(typeof\na!==\"number\"&&3===a[0])continue;return a}}function\ne(j){var\nc=j;for(;;){if(typeof\nc===\"number\")switch(c){case\n9:return pL;case\n10:return pM;case\n13:throw aP}else\nif(4===c[0]){var\na=c[1],f=b(0);if(typeof\nf===\"number\")switch(f){case\n9:var\no=m(a);return[0,[0,[0,m(a),o],0],0];case\n10:var\np=m(a);return[0,[0,[0,m(a),p],0],1];case\n11:var\nd=b(1);if(typeof\nd===\"number\")switch(d){case\n9:return pN;case\n10:return pO;case\n13:throw aP}else\nswitch(d[0]){case\n4:var\nq=d[1],h=e(b(0)),r=h[2],s=h[1];return[0,[0,[0,m(a),q],s],r];case\n5:var\nt=d[1],i=e(b(0)),u=i[2],v=i[1];return[0,[0,[0,m(a),t],v],u]}var\nc=b(0);continue;case\n13:throw aP}var\ng=e(f),k=g[2],l=g[1],n=m(a);return[0,[0,[0,m(a),n],l],k]}var\nc=b(0);continue}}return e(b(0))}function\nB(e){a:for(;;){var\nf=11;for(;;){var\nc=a0(a3,f,j);if(3<c>>>0){b(j[1],j);var\nf=c;continue}switch(c){case\n0:var\ng=J(j),a=[1,aq(g,2,k(g)-2|0)];break;case\n1:var\na=nN;break;case\n2:var\na=13;break;default:var\na=[2,J(j)]}if(typeof\na===\"number\"){if(13===a)throw aP}else\nswitch(a[0]){case\n1:var\ni=a[1];return d(m(i),e)?pP:h(pQ,h(i,B(e)));case\n2:var\nl=a[1];return h(l,B(e))}continue a}}}function\nO(b){for(;;){var\na=g7(j);if(typeof\na===\"number\")if(11<=a){if(13<=a)throw aP}else\nif(9<=a)return 0;continue}}try{a:for(;;){var\nt=nI(j);if(typeof\nt===\"number\")switch(t){case\n0:var\nad=pz(j);if(_)a[1]=[0,[0,[0,pS,[0,[0,pR,ad],0],0]],a[1]];continue;case\n3:var\nae=g_(j);if(Y)a[1]=[0,[0,[0,pU,[0,[0,pT,ae],0],0]],a[1]];continue;case\n6:var\naf=g$(j);if(Z)a[1]=[0,[0,[0,pW,[0,[0,pV,af],0],0]],a[1]];continue;case\n13:throw aP}else\nswitch(t[0]){case\n0:var\nn=m(t[1]),P=u(n)[2];if(v===P){var\nag=A(0)[1];z(n);a[1]=[0,[0,[0,n,ag,0]],a[1]];continue}if(ca===P){var\nQ=A(0),ah=Q[2],ai=Q[1];z(n);if(ah)var\nS=pX;else{var\naj=B(n);O(0);var\nS=aj}a[1]=[0,[0,[0,n,ai,[0,[1,S],0]]],a[1]];continue}var\nT=A(0),U=T[1],ak=T[2];z(n);if(ak)a[1]=[0,[0,[0,n,U,0]],a[1]];else{if(d(n,pJ))var\nD=0;else{var\naa=function(b){var\na=b[2];if(typeof\na!==\"number\"&&R===a[1])return a[2][1];return 0};try{var\nab=aa(g2(N,n)),D=ab}catch(a){a=C(a);if(a!==p)throw a;var\nD=0,aC=a}}eF([0,e[1],l[1],a[1],q[1]],r);e[1]=n;l[1]=U;a[1]=0;bT(function(a){q[1]=f(eS[4],a,q[1]);return 0},D)}continue;case\n1:var\nE=m(t[1]);O(0);var\nV=d(E,e[1]);if(V)var\nF=V;else\ntry{k4(function(c){return function(b){var\na=b[1];if(d(c,a))throw g8;if(a8===u(a)[1])throw p;return 0}}(E),r);var\naw=0,F=aw}catch(a){a=C(a);if(a===g8)var\nW=1;else{if(a!==p)throw a;var\nW=0}var\nF=W,aD=a}if(F)for(;;){if(g(e[1],E)){var\nw=cp(r),al=w[4],am=w[3],an=w[2],ao=w[1],ap=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],ap]],am];e[1]=ao;l[1]=an;q[1]=al;continue}var\nx=cp(r),ar=x[4],as=x[3],at=x[2],au=x[1],av=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],av]],as];e[1]=au;l[1]=at;q[1]=ar;continue a}continue;case\n2:a[1]=[0,[1,t[1]],a[1]];continue}continue}}catch(b){b=C(b);if(b===aP)for(;;){if(0<r[2]){var\ny=cp(r),ax=y[4],ay=y[3],az=y[2],aA=y[1],aB=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],aB]],ay];e[1]=aA;l[1]=az;q[1]=ax;continue}return G(a[1])}throw b}}function\npY(l,k,a,c){function\ni(f){if(0===f[0]){var\nh=f[1],e=h[2],c=h[1],m=h[3];if(g(c,p0)){if(g(c,p1)){if(g(c,p2)){try{var\no=v===co(c,l)[2]?1:0,j=o}catch(a){a=C(a);if(a!==p)throw a;var\nj=0}b(a,p3);b(a,c);bT(function(e){var\nf=e[2],g=e[1];b(a,p4);b(a,g);b(a,p5);function\nc(b,a){try{var\ne=eC(a,nF),f=aq(a,0,e),g=nD(a,e+1|0),h=d(f,nH)?c(b,g):c([0,f,b],g);return h}catch(c){c=C(c);if(c===p)return d(a,nG)?b:[0,a,b];throw c}}b(a,az(pZ,G(c(0,f))));return b(a,p6)},e);if(j){var\nn=k?p7:p8;return b(a,n)}b(a,p9);bT(i,m);b(a,p_);b(a,c);return b(a,p$)}b(a,qa);b(a,co(qb,e));return b(a,qc)}b(a,qd);b(a,co(qe,e));return b(a,qf)}b(a,qg);b(a,co(qh,e));return b(a,qi)}return b(a,f[1])}try{var\ne=bT(i,c);return e}catch(a){a=C(a);if(a===p)return ch(qj);throw a}}function\nqk(b,a){return aq(b,0,a)}function\nql(b,a){return aq(b,a,k(b)-a|0)}var\na4=aN(32,b0);function\nha(a){return aN(32,0)}function\neT(b,a){return aL(b,a>>>3|0,cl(bK(b,a>>>3|0)|1<<(a&7)))}function\nds(b){var\na=ha(0);eT(a,b);return a}function\ndt(c){var\nb=D(32),a=0;for(;;){aL(b,a,cl(bK(c,a)^b0));var\nd=a+1|0;if(31!==a){var\na=d;continue}return b}}function\neU(d,c){var\nb=D(32),a=0;for(;;){var\ne=bK(c,a);aL(b,a,cl(bK(d,a)|e));var\nf=a+1|0;if(31!==a){var\na=f;continue}return b}}function\nqm(c,b){try{var\na=0;for(;;){var\ne=bK(b,a);if(0!==(bK(c,a)&e))throw gr;var\nf=a+1|0;if(31!==a){var\na=f;continue}var\nd=1;return d}}catch(a){a=C(a);if(a===gr)return 0;throw a}}function\nhb(f,e){var\na=0;for(;;){var\nd=bK(e,a);if(0!==d){var\nc=0;for(;;){if(0!==(d&1<<c))b(f,cl((a<<3)+c|0));var\nh=c+1|0;if(7!==c){var\nc=h;continue}break}}var\ng=a+1|0;if(31!==a){var\na=g;continue}return 0}}function\ncr(a){var\nc=ha(0);hb(function(a){eT(c,cm(a));var\nb=a-224|0,d=0;if(30<b>>>0){if(!(25<b+cI>>>0))d=1}else\nif(23!==b)d=1;var\ne=d?a+fW|0:a;return eT(c,e)},a);return c}var\nhc=0,hd=1,qn=3,qo=4,qp=5,qq=6,qr=7,qs=8,qt=9,qu=10,qv=11,qw=12,qx=13,qy=14,eV=15,du=16,he=17,hf=18;function\nhg(b,a){return b|a<<8}function\neW(b,a){return(b-a|0)-1|0}function\neX(c){var\na=c;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return 1;case\n1:return 1;default:return 1}else\nswitch(a[0]){case\n0:return 0;case\n1:return d(a[1],qz);case\n2:return 0;case\n3:return gA(eX,a[1]);case\n4:var\ne=a[2],b=eX(a[1]);if(b)return b;var\na=e;continue;case\n5:return 1;case\n6:var\na=a[1];continue;case\n7:return 1;case\n8:var\na=a[2];continue;default:return 1}}function\nfk(f,g){var\na=g;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return a4;case\n1:return a4;default:return a4}else\nswitch(a[0]){case\n0:return ds(a[1]);case\n1:var\nb=a[1];return d(b,qA)?a4:ds(B(b,0));case\n2:var\nc=a[1];return a[2]?dt(c):c;case\n3:var\ne=a[1];return f<50?fj(f+1|0,e):n(fj,[0,e]);case\n4:var\nh=a[1],i=bl(a[2]);return eU(bl(h),i);case\n5:return a4;case\n6:var\na=a[1];continue;case\n7:return a4;case\n8:var\na=a[2];continue;default:return a4}}function\nfj(c,d){var\na=d;for(;;){if(a){var\nb=a[1];if(typeof\nb===\"number\"){var\na=a[2];continue}else\nswitch(b[0]){case\n5:var\ne=b[1],f=cs(a[2]);return eU(bl(e),f);case\n7:var\ng=b[1],h=cs(a[2]);return eU(bl(g),h);default:return c<50?fk(c+1|0,b):n(fk,[0,b])}}return a4}}function\nbl(a){return bR(fk(0,a))}function\ncs(a){return bR(fj(0,a))}function\neY(f,a){var\nc=0;if(typeof\na!==\"number\")switch(a[0]){case\n0:var\nd=0,b=ds(a[1]);c=1;break;case\n2:var\nd=a[2],b=a[1];c=1;break}if(c){var\ne=f?cr(b):b,g=d?dt(e):e;return df(g)}throw[0,s,qB]}var\nhh=D(aK),cw=0;for(;;){aL(hh,cw,cm(cl(cw)));var\nzm=cw+1|0;if(b0!==cw){var\ncw=zm;continue}var\nqC=df(hh),dv=dj([0,c9]);dt(ds(10));var\nqF=function(K){var\nz=[1,K],b=[0,aM(32,0)],c=[0,0],j=[0,dv[1]],l=[0,0],g=[0,1],m=[0,0],q=1;function\na(g,f){if(b[1].length-1<=c[1]){var\na=[0,b[1].length-1];for(;;){if(a[1]<=c[1]){a[1]=a[1]*2|0;continue}var\nd=aM(a[1],0);gJ(b[1],0,d,0,b[1].length-1);b[1]=d;break}}var\nh=hg(g,f),e=c[1];w(b[1],e)[1+e]=h;c[1]++;return 0}function\nh(d){var\nb=c[1];a(hc,0);return b}function\ni(a,d,c){var\ne=hg(d,eW(c,a));w(b[1],a)[1+a]=e;return 0}function\ne(b){try{var\na=f(dv[28],b,j[1]);return a}catch(a){a=C(a);if(a===p){var\nc=l[1];j[1]=aJ(dv[4],b,c,j[1]);l[1]++;return c}throw a}}function\ns(b){if(eX(b)){var\na=m[1];if(64<=a)ch(qD);m[1]++;return a}return-1}function\nn(b,a){var\nc=cr(a);return qm(cr(b),c)}function\nd(b){if(typeof\nb===\"number\")switch(b){case\n0:return a(qp,0);case\n1:return a(qq,0);default:return a(qr,0)}else\nswitch(b[0]){case\n0:return a(hd,cm(b[1]));case\n1:var\nf=b[1],n=k(f);if(0===n)return 0;if(1===n)return a(hd,cm(B(f,0)));try{var\no=eC(f,0);d([1,qk(f,o)]);a(hc,0);var\nw=d([1,ql(f,o+1|0)]);return w}catch(b){b=C(b);if(b===p)return a(qn,e(gI(f)));throw b}case\n2:var\nx=b[2],q=cr(b[1]),y=x?dt(q):q;return a(qo,e(df(y)));case\n3:return D(b[1]);case\n4:var\nz=b[2],A=b[1],E=h(0);d(A);var\nF=h(0),G=c[1];d(z);var\nH=c[1];i(E,du,G);return i(F,eV,H);case\n5:var\nr=b[1],j=s(r),t=h(0);if(0<=j)a(he,j);d(r);if(0<=j)a(hf,j);a(eV,eW(t,c[1]));return i(t,du,c[1]);case\n6:var\nu=b[1],l=s(u),I=c[1];d(u);if(0<=l)a(hf,l);var\nJ=h(0);if(0<=l)a(he,l);a(eV,eW(I,c[1]));return i(J,du,c[1]);case\n7:var\nK=b[1],L=h(0);d(K);return i(L,du,c[1]);case\n8:var\nm=b[1],M=b[2];a(qs,m);d(M);a(qt,m);g[1]=de(g[1],m+1|0);return 0;default:var\nv=b[1];a(qu,v);g[1]=de(g[1],v+1|0);return 0}}function\nD(p){var\nb=p;for(;;){if(b){var\nc=b[1];if(typeof\nc!==\"number\")switch(c[0]){case\n5:var\nf=c[1],l=0;if(typeof\nf===\"number\")l=1;else\nswitch(f[0]){case\n0:case\n2:var\ni=b[2],s=cs(i);if(n(bl(f),s)){a(qx,e(eY(q,f)));var\nb=i;continue}break;default:l=1}break;case\n6:var\ng=c[1],m=0;if(typeof\ng===\"number\")m=1;else\nswitch(g[0]){case\n0:case\n2:var\nj=b[2],t=cs(j);if(n(bl(g),t)){a(qy,e(eY(q,g)));var\nb=j;continue}break;default:m=1}break;case\n7:var\nh=c[1],o=0;if(typeof\nh===\"number\")o=1;else\nswitch(h[0]){case\n0:case\n2:var\nk=b[2],u=cs(k);if(n(bl(h),u)){a(qw,e(eY(q,h)));var\nb=k;continue}break;default:o=1}break}var\nr=b[2];d(c);var\nb=r;continue}return 0}}d(z);a(qv,0);var\nt=bl(z),E=cr(t);if(jS(t,a4))var\nu=-1;else{var\nr=aN(aK,0);hb(function(a){return aL(r,a,1)},E);var\nu=e(df(r))}var\nv=aM(l[1],qE),F=j[1];function\nG(b,a){w(v,a)[1+a]=b;return 0}f(dv[12],G,F);var\no=c[1],x=b[1],A=0,H=m[1],J=g[1];if(0<=o&&!((x.length-1-o|0)<0)){var\ny=zC(x,0,o);A=1}if(!A)var\ny=I(kL);return[0,y,v,qC,J,H,u]},qG=[0,[0]],qH=function(d,c,b){var\na=AD(d,c,b);qG[1]=a;if(0===a.length-1)throw p;return w(a,0)[1]},Q=function(b,a){return a?a[1]:b},dw=function(a,b){if(b)return b;var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},ct=function(c,a){return a?[0,b(c,a[1])]:0},dx=function(c,a){return a?b(c,a[1])?a:0:0},hi=function(a,b){if(b)return b[1];var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},aA=function(a,c){return a?b(c,a[1]):0},am=function(b,a){return ct(a,b)},hj=function(a){return a?[0,a[1],0]:0},hk=function(c,a){if(a){var\nd=a[2],e=a[1],f=b(c,e),g=hk(c,d),h=e===f?1:0,i=h?d===g?1:0:h;return i?a:[0,f,g]}return a},ad=function(d,a){if(a){var\ne=a[2],f=a[1],g=b(d,f),c=ad(d,e);return g?e===c?a:[0,f,c]:c}return a},dy=function(c,b,a){var\nd=G(b);return bi(function(b,a){return f(c,a,b)},a,d)},dz=function(a){return a?[0,a[1]]:0},aQ=function(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}},eZ=function(d,a){var\nc=0;return dy(function(e,a){var\nc=b(d,e);return c?[0,c[1],a]:a},a,c)},e0=function(e,d){var\na=d;for(;;){if(a){var\nc=a[1];if(b(e,c))return[0,c];var\na=a[2];continue}return 0}},e1=function(f){function\na(a,c){var\nd=c[2],e=c[1];return b(f,a)?[0,[0,a,e],d]:[0,e,[0,a,d]]}return function(b){return dy(a,b,qI)}},dA=function(c,a){var\nd=0;return dy(function(d,a){return F(b(c,d),a)},a,d)},e2=function(c,a){if(a){var\nd=a[1],f=a[2];if(b(c,d)){var\ne=e2(c,f);return[0,[0,d,e[1]],e[2]]}}return[0,0,a]},hl=function(c,a){return e2(function(a){return 1-b(c,a)},a)},hm=function(b){if(d(b,kH))var\nf=b;else{var\nh=0;if(gF(ay(b,0))||gF(ay(b,k(b)-1|0)))h=1;else\nvar\nf=b;if(h){var\ne=au(b),g=ax(e),a=[0,0];for(;;){if(a[1]<g&&gD(bL(e,a[1]))){a[1]++;continue}var\nc=[0,g-1|0];for(;;){if(a[1]<=c[1]&&gD(bL(e,c[1]))){c[1]+=-1;continue}var\ni=a[1]<=c[1]?eA(e,a[1],(c[1]-a[1]|0)+1|0):kB,f=O(i);break}break}}}return d(f,qJ)},a5=function(b,a){var\nc=k(a);return k(b)<c?0:d(aq(b,0,c),a)},e3=function(c,b){var\ne=k(c),a=k(b);return e<a?0:d(aq(c,e-a|0,a),b)},hn=function(b,a){var\nc=k(b);return c<a?qK:aq(b,a,c-a|0)},dB=function(a,h){function\nc(b,a){try{var\ne=eC(a,h),f=aq(a,0,e),g=hn(a,e+1|0),i=d(f,qM)?c(b,g):c([0,f,b],g);return i}catch(c){c=C(c);if(c===p)return d(a,qL)?b:[0,a,b];throw c}}return G(c(0,a))},as=function(b,a){var\nc=qF(a);try{qH(c,b,0);var\nd=1;return d}catch(a){a=C(a);if(a===p)return 0;throw a}},z=gN([0,kK]),ho=function(b){var\na=aq(b,5,k(b)-5|0);try{var\nc=c7(a);return c}catch(a){a=C(a);if(a[1]===db)throw[0,et,h(qR,h(b,qQ))];throw a}},hp=function(a){return a?[0,az(qS,a)]:0},hq=[0,0],bX=[0,0],qX=F(qW,qV),qY=b(z[37],qX),hr=function(a){return f(z[3],a,qY)},e4=function(b,a){return bN(a[1],b)},aI=function(a){function\nb(b){return e4(a,b)}return function(a){return e0(b,a)}},e5=function(c,b,a){var\nd=hk(function(a){var\nd=a[1];return bN(c,d)?[0,d,b]:a},a);return d===a?[0,[0,c,b],a]:d},q2=function(b,a){return aA(b,function(b){return 0===a[0]?[0,h(b,a[1])]:0})},hs=function(a){return bi(q2,q1,a)},ht=function(b){function\nc(a){if(1===a[0]&&d(a[1],b))return[0,a];return 0}return function(a){if(0===a[0])throw[0,s,q3];return eZ(c,a[4])}},hu=function(a){return 0===a[0]?0:a[4]},e6=function(c,b,a){if(0===a[0])return 0;var\ne=a[3],g=a[2];if(d(a[1],c))return f(b,g,e);var\nh=a[4];return aQ(function(a){return e6(c,b,a)},h)},dC=function(d,c,g,f,b){var\na=bN(c,d),e=a?0===b?1:0:a;return e},q4=function(k,j,i,h){var\nc=b(e1(function(a){return d(a[1],q5)}),j),a=c[1],l=c[2];if(a){var\ne=a[1];if(!g(e[1],q6)&&!a[2]){var\nf=e[2];return a5(f,q7)?[0,[1,k,F(l,[0,[0,q8,f],0]),i,h]]:0}}return 0},q_=[0,function(c,b,g,f){var\na=d(c,q9),e=a?0!==b?1:0:a;return e},q4],hv=function(a){return d(a[1],q$)},ra=function(f,b,a,e){var\nc=e0(hv,b);if(c){var\nh=c[1][2],i=ad(function(a){return g(a[1],rb)},b),j=V(function(a){return d(a[1][1],rc)},a)?a:[0,[0,rd,[0,[0,h,0]]],a];return[0,[1,f,i,j,e]]}return 0},rf=[0,function(c,b,f,e){var\na=d(c,re);return a?V(hv,b):a},ra],dD=function(a){return gH(a,32)?h(rh,h(a,rg)):a},rr=b(z[37],rq),rs=function(m){var\nb=m[2][1],c=m[1][1];if(f(z[3],c,rr)){var\na=bi(function(b,a){if(b){var\nc=b[2],e=b[1];if(d(a,rj))return[0,rk,[0,dD(e),c]];if(a5(a,rl)){var\nf=h(rm,a);return[0,rn,[0,h(dD(e),f),c]]}return[0,h(e,a),c]}return 0},ri,b);if(a){var\ni=a[1];if(g(i,ro))var\nn=a[2],j=[0,dD(i),n];else\nvar\nj=a[2];var\nl=j}else\nvar\nl=a;var\ne=az(rp,G(l))}else\nvar\np=e3(c,rw)?b:aj(dD,b),e=az(rx,p);var\no=0===k(e)?rt:e;return h(c,h(rv,h(o,ru)))},hw=function(a,b){var\nc=a?a[1]:ry;return az(c,aj(rs,b))},e7=function(a){return h(rA,hw(rz,a))},rC=function(b){switch(b[0]){case\n0:var\nc=b[1],d=h(rE,h(e7(b[2]),rD));return h(az(rB,c[1]),d);case\n1:var\nf=b[1];return h(rH,h(f,h(rG,h(e7(b[2]),rF))));default:var\ng=b[3],i=b[2],j=b[1][1],k=h(rJ,h(e7(b[4]),rI)),l=h(Q(rL,ct(function(a){return h(rK,a)},g)),k);return h(rO,h(j,h(Q(rN,ct(function(b){return h(rM,a(e+b[1]))},i)),l)))}},cu=function(a){return az(rQ,a[1])},hx=[A,rR,be(0)],aB=function(a){throw hx},hy=function(a){return rZ},hz=function(a){return r0},hA=function(a){return[0,a,0]},e8=function(a){return r1},e9=function(a){return r2},e_=function(a){return r3},bY=function(a){ci(r4);throw[0,s,r5]},hB=function(c,b,a){if(typeof\na===\"number\"&&3===a)return Q(0,b);return aB(0)},cy=function(e,H,c,a,G,F,g){var\nd=[0,H,F,G];if(typeof\ng===\"number\"&&5===g){var\nf=b(a,c);if(typeof\nf===\"number\")switch(f){case\n4:var\nh=b(a,c),i=hz(0),j=2;return e<50?_(e+1|0,d,c,a,i,j,h):n(_,[0,d,c,a,i,j,h]);case\n5:var\nk=b(a,c),l=hy(0),m=2;return e<50?_(e+1|0,d,c,a,l,m,k):n(_,[0,d,c,a,l,m,k]);default:return aB(0)}else\nswitch(f[0]){case\n0:var\no=f[1],p=b(a,c),q=2;return e<50?_(e+1|0,d,c,a,o,q,p):n(_,[0,d,c,a,o,q,p]);case\n1:var\nr=f[1],s=b(a,c),t=2;return e<50?_(e+1|0,d,c,a,r,t,s):n(_,[0,d,c,a,r,t,s]);case\n2:var\nu=f[1],v=2;return e<50?dN(e+1|0,d,c,a,u,v):n(dN,[0,d,c,a,u,v]);case\n3:var\nw=f[1],x=b(a,c),y=2;return e<50?_(e+1|0,d,c,a,w,y,x):n(_,[0,d,c,a,w,y,x]);case\n4:var\nz=f[1],A=b(a,c),B=2;return e<50?_(e+1|0,d,c,a,z,B,A):n(_,[0,d,c,a,z,B,A]);default:var\nC=f[1],D=b(a,c),E=2;return e<50?_(e+1|0,d,c,a,C,E,D):n(_,[0,d,c,a,C,E,D])}}return aB(0)},_=function(h,B,g,f,A,z,y){var\ne=B,d=A,c=z,a=y;for(;;)if(typeof\na===\"number\")switch(a){case\n4:var\nC=b(f,g),e=[0,e,c,d],d=hz(0),c=3,a=C;continue;case\n5:var\nD=b(f,g),e=[0,e,c,d],d=hy(0),c=3,a=D;continue;case\n2:case\n6:return aB(0);default:var\ni=e,l=[0,d,0],k=c;for(;;){if(2===k){var\nj=i[1],m=[0,i[3],[0,l]];switch(i[2]){case\n0:var\nt=hA(m),u=0;return h<50?bZ(h+1|0,j,g,f,t,u,a):n(bZ,[0,j,g,f,t,u,a]);case\n1:var\nv=j[2],w=j[1],x=[0,m,j[3]];return h<50?bZ(h+1|0,w,g,f,x,v,a):n(bZ,[0,w,g,f,x,v,a]);case\n7:var\nr=hA(m),s=7;return h<50?bZ(h+1|0,j,g,f,r,s,a):n(bZ,[0,j,g,f,r,s,a]);default:return bY(0)}}if(3===k){var\nJ=i[2],K=[0,i[3],l],i=i[1],l=K,k=J;continue}return bY(0)}}else\nswitch(a[0]){case\n0:var\nE=a[1],e=[0,e,c,d],d=E,c=3,a=b(f,g);continue;case\n1:var\nF=a[1],e=[0,e,c,d],d=F,c=3,a=b(f,g);continue;case\n2:var\no=a[1],p=[0,e,c,d],q=3;return h<50?dN(h+1|0,p,g,f,o,q):n(dN,[0,p,g,f,o,q]);case\n3:var\nG=a[1],e=[0,e,c,d],d=G,c=3,a=b(f,g);continue;case\n4:var\nH=a[1],e=[0,e,c,d],d=H,c=3,a=b(f,g);continue;default:var\nI=a[1],e=[0,e,c,d],d=I,c=3,a=b(f,g);continue}},dN=function(g,f,c,a,i,e){var\nd=b(a,c);if(typeof\nd===\"number\")switch(d){case\n2:case\n6:return aB(0)}else\nif(4===d[0]){var\nl=d[1],k=b(a,c),j=h(i,l);return g<50?dM(g+1|0,f,c,a,j,e,k):n(dM,[0,f,c,a,j,e,k])}return g<50?dM(g+1|0,f,c,a,i,e,d):n(dM,[0,f,c,a,i,e,d])},dM=function(g,f,e,d,c,b,a){return g<50?_(g+1|0,f,e,d,c,b,a):n(_,[0,f,e,d,c,b,a])},bZ=function(f,m,c,a,l,k,g){var\nd=[0,m,k,l];if(typeof\ng===\"number\")switch(g){case\n0:var\ne=b(a,c);if(typeof\ne===\"number\")switch(e){case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,e):n(dL,[0,d,c,a,e])}else\nif(4===e[0]){var\no=e[1],h=b(a,c),i=[0,o],j=1;return f<50?cy(f+1|0,d,c,a,i,j,h):n(cy,[0,d,c,a,i,j,h])}return aB(0);case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,g):n(dL,[0,d,c,a,g])}return bY(0)},dL=function(k,g,e,d,c){var\ni=g[2],h=g[1],m=g[3],l=[0,z[1],0],a=bi(function(a,b){var\nc=b[1][1],d=a[1],e=a[2];return f(z[3],c,d)?a:[0,f(z[4],c,d),[0,b,e]]},l,m)[2];if(i){if(7<=i){if(typeof\nc===\"number\"&&1===c){var\nj=b(d,e);return k<50?dK(k+1|0,h,e,d,a,j):n(dK,[0,h,e,d,a,j])}return aB(0)}return bY(0)}return hB(h,[0,a],c)},dK=function(e,r,c,a,k,j){var\nl=r[3],K=0,O=r[2],P=r[1];if(l&&!g(l[1],rY)){var\nf=l[2],s=0;if(f&&!g(f[1],rV)){var\no=f[2];if(o){var\np=o[2],t=o[1];if(p){if(!g(p[1],rX)){var\nq=p[2];if(q){var\nL=q[1],M=hp(q[2]),m=[2,[0,t],[0,[0,ho(L)]],M,k];s=1}}}else{var\nm=[2,[0,t],0,0,k];s=1}}}if(!s)var\nm=[1,az(rW,f),k]}else\nK=1;if(K)var\nm=[0,[0,G(bi(function(a,b){if(a){var\nc=a[2],d=a[1];return g(b,rT)?[0,h(d,b),c]:[0,rU,[0,d,c]]}return 0},rS,l))],k];var\nd=[0,P,O,m];if(typeof\nj===\"number\")switch(j){case\n3:var\ni=d,u=0;for(;;){var\nv=i[2],w=[0,i[3],u],N=i[1];if(4===v)return w;if(5===v){var\ni=N,u=w;continue}return bY(0)}case\n4:var\nx=b(a,c),y=e_(0),z=5;return e<50?a6(e+1|0,d,c,a,y,z,x):n(a6,[0,d,c,a,y,z,x]);case\n5:var\nA=b(a,c),B=e9(0),C=5;return e<50?a6(e+1|0,d,c,a,B,C,A):n(a6,[0,d,c,a,B,C,A]);case\n6:var\nD=b(a,c),E=e8(0),F=5;return e<50?a6(e+1|0,d,c,a,E,F,D):n(a6,[0,d,c,a,E,F,D])}else\nif(4===j[0]){var\nH=j[1],I=b(a,c),J=5;return e<50?a6(e+1|0,d,c,a,H,J,I):n(a6,[0,d,c,a,H,J,I])}return aB(0)},a6=function(k,p,f,e,o,m,l){var\nd=p,c=o,a=m,g=l;for(;;){if(typeof\ng===\"number\")switch(g){case\n2:var\nh=d,j=[0,c,0],i=a;for(;;)switch(i){case\n4:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n5:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n6:var\nu=h[2],v=[0,h[3],j],h=h[1],j=v,i=u;continue;default:return bY(0)}case\n4:var\nq=b(e,f),d=[0,d,a,c],c=e_(0),a=6,g=q;continue;case\n5:var\nr=b(e,f),d=[0,d,a,c],c=e9(0),a=6,g=r;continue;case\n6:var\ns=b(e,f),d=[0,d,a,c],c=e8(0),a=6,g=s;continue}else\nif(4===g[0]){var\nt=g[1],d=[0,d,a,c],c=t,a=6,g=b(e,f);continue}return aB(0)}},dJ=function(f,o,c,a,m,l){var\nd=[0,o,l,m],e=b(a,c);if(typeof\ne===\"number\"){if(1===e){var\ng=b(a,c),h=0;return f<50?dK(f+1|0,d,c,a,h,g):n(dK,[0,d,c,a,h,g])}}else\nif(4===e[0]){var\np=e[1],i=b(a,c),j=[0,p],k=7;return f<50?cy(f+1|0,d,c,a,j,k,i):n(cy,[0,d,c,a,j,k,i])}return aB(0)},r6=function(a,b,c,d,e,f){return bR(cy(0,a,b,c,d,e,f))},dE=function(a,b,c,d,e,f){return bR(a6(0,a,b,c,d,e,f))},r7=function(c,a){var\nd=b(c,a),e=0;if(typeof\nd===\"number\")switch(d){case\n3:return 0;case\n4:var\nf=b(c,a);return dE(e,a,c,e_(0),4,f);case\n5:var\ng=b(c,a);return dE(e,a,c,e9(0),4,g);case\n6:var\nh=b(c,a);return dE(e,a,c,e8(0),4,h)}else\nif(4===d[0]){var\ni=d[1];return dE(e,a,c,i,4,b(c,a))}return aB(0)},hC=[A,r9,be(0)],r8=function(d,c){var\na=b(d,c),e=0;if(typeof\na===\"number\"){if(3===a)return hB(e,0,a)}else\nif(4===a[0]){var\nf=a[1];return r6(e,c,d,[0,f],0,b(d,c))}return aB(0)},r$=function(c){a:for(;;){c[10]=aM(5,-1);var\nk=0;for(;;){var\nd=Ak(r_,k,c),j=0<=d?1:0,m=j?c[12]!==di?1:0:j;if(m){c[11]=c[12];var\nf=c[12];c[12]=[0,f[1],f[2],f[3],c[4]+c[6]|0]}if(20<d>>>0){b(c[1],c);var\nk=d;continue}switch(d){case\n0:return 3;case\n1:var\ng=c[12];c[12]=[0,g[1],g[2]+1|0,c[6],g[4]];continue a;case\n2:continue a;case\n3:return 4;case\n4:return 2;case\n5:return 1;case\n6:return 0;case\n7:return 5;case\n8:return 6;case\n9:return[3,J(c)];case\n10:return[5,J(c)];case\n11:return[4,J(c)];case\n12:return[0,J(c)];case\n13:return[2,J(c)];case\n14:return[1,J(c)];case\n15:var\nn=w(c[10],0)[1];return[1,eD(c,w(c[10],1)[2],n)];case\n16:return[4,J(c)];case\n17:continue a;case\n18:continue a;case\n19:continue a;default:var\ni=J(c),l=B(i,0);if(aK<l)return[1,i];throw[0,hC,h(sc,h(i,h(sb,h(a(e+l),sa))))]}}}},hD=function(c){var\nd=c[11],b=c[12],f=h(sd,a(e+((b[4]-b[3]|0)+1|0))),g=h(se,h(a(e+((d[4]-d[3]|0)+1|0)),f));return h(a(e+b[2]),g)},hE=function(c,a){var\nb=gM(0,c);try{var\ng=f(a,r$,b);return g}catch(a){a=C(a);if(a[1]===hC){var\nd=h(sf,a[2]);ci(h(hD(b),d));return 0}if(a===hx){var\ne=h(sg,c);ci(h(hD(b),e));return 0}throw a}},hF=function(a){return hE(a,r7)},e$=function(a){if(0===a[0])return hm(a[1]);var\nb=a[4],c=g(a[1],si);if(c){var\nd=0!==b?1:0;if(d)return gA(e$,b);var\ne=d}else\nvar\ne=c;return e},hG=function(a){var\nc=0;return G(bi(function(f,a){if(0===a[0]){var\nc=a[1],j=c[3],k=c[2],l=c[1],h=function(a){return hE(a[2],r8)},e=b(e1(function(a){return d(a[1],sh)}),k),i=e[2],g=bi(F,0,aj(h,e[1]));return[0,[1,l,i,g,hG(j)],f]}return[0,[0,a[1]],f]},c,a))},hH=function(b,a){return 0===a?b:[0,[0,sj,hw(0,a)],b]},hI=function(a){var\nb=0;return G(bi(function(b,a){if(0===a[0])return[0,[1,a[1]],b];var\nc=a[4],d=a[1],e=hH(a[2],a[3]);return[0,[0,[0,d,e,hI(c)]],b]},b,a))},hJ=function(u){var\nd=0,a=u;for(;;){if(a){var\ne=a[1],j=0;if(0===e[0]){var\nf=a[2];if(f){var\ng=f[1],k=e[1];if(0===g[0]){var\nv=f[2],a=[0,[0,h(k,g[1])],v];continue}var\no=f[2],n=k,m=g,l=g[1];j=1}}else{var\ni=a[2];if(i){var\ns=i[1],z=e[1];if(0===s[0]){var\no=i[2],n=s[1],m=e,l=z;j=1}}}if(j&&hr(l)&&hm(n)){var\na=[0,m,o];continue}var\nb=a[1];if(0===b[0]){var\nd=[0,[0,b[1]],d],a=a[2];continue}var\np=b[4],q=b[1],w=a[2],x=b[3],y=b[2];if(hr(q)){var\nc=p;for(;;){if(c){var\nt=c[2];if(e$(c[1])){var\nc=t;continue}}var\nr=dy(function(b,a){if(e$(b)&&0===a)return a;return[0,b,a]},c,0);break}}else\nvar\nr=p;var\nd=[0,[1,q,y,x,hJ(r)],d],a=w;continue}return G(d)}},hK=function(a){function\nc(d,a){var\nb=gE(d*2|0,32);if(0===a[0])return h(sm,h(b,h(sl,h(a[1],sk))));var\ne=a[4],f=a[1],g=hH(a[2],a[3]),i=h(so,h(b,sn)),j=d+1|0,k=h(sq,h(az(sp,aj(function(a){return c(j,a)},e)),i));return h(sw,h(b,h(sv,h(f,h(su,h(az(st,aj(function(a){var\nb=a[1];return h(b,h(ss,h(a[2],sr)))},g)),k))))))}return c(0,a)},bm=function(b,a){return[0,fP,[0,b,a]]},s0=[0,sZ,[0,sY,[0,sX,[0,sW,[0,sV,[0,sU,[0,sT,[0,sS,[0,sR,[0,sQ,[0,sP,[0,sO,[0,sN,[0,sM,[0,sL,[0,sK,[0,sJ,[0,sI,[0,sH,[0,sG,[0,sF,[0,sE,[0,sD,[0,sC,[0,sB,[0,[0,sA,[0,j,bm(i,sz)]],sy]]]]]]]]]]]]]]]]]]]]]]]]]],s7=[0,s6,[0,s5,[0,s4,[0,s3,[0,[0,s2,[0,j,bm(i,s1)]],s0]]]]],ta=[0,s$,[0,s_,[0,[0,s9,[0,o,bm(i,s8)]],s7]]],te=[0,[0,td,[0,o,[0,R,[0,tc,bm(i,tb)]]]],ta],tG=[0,tF,[0,tE,[0,tD,[0,tC,[0,tB,[0,tA,[0,tz,[0,ty,[0,tx,[0,tw,[0,tv,[0,tu,[0,tt,[0,ts,[0,tr,[0,tq,[0,tp,[0,[0,to,[0,o,[0,R,[0,hL,tn]]]],[0,[0,tm,[0,o,[0,R,[0,hL,tl]]]],[0,tk,[0,tj,[0,ti,[0,th,[0,[0,tg,[0,o,bm(i,tf)]],te]]]]]]]]]]]]]]]]]]]]]]]],tK=[0,tJ,[0,[0,tI,[0,c,bm(i,tH)]],tG]],tO=[0,tN,[0,[0,tM,[0,c,bm(i,tL)]],tK]],ue=[0,ud,[0,uc,[0,ub,[0,ua,[0,t$,[0,t_,[0,t9,[0,t8,[0,t7,[0,t6,[0,t5,[0,t4,[0,t3,[0,t2,[0,t1,[0,t0,[0,tZ,[0,tY,[0,tX,[0,tW,[0,tV,[0,tU,[0,tT,[0,tS,[0,tR,[0,[0,tQ,[0,c,bm(i,tP)]],tO]]]]]]]]]]]]]]]]]]]]]]]]]],hM=function(a){return hJ(hG(pE([0,ue],uh,ug,uf,0,gM(0,a))))},hN=function(a){return[0,[0,uD,a],uC]},fa=hN(uE),hO=function(n,m,a){var\nf=ad(function(b){var\na=b[1],c=d(a,hP),e=c||d(a,hQ);return e},n);function\no(a){return hn(a[2],7)}var\np=b(aI(hP),f),q=Q(fa,am(am(dw([ao,function(a){return b(aI(hQ),f)}],p),o),hN)),c=b(aI(uA),a),e=b(aI(uB),a),i=0;if(e&&c){var\nj=c[1][2],k=e[1][2],l=function(b){if(g(b,uv)&&g(b,uw))return a;return e5(uy,j,e5(ux,k,a))},h=am(aQ(function(a){return g(a[1][1],uz)?0:[0,cu(a[2])]},m),l);i=1}if(!i)var\nh=0;return F(q,Q(a,h))},hR=function(b,a){var\nc=[1,uF,0,0,a];return e6(b,function(b,a){return[0,[0,b,a]]},c)},uG=function(f,d,a,c){function\ne(b){var\nc=b[2],e=hO(d,a,b[1]);return[0,e,F(c,a)]}var\nb=Q([0,fa,0],am(hR(uH,c),e));return[0,[1,uI,b[1],b[2],0]]},uK=[0,function(a,e,c,b){return d(a,uJ)},uG],uL=function(a,b){return[0,a]},hS=function(a){return e6(uM,uL,a)},hT=function(d,a){if(0===a[0])return 0;var\nb=a[1];if(g(b,uN)){var\ne=a[4],f=a[3],h=a[2],c=function(b){if(b){var\na=b[1];if(0===a[0])return[0,a,c(b[2])];var\ne=a[1];if(g(e,uO)){var\nf=a[4],h=a[3],i=a[2],j=c(b[2]);return[0,[1,e,i,h,c(f)],j]}return[0,[1,uP,d,a[3],a[4]],b[2]]}return 0};return[0,[1,b,h,f,c(e)]]}return[0,[1,uQ,d,a[3],a[4]]]},uU=function(w,c,v,u,b){if(c){var\nn=c[1];if(!g(n[1],uV)&&!c[2]){var\na=n[2],m=a5(a,uR),s=m?e3(a,uS):m;if(s){if(b){var\nd=b[1];if(0!==d[0]&&!g(d[1],uW)){var\ne=d[2];if(e){var\no=e[1];if(!g(o[1],uX)&&!g(o[2],uY)&&!e[2]){var\nf=b[2];if(f){var\nh=f[2];if(h){var\ni=h[1],j=f[1];if(0!==i[0]&&!g(i[1],uZ)){var\nl=i[2];if(l){var\np=l[1];if(!g(p[1],u0)&&!g(p[2],u1)&&!l[2]){var\nt=h[2],q=hM(aq(a,15,(k(a)-9|0)-15|0)),r=function(a){function\nb(b){return hO(b[1],b[2],a)}var\nc=am(hR(uT,q),b);return hT(hi([ao,function(b){return F(fa,a)}],c),j)};return[0,[0,Q(j,aA(hS(j),r)),t]]}}}}}}}}}return 0}return 0}}return 0},u3=[0,function(a,b,c,d){return dC(u2,a,b,c,d)},uU],u7=function(u,b,t,s,a){if(b){var\nl=b[1];if(!g(l[1],u8)&&!b[2]){var\nm=l[2],k=a5(m,u4),q=k?e3(m,u5):k;if(q){if(a){var\nc=a[1];if(0!==c[0]&&!g(c[1],u9)){var\nd=c[2];if(d){var\nn=d[1];if(!g(n[1],u_)&&!g(n[2],u$)&&!d[2]){var\ne=a[2];if(e){var\nf=e[2];if(f){var\nh=f[1],i=e[1];if(0!==h[0]&&!g(h[1],va)){var\nj=h[2];if(j){var\no=j[1];if(!g(o[1],vb)&&!g(o[2],vc)&&!j[2]){var\nr=f[2],p=function(a){return hT([0,u6,a],i)};return[0,[0,Q(i,aA(hS(i),p)),r]]}}}}}}}}}return 0}return 0}}return 0},ve=[0,function(a,b,c,d){return dC(vd,a,b,c,d)},u7],hU=function(h,g,o){var\ni=h?h[1]:0,c=0,a=o;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nd=a[2],f=b[4],j=b[3],k=b[2],l=b[1],e=cz(g,l,k,j,f,d);if(typeof\ne===\"number\"){if(0===e){var\na=d;continue}var\nm=hU([0,i],g,f),n=[1,l,k,j,m];if(i&&bQ(m,f)){var\na=[0,n,d];continue}var\nc=[0,n,c],a=d;continue}else{if(0===e[0]){var\na=[0,e[1],d];continue}var\na=e[1];continue}}return G(c)}},hV=function(a,e,d,c,b){return Q(0,aQ(function(f){if(fl(f[1],e,d,c,b)){var\na=fl(f[2],e,d,c,b);if(typeof\na===\"number\"&&!a)return 0;return[0,a]}return 0},a))},dF=function(a,i,h,b){var\nc=a?a[1]:0;return hU([0,c],function(f,e,d,b,c){var\na=hV(i,f,e,d,b);if(typeof\na===\"number\")switch(a){case\n0:var\ng=aQ(function(a){return fl(a[1],f,e,d,b)?cz(a[2],f,e,d,b,c):0},h);return g?[1,g[1]]:1;case\n1:return[1,F(b,c)];default:return 0}else\nreturn 0===a[0]?[0,a[1]]:[1,F(a[1],c)]},b)},vg=function(c){if(!g(c[1][1],vh)){var\na=c[2][1];if(a){var\nb=a[2];if(b){var\nd=b[2],e=b[1],f=a[1],h=[ao,function(a){return hp(d)}];return[0,[0,[0,f],ho(e),h]]}}}return 0},fb=function(a){return aQ(vg,a)},dG=function(b,a){return aQ(function(a){var\nc=a[2];return d(a[1][1],b)?[0,cu(c)]:0},a)},hW=function(o){var\nc=0,a=o;a:for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nk=a[2],f=b[2],h=b[1],p=b[3],l=hW(b[4]);if(f){var\nm=f[1];if(!g(m[1],vi)&&!g(m[2],vj)&&!f[2]&&!l){var\nn=0;if(d(h,vk)||d(h,vl))n=1;if(n){var\ni=1,e=hl(function(f){return function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],e=a[1];if(!g(c[1],qT)&&!g(c[2],qU)&&!b[2]&&d(e,f))return 1}}return 0}}(h),k)[2];for(;;){if(0===i)var\nj=e;else{if(e){var\ni=i-1|0,e=e[2];continue}var\nj=0}var\na=j;continue a}}}}var\nc=[0,[1,h,f,p,l],c],a=k;continue}return G(c)}},hX=function(a){return[0,vn,a[2],[0,vm,a[3]],0]},vJ=function(b){var\na=b[1][1],c=d(a,vK),e=c||d(a,vL);return e},vM=function(a){if(!g(a[1][1],vN)){var\nc=a[2],b=c[1];if(b&&!g(b[1],vO)&&!b[2])return[0,vP,c]}return a},hY=function(j,b,c){function\np(h){var\nk=h[3],c=h[2],i=c[3],f=c[2],l=c[1],o=c[4],p=h[1],m=0===k?0:hY(j,b,k),n=[0,vY,a(e+p)];if(d(l,vZ))return[1,l,[0,n,f],i,m];var\nq=V(function(a){return e4(v0,a)},f)?f:[0,v2,f],r=[0,n,F(eZ(function(a){return g(a[1][1],vT)?0:[0,[0,vU,cu(a[2])]]},i),q)],s=aj(vM,i);return[1,v1,r,s,F(hW(o),m)]}if(c){var\nk=c[1],l=k[2][3],m=k[1],i=function(g,e,c){function\nf(a){if(2===a[0]){var\nb=a[3];if(d(a[1][1],g)){if(c)var\nf=c[1],e=b?bN(f,b[1]):0;else\nvar\ne=0===b?1:0;if(e)return 1}}return 0}function\nh(a){if(2===a[0]){var\nb=a[2];if(b){var\nc=a[4];if(b[1][1]===e)return[0,c]}}return 0}function\ni(a){if(2===a[0]&&!a[2])return[0,a[4]];return 0}var\nb=ad(f,j),a=aQ(h,b);return a?a:aQ(i,b)},n=function(b){var\na=b[3],d=b[2],e=b[1][1],c=bg(a),f=bo===c?a[1]:ao===c?ck(a):a;return i(e,d,f)},o=function(c){var\na=[ao,function(e){function\na(a){return aA(fb(l),n)}var\nb=dG(vQ,c);return aA(dx(function(a){return d(vR,a)},b),a)}];function\nm(h){var\na=dh(h);if(g(a,vw))if(g(a,vx)){var\ne=0;if(g(a,vy)&&g(a,vz))var\nb=g(a,vA)?g(a,vB)?0:vD:vE;else\ne=1;if(e)var\nf=function(a){return d(a,qO)?vt:d(a,qP)?vu:d(a,qN)?0:0},b=aA(dG(vv,c),f)}else\nvar\nb=vF;else\nvar\nb=vG;return dw([ao,function(a){return vC}],b)}var\nh=Q(vI,aA(dG(vH,c),m)),b=h[1],j=h[2],e=hj(am(j,function(a){return[0,vo,[0,[0,a,0]]]}));if(d(b,vp))return[0,b,0,e];function\nf(a){return dG(vq,a)}var\ni=[ao,function(d){var\nb=bg(a),c=bo===b?a[1]:ao===b?ck(a):a;return aA(c,f)}];function\nk(a){return[0,vr,a]}var\no=dw(i,f(c));return[0,b,hj(am(dx(function(a){return g(a,vs)},o),k)),e]},f=Q(vS,am(i(b,m,0),o)),q=f[3],r=f[2],s=f[1],t=aj(p,c),u=F([0,[0,vX,h(b,h(vW,a(e+m)))],[0,[0,vV,b],0]],r);return[0,[1,s,u,F(q,ad(vJ,l)),t],0]}return 0},v4=function(c,b,a,f){var\nd=0,e=bX[1]?v5:v6;return[0,[1,c,b,a,[0,e,d]]]},wb=[0,function(o,r,q,b){var\nm=d(o,wa);if(m){var\nn=1===bh(b)?1:0;if(n){if(b){var\nh=b[1];if(0!==h[0]&&!b[2]){var\nc=h[1],a=h[4];for(;;){var\nj=d(c,v7);if(j)var\nf=j;else\nvar\np=d(c,v_),f=p||d(c,v$);if(f){if(a){var\ne=a[1];if(0===e[0]){var\nk=e[1];if(g(k,v8)){if(!g(k,v9)&&!a[2]&&bX[1])return 1}else\nif(!a[2])return 1}else\nif(!a[2]){var\nc=e[1],a=e[4];continue}}var\nl=0}else\nvar\nl=f;return l}}}var\ni=0}else\nvar\ni=n}else\nvar\ni=m;return i},v4],wd=b(z[37],wc),hZ=function(e){var\na=e;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=a[2];if(c){var\nd=c[1],f=b[1];if(0===d[0]){var\ng=c[2],a=[0,[0,h(f,d[1])],g];continue}}}return[0,b,hZ(a[2])]}return a}},h0=function(e,d){var\nb=0,a=e,c=d;for(;;){if(a){var\nb=[0,a[1],b],a=a[2];continue}if(c){var\nb=[0,c[1],b],a=0,c=c[2];continue}return G(b)}},wn=function(e,c,h,i,a){var\nj=b(aI(wq),c);if(a){var\nf=a[1];if(0===f[0])var\nk=0;else{var\nr=f[4],s=f[2],t=f[1],u=b(aI(wr),s),m=g(e,t);if(m)var\nn=m;else\nvar\np=j?1:0,q=1-p,n=q||bQ(j,u);if(n)var\no=0;else\nvar\nv=function(a){if(0===a[0])return 0;var\ng=a[4],b=d(a[1],ws);if(b){if(0===a[0])var\nc=0;else\nvar\nf=a[3],c=V(function(a){var\nc=a[2][1],b=d(a[1][1],wo),e=b?bN(c,wp):b;return e},f);var\ne=c}else\nvar\ne=b;return e?[0,g]:0},o=aA(dz(r),v);var\nk=o}var\nl=k}else\nvar\nl=0;return ct(function(g){var\nf=G(i);if(f)var\nj=f[1],d=[0,j,G(f[2])];else\nvar\nd=0;if(d){var\nb=d[1],k=d[2];if(0===b[0]){var\nl=dd(a);return[0,[1,e,c,h,F(i,g)],l]}var\nm=b[4],n=b[3],o=b[2],p=b[1],q=dd(a);return[0,[1,e,c,h,F(k,[0,[1,p,o,n,F(m,g)],0])],q]}return[0,[1,e,c,h,g],dd(a)]},l)},wv=[0,function(a,g,f,e){var\nb=d(a,wt),c=b||d(a,wu);return c},wn],h1=function(a){var\nc=b(aI(ww),a);return c7(Q(wx,ct(function(a){return a[2]},c)))},wy=function(e,c,o,g,f){function\na(a){var\nh=a[2],i=dz(f);return aA(i,function(a){if(0===a[0])return 0;var\ni=a[2],p=a[4],q=a[1],j=b(aI(wz),i);return aA(j,function(r){var\nb=r[2],s=h1(c),t=h1(i),u=(s+bh(g)|0)===t?1:0,j=d(e,wA),k=j?d(b,h):j;if(k)var\na=k;else{var\nl=d(e,wB);if(l){var\nm=d(q,wC);if(m)var\nn=d(b,h),a=n?u:n;else\nvar\na=m}else\nvar\na=l}if(a){var\nv=dd(f);return[0,[0,[1,e,c,o,F(g,p)],v]]}return 0})})}return aA(b(aI(wD),c),a)},wG=[0,function(a,g,f,e){var\nb=d(a,wE),c=b||d(a,wF);return c},wy],wH=function(e,a,d,c){var\nb=ad(function(a){return g(a[1],wI)},a);return a===b?0:[0,[1,e,b,d,c]]},wJ=[0,function(d,a,c,b){return 0!==a?1:0},wH],h2=function(a){var\ne=3<=k(a)?1:0;if(e){var\nf=58===B(a,1)?1:0;if(f){var\nb=B(a,0),d=0;if(113<=b){if(!(2<b-118>>>0))d=1}else\nif(111<=b)d=1;if(!d)return 0;var\nc=1}else\nvar\nc=f}else\nvar\nc=e;return c},wN=function(d,c,b,a){return a?1:2},wO=[0,function(a,d,c,b){return h2(a)},wN],wP=function(e,a,d,c){if(a){var\nb=a[1];if(!g(b[1],wQ)&&!a[2]&&a5(b[2],wR))return 1}return 0},wT=[0,function(a,e,c,b){return d(a,wS)},wP],wY=function(h,b,f,e){if(b){var\nc=b[1];if(!g(c[1],wZ)&&!b[2]){var\na=dh(c[2]);if(!d(a,wU)&&!d(a,wV)&&!a5(a,wW)&&!a5(a,wX))return 0;return 2}}return 0},w2=[0,function(a,h,g,c){var\ne=d(a,w0),b=e||d(a,w1),f=b?0===c?1:0:b;return f},wY],w5=function(d,c,b,a){return 2},w6=[0,function(e,a,c,b){return V(function(a){var\nc=a[2],b=d(a[1],w3),e=b?d(c,w4):b;return e},a)},w5],w9=function(d,c,b,a){return 2},w_=[0,function(e,c,a,b){return V(function(a){var\nc=a[2][1],b=d(a[1][1],w7);return b?V(function(a){return d(a,w8)},c):b},a)},w9],xa=function(d,c,b,a){return 1},xb=[0,function(e,c,a,b){return V(function(a){return d(a[1][1],w$)},a)},xa],xe=function(d,c,b,a){return 2},xg=[0,function(f,e,h,g){var\na=bX[1];if(a){var\nb=d(f,xf);if(b)return V(function(a){var\nc=a[2],b=d(a[1],xc),e=b?d(c,xd):b;return e},e);var\nc=b}else\nvar\nc=a;return c},xe],xj=function(d,c,b,a){return 2},xk=[0,function(f,b,e,c){var\na=bX[1];return a?V(function(a){var\nc=a[2],b=d(a[1],xh),e=b?d(c,xi):b;return e},b):a},xj],xl=function(d,a,c,b){if(a&&!g(a[1][1],xm)&&!a[2])return 2;return 0},xo=[0,function(a,b,c,d){return dC(xn,a,b,c,d)},xl],h3=b(z[37],xp),xr=b(z[37],xq),xs=b(b(z[7],h3),xr),xA=function(d,c,b,a){return 1},h4=[0,function(g,f,e,h){var\na=d(g,xB);if(a)var\nb=0===f?1:0,c=b?0===e?1:0:b;else\nvar\nc=a;return c},xA],xC=function(i,h,f,c){if(c){var\na=c[1];if(0!==a[0]&&!g(a[1],xD)&&!c[2]){var\nj=a[4],k=a[3],l=a[2],e=b(e1(function(a){return e4(xE,a)}),l),d=e[1],m=e[2];if(d&&!d[2])return[0,[1,i,e5(xG,d[1][2],h),f,[0,[1,xF,m,k,j],0]]];return 0}}return 0},xI=[0,function(a,e,c,b){return d(a,xH)},xC],xM=function(q,p,c,n){if(V(function(a){var\nc=a[2][1],b=d(a[1][1],xN),e=b?bN(c,xO):b;return e},c)){var\nb=G(n),g=0;if(b){var\na=b[1];if(0!==a[0]){var\ni=b[2],j=a[4],k=a[3],l=a[2],m=a[1],o=Q(0,aQ(function(a){var\nb=a[2];return d(a[1][1],xJ)?[0,[0,[0,xK,cu(b)],0]]:0},c)),e=ad(function(a){return a5(a[1][1],xL)},c),h=F(ad(function(a){var\nb=a[1][1];return 1-V(function(a){return d(a[1][1],b)},e)},k),e),f=[0,[1,m,F(o,l),h,j],i];g=1}}if(!g)var\nf=0;return[1,G(f)]}return 0},xQ=[0,function(a,e,c,b){return d(a,xP)},xM],xS=b(z[37],xR),h5=function(a){return f(z[3],a,xS)},xU=b(z[37],xT),x_=function(c,a,b){return h5(a)},fc=function(s,b,a){var\nn=h5(b);if(n)var\no=n;else{var\np=f(z[3],b,xU);if(p)var\nj=p;else{var\nl=45===B(b,0)?1:0;if(l)var\ni=l;else{var\nm=a5(b,x8);if(m)var\nr=1-s,i=r||g(b,x9);else\nvar\ni=m}var\nj=i}if(j)var\nq=j;else{var\ne=0;if(g(b,xV)&&g(b,xW)){var\nc=0;if(g(b,xX)){var\nd=0;if(g(b,xY))if(g(b,xZ))if(g(b,x0))if(g(b,x1)){if(g(b,x2)){c=1;d=1}}else\nif(a&&!(g(a[1],x4)||a[2])){var\nk=bX[1];e=2;c=1;d=1}else{c=1;d=1}else\nif(a&&!(g(a[1],x5)||a[2])){e=1;c=1;d=1}else{c=1;d=1}else\nd=1;if(!d)if(a&&!(g(a[1],x3)||a[2])){e=1;c=1}else\nc=1}if(!c&&a&&!g(a[1],x6)&&!a[2])e=1}else\ne=3;var\nh=0;switch(e){case\n3:if(a&&!g(a[1],x7)&&!a[2])h=2;break;case\n0:break;case\n1:h=2;break;default:h=1}switch(h){case\n0:var\nk=0;break;case\n2:var\nk=1;break}var\nq=k}var\no=1-q}return o},ya=b(z[37],x$),h6=function(a,c,b){var\nd=a?a[1]:0,e=c?fc:x_;return ad(function(a){return e(d,a[1][1],a[2][1])},b)},yb=function(a){var\nb=a[2][1],c=a[1][1],e=d(c,yc);if(e)var\nf=hq[1],g=f?V(function(a){return d(a,yd)},b):f;else\nvar\ng=e;return g?[0,[0,c],[0,aj(function(a){return d(a,ye)?yf:a},b)]]:a},h7=function(a,c){var\nd=a?a[1]:0;function\nb(g,f,a,e){var\nb=h6([0,d],c,a);return a===b?0:[0,[1,g,f,b,e]]}return[0,function(c,g,b,e){var\na=0!==b?1:0,d=a?1-f(z[3],c,ya):a;return d},b]},yg=function(b,a){if(0===b[0]){var\nd=b[1][1],c=h6(0,1,b[2]);if(0===c)return a;var\ne=aj(yb,c);return[0,[0,[0,ad(function(a){return g(a,yh)},d)],e],a]}return a},h8=b(z[37],yi),fd=function(a){return ad(function(a){return 1-f(z[3],a[1],h8)},a)},h9=function(g,f,e,a){return ad(function(c){var\na=c[1][1],h=c[2][1];if(g){var\nb=1-d(a,e);return b?fc(1,a,h):b}return d(a,f)},a)},yl=function(k,e,c,j){var\nb=e0(function(a){return d(a[1],yk)},e);if(b){var\nf=b[1];if(!V(function(a){return d(a[1][1],ym)},c)){var\na=f[2],g=f[1],i=kj(a)?h(a,yj):a;return[0,[1,k,e,[0,[0,[0,g],[0,[0,i,0]]],c],j]]}}return 0},yo=[0,function(a,e,c,b){return d(a,yn)},yl],yw=[0,uK,[0,wO,[0,wT,[0,w6,[0,w_,[0,xb,[0,xg,[0,xk,0]]]]]]]],h_=[A,yE,be(0)],yB=function(H,E,D,aw,av){var\nc=E?E[1]:0,I=D?D[1]:0,l=hM(aw);if(I)ci(h(yC,az(sx,aj(hK,l))));var\ni=l;for(;;){if(i){var\nj=i[1],K=0;if(1===j[0]&&!g(j[1],qZ)){var\nM=j[4],N=j[2];hq[1]=V(function(a){return as(a[2],q0)},N);var\nq=[0,M];K=1}if(!K){var\ni=i[2];continue}}else\nvar\nq=0;if(q){var\nR=q[1],t=e2(function(a){if(1===a[0]&&!g(a[1],uj))return 1;return 0},R),n=t[2],O=t[1],L=0,aC=Q(0,am(hs(dA(hu,dA(ht(un),O))),hF));if(n){var\nk=n[1];if(0!==k[0]&&!g(k[1],ui)){var\no=[0,k[3],k[4]];L=1}}if(!L)var\no=[0,0,n];var\nm=[0,aC,o[2],o[1]]}else\nvar\nu=hl(function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],f=a[1];if(!g(c[1],uk)&&!b[2]){var\nh=c[2],e=dC(ul,f,b,a[3],a[4]),i=e?d(dh(h),um):e;return i}}}return 0},l),v=u[2],P=u[1],m=v?[0,Q(0,am(hs(dA(hu,dA(ht(up),[0,[1,uo,0,0,P],0]))),hF)),v,0]:[0,0,l,0];var\ns=m[1],ax=m[3],ay=m[2],au=0,at=[0,xQ,[0,h7(yy,c),[0,h4,0]]],W=function(o,m,f,l,k){function\na(p){var\nn=p[1][1],q=[0,[1,o,m,f,l],k];function\ni(t,j){var\na=t;for(;;){if(a){var\nc=a[1];if(0!==c[0]){var\nk=a[2],f=c[4],g=c[3],l=c[2],m=c[1],o=fb(g);if(o){var\np=o[1],h=p[2],q=p[1][1];if(j){var\nu=j[1];if(d(q,n)&&h===u){var\nr=i(k,j);return[0,[0,[0,h,[0,m,l,g,f]],r[1]],r[2]]}}else\nif(d(q,n)){var\ns=i(k,[0,h]);return[0,[0,[0,h,[0,m,l,g,f]],s[1]],s[2]]}return[0,0,a]}var\nb=hV(at,m,l,g,f);if(typeof\nb===\"number\")switch(b){case\n0:var\ne=0;break;case\n1:var\ne=[0,f];break;default:var\ne=vf}else\nvar\ne=0===b[0]?[0,[0,b[1],0]]:[0,b[1]];if(e){var\na=F(e[1],k);continue}return[0,0,a]}}return[0,0,a]}}var\nb=i(q,0),a=b[1],r=b[2];function\ne(k,j){var\na=k,b=j;for(;;){if(b){var\nf=b[1],g=f[2],d=f[1],l=b[2];if(a){var\nh=a[1],c=h[1],m=a[2],n=h[2];if(c<d){var\no=d===(c+1|0)?0:[0,[0,c+1|0,hX(g),0],0],i=e(o,b),p=i[2],a=[0,[0,c,n,G(i[1])],m],b=p;continue}if(d<c)return[0,a,b]}var\na=[0,[0,d,g,0],a],b=l;continue}return[0,a,0]}}if(a)var\nc=a[1],h=c[2],j=1===c[1]?0:[0,[0,1,hX(h),0],0],g=G(e(j,a)[1]);else\nvar\ng=0;return[0,F(hY(s,n,g),r)]}return Q(0,am(fb(f),a))},aA=dF(0,yw,[0,ve,[0,u3,[0,[0,function(a,e,c,b){return d(a,v3)},W],au]]],ay),ah=[0,h4,[0,xI,0]],af=b(z[37],yt),ag=function(g,b,a,f){var\nd=fd(b),e=h9(c,yv,yu,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ai=[0,[0,function(a,d,c,b){return f(z[3],a,af)},ag],ah],ae=function(g,b,a,f){var\nd=fd(b),e=h9(c,yr,yq,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ak=[0,[0,function(a,e,c,b){return d(a,ys)},ae],ai],ac=function(h,b,a,g){var\nd=fd(b),e=ad(function(a){var\nb=a[1][1],d=a[2][1];return c?fc(1,b,d):f(z[3],b,h8)},a);if(d===b&&e===a)return 0;return[0,[1,h,d,e,g]]},al=[0,yo,[0,[0,function(a,e,c,b){return d(a,yp)},ac],ak]],ab=function(d,c,b,a){return a?1:2},an=[0,[0,function(a,h,g,e){if(c)return 0;var\nd=b(z[37],av);return f(z[3],a,d)},ab],al],ap=[0,xo,[0,w2,[0,wb,[0,h7(yx,c),an]]]],aa=function(e,c,b,a){return V(function(b){if(0===b[0]){var\na=b[1][1];if(a&&!g(a[1],xx)&&!a[2])return 1}return 0},s)?[0,[1,e,ad(function(a){var\nc=a[2],b=d(a[1],xy),e=b?d(c,xz):b;return 1-e},c),b,a]]:1},aq=[0,[0,function(f,a,e,b){return c?V(function(a){var\nc=a[2],b=d(a[1],xv),e=b?d(c,xw):b;return e},a):0},aa],ap],_=c?h3:xs,$=function(g,a,e,c){var\nb=ad(function(c){var\na=c[1],i=c[2],e=h2(a);if(e)var\ng=e;else\nvar\nb=d(a,xt),h=b?d(i,xu):b,g=h||f(z[3],a,_);return 1-g},a);return a===b?0:[0,[1,g,b,e,c]]},r=[0,0],ar=[0,rf,[0,q_,[0,[0,function(d,a,c,b){return 0!==a?1:0},$],aq]]],Y=[0,wv,0],X=function(m,i,u,c){var\nf=[ao,function(h){function\nf(v){var\nb=v[2],f=r[1];try{var\nn=co(b,f)}catch(a){a=C(a);if(a===p){r[1]=[0,[0,b,bh(c)],f];return 0}throw a}if(c){var\nj=c[1];if(0!==j[0]&&!g(j[1],wh)){var\nl=j[4];if(l){var\nt=l[1];if(0!==t[0]&&!g(t[1],wi)&&!l[2]&&!c[2])return 0}}}function\nw(a){return a[1]}var\nx=am(dz(f),w),h=function(a){return Q(b,a)}(x),y=function(a){return dB(a,58)}(b),z=c7(function(a){return ey(a,1)}(y)),A=function(a){return dB(a,58)}(b),k=function(a){return ey(a,0)}(A),B=function(a){return dB(a,58)}(h),D=c7(function(a){return ey(a,1)}(B)),E=dz(function(a){return dB(a,58)}(h)),o=function(a){return Q(k,a)}(E),q=z<D?1:0,F=d(h,b),G=F||q||g(o,k),s=G?a(e+(n+1|0)):a(f1),H=d(h,b),I=H||q||g(o,k),J=I?n+bh(c)|0:bh(c);r[1]=[0,[0,b,J],f];if(!d(m,we)&&!d(s,wf))return[0,[1,m,[0,[0,wg,s],i],u,c]];return 0}return Q(0,am(b(aI(wj),i),f))}];function\nh(a){return 0}return hi(f,am(b(aI(wk),i),h))},Z=dF(wK,[0,[0,function(a,g,f,e){var\nb=d(a,wl),c=b||d(a,wm);return c},X],ar],Y,aA),B=function(i,h){var\na=i,c=h;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nj=a[2],a=j,c=h0(c,[0,b,0]);continue}var\nd=a[2],e=b[1],k=b[3],l=b[2],g=B(b[4],0);if(f(z[3],e,wd)&&0===g){var\na=d;continue}var\na=d,c=h0(c,[0,[1,e,l,k,hZ(g)],0]);continue}return c}},aD=dF(wM,[0,wJ,0],0,dF(wL,0,[0,wG,0],B(Z,0))),J=c?gz(yg,s,0):0,aB=c?eZ(function(a){var\nb=a[2];return d(a[1][1],yz)?[0,[0,yA,cu(b)]]:0},ax):0,S=H?H[1]:1,w=0===J?0:[0,[1,uu,0,0,[0,[0,az(rP,aj(rC,J))],0]],0],x=S?[0,uq,0]:0,y=0===x?1:0,T=y?0===w?1:0:y,U=T?0:[0,[1,ut,0,0,F(x,w)],0],A=[1,us,0,0,F(U,[0,[1,ur,aB,0,aD],0])];if(I)ci(h(yD,hK(A)));return[0,A,0]}};nt(yF,[0,h_,[0]]);(function(a){throw a});var\ncv=x,fe=null,ff=undefined,dH=function(a){return a==fe?0:[0,a]},yG=cv.Array;gZ(function(a){return a[1]===h_?[0,ai(a[2].toString())]:0});gZ(function(a){return a\ninstanceof\nyG?0:[0,ai(a.toString())]});var\nh$=cv.document;cv.HTMLElement===ff;var\nyH=z6(0),ia=function(b,a){return as(a,b)},yI=0,yN=[0,[0,yM,0,function(a){var\nc=as(a,yJ),b=c||as(a,yL);return b?as(a,yK):b}],yI],yQ=[0,[0,yP,0,function(a){return ia(yO,a)}],yN],yT=[0,[0,yS,0,function(a){return ia(yR,a)}],yQ],yX=[0,[0,yW,0,function(a){var\nb=as(a,yU);return b?b:as(a,yV)}],yT],y2=[0,[0,y1,y0,function(a){var\nb=as(a,yY),c=b?1-as(a,yZ):b;return c}],yX],y8=[0,[0,y7,0,function(a){var\nc=as(a,y3);if(c){var\nd=as(a,y4);if(d){var\ne=as(a,y5);if(e)return as(a,y6);var\nb=e}else\nvar\nb=d}else\nvar\nb=c;return b}],y2],y9=ai(cv.navigator.userAgent),y_=function(k){var\na=y8,h=dh(y9);for(;;){if(a){var\nc=a[1],g=a[2];if(!b(c[3],h)){var\na=g;continue}var\ne=[0,c]}else\nvar\ne=0;var\nj=gy(function(a){return[0,a[1]]},e),f=gy(function(a){return d(a[1],y$)},j),i=0;return f?f[1]:i}},ib=function(a){var\nb=bN(a,fe)?ff:a;return b===ff?0:[0,b]},za=function(a){return d(ai(typeof\na),zb)},zc=function(d){var\na=d.src,b=a.length;if(0<b){var\nc=a.indexOf(fM),e=c<0?b:c,f=iP[\"length\"];return(a.indexOf(iP)+f|0)===e?1:0}return 0},ic=function(a){var\nb=a.split(bu),c=[0,cv];return b.reduce(z8(function(a,b,d,c){return a?ib(a[1][b]):a}),c)},id=function(a){if(a){var\nb=a[1],c=dH(b.getAttribute(jn));if(c){var\nd=c[1];b.removeAttribute(jn);return dx(za,ic(d))}return 0}return 0},zd=[ao,function(g){var\nd=h$.getElementsByTagName(ap),b=0,a=0,e=d.length;for(;;){if(a<e){var\nc=dH(d.item(a));if(c){var\nb=[0,c[1],b],a=a+1|0;continue}var\na=a+1|0;continue}var\nf=G(b);return aQ(function(a){var\nb=a.tagName.toLowerCase()===ap?a:fe;return id(dx(zc,dH(b)))},f)}}],ze=id(ib(h$.currentScript)),ie=function(a){return dw(zd,a)}(ze);bX[1]=y_(0);var\nfg=[0,0,0,0],zf=function(n,m){if(!fg[1]){if(0===dI)var\na=g5([0]);else{var\nd=g5(gK(nv,dI)),g=dI.length-1-1|0,k=0;if(!(g<0)){var\nc=k;for(;;){var\nh=(c*2|0)+2|0;d[3]=aJ(dq[4],dI[1+c],h,d[3]);d[4]=aJ(dr[4],h,1,d[4]);var\nl=c+1|0;if(g!==c){var\nc=l;continue}break}}var\na=d}var\ni=nB(a,zg),e=nz(a,zh),j=function(c){var\na=c[1+i];return b(a[2],a[1])};nx[1]++;if(f(dr[28],e,a[4])){eQ(a,e+1|0);w(a[2],e)[1+e]=j}else\na[6]=[0,[0,e,j],a[6]];var\no=function(d){var\nb=j6(A,a[1]);b[1]=a[2];var\nc=Ap(b);c[1+i]=d;return c};g6[1]=(g6[1]+a[1]|0)-1|0;a[8]=G(a[8]);eQ(a,3+((w(a[2],1)[2]*16|0)/32|0)|0);fg[1]=o}return b(fg[1],[0,n,m])},zi=function(n,m,l,j){var\ne=dH(j);if(e){var\nd=gK(ai,z7(e[1])),a=d.length-1-1|0,b=0;for(;;){if(0<=a){var\nh=[0,d[1+a],b],a=a-1|0,b=h;continue}var\nf=b;break}}else\nvar\nf=0;var\ng=ai(m),i=hI(yB(0,[0,l|0],[0,0],g,f)),c=gP(k(g));pY(eR,1,function(a){return bU(c,a)},i);return gk(gQ(c))},ig=function(a,b){return{\"cleanDocument\":z9(a)}}(zi,zf),zj=function(c,b){var\na=ic(\"tinymce.Resource.add\");return a?a[1](c,b):yH.error(\"Unable to find Word Import registration API\")},zk=function(a){return a(ig)};if(ie)zk(ie[1]);else\nzj(zl,ig);ew(0);return}}(globalThis));\n","/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var typeOf$1 = function (x) {\n      if (x === null) {\n        return 'null';\n      }\n      if (x === undefined) {\n        return 'undefined';\n      }\n      var t = typeof x;\n      if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      }\n      if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      }\n      return t;\n    };\n    var isEquatableType = function (x) {\n      return ['undefined', 'boolean', 'number', 'string', 'function', 'xml', 'null'].indexOf(x) !== -1;\n    };\n\n    var sort$1 = function (xs, compareFn) {\n      var clone = Array.prototype.slice.call(xs);\n      return clone.sort(compareFn);\n    };\n\n    var contramap = function (eqa, f) {\n      return eq$2(function (x, y) {\n        return eqa.eq(f(x), f(y));\n      });\n    };\n    var eq$2 = function (f) {\n      return {\n        eq: f\n      };\n    };\n    var tripleEq = eq$2(function (x, y) {\n      return x === y;\n    });\n    var eqString = tripleEq;\n    var eqArray = function (eqa) {\n      return eq$2(function (x, y) {\n        if (x.length !== y.length) {\n          return false;\n        }\n        var len = x.length;\n        for (var i = 0; i < len; i++) {\n          if (!eqa.eq(x[i], y[i])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqSortedArray = function (eqa, compareFn) {\n      return contramap(eqArray(eqa), function (xs) {\n        return sort$1(xs, compareFn);\n      });\n    };\n    var eqRecord = function (eqa) {\n      return eq$2(function (x, y) {\n        var kx = Object.keys(x);\n        var ky = Object.keys(y);\n        if (!eqSortedArray(eqString).eq(kx, ky)) {\n          return false;\n        }\n        var len = kx.length;\n        for (var i = 0; i < len; i++) {\n          var q = kx[i];\n          if (!eqa.eq(x[q], y[q])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqAny = eq$2(function (x, y) {\n      if (x === y) {\n        return true;\n      }\n      var tx = typeOf$1(x);\n      var ty = typeOf$1(y);\n      if (tx !== ty) {\n        return false;\n      }\n      if (isEquatableType(tx)) {\n        return x === y;\n      } else if (tx === 'array') {\n        return eqArray(eqAny).eq(x, y);\n      } else if (tx === 'object') {\n        return eqRecord(eqAny).eq(x, y);\n      }\n      return false;\n    });\n\n    const getPrototypeOf$2 = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const is$4 = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf$2(o) === proto);\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isPlainObject = value => is$4(value, Object);\n    const isArray$1 = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray$1(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply$1 = f => {\n      return f();\n    };\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const indexOf$1 = (xs, x) => {\n      const r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$3 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$e = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition$2 = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$5 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$e(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil$1 = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$2 = (xs, pred) => {\n      return findUntil$1(xs, pred, never);\n    };\n    const findIndex$2 = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map$3(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const difference = (a1, a2) => filter$5(a1, x => !contains$2(a2, x));\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$b = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$b(xs, 0);\n    const last$3 = xs => get$b(xs, xs.length - 1);\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n    const unique$1 = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$2(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty$1 = Object.hasOwnProperty;\n    const each$d = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map$2 = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$d(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$d(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const bifilter = (obj, pred) => {\n      const t = {};\n      const f = {};\n      internalFilter(obj, pred, objAcc(t), objAcc(f));\n      return {\n        t,\n        f\n      };\n    };\n    const filter$4 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$d(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$a = (obj, key) => {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$2 = (obj, key) => hasOwnProperty$1.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const equal$1 = (a1, a2, eq = eqAny) => eqRecord(eq).eq(a1, a2);\n\n    const stringArray = a => {\n      const all = {};\n      each$e(a, key => {\n        all[key] = {};\n      });\n      return keys(all);\n    };\n\n    const isArrayLike = o => o.length !== undefined;\n    const isArray = Array.isArray;\n    const toArray$1 = obj => {\n      if (!isArray(obj)) {\n        const array = [];\n        for (let i = 0, l = obj.length; i < l; i++) {\n          array[i] = obj[i];\n        }\n        return array;\n      } else {\n        return obj;\n      }\n    };\n    const each$c = (o, cb, s) => {\n      if (!o) {\n        return false;\n      }\n      s = s || o;\n      if (isArrayLike(o)) {\n        for (let n = 0, l = o.length; n < l; n++) {\n          if (cb.call(s, o[n], n, o) === false) {\n            return false;\n          }\n        }\n      } else {\n        for (const n in o) {\n          if (has$2(o, n)) {\n            if (cb.call(s, o[n], n, o) === false) {\n              return false;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const map$1 = (array, callback) => {\n      const out = [];\n      each$c(array, (item, index) => {\n        out.push(callback(item, index, array));\n      });\n      return out;\n    };\n    const filter$3 = (a, f) => {\n      const o = [];\n      each$c(a, (v, index) => {\n        if (!f || f(v, index, a)) {\n          o.push(v);\n        }\n      });\n      return o;\n    };\n    const indexOf = (a, v) => {\n      if (a) {\n        for (let i = 0, l = a.length; i < l; i++) {\n          if (a[i] === v) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const reduce = (collection, iteratee, accumulator, thisArg) => {\n      let acc = isUndefined(accumulator) ? collection[0] : accumulator;\n      for (let i = 0; i < collection.length; i++) {\n        acc = iteratee.call(thisArg, acc, collection[i], i);\n      }\n      return acc;\n    };\n    const findIndex$1 = (array, predicate, thisArg) => {\n      for (let i = 0, l = array.length; i < l; i++) {\n        if (predicate.call(thisArg, array[i], i, array)) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    const last$2 = collection => collection[collection.length - 1];\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find$1 = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$3(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find$1(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$3(0, 0);\n    };\n    const nu$3 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$3,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$2(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$2(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const contains$1 = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim$4 = blank(/^\\s+|\\s+$/g);\n    const lTrim = blank(/^\\s+/g);\n    const rTrim = blank(/\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$3 = s => !isNotEmpty(s);\n    const repeat = (s, count) => count <= 0 ? '' : new Array(count + 1).join(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains$1(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$2 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$2,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu: nu$1,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform$4 = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform$4();\n\n    const userAgent = navigator.userAgent;\n    const platform$3 = detect$2();\n    const browser$3 = platform$3.browser;\n    const os$1 = platform$3.os;\n    const deviceType = platform$3.deviceType;\n    const windowsPhone = userAgent.indexOf('Windows Phone') !== -1;\n    const Env = {\n      transparentSrc: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n      documentMode: browser$3.isIE() ? document.documentMode || 7 : 10,\n      cacheSuffix: null,\n      container: null,\n      canHaveCSP: !browser$3.isIE(),\n      windowsPhone,\n      browser: {\n        current: browser$3.current,\n        version: browser$3.version,\n        isChromium: browser$3.isChromium,\n        isEdge: browser$3.isEdge,\n        isFirefox: browser$3.isFirefox,\n        isIE: browser$3.isIE,\n        isOpera: browser$3.isOpera,\n        isSafari: browser$3.isSafari\n      },\n      os: {\n        current: os$1.current,\n        version: os$1.version,\n        isAndroid: os$1.isAndroid,\n        isChromeOS: os$1.isChromeOS,\n        isFreeBSD: os$1.isFreeBSD,\n        isiOS: os$1.isiOS,\n        isLinux: os$1.isLinux,\n        isMacOS: os$1.isMacOS,\n        isSolaris: os$1.isSolaris,\n        isWindows: os$1.isWindows\n      },\n      deviceType: {\n        isDesktop: deviceType.isDesktop,\n        isiPad: deviceType.isiPad,\n        isiPhone: deviceType.isiPhone,\n        isPhone: deviceType.isPhone,\n        isTablet: deviceType.isTablet,\n        isTouch: deviceType.isTouch,\n        isWebView: deviceType.isWebView\n      }\n    };\n\n    const whiteSpaceRegExp$1 = /^\\s*|\\s*$/g;\n    const trim$3 = str => {\n      return isNullable(str) ? '' : ('' + str).replace(whiteSpaceRegExp$1, '');\n    };\n    const is$3 = (obj, type) => {\n      if (!type) {\n        return obj !== undefined;\n      }\n      if (type === 'array' && isArray(obj)) {\n        return true;\n      }\n      return typeof obj === type;\n    };\n    const makeMap$4 = (items, delim, map = {}) => {\n      const resolvedItems = isString(items) ? items.split(delim || ',') : items || [];\n      let i = resolvedItems.length;\n      while (i--) {\n        map[resolvedItems[i]] = {};\n      }\n      return map;\n    };\n    const hasOwnProperty = has$2;\n    const extend$3 = (obj, ...exts) => {\n      for (let i = 0; i < exts.length; i++) {\n        const ext = exts[i];\n        for (const name in ext) {\n          if (has$2(ext, name)) {\n            const value = ext[name];\n            if (value !== undefined) {\n              obj[name] = value;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    const walk$4 = function (o, f, n, s) {\n      s = s || this;\n      if (o) {\n        if (n) {\n          o = o[n];\n        }\n        each$c(o, (o, i) => {\n          if (f.call(s, o, i, n) === false) {\n            return false;\n          } else {\n            walk$4(o, f, n, s);\n            return true;\n          }\n        });\n      }\n    };\n    const resolve$3 = (n, o = window) => {\n      const path = n.split('.');\n      for (let i = 0, l = path.length; i < l; i++) {\n        o = o[path[i]];\n        if (!o) {\n          break;\n        }\n      }\n      return o;\n    };\n    const explode$3 = (s, d) => {\n      if (isArray$1(s)) {\n        return s;\n      } else if (s === '') {\n        return [];\n      } else {\n        return map$1(s.split(d || ','), trim$3);\n      }\n    };\n    const _addCacheSuffix = url => {\n      const cacheSuffix = Env.cacheSuffix;\n      if (cacheSuffix) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;\n      }\n      return url;\n    };\n    const Tools = {\n      trim: trim$3,\n      isArray: isArray,\n      is: is$3,\n      toArray: toArray$1,\n      makeMap: makeMap$4,\n      each: each$c,\n      map: map$1,\n      grep: filter$3,\n      inArray: indexOf,\n      hasOwn: hasOwnProperty,\n      extend: extend$3,\n      walk: walk$4,\n      resolve: resolve$3,\n      explode: explode$3,\n      _addCacheSuffix\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const lift3 = (oa, ob, oc, f) => oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf$1 = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf$1(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type$1 = element => element.dom.nodeType;\n    const isType = t => element => type$1(element) === t;\n    const isComment$1 = element => type$1(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement$1 = element => isElement$7(element) && isPrototypeOf(element.dom);\n    const isElement$7 = isType(ELEMENT);\n    const isText$b = isType(TEXT);\n    const isDocument$2 = isType(DOCUMENT);\n    const isDocumentFragment$1 = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$7(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$3 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$d(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$9 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$9(element, key));\n    const has$1 = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    const remove$a = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const hasNone = element => {\n      const attrs = element.dom.attributes;\n      return attrs === undefined || attrs === null || attrs.length === 0;\n    };\n    const clone$4 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const read$4 = (element, attr) => {\n      const value = get$9(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$4 = (element, attr, id) => {\n      const old = read$4(element, attr);\n      const nu = old.concat([id]);\n      set$3(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$9 = (element, attr, id) => {\n      const nu = filter$5(read$4(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$3(element, attr, nu.join(' '));\n      } else {\n        remove$a(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$8 = element => read$4(element, 'class');\n    const add$3 = (element, clazz) => add$4(element, 'class', clazz);\n    const remove$8 = (element, clazz) => remove$9(element, 'class', clazz);\n    const toggle$2 = (element, clazz) => {\n      if (contains$2(get$8(element), clazz)) {\n        return remove$8(element, clazz);\n      } else {\n        return add$3(element, clazz);\n      }\n    };\n\n    const add$2 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$3(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$8(element);\n      if (classList.length === 0) {\n        remove$a(element, 'class');\n      }\n    };\n    const remove$7 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$8(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const toggle$1 = (element, clazz) => {\n      const result = supports(element) ? element.dom.classList.toggle(clazz) : toggle$2(element, clazz);\n      cleanClass(element);\n      return result;\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$2(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$2(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$2(node);\n    };\n    const fromDom$2 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$2 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$2);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$2,\n      fromPoint: fromPoint$2\n    };\n\n    const toArray = (target, f) => {\n      const r = [];\n      const recurse = e => {\n        r.push(e);\n        return f(e);\n      };\n      let cur = f(target);\n      do {\n        cur = cur.bind(recurse);\n      } while (cur.isSome());\n      return r;\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$3(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n\n    const owner$1 = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument$2(dos) ? dos : owner$1(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents$1 = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings = element => {\n      const filterSelf = elements => filter$5(elements, x => !eq(element, x));\n      return parent(element).map(children$1).map(filterSelf).getOr([]);\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const prevSiblings = element => reverse(toArray(element, prevSibling));\n    const nextSiblings = element => toArray(element, nextSibling);\n    const children$1 = element => map$3(element.dom.childNodes, SugarElement.fromDom);\n    const child$1 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$1(element, 0);\n    const lastChild = element => child$1(element, element.dom.childNodes.length - 1);\n    const childNodesCount = element => element.dom.childNodes.length;\n    const hasChildNodes = element => element.dom.hasChildNodes();\n\n    const getHead = doc => {\n      const b = doc.dom.head;\n      if (b === null || b === undefined) {\n        throw new Error('Head is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment$1(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getStyleContainer = dos => isShadowRoot(dos) ? dos : getHead(documentOrOwner(dos));\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement$7(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText$b(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$4 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$4 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$4, scope, predicate, isRoot);\n    };\n    const sibling$1 = (scope, predicate) => {\n      const element = scope.dom;\n      if (!element.parentNode) {\n        return Optional.none();\n      }\n      return child(SugarElement.fromDom(element.parentNode), x => !eq(scope, x) && predicate(x));\n    };\n    const child = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$2(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$2 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$3 = (scope, selector, isRoot) => ancestor$4(scope, e => is$1(e, selector), isRoot);\n    const descendant$1 = (scope, selector) => one(selector, scope);\n    const closest$3 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$3, scope, selector, isRoot);\n    };\n\n    const closest$2 = target => closest$3(target, '[contenteditable]');\n    const isEditable$2 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest$2(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$2 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$d(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$7 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const getAllRaw = element => {\n      const css = {};\n      const dom = element.dom;\n      if (isSupported(dom)) {\n        for (let i = 0; i < dom.style.length; i++) {\n          const ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    const remove$6 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is$2(getOpt(element, 'style').map(trim$4), '')) {\n        remove$a(element, 'style');\n      }\n    };\n    const reflow = e => e.dom.offsetWidth;\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$4 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap$2 = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$3 = (marker, elements) => {\n      each$e(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$4(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$e(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$e(children$1(element), rogue => {\n        remove$5(rogue);\n      });\n    };\n    const remove$5 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$1(wrapper);\n      if (children.length > 0) {\n        after$3(wrapper, children);\n      }\n      remove$5(wrapper);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$1(SugarElement.fromDom(div));\n    };\n    const fromDom$1 = nodes => map$3(nodes, SugarElement.fromDom);\n\n    const get$6 = element => element.dom.innerHTML;\n    const set$1 = (element, content) => {\n      const owner = owner$1(element);\n      const docDom = owner.dom;\n      const fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      const contentElements = fromHtml(content, docDom);\n      append(fragment, contentElements);\n      empty(element);\n      append$1(element, fragment);\n    };\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$6(container);\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle$1 = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle$1(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const get$5 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const to = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n    const intoView = (element, alignToTop) => {\n      const isSafari = detect$2().browser.isSafari();\n      if (isSafari && isFunction(element.dom.scrollIntoViewIfNeeded)) {\n        element.dom.scrollIntoViewIfNeeded(false);\n      } else {\n        element.dom.scrollIntoView(alignToTop);\n      }\n    };\n\n    const get$4 = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect$2().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$5(SugarElement.fromDom(doc));\n      return get$4(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n\n    const children = (scope, predicate) => filter$5(children$1(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$e(children$1(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, selector, isRoot).isSome();\n\n    class DomTreeWalker {\n      constructor(startNode, rootNode) {\n        this.node = startNode;\n        this.rootNode = rootNode;\n        this.current = this.current.bind(this);\n        this.next = this.next.bind(this);\n        this.prev = this.prev.bind(this);\n        this.prev2 = this.prev2.bind(this);\n      }\n      current() {\n        return this.node;\n      }\n      next(shallow) {\n        this.node = this.findSibling(this.node, 'firstChild', 'nextSibling', shallow);\n        return this.node;\n      }\n      prev(shallow) {\n        this.node = this.findSibling(this.node, 'lastChild', 'previousSibling', shallow);\n        return this.node;\n      }\n      prev2(shallow) {\n        this.node = this.findPreviousNode(this.node, shallow);\n        return this.node;\n      }\n      findSibling(node, startName, siblingName, shallow) {\n        if (node) {\n          if (!shallow && node[startName]) {\n            return node[startName];\n          }\n          if (node !== this.rootNode) {\n            let sibling = node[siblingName];\n            if (sibling) {\n              return sibling;\n            }\n            for (let parent = node.parentNode; parent && parent !== this.rootNode; parent = parent.parentNode) {\n              sibling = parent[siblingName];\n              if (sibling) {\n                return sibling;\n              }\n            }\n          }\n        }\n        return undefined;\n      }\n      findPreviousNode(node, shallow) {\n        if (node) {\n          const sibling = node.previousSibling;\n          if (this.rootNode && sibling === this.rootNode) {\n            return;\n          }\n          if (sibling) {\n            if (!shallow) {\n              for (let child = sibling.lastChild; child; child = child.lastChild) {\n                if (!child.lastChild) {\n                  return child;\n                }\n              }\n            }\n            return sibling;\n          }\n          const parent = node.parentNode;\n          if (parent && parent !== this.rootNode) {\n            return parent;\n          }\n        }\n        return undefined;\n      }\n    }\n\n    const isNodeType = type => {\n      return node => {\n        return !!node && node.nodeType === type;\n      };\n    };\n    const isRestrictedNode = node => !!node && !Object.getPrototypeOf(node);\n    const isElement$6 = isNodeType(1);\n    const isHTMLElement = node => isElement$6(node) && isHTMLElement$1(SugarElement.fromDom(node));\n    const isSVGElement = node => isElement$6(node) && node.namespaceURI === 'http://www.w3.org/2000/svg';\n    const matchNodeName = name => {\n      const lowerCasedName = name.toLowerCase();\n      return node => isNonNullable(node) && node.nodeName.toLowerCase() === lowerCasedName;\n    };\n    const matchNodeNames = names => {\n      const lowerCasedNames = names.map(s => s.toLowerCase());\n      return node => {\n        if (node && node.nodeName) {\n          const nodeName = node.nodeName.toLowerCase();\n          return contains$2(lowerCasedNames, nodeName);\n        }\n        return false;\n      };\n    };\n    const matchStyleValues = (name, values) => {\n      const items = values.toLowerCase().split(' ');\n      return node => {\n        if (isElement$6(node)) {\n          const win = node.ownerDocument.defaultView;\n          if (win) {\n            for (let i = 0; i < items.length; i++) {\n              const computed = win.getComputedStyle(node, null);\n              const cssValue = computed ? computed.getPropertyValue(name) : null;\n              if (cssValue === items[i]) {\n                return true;\n              }\n            }\n          }\n        }\n        return false;\n      };\n    };\n    const hasAttribute = attrName => {\n      return node => {\n        return isElement$6(node) && node.hasAttribute(attrName);\n      };\n    };\n    const hasAttributeValue = (attrName, attrValue) => {\n      return node => {\n        return isElement$6(node) && node.getAttribute(attrName) === attrValue;\n      };\n    };\n    const isBogus$2 = node => isElement$6(node) && node.hasAttribute('data-mce-bogus');\n    const isBogusAll$1 = node => isElement$6(node) && node.getAttribute('data-mce-bogus') === 'all';\n    const isTable$2 = node => isElement$6(node) && node.tagName === 'TABLE';\n    const hasContentEditableState = value => {\n      return node => {\n        if (isHTMLElement(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const isTextareaOrInput = matchNodeNames(['textarea', 'input']);\n    const isText$a = isNodeType(3);\n    const isCData = isNodeType(4);\n    const isPi = isNodeType(7);\n    const isComment = isNodeType(8);\n    const isDocument$1 = isNodeType(9);\n    const isDocumentFragment = isNodeType(11);\n    const isBr$6 = matchNodeName('br');\n    const isImg = matchNodeName('img');\n    const isContentEditableTrue$3 = hasContentEditableState('true');\n    const isContentEditableFalse$b = hasContentEditableState('false');\n    const isTableCell$3 = matchNodeNames(['td', 'th']);\n    const isTableCellOrCaption = matchNodeNames(['td', 'th', 'caption']);\n    const isMedia$2 = matchNodeNames(['video', 'audio', 'object', 'embed']);\n    const isListItem$2 = matchNodeName('li');\n    const isDetails = matchNodeName('details');\n    const isSummary$1 = matchNodeName('summary');\n\n    const zeroWidth = '\\uFEFF';\n    const nbsp = '\\xA0';\n    const isZwsp$2 = char => char === zeroWidth;\n    const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api$1 = NodeValue(isText$b, 'text');\n    const get$3 = element => api$1.get(element);\n    const getOption = element => api$1.getOption(element);\n    const set = (element, value) => api$1.set(element, value);\n\n    const tableCells = ['td', 'th'];\n    const tableSections = ['thead', 'tbody', 'tfoot'];\n    const textBlocks = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div', 'address', 'pre', 'form', 'blockquote', 'center', 'dir', 'fieldset', 'header', 'footer', 'article', 'section', 'hgroup', 'aside', 'nav', 'figure'];\n    const listItems$1 = ['li', 'dd', 'dt'];\n    const lists = ['ul', 'ol', 'dl'];\n    const wsElements = ['pre', 'script', 'textarea', 'style'];\n    const lazyLookup = items => {\n      let lookup;\n      return node => {\n        lookup = lookup ? lookup : mapToObject(items, always);\n        return has$2(lookup, name(node));\n      };\n    };\n    const isTable$1 = node => name(node) === 'table';\n    const isBr$5 = node => isElement$7(node) && name(node) === 'br';\n    const isTextBlock$2 = lazyLookup(textBlocks);\n    const isList = lazyLookup(lists);\n    const isListItem$1 = lazyLookup(listItems$1);\n    const isTableSection = lazyLookup(tableSections);\n    const isTableCell$2 = lazyLookup(tableCells);\n    const isWsPreserveElement = lazyLookup(wsElements);\n\n    const getLastChildren$1 = elm => {\n      const children = [];\n      let rawNode = elm.dom;\n      while (rawNode) {\n        children.push(SugarElement.fromDom(rawNode));\n        rawNode = rawNode.lastChild;\n      }\n      return children;\n    };\n    const removeTrailingBr = elm => {\n      const allBrs = descendants(elm, 'br');\n      const brs = filter$5(getLastChildren$1(elm).slice(-1), isBr$5);\n      if (allBrs.length === brs.length) {\n        each$e(brs, remove$5);\n      }\n    };\n    const createPaddingBr = () => {\n      const br = SugarElement.fromTag('br');\n      set$3(br, 'data-mce-bogus', '1');\n      return br;\n    };\n    const fillWithPaddingBr = elm => {\n      empty(elm);\n      append$1(elm, createPaddingBr());\n    };\n    const trimBlockTrailingBr = (elm, schema) => {\n      lastChild(elm).each(lastChild => {\n        prevSibling(lastChild).each(lastChildPrevSibling => {\n          if (schema.isBlock(name(elm)) && isBr$5(lastChild) && schema.isBlock(name(lastChildPrevSibling))) {\n            remove$5(lastChild);\n          }\n        });\n      });\n    };\n\n    const ZWSP$1 = zeroWidth;\n    const isZwsp$1 = isZwsp$2;\n    const trim$2 = removeZwsp;\n    const insert$5 = editor => editor.insertContent(ZWSP$1, {\n      preserve_zwsp: true\n    });\n\n    const isElement$5 = isElement$6;\n    const isText$9 = isText$a;\n    const isCaretContainerBlock$1 = node => {\n      if (isText$9(node)) {\n        node = node.parentNode;\n      }\n      return isElement$5(node) && node.hasAttribute('data-mce-caret');\n    };\n    const isCaretContainerInline = node => isText$9(node) && isZwsp$1(node.data);\n    const isCaretContainer$2 = node => isCaretContainerBlock$1(node) || isCaretContainerInline(node);\n    const hasContent = node => node.firstChild !== node.lastChild || !isBr$6(node.firstChild);\n    const insertInline$1 = (node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      const parentNode = node.parentNode;\n      if (!before) {\n        const sibling = node.nextSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (startsWithCaretContainer$1(sibling)) {\n            sibling.splitText(1);\n            return sibling;\n          }\n        }\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(textNode);\n        }\n      } else {\n        const sibling = node.previousSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (endsWithCaretContainer$1(sibling)) {\n            return sibling.splitText(sibling.data.length - 1);\n          }\n        }\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node);\n      }\n      return textNode;\n    };\n    const isBeforeInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset()) === ZWSP$1 || pos.isAtStart() && isCaretContainerInline(container.previousSibling);\n    };\n    const isAfterInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset() - 1) === ZWSP$1 || pos.isAtEnd() && isCaretContainerInline(container.nextSibling);\n    };\n    const insertBlock = (blockName, node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const blockNode = doc.createElement(blockName);\n      blockNode.setAttribute('data-mce-caret', before ? 'before' : 'after');\n      blockNode.setAttribute('data-mce-bogus', 'all');\n      blockNode.appendChild(createPaddingBr().dom);\n      const parentNode = node.parentNode;\n      if (!before) {\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(blockNode);\n        }\n      } else {\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node);\n      }\n      return blockNode;\n    };\n    const startsWithCaretContainer$1 = node => isText$9(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer$1 = node => isText$9(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const trimBogusBr = elm => {\n      var _a;\n      const brs = elm.getElementsByTagName('br');\n      const lastBr = brs[brs.length - 1];\n      if (isBogus$2(lastBr)) {\n        (_a = lastBr.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(lastBr);\n      }\n    };\n    const showCaretContainerBlock = caretContainer => {\n      if (caretContainer && caretContainer.hasAttribute('data-mce-caret')) {\n        trimBogusBr(caretContainer);\n        caretContainer.removeAttribute('data-mce-caret');\n        caretContainer.removeAttribute('data-mce-bogus');\n        caretContainer.removeAttribute('style');\n        caretContainer.removeAttribute('data-mce-style');\n        caretContainer.removeAttribute('_moz_abspos');\n        return caretContainer;\n      }\n      return null;\n    };\n    const isRangeInCaretContainerBlock = range => isCaretContainerBlock$1(range.startContainer);\n\n    const isContentEditableTrue$2 = isContentEditableTrue$3;\n    const isContentEditableFalse$a = isContentEditableFalse$b;\n    const isBr$4 = isBr$6;\n    const isText$8 = isText$a;\n    const isInvalidTextElement = matchNodeNames(['script', 'style', 'textarea']);\n    const isAtomicInline = matchNodeNames(['img', 'input', 'textarea', 'hr', 'iframe', 'video', 'audio', 'object', 'embed']);\n    const isTable = matchNodeNames(['table']);\n    const isCaretContainer$1 = isCaretContainer$2;\n    const isCaretCandidate$3 = node => {\n      if (isCaretContainer$1(node)) {\n        return false;\n      }\n      if (isText$8(node)) {\n        return !isInvalidTextElement(node.parentNode);\n      }\n      return isAtomicInline(node) || isBr$4(node) || isTable(node) || isNonUiContentEditableFalse(node);\n    };\n    const isUnselectable = node => isElement$6(node) && node.getAttribute('unselectable') === 'true';\n    const isNonUiContentEditableFalse = node => !isUnselectable(node) && isContentEditableFalse$a(node);\n    const isInEditable = (node, root) => {\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (isNonUiContentEditableFalse(tempNode)) {\n          return false;\n        }\n        if (isContentEditableTrue$2(tempNode)) {\n          return true;\n        }\n      }\n      return true;\n    };\n    const isAtomicContentEditableFalse = node => {\n      if (!isNonUiContentEditableFalse(node)) {\n        return false;\n      }\n      return !foldl(from(node.getElementsByTagName('*')), (result, elm) => {\n        return result || isContentEditableTrue$2(elm);\n      }, false);\n    };\n    const isAtomic$1 = node => isAtomicInline(node) || isAtomicContentEditableFalse(node);\n    const isEditableCaretCandidate$1 = (node, root) => isCaretCandidate$3(node) && isInEditable(node, root);\n\n    const whiteSpaceRegExp = /^[ \\t\\r\\n]*$/;\n    const isWhitespaceText = text => whiteSpaceRegExp.test(text);\n    const isZwsp = text => {\n      for (const c of text) {\n        if (!isZwsp$2(c)) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const isCollapsibleWhitespace$1 = c => ' \\f\\t\\x0B'.indexOf(c) !== -1;\n    const isNewLineChar = c => c === '\\n' || c === '\\r';\n    const isNewline = (text, idx) => idx < text.length && idx >= 0 ? isNewLineChar(text[idx]) : false;\n    const normalize$4 = (text, tabSpaces = 4, isStartOfContent = true, isEndOfContent = true) => {\n      const tabSpace = repeat(' ', tabSpaces);\n      const normalizedText = text.replace(/\\t/g, tabSpace);\n      const result = foldl(normalizedText, (acc, c) => {\n        if (isCollapsibleWhitespace$1(c) || c === nbsp) {\n          if (acc.pcIsSpace || acc.str === '' && isStartOfContent || acc.str.length === normalizedText.length - 1 && isEndOfContent || isNewline(normalizedText, acc.str.length + 1)) {\n            return {\n              pcIsSpace: false,\n              str: acc.str + nbsp\n            };\n          } else {\n            return {\n              pcIsSpace: true,\n              str: acc.str + ' '\n            };\n          }\n        } else {\n          return {\n            pcIsSpace: isNewLineChar(c),\n            str: acc.str + c\n          };\n        }\n      }, {\n        pcIsSpace: false,\n        str: ''\n      });\n      return result.str;\n    };\n\n    const hasWhitespacePreserveParent = (node, rootNode) => {\n      const rootElement = SugarElement.fromDom(rootNode);\n      const startNode = SugarElement.fromDom(node);\n      return ancestor$2(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    const isWhitespace$1 = (node, rootNode) => {\n      return isText$a(node) && isWhitespaceText(node.data) && !hasWhitespacePreserveParent(node, rootNode);\n    };\n    const isNamedAnchor = node => {\n      return isElement$6(node) && node.nodeName === 'A' && !node.hasAttribute('href') && (node.hasAttribute('name') || node.hasAttribute('id'));\n    };\n    const isContent$1 = (node, rootNode) => {\n      return isCaretCandidate$3(node) && !isWhitespace$1(node, rootNode) || isNamedAnchor(node) || isBookmark(node);\n    };\n    const isBookmark = hasAttribute('data-mce-bookmark');\n    const isBogus$1 = hasAttribute('data-mce-bogus');\n    const isBogusAll = hasAttributeValue('data-mce-bogus', 'all');\n    const hasNonEditableParent = node => parentElement(SugarElement.fromDom(node)).exists(parent => !isEditable$2(parent));\n    const isEmptyNode = (targetNode, skipBogus) => {\n      let brCount = 0;\n      if (isContent$1(targetNode, targetNode)) {\n        return false;\n      } else {\n        let node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        const walker = new DomTreeWalker(node, targetNode);\n        do {\n          if (skipBogus) {\n            if (isBogusAll(node)) {\n              node = walker.next(true);\n              continue;\n            }\n            if (isBogus$1(node)) {\n              node = walker.next();\n              continue;\n            }\n          }\n          if (isContentEditableTrue$3(node) && hasNonEditableParent(node)) {\n            return false;\n          }\n          if (isBr$6(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent$1(node, targetNode)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    const isEmpty$2 = (elm, skipBogus = true) => isEmptyNode(elm.dom, skipBogus);\n\n    const isNonHtmlElementRootName = name => name.toLowerCase() === 'svg';\n    const isNonHtmlElementRoot = node => isNonHtmlElementRootName(node.nodeName);\n    const toScopeType = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'svg' ? 'svg' : 'html';\n    const namespaceElements = ['svg'];\n    const createNamespaceTracker = () => {\n      let scopes = [];\n      const peek = () => scopes[scopes.length - 1];\n      const track = node => {\n        if (isNonHtmlElementRoot(node)) {\n          scopes.push(node);\n        }\n        let currentScope = peek();\n        if (currentScope && !currentScope.contains(node)) {\n          scopes.pop();\n          currentScope = peek();\n        }\n        return toScopeType(currentScope);\n      };\n      const current = () => toScopeType(peek());\n      const reset = () => {\n        scopes = [];\n      };\n      return {\n        track,\n        current,\n        reset\n      };\n    };\n\n    const transparentBlockAttr = 'data-mce-block';\n    const elementNames = map => filter$5(keys(map), key => !/[A-Z]/.test(key));\n    const makeSelectorFromSchemaMap = map => map$3(elementNames(map), name => {\n      return \"\".concat(name, \":\") + map$3(namespaceElements, ns => \"not(\".concat(ns, \" \").concat(name, \")\")).join(':');\n    }).join(',');\n    const updateTransparent = (blocksSelector, transparent) => {\n      if (isNonNullable(transparent.querySelector(blocksSelector))) {\n        transparent.setAttribute(transparentBlockAttr, 'true');\n        if (transparent.getAttribute('data-mce-selected') === 'inline-boundary') {\n          transparent.removeAttribute('data-mce-selected');\n        }\n        return true;\n      } else {\n        transparent.removeAttribute(transparentBlockAttr);\n        return false;\n      }\n    };\n    const updateBlockStateOnChildren = (schema, scope) => {\n      const transparentSelector = makeSelectorFromSchemaMap(schema.getTransparentElements());\n      const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n      return filter$5(scope.querySelectorAll(transparentSelector), transparent => updateTransparent(blocksSelector, transparent));\n    };\n    const trimEdge = (el, leftSide) => {\n      var _a;\n      const childPropertyName = leftSide ? 'lastChild' : 'firstChild';\n      for (let child = el[childPropertyName]; child; child = child[childPropertyName]) {\n        if (isEmpty$2(SugarElement.fromDom(child))) {\n          (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child);\n          return;\n        }\n      }\n    };\n    const split$2 = (parentElm, splitElm) => {\n      const range = document.createRange();\n      const parentNode = parentElm.parentNode;\n      if (parentNode) {\n        range.setStartBefore(parentElm);\n        range.setEndBefore(splitElm);\n        const beforeFragment = range.extractContents();\n        trimEdge(beforeFragment, true);\n        range.setStartAfter(splitElm);\n        range.setEndAfter(parentElm);\n        const afterFragment = range.extractContents();\n        trimEdge(afterFragment, false);\n        if (!isEmpty$2(SugarElement.fromDom(beforeFragment))) {\n          parentNode.insertBefore(beforeFragment, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(splitElm))) {\n          parentNode.insertBefore(splitElm, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(afterFragment))) {\n          parentNode.insertBefore(afterFragment, parentElm);\n        }\n        parentNode.removeChild(parentElm);\n      }\n    };\n    const splitInvalidChildren = (schema, scope, transparentBlocks) => {\n      const blocksElements = schema.getBlockElements();\n      const rootNode = SugarElement.fromDom(scope);\n      const isBlock = el => name(el) in blocksElements;\n      const isRoot = el => eq(el, rootNode);\n      each$e(fromDom$1(transparentBlocks), transparentBlock => {\n        ancestor$4(transparentBlock, isBlock, isRoot).each(parentBlock => {\n          const invalidChildren = children(transparentBlock, el => isBlock(el) && !schema.isValidChild(name(parentBlock), name(el)));\n          if (invalidChildren.length > 0) {\n            const stateScope = parentElement(parentBlock);\n            each$e(invalidChildren, child => {\n              ancestor$4(child, isBlock, isRoot).each(parentBlock => {\n                split$2(parentBlock.dom, child.dom);\n              });\n            });\n            stateScope.each(scope => updateBlockStateOnChildren(schema, scope.dom));\n          }\n        });\n      });\n    };\n    const unwrapInvalidChildren = (schema, scope, transparentBlocks) => {\n      each$e([...transparentBlocks, ...(isTransparentBlock(schema, scope) ? [scope] : [])], block => each$e(descendants(SugarElement.fromDom(block), block.nodeName.toLowerCase()), elm => {\n        if (isTransparentInline(schema, elm.dom)) {\n          unwrap(elm);\n        }\n      }));\n    };\n    const updateChildren = (schema, scope) => {\n      const transparentBlocks = updateBlockStateOnChildren(schema, scope);\n      splitInvalidChildren(schema, scope, transparentBlocks);\n      unwrapInvalidChildren(schema, scope, transparentBlocks);\n    };\n    const updateElement = (schema, target) => {\n      if (isTransparentElement(schema, target)) {\n        const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n        updateTransparent(blocksSelector, target);\n      }\n    };\n    const updateCaret = (schema, root, caretParent) => {\n      const isRoot = el => eq(el, SugarElement.fromDom(root));\n      const parents = parents$1(SugarElement.fromDom(caretParent), isRoot);\n      get$b(parents, parents.length - 2).filter(isElement$7).fold(() => updateChildren(schema, root), scope => updateChildren(schema, scope.dom));\n    };\n    const hasBlockAttr = el => el.hasAttribute(transparentBlockAttr);\n    const isTransparentElementName = (schema, name) => has$2(schema.getTransparentElements(), name);\n    const isTransparentElement = (schema, node) => isElement$6(node) && isTransparentElementName(schema, node.nodeName);\n    const isTransparentBlock = (schema, node) => isTransparentElement(schema, node) && hasBlockAttr(node);\n    const isTransparentInline = (schema, node) => isTransparentElement(schema, node) && !hasBlockAttr(node);\n    const isTransparentAstBlock = (schema, node) => node.type === 1 && isTransparentElementName(schema, node.name) && isString(node.attr(transparentBlockAttr));\n\n    const browser$2 = detect$2().browser;\n    const firstElement = nodes => find$2(nodes, isElement$7);\n    const getTableCaptionDeltaY = elm => {\n      if (browser$2.isFirefox() && name(elm) === 'table') {\n        return firstElement(children$1(elm)).filter(elm => {\n          return name(elm) === 'caption';\n        }).bind(caption => {\n          return firstElement(nextSiblings(caption)).map(body => {\n            const bodyTop = body.dom.offsetTop;\n            const captionTop = caption.dom.offsetTop;\n            const captionHeight = caption.dom.offsetHeight;\n            return bodyTop <= captionTop ? -captionHeight : 0;\n          });\n        }).getOr(0);\n      } else {\n        return 0;\n      }\n    };\n    const hasChild = (elm, child) => elm.children && contains$2(elm.children, child);\n    const getPos = (body, elm, rootElm) => {\n      let x = 0,\n        y = 0;\n      const doc = body.ownerDocument;\n      rootElm = rootElm ? rootElm : body;\n      if (elm) {\n        if (rootElm === body && elm.getBoundingClientRect && get$7(SugarElement.fromDom(body), 'position') === 'static') {\n          const pos = elm.getBoundingClientRect();\n          x = pos.left + (doc.documentElement.scrollLeft || body.scrollLeft) - doc.documentElement.clientLeft;\n          y = pos.top + (doc.documentElement.scrollTop || body.scrollTop) - doc.documentElement.clientTop;\n          return {\n            x,\n            y\n          };\n        }\n        let offsetParent = elm;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          const castOffsetParent = offsetParent;\n          x += castOffsetParent.offsetLeft || 0;\n          y += castOffsetParent.offsetTop || 0;\n          offsetParent = castOffsetParent.offsetParent;\n        }\n        offsetParent = elm.parentNode;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          x -= offsetParent.scrollLeft || 0;\n          y -= offsetParent.scrollTop || 0;\n          offsetParent = offsetParent.parentNode;\n        }\n        y += getTableCaptionDeltaY(SugarElement.fromDom(elm));\n      }\n      return {\n        x,\n        y\n      };\n    };\n\n    const StyleSheetLoader = (documentOrShadowRoot, settings = {}) => {\n      let idCount = 0;\n      const loadedStates = {};\n      const edos = SugarElement.fromDom(documentOrShadowRoot);\n      const doc = documentOrOwner(edos);\n      const _setReferrerPolicy = referrerPolicy => {\n        settings.referrerPolicy = referrerPolicy;\n      };\n      const _setContentCssCors = contentCssCors => {\n        settings.contentCssCors = contentCssCors;\n      };\n      const addStyle = element => {\n        append$1(getStyleContainer(edos), element);\n      };\n      const removeStyle = id => {\n        const styleContainer = getStyleContainer(edos);\n        descendant$1(styleContainer, '#' + id).each(remove$5);\n      };\n      const getOrCreateState = url => get$a(loadedStates, url).getOrThunk(() => ({\n        id: 'mce-u' + idCount++,\n        passed: [],\n        failed: [],\n        count: 0\n      }));\n      const load = url => new Promise((success, failure) => {\n        let link;\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        const state = getOrCreateState(urlWithSuffix);\n        loadedStates[urlWithSuffix] = state;\n        state.count++;\n        const resolve = (callbacks, status) => {\n          each$e(callbacks, call);\n          state.status = status;\n          state.passed = [];\n          state.failed = [];\n          if (link) {\n            link.onload = null;\n            link.onerror = null;\n            link = null;\n          }\n        };\n        const passed = () => resolve(state.passed, 2);\n        const failed = () => resolve(state.failed, 3);\n        if (success) {\n          state.passed.push(success);\n        }\n        if (failure) {\n          state.failed.push(failure);\n        }\n        if (state.status === 1) {\n          return;\n        }\n        if (state.status === 2) {\n          passed();\n          return;\n        }\n        if (state.status === 3) {\n          failed();\n          return;\n        }\n        state.status = 1;\n        const linkElem = SugarElement.fromTag('link', doc.dom);\n        setAll$1(linkElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        if (settings.contentCssCors) {\n          set$3(linkElem, 'crossOrigin', 'anonymous');\n        }\n        if (settings.referrerPolicy) {\n          set$3(linkElem, 'referrerpolicy', settings.referrerPolicy);\n        }\n        link = linkElem.dom;\n        link.onload = passed;\n        link.onerror = failed;\n        addStyle(linkElem);\n        set$3(linkElem, 'href', urlWithSuffix);\n      });\n      const loadRawCss = (key, css) => {\n        const state = getOrCreateState(key);\n        loadedStates[key] = state;\n        state.count++;\n        const styleElem = SugarElement.fromTag('style', doc.dom);\n        setAll$1(styleElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        styleElem.dom.innerHTML = css;\n        addStyle(styleElem);\n      };\n      const loadAll = urls => {\n        const loadedUrls = Promise.allSettled(map$3(urls, url => load(url).then(constant(url))));\n        return loadedUrls.then(results => {\n          const parts = partition$2(results, r => r.status === 'fulfilled');\n          if (parts.fail.length > 0) {\n            return Promise.reject(map$3(parts.fail, result => result.reason));\n          } else {\n            return map$3(parts.pass, result => result.value);\n          }\n        });\n      };\n      const unload = url => {\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        get$a(loadedStates, urlWithSuffix).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[urlWithSuffix];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadRawCss = key => {\n        get$a(loadedStates, key).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[key];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadAll = urls => {\n        each$e(urls, url => {\n          unload(url);\n        });\n      };\n      return {\n        load,\n        loadRawCss,\n        loadAll,\n        unload,\n        unloadRawCss,\n        unloadAll,\n        _setReferrerPolicy,\n        _setContentCssCors\n      };\n    };\n\n    const create$d = () => {\n      const map = new WeakMap();\n      const forElement = (referenceElement, settings) => {\n        const root = getRootNode(referenceElement);\n        const rootDom = root.dom;\n        return Optional.from(map.get(rootDom)).getOrThunk(() => {\n          const sl = StyleSheetLoader(rootDom, settings);\n          map.set(rootDom, sl);\n          return sl;\n        });\n      };\n      return {\n        forElement\n      };\n    };\n    const instance = create$d();\n\n    const isSpan = node => node.nodeName.toLowerCase() === 'span';\n    const isInlineContent = (node, root, schema) => isNonNullable(node) && (isContent$1(node, root) || schema.isInline(node.nodeName.toLowerCase()));\n    const surroundedByInlineContent = (node, root, schema) => {\n      const prev = new DomTreeWalker(node, root).prev(false);\n      const next = new DomTreeWalker(node, root).next(false);\n      const prevIsInline = isUndefined(prev) || isInlineContent(prev, root, schema);\n      const nextIsInline = isUndefined(next) || isInlineContent(next, root, schema);\n      return prevIsInline && nextIsInline;\n    };\n    const isBookmarkNode$2 = node => isSpan(node) && node.getAttribute('data-mce-type') === 'bookmark';\n    const isKeepTextNode = (node, root, schema) => isText$a(node) && node.data.length > 0 && surroundedByInlineContent(node, root, schema);\n    const isKeepElement = node => isElement$6(node) ? node.childNodes.length > 0 : false;\n    const isDocument = node => isDocumentFragment(node) || isDocument$1(node);\n    const trimNode = (dom, node, schema, root) => {\n      var _a;\n      const rootNode = root || node;\n      if (isElement$6(node) && isBookmarkNode$2(node)) {\n        return node;\n      }\n      const children = node.childNodes;\n      for (let i = children.length - 1; i >= 0; i--) {\n        trimNode(dom, children[i], schema, rootNode);\n      }\n      if (isElement$6(node)) {\n        const currentChildren = node.childNodes;\n        if (currentChildren.length === 1 && isBookmarkNode$2(currentChildren[0])) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(currentChildren[0], node);\n        }\n      }\n      if (!isDocument(node) && !isContent$1(node, rootNode) && !isKeepElement(node) && !isKeepTextNode(node, rootNode, schema)) {\n        dom.remove(node);\n      }\n      return node;\n    };\n\n    const makeMap$3 = Tools.makeMap;\n    const attrsCharsRegExp = /[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const textCharsRegExp = /[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const rawCharsRegExp = /[<>&\\\"\\']/g;\n    const entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi;\n    const asciiMap = {\n      128: '\\u20AC',\n      130: '\\u201A',\n      131: '\\u0192',\n      132: '\\u201E',\n      133: '\\u2026',\n      134: '\\u2020',\n      135: '\\u2021',\n      136: '\\u02c6',\n      137: '\\u2030',\n      138: '\\u0160',\n      139: '\\u2039',\n      140: '\\u0152',\n      142: '\\u017d',\n      145: '\\u2018',\n      146: '\\u2019',\n      147: '\\u201C',\n      148: '\\u201D',\n      149: '\\u2022',\n      150: '\\u2013',\n      151: '\\u2014',\n      152: '\\u02DC',\n      153: '\\u2122',\n      154: '\\u0161',\n      155: '\\u203A',\n      156: '\\u0153',\n      158: '\\u017e',\n      159: '\\u0178'\n    };\n    const baseEntities = {\n      '\"': '&quot;',\n      '\\'': '&#39;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '&': '&amp;',\n      '`': '&#96;'\n    };\n    const reverseEntities = {\n      '&lt;': '<',\n      '&gt;': '>',\n      '&amp;': '&',\n      '&quot;': '\"',\n      '&apos;': \"'\"\n    };\n    const nativeDecode = text => {\n      const elm = SugarElement.fromTag('div').dom;\n      elm.innerHTML = text;\n      return elm.textContent || elm.innerText || text;\n    };\n    const buildEntitiesLookup = (items, radix) => {\n      const lookup = {};\n      if (items) {\n        const itemList = items.split(',');\n        radix = radix || 10;\n        for (let i = 0; i < itemList.length; i += 2) {\n          const chr = String.fromCharCode(parseInt(itemList[i], radix));\n          if (!baseEntities[chr]) {\n            const entity = '&' + itemList[i + 1] + ';';\n            lookup[chr] = entity;\n            lookup[entity] = chr;\n          }\n        }\n        return lookup;\n      } else {\n        return undefined;\n      }\n    };\n    const namedEntities = buildEntitiesLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n    const encodeRaw = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeAllRaw = text => ('' + text).replace(rawCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      if (chr.length > 1) {\n        return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n      }\n      return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';';\n    });\n    const encodeNamed = (text, attr, entities) => {\n      const resolveEntities = entities || namedEntities;\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        return baseEntities[chr] || resolveEntities[chr] || chr;\n      });\n    };\n    const getEncodeFunc = (name, entities) => {\n      const entitiesMap = buildEntitiesLookup(entities) || namedEntities;\n      const encodeNamedAndNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        if (baseEntities[chr] !== undefined) {\n          return baseEntities[chr];\n        }\n        if (entitiesMap[chr] !== undefined) {\n          return entitiesMap[chr];\n        }\n        if (chr.length > 1) {\n          return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n        }\n        return '&#' + chr.charCodeAt(0) + ';';\n      });\n      const encodeCustomNamed = (text, attr) => {\n        return encodeNamed(text, attr, entitiesMap);\n      };\n      const nameMap = makeMap$3(name.replace(/\\+/g, ','));\n      if (nameMap.named && nameMap.numeric) {\n        return encodeNamedAndNumeric;\n      }\n      if (nameMap.named) {\n        if (entities) {\n          return encodeCustomNamed;\n        }\n        return encodeNamed;\n      }\n      if (nameMap.numeric) {\n        return encodeNumeric;\n      }\n      return encodeRaw;\n    };\n    const decode = text => text.replace(entityRegExp, (all, numeric) => {\n      if (numeric) {\n        if (numeric.charAt(0).toLowerCase() === 'x') {\n          numeric = parseInt(numeric.substr(1), 16);\n        } else {\n          numeric = parseInt(numeric, 10);\n        }\n        if (numeric > 65535) {\n          numeric -= 65536;\n          return String.fromCharCode(55296 + (numeric >> 10), 56320 + (numeric & 1023));\n        }\n        return asciiMap[numeric] || String.fromCharCode(numeric);\n      }\n      return reverseEntities[all] || namedEntities[all] || nativeDecode(all);\n    });\n    const Entities = {\n      encodeRaw,\n      encodeAllRaw,\n      encodeNumeric,\n      encodeNamed,\n      getEncodeFunc,\n      decode\n    };\n\n    const split$1 = (items, delim) => {\n      items = Tools.trim(items);\n      return items ? items.split(delim || ' ') : [];\n    };\n    const patternToRegExp = str => new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');\n\n    const parseCustomElementsRules = value => {\n      const customElementRegExp = /^(~)?(.+)$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = customElementRegExp.exec(rule);\n        if (matches) {\n          const inline = matches[1] === '~';\n          const cloneName = inline ? 'span' : 'div';\n          const name = matches[2];\n          return [{\n            inline,\n            cloneName,\n            name\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const getElementSetsAsStrings = type => {\n      let globalAttributes, blockContent;\n      let phrasingContent;\n      globalAttributes = 'id accesskey class dir lang style tabindex title role';\n      blockContent = 'address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul';\n      phrasingContent = 'a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd ' + 'label map noscript object q s samp script select small span strong sub sup ' + 'textarea u var #text #comment';\n      if (type !== 'html4') {\n        const transparentContent = 'a ins del canvas map';\n        globalAttributes += ' contenteditable contextmenu draggable dropzone ' + 'hidden spellcheck translate';\n        blockContent += ' article aside details dialog figure main header footer hgroup section nav ' + transparentContent;\n        phrasingContent += ' audio canvas command datalist mark meter output picture ' + 'progress time wbr video ruby bdi keygen svg';\n      }\n      if (type !== 'html5-strict') {\n        globalAttributes += ' xml:lang';\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        phrasingContent = [phrasingContent, html4PhrasingContent].join(' ');\n        const html4BlockContent = 'center dir isindex noframes';\n        blockContent = [blockContent, html4BlockContent].join(' ');\n      }\n      const flowContent = [blockContent, phrasingContent].join(' ');\n      return {\n        globalAttributes,\n        blockContent,\n        phrasingContent,\n        flowContent\n      };\n    };\n\n    const makeSchema = type => {\n      const {\n        globalAttributes,\n        phrasingContent,\n        flowContent\n      } = getElementSetsAsStrings(type);\n      const schema = {};\n      const addElement = (name, attributes, children) => {\n        schema[name] = {\n          attributes: mapToObject(attributes, constant({})),\n          attributesOrder: attributes,\n          children: mapToObject(children, constant({}))\n        };\n      };\n      const add = (name, attributes = '', children = '') => {\n        const childNames = split$1(children);\n        const names = split$1(name);\n        let ni = names.length;\n        const allAttributes = split$1([globalAttributes, attributes].join(' '));\n        while (ni--) {\n          addElement(names[ni], allAttributes.slice(), childNames);\n        }\n      };\n      const addAttrs = (name, attributes) => {\n        const names = split$1(name);\n        const attrs = split$1(attributes);\n        let ni = names.length;\n        while (ni--) {\n          const schemaItem = schema[names[ni]];\n          for (let i = 0, l = attrs.length; i < l; i++) {\n            schemaItem.attributes[attrs[i]] = {};\n            schemaItem.attributesOrder.push(attrs[i]);\n          }\n        }\n      };\n      if (type !== 'html5-strict') {\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        each$e(split$1(html4PhrasingContent), name => {\n          add(name, '', phrasingContent);\n        });\n        const html4BlockContent = 'center dir isindex noframes';\n        each$e(split$1(html4BlockContent), name => {\n          add(name, '', flowContent);\n        });\n      }\n      add('html', 'manifest', 'head body');\n      add('head', '', 'base command link meta noscript script style title');\n      add('title hr noscript br');\n      add('base', 'href target');\n      add('link', 'href rel media hreflang type sizes hreflang');\n      add('meta', 'name http-equiv content charset');\n      add('style', 'media type scoped');\n      add('script', 'src async defer type charset');\n      add('body', 'onafterprint onbeforeprint onbeforeunload onblur onerror onfocus ' + 'onhashchange onload onmessage onoffline ononline onpagehide onpageshow ' + 'onpopstate onresize onscroll onstorage onunload', flowContent);\n      add('dd div', '', flowContent);\n      add('address dt caption', '', type === 'html4' ? phrasingContent : flowContent);\n      add('h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn', '', phrasingContent);\n      add('blockquote', 'cite', flowContent);\n      add('ol', 'reversed start type', 'li');\n      add('ul', '', 'li');\n      add('li', 'value', flowContent);\n      add('dl', '', 'dt dd');\n      add('a', 'href target rel media hreflang type', type === 'html4' ? phrasingContent : flowContent);\n      add('q', 'cite', phrasingContent);\n      add('ins del', 'cite datetime', flowContent);\n      add('img', 'src sizes srcset alt usemap ismap width height');\n      add('iframe', 'src name width height', flowContent);\n      add('embed', 'src type width height');\n      add('object', 'data type typemustmatch name usemap form width height', [flowContent, 'param'].join(' '));\n      add('param', 'name value');\n      add('map', 'name', [flowContent, 'area'].join(' '));\n      add('area', 'alt coords shape href target rel media hreflang type');\n      add('table', 'border', 'caption colgroup thead tfoot tbody tr' + (type === 'html4' ? ' col' : ''));\n      add('colgroup', 'span', 'col');\n      add('col', 'span');\n      add('tbody thead tfoot', '', 'tr');\n      add('tr', '', 'td th');\n      add('td', 'colspan rowspan headers', flowContent);\n      add('th', 'colspan rowspan headers scope abbr', flowContent);\n      add('form', 'accept-charset action autocomplete enctype method name novalidate target', flowContent);\n      add('fieldset', 'disabled form name', [flowContent, 'legend'].join(' '));\n      add('label', 'form for', phrasingContent);\n      add('input', 'accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate ' + 'formtarget height list max maxlength min multiple name pattern readonly required size src step type value width');\n      add('button', 'disabled form formaction formenctype formmethod formnovalidate formtarget name type value', type === 'html4' ? flowContent : phrasingContent);\n      add('select', 'disabled form multiple name required size', 'option optgroup');\n      add('optgroup', 'disabled label', 'option');\n      add('option', 'disabled label selected value');\n      add('textarea', 'cols dirname disabled form maxlength name readonly required rows wrap');\n      add('menu', 'type label', [flowContent, 'li'].join(' '));\n      add('noscript', '', flowContent);\n      if (type !== 'html4') {\n        add('wbr');\n        add('ruby', '', [phrasingContent, 'rt rp'].join(' '));\n        add('figcaption', '', flowContent);\n        add('mark rt rp bdi', '', phrasingContent);\n        add('summary', '', [phrasingContent, 'h1 h2 h3 h4 h5 h6'].join(' '));\n        add('canvas', 'width height', flowContent);\n        add('video', 'src crossorigin poster preload autoplay mediagroup loop ' + 'muted controls width height buffered', [flowContent, 'track source'].join(' '));\n        add('audio', 'src crossorigin preload autoplay mediagroup loop muted controls ' + 'buffered volume', [flowContent, 'track source'].join(' '));\n        add('picture', '', 'img source');\n        add('source', 'src srcset type media sizes');\n        add('track', 'kind src srclang label default');\n        add('datalist', '', [phrasingContent, 'option'].join(' '));\n        add('article section nav aside main header footer', '', flowContent);\n        add('hgroup', '', 'h1 h2 h3 h4 h5 h6');\n        add('figure', '', [flowContent, 'figcaption'].join(' '));\n        add('time', 'datetime', phrasingContent);\n        add('dialog', 'open', flowContent);\n        add('command', 'type label icon disabled checked radiogroup command');\n        add('output', 'for form name', phrasingContent);\n        add('progress', 'value max', phrasingContent);\n        add('meter', 'value min max low high optimum', phrasingContent);\n        add('details', 'open', [flowContent, 'summary'].join(' '));\n        add('keygen', 'autofocus challenge disabled form keytype name');\n        addElement('svg', 'id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform'.split(' '), []);\n      }\n      if (type !== 'html5-strict') {\n        addAttrs('script', 'language xml:space');\n        addAttrs('style', 'xml:space');\n        addAttrs('object', 'declare classid code codebase codetype archive standby align border hspace vspace');\n        addAttrs('embed', 'align name hspace vspace');\n        addAttrs('param', 'valuetype type');\n        addAttrs('a', 'charset name rev shape coords');\n        addAttrs('br', 'clear');\n        addAttrs('applet', 'codebase archive code object alt name width height align hspace vspace');\n        addAttrs('img', 'name longdesc align border hspace vspace');\n        addAttrs('iframe', 'longdesc frameborder marginwidth marginheight scrolling align');\n        addAttrs('font basefont', 'size color face');\n        addAttrs('input', 'usemap align');\n        addAttrs('select');\n        addAttrs('textarea');\n        addAttrs('h1 h2 h3 h4 h5 h6 div p legend caption', 'align');\n        addAttrs('ul', 'type compact');\n        addAttrs('li', 'type');\n        addAttrs('ol dl menu dir', 'compact');\n        addAttrs('pre', 'width xml:space');\n        addAttrs('hr', 'align noshade size width');\n        addAttrs('isindex', 'prompt');\n        addAttrs('table', 'summary width frame rules cellspacing cellpadding align bgcolor');\n        addAttrs('col', 'width align char charoff valign');\n        addAttrs('colgroup', 'width align char charoff valign');\n        addAttrs('thead', 'align char charoff valign');\n        addAttrs('tr', 'align char charoff valign bgcolor');\n        addAttrs('th', 'axis align char charoff valign nowrap bgcolor width height');\n        addAttrs('form', 'accept');\n        addAttrs('td', 'abbr axis scope align char charoff valign nowrap bgcolor width height');\n        addAttrs('tfoot', 'align char charoff valign');\n        addAttrs('tbody', 'align char charoff valign');\n        addAttrs('area', 'nohref');\n        addAttrs('body', 'background bgcolor text link vlink alink');\n      }\n      if (type !== 'html4') {\n        addAttrs('input button select textarea', 'autofocus');\n        addAttrs('input textarea', 'placeholder');\n        addAttrs('a', 'download');\n        addAttrs('link script img', 'crossorigin');\n        addAttrs('img', 'loading');\n        addAttrs('iframe', 'sandbox seamless allow allowfullscreen loading');\n      }\n      if (type !== 'html4') {\n        each$e([schema.video, schema.audio], item => {\n          delete item.children.audio;\n          delete item.children.video;\n        });\n      }\n      each$e(split$1('a form meter progress dfn'), name => {\n        if (schema[name]) {\n          delete schema[name].children[name];\n        }\n      });\n      delete schema.caption.children.table;\n      delete schema.script;\n      return schema;\n    };\n\n    const prefixToOperation = prefix => prefix === '-' ? 'remove' : 'add';\n    const parseValidChildrenRules = value => {\n      const childRuleRegExp = /^([+\\-]?)([A-Za-z0-9_\\-.\\u00b7\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u037d\\u037f-\\u1fff\\u200c-\\u200d\\u203f-\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]+)\\[([^\\]]+)]$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = childRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const operation = prefix ? prefixToOperation(prefix) : 'replace';\n          const name = matches[2];\n          const validChildren = split$1(matches[3], '|');\n          return [{\n            operation,\n            name,\n            validChildren\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const parseValidElementsAttrDataIntoElement = (attrData, targetElement) => {\n      const attrRuleRegExp = /^([!\\-])?(\\w+[\\\\:]:\\w+|[^=~<]+)?(?:([=~<])(.*))?$/;\n      const hasPatternsRegExp = /[*?+]/;\n      const {\n        attributes,\n        attributesOrder\n      } = targetElement;\n      return each$e(split$1(attrData, '|'), rule => {\n        const matches = attrRuleRegExp.exec(rule);\n        if (matches) {\n          const attr = {};\n          const attrType = matches[1];\n          const attrName = matches[2].replace(/[\\\\:]:/g, ':');\n          const attrPrefix = matches[3];\n          const value = matches[4];\n          if (attrType === '!') {\n            targetElement.attributesRequired = targetElement.attributesRequired || [];\n            targetElement.attributesRequired.push(attrName);\n            attr.required = true;\n          }\n          if (attrType === '-') {\n            delete attributes[attrName];\n            attributesOrder.splice(Tools.inArray(attributesOrder, attrName), 1);\n            return;\n          }\n          if (attrPrefix) {\n            if (attrPrefix === '=') {\n              targetElement.attributesDefault = targetElement.attributesDefault || [];\n              targetElement.attributesDefault.push({\n                name: attrName,\n                value\n              });\n              attr.defaultValue = value;\n            } else if (attrPrefix === '~') {\n              targetElement.attributesForced = targetElement.attributesForced || [];\n              targetElement.attributesForced.push({\n                name: attrName,\n                value\n              });\n              attr.forcedValue = value;\n            } else if (attrPrefix === '<') {\n              attr.validValues = Tools.makeMap(value, '?');\n            }\n          }\n          if (hasPatternsRegExp.test(attrName)) {\n            const attrPattern = attr;\n            targetElement.attributePatterns = targetElement.attributePatterns || [];\n            attrPattern.pattern = patternToRegExp(attrName);\n            targetElement.attributePatterns.push(attrPattern);\n          } else {\n            if (!attributes[attrName]) {\n              attributesOrder.push(attrName);\n            }\n            attributes[attrName] = attr;\n          }\n        }\n      });\n    };\n    const cloneAttributesInto = (from, to) => {\n      each$d(from.attributes, (value, key) => {\n        to.attributes[key] = value;\n      });\n      to.attributesOrder.push(...from.attributesOrder);\n    };\n    const parseValidElementsRules = (globalElement, validElements) => {\n      const elementRuleRegExp = /^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)])?$/;\n      return bind$3(split$1(validElements, ','), rule => {\n        const matches = elementRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const elementName = matches[2];\n          const outputName = matches[3];\n          const attrsPrefix = matches[4];\n          const attrData = matches[5];\n          const element = {\n            attributes: {},\n            attributesOrder: []\n          };\n          globalElement.each(el => cloneAttributesInto(el, element));\n          if (prefix === '#') {\n            element.paddEmpty = true;\n          } else if (prefix === '-') {\n            element.removeEmpty = true;\n          }\n          if (attrsPrefix === '!') {\n            element.removeEmptyAttrs = true;\n          }\n          if (attrData) {\n            parseValidElementsAttrDataIntoElement(attrData, element);\n          }\n          if (outputName) {\n            element.outputName = elementName;\n          }\n          if (elementName === '@') {\n            if (globalElement.isNone()) {\n              globalElement = Optional.some(element);\n            } else {\n              return [];\n            }\n          }\n          return [outputName ? {\n            name: elementName,\n            element,\n            aliasName: outputName\n          } : {\n            name: elementName,\n            element\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const mapCache = {};\n    const makeMap$2 = Tools.makeMap,\n      each$b = Tools.each,\n      extend$2 = Tools.extend,\n      explode$2 = Tools.explode;\n    const createMap = (defaultValue, extendWith = {}) => {\n      const value = makeMap$2(defaultValue, ' ', makeMap$2(defaultValue.toUpperCase(), ' '));\n      return extend$2(value, extendWith);\n    };\n    const getTextRootBlockElements = schema => createMap('td th li dt dd figcaption caption details summary', schema.getTextBlockElements());\n    const compileElementMap = (value, mode) => {\n      if (value) {\n        const styles = {};\n        if (isString(value)) {\n          value = {\n            '*': value\n          };\n        }\n        each$b(value, (value, key) => {\n          styles[key] = styles[key.toUpperCase()] = mode === 'map' ? makeMap$2(value, /[, ]/) : explode$2(value, /[, ]/);\n        });\n        return styles;\n      } else {\n        return undefined;\n      }\n    };\n    const Schema = (settings = {}) => {\n      var _a;\n      const elements = {};\n      const children = {};\n      let patternElements = [];\n      const customElementsMap = {};\n      const specialElements = {};\n      const createLookupTable = (option, defaultValue, extendWith) => {\n        const value = settings[option];\n        if (!value) {\n          let newValue = mapCache[option];\n          if (!newValue) {\n            newValue = createMap(defaultValue, extendWith);\n            mapCache[option] = newValue;\n          }\n          return newValue;\n        } else {\n          return makeMap$2(value, /[, ]/, makeMap$2(value.toUpperCase(), /[, ]/));\n        }\n      };\n      const schemaType = (_a = settings.schema) !== null && _a !== void 0 ? _a : 'html5';\n      const schemaItems = makeSchema(schemaType);\n      if (settings.verify_html === false) {\n        settings.valid_elements = '*[*]';\n      }\n      const validStyles = compileElementMap(settings.valid_styles);\n      const invalidStyles = compileElementMap(settings.invalid_styles, 'map');\n      const validClasses = compileElementMap(settings.valid_classes, 'map');\n      const whitespaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea video audio iframe object code');\n      const selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');\n      const voidElementsMap = createLookupTable('void_elements', 'area base basefont br col frame hr img input isindex link ' + 'meta param embed source wbr track');\n      const boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize ' + 'noshade nowrap readonly selected autoplay loop controls allowfullscreen');\n      const nonEmptyOrMoveCaretBeforeOnEnter = 'td th iframe video audio object script code';\n      const nonEmptyElementsMap = createLookupTable('non_empty_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' pre svg', voidElementsMap);\n      const moveCaretBeforeOnEnterElementsMap = createLookupTable('move_caret_before_on_enter_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' table', voidElementsMap);\n      const headings = 'h1 h2 h3 h4 h5 h6';\n      const textBlockElementsMap = createLookupTable('text_block_elements', headings + ' p div address pre form ' + 'blockquote center dir fieldset header footer article section hgroup aside main nav figure');\n      const blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' + 'th tr td li ol ul caption dl dt dd noscript menu isindex option ' + 'datalist select optgroup figcaption details summary html body multicol listing', textBlockElementsMap);\n      const textInlineElementsMap = createLookupTable('text_inline_elements', 'span strong b em i font s strike u var cite ' + 'dfn code mark q sup sub samp');\n      const transparentElementsMap = createLookupTable('transparent_elements', 'a ins del canvas map');\n      const wrapBlockElementsMap = createLookupTable('wrap_block_elements', 'pre ' + headings);\n      each$b('script noscript iframe noframes noembed title style textarea xmp plaintext'.split(' '), name => {\n        specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi');\n      });\n      const addValidElements = validElements => {\n        const globalElement = Optional.from(elements['@']);\n        const hasPatternsRegExp = /[*?+]/;\n        each$e(parseValidElementsRules(globalElement, validElements !== null && validElements !== void 0 ? validElements : ''), ({\n          name,\n          element,\n          aliasName\n        }) => {\n          if (aliasName) {\n            elements[aliasName] = element;\n          }\n          if (hasPatternsRegExp.test(name)) {\n            const patternElement = element;\n            patternElement.pattern = patternToRegExp(name);\n            patternElements.push(patternElement);\n          } else {\n            elements[name] = element;\n          }\n        });\n      };\n      const setValidElements = validElements => {\n        patternElements = [];\n        each$e(keys(elements), name => {\n          delete elements[name];\n        });\n        addValidElements(validElements);\n      };\n      const addCustomElements = customElements => {\n        delete mapCache.text_block_elements;\n        delete mapCache.block_elements;\n        each$e(parseCustomElementsRules(customElements !== null && customElements !== void 0 ? customElements : ''), ({\n          inline,\n          name,\n          cloneName\n        }) => {\n          children[name] = children[cloneName];\n          customElementsMap[name] = cloneName;\n          nonEmptyElementsMap[name.toUpperCase()] = {};\n          nonEmptyElementsMap[name] = {};\n          if (!inline) {\n            blockElementsMap[name.toUpperCase()] = {};\n            blockElementsMap[name] = {};\n          }\n          if (!elements[name]) {\n            let customRule = elements[cloneName];\n            customRule = extend$2({}, customRule);\n            delete customRule.removeEmptyAttrs;\n            delete customRule.removeEmpty;\n            elements[name] = customRule;\n          }\n          each$d(children, (element, elmName) => {\n            if (element[cloneName]) {\n              children[elmName] = element = extend$2({}, children[elmName]);\n              element[name] = element[cloneName];\n            }\n          });\n        });\n      };\n      const addValidChildren = validChildren => {\n        each$e(parseValidChildrenRules(validChildren !== null && validChildren !== void 0 ? validChildren : ''), ({\n          operation,\n          name,\n          validChildren\n        }) => {\n          const parent = operation === 'replace' ? {\n            '#comment': {}\n          } : children[name];\n          each$e(validChildren, child => {\n            if (operation === 'remove') {\n              delete parent[child];\n            } else {\n              parent[child] = {};\n            }\n          });\n          children[name] = parent;\n        });\n      };\n      const getElementRule = name => {\n        const element = elements[name];\n        if (element) {\n          return element;\n        }\n        let i = patternElements.length;\n        while (i--) {\n          const patternElement = patternElements[i];\n          if (patternElement.pattern.test(name)) {\n            return patternElement;\n          }\n        }\n        return undefined;\n      };\n      if (!settings.valid_elements) {\n        each$b(schemaItems, (element, name) => {\n          elements[name] = {\n            attributes: element.attributes,\n            attributesOrder: element.attributesOrder\n          };\n          children[name] = element.children;\n        });\n        each$b(split$1('strong/b em/i'), item => {\n          const items = split$1(item, '/');\n          elements[items[1]].outputName = items[0];\n        });\n        each$b(textInlineElementsMap, (_val, name) => {\n          if (elements[name]) {\n            if (settings.padd_empty_block_inline_children) {\n              elements[name].paddInEmptyBlock = true;\n            }\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('ol ul blockquote a table tbody'), name => {\n          if (elements[name]) {\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary'), name => {\n          if (elements[name]) {\n            elements[name].paddEmpty = true;\n          }\n        });\n        each$b(split$1('span'), name => {\n          elements[name].removeEmptyAttrs = true;\n        });\n      } else {\n        setValidElements(settings.valid_elements);\n        each$b(schemaItems, (element, name) => {\n          children[name] = element.children;\n        });\n      }\n      delete elements.svg;\n      addCustomElements(settings.custom_elements);\n      addValidChildren(settings.valid_children);\n      addValidElements(settings.extended_valid_elements);\n      addValidChildren('+ol[ul|ol],+ul[ul|ol]');\n      each$b({\n        dd: 'dl',\n        dt: 'dl',\n        li: 'ul ol',\n        td: 'tr',\n        th: 'tr',\n        tr: 'tbody thead tfoot',\n        tbody: 'table',\n        thead: 'table',\n        tfoot: 'table',\n        legend: 'fieldset',\n        area: 'map',\n        param: 'video audio object'\n      }, (parents, item) => {\n        if (elements[item]) {\n          elements[item].parentsRequired = split$1(parents);\n        }\n      });\n      if (settings.invalid_elements) {\n        each$b(explode$2(settings.invalid_elements), item => {\n          if (elements[item]) {\n            delete elements[item];\n          }\n        });\n      }\n      if (!getElementRule('span')) {\n        addValidElements('span[!data-mce-type|*]');\n      }\n      const getValidStyles = constant(validStyles);\n      const getInvalidStyles = constant(invalidStyles);\n      const getValidClasses = constant(validClasses);\n      const getBoolAttrs = constant(boolAttrMap);\n      const getBlockElements = constant(blockElementsMap);\n      const getTextBlockElements = constant(textBlockElementsMap);\n      const getTextInlineElements = constant(textInlineElementsMap);\n      const getVoidElements = constant(Object.seal(voidElementsMap));\n      const getSelfClosingElements = constant(selfClosingElementsMap);\n      const getNonEmptyElements = constant(nonEmptyElementsMap);\n      const getMoveCaretBeforeOnEnterElements = constant(moveCaretBeforeOnEnterElementsMap);\n      const getWhitespaceElements = constant(whitespaceElementsMap);\n      const getTransparentElements = constant(transparentElementsMap);\n      const getWrapBlockElements = constant(wrapBlockElementsMap);\n      const getSpecialElements = constant(Object.seal(specialElements));\n      const isValidChild = (name, child) => {\n        const parent = children[name.toLowerCase()];\n        return !!(parent && parent[child.toLowerCase()]);\n      };\n      const isValid = (name, attr) => {\n        const rule = getElementRule(name);\n        if (rule) {\n          if (attr) {\n            if (rule.attributes[attr]) {\n              return true;\n            }\n            const attrPatterns = rule.attributePatterns;\n            if (attrPatterns) {\n              let i = attrPatterns.length;\n              while (i--) {\n                if (attrPatterns[i].pattern.test(attr)) {\n                  return true;\n                }\n              }\n            }\n          } else {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isBlock = name => has$2(getBlockElements(), name);\n      const isInline = name => !startsWith(name, '#') && isValid(name) && !isBlock(name);\n      const isWrapper = name => has$2(getWrapBlockElements(), name) || isInline(name);\n      const getCustomElements = constant(customElementsMap);\n      return {\n        type: schemaType,\n        children,\n        elements,\n        getValidStyles,\n        getValidClasses,\n        getBlockElements,\n        getInvalidStyles,\n        getVoidElements,\n        getTextBlockElements,\n        getTextInlineElements,\n        getBoolAttrs,\n        getElementRule,\n        getSelfClosingElements,\n        getNonEmptyElements,\n        getMoveCaretBeforeOnEnterElements,\n        getWhitespaceElements,\n        getTransparentElements,\n        getSpecialElements,\n        isValidChild,\n        isValid,\n        isBlock,\n        isInline,\n        isWrapper,\n        getCustomElements,\n        addValidElements,\n        setValidElements,\n        addCustomElements,\n        addValidChildren\n      };\n    };\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n    const toString = rgba => \"rgba(\".concat(rgba.red, \",\").concat(rgba.green, \",\").concat(rgba.blue, \",\").concat(rgba.alpha, \")\");\n\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Styles = (settings = {}, schema) => {\n      const urlOrStrRegExp = /(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi;\n      const styleRegExp = /\\s*([^:]+):\\s*([^;]+);?/g;\n      const trimRightRegExp = /\\s+$/;\n      const encodingLookup = {};\n      let validStyles;\n      let invalidStyles;\n      const invisibleChar = zeroWidth;\n      if (schema) {\n        validStyles = schema.getValidStyles();\n        invalidStyles = schema.getInvalidStyles();\n      }\n      const encodingItems = (\"\\\\\\\" \\\\' \\\\; \\\\: ; : \" + invisibleChar).split(' ');\n      for (let i = 0; i < encodingItems.length; i++) {\n        encodingLookup[encodingItems[i]] = invisibleChar + i;\n        encodingLookup[invisibleChar + i] = encodingItems[i];\n      }\n      const self = {\n        parse: css => {\n          const styles = {};\n          let isEncoded = false;\n          const urlConverter = settings.url_converter;\n          const urlConverterScope = settings.url_converter_scope || self;\n          const compress = (prefix, suffix, noJoin) => {\n            const top = styles[prefix + '-top' + suffix];\n            if (!top) {\n              return;\n            }\n            const right = styles[prefix + '-right' + suffix];\n            if (!right) {\n              return;\n            }\n            const bottom = styles[prefix + '-bottom' + suffix];\n            if (!bottom) {\n              return;\n            }\n            const left = styles[prefix + '-left' + suffix];\n            if (!left) {\n              return;\n            }\n            const box = [top, right, bottom, left];\n            let i = box.length - 1;\n            while (i--) {\n              if (box[i] !== box[i + 1]) {\n                break;\n              }\n            }\n            if (i > -1 && noJoin) {\n              return;\n            }\n            styles[prefix + suffix] = i === -1 ? box[0] : box.join(' ');\n            delete styles[prefix + '-top' + suffix];\n            delete styles[prefix + '-right' + suffix];\n            delete styles[prefix + '-bottom' + suffix];\n            delete styles[prefix + '-left' + suffix];\n          };\n          const canCompress = key => {\n            const value = styles[key];\n            if (!value) {\n              return;\n            }\n            const values = value.indexOf(',') > -1 ? [value] : value.split(' ');\n            let i = values.length;\n            while (i--) {\n              if (values[i] !== values[0]) {\n                return false;\n              }\n            }\n            styles[key] = values[0];\n            return true;\n          };\n          const compress2 = (target, a, b, c) => {\n            if (!canCompress(a)) {\n              return;\n            }\n            if (!canCompress(b)) {\n              return;\n            }\n            if (!canCompress(c)) {\n              return;\n            }\n            styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c];\n            delete styles[a];\n            delete styles[b];\n            delete styles[c];\n          };\n          const encode = str => {\n            isEncoded = true;\n            return encodingLookup[str];\n          };\n          const decode = (str, keepSlashes) => {\n            if (isEncoded) {\n              str = str.replace(/\\uFEFF[0-9]/g, str => {\n                return encodingLookup[str];\n              });\n            }\n            if (!keepSlashes) {\n              str = str.replace(/\\\\([\\'\\\";:])/g, '$1');\n            }\n            return str;\n          };\n          const decodeSingleHexSequence = escSeq => {\n            return String.fromCharCode(parseInt(escSeq.slice(1), 16));\n          };\n          const decodeHexSequences = value => {\n            return value.replace(/\\\\[0-9a-f]+/gi, decodeSingleHexSequence);\n          };\n          const processUrl = (match, url, url2, url3, str, str2) => {\n            str = str || str2;\n            if (str) {\n              str = decode(str);\n              return \"'\" + str.replace(/\\'/g, \"\\\\'\") + \"'\";\n            }\n            url = decode(url || url2 || url3 || '');\n            if (!settings.allow_script_urls) {\n              const scriptUrl = url.replace(/[\\s\\r\\n]+/g, '');\n              if (/(java|vb)script:/i.test(scriptUrl)) {\n                return '';\n              }\n              if (!settings.allow_svg_data_urls && /^data:image\\/svg/i.test(scriptUrl)) {\n                return '';\n              }\n            }\n            if (urlConverter) {\n              url = urlConverter.call(urlConverterScope, url, 'style');\n            }\n            return \"url('\" + url.replace(/\\'/g, \"\\\\'\") + \"')\";\n          };\n          if (css) {\n            css = css.replace(/[\\u0000-\\u001F]/g, '');\n            css = css.replace(/\\\\[\\\"\\';:\\uFEFF]/g, encode).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g, str => {\n              return str.replace(/[;:]/g, encode);\n            });\n            let matches;\n            while (matches = styleRegExp.exec(css)) {\n              styleRegExp.lastIndex = matches.index + matches[0].length;\n              let name = matches[1].replace(trimRightRegExp, '').toLowerCase();\n              let value = matches[2].replace(trimRightRegExp, '');\n              if (name && value) {\n                name = decodeHexSequences(name);\n                value = decodeHexSequences(value);\n                if (name.indexOf(invisibleChar) !== -1 || name.indexOf('\"') !== -1) {\n                  continue;\n                }\n                if (!settings.allow_script_urls && (name === 'behavior' || /expression\\s*\\(|\\/\\*|\\*\\//.test(value))) {\n                  continue;\n                }\n                if (name === 'font-weight' && value === '700') {\n                  value = 'bold';\n                } else if (name === 'color' || name === 'background-color') {\n                  value = value.toLowerCase();\n                }\n                if (isString(settings.force_hex_color) && settings.force_hex_color !== 'off') {\n                  fromString(value).each(rgba => {\n                    if (settings.force_hex_color === 'always' || rgba.alpha === 1) {\n                      value = rgbaToHexString(toString(rgba));\n                    }\n                  });\n                }\n                value = value.replace(urlOrStrRegExp, processUrl);\n                styles[name] = isEncoded ? decode(value, true) : value;\n              }\n            }\n            compress('border', '', true);\n            compress('border', '-width');\n            compress('border', '-color');\n            compress('border', '-style');\n            compress('padding', '');\n            compress('margin', '');\n            compress2('border', 'border-width', 'border-style', 'border-color');\n            if (styles.border === 'medium none') {\n              delete styles.border;\n            }\n            if (styles['border-image'] === 'none') {\n              delete styles['border-image'];\n            }\n          }\n          return styles;\n        },\n        serialize: (styles, elementName) => {\n          let css = '';\n          const serializeStyles = (elemName, validStyleList) => {\n            const styleList = validStyleList[elemName];\n            if (styleList) {\n              for (let i = 0, l = styleList.length; i < l; i++) {\n                const name = styleList[i];\n                const value = styles[name];\n                if (value) {\n                  css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n                }\n              }\n            }\n          };\n          const isValid = (name, elemName) => {\n            if (!invalidStyles || !elemName) {\n              return true;\n            }\n            let styleMap = invalidStyles['*'];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            styleMap = invalidStyles[elemName];\n            return !(styleMap && styleMap[name]);\n          };\n          if (elementName && validStyles) {\n            serializeStyles('*', validStyles);\n            serializeStyles(elementName, validStyles);\n          } else {\n            each$d(styles, (value, name) => {\n              if (value && isValid(name, elementName)) {\n                css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n              }\n            });\n          }\n          return css;\n        }\n      };\n      return self;\n    };\n\n    const deprecated = {\n      keyLocation: true,\n      layerX: true,\n      layerY: true,\n      returnValue: true,\n      webkitMovementX: true,\n      webkitMovementY: true,\n      keyIdentifier: true,\n      mozPressure: true\n    };\n    const isNativeEvent = event => event instanceof Event || isFunction(event.initEvent);\n    const hasIsDefaultPrevented = event => event.isDefaultPrevented === always || event.isDefaultPrevented === never;\n    const needsNormalizing = event => isNullable(event.preventDefault) || isNativeEvent(event);\n    const clone$3 = (originalEvent, data) => {\n      const event = data !== null && data !== void 0 ? data : {};\n      for (const name in originalEvent) {\n        if (!has$2(deprecated, name)) {\n          event[name] = originalEvent[name];\n        }\n      }\n      if (isNonNullable(originalEvent.composedPath)) {\n        event.composedPath = () => originalEvent.composedPath();\n      }\n      if (isNonNullable(originalEvent.getModifierState)) {\n        event.getModifierState = keyArg => originalEvent.getModifierState(keyArg);\n      }\n      if (isNonNullable(originalEvent.getTargetRanges)) {\n        event.getTargetRanges = () => originalEvent.getTargetRanges();\n      }\n      return event;\n    };\n    const normalize$3 = (type, originalEvent, fallbackTarget, data) => {\n      var _a;\n      const event = clone$3(originalEvent, data);\n      event.type = type;\n      if (isNullable(event.target)) {\n        event.target = (_a = event.srcElement) !== null && _a !== void 0 ? _a : fallbackTarget;\n      }\n      if (needsNormalizing(originalEvent)) {\n        event.preventDefault = () => {\n          event.defaultPrevented = true;\n          event.isDefaultPrevented = always;\n          if (isFunction(originalEvent.preventDefault)) {\n            originalEvent.preventDefault();\n          }\n        };\n        event.stopPropagation = () => {\n          event.cancelBubble = true;\n          event.isPropagationStopped = always;\n          if (isFunction(originalEvent.stopPropagation)) {\n            originalEvent.stopPropagation();\n          }\n        };\n        event.stopImmediatePropagation = () => {\n          event.isImmediatePropagationStopped = always;\n          event.stopPropagation();\n        };\n        if (!hasIsDefaultPrevented(event)) {\n          event.isDefaultPrevented = event.defaultPrevented === true ? always : never;\n          event.isPropagationStopped = event.cancelBubble === true ? always : never;\n          event.isImmediatePropagationStopped = never;\n        }\n      }\n      return event;\n    };\n\n    const eventExpandoPrefix = 'mce-data-';\n    const mouseEventRe = /^(?:mouse|contextmenu)|click/;\n    const addEvent = (target, name, callback, capture) => {\n      target.addEventListener(name, callback, capture || false);\n    };\n    const removeEvent = (target, name, callback, capture) => {\n      target.removeEventListener(name, callback, capture || false);\n    };\n    const isMouseEvent = event => isNonNullable(event) && mouseEventRe.test(event.type);\n    const fix = (originalEvent, data) => {\n      const event = normalize$3(originalEvent.type, originalEvent, document, data);\n      if (isMouseEvent(originalEvent) && isUndefined(originalEvent.pageX) && !isUndefined(originalEvent.clientX)) {\n        const eventDoc = event.target.ownerDocument || document;\n        const doc = eventDoc.documentElement;\n        const body = eventDoc.body;\n        const mouseEvent = event;\n        mouseEvent.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n        mouseEvent.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n      }\n      return event;\n    };\n    const bindOnReady = (win, callback, eventUtils) => {\n      const doc = win.document,\n        event = {\n          type: 'ready'\n        };\n      if (eventUtils.domLoaded) {\n        callback(event);\n        return;\n      }\n      const isDocReady = () => {\n        return doc.readyState === 'complete' || doc.readyState === 'interactive' && doc.body;\n      };\n      const readyHandler = () => {\n        removeEvent(win, 'DOMContentLoaded', readyHandler);\n        removeEvent(win, 'load', readyHandler);\n        if (!eventUtils.domLoaded) {\n          eventUtils.domLoaded = true;\n          callback(event);\n        }\n        win = null;\n      };\n      if (isDocReady()) {\n        readyHandler();\n      } else {\n        addEvent(win, 'DOMContentLoaded', readyHandler);\n      }\n      if (!eventUtils.domLoaded) {\n        addEvent(win, 'load', readyHandler);\n      }\n    };\n    class EventUtils {\n      constructor() {\n        this.domLoaded = false;\n        this.events = {};\n        this.count = 1;\n        this.expando = eventExpandoPrefix + (+new Date()).toString(32);\n        this.hasFocusIn = 'onfocusin' in document.documentElement;\n        this.count = 1;\n      }\n      bind(target, names, callback, scope) {\n        const self = this;\n        let callbackList;\n        const win = window;\n        const defaultNativeHandler = evt => {\n          self.executeHandlers(fix(evt || win.event), id);\n        };\n        if (!target || isText$a(target) || isComment(target)) {\n          return callback;\n        }\n        let id;\n        if (!target[self.expando]) {\n          id = self.count++;\n          target[self.expando] = id;\n          self.events[id] = {};\n        } else {\n          id = target[self.expando];\n        }\n        scope = scope || target;\n        const namesList = names.split(' ');\n        let i = namesList.length;\n        while (i--) {\n          let name = namesList[i];\n          let nativeHandler = defaultNativeHandler;\n          let capture = false;\n          let fakeName = false;\n          if (name === 'DOMContentLoaded') {\n            name = 'ready';\n          }\n          if (self.domLoaded && name === 'ready' && target.readyState === 'complete') {\n            callback.call(scope, fix({\n              type: name\n            }));\n            continue;\n          }\n          if (!self.hasFocusIn && (name === 'focusin' || name === 'focusout')) {\n            capture = true;\n            fakeName = name === 'focusin' ? 'focus' : 'blur';\n            nativeHandler = evt => {\n              const event = fix(evt || win.event);\n              event.type = event.type === 'focus' ? 'focusin' : 'focusout';\n              self.executeHandlers(event, id);\n            };\n          }\n          callbackList = self.events[id][name];\n          if (!callbackList) {\n            self.events[id][name] = callbackList = [{\n              func: callback,\n              scope\n            }];\n            callbackList.fakeName = fakeName;\n            callbackList.capture = capture;\n            callbackList.nativeHandler = nativeHandler;\n            if (name === 'ready') {\n              bindOnReady(target, nativeHandler, self);\n            } else {\n              addEvent(target, fakeName || name, nativeHandler, capture);\n            }\n          } else {\n            if (name === 'ready' && self.domLoaded) {\n              callback(fix({\n                type: name\n              }));\n            } else {\n              callbackList.push({\n                func: callback,\n                scope\n              });\n            }\n          }\n        }\n        target = callbackList = null;\n        return callback;\n      }\n      unbind(target, names, callback) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const id = target[this.expando];\n        if (id) {\n          let eventMap = this.events[id];\n          if (names) {\n            const namesList = names.split(' ');\n            let i = namesList.length;\n            while (i--) {\n              const name = namesList[i];\n              const callbackList = eventMap[name];\n              if (callbackList) {\n                if (callback) {\n                  let ci = callbackList.length;\n                  while (ci--) {\n                    if (callbackList[ci].func === callback) {\n                      const nativeHandler = callbackList.nativeHandler;\n                      const fakeName = callbackList.fakeName,\n                        capture = callbackList.capture;\n                      const newCallbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));\n                      newCallbackList.nativeHandler = nativeHandler;\n                      newCallbackList.fakeName = fakeName;\n                      newCallbackList.capture = capture;\n                      eventMap[name] = newCallbackList;\n                    }\n                  }\n                }\n                if (!callback || callbackList.length === 0) {\n                  delete eventMap[name];\n                  removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n                }\n              }\n            }\n          } else {\n            each$d(eventMap, (callbackList, name) => {\n              removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n            });\n            eventMap = {};\n          }\n          for (const name in eventMap) {\n            if (has$2(eventMap, name)) {\n              return this;\n            }\n          }\n          delete this.events[id];\n          try {\n            delete target[this.expando];\n          } catch (ex) {\n            target[this.expando] = null;\n          }\n        }\n        return this;\n      }\n      fire(target, name, args) {\n        return this.dispatch(target, name, args);\n      }\n      dispatch(target, name, args) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const event = fix({\n          type: name,\n          target\n        }, args);\n        do {\n          const id = target[this.expando];\n          if (id) {\n            this.executeHandlers(event, id);\n          }\n          target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;\n        } while (target && !event.isPropagationStopped());\n        return this;\n      }\n      clean(target) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        if (target[this.expando]) {\n          this.unbind(target);\n        }\n        if (!target.getElementsByTagName) {\n          target = target.document;\n        }\n        if (target && target.getElementsByTagName) {\n          this.unbind(target);\n          const children = target.getElementsByTagName('*');\n          let i = children.length;\n          while (i--) {\n            target = children[i];\n            if (target[this.expando]) {\n              this.unbind(target);\n            }\n          }\n        }\n        return this;\n      }\n      destroy() {\n        this.events = {};\n      }\n      cancel(e) {\n        if (e) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        }\n        return false;\n      }\n      executeHandlers(evt, id) {\n        const container = this.events[id];\n        const callbackList = container && container[evt.type];\n        if (callbackList) {\n          for (let i = 0, l = callbackList.length; i < l; i++) {\n            const callback = callbackList[i];\n            if (callback && callback.func.call(callback.scope, evt) === false) {\n              evt.preventDefault();\n            }\n            if (evt.isImmediatePropagationStopped()) {\n              return;\n            }\n          }\n        }\n      }\n    }\n    EventUtils.Event = new EventUtils();\n\n    const each$a = Tools.each;\n    const grep = Tools.grep;\n    const internalStyleName = 'data-mce-style';\n    const numericalCssMap = Tools.makeMap('fill-opacity font-weight line-height opacity orphans widows z-index zoom', ' ');\n    const legacySetAttribute = (elm, name, value) => {\n      if (isNullable(value) || value === '') {\n        remove$a(elm, name);\n      } else {\n        set$3(elm, name, value);\n      }\n    };\n    const camelCaseToHyphens = name => name.replace(/[A-Z]/g, v => '-' + v.toLowerCase());\n    const findNodeIndex = (node, normalized) => {\n      let idx = 0;\n      if (node) {\n        for (let lastNodeType = node.nodeType, tempNode = node.previousSibling; tempNode; tempNode = tempNode.previousSibling) {\n          const nodeType = tempNode.nodeType;\n          if (normalized && isText$a(tempNode)) {\n            if (nodeType === lastNodeType || !tempNode.data.length) {\n              continue;\n            }\n          }\n          idx++;\n          lastNodeType = nodeType;\n        }\n      }\n      return idx;\n    };\n    const updateInternalStyleAttr = (styles, elm) => {\n      const rawValue = get$9(elm, 'style');\n      const value = styles.serialize(styles.parse(rawValue), name(elm));\n      legacySetAttribute(elm, internalStyleName, value);\n    };\n    const convertStyleToString = (cssValue, cssName) => {\n      if (isNumber(cssValue)) {\n        return has$2(numericalCssMap, cssName) ? cssValue + '' : cssValue + 'px';\n      } else {\n        return cssValue;\n      }\n    };\n    const applyStyle$1 = ($elm, cssName, cssValue) => {\n      const normalizedName = camelCaseToHyphens(cssName);\n      if (isNullable(cssValue) || cssValue === '') {\n        remove$6($elm, normalizedName);\n      } else {\n        set$2($elm, normalizedName, convertStyleToString(cssValue, normalizedName));\n      }\n    };\n    const setupAttrHooks = (styles, settings, getContext) => {\n      const keepValues = settings.keep_values;\n      const keepUrlHook = {\n        set: (elm, value, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          if (isFunction(settings.url_converter) && isNonNullable(value)) {\n            value = settings.url_converter.call(settings.url_converter_scope || getContext(), String(value), name, elm);\n          }\n          const internalName = 'data-mce-' + name;\n          legacySetAttribute(sugarElm, internalName, value);\n          legacySetAttribute(sugarElm, name, value);\n        },\n        get: (elm, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          return get$9(sugarElm, 'data-mce-' + name) || get$9(sugarElm, name);\n        }\n      };\n      const attrHooks = {\n        style: {\n          set: (elm, value) => {\n            const sugarElm = SugarElement.fromDom(elm);\n            if (keepValues) {\n              legacySetAttribute(sugarElm, internalStyleName, value);\n            }\n            remove$a(sugarElm, 'style');\n            if (isString(value)) {\n              setAll(sugarElm, styles.parse(value));\n            }\n          },\n          get: elm => {\n            const sugarElm = SugarElement.fromDom(elm);\n            const value = get$9(sugarElm, internalStyleName) || get$9(sugarElm, 'style');\n            return styles.serialize(styles.parse(value), name(sugarElm));\n          }\n        }\n      };\n      if (keepValues) {\n        attrHooks.href = attrHooks.src = keepUrlHook;\n      }\n      return attrHooks;\n    };\n    const DOMUtils = (doc, settings = {}) => {\n      const addedStyles = {};\n      const win = window;\n      const files = {};\n      let counter = 0;\n      const stdMode = true;\n      const boxModel = true;\n      const styleSheetLoader = instance.forElement(SugarElement.fromDom(doc), {\n        contentCssCors: settings.contentCssCors,\n        referrerPolicy: settings.referrerPolicy\n      });\n      const boundEvents = [];\n      const schema = settings.schema ? settings.schema : Schema({});\n      const styles = Styles({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope,\n        force_hex_color: settings.force_hex_color\n      }, settings.schema);\n      const events = settings.ownEvents ? new EventUtils() : EventUtils.Event;\n      const blockElementsMap = schema.getBlockElements();\n      const isBlock = node => {\n        if (isString(node)) {\n          return has$2(blockElementsMap, node);\n        } else {\n          return isElement$6(node) && (has$2(blockElementsMap, node.nodeName) || isTransparentBlock(schema, node));\n        }\n      };\n      const get = elm => elm && doc && isString(elm) ? doc.getElementById(elm) : elm;\n      const _get = elm => {\n        const value = get(elm);\n        return isNonNullable(value) ? SugarElement.fromDom(value) : null;\n      };\n      const getAttrib = (elm, name, defaultVal = '') => {\n        let value;\n        const $elm = _get(elm);\n        if (isNonNullable($elm) && isElement$7($elm)) {\n          const hook = attrHooks[name];\n          if (hook && hook.get) {\n            value = hook.get($elm.dom, name);\n          } else {\n            value = get$9($elm, name);\n          }\n        }\n        return isNonNullable(value) ? value : defaultVal;\n      };\n      const getAttribs = elm => {\n        const node = get(elm);\n        return isNullable(node) ? [] : node.attributes;\n      };\n      const setAttrib = (elm, name, value) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const val = value === '' ? null : value;\n            const originalValue = get$9($elm, name);\n            const hook = attrHooks[name];\n            if (hook && hook.set) {\n              hook.set($elm.dom, val, name);\n            } else {\n              legacySetAttribute($elm, name, val);\n            }\n            if (originalValue !== val && settings.onSetAttrib) {\n              settings.onSetAttrib({\n                attrElm: $elm.dom,\n                attrName: name,\n                attrValue: val\n              });\n            }\n          }\n        });\n      };\n      const clone = (node, deep) => {\n        return node.cloneNode(deep);\n      };\n      const getRoot = () => settings.root_element || doc.body;\n      const getViewPort = argWin => {\n        const vp = getBounds(argWin);\n        return {\n          x: vp.x,\n          y: vp.y,\n          w: vp.width,\n          h: vp.height\n        };\n      };\n      const getPos$1 = (elm, rootElm) => getPos(doc.body, get(elm), rootElm);\n      const setStyle = (elm, name, value) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          applyStyle$1($elm, name, value);\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const setStyles = (elm, stylesArg) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          each$d(stylesArg, (v, n) => {\n            applyStyle$1($elm, n, v);\n          });\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const getStyle = (elm, name, computed) => {\n        const $elm = get(elm);\n        if (isNullable($elm) || !isHTMLElement($elm) && !isSVGElement($elm)) {\n          return undefined;\n        }\n        if (computed) {\n          return get$7(SugarElement.fromDom($elm), camelCaseToHyphens(name));\n        } else {\n          name = name.replace(/-(\\D)/g, (a, b) => b.toUpperCase());\n          if (name === 'float') {\n            name = 'cssFloat';\n          }\n          return $elm.style ? $elm.style[name] : undefined;\n        }\n      };\n      const getSize = elm => {\n        const $elm = get(elm);\n        if (!$elm) {\n          return {\n            w: 0,\n            h: 0\n          };\n        }\n        let w = getStyle($elm, 'width');\n        let h = getStyle($elm, 'height');\n        if (!w || w.indexOf('px') === -1) {\n          w = '0';\n        }\n        if (!h || h.indexOf('px') === -1) {\n          h = '0';\n        }\n        return {\n          w: parseInt(w, 10) || $elm.offsetWidth || $elm.clientWidth,\n          h: parseInt(h, 10) || $elm.offsetHeight || $elm.clientHeight\n        };\n      };\n      const getRect = elm => {\n        const $elm = get(elm);\n        const pos = getPos$1($elm);\n        const size = getSize($elm);\n        return {\n          x: pos.x,\n          y: pos.y,\n          w: size.w,\n          h: size.h\n        };\n      };\n      const is = (elm, selector) => {\n        if (!elm) {\n          return false;\n        }\n        const elms = isArray$1(elm) ? elm : [elm];\n        return exists(elms, e => {\n          return is$1(SugarElement.fromDom(e), selector);\n        });\n      };\n      const getParents = (elm, selector, root, collect) => {\n        const result = [];\n        let node = get(elm);\n        collect = collect === undefined;\n        const resolvedRoot = root || (getRoot().nodeName !== 'BODY' ? getRoot().parentNode : null);\n        if (isString(selector)) {\n          if (selector === '*') {\n            selector = isElement$6;\n          } else {\n            const selectorVal = selector;\n            selector = node => is(node, selectorVal);\n          }\n        }\n        while (node) {\n          if (node === resolvedRoot || isNullable(node.nodeType) || isDocument$1(node) || isDocumentFragment(node)) {\n            break;\n          }\n          if (!selector || selector(node)) {\n            if (collect) {\n              result.push(node);\n            } else {\n              return [node];\n            }\n          }\n          node = node.parentNode;\n        }\n        return collect ? result : null;\n      };\n      const getParent = (node, selector, root) => {\n        const parents = getParents(node, selector, root, false);\n        return parents && parents.length > 0 ? parents[0] : null;\n      };\n      const _findSib = (node, selector, name) => {\n        let func = selector;\n        if (node) {\n          if (isString(selector)) {\n            func = node => {\n              return is(node, selector);\n            };\n          }\n          for (let tempNode = node[name]; tempNode; tempNode = tempNode[name]) {\n            if (isFunction(func) && func(tempNode)) {\n              return tempNode;\n            }\n          }\n        }\n        return null;\n      };\n      const getNext = (node, selector) => _findSib(node, selector, 'nextSibling');\n      const getPrev = (node, selector) => _findSib(node, selector, 'previousSibling');\n      const isParentNode = node => isFunction(node.querySelectorAll);\n      const select = (selector, scope) => {\n        var _a, _b;\n        const elm = (_b = (_a = get(scope)) !== null && _a !== void 0 ? _a : settings.root_element) !== null && _b !== void 0 ? _b : doc;\n        return isParentNode(elm) ? from(elm.querySelectorAll(selector)) : [];\n      };\n      const run = function (elm, func, scope) {\n        const context = scope !== null && scope !== void 0 ? scope : this;\n        if (isArray$1(elm)) {\n          const result = [];\n          each$a(elm, (e, i) => {\n            const node = get(e);\n            if (node) {\n              result.push(func.call(context, node, i));\n            }\n          });\n          return result;\n        } else {\n          const node = get(elm);\n          return !node ? false : func.call(context, node);\n        }\n      };\n      const setAttribs = (elm, attrs) => {\n        run(elm, $elm => {\n          each$d(attrs, (value, name) => {\n            setAttrib($elm, name, value);\n          });\n        });\n      };\n      const setHTML = (elm, html) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          set$1($elm, html);\n        });\n      };\n      const add = (parentElm, name, attrs, html, create) => run(parentElm, parentElm => {\n        const newElm = isString(name) ? doc.createElement(name) : name;\n        if (isNonNullable(attrs)) {\n          setAttribs(newElm, attrs);\n        }\n        if (html) {\n          if (!isString(html) && html.nodeType) {\n            newElm.appendChild(html);\n          } else if (isString(html)) {\n            setHTML(newElm, html);\n          }\n        }\n        return !create ? parentElm.appendChild(newElm) : newElm;\n      });\n      const create = (name, attrs, html) => add(doc.createElement(name), name, attrs, html, true);\n      const decode = Entities.decode;\n      const encode = Entities.encodeAllRaw;\n      const createHTML = (name, attrs, html = '') => {\n        let outHtml = '<' + name;\n        for (const key in attrs) {\n          if (hasNonNullableKey(attrs, key)) {\n            outHtml += ' ' + key + '=\"' + encode(attrs[key]) + '\"';\n          }\n        }\n        if (isEmpty$3(html) && has$2(schema.getVoidElements(), name)) {\n          return outHtml + ' />';\n        } else {\n          return outHtml + '>' + html + '<\/' + name + '>';\n        }\n      };\n      const createFragment = html => {\n        const container = doc.createElement('div');\n        const frag = doc.createDocumentFragment();\n        frag.appendChild(container);\n        if (html) {\n          container.innerHTML = html;\n        }\n        let node;\n        while (node = container.firstChild) {\n          frag.appendChild(node);\n        }\n        frag.removeChild(container);\n        return frag;\n      };\n      const remove = (node, keepChildren) => {\n        return run(node, n => {\n          const $node = SugarElement.fromDom(n);\n          if (keepChildren) {\n            each$e(children$1($node), child => {\n              if (isText$b(child) && child.dom.length === 0) {\n                remove$5(child);\n              } else {\n                before$3($node, child);\n              }\n            });\n          }\n          remove$5($node);\n          return $node.dom;\n        });\n      };\n      const removeAllAttribs = e => run(e, e => {\n        const attrs = e.attributes;\n        for (let i = attrs.length - 1; i >= 0; i--) {\n          e.removeAttributeNode(attrs.item(i));\n        }\n      });\n      const parseStyle = cssText => styles.parse(cssText);\n      const serializeStyle = (stylesArg, name) => styles.serialize(stylesArg, name);\n      const addStyle = cssText => {\n        if (self !== DOMUtils.DOM && doc === document) {\n          if (addedStyles[cssText]) {\n            return;\n          }\n          addedStyles[cssText] = true;\n        }\n        let styleElm = doc.getElementById('mceDefaultStyles');\n        if (!styleElm) {\n          styleElm = doc.createElement('style');\n          styleElm.id = 'mceDefaultStyles';\n          styleElm.type = 'text/css';\n          const head = doc.head;\n          if (head.firstChild) {\n            head.insertBefore(styleElm, head.firstChild);\n          } else {\n            head.appendChild(styleElm);\n          }\n        }\n        if (styleElm.styleSheet) {\n          styleElm.styleSheet.cssText += cssText;\n        } else {\n          styleElm.appendChild(doc.createTextNode(cssText));\n        }\n      };\n      const loadCSS = urls => {\n        if (!urls) {\n          urls = '';\n        }\n        each$e(urls.split(','), url => {\n          files[url] = true;\n          styleSheetLoader.load(url).catch(noop);\n        });\n      };\n      const toggleClass = (elm, cls, state) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const classes = cls.split(' ');\n            each$e(classes, c => {\n              if (isNonNullable(state)) {\n                const fn = state ? add$2 : remove$7;\n                fn($elm, c);\n              } else {\n                toggle$1($elm, c);\n              }\n            });\n          }\n        });\n      };\n      const addClass = (elm, cls) => {\n        toggleClass(elm, cls, true);\n      };\n      const removeClass = (elm, cls) => {\n        toggleClass(elm, cls, false);\n      };\n      const hasClass = (elm, cls) => {\n        const $elm = _get(elm);\n        const classes = cls.split(' ');\n        return isNonNullable($elm) && forall(classes, c => has($elm, c));\n      };\n      const show = elm => {\n        run(elm, e => remove$6(SugarElement.fromDom(e), 'display'));\n      };\n      const hide = elm => {\n        run(elm, e => set$2(SugarElement.fromDom(e), 'display', 'none'));\n      };\n      const isHidden = elm => {\n        const $elm = _get(elm);\n        return isNonNullable($elm) && is$2(getRaw($elm, 'display'), 'none');\n      };\n      const uniqueId = prefix => (!prefix ? 'mce_' : prefix) + counter++;\n      const getOuterHTML = elm => {\n        const $elm = _get(elm);\n        if (isNonNullable($elm)) {\n          return isElement$6($elm.dom) ? $elm.dom.outerHTML : getOuter($elm);\n        } else {\n          return '';\n        }\n      };\n      const setOuterHTML = (elm, html) => {\n        run(elm, $elm => {\n          if (isElement$6($elm)) {\n            $elm.outerHTML = html;\n          }\n        });\n      };\n      const insertAfter = (node, reference) => {\n        const referenceNode = get(reference);\n        return run(node, node => {\n          const parent = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.parentNode;\n          const nextSibling = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.nextSibling;\n          if (parent) {\n            if (nextSibling) {\n              parent.insertBefore(node, nextSibling);\n            } else {\n              parent.appendChild(node);\n            }\n          }\n          return node;\n        });\n      };\n      const replace = (newElm, oldElm, keepChildren) => run(oldElm, elm => {\n        var _a;\n        const replacee = isArray$1(oldElm) ? newElm.cloneNode(true) : newElm;\n        if (keepChildren) {\n          each$a(grep(elm.childNodes), node => {\n            replacee.appendChild(node);\n          });\n        }\n        (_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(replacee, elm);\n        return elm;\n      });\n      const rename = (elm, name) => {\n        if (elm.nodeName !== name.toUpperCase()) {\n          const newElm = create(name);\n          each$a(getAttribs(elm), attrNode => {\n            setAttrib(newElm, attrNode.nodeName, getAttrib(elm, attrNode.nodeName));\n          });\n          replace(newElm, elm, true);\n          return newElm;\n        } else {\n          return elm;\n        }\n      };\n      const findCommonAncestor = (a, b) => {\n        let ps = a;\n        while (ps) {\n          let pe = b;\n          while (pe && ps !== pe) {\n            pe = pe.parentNode;\n          }\n          if (ps === pe) {\n            break;\n          }\n          ps = ps.parentNode;\n        }\n        if (!ps && a.ownerDocument) {\n          return a.ownerDocument.documentElement;\n        } else {\n          return ps;\n        }\n      };\n      const isNonEmptyElement = node => {\n        if (isElement$6(node)) {\n          const isNamedAnchor = node.nodeName.toLowerCase() === 'a' && !getAttrib(node, 'href') && getAttrib(node, 'id');\n          if (getAttrib(node, 'name') || getAttrib(node, 'data-mce-bookmark') || isNamedAnchor) {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isEmpty = (node, elements, options) => {\n        let brCount = 0;\n        if (isNonEmptyElement(node)) {\n          return false;\n        }\n        const firstChild = node.firstChild;\n        if (firstChild) {\n          const walker = new DomTreeWalker(firstChild, node);\n          const whitespaceElements = schema ? schema.getWhitespaceElements() : {};\n          const nonEmptyElements = elements || (schema ? schema.getNonEmptyElements() : null);\n          let tempNode = firstChild;\n          do {\n            if (isElement$6(tempNode)) {\n              const bogusVal = tempNode.getAttribute('data-mce-bogus');\n              if (bogusVal) {\n                tempNode = walker.next(bogusVal === 'all');\n                continue;\n              }\n              const name = tempNode.nodeName.toLowerCase();\n              if (nonEmptyElements && nonEmptyElements[name]) {\n                if (name === 'br') {\n                  brCount++;\n                  tempNode = walker.next();\n                  continue;\n                }\n                return false;\n              }\n              if (isNonEmptyElement(tempNode)) {\n                return false;\n              }\n            }\n            if (isComment(tempNode)) {\n              return false;\n            }\n            if (isText$a(tempNode) && !isWhitespaceText(tempNode.data) && (!(options === null || options === void 0 ? void 0 : options.includeZwsp) || !isZwsp(tempNode.data))) {\n              return false;\n            }\n            if (isText$a(tempNode) && tempNode.parentNode && whitespaceElements[tempNode.parentNode.nodeName] && isWhitespaceText(tempNode.data)) {\n              return false;\n            }\n            tempNode = walker.next();\n          } while (tempNode);\n        }\n        return brCount <= 1;\n      };\n      const createRng = () => doc.createRange();\n      const split = (parentElm, splitElm, replacementElm) => {\n        let range = createRng();\n        let beforeFragment;\n        let afterFragment;\n        if (parentElm && splitElm && parentElm.parentNode && splitElm.parentNode) {\n          const parentNode = parentElm.parentNode;\n          range.setStart(parentNode, findNodeIndex(parentElm));\n          range.setEnd(splitElm.parentNode, findNodeIndex(splitElm));\n          beforeFragment = range.extractContents();\n          range = createRng();\n          range.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);\n          range.setEnd(parentNode, findNodeIndex(parentElm) + 1);\n          afterFragment = range.extractContents();\n          parentNode.insertBefore(trimNode(self, beforeFragment, schema), parentElm);\n          if (replacementElm) {\n            parentNode.insertBefore(replacementElm, parentElm);\n          } else {\n            parentNode.insertBefore(splitElm, parentElm);\n          }\n          parentNode.insertBefore(trimNode(self, afterFragment, schema), parentElm);\n          remove(parentElm);\n          return replacementElm || splitElm;\n        } else {\n          return undefined;\n        }\n      };\n      const bind = (target, name, func, scope) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = bind(target[i], name, func, scope);\n          }\n          return rv;\n        } else {\n          if (settings.collect && (target === doc || target === win)) {\n            boundEvents.push([target, name, func, scope]);\n          }\n          return events.bind(target, name, func, scope || self);\n        }\n      };\n      const unbind = (target, name, func) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = unbind(target[i], name, func);\n          }\n          return rv;\n        } else {\n          if (boundEvents.length > 0 && (target === doc || target === win)) {\n            let i = boundEvents.length;\n            while (i--) {\n              const [boundTarget, boundName, boundFunc] = boundEvents[i];\n              if (target === boundTarget && (!name || name === boundName) && (!func || func === boundFunc)) {\n                events.unbind(boundTarget, boundName, boundFunc);\n              }\n            }\n          }\n          return events.unbind(target, name, func);\n        }\n      };\n      const dispatch = (target, name, evt) => events.dispatch(target, name, evt);\n      const fire = (target, name, evt) => events.dispatch(target, name, evt);\n      const getContentEditable = node => {\n        if (node && isHTMLElement(node)) {\n          const contentEditable = node.getAttribute('data-mce-contenteditable');\n          if (contentEditable && contentEditable !== 'inherit') {\n            return contentEditable;\n          }\n          return node.contentEditable !== 'inherit' ? node.contentEditable : null;\n        } else {\n          return null;\n        }\n      };\n      const getContentEditableParent = node => {\n        const root = getRoot();\n        let state = null;\n        for (let tempNode = node; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n          state = getContentEditable(tempNode);\n          if (state !== null) {\n            break;\n          }\n        }\n        return state;\n      };\n      const isEditable = node => {\n        if (isNonNullable(node)) {\n          const scope = isElement$6(node) ? node : node.parentElement;\n          return isNonNullable(scope) && isHTMLElement(scope) && isEditable$2(SugarElement.fromDom(scope));\n        } else {\n          return false;\n        }\n      };\n      const destroy = () => {\n        if (boundEvents.length > 0) {\n          let i = boundEvents.length;\n          while (i--) {\n            const [boundTarget, boundName, boundFunc] = boundEvents[i];\n            events.unbind(boundTarget, boundName, boundFunc);\n          }\n        }\n        each$d(files, (_, url) => {\n          styleSheetLoader.unload(url);\n          delete files[url];\n        });\n      };\n      const isChildOf = (node, parent) => {\n        return node === parent || parent.contains(node);\n      };\n      const dumpRng = r => 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;\n      const self = {\n        doc,\n        settings,\n        win,\n        files,\n        stdMode,\n        boxModel,\n        styleSheetLoader,\n        boundEvents,\n        styles,\n        schema,\n        events,\n        isBlock: isBlock,\n        root: null,\n        clone,\n        getRoot,\n        getViewPort,\n        getRect,\n        getSize,\n        getParent,\n        getParents: getParents,\n        get,\n        getNext,\n        getPrev,\n        select,\n        is,\n        add,\n        create,\n        createHTML,\n        createFragment,\n        remove,\n        setStyle,\n        getStyle: getStyle,\n        setStyles,\n        removeAllAttribs,\n        setAttrib,\n        setAttribs,\n        getAttrib,\n        getPos: getPos$1,\n        parseStyle,\n        serializeStyle,\n        addStyle,\n        loadCSS,\n        addClass,\n        removeClass,\n        hasClass,\n        toggleClass,\n        show,\n        hide,\n        isHidden,\n        uniqueId,\n        setHTML,\n        getOuterHTML,\n        setOuterHTML,\n        decode,\n        encode,\n        insertAfter,\n        replace,\n        rename,\n        findCommonAncestor,\n        run,\n        getAttribs,\n        isEmpty,\n        createRng,\n        nodeIndex: findNodeIndex,\n        split,\n        bind: bind,\n        unbind: unbind,\n        fire,\n        dispatch,\n        getContentEditable,\n        getContentEditableParent,\n        isEditable,\n        destroy,\n        isChildOf,\n        dumpRng\n      };\n      const attrHooks = setupAttrHooks(styles, settings, constant(self));\n      return self;\n    };\n    DOMUtils.DOM = DOMUtils(document);\n    DOMUtils.nodeIndex = findNodeIndex;\n\n    const DOM$b = DOMUtils.DOM;\n    const QUEUED = 0;\n    const LOADING = 1;\n    const LOADED = 2;\n    const FAILED = 3;\n    class ScriptLoader {\n      constructor(settings = {}) {\n        this.states = {};\n        this.queue = [];\n        this.scriptLoadedCallbacks = {};\n        this.queueLoadedCallbacks = [];\n        this.loading = false;\n        this.settings = settings;\n      }\n      _setReferrerPolicy(referrerPolicy) {\n        this.settings.referrerPolicy = referrerPolicy;\n      }\n      loadScript(url) {\n        return new Promise((resolve, reject) => {\n          const dom = DOM$b;\n          let elm;\n          const cleanup = () => {\n            dom.remove(id);\n            if (elm) {\n              elm.onerror = elm.onload = elm = null;\n            }\n          };\n          const done = () => {\n            cleanup();\n            resolve();\n          };\n          const error = () => {\n            cleanup();\n            reject('Failed to load script: ' + url);\n          };\n          const id = dom.uniqueId();\n          elm = document.createElement('script');\n          elm.id = id;\n          elm.type = 'text/javascript';\n          elm.src = Tools._addCacheSuffix(url);\n          if (this.settings.referrerPolicy) {\n            dom.setAttrib(elm, 'referrerpolicy', this.settings.referrerPolicy);\n          }\n          elm.onload = done;\n          elm.onerror = error;\n          (document.getElementsByTagName('head')[0] || document.body).appendChild(elm);\n        });\n      }\n      isDone(url) {\n        return this.states[url] === LOADED;\n      }\n      markDone(url) {\n        this.states[url] = LOADED;\n      }\n      add(url) {\n        const self = this;\n        self.queue.push(url);\n        const state = self.states[url];\n        if (state === undefined) {\n          self.states[url] = QUEUED;\n        }\n        return new Promise((resolve, reject) => {\n          if (!self.scriptLoadedCallbacks[url]) {\n            self.scriptLoadedCallbacks[url] = [];\n          }\n          self.scriptLoadedCallbacks[url].push({\n            resolve,\n            reject\n          });\n        });\n      }\n      load(url) {\n        return this.add(url);\n      }\n      remove(url) {\n        delete this.states[url];\n        delete this.scriptLoadedCallbacks[url];\n      }\n      loadQueue() {\n        const queue = this.queue;\n        this.queue = [];\n        return this.loadScripts(queue);\n      }\n      loadScripts(scripts) {\n        const self = this;\n        const execCallbacks = (name, url) => {\n          get$a(self.scriptLoadedCallbacks, url).each(callbacks => {\n            each$e(callbacks, callback => callback[name](url));\n          });\n          delete self.scriptLoadedCallbacks[url];\n        };\n        const processResults = results => {\n          const failures = filter$5(results, result => result.status === 'rejected');\n          if (failures.length > 0) {\n            return Promise.reject(bind$3(failures, ({\n              reason\n            }) => isArray$1(reason) ? reason : [reason]));\n          } else {\n            return Promise.resolve();\n          }\n        };\n        const load = urls => Promise.allSettled(map$3(urls, url => {\n          if (self.states[url] === LOADED) {\n            execCallbacks('resolve', url);\n            return Promise.resolve();\n          } else if (self.states[url] === FAILED) {\n            execCallbacks('reject', url);\n            return Promise.reject(url);\n          } else {\n            self.states[url] = LOADING;\n            return self.loadScript(url).then(() => {\n              self.states[url] = LOADED;\n              execCallbacks('resolve', url);\n              const queue = self.queue;\n              if (queue.length > 0) {\n                self.queue = [];\n                return load(queue).then(processResults);\n              } else {\n                return Promise.resolve();\n              }\n            }, () => {\n              self.states[url] = FAILED;\n              execCallbacks('reject', url);\n              return Promise.reject(url);\n            });\n          }\n        }));\n        const processQueue = urls => {\n          self.loading = true;\n          return load(urls).then(results => {\n            self.loading = false;\n            const nextQueuedItem = self.queueLoadedCallbacks.shift();\n            Optional.from(nextQueuedItem).each(call);\n            return processResults(results);\n          });\n        };\n        const uniqueScripts = stringArray(scripts);\n        if (self.loading) {\n          return new Promise((resolve, reject) => {\n            self.queueLoadedCallbacks.push(() => {\n              processQueue(uniqueScripts).then(resolve, reject);\n            });\n          });\n        } else {\n          return processQueue(uniqueScripts);\n        }\n      }\n    }\n    ScriptLoader.ScriptLoader = new ScriptLoader();\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const isDuplicated = (items, item) => {\n      const firstIndex = items.indexOf(item);\n      return firstIndex !== -1 && items.indexOf(item, firstIndex + 1) > firstIndex;\n    };\n    const isRaw = str => isObject(str) && has$2(str, 'raw');\n    const isTokenised = str => isArray$1(str) && str.length > 1;\n    const data = {};\n    const currentCode = Cell('en');\n    const getLanguageData = () => get$a(data, currentCode.get());\n    const getData$1 = () => map$2(data, value => ({\n      ...value\n    }));\n    const setCode = newCode => {\n      if (newCode) {\n        currentCode.set(newCode);\n      }\n    };\n    const getCode = () => currentCode.get();\n    const add$1 = (code, items) => {\n      let langData = data[code];\n      if (!langData) {\n        data[code] = langData = {};\n      }\n      const lcNames = map$3(keys(items), name => name.toLowerCase());\n      each$d(items, (translation, name) => {\n        const lcName = name.toLowerCase();\n        if (lcName !== name && isDuplicated(lcNames, lcName)) {\n          if (!has$2(items, lcName)) {\n            langData[lcName] = translation;\n          }\n          langData[name] = translation;\n        } else {\n          langData[lcName] = translation;\n        }\n      });\n    };\n    const translate = text => {\n      const langData = getLanguageData().getOr({});\n      const toString = obj => {\n        if (isFunction(obj)) {\n          return Object.prototype.toString.call(obj);\n        }\n        return !isEmpty(obj) ? '' + obj : '';\n      };\n      const isEmpty = text => text === '' || text === null || text === undefined;\n      const getLangData = text => {\n        const textStr = toString(text);\n        return has$2(langData, textStr) ? toString(langData[textStr]) : get$a(langData, textStr.toLowerCase()).map(toString).getOr(textStr);\n      };\n      const removeContext = str => str.replace(/{context:\\w+}$/, '');\n      if (isEmpty(text)) {\n        return '';\n      }\n      if (isRaw(text)) {\n        return toString(text.raw);\n      }\n      if (isTokenised(text)) {\n        const values = text.slice(1);\n        const substitued = getLangData(text[0]).replace(/\\{([0-9]+)\\}/g, ($1, $2) => has$2(values, $2) ? toString(values[$2]) : $1);\n        return removeContext(substitued);\n      }\n      return removeContext(getLangData(text));\n    };\n    const isRtl$1 = () => getLanguageData().bind(items => get$a(items, '_dir')).exists(dir => dir === 'rtl');\n    const hasCode = code => has$2(data, code);\n    const I18n = {\n      getData: getData$1,\n      setCode,\n      getCode,\n      add: add$1,\n      translate,\n      isRtl: isRtl$1,\n      hasCode\n    };\n\n    const AddOnManager = () => {\n      const items = [];\n      const urls = {};\n      const lookup = {};\n      const _listeners = [];\n      const runListeners = (name, state) => {\n        const matchedListeners = filter$5(_listeners, listener => listener.name === name && listener.state === state);\n        each$e(matchedListeners, listener => listener.resolve());\n      };\n      const isLoaded = name => has$2(urls, name);\n      const isAdded = name => has$2(lookup, name);\n      const get = name => {\n        if (lookup[name]) {\n          return lookup[name].instance;\n        }\n        return undefined;\n      };\n      const loadLanguagePack = (name, languages) => {\n        const language = I18n.getCode();\n        const wrappedLanguages = ',' + (languages || '') + ',';\n        if (!language || languages && wrappedLanguages.indexOf(',' + language + ',') === -1) {\n          return;\n        }\n        ScriptLoader.ScriptLoader.add(urls[name] + '/langs/' + language + '.js');\n      };\n      const requireLangPack = (name, languages) => {\n        if (AddOnManager.languageLoad !== false) {\n          if (isLoaded(name)) {\n            loadLanguagePack(name, languages);\n          } else {\n            waitFor(name, 'loaded').then(() => loadLanguagePack(name, languages));\n          }\n        }\n      };\n      const add = (id, addOn) => {\n        items.push(addOn);\n        lookup[id] = {\n          instance: addOn\n        };\n        runListeners(id, 'added');\n        return addOn;\n      };\n      const remove = name => {\n        delete urls[name];\n        delete lookup[name];\n      };\n      const createUrl = (baseUrl, dep) => {\n        if (isString(dep)) {\n          return isString(baseUrl) ? {\n            prefix: '',\n            resource: dep,\n            suffix: ''\n          } : {\n            prefix: baseUrl.prefix,\n            resource: dep,\n            suffix: baseUrl.suffix\n          };\n        } else {\n          return dep;\n        }\n      };\n      const load = (name, addOnUrl) => {\n        if (urls[name]) {\n          return Promise.resolve();\n        }\n        let urlString = isString(addOnUrl) ? addOnUrl : addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;\n        if (urlString.indexOf('/') !== 0 && urlString.indexOf('://') === -1) {\n          urlString = AddOnManager.baseURL + '/' + urlString;\n        }\n        urls[name] = urlString.substring(0, urlString.lastIndexOf('/'));\n        const done = () => {\n          runListeners(name, 'loaded');\n          return Promise.resolve();\n        };\n        if (lookup[name]) {\n          return done();\n        } else {\n          return ScriptLoader.ScriptLoader.add(urlString).then(done);\n        }\n      };\n      const waitFor = (name, state = 'added') => {\n        if (state === 'added' && isAdded(name)) {\n          return Promise.resolve();\n        } else if (state === 'loaded' && isLoaded(name)) {\n          return Promise.resolve();\n        } else {\n          return new Promise(resolve => {\n            _listeners.push({\n              name,\n              state,\n              resolve\n            });\n          });\n        }\n      };\n      return {\n        items,\n        urls,\n        lookup,\n        get,\n        requireLangPack,\n        add,\n        remove,\n        createUrl,\n        load,\n        waitFor\n      };\n    };\n    AddOnManager.languageLoad = true;\n    AddOnManager.baseURL = '';\n    AddOnManager.PluginManager = AddOnManager();\n    AddOnManager.ThemeManager = AddOnManager();\n    AddOnManager.ModelManager = AddOnManager();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const repeatable = delay => {\n      const intervalId = Cell(Optional.none());\n      const revoke = () => intervalId.get().each(id => clearInterval(id));\n      const clear = () => {\n        revoke();\n        intervalId.set(Optional.none());\n      };\n      const isSet = () => intervalId.get().isSome();\n      const get = () => intervalId.get();\n      const set = functionToRepeat => {\n        revoke();\n        intervalId.set(Optional.some(setInterval(functionToRepeat, delay)));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value$2 = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n    const last$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const annotation = constant('mce-annotation');\n    const dataAnnotation = constant('data-mce-annotation');\n    const dataAnnotationId = constant('data-mce-annotation-uid');\n    const dataAnnotationActive = constant('data-mce-annotation-active');\n    const dataAnnotationClasses = constant('data-mce-annotation-classes');\n    const dataAnnotationAttributes = constant('data-mce-annotation-attrs');\n\n    const isRoot$1 = root => node => eq(node, root);\n    const identify = (editor, annotationName) => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const root = SugarElement.fromDom(editor.getBody());\n      const selector = annotationName.fold(() => '.' + annotation(), an => \"[\".concat(dataAnnotation(), \"=\\\"\").concat(an, \"\\\"]\"));\n      const newStart = child$1(start, rng.startOffset).getOr(start);\n      const closest = closest$3(newStart, selector, isRoot$1(root));\n      return closest.bind(c => getOpt(c, \"\".concat(dataAnnotationId())).bind(uid => getOpt(c, \"\".concat(dataAnnotation())).map(name => {\n        const elements = findMarkers(editor, uid);\n        return {\n          uid,\n          name,\n          elements\n        };\n      })));\n    };\n    const isAnnotation = elem => isElement$7(elem) && has(elem, annotation());\n    const isBogusElement = (elem, root) => has$1(elem, 'data-mce-bogus') || ancestor$2(elem, '[data-mce-bogus=\"all\"]', isRoot$1(root));\n    const findMarkers = (editor, uid) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const descendants$1 = descendants(body, \"[\".concat(dataAnnotationId(), \"=\\\"\").concat(uid, \"\\\"]\"));\n      return filter$5(descendants$1, descendant => !isBogusElement(descendant, body));\n    };\n    const findAll = (editor, name) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const markers = descendants(body, \"[\".concat(dataAnnotation(), \"=\\\"\").concat(name, \"\\\"]\"));\n      const directory = {};\n      each$e(markers, m => {\n        if (!isBogusElement(m, body)) {\n          const uid = get$9(m, dataAnnotationId());\n          const nodesAlready = get$a(directory, uid).getOr([]);\n          directory[uid] = nodesAlready.concat([m]);\n        }\n      });\n      return directory;\n    };\n\n    const setup$y = (editor, registry) => {\n      const changeCallbacks = Cell({});\n      const initData = () => ({\n        listeners: [],\n        previous: value$2()\n      });\n      const withCallbacks = (name, f) => {\n        updateCallbacks(name, data => {\n          f(data);\n          return data;\n        });\n      };\n      const updateCallbacks = (name, f) => {\n        const callbackMap = changeCallbacks.get();\n        const data = get$a(callbackMap, name).getOrThunk(initData);\n        const outputData = f(data);\n        callbackMap[name] = outputData;\n        changeCallbacks.set(callbackMap);\n      };\n      const fireCallbacks = (name, uid, elements) => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(true, name, {\n            uid,\n            nodes: map$3(elements, elem => elem.dom)\n          }));\n        });\n      };\n      const fireNoAnnotation = name => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(false, name));\n        });\n      };\n      const toggleActiveAttr = (uid, state) => {\n        each$e(findMarkers(editor, uid), elem => {\n          if (state) {\n            set$3(elem, dataAnnotationActive(), 'true');\n          } else {\n            remove$a(elem, dataAnnotationActive());\n          }\n        });\n      };\n      const onNodeChange = last$1(() => {\n        const annotations = sort(registry.getNames());\n        each$e(annotations, name => {\n          updateCallbacks(name, data => {\n            const prev = data.previous.get();\n            identify(editor, Optional.some(name)).fold(() => {\n              prev.each(uid => {\n                fireNoAnnotation(name);\n                data.previous.clear();\n                toggleActiveAttr(uid, false);\n              });\n            }, ({\n              uid,\n              name,\n              elements\n            }) => {\n              if (!is$2(prev, uid)) {\n                prev.each(uid => toggleActiveAttr(uid, false));\n                fireCallbacks(name, uid, elements);\n                data.previous.set(uid);\n                toggleActiveAttr(uid, true);\n              }\n            });\n            return {\n              previous: data.previous,\n              listeners: data.listeners\n            };\n          });\n        });\n      }, 30);\n      editor.on('remove', () => {\n        onNodeChange.cancel();\n      });\n      editor.on('NodeChange', () => {\n        onNodeChange.throttle();\n      });\n      const addListener = (name, f) => {\n        updateCallbacks(name, data => ({\n          previous: data.previous,\n          listeners: data.listeners.concat([f])\n        }));\n      };\n      return {\n        addListener\n      };\n    };\n\n    const setup$x = (editor, registry) => {\n      const dataAnnotation$1 = dataAnnotation();\n      const identifyParserNode = node => Optional.from(node.attr(dataAnnotation$1)).bind(registry.lookup);\n      const removeDirectAnnotation = node => {\n        var _a, _b;\n        node.attr(dataAnnotationId(), null);\n        node.attr(dataAnnotation(), null);\n        node.attr(dataAnnotationActive(), null);\n        const customAttrNames = Optional.from(node.attr(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n        const customClasses = Optional.from(node.attr(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n        each$e(customAttrNames, name => node.attr(name, null));\n        const classList = (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n        const newClassList = difference(classList, [annotation()].concat(customClasses));\n        node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n        node.attr(dataAnnotationClasses(), null);\n        node.attr(dataAnnotationAttributes(), null);\n      };\n      editor.serializer.addTempAttr(dataAnnotationActive());\n      editor.serializer.addAttributeFilter(dataAnnotation$1, nodes => {\n        for (const node of nodes) {\n          identifyParserNode(node).each(settings => {\n            if (settings.persistent === false) {\n              if (node.name === 'span') {\n                node.unwrap();\n              } else {\n                removeDirectAnnotation(node);\n              }\n            }\n          });\n        }\n      });\n    };\n\n    const create$c = () => {\n      const annotations = {};\n      const register = (name, settings) => {\n        annotations[name] = {\n          name,\n          settings\n        };\n      };\n      const lookup = name => get$a(annotations, name).map(a => a.settings);\n      const getNames = () => keys(annotations);\n      return {\n        register,\n        lookup,\n        getNames\n      };\n    };\n\n    let unique = 0;\n    const generate$1 = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const add = (element, classes) => {\n      each$e(classes, x => {\n        add$2(element, x);\n      });\n    };\n    const remove$4 = (element, classes) => {\n      each$e(classes, x => {\n        remove$7(element, x);\n      });\n    };\n\n    const clone$2 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow$1 = original => clone$2(original, false);\n    const deep$1 = original => clone$2(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$4(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$4(original, nu);\n      const children = children$1(original);\n      append(nu, children);\n      remove$5(original);\n      return nu;\n    };\n\n    const TextWalker = (startNode, rootNode, isBoundary = never) => {\n      const walker = new DomTreeWalker(startNode, rootNode);\n      const walk = direction => {\n        let next;\n        do {\n          next = walker[direction]();\n        } while (next && !isText$a(next) && !isBoundary(next));\n        return Optional.from(next).filter(isText$a);\n      };\n      return {\n        current: () => Optional.from(walker.current()).filter(isText$a),\n        next: () => walk('next'),\n        prev: () => walk('prev'),\n        prev2: () => walk('prev2')\n      };\n    };\n\n    const TextSeeker = (dom, isBoundary) => {\n      const isBlockBoundary = isBoundary ? isBoundary : node => dom.isBlock(node) || isBr$6(node) || isContentEditableFalse$b(node);\n      const walk = (node, offset, walker, process) => {\n        if (isText$a(node)) {\n          const newOffset = process(node, offset, node.data);\n          if (newOffset !== -1) {\n            return Optional.some({\n              container: node,\n              offset: newOffset\n            });\n          }\n        }\n        return walker().bind(next => walk(next.container, next.offset, walker, process));\n      };\n      const backwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.prev().map(prev => ({\n          container: prev,\n          offset: prev.length\n        })), process).getOrNull();\n      };\n      const forwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.next().map(next => ({\n          container: next,\n          offset: 0\n        })), process).getOrNull();\n      };\n      return {\n        backwards,\n        forwards\n      };\n    };\n\n    const round$2 = Math.round;\n    const clone$1 = rect => {\n      if (!rect) {\n        return {\n          left: 0,\n          top: 0,\n          bottom: 0,\n          right: 0,\n          width: 0,\n          height: 0\n        };\n      }\n      return {\n        left: round$2(rect.left),\n        top: round$2(rect.top),\n        bottom: round$2(rect.bottom),\n        right: round$2(rect.right),\n        width: round$2(rect.width),\n        height: round$2(rect.height)\n      };\n    };\n    const collapse = (rect, toStart) => {\n      rect = clone$1(rect);\n      if (toStart) {\n        rect.right = rect.left;\n      } else {\n        rect.left = rect.left + rect.width;\n        rect.right = rect.left;\n      }\n      rect.width = 0;\n      return rect;\n    };\n    const isEqual = (rect1, rect2) => rect1.left === rect2.left && rect1.top === rect2.top && rect1.bottom === rect2.bottom && rect1.right === rect2.right;\n    const isValidOverflow = (overflowY, rect1, rect2) => overflowY >= 0 && overflowY <= Math.min(rect1.height, rect2.height) / 2;\n    const isAbove$1 = (rect1, rect2) => {\n      const halfHeight = Math.min(rect2.height / 2, rect1.height / 2);\n      if (rect1.bottom - halfHeight < rect2.top) {\n        return true;\n      }\n      if (rect1.top > rect2.bottom) {\n        return false;\n      }\n      return isValidOverflow(rect2.top - rect1.bottom, rect1, rect2);\n    };\n    const isBelow$1 = (rect1, rect2) => {\n      if (rect1.top > rect2.bottom) {\n        return true;\n      }\n      if (rect1.bottom < rect2.top) {\n        return false;\n      }\n      return isValidOverflow(rect2.bottom - rect1.top, rect1, rect2);\n    };\n    const containsXY = (rect, clientX, clientY) => clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n    const boundingClientRectFromRects = rects => {\n      return foldl(rects, (acc, rect) => {\n        return acc.fold(() => Optional.some(rect), prevRect => {\n          const left = Math.min(rect.left, prevRect.left);\n          const top = Math.min(rect.top, prevRect.top);\n          const right = Math.max(rect.right, prevRect.right);\n          const bottom = Math.max(rect.bottom, prevRect.bottom);\n          return Optional.some({\n            top,\n            right,\n            bottom,\n            left,\n            width: right - left,\n            height: bottom - top\n          });\n        });\n      }, Optional.none());\n    };\n    const distanceToRectEdgeFromXY = (rect, x, y) => {\n      const cx = Math.max(Math.min(x, rect.left + rect.width), rect.left);\n      const cy = Math.max(Math.min(y, rect.top + rect.height), rect.top);\n      return Math.sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy));\n    };\n    const overlapY = (r1, r2) => Math.max(0, Math.min(r1.bottom, r2.bottom) - Math.max(r1.top, r2.top));\n\n    const clamp$2 = (value, min, max) => Math.min(Math.max(value, min), max);\n\n    const getSelectedNode = range => {\n      const startContainer = range.startContainer,\n        startOffset = range.startOffset;\n      if (startContainer === range.endContainer && startContainer.hasChildNodes() && range.endOffset === startOffset + 1) {\n        return startContainer.childNodes[startOffset];\n      }\n      return null;\n    };\n    const getNode$1 = (container, offset) => {\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const childNodes = container.childNodes;\n        const safeOffset = clamp$2(offset, 0, childNodes.length - 1);\n        return childNodes[safeOffset];\n      } else {\n        return container;\n      }\n    };\n    const getNodeUnsafe = (container, offset) => {\n      if (offset < 0 && isElement$6(container) && container.hasChildNodes()) {\n        return undefined;\n      } else {\n        return getNode$1(container, offset);\n      }\n    };\n\n    const extendingChars = new RegExp('[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a' + '\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0' + '\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e3-\\u0902\\u093a\\u093c' + '\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3' + '\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc' + '\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57' + '\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56' + '\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44' + '\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9' + '\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97' + '\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074' + '\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5' + '\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18' + '\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1ABE\\u1b00-\\u1b03\\u1b34' + '\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9' + '\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9' + '\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20DD-\\u20E0\\u20e1\\u20E2-\\u20E4\\u20e5-\\u20f0\\u2cef-\\u2cf1' + '\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\uA670-\\uA672\\ua674-\\ua67d\\ua69e-\\ua69f\\ua6f0-\\ua6f1' + '\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc' + '\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1' + '\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\uff9e-\\uff9f]');\n    const isExtendingChar = ch => isString(ch) && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n\n    const or = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (args[i](x)) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const and = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (!args[i](x)) {\n            return false;\n          }\n        }\n        return true;\n      };\n    };\n\n    const isElement$4 = isElement$6;\n    const isCaretCandidate$2 = isCaretCandidate$3;\n    const isBlock$2 = matchStyleValues('display', 'block table');\n    const isFloated = matchStyleValues('float', 'left right');\n    const isValidElementCaretCandidate = and(isElement$4, isCaretCandidate$2, not(isFloated));\n    const isNotPre = not(matchStyleValues('white-space', 'pre pre-line pre-wrap'));\n    const isText$7 = isText$a;\n    const isBr$3 = isBr$6;\n    const nodeIndex$1 = DOMUtils.nodeIndex;\n    const resolveIndex$1 = getNodeUnsafe;\n    const createRange$1 = doc => doc ? doc.createRange() : DOMUtils.DOM.createRng();\n    const isWhiteSpace$1 = chr => isString(chr) && /[\\r\\n\\t ]/.test(chr);\n    const isRange = rng => !!rng.setStart && !!rng.setEnd;\n    const isHiddenWhiteSpaceRange = range => {\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isWhiteSpace$1(range.toString()) && isNotPre(container.parentNode) && isText$a(container)) {\n        const text = container.data;\n        if (isWhiteSpace$1(text[offset - 1]) || isWhiteSpace$1(text[offset + 1])) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const getBrClientRect = brNode => {\n      const doc = brNode.ownerDocument;\n      const rng = createRange$1(doc);\n      const nbsp$1 = doc.createTextNode(nbsp);\n      const parentNode = brNode.parentNode;\n      parentNode.insertBefore(nbsp$1, brNode);\n      rng.setStart(nbsp$1, 0);\n      rng.setEnd(nbsp$1, 1);\n      const clientRect = clone$1(rng.getBoundingClientRect());\n      parentNode.removeChild(nbsp$1);\n      return clientRect;\n    };\n    const getBoundingClientRectWebKitText = rng => {\n      const sc = rng.startContainer;\n      const ec = rng.endContainer;\n      const so = rng.startOffset;\n      const eo = rng.endOffset;\n      if (sc === ec && isText$a(ec) && so === 0 && eo === 1) {\n        const newRng = rng.cloneRange();\n        newRng.setEndAfter(ec);\n        return getBoundingClientRect$1(newRng);\n      } else {\n        return null;\n      }\n    };\n    const isZeroRect = r => r.left === 0 && r.right === 0 && r.top === 0 && r.bottom === 0;\n    const getBoundingClientRect$1 = item => {\n      var _a;\n      let clientRect;\n      const clientRects = item.getClientRects();\n      if (clientRects.length > 0) {\n        clientRect = clone$1(clientRects[0]);\n      } else {\n        clientRect = clone$1(item.getBoundingClientRect());\n      }\n      if (!isRange(item) && isBr$3(item) && isZeroRect(clientRect)) {\n        return getBrClientRect(item);\n      }\n      if (isZeroRect(clientRect) && isRange(item)) {\n        return (_a = getBoundingClientRectWebKitText(item)) !== null && _a !== void 0 ? _a : clientRect;\n      }\n      return clientRect;\n    };\n    const collapseAndInflateWidth = (clientRect, toStart) => {\n      const newClientRect = collapse(clientRect, toStart);\n      newClientRect.width = 1;\n      newClientRect.right = newClientRect.left + 1;\n      return newClientRect;\n    };\n    const getCaretPositionClientRects = caretPosition => {\n      const clientRects = [];\n      const addUniqueAndValidRect = clientRect => {\n        if (clientRect.height === 0) {\n          return;\n        }\n        if (clientRects.length > 0) {\n          if (isEqual(clientRect, clientRects[clientRects.length - 1])) {\n            return;\n          }\n        }\n        clientRects.push(clientRect);\n      };\n      const addCharacterOffset = (container, offset) => {\n        const range = createRange$1(container.ownerDocument);\n        if (offset < container.data.length) {\n          if (isExtendingChar(container.data[offset])) {\n            return;\n          }\n          if (isExtendingChar(container.data[offset - 1])) {\n            range.setStart(container, offset);\n            range.setEnd(container, offset + 1);\n            if (!isHiddenWhiteSpaceRange(range)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n              return;\n            }\n          }\n        }\n        if (offset > 0) {\n          range.setStart(container, offset - 1);\n          range.setEnd(container, offset);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n          }\n        }\n        if (offset < container.data.length) {\n          range.setStart(container, offset);\n          range.setEnd(container, offset + 1);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), true));\n          }\n        }\n      };\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (isText$7(container)) {\n        addCharacterOffset(container, offset);\n        return clientRects;\n      }\n      if (isElement$4(container)) {\n        if (caretPosition.isAtEnd()) {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, node.data.length);\n          }\n          if (isValidElementCaretCandidate(node) && !isBr$3(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n          }\n        } else {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, 0);\n          }\n          if (isValidElementCaretCandidate(node) && caretPosition.isAtEnd()) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n            return clientRects;\n          }\n          const beforeNode = resolveIndex$1(caretPosition.container(), caretPosition.offset() - 1);\n          if (isValidElementCaretCandidate(beforeNode) && !isBr$3(beforeNode)) {\n            if (isBlock$2(beforeNode) || isBlock$2(node) || !isValidElementCaretCandidate(node)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(beforeNode), false));\n            }\n          }\n          if (isValidElementCaretCandidate(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), true));\n          }\n        }\n      }\n      return clientRects;\n    };\n    const CaretPosition = (container, offset, clientRects) => {\n      const isAtStart = () => {\n        if (isText$7(container)) {\n          return offset === 0;\n        }\n        return offset === 0;\n      };\n      const isAtEnd = () => {\n        if (isText$7(container)) {\n          return offset >= container.data.length;\n        }\n        return offset >= container.childNodes.length;\n      };\n      const toRange = () => {\n        const range = createRange$1(container.ownerDocument);\n        range.setStart(container, offset);\n        range.setEnd(container, offset);\n        return range;\n      };\n      const getClientRects = () => {\n        if (!clientRects) {\n          clientRects = getCaretPositionClientRects(CaretPosition(container, offset));\n        }\n        return clientRects;\n      };\n      const isVisible = () => getClientRects().length > 0;\n      const isEqual = caretPosition => caretPosition && container === caretPosition.container() && offset === caretPosition.offset();\n      const getNode = before => resolveIndex$1(container, before ? offset - 1 : offset);\n      return {\n        container: constant(container),\n        offset: constant(offset),\n        toRange,\n        getClientRects,\n        isVisible,\n        isAtStart,\n        isAtEnd,\n        isEqual,\n        getNode\n      };\n    };\n    CaretPosition.fromRangeStart = range => CaretPosition(range.startContainer, range.startOffset);\n    CaretPosition.fromRangeEnd = range => CaretPosition(range.endContainer, range.endOffset);\n    CaretPosition.after = node => CaretPosition(node.parentNode, nodeIndex$1(node) + 1);\n    CaretPosition.before = node => CaretPosition(node.parentNode, nodeIndex$1(node));\n    CaretPosition.isAbove = (pos1, pos2) => lift2(head(pos2.getClientRects()), last$3(pos1.getClientRects()), isAbove$1).getOr(false);\n    CaretPosition.isBelow = (pos1, pos2) => lift2(last$3(pos2.getClientRects()), head(pos1.getClientRects()), isBelow$1).getOr(false);\n    CaretPosition.isAtStart = pos => pos ? pos.isAtStart() : false;\n    CaretPosition.isAtEnd = pos => pos ? pos.isAtEnd() : false;\n    CaretPosition.isTextPosition = pos => pos ? isText$a(pos.container()) : false;\n    CaretPosition.isElementPosition = pos => !CaretPosition.isTextPosition(pos);\n\n    const trimEmptyTextNode$1 = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const insertNode = (dom, rng, node) => {\n      rng.insertNode(node);\n      trimEmptyTextNode$1(dom, node.previousSibling);\n      trimEmptyTextNode$1(dom, node.nextSibling);\n    };\n    const insertFragment = (dom, rng, frag) => {\n      const firstChild = Optional.from(frag.firstChild);\n      const lastChild = Optional.from(frag.lastChild);\n      rng.insertNode(frag);\n      firstChild.each(child => trimEmptyTextNode$1(dom, child.previousSibling));\n      lastChild.each(child => trimEmptyTextNode$1(dom, child.nextSibling));\n    };\n    const rangeInsertNode = (dom, rng, node) => {\n      if (isDocumentFragment(node)) {\n        insertFragment(dom, rng, node);\n      } else {\n        insertNode(dom, rng, node);\n      }\n    };\n\n    const isText$6 = isText$a;\n    const isBogus = isBogus$2;\n    const nodeIndex = DOMUtils.nodeIndex;\n    const normalizedParent = node => {\n      const parentNode = node.parentNode;\n      if (isBogus(parentNode)) {\n        return normalizedParent(parentNode);\n      }\n      return parentNode;\n    };\n    const getChildNodes = node => {\n      if (!node) {\n        return [];\n      }\n      return reduce(node.childNodes, (result, node) => {\n        if (isBogus(node) && node.nodeName !== 'BR') {\n          result = result.concat(getChildNodes(node));\n        } else {\n          result.push(node);\n        }\n        return result;\n      }, []);\n    };\n    const normalizedTextOffset = (node, offset) => {\n      let tempNode = node;\n      while (tempNode = tempNode.previousSibling) {\n        if (!isText$6(tempNode)) {\n          break;\n        }\n        offset += tempNode.data.length;\n      }\n      return offset;\n    };\n    const equal = a => b => a === b;\n    const normalizedNodeIndex = node => {\n      let nodes, index;\n      nodes = getChildNodes(normalizedParent(node));\n      index = findIndex$1(nodes, equal(node), node);\n      nodes = nodes.slice(0, index + 1);\n      const numTextFragments = reduce(nodes, (result, node, i) => {\n        if (isText$6(node) && isText$6(nodes[i - 1])) {\n          result++;\n        }\n        return result;\n      }, 0);\n      nodes = filter$3(nodes, matchNodeNames([node.nodeName]));\n      index = findIndex$1(nodes, equal(node), node);\n      return index - numTextFragments;\n    };\n    const createPathItem = node => {\n      const name = isText$6(node) ? 'text()' : node.nodeName.toLowerCase();\n      return name + '[' + normalizedNodeIndex(node) + ']';\n    };\n    const parentsUntil$1 = (root, node, predicate) => {\n      const parents = [];\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (predicate && predicate(tempNode)) {\n          break;\n        }\n        parents.push(tempNode);\n      }\n      return parents;\n    };\n    const create$b = (root, caretPosition) => {\n      let path = [];\n      let container = caretPosition.container();\n      let offset = caretPosition.offset();\n      let outputOffset;\n      if (isText$6(container)) {\n        outputOffset = normalizedTextOffset(container, offset);\n      } else {\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length) {\n          outputOffset = 'after';\n          offset = childNodes.length - 1;\n        } else {\n          outputOffset = 'before';\n        }\n        container = childNodes[offset];\n      }\n      path.push(createPathItem(container));\n      let parents = parentsUntil$1(root, container);\n      parents = filter$3(parents, not(isBogus$2));\n      path = path.concat(map$1(parents, node => {\n        return createPathItem(node);\n      }));\n      return path.reverse().join('/') + ',' + outputOffset;\n    };\n    const resolvePathItem = (node, name, index) => {\n      let nodes = getChildNodes(node);\n      nodes = filter$3(nodes, (node, index) => {\n        return !isText$6(node) || !isText$6(nodes[index - 1]);\n      });\n      nodes = filter$3(nodes, matchNodeNames([name]));\n      return nodes[index];\n    };\n    const findTextPosition = (container, offset) => {\n      let node = container;\n      let targetOffset = 0;\n      while (isText$6(node)) {\n        const dataLen = node.data.length;\n        if (offset >= targetOffset && offset <= targetOffset + dataLen) {\n          container = node;\n          offset = offset - targetOffset;\n          break;\n        }\n        if (!isText$6(node.nextSibling)) {\n          container = node;\n          offset = dataLen;\n          break;\n        }\n        targetOffset += dataLen;\n        node = node.nextSibling;\n      }\n      if (isText$6(container) && offset > container.data.length) {\n        offset = container.data.length;\n      }\n      return CaretPosition(container, offset);\n    };\n    const resolve$1 = (root, path) => {\n      if (!path) {\n        return null;\n      }\n      const parts = path.split(',');\n      const paths = parts[0].split('/');\n      const offset = parts.length > 1 ? parts[1] : 'before';\n      const container = reduce(paths, (result, value) => {\n        const match = /([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(value);\n        if (!match) {\n          return null;\n        }\n        if (match[1] === 'text()') {\n          match[1] = '#text';\n        }\n        return resolvePathItem(result, match[1], parseInt(match[2], 10));\n      }, root);\n      if (!container) {\n        return null;\n      }\n      if (!isText$6(container) && container.parentNode) {\n        let nodeOffset;\n        if (offset === 'after') {\n          nodeOffset = nodeIndex(container) + 1;\n        } else {\n          nodeOffset = nodeIndex(container);\n        }\n        return CaretPosition(container.parentNode, nodeOffset);\n      }\n      return findTextPosition(container, parseInt(offset, 10));\n    };\n\n    const isContentEditableFalse$9 = isContentEditableFalse$b;\n    const getNormalizedTextOffset$1 = (trim, container, offset) => {\n      let trimmedOffset = trim(container.data.slice(0, offset)).length;\n      for (let node = container.previousSibling; node && isText$a(node); node = node.previousSibling) {\n        trimmedOffset += trim(node.data).length;\n      }\n      return trimmedOffset;\n    };\n    const getPoint = (dom, trim, normalized, rng, start) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const point = [];\n      const root = dom.getRoot();\n      if (isText$a(container)) {\n        point.push(normalized ? getNormalizedTextOffset$1(trim, container, offset) : offset);\n      } else {\n        let after = 0;\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length && childNodes.length) {\n          after = 1;\n          offset = Math.max(0, childNodes.length - 1);\n        }\n        point.push(dom.nodeIndex(childNodes[offset], normalized) + after);\n      }\n      for (let node = container; node && node !== root; node = node.parentNode) {\n        point.push(dom.nodeIndex(node, normalized));\n      }\n      return point;\n    };\n    const getLocation = (trim, selection, normalized, rng) => {\n      const dom = selection.dom;\n      const start = getPoint(dom, trim, normalized, rng, true);\n      const forward = selection.isForward();\n      const fakeCaret = isRangeInCaretContainerBlock(rng) ? {\n        isFakeCaret: true\n      } : {};\n      if (!selection.isCollapsed()) {\n        const end = getPoint(dom, trim, normalized, rng, false);\n        return {\n          start,\n          end,\n          forward,\n          ...fakeCaret\n        };\n      } else {\n        return {\n          start,\n          forward,\n          ...fakeCaret\n        };\n      }\n    };\n    const findIndex = (dom, name, element) => {\n      let count = 0;\n      Tools.each(dom.select(name), node => {\n        if (node.getAttribute('data-mce-bogus') === 'all') {\n          return;\n        } else if (node === element) {\n          return false;\n        } else {\n          count++;\n          return;\n        }\n      });\n      return count;\n    };\n    const moveEndPoint$1 = (rng, start) => {\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      if (isElement$6(container) && container.nodeName === 'TR') {\n        const childNodes = container.childNodes;\n        container = childNodes[Math.min(start ? offset : offset - 1, childNodes.length - 1)];\n        if (container) {\n          offset = start ? 0 : container.childNodes.length;\n          if (start) {\n            rng.setStart(container, offset);\n          } else {\n            rng.setEnd(container, offset);\n          }\n        }\n      }\n    };\n    const normalizeTableCellSelection = rng => {\n      moveEndPoint$1(rng, true);\n      moveEndPoint$1(rng, false);\n      return rng;\n    };\n    const findSibling = (node, offset) => {\n      if (isElement$6(node)) {\n        node = getNode$1(node, offset);\n        if (isContentEditableFalse$9(node)) {\n          return node;\n        }\n      }\n      if (isCaretContainer$2(node)) {\n        if (isText$a(node) && isCaretContainerBlock$1(node)) {\n          node = node.parentNode;\n        }\n        let sibling = node.previousSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n        sibling = node.nextSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n      }\n      return undefined;\n    };\n    const findAdjacentContentEditableFalseElm = rng => {\n      return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset);\n    };\n    const getOffsetBookmark = (trim, normalized, selection) => {\n      const element = selection.getNode();\n      const rng = selection.getRng();\n      if (element.nodeName === 'IMG' || isContentEditableFalse$9(element)) {\n        const name = element.nodeName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, element)\n        };\n      }\n      const sibling = findAdjacentContentEditableFalseElm(rng);\n      if (sibling) {\n        const name = sibling.tagName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, sibling)\n        };\n      }\n      return getLocation(trim, selection, normalized, rng);\n    };\n    const getCaretBookmark = selection => {\n      const rng = selection.getRng();\n      return {\n        start: create$b(selection.dom.getRoot(), CaretPosition.fromRangeStart(rng)),\n        end: create$b(selection.dom.getRoot(), CaretPosition.fromRangeEnd(rng)),\n        forward: selection.isForward()\n      };\n    };\n    const getRangeBookmark = selection => {\n      return {\n        rng: selection.getRng(),\n        forward: selection.isForward()\n      };\n    };\n    const createBookmarkSpan = (dom, id, filled) => {\n      const args = {\n        'data-mce-type': 'bookmark',\n        id,\n        'style': 'overflow:hidden;line-height:0px'\n      };\n      return filled ? dom.create('span', args, '&#xFEFF;') : dom.create('span', args);\n    };\n    const getPersistentBookmark = (selection, filled) => {\n      const dom = selection.dom;\n      let rng = selection.getRng();\n      const id = dom.uniqueId();\n      const collapsed = selection.isCollapsed();\n      const element = selection.getNode();\n      const name = element.nodeName;\n      const forward = selection.isForward();\n      if (name === 'IMG') {\n        return {\n          name,\n          index: findIndex(dom, name, element)\n        };\n      }\n      const rng2 = normalizeTableCellSelection(rng.cloneRange());\n      if (!collapsed) {\n        rng2.collapse(false);\n        const endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);\n        rangeInsertNode(dom, rng2, endBookmarkNode);\n      }\n      rng = normalizeTableCellSelection(rng);\n      rng.collapse(true);\n      const startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);\n      rangeInsertNode(dom, rng, startBookmarkNode);\n      selection.moveToBookmark({\n        id,\n        keep: true,\n        forward\n      });\n      return {\n        id,\n        forward\n      };\n    };\n    const getBookmark$2 = (selection, type, normalized = false) => {\n      if (type === 2) {\n        return getOffsetBookmark(trim$2, normalized, selection);\n      } else if (type === 3) {\n        return getCaretBookmark(selection);\n      } else if (type) {\n        return getRangeBookmark(selection);\n      } else {\n        return getPersistentBookmark(selection, false);\n      }\n    };\n    const getUndoBookmark = curry(getOffsetBookmark, identity, true);\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply$1,\n        orThunk: apply$1,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const generate = cases => {\n      if (!isArray$1(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$e(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray$1(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n    const partition$1 = results => {\n      const errors = [];\n      const values = [];\n      each$e(results, result => {\n        result.fold(err => {\n          errors.push(err);\n        }, value => {\n          values.push(value);\n        });\n      });\n      return {\n        errors,\n        values\n      };\n    };\n\n    const isInlinePattern = pattern => pattern.type === 'inline-command' || pattern.type === 'inline-format';\n    const isBlockPattern = pattern => pattern.type === 'block-command' || pattern.type === 'block-format';\n    const normalizePattern = pattern => {\n      const err = message => Result.error({\n        message,\n        pattern\n      });\n      const formatOrCmd = (name, onFormat, onCommand) => {\n        if (pattern.format !== undefined) {\n          let formats;\n          if (isArray$1(pattern.format)) {\n            if (!forall(pattern.format, isString)) {\n              return err(name + ' pattern has non-string items in the `format` array');\n            }\n            formats = pattern.format;\n          } else if (isString(pattern.format)) {\n            formats = [pattern.format];\n          } else {\n            return err(name + ' pattern has non-string `format` parameter');\n          }\n          return Result.value(onFormat(formats));\n        } else if (pattern.cmd !== undefined) {\n          if (!isString(pattern.cmd)) {\n            return err(name + ' pattern has non-string `cmd` parameter');\n          }\n          return Result.value(onCommand(pattern.cmd, pattern.value));\n        } else {\n          return err(name + ' pattern is missing both `format` and `cmd` parameters');\n        }\n      };\n      if (!isObject(pattern)) {\n        return err('Raw pattern is not an object');\n      }\n      if (!isString(pattern.start)) {\n        return err('Raw pattern is missing `start` parameter');\n      }\n      if (pattern.end !== undefined) {\n        if (!isString(pattern.end)) {\n          return err('Inline pattern has non-string `end` parameter');\n        }\n        if (pattern.start.length === 0 && pattern.end.length === 0) {\n          return err('Inline pattern has empty `start` and `end` parameters');\n        }\n        let start = pattern.start;\n        let end = pattern.end;\n        if (end.length === 0) {\n          end = start;\n          start = '';\n        }\n        return formatOrCmd('Inline', format => ({\n          type: 'inline-format',\n          start,\n          end,\n          format\n        }), (cmd, value) => ({\n          type: 'inline-command',\n          start,\n          end,\n          cmd,\n          value\n        }));\n      } else if (pattern.replacement !== undefined) {\n        if (!isString(pattern.replacement)) {\n          return err('Replacement pattern has non-string `replacement` parameter');\n        }\n        if (pattern.start.length === 0) {\n          return err('Replacement pattern has empty `start` parameter');\n        }\n        return Result.value({\n          type: 'inline-command',\n          start: '',\n          end: pattern.start,\n          cmd: 'mceInsertContent',\n          value: pattern.replacement\n        });\n      } else {\n        if (pattern.start.length === 0) {\n          return err('Block pattern has empty `start` parameter');\n        }\n        return formatOrCmd('Block', formats => ({\n          type: 'block-format',\n          start: pattern.start,\n          format: formats[0]\n        }), (command, commandValue) => ({\n          type: 'block-command',\n          start: pattern.start,\n          cmd: command,\n          value: commandValue\n        }));\n      }\n    };\n    const getBlockPatterns = patterns => filter$5(patterns, isBlockPattern);\n    const getInlinePatterns = patterns => filter$5(patterns, isInlinePattern);\n    const createPatternSet = (patterns, dynamicPatternsLookup) => ({\n      inlinePatterns: getInlinePatterns(patterns),\n      blockPatterns: getBlockPatterns(patterns),\n      dynamicPatternsLookup\n    });\n    const fromRawPatterns = patterns => {\n      const normalized = partition$1(map$3(patterns, normalizePattern));\n      each$e(normalized.errors, err => console.error(err.message, err.pattern));\n      return normalized.values;\n    };\n    const fromRawPatternsLookup = lookupFn => {\n      return ctx => {\n        const rawPatterns = lookupFn(ctx);\n        return fromRawPatterns(rawPatterns);\n      };\n    };\n\n    const deviceDetection$1 = detect$2().deviceType;\n    const isTouch = deviceDetection$1.isTouch();\n    const DOM$a = DOMUtils.DOM;\n    const getHash = value => {\n      const items = value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(',');\n      return foldl(items, (output, item) => {\n        const arr = item.split('=');\n        const key = arr[0];\n        const val = arr.length > 1 ? arr[1] : key;\n        output[trim$4(key)] = trim$4(val);\n        return output;\n      }, {});\n    };\n    const isRegExp = x => is$4(x, RegExp);\n    const option = name => editor => editor.options.get(name);\n    const stringOrObjectProcessor = value => isString(value) || isObject(value);\n    const bodyOptionProcessor = (editor, defaultValue = '') => value => {\n      const valid = isString(value);\n      if (valid) {\n        if (value.indexOf('=') !== -1) {\n          const bodyObj = getHash(value);\n          return {\n            value: get$a(bodyObj, editor.id).getOr(defaultValue),\n            valid\n          };\n        } else {\n          return {\n            value,\n            valid\n          };\n        }\n      } else {\n        return {\n          valid: false,\n          message: 'Must be a string.'\n        };\n      }\n    };\n    const register$7 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('id', {\n        processor: 'string',\n        default: editor.id\n      });\n      registerOption('selector', {\n        processor: 'string'\n      });\n      registerOption('target', {\n        processor: 'object'\n      });\n      registerOption('suffix', {\n        processor: 'string'\n      });\n      registerOption('cache_suffix', {\n        processor: 'string'\n      });\n      registerOption('base_url', {\n        processor: 'string'\n      });\n      registerOption('referrer_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('language_load', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('iframe_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('doctype', {\n        processor: 'string',\n        default: '<!DOCTYPE html>'\n      });\n      registerOption('document_base_url', {\n        processor: 'string',\n        default: editor.documentBaseUrl\n      });\n      registerOption('body_id', {\n        processor: bodyOptionProcessor(editor, 'tinymce'),\n        default: 'tinymce'\n      });\n      registerOption('body_class', {\n        processor: bodyOptionProcessor(editor),\n        default: ''\n      });\n      registerOption('content_security_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('br_in_pre', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('forced_root_block', {\n        processor: value => {\n          const valid = isString(value) && isNotEmpty(value);\n          if (valid) {\n            return {\n              value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a non-empty string.'\n            };\n          }\n        },\n        default: 'p'\n      });\n      registerOption('forced_root_block_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('newline_behavior', {\n        processor: value => {\n          const valid = contains$2(['block', 'linebreak', 'invert', 'default'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: block, linebreak, invert or default.'\n          };\n        },\n        default: 'default'\n      });\n      registerOption('br_newline_selector', {\n        processor: 'string',\n        default: '.mce-toc h2,figcaption,caption'\n      });\n      registerOption('no_newline_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('keep_styles', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('end_container_on_empty_block', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else if (isString(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: 'blockquote'\n      });\n      registerOption('font_size_style_values', {\n        processor: 'string',\n        default: 'xx-small,x-small,small,medium,large,x-large,xx-large'\n      });\n      registerOption('font_size_legacy_values', {\n        processor: 'string',\n        default: 'xx-small,small,medium,large,x-large,xx-large,300%'\n      });\n      registerOption('font_size_classes', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('automatic_uploads', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('images_reuse_filename', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_replace_blob_uris', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('icons', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('icons_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_base_path', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_credentials', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_upload_handler', {\n        processor: 'function'\n      });\n      registerOption('language', {\n        processor: 'string',\n        default: 'en'\n      });\n      registerOption('language_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('entity_encoding', {\n        processor: 'string',\n        default: 'named'\n      });\n      registerOption('indent', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('indent_before', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_after', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_use_margin', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('indentation', {\n        processor: 'string',\n        default: '40px'\n      });\n      registerOption('content_css', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            if (isString(value)) {\n              return {\n                value: map$3(value.split(','), trim$4),\n                valid\n              };\n            } else if (isArray$1(value)) {\n              return {\n                value,\n                valid\n              };\n            } else if (value === false) {\n              return {\n                value: [],\n                valid\n              };\n            } else {\n              return {\n                value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false, a string or an array of strings.'\n            };\n          }\n        },\n        default: isInline$1(editor) ? [] : ['default']\n      });\n      registerOption('content_style', {\n        processor: 'string'\n      });\n      registerOption('content_css_cors', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('font_css', {\n        processor: value => {\n          const valid = isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            const newValue = isArray$1(value) ? value : map$3(value.split(','), trim$4);\n            return {\n              value: newValue,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or an array of strings.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('inline_boundaries', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline_boundaries_selector', {\n        processor: 'string',\n        default: 'a[href],code,span.mce-annotation'\n      });\n      registerOption('object_resizing', {\n        processor: value => {\n          const valid = isBoolean(value) || isString(value);\n          if (valid) {\n            if (value === false || deviceDetection$1.isiPhone() || deviceDetection$1.isiPad()) {\n              return {\n                value: '',\n                valid\n              };\n            } else {\n              return {\n                value: value === true ? 'table,img,figure.image,div,video,iframe' : value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: !isTouch\n      });\n      registerOption('resize_img_proportional', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('event_root', {\n        processor: 'object'\n      });\n      registerOption('service_message', {\n        processor: 'string'\n      });\n      registerOption('theme', {\n        processor: value => value === false || isString(value) || isFunction(value),\n        default: 'silver'\n      });\n      registerOption('theme_url', {\n        processor: 'string'\n      });\n      registerOption('formats', {\n        processor: 'object'\n      });\n      registerOption('format_empty_lines', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('format_noneditable_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('preview_styles', {\n        processor: value => {\n          const valid = value === false || isString(value);\n          if (valid) {\n            return {\n              value: value === false ? '' : value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false or a string'\n            };\n          }\n        },\n        default: 'font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow'\n      });\n      registerOption('custom_ui_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('hidden_input', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('submit_patch', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('encoding', {\n        processor: 'string'\n      });\n      registerOption('add_form_submit_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('add_unload_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_undo_redo_levels', {\n        processor: 'number',\n        default: 0\n      });\n      registerOption('disable_nodechange', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('readonly', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('editable_root', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('plugins', {\n        processor: 'string[]',\n        default: []\n      });\n      registerOption('external_plugins', {\n        processor: 'object'\n      });\n      registerOption('forced_plugins', {\n        processor: 'string[]'\n      });\n      registerOption('model', {\n        processor: 'string',\n        default: editor.hasPlugin('rtc') ? 'plugin' : 'dom'\n      });\n      registerOption('model_url', {\n        processor: 'string'\n      });\n      registerOption('block_unsupported_drop', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual_table_class', {\n        processor: 'string',\n        default: 'mce-item-table'\n      });\n      registerOption('visual_anchor_class', {\n        processor: 'string',\n        default: 'mce-item-anchor'\n      });\n      registerOption('iframe_aria_text', {\n        processor: 'string',\n        default: 'Rich Text Area. Press ALT-0 for help.'\n      });\n      registerOption('setup', {\n        processor: 'function'\n      });\n      registerOption('init_instance_callback', {\n        processor: 'function'\n      });\n      registerOption('url_converter', {\n        processor: 'function',\n        default: editor.convertURL\n      });\n      registerOption('url_converter_scope', {\n        processor: 'object',\n        default: editor\n      });\n      registerOption('urlconverter_callback', {\n        processor: 'function'\n      });\n      registerOption('allow_conditional_comments', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_html_data_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_svg_data_urls', {\n        processor: 'boolean'\n      });\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_script_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_fonts_to_spans', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('fix_list_elements', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('preserve_cdata', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('remove_trailing_brs', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('pad_empty_with_br', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('inline_styles', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('element_format', {\n        processor: 'string',\n        default: 'html'\n      });\n      registerOption('entities', {\n        processor: 'string'\n      });\n      registerOption('schema', {\n        processor: 'string',\n        default: 'html5'\n      });\n      registerOption('convert_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('relative_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('remove_script_host', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_elements', {\n        processor: 'string'\n      });\n      registerOption('extended_valid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_children', {\n        processor: 'string'\n      });\n      registerOption('valid_classes', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_elements', {\n        processor: 'string'\n      });\n      registerOption('valid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('verify_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('auto_focus', {\n        processor: value => isString(value) || value === true\n      });\n      registerOption('browser_spellcheck', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('protect', {\n        processor: 'array'\n      });\n      registerOption('images_file_types', {\n        processor: 'string',\n        default: 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp'\n      });\n      registerOption('deprecation_warnings', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('a11y_advanced_options', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('api_key', {\n        processor: 'string'\n      });\n      registerOption('paste_block_drop', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_data_images', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_preprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_postprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_webkit_styles', {\n        processor: 'string',\n        default: 'none'\n      });\n      registerOption('paste_remove_styles_if_webkit', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_merge_formats', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('smart_paste', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_as_text', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_tab_spaces', {\n        processor: 'number',\n        default: 4\n      });\n      registerOption('text_patterns', {\n        processor: value => {\n          if (isArrayOf(value, isObject) || value === false) {\n            const patterns = value === false ? [] : value;\n            return {\n              value: fromRawPatterns(patterns),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be an array of objects or false.'\n            };\n          }\n        },\n        default: [{\n          start: '*',\n          end: '*',\n          format: 'italic'\n        }, {\n          start: '**',\n          end: '**',\n          format: 'bold'\n        }, {\n          start: '#',\n          format: 'h1'\n        }, {\n          start: '##',\n          format: 'h2'\n        }, {\n          start: '###',\n          format: 'h3'\n        }, {\n          start: '####',\n          format: 'h4'\n        }, {\n          start: '#####',\n          format: 'h5'\n        }, {\n          start: '######',\n          format: 'h6'\n        }, {\n          start: '1. ',\n          cmd: 'InsertOrderedList'\n        }, {\n          start: '* ',\n          cmd: 'InsertUnorderedList'\n        }, {\n          start: '- ',\n          cmd: 'InsertUnorderedList'\n        }]\n      });\n      registerOption('text_patterns_lookup', {\n        processor: value => {\n          if (isFunction(value)) {\n            return {\n              value: fromRawPatternsLookup(value),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a single function'\n            };\n          }\n        },\n        default: _ctx => []\n      });\n      registerOption('noneditable_class', {\n        processor: 'string',\n        default: 'mceNonEditable'\n      });\n      registerOption('editable_class', {\n        processor: 'string',\n        default: 'mceEditable'\n      });\n      registerOption('noneditable_regexp', {\n        processor: value => {\n          if (isArrayOf(value, isRegExp)) {\n            return {\n              value,\n              valid: true\n            };\n          } else if (isRegExp(value)) {\n            return {\n              value: [value],\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a RegExp or an array of RegExp.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('table_tab_navigation', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('highlight_on_focus', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('xss_sanitization', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('details_initial_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('details_serialized_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('init_content_sync', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('newdocument_content', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('force_hex_color', {\n        processor: value => {\n          const options = ['always', 'rgb_only', 'off'];\n          const valid = contains$2(options, value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: \"Must be one of: \".concat(options.join(', '), \".\")\n          };\n        },\n        default: 'off'\n      });\n      registerOption('sandbox_iframes', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_unsafe_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_convert_blobs_to_base64', {\n        processor: 'boolean',\n        default: true\n      });\n      editor.on('ScriptsLoaded', () => {\n        registerOption('directionality', {\n          processor: 'string',\n          default: I18n.isRtl() ? 'rtl' : undefined\n        });\n        registerOption('placeholder', {\n          processor: 'string',\n          default: DOM$a.getAttrib(editor.getElement(), 'placeholder')\n        });\n      });\n    };\n    const getIframeAttrs = option('iframe_attrs');\n    const getDocType = option('doctype');\n    const getDocumentBaseUrl = option('document_base_url');\n    const getBodyId = option('body_id');\n    const getBodyClass = option('body_class');\n    const getContentSecurityPolicy = option('content_security_policy');\n    const shouldPutBrInPre$1 = option('br_in_pre');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n    const getNewlineBehavior = option('newline_behavior');\n    const getBrNewLineSelector = option('br_newline_selector');\n    const getNoNewLineSelector = option('no_newline_selector');\n    const shouldKeepStyles = option('keep_styles');\n    const shouldEndContainerOnEmptyBlock = option('end_container_on_empty_block');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const shouldReuseFileName = option('images_reuse_filename');\n    const shouldReplaceBlobUris = option('images_replace_blob_uris');\n    const getIconPackName = option('icons');\n    const getIconsUrl = option('icons_url');\n    const getImageUploadUrl = option('images_upload_url');\n    const getImageUploadBasePath = option('images_upload_base_path');\n    const getImagesUploadCredentials = option('images_upload_credentials');\n    const getImagesUploadHandler = option('images_upload_handler');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getReferrerPolicy = option('referrer_policy');\n    const getLanguageCode = option('language');\n    const getLanguageUrl = option('language_url');\n    const shouldIndentUseMargin = option('indent_use_margin');\n    const getIndentation = option('indentation');\n    const getContentCss = option('content_css');\n    const getContentStyle = option('content_style');\n    const getFontCss = option('font_css');\n    const getDirectionality = option('directionality');\n    const getInlineBoundarySelector = option('inline_boundaries_selector');\n    const getObjectResizing = option('object_resizing');\n    const getResizeImgProportional = option('resize_img_proportional');\n    const getPlaceholder = option('placeholder');\n    const getEventRoot = option('event_root');\n    const getServiceMessage = option('service_message');\n    const getTheme = option('theme');\n    const getThemeUrl = option('theme_url');\n    const getModel = option('model');\n    const getModelUrl = option('model_url');\n    const isInlineBoundariesEnabled = option('inline_boundaries');\n    const getFormats = option('formats');\n    const getPreviewStyles = option('preview_styles');\n    const canFormatEmptyLines = option('format_empty_lines');\n    const getFormatNoneditableSelector = option('format_noneditable_selector');\n    const getCustomUiSelector = option('custom_ui_selector');\n    const isInline$1 = option('inline');\n    const hasHiddenInput = option('hidden_input');\n    const shouldPatchSubmit = option('submit_patch');\n    const shouldAddFormSubmitTrigger = option('add_form_submit_trigger');\n    const shouldAddUnloadTrigger = option('add_unload_trigger');\n    const getCustomUndoRedoLevels = option('custom_undo_redo_levels');\n    const shouldDisableNodeChange = option('disable_nodechange');\n    const isReadOnly$1 = option('readonly');\n    const hasEditableRoot$1 = option('editable_root');\n    const hasContentCssCors = option('content_css_cors');\n    const getPlugins = option('plugins');\n    const getExternalPlugins$1 = option('external_plugins');\n    const shouldBlockUnsupportedDrop = option('block_unsupported_drop');\n    const isVisualAidsEnabled = option('visual');\n    const getVisualAidsTableClass = option('visual_table_class');\n    const getVisualAidsAnchorClass = option('visual_anchor_class');\n    const getIframeAriaText = option('iframe_aria_text');\n    const getSetupCallback = option('setup');\n    const getInitInstanceCallback = option('init_instance_callback');\n    const getUrlConverterCallback = option('urlconverter_callback');\n    const getAutoFocus = option('auto_focus');\n    const shouldBrowserSpellcheck = option('browser_spellcheck');\n    const getProtect = option('protect');\n    const shouldPasteBlockDrop = option('paste_block_drop');\n    const shouldPasteDataImages = option('paste_data_images');\n    const getPastePreProcess = option('paste_preprocess');\n    const getPastePostProcess = option('paste_postprocess');\n    const getNewDocumentContent = option('newdocument_content');\n    const getPasteWebkitStyles = option('paste_webkit_styles');\n    const shouldPasteRemoveWebKitStyles = option('paste_remove_styles_if_webkit');\n    const shouldPasteMergeFormats = option('paste_merge_formats');\n    const isSmartPasteEnabled = option('smart_paste');\n    const isPasteAsTextEnabled = option('paste_as_text');\n    const getPasteTabSpaces = option('paste_tab_spaces');\n    const shouldAllowHtmlDataUrls = option('allow_html_data_urls');\n    const getTextPatterns = option('text_patterns');\n    const getTextPatternsLookup = option('text_patterns_lookup');\n    const getNonEditableClass = option('noneditable_class');\n    const getEditableClass = option('editable_class');\n    const getNonEditableRegExps = option('noneditable_regexp');\n    const shouldPreserveCData = option('preserve_cdata');\n    const shouldHighlightOnFocus = option('highlight_on_focus');\n    const shouldSanitizeXss = option('xss_sanitization');\n    const shouldUseDocumentWrite = option('init_content_sync');\n    const hasTextPatternsLookup = editor => editor.options.isSet('text_patterns_lookup');\n    const getFontStyleValues = editor => Tools.explode(editor.options.get('font_size_style_values'));\n    const getFontSizeClasses = editor => Tools.explode(editor.options.get('font_size_classes'));\n    const isEncodingXml = editor => editor.options.get('encoding') === 'xml';\n    const getAllowedImageFileTypes = editor => Tools.explode(editor.options.get('images_file_types'));\n    const hasTableTabNavigation = option('table_tab_navigation');\n    const getDetailsInitialState = option('details_initial_state');\n    const getDetailsSerializedState = option('details_serialized_state');\n    const shouldForceHexColor = option('force_hex_color');\n    const shouldSandboxIframes = option('sandbox_iframes');\n    const shouldConvertBlobstoBase64 = option('sn_convert_blobs_to_base64');\n\n    const isElement$3 = isElement$6;\n    const isText$5 = isText$a;\n    const removeNode$1 = node => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        parentNode.removeChild(node);\n      }\n    };\n    const trimCount = text => {\n      const trimmedText = trim$2(text);\n      return {\n        count: text.length - trimmedText.length,\n        text: trimmedText\n      };\n    };\n    const deleteZwspChars = caretContainer => {\n      let idx;\n      while ((idx = caretContainer.data.lastIndexOf(ZWSP$1)) !== -1) {\n        caretContainer.deleteData(idx, 1);\n      }\n    };\n    const removeUnchanged = (caretContainer, pos) => {\n      remove$3(caretContainer);\n      return pos;\n    };\n    const removeTextAndReposition = (caretContainer, pos) => {\n      const before = trimCount(caretContainer.data.substr(0, pos.offset()));\n      const after = trimCount(caretContainer.data.substr(pos.offset()));\n      const text = before.text + after.text;\n      if (text.length > 0) {\n        deleteZwspChars(caretContainer);\n        return CaretPosition(caretContainer, pos.offset() - before.count);\n      } else {\n        return pos;\n      }\n    };\n    const removeElementAndReposition = (caretContainer, pos) => {\n      const parentNode = pos.container();\n      const newPosition = indexOf$1(from(parentNode.childNodes), caretContainer).map(index => {\n        return index < pos.offset() ? CaretPosition(parentNode, pos.offset() - 1) : pos;\n      }).getOr(pos);\n      remove$3(caretContainer);\n      return newPosition;\n    };\n    const removeTextCaretContainer = (caretContainer, pos) => isText$5(caretContainer) && pos.container() === caretContainer ? removeTextAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeElementCaretContainer = (caretContainer, pos) => pos.container() === caretContainer.parentNode ? removeElementAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeAndReposition = (container, pos) => CaretPosition.isTextPosition(pos) ? removeTextCaretContainer(container, pos) : removeElementCaretContainer(container, pos);\n    const remove$3 = caretContainerNode => {\n      if (isElement$3(caretContainerNode) && isCaretContainer$2(caretContainerNode)) {\n        if (hasContent(caretContainerNode)) {\n          caretContainerNode.removeAttribute('data-mce-caret');\n        } else {\n          removeNode$1(caretContainerNode);\n        }\n      }\n      if (isText$5(caretContainerNode)) {\n        deleteZwspChars(caretContainerNode);\n        if (caretContainerNode.data.length === 0) {\n          removeNode$1(caretContainerNode);\n        }\n      }\n    };\n\n    const isContentEditableFalse$8 = isContentEditableFalse$b;\n    const isMedia$1 = isMedia$2;\n    const isTableCell$1 = isTableCell$3;\n    const inlineFakeCaretSelector = '*[contentEditable=false],video,audio,embed,object';\n    const getAbsoluteClientRect = (root, element, before) => {\n      const clientRect = collapse(element.getBoundingClientRect(), before);\n      let scrollX;\n      let scrollY;\n      if (root.tagName === 'BODY') {\n        const docElm = root.ownerDocument.documentElement;\n        scrollX = root.scrollLeft || docElm.scrollLeft;\n        scrollY = root.scrollTop || docElm.scrollTop;\n      } else {\n        const rootRect = root.getBoundingClientRect();\n        scrollX = root.scrollLeft - rootRect.left;\n        scrollY = root.scrollTop - rootRect.top;\n      }\n      clientRect.left += scrollX;\n      clientRect.right += scrollX;\n      clientRect.top += scrollY;\n      clientRect.bottom += scrollY;\n      clientRect.width = 1;\n      let margin = element.offsetWidth - element.clientWidth;\n      if (margin > 0) {\n        if (before) {\n          margin *= -1;\n        }\n        clientRect.left += margin;\n        clientRect.right += margin;\n      }\n      return clientRect;\n    };\n    const trimInlineCaretContainers = root => {\n      var _a, _b;\n      const fakeCaretTargetNodes = descendants(SugarElement.fromDom(root), inlineFakeCaretSelector);\n      for (let i = 0; i < fakeCaretTargetNodes.length; i++) {\n        const node = fakeCaretTargetNodes[i].dom;\n        let sibling = node.previousSibling;\n        if (endsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_a = sibling.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(sibling);\n          } else {\n            sibling.deleteData(data.length - 1, 1);\n          }\n        }\n        sibling = node.nextSibling;\n        if (startsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_b = sibling.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(sibling);\n          } else {\n            sibling.deleteData(0, 1);\n          }\n        }\n      }\n    };\n    const FakeCaret = (editor, root, isBlock, hasFocus) => {\n      const lastVisualCaret = value$2();\n      let cursorInterval;\n      let caretContainerNode;\n      const caretBlock = getForcedRootBlock(editor);\n      const dom = editor.dom;\n      const show = (before, element) => {\n        let rng;\n        hide();\n        if (isTableCell$1(element)) {\n          return null;\n        }\n        if (isBlock(element)) {\n          const caretContainer = insertBlock(caretBlock, element, before);\n          const clientRect = getAbsoluteClientRect(root, element, before);\n          dom.setStyle(caretContainer, 'top', clientRect.top);\n          caretContainerNode = caretContainer;\n          const caret = dom.create('div', {\n            'class': 'mce-visual-caret',\n            'data-mce-bogus': 'all'\n          });\n          dom.setStyles(caret, {\n            ...clientRect\n          });\n          dom.add(root, caret);\n          lastVisualCaret.set({\n            caret,\n            element,\n            before\n          });\n          if (before) {\n            dom.addClass(caret, 'mce-visual-caret-before');\n          }\n          startBlink();\n          rng = element.ownerDocument.createRange();\n          rng.setStart(caretContainer, 0);\n          rng.setEnd(caretContainer, 0);\n        } else {\n          caretContainerNode = insertInline$1(element, before);\n          rng = element.ownerDocument.createRange();\n          if (isInlineFakeCaretTarget(caretContainerNode.nextSibling)) {\n            rng.setStart(caretContainerNode, 0);\n            rng.setEnd(caretContainerNode, 0);\n          } else {\n            rng.setStart(caretContainerNode, 1);\n            rng.setEnd(caretContainerNode, 1);\n          }\n          return rng;\n        }\n        return rng;\n      };\n      const hide = () => {\n        trimInlineCaretContainers(root);\n        if (caretContainerNode) {\n          remove$3(caretContainerNode);\n          caretContainerNode = null;\n        }\n        lastVisualCaret.on(caretState => {\n          dom.remove(caretState.caret);\n          lastVisualCaret.clear();\n        });\n        if (cursorInterval) {\n          clearInterval(cursorInterval);\n          cursorInterval = undefined;\n        }\n      };\n      const startBlink = () => {\n        cursorInterval = setInterval(() => {\n          lastVisualCaret.on(caretState => {\n            if (hasFocus()) {\n              dom.toggleClass(caretState.caret, 'mce-visual-caret-hidden');\n            } else {\n              dom.addClass(caretState.caret, 'mce-visual-caret-hidden');\n            }\n          });\n        }, 500);\n      };\n      const reposition = () => {\n        lastVisualCaret.on(caretState => {\n          const clientRect = getAbsoluteClientRect(root, caretState.element, caretState.before);\n          dom.setStyles(caretState.caret, {\n            ...clientRect\n          });\n        });\n      };\n      const destroy = () => clearInterval(cursorInterval);\n      const getCss = () => '.mce-visual-caret {' + 'position: absolute;' + 'background-color: black;' + 'background-color: currentcolor;' + '}' + '.mce-visual-caret-hidden {' + 'display: none;' + '}' + '*[data-mce-caret] {' + 'position: absolute;' + 'left: -1000px;' + 'right: auto;' + 'top: 0;' + 'margin: 0;' + 'padding: 0;' + '}';\n      return {\n        show,\n        hide,\n        getCss,\n        reposition,\n        destroy\n      };\n    };\n    const isFakeCaretTableBrowser = () => Env.browser.isFirefox();\n    const isInlineFakeCaretTarget = node => isContentEditableFalse$8(node) || isMedia$1(node);\n    const isFakeCaretTarget = node => {\n      const isTarget = isInlineFakeCaretTarget(node) || isTable$2(node) && isFakeCaretTableBrowser();\n      return isTarget && parentElement(SugarElement.fromDom(node)).exists(isEditable$2);\n    };\n\n    const isContentEditableTrue$1 = isContentEditableTrue$3;\n    const isContentEditableFalse$7 = isContentEditableFalse$b;\n    const isMedia = isMedia$2;\n    const isBlockLike = matchStyleValues('display', 'block table table-cell table-caption list-item');\n    const isCaretContainer = isCaretContainer$2;\n    const isCaretContainerBlock = isCaretContainerBlock$1;\n    const isElement$2 = isElement$6;\n    const isText$4 = isText$a;\n    const isCaretCandidate$1 = isCaretCandidate$3;\n    const isForwards = direction => direction > 0;\n    const isBackwards = direction => direction < 0;\n    const skipCaretContainers = (walk, shallow) => {\n      let node;\n      while (node = walk(shallow)) {\n        if (!isCaretContainerBlock(node)) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const findNode = (node, direction, predicateFn, rootNode, shallow) => {\n      const walker = new DomTreeWalker(node, rootNode);\n      const isCefOrCaretContainer = isContentEditableFalse$7(node) || isCaretContainerBlock(node);\n      let tempNode;\n      if (isBackwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.prev.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.prev.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      if (isForwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.next.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.next.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const getEditingHost = (node, rootNode) => {\n      const isCETrue = node => isContentEditableTrue$1(node.dom);\n      const isRoot = node => node.dom === rootNode;\n      return ancestor$4(SugarElement.fromDom(node), isCETrue, isRoot).map(elm => elm.dom).getOr(rootNode);\n    };\n    const getParentBlock$3 = (node, rootNode) => {\n      while (node && node !== rootNode) {\n        if (isBlockLike(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    const isInSameBlock = (caretPosition1, caretPosition2, rootNode) => getParentBlock$3(caretPosition1.container(), rootNode) === getParentBlock$3(caretPosition2.container(), rootNode);\n    const getChildNodeAtRelativeOffset = (relativeOffset, caretPosition) => {\n      if (!caretPosition) {\n        return Optional.none();\n      }\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (!isElement$2(container)) {\n        return Optional.none();\n      }\n      return Optional.from(container.childNodes[offset + relativeOffset]);\n    };\n    const beforeAfter = (before, node) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const range = doc.createRange();\n      if (before) {\n        range.setStartBefore(node);\n        range.setEndBefore(node);\n      } else {\n        range.setStartAfter(node);\n        range.setEndAfter(node);\n      }\n      return range;\n    };\n    const isNodesInSameBlock = (root, node1, node2) => getParentBlock$3(node1, root) === getParentBlock$3(node2, root);\n    const lean = (left, root, node) => {\n      const siblingName = left ? 'previousSibling' : 'nextSibling';\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        let sibling = tempNode[siblingName];\n        if (sibling && isCaretContainer(sibling)) {\n          sibling = sibling[siblingName];\n        }\n        if (isContentEditableFalse$7(sibling) || isMedia(sibling)) {\n          if (isNodesInSameBlock(root, sibling, tempNode)) {\n            return sibling;\n          }\n          break;\n        }\n        if (isCaretCandidate$1(sibling)) {\n          break;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n    const before$2 = curry(beforeAfter, true);\n    const after$2 = curry(beforeAfter, false);\n    const normalizeRange = (direction, root, range) => {\n      let node;\n      const leanLeft = curry(lean, true, root);\n      const leanRight = curry(lean, false, root);\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isCaretContainerBlock$1(container)) {\n        const block = isText$4(container) ? container.parentNode : container;\n        const location = block.getAttribute('data-mce-caret');\n        if (location === 'before') {\n          node = block.nextSibling;\n          if (isFakeCaretTarget(node)) {\n            return before$2(node);\n          }\n        }\n        if (location === 'after') {\n          node = block.previousSibling;\n          if (isFakeCaretTarget(node)) {\n            return after$2(node);\n          }\n        }\n      }\n      if (!range.collapsed) {\n        return range;\n      }\n      if (isText$a(container)) {\n        if (isCaretContainer(container)) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (endsWithCaretContainer$1(container) && offset >= container.data.length - 1) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (startsWithCaretContainer$1(container) && offset <= 1) {\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          return range;\n        }\n        if (offset === container.data.length) {\n          node = leanRight(container);\n          if (node) {\n            return before$2(node);\n          }\n          return range;\n        }\n        if (offset === 0) {\n          node = leanLeft(container);\n          if (node) {\n            return after$2(node);\n          }\n          return range;\n        }\n      }\n      return range;\n    };\n    const getRelativeCefElm = (forward, caretPosition) => getChildNodeAtRelativeOffset(forward ? 0 : -1, caretPosition).filter(isContentEditableFalse$7);\n    const getNormalizedRangeEndPoint = (direction, root, range) => {\n      const normalizedRange = normalizeRange(direction, root, range);\n      return direction === -1 ? CaretPosition.fromRangeStart(normalizedRange) : CaretPosition.fromRangeEnd(normalizedRange);\n    };\n    const getElementFromPosition = pos => Optional.from(pos.getNode()).map(SugarElement.fromDom);\n    const getElementFromPrevPosition = pos => Optional.from(pos.getNode(true)).map(SugarElement.fromDom);\n    const getVisualCaretPosition = (walkFn, caretPosition) => {\n      let pos = caretPosition;\n      while (pos = walkFn(pos)) {\n        if (pos.isVisible()) {\n          return pos;\n        }\n      }\n      return pos;\n    };\n    const isMoveInsideSameBlock = (from, to) => {\n      const inSameBlock = isInSameBlock(from, to);\n      if (!inSameBlock && isBr$6(from.getNode())) {\n        return true;\n      }\n      return inSameBlock;\n    };\n\n    var HDirection;\n    (function (HDirection) {\n      HDirection[HDirection['Backwards'] = -1] = 'Backwards';\n      HDirection[HDirection['Forwards'] = 1] = 'Forwards';\n    })(HDirection || (HDirection = {}));\n    const isContentEditableFalse$6 = isContentEditableFalse$b;\n    const isText$3 = isText$a;\n    const isElement$1 = isElement$6;\n    const isBr$2 = isBr$6;\n    const isCaretCandidate = isCaretCandidate$3;\n    const isAtomic = isAtomic$1;\n    const isEditableCaretCandidate = isEditableCaretCandidate$1;\n    const getParents$3 = (node, root) => {\n      const parents = [];\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        parents.push(tempNode);\n        tempNode = tempNode.parentNode;\n      }\n      return parents;\n    };\n    const nodeAtIndex = (container, offset) => {\n      if (container.hasChildNodes() && offset < container.childNodes.length) {\n        return container.childNodes[offset];\n      }\n      return null;\n    };\n    const getCaretCandidatePosition = (direction, node) => {\n      if (isForwards(direction)) {\n        if (isCaretCandidate(node.previousSibling) && !isText$3(node.previousSibling)) {\n          return CaretPosition.before(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, 0);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isCaretCandidate(node.nextSibling) && !isText$3(node.nextSibling)) {\n          return CaretPosition.after(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, node.data.length);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isBr$2(node)) {\n          return CaretPosition.before(node);\n        }\n        return CaretPosition.after(node);\n      }\n      return CaretPosition.before(node);\n    };\n    const moveForwardFromBr = (root, nextNode) => {\n      const nextSibling = nextNode.nextSibling;\n      if (nextSibling && isCaretCandidate(nextSibling)) {\n        if (isText$3(nextSibling)) {\n          return CaretPosition(nextSibling, 0);\n        } else {\n          return CaretPosition.before(nextSibling);\n        }\n      } else {\n        return findCaretPosition$1(HDirection.Forwards, CaretPosition.after(nextNode), root);\n      }\n    };\n    const findCaretPosition$1 = (direction, startPos, root) => {\n      let node;\n      let nextNode;\n      let innerNode;\n      let caretPosition;\n      if (!isElement$1(root) || !startPos) {\n        return null;\n      }\n      if (startPos.isEqual(CaretPosition.after(root)) && root.lastChild) {\n        caretPosition = CaretPosition.after(root.lastChild);\n        if (isBackwards(direction) && isCaretCandidate(root.lastChild) && isElement$1(root.lastChild)) {\n          return isBr$2(root.lastChild) ? CaretPosition.before(root.lastChild) : caretPosition;\n        }\n      } else {\n        caretPosition = startPos;\n      }\n      const container = caretPosition.container();\n      let offset = caretPosition.offset();\n      if (isText$3(container)) {\n        if (isBackwards(direction) && offset > 0) {\n          return CaretPosition(container, --offset);\n        }\n        if (isForwards(direction) && offset < container.length) {\n          return CaretPosition(container, ++offset);\n        }\n        node = container;\n      } else {\n        if (isBackwards(direction) && offset > 0) {\n          nextNode = nodeAtIndex(container, offset - 1);\n          if (isCaretCandidate(nextNode)) {\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, innerNode.data.length);\n                }\n                return CaretPosition.after(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, nextNode.data.length);\n            }\n            return CaretPosition.before(nextNode);\n          }\n        }\n        if (isForwards(direction) && offset < container.childNodes.length) {\n          nextNode = nodeAtIndex(container, offset);\n          if (isCaretCandidate(nextNode)) {\n            if (isBr$2(nextNode)) {\n              return moveForwardFromBr(root, nextNode);\n            }\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, 0);\n                }\n                return CaretPosition.before(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, 0);\n            }\n            return CaretPosition.after(nextNode);\n          }\n        }\n        node = nextNode ? nextNode : caretPosition.getNode();\n      }\n      if (node && (isForwards(direction) && caretPosition.isAtEnd() || isBackwards(direction) && caretPosition.isAtStart())) {\n        node = findNode(node, direction, always, root, true);\n        if (isEditableCaretCandidate(node, root)) {\n          return getCaretCandidatePosition(direction, node);\n        }\n      }\n      nextNode = node ? findNode(node, direction, isEditableCaretCandidate, root) : node;\n      const rootContentEditableFalseElm = last$2(filter$5(getParents$3(container, root), isContentEditableFalse$6));\n      if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {\n        if (isForwards(direction)) {\n          caretPosition = CaretPosition.after(rootContentEditableFalseElm);\n        } else {\n          caretPosition = CaretPosition.before(rootContentEditableFalseElm);\n        }\n        return caretPosition;\n      }\n      if (nextNode) {\n        return getCaretCandidatePosition(direction, nextNode);\n      }\n      return null;\n    };\n    const CaretWalker = root => ({\n      next: caretPosition => {\n        return findCaretPosition$1(HDirection.Forwards, caretPosition, root);\n      },\n      prev: caretPosition => {\n        return findCaretPosition$1(HDirection.Backwards, caretPosition, root);\n      }\n    });\n\n    const walkToPositionIn = (forward, root, start) => {\n      const position = forward ? CaretPosition.before(start) : CaretPosition.after(start);\n      return fromPosition(forward, root, position);\n    };\n    const afterElement = node => isBr$6(node) ? CaretPosition.before(node) : CaretPosition.after(node);\n    const isBeforeOrStart = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        return position.offset() === 0;\n      } else {\n        return isCaretCandidate$3(position.getNode());\n      }\n    };\n    const isAfterOrEnd = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        const container = position.container();\n        return position.offset() === container.data.length;\n      } else {\n        return isCaretCandidate$3(position.getNode(true));\n      }\n    };\n    const isBeforeAfterSameElement = (from, to) => !CaretPosition.isTextPosition(from) && !CaretPosition.isTextPosition(to) && from.getNode() === to.getNode(true);\n    const isAtBr = position => !CaretPosition.isTextPosition(position) && isBr$6(position.getNode());\n    const shouldSkipPosition = (forward, from, to) => {\n      if (forward) {\n        return !isBeforeAfterSameElement(from, to) && !isAtBr(from) && isAfterOrEnd(from) && isBeforeOrStart(to);\n      } else {\n        return !isBeforeAfterSameElement(to, from) && isBeforeOrStart(from) && isAfterOrEnd(to);\n      }\n    };\n    const fromPosition = (forward, root, pos) => {\n      const walker = CaretWalker(root);\n      return Optional.from(forward ? walker.next(pos) : walker.prev(pos));\n    };\n    const navigate = (forward, root, from) => fromPosition(forward, root, from).bind(to => {\n      if (isInSameBlock(from, to, root) && shouldSkipPosition(forward, from, to)) {\n        return fromPosition(forward, root, to);\n      } else {\n        return Optional.some(to);\n      }\n    });\n    const navigateIgnore = (forward, root, from, ignoreFilter) => navigate(forward, root, from).bind(pos => ignoreFilter(pos) ? navigateIgnore(forward, root, pos, ignoreFilter) : Optional.some(pos));\n    const positionIn = (forward, element) => {\n      const startNode = forward ? element.firstChild : element.lastChild;\n      if (isText$a(startNode)) {\n        return Optional.some(CaretPosition(startNode, forward ? 0 : startNode.data.length));\n      } else if (startNode) {\n        if (isCaretCandidate$3(startNode)) {\n          return Optional.some(forward ? CaretPosition.before(startNode) : afterElement(startNode));\n        } else {\n          return walkToPositionIn(forward, element, startNode);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    const nextPosition = curry(fromPosition, true);\n    const prevPosition = curry(fromPosition, false);\n    const firstPositionIn = curry(positionIn, true);\n    const lastPositionIn = curry(positionIn, false);\n\n    const CARET_ID = '_mce_caret';\n    const isCaretNode = node => isElement$6(node) && node.id === CARET_ID;\n    const getParentCaretContainer = (body, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== body) {\n        if (isCaretNode(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n\n    const isStringPathBookmark = bookmark => isString(bookmark.start);\n    const isRangeBookmark = bookmark => has$2(bookmark, 'rng');\n    const isIdBookmark = bookmark => has$2(bookmark, 'id');\n    const isIndexBookmark = bookmark => has$2(bookmark, 'name');\n    const isPathBookmark = bookmark => Tools.isArray(bookmark.start);\n\n    const isForwardBookmark = bookmark => !isIndexBookmark(bookmark) && isBoolean(bookmark.forward) ? bookmark.forward : true;\n    const addBogus = (dom, node) => {\n      if (isElement$6(node) && dom.isBlock(node) && !node.innerHTML) {\n        node.innerHTML = '<br data-mce-bogus=\"1\" />';\n      }\n      return node;\n    };\n    const resolveCaretPositionBookmark = (dom, bookmark) => {\n      const startPos = Optional.from(resolve$1(dom.getRoot(), bookmark.start));\n      const endPos = Optional.from(resolve$1(dom.getRoot(), bookmark.end));\n      return lift2(startPos, endPos, (start, end) => {\n        const range = dom.createRng();\n        range.setStart(start.container(), start.offset());\n        range.setEnd(end.container(), end.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const insertZwsp = (node, rng) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      node.appendChild(textNode);\n      rng.setStart(textNode, 0);\n      rng.setEnd(textNode, 0);\n    };\n    const isEmpty$1 = node => !node.hasChildNodes();\n    const tryFindRangePosition = (node, rng) => lastPositionIn(node).fold(never, pos => {\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      return true;\n    });\n    const padEmptyCaretContainer = (root, node, rng) => {\n      if (isEmpty$1(node) && getParentCaretContainer(root, node)) {\n        insertZwsp(node, rng);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const setEndPoint = (dom, start, bookmark, rng) => {\n      const point = bookmark[start ? 'start' : 'end'];\n      const root = dom.getRoot();\n      if (point) {\n        let node = root;\n        let offset = point[0];\n        for (let i = point.length - 1; node && i >= 1; i--) {\n          const children = node.childNodes;\n          if (padEmptyCaretContainer(root, node, rng)) {\n            return true;\n          }\n          if (point[i] > children.length - 1) {\n            if (padEmptyCaretContainer(root, node, rng)) {\n              return true;\n            }\n            return tryFindRangePosition(node, rng);\n          }\n          node = children[point[i]];\n        }\n        if (isText$a(node)) {\n          offset = Math.min(point[0], node.data.length);\n        }\n        if (isElement$6(node)) {\n          offset = Math.min(point[0], node.childNodes.length);\n        }\n        if (start) {\n          rng.setStart(node, offset);\n        } else {\n          rng.setEnd(node, offset);\n        }\n      }\n      return true;\n    };\n    const isValidTextNode = node => isText$a(node) && node.data.length > 0;\n    const restoreEndPoint = (dom, suffix, bookmark) => {\n      const marker = dom.get(bookmark.id + '_' + suffix);\n      const markerParent = marker === null || marker === void 0 ? void 0 : marker.parentNode;\n      const keep = bookmark.keep;\n      if (marker && markerParent) {\n        let container;\n        let offset;\n        if (suffix === 'start') {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.nextSibling)) {\n              container = marker.nextSibling;\n              offset = 0;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker) + 1;\n            }\n          }\n        } else {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker);\n            }\n          }\n        }\n        if (!keep) {\n          const prev = marker.previousSibling;\n          const next = marker.nextSibling;\n          Tools.each(Tools.grep(marker.childNodes), node => {\n            if (isText$a(node)) {\n              node.data = node.data.replace(/\\uFEFF/g, '');\n            }\n          });\n          let otherMarker;\n          while (otherMarker = dom.get(bookmark.id + '_' + suffix)) {\n            dom.remove(otherMarker, true);\n          }\n          if (isText$a(next) && isText$a(prev) && !Env.browser.isOpera()) {\n            const idx = prev.data.length;\n            prev.appendData(next.data);\n            dom.remove(next);\n            container = prev;\n            offset = idx;\n          }\n        }\n        return Optional.some(CaretPosition(container, offset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolvePaths = (dom, bookmark) => {\n      const range = dom.createRng();\n      if (setEndPoint(dom, true, bookmark, range) && setEndPoint(dom, false, bookmark, range)) {\n        return Optional.some({\n          range,\n          forward: isForwardBookmark(bookmark)\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolveId = (dom, bookmark) => {\n      const startPos = restoreEndPoint(dom, 'start', bookmark);\n      const endPos = restoreEndPoint(dom, 'end', bookmark);\n      return lift2(startPos, endPos.or(startPos), (spos, epos) => {\n        const range = dom.createRng();\n        range.setStart(addBogus(dom, spos.container()), spos.offset());\n        range.setEnd(addBogus(dom, epos.container()), epos.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const resolveIndex = (dom, bookmark) => Optional.from(dom.select(bookmark.name)[bookmark.index]).map(elm => {\n      const range = dom.createRng();\n      range.selectNode(elm);\n      return {\n        range,\n        forward: true\n      };\n    });\n    const resolve = (selection, bookmark) => {\n      const dom = selection.dom;\n      if (bookmark) {\n        if (isPathBookmark(bookmark)) {\n          return resolvePaths(dom, bookmark);\n        } else if (isStringPathBookmark(bookmark)) {\n          return resolveCaretPositionBookmark(dom, bookmark);\n        } else if (isIdBookmark(bookmark)) {\n          return resolveId(dom, bookmark);\n        } else if (isIndexBookmark(bookmark)) {\n          return resolveIndex(dom, bookmark);\n        } else if (isRangeBookmark(bookmark)) {\n          return Optional.some({\n            range: bookmark.rng,\n            forward: isForwardBookmark(bookmark)\n          });\n        }\n      }\n      return Optional.none();\n    };\n\n    const getBookmark$1 = (selection, type, normalized) => {\n      return getBookmark$2(selection, type, normalized);\n    };\n    const moveToBookmark = (selection, bookmark) => {\n      resolve(selection, bookmark).each(({\n        range,\n        forward\n      }) => {\n        selection.setRng(range, forward);\n      });\n    };\n    const isBookmarkNode$1 = node => {\n      return isElement$6(node) && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n\n    const is = expected => actual => expected === actual;\n    const isNbsp = is(nbsp);\n    const isWhiteSpace = chr => chr !== '' && ' \\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n    const isContent = chr => !isWhiteSpace(chr) && !isNbsp(chr) && !isZwsp$2(chr);\n\n    const getRanges$1 = selection => {\n      const ranges = [];\n      if (selection) {\n        for (let i = 0; i < selection.rangeCount; i++) {\n          ranges.push(selection.getRangeAt(i));\n        }\n      }\n      return ranges;\n    };\n    const getSelectedNodes = ranges => {\n      return bind$3(ranges, range => {\n        const node = getSelectedNode(range);\n        return node ? [SugarElement.fromDom(node)] : [];\n      });\n    };\n    const hasMultipleRanges = selection => {\n      return getRanges$1(selection).length > 1;\n    };\n\n    const getCellsFromRanges = ranges => filter$5(getSelectedNodes(ranges), isTableCell$2);\n    const getCellsFromElement = elm => descendants(elm, 'td[data-mce-selected],th[data-mce-selected]');\n    const getCellsFromElementOrRanges = (ranges, element) => {\n      const selectedCells = getCellsFromElement(element);\n      return selectedCells.length > 0 ? selectedCells : getCellsFromRanges(ranges);\n    };\n    const getCellsFromEditor = editor => getCellsFromElementOrRanges(getRanges$1(editor.selection.getSel()), SugarElement.fromDom(editor.getBody()));\n    const getClosestTable = (cell, isRoot) => ancestor$3(cell, 'table', isRoot);\n\n    const getStartNode = rng => {\n      const sc = rng.startContainer,\n        so = rng.startOffset;\n      if (isText$a(sc)) {\n        return so === 0 ? Optional.some(SugarElement.fromDom(sc)) : Optional.none();\n      } else {\n        return Optional.from(sc.childNodes[so]).map(SugarElement.fromDom);\n      }\n    };\n    const getEndNode = rng => {\n      const ec = rng.endContainer,\n        eo = rng.endOffset;\n      if (isText$a(ec)) {\n        return eo === ec.data.length ? Optional.some(SugarElement.fromDom(ec)) : Optional.none();\n      } else {\n        return Optional.from(ec.childNodes[eo - 1]).map(SugarElement.fromDom);\n      }\n    };\n    const getFirstChildren = node => {\n      return firstChild(node).fold(constant([node]), child => {\n        return [node].concat(getFirstChildren(child));\n      });\n    };\n    const getLastChildren = node => {\n      return lastChild(node).fold(constant([node]), child => {\n        if (name(child) === 'br') {\n          return prevSibling(child).map(sibling => {\n            return [node].concat(getLastChildren(sibling));\n          }).getOr([]);\n        } else {\n          return [node].concat(getLastChildren(child));\n        }\n      });\n    };\n    const hasAllContentsSelected = (elm, rng) => {\n      return lift2(getStartNode(rng), getEndNode(rng), (startNode, endNode) => {\n        const start = find$2(getFirstChildren(elm), curry(eq, startNode));\n        const end = find$2(getLastChildren(elm), curry(eq, endNode));\n        return start.isSome() && end.isSome();\n      }).getOr(false);\n    };\n    const moveEndPoint = (dom, rng, node, start) => {\n      const root = node;\n      const walker = new DomTreeWalker(node, root);\n      const moveCaretBeforeOnEnterElementsMap = filter$4(dom.schema.getMoveCaretBeforeOnEnterElements(), (_, name) => !contains$2(['td', 'th', 'table'], name.toLowerCase()));\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode) && Tools.trim(currentNode.data).length !== 0) {\n          if (start) {\n            rng.setStart(currentNode, 0);\n          } else {\n            rng.setEnd(currentNode, currentNode.data.length);\n          }\n          return;\n        }\n        if (moveCaretBeforeOnEnterElementsMap[currentNode.nodeName]) {\n          if (start) {\n            rng.setStartBefore(currentNode);\n          } else {\n            if (currentNode.nodeName === 'BR') {\n              rng.setEndBefore(currentNode);\n            } else {\n              rng.setEndAfter(currentNode);\n            }\n          }\n          return;\n        }\n      } while (currentNode = start ? walker.next() : walker.prev());\n      if (root.nodeName === 'BODY') {\n        if (start) {\n          rng.setStart(root, 0);\n        } else {\n          rng.setEnd(root, root.childNodes.length);\n        }\n      }\n    };\n    const hasAnyRanges = editor => {\n      const sel = editor.selection.getSel();\n      return isNonNullable(sel) && sel.rangeCount > 0;\n    };\n    const runOnRanges = (editor, executor) => {\n      const fakeSelectionNodes = getCellsFromEditor(editor);\n      if (fakeSelectionNodes.length > 0) {\n        each$e(fakeSelectionNodes, elem => {\n          const node = elem.dom;\n          const fakeNodeRng = editor.dom.createRng();\n          fakeNodeRng.setStartBefore(node);\n          fakeNodeRng.setEndAfter(node);\n          executor(fakeNodeRng, true);\n        });\n      } else {\n        executor(editor.selection.getRng(), false);\n      }\n    };\n    const preserve = (selection, fillBookmark, executor) => {\n      const bookmark = getPersistentBookmark(selection, fillBookmark);\n      executor(bookmark);\n      selection.moveToBookmark(bookmark);\n    };\n\n    const isNode = node => isNumber(node === null || node === void 0 ? void 0 : node.nodeType);\n    const isElementNode$1 = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const isElementDirectlySelected = (dom, node) => {\n      if (isElementNode$1(node) && !/^(TD|TH)$/.test(node.nodeName)) {\n        const selectedAttr = dom.getAttrib(node, 'data-mce-selected');\n        const value = parseInt(selectedAttr, 10);\n        return !isNaN(value) && value > 0;\n      } else {\n        return false;\n      }\n    };\n    const preserveSelection = (editor, action, shouldMoveStart) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      const selectedNodeBeforeAction = selection.getNode();\n      const isSelectedBeforeNodeNoneditable = isContentEditableFalse$b(selectedNodeBeforeAction);\n      preserve(selection, true, () => {\n        action();\n      });\n      const isBeforeNodeStillNoneditable = isSelectedBeforeNodeNoneditable && isContentEditableFalse$b(selectedNodeBeforeAction);\n      if (isBeforeNodeStillNoneditable && dom.isChildOf(selectedNodeBeforeAction, editor.getBody())) {\n        editor.selection.select(selectedNodeBeforeAction);\n      } else if (shouldMoveStart(selection.getStart())) {\n        moveStartToNearestText(dom, selection);\n      }\n    };\n    const moveStartToNearestText = (dom, selection) => {\n      var _a, _b;\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset\n      } = rng;\n      const selectedNode = selection.getNode();\n      if (isElementDirectlySelected(dom, selectedNode)) {\n        return;\n      }\n      if (isElement$6(startContainer)) {\n        const nodes = startContainer.childNodes;\n        const root = dom.getRoot();\n        let walker;\n        if (startOffset < nodes.length) {\n          const startNode = nodes[startOffset];\n          walker = new DomTreeWalker(startNode, (_a = dom.getParent(startNode, dom.isBlock)) !== null && _a !== void 0 ? _a : root);\n        } else {\n          const startNode = nodes[nodes.length - 1];\n          walker = new DomTreeWalker(startNode, (_b = dom.getParent(startNode, dom.isBlock)) !== null && _b !== void 0 ? _b : root);\n          walker.next(true);\n        }\n        for (let node = walker.current(); node; node = walker.next()) {\n          if (dom.getContentEditable(node) === 'false') {\n            return;\n          } else if (isText$a(node) && !isWhiteSpaceNode$1(node)) {\n            rng.setStart(node, 0);\n            selection.setRng(rng);\n            return;\n          }\n        }\n      }\n    };\n    const getNonWhiteSpaceSibling = (node, next, inc) => {\n      if (node) {\n        const nextName = next ? 'nextSibling' : 'previousSibling';\n        for (node = inc ? node : node[nextName]; node; node = node[nextName]) {\n          if (isElement$6(node) || !isWhiteSpaceNode$1(node)) {\n            return node;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isTextBlock$1 = (schema, node) => !!schema.getTextBlockElements()[node.nodeName.toLowerCase()] || isTransparentBlock(schema, node);\n    const isValid = (ed, parent, child) => {\n      return ed.schema.isValidChild(parent, child);\n    };\n    const isWhiteSpaceNode$1 = (node, allowSpaces = false) => {\n      if (isNonNullable(node) && isText$a(node)) {\n        const data = allowSpaces ? node.data.replace(/ /g, '\\xA0') : node.data;\n        return isWhitespaceText(data);\n      } else {\n        return false;\n      }\n    };\n    const isEmptyTextNode$1 = node => {\n      return isNonNullable(node) && isText$a(node) && node.length === 0;\n    };\n    const isWrapNoneditableTarget = (editor, node) => {\n      const baseDataSelector = '[data-mce-cef-wrappable]';\n      const formatNoneditableSelector = getFormatNoneditableSelector(editor);\n      const selector = isEmpty$3(formatNoneditableSelector) ? baseDataSelector : \"\".concat(baseDataSelector, \",\").concat(formatNoneditableSelector);\n      return is$1(SugarElement.fromDom(node), selector);\n    };\n    const isWrappableNoneditable = (editor, node) => {\n      const dom = editor.dom;\n      return isElementNode$1(node) && dom.getContentEditable(node) === 'false' && isWrapNoneditableTarget(editor, node) && dom.select('[contenteditable=\"true\"]', node).length === 0;\n    };\n    const replaceVars = (value, vars) => {\n      if (isFunction(value)) {\n        return value(vars);\n      } else if (isNonNullable(vars)) {\n        value = value.replace(/%(\\w+)/g, (str, name) => {\n          return vars[name] || str;\n        });\n      }\n      return value;\n    };\n    const isEq$5 = (str1, str2) => {\n      str1 = str1 || '';\n      str2 = str2 || '';\n      str1 = '' + (str1.nodeName || str1);\n      str2 = '' + (str2.nodeName || str2);\n      return str1.toLowerCase() === str2.toLowerCase();\n    };\n    const normalizeStyleValue = (value, name) => {\n      if (isNullable(value)) {\n        return null;\n      } else {\n        let strValue = String(value);\n        if (name === 'color' || name === 'backgroundColor') {\n          strValue = rgbaToHexString(strValue);\n        }\n        if (name === 'fontWeight' && value === 700) {\n          strValue = 'bold';\n        }\n        if (name === 'fontFamily') {\n          strValue = strValue.replace(/[\\'\\\"]/g, '').replace(/,\\s+/g, ',');\n        }\n        return strValue;\n      }\n    };\n    const getStyle = (dom, node, name) => {\n      const style = dom.getStyle(node, name);\n      return normalizeStyleValue(style, name);\n    };\n    const getTextDecoration = (dom, node) => {\n      let decoration;\n      dom.getParent(node, n => {\n        if (isElement$6(n)) {\n          decoration = dom.getStyle(n, 'text-decoration');\n          return !!decoration && decoration !== 'none';\n        } else {\n          return false;\n        }\n      });\n      return decoration;\n    };\n    const getParents$2 = (dom, node, selector) => {\n      return dom.getParents(node, selector, dom.getRoot());\n    };\n    const isFormatPredicate = (editor, formatName, predicate) => {\n      const formats = editor.formatter.get(formatName);\n      return isNonNullable(formats) && exists(formats, predicate);\n    };\n    const isVariableFormatName = (editor, formatName) => {\n      const hasVariableValues = format => {\n        const isVariableValue = val => isFunction(val) || val.length > 1 && val.charAt(0) === '%';\n        return exists(['styles', 'attributes'], key => get$a(format, key).exists(field => {\n          const fieldValues = isArray$1(field) ? field : values(field);\n          return exists(fieldValues, isVariableValue);\n        }));\n      };\n      return isFormatPredicate(editor, formatName, hasVariableValues);\n    };\n    const areSimilarFormats = (editor, formatName, otherFormatName) => {\n      const validKeys = ['inline', 'block', 'selector', 'attributes', 'styles', 'classes'];\n      const filterObj = format => filter$4(format, (_, key) => exists(validKeys, validKey => validKey === key));\n      return isFormatPredicate(editor, formatName, fmt1 => {\n        const filteredFmt1 = filterObj(fmt1);\n        return isFormatPredicate(editor, otherFormatName, fmt2 => {\n          const filteredFmt2 = filterObj(fmt2);\n          return equal$1(filteredFmt1, filteredFmt2);\n        });\n      });\n    };\n    const isBlockFormat = format => hasNonNullableKey(format, 'block');\n    const isWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper === true;\n    const isNonWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper !== true;\n    const isSelectorFormat = format => hasNonNullableKey(format, 'selector');\n    const isInlineFormat = format => hasNonNullableKey(format, 'inline');\n    const isMixedFormat = format => isSelectorFormat(format) && isInlineFormat(format) && is$2(get$a(format, 'mixed'), true);\n    const shouldExpandToSelector = format => isSelectorFormat(format) && format.expand !== false && !isInlineFormat(format);\n    const getEmptyCaretContainers = node => {\n      const nodes = [];\n      let tempNode = node;\n      while (tempNode) {\n        if (isText$a(tempNode) && tempNode.data !== ZWSP$1 || tempNode.childNodes.length > 1) {\n          return [];\n        }\n        if (isElement$6(tempNode)) {\n          nodes.push(tempNode);\n        }\n        tempNode = tempNode.firstChild;\n      }\n      return nodes;\n    };\n    const isCaretContainerEmpty = node => {\n      return getEmptyCaretContainers(node).length > 0;\n    };\n    const isEmptyCaretFormatElement = element => {\n      return isCaretNode(element.dom) && isCaretContainerEmpty(element.dom);\n    };\n\n    const isBookmarkNode = isBookmarkNode$1;\n    const getParents$1 = getParents$2;\n    const isWhiteSpaceNode = isWhiteSpaceNode$1;\n    const isTextBlock = isTextBlock$1;\n    const isBogusBr = node => {\n      return isBr$6(node) && node.getAttribute('data-mce-bogus') && !node.nextSibling;\n    };\n    const findParentContentEditable = (dom, node) => {\n      let parent = node;\n      while (parent) {\n        if (isElement$6(parent) && dom.getContentEditable(parent)) {\n          return dom.getContentEditable(parent) === 'false' ? parent : node;\n        }\n        parent = parent.parentNode;\n      }\n      return node;\n    };\n    const walkText = (start, node, offset, predicate) => {\n      const str = node.data;\n      if (start) {\n        for (let i = offset; i > 0; i--) {\n          if (predicate(str.charAt(i - 1))) {\n            return i;\n          }\n        }\n      } else {\n        for (let i = offset; i < str.length; i++) {\n          if (predicate(str.charAt(i))) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const findSpace = (start, node, offset) => walkText(start, node, offset, c => isNbsp(c) || isWhiteSpace(c));\n    const findContent = (start, node, offset) => walkText(start, node, offset, isContent);\n    const findWordEndPoint = (dom, body, container, offset, start, includeTrailingSpaces) => {\n      let lastTextNode;\n      const rootNode = dom.getParent(container, dom.isBlock) || body;\n      const walk = (container, offset, pred) => {\n        const textSeeker = TextSeeker(dom);\n        const walker = start ? textSeeker.backwards : textSeeker.forwards;\n        return Optional.from(walker(container, offset, (text, textOffset) => {\n          if (isBookmarkNode(text.parentNode)) {\n            return -1;\n          } else {\n            lastTextNode = text;\n            return pred(start, text, textOffset);\n          }\n        }, rootNode));\n      };\n      const spaceResult = walk(container, offset, findSpace);\n      return spaceResult.bind(result => includeTrailingSpaces ? walk(result.container, result.offset + (start ? -1 : 0), findContent) : Optional.some(result)).orThunk(() => lastTextNode ? Optional.some({\n        container: lastTextNode,\n        offset: start ? 0 : lastTextNode.length\n      }) : Optional.none());\n    };\n    const findSelectorEndPoint = (dom, formatList, rng, container, siblingName) => {\n      const sibling = container[siblingName];\n      if (isText$a(container) && isEmpty$3(container.data) && sibling) {\n        container = sibling;\n      }\n      const parents = getParents$1(dom, container);\n      for (let i = 0; i < parents.length; i++) {\n        for (let y = 0; y < formatList.length; y++) {\n          const curFormat = formatList[y];\n          if (isNonNullable(curFormat.collapsed) && curFormat.collapsed !== rng.collapsed) {\n            continue;\n          }\n          if (isSelectorFormat(curFormat) && dom.is(parents[i], curFormat.selector)) {\n            return parents[i];\n          }\n        }\n      }\n      return container;\n    };\n    const findBlockEndPoint = (dom, formatList, container, siblingName) => {\n      var _a;\n      let node = container;\n      const root = dom.getRoot();\n      const format = formatList[0];\n      if (isBlockFormat(format)) {\n        node = format.wrapper ? null : dom.getParent(container, format.block, root);\n      }\n      if (!node) {\n        const scopeRoot = (_a = dom.getParent(container, 'LI,TD,TH,SUMMARY')) !== null && _a !== void 0 ? _a : root;\n        node = dom.getParent(isText$a(container) ? container.parentNode : container, node => node !== root && isTextBlock(dom.schema, node), scopeRoot);\n      }\n      if (node && isBlockFormat(format) && format.wrapper) {\n        node = getParents$1(dom, node, 'ul,ol').reverse()[0] || node;\n      }\n      if (!node) {\n        node = container;\n        while (node && node[siblingName] && !dom.isBlock(node[siblingName])) {\n          node = node[siblingName];\n          if (isEq$5(node, 'br')) {\n            break;\n          }\n        }\n      }\n      return node || container;\n    };\n    const isAtBlockBoundary$1 = (dom, root, container, siblingName) => {\n      const parent = container.parentNode;\n      if (isNonNullable(container[siblingName])) {\n        return false;\n      } else if (parent === root || isNullable(parent) || dom.isBlock(parent)) {\n        return true;\n      } else {\n        return isAtBlockBoundary$1(dom, root, parent, siblingName);\n      }\n    };\n    const findParentContainer = (dom, formatList, container, offset, start) => {\n      let parent = container;\n      const siblingName = start ? 'previousSibling' : 'nextSibling';\n      const root = dom.getRoot();\n      if (isText$a(container) && !isWhiteSpaceNode(container)) {\n        if (start ? offset > 0 : offset < container.data.length) {\n          return container;\n        }\n      }\n      while (parent) {\n        if (!formatList[0].block_expand && dom.isBlock(parent)) {\n          return parent;\n        }\n        for (let sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {\n          const allowSpaces = isText$a(sibling) && !isAtBlockBoundary$1(dom, root, sibling, siblingName);\n          if (!isBookmarkNode(sibling) && !isBogusBr(sibling) && !isWhiteSpaceNode(sibling, allowSpaces)) {\n            return parent;\n          }\n        }\n        if (parent === root || parent.parentNode === root) {\n          container = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return container;\n    };\n    const isSelfOrParentBookmark = container => isBookmarkNode(container.parentNode) || isBookmarkNode(container);\n    const expandRng = (dom, rng, formatList, includeTrailingSpace = false) => {\n      let {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const format = formatList[0];\n      if (isElement$6(startContainer) && startContainer.hasChildNodes()) {\n        startContainer = getNode$1(startContainer, startOffset);\n        if (isText$a(startContainer)) {\n          startOffset = 0;\n        }\n      }\n      if (isElement$6(endContainer) && endContainer.hasChildNodes()) {\n        endContainer = getNode$1(endContainer, rng.collapsed ? endOffset : endOffset - 1);\n        if (isText$a(endContainer)) {\n          endOffset = endContainer.data.length;\n        }\n      }\n      startContainer = findParentContentEditable(dom, startContainer);\n      endContainer = findParentContentEditable(dom, endContainer);\n      if (isSelfOrParentBookmark(startContainer)) {\n        startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode;\n        if (rng.collapsed) {\n          startContainer = startContainer.previousSibling || startContainer;\n        } else {\n          startContainer = startContainer.nextSibling || startContainer;\n        }\n        if (isText$a(startContainer)) {\n          startOffset = rng.collapsed ? startContainer.length : 0;\n        }\n      }\n      if (isSelfOrParentBookmark(endContainer)) {\n        endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode;\n        if (rng.collapsed) {\n          endContainer = endContainer.nextSibling || endContainer;\n        } else {\n          endContainer = endContainer.previousSibling || endContainer;\n        }\n        if (isText$a(endContainer)) {\n          endOffset = rng.collapsed ? 0 : endContainer.length;\n        }\n      }\n      if (rng.collapsed) {\n        const startPoint = findWordEndPoint(dom, dom.getRoot(), startContainer, startOffset, true, includeTrailingSpace);\n        startPoint.each(({\n          container,\n          offset\n        }) => {\n          startContainer = container;\n          startOffset = offset;\n        });\n        const endPoint = findWordEndPoint(dom, dom.getRoot(), endContainer, endOffset, false, includeTrailingSpace);\n        endPoint.each(({\n          container,\n          offset\n        }) => {\n          endContainer = container;\n          endOffset = offset;\n        });\n      }\n      if (isInlineFormat(format) || format.block_expand) {\n        if (!isInlineFormat(format) || !isText$a(startContainer) || startOffset === 0) {\n          startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n        }\n        if (!isInlineFormat(format) || !isText$a(endContainer) || endOffset === endContainer.data.length) {\n          endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n        }\n      }\n      if (shouldExpandToSelector(format)) {\n        startContainer = findSelectorEndPoint(dom, formatList, rng, startContainer, 'previousSibling');\n        endContainer = findSelectorEndPoint(dom, formatList, rng, endContainer, 'nextSibling');\n      }\n      if (isBlockFormat(format) || isSelectorFormat(format)) {\n        startContainer = findBlockEndPoint(dom, formatList, startContainer, 'previousSibling');\n        endContainer = findBlockEndPoint(dom, formatList, endContainer, 'nextSibling');\n        if (isBlockFormat(format)) {\n          if (!dom.isBlock(startContainer)) {\n            startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n          }\n          if (!dom.isBlock(endContainer)) {\n            endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n          }\n        }\n      }\n      if (isElement$6(startContainer) && startContainer.parentNode) {\n        startOffset = dom.nodeIndex(startContainer);\n        startContainer = startContainer.parentNode;\n      }\n      if (isElement$6(endContainer) && endContainer.parentNode) {\n        endOffset = dom.nodeIndex(endContainer) + 1;\n        endContainer = endContainer.parentNode;\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const walk$3 = (dom, rng, callback) => {\n      var _a;\n      const startOffset = rng.startOffset;\n      const startContainer = getNode$1(rng.startContainer, startOffset);\n      const endOffset = rng.endOffset;\n      const endContainer = getNode$1(rng.endContainer, endOffset - 1);\n      const exclude = nodes => {\n        const firstNode = nodes[0];\n        if (isText$a(firstNode) && firstNode === startContainer && startOffset >= firstNode.data.length) {\n          nodes.splice(0, 1);\n        }\n        const lastNode = nodes[nodes.length - 1];\n        if (endOffset === 0 && nodes.length > 0 && lastNode === endContainer && isText$a(lastNode)) {\n          nodes.splice(nodes.length - 1, 1);\n        }\n        return nodes;\n      };\n      const collectSiblings = (node, name, endNode) => {\n        const siblings = [];\n        for (; node && node !== endNode; node = node[name]) {\n          siblings.push(node);\n        }\n        return siblings;\n      };\n      const findEndPoint = (node, root) => dom.getParent(node, node => node.parentNode === root, root);\n      const walkBoundary = (startNode, endNode, next) => {\n        const siblingName = next ? 'nextSibling' : 'previousSibling';\n        for (let node = startNode, parent = node.parentNode; node && node !== endNode; node = parent) {\n          parent = node.parentNode;\n          const siblings = collectSiblings(node === startNode ? node : node[siblingName], siblingName);\n          if (siblings.length) {\n            if (!next) {\n              siblings.reverse();\n            }\n            callback(exclude(siblings));\n          }\n        }\n      };\n      if (startContainer === endContainer) {\n        return callback(exclude([startContainer]));\n      }\n      const ancestor = (_a = dom.findCommonAncestor(startContainer, endContainer)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      if (dom.isChildOf(startContainer, endContainer)) {\n        return walkBoundary(startContainer, ancestor, true);\n      }\n      if (dom.isChildOf(endContainer, startContainer)) {\n        return walkBoundary(endContainer, ancestor);\n      }\n      const startPoint = findEndPoint(startContainer, ancestor) || startContainer;\n      const endPoint = findEndPoint(endContainer, ancestor) || endContainer;\n      walkBoundary(startContainer, startPoint, true);\n      const siblings = collectSiblings(startPoint === startContainer ? startPoint : startPoint.nextSibling, 'nextSibling', endPoint === endContainer ? endPoint.nextSibling : endPoint);\n      if (siblings.length) {\n        callback(exclude(siblings));\n      }\n      walkBoundary(endContainer, endPoint);\n    };\n\n    const validBlocks = ['pre[class*=language-][contenteditable=\"false\"]', 'figure.image', 'div[data-ephox-embed-iri]', 'div.tiny-pageembed', 'div.mce-toc', 'div[data-mce-toc]'];\n    const isZeroWidth = elem => isText$b(elem) && get$3(elem) === ZWSP$1;\n    const context = (editor, elem, wrapName, nodeName) => parent(elem).fold(() => 'skipping', parent => {\n      if (nodeName === 'br' || isZeroWidth(elem)) {\n        return 'valid';\n      } else if (isAnnotation(elem)) {\n        return 'existing';\n      } else if (isCaretNode(elem.dom)) {\n        return 'caret';\n      } else if (exists(validBlocks, selector => is$1(elem, selector))) {\n        return 'valid-block';\n      } else if (!isValid(editor, wrapName, nodeName) || !isValid(editor, name(parent), wrapName)) {\n        return 'invalid-child';\n      } else {\n        return 'valid';\n      }\n    });\n\n    const applyWordGrab = (editor, rng) => {\n      const r = expandRng(editor.dom, rng, [{\n        inline: 'span'\n      }]);\n      rng.setStart(r.startContainer, r.startOffset);\n      rng.setEnd(r.endContainer, r.endOffset);\n      editor.selection.setRng(rng);\n    };\n    const applyAnnotation = (elem, masterUId, data, annotationName, decorate, directAnnotation) => {\n      const {\n        uid = masterUId,\n        ...otherData\n      } = data;\n      add$2(elem, annotation());\n      set$3(elem, \"\".concat(dataAnnotationId()), uid);\n      set$3(elem, \"\".concat(dataAnnotation()), annotationName);\n      const {\n        attributes = {},\n        classes = []\n      } = decorate(uid, otherData);\n      setAll$1(elem, attributes);\n      add(elem, classes);\n      if (directAnnotation) {\n        if (classes.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationClasses()), classes.join(','));\n        }\n        const attributeNames = keys(attributes);\n        if (attributeNames.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationAttributes()), attributeNames.join(','));\n        }\n      }\n    };\n    const removeDirectAnnotation = elem => {\n      remove$7(elem, annotation());\n      remove$a(elem, \"\".concat(dataAnnotationId()));\n      remove$a(elem, \"\".concat(dataAnnotation()));\n      remove$a(elem, \"\".concat(dataAnnotationActive()));\n      const customAttrNames = getOpt(elem, \"\".concat(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n      const customClasses = getOpt(elem, \"\".concat(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n      each$e(customAttrNames, name => remove$a(elem, name));\n      remove$4(elem, customClasses);\n      remove$a(elem, \"\".concat(dataAnnotationClasses()));\n      remove$a(elem, \"\".concat(dataAnnotationAttributes()));\n    };\n    const makeAnnotation = (eDoc, uid, data, annotationName, decorate) => {\n      const master = SugarElement.fromTag('span', eDoc);\n      applyAnnotation(master, uid, data, annotationName, decorate, false);\n      return master;\n    };\n    const annotate = (editor, rng, uid, annotationName, decorate, data) => {\n      const newWrappers = [];\n      const master = makeAnnotation(editor.getDoc(), uid, data, annotationName, decorate);\n      const wrapper = value$2();\n      const finishWrapper = () => {\n        wrapper.clear();\n      };\n      const getOrOpenWrapper = () => wrapper.get().getOrThunk(() => {\n        const nu = shallow$1(master);\n        newWrappers.push(nu);\n        wrapper.set(nu);\n        return nu;\n      });\n      const processElements = elems => {\n        each$e(elems, processElement);\n      };\n      const processElement = elem => {\n        const ctx = context(editor, elem, 'span', name(elem));\n        switch (ctx) {\n          case 'invalid-child':\n            {\n              finishWrapper();\n              const children = children$1(elem);\n              processElements(children);\n              finishWrapper();\n              break;\n            }\n          case 'valid-block':\n            {\n              finishWrapper();\n              applyAnnotation(elem, uid, data, annotationName, decorate, true);\n              break;\n            }\n          case 'valid':\n            {\n              const w = getOrOpenWrapper();\n              wrap$2(elem, w);\n              break;\n            }\n        }\n      };\n      const processNodes = nodes => {\n        const elems = map$3(nodes, SugarElement.fromDom);\n        processElements(elems);\n      };\n      walk$3(editor.dom, rng, nodes => {\n        finishWrapper();\n        processNodes(nodes);\n      });\n      return newWrappers;\n    };\n    const annotateWithBookmark = (editor, name, settings, data) => {\n      editor.undoManager.transact(() => {\n        const selection = editor.selection;\n        const initialRng = selection.getRng();\n        const hasFakeSelection = getCellsFromEditor(editor).length > 0;\n        const masterUid = generate$1('mce-annotation');\n        if (initialRng.collapsed && !hasFakeSelection) {\n          applyWordGrab(editor, initialRng);\n        }\n        if (selection.getRng().collapsed && !hasFakeSelection) {\n          const wrapper = makeAnnotation(editor.getDoc(), masterUid, data, name, settings.decorate);\n          set$1(wrapper, nbsp);\n          selection.getRng().insertNode(wrapper.dom);\n          selection.select(wrapper.dom);\n        } else {\n          preserve(selection, false, () => {\n            runOnRanges(editor, selectionRng => {\n              annotate(editor, selectionRng, masterUid, name, settings.decorate, data);\n            });\n          });\n        }\n      });\n    };\n\n    const Annotator = editor => {\n      const registry = create$c();\n      setup$x(editor, registry);\n      const changes = setup$y(editor, registry);\n      const isSpan = isTag('span');\n      const removeAnnotations = elements => {\n        each$e(elements, element => {\n          if (isSpan(element)) {\n            unwrap(element);\n          } else {\n            removeDirectAnnotation(element);\n          }\n        });\n      };\n      return {\n        register: (name, settings) => {\n          registry.register(name, settings);\n        },\n        annotate: (name, data) => {\n          registry.lookup(name).each(settings => {\n            annotateWithBookmark(editor, name, settings, data);\n          });\n        },\n        annotationChanged: (name, callback) => {\n          changes.addListener(name, callback);\n        },\n        remove: name => {\n          identify(editor, Optional.some(name)).each(({\n            elements\n          }) => {\n            const bookmark = editor.selection.getBookmark();\n            removeAnnotations(elements);\n            editor.selection.moveToBookmark(bookmark);\n          });\n        },\n        removeAll: name => {\n          const bookmark = editor.selection.getBookmark();\n          each$d(findAll(editor, name), (elements, _) => {\n            removeAnnotations(elements);\n          });\n          editor.selection.moveToBookmark(bookmark);\n        },\n        getAll: name => {\n          const directory = findAll(editor, name);\n          return map$2(directory, elems => map$3(elems, elem => elem.dom));\n        }\n      };\n    };\n\n    const BookmarkManager = selection => {\n      return {\n        getBookmark: curry(getBookmark$1, selection),\n        moveToBookmark: curry(moveToBookmark, selection)\n      };\n    };\n    BookmarkManager.isBookmarkNode = isBookmarkNode$1;\n\n    const isXYWithinRange = (clientX, clientY, range) => {\n      if (range.collapsed) {\n        return false;\n      } else {\n        return exists(range.getClientRects(), rect => containsXY(rect, clientX, clientY));\n      }\n    };\n\n    const firePreProcess = (editor, args) => editor.dispatch('PreProcess', args);\n    const firePostProcess = (editor, args) => editor.dispatch('PostProcess', args);\n    const fireRemove = editor => {\n      editor.dispatch('remove');\n    };\n    const fireDetach = editor => {\n      editor.dispatch('detach');\n    };\n    const fireSwitchMode = (editor, mode) => {\n      editor.dispatch('SwitchMode', {\n        mode\n      });\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const firePreInit = editor => {\n      editor.dispatch('PreInit');\n    };\n    const firePostRender = editor => {\n      editor.dispatch('PostRender');\n    };\n    const fireInit = editor => {\n      editor.dispatch('Init');\n    };\n    const firePlaceholderToggle = (editor, state) => {\n      editor.dispatch('PlaceholderToggle', {\n        state\n      });\n    };\n    const fireError = (editor, errorType, error) => {\n      editor.dispatch(errorType, error);\n    };\n    const fireFormatApply = (editor, format, node, vars) => {\n      editor.dispatch('FormatApply', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireFormatRemove = (editor, format, node, vars) => {\n      editor.dispatch('FormatRemove', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireBeforeSetContent = (editor, args) => editor.dispatch('BeforeSetContent', args);\n    const fireSetContent = (editor, args) => editor.dispatch('SetContent', args);\n    const fireBeforeGetContent = (editor, args) => editor.dispatch('BeforeGetContent', args);\n    const fireGetContent = (editor, args) => editor.dispatch('GetContent', args);\n    const fireAutocompleterStart = (editor, args) => {\n      editor.dispatch('AutocompleterStart', args);\n    };\n    const fireAutocompleterUpdate = (editor, args) => {\n      editor.dispatch('AutocompleterUpdate', args);\n    };\n    const fireAutocompleterEnd = editor => {\n      editor.dispatch('AutocompleterEnd');\n    };\n    const firePastePreProcess = (editor, html, internal) => editor.dispatch('PastePreProcess', {\n      content: html,\n      internal\n    });\n    const firePastePostProcess = (editor, node, internal) => editor.dispatch('PastePostProcess', {\n      node,\n      internal\n    });\n    const firePastePlainTextToggle = (editor, state) => editor.dispatch('PastePlainTextToggle', {\n      state\n    });\n    const fireEditableRootStateChange = (editor, state) => editor.dispatch('EditableRootStateChange', {\n      state\n    });\n\n    const VK = {\n      BACKSPACE: 8,\n      DELETE: 46,\n      DOWN: 40,\n      ENTER: 13,\n      ESC: 27,\n      LEFT: 37,\n      RIGHT: 39,\n      SPACEBAR: 32,\n      TAB: 9,\n      UP: 38,\n      PAGE_UP: 33,\n      PAGE_DOWN: 34,\n      END: 35,\n      HOME: 36,\n      modifierPressed: e => {\n        return e.shiftKey || e.ctrlKey || e.altKey || VK.metaKeyPressed(e);\n      },\n      metaKeyPressed: e => {\n        return Env.os.isMacOS() || Env.os.isiOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n      }\n    };\n\n    const elementSelectionAttr = 'data-mce-selected';\n    const controlElmSelector = 'table,img,figure.image,hr,video,span.mce-preview-object,details';\n    const abs = Math.abs;\n    const round$1 = Math.round;\n    const resizeHandles = {\n      nw: [0, 0, -1, -1],\n      ne: [1, 0, 1, -1],\n      se: [1, 1, 1, 1],\n      sw: [0, 1, -1, 1]\n    };\n    const isTouchEvent = evt => evt.type === 'longpress' || evt.type.indexOf('touch') === 0;\n    const ControlSelection = (selection, editor) => {\n      const dom = editor.dom;\n      const editableDoc = editor.getDoc();\n      const rootDocument = document;\n      const rootElement = editor.getBody();\n      let selectedElm, selectedElmGhost, resizeHelper, selectedHandle, resizeBackdrop;\n      let startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted;\n      let width;\n      let height;\n      let startScrollWidth;\n      let startScrollHeight;\n      const isImage = elm => isNonNullable(elm) && (isImg(elm) || dom.is(elm, 'figure.image'));\n      const isMedia = elm => isMedia$2(elm) || dom.hasClass(elm, 'mce-preview-object');\n      const isEventOnImageOutsideRange = (evt, range) => {\n        if (isTouchEvent(evt)) {\n          const touch = evt.touches[0];\n          return isImage(evt.target) && !isXYWithinRange(touch.clientX, touch.clientY, range);\n        } else {\n          return isImage(evt.target) && !isXYWithinRange(evt.clientX, evt.clientY, range);\n        }\n      };\n      const contextMenuSelectImage = evt => {\n        const target = evt.target;\n        if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {\n          editor.selection.select(target);\n        }\n      };\n      const getResizeTargets = elm => {\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return [elm, elm.firstElementChild];\n        } else if (dom.is(elm, 'figure.image')) {\n          return [elm.querySelector('img')];\n        } else {\n          return [elm];\n        }\n      };\n      const isResizable = elm => {\n        const selector = getObjectResizing(editor);\n        if (!selector) {\n          return false;\n        }\n        if (elm.getAttribute('data-mce-resize') === 'false') {\n          return false;\n        }\n        if (elm === editor.getBody()) {\n          return false;\n        }\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return is$1(SugarElement.fromDom(elm.firstElementChild), selector);\n        } else {\n          return is$1(SugarElement.fromDom(elm), selector);\n        }\n      };\n      const createGhostElement = elm => {\n        if (isMedia(elm)) {\n          return dom.create('img', {\n            src: Env.transparentSrc\n          });\n        } else {\n          return elm.cloneNode(true);\n        }\n      };\n      const setSizeProp = (element, name, value) => {\n        if (isNonNullable(value)) {\n          const targets = getResizeTargets(element);\n          each$e(targets, target => {\n            if (target.style[name] || !editor.schema.isValid(target.nodeName.toLowerCase(), name)) {\n              dom.setStyle(target, name, value);\n            } else {\n              dom.setAttrib(target, name, '' + value);\n            }\n          });\n        }\n      };\n      const setGhostElmSize = (ghostElm, width, height) => {\n        setSizeProp(ghostElm, 'width', width);\n        setSizeProp(ghostElm, 'height', height);\n      };\n      const resizeGhostElement = e => {\n        let deltaX, deltaY, proportional;\n        let resizeHelperX, resizeHelperY;\n        deltaX = e.screenX - startX;\n        deltaY = e.screenY - startY;\n        width = deltaX * selectedHandle[2] + startW;\n        height = deltaY * selectedHandle[3] + startH;\n        width = width < 5 ? 5 : width;\n        height = height < 5 ? 5 : height;\n        if ((isImage(selectedElm) || isMedia(selectedElm)) && getResizeImgProportional(editor) !== false) {\n          proportional = !VK.modifierPressed(e);\n        } else {\n          proportional = VK.modifierPressed(e);\n        }\n        if (proportional) {\n          if (abs(deltaX) > abs(deltaY)) {\n            height = round$1(width * ratio);\n            width = round$1(height / ratio);\n          } else {\n            width = round$1(height / ratio);\n            height = round$1(width * ratio);\n          }\n        }\n        setGhostElmSize(selectedElmGhost, width, height);\n        resizeHelperX = selectedHandle.startPos.x + deltaX;\n        resizeHelperY = selectedHandle.startPos.y + deltaY;\n        resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0;\n        resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0;\n        dom.setStyles(resizeHelper, {\n          left: resizeHelperX,\n          top: resizeHelperY,\n          display: 'block'\n        });\n        resizeHelper.innerHTML = width + ' &times; ' + height;\n        if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {\n          dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));\n        }\n        if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {\n          dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));\n        }\n        deltaX = rootElement.scrollWidth - startScrollWidth;\n        deltaY = rootElement.scrollHeight - startScrollHeight;\n        if (deltaX + deltaY !== 0) {\n          dom.setStyles(resizeHelper, {\n            left: resizeHelperX - deltaX,\n            top: resizeHelperY - deltaY\n          });\n        }\n        if (!resizeStarted) {\n          fireObjectResizeStart(editor, selectedElm, startW, startH, 'corner-' + selectedHandle.name);\n          resizeStarted = true;\n        }\n      };\n      const endGhostResize = () => {\n        const wasResizeStarted = resizeStarted;\n        resizeStarted = false;\n        if (wasResizeStarted) {\n          setSizeProp(selectedElm, 'width', width);\n          setSizeProp(selectedElm, 'height', height);\n        }\n        dom.unbind(editableDoc, 'mousemove', resizeGhostElement);\n        dom.unbind(editableDoc, 'mouseup', endGhostResize);\n        if (rootDocument !== editableDoc) {\n          dom.unbind(rootDocument, 'mousemove', resizeGhostElement);\n          dom.unbind(rootDocument, 'mouseup', endGhostResize);\n        }\n        dom.remove(selectedElmGhost);\n        dom.remove(resizeHelper);\n        dom.remove(resizeBackdrop);\n        showResizeRect(selectedElm);\n        if (wasResizeStarted) {\n          fireObjectResized(editor, selectedElm, width, height, 'corner-' + selectedHandle.name);\n          dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style'));\n        }\n        editor.nodeChanged();\n      };\n      const showResizeRect = targetElm => {\n        unbindResizeHandleEvents();\n        const position = dom.getPos(targetElm, rootElement);\n        const selectedElmX = position.x;\n        const selectedElmY = position.y;\n        const rect = targetElm.getBoundingClientRect();\n        const targetWidth = rect.width || rect.right - rect.left;\n        const targetHeight = rect.height || rect.bottom - rect.top;\n        if (selectedElm !== targetElm) {\n          hideResizeRect();\n          selectedElm = targetElm;\n          width = height = 0;\n        }\n        const e = editor.dispatch('ObjectSelected', {\n          target: targetElm\n        });\n        if (isResizable(targetElm) && !e.isDefaultPrevented()) {\n          each$d(resizeHandles, (handle, name) => {\n            const startDrag = e => {\n              const target = getResizeTargets(selectedElm)[0];\n              startX = e.screenX;\n              startY = e.screenY;\n              startW = target.clientWidth;\n              startH = target.clientHeight;\n              ratio = startH / startW;\n              selectedHandle = handle;\n              selectedHandle.name = name;\n              selectedHandle.startPos = {\n                x: targetWidth * handle[0] + selectedElmX,\n                y: targetHeight * handle[1] + selectedElmY\n              };\n              startScrollWidth = rootElement.scrollWidth;\n              startScrollHeight = rootElement.scrollHeight;\n              resizeBackdrop = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-backdrop',\n                'data-mce-bogus': 'all'\n              });\n              dom.setStyles(resizeBackdrop, {\n                position: 'fixed',\n                left: '0',\n                top: '0',\n                width: '100%',\n                height: '100%'\n              });\n              selectedElmGhost = createGhostElement(selectedElm);\n              dom.addClass(selectedElmGhost, 'mce-clonedresizable');\n              dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all');\n              selectedElmGhost.contentEditable = 'false';\n              dom.setStyles(selectedElmGhost, {\n                left: selectedElmX,\n                top: selectedElmY,\n                margin: 0\n              });\n              setGhostElmSize(selectedElmGhost, targetWidth, targetHeight);\n              selectedElmGhost.removeAttribute(elementSelectionAttr);\n              rootElement.appendChild(selectedElmGhost);\n              dom.bind(editableDoc, 'mousemove', resizeGhostElement);\n              dom.bind(editableDoc, 'mouseup', endGhostResize);\n              if (rootDocument !== editableDoc) {\n                dom.bind(rootDocument, 'mousemove', resizeGhostElement);\n                dom.bind(rootDocument, 'mouseup', endGhostResize);\n              }\n              resizeHelper = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-helper',\n                'data-mce-bogus': 'all'\n              }, startW + ' &times; ' + startH);\n            };\n            let handleElm = dom.get('mceResizeHandle' + name);\n            if (handleElm) {\n              dom.remove(handleElm);\n            }\n            handleElm = dom.add(rootElement, 'div', {\n              'id': 'mceResizeHandle' + name,\n              'data-mce-bogus': 'all',\n              'class': 'mce-resizehandle',\n              'unselectable': true,\n              'style': 'cursor:' + name + '-resize; margin:0; padding:0'\n            });\n            dom.bind(handleElm, 'mousedown', e => {\n              e.stopImmediatePropagation();\n              e.preventDefault();\n              startDrag(e);\n            });\n            handle.elm = handleElm;\n            dom.setStyles(handleElm, {\n              left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2,\n              top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2\n            });\n          });\n        } else {\n          hideResizeRect(false);\n        }\n      };\n      const throttledShowResizeRect = first$1(showResizeRect, 0);\n      const hideResizeRect = (removeSelected = true) => {\n        throttledShowResizeRect.cancel();\n        unbindResizeHandleEvents();\n        if (selectedElm && removeSelected) {\n          selectedElm.removeAttribute(elementSelectionAttr);\n        }\n        each$d(resizeHandles, (value, name) => {\n          const handleElm = dom.get('mceResizeHandle' + name);\n          if (handleElm) {\n            dom.unbind(handleElm);\n            dom.remove(handleElm);\n          }\n        });\n      };\n      const isChildOrEqual = (node, parent) => dom.isChildOf(node, parent);\n      const updateResizeRect = e => {\n        if (resizeStarted || editor.removed || editor.composing) {\n          return;\n        }\n        const targetElm = e.type === 'mousedown' ? e.target : selection.getNode();\n        const controlElm = closest$3(SugarElement.fromDom(targetElm), controlElmSelector).map(e => e.dom).filter(e => dom.isEditable(e.parentElement) || e.nodeName === 'IMG' && dom.isEditable(e)).getOrUndefined();\n        const selectedValue = isNonNullable(controlElm) ? dom.getAttrib(controlElm, elementSelectionAttr, '1') : '1';\n        each$e(dom.select(\"img[\".concat(elementSelectionAttr, \"],hr[\").concat(elementSelectionAttr, \"]\")), img => {\n          img.removeAttribute(elementSelectionAttr);\n        });\n        if (isNonNullable(controlElm) && isChildOrEqual(controlElm, rootElement) && editor.hasFocus()) {\n          disableGeckoResize();\n          const startElm = selection.getStart(true);\n          if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) {\n            dom.setAttrib(controlElm, elementSelectionAttr, selectedValue);\n            throttledShowResizeRect.throttle(controlElm);\n            return;\n          }\n        }\n        hideResizeRect();\n      };\n      const unbindResizeHandleEvents = () => {\n        each$d(resizeHandles, handle => {\n          if (handle.elm) {\n            dom.unbind(handle.elm);\n            delete handle.elm;\n          }\n        });\n      };\n      const disableGeckoResize = () => {\n        try {\n          editor.getDoc().execCommand('enableObjectResizing', false, 'false');\n        } catch (ex) {}\n      };\n      editor.on('init', () => {\n        disableGeckoResize();\n        editor.on('NodeChange ResizeEditor ResizeWindow ResizeContent drop', updateResizeRect);\n        editor.on('keyup compositionend', e => {\n          if (selectedElm && selectedElm.nodeName === 'TABLE') {\n            updateResizeRect(e);\n          }\n        });\n        editor.on('hide blur', hideResizeRect);\n        editor.on('contextmenu longpress', contextMenuSelectImage, true);\n      });\n      editor.on('remove', unbindResizeHandleEvents);\n      const destroy = () => {\n        throttledShowResizeRect.cancel();\n        selectedElm = selectedElmGhost = resizeBackdrop = null;\n      };\n      return {\n        isResizable,\n        showResizeRect,\n        hideResizeRect,\n        updateResizeRect,\n        destroy\n      };\n    };\n\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$a = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$a\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint$1 = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const adt$2 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$2 = situ => situ.fold(identity, identity, identity);\n    const before$1 = adt$2.before;\n    const on = adt$2.on;\n    const after$1 = adt$2.after;\n    const Situ = {\n      before: before$1,\n      on,\n      after: after$1,\n      cata,\n      getStart: getStart$2\n    };\n\n    const adt$1 = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt$1.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart$1 = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt$1.domRange;\n    const relative = adt$1.relative;\n    const exact = adt$1.exact;\n    const getWin = selection => {\n      const start = getStart$1(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n    const preprocess = selection => selection.match({\n      domRange: rng => {\n        const start = SugarElement.fromDom(rng.startContainer);\n        const finish = SugarElement.fromDom(rng.endContainer);\n        return preprocessExact(start, rng.startOffset, finish, rng.endOffset);\n      },\n      relative: preprocessRelative,\n      exact: preprocessExact\n    });\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$e(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const toNative = selection => {\n      const win = SimSelection.getWin(selection).dom;\n      const getDomRange = (start, soffset, finish, foffset) => exactToNative(win, start, soffset, finish, foffset);\n      const filtered = preprocess(selection);\n      return diagnose(win, filtered).match({\n        ltr: getDomRange,\n        rtl: getDomRange\n      });\n    };\n    const getAtPoint = (win, x, y) => fromPoint$1(win, x, y);\n\n    const fromPoint = (clientX, clientY, doc) => {\n      const win = defaultView(SugarElement.fromDom(doc));\n      return getAtPoint(win.dom, clientX, clientY).map(simRange => {\n        const rng = doc.createRange();\n        rng.setStart(simRange.start.dom, simRange.soffset);\n        rng.setEnd(simRange.finish.dom, simRange.foffset);\n        return rng;\n      }).getOrUndefined();\n    };\n\n    const isEq$4 = (rng1, rng2) => {\n      return isNonNullable(rng1) && isNonNullable(rng2) && rng1.startContainer === rng2.startContainer && rng1.startOffset === rng2.startOffset && rng1.endContainer === rng2.endContainer && rng1.endOffset === rng2.endOffset;\n    };\n\n    const findParent = (node, rootNode, predicate) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== rootNode) {\n        if (predicate(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n    const hasParent$1 = (node, rootNode, predicate) => findParent(node, rootNode, predicate) !== null;\n    const hasParentWithName = (node, rootNode, name) => hasParent$1(node, rootNode, node => node.nodeName === name);\n    const isCeFalseCaretContainer = (node, rootNode) => isCaretContainer$2(node) && !hasParent$1(node, rootNode, isCaretNode);\n    const hasBrBeforeAfter = (dom, node, left) => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        const walker = new DomTreeWalker(node, dom.getParent(parentNode, dom.isBlock) || dom.getRoot());\n        let currentNode;\n        while (currentNode = walker[left ? 'prev' : 'next']()) {\n          if (isBr$6(currentNode)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const isPrevNode = (node, name) => {\n      var _a;\n      return ((_a = node.previousSibling) === null || _a === void 0 ? void 0 : _a.nodeName) === name;\n    };\n    const hasContentEditableFalseParent = (root, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== root) {\n        if (isContentEditableFalse$b(currentNode)) {\n          return true;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return false;\n    };\n    const findTextNodeRelative = (dom, isAfterNode, collapsed, left, startNode) => {\n      const body = dom.getRoot();\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      const parentNode = startNode.parentNode;\n      let lastInlineElement;\n      let node;\n      if (!parentNode) {\n        return Optional.none();\n      }\n      const parentBlockContainer = dom.getParent(parentNode, dom.isBlock) || body;\n      if (left && isBr$6(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) {\n        return Optional.some(CaretPosition(parentNode, dom.nodeIndex(startNode)));\n      }\n      const walker = new DomTreeWalker(startNode, parentBlockContainer);\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) {\n          return Optional.none();\n        }\n        if (isText$a(node) && node.data.length > 0) {\n          if (!hasParentWithName(node, body, 'A')) {\n            return Optional.some(CaretPosition(node, left ? node.data.length : 0));\n          }\n          return Optional.none();\n        }\n        if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          return Optional.none();\n        }\n        lastInlineElement = node;\n      }\n      if (isComment(lastInlineElement)) {\n        return Optional.none();\n      }\n      if (collapsed && lastInlineElement) {\n        return Optional.some(CaretPosition(lastInlineElement, 0));\n      }\n      return Optional.none();\n    };\n    const normalizeEndPoint = (dom, collapsed, start, rng) => {\n      const body = dom.getRoot();\n      let node;\n      let normalized = false;\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const isAfterNode = isElement$6(container) && offset === container.childNodes.length;\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      let directionLeft = start;\n      if (isCaretContainer$2(container)) {\n        return Optional.none();\n      }\n      if (isElement$6(container) && offset > container.childNodes.length - 1) {\n        directionLeft = false;\n      }\n      if (isDocument$1(container)) {\n        container = body;\n        offset = 0;\n      }\n      if (container === body) {\n        if (directionLeft) {\n          node = container.childNodes[offset > 0 ? offset - 1 : 0];\n          if (node) {\n            if (isCaretContainer$2(node)) {\n              return Optional.none();\n            }\n            if (nonEmptyElementsMap[node.nodeName] || isTable$2(node)) {\n              return Optional.none();\n            }\n          }\n        }\n        if (container.hasChildNodes()) {\n          offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1);\n          container = container.childNodes[offset];\n          offset = isText$a(container) && isAfterNode ? container.data.length : 0;\n          if (!collapsed && container === body.lastChild && isTable$2(container)) {\n            return Optional.none();\n          }\n          if (hasContentEditableFalseParent(body, container) || isCaretContainer$2(container)) {\n            return Optional.none();\n          }\n          if (isDetails(container)) {\n            return Optional.none();\n          }\n          if (container.hasChildNodes() && !isTable$2(container)) {\n            node = container;\n            const walker = new DomTreeWalker(container, body);\n            do {\n              if (isContentEditableFalse$b(node) || isCaretContainer$2(node)) {\n                normalized = false;\n                break;\n              }\n              if (isText$a(node) && node.data.length > 0) {\n                offset = directionLeft ? 0 : node.data.length;\n                container = node;\n                normalized = true;\n                break;\n              }\n              if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCellOrCaption(node)) {\n                offset = dom.nodeIndex(node);\n                container = node.parentNode;\n                if (!directionLeft) {\n                  offset++;\n                }\n                normalized = true;\n                break;\n              }\n            } while (node = directionLeft ? walker.next() : walker.prev());\n          }\n        }\n      }\n      if (collapsed) {\n        if (isText$a(container) && offset === 0) {\n          findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(pos => {\n            container = pos.container();\n            offset = pos.offset();\n            normalized = true;\n          });\n        }\n        if (isElement$6(container)) {\n          node = container.childNodes[offset];\n          if (!node) {\n            node = container.childNodes[offset - 1];\n          }\n          if (node && isBr$6(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) {\n            findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(pos => {\n              container = pos.container();\n              offset = pos.offset();\n              normalized = true;\n            });\n          }\n        }\n      }\n      if (directionLeft && !collapsed && isText$a(container) && offset === container.data.length) {\n        findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(pos => {\n          container = pos.container();\n          offset = pos.offset();\n          normalized = true;\n        });\n      }\n      return normalized && container ? Optional.some(CaretPosition(container, offset)) : Optional.none();\n    };\n    const normalize$2 = (dom, rng) => {\n      const collapsed = rng.collapsed,\n        normRng = rng.cloneRange();\n      const startPos = CaretPosition.fromRangeStart(rng);\n      normalizeEndPoint(dom, collapsed, true, normRng).each(pos => {\n        if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {\n          normRng.setStart(pos.container(), pos.offset());\n        }\n      });\n      if (!collapsed) {\n        normalizeEndPoint(dom, collapsed, false, normRng).each(pos => {\n          normRng.setEnd(pos.container(), pos.offset());\n        });\n      }\n      if (collapsed) {\n        normRng.collapse(true);\n      }\n      return isEq$4(rng, normRng) ? Optional.none() : Optional.some(normRng);\n    };\n\n    const splitText = (node, offset) => {\n      return node.splitText(offset);\n    };\n    const split = rng => {\n      let startContainer = rng.startContainer,\n        startOffset = rng.startOffset,\n        endContainer = rng.endContainer,\n        endOffset = rng.endOffset;\n      if (startContainer === endContainer && isText$a(startContainer)) {\n        if (startOffset > 0 && startOffset < startContainer.data.length) {\n          endContainer = splitText(startContainer, startOffset);\n          startContainer = endContainer.previousSibling;\n          if (endOffset > startOffset) {\n            endOffset = endOffset - startOffset;\n            const newContainer = splitText(endContainer, endOffset).previousSibling;\n            startContainer = endContainer = newContainer;\n            endOffset = newContainer.data.length;\n            startOffset = 0;\n          } else {\n            endOffset = 0;\n          }\n        }\n      } else {\n        if (isText$a(startContainer) && startOffset > 0 && startOffset < startContainer.data.length) {\n          startContainer = splitText(startContainer, startOffset);\n          startOffset = 0;\n        }\n        if (isText$a(endContainer) && endOffset > 0 && endOffset < endContainer.data.length) {\n          const newContainer = splitText(endContainer, endOffset).previousSibling;\n          endContainer = newContainer;\n          endOffset = newContainer.data.length;\n        }\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const RangeUtils = dom => {\n      const walk = (rng, callback) => {\n        return walk$3(dom, rng, callback);\n      };\n      const split$1 = split;\n      const normalize = rng => {\n        return normalize$2(dom, rng).fold(never, normalizedRng => {\n          rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset);\n          rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset);\n          return true;\n        });\n      };\n      const expand = (rng, options = {\n        type: 'word'\n      }) => {\n        if (options.type === 'word') {\n          const rangeLike = expandRng(dom, rng, [{\n            inline: 'span'\n          }]);\n          const newRange = dom.createRng();\n          newRange.setStart(rangeLike.startContainer, rangeLike.startOffset);\n          newRange.setEnd(rangeLike.endContainer, rangeLike.endOffset);\n          return newRange;\n        }\n        return rng;\n      };\n      return {\n        walk,\n        split: split$1,\n        expand,\n        normalize\n      };\n    };\n    RangeUtils.compareRanges = isEq$4;\n    RangeUtils.getCaretRangeFromPoint = fromPoint;\n    RangeUtils.getSelectedNode = getSelectedNode;\n    RangeUtils.getNode = getNode$1;\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$7(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$7(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const api = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$2 = element => api.get(element);\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    const walkUp = (navigation, doc) => {\n      const frame = navigation.view(doc);\n      return frame.fold(constant([]), f => {\n        const parent = navigation.owner(f);\n        const rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    const pathTo = (element, navigation) => {\n      const d = navigation.owner(element);\n      return walkUp(navigation, d);\n    };\n\n    const view = doc => {\n      var _a;\n      const element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    const owner = element => documentOrOwner(element);\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner\n    });\n\n    const find = element => {\n      const doc = getDocument();\n      const scroll = get$5(doc);\n      const frames = pathTo(element, Navigation);\n      const offset = viewport(element);\n      const r = foldr(frames, (b, a) => {\n        const loc = viewport(a);\n        return {\n          left: b.left + loc.left,\n          top: b.top + loc.top\n        };\n      }, {\n        left: 0,\n        top: 0\n      });\n      return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n    };\n\n    const excludeFromDescend = element => name(element) === 'textarea';\n    const fireScrollIntoViewEvent = (editor, data) => {\n      const scrollEvent = editor.dispatch('ScrollIntoView', data);\n      return scrollEvent.isDefaultPrevented();\n    };\n    const fireAfterScrollIntoViewEvent = (editor, data) => {\n      editor.dispatch('AfterScrollIntoView', data);\n    };\n    const descend = (element, offset) => {\n      const children = children$1(element);\n      if (children.length === 0 || excludeFromDescend(element)) {\n        return {\n          element,\n          offset\n        };\n      } else if (offset < children.length && !excludeFromDescend(children[offset])) {\n        return {\n          element: children[offset],\n          offset: 0\n        };\n      } else {\n        const last = children[children.length - 1];\n        if (excludeFromDescend(last)) {\n          return {\n            element,\n            offset\n          };\n        } else {\n          if (name(last) === 'img') {\n            return {\n              element: last,\n              offset: 1\n            };\n          } else if (isText$b(last)) {\n            return {\n              element: last,\n              offset: get$3(last).length\n            };\n          } else {\n            return {\n              element: last,\n              offset: children$1(last).length\n            };\n          }\n        }\n      }\n    };\n    const markerInfo = (element, cleanupFun) => {\n      const pos = absolute(element);\n      const height = get$2(element);\n      return {\n        element,\n        bottom: pos.top + height,\n        height,\n        pos,\n        cleanup: cleanupFun\n      };\n    };\n    const createMarker$1 = (element, offset) => {\n      const startPoint = descend(element, offset);\n      const span = SugarElement.fromHtml('<span data-mce-bogus=\"all\" style=\"display: inline-block;\">' + ZWSP$1 + '<\/span>');\n      before$3(startPoint.element, span);\n      return markerInfo(span, () => remove$5(span));\n    };\n    const elementMarker = element => markerInfo(SugarElement.fromDom(element), noop);\n    const withMarker = (editor, f, rng, alignToTop) => {\n      preserveWith(editor, (_s, _e) => applyWithMarker(editor, f, rng, alignToTop), rng);\n    };\n    const withScrollEvents = (editor, doc, f, marker, alignToTop) => {\n      const data = {\n        elm: marker.element.dom,\n        alignToTop\n      };\n      if (fireScrollIntoViewEvent(editor, data)) {\n        return;\n      }\n      const scrollTop = get$5(doc).top;\n      f(editor, doc, scrollTop, marker, alignToTop);\n      fireAfterScrollIntoViewEvent(editor, data);\n    };\n    const applyWithMarker = (editor, f, rng, alignToTop) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const doc = SugarElement.fromDom(editor.getDoc());\n      reflow(body);\n      const marker = createMarker$1(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      withScrollEvents(editor, doc, f, marker, alignToTop);\n      marker.cleanup();\n    };\n    const withElement = (editor, element, f, alignToTop) => {\n      const doc = SugarElement.fromDom(editor.getDoc());\n      withScrollEvents(editor, doc, f, elementMarker(element), alignToTop);\n    };\n    const preserveWith = (editor, f, rng) => {\n      const startElement = rng.startContainer;\n      const startOffset = rng.startOffset;\n      const endElement = rng.endContainer;\n      const endOffset = rng.endOffset;\n      f(SugarElement.fromDom(startElement), SugarElement.fromDom(endElement));\n      const newRng = editor.dom.createRng();\n      newRng.setStart(startElement, startOffset);\n      newRng.setEnd(endElement, endOffset);\n      editor.selection.setRng(rng);\n    };\n    const scrollToMarker = (editor, marker, viewHeight, alignToTop, doc) => {\n      const pos = marker.pos;\n      if (alignToTop) {\n        to(pos.left, pos.top, doc);\n      } else {\n        const y = pos.top - viewHeight + marker.height;\n        to(-editor.getBody().getBoundingClientRect().left, y, doc);\n      }\n    };\n    const intoWindowIfNeeded = (editor, doc, scrollTop, viewHeight, marker, alignToTop) => {\n      const viewportBottom = viewHeight + scrollTop;\n      const markerTop = marker.pos.top;\n      const markerBottom = marker.bottom;\n      const largerThanViewport = markerBottom - markerTop >= viewHeight;\n      if (markerTop < scrollTop) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop !== false, doc);\n      } else if (markerTop > viewportBottom) {\n        const align = largerThanViewport ? alignToTop !== false : alignToTop === true;\n        scrollToMarker(editor, marker, viewHeight, align, doc);\n      } else if (markerBottom > viewportBottom && !largerThanViewport) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop === true, doc);\n      }\n    };\n    const intoWindow = (editor, doc, scrollTop, marker, alignToTop) => {\n      const viewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, viewHeight, marker, alignToTop);\n    };\n    const intoFrame = (editor, doc, scrollTop, marker, alignToTop) => {\n      const frameViewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, frameViewHeight, marker, alignToTop);\n      const op = find(marker.element);\n      const viewportBounds = getBounds(window);\n      if (op.top < viewportBounds.y) {\n        intoView(marker.element, alignToTop !== false);\n      } else if (op.top > viewportBounds.bottom) {\n        intoView(marker.element, alignToTop === true);\n      }\n    };\n    const rangeIntoWindow = (editor, rng, alignToTop) => withMarker(editor, intoWindow, rng, alignToTop);\n    const elementIntoWindow = (editor, element, alignToTop) => withElement(editor, element, intoWindow, alignToTop);\n    const rangeIntoFrame = (editor, rng, alignToTop) => withMarker(editor, intoFrame, rng, alignToTop);\n    const elementIntoFrame = (editor, element, alignToTop) => withElement(editor, element, intoFrame, alignToTop);\n    const scrollElementIntoView = (editor, element, alignToTop) => {\n      const scroller = editor.inline ? elementIntoWindow : elementIntoFrame;\n      scroller(editor, element, alignToTop);\n    };\n    const scrollRangeIntoView = (editor, rng, alignToTop) => {\n      const scroller = editor.inline ? rangeIntoWindow : rangeIntoFrame;\n      scroller(editor, rng, alignToTop);\n    };\n\n    const focus$1 = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n    const hasFocus$1 = element => {\n      const root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    const active$1 = (root = getDocument()) => Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    const search = element => active$1(getRootNode(element)).filter(e => element.dom.contains(e.dom));\n\n    const clamp$1 = (offset, element) => {\n      const max = isText$b(element) ? get$3(element).length : children$1(element).length + 1;\n      if (offset > max) {\n        return max;\n      } else if (offset < 0) {\n        return 0;\n      }\n      return offset;\n    };\n    const normalizeRng = rng => SimSelection.range(rng.start, clamp$1(rng.soffset, rng.start), rng.finish, clamp$1(rng.foffset, rng.finish));\n    const isOrContains = (root, elm) => !isRestrictedNode(elm.dom) && (contains(root, elm) || eq(root, elm));\n    const isRngInRoot = root => rng => isOrContains(root, rng.start) && isOrContains(root, rng.finish);\n    const shouldStore = editor => editor.inline || Env.browser.isFirefox();\n    const nativeRangeToSelectionRange = r => SimSelection.range(SugarElement.fromDom(r.startContainer), r.startOffset, SugarElement.fromDom(r.endContainer), r.endOffset);\n    const readRange = win => {\n      const selection = win.getSelection();\n      const rng = !selection || selection.rangeCount === 0 ? Optional.none() : Optional.from(selection.getRangeAt(0));\n      return rng.map(nativeRangeToSelectionRange);\n    };\n    const getBookmark = root => {\n      const win = defaultView(root);\n      return readRange(win.dom).filter(isRngInRoot(root));\n    };\n    const validate = (root, bookmark) => Optional.from(bookmark).filter(isRngInRoot(root)).map(normalizeRng);\n    const bookmarkToNativeRng = bookmark => {\n      const rng = document.createRange();\n      try {\n        rng.setStart(bookmark.start.dom, bookmark.soffset);\n        rng.setEnd(bookmark.finish.dom, bookmark.foffset);\n        return Optional.some(rng);\n      } catch (_) {\n        return Optional.none();\n      }\n    };\n    const store = editor => {\n      const newBookmark = shouldStore(editor) ? getBookmark(SugarElement.fromDom(editor.getBody())) : Optional.none();\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    const getRng = editor => {\n      const bookmark = editor.bookmark ? editor.bookmark : Optional.none();\n      return bookmark.bind(x => validate(SugarElement.fromDom(editor.getBody()), x)).bind(bookmarkToNativeRng);\n    };\n    const restore = editor => {\n      getRng(editor).each(rng => editor.selection.setRng(rng));\n    };\n\n    const isEditorUIElement$1 = elm => {\n      const className = elm.className.toString();\n      return className.indexOf('tox-') !== -1 || className.indexOf('mce-') !== -1;\n    };\n    const FocusManager = {\n      isEditorUIElement: isEditorUIElement$1\n    };\n\n    const wrappedSetTimeout = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setTimeout(callback, time);\n    };\n    const wrappedSetInterval = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setInterval(callback, time);\n    };\n    const Delay = {\n      setEditorTimeout: (editor, callback, time) => {\n        return wrappedSetTimeout(() => {\n          if (!editor.removed) {\n            callback();\n          }\n        }, time);\n      },\n      setEditorInterval: (editor, callback, time) => {\n        const timer = wrappedSetInterval(() => {\n          if (!editor.removed) {\n            callback();\n          } else {\n            clearInterval(timer);\n          }\n        }, time);\n        return timer;\n      }\n    };\n\n    const isManualNodeChange = e => {\n      return e.type === 'nodechange' && e.selectionChange;\n    };\n    const registerPageMouseUp = (editor, throttledStore) => {\n      const mouseUpPage = () => {\n        throttledStore.throttle();\n      };\n      DOMUtils.DOM.bind(document, 'mouseup', mouseUpPage);\n      editor.on('remove', () => {\n        DOMUtils.DOM.unbind(document, 'mouseup', mouseUpPage);\n      });\n    };\n    const registerMouseUp = (editor, throttledStore) => {\n      editor.on('mouseup touchend', _e => {\n        throttledStore.throttle();\n      });\n    };\n    const registerEditorEvents = (editor, throttledStore) => {\n      registerMouseUp(editor, throttledStore);\n      editor.on('keyup NodeChange AfterSetSelectionRange', e => {\n        if (!isManualNodeChange(e)) {\n          store(editor);\n        }\n      });\n    };\n    const register$6 = editor => {\n      const throttledStore = first$1(() => {\n        store(editor);\n      }, 0);\n      editor.on('init', () => {\n        if (editor.inline) {\n          registerPageMouseUp(editor, throttledStore);\n        }\n        registerEditorEvents(editor, throttledStore);\n      });\n      editor.on('remove', () => {\n        throttledStore.cancel();\n      });\n    };\n\n    let documentFocusInHandler;\n    const DOM$9 = DOMUtils.DOM;\n    const isEditorUIElement = elm => {\n      return isElement$6(elm) && FocusManager.isEditorUIElement(elm);\n    };\n    const isEditorContentAreaElement = elm => {\n      const classList = elm.classList;\n      if (classList !== undefined) {\n        return classList.contains('tox-edit-area') || classList.contains('tox-edit-area__iframe') || classList.contains('mce-content-body');\n      } else {\n        return false;\n      }\n    };\n    const isUIElement = (editor, elm) => {\n      const customSelector = getCustomUiSelector(editor);\n      const parent = DOM$9.getParent(elm, elm => {\n        return isEditorUIElement(elm) || (customSelector ? editor.dom.is(elm, customSelector) : false);\n      });\n      return parent !== null;\n    };\n    const getActiveElement = editor => {\n      try {\n        const root = getRootNode(SugarElement.fromDom(editor.getElement()));\n        return active$1(root).fold(() => document.body, x => x.dom);\n      } catch (ex) {\n        return document.body;\n      }\n    };\n    const registerEvents$1 = (editorManager, e) => {\n      const editor = e.editor;\n      register$6(editor);\n      const toggleContentAreaOnFocus = (editor, fn) => {\n        if (shouldHighlightOnFocus(editor) && editor.inline !== true) {\n          const contentArea = SugarElement.fromDom(editor.getContainer());\n          fn(contentArea, 'tox-edit-focus');\n        }\n      };\n      editor.on('focusin', () => {\n        const focusedEditor = editorManager.focusedEditor;\n        if (isEditorContentAreaElement(getActiveElement(editor))) {\n          toggleContentAreaOnFocus(editor, add$2);\n        }\n        if (focusedEditor !== editor) {\n          if (focusedEditor) {\n            focusedEditor.dispatch('blur', {\n              focusedEditor: editor\n            });\n          }\n          editorManager.setActive(editor);\n          editorManager.focusedEditor = editor;\n          editor.dispatch('focus', {\n            blurredEditor: focusedEditor\n          });\n          editor.focus(true);\n        }\n      });\n      editor.on('focusout', () => {\n        Delay.setEditorTimeout(editor, () => {\n          const focusedEditor = editorManager.focusedEditor;\n          if (!isEditorContentAreaElement(getActiveElement(editor)) || focusedEditor !== editor) {\n            toggleContentAreaOnFocus(editor, remove$7);\n          }\n          if (!isUIElement(editor, getActiveElement(editor)) && focusedEditor === editor) {\n            editor.dispatch('blur', {\n              focusedEditor: null\n            });\n            editorManager.focusedEditor = null;\n          }\n        });\n      });\n      if (!documentFocusInHandler) {\n        documentFocusInHandler = e => {\n          const activeEditor = editorManager.activeEditor;\n          if (activeEditor) {\n            getOriginalEventTarget(e).each(target => {\n              const elem = target;\n              if (elem.ownerDocument === document) {\n                if (elem !== document.body && !isUIElement(activeEditor, elem) && editorManager.focusedEditor === activeEditor) {\n                  activeEditor.dispatch('blur', {\n                    focusedEditor: null\n                  });\n                  editorManager.focusedEditor = null;\n                }\n              }\n            });\n          }\n        };\n        DOM$9.bind(document, 'focusin', documentFocusInHandler);\n      }\n    };\n    const unregisterDocumentEvents = (editorManager, e) => {\n      if (editorManager.focusedEditor === e.editor) {\n        editorManager.focusedEditor = null;\n      }\n      if (!editorManager.activeEditor && documentFocusInHandler) {\n        DOM$9.unbind(document, 'focusin', documentFocusInHandler);\n        documentFocusInHandler = null;\n      }\n    };\n    const setup$w = editorManager => {\n      editorManager.on('AddEditor', curry(registerEvents$1, editorManager));\n      editorManager.on('RemoveEditor', curry(unregisterDocumentEvents, editorManager));\n    };\n\n    const getContentEditableHost = (editor, node) => editor.dom.getParent(node, node => editor.dom.getContentEditable(node) === 'true');\n    const getCollapsedNode = rng => rng.collapsed ? Optional.from(getNode$1(rng.startContainer, rng.startOffset)).map(SugarElement.fromDom) : Optional.none();\n    const getFocusInElement = (root, rng) => getCollapsedNode(rng).bind(node => {\n      if (isTableSection(node)) {\n        return Optional.some(node);\n      } else if (!contains(root, node)) {\n        return Optional.some(root);\n      } else {\n        return Optional.none();\n      }\n    });\n    const normalizeSelection = (editor, rng) => {\n      getFocusInElement(SugarElement.fromDom(editor.getBody()), rng).bind(elm => {\n        return firstPositionIn(elm.dom);\n      }).fold(() => {\n        editor.selection.normalize();\n      }, caretPos => editor.selection.setRng(caretPos.toRange()));\n    };\n    const focusBody = body => {\n      if (body.setActive) {\n        try {\n          body.setActive();\n        } catch (ex) {\n          body.focus();\n        }\n      } else {\n        body.focus();\n      }\n    };\n    const hasElementFocus = elm => hasFocus$1(elm) || search(elm).isSome();\n    const hasIframeFocus = editor => isNonNullable(editor.iframeElement) && hasFocus$1(SugarElement.fromDom(editor.iframeElement));\n    const hasInlineFocus = editor => {\n      const rawBody = editor.getBody();\n      return rawBody && hasElementFocus(SugarElement.fromDom(rawBody));\n    };\n    const hasUiFocus = editor => {\n      const dos = getRootNode(SugarElement.fromDom(editor.getElement()));\n      return active$1(dos).filter(elem => !isEditorContentAreaElement(elem.dom) && isUIElement(editor, elem.dom)).isSome();\n    };\n    const hasFocus = editor => editor.inline ? hasInlineFocus(editor) : hasIframeFocus(editor);\n    const hasEditorOrUiFocus = editor => hasFocus(editor) || hasUiFocus(editor);\n    const focusEditor = editor => {\n      const selection = editor.selection;\n      const body = editor.getBody();\n      let rng = selection.getRng();\n      editor.quirks.refreshContentEditable();\n      if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n        getRng(editor).each(bookmarkRng => {\n          editor.selection.setRng(bookmarkRng);\n          rng = bookmarkRng;\n        });\n      }\n      const contentEditableHost = getContentEditableHost(editor, selection.getNode());\n      if (contentEditableHost && editor.dom.isChildOf(contentEditableHost, body)) {\n        focusBody(contentEditableHost);\n        normalizeSelection(editor, rng);\n        activateEditor(editor);\n        return;\n      }\n      if (!editor.inline) {\n        if (!Env.browser.isOpera()) {\n          focusBody(body);\n        }\n        editor.getWin().focus();\n      }\n      if (Env.browser.isFirefox() || editor.inline) {\n        focusBody(body);\n        normalizeSelection(editor, rng);\n      }\n      activateEditor(editor);\n    };\n    const activateEditor = editor => editor.editorManager.setActive(editor);\n    const focus = (editor, skipFocus) => {\n      if (editor.removed) {\n        return;\n      }\n      if (skipFocus) {\n        activateEditor(editor);\n      } else {\n        focusEditor(editor);\n      }\n    };\n\n    const isEditableRange = (dom, rng) => {\n      if (rng.collapsed) {\n        return dom.isEditable(rng.startContainer);\n      } else {\n        return dom.isEditable(rng.startContainer) && dom.isEditable(rng.endContainer);\n      }\n    };\n\n    const getEndpointElement = (root, rng, start, real, resolve) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      const offset = start ? rng.startOffset : rng.endOffset;\n      return Optional.from(container).map(SugarElement.fromDom).map(elm => !real || !rng.collapsed ? child$1(elm, resolve(elm, offset)).getOr(elm) : elm).bind(elm => isElement$7(elm) ? Optional.some(elm) : parent(elm).filter(isElement$7)).map(elm => elm.dom).getOr(root);\n    };\n    const getStart = (root, rng, real = false) => getEndpointElement(root, rng, true, real, (elm, offset) => Math.min(childNodesCount(elm), offset));\n    const getEnd$1 = (root, rng, real = false) => getEndpointElement(root, rng, false, real, (elm, offset) => offset > 0 ? offset - 1 : offset);\n    const skipEmptyTextNodes = (node, forwards) => {\n      const orig = node;\n      while (node && isText$a(node) && node.length === 0) {\n        node = forwards ? node.nextSibling : node.previousSibling;\n      }\n      return node || orig;\n    };\n    const getNode = (root, rng) => {\n      if (!rng) {\n        return root;\n      }\n      let startContainer = rng.startContainer;\n      let endContainer = rng.endContainer;\n      const startOffset = rng.startOffset;\n      const endOffset = rng.endOffset;\n      let node = rng.commonAncestorContainer;\n      if (!rng.collapsed) {\n        if (startContainer === endContainer) {\n          if (endOffset - startOffset < 2) {\n            if (startContainer.hasChildNodes()) {\n              node = startContainer.childNodes[startOffset];\n            }\n          }\n        }\n        if (isText$a(startContainer) && isText$a(endContainer)) {\n          if (startContainer.length === startOffset) {\n            startContainer = skipEmptyTextNodes(startContainer.nextSibling, true);\n          } else {\n            startContainer = startContainer.parentNode;\n          }\n          if (endOffset === 0) {\n            endContainer = skipEmptyTextNodes(endContainer.previousSibling, false);\n          } else {\n            endContainer = endContainer.parentNode;\n          }\n          if (startContainer && startContainer === endContainer) {\n            node = startContainer;\n          }\n        }\n      }\n      const elm = isText$a(node) ? node.parentNode : node;\n      return isHTMLElement(elm) ? elm : root;\n    };\n    const getSelectedBlocks = (dom, rng, startElm, endElm) => {\n      const selectedBlocks = [];\n      const root = dom.getRoot();\n      const start = dom.getParent(startElm || getStart(root, rng, rng.collapsed), dom.isBlock);\n      const end = dom.getParent(endElm || getEnd$1(root, rng, rng.collapsed), dom.isBlock);\n      if (start && start !== root) {\n        selectedBlocks.push(start);\n      }\n      if (start && end && start !== end) {\n        let node;\n        const walker = new DomTreeWalker(start, root);\n        while ((node = walker.next()) && node !== end) {\n          if (dom.isBlock(node)) {\n            selectedBlocks.push(node);\n          }\n        }\n      }\n      if (end && start !== end && end !== root) {\n        selectedBlocks.push(end);\n      }\n      return selectedBlocks;\n    };\n    const select = (dom, node, content) => Optional.from(node).bind(node => Optional.from(node.parentNode).map(parent => {\n      const idx = dom.nodeIndex(node);\n      const rng = dom.createRng();\n      rng.setStart(parent, idx);\n      rng.setEnd(parent, idx + 1);\n      if (content) {\n        moveEndPoint(dom, rng, node, true);\n        moveEndPoint(dom, rng, node, false);\n      }\n      return rng;\n    }));\n\n    const processRanges = (editor, ranges) => map$3(ranges, range => {\n      const evt = editor.dispatch('GetSelectionRange', {\n        range\n      });\n      return evt.range !== range ? evt.range : range;\n    });\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$1(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse$5 = elem => isHTMLElement$1(elem) && get$9(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse$5(elem);\n    };\n\n    const first = element => descendant$2(element, isCursorPosition);\n    const last = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$1(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const autocompleteSelector = '[data-mce-autocompleter]';\n    const create$9 = (editor, range) => {\n      if (findIn(SugarElement.fromDom(editor.getBody())).isNone()) {\n        const wrapper = SugarElement.fromHtml('<span data-mce-autocompleter=\"1\" data-mce-bogus=\"1\"><\/span>', editor.getDoc());\n        append$1(wrapper, SugarElement.fromDom(range.extractContents()));\n        range.insertNode(wrapper.dom);\n        parent(wrapper).each(elm => elm.dom.normalize());\n        last(wrapper).map(last => {\n          editor.selection.setCursorLocation(last.dom, getEnd(last));\n        });\n      }\n    };\n    const detect$1 = elm => closest$3(elm, autocompleteSelector);\n    const findIn = elm => descendant$1(elm, autocompleteSelector);\n    const remove$2 = (editor, elm) => findIn(elm).each(wrapper => {\n      const bookmark = editor.selection.getBookmark();\n      unwrap(wrapper);\n      editor.selection.moveToBookmark(bookmark);\n    });\n\n    const typeLookup = {\n      '#text': 3,\n      '#comment': 8,\n      '#cdata': 4,\n      '#pi': 7,\n      '#doctype': 10,\n      '#document-fragment': 11\n    };\n    const walk$2 = (node, root, prev) => {\n      const startName = prev ? 'lastChild' : 'firstChild';\n      const siblingName = prev ? 'prev' : 'next';\n      if (node[startName]) {\n        return node[startName];\n      }\n      if (node !== root) {\n        let sibling = node[siblingName];\n        if (sibling) {\n          return sibling;\n        }\n        for (let parent = node.parent; parent && parent !== root; parent = parent.parent) {\n          sibling = parent[siblingName];\n          if (sibling) {\n            return sibling;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isEmptyTextNode = node => {\n      var _a;\n      const text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n      if (!isWhitespaceText(text)) {\n        return false;\n      }\n      const parentNode = node.parent;\n      if (parentNode && (parentNode.name !== 'span' || parentNode.attr('style')) && /^[ ]+$/.test(text)) {\n        return false;\n      }\n      return true;\n    };\n    const isNonEmptyElement = node => {\n      const isNamedAnchor = node.name === 'a' && !node.attr('href') && node.attr('id');\n      return node.attr('name') || node.attr('id') && !node.firstChild || node.attr('data-mce-bookmark') || isNamedAnchor;\n    };\n    class AstNode {\n      static create(name, attrs) {\n        const node = new AstNode(name, typeLookup[name] || 1);\n        if (attrs) {\n          each$d(attrs, (value, attrName) => {\n            node.attr(attrName, value);\n          });\n        }\n        return node;\n      }\n      constructor(name, type) {\n        this.name = name;\n        this.type = type;\n        if (type === 1) {\n          this.attributes = [];\n          this.attributes.map = {};\n        }\n      }\n      replace(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        self.insert(node, self);\n        self.remove();\n        return self;\n      }\n      attr(name, value) {\n        const self = this;\n        if (!isString(name)) {\n          if (isNonNullable(name)) {\n            each$d(name, (value, key) => {\n              self.attr(key, value);\n            });\n          }\n          return self;\n        }\n        const attrs = self.attributes;\n        if (attrs) {\n          if (value !== undefined) {\n            if (value === null) {\n              if (name in attrs.map) {\n                delete attrs.map[name];\n                let i = attrs.length;\n                while (i--) {\n                  if (attrs[i].name === name) {\n                    attrs.splice(i, 1);\n                    return self;\n                  }\n                }\n              }\n              return self;\n            }\n            if (name in attrs.map) {\n              let i = attrs.length;\n              while (i--) {\n                if (attrs[i].name === name) {\n                  attrs[i].value = value;\n                  break;\n                }\n              }\n            } else {\n              attrs.push({\n                name,\n                value\n              });\n            }\n            attrs.map[name] = value;\n            return self;\n          }\n          return attrs.map[name];\n        }\n        return undefined;\n      }\n      clone() {\n        const self = this;\n        const clone = new AstNode(self.name, self.type);\n        const selfAttrs = self.attributes;\n        if (selfAttrs) {\n          const cloneAttrs = [];\n          cloneAttrs.map = {};\n          for (let i = 0, l = selfAttrs.length; i < l; i++) {\n            const selfAttr = selfAttrs[i];\n            if (selfAttr.name !== 'id') {\n              cloneAttrs[cloneAttrs.length] = {\n                name: selfAttr.name,\n                value: selfAttr.value\n              };\n              cloneAttrs.map[selfAttr.name] = selfAttr.value;\n            }\n          }\n          clone.attributes = cloneAttrs;\n        }\n        clone.value = self.value;\n        return clone;\n      }\n      wrap(wrapper) {\n        const self = this;\n        if (self.parent) {\n          self.parent.insert(wrapper, self);\n          wrapper.append(self);\n        }\n        return self;\n      }\n      unwrap() {\n        const self = this;\n        for (let node = self.firstChild; node;) {\n          const next = node.next;\n          self.insert(node, self, true);\n          node = next;\n        }\n        self.remove();\n      }\n      remove() {\n        const self = this,\n          parent = self.parent,\n          next = self.next,\n          prev = self.prev;\n        if (parent) {\n          if (parent.firstChild === self) {\n            parent.firstChild = next;\n            if (next) {\n              next.prev = null;\n            }\n          } else if (prev) {\n            prev.next = next;\n          }\n          if (parent.lastChild === self) {\n            parent.lastChild = prev;\n            if (prev) {\n              prev.next = null;\n            }\n          } else if (next) {\n            next.prev = prev;\n          }\n          self.parent = self.next = self.prev = null;\n        }\n        return self;\n      }\n      append(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        const last = self.lastChild;\n        if (last) {\n          last.next = node;\n          node.prev = last;\n          self.lastChild = node;\n        } else {\n          self.lastChild = self.firstChild = node;\n        }\n        node.parent = self;\n        return node;\n      }\n      insert(node, refNode, before) {\n        if (node.parent) {\n          node.remove();\n        }\n        const parent = refNode.parent || this;\n        if (before) {\n          if (refNode === parent.firstChild) {\n            parent.firstChild = node;\n          } else if (refNode.prev) {\n            refNode.prev.next = node;\n          }\n          node.prev = refNode.prev;\n          node.next = refNode;\n          refNode.prev = node;\n        } else {\n          if (refNode === parent.lastChild) {\n            parent.lastChild = node;\n          } else if (refNode.next) {\n            refNode.next.prev = node;\n          }\n          node.next = refNode.next;\n          node.prev = refNode;\n          refNode.next = node;\n        }\n        node.parent = parent;\n        return node;\n      }\n      getAll(name) {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = walk$2(node, self)) {\n          if (node.name === name) {\n            collection.push(node);\n          }\n        }\n        return collection;\n      }\n      children() {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = node.next) {\n          collection.push(node);\n        }\n        return collection;\n      }\n      empty() {\n        const self = this;\n        if (self.firstChild) {\n          const nodes = [];\n          for (let node = self.firstChild; node; node = walk$2(node, self)) {\n            nodes.push(node);\n          }\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;\n          }\n        }\n        self.firstChild = self.lastChild = null;\n        return self;\n      }\n      isEmpty(elements, whitespace = {}, predicate) {\n        var _a;\n        const self = this;\n        let node = self.firstChild;\n        if (isNonEmptyElement(self)) {\n          return false;\n        }\n        if (node) {\n          do {\n            if (node.type === 1) {\n              if (node.attr('data-mce-bogus')) {\n                continue;\n              }\n              if (elements[node.name]) {\n                return false;\n              }\n              if (isNonEmptyElement(node)) {\n                return false;\n              }\n            }\n            if (node.type === 8) {\n              return false;\n            }\n            if (node.type === 3 && !isEmptyTextNode(node)) {\n              return false;\n            }\n            if (node.type === 3 && node.parent && whitespace[node.parent.name] && isWhitespaceText((_a = node.value) !== null && _a !== void 0 ? _a : '')) {\n              return false;\n            }\n            if (predicate && predicate(node)) {\n              return false;\n            }\n          } while (node = walk$2(node, self));\n        }\n        return true;\n      }\n      walk(prev) {\n        return walk$2(this, null, prev);\n      }\n    }\n\n    const unescapedTextParents = Tools.makeMap('NOSCRIPT STYLE SCRIPT XMP IFRAME NOEMBED NOFRAMES PLAINTEXT', ' ');\n    const containsZwsp = node => isString(node.nodeValue) && node.nodeValue.includes(ZWSP$1);\n    const getTemporaryNodeSelector = tempAttrs => \"\".concat(tempAttrs.length === 0 ? '' : \"\".concat(map$3(tempAttrs, attr => \"[\".concat(attr, \"]\")).join(','), \",\"), \"[data-mce-bogus=\\\"all\\\"]\");\n    const getTemporaryNodes = (tempAttrs, body) => body.querySelectorAll(getTemporaryNodeSelector(tempAttrs));\n    const createZwspCommentWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_COMMENT, node => containsZwsp(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP);\n    const createUnescapedZwspTextWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_TEXT, node => {\n      if (containsZwsp(node)) {\n        const parent = node.parentNode;\n        return parent && has$2(unescapedTextParents, parent.nodeName) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n      } else {\n        return NodeFilter.FILTER_SKIP;\n      }\n    });\n    const hasZwspComment = body => createZwspCommentWalker(body).nextNode() !== null;\n    const hasUnescapedZwspText = body => createUnescapedZwspTextWalker(body).nextNode() !== null;\n    const hasTemporaryNode = (tempAttrs, body) => body.querySelector(getTemporaryNodeSelector(tempAttrs)) !== null;\n    const trimTemporaryNodes = (tempAttrs, body) => {\n      each$e(getTemporaryNodes(tempAttrs, body), elm => {\n        const element = SugarElement.fromDom(elm);\n        if (get$9(element, 'data-mce-bogus') === 'all') {\n          remove$5(element);\n        } else {\n          each$e(tempAttrs, attr => {\n            if (has$1(element, attr)) {\n              remove$a(element, attr);\n            }\n          });\n        }\n      });\n    };\n    const emptyAllNodeValuesInWalker = walker => {\n      let curr = walker.nextNode();\n      while (curr !== null) {\n        curr.nodeValue = null;\n        curr = walker.nextNode();\n      }\n    };\n    const emptyZwspComments = compose(emptyAllNodeValuesInWalker, createZwspCommentWalker);\n    const emptyUnescapedZwspTexts = compose(emptyAllNodeValuesInWalker, createUnescapedZwspTextWalker);\n    const trim$1 = (body, tempAttrs) => {\n      const conditionalTrims = [{\n        condition: curry(hasTemporaryNode, tempAttrs),\n        action: curry(trimTemporaryNodes, tempAttrs)\n      }, {\n        condition: hasZwspComment,\n        action: emptyZwspComments\n      }, {\n        condition: hasUnescapedZwspText,\n        action: emptyUnescapedZwspTexts\n      }];\n      let trimmed = body;\n      let cloned = false;\n      each$e(conditionalTrims, ({\n        condition,\n        action\n      }) => {\n        if (condition(trimmed)) {\n          if (!cloned) {\n            trimmed = body.cloneNode(true);\n            cloned = true;\n          }\n          action(trimmed);\n        }\n      });\n      return trimmed;\n    };\n\n    const cleanupBogusElements = parent => {\n      const bogusElements = descendants(parent, '[data-mce-bogus]');\n      each$e(bogusElements, elem => {\n        const bogusValue = get$9(elem, 'data-mce-bogus');\n        if (bogusValue === 'all') {\n          remove$5(elem);\n        } else if (isBr$5(elem)) {\n          before$3(elem, SugarElement.fromText(zeroWidth));\n          remove$5(elem);\n        } else {\n          unwrap(elem);\n        }\n      });\n    };\n    const cleanupInputNames = parent => {\n      const inputs = descendants(parent, 'input');\n      each$e(inputs, input => {\n        remove$a(input, 'name');\n      });\n    };\n\n    const trimEmptyContents = (editor, html) => {\n      const blockName = getForcedRootBlock(editor);\n      const emptyRegExp = new RegExp(\"^(<\".concat(blockName, \"[^>]*>(&nbsp;|&#160;|\\\\s|\\xA0|<br \\\\/>|)<\\\\/\").concat(blockName, \">[\\r\\n]*|<br \\\\/>[\\r\\n]*)$\"));\n      return html.replace(emptyRegExp, '');\n    };\n    const getPlainTextContent = (editor, body) => {\n      const doc = editor.getDoc();\n      const dos = getRootNode(SugarElement.fromDom(editor.getBody()));\n      const offscreenDiv = SugarElement.fromTag('div', doc);\n      set$3(offscreenDiv, 'data-mce-bogus', 'all');\n      setAll(offscreenDiv, {\n        position: 'fixed',\n        left: '-9999999px',\n        top: '0'\n      });\n      set$1(offscreenDiv, body.innerHTML);\n      cleanupBogusElements(offscreenDiv);\n      cleanupInputNames(offscreenDiv);\n      const root = getContentContainer(dos);\n      append$1(root, offscreenDiv);\n      const content = trim$2(offscreenDiv.dom.innerText);\n      remove$5(offscreenDiv);\n      return content;\n    };\n    const getContentFromBody = (editor, args, body) => {\n      let content;\n      if (args.format === 'raw') {\n        content = Tools.trim(trim$2(trim$1(body, editor.serializer.getTempAttrs()).innerHTML));\n      } else if (args.format === 'text') {\n        content = getPlainTextContent(editor, body);\n      } else if (args.format === 'tree') {\n        content = editor.serializer.serialize(body, args);\n      } else {\n        content = trimEmptyContents(editor, editor.serializer.serialize(body, args));\n      }\n      const shouldTrim = args.format !== 'text' && !isWsPreserveElement(SugarElement.fromDom(body));\n      return shouldTrim && isString(content) ? Tools.trim(content) : content;\n    };\n    const getContentInternal = (editor, args) => Optional.from(editor.getBody()).fold(constant(args.format === 'tree' ? new AstNode('body', 11) : ''), body => getContentFromBody(editor, args, body));\n\n    const makeMap$1 = Tools.makeMap;\n    const Writer = settings => {\n      const html = [];\n      settings = settings || {};\n      const indent = settings.indent;\n      const indentBefore = makeMap$1(settings.indent_before || '');\n      const indentAfter = makeMap$1(settings.indent_after || '');\n      const encode = Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities);\n      const htmlOutput = settings.element_format !== 'xhtml';\n      return {\n        start: (name, attrs, empty) => {\n          if (indent && indentBefore[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n          html.push('<', name);\n          if (attrs) {\n            for (let i = 0, l = attrs.length; i < l; i++) {\n              const attr = attrs[i];\n              html.push(' ', attr.name, '=\"', encode(attr.value, true), '\"');\n            }\n          }\n          if (!empty || htmlOutput) {\n            html[html.length] = '>';\n          } else {\n            html[html.length] = ' />';\n          }\n          if (empty && indent && indentAfter[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        end: name => {\n          let value;\n          html.push('<\/', name, '>');\n          if (indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        text: (text, raw) => {\n          if (text.length > 0) {\n            html[html.length] = raw ? text : encode(text);\n          }\n        },\n        cdata: text => {\n          html.push('<![CDATA[', text, ']]>');\n        },\n        comment: text => {\n          html.push('<!--', text, '-->');\n        },\n        pi: (name, text) => {\n          if (text) {\n            html.push('<?', name, ' ', encode(text), '?>');\n          } else {\n            html.push('<?', name, '?>');\n          }\n          if (indent) {\n            html.push('\\n');\n          }\n        },\n        doctype: text => {\n          html.push('<!DOCTYPE', text, '>', indent ? '\\n' : '');\n        },\n        reset: () => {\n          html.length = 0;\n        },\n        getContent: () => {\n          return html.join('').replace(/\\n$/, '');\n        }\n      };\n    };\n\n    const HtmlSerializer = (settings = {}, schema = Schema()) => {\n      const writer = Writer(settings);\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      const serialize = node => {\n        const validate = settings.validate;\n        const handlers = {\n          3: node => {\n            var _a;\n            writer.text((_a = node.value) !== null && _a !== void 0 ? _a : '', node.raw);\n          },\n          8: node => {\n            var _a;\n            writer.comment((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          7: node => {\n            writer.pi(node.name, node.value);\n          },\n          10: node => {\n            var _a;\n            writer.doctype((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          4: node => {\n            var _a;\n            writer.cdata((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          11: node => {\n            let tempNode = node;\n            if (tempNode = tempNode.firstChild) {\n              do {\n                walk(tempNode);\n              } while (tempNode = tempNode.next);\n            }\n          }\n        };\n        writer.reset();\n        const walk = node => {\n          var _a;\n          const handler = handlers[node.type];\n          if (!handler) {\n            const name = node.name;\n            const isEmpty = name in schema.getVoidElements();\n            let attrs = node.attributes;\n            if (validate && attrs && attrs.length > 1) {\n              const sortedAttrs = [];\n              sortedAttrs.map = {};\n              const elementRule = schema.getElementRule(node.name);\n              if (elementRule) {\n                for (let i = 0, l = elementRule.attributesOrder.length; i < l; i++) {\n                  const attrName = elementRule.attributesOrder[i];\n                  if (attrName in attrs.map) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                for (let i = 0, l = attrs.length; i < l; i++) {\n                  const attrName = attrs[i].name;\n                  if (!(attrName in sortedAttrs.map)) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                attrs = sortedAttrs;\n              }\n            }\n            writer.start(name, attrs, isEmpty);\n            if (isNonHtmlElementRootName(name)) {\n              if (isString(node.value)) {\n                writer.text(node.value, true);\n              }\n              writer.end(name);\n            } else {\n              if (!isEmpty) {\n                let child = node.firstChild;\n                if (child) {\n                  if ((name === 'pre' || name === 'textarea') && child.type === 3 && ((_a = child.value) === null || _a === void 0 ? void 0 : _a[0]) === '\\n') {\n                    writer.text('\\n', true);\n                  }\n                  do {\n                    walk(child);\n                  } while (child = child.next);\n                }\n                writer.end(name);\n              }\n            }\n          } else {\n            handler(node);\n          }\n        };\n        if (node.type === 1 && !settings.inner) {\n          walk(node);\n        } else if (node.type === 3) {\n          handlers[3](node);\n        } else {\n          handlers[11](node);\n        }\n        return writer.getContent();\n      };\n      return {\n        serialize\n      };\n    };\n\n    const nonInheritableStyles = new Set();\n    (() => {\n      const nonInheritableStylesArr = ['margin', 'margin-left', 'margin-right', 'margin-top', 'margin-bottom', 'padding', 'padding-left', 'padding-right', 'padding-top', 'padding-bottom', 'border', 'border-width', 'border-style', 'border-color', 'background', 'background-attachment', 'background-clip', 'background-color', 'background-image', 'background-origin', 'background-position', 'background-repeat', 'background-size', 'float', 'position', 'left', 'right', 'top', 'bottom', 'z-index', 'display', 'transform', 'width', 'max-width', 'min-width', 'height', 'max-height', 'min-height', 'overflow', 'overflow-x', 'overflow-y', 'text-overflow', 'vertical-align', 'transition', 'transition-delay', 'transition-duration', 'transition-property', 'transition-timing-function'];\n      each$e(nonInheritableStylesArr, style => {\n        nonInheritableStyles.add(style);\n      });\n    })();\n    const shorthandStyleProps = ['font', 'text-decoration', 'text-emphasis'];\n    const getStyleProps = (dom, node) => keys(dom.parseStyle(dom.getAttrib(node, 'style')));\n    const isNonInheritableStyle = style => nonInheritableStyles.has(style);\n    const hasInheritableStyles = (dom, node) => forall(getStyleProps(dom, node), style => !isNonInheritableStyle(style));\n    const getLonghandStyleProps = styles => filter$5(styles, style => exists(shorthandStyleProps, prop => startsWith(style, prop)));\n    const hasStyleConflict = (dom, node, parentNode) => {\n      const nodeStyleProps = getStyleProps(dom, node);\n      const parentNodeStyleProps = getStyleProps(dom, parentNode);\n      const valueMismatch = prop => {\n        var _a, _b;\n        const nodeValue = (_a = dom.getStyle(node, prop)) !== null && _a !== void 0 ? _a : '';\n        const parentValue = (_b = dom.getStyle(parentNode, prop)) !== null && _b !== void 0 ? _b : '';\n        return isNotEmpty(nodeValue) && isNotEmpty(parentValue) && nodeValue !== parentValue;\n      };\n      return exists(nodeStyleProps, nodeStyleProp => {\n        const propExists = props => exists(props, prop => prop === nodeStyleProp);\n        if (!propExists(parentNodeStyleProps) && propExists(shorthandStyleProps)) {\n          const longhandProps = getLonghandStyleProps(parentNodeStyleProps);\n          return exists(longhandProps, valueMismatch);\n        } else {\n          return valueMismatch(nodeStyleProp);\n        }\n      });\n    };\n\n    const isChar = (forward, predicate, pos) => Optional.from(pos.container()).filter(isText$a).exists(text => {\n      const delta = forward ? 0 : -1;\n      return predicate(text.data.charAt(pos.offset() + delta));\n    });\n    const isBeforeSpace = curry(isChar, true, isWhiteSpace);\n    const isAfterSpace = curry(isChar, false, isWhiteSpace);\n    const isEmptyText = pos => {\n      const container = pos.container();\n      return isText$a(container) && (container.data.length === 0 || isZwsp$1(container.data) && BookmarkManager.isBookmarkNode(container.parentNode));\n    };\n    const matchesElementPosition = (before, predicate) => pos => getChildNodeAtRelativeOffset(before ? 0 : -1, pos).filter(predicate).isSome();\n    const isImageBlock = node => isImg(node) && get$7(SugarElement.fromDom(node), 'display') === 'block';\n    const isCefNode = node => isContentEditableFalse$b(node) && !isBogusAll$1(node);\n    const isBeforeImageBlock = matchesElementPosition(true, isImageBlock);\n    const isAfterImageBlock = matchesElementPosition(false, isImageBlock);\n    const isBeforeMedia = matchesElementPosition(true, isMedia$2);\n    const isAfterMedia = matchesElementPosition(false, isMedia$2);\n    const isBeforeTable = matchesElementPosition(true, isTable$2);\n    const isAfterTable = matchesElementPosition(false, isTable$2);\n    const isBeforeContentEditableFalse = matchesElementPosition(true, isCefNode);\n    const isAfterContentEditableFalse = matchesElementPosition(false, isCefNode);\n\n    const dropLast = xs => xs.slice(0, -1);\n    const parentsUntil = (start, root, predicate) => {\n      if (contains(root, start)) {\n        return dropLast(parents$1(start, elm => {\n          return predicate(elm) || eq(elm, root);\n        }));\n      } else {\n        return [];\n      }\n    };\n    const parents = (start, root) => parentsUntil(start, root, never);\n    const parentsAndSelf = (start, root) => [start].concat(parents(start, root));\n\n    const navigateIgnoreEmptyTextNodes = (forward, root, from) => navigateIgnore(forward, root, from, isEmptyText);\n    const isBlock$1 = schema => el => schema.isBlock(name(el));\n    const getClosestBlock$1 = (root, pos, schema) => find$2(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$1(schema));\n    const isAtBeforeAfterBlockBoundary = (forward, root, pos, schema) => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => getClosestBlock$1(root, pos, schema).fold(() => !isInSameBlock(newPos, pos, root.dom), fromBlock => !isInSameBlock(newPos, pos, root.dom) && contains(fromBlock, SugarElement.fromDom(newPos.container()))));\n    const isAtBlockBoundary = (forward, root, pos, schema) => getClosestBlock$1(root, pos, schema).fold(() => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => !isInSameBlock(newPos, pos, root.dom)), parent => navigateIgnoreEmptyTextNodes(forward, parent.dom, pos).isNone());\n    const isAtStartOfBlock = curry(isAtBlockBoundary, false);\n    const isAtEndOfBlock = curry(isAtBlockBoundary, true);\n    const isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false);\n    const isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true);\n\n    const isBr$1 = pos => getElementFromPosition(pos).exists(isBr$5);\n    const findBr = (forward, root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      const scope = head(parentBlocks).getOr(root);\n      return fromPosition(forward, scope.dom, pos).filter(isBr$1);\n    };\n    const isBeforeBr$1 = (root, pos, schema) => getElementFromPosition(pos).exists(isBr$5) || findBr(true, root, pos, schema).isSome();\n    const isAfterBr = (root, pos, schema) => getElementFromPrevPosition(pos).exists(isBr$5) || findBr(false, root, pos, schema).isSome();\n    const findPreviousBr = curry(findBr, false);\n    const findNextBr = curry(findBr, true);\n\n    const isInMiddleOfText = pos => CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();\n    const getClosestBlock = (root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      return head(parentBlocks).getOr(root);\n    };\n    const hasSpaceBefore = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isAfterSpace(pos);\n      } else {\n        return isAfterSpace(pos) || prevPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isAfterSpace);\n      }\n    };\n    const hasSpaceAfter = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isBeforeSpace(pos);\n      } else {\n        return isBeforeSpace(pos) || nextPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isBeforeSpace);\n      }\n    };\n    const isPreValue = value => contains$2(['pre', 'pre-wrap'], value);\n    const isInPre = pos => getElementFromPosition(pos).bind(elm => closest$4(elm, isElement$7)).exists(elm => isPreValue(get$7(elm, 'white-space')));\n    const isAtBeginningOfBody = (root, pos) => prevPosition(root.dom, pos).isNone();\n    const isAtEndOfBody = (root, pos) => nextPosition(root.dom, pos).isNone();\n    const isAtLineBoundary = (root, pos, schema) => isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos, schema) || isAtEndOfBlock(root, pos, schema) || isAfterBr(root, pos, schema) || isBeforeBr$1(root, pos, schema);\n    const isCefBlock = node => isNonNullable(node) && isContentEditableFalse$b(node) && isBlockLike(node);\n    const isSiblingCefBlock = (root, direction) => container => {\n      return isCefBlock(new DomTreeWalker(container, root)[direction]());\n    };\n    const isBeforeCefBlock = (root, pos) => {\n      const nextPos = nextPosition(root.dom, pos).getOr(pos);\n      const isNextCefBlock = isSiblingCefBlock(root.dom, 'next');\n      return pos.isAtEnd() && (isNextCefBlock(pos.container()) || isNextCefBlock(nextPos.container()));\n    };\n    const isAfterCefBlock = (root, pos) => {\n      const prevPos = prevPosition(root.dom, pos).getOr(pos);\n      const isPrevCefBlock = isSiblingCefBlock(root.dom, 'prev');\n      return pos.isAtStart() && (isPrevCefBlock(pos.container()) || isPrevCefBlock(prevPos.container()));\n    };\n    const needsToHaveNbsp = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtLineBoundary(root, pos, schema) || hasSpaceBefore(root, pos, schema) || hasSpaceAfter(root, pos, schema);\n      }\n    };\n    const needsToBeNbspLeft = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtStartOfBlock(root, pos, schema) || isBeforeBlock(root, pos, schema) || isAfterBr(root, pos, schema) || hasSpaceBefore(root, pos, schema) || isAfterCefBlock(root, pos);\n      }\n    };\n    const leanRight = pos => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container) && offset < container.data.length) {\n        return CaretPosition(container, offset + 1);\n      } else {\n        return pos;\n      }\n    };\n    const needsToBeNbspRight = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtEndOfBlock(root, pos, schema) || isAfterBlock(root, pos, schema) || isBeforeBr$1(root, pos, schema) || hasSpaceAfter(root, pos, schema) || isBeforeCefBlock(root, pos);\n      }\n    };\n    const needsToBeNbsp = (root, pos, schema) => needsToBeNbspLeft(root, pos, schema) || needsToBeNbspRight(root, leanRight(pos), schema);\n    const isNbspAt = (text, offset) => isNbsp(text.charAt(offset));\n    const isWhiteSpaceAt = (text, offset) => isWhiteSpace(text.charAt(offset));\n    const hasNbsp = pos => {\n      const container = pos.container();\n      return isText$a(container) && contains$1(container.data, nbsp);\n    };\n    const normalizeNbspMiddle = text => {\n      const chars = text.split('');\n      return map$3(chars, (chr, i) => {\n        if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) {\n          return ' ';\n        } else {\n          return chr;\n        }\n      }).join('');\n    };\n    const normalizeNbspAtStart = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const firstPos = CaretPosition(node, 0);\n      if (!makeNbsp && isNbspAt(text, 0) && !needsToBeNbsp(root, firstPos, schema)) {\n        node.data = ' ' + text.slice(1);\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, 0) && needsToBeNbspLeft(root, firstPos, schema)) {\n        node.data = nbsp + text.slice(1);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspInMiddleOfTextNode = node => {\n      const text = node.data;\n      const newText = normalizeNbspMiddle(text);\n      if (newText !== text) {\n        node.data = newText;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspAtEnd = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const lastPos = CaretPosition(node, text.length - 1);\n      if (!makeNbsp && isNbspAt(text, text.length - 1) && !needsToBeNbsp(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + ' ';\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, text.length - 1) && needsToBeNbspRight(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + nbsp;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbsps = (root, pos, schema) => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return Optional.none();\n      }\n      if (hasNbsp(pos)) {\n        const normalized = normalizeNbspAtStart(root, container, false, schema) || normalizeNbspInMiddleOfTextNode(container) || normalizeNbspAtEnd(root, container, false, schema);\n        return someIf(normalized, pos);\n      } else if (needsToBeNbsp(root, pos, schema)) {\n        const normalized = normalizeNbspAtStart(root, container, true, schema) || normalizeNbspAtEnd(root, container, true, schema);\n        return someIf(normalized, pos);\n      } else {\n        return Optional.none();\n      }\n    };\n    const normalizeNbspsInEditor = editor => {\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng()), editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      }\n    };\n\n    const normalize$1 = (node, offset, count, schema) => {\n      if (count === 0) {\n        return;\n      }\n      const elm = SugarElement.fromDom(node);\n      const root = ancestor$4(elm, el => schema.isBlock(name(el))).getOr(elm);\n      const whitespace = node.data.slice(offset, offset + count);\n      const isEndOfContent = offset + count >= node.data.length && needsToBeNbspRight(root, CaretPosition(node, node.data.length), schema);\n      const isStartOfContent = offset === 0 && needsToBeNbspLeft(root, CaretPosition(node, 0), schema);\n      node.replaceData(offset, count, normalize$4(whitespace, 4, isStartOfContent, isEndOfContent));\n    };\n    const normalizeWhitespaceAfter = (node, offset, schema) => {\n      const content = node.data.slice(offset);\n      const whitespaceCount = content.length - lTrim(content).length;\n      normalize$1(node, offset, whitespaceCount, schema);\n    };\n    const normalizeWhitespaceBefore = (node, offset, schema) => {\n      const content = node.data.slice(0, offset);\n      const whitespaceCount = content.length - rTrim(content).length;\n      normalize$1(node, offset - whitespaceCount, whitespaceCount, schema);\n    };\n    const mergeTextNodes = (prevNode, nextNode, schema, normalizeWhitespace, mergeToPrev = true) => {\n      const whitespaceOffset = rTrim(prevNode.data).length;\n      const newNode = mergeToPrev ? prevNode : nextNode;\n      const removeNode = mergeToPrev ? nextNode : prevNode;\n      if (mergeToPrev) {\n        newNode.appendData(removeNode.data);\n      } else {\n        newNode.insertData(0, removeNode.data);\n      }\n      remove$5(SugarElement.fromDom(removeNode));\n      if (normalizeWhitespace) {\n        normalizeWhitespaceAfter(newNode, whitespaceOffset, schema);\n      }\n      return newNode;\n    };\n\n    const needsReposition = (pos, elm) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      return !CaretPosition.isTextPosition(pos) && container === elm.parentNode && offset > CaretPosition.before(elm).offset();\n    };\n    const reposition = (elm, pos) => needsReposition(pos, elm) ? CaretPosition(pos.container(), pos.offset() - 1) : pos;\n    const beforeOrStartOf = node => isText$a(node) ? CaretPosition(node, 0) : CaretPosition.before(node);\n    const afterOrEndOf = node => isText$a(node) ? CaretPosition(node, node.data.length) : CaretPosition.after(node);\n    const getPreviousSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.previousSibling)) {\n        return Optional.some(afterOrEndOf(elm.previousSibling));\n      } else {\n        return elm.previousSibling ? lastPositionIn(elm.previousSibling) : Optional.none();\n      }\n    };\n    const getNextSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.nextSibling)) {\n        return Optional.some(beforeOrStartOf(elm.nextSibling));\n      } else {\n        return elm.nextSibling ? firstPositionIn(elm.nextSibling) : Optional.none();\n      }\n    };\n    const findCaretPositionBackwardsFromElm = (rootElement, elm) => {\n      return Optional.from(elm.previousSibling ? elm.previousSibling : elm.parentNode).bind(node => prevPosition(rootElement, CaretPosition.before(node))).orThunk(() => nextPosition(rootElement, CaretPosition.after(elm)));\n    };\n    const findCaretPositionForwardsFromElm = (rootElement, elm) => nextPosition(rootElement, CaretPosition.after(elm)).orThunk(() => prevPosition(rootElement, CaretPosition.before(elm)));\n    const findCaretPositionBackwards = (rootElement, elm) => getPreviousSiblingCaretPosition(elm).orThunk(() => getNextSiblingCaretPosition(elm)).orThunk(() => findCaretPositionBackwardsFromElm(rootElement, elm));\n    const findCaretPositionForward = (rootElement, elm) => getNextSiblingCaretPosition(elm).orThunk(() => getPreviousSiblingCaretPosition(elm)).orThunk(() => findCaretPositionForwardsFromElm(rootElement, elm));\n    const findCaretPosition = (forward, rootElement, elm) => forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm);\n    const findCaretPosOutsideElmAfterDelete = (forward, rootElement, elm) => findCaretPosition(forward, rootElement, elm).map(curry(reposition, elm));\n    const setSelection$1 = (editor, forward, pos) => {\n      pos.fold(() => {\n        editor.focus();\n      }, pos => {\n        editor.selection.setRng(pos.toRange(), forward);\n      });\n    };\n    const eqRawNode = rawNode => elm => elm.dom === rawNode;\n    const isBlock = (editor, elm) => elm && has$2(editor.schema.getBlockElements(), name(elm));\n    const paddEmptyBlock = (elm, preserveEmptyCaret) => {\n      if (isEmpty$2(elm)) {\n        const br = SugarElement.fromHtml('<br data-mce-bogus=\"1\">');\n        if (preserveEmptyCaret) {\n          each$e(children$1(elm), node => {\n            if (!isEmptyCaretFormatElement(node)) {\n              remove$5(node);\n            }\n          });\n        } else {\n          empty(elm);\n        }\n        append$1(elm, br);\n        return Optional.some(CaretPosition.before(br.dom));\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteNormalized = (elm, afterDeletePosOpt, schema, normalizeWhitespace) => {\n      const prevTextOpt = prevSibling(elm).filter(isText$b);\n      const nextTextOpt = nextSibling(elm).filter(isText$b);\n      remove$5(elm);\n      return lift3(prevTextOpt, nextTextOpt, afterDeletePosOpt, (prev, next, pos) => {\n        const prevNode = prev.dom,\n          nextNode = next.dom;\n        const offset = prevNode.data.length;\n        mergeTextNodes(prevNode, nextNode, schema, normalizeWhitespace);\n        return pos.container() === nextNode ? CaretPosition(prevNode, offset) : pos;\n      }).orThunk(() => {\n        if (normalizeWhitespace) {\n          prevTextOpt.each(elm => normalizeWhitespaceBefore(elm.dom, elm.dom.length, schema));\n          nextTextOpt.each(elm => normalizeWhitespaceAfter(elm.dom, 0, schema));\n        }\n        return afterDeletePosOpt;\n      });\n    };\n    const isInlineElement = (editor, element) => has$2(editor.schema.getTextInlineElements(), name(element));\n    const deleteElement$2 = (editor, forward, elm, moveCaret = true, preserveEmptyCaret = false) => {\n      const afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom);\n      const parentBlock = ancestor$4(elm, curry(isBlock, editor), eqRawNode(editor.getBody()));\n      const normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, editor.schema, isInlineElement(editor, elm));\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      } else {\n        parentBlock.bind(elm => paddEmptyBlock(elm, preserveEmptyCaret)).fold(() => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, normalizedAfterDeletePos);\n          }\n        }, paddPos => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, Optional.some(paddPos));\n          }\n        });\n      }\n    };\n\n    const strongRtl = /[\\u0591-\\u07FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFC]/;\n    const hasStrongRtl = text => strongRtl.test(text);\n\n    const isInlineTarget = (editor, elm) => is$1(SugarElement.fromDom(elm), getInlineBoundarySelector(editor)) && !isTransparentBlock(editor.schema, elm) && editor.dom.isEditable(elm);\n    const isRtl = element => {\n      var _a;\n      return DOMUtils.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl((_a = element.textContent) !== null && _a !== void 0 ? _a : '');\n    };\n    const findInlineParents = (isInlineTarget, rootNode, pos) => filter$5(DOMUtils.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget);\n    const findRootInline = (isInlineTarget, rootNode, pos) => {\n      const parents = findInlineParents(isInlineTarget, rootNode, pos);\n      return Optional.from(parents[parents.length - 1]);\n    };\n    const hasSameParentBlock = (rootNode, node1, node2) => {\n      const block1 = getParentBlock$3(node1, rootNode);\n      const block2 = getParentBlock$3(node2, rootNode);\n      return isNonNullable(block1) && block1 === block2;\n    };\n    const isAtZwsp = pos => isBeforeInline(pos) || isAfterInline(pos);\n    const normalizePosition = (forward, pos) => {\n      const container = pos.container(),\n        offset = pos.offset();\n      if (forward) {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.nextSibling)) {\n            return CaretPosition(container.nextSibling, 0);\n          } else {\n            return CaretPosition.after(container);\n          }\n        } else {\n          return isBeforeInline(pos) ? CaretPosition(container, offset + 1) : pos;\n        }\n      } else {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.previousSibling)) {\n            return CaretPosition(container.previousSibling, container.previousSibling.data.length);\n          } else {\n            return CaretPosition.before(container);\n          }\n        } else {\n          return isAfterInline(pos) ? CaretPosition(container, offset - 1) : pos;\n        }\n      }\n    };\n    const normalizeForwards = curry(normalizePosition, true);\n    const normalizeBackwards = curry(normalizePosition, false);\n\n    const execCommandIgnoreInputEvents = (editor, command) => {\n      const inputBlocker = e => e.stopImmediatePropagation();\n      editor.on('beforeinput input', inputBlocker, true);\n      editor.getDoc().execCommand(command);\n      editor.off('beforeinput input', inputBlocker);\n    };\n    const execEditorDeleteCommand = editor => {\n      editor.execCommand('delete');\n    };\n    const execNativeDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'Delete');\n    const execNativeForwardDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'ForwardDelete');\n    const isBeforeRoot = rootNode => elm => is$2(parent(elm), rootNode, eq);\n    const isTextBlockOrListItem = element => isTextBlock$2(element) || isListItem$1(element);\n    const getParentBlock$2 = (rootNode, elm) => {\n      if (contains(rootNode, elm)) {\n        return closest$4(elm, isTextBlockOrListItem, isBeforeRoot(rootNode));\n      } else {\n        return Optional.none();\n      }\n    };\n    const paddEmptyBody = (editor, moveSelection = true) => {\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('', {\n          no_selection: !moveSelection\n        });\n      }\n    };\n    const willDeleteLastPositionInElement = (forward, fromPos, elm) => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      const normalizedFromPos = normalizePosition(false, fromPos);\n      if (forward) {\n        return nextPosition(elm, normalizedFromPos).exists(nextPos => nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos));\n      } else {\n        return prevPosition(elm, normalizedFromPos).exists(prevPos => prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos));\n      }\n    }).getOr(true);\n    const freefallRtl = root => {\n      const child = isComment$1(root) ? prevSibling(root) : lastChild(root);\n      return child.bind(freefallRtl).orThunk(() => Optional.some(root));\n    };\n    const deleteRangeContents = (editor, rng, root, moveSelection = true) => {\n      var _a;\n      rng.deleteContents();\n      const lastNode = freefallRtl(root).getOr(root);\n      const lastBlock = SugarElement.fromDom((_a = editor.dom.getParent(lastNode.dom, editor.dom.isBlock)) !== null && _a !== void 0 ? _a : root.dom);\n      if (lastBlock.dom === editor.getBody()) {\n        paddEmptyBody(editor, moveSelection);\n      } else if (isEmpty$2(lastBlock)) {\n        fillWithPaddingBr(lastBlock);\n        if (moveSelection) {\n          editor.selection.setCursorLocation(lastBlock.dom, 0);\n        }\n      }\n      if (!eq(root, lastBlock)) {\n        const additionalCleanupNodes = is$2(parent(lastBlock), root) ? [] : siblings(lastBlock);\n        each$e(additionalCleanupNodes.concat(children$1(root)), node => {\n          if (!eq(node, lastBlock) && !contains(node, lastBlock) && isEmpty$2(node)) {\n            remove$5(node);\n          }\n        });\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$4(scope, predicate, isRoot).isSome();\n    const sibling = (scope, predicate) => sibling$1(scope, predicate).isSome();\n    const descendant = (scope, predicate) => descendant$2(scope, predicate).isSome();\n\n    const isRootFromElement = root => cur => eq(root, cur);\n    const getTableCells = table => descendants(table, 'td,th');\n    const getTable$1 = (node, isRoot) => getClosestTable(SugarElement.fromDom(node), isRoot);\n    const selectionInTableWithNestedTable = details => {\n      return lift2(details.startTable, details.endTable, (startTable, endTable) => {\n        const isStartTableParentOfEndTable = descendant(startTable, t => eq(t, endTable));\n        const isEndTableParentOfStartTable = descendant(endTable, t => eq(t, startTable));\n        return !isStartTableParentOfEndTable && !isEndTableParentOfStartTable ? details : {\n          ...details,\n          startTable: isStartTableParentOfEndTable ? Optional.none() : details.startTable,\n          endTable: isEndTableParentOfStartTable ? Optional.none() : details.endTable,\n          isSameTable: false,\n          isMultiTable: false\n        };\n      }).getOr(details);\n    };\n    const adjustQuirksInDetails = details => {\n      return selectionInTableWithNestedTable(details);\n    };\n    const getTableDetailsFromRange = (rng, isRoot) => {\n      const startTable = getTable$1(rng.startContainer, isRoot);\n      const endTable = getTable$1(rng.endContainer, isRoot);\n      const isStartInTable = startTable.isSome();\n      const isEndInTable = endTable.isSome();\n      const isSameTable = lift2(startTable, endTable, eq).getOr(false);\n      const isMultiTable = !isSameTable && isStartInTable && isEndInTable;\n      return adjustQuirksInDetails({\n        startTable,\n        endTable,\n        isStartInTable,\n        isEndInTable,\n        isSameTable,\n        isMultiTable\n      });\n    };\n\n    const tableCellRng = (start, end) => ({\n      start,\n      end\n    });\n    const tableSelection = (rng, table, cells) => ({\n      rng,\n      table,\n      cells\n    });\n    const deleteAction = Adt.generate([{\n      singleCellTable: ['rng', 'cell']\n    }, {\n      fullTable: ['table']\n    }, {\n      partialTable: ['cells', 'outsideDetails']\n    }, {\n      multiTable: ['startTableCells', 'endTableCells', 'betweenRng']\n    }]);\n    const getClosestCell$1 = (container, isRoot) => closest$3(SugarElement.fromDom(container), 'td,th', isRoot);\n    const isExpandedCellRng = cellRng => !eq(cellRng.start, cellRng.end);\n    const getTableFromCellRng = (cellRng, isRoot) => getClosestTable(cellRng.start, isRoot).bind(startParentTable => getClosestTable(cellRng.end, isRoot).bind(endParentTable => someIf(eq(startParentTable, endParentTable), startParentTable)));\n    const isSingleCellTable = (cellRng, isRoot) => !isExpandedCellRng(cellRng) && getTableFromCellRng(cellRng, isRoot).exists(table => {\n      const rows = table.dom.rows;\n      return rows.length === 1 && rows[0].cells.length === 1;\n    });\n    const getCellRng = (rng, isRoot) => {\n      const startCell = getClosestCell$1(rng.startContainer, isRoot);\n      const endCell = getClosestCell$1(rng.endContainer, isRoot);\n      return lift2(startCell, endCell, tableCellRng);\n    };\n    const getCellRangeFromStartTable = isRoot => startCell => getClosestTable(startCell, isRoot).bind(table => last$3(getTableCells(table)).map(endCell => tableCellRng(startCell, endCell)));\n    const getCellRangeFromEndTable = isRoot => endCell => getClosestTable(endCell, isRoot).bind(table => head(getTableCells(table)).map(startCell => tableCellRng(startCell, endCell)));\n    const getTableSelectionFromCellRng = isRoot => cellRng => getTableFromCellRng(cellRng, isRoot).map(table => tableSelection(cellRng, table, getTableCells(table)));\n    const getTableSelections = (cellRng, selectionDetails, rng, isRoot) => {\n      if (rng.collapsed || !cellRng.forall(isExpandedCellRng)) {\n        return Optional.none();\n      } else if (selectionDetails.isSameTable) {\n        const sameTableSelection = cellRng.bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: sameTableSelection,\n          end: sameTableSelection\n        });\n      } else {\n        const startCell = getClosestCell$1(rng.startContainer, isRoot);\n        const endCell = getClosestCell$1(rng.endContainer, isRoot);\n        const startTableSelection = startCell.bind(getCellRangeFromStartTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        const endTableSelection = endCell.bind(getCellRangeFromEndTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: startTableSelection,\n          end: endTableSelection\n        });\n      }\n    };\n    const getCellIndex = (cells, cell) => findIndex$2(cells, x => eq(x, cell));\n    const getSelectedCells = tableSelection => lift2(getCellIndex(tableSelection.cells, tableSelection.rng.start), getCellIndex(tableSelection.cells, tableSelection.rng.end), (startIndex, endIndex) => tableSelection.cells.slice(startIndex, endIndex + 1));\n    const isSingleCellTableContentSelected = (optCellRng, rng, isRoot) => optCellRng.exists(cellRng => isSingleCellTable(cellRng, isRoot) && hasAllContentsSelected(cellRng.start, rng));\n    const unselectCells = (rng, selectionDetails) => {\n      const {\n        startTable,\n        endTable\n      } = selectionDetails;\n      const otherContentRng = rng.cloneRange();\n      startTable.each(table => otherContentRng.setStartAfter(table.dom));\n      endTable.each(table => otherContentRng.setEndBefore(table.dom));\n      return otherContentRng;\n    };\n    const handleSingleTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => start.or(end)).bind(tableSelection => {\n      const {\n        isSameTable\n      } = selectionDetails;\n      const selectedCells = getSelectedCells(tableSelection).getOr([]);\n      if (isSameTable && tableSelection.cells.length === selectedCells.length) {\n        return Optional.some(deleteAction.fullTable(tableSelection.table));\n      } else if (selectedCells.length > 0) {\n        if (isSameTable) {\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.none()));\n        } else {\n          const otherContentRng = unselectCells(rng, selectionDetails);\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.some({\n            ...selectionDetails,\n            rng: otherContentRng\n          })));\n        }\n      } else {\n        return Optional.none();\n      }\n    });\n    const handleMultiTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => {\n      const startTableSelectedCells = start.bind(getSelectedCells).getOr([]);\n      const endTableSelectedCells = end.bind(getSelectedCells).getOr([]);\n      if (startTableSelectedCells.length > 0 && endTableSelectedCells.length > 0) {\n        const otherContentRng = unselectCells(rng, selectionDetails);\n        return Optional.some(deleteAction.multiTable(startTableSelectedCells, endTableSelectedCells, otherContentRng));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getActionFromRange = (root, rng) => {\n      const isRoot = isRootFromElement(root);\n      const optCellRng = getCellRng(rng, isRoot);\n      const selectionDetails = getTableDetailsFromRange(rng, isRoot);\n      if (isSingleCellTableContentSelected(optCellRng, rng, isRoot)) {\n        return optCellRng.map(cellRng => deleteAction.singleCellTable(rng, cellRng.start));\n      } else if (selectionDetails.isMultiTable) {\n        return handleMultiTable(optCellRng, selectionDetails, rng, isRoot);\n      } else {\n        return handleSingleTable(optCellRng, selectionDetails, rng, isRoot);\n      }\n    };\n\n    const cleanCells = cells => each$e(cells, cell => {\n      remove$a(cell, 'contenteditable');\n      fillWithPaddingBr(cell);\n    });\n    const getOutsideBlock = (editor, container) => Optional.from(editor.dom.getParent(container, editor.dom.isBlock)).map(SugarElement.fromDom);\n    const handleEmptyBlock = (editor, startInTable, emptyBlock) => {\n      emptyBlock.each(block => {\n        if (startInTable) {\n          remove$5(block);\n        } else {\n          fillWithPaddingBr(block);\n          editor.selection.setCursorLocation(block.dom, 0);\n        }\n      });\n    };\n    const deleteContentInsideCell = (editor, cell, rng, isFirstCellInSelection) => {\n      const insideTableRng = rng.cloneRange();\n      if (isFirstCellInSelection) {\n        insideTableRng.setStart(rng.startContainer, rng.startOffset);\n        insideTableRng.setEndAfter(cell.dom.lastChild);\n      } else {\n        insideTableRng.setStartBefore(cell.dom.firstChild);\n        insideTableRng.setEnd(rng.endContainer, rng.endOffset);\n      }\n      deleteCellContents(editor, insideTableRng, cell, false).each(action => action());\n    };\n    const collapseAndRestoreCellSelection = editor => {\n      const selectedCells = getCellsFromEditor(editor);\n      const selectedNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isTableCell$3(selectedNode.dom) && isEmpty$2(selectedNode)) {\n        editor.selection.setCursorLocation(selectedNode.dom, 0);\n      } else {\n        editor.selection.collapse(true);\n      }\n      if (selectedCells.length > 1 && exists(selectedCells, cell => eq(cell, selectedNode))) {\n        set$3(selectedNode, 'data-mce-selected', '1');\n      }\n    };\n    const emptySingleTableCells = (editor, cells, outsideDetails) => Optional.some(() => {\n      const editorRng = editor.selection.getRng();\n      const cellsToClean = outsideDetails.bind(({\n        rng,\n        isStartInTable\n      }) => {\n        const outsideBlock = getOutsideBlock(editor, isStartInTable ? rng.endContainer : rng.startContainer);\n        rng.deleteContents();\n        handleEmptyBlock(editor, isStartInTable, outsideBlock.filter(isEmpty$2));\n        const endPointCell = isStartInTable ? cells[0] : cells[cells.length - 1];\n        deleteContentInsideCell(editor, endPointCell, editorRng, isStartInTable);\n        if (!isEmpty$2(endPointCell)) {\n          return Optional.some(isStartInTable ? cells.slice(1) : cells.slice(0, -1));\n        } else {\n          return Optional.none();\n        }\n      }).getOr(cells);\n      cleanCells(cellsToClean);\n      collapseAndRestoreCellSelection(editor);\n    });\n    const emptyMultiTableCells = (editor, startTableCells, endTableCells, betweenRng) => Optional.some(() => {\n      const rng = editor.selection.getRng();\n      const startCell = startTableCells[0];\n      const endCell = endTableCells[endTableCells.length - 1];\n      deleteContentInsideCell(editor, startCell, rng, true);\n      deleteContentInsideCell(editor, endCell, rng, false);\n      const startTableCellsToClean = isEmpty$2(startCell) ? startTableCells : startTableCells.slice(1);\n      const endTableCellsToClean = isEmpty$2(endCell) ? endTableCells : endTableCells.slice(0, -1);\n      cleanCells(startTableCellsToClean.concat(endTableCellsToClean));\n      betweenRng.deleteContents();\n      collapseAndRestoreCellSelection(editor);\n    });\n    const deleteCellContents = (editor, rng, cell, moveSelection = true) => Optional.some(() => {\n      deleteRangeContents(editor, rng, cell, moveSelection);\n    });\n    const deleteTableElement = (editor, table) => Optional.some(() => deleteElement$2(editor, false, table));\n    const deleteCellRange = (editor, rootElm, rng) => getActionFromRange(rootElm, rng).bind(action => action.fold(curry(deleteCellContents, editor), curry(deleteTableElement, editor), curry(emptySingleTableCells, editor), curry(emptyMultiTableCells, editor)));\n    const deleteCaptionRange = (editor, caption) => emptyElement(editor, caption);\n    const deleteTableRange = (editor, rootElm, rng, startElm) => getParentCaption(rootElm, startElm).fold(() => deleteCellRange(editor, rootElm, rng), caption => deleteCaptionRange(editor, caption));\n    const deleteRange$3 = (editor, startElm, selectedCells) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return selectedCells.length !== 0 ? emptySingleTableCells(editor, selectedCells, Optional.none()) : deleteTableRange(editor, rootNode, rng, startElm);\n    };\n    const getParentCell = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTableCell$2);\n    const getParentCaption = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTag('caption'));\n    const deleteBetweenCells = (editor, rootElm, forward, fromCell, from) => navigate(forward, editor.getBody(), from).bind(to => getParentCell(rootElm, SugarElement.fromDom(to.getNode())).bind(toCell => eq(toCell, fromCell) ? Optional.none() : Optional.some(noop)));\n    const emptyElement = (editor, elm) => Optional.some(() => {\n      fillWithPaddingBr(elm);\n      editor.selection.setCursorLocation(elm.dom, 0);\n    });\n    const isDeleteOfLastCharPos = (fromCaption, forward, from, to) => firstPositionIn(fromCaption.dom).bind(first => lastPositionIn(fromCaption.dom).map(last => forward ? from.isEqual(first) && to.isEqual(last) : from.isEqual(last) && to.isEqual(first))).getOr(true);\n    const emptyCaretCaption = (editor, elm) => emptyElement(editor, elm);\n    const validateCaretCaption = (rootElm, fromCaption, to) => getParentCaption(rootElm, SugarElement.fromDom(to.getNode())).fold(() => Optional.some(noop), toCaption => someIf(!eq(toCaption, fromCaption), noop));\n    const deleteCaretInsideCaption = (editor, rootElm, forward, fromCaption, from) => navigate(forward, editor.getBody(), from).fold(() => Optional.some(noop), to => isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to));\n    const deleteCaretCells = (editor, forward, rootElm, startElm) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getParentCell(rootElm, startElm).bind(fromCell => isEmpty$2(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from));\n    };\n    const deleteCaretCaption = (editor, forward, rootElm, fromCaption) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isEmpty$2(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from);\n    };\n    const isNearTable = (forward, pos) => forward ? isBeforeTable(pos) : isAfterTable(pos);\n    const isBeforeOrAfterTable = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isNearTable(forward, fromPos) || fromPosition(forward, editor.getBody(), fromPos).exists(pos => isNearTable(forward, pos));\n    };\n    const deleteCaret$3 = (editor, forward, startElm) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      return getParentCaption(rootElm, startElm).fold(() => deleteCaretCells(editor, forward, rootElm, startElm).orThunk(() => someIf(isBeforeOrAfterTable(editor, forward), noop)), fromCaption => deleteCaretCaption(editor, forward, rootElm, fromCaption));\n    };\n    const backspaceDelete$a = (editor, forward) => {\n      const startElm = SugarElement.fromDom(editor.selection.getStart(true));\n      const cells = getCellsFromEditor(editor);\n      return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret$3(editor, forward, startElm) : deleteRange$3(editor, startElm, cells);\n    };\n\n    const getContentEditableRoot$1 = (root, node) => {\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        if (isContentEditableTrue$3(tempNode) || isContentEditableFalse$b(tempNode)) {\n          return tempNode;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n\n    const internalAttributesPrefixes = ['data-ephox-', 'data-mce-', 'data-alloy-', 'data-snooker-', '_'];\n    const each$9 = Tools.each;\n    const ElementUtils = editor => {\n      const dom = editor.dom;\n      const internalAttributes = new Set(editor.serializer.getTempAttrs());\n      const compare = (node1, node2) => {\n        if (node1.nodeName !== node2.nodeName || node1.nodeType !== node2.nodeType) {\n          return false;\n        }\n        const getAttribs = node => {\n          const attribs = {};\n          each$9(dom.getAttribs(node), attr => {\n            const name = attr.nodeName.toLowerCase();\n            if (name !== 'style' && !isAttributeInternal(name)) {\n              attribs[name] = dom.getAttrib(node, name);\n            }\n          });\n          return attribs;\n        };\n        const compareObjects = (obj1, obj2) => {\n          for (const name in obj1) {\n            if (has$2(obj1, name)) {\n              const value = obj2[name];\n              if (isUndefined(value)) {\n                return false;\n              }\n              if (obj1[name] !== value) {\n                return false;\n              }\n              delete obj2[name];\n            }\n          }\n          for (const name in obj2) {\n            if (has$2(obj2, name)) {\n              return false;\n            }\n          }\n          return true;\n        };\n        if (isElement$6(node1) && isElement$6(node2)) {\n          if (!compareObjects(getAttribs(node1), getAttribs(node2))) {\n            return false;\n          }\n          if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) {\n            return false;\n          }\n        }\n        return !isBookmarkNode$1(node1) && !isBookmarkNode$1(node2);\n      };\n      const isAttributeInternal = attributeName => exists(internalAttributesPrefixes, value => startsWith(attributeName, value)) || internalAttributes.has(attributeName);\n      return {\n        compare,\n        isAttributeInternal\n      };\n    };\n\n    const isHeading = node => ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(node.name);\n    const isSummary = node => node.name === 'summary';\n\n    const traverse = (root, fn) => {\n      let node = root;\n      while (node = node.walk()) {\n        fn(node);\n      }\n    };\n    const matchNode$1 = (nodeFilters, attributeFilters, node, matches) => {\n      const name = node.name;\n      for (let ni = 0, nl = nodeFilters.length; ni < nl; ni++) {\n        const filter = nodeFilters[ni];\n        if (filter.name === name) {\n          const match = matches.nodes[name];\n          if (match) {\n            match.nodes.push(node);\n          } else {\n            matches.nodes[name] = {\n              filter,\n              nodes: [node]\n            };\n          }\n        }\n      }\n      if (node.attributes) {\n        for (let ai = 0, al = attributeFilters.length; ai < al; ai++) {\n          const filter = attributeFilters[ai];\n          const attrName = filter.name;\n          if (attrName in node.attributes.map) {\n            const match = matches.attributes[attrName];\n            if (match) {\n              match.nodes.push(node);\n            } else {\n              matches.attributes[attrName] = {\n                filter,\n                nodes: [node]\n              };\n            }\n          }\n        }\n      }\n    };\n    const findMatchingNodes = (nodeFilters, attributeFilters, node) => {\n      const matches = {\n        nodes: {},\n        attributes: {}\n      };\n      if (node.firstChild) {\n        traverse(node, childNode => {\n          matchNode$1(nodeFilters, attributeFilters, childNode, matches);\n        });\n      }\n      return matches;\n    };\n    const runFilters = (matches, args) => {\n      const run = (matchRecord, filteringAttributes) => {\n        each$d(matchRecord, match => {\n          const nodes = from(match.nodes);\n          each$e(match.filter.callbacks, callback => {\n            for (let i = nodes.length - 1; i >= 0; i--) {\n              const node = nodes[i];\n              const valueMatches = filteringAttributes ? node.attr(match.filter.name) !== undefined : node.name === match.filter.name;\n              if (!valueMatches || isNullable(node.parent)) {\n                nodes.splice(i, 1);\n              }\n            }\n            if (nodes.length > 0) {\n              callback(nodes, match.filter.name, args);\n            }\n          });\n        });\n      };\n      run(matches.nodes, false);\n      run(matches.attributes, true);\n    };\n    const filter$2 = (nodeFilters, attributeFilters, node, args = {}) => {\n      const matches = findMatchingNodes(nodeFilters, attributeFilters, node);\n      runFilters(matches, args);\n    };\n\n    const paddEmptyNode = (settings, args, isBlock, node) => {\n      const brPreferred = settings.pad_empty_with_br || args.insert;\n      if (brPreferred && isBlock(node)) {\n        const astNode = new AstNode('br', 1);\n        if (args.insert) {\n          astNode.attr('data-mce-bogus', '1');\n        }\n        node.empty().append(astNode);\n      } else {\n        node.empty().append(new AstNode('#text', 3)).value = nbsp;\n      }\n    };\n    const isPaddedWithNbsp = node => {\n      var _a;\n      return hasOnlyChild(node, '#text') && ((_a = node === null || node === void 0 ? void 0 : node.firstChild) === null || _a === void 0 ? void 0 : _a.value) === nbsp;\n    };\n    const hasOnlyChild = (node, name) => {\n      const firstChild = node === null || node === void 0 ? void 0 : node.firstChild;\n      return isNonNullable(firstChild) && firstChild === node.lastChild && firstChild.name === name;\n    };\n    const isPadded = (schema, node) => {\n      const rule = schema.getElementRule(node.name);\n      return (rule === null || rule === void 0 ? void 0 : rule.paddEmpty) === true;\n    };\n    const isEmpty = (schema, nonEmptyElements, whitespaceElements, node) => node.isEmpty(nonEmptyElements, whitespaceElements, node => isPadded(schema, node));\n    const isLineBreakNode = (node, isBlock) => isNonNullable(node) && (isBlock(node) || node.name === 'br');\n    const findClosestEditingHost = scope => {\n      let editableNode;\n      for (let node = scope; node; node = node.parent) {\n        const contentEditable = node.attr('contenteditable');\n        if (contentEditable === 'false') {\n          break;\n        } else if (contentEditable === 'true') {\n          editableNode = node;\n        }\n      }\n      return Optional.from(editableNode);\n    };\n\n    const removeOrUnwrapInvalidNode = (node, schema, originalNodeParent = node.parent) => {\n      if (schema.getSpecialElements()[node.name]) {\n        node.empty().remove();\n      } else {\n        const children = node.children();\n        for (const childNode of children) {\n          if (originalNodeParent && !schema.isValidChild(originalNodeParent.name, childNode.name)) {\n            removeOrUnwrapInvalidNode(childNode, schema, originalNodeParent);\n          }\n        }\n        node.unwrap();\n      }\n    };\n    const cleanInvalidNodes = (nodes, schema, rootNode, onCreate = noop) => {\n      const textBlockElements = schema.getTextBlockElements();\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const nonSplittableElements = Tools.makeMap('tr,td,th,tbody,thead,tfoot,table,summary');\n      const fixed = new Set();\n      const isSplittableElement = node => node !== rootNode && !nonSplittableElements[node.name];\n      for (let ni = 0; ni < nodes.length; ni++) {\n        const node = nodes[ni];\n        let parent;\n        let newParent;\n        let tempNode;\n        if (!node.parent || fixed.has(node)) {\n          continue;\n        }\n        if (textBlockElements[node.name] && node.parent.name === 'li') {\n          let sibling = node.next;\n          while (sibling) {\n            if (textBlockElements[sibling.name]) {\n              sibling.name = 'li';\n              fixed.add(sibling);\n              node.parent.insert(sibling, node.parent);\n            } else {\n              break;\n            }\n            sibling = sibling.next;\n          }\n          node.unwrap();\n          continue;\n        }\n        const parents = [node];\n        for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && isSplittableElement(parent); parent = parent.parent) {\n          parents.push(parent);\n        }\n        if (parent && parents.length > 1) {\n          if (!isInvalid(schema, node, parent)) {\n            parents.reverse();\n            newParent = parents[0].clone();\n            onCreate(newParent);\n            let currentNode = newParent;\n            for (let i = 0; i < parents.length - 1; i++) {\n              if (schema.isValidChild(currentNode.name, parents[i].name) && i > 0) {\n                tempNode = parents[i].clone();\n                onCreate(tempNode);\n                currentNode.append(tempNode);\n              } else {\n                tempNode = currentNode;\n              }\n              for (let childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) {\n                const nextNode = childNode.next;\n                tempNode.append(childNode);\n                childNode = nextNode;\n              }\n              currentNode = tempNode;\n            }\n            if (!isEmpty(schema, nonEmptyElements, whitespaceElements, newParent)) {\n              parent.insert(newParent, parents[0], true);\n              parent.insert(node, newParent);\n            } else {\n              parent.insert(node, parents[0], true);\n            }\n            parent = parents[0];\n            if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent) || hasOnlyChild(parent, 'br')) {\n              parent.empty().remove();\n            }\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        } else if (node.parent) {\n          if (node.name === 'li') {\n            let sibling = node.prev;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol')) {\n              sibling.append(node);\n              continue;\n            }\n            sibling = node.next;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol') && sibling.firstChild) {\n              sibling.insert(node, sibling.firstChild, true);\n              continue;\n            }\n            const wrapper = new AstNode('ul', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n            continue;\n          }\n          if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) {\n            const wrapper = new AstNode('div', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        }\n      }\n    };\n    const hasClosest = (node, parentName) => {\n      let tempNode = node;\n      while (tempNode) {\n        if (tempNode.name === parentName) {\n          return true;\n        }\n        tempNode = tempNode.parent;\n      }\n      return false;\n    };\n    const isInvalid = (schema, node, parent = node.parent) => {\n      if (!parent) {\n        return false;\n      }\n      if (schema.children[node.name] && !schema.isValidChild(parent.name, node.name)) {\n        return true;\n      }\n      if (node.name === 'a' && hasClosest(parent, 'a')) {\n        return true;\n      }\n      if (isSummary(parent) && isHeading(node)) {\n        return !((parent === null || parent === void 0 ? void 0 : parent.firstChild) === node && (parent === null || parent === void 0 ? void 0 : parent.lastChild) === node);\n      }\n      return false;\n    };\n\n    const createRange = (sc, so, ec, eo) => {\n      const rng = document.createRange();\n      rng.setStart(sc, so);\n      rng.setEnd(ec, eo);\n      return rng;\n    };\n    const normalizeBlockSelectionRange = rng => {\n      const startPos = CaretPosition.fromRangeStart(rng);\n      const endPos = CaretPosition.fromRangeEnd(rng);\n      const rootNode = rng.commonAncestorContainer;\n      return fromPosition(false, rootNode, endPos).map(newEndPos => {\n        if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) {\n          return createRange(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset());\n        } else {\n          return rng;\n        }\n      }).getOr(rng);\n    };\n    const normalize = rng => rng.collapsed ? rng : normalizeBlockSelectionRange(rng);\n\n    const hasOnlyOneChild$1 = node => {\n      return isNonNullable(node.firstChild) && node.firstChild === node.lastChild;\n    };\n    const isPaddingNode = node => {\n      return node.name === 'br' || node.value === nbsp;\n    };\n    const isPaddedEmptyBlock = (schema, node) => {\n      const blockElements = schema.getBlockElements();\n      return blockElements[node.name] && hasOnlyOneChild$1(node) && isPaddingNode(node.firstChild);\n    };\n    const isEmptyFragmentElement = (schema, node) => {\n      const nonEmptyElements = schema.getNonEmptyElements();\n      return isNonNullable(node) && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node));\n    };\n    const isListFragment = (schema, fragment) => {\n      let firstChild = fragment.firstChild;\n      let lastChild = fragment.lastChild;\n      if (firstChild && firstChild.name === 'meta') {\n        firstChild = firstChild.next;\n      }\n      if (lastChild && lastChild.attr('id') === 'mce_marker') {\n        lastChild = lastChild.prev;\n      }\n      if (isEmptyFragmentElement(schema, lastChild)) {\n        lastChild = lastChild === null || lastChild === void 0 ? void 0 : lastChild.prev;\n      }\n      if (!firstChild || firstChild !== lastChild) {\n        return false;\n      }\n      return firstChild.name === 'ul' || firstChild.name === 'ol';\n    };\n    const cleanupDomFragment = domFragment => {\n      var _a, _b;\n      const firstChild = domFragment.firstChild;\n      const lastChild = domFragment.lastChild;\n      if (firstChild && firstChild.nodeName === 'META') {\n        (_a = firstChild.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(firstChild);\n      }\n      if (lastChild && lastChild.id === 'mce_marker') {\n        (_b = lastChild.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(lastChild);\n      }\n      return domFragment;\n    };\n    const toDomFragment = (dom, serializer, fragment) => {\n      const html = serializer.serialize(fragment);\n      const domFragment = dom.createFragment(html);\n      return cleanupDomFragment(domFragment);\n    };\n    const listItems = elm => {\n      var _a;\n      return filter$5((_a = elm === null || elm === void 0 ? void 0 : elm.childNodes) !== null && _a !== void 0 ? _a : [], child => {\n        return child.nodeName === 'LI';\n      });\n    };\n    const isPadding = node => {\n      return node.data === nbsp || isBr$6(node);\n    };\n    const isListItemPadded = node => {\n      return isNonNullable(node === null || node === void 0 ? void 0 : node.firstChild) && node.firstChild === node.lastChild && isPadding(node.firstChild);\n    };\n    const isEmptyOrPadded = elm => {\n      return !elm.firstChild || isListItemPadded(elm);\n    };\n    const trimListItems = elms => {\n      return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms;\n    };\n    const getParentLi = (dom, node) => {\n      const parentBlock = dom.getParent(node, dom.isBlock);\n      return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null;\n    };\n    const isParentBlockLi = (dom, node) => {\n      return !!getParentLi(dom, node);\n    };\n    const getSplit = (parentNode, rng) => {\n      const beforeRng = rng.cloneRange();\n      const afterRng = rng.cloneRange();\n      beforeRng.setStartBefore(parentNode);\n      afterRng.setEndAfter(parentNode);\n      return [beforeRng.cloneContents(), afterRng.cloneContents()];\n    };\n    const findFirstIn = (node, rootNode) => {\n      const caretPos = CaretPosition.before(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.next(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const findLastOf = (node, rootNode) => {\n      const caretPos = CaretPosition.after(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.prev(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const insertMiddle = (target, elms, rootNode, rng) => {\n      const parts = getSplit(target, rng);\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        parentElm.insertBefore(parts[0], target);\n        Tools.each(elms, li => {\n          parentElm.insertBefore(li, target);\n        });\n        parentElm.insertBefore(parts[1], target);\n        parentElm.removeChild(target);\n      }\n      return findLastOf(elms[elms.length - 1], rootNode);\n    };\n    const insertBefore$2 = (target, elms, rootNode) => {\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        Tools.each(elms, elm => {\n          parentElm.insertBefore(elm, target);\n        });\n      }\n      return findFirstIn(target, rootNode);\n    };\n    const insertAfter$2 = (target, elms, rootNode, dom) => {\n      dom.insertAfter(elms.reverse(), target);\n      return findLastOf(elms[0], rootNode);\n    };\n    const insertAtCaret$1 = (serializer, dom, rng, fragment) => {\n      const domFragment = toDomFragment(dom, serializer, fragment);\n      const liTarget = getParentLi(dom, rng.startContainer);\n      const liElms = trimListItems(listItems(domFragment.firstChild));\n      const BEGINNING = 1,\n        END = 2;\n      const rootNode = dom.getRoot();\n      const isAt = location => {\n        const caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(dom.getRoot());\n        const newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos);\n        const newPosNode = newPos === null || newPos === void 0 ? void 0 : newPos.getNode();\n        return newPosNode ? getParentLi(dom, newPosNode) !== liTarget : true;\n      };\n      if (!liTarget) {\n        return null;\n      } else if (isAt(BEGINNING)) {\n        return insertBefore$2(liTarget, liElms, rootNode);\n      } else if (isAt(END)) {\n        return insertAfter$2(liTarget, liElms, rootNode, dom);\n      } else {\n        return insertMiddle(liTarget, liElms, rootNode, rng);\n      }\n    };\n\n    const mergeableWrappedElements = ['pre'];\n    const shouldPasteContentOnly = (dom, fragment, parentNode, root) => {\n      var _a;\n      const firstNode = fragment.firstChild;\n      const lastNode = fragment.lastChild;\n      const last = lastNode.attr('data-mce-type') === 'bookmark' ? lastNode.prev : lastNode;\n      const isPastingSingleElement = firstNode === last;\n      const isWrappedElement = contains$2(mergeableWrappedElements, firstNode.name);\n      if (isPastingSingleElement && isWrappedElement) {\n        const isContentEditable = firstNode.attr('contenteditable') !== 'false';\n        const isPastingInTheSameBlockTag = ((_a = dom.getParent(parentNode, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName.toLowerCase()) === firstNode.name;\n        const isPastingInContentEditable = Optional.from(getContentEditableRoot$1(root, parentNode)).forall(isContentEditableTrue$3);\n        return isContentEditable && isPastingInTheSameBlockTag && isPastingInContentEditable;\n      } else {\n        return false;\n      }\n    };\n    const isTableCell = isTableCell$3;\n    const isTableCellContentSelected = (dom, rng, cell) => {\n      if (isNonNullable(cell)) {\n        const endCell = dom.getParent(rng.endContainer, isTableCell);\n        return cell === endCell && hasAllContentsSelected(SugarElement.fromDom(cell), rng);\n      } else {\n        return false;\n      }\n    };\n    const validInsertion = (editor, value, parentNode) => {\n      var _a;\n      if (parentNode.getAttribute('data-mce-bogus') === 'all') {\n        (_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(editor.dom.createFragment(value), parentNode);\n      } else {\n        const node = parentNode.firstChild;\n        const node2 = parentNode.lastChild;\n        if (!node || node === node2 && node.nodeName === 'BR') {\n          editor.dom.setHTML(parentNode, value);\n        } else {\n          editor.selection.setContent(value, {\n            no_events: true\n          });\n        }\n      }\n    };\n    const trimBrsFromTableCell = (dom, elm, schema) => {\n      Optional.from(dom.getParent(elm, 'td,th')).map(SugarElement.fromDom).each(el => trimBlockTrailingBr(el, schema));\n    };\n    const reduceInlineTextElements = (editor, merge) => {\n      const textInlineElements = editor.schema.getTextInlineElements();\n      const dom = editor.dom;\n      if (merge) {\n        const root = editor.getBody();\n        const elementUtils = ElementUtils(editor);\n        Tools.each(dom.select('*[data-mce-fragment]'), node => {\n          const isInline = isNonNullable(textInlineElements[node.nodeName.toLowerCase()]);\n          if (isInline && hasInheritableStyles(dom, node)) {\n            for (let parentNode = node.parentElement; isNonNullable(parentNode) && parentNode !== root; parentNode = parentNode.parentElement) {\n              const styleConflict = hasStyleConflict(dom, node, parentNode);\n              if (styleConflict) {\n                break;\n              }\n              if (elementUtils.compare(parentNode, node)) {\n                dom.remove(node, true);\n                break;\n              }\n            }\n          }\n        });\n      }\n    };\n    const markFragmentElements = fragment => {\n      let node = fragment;\n      while (node = node.walk()) {\n        if (node.type === 1) {\n          node.attr('data-mce-fragment', '1');\n        }\n      }\n    };\n    const unmarkFragmentElements = elm => {\n      Tools.each(elm.getElementsByTagName('*'), elm => {\n        elm.removeAttribute('data-mce-fragment');\n      });\n    };\n    const isPartOfFragment = node => {\n      return !!node.getAttribute('data-mce-fragment');\n    };\n    const canHaveChildren = (editor, node) => {\n      return isNonNullable(node) && !editor.schema.getVoidElements()[node.nodeName];\n    };\n    const moveSelectionToMarker = (editor, marker) => {\n      var _a, _b, _c;\n      let nextRng;\n      const dom = editor.dom;\n      const selection = editor.selection;\n      if (!marker) {\n        return;\n      }\n      selection.scrollIntoView(marker);\n      const parentEditableElm = getContentEditableRoot$1(editor.getBody(), marker);\n      if (parentEditableElm && dom.getContentEditable(parentEditableElm) === 'false') {\n        dom.remove(marker);\n        selection.select(parentEditableElm);\n        return;\n      }\n      let rng = dom.createRng();\n      const node = marker.previousSibling;\n      if (isText$a(node)) {\n        rng.setStart(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);\n        const node2 = marker.nextSibling;\n        if (isText$a(node2)) {\n          node.appendData(node2.data);\n          (_c = node2.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(node2);\n        }\n      } else {\n        rng.setStartBefore(marker);\n        rng.setEndBefore(marker);\n      }\n      const findNextCaretRng = rng => {\n        let caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(editor.getBody());\n        caretPos = caretWalker.next(caretPos);\n        return caretPos === null || caretPos === void 0 ? void 0 : caretPos.toRange();\n      };\n      const parentBlock = dom.getParent(marker, dom.isBlock);\n      dom.remove(marker);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        const isCell = isTableCell(parentBlock);\n        empty(SugarElement.fromDom(parentBlock));\n        rng.setStart(parentBlock, 0);\n        rng.setEnd(parentBlock, 0);\n        if (!isCell && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) {\n          rng = nextRng;\n          dom.remove(parentBlock);\n        } else {\n          dom.add(parentBlock, dom.create('br', isCell ? {} : {\n            'data-mce-bogus': '1'\n          }));\n        }\n      }\n      selection.setRng(rng);\n    };\n    const deleteSelectedContent = editor => {\n      const dom = editor.dom;\n      const rng = normalize(editor.selection.getRng());\n      editor.selection.setRng(rng);\n      const startCell = dom.getParent(rng.startContainer, isTableCell);\n      if (isTableCellContentSelected(dom, rng, startCell)) {\n        deleteCellContents(editor, rng, SugarElement.fromDom(startCell));\n      } else if (rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset === 1 && isText$a(rng.startContainer.childNodes[rng.startOffset])) {\n        rng.deleteContents();\n      } else {\n        editor.getDoc().execCommand('Delete', false);\n      }\n    };\n    const findMarkerNode = scope => {\n      for (let markerNode = scope; markerNode; markerNode = markerNode.walk()) {\n        if (markerNode.attr('id') === 'mce_marker') {\n          return Optional.some(markerNode);\n        }\n      }\n      return Optional.none();\n    };\n    const notHeadingsInSummary = (dom, node, fragment) => {\n      var _a;\n      return exists(fragment.children(), isHeading) && ((_a = dom.getParent(node, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName) === 'SUMMARY';\n    };\n    const insertHtmlAtCaret = (editor, value, details) => {\n      var _a, _b;\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const parser = editor.parser;\n      const merge = details.merge;\n      const serializer = HtmlSerializer({\n        validate: true\n      }, editor.schema);\n      const bookmarkHtml = '<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;<\/span>';\n      if (!details.preserve_zwsp) {\n        value = trim$2(value);\n      }\n      if (value.indexOf('{$caret}') === -1) {\n        value += '{$caret}';\n      }\n      value = value.replace(/\\{\\$caret\\}/, bookmarkHtml);\n      let rng = selection.getRng();\n      const caretElement = rng.startContainer;\n      const body = editor.getBody();\n      if (caretElement === body && selection.isCollapsed()) {\n        if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) {\n          rng = dom.createRng();\n          rng.setStart(body.firstChild, 0);\n          rng.setEnd(body.firstChild, 0);\n          selection.setRng(rng);\n        }\n      }\n      if (!selection.isCollapsed()) {\n        deleteSelectedContent(editor);\n      }\n      const parentNode = selection.getNode();\n      const parserArgs = {\n        context: parentNode.nodeName.toLowerCase(),\n        data: details.data,\n        insert: true\n      };\n      const fragment = parser.parse(value, parserArgs);\n      if (details.paste === true && isListFragment(editor.schema, fragment) && isParentBlockLi(dom, parentNode)) {\n        rng = insertAtCaret$1(serializer, dom, selection.getRng(), fragment);\n        if (rng) {\n          selection.setRng(rng);\n        }\n        return value;\n      }\n      if (details.paste === true && shouldPasteContentOnly(dom, fragment, parentNode, editor.getBody())) {\n        (_a = fragment.firstChild) === null || _a === void 0 ? void 0 : _a.unwrap();\n      }\n      markFragmentElements(fragment);\n      let node = fragment.lastChild;\n      if (node && node.attr('id') === 'mce_marker') {\n        const marker = node;\n        for (node = node.prev; node; node = node.walk(true)) {\n          if (node.type === 3 || !dom.isBlock(node.name)) {\n            if (node.parent && editor.schema.isValidChild(node.parent.name, 'span')) {\n              node.parent.insert(marker, node, node.name === 'br');\n            }\n            break;\n          }\n        }\n      }\n      editor._selectionOverrides.showBlockCaretContainer(parentNode);\n      if (!parserArgs.invalid && !notHeadingsInSummary(dom, parentNode, fragment)) {\n        value = serializer.serialize(fragment);\n        validInsertion(editor, value, parentNode);\n      } else {\n        editor.selection.setContent(bookmarkHtml);\n        let parentNode = selection.getNode();\n        let tempNode;\n        const rootNode = editor.getBody();\n        if (isDocument$1(parentNode)) {\n          parentNode = tempNode = rootNode;\n        } else {\n          tempNode = parentNode;\n        }\n        while (tempNode && tempNode !== rootNode) {\n          parentNode = tempNode;\n          tempNode = tempNode.parentNode;\n        }\n        value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode);\n        const root = parser.parse(value);\n        const markerNode = findMarkerNode(root);\n        const editingHost = markerNode.bind(findClosestEditingHost).getOr(root);\n        markerNode.each(marker => marker.replace(fragment));\n        const toExtract = fragment.children();\n        const parent = (_b = fragment.parent) !== null && _b !== void 0 ? _b : root;\n        fragment.unwrap();\n        const invalidChildren = filter$5(toExtract, node => isInvalid(editor.schema, node, parent));\n        cleanInvalidNodes(invalidChildren, editor.schema, editingHost);\n        filter$2(parser.getNodeFilters(), parser.getAttributeFilters(), root);\n        value = serializer.serialize(root);\n        if (parentNode === rootNode) {\n          dom.setHTML(rootNode, value);\n        } else {\n          dom.setOuterHTML(parentNode, value);\n        }\n      }\n      reduceInlineTextElements(editor, merge);\n      moveSelectionToMarker(editor, dom.get('mce_marker'));\n      unmarkFragmentElements(editor.getBody());\n      trimBrsFromTableCell(dom, selection.getStart(), editor.schema);\n      updateCaret(editor.schema, editor.getBody(), selection.getStart());\n      return value;\n    };\n\n    const isTreeNode = content => content instanceof AstNode;\n\n    const moveSelection = editor => {\n      if (hasFocus(editor)) {\n        firstPositionIn(editor.getBody()).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const setEditorHtml = (editor, html, noSelection) => {\n      editor.dom.setHTML(editor.getBody(), html);\n      if (noSelection !== true) {\n        moveSelection(editor);\n      }\n    };\n    const setContentString = (editor, body, content, args) => {\n      content = trim$2(content);\n      if (content.length === 0 || /^\\s+$/.test(content)) {\n        const padd = '<br data-mce-bogus=\"1\">';\n        if (body.nodeName === 'TABLE') {\n          content = '<tr><td>' + padd + '<\/td><\/tr>';\n        } else if (/^(UL|OL)$/.test(body.nodeName)) {\n          content = '<li>' + padd + '<\/li>';\n        }\n        const forcedRootBlockName = getForcedRootBlock(editor);\n        if (editor.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase())) {\n          content = padd;\n          content = editor.dom.createHTML(forcedRootBlockName, getForcedRootBlockAttrs(editor), content);\n        } else if (!content) {\n          content = padd;\n        }\n        setEditorHtml(editor, content, args.no_selection);\n        return {\n          content,\n          html: content\n        };\n      } else {\n        if (args.format !== 'raw') {\n          content = HtmlSerializer({\n            validate: false\n          }, editor.schema).serialize(editor.parser.parse(content, {\n            isRootContent: true,\n            insert: true\n          }));\n        }\n        const trimmedHtml = isWsPreserveElement(SugarElement.fromDom(body)) ? content : Tools.trim(content);\n        setEditorHtml(editor, trimmedHtml, args.no_selection);\n        return {\n          content: trimmedHtml,\n          html: trimmedHtml\n        };\n      }\n    };\n    const setContentTree = (editor, body, content, args) => {\n      filter$2(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);\n      const html = HtmlSerializer({\n        validate: false\n      }, editor.schema).serialize(content);\n      const trimmedHtml = trim$2(isWsPreserveElement(SugarElement.fromDom(body)) ? html : Tools.trim(html));\n      setEditorHtml(editor, trimmedHtml, args.no_selection);\n      return {\n        content,\n        html: trimmedHtml\n      };\n    };\n    const setContentInternal = (editor, content, args) => {\n      return Optional.from(editor.getBody()).map(body => {\n        if (isTreeNode(content)) {\n          return setContentTree(editor, body, content, args);\n        } else {\n          return setContentString(editor, body, content, args);\n        }\n      }).getOr({\n        content,\n        html: isTreeNode(args.content) ? '' : args.content\n      });\n    };\n\n    const ensureIsRoot = isRoot => isFunction(isRoot) ? isRoot : never;\n    const ancestor = (scope, transform, isRoot) => {\n      let element = scope.dom;\n      const stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        const transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$1 = (scope, transform, isRoot) => {\n      const current = transform(scope);\n      const stop = ensureIsRoot(isRoot);\n      return current.orThunk(() => stop(scope) ? Optional.none() : ancestor(scope, transform, stop));\n    };\n\n    const isEq$3 = isEq$5;\n    const matchesUnInheritedFormatSelector = (ed, node, name) => {\n      const formatList = ed.formatter.get(name);\n      if (formatList) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (isSelectorFormat(format) && format.inherit === false && ed.dom.is(node, format.selector)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const matchParents = (editor, node, name, vars, similar) => {\n      const root = editor.dom.getRoot();\n      if (node === root) {\n        return false;\n      }\n      const matchedNode = editor.dom.getParent(node, elm => {\n        if (matchesUnInheritedFormatSelector(editor, elm, name)) {\n          return true;\n        }\n        return elm.parentNode === root || !!matchNode(editor, elm, name, vars, true);\n      });\n      return !!matchNode(editor, matchedNode, name, vars, similar);\n    };\n    const matchName = (dom, node, format) => {\n      if (isInlineFormat(format) && isEq$3(node, format.inline)) {\n        return true;\n      }\n      if (isBlockFormat(format) && isEq$3(node, format.block)) {\n        return true;\n      }\n      if (isSelectorFormat(format)) {\n        return isElement$6(node) && dom.is(node, format.selector);\n      }\n      return false;\n    };\n    const matchItems = (dom, node, format, itemName, similar, vars) => {\n      const items = format[itemName];\n      const matchAttributes = itemName === 'attributes';\n      if (isFunction(format.onmatch)) {\n        return format.onmatch(node, format, itemName);\n      }\n      if (items) {\n        if (!isArrayLike(items)) {\n          for (const key in items) {\n            if (has$2(items, key)) {\n              const value = matchAttributes ? dom.getAttrib(node, key) : getStyle(dom, node, key);\n              const expectedValue = replaceVars(items[key], vars);\n              const isEmptyValue = isNullable(value) || isEmpty$3(value);\n              if (isEmptyValue && isNullable(expectedValue)) {\n                continue;\n              }\n              if (similar && isEmptyValue && !format.exact) {\n                return false;\n              }\n              if ((!similar || format.exact) && !isEq$3(value, normalizeStyleValue(expectedValue, key))) {\n                return false;\n              }\n            }\n          }\n        } else {\n          for (let i = 0; i < items.length; i++) {\n            if (matchAttributes ? dom.getAttrib(node, items[i]) : getStyle(dom, node, items[i])) {\n              return true;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const matchNode = (ed, node, name, vars, similar) => {\n      const formatList = ed.formatter.get(name);\n      const dom = ed.dom;\n      if (formatList && isElement$6(node)) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (matchName(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) {\n            const classes = format.classes;\n            if (classes) {\n              for (let x = 0; x < classes.length; x++) {\n                if (!ed.dom.hasClass(node, replaceVars(classes[x], vars))) {\n                  return;\n                }\n              }\n            }\n            return format;\n          }\n        }\n      }\n      return undefined;\n    };\n    const match$2 = (editor, name, vars, node, similar) => {\n      if (node) {\n        return matchParents(editor, node, name, vars, similar);\n      }\n      node = editor.selection.getNode();\n      if (matchParents(editor, node, name, vars, similar)) {\n        return true;\n      }\n      const startNode = editor.selection.getStart();\n      if (startNode !== node) {\n        if (matchParents(editor, startNode, name, vars, similar)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const matchAll = (editor, names, vars) => {\n      const matchedFormatNames = [];\n      const checkedMap = {};\n      const startElement = editor.selection.getStart();\n      editor.dom.getParent(startElement, node => {\n        for (let i = 0; i < names.length; i++) {\n          const name = names[i];\n          if (!checkedMap[name] && matchNode(editor, node, name, vars)) {\n            checkedMap[name] = true;\n            matchedFormatNames.push(name);\n          }\n        }\n      }, editor.dom.getRoot());\n      return matchedFormatNames;\n    };\n    const closest = (editor, names) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      const match = (elm, name) => matchNode(editor, elm.dom, name) ? Optional.some(name) : Optional.none();\n      return Optional.from(editor.selection.getStart(true)).bind(rawElm => closest$1(SugarElement.fromDom(rawElm), elm => findMap(names, name => match(elm, name)), isRoot)).getOrNull();\n    };\n    const canApply = (editor, name) => {\n      const formatList = editor.formatter.get(name);\n      const dom = editor.dom;\n      if (formatList && editor.selection.isEditable()) {\n        const startNode = editor.selection.getStart();\n        const parents = getParents$2(dom, startNode);\n        for (let x = formatList.length - 1; x >= 0; x--) {\n          const format = formatList[x];\n          if (!isSelectorFormat(format)) {\n            return true;\n          }\n          for (let i = parents.length - 1; i >= 0; i--) {\n            if (dom.is(parents[i], format.selector)) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n    const matchAllOnNode = (editor, node, formatNames) => foldl(formatNames, (acc, name) => {\n      const matchSimilar = isVariableFormatName(editor, name);\n      if (editor.formatter.matchNode(node, name, {}, matchSimilar)) {\n        return acc.concat([name]);\n      } else {\n        return acc;\n      }\n    }, []);\n\n    const ZWSP = ZWSP$1;\n    const importNode = (ownerDocument, node) => {\n      return ownerDocument.importNode(node, true);\n    };\n    const findFirstTextNode = node => {\n      if (node) {\n        const walker = new DomTreeWalker(node, node);\n        for (let tempNode = walker.current(); tempNode; tempNode = walker.next()) {\n          if (isText$a(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const createCaretContainer = fill => {\n      const caretContainer = SugarElement.fromTag('span');\n      setAll$1(caretContainer, {\n        'id': CARET_ID,\n        'data-mce-bogus': '1',\n        'data-mce-type': 'format-caret'\n      });\n      if (fill) {\n        append$1(caretContainer, SugarElement.fromText(ZWSP));\n      }\n      return caretContainer;\n    };\n    const trimZwspFromCaretContainer = caretContainerNode => {\n      const textNode = findFirstTextNode(caretContainerNode);\n      if (textNode && textNode.data.charAt(0) === ZWSP) {\n        textNode.deleteData(0, 1);\n      }\n      return textNode;\n    };\n    const removeCaretContainerNode = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (isCaretContainerEmpty(node)) {\n        deleteElement$2(editor, false, SugarElement.fromDom(node), moveCaret, true);\n      } else {\n        const rng = selection.getRng();\n        const block = dom.getParent(node, dom.isBlock);\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        const textNode = trimZwspFromCaretContainer(node);\n        dom.remove(node, true);\n        if (startContainer === textNode && startOffset > 0) {\n          rng.setStart(textNode, startOffset - 1);\n        }\n        if (endContainer === textNode && endOffset > 0) {\n          rng.setEnd(textNode, endOffset - 1);\n        }\n        if (block && dom.isEmpty(block)) {\n          fillWithPaddingBr(SugarElement.fromDom(block));\n        }\n        selection.setRng(rng);\n      }\n    };\n    const removeCaretContainer = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (!node) {\n        node = getParentCaretContainer(editor.getBody(), selection.getStart());\n        if (!node) {\n          while (node = dom.get(CARET_ID)) {\n            removeCaretContainerNode(editor, node, moveCaret);\n          }\n        }\n      } else {\n        removeCaretContainerNode(editor, node, moveCaret);\n      }\n    };\n    const insertCaretContainerNode = (editor, caretContainer, formatNode) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const block = dom.getParent(formatNode, curry(isTextBlock$1, editor.schema));\n      if (block && dom.isEmpty(block)) {\n        (_a = formatNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(caretContainer, formatNode);\n      } else {\n        removeTrailingBr(SugarElement.fromDom(formatNode));\n        if (dom.isEmpty(formatNode)) {\n          (_b = formatNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(caretContainer, formatNode);\n        } else {\n          dom.insertAfter(caretContainer, formatNode);\n        }\n      }\n    };\n    const appendNode = (parentNode, node) => {\n      parentNode.appendChild(node);\n      return node;\n    };\n    const insertFormatNodesIntoCaretContainer = (formatNodes, caretContainer) => {\n      var _a;\n      const innerMostFormatNode = foldr(formatNodes, (parentNode, formatNode) => {\n        return appendNode(parentNode, formatNode.cloneNode(false));\n      }, caretContainer);\n      const doc = (_a = innerMostFormatNode.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return appendNode(innerMostFormatNode, doc.createTextNode(ZWSP));\n    };\n    const cleanFormatNode = (editor, caretContainer, formatNode, name, vars, similar) => {\n      const formatter = editor.formatter;\n      const dom = editor.dom;\n      const validFormats = filter$5(keys(formatter.get()), formatName => formatName !== name && !contains$1(formatName, 'removeformat'));\n      const matchedFormats = matchAllOnNode(editor, formatNode, validFormats);\n      const uniqueFormats = filter$5(matchedFormats, fmtName => !areSimilarFormats(editor, fmtName, name));\n      if (uniqueFormats.length > 0) {\n        const clonedFormatNode = formatNode.cloneNode(false);\n        dom.add(caretContainer, clonedFormatNode);\n        formatter.remove(name, vars, clonedFormatNode, similar);\n        dom.remove(clonedFormatNode);\n        return Optional.some(clonedFormatNode);\n      } else {\n        return Optional.none();\n      }\n    };\n    const applyCaretFormat = (editor, name, vars) => {\n      let caretContainer;\n      const selection = editor.selection;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const selectionRng = selection.getRng();\n      let offset = selectionRng.startOffset;\n      const container = selectionRng.startContainer;\n      const text = container.nodeValue;\n      caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart());\n      const wordcharRegex = /[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;\n      if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) {\n        const bookmark = selection.getBookmark();\n        selectionRng.collapse(true);\n        let rng = expandRng(editor.dom, selectionRng, formatList);\n        rng = split(rng);\n        editor.formatter.apply(name, vars, rng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        let textNode = caretContainer ? findFirstTextNode(caretContainer) : null;\n        if (!caretContainer || (textNode === null || textNode === void 0 ? void 0 : textNode.data) !== ZWSP) {\n          caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom);\n          textNode = caretContainer.firstChild;\n          selectionRng.insertNode(caretContainer);\n          offset = 1;\n          editor.formatter.apply(name, vars, caretContainer);\n        } else {\n          editor.formatter.apply(name, vars, caretContainer);\n        }\n        selection.setCursorLocation(textNode, offset);\n      }\n    };\n    const removeCaretFormat = (editor, name, vars, similar) => {\n      const dom = editor.dom;\n      const selection = editor.selection;\n      let hasContentAfter = false;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const rng = selection.getRng();\n      const container = rng.startContainer;\n      const offset = rng.startOffset;\n      let node = container;\n      if (isText$a(container)) {\n        if (offset !== container.data.length) {\n          hasContentAfter = true;\n        }\n        node = node.parentNode;\n      }\n      const parents = [];\n      let formatNode;\n      while (node) {\n        if (matchNode(editor, node, name, vars, similar)) {\n          formatNode = node;\n          break;\n        }\n        if (node.nextSibling) {\n          hasContentAfter = true;\n        }\n        parents.push(node);\n        node = node.parentNode;\n      }\n      if (!formatNode) {\n        return;\n      }\n      if (hasContentAfter) {\n        const bookmark = selection.getBookmark();\n        rng.collapse(true);\n        let expandedRng = expandRng(dom, rng, formatList, true);\n        expandedRng = split(expandedRng);\n        editor.formatter.remove(name, vars, expandedRng, similar);\n        selection.moveToBookmark(bookmark);\n      } else {\n        const caretContainer = getParentCaretContainer(editor.getBody(), formatNode);\n        const parentsAfter = isNonNullable(caretContainer) ? dom.getParents(formatNode.parentNode, always, caretContainer) : [];\n        const newCaretContainer = createCaretContainer(false).dom;\n        insertCaretContainerNode(editor, newCaretContainer, caretContainer !== null && caretContainer !== void 0 ? caretContainer : formatNode);\n        const cleanedFormatNode = cleanFormatNode(editor, newCaretContainer, formatNode, name, vars, similar);\n        const caretTextNode = insertFormatNodesIntoCaretContainer([...parents, ...cleanedFormatNode.toArray(), ...parentsAfter], newCaretContainer);\n        if (caretContainer) {\n          removeCaretContainerNode(editor, caretContainer, isNonNullable(caretContainer));\n        }\n        selection.setCursorLocation(caretTextNode, 1);\n        if (dom.isEmpty(formatNode)) {\n          dom.remove(formatNode);\n        }\n      }\n    };\n    const disableCaretContainer = (editor, keyCode, moveCaret) => {\n      const selection = editor.selection,\n        body = editor.getBody();\n      removeCaretContainer(editor, null, moveCaret);\n      if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n      if (keyCode === 37 || keyCode === 39) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n    };\n    const endsWithNbsp = element => isText$a(element) && endsWith(element.data, nbsp);\n    const setup$v = editor => {\n      editor.on('mouseup keydown', e => {\n        disableCaretContainer(editor, e.keyCode, endsWithNbsp(editor.selection.getRng().endContainer));\n      });\n    };\n    const createCaretFormat = formatNodes => {\n      const caretContainer = createCaretContainer(false);\n      const innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom);\n      return {\n        caretContainer,\n        caretPosition: CaretPosition(innerMost, 0)\n      };\n    };\n    const replaceWithCaretFormat = (targetNode, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      before$3(SugarElement.fromDom(targetNode), caretContainer);\n      remove$5(SugarElement.fromDom(targetNode));\n      return caretPosition;\n    };\n    const createCaretFormatAtStart$1 = (rng, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      rng.insertNode(caretContainer.dom);\n      return caretPosition;\n    };\n    const isFormatElement = (editor, element) => {\n      if (isCaretNode(element.dom)) {\n        return false;\n      }\n      const inlineElements = editor.schema.getTextInlineElements();\n      return has$2(inlineElements, name(element)) && !isCaretNode(element.dom) && !isBogus$2(element.dom);\n    };\n\n    const postProcessHooks = {};\n    const isPre = matchNodeNames(['pre']);\n    const addPostProcessHook = (name, hook) => {\n      const hooks = postProcessHooks[name];\n      if (!hooks) {\n        postProcessHooks[name] = [];\n      }\n      postProcessHooks[name].push(hook);\n    };\n    const postProcess$1 = (name, editor) => {\n      if (has$2(postProcessHooks, name)) {\n        each$e(postProcessHooks[name], hook => {\n          hook(editor);\n        });\n      }\n    };\n    addPostProcessHook('pre', editor => {\n      const rng = editor.selection.getRng();\n      const hasPreSibling = blocks => pre => {\n        const prev = pre.previousSibling;\n        return isPre(prev) && contains$2(blocks, prev);\n      };\n      const joinPre = (pre1, pre2) => {\n        const sPre2 = SugarElement.fromDom(pre2);\n        const doc = documentOrOwner(sPre2).dom;\n        remove$5(sPre2);\n        append(SugarElement.fromDom(pre1), [SugarElement.fromTag('br', doc), SugarElement.fromTag('br', doc), ...children$1(sPre2)]);\n      };\n      if (!rng.collapsed) {\n        const blocks = editor.selection.getSelectedBlocks();\n        const preBlocks = filter$5(filter$5(blocks, isPre), hasPreSibling(blocks));\n        each$e(preBlocks, pre => {\n          joinPre(pre.previousSibling, pre);\n        });\n      }\n    });\n\n    const listItemStyles = ['fontWeight', 'fontStyle', 'color', 'fontSize', 'fontFamily'];\n    const hasListStyles = fmt => isObject(fmt.styles) && exists(keys(fmt.styles), name => contains$2(listItemStyles, name));\n    const findExpandedListItemFormat = formats => find$2(formats, fmt => isInlineFormat(fmt) && fmt.inline === 'span' && hasListStyles(fmt));\n    const getExpandedListItemFormat = (formatter, format) => {\n      const formatList = formatter.get(format);\n      return isArray$1(formatList) ? findExpandedListItemFormat(formatList) : Optional.none();\n    };\n    const isRngStartAtStartOfElement = (rng, elm) => prevPosition(elm, CaretPosition.fromRangeStart(rng)).isNone();\n    const isRngEndAtEndOfElement = (rng, elm) => {\n      return nextPosition(elm, CaretPosition.fromRangeEnd(rng)).exists(pos => !isBr$6(pos.getNode()) || nextPosition(elm, pos).isSome()) === false;\n    };\n    const isEditableListItem = dom => elm => isListItem$2(elm) && dom.isEditable(elm);\n    const getFullySelectedBlocks = selection => {\n      const blocks = selection.getSelectedBlocks();\n      const rng = selection.getRng();\n      if (selection.isCollapsed()) {\n        return [];\n      }\n      if (blocks.length === 1) {\n        return isRngStartAtStartOfElement(rng, blocks[0]) && isRngEndAtEndOfElement(rng, blocks[0]) ? blocks : [];\n      } else {\n        const first = head(blocks).filter(elm => isRngStartAtStartOfElement(rng, elm)).toArray();\n        const last = last$3(blocks).filter(elm => isRngEndAtEndOfElement(rng, elm)).toArray();\n        const middle = blocks.slice(1, -1);\n        return first.concat(middle).concat(last);\n      }\n    };\n    const getFullySelectedListItems = selection => filter$5(getFullySelectedBlocks(selection), isEditableListItem(selection.dom));\n    const getPartiallySelectedListItems = selection => filter$5(selection.getSelectedBlocks(), isEditableListItem(selection.dom));\n\n    const each$8 = Tools.each;\n    const isElementNode = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const findElementSibling = (node, siblingName) => {\n      for (let sibling = node; sibling; sibling = sibling[siblingName]) {\n        if (isText$a(sibling) && isNotEmpty(sibling.data)) {\n          return node;\n        }\n        if (isElement$6(sibling) && !isBookmarkNode$1(sibling)) {\n          return sibling;\n        }\n      }\n      return node;\n    };\n    const mergeSiblingsNodes = (editor, prev, next) => {\n      const elementUtils = ElementUtils(editor);\n      const isPrevEditable = isHTMLElement(prev) && editor.dom.isEditable(prev);\n      const isNextEditable = isHTMLElement(next) && editor.dom.isEditable(next);\n      if (isPrevEditable && isNextEditable) {\n        const prevSibling = findElementSibling(prev, 'previousSibling');\n        const nextSibling = findElementSibling(next, 'nextSibling');\n        if (elementUtils.compare(prevSibling, nextSibling)) {\n          for (let sibling = prevSibling.nextSibling; sibling && sibling !== nextSibling;) {\n            const tmpSibling = sibling;\n            sibling = sibling.nextSibling;\n            prevSibling.appendChild(tmpSibling);\n          }\n          editor.dom.remove(nextSibling);\n          Tools.each(Tools.grep(nextSibling.childNodes), node => {\n            prevSibling.appendChild(node);\n          });\n          return prevSibling;\n        }\n      }\n      return next;\n    };\n    const mergeSiblings = (editor, format, vars, node) => {\n      var _a;\n      if (node && format.merge_siblings !== false) {\n        const newNode = (_a = mergeSiblingsNodes(editor, getNonWhiteSpaceSibling(node), node)) !== null && _a !== void 0 ? _a : node;\n        mergeSiblingsNodes(editor, newNode, getNonWhiteSpaceSibling(newNode, true));\n      }\n    };\n    const clearChildStyles = (dom, format, node) => {\n      if (format.clear_child_styles) {\n        const selector = format.links ? '*:not(a)' : '*';\n        each$8(dom.select(selector, node), childNode => {\n          if (isElementNode(childNode) && dom.isEditable(childNode)) {\n            each$8(format.styles, (_value, name) => {\n              dom.setStyle(childNode, name, '');\n            });\n          }\n        });\n      }\n    };\n    const processChildElements = (node, filter, process) => {\n      each$8(node.childNodes, node => {\n        if (isElementNode(node)) {\n          if (filter(node)) {\n            process(node);\n          }\n          if (node.hasChildNodes()) {\n            processChildElements(node, filter, process);\n          }\n        }\n      });\n    };\n    const unwrapEmptySpan = (dom, node) => {\n      if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) {\n        dom.remove(node, true);\n      }\n    };\n    const hasStyle = (dom, name) => node => !!(node && getStyle(dom, node, name));\n    const applyStyle = (dom, name, value) => node => {\n      dom.setStyle(node, name, value);\n      if (node.getAttribute('style') === '') {\n        node.removeAttribute('style');\n      }\n      unwrapEmptySpan(dom, node);\n    };\n\n    const removeResult = Adt.generate([{\n      keep: []\n    }, {\n      rename: ['name']\n    }, {\n      removed: []\n    }]);\n    const MCE_ATTR_RE = /^(src|href|style)$/;\n    const each$7 = Tools.each;\n    const isEq$2 = isEq$5;\n    const isTableCellOrRow = node => /^(TR|TH|TD)$/.test(node.nodeName);\n    const isChildOfInlineParent = (dom, node, parent) => dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent);\n    const getContainer = (ed, rng, start) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      let offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement$6(container)) {\n        const lastIdx = container.childNodes.length - 1;\n        if (!start && offset) {\n          offset--;\n        }\n        container = container.childNodes[offset > lastIdx ? lastIdx : offset];\n      }\n      if (isText$a(container) && start && offset >= container.data.length) {\n        container = new DomTreeWalker(container, ed.getBody()).next() || container;\n      }\n      if (isText$a(container) && !start && offset === 0) {\n        container = new DomTreeWalker(container, ed.getBody()).prev() || container;\n      }\n      return container;\n    };\n    const normalizeTableSelection = (node, start) => {\n      const prop = start ? 'firstChild' : 'lastChild';\n      const childNode = node[prop];\n      if (isTableCellOrRow(node) && childNode) {\n        if (node.nodeName === 'TR') {\n          return childNode[prop] || childNode;\n        } else {\n          return childNode;\n        }\n      }\n      return node;\n    };\n    const wrap$1 = (dom, node, name, attrs) => {\n      var _a;\n      const wrapper = dom.create(name, attrs);\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(wrapper, node);\n      wrapper.appendChild(node);\n      return wrapper;\n    };\n    const wrapWithSiblings = (dom, node, next, name, attrs) => {\n      const start = SugarElement.fromDom(node);\n      const wrapper = SugarElement.fromDom(dom.create(name, attrs));\n      const siblings = next ? nextSiblings(start) : prevSiblings(start);\n      append(wrapper, siblings);\n      if (next) {\n        before$3(start, wrapper);\n        prepend(wrapper, start);\n      } else {\n        after$4(start, wrapper);\n        append$1(wrapper, start);\n      }\n      return wrapper.dom;\n    };\n    const isColorFormatAndAnchor = (node, format) => format.links && node.nodeName === 'A';\n    const removeNode = (ed, node, format) => {\n      const parentNode = node.parentNode;\n      let rootBlockElm;\n      const dom = ed.dom;\n      const forcedRootBlock = getForcedRootBlock(ed);\n      if (isBlockFormat(format)) {\n        if (parentNode === dom.getRoot()) {\n          if (!format.list_block || !isEq$2(node, format.list_block)) {\n            each$e(from(node.childNodes), node => {\n              if (isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) {\n                if (!rootBlockElm) {\n                  rootBlockElm = wrap$1(dom, node, forcedRootBlock);\n                  dom.setAttribs(rootBlockElm, getForcedRootBlockAttrs(ed));\n                } else {\n                  rootBlockElm.appendChild(node);\n                }\n              } else {\n                rootBlockElm = null;\n              }\n            });\n          }\n        }\n      }\n      if (isMixedFormat(format) && !isEq$2(format.inline, node)) {\n        return;\n      }\n      dom.remove(node, true);\n    };\n    const processFormatAttrOrStyle = (name, value, vars) => {\n      if (isNumber(name)) {\n        return {\n          name: value,\n          value: null\n        };\n      } else {\n        return {\n          name,\n          value: replaceVars(value, vars)\n        };\n      }\n    };\n    const removeEmptyStyleAttributeIfNeeded = (dom, elm) => {\n      if (dom.getAttrib(elm, 'style') === '') {\n        elm.removeAttribute('style');\n        elm.removeAttribute('data-mce-style');\n      }\n    };\n    const removeStyles = (dom, elm, format, vars, compareNode) => {\n      let stylesModified = false;\n      each$7(format.styles, (value, name) => {\n        const {\n          name: styleName,\n          value: styleValue\n        } = processFormatAttrOrStyle(name, value, vars);\n        const normalizedStyleValue = normalizeStyleValue(styleValue, styleName);\n        if (format.remove_similar || isNull(styleValue) || !isElement$6(compareNode) || isEq$2(getStyle(dom, compareNode, styleName), normalizedStyleValue)) {\n          dom.setStyle(elm, styleName, '');\n        }\n        stylesModified = true;\n      });\n      if (stylesModified) {\n        removeEmptyStyleAttributeIfNeeded(dom, elm);\n      }\n    };\n    const removeListStyleFormats = (editor, name, vars) => {\n      if (name === 'removeformat') {\n        each$e(getPartiallySelectedListItems(editor.selection), li => {\n          each$e(listItemStyles, name => editor.dom.setStyle(li, name, ''));\n          removeEmptyStyleAttributeIfNeeded(editor.dom, li);\n        });\n      } else {\n        getExpandedListItemFormat(editor.formatter, name).each(liFmt => {\n          each$e(getPartiallySelectedListItems(editor.selection), li => removeStyles(editor.dom, li, liFmt, vars, null));\n        });\n      }\n    };\n    const removeNodeFormatInternal = (ed, format, vars, node, compareNode) => {\n      const dom = ed.dom;\n      const elementUtils = ElementUtils(ed);\n      const schema = ed.schema;\n      if (isInlineFormat(format) && isTransparentElementName(schema, format.inline) && isTransparentBlock(schema, node) && node.parentElement === ed.getBody()) {\n        removeNode(ed, node, format);\n        return removeResult.removed();\n      }\n      if (!format.ceFalseOverride && node && dom.getContentEditableParent(node) === 'false') {\n        return removeResult.keep();\n      }\n      if (node && !matchName(dom, node, format) && !isColorFormatAndAnchor(node, format)) {\n        return removeResult.keep();\n      }\n      const elm = node;\n      const preserveAttributes = format.preserve_attributes;\n      if (isInlineFormat(format) && format.remove === 'all' && isArray$1(preserveAttributes)) {\n        const attrsToPreserve = filter$5(dom.getAttribs(elm), attr => contains$2(preserveAttributes, attr.name.toLowerCase()));\n        dom.removeAllAttribs(elm);\n        each$e(attrsToPreserve, attr => dom.setAttrib(elm, attr.name, attr.value));\n        if (attrsToPreserve.length > 0) {\n          return removeResult.rename('span');\n        }\n      }\n      if (format.remove !== 'all') {\n        removeStyles(dom, elm, format, vars, compareNode);\n        each$7(format.attributes, (value, name) => {\n          const {\n            name: attrName,\n            value: attrValue\n          } = processFormatAttrOrStyle(name, value, vars);\n          if (format.remove_similar || isNull(attrValue) || !isElement$6(compareNode) || isEq$2(dom.getAttrib(compareNode, attrName), attrValue)) {\n            if (attrName === 'class') {\n              const currentValue = dom.getAttrib(elm, attrName);\n              if (currentValue) {\n                let valueOut = '';\n                each$e(currentValue.split(/\\s+/), cls => {\n                  if (/mce\\-\\w+/.test(cls)) {\n                    valueOut += (valueOut ? ' ' : '') + cls;\n                  }\n                });\n                if (valueOut) {\n                  dom.setAttrib(elm, attrName, valueOut);\n                  return;\n                }\n              }\n            }\n            if (MCE_ATTR_RE.test(attrName)) {\n              elm.removeAttribute('data-mce-' + attrName);\n            }\n            if (attrName === 'style' && matchNodeNames(['li'])(elm) && dom.getStyle(elm, 'list-style-type') === 'none') {\n              elm.removeAttribute(attrName);\n              dom.setStyle(elm, 'list-style-type', 'none');\n              return;\n            }\n            if (attrName === 'class') {\n              elm.removeAttribute('className');\n            }\n            elm.removeAttribute(attrName);\n          }\n        });\n        each$7(format.classes, value => {\n          value = replaceVars(value, vars);\n          if (!isElement$6(compareNode) || dom.hasClass(compareNode, value)) {\n            dom.removeClass(elm, value);\n          }\n        });\n        const attrs = dom.getAttribs(elm);\n        for (let i = 0; i < attrs.length; i++) {\n          const attrName = attrs[i].nodeName;\n          if (!elementUtils.isAttributeInternal(attrName)) {\n            return removeResult.keep();\n          }\n        }\n      }\n      if (format.remove !== 'none') {\n        removeNode(ed, elm, format);\n        return removeResult.removed();\n      }\n      return removeResult.keep();\n    };\n    const findFormatRoot = (editor, container, name, vars, similar) => {\n      let formatRoot;\n      if (container.parentNode) {\n        each$e(getParents$2(editor.dom, container.parentNode).reverse(), parent => {\n          if (!formatRoot && isElement$6(parent) && parent.id !== '_start' && parent.id !== '_end') {\n            const format = matchNode(editor, parent, name, vars, similar);\n            if (format && format.split !== false) {\n              formatRoot = parent;\n            }\n          }\n        });\n      }\n      return formatRoot;\n    };\n    const removeNodeFormatFromClone = (editor, format, vars, clone) => removeNodeFormatInternal(editor, format, vars, clone, clone).fold(constant(clone), newName => {\n      const fragment = editor.dom.createFragment();\n      fragment.appendChild(clone);\n      return editor.dom.rename(clone, newName);\n    }, constant(null));\n    const wrapAndSplit = (editor, formatList, formatRoot, container, target, split, format, vars) => {\n      var _a, _b;\n      let lastClone;\n      let firstClone;\n      const dom = editor.dom;\n      if (formatRoot) {\n        const formatRootParent = formatRoot.parentNode;\n        for (let parent = container.parentNode; parent && parent !== formatRootParent; parent = parent.parentNode) {\n          let clone = dom.clone(parent, false);\n          for (let i = 0; i < formatList.length; i++) {\n            clone = removeNodeFormatFromClone(editor, formatList[i], vars, clone);\n            if (clone === null) {\n              break;\n            }\n          }\n          if (clone) {\n            if (lastClone) {\n              clone.appendChild(lastClone);\n            }\n            if (!firstClone) {\n              firstClone = clone;\n            }\n            lastClone = clone;\n          }\n        }\n        if (split && (!format.mixed || !dom.isBlock(formatRoot))) {\n          container = (_a = dom.split(formatRoot, container)) !== null && _a !== void 0 ? _a : container;\n        }\n        if (lastClone && firstClone) {\n          (_b = target.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(lastClone, target);\n          firstClone.appendChild(target);\n          if (isInlineFormat(format)) {\n            mergeSiblings(editor, format, vars, lastClone);\n          }\n        }\n      }\n      return container;\n    };\n    const removeFormatInternal = (ed, name, vars, node, similar) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const splitToFormatRoot = container => {\n        const formatRoot = findFormatRoot(ed, container, name, vars, similar);\n        return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars);\n      };\n      const isRemoveBookmarkNode = node => isBookmarkNode$1(node) && isElement$6(node) && (node.id === '_start' || node.id === '_end');\n      const removeFormatOnNode = node => exists(formatList, fmt => removeNodeFormat(ed, fmt, vars, node, node));\n      const process = node => {\n        const children = from(node.childNodes);\n        const removed = removeFormatOnNode(node);\n        const currentNodeMatches = removed || exists(formatList, f => matchName(dom, node, f));\n        const parentNode = node.parentNode;\n        if (!currentNodeMatches && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n          removeFormatOnNode(parentNode);\n        }\n        if (format.deep) {\n          if (children.length) {\n            for (let i = 0; i < children.length; i++) {\n              process(children[i]);\n            }\n          }\n        }\n        const textDecorations = ['underline', 'line-through', 'overline'];\n        each$e(textDecorations, decoration => {\n          if (isElement$6(node) && ed.dom.getStyle(node, 'text-decoration') === decoration && node.parentNode && getTextDecoration(dom, node.parentNode) === decoration) {\n            removeNodeFormat(ed, {\n              deep: false,\n              exact: true,\n              inline: 'span',\n              styles: {\n                textDecoration: decoration\n              }\n            }, undefined, node);\n          }\n        });\n      };\n      const unwrap = start => {\n        const node = dom.get(start ? '_start' : '_end');\n        if (node) {\n          let out = node[start ? 'firstChild' : 'lastChild'];\n          if (isRemoveBookmarkNode(out)) {\n            out = out[start ? 'firstChild' : 'lastChild'];\n          }\n          if (isText$a(out) && out.data.length === 0) {\n            out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;\n          }\n          dom.remove(node, true);\n          return out;\n        } else {\n          return null;\n        }\n      };\n      const removeRngStyle = rng => {\n        let startContainer;\n        let endContainer;\n        let expandedRng = expandRng(dom, rng, formatList, rng.collapsed);\n        if (format.split) {\n          expandedRng = split(expandedRng);\n          startContainer = getContainer(ed, expandedRng, true);\n          endContainer = getContainer(ed, expandedRng);\n          if (startContainer !== endContainer) {\n            startContainer = normalizeTableSelection(startContainer, true);\n            endContainer = normalizeTableSelection(endContainer, false);\n            if (isChildOfInlineParent(dom, startContainer, endContainer)) {\n              const marker = Optional.from(startContainer.firstChild).getOr(startContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', {\n                'id': '_start',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(true);\n              return;\n            }\n            if (isChildOfInlineParent(dom, endContainer, startContainer)) {\n              const marker = Optional.from(endContainer.lastChild).getOr(endContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', {\n                'id': '_end',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(false);\n              return;\n            }\n            startContainer = wrap$1(dom, startContainer, 'span', {\n              'id': '_start',\n              'data-mce-type': 'bookmark'\n            });\n            endContainer = wrap$1(dom, endContainer, 'span', {\n              'id': '_end',\n              'data-mce-type': 'bookmark'\n            });\n            const newRng = dom.createRng();\n            newRng.setStartAfter(startContainer);\n            newRng.setEndBefore(endContainer);\n            walk$3(dom, newRng, nodes => {\n              each$e(nodes, n => {\n                if (!isBookmarkNode$1(n) && !isBookmarkNode$1(n.parentNode)) {\n                  splitToFormatRoot(n);\n                }\n              });\n            });\n            splitToFormatRoot(startContainer);\n            splitToFormatRoot(endContainer);\n            startContainer = unwrap(true);\n            endContainer = unwrap();\n          } else {\n            startContainer = endContainer = splitToFormatRoot(startContainer);\n          }\n          expandedRng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;\n          expandedRng.startOffset = dom.nodeIndex(startContainer);\n          expandedRng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;\n          expandedRng.endOffset = dom.nodeIndex(endContainer) + 1;\n        }\n        walk$3(dom, expandedRng, nodes => {\n          each$e(nodes, process);\n        });\n      };\n      if (node) {\n        if (isNode(node)) {\n          const rng = dom.createRng();\n          rng.setStartBefore(node);\n          rng.setEndAfter(node);\n          removeRngStyle(rng);\n        } else {\n          removeRngStyle(node);\n        }\n        fireFormatRemove(ed, name, node, vars);\n        return;\n      }\n      if (!selection.isCollapsed() || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n        preserveSelection(ed, () => runOnRanges(ed, removeRngStyle), startNode => isInlineFormat(format) && match$2(ed, name, vars, startNode));\n        ed.nodeChanged();\n      } else {\n        removeCaretFormat(ed, name, vars, similar);\n      }\n      removeListStyleFormats(ed, name, vars);\n      fireFormatRemove(ed, name, node, vars);\n    };\n    const removeFormat$1 = (ed, name, vars, node, similar) => {\n      if (node || ed.selection.isEditable()) {\n        removeFormatInternal(ed, name, vars, node, similar);\n      }\n    };\n    const removeNodeFormat = (editor, format, vars, node, compareNode) => {\n      return removeNodeFormatInternal(editor, format, vars, node, compareNode).fold(never, newName => {\n        editor.dom.rename(node, newName);\n        return true;\n      }, always);\n    };\n\n    const each$6 = Tools.each;\n    const mergeTextDecorationsAndColor = (dom, format, vars, node) => {\n      const processTextDecorationsAndColor = n => {\n        if (isHTMLElement(n) && isElement$6(n.parentNode) && dom.isEditable(n)) {\n          const parentTextDecoration = getTextDecoration(dom, n.parentNode);\n          if (dom.getStyle(n, 'color') && parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', parentTextDecoration);\n          } else if (dom.getStyle(n, 'text-decoration') === parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', null);\n          }\n        }\n      };\n      if (format.styles && (format.styles.color || format.styles.textDecoration)) {\n        Tools.walk(node, processTextDecorationsAndColor, 'childNodes');\n        processTextDecorationsAndColor(node);\n      }\n    };\n    const mergeBackgroundColorAndFontSize = (dom, format, vars, node) => {\n      if (format.styles && format.styles.backgroundColor) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'backgroundColor', replaceVars(format.styles.backgroundColor, vars)));\n      }\n    };\n    const mergeSubSup = (dom, format, vars, node) => {\n      if (isInlineFormat(format) && (format.inline === 'sub' || format.inline === 'sup')) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'fontSize', ''));\n        const inverseTagDescendants = filter$5(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), dom.isEditable);\n        dom.remove(inverseTagDescendants, true);\n      }\n    };\n    const mergeWithChildren = (editor, formatList, vars, node) => {\n      each$6(formatList, format => {\n        if (isInlineFormat(format)) {\n          each$6(editor.dom.select(format.inline, node), child => {\n            if (isElementNode(child)) {\n              removeNodeFormat(editor, format, vars, child, format.exact ? child : null);\n            }\n          });\n        }\n        clearChildStyles(editor.dom, format, node);\n      });\n    };\n    const mergeWithParents = (editor, format, name, vars, node) => {\n      const parentNode = node.parentNode;\n      if (matchNode(editor, parentNode, name, vars)) {\n        if (removeNodeFormat(editor, format, vars, node)) {\n          return;\n        }\n      }\n      if (format.merge_with_parents && parentNode) {\n        editor.dom.getParent(parentNode, parent => {\n          if (matchNode(editor, parent, name, vars)) {\n            removeNodeFormat(editor, format, vars, node);\n            return true;\n          } else {\n            return false;\n          }\n        });\n      }\n    };\n\n    const each$5 = Tools.each;\n    const canFormatBR = (editor, format, node, parentName) => {\n      if (canFormatEmptyLines(editor) && isInlineFormat(format) && node.parentNode) {\n        const validBRParentElements = getTextRootBlockElements(editor.schema);\n        const hasCaretNodeSibling = sibling(SugarElement.fromDom(node), sibling => isCaretNode(sibling.dom));\n        return hasNonNullableKey(validBRParentElements, parentName) && isEmpty$2(SugarElement.fromDom(node.parentNode), false) && !hasCaretNodeSibling;\n      } else {\n        return false;\n      }\n    };\n    const applyStyles = (dom, elm, format, vars) => {\n      each$5(format.styles, (value, name) => {\n        dom.setStyle(elm, name, replaceVars(value, vars));\n      });\n      if (format.styles) {\n        const styleVal = dom.getAttrib(elm, 'style');\n        if (styleVal) {\n          dom.setAttrib(elm, 'data-mce-style', styleVal);\n        }\n      }\n    };\n    const applyFormatAction = (ed, name, vars, node) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const isCollapsed = !node && ed.selection.isCollapsed();\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const setElementFormat = (elm, fmt = format) => {\n        if (isFunction(fmt.onformat)) {\n          fmt.onformat(elm, fmt, vars, node);\n        }\n        applyStyles(dom, elm, fmt, vars);\n        each$5(fmt.attributes, (value, name) => {\n          dom.setAttrib(elm, name, replaceVars(value, vars));\n        });\n        each$5(fmt.classes, value => {\n          const newValue = replaceVars(value, vars);\n          if (!dom.hasClass(elm, newValue)) {\n            dom.addClass(elm, newValue);\n          }\n        });\n      };\n      const applyNodeStyle = (formatList, node) => {\n        let found = false;\n        each$5(formatList, format => {\n          if (!isSelectorFormat(format)) {\n            return false;\n          }\n          if (dom.getContentEditable(node) === 'false' && !format.ceFalseOverride) {\n            return true;\n          }\n          if (isNonNullable(format.collapsed) && format.collapsed !== isCollapsed) {\n            return true;\n          }\n          if (dom.is(node, format.selector) && !isCaretNode(node)) {\n            setElementFormat(node, format);\n            found = true;\n            return false;\n          }\n          return true;\n        });\n        return found;\n      };\n      const createWrapElement = wrapName => {\n        if (isString(wrapName)) {\n          const wrapElm = dom.create(wrapName);\n          setElementFormat(wrapElm);\n          return wrapElm;\n        } else {\n          return null;\n        }\n      };\n      const applyRngStyle = (dom, rng, nodeSpecific) => {\n        const newWrappers = [];\n        let contentEditable = true;\n        const wrapName = format.inline || format.block;\n        const wrapElm = createWrapElement(wrapName);\n        const isMatchingWrappingBlock = node => isWrappingBlockFormat(format) && matchNode(ed, node, name, vars);\n        const canRenameBlock = (node, parentName, isEditableDescendant) => {\n          const isValidBlockFormatForNode = isNonWrappingBlockFormat(format) && isTextBlock$1(ed.schema, node) && isValid(ed, parentName, wrapName);\n          return isEditableDescendant && isValidBlockFormatForNode;\n        };\n        const canWrapNode = (node, parentName, isEditableDescendant, isWrappableNoneditableElm) => {\n          const nodeName = node.nodeName.toLowerCase();\n          const isValidWrapNode = isValid(ed, wrapName, nodeName) && isValid(ed, parentName, wrapName);\n          const isZwsp = !nodeSpecific && isText$a(node) && isZwsp$1(node.data);\n          const isCaret = isCaretNode(node);\n          const isCorrectFormatForNode = !isInlineFormat(format) || !dom.isBlock(node);\n          return (isEditableDescendant || isWrappableNoneditableElm) && isValidWrapNode && !isZwsp && !isCaret && isCorrectFormatForNode;\n        };\n        walk$3(dom, rng, nodes => {\n          let currentWrapElm;\n          const process = node => {\n            let hasContentEditableState = false;\n            let lastContentEditable = contentEditable;\n            let isWrappableNoneditableElm = false;\n            const parentNode = node.parentNode;\n            const parentName = parentNode.nodeName.toLowerCase();\n            const contentEditableValue = dom.getContentEditable(node);\n            if (isNonNullable(contentEditableValue)) {\n              lastContentEditable = contentEditable;\n              contentEditable = contentEditableValue === 'true';\n              hasContentEditableState = true;\n              isWrappableNoneditableElm = isWrappableNoneditable(ed, node);\n            }\n            const isEditableDescendant = contentEditable && !hasContentEditableState;\n            if (isBr$6(node) && !canFormatBR(ed, format, node, parentName)) {\n              currentWrapElm = null;\n              if (isBlockFormat(format)) {\n                dom.remove(node);\n              }\n              return;\n            }\n            if (isMatchingWrappingBlock(node)) {\n              currentWrapElm = null;\n              return;\n            }\n            if (canRenameBlock(node, parentName, isEditableDescendant)) {\n              const elm = dom.rename(node, wrapName);\n              setElementFormat(elm);\n              newWrappers.push(elm);\n              currentWrapElm = null;\n              return;\n            }\n            if (isSelectorFormat(format)) {\n              let found = applyNodeStyle(formatList, node);\n              if (!found && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n                found = applyNodeStyle(formatList, parentNode);\n              }\n              if (!isInlineFormat(format) || found) {\n                currentWrapElm = null;\n                return;\n              }\n            }\n            if (isNonNullable(wrapElm) && canWrapNode(node, parentName, isEditableDescendant, isWrappableNoneditableElm)) {\n              if (!currentWrapElm) {\n                currentWrapElm = dom.clone(wrapElm, false);\n                parentNode.insertBefore(currentWrapElm, node);\n                newWrappers.push(currentWrapElm);\n              }\n              if (isWrappableNoneditableElm && hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm.appendChild(node);\n            } else {\n              currentWrapElm = null;\n              each$e(from(node.childNodes), process);\n              if (hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm = null;\n            }\n          };\n          each$e(nodes, process);\n        });\n        if (format.links === true) {\n          each$e(newWrappers, node => {\n            const process = node => {\n              if (node.nodeName === 'A') {\n                setElementFormat(node, format);\n              }\n              each$e(from(node.childNodes), process);\n            };\n            process(node);\n          });\n        }\n        each$e(newWrappers, node => {\n          const getChildCount = node => {\n            let count = 0;\n            each$e(node.childNodes, node => {\n              if (!isEmptyTextNode$1(node) && !isBookmarkNode$1(node)) {\n                count++;\n              }\n            });\n            return count;\n          };\n          const mergeStyles = node => {\n            const childElement = find$2(node.childNodes, isElementNode$1).filter(child => dom.getContentEditable(child) !== 'false' && matchName(dom, child, format));\n            return childElement.map(child => {\n              const clone = dom.clone(child, false);\n              setElementFormat(clone);\n              dom.replace(clone, node, true);\n              dom.remove(child, true);\n              return clone;\n            }).getOr(node);\n          };\n          const childCount = getChildCount(node);\n          if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) {\n            dom.remove(node, true);\n            return;\n          }\n          if (isInlineFormat(format) || isBlockFormat(format) && format.wrapper) {\n            if (!format.exact && childCount === 1) {\n              node = mergeStyles(node);\n            }\n            mergeWithChildren(ed, formatList, vars, node);\n            mergeWithParents(ed, format, name, vars, node);\n            mergeBackgroundColorAndFontSize(dom, format, vars, node);\n            mergeTextDecorationsAndColor(dom, format, vars, node);\n            mergeSubSup(dom, format, vars, node);\n            mergeSiblings(ed, format, vars, node);\n          }\n        });\n      };\n      const targetNode = isNode(node) ? node : selection.getNode();\n      if (dom.getContentEditable(targetNode) === 'false' && !isWrappableNoneditable(ed, targetNode)) {\n        node = targetNode;\n        applyNodeStyle(formatList, node);\n        fireFormatApply(ed, name, node, vars);\n        return;\n      }\n      if (format) {\n        if (node) {\n          if (isNode(node)) {\n            if (!applyNodeStyle(formatList, node)) {\n              const rng = dom.createRng();\n              rng.setStartBefore(node);\n              rng.setEndAfter(node);\n              applyRngStyle(dom, expandRng(dom, rng, formatList), true);\n            }\n          } else {\n            applyRngStyle(dom, node, true);\n          }\n        } else {\n          if (!isCollapsed || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n            selection.setRng(normalize(selection.getRng()));\n            preserveSelection(ed, () => {\n              runOnRanges(ed, (selectionRng, fake) => {\n                const expandedRng = fake ? selectionRng : expandRng(dom, selectionRng, formatList);\n                applyRngStyle(dom, expandedRng, false);\n              });\n            }, always);\n            ed.nodeChanged();\n          } else {\n            applyCaretFormat(ed, name, vars);\n          }\n          getExpandedListItemFormat(ed.formatter, name).each(liFmt => {\n            each$e(getFullySelectedListItems(ed.selection), li => applyStyles(dom, li, liFmt, vars));\n          });\n        }\n        postProcess$1(name, ed);\n      }\n      fireFormatApply(ed, name, node, vars);\n    };\n    const applyFormat$1 = (editor, name, vars, node) => {\n      if (node || editor.selection.isEditable()) {\n        applyFormatAction(editor, name, vars, node);\n      }\n    };\n\n    const hasVars = value => has$2(value, 'vars');\n    const setup$u = (registeredFormatListeners, editor) => {\n      registeredFormatListeners.set({});\n      editor.on('NodeChange', e => {\n        updateAndFireChangeCallbacks(editor, e.element, registeredFormatListeners.get());\n      });\n      editor.on('FormatApply FormatRemove', e => {\n        const element = Optional.from(e.node).map(nodeOrRange => isNode(nodeOrRange) ? nodeOrRange : nodeOrRange.startContainer).bind(node => isElement$6(node) ? Optional.some(node) : Optional.from(node.parentElement)).getOrThunk(() => fallbackElement(editor));\n        updateAndFireChangeCallbacks(editor, element, registeredFormatListeners.get());\n      });\n    };\n    const fallbackElement = editor => editor.selection.getStart();\n    const matchingNode = (editor, parents, format, similar, vars) => {\n      const isMatchingNode = node => {\n        const matchingFormat = editor.formatter.matchNode(node, format, vars !== null && vars !== void 0 ? vars : {}, similar);\n        return !isUndefined(matchingFormat);\n      };\n      const isUnableToMatch = node => {\n        if (matchesUnInheritedFormatSelector(editor, node, format)) {\n          return true;\n        } else {\n          if (!similar) {\n            return isNonNullable(editor.formatter.matchNode(node, format, vars, true));\n          } else {\n            return false;\n          }\n        }\n      };\n      return findUntil$1(parents, isMatchingNode, isUnableToMatch);\n    };\n    const getParents = (editor, elm) => {\n      const element = elm !== null && elm !== void 0 ? elm : fallbackElement(editor);\n      return filter$5(getParents$2(editor.dom, element), node => isElement$6(node) && !isBogus$2(node));\n    };\n    const updateAndFireChangeCallbacks = (editor, elm, registeredCallbacks) => {\n      const parents = getParents(editor, elm);\n      each$d(registeredCallbacks, (data, format) => {\n        const runIfChanged = spec => {\n          const match = matchingNode(editor, parents, format, spec.similar, hasVars(spec) ? spec.vars : undefined);\n          const isSet = match.isSome();\n          if (spec.state.get() !== isSet) {\n            spec.state.set(isSet);\n            const node = match.getOr(elm);\n            if (hasVars(spec)) {\n              spec.callback(isSet, {\n                node,\n                format,\n                parents\n              });\n            } else {\n              each$e(spec.callbacks, callback => callback(isSet, {\n                node,\n                format,\n                parents\n              }));\n            }\n          }\n        };\n        each$e([data.withSimilar, data.withoutSimilar], runIfChanged);\n        each$e(data.withVars, runIfChanged);\n      });\n    };\n    const addListeners = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => {\n        const group = get$a(formatChangeItems, format).getOrThunk(() => {\n          const base = {\n            withSimilar: {\n              state: Cell(false),\n              similar: true,\n              callbacks: []\n            },\n            withoutSimilar: {\n              state: Cell(false),\n              similar: false,\n              callbacks: []\n            },\n            withVars: []\n          };\n          formatChangeItems[format] = base;\n          return base;\n        });\n        const getCurrent = () => {\n          const parents = getParents(editor);\n          return matchingNode(editor, parents, format, similar, vars).isSome();\n        };\n        if (isUndefined(vars)) {\n          const toAppendTo = similar ? group.withSimilar : group.withoutSimilar;\n          toAppendTo.callbacks.push(callback);\n          if (toAppendTo.callbacks.length === 1) {\n            toAppendTo.state.set(getCurrent());\n          }\n        } else {\n          group.withVars.push({\n            state: Cell(getCurrent()),\n            similar,\n            vars,\n            callback\n          });\n        }\n      });\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const removeListeners = (registeredFormatListeners, formats, callback) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => get$a(formatChangeItems, format).each(group => {\n        formatChangeItems[format] = {\n          withSimilar: {\n            ...group.withSimilar,\n            callbacks: filter$5(group.withSimilar.callbacks, cb => cb !== callback)\n          },\n          withoutSimilar: {\n            ...group.withoutSimilar,\n            callbacks: filter$5(group.withoutSimilar.callbacks, cb => cb !== callback)\n          },\n          withVars: filter$5(group.withVars, item => item.callback !== callback)\n        };\n      }));\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const formatChangedInternal = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      addListeners(editor, registeredFormatListeners, formats, callback, similar, vars);\n      return {\n        unbind: () => removeListeners(registeredFormatListeners, formats, callback)\n      };\n    };\n\n    const toggle = (editor, name, vars, node) => {\n      const fmt = editor.formatter.get(name);\n      if (fmt) {\n        if (match$2(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {\n          removeFormat$1(editor, name, vars, node);\n        } else {\n          applyFormat$1(editor, name, vars, node);\n        }\n      }\n    };\n\n    const explode$1 = Tools.explode;\n    const create$8 = () => {\n      const filters = {};\n      const addFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (!has$2(filters, name)) {\n            filters[name] = {\n              name,\n              callbacks: []\n            };\n          }\n          filters[name].callbacks.push(callback);\n        });\n      };\n      const getFilters = () => values(filters);\n      const removeFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (has$2(filters, name)) {\n            if (isNonNullable(callback)) {\n              const filter = filters[name];\n              const newCallbacks = filter$5(filter.callbacks, c => c !== callback);\n              if (newCallbacks.length > 0) {\n                filter.callbacks = newCallbacks;\n              } else {\n                delete filters[name];\n              }\n            } else {\n              delete filters[name];\n            }\n          }\n        });\n      };\n      return {\n        addFilter,\n        getFilters,\n        removeFilter\n      };\n    };\n\n    const removeAttrs = (node, names) => {\n      each$e(names, name => {\n        node.attr(name, null);\n      });\n    };\n    const addFontToSpansFilter = (domParser, styles, fontSizes) => {\n      domParser.addNodeFilter('font', nodes => {\n        each$e(nodes, node => {\n          const props = styles.parse(node.attr('style'));\n          const color = node.attr('color');\n          const face = node.attr('face');\n          const size = node.attr('size');\n          if (color) {\n            props.color = color;\n          }\n          if (face) {\n            props['font-family'] = face;\n          }\n          if (size) {\n            toInt(size).each(num => {\n              props['font-size'] = fontSizes[num - 1];\n            });\n          }\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n          removeAttrs(node, ['color', 'face', 'size']);\n        });\n      });\n    };\n    const addStrikeFilter = (domParser, schema, styles) => {\n      domParser.addNodeFilter('strike', nodes => {\n        const convertToSTag = schema.type !== 'html4';\n        each$e(nodes, node => {\n          if (convertToSTag) {\n            node.name = 's';\n          } else {\n            const props = styles.parse(node.attr('style'));\n            props['text-decoration'] = 'line-through';\n            node.name = 'span';\n            node.attr('style', styles.serialize(props));\n          }\n        });\n      });\n    };\n    const addFilters = (domParser, settings, schema) => {\n      var _a;\n      const styles = Styles();\n      if (settings.convert_fonts_to_spans) {\n        addFontToSpansFilter(domParser, styles, Tools.explode((_a = settings.font_size_legacy_values) !== null && _a !== void 0 ? _a : ''));\n      }\n      addStrikeFilter(domParser, schema, styles);\n    };\n    const register$5 = (domParser, settings, schema) => {\n      if (settings.inline_styles) {\n        addFilters(domParser, settings, schema);\n      }\n    };\n\n    const addNodeFilter = (settings, htmlParser, schema) => {\n      htmlParser.addNodeFilter('br', (nodes, _, args) => {\n        const blockElements = Tools.extend({}, schema.getBlockElements());\n        const nonEmptyElements = schema.getNonEmptyElements();\n        const whitespaceElements = schema.getWhitespaceElements();\n        blockElements.body = 1;\n        const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node);\n        for (let i = 0, l = nodes.length; i < l; i++) {\n          let node = nodes[i];\n          let parent = node.parent;\n          if (parent && isBlock(parent) && node === parent.lastChild) {\n            let prev = node.prev;\n            while (prev) {\n              const prevName = prev.name;\n              if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') {\n                if (prevName === 'br') {\n                  node = null;\n                }\n                break;\n              }\n              prev = prev.prev;\n            }\n            if (node) {\n              node.remove();\n              if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent)) {\n                const elementRule = schema.getElementRule(parent.name);\n                if (elementRule) {\n                  if (elementRule.removeEmpty) {\n                    parent.remove();\n                  } else if (elementRule.paddEmpty) {\n                    paddEmptyNode(settings, args, isBlock, parent);\n                  }\n                }\n              }\n            }\n          } else {\n            let lastParent = node;\n            while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) {\n              lastParent = parent;\n              if (blockElements[parent.name]) {\n                break;\n              }\n              parent = parent.parent;\n            }\n            if (lastParent === parent) {\n              const textNode = new AstNode('#text', 3);\n              textNode.value = nbsp;\n              node.replace(textNode);\n            }\n          }\n        }\n      });\n    };\n\n    const blobUriToBlob = url => fetch(url).then(res => res.ok ? res.blob() : Promise.reject()).catch(() => Promise.reject({\n      message: \"Cannot convert \".concat(url, \" to Blob. Resource might not exist or is inaccessible.\"),\n      uriType: 'blob'\n    }));\n    const extractBase64Data = data => {\n      const matches = /([a-z0-9+\\/=\\s]+)/i.exec(data);\n      return matches ? matches[1] : '';\n    };\n    const parseDataUri = uri => {\n      const [type, ...rest] = uri.split(',');\n      const data = rest.join(',');\n      const matches = /data:([^/]+\\/[^;]+)(;.+)?/.exec(type);\n      if (matches) {\n        const base64Encoded = matches[2] === ';base64';\n        const extractedData = base64Encoded ? extractBase64Data(data) : decodeURIComponent(data);\n        return Optional.some({\n          type: matches[1],\n          data: extractedData,\n          base64Encoded\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const buildBlob = (type, data, base64Encoded = true) => {\n      let str = data;\n      if (base64Encoded) {\n        try {\n          str = atob(data);\n        } catch (e) {\n          return Optional.none();\n        }\n      }\n      const arr = new Uint8Array(str.length);\n      for (let i = 0; i < arr.length; i++) {\n        arr[i] = str.charCodeAt(i);\n      }\n      return Optional.some(new Blob([arr], {\n        type\n      }));\n    };\n    const dataUriToBlob = uri => {\n      return new Promise((resolve, reject) => {\n        parseDataUri(uri).bind(({\n          type,\n          data,\n          base64Encoded\n        }) => buildBlob(type, data, base64Encoded)).fold(() => reject('Invalid data URI'), resolve);\n      });\n    };\n    const uriToBlob = url => {\n      if (startsWith(url, 'blob:')) {\n        return blobUriToBlob(url);\n      } else if (startsWith(url, 'data:')) {\n        return dataUriToBlob(url);\n      } else {\n        return Promise.reject('Unknown URI format');\n      }\n    };\n    const blobToDataUri = blob => {\n      return new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.onloadend = () => {\n          resolve(reader.result);\n        };\n        reader.onerror = () => {\n          var _a;\n          reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n\n    let count$1 = 0;\n    const uniqueId$1 = prefix => {\n      return (prefix || 'blobid') + count$1++;\n    };\n    const processDataUri = (dataUri, base64Only, generateBlobInfo) => {\n      return parseDataUri(dataUri).bind(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        if (base64Only && !base64Encoded) {\n          return Optional.none();\n        } else {\n          const base64 = base64Encoded ? data : btoa(data);\n          return generateBlobInfo(base64, type);\n        }\n      });\n    };\n    const createBlobInfo$1 = (blobCache, blob, base64) => {\n      const blobInfo = blobCache.create(uniqueId$1(), blob, base64);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const dataUriToBlobInfo = (blobCache, dataUri, base64Only = false) => {\n      return processDataUri(dataUri, base64Only, (base64, type) => Optional.from(blobCache.getByData(base64, type)).orThunk(() => buildBlob(type, base64).map(blob => createBlobInfo$1(blobCache, blob, base64))));\n    };\n    const imageToBlobInfo = (blobCache, imageSrc) => {\n      const invalidDataUri = () => Promise.reject('Invalid data URI');\n      if (startsWith(imageSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(imageSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        } else {\n          return uriToBlob(imageSrc).then(blob => {\n            return blobToDataUri(blob).then(dataUri => {\n              return processDataUri(dataUri, false, base64 => {\n                return Optional.some(createBlobInfo$1(blobCache, blob, base64));\n              }).getOrThunk(invalidDataUri);\n            });\n          });\n        }\n      } else if (startsWith(imageSrc, 'data:')) {\n        return dataUriToBlobInfo(blobCache, imageSrc).fold(invalidDataUri, blobInfo => Promise.resolve(blobInfo));\n      } else {\n        return Promise.reject('Unknown image data format');\n      }\n    };\n\n    const isBogusImage = img => isNonNullable(img.attr('data-mce-bogus'));\n    const isInternalImageSource = img => img.attr('src') === Env.transparentSrc || isNonNullable(img.attr('data-mce-placeholder'));\n    const registerBase64ImageFilter = (parser, settings) => {\n      const {\n        blob_cache: blobCache\n      } = settings;\n      if (blobCache) {\n        const processImage = img => {\n          const inputSrc = img.attr('src');\n          if (isInternalImageSource(img) || isBogusImage(img) || isNullable(inputSrc)) {\n            return;\n          }\n          dataUriToBlobInfo(blobCache, inputSrc, true).each(blobInfo => {\n            img.attr('src', blobInfo.blobUri());\n          });\n        };\n        parser.addAttributeFilter('src', nodes => each$e(nodes, processImage));\n      }\n    };\n    const isMimeType = (mime, type) => startsWith(mime, \"\".concat(type, \"/\"));\n    const createSafeEmbed = (mime, src, width, height, sandboxIframes) => {\n      let name;\n      if (isUndefined(mime)) {\n        name = 'iframe';\n      } else if (isMimeType(mime, 'image')) {\n        name = 'img';\n      } else if (isMimeType(mime, 'video')) {\n        name = 'video';\n      } else if (isMimeType(mime, 'audio')) {\n        name = 'audio';\n      } else {\n        name = 'iframe';\n      }\n      const embed = new AstNode(name, 1);\n      embed.attr(name === 'audio' ? {\n        src\n      } : {\n        src,\n        width,\n        height\n      });\n      if (name === 'audio' || name === 'video') {\n        embed.attr('controls', '');\n      }\n      if (name === 'iframe' && sandboxIframes) {\n        embed.attr('sandbox', '');\n      }\n      return embed;\n    };\n    const register$4 = (parser, settings) => {\n      const schema = parser.schema;\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, parser, schema);\n      }\n      parser.addAttributeFilter('href', nodes => {\n        let i = nodes.length;\n        const appendRel = rel => {\n          const parts = rel.split(' ').filter(p => p.length > 0);\n          return parts.concat(['noopener']).sort().join(' ');\n        };\n        const addNoOpener = rel => {\n          const newRel = rel ? Tools.trim(rel) : '';\n          if (!/\\b(noopener)\\b/g.test(newRel)) {\n            return appendRel(newRel);\n          } else {\n            return newRel;\n          }\n        };\n        if (!settings.allow_unsafe_link_target) {\n          while (i--) {\n            const node = nodes[i];\n            if (node.name === 'a' && node.attr('target') === '_blank') {\n              node.attr('rel', addNoOpener(node.attr('rel')));\n            }\n          }\n        }\n      });\n      if (!settings.allow_html_in_named_anchor) {\n        parser.addAttributeFilter('id,name', nodes => {\n          let i = nodes.length,\n            sibling,\n            prevSibling,\n            parent,\n            node;\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.firstChild && !node.attr('href')) {\n              parent = node.parent;\n              sibling = node.lastChild;\n              while (sibling && parent) {\n                prevSibling = sibling.prev;\n                parent.insert(sibling, node);\n                sibling = prevSibling;\n              }\n            }\n          }\n        });\n      }\n      if (settings.fix_list_elements) {\n        parser.addNodeFilter('ul,ol', nodes => {\n          let i = nodes.length,\n            node,\n            parentNode;\n          while (i--) {\n            node = nodes[i];\n            parentNode = node.parent;\n            if (parentNode && (parentNode.name === 'ul' || parentNode.name === 'ol')) {\n              if (node.prev && node.prev.name === 'li') {\n                node.prev.append(node);\n              } else {\n                const li = new AstNode('li', 1);\n                li.attr('style', 'list-style-type: none');\n                node.wrap(li);\n              }\n            }\n          }\n        });\n      }\n      const validClasses = schema.getValidClasses();\n      if (settings.validate && validClasses) {\n        parser.addAttributeFilter('class', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            const clazz = (_a = node.attr('class')) !== null && _a !== void 0 ? _a : '';\n            const classList = Tools.explode(clazz, ' ');\n            let classValue = '';\n            for (let ci = 0; ci < classList.length; ci++) {\n              const className = classList[ci];\n              let valid = false;\n              let validClassesMap = validClasses['*'];\n              if (validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              validClassesMap = validClasses[node.name];\n              if (!valid && validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              if (valid) {\n                if (classValue) {\n                  classValue += ' ';\n                }\n                classValue += className;\n              }\n            }\n            if (!classValue.length) {\n              classValue = null;\n            }\n            node.attr('class', classValue);\n          }\n        });\n      }\n      registerBase64ImageFilter(parser, settings);\n      if (settings.convert_unsafe_embeds) {\n        parser.addNodeFilter('object,embed', nodes => each$e(nodes, node => {\n          node.replace(createSafeEmbed(node.attr('type'), node.name === 'object' ? node.attr('data') : node.attr('src'), node.attr('width'), node.attr('height'), settings.sandbox_iframes));\n        }));\n      }\n      if (settings.sandbox_iframes) {\n        parser.addNodeFilter('iframe', nodes => each$e(nodes, node => node.attr('sandbox', '')));\n      }\n    };\n\n    const {\n      entries,\n      setPrototypeOf,\n      isFrozen,\n      getPrototypeOf,\n      getOwnPropertyDescriptor\n    } = Object;\n    let {\n      freeze,\n      seal,\n      create: create$7\n    } = Object;\n    let {\n      apply,\n      construct\n    } = typeof Reflect !== 'undefined' && Reflect;\n    if (!apply) {\n      apply = function apply(fun, thisValue, args) {\n        return fun.apply(thisValue, args);\n      };\n    }\n    if (!freeze) {\n      freeze = function freeze(x) {\n        return x;\n      };\n    }\n    if (!seal) {\n      seal = function seal(x) {\n        return x;\n      };\n    }\n    if (!construct) {\n      construct = function construct(Func, args) {\n        return new Func(...args);\n      };\n    }\n    const arrayForEach = unapply(Array.prototype.forEach);\n    const arrayPop = unapply(Array.prototype.pop);\n    const arrayPush = unapply(Array.prototype.push);\n    const stringToLowerCase = unapply(String.prototype.toLowerCase);\n    const stringToString = unapply(String.prototype.toString);\n    const stringMatch = unapply(String.prototype.match);\n    const stringReplace = unapply(String.prototype.replace);\n    const stringIndexOf = unapply(String.prototype.indexOf);\n    const stringTrim = unapply(String.prototype.trim);\n    const regExpTest = unapply(RegExp.prototype.test);\n    const typeErrorCreate = unconstruct(TypeError);\n    function unapply(func) {\n      return function (thisArg) {\n        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n          args[_key - 1] = arguments[_key];\n        }\n        return apply(func, thisArg, args);\n      };\n    }\n    function unconstruct(func) {\n      return function () {\n        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n          args[_key2] = arguments[_key2];\n        }\n        return construct(func, args);\n      };\n    }\n    function addToSet(set, array, transformCaseFunc) {\n      var _transformCaseFunc;\n      transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n      if (setPrototypeOf) {\n        setPrototypeOf(set, null);\n      }\n      let l = array.length;\n      while (l--) {\n        let element = array[l];\n        if (typeof element === 'string') {\n          const lcElement = transformCaseFunc(element);\n          if (lcElement !== element) {\n            if (!isFrozen(array)) {\n              array[l] = lcElement;\n            }\n            element = lcElement;\n          }\n        }\n        set[element] = true;\n      }\n      return set;\n    }\n    function clone(object) {\n      const newObject = create$7(null);\n      for (const [property, value] of entries(object)) {\n        newObject[property] = value;\n      }\n      return newObject;\n    }\n    function lookupGetter(object, prop) {\n      while (object !== null) {\n        const desc = getOwnPropertyDescriptor(object, prop);\n        if (desc) {\n          if (desc.get) {\n            return unapply(desc.get);\n          }\n          if (typeof desc.value === 'function') {\n            return unapply(desc.value);\n          }\n        }\n        object = getPrototypeOf(object);\n      }\n      function fallbackValue(element) {\n        console.warn('fallback value for', element);\n        return null;\n      }\n      return fallbackValue;\n    }\n    const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n    const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n    const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n    const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n    const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n    const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n    const text = freeze(['#text']);\n    const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n    const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n    const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n    const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n    const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);\n    const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n    const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm);\n    const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);\n    const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\n    const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\n    const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n    const ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\n    const DOCTYPE_NAME = seal(/^html$/i);\n    var EXPRESSIONS = Object.freeze({\n      __proto__: null,\n      MUSTACHE_EXPR: MUSTACHE_EXPR,\n      ERB_EXPR: ERB_EXPR,\n      TMPLIT_EXPR: TMPLIT_EXPR,\n      DATA_ATTR: DATA_ATTR,\n      ARIA_ATTR: ARIA_ATTR,\n      IS_ALLOWED_URI: IS_ALLOWED_URI,\n      IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n      ATTR_WHITESPACE: ATTR_WHITESPACE,\n      DOCTYPE_NAME: DOCTYPE_NAME\n    });\n    const getGlobal = () => typeof window === 'undefined' ? null : window;\n    const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n      if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n        return null;\n      }\n      let suffix = null;\n      const ATTR_NAME = 'data-tt-policy-suffix';\n      if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n        suffix = purifyHostElement.getAttribute(ATTR_NAME);\n      }\n      const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n      try {\n        return trustedTypes.createPolicy(policyName, {\n          createHTML(html) {\n            return html;\n          },\n          createScriptURL(scriptUrl) {\n            return scriptUrl;\n          }\n        });\n      } catch (_) {\n        console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n        return null;\n      }\n    };\n    function createDOMPurify() {\n      let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n      const DOMPurify = root => createDOMPurify(root);\n      DOMPurify.version = '3.0.5';\n      DOMPurify.removed = [];\n      if (!window || !window.document || window.document.nodeType !== 9) {\n        DOMPurify.isSupported = false;\n        return DOMPurify;\n      }\n      const originalDocument = window.document;\n      const currentScript = originalDocument.currentScript;\n      let {\n        document\n      } = window;\n      const {\n        DocumentFragment,\n        HTMLTemplateElement,\n        Node,\n        Element,\n        NodeFilter,\n        NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n        HTMLFormElement,\n        DOMParser,\n        trustedTypes\n      } = window;\n      const ElementPrototype = Element.prototype;\n      const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n      const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n      const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n      const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n      if (typeof HTMLTemplateElement === 'function') {\n        const template = document.createElement('template');\n        if (template.content && template.content.ownerDocument) {\n          document = template.content.ownerDocument;\n        }\n      }\n      let trustedTypesPolicy;\n      let emptyHTML = '';\n      const {\n        implementation,\n        createNodeIterator,\n        createDocumentFragment,\n        getElementsByTagName\n      } = document;\n      const {\n        importNode\n      } = originalDocument;\n      let hooks = {};\n      DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n      const {\n        MUSTACHE_EXPR,\n        ERB_EXPR,\n        TMPLIT_EXPR,\n        DATA_ATTR,\n        ARIA_ATTR,\n        IS_SCRIPT_OR_DATA,\n        ATTR_WHITESPACE\n      } = EXPRESSIONS;\n      let {\n        IS_ALLOWED_URI: IS_ALLOWED_URI$1\n      } = EXPRESSIONS;\n      let ALLOWED_TAGS = null;\n      const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n      let ALLOWED_ATTR = null;\n      const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n      let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n        tagNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        attributeNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        allowCustomizedBuiltInElements: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: false\n        }\n      }));\n      let FORBID_TAGS = null;\n      let FORBID_ATTR = null;\n      let ALLOW_ARIA_ATTR = true;\n      let ALLOW_DATA_ATTR = true;\n      let ALLOW_UNKNOWN_PROTOCOLS = false;\n      let ALLOW_SELF_CLOSE_IN_ATTR = true;\n      let SAFE_FOR_TEMPLATES = false;\n      let WHOLE_DOCUMENT = false;\n      let SET_CONFIG = false;\n      let FORCE_BODY = false;\n      let RETURN_DOM = false;\n      let RETURN_DOM_FRAGMENT = false;\n      let RETURN_TRUSTED_TYPE = false;\n      let SANITIZE_DOM = true;\n      let SANITIZE_NAMED_PROPS = false;\n      const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n      let KEEP_CONTENT = true;\n      let IN_PLACE = false;\n      let USE_PROFILES = {};\n      let FORBID_CONTENTS = null;\n      const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n      let DATA_URI_TAGS = null;\n      const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n      let URI_SAFE_ATTRIBUTES = null;\n      const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n      const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n      const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n      const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n      let NAMESPACE = HTML_NAMESPACE;\n      let IS_EMPTY_INPUT = false;\n      let ALLOWED_NAMESPACES = null;\n      const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n      let PARSER_MEDIA_TYPE;\n      const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n      const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n      let transformCaseFunc;\n      let CONFIG = null;\n      const formElement = document.createElement('form');\n      const isRegexOrFunction = function isRegexOrFunction(testValue) {\n        return testValue instanceof RegExp || testValue instanceof Function;\n      };\n      const _parseConfig = function _parseConfig(cfg) {\n        if (CONFIG && CONFIG === cfg) {\n          return;\n        }\n        if (!cfg || typeof cfg !== 'object') {\n          cfg = {};\n        }\n        cfg = clone(cfg);\n        PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n        transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n        ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n        ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n        ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n        URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n        DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n        FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n        FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n        FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n        USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n        ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n        ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n        ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n        ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n        SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n        WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n        RETURN_DOM = cfg.RETURN_DOM || false;\n        RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n        RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n        FORCE_BODY = cfg.FORCE_BODY || false;\n        SANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n        SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n        KEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n        IN_PLACE = cfg.IN_PLACE || false;\n        IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n        NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n        CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n          CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          ALLOW_DATA_ATTR = false;\n        }\n        if (RETURN_DOM_FRAGMENT) {\n          RETURN_DOM = true;\n        }\n        if (USE_PROFILES) {\n          ALLOWED_TAGS = addToSet({}, [...text]);\n          ALLOWED_ATTR = [];\n          if (USE_PROFILES.html === true) {\n            addToSet(ALLOWED_TAGS, html$1);\n            addToSet(ALLOWED_ATTR, html);\n          }\n          if (USE_PROFILES.svg === true) {\n            addToSet(ALLOWED_TAGS, svg$1);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.svgFilters === true) {\n            addToSet(ALLOWED_TAGS, svgFilters);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.mathMl === true) {\n            addToSet(ALLOWED_TAGS, mathMl$1);\n            addToSet(ALLOWED_ATTR, mathMl);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n        }\n        if (cfg.ADD_TAGS) {\n          if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n            ALLOWED_TAGS = clone(ALLOWED_TAGS);\n          }\n          addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n        }\n        if (cfg.ADD_ATTR) {\n          if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n            ALLOWED_ATTR = clone(ALLOWED_ATTR);\n          }\n          addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n        }\n        if (cfg.ADD_URI_SAFE_ATTR) {\n          addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n        }\n        if (cfg.FORBID_CONTENTS) {\n          if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n            FORBID_CONTENTS = clone(FORBID_CONTENTS);\n          }\n          addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n        }\n        if (KEEP_CONTENT) {\n          ALLOWED_TAGS['#text'] = true;\n        }\n        if (WHOLE_DOCUMENT) {\n          addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n        }\n        if (ALLOWED_TAGS.table) {\n          addToSet(ALLOWED_TAGS, ['tbody']);\n          delete FORBID_TAGS.tbody;\n        }\n        if (cfg.TRUSTED_TYPES_POLICY) {\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n          }\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n          }\n          trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n          emptyHTML = trustedTypesPolicy.createHTML('');\n        } else {\n          if (trustedTypesPolicy === undefined) {\n            trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n          }\n          if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n            emptyHTML = trustedTypesPolicy.createHTML('');\n          }\n        }\n        if (freeze) {\n          freeze(cfg);\n        }\n        CONFIG = cfg;\n      };\n      const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n      const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n      const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n      const ALL_SVG_TAGS = addToSet({}, svg$1);\n      addToSet(ALL_SVG_TAGS, svgFilters);\n      addToSet(ALL_SVG_TAGS, svgDisallowed);\n      const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n      addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n      const _checkValidNamespace = function _checkValidNamespace(element) {\n        let parent = getParentNode(element);\n        if (!parent || !parent.tagName) {\n          parent = {\n            namespaceURI: NAMESPACE,\n            tagName: 'template'\n          };\n        }\n        const tagName = stringToLowerCase(element.tagName);\n        const parentTagName = stringToLowerCase(parent.tagName);\n        if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return false;\n        }\n        if (element.namespaceURI === SVG_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'svg';\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE) {\n            return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n          }\n          return Boolean(ALL_SVG_TAGS[tagName]);\n        }\n        if (element.namespaceURI === MATHML_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'math';\n          }\n          if (parent.namespaceURI === SVG_NAMESPACE) {\n            return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n          }\n          return Boolean(ALL_MATHML_TAGS[tagName]);\n        }\n        if (element.namespaceURI === HTML_NAMESPACE) {\n          if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return true;\n        }\n        return false;\n      };\n      const _forceRemove = function _forceRemove(node) {\n        arrayPush(DOMPurify.removed, {\n          element: node\n        });\n        try {\n          node.parentNode.removeChild(node);\n        } catch (_) {\n          node.remove();\n        }\n      };\n      const _removeAttribute = function _removeAttribute(name, node) {\n        try {\n          arrayPush(DOMPurify.removed, {\n            attribute: node.getAttributeNode(name),\n            from: node\n          });\n        } catch (_) {\n          arrayPush(DOMPurify.removed, {\n            attribute: null,\n            from: node\n          });\n        }\n        node.removeAttribute(name);\n        if (name === 'is' && !ALLOWED_ATTR[name]) {\n          if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n            try {\n              _forceRemove(node);\n            } catch (_) {}\n          } else {\n            try {\n              node.setAttribute(name, '');\n            } catch (_) {}\n          }\n        }\n      };\n      const _initDocument = function _initDocument(dirty) {\n        let doc;\n        let leadingWhitespace;\n        if (FORCE_BODY) {\n          dirty = '<remove><\/remove>' + dirty;\n        } else {\n          const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n          leadingWhitespace = matches && matches[0];\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n          dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><\/head><body>' + dirty + '<\/body><\/html>';\n        }\n        const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n        if (NAMESPACE === HTML_NAMESPACE) {\n          try {\n            doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n          } catch (_) {}\n        }\n        if (!doc || !doc.documentElement) {\n          doc = implementation.createDocument(NAMESPACE, 'template', null);\n          try {\n            doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n          } catch (_) {}\n        }\n        const body = doc.body || doc.documentElement;\n        if (dirty && leadingWhitespace) {\n          body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n        }\n        if (NAMESPACE === HTML_NAMESPACE) {\n          return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n        }\n        return WHOLE_DOCUMENT ? doc.documentElement : body;\n      };\n      const _createIterator = function _createIterator(root) {\n        return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n      };\n      const _isClobbered = function _isClobbered(elm) {\n        return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n      };\n      const _isNode = function _isNode(object) {\n        return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n      };\n      const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n        if (!hooks[entryPoint]) {\n          return;\n        }\n        arrayForEach(hooks[entryPoint], hook => {\n          hook.call(DOMPurify, currentNode, data, CONFIG);\n        });\n      };\n      const _sanitizeElements = function _sanitizeElements(currentNode) {\n        let content;\n        _executeHook('beforeSanitizeElements', currentNode, null);\n        if (_isClobbered(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        const tagName = transformCaseFunc(currentNode.nodeName);\n        _executeHook('uponSanitizeElement', currentNode, {\n          tagName,\n          allowedTags: ALLOWED_TAGS\n        });\n        if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n          }\n          if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n            const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n            const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n            if (childNodes && parentNode) {\n              const childCount = childNodes.length;\n              for (let i = childCount - 1; i >= 0; --i) {\n                parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n              }\n            }\n          }\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n          content = currentNode.textContent;\n          content = stringReplace(content, MUSTACHE_EXPR, ' ');\n          content = stringReplace(content, ERB_EXPR, ' ');\n          content = stringReplace(content, TMPLIT_EXPR, ' ');\n          if (currentNode.textContent !== content) {\n            arrayPush(DOMPurify.removed, {\n              element: currentNode.cloneNode()\n            });\n            currentNode.textContent = content;\n          }\n        }\n        _executeHook('afterSanitizeElements', currentNode, null);\n        return false;\n      };\n      const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n        if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n          return false;\n        }\n        if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n          if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ;else {\n            return false;\n          }\n        } else if (URI_SAFE_ATTRIBUTES[lcName]) ;else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ;else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if (value) {\n          return false;\n        } else ;\n        return true;\n      };\n      const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n        return tagName.indexOf('-') > 0;\n      };\n      const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n        let attr;\n        let value;\n        let lcName;\n        let l;\n        _executeHook('beforeSanitizeAttributes', currentNode, null);\n        const {\n          attributes\n        } = currentNode;\n        if (!attributes) {\n          return;\n        }\n        const hookEvent = {\n          attrName: '',\n          attrValue: '',\n          keepAttr: true,\n          allowedAttributes: ALLOWED_ATTR\n        };\n        l = attributes.length;\n        while (l--) {\n          attr = attributes[l];\n          const {\n            name,\n            namespaceURI\n          } = attr;\n          value = name === 'value' ? attr.value : stringTrim(attr.value);\n          const initValue = value;\n          lcName = transformCaseFunc(name);\n          hookEvent.attrName = lcName;\n          hookEvent.attrValue = value;\n          hookEvent.keepAttr = true;\n          hookEvent.forceKeepAttr = undefined;\n          _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n          value = hookEvent.attrValue;\n          if (hookEvent.forceKeepAttr) {\n            continue;\n          }\n          if (!hookEvent.keepAttr) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SAFE_FOR_TEMPLATES) {\n            value = stringReplace(value, MUSTACHE_EXPR, ' ');\n            value = stringReplace(value, ERB_EXPR, ' ');\n            value = stringReplace(value, TMPLIT_EXPR, ' ');\n          }\n          const lcTag = transformCaseFunc(currentNode.nodeName);\n          if (!_isValidAttribute(lcTag, lcName, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n            _removeAttribute(name, currentNode);\n            value = SANITIZE_NAMED_PROPS_PREFIX + value;\n          }\n          if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n            if (namespaceURI) ;else {\n              switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n                case 'TrustedHTML':\n                  {\n                    value = trustedTypesPolicy.createHTML(value);\n                    break;\n                  }\n                case 'TrustedScriptURL':\n                  {\n                    value = trustedTypesPolicy.createScriptURL(value);\n                    break;\n                  }\n              }\n            }\n          }\n          if (value !== initValue) {\n            try {\n              if (namespaceURI) {\n                currentNode.setAttributeNS(namespaceURI, name, value);\n              } else {\n                currentNode.setAttribute(name, value);\n              }\n            } catch (_) {\n              _removeAttribute(name, currentNode);\n            }\n          }\n        }\n        _executeHook('afterSanitizeAttributes', currentNode, null);\n      };\n      const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n        let shadowNode;\n        const shadowIterator = _createIterator(fragment);\n        _executeHook('beforeSanitizeShadowDOM', fragment, null);\n        while (shadowNode = shadowIterator.nextNode()) {\n          _executeHook('uponSanitizeShadowNode', shadowNode, null);\n          if (_sanitizeElements(shadowNode)) {\n            continue;\n          }\n          if (shadowNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(shadowNode.content);\n          }\n          _sanitizeAttributes(shadowNode);\n        }\n        _executeHook('afterSanitizeShadowDOM', fragment, null);\n      };\n      DOMPurify.sanitize = function (dirty) {\n        let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        let body;\n        let importedNode;\n        let currentNode;\n        let returnNode;\n        IS_EMPTY_INPUT = !dirty;\n        if (IS_EMPTY_INPUT) {\n          dirty = '<!-->';\n        }\n        if (typeof dirty !== 'string' && !_isNode(dirty)) {\n          if (typeof dirty.toString === 'function') {\n            dirty = dirty.toString();\n            if (typeof dirty !== 'string') {\n              throw typeErrorCreate('dirty is not a string, aborting');\n            }\n          } else {\n            throw typeErrorCreate('toString is not a function');\n          }\n        }\n        if (!DOMPurify.isSupported) {\n          return dirty;\n        }\n        if (!SET_CONFIG) {\n          _parseConfig(cfg);\n        }\n        DOMPurify.removed = [];\n        if (typeof dirty === 'string') {\n          IN_PLACE = false;\n        }\n        if (IN_PLACE) {\n          if (dirty.nodeName) {\n            const tagName = transformCaseFunc(dirty.nodeName);\n            if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n              throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n            }\n          }\n        } else if (dirty instanceof Node) {\n          body = _initDocument('<!---->');\n          importedNode = body.ownerDocument.importNode(dirty, true);\n          if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n            body = importedNode;\n          } else if (importedNode.nodeName === 'HTML') {\n            body = importedNode;\n          } else {\n            body.appendChild(importedNode);\n          }\n        } else {\n          if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf('<') === -1) {\n            return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n          }\n          body = _initDocument(dirty);\n          if (!body) {\n            return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n          }\n        }\n        if (body && FORCE_BODY) {\n          _forceRemove(body.firstChild);\n        }\n        const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n        while (currentNode = nodeIterator.nextNode()) {\n          if (_sanitizeElements(currentNode)) {\n            continue;\n          }\n          if (currentNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(currentNode.content);\n          }\n          _sanitizeAttributes(currentNode);\n        }\n        if (IN_PLACE) {\n          return dirty;\n        }\n        if (RETURN_DOM) {\n          if (RETURN_DOM_FRAGMENT) {\n            returnNode = createDocumentFragment.call(body.ownerDocument);\n            while (body.firstChild) {\n              returnNode.appendChild(body.firstChild);\n            }\n          } else {\n            returnNode = body;\n          }\n          if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n            returnNode = importNode.call(originalDocument, returnNode, true);\n          }\n          return returnNode;\n        }\n        let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n        if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n          serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n        }\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n      };\n      DOMPurify.setConfig = function (cfg) {\n        _parseConfig(cfg);\n        SET_CONFIG = true;\n      };\n      DOMPurify.clearConfig = function () {\n        CONFIG = null;\n        SET_CONFIG = false;\n      };\n      DOMPurify.isValidAttribute = function (tag, attr, value) {\n        if (!CONFIG) {\n          _parseConfig({});\n        }\n        const lcTag = transformCaseFunc(tag);\n        const lcName = transformCaseFunc(attr);\n        return _isValidAttribute(lcTag, lcName, value);\n      };\n      DOMPurify.addHook = function (entryPoint, hookFunction) {\n        if (typeof hookFunction !== 'function') {\n          return;\n        }\n        hooks[entryPoint] = hooks[entryPoint] || [];\n        arrayPush(hooks[entryPoint], hookFunction);\n      };\n      DOMPurify.removeHook = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          return arrayPop(hooks[entryPoint]);\n        }\n      };\n      DOMPurify.removeHooks = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          hooks[entryPoint] = [];\n        }\n      };\n      DOMPurify.removeAllHooks = function () {\n        hooks = {};\n      };\n      return DOMPurify;\n    }\n    var purify = createDOMPurify();\n\n    const each$4 = Tools.each,\n      trim = Tools.trim;\n    const queryParts = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];\n    const DEFAULT_PORTS = {\n      ftp: 21,\n      http: 80,\n      https: 443,\n      mailto: 25\n    };\n    const safeSvgDataUrlElements = ['img', 'video'];\n    const blockSvgDataUris = (allowSvgDataUrls, tagName) => {\n      if (isNonNullable(allowSvgDataUrls)) {\n        return !allowSvgDataUrls;\n      } else {\n        return isNonNullable(tagName) ? !contains$2(safeSvgDataUrlElements, tagName) : true;\n      }\n    };\n    const decodeUri = encodedUri => {\n      try {\n        return decodeURIComponent(encodedUri);\n      } catch (ex) {\n        return unescape(encodedUri);\n      }\n    };\n    const isInvalidUri = (settings, uri, tagName) => {\n      const decodedUri = decodeUri(uri).replace(/\\s/g, '');\n      if (settings.allow_script_urls) {\n        return false;\n      } else if (/^((java|vb)script|mhtml):/i.test(decodedUri)) {\n        return true;\n      } else if (settings.allow_html_data_urls) {\n        return false;\n      } else if (/^data:image\\//i.test(decodedUri)) {\n        return blockSvgDataUris(settings.allow_svg_data_urls, tagName) && /^data:image\\/svg\\+xml/i.test(decodedUri);\n      } else {\n        return /^data:/i.test(decodedUri);\n      }\n    };\n    class URI {\n      static parseDataUri(uri) {\n        let type;\n        const uriComponents = decodeURIComponent(uri).split(',');\n        const matches = /data:([^;]+)/.exec(uriComponents[0]);\n        if (matches) {\n          type = matches[1];\n        }\n        return {\n          type,\n          data: uriComponents[1]\n        };\n      }\n      static isDomSafe(uri, context, options = {}) {\n        if (options.allow_script_urls) {\n          return true;\n        } else {\n          const decodedUri = Entities.decode(uri).replace(/[\\s\\u0000-\\u001F]+/g, '');\n          return !isInvalidUri(options, decodedUri, context);\n        }\n      }\n      static getDocumentBaseUrl(loc) {\n        var _a;\n        let baseUrl;\n        if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') {\n          baseUrl = (_a = loc.href) !== null && _a !== void 0 ? _a : '';\n        } else {\n          baseUrl = loc.protocol + '//' + loc.host + loc.pathname;\n        }\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(baseUrl)) {\n          baseUrl = baseUrl.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(baseUrl)) {\n            baseUrl += '/';\n          }\n        }\n        return baseUrl;\n      }\n      constructor(url, settings = {}) {\n        this.path = '';\n        this.directory = '';\n        url = trim(url);\n        this.settings = settings;\n        const baseUri = settings.base_uri;\n        const self = this;\n        if (/^([\\w\\-]+):([^\\/]{2})/i.test(url) || /^\\s*#/.test(url)) {\n          self.source = url;\n          return;\n        }\n        const isProtocolRelative = url.indexOf('//') === 0;\n        if (url.indexOf('/') === 0 && !isProtocolRelative) {\n          url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url;\n        }\n        if (!/^[\\w\\-]*:?\\/\\//.test(url)) {\n          const baseUrl = baseUri ? baseUri.path : new URI(document.location.href).directory;\n          if ((baseUri === null || baseUri === void 0 ? void 0 : baseUri.protocol) === '') {\n            url = '//mce_host' + self.toAbsPath(baseUrl, url);\n          } else {\n            const match = /([^#?]*)([#?]?.*)/.exec(url);\n            if (match) {\n              url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self.toAbsPath(baseUrl, match[1]) + match[2];\n            }\n          }\n        }\n        url = url.replace(/@@/g, '(mce_at)');\n        const urlMatch = /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?(\\[[a-zA-Z0-9:.%]+\\]|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(url);\n        if (urlMatch) {\n          each$4(queryParts, (v, i) => {\n            let part = urlMatch[i];\n            if (part) {\n              part = part.replace(/\\(mce_at\\)/g, '@@');\n            }\n            self[v] = part;\n          });\n        }\n        if (baseUri) {\n          if (!self.protocol) {\n            self.protocol = baseUri.protocol;\n          }\n          if (!self.userInfo) {\n            self.userInfo = baseUri.userInfo;\n          }\n          if (!self.port && self.host === 'mce_host') {\n            self.port = baseUri.port;\n          }\n          if (!self.host || self.host === 'mce_host') {\n            self.host = baseUri.host;\n          }\n          self.source = '';\n        }\n        if (isProtocolRelative) {\n          self.protocol = '';\n        }\n      }\n      setPath(path) {\n        const pathMatch = /^(.*?)\\/?(\\w+)?$/.exec(path);\n        if (pathMatch) {\n          this.path = pathMatch[0];\n          this.directory = pathMatch[1];\n          this.file = pathMatch[2];\n        }\n        this.source = '';\n        this.getURI();\n      }\n      toRelative(uri) {\n        if (uri === './') {\n          return uri;\n        }\n        const relativeUri = new URI(uri, {\n          base_uri: this\n        });\n        if (relativeUri.host !== 'mce_host' && this.host !== relativeUri.host && relativeUri.host || this.port !== relativeUri.port || this.protocol !== relativeUri.protocol && relativeUri.protocol !== '') {\n          return relativeUri.getURI();\n        }\n        const tu = this.getURI(),\n          uu = relativeUri.getURI();\n        if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) {\n          return tu;\n        }\n        let output = this.toRelPath(this.path, relativeUri.path);\n        if (relativeUri.query) {\n          output += '?' + relativeUri.query;\n        }\n        if (relativeUri.anchor) {\n          output += '#' + relativeUri.anchor;\n        }\n        return output;\n      }\n      toAbsolute(uri, noHost) {\n        const absoluteUri = new URI(uri, {\n          base_uri: this\n        });\n        return absoluteUri.getURI(noHost && this.isSameOrigin(absoluteUri));\n      }\n      isSameOrigin(uri) {\n        if (this.host == uri.host && this.protocol == uri.protocol) {\n          if (this.port == uri.port) {\n            return true;\n          }\n          const defaultPort = this.protocol ? DEFAULT_PORTS[this.protocol] : null;\n          if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      toRelPath(base, path) {\n        let breakPoint = 0,\n          out = '',\n          i,\n          l;\n        const normalizedBase = base.substring(0, base.lastIndexOf('/')).split('/');\n        const items = path.split('/');\n        if (normalizedBase.length >= items.length) {\n          for (i = 0, l = normalizedBase.length; i < l; i++) {\n            if (i >= items.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (normalizedBase.length < items.length) {\n          for (i = 0, l = items.length; i < l; i++) {\n            if (i >= normalizedBase.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (breakPoint === 1) {\n          return path;\n        }\n        for (i = 0, l = normalizedBase.length - (breakPoint - 1); i < l; i++) {\n          out += '../';\n        }\n        for (i = breakPoint - 1, l = items.length; i < l; i++) {\n          if (i !== breakPoint - 1) {\n            out += '/' + items[i];\n          } else {\n            out += items[i];\n          }\n        }\n        return out;\n      }\n      toAbsPath(base, path) {\n        let nb = 0;\n        const tr = /\\/$/.test(path) ? '/' : '';\n        const normalizedBase = base.split('/');\n        const normalizedPath = path.split('/');\n        const baseParts = [];\n        each$4(normalizedBase, k => {\n          if (k) {\n            baseParts.push(k);\n          }\n        });\n        const pathParts = [];\n        for (let i = normalizedPath.length - 1; i >= 0; i--) {\n          if (normalizedPath[i].length === 0 || normalizedPath[i] === '.') {\n            continue;\n          }\n          if (normalizedPath[i] === '..') {\n            nb++;\n            continue;\n          }\n          if (nb > 0) {\n            nb--;\n            continue;\n          }\n          pathParts.push(normalizedPath[i]);\n        }\n        const i = baseParts.length - nb;\n        let outPath;\n        if (i <= 0) {\n          outPath = reverse(pathParts).join('/');\n        } else {\n          outPath = baseParts.slice(0, i).join('/') + '/' + reverse(pathParts).join('/');\n        }\n        if (outPath.indexOf('/') !== 0) {\n          outPath = '/' + outPath;\n        }\n        if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) {\n          outPath += tr;\n        }\n        return outPath;\n      }\n      getURI(noProtoHost = false) {\n        let s;\n        if (!this.source || noProtoHost) {\n          s = '';\n          if (!noProtoHost) {\n            if (this.protocol) {\n              s += this.protocol + '://';\n            } else {\n              s += '//';\n            }\n            if (this.userInfo) {\n              s += this.userInfo + '@';\n            }\n            if (this.host) {\n              s += this.host;\n            }\n            if (this.port) {\n              s += ':' + this.port;\n            }\n          }\n          if (this.path) {\n            s += this.path;\n          }\n          if (this.query) {\n            s += '?' + this.query;\n          }\n          if (this.anchor) {\n            s += '#' + this.anchor;\n          }\n          this.source = s;\n        }\n        return this.source;\n      }\n    }\n\n    const filteredUrlAttrs = Tools.makeMap('src,href,data,background,action,formaction,poster,xlink:href');\n    const internalElementAttr = 'data-mce-type';\n    let uid = 0;\n    const processNode = (node, settings, schema, scope, evt) => {\n      var _a, _b, _c, _d;\n      const validate = settings.validate;\n      const specialElements = schema.getSpecialElements();\n      if (node.nodeType === COMMENT && !settings.allow_conditional_comments && /^\\[if/i.test((_a = node.nodeValue) !== null && _a !== void 0 ? _a : '')) {\n        node.nodeValue = ' ' + node.nodeValue;\n      }\n      const lcTagName = (_b = evt === null || evt === void 0 ? void 0 : evt.tagName) !== null && _b !== void 0 ? _b : node.nodeName.toLowerCase();\n      if (scope !== 'html' && schema.isValid(scope)) {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n        return;\n      }\n      if (node.nodeType !== ELEMENT || lcTagName === 'body') {\n        return;\n      }\n      const element = SugarElement.fromDom(node);\n      const isInternalElement = has$1(element, internalElementAttr);\n      const bogus = get$9(element, 'data-mce-bogus');\n      if (!isInternalElement && isString(bogus)) {\n        if (bogus === 'all') {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      }\n      const rule = schema.getElementRule(lcTagName);\n      if (validate && !rule) {\n        if (has$2(specialElements, lcTagName)) {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      } else {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n      }\n      if (validate && rule && !isInternalElement) {\n        each$e((_c = rule.attributesForced) !== null && _c !== void 0 ? _c : [], attr => {\n          set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n        });\n        each$e((_d = rule.attributesDefault) !== null && _d !== void 0 ? _d : [], attr => {\n          if (!has$1(element, attr.name)) {\n            set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n          }\n        });\n        if (rule.attributesRequired && !exists(rule.attributesRequired, attr => has$1(element, attr))) {\n          unwrap(element);\n          return;\n        }\n        if (rule.removeEmptyAttrs && hasNone(element)) {\n          unwrap(element);\n          return;\n        }\n        if (rule.outputName && rule.outputName !== lcTagName) {\n          mutate(element, rule.outputName);\n        }\n      }\n    };\n    const processAttr = (ele, settings, schema, scope, evt) => {\n      const tagName = ele.tagName.toLowerCase();\n      const {\n        attrName,\n        attrValue\n      } = evt;\n      evt.keepAttr = shouldKeepAttribute(settings, schema, scope, tagName, attrName, attrValue);\n      if (evt.keepAttr) {\n        evt.allowedAttributes[attrName] = true;\n        if (isBooleanAttribute(attrName, schema)) {\n          evt.attrValue = attrName;\n        }\n        if (settings.allow_svg_data_urls && startsWith(attrValue, 'data:image/svg+xml')) {\n          evt.forceKeepAttr = true;\n        }\n      } else if (isRequiredAttributeOfInternalElement(ele, attrName)) {\n        evt.forceKeepAttr = true;\n      }\n    };\n    const shouldKeepAttribute = (settings, schema, scope, tagName, attrName, attrValue) => {\n      if (scope !== 'html' && !isNonHtmlElementRootName(tagName)) {\n        return true;\n      }\n      return !(attrName in filteredUrlAttrs && isInvalidUri(settings, attrValue, tagName)) && (!settings.validate || schema.isValid(tagName, attrName) || startsWith(attrName, 'data-') || startsWith(attrName, 'aria-'));\n    };\n    const isRequiredAttributeOfInternalElement = (ele, attrName) => ele.hasAttribute(internalElementAttr) && (attrName === 'id' || attrName === 'class' || attrName === 'style');\n    const isBooleanAttribute = (attrName, schema) => attrName in schema.getBoolAttrs();\n    const filterAttributes = (ele, settings, schema, scope) => {\n      const {\n        attributes\n      } = ele;\n      for (let i = attributes.length - 1; i >= 0; i--) {\n        const attr = attributes[i];\n        const attrName = attr.name;\n        const attrValue = attr.value;\n        if (!shouldKeepAttribute(settings, schema, scope, ele.tagName.toLowerCase(), attrName, attrValue) && !isRequiredAttributeOfInternalElement(ele, attrName)) {\n          ele.removeAttribute(attrName);\n        } else if (isBooleanAttribute(attrName, schema)) {\n          ele.setAttribute(attrName, attrName);\n        }\n      }\n    };\n    const setupPurify = (settings, schema, namespaceTracker) => {\n      const purify$1 = purify();\n      purify$1.addHook('uponSanitizeElement', (ele, evt) => {\n        processNode(ele, settings, schema, namespaceTracker.track(ele), evt);\n      });\n      purify$1.addHook('uponSanitizeAttribute', (ele, evt) => {\n        processAttr(ele, settings, schema, namespaceTracker.current(), evt);\n      });\n      return purify$1;\n    };\n    const getPurifyConfig = (settings, mimeType) => {\n      const basePurifyConfig = {\n        IN_PLACE: true,\n        ALLOW_UNKNOWN_PROTOCOLS: true,\n        ALLOWED_TAGS: ['#comment', '#cdata-section', 'body'],\n        ALLOWED_ATTR: []\n      };\n      const config = {\n        ...basePurifyConfig\n      };\n      config.PARSER_MEDIA_TYPE = mimeType;\n      if (settings.allow_script_urls) {\n        config.ALLOWED_URI_REGEXP = /.*/;\n      } else if (settings.allow_html_data_urls) {\n        config.ALLOWED_URI_REGEXP = /^(?!(\\w+script|mhtml):)/i;\n      }\n      return config;\n    };\n    const sanitizeNamespaceElement = ele => {\n      const xlinkAttrs = ['type', 'href', 'role', 'arcrole', 'title', 'show', 'actuate', 'label', 'from', 'to'].map(name => \"xlink:\".concat(name));\n      const config = {\n        IN_PLACE: true,\n        USE_PROFILES: {\n          html: true,\n          svg: true,\n          svgFilters: true\n        },\n        ALLOWED_ATTR: xlinkAttrs\n      };\n      purify().sanitize(ele, config);\n      return ele.innerHTML;\n    };\n    const getSanitizer = (settings, schema) => {\n      const namespaceTracker = createNamespaceTracker();\n      if (settings.sanitize) {\n        const purify = setupPurify(settings, schema, namespaceTracker);\n        const sanitizeHtmlElement = (body, mimeType) => {\n          purify.sanitize(body, getPurifyConfig(settings, mimeType));\n          purify.removed = [];\n          namespaceTracker.reset();\n        };\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      } else {\n        const sanitizeHtmlElement = (body, _mimeType) => {\n          const nodeIterator = document.createNodeIterator(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT);\n          let node;\n          while (node = nodeIterator.nextNode()) {\n            const currentScope = namespaceTracker.track(node);\n            processNode(node, settings, schema, currentScope);\n            if (isElement$6(node)) {\n              filterAttributes(node, settings, schema, currentScope);\n            }\n          }\n          namespaceTracker.reset();\n        };\n        const sanitizeNamespaceElement = noop;\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      }\n    };\n\n    const makeMap = Tools.makeMap,\n      extend$1 = Tools.extend;\n    const transferChildren = (parent, nativeParent, specialElements, nsSanitizer) => {\n      const parentName = parent.name;\n      const isSpecial = parentName in specialElements && parentName !== 'title' && parentName !== 'textarea' && parentName !== 'noscript';\n      const childNodes = nativeParent.childNodes;\n      for (let ni = 0, nl = childNodes.length; ni < nl; ni++) {\n        const nativeChild = childNodes[ni];\n        const child = new AstNode(nativeChild.nodeName.toLowerCase(), nativeChild.nodeType);\n        if (isElement$6(nativeChild)) {\n          const attributes = nativeChild.attributes;\n          for (let ai = 0, al = attributes.length; ai < al; ai++) {\n            const attr = attributes[ai];\n            child.attr(attr.name, attr.value);\n          }\n          if (isNonHtmlElementRootName(child.name)) {\n            nsSanitizer(nativeChild);\n            child.value = nativeChild.innerHTML;\n          }\n        } else if (isText$a(nativeChild)) {\n          child.value = nativeChild.data;\n          if (isSpecial) {\n            child.raw = true;\n          }\n        } else if (isComment(nativeChild) || isCData(nativeChild) || isPi(nativeChild)) {\n          child.value = nativeChild.data;\n        }\n        if (!isNonHtmlElementRootName(child.name)) {\n          transferChildren(child, nativeChild, specialElements, nsSanitizer);\n        }\n        parent.append(child);\n      }\n    };\n    const walkTree = (root, preprocessors, postprocessors) => {\n      const traverseOrder = [];\n      for (let node = root, lastNode = node; node; lastNode = node, node = node.walk()) {\n        const tempNode = node;\n        each$e(preprocessors, preprocess => preprocess(tempNode));\n        if (isNullable(tempNode.parent) && tempNode !== root) {\n          node = lastNode;\n        } else {\n          traverseOrder.push(tempNode);\n        }\n      }\n      for (let i = traverseOrder.length - 1; i >= 0; i--) {\n        const node = traverseOrder[i];\n        each$e(postprocessors, postprocess => postprocess(node));\n      }\n    };\n    const whitespaceCleaner = (root, schema, settings, args) => {\n      const validate = settings.validate;\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n      const textRootBlockElements = getTextRootBlockElements(schema);\n      const allWhiteSpaceRegExp = /[ \\t\\r\\n]+/g;\n      const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n      const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n      const hasWhitespaceParent = node => {\n        let tempNode = node.parent;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in whitespaceElements) {\n            return true;\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isTextRootBlockEmpty = node => {\n        let tempNode = node;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in textRootBlockElements) {\n            return isEmpty(schema, nonEmptyElements, whitespaceElements, tempNode);\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node) || isNonHtmlElementRootName(node.name) && node.parent === root;\n      const isAtEdgeOfBlock = (node, start) => {\n        const neighbour = start ? node.prev : node.next;\n        if (isNonNullable(neighbour) || isNullable(node.parent)) {\n          return false;\n        }\n        return isBlock(node.parent) && (node.parent !== root || args.isRootContent === true);\n      };\n      const preprocess = node => {\n        var _a;\n        if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            text = text.replace(allWhiteSpaceRegExp, ' ');\n            if (isLineBreakNode(node.prev, isBlock) || isAtEdgeOfBlock(node, true)) {\n              text = text.replace(startWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      const postprocess = node => {\n        var _a;\n        if (node.type === 1) {\n          const elementRule = schema.getElementRule(node.name);\n          if (validate && elementRule) {\n            const isNodeEmpty = isEmpty(schema, nonEmptyElements, whitespaceElements, node);\n            if (elementRule.paddInEmptyBlock && isNodeEmpty && isTextRootBlockEmpty(node)) {\n              paddEmptyNode(settings, args, isBlock, node);\n            } else if (elementRule.removeEmpty && isNodeEmpty) {\n              if (isBlock(node)) {\n                node.remove();\n              } else {\n                node.unwrap();\n              }\n            } else if (elementRule.paddEmpty && (isNodeEmpty || isPaddedWithNbsp(node))) {\n              paddEmptyNode(settings, args, isBlock, node);\n            }\n          }\n        } else if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            if (node.next && isBlock(node.next) || isAtEdgeOfBlock(node, false)) {\n              text = text.replace(endWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      return [preprocess, postprocess];\n    };\n    const getRootBlockName = (settings, args) => {\n      var _a;\n      const name = (_a = args.forced_root_block) !== null && _a !== void 0 ? _a : settings.forced_root_block;\n      if (name === false) {\n        return '';\n      } else if (name === true) {\n        return 'p';\n      } else {\n        return name;\n      }\n    };\n    const DomParser = (settings = {}, schema = Schema()) => {\n      const nodeFilterRegistry = create$8();\n      const attributeFilterRegistry = create$8();\n      const defaultedSettings = {\n        validate: true,\n        root_name: 'body',\n        sanitize: true,\n        ...settings\n      };\n      const parser = new DOMParser();\n      const sanitizer = getSanitizer(defaultedSettings, schema);\n      const parseAndSanitizeWithContext = (html, rootName, format = 'html') => {\n        const mimeType = format === 'xhtml' ? 'application/xhtml+xml' : 'text/html';\n        const isSpecialRoot = has$2(schema.getSpecialElements(), rootName.toLowerCase());\n        const content = isSpecialRoot ? \"<\".concat(rootName, \">\").concat(html, \"<\/\").concat(rootName, \">\") : html;\n        const wrappedHtml = format === 'xhtml' ? \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\"><head><\/head><body>\".concat(content, \"<\/body><\/html>\") : \"<body>\".concat(content, \"<\/body>\");\n        const body = parser.parseFromString(wrappedHtml, mimeType).body;\n        sanitizer.sanitizeHtmlElement(body, mimeType);\n        return isSpecialRoot ? body.firstChild : body;\n      };\n      const addNodeFilter = nodeFilterRegistry.addFilter;\n      const getNodeFilters = nodeFilterRegistry.getFilters;\n      const removeNodeFilter = nodeFilterRegistry.removeFilter;\n      const addAttributeFilter = attributeFilterRegistry.addFilter;\n      const getAttributeFilters = attributeFilterRegistry.getFilters;\n      const removeAttributeFilter = attributeFilterRegistry.removeFilter;\n      const findInvalidChildren = (node, invalidChildren) => {\n        if (isInvalid(schema, node)) {\n          invalidChildren.push(node);\n        }\n      };\n      const isWrappableNode = (blockElements, node) => {\n        const isInternalElement = isString(node.attr(internalElementAttr));\n        const isInlineElement = node.type === 1 && !has$2(blockElements, node.name) && !isTransparentAstBlock(schema, node) && !isNonHtmlElementRootName(node.name);\n        return node.type === 3 || isInlineElement && !isInternalElement;\n      };\n      const addRootBlocks = (rootNode, rootBlockName) => {\n        const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n        const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n        const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n        let node = rootNode.firstChild,\n          rootBlockNode = null;\n        const trim = rootBlock => {\n          var _a, _b;\n          if (rootBlock) {\n            node = rootBlock.firstChild;\n            if (node && node.type === 3) {\n              node.value = (_a = node.value) === null || _a === void 0 ? void 0 : _a.replace(startWhiteSpaceRegExp, '');\n            }\n            node = rootBlock.lastChild;\n            if (node && node.type === 3) {\n              node.value = (_b = node.value) === null || _b === void 0 ? void 0 : _b.replace(endWhiteSpaceRegExp, '');\n            }\n          }\n        };\n        if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) {\n          return;\n        }\n        while (node) {\n          const next = node.next;\n          if (isWrappableNode(blockElements, node)) {\n            if (!rootBlockNode) {\n              rootBlockNode = new AstNode(rootBlockName, 1);\n              rootBlockNode.attr(defaultedSettings.forced_root_block_attrs);\n              rootNode.insert(rootBlockNode, node);\n              rootBlockNode.append(node);\n            } else {\n              rootBlockNode.append(node);\n            }\n          } else {\n            trim(rootBlockNode);\n            rootBlockNode = null;\n          }\n          node = next;\n        }\n        trim(rootBlockNode);\n      };\n      const parse = (html, args = {}) => {\n        var _a;\n        const validate = defaultedSettings.validate;\n        const rootName = (_a = args.context) !== null && _a !== void 0 ? _a : defaultedSettings.root_name;\n        const element = parseAndSanitizeWithContext(html, rootName, args.format);\n        updateChildren(schema, element);\n        const rootNode = new AstNode(rootName, 11);\n        transferChildren(rootNode, element, schema.getSpecialElements(), sanitizer.sanitizeNamespaceElement);\n        element.innerHTML = '';\n        const [whitespacePre, whitespacePost] = whitespaceCleaner(rootNode, schema, defaultedSettings, args);\n        const invalidChildren = [];\n        const invalidFinder = validate ? node => findInvalidChildren(node, invalidChildren) : noop;\n        const matches = {\n          nodes: {},\n          attributes: {}\n        };\n        const matchFinder = node => matchNode$1(getNodeFilters(), getAttributeFilters(), node, matches);\n        walkTree(rootNode, [whitespacePre, matchFinder], [whitespacePost, invalidFinder]);\n        invalidChildren.reverse();\n        if (validate && invalidChildren.length > 0) {\n          if (args.context) {\n            const {\n              pass: topLevelChildren,\n              fail: otherChildren\n            } = partition$2(invalidChildren, child => child.parent === rootNode);\n            cleanInvalidNodes(otherChildren, schema, rootNode, matchFinder);\n            args.invalid = topLevelChildren.length > 0;\n          } else {\n            cleanInvalidNodes(invalidChildren, schema, rootNode, matchFinder);\n          }\n        }\n        const rootBlockName = getRootBlockName(defaultedSettings, args);\n        if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) {\n          addRootBlocks(rootNode, rootBlockName);\n        }\n        if (!args.invalid) {\n          runFilters(matches, args);\n        }\n        return rootNode;\n      };\n      const exports = {\n        schema,\n        addAttributeFilter,\n        getAttributeFilters,\n        removeAttributeFilter,\n        addNodeFilter,\n        getNodeFilters,\n        removeNodeFilter,\n        parse\n      };\n      register$4(exports, defaultedSettings);\n      register$5(exports, defaultedSettings, schema);\n      return exports;\n    };\n\n    const serializeContent = content => isTreeNode(content) ? HtmlSerializer({\n      validate: false\n    }).serialize(content) : content;\n    const withSerializedContent = (content, fireEvent, parserSettings) => {\n      const serializedContent = serializeContent(content);\n      const eventArgs = fireEvent(serializedContent);\n      if (eventArgs.isDefaultPrevented()) {\n        return eventArgs;\n      } else if (isTreeNode(content)) {\n        if (eventArgs.content !== serializedContent) {\n          const rootNode = DomParser({\n            validate: false,\n            forced_root_block: false,\n            ...parserSettings\n          }).parse(eventArgs.content, {\n            context: content.name\n          });\n          return {\n            ...eventArgs,\n            content: rootNode\n          };\n        } else {\n          return {\n            ...eventArgs,\n            content\n          };\n        }\n      } else {\n        return eventArgs;\n      }\n    };\n    const preProcessGetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const eventArgs = fireBeforeGetContent(editor, args);\n        if (eventArgs.isDefaultPrevented()) {\n          return Result.error(fireGetContent(editor, {\n            content: '',\n            ...eventArgs\n          }).content);\n        } else {\n          return Result.value(eventArgs);\n        }\n      }\n    };\n    const postProcessGetContent = (editor, content, args) => {\n      if (args.no_events) {\n        return content;\n      } else {\n        const processedEventArgs = withSerializedContent(content, content => fireGetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        return processedEventArgs.content;\n      }\n    };\n    const preProcessSetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const processedEventArgs = withSerializedContent(args.content, content => fireBeforeSetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        if (processedEventArgs.isDefaultPrevented()) {\n          fireSetContent(editor, processedEventArgs);\n          return Result.error(undefined);\n        } else {\n          return Result.value(processedEventArgs);\n        }\n      }\n    };\n    const postProcessSetContent = (editor, content, args) => {\n      if (!args.no_events) {\n        fireSetContent(editor, {\n          ...args,\n          content\n        });\n      }\n    };\n\n    const tableModel = (element, width, rows) => ({\n      element,\n      width,\n      rows\n    });\n    const tableRow = (element, cells) => ({\n      element,\n      cells\n    });\n    const cellPosition = (x, y) => ({\n      x,\n      y\n    });\n    const getSpan = (td, key) => {\n      return getOpt(td, key).bind(toInt).getOr(1);\n    };\n    const fillout = (table, x, y, tr, td) => {\n      const rowspan = getSpan(td, 'rowspan');\n      const colspan = getSpan(td, 'colspan');\n      const rows = table.rows;\n      for (let y2 = y; y2 < y + rowspan; y2++) {\n        if (!rows[y2]) {\n          rows[y2] = tableRow(deep$1(tr), []);\n        }\n        for (let x2 = x; x2 < x + colspan; x2++) {\n          const cells = rows[y2].cells;\n          cells[x2] = y2 === y && x2 === x ? td : shallow$1(td);\n        }\n      }\n    };\n    const cellExists = (table, x, y) => {\n      const rows = table.rows;\n      const cells = rows[y] ? rows[y].cells : [];\n      return !!cells[x];\n    };\n    const skipCellsX = (table, x, y) => {\n      while (cellExists(table, x, y)) {\n        x++;\n      }\n      return x;\n    };\n    const getWidth = rows => {\n      return foldl(rows, (acc, row) => {\n        return row.cells.length > acc ? row.cells.length : acc;\n      }, 0);\n    };\n    const findElementPos = (table, element) => {\n      const rows = table.rows;\n      for (let y = 0; y < rows.length; y++) {\n        const cells = rows[y].cells;\n        for (let x = 0; x < cells.length; x++) {\n          if (eq(cells[x], element)) {\n            return Optional.some(cellPosition(x, y));\n          }\n        }\n      }\n      return Optional.none();\n    };\n    const extractRows = (table, sx, sy, ex, ey) => {\n      const newRows = [];\n      const rows = table.rows;\n      for (let y = sy; y <= ey; y++) {\n        const cells = rows[y].cells;\n        const slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1);\n        newRows.push(tableRow(rows[y].element, slice));\n      }\n      return newRows;\n    };\n    const subTable = (table, startPos, endPos) => {\n      const sx = startPos.x,\n        sy = startPos.y;\n      const ex = endPos.x,\n        ey = endPos.y;\n      const newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy);\n      return tableModel(table.element, getWidth(newRows), newRows);\n    };\n    const createDomTable = (table, rows) => {\n      const tableElement = shallow$1(table.element);\n      const tableBody = SugarElement.fromTag('tbody');\n      append(tableBody, rows);\n      append$1(tableElement, tableBody);\n      return tableElement;\n    };\n    const modelRowsToDomRows = table => {\n      return map$3(table.rows, row => {\n        const cells = map$3(row.cells, cell => {\n          const td = deep$1(cell);\n          remove$a(td, 'colspan');\n          remove$a(td, 'rowspan');\n          return td;\n        });\n        const tr = shallow$1(row.element);\n        append(tr, cells);\n        return tr;\n      });\n    };\n    const fromDom = tableElm => {\n      const table = tableModel(shallow$1(tableElm), 0, []);\n      each$e(descendants(tableElm, 'tr'), (tr, y) => {\n        each$e(descendants(tr, 'td,th'), (td, x) => {\n          fillout(table, skipCellsX(table, x, y), y, tr, td);\n        });\n      });\n      return tableModel(table.element, getWidth(table.rows), table.rows);\n    };\n    const toDom = table => {\n      return createDomTable(table, modelRowsToDomRows(table));\n    };\n    const subsection = (table, startElement, endElement) => {\n      return findElementPos(table, startElement).bind(startPos => {\n        return findElementPos(table, endElement).map(endPos => {\n          return subTable(table, startPos, endPos);\n        });\n      });\n    };\n\n    const findParentListContainer = parents => find$2(parents, elm => name(elm) === 'ul' || name(elm) === 'ol');\n    const getFullySelectedListWrappers = (parents, rng) => find$2(parents, elm => name(elm) === 'li' && hasAllContentsSelected(elm, rng)).fold(constant([]), _li => findParentListContainer(parents).map(listCont => {\n      const listElm = SugarElement.fromTag(name(listCont));\n      const listStyles = filter$4(getAllRaw(listCont), (_style, name) => startsWith(name, 'list-style'));\n      setAll(listElm, listStyles);\n      return [SugarElement.fromTag('li'), listElm];\n    }).getOr([]));\n    const wrap = (innerElm, elms) => {\n      const wrapped = foldl(elms, (acc, elm) => {\n        append$1(elm, acc);\n        return elm;\n      }, innerElm);\n      return elms.length > 0 ? fromElements([wrapped]) : wrapped;\n    };\n    const directListWrappers = commonAnchorContainer => {\n      if (isListItem$1(commonAnchorContainer)) {\n        return parent(commonAnchorContainer).filter(isList).fold(constant([]), listElm => [commonAnchorContainer, listElm]);\n      } else {\n        return isList(commonAnchorContainer) ? [commonAnchorContainer] : [];\n      }\n    };\n    const getWrapElements = (rootNode, rng, schema) => {\n      const commonAnchorContainer = SugarElement.fromDom(rng.commonAncestorContainer);\n      const parents = parentsAndSelf(commonAnchorContainer, rootNode);\n      const wrapElements = filter$5(parents, el => schema.isWrapper(name(el)));\n      const listWrappers = getFullySelectedListWrappers(parents, rng);\n      const allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer));\n      return map$3(allWrappers, shallow$1);\n    };\n    const emptyFragment = () => fromElements([]);\n    const getFragmentFromRange = (rootNode, rng, schema) => wrap(SugarElement.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng, schema));\n    const getParentTable = (rootElm, cell) => ancestor$3(cell, 'table', curry(eq, rootElm));\n    const getTableFragment = (rootNode, selectedTableCells) => getParentTable(rootNode, selectedTableCells[0]).bind(tableElm => {\n      const firstCell = selectedTableCells[0];\n      const lastCell = selectedTableCells[selectedTableCells.length - 1];\n      const fullTableModel = fromDom(tableElm);\n      return subsection(fullTableModel, firstCell, lastCell).map(sectionedTableModel => fromElements([toDom(sectionedTableModel)]));\n    }).getOrThunk(emptyFragment);\n    const getSelectionFragment = (rootNode, ranges, schema) => ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0], schema);\n    const read$3 = (rootNode, ranges, schema) => {\n      const selectedCells = getCellsFromElementOrRanges(ranges, rootNode);\n      return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges, schema);\n    };\n\n    const isCollapsibleWhitespace = (text, index) => index >= 0 && index < text.length && isWhiteSpace(text.charAt(index));\n    const getInnerText = bin => {\n      return trim$2(bin.innerText);\n    };\n    const getContextNodeName = parentBlockOpt => parentBlockOpt.map(block => block.nodeName).getOr('div').toLowerCase();\n    const getTextContent = editor => Optional.from(editor.selection.getRng()).map(rng => {\n      var _a;\n      const parentBlockOpt = Optional.from(editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock));\n      const body = editor.getBody();\n      const contextNodeName = getContextNodeName(parentBlockOpt);\n      const rangeContentClone = SugarElement.fromDom(rng.cloneContents());\n      cleanupBogusElements(rangeContentClone);\n      cleanupInputNames(rangeContentClone);\n      const bin = editor.dom.add(body, contextNodeName, {\n        'data-mce-bogus': 'all',\n        'style': 'overflow: hidden; opacity: 0;'\n      }, rangeContentClone.dom);\n      const text = getInnerText(bin);\n      const nonRenderedText = trim$2((_a = bin.textContent) !== null && _a !== void 0 ? _a : '');\n      editor.dom.remove(bin);\n      if (isCollapsibleWhitespace(nonRenderedText, 0) || isCollapsibleWhitespace(nonRenderedText, nonRenderedText.length - 1)) {\n        const parentBlock = parentBlockOpt.getOr(body);\n        const parentBlockText = getInnerText(parentBlock);\n        const textIndex = parentBlockText.indexOf(text);\n        if (textIndex === -1) {\n          return text;\n        } else {\n          const hasProceedingSpace = isCollapsibleWhitespace(parentBlockText, textIndex - 1);\n          const hasTrailingSpace = isCollapsibleWhitespace(parentBlockText, textIndex + text.length);\n          return (hasProceedingSpace ? ' ' : '') + text + (hasTrailingSpace ? ' ' : '');\n        }\n      } else {\n        return text;\n      }\n    }).getOr('');\n    const getSerializedContent = (editor, args) => {\n      const rng = editor.selection.getRng(),\n        tmpElm = editor.dom.create('body');\n      const sel = editor.selection.getSel();\n      const ranges = processRanges(editor, getRanges$1(sel));\n      const fragment = args.contextual ? read$3(SugarElement.fromDom(editor.getBody()), ranges, editor.schema).dom : rng.cloneContents();\n      if (fragment) {\n        tmpElm.appendChild(fragment);\n      }\n      return editor.selection.serializer.serialize(tmpElm, args);\n    };\n    const extractSelectedContent = (editor, args) => {\n      if (args.format === 'text') {\n        return getTextContent(editor);\n      } else {\n        const content = getSerializedContent(editor, args);\n        if (args.format === 'tree') {\n          return content;\n        } else {\n          return editor.selection.isCollapsed() ? '' : content;\n        }\n      }\n    };\n    const setupArgs$3 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      selection: true,\n      getInner: true\n    });\n    const getSelectedContentInternal = (editor, format, args = {}) => {\n      const defaultedArgs = setupArgs$3(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = extractSelectedContent(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const KEEP = 0,\n      INSERT = 1,\n      DELETE = 2;\n    const diff = (left, right) => {\n      const size = left.length + right.length + 2;\n      const vDown = new Array(size);\n      const vUp = new Array(size);\n      const snake = (start, end, diag) => {\n        return {\n          start,\n          end,\n          diag\n        };\n      };\n      const buildScript = (start1, end1, start2, end2, script) => {\n        const middle = getMiddleSnake(start1, end1, start2, end2);\n        if (middle === null || middle.start === end1 && middle.diag === end1 - end2 || middle.end === start1 && middle.diag === start1 - start2) {\n          let i = start1;\n          let j = start2;\n          while (i < end1 || j < end2) {\n            if (i < end1 && j < end2 && left[i] === right[j]) {\n              script.push([KEEP, left[i]]);\n              ++i;\n              ++j;\n            } else {\n              if (end1 - start1 > end2 - start2) {\n                script.push([DELETE, left[i]]);\n                ++i;\n              } else {\n                script.push([INSERT, right[j]]);\n                ++j;\n              }\n            }\n          }\n        } else {\n          buildScript(start1, middle.start, start2, middle.start - middle.diag, script);\n          for (let i2 = middle.start; i2 < middle.end; ++i2) {\n            script.push([KEEP, left[i2]]);\n          }\n          buildScript(middle.end, end1, middle.end - middle.diag, end2, script);\n        }\n      };\n      const buildSnake = (start, diag, end1, end2) => {\n        let end = start;\n        while (end - diag < end2 && end < end1 && left[end] === right[end - diag]) {\n          ++end;\n        }\n        return snake(start, end, diag);\n      };\n      const getMiddleSnake = (start1, end1, start2, end2) => {\n        const m = end1 - start1;\n        const n = end2 - start2;\n        if (m === 0 || n === 0) {\n          return null;\n        }\n        const delta = m - n;\n        const sum = n + m;\n        const offset = (sum % 2 === 0 ? sum : sum + 1) / 2;\n        vDown[1 + offset] = start1;\n        vUp[1 + offset] = end1 + 1;\n        let d, k, i, x, y;\n        for (d = 0; d <= offset; ++d) {\n          for (k = -d; k <= d; k += 2) {\n            i = k + offset;\n            if (k === -d || k !== d && vDown[i - 1] < vDown[i + 1]) {\n              vDown[i] = vDown[i + 1];\n            } else {\n              vDown[i] = vDown[i - 1] + 1;\n            }\n            x = vDown[i];\n            y = x - start1 + start2 - k;\n            while (x < end1 && y < end2 && left[x] === right[y]) {\n              vDown[i] = ++x;\n              ++y;\n            }\n            if (delta % 2 !== 0 && delta - d <= k && k <= delta + d) {\n              if (vUp[i - delta] <= vDown[i]) {\n                return buildSnake(vUp[i - delta], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n          for (k = delta - d; k <= delta + d; k += 2) {\n            i = k + offset - delta;\n            if (k === delta - d || k !== delta + d && vUp[i + 1] <= vUp[i - 1]) {\n              vUp[i] = vUp[i + 1] - 1;\n            } else {\n              vUp[i] = vUp[i - 1];\n            }\n            x = vUp[i] - 1;\n            y = x - start1 + start2 - k;\n            while (x >= start1 && y >= start2 && left[x] === right[y]) {\n              vUp[i] = x--;\n              y--;\n            }\n            if (delta % 2 === 0 && -d <= k && k <= d) {\n              if (vUp[i] <= vDown[i + delta]) {\n                return buildSnake(vUp[i], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n        }\n        return null;\n      };\n      const script = [];\n      buildScript(0, left.length, 0, right.length, script);\n      return script;\n    };\n\n    const getOuterHtml = elm => {\n      if (isElement$6(elm)) {\n        return elm.outerHTML;\n      } else if (isText$a(elm)) {\n        return Entities.encodeRaw(elm.data, false);\n      } else if (isComment(elm)) {\n        return '<!--' + elm.data + '-->';\n      }\n      return '';\n    };\n    const createFragment = html => {\n      let node;\n      const container = document.createElement('div');\n      const frag = document.createDocumentFragment();\n      if (html) {\n        container.innerHTML = html;\n      }\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    const insertAt = (elm, html, index) => {\n      const fragment = createFragment(html);\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.insertBefore(fragment, target);\n      } else {\n        elm.appendChild(fragment);\n      }\n    };\n    const removeAt = (elm, index) => {\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.removeChild(target);\n      }\n    };\n    const applyDiff = (diff, elm) => {\n      let index = 0;\n      each$e(diff, action => {\n        if (action[0] === KEEP) {\n          index++;\n        } else if (action[0] === INSERT) {\n          insertAt(elm, action[1], index);\n          index++;\n        } else if (action[0] === DELETE) {\n          removeAt(elm, index);\n        }\n      });\n    };\n    const read$2 = (elm, trimZwsp) => filter$5(map$3(from(elm.childNodes), trimZwsp ? compose(trim$2, getOuterHtml) : getOuterHtml), item => {\n      return item.length > 0;\n    });\n    const write = (fragments, elm) => {\n      const currentFragments = map$3(from(elm.childNodes), getOuterHtml);\n      applyDiff(diff(currentFragments, fragments), elm);\n      return elm;\n    };\n\n    const lazyTempDocument = cached(() => document.implementation.createHTMLDocument('undo'));\n    const hasIframes = body => body.querySelector('iframe') !== null;\n    const createFragmentedLevel = fragments => {\n      return {\n        type: 'fragmented',\n        fragments,\n        content: '',\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createCompleteLevel = content => {\n      return {\n        type: 'complete',\n        fragments: null,\n        content,\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createFromEditor = editor => {\n      const tempAttrs = editor.serializer.getTempAttrs();\n      const body = trim$1(editor.getBody(), tempAttrs);\n      return hasIframes(body) ? createFragmentedLevel(read$2(body, true)) : createCompleteLevel(trim$2(body.innerHTML));\n    };\n    const applyToEditor = (editor, level, before) => {\n      const bookmark = before ? level.beforeBookmark : level.bookmark;\n      if (level.type === 'fragmented') {\n        write(level.fragments, editor.getBody());\n      } else {\n        editor.setContent(level.content, {\n          format: 'raw',\n          no_selection: isNonNullable(bookmark) && isPathBookmark(bookmark) ? !bookmark.isFakeCaret : true\n        });\n      }\n      if (bookmark) {\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.scrollIntoView();\n      }\n    };\n    const getLevelContent = level => {\n      return level.type === 'fragmented' ? level.fragments.join('') : level.content;\n    };\n    const getCleanLevelContent = level => {\n      const elm = SugarElement.fromTag('body', lazyTempDocument());\n      set$1(elm, getLevelContent(level));\n      each$e(descendants(elm, '*[data-mce-bogus]'), unwrap);\n      return get$6(elm);\n    };\n    const hasEqualContent = (level1, level2) => getLevelContent(level1) === getLevelContent(level2);\n    const hasEqualCleanedContent = (level1, level2) => getCleanLevelContent(level1) === getCleanLevelContent(level2);\n    const isEq$1 = (level1, level2) => {\n      if (!level1 || !level2) {\n        return false;\n      } else if (hasEqualContent(level1, level2)) {\n        return true;\n      } else {\n        return hasEqualCleanedContent(level1, level2);\n      }\n    };\n\n    const isUnlocked = locks => locks.get() === 0;\n\n    const setTyping = (undoManager, typing, locks) => {\n      if (isUnlocked(locks)) {\n        undoManager.typing = typing;\n      }\n    };\n    const endTyping = (undoManager, locks) => {\n      if (undoManager.typing) {\n        setTyping(undoManager, false, locks);\n        undoManager.add();\n      }\n    };\n    const endTypingLevelIgnoreLocks = undoManager => {\n      if (undoManager.typing) {\n        undoManager.typing = false;\n        undoManager.add();\n      }\n    };\n\n    const beforeChange$1 = (editor, locks, beforeBookmark) => {\n      if (isUnlocked(locks)) {\n        beforeBookmark.set(getUndoBookmark(editor.selection));\n      }\n    };\n    const addUndoLevel$1 = (editor, undoManager, index, locks, beforeBookmark, level, event) => {\n      const currentLevel = createFromEditor(editor);\n      const newLevel = Tools.extend(level || {}, currentLevel);\n      if (!isUnlocked(locks) || editor.removed) {\n        return null;\n      }\n      const lastLevel = undoManager.data[index.get()];\n      if (editor.dispatch('BeforeAddUndo', {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      }).isDefaultPrevented()) {\n        return null;\n      }\n      if (lastLevel && isEq$1(lastLevel, newLevel)) {\n        return null;\n      }\n      if (undoManager.data[index.get()]) {\n        beforeBookmark.get().each(bm => {\n          undoManager.data[index.get()].beforeBookmark = bm;\n        });\n      }\n      const customUndoRedoLevels = getCustomUndoRedoLevels(editor);\n      if (customUndoRedoLevels) {\n        if (undoManager.data.length > customUndoRedoLevels) {\n          for (let i = 0; i < undoManager.data.length - 1; i++) {\n            undoManager.data[i] = undoManager.data[i + 1];\n          }\n          undoManager.data.length--;\n          index.set(undoManager.data.length);\n        }\n      }\n      newLevel.bookmark = getUndoBookmark(editor.selection);\n      if (index.get() < undoManager.data.length - 1) {\n        undoManager.data.length = index.get() + 1;\n      }\n      undoManager.data.push(newLevel);\n      index.set(undoManager.data.length - 1);\n      const args = {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      };\n      if (index.get() > 0) {\n        editor.setDirty(true);\n        editor.dispatch('AddUndo', args);\n        editor.dispatch('change', args);\n      } else {\n        editor.dispatch('AddUndo', args);\n      }\n      return newLevel;\n    };\n    const clear$1 = (editor, undoManager, index) => {\n      undoManager.data = [];\n      index.set(0);\n      undoManager.typing = false;\n      editor.dispatch('ClearUndos');\n    };\n    const extra$1 = (editor, undoManager, index, callback1, callback2) => {\n      if (undoManager.transact(callback1)) {\n        const bookmark = undoManager.data[index.get()].bookmark;\n        const lastLevel = undoManager.data[index.get() - 1];\n        applyToEditor(editor, lastLevel, true);\n        if (undoManager.transact(callback2)) {\n          undoManager.data[index.get() - 1].beforeBookmark = bookmark;\n        }\n      }\n    };\n    const redo$1 = (editor, index, data) => {\n      let level;\n      if (index.get() < data.length - 1) {\n        index.set(index.get() + 1);\n        level = data[index.get()];\n        applyToEditor(editor, level, false);\n        editor.setDirty(true);\n        editor.dispatch('Redo', {\n          level\n        });\n      }\n      return level;\n    };\n    const undo$1 = (editor, undoManager, locks, index) => {\n      let level;\n      if (undoManager.typing) {\n        undoManager.add();\n        undoManager.typing = false;\n        setTyping(undoManager, false, locks);\n      }\n      if (index.get() > 0) {\n        index.set(index.get() - 1);\n        level = undoManager.data[index.get()];\n        applyToEditor(editor, level, true);\n        editor.setDirty(true);\n        editor.dispatch('Undo', {\n          level\n        });\n      }\n      return level;\n    };\n    const reset$1 = undoManager => {\n      undoManager.clear();\n      undoManager.add();\n    };\n    const hasUndo$1 = (editor, undoManager, index) => index.get() > 0 || undoManager.typing && undoManager.data[0] && !isEq$1(createFromEditor(editor), undoManager.data[0]);\n    const hasRedo$1 = (undoManager, index) => index.get() < undoManager.data.length - 1 && !undoManager.typing;\n    const transact$1 = (undoManager, locks, callback) => {\n      endTyping(undoManager, locks);\n      undoManager.beforeChange();\n      undoManager.ignore(callback);\n      return undoManager.add();\n    };\n    const ignore$1 = (locks, callback) => {\n      try {\n        locks.set(locks.get() + 1);\n        callback();\n      } finally {\n        locks.set(locks.get() - 1);\n      }\n    };\n\n    const addVisualInternal = (editor, elm) => {\n      const dom = editor.dom;\n      const scope = isNonNullable(elm) ? elm : editor.getBody();\n      each$e(dom.select('table,a', scope), matchedElm => {\n        switch (matchedElm.nodeName) {\n          case 'TABLE':\n            const cls = getVisualAidsTableClass(editor);\n            const value = dom.getAttrib(matchedElm, 'border');\n            if ((!value || value === '0') && editor.hasVisual) {\n              dom.addClass(matchedElm, cls);\n            } else {\n              dom.removeClass(matchedElm, cls);\n            }\n            break;\n          case 'A':\n            if (!dom.getAttrib(matchedElm, 'href')) {\n              const value = dom.getAttrib(matchedElm, 'name') || matchedElm.id;\n              const cls = getVisualAidsAnchorClass(editor);\n              if (value && editor.hasVisual) {\n                dom.addClass(matchedElm, cls);\n              } else {\n                dom.removeClass(matchedElm, cls);\n              }\n            }\n            break;\n        }\n      });\n      editor.dispatch('VisualAid', {\n        element: elm,\n        hasVisual: editor.hasVisual\n      });\n    };\n\n    const makePlainAdaptor = editor => ({\n      init: {\n        bindEvents: noop\n      },\n      undoManager: {\n        beforeChange: (locks, beforeBookmark) => beforeChange$1(editor, locks, beforeBookmark),\n        add: (undoManager, index, locks, beforeBookmark, level, event) => addUndoLevel$1(editor, undoManager, index, locks, beforeBookmark, level, event),\n        undo: (undoManager, locks, index) => undo$1(editor, undoManager, locks, index),\n        redo: (index, data) => redo$1(editor, index, data),\n        clear: (undoManager, index) => clear$1(editor, undoManager, index),\n        reset: undoManager => reset$1(undoManager),\n        hasUndo: (undoManager, index) => hasUndo$1(editor, undoManager, index),\n        hasRedo: (undoManager, index) => hasRedo$1(undoManager, index),\n        transact: (undoManager, locks, callback) => transact$1(undoManager, locks, callback),\n        ignore: (locks, callback) => ignore$1(locks, callback),\n        extra: (undoManager, index, callback1, callback2) => extra$1(editor, undoManager, index, callback1, callback2)\n      },\n      formatter: {\n        match: (name, vars, node, similar) => match$2(editor, name, vars, node, similar),\n        matchAll: (names, vars) => matchAll(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNode(editor, node, name, vars, similar),\n        canApply: name => canApply(editor, name),\n        closest: names => closest(editor, names),\n        apply: (name, vars, node) => applyFormat$1(editor, name, vars, node),\n        remove: (name, vars, node, similar) => removeFormat$1(editor, name, vars, node, similar),\n        toggle: (name, vars, node) => toggle(editor, name, vars, node),\n        formatChanged: (registeredFormatListeners, formats, callback, similar, vars) => formatChangedInternal(editor, registeredFormatListeners, formats, callback, similar, vars)\n      },\n      editor: {\n        getContent: args => getContentInternal(editor, args),\n        setContent: (content, args) => setContentInternal(editor, content, args),\n        insertContent: (value, details) => insertHtmlAtCaret(editor, value, details),\n        addVisual: elm => addVisualInternal(editor, elm)\n      },\n      selection: {\n        getContent: (format, args) => getSelectedContentInternal(editor, format, args)\n      },\n      autocompleter: {\n        addDecoration: range => create$9(editor, range),\n        removeDecoration: () => remove$2(editor, SugarElement.fromDom(editor.getBody()))\n      },\n      raw: {\n        getModel: () => Optional.none()\n      }\n    });\n    const makeRtcAdaptor = rtcEditor => {\n      const defaultVars = vars => isObject(vars) ? vars : {};\n      const {\n        init,\n        undoManager,\n        formatter,\n        editor,\n        selection,\n        autocompleter,\n        raw\n      } = rtcEditor;\n      return {\n        init: {\n          bindEvents: init.bindEvents\n        },\n        undoManager: {\n          beforeChange: undoManager.beforeChange,\n          add: undoManager.add,\n          undo: undoManager.undo,\n          redo: undoManager.redo,\n          clear: undoManager.clear,\n          reset: undoManager.reset,\n          hasUndo: undoManager.hasUndo,\n          hasRedo: undoManager.hasRedo,\n          transact: (_undoManager, _locks, fn) => undoManager.transact(fn),\n          ignore: (_locks, callback) => undoManager.ignore(callback),\n          extra: (_undoManager, _index, callback1, callback2) => undoManager.extra(callback1, callback2)\n        },\n        formatter: {\n          match: (name, vars, _node, similar) => formatter.match(name, defaultVars(vars), similar),\n          matchAll: formatter.matchAll,\n          matchNode: formatter.matchNode,\n          canApply: name => formatter.canApply(name),\n          closest: names => formatter.closest(names),\n          apply: (name, vars, _node) => formatter.apply(name, defaultVars(vars)),\n          remove: (name, vars, _node, _similar) => formatter.remove(name, defaultVars(vars)),\n          toggle: (name, vars, _node) => formatter.toggle(name, defaultVars(vars)),\n          formatChanged: (_rfl, formats, callback, similar, vars) => formatter.formatChanged(formats, callback, similar, vars)\n        },\n        editor: {\n          getContent: args => editor.getContent(args),\n          setContent: (content, args) => {\n            return {\n              content: editor.setContent(content, args),\n              html: ''\n            };\n          },\n          insertContent: (content, _details) => {\n            editor.insertContent(content);\n            return '';\n          },\n          addVisual: editor.addVisual\n        },\n        selection: {\n          getContent: (_format, args) => selection.getContent(args)\n        },\n        autocompleter: {\n          addDecoration: autocompleter.addDecoration,\n          removeDecoration: autocompleter.removeDecoration\n        },\n        raw: {\n          getModel: () => Optional.some(raw.getRawModel())\n        }\n      };\n    };\n    const makeNoopAdaptor = () => {\n      const nul = constant(null);\n      const empty = constant('');\n      return {\n        init: {\n          bindEvents: noop\n        },\n        undoManager: {\n          beforeChange: noop,\n          add: nul,\n          undo: nul,\n          redo: nul,\n          clear: noop,\n          reset: noop,\n          hasUndo: never,\n          hasRedo: never,\n          transact: nul,\n          ignore: noop,\n          extra: noop\n        },\n        formatter: {\n          match: never,\n          matchAll: constant([]),\n          matchNode: constant(undefined),\n          canApply: never,\n          closest: empty,\n          apply: noop,\n          remove: noop,\n          toggle: noop,\n          formatChanged: constant({\n            unbind: noop\n          })\n        },\n        editor: {\n          getContent: empty,\n          setContent: constant({\n            content: '',\n            html: ''\n          }),\n          insertContent: constant(''),\n          addVisual: noop\n        },\n        selection: {\n          getContent: empty\n        },\n        autocompleter: {\n          addDecoration: noop,\n          removeDecoration: noop\n        },\n        raw: {\n          getModel: constant(Optional.none())\n        }\n      };\n    };\n    const isRtc = editor => has$2(editor.plugins, 'rtc');\n    const getRtcSetup = editor => get$a(editor.plugins, 'rtc').bind(rtcPlugin => Optional.from(rtcPlugin.setup));\n    const setup$t = editor => {\n      const editorCast = editor;\n      return getRtcSetup(editor).fold(() => {\n        editorCast.rtcInstance = makePlainAdaptor(editor);\n        return Optional.none();\n      }, setup => {\n        editorCast.rtcInstance = makeNoopAdaptor();\n        return Optional.some(() => setup().then(rtcEditor => {\n          editorCast.rtcInstance = makeRtcAdaptor(rtcEditor);\n          return rtcEditor.rtc.isRemote;\n        }));\n      });\n    };\n    const getRtcInstanceWithFallback = editor => editor.rtcInstance ? editor.rtcInstance : makePlainAdaptor(editor);\n    const getRtcInstanceWithError = editor => {\n      const rtcInstance = editor.rtcInstance;\n      if (!rtcInstance) {\n        throw new Error('Failed to get RTC instance not yet initialized.');\n      } else {\n        return rtcInstance;\n      }\n    };\n    const beforeChange = (editor, locks, beforeBookmark) => {\n      getRtcInstanceWithError(editor).undoManager.beforeChange(locks, beforeBookmark);\n    };\n    const addUndoLevel = (editor, undoManager, index, locks, beforeBookmark, level, event) => getRtcInstanceWithError(editor).undoManager.add(undoManager, index, locks, beforeBookmark, level, event);\n    const undo = (editor, undoManager, locks, index) => getRtcInstanceWithError(editor).undoManager.undo(undoManager, locks, index);\n    const redo = (editor, index, data) => getRtcInstanceWithError(editor).undoManager.redo(index, data);\n    const clear = (editor, undoManager, index) => {\n      getRtcInstanceWithError(editor).undoManager.clear(undoManager, index);\n    };\n    const reset = (editor, undoManager) => {\n      getRtcInstanceWithError(editor).undoManager.reset(undoManager);\n    };\n    const hasUndo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasUndo(undoManager, index);\n    const hasRedo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasRedo(undoManager, index);\n    const transact = (editor, undoManager, locks, callback) => getRtcInstanceWithError(editor).undoManager.transact(undoManager, locks, callback);\n    const ignore = (editor, locks, callback) => {\n      getRtcInstanceWithError(editor).undoManager.ignore(locks, callback);\n    };\n    const extra = (editor, undoManager, index, callback1, callback2) => {\n      getRtcInstanceWithError(editor).undoManager.extra(undoManager, index, callback1, callback2);\n    };\n    const matchFormat = (editor, name, vars, node, similar) => getRtcInstanceWithError(editor).formatter.match(name, vars, node, similar);\n    const matchAllFormats = (editor, names, vars) => getRtcInstanceWithError(editor).formatter.matchAll(names, vars);\n    const matchNodeFormat = (editor, node, name, vars, similar) => getRtcInstanceWithError(editor).formatter.matchNode(node, name, vars, similar);\n    const canApplyFormat = (editor, name) => getRtcInstanceWithError(editor).formatter.canApply(name);\n    const closestFormat = (editor, names) => getRtcInstanceWithError(editor).formatter.closest(names);\n    const applyFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.apply(name, vars, node);\n    };\n    const removeFormat = (editor, name, vars, node, similar) => {\n      getRtcInstanceWithError(editor).formatter.remove(name, vars, node, similar);\n    };\n    const toggleFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.toggle(name, vars, node);\n    };\n    const formatChanged = (editor, registeredFormatListeners, formats, callback, similar, vars) => getRtcInstanceWithError(editor).formatter.formatChanged(registeredFormatListeners, formats, callback, similar, vars);\n    const getContent$2 = (editor, args) => getRtcInstanceWithFallback(editor).editor.getContent(args);\n    const setContent$2 = (editor, content, args) => getRtcInstanceWithFallback(editor).editor.setContent(content, args);\n    const insertContent$1 = (editor, value, details) => getRtcInstanceWithFallback(editor).editor.insertContent(value, details);\n    const getSelectedContent = (editor, format, args) => getRtcInstanceWithError(editor).selection.getContent(format, args);\n    const addVisual$1 = (editor, elm) => getRtcInstanceWithError(editor).editor.addVisual(elm);\n    const bindEvents = editor => getRtcInstanceWithError(editor).init.bindEvents();\n    const addAutocompleterDecoration = (editor, range) => getRtcInstanceWithError(editor).autocompleter.addDecoration(range);\n    const removeAutocompleterDecoration = editor => getRtcInstanceWithError(editor).autocompleter.removeDecoration();\n\n    const getContent$1 = (editor, args = {}) => {\n      const format = args.format ? args.format : 'html';\n      return getSelectedContent(editor, format, args);\n    };\n\n    const removeEmpty = text => {\n      if (text.dom.length === 0) {\n        remove$5(text);\n        return Optional.none();\n      } else {\n        return Optional.some(text);\n      }\n    };\n    const walkPastBookmark = (node, start) => node.filter(elm => BookmarkManager.isBookmarkNode(elm.dom)).bind(start ? nextSibling : prevSibling);\n    const merge$1 = (outer, inner, rng, start, schema) => {\n      const outerElm = outer.dom;\n      const innerElm = inner.dom;\n      const oldLength = start ? outerElm.length : innerElm.length;\n      if (start) {\n        mergeTextNodes(outerElm, innerElm, schema, false, !start);\n        rng.setStart(innerElm, oldLength);\n      } else {\n        mergeTextNodes(innerElm, outerElm, schema, false, !start);\n        rng.setEnd(innerElm, oldLength);\n      }\n    };\n    const normalizeTextIfRequired = (inner, start, schema) => {\n      parent(inner).each(root => {\n        const text = inner.dom;\n        if (start && needsToBeNbspLeft(root, CaretPosition(text, 0), schema)) {\n          normalizeWhitespaceAfter(text, 0, schema);\n        } else if (!start && needsToBeNbspRight(root, CaretPosition(text, text.length), schema)) {\n          normalizeWhitespaceBefore(text, text.length, schema);\n        }\n      });\n    };\n    const mergeAndNormalizeText = (outerNode, innerNode, rng, start, schema) => {\n      outerNode.bind(outer => {\n        const normalizer = start ? normalizeWhitespaceBefore : normalizeWhitespaceAfter;\n        normalizer(outer.dom, start ? outer.dom.length : 0, schema);\n        return innerNode.filter(isText$b).map(inner => merge$1(outer, inner, rng, start, schema));\n      }).orThunk(() => {\n        const innerTextNode = walkPastBookmark(innerNode, start).or(innerNode).filter(isText$b);\n        return innerTextNode.map(inner => normalizeTextIfRequired(inner, start, schema));\n      });\n    };\n    const rngSetContent = (rng, fragment, schema) => {\n      const firstChild = Optional.from(fragment.firstChild).map(SugarElement.fromDom);\n      const lastChild = Optional.from(fragment.lastChild).map(SugarElement.fromDom);\n      rng.deleteContents();\n      rng.insertNode(fragment);\n      const prevText = firstChild.bind(prevSibling).filter(isText$b).bind(removeEmpty);\n      const nextText = lastChild.bind(nextSibling).filter(isText$b).bind(removeEmpty);\n      mergeAndNormalizeText(prevText, firstChild, rng, true, schema);\n      mergeAndNormalizeText(nextText, lastChild, rng, false, schema);\n      rng.collapse(false);\n    };\n    const setupArgs$2 = (args, content) => ({\n      format: 'html',\n      ...args,\n      set: true,\n      selection: true,\n      content\n    });\n    const cleanContent = (editor, args) => {\n      if (args.format !== 'raw') {\n        const rng = editor.selection.getRng();\n        const contextBlock = editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock);\n        const contextArgs = contextBlock ? {\n          context: contextBlock.nodeName.toLowerCase()\n        } : {};\n        const node = editor.parser.parse(args.content, {\n          forced_root_block: false,\n          ...contextArgs,\n          ...args\n        });\n        return HtmlSerializer({\n          validate: false\n        }, editor.schema).serialize(node);\n      } else {\n        return args.content;\n      }\n    };\n    const setContent$1 = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs$2(args, content);\n      preProcessSetContent(editor, defaultedArgs).each(updatedArgs => {\n        const cleanedContent = cleanContent(editor, updatedArgs);\n        const rng = editor.selection.getRng();\n        rngSetContent(rng, rng.createContextualFragment(cleanedContent), editor.schema);\n        editor.selection.setRng(rng);\n        scrollRangeIntoView(editor, rng);\n        postProcessSetContent(editor, cleanedContent, updatedArgs);\n      });\n    };\n\n    const deleteFromCallbackMap = (callbackMap, selector, callback) => {\n      if (has$2(callbackMap, selector)) {\n        const newCallbacks = filter$5(callbackMap[selector], cb => cb !== callback);\n        if (newCallbacks.length === 0) {\n          delete callbackMap[selector];\n        } else {\n          callbackMap[selector] = newCallbacks;\n        }\n      }\n    };\n    var SelectorChanged = (dom, editor) => {\n      let selectorChangedData;\n      let currentSelectors;\n      const findMatchingNode = (selector, nodes) => find$2(nodes, node => dom.is(node, selector));\n      const getParents = elem => dom.getParents(elem, undefined, dom.getRoot());\n      const setup = () => {\n        selectorChangedData = {};\n        currentSelectors = {};\n        editor.on('NodeChange', e => {\n          const node = e.element;\n          const parents = getParents(node);\n          const matchedSelectors = {};\n          each$d(selectorChangedData, (callbacks, selector) => {\n            findMatchingNode(selector, parents).each(node => {\n              if (!currentSelectors[selector]) {\n                each$e(callbacks, callback => {\n                  callback(true, {\n                    node,\n                    selector,\n                    parents\n                  });\n                });\n                currentSelectors[selector] = callbacks;\n              }\n              matchedSelectors[selector] = callbacks;\n            });\n          });\n          each$d(currentSelectors, (callbacks, selector) => {\n            if (!matchedSelectors[selector]) {\n              delete currentSelectors[selector];\n              each$e(callbacks, callback => {\n                callback(false, {\n                  node,\n                  selector,\n                  parents\n                });\n              });\n            }\n          });\n        });\n      };\n      return {\n        selectorChangedWithUnbind: (selector, callback) => {\n          if (!selectorChangedData) {\n            setup();\n          }\n          if (!selectorChangedData[selector]) {\n            selectorChangedData[selector] = [];\n          }\n          selectorChangedData[selector].push(callback);\n          findMatchingNode(selector, getParents(editor.selection.getStart())).each(() => {\n            currentSelectors[selector] = selectorChangedData[selector];\n          });\n          return {\n            unbind: () => {\n              deleteFromCallbackMap(selectorChangedData, selector, callback);\n              deleteFromCallbackMap(currentSelectors, selector, callback);\n            }\n          };\n        }\n      };\n    };\n\n    const isAttachedToDom = node => {\n      return !!(node && node.ownerDocument) && contains(SugarElement.fromDom(node.ownerDocument), SugarElement.fromDom(node));\n    };\n    const isValidRange = rng => {\n      if (!rng) {\n        return false;\n      } else {\n        return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);\n      }\n    };\n    const EditorSelection = (dom, win, serializer, editor) => {\n      let selectedRange;\n      let explicitRange;\n      const {\n        selectorChangedWithUnbind\n      } = SelectorChanged(dom, editor);\n      const setCursorLocation = (node, offset) => {\n        const rng = dom.createRng();\n        if (isNonNullable(node) && isNonNullable(offset)) {\n          rng.setStart(node, offset);\n          rng.setEnd(node, offset);\n          setRng(rng);\n          collapse(false);\n        } else {\n          moveEndPoint(dom, rng, editor.getBody(), true);\n          setRng(rng);\n        }\n      };\n      const getContent = args => getContent$1(editor, args);\n      const setContent = (content, args) => setContent$1(editor, content, args);\n      const getStart$1 = real => getStart(editor.getBody(), getRng$1(), real);\n      const getEnd = real => getEnd$1(editor.getBody(), getRng$1(), real);\n      const getBookmark = (type, normalized) => bookmarkManager.getBookmark(type, normalized);\n      const moveToBookmark = bookmark => bookmarkManager.moveToBookmark(bookmark);\n      const select$1 = (node, content) => {\n        select(dom, node, content).each(setRng);\n        return node;\n      };\n      const isCollapsed = () => {\n        const rng = getRng$1(),\n          sel = getSel();\n        if (!rng || rng.item) {\n          return false;\n        }\n        if (rng.compareEndPoints) {\n          return rng.compareEndPoints('StartToEnd', rng) === 0;\n        }\n        return !sel || rng.collapsed;\n      };\n      const isEditable = () => {\n        const rng = getRng$1();\n        const fakeSelectedElements = editor.getBody().querySelectorAll('[data-mce-selected=\"1\"]');\n        if (fakeSelectedElements.length > 0) {\n          return forall(fakeSelectedElements, el => dom.isEditable(el.parentElement));\n        } else {\n          return isEditableRange(dom, rng);\n        }\n      };\n      const collapse = toStart => {\n        const rng = getRng$1();\n        rng.collapse(!!toStart);\n        setRng(rng);\n      };\n      const getSel = () => win.getSelection ? win.getSelection() : win.document.selection;\n      const getRng$1 = () => {\n        let rng;\n        const tryCompareBoundaryPoints = (how, sourceRange, destinationRange) => {\n          try {\n            return sourceRange.compareBoundaryPoints(how, destinationRange);\n          } catch (ex) {\n            return -1;\n          }\n        };\n        const doc = win.document;\n        if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n          const bookmark = getRng(editor);\n          if (bookmark.isSome()) {\n            return bookmark.map(r => processRanges(editor, [r])[0]).getOr(doc.createRange());\n          }\n        }\n        try {\n          const selection = getSel();\n          if (selection && !isRestrictedNode(selection.anchorNode)) {\n            if (selection.rangeCount > 0) {\n              rng = selection.getRangeAt(0);\n            } else {\n              rng = doc.createRange();\n            }\n            rng = processRanges(editor, [rng])[0];\n          }\n        } catch (ex) {}\n        if (!rng) {\n          rng = doc.createRange();\n        }\n        if (isDocument$1(rng.startContainer) && rng.collapsed) {\n          const elm = dom.getRoot();\n          rng.setStart(elm, 0);\n          rng.setEnd(elm, 0);\n        }\n        if (selectedRange && explicitRange) {\n          if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) {\n            rng = explicitRange;\n          } else {\n            selectedRange = null;\n            explicitRange = null;\n          }\n        }\n        return rng;\n      };\n      const setRng = (rng, forward) => {\n        if (!isValidRange(rng)) {\n          return;\n        }\n        const sel = getSel();\n        const evt = editor.dispatch('SetSelectionRange', {\n          range: rng,\n          forward\n        });\n        rng = evt.range;\n        if (sel) {\n          explicitRange = rng;\n          try {\n            sel.removeAllRanges();\n            sel.addRange(rng);\n          } catch (ex) {}\n          if (forward === false && sel.extend) {\n            sel.collapse(rng.endContainer, rng.endOffset);\n            sel.extend(rng.startContainer, rng.startOffset);\n          }\n          selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n        }\n        if (!rng.collapsed && rng.startContainer === rng.endContainer && (sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent)) {\n          if (rng.endOffset - rng.startOffset < 2) {\n            if (rng.startContainer.hasChildNodes()) {\n              const node = rng.startContainer.childNodes[rng.startOffset];\n              if (node && node.nodeName === 'IMG') {\n                sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset);\n                if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) {\n                  sel.setBaseAndExtent(node, 0, node, 1);\n                }\n              }\n            }\n          }\n        }\n        editor.dispatch('AfterSetSelectionRange', {\n          range: rng,\n          forward\n        });\n      };\n      const setNode = elm => {\n        setContent(dom.getOuterHTML(elm));\n        return elm;\n      };\n      const getNode$1 = () => getNode(editor.getBody(), getRng$1());\n      const getSelectedBlocks$1 = (startElm, endElm) => getSelectedBlocks(dom, getRng$1(), startElm, endElm);\n      const isForward = () => {\n        const sel = getSel();\n        const anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n        const focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n        if (!sel || !anchorNode || !focusNode || isRestrictedNode(anchorNode) || isRestrictedNode(focusNode)) {\n          return true;\n        }\n        const anchorRange = dom.createRng();\n        const focusRange = dom.createRng();\n        try {\n          anchorRange.setStart(anchorNode, sel.anchorOffset);\n          anchorRange.collapse(true);\n          focusRange.setStart(focusNode, sel.focusOffset);\n          focusRange.collapse(true);\n        } catch (e) {\n          return true;\n        }\n        return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0;\n      };\n      const normalize = () => {\n        const rng = getRng$1();\n        const sel = getSel();\n        if (!hasMultipleRanges(sel) && hasAnyRanges(editor)) {\n          const normRng = normalize$2(dom, rng);\n          normRng.each(normRng => {\n            setRng(normRng, isForward());\n          });\n          return normRng.getOr(rng);\n        }\n        return rng;\n      };\n      const selectorChanged = (selector, callback) => {\n        selectorChangedWithUnbind(selector, callback);\n        return exports;\n      };\n      const getScrollContainer = () => {\n        let scrollContainer;\n        let node = dom.getRoot();\n        while (node && node.nodeName !== 'BODY') {\n          if (node.scrollHeight > node.clientHeight) {\n            scrollContainer = node;\n            break;\n          }\n          node = node.parentNode;\n        }\n        return scrollContainer;\n      };\n      const scrollIntoView = (elm, alignToTop) => {\n        if (isNonNullable(elm)) {\n          scrollElementIntoView(editor, elm, alignToTop);\n        } else {\n          scrollRangeIntoView(editor, getRng$1(), alignToTop);\n        }\n      };\n      const placeCaretAt = (clientX, clientY) => setRng(fromPoint(clientX, clientY, editor.getDoc()));\n      const getBoundingClientRect = () => {\n        const rng = getRng$1();\n        return rng.collapsed ? CaretPosition.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect();\n      };\n      const destroy = () => {\n        win = selectedRange = explicitRange = null;\n        controlSelection.destroy();\n      };\n      const expand = (options = {\n        type: 'word'\n      }) => setRng(RangeUtils(dom).expand(getRng$1(), options));\n      const exports = {\n        dom,\n        win,\n        serializer,\n        editor,\n        expand,\n        collapse,\n        setCursorLocation,\n        getContent,\n        setContent,\n        getBookmark,\n        moveToBookmark,\n        select: select$1,\n        isCollapsed,\n        isEditable,\n        isForward,\n        setNode,\n        getNode: getNode$1,\n        getSel,\n        setRng,\n        getRng: getRng$1,\n        getStart: getStart$1,\n        getEnd,\n        getSelectedBlocks: getSelectedBlocks$1,\n        normalize,\n        selectorChanged,\n        selectorChangedWithUnbind,\n        getScrollContainer,\n        scrollIntoView,\n        placeCaretAt,\n        getBoundingClientRect,\n        destroy\n      };\n      const bookmarkManager = BookmarkManager(exports);\n      const controlSelection = ControlSelection(exports, editor);\n      exports.bookmarkManager = bookmarkManager;\n      exports.controlSelection = controlSelection;\n      return exports;\n    };\n\n    const register$3 = (htmlParser, settings, dom) => {\n      htmlParser.addAttributeFilter('data-mce-tabindex', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          node.attr('tabindex', node.attr('data-mce-tabindex'));\n          node.attr(name, null);\n        }\n      });\n      htmlParser.addAttributeFilter('src,href,style', (nodes, name) => {\n        const internalName = 'data-mce-' + name;\n        const urlConverter = settings.url_converter;\n        const urlConverterScope = settings.url_converter_scope;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(internalName);\n          if (value !== undefined) {\n            node.attr(name, value.length > 0 ? value : null);\n            node.attr(internalName, null);\n          } else {\n            value = node.attr(name);\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n            } else if (urlConverter) {\n              value = urlConverter.call(urlConverterScope, value, name, node.name);\n            }\n            node.attr(name, value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr('class');\n          if (value) {\n            value = value.replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g, '');\n            node.attr('class', value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', (nodes, name, args) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.attr('data-mce-type') === 'bookmark' && !args.cleanup) {\n            const hasChildren = Optional.from(node.firstChild).exists(firstChild => {\n              var _a;\n              return !isZwsp$1((_a = firstChild.value) !== null && _a !== void 0 ? _a : '');\n            });\n            if (hasChildren) {\n              node.unwrap();\n            } else {\n              node.remove();\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('script,style', (nodes, name) => {\n        var _a;\n        const trim = value => {\n          return value.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g, '\\n').replace(/^[\\r\\n]*|[\\r\\n]*$/g, '').replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi, '').replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g, '');\n        };\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const firstChild = node.firstChild;\n          const value = (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.value) !== null && _a !== void 0 ? _a : '';\n          if (name === 'script') {\n            const type = node.attr('type');\n            if (type) {\n              node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\\-/, ''));\n            }\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '// <![CDATA[\\n' + trim(value) + '\\n// ]]>';\n            }\n          } else {\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '<!--\\n' + trim(value) + '\\n-->';\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('#comment', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const value = node.value;\n          if (settings.preserve_cdata && (value === null || value === void 0 ? void 0 : value.indexOf('[CDATA[')) === 0) {\n            node.name = '#cdata';\n            node.type = 4;\n            node.value = dom.decode(value.replace(/^\\[CDATA\\[|\\]\\]$/g, ''));\n          } else if ((value === null || value === void 0 ? void 0 : value.indexOf('mce:protected ')) === 0) {\n            node.name = '#text';\n            node.type = 3;\n            node.raw = true;\n            node.value = unescape(value).substr(14);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('xml:namespace,input', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.type === 7) {\n            node.remove();\n          } else if (node.type === 1) {\n            if (name === 'input' && !node.attr('type')) {\n              node.attr('type', 'text');\n            }\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', nodes => {\n        each$e(nodes, node => {\n          if (node.attr('data-mce-type') === 'format-caret') {\n            if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) {\n              node.remove();\n            } else {\n              node.unwrap();\n            }\n          }\n        });\n      });\n      htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,data-mce-block,' + 'data-mce-type,data-mce-resize,data-mce-placeholder', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          nodes[i].attr(name, null);\n        }\n      });\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, htmlParser, htmlParser.schema);\n      }\n    };\n    const trimTrailingBr = rootNode => {\n      const isBr = node => {\n        return (node === null || node === void 0 ? void 0 : node.name) === 'br';\n      };\n      const brNode1 = rootNode.lastChild;\n      if (isBr(brNode1)) {\n        const brNode2 = brNode1.prev;\n        if (isBr(brNode2)) {\n          brNode1.remove();\n          brNode2.remove();\n        }\n      }\n    };\n\n    const preProcess$1 = (editor, node, args) => {\n      let oldDoc;\n      const dom = editor.dom;\n      let clonedNode = node.cloneNode(true);\n      const impl = document.implementation;\n      if (impl.createHTMLDocument) {\n        const doc = impl.createHTMLDocument('');\n        Tools.each(clonedNode.nodeName === 'BODY' ? clonedNode.childNodes : [clonedNode], node => {\n          doc.body.appendChild(doc.importNode(node, true));\n        });\n        if (clonedNode.nodeName !== 'BODY') {\n          clonedNode = doc.body.firstChild;\n        } else {\n          clonedNode = doc.body;\n        }\n        oldDoc = dom.doc;\n        dom.doc = doc;\n      }\n      firePreProcess(editor, {\n        ...args,\n        node: clonedNode\n      });\n      if (oldDoc) {\n        dom.doc = oldDoc;\n      }\n      return clonedNode;\n    };\n    const shouldFireEvent = (editor, args) => {\n      return isNonNullable(editor) && editor.hasEventListeners('PreProcess') && !args.no_events;\n    };\n    const process$1 = (editor, node, args) => {\n      return shouldFireEvent(editor, args) ? preProcess$1(editor, node, args) : node;\n    };\n\n    const addTempAttr = (htmlParser, tempAttrs, name) => {\n      if (Tools.inArray(tempAttrs, name) === -1) {\n        htmlParser.addAttributeFilter(name, (nodes, name) => {\n          let i = nodes.length;\n          while (i--) {\n            nodes[i].attr(name, null);\n          }\n        });\n        tempAttrs.push(name);\n      }\n    };\n    const postProcess = (editor, args, content) => {\n      if (!args.no_events && editor) {\n        const outArgs = firePostProcess(editor, {\n          ...args,\n          content\n        });\n        return outArgs.content;\n      } else {\n        return content;\n      }\n    };\n    const getHtmlFromNode = (dom, node, args) => {\n      const html = trim$2(args.getInner ? node.innerHTML : dom.getOuterHTML(node));\n      return args.selection || isWsPreserveElement(SugarElement.fromDom(node)) ? html : Tools.trim(html);\n    };\n    const parseHtml = (htmlParser, html, args) => {\n      const parserArgs = args.selection ? {\n        forced_root_block: false,\n        ...args\n      } : args;\n      const rootNode = htmlParser.parse(html, parserArgs);\n      trimTrailingBr(rootNode);\n      return rootNode;\n    };\n    const serializeNode = (settings, schema, node) => {\n      const htmlSerializer = HtmlSerializer(settings, schema);\n      return htmlSerializer.serialize(node);\n    };\n    const toHtml = (editor, settings, schema, rootNode, args) => {\n      const content = serializeNode(settings, schema, rootNode);\n      return postProcess(editor, args, content);\n    };\n    const DomSerializerImpl = (settings, editor) => {\n      const tempAttrs = ['data-mce-selected'];\n      const defaultedSettings = {\n        entity_encoding: 'named',\n        remove_trailing_brs: true,\n        pad_empty_with_br: false,\n        ...settings\n      };\n      const dom = editor && editor.dom ? editor.dom : DOMUtils.DOM;\n      const schema = editor && editor.schema ? editor.schema : Schema(defaultedSettings);\n      const htmlParser = DomParser(defaultedSettings, schema);\n      register$3(htmlParser, defaultedSettings, dom);\n      const serialize = (node, parserArgs = {}) => {\n        const args = {\n          format: 'html',\n          ...parserArgs\n        };\n        const targetNode = process$1(editor, node, args);\n        const html = getHtmlFromNode(dom, targetNode, args);\n        const rootNode = parseHtml(htmlParser, html, args);\n        return args.format === 'tree' ? rootNode : toHtml(editor, defaultedSettings, schema, rootNode, args);\n      };\n      return {\n        schema,\n        addNodeFilter: htmlParser.addNodeFilter,\n        addAttributeFilter: htmlParser.addAttributeFilter,\n        serialize: serialize,\n        addRules: schema.addValidElements,\n        setRules: schema.setValidElements,\n        addTempAttr: curry(addTempAttr, htmlParser, tempAttrs),\n        getTempAttrs: constant(tempAttrs),\n        getNodeFilters: htmlParser.getNodeFilters,\n        getAttributeFilters: htmlParser.getAttributeFilters,\n        removeNodeFilter: htmlParser.removeNodeFilter,\n        removeAttributeFilter: htmlParser.removeAttributeFilter\n      };\n    };\n\n    const DomSerializer = (settings, editor) => {\n      const domSerializer = DomSerializerImpl(settings, editor);\n      return {\n        schema: domSerializer.schema,\n        addNodeFilter: domSerializer.addNodeFilter,\n        addAttributeFilter: domSerializer.addAttributeFilter,\n        serialize: domSerializer.serialize,\n        addRules: domSerializer.addRules,\n        setRules: domSerializer.setRules,\n        addTempAttr: domSerializer.addTempAttr,\n        getTempAttrs: domSerializer.getTempAttrs,\n        getNodeFilters: domSerializer.getNodeFilters,\n        getAttributeFilters: domSerializer.getAttributeFilters,\n        removeNodeFilter: domSerializer.removeNodeFilter,\n        removeAttributeFilter: domSerializer.removeAttributeFilter\n      };\n    };\n\n    const defaultFormat$1 = 'html';\n    const setupArgs$1 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      getInner: true\n    });\n    const getContent = (editor, args = {}) => {\n      const format = args.format ? args.format : defaultFormat$1;\n      const defaultedArgs = setupArgs$1(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = getContent$2(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const defaultFormat = 'html';\n    const setupArgs = (args, content) => ({\n      format: defaultFormat,\n      ...args,\n      set: true,\n      content\n    });\n    const setContent = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs(args, content);\n      return preProcessSetContent(editor, defaultedArgs).map(updatedArgs => {\n        const result = setContent$2(editor, updatedArgs.content, updatedArgs);\n        postProcessSetContent(editor, result.html, updatedArgs);\n        return result.content;\n      }).getOr(content);\n    };\n\n    const removedOptions = ('autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,' + 'boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,' + 'force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,' + 'non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,' + 'tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,' + 'paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists').split(',');\n    const deprecatedOptions = 'template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format'.split(',');\n    const removedPlugins = 'bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor'.split(',');\n    const deprecatedPlugins = [{\n      name: 'template',\n      replacedWith: 'Advanced Template'\n    }, {\n      name: 'rtc'\n    }];\n    const getMatchingOptions = (options, searchingFor) => {\n      const settingNames = filter$5(searchingFor, setting => has$2(options, setting));\n      return sort(settingNames);\n    };\n    const getRemovedOptions = options => {\n      const settingNames = getMatchingOptions(options, removedOptions);\n      const forcedRootBlock = options.forced_root_block;\n      if (forcedRootBlock === false || forcedRootBlock === '') {\n        settingNames.push('forced_root_block (false only)');\n      }\n      return sort(settingNames);\n    };\n    const getDeprecatedOptions = options => getMatchingOptions(options, deprecatedOptions);\n    const getMatchingPlugins = (options, searchingFor) => {\n      const plugins = Tools.makeMap(options.plugins, ' ');\n      const hasPlugin = plugin => has$2(plugins, plugin);\n      const pluginNames = filter$5(searchingFor, hasPlugin);\n      return sort(pluginNames);\n    };\n    const getRemovedPlugins = options => getMatchingPlugins(options, removedPlugins);\n    const getDeprecatedPlugins = options => getMatchingPlugins(options, deprecatedPlugins.map(entry => entry.name));\n    const logRemovedWarnings = (rawOptions, normalizedOptions) => {\n      const removedOptions = getRemovedOptions(rawOptions);\n      const removedPlugins = getRemovedPlugins(normalizedOptions);\n      const hasRemovedPlugins = removedPlugins.length > 0;\n      const hasRemovedOptions = removedOptions.length > 0;\n      const isLegacyMobileTheme = normalizedOptions.theme === 'mobile';\n      if (hasRemovedPlugins || hasRemovedOptions || isLegacyMobileTheme) {\n        const listJoiner = '\\n- ';\n        const themesMessage = isLegacyMobileTheme ? \"\\n\\nThemes:\".concat(listJoiner, \"mobile\") : '';\n        const pluginsMessage = hasRemovedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(removedPlugins.join(listJoiner)) : '';\n        const optionsMessage = hasRemovedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(removedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. ' + 'See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information.' + themesMessage + pluginsMessage + optionsMessage);\n      }\n    };\n    const getPluginDescription = name => find$2(deprecatedPlugins, entry => entry.name === name).fold(() => name, entry => {\n      if (entry.replacedWith) {\n        return \"\".concat(name, \", replaced by \").concat(entry.replacedWith);\n      } else {\n        return name;\n      }\n    });\n    const logDeprecatedWarnings = (rawOptions, normalizedOptions) => {\n      const deprecatedOptions = getDeprecatedOptions(rawOptions);\n      const deprecatedPlugins = getDeprecatedPlugins(normalizedOptions);\n      const hasDeprecatedPlugins = deprecatedPlugins.length > 0;\n      const hasDeprecatedOptions = deprecatedOptions.length > 0;\n      if (hasDeprecatedPlugins || hasDeprecatedOptions) {\n        const listJoiner = '\\n- ';\n        const pluginsMessage = hasDeprecatedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(deprecatedPlugins.map(getPluginDescription).join(listJoiner)) : '';\n        const optionsMessage = hasDeprecatedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(deprecatedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled but will be removed soon.' + pluginsMessage + optionsMessage);\n      }\n    };\n    const logWarnings = (rawOptions, normalizedOptions) => {\n      logRemovedWarnings(rawOptions, normalizedOptions);\n      logDeprecatedWarnings(rawOptions, normalizedOptions);\n    };\n\n    const DOM$8 = DOMUtils.DOM;\n    const restoreOriginalStyles = editor => {\n      DOM$8.setStyle(editor.id, 'display', editor.orgDisplay);\n    };\n    const safeDestroy = x => Optional.from(x).each(x => x.destroy());\n    const clearDomReferences = editor => {\n      const ed = editor;\n      ed.contentAreaContainer = ed.formElement = ed.container = ed.editorContainer = null;\n      ed.bodyElement = ed.contentDocument = ed.contentWindow = null;\n      ed.iframeElement = ed.targetElm = null;\n      const selection = editor.selection;\n      if (selection) {\n        const dom = selection.dom;\n        ed.selection = selection.win = selection.dom = dom.doc = null;\n      }\n    };\n    const restoreForm = editor => {\n      const form = editor.formElement;\n      if (form) {\n        if (form._mceOldSubmit) {\n          form.submit = form._mceOldSubmit;\n          delete form._mceOldSubmit;\n        }\n        DOM$8.unbind(form, 'submit reset', editor.formEventDelegate);\n      }\n    };\n    const remove$1 = editor => {\n      if (!editor.removed) {\n        const {\n          _selectionOverrides,\n          editorUpload\n        } = editor;\n        const body = editor.getBody();\n        const element = editor.getElement();\n        if (body) {\n          editor.save({\n            is_removing: true\n          });\n        }\n        editor.removed = true;\n        editor.unbindAllNativeEvents();\n        if (editor.hasHiddenInput && isNonNullable(element === null || element === void 0 ? void 0 : element.nextSibling)) {\n          DOM$8.remove(element.nextSibling);\n        }\n        fireRemove(editor);\n        editor.editorManager.remove(editor);\n        if (!editor.inline && body) {\n          restoreOriginalStyles(editor);\n        }\n        fireDetach(editor);\n        DOM$8.remove(editor.getContainer());\n        safeDestroy(_selectionOverrides);\n        safeDestroy(editorUpload);\n        editor.destroy();\n      }\n    };\n    const destroy = (editor, automatic) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      if (editor.destroyed) {\n        return;\n      }\n      if (!automatic && !editor.removed) {\n        editor.remove();\n        return;\n      }\n      if (!automatic) {\n        editor.editorManager.off('beforeunload', editor._beforeUnload);\n        if (editor.theme && editor.theme.destroy) {\n          editor.theme.destroy();\n        }\n        safeDestroy(selection);\n        safeDestroy(dom);\n      }\n      restoreForm(editor);\n      clearDomReferences(editor);\n      editor.destroyed = true;\n    };\n\n    const CreateIconManager = () => {\n      const lookup = {};\n      const add = (id, iconPack) => {\n        lookup[id] = iconPack;\n      };\n      const get = id => {\n        if (lookup[id]) {\n          return lookup[id];\n        } else {\n          return {\n            icons: {}\n          };\n        }\n      };\n      const has = id => has$2(lookup, id);\n      return {\n        add,\n        get,\n        has\n      };\n    };\n    const IconManager = CreateIconManager();\n\n    const ModelManager = AddOnManager.ModelManager;\n\n    const getProp = (propName, elm) => {\n      const rawElm = elm.dom;\n      return rawElm[propName];\n    };\n    const getComputedSizeProp = (propName, elm) => parseInt(get$7(elm, propName), 10);\n    const getClientWidth = curry(getProp, 'clientWidth');\n    const getClientHeight = curry(getProp, 'clientHeight');\n    const getMarginTop = curry(getComputedSizeProp, 'margin-top');\n    const getMarginLeft = curry(getComputedSizeProp, 'margin-left');\n    const getBoundingClientRect = elm => elm.dom.getBoundingClientRect();\n    const isInsideElementContentArea = (bodyElm, clientX, clientY) => {\n      const clientWidth = getClientWidth(bodyElm);\n      const clientHeight = getClientHeight(bodyElm);\n      return clientX >= 0 && clientY >= 0 && clientX <= clientWidth && clientY <= clientHeight;\n    };\n    const transpose = (inline, elm, clientX, clientY) => {\n      const clientRect = getBoundingClientRect(elm);\n      const deltaX = inline ? clientRect.left + elm.dom.clientLeft + getMarginLeft(elm) : 0;\n      const deltaY = inline ? clientRect.top + elm.dom.clientTop + getMarginTop(elm) : 0;\n      const x = clientX - deltaX;\n      const y = clientY - deltaY;\n      return {\n        x,\n        y\n      };\n    };\n    const isXYInContentArea = (editor, clientX, clientY) => {\n      const bodyElm = SugarElement.fromDom(editor.getBody());\n      const targetElm = editor.inline ? bodyElm : documentElement(bodyElm);\n      const transposedPoint = transpose(editor.inline, targetElm, clientX, clientY);\n      return isInsideElementContentArea(targetElm, transposedPoint.x, transposedPoint.y);\n    };\n    const fromDomSafe = node => Optional.from(node).map(SugarElement.fromDom);\n    const isEditorAttachedToDom = editor => {\n      const rawContainer = editor.inline ? editor.getBody() : editor.getContentAreaContainer();\n      return fromDomSafe(rawContainer).map(inBody).getOr(false);\n    };\n\n    var NotificationManagerImpl = () => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a NotificationManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        close: unimplemented,\n        getArgs: unimplemented\n      };\n    };\n\n    const NotificationManager = editor => {\n      const notifications = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getNotificationManagerImpl ? theme.getNotificationManagerImpl() : NotificationManagerImpl();\n      };\n      const getTopNotification = () => {\n        return Optional.from(notifications[0]);\n      };\n      const isEqual = (a, b) => {\n        return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;\n      };\n      const reposition = () => {\n        each$e(notifications, notification => {\n          notification.reposition();\n        });\n      };\n      const addNotification = notification => {\n        notifications.push(notification);\n      };\n      const closeNotification = notification => {\n        findIndex$2(notifications, otherNotification => {\n          return otherNotification === notification;\n        }).each(index => {\n          notifications.splice(index, 1);\n        });\n      };\n      const open = (spec, fireEvent = true) => {\n        if (editor.removed || !isEditorAttachedToDom(editor)) {\n          return {};\n        }\n        if (fireEvent) {\n          editor.dispatch('BeforeOpenNotification', {\n            notification: spec\n          });\n        }\n        return find$2(notifications, notification => {\n          return isEqual(getImplementation().getArgs(notification), spec);\n        }).getOrThunk(() => {\n          editor.editorManager.setActive(editor);\n          const notification = getImplementation().open(spec, () => {\n            closeNotification(notification);\n            reposition();\n            if (hasEditorOrUiFocus(editor)) {\n              getTopNotification().fold(() => editor.focus(), top => focus$1(SugarElement.fromDom(top.getEl())));\n            }\n          });\n          addNotification(notification);\n          reposition();\n          editor.dispatch('OpenNotification', {\n            notification: {\n              ...notification\n            }\n          });\n          return notification;\n        });\n      };\n      const close = () => {\n        getTopNotification().each(notification => {\n          getImplementation().close(notification);\n          closeNotification(notification);\n          reposition();\n        });\n      };\n      const getNotifications = constant(notifications);\n      const registerEvents = editor => {\n        editor.on('SkinLoaded', () => {\n          const serviceMessage = getServiceMessage(editor);\n          if (serviceMessage) {\n            open({\n              text: serviceMessage,\n              type: 'warning',\n              timeout: 0\n            }, false);\n          }\n          reposition();\n        });\n        editor.on('show ResizeEditor ResizeWindow NodeChange', () => {\n          requestAnimationFrame(reposition);\n        });\n        editor.on('remove', () => {\n          each$e(notifications.slice(), notification => {\n            getImplementation().close(notification);\n          });\n        });\n      };\n      registerEvents(editor);\n      return {\n        open,\n        close,\n        getNotifications\n      };\n    };\n\n    const PluginManager = AddOnManager.PluginManager;\n\n    const ThemeManager = AddOnManager.ThemeManager;\n\n    var WindowManagerImpl = () => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a WindowManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        openUrl: unimplemented,\n        alert: unimplemented,\n        confirm: unimplemented,\n        close: unimplemented\n      };\n    };\n\n    const WindowManager = editor => {\n      let dialogs = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getWindowManagerImpl ? theme.getWindowManagerImpl() : WindowManagerImpl();\n      };\n      const funcBind = (scope, f) => {\n        return (...args) => {\n          return f ? f.apply(scope, args) : undefined;\n        };\n      };\n      const fireOpenEvent = dialog => {\n        editor.dispatch('OpenWindow', {\n          dialog\n        });\n      };\n      const fireCloseEvent = dialog => {\n        editor.dispatch('CloseWindow', {\n          dialog\n        });\n      };\n      const addDialog = dialog => {\n        dialogs.push(dialog);\n        fireOpenEvent(dialog);\n      };\n      const closeDialog = dialog => {\n        fireCloseEvent(dialog);\n        dialogs = filter$5(dialogs, otherDialog => {\n          return otherDialog !== dialog;\n        });\n        if (dialogs.length === 0) {\n          editor.focus();\n        }\n      };\n      const getTopDialog = () => {\n        return Optional.from(dialogs[dialogs.length - 1]);\n      };\n      const storeSelectionAndOpenDialog = openDialog => {\n        editor.editorManager.setActive(editor);\n        store(editor);\n        editor.ui.show();\n        const dialog = openDialog();\n        addDialog(dialog);\n        return dialog;\n      };\n      const open = (args, params) => {\n        return storeSelectionAndOpenDialog(() => getImplementation().open(args, params, closeDialog));\n      };\n      const openUrl = args => {\n        return storeSelectionAndOpenDialog(() => getImplementation().openUrl(args, closeDialog));\n      };\n      const alert = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.alert(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const confirm = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.confirm(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const close = () => {\n        getTopDialog().each(dialog => {\n          getImplementation().close(dialog);\n          closeDialog(dialog);\n        });\n      };\n      editor.on('remove', () => {\n        each$e(dialogs, dialog => {\n          getImplementation().close(dialog);\n        });\n      });\n      return {\n        open,\n        openUrl,\n        alert,\n        confirm,\n        close\n      };\n    };\n\n    const displayNotification = (editor, message) => {\n      editor.notificationManager.open({\n        type: 'error',\n        text: message\n      });\n    };\n    const displayError = (editor, message) => {\n      if (editor._skinLoaded) {\n        displayNotification(editor, message);\n      } else {\n        editor.on('SkinLoaded', () => {\n          displayNotification(editor, message);\n        });\n      }\n    };\n    const uploadError = (editor, message) => {\n      displayError(editor, I18n.translate(['Failed to upload image: {0}', message]));\n    };\n    const logError = (editor, errorType, msg) => {\n      fireError(editor, errorType, {\n        message: msg\n      });\n      console.error(msg);\n    };\n    const createLoadError = (type, url, name) => name ? \"Failed to load \".concat(type, \": \").concat(name, \" from url \").concat(url) : \"Failed to load \".concat(type, \" url: \").concat(url);\n    const pluginLoadError = (editor, url, name) => {\n      logError(editor, 'PluginLoadError', createLoadError('plugin', url, name));\n    };\n    const iconsLoadError = (editor, url, name) => {\n      logError(editor, 'IconsLoadError', createLoadError('icons', url, name));\n    };\n    const languageLoadError = (editor, url, name) => {\n      logError(editor, 'LanguageLoadError', createLoadError('language', url, name));\n    };\n    const themeLoadError = (editor, url, name) => {\n      logError(editor, 'ThemeLoadError', createLoadError('theme', url, name));\n    };\n    const modelLoadError = (editor, url, name) => {\n      logError(editor, 'ModelLoadError', createLoadError('model', url, name));\n    };\n    const pluginInitError = (editor, name, err) => {\n      const message = I18n.translate(['Failed to initialize plugin: {0}', name]);\n      fireError(editor, 'PluginLoadError', {\n        message\n      });\n      initError(message, err);\n      displayError(editor, message);\n    };\n    const initError = (message, ...x) => {\n      const console = window.console;\n      if (console) {\n        if (console.error) {\n          console.error(message, ...x);\n        } else {\n          console.log(message, ...x);\n        }\n      }\n    };\n\n    const isContentCssSkinName = url => /^[a-z0-9\\-]+$/i.test(url);\n    const toContentSkinResourceName = url => 'content/' + url + '/content.css';\n    const isBundledCssSkinName = url => tinymce.Resource.has(toContentSkinResourceName(url));\n    const getContentCssUrls = editor => {\n      return transformToUrls(editor, getContentCss(editor));\n    };\n    const getFontCssUrls = editor => {\n      return transformToUrls(editor, getFontCss(editor));\n    };\n    const transformToUrls = (editor, cssLinks) => {\n      const skinUrl = editor.editorManager.baseURL + '/skins/content';\n      const suffix = editor.editorManager.suffix;\n      const contentCssFile = \"content\".concat(suffix, \".css\");\n      return map$3(cssLinks, url => {\n        if (isBundledCssSkinName(url)) {\n          return url;\n        } else if (isContentCssSkinName(url) && !editor.inline) {\n          return \"\".concat(skinUrl, \"/\").concat(url, \"/\").concat(contentCssFile);\n        } else {\n          return editor.documentBaseURI.toAbsolute(url);\n        }\n      });\n    };\n    const appendContentCssFromSettings = editor => {\n      editor.contentCSS = editor.contentCSS.concat(getContentCssUrls(editor), getFontCssUrls(editor));\n    };\n\n    const getAllImages = elm => {\n      return elm ? from(elm.getElementsByTagName('img')) : [];\n    };\n    const ImageScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const images = filter$5(getAllImages(elm), img => {\n          const src = img.src;\n          if (img.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === Env.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(img);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(img);\n          }\n          return false;\n        });\n        const promises = map$3(images, img => {\n          const imageSrc = img.src;\n          if (has$2(cachedPromises, imageSrc)) {\n            return cachedPromises[imageSrc].then(imageInfo => {\n              if (isString(imageInfo)) {\n                return imageInfo;\n              } else {\n                return {\n                  image: img,\n                  blobInfo: imageInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = imageToBlobInfo(blobCache, imageSrc).then(blobInfo => {\n              delete cachedPromises[imageSrc];\n              return {\n                image: img,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[imageSrc];\n              return error;\n            });\n            cachedPromises[imageSrc] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const UploadStatus = () => {\n      const PENDING = 1,\n        UPLOADED = 2;\n      let blobUriStatuses = {};\n      const createStatus = (status, resultUri) => {\n        return {\n          status,\n          resultUri\n        };\n      };\n      const hasBlobUri = blobUri => {\n        return blobUri in blobUriStatuses;\n      };\n      const getResultUri = blobUri => {\n        const result = blobUriStatuses[blobUri];\n        return result ? result.resultUri : null;\n      };\n      const isPending = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === PENDING : false;\n      };\n      const isUploaded = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === UPLOADED : false;\n      };\n      const markPending = blobUri => {\n        blobUriStatuses[blobUri] = createStatus(PENDING, null);\n      };\n      const markUploaded = (blobUri, resultUri) => {\n        blobUriStatuses[blobUri] = createStatus(UPLOADED, resultUri);\n      };\n      const removeFailed = blobUri => {\n        delete blobUriStatuses[blobUri];\n      };\n      const destroy = () => {\n        blobUriStatuses = {};\n      };\n      return {\n        hasBlobUri,\n        getResultUri,\n        isPending,\n        isUploaded,\n        markPending,\n        markUploaded,\n        removeFailed,\n        destroy\n      };\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const BlobCache = () => {\n      let cache = [];\n      const mimeToExt = mime => {\n        const mimes = {\n          'image/jpeg': 'jpg',\n          'image/jpg': 'jpg',\n          'image/gif': 'gif',\n          'image/png': 'png',\n          'image/apng': 'apng',\n          'image/avif': 'avif',\n          'image/svg+xml': 'svg',\n          'image/webp': 'webp',\n          'image/bmp': 'bmp',\n          'image/tiff': 'tiff'\n        };\n        return mimes[mime.toLowerCase()] || 'dat';\n      };\n      const create = (o, blob, base64, name, filename) => {\n        if (isString(o)) {\n          const id = o;\n          return toBlobInfo({\n            id,\n            name,\n            filename,\n            blob: blob,\n            base64: base64\n          });\n        } else if (isObject(o)) {\n          return toBlobInfo(o);\n        } else {\n          throw new Error('Unknown input type');\n        }\n      };\n      const toBlobInfo = o => {\n        if (!o.blob || !o.base64) {\n          throw new Error('blob and base64 representations of the image are required for BlobInfo to be created');\n        }\n        const id = o.id || uuid('blobid');\n        const name = o.name || id;\n        const blob = o.blob;\n        return {\n          id: constant(id),\n          name: constant(name),\n          filename: constant(o.filename || name + '.' + mimeToExt(blob.type)),\n          blob: constant(blob),\n          base64: constant(o.base64),\n          blobUri: constant(o.blobUri || URL.createObjectURL(blob)),\n          uri: constant(o.uri),\n          library: constant(o.library)\n        };\n      };\n      const add = blobInfo => {\n        if (!get(blobInfo.id())) {\n          cache.push(blobInfo);\n        }\n      };\n      const findFirst = predicate => find$2(cache, predicate).getOrUndefined();\n      const get = id => findFirst(cachedBlobInfo => cachedBlobInfo.id() === id);\n      const getByUri = blobUri => findFirst(blobInfo => blobInfo.blobUri() === blobUri);\n      const getByData = (base64, type) => findFirst(blobInfo => blobInfo.base64() === base64 && blobInfo.blob().type === type);\n      const removeByUri = blobUri => {\n        cache = filter$5(cache, blobInfo => {\n          if (blobInfo.blobUri() === blobUri) {\n            URL.revokeObjectURL(blobInfo.blobUri());\n            return false;\n          }\n          return true;\n        });\n      };\n      const destroy = () => {\n        each$e(cache, cachedBlobInfo => {\n          URL.revokeObjectURL(cachedBlobInfo.blobUri());\n        });\n        cache = [];\n      };\n      return {\n        create,\n        add,\n        get,\n        getByUri,\n        getByData,\n        findFirst,\n        removeByUri,\n        destroy\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const pathJoin = (path1, path2) => {\n        if (path1) {\n          return path1.replace(/\\/$/, '') + '/' + path2.replace(/^\\//, '');\n        }\n        return path2;\n      };\n      const defaultHandler = (blobInfo, progress) => new Promise((success, failure) => {\n        const xhr = new XMLHttpRequest();\n        xhr.open('POST', settings.url);\n        xhr.withCredentials = settings.credentials;\n        xhr.upload.onprogress = e => {\n          progress(e.loaded / e.total * 100);\n        };\n        xhr.onerror = () => {\n          failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);\n        };\n        xhr.onload = () => {\n          if (xhr.status < 200 || xhr.status >= 300) {\n            failure('HTTP Error: ' + xhr.status);\n            return;\n          }\n          const json = JSON.parse(xhr.responseText);\n          if (!json || !isString(json.location)) {\n            failure('Invalid JSON: ' + xhr.responseText);\n            return;\n          }\n          success(pathJoin(settings.basePath, json.location));\n        };\n        const formData = new FormData();\n        formData.append('file', blobInfo.blob(), blobInfo.filename());\n        xhr.send(formData);\n      });\n      const uploadHandler = isFunction(settings.handler) ? settings.handler : defaultHandler;\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        Tools.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply$1)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const isDefaultHandler = handler => handler === defaultHandler;\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const uploadBlobs = (blobInfos, openNotification) => {\n        blobInfos = Tools.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(Tools.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, uploadHandler, openNotification)));\n      };\n      const upload = (blobInfos, openNotification) => !settings.url && isDefaultHandler(uploadHandler) ? noUpload() : uploadBlobs(blobInfos, openNotification);\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Image uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      url: getImageUploadUrl(editor),\n      basePath: getImageUploadBasePath(editor),\n      credentials: getImagesUploadCredentials(editor),\n      handler: getImagesUploadHandler(editor)\n    });\n    const ImageUploader = editor => {\n      const uploadStatus = UploadStatus();\n      const uploader = createUploader(editor, uploadStatus);\n      return {\n        upload: (blobInfos, showNotification = true) => uploader.upload(blobInfos, showNotification ? openNotification(editor) : undefined)\n      };\n    };\n\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append$1(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      const blobCache = BlobCache();\n      let uploader, imageScanner;\n      const uploadStatus = UploadStatus();\n      const urlFilters = [];\n      const aliveGuard = callback => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const cacheInvalidator = url => url + (url.indexOf('?') === -1 ? '?' : '&') + new Date().getTime();\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceImageUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === Env.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, 'data-mce-src=\"' + targetUrl + '\"', 'data-mce-src=\"' + replacementUrl + '\"');\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$e(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map$3(level.fragments, fragment => replaceImageUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceImageUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceImageUriInView = (image, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(image.src, resultUri);\n        setAll$1(SugarElement.fromDom(image), {\n          'src': shouldReuseFileName(editor) ? cacheInvalidator(resultUri) : resultUri,\n          'data-mce-src': src\n        });\n      };\n      const uploadImages = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForImages().then(aliveGuard(imageInfos => {\n          const blobInfos = map$3(imageInfos, imageInfo => imageInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(result => {\n            const imagesToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map$3(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                image\n              } = imageInfos[index];\n              let removed = false;\n              if (uploadInfo.status && shouldReplaceBlobUris(editor)) {\n                if (uploadInfo.url && !contains$1(image.src, uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(image.src);\n                if (isRtc(editor)) ; else {\n                  replaceImageUriInView(image, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(image.src, Env.transparentSrc);\n                  imagesToRemove.push(image);\n                  removed = true;\n                }\n                uploadError(editor, uploadInfo.error.message);\n              }\n              return {\n                element: image,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (imagesToRemove.length > 0 && !isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$e(fromDom$1(imagesToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  remove$5(sugarElement);\n                  parentOpt.each(addPaddingToEmpty(editor));\n                  blobCache.removeByUri(sugarElement.dom.src);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadImagesAuto = () => isAutomaticUploadsEnabled(editor) ? uploadImages() : Promise.resolve([]);\n      const isValidDataUriImage = imgElm => forall(urlFilters, filter => filter(imgElm));\n      const addFilter = filter => {\n        urlFilters.push(filter);\n      };\n      const scanForImages = () => {\n        if (!imageScanner) {\n          imageScanner = ImageScanner(uploadStatus, blobCache);\n        }\n        return imageScanner.findAll(editor.getBody(), isValidDataUriImage).then(aliveGuard(result => {\n          const filteredResult = filter$5(result, resultItem => {\n            if (isString(resultItem)) {\n              displayError(editor, resultItem);\n              return false;\n            } else if (resultItem.uriType === 'blob') {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (isRtc(editor)) ; else {\n            each$e(filteredResult, resultItem => {\n              replaceUrlInUndoStack(resultItem.image.src, resultItem.blobInfo.blobUri());\n              resultItem.image.src = resultItem.blobInfo.blobUri();\n              resultItem.image.removeAttribute('data-mce-src');\n              resultItem.blobInfo.library = () => resultItem.image.getAttribute('data-library');\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        blobCache.destroy();\n        uploadStatus.destroy();\n        imageScanner = uploader = null;\n      };\n      const replaceBlobUris = content => {\n        return content.replace(/src=\"(blob:[^\"]+)\"/g, (match, blobUri) => {\n          const resultUri = uploadStatus.getResultUri(blobUri);\n          if (resultUri) {\n            return 'src=\"' + resultUri + '\"';\n          }\n          let blobInfo = blobCache.getByUri(blobUri);\n          if (!blobInfo) {\n            blobInfo = foldl(editor.editorManager.get(), (result, editor) => {\n              return result || editor.editorUpload && editor.editorUpload.blobCache.getByUri(blobUri);\n            }, undefined);\n          }\n          if (blobInfo && shouldConvertBlobstoBase64(editor)) {\n            const blob = blobInfo.blob();\n            return 'src=\"data:' + blob.type + ';base64,' + blobInfo.base64() + '\"';\n          }\n          return match;\n        });\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled(editor)) {\n          uploadImagesAuto();\n        } else {\n          scanForImages();\n        }\n      });\n      editor.on('RawSaveContent', e => {\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('GetContent', e => {\n        if (e.source_view || e.format === 'raw' || e.format === 'tree') {\n          return;\n        }\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('img', images => {\n          each$e(images, img => {\n            const src = img.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              img.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      return {\n        blobCache,\n        uploadStatus,\n        addFilter,\n        uploadImages,\n        uploadImagesAuto,\n        scanForImages,\n        destroy\n      };\n    };\n\n    const get$1 = editor => {\n      const dom = editor.dom;\n      const schemaType = editor.schema.type;\n      const formats = {\n        valigntop: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'top'\n          }\n        }],\n        valignmiddle: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'middle'\n          }\n        }],\n        valignbottom: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'bottom'\n          }\n        }],\n        alignleft: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-left',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'left'\n          },\n          inherit: false,\n          preview: false\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'left'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: '0px',\n            marginRight: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'left'\n          }\n        }],\n        aligncenter: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'center'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-center',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            display: 'block',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object',\n          ceFalseOverride: true,\n          styles: {\n            display: 'table',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: '[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }],\n        alignright: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-right',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'right'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'right'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginRight: '0px',\n            marginLeft: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'right'\n          },\n          preview: false\n        }],\n        alignjustify: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'justify'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }],\n        bold: [{\n          inline: 'strong',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontWeight: 'bold'\n          }\n        }, {\n          inline: 'b',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        italic: [{\n          inline: 'em',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontStyle: 'italic'\n          }\n        }, {\n          inline: 'i',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        underline: [{\n          inline: 'span',\n          styles: {\n            textDecoration: 'underline'\n          },\n          exact: true\n        }, {\n          inline: 'u',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        strikethrough: (() => {\n          const span = {\n            inline: 'span',\n            styles: {\n              textDecoration: 'line-through'\n            },\n            exact: true\n          };\n          const strike = {\n            inline: 'strike',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          const s = {\n            inline: 's',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          return schemaType !== 'html4' ? [s, span, strike] : [span, s, strike];\n        })(),\n        forecolor: {\n          inline: 'span',\n          styles: {\n            color: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        hilitecolor: {\n          inline: 'span',\n          styles: {\n            backgroundColor: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        fontname: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontFamily: '%value'\n          },\n          clear_child_styles: true\n        },\n        fontsize: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontSize: '%value'\n          },\n          clear_child_styles: true\n        },\n        lineheight: {\n          selector: 'h1,h2,h3,h4,h5,h6,p,li,td,th,div',\n          styles: {\n            lineHeight: '%value'\n          }\n        },\n        fontsize_class: {\n          inline: 'span',\n          attributes: {\n            class: '%value'\n          }\n        },\n        blockquote: {\n          block: 'blockquote',\n          wrapper: true,\n          remove: 'all'\n        },\n        subscript: {\n          inline: 'sub'\n        },\n        superscript: {\n          inline: 'sup'\n        },\n        code: {\n          inline: 'code'\n        },\n        link: {\n          inline: 'a',\n          selector: 'a',\n          remove: 'all',\n          split: true,\n          deep: true,\n          onmatch: (node, _fmt, _itemName) => {\n            return isElement$6(node) && node.hasAttribute('href');\n          },\n          onformat: (elm, _fmt, vars) => {\n            Tools.each(vars, (value, key) => {\n              dom.setAttrib(elm, key, value);\n            });\n          }\n        },\n        lang: {\n          inline: 'span',\n          clear_child_styles: true,\n          remove_similar: true,\n          attributes: {\n            'lang': '%value',\n            'data-mce-lang': vars => {\n              var _a;\n              return (_a = vars === null || vars === void 0 ? void 0 : vars.customValue) !== null && _a !== void 0 ? _a : null;\n            }\n          }\n        },\n        removeformat: [{\n          selector: 'b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small',\n          remove: 'all',\n          split: true,\n          expand: false,\n          block_expand: true,\n          deep: true\n        }, {\n          selector: 'span',\n          attributes: ['style', 'class'],\n          remove: 'empty',\n          split: true,\n          expand: false,\n          deep: true\n        }, {\n          selector: '*',\n          attributes: ['style', 'class'],\n          split: false,\n          expand: false,\n          deep: true\n        }]\n      };\n      Tools.each('p h1 h2 h3 h4 h5 h6 div address pre dt dd samp'.split(/\\s/), name => {\n        formats[name] = {\n          block: name,\n          remove: 'all'\n        };\n      });\n      return formats;\n    };\n\n    const genericBase = {\n      remove_similar: true,\n      inherit: false\n    };\n    const cellBase = {\n      selector: 'td,th',\n      ...genericBase\n    };\n    const cellFormats = {\n      tablecellbackgroundcolor: {\n        styles: {\n          backgroundColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellverticalalign: {\n        styles: {\n          'vertical-align': '%value'\n        },\n        ...cellBase\n      },\n      tablecellbordercolor: {\n        styles: {\n          borderColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellclass: {\n        classes: ['%value'],\n        ...cellBase\n      },\n      tableclass: {\n        selector: 'table',\n        classes: ['%value'],\n        ...genericBase\n      },\n      tablecellborderstyle: {\n        styles: {\n          borderStyle: '%value'\n        },\n        ...cellBase\n      },\n      tablecellborderwidth: {\n        styles: {\n          borderWidth: '%value'\n        },\n        ...cellBase\n      }\n    };\n    const get = constant(cellFormats);\n\n    const FormatRegistry = editor => {\n      const formats = {};\n      const get$2 = name => isNonNullable(name) ? formats[name] : formats;\n      const has = name => has$2(formats, name);\n      const register = (name, format) => {\n        if (name) {\n          if (!isString(name)) {\n            each$d(name, (format, name) => {\n              register(name, format);\n            });\n          } else {\n            if (!isArray$1(format)) {\n              format = [format];\n            }\n            each$e(format, format => {\n              if (isUndefined(format.deep)) {\n                format.deep = !isSelectorFormat(format);\n              }\n              if (isUndefined(format.split)) {\n                format.split = !isSelectorFormat(format) || isInlineFormat(format);\n              }\n              if (isUndefined(format.remove) && isSelectorFormat(format) && !isInlineFormat(format)) {\n                format.remove = 'none';\n              }\n              if (isSelectorFormat(format) && isInlineFormat(format)) {\n                format.mixed = true;\n                format.block_expand = true;\n              }\n              if (isString(format.classes)) {\n                format.classes = format.classes.split(/\\s+/);\n              }\n            });\n            formats[name] = format;\n          }\n        }\n      };\n      const unregister = name => {\n        if (name && formats[name]) {\n          delete formats[name];\n        }\n        return formats;\n      };\n      register(get$1(editor));\n      register(get());\n      register(getFormats(editor));\n      return {\n        get: get$2,\n        has,\n        register,\n        unregister\n      };\n    };\n\n    const each$3 = Tools.each;\n    const dom = DOMUtils.DOM;\n    const isPreviewItem = item => isNonNullable(item) && isObject(item);\n    const parsedSelectorToHtml = (ancestry, editor) => {\n      const schema = editor && editor.schema || Schema({});\n      const decorate = (elm, item) => {\n        if (item.classes.length > 0) {\n          dom.addClass(elm, item.classes.join(' '));\n        }\n        dom.setAttribs(elm, item.attrs);\n      };\n      const createElement = sItem => {\n        const item = isString(sItem) ? {\n          name: sItem,\n          classes: [],\n          attrs: {}\n        } : sItem;\n        const elm = dom.create(item.name);\n        decorate(elm, item);\n        return elm;\n      };\n      const getRequiredParent = (elm, candidate) => {\n        const elmRule = schema.getElementRule(elm.nodeName.toLowerCase());\n        const parentsRequired = elmRule === null || elmRule === void 0 ? void 0 : elmRule.parentsRequired;\n        if (parentsRequired && parentsRequired.length) {\n          return candidate && contains$2(parentsRequired, candidate) ? candidate : parentsRequired[0];\n        } else {\n          return false;\n        }\n      };\n      const wrapInHtml = (elm, ancestors, siblings) => {\n        let parentCandidate;\n        const ancestor = ancestors[0];\n        const ancestorName = isPreviewItem(ancestor) ? ancestor.name : undefined;\n        const parentRequired = getRequiredParent(elm, ancestorName);\n        if (parentRequired) {\n          if (ancestorName === parentRequired) {\n            parentCandidate = ancestor;\n            ancestors = ancestors.slice(1);\n          } else {\n            parentCandidate = parentRequired;\n          }\n        } else if (ancestor) {\n          parentCandidate = ancestor;\n          ancestors = ancestors.slice(1);\n        } else if (!siblings) {\n          return elm;\n        }\n        const parent = parentCandidate ? createElement(parentCandidate) : dom.create('div');\n        parent.appendChild(elm);\n        if (siblings) {\n          Tools.each(siblings, sibling => {\n            const siblingElm = createElement(sibling);\n            parent.insertBefore(siblingElm, elm);\n          });\n        }\n        const parentSiblings = isPreviewItem(parentCandidate) ? parentCandidate.siblings : undefined;\n        return wrapInHtml(parent, ancestors, parentSiblings);\n      };\n      const fragment = dom.create('div');\n      if (ancestry.length > 0) {\n        const item = ancestry[0];\n        const elm = createElement(item);\n        const siblings = isPreviewItem(item) ? item.siblings : undefined;\n        fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), siblings));\n      }\n      return fragment;\n    };\n    const parseSelectorItem = item => {\n      item = Tools.trim(item);\n      let tagName = 'div';\n      const obj = {\n        name: tagName,\n        classes: [],\n        attrs: {},\n        selector: item\n      };\n      if (item !== '*') {\n        tagName = item.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g, ($0, $1, $2, $3, $4) => {\n          switch ($1) {\n            case '#':\n              obj.attrs.id = $2;\n              break;\n            case '.':\n              obj.classes.push($2);\n              break;\n            case ':':\n              if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) {\n                obj.attrs[$2] = $2;\n              }\n              break;\n          }\n          if ($3 === '[') {\n            const m = $4.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);\n            if (m) {\n              obj.attrs[m[1]] = m[2];\n            }\n          }\n          return '';\n        });\n      }\n      obj.name = tagName || 'div';\n      return obj;\n    };\n    const parseSelector = selector => {\n      if (!isString(selector)) {\n        return [];\n      }\n      selector = selector.split(/\\s*,\\s*/)[0];\n      selector = selector.replace(/\\s*(~\\+|~|\\+|>)\\s*/g, '$1');\n      return Tools.map(selector.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/), item => {\n        const siblings = Tools.map(item.split(/(?:~\\+|~|\\+)/), parseSelectorItem);\n        const obj = siblings.pop();\n        if (siblings.length) {\n          obj.siblings = siblings;\n        }\n        return obj;\n      }).reverse();\n    };\n    const getCssText = (editor, format) => {\n      let previewCss = '';\n      let previewStyles = getPreviewStyles(editor);\n      if (previewStyles === '') {\n        return '';\n      }\n      const removeVars = val => {\n        return isString(val) ? val.replace(/%(\\w+)/g, '') : '';\n      };\n      const getComputedStyle = (name, elm) => {\n        return dom.getStyle(elm !== null && elm !== void 0 ? elm : editor.getBody(), name, true);\n      };\n      if (isString(format)) {\n        const formats = editor.formatter.get(format);\n        if (!formats) {\n          return '';\n        }\n        format = formats[0];\n      }\n      if ('preview' in format) {\n        const preview = format.preview;\n        if (preview === false) {\n          return '';\n        } else {\n          previewStyles = preview || previewStyles;\n        }\n      }\n      let name = format.block || format.inline || 'span';\n      let previewFrag;\n      const items = parseSelector(format.selector);\n      if (items.length > 0) {\n        if (!items[0].name) {\n          items[0].name = name;\n        }\n        name = format.selector;\n        previewFrag = parsedSelectorToHtml(items, editor);\n      } else {\n        previewFrag = parsedSelectorToHtml([name], editor);\n      }\n      const previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild;\n      each$3(format.styles, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setStyle(previewElm, name, newValue);\n        }\n      });\n      each$3(format.attributes, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setAttrib(previewElm, name, newValue);\n        }\n      });\n      each$3(format.classes, value => {\n        const newValue = removeVars(value);\n        if (!dom.hasClass(previewElm, newValue)) {\n          dom.addClass(previewElm, newValue);\n        }\n      });\n      editor.dispatch('PreviewFormats');\n      dom.setStyles(previewFrag, {\n        position: 'absolute',\n        left: -65535\n      });\n      editor.getBody().appendChild(previewFrag);\n      const rawParentFontSize = getComputedStyle('fontSize');\n      const parentFontSize = /px$/.test(rawParentFontSize) ? parseInt(rawParentFontSize, 10) : 0;\n      each$3(previewStyles.split(' '), name => {\n        let value = getComputedStyle(name, previewElm);\n        if (name === 'background-color' && /transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(value)) {\n          value = getComputedStyle(name);\n          if (rgbaToHexString(value).toLowerCase() === '#ffffff') {\n            return;\n          }\n        }\n        if (name === 'color') {\n          if (rgbaToHexString(value).toLowerCase() === '#000000') {\n            return;\n          }\n        }\n        if (name === 'font-size') {\n          if (/em|%$/.test(value)) {\n            if (parentFontSize === 0) {\n              return;\n            }\n            const numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1);\n            value = numValue * parentFontSize + 'px';\n          }\n        }\n        if (name === 'border' && value) {\n          previewCss += 'padding:0 2px;';\n        }\n        previewCss += name + ':' + value + ';';\n      });\n      editor.dispatch('AfterPreviewFormats');\n      dom.remove(previewFrag);\n      return previewCss;\n    };\n\n    const setup$s = editor => {\n      editor.addShortcut('meta+b', '', 'Bold');\n      editor.addShortcut('meta+i', '', 'Italic');\n      editor.addShortcut('meta+u', '', 'Underline');\n      for (let i = 1; i <= 6; i++) {\n        editor.addShortcut('access+' + i, '', ['FormatBlock', false, 'h' + i]);\n      }\n      editor.addShortcut('access+7', '', ['FormatBlock', false, 'p']);\n      editor.addShortcut('access+8', '', ['FormatBlock', false, 'div']);\n      editor.addShortcut('access+9', '', ['FormatBlock', false, 'address']);\n    };\n\n    const Formatter = editor => {\n      const formats = FormatRegistry(editor);\n      const formatChangeState = Cell({});\n      setup$s(editor);\n      setup$v(editor);\n      if (!isRtc(editor)) {\n        setup$u(formatChangeState, editor);\n      }\n      return {\n        get: formats.get,\n        has: formats.has,\n        register: formats.register,\n        unregister: formats.unregister,\n        apply: (name, vars, node) => {\n          applyFormat(editor, name, vars, node);\n        },\n        remove: (name, vars, node, similar) => {\n          removeFormat(editor, name, vars, node, similar);\n        },\n        toggle: (name, vars, node) => {\n          toggleFormat(editor, name, vars, node);\n        },\n        match: (name, vars, node, similar) => matchFormat(editor, name, vars, node, similar),\n        closest: names => closestFormat(editor, names),\n        matchAll: (names, vars) => matchAllFormats(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNodeFormat(editor, node, name, vars, similar),\n        canApply: name => canApplyFormat(editor, name),\n        formatChanged: (formats, callback, similar, vars) => formatChanged(editor, formatChangeState, formats, callback, similar, vars),\n        getCssText: curry(getCssText, editor)\n      };\n    };\n\n    const shouldIgnoreCommand = cmd => {\n      switch (cmd.toLowerCase()) {\n        case 'undo':\n        case 'redo':\n        case 'mcefocus':\n          return true;\n        default:\n          return false;\n      }\n    };\n    const registerEvents = (editor, undoManager, locks) => {\n      const isFirstTypedCharacter = Cell(false);\n      const addNonTypingUndoLevel = e => {\n        setTyping(undoManager, false, locks);\n        undoManager.add({}, e);\n      };\n      editor.on('init', () => {\n        undoManager.add();\n      });\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          endTyping(undoManager, locks);\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('ExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('ObjectResizeStart cut', () => {\n        undoManager.beforeChange();\n      });\n      editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel);\n      editor.on('dragend', addNonTypingUndoLevel);\n      editor.on('keyup', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const isMeta = Env.os.isMacOS() && e.key === 'Meta';\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey || isMeta) {\n          addNonTypingUndoLevel();\n          editor.nodeChanged();\n        }\n        if (keyCode === 46 || keyCode === 8) {\n          editor.nodeChanged();\n        }\n        if (isFirstTypedCharacter.get() && undoManager.typing && !isEq$1(createFromEditor(editor), undoManager.data[0])) {\n          if (!editor.isDirty()) {\n            editor.setDirty(true);\n          }\n          editor.dispatch('TypingUndo');\n          isFirstTypedCharacter.set(false);\n          editor.nodeChanged();\n        }\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) {\n          if (undoManager.typing) {\n            addNonTypingUndoLevel(e);\n          }\n          return;\n        }\n        const modKey = e.ctrlKey && !e.altKey || e.metaKey;\n        if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !undoManager.typing && !modKey) {\n          undoManager.beforeChange();\n          setTyping(undoManager, true, locks);\n          undoManager.add({}, e);\n          isFirstTypedCharacter.set(true);\n          return;\n        }\n        const hasOnlyMetaOrCtrlModifier = Env.os.isMacOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n        if (hasOnlyMetaOrCtrlModifier) {\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('mousedown', e => {\n        if (undoManager.typing) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      const isInsertReplacementText = event => event.inputType === 'insertReplacementText';\n      const isInsertTextDataNull = event => event.inputType === 'insertText' && event.data === null;\n      const isInsertFromPasteOrDrop = event => event.inputType === 'insertFromPaste' || event.inputType === 'insertFromDrop';\n      editor.on('input', e => {\n        if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e) || isInsertFromPasteOrDrop(e))) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('AddUndo Undo Redo ClearUndos', e => {\n        if (!e.isDefaultPrevented()) {\n          editor.nodeChanged();\n        }\n      });\n    };\n    const addKeyboardShortcuts = editor => {\n      editor.addShortcut('meta+z', '', 'Undo');\n      editor.addShortcut('meta+y,meta+shift+z', '', 'Redo');\n    };\n\n    const UndoManager = editor => {\n      const beforeBookmark = value$2();\n      const locks = Cell(0);\n      const index = Cell(0);\n      const undoManager = {\n        data: [],\n        typing: false,\n        beforeChange: () => {\n          beforeChange(editor, locks, beforeBookmark);\n        },\n        add: (level, event) => {\n          return addUndoLevel(editor, undoManager, index, locks, beforeBookmark, level, event);\n        },\n        dispatchChange: () => {\n          editor.setDirty(true);\n          const level = createFromEditor(editor);\n          level.bookmark = getUndoBookmark(editor.selection);\n          editor.dispatch('change', {\n            level,\n            lastLevel: get$b(undoManager.data, index.get()).getOrUndefined()\n          });\n        },\n        undo: () => {\n          return undo(editor, undoManager, locks, index);\n        },\n        redo: () => {\n          return redo(editor, index, undoManager.data);\n        },\n        clear: () => {\n          clear(editor, undoManager, index);\n        },\n        reset: () => {\n          reset(editor, undoManager);\n        },\n        hasUndo: () => {\n          return hasUndo(editor, undoManager, index);\n        },\n        hasRedo: () => {\n          return hasRedo(editor, undoManager, index);\n        },\n        transact: callback => {\n          return transact(editor, undoManager, locks, callback);\n        },\n        ignore: callback => {\n          ignore(editor, locks, callback);\n        },\n        extra: (callback1, callback2) => {\n          extra(editor, undoManager, index, callback1, callback2);\n        }\n      };\n      if (!isRtc(editor)) {\n        registerEvents(editor, undoManager, locks);\n      }\n      addKeyboardShortcuts(editor);\n      return undoManager;\n    };\n\n    const nonTypingKeycodes = [9, 27, VK.HOME, VK.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, VK.DOWN, VK.UP, VK.LEFT, VK.RIGHT].concat(Env.browser.isFirefox() ? [224] : []);\n    const placeholderAttr = 'data-mce-placeholder';\n    const isKeyboardEvent = e => e.type === 'keydown' || e.type === 'keyup';\n    const isDeleteEvent = e => {\n      const keyCode = e.keyCode;\n      return keyCode === VK.BACKSPACE || keyCode === VK.DELETE;\n    };\n    const isNonTypingKeyboardEvent = e => {\n      if (isKeyboardEvent(e)) {\n        const keyCode = e.keyCode;\n        return !isDeleteEvent(e) && (VK.metaKeyPressed(e) || e.altKey || keyCode >= 112 && keyCode <= 123 || contains$2(nonTypingKeycodes, keyCode));\n      } else {\n        return false;\n      }\n    };\n    const isTypingKeyboardEvent = e => isKeyboardEvent(e) && !(isDeleteEvent(e) || e.type === 'keyup' && e.keyCode === 229);\n    const isVisuallyEmpty = (dom, rootElm, forcedRootBlock) => {\n      if (isEmpty$2(SugarElement.fromDom(rootElm), false)) {\n        const firstElement = rootElm.firstElementChild;\n        if (!firstElement) {\n          return true;\n        } else if (dom.getStyle(rootElm.firstElementChild, 'padding-left') || dom.getStyle(rootElm.firstElementChild, 'padding-right')) {\n          return false;\n        } else {\n          return forcedRootBlock === firstElement.nodeName.toLowerCase();\n        }\n      } else {\n        return false;\n      }\n    };\n    const setup$r = editor => {\n      var _a;\n      const dom = editor.dom;\n      const rootBlock = getForcedRootBlock(editor);\n      const placeholder = (_a = getPlaceholder(editor)) !== null && _a !== void 0 ? _a : '';\n      const updatePlaceholder = (e, initial) => {\n        if (isNonTypingKeyboardEvent(e)) {\n          return;\n        }\n        const body = editor.getBody();\n        const showPlaceholder = isTypingKeyboardEvent(e) ? false : isVisuallyEmpty(dom, body, rootBlock);\n        const isPlaceholderShown = dom.getAttrib(body, placeholderAttr) !== '';\n        if (isPlaceholderShown !== showPlaceholder || initial) {\n          dom.setAttrib(body, placeholderAttr, showPlaceholder ? placeholder : null);\n          dom.setAttrib(body, 'aria-placeholder', showPlaceholder ? placeholder : null);\n          firePlaceholderToggle(editor, showPlaceholder);\n          editor.on(showPlaceholder ? 'keydown' : 'keyup', updatePlaceholder);\n          editor.off(showPlaceholder ? 'keyup' : 'keydown', updatePlaceholder);\n        }\n      };\n      if (isNotEmpty(placeholder)) {\n        editor.on('init', e => {\n          updatePlaceholder(e, true);\n          editor.on('change SetContent ExecCommand', updatePlaceholder);\n          editor.on('paste', e => Delay.setEditorTimeout(editor, () => updatePlaceholder(e)));\n        });\n      }\n    };\n\n    const blockPosition = (block, position) => ({\n      block,\n      position\n    });\n    const blockBoundary = (from, to) => ({\n      from,\n      to\n    });\n    const getBlockPosition = (rootNode, pos) => {\n      const rootElm = SugarElement.fromDom(rootNode);\n      const containerElm = SugarElement.fromDom(pos.container());\n      return getParentBlock$2(rootElm, containerElm).map(block => blockPosition(block, pos));\n    };\n    const isDifferentBlocks = blockBoundary => !eq(blockBoundary.from.block, blockBoundary.to.block);\n    const getClosestHost = (root, scope) => {\n      const isRoot = node => eq(node, root);\n      const isHost = node => isTableCell$2(node) || isContentEditableTrue$3(node.dom);\n      return closest$4(scope, isHost, isRoot).filter(isElement$7).getOr(root);\n    };\n    const hasSameHost = (rootNode, blockBoundary) => {\n      const root = SugarElement.fromDom(rootNode);\n      return eq(getClosestHost(root, blockBoundary.from.block), getClosestHost(root, blockBoundary.to.block));\n    };\n    const isEditable$1 = blockBoundary => isContentEditableFalse$b(blockBoundary.from.block.dom) === false && isContentEditableFalse$b(blockBoundary.to.block.dom) === false;\n    const hasValidBlocks = blockBoundary => {\n      const isValidBlock = block => isTextBlock$2(block) || hasBlockAttr(block.dom);\n      return isValidBlock(blockBoundary.from.block) && isValidBlock(blockBoundary.to.block);\n    };\n    const skipLastBr = (rootNode, forward, blockPosition) => {\n      if (isBr$6(blockPosition.position.getNode()) && !isEmpty$2(blockPosition.block)) {\n        return positionIn(false, blockPosition.block.dom).bind(lastPositionInBlock => {\n          if (lastPositionInBlock.isEqual(blockPosition.position)) {\n            return fromPosition(forward, rootNode, lastPositionInBlock).bind(to => getBlockPosition(rootNode, to));\n          } else {\n            return Optional.some(blockPosition);\n          }\n        }).getOr(blockPosition);\n      } else {\n        return blockPosition;\n      }\n    };\n    const readFromRange = (rootNode, forward, rng) => {\n      const fromBlockPos = getBlockPosition(rootNode, CaretPosition.fromRangeStart(rng));\n      const toBlockPos = fromBlockPos.bind(blockPos => fromPosition(forward, rootNode, blockPos.position).bind(to => getBlockPosition(rootNode, to).map(blockPos => skipLastBr(rootNode, forward, blockPos))));\n      return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(blockBoundary => isDifferentBlocks(blockBoundary) && hasSameHost(rootNode, blockBoundary) && isEditable$1(blockBoundary) && hasValidBlocks(blockBoundary));\n    };\n    const read$1 = (rootNode, forward, rng) => rng.collapsed ? readFromRange(rootNode, forward, rng) : Optional.none();\n\n    const getChildrenUntilBlockBoundary = (block, schema) => {\n      const children = children$1(block);\n      return findIndex$2(children, el => schema.isBlock(name(el))).fold(constant(children), index => children.slice(0, index));\n    };\n    const extractChildren = (block, schema) => {\n      const children = getChildrenUntilBlockBoundary(block, schema);\n      each$e(children, remove$5);\n      return children;\n    };\n    const removeEmptyRoot = (rootNode, block) => {\n      const parents = parentsAndSelf(block, rootNode);\n      return find$2(parents.reverse(), element => isEmpty$2(element)).each(remove$5);\n    };\n    const isEmptyBefore = el => filter$5(prevSiblings(el), el => !isEmpty$2(el)).length === 0;\n    const nestedBlockMerge = (rootNode, fromBlock, toBlock, schema, insertionPoint) => {\n      if (isEmpty$2(toBlock)) {\n        fillWithPaddingBr(toBlock);\n        return firstPositionIn(toBlock.dom);\n      }\n      if (isEmptyBefore(insertionPoint) && isEmpty$2(fromBlock)) {\n        before$3(insertionPoint, SugarElement.fromTag('br'));\n      }\n      const position = prevPosition(toBlock.dom, CaretPosition.before(insertionPoint.dom));\n      each$e(extractChildren(fromBlock, schema), child => {\n        before$3(insertionPoint, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const isInline = (schema, node) => schema.isInline(name(node));\n    const sidelongBlockMerge = (rootNode, fromBlock, toBlock, schema) => {\n      if (isEmpty$2(toBlock)) {\n        if (isEmpty$2(fromBlock)) {\n          const getInlineToBlockDescendants = el => {\n            const helper = (node, elements) => firstChild(node).fold(() => elements, child => isInline(schema, child) ? helper(child, elements.concat(shallow$1(child))) : elements);\n            return helper(el, []);\n          };\n          const newFromBlockDescendants = foldr(getInlineToBlockDescendants(toBlock), (element, descendant) => {\n            wrap$2(element, descendant);\n            return descendant;\n          }, createPaddingBr());\n          empty(fromBlock);\n          append$1(fromBlock, newFromBlockDescendants);\n        }\n        remove$5(toBlock);\n        return firstPositionIn(fromBlock.dom);\n      }\n      const position = lastPositionIn(toBlock.dom);\n      each$e(extractChildren(fromBlock, schema), child => {\n        append$1(toBlock, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const findInsertionPoint = (toBlock, block) => {\n      const parentsAndSelf$1 = parentsAndSelf(block, toBlock);\n      return Optional.from(parentsAndSelf$1[parentsAndSelf$1.length - 1]);\n    };\n    const getInsertionPoint = (fromBlock, toBlock) => contains(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Optional.none();\n    const trimBr = (first, block) => {\n      positionIn(first, block.dom).bind(position => Optional.from(position.getNode())).map(SugarElement.fromDom).filter(isBr$5).each(remove$5);\n    };\n    const mergeBlockInto = (rootNode, fromBlock, toBlock, schema) => {\n      trimBr(true, fromBlock);\n      trimBr(false, toBlock);\n      return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock, schema), curry(nestedBlockMerge, rootNode, fromBlock, toBlock, schema));\n    };\n    const mergeBlocks = (rootNode, forward, block1, block2, schema) => forward ? mergeBlockInto(rootNode, block2, block1, schema) : mergeBlockInto(rootNode, block1, block2, schema);\n\n    const backspaceDelete$9 = (editor, forward) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const position = read$1(rootNode.dom, forward, editor.selection.getRng()).map(blockBoundary => () => {\n        mergeBlocks(rootNode, forward, blockBoundary.from.block, blockBoundary.to.block, editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      });\n      return position;\n    };\n\n    const deleteRangeMergeBlocks = (rootNode, selection, schema) => {\n      const rng = selection.getRng();\n      return lift2(getParentBlock$2(rootNode, SugarElement.fromDom(rng.startContainer)), getParentBlock$2(rootNode, SugarElement.fromDom(rng.endContainer)), (block1, block2) => {\n        if (!eq(block1, block2)) {\n          return Optional.some(() => {\n            rng.deleteContents();\n            mergeBlocks(rootNode, true, block1, block2, schema).each(pos => {\n              selection.setRng(pos.toRange());\n            });\n          });\n        } else {\n          return Optional.none();\n        }\n      }).getOr(Optional.none());\n    };\n    const isRawNodeInTable = (root, rawNode) => {\n      const node = SugarElement.fromDom(rawNode);\n      const isRoot = curry(eq, root);\n      return ancestor$4(node, isTableCell$2, isRoot).isSome();\n    };\n    const isSelectionInTable = (root, rng) => isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer);\n    const isEverythingSelected = (root, rng) => {\n      const noPrevious = prevPosition(root.dom, CaretPosition.fromRangeStart(rng)).isNone();\n      const noNext = nextPosition(root.dom, CaretPosition.fromRangeEnd(rng)).isNone();\n      return !isSelectionInTable(root, rng) && noPrevious && noNext;\n    };\n    const emptyEditor = editor => {\n      return Optional.some(() => {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      });\n    };\n    const deleteRange$2 = editor => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection, editor.schema);\n    };\n    const backspaceDelete$8 = (editor, _forward) => editor.selection.isCollapsed() ? Optional.none() : deleteRange$2(editor);\n\n    const showCaret = (direction, editor, node, before, scrollIntoView) => Optional.from(editor._selectionOverrides.showCaret(direction, node, before, scrollIntoView));\n    const getNodeRange = node => {\n      const rng = node.ownerDocument.createRange();\n      rng.selectNode(node);\n      return rng;\n    };\n    const selectNode = (editor, node) => {\n      const e = editor.dispatch('BeforeObjectSelected', {\n        target: node\n      });\n      if (e.isDefaultPrevented()) {\n        return Optional.none();\n      }\n      return Optional.some(getNodeRange(node));\n    };\n    const renderCaretAtRange = (editor, range, scrollIntoView) => {\n      const normalizedRange = normalizeRange(1, editor.getBody(), range);\n      const caretPosition = CaretPosition.fromRangeStart(normalizedRange);\n      const caretPositionNode = caretPosition.getNode();\n      if (isInlineFakeCaretTarget(caretPositionNode)) {\n        return showCaret(1, editor, caretPositionNode, !caretPosition.isAtEnd(), false);\n      }\n      const caretPositionBeforeNode = caretPosition.getNode(true);\n      if (isInlineFakeCaretTarget(caretPositionBeforeNode)) {\n        return showCaret(1, editor, caretPositionBeforeNode, false, false);\n      }\n      const ceRoot = getContentEditableRoot$1(editor.dom.getRoot(), caretPosition.getNode());\n      if (isInlineFakeCaretTarget(ceRoot)) {\n        return showCaret(1, editor, ceRoot, false, scrollIntoView);\n      }\n      return Optional.none();\n    };\n    const renderRangeCaret = (editor, range, scrollIntoView) => range.collapsed ? renderCaretAtRange(editor, range, scrollIntoView).getOr(range) : range;\n\n    const isBeforeBoundary = pos => isBeforeContentEditableFalse(pos) || isBeforeMedia(pos);\n    const isAfterBoundary = pos => isAfterContentEditableFalse(pos) || isAfterMedia(pos);\n    const trimEmptyTextNode = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const deleteContentAndShowCaret = (editor, range, node, direction, forward, peekCaretPosition) => {\n      showCaret(direction, editor, peekCaretPosition.getNode(!forward), forward, true).each(caretRange => {\n        if (range.collapsed) {\n          const deleteRange = range.cloneRange();\n          if (forward) {\n            deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);\n          } else {\n            deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);\n          }\n          deleteRange.deleteContents();\n        } else {\n          range.deleteContents();\n        }\n        editor.selection.setRng(caretRange);\n      });\n      trimEmptyTextNode(editor.dom, node);\n    };\n    const deleteBoundaryText = (editor, forward) => {\n      const range = editor.selection.getRng();\n      if (!isText$a(range.commonAncestorContainer)) {\n        return Optional.none();\n      }\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forward ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forward ? isBeforeBoundary : isAfterBoundary;\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const nextCaretPosition = getNextPosFn(caretPosition);\n      const normalizedNextCaretPosition = nextCaretPosition ? normalizePosition(forward, nextCaretPosition) : nextCaretPosition;\n      if (!normalizedNextCaretPosition || !isMoveInsideSameBlock(caretPosition, normalizedNextCaretPosition)) {\n        return Optional.none();\n      } else if (isBeforeFn(normalizedNextCaretPosition)) {\n        return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, normalizedNextCaretPosition));\n      }\n      const peekCaretPosition = getNextPosFn(normalizedNextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(normalizedNextCaretPosition, peekCaretPosition)) {\n          return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition));\n        }\n      }\n      return Optional.none();\n    };\n    const backspaceDelete$7 = (editor, forward) => deleteBoundaryText(editor, forward);\n\n    const getEdgeCefPosition = (editor, atStart) => {\n      const root = editor.getBody();\n      return atStart ? firstPositionIn(root).filter(isBeforeContentEditableFalse) : lastPositionIn(root).filter(isAfterContentEditableFalse);\n    };\n    const isCefAtEdgeSelected = editor => {\n      const rng = editor.selection.getRng();\n      return !rng.collapsed && (getEdgeCefPosition(editor, true).exists(pos => pos.isEqual(CaretPosition.fromRangeStart(rng))) || getEdgeCefPosition(editor, false).exists(pos => pos.isEqual(CaretPosition.fromRangeEnd(rng))));\n    };\n\n    const isCompoundElement = node => isNonNullable(node) && (isTableCell$2(SugarElement.fromDom(node)) || isListItem$1(SugarElement.fromDom(node)));\n    const DeleteAction = Adt.generate([{\n      remove: ['element']\n    }, {\n      moveToElement: ['element']\n    }, {\n      moveToPosition: ['position']\n    }]);\n    const isAtContentEditableBlockCaret = (forward, from) => {\n      const elm = from.getNode(!forward);\n      const caretLocation = forward ? 'after' : 'before';\n      return isElement$6(elm) && elm.getAttribute('data-mce-caret') === caretLocation;\n    };\n    const isDeleteFromCefDifferentBlocks = (root, forward, from, to, schema) => {\n      const inSameBlock = elm => schema.isInline(elm.nodeName.toLowerCase()) && !isInSameBlock(from, to, root);\n      return getRelativeCefElm(!forward, from).fold(() => getRelativeCefElm(forward, to).fold(never, inSameBlock), inSameBlock);\n    };\n    const deleteEmptyBlockOrMoveToCef = (root, forward, from, to) => {\n      const toCefElm = to.getNode(!forward);\n      return getParentBlock$2(SugarElement.fromDom(root), SugarElement.fromDom(from.getNode())).map(blockElm => isEmpty$2(blockElm) ? DeleteAction.remove(blockElm.dom) : DeleteAction.moveToElement(toCefElm)).orThunk(() => Optional.some(DeleteAction.moveToElement(toCefElm)));\n    };\n    const findCefPosition = (root, forward, from, schema) => fromPosition(forward, root, from).bind(to => {\n      if (isCompoundElement(to.getNode())) {\n        return Optional.none();\n      } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to, schema)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(to.getNode())) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (!forward && isContentEditableFalse$b(to.getNode(true))) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else if (!forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getContentEditableBlockAction = (forward, elm) => {\n      if (isNullable(elm)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(elm.nextSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.nextSibling));\n      } else if (!forward && isContentEditableFalse$b(elm.previousSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.previousSibling));\n      } else {\n        return Optional.none();\n      }\n    };\n    const skipMoveToActionFromInlineCefToContent = (root, from, deleteAction) => deleteAction.fold(elm => Optional.some(DeleteAction.remove(elm)), elm => Optional.some(DeleteAction.moveToElement(elm)), to => {\n      if (isInSameBlock(from, to, root)) {\n        return Optional.none();\n      } else {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      }\n    });\n    const getContentEditableAction = (root, forward, from, schema) => {\n      if (isAtContentEditableBlockCaret(forward, from)) {\n        return getContentEditableBlockAction(forward, from.getNode(!forward)).orThunk(() => findCefPosition(root, forward, from, schema));\n      } else {\n        return findCefPosition(root, forward, from, schema).bind(deleteAction => skipMoveToActionFromInlineCefToContent(root, from, deleteAction));\n      }\n    };\n    const read = (root, forward, rng, schema) => {\n      const normalizedRange = normalizeRange(forward ? 1 : -1, root, rng);\n      const from = CaretPosition.fromRangeStart(normalizedRange);\n      const rootElement = SugarElement.fromDom(root);\n      if (!forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode(true)));\n      } else if (forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode()));\n      } else if (!forward && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from, schema)) {\n        return findPreviousBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr$1(rootElement, from, schema)) {\n        return findNextBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else {\n        return getContentEditableAction(root, forward, from, schema);\n      }\n    };\n\n    const deleteElement$1 = (editor, forward) => element => {\n      editor._selectionOverrides.hideFakeCaret();\n      deleteElement$2(editor, forward, SugarElement.fromDom(element));\n      return true;\n    };\n    const moveToElement = (editor, forward) => element => {\n      const pos = forward ? CaretPosition.before(element) : CaretPosition.after(element);\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const moveToPosition = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const getAncestorCe = (editor, node) => Optional.from(getContentEditableRoot$1(editor.getBody(), node));\n    const backspaceDeleteCaret = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return getAncestorCe(editor, selectedNode).filter(isContentEditableFalse$b).fold(() => read(editor.getBody(), forward, editor.selection.getRng(), editor.schema).map(deleteAction => () => deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor))), () => Optional.some(noop));\n    };\n    const deleteOffscreenSelection = rootElement => {\n      each$e(descendants(rootElement, '.mce-offscreen-selection'), remove$5);\n    };\n    const backspaceDeleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      if (isContentEditableFalse$b(selectedNode) && !isTableCell$3(selectedNode)) {\n        const hasCefAncestor = getAncestorCe(editor, selectedNode.parentNode).filter(isContentEditableFalse$b);\n        return hasCefAncestor.fold(() => Optional.some(() => {\n          deleteOffscreenSelection(SugarElement.fromDom(editor.getBody()));\n          deleteElement$2(editor, forward, SugarElement.fromDom(editor.selection.getNode()));\n          paddEmptyBody(editor);\n        }), () => Optional.some(noop));\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        return Optional.some(() => {\n          deleteRangeContents(editor, editor.selection.getRng(), SugarElement.fromDom(editor.getBody()));\n        });\n      }\n      return Optional.none();\n    };\n    const paddEmptyElement = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const ceRoot = getContentEditableRoot$1(editor.getBody(), selection.getNode());\n      if (isContentEditableTrue$3(ceRoot) && dom.isBlock(ceRoot) && dom.isEmpty(ceRoot)) {\n        const br = dom.create('br', {\n          'data-mce-bogus': '1'\n        });\n        dom.setHTML(ceRoot, '');\n        ceRoot.appendChild(br);\n        selection.setRng(CaretPosition.before(br).toRange());\n      }\n      return true;\n    };\n    const backspaceDelete$6 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return backspaceDeleteCaret(editor, forward);\n      } else {\n        return backspaceDeleteRange(editor, forward);\n      }\n    };\n\n    const deleteCaret$2 = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return fromPosition(forward, editor.getBody(), fromPos).filter(pos => forward ? isBeforeImageBlock(pos) : isAfterImageBlock(pos)).bind(pos => getChildNodeAtRelativeOffset(forward ? 0 : -1, pos)).map(elm => () => editor.selection.select(elm));\n    };\n    const backspaceDelete$5 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$2(editor, forward) : Optional.none();\n\n    const isText$2 = isText$a;\n    const startsWithCaretContainer = node => isText$2(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer = node => isText$2(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const createZwsp = node => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return doc.createTextNode(ZWSP$1);\n    };\n    const insertBefore$1 = node => {\n      var _a;\n      if (isText$2(node.previousSibling)) {\n        if (endsWithCaretContainer(node.previousSibling)) {\n          return node.previousSibling;\n        } else {\n          node.previousSibling.appendData(ZWSP$1);\n          return node.previousSibling;\n        }\n      } else if (isText$2(node)) {\n        if (startsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.insertData(0, ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node);\n        return newNode;\n      }\n    };\n    const insertAfter$1 = node => {\n      var _a, _b;\n      if (isText$2(node.nextSibling)) {\n        if (startsWithCaretContainer(node.nextSibling)) {\n          return node.nextSibling;\n        } else {\n          node.nextSibling.insertData(0, ZWSP$1);\n          return node.nextSibling;\n        }\n      } else if (isText$2(node)) {\n        if (endsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.appendData(ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        if (node.nextSibling) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node.nextSibling);\n        } else {\n          (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.appendChild(newNode);\n        }\n        return newNode;\n      }\n    };\n    const insertInline = (before, node) => before ? insertBefore$1(node) : insertAfter$1(node);\n    const insertInlineBefore = curry(insertInline, true);\n    const insertInlineAfter = curry(insertInline, false);\n\n    const insertInlinePos = (pos, before) => {\n      if (isText$a(pos.container())) {\n        return insertInline(before, pos.container());\n      } else {\n        return insertInline(before, pos.getNode());\n      }\n    };\n    const isPosCaretContainer = (pos, caret) => {\n      const caretNode = caret.get();\n      return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode);\n    };\n    const renderCaret = (caret, location) => location.fold(element => {\n      remove$3(caret.get());\n      const text = insertInlineBefore(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, text.length - 1));\n    }, element => firstPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, true);\n        caret.set(text);\n        return CaretPosition(text, 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, 1);\n      }\n    }), element => lastPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, false);\n        caret.set(text);\n        return CaretPosition(text, text.length - 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, node.length - 1);\n      }\n    }), element => {\n      remove$3(caret.get());\n      const text = insertInlineAfter(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, 1));\n    });\n\n    const evaluateUntil = (fns, args) => {\n      for (let i = 0; i < fns.length; i++) {\n        const result = fns[i].apply(null, args);\n        if (result.isSome()) {\n          return result;\n        }\n      }\n      return Optional.none();\n    };\n\n    const Location = Adt.generate([{\n      before: ['element']\n    }, {\n      start: ['element']\n    }, {\n      end: ['element']\n    }, {\n      after: ['element']\n    }]);\n    const rescope$1 = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const before = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => nextPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.before(inline)), Optional.none);\n    };\n    const isNotInsideFormatCaretContainer = (rootNode, elm) => getParentCaretContainer(rootNode, elm) === null;\n    const findInsideRootInline = (isInlineTarget, rootNode, pos) => findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode));\n    const start$1 = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const prevPos = prevPosition(inline, nPos);\n        return prevPos.isNone() ? Optional.some(Location.start(inline)) : Optional.none();\n      });\n    };\n    const end = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const nextPos = nextPosition(inline, nPos);\n        return nextPos.isNone() ? Optional.some(Location.end(inline)) : Optional.none();\n      });\n    };\n    const after = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => prevPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.after(inline)), Optional.none);\n    };\n    const isValidLocation = location => !isRtl(getElement(location));\n    const readLocation = (isInlineTarget, rootNode, pos) => {\n      const location = evaluateUntil([before, start$1, end, after], [isInlineTarget, rootNode, pos]);\n      return location.filter(isValidLocation);\n    };\n    const getElement = location => location.fold(identity, identity, identity, identity);\n    const getName = location => location.fold(constant('before'), constant('start'), constant('end'), constant('after'));\n    const outside = location => location.fold(Location.before, Location.before, Location.after, Location.after);\n    const inside = location => location.fold(Location.start, Location.start, Location.end, Location.end);\n    const isEq = (location1, location2) => getName(location1) === getName(location2) && getElement(location1) === getElement(location2);\n    const betweenInlines = (forward, isInlineTarget, rootNode, from, to, location) => lift2(findRootInline(isInlineTarget, rootNode, from), findRootInline(isInlineTarget, rootNode, to), (fromInline, toInline) => {\n      if (fromInline !== toInline && hasSameParentBlock(rootNode, fromInline, toInline)) {\n        return Location.after(forward ? fromInline : toInline);\n      } else {\n        return location;\n      }\n    }).getOr(location);\n    const skipNoMovement = (fromLocation, toLocation) => fromLocation.fold(always, fromLocation => !isEq(fromLocation, toLocation));\n    const findLocationTraverse = (forward, isInlineTarget, rootNode, fromLocation, pos) => {\n      const from = normalizePosition(forward, pos);\n      const to = fromPosition(forward, rootNode, from).map(curry(normalizePosition, forward));\n      const location = to.fold(() => fromLocation.map(outside), to => readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation)));\n      return location.filter(isValidLocation);\n    };\n    const findLocationSimple = (forward, location) => {\n      if (forward) {\n        return location.fold(compose(Optional.some, Location.start), Optional.none, compose(Optional.some, Location.after), Optional.none);\n      } else {\n        return location.fold(Optional.none, compose(Optional.some, Location.before), Optional.none, compose(Optional.some, Location.end));\n      }\n    };\n    const findLocation$1 = (forward, isInlineTarget, rootNode, pos) => {\n      const from = normalizePosition(forward, pos);\n      const fromLocation = readLocation(isInlineTarget, rootNode, from);\n      return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(() => findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos));\n    };\n\n    const hasSelectionModifyApi = editor => {\n      return isFunction(editor.selection.getSel().modify);\n    };\n    const moveRel = (forward, selection, pos) => {\n      const delta = forward ? 1 : -1;\n      selection.setRng(CaretPosition(pos.container(), pos.offset() + delta).toRange());\n      selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word');\n      return true;\n    };\n    const moveByWord = (forward, editor) => {\n      const rng = editor.selection.getRng();\n      const pos = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      if (!hasSelectionModifyApi(editor)) {\n        return false;\n      } else if (forward && isBeforeInline(pos)) {\n        return moveRel(true, editor.selection, pos);\n      } else if (!forward && isAfterInline(pos)) {\n        return moveRel(false, editor.selection, pos);\n      } else {\n        return false;\n      }\n    };\n\n    var BreakType;\n    (function (BreakType) {\n      BreakType[BreakType['Br'] = 0] = 'Br';\n      BreakType[BreakType['Block'] = 1] = 'Block';\n      BreakType[BreakType['Wrap'] = 2] = 'Wrap';\n      BreakType[BreakType['Eol'] = 3] = 'Eol';\n    })(BreakType || (BreakType = {}));\n    const flip = (direction, positions) => direction === HDirection.Backwards ? reverse(positions) : positions;\n    const walk$1 = (direction, caretWalker, pos) => direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos);\n    const getBreakType = (scope, direction, currentPos, nextPos) => {\n      if (isBr$6(nextPos.getNode(direction === HDirection.Forwards))) {\n        return BreakType.Br;\n      } else if (isInSameBlock(currentPos, nextPos) === false) {\n        return BreakType.Block;\n      } else {\n        return BreakType.Wrap;\n      }\n    };\n    const getPositionsUntil = (predicate, direction, scope, start) => {\n      const caretWalker = CaretWalker(scope);\n      let currentPos = start;\n      const positions = [];\n      while (currentPos) {\n        const nextPos = walk$1(direction, caretWalker, currentPos);\n        if (!nextPos) {\n          break;\n        }\n        if (isBr$6(nextPos.getNode(false))) {\n          if (direction === HDirection.Forwards) {\n            return {\n              positions: flip(direction, positions).concat([nextPos]),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          } else {\n            return {\n              positions: flip(direction, positions),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          }\n        }\n        if (!nextPos.isVisible()) {\n          currentPos = nextPos;\n          continue;\n        }\n        if (predicate(currentPos, nextPos)) {\n          const breakType = getBreakType(scope, direction, currentPos, nextPos);\n          return {\n            positions: flip(direction, positions),\n            breakType,\n            breakAt: Optional.some(nextPos)\n          };\n        }\n        positions.push(nextPos);\n        currentPos = nextPos;\n      }\n      return {\n        positions: flip(direction, positions),\n        breakType: BreakType.Eol,\n        breakAt: Optional.none()\n      };\n    };\n    const getAdjacentLinePositions = (direction, getPositionsUntilBreak, scope, start) => getPositionsUntilBreak(scope, start).breakAt.map(pos => {\n      const positions = getPositionsUntilBreak(scope, pos).positions;\n      return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions);\n    }).getOr([]);\n    const findClosestHorizontalPositionFromPoint = (positions, x) => foldl(positions, (acc, newPos) => acc.fold(() => Optional.some(newPos), lastPos => lift2(head(lastPos.getClientRects()), head(newPos.getClientRects()), (lastRect, newRect) => {\n      const lastDist = Math.abs(x - lastRect.left);\n      const newDist = Math.abs(x - newRect.left);\n      return newDist <= lastDist ? newPos : lastPos;\n    }).or(acc)), Optional.none());\n    const findClosestHorizontalPosition = (positions, pos) => head(pos.getClientRects()).bind(targetRect => findClosestHorizontalPositionFromPoint(positions, targetRect.left));\n    const getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1);\n    const getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1);\n    const getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine);\n    const getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine);\n    const isAtFirstLine = (scope, pos) => getPositionsUntilPreviousLine(scope, pos).breakAt.isNone();\n    const isAtLastLine = (scope, pos) => getPositionsUntilNextLine(scope, pos).breakAt.isNone();\n    const getFirstLinePositions = scope => firstPositionIn(scope).map(pos => [pos].concat(getPositionsUntilNextLine(scope, pos).positions)).getOr([]);\n    const getLastLinePositions = scope => lastPositionIn(scope).map(pos => getPositionsUntilPreviousLine(scope, pos).positions.concat(pos)).getOr([]);\n    const getClosestPositionAbove = (scope, pos) => findClosestHorizontalPosition(getPositionsAbove(scope, pos), pos);\n    const getClosestPositionBelow = (scope, pos) => findClosestHorizontalPosition(getPositionsBelow(scope, pos), pos);\n\n    const isContentEditableFalse$4 = isContentEditableFalse$b;\n    const distanceToRectLeft$1 = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight$1 = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isNodeClientRect = rect => hasNonNullableKey(rect, 'node');\n    const findClosestClientRect = (clientRects, clientX) => reduce(clientRects, (oldClientRect, clientRect) => {\n      const oldDistance = Math.min(distanceToRectLeft$1(oldClientRect, clientX), distanceToRectRight$1(oldClientRect, clientX));\n      const newDistance = Math.min(distanceToRectLeft$1(clientRect, clientX), distanceToRectRight$1(clientRect, clientX));\n      if (newDistance === oldDistance && isNodeClientRect(clientRect) && isContentEditableFalse$4(clientRect.node)) {\n        return clientRect;\n      }\n      if (newDistance < oldDistance) {\n        return clientRect;\n      }\n      return oldClientRect;\n    });\n\n    const getNodeClientRects = node => {\n      const toArrayWithNode = clientRects => {\n        return map$3(clientRects, rect => {\n          const clientRect = clone$1(rect);\n          clientRect.node = node;\n          return clientRect;\n        });\n      };\n      if (isElement$6(node)) {\n        return toArrayWithNode(node.getClientRects());\n      } else if (isText$a(node)) {\n        const rng = node.ownerDocument.createRange();\n        rng.setStart(node, 0);\n        rng.setEnd(node, node.data.length);\n        return toArrayWithNode(rng.getClientRects());\n      } else {\n        return [];\n      }\n    };\n    const getClientRects = nodes => bind$3(nodes, getNodeClientRects);\n\n    var VDirection;\n    (function (VDirection) {\n      VDirection[VDirection['Up'] = -1] = 'Up';\n      VDirection[VDirection['Down'] = 1] = 'Down';\n    })(VDirection || (VDirection = {}));\n    const findUntil = (direction, root, predicateFn, node) => {\n      let currentNode = node;\n      while (currentNode = findNode(currentNode, direction, isEditableCaretCandidate$1, root)) {\n        if (predicateFn(currentNode)) {\n          return;\n        }\n      }\n    };\n    const walkUntil = (direction, isAboveFn, isBeflowFn, root, predicateFn, caretPosition) => {\n      let line = 0;\n      const result = [];\n      const add = node => {\n        let clientRects = getClientRects([node]);\n        if (direction === -1) {\n          clientRects = clientRects.reverse();\n        }\n        for (let i = 0; i < clientRects.length; i++) {\n          const clientRect = clientRects[i];\n          if (isBeflowFn(clientRect, targetClientRect)) {\n            continue;\n          }\n          if (result.length > 0 && isAboveFn(clientRect, last$2(result))) {\n            line++;\n          }\n          clientRect.line = line;\n          if (predicateFn(clientRect)) {\n            return true;\n          }\n          result.push(clientRect);\n        }\n        return false;\n      };\n      const targetClientRect = last$2(caretPosition.getClientRects());\n      if (!targetClientRect) {\n        return result;\n      }\n      const node = caretPosition.getNode();\n      if (node) {\n        add(node);\n        findUntil(direction, root, add, node);\n      }\n      return result;\n    };\n    const aboveLineNumber = (lineNumber, clientRect) => clientRect.line > lineNumber;\n    const isLineNumber = (lineNumber, clientRect) => clientRect.line === lineNumber;\n    const upUntil = curry(walkUntil, VDirection.Up, isAbove$1, isBelow$1);\n    const downUntil = curry(walkUntil, VDirection.Down, isBelow$1, isAbove$1);\n    const getLastClientRect = caretPosition => {\n      return last$2(caretPosition.getClientRects());\n    };\n    const positionsUntil = (direction, root, predicateFn, node) => {\n      const caretWalker = CaretWalker(root);\n      let walkFn;\n      let isBelowFn;\n      let isAboveFn;\n      let caretPosition;\n      const result = [];\n      let line = 0;\n      if (direction === 1) {\n        walkFn = caretWalker.next;\n        isBelowFn = isBelow$1;\n        isAboveFn = isAbove$1;\n        caretPosition = CaretPosition.after(node);\n      } else {\n        walkFn = caretWalker.prev;\n        isBelowFn = isAbove$1;\n        isAboveFn = isBelow$1;\n        caretPosition = CaretPosition.before(node);\n      }\n      const targetClientRect = getLastClientRect(caretPosition);\n      do {\n        if (!caretPosition.isVisible()) {\n          continue;\n        }\n        const rect = getLastClientRect(caretPosition);\n        if (isAboveFn(rect, targetClientRect)) {\n          continue;\n        }\n        if (result.length > 0 && isBelowFn(rect, last$2(result))) {\n          line++;\n        }\n        const clientRect = clone$1(rect);\n        clientRect.position = caretPosition;\n        clientRect.line = line;\n        if (predicateFn(clientRect)) {\n          return result;\n        }\n        result.push(clientRect);\n      } while (caretPosition = walkFn(caretPosition));\n      return result;\n    };\n    const isAboveLine = lineNumber => clientRect => aboveLineNumber(lineNumber, clientRect);\n    const isLine = lineNumber => clientRect => isLineNumber(lineNumber, clientRect);\n\n    const moveToRange = (editor, rng) => {\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, editor.selection.getRng());\n    };\n    const renderRangeCaretOpt = (editor, range, scrollIntoView) => Optional.some(renderRangeCaret(editor, range, scrollIntoView));\n    const moveHorizontally = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const forwards = direction === HDirection.Forwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forwards ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forwards ? isBefore : isAfter;\n      if (!range.collapsed) {\n        const node = getSelectedNode(range);\n        if (isElement(node)) {\n          return showCaret(direction, editor, node, direction === HDirection.Backwards, false);\n        } else if (isCefAtEdgeSelected(editor)) {\n          const newRange = range.cloneRange();\n          newRange.collapse(direction === HDirection.Backwards);\n          return Optional.from(newRange);\n        }\n      }\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      if (isBeforeFn(caretPosition)) {\n        return selectNode(editor, caretPosition.getNode(!forwards));\n      }\n      let nextCaretPosition = getNextPosFn(caretPosition);\n      const rangeIsInContainerBlock = isRangeInCaretContainerBlock(range);\n      if (!nextCaretPosition) {\n        return rangeIsInContainerBlock ? Optional.some(range) : Optional.none();\n      } else {\n        nextCaretPosition = normalizePosition(forwards, nextCaretPosition);\n      }\n      if (isBeforeFn(nextCaretPosition)) {\n        return showCaret(direction, editor, nextCaretPosition.getNode(!forwards), forwards, false);\n      }\n      const peekCaretPosition = getNextPosFn(nextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {\n          return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, false);\n        }\n      }\n      if (rangeIsInContainerBlock) {\n        return renderRangeCaretOpt(editor, nextCaretPosition.toRange(), false);\n      }\n      return Optional.none();\n    };\n    const moveVertically = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const caretClientRect = last$2(caretPosition.getClientRects());\n      const forwards = direction === VDirection.Down;\n      const root = editor.getBody();\n      if (!caretClientRect) {\n        return Optional.none();\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        const caretPosition = forwards ? CaretPosition.fromRangeEnd(range) : CaretPosition.fromRangeStart(range);\n        const getClosestFn = !forwards ? getClosestPositionAbove : getClosestPositionBelow;\n        return getClosestFn(root, caretPosition).orThunk(() => Optional.from(caretPosition)).map(pos => pos.toRange());\n      }\n      const walkerFn = forwards ? downUntil : upUntil;\n      const linePositions = walkerFn(root, isAboveLine(1), caretPosition);\n      const nextLinePositions = filter$5(linePositions, isLine(1));\n      const clientX = caretClientRect.left;\n      const nextLineRect = findClosestClientRect(nextLinePositions, clientX);\n      if (nextLineRect && isElement(nextLineRect.node)) {\n        const dist1 = Math.abs(clientX - nextLineRect.left);\n        const dist2 = Math.abs(clientX - nextLineRect.right);\n        return showCaret(direction, editor, nextLineRect.node, dist1 < dist2, false);\n      }\n      let currentNode;\n      if (isBefore(caretPosition)) {\n        currentNode = caretPosition.getNode();\n      } else if (isAfter(caretPosition)) {\n        currentNode = caretPosition.getNode(true);\n      } else {\n        currentNode = getSelectedNode(range);\n      }\n      if (currentNode) {\n        const caretPositions = positionsUntil(direction, root, isAboveLine(1), currentNode);\n        let closestNextLineRect = findClosestClientRect(filter$5(caretPositions, isLine(1)), clientX);\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n        closestNextLineRect = last$2(filter$5(caretPositions, isLine(0)));\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n      }\n      if (nextLinePositions.length === 0) {\n        return getLineEndPoint(editor, forwards).filter(forwards ? isAfter : isBefore).map(pos => renderRangeCaret(editor, pos.toRange(), false));\n      }\n      return Optional.none();\n    };\n    const getLineEndPoint = (editor, forward) => {\n      const rng = editor.selection.getRng();\n      const from = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      const host = getEditingHost(from.container(), editor.getBody());\n      if (forward) {\n        const lineInfo = getPositionsUntilNextLine(host, from);\n        return last$3(lineInfo.positions);\n      } else {\n        const lineInfo = getPositionsUntilPreviousLine(host, from);\n        return head(lineInfo.positions);\n      }\n    };\n    const moveToLineEndPoint$3 = (editor, forward, isElementPosition) => getLineEndPoint(editor, forward).filter(isElementPosition).exists(pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    });\n\n    const setCaretPosition = (editor, pos) => {\n      const rng = editor.dom.createRng();\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      editor.selection.setRng(rng);\n    };\n    const setSelected = (state, elm) => {\n      if (state) {\n        elm.setAttribute('data-mce-selected', 'inline-boundary');\n      } else {\n        elm.removeAttribute('data-mce-selected');\n      }\n    };\n    const renderCaretLocation = (editor, caret, location) => renderCaret(caret, location).map(pos => {\n      setCaretPosition(editor, pos);\n      return location;\n    });\n    const getPositionFromRange = (range, root, forward) => {\n      const start = CaretPosition.fromRangeStart(range);\n      if (range.collapsed) {\n        return start;\n      } else {\n        const end = CaretPosition.fromRangeEnd(range);\n        return forward ? prevPosition(root, end).getOr(end) : nextPosition(root, start).getOr(start);\n      }\n    };\n    const findLocation = (editor, caret, forward) => {\n      const rootNode = editor.getBody();\n      const from = getPositionFromRange(editor.selection.getRng(), rootNode, forward);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const location = findLocation$1(forward, isInlineTarget$1, rootNode, from);\n      return location.bind(location => renderCaretLocation(editor, caret, location));\n    };\n    const toggleInlines = (isInlineTarget, dom, elms) => {\n      const inlineBoundaries = map$3(descendants(SugarElement.fromDom(dom.getRoot()), '*[data-mce-selected=\"inline-boundary\"]'), e => e.dom);\n      const selectedInlines = filter$5(inlineBoundaries, isInlineTarget);\n      const targetInlines = filter$5(elms, isInlineTarget);\n      each$e(difference(selectedInlines, targetInlines), curry(setSelected, false));\n      each$e(difference(targetInlines, selectedInlines), curry(setSelected, true));\n    };\n    const safeRemoveCaretContainer = (editor, caret) => {\n      const caretValue = caret.get();\n      if (editor.selection.isCollapsed() && !editor.composing && caretValue) {\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (CaretPosition.isTextPosition(pos) && !isAtZwsp(pos)) {\n          setCaretPosition(editor, removeAndReposition(caretValue, pos));\n          caret.set(null);\n        }\n      }\n    };\n    const renderInsideInlineCaret = (isInlineTarget, editor, caret, elms) => {\n      if (editor.selection.isCollapsed()) {\n        const inlines = filter$5(elms, isInlineTarget);\n        each$e(inlines, _inline => {\n          const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n          readLocation(isInlineTarget, editor.getBody(), pos).bind(location => renderCaretLocation(editor, caret, location));\n        });\n      }\n    };\n    const move$3 = (editor, caret, forward) => isInlineBoundariesEnabled(editor) ? findLocation(editor, caret, forward).isSome() : false;\n    const moveWord = (forward, editor, _caret) => isInlineBoundariesEnabled(editor) ? moveByWord(forward, editor) : false;\n    const setupSelectedState = editor => {\n      const caret = Cell(null);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.on('NodeChange', e => {\n        if (isInlineBoundariesEnabled(editor)) {\n          toggleInlines(isInlineTarget$1, editor.dom, e.parents);\n          safeRemoveCaretContainer(editor, caret);\n          renderInsideInlineCaret(isInlineTarget$1, editor, caret, e.parents);\n        }\n      });\n      return caret;\n    };\n    const moveNextWord = curry(moveWord, true);\n    const movePrevWord = curry(moveWord, false);\n    const moveToLineEndPoint$2 = (editor, forward, caret) => {\n      if (isInlineBoundariesEnabled(editor)) {\n        const linePoint = getLineEndPoint(editor, forward).getOrThunk(() => {\n          const rng = editor.selection.getRng();\n          return forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n        });\n        return readLocation(curry(isInlineTarget, editor), editor.getBody(), linePoint).exists(loc => {\n          const outsideLoc = outside(loc);\n          return renderCaret(caret, outsideLoc).exists(pos => {\n            setCaretPosition(editor, pos);\n            return true;\n          });\n        });\n      } else {\n        return false;\n      }\n    };\n\n    const rangeFromPositions = (from, to) => {\n      const range = document.createRange();\n      range.setStart(from.container(), from.offset());\n      range.setEnd(to.container(), to.offset());\n      return range;\n    };\n    const hasOnlyTwoOrLessPositionsLeft = elm => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      return nextPosition(elm, normalizedFirstPos).forall(pos => pos.isEqual(normalizedLastPos));\n    }).getOr(true);\n    const setCaretLocation = (editor, caret) => location => renderCaret(caret, location).map(pos => () => setCaretPosition(editor, pos));\n    const deleteFromTo = (editor, caret, from, to) => {\n      const rootNode = editor.getBody();\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.undoManager.ignore(() => {\n        editor.selection.setRng(rangeFromPositions(from, to));\n        execNativeDeleteCommand(editor);\n        readLocation(isInlineTarget$1, rootNode, CaretPosition.fromRangeStart(editor.selection.getRng())).map(inside).bind(setCaretLocation(editor, caret)).each(call);\n      });\n      editor.nodeChanged();\n    };\n    const rescope = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const backspaceDeleteCollapsed = (editor, caret, forward, from) => {\n      const rootNode = rescope(editor.getBody(), from.container());\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const fromLocation = readLocation(isInlineTarget$1, rootNode, from);\n      const location = fromLocation.bind(location => {\n        if (forward) {\n          return location.fold(constant(Optional.some(inside(location))), Optional.none, constant(Optional.some(outside(location))), Optional.none);\n        } else {\n          return location.fold(Optional.none, constant(Optional.some(outside(location))), Optional.none, constant(Optional.some(inside(location))));\n        }\n      });\n      return location.map(setCaretLocation(editor, caret)).getOrThunk(() => {\n        const toPosition = navigate(forward, rootNode, from);\n        const toLocation = toPosition.bind(pos => readLocation(isInlineTarget$1, rootNode, pos));\n        return lift2(fromLocation, toLocation, () => findRootInline(isInlineTarget$1, rootNode, from).bind(elm => {\n          if (hasOnlyTwoOrLessPositionsLeft(elm)) {\n            return Optional.some(() => {\n              deleteElement$2(editor, forward, SugarElement.fromDom(elm));\n            });\n          } else {\n            return Optional.none();\n          }\n        })).getOrThunk(() => toLocation.bind(() => toPosition.map(to => {\n          return () => {\n            if (forward) {\n              deleteFromTo(editor, caret, from, to);\n            } else {\n              deleteFromTo(editor, caret, to, from);\n            }\n          };\n        })));\n      });\n    };\n    const backspaceDelete$4 = (editor, caret, forward) => {\n      if (editor.selection.isCollapsed() && isInlineBoundariesEnabled(editor)) {\n        const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return backspaceDeleteCollapsed(editor, caret, forward, from);\n      }\n      return Optional.none();\n    };\n\n    const hasMultipleChildren = elm => childNodesCount(elm) > 1;\n    const getParentsUntil = (editor, pred) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      const startElm = SugarElement.fromDom(editor.selection.getStart());\n      const parents = parentsAndSelf(startElm, rootElm);\n      return findIndex$2(parents, pred).fold(constant(parents), index => parents.slice(0, index));\n    };\n    const hasOnlyOneChild = elm => childNodesCount(elm) === 1;\n    const getParentInlinesUntilMultichildInline = editor => getParentsUntil(editor, elm => editor.schema.isBlock(name(elm)) || hasMultipleChildren(elm));\n    const getParentInlines = editor => getParentsUntil(editor, el => editor.schema.isBlock(name(el)));\n    const getFormatNodes = (editor, parentInlines) => {\n      const isFormatElement$1 = curry(isFormatElement, editor);\n      return bind$3(parentInlines, elm => isFormatElement$1(elm) ? [elm.dom] : []);\n    };\n    const getFormatNodesAtStart = editor => {\n      const parentInlines = getParentInlines(editor);\n      return getFormatNodes(editor, parentInlines);\n    };\n    const deleteLastPosition = (forward, editor, target, parentInlines) => {\n      const formatNodes = getFormatNodes(editor, parentInlines);\n      if (formatNodes.length === 0) {\n        deleteElement$2(editor, forward, target);\n      } else {\n        const pos = replaceWithCaretFormat(target.dom, formatNodes);\n        editor.selection.setRng(pos.toRange());\n      }\n    };\n    const deleteCaret$1 = (editor, forward) => {\n      const parentInlines = filter$5(getParentInlinesUntilMultichildInline(editor), hasOnlyOneChild);\n      return last$3(parentInlines).bind(target => {\n        const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (willDeleteLastPositionInElement(forward, fromPos, target.dom) && !isEmptyCaretFormatElement(target)) {\n          return Optional.some(() => deleteLastPosition(forward, editor, target, parentInlines));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    const isBrInEmptyElement = (editor, elm) => {\n      const parentElm = elm.parentElement;\n      return isBr$6(elm) && !isNull(parentElm) && editor.dom.isEmpty(parentElm);\n    };\n    const isEmptyCaret = elm => isEmptyCaretFormatElement(SugarElement.fromDom(elm));\n    const createCaretFormatAtStart = (editor, formatNodes) => {\n      const startElm = editor.selection.getStart();\n      const pos = isBrInEmptyElement(editor, startElm) || isEmptyCaret(startElm) ? replaceWithCaretFormat(startElm, formatNodes) : createCaretFormatAtStart$1(editor.selection.getRng(), formatNodes);\n      editor.selection.setRng(pos.toRange());\n    };\n    const updateCaretFormat = (editor, updateFormats) => {\n      const missingFormats = difference(updateFormats, getFormatNodesAtStart(editor));\n      if (missingFormats.length > 0) {\n        createCaretFormatAtStart(editor, missingFormats);\n      }\n    };\n    const rangeStartsAtTextContainer = rng => isText$a(rng.startContainer);\n    const rangeStartsAtStartOfTextContainer = rng => rng.startOffset === 0 && rangeStartsAtTextContainer(rng);\n    const rangeStartParentIsFormatElement = (editor, rng) => {\n      const startParent = rng.startContainer.parentElement;\n      return !isNull(startParent) && isFormatElement(editor, SugarElement.fromDom(startParent));\n    };\n    const rangeStartAndEndHaveSameParent = rng => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      return !isNull(startParent) && !isNull(endParent) && startParent.isEqualNode(endParent);\n    };\n    const rangeEndsAtEndOfEndContainer = rng => {\n      const endContainer = rng.endContainer;\n      return rng.endOffset === (isText$a(endContainer) ? endContainer.length : endContainer.childNodes.length);\n    };\n    const rangeEndsAtEndOfStartContainer = rng => rangeStartAndEndHaveSameParent(rng) && rangeEndsAtEndOfEndContainer(rng);\n    const rangeEndsAfterEndOfStartContainer = rng => !rng.endContainer.isEqualNode(rng.commonAncestorContainer);\n    const rangeEndsAtOrAfterEndOfStartContainer = rng => rangeEndsAtEndOfStartContainer(rng) || rangeEndsAfterEndOfStartContainer(rng);\n    const requiresDeleteRangeOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rangeStartsAtStartOfTextContainer(rng) && rangeStartParentIsFormatElement(editor, rng) && rangeEndsAtOrAfterEndOfStartContainer(rng);\n    };\n    const deleteRange$1 = editor => {\n      if (requiresDeleteRangeOverride(editor)) {\n        const formatNodes = getFormatNodesAtStart(editor);\n        return Optional.some(() => {\n          execNativeDeleteCommand(editor);\n          updateCaretFormat(editor, formatNodes);\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const backspaceDelete$3 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$1(editor, forward) : deleteRange$1(editor);\n    const hasAncestorInlineCaret = (elm, schema) => ancestor$1(elm, node => isCaretNode(node.dom), el => schema.isBlock(name(el)));\n    const hasAncestorInlineCaretAtStart = editor => hasAncestorInlineCaret(SugarElement.fromDom(editor.selection.getStart()), editor.schema);\n    const requiresRefreshCaretOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rng.collapsed && (rangeStartsAtTextContainer(rng) || editor.dom.isEmpty(rng.startContainer)) && !hasAncestorInlineCaretAtStart(editor);\n    };\n    const refreshCaret = editor => {\n      if (requiresRefreshCaretOverride(editor)) {\n        createCaretFormatAtStart(editor, []);\n      }\n      return true;\n    };\n\n    const deleteElement = (editor, forward, element) => {\n      if (isNonNullable(element)) {\n        return Optional.some(() => {\n          editor._selectionOverrides.hideFakeCaret();\n          deleteElement$2(editor, forward, SugarElement.fromDom(element));\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteCaret = (editor, forward) => {\n      const isNearMedia = forward ? isBeforeMedia : isAfterMedia;\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const fromPos = getNormalizedRangeEndPoint(direction, editor.getBody(), editor.selection.getRng());\n      if (isNearMedia(fromPos)) {\n        return deleteElement(editor, forward, fromPos.getNode(!forward));\n      } else {\n        return Optional.from(normalizePosition(forward, fromPos)).filter(pos => isNearMedia(pos) && isMoveInsideSameBlock(fromPos, pos)).bind(pos => deleteElement(editor, forward, pos.getNode(!forward)));\n      }\n    };\n    const deleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return isMedia$2(selectedNode) ? deleteElement(editor, forward, selectedNode) : Optional.none();\n    };\n    const backspaceDelete$2 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret(editor, forward) : deleteRange(editor, forward);\n\n    const isEditable = target => closest$4(target, elm => isContentEditableTrue$3(elm.dom) || isContentEditableFalse$b(elm.dom)).exists(elm => isContentEditableTrue$3(elm.dom));\n    const parseIndentValue = value => toInt(value !== null && value !== void 0 ? value : '').getOr(0);\n    const getIndentStyleName = (useMargin, element) => {\n      const indentStyleName = useMargin || isTable$1(element) ? 'margin' : 'padding';\n      const suffix = get$7(element, 'direction') === 'rtl' ? '-right' : '-left';\n      return indentStyleName + suffix;\n    };\n    const indentElement = (dom, command, useMargin, value, unit, element) => {\n      const indentStyleName = getIndentStyleName(useMargin, SugarElement.fromDom(element));\n      const parsedValue = parseIndentValue(dom.getStyle(element, indentStyleName));\n      if (command === 'outdent') {\n        const styleValue = Math.max(0, parsedValue - value);\n        dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : '');\n      } else {\n        const styleValue = parsedValue + value + unit;\n        dom.setStyle(element, indentStyleName, styleValue);\n      }\n    };\n    const validateBlocks = (editor, blocks) => forall(blocks, block => {\n      const indentStyleName = getIndentStyleName(shouldIndentUseMargin(editor), block);\n      const intentValue = getRaw(block, indentStyleName).map(parseIndentValue).getOr(0);\n      const contentEditable = editor.dom.getContentEditable(block.dom);\n      return contentEditable !== 'false' && intentValue > 0;\n    });\n    const canOutdent = editor => {\n      const blocks = getBlocksToIndent(editor);\n      return !editor.mode.isReadOnly() && (blocks.length > 1 || validateBlocks(editor, blocks));\n    };\n    const isListComponent = el => isList(el) || isListItem$1(el);\n    const parentIsListComponent = el => parent(el).exists(isListComponent);\n    const getBlocksToIndent = editor => filter$5(fromDom$1(editor.selection.getSelectedBlocks()), el => !isListComponent(el) && !parentIsListComponent(el) && isEditable(el));\n    const handle = (editor, command) => {\n      var _a, _b;\n      const {\n        dom\n      } = editor;\n      const indentation = getIndentation(editor);\n      const indentUnit = (_b = (_a = /[a-z%]+$/i.exec(indentation)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'px';\n      const indentValue = parseIndentValue(indentation);\n      const useMargin = shouldIndentUseMargin(editor);\n      each$e(getBlocksToIndent(editor), block => {\n        indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom);\n      });\n    };\n    const indent = editor => handle(editor, 'indent');\n    const outdent = editor => handle(editor, 'outdent');\n\n    const backspaceDelete$1 = editor => {\n      if (editor.selection.isCollapsed() && canOutdent(editor)) {\n        const dom = editor.dom;\n        const rng = editor.selection.getRng();\n        const pos = CaretPosition.fromRangeStart(rng);\n        const block = dom.getParent(rng.startContainer, dom.isBlock);\n        if (block !== null && isAtStartOfBlock(SugarElement.fromDom(block), pos, editor.schema)) {\n          return Optional.some(() => outdent(editor));\n        }\n      }\n      return Optional.none();\n    };\n\n    const findAction = (editor, caret, forward) => findMap([backspaceDelete$1, backspaceDelete$6, backspaceDelete$7, (editor, forward) => backspaceDelete$4(editor, caret, forward), backspaceDelete$9, backspaceDelete$a, backspaceDelete$5, backspaceDelete$2, backspaceDelete$8, backspaceDelete$3], item => item(editor, forward)).filter(_ => editor.selection.isEditable());\n    const deleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, false);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeDeleteCommand(editor);\n          paddEmptyBody(editor);\n        }\n      }, call);\n    };\n    const forwardDeleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, true);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeForwardDeleteCommand(editor);\n        }\n      }, call);\n    };\n    const setup$q = (editor, caret) => {\n      editor.addCommand('delete', () => {\n        deleteCommand(editor, caret);\n      });\n      editor.addCommand('forwardDelete', () => {\n        forwardDeleteCommand(editor, caret);\n      });\n    };\n\n    const SIGNIFICANT_MOVE = 5;\n    const LONGPRESS_DELAY = 400;\n    const getTouch = event => {\n      if (event.touches === undefined || event.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(event.touches[0]);\n    };\n    const isFarEnough = (touch, data) => {\n      const distX = Math.abs(touch.clientX - data.x);\n      const distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    const setup$p = editor => {\n      const startData = value$2();\n      const longpressFired = Cell(false);\n      const debounceLongpress = last$1(e => {\n        editor.dispatch('longpress', {\n          ...e,\n          type: 'longpress'\n        });\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      editor.on('touchstart', e => {\n        getTouch(e).each(touch => {\n          debounceLongpress.cancel();\n          const data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: e.target\n          };\n          debounceLongpress.throttle(e);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n      }, true);\n      editor.on('touchmove', e => {\n        debounceLongpress.cancel();\n        getTouch(e).each(touch => {\n          startData.on(data => {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n              longpressFired.set(false);\n              editor.dispatch('longpresscancel');\n            }\n          });\n        });\n      }, true);\n      editor.on('touchend touchcancel', e => {\n        debounceLongpress.cancel();\n        if (e.type === 'touchcancel') {\n          return;\n        }\n        startData.get().filter(data => data.target.isEqualNode(e.target)).each(() => {\n          if (longpressFired.get()) {\n            e.preventDefault();\n          } else {\n            editor.dispatch('tap', {\n              ...e,\n              type: 'tap'\n            });\n          }\n        });\n      }, true);\n    };\n\n    const isBlockElement = (blockElements, node) => has$2(blockElements, node.nodeName);\n    const isValidTarget = (schema, node) => {\n      if (isText$a(node)) {\n        return true;\n      } else if (isElement$6(node)) {\n        return !isBlockElement(schema.getBlockElements(), node) && !isBookmarkNode$1(node) && !isTransparentBlock(schema, node) && !isNonHtmlElementRoot(node);\n      } else {\n        return false;\n      }\n    };\n    const hasBlockParent = (blockElements, root, node) => {\n      return exists(parents(SugarElement.fromDom(node), SugarElement.fromDom(root)), elm => {\n        return isBlockElement(blockElements, elm.dom);\n      });\n    };\n    const shouldRemoveTextNode = (blockElements, node) => {\n      if (isText$a(node)) {\n        if (node.data.length === 0) {\n          return true;\n        } else if (/^\\s+$/.test(node.data)) {\n          return !node.nextSibling || isBlockElement(blockElements, node.nextSibling) || isNonHtmlElementRoot(node.nextSibling);\n        }\n      }\n      return false;\n    };\n    const createRootBlock = editor => editor.dom.create(getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n    const addRootBlocks = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const schema = editor.schema;\n      const blockElements = schema.getBlockElements();\n      const startNode = selection.getStart();\n      const rootNode = editor.getBody();\n      let rootBlockNode;\n      let tempNode;\n      let wrapped = false;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!startNode || !isElement$6(startNode)) {\n        return;\n      }\n      const rootNodeName = rootNode.nodeName.toLowerCase();\n      if (!schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) || hasBlockParent(blockElements, rootNode, startNode)) {\n        return;\n      }\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const restoreSelection = hasFocus(editor);\n      let node = rootNode.firstChild;\n      while (node) {\n        if (isElement$6(node)) {\n          updateElement(schema, node);\n        }\n        if (isValidTarget(schema, node)) {\n          if (shouldRemoveTextNode(blockElements, node)) {\n            tempNode = node;\n            node = node.nextSibling;\n            dom.remove(tempNode);\n            continue;\n          }\n          if (!rootBlockNode) {\n            rootBlockNode = createRootBlock(editor);\n            rootNode.insertBefore(rootBlockNode, node);\n            wrapped = true;\n          }\n          tempNode = node;\n          node = node.nextSibling;\n          rootBlockNode.appendChild(tempNode);\n        } else {\n          rootBlockNode = null;\n          node = node.nextSibling;\n        }\n      }\n      if (wrapped && restoreSelection) {\n        rng.setStart(startContainer, startOffset);\n        rng.setEnd(endContainer, endOffset);\n        selection.setRng(rng);\n        editor.nodeChanged();\n      }\n    };\n    const insertEmptyLine = (editor, root, insertBlock) => {\n      const block = SugarElement.fromDom(createRootBlock(editor));\n      const br = createPaddingBr();\n      append$1(block, br);\n      insertBlock(root, block);\n      const rng = document.createRange();\n      rng.setStartBefore(br.dom);\n      rng.setEndBefore(br.dom);\n      return rng;\n    };\n    const setup$o = editor => {\n      editor.on('NodeChange', curry(addRootBlocks, editor));\n    };\n\n    const hasClass = checkClassName => node => (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1;\n    const replaceMatchWithSpan = (editor, content, cls) => {\n      return function (match) {\n        const args = arguments,\n          index = args[args.length - 2];\n        const prevChar = index > 0 ? content.charAt(index - 1) : '';\n        if (prevChar === '\"') {\n          return match;\n        }\n        if (prevChar === '>') {\n          const findStartTagIndex = content.lastIndexOf('<', index);\n          if (findStartTagIndex !== -1) {\n            const tagHtml = content.substring(findStartTagIndex, index);\n            if (tagHtml.indexOf('contenteditable=\"false\"') !== -1) {\n              return match;\n            }\n          }\n        }\n        return '<span class=\"' + cls + '\" data-mce-content=\"' + editor.dom.encode(args[0]) + '\">' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + '<\/span>';\n      };\n    };\n    const convertRegExpsToNonEditable = (editor, nonEditableRegExps, e) => {\n      let i = nonEditableRegExps.length,\n        content = e.content;\n      if (e.format === 'raw') {\n        return;\n      }\n      while (i--) {\n        content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, getNonEditableClass(editor)));\n      }\n      e.content = content;\n    };\n    const isValidContent = (nonEditableRegExps, content) => {\n      return forall(nonEditableRegExps, re => {\n        const matches = content.match(re);\n        return matches !== null && matches[0].length === content.length;\n      });\n    };\n    const setup$n = editor => {\n      const contentEditableAttrName = 'contenteditable';\n      const editClass = ' ' + Tools.trim(getEditableClass(editor)) + ' ';\n      const nonEditClass = ' ' + Tools.trim(getNonEditableClass(editor)) + ' ';\n      const hasEditClass = hasClass(editClass);\n      const hasNonEditClass = hasClass(nonEditClass);\n      const nonEditableRegExps = getNonEditableRegExps(editor);\n      if (nonEditableRegExps.length > 0) {\n        editor.on('BeforeSetContent', e => {\n          convertRegExpsToNonEditable(editor, nonEditableRegExps, e);\n        });\n      }\n      editor.parser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (hasEditClass(node)) {\n            node.attr(contentEditableAttrName, 'true');\n          } else if (hasNonEditClass(node)) {\n            node.attr(contentEditableAttrName, 'false');\n          }\n        }\n      });\n      editor.serializer.addAttributeFilter(contentEditableAttrName, nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (!hasEditClass(node) && !hasNonEditClass(node)) {\n            continue;\n          }\n          const content = node.attr('data-mce-content');\n          if (nonEditableRegExps.length > 0 && content) {\n            if (isValidContent(nonEditableRegExps, content)) {\n              node.name = '#text';\n              node.type = 3;\n              node.raw = true;\n              node.value = content;\n            } else {\n              node.remove();\n            }\n          } else {\n            node.attr(contentEditableAttrName, null);\n          }\n        }\n      });\n    };\n\n    const findBlockCaretContainer = editor => descendant$1(SugarElement.fromDom(editor.getBody()), '*[data-mce-caret]').map(elm => elm.dom).getOrNull();\n    const showBlockCaretContainer = (editor, blockCaretContainer) => {\n      if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n        showCaretContainerBlock(blockCaretContainer);\n        editor.selection.setRng(editor.selection.getRng());\n        editor.selection.scrollIntoView(blockCaretContainer);\n      }\n    };\n    const handleBlockContainer = (editor, e) => {\n      const blockCaretContainer = findBlockCaretContainer(editor);\n      if (!blockCaretContainer) {\n        return;\n      }\n      if (e.type === 'compositionstart') {\n        e.preventDefault();\n        e.stopPropagation();\n        showBlockCaretContainer(editor, blockCaretContainer);\n        return;\n      }\n      if (hasContent(blockCaretContainer)) {\n        showBlockCaretContainer(editor, blockCaretContainer);\n        editor.undoManager.add();\n      }\n    };\n    const setup$m = editor => {\n      editor.on('keyup compositionstart', curry(handleBlockContainer, editor));\n    };\n\n    const isContentEditableFalse$3 = isContentEditableFalse$b;\n    const moveToCeFalseHorizontally = (direction, editor, range) => moveHorizontally(editor, direction, range, isBeforeContentEditableFalse, isAfterContentEditableFalse, isContentEditableFalse$3);\n    const moveToCeFalseVertically = (direction, editor, range) => {\n      const isBefore = caretPosition => isBeforeContentEditableFalse(caretPosition) || isBeforeTable(caretPosition);\n      const isAfter = caretPosition => isAfterContentEditableFalse(caretPosition) || isAfterTable(caretPosition);\n      return moveVertically(editor, direction, range, isBefore, isAfter, isContentEditableFalse$3);\n    };\n    const createTextBlock = editor => {\n      const textBlock = editor.dom.create(getForcedRootBlock(editor));\n      textBlock.innerHTML = '<br data-mce-bogus=\"1\">';\n      return textBlock;\n    };\n    const exitPreBlock = (editor, direction, range) => {\n      const caretWalker = CaretWalker(editor.getBody());\n      const getVisualCaretPosition$1 = curry(getVisualCaretPosition, direction === 1 ? caretWalker.next : caretWalker.prev);\n      if (range.collapsed) {\n        const pre = editor.dom.getParent(range.startContainer, 'PRE');\n        if (!pre) {\n          return;\n        }\n        const caretPos = getVisualCaretPosition$1(CaretPosition.fromRangeStart(range));\n        if (!caretPos) {\n          const newBlock = SugarElement.fromDom(createTextBlock(editor));\n          if (direction === 1) {\n            after$4(SugarElement.fromDom(pre), newBlock);\n          } else {\n            before$3(SugarElement.fromDom(pre), newBlock);\n          }\n          editor.selection.select(newBlock.dom, true);\n          editor.selection.collapse();\n        }\n      }\n    };\n    const getHorizontalRange = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveToCeFalseHorizontally(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const getVerticalRange = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveToCeFalseVertically(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const flipDirection = (selection, forward) => {\n      const elm = forward ? selection.getEnd(true) : selection.getStart(true);\n      return isRtl(elm) ? !forward : forward;\n    };\n    const moveH$2 = (editor, forward) => getHorizontalRange(editor, flipDirection(editor.selection, forward)).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveV$4 = (editor, down) => getVerticalRange(editor, down).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveToLineEndPoint$1 = (editor, forward) => {\n      const isCefPosition = forward ? isAfterContentEditableFalse : isBeforeContentEditableFalse;\n      return moveToLineEndPoint$3(editor, forward, isCefPosition);\n    };\n    const selectToEndPoint = (editor, forward) => getEdgeCefPosition(editor, !forward).map(pos => {\n      const rng = pos.toRange();\n      const curRng = editor.selection.getRng();\n      if (forward) {\n        rng.setStart(curRng.startContainer, curRng.startOffset);\n      } else {\n        rng.setEnd(curRng.endContainer, curRng.endOffset);\n      }\n      return rng;\n    }).exists(rng => {\n      moveToRange(editor, rng);\n      return true;\n    });\n\n    const isTarget = node => contains$2(['figcaption'], name(node));\n    const getClosestTargetBlock = (pos, root, schema) => {\n      const isRoot = curry(eq, root);\n      return closest$4(SugarElement.fromDom(pos.container()), el => schema.isBlock(name(el)), isRoot).filter(isTarget);\n    };\n    const isAtFirstOrLastLine = (root, forward, pos) => forward ? isAtLastLine(root.dom, pos) : isAtFirstLine(root.dom, pos);\n    const moveCaretToNewEmptyLine = (editor, forward) => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getClosestTargetBlock(pos, root, editor.schema).exists(() => {\n        if (isAtFirstOrLastLine(root, forward, pos)) {\n          const insertFn = forward ? append$1 : prepend;\n          const rng = insertEmptyLine(editor, root, insertFn);\n          editor.selection.setRng(rng);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    const moveV$3 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return moveCaretToNewEmptyLine(editor, forward);\n      } else {\n        return false;\n      }\n    };\n\n    const moveUp = (editor, details, summary) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.firstChild === details && isAtFirstLine(summary, pos)) {\n        editor.execCommand('InsertNewBlockBefore');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const moveDown = (editor, details) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.lastChild === details && isAtLastLine(details, pos)) {\n        editor.execCommand('InsertNewBlockAfter');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$2 = (editor, forward) => {\n      if (forward) {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'details')).map(details => moveDown(editor, details)).getOr(false);\n      } else {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'summary')).bind(summary => Optional.from(editor.dom.getParent(summary, 'details')).map(details => moveUp(editor, details, summary))).getOr(false);\n      }\n    };\n    const moveV$2 = (editor, forward) => move$2(editor, forward);\n\n    const baseKeyPattern = {\n      shiftKey: false,\n      altKey: false,\n      ctrlKey: false,\n      metaKey: false,\n      keyCode: 0\n    };\n    const defaultPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const defaultDelayedPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const matchesEvent = (pattern, evt) => evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey;\n    const match$1 = (patterns, evt) => bind$3(defaultPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const matchDelayed = (patterns, evt) => bind$3(defaultDelayedPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const action = (f, ...x) => () => f.apply(null, x);\n    const execute = (patterns, evt) => find$2(match$1(patterns, evt), pattern => pattern.action());\n    const executeWithDelayedAction = (patterns, evt) => findMap(matchDelayed(patterns, evt), pattern => pattern.action());\n\n    const moveH$1 = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveHorizontally(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveV$1 = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveVertically(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveToLineEndPoint = (editor, forward) => {\n      const isNearMedia = forward ? isAfterMedia : isBeforeMedia;\n      return moveToLineEndPoint$3(editor, forward, isNearMedia);\n    };\n\n    const adt = Adt.generate([{\n      none: ['current']\n    }, {\n      first: ['current']\n    }, {\n      middle: ['current', 'target']\n    }, {\n      last: ['current']\n    }]);\n    const none = current => adt.none(current);\n    const CellLocation = {\n      ...adt,\n      none\n    };\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$3(children$1(scope), x => {\n        if (is$1(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup$1 = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$1(elm, 'table') || isRoot(elm);\n      return ancestor$3(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup$1(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const table = (element, isRoot) => closest$3(element, 'table', isRoot);\n\n    const walk = (all, current, index, direction, isEligible = always) => {\n      const forwards = direction === 1;\n      if (!forwards && index <= 0) {\n        return CellLocation.first(all[0]);\n      } else if (forwards && index >= all.length - 1) {\n        return CellLocation.last(all[all.length - 1]);\n      } else {\n        const newIndex = index + direction;\n        const elem = all[newIndex];\n        return isEligible(elem) ? CellLocation.middle(current, elem) : walk(all, current, newIndex, direction, isEligible);\n      }\n    };\n    const detect = (current, isRoot) => {\n      return table(current, isRoot).bind(table => {\n        const all = cells(table);\n        const index = findIndex$2(all, x => eq(current, x));\n        return index.map(index => ({\n          index,\n          all\n        }));\n      });\n    };\n    const next = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none(current);\n      }, info => {\n        return walk(info.all, current, info.index, 1, isEligible);\n      });\n    };\n    const prev = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none();\n      }, info => {\n        return walk(info.all, current, info.index, -1, isEligible);\n      });\n    };\n\n    const deflate = (rect, delta) => ({\n      left: rect.left - delta,\n      top: rect.top - delta,\n      right: rect.right + delta * 2,\n      bottom: rect.bottom + delta * 2,\n      width: rect.width + delta,\n      height: rect.height + delta\n    });\n    const getCorners = (getYAxisValue, tds) => bind$3(tds, td => {\n      const rect = deflate(clone$1(td.getBoundingClientRect()), -1);\n      return [{\n        x: rect.left,\n        y: getYAxisValue(rect),\n        cell: td\n      }, {\n        x: rect.right,\n        y: getYAxisValue(rect),\n        cell: td\n      }];\n    });\n    const findClosestCorner = (corners, x, y) => foldl(corners, (acc, newCorner) => acc.fold(() => Optional.some(newCorner), oldCorner => {\n      const oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y));\n      const newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y));\n      return Optional.some(newDist < oldDist ? newCorner : oldCorner);\n    }), Optional.none());\n    const getClosestCell = (getYAxisValue, isTargetCorner, table, x, y) => {\n      const cells = descendants(SugarElement.fromDom(table), 'td,th,caption').map(e => e.dom);\n      const corners = filter$5(getCorners(getYAxisValue, cells), corner => isTargetCorner(corner, y));\n      return findClosestCorner(corners, x, y).map(corner => corner.cell);\n    };\n    const getBottomValue = rect => rect.bottom;\n    const getTopValue = rect => rect.top;\n    const isAbove = (corner, y) => corner.y < y;\n    const isBelow = (corner, y) => corner.y > y;\n    const getClosestCellAbove = curry(getClosestCell, getBottomValue, isAbove);\n    const getClosestCellBelow = curry(getClosestCell, getTopValue, isBelow);\n    const findClosestPositionInAboveCell = (table, pos) => head(pos.getClientRects()).bind(rect => getClosestCellAbove(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getLastLinePositions(cell), pos));\n    const findClosestPositionInBelowCell = (table, pos) => last$3(pos.getClientRects()).bind(rect => getClosestCellBelow(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getFirstLinePositions(cell), pos));\n\n    const hasNextBreak = (getPositionsUntil, scope, lineInfo) => lineInfo.breakAt.exists(breakPos => getPositionsUntil(scope, breakPos).breakAt.isSome());\n    const startsWithWrapBreak = lineInfo => lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0;\n    const startsWithBrBreak = lineInfo => lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1;\n    const isAtTableCellLine = (getPositionsUntil, scope, pos) => {\n      const lineInfo = getPositionsUntil(scope, pos);\n      if (startsWithWrapBreak(lineInfo) || !isBr$6(pos.getNode()) && startsWithBrBreak(lineInfo)) {\n        return !hasNextBreak(getPositionsUntil, scope, lineInfo);\n      } else {\n        return lineInfo.breakAt.isNone();\n      }\n    };\n    const isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine);\n    const isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine);\n    const isCaretAtStartOrEndOfTable = (forward, rng, table) => {\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      return positionIn(!forward, table).exists(pos => pos.isEqual(caretPos));\n    };\n    const navigateHorizontally = (editor, forward, table, _td) => {\n      const rng = editor.selection.getRng();\n      const direction = forward ? 1 : -1;\n      if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) {\n        showCaret(direction, editor, table, !forward, false).each(newRng => {\n          moveToRange(editor, newRng);\n        });\n        return true;\n      }\n      return false;\n    };\n    const getClosestAbovePosition = (root, table, start) => findClosestPositionInAboveCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition.before(table)), rect.left))).getOr(CaretPosition.before(table));\n    const getClosestBelowPosition = (root, table, start) => findClosestPositionInBelowCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition.after(table)), rect.left))).getOr(CaretPosition.after(table));\n    const getTable = (previous, pos) => {\n      const node = pos.getNode(previous);\n      return isTable$2(node) ? Optional.some(node) : Optional.none();\n    };\n    const renderBlock = (down, editor, table) => {\n      editor.undoManager.transact(() => {\n        const insertFn = down ? after$4 : before$3;\n        const rng = insertEmptyLine(editor, SugarElement.fromDom(table), insertFn);\n        moveToRange(editor, rng);\n      });\n    };\n    const moveCaret = (editor, down, pos) => {\n      const table = down ? getTable(true, pos) : getTable(false, pos);\n      const last = down === false;\n      table.fold(() => moveToRange(editor, pos.toRange()), table => positionIn(last, editor.getBody()).filter(lastPos => lastPos.isEqual(pos)).fold(() => moveToRange(editor, pos.toRange()), _ => renderBlock(down, editor, table)));\n    };\n    const navigateVertically = (editor, down, table, td) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (!down && isAtFirstTableCellLine(td, pos)) {\n        const newPos = getClosestAbovePosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else if (down && isAtLastTableCellLine(td, pos)) {\n        const newPos = getClosestBelowPosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$1 = (editor, forward, mover) => Optional.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(td => Optional.from(editor.dom.getParent(td, 'table')).map(table => mover(editor, forward, table, td))).getOr(false);\n    const moveH = (editor, forward) => move$1(editor, forward, navigateHorizontally);\n    const moveV = (editor, forward) => move$1(editor, forward, navigateVertically);\n    const getCellFirstCursorPosition = cell => {\n      const selection = SimSelection.exact(cell, 0, cell, 0);\n      return toNative(selection);\n    };\n    const tabGo = (editor, isRoot, cell) => {\n      return cell.fold(Optional.none, Optional.none, (_current, next) => {\n        return first(next).map(cell => {\n          return getCellFirstCursorPosition(cell);\n        });\n      }, current => {\n        editor.execCommand('mceTableInsertRowAfter');\n        return tabForward(editor, isRoot, current);\n      });\n    };\n    const tabForward = (editor, isRoot, cell) => tabGo(editor, isRoot, next(cell, isEditable$2));\n    const tabBackward = (editor, isRoot, cell) => tabGo(editor, isRoot, prev(cell, isEditable$2));\n    const handleTab = (editor, forward) => {\n      const rootElements = ['table', 'li', 'dl'];\n      const body = SugarElement.fromDom(editor.getBody());\n      const isRoot = element => {\n        const name$1 = name(element);\n        return eq(element, body) || contains$2(rootElements, name$1);\n      };\n      const rng = editor.selection.getRng();\n      const container = SugarElement.fromDom(!forward ? rng.startContainer : rng.endContainer);\n      return cell(container, isRoot).map(cell => {\n        table(cell, isRoot).each(table => {\n          editor.model.table.clearSelectedCells(table.dom);\n        });\n        editor.selection.collapse(!forward);\n        const navigation = !forward ? tabBackward : tabForward;\n        const rng = navigation(editor, isRoot, cell);\n        rng.each(range => {\n          editor.selection.setRng(range);\n        });\n        return true;\n      }).getOr(false);\n    };\n\n    const executeKeydownOverride$4 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.RIGHT,\n        action: action(moveH$2, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$2, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$4, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$4, editor, true)\n      }, ...(isMac ? [{\n        keyCode: VK.UP,\n        action: action(selectToEndPoint, editor, false),\n        metaKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.DOWN,\n        action: action(selectToEndPoint, editor, true),\n        metaKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.RIGHT,\n        action: action(moveH, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV, editor, true)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$2, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$2, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(moveH$1, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$1, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$1, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$1, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(move$3, editor, caret, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(move$3, editor, caret, false)\n      }, {\n        keyCode: VK.RIGHT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(moveNextWord, editor, caret)\n      }, {\n        keyCode: VK.LEFT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(movePrevWord, editor, caret)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$3, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$3, editor, true)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$l = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$4(editor, caret, evt);\n        }\n      });\n    };\n\n    const point = (container, offset) => ({\n      container,\n      offset\n    });\n\n    const DOM$7 = DOMUtils.DOM;\n    const alwaysNext = startNode => node => startNode === node ? -1 : 0;\n    const isBoundary = dom => node => dom.isBlock(node) || contains$2(['BR', 'IMG', 'HR', 'INPUT'], node.nodeName) || dom.getContentEditable(node) === 'false';\n    const textBefore = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= 0) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, prev.container.data.length));\n      }\n    };\n    const textAfter = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= node.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, 0));\n      }\n    };\n    const scanLeft = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset >= 0 && offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).bind(prev => {\n          const prevText = prev.container.data;\n          return scanLeft(prev.container, offset + prevText.length, rootNode);\n        });\n      }\n    };\n    const scanRight = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).bind(next => scanRight(next.container, offset - text.length, rootNode));\n      }\n    };\n    const repeatLeft = (dom, node, offset, process, rootNode) => {\n      const search = TextSeeker(dom, isBoundary(dom));\n      return Optional.from(search.backwards(node, offset, process, rootNode));\n    };\n\n    const isValidTextRange = rng => rng.collapsed && isText$a(rng.startContainer);\n    const getText = rng => trim$2(rng.toString().replace(/\\u00A0/g, ' '));\n    const isWhitespace = chr => chr !== '' && ' \\xA0\\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n\n    const stripTrigger = (text, trigger) => text.substring(trigger.length);\n    const findTrigger = (text, index, trigger) => {\n      let i;\n      const firstChar = trigger.charAt(0);\n      for (i = index - 1; i >= 0; i--) {\n        const char = text.charAt(i);\n        if (isWhitespace(char)) {\n          return Optional.none();\n        }\n        if (firstChar === char && contains$1(text, trigger, i, index)) {\n          break;\n        }\n      }\n      return Optional.some(i);\n    };\n    const findStart = (dom, initRange, trigger, minChars = 0) => {\n      if (!isValidTextRange(initRange)) {\n        return Optional.none();\n      }\n      const buffer = {\n        text: '',\n        offset: 0\n      };\n      const findTriggerIndex = (element, offset, text) => {\n        buffer.text = text + buffer.text;\n        buffer.offset += offset;\n        return findTrigger(buffer.text, buffer.offset, trigger).getOr(offset);\n      };\n      const root = dom.getParent(initRange.startContainer, dom.isBlock) || dom.getRoot();\n      return repeatLeft(dom, initRange.startContainer, initRange.startOffset, findTriggerIndex, root).bind(spot => {\n        const range = initRange.cloneRange();\n        range.setStart(spot.container, spot.offset);\n        range.setEnd(initRange.endContainer, initRange.endOffset);\n        if (range.collapsed) {\n          return Optional.none();\n        }\n        const text = getText(range);\n        const triggerIndex = text.lastIndexOf(trigger);\n        if (triggerIndex !== 0 || stripTrigger(text, trigger).length < minChars) {\n          return Optional.none();\n        } else {\n          return Optional.some({\n            text: stripTrigger(text, trigger),\n            range,\n            trigger\n          });\n        }\n      });\n    };\n    const getContext = (dom, initRange, trigger, minChars = 0) => detect$1(SugarElement.fromDom(initRange.startContainer)).fold(() => findStart(dom, initRange, trigger, minChars), elm => {\n      const range = dom.createRng();\n      range.selectNode(elm.dom);\n      const text = getText(range);\n      return Optional.some({\n        range,\n        text: stripTrigger(text, trigger),\n        trigger\n      });\n    });\n\n    const isText$1 = node => node.nodeType === TEXT;\n    const isElement = node => node.nodeType === ELEMENT;\n    const toLast = node => {\n      if (isText$1(node)) {\n        return point(node, node.data.length);\n      } else {\n        const children = node.childNodes;\n        return children.length > 0 ? toLast(children[children.length - 1]) : point(node, children.length);\n      }\n    };\n    const toLeaf = (node, offset) => {\n      const children = node.childNodes;\n      if (children.length > 0 && offset < children.length) {\n        return toLeaf(children[offset], 0);\n      } else if (children.length > 0 && isElement(node) && children.length === offset) {\n        return toLast(children[children.length - 1]);\n      } else {\n        return point(node, offset);\n      }\n    };\n\n    const isPreviousCharContent = (dom, leaf) => {\n      var _a;\n      const root = (_a = dom.getParent(leaf.container, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      return repeatLeft(dom, leaf.container, leaf.offset, (_element, offset) => offset === 0 ? -1 : offset, root).filter(spot => {\n        const char = spot.container.data.charAt(spot.offset - 1);\n        return !isWhitespace(char);\n      }).isSome();\n    };\n    const isStartOfWord = dom => rng => {\n      const leaf = toLeaf(rng.startContainer, rng.startOffset);\n      return !isPreviousCharContent(dom, leaf);\n    };\n    const getTriggerContext = (dom, initRange, database) => findMap(database.triggers, trigger => getContext(dom, initRange, trigger));\n    const lookup = (editor, getDatabase) => {\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      return getTriggerContext(editor.dom, rng, database).bind(context => lookupWithContext(editor, getDatabase, context));\n    };\n    const lookupWithContext = (editor, getDatabase, context, fetchOptions = {}) => {\n      var _a;\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      const startText = (_a = rng.startContainer.nodeValue) !== null && _a !== void 0 ? _a : '';\n      const autocompleters = filter$5(database.lookupByTrigger(context.trigger), autocompleter => context.text.length >= autocompleter.minChars && autocompleter.matches.getOrThunk(() => isStartOfWord(editor.dom))(context.range, startText, context.text));\n      if (autocompleters.length === 0) {\n        return Optional.none();\n      }\n      const lookupData = Promise.all(map$3(autocompleters, ac => {\n        const fetchResult = ac.fetch(context.text, ac.maxResults, fetchOptions);\n        return fetchResult.then(results => ({\n          matchText: context.text,\n          items: results,\n          columns: ac.columns,\n          onAction: ac.onAction,\n          highlightOn: ac.highlightOn\n        }));\n      }));\n      return Optional.some({\n        lookupData,\n        context\n      });\n    };\n\n    var SimpleResultType;\n    (function (SimpleResultType) {\n      SimpleResultType[SimpleResultType['Error'] = 0] = 'Error';\n      SimpleResultType[SimpleResultType['Value'] = 1] = 'Value';\n    })(SimpleResultType || (SimpleResultType = {}));\n    const fold$1 = (res, onError, onValue) => res.stype === SimpleResultType.Error ? onError(res.serror) : onValue(res.svalue);\n    const partition = results => {\n      const values = [];\n      const errors = [];\n      each$e(results, obj => {\n        fold$1(obj, err => errors.push(err), val => values.push(val));\n      });\n      return {\n        values,\n        errors\n      };\n    };\n    const mapError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return {\n          stype: SimpleResultType.Error,\n          serror: f(res.serror)\n        };\n      } else {\n        return res;\n      }\n    };\n    const map = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return {\n          stype: SimpleResultType.Value,\n          svalue: f(res.svalue)\n        };\n      } else {\n        return res;\n      }\n    };\n    const bind$1 = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return f(res.svalue);\n      } else {\n        return res;\n      }\n    };\n    const bindError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return f(res.serror);\n      } else {\n        return res;\n      }\n    };\n    const svalue = v => ({\n      stype: SimpleResultType.Value,\n      svalue: v\n    });\n    const serror = e => ({\n      stype: SimpleResultType.Error,\n      serror: e\n    });\n    const toResult = res => fold$1(res, Result.error, Result.value);\n    const fromResult = res => res.fold(serror, svalue);\n    const SimpleResult = {\n      fromResult,\n      toResult,\n      svalue,\n      partition,\n      serror,\n      bind: bind$1,\n      bindError,\n      map,\n      mapError,\n      fold: fold$1\n    };\n\n    const formatObj = input => {\n      return isObject(input) && keys(input).length > 100 ? ' removed due to size' : JSON.stringify(input, null, 2);\n    };\n    const formatErrors = errors => {\n      const es = errors.length > 10 ? errors.slice(0, 10).concat([{\n        path: [],\n        getErrorInfo: constant('... (only showing first ten failures)')\n      }]) : errors;\n      return map$3(es, e => {\n        return 'Failed path: (' + e.path.join(' > ') + ')\\n' + e.getErrorInfo();\n      });\n    };\n\n    const nu = (path, getErrorInfo) => {\n      return SimpleResult.serror([{\n        path,\n        getErrorInfo\n      }]);\n    };\n    const missingRequired = (path, key, obj) => nu(path, () => 'Could not find valid *required* value for \"' + key + '\" in ' + formatObj(obj));\n    const missingKey = (path, key) => nu(path, () => 'Choice schema did not contain choice key: \"' + key + '\"');\n    const missingBranch = (path, branches, branch) => nu(path, () => 'The chosen schema: \"' + branch + '\" did not exist in branches: ' + formatObj(branches));\n    const custom = (path, err) => nu(path, constant(err));\n\n    const chooseFrom = (path, input, branches, ch) => {\n      const fields = get$a(branches, ch);\n      return fields.fold(() => missingBranch(path, branches, ch), vp => vp.extract(path.concat(['branch: ' + ch]), input));\n    };\n    const choose$1 = (key, branches) => {\n      const extract = (path, input) => {\n        const choice = get$a(input, key);\n        return choice.fold(() => missingKey(path, key), chosen => chooseFrom(path, input, branches, chosen));\n      };\n      const toString = () => 'chooseOn(' + key + '). Possible values: ' + keys(branches);\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n    const merge = baseMerge(shallow);\n\n    const required = () => ({\n      tag: 'required',\n      process: {}\n    });\n    const defaultedThunk = fallbackThunk => ({\n      tag: 'defaultedThunk',\n      process: fallbackThunk\n    });\n    const defaulted$1 = fallback => defaultedThunk(constant(fallback));\n    const asOption = () => ({\n      tag: 'option',\n      process: {}\n    });\n\n    const mergeValues = (values, base) => values.length > 0 ? SimpleResult.svalue(deepMerge(base, merge.apply(undefined, values))) : SimpleResult.svalue(base);\n    const mergeErrors = errors => compose(SimpleResult.serror, flatten)(errors);\n    const consolidateObj = (objects, base) => {\n      const partition = SimpleResult.partition(objects);\n      return partition.errors.length > 0 ? mergeErrors(partition.errors) : mergeValues(partition.values, base);\n    };\n    const consolidateArr = objects => {\n      const partitions = SimpleResult.partition(objects);\n      return partitions.errors.length > 0 ? mergeErrors(partitions.errors) : SimpleResult.svalue(partitions.values);\n    };\n    const ResultCombine = {\n      consolidateObj,\n      consolidateArr\n    };\n\n    const field$1 = (key, newKey, presence, prop) => ({\n      tag: 'field',\n      key,\n      newKey,\n      presence,\n      prop\n    });\n    const customField$1 = (newKey, instantiator) => ({\n      tag: 'custom',\n      newKey,\n      instantiator\n    });\n    const fold = (value, ifField, ifCustom) => {\n      switch (value.tag) {\n        case 'field':\n          return ifField(value.key, value.newKey, value.presence, value.prop);\n        case 'custom':\n          return ifCustom(value.newKey, value.instantiator);\n      }\n    };\n\n    const value = validator => {\n      const extract = (path, val) => {\n        return SimpleResult.bindError(validator(val), err => custom(path, err));\n      };\n      const toString = constant('val');\n      return {\n        extract,\n        toString\n      };\n    };\n    const anyValue$1 = value(SimpleResult.svalue);\n\n    const requiredAccess = (path, obj, key, bundle) => get$a(obj, key).fold(() => missingRequired(path, key, obj), bundle);\n    const fallbackAccess = (obj, key, fallback, bundle) => {\n      const v = get$a(obj, key).getOrThunk(() => fallback(obj));\n      return bundle(v);\n    };\n    const optionAccess = (obj, key, bundle) => bundle(get$a(obj, key));\n    const optionDefaultedAccess = (obj, key, fallback, bundle) => {\n      const opt = get$a(obj, key).map(val => val === true ? fallback(obj) : val);\n      return bundle(opt);\n    };\n    const extractField = (field, path, obj, key, prop) => {\n      const bundle = av => prop.extract(path.concat([key]), av);\n      const bundleAsOption = optValue => optValue.fold(() => SimpleResult.svalue(Optional.none()), ov => {\n        const result = prop.extract(path.concat([key]), ov);\n        return SimpleResult.map(result, Optional.some);\n      });\n      switch (field.tag) {\n        case 'required':\n          return requiredAccess(path, obj, key, bundle);\n        case 'defaultedThunk':\n          return fallbackAccess(obj, key, field.process, bundle);\n        case 'option':\n          return optionAccess(obj, key, bundleAsOption);\n        case 'defaultedOptionThunk':\n          return optionDefaultedAccess(obj, key, field.process, bundleAsOption);\n        case 'mergeWithThunk':\n          {\n            return fallbackAccess(obj, key, constant({}), v => {\n              const result = deepMerge(field.process(obj), v);\n              return bundle(result);\n            });\n          }\n      }\n    };\n    const extractFields = (path, obj, fields) => {\n      const success = {};\n      const errors = [];\n      for (const field of fields) {\n        fold(field, (key, newKey, presence, prop) => {\n          const result = extractField(presence, path, obj, key, prop);\n          SimpleResult.fold(result, err => {\n            errors.push(...err);\n          }, res => {\n            success[newKey] = res;\n          });\n        }, (newKey, instantiator) => {\n          success[newKey] = instantiator(obj);\n        });\n      }\n      return errors.length > 0 ? SimpleResult.serror(errors) : SimpleResult.svalue(success);\n    };\n    const objOf = values => {\n      const extract = (path, o) => extractFields(path, o, values);\n      const toString = () => {\n        const fieldStrings = map$3(values, value => fold(value, (key, _okey, _presence, prop) => key + ' -> ' + prop.toString(), (newKey, _instantiator) => 'state(' + newKey + ')'));\n        return 'obj{\\n' + fieldStrings.join('\\n') + '}';\n      };\n      return {\n        extract,\n        toString\n      };\n    };\n    const arrOf = prop => {\n      const extract = (path, array) => {\n        const results = map$3(array, (a, i) => prop.extract(path.concat(['[' + i + ']']), a));\n        return ResultCombine.consolidateArr(results);\n      };\n      const toString = () => 'array(' + prop.toString() + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const valueOf = validator => value(v => validator(v).fold(SimpleResult.serror, SimpleResult.svalue));\n    const extractValue = (label, prop, obj) => {\n      const res = prop.extract([label], obj);\n      return SimpleResult.mapError(res, errs => ({\n        input: obj,\n        errors: errs\n      }));\n    };\n    const asRaw = (label, prop, obj) => SimpleResult.toResult(extractValue(label, prop, obj));\n    const formatError = errInfo => {\n      return 'Errors: \\n' + formatErrors(errInfo.errors).join('\\n') + '\\n\\nInput object: ' + formatObj(errInfo.input);\n    };\n    const choose = (key, branches) => choose$1(key, map$2(branches, objOf));\n\n    const anyValue = constant(anyValue$1);\n    const typedValue = (validator, expectedType) => value(a => {\n      const actualType = typeof a;\n      return validator(a) ? SimpleResult.svalue(a) : SimpleResult.serror(\"Expected type: \".concat(expectedType, \" but got: \").concat(actualType));\n    });\n    const number = typedValue(isNumber, 'number');\n    const string = typedValue(isString, 'string');\n    const boolean = typedValue(isBoolean, 'boolean');\n    const functionProcessor = typedValue(isFunction, 'function');\n\n    const field = field$1;\n    const customField = customField$1;\n    const validateEnum = values => valueOf(value => contains$2(values, value) ? Result.value(value) : Result.error(\"Unsupported value: \\\"\".concat(value, \"\\\", choose one of \\\"\").concat(values.join(', '), \"\\\".\")));\n    const requiredOf = (key, schema) => field(key, key, required(), schema);\n    const requiredString = key => requiredOf(key, string);\n    const requiredFunction = key => requiredOf(key, functionProcessor);\n    const requiredArrayOf = (key, schema) => field(key, key, required(), arrOf(schema));\n    const optionOf = (key, schema) => field(key, key, asOption(), schema);\n    const optionString = key => optionOf(key, string);\n    const optionFunction = key => optionOf(key, functionProcessor);\n    const defaulted = (key, fallback) => field(key, key, defaulted$1(fallback), anyValue());\n    const defaultedOf = (key, fallback, schema) => field(key, key, defaulted$1(fallback), schema);\n    const defaultedNumber = (key, fallback) => defaultedOf(key, fallback, number);\n    const defaultedString = (key, fallback) => defaultedOf(key, fallback, string);\n    const defaultedStringEnum = (key, fallback, values) => defaultedOf(key, fallback, validateEnum(values));\n    const defaultedBoolean = (key, fallback) => defaultedOf(key, fallback, boolean);\n    const defaultedFunction = (key, fallback) => defaultedOf(key, fallback, functionProcessor);\n    const defaultedArrayOf = (key, fallback, schema) => defaultedOf(key, fallback, arrOf(schema));\n\n    const type = requiredString('type');\n    const fetch$1 = requiredFunction('fetch');\n    const onAction = requiredFunction('onAction');\n    const onSetup = defaultedFunction('onSetup', () => noop);\n    const optionalText = optionString('text');\n    const optionalIcon = optionString('icon');\n    const optionalTooltip = optionString('tooltip');\n    const optionalLabel = optionString('label');\n    const active = defaultedBoolean('active', false);\n    const enabled = defaultedBoolean('enabled', true);\n    const primary = defaultedBoolean('primary', false);\n    const defaultedColumns = num => defaulted('columns', num);\n    const defaultedType = type => defaultedString('type', type);\n\n    const autocompleterSchema = objOf([type, requiredString('trigger'), defaultedNumber('minChars', 1), defaultedColumns(1), defaultedNumber('maxResults', 10), optionFunction('matches'), fetch$1, onAction, defaultedArrayOf('highlightOn', [], string)]);\n    const createAutocompleter = spec => asRaw('Autocompleter', autocompleterSchema, {\n      trigger: spec.ch,\n      ...spec\n    });\n\n    const baseToolbarButtonFields = [enabled, optionalTooltip, optionalIcon, optionalText, onSetup];\n\n    const baseToolbarToggleButtonFields = [active].concat(baseToolbarButtonFields);\n\n    const contextBarFields = [defaultedFunction('predicate', never), defaultedStringEnum('scope', 'node', ['node', 'editor']), defaultedStringEnum('position', 'selection', ['node', 'selection', 'line'])];\n\n    const contextButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const contextToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const launchButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton')]);\n    const launchToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformtogglebutton')]);\n    const toggleOrNormal = choose('type', {\n      contextformbutton: contextButtonFields,\n      contextformtogglebutton: contextToggleButtonFields\n    });\n    objOf([defaultedType('contextform'), defaultedFunction('initValue', constant('')), optionalLabel, requiredArrayOf('commands', toggleOrNormal), optionOf('launch', choose('type', {\n      contextformbutton: launchButtonFields,\n      contextformtogglebutton: launchToggleButtonFields\n    }))].concat(contextBarFields));\n\n    const register$2 = editor => {\n      const popups = editor.ui.registry.getAll().popups;\n      const dataset = map$2(popups, popup => createAutocompleter(popup).fold(err => {\n        throw new Error(formatError(err));\n      }, identity));\n      const triggers = stringArray(mapToArray(dataset, v => v.trigger));\n      const datasetValues = values(dataset);\n      const lookupByTrigger = trigger => filter$5(datasetValues, dv => dv.trigger === trigger);\n      return {\n        dataset,\n        triggers,\n        lookupByTrigger\n      };\n    };\n\n    const setupEditorInput = (editor, api) => {\n      const update = last$1(api.load, 50);\n      editor.on('keypress compositionend', e => {\n        if (e.which === 27) {\n          return;\n        }\n        update.throttle();\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.which;\n        if (keyCode === 8) {\n          update.throttle();\n        } else if (keyCode === 27) {\n          api.cancelIfNecessary();\n        }\n      });\n      editor.on('remove', update.cancel);\n    };\n    const setup$k = editor => {\n      const activeAutocompleter = value$2();\n      const uiActive = Cell(false);\n      const isActive = activeAutocompleter.isSet;\n      const cancelIfNecessary = () => {\n        if (isActive()) {\n          removeAutocompleterDecoration(editor);\n          fireAutocompleterEnd(editor);\n          uiActive.set(false);\n          activeAutocompleter.clear();\n        }\n      };\n      const commenceIfNecessary = context => {\n        if (!isActive()) {\n          addAutocompleterDecoration(editor, context.range);\n          activeAutocompleter.set({\n            trigger: context.trigger,\n            matchLength: context.text.length\n          });\n        }\n      };\n      const getAutocompleters = cached(() => register$2(editor));\n      const doLookup = fetchOptions => activeAutocompleter.get().map(ac => getContext(editor.dom, editor.selection.getRng(), ac.trigger).bind(newContext => lookupWithContext(editor, getAutocompleters, newContext, fetchOptions))).getOrThunk(() => lookup(editor, getAutocompleters));\n      const load = fetchOptions => {\n        doLookup(fetchOptions).fold(cancelIfNecessary, lookupInfo => {\n          commenceIfNecessary(lookupInfo.context);\n          lookupInfo.lookupData.then(lookupData => {\n            activeAutocompleter.get().map(ac => {\n              const context = lookupInfo.context;\n              if (ac.trigger === context.trigger) {\n                if (context.text.length - ac.matchLength >= 10) {\n                  cancelIfNecessary();\n                } else {\n                  activeAutocompleter.set({\n                    ...ac,\n                    matchLength: context.text.length\n                  });\n                  if (uiActive.get()) {\n                    fireAutocompleterUpdate(editor, {\n                      lookupData\n                    });\n                  } else {\n                    uiActive.set(true);\n                    fireAutocompleterStart(editor, {\n                      lookupData\n                    });\n                  }\n                }\n              }\n            });\n          });\n        });\n      };\n      editor.addCommand('mceAutocompleterReload', (_ui, value) => {\n        const fetchOptions = isObject(value) ? value.fetchOptions : {};\n        load(fetchOptions);\n      });\n      editor.addCommand('mceAutocompleterClose', cancelIfNecessary);\n      setupEditorInput(editor, {\n        cancelIfNecessary,\n        load\n      });\n    };\n\n    const browser$1 = detect$2().browser;\n    const isSafari = browser$1.isSafari();\n    const emptyNodeContents = node => fillWithPaddingBr(SugarElement.fromDom(node));\n    const isEntireNodeSelected = (rng, node) => {\n      var _a;\n      return rng.startOffset === 0 && rng.endOffset === ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length);\n    };\n    const getParentDetailsElementAtPos = (dom, pos) => Optional.from(dom.getParent(pos.container(), 'details'));\n    const isInDetailsElement = (dom, pos) => getParentDetailsElementAtPos(dom, pos).isSome();\n    const getDetailsElements = (dom, rng) => {\n      const startDetails = Optional.from(dom.getParent(rng.startContainer, 'details'));\n      const endDetails = Optional.from(dom.getParent(rng.endContainer, 'details'));\n      if (startDetails.isSome() || endDetails.isSome()) {\n        const startSummary = startDetails.bind(details => Optional.from(dom.select('summary', details)[0]));\n        return Optional.some({\n          startSummary,\n          startDetails,\n          endDetails\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const isCaretInTheBeginningOf = (caretPos, element) => firstPositionIn(element).exists(pos => pos.isEqual(caretPos));\n    const isCaretInTheEndOf = (caretPos, element) => {\n      return lastPositionIn(element).exists(pos => {\n        if (isBr$6(pos.getNode())) {\n          return prevPosition(element, pos).exists(pos2 => pos2.isEqual(caretPos)) || pos.isEqual(caretPos);\n        } else {\n          return pos.isEqual(caretPos);\n        }\n      });\n    };\n    const isCaretAtStartOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheBeginningOf(caretPos, summary));\n    const isCaretAtEndOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheEndOf(caretPos, summary));\n    const isCaretInFirstPositionInBody = (caretPos, detailsElements) => detailsElements.startDetails.exists(details => prevPosition(details, caretPos).forall(pos => detailsElements.startSummary.exists(summary => !summary.contains(caretPos.container()) && summary.contains(pos.container()))));\n    const isCaretInLastPositionInBody = (root, caretPos, detailsElements) => detailsElements.startDetails.exists(details => nextPosition(root, caretPos).forall(pos => !details.contains(pos.container())));\n    const setCaretToPosition = (editor, position) => {\n      const node = position.getNode();\n      if (!isUndefined(node)) {\n        editor.selection.setCursorLocation(node, position.offset());\n      }\n    };\n    const moveCaretToDetailsPos = (editor, pos, forward) => {\n      const details = editor.dom.getParent(pos.container(), 'details');\n      if (details && !details.open) {\n        const summary = editor.dom.select('summary', details)[0];\n        if (summary) {\n          const newPos = forward ? firstPositionIn(summary) : lastPositionIn(summary);\n          newPos.each(pos => setCaretToPosition(editor, pos));\n        }\n      } else {\n        setCaretToPosition(editor, pos);\n      }\n    };\n    const isPartialDelete = (rng, detailsElements) => {\n      const containsStart = element => element.contains(rng.startContainer);\n      const containsEnd = element => element.contains(rng.endContainer);\n      const startInSummary = detailsElements.startSummary.exists(containsStart);\n      const endInSummary = detailsElements.startSummary.exists(containsEnd);\n      const isPartiallySelectedDetailsElements = detailsElements.startDetails.forall(startDetails => detailsElements.endDetails.forall(endDetails => startDetails !== endDetails));\n      const isInPartiallySelectedSummary = (startInSummary || endInSummary) && !(startInSummary && endInSummary);\n      return isInPartiallySelectedSummary || isPartiallySelectedDetailsElements;\n    };\n    const shouldPreventDeleteIntoDetails = (editor, forward, granularity) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const root = editor.getBody();\n      if (granularity === 'character') {\n        const caretPos = CaretPosition.fromRangeStart(selection.getRng());\n        const parentBlock = dom.getParent(caretPos.container(), dom.isBlock);\n        const parentDetailsAtCaret = getParentDetailsElementAtPos(dom, caretPos);\n        const inEmptyParentBlock = parentBlock && dom.isEmpty(parentBlock);\n        const isFirstBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.previousSibling);\n        const isLastBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.nextSibling);\n        if (inEmptyParentBlock) {\n          const firstOrLast = forward ? isLastBlock : isFirstBlock;\n          if (firstOrLast) {\n            const isBeforeAfterDetails = navigate(!forward, root, caretPos).exists(pos => {\n              return isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, getParentDetailsElementAtPos(dom, pos));\n            });\n            if (isBeforeAfterDetails) {\n              return true;\n            }\n          }\n        }\n        return navigate(forward, root, caretPos).fold(never, pos => {\n          const parentDetailsAtNewPos = getParentDetailsElementAtPos(dom, pos);\n          if (isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, parentDetailsAtNewPos)) {\n            if (!forward) {\n              moveCaretToDetailsPos(editor, pos, false);\n            }\n            if (parentBlock && inEmptyParentBlock) {\n              if (forward && isFirstBlock) {\n                return true;\n              } else if (!forward && isLastBlock) {\n                return true;\n              }\n              moveCaretToDetailsPos(editor, pos, forward);\n              editor.dom.remove(parentBlock);\n            }\n            return true;\n          } else {\n            return false;\n          }\n        });\n      } else {\n        return false;\n      }\n    };\n    const shouldPreventDeleteSummaryAction = (editor, detailElements, forward, granularity) => {\n      const selection = editor.selection;\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (granularity === 'selection') {\n        return isPartialDelete(rng, detailElements);\n      } else if (forward) {\n        return isCaretAtEndOfSummary(caretPos, detailElements) || isCaretInLastPositionInBody(root, caretPos, detailElements);\n      } else {\n        return isCaretAtStartOfSummary(caretPos, detailElements) || isCaretInFirstPositionInBody(caretPos, detailElements);\n      }\n    };\n    const shouldPreventDeleteAction = (editor, forward, granularity) => getDetailsElements(editor.dom, editor.selection.getRng()).fold(() => shouldPreventDeleteIntoDetails(editor, forward, granularity), detailsElements => shouldPreventDeleteSummaryAction(editor, detailsElements, forward, granularity) || shouldPreventDeleteIntoDetails(editor, forward, granularity));\n    const handleDeleteActionSafari = (editor, forward, granularity) => {\n      const selection = editor.selection;\n      const node = selection.getNode();\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      if (isSummary$1(node)) {\n        if (granularity === 'selection' && isEntireNodeSelected(rng, node) || willDeleteLastPositionInElement(forward, caretPos, node)) {\n          emptyNodeContents(node);\n        } else {\n          editor.undoManager.transact(() => {\n            const sel = selection.getSel();\n            let {\n              anchorNode,\n              anchorOffset,\n              focusNode,\n              focusOffset\n            } = sel !== null && sel !== void 0 ? sel : {};\n            const applySelection = () => {\n              if (isNonNullable(anchorNode) && isNonNullable(anchorOffset) && isNonNullable(focusNode) && isNonNullable(focusOffset)) {\n                sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);\n              }\n            };\n            const updateSelection = () => {\n              anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n              anchorOffset = sel === null || sel === void 0 ? void 0 : sel.anchorOffset;\n              focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n              focusOffset = sel === null || sel === void 0 ? void 0 : sel.focusOffset;\n            };\n            const appendAllChildNodes = (from, to) => {\n              each$e(from.childNodes, child => {\n                if (isNode(child)) {\n                  to.appendChild(child);\n                }\n              });\n            };\n            const container = editor.dom.create('span', {\n              'data-mce-bogus': '1'\n            });\n            appendAllChildNodes(node, container);\n            node.appendChild(container);\n            applySelection();\n            if (granularity === 'word' || granularity === 'line') {\n              sel === null || sel === void 0 ? void 0 : sel.modify('extend', forward ? 'right' : 'left', granularity);\n            }\n            if (!selection.isCollapsed() && isEntireNodeSelected(selection.getRng(), container)) {\n              emptyNodeContents(node);\n            } else {\n              editor.execCommand(forward ? 'ForwardDelete' : 'Delete');\n              updateSelection();\n              appendAllChildNodes(container, node);\n              applySelection();\n            }\n            editor.dom.remove(container);\n          });\n        }\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const backspaceDelete = (editor, forward, granularity) => shouldPreventDeleteAction(editor, forward, granularity) || isSafari && handleDeleteActionSafari(editor, forward, granularity) ? Optional.some(noop) : Optional.none();\n\n    const createAndFireInputEvent = eventType => (editor, inputType, specifics = {}) => {\n      const target = editor.getBody();\n      const overrides = {\n        bubbles: true,\n        composed: true,\n        data: null,\n        isComposing: false,\n        detail: 0,\n        view: null,\n        target,\n        currentTarget: target,\n        eventPhase: Event.AT_TARGET,\n        originalTarget: target,\n        explicitOriginalTarget: target,\n        isTrusted: false,\n        srcElement: target,\n        cancelable: false,\n        preventDefault: noop,\n        inputType\n      };\n      const input = clone$3(new InputEvent(eventType));\n      return editor.dispatch(eventType, {\n        ...input,\n        ...overrides,\n        ...specifics\n      });\n    };\n    const fireInputEvent = createAndFireInputEvent('input');\n    const fireBeforeInputEvent = createAndFireInputEvent('beforeinput');\n\n    const platform$2 = detect$2();\n    const os = platform$2.os;\n    const isMacOSOriOS = os.isMacOS() || os.isiOS();\n    const browser = platform$2.browser;\n    const isFirefox = browser.isFirefox();\n    const executeKeydownOverride$3 = (editor, caret, evt) => {\n      const inputType = evt.keyCode === VK.BACKSPACE ? 'deleteContentBackward' : 'deleteContentForward';\n      const isCollapsed = editor.selection.isCollapsed();\n      const unmodifiedGranularity = isCollapsed ? 'character' : 'selection';\n      const getModifiedGranularity = isWord => {\n        if (isCollapsed) {\n          return isWord ? 'word' : 'line';\n        } else {\n          return 'selection';\n        }\n      };\n      executeWithDelayedAction([{\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$1, editor)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$6, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$6, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$7, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$7, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$4, editor, caret, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$4, editor, caret, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$a, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$a, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete, editor, false, unmodifiedGranularity)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete, editor, true, unmodifiedGranularity)\n      }, ...(isMacOSOriOS ? [{\n        keyCode: VK.BACKSPACE,\n        altKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        altKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.BACKSPACE,\n        metaKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(false))\n      }] : [{\n        keyCode: VK.BACKSPACE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }]), {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$5, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$5, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$2, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$2, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$8, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$8, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$9, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$9, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$3, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$3, editor, true)\n      }], evt).filter(_ => editor.selection.isEditable()).each(applyAction => {\n        evt.preventDefault();\n        const beforeInput = fireBeforeInputEvent(editor, inputType);\n        if (!beforeInput.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, inputType);\n        }\n      });\n    };\n    const executeKeyupOverride = (editor, evt, isBackspaceKeydown) => execute([{\n      keyCode: VK.BACKSPACE,\n      action: action(paddEmptyElement, editor)\n    }, {\n      keyCode: VK.DELETE,\n      action: action(paddEmptyElement, editor)\n    }, ...(isMacOSOriOS ? [{\n      keyCode: VK.BACKSPACE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, ...(isBackspaceKeydown ? [{\n      keyCode: isFirefox ? 224 : 91,\n      action: action(refreshCaret, editor)\n    }] : [])] : [{\n      keyCode: VK.BACKSPACE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }])], evt);\n    const setup$j = (editor, caret) => {\n      let isBackspaceKeydown = false;\n      editor.on('keydown', evt => {\n        isBackspaceKeydown = evt.keyCode === VK.BACKSPACE;\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$3(editor, caret, evt);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupOverride(editor, evt, isBackspaceKeydown);\n        }\n        isBackspaceKeydown = false;\n      });\n    };\n\n    const firstNonWhiteSpaceNodeSibling = node => {\n      while (node) {\n        if (isElement$6(node) || isText$a(node) && node.data && /[\\r\\n\\s]/.test(node.data)) {\n          return node;\n        }\n        node = node.nextSibling;\n      }\n      return null;\n    };\n    const moveToCaretPosition = (editor, root) => {\n      const dom = editor.dom;\n      const moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements();\n      if (!root) {\n        return;\n      }\n      if (/^(LI|DT|DD)$/.test(root.nodeName)) {\n        const firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);\n        if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {\n          root.insertBefore(dom.doc.createTextNode(nbsp), root.firstChild);\n        }\n      }\n      const rng = dom.createRng();\n      root.normalize();\n      if (root.hasChildNodes()) {\n        const walker = new DomTreeWalker(root, root);\n        let lastNode = root;\n        let node;\n        while (node = walker.current()) {\n          if (isText$a(node)) {\n            rng.setStart(node, 0);\n            rng.setEnd(node, 0);\n            break;\n          }\n          if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {\n            rng.setStartBefore(node);\n            rng.setEndBefore(node);\n            break;\n          }\n          lastNode = node;\n          node = walker.next();\n        }\n        if (!node) {\n          rng.setStart(lastNode, 0);\n          rng.setEnd(lastNode, 0);\n        }\n      } else {\n        if (isBr$6(root)) {\n          if (root.nextSibling && dom.isBlock(root.nextSibling)) {\n            rng.setStartBefore(root);\n            rng.setEndBefore(root);\n          } else {\n            rng.setStartAfter(root);\n            rng.setEndAfter(root);\n          }\n        } else {\n          rng.setStart(root, 0);\n          rng.setEnd(root, 0);\n        }\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const getEditableRoot = (dom, node) => {\n      const root = dom.getRoot();\n      let editableRoot;\n      let parent = node;\n      while (parent !== root && parent && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    const getParentBlock$1 = editor => {\n      return Optional.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock));\n    };\n    const getParentBlockName = editor => {\n      return getParentBlock$1(editor).fold(constant(''), parentBlock => {\n        return parentBlock.nodeName.toUpperCase();\n      });\n    };\n    const isListItemParentBlock = editor => {\n      return getParentBlock$1(editor).filter(elm => {\n        return isListItem$1(SugarElement.fromDom(elm));\n      }).isSome();\n    };\n    const emptyBlock = elm => {\n      elm.innerHTML = '<br data-mce-bogus=\"1\">';\n    };\n    const applyAttributes = (editor, node, forcedRootBlockAttrs) => {\n      const dom = editor.dom;\n      Optional.from(forcedRootBlockAttrs.style).map(dom.parseStyle).each(attrStyles => {\n        const currentStyles = getAllRaw(SugarElement.fromDom(node));\n        const newStyles = {\n          ...currentStyles,\n          ...attrStyles\n        };\n        dom.setStyles(node, newStyles);\n      });\n      const attrClassesOpt = Optional.from(forcedRootBlockAttrs.class).map(attrClasses => attrClasses.split(/\\s+/));\n      const currentClassesOpt = Optional.from(node.className).map(currentClasses => filter$5(currentClasses.split(/\\s+/), clazz => clazz !== ''));\n      lift2(attrClassesOpt, currentClassesOpt, (attrClasses, currentClasses) => {\n        const filteredClasses = filter$5(currentClasses, clazz => !contains$2(attrClasses, clazz));\n        const newClasses = [...attrClasses, ...filteredClasses];\n        dom.setAttrib(node, 'class', newClasses.join(' '));\n      });\n      const appliedAttrs = ['style', 'class'];\n      const remainingAttrs = filter$4(forcedRootBlockAttrs, (_, attrs) => !contains$2(appliedAttrs, attrs));\n      dom.setAttribs(node, remainingAttrs);\n    };\n    const setForcedBlockAttrs = (editor, node) => {\n      const forcedRootBlockName = getForcedRootBlock(editor);\n      if (forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {\n        const forcedRootBlockAttrs = getForcedRootBlockAttrs(editor);\n        applyAttributes(editor, node, forcedRootBlockAttrs);\n      }\n    };\n    const createNewBlock = (editor, container, parentBlock, editableRoot, keepStyles = true, name, styles) => {\n      const dom = editor.dom;\n      const schema = editor.schema;\n      const newBlockName = getForcedRootBlock(editor);\n      const parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      let node = container;\n      const textInlineElements = schema.getTextInlineElements();\n      let block;\n      if (name || parentBlockName === 'TABLE' || parentBlockName === 'HR') {\n        block = dom.create(name || newBlockName, styles || {});\n      } else {\n        block = parentBlock.cloneNode(false);\n      }\n      let caretNode = block;\n      if (!keepStyles) {\n        dom.setAttrib(block, 'style', null);\n        dom.setAttrib(block, 'class', null);\n      } else {\n        do {\n          if (textInlineElements[node.nodeName]) {\n            if (isCaretNode(node) || isBookmarkNode$1(node)) {\n              continue;\n            }\n            const clonedNode = node.cloneNode(false);\n            dom.setAttrib(clonedNode, 'id', '');\n            if (block.hasChildNodes()) {\n              clonedNode.appendChild(block.firstChild);\n              block.appendChild(clonedNode);\n            } else {\n              caretNode = clonedNode;\n              block.appendChild(clonedNode);\n            }\n          }\n        } while ((node = node.parentNode) && node !== editableRoot);\n      }\n      setForcedBlockAttrs(editor, block);\n      emptyBlock(caretNode);\n      return block;\n    };\n\n    const getDetailsRoot = (editor, element) => editor.dom.getParent(element, isDetails);\n    const isAtDetailsEdge = (root, element, isTextBlock) => {\n      let node = element;\n      while (node && node !== root && isNull(node.nextSibling)) {\n        const parent = node.parentElement;\n        if (!parent || !isTextBlock(parent)) {\n          return isDetails(parent);\n        }\n        node = parent;\n      }\n      return false;\n    };\n    const isLastEmptyBlockInDetails = (editor, shiftKey, element) => !shiftKey && element.nodeName.toLowerCase() === getForcedRootBlock(editor) && editor.dom.isEmpty(element) && isAtDetailsEdge(editor.getBody(), element, el => has$2(editor.schema.getTextBlockElements(), el.nodeName.toLowerCase()));\n    const insertNewLine = (editor, createNewBlock, parentBlock) => {\n      var _a, _b, _c;\n      const newBlock = createNewBlock(getForcedRootBlock(editor));\n      const root = getDetailsRoot(editor, parentBlock);\n      if (!root) {\n        return;\n      }\n      editor.dom.insertAfter(newBlock, root);\n      moveToCaretPosition(editor, newBlock);\n      if (((_c = (_b = (_a = parentBlock.parentElement) === null || _a === void 0 ? void 0 : _a.childNodes) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 1) {\n        editor.dom.remove(parentBlock);\n      }\n    };\n\n    const hasFirstChild = (elm, name) => {\n      return elm.firstChild && elm.firstChild.nodeName === name;\n    };\n    const isFirstChild = elm => {\n      var _a;\n      return ((_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === elm;\n    };\n    const hasParent = (elm, parentName) => {\n      const parentNode = elm === null || elm === void 0 ? void 0 : elm.parentNode;\n      return isNonNullable(parentNode) && parentNode.nodeName === parentName;\n    };\n    const isListBlock = elm => {\n      return isNonNullable(elm) && /^(OL|UL|LI)$/.test(elm.nodeName);\n    };\n    const isListItem = elm => {\n      return isNonNullable(elm) && /^(LI|DT|DD)$/.test(elm.nodeName);\n    };\n    const isNestedList = elm => {\n      return isListBlock(elm) && isListBlock(elm.parentNode);\n    };\n    const getContainerBlock = containerBlock => {\n      const containerBlockParent = containerBlock.parentNode;\n      return isListItem(containerBlockParent) ? containerBlockParent : containerBlock;\n    };\n    const isFirstOrLastLi = (containerBlock, parentBlock, first) => {\n      let node = containerBlock[first ? 'firstChild' : 'lastChild'];\n      while (node) {\n        if (isElement$6(node)) {\n          break;\n        }\n        node = node[first ? 'nextSibling' : 'previousSibling'];\n      }\n      return node === parentBlock;\n    };\n    const getStyles = elm => foldl(mapToArray(getAllRaw(SugarElement.fromDom(elm)), (style, styleName) => \"\".concat(styleName, \": \").concat(style, \";\")), (acc, s) => acc + s, '');\n    const insert$4 = (editor, createNewBlock, containerBlock, parentBlock, newBlockName) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const containerParent = containerBlock.parentNode;\n      if (containerBlock === editor.getBody() || !containerParent) {\n        return;\n      }\n      if (isNestedList(containerBlock)) {\n        newBlockName = 'LI';\n      }\n      const parentBlockStyles = isListItem(parentBlock) ? getStyles(parentBlock) : undefined;\n      let newBlock = isListItem(parentBlock) && parentBlockStyles ? createNewBlock(newBlockName, {\n        style: getStyles(parentBlock)\n      }) : createNewBlock(newBlockName);\n      if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        if (hasParent(containerBlock, 'LI')) {\n          const containerBlockParent = getContainerBlock(containerBlock);\n          dom.insertAfter(newBlock, containerBlockParent);\n          if (isFirstChild(containerBlock)) {\n            dom.remove(containerBlockParent);\n          } else {\n            dom.remove(containerBlock);\n          }\n        } else {\n          dom.replace(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) {\n        if (hasParent(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n          newBlock.appendChild(dom.doc.createTextNode(' '));\n          newBlock.appendChild(containerBlock);\n        } else {\n          containerParent.insertBefore(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n        dom.remove(parentBlock);\n      } else {\n        containerBlock = getContainerBlock(containerBlock);\n        const tmpRng = rng.cloneRange();\n        tmpRng.setStartAfter(parentBlock);\n        tmpRng.setEndAfter(containerBlock);\n        const fragment = tmpRng.extractContents();\n        if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) {\n          const previousChildren = filter$5(map$3(newBlock.children, SugarElement.fromDom), not(isTag('br')));\n          newBlock = fragment.firstChild;\n          dom.insertAfter(fragment, containerBlock);\n          each$e(previousChildren, child => prepend(SugarElement.fromDom(newBlock), child));\n          if (parentBlockStyles) {\n            newBlock.setAttribute('style', parentBlockStyles);\n          }\n        } else {\n          dom.insertAfter(fragment, containerBlock);\n          dom.insertAfter(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      }\n      moveToCaretPosition(editor, newBlock);\n    };\n\n    const trimZwsp = fragment => {\n      each$e(descendants$1(SugarElement.fromDom(fragment), isText$b), text => {\n        const rawNode = text.dom;\n        rawNode.nodeValue = trim$2(rawNode.data);\n      });\n    };\n    const isWithinNonEditableList = (editor, node) => {\n      const parentList = editor.dom.getParent(node, 'ol,ul,dl');\n      return parentList !== null && editor.dom.getContentEditableParent(parentList) === 'false';\n    };\n    const isEmptyAnchor = (dom, elm) => {\n      return elm && elm.nodeName === 'A' && dom.isEmpty(elm);\n    };\n    const containerAndSiblingName = (container, nodeName) => {\n      return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName;\n    };\n    const canSplitBlock = (dom, node) => {\n      return isNonNullable(node) && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.isEditable(node.parentNode) && dom.getContentEditable(node) !== 'false';\n    };\n    const trimInlineElementsOnLeftSideOfBlock = (dom, nonEmptyElementsMap, block) => {\n      var _a;\n      const firstChilds = [];\n      if (!block) {\n        return;\n      }\n      let currentNode = block;\n      while (currentNode = currentNode.firstChild) {\n        if (dom.isBlock(currentNode)) {\n          return;\n        }\n        if (isElement$6(currentNode) && !nonEmptyElementsMap[currentNode.nodeName.toLowerCase()]) {\n          firstChilds.push(currentNode);\n        }\n      }\n      let i = firstChilds.length;\n      while (i--) {\n        currentNode = firstChilds[i];\n        if (!currentNode.hasChildNodes() || currentNode.firstChild === currentNode.lastChild && ((_a = currentNode.firstChild) === null || _a === void 0 ? void 0 : _a.nodeValue) === '') {\n          dom.remove(currentNode);\n        } else {\n          if (isEmptyAnchor(dom, currentNode)) {\n            dom.remove(currentNode);\n          }\n        }\n      }\n    };\n    const normalizeZwspOffset = (start, container, offset) => {\n      if (!isText$a(container)) {\n        return offset;\n      } else if (start) {\n        return offset === 1 && container.data.charAt(offset - 1) === ZWSP$1 ? 0 : offset;\n      } else {\n        return offset === container.data.length - 1 && container.data.charAt(offset) === ZWSP$1 ? container.data.length : offset;\n      }\n    };\n    const includeZwspInRange = rng => {\n      const newRng = rng.cloneRange();\n      newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset));\n      newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset));\n      return newRng;\n    };\n    const trimLeadingLineBreaks = node => {\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode)) {\n          currentNode.data = currentNode.data.replace(/^[\\r\\n]+/, '');\n        }\n        currentNode = currentNode.firstChild;\n      } while (currentNode);\n    };\n    const wrapSelfAndSiblingsInDefaultBlock = (editor, newBlockName, rng, container, offset) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const editableRoot = (_a = getEditableRoot(dom, container)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      if (!parentBlock || !canSplitBlock(dom, parentBlock)) {\n        parentBlock = parentBlock || editableRoot;\n        if (!parentBlock.hasChildNodes()) {\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          parentBlock.appendChild(newBlock);\n          rng.setStart(newBlock, 0);\n          rng.setEnd(newBlock, 0);\n          return newBlock;\n        }\n        let node = container;\n        while (node && node.parentNode !== parentBlock) {\n          node = node.parentNode;\n        }\n        let startNode;\n        while (node && !dom.isBlock(node)) {\n          startNode = node;\n          node = node.previousSibling;\n        }\n        const startNodeName = (_b = startNode === null || startNode === void 0 ? void 0 : startNode.parentElement) === null || _b === void 0 ? void 0 : _b.nodeName;\n        if (startNode && startNodeName && editor.schema.isValidChild(startNodeName, newBlockName.toLowerCase())) {\n          const startNodeParent = startNode.parentNode;\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          startNodeParent.insertBefore(newBlock, startNode);\n          node = startNode;\n          while (node && !dom.isBlock(node)) {\n            const next = node.nextSibling;\n            newBlock.appendChild(node);\n            node = next;\n          }\n          rng.setStart(container, offset);\n          rng.setEnd(container, offset);\n        }\n      }\n      return container;\n    };\n    const addBrToBlockIfNeeded = (dom, block) => {\n      block.normalize();\n      const lastChild = block.lastChild;\n      if (!lastChild || isElement$6(lastChild) && /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) {\n        dom.add(block, 'br');\n      }\n    };\n    const shouldEndContainer = (editor, container) => {\n      const optionValue = shouldEndContainerOnEmptyBlock(editor);\n      if (isNullable(container)) {\n        return false;\n      } else if (isString(optionValue)) {\n        return contains$2(Tools.explode(optionValue), container.nodeName.toLowerCase());\n      } else {\n        return optionValue;\n      }\n    };\n    const insert$3 = (editor, evt) => {\n      let container;\n      let offset;\n      let parentBlockName;\n      let containerBlock;\n      let isAfterLastNodeInContainer = false;\n      const dom = editor.dom;\n      const schema = editor.schema,\n        nonEmptyElementsMap = schema.getNonEmptyElements();\n      const rng = editor.selection.getRng();\n      const newBlockName = getForcedRootBlock(editor);\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCef = child.exists(element => isHTMLElement$1(element) && !isEditable$2(element));\n      const collapsedAndCef = rng.collapsed && isCef;\n      const createNewBlock$1 = (name, styles) => {\n        return createNewBlock(editor, container, parentBlock, editableRoot, shouldKeepStyles(editor), name, styles);\n      };\n      const isCaretAtStartOrEndOfBlock = start => {\n        const normalizedOffset = normalizeZwspOffset(start, container, offset);\n        if (isText$a(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.data.length)) {\n          return false;\n        }\n        if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) {\n          return true;\n        }\n        if (start && isElement$6(container) && container === parentBlock.firstChild) {\n          return true;\n        }\n        if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) {\n          return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start;\n        }\n        const walker = new DomTreeWalker(container, parentBlock);\n        if (isText$a(container)) {\n          if (start && normalizedOffset === 0) {\n            walker.prev();\n          } else if (!start && normalizedOffset === container.data.length) {\n            walker.next();\n          }\n        }\n        let node;\n        while (node = walker.current()) {\n          if (isElement$6(node)) {\n            if (!node.getAttribute('data-mce-bogus')) {\n              const name = node.nodeName.toLowerCase();\n              if (nonEmptyElementsMap[name] && name !== 'br') {\n                return false;\n              }\n            }\n          } else if (isText$a(node) && !isWhitespaceText(node.data)) {\n            return false;\n          }\n          if (start) {\n            walker.prev();\n          } else {\n            walker.next();\n          }\n        }\n        return true;\n      };\n      const insertNewBlockAfter = () => {\n        let block;\n        if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') {\n          block = createNewBlock$1(newBlockName);\n        } else {\n          block = createNewBlock$1();\n        }\n        if (shouldEndContainer(editor, containerBlock) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock, undefined, {\n          includeZwsp: true\n        })) {\n          block = dom.split(containerBlock, parentBlock);\n        } else {\n          dom.insertAfter(block, parentBlock);\n        }\n        moveToCaretPosition(editor, block);\n        return block;\n      };\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      const shiftKey = !!(evt && evt.shiftKey);\n      const ctrlKey = !!(evt && evt.ctrlKey);\n      if (isElement$6(container) && container.hasChildNodes() && !collapsedAndCef) {\n        isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      const editableRoot = getEditableRoot(dom, container);\n      if (!editableRoot || isWithinNonEditableList(editor, container)) {\n        return;\n      }\n      if (!shiftKey) {\n        container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset);\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock) || dom.getRoot();\n      containerBlock = isNonNullable(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.parentNode) ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      if (containerBlockName === 'LI' && !ctrlKey) {\n        const liBlock = containerBlock;\n        parentBlock = liBlock;\n        containerBlock = liBlock.parentNode;\n        parentBlockName = containerBlockName;\n      }\n      if (isElement$6(containerBlock) && isLastEmptyBlockInDetails(editor, shiftKey, parentBlock)) {\n        return insertNewLine(editor, createNewBlock$1, parentBlock);\n      }\n      if (/^(LI|DT|DD)$/.test(parentBlockName) && isElement$6(containerBlock)) {\n        if (dom.isEmpty(parentBlock)) {\n          insert$4(editor, createNewBlock$1, containerBlock, parentBlock, newBlockName);\n          return;\n        }\n      }\n      if (!collapsedAndCef && (parentBlock === editor.getBody() || !canSplitBlock(dom, parentBlock))) {\n        return;\n      }\n      const parentBlockParent = parentBlock.parentNode;\n      let newBlock;\n      if (collapsedAndCef) {\n        newBlock = createNewBlock$1(newBlockName);\n        child.fold(() => {\n          append$1(start, SugarElement.fromDom(newBlock));\n        }, child => {\n          before$3(child, SugarElement.fromDom(newBlock));\n        });\n        editor.selection.setCursorLocation(newBlock, 0);\n      } else if (isCaretContainerBlock$1(parentBlock)) {\n        newBlock = showCaretContainerBlock(parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        setForcedBlockAttrs(editor, newBlock);\n        moveToCaretPosition(editor, newBlock);\n      } else if (isCaretAtStartOrEndOfBlock(false)) {\n        newBlock = insertNewBlockAfter();\n      } else if (isCaretAtStartOrEndOfBlock(true) && parentBlockParent) {\n        newBlock = parentBlockParent.insertBefore(createNewBlock$1(), parentBlock);\n        const isNearChildren = hasChildNodes(SugarElement.fromDom(rng.startContainer)) && rng.collapsed;\n        moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') || isNearChildren ? newBlock : parentBlock);\n      } else {\n        const tmpRng = includeZwspInRange(rng).cloneRange();\n        tmpRng.setEndAfter(parentBlock);\n        const fragment = tmpRng.extractContents();\n        trimZwsp(fragment);\n        trimLeadingLineBreaks(fragment);\n        newBlock = fragment.firstChild;\n        dom.insertAfter(fragment, parentBlock);\n        trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock);\n        addBrToBlockIfNeeded(dom, parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        newBlock.normalize();\n        if (dom.isEmpty(newBlock)) {\n          dom.remove(newBlock);\n          insertNewBlockAfter();\n        } else {\n          setForcedBlockAttrs(editor, newBlock);\n          moveToCaretPosition(editor, newBlock);\n        }\n      }\n      dom.setAttrib(newBlock, 'id', '');\n      editor.dispatch('NewBlock', {\n        newBlock\n      });\n    };\n    const fakeEventName$1 = 'insertParagraph';\n    const blockbreak = {\n      insert: insert$3,\n      fakeEventName: fakeEventName$1\n    };\n\n    const hasRightSideContent = (schema, container, parentBlock) => {\n      const walker = new DomTreeWalker(container, parentBlock);\n      let node;\n      const nonEmptyElementsMap = schema.getNonEmptyElements();\n      while (node = walker.next()) {\n        if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || isText$a(node) && node.length > 0) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const moveSelectionToBr = (editor, brElm, extraBr) => {\n      const rng = editor.dom.createRng();\n      if (!extraBr) {\n        rng.setStartAfter(brElm);\n        rng.setEndAfter(brElm);\n      } else {\n        rng.setStartBefore(brElm);\n        rng.setEndBefore(brElm);\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const insertBrAtCaret = (editor, evt) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const rng = selection.getRng();\n      let brElm;\n      let extraBr = false;\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      let offset = rng.startOffset;\n      let container = rng.startContainer;\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      const containerBlock = parentBlock && parentBlock.parentNode ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      const isControlKey = !!(evt && evt.ctrlKey);\n      if (containerBlockName === 'LI' && !isControlKey) {\n        parentBlock = containerBlock;\n      }\n      if (isText$a(container) && offset >= container.data.length) {\n        if (!hasRightSideContent(editor.schema, container, parentBlock || dom.getRoot())) {\n          brElm = dom.create('br');\n          rng.insertNode(brElm);\n          rng.setStartAfter(brElm);\n          rng.setEndAfter(brElm);\n          extraBr = true;\n        }\n      }\n      brElm = dom.create('br');\n      rangeInsertNode(dom, rng, brElm);\n      moveSelectionToBr(editor, brElm, extraBr);\n      editor.undoManager.add();\n    };\n    const insertBrBefore = (editor, inline) => {\n      const br = SugarElement.fromTag('br');\n      before$3(SugarElement.fromDom(inline), br);\n      editor.undoManager.add();\n    };\n    const insertBrAfter = (editor, inline) => {\n      if (!hasBrAfter(editor.getBody(), inline)) {\n        after$4(SugarElement.fromDom(inline), SugarElement.fromTag('br'));\n      }\n      const br = SugarElement.fromTag('br');\n      after$4(SugarElement.fromDom(inline), br);\n      moveSelectionToBr(editor, br.dom, false);\n      editor.undoManager.add();\n    };\n    const isBeforeBr = pos => {\n      return isBr$6(pos.getNode());\n    };\n    const hasBrAfter = (rootNode, startNode) => {\n      if (isBeforeBr(CaretPosition.after(startNode))) {\n        return true;\n      } else {\n        return nextPosition(rootNode, CaretPosition.after(startNode)).map(pos => {\n          return isBr$6(pos.getNode());\n        }).getOr(false);\n      }\n    };\n    const isAnchorLink = elm => {\n      return elm && elm.nodeName === 'A' && 'href' in elm;\n    };\n    const isInsideAnchor = location => {\n      return location.fold(never, isAnchorLink, isAnchorLink, never);\n    };\n    const readInlineAnchorLocation = editor => {\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const position = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return readLocation(isInlineTarget$1, editor.getBody(), position).filter(isInsideAnchor);\n    };\n    const insertBrOutsideAnchor = (editor, location) => {\n      location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop);\n    };\n    const insert$2 = (editor, evt) => {\n      const anchorLocation = readInlineAnchorLocation(editor);\n      if (anchorLocation.isSome()) {\n        anchorLocation.each(curry(insertBrOutsideAnchor, editor));\n      } else {\n        insertBrAtCaret(editor, evt);\n      }\n    };\n    const fakeEventName = 'insertLineBreak';\n    const linebreak = {\n      insert: insert$2,\n      fakeEventName\n    };\n\n    const matchesSelector = (editor, selector) => {\n      return getParentBlock$1(editor).filter(parentBlock => {\n        return selector.length > 0 && is$1(SugarElement.fromDom(parentBlock), selector);\n      }).isSome();\n    };\n    const shouldInsertBr = editor => {\n      return matchesSelector(editor, getBrNewLineSelector(editor));\n    };\n    const shouldBlockNewLine$1 = editor => {\n      return matchesSelector(editor, getNoNewLineSelector(editor));\n    };\n\n    const newLineAction = Adt.generate([{\n      br: []\n    }, {\n      block: []\n    }, {\n      none: []\n    }]);\n    const shouldBlockNewLine = (editor, _shiftKey) => {\n      return shouldBlockNewLine$1(editor);\n    };\n    const inListBlock = requiredState => {\n      return (editor, _shiftKey) => {\n        return isListItemParentBlock(editor) === requiredState;\n      };\n    };\n    const inBlock = (blockName, requiredState) => (editor, _shiftKey) => {\n      const state = getParentBlockName(editor) === blockName.toUpperCase();\n      return state === requiredState;\n    };\n    const inCefBlock = editor => {\n      const editableRoot = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNullable(editableRoot);\n    };\n    const inPreBlock = requiredState => inBlock('pre', requiredState);\n    const inSummaryBlock = () => inBlock('summary', true);\n    const shouldPutBrInPre = requiredState => {\n      return (editor, _shiftKey) => {\n        return shouldPutBrInPre$1(editor) === requiredState;\n      };\n    };\n    const inBrContext = (editor, _shiftKey) => {\n      return shouldInsertBr(editor);\n    };\n    const hasShiftKey = (_editor, shiftKey) => {\n      return shiftKey;\n    };\n    const canInsertIntoEditableRoot = editor => {\n      const forcedRootBlock = getForcedRootBlock(editor);\n      const rootEditable = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNonNullable(rootEditable) && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock);\n    };\n    const isInRootWithEmptyOrCEF = editor => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCefOpt = child.map(element => isHTMLElement$1(element) && !isEditable$2(element));\n      return rng.collapsed && isCefOpt.getOr(true);\n    };\n    const match = (predicates, action) => {\n      return (editor, shiftKey) => {\n        const isMatch = foldl(predicates, (res, p) => {\n          return res && p(editor, shiftKey);\n        }, true);\n        return isMatch ? Optional.some(action) : Optional.none();\n      };\n    };\n    const getAction = (editor, evt) => {\n      return evaluateUntil([match([shouldBlockNewLine], newLineAction.none()), match([inPreBlock(true), inCefBlock], newLineAction.none()), match([inSummaryBlock()], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false), hasShiftKey], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false)], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true), hasShiftKey], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true)], newLineAction.br()), match([inListBlock(true), hasShiftKey], newLineAction.br()), match([inListBlock(true)], newLineAction.block()), match([inBrContext], newLineAction.br()), match([hasShiftKey], newLineAction.br()), match([canInsertIntoEditableRoot], newLineAction.block()), match([isInRootWithEmptyOrCEF], newLineAction.block())], [editor, !!(evt && evt.shiftKey)]).getOr(newLineAction.none());\n    };\n\n    const insertBreak = (breakType, editor, evt) => {\n      if (!editor.selection.isCollapsed()) {\n        execEditorDeleteCommand(editor);\n      }\n      if (isNonNullable(evt)) {\n        const event = fireBeforeInputEvent(editor, breakType.fakeEventName);\n        if (event.isDefaultPrevented()) {\n          return;\n        }\n      }\n      breakType.insert(editor, evt);\n      if (isNonNullable(evt)) {\n        fireInputEvent(editor, breakType.fakeEventName);\n      }\n    };\n    const insert$1 = (editor, evt) => {\n      const br = () => insertBreak(linebreak, editor, evt);\n      const block = () => insertBreak(blockbreak, editor, evt);\n      const logicalAction = getAction(editor, evt);\n      switch (getNewlineBehavior(editor)) {\n        case 'linebreak':\n          logicalAction.fold(br, br, noop);\n          break;\n        case 'block':\n          logicalAction.fold(block, block, noop);\n          break;\n        case 'invert':\n          logicalAction.fold(block, br, noop);\n          break;\n        default:\n          logicalAction.fold(br, block, noop);\n          break;\n      }\n    };\n\n    const platform$1 = detect$2();\n    const isIOSSafari = platform$1.os.isiOS() && platform$1.browser.isSafari();\n    const handleEnterKeyEvent = (editor, event) => {\n      if (event.isDefaultPrevented()) {\n        return;\n      }\n      event.preventDefault();\n      endTypingLevelIgnoreLocks(editor.undoManager);\n      editor.undoManager.transact(() => {\n        insert$1(editor, event);\n      });\n    };\n    const isCaretAfterKoreanCharacter = rng => {\n      if (!rng.collapsed) {\n        return false;\n      }\n      const startContainer = rng.startContainer;\n      if (isText$a(startContainer)) {\n        const koreanCharRegex = /^[\\uAC00-\\uD7AF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uD7B0-\\uD7FF]$/;\n        const char = startContainer.data.charAt(rng.startOffset - 1);\n        return koreanCharRegex.test(char);\n      } else {\n        return false;\n      }\n    };\n    const setup$i = editor => {\n      let iOSSafariKeydownBookmark = Optional.none();\n      const iOSSafariKeydownOverride = editor => {\n        iOSSafariKeydownBookmark = Optional.some(editor.selection.getBookmark());\n        editor.undoManager.add();\n      };\n      const iOSSafariKeyupOverride = (editor, event) => {\n        editor.undoManager.undo();\n        iOSSafariKeydownBookmark.fold(noop, b => editor.selection.moveToBookmark(b));\n        handleEnterKeyEvent(editor, event);\n        iOSSafariKeydownBookmark = Optional.none();\n      };\n      editor.on('keydown', event => {\n        if (event.keyCode === VK.ENTER) {\n          if (isIOSSafari && isCaretAfterKoreanCharacter(editor.selection.getRng())) {\n            iOSSafariKeydownOverride(editor);\n          } else {\n            handleEnterKeyEvent(editor, event);\n          }\n        }\n      });\n      editor.on('keyup', event => {\n        if (event.keyCode === VK.ENTER) {\n          iOSSafariKeydownBookmark.each(() => iOSSafariKeyupOverride(editor, event));\n        }\n      });\n    };\n\n    const executeKeydownOverride$2 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$1, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$1, editor, false)\n      }, ...(!isMac ? [{\n        keyCode: VK.HOME,\n        action: action(selectToEndPoint, editor, false),\n        ctrlKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.END,\n        action: action(selectToEndPoint, editor, true),\n        ctrlKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint, editor, false)\n      }, {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$h = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$2(editor, caret, evt);\n        }\n      });\n    };\n\n    const setup$g = editor => {\n      editor.on('input', e => {\n        if (!e.isComposing) {\n          normalizeNbspsInEditor(editor);\n        }\n      });\n    };\n\n    const platform = detect$2();\n    const executeKeyupAction = (editor, caret, evt) => {\n      execute([{\n        keyCode: VK.PAGE_UP,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }, {\n        keyCode: VK.PAGE_DOWN,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }], evt);\n    };\n    const stopImmediatePropagation = e => e.stopImmediatePropagation();\n    const isPageUpDown = evt => evt.keyCode === VK.PAGE_UP || evt.keyCode === VK.PAGE_DOWN;\n    const setNodeChangeBlocker = (blocked, editor, block) => {\n      if (block && !blocked.get()) {\n        editor.on('NodeChange', stopImmediatePropagation, true);\n      } else if (!block && blocked.get()) {\n        editor.off('NodeChange', stopImmediatePropagation);\n      }\n      blocked.set(block);\n    };\n    const setup$f = (editor, caret) => {\n      if (platform.os.isMacOS()) {\n        return;\n      }\n      const blocked = Cell(false);\n      editor.on('keydown', evt => {\n        if (isPageUpDown(evt)) {\n          setNodeChangeBlocker(blocked, editor, true);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupAction(editor, caret, evt);\n        }\n        if (isPageUpDown(evt) && blocked.get()) {\n          setNodeChangeBlocker(blocked, editor, false);\n          editor.nodeChanged();\n        }\n      });\n    };\n\n    const setup$e = editor => {\n      editor.on('beforeinput', e => {\n        if (!editor.selection.isEditable() || exists(e.getTargetRanges(), rng => !isEditableRange(editor.dom, rng))) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const insertTextAtPosition = (text, pos) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container)) {\n        container.insertData(offset, text);\n        return Optional.some(CaretPosition(container, offset + text.length));\n      } else {\n        return getElementFromPosition(pos).map(elm => {\n          const textNode = SugarElement.fromText(text);\n          if (pos.isAtEnd()) {\n            after$4(elm, textNode);\n          } else {\n            before$3(elm, textNode);\n          }\n          return CaretPosition(textNode.dom, text.length);\n        });\n      }\n    };\n    const insertNbspAtPosition = curry(insertTextAtPosition, nbsp);\n    const insertSpaceAtPosition = curry(insertTextAtPosition, ' ');\n\n    const insertSpaceOrNbspAtPosition = (root, pos, schema) => needsToHaveNbsp(root, pos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const locationToCaretPosition = root => location => location.fold(element => prevPosition(root.dom, CaretPosition.before(element)), element => firstPositionIn(element), element => lastPositionIn(element), element => nextPosition(root.dom, CaretPosition.after(element)));\n    const insertInlineBoundarySpaceOrNbsp = (root, pos, schema) => checkPos => needsToHaveNbsp(root, checkPos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const setSelection = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      editor.nodeChanged();\n    };\n    const isInsideSummary = (domUtils, node) => domUtils.isEditable(domUtils.getParent(node, 'summary'));\n    const insertSpaceOrNbspAtSelection = editor => {\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        const isInlineTarget$1 = curry(isInlineTarget, editor);\n        const caretPosition = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return readLocation(isInlineTarget$1, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).map(checkPos => () => insertInlineBoundarySpaceOrNbsp(root, pos, editor.schema)(checkPos).each(setSelection(editor)));\n      } else {\n        return Optional.none();\n      }\n    };\n    const insertSpaceInSummaryAtSelectionOnFirefox = editor => {\n      const insertSpaceThunk = () => {\n        const root = SugarElement.fromDom(editor.getBody());\n        if (!editor.selection.isCollapsed()) {\n          editor.getDoc().execCommand('Delete');\n        }\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        insertSpaceOrNbspAtPosition(root, pos, editor.schema).each(setSelection(editor));\n      };\n      return someIf(Env.browser.isFirefox() && editor.selection.isEditable() && isInsideSummary(editor.dom, editor.selection.getRng().startContainer), insertSpaceThunk);\n    };\n\n    const executeKeydownOverride$1 = (editor, evt) => {\n      executeWithDelayedAction([{\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceOrNbspAtSelection, editor)\n      }, {\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceInSummaryAtSelectionOnFirefox, editor)\n      }], evt).each(applyAction => {\n        evt.preventDefault();\n        const event = fireBeforeInputEvent(editor, 'insertText', {\n          data: ' '\n        });\n        if (!event.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, 'insertText', {\n            data: ' '\n          });\n        }\n      });\n    };\n    const setup$d = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$1(editor, evt);\n        }\n      });\n    };\n\n    const tableTabNavigation = editor => {\n      if (hasTableTabNavigation(editor)) {\n        return [{\n          keyCode: VK.TAB,\n          action: action(handleTab, editor, true)\n        }, {\n          keyCode: VK.TAB,\n          shiftKey: true,\n          action: action(handleTab, editor, false)\n        }];\n      } else {\n        return [];\n      }\n    };\n    const executeKeydownOverride = (editor, evt) => {\n      execute([...tableTabNavigation(editor)], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$c = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride(editor, evt);\n        }\n      });\n    };\n\n    const setup$b = editor => {\n      editor.addShortcut('Meta+P', '', 'mcePrint');\n      setup$k(editor);\n      if (isRtc(editor)) {\n        return Cell(null);\n      } else {\n        const caret = setupSelectedState(editor);\n        setup$e(editor);\n        setup$m(editor);\n        setup$l(editor, caret);\n        setup$j(editor, caret);\n        setup$i(editor);\n        setup$d(editor);\n        setup$g(editor);\n        setup$c(editor);\n        setup$h(editor, caret);\n        setup$f(editor, caret);\n        return caret;\n      }\n    };\n\n    class NodeChange {\n      constructor(editor) {\n        this.lastPath = [];\n        this.editor = editor;\n        let lastRng;\n        const self = this;\n        if (!('onselectionchange' in editor.getDoc())) {\n          editor.on('NodeChange click mouseup keyup focus', e => {\n            const nativeRng = editor.selection.getRng();\n            const fakeRng = {\n              startContainer: nativeRng.startContainer,\n              startOffset: nativeRng.startOffset,\n              endContainer: nativeRng.endContainer,\n              endOffset: nativeRng.endOffset\n            };\n            if (e.type === 'nodechange' || !isEq$4(fakeRng, lastRng)) {\n              editor.dispatch('SelectionChange');\n            }\n            lastRng = fakeRng;\n          });\n        }\n        editor.on('contextmenu', () => {\n          editor.dispatch('SelectionChange');\n        });\n        editor.on('SelectionChange', () => {\n          const startElm = editor.selection.getStart(true);\n          if (!startElm) {\n            return;\n          }\n          if (hasAnyRanges(editor) && !self.isSameElementPath(startElm) && editor.dom.isChildOf(startElm, editor.getBody())) {\n            editor.nodeChanged({\n              selectionChange: true\n            });\n          }\n        });\n        editor.on('mouseup', e => {\n          if (!e.isDefaultPrevented() && hasAnyRanges(editor)) {\n            if (editor.selection.getNode().nodeName === 'IMG') {\n              Delay.setEditorTimeout(editor, () => {\n                editor.nodeChanged();\n              });\n            } else {\n              editor.nodeChanged();\n            }\n          }\n        });\n      }\n      nodeChanged(args = {}) {\n        const selection = this.editor.selection;\n        let node;\n        if (this.editor.initialized && selection && !shouldDisableNodeChange(this.editor) && !this.editor.mode.isReadOnly()) {\n          const root = this.editor.getBody();\n          node = selection.getStart(true) || root;\n          if (node.ownerDocument !== this.editor.getDoc() || !this.editor.dom.isChildOf(node, root)) {\n            node = root;\n          }\n          const parents = [];\n          this.editor.dom.getParent(node, node => {\n            if (node === root) {\n              return true;\n            } else {\n              parents.push(node);\n              return false;\n            }\n          });\n          this.editor.dispatch('NodeChange', {\n            ...args,\n            element: node,\n            parents\n          });\n        }\n      }\n      isSameElementPath(startElm) {\n        let i;\n        const editor = this.editor;\n        const currentPath = reverse(editor.dom.getParents(startElm, always, editor.getBody()));\n        if (currentPath.length === this.lastPath.length) {\n          for (i = currentPath.length; i >= 0; i--) {\n            if (currentPath[i] !== this.lastPath[i]) {\n              break;\n            }\n          }\n          if (i === -1) {\n            this.lastPath = currentPath;\n            return true;\n          }\n        }\n        this.lastPath = currentPath;\n        return false;\n      }\n    }\n\n    const imageId = generate$1('image');\n    const getDragImage = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[imageId]);\n    };\n    const setDragImage = (transfer, imageData) => {\n      const dt = transfer;\n      dt[imageId] = imageData;\n    };\n\n    const eventId = generate$1('event');\n    const getEvent = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]);\n    };\n    const mkSetEventFn = type => transfer => {\n      const dt = transfer;\n      dt[eventId] = type;\n    };\n    const setEvent = (transfer, type) => mkSetEventFn(type)(transfer);\n    const setDragstartEvent = mkSetEventFn(0);\n    const setDropEvent = mkSetEventFn(2);\n    const setDragendEvent = mkSetEventFn(1);\n    const checkEvent = expectedType => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]).exists(type => type === expectedType);\n    };\n    const isInDragStartEvent = checkEvent(0);\n\n    const createEmptyFileList = () => Object.freeze({\n      length: 0,\n      item: _ => null\n    });\n\n    const modeId = generate$1('mode');\n    const getMode = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]);\n    };\n    const mkSetModeFn = mode => transfer => {\n      const dt = transfer;\n      dt[modeId] = mode;\n    };\n    const setMode$1 = (transfer, mode) => mkSetModeFn(mode)(transfer);\n    const setReadWriteMode = mkSetModeFn(0);\n    const setReadOnlyMode = mkSetModeFn(2);\n    const setProtectedMode = mkSetModeFn(1);\n    const checkMode = expectedMode => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]).exists(mode => mode === expectedMode);\n    };\n    const isInReadWriteMode = checkMode(0);\n    const isInProtectedMode = checkMode(1);\n\n    const normalizeItems = (dataTransfer, itemsImpl) => ({\n      ...itemsImpl,\n      get length() {\n        return itemsImpl.length;\n      },\n      add: (data, type) => {\n        if (isInReadWriteMode(dataTransfer)) {\n          if (isString(data)) {\n            if (!isUndefined(type)) {\n              return itemsImpl.add(data, type);\n            }\n          } else {\n            return itemsImpl.add(data);\n          }\n        }\n        return null;\n      },\n      remove: idx => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.remove(idx);\n        }\n      },\n      clear: () => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.clear();\n        }\n      }\n    });\n\n    const validDropEffects = ['none', 'copy', 'link', 'move'];\n    const validEffectAlloweds = ['none', 'copy', 'copyLink', 'copyMove', 'link', 'linkMove', 'move', 'all', 'uninitialized'];\n    const createDataTransfer = () => {\n      const dataTransferImpl = new window.DataTransfer();\n      let dropEffect = 'move';\n      let effectAllowed = 'all';\n      const dataTransfer = {\n        get dropEffect() {\n          return dropEffect;\n        },\n        set dropEffect(effect) {\n          if (contains$2(validDropEffects, effect)) {\n            dropEffect = effect;\n          }\n        },\n        get effectAllowed() {\n          return effectAllowed;\n        },\n        set effectAllowed(allowed) {\n          if (isInDragStartEvent(dataTransfer) && contains$2(validEffectAlloweds, allowed)) {\n            effectAllowed = allowed;\n          }\n        },\n        get items() {\n          return normalizeItems(dataTransfer, dataTransferImpl.items);\n        },\n        get files() {\n          if (isInProtectedMode(dataTransfer)) {\n            return createEmptyFileList();\n          } else {\n            return dataTransferImpl.files;\n          }\n        },\n        get types() {\n          return dataTransferImpl.types;\n        },\n        setDragImage: (image, x, y) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            setDragImage(dataTransfer, {\n              image,\n              x,\n              y\n            });\n            dataTransferImpl.setDragImage(image, x, y);\n          }\n        },\n        getData: format => {\n          if (isInProtectedMode(dataTransfer)) {\n            return '';\n          } else {\n            return dataTransferImpl.getData(format);\n          }\n        },\n        setData: (format, data) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.setData(format, data);\n          }\n        },\n        clearData: format => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.clearData(format);\n          }\n        }\n      };\n      setReadWriteMode(dataTransfer);\n      return dataTransfer;\n    };\n    const cloneDataTransfer = original => {\n      const clone = createDataTransfer();\n      const originalMode = getMode(original);\n      setReadOnlyMode(original);\n      setDragstartEvent(clone);\n      clone.dropEffect = original.dropEffect;\n      clone.effectAllowed = original.effectAllowed;\n      getDragImage(original).each(imageData => clone.setDragImage(imageData.image, imageData.x, imageData.y));\n      each$e(original.types, type => {\n        if (type !== 'Files') {\n          clone.setData(type, original.getData(type));\n        }\n      });\n      each$e(original.files, file => clone.items.add(file));\n      getEvent(original).each(type => {\n        setEvent(clone, type);\n      });\n      originalMode.each(mode => {\n        setMode$1(original, mode);\n        setMode$1(clone, mode);\n      });\n      return clone;\n    };\n\n    const getHtmlData = dataTransfer => {\n      const html = dataTransfer.getData('text/html');\n      return html === '' ? Optional.none() : Optional.some(html);\n    };\n    const setHtmlData = (dataTransfer, html) => dataTransfer.setData('text/html', html);\n\n    const internalMimeType = 'x-tinymce/html';\n    const internalHtmlMime = constant(internalMimeType);\n    const internalMark = '<!-- ' + internalMimeType + ' -->';\n    const mark = html => internalMark + html;\n    const unmark = html => html.replace(internalMark, '');\n    const isMarked = html => html.indexOf(internalMark) !== -1;\n\n    const isPlainText = text => {\n      return !/<(?:\\/?(?!(?:div|p|br|span)>)\\w+|(?:(?!(?:span style=\"white-space:\\s?pre;?\">)|br\\s?\\/>))\\w+\\s[^>]+)>/i.test(text);\n    };\n    const openContainer = (rootTag, rootAttrs) => {\n      let tag = '<' + rootTag;\n      const attrs = mapToArray(rootAttrs, (value, key) => key + '=\"' + Entities.encodeAllRaw(value) + '\"');\n      if (attrs.length) {\n        tag += ' ' + attrs.join(' ');\n      }\n      return tag + '>';\n    };\n    const toBlockElements = (text, rootTag, rootAttrs) => {\n      const blocks = text.split(/\\n\\n/);\n      const tagOpen = openContainer(rootTag, rootAttrs);\n      const tagClose = '<\/' + rootTag + '>';\n      const paragraphs = map$3(blocks, p => {\n        return p.split(/\\n/).join('<br />');\n      });\n      const stitch = p => {\n        return tagOpen + p + tagClose;\n      };\n      return paragraphs.length === 1 ? paragraphs[0] : map$3(paragraphs, stitch).join('');\n    };\n\n    const pasteBinDefaultContent = '%MCEPASTEBIN%';\n    const create$6 = (editor, lastRngCell) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const body = editor.getBody();\n      lastRngCell.set(selection.getRng());\n      const pasteBinElm = dom.add(editor.getBody(), 'div', {\n        'id': 'mcepastebin',\n        'class': 'mce-pastebin',\n        'contentEditable': true,\n        'data-mce-bogus': 'all',\n        'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0'\n      }, pasteBinDefaultContent);\n      if (Env.browser.isFirefox()) {\n        dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535);\n      }\n      dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', e => {\n        e.stopPropagation();\n      });\n      pasteBinElm.focus();\n      selection.select(pasteBinElm, true);\n    };\n    const remove = (editor, lastRngCell) => {\n      const dom = editor.dom;\n      if (getEl(editor)) {\n        let pasteBinClone;\n        const lastRng = lastRngCell.get();\n        while (pasteBinClone = getEl(editor)) {\n          dom.remove(pasteBinClone);\n          dom.unbind(pasteBinClone);\n        }\n        if (lastRng) {\n          editor.selection.setRng(lastRng);\n        }\n      }\n      lastRngCell.set(null);\n    };\n    const getEl = editor => editor.dom.get('mcepastebin');\n    const isPasteBin = elm => isNonNullable(elm) && elm.id === 'mcepastebin';\n    const getHtml = editor => {\n      const dom = editor.dom;\n      const copyAndRemove = (toElm, fromElm) => {\n        toElm.appendChild(fromElm);\n        dom.remove(fromElm, true);\n      };\n      const [pasteBinElm, ...pasteBinClones] = filter$5(editor.getBody().childNodes, isPasteBin);\n      each$e(pasteBinClones, pasteBinClone => {\n        copyAndRemove(pasteBinElm, pasteBinClone);\n      });\n      const dirtyWrappers = dom.select('div[id=mcepastebin]', pasteBinElm);\n      for (let i = dirtyWrappers.length - 1; i >= 0; i--) {\n        const cleanWrapper = dom.create('div');\n        pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);\n        copyAndRemove(cleanWrapper, dirtyWrappers[i]);\n      }\n      return pasteBinElm ? pasteBinElm.innerHTML : '';\n    };\n    const isDefaultPasteBinContent = content => content === pasteBinDefaultContent;\n    const PasteBin = editor => {\n      const lastRng = Cell(null);\n      return {\n        create: () => create$6(editor, lastRng),\n        remove: () => remove(editor, lastRng),\n        getEl: () => getEl(editor),\n        getHtml: () => getHtml(editor),\n        getLastRng: lastRng.get\n      };\n    };\n\n    const filter$1 = (content, items) => {\n      Tools.each(items, v => {\n        if (is$4(v, RegExp)) {\n          content = content.replace(v, '');\n        } else {\n          content = content.replace(v[0], v[1]);\n        }\n      });\n      return content;\n    };\n    const innerText = html => {\n      const schema = Schema();\n      const domParser = DomParser({}, schema);\n      let text = '';\n      const voidElements = schema.getVoidElements();\n      const ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' ');\n      const blockElements = schema.getBlockElements();\n      const walk = node => {\n        const name = node.name,\n          currentNode = node;\n        if (name === 'br') {\n          text += '\\n';\n          return;\n        }\n        if (name === 'wbr') {\n          return;\n        }\n        if (voidElements[name]) {\n          text += ' ';\n        }\n        if (ignoreElements[name]) {\n          text += ' ';\n          return;\n        }\n        if (node.type === 3) {\n          text += node.value;\n        }\n        if (!(node.name in schema.getVoidElements())) {\n          let currentNode = node.firstChild;\n          if (currentNode) {\n            do {\n              walk(currentNode);\n            } while (currentNode = currentNode.next);\n          }\n        }\n        if (blockElements[name] && currentNode.next) {\n          text += '\\n';\n          if (name === 'p') {\n            text += '\\n';\n          }\n        }\n      };\n      html = filter$1(html, [/<!\\[[^\\]]+\\]>/g]);\n      walk(domParser.parse(html));\n      return text;\n    };\n    const trimHtml = html => {\n      const trimSpaces = (all, s1, s2) => {\n        if (!s1 && !s2) {\n          return ' ';\n        }\n        return nbsp;\n      };\n      html = filter$1(html, [/^[\\s\\S]*<body[^>]*>\\s*|\\s*<\\/body[^>]*>[\\s\\S]*$/ig, /<!--StartFragment-->|<!--EndFragment-->/g, [/( ?)<span class=\"Apple-converted-space\">\\u00a0<\\/span>( ?)/g, trimSpaces], /<br class=\"Apple-interchange-newline\">/g, /<br>$/i]);\n      return html;\n    };\n    const createIdGenerator = prefix => {\n      let count = 0;\n      return () => {\n        return prefix + count++;\n      };\n    };\n    const getImageMimeType = ext => {\n      const lowerExt = ext.toLowerCase();\n      const mimeOverrides = {\n        jpg: 'jpeg',\n        jpe: 'jpeg',\n        jfi: 'jpeg',\n        jif: 'jpeg',\n        jfif: 'jpeg',\n        pjpeg: 'jpeg',\n        pjp: 'jpeg',\n        svg: 'svg+xml'\n      };\n      return Tools.hasOwn(mimeOverrides, lowerExt) ? 'image/' + mimeOverrides[lowerExt] : 'image/' + lowerExt;\n    };\n\n    const preProcess = (editor, html) => {\n      const parser = DomParser({\n        sanitize: shouldSanitizeXss(editor),\n        sandbox_iframes: shouldSandboxIframes(editor)\n      }, editor.schema);\n      parser.addNodeFilter('meta', nodes => {\n        Tools.each(nodes, node => {\n          node.remove();\n        });\n      });\n      const fragment = parser.parse(html, {\n        forced_root_block: false,\n        isRootContent: true\n      });\n      return HtmlSerializer({\n        validate: true\n      }, editor.schema).serialize(fragment);\n    };\n    const processResult = (content, cancelled) => ({\n      content,\n      cancelled\n    });\n    const postProcessFilter = (editor, html, internal) => {\n      const tempBody = editor.dom.create('div', {\n        style: 'display:none'\n      }, html);\n      const postProcessArgs = firePastePostProcess(editor, tempBody, internal);\n      return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());\n    };\n    const filterContent = (editor, content, internal) => {\n      const preProcessArgs = firePastePreProcess(editor, content, internal);\n      const filteredContent = preProcess(editor, preProcessArgs.content);\n      if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {\n        return postProcessFilter(editor, filteredContent, internal);\n      } else {\n        return processResult(filteredContent, preProcessArgs.isDefaultPrevented());\n      }\n    };\n    const process = (editor, html, internal) => {\n      return filterContent(editor, html, internal);\n    };\n\n    const pasteHtml$1 = (editor, html) => {\n      editor.insertContent(html, {\n        merge: shouldPasteMergeFormats(editor),\n        paste: true\n      });\n      return true;\n    };\n    const isAbsoluteUrl = url => /^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(url);\n    const isImageUrl = (editor, url) => {\n      return isAbsoluteUrl(url) && exists(getAllowedImageFileTypes(editor), type => endsWith(url.toLowerCase(), \".\".concat(type.toLowerCase())));\n    };\n    const createImage = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.insertContent('<img src=\"' + url + '\">');\n      });\n      return true;\n    };\n    const createLink = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.execCommand('mceInsertLink', false, url);\n      });\n      return true;\n    };\n    const linkSelection = (editor, html, pasteHtmlFn) => !editor.selection.isCollapsed() && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false;\n    const insertImage = (editor, html, pasteHtmlFn) => isImageUrl(editor, html) ? createImage(editor, html, pasteHtmlFn) : false;\n    const smartInsertContent = (editor, html) => {\n      Tools.each([linkSelection, insertImage, pasteHtml$1], action => {\n        return !action(editor, html, pasteHtml$1);\n      });\n    };\n    const insertContent = (editor, html, pasteAsText) => {\n      if (pasteAsText || !isSmartPasteEnabled(editor)) {\n        pasteHtml$1(editor, html);\n      } else {\n        smartInsertContent(editor, html);\n      }\n    };\n\n    const uniqueId = createIdGenerator('mceclip');\n    const createPasteDataTransfer = html => {\n      const dataTransfer = createDataTransfer();\n      setHtmlData(dataTransfer, html);\n      setReadOnlyMode(dataTransfer);\n      return dataTransfer;\n    };\n    const doPaste = (editor, content, internal, pasteAsText, shouldSimulateInputEvent) => {\n      const res = process(editor, content, internal);\n      if (!res.cancelled) {\n        const content = res.content;\n        const doPasteAction = () => insertContent(editor, content, pasteAsText);\n        if (shouldSimulateInputEvent) {\n          const args = fireBeforeInputEvent(editor, 'insertFromPaste', {\n            dataTransfer: createPasteDataTransfer(content)\n          });\n          if (!args.isDefaultPrevented()) {\n            doPasteAction();\n            fireInputEvent(editor, 'insertFromPaste');\n          }\n        } else {\n          doPasteAction();\n        }\n      }\n    };\n    const pasteHtml = (editor, html, internalFlag, shouldSimulateInputEvent) => {\n      const internal = internalFlag ? internalFlag : isMarked(html);\n      doPaste(editor, unmark(html), internal, false, shouldSimulateInputEvent);\n    };\n    const pasteText = (editor, text, shouldSimulateInputEvent) => {\n      const encodedText = editor.dom.encode(text).replace(/\\r\\n/g, '\\n');\n      const normalizedText = normalize$4(encodedText, getPasteTabSpaces(editor));\n      const html = toBlockElements(normalizedText, getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n      doPaste(editor, html, false, true, shouldSimulateInputEvent);\n    };\n    const getDataTransferItems = dataTransfer => {\n      const items = {};\n      if (dataTransfer && dataTransfer.types) {\n        for (let i = 0; i < dataTransfer.types.length; i++) {\n          const contentType = dataTransfer.types[i];\n          try {\n            items[contentType] = dataTransfer.getData(contentType);\n          } catch (ex) {\n            items[contentType] = '';\n          }\n        }\n      }\n      return items;\n    };\n    const hasContentType = (clipboardContent, mimeType) => mimeType in clipboardContent && clipboardContent[mimeType].length > 0;\n    const hasHtmlOrText = content => hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');\n    const extractFilename = (editor, str) => {\n      const m = str.match(/([\\s\\S]+?)(?:\\.[a-z0-9.]+)$/i);\n      return isNonNullable(m) ? editor.dom.encode(m[1]) : undefined;\n    };\n    const createBlobInfo = (editor, blobCache, file, base64) => {\n      const id = uniqueId();\n      const useFileName = shouldReuseFileName(editor) && isNonNullable(file.name);\n      const name = useFileName ? extractFilename(editor, file.name) : id;\n      const filename = useFileName ? file.name : undefined;\n      const blobInfo = blobCache.create(id, file, base64, name, filename);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const pasteImage = (editor, imageItem) => {\n      parseDataUri(imageItem.uri).each(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        const base64 = base64Encoded ? data : btoa(data);\n        const file = imageItem.file;\n        const blobCache = editor.editorUpload.blobCache;\n        const existingBlobInfo = blobCache.getByData(base64, type);\n        const blobInfo = existingBlobInfo !== null && existingBlobInfo !== void 0 ? existingBlobInfo : createBlobInfo(editor, blobCache, file, base64);\n        pasteHtml(editor, \"<img src=\\\"\".concat(blobInfo.blobUri(), \"\\\">\"), false, true);\n      });\n    };\n    const isClipboardEvent = event => event.type === 'paste';\n    const readFilesAsDataUris = items => Promise.all(map$3(items, file => {\n      return blobToDataUri(file).then(uri => ({\n        file,\n        uri\n      }));\n    }));\n    const isImage = editor => {\n      const allowedExtensions = getAllowedImageFileTypes(editor);\n      return file => startsWith(file.type, 'image/') && exists(allowedExtensions, extension => {\n        return getImageMimeType(extension) === file.type;\n      });\n    };\n    const getImagesFromDataTransfer = (editor, dataTransfer) => {\n      const items = dataTransfer.items ? bind$3(from(dataTransfer.items), item => {\n        return item.kind === 'file' ? [item.getAsFile()] : [];\n      }) : [];\n      const files = dataTransfer.files ? from(dataTransfer.files) : [];\n      return filter$5(items.length > 0 ? items : files, isImage(editor));\n    };\n    const pasteImageData = (editor, e, rng) => {\n      const dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;\n      if (shouldPasteDataImages(editor) && dataTransfer) {\n        const images = getImagesFromDataTransfer(editor, dataTransfer);\n        if (images.length > 0) {\n          e.preventDefault();\n          readFilesAsDataUris(images).then(fileResults => {\n            if (rng) {\n              editor.selection.setRng(rng);\n            }\n            each$e(fileResults, result => {\n              pasteImage(editor, result);\n            });\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const isBrokenAndroidClipboardEvent = e => {\n      var _a, _b;\n      return Env.os.isAndroid() && ((_b = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length) === 0;\n    };\n    const isKeyboardPasteEvent = e => VK.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45;\n    const insertClipboardContent = (editor, clipboardContent, html, plainTextMode, shouldSimulateInputEvent) => {\n      let content = trimHtml(html);\n      const isInternal = hasContentType(clipboardContent, internalHtmlMime()) || isMarked(html);\n      const isPlainTextHtml = !isInternal && isPlainText(content);\n      const isAbsoluteUrl$1 = isAbsoluteUrl(content);\n      if (isDefaultPasteBinContent(content) || !content.length || isPlainTextHtml && !isAbsoluteUrl$1) {\n        plainTextMode = true;\n      }\n      if (plainTextMode || isAbsoluteUrl$1) {\n        if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {\n          content = clipboardContent['text/plain'];\n        } else {\n          content = innerText(content);\n        }\n      }\n      if (isDefaultPasteBinContent(content)) {\n        return;\n      }\n      if (plainTextMode) {\n        pasteText(editor, content, shouldSimulateInputEvent);\n      } else {\n        pasteHtml(editor, content, isInternal, shouldSimulateInputEvent);\n      }\n    };\n    const registerEventHandlers = (editor, pasteBin, pasteFormat) => {\n      let keyboardPastePlainTextState;\n      const getLastRng = () => pasteBin.getLastRng() || editor.selection.getRng();\n      editor.on('keydown', e => {\n        if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {\n          keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86;\n        }\n      });\n      editor.on('paste', e => {\n        if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {\n          return;\n        }\n        const plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState;\n        keyboardPastePlainTextState = false;\n        const clipboardContent = getDataTransferItems(e.clipboardData);\n        if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) {\n          return;\n        }\n        if (hasContentType(clipboardContent, 'text/html')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/html'], plainTextMode, true);\n        } else if (hasContentType(clipboardContent, 'text/plain') && hasContentType(clipboardContent, 'text/uri-list')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/plain'], plainTextMode, true);\n        } else {\n          pasteBin.create();\n          Delay.setEditorTimeout(editor, () => {\n            const html = pasteBin.getHtml();\n            pasteBin.remove();\n            insertClipboardContent(editor, clipboardContent, html, plainTextMode, false);\n          }, 0);\n        }\n      });\n    };\n    const registerDataImageFilter = editor => {\n      const isWebKitFakeUrl = src => startsWith(src, 'webkit-fake-url');\n      const isDataUri = src => startsWith(src, 'data:');\n      const isPasteInsert = args => {\n        var _a;\n        return ((_a = args.data) === null || _a === void 0 ? void 0 : _a.paste) === true;\n      };\n      editor.parser.addNodeFilter('img', (nodes, name, args) => {\n        if (!shouldPasteDataImages(editor) && isPasteInsert(args)) {\n          for (const node of nodes) {\n            const src = node.attr('src');\n            if (isString(src) && !node.attr('data-mce-object') && src !== Env.transparentSrc) {\n              if (isWebKitFakeUrl(src)) {\n                node.remove();\n              } else if (!shouldAllowHtmlDataUrls(editor) && isDataUri(src)) {\n                node.remove();\n              }\n            }\n          }\n        }\n      });\n    };\n    const registerEventsAndFilters = (editor, pasteBin, pasteFormat) => {\n      registerEventHandlers(editor, pasteBin, pasteFormat);\n      registerDataImageFilter(editor);\n    };\n\n    const togglePlainTextPaste = (editor, pasteFormat) => {\n      if (pasteFormat.get() === 'text') {\n        pasteFormat.set('html');\n        firePastePlainTextToggle(editor, false);\n      } else {\n        pasteFormat.set('text');\n        firePastePlainTextToggle(editor, true);\n      }\n      editor.focus();\n    };\n    const register$1 = (editor, pasteFormat) => {\n      editor.addCommand('mceTogglePlainTextPaste', () => {\n        togglePlainTextPaste(editor, pasteFormat);\n      });\n      editor.addCommand('mceInsertClipboardContent', (ui, value) => {\n        if (value.html) {\n          pasteHtml(editor, value.html, value.internal, false);\n        }\n        if (value.text) {\n          pasteText(editor, value.text, false);\n        }\n      });\n    };\n\n    const setHtml5Clipboard = (clipboardData, html, text) => {\n      if (clipboardData) {\n        try {\n          clipboardData.clearData();\n          clipboardData.setData('text/html', html);\n          clipboardData.setData('text/plain', text);\n          clipboardData.setData(internalHtmlMime(), html);\n          return true;\n        } catch (e) {\n          return false;\n        }\n      } else {\n        return false;\n      }\n    };\n    const setClipboardData = (evt, data, fallback, done) => {\n      if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {\n        evt.preventDefault();\n        done();\n      } else {\n        fallback(data.html, done);\n      }\n    };\n    const fallback = editor => (html, done) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const outer = dom.create('div', {\n        'contenteditable': 'false',\n        'data-mce-bogus': 'all'\n      });\n      const inner = dom.create('div', {\n        contenteditable: 'true'\n      }, html);\n      dom.setStyles(outer, {\n        position: 'fixed',\n        top: '0',\n        left: '-3000px',\n        width: '1000px',\n        overflow: 'hidden'\n      });\n      outer.appendChild(inner);\n      dom.add(editor.getBody(), outer);\n      const range = selection.getRng();\n      inner.focus();\n      const offscreenRange = dom.createRng();\n      offscreenRange.selectNodeContents(inner);\n      selection.setRng(offscreenRange);\n      Delay.setEditorTimeout(editor, () => {\n        selection.setRng(range);\n        dom.remove(outer);\n        done();\n      }, 0);\n    };\n    const getData = editor => ({\n      html: mark(editor.selection.getContent({\n        contextual: true\n      })),\n      text: editor.selection.getContent({\n        format: 'text'\n      })\n    });\n    const isTableSelection = editor => !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody());\n    const hasSelectedContent = editor => !editor.selection.isCollapsed() || isTableSelection(editor);\n    const cut = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor) && editor.selection.isEditable()) {\n        setClipboardData(evt, getData(editor), fallback(editor), () => {\n          if (Env.browser.isChromium() || Env.browser.isFirefox()) {\n            const rng = editor.selection.getRng();\n            Delay.setEditorTimeout(editor, () => {\n              editor.selection.setRng(rng);\n              editor.execCommand('Delete');\n            }, 0);\n          } else {\n            editor.execCommand('Delete');\n          }\n        });\n      }\n    };\n    const copy = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor)) {\n        setClipboardData(evt, getData(editor), fallback(editor), noop);\n      }\n    };\n    const register = editor => {\n      editor.on('cut', cut(editor));\n      editor.on('copy', copy(editor));\n    };\n\n    const getCaretRangeFromEvent = (editor, e) => {\n      var _a, _b;\n      return RangeUtils.getCaretRangeFromPoint((_a = e.clientX) !== null && _a !== void 0 ? _a : 0, (_b = e.clientY) !== null && _b !== void 0 ? _b : 0, editor.getDoc());\n    };\n    const isPlainTextFileUrl = content => {\n      const plainTextContent = content['text/plain'];\n      return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;\n    };\n    const setFocusedRange = (editor, rng) => {\n      editor.focus();\n      if (rng) {\n        editor.selection.setRng(rng);\n      }\n    };\n    const hasImage = dataTransfer => exists(dataTransfer.files, file => /^image\\//.test(file.type));\n    const needsCustomInternalDrop = (dom, schema, target, dropContent) => {\n      const parentTransparent = dom.getParent(target, node => isTransparentBlock(schema, node));\n      const inSummary = !isNull(dom.getParent(target, 'summary'));\n      if (inSummary) {\n        return true;\n      } else if (parentTransparent && has$2(dropContent, 'text/html')) {\n        const fragment = new DOMParser().parseFromString(dropContent['text/html'], 'text/html').body;\n        return !isNull(fragment.querySelector(parentTransparent.nodeName.toLowerCase()));\n      } else {\n        return false;\n      }\n    };\n    const setupSummaryDeleteByDragFix = editor => {\n      editor.on('input', e => {\n        const hasNoSummary = el => isNull(el.querySelector('summary'));\n        if (e.inputType === 'deleteByDrag') {\n          const brokenDetailElements = filter$5(editor.dom.select('details'), hasNoSummary);\n          each$e(brokenDetailElements, details => {\n            if (isBr$6(details.firstChild)) {\n              details.firstChild.remove();\n            }\n            const summary = editor.dom.create('summary');\n            summary.appendChild(createPaddingBr().dom);\n            details.prepend(summary);\n          });\n        }\n      });\n    };\n    const setup$a = (editor, draggingInternallyState) => {\n      if (shouldPasteBlockDrop(editor)) {\n        editor.on('dragend dragover draggesture dragdrop drop drag', e => {\n          e.preventDefault();\n          e.stopPropagation();\n        });\n      }\n      if (!shouldPasteDataImages(editor)) {\n        editor.on('drop', e => {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && hasImage(dataTransfer)) {\n            e.preventDefault();\n          }\n        });\n      }\n      editor.on('drop', e => {\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const rng = getCaretRangeFromEvent(editor, e);\n        if (isNullable(rng)) {\n          return;\n        }\n        const dropContent = getDataTransferItems(e.dataTransfer);\n        const internal = hasContentType(dropContent, internalHtmlMime());\n        if ((!hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && pasteImageData(editor, e, rng)) {\n          return;\n        }\n        const internalContent = dropContent[internalHtmlMime()];\n        const content = internalContent || dropContent['text/html'] || dropContent['text/plain'];\n        const needsInternalDrop = needsCustomInternalDrop(editor.dom, editor.schema, rng.startContainer, dropContent);\n        const isInternalDrop = draggingInternallyState.get();\n        if (isInternalDrop && !needsInternalDrop) {\n          return;\n        }\n        if (content) {\n          e.preventDefault();\n          Delay.setEditorTimeout(editor, () => {\n            editor.undoManager.transact(() => {\n              if (internalContent || isInternalDrop && needsInternalDrop) {\n                editor.execCommand('Delete');\n              }\n              setFocusedRange(editor, rng);\n              const trimmedContent = trimHtml(content);\n              if (dropContent['text/html']) {\n                pasteHtml(editor, trimmedContent, internal, true);\n              } else {\n                pasteText(editor, trimmedContent, true);\n              }\n            });\n          });\n        }\n      });\n      editor.on('dragstart', _e => {\n        draggingInternallyState.set(true);\n      });\n      editor.on('dragover dragend', e => {\n        if (shouldPasteDataImages(editor) && !draggingInternallyState.get()) {\n          e.preventDefault();\n          setFocusedRange(editor, getCaretRangeFromEvent(editor, e));\n        }\n        if (e.type === 'dragend') {\n          draggingInternallyState.set(false);\n        }\n      });\n      setupSummaryDeleteByDragFix(editor);\n    };\n\n    const setup$9 = editor => {\n      const processEvent = f => e => {\n        f(editor, e);\n      };\n      const preProcess = getPastePreProcess(editor);\n      if (isFunction(preProcess)) {\n        editor.on('PastePreProcess', processEvent(preProcess));\n      }\n      const postProcess = getPastePostProcess(editor);\n      if (isFunction(postProcess)) {\n        editor.on('PastePostProcess', processEvent(postProcess));\n      }\n    };\n\n    const addPreProcessFilter = (editor, filterFunc) => {\n      editor.on('PastePreProcess', e => {\n        e.content = filterFunc(editor, e.content, e.internal);\n      });\n    };\n    const rgbRegExp = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi;\n    const rgbToHex = value => Tools.trim(value).replace(rgbRegExp, rgbaToHexString).toLowerCase();\n    const removeWebKitStyles = (editor, content, internal) => {\n      const webKitStylesOption = getPasteWebkitStyles(editor);\n      if (internal || webKitStylesOption === 'all' || !shouldPasteRemoveWebKitStyles(editor)) {\n        return content;\n      }\n      const webKitStyles = webKitStylesOption ? webKitStylesOption.split(/[, ]/) : [];\n      if (webKitStyles && webKitStylesOption !== 'none') {\n        const dom = editor.dom,\n          node = editor.selection.getNode();\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, (all, before, value, after) => {\n          const inputStyles = dom.parseStyle(dom.decode(value));\n          const outputStyles = {};\n          for (let i = 0; i < webKitStyles.length; i++) {\n            const inputValue = inputStyles[webKitStyles[i]];\n            let compareInput = inputValue;\n            let currentValue = dom.getStyle(node, webKitStyles[i], true);\n            if (/color/.test(webKitStyles[i])) {\n              compareInput = rgbToHex(compareInput);\n              currentValue = rgbToHex(currentValue);\n            }\n            if (currentValue !== compareInput) {\n              outputStyles[webKitStyles[i]] = inputValue;\n            }\n          }\n          const outputStyle = dom.serializeStyle(outputStyles, 'span');\n          if (outputStyle) {\n            return before + ' style=\"' + outputStyle + '\"' + after;\n          }\n          return before + after;\n        });\n      } else {\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, '$1$3');\n      }\n      content = content.replace(/(<[^>]+) data-mce-style=\"([^\"]+)\"([^>]*>)/gi, (all, before, value, after) => {\n        return before + ' style=\"' + value + '\"' + after;\n      });\n      return content;\n    };\n    const setup$8 = editor => {\n      if (Env.browser.isChromium() || Env.browser.isSafari()) {\n        addPreProcessFilter(editor, removeWebKitStyles);\n      }\n    };\n\n    const setup$7 = editor => {\n      const draggingInternallyState = Cell(false);\n      const pasteFormat = Cell(isPasteAsTextEnabled(editor) ? 'text' : 'html');\n      const pasteBin = PasteBin(editor);\n      setup$8(editor);\n      register$1(editor, pasteFormat);\n      setup$9(editor);\n      editor.on('PreInit', () => {\n        register(editor);\n        setup$a(editor, draggingInternallyState);\n        registerEventsAndFilters(editor, pasteBin, pasteFormat);\n      });\n    };\n\n    const preventSummaryToggle = editor => {\n      editor.on('click', e => {\n        if (editor.dom.getParent(e.target, 'details')) {\n          e.preventDefault();\n        }\n      });\n    };\n    const filterDetails = editor => {\n      editor.parser.addNodeFilter('details', elms => {\n        const initialStateOption = getDetailsInitialState(editor);\n        each$e(elms, details => {\n          if (initialStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (initialStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n      editor.serializer.addNodeFilter('details', elms => {\n        const serializedStateOption = getDetailsSerializedState(editor);\n        each$e(elms, details => {\n          if (serializedStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (serializedStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n    };\n    const setup$6 = editor => {\n      preventSummaryToggle(editor);\n      filterDetails(editor);\n    };\n\n    const isBr = isBr$6;\n    const isText = isText$a;\n    const isContentEditableFalse$2 = elm => isContentEditableFalse$b(elm.dom);\n    const isContentEditableTrue = elm => isContentEditableTrue$3(elm.dom);\n    const isRoot = rootNode => elm => eq(SugarElement.fromDom(rootNode), elm);\n    const getClosestScope = (node, rootNode, schema) => closest$4(SugarElement.fromDom(node), elm => isContentEditableTrue(elm) || schema.isBlock(name(elm)), isRoot(rootNode)).getOr(SugarElement.fromDom(rootNode)).dom;\n    const getClosestCef = (node, rootNode) => closest$4(SugarElement.fromDom(node), isContentEditableFalse$2, isRoot(rootNode));\n    const findEdgeCaretCandidate = (startNode, scope, forward) => {\n      const walker = new DomTreeWalker(startNode, scope);\n      const next = forward ? walker.next.bind(walker) : walker.prev.bind(walker);\n      let result = startNode;\n      for (let current = forward ? startNode : next(); current && !isBr(current); current = next()) {\n        if (isCaretCandidate$3(current)) {\n          result = current;\n        }\n      }\n      return result;\n    };\n    const findClosestBlockRange = (startRng, rootNode, schema) => {\n      const startPos = CaretPosition.fromRangeStart(startRng);\n      const clickNode = startPos.getNode();\n      const scope = getClosestScope(clickNode, rootNode, schema);\n      const startNode = findEdgeCaretCandidate(clickNode, scope, false);\n      const endNode = findEdgeCaretCandidate(clickNode, scope, true);\n      const rng = document.createRange();\n      getClosestCef(startNode, scope).fold(() => {\n        if (isText(startNode)) {\n          rng.setStart(startNode, 0);\n        } else {\n          rng.setStartBefore(startNode);\n        }\n      }, cef => rng.setStartBefore(cef.dom));\n      getClosestCef(endNode, scope).fold(() => {\n        if (isText(endNode)) {\n          rng.setEnd(endNode, endNode.data.length);\n        } else {\n          rng.setEndAfter(endNode);\n        }\n      }, cef => rng.setEndAfter(cef.dom));\n      return rng;\n    };\n    const onTripleClickSelect = editor => {\n      const rng = findClosestBlockRange(editor.selection.getRng(), editor.getBody(), editor.schema);\n      editor.selection.setRng(normalize(rng));\n    };\n    const setup$5 = editor => {\n      editor.on('mousedown', e => {\n        if (e.detail >= 3) {\n          e.preventDefault();\n          onTripleClickSelect(editor);\n        }\n      });\n    };\n\n    var FakeCaretPosition;\n    (function (FakeCaretPosition) {\n      FakeCaretPosition['Before'] = 'before';\n      FakeCaretPosition['After'] = 'after';\n    })(FakeCaretPosition || (FakeCaretPosition = {}));\n    const distanceToRectLeft = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isInsideY = (clientY, clientRect) => clientY >= clientRect.top && clientY <= clientRect.bottom;\n    const collidesY = (r1, r2) => r1.top < r2.bottom && r1.bottom > r2.top;\n    const isOverlapping = (r1, r2) => {\n      const overlap = overlapY(r1, r2) / Math.min(r1.height, r2.height);\n      return collidesY(r1, r2) && overlap > 0.5;\n    };\n    const splitRectsPerAxis = (rects, y) => {\n      const intersectingRects = filter$5(rects, rect => isInsideY(y, rect));\n      return boundingClientRectFromRects(intersectingRects).fold(() => [[], rects], boundingRect => {\n        const {\n          pass: horizontal,\n          fail: vertical\n        } = partition$2(rects, rect => isOverlapping(rect, boundingRect));\n        return [horizontal, vertical];\n      });\n    };\n    const clientInfo = (rect, clientX) => {\n      return {\n        node: rect.node,\n        position: distanceToRectLeft(rect, clientX) < distanceToRectRight(rect, clientX) ? FakeCaretPosition.Before : FakeCaretPosition.After\n      };\n    };\n    const horizontalDistance = (rect, x, _y) => x > rect.left && x < rect.right ? 0 : Math.min(Math.abs(rect.left - x), Math.abs(rect.right - x));\n    const closestChildCaretCandidateNodeRect = (children, clientX, clientY, findCloserTextNode) => {\n      const caretCandidateRect = rect => {\n        if (isCaretCandidate$3(rect.node)) {\n          return Optional.some(rect);\n        } else if (isElement$6(rect.node)) {\n          return closestChildCaretCandidateNodeRect(from(rect.node.childNodes), clientX, clientY, false);\n        } else {\n          return Optional.none();\n        }\n      };\n      const tryFindSecondBestTextNode = (closest, sndClosest, distance) => {\n        return caretCandidateRect(sndClosest).filter(rect => {\n          const deltaDistance = Math.abs(distance(closest, clientX, clientY) - distance(rect, clientX, clientY));\n          return deltaDistance < 2 && isText$a(rect.node);\n        });\n      };\n      const findClosestCaretCandidateNodeRect = (rects, distance) => {\n        const sortedRects = sort(rects, (r1, r2) => distance(r1, clientX, clientY) - distance(r2, clientX, clientY));\n        return findMap(sortedRects, caretCandidateRect).map(closest => {\n          if (findCloserTextNode && !isText$a(closest.node) && sortedRects.length > 1) {\n            return tryFindSecondBestTextNode(closest, sortedRects[1], distance).getOr(closest);\n          } else {\n            return closest;\n          }\n        });\n      };\n      const [horizontalRects, verticalRects] = splitRectsPerAxis(getClientRects(children), clientY);\n      const {\n        pass: above,\n        fail: below\n      } = partition$2(verticalRects, rect => rect.top < clientY);\n      return findClosestCaretCandidateNodeRect(horizontalRects, horizontalDistance).orThunk(() => findClosestCaretCandidateNodeRect(below, distanceToRectEdgeFromXY)).orThunk(() => findClosestCaretCandidateNodeRect(above, distanceToRectEdgeFromXY));\n    };\n    const traverseUp = (rootElm, scope, clientX, clientY) => {\n      const helper = (scope, prevScope) => {\n        const isDragGhostContainer = node => isElement$6(node) && node.classList.contains('mce-drag-container');\n        const childNodesWithoutGhost = filter$5(scope.dom.childNodes, not(isDragGhostContainer));\n        return prevScope.fold(() => closestChildCaretCandidateNodeRect(childNodesWithoutGhost, clientX, clientY, true), prevScope => {\n          const uncheckedChildren = filter$5(childNodesWithoutGhost, node => node !== prevScope.dom);\n          return closestChildCaretCandidateNodeRect(uncheckedChildren, clientX, clientY, true);\n        }).orThunk(() => {\n          const parent = eq(scope, rootElm) ? Optional.none() : parentElement(scope);\n          return parent.bind(newScope => helper(newScope, Optional.some(scope)));\n        });\n      };\n      return helper(scope, Optional.none());\n    };\n    const closestCaretCandidateNodeRect = (root, clientX, clientY) => {\n      const rootElm = SugarElement.fromDom(root);\n      const ownerDoc = documentOrOwner(rootElm);\n      const elementAtPoint = SugarElement.fromPoint(ownerDoc, clientX, clientY).filter(elm => contains(rootElm, elm));\n      const element = elementAtPoint.getOr(rootElm);\n      return traverseUp(rootElm, element, clientX, clientY);\n    };\n    const closestFakeCaretCandidate = (root, clientX, clientY) => closestCaretCandidateNodeRect(root, clientX, clientY).filter(rect => isFakeCaretTarget(rect.node)).map(rect => clientInfo(rect, clientX));\n\n    const getAbsolutePosition = elm => {\n      var _a, _b;\n      const clientRect = elm.getBoundingClientRect();\n      const doc = elm.ownerDocument;\n      const docElem = doc.documentElement;\n      const win = doc.defaultView;\n      return {\n        top: clientRect.top + ((_a = win === null || win === void 0 ? void 0 : win.scrollY) !== null && _a !== void 0 ? _a : 0) - docElem.clientTop,\n        left: clientRect.left + ((_b = win === null || win === void 0 ? void 0 : win.scrollX) !== null && _b !== void 0 ? _b : 0) - docElem.clientLeft\n      };\n    };\n    const getBodyPosition = editor => editor.inline ? getAbsolutePosition(editor.getBody()) : {\n      left: 0,\n      top: 0\n    };\n    const getScrollPosition = editor => {\n      const body = editor.getBody();\n      return editor.inline ? {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      } : {\n        left: 0,\n        top: 0\n      };\n    };\n    const getBodyScroll = editor => {\n      const body = editor.getBody(),\n        docElm = editor.getDoc().documentElement;\n      const inlineScroll = {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      };\n      const iframeScroll = {\n        left: body.scrollLeft || docElm.scrollLeft,\n        top: body.scrollTop || docElm.scrollTop\n      };\n      return editor.inline ? inlineScroll : iframeScroll;\n    };\n    const getMousePosition = (editor, event) => {\n      if (event.target.ownerDocument !== editor.getDoc()) {\n        const iframePosition = getAbsolutePosition(editor.getContentAreaContainer());\n        const scrollPosition = getBodyScroll(editor);\n        return {\n          left: event.pageX - iframePosition.left + scrollPosition.left,\n          top: event.pageY - iframePosition.top + scrollPosition.top\n        };\n      }\n      return {\n        left: event.pageX,\n        top: event.pageY\n      };\n    };\n    const calculatePosition = (bodyPosition, scrollPosition, mousePosition) => ({\n      pageX: mousePosition.left - bodyPosition.left + scrollPosition.left,\n      pageY: mousePosition.top - bodyPosition.top + scrollPosition.top\n    });\n    const calc = (editor, event) => calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));\n\n    const getTargetProps = target => ({\n      target,\n      srcElement: target\n    });\n    const makeDndEventFromMouseEvent = (type, mouseEvent, target, dataTransfer) => ({\n      ...mouseEvent,\n      dataTransfer,\n      type,\n      ...getTargetProps(target)\n    });\n    const makeDndEvent = (type, target, dataTransfer) => {\n      const fail = die('Function not supported on simulated event.');\n      const event = {\n        bubbles: true,\n        cancelBubble: false,\n        cancelable: true,\n        composed: false,\n        currentTarget: null,\n        defaultPrevented: false,\n        eventPhase: 0,\n        isTrusted: true,\n        returnValue: false,\n        timeStamp: 0,\n        type,\n        composedPath: fail,\n        initEvent: fail,\n        preventDefault: noop,\n        stopImmediatePropagation: noop,\n        stopPropagation: noop,\n        AT_TARGET: window.Event.AT_TARGET,\n        BUBBLING_PHASE: window.Event.BUBBLING_PHASE,\n        CAPTURING_PHASE: window.Event.CAPTURING_PHASE,\n        NONE: window.Event.NONE,\n        altKey: false,\n        button: 0,\n        buttons: 0,\n        clientX: 0,\n        clientY: 0,\n        ctrlKey: false,\n        metaKey: false,\n        movementX: 0,\n        movementY: 0,\n        offsetX: 0,\n        offsetY: 0,\n        pageX: 0,\n        pageY: 0,\n        relatedTarget: null,\n        screenX: 0,\n        screenY: 0,\n        shiftKey: false,\n        x: 0,\n        y: 0,\n        detail: 0,\n        view: null,\n        which: 0,\n        initUIEvent: fail,\n        initMouseEvent: fail,\n        getModifierState: fail,\n        dataTransfer,\n        ...getTargetProps(target)\n      };\n      return event;\n    };\n    const makeDataTransferCopyForDragEvent = (dataTransfer, eventType) => {\n      const copy = cloneDataTransfer(dataTransfer);\n      if (eventType === 'dragstart') {\n        setDragstartEvent(copy);\n        setReadWriteMode(copy);\n      } else if (eventType === 'drop') {\n        setDropEvent(copy);\n        setReadOnlyMode(copy);\n      } else {\n        setDragendEvent(copy);\n        setProtectedMode(copy);\n      }\n      return copy;\n    };\n    const makeDragEvent = (type, target, dataTransfer, mouseEvent) => {\n      const dataTransferForDispatch = makeDataTransferCopyForDragEvent(dataTransfer, type);\n      return isUndefined(mouseEvent) ? makeDndEvent(type, target, dataTransferForDispatch) : makeDndEventFromMouseEvent(type, mouseEvent, target, dataTransferForDispatch);\n    };\n\n    const scrollPixelsPerInterval = 32;\n    const scrollIntervalValue = 100;\n    const mouseRangeToTriggerScrollInsideEditor = 8;\n    const mouseRangeToTriggerScrollOutsideEditor = 16;\n    const isContentEditableFalse$1 = isContentEditableFalse$b;\n    const isContentEditable = or(isContentEditableFalse$1, isContentEditableTrue$3);\n    const isDraggable = (dom, rootElm, elm) => isContentEditableFalse$1(elm) && elm !== rootElm && dom.isEditable(elm.parentElement);\n    const isValidDropTarget = (editor, targetElement, dragElement) => {\n      if (isNullable(targetElement)) {\n        return false;\n      } else if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {\n        return false;\n      } else {\n        return editor.dom.isEditable(targetElement);\n      }\n    };\n    const createGhost = (editor, elm, width, height) => {\n      const dom = editor.dom;\n      const clonedElm = elm.cloneNode(true);\n      dom.setStyles(clonedElm, {\n        width,\n        height\n      });\n      dom.setAttrib(clonedElm, 'data-mce-selected', null);\n      const ghostElm = dom.create('div', {\n        'class': 'mce-drag-container',\n        'data-mce-bogus': 'all',\n        'unselectable': 'on',\n        'contenteditable': 'false'\n      });\n      dom.setStyles(ghostElm, {\n        position: 'absolute',\n        opacity: 0.5,\n        overflow: 'hidden',\n        border: 0,\n        padding: 0,\n        margin: 0,\n        width,\n        height\n      });\n      dom.setStyles(clonedElm, {\n        margin: 0,\n        boxSizing: 'border-box'\n      });\n      ghostElm.appendChild(clonedElm);\n      return ghostElm;\n    };\n    const appendGhostToBody = (ghostElm, bodyElm) => {\n      if (ghostElm.parentNode !== bodyElm) {\n        bodyElm.appendChild(ghostElm);\n      }\n    };\n    const scrollEditor = (direction, amount) => win => () => {\n      const current = direction === 'left' ? win.scrollX : win.scrollY;\n      win.scroll({\n        [direction]: current + amount,\n        behavior: 'smooth'\n      });\n    };\n    const scrollLeft = scrollEditor('left', -scrollPixelsPerInterval);\n    const scrollRight = scrollEditor('left', scrollPixelsPerInterval);\n    const scrollUp = scrollEditor('top', -scrollPixelsPerInterval);\n    const scrollDown = scrollEditor('top', scrollPixelsPerInterval);\n    const moveGhost = (ghostElm, position, width, height, maxX, maxY, mouseY, mouseX, contentAreaContainer, win, state, mouseEventOriginatedFromWithinTheEditor) => {\n      let overflowX = 0,\n        overflowY = 0;\n      ghostElm.style.left = position.pageX + 'px';\n      ghostElm.style.top = position.pageY + 'px';\n      if (position.pageX + width > maxX) {\n        overflowX = position.pageX + width - maxX;\n      }\n      if (position.pageY + height > maxY) {\n        overflowY = position.pageY + height - maxY;\n      }\n      ghostElm.style.width = width - overflowX + 'px';\n      ghostElm.style.height = height - overflowY + 'px';\n      const clientHeight = contentAreaContainer.clientHeight;\n      const clientWidth = contentAreaContainer.clientWidth;\n      const outerMouseY = mouseY + contentAreaContainer.getBoundingClientRect().top;\n      const outerMouseX = mouseX + contentAreaContainer.getBoundingClientRect().left;\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging && mouseEventOriginatedFromWithinTheEditor) {\n          if (mouseY + mouseRangeToTriggerScrollInsideEditor >= clientHeight) {\n            state.intervalId.set(scrollDown(win));\n          } else if (mouseY - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollUp(win));\n          } else if (mouseX + mouseRangeToTriggerScrollInsideEditor >= clientWidth) {\n            state.intervalId.set(scrollRight(win));\n          } else if (mouseX - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(win));\n          } else if (outerMouseY + mouseRangeToTriggerScrollOutsideEditor >= window.innerHeight) {\n            state.intervalId.set(scrollDown(window));\n          } else if (outerMouseY - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollUp(window));\n          } else if (outerMouseX + mouseRangeToTriggerScrollOutsideEditor >= window.innerWidth) {\n            state.intervalId.set(scrollRight(window));\n          } else if (outerMouseX - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(window));\n          }\n        }\n      });\n    };\n    const removeElement = elm => {\n      if (elm && elm.parentNode) {\n        elm.parentNode.removeChild(elm);\n      }\n    };\n    const removeElementWithPadding = (dom, elm) => {\n      const parentBlock = dom.getParent(elm.parentNode, dom.isBlock);\n      removeElement(elm);\n      if (parentBlock && parentBlock !== dom.getRoot() && dom.isEmpty(parentBlock)) {\n        fillWithPaddingBr(SugarElement.fromDom(parentBlock));\n      }\n    };\n    const isLeftMouseButtonPressed = e => e.button === 0;\n    const applyRelPos = (state, position) => ({\n      pageX: position.pageX - state.relX,\n      pageY: position.pageY + 5\n    });\n    const start = (state, editor) => e => {\n      if (isLeftMouseButtonPressed(e)) {\n        const ceElm = find$2(editor.dom.getParents(e.target), isContentEditable).getOr(null);\n        if (isNonNullable(ceElm) && isDraggable(editor.dom, editor.getBody(), ceElm)) {\n          const elmPos = editor.dom.getPos(ceElm);\n          const bodyElm = editor.getBody();\n          const docElm = editor.getDoc().documentElement;\n          state.set({\n            element: ceElm,\n            dataTransfer: createDataTransfer(),\n            dragging: false,\n            screenX: e.screenX,\n            screenY: e.screenY,\n            maxX: (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2,\n            maxY: (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2,\n            relX: e.pageX - elmPos.x,\n            relY: e.pageY - elmPos.y,\n            width: ceElm.offsetWidth,\n            height: ceElm.offsetHeight,\n            ghost: createGhost(editor, ceElm, ceElm.offsetWidth, ceElm.offsetHeight),\n            intervalId: repeatable(scrollIntervalValue)\n          });\n        }\n      }\n    };\n    const placeCaretAt = (editor, clientX, clientY) => {\n      editor._selectionOverrides.hideFakeCaret();\n      closestFakeCaretCandidate(editor.getBody(), clientX, clientY).fold(() => editor.selection.placeCaretAt(clientX, clientY), caretInfo => {\n        const range = editor._selectionOverrides.showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n        if (range) {\n          editor.selection.setRng(range);\n        } else {\n          editor.selection.placeCaretAt(clientX, clientY);\n        }\n      });\n    };\n    const dispatchDragEvent = (editor, type, target, dataTransfer, mouseEvent) => {\n      if (type === 'dragstart') {\n        setHtmlData(dataTransfer, editor.dom.getOuterHTML(target));\n      }\n      const event = makeDragEvent(type, target, dataTransfer, mouseEvent);\n      const args = editor.dispatch(type, event);\n      return args;\n    };\n    const move = (state, editor) => {\n      const throttledPlaceCaretAt = first$1((clientX, clientY) => placeCaretAt(editor, clientX, clientY), 0);\n      editor.on('remove', throttledPlaceCaretAt.cancel);\n      const state_ = state;\n      return e => state.on(state => {\n        const movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));\n        if (!state.dragging && movement > 10) {\n          const args = dispatchDragEvent(editor, 'dragstart', state.element, state.dataTransfer, e);\n          if (isNonNullable(args.dataTransfer)) {\n            state.dataTransfer = args.dataTransfer;\n          }\n          if (args.isDefaultPrevented()) {\n            return;\n          }\n          state.dragging = true;\n          editor.focus();\n        }\n        if (state.dragging) {\n          const mouseEventOriginatedFromWithinTheEditor = e.currentTarget === editor.getDoc().documentElement;\n          const targetPos = applyRelPos(state, calc(editor, e));\n          appendGhostToBody(state.ghost, editor.getBody());\n          moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY, e.clientY, e.clientX, editor.getContentAreaContainer(), editor.getWin(), state_, mouseEventOriginatedFromWithinTheEditor);\n          throttledPlaceCaretAt.throttle(e.clientX, e.clientY);\n        }\n      });\n    };\n    const getRawTarget = selection => {\n      const sel = selection.getSel();\n      if (isNonNullable(sel)) {\n        const rng = sel.getRangeAt(0);\n        const startContainer = rng.startContainer;\n        return isText$a(startContainer) ? startContainer.parentNode : startContainer;\n      } else {\n        return null;\n      }\n    };\n    const drop = (state, editor) => e => {\n      state.on(state => {\n        var _a;\n        state.intervalId.clear();\n        if (state.dragging) {\n          if (isValidDropTarget(editor, getRawTarget(editor.selection), state.element)) {\n            const dropTarget = (_a = editor.getDoc().elementFromPoint(e.clientX, e.clientY)) !== null && _a !== void 0 ? _a : editor.getBody();\n            const args = dispatchDragEvent(editor, 'drop', dropTarget, state.dataTransfer, e);\n            if (!args.isDefaultPrevented()) {\n              editor.undoManager.transact(() => {\n                removeElementWithPadding(editor.dom, state.element);\n                getHtmlData(state.dataTransfer).each(content => editor.insertContent(content));\n                editor._selectionOverrides.hideFakeCaret();\n              });\n            }\n          }\n          dispatchDragEvent(editor, 'dragend', editor.getBody(), state.dataTransfer, e);\n        }\n      });\n      removeDragState(state);\n    };\n    const stopDragging = (state, editor, e) => {\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging) {\n          e.fold(() => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer), mouseEvent => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer, mouseEvent));\n        }\n      });\n      removeDragState(state);\n    };\n    const stop = (state, editor) => e => stopDragging(state, editor, Optional.some(e));\n    const removeDragState = state => {\n      state.on(state => {\n        state.intervalId.clear();\n        removeElement(state.ghost);\n      });\n      state.clear();\n    };\n    const bindFakeDragEvents = editor => {\n      const state = value$2();\n      const pageDom = DOMUtils.DOM;\n      const rootDocument = document;\n      const dragStartHandler = start(state, editor);\n      const dragHandler = move(state, editor);\n      const dropHandler = drop(state, editor);\n      const dragEndHandler = stop(state, editor);\n      editor.on('mousedown', dragStartHandler);\n      editor.on('mousemove', dragHandler);\n      editor.on('mouseup', dropHandler);\n      pageDom.bind(rootDocument, 'mousemove', dragHandler);\n      pageDom.bind(rootDocument, 'mouseup', dragEndHandler);\n      editor.on('remove', () => {\n        pageDom.unbind(rootDocument, 'mousemove', dragHandler);\n        pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === VK.ESC) {\n          stopDragging(state, editor, Optional.none());\n        }\n      });\n    };\n    const blockUnsupportedFileDrop = editor => {\n      const preventFileDrop = e => {\n        if (!e.isDefaultPrevented()) {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && (contains$2(dataTransfer.types, 'Files') || dataTransfer.files.length > 0)) {\n            e.preventDefault();\n            if (e.type === 'drop') {\n              displayError(editor, 'Dropped file type is not supported');\n            }\n          }\n        }\n      };\n      const preventFileDropIfUIElement = e => {\n        if (isUIElement(editor, e.target)) {\n          preventFileDrop(e);\n        }\n      };\n      const setup = () => {\n        const pageDom = DOMUtils.DOM;\n        const dom = editor.dom;\n        const doc = document;\n        const editorRoot = editor.inline ? editor.getBody() : editor.getDoc();\n        const eventNames = ['drop', 'dragover'];\n        each$e(eventNames, name => {\n          pageDom.bind(doc, name, preventFileDropIfUIElement);\n          dom.bind(editorRoot, name, preventFileDrop);\n        });\n        editor.on('remove', () => {\n          each$e(eventNames, name => {\n            pageDom.unbind(doc, name, preventFileDropIfUIElement);\n            dom.unbind(editorRoot, name, preventFileDrop);\n          });\n        });\n      };\n      editor.on('init', () => {\n        Delay.setEditorTimeout(editor, setup, 0);\n      });\n    };\n    const init$2 = editor => {\n      bindFakeDragEvents(editor);\n      if (shouldBlockUnsupportedDrop(editor)) {\n        blockUnsupportedFileDrop(editor);\n      }\n    };\n\n    const setup$4 = editor => {\n      const renderFocusCaret = first$1(() => {\n        if (!editor.removed && editor.getBody().contains(document.activeElement)) {\n          const rng = editor.selection.getRng();\n          if (rng.collapsed) {\n            const caretRange = renderRangeCaret(editor, rng, false);\n            editor.selection.setRng(caretRange);\n          }\n        }\n      }, 0);\n      editor.on('focus', () => {\n        renderFocusCaret.throttle();\n      });\n      editor.on('blur', () => {\n        renderFocusCaret.cancel();\n      });\n    };\n\n    const setup$3 = editor => {\n      editor.on('init', () => {\n        editor.on('focusin', e => {\n          const target = e.target;\n          if (isMedia$2(target)) {\n            const ceRoot = getContentEditableRoot$1(editor.getBody(), target);\n            const node = isContentEditableFalse$b(ceRoot) ? ceRoot : target;\n            if (editor.selection.getNode() !== node) {\n              selectNode(editor, node).each(rng => editor.selection.setRng(rng));\n            }\n          }\n        });\n      });\n    };\n\n    const isContentEditableFalse = isContentEditableFalse$b;\n    const getContentEditableRoot = (editor, node) => getContentEditableRoot$1(editor.getBody(), node);\n    const SelectionOverrides = editor => {\n      const selection = editor.selection,\n        dom = editor.dom;\n      const rootNode = editor.getBody();\n      const fakeCaret = FakeCaret(editor, rootNode, dom.isBlock, () => hasFocus(editor));\n      const realSelectionId = 'sel-' + dom.uniqueId();\n      const elementSelectionAttr = 'data-mce-selected';\n      let selectedElement;\n      const isFakeSelectionElement = node => isNonNullable(node) && dom.hasClass(node, 'mce-offscreen-selection');\n      const isFakeSelectionTargetElement = node => node !== rootNode && (isContentEditableFalse(node) || isMedia$2(node)) && dom.isChildOf(node, rootNode) && dom.isEditable(node.parentNode);\n      const setRange = range => {\n        if (range) {\n          selection.setRng(range);\n        }\n      };\n      const showCaret = (direction, node, before, scrollIntoView = true) => {\n        const e = editor.dispatch('ShowCaret', {\n          target: node,\n          direction,\n          before\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        if (scrollIntoView) {\n          selection.scrollIntoView(node, direction === -1);\n        }\n        return fakeCaret.show(before, node);\n      };\n      const showBlockCaretContainer = blockCaretContainer => {\n        if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n          showCaretContainerBlock(blockCaretContainer);\n          selection.scrollIntoView(blockCaretContainer);\n        }\n      };\n      const registerEvents = () => {\n        editor.on('click', e => {\n          if (!dom.isEditable(e.target)) {\n            e.preventDefault();\n            editor.focus();\n          }\n        });\n        editor.on('blur NewBlock', removeElementSelection);\n        editor.on('ResizeWindow FullscreenStateChanged', fakeCaret.reposition);\n        editor.on('tap', e => {\n          const targetElm = e.target;\n          const contentEditableRoot = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(contentEditableRoot)) {\n            e.preventDefault();\n            selectNode(editor, contentEditableRoot).each(setElementSelection);\n          } else if (isFakeSelectionTargetElement(targetElm)) {\n            selectNode(editor, targetElm).each(setElementSelection);\n          }\n        }, true);\n        editor.on('mousedown', e => {\n          const targetElm = e.target;\n          if (targetElm !== rootNode && targetElm.nodeName !== 'HTML' && !dom.isChildOf(targetElm, rootNode)) {\n            return;\n          }\n          if (!isXYInContentArea(editor, e.clientX, e.clientY)) {\n            return;\n          }\n          removeElementSelection();\n          hideFakeCaret();\n          const closestContentEditable = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(closestContentEditable)) {\n            e.preventDefault();\n            selectNode(editor, closestContentEditable).each(setElementSelection);\n          } else {\n            closestFakeCaretCandidate(rootNode, e.clientX, e.clientY).each(caretInfo => {\n              e.preventDefault();\n              const range = showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n              setRange(range);\n              if (isHTMLElement(closestContentEditable)) {\n                closestContentEditable.focus();\n              } else {\n                editor.getBody().focus();\n              }\n            });\n          }\n        });\n        editor.on('keypress', e => {\n          if (VK.modifierPressed(e)) {\n            return;\n          }\n          if (isContentEditableFalse(selection.getNode())) {\n            e.preventDefault();\n          }\n        });\n        editor.on('GetSelectionRange', e => {\n          let rng = e.range;\n          if (selectedElement) {\n            if (!selectedElement.parentNode) {\n              selectedElement = null;\n              return;\n            }\n            rng = rng.cloneRange();\n            rng.selectNode(selectedElement);\n            e.range = rng;\n          }\n        });\n        editor.on('SetSelectionRange', e => {\n          e.range = normalizeVoidElementSelection(e.range);\n          const rng = setElementSelection(e.range, e.forward);\n          if (rng) {\n            e.range = rng;\n          }\n        });\n        const isPasteBin = node => isElement$6(node) && node.id === 'mcepastebin';\n        editor.on('AfterSetSelectionRange', e => {\n          const rng = e.range;\n          const parent = rng.startContainer.parentElement;\n          if (!isRangeInCaretContainer(rng) && !isPasteBin(parent)) {\n            hideFakeCaret();\n          }\n          if (!isFakeSelectionElement(parent)) {\n            removeElementSelection();\n          }\n        });\n        init$2(editor);\n        setup$4(editor);\n        setup$3(editor);\n      };\n      const isWithinCaretContainer = node => isCaretContainer$2(node) || startsWithCaretContainer$1(node) || endsWithCaretContainer$1(node);\n      const isRangeInCaretContainer = rng => isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer);\n      const normalizeVoidElementSelection = rng => {\n        const voidElements = editor.schema.getVoidElements();\n        const newRng = dom.createRng();\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        if (has$2(voidElements, startContainer.nodeName.toLowerCase())) {\n          if (startOffset === 0) {\n            newRng.setStartBefore(startContainer);\n          } else {\n            newRng.setStartAfter(startContainer);\n          }\n        } else {\n          newRng.setStart(startContainer, startOffset);\n        }\n        if (has$2(voidElements, endContainer.nodeName.toLowerCase())) {\n          if (endOffset === 0) {\n            newRng.setEndBefore(endContainer);\n          } else {\n            newRng.setEndAfter(endContainer);\n          }\n        } else {\n          newRng.setEnd(endContainer, endOffset);\n        }\n        return newRng;\n      };\n      const setupOffscreenSelection = (node, targetClone) => {\n        const body = SugarElement.fromDom(editor.getBody());\n        const doc = editor.getDoc();\n        const realSelectionContainer = descendant$1(body, '#' + realSelectionId).getOrThunk(() => {\n          const newContainer = SugarElement.fromHtml('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"><\/div>', doc);\n          set$3(newContainer, 'id', realSelectionId);\n          append$1(body, newContainer);\n          return newContainer;\n        });\n        const newRange = dom.createRng();\n        empty(realSelectionContainer);\n        append(realSelectionContainer, [SugarElement.fromText(nbsp, doc), SugarElement.fromDom(targetClone), SugarElement.fromText(nbsp, doc)]);\n        newRange.setStart(realSelectionContainer.dom.firstChild, 1);\n        newRange.setEnd(realSelectionContainer.dom.lastChild, 0);\n        setAll(realSelectionContainer, {\n          top: dom.getPos(node, editor.getBody()).y + 'px'\n        });\n        focus$1(realSelectionContainer);\n        const sel = selection.getSel();\n        if (sel) {\n          sel.removeAllRanges();\n          sel.addRange(newRange);\n        }\n        return newRange;\n      };\n      const selectElement = elm => {\n        const targetClone = elm.cloneNode(true);\n        const e = editor.dispatch('ObjectSelected', {\n          target: elm,\n          targetClone\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        const range = setupOffscreenSelection(elm, e.targetClone);\n        const nodeElm = SugarElement.fromDom(elm);\n        each$e(descendants(SugarElement.fromDom(editor.getBody()), \"*[\".concat(elementSelectionAttr, \"]\")), elm => {\n          if (!eq(nodeElm, elm)) {\n            remove$a(elm, elementSelectionAttr);\n          }\n        });\n        if (!dom.getAttrib(elm, elementSelectionAttr)) {\n          elm.setAttribute(elementSelectionAttr, '1');\n        }\n        selectedElement = elm;\n        hideFakeCaret();\n        return range;\n      };\n      const setElementSelection = (range, forward) => {\n        if (!range) {\n          return null;\n        }\n        if (range.collapsed) {\n          if (!isRangeInCaretContainer(range)) {\n            const dir = forward ? 1 : -1;\n            const caretPosition = getNormalizedRangeEndPoint(dir, rootNode, range);\n            const beforeNode = caretPosition.getNode(!forward);\n            if (isNonNullable(beforeNode)) {\n              if (isFakeCaretTarget(beforeNode)) {\n                return showCaret(dir, beforeNode, forward ? !caretPosition.isAtEnd() : false, false);\n              }\n              if (isCaretContainerInline(beforeNode) && isContentEditableFalse$b(beforeNode.nextSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(beforeNode, 0);\n                rng.setEnd(beforeNode, 0);\n                return rng;\n              }\n            }\n            const afterNode = caretPosition.getNode(forward);\n            if (isNonNullable(afterNode)) {\n              if (isFakeCaretTarget(afterNode)) {\n                return showCaret(dir, afterNode, forward ? false : !caretPosition.isAtEnd(), false);\n              }\n              if (isCaretContainerInline(afterNode) && isContentEditableFalse$b(afterNode.previousSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(afterNode, 1);\n                rng.setEnd(afterNode, 1);\n                return rng;\n              }\n            }\n          }\n          return null;\n        }\n        let startContainer = range.startContainer;\n        let startOffset = range.startOffset;\n        const endOffset = range.endOffset;\n        if (isText$a(startContainer) && startOffset === 0 && isContentEditableFalse(startContainer.parentNode)) {\n          startContainer = startContainer.parentNode;\n          startOffset = dom.nodeIndex(startContainer);\n          startContainer = startContainer.parentNode;\n        }\n        if (!isElement$6(startContainer)) {\n          return null;\n        }\n        if (endOffset === startOffset + 1 && startContainer === range.endContainer) {\n          const node = startContainer.childNodes[startOffset];\n          if (isFakeSelectionTargetElement(node)) {\n            return selectElement(node);\n          }\n        }\n        return null;\n      };\n      const removeElementSelection = () => {\n        if (selectedElement) {\n          selectedElement.removeAttribute(elementSelectionAttr);\n        }\n        descendant$1(SugarElement.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$5);\n        selectedElement = null;\n      };\n      const destroy = () => {\n        fakeCaret.destroy();\n        selectedElement = null;\n      };\n      const hideFakeCaret = () => {\n        fakeCaret.hide();\n      };\n      if (!isRtc(editor)) {\n        registerEvents();\n      }\n      return {\n        showCaret,\n        showBlockCaretContainer,\n        hideFakeCaret,\n        destroy\n      };\n    };\n\n    const getNormalizedTextOffset = (container, offset) => {\n      let normalizedOffset = offset;\n      for (let node = container.previousSibling; isText$a(node); node = node.previousSibling) {\n        normalizedOffset += node.data.length;\n      }\n      return normalizedOffset;\n    };\n    const generatePath = (dom, root, node, offset, normalized) => {\n      if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n        return [];\n      }\n      const p = normalized && isText$a(node) ? [getNormalizedTextOffset(node, offset)] : [offset];\n      let current = node;\n      while (current !== root && current.parentNode) {\n        p.push(dom.nodeIndex(current, normalized));\n        current = current.parentNode;\n      }\n      return current === root ? p.reverse() : [];\n    };\n    const generatePathRange = (dom, root, startNode, startOffset, endNode, endOffset, normalized = false) => {\n      const start = generatePath(dom, root, startNode, startOffset, normalized);\n      const end = generatePath(dom, root, endNode, endOffset, normalized);\n      return {\n        start,\n        end\n      };\n    };\n    const resolvePath = (root, path) => {\n      const nodePath = path.slice();\n      const offset = nodePath.pop();\n      if (!isNumber(offset)) {\n        return Optional.none();\n      } else {\n        const resolvedNode = foldl(nodePath, (optNode, index) => optNode.bind(node => Optional.from(node.childNodes[index])), Optional.some(root));\n        return resolvedNode.bind(node => {\n          if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n            return Optional.none();\n          } else {\n            return Optional.some({\n              node,\n              offset\n            });\n          }\n        });\n      }\n    };\n    const resolvePathRange = (root, range) => resolvePath(root, range.start).bind(({\n      node: startNode,\n      offset: startOffset\n    }) => resolvePath(root, range.end).map(({\n      node: endNode,\n      offset: endOffset\n    }) => {\n      const rng = document.createRange();\n      rng.setStart(startNode, startOffset);\n      rng.setEnd(endNode, endOffset);\n      return rng;\n    }));\n    const generatePathRangeFromRange = (dom, root, range, normalized = false) => generatePathRange(dom, root, range.startContainer, range.startOffset, range.endContainer, range.endOffset, normalized);\n\n    const cleanEmptyNodes = (dom, node, isRoot) => {\n      if (node && dom.isEmpty(node) && !isRoot(node)) {\n        const parent = node.parentNode;\n        dom.remove(node, isText$a(node.firstChild) && isWhitespaceText(node.firstChild.data));\n        cleanEmptyNodes(dom, parent, isRoot);\n      }\n    };\n    const deleteRng = (dom, rng, isRoot, clean = true) => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      rng.deleteContents();\n      if (clean && !isRoot(rng.startContainer)) {\n        if (isText$a(rng.startContainer) && rng.startContainer.data.length === 0) {\n          dom.remove(rng.startContainer);\n        }\n        if (isText$a(rng.endContainer) && rng.endContainer.data.length === 0) {\n          dom.remove(rng.endContainer);\n        }\n        cleanEmptyNodes(dom, startParent, isRoot);\n        if (startParent !== endParent) {\n          cleanEmptyNodes(dom, endParent, isRoot);\n        }\n      }\n    };\n    const getParentBlock = (editor, rng) => Optional.from(editor.dom.getParent(rng.startContainer, editor.dom.isBlock));\n    const resolveFromDynamicPatterns = (patternSet, block, beforeText) => {\n      const dynamicPatterns = patternSet.dynamicPatternsLookup({\n        text: beforeText,\n        block\n      });\n      return {\n        ...patternSet,\n        blockPatterns: getBlockPatterns(dynamicPatterns).concat(patternSet.blockPatterns),\n        inlinePatterns: getInlinePatterns(dynamicPatterns).concat(patternSet.inlinePatterns)\n      };\n    };\n    const getBeforeText = (dom, block, node, offset) => {\n      const rng = dom.createRng();\n      rng.setStart(block, 0);\n      rng.setEnd(node, offset);\n      return rng.toString();\n    };\n\n    const startsWithSingleSpace = s => /^\\s[^\\s]/.test(s);\n    const stripPattern = (dom, block, pattern) => {\n      const firstTextNode = textAfter(block, 0, block);\n      firstTextNode.each(spot => {\n        const node = spot.container;\n        scanRight(node, pattern.start.length, block).each(end => {\n          const rng = dom.createRng();\n          rng.setStart(node, 0);\n          rng.setEnd(end.container, end.offset);\n          deleteRng(dom, rng, e => e === block);\n        });\n        const text = SugarElement.fromDom(node);\n        const textContent = get$3(text);\n        if (startsWithSingleSpace(textContent)) {\n          set(text, textContent.slice(1));\n        }\n      });\n    };\n    const applyPattern$1 = (editor, match) => {\n      const dom = editor.dom;\n      const pattern = match.pattern;\n      const rng = resolvePathRange(dom.getRoot(), match.range).getOrDie('Unable to resolve path range');\n      const isBlockFormatName = (name, formatter) => {\n        const formatSet = formatter.get(name);\n        return isArray$1(formatSet) && head(formatSet).exists(format => has$2(format, 'block'));\n      };\n      getParentBlock(editor, rng).each(block => {\n        if (pattern.type === 'block-format') {\n          if (isBlockFormatName(pattern.format, editor.formatter)) {\n            editor.undoManager.transact(() => {\n              stripPattern(editor.dom, block, pattern);\n              editor.formatter.apply(pattern.format);\n            });\n          }\n        } else if (pattern.type === 'block-command') {\n          editor.undoManager.transact(() => {\n            stripPattern(editor.dom, block, pattern);\n            editor.execCommand(pattern.cmd, false, pattern.value);\n          });\n        }\n      });\n      return true;\n    };\n    const sortPatterns$1 = patterns => sort(patterns, (a, b) => b.start.length - a.start.length);\n    const findPattern$1 = (patterns, text) => {\n      const sortedPatterns = sortPatterns$1(patterns);\n      const nuText = text.replace(nbsp, ' ');\n      return find$2(sortedPatterns, pattern => text.indexOf(pattern.start) === 0 || nuText.indexOf(pattern.start) === 0);\n    };\n    const findPatterns$1 = (editor, block, patternSet, normalizedMatches) => {\n      var _a;\n      const dom = editor.dom;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!dom.is(block, forcedRootBlock)) {\n        return [];\n      }\n      const blockText = (_a = block.textContent) !== null && _a !== void 0 ? _a : '';\n      return findPattern$1(patternSet.blockPatterns, blockText).map(pattern => {\n        if (Tools.trim(blockText).length === pattern.start.length) {\n          return [];\n        }\n        return [{\n          pattern,\n          range: generatePathRange(dom, dom.getRoot(), block, 0, block, 0, normalizedMatches)\n        }];\n      }).getOr([]);\n    };\n    const applyMatches$1 = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const bookmark = editor.selection.getBookmark();\n      each$e(matches, match => applyPattern$1(editor, match));\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const newMarker = (dom, id) => dom.create('span', {\n      'data-mce-type': 'bookmark',\n      id\n    });\n    const rangeFromMarker = (dom, marker) => {\n      const rng = dom.createRng();\n      rng.setStartAfter(marker.start);\n      rng.setEndBefore(marker.end);\n      return rng;\n    };\n    const createMarker = (dom, markerPrefix, pathRange) => {\n      const rng = resolvePathRange(dom.getRoot(), pathRange).getOrDie('Unable to resolve path range');\n      const startNode = rng.startContainer;\n      const endNode = rng.endContainer;\n      const textEnd = rng.endOffset === 0 ? endNode : endNode.splitText(rng.endOffset);\n      const textStart = rng.startOffset === 0 ? startNode : startNode.splitText(rng.startOffset);\n      const startParentNode = textStart.parentNode;\n      const endParentNode = textEnd.parentNode;\n      return {\n        prefix: markerPrefix,\n        end: endParentNode.insertBefore(newMarker(dom, markerPrefix + '-end'), textEnd),\n        start: startParentNode.insertBefore(newMarker(dom, markerPrefix + '-start'), textStart)\n      };\n    };\n    const removeMarker = (dom, marker, isRoot) => {\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-end'), isRoot);\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-start'), isRoot);\n    };\n\n    const isReplacementPattern = pattern => pattern.start.length === 0;\n    const matchesPattern = patternContent => (element, offset) => {\n      const text = element.data;\n      const searchText = text.substring(0, offset);\n      const startEndIndex = searchText.lastIndexOf(patternContent.charAt(patternContent.length - 1));\n      const startIndex = searchText.lastIndexOf(patternContent);\n      if (startIndex !== -1) {\n        return startIndex + patternContent.length;\n      } else if (startEndIndex !== -1) {\n        return startEndIndex + 1;\n      } else {\n        return -1;\n      }\n    };\n    const findPatternStartFromSpot = (dom, pattern, block, spot) => {\n      const startPattern = pattern.start;\n      const startSpot = repeatLeft(dom, spot.container, spot.offset, matchesPattern(startPattern), block);\n      return startSpot.bind(spot => {\n        var _a, _b;\n        const startPatternIndex = (_b = (_a = block.textContent) === null || _a === void 0 ? void 0 : _a.indexOf(startPattern)) !== null && _b !== void 0 ? _b : -1;\n        const isCompleteMatch = startPatternIndex !== -1 && spot.offset >= startPatternIndex + startPattern.length;\n        if (isCompleteMatch) {\n          const rng = dom.createRng();\n          rng.setStart(spot.container, spot.offset - startPattern.length);\n          rng.setEnd(spot.container, spot.offset);\n          return Optional.some(rng);\n        } else {\n          const offset = spot.offset - startPattern.length;\n          return scanLeft(spot.container, offset, block).map(nextSpot => {\n            const rng = dom.createRng();\n            rng.setStart(nextSpot.container, nextSpot.offset);\n            rng.setEnd(spot.container, spot.offset);\n            return rng;\n          }).filter(rng => rng.toString() === startPattern).orThunk(() => findPatternStartFromSpot(dom, pattern, block, point(spot.container, 0)));\n        }\n      });\n    };\n    const findPatternStart = (dom, pattern, node, offset, block, requireGap = false) => {\n      if (pattern.start.length === 0 && !requireGap) {\n        const rng = dom.createRng();\n        rng.setStart(node, offset);\n        rng.setEnd(node, offset);\n        return Optional.some(rng);\n      }\n      return textBefore(node, offset, block).bind(spot => {\n        const start = findPatternStartFromSpot(dom, pattern, block, spot);\n        return start.bind(startRange => {\n          var _a;\n          if (requireGap) {\n            if (startRange.endContainer === spot.container && startRange.endOffset === spot.offset) {\n              return Optional.none();\n            } else if (spot.offset === 0 && ((_a = startRange.endContainer.textContent) === null || _a === void 0 ? void 0 : _a.length) === startRange.endOffset) {\n              return Optional.none();\n            }\n          }\n          return Optional.some(startRange);\n        });\n      });\n    };\n    const findPattern = (editor, block, details, normalizedMatches) => {\n      const dom = editor.dom;\n      const root = dom.getRoot();\n      const pattern = details.pattern;\n      const endNode = details.position.container;\n      const endOffset = details.position.offset;\n      return scanLeft(endNode, endOffset - details.pattern.end.length, block).bind(spot => {\n        const endPathRng = generatePathRange(dom, root, spot.container, spot.offset, endNode, endOffset, normalizedMatches);\n        if (isReplacementPattern(pattern)) {\n          return Optional.some({\n            matches: [{\n              pattern,\n              startRng: endPathRng,\n              endRng: endPathRng\n            }],\n            position: spot\n          });\n        } else {\n          const resultsOpt = findPatternsRec(editor, details.remainingPatterns, spot.container, spot.offset, block, normalizedMatches);\n          const results = resultsOpt.getOr({\n            matches: [],\n            position: spot\n          });\n          const pos = results.position;\n          const start = findPatternStart(dom, pattern, pos.container, pos.offset, block, resultsOpt.isNone());\n          return start.map(startRng => {\n            const startPathRng = generatePathRangeFromRange(dom, root, startRng, normalizedMatches);\n            return {\n              matches: results.matches.concat([{\n                pattern,\n                startRng: startPathRng,\n                endRng: endPathRng\n              }]),\n              position: point(startRng.startContainer, startRng.startOffset)\n            };\n          });\n        }\n      });\n    };\n    const findPatternsRec = (editor, patterns, node, offset, block, normalizedMatches) => {\n      const dom = editor.dom;\n      return textBefore(node, offset, dom.getRoot()).bind(endSpot => {\n        const text = getBeforeText(dom, block, node, offset);\n        for (let i = 0; i < patterns.length; i++) {\n          const pattern = patterns[i];\n          if (!endsWith(text, pattern.end)) {\n            continue;\n          }\n          const patternsWithoutCurrent = patterns.slice();\n          patternsWithoutCurrent.splice(i, 1);\n          const result = findPattern(editor, block, {\n            pattern,\n            remainingPatterns: patternsWithoutCurrent,\n            position: endSpot\n          }, normalizedMatches);\n          if (result.isNone() && offset > 0) {\n            return findPatternsRec(editor, patterns, node, offset - 1, block, normalizedMatches);\n          }\n          if (result.isSome()) {\n            return result;\n          }\n        }\n        return Optional.none();\n      });\n    };\n    const applyPattern = (editor, pattern, patternRange) => {\n      editor.selection.setRng(patternRange);\n      if (pattern.type === 'inline-format') {\n        each$e(pattern.format, format => {\n          editor.formatter.apply(format);\n        });\n      } else {\n        editor.execCommand(pattern.cmd, false, pattern.value);\n      }\n    };\n    const applyReplacementPattern = (editor, pattern, marker, isRoot) => {\n      const markerRange = rangeFromMarker(editor.dom, marker);\n      deleteRng(editor.dom, markerRange, isRoot);\n      applyPattern(editor, pattern, markerRange);\n    };\n    const applyPatternWithContent = (editor, pattern, startMarker, endMarker, isRoot) => {\n      const dom = editor.dom;\n      const markerEndRange = rangeFromMarker(dom, endMarker);\n      const markerStartRange = rangeFromMarker(dom, startMarker);\n      deleteRng(dom, markerStartRange, isRoot);\n      deleteRng(dom, markerEndRange, isRoot);\n      const patternMarker = {\n        prefix: startMarker.prefix,\n        start: startMarker.end,\n        end: endMarker.start\n      };\n      const patternRange = rangeFromMarker(dom, patternMarker);\n      applyPattern(editor, pattern, patternRange);\n    };\n    const addMarkers = (dom, matches) => {\n      const markerPrefix = generate$1('mce_textpattern');\n      const matchesWithEnds = foldr(matches, (acc, match) => {\n        const endMarker = createMarker(dom, markerPrefix + \"_end\".concat(acc.length), match.endRng);\n        return acc.concat([{\n          ...match,\n          endMarker\n        }]);\n      }, []);\n      return foldr(matchesWithEnds, (acc, match) => {\n        const idx = matchesWithEnds.length - acc.length - 1;\n        const startMarker = isReplacementPattern(match.pattern) ? match.endMarker : createMarker(dom, markerPrefix + \"_start\".concat(idx), match.startRng);\n        return acc.concat([{\n          ...match,\n          startMarker\n        }]);\n      }, []);\n    };\n    const sortPatterns = patterns => sort(patterns, (a, b) => b.end.length - a.end.length);\n    const getBestMatches = (matches, matchesWithSortedPatterns) => {\n      const hasSameMatches = forall(matches, match => exists(matchesWithSortedPatterns, sortedMatch => match.pattern.start === sortedMatch.pattern.start && match.pattern.end === sortedMatch.pattern.end));\n      if (matches.length === matchesWithSortedPatterns.length) {\n        if (hasSameMatches) {\n          return matches;\n        } else {\n          return matchesWithSortedPatterns;\n        }\n      }\n      return matches.length > matchesWithSortedPatterns.length ? matches : matchesWithSortedPatterns;\n    };\n    const findPatterns = (editor, block, node, offset, patternSet, normalizedMatches) => {\n      const matches = findPatternsRec(editor, patternSet.inlinePatterns, node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      const matchesWithSortedPatterns = findPatternsRec(editor, sortPatterns(patternSet.inlinePatterns), node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      return getBestMatches(matches, matchesWithSortedPatterns);\n    };\n    const applyMatches = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const dom = editor.dom;\n      const bookmark = editor.selection.getBookmark();\n      const matchesWithMarkers = addMarkers(dom, matches);\n      each$e(matchesWithMarkers, match => {\n        const block = dom.getParent(match.startMarker.start, dom.isBlock);\n        const isRoot = node => node === block;\n        if (isReplacementPattern(match.pattern)) {\n          applyReplacementPattern(editor, match.pattern, match.endMarker, isRoot);\n        } else {\n          applyPatternWithContent(editor, match.pattern, match.startMarker, match.endMarker, isRoot);\n        }\n        removeMarker(dom, match.endMarker, isRoot);\n        removeMarker(dom, match.startMarker, isRoot);\n      });\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const handleEnter = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      return getParentBlock(editor, rng).map(block => {\n        var _a;\n        const offset = Math.max(0, rng.startOffset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, (_a = block.textContent) !== null && _a !== void 0 ? _a : '');\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, true);\n        const blockMatches = findPatterns$1(editor, block, dynamicPatternSet, true);\n        if (blockMatches.length > 0 || inlineMatches.length > 0) {\n          editor.undoManager.add();\n          editor.undoManager.extra(() => {\n            editor.execCommand('mceInsertNewLine');\n          }, () => {\n            insert$5(editor);\n            applyMatches(editor, inlineMatches);\n            applyMatches$1(editor, blockMatches);\n            const range = editor.selection.getRng();\n            const spot = textBefore(range.startContainer, range.startOffset, editor.dom.getRoot());\n            editor.execCommand('mceInsertNewLine');\n            spot.each(s => {\n              const node = s.container;\n              if (node.data.charAt(s.offset - 1) === zeroWidth) {\n                node.deleteData(s.offset - 1, 1);\n                cleanEmptyNodes(editor.dom, node.parentNode, e => e === editor.dom.getRoot());\n              }\n            });\n          });\n          return true;\n        }\n        return false;\n      }).getOr(false);\n    };\n    const handleInlineKey = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      getParentBlock(editor, rng).map(block => {\n        const offset = Math.max(0, rng.startOffset - 1);\n        const beforeText = getBeforeText(editor.dom, block, rng.startContainer, offset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, beforeText);\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, false);\n        if (inlineMatches.length > 0) {\n          editor.undoManager.transact(() => {\n            applyMatches(editor, inlineMatches);\n          });\n        }\n      });\n    };\n    const checkKeyEvent = (codes, event, predicate) => {\n      for (let i = 0; i < codes.length; i++) {\n        if (predicate(codes[i], event)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const checkKeyCode = (codes, event) => checkKeyEvent(codes, event, (code, event) => {\n      return code === event.keyCode && !VK.modifierPressed(event);\n    });\n    const checkCharCode = (chars, event) => checkKeyEvent(chars, event, (chr, event) => {\n      return chr.charCodeAt(0) === event.charCode;\n    });\n\n    const setup$2 = editor => {\n      const charCodes = [',', '.', ';', ':', '!', '?'];\n      const keyCodes = [32];\n      const getPatternSet = () => createPatternSet(getTextPatterns(editor), getTextPatternsLookup(editor));\n      const hasDynamicPatterns = () => hasTextPatternsLookup(editor);\n      editor.on('keydown', e => {\n        if (e.keyCode === 13 && !VK.modifierPressed(e) && editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || patternSet.blockPatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns && handleEnter(editor, patternSet)) {\n            e.preventDefault();\n          }\n        }\n      }, true);\n      const handleInlineTrigger = () => {\n        if (editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns) {\n            handleInlineKey(editor, patternSet);\n          }\n        }\n      };\n      editor.on('keyup', e => {\n        if (checkKeyCode(keyCodes, e)) {\n          handleInlineTrigger();\n        }\n      });\n      editor.on('keypress', e => {\n        if (checkCharCode(charCodes, e)) {\n          Delay.setEditorTimeout(editor, handleInlineTrigger);\n        }\n      });\n    };\n\n    const setup$1 = editor => {\n      setup$2(editor);\n    };\n\n    const Quirks = editor => {\n      const each = Tools.each;\n      const BACKSPACE = VK.BACKSPACE,\n        DELETE = VK.DELETE,\n        dom = editor.dom,\n        selection = editor.selection,\n        parser = editor.parser;\n      const browser = Env.browser;\n      const isGecko = browser.isFirefox();\n      const isWebKit = browser.isChromium() || browser.isSafari();\n      const isiOS = Env.deviceType.isiPhone() || Env.deviceType.isiPad();\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      const setEditorCommandState = (cmd, state) => {\n        try {\n          editor.getDoc().execCommand(cmd, false, String(state));\n        } catch (ex) {}\n      };\n      const isDefaultPrevented = e => {\n        return e.isDefaultPrevented();\n      };\n      const emptyEditorWhenDeleting = () => {\n        const serializeRng = rng => {\n          const body = dom.create('body');\n          const contents = rng.cloneContents();\n          body.appendChild(contents);\n          return selection.serializer.serialize(body, {\n            format: 'html'\n          });\n        };\n        const allContentsSelected = rng => {\n          const selection = serializeRng(rng);\n          const allRng = dom.createRng();\n          allRng.selectNode(editor.getBody());\n          const allSelection = serializeRng(allRng);\n          return selection === allSelection;\n        };\n        editor.on('keydown', e => {\n          const keyCode = e.keyCode;\n          if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE) && editor.selection.isEditable()) {\n            const isCollapsed = editor.selection.isCollapsed();\n            const body = editor.getBody();\n            if (isCollapsed && !isEmpty$2(SugarElement.fromDom(body))) {\n              return;\n            }\n            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {\n              return;\n            }\n            e.preventDefault();\n            editor.setContent('');\n            if (body.firstChild && dom.isBlock(body.firstChild)) {\n              editor.selection.setCursorLocation(body.firstChild, 0);\n            } else {\n              editor.selection.setCursorLocation(body, 0);\n            }\n            editor.nodeChanged();\n          }\n        });\n      };\n      const selectAll = () => {\n        editor.shortcuts.add('meta+a', null, 'SelectAll');\n      };\n      const documentElementEditingFocus = () => {\n        if (!editor.inline) {\n          dom.bind(editor.getDoc(), 'mousedown mouseup', e => {\n            let rng;\n            if (e.target === editor.getDoc().documentElement) {\n              rng = selection.getRng();\n              editor.getBody().focus();\n              if (e.type === 'mousedown') {\n                if (isCaretContainer$2(rng.startContainer)) {\n                  return;\n                }\n                selection.placeCaretAt(e.clientX, e.clientY);\n              } else {\n                selection.setRng(rng);\n              }\n            }\n          });\n        }\n      };\n      const removeHrOnBackspace = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (!editor.getBody().getElementsByTagName('hr').length) {\n              return;\n            }\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const node = selection.getNode();\n              const previousSibling = node.previousSibling;\n              if (node.nodeName === 'HR') {\n                dom.remove(node);\n                e.preventDefault();\n                return;\n              }\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') {\n                dom.remove(previousSibling);\n                e.preventDefault();\n              }\n            }\n          }\n        });\n      };\n      const focusBody = () => {\n        if (!Range.prototype.getClientRects) {\n          editor.on('mousedown', e => {\n            if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') {\n              const body = editor.getBody();\n              body.blur();\n              Delay.setEditorTimeout(editor, () => {\n                body.focus();\n              });\n            }\n          });\n        }\n      };\n      const selectControlElements = () => {\n        const visualAidsAnchorClass = getVisualAidsAnchorClass(editor);\n        editor.on('click', e => {\n          const target = e.target;\n          if (/^(IMG|HR)$/.test(target.nodeName) && dom.isEditable(target)) {\n            e.preventDefault();\n            editor.selection.select(target);\n            editor.nodeChanged();\n          }\n          if (target.nodeName === 'A' && dom.hasClass(target, visualAidsAnchorClass) && target.childNodes.length === 0 && dom.isEditable(target.parentNode)) {\n            e.preventDefault();\n            selection.select(target);\n          }\n        });\n      };\n      const removeStylesWhenDeletingAcrossBlockElements = () => {\n        const getAttributeApplyFunction = () => {\n          const template = dom.getAttribs(selection.getStart().cloneNode(false));\n          return () => {\n            const target = selection.getStart();\n            if (target !== editor.getBody()) {\n              dom.setAttrib(target, 'style', null);\n              each(template, attr => {\n                target.setAttributeNode(attr.cloneNode(true));\n              });\n            }\n          };\n        };\n        const isSelectionAcrossElements = () => {\n          return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock);\n        };\n        editor.on('keypress', e => {\n          let applyAttributes;\n          if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            editor.getDoc().execCommand('delete', false);\n            applyAttributes();\n            e.preventDefault();\n            return false;\n          } else {\n            return true;\n          }\n        });\n        dom.bind(editor.getDoc(), 'cut', e => {\n          if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {\n            const applyAttributes = getAttributeApplyFunction();\n            Delay.setEditorTimeout(editor, () => {\n              applyAttributes();\n            });\n          }\n        });\n      };\n      const disableBackspaceIntoATable = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const previousSibling = selection.getNode().previousSibling;\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') {\n                e.preventDefault();\n                return false;\n              }\n            }\n          }\n          return true;\n        });\n      };\n      const removeBlockQuoteOnBackSpace = () => {\n        editor.on('keydown', e => {\n          if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) {\n            return;\n          }\n          let rng = selection.getRng();\n          const container = rng.startContainer;\n          const offset = rng.startOffset;\n          const root = dom.getRoot();\n          let parent = container;\n          if (!rng.collapsed || offset !== 0) {\n            return;\n          }\n          while (parent.parentNode && parent.parentNode.firstChild === parent && parent.parentNode !== root) {\n            parent = parent.parentNode;\n          }\n          if (parent.nodeName === 'BLOCKQUOTE') {\n            editor.formatter.toggle('blockquote', undefined, parent);\n            rng = dom.createRng();\n            rng.setStart(container, 0);\n            rng.setEnd(container, 0);\n            selection.setRng(rng);\n          }\n        });\n      };\n      const setGeckoEditingOptions = () => {\n        const setOpts = () => {\n          setEditorCommandState('StyleWithCSS', false);\n          setEditorCommandState('enableInlineTableEditing', false);\n          if (!getObjectResizing(editor)) {\n            setEditorCommandState('enableObjectResizing', false);\n          }\n        };\n        if (!isReadOnly$1(editor)) {\n          editor.on('BeforeExecCommand mousedown', setOpts);\n        }\n      };\n      const addBrAfterLastLinks = () => {\n        const fixLinks = () => {\n          each(dom.select('a:not([data-mce-block])'), node => {\n            var _a;\n            let parentNode = node.parentNode;\n            const root = dom.getRoot();\n            if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.lastChild) === node) {\n              while (parentNode && !dom.isBlock(parentNode)) {\n                if (((_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.lastChild) !== parentNode || parentNode === root) {\n                  return;\n                }\n                parentNode = parentNode.parentNode;\n              }\n              dom.add(parentNode, 'br', {\n                'data-mce-bogus': 1\n              });\n            }\n          });\n        };\n        editor.on('SetContent ExecCommand', e => {\n          if (e.type === 'setcontent' || e.command === 'mceInsertLink') {\n            fixLinks();\n          }\n        });\n      };\n      const setDefaultBlockType = () => {\n        editor.on('init', () => {\n          setEditorCommandState('DefaultParagraphSeparator', getForcedRootBlock(editor));\n        });\n      };\n      const isAllContentSelected = editor => {\n        const body = editor.getBody();\n        const rng = editor.selection.getRng();\n        return rng.startContainer === rng.endContainer && rng.startContainer === body && rng.startOffset === 0 && rng.endOffset === body.childNodes.length;\n      };\n      const normalizeSelection = () => {\n        editor.on('keyup focusin mouseup', e => {\n          if (!VK.modifierPressed(e) && !isAllContentSelected(editor)) {\n            selection.normalize();\n          }\n        }, true);\n      };\n      const showBrokenImageIcon = () => {\n        editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}');\n      };\n      const restoreFocusOnKeyDown = () => {\n        if (!editor.inline) {\n          editor.on('keydown', () => {\n            if (document.activeElement === document.body) {\n              editor.getWin().focus();\n            }\n          });\n        }\n      };\n      const bodyHeight = () => {\n        if (!editor.inline) {\n          editor.contentStyles.push('body {min-height: 150px}');\n          editor.on('click', e => {\n            let rng;\n            if (e.target.nodeName === 'HTML') {\n              rng = editor.selection.getRng();\n              editor.getBody().focus();\n              editor.selection.setRng(rng);\n              editor.selection.normalize();\n              editor.nodeChanged();\n            }\n          });\n        }\n      };\n      const blockCmdArrowNavigation = () => {\n        if (isMac) {\n          editor.on('keydown', e => {\n            if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) {\n              e.preventDefault();\n              const selection = editor.selection.getSel();\n              selection.modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary');\n            }\n          });\n        }\n      };\n      const tapLinksAndImages = () => {\n        editor.on('click', e => {\n          let elm = e.target;\n          do {\n            if (elm.tagName === 'A') {\n              e.preventDefault();\n              return;\n            }\n          } while (elm = elm.parentNode);\n        });\n        editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');\n      };\n      const blockFormSubmitInsideEditor = () => {\n        editor.on('init', () => {\n          editor.dom.bind(editor.getBody(), 'submit', e => {\n            e.preventDefault();\n          });\n        });\n      };\n      const removeAppleInterchangeBrs = () => {\n        parser.addNodeFilter('br', nodes => {\n          let i = nodes.length;\n          while (i--) {\n            if (nodes[i].attr('class') === 'Apple-interchange-newline') {\n              nodes[i].remove();\n            }\n          }\n        });\n      };\n      const refreshContentEditable = noop;\n      const isHidden = () => {\n        if (!isGecko || editor.removed) {\n          return false;\n        }\n        const sel = editor.selection.getSel();\n        return !sel || !sel.rangeCount || sel.rangeCount === 0;\n      };\n      const setupRtc = () => {\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          blockFormSubmitInsideEditor();\n          selectAll();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          }\n        }\n        if (isGecko) {\n          focusBody();\n          setGeckoEditingOptions();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n        }\n      };\n      const dropDragEndEvent = () => {\n        editor.on('drop', event => {\n          var _a;\n          const data = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/html');\n          if (isString(data) && /^<img[^>]*>$/.test(data)) {\n            editor.dispatch('dragend', new window.DragEvent('dragend', event));\n          }\n        });\n      };\n      const setup = () => {\n        removeBlockQuoteOnBackSpace();\n        emptyEditorWhenDeleting();\n        if (!Env.windowsPhone) {\n          normalizeSelection();\n        }\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          setDefaultBlockType();\n          blockFormSubmitInsideEditor();\n          disableBackspaceIntoATable();\n          removeAppleInterchangeBrs();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          } else {\n            selectAll();\n          }\n        }\n        if (isGecko) {\n          removeHrOnBackspace();\n          focusBody();\n          removeStylesWhenDeletingAcrossBlockElements();\n          setGeckoEditingOptions();\n          addBrAfterLastLinks();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n          disableBackspaceIntoATable();\n          dropDragEndEvent();\n        }\n      };\n      if (isRtc(editor)) {\n        setupRtc();\n      } else {\n        setup();\n      }\n      return {\n        refreshContentEditable,\n        isHidden\n      };\n    };\n\n    const DOM$6 = DOMUtils.DOM;\n    const appendStyle = (editor, text) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const container = getStyleContainer(getRootNode(body));\n      const style = SugarElement.fromTag('style');\n      set$3(style, 'type', 'text/css');\n      append$1(style, SugarElement.fromText(text));\n      append$1(container, style);\n      editor.on('remove', () => {\n        remove$5(style);\n      });\n    };\n    const getRootName = editor => editor.inline ? editor.getElement().nodeName.toLowerCase() : undefined;\n    const removeUndefined = obj => filter$4(obj, v => isUndefined(v) === false);\n    const mkParserSettings = editor => {\n      const getOption = editor.options.get;\n      const blobCache = editor.editorUpload.blobCache;\n      return removeUndefined({\n        allow_conditional_comments: getOption('allow_conditional_comments'),\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls'),\n        allow_html_in_named_anchor: getOption('allow_html_in_named_anchor'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_unsafe_link_target: getOption('allow_unsafe_link_target'),\n        convert_unsafe_embeds: getOption('convert_unsafe_embeds'),\n        convert_fonts_to_spans: getOption('convert_fonts_to_spans'),\n        fix_list_elements: getOption('fix_list_elements'),\n        font_size_legacy_values: getOption('font_size_legacy_values'),\n        forced_root_block: getOption('forced_root_block'),\n        forced_root_block_attrs: getOption('forced_root_block_attrs'),\n        preserve_cdata: getOption('preserve_cdata'),\n        inline_styles: getOption('inline_styles'),\n        root_name: getRootName(editor),\n        sandbox_iframes: getOption('sandbox_iframes'),\n        sanitize: getOption('xss_sanitization'),\n        validate: true,\n        blob_cache: blobCache,\n        document: editor.getDoc()\n      });\n    };\n    const mkSchemaSettings = editor => {\n      const getOption = editor.options.get;\n      return removeUndefined({\n        custom_elements: getOption('custom_elements'),\n        extended_valid_elements: getOption('extended_valid_elements'),\n        invalid_elements: getOption('invalid_elements'),\n        invalid_styles: getOption('invalid_styles'),\n        schema: getOption('schema'),\n        valid_children: getOption('valid_children'),\n        valid_classes: getOption('valid_classes'),\n        valid_elements: getOption('valid_elements'),\n        valid_styles: getOption('valid_styles'),\n        verify_html: getOption('verify_html'),\n        padd_empty_block_inline_children: getOption('format_empty_lines')\n      });\n    };\n    const mkSerializerSettings = editor => {\n      const getOption = editor.options.get;\n      return {\n        ...mkParserSettings(editor),\n        ...mkSchemaSettings(editor),\n        ...removeUndefined({\n          remove_trailing_brs: getOption('remove_trailing_brs'),\n          pad_empty_with_br: getOption('pad_empty_with_br'),\n          url_converter: getOption('url_converter'),\n          url_converter_scope: getOption('url_converter_scope'),\n          element_format: getOption('element_format'),\n          entities: getOption('entities'),\n          entity_encoding: getOption('entity_encoding'),\n          indent: getOption('indent'),\n          indent_after: getOption('indent_after'),\n          indent_before: getOption('indent_before')\n        })\n      };\n    };\n    const createParser = editor => {\n      const parser = DomParser(mkParserSettings(editor), editor.schema);\n      parser.addAttributeFilter('src,href,style,tabindex', (nodes, name) => {\n        const dom = editor.dom;\n        const internalName = 'data-mce-' + name;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(name);\n          if (value && !node.attr(internalName)) {\n            if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) {\n              continue;\n            }\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n              if (!value.length) {\n                value = null;\n              }\n              node.attr(internalName, value);\n              node.attr(name, value);\n            } else if (name === 'tabindex') {\n              node.attr(internalName, value);\n              node.attr(name, null);\n            } else {\n              node.attr(internalName, editor.convertURL(value, name, node.name));\n            }\n          }\n        }\n      });\n      parser.addNodeFilter('script', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const type = node.attr('type') || 'no/type';\n          if (type.indexOf('mce-') !== 0) {\n            node.attr('type', 'mce-' + type);\n          }\n        }\n      });\n      if (shouldPreserveCData(editor)) {\n        parser.addNodeFilter('#cdata', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.type = 8;\n            node.name = '#comment';\n            node.value = '[CDATA[' + editor.dom.encode((_a = node.value) !== null && _a !== void 0 ? _a : '') + ']]';\n          }\n        });\n      }\n      parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', nodes => {\n        let i = nodes.length;\n        const nonEmptyElements = editor.schema.getNonEmptyElements();\n        while (i--) {\n          const node = nodes[i];\n          if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) {\n            node.append(new AstNode('br', 1));\n          }\n        }\n      });\n      return parser;\n    };\n    const autoFocus = editor => {\n      const autoFocus = getAutoFocus(editor);\n      if (autoFocus) {\n        Delay.setEditorTimeout(editor, () => {\n          let focusEditor;\n          if (autoFocus === true) {\n            focusEditor = editor;\n          } else {\n            focusEditor = editor.editorManager.get(autoFocus);\n          }\n          if (focusEditor && !focusEditor.destroyed) {\n            focusEditor.focus();\n            focusEditor.selection.scrollIntoView();\n          }\n        }, 100);\n      }\n    };\n    const moveSelectionToFirstCaretPosition = editor => {\n      const root = editor.dom.getRoot();\n      if (!editor.inline && (!hasAnyRanges(editor) || editor.selection.getStart(true) === root)) {\n        firstPositionIn(root).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const initEditor = editor => {\n      editor.bindPendingEventDelegates();\n      editor.initialized = true;\n      fireInit(editor);\n      editor.focus(true);\n      moveSelectionToFirstCaretPosition(editor);\n      editor.nodeChanged({\n        initial: true\n      });\n      const initInstanceCallback = getInitInstanceCallback(editor);\n      if (isFunction(initInstanceCallback)) {\n        initInstanceCallback.call(editor, editor);\n      }\n      autoFocus(editor);\n    };\n    const getStyleSheetLoader$1 = editor => editor.inline ? editor.ui.styleSheetLoader : editor.dom.styleSheetLoader;\n    const makeStylesheetLoadingPromises = (editor, css, framedFonts) => {\n      const {\n        pass: bundledCss,\n        fail: normalCss\n      } = partition$2(css, name => tinymce.Resource.has(toContentSkinResourceName(name)));\n      const bundledPromises = bundledCss.map(url => {\n        const css = tinymce.Resource.get(toContentSkinResourceName(url));\n        if (isString(css)) {\n          return Promise.resolve(getStyleSheetLoader$1(editor).loadRawCss(url, css));\n        }\n        return Promise.resolve();\n      });\n      const promises = [...bundledPromises, getStyleSheetLoader$1(editor).loadAll(normalCss)];\n      if (editor.inline) {\n        return promises;\n      } else {\n        return promises.concat([editor.ui.styleSheetLoader.loadAll(framedFonts)]);\n      }\n    };\n    const loadContentCss = editor => {\n      const styleSheetLoader = getStyleSheetLoader$1(editor);\n      const fontCss = getFontCss(editor);\n      const css = editor.contentCSS;\n      const removeCss = () => {\n        styleSheetLoader.unloadAll(css);\n        if (!editor.inline) {\n          editor.ui.styleSheetLoader.unloadAll(fontCss);\n        }\n      };\n      const loaded = () => {\n        if (editor.removed) {\n          removeCss();\n        } else {\n          editor.on('remove', removeCss);\n        }\n      };\n      if (editor.contentStyles.length > 0) {\n        let contentCssText = '';\n        Tools.each(editor.contentStyles, style => {\n          contentCssText += style + '\\r\\n';\n        });\n        editor.dom.addStyle(contentCssText);\n      }\n      const allStylesheets = Promise.all(makeStylesheetLoadingPromises(editor, css, fontCss)).then(loaded).catch(loaded);\n      const contentStyle = getContentStyle(editor);\n      if (contentStyle) {\n        appendStyle(editor, contentStyle);\n      }\n      return allStylesheets;\n    };\n    const preInit = editor => {\n      const doc = editor.getDoc(),\n        body = editor.getBody();\n      firePreInit(editor);\n      if (!shouldBrowserSpellcheck(editor)) {\n        doc.body.spellcheck = false;\n        DOM$6.setAttrib(body, 'spellcheck', 'false');\n      }\n      editor.quirks = Quirks(editor);\n      firePostRender(editor);\n      const directionality = getDirectionality(editor);\n      if (directionality !== undefined) {\n        body.dir = directionality;\n      }\n      const protect = getProtect(editor);\n      if (protect) {\n        editor.on('BeforeSetContent', e => {\n          Tools.each(protect, pattern => {\n            e.content = e.content.replace(pattern, str => {\n              return '<!--mce:protected ' + escape(str) + '-->';\n            });\n          });\n        });\n      }\n      editor.on('SetContent', () => {\n        editor.addVisual(editor.getBody());\n      });\n      editor.on('compositionstart compositionend', e => {\n        editor.composing = e.type === 'compositionstart';\n      });\n    };\n    const loadInitialContent = editor => {\n      if (!isRtc(editor)) {\n        editor.load({\n          initial: true,\n          format: 'html'\n        });\n      }\n      editor.startContent = editor.getContent({\n        format: 'raw'\n      });\n    };\n    const initEditorWithInitialContent = editor => {\n      if (editor.removed !== true) {\n        loadInitialContent(editor);\n        initEditor(editor);\n      }\n    };\n    const startProgress = editor => {\n      let canceled = false;\n      const progressTimeout = setTimeout(() => {\n        if (!canceled) {\n          editor.setProgressState(true);\n        }\n      }, 500);\n      return () => {\n        clearTimeout(progressTimeout);\n        canceled = true;\n        editor.setProgressState(false);\n      };\n    };\n    const contentBodyLoaded = editor => {\n      const targetElm = editor.getElement();\n      let doc = editor.getDoc();\n      if (editor.inline) {\n        DOM$6.addClass(targetElm, 'mce-content-body');\n        editor.contentDocument = doc = document;\n        editor.contentWindow = window;\n        editor.bodyElement = targetElm;\n        editor.contentAreaContainer = targetElm;\n      }\n      const body = editor.getBody();\n      body.disabled = true;\n      editor.readonly = isReadOnly$1(editor);\n      editor._editableRoot = hasEditableRoot$1(editor);\n      if (!editor.readonly && editor.hasEditableRoot()) {\n        if (editor.inline && DOM$6.getStyle(body, 'position', true) === 'static') {\n          body.style.position = 'relative';\n        }\n        body.contentEditable = 'true';\n      }\n      body.disabled = false;\n      editor.editorUpload = EditorUpload(editor);\n      editor.schema = Schema(mkSchemaSettings(editor));\n      editor.dom = DOMUtils(doc, {\n        keep_values: true,\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        update_styles: true,\n        root_element: editor.inline ? editor.getBody() : null,\n        collect: editor.inline,\n        schema: editor.schema,\n        contentCssCors: shouldUseContentCssCors(editor),\n        referrerPolicy: getReferrerPolicy(editor),\n        onSetAttrib: e => {\n          editor.dispatch('SetAttrib', e);\n        },\n        force_hex_color: shouldForceHexColor(editor)\n      });\n      editor.parser = createParser(editor);\n      editor.serializer = DomSerializer(mkSerializerSettings(editor), editor);\n      editor.selection = EditorSelection(editor.dom, editor.getWin(), editor.serializer, editor);\n      editor.annotator = Annotator(editor);\n      editor.formatter = Formatter(editor);\n      editor.undoManager = UndoManager(editor);\n      editor._nodeChangeDispatcher = new NodeChange(editor);\n      editor._selectionOverrides = SelectionOverrides(editor);\n      setup$p(editor);\n      setup$6(editor);\n      setup$n(editor);\n      if (!isRtc(editor)) {\n        setup$5(editor);\n        setup$1(editor);\n      }\n      const caret = setup$b(editor);\n      setup$q(editor, caret);\n      setup$o(editor);\n      setup$r(editor);\n      setup$7(editor);\n      const setupRtcThunk = setup$t(editor);\n      preInit(editor);\n      setupRtcThunk.fold(() => {\n        const cancelProgress = startProgress(editor);\n        loadContentCss(editor).then(() => {\n          initEditorWithInitialContent(editor);\n          cancelProgress();\n        });\n      }, setupRtc => {\n        editor.setProgressState(true);\n        loadContentCss(editor).then(() => {\n          setupRtc().then(_rtcMode => {\n            editor.setProgressState(false);\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          }, err => {\n            editor.notificationManager.open({\n              type: 'error',\n              text: String(err)\n            });\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          });\n        });\n      });\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const DOM$5 = DOMUtils.DOM;\n    const createIframeElement = (id, title, customAttrs, tabindex) => {\n      const iframe = SugarElement.fromTag('iframe');\n      tabindex.each(t => set$3(iframe, 'tabindex', t));\n      setAll$1(iframe, customAttrs);\n      setAll$1(iframe, {\n        id: id + '_ifr',\n        frameBorder: '0',\n        allowTransparency: 'true',\n        title\n      });\n      add$2(iframe, 'tox-edit-area__iframe');\n      return iframe;\n    };\n    const getIframeHtml = editor => {\n      let iframeHTML = getDocType(editor) + '<html><head>';\n      if (getDocumentBaseUrl(editor) !== editor.documentBaseUrl) {\n        iframeHTML += '<base href=\"' + editor.documentBaseURI.getURI() + '\" />';\n      }\n      iframeHTML += '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />';\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const translatedAriaText = editor.translate(getIframeAriaText(editor));\n      if (getContentSecurityPolicy(editor)) {\n        iframeHTML += '<meta http-equiv=\"Content-Security-Policy\" content=\"' + getContentSecurityPolicy(editor) + '\" />';\n      }\n      iframeHTML += '<\/head>' + \"<body id=\\\"\".concat(bodyId, \"\\\" class=\\\"mce-content-body \").concat(bodyClass, \"\\\" data-id=\\\"\").concat(editor.id, \"\\\" aria-label=\\\"\").concat(translatedAriaText, \"\\\">\") + '<br>' + '<\/body><\/html>';\n      return iframeHTML;\n    };\n    const createIframe = (editor, boxInfo) => {\n      const iframeTitle = editor.translate('Rich Text Area');\n      const tabindex = getOpt(SugarElement.fromDom(editor.getElement()), 'tabindex').bind(toInt);\n      const ifr = createIframeElement(editor.id, iframeTitle, getIframeAttrs(editor), tabindex).dom;\n      ifr.onload = () => {\n        ifr.onload = null;\n        editor.dispatch('load');\n      };\n      editor.contentAreaContainer = boxInfo.iframeContainer;\n      editor.iframeElement = ifr;\n      editor.iframeHTML = getIframeHtml(editor);\n      DOM$5.add(boxInfo.iframeContainer, ifr);\n    };\n    const setupIframeBody = editor => {\n      const iframe = editor.iframeElement;\n      const ready = () => {\n        editor.contentDocument = iframe.contentDocument;\n        contentBodyLoaded(editor);\n      };\n      if (shouldUseDocumentWrite(editor) || Env.browser.isFirefox()) {\n        const doc = editor.getDoc();\n        doc.open();\n        doc.write(editor.iframeHTML);\n        doc.close();\n        ready();\n      } else {\n        const binder = bind(SugarElement.fromDom(iframe), 'load', () => {\n          binder.unbind();\n          ready();\n        });\n        iframe.srcdoc = editor.iframeHTML;\n      }\n    };\n    const init$1 = (editor, boxInfo) => {\n      createIframe(editor, boxInfo);\n      if (boxInfo.editorContainer) {\n        boxInfo.editorContainer.style.display = editor.orgDisplay;\n        editor.hidden = DOM$5.isHidden(boxInfo.editorContainer);\n      }\n      editor.getElement().style.display = 'none';\n      DOM$5.setAttrib(editor.id, 'aria-hidden', 'true');\n      editor.getElement().style.visibility = editor.orgVisibility;\n      setupIframeBody(editor);\n    };\n\n    const DOM$4 = DOMUtils.DOM;\n    const initPlugin = (editor, initializedPlugins, plugin) => {\n      const Plugin = PluginManager.get(plugin);\n      const pluginUrl = PluginManager.urls[plugin] || editor.documentBaseUrl.replace(/\\/$/, '');\n      plugin = Tools.trim(plugin);\n      if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) {\n        if (editor.plugins[plugin]) {\n          return;\n        }\n        try {\n          const pluginInstance = Plugin(editor, pluginUrl) || {};\n          editor.plugins[plugin] = pluginInstance;\n          if (isFunction(pluginInstance.init)) {\n            pluginInstance.init(editor, pluginUrl);\n            initializedPlugins.push(plugin);\n          }\n        } catch (e) {\n          pluginInitError(editor, plugin, e);\n        }\n      }\n    };\n    const trimLegacyPrefix = name => {\n      return name.replace(/^\\-/, '');\n    };\n    const initPlugins = editor => {\n      const initializedPlugins = [];\n      each$e(getPlugins(editor), name => {\n        initPlugin(editor, initializedPlugins, trimLegacyPrefix(name));\n      });\n    };\n    const initIcons = editor => {\n      const iconPackName = Tools.trim(getIconPackName(editor));\n      const currentIcons = editor.ui.registry.getAll().icons;\n      const loadIcons = {\n        ...IconManager.get('default').icons,\n        ...IconManager.get(iconPackName).icons\n      };\n      each$d(loadIcons, (svgData, icon) => {\n        if (!has$2(currentIcons, icon)) {\n          editor.ui.registry.addIcon(icon, svgData);\n        }\n      });\n    };\n    const initTheme = editor => {\n      const theme = getTheme(editor);\n      if (isString(theme)) {\n        const Theme = ThemeManager.get(theme);\n        editor.theme = Theme(editor, ThemeManager.urls[theme]) || {};\n        if (isFunction(editor.theme.init)) {\n          editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\\/$/, ''));\n        }\n      } else {\n        editor.theme = {};\n      }\n    };\n    const initModel = editor => {\n      const model = getModel(editor);\n      const Model = ModelManager.get(model);\n      editor.model = Model(editor, ModelManager.urls[model]);\n    };\n    const renderFromLoadedTheme = editor => {\n      const render = editor.theme.renderUI;\n      return render ? render() : renderThemeFalse(editor);\n    };\n    const renderFromThemeFunc = editor => {\n      const elm = editor.getElement();\n      const theme = getTheme(editor);\n      const info = theme(editor, elm);\n      if (info.editorContainer.nodeType) {\n        info.editorContainer.id = info.editorContainer.id || editor.id + '_parent';\n      }\n      if (info.iframeContainer && info.iframeContainer.nodeType) {\n        info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer';\n      }\n      info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight;\n      return info;\n    };\n    const createThemeFalseResult = (element, iframe) => {\n      return {\n        editorContainer: element,\n        iframeContainer: iframe,\n        api: {}\n      };\n    };\n    const renderThemeFalseIframe = targetElement => {\n      const iframeContainer = DOM$4.create('div');\n      DOM$4.insertAfter(iframeContainer, targetElement);\n      return createThemeFalseResult(iframeContainer, iframeContainer);\n    };\n    const renderThemeFalse = editor => {\n      const targetElement = editor.getElement();\n      return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement);\n    };\n    const renderThemeUi = editor => {\n      const elm = editor.getElement();\n      editor.orgDisplay = elm.style.display;\n      if (isString(getTheme(editor))) {\n        return renderFromLoadedTheme(editor);\n      } else if (isFunction(getTheme(editor))) {\n        return renderFromThemeFunc(editor);\n      } else {\n        return renderThemeFalse(editor);\n      }\n    };\n    const augmentEditorUiApi = (editor, api) => {\n      const uiApiFacade = {\n        show: Optional.from(api.show).getOr(noop),\n        hide: Optional.from(api.hide).getOr(noop),\n        isEnabled: Optional.from(api.isEnabled).getOr(always),\n        setEnabled: state => {\n          if (!editor.mode.isReadOnly()) {\n            Optional.from(api.setEnabled).each(f => f(state));\n          }\n        }\n      };\n      editor.ui = {\n        ...editor.ui,\n        ...uiApiFacade\n      };\n    };\n    const init = async editor => {\n      editor.dispatch('ScriptsLoaded');\n      initIcons(editor);\n      initTheme(editor);\n      initModel(editor);\n      initPlugins(editor);\n      const renderInfo = await renderThemeUi(editor);\n      augmentEditorUiApi(editor, Optional.from(renderInfo.api).getOr({}));\n      editor.editorContainer = renderInfo.editorContainer;\n      appendContentCssFromSettings(editor);\n      if (editor.inline) {\n        contentBodyLoaded(editor);\n      } else {\n        init$1(editor, {\n          editorContainer: renderInfo.editorContainer,\n          iframeContainer: renderInfo.iframeContainer\n        });\n      }\n    };\n\n    const DOM$3 = DOMUtils.DOM;\n    const hasSkipLoadPrefix = name => name.charAt(0) === '-';\n    const loadLanguage = (scriptLoader, editor) => {\n      const languageCode = getLanguageCode(editor);\n      const languageUrl = getLanguageUrl(editor);\n      if (!I18n.hasCode(languageCode) && languageCode !== 'en') {\n        const url = isNotEmpty(languageUrl) ? languageUrl : \"\".concat(editor.editorManager.baseURL, \"/langs/\").concat(languageCode, \".js\");\n        scriptLoader.add(url).catch(() => {\n          languageLoadError(editor, url, languageCode);\n        });\n      }\n    };\n    const loadTheme = (editor, suffix) => {\n      const theme = getTheme(editor);\n      if (isString(theme) && !hasSkipLoadPrefix(theme) && !has$2(ThemeManager.urls, theme)) {\n        const themeUrl = getThemeUrl(editor);\n        const url = themeUrl ? editor.documentBaseURI.toAbsolute(themeUrl) : \"themes/\".concat(theme, \"/theme\").concat(suffix, \".js\");\n        ThemeManager.load(theme, url).catch(() => {\n          themeLoadError(editor, url, theme);\n        });\n      }\n    };\n    const loadModel = (editor, suffix) => {\n      const model = getModel(editor);\n      if (model !== 'plugin' && !has$2(ModelManager.urls, model)) {\n        const modelUrl = getModelUrl(editor);\n        const url = isString(modelUrl) ? editor.documentBaseURI.toAbsolute(modelUrl) : \"models/\".concat(model, \"/model\").concat(suffix, \".js\");\n        ModelManager.load(model, url).catch(() => {\n          modelLoadError(editor, url, model);\n        });\n      }\n    };\n    const getIconsUrlMetaFromUrl = editor => Optional.from(getIconsUrl(editor)).filter(isNotEmpty).map(url => ({\n      url,\n      name: Optional.none()\n    }));\n    const getIconsUrlMetaFromName = (editor, name, suffix) => Optional.from(name).filter(name => isNotEmpty(name) && !IconManager.has(name)).map(name => ({\n      url: \"\".concat(editor.editorManager.baseURL, \"/icons/\").concat(name, \"/icons\").concat(suffix, \".js\"),\n      name: Optional.some(name)\n    }));\n    const loadIcons = (scriptLoader, editor, suffix) => {\n      const defaultIconsUrl = getIconsUrlMetaFromName(editor, 'default', suffix);\n      const customIconsUrl = getIconsUrlMetaFromUrl(editor).orThunk(() => getIconsUrlMetaFromName(editor, getIconPackName(editor), ''));\n      each$e(cat([defaultIconsUrl, customIconsUrl]), urlMeta => {\n        scriptLoader.add(urlMeta.url).catch(() => {\n          iconsLoadError(editor, urlMeta.url, urlMeta.name.getOrUndefined());\n        });\n      });\n    };\n    const loadPlugins = (editor, suffix) => {\n      const loadPlugin = (name, url) => {\n        PluginManager.load(name, url).catch(() => {\n          pluginLoadError(editor, url, name);\n        });\n      };\n      each$d(getExternalPlugins$1(editor), (url, name) => {\n        loadPlugin(name, url);\n        editor.options.set('plugins', getPlugins(editor).concat(name));\n      });\n      each$e(getPlugins(editor), plugin => {\n        plugin = Tools.trim(plugin);\n        if (plugin && !PluginManager.urls[plugin] && !hasSkipLoadPrefix(plugin)) {\n          loadPlugin(plugin, \"plugins/\".concat(plugin, \"/plugin\").concat(suffix, \".js\"));\n        }\n      });\n    };\n    const isThemeLoaded = editor => {\n      const theme = getTheme(editor);\n      return !isString(theme) || isNonNullable(ThemeManager.get(theme));\n    };\n    const isModelLoaded = editor => {\n      const model = getModel(editor);\n      return isNonNullable(ModelManager.get(model));\n    };\n    const loadScripts = (editor, suffix) => {\n      const scriptLoader = ScriptLoader.ScriptLoader;\n      const initEditor = () => {\n        if (!editor.removed && isThemeLoaded(editor) && isModelLoaded(editor)) {\n          init(editor);\n        }\n      };\n      loadTheme(editor, suffix);\n      loadModel(editor, suffix);\n      loadLanguage(scriptLoader, editor);\n      loadIcons(scriptLoader, editor, suffix);\n      loadPlugins(editor, suffix);\n      scriptLoader.loadQueue().then(initEditor, initEditor);\n    };\n    const getStyleSheetLoader = (element, editor) => instance.forElement(element, {\n      contentCssCors: hasContentCssCors(editor),\n      referrerPolicy: getReferrerPolicy(editor)\n    });\n    const render = editor => {\n      const id = editor.id;\n      I18n.setCode(getLanguageCode(editor));\n      const readyHandler = () => {\n        DOM$3.unbind(window, 'ready', readyHandler);\n        editor.render();\n      };\n      if (!EventUtils.Event.domLoaded) {\n        DOM$3.bind(window, 'ready', readyHandler);\n        return;\n      }\n      if (!editor.getElement()) {\n        return;\n      }\n      const element = SugarElement.fromDom(editor.getElement());\n      const snapshot = clone$4(element);\n      editor.on('remove', () => {\n        eachr(element.dom.attributes, attr => remove$a(element, attr.name));\n        setAll$1(element, snapshot);\n      });\n      editor.ui.styleSheetLoader = getStyleSheetLoader(element, editor);\n      if (!isInline$1(editor)) {\n        editor.orgVisibility = editor.getElement().style.visibility;\n        editor.getElement().style.visibility = 'hidden';\n      } else {\n        editor.inline = true;\n      }\n      const form = editor.getElement().form || DOM$3.getParent(id, 'form');\n      if (form) {\n        editor.formElement = form;\n        if (hasHiddenInput(editor) && !isTextareaOrInput(editor.getElement())) {\n          DOM$3.insertAfter(DOM$3.create('input', {\n            type: 'hidden',\n            name: id\n          }), id);\n          editor.hasHiddenInput = true;\n        }\n        editor.formEventDelegate = e => {\n          editor.dispatch(e.type, e);\n        };\n        DOM$3.bind(form, 'submit reset', editor.formEventDelegate);\n        editor.on('reset', () => {\n          editor.resetContent();\n        });\n        if (shouldPatchSubmit(editor) && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) {\n          form._mceOldSubmit = form.submit;\n          form.submit = () => {\n            editor.editorManager.triggerSave();\n            editor.setDirty(false);\n            return form._mceOldSubmit(form);\n          };\n        }\n      }\n      editor.windowManager = WindowManager(editor);\n      editor.notificationManager = NotificationManager(editor);\n      if (isEncodingXml(editor)) {\n        editor.on('GetContent', e => {\n          if (e.save) {\n            e.content = DOM$3.encode(e.content);\n          }\n        });\n      }\n      if (shouldAddFormSubmitTrigger(editor)) {\n        editor.on('submit', () => {\n          if (editor.initialized) {\n            editor.save();\n          }\n        });\n      }\n      if (shouldAddUnloadTrigger(editor)) {\n        editor._beforeUnload = () => {\n          if (editor.initialized && !editor.destroyed && !editor.isHidden()) {\n            editor.save({\n              format: 'raw',\n              no_events: true,\n              set_dirty: false\n            });\n          }\n        };\n        editor.editorManager.on('BeforeUnload', editor._beforeUnload);\n      }\n      editor.editorManager.add(editor);\n      loadScripts(editor, editor.suffix);\n    };\n\n    const setEditableRoot = (editor, state) => {\n      if (editor._editableRoot !== state) {\n        editor._editableRoot = state;\n        if (!editor.readonly) {\n          editor.getBody().contentEditable = String(editor.hasEditableRoot());\n          editor.nodeChanged();\n        }\n        fireEditableRootStateChange(editor, state);\n      }\n    };\n    const hasEditableRoot = editor => editor._editableRoot;\n\n    const sectionResult = (sections, settings) => ({\n      sections: constant(sections),\n      options: constant(settings)\n    });\n    const deviceDetection = detect$2().deviceType;\n    const isPhone = deviceDetection.isPhone();\n    const isTablet = deviceDetection.isTablet();\n    const normalizePlugins = plugins => {\n      if (isNullable(plugins)) {\n        return [];\n      } else {\n        const pluginNames = isArray$1(plugins) ? plugins : plugins.split(/[ ,]/);\n        const trimmedPlugins = map$3(pluginNames, trim$4);\n        return filter$5(trimmedPlugins, isNotEmpty);\n      }\n    };\n    const extractSections = (keys, options) => {\n      const result = bifilter(options, (value, key) => {\n        return contains$2(keys, key);\n      });\n      return sectionResult(result.t, result.f);\n    };\n    const getSection = (sectionResult, name, defaults = {}) => {\n      const sections = sectionResult.sections();\n      const sectionOptions = get$a(sections, name).getOr({});\n      return Tools.extend({}, defaults, sectionOptions);\n    };\n    const hasSection = (sectionResult, name) => {\n      return has$2(sectionResult.sections(), name);\n    };\n    const getSectionConfig = (sectionResult, name) => {\n      return hasSection(sectionResult, name) ? sectionResult.sections()[name] : {};\n    };\n    const getMobileOverrideOptions = (mobileOptions, isPhone) => {\n      const defaultMobileOptions = {\n        table_grid: false,\n        object_resizing: false,\n        resize: false,\n        toolbar_mode: get$a(mobileOptions, 'toolbar_mode').getOr('scrolling'),\n        toolbar_sticky: false\n      };\n      const defaultPhoneOptions = {\n        menubar: false\n      };\n      return {\n        ...defaultMobileOptions,\n        ...(isPhone ? defaultPhoneOptions : {})\n      };\n    };\n    const getExternalPlugins = (overrideOptions, options) => {\n      var _a;\n      const userDefinedExternalPlugins = (_a = options.external_plugins) !== null && _a !== void 0 ? _a : {};\n      if (overrideOptions && overrideOptions.external_plugins) {\n        return Tools.extend({}, overrideOptions.external_plugins, userDefinedExternalPlugins);\n      } else {\n        return userDefinedExternalPlugins;\n      }\n    };\n    const combinePlugins = (forcedPlugins, plugins) => [...normalizePlugins(forcedPlugins), ...normalizePlugins(plugins)];\n    const getPlatformPlugins = (isMobileDevice, sectionResult, desktopPlugins, mobilePlugins) => {\n      if (isMobileDevice && hasSection(sectionResult, 'mobile')) {\n        return mobilePlugins;\n      } else {\n        return desktopPlugins;\n      }\n    };\n    const processPlugins = (isMobileDevice, sectionResult, defaultOverrideOptions, options) => {\n      const forcedPlugins = normalizePlugins(defaultOverrideOptions.forced_plugins);\n      const desktopPlugins = normalizePlugins(options.plugins);\n      const mobileConfig = getSectionConfig(sectionResult, 'mobile');\n      const mobilePlugins = mobileConfig.plugins ? normalizePlugins(mobileConfig.plugins) : desktopPlugins;\n      const platformPlugins = getPlatformPlugins(isMobileDevice, sectionResult, desktopPlugins, mobilePlugins);\n      const combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);\n      return Tools.extend(options, {\n        forced_plugins: forcedPlugins,\n        plugins: combinedPlugins\n      });\n    };\n    const isOnMobile = (isMobileDevice, sectionResult) => {\n      return isMobileDevice && hasSection(sectionResult, 'mobile');\n    };\n    const combineOptions = (isMobileDevice, isPhone, defaultOptions, defaultOverrideOptions, options) => {\n      var _a;\n      const deviceOverrideOptions = isMobileDevice ? {\n        mobile: getMobileOverrideOptions((_a = options.mobile) !== null && _a !== void 0 ? _a : {}, isPhone)\n      } : {};\n      const sectionResult = extractSections(['mobile'], deepMerge(deviceOverrideOptions, options));\n      const extendedOptions = Tools.extend(defaultOptions, defaultOverrideOptions, sectionResult.options(), isOnMobile(isMobileDevice, sectionResult) ? getSection(sectionResult, 'mobile') : {}, {\n        external_plugins: getExternalPlugins(defaultOverrideOptions, sectionResult.options())\n      });\n      return processPlugins(isMobileDevice, sectionResult, defaultOverrideOptions, extendedOptions);\n    };\n    const normalizeOptions = (defaultOverrideOptions, options) => combineOptions(isPhone || isTablet, isPhone, options, defaultOverrideOptions, options);\n\n    const addVisual = (editor, elm) => addVisual$1(editor, elm);\n\n    const registerExecCommands$3 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      const toggleAlign = align => () => {\n        each$e('left,center,right,justify'.split(','), name => {\n          if (align !== name) {\n            editor.formatter.remove('align' + name);\n          }\n        });\n        if (align !== 'none') {\n          toggleFormat('align' + align);\n        }\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: toggleAlign('left'),\n        JustifyCenter: toggleAlign('center'),\n        JustifyRight: toggleAlign('right'),\n        JustifyFull: toggleAlign('justify'),\n        JustifyNone: toggleAlign('none')\n      });\n    };\n    const registerQueryStateCommands$1 = editor => {\n      const alignStates = name => () => {\n        const selection = editor.selection;\n        const nodes = selection.isCollapsed() ? [editor.dom.getParent(selection.getNode(), editor.dom.isBlock)] : selection.getSelectedBlocks();\n        return exists(nodes, node => isNonNullable(editor.formatter.matchNode(node, name)));\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: alignStates('alignleft'),\n        JustifyCenter: alignStates('aligncenter'),\n        JustifyRight: alignStates('alignright'),\n        JustifyFull: alignStates('alignjustify')\n      }, 'state');\n    };\n    const registerCommands$b = editor => {\n      registerExecCommands$3(editor);\n      registerQueryStateCommands$1(editor);\n    };\n\n    const registerCommands$a = editor => {\n      editor.editorCommands.addCommands({\n        'Cut,Copy,Paste': command => {\n          const doc = editor.getDoc();\n          let failed;\n          try {\n            doc.execCommand(command);\n          } catch (ex) {\n            failed = true;\n          }\n          if (command === 'paste' && !doc.queryCommandEnabled(command)) {\n            failed = true;\n          }\n          if (failed || !doc.queryCommandSupported(command)) {\n            let msg = editor.translate(\"Your browser doesn't support direct access to the clipboard. \" + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.');\n            if (Env.os.isMacOS() || Env.os.isiOS()) {\n              msg = msg.replace(/Ctrl\\+/g, '\\u2318+');\n            }\n            editor.notificationManager.open({\n              text: msg,\n              type: 'error'\n            });\n          }\n        }\n      });\n    };\n\n    const trimOrPadLeftRight = (dom, rng, html, schema) => {\n      const root = SugarElement.fromDom(dom.getRoot());\n      if (needsToBeNbspLeft(root, CaretPosition.fromRangeStart(rng), schema)) {\n        html = html.replace(/^ /, '&nbsp;');\n      } else {\n        html = html.replace(/^&nbsp;/, ' ');\n      }\n      if (needsToBeNbspRight(root, CaretPosition.fromRangeEnd(rng), schema)) {\n        html = html.replace(/(&nbsp;| )(<br( \\/)>)?$/, '&nbsp;');\n      } else {\n        html = html.replace(/&nbsp;(<br( \\/)?>)?$/, ' ');\n      }\n      return html;\n    };\n\n    const processValue$1 = value => {\n      if (typeof value !== 'string') {\n        const details = Tools.extend({\n          paste: value.paste,\n          data: {\n            paste: value.paste\n          }\n        }, value);\n        return {\n          content: value.content,\n          details\n        };\n      }\n      return {\n        content: value,\n        details: {}\n      };\n    };\n    const trimOrPad = (editor, value) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      if (/^ | $/.test(value)) {\n        return trimOrPadLeftRight(dom, selection.getRng(), value, editor.schema);\n      } else {\n        return value;\n      }\n    };\n    const insertAtCaret = (editor, value) => {\n      if (editor.selection.isEditable()) {\n        const {\n          content,\n          details\n        } = processValue$1(value);\n        preProcessSetContent(editor, {\n          ...details,\n          content: trimOrPad(editor, content),\n          format: 'html',\n          set: false,\n          selection: true\n        }).each(args => {\n          const insertedContent = insertContent$1(editor, args.content, details);\n          postProcessSetContent(editor, insertedContent, args);\n          editor.addVisual();\n        });\n      }\n    };\n\n    const registerCommands$9 = editor => {\n      editor.editorCommands.addCommands({\n        mceCleanup: () => {\n          const bm = editor.selection.getBookmark();\n          editor.setContent(editor.getContent());\n          editor.selection.moveToBookmark(bm);\n        },\n        insertImage: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.createHTML('img', {\n            src: value\n          }));\n        },\n        insertHorizontalRule: () => {\n          editor.execCommand('mceInsertContent', false, '<hr>');\n        },\n        insertText: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.encode(value));\n        },\n        insertHTML: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceInsertContent: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceSetContent: (_command, _ui, value) => {\n          editor.setContent(value);\n        },\n        mceReplaceContent: (_command, _ui, value) => {\n          editor.execCommand('mceInsertContent', false, value.replace(/\\{\\$selection\\}/g, editor.selection.getContent({\n            format: 'text'\n          })));\n        },\n        mceNewDocument: () => {\n          editor.setContent(getNewDocumentContent(editor));\n        }\n      });\n    };\n\n    const legacyPropNames = {\n      'font-size': 'size',\n      'font-family': 'face'\n    };\n    const isFont = isTag('font');\n    const getSpecifiedFontProp = (propName, rootElm, elm) => {\n      const getProperty = elm => getRaw(elm, propName).orThunk(() => {\n        if (isFont(elm)) {\n          return get$a(legacyPropNames, propName).bind(legacyPropName => getOpt(elm, legacyPropName));\n        } else {\n          return Optional.none();\n        }\n      });\n      const isRoot = elm => eq(SugarElement.fromDom(rootElm), elm);\n      return closest$1(SugarElement.fromDom(elm), elm => getProperty(elm), isRoot);\n    };\n    const normalizeFontFamily = fontFamily => fontFamily.replace(/[\\'\\\"\\\\]/g, '').replace(/,\\s+/g, ',');\n    const getComputedFontProp = (propName, elm) => Optional.from(DOMUtils.DOM.getStyle(elm, propName, true));\n    const getFontProp = propName => (rootElm, elm) => Optional.from(elm).map(SugarElement.fromDom).filter(isElement$7).bind(element => getSpecifiedFontProp(propName, rootElm, element.dom).or(getComputedFontProp(propName, element.dom))).getOr('');\n    const getFontSize = getFontProp('font-size');\n    const getFontFamily = compose(normalizeFontFamily, getFontProp('font-family'));\n\n    const findFirstCaretElement = editor => firstPositionIn(editor.getBody()).bind(caret => {\n      const container = caret.container();\n      return Optional.from(isText$a(container) ? container.parentNode : container);\n    });\n    const getCaretElement = editor => Optional.from(editor.selection.getRng()).bind(rng => {\n      const root = editor.getBody();\n      const atStartOfNode = rng.startContainer === root && rng.startOffset === 0;\n      return atStartOfNode ? Optional.none() : Optional.from(editor.selection.getStart(true));\n    });\n    const bindRange = (editor, binder) => getCaretElement(editor).orThunk(curry(findFirstCaretElement, editor)).map(SugarElement.fromDom).filter(isElement$7).bind(binder);\n    const mapRange = (editor, mapper) => bindRange(editor, compose1(Optional.some, mapper));\n\n    const fromFontSizeNumber = (editor, value) => {\n      if (/^[0-9.]+$/.test(value)) {\n        const fontSizeNumber = parseInt(value, 10);\n        if (fontSizeNumber >= 1 && fontSizeNumber <= 7) {\n          const fontSizes = getFontStyleValues(editor);\n          const fontClasses = getFontSizeClasses(editor);\n          if (fontClasses.length > 0) {\n            return fontClasses[fontSizeNumber - 1] || value;\n          } else {\n            return fontSizes[fontSizeNumber - 1] || value;\n          }\n        } else {\n          return value;\n        }\n      } else {\n        return value;\n      }\n    };\n    const normalizeFontNames = font => {\n      const fonts = font.split(/\\s*,\\s*/);\n      return map$3(fonts, font => {\n        if (font.indexOf(' ') !== -1 && !(startsWith(font, '\"') || startsWith(font, \"'\"))) {\n          return \"'\".concat(font, \"'\");\n        } else {\n          return font;\n        }\n      }).join(',');\n    };\n    const fontNameAction = (editor, value) => {\n      const font = fromFontSizeNumber(editor, value);\n      editor.formatter.toggle('fontname', {\n        value: normalizeFontNames(font)\n      });\n      editor.nodeChanged();\n    };\n    const fontNameQuery = editor => mapRange(editor, elm => getFontFamily(editor.getBody(), elm.dom)).getOr('');\n    const fontSizeAction = (editor, value) => {\n      editor.formatter.toggle('fontsize', {\n        value: fromFontSizeNumber(editor, value)\n      });\n      editor.nodeChanged();\n    };\n    const fontSizeQuery = editor => mapRange(editor, elm => getFontSize(editor.getBody(), elm.dom)).getOr('');\n\n    const lineHeightQuery = editor => mapRange(editor, elm => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const specifiedStyle = closest$1(elm, elm => getRaw(elm, 'line-height'), curry(eq, root));\n      const computedStyle = () => {\n        const lineHeight = parseFloat(get$7(elm, 'line-height'));\n        const fontSize = parseFloat(get$7(elm, 'font-size'));\n        return String(lineHeight / fontSize);\n      };\n      return specifiedStyle.getOrThunk(computedStyle);\n    }).getOr('');\n    const lineHeightAction = (editor, lineHeight) => {\n      editor.formatter.toggle('lineheight', {\n        value: String(lineHeight)\n      });\n      editor.nodeChanged();\n    };\n\n    const registerExecCommands$2 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => {\n          toggleFormat(command);\n        },\n        'ForeColor,HiliteColor': (command, _ui, value) => {\n          toggleFormat(command, {\n            value\n          });\n        },\n        'BackColor': (_command, _ui, value) => {\n          toggleFormat('hilitecolor', {\n            value\n          });\n        },\n        'FontName': (_command, _ui, value) => {\n          fontNameAction(editor, value);\n        },\n        'FontSize': (_command, _ui, value) => {\n          fontSizeAction(editor, value);\n        },\n        'LineHeight': (_command, _ui, value) => {\n          lineHeightAction(editor, value);\n        },\n        'Lang': (command, _ui, lang) => {\n          var _a;\n          toggleFormat(command, {\n            value: lang.code,\n            customValue: (_a = lang.customCode) !== null && _a !== void 0 ? _a : null\n          });\n        },\n        'RemoveFormat': command => {\n          editor.formatter.remove(command);\n        },\n        'mceBlockQuote': () => {\n          toggleFormat('blockquote');\n        },\n        'FormatBlock': (_command, _ui, value) => {\n          toggleFormat(isString(value) ? value : 'p');\n        },\n        'mceToggleFormat': (_command, _ui, value) => {\n          toggleFormat(value);\n        }\n      });\n    };\n    const registerQueryValueCommands = editor => {\n      const isFormatMatch = name => editor.formatter.match(name);\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => isFormatMatch(command),\n        'mceBlockQuote': () => isFormatMatch('blockquote')\n      }, 'state');\n      editor.editorCommands.addQueryValueHandler('FontName', () => fontNameQuery(editor));\n      editor.editorCommands.addQueryValueHandler('FontSize', () => fontSizeQuery(editor));\n      editor.editorCommands.addQueryValueHandler('LineHeight', () => lineHeightQuery(editor));\n    };\n    const registerCommands$8 = editor => {\n      registerExecCommands$2(editor);\n      registerQueryValueCommands(editor);\n    };\n\n    const registerCommands$7 = editor => {\n      editor.editorCommands.addCommands({\n        mceAddUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        mceEndUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        Undo: () => {\n          editor.undoManager.undo();\n        },\n        Redo: () => {\n          editor.undoManager.redo();\n        }\n      });\n    };\n\n    const registerCommands$6 = editor => {\n      editor.editorCommands.addCommands({\n        Indent: () => {\n          indent(editor);\n        },\n        Outdent: () => {\n          outdent(editor);\n        }\n      });\n      editor.editorCommands.addCommands({\n        Outdent: () => canOutdent(editor)\n      }, 'state');\n    };\n\n    const registerCommands$5 = editor => {\n      const applyLinkToSelection = (_command, _ui, value) => {\n        const linkDetails = isString(value) ? {\n          href: value\n        } : value;\n        const anchor = editor.dom.getParent(editor.selection.getNode(), 'a');\n        if (isObject(linkDetails) && isString(linkDetails.href)) {\n          linkDetails.href = linkDetails.href.replace(/ /g, '%20');\n          if (!anchor || !linkDetails.href) {\n            editor.formatter.remove('link');\n          }\n          if (linkDetails.href) {\n            editor.formatter.apply('link', linkDetails, anchor);\n          }\n        }\n      };\n      editor.editorCommands.addCommands({\n        unlink: () => {\n          if (editor.selection.isEditable()) {\n            if (editor.selection.isCollapsed()) {\n              const elm = editor.dom.getParent(editor.selection.getStart(), 'a');\n              if (elm) {\n                editor.dom.remove(elm, true);\n              }\n              return;\n            }\n            editor.formatter.remove('link');\n          }\n        },\n        mceInsertLink: applyLinkToSelection,\n        createLink: applyLinkToSelection\n      });\n    };\n\n    const registerExecCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          editor.getDoc().execCommand(command);\n          const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n          if (listElm) {\n            const listParent = listElm.parentNode;\n            if (listParent && /^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) {\n              const bm = editor.selection.getBookmark();\n              editor.dom.split(listParent, listElm);\n              editor.selection.moveToBookmark(bm);\n            }\n          }\n        }\n      });\n    };\n    const registerQueryStateCommands = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          const list = editor.dom.getParent(editor.selection.getNode(), 'ul,ol');\n          return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL');\n        }\n      }, 'state');\n    };\n    const registerCommands$4 = editor => {\n      registerExecCommands$1(editor);\n      registerQueryStateCommands(editor);\n    };\n\n    const getTopParentBlock = (editor, node, root, container) => {\n      const dom = editor.dom;\n      const selector = node => dom.isBlock(node) && node.parentElement === root;\n      const topParentBlock = selector(node) ? node : dom.getParent(container, selector, root);\n      return Optional.from(topParentBlock).map(SugarElement.fromDom);\n    };\n    const insert = (editor, before) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const node = before ? editor.selection.getStart() : editor.selection.getEnd();\n      const container = before ? rng.startContainer : rng.endContainer;\n      const root = getEditableRoot(dom, container);\n      if (!root || !root.isContentEditable) {\n        return;\n      }\n      const insertFn = before ? before$3 : after$4;\n      const newBlockName = getForcedRootBlock(editor);\n      getTopParentBlock(editor, node, root, container).each(parentBlock => {\n        const newBlock = createNewBlock(editor, container, parentBlock.dom, root, false, newBlockName);\n        insertFn(parentBlock, SugarElement.fromDom(newBlock));\n        editor.selection.setCursorLocation(newBlock, 0);\n        editor.dispatch('NewBlock', {\n          newBlock\n        });\n        fireInputEvent(editor, 'insertParagraph');\n      });\n    };\n    const insertBefore = editor => insert(editor, true);\n    const insertAfter = editor => insert(editor, false);\n\n    const registerCommands$3 = editor => {\n      editor.editorCommands.addCommands({\n        InsertNewBlockBefore: () => {\n          insertBefore(editor);\n        },\n        InsertNewBlockAfter: () => {\n          insertAfter(editor);\n        }\n      });\n    };\n\n    const registerCommands$2 = editor => {\n      editor.editorCommands.addCommands({\n        insertParagraph: () => {\n          insertBreak(blockbreak, editor);\n        },\n        mceInsertNewLine: (_command, _ui, value) => {\n          insert$1(editor, value);\n        },\n        InsertLineBreak: (_command, _ui, _value) => {\n          insertBreak(linebreak, editor);\n        }\n      });\n    };\n\n    const registerCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        mceSelectNodeDepth: (_command, _ui, value) => {\n          let counter = 0;\n          editor.dom.getParent(editor.selection.getNode(), node => {\n            if (isElement$6(node) && counter++ === value) {\n              editor.selection.select(node);\n              return false;\n            } else {\n              return true;\n            }\n          }, editor.getBody());\n        },\n        mceSelectNode: (_command, _ui, value) => {\n          editor.selection.select(value);\n        },\n        selectAll: () => {\n          const editingHost = editor.dom.getParent(editor.selection.getStart(), isContentEditableTrue$3);\n          if (editingHost) {\n            const rng = editor.dom.createRng();\n            rng.selectNodeContents(editingHost);\n            editor.selection.setRng(rng);\n          }\n        }\n      });\n    };\n\n    const registerExecCommands = editor => {\n      editor.editorCommands.addCommands({\n        mceRemoveNode: (_command, _ui, value) => {\n          const node = value !== null && value !== void 0 ? value : editor.selection.getNode();\n          if (node !== editor.getBody()) {\n            const bm = editor.selection.getBookmark();\n            editor.dom.remove(node, true);\n            editor.selection.moveToBookmark(bm);\n          }\n        },\n        mcePrint: () => {\n          editor.getWin().print();\n        },\n        mceFocus: (_command, _ui, value) => {\n          focus(editor, value === true);\n        },\n        mceToggleVisualAid: () => {\n          editor.hasVisual = !editor.hasVisual;\n          editor.addVisual();\n        }\n      });\n    };\n    const registerCommands = editor => {\n      registerCommands$b(editor);\n      registerCommands$a(editor);\n      registerCommands$7(editor);\n      registerCommands$1(editor);\n      registerCommands$9(editor);\n      registerCommands$5(editor);\n      registerCommands$6(editor);\n      registerCommands$3(editor);\n      registerCommands$2(editor);\n      registerCommands$4(editor);\n      registerCommands$8(editor);\n      registerExecCommands(editor);\n    };\n\n    const selectionSafeCommands = ['toggleview'];\n    const isSelectionSafeCommand = command => contains$2(selectionSafeCommands, command.toLowerCase());\n    class EditorCommands {\n      constructor(editor) {\n        this.commands = {\n          state: {},\n          exec: {},\n          value: {}\n        };\n        this.editor = editor;\n      }\n      execCommand(command, ui = false, value, args) {\n        const editor = this.editor;\n        const lowerCaseCommand = command.toLowerCase();\n        const skipFocus = args === null || args === void 0 ? void 0 : args.skip_focus;\n        if (editor.removed) {\n          return false;\n        }\n        if (lowerCaseCommand !== 'mcefocus') {\n          if (!/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(lowerCaseCommand) && !skipFocus) {\n            editor.focus();\n          } else {\n            restore(editor);\n          }\n        }\n        const eventArgs = editor.dispatch('BeforeExecCommand', {\n          command,\n          ui,\n          value\n        });\n        if (eventArgs.isDefaultPrevented()) {\n          return false;\n        }\n        const func = this.commands.exec[lowerCaseCommand];\n        if (isFunction(func)) {\n          func(lowerCaseCommand, ui, value);\n          editor.dispatch('ExecCommand', {\n            command,\n            ui,\n            value\n          });\n          return true;\n        }\n        return false;\n      }\n      queryCommandState(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return false;\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.state[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return false;\n      }\n      queryCommandValue(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return '';\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.value[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return '';\n      }\n      addCommands(commandList, type = 'exec') {\n        const commands = this.commands;\n        each$d(commandList, (callback, command) => {\n          each$e(command.toLowerCase().split(','), command => {\n            commands[type][command] = callback;\n          });\n        });\n      }\n      addCommand(command, callback, scope) {\n        const lowerCaseCommand = command.toLowerCase();\n        this.commands.exec[lowerCaseCommand] = (_command, ui, value) => callback.call(scope !== null && scope !== void 0 ? scope : this.editor, ui, value);\n      }\n      queryCommandSupported(command) {\n        const lowerCaseCommand = command.toLowerCase();\n        if (this.commands.exec[lowerCaseCommand]) {\n          return true;\n        } else {\n          return false;\n        }\n      }\n      addQueryStateHandler(command, callback, scope) {\n        this.commands.state[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n      addQueryValueHandler(command, callback, scope) {\n        this.commands.value[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n    }\n\n    const internalContentEditableAttr = 'data-mce-contenteditable';\n    const toggleClass = (elm, cls, state) => {\n      if (has(elm, cls) && !state) {\n        remove$7(elm, cls);\n      } else if (state) {\n        add$2(elm, cls);\n      }\n    };\n    const setEditorCommandState = (editor, cmd, state) => {\n      try {\n        editor.getDoc().execCommand(cmd, false, String(state));\n      } catch (ex) {}\n    };\n    const setContentEditable = (elm, state) => {\n      elm.dom.contentEditable = state ? 'true' : 'false';\n    };\n    const switchOffContentEditableTrue = elm => {\n      each$e(descendants(elm, '*[contenteditable=\"true\"]'), elm => {\n        set$3(elm, internalContentEditableAttr, 'true');\n        setContentEditable(elm, false);\n      });\n    };\n    const switchOnContentEditableTrue = elm => {\n      each$e(descendants(elm, \"*[\".concat(internalContentEditableAttr, \"=\\\"true\\\"]\")), elm => {\n        remove$a(elm, internalContentEditableAttr);\n        setContentEditable(elm, true);\n      });\n    };\n    const removeFakeSelection = editor => {\n      Optional.from(editor.selection.getNode()).each(elm => {\n        elm.removeAttribute('data-mce-selected');\n      });\n    };\n    const restoreFakeSelection = editor => {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    const toggleReadOnly = (editor, state) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      toggleClass(body, 'mce-content-readonly', state);\n      if (state) {\n        editor.selection.controlSelection.hideResizeRect();\n        editor._selectionOverrides.hideFakeCaret();\n        removeFakeSelection(editor);\n        editor.readonly = true;\n        setContentEditable(body, false);\n        switchOffContentEditableTrue(body);\n      } else {\n        editor.readonly = false;\n        if (editor.hasEditableRoot()) {\n          setContentEditable(body, true);\n        }\n        switchOnContentEditableTrue(body);\n        setEditorCommandState(editor, 'StyleWithCSS', false);\n        setEditorCommandState(editor, 'enableInlineTableEditing', false);\n        setEditorCommandState(editor, 'enableObjectResizing', false);\n        if (hasEditorOrUiFocus(editor)) {\n          editor.focus();\n        }\n        restoreFakeSelection(editor);\n        editor.nodeChanged();\n      }\n    };\n    const isReadOnly = editor => editor.readonly;\n    const registerFilters = editor => {\n      editor.parser.addAttributeFilter('contenteditable', nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr(internalContentEditableAttr, node.attr('contenteditable'));\n            node.attr('contenteditable', 'false');\n          });\n        }\n      });\n      editor.serializer.addAttributeFilter(internalContentEditableAttr, nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr('contenteditable', node.attr(internalContentEditableAttr));\n          });\n        }\n      });\n      editor.serializer.addTempAttr(internalContentEditableAttr);\n    };\n    const registerReadOnlyContentFilters = editor => {\n      if (editor.serializer) {\n        registerFilters(editor);\n      } else {\n        editor.on('PreInit', () => {\n          registerFilters(editor);\n        });\n      }\n    };\n    const isClickEvent = e => e.type === 'click';\n    const allowedEvents = ['copy'];\n    const isReadOnlyAllowedEvent = e => contains$2(allowedEvents, e.type);\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest$3(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const processReadonlyEvents = (editor, e) => {\n      if (isClickEvent(e) && !VK.metaKeyPressed(e)) {\n        const elm = SugarElement.fromDom(e.target);\n        getAnchorHrefOpt(editor, elm).each(href => {\n          e.preventDefault();\n          if (/^#/.test(href)) {\n            const targetEl = editor.dom.select(\"\".concat(href, \",[name=\\\"\").concat(removeLeading(href, '#'), \"\\\"]\"));\n            if (targetEl.length) {\n              editor.selection.scrollIntoView(targetEl[0], true);\n            }\n          } else {\n            window.open(href, '_blank', 'rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes');\n          }\n        });\n      } else if (isReadOnlyAllowedEvent(e)) {\n        editor.dispatch(e.type, e);\n      }\n    };\n    const registerReadOnlySelectionBlockers = editor => {\n      editor.on('ShowCaret', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n      editor.on('ObjectSelected', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel', ' ');\n    class EventDispatcher {\n      static isNative(name) {\n        return !!nativeEvents[name.toLowerCase()];\n      }\n      constructor(settings) {\n        this.bindings = {};\n        this.settings = settings || {};\n        this.scope = this.settings.scope || this;\n        this.toggleEvent = this.settings.toggleEvent || never;\n      }\n      fire(name, args) {\n        return this.dispatch(name, args);\n      }\n      dispatch(name, args) {\n        const lcName = name.toLowerCase();\n        const event = normalize$3(lcName, args !== null && args !== void 0 ? args : {}, this.scope);\n        if (this.settings.beforeFire) {\n          this.settings.beforeFire(event);\n        }\n        const handlers = this.bindings[lcName];\n        if (handlers) {\n          for (let i = 0, l = handlers.length; i < l; i++) {\n            const callback = handlers[i];\n            if (callback.removed) {\n              continue;\n            }\n            if (callback.once) {\n              this.off(lcName, callback.func);\n            }\n            if (event.isImmediatePropagationStopped()) {\n              return event;\n            }\n            if (callback.func.call(this.scope, event) === false) {\n              event.preventDefault();\n              return event;\n            }\n          }\n        }\n        return event;\n      }\n      on(name, callback, prepend, extra) {\n        if (callback === false) {\n          callback = never;\n        }\n        if (callback) {\n          const wrappedCallback = {\n            func: callback,\n            removed: false\n          };\n          if (extra) {\n            Tools.extend(wrappedCallback, extra);\n          }\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!handlers) {\n              handlers = [];\n              this.toggleEvent(currentName, true);\n            }\n            if (prepend) {\n              handlers = [wrappedCallback, ...handlers];\n            } else {\n              handlers = [...handlers, wrappedCallback];\n            }\n            this.bindings[currentName] = handlers;\n          }\n        }\n        return this;\n      }\n      off(name, callback) {\n        if (name) {\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!currentName) {\n              each$d(this.bindings, (_value, bindingName) => {\n                this.toggleEvent(bindingName, false);\n                delete this.bindings[bindingName];\n              });\n              return this;\n            }\n            if (handlers) {\n              if (!callback) {\n                handlers.length = 0;\n              } else {\n                const filteredHandlers = partition$2(handlers, handler => handler.func === callback);\n                handlers = filteredHandlers.fail;\n                this.bindings[currentName] = handlers;\n                each$e(filteredHandlers.pass, handler => {\n                  handler.removed = true;\n                });\n              }\n              if (!handlers.length) {\n                this.toggleEvent(name, false);\n                delete this.bindings[currentName];\n              }\n            }\n          }\n        } else {\n          each$d(this.bindings, (_value, name) => {\n            this.toggleEvent(name, false);\n          });\n          this.bindings = {};\n        }\n        return this;\n      }\n      once(name, callback, prepend) {\n        return this.on(name, callback, prepend, {\n          once: true\n        });\n      }\n      has(name) {\n        name = name.toLowerCase();\n        const binding = this.bindings[name];\n        return !(!binding || binding.length === 0);\n      }\n    }\n\n    const getEventDispatcher = obj => {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new EventDispatcher({\n          scope: obj,\n          toggleEvent: (name, state) => {\n            if (EventDispatcher.isNative(name) && obj.toggleNativeEvent) {\n              obj.toggleNativeEvent(name, state);\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    };\n    const Observable = {\n      fire(name, args, bubble) {\n        return this.dispatch(name, args, bubble);\n      },\n      dispatch(name, args, bubble) {\n        const self = this;\n        if (self.removed && name !== 'remove' && name !== 'detach') {\n          return normalize$3(name.toLowerCase(), args !== null && args !== void 0 ? args : {}, self);\n        }\n        const dispatcherArgs = getEventDispatcher(self).dispatch(name, args);\n        if (bubble !== false && self.parent) {\n          let parent = self.parent();\n          while (parent && !dispatcherArgs.isPropagationStopped()) {\n            parent.dispatch(name, dispatcherArgs, false);\n            parent = parent.parent ? parent.parent() : undefined;\n          }\n        }\n        return dispatcherArgs;\n      },\n      on(name, callback, prepend) {\n        return getEventDispatcher(this).on(name, callback, prepend);\n      },\n      off(name, callback) {\n        return getEventDispatcher(this).off(name, callback);\n      },\n      once(name, callback) {\n        return getEventDispatcher(this).once(name, callback);\n      },\n      hasEventListeners(name) {\n        return getEventDispatcher(this).has(name);\n      }\n    };\n\n    const DOM$2 = DOMUtils.DOM;\n    let customEventRootDelegates;\n    const getEventTarget = (editor, eventName) => {\n      if (eventName === 'selectionchange') {\n        return editor.getDoc();\n      }\n      if (!editor.inline && /^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(eventName)) {\n        return editor.getDoc().documentElement;\n      }\n      const eventRoot = getEventRoot(editor);\n      if (eventRoot) {\n        if (!editor.eventRoot) {\n          editor.eventRoot = DOM$2.select(eventRoot)[0];\n        }\n        return editor.eventRoot;\n      }\n      return editor.getBody();\n    };\n    const isListening = editor => !editor.hidden && !isReadOnly(editor);\n    const fireEvent = (editor, eventName, e) => {\n      if (isListening(editor)) {\n        editor.dispatch(eventName, e);\n      } else if (isReadOnly(editor)) {\n        processReadonlyEvents(editor, e);\n      }\n    };\n    const bindEventDelegate = (editor, eventName) => {\n      if (!editor.delegates) {\n        editor.delegates = {};\n      }\n      if (editor.delegates[eventName] || editor.removed) {\n        return;\n      }\n      const eventRootElm = getEventTarget(editor, eventName);\n      if (getEventRoot(editor)) {\n        if (!customEventRootDelegates) {\n          customEventRootDelegates = {};\n          editor.editorManager.on('removeEditor', () => {\n            if (!editor.editorManager.activeEditor) {\n              if (customEventRootDelegates) {\n                each$d(customEventRootDelegates, (_value, name) => {\n                  editor.dom.unbind(getEventTarget(editor, name));\n                });\n                customEventRootDelegates = null;\n              }\n            }\n          });\n        }\n        if (customEventRootDelegates[eventName]) {\n          return;\n        }\n        const delegate = e => {\n          const target = e.target;\n          const editors = editor.editorManager.get();\n          let i = editors.length;\n          while (i--) {\n            const body = editors[i].getBody();\n            if (body === target || DOM$2.isChildOf(target, body)) {\n              fireEvent(editors[i], eventName, e);\n            }\n          }\n        };\n        customEventRootDelegates[eventName] = delegate;\n        DOM$2.bind(eventRootElm, eventName, delegate);\n      } else {\n        const delegate = e => {\n          fireEvent(editor, eventName, e);\n        };\n        DOM$2.bind(eventRootElm, eventName, delegate);\n        editor.delegates[eventName] = delegate;\n      }\n    };\n    const EditorObservable = {\n      ...Observable,\n      bindPendingEventDelegates() {\n        const self = this;\n        Tools.each(self._pendingNativeEvents, name => {\n          bindEventDelegate(self, name);\n        });\n      },\n      toggleNativeEvent(name, state) {\n        const self = this;\n        if (name === 'focus' || name === 'blur') {\n          return;\n        }\n        if (self.removed) {\n          return;\n        }\n        if (state) {\n          if (self.initialized) {\n            bindEventDelegate(self, name);\n          } else {\n            if (!self._pendingNativeEvents) {\n              self._pendingNativeEvents = [name];\n            } else {\n              self._pendingNativeEvents.push(name);\n            }\n          }\n        } else if (self.initialized && self.delegates) {\n          self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          delete self.delegates[name];\n        }\n      },\n      unbindAllNativeEvents() {\n        const self = this;\n        const body = self.getBody();\n        const dom = self.dom;\n        if (self.delegates) {\n          each$d(self.delegates, (value, name) => {\n            self.dom.unbind(getEventTarget(self, name), name, value);\n          });\n          delete self.delegates;\n        }\n        if (!self.inline && body && dom) {\n          body.onload = null;\n          dom.unbind(self.getWin());\n          dom.unbind(self.getDoc());\n        }\n        if (dom) {\n          dom.unbind(body);\n          dom.unbind(self.getContainer());\n        }\n      }\n    };\n\n    const stringListProcessor = value => {\n      if (isString(value)) {\n        return {\n          value: value.split(/[ ,]/),\n          valid: true\n        };\n      } else if (isArrayOf(value, isString)) {\n        return {\n          value,\n          valid: true\n        };\n      } else {\n        return {\n          valid: false,\n          message: \"The value must be a string[] or a comma/space separated string.\"\n        };\n      }\n    };\n    const getBuiltInProcessor = type => {\n      const validator = (() => {\n        switch (type) {\n          case 'array':\n            return isArray$1;\n          case 'boolean':\n            return isBoolean;\n          case 'function':\n            return isFunction;\n          case 'number':\n            return isNumber;\n          case 'object':\n            return isObject;\n          case 'string':\n            return isString;\n          case 'string[]':\n            return stringListProcessor;\n          case 'object[]':\n            return val => isArrayOf(val, isObject);\n          case 'regexp':\n            return val => is$4(val, RegExp);\n          default:\n            return always;\n        }\n      })();\n      return value => processValue(value, validator, \"The value must be a \".concat(type, \".\"));\n    };\n    const isBuiltInSpec = spec => isString(spec.processor);\n    const getErrorMessage = (message, result) => {\n      const additionalText = isEmpty$3(result.message) ? '' : \". \".concat(result.message);\n      return message + additionalText;\n    };\n    const isValidResult = result => result.valid;\n    const processValue = (value, processor, message = '') => {\n      const result = processor(value);\n      if (isBoolean(result)) {\n        return result ? {\n          value: value,\n          valid: true\n        } : {\n          valid: false,\n          message\n        };\n      } else {\n        return result;\n      }\n    };\n    const processDefaultValue = (name, defaultValue, processor) => {\n      if (!isUndefined(defaultValue)) {\n        const result = processValue(defaultValue, processor);\n        if (isValidResult(result)) {\n          return result.value;\n        } else {\n          console.error(getErrorMessage(\"Invalid default value passed for the \\\"\".concat(name, \"\\\" option\"), result));\n        }\n      }\n      return undefined;\n    };\n    const create$5 = (editor, initialOptions) => {\n      const registry = {};\n      const values = {};\n      const setValue = (name, value, processor) => {\n        const result = processValue(value, processor);\n        if (isValidResult(result)) {\n          values[name] = result.value;\n          return true;\n        } else {\n          console.warn(getErrorMessage(\"Invalid value passed for the \".concat(name, \" option\"), result));\n          return false;\n        }\n      };\n      const register = (name, spec) => {\n        const processor = isBuiltInSpec(spec) ? getBuiltInProcessor(spec.processor) : spec.processor;\n        const defaultValue = processDefaultValue(name, spec.default, processor);\n        registry[name] = {\n          ...spec,\n          default: defaultValue,\n          processor\n        };\n        const initValue = get$a(values, name).orThunk(() => get$a(initialOptions, name));\n        initValue.each(value => setValue(name, value, processor));\n      };\n      const isRegistered = name => has$2(registry, name);\n      const get = name => get$a(values, name).orThunk(() => get$a(registry, name).map(spec => spec.default)).getOrUndefined();\n      const set = (name, value) => {\n        if (!isRegistered(name)) {\n          console.warn(\"\\\"\".concat(name, \"\\\" is not a registered option. Ensure the option has been registered before setting a value.\"));\n          return false;\n        } else {\n          const spec = registry[name];\n          if (spec.immutable) {\n            console.error(\"\\\"\".concat(name, \"\\\" is an immutable option and cannot be updated\"));\n            return false;\n          } else {\n            return setValue(name, value, spec.processor);\n          }\n        }\n      };\n      const unset = name => {\n        const registered = isRegistered(name);\n        if (registered) {\n          delete values[name];\n        }\n        return registered;\n      };\n      const isSet = name => has$2(values, name);\n      return {\n        register,\n        isRegistered,\n        get,\n        set,\n        unset,\n        isSet\n      };\n    };\n\n    const defaultModes = ['design', 'readonly'];\n    const switchToMode = (editor, activeMode, availableModes, mode) => {\n      const oldMode = availableModes[activeMode.get()];\n      const newMode = availableModes[mode];\n      try {\n        newMode.activate();\n      } catch (e) {\n        console.error(\"problem while activating editor mode \".concat(mode, \":\"), e);\n        return;\n      }\n      oldMode.deactivate();\n      if (oldMode.editorReadOnly !== newMode.editorReadOnly) {\n        toggleReadOnly(editor, newMode.editorReadOnly);\n      }\n      activeMode.set(mode);\n      fireSwitchMode(editor, mode);\n    };\n    const setMode = (editor, availableModes, activeMode, mode) => {\n      if (mode === activeMode.get()) {\n        return;\n      } else if (!has$2(availableModes, mode)) {\n        throw new Error(\"Editor mode '\".concat(mode, \"' is invalid\"));\n      }\n      if (editor.initialized) {\n        switchToMode(editor, activeMode, availableModes, mode);\n      } else {\n        editor.on('init', () => switchToMode(editor, activeMode, availableModes, mode));\n      }\n    };\n    const registerMode = (availableModes, mode, api) => {\n      if (contains$2(defaultModes, mode)) {\n        throw new Error(\"Cannot override default mode \".concat(mode));\n      }\n      return {\n        ...availableModes,\n        [mode]: {\n          ...api,\n          deactivate: () => {\n            try {\n              api.deactivate();\n            } catch (e) {\n              console.error(\"problem while deactivating editor mode \".concat(mode, \":\"), e);\n            }\n          }\n        }\n      };\n    };\n\n    const create$4 = editor => {\n      const activeMode = Cell('design');\n      const availableModes = Cell({\n        design: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: false\n        },\n        readonly: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: true\n        }\n      });\n      registerReadOnlyContentFilters(editor);\n      registerReadOnlySelectionBlockers(editor);\n      return {\n        isReadOnly: () => isReadOnly(editor),\n        set: mode => setMode(editor, availableModes.get(), activeMode, mode),\n        get: () => activeMode.get(),\n        register: (mode, api) => {\n          availableModes.set(registerMode(availableModes.get(), mode, api));\n        }\n      };\n    };\n\n    const each$2 = Tools.each,\n      explode = Tools.explode;\n    const keyCodeLookup = {\n      f1: 112,\n      f2: 113,\n      f3: 114,\n      f4: 115,\n      f5: 116,\n      f6: 117,\n      f7: 118,\n      f8: 119,\n      f9: 120,\n      f10: 121,\n      f11: 122,\n      f12: 123\n    };\n    const modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');\n    const isModifier = key => key in modifierNames;\n    const parseShortcut = pattern => {\n      const shortcut = {};\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      each$2(explode(pattern.toLowerCase(), '+'), value => {\n        if (isModifier(value)) {\n          shortcut[value] = true;\n        } else {\n          if (/^[0-9]{2,}$/.test(value)) {\n            shortcut.keyCode = parseInt(value, 10);\n          } else {\n            shortcut.charCode = value.charCodeAt(0);\n            shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0);\n          }\n        }\n      });\n      const id = [shortcut.keyCode];\n      let key;\n      for (key in modifierNames) {\n        if (shortcut[key]) {\n          id.push(key);\n        } else {\n          shortcut[key] = false;\n        }\n      }\n      shortcut.id = id.join(',');\n      if (shortcut.access) {\n        shortcut.alt = true;\n        if (isMac) {\n          shortcut.ctrl = true;\n        } else {\n          shortcut.shift = true;\n        }\n      }\n      if (shortcut.meta) {\n        if (isMac) {\n          shortcut.meta = true;\n        } else {\n          shortcut.ctrl = true;\n          shortcut.meta = false;\n        }\n      }\n      return shortcut;\n    };\n    class Shortcuts {\n      constructor(editor) {\n        this.shortcuts = {};\n        this.pendingPatterns = [];\n        this.editor = editor;\n        const self = this;\n        editor.on('keyup keypress keydown', e => {\n          if ((self.hasModifier(e) || self.isFunctionKey(e)) && !e.isDefaultPrevented()) {\n            each$2(self.shortcuts, shortcut => {\n              if (self.matchShortcut(e, shortcut)) {\n                self.pendingPatterns = shortcut.subpatterns.slice(0);\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(shortcut);\n                }\n              }\n            });\n            if (self.matchShortcut(e, self.pendingPatterns[0])) {\n              if (self.pendingPatterns.length === 1) {\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(self.pendingPatterns[0]);\n                }\n              }\n              self.pendingPatterns.shift();\n            }\n          }\n        });\n      }\n      add(pattern, desc, cmdFunc, scope) {\n        const self = this;\n        const func = self.normalizeCommandFunc(cmdFunc);\n        each$2(explode(Tools.trim(pattern)), pattern => {\n          const shortcut = self.createShortcut(pattern, desc, func, scope);\n          self.shortcuts[shortcut.id] = shortcut;\n        });\n        return true;\n      }\n      remove(pattern) {\n        const shortcut = this.createShortcut(pattern);\n        if (this.shortcuts[shortcut.id]) {\n          delete this.shortcuts[shortcut.id];\n          return true;\n        }\n        return false;\n      }\n      normalizeCommandFunc(cmdFunc) {\n        const self = this;\n        const cmd = cmdFunc;\n        if (typeof cmd === 'string') {\n          return () => {\n            self.editor.execCommand(cmd, false, null);\n          };\n        } else if (Tools.isArray(cmd)) {\n          return () => {\n            self.editor.execCommand(cmd[0], cmd[1], cmd[2]);\n          };\n        } else {\n          return cmd;\n        }\n      }\n      createShortcut(pattern, desc, cmdFunc, scope) {\n        const shortcuts = Tools.map(explode(pattern, '>'), parseShortcut);\n        shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], {\n          func: cmdFunc,\n          scope: scope || this.editor\n        });\n        return Tools.extend(shortcuts[0], {\n          desc: this.editor.translate(desc),\n          subpatterns: shortcuts.slice(1)\n        });\n      }\n      hasModifier(e) {\n        return e.altKey || e.ctrlKey || e.metaKey;\n      }\n      isFunctionKey(e) {\n        return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123;\n      }\n      matchShortcut(e, shortcut) {\n        if (!shortcut) {\n          return false;\n        }\n        if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) {\n          return false;\n        }\n        if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) {\n          return false;\n        }\n        if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) {\n          e.preventDefault();\n          return true;\n        }\n        return false;\n      }\n      executeShortcutAction(shortcut) {\n        return shortcut.func ? shortcut.func.call(shortcut.scope) : null;\n      }\n    }\n\n    const create$3 = () => {\n      const buttons = {};\n      const menuItems = {};\n      const popups = {};\n      const icons = {};\n      const contextMenus = {};\n      const contextToolbars = {};\n      const sidebars = {};\n      const views = {};\n      const add = (collection, type) => (name, spec) => {\n        collection[name.toLowerCase()] = {\n          ...spec,\n          type\n        };\n      };\n      const addIcon = (name, svgData) => icons[name.toLowerCase()] = svgData;\n      return {\n        addButton: add(buttons, 'button'),\n        addGroupToolbarButton: add(buttons, 'grouptoolbarbutton'),\n        addToggleButton: add(buttons, 'togglebutton'),\n        addMenuButton: add(buttons, 'menubutton'),\n        addSplitButton: add(buttons, 'splitbutton'),\n        addMenuItem: add(menuItems, 'menuitem'),\n        addNestedMenuItem: add(menuItems, 'nestedmenuitem'),\n        addToggleMenuItem: add(menuItems, 'togglemenuitem'),\n        addAutocompleter: add(popups, 'autocompleter'),\n        addContextMenu: add(contextMenus, 'contextmenu'),\n        addContextToolbar: add(contextToolbars, 'contexttoolbar'),\n        addContextForm: add(contextToolbars, 'contextform'),\n        addSidebar: add(sidebars, 'sidebar'),\n        addView: add(views, 'views'),\n        addIcon,\n        getAll: () => ({\n          buttons,\n          menuItems,\n          icons,\n          popups,\n          contextMenus,\n          contextToolbars,\n          sidebars,\n          views\n        })\n      };\n    };\n\n    const registry = () => {\n      const bridge = create$3();\n      return {\n        addAutocompleter: bridge.addAutocompleter,\n        addButton: bridge.addButton,\n        addContextForm: bridge.addContextForm,\n        addContextMenu: bridge.addContextMenu,\n        addContextToolbar: bridge.addContextToolbar,\n        addIcon: bridge.addIcon,\n        addMenuButton: bridge.addMenuButton,\n        addMenuItem: bridge.addMenuItem,\n        addNestedMenuItem: bridge.addNestedMenuItem,\n        addSidebar: bridge.addSidebar,\n        addSplitButton: bridge.addSplitButton,\n        addToggleButton: bridge.addToggleButton,\n        addGroupToolbarButton: bridge.addGroupToolbarButton,\n        addToggleMenuItem: bridge.addToggleMenuItem,\n        addView: bridge.addView,\n        getAll: bridge.getAll\n      };\n    };\n\n    const DOM$1 = DOMUtils.DOM;\n    const extend = Tools.extend,\n      each$1 = Tools.each;\n    class Editor {\n      constructor(id, options, editorManager) {\n        this.plugins = {};\n        this.contentCSS = [];\n        this.contentStyles = [];\n        this.loadedCSS = {};\n        this.isNotDirty = false;\n        this.composing = false;\n        this.destroyed = false;\n        this.hasHiddenInput = false;\n        this.iframeElement = null;\n        this.initialized = false;\n        this.readonly = false;\n        this.removed = false;\n        this.startContent = '';\n        this._pendingNativeEvents = [];\n        this._skinLoaded = false;\n        this._editableRoot = true;\n        this.editorManager = editorManager;\n        this.documentBaseUrl = editorManager.documentBaseURL;\n        extend(this, EditorObservable);\n        const self = this;\n        this.id = id;\n        this.hidden = false;\n        const normalizedOptions = normalizeOptions(editorManager.defaultOptions, options);\n        this.options = create$5(self, normalizedOptions);\n        register$7(self);\n        const getOption = this.options.get;\n        if (getOption('deprecation_warnings')) {\n          logWarnings(options, normalizedOptions);\n        }\n        const suffix = getOption('suffix');\n        if (suffix) {\n          editorManager.suffix = suffix;\n        }\n        this.suffix = editorManager.suffix;\n        const baseUrl = getOption('base_url');\n        if (baseUrl) {\n          editorManager._setBaseUrl(baseUrl);\n        }\n        this.baseUri = editorManager.baseURI;\n        const referrerPolicy = getReferrerPolicy(self);\n        if (referrerPolicy) {\n          ScriptLoader.ScriptLoader._setReferrerPolicy(referrerPolicy);\n          DOMUtils.DOM.styleSheetLoader._setReferrerPolicy(referrerPolicy);\n        }\n        const contentCssCors = hasContentCssCors(self);\n        if (isNonNullable(contentCssCors)) {\n          DOMUtils.DOM.styleSheetLoader._setContentCssCors(contentCssCors);\n        }\n        AddOnManager.languageLoad = getOption('language_load');\n        AddOnManager.baseURL = editorManager.baseURL;\n        this.setDirty(false);\n        this.documentBaseURI = new URI(getDocumentBaseUrl(self), {\n          base_uri: this.baseUri\n        });\n        this.baseURI = this.baseUri;\n        this.inline = isInline$1(self);\n        this.hasVisual = isVisualAidsEnabled(self);\n        this.shortcuts = new Shortcuts(this);\n        this.editorCommands = new EditorCommands(this);\n        registerCommands(this);\n        const cacheSuffix = getOption('cache_suffix');\n        if (cacheSuffix) {\n          Env.cacheSuffix = cacheSuffix.replace(/^[\\?\\&]+/, '');\n        }\n        this.ui = {\n          registry: registry(),\n          styleSheetLoader: undefined,\n          show: noop,\n          hide: noop,\n          setEnabled: noop,\n          isEnabled: always\n        };\n        this.mode = create$4(self);\n        editorManager.dispatch('SetupEditor', {\n          editor: this\n        });\n        const setupCallback = getSetupCallback(self);\n        if (isFunction(setupCallback)) {\n          setupCallback.call(self, self);\n        }\n      }\n      render() {\n        render(this);\n      }\n      focus(skipFocus) {\n        this.execCommand('mceFocus', false, skipFocus);\n      }\n      hasFocus() {\n        return hasFocus(this);\n      }\n      translate(text) {\n        return I18n.translate(text);\n      }\n      getParam(name, defaultVal, type) {\n        const options = this.options;\n        if (!options.isRegistered(name)) {\n          if (isNonNullable(type)) {\n            options.register(name, {\n              processor: type,\n              default: defaultVal\n            });\n          } else {\n            options.register(name, {\n              processor: always,\n              default: defaultVal\n            });\n          }\n        }\n        return !options.isSet(name) && !isUndefined(defaultVal) ? defaultVal : options.get(name);\n      }\n      hasPlugin(name, loaded) {\n        const hasPlugin = contains$2(getPlugins(this), name);\n        if (hasPlugin) {\n          return loaded ? PluginManager.get(name) !== undefined : true;\n        } else {\n          return false;\n        }\n      }\n      nodeChanged(args) {\n        this._nodeChangeDispatcher.nodeChanged(args);\n      }\n      addCommand(name, callback, scope) {\n        this.editorCommands.addCommand(name, callback, scope);\n      }\n      addQueryStateHandler(name, callback, scope) {\n        this.editorCommands.addQueryStateHandler(name, callback, scope);\n      }\n      addQueryValueHandler(name, callback, scope) {\n        this.editorCommands.addQueryValueHandler(name, callback, scope);\n      }\n      addShortcut(pattern, desc, cmdFunc, scope) {\n        this.shortcuts.add(pattern, desc, cmdFunc, scope);\n      }\n      execCommand(cmd, ui, value, args) {\n        return this.editorCommands.execCommand(cmd, ui, value, args);\n      }\n      queryCommandState(cmd) {\n        return this.editorCommands.queryCommandState(cmd);\n      }\n      queryCommandValue(cmd) {\n        return this.editorCommands.queryCommandValue(cmd);\n      }\n      queryCommandSupported(cmd) {\n        return this.editorCommands.queryCommandSupported(cmd);\n      }\n      show() {\n        const self = this;\n        if (self.hidden) {\n          self.hidden = false;\n          if (self.inline) {\n            self.getBody().contentEditable = 'true';\n          } else {\n            DOM$1.show(self.getContainer());\n            DOM$1.hide(self.id);\n          }\n          self.load();\n          self.dispatch('show');\n        }\n      }\n      hide() {\n        const self = this;\n        if (!self.hidden) {\n          self.save();\n          if (self.inline) {\n            self.getBody().contentEditable = 'false';\n            if (self === self.editorManager.focusedEditor) {\n              self.editorManager.focusedEditor = null;\n            }\n          } else {\n            DOM$1.hide(self.getContainer());\n            DOM$1.setStyle(self.id, 'display', self.orgDisplay);\n          }\n          self.hidden = true;\n          self.dispatch('hide');\n        }\n      }\n      isHidden() {\n        return this.hidden;\n      }\n      setProgressState(state, time) {\n        this.dispatch('ProgressState', {\n          state,\n          time\n        });\n      }\n      load(args = {}) {\n        const self = this;\n        const elm = self.getElement();\n        if (self.removed) {\n          return '';\n        }\n        if (elm) {\n          const loadArgs = {\n            ...args,\n            load: true\n          };\n          const value = isTextareaOrInput(elm) ? elm.value : elm.innerHTML;\n          const html = self.setContent(value, loadArgs);\n          if (!loadArgs.no_events) {\n            self.dispatch('LoadContent', {\n              ...loadArgs,\n              element: elm\n            });\n          }\n          return html;\n        } else {\n          return '';\n        }\n      }\n      save(args = {}) {\n        const self = this;\n        let elm = self.getElement();\n        if (!elm || !self.initialized || self.removed) {\n          return '';\n        }\n        const getArgs = {\n          ...args,\n          save: true,\n          element: elm\n        };\n        let html = self.getContent(getArgs);\n        const saveArgs = {\n          ...getArgs,\n          content: html\n        };\n        if (!saveArgs.no_events) {\n          self.dispatch('SaveContent', saveArgs);\n        }\n        if (saveArgs.format === 'raw') {\n          self.dispatch('RawSaveContent', saveArgs);\n        }\n        html = saveArgs.content;\n        if (!isTextareaOrInput(elm)) {\n          if (args.is_removing || !self.inline) {\n            elm.innerHTML = html;\n          }\n          const form = DOM$1.getParent(self.id, 'form');\n          if (form) {\n            each$1(form.elements, elm => {\n              if (elm.name === self.id) {\n                elm.value = html;\n                return false;\n              } else {\n                return true;\n              }\n            });\n          }\n        } else {\n          elm.value = html;\n        }\n        saveArgs.element = getArgs.element = elm = null;\n        if (saveArgs.set_dirty !== false) {\n          self.setDirty(false);\n        }\n        return html;\n      }\n      setContent(content, args) {\n        return setContent(this, content, args);\n      }\n      getContent(args) {\n        return getContent(this, args);\n      }\n      insertContent(content, args) {\n        if (args) {\n          content = extend({\n            content\n          }, args);\n        }\n        this.execCommand('mceInsertContent', false, content);\n      }\n      resetContent(initialContent) {\n        if (initialContent === undefined) {\n          setContent(this, this.startContent, {\n            format: 'raw'\n          });\n        } else {\n          setContent(this, initialContent);\n        }\n        this.undoManager.reset();\n        this.setDirty(false);\n        this.nodeChanged();\n      }\n      isDirty() {\n        return !this.isNotDirty;\n      }\n      setDirty(state) {\n        const oldState = !this.isNotDirty;\n        this.isNotDirty = !state;\n        if (state && state !== oldState) {\n          this.dispatch('dirty');\n        }\n      }\n      getContainer() {\n        const self = this;\n        if (!self.container) {\n          self.container = self.editorContainer || DOM$1.get(self.id + '_parent');\n        }\n        return self.container;\n      }\n      getContentAreaContainer() {\n        return this.contentAreaContainer;\n      }\n      getElement() {\n        if (!this.targetElm) {\n          this.targetElm = DOM$1.get(this.id);\n        }\n        return this.targetElm;\n      }\n      getWin() {\n        const self = this;\n        if (!self.contentWindow) {\n          const elm = self.iframeElement;\n          if (elm) {\n            self.contentWindow = elm.contentWindow;\n          }\n        }\n        return self.contentWindow;\n      }\n      getDoc() {\n        const self = this;\n        if (!self.contentDocument) {\n          const win = self.getWin();\n          if (win) {\n            self.contentDocument = win.document;\n          }\n        }\n        return self.contentDocument;\n      }\n      getBody() {\n        var _a, _b;\n        const doc = this.getDoc();\n        return (_b = (_a = this.bodyElement) !== null && _a !== void 0 ? _a : doc === null || doc === void 0 ? void 0 : doc.body) !== null && _b !== void 0 ? _b : null;\n      }\n      convertURL(url, name, elm) {\n        const self = this,\n          getOption = self.options.get;\n        const urlConverterCallback = getUrlConverterCallback(self);\n        if (isFunction(urlConverterCallback)) {\n          return urlConverterCallback.call(self, url, elm, true, name);\n        }\n        if (!getOption('convert_urls') || elm === 'link' || isObject(elm) && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) {\n          return url;\n        }\n        const urlObject = new URI(url);\n        if (urlObject.protocol !== 'http' && urlObject.protocol !== 'https' && urlObject.protocol !== '') {\n          return url;\n        }\n        if (getOption('relative_urls')) {\n          return self.documentBaseURI.toRelative(url);\n        }\n        url = self.documentBaseURI.toAbsolute(url, getOption('remove_script_host'));\n        return url;\n      }\n      addVisual(elm) {\n        addVisual(this, elm);\n      }\n      setEditableRoot(state) {\n        setEditableRoot(this, state);\n      }\n      hasEditableRoot() {\n        return hasEditableRoot(this);\n      }\n      remove() {\n        remove$1(this);\n      }\n      destroy(automatic) {\n        destroy(this, automatic);\n      }\n      uploadImages() {\n        return this.editorUpload.uploadImages();\n      }\n      _scanForImages() {\n        return this.editorUpload.scanForImages();\n      }\n    }\n\n    const DOM = DOMUtils.DOM;\n    const each = Tools.each;\n    let boundGlobalEvents = false;\n    let beforeUnloadDelegate;\n    let editors = [];\n    const globalEventDelegate = e => {\n      const type = e.type;\n      each(EditorManager.get(), editor => {\n        switch (type) {\n          case 'scroll':\n            editor.dispatch('ScrollWindow', e);\n            break;\n          case 'resize':\n            editor.dispatch('ResizeWindow', e);\n            break;\n        }\n      });\n    };\n    const toggleGlobalEvents = state => {\n      if (state !== boundGlobalEvents) {\n        const DOM = DOMUtils.DOM;\n        if (state) {\n          DOM.bind(window, 'resize', globalEventDelegate);\n          DOM.bind(window, 'scroll', globalEventDelegate);\n        } else {\n          DOM.unbind(window, 'resize', globalEventDelegate);\n          DOM.unbind(window, 'scroll', globalEventDelegate);\n        }\n        boundGlobalEvents = state;\n      }\n    };\n    const removeEditorFromList = targetEditor => {\n      const oldEditors = editors;\n      editors = filter$5(editors, editor => {\n        return targetEditor !== editor;\n      });\n      if (EditorManager.activeEditor === targetEditor) {\n        EditorManager.activeEditor = editors.length > 0 ? editors[0] : null;\n      }\n      if (EditorManager.focusedEditor === targetEditor) {\n        EditorManager.focusedEditor = null;\n      }\n      return oldEditors.length !== editors.length;\n    };\n    const purgeDestroyedEditor = editor => {\n      if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) {\n        removeEditorFromList(editor);\n        editor.unbindAllNativeEvents();\n        editor.destroy(true);\n        editor.removed = true;\n      }\n    };\n    const isQuirksMode = document.compatMode !== 'CSS1Compat';\n    const EditorManager = {\n      ...Observable,\n      baseURI: null,\n      baseURL: null,\n      defaultOptions: {},\n      documentBaseURL: null,\n      suffix: null,\n      majorVersion: '6',\n      minorVersion: '8.4',\n      releaseDate: '2024-06-19',\n      i18n: I18n,\n      activeEditor: null,\n      focusedEditor: null,\n      setup() {\n        const self = this;\n        let baseURL = '';\n        let suffix = '';\n        let documentBaseURL = URI.getDocumentBaseUrl(document.location);\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(documentBaseURL)) {\n          documentBaseURL = documentBaseURL.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(documentBaseURL)) {\n            documentBaseURL += '/';\n          }\n        }\n        const preInit = window.tinymce || window.tinyMCEPreInit;\n        if (preInit) {\n          baseURL = preInit.base || preInit.baseURL;\n          suffix = preInit.suffix;\n        } else {\n          const scripts = document.getElementsByTagName('script');\n          for (let i = 0; i < scripts.length; i++) {\n            const src = scripts[i].src || '';\n            if (src === '') {\n              continue;\n            }\n            const srcScript = src.substring(src.lastIndexOf('/'));\n            if (/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(src)) {\n              if (srcScript.indexOf('.min') !== -1) {\n                suffix = '.min';\n              }\n              baseURL = src.substring(0, src.lastIndexOf('/'));\n              break;\n            }\n          }\n          if (!baseURL && document.currentScript) {\n            const src = document.currentScript.src;\n            if (src.indexOf('.min') !== -1) {\n              suffix = '.min';\n            }\n            baseURL = src.substring(0, src.lastIndexOf('/'));\n          }\n        }\n        self.baseURL = new URI(documentBaseURL).toAbsolute(baseURL);\n        self.documentBaseURL = documentBaseURL;\n        self.baseURI = new URI(self.baseURL);\n        self.suffix = suffix;\n        setup$w(self);\n      },\n      overrideDefaults(defaultOptions) {\n        const baseUrl = defaultOptions.base_url;\n        if (baseUrl) {\n          this._setBaseUrl(baseUrl);\n        }\n        const suffix = defaultOptions.suffix;\n        if (suffix) {\n          this.suffix = suffix;\n        }\n        this.defaultOptions = defaultOptions;\n        const pluginBaseUrls = defaultOptions.plugin_base_urls;\n        if (pluginBaseUrls !== undefined) {\n          each$d(pluginBaseUrls, (pluginBaseUrl, pluginName) => {\n            AddOnManager.PluginManager.urls[pluginName] = pluginBaseUrl;\n          });\n        }\n      },\n      init(options) {\n        const self = this;\n        let result;\n        const invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu', ' ');\n        const isInvalidInlineTarget = (options, elm) => options.inline && elm.tagName.toLowerCase() in invalidInlineTargets;\n        const createId = elm => {\n          let id = elm.id;\n          if (!id) {\n            id = get$a(elm, 'name').filter(name => !DOM.get(name)).getOrThunk(DOM.uniqueId);\n            elm.setAttribute('id', id);\n          }\n          return id;\n        };\n        const execCallback = name => {\n          const callback = options[name];\n          if (!callback) {\n            return;\n          }\n          return callback.apply(self, []);\n        };\n        const findTargets = options => {\n          if (Env.browser.isIE() || Env.browser.isEdge()) {\n            initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers');\n            return [];\n          } else if (isQuirksMode) {\n            initError('Failed to initialize the editor as the document is not in standards mode. ' + 'TinyMCE requires standards mode.');\n            return [];\n          } else if (isString(options.selector)) {\n            return DOM.select(options.selector);\n          } else if (isNonNullable(options.target)) {\n            return [options.target];\n          } else {\n            return [];\n          }\n        };\n        let provideResults = editors => {\n          result = editors;\n        };\n        const initEditors = () => {\n          let initCount = 0;\n          const editors = [];\n          let targets;\n          const createEditor = (id, options, targetElm) => {\n            const editor = new Editor(id, options, self);\n            editors.push(editor);\n            editor.on('init', () => {\n              if (++initCount === targets.length) {\n                provideResults(editors);\n              }\n            });\n            editor.targetElm = editor.targetElm || targetElm;\n            editor.render();\n          };\n          DOM.unbind(window, 'ready', initEditors);\n          execCallback('onpageload');\n          targets = unique$1(findTargets(options));\n          Tools.each(targets, elm => {\n            purgeDestroyedEditor(self.get(elm.id));\n          });\n          targets = Tools.grep(targets, elm => {\n            return !self.get(elm.id);\n          });\n          if (targets.length === 0) {\n            provideResults([]);\n          } else {\n            each(targets, elm => {\n              if (isInvalidInlineTarget(options, elm)) {\n                initError('Could not initialize inline editor on invalid inline target element', elm);\n              } else {\n                createEditor(createId(elm), options, elm);\n              }\n            });\n          }\n        };\n        DOM.bind(window, 'ready', initEditors);\n        return new Promise(resolve => {\n          if (result) {\n            resolve(result);\n          } else {\n            provideResults = editors => {\n              resolve(editors);\n            };\n          }\n        });\n      },\n      get(id) {\n        if (arguments.length === 0) {\n          return editors.slice(0);\n        } else if (isString(id)) {\n          return find$2(editors, editor => {\n            return editor.id === id;\n          }).getOr(null);\n        } else if (isNumber(id)) {\n          return editors[id] ? editors[id] : null;\n        } else {\n          return null;\n        }\n      },\n      add(editor) {\n        const self = this;\n        const existingEditor = self.get(editor.id);\n        if (existingEditor === editor) {\n          return editor;\n        }\n        if (existingEditor === null) {\n          editors.push(editor);\n        }\n        toggleGlobalEvents(true);\n        self.activeEditor = editor;\n        self.dispatch('AddEditor', {\n          editor\n        });\n        if (!beforeUnloadDelegate) {\n          beforeUnloadDelegate = e => {\n            const event = self.dispatch('BeforeUnload');\n            if (event.returnValue) {\n              e.preventDefault();\n              e.returnValue = event.returnValue;\n              return event.returnValue;\n            }\n          };\n          window.addEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        return editor;\n      },\n      createEditor(id, options) {\n        return this.add(new Editor(id, options, this));\n      },\n      remove(selector) {\n        const self = this;\n        let editor;\n        if (!selector) {\n          for (let i = editors.length - 1; i >= 0; i--) {\n            self.remove(editors[i]);\n          }\n          return;\n        }\n        if (isString(selector)) {\n          each(DOM.select(selector), elm => {\n            editor = self.get(elm.id);\n            if (editor) {\n              self.remove(editor);\n            }\n          });\n          return;\n        }\n        editor = selector;\n        if (isNull(self.get(editor.id))) {\n          return null;\n        }\n        if (removeEditorFromList(editor)) {\n          self.dispatch('RemoveEditor', {\n            editor\n          });\n        }\n        if (editors.length === 0) {\n          window.removeEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        editor.remove();\n        toggleGlobalEvents(editors.length > 0);\n        return editor;\n      },\n      execCommand(cmd, ui, value) {\n        var _a;\n        const self = this;\n        const editorId = isObject(value) ? (_a = value.id) !== null && _a !== void 0 ? _a : value.index : value;\n        switch (cmd) {\n          case 'mceAddEditor':\n            {\n              if (!self.get(editorId)) {\n                const editorOptions = value.options;\n                new Editor(editorId, editorOptions, self).render();\n              }\n              return true;\n            }\n          case 'mceRemoveEditor':\n            {\n              const editor = self.get(editorId);\n              if (editor) {\n                editor.remove();\n              }\n              return true;\n            }\n          case 'mceToggleEditor':\n            {\n              const editor = self.get(editorId);\n              if (!editor) {\n                self.execCommand('mceAddEditor', false, value);\n                return true;\n              }\n              if (editor.isHidden()) {\n                editor.show();\n              } else {\n                editor.hide();\n              }\n              return true;\n            }\n        }\n        if (self.activeEditor) {\n          return self.activeEditor.execCommand(cmd, ui, value);\n        }\n        return false;\n      },\n      triggerSave: () => {\n        each(editors, editor => {\n          editor.save();\n        });\n      },\n      addI18n: (code, items) => {\n        I18n.add(code, items);\n      },\n      translate: text => {\n        return I18n.translate(text);\n      },\n      setActive(editor) {\n        const activeEditor = this.activeEditor;\n        if (this.activeEditor !== editor) {\n          if (activeEditor) {\n            activeEditor.dispatch('deactivate', {\n              relatedTarget: editor\n            });\n          }\n          editor.dispatch('activate', {\n            relatedTarget: activeEditor\n          });\n        }\n        this.activeEditor = editor;\n      },\n      _setBaseUrl(baseUrl) {\n        this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\\/+$/, ''));\n        this.baseURI = new URI(this.baseURL);\n      }\n    };\n    EditorManager.setup();\n\n    const setup = () => {\n      const dataValue = value$2();\n      const FakeClipboardItem = items => ({\n        items,\n        types: keys(items),\n        getType: type => get$a(items, type).getOrUndefined()\n      });\n      const write = data => {\n        dataValue.set(data);\n      };\n      const read = () => dataValue.get().getOrUndefined();\n      const clear = dataValue.clear;\n      return {\n        FakeClipboardItem,\n        write,\n        read,\n        clear\n      };\n    };\n    const FakeClipboard = setup();\n\n    const min = Math.min,\n      max = Math.max,\n      round = Math.round;\n    const relativePosition = (rect, targetRect, rel) => {\n      let x = targetRect.x;\n      let y = targetRect.y;\n      const w = rect.w;\n      const h = rect.h;\n      const targetW = targetRect.w;\n      const targetH = targetRect.h;\n      const relChars = (rel || '').split('');\n      if (relChars[0] === 'b') {\n        y += targetH;\n      }\n      if (relChars[1] === 'r') {\n        x += targetW;\n      }\n      if (relChars[0] === 'c') {\n        y += round(targetH / 2);\n      }\n      if (relChars[1] === 'c') {\n        x += round(targetW / 2);\n      }\n      if (relChars[3] === 'b') {\n        y -= h;\n      }\n      if (relChars[4] === 'r') {\n        x -= w;\n      }\n      if (relChars[3] === 'c') {\n        y -= round(h / 2);\n      }\n      if (relChars[4] === 'c') {\n        x -= round(w / 2);\n      }\n      return create$2(x, y, w, h);\n    };\n    const findBestRelativePosition = (rect, targetRect, constrainRect, rels) => {\n      for (let i = 0; i < rels.length; i++) {\n        const pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    const inflate = (rect, w, h) => {\n      return create$2(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);\n    };\n    const intersect = (rect, cropRect) => {\n      const x1 = max(rect.x, cropRect.x);\n      const y1 = max(rect.y, cropRect.y);\n      const x2 = min(rect.x + rect.w, cropRect.x + cropRect.w);\n      const y2 = min(rect.y + rect.h, cropRect.y + cropRect.h);\n      if (x2 - x1 < 0 || y2 - y1 < 0) {\n        return null;\n      }\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const clamp = (rect, clampRect, fixedSize) => {\n      let x1 = rect.x;\n      let y1 = rect.y;\n      let x2 = rect.x + rect.w;\n      let y2 = rect.y + rect.h;\n      const cx2 = clampRect.x + clampRect.w;\n      const cy2 = clampRect.y + clampRect.h;\n      const underflowX1 = max(0, clampRect.x - x1);\n      const underflowY1 = max(0, clampRect.y - y1);\n      const overflowX2 = max(0, x2 - cx2);\n      const overflowY2 = max(0, y2 - cy2);\n      x1 += underflowX1;\n      y1 += underflowY1;\n      if (fixedSize) {\n        x2 += underflowX1;\n        y2 += underflowY1;\n        x1 -= overflowX2;\n        y1 -= overflowY2;\n      }\n      x2 -= overflowX2;\n      y2 -= overflowY2;\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const create$2 = (x, y, w, h) => {\n      return {\n        x,\n        y,\n        w,\n        h\n      };\n    };\n    const fromClientRect = clientRect => {\n      return create$2(clientRect.left, clientRect.top, clientRect.width, clientRect.height);\n    };\n    const Rect = {\n      inflate,\n      relativePosition,\n      findBestRelativePosition,\n      intersect,\n      clamp,\n      create: create$2,\n      fromClientRect\n    };\n\n    const awaiter = (resolveCb, rejectCb, timeout = 1000) => {\n      let done = false;\n      let timer = null;\n      const complete = completer => (...args) => {\n        if (!done) {\n          done = true;\n          if (timer !== null) {\n            clearTimeout(timer);\n            timer = null;\n          }\n          completer.apply(null, args);\n        }\n      };\n      const resolve = complete(resolveCb);\n      const reject = complete(rejectCb);\n      const start = (...args) => {\n        if (!done && timer === null) {\n          timer = setTimeout(() => reject.apply(null, args), timeout);\n        }\n      };\n      return {\n        start,\n        resolve,\n        reject\n      };\n    };\n    const create$1 = () => {\n      const tasks = {};\n      const resultFns = {};\n      const resources = {};\n      const load = (id, url) => {\n        const loadErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" failed to load\");\n        const runErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" did not call `tinymce.Resource.add('\").concat(id, \"', data)` within 1 second\");\n        if (tasks[id] !== undefined) {\n          return tasks[id];\n        } else {\n          const task = new Promise((resolve, reject) => {\n            const waiter = awaiter(resolve, reject);\n            resultFns[id] = waiter.resolve;\n            ScriptLoader.ScriptLoader.loadScript(url).then(() => waiter.start(runErrMsg), () => waiter.reject(loadErrMsg));\n          });\n          tasks[id] = task;\n          return task;\n        }\n      };\n      const add = (id, data) => {\n        if (resultFns[id] !== undefined) {\n          resultFns[id](data);\n          delete resultFns[id];\n        }\n        tasks[id] = Promise.resolve(data);\n        resources[id] = data;\n      };\n      const has = id => {\n        return id in resources;\n      };\n      const unload = id => {\n        delete tasks[id];\n      };\n      const get = id => resources[id];\n      return {\n        load,\n        add,\n        has,\n        get,\n        unload\n      };\n    };\n    const Resource = create$1();\n\n    const create = () => (() => {\n      let data = {};\n      let keys = [];\n      const storage = {\n        getItem: key => {\n          const item = data[key];\n          return item ? item : null;\n        },\n        setItem: (key, value) => {\n          keys.push(key);\n          data[key] = String(value);\n        },\n        key: index => {\n          return keys[index];\n        },\n        removeItem: key => {\n          keys = keys.filter(k => k === key);\n          delete data[key];\n        },\n        clear: () => {\n          keys = [];\n          data = {};\n        },\n        length: 0\n      };\n      Object.defineProperty(storage, 'length', {\n        get: () => keys.length,\n        configurable: false,\n        enumerable: false\n      });\n      return storage;\n    })();\n\n    let localStorage;\n    try {\n      const test = '__storage_test__';\n      localStorage = window.localStorage;\n      localStorage.setItem(test, test);\n      localStorage.removeItem(test);\n    } catch (e) {\n      localStorage = create();\n    }\n    var LocalStorage = localStorage;\n\n    const publicApi = {\n      geom: {\n        Rect\n      },\n      util: {\n        Delay,\n        Tools,\n        VK,\n        URI,\n        EventDispatcher,\n        Observable,\n        I18n,\n        LocalStorage,\n        ImageUploader\n      },\n      dom: {\n        EventUtils,\n        TreeWalker: DomTreeWalker,\n        TextSeeker,\n        DOMUtils,\n        ScriptLoader,\n        RangeUtils,\n        Serializer: DomSerializer,\n        StyleSheetLoader,\n        ControlSelection,\n        BookmarkManager,\n        Selection: EditorSelection,\n        Event: EventUtils.Event\n      },\n      html: {\n        Styles,\n        Entities,\n        Node: AstNode,\n        Schema,\n        DomParser,\n        Writer,\n        Serializer: HtmlSerializer\n      },\n      Env,\n      AddOnManager,\n      Annotator,\n      Formatter,\n      UndoManager,\n      EditorCommands,\n      WindowManager,\n      NotificationManager,\n      EditorObservable,\n      Shortcuts,\n      Editor,\n      FocusManager,\n      EditorManager,\n      DOM: DOMUtils.DOM,\n      ScriptLoader: ScriptLoader.ScriptLoader,\n      PluginManager,\n      ThemeManager,\n      ModelManager,\n      IconManager,\n      Resource,\n      FakeClipboard,\n      trim: Tools.trim,\n      isArray: Tools.isArray,\n      is: Tools.is,\n      toArray: Tools.toArray,\n      makeMap: Tools.makeMap,\n      each: Tools.each,\n      map: Tools.map,\n      grep: Tools.grep,\n      inArray: Tools.inArray,\n      extend: Tools.extend,\n      walk: Tools.walk,\n      resolve: Tools.resolve,\n      explode: Tools.explode,\n      _addCacheSuffix: Tools._addCacheSuffix\n    };\n    const tinymce$1 = Tools.extend(EditorManager, publicApi);\n\n    const exportToModuleLoaders = tinymce => {\n      if (typeof module === 'object') {\n        try {\n          module.exports = tinymce;\n        } catch (_) {}\n      }\n    };\n    const exportToWindowGlobal = tinymce => {\n      window.tinymce = tinymce;\n      window.tinyMCE = tinymce;\n    };\n    if (!(window.tinymce || window.tinyMCE)) {\n      exportToWindowGlobal(tinymce$1);\n    }\n    exportToModuleLoaders(tinymce$1);\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each$1(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$1(children(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children$1 = children(wrapper);\n      if (children$1.length > 0) {\n        after(wrapper, children$1);\n      }\n      remove(wrapper);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    };\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe, element);\n    };\n\n    const fireToggleAccordionEvent = (editor, element, state) => editor.dispatch('ToggledAccordion', {\n      element,\n      state\n    });\n    const fireToggleAllAccordionsEvent = (editor, elements, state) => editor.dispatch('ToggledAllAccordions', {\n      elements,\n      state\n    });\n\n    const accordionTag = 'details';\n    const accordionDetailsClass = 'mce-accordion';\n    const accordionSummaryClass = 'mce-accordion-summary';\n    const accordionBodyWrapperClass = 'mce-accordion-body';\n    const accordionBodyWrapperTag = 'div';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const isSummary = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'SUMMARY';\n    const isDetails = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'DETAILS';\n    const isOpen = details => details.hasAttribute('open');\n    const isInSummary = editor => {\n      const node = editor.selection.getNode();\n      return isSummary(node) || Boolean(editor.dom.getParent(node, isSummary));\n    };\n    const isAtDetailsStart = editor => {\n      const rng = editor.selection.getRng();\n      return isDetails(rng.startContainer) && rng.collapsed && rng.startOffset === 0;\n    };\n    const isInsertAllowed = editor => !isInSummary(editor) && editor.dom.isEditable(editor.selection.getNode());\n    const getSelectedDetails = editor => Optional.from(editor.dom.getParent(editor.selection.getNode(), isDetails));\n    const isDetailsSelected = editor => getSelectedDetails(editor).isSome();\n    const insertBogus = element => {\n      element.innerHTML = '<br data-mce-bogus=\"1\" />';\n      return element;\n    };\n    const createParagraph = editor => insertBogus(editor.dom.create('p'));\n    const createSummary = editor => insertBogus(editor.dom.create('summary'));\n    const insertAndSelectParagraphAfter = (editor, target) => {\n      const paragraph = createParagraph(editor);\n      target.insertAdjacentElement('afterend', paragraph);\n      editor.selection.setCursorLocation(paragraph, 0);\n    };\n    const normalizeContent = (editor, accordion) => {\n      if (isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.lastChild)) {\n        const paragraph = createParagraph(editor);\n        accordion.appendChild(paragraph);\n        editor.selection.setCursorLocation(paragraph, 0);\n      }\n    };\n    const normalizeSummary = (editor, accordion) => {\n      if (!isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.firstChild)) {\n        const summary = createSummary(editor);\n        accordion.prepend(summary);\n        editor.selection.setCursorLocation(summary, 0);\n      }\n    };\n    const normalizeAccordion = editor => accordion => {\n      normalizeContent(editor, accordion);\n      normalizeSummary(editor, accordion);\n    };\n    const normalizeDetails = editor => {\n      global$3.each(global$3.grep(editor.dom.select('details', editor.getBody())), normalizeAccordion(editor));\n    };\n\n    const insertAccordion = editor => {\n      if (!isInsertAllowed(editor)) {\n        return;\n      }\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const uid = generate('acc');\n      const summaryText = editor.dom.encode(editor.selection.getRng().toString() || editor.translate('Accordion summary...'));\n      const bodyText = editor.dom.encode(editor.translate('Accordion body...'));\n      const accordionSummaryHtml = \"<summary class=\\\"\".concat(accordionSummaryClass, \"\\\">\").concat(summaryText, \"<\/summary>\");\n      const accordionBodyHtml = \"<\".concat(accordionBodyWrapperTag, \" class=\\\"\").concat(accordionBodyWrapperClass, \"\\\"><p>\").concat(bodyText, \"<\/p><\/\").concat(accordionBodyWrapperTag, \">\");\n      editor.undoManager.transact(() => {\n        editor.insertContent([\"<details data-mce-id=\\\"\".concat(uid, \"\\\" class=\\\"\").concat(accordionDetailsClass, \"\\\" open=\\\"open\\\">\"), accordionSummaryHtml, accordionBodyHtml, \"<\/details>\"].join(''));\n        descendant(editorBody, \"[data-mce-id=\\\"\".concat(uid, \"\\\"]\")).each(detailsElm => {\n          remove$2(detailsElm, 'data-mce-id');\n          descendant(detailsElm, \"summary\").each(summaryElm => {\n            const rng = editor.dom.createRng();\n            const des = freefallRtl(summaryElm);\n            rng.setStart(des.element.dom, des.offset);\n            rng.setEnd(des.element.dom, des.offset);\n            editor.selection.setRng(rng);\n          });\n        });\n      });\n    };\n    const toggleDetailsElement = (details, state) => {\n      const shouldOpen = state !== null && state !== void 0 ? state : !isOpen(details);\n      if (shouldOpen) {\n        details.setAttribute('open', 'open');\n      } else {\n        details.removeAttribute('open');\n      }\n      return shouldOpen;\n    };\n    const toggleAccordion = (editor, state) => {\n      getSelectedDetails(editor).each(details => {\n        fireToggleAccordionEvent(editor, details, toggleDetailsElement(details, state));\n      });\n    };\n    const removeAccordion = editor => {\n      getSelectedDetails(editor).each(details => {\n        const {\n          nextSibling\n        } = details;\n        if (nextSibling) {\n          editor.selection.select(nextSibling, true);\n          editor.selection.collapse(true);\n        } else {\n          insertAndSelectParagraphAfter(editor, details);\n        }\n        details.remove();\n      });\n    };\n    const toggleAllAccordions = (editor, state) => {\n      const accordions = Array.from(editor.getBody().querySelectorAll('details'));\n      if (accordions.length === 0) {\n        return;\n      }\n      each$1(accordions, accordion => toggleDetailsElement(accordion, state !== null && state !== void 0 ? state : !isOpen(accordion)));\n      fireToggleAllAccordionsEvent(editor, accordions, state);\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('InsertAccordion', () => insertAccordion(editor));\n      editor.addCommand('ToggleAccordion', (_ui, value) => toggleAccordion(editor, value));\n      editor.addCommand('ToggleAllAccordions', (_ui, value) => toggleAllAccordions(editor, value));\n      editor.addCommand('RemoveAccordion', () => removeAccordion(editor));\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const getClassList = node => {\n      var _a, _b;\n      return (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n    };\n    const addClasses = (node, classes) => {\n      const classListSet = new Set([...getClassList(node), ...classes]);\n      const newClassList = Array.from(classListSet);\n      if (newClassList.length > 0) {\n        node.attr('class', newClassList.join(' '));\n      }\n    };\n    const removeClasses = (node, classes) => {\n      const newClassList = filter(getClassList(node), clazz => !classes.has(clazz));\n      node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n    };\n    const isAccordionDetailsNode = node => node.name === accordionTag && contains(getClassList(node), accordionDetailsClass);\n    const isAccordionBodyWrapperNode = node => node.name === accordionBodyWrapperTag && contains(getClassList(node), accordionBodyWrapperClass);\n    const getAccordionChildren = accordionNode => {\n      const children = accordionNode.children();\n      let summaryNode;\n      let wrapperNode;\n      const otherNodes = [];\n      for (let i = 0; i < children.length; i++) {\n        const child = children[i];\n        if (child.name === 'summary' && isNullable(summaryNode)) {\n          summaryNode = child;\n        } else if (isAccordionBodyWrapperNode(child) && isNullable(wrapperNode)) {\n          wrapperNode = child;\n        } else {\n          otherNodes.push(child);\n        }\n      }\n      return {\n        summaryNode,\n        wrapperNode,\n        otherNodes\n      };\n    };\n    const padInputNode = node => {\n      const br = new global$2('br', 1);\n      br.attr('data-mce-bogus', '1');\n      node.empty();\n      node.append(br);\n    };\n    const setup$2 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          serializer,\n          parser\n        } = editor;\n        parser.addNodeFilter(accordionTag, nodes => {\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode,\n                otherNodes\n              } = getAccordionChildren(accordionNode);\n              const hasSummaryNode = isNonNullable(summaryNode);\n              const newSummaryNode = hasSummaryNode ? summaryNode : new global$2('summary', 1);\n              if (isNullable(newSummaryNode.firstChild)) {\n                padInputNode(newSummaryNode);\n              }\n              addClasses(newSummaryNode, [accordionSummaryClass]);\n              if (!hasSummaryNode) {\n                if (isNonNullable(accordionNode.firstChild)) {\n                  accordionNode.insert(newSummaryNode, accordionNode.firstChild, true);\n                } else {\n                  accordionNode.append(newSummaryNode);\n                }\n              }\n              const hasWrapperNode = isNonNullable(wrapperNode);\n              const newWrapperNode = hasWrapperNode ? wrapperNode : new global$2(accordionBodyWrapperTag, 1);\n              newWrapperNode.attr('data-mce-bogus', '1');\n              addClasses(newWrapperNode, [accordionBodyWrapperClass]);\n              if (otherNodes.length > 0) {\n                for (let j = 0; j < otherNodes.length; j++) {\n                  const otherNode = otherNodes[j];\n                  newWrapperNode.append(otherNode);\n                }\n              }\n              if (isNullable(newWrapperNode.firstChild)) {\n                const pNode = new global$2('p', 1);\n                padInputNode(pNode);\n                newWrapperNode.append(pNode);\n              }\n              if (!hasWrapperNode) {\n                accordionNode.append(newWrapperNode);\n              }\n            }\n          }\n        });\n        serializer.addNodeFilter(accordionTag, nodes => {\n          const summaryClassRemoveSet = new Set([accordionSummaryClass]);\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode\n              } = getAccordionChildren(accordionNode);\n              if (isNonNullable(summaryNode)) {\n                removeClasses(summaryNode, summaryClassRemoveSet);\n              }\n              if (isNonNullable(wrapperNode)) {\n                wrapperNode.unwrap();\n              }\n            }\n          }\n        });\n      });\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setupEnterKeyInSummary = editor => {\n      editor.on('keydown', event => {\n        if (!event.shiftKey && event.keyCode === global$1.ENTER && isInSummary(editor) || isAtDetailsStart(editor)) {\n          event.preventDefault();\n          editor.execCommand('ToggleAccordion');\n        }\n      });\n    };\n    const setup$1 = editor => {\n      setupEnterKeyInSummary(editor);\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && isDetailsSelected(editor)) {\n          normalizeDetails(editor);\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const setup = editor => {\n      if (global.browser.isSafari()) {\n        editor.on('click', e => {\n          if (isSummary(e.target)) {\n            const summary = e.target;\n            const rng = editor.selection.getRng();\n            if (rng.collapsed && rng.startContainer === summary.parentNode && rng.startOffset === 0) {\n              editor.selection.setCursorLocation(summary, 0);\n            }\n          }\n        });\n      }\n    };\n\n    const onSetup = editor => buttonApi => {\n      const onNodeChange = () => buttonApi.setEnabled(isInsertAllowed(editor));\n      editor.on('NodeChange', onNodeChange);\n      return () => editor.off('NodeChange', onNodeChange);\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('InsertAccordion');\n      editor.ui.registry.addButton('accordion', {\n        icon: 'accordion',\n        tooltip: 'Insert accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addMenuItem('accordion', {\n        icon: 'accordion',\n        text: 'Accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addToggleButton('accordiontoggle', {\n        icon: 'accordion-toggle',\n        tooltip: 'Toggle accordion',\n        onAction: () => editor.execCommand('ToggleAccordion')\n      });\n      editor.ui.registry.addToggleButton('accordionremove', {\n        icon: 'remove',\n        tooltip: 'Delete accordion',\n        onAction: () => editor.execCommand('RemoveAccordion')\n      });\n      editor.ui.registry.addContextToolbar('accordion', {\n        predicate: accordion => editor.dom.is(accordion, 'details') && editor.getBody().contains(accordion) && editor.dom.isEditable(accordion.parentNode),\n        items: 'accordiontoggle accordionremove',\n        scope: 'node',\n        position: 'node'\n      });\n    };\n\n    var Plugin = () => {\n      global$4.add('accordion', editor => {\n        register(editor);\n        register$1(editor);\n        setup$1(editor);\n        setup$2(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const applyListFormat = (editor, listName, styleValue) => {\n      const cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';\n      editor.execCommand(cmd, false, styleValue === false ? null : {\n        'list-style-type': styleValue\n      });\n    };\n\n    const register$2 = editor => {\n      editor.addCommand('ApplyUnorderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'UL', value['list-style-type']);\n      });\n      editor.addCommand('ApplyOrderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'OL', value['list-style-type']);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('advlist_number_styles', {\n        processor: 'string[]',\n        default: 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman'.split(',')\n      });\n      registerOption('advlist_bullet_styles', {\n        processor: 'string[]',\n        default: 'default,circle,square'.split(',')\n      });\n    };\n    const getNumberStyles = option('advlist_number_styles');\n    const getBulletStyles = option('advlist_bullet_styles');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const isChildOfBody = (editor, elm) => {\n      return editor.dom.isChildOf(elm, editor.getBody());\n    };\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const inList = (editor, parents, nodeName) => findUntil(parents, parent => isListNode(parent) && !isCustomList(parent), isTableCellNode).exists(list => list.nodeName === nodeName && isChildOfBody(editor, list));\n    const getSelectedStyleType = editor => {\n      const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n      const style = editor.dom.getStyle(listElm, 'listStyleType');\n      return Optional.from(style);\n    };\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList) && editor.selection.isEditable();\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const styleValueToText = styleValue => {\n      return styleValue.replace(/\\-/g, ' ').replace(/\\b\\w/g, chr => {\n        return chr.toUpperCase();\n      });\n    };\n    const normalizeStyleValue = styleValue => isNullable(styleValue) || styleValue === 'default' ? '' : styleValue;\n    const makeSetupHandler = (editor, nodeName) => api => {\n      const updateButtonState = (editor, parents) => {\n        const element = editor.selection.getStart(true);\n        api.setActive(inList(editor, parents, nodeName));\n        api.setEnabled(!isWithinNonEditableList(editor, element) && editor.selection.isEditable());\n      };\n      const nodeChangeHandler = e => updateButtonState(editor, e.parents);\n      return setNodeChangeHandler(editor, nodeChangeHandler);\n    };\n    const addSplitButton = (editor, id, tooltip, cmd, nodeName, styles) => {\n      editor.ui.registry.addSplitButton(id, {\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        presets: 'listpreview',\n        columns: 3,\n        fetch: callback => {\n          const items = global.map(styles, styleValue => {\n            const iconStyle = nodeName === 'OL' ? 'num' : 'bull';\n            const iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue;\n            const itemValue = normalizeStyleValue(styleValue);\n            const displayText = styleValueToText(styleValue);\n            return {\n              type: 'choiceitem',\n              value: itemValue,\n              icon: 'list-' + iconStyle + '-' + iconName,\n              text: displayText\n            };\n          });\n          callback(items);\n        },\n        onAction: () => editor.execCommand(cmd),\n        onItemAction: (_splitButtonApi, value) => {\n          applyListFormat(editor, nodeName, value);\n        },\n        select: value => {\n          const listStyleType = getSelectedStyleType(editor);\n          return listStyleType.map(listStyle => value === listStyle).getOr(false);\n        },\n        onSetup: makeSetupHandler(editor, nodeName)\n      });\n    };\n    const addButton = (editor, id, tooltip, cmd, nodeName, styleValue) => {\n      editor.ui.registry.addToggleButton(id, {\n        active: false,\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        onSetup: makeSetupHandler(editor, nodeName),\n        onAction: () => editor.queryCommandState(cmd) || styleValue === '' ? editor.execCommand(cmd) : applyListFormat(editor, nodeName, styleValue)\n      });\n    };\n    const addControl = (editor, id, tooltip, cmd, nodeName, styles) => {\n      if (styles.length > 1) {\n        addSplitButton(editor, id, tooltip, cmd, nodeName, styles);\n      } else {\n        addButton(editor, id, tooltip, cmd, nodeName, normalizeStyleValue(styles[0]));\n      }\n    };\n    const register = editor => {\n      addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor));\n      addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor));\n    };\n\n    var Plugin = () => {\n      global$1.add('advlist', editor => {\n        if (editor.hasPlugin('lists')) {\n          register$1(editor);\n          register(editor);\n          register$2(editor);\n        } else {\n          console.error('Please use the Lists plugin together with the Advanced List plugin.');\n        }\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var Plugin = () => {\n      global.add('align_listitems', editor => {\n        const addListStylePosition = node => node ? editor.dom.setStyle(node, 'list-style-position', 'inside') : null;\n        editor.on('ExecCommand', ({\n          command,\n          target\n        }) => {\n          let tag;\n          switch (command) {\n            case 'InsertOrderedList':\n              tag = 'ol';\n              break;\n            case 'InsertUnorderedList':\n              tag = 'ul';\n              break;\n            default:\n              return;\n          }\n          const node = target.selection.getStart().closest(tag);\n          addListStylePosition(node);\n        });\n        editor.on('PastePostProcess', ({\n          node\n        }) => {\n          const nodes = [...node.querySelectorAll('ol,ul')];\n          nodes.forEach(addListStylePosition);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const allowHtmlInNamedAnchor = option('allow_html_in_named_anchor');\n\n    const namedAnchorSelector = 'a:not([href])';\n    const isEmptyString = str => !str;\n    const getIdFromAnchor = elm => {\n      const id = elm.getAttribute('id') || elm.getAttribute('name');\n      return id || '';\n    };\n    const isAnchor = elm => elm.nodeName.toLowerCase() === 'a';\n    const isNamedAnchor = elm => isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== '';\n    const isEmptyNamedAnchor = elm => isNamedAnchor(elm) && !elm.firstChild;\n\n    const removeEmptyNamedAnchorsInSelection = editor => {\n      const dom = editor.dom;\n      global$1(dom).walk(editor.selection.getRng(), nodes => {\n        global.each(nodes, node => {\n          if (isEmptyNamedAnchor(node)) {\n            dom.remove(node, false);\n          }\n        });\n      });\n    };\n    const isValidId = id => /^[A-Za-z][A-Za-z0-9\\-:._]*$/.test(id);\n    const getNamedAnchor = editor => editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector);\n    const getId = editor => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        return getIdFromAnchor(anchor);\n      } else {\n        return '';\n      }\n    };\n    const createAnchor = (editor, id) => {\n      editor.undoManager.transact(() => {\n        if (!allowHtmlInNamedAnchor(editor)) {\n          editor.selection.collapse(true);\n        }\n        if (editor.selection.isCollapsed()) {\n          editor.insertContent(editor.dom.createHTML('a', {\n            id\n          }));\n        } else {\n          removeEmptyNamedAnchorsInSelection(editor);\n          editor.formatter.remove('namedAnchor', undefined, undefined, true);\n          editor.formatter.apply('namedAnchor', {\n            value: id\n          });\n          editor.addVisual();\n        }\n      });\n    };\n    const updateAnchor = (editor, id, anchorElement) => {\n      anchorElement.removeAttribute('name');\n      anchorElement.id = id;\n      editor.addVisual();\n      editor.undoManager.add();\n    };\n    const insert = (editor, id) => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        updateAnchor(editor, id, anchor);\n      } else {\n        createAnchor(editor, id);\n      }\n      editor.focus();\n    };\n\n    const insertAnchor = (editor, newId) => {\n      if (!isValidId(newId)) {\n        editor.windowManager.alert('ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');\n        return false;\n      } else {\n        insert(editor, newId);\n        return true;\n      }\n    };\n    const open = editor => {\n      const currentId = getId(editor);\n      editor.windowManager.open({\n        title: 'Anchor',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'id',\n            type: 'input',\n            label: 'ID',\n            placeholder: 'example'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          id: currentId\n        },\n        onSubmit: api => {\n          if (insertAnchor(editor, api.getData().id)) {\n            api.close();\n          }\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceAnchor', () => {\n        open(editor);\n      });\n    };\n\n    const isNamedAnchorNode = node => isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name'));\n    const isEmptyNamedAnchorNode = node => isNamedAnchorNode(node) && !node.firstChild;\n    const setContentEditable = state => nodes => {\n      for (let i = 0; i < nodes.length; i++) {\n        const node = nodes[i];\n        if (isEmptyNamedAnchorNode(node)) {\n          node.attr('contenteditable', state);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('a', setContentEditable('false'));\n        editor.serializer.addNodeFilter('a', setContentEditable(null));\n      });\n    };\n\n    const registerFormats = editor => {\n      editor.formatter.register('namedAnchor', {\n        inline: 'a',\n        selector: namedAnchorSelector,\n        remove: 'all',\n        split: true,\n        deep: true,\n        attributes: {\n          id: '%value'\n        },\n        onmatch: (node, _fmt, _itemName) => {\n          return isNamedAnchor(node);\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceAnchor');\n      editor.ui.registry.addToggleButton('anchor', {\n        icon: 'bookmark',\n        tooltip: 'Anchor',\n        onAction,\n        onSetup: buttonApi => {\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind;\n          const unbindEditableChanged = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditableChanged();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('anchor', {\n        icon: 'bookmark',\n        text: 'Anchor...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('anchor', editor => {\n        register$2(editor);\n        setup(editor);\n        register$1(editor);\n        register(editor);\n        editor.on('PreInit', () => {\n          registerFormats(editor);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n  'use strict';\n\n  var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n  const link = () => /(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g;\n\n  const option = name => editor => editor.options.get(name);\n  const register = editor => {\n    const registerOption = editor.options.register;\n    registerOption('autolink_pattern', {\n      processor: 'regexp',\n      default: new RegExp('^' + link().source + '$', 'i')\n    });\n    registerOption('link_default_target', {\n      processor: 'string'\n    });\n    registerOption('link_default_protocol', {\n      processor: 'string',\n      default: 'https'\n    });\n  };\n  const getAutoLinkPattern = option('autolink_pattern');\n  const getDefaultLinkTarget = option('link_default_target');\n  const getDefaultLinkProtocol = option('link_default_protocol');\n  const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n\n  const hasProto = (v, constructor, predicate) => {\n    var _a;\n    if (predicate(v, constructor.prototype)) {\n      return true;\n    } else {\n      return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n    }\n  };\n  const typeOf = x => {\n    const t = typeof x;\n    if (x === null) {\n      return 'null';\n    } else if (t === 'object' && Array.isArray(x)) {\n      return 'array';\n    } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n      return 'string';\n    } else {\n      return t;\n    }\n  };\n  const isType = type => value => typeOf(value) === type;\n  const eq = t => a => t === a;\n  const isString = isType('string');\n  const isUndefined = eq(undefined);\n  const isNullable = a => a === null || a === undefined;\n  const isNonNullable = a => !isNullable(a);\n\n  const not = f => t => !f(t);\n\n  const hasOwnProperty = Object.hasOwnProperty;\n  const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n  const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n  const contains = (str, substr, start = 0, end) => {\n    const idx = str.indexOf(substr, start);\n    if (idx !== -1) {\n      return isUndefined(end) ? true : idx + substr.length <= end;\n    } else {\n      return false;\n    }\n  };\n  const startsWith = (str, prefix) => {\n    return checkRange(str, prefix, 0);\n  };\n\n  const zeroWidth = '\\uFEFF';\n  const isZwsp = char => char === zeroWidth;\n  const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n  var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');\n\n  const isTextNode = node => node.nodeType === 3;\n  const isElement = node => node.nodeType === 1;\n  const isBracketOrSpace = char => /^[(\\[{ \\u00a0]$/.test(char);\n  const hasProtocol = url => /^([A-Za-z][A-Za-z\\d.+-]*:\\/\\/)|mailto:/.test(url);\n  const isPunctuation = char => /[?!,.;:]/.test(char);\n  const findChar = (text, index, predicate) => {\n    for (let i = index - 1; i >= 0; i--) {\n      const char = text.charAt(i);\n      if (!isZwsp(char) && predicate(char)) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  const freefallRtl = (container, offset) => {\n    let tempNode = container;\n    let tempOffset = offset;\n    while (isElement(tempNode) && tempNode.childNodes[tempOffset]) {\n      tempNode = tempNode.childNodes[tempOffset];\n      tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length;\n    }\n    return {\n      container: tempNode,\n      offset: tempOffset\n    };\n  };\n\n  const parseCurrentLine = (editor, offset) => {\n    var _a;\n    const voidElements = editor.schema.getVoidElements();\n    const autoLinkPattern = getAutoLinkPattern(editor);\n    const {\n      dom,\n      selection\n    } = editor;\n    if (dom.getParent(selection.getNode(), 'a[href]') !== null) {\n      return null;\n    }\n    const rng = selection.getRng();\n    const textSeeker = global(dom, node => {\n      return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false';\n    });\n    const {\n      container: endContainer,\n      offset: endOffset\n    } = freefallRtl(rng.endContainer, rng.endOffset);\n    const root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n    const endSpot = textSeeker.backwards(endContainer, endOffset + offset, (node, offset) => {\n      const text = node.data;\n      const idx = findChar(text, offset, not(isBracketOrSpace));\n      return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1;\n    }, root);\n    if (!endSpot) {\n      return null;\n    }\n    let lastTextNode = endSpot.container;\n    const startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, (node, offset) => {\n      lastTextNode = node;\n      const idx = findChar(node.data, offset, isBracketOrSpace);\n      return idx === -1 ? idx : idx + 1;\n    }, root);\n    const newRng = dom.createRng();\n    if (!startSpot) {\n      newRng.setStart(lastTextNode, 0);\n    } else {\n      newRng.setStart(startSpot.container, startSpot.offset);\n    }\n    newRng.setEnd(endSpot.container, endSpot.offset);\n    const rngText = removeZwsp(newRng.toString());\n    const matches = rngText.match(autoLinkPattern);\n    if (matches) {\n      let url = matches[0];\n      if (startsWith(url, 'www.')) {\n        const protocol = getDefaultLinkProtocol(editor);\n        url = protocol + '://' + url;\n      } else if (contains(url, '@') && !hasProtocol(url)) {\n        url = 'mailto:' + url;\n      }\n      return {\n        rng: newRng,\n        url\n      };\n    } else {\n      return null;\n    }\n  };\n  const convertToLink = (editor, result) => {\n    const {\n      dom,\n      selection\n    } = editor;\n    const {\n      rng,\n      url\n    } = result;\n    const bookmark = selection.getBookmark();\n    selection.setRng(rng);\n    const command = 'createlink';\n    const args = {\n      command,\n      ui: false,\n      value: url\n    };\n    const beforeExecEvent = editor.dispatch('BeforeExecCommand', args);\n    if (!beforeExecEvent.isDefaultPrevented()) {\n      editor.getDoc().execCommand(command, false, url);\n      editor.dispatch('ExecCommand', args);\n      const defaultLinkTarget = getDefaultLinkTarget(editor);\n      if (isString(defaultLinkTarget)) {\n        const anchor = selection.getNode();\n        dom.setAttrib(anchor, 'target', defaultLinkTarget);\n        if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) {\n          dom.setAttrib(anchor, 'rel', 'noopener');\n        }\n      }\n    }\n    selection.moveToBookmark(bookmark);\n    editor.nodeChanged();\n  };\n  const handleSpacebar = editor => {\n    const result = parseCurrentLine(editor, -1);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const handleBracket = handleSpacebar;\n  const handleEnter = editor => {\n    const result = parseCurrentLine(editor, 0);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const setup = editor => {\n    editor.on('keydown', e => {\n      if (e.keyCode === 13 && !e.isDefaultPrevented()) {\n        handleEnter(editor);\n      }\n    });\n    editor.on('keyup', e => {\n      if (e.keyCode === 32) {\n        handleSpacebar(editor);\n      } else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) {\n        handleBracket(editor);\n      }\n    });\n  };\n\n  var Plugin = () => {\n    global$1.add('autolink', editor => {\n      register(editor);\n      setup(editor);\n    });\n  };\n\n  Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireInsertCustomChar = (editor, chr) => {\n      return editor.dispatch('insertCustomChar', {\n        chr\n      });\n    };\n\n    const insertChar = (editor, chr) => {\n      const evtChr = fireInsertCustomChar(editor, chr).chr;\n      editor.execCommand('mceInsertContent', false, evtChr);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isArray$1 = isType('array');\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      const charMapProcessor = value => isFunction(value) || isArray$1(value);\n      registerOption('charmap', {\n        processor: charMapProcessor\n      });\n      registerOption('charmap_append', {\n        processor: charMapProcessor\n      });\n    };\n    const getCharMap$1 = option('charmap');\n    const getCharMapAppend = option('charmap_append');\n\n    const isArray = global.isArray;\n    const UserDefined = 'User Defined';\n    const getDefaultCharMap = () => {\n      return [{\n        name: 'Currency',\n        characters: [[36, 'dollar sign'], [162, 'cent sign'], [8364, 'euro sign'], [163, 'pound sign'], [165, 'yen sign'], [164, 'currency sign'], [8352, 'euro-currency sign'], [8353, 'colon sign'], [8354, 'cruzeiro sign'], [8355, 'french franc sign'], [8356, 'lira sign'], [8357, 'mill sign'], [8358, 'naira sign'], [8359, 'peseta sign'], [8360, 'rupee sign'], [8361, 'won sign'], [8362, 'new sheqel sign'], [8363, 'dong sign'], [8365, 'kip sign'], [8366, 'tugrik sign'], [8367, 'drachma sign'], [8368, 'german penny symbol'], [8369, 'peso sign'], [8370, 'guarani sign'], [8371, 'austral sign'], [8372, 'hryvnia sign'], [8373, 'cedi sign'], [8374, 'livre tournois sign'], [8375, 'spesmilo sign'], [8376, 'tenge sign'], [8377, 'indian rupee sign'], [8378, 'turkish lira sign'], [8379, 'nordic mark sign'], [8380, 'manat sign'], [8381, 'ruble sign'], [20870, 'yen character'], [20803, 'yuan character'], [22291, 'yuan character, in hong kong and taiwan'], [22278, 'yen/yuan character variant one']]\n      }, {\n        name: 'Text',\n        characters: [[169, 'copyright sign'], [174, 'registered sign'], [8482, 'trade mark sign'], [8240, 'per mille sign'], [181, 'micro sign'], [183, 'middle dot'], [8226, 'bullet'], [8230, 'three dot leader'], [8242, 'minutes / feet'], [8243, 'seconds / inches'], [167, 'section sign'], [182, 'paragraph sign'], [223, 'sharp s / ess-zed']]\n      }, {\n        name: 'Quotations',\n        characters: [[8249, 'single left-pointing angle quotation mark'], [8250, 'single right-pointing angle quotation mark'], [171, 'left pointing guillemet'], [187, 'right pointing guillemet'], [8216, 'left single quotation mark'], [8217, 'right single quotation mark'], [8220, 'left double quotation mark'], [8221, 'right double quotation mark'], [8218, 'single low-9 quotation mark'], [8222, 'double low-9 quotation mark'], [60, 'less-than sign'], [62, 'greater-than sign'], [8804, 'less-than or equal to'], [8805, 'greater-than or equal to'], [8211, 'en dash'], [8212, 'em dash'], [175, 'macron'], [8254, 'overline'], [164, 'currency sign'], [166, 'broken bar'], [168, 'diaeresis'], [161, 'inverted exclamation mark'], [191, 'turned question mark'], [710, 'circumflex accent'], [732, 'small tilde'], [176, 'degree sign'], [8722, 'minus sign'], [177, 'plus-minus sign'], [247, 'division sign'], [8260, 'fraction slash'], [215, 'multiplication sign'], [185, 'superscript one'], [178, 'superscript two'], [179, 'superscript three'], [188, 'fraction one quarter'], [189, 'fraction one half'], [190, 'fraction three quarters']]\n      }, {\n        name: 'Mathematical',\n        characters: [[402, 'function / florin'], [8747, 'integral'], [8721, 'n-ary sumation'], [8734, 'infinity'], [8730, 'square root'], [8764, 'similar to'], [8773, 'approximately equal to'], [8776, 'almost equal to'], [8800, 'not equal to'], [8801, 'identical to'], [8712, 'element of'], [8713, 'not an element of'], [8715, 'contains as member'], [8719, 'n-ary product'], [8743, 'logical and'], [8744, 'logical or'], [172, 'not sign'], [8745, 'intersection'], [8746, 'union'], [8706, 'partial differential'], [8704, 'for all'], [8707, 'there exists'], [8709, 'diameter'], [8711, 'backward difference'], [8727, 'asterisk operator'], [8733, 'proportional to'], [8736, 'angle']]\n      }, {\n        name: 'Extended Latin',\n        characters: [[192, 'A - grave'], [193, 'A - acute'], [194, 'A - circumflex'], [195, 'A - tilde'], [196, 'A - diaeresis'], [197, 'A - ring above'], [256, 'A - macron'], [198, 'ligature AE'], [199, 'C - cedilla'], [200, 'E - grave'], [201, 'E - acute'], [202, 'E - circumflex'], [203, 'E - diaeresis'], [274, 'E - macron'], [204, 'I - grave'], [205, 'I - acute'], [206, 'I - circumflex'], [207, 'I - diaeresis'], [298, 'I - macron'], [208, 'ETH'], [209, 'N - tilde'], [210, 'O - grave'], [211, 'O - acute'], [212, 'O - circumflex'], [213, 'O - tilde'], [214, 'O - diaeresis'], [216, 'O - slash'], [332, 'O - macron'], [338, 'ligature OE'], [352, 'S - caron'], [217, 'U - grave'], [218, 'U - acute'], [219, 'U - circumflex'], [220, 'U - diaeresis'], [362, 'U - macron'], [221, 'Y - acute'], [376, 'Y - diaeresis'], [562, 'Y - macron'], [222, 'THORN'], [224, 'a - grave'], [225, 'a - acute'], [226, 'a - circumflex'], [227, 'a - tilde'], [228, 'a - diaeresis'], [229, 'a - ring above'], [257, 'a - macron'], [230, 'ligature ae'], [231, 'c - cedilla'], [232, 'e - grave'], [233, 'e - acute'], [234, 'e - circumflex'], [235, 'e - diaeresis'], [275, 'e - macron'], [236, 'i - grave'], [237, 'i - acute'], [238, 'i - circumflex'], [239, 'i - diaeresis'], [299, 'i - macron'], [240, 'eth'], [241, 'n - tilde'], [242, 'o - grave'], [243, 'o - acute'], [244, 'o - circumflex'], [245, 'o - tilde'], [246, 'o - diaeresis'], [248, 'o slash'], [333, 'o macron'], [339, 'ligature oe'], [353, 's - caron'], [249, 'u - grave'], [250, 'u - acute'], [251, 'u - circumflex'], [252, 'u - diaeresis'], [363, 'u - macron'], [253, 'y - acute'], [254, 'thorn'], [255, 'y - diaeresis'], [563, 'y - macron'], [913, 'Alpha'], [914, 'Beta'], [915, 'Gamma'], [916, 'Delta'], [917, 'Epsilon'], [918, 'Zeta'], [919, 'Eta'], [920, 'Theta'], [921, 'Iota'], [922, 'Kappa'], [923, 'Lambda'], [924, 'Mu'], [925, 'Nu'], [926, 'Xi'], [927, 'Omicron'], [928, 'Pi'], [929, 'Rho'], [931, 'Sigma'], [932, 'Tau'], [933, 'Upsilon'], [934, 'Phi'], [935, 'Chi'], [936, 'Psi'], [937, 'Omega'], [945, 'alpha'], [946, 'beta'], [947, 'gamma'], [948, 'delta'], [949, 'epsilon'], [950, 'zeta'], [951, 'eta'], [952, 'theta'], [953, 'iota'], [954, 'kappa'], [955, 'lambda'], [956, 'mu'], [957, 'nu'], [958, 'xi'], [959, 'omicron'], [960, 'pi'], [961, 'rho'], [962, 'final sigma'], [963, 'sigma'], [964, 'tau'], [965, 'upsilon'], [966, 'phi'], [967, 'chi'], [968, 'psi'], [969, 'omega']]\n      }, {\n        name: 'Symbols',\n        characters: [[8501, 'alef symbol'], [982, 'pi symbol'], [8476, 'real part symbol'], [978, 'upsilon - hook symbol'], [8472, 'Weierstrass p'], [8465, 'imaginary part']]\n      }, {\n        name: 'Arrows',\n        characters: [[8592, 'leftwards arrow'], [8593, 'upwards arrow'], [8594, 'rightwards arrow'], [8595, 'downwards arrow'], [8596, 'left right arrow'], [8629, 'carriage return'], [8656, 'leftwards double arrow'], [8657, 'upwards double arrow'], [8658, 'rightwards double arrow'], [8659, 'downwards double arrow'], [8660, 'left right double arrow'], [8756, 'therefore'], [8834, 'subset of'], [8835, 'superset of'], [8836, 'not a subset of'], [8838, 'subset of or equal to'], [8839, 'superset of or equal to'], [8853, 'circled plus'], [8855, 'circled times'], [8869, 'perpendicular'], [8901, 'dot operator'], [8968, 'left ceiling'], [8969, 'right ceiling'], [8970, 'left floor'], [8971, 'right floor'], [9001, 'left-pointing angle bracket'], [9002, 'right-pointing angle bracket'], [9674, 'lozenge'], [9824, 'black spade suit'], [9827, 'black club suit'], [9829, 'black heart suit'], [9830, 'black diamond suit'], [8194, 'en space'], [8195, 'em space'], [8201, 'thin space'], [8204, 'zero width non-joiner'], [8205, 'zero width joiner'], [8206, 'left-to-right mark'], [8207, 'right-to-left mark']]\n      }];\n    };\n    const charmapFilter = charmap => {\n      return global.grep(charmap, item => {\n        return isArray(item) && item.length === 2;\n      });\n    };\n    const getCharsFromOption = optionValue => {\n      if (isArray(optionValue)) {\n        return charmapFilter(optionValue);\n      }\n      if (typeof optionValue === 'function') {\n        return optionValue();\n      }\n      return [];\n    };\n    const extendCharMap = (editor, charmap) => {\n      const userCharMap = getCharMap$1(editor);\n      if (userCharMap) {\n        charmap = [{\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMap)\n        }];\n      }\n      const userCharMapAppend = getCharMapAppend(editor);\n      if (userCharMapAppend) {\n        const userDefinedGroup = global.grep(charmap, cg => cg.name === UserDefined);\n        if (userDefinedGroup.length) {\n          userDefinedGroup[0].characters = [...userDefinedGroup[0].characters, ...getCharsFromOption(userCharMapAppend)];\n          return charmap;\n        }\n        return charmap.concat({\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMapAppend)\n        });\n      }\n      return charmap;\n    };\n    const getCharMap = editor => {\n      const groups = extendCharMap(editor, getDefaultCharMap());\n      return groups.length > 1 ? [{\n        name: 'All',\n        characters: bind(groups, g => g.characters)\n      }].concat(groups) : groups;\n    };\n\n    const get = editor => {\n      const getCharMap$1 = () => {\n        return getCharMap(editor);\n      };\n      const insertChar$1 = chr => {\n        insertChar(editor, chr);\n      };\n      return {\n        getCharMap: getCharMap$1,\n        insertChar: insertChar$1\n      };\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const fromCodePoint = String.fromCodePoint;\n\n    const charMatches = (charCode, name, lowerCasePattern) => {\n      if (contains(fromCodePoint(charCode).toLowerCase(), lowerCasePattern)) {\n        return true;\n      } else {\n        return contains(name.toLowerCase(), lowerCasePattern) || contains(name.toLowerCase().replace(/\\s+/g, ''), lowerCasePattern);\n      }\n    };\n    const scan = (group, pattern) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      each(group.characters, g => {\n        if (charMatches(g[0], g[1], lowerCasePattern)) {\n          matches.push(g);\n        }\n      });\n      return map(matches, m => ({\n        text: m[1],\n        value: fromCodePoint(m[0]),\n        icon: fromCodePoint(m[0])\n      }));\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, charMap) => {\n      const makeGroupItems = () => [{\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      }, {\n        type: 'collection',\n        name: 'results'\n      }];\n      const makeTabs = () => map(charMap, charGroup => ({\n        title: charGroup.name,\n        name: charGroup.name,\n        items: makeGroupItems()\n      }));\n      const makePanel = () => ({\n        type: 'panel',\n        items: makeGroupItems()\n      });\n      const makeTabPanel = () => ({\n        type: 'tabpanel',\n        tabs: makeTabs()\n      });\n      const currentTab = charMap.length === 1 ? Cell(UserDefined) : Cell('All');\n      const scanAndSet = (dialogApi, pattern) => {\n        find(charMap, group => group.name === currentTab.get()).each(f => {\n          const items = scan(f, pattern);\n          dialogApi.setData({\n            results: items\n          });\n        });\n      };\n      const SEARCH_DELAY = 40;\n      const updateFilter = last(dialogApi => {\n        const pattern = dialogApi.getData().pattern;\n        scanAndSet(dialogApi, pattern);\n      }, SEARCH_DELAY);\n      const body = charMap.length === 1 ? makePanel() : makeTabPanel();\n      const initialData = {\n        pattern: '',\n        results: scan(charMap[0], '')\n      };\n      const bridgeSpec = {\n        title: 'Special Character',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData,\n        onAction: (api, details) => {\n          if (details.name === 'results') {\n            insertChar(editor, details.value);\n            api.close();\n          }\n        },\n        onTabChange: (dialogApi, details) => {\n          currentTab.set(details.newTabName);\n          updateFilter.throttle(dialogApi);\n        },\n        onChange: (dialogApi, changeData) => {\n          if (changeData.name === patternName) {\n            updateFilter.throttle(dialogApi);\n          }\n        }\n      };\n      const dialogApi = editor.windowManager.open(bridgeSpec);\n      dialogApi.focus(patternName);\n    };\n\n    const register$1 = (editor, charMap) => {\n      editor.addCommand('mceShowCharmap', () => {\n        open(editor, charMap);\n      });\n    };\n\n    const init = (editor, all) => {\n      editor.ui.registry.addAutocompleter('charmap', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, _maxResults) => new Promise((resolve, _reject) => {\n          resolve(scan(all, pattern));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceShowCharmap');\n      editor.ui.registry.addButton('charmap', {\n        icon: 'insert-character',\n        tooltip: 'Special character',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('charmap', {\n        icon: 'insert-character',\n        text: 'Special character...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('charmap', editor => {\n        register$2(editor);\n        const charMap = getCharMap(editor);\n        register$1(editor, charMap);\n        register(editor);\n        init(editor, charMap[0]);\n        return get(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const isEqualNode = (e1, e2) => e1.dom.isEqualNode(e2.dom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const has = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const ancestor = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const read = (element, attr) => {\n      const value = get(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$3 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const add$2 = (element, clazz) => add$3(element, 'class', clazz);\n\n    const add$1 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$2(element, clazz);\n      }\n    };\n\n    const focus = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const CM_SETTINGS = {\n      lineWrapping: true,\n      lineNumbers: true,\n      foldGutter: true,\n      gutter: true,\n      matchBrackets: true,\n      styleActiveLine: true,\n      indentUnit: 1,\n      tabSize: 1\n    };\n    const CURSOR_MARKER_CODE = '<!--sn_cursor-->';\n    const CUSTOM_EDITOR_ID = 'plugins.codemirrror.customeditor';\n    const CANCEL_BUTTON = 0;\n    const SAVE_BUTTON = 1;\n\n    const stopPropagation = event => event.stopPropagation();\n    const load = baseUrl => new Promise(resolve => tinymce.ScriptLoader.loadScript(\"\".concat(baseUrl, \"/codemirror.min.js\")).then(() => resolve(CodeMirror)));\n    const getAutocompleteConfig = (codeMirror, container) => {\n      const completeAfter = (cm, pred) => {\n        if (!pred || pred()) {\n          const showHint = () => {\n            if (!cm.state.completionActive) {\n              cm.showHint({\n                completeSingle: false,\n                container: container.dom\n              });\n            }\n          };\n          setTimeout(showHint, 100);\n        }\n        return codeMirror.Pass;\n      };\n      return {\n        completeAfter,\n        completeIfAfterLt: cm => completeAfter(cm, () => {\n          const cursor = cm.getCursor();\n          return '<' === cm.getRange(codeMirror.Pos(cursor.line, cursor.ch - 1), cursor);\n        }),\n        completeIfInTag: cm => completeAfter(cm, () => {\n          const tok = cm.getTokenAt(cm.getCursor());\n          const isString = tok.type === 'string';\n          const isStringEdge = /['\"]/.test(tok.string.charAt(tok.string.length - 1));\n          if (isString && (!isStringEdge || tok.string.length === 1)) {\n            return false;\n          }\n          return codeMirror.innerMode(cm.getMode(), tok.state).state.tagName;\n        })\n      };\n    };\n    const setupCodemirror = (codeMirror, div, settings, editor) => {\n      const container = getContentContainer(getRootNode(SugarElement.fromDom(editor.getElement())));\n      const autoComplete = getAutocompleteConfig(codeMirror, container);\n      const config = {\n        lineWrapping: settings.lineWrapping,\n        lineNumbers: settings.lineNumbers,\n        foldGutter: settings.foldGutter,\n        theme: settings.theme,\n        direction: settings.direction,\n        matchTags: {\n          bothTags: true\n        },\n        keyMap: 'sublime',\n        gutters: settings.gutter ? ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'] : [],\n        extraKeys: {\n          'Alt-F': 'findPersistent',\n          'Ctrl-J': 'toMatchingTag',\n          'Ctrl-B': 'selectNextOccurrence',\n          '\\'<\\'': autoComplete.completeAfter,\n          '\\'/\\'': autoComplete.completeIfAfterLt,\n          '\\' \\'': autoComplete.completeIfInTag,\n          '\\'=\\'': autoComplete.completeIfInTag,\n          'Ctrl-Q': cmi => cmi.foldCode(cmi.getCursor())\n        },\n        mode: 'text/html',\n        value: '',\n        styleActiveLine: true,\n        screenReaderLabel: 'Source code'\n      };\n      const cmi = codeMirror(div, config);\n      div.addEventListener('keyup', stopPropagation);\n      div.addEventListener('keydown', stopPropagation);\n      div.addEventListener('keypress', stopPropagation);\n      setTimeout(() => {\n        cmi.focus();\n        if (settings.cursor) {\n          cmi.doc.setCursor(settings.cursor);\n        }\n      });\n      setTimeout(() => cmi.refresh(), 200);\n      return {\n        cmi,\n        unbind: () => {\n          div.removeEventListener('keyup', stopPropagation);\n          div.removeEventListener('keydown', stopPropagation);\n          div.removeEventListener('keypress', stopPropagation);\n        }\n      };\n    };\n    const checkLineBoundary = (charPos, line) => !(charPos === 0 || charPos === line.length);\n    const checkMode = ({\n      name\n    }) => !name || name === 'xml';\n    const moveCursorIfInEntity = cmi => {\n      const cursor = cmi.getCursor();\n      const token = cmi.getTokenAt(cursor, true);\n      if (token && token.type === 'atom' && token.end !== cursor.ch) {\n        cmi.doc.setCursor({\n          line: cursor.line,\n          ch: token.start\n        });\n      }\n    };\n    const moveCursorIfInTag = (codeMirror, cmi) => {\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const range = cmi.getViewport();\n      const match = codeMirror.findMatchingTag(cmi, cursor, range);\n      if (match) {\n        let pos;\n        const isOpen = match.at === 'open';\n        const hit = match[match.at][isOpen ? 'to' : 'from'];\n        if (isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.open.to.line,\n            ch: match.open.to.ch\n          };\n        } else if (!isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.close.from.line,\n            ch: match.close.from.ch\n          };\n        }\n        if (pos) {\n          cmi.doc.setCursor(pos);\n        }\n      }\n    };\n    const moveCursorIfInIframe = (codeMirror, cmi) => {\n      var _a;\n      const cursor = cmi.getCursor();\n      const range = cmi.getViewport();\n      const match = codeMirror.findEnclosingTag(cmi, cursor, range, 'iframe');\n      const openingTagCursorLocation = (_a = match === null || match === void 0 ? void 0 : match.open) === null || _a === void 0 ? void 0 : _a.from;\n      if (match && openingTagCursorLocation) {\n        cmi.doc.setCursor(openingTagCursorLocation);\n      }\n    };\n    const markCursorPosition = (codeMirror, id, cmi) => {\n      const {\n        doc\n      } = cmi;\n      if (doc.somethingSelected()) {\n        doc.setCursor(doc.getCursor());\n      }\n      moveCursorIfInEntity(cmi);\n      moveCursorIfInTag(codeMirror, cmi);\n      moveCursorIfInIframe(codeMirror, cmi);\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const curLine = cmi.getLine(line);\n      let addCursorMarker = true;\n      addCursorMarker = addCursorMarker && checkLineBoundary(ch, curLine);\n      addCursorMarker = addCursorMarker && checkMode(cmi.getModeAt(cursor, true));\n      const tinyCursor = \"<span id=\\\"\".concat(id, \"\\\"><\/span>\");\n      if (addCursorMarker) {\n        doc.replaceSelection(tinyCursor);\n      }\n      return {\n        id,\n        value: cmi.doc.getValue()\n      };\n    };\n    const setupSourceEscape = (cmi, div) => {\n      const handleTab = index => {\n        const focusableElements = all('.tox-dialog__footer .tox-button', getRootNode(div));\n        if (focusableElements.length === 2) {\n          focus(focusableElements[index]);\n        }\n      };\n      const escKeyMap = {\n        Esc: cmi => {\n          cmi.addKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const tabKeyMap = {\n        'Tab': cmi => {\n          handleTab(CANCEL_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'Shift-Tab': cmi => {\n          handleTab(SAVE_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'default': cmi => {\n          cmi.removeKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const focusableElement = cmi.getInputField();\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('tabIndex', '-1');\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('data-alloy-tabstop', 'true');\n      cmi.addKeyMap(escKeyMap);\n    };\n    const addAccessKeyInfoPanel = div => {\n      const isMac = tinymce.Env.os.isMacOS();\n      const dom = one('.tox-dialog__footer .tox-dialog__footer-start', getRootNode(div));\n      const node = document.createElement('div');\n      const td1 = '<td class=\"footer-key-info-panel-key\">';\n      const td2 = '<td class=\"footer-key-info-panel-value\">';\n      node.innerHTML = '<table class=\"footer-key-info-panel-parent\" cellspacing=\"0\" cellpadding=\"0\"><tr>' + td1 + (isMac ? '&#8984;-F' : 'Ctrl-F<\/td>') + td2 + tinymce.translate('Start search') + '<\/td>' + td1 + (isMac ? '&#8984;-G' : 'Ctrl-G') + '<\/td>' + td2 + 'Find next' + '<\/td>' + td1 + (isMac ? '&#8984;-Shift-G' : 'Shift-Ctrl-F') + '<\/td>' + td2 + tinymce.translate('Find previous') + '<\/td><\/tr>' + '<tr>' + td1 + (isMac ? '&#8984;-Option-F' : 'Shift-Ctrl-F') + '<\/td>' + td2 + tinymce.translate('Replace') + '<\/td>' + td1 + (isMac ? 'Shift-&#8984;-Option-F' : 'Shift-Ctrl-R') + '<\/td>' + td2 + tinymce.translate('Replace all') + '<\/td><\/tr><\/table>';\n      dom.each(parent => append(parent, SugarElement.fromDom(node)));\n    };\n    const setupResource = (root, settings) => new Promise(resolve => {\n      const editor = global$1.get(settings.editorId);\n      const div = SugarElement.fromDom(root);\n      set(div, 'width', '100%');\n      parent(div).filter(isElement).each(el => add$1(el, 'sn-codemirror'));\n      load(settings.baseUrl).then(codeMirror => {\n        const {\n          cmi,\n          unbind\n        } = setupCodemirror(codeMirror, root, settings, editor);\n        setupSourceEscape(cmi, div);\n        addAccessKeyInfoPanel(div);\n        return Promise.resolve({\n          getValue: () => markCursorPosition(codeMirror, editor.dom.uniqueId(), cmi),\n          setValue: value => cmi.doc.setValue(value),\n          destroy: unbind\n        });\n      }).then(resolve);\n    });\n    const add = () => {\n      global.add(CUSTOM_EDITOR_ID, setupResource);\n    };\n    var CustomEditor = {\n      add\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('_do_not_use_is_dark_theme', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isDarkTheme = option('_do_not_use_is_dark_theme');\n\n    const isBogus = node => has(node, 'data-mce-bogus');\n    const isIndexBookmark = bookmark => bookmark.hasOwnProperty('name');\n    const addCursorMarkers = (bookmarkNode, isBody) => {\n      const cursorElement = SugarElement.fromHtml(CURSOR_MARKER_CODE);\n      let bookmark = SugarElement.fromDom(bookmarkNode);\n      bookmark = ancestor(bookmark, isBogus, isBody).getOr(bookmark);\n      before(bookmark, cursorElement);\n      return cursorElement;\n    };\n    const createCursorPosition = (line, ch) => ({\n      line,\n      ch\n    });\n    const getCursorPosition = content => {\n      const lines = content.split(/\\r?\\n/);\n      const length = lines.length;\n      for (let lineIdx = 0; lineIdx < length; ++lineIdx) {\n        const line = lines[lineIdx];\n        const cursorIndex = line.indexOf(CURSOR_MARKER_CODE);\n        if (cursorIndex >= 0) {\n          if (line === CURSOR_MARKER_CODE) {\n            return lineIdx === 0 ? createCursorPosition(lineIdx, 0) : createCursorPosition(lineIdx - 1, lines[lineIdx - 1].length);\n          }\n          return createCursorPosition(lineIdx, cursorIndex);\n        }\n      }\n      return createCursorPosition(0, 0);\n    };\n    const getContentWithMarkers = editor => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const bookmark = editor.selection.getBookmark();\n      const bookmarkNode = isIndexBookmark(bookmark) ? editor.dom.select(bookmark.name)[bookmark.index] : editor.dom.select(\"#\".concat(bookmark.id, \"_start\"))[0];\n      const cursorMarker = Optional.from(bookmarkNode).map(node => addCursorMarkers(node, node => isEqualNode(node, body)));\n      const content = editor.getContent({\n        source_view: true\n      });\n      cursorMarker.each(remove);\n      editor.selection.moveToBookmark(bookmark);\n      return content;\n    };\n    const collectSettings = (editor, url) => new Promise(resolve => {\n      resolve({\n        ...CM_SETTINGS,\n        baseUrl: url,\n        direction: editor.getBody().dir || 'ltr',\n        editorId: editor.id,\n        theme: isDarkTheme(editor) ? 'tomorrow-night-eighties' : 'default'\n      });\n    });\n    const contentProcessor = editor => () => {\n      const markedContent = getContentWithMarkers(editor);\n      const cursor = getCursorPosition(markedContent);\n      return {\n        content: editor.getContent({\n          source_view: true\n        }),\n        cursor\n      };\n    };\n    const submitHandler = editor => ({\n      id,\n      value\n    }) => {\n      editor.focus();\n      editor.undoManager.transact(() => {\n        editor.setContent(value);\n      });\n      const el = editor.dom.select(\"span#\".concat(id))[0];\n      if (el) {\n        editor.selection.scrollIntoView(el);\n        editor.selection.setCursorLocation(el, 0);\n        editor.dom.remove(el);\n      } else {\n        const firstChildIsStyleTag = firstChild(SugarElement.fromDom(editor.getBody())).map(isTag('style')).getOrNull();\n        if (firstChildIsStyleTag) {\n          const val = \"<span id=\\\"\".concat(id, \"\\\"><\/span>\").concat(value);\n          editor.setContent(val);\n          const el = editor.dom.select(\"span#\".concat(id))[0];\n          editor.selection.setCursorLocation(el, 0);\n          editor.dom.remove(el);\n        } else {\n          editor.selection.setCursorLocation();\n        }\n      }\n      editor.nodeChanged();\n    };\n    const makeDialog = helpers => settings => {\n      const {\n        content: codeview,\n        cursor\n      } = helpers.processContent();\n      const cmSettings = {\n        ...settings,\n        cursor\n      };\n      const config = {\n        title: 'Source Code',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'codeview',\n            type: 'customeditor',\n            tag: 'div',\n            scriptId: CUSTOM_EDITOR_ID,\n            scriptUrl: \"\".concat(cmSettings.baseUrl, \"/customeditor.min.js\"),\n            settings: cmSettings\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          codeview\n        },\n        onSubmit: api => {\n          helpers.onSubmit(api.getData().codeview);\n          api.close();\n        }\n      };\n      return config;\n    };\n    const Dialog = (editor, url) => {\n      const helpers = {\n        onSubmit: submitHandler(editor),\n        processContent: contentProcessor(editor)\n      };\n      const open = () => {\n        collectSettings(editor, url).then(makeDialog(helpers)).then(editor.windowManager.open).then(CustomEditor.add);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = (editor, url) => {\n      editor.addCommand('mceCodeEditor', Dialog(editor, url).open);\n    };\n\n    const register = editor => {\n      editor.ui.registry.addToggleButton('code', {\n        icon: 'sourcecode',\n        tooltip: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n      editor.ui.registry.addMenuItem('code', {\n        icon: 'sourcecode',\n        text: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('codemirror', (editor, url) => {\n        register$2(editor);\n        register(editor);\n        register$1(editor, url);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const prismjs = function (global, module, exports) {\n      const oldprism = window.Prism;\n      window.Prism = {\n        manual: true\n      };\n      var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};\n      var Prism = function (_self) {\n        var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n        var uniqueId = 0;\n        var plainTextGrammar = {};\n        var _ = {\n          manual: _self.Prism && _self.Prism.manual,\n          disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n          util: {\n            encode: function encode(tokens) {\n              if (tokens instanceof Token) {\n                return new Token(tokens.type, encode(tokens.content), tokens.alias);\n              } else if (Array.isArray(tokens)) {\n                return tokens.map(encode);\n              } else {\n                return tokens.replace(/&/g, '&amp;').replace(/<\/g, '&lt;').replace(/\\u00a0/g, ' ');\n              }\n            },\n            type: function (o) {\n              return Object.prototype.toString.call(o).slice(8, -1);\n            },\n            objId: function (obj) {\n              if (!obj['__id']) {\n                Object.defineProperty(obj, '__id', {\n                  value: ++uniqueId\n                });\n              }\n              return obj['__id'];\n            },\n            clone: function deepClone(o, visited) {\n              visited = visited || {};\n              var clone;\n              var id;\n              switch (_.util.type(o)) {\n                case 'Object':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = {};\n                  visited[id] = clone;\n                  for (var key in o) {\n                    if (o.hasOwnProperty(key)) {\n                      clone[key] = deepClone(o[key], visited);\n                    }\n                  }\n                  return clone;\n                case 'Array':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = [];\n                  visited[id] = clone;\n                  o.forEach(function (v, i) {\n                    clone[i] = deepClone(v, visited);\n                  });\n                  return clone;\n                default:\n                  return o;\n              }\n            },\n            getLanguage: function (element) {\n              while (element) {\n                var m = lang.exec(element.className);\n                if (m) {\n                  return m[1].toLowerCase();\n                }\n                element = element.parentElement;\n              }\n              return 'none';\n            },\n            setLanguage: function (element, language) {\n              element.className = element.className.replace(RegExp(lang, 'gi'), '');\n              element.classList.add('language-' + language);\n            },\n            currentScript: function () {\n              if (typeof document === 'undefined') {\n                return null;\n              }\n              if ('currentScript' in document && 1 < 2) {\n                return document.currentScript;\n              }\n              try {\n                throw new Error();\n              } catch (err) {\n                var src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n                if (src) {\n                  var scripts = document.getElementsByTagName('script');\n                  for (var i in scripts) {\n                    if (scripts[i].src == src) {\n                      return scripts[i];\n                    }\n                  }\n                }\n                return null;\n              }\n            },\n            isActive: function (element, className, defaultActivation) {\n              var no = 'no-' + className;\n              while (element) {\n                var classList = element.classList;\n                if (classList.contains(className)) {\n                  return true;\n                }\n                if (classList.contains(no)) {\n                  return false;\n                }\n                element = element.parentElement;\n              }\n              return !!defaultActivation;\n            }\n          },\n          languages: {\n            plain: plainTextGrammar,\n            plaintext: plainTextGrammar,\n            text: plainTextGrammar,\n            txt: plainTextGrammar,\n            extend: function (id, redef) {\n              var lang = _.util.clone(_.languages[id]);\n              for (var key in redef) {\n                lang[key] = redef[key];\n              }\n              return lang;\n            },\n            insertBefore: function (inside, before, insert, root) {\n              root = root || _.languages;\n              var grammar = root[inside];\n              var ret = {};\n              for (var token in grammar) {\n                if (grammar.hasOwnProperty(token)) {\n                  if (token == before) {\n                    for (var newToken in insert) {\n                      if (insert.hasOwnProperty(newToken)) {\n                        ret[newToken] = insert[newToken];\n                      }\n                    }\n                  }\n                  if (!insert.hasOwnProperty(token)) {\n                    ret[token] = grammar[token];\n                  }\n                }\n              }\n              var old = root[inside];\n              root[inside] = ret;\n              _.languages.DFS(_.languages, function (key, value) {\n                if (value === old && key != inside) {\n                  this[key] = ret;\n                }\n              });\n              return ret;\n            },\n            DFS: function DFS(o, callback, type, visited) {\n              visited = visited || {};\n              var objId = _.util.objId;\n              for (var i in o) {\n                if (o.hasOwnProperty(i)) {\n                  callback.call(o, i, o[i], type || i);\n                  var property = o[i];\n                  var propertyType = _.util.type(property);\n                  if (propertyType === 'Object' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, null, visited);\n                  } else if (propertyType === 'Array' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, i, visited);\n                  }\n                }\n              }\n            }\n          },\n          plugins: {},\n          highlightAll: function (async, callback) {\n            _.highlightAllUnder(document, async, callback);\n          },\n          highlightAllUnder: function (container, async, callback) {\n            var env = {\n              callback: callback,\n              container: container,\n              selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n            };\n            _.hooks.run('before-highlightall', env);\n            env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n            _.hooks.run('before-all-elements-highlight', env);\n            for (var i = 0, element; element = env.elements[i++];) {\n              _.highlightElement(element, async === true, env.callback);\n            }\n          },\n          highlightElement: function (element, async, callback) {\n            var language = _.util.getLanguage(element);\n            var grammar = _.languages[language];\n            _.util.setLanguage(element, language);\n            var parent = element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre') {\n              _.util.setLanguage(parent, language);\n            }\n            var code = element.textContent;\n            var env = {\n              element: element,\n              language: language,\n              grammar: grammar,\n              code: code\n            };\n            function insertHighlightedCode(highlightedCode) {\n              env.highlightedCode = highlightedCode;\n              _.hooks.run('before-insert', env);\n              env.element.innerHTML = env.highlightedCode;\n              _.hooks.run('after-highlight', env);\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n            }\n            _.hooks.run('before-sanity-check', env);\n            parent = env.element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n              parent.setAttribute('tabindex', '0');\n            }\n            if (!env.code) {\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n              return;\n            }\n            _.hooks.run('before-highlight', env);\n            if (!env.grammar) {\n              insertHighlightedCode(_.util.encode(env.code));\n              return;\n            }\n            if (async && _self.Worker) {\n              var worker = new Worker(_.filename);\n              worker.onmessage = function (evt) {\n                insertHighlightedCode(evt.data);\n              };\n              worker.postMessage(JSON.stringify({\n                language: env.language,\n                code: env.code,\n                immediateClose: true\n              }));\n            } else {\n              insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n            }\n          },\n          highlight: function (text, grammar, language) {\n            var env = {\n              code: text,\n              grammar: grammar,\n              language: language\n            };\n            _.hooks.run('before-tokenize', env);\n            if (!env.grammar) {\n              throw new Error('The language \"' + env.language + '\" has no grammar.');\n            }\n            env.tokens = _.tokenize(env.code, env.grammar);\n            _.hooks.run('after-tokenize', env);\n            return Token.stringify(_.util.encode(env.tokens), env.language);\n          },\n          tokenize: function (text, grammar) {\n            var rest = grammar.rest;\n            if (rest) {\n              for (var token in rest) {\n                grammar[token] = rest[token];\n              }\n              delete grammar.rest;\n            }\n            var tokenList = new LinkedList();\n            addAfter(tokenList, tokenList.head, text);\n            matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n            return toArray(tokenList);\n          },\n          hooks: {\n            all: {},\n            add: function (name, callback) {\n              var hooks = _.hooks.all;\n              hooks[name] = hooks[name] || [];\n              hooks[name].push(callback);\n            },\n            run: function (name, env) {\n              var callbacks = _.hooks.all[name];\n              if (!callbacks || !callbacks.length) {\n                return;\n              }\n              for (var i = 0, callback; callback = callbacks[i++];) {\n                callback(env);\n              }\n            }\n          },\n          Token: Token\n        };\n        _self.Prism = _;\n        function Token(type, content, alias, matchedStr) {\n          this.type = type;\n          this.content = content;\n          this.alias = alias;\n          this.length = (matchedStr || '').length | 0;\n        }\n        Token.stringify = function stringify(o, language) {\n          if (typeof o == 'string') {\n            return o;\n          }\n          if (Array.isArray(o)) {\n            var s = '';\n            o.forEach(function (e) {\n              s += stringify(e, language);\n            });\n            return s;\n          }\n          var env = {\n            type: o.type,\n            content: stringify(o.content, language),\n            tag: 'span',\n            classes: ['token', o.type],\n            attributes: {},\n            language: language\n          };\n          var aliases = o.alias;\n          if (aliases) {\n            if (Array.isArray(aliases)) {\n              Array.prototype.push.apply(env.classes, aliases);\n            } else {\n              env.classes.push(aliases);\n            }\n          }\n          _.hooks.run('wrap', env);\n          var attributes = '';\n          for (var name in env.attributes) {\n            attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '&quot;') + '\"';\n          }\n          return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '<\/' + env.tag + '>';\n        };\n        function matchPattern(pattern, pos, text, lookbehind) {\n          pattern.lastIndex = pos;\n          var match = pattern.exec(text);\n          if (match && lookbehind && match[1]) {\n            var lookbehindLength = match[1].length;\n            match.index += lookbehindLength;\n            match[0] = match[0].slice(lookbehindLength);\n          }\n          return match;\n        }\n        function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n          for (var token in grammar) {\n            if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n              continue;\n            }\n            var patterns = grammar[token];\n            patterns = Array.isArray(patterns) ? patterns : [patterns];\n            for (var j = 0; j < patterns.length; ++j) {\n              if (rematch && rematch.cause == token + ',' + j) {\n                return;\n              }\n              var patternObj = patterns[j];\n              var inside = patternObj.inside;\n              var lookbehind = !!patternObj.lookbehind;\n              var greedy = !!patternObj.greedy;\n              var alias = patternObj.alias;\n              if (greedy && !patternObj.pattern.global) {\n                var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n                patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n              }\n              var pattern = patternObj.pattern || patternObj;\n              for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n                if (rematch && pos >= rematch.reach) {\n                  break;\n                }\n                var str = currentNode.value;\n                if (tokenList.length > text.length) {\n                  return;\n                }\n                if (str instanceof Token) {\n                  continue;\n                }\n                var removeCount = 1;\n                var match;\n                if (greedy) {\n                  match = matchPattern(pattern, pos, text, lookbehind);\n                  if (!match || match.index >= text.length) {\n                    break;\n                  }\n                  var from = match.index;\n                  var to = match.index + match[0].length;\n                  var p = pos;\n                  p += currentNode.value.length;\n                  while (from >= p) {\n                    currentNode = currentNode.next;\n                    p += currentNode.value.length;\n                  }\n                  p -= currentNode.value.length;\n                  pos = p;\n                  if (currentNode.value instanceof Token) {\n                    continue;\n                  }\n                  for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n                    removeCount++;\n                    p += k.value.length;\n                  }\n                  removeCount--;\n                  str = text.slice(pos, p);\n                  match.index -= pos;\n                } else {\n                  match = matchPattern(pattern, 0, str, lookbehind);\n                  if (!match) {\n                    continue;\n                  }\n                }\n                var from = match.index;\n                var matchStr = match[0];\n                var before = str.slice(0, from);\n                var after = str.slice(from + matchStr.length);\n                var reach = pos + str.length;\n                if (rematch && reach > rematch.reach) {\n                  rematch.reach = reach;\n                }\n                var removeFrom = currentNode.prev;\n                if (before) {\n                  removeFrom = addAfter(tokenList, removeFrom, before);\n                  pos += before.length;\n                }\n                removeRange(tokenList, removeFrom, removeCount);\n                var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n                currentNode = addAfter(tokenList, removeFrom, wrapped);\n                if (after) {\n                  addAfter(tokenList, currentNode, after);\n                }\n                if (removeCount > 1) {\n                  var nestedRematch = {\n                    cause: token + ',' + j,\n                    reach: reach\n                  };\n                  matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n                  if (rematch && nestedRematch.reach > rematch.reach) {\n                    rematch.reach = nestedRematch.reach;\n                  }\n                }\n              }\n            }\n          }\n        }\n        function LinkedList() {\n          var head = {\n            value: null,\n            prev: null,\n            next: null\n          };\n          var tail = {\n            value: null,\n            prev: head,\n            next: null\n          };\n          head.next = tail;\n          this.head = head;\n          this.tail = tail;\n          this.length = 0;\n        }\n        function addAfter(list, node, value) {\n          var next = node.next;\n          var newNode = {\n            value: value,\n            prev: node,\n            next: next\n          };\n          node.next = newNode;\n          next.prev = newNode;\n          list.length++;\n          return newNode;\n        }\n        function removeRange(list, node, count) {\n          var next = node.next;\n          for (var i = 0; i < count && next !== list.tail; i++) {\n            next = next.next;\n          }\n          node.next = next;\n          next.prev = node;\n          list.length -= i;\n        }\n        function toArray(list) {\n          var array = [];\n          var node = list.head.next;\n          while (node !== list.tail) {\n            array.push(node.value);\n            node = node.next;\n          }\n          return array;\n        }\n        if (!_self.document) {\n          if (!_self.addEventListener) {\n            return _;\n          }\n          if (!_.disableWorkerMessageHandler) {\n            _self.addEventListener('message', function (evt) {\n              var message = JSON.parse(evt.data);\n              var lang = message.language;\n              var code = message.code;\n              var immediateClose = message.immediateClose;\n              _self.postMessage(_.highlight(code, _.languages[lang], lang));\n              if (immediateClose) {\n                _self.close();\n              }\n            }, false);\n          }\n          return _;\n        }\n        var script = _.util.currentScript();\n        if (script) {\n          _.filename = script.src;\n          if (script.hasAttribute('data-manual')) {\n            _.manual = true;\n          }\n        }\n        function highlightAutomaticallyCallback() {\n          if (!_.manual) {\n            _.highlightAll();\n          }\n        }\n        if (!_.manual) {\n          var readyState = document.readyState;\n          if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n            document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n          } else {\n            if (window.requestAnimationFrame) {\n              window.requestAnimationFrame(highlightAutomaticallyCallback);\n            } else {\n              window.setTimeout(highlightAutomaticallyCallback, 16);\n            }\n          }\n        }\n        return _;\n      }(_self);\n      if (typeof module !== 'undefined' && module.exports) {\n        module.exports = Prism;\n      }\n      if (typeof global !== 'undefined') {\n        global.Prism = Prism;\n      }\n      Prism.languages.clike = {\n        'comment': [{\n          pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          lookbehind: true,\n          greedy: true\n        }, {\n          pattern: /(^|[^\\\\:])\\/\\/.*/,\n          lookbehind: true,\n          greedy: true\n        }],\n        'string': {\n          pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n          lookbehind: true,\n          inside: {\n            'punctuation': /[.\\\\]/\n          }\n        },\n        'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n        'boolean': /\\b(?:false|true)\\b/,\n        'function': /\\b\\w+(?=\\()/,\n        'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n        'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      (function (Prism) {\n        function getPlaceholder(language, index) {\n          return '___' + language.toUpperCase() + index + '___';\n        }\n        Object.defineProperties(Prism.languages['markup-templating'] = {}, {\n          buildPlaceholders: {\n            value: function (env, language, placeholderPattern, replaceFilter) {\n              if (env.language !== language) {\n                return;\n              }\n              var tokenStack = env.tokenStack = [];\n              env.code = env.code.replace(placeholderPattern, function (match) {\n                if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n                  return match;\n                }\n                var i = tokenStack.length;\n                var placeholder;\n                while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n                  ++i;\n                }\n                tokenStack[i] = match;\n                return placeholder;\n              });\n              env.grammar = Prism.languages.markup;\n            }\n          },\n          tokenizePlaceholders: {\n            value: function (env, language) {\n              if (env.language !== language || !env.tokenStack) {\n                return;\n              }\n              env.grammar = Prism.languages[language];\n              var j = 0;\n              var keys = Object.keys(env.tokenStack);\n              function walkTokens(tokens) {\n                for (var i = 0; i < tokens.length; i++) {\n                  if (j >= keys.length) {\n                    break;\n                  }\n                  var token = tokens[i];\n                  if (typeof token === 'string' || token.content && typeof token.content === 'string') {\n                    var k = keys[j];\n                    var t = env.tokenStack[k];\n                    var s = typeof token === 'string' ? token : token.content;\n                    var placeholder = getPlaceholder(language, k);\n                    var index = s.indexOf(placeholder);\n                    if (index > -1) {\n                      ++j;\n                      var before = s.substring(0, index);\n                      var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n                      var after = s.substring(index + placeholder.length);\n                      var replacement = [];\n                      if (before) {\n                        replacement.push.apply(replacement, walkTokens([before]));\n                      }\n                      replacement.push(middle);\n                      if (after) {\n                        replacement.push.apply(replacement, walkTokens([after]));\n                      }\n                      if (typeof token === 'string') {\n                        tokens.splice.apply(tokens, [i, 1].concat(replacement));\n                      } else {\n                        token.content = replacement;\n                      }\n                    }\n                  } else if (token.content) {\n                    walkTokens(token.content);\n                  }\n                }\n                return tokens;\n              }\n              walkTokens(env.tokens);\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.c = Prism.languages.extend('clike', {\n        'comment': {\n          pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          greedy: true\n        },\n        'string': {\n          pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n          lookbehind: true\n        },\n        'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n        'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n        'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n        'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'char': {\n          pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n          greedy: true\n        }\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'macro': {\n          pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property',\n          inside: {\n            'string': [{\n              pattern: /^(#\\s*include\\s*)<[^>]+>/,\n              lookbehind: true\n            }, Prism.languages.c['string']],\n            'char': Prism.languages.c['char'],\n            'comment': Prism.languages.c['comment'],\n            'macro-name': [{\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n              lookbehind: true\n            }, {\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n              lookbehind: true,\n              alias: 'function'\n            }],\n            'directive': {\n              pattern: /^(#\\s*)[a-z]+/,\n              lookbehind: true,\n              alias: 'keyword'\n            },\n            'directive-hash': /^#/,\n            'punctuation': /##|\\\\(?=[\\r\\n])/,\n            'expression': {\n              pattern: /\\S[\\s\\S]*/,\n              inside: Prism.languages.c\n            }\n          }\n        }\n      });\n      Prism.languages.insertBefore('c', 'function', {\n        'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n      });\n      delete Prism.languages.c['boolean'];\n      (function (Prism) {\n        var keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n        var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () {\n          return keyword.source;\n        });\n        Prism.languages.cpp = Prism.languages.extend('c', {\n          'class-name': [{\n            pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function () {\n              return keyword.source;\n            })),\n            lookbehind: true\n          }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],\n          'keyword': keyword,\n          'number': {\n            pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n            greedy: true\n          },\n          'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n          'boolean': /\\b(?:false|true)\\b/\n        });\n        Prism.languages.insertBefore('cpp', 'string', {\n          'module': {\n            pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + '(?:' + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + '|' + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () {\n              return modName;\n            }) + ')'),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'string': /^[<\"][\\s\\S]+/,\n              'operator': /:/,\n              'punctuation': /\\./\n            }\n          },\n          'raw-string': {\n            pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n            alias: 'string',\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'keyword', {\n          'generic-function': {\n            pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n            inside: {\n              'function': /^\\w+/,\n              'generic': {\n                pattern: /<[\\s\\S]+/,\n                alias: 'class-name',\n                inside: Prism.languages.cpp\n              }\n            }\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'class-name', {\n          'base-clause': {\n            pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n            lookbehind: true,\n            greedy: true,\n            inside: Prism.languages.extend('cpp', {})\n          }\n        });\n        Prism.languages.insertBefore('inside', 'double-colon', {\n          'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n        }, Prism.languages.cpp['base-clause']);\n      })(Prism);\n      (function (Prism) {\n        function replace(pattern, replacements) {\n          return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n            return '(?:' + replacements[+index] + ')';\n          });\n        }\n        function re(pattern, replacements, flags) {\n          return RegExp(replace(pattern, replacements), flags || '');\n        }\n        function nested(pattern, depthLog2) {\n          for (var i = 0; i < depthLog2; i++) {\n            pattern = pattern.replace(/<<self>>/g, function () {\n              return '(?:' + pattern + ')';\n            });\n          }\n          return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n        }\n        var keywordKinds = {\n          type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n          typeDeclaration: 'class enum interface record struct',\n          contextual: 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n          other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n        };\n        function keywordsToPattern(words) {\n          return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n        }\n        var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);\n        var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));\n        var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);\n        var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);\n        var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2);\n        var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2);\n        var name = /@?\\b[A-Za-z_]\\w*\\b/.source;\n        var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic]);\n        var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [nonTypeKeywords, genericName]);\n        var array = /\\[\\s*(?:,\\s*)*\\]/.source;\n        var typeExpressionWithoutTuple = replace(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source, [identifier, array]);\n        var tupleElement = replace(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [generic, nestedRound, array]);\n        var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement]);\n        var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source, [tuple, identifier, array]);\n        var typeInside = {\n          'keyword': keywords,\n          'punctuation': /[<>()?,.:[\\]]/\n        };\n        var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source;\n        var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source;\n        var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;\n        Prism.languages.csharp = Prism.languages.extend('clike', {\n          'string': [{\n            pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n            lookbehind: true,\n            greedy: true\n          }],\n          'class-name': [{\n            pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [name, typeExpression]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [typeDeclarationKeywords, genericName]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [typeExpressionWithoutTuple]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source, [typeExpression, nonContextualKeywords, name]),\n            inside: typeInside\n          }],\n          'keyword': keywords,\n          'number': /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n          'operator': />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n          'punctuation': /\\?\\.?|::|[{}[\\];(),.:]/\n        });\n        Prism.languages.insertBefore('csharp', 'number', {\n          'range': {\n            pattern: /\\.\\./,\n            alias: 'operator'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'punctuation', {\n          'named-parameter': {\n            pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n            lookbehind: true,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'namespace': {\n            pattern: re(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source, [name]),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          },\n          'type-expression': {\n            pattern: re(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source, [nestedRound]),\n            lookbehind: true,\n            alias: 'class-name',\n            inside: typeInside\n          },\n          'return-type': {\n            pattern: re(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source, [typeExpression, identifier]),\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'constructor-invocation': {\n            pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n            lookbehind: true,\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'generic-method': {\n            pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n            inside: {\n              'function': re(/^<<0>>/.source, [name]),\n              'generic': {\n                pattern: RegExp(generic),\n                alias: 'class-name',\n                inside: typeInside\n              }\n            }\n          },\n          'type-list': {\n            pattern: re(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source, [typeDeclarationKeywords, genericName, name, typeExpression, keywords.source, nestedRound, /\\bnew\\s*\\(\\s*\\)/.source]),\n            lookbehind: true,\n            inside: {\n              'record-arguments': {\n                pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [genericName, nestedRound]),\n                lookbehind: true,\n                greedy: true,\n                inside: Prism.languages.csharp\n              },\n              'keyword': keywords,\n              'class-name': {\n                pattern: RegExp(typeExpression),\n                greedy: true,\n                inside: typeInside\n              },\n              'punctuation': /[,()]/\n            }\n          },\n          'preprocessor': {\n            pattern: /(^[\\t ]*)#.*/m,\n            lookbehind: true,\n            alias: 'property',\n            inside: {\n              'directive': {\n                pattern: /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n                lookbehind: true,\n                alias: 'keyword'\n              }\n            }\n          }\n        });\n        var regularStringOrCharacter = regularString + '|' + character;\n        var regularStringCharacterOrComment = replace(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source, [regularStringOrCharacter]);\n        var roundExpression = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var attrTarget = /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source;\n        var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [identifier, roundExpression]);\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'attribute': {\n            pattern: re(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source, [attrTarget, attr]),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'target': {\n                pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n                alias: 'keyword'\n              },\n              'attribute-arguments': {\n                pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n                inside: Prism.languages.csharp\n              },\n              'class-name': {\n                pattern: RegExp(identifier),\n                inside: {\n                  'punctuation': /\\./\n                }\n              },\n              'punctuation': /[:,]/\n            }\n          }\n        });\n        var formatString = /:[^}\\r\\n]+/.source;\n        var mInterpolationRound = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [mInterpolationRound, formatString]);\n        var sInterpolationRound = nested(replace(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source, [regularStringOrCharacter]), 2);\n        var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [sInterpolationRound, formatString]);\n        function createInterpolationInside(interpolation, interpolationRound) {\n          return {\n            'interpolation': {\n              pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n              lookbehind: true,\n              inside: {\n                'format-string': {\n                  pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [interpolationRound, formatString]),\n                  lookbehind: true,\n                  inside: {\n                    'punctuation': /^:/\n                  }\n                },\n                'punctuation': /^\\{|\\}$/,\n                'expression': {\n                  pattern: /[\\s\\S]+/,\n                  alias: 'language-csharp',\n                  inside: Prism.languages.csharp\n                }\n              }\n            },\n            'string': /[\\s\\S]+/\n          };\n        }\n        Prism.languages.insertBefore('csharp', 'string', {\n          'interpolation-string': [{\n            pattern: re(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source, [mInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n          }, {\n            pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [sInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n          }],\n          'char': {\n            pattern: RegExp(character),\n            greedy: true\n          }\n        });\n        Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;\n      })(Prism);\n      (function (Prism) {\n        var string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n        Prism.languages.css = {\n          'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n          'atrule': {\n            pattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n            inside: {\n              'rule': /^@[\\w-]+/,\n              'selector-function-argument': {\n                pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n                lookbehind: true,\n                alias: 'selector'\n              },\n              'keyword': {\n                pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n                lookbehind: true\n              }\n            }\n          },\n          'url': {\n            pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n            greedy: true,\n            inside: {\n              'function': /^url/i,\n              'punctuation': /^\\(|\\)$/,\n              'string': {\n                pattern: RegExp('^' + string.source + '$'),\n                alias: 'url'\n              }\n            }\n          },\n          'selector': {\n            pattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n            lookbehind: true\n          },\n          'string': {\n            pattern: string,\n            greedy: true\n          },\n          'property': {\n            pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n            lookbehind: true\n          },\n          'important': /!important\\b/i,\n          'function': {\n            pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n            lookbehind: true\n          },\n          'punctuation': /[(){};:,]/\n        };\n        Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n        var markup = Prism.languages.markup;\n        if (markup) {\n          markup.tag.addInlined('style', 'css');\n          markup.tag.addAttribute('style', 'css');\n        }\n      })(Prism);\n      (function (Prism) {\n        var keywords = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/;\n        var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n        var className = {\n          pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n          lookbehind: true,\n          inside: {\n            'namespace': {\n              pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n              inside: {\n                'punctuation': /\\./\n              }\n            },\n            'punctuation': /\\./\n          }\n        };\n        Prism.languages.java = Prism.languages.extend('clike', {\n          'string': {\n            pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n            lookbehind: true,\n            greedy: true\n          },\n          'class-name': [className, {\n            pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n            lookbehind: true,\n            inside: className.inside\n          }, {\n            pattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n            lookbehind: true,\n            inside: className.inside\n          }],\n          'keyword': keywords,\n          'function': [Prism.languages.clike.function, {\n            pattern: /(::\\s*)[a-z_]\\w*/,\n            lookbehind: true\n          }],\n          'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n          'operator': {\n            pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n            lookbehind: true\n          },\n          'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n        });\n        Prism.languages.insertBefore('java', 'string', {\n          'triple-quoted-string': {\n            pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n            greedy: true,\n            alias: 'string'\n          },\n          'char': {\n            pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('java', 'class-name', {\n          'annotation': {\n            pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n            lookbehind: true,\n            alias: 'punctuation'\n          },\n          'generics': {\n            pattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n            inside: {\n              'class-name': className,\n              'keyword': keywords,\n              'punctuation': /[<>(),.:]/,\n              'operator': /[?&|]/\n            }\n          },\n          'import': [{\n            pattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            inside: {\n              'namespace': className.inside.namespace,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }, {\n            pattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            alias: 'static',\n            inside: {\n              'namespace': className.inside.namespace,\n              'static': /\\b\\w+$/,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }],\n          'namespace': {\n            pattern: RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g, function () {\n              return keywords.source;\n            })),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.javascript = Prism.languages.extend('clike', {\n        'class-name': [Prism.languages.clike['class-name'], {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n          lookbehind: true\n        }],\n        'keyword': [{\n          pattern: /((?:^|\\})\\s*)catch\\b/,\n          lookbehind: true\n        }, {\n          pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n          lookbehind: true\n        }],\n        'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n        'number': {\n          pattern: RegExp(/(^|[^\\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + '|' + /\\d+(?:_\\d+)*n/.source + '|' + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source) + ')' + /(?![\\w$])/.source),\n          lookbehind: true\n        },\n        'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n      });\n      Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n      Prism.languages.insertBefore('javascript', 'keyword', {\n        'regex': {\n          pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + '(?:' + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + '|' + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),\n          lookbehind: true,\n          greedy: true,\n          inside: {\n            'regex-source': {\n              pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n              lookbehind: true,\n              alias: 'language-regex',\n              inside: Prism.languages.regex\n            },\n            'regex-delimiter': /^\\/|\\/$/,\n            'regex-flags': /^[a-z]+$/\n          }\n        },\n        'function-variable': {\n          pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n          alias: 'function'\n        },\n        'parameter': [{\n          pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }],\n        'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n      });\n      Prism.languages.insertBefore('javascript', 'string', {\n        'hashbang': {\n          pattern: /^#!.*/,\n          greedy: true,\n          alias: 'comment'\n        },\n        'template-string': {\n          pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n          greedy: true,\n          inside: {\n            'template-punctuation': {\n              pattern: /^`|`$/,\n              alias: 'string'\n            },\n            'interpolation': {\n              pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'interpolation-punctuation': {\n                  pattern: /^\\$\\{|\\}$/,\n                  alias: 'punctuation'\n                },\n                rest: Prism.languages.javascript\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'string-property': {\n          pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property'\n        }\n      });\n      Prism.languages.insertBefore('javascript', 'operator', {\n        'literal-property': {\n          pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n          lookbehind: true,\n          alias: 'property'\n        }\n      });\n      if (Prism.languages.markup) {\n        Prism.languages.markup.tag.addInlined('script', 'javascript');\n        Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript');\n      }\n      Prism.languages.js = Prism.languages.javascript;\n      Prism.languages.markup = {\n        'comment': {\n          pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n          greedy: true\n        },\n        'prolog': {\n          pattern: /<\\?[\\s\\S]+?\\?>/,\n          greedy: true\n        },\n        'doctype': {\n          pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n          greedy: true,\n          inside: {\n            'internal-subset': {\n              pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n              lookbehind: true,\n              greedy: true,\n              inside: null\n            },\n            'string': {\n              pattern: /\"[^\"]*\"|'[^']*'/,\n              greedy: true\n            },\n            'punctuation': /^<!|>$|[[\\]]/,\n            'doctype-tag': /^DOCTYPE/i,\n            'name': /[^\\s<>'\"]+/\n          }\n        },\n        'cdata': {\n          pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n          greedy: true\n        },\n        'tag': {\n          pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n          greedy: true,\n          inside: {\n            'tag': {\n              pattern: /^<\\/?[^\\s>\\/]+/,\n              inside: {\n                'punctuation': /^<\\/?/,\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            },\n            'special-attr': [],\n            'attr-value': {\n              pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n              inside: {\n                'punctuation': [{\n                  pattern: /^=/,\n                  alias: 'attr-equals'\n                }, {\n                  pattern: /^(\\s*)[\"']|[\"']$/,\n                  lookbehind: true\n                }]\n              }\n            },\n            'punctuation': /\\/?>/,\n            'attr-name': {\n              pattern: /[^\\s>\\/]+/,\n              inside: {\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            }\n          }\n        },\n        'entity': [{\n          pattern: /&[\\da-z]{1,8};/i,\n          alias: 'named-entity'\n        }, /&#x?[\\da-f]{1,8};/i]\n      };\n      Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\n      Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n      Prism.hooks.add('wrap', function (env) {\n        if (env.type === 'entity') {\n          env.attributes['title'] = env.content.replace(/&amp;/, '&');\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n        value: function addInlined(tagName, lang) {\n          var includedCdataInside = {};\n          includedCdataInside['language-' + lang] = {\n            pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n            lookbehind: true,\n            inside: Prism.languages[lang]\n          };\n          includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n          var inside = {\n            'included-cdata': {\n              pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n              inside: includedCdataInside\n            }\n          };\n          inside['language-' + lang] = {\n            pattern: /[\\s\\S]+/,\n            inside: Prism.languages[lang]\n          };\n          var def = {};\n          def[tagName] = {\n            pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n              return tagName;\n            }), 'i'),\n            lookbehind: true,\n            greedy: true,\n            inside: inside\n          };\n          Prism.languages.insertBefore('markup', 'cdata', def);\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n        value: function (attrName, lang) {\n          Prism.languages.markup.tag.inside['special-attr'].push({\n            pattern: RegExp(/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, 'i'),\n            lookbehind: true,\n            inside: {\n              'attr-name': /^[^\\s=]+/,\n              'attr-value': {\n                pattern: /=[\\s\\S]+/,\n                inside: {\n                  'value': {\n                    pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n                    lookbehind: true,\n                    alias: [lang, 'language-' + lang],\n                    inside: Prism.languages[lang]\n                  },\n                  'punctuation': [{\n                    pattern: /^=/,\n                    alias: 'attr-equals'\n                  }, /\"|'/]\n                }\n              }\n            }\n          });\n        }\n      });\n      Prism.languages.html = Prism.languages.markup;\n      Prism.languages.mathml = Prism.languages.markup;\n      Prism.languages.svg = Prism.languages.markup;\n      Prism.languages.xml = Prism.languages.extend('markup', {});\n      Prism.languages.ssml = Prism.languages.xml;\n      Prism.languages.atom = Prism.languages.xml;\n      Prism.languages.rss = Prism.languages.xml;\n      (function (Prism) {\n        var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/;\n        var constant = [{\n          pattern: /\\b(?:false|true)\\b/i,\n          alias: 'boolean'\n        }, {\n          pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n          greedy: true,\n          lookbehind: true\n        }, {\n          pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n          greedy: true,\n          lookbehind: true\n        }, /\\b(?:null)\\b/i, /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/];\n        var number = /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i;\n        var operator = /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;\n        var punctuation = /[{}\\[\\](),:;]/;\n        Prism.languages.php = {\n          'delimiter': {\n            pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n            alias: 'important'\n          },\n          'comment': comment,\n          'variable': /\\$+(?:\\w+\\b|(?=\\{))/,\n          'package': {\n            pattern: /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'class-name-definition': {\n            pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            lookbehind: true,\n            alias: 'class-name'\n          },\n          'function-definition': {\n            pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n            lookbehind: true,\n            alias: 'function'\n          },\n          'keyword': [{\n            pattern: /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n            alias: 'type-casting',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n            alias: 'type-declaration',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(\\byield\\s+)from\\b/i,\n            lookbehind: true\n          }, /\\bclass\\b/i, {\n            pattern: /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n            lookbehind: true\n          }],\n          'argument-name': {\n            pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n            lookbehind: true\n          },\n          'class-name': [{\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-declaration'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n            alias: ['class-name-fully-qualified', 'static-context'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-hint'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: ['class-name-fully-qualified', 'return-type'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }],\n          'constant': constant,\n          'function': {\n            pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'property': {\n            pattern: /(->\\s*)\\w+/,\n            lookbehind: true\n          },\n          'number': number,\n          'operator': operator,\n          'punctuation': punctuation\n        };\n        var string_interpolation = {\n          pattern: /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n          lookbehind: true,\n          inside: Prism.languages.php\n        };\n        var string = [{\n          pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n          alias: 'nowdoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<'?|[';]$/\n              }\n            }\n          }\n        }, {\n          pattern: /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n          alias: 'heredoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<\"?|[\";]$/\n              }\n            },\n            'interpolation': string_interpolation\n          }\n        }, {\n          pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n          alias: 'backtick-quoted-string',\n          greedy: true\n        }, {\n          pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n          alias: 'single-quoted-string',\n          greedy: true\n        }, {\n          pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n          alias: 'double-quoted-string',\n          greedy: true,\n          inside: {\n            'interpolation': string_interpolation\n          }\n        }];\n        Prism.languages.insertBefore('php', 'variable', {\n          'string': string,\n          'attribute': {\n            pattern: /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n            greedy: true,\n            inside: {\n              'attribute-content': {\n                pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n                lookbehind: true,\n                inside: {\n                  'comment': comment,\n                  'string': string,\n                  'attribute-class-name': [{\n                    pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n                    alias: 'class-name',\n                    greedy: true,\n                    lookbehind: true\n                  }, {\n                    pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n                    alias: ['class-name', 'class-name-fully-qualified'],\n                    greedy: true,\n                    lookbehind: true,\n                    inside: {\n                      'punctuation': /\\\\/\n                    }\n                  }],\n                  'constant': constant,\n                  'number': number,\n                  'operator': operator,\n                  'punctuation': punctuation\n                }\n              },\n              'delimiter': {\n                pattern: /^#\\[|\\]$/,\n                alias: 'punctuation'\n              }\n            }\n          }\n        });\n        Prism.hooks.add('before-tokenize', function (env) {\n          if (!/<\\?/.test(env.code)) {\n            return;\n          }\n          var phpPattern = /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;\n          Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);\n        });\n        Prism.hooks.add('after-tokenize', function (env) {\n          Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');\n        });\n      })(Prism);\n      Prism.languages.python = {\n        'comment': {\n          pattern: /(^|[^\\\\])#.*/,\n          lookbehind: true,\n          greedy: true\n        },\n        'string-interpolation': {\n          pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n          greedy: true,\n          inside: {\n            'interpolation': {\n              pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'format-spec': {\n                  pattern: /(:)[^:(){}]+(?=\\}$)/,\n                  lookbehind: true\n                },\n                'conversion-option': {\n                  pattern: /![sra](?=[:}]$)/,\n                  alias: 'punctuation'\n                },\n                rest: null\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'triple-quoted-string': {\n          pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n          greedy: true,\n          alias: 'string'\n        },\n        'string': {\n          pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n          greedy: true\n        },\n        'function': {\n          pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n          lookbehind: true\n        },\n        'class-name': {\n          pattern: /(\\bclass\\s+)\\w+/i,\n          lookbehind: true\n        },\n        'decorator': {\n          pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n          lookbehind: true,\n          alias: ['annotation', 'punctuation'],\n          inside: {\n            'punctuation': /\\./\n          }\n        },\n        'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n        'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n        'boolean': /\\b(?:False|None|True)\\b/,\n        'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n        'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n      Prism.languages.py = Prism.languages.python;\n      (function (Prism) {\n        Prism.languages.ruby = Prism.languages.extend('clike', {\n          'comment': {\n            pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n            greedy: true\n          },\n          'class-name': {\n            pattern: /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n            lookbehind: true,\n            inside: {\n              'punctuation': /[.\\\\]/\n            }\n          },\n          'keyword': /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n          'operator': /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n          'punctuation': /[(){}[\\].,;]/\n        });\n        Prism.languages.insertBefore('ruby', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        var interpolation = {\n          pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n          lookbehind: true,\n          inside: {\n            'content': {\n              pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n              lookbehind: true,\n              inside: Prism.languages.ruby\n            },\n            'delimiter': {\n              pattern: /^#\\{|\\}$/,\n              alias: 'punctuation'\n            }\n          }\n        };\n        delete Prism.languages.ruby.function;\n        var percentExpression = '(?:' + [/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source, /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source, /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source, /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join('|') + ')';\n        var symbolName = /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;\n        Prism.languages.insertBefore('ruby', 'keyword', {\n          'regex-literal': [{\n            pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }],\n          'variable': /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n          'symbol': [{\n            pattern: RegExp(/(^|[^:]):/.source + symbolName),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: RegExp(/([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source),\n            lookbehind: true,\n            greedy: true\n          }],\n          'method-definition': {\n            pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n            lookbehind: true,\n            inside: {\n              'function': /\\b\\w+$/,\n              'keyword': /^self\\b/,\n              'class-name': /^\\w+/,\n              'punctuation': /\\./\n            }\n          }\n        });\n        Prism.languages.insertBefore('ruby', 'string', {\n          'string-literal': [{\n            pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?/\n                }\n              },\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?'|'$/\n                }\n              },\n              'string': /[\\s\\S]+/\n            }\n          }],\n          'command-literal': [{\n            pattern: RegExp(/%x/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }, {\n            pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }]\n        });\n        delete Prism.languages.ruby.string;\n        Prism.languages.insertBefore('ruby', 'number', {\n          'builtin': /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n          'constant': /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n        });\n        Prism.languages.rb = Prism.languages.ruby;\n      })(Prism);\n      window.Prism = oldprism;\n      return Prism;\n    }(undefined, undefined);\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('codesample_languages', {\n        processor: 'object[]'\n      });\n      registerOption('codesample_global_prismjs', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getLanguages$1 = option('codesample_languages');\n    const useGlobalPrismJS = option('codesample_global_prismjs');\n\n    const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs;\n\n    const isCodeSample = elm => {\n      return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;\n    };\n\n    const getSelectedCodeSample = editor => {\n      const node = editor.selection ? editor.selection.getNode() : null;\n      return isCodeSample(node) ? Optional.some(node) : Optional.none();\n    };\n    const insertCodeSample = (editor, language, code) => {\n      const dom = editor.dom;\n      editor.undoManager.transact(() => {\n        const node = getSelectedCodeSample(editor);\n        code = global$1.DOM.encode(code);\n        return node.fold(() => {\n          editor.insertContent('<pre id=\"__new\" class=\"language-' + language + '\">' + code + '<\/pre>');\n          const newPre = dom.select('#__new')[0];\n          dom.setAttrib(newPre, 'id', null);\n          editor.selection.select(newPre);\n        }, n => {\n          dom.setAttrib(n, 'class', 'language-' + language);\n          n.innerHTML = code;\n          get(editor).highlightElement(n);\n          editor.selection.select(n);\n        });\n      });\n    };\n    const getCurrentCode = editor => {\n      const node = getSelectedCodeSample(editor);\n      return node.bind(n => Optional.from(n.textContent)).getOr('');\n    };\n\n    const getLanguages = editor => {\n      const defaultLanguages = [{\n        text: 'HTML/XML',\n        value: 'markup'\n      }, {\n        text: 'JavaScript',\n        value: 'javascript'\n      }, {\n        text: 'CSS',\n        value: 'css'\n      }, {\n        text: 'PHP',\n        value: 'php'\n      }, {\n        text: 'Ruby',\n        value: 'ruby'\n      }, {\n        text: 'Python',\n        value: 'python'\n      }, {\n        text: 'Java',\n        value: 'java'\n      }, {\n        text: 'C',\n        value: 'c'\n      }, {\n        text: 'C#',\n        value: 'csharp'\n      }, {\n        text: 'C++',\n        value: 'cpp'\n      }];\n      const customLanguages = getLanguages$1(editor);\n      return customLanguages ? customLanguages : defaultLanguages;\n    };\n    const getCurrentLanguage = (editor, fallback) => {\n      const node = getSelectedCodeSample(editor);\n      return node.fold(() => fallback, n => {\n        const matches = n.className.match(/language-(\\w+)/);\n        return matches ? matches[1] : fallback;\n      });\n    };\n\n    const open = editor => {\n      const languages = getLanguages(editor);\n      const defaultLanguage = head(languages).fold(constant(''), l => l.value);\n      const currentLanguage = getCurrentLanguage(editor, defaultLanguage);\n      const currentCode = getCurrentCode(editor);\n      editor.windowManager.open({\n        title: 'Insert/Edit Code Sample',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'listbox',\n            name: 'language',\n            label: 'Language',\n            items: languages\n          }, {\n            type: 'textarea',\n            name: 'code',\n            label: 'Code view'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          language: currentLanguage,\n          code: currentCode\n        },\n        onSubmit: api => {\n          const data = api.getData();\n          insertCodeSample(editor, data.language, data.code);\n          api.close();\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('codesample', () => {\n        const node = editor.selection.getNode();\n        if (editor.selection.isCollapsed() || isCodeSample(node)) {\n          open(editor);\n        } else {\n          editor.formatter.toggle('code');\n        }\n      });\n    };\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const setup = editor => {\n      editor.on('PreProcess', e => {\n        const dom = editor.dom;\n        const pres = dom.select('pre[contenteditable=false]', e.node);\n        global.each(global.grep(pres, isCodeSample), elm => {\n          const code = elm.textContent;\n          dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class')));\n          dom.setAttrib(elm, 'contentEditable', null);\n          dom.setAttrib(elm, 'data-mce-highlighted', null);\n          let child;\n          while (child = elm.firstChild) {\n            elm.removeChild(child);\n          }\n          const codeElm = dom.add(elm, 'code');\n          codeElm.textContent = code;\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => {\n          return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true';\n        });\n        if (unprocessedCodeSamples.length) {\n          editor.undoManager.transact(() => {\n            global.each(unprocessedCodeSamples, elm => {\n              var _a;\n              global.each(dom.select('br', elm), elm => {\n                dom.replace(editor.getDoc().createTextNode('\\n'), elm);\n              });\n              elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : '');\n              get(editor).highlightElement(elm);\n              dom.setAttrib(elm, 'data-mce-highlighted', true);\n              elm.className = trim(elm.className);\n            });\n          });\n        }\n      });\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('pre', nodes => {\n          var _a;\n          for (let i = 0, l = nodes.length; i < l; i++) {\n            const node = nodes[i];\n            const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1;\n            if (isCodeSample) {\n              node.attr('contenteditable', 'false');\n              node.attr('data-mce-highlighted', 'false');\n            }\n          }\n        });\n      });\n    };\n\n    const onSetupEditable = (editor, onChanged = noop) => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n        onChanged(api);\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const isCodeSampleSelection = editor => {\n      const node = editor.selection.getStart();\n      return editor.dom.is(node, 'pre[class*=\"language-\"]');\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('codesample');\n      editor.ui.registry.addToggleButton('codesample', {\n        icon: 'code-sample',\n        tooltip: 'Insert/edit code sample',\n        onAction,\n        onSetup: onSetupEditable(editor, api => {\n          api.setActive(isCodeSampleSelection(editor));\n        })\n      });\n      editor.ui.registry.addMenuItem('codesample', {\n        text: 'Code sample...',\n        icon: 'code-sample',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('codesample', editor => {\n        register$2(editor);\n        setup(editor);\n        register(editor);\n        register$1(editor);\n        editor.on('dblclick', ev => {\n          if (isCodeSample(ev.target)) {\n            open(editor);\n          }\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children$2 = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const get = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const getDirection = element => get(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const children$1 = (scope, predicate) => filter(children$2(scope), predicate);\n\n    const children = (scope, selector) => children$1(scope, e => is(e, selector));\n\n    const getParentElement = element => parent(element).filter(isElement);\n    const getNormalizedBlock = (element, isListItem) => {\n      const normalizedElement = isListItem ? ancestor(element, 'ol,ul') : Optional.some(element);\n      return normalizedElement.getOr(element);\n    };\n    const isListItem = isTag('li');\n    const setDirOnElements = (dom, blocks, dir) => {\n      each(blocks, block => {\n        const blockElement = SugarElement.fromDom(block);\n        const isBlockElementListItem = isListItem(blockElement);\n        const normalizedBlock = getNormalizedBlock(blockElement, isBlockElementListItem);\n        const normalizedBlockParent = getParentElement(normalizedBlock);\n        normalizedBlockParent.each(parent => {\n          dom.setStyle(normalizedBlock.dom, 'direction', null);\n          const parentDirection = getDirection(parent);\n          if (parentDirection === dir) {\n            remove(normalizedBlock, 'dir');\n          } else {\n            set(normalizedBlock, 'dir', dir);\n          }\n          if (getDirection(normalizedBlock) !== dir) {\n            dom.setStyle(normalizedBlock.dom, 'direction', dir);\n          }\n          if (isBlockElementListItem) {\n            const listItems = children(normalizedBlock, 'li[dir],li[style]');\n            each(listItems, listItem => {\n              remove(listItem, 'dir');\n              dom.setStyle(listItem.dom, 'direction', null);\n            });\n          }\n        });\n      });\n    };\n    const setDir = (editor, dir) => {\n      if (editor.selection.isEditable()) {\n        setDirOnElements(editor.dom, editor.selection.getSelectedBlocks(), dir);\n        editor.nodeChanged();\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceDirectionLTR', () => {\n        setDir(editor, 'ltr');\n      });\n      editor.addCommand('mceDirectionRTL', () => {\n        setDir(editor, 'rtl');\n      });\n    };\n\n    const getNodeChangeHandler = (editor, dir) => api => {\n      const nodeChangeHandler = e => {\n        const element = SugarElement.fromDom(e.element);\n        api.setActive(getDirection(element) === dir);\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChangeHandler);\n      api.setEnabled(editor.selection.isEditable());\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('ltr', {\n        tooltip: 'Left to right',\n        icon: 'ltr',\n        onAction: () => editor.execCommand('mceDirectionLTR'),\n        onSetup: getNodeChangeHandler(editor, 'ltr')\n      });\n      editor.ui.registry.addToggleButton('rtl', {\n        tooltip: 'Right to left',\n        icon: 'rtl',\n        onAction: () => editor.execCommand('mceDirectionRTL'),\n        onSetup: getNodeChangeHandler(editor, 'rtl')\n      });\n    };\n\n    var Plugin = () => {\n      global.add('directionality', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const insertEmoticon = (editor, ch) => {\n      editor.insertContent(ch);\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const merge = baseMerge(shallow);\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const DEFAULT_ID = 'tinymce.plugins.emoticons';\n    const option = name => editor => editor.options.get(name);\n    const register$2 = (editor, pluginUrl) => {\n      const registerOption = editor.options.register;\n      registerOption('emoticons_database', {\n        processor: 'string',\n        default: 'emojis'\n      });\n      registerOption('emoticons_database_url', {\n        processor: 'string',\n        default: \"\".concat(pluginUrl, \"/js/\").concat(getEmojiDatabase(editor)).concat(editor.suffix, \".js\")\n      });\n      registerOption('emoticons_database_id', {\n        processor: 'string',\n        default: DEFAULT_ID\n      });\n      registerOption('emoticons_append', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('emoticons_images_url', {\n        processor: 'string',\n        default: 'https://twemoji.maxcdn.com/v/13.0.1/72x72/'\n      });\n    };\n    const getEmojiDatabase = option('emoticons_database');\n    const getEmojiDatabaseUrl = option('emoticons_database_url');\n    const getEmojiDatabaseId = option('emoticons_database_id');\n    const getAppendedEmoji = option('emoticons_append');\n    const getEmojiImageUrl = option('emoticons_images_url');\n\n    const ALL_CATEGORY = 'All';\n    const categoryNameMap = {\n      symbols: 'Symbols',\n      people: 'People',\n      animals_and_nature: 'Animals and Nature',\n      food_and_drink: 'Food and Drink',\n      activity: 'Activity',\n      travel_and_places: 'Travel and Places',\n      objects: 'Objects',\n      flags: 'Flags',\n      user: 'User Defined'\n    };\n    const translateCategory = (categories, name) => has(categories, name) ? categories[name] : name;\n    const getUserDefinedEmoji = editor => {\n      const userDefinedEmoticons = getAppendedEmoji(editor);\n      return map(userDefinedEmoticons, value => ({\n        keywords: [],\n        category: 'user',\n        ...value\n      }));\n    };\n    const initDatabase = (editor, databaseUrl, databaseId) => {\n      const categories = value();\n      const all = value();\n      const emojiImagesUrl = getEmojiImageUrl(editor);\n      const getEmoji = lib => {\n        if (startsWith(lib.char, '<img')) {\n          return lib.char.replace(/src=\"([^\"]+)\"/, (match, url) => \"src=\\\"\".concat(emojiImagesUrl).concat(url, \"\\\"\"));\n        } else {\n          return lib.char;\n        }\n      };\n      const processEmojis = emojis => {\n        const cats = {};\n        const everything = [];\n        each(emojis, (lib, title) => {\n          const entry = {\n            title,\n            keywords: lib.keywords,\n            char: getEmoji(lib),\n            category: translateCategory(categoryNameMap, lib.category)\n          };\n          const current = cats[entry.category] !== undefined ? cats[entry.category] : [];\n          cats[entry.category] = current.concat([entry]);\n          everything.push(entry);\n        });\n        categories.set(cats);\n        all.set(everything);\n      };\n      editor.on('init', () => {\n        global.load(databaseId, databaseUrl).then(emojis => {\n          const userEmojis = getUserDefinedEmoji(editor);\n          processEmojis(merge(emojis, userEmojis));\n        }, err => {\n          console.log(\"Failed to load emojis: \".concat(err));\n          categories.set({});\n          all.set([]);\n        });\n      });\n      const listCategory = category => {\n        if (category === ALL_CATEGORY) {\n          return listAll();\n        }\n        return categories.get().bind(cats => Optional.from(cats[category])).getOr([]);\n      };\n      const listAll = () => all.get().getOr([]);\n      const listCategories = () => [ALL_CATEGORY].concat(keys(categories.get().getOr({})));\n      const waitForLoad = () => {\n        if (hasLoaded()) {\n          return Promise.resolve(true);\n        } else {\n          return new Promise((resolve, reject) => {\n            let numRetries = 15;\n            const interval = setInterval(() => {\n              if (hasLoaded()) {\n                clearInterval(interval);\n                resolve(true);\n              } else {\n                numRetries--;\n                if (numRetries < 0) {\n                  console.log('Could not load emojis from url: ' + databaseUrl);\n                  clearInterval(interval);\n                  reject(false);\n                }\n              }\n            }, 100);\n          });\n        }\n      };\n      const hasLoaded = () => categories.isSet() && all.isSet();\n      return {\n        listCategories,\n        hasLoaded,\n        waitForLoad,\n        listAll,\n        listCategory\n      };\n    };\n\n    const emojiMatches = (emoji, lowerCasePattern) => contains(emoji.title.toLowerCase(), lowerCasePattern) || exists(emoji.keywords, k => contains(k.toLowerCase(), lowerCasePattern));\n    const emojisFrom = (list, pattern, maxResults) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      const reachedLimit = maxResults.fold(() => never, max => size => size >= max);\n      for (let i = 0; i < list.length; i++) {\n        if (pattern.length === 0 || emojiMatches(list[i], lowerCasePattern)) {\n          matches.push({\n            value: list[i].char,\n            text: list[i].title,\n            icon: list[i].char\n          });\n          if (reachedLimit(matches.length)) {\n            break;\n          }\n        }\n      }\n      return matches;\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, database) => {\n      const initialState = {\n        pattern: '',\n        results: emojisFrom(database.listAll(), '', Optional.some(300))\n      };\n      const currentTab = Cell(ALL_CATEGORY);\n      const scan = dialogApi => {\n        const dialogData = dialogApi.getData();\n        const category = currentTab.get();\n        const candidates = database.listCategory(category);\n        const results = emojisFrom(candidates, dialogData[patternName], category === ALL_CATEGORY ? Optional.some(300) : Optional.none());\n        dialogApi.setData({\n          results\n        });\n      };\n      const updateFilter = last(dialogApi => {\n        scan(dialogApi);\n      }, 200);\n      const searchField = {\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      };\n      const resultsField = {\n        type: 'collection',\n        name: 'results'\n      };\n      const getInitialState = () => {\n        const body = {\n          type: 'tabpanel',\n          tabs: map$1(database.listCategories(), cat => ({\n            title: cat,\n            name: cat,\n            items: [searchField, resultsField]\n          }))\n        };\n        return {\n          title: 'Emojis',\n          size: 'normal',\n          body,\n          initialData: initialState,\n          onTabChange: (dialogApi, details) => {\n            currentTab.set(details.newTabName);\n            updateFilter.throttle(dialogApi);\n          },\n          onChange: updateFilter.throttle,\n          onAction: (dialogApi, actionData) => {\n            if (actionData.name === 'results') {\n              insertEmoticon(editor, actionData.value);\n              dialogApi.close();\n            }\n          },\n          buttons: [{\n            type: 'cancel',\n            text: 'Close',\n            primary: true\n          }]\n        };\n      };\n      const dialogApi = editor.windowManager.open(getInitialState());\n      dialogApi.focus(patternName);\n      if (!database.hasLoaded()) {\n        dialogApi.block('Loading emojis...');\n        database.waitForLoad().then(() => {\n          dialogApi.redial(getInitialState());\n          updateFilter.throttle(dialogApi);\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        }).catch(_err => {\n          dialogApi.redial({\n            title: 'Emojis',\n            body: {\n              type: 'panel',\n              items: [{\n                type: 'alertbanner',\n                level: 'error',\n                icon: 'warning',\n                text: 'Could not load emojis'\n              }]\n            },\n            buttons: [{\n              type: 'cancel',\n              text: 'Close',\n              primary: true\n            }],\n            initialData: {\n              pattern: '',\n              results: []\n            }\n          });\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        });\n      }\n    };\n\n    const register$1 = (editor, database) => {\n      editor.addCommand('mceEmoticons', () => open(editor, database));\n    };\n\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addAttributeFilter('data-emoticon', nodes => {\n          each$1(nodes, node => {\n            node.attr('data-mce-resize', 'false');\n            node.attr('data-mce-placeholder', '1');\n          });\n        });\n      });\n    };\n\n    const init = (editor, database) => {\n      editor.ui.registry.addAutocompleter('emoticons', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, maxResults) => database.waitForLoad().then(() => {\n          const candidates = database.listAll();\n          return emojisFrom(candidates, pattern, Optional.some(maxResults));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceEmoticons');\n      editor.ui.registry.addButton('emoticons', {\n        tooltip: 'Emojis',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('emoticons', {\n        text: 'Emojis...',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('emoticons', (editor, pluginUrl) => {\n        register$2(editor, pluginUrl);\n        const databaseUrl = getEmojiDatabaseUrl(editor);\n        const databaseId = getEmojiDatabaseId(editor);\n        const database = initDatabase(editor, databaseUrl, databaseId);\n        register$1(editor, database);\n        register(editor);\n        init(editor, database);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\nwindow.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💯\" src=\"1f4af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔢\" src=\"1f522.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😀\" src=\"1f600.png\"/>',fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😬\" src=\"1f62c.png\"/>',fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😁\" src=\"1f601.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😂\" src=\"1f602.png\"/>',fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤣\" src=\"1f923.png\"/>',fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥳\" src=\"1f973.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😃\" src=\"1f603.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😄\" src=\"1f604.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😅\" src=\"1f605.png\"/>',fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😆\" src=\"1f606.png\"/>',fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😇\" src=\"1f607.png\"/>',fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😉\" src=\"1f609.png\"/>',fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😊\" src=\"1f60a.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙂\" src=\"1f642.png\"/>',fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙃\" src=\"1f643.png\"/>',fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☺️\" src=\"263a.png\"/>',fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😋\" src=\"1f60b.png\"/>',fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😌\" src=\"1f60c.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😍\" src=\"1f60d.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥰\" src=\"1f970.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😘\" src=\"1f618.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😗\" src=\"1f617.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😙\" src=\"1f619.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😚\" src=\"1f61a.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😜\" src=\"1f61c.png\"/>',fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤪\" src=\"1f92a.png\"/>',fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤨\" src=\"1f928.png\"/>',fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧐\" src=\"1f9d0.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😝\" src=\"1f61d.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😛\" src=\"1f61b.png\"/>',fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤑\" src=\"1f911.png\"/>',fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤓\" src=\"1f913.png\"/>',fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😎\" src=\"1f60e.png\"/>',fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤩\" src=\"1f929.png\"/>',fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤡\" src=\"1f921.png\"/>',fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤠\" src=\"1f920.png\"/>',fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤗\" src=\"1f917.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😏\" src=\"1f60f.png\"/>',fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😶\" src=\"1f636.png\"/>',fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😐\" src=\"1f610.png\"/>',fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😑\" src=\"1f611.png\"/>',fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😒\" src=\"1f612.png\"/>',fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙄\" src=\"1f644.png\"/>',fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤔\" src=\"1f914.png\"/>',fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤥\" src=\"1f925.png\"/>',fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤭\" src=\"1f92d.png\"/>',fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤫\" src=\"1f92b.png\"/>',fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤬\" src=\"1f92c.png\"/>',fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤯\" src=\"1f92f.png\"/>',fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😳\" src=\"1f633.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😞\" src=\"1f61e.png\"/>',fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😟\" src=\"1f61f.png\"/>',fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😠\" src=\"1f620.png\"/>',fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😡\" src=\"1f621.png\"/>',fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😔\" src=\"1f614.png\"/>',fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😕\" src=\"1f615.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙁\" src=\"1f641.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☹\" src=\"2639.png\"/>',fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😣\" src=\"1f623.png\"/>',fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😖\" src=\"1f616.png\"/>',fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😫\" src=\"1f62b.png\"/>',fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😩\" src=\"1f629.png\"/>',fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥺\" src=\"1f97a.png\"/>',fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😤\" src=\"1f624.png\"/>',fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😮\" src=\"1f62e.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😱\" src=\"1f631.png\"/>',fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😨\" src=\"1f628.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😰\" src=\"1f630.png\"/>',fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😯\" src=\"1f62f.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😦\" src=\"1f626.png\"/>',fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😧\" src=\"1f627.png\"/>',fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😢\" src=\"1f622.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😥\" src=\"1f625.png\"/>',fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤤\" src=\"1f924.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😪\" src=\"1f62a.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😓\" src=\"1f613.png\"/>',fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥵\" src=\"1f975.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥶\" src=\"1f976.png\"/>',fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😭\" src=\"1f62d.png\"/>',fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😵\" src=\"1f635.png\"/>',fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😲\" src=\"1f632.png\"/>',fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤐\" src=\"1f910.png\"/>',fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤢\" src=\"1f922.png\"/>',fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤧\" src=\"1f927.png\"/>',fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤮\" src=\"1f92e.png\"/>',fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😷\" src=\"1f637.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤒\" src=\"1f912.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤕\" src=\"1f915.png\"/>',fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥴\" src=\"1f974.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😴\" src=\"1f634.png\"/>',fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💤\" src=\"1f4a4.png\"/>',fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💩\" src=\"1f4a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😈\" src=\"1f608.png\"/>',fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👿\" src=\"1f47f.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👹\" src=\"1f479.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👺\" src=\"1f47a.png\"/>',fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💀\" src=\"1f480.png\"/>',fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👻\" src=\"1f47b.png\"/>',fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👽\" src=\"1f47d.png\"/>',fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤖\" src=\"1f916.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😺\" src=\"1f63a.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😸\" src=\"1f638.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😹\" src=\"1f639.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😻\" src=\"1f63b.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😼\" src=\"1f63c.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😽\" src=\"1f63d.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙀\" src=\"1f640.png\"/>',fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😿\" src=\"1f63f.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😾\" src=\"1f63e.png\"/>',fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤲\" src=\"1f932.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙌\" src=\"1f64c.png\"/>',fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👏\" src=\"1f44f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👋\" src=\"1f44b.png\"/>',fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤙\" src=\"1f919.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👍\" src=\"1f44d.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👎\" src=\"1f44e.png\"/>',fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👊\" src=\"1f44a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✊\" src=\"270a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤛\" src=\"1f91b.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤜\" src=\"1f91c.png\"/>',fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✌\" src=\"270c.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👌\" src=\"1f44c.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✋\" src=\"270b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤚\" src=\"1f91a.png\"/>',fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👐\" src=\"1f450.png\"/>',fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💪\" src=\"1f4aa.png\"/>',fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙏\" src=\"1f64f.png\"/>',fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦶\" src=\"1f9b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦵\" src=\"1f9b5.png\"/>',fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤝\" src=\"1f91d.png\"/>',fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☝\" src=\"261d.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👆\" src=\"1f446.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👇\" src=\"1f447.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👈\" src=\"1f448.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👉\" src=\"1f449.png\"/>',fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖕\" src=\"1f595.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖐\" src=\"1f590.png\"/>',fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤟\" src=\"1f91f.png\"/>',fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤘\" src=\"1f918.png\"/>',fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤞\" src=\"1f91e.png\"/>',fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖖\" src=\"1f596.png\"/>',fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✍\" src=\"270d.png\"/>',fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤳\" src=\"1f933.png\"/>',fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💅\" src=\"1f485.png\"/>',fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👄\" src=\"1f444.png\"/>',fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦷\" src=\"1f9b7.png\"/>',fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👅\" src=\"1f445.png\"/>',fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👂\" src=\"1f442.png\"/>',fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👃\" src=\"1f443.png\"/>',fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👁\" src=\"1f441.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👀\" src=\"1f440.png\"/>',fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧠\" src=\"1f9e0.png\"/>',fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👤\" src=\"1f464.png\"/>',fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👥\" src=\"1f465.png\"/>',fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗣\" src=\"1f5e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👶\" src=\"1f476.png\"/>',fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧒\" src=\"1f9d2.png\"/>',fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👦\" src=\"1f466.png\"/>',fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👧\" src=\"1f467.png\"/>',fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧑\" src=\"1f9d1.png\"/>',fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨\" src=\"1f468.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩\" src=\"1f469.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱‍♀️\" src=\"1f471-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱\" src=\"1f471.png\"/>',fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧔\" src=\"1f9d4.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧓\" src=\"1f9d3.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👴\" src=\"1f474.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👵\" src=\"1f475.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👲\" src=\"1f472.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧕\" src=\"1f9d5.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳‍♀️\" src=\"1f473-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳\" src=\"1f473.png\"/>',fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮‍♀️\" src=\"1f46e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮\" src=\"1f46e.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷‍♀️\" src=\"1f477-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷\" src=\"1f477.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂‍♀️\" src=\"1f482-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂\" src=\"1f482.png\"/>',fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵️‍♀️\" src=\"1f575-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵\" src=\"1f575.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚕️\" src=\"1f469-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚕️\" src=\"1f468-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🌾\" src=\"1f469-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🌾\" src=\"1f468-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🍳\" src=\"1f469-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🍳\" src=\"1f468-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎓\" src=\"1f469-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎓\" src=\"1f468-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎤\" src=\"1f469-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎤\" src=\"1f468-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏫\" src=\"1f469-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏫\" src=\"1f468-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏭\" src=\"1f469-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏭\" src=\"1f468-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💻\" src=\"1f469-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💻\" src=\"1f468-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💼\" src=\"1f469-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💼\" src=\"1f468-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔧\" src=\"1f469-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔧\" src=\"1f468-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔬\" src=\"1f469-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔬\" src=\"1f468-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎨\" src=\"1f469-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎨\" src=\"1f468-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚒\" src=\"1f469-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚒\" src=\"1f468-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍✈️\" src=\"1f469-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍✈️\" src=\"1f468-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚀\" src=\"1f469-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚀\" src=\"1f468-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚖️\" src=\"1f469-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚖️\" src=\"1f468-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♀️\" src=\"1f9b8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♂️\" src=\"1f9b8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♀️\" src=\"1f9b9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♂️\" src=\"1f9b9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤶\" src=\"1f936.png\"/>',fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎅\" src=\"1f385.png\"/>',fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♀️\" src=\"1f9d9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♂️\" src=\"1f9d9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♀️\" src=\"1f9dd-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♂️\" src=\"1f9dd-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♀️\" src=\"1f9db-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♂️\" src=\"1f9db-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♀️\" src=\"1f9df-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♂️\" src=\"1f9df-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♀️\" src=\"1f9de-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♂️\" src=\"1f9de-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♀️\" src=\"1f9dc-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♂️\" src=\"1f9dc-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♀️\" src=\"1f9da-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♂️\" src=\"1f9da-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👼\" src=\"1f47c.png\"/>',fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤰\" src=\"1f930.png\"/>',fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤱\" src=\"1f931.png\"/>',fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👸\" src=\"1f478.png\"/>',fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤴\" src=\"1f934.png\"/>',fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👰\" src=\"1f470.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤵\" src=\"1f935.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃‍♀️\" src=\"1f3c3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃\" src=\"1f3c3.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶‍♀️\" src=\"1f6b6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶\" src=\"1f6b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💃\" src=\"1f483.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕺\" src=\"1f57a.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯\" src=\"1f46f.png\"/>',fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯‍♂️\" src=\"1f46f-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👫\" src=\"1f46b.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👬\" src=\"1f46c.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👭\" src=\"1f46d.png\"/>',fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇‍♀️\" src=\"1f647-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇\" src=\"1f647.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♂️\" src=\"1f926-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♀️\" src=\"1f926-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷\" src=\"1f937.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷‍♂️\" src=\"1f937-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁\" src=\"1f481.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁‍♂️\" src=\"1f481-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅\" src=\"1f645.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅‍♂️\" src=\"1f645-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆\" src=\"1f646.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆‍♂️\" src=\"1f646-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋\" src=\"1f64b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋‍♂️\" src=\"1f64b-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎\" src=\"1f64e.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎‍♂️\" src=\"1f64e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍\" src=\"1f64d.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍‍♂️\" src=\"1f64d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇\" src=\"1f487.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇‍♂️\" src=\"1f487-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆\" src=\"1f486.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆‍♂️\" src=\"1f486-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♀️\" src=\"1f9d6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♂️\" src=\"1f9d6-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💑\" src=\"1f491.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💏\" src=\"1f48f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍💋‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍💋‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👪\" src=\"1f46a.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧\" src=\"1f468-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👦\" src=\"1f468-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👦‍👦\" src=\"1f468-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👧\" src=\"1f468-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦\" src=\"1f469-200d-1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧\" src=\"1f469-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👦\" src=\"1f469-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦‍👦\" src=\"1f469-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👧\" src=\"1f469-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦\" src=\"1f468-200d-1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧\" src=\"1f468-200d-1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👦\" src=\"1f468-200d-1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦‍👦\" src=\"1f468-200d-1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👧\" src=\"1f468-200d-1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦\" src=\"1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧\" src=\"1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👦\" src=\"1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦‍👦\" src=\"1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👧\" src=\"1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦\" src=\"1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧\" src=\"1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👦\" src=\"1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦‍👦\" src=\"1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👧\" src=\"1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧶\" src=\"1f9f6.png\"/>',fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧵\" src=\"1f9f5.png\"/>',fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧥\" src=\"1f9e5.png\"/>',fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥼\" src=\"1f97c.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👚\" src=\"1f45a.png\"/>',fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👕\" src=\"1f455.png\"/>',fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👖\" src=\"1f456.png\"/>',fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👔\" src=\"1f454.png\"/>',fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👗\" src=\"1f457.png\"/>',fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👙\" src=\"1f459.png\"/>',fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👘\" src=\"1f458.png\"/>',fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💄\" src=\"1f484.png\"/>',fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💋\" src=\"1f48b.png\"/>',fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👣\" src=\"1f463.png\"/>',fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥿\" src=\"1f97f.png\"/>',fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👠\" src=\"1f460.png\"/>',fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👡\" src=\"1f461.png\"/>',fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👢\" src=\"1f462.png\"/>',fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👞\" src=\"1f45e.png\"/>',fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👟\" src=\"1f45f.png\"/>',fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥾\" src=\"1f97e.png\"/>',fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧦\" src=\"1f9e6.png\"/>',fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧤\" src=\"1f9e4.png\"/>',fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧣\" src=\"1f9e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👒\" src=\"1f452.png\"/>',fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎩\" src=\"1f3a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧢\" src=\"1f9e2.png\"/>',fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛑\" src=\"26d1.png\"/>',fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎓\" src=\"1f393.png\"/>',fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👑\" src=\"1f451.png\"/>',fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎒\" src=\"1f392.png\"/>',fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧳\" src=\"1f9f3.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👝\" src=\"1f45d.png\"/>',fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👛\" src=\"1f45b.png\"/>',fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👜\" src=\"1f45c.png\"/>',fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💼\" src=\"1f4bc.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👓\" src=\"1f453.png\"/>',fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕶\" src=\"1f576.png\"/>',fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥽\" src=\"1f97d.png\"/>',fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💍\" src=\"1f48d.png\"/>',fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌂\" src=\"1f302.png\"/>',fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐶\" src=\"1f436.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐱\" src=\"1f431.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐭\" src=\"1f42d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐹\" src=\"1f439.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐰\" src=\"1f430.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦊\" src=\"1f98a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐻\" src=\"1f43b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐼\" src=\"1f43c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐨\" src=\"1f428.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐯\" src=\"1f42f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦁\" src=\"1f981.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐮\" src=\"1f42e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐷\" src=\"1f437.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐽\" src=\"1f43d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐸\" src=\"1f438.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦑\" src=\"1f991.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐙\" src=\"1f419.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦐\" src=\"1f990.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐵\" src=\"1f435.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦍\" src=\"1f98d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙈\" src=\"1f648.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙉\" src=\"1f649.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙊\" src=\"1f64a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐒\" src=\"1f412.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐔\" src=\"1f414.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐧\" src=\"1f427.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐦\" src=\"1f426.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐤\" src=\"1f424.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐣\" src=\"1f423.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐥\" src=\"1f425.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦆\" src=\"1f986.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦅\" src=\"1f985.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦉\" src=\"1f989.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦇\" src=\"1f987.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐺\" src=\"1f43a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐗\" src=\"1f417.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐴\" src=\"1f434.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦄\" src=\"1f984.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐝\" src=\"1f41d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐛\" src=\"1f41b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦋\" src=\"1f98b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐌\" src=\"1f40c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐞\" src=\"1f41e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐜\" src=\"1f41c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦗\" src=\"1f997.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕷\" src=\"1f577.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦂\" src=\"1f982.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦀\" src=\"1f980.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐍\" src=\"1f40d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦎\" src=\"1f98e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦖\" src=\"1f996.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦕\" src=\"1f995.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐢\" src=\"1f422.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐠\" src=\"1f420.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐟\" src=\"1f41f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐡\" src=\"1f421.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐬\" src=\"1f42c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦈\" src=\"1f988.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐳\" src=\"1f433.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐋\" src=\"1f40b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐊\" src=\"1f40a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐆\" src=\"1f406.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦓\" src=\"1f993.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐅\" src=\"1f405.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐃\" src=\"1f403.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐂\" src=\"1f402.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐄\" src=\"1f404.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦌\" src=\"1f98c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐪\" src=\"1f42a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐫\" src=\"1f42b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦒\" src=\"1f992.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐘\" src=\"1f418.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦏\" src=\"1f98f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐐\" src=\"1f410.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐏\" src=\"1f40f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐑\" src=\"1f411.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐎\" src=\"1f40e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐖\" src=\"1f416.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐀\" src=\"1f400.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐁\" src=\"1f401.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐓\" src=\"1f413.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦃\" src=\"1f983.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕊\" src=\"1f54a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐕\" src=\"1f415.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐩\" src=\"1f429.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐈\" src=\"1f408.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐇\" src=\"1f407.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐿\" src=\"1f43f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦔\" src=\"1f994.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦝\" src=\"1f99d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦙\" src=\"1f999.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦛\" src=\"1f99b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦘\" src=\"1f998.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦡\" src=\"1f9a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦢\" src=\"1f9a2.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦚\" src=\"1f99a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦜\" src=\"1f99c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦞\" src=\"1f99e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦟\" src=\"1f99f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐾\" src=\"1f43e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐉\" src=\"1f409.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐲\" src=\"1f432.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌵\" src=\"1f335.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎄\" src=\"1f384.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌲\" src=\"1f332.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌳\" src=\"1f333.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌴\" src=\"1f334.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌱\" src=\"1f331.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌿\" src=\"1f33f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☘\" src=\"2618.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍀\" src=\"1f340.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎍\" src=\"1f38d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎋\" src=\"1f38b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍃\" src=\"1f343.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍂\" src=\"1f342.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍁\" src=\"1f341.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌾\" src=\"1f33e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌺\" src=\"1f33a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌻\" src=\"1f33b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌹\" src=\"1f339.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥀\" src=\"1f940.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌷\" src=\"1f337.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌼\" src=\"1f33c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌸\" src=\"1f338.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💐\" src=\"1f490.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍄\" src=\"1f344.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌰\" src=\"1f330.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎃\" src=\"1f383.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐚\" src=\"1f41a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕸\" src=\"1f578.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌎\" src=\"1f30e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌍\" src=\"1f30d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌏\" src=\"1f30f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌕\" src=\"1f315.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌖\" src=\"1f316.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌗\" src=\"1f317.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌘\" src=\"1f318.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌑\" src=\"1f311.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌒\" src=\"1f312.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌓\" src=\"1f313.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌔\" src=\"1f314.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌚\" src=\"1f31a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌝\" src=\"1f31d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌛\" src=\"1f31b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌜\" src=\"1f31c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌞\" src=\"1f31e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌙\" src=\"1f319.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭐\" src=\"2b50.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌟\" src=\"1f31f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💫\" src=\"1f4ab.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✨\" src=\"2728.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☄\" src=\"2604.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☀️\" src=\"2600.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌤\" src=\"1f324.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛅\" src=\"26c5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌥\" src=\"1f325.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌦\" src=\"1f326.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☁️\" src=\"2601.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌧\" src=\"1f327.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛈\" src=\"26c8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌩\" src=\"1f329.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚡\" src=\"26a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔥\" src=\"1f525.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💥\" src=\"1f4a5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❄️\" src=\"2744.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌨\" src=\"1f328.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛄\" src=\"26c4.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☃\" src=\"2603.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌬\" src=\"1f32c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💨\" src=\"1f4a8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌪\" src=\"1f32a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌫\" src=\"1f32b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☂\" src=\"2602.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☔\" src=\"2614.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💧\" src=\"1f4a7.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💦\" src=\"1f4a6.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌊\" src=\"1f30a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍏\" src=\"1f34f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍎\" src=\"1f34e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍐\" src=\"1f350.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍊\" src=\"1f34a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍋\" src=\"1f34b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍌\" src=\"1f34c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍉\" src=\"1f349.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍇\" src=\"1f347.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍓\" src=\"1f353.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍈\" src=\"1f348.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍒\" src=\"1f352.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍑\" src=\"1f351.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍍\" src=\"1f34d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥥\" src=\"1f965.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥝\" src=\"1f95d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥭\" src=\"1f96d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥑\" src=\"1f951.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥦\" src=\"1f966.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍅\" src=\"1f345.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍆\" src=\"1f346.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥒\" src=\"1f952.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥕\" src=\"1f955.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌶\" src=\"1f336.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥔\" src=\"1f954.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌽\" src=\"1f33d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥬\" src=\"1f96c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍠\" src=\"1f360.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥜\" src=\"1f95c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍯\" src=\"1f36f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥐\" src=\"1f950.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍞\" src=\"1f35e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥖\" src=\"1f956.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥯\" src=\"1f96f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥨\" src=\"1f968.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧀\" src=\"1f9c0.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥚\" src=\"1f95a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥓\" src=\"1f953.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥩\" src=\"1f969.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥞\" src=\"1f95e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍗\" src=\"1f357.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍖\" src=\"1f356.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦴\" src=\"1f9b4.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍤\" src=\"1f364.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍳\" src=\"1f373.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍔\" src=\"1f354.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍟\" src=\"1f35f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥙\" src=\"1f959.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌭\" src=\"1f32d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍕\" src=\"1f355.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥪\" src=\"1f96a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥫\" src=\"1f96b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍝\" src=\"1f35d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌮\" src=\"1f32e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌯\" src=\"1f32f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥗\" src=\"1f957.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥘\" src=\"1f958.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍜\" src=\"1f35c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍲\" src=\"1f372.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍥\" src=\"1f365.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥠\" src=\"1f960.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍣\" src=\"1f363.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍱\" src=\"1f371.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍛\" src=\"1f35b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍙\" src=\"1f359.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍚\" src=\"1f35a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍘\" src=\"1f358.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍢\" src=\"1f362.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍡\" src=\"1f361.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍧\" src=\"1f367.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍨\" src=\"1f368.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍦\" src=\"1f366.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥧\" src=\"1f967.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍰\" src=\"1f370.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧁\" src=\"1f9c1.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥮\" src=\"1f96e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎂\" src=\"1f382.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍮\" src=\"1f36e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍬\" src=\"1f36c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍭\" src=\"1f36d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍫\" src=\"1f36b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍿\" src=\"1f37f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥟\" src=\"1f95f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍩\" src=\"1f369.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍪\" src=\"1f36a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥛\" src=\"1f95b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍺\" src=\"1f37a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍻\" src=\"1f37b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥂\" src=\"1f942.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍷\" src=\"1f377.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥃\" src=\"1f943.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍸\" src=\"1f378.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍹\" src=\"1f379.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍾\" src=\"1f37e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍶\" src=\"1f376.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍵\" src=\"1f375.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥤\" src=\"1f964.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☕\" src=\"2615.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍼\" src=\"1f37c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧂\" src=\"1f9c2.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥄\" src=\"1f944.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍴\" src=\"1f374.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍽\" src=\"1f37d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥣\" src=\"1f963.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥡\" src=\"1f961.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥢\" src=\"1f962.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚽\" src=\"26bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏀\" src=\"1f3c0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏈\" src=\"1f3c8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚾\" src=\"26be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥎\" src=\"1f94e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎾\" src=\"1f3be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏐\" src=\"1f3d0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏉\" src=\"1f3c9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥏\" src=\"1f94f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎱\" src=\"1f3b1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛳\" src=\"26f3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌️‍♀️\" src=\"1f3cc-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌\" src=\"1f3cc.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏓\" src=\"1f3d3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏸\" src=\"1f3f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥅\" src=\"1f945.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏒\" src=\"1f3d2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏑\" src=\"1f3d1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥍\" src=\"1f94d.png\"/>',fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏏\" src=\"1f3cf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎿\" src=\"1f3bf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛷\" src=\"26f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏂\" src=\"1f3c2.png\"/>',fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤺\" src=\"1f93a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♀️\" src=\"1f93c-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♂️\" src=\"1f93c-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♀️\" src=\"1f938-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♂️\" src=\"1f938-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♀️\" src=\"1f93e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♂️\" src=\"1f93e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛸\" src=\"26f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥌\" src=\"1f94c.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛹\" src=\"1f6f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛷\" src=\"1f6f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏹\" src=\"1f3f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎣\" src=\"1f3a3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥊\" src=\"1f94a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥋\" src=\"1f94b.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣‍♀️\" src=\"1f6a3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣\" src=\"1f6a3.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♀️\" src=\"1f9d7-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♂️\" src=\"1f9d7-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊‍♀️\" src=\"1f3ca-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊\" src=\"1f3ca.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♀️\" src=\"1f93d-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♂️\" src=\"1f93d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♀️\" src=\"1f9d8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♂️\" src=\"1f9d8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄‍♀️\" src=\"1f3c4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄\" src=\"1f3c4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛀\" src=\"1f6c0.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹️‍♀️\" src=\"26f9-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹\" src=\"26f9.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋️‍♀️\" src=\"1f3cb-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋\" src=\"1f3cb.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴‍♀️\" src=\"1f6b4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴\" src=\"1f6b4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵‍♀️\" src=\"1f6b5-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵\" src=\"1f6b5.png\"/>',fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏇\" src=\"1f3c7.png\"/>',fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕴\" src=\"1f574.png\"/>',fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏆\" src=\"1f3c6.png\"/>',fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎽\" src=\"1f3bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏅\" src=\"1f3c5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎖\" src=\"1f396.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥇\" src=\"1f947.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥈\" src=\"1f948.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥉\" src=\"1f949.png\"/>',fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎗\" src=\"1f397.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏵\" src=\"1f3f5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎫\" src=\"1f3ab.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎟\" src=\"1f39f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎭\" src=\"1f3ad.png\"/>',fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎨\" src=\"1f3a8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎪\" src=\"1f3aa.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♀️\" src=\"1f939-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♂️\" src=\"1f939-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎤\" src=\"1f3a4.png\"/>',fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎧\" src=\"1f3a7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎼\" src=\"1f3bc.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎹\" src=\"1f3b9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥁\" src=\"1f941.png\"/>',fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎷\" src=\"1f3b7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎺\" src=\"1f3ba.png\"/>',fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎸\" src=\"1f3b8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎻\" src=\"1f3bb.png\"/>',fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎬\" src=\"1f3ac.png\"/>',fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎮\" src=\"1f3ae.png\"/>',fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👾\" src=\"1f47e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎯\" src=\"1f3af.png\"/>',fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎲\" src=\"1f3b2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎰\" src=\"1f3b0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧩\" src=\"1f9e9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎳\" src=\"1f3b3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚗\" src=\"1f697.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚕\" src=\"1f695.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚙\" src=\"1f699.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚌\" src=\"1f68c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚎\" src=\"1f68e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏎\" src=\"1f3ce.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚓\" src=\"1f693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚑\" src=\"1f691.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚒\" src=\"1f692.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚐\" src=\"1f690.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚚\" src=\"1f69a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚛\" src=\"1f69b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚜\" src=\"1f69c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛴\" src=\"1f6f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏍\" src=\"1f3cd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚲\" src=\"1f6b2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛵\" src=\"1f6f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚨\" src=\"1f6a8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚔\" src=\"1f694.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚍\" src=\"1f68d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚘\" src=\"1f698.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚖\" src=\"1f696.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚡\" src=\"1f6a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚠\" src=\"1f6a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚟\" src=\"1f69f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚃\" src=\"1f683.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚋\" src=\"1f68b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚝\" src=\"1f69d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚄\" src=\"1f684.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚅\" src=\"1f685.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚈\" src=\"1f688.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚞\" src=\"1f69e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚂\" src=\"1f682.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚆\" src=\"1f686.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚇\" src=\"1f687.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚊\" src=\"1f68a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚉\" src=\"1f689.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛸\" src=\"1f6f8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚁\" src=\"1f681.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛩\" src=\"1f6e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✈️\" src=\"2708.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛫\" src=\"1f6eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛬\" src=\"1f6ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛵\" src=\"26f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛥\" src=\"1f6e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚤\" src=\"1f6a4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛴\" src=\"26f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛳\" src=\"1f6f3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚀\" src=\"1f680.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛰\" src=\"1f6f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💺\" src=\"1f4ba.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛶\" src=\"1f6f6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚓\" src=\"2693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚧\" src=\"1f6a7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛽\" src=\"26fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚏\" src=\"1f68f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚦\" src=\"1f6a6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚥\" src=\"1f6a5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏁\" src=\"1f3c1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚢\" src=\"1f6a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎡\" src=\"1f3a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎢\" src=\"1f3a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎠\" src=\"1f3a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏗\" src=\"1f3d7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌁\" src=\"1f301.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗼\" src=\"1f5fc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏭\" src=\"1f3ed.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛲\" src=\"26f2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎑\" src=\"1f391.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛰\" src=\"26f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏔\" src=\"1f3d4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗻\" src=\"1f5fb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌋\" src=\"1f30b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗾\" src=\"1f5fe.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏕\" src=\"1f3d5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛺\" src=\"26fa.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏞\" src=\"1f3de.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛣\" src=\"1f6e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛤\" src=\"1f6e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌅\" src=\"1f305.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌄\" src=\"1f304.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏜\" src=\"1f3dc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏖\" src=\"1f3d6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏝\" src=\"1f3dd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌇\" src=\"1f307.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌆\" src=\"1f306.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏙\" src=\"1f3d9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌃\" src=\"1f303.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌉\" src=\"1f309.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌌\" src=\"1f30c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌠\" src=\"1f320.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎇\" src=\"1f387.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎆\" src=\"1f386.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌈\" src=\"1f308.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏘\" src=\"1f3d8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏰\" src=\"1f3f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏯\" src=\"1f3ef.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏟\" src=\"1f3df.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗽\" src=\"1f5fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏠\" src=\"1f3e0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏡\" src=\"1f3e1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏚\" src=\"1f3da.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏢\" src=\"1f3e2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏬\" src=\"1f3ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏣\" src=\"1f3e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏤\" src=\"1f3e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏥\" src=\"1f3e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏦\" src=\"1f3e6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏨\" src=\"1f3e8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏪\" src=\"1f3ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏫\" src=\"1f3eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏩\" src=\"1f3e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💒\" src=\"1f492.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏛\" src=\"1f3db.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛪\" src=\"26ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕌\" src=\"1f54c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕍\" src=\"1f54d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕋\" src=\"1f54b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛩\" src=\"26e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌚\" src=\"231a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📱\" src=\"1f4f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📲\" src=\"1f4f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💻\" src=\"1f4bb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌨\" src=\"2328.png\"/>',fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖥\" src=\"1f5a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖨\" src=\"1f5a8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖱\" src=\"1f5b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖲\" src=\"1f5b2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕹\" src=\"1f579.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗜\" src=\"1f5dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💽\" src=\"1f4bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💾\" src=\"1f4be.png\"/>',fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💿\" src=\"1f4bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📀\" src=\"1f4c0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📼\" src=\"1f4fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📷\" src=\"1f4f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📸\" src=\"1f4f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📹\" src=\"1f4f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎥\" src=\"1f3a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📽\" src=\"1f4fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎞\" src=\"1f39e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📞\" src=\"1f4de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☎️\" src=\"260e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📟\" src=\"1f4df.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📠\" src=\"1f4e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📺\" src=\"1f4fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📻\" src=\"1f4fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎙\" src=\"1f399.png\"/>',fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎚\" src=\"1f39a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎛\" src=\"1f39b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧭\" src=\"1f9ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏱\" src=\"23f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏲\" src=\"23f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏰\" src=\"23f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕰\" src=\"1f570.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏳\" src=\"23f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌛\" src=\"231b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📡\" src=\"1f4e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔋\" src=\"1f50b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔌\" src=\"1f50c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💡\" src=\"1f4a1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔦\" src=\"1f526.png\"/>',fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕯\" src=\"1f56f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧯\" src=\"1f9ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗑\" src=\"1f5d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛢\" src=\"1f6e2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💸\" src=\"1f4b8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💵\" src=\"1f4b5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💴\" src=\"1f4b4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💶\" src=\"1f4b6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💷\" src=\"1f4b7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💰\" src=\"1f4b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💳\" src=\"1f4b3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💎\" src=\"1f48e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚖\" src=\"2696.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧰\" src=\"1f9f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔧\" src=\"1f527.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔨\" src=\"1f528.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚒\" src=\"2692.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛠\" src=\"1f6e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛏\" src=\"26cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔩\" src=\"1f529.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚙\" src=\"2699.png\"/>',fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧱\" src=\"1f9f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛓\" src=\"26d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧲\" src=\"1f9f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔫\" src=\"1f52b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💣\" src=\"1f4a3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧨\" src=\"1f9e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔪\" src=\"1f52a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗡\" src=\"1f5e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚔\" src=\"2694.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛡\" src=\"1f6e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚬\" src=\"1f6ac.png\"/>',fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☠\" src=\"2620.png\"/>',fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚰\" src=\"26b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚱\" src=\"26b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏺\" src=\"1f3fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔮\" src=\"1f52e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📿\" src=\"1f4ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧿\" src=\"1f9ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💈\" src=\"1f488.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚗\" src=\"2697.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔭\" src=\"1f52d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔬\" src=\"1f52c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕳\" src=\"1f573.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💊\" src=\"1f48a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💉\" src=\"1f489.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧬\" src=\"1f9ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦠\" src=\"1f9a0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧫\" src=\"1f9eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧪\" src=\"1f9ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌡\" src=\"1f321.png\"/>',fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧹\" src=\"1f9f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧺\" src=\"1f9fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧻\" src=\"1f9fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏷\" src=\"1f3f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔖\" src=\"1f516.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚽\" src=\"1f6bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚿\" src=\"1f6bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛁\" src=\"1f6c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧼\" src=\"1f9fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧽\" src=\"1f9fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧴\" src=\"1f9f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔑\" src=\"1f511.png\"/>',fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗝\" src=\"1f5dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛋\" src=\"1f6cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛌\" src=\"1f6cc.png\"/>',fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛏\" src=\"1f6cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚪\" src=\"1f6aa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛎\" src=\"1f6ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧸\" src=\"1f9f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖼\" src=\"1f5bc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗺\" src=\"1f5fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛱\" src=\"26f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗿\" src=\"1f5ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛍\" src=\"1f6cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛒\" src=\"1f6d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎈\" src=\"1f388.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎏\" src=\"1f38f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎀\" src=\"1f380.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎁\" src=\"1f381.png\"/>',fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎊\" src=\"1f38a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎉\" src=\"1f389.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎎\" src=\"1f38e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎐\" src=\"1f390.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎌\" src=\"1f38c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏮\" src=\"1f3ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧧\" src=\"1f9e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✉️\" src=\"2709.png\"/>',fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📩\" src=\"1f4e9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📨\" src=\"1f4e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📧\" src=\"1f4e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💌\" src=\"1f48c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📮\" src=\"1f4ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📪\" src=\"1f4ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📫\" src=\"1f4eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📬\" src=\"1f4ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📭\" src=\"1f4ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📦\" src=\"1f4e6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📯\" src=\"1f4ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📥\" src=\"1f4e5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📤\" src=\"1f4e4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📜\" src=\"1f4dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📃\" src=\"1f4c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📑\" src=\"1f4d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧾\" src=\"1f9fe.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📊\" src=\"1f4ca.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📈\" src=\"1f4c8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📉\" src=\"1f4c9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📄\" src=\"1f4c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📅\" src=\"1f4c5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📆\" src=\"1f4c6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗓\" src=\"1f5d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📇\" src=\"1f4c7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗃\" src=\"1f5c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗳\" src=\"1f5f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗄\" src=\"1f5c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📋\" src=\"1f4cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗒\" src=\"1f5d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📁\" src=\"1f4c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📂\" src=\"1f4c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗂\" src=\"1f5c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗞\" src=\"1f5de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📰\" src=\"1f4f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📓\" src=\"1f4d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📕\" src=\"1f4d5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📗\" src=\"1f4d7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📘\" src=\"1f4d8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📙\" src=\"1f4d9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📔\" src=\"1f4d4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📒\" src=\"1f4d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📚\" src=\"1f4da.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📖\" src=\"1f4d6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧷\" src=\"1f9f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔗\" src=\"1f517.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📎\" src=\"1f4ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖇\" src=\"1f587.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✂️\" src=\"2702.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📐\" src=\"1f4d0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📏\" src=\"1f4cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧮\" src=\"1f9ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📌\" src=\"1f4cc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📍\" src=\"1f4cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚩\" src=\"1f6a9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳\" src=\"1f3f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴\" src=\"1f3f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳️‍🌈\" src=\"1f3f3-fe0f-200d-1f308.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔐\" src=\"1f510.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔒\" src=\"1f512.png\"/>',fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔓\" src=\"1f513.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔏\" src=\"1f50f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖊\" src=\"1f58a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖋\" src=\"1f58b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✒️\" src=\"2712.png\"/>',fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📝\" src=\"1f4dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✏️\" src=\"270f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖍\" src=\"1f58d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖌\" src=\"1f58c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔍\" src=\"1f50d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔎\" src=\"1f50e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❤️\" src=\"2764.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧡\" src=\"1f9e1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💛\" src=\"1f49b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💚\" src=\"1f49a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💙\" src=\"1f499.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💜\" src=\"1f49c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖤\" src=\"1f5a4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💔\" src=\"1f494.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❣\" src=\"2763.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💕\" src=\"1f495.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💞\" src=\"1f49e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💓\" src=\"1f493.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💗\" src=\"1f497.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💖\" src=\"1f496.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💘\" src=\"1f498.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💝\" src=\"1f49d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💟\" src=\"1f49f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☮\" src=\"262e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✝\" src=\"271d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☪\" src=\"262a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕉\" src=\"1f549.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☸\" src=\"2638.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✡\" src=\"2721.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔯\" src=\"1f52f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕎\" src=\"1f54e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☯\" src=\"262f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☦\" src=\"2626.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛐\" src=\"1f6d0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛎\" src=\"26ce.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♈\" src=\"2648.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♉\" src=\"2649.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♊\" src=\"264a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♋\" src=\"264b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♌\" src=\"264c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♍\" src=\"264d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♎\" src=\"264e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♏\" src=\"264f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♐\" src=\"2650.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♑\" src=\"2651.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♒\" src=\"2652.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♓\" src=\"2653.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆔\" src=\"1f194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚛\" src=\"269b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈳\" src=\"1f233.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈹\" src=\"1f239.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☢\" src=\"2622.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☣\" src=\"2623.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📴\" src=\"1f4f4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📳\" src=\"1f4f3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈶\" src=\"1f236.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈚\" src=\"1f21a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈸\" src=\"1f238.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈺\" src=\"1f23a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈷️\" src=\"1f237.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✴️\" src=\"2734.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆚\" src=\"1f19a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉑\" src=\"1f251.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💮\" src=\"1f4ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉐\" src=\"1f250.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊙️\" src=\"3299.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊗️\" src=\"3297.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈴\" src=\"1f234.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈵\" src=\"1f235.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈲\" src=\"1f232.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅰️\" src=\"1f170.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅱️\" src=\"1f171.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆎\" src=\"1f18e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆑\" src=\"1f191.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅾️\" src=\"1f17e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆘\" src=\"1f198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛔\" src=\"26d4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📛\" src=\"1f4db.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚫\" src=\"1f6ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❌\" src=\"274c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭕\" src=\"2b55.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛑\" src=\"1f6d1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💢\" src=\"1f4a2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♨️\" src=\"2668.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚷\" src=\"1f6b7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚯\" src=\"1f6af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚳\" src=\"1f6b3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚱\" src=\"1f6b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔞\" src=\"1f51e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📵\" src=\"1f4f5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❗\" src=\"2757.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❕\" src=\"2755.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❓\" src=\"2753.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❔\" src=\"2754.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"‼️\" src=\"203c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⁉️\" src=\"2049.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔅\" src=\"1f505.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔆\" src=\"1f506.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔱\" src=\"1f531.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚜\" src=\"269c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〽️\" src=\"303d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚠️\" src=\"26a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚸\" src=\"1f6b8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔰\" src=\"1f530.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♻️\" src=\"267b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈯\" src=\"1f22f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💹\" src=\"1f4b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❇️\" src=\"2747.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✳️\" src=\"2733.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❎\" src=\"274e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✅\" src=\"2705.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💠\" src=\"1f4a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌀\" src=\"1f300.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➿\" src=\"27bf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌐\" src=\"1f310.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"Ⓜ️\" src=\"24c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏧\" src=\"1f3e7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈂️\" src=\"1f202.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛂\" src=\"1f6c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛃\" src=\"1f6c3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛄\" src=\"1f6c4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛅\" src=\"1f6c5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♿\" src=\"267f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚭\" src=\"1f6ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚾\" src=\"1f6be.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅿️\" src=\"1f17f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚰\" src=\"1f6b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚹\" src=\"1f6b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚺\" src=\"1f6ba.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚼\" src=\"1f6bc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚻\" src=\"1f6bb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚮\" src=\"1f6ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎦\" src=\"1f3a6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📶\" src=\"1f4f6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈁\" src=\"1f201.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆖\" src=\"1f196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆗\" src=\"1f197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆙\" src=\"1f199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆒\" src=\"1f192.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆕\" src=\"1f195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆓\" src=\"1f193.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"0️⃣\" src=\"30-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"1️⃣\" src=\"31-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"2️⃣\" src=\"32-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"3️⃣\" src=\"33-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"4️⃣\" src=\"34-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"5️⃣\" src=\"35-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"6️⃣\" src=\"36-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"7️⃣\" src=\"37-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"8️⃣\" src=\"38-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"9️⃣\" src=\"39-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔟\" src=\"1f51f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"*⃣\" src=\"2a-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏏️\" src=\"23cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▶️\" src=\"25b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏸\" src=\"23f8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏭\" src=\"23ed.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏹\" src=\"23f9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏺\" src=\"23fa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏯\" src=\"23ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏮\" src=\"23ee.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏩\" src=\"23e9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏪\" src=\"23ea.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔀\" src=\"1f500.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔁\" src=\"1f501.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔂\" src=\"1f502.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◀️\" src=\"25c0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔼\" src=\"1f53c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔽\" src=\"1f53d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏫\" src=\"23eb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏬\" src=\"23ec.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➡️\" src=\"27a1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬅️\" src=\"2b05.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬆️\" src=\"2b06.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬇️\" src=\"2b07.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↗️\" src=\"2197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↘️\" src=\"2198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↙️\" src=\"2199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↖️\" src=\"2196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↕️\" src=\"2195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↔️\" src=\"2194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔄\" src=\"1f504.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↪️\" src=\"21aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↩️\" src=\"21a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤴️\" src=\"2934.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤵️\" src=\"2935.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"#️⃣\" src=\"23-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"ℹ️\" src=\"2139.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔤\" src=\"1f524.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔡\" src=\"1f521.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔠\" src=\"1f520.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔣\" src=\"1f523.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎵\" src=\"1f3b5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎶\" src=\"1f3b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〰️\" src=\"3030.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➰\" src=\"27b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✔️\" src=\"2714.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔃\" src=\"1f503.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➕\" src=\"2795.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➖\" src=\"2796.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➗\" src=\"2797.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✖️\" src=\"2716.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♾\" src=\"267e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💲\" src=\"1f4b2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💱\" src=\"1f4b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"©️\" src=\"a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"®️\" src=\"ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"™️\" src=\"2122.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔚\" src=\"1f51a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔙\" src=\"1f519.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔛\" src=\"1f51b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔝\" src=\"1f51d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔜\" src=\"1f51c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☑️\" src=\"2611.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔘\" src=\"1f518.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚪\" src=\"26aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚫\" src=\"26ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔴\" src=\"1f534.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔵\" src=\"1f535.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔸\" src=\"1f538.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔹\" src=\"1f539.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔶\" src=\"1f536.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔷\" src=\"1f537.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔺\" src=\"1f53a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▪️\" src=\"25aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▫️\" src=\"25ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬛\" src=\"2b1b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬜\" src=\"2b1c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔻\" src=\"1f53b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◼️\" src=\"25fc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◻️\" src=\"25fb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◾\" src=\"25fe.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◽\" src=\"25fd.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔲\" src=\"1f532.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔳\" src=\"1f533.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔈\" src=\"1f508.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔉\" src=\"1f509.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔊\" src=\"1f50a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔇\" src=\"1f507.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📣\" src=\"1f4e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📢\" src=\"1f4e2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔔\" src=\"1f514.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔕\" src=\"1f515.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🃏\" src=\"1f0cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🀄\" src=\"1f004.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♠️\" src=\"2660.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♣️\" src=\"2663.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♥️\" src=\"2665.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♦️\" src=\"2666.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎴\" src=\"1f3b4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💭\" src=\"1f4ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗯\" src=\"1f5ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💬\" src=\"1f4ac.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗨\" src=\"1f5e8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕐\" src=\"1f550.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕑\" src=\"1f551.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕒\" src=\"1f552.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕓\" src=\"1f553.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕔\" src=\"1f554.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕕\" src=\"1f555.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕖\" src=\"1f556.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕗\" src=\"1f557.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕘\" src=\"1f558.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕙\" src=\"1f559.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕚\" src=\"1f55a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕛\" src=\"1f55b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕜\" src=\"1f55c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕝\" src=\"1f55d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕞\" src=\"1f55e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕟\" src=\"1f55f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕠\" src=\"1f560.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕡\" src=\"1f561.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕢\" src=\"1f562.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕣\" src=\"1f563.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕤\" src=\"1f564.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕥\" src=\"1f565.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕦\" src=\"1f566.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕧\" src=\"1f567.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇫\" src=\"1f1e6-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇽\" src=\"1f1e6-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇱\" src=\"1f1e6-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇿\" src=\"1f1e9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇸\" src=\"1f1e6-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇩\" src=\"1f1e6-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇴\" src=\"1f1e6-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇮\" src=\"1f1e6-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇶\" src=\"1f1e6-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇬\" src=\"1f1e6-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇷\" src=\"1f1e6-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇲\" src=\"1f1e6-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇼\" src=\"1f1e6-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇺\" src=\"1f1e6-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇹\" src=\"1f1e6-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇿\" src=\"1f1e6-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇸\" src=\"1f1e7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇭\" src=\"1f1e7-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇩\" src=\"1f1e7-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇧\" src=\"1f1e7-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇾\" src=\"1f1e7-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇪\" src=\"1f1e7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇿\" src=\"1f1e7-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇯\" src=\"1f1e7-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇲\" src=\"1f1e7-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇹\" src=\"1f1e7-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇴\" src=\"1f1e7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇶\" src=\"1f1e7-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇦\" src=\"1f1e7-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇼\" src=\"1f1e7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇷\" src=\"1f1e7-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇴\" src=\"1f1ee-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇬\" src=\"1f1fb-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇳\" src=\"1f1e7-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇬\" src=\"1f1e7-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇫\" src=\"1f1e7-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇮\" src=\"1f1e7-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇻\" src=\"1f1e8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇭\" src=\"1f1f0-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇲\" src=\"1f1e8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇦\" src=\"1f1e8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇨\" src=\"1f1ee-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇾\" src=\"1f1f0-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇫\" src=\"1f1e8-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇩\" src=\"1f1f9-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇱\" src=\"1f1e8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇳\" src=\"1f1e8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇽\" src=\"1f1e8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇨\" src=\"1f1e8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇴\" src=\"1f1e8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇲\" src=\"1f1f0-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇬\" src=\"1f1e8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇩\" src=\"1f1e8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇰\" src=\"1f1e8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇷\" src=\"1f1e8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇷\" src=\"1f1ed-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇺\" src=\"1f1e8-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇼\" src=\"1f1e8-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇾\" src=\"1f1e8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇿\" src=\"1f1e8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇰\" src=\"1f1e9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇯\" src=\"1f1e9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇲\" src=\"1f1e9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇴\" src=\"1f1e9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇨\" src=\"1f1ea-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇬\" src=\"1f1ea-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇻\" src=\"1f1f8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇶\" src=\"1f1ec-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇷\" src=\"1f1ea-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇪\" src=\"1f1ea-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇹\" src=\"1f1ea-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇺\" src=\"1f1ea-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇰\" src=\"1f1eb-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇴\" src=\"1f1eb-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇯\" src=\"1f1eb-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇮\" src=\"1f1eb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇷\" src=\"1f1eb-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇫\" src=\"1f1ec-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇫\" src=\"1f1f5-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇫\" src=\"1f1f9-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇦\" src=\"1f1ec-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇲\" src=\"1f1ec-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇪\" src=\"1f1ec-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇪\" src=\"1f1e9-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇭\" src=\"1f1ec-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇮\" src=\"1f1ec-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇷\" src=\"1f1ec-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇱\" src=\"1f1ec-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇩\" src=\"1f1ec-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇵\" src=\"1f1ec-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇺\" src=\"1f1ec-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇹\" src=\"1f1ec-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇬\" src=\"1f1ec-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇳\" src=\"1f1ec-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇼\" src=\"1f1ec-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇾\" src=\"1f1ec-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇹\" src=\"1f1ed-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇳\" src=\"1f1ed-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇰\" src=\"1f1ed-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇺\" src=\"1f1ed-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇸\" src=\"1f1ee-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇳\" src=\"1f1ee-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇩\" src=\"1f1ee-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇷\" src=\"1f1ee-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇶\" src=\"1f1ee-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇪\" src=\"1f1ee-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇲\" src=\"1f1ee-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇱\" src=\"1f1ee-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇹\" src=\"1f1ee-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇮\" src=\"1f1e8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇲\" src=\"1f1ef-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇵\" src=\"1f1ef-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇪\" src=\"1f1ef-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇴\" src=\"1f1ef-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇿\" src=\"1f1f0-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇪\" src=\"1f1f0-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇮\" src=\"1f1f0-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇽🇰\" src=\"1f1fd-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇼\" src=\"1f1f0-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇬\" src=\"1f1f0-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇦\" src=\"1f1f1-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇻\" src=\"1f1f1-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇧\" src=\"1f1f1-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇸\" src=\"1f1f1-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇷\" src=\"1f1f1-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇾\" src=\"1f1f1-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇮\" src=\"1f1f1-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇹\" src=\"1f1f1-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇺\" src=\"1f1f1-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇴\" src=\"1f1f2-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇰\" src=\"1f1f2-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇬\" src=\"1f1f2-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇼\" src=\"1f1f2-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇾\" src=\"1f1f2-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇻\" src=\"1f1f2-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇱\" src=\"1f1f2-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇹\" src=\"1f1f2-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇭\" src=\"1f1f2-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇶\" src=\"1f1f2-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇷\" src=\"1f1f2-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇺\" src=\"1f1f2-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇹\" src=\"1f1fe-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇽\" src=\"1f1f2-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇲\" src=\"1f1eb-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇩\" src=\"1f1f2-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇨\" src=\"1f1f2-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇳\" src=\"1f1f2-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇪\" src=\"1f1f2-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇸\" src=\"1f1f2-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇦\" src=\"1f1f2-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇿\" src=\"1f1f2-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇲\" src=\"1f1f2-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇦\" src=\"1f1f3-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇷\" src=\"1f1f3-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇵\" src=\"1f1f3-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇱\" src=\"1f1f3-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇨\" src=\"1f1f3-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇿\" src=\"1f1f3-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇮\" src=\"1f1f3-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇪\" src=\"1f1f3-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇬\" src=\"1f1f3-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇺\" src=\"1f1f3-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇫\" src=\"1f1f3-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇵\" src=\"1f1f2-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇵\" src=\"1f1f0-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇴\" src=\"1f1f3-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇴🇲\" src=\"1f1f4-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇰\" src=\"1f1f5-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇼\" src=\"1f1f5-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇸\" src=\"1f1f5-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇦\" src=\"1f1f5-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇬\" src=\"1f1f5-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇾\" src=\"1f1f5-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇪\" src=\"1f1f5-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇭\" src=\"1f1f5-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇳\" src=\"1f1f5-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇱\" src=\"1f1f5-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇹\" src=\"1f1f5-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇷\" src=\"1f1f5-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇶🇦\" src=\"1f1f6-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇪\" src=\"1f1f7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇴\" src=\"1f1f7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇺\" src=\"1f1f7-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇼\" src=\"1f1f7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇱\" src=\"1f1e7-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇭\" src=\"1f1f8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇳\" src=\"1f1f0-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇨\" src=\"1f1f1-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇲\" src=\"1f1f5-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇨\" src=\"1f1fb-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇸\" src=\"1f1fc-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇲\" src=\"1f1f8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇹\" src=\"1f1f8-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇦\" src=\"1f1f8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇳\" src=\"1f1f8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇸\" src=\"1f1f7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇨\" src=\"1f1f8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇱\" src=\"1f1f8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇬\" src=\"1f1f8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇽\" src=\"1f1f8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇰\" src=\"1f1f8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇮\" src=\"1f1f8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇧\" src=\"1f1f8-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇴\" src=\"1f1f8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇦\" src=\"1f1ff-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇸\" src=\"1f1ec-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇷\" src=\"1f1f0-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇸\" src=\"1f1f8-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇸\" src=\"1f1ea-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇰\" src=\"1f1f1-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇩\" src=\"1f1f8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇷\" src=\"1f1f8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇿\" src=\"1f1f8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇪\" src=\"1f1f8-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇭\" src=\"1f1e8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇾\" src=\"1f1f8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇼\" src=\"1f1f9-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇯\" src=\"1f1f9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇿\" src=\"1f1f9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇭\" src=\"1f1f9-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇱\" src=\"1f1f9-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇬\" src=\"1f1f9-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇰\" src=\"1f1f9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇴\" src=\"1f1f9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇹\" src=\"1f1f9-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇳\" src=\"1f1f9-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇷\" src=\"1f1f9-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇲\" src=\"1f1f9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇨\" src=\"1f1f9-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇻\" src=\"1f1f9-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇬\" src=\"1f1fa-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇦\" src=\"1f1fa-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇪\" src=\"1f1e6-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇧\" src=\"1f1ec-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\" src=\"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\" src=\"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\" src=\"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇸\" src=\"1f1fa-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇮\" src=\"1f1fb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇾\" src=\"1f1fa-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇿\" src=\"1f1fa-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇺\" src=\"1f1fb-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇦\" src=\"1f1fb-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇪\" src=\"1f1fb-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇳\" src=\"1f1fb-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇫\" src=\"1f1fc-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇭\" src=\"1f1ea-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇪\" src=\"1f1fe-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇲\" src=\"1f1ff-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇼\" src=\"1f1ff-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇳\" src=\"1f1fa-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴‍☠️\" src=\"1f3f4-200d-2620-fe0f.png\"/>',fitzpatrick_scale:false,category:\"flags\"}});window.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:\"😀\",fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:\"😬\",fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:\"😁\",fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:\"😂\",fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:\"🤣\",fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:\"🥳\",fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:\"😃\",fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:\"😄\",fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:\"😅\",fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:\"😆\",fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:\"😇\",fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:\"😉\",fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:\"😊\",fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:\"🙂\",fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:\"🙃\",fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:\"☺️\",fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:\"😋\",fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:\"😌\",fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:\"😍\",fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:\"🥰\",fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😘\",fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😗\",fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😙\",fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😚\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:\"😜\",fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:\"🤪\",fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:\"🤨\",fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:\"🧐\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😝\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😛\",fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:\"🤑\",fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:\"🤓\",fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:\"😎\",fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:\"🤩\",fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:\"🤡\",fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:\"🤠\",fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:\"🤗\",fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:\"😏\",fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:\"😶\",fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:\"😐\",fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:\"😑\",fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:\"😒\",fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:\"🙄\",fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:\"🤔\",fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:\"🤥\",fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:\"🤭\",fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:\"🤫\",fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:\"🤬\",fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:\"🤯\",fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:\"😳\",fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:\"😞\",fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:\"😟\",fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:\"😠\",fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:\"😡\",fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:\"😔\",fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:\"😕\",fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:\"🙁\",fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:\"☹\",fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:\"😣\",fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:\"😖\",fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:\"😫\",fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:\"😩\",fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:\"🥺\",fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:\"😤\",fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:\"😮\",fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:\"😱\",fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:\"😨\",fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:\"😰\",fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:\"😯\",fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:\"😦\",fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:\"😧\",fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:\"😢\",fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:\"😥\",fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:\"🤤\",fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:\"😪\",fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:\"😓\",fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:\"🥵\",fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:\"🥶\",fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:\"😭\",fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:\"😵\",fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:\"😲\",fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:\"🤐\",fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:\"🤢\",fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:\"🤧\",fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:\"🤮\",fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:\"😷\",fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:\"🤒\",fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:\"🤕\",fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:\"🥴\",fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:\"😴\",fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:\"💤\",fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:\"💩\",fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:\"😈\",fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:\"👿\",fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:\"👹\",fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:\"👺\",fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:\"💀\",fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:\"👻\",fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:\"👽\",fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:\"🤖\",fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:\"😺\",fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:\"😸\",fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:\"😹\",fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:\"😻\",fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:\"😼\",fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:\"😽\",fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:\"🙀\",fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:\"😿\",fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:\"😾\",fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:\"🤲\",fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:\"🙌\",fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:\"👏\",fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:\"👋\",fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:\"🤙\",fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:\"👍\",fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:\"👎\",fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:\"👊\",fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:\"✊\",fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:\"🤛\",fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:\"🤜\",fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:\"✌\",fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:\"👌\",fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:\"✋\",fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:\"🤚\",fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:\"👐\",fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:\"💪\",fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:\"🙏\",fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:\"🦶\",fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:\"🦵\",fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:\"🤝\",fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:\"☝\",fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:\"👆\",fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:\"👇\",fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:\"👈\",fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:\"👉\",fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:\"🖕\",fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:\"🖐\",fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:\"🤟\",fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:\"🤘\",fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:\"🤞\",fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:\"🖖\",fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:\"✍\",fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:\"🤳\",fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:\"💅\",fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:\"👄\",fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:\"🦷\",fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:\"👅\",fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:\"👂\",fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:\"👃\",fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:\"👁\",fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:\"👀\",fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:\"🧠\",fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:\"👤\",fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:\"👥\",fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:\"🗣\",fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:\"👶\",fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:\"🧒\",fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:\"👦\",fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:\"👧\",fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:\"🧑\",fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:\"👨\",fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:\"👩\",fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:\"👱‍♀️\",fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:\"👱\",fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:\"🧔\",fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:\"🧓\",fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:\"👴\",fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:\"👵\",fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:\"👲\",fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:\"🧕\",fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:\"👳‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:\"👳\",fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:\"👮‍♀️\",fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:\"👮\",fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:\"👷‍♀️\",fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:\"👷\",fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:\"💂‍♀️\",fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:\"💂\",fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:\"🕵️‍♀️\",fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:\"🕵\",fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:\"👩‍⚕️\",fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:\"👨‍⚕️\",fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:\"👩‍🌾\",fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:\"👨‍🌾\",fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:\"👩‍🍳\",fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:\"👨‍🍳\",fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:\"👩‍🎓\",fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:\"👨‍🎓\",fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:\"👩‍🎤\",fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:\"👨‍🎤\",fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:\"👩‍🏫\",fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:\"👨‍🏫\",fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:\"👩‍🏭\",fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:\"👨‍🏭\",fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:\"👩‍💻\",fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:\"👨‍💻\",fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:\"👩‍💼\",fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:\"👨‍💼\",fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:\"👩‍🔧\",fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:\"👨‍🔧\",fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:\"👩‍🔬\",fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:\"👨‍🔬\",fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:\"👩‍🎨\",fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:\"👨‍🎨\",fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:\"👩‍🚒\",fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:\"👨‍🚒\",fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:\"👩‍✈️\",fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:\"👨‍✈️\",fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:\"👩‍🚀\",fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:\"👨‍🚀\",fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:\"👩‍⚖️\",fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:\"👨‍⚖️\",fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:\"🦸‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:\"🦸‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:\"🦹‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:\"🦹‍♂️\",fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:\"🤶\",fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:\"🎅\",fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:\"🧙‍♀️\",fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:\"🧙‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:\"🧝‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:\"🧝‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:\"🧛‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:\"🧛‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:\"🧟‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:\"🧟‍♂️\",fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:\"🧞‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:\"🧞‍♂️\",fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:\"🧜‍♀️\",fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:\"🧜‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:\"🧚‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:\"🧚‍♂️\",fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:\"👼\",fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:\"🤰\",fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:\"🤱\",fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:\"👸\",fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:\"🤴\",fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:\"👰\",fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:\"🤵\",fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:\"🏃‍♀️\",fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:\"🏃\",fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:\"🚶‍♀️\",fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:\"🚶\",fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:\"💃\",fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:\"🕺\",fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:\"👯\",fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:\"👯‍♂️\",fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:\"👫\",fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:\"👬\",fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:\"👭\",fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:\"🙇‍♀️\",fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:\"🙇\",fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:\"🤦‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:\"🤦‍♀️\",fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷\",fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷‍♂️\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:\"💁\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:\"💁‍♂️\",fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:\"🙅\",fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:\"🙅‍♂️\",fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:\"🙆\",fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:\"🙆‍♂️\",fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙋\",fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙋‍♂️\",fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙎\",fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙎‍♂️\",fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍\",fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍‍♂️\",fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"💇\",fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"💇‍♂️\",fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:\"💆\",fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:\"💆‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♂️\",fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"💑\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👩‍❤️‍👩\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👨‍❤️‍👨\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"💏\",fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👩‍❤️‍💋‍👩\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👨‍❤️‍💋‍👨\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:\"👪\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:\"👨‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:\"🧶\",fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:\"🧵\",fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:\"🧥\",fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:\"🥼\",fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:\"👚\",fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:\"👕\",fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:\"👖\",fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:\"👔\",fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:\"👗\",fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:\"👙\",fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:\"👘\",fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:\"💄\",fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:\"💋\",fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:\"👣\",fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:\"🥿\",fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:\"👠\",fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:\"👡\",fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:\"👢\",fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:\"👞\",fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:\"👟\",fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:\"🥾\",fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:\"🧦\",fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:\"🧤\",fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:\"🧣\",fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:\"👒\",fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:\"🎩\",fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:\"🧢\",fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:\"⛑\",fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:\"🎓\",fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:\"👑\",fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:\"🎒\",fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:\"🧳\",fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:\"👝\",fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:\"👛\",fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:\"👜\",fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:\"💼\",fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:\"👓\",fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:\"🕶\",fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:\"🥽\",fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:\"💍\",fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:\"🌂\",fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:\"🐶\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:\"🐱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:\"🐭\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:\"🐹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:\"🐰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:\"🦊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:\"🐼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:\"🐨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:\"🐯\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:\"🦁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐮\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:\"🐷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:\"🐽\",fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:\"🐸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:\"🦑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:\"🐙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:\"🦐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🐵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🦍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:\"🙈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:\"🙉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:\"🙊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:\"🐒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:\"🐔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:\"🐧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:\"🐦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:\"🐤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:\"🐣\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:\"🐥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:\"🦆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:\"🦉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:\"🦇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:\"🐗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:\"🐴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:\"🦄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:\"🐝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:\"🐛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:\"🦋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:\"🐌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:\"🐞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:\"🐜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:\"🦗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:\"🕷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:\"🦂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:\"🦀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:\"🐍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:\"🦎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:\"🦖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:\"🦕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:\"🐢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:\"🐠\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:\"🐟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:\"🐡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:\"🐬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:\"🦈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:\"🐊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:\"🐆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:\"🦓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:\"🐅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:\"🐃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:\"🐂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:\"🦌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:\"🐪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:\"🐫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:\"🦒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:\"🐘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:\"🦏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:\"🐐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:\"🐏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:\"🐑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:\"🐎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:\"🐖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:\"🐀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:\"🐁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:\"🐓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:\"🦃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:\"🕊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:\"🐕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:\"🐩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:\"🐈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:\"🐇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:\"🐿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:\"🦔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:\"🦝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:\"🦙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:\"🦛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:\"🦘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:\"🦡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:\"🦚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:\"🦜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:\"🦞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:\"🦟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:\"🐾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:\"🌵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:\"🎄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:\"🌲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:\"🌳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:\"🌴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:\"🌱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:\"🌿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:\"☘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:\"🍀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:\"🎍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:\"🎋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:\"🍃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:\"🍂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:\"🍁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:\"🌾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:\"🌺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:\"🌻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:\"🌹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:\"🥀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:\"🌷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:\"🌼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:\"🌸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:\"💐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:\"🍄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:\"🌰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:\"🎃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:\"🐚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:\"🕸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:\"🌎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:\"🌍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:\"🌏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:\"🌖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:\"🌔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:\"🌞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:\"🌙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:\"⭐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:\"🌟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:\"💫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:\"✨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:\"☄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:\"☀️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:\"🌤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:\"⛅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:\"🌥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:\"🌦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:\"☁️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:\"🌧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:\"⛈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:\"🌩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:\"⚡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:\"🔥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:\"💥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:\"❄️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:\"🌨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:\"⛄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:\"☃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:\"🌬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:\"💨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:\"🌪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:\"🌫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:\"☂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:\"☔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:\"💧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:\"💦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:\"🌊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:\"🍏\",fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:\"🍎\",fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍐\",fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:\"🍊\",fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:\"🍋\",fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:\"🍌\",fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:\"🍉\",fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:\"🍇\",fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:\"🍓\",fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍈\",fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:\"🍒\",fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍑\",fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍍\",fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:\"🥥\",fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:\"🥝\",fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:\"🥭\",fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:\"🥑\",fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:\"🥦\",fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:\"🍅\",fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:\"🍆\",fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:\"🥒\",fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:\"🥕\",fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:\"🌶\",fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:\"🥔\",fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:\"🌽\",fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:\"🥬\",fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:\"🍠\",fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:\"🥜\",fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:\"🍯\",fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥐\",fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:\"🍞\",fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:\"🥯\",fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:\"🥨\",fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:\"🧀\",fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:\"🥚\",fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:\"🥓\",fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:\"🥩\",fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:\"🥞\",fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:\"🍗\",fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:\"🍖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:\"🦴\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:\"🍤\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:\"🍳\",fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:\"🍔\",fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:\"🍟\",fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:\"🥙\",fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:\"🌭\",fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:\"🍕\",fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:\"🥪\",fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:\"🥫\",fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:\"🍝\",fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:\"🌮\",fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:\"🌯\",fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:\"🥗\",fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:\"🥘\",fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:\"🍜\",fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:\"🍲\",fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:\"🍥\",fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:\"🥠\",fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:\"🍣\",fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:\"🍱\",fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:\"🍛\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:\"🍙\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:\"🍚\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:\"🍘\",fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:\"🍢\",fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:\"🍡\",fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:\"🍧\",fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:\"🍨\",fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:\"🍦\",fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:\"🥧\",fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:\"🍰\",fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:\"🧁\",fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:\"🥮\",fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:\"🎂\",fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:\"🍮\",fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:\"🍬\",fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:\"🍭\",fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:\"🍫\",fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:\"🍿\",fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:\"🥟\",fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:\"🍩\",fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:\"🍪\",fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:\"🥛\",fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍺\",fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍻\",fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:\"🥂\",fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:\"🍷\",fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:\"🥃\",fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:\"🍸\",fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:\"🍹\",fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:\"🍾\",fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:\"🍶\",fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:\"🍵\",fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:\"🥤\",fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:\"☕\",fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:\"🍼\",fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:\"🧂\",fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:\"🥄\",fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:\"🍴\",fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:\"🍽\",fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:\"🥣\",fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:\"🥡\",fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:\"🥢\",fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:\"⚽\",fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:\"🏀\",fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:\"🏈\",fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:\"⚾\",fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:\"🥎\",fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:\"🎾\",fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:\"🏐\",fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:\"🏉\",fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:\"🥏\",fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:\"🎱\",fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:\"⛳\",fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:\"🏌️‍♀️\",fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:\"🏌\",fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:\"🏓\",fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:\"🏸\",fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:\"🥅\",fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:\"🏒\",fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:\"🏑\",fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:\"🥍\",fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:\"🏏\",fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:\"🎿\",fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:\"⛷\",fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:\"🏂\",fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:\"🤺\",fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♀️\",fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♂️\",fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♂️\",fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:\"⛸\",fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:\"🥌\",fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:\"🛹\",fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:\"🛷\",fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:\"🏹\",fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:\"🎣\",fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:\"🥊\",fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:\"🥋\",fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:\"🚣‍♀️\",fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:\"🚣\",fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:\"🧗‍♀️\",fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:\"🧗‍♂️\",fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:\"🏊‍♀️\",fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:\"🏊\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♂️\",fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:\"🏄‍♀️\",fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:\"🏄\",fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛀\",fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:\"⛹️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:\"⛹\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:\"🏋️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:\"🏋\",fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:\"🚴‍♀️\",fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:\"🚴\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:\"🚵‍♀️\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:\"🚵\",fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:\"🏇\",fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:\"🕴\",fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:\"🏆\",fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:\"🎽\",fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:\"🏅\",fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:\"🎖\",fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:\"🥇\",fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:\"🥈\",fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:\"🥉\",fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:\"🎗\",fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:\"🏵\",fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:\"🎫\",fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:\"🎟\",fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:\"🎭\",fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:\"🎨\",fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:\"🎪\",fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♂️\",fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:\"🎤\",fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:\"🎧\",fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:\"🎼\",fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:\"🎹\",fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:\"🥁\",fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:\"🎷\",fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:\"🎺\",fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:\"🎸\",fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:\"🎻\",fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:\"🎬\",fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:\"🎮\",fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:\"👾\",fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:\"🎯\",fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:\"🎲\",fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:\"🎰\",fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:\"🧩\",fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:\"🎳\",fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:\"🚗\",fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:\"🚕\",fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚙\",fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚌\",fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:\"🚎\",fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:\"🏎\",fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:\"🚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:\"🚑\",fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:\"🚒\",fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:\"🚐\",fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:\"🚚\",fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:\"🚛\",fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:\"🚜\",fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:\"🛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:\"🏍\",fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:\"🚲\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:\"🛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:\"🚨\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:\"🚔\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:\"🚍\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚘\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:\"🚖\",fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚡\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚠\",fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:\"🚟\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚃\",fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:\"🚋\",fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚝\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:\"🚄\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:\"🚅\",fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚈\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:\"🚞\",fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:\"🚂\",fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:\"🚆\",fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:\"🚇\",fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:\"🚊\",fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:\"🚉\",fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:\"🛸\",fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:\"🚁\",fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:\"🛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:\"✈️\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:\"🛫\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:\"🛬\",fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:\"⛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:\"🛥\",fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:\"🚤\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:\"⛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:\"🛳\",fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:\"🚀\",fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:\"🛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:\"💺\",fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:\"🛶\",fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:\"⚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:\"🚧\",fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:\"⛽\",fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:\"🚏\",fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:\"🚦\",fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:\"🚥\",fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:\"🏁\",fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:\"🚢\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:\"🎡\",fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:\"🎢\",fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:\"🎠\",fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:\"🏗\",fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:\"🌁\",fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:\"🗼\",fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:\"🏭\",fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:\"⛲\",fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:\"🎑\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:\"⛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:\"🏔\",fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:\"🗻\",fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:\"🌋\",fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:\"🗾\",fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:\"🏕\",fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:\"⛺\",fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:\"🏞\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:\"🛣\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:\"🛤\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:\"🌅\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:\"🌄\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:\"🏜\",fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:\"🏖\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:\"🏝\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:\"🌇\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:\"🌆\",fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:\"🏙\",fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:\"🌃\",fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:\"🌉\",fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:\"🌌\",fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:\"🌠\",fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:\"🎇\",fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:\"🎆\",fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:\"🌈\",fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:\"🏘\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:\"🏰\",fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:\"🏯\",fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:\"🏟\",fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:\"🗽\",fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:\"🏠\",fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:\"🏡\",fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:\"🏚\",fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:\"🏢\",fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:\"🏬\",fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:\"🏣\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:\"🏤\",fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:\"🏥\",fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:\"🏦\",fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:\"🏨\",fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:\"🏪\",fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:\"🏫\",fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:\"🏩\",fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:\"💒\",fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:\"🏛\",fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:\"⛪\",fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:\"🕌\",fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:\"🕍\",fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:\"🕋\",fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:\"⛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:\"⌚\",fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:\"📱\",fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:\"📲\",fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:\"💻\",fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:\"⌨\",fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:\"🖥\",fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:\"🖨\",fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:\"🖱\",fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:\"🖲\",fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:\"🕹\",fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:\"🗜\",fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:\"💽\",fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:\"💾\",fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:\"💿\",fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:\"📀\",fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:\"📼\",fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:\"📷\",fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:\"📸\",fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:\"📹\",fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:\"🎥\",fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:\"📽\",fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:\"🎞\",fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:\"📞\",fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:\"☎️\",fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:\"📟\",fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:\"📠\",fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:\"📺\",fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:\"📻\",fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:\"🎙\",fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:\"🎚\",fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:\"🎛\",fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:\"🧭\",fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:\"⏱\",fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:\"⏲\",fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:\"⏰\",fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:\"🕰\",fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:\"⏳\",fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:\"⌛\",fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:\"📡\",fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:\"🔋\",fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:\"🔌\",fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:\"💡\",fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:\"🔦\",fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:\"🕯\",fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:\"🧯\",fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:\"🗑\",fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:\"🛢\",fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:\"💸\",fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:\"💵\",fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:\"💴\",fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:\"💶\",fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:\"💷\",fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:\"💰\",fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:\"💳\",fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:\"💎\",fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:\"⚖\",fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:\"🧰\",fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:\"🔧\",fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:\"🔨\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:\"⚒\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:\"🛠\",fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:\"⛏\",fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:\"🔩\",fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:\"⚙\",fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:\"🧱\",fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:\"⛓\",fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:\"🧲\",fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:\"🔫\",fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:\"💣\",fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:\"🧨\",fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:\"🔪\",fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:\"🗡\",fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:\"⚔\",fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:\"🛡\",fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:\"🚬\",fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:\"☠\",fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:\"⚰\",fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:\"⚱\",fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:\"🏺\",fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:\"🔮\",fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:\"📿\",fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:\"🧿\",fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:\"💈\",fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:\"⚗\",fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:\"🔭\",fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:\"🔬\",fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:\"🕳\",fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:\"💊\",fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:\"💉\",fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:\"🧬\",fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:\"🦠\",fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:\"🧫\",fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:\"🧪\",fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:\"🌡\",fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:\"🧹\",fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:\"🧺\",fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:\"🧻\",fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:\"🏷\",fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:\"🔖\",fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:\"🚽\",fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:\"🚿\",fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛁\",fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:\"🧼\",fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:\"🧽\",fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:\"🧴\",fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🔑\",fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🗝\",fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:\"🛋\",fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:\"🛌\",fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:\"🛏\",fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:\"🚪\",fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:\"🛎\",fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:\"🧸\",fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:\"🖼\",fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:\"🗺\",fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:\"⛱\",fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:\"🗿\",fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:\"🛍\",fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:\"🛒\",fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:\"🎈\",fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:\"🎏\",fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:\"🎀\",fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:\"🎁\",fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:\"🎊\",fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:\"🎉\",fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:\"🎎\",fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:\"🎐\",fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:\"🎌\",fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:\"🏮\",fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:\"🧧\",fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:\"✉️\",fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:\"📩\",fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:\"📨\",fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:\"📧\",fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:\"💌\",fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:\"📮\",fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:\"📪\",fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📫\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📬\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:\"📭\",fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:\"📦\",fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:\"📯\",fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:\"📥\",fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:\"📤\",fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:\"📜\",fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:\"📃\",fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:\"📑\",fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:\"🧾\",fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:\"📊\",fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:\"📈\",fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:\"📉\",fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:\"📄\",fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:\"📅\",fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:\"📆\",fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:\"🗓\",fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:\"📇\",fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:\"🗃\",fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:\"🗳\",fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:\"🗄\",fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:\"📋\",fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:\"🗒\",fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:\"📁\",fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:\"📂\",fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:\"🗂\",fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:\"🗞\",fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:\"📰\",fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:\"📓\",fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:\"📕\",fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:\"📗\",fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:\"📘\",fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:\"📙\",fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:\"📔\",fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:\"📒\",fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:\"📚\",fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:\"📖\",fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:\"🧷\",fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:\"🔗\",fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:\"📎\",fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:\"🖇\",fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:\"✂️\",fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:\"📐\",fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:\"📏\",fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:\"🧮\",fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:\"📌\",fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:\"📍\",fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:\"🚩\",fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:\"🏳\",fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:\"🏴\",fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:\"🏳️‍🌈\",fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:\"🔐\",fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:\"🔒\",fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:\"🔓\",fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:\"🔏\",fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖊\",fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖋\",fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:\"✒️\",fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:\"📝\",fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:\"✏️\",fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:\"🖍\",fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:\"🖌\",fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔍\",fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔎\",fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:\"❤️\",fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"🧡\",fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💛\",fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💚\",fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💙\",fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💜\",fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:\"🖤\",fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:\"💔\",fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:\"❣\",fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:\"💕\",fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💞\",fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:\"💓\",fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:\"💗\",fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💖\",fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:\"💘\",fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:\"💝\",fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:\"💟\",fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:\"☮\",fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:\"✝\",fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:\"☪\",fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"🕉\",fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"☸\",fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:\"✡\",fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:\"🔯\",fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:\"🕎\",fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:\"☯\",fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:\"☦\",fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:\"🛐\",fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:\"⛎\",fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♈\",fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♉\",fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♊\",fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♋\",fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♌\",fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♍\",fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♎\",fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:\"♏\",fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♐\",fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♑\",fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♒\",fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♓\",fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:\"🆔\",fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:\"⚛\",fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:\"🈳\",fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:\"🈹\",fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:\"☢\",fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:\"☣\",fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:\"📴\",fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:\"📳\",fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:\"🈶\",fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:\"🈚\",fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:\"🈸\",fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:\"🈺\",fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:\"🈷️\",fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:\"✴️\",fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:\"🆚\",fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:\"🉑\",fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:\"💮\",fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:\"🉐\",fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:\"㊙️\",fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:\"㊗️\",fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:\"🈴\",fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:\"🈵\",fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:\"🈲\",fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅰️\",fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅱️\",fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:\"🆎\",fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:\"🆑\",fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:\"🅾️\",fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:\"🆘\",fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:\"⛔\",fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:\"📛\",fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:\"🚫\",fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:\"❌\",fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:\"⭕\",fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:\"🛑\",fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:\"💢\",fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:\"♨️\",fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:\"🚷\",fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:\"🚯\",fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:\"🚳\",fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:\"🚱\",fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:\"🔞\",fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:\"📵\",fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:\"❗\",fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:\"❕\",fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:\"❓\",fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:\"❔\",fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:\"‼️\",fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:\"⁉️\",fitzpatrick_scale:false,category:\"symbols\"},100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:\"💯\",fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:\"🔅\",fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:\"🔆\",fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:\"🔱\",fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:\"⚜\",fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:\"〽️\",fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:\"⚠️\",fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:\"🚸\",fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:\"🔰\",fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:\"♻️\",fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:\"🈯\",fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:\"💹\",fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:\"❇️\",fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:\"✳️\",fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:\"❎\",fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:\"✅\",fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:\"💠\",fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:\"🌀\",fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:\"➿\",fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:\"🌐\",fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:\"Ⓜ️\",fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:\"🏧\",fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:\"🈂️\",fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:\"🛂\",fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:\"🛃\",fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:\"🛄\",fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:\"🛅\",fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:\"♿\",fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:\"🚭\",fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:\"🚾\",fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:\"🅿️\",fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:\"🚰\",fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:\"🚹\",fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:\"🚺\",fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:\"🚼\",fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:\"🚻\",fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:\"🚮\",fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:\"🎦\",fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:\"📶\",fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:\"🈁\",fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:\"🆖\",fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:\"🆗\",fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:\"🆙\",fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:\"🆒\",fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:\"🆕\",fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:\"🆓\",fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:\"0️⃣\",fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:\"1️⃣\",fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:\"2️⃣\",fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:\"3️⃣\",fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:\"4️⃣\",fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:\"5️⃣\",fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:\"6️⃣\",fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:\"7️⃣\",fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:\"8️⃣\",fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:\"9️⃣\",fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:\"🔟\",fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:\"*⃣\",fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:\"🔢\",fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:\"⏏️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:\"▶️\",fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:\"⏸\",fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:\"⏭\",fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:\"⏹\",fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:\"⏺\",fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:\"⏯\",fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:\"⏮\",fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:\"⏩\",fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:\"⏪\",fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:\"🔀\",fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:\"🔁\",fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:\"🔂\",fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:\"◀️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:\"🔼\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"🔽\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⏫\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⏬\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:\"➡️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:\"⬅️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:\"⬆️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⬇️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:\"↗️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:\"↘️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:\"↙️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:\"↖️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:\"↕️\",fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:\"↔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:\"🔄\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:\"↪️\",fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:\"↩️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⤴️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⤵️\",fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:\"#️⃣\",fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:\"ℹ️\",fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔤\",fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔡\",fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:\"🔠\",fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:\"🔣\",fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:\"🎵\",fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:\"🎶\",fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:\"〰️\",fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:\"➰\",fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:\"✔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:\"🔃\",fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:\"➕\",fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:\"➖\",fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:\"➗\",fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:\"✖️\",fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:\"♾\",fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:\"💲\",fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:\"💱\",fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:\"©️\",fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:\"®️\",fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:\"™️\",fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:\"🔚\",fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:\"🔙\",fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:\"🔛\",fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:\"🔝\",fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:\"🔜\",fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:\"☑️\",fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:\"🔘\",fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:\"⚪\",fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:\"⚫\",fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:\"🔴\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:\"🔵\",fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔸\",fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔹\",fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔶\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔷\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:\"🔺\",fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:\"▪️\",fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:\"▫️\",fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:\"⬛\",fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:\"⬜\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:\"🔻\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:\"◼️\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:\"◻️\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:\"◾\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:\"◽\",fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:\"🔲\",fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:\"🔳\",fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:\"🔈\",fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:\"🔉\",fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:\"🔊\",fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:\"🔇\",fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:\"📣\",fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:\"📢\",fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:\"🔔\",fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:\"🔕\",fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:\"🃏\",fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:\"🀄\",fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:\"♠️\",fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♣️\",fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♥️\",fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♦️\",fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:\"🎴\",fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:\"💭\",fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:\"🗯\",fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:\"💬\",fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:\"🗨\",fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕐\",fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕑\",fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕒\",fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕓\",fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕔\",fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:\"🕕\",fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕖\",fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕗\",fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕘\",fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕙\",fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕚\",fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:\"🕛\",fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕜\",fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕝\",fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕞\",fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕟\",fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕠\",fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕡\",fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕢\",fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕣\",fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕤\",fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕥\",fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕦\",fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕧\",fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇫\",fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇽\",fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇱\",fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇿\",fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇸\",fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇩\",fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇴\",fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇮\",fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇶\",fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇬\",fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇷\",fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇲\",fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇼\",fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇺\",fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇹\",fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇿\",fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇸\",fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇭\",fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇩\",fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇧\",fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇾\",fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇪\",fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇿\",fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇯\",fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇲\",fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇹\",fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇴\",fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇶\",fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇦\",fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇼\",fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇷\",fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇴\",fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇬\",fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇳\",fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇬\",fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇫\",fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇮\",fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇻\",fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇭\",fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇲\",fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇦\",fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇨\",fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇾\",fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇫\",fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇩\",fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇱\",fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:\"🇨🇳\",fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇽\",fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇨\",fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇴\",fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇲\",fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇬\",fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇩\",fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇰\",fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇷\",fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇷\",fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇺\",fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇼\",fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇾\",fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇿\",fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇰\",fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇯\",fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇲\",fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇴\",fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇨\",fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇬\",fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇻\",fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇶\",fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇷\",fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇪\",fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇹\",fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:\"🇪🇺\",fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇰\",fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇴\",fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇯\",fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇮\",fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:\"🇫🇷\",fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇫\",fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇫\",fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇫\",fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇦\",fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇲\",fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇪\",fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇩🇪\",fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇭\",fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇮\",fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇷\",fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇱\",fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇩\",fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇵\",fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇺\",fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇹\",fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇬\",fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇳\",fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇼\",fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇾\",fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇹\",fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇳\",fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇰\",fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇺\",fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇸\",fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇳\",fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇩\",fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇷\",fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇶\",fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇪\",fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇲\",fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇱\",fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇹\",fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇮\",fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇲\",fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇯🇵\",fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇪\",fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇴\",fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇿\",fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇪\",fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇮\",fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇽🇰\",fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇼\",fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇬\",fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇦\",fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇻\",fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇧\",fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇸\",fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇷\",fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇾\",fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇮\",fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇹\",fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇺\",fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇴\",fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇰\",fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇬\",fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇼\",fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇾\",fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇻\",fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇱\",fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇹\",fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇭\",fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇶\",fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇷\",fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇺\",fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇹\",fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇽\",fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇲\",fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇩\",fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇨\",fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇳\",fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇪\",fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇸\",fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇦\",fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇿\",fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇲\",fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇦\",fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇷\",fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇵\",fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇱\",fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇨\",fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇿\",fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇮\",fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇪\",fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇬\",fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇺\",fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇫\",fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇵\",fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇵\",fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇴\",fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇴🇲\",fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇰\",fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇼\",fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇸\",fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇦\",fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇬\",fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇾\",fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇪\",fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇭\",fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇳\",fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇱\",fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇹\",fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇷\",fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇶🇦\",fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇪\",fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇴\",fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇺\",fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇼\",fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇱\",fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇭\",fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇳\",fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇨\",fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇲\",fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇨\",fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇸\",fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇲\",fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇹\",fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇦\",fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇳\",fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇸\",fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇨\",fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇱\",fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇬\",fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇽\",fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇰\",fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇮\",fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇧\",fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇴\",fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇦\",fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇸\",fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇷\",fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇸\",fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇸\",fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇰\",fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇩\",fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇷\",fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇿\",fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇪\",fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇭\",fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇾\",fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇼\",fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇯\",fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇿\",fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇭\",fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇱\",fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇬\",fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇰\",fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇴\",fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇹\",fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇳\",fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇷\",fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇲\",fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇨\",fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇻\",fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇬\",fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇦\",fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇪\",fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:\"🇬🇧\",fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇸\",fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇮\",fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇾\",fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇿\",fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇺\",fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇦\",fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇪\",fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇳\",fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇫\",fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇭\",fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇪\",fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇲\",fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇼\",fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:\"🇺🇳\",fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:\"🏴‍☠️\",fitzpatrick_scale:false,category:\"flags\"}});/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$5 = fullscreenState => ({\n      isFullscreen: () => fullscreenState.get() !== null\n    });\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map(xs, f));\n    const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$4(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$3 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings$2 = element => {\n      const filterSelf = elements => filter$1(elements, x => !eq(element, x));\n      return parent(element).map(children).map(filterSelf).getOr([]);\n    };\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$3 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$2 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$2(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$2(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$1\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect = () => platform();\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const get$1 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n\n    const get = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$1(SugarElement.fromDom(doc));\n      return get(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n    const bind = (name, callback, _win) => get(_win).map(visualViewport => {\n      const handler = e => callback(fromRawEvent(e));\n      visualViewport.addEventListener(name, handler);\n      return {\n        unbind: () => visualViewport.removeEventListener(name, handler)\n      };\n    }).getOrThunk(() => ({\n      unbind: noop\n    }));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const fireFullscreenStateChanged = (editor, state) => {\n      editor.dispatch('FullscreenStateChanged', {\n        state\n      });\n      editor.dispatch('ResizeEditor');\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('fullscreen_native', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getFullscreenNative = option('fullscreen_native');\n\n    const getFullscreenRoot = editor => {\n      const elem = SugarElement.fromDom(editor.getElement());\n      return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem)));\n    };\n    const getFullscreenElement = root => {\n      if (root.fullscreenElement !== undefined) {\n        return root.fullscreenElement;\n      } else if (root.msFullscreenElement !== undefined) {\n        return root.msFullscreenElement;\n      } else if (root.webkitFullscreenElement !== undefined) {\n        return root.webkitFullscreenElement;\n      } else {\n        return null;\n      }\n    };\n    const getFullscreenchangeEventName = () => {\n      if (document.fullscreenElement !== undefined) {\n        return 'fullscreenchange';\n      } else if (document.msFullscreenElement !== undefined) {\n        return 'MSFullscreenChange';\n      } else if (document.webkitFullscreenElement !== undefined) {\n        return 'webkitfullscreenchange';\n      } else {\n        return 'fullscreenchange';\n      }\n    };\n    const requestFullscreen = sugarElem => {\n      const elem = sugarElem.dom;\n      if (elem.requestFullscreen) {\n        elem.requestFullscreen();\n      } else if (elem.msRequestFullscreen) {\n        elem.msRequestFullscreen();\n      } else if (elem.webkitRequestFullScreen) {\n        elem.webkitRequestFullScreen();\n      }\n    };\n    const exitFullscreen = sugarDoc => {\n      const doc = sugarDoc.dom;\n      if (doc.exitFullscreen) {\n        doc.exitFullscreen();\n      } else if (doc.msExitFullscreen) {\n        doc.msExitFullscreen();\n      } else if (doc.webkitCancelFullScreen) {\n        doc.webkitCancelFullScreen();\n      }\n    };\n    const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom);\n\n    const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate);\n    const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate);\n\n    const all = selector => all$1(selector);\n    const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot);\n    const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector));\n\n    const attr = 'data-ephox-mobile-fullscreen-style';\n    const siblingStyles = 'display:none!important;';\n    const ancestorPosition = 'position:absolute!important;';\n    const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n    const bgFallback = 'background-color:rgb(255,255,255)!important;';\n    const isAndroid = global.os.isAndroid();\n    const matchColor = editorBody => {\n      const color = get$2(editorBody, 'background-color');\n      return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n    };\n    const clobberStyles = (dom, container, editorBody) => {\n      const gatherSiblings = element => {\n        return siblings(element, '*:not(.tox-silver-sink)');\n      };\n      const clobber = clobberStyle => element => {\n        const styles = get$3(element, 'style');\n        const backup = styles === undefined ? 'no-styles' : styles.trim();\n        if (backup === clobberStyle) {\n          return;\n        } else {\n          set$1(element, attr, backup);\n          setAll(element, dom.parseStyle(clobberStyle));\n        }\n      };\n      const ancestors$1 = ancestors(container, '*');\n      const siblings$1 = bind$3(ancestors$1, gatherSiblings);\n      const bgColor = matchColor(editorBody);\n      each$1(siblings$1, clobber(siblingStyles));\n      each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n      const containerStyles = isAndroid === true ? '' : ancestorPosition;\n      clobber(containerStyles + ancestorStyles + bgColor)(container);\n    };\n    const restoreStyles = dom => {\n      const clobberedEls = all('[' + attr + ']');\n      each$1(clobberedEls, element => {\n        const restore = get$3(element, attr);\n        if (restore && restore !== 'no-styles') {\n          setAll(element, dom.parseStyle(restore));\n        } else {\n          remove(element, 'style');\n        }\n        remove(element, attr);\n      });\n    };\n\n    const DOM = global$1.DOM;\n    const getScrollPos = () => getBounds(window);\n    const setScrollPos = pos => window.scrollTo(pos.x, pos.y);\n    const viewportUpdate = get().fold(() => ({\n      bind: noop,\n      unbind: noop\n    }), visualViewport => {\n      const editorContainer = value();\n      const resizeBinder = unbindable();\n      const scrollBinder = unbindable();\n      const refreshScroll = () => {\n        document.body.scrollTop = 0;\n        document.documentElement.scrollTop = 0;\n      };\n      const refreshVisualViewport = () => {\n        window.requestAnimationFrame(() => {\n          editorContainer.on(container => setAll(container, {\n            top: visualViewport.offsetTop + 'px',\n            left: visualViewport.offsetLeft + 'px',\n            height: visualViewport.height + 'px',\n            width: visualViewport.width + 'px'\n          }));\n        });\n      };\n      const update = first(() => {\n        refreshScroll();\n        refreshVisualViewport();\n      }, 50);\n      const bind$1 = element => {\n        editorContainer.set(element);\n        update.throttle();\n        resizeBinder.set(bind('resize', update.throttle));\n        scrollBinder.set(bind('scroll', update.throttle));\n      };\n      const unbind = () => {\n        editorContainer.on(() => {\n          resizeBinder.clear();\n          scrollBinder.clear();\n        });\n        editorContainer.clear();\n      };\n      return {\n        bind: bind$1,\n        unbind\n      };\n    });\n    const toggleFullscreen = (editor, fullscreenState) => {\n      const body = document.body;\n      const documentElement = document.documentElement;\n      const editorContainer = editor.getContainer();\n      const editorContainerS = SugarElement.fromDom(editorContainer);\n      const sinkContainerS = nextSibling(editorContainerS).filter(elm => isHTMLElement(elm) && has(elm, 'tox-silver-sink'));\n      const fullscreenRoot = getFullscreenRoot(editor);\n      const fullscreenInfo = fullscreenState.get();\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const isTouch = global.deviceType.isTouch();\n      const editorContainerStyle = editorContainer.style;\n      const iframe = editor.iframeElement;\n      const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style;\n      const handleClasses = handler => {\n        handler(body, 'tox-fullscreen');\n        handler(documentElement, 'tox-fullscreen');\n        handler(editorContainer, 'tox-fullscreen');\n        getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => {\n          handler(host, 'tox-fullscreen');\n          handler(host, 'tox-shadowhost');\n        });\n      };\n      const cleanup = () => {\n        if (isTouch) {\n          restoreStyles(editor.dom);\n        }\n        handleClasses(DOM.removeClass);\n        viewportUpdate.unbind();\n        Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind());\n      };\n      if (!fullscreenInfo) {\n        const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => {\n          if (getFullscreenNative(editor)) {\n            if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n              toggleFullscreen(editor, fullscreenState);\n            }\n          }\n        });\n        const newFullScreenInfo = {\n          scrollPos: getScrollPos(),\n          containerWidth: editorContainerStyle.width,\n          containerHeight: editorContainerStyle.height,\n          containerTop: editorContainerStyle.top,\n          containerLeft: editorContainerStyle.left,\n          iframeWidth: iframeStyle.width,\n          iframeHeight: iframeStyle.height,\n          fullscreenChangeHandler,\n          sinkCssPosition: sinkContainerS.map(elm => get$2(elm, 'position'))\n        };\n        if (isTouch) {\n          clobberStyles(editor.dom, editorContainerS, editorBody);\n        }\n        iframeStyle.width = iframeStyle.height = '100%';\n        editorContainerStyle.width = editorContainerStyle.height = '';\n        handleClasses(DOM.addClass);\n        sinkContainerS.each(elm => {\n          set(elm, 'position', 'fixed');\n        });\n        viewportUpdate.bind(editorContainerS);\n        editor.on('remove', cleanup);\n        fullscreenState.set(newFullScreenInfo);\n        if (getFullscreenNative(editor)) {\n          requestFullscreen(fullscreenRoot);\n        }\n        fireFullscreenStateChanged(editor, true);\n      } else {\n        fullscreenInfo.fullscreenChangeHandler.unbind();\n        if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n          exitFullscreen(owner(fullscreenRoot));\n        }\n        iframeStyle.width = fullscreenInfo.iframeWidth;\n        iframeStyle.height = fullscreenInfo.iframeHeight;\n        editorContainerStyle.width = fullscreenInfo.containerWidth;\n        editorContainerStyle.height = fullscreenInfo.containerHeight;\n        editorContainerStyle.top = fullscreenInfo.containerTop;\n        editorContainerStyle.left = fullscreenInfo.containerLeft;\n        lift2(sinkContainerS, fullscreenInfo.sinkCssPosition, (elm, val) => {\n          set(elm, 'position', val);\n        });\n        cleanup();\n        setScrollPos(fullscreenInfo.scrollPos);\n        fullscreenState.set(null);\n        fireFullscreenStateChanged(editor, false);\n        editor.off('remove', cleanup);\n      }\n    };\n\n    const register$1 = (editor, fullscreenState) => {\n      editor.addCommand('mceFullScreen', () => {\n        toggleFullscreen(editor, fullscreenState);\n      });\n    };\n\n    const makeSetupHandler = (editor, fullscreenState) => api => {\n      api.setActive(fullscreenState.get() !== null);\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('FullscreenStateChanged', editorEventCallback);\n      return () => editor.off('FullscreenStateChanged', editorEventCallback);\n    };\n    const register = (editor, fullscreenState) => {\n      const onAction = () => editor.execCommand('mceFullScreen');\n      editor.ui.registry.addToggleMenuItem('fullscreen', {\n        text: 'Fullscreen',\n        icon: 'fullscreen',\n        shortcut: 'Meta+Shift+F',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n      editor.ui.registry.addToggleButton('fullscreen', {\n        tooltip: 'Fullscreen',\n        icon: 'fullscreen',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('fullscreen', editor => {\n        const fullscreenState = Cell(null);\n        if (editor.inline) {\n          return get$5(fullscreenState);\n        }\n        register$2(editor);\n        register$1(editor, fullscreenState);\n        register(editor, fullscreenState);\n        editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n        return get$5(fullscreenState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const is = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf(o) === proto);\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isPlainObject = value => is(value, Object);\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    const nativePush = Array.prototype.push;\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const get = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isNotEmpty = s => s.length > 0;\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('image_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_advtab', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_uploadtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_prepend_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('image_class_list', {\n        processor: 'object[]'\n      });\n      registerOption('image_description', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_title', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_caption', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_list', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isObject) || isFunction(value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be false, a string, an array or a function.'\n          };\n        },\n        default: false\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const hasDimensions = option('image_dimensions');\n    const hasAdvTab = option('image_advtab');\n    const hasUploadTab = option('image_uploadtab');\n    const getPrependUrl = option('image_prepend_url');\n    const getClassList = option('image_class_list');\n    const hasDescription = option('image_description');\n    const hasImageTitle = option('image_title');\n    const hasImageCaption = option('image_caption');\n    const getImageList = option('image_list');\n    const showAccessibilityOptions = option('a11y_advanced_options');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const hasUploadUrl = editor => isNotEmpty(editor.options.get('images_upload_url'));\n    const hasUploadHandler = editor => isNonNullable(editor.options.get('images_upload_handler'));\n    const getSnImageSettings = editor => {\n      const {\n        allowLibraryUploads = true,\n        showLibraryTab = false,\n        libraryFilePicker = callback => callback(null),\n        labels = {}\n      } = editor.options.get('sn_settings').image || {};\n      return {\n        allowLibraryUploads,\n        showLibraryTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Image Library',\n          dropzone: 'Upload to Public Library',\n          search: 'Search Library',\n          ...labels\n        }\n      };\n    };\n\n    const parseIntAndGetMax = (val1, val2) => Math.max(parseInt(val1, 10), parseInt(val2, 10));\n    const getImageSize = url => new Promise(callback => {\n      const img = document.createElement('img');\n      const done = dimensions => {\n        img.onload = img.onerror = null;\n        if (img.parentNode) {\n          img.parentNode.removeChild(img);\n        }\n        callback(dimensions);\n      };\n      img.onload = () => {\n        const width = parseIntAndGetMax(img.width, img.clientWidth);\n        const height = parseIntAndGetMax(img.height, img.clientHeight);\n        const dimensions = {\n          width,\n          height\n        };\n        done(Promise.resolve(dimensions));\n      };\n      img.onerror = () => {\n        done(Promise.reject(\"Failed to get image dimensions for: \".concat(url)));\n      };\n      const style = img.style;\n      style.visibility = 'hidden';\n      style.position = 'fixed';\n      style.bottom = style.left = '0px';\n      style.width = style.height = 'auto';\n      document.body.appendChild(img);\n      img.src = url;\n    });\n    const removePixelSuffix = value => {\n      if (value) {\n        value = value.replace(/px$/, '');\n      }\n      return value;\n    };\n    const addPixelSuffix = value => {\n      if (value.length > 0 && /^[0-9]+$/.test(value)) {\n        value += 'px';\n      }\n      return value;\n    };\n    const mergeMargins = css => {\n      if (css.margin) {\n        const splitMargin = String(css.margin).split(' ');\n        switch (splitMargin.length) {\n          case 1:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[0];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[0];\n            break;\n          case 2:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 3:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 4:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[3];\n        }\n        delete css.margin;\n      }\n      return css;\n    };\n    const createImageList = (editor, callback) => {\n      const imageList = getImageList(editor);\n      if (isString(imageList)) {\n        fetch(imageList).then(res => {\n          if (res.ok) {\n            res.json().then(callback);\n          }\n        });\n      } else if (isFunction(imageList)) {\n        imageList(callback);\n      } else {\n        callback(imageList);\n      }\n    };\n    const waitLoadImage = (editor, data, imgElm) => {\n      const selectImage = () => {\n        imgElm.onload = imgElm.onerror = null;\n        if (editor.selection) {\n          editor.selection.select(imgElm);\n          editor.nodeChanged();\n        }\n      };\n      imgElm.onload = () => {\n        if (!data.width && !data.height && hasDimensions(editor)) {\n          editor.dom.setAttribs(imgElm, {\n            width: String(imgElm.clientWidth),\n            height: String(imgElm.clientHeight)\n          });\n        }\n        selectImage();\n      };\n      imgElm.onerror = selectImage;\n    };\n    const blobToDataUri = blob => new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.onload = () => {\n        resolve(reader.result);\n      };\n      reader.onerror = () => {\n        var _a;\n        reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n      };\n      reader.readAsDataURL(blob);\n    });\n    const isPlaceholderImage = imgElm => imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));\n    const isSafeImageUrl = (editor, src) => {\n      const getOption = editor.options.get;\n      return global$2.isDomSafe(src, 'img', {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      });\n    };\n\n    const DOM = global$3.DOM;\n    const getHspace = image => {\n      if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {\n        return removePixelSuffix(image.style.marginLeft);\n      } else {\n        return '';\n      }\n    };\n    const getVspace = image => {\n      if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {\n        return removePixelSuffix(image.style.marginTop);\n      } else {\n        return '';\n      }\n    };\n    const getBorder = image => {\n      if (image.style.borderWidth) {\n        return removePixelSuffix(image.style.borderWidth);\n      } else {\n        return '';\n      }\n    };\n    const getAttrib = (image, name) => {\n      var _a;\n      if (image.hasAttribute(name)) {\n        return (_a = image.getAttribute(name)) !== null && _a !== void 0 ? _a : '';\n      } else {\n        return '';\n      }\n    };\n    const hasCaption = image => image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';\n    const updateAttrib = (image, name, value) => {\n      if (value === '' || value === null) {\n        image.removeAttribute(name);\n      } else {\n        image.setAttribute(name, value);\n      }\n    };\n    const wrapInFigure = image => {\n      const figureElm = DOM.create('figure', {\n        class: 'image'\n      });\n      DOM.insertAfter(figureElm, image);\n      figureElm.appendChild(image);\n      figureElm.appendChild(DOM.create('figcaption', {\n        contentEditable: 'true'\n      }, 'Caption'));\n      figureElm.contentEditable = 'false';\n    };\n    const removeFigure = image => {\n      const figureElm = image.parentNode;\n      if (isNonNullable(figureElm)) {\n        DOM.insertAfter(image, figureElm);\n        DOM.remove(figureElm);\n      }\n    };\n    const toggleCaption = image => {\n      if (hasCaption(image)) {\n        removeFigure(image);\n      } else {\n        wrapInFigure(image);\n      }\n    };\n    const normalizeStyle = (image, normalizeCss) => {\n      const attrValue = image.getAttribute('style');\n      const value = normalizeCss(attrValue !== null ? attrValue : '');\n      if (value.length > 0) {\n        image.setAttribute('style', value);\n        image.setAttribute('data-mce-style', value);\n      } else {\n        image.removeAttribute('style');\n      }\n    };\n    const setSize = (name, normalizeCss) => (image, name, value) => {\n      const styles = image.style;\n      if (styles[name]) {\n        styles[name] = addPixelSuffix(value);\n        normalizeStyle(image, normalizeCss);\n      } else {\n        updateAttrib(image, name, value);\n      }\n    };\n    const getSize = (image, name) => {\n      if (image.style[name]) {\n        return removePixelSuffix(image.style[name]);\n      } else {\n        return getAttrib(image, name);\n      }\n    };\n    const setHspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginLeft = pxValue;\n      image.style.marginRight = pxValue;\n    };\n    const setVspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginTop = pxValue;\n      image.style.marginBottom = pxValue;\n    };\n    const setBorder = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.borderWidth = pxValue;\n    };\n    const setBorderStyle = (image, value) => {\n      image.style.borderStyle = value;\n    };\n    const getBorderStyle = image => {\n      var _a;\n      return (_a = image.style.borderStyle) !== null && _a !== void 0 ? _a : '';\n    };\n    const isFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE';\n    const isImage = elm => elm.nodeName === 'IMG';\n    const getIsDecorative = image => DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';\n    const getAlt = image => {\n      if (getIsDecorative(image)) {\n        return '';\n      } else {\n        return getAttrib(image, 'alt');\n      }\n    };\n    const defaultData = () => ({\n      src: '',\n      alt: '',\n      title: '',\n      width: '',\n      height: '',\n      class: '',\n      style: '',\n      caption: false,\n      hspace: '',\n      vspace: '',\n      border: '',\n      borderStyle: '',\n      isDecorative: false\n    });\n    const getStyleValue = (normalizeCss, data) => {\n      var _a;\n      const image = document.createElement('img');\n      updateAttrib(image, 'style', data.style);\n      if (getHspace(image) || data.hspace !== '') {\n        setHspace(image, data.hspace);\n      }\n      if (getVspace(image) || data.vspace !== '') {\n        setVspace(image, data.vspace);\n      }\n      if (getBorder(image) || data.border !== '') {\n        setBorder(image, data.border);\n      }\n      if (getBorderStyle(image) || data.borderStyle !== '') {\n        setBorderStyle(image, data.borderStyle);\n      }\n      return normalizeCss((_a = image.getAttribute('style')) !== null && _a !== void 0 ? _a : '');\n    };\n    const create = (normalizeCss, data) => {\n      const image = document.createElement('img');\n      write(normalizeCss, {\n        ...data,\n        caption: false\n      }, image);\n      setAlt(image, data.alt, data.isDecorative);\n      if (data.caption) {\n        const figure = DOM.create('figure', {\n          class: 'image'\n        });\n        figure.appendChild(image);\n        figure.appendChild(DOM.create('figcaption', {\n          contentEditable: 'true'\n        }, 'Caption'));\n        figure.contentEditable = 'false';\n        return figure;\n      } else {\n        return image;\n      }\n    };\n    const read = (normalizeCss, image) => ({\n      src: getAttrib(image, 'src'),\n      alt: getAlt(image),\n      title: getAttrib(image, 'title'),\n      width: getSize(image, 'width'),\n      height: getSize(image, 'height'),\n      class: getAttrib(image, 'class'),\n      style: normalizeCss(getAttrib(image, 'style')),\n      caption: hasCaption(image),\n      hspace: getHspace(image),\n      vspace: getVspace(image),\n      border: getBorder(image),\n      borderStyle: getBorderStyle(image),\n      isDecorative: getIsDecorative(image)\n    });\n    const updateProp = (image, oldData, newData, name, set) => {\n      if (newData[name] !== oldData[name]) {\n        set(image, name, String(newData[name]));\n      }\n    };\n    const setAlt = (image, alt, isDecorative) => {\n      if (isDecorative) {\n        DOM.setAttrib(image, 'role', 'presentation');\n        const sugarImage = SugarElement.fromDom(image);\n        set(sugarImage, 'alt', '');\n      } else {\n        if (isNull(alt)) {\n          const sugarImage = SugarElement.fromDom(image);\n          remove(sugarImage, 'alt');\n        } else {\n          const sugarImage = SugarElement.fromDom(image);\n          set(sugarImage, 'alt', alt);\n        }\n        if (DOM.getAttrib(image, 'role') === 'presentation') {\n          DOM.setAttrib(image, 'role', '');\n        }\n      }\n    };\n    const updateAlt = (image, oldData, newData) => {\n      if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {\n        setAlt(image, newData.alt, newData.isDecorative);\n      }\n    };\n    const normalized = (set, normalizeCss) => (image, name, value) => {\n      set(image, value);\n      normalizeStyle(image, normalizeCss);\n    };\n    const write = (normalizeCss, newData, image) => {\n      const oldData = read(normalizeCss, image);\n      updateProp(image, oldData, newData, 'caption', (image, _name, _value) => toggleCaption(image));\n      updateProp(image, oldData, newData, 'src', updateAttrib);\n      updateProp(image, oldData, newData, 'title', updateAttrib);\n      updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));\n      updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));\n      updateProp(image, oldData, newData, 'class', updateAttrib);\n      updateProp(image, oldData, newData, 'style', normalized((image, value) => updateAttrib(image, 'style', value), normalizeCss));\n      updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));\n      updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));\n      updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));\n      updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));\n      updateAlt(image, oldData, newData);\n    };\n\n    const normalizeCss$1 = (editor, cssText) => {\n      const css = editor.dom.styles.parse(cssText);\n      const mergedCss = mergeMargins(css);\n      const compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));\n      return editor.dom.styles.serialize(compressed);\n    };\n    const getSelectedImage = editor => {\n      const imgElm = editor.selection.getNode();\n      const figureElm = editor.dom.getParent(imgElm, 'figure.image');\n      if (figureElm) {\n        return editor.dom.select('img', figureElm)[0];\n      }\n      if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {\n        return null;\n      }\n      return imgElm;\n    };\n    const splitTextBlock = (editor, figure) => {\n      var _a;\n      const dom = editor.dom;\n      const textBlockElements = filter(editor.schema.getTextBlockElements(), (_, parentElm) => !editor.schema.isValidChild(parentElm, 'figure'));\n      const textBlock = dom.getParent(figure.parentNode, node => hasNonNullableKey(textBlockElements, node.nodeName), editor.getBody());\n      if (textBlock) {\n        return (_a = dom.split(textBlock, figure)) !== null && _a !== void 0 ? _a : figure;\n      } else {\n        return figure;\n      }\n    };\n    const readImageDataFromSelection = editor => {\n      const image = getSelectedImage(editor);\n      return image ? read(css => normalizeCss$1(editor, css), image) : defaultData();\n    };\n    const insertImageAtCaret = (editor, data) => {\n      const elm = create(css => normalizeCss$1(editor, css), data);\n      editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');\n      editor.focus();\n      editor.selection.setContent(elm.outerHTML);\n      const insertedElm = editor.dom.select('*[data-mce-id=\"__mcenew\"]')[0];\n      editor.dom.setAttrib(insertedElm, 'data-mce-id', null);\n      editor.dom.setAttrib(insertedElm, 'data-library', data.fromLibrary);\n      if (isFigure(insertedElm)) {\n        const figure = splitTextBlock(editor, insertedElm);\n        editor.selection.select(figure);\n      } else {\n        editor.selection.select(insertedElm);\n      }\n    };\n    const syncSrcAttr = (editor, image) => {\n      editor.dom.setAttrib(image, 'src', image.getAttribute('src'));\n    };\n    const deleteImage = (editor, image) => {\n      if (image) {\n        const elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;\n        editor.dom.remove(elm);\n        editor.focus();\n        editor.nodeChanged();\n        if (editor.dom.isEmpty(editor.getBody())) {\n          editor.setContent('');\n          editor.selection.setCursorLocation();\n        }\n      }\n    };\n    const writeImageDataToSelection = (editor, data) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        write(css => normalizeCss$1(editor, css), data, image);\n        syncSrcAttr(editor, image);\n        if (isFigure(image.parentNode)) {\n          const figure = image.parentNode;\n          splitTextBlock(editor, figure);\n          editor.selection.select(image.parentNode);\n        } else {\n          editor.selection.select(image);\n          waitLoadImage(editor, data, image);\n        }\n      }\n    };\n    const sanitizeImageData = (editor, data) => {\n      const src = data.src;\n      return {\n        ...data,\n        src: isSafeImageUrl(editor, src) ? src : ''\n      };\n    };\n    const insertOrUpdateImage = (editor, partialData) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        const selectedImageData = read(css => normalizeCss$1(editor, css), image);\n        const data = {\n          ...selectedImageData,\n          ...partialData\n        };\n        const sanitizedData = sanitizeImageData(editor, data);\n        if (data.src) {\n          writeImageDataToSelection(editor, sanitizedData);\n        } else {\n          deleteImage(editor, image);\n        }\n      } else if (partialData.src) {\n        insertImageAtCaret(editor, {\n          ...defaultData(),\n          ...partialData\n        });\n      }\n    };\n\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizer = (extractor = getValue) => list => {\n      if (list) {\n        return Optional.from(list).map(list => sanitizeList(list, extractor));\n      } else {\n        return Optional.none();\n      }\n    };\n    const sanitize = list => sanitizer(getValue)(list);\n    const isGroup = item => has(item, 'items');\n    const findEntryDelegate = (list, value) => findMap(list, item => {\n      if (isGroup(item)) {\n        return findEntryDelegate(item.items, value);\n      } else if (item.value === value) {\n        return Optional.some(item);\n      } else {\n        return Optional.none();\n      }\n    });\n    const findEntry = (optList, value) => optList.bind(list => findEntryDelegate(list, value));\n    const ListUtils = {\n      sanitizer,\n      sanitize,\n      findEntry\n    };\n\n    const makeTab$3 = _info => ({\n      title: 'Advanced',\n      name: 'advanced',\n      items: [{\n        type: 'grid',\n        columns: 2,\n        items: [{\n          type: 'input',\n          label: 'Vertical space',\n          name: 'vspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Horizontal space',\n          name: 'hspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Border width',\n          name: 'border',\n          inputMode: 'numeric'\n        }, {\n          type: 'listbox',\n          name: 'borderstyle',\n          label: 'Border style',\n          items: [{\n            text: 'Select...',\n            value: ''\n          }, {\n            text: 'Solid',\n            value: 'solid'\n          }, {\n            text: 'Dotted',\n            value: 'dotted'\n          }, {\n            text: 'Dashed',\n            value: 'dashed'\n          }, {\n            text: 'Double',\n            value: 'double'\n          }, {\n            text: 'Groove',\n            value: 'groove'\n          }, {\n            text: 'Ridge',\n            value: 'ridge'\n          }, {\n            text: 'Inset',\n            value: 'inset'\n          }, {\n            text: 'Outset',\n            value: 'outset'\n          }, {\n            text: 'None',\n            value: 'none'\n          }, {\n            text: 'Hidden',\n            value: 'hidden'\n          }]\n        }]\n      }]\n    });\n    const AdvTab = {\n      makeTab: makeTab$3\n    };\n\n    const collect = editor => {\n      const urlListSanitizer = ListUtils.sanitizer(item => editor.convertURL(item.value || item.url || '', 'src'));\n      const futureImageList = new Promise(completer => {\n        createImageList(editor, imageList => {\n          completer(urlListSanitizer(imageList).map(items => flatten([[{\n            text: 'None',\n            value: ''\n          }], items])));\n        });\n      });\n      const classList = ListUtils.sanitize(getClassList(editor));\n      const hasAdvTab$1 = hasAdvTab(editor);\n      const hasUploadTab$1 = hasUploadTab(editor);\n      const hasUploadUrl$1 = hasUploadUrl(editor);\n      const hasUploadHandler$1 = hasUploadHandler(editor);\n      const image = readImageDataFromSelection(editor);\n      const hasDescription$1 = hasDescription(editor);\n      const hasImageTitle$1 = hasImageTitle(editor);\n      const hasDimensions$1 = hasDimensions(editor);\n      const hasImageCaption$1 = hasImageCaption(editor);\n      const hasAccessibilityOptions = showAccessibilityOptions(editor);\n      const automaticUploads = isAutomaticUploadsEnabled(editor);\n      const prependURL = Optional.some(getPrependUrl(editor)).filter(preUrl => isString(preUrl) && preUrl.length > 0);\n      const libraryTab = getSnImageSettings(editor);\n      return futureImageList.then(imageList => ({\n        image,\n        imageList,\n        classList,\n        hasAdvTab: hasAdvTab$1,\n        hasUploadTab: hasUploadTab$1,\n        hasUploadUrl: hasUploadUrl$1,\n        hasUploadHandler: hasUploadHandler$1,\n        hasDescription: hasDescription$1,\n        hasImageTitle: hasImageTitle$1,\n        hasDimensions: hasDimensions$1,\n        hasImageCaption: hasImageCaption$1,\n        prependURL,\n        hasAccessibilityOptions,\n        automaticUploads,\n        libraryTab\n      }));\n    };\n\n    const makeTab$2 = _info => {\n      const {\n        allowLibraryUploads,\n        labels\n      } = _info.libraryTab;\n      const {\n        tabName,\n        dropZone,\n        search\n      } = labels;\n      const items = [{\n        type: 'label',\n        label: search,\n        items: [{\n          type: 'button',\n          name: 'librarysearch',\n          text: search,\n          icon: 'search'\n        }]\n      }];\n      if (allowLibraryUploads) {\n        items.push({\n          type: 'dropzone',\n          name: 'libraryfile',\n          label: dropZone\n        });\n      }\n      return {\n        title: tabName,\n        name: 'librarytab',\n        items\n      };\n    };\n    const LibraryTab = {\n      makeTab: makeTab$2\n    };\n\n    const makeItems = info => {\n      const imageUrl = {\n        name: 'src',\n        type: 'urlinput',\n        filetype: 'image',\n        label: 'Source',\n        picker_text: 'Browse files'\n      };\n      const imageList = info.imageList.map(items => ({\n        name: 'images',\n        type: 'listbox',\n        label: 'Image list',\n        items\n      }));\n      const imageDescription = {\n        name: 'alt',\n        type: 'input',\n        label: 'Alternative description',\n        enabled: !(info.hasAccessibilityOptions && info.image.isDecorative)\n      };\n      const imageTitle = {\n        name: 'title',\n        type: 'input',\n        label: 'Image title'\n      };\n      const imageDimensions = {\n        name: 'dimensions',\n        type: 'sizeinput'\n      };\n      const isDecorative = {\n        type: 'label',\n        label: 'Accessibility',\n        items: [{\n          name: 'isDecorative',\n          type: 'checkbox',\n          label: 'Image is decorative'\n        }]\n      };\n      const classList = info.classList.map(items => ({\n        name: 'classes',\n        type: 'listbox',\n        label: 'Class',\n        items\n      }));\n      const caption = {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      };\n      const getDialogContainerType = useColumns => useColumns ? {\n        type: 'grid',\n        columns: 2\n      } : {\n        type: 'panel'\n      };\n      return flatten([[imageUrl], imageList.toArray(), info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [], info.hasDescription ? [imageDescription] : [], info.hasImageTitle ? [imageTitle] : [], info.hasDimensions ? [imageDimensions] : [], [{\n        ...getDialogContainerType(info.classList.isSome() && info.hasImageCaption),\n        items: flatten([classList.toArray(), info.hasImageCaption ? [caption] : []])\n      }]]);\n    };\n    const makeTab$1 = info => ({\n      title: 'General',\n      name: 'general',\n      items: makeItems(info)\n    });\n    const MainTab = {\n      makeTab: makeTab$1,\n      makeItems\n    };\n\n    const makeTab = _info => {\n      const items = [{\n        type: 'dropzone',\n        name: 'fileinput'\n      }];\n      return {\n        title: 'Upload',\n        name: 'upload',\n        items\n      };\n    };\n    const UploadTab = {\n      makeTab\n    };\n\n    const createState = info => ({\n      prevImage: ListUtils.findEntry(info.imageList, info.image.src),\n      prevAlt: info.image.alt,\n      open: true\n    });\n    const fromImageData = image => ({\n      src: {\n        value: image.src,\n        meta: {}\n      },\n      images: image.src,\n      alt: image.alt,\n      title: image.title,\n      dimensions: {\n        width: image.width,\n        height: image.height\n      },\n      classes: image.class,\n      caption: image.caption,\n      style: image.style,\n      vspace: image.vspace,\n      border: image.border,\n      hspace: image.hspace,\n      borderstyle: image.borderStyle,\n      fileinput: [],\n      libraryfile: [],\n      isDecorative: image.isDecorative\n    });\n    const toImageData = (data, removeEmptyAlt) => ({\n      src: data.src.value,\n      alt: (data.alt === null || data.alt.length === 0) && removeEmptyAlt ? null : data.alt,\n      title: data.title,\n      width: data.dimensions.width,\n      height: data.dimensions.height,\n      class: data.classes,\n      style: data.style,\n      caption: data.caption,\n      hspace: data.hspace,\n      vspace: data.vspace,\n      border: data.border,\n      borderStyle: data.borderstyle,\n      isDecorative: data.isDecorative,\n      fromLibrary: data.libraryfile.length > 0\n    });\n    const addPrependUrl2 = (info, srcURL) => {\n      if (!/^(?:[a-zA-Z]+:)?\\/\\//.test(srcURL)) {\n        return info.prependURL.bind(prependUrl => {\n          if (srcURL.substring(0, prependUrl.length) !== prependUrl) {\n            return Optional.some(prependUrl + srcURL);\n          }\n          return Optional.none();\n        });\n      }\n      return Optional.none();\n    };\n    const addPrependUrl = (info, api) => {\n      const data = api.getData();\n      addPrependUrl2(info, data.src.value).each(srcURL => {\n        api.setData({\n          src: {\n            value: srcURL,\n            meta: data.src.meta\n          }\n        });\n      });\n    };\n    const formFillFromMeta2 = (info, data, meta) => {\n      if (info.hasDescription && isString(meta.alt)) {\n        data.alt = meta.alt;\n      }\n      if (info.hasAccessibilityOptions) {\n        data.isDecorative = meta.isDecorative || data.isDecorative || false;\n      }\n      if (info.hasImageTitle && isString(meta.title)) {\n        data.title = meta.title;\n      }\n      if (info.hasDimensions) {\n        if (isString(meta.width)) {\n          data.dimensions.width = meta.width;\n        }\n        if (isString(meta.height)) {\n          data.dimensions.height = meta.height;\n        }\n      }\n      if (isString(meta.class)) {\n        ListUtils.findEntry(info.classList, meta.class).each(entry => {\n          data.classes = entry.value;\n        });\n      }\n      if (info.hasImageCaption) {\n        if (isBoolean(meta.caption)) {\n          data.caption = meta.caption;\n        }\n      }\n      if (info.hasAdvTab) {\n        if (isString(meta.style)) {\n          data.style = meta.style;\n        }\n        if (isString(meta.vspace)) {\n          data.vspace = meta.vspace;\n        }\n        if (isString(meta.border)) {\n          data.border = meta.border;\n        }\n        if (isString(meta.hspace)) {\n          data.hspace = meta.hspace;\n        }\n        if (isString(meta.borderstyle)) {\n          data.borderstyle = meta.borderstyle;\n        }\n      }\n    };\n    const formFillFromMeta = (info, api) => {\n      const data = api.getData();\n      const meta = data.src.meta;\n      if (meta !== undefined) {\n        const newData = deepMerge({}, data);\n        formFillFromMeta2(info, newData, meta);\n        api.setData(newData);\n      }\n    };\n    const calculateImageSize = (helpers, info, state, api) => {\n      const data = api.getData();\n      const url = data.src.value;\n      const meta = data.src.meta || {};\n      if (!meta.width && !meta.height && info.hasDimensions) {\n        if (isNotEmpty(url)) {\n          helpers.imageSize(url).then(size => {\n            if (state.open) {\n              api.setData({\n                dimensions: size\n              });\n            }\n          }).catch(e => console.error(e));\n        } else {\n          api.setData({\n            dimensions: {\n              width: '',\n              height: ''\n            }\n          });\n        }\n      }\n    };\n    const updateImagesDropdown = (info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.src.value);\n      state.prevImage = image;\n      api.setData({\n        images: image.map(entry => entry.value).getOr('')\n      });\n    };\n    const changeSrc = (helpers, info, state, api) => {\n      addPrependUrl(info, api);\n      formFillFromMeta(info, api);\n      calculateImageSize(helpers, info, state, api);\n      updateImagesDropdown(info, state, api);\n    };\n    const changeImages = (helpers, info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.images);\n      image.each(img => {\n        const updateAlt = data.alt === '' || state.prevImage.map(image => image.text === data.alt).getOr(false);\n        if (updateAlt) {\n          if (img.value === '') {\n            api.setData({\n              src: img,\n              alt: state.prevAlt\n            });\n          } else {\n            api.setData({\n              src: img,\n              alt: img.text\n            });\n          }\n        } else {\n          api.setData({\n            src: img\n          });\n        }\n      });\n      state.prevImage = image;\n      changeSrc(helpers, info, state, api);\n    };\n    const changeFileInput = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.fileinput).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const finalize = () => {\n          api.unblock();\n          URL.revokeObjectURL(blobUri);\n        };\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          if (info.automaticUploads) {\n            helpers.uploadImage(blobInfo).then(result => {\n              updateSrcAndSwitchTab(result.url);\n              finalize();\n            }).catch(err => {\n              finalize();\n              helpers.alertErr(err);\n            });\n          } else {\n            helpers.addToBlobCache(blobInfo);\n            updateSrcAndSwitchTab(blobInfo.blobUri());\n            api.unblock();\n          }\n        });\n      });\n    };\n    const changeLibraryFileHandler = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.libraryfile).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          helpers.addToBlobCache(blobInfo);\n          updateSrcAndSwitchTab(blobInfo.blobUri());\n          api.unblock();\n        });\n      });\n    };\n    const changeHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'src') {\n        changeSrc(helpers, info, state, api);\n      } else if (evt.name === 'images') {\n        changeImages(helpers, info, state, api);\n      } else if (evt.name === 'alt') {\n        state.prevAlt = api.getData().alt;\n      } else if (evt.name === 'fileinput') {\n        changeFileInput(helpers, info, state, api);\n      } else if (evt.name === 'isDecorative') {\n        api.setEnabled('alt', !api.getData().isDecorative);\n      } else if (evt.name === 'libraryfile') {\n        changeLibraryFileHandler(helpers, info, state, api);\n      }\n    };\n    const actionHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'librarysearch') {\n        const successCallback = filename => {\n          api.setData({\n            src: {\n              value: filename,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        info.libraryTab.libraryFilePicker(helpers.getEditor(), successCallback);\n      }\n    };\n    const closeHandler = state => () => {\n      state.open = false;\n    };\n    const makeDialogBody = info => {\n      if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {\n        const tabPanel = {\n          type: 'tabpanel',\n          tabs: flatten([[MainTab.makeTab(info)], info.hasAdvTab ? [AdvTab.makeTab(info)] : [], info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : [], info.libraryTab.showLibraryTab ? [LibraryTab.makeTab(info)] : []])\n        };\n        return tabPanel;\n      } else {\n        const panel = {\n          type: 'panel',\n          items: MainTab.makeItems(info)\n        };\n        return panel;\n      }\n    };\n    const submitHandler = (editor, info, helpers) => api => {\n      const data = deepMerge(fromImageData(info.image), api.getData());\n      const finalData = {\n        ...data,\n        style: getStyleValue(helpers.normalizeCss, toImageData(data, false))\n      };\n      editor.execCommand('mceUpdateImage', false, toImageData(finalData, info.hasAccessibilityOptions));\n      editor.editorUpload.uploadImagesAuto();\n      api.close();\n    };\n    const imageSize = editor => url => {\n      if (!isSafeImageUrl(editor, url)) {\n        return Promise.resolve({\n          width: '',\n          height: ''\n        });\n      } else {\n        return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(dimensions => ({\n          width: String(dimensions.width),\n          height: String(dimensions.height)\n        }));\n      }\n    };\n    const createBlobCache = editor => (file, blobUri, dataUrl) => {\n      var _a;\n      return editor.editorUpload.blobCache.create({\n        blob: file,\n        blobUri,\n        name: (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(/\\.[^\\.]+$/, ''),\n        filename: file.name,\n        base64: dataUrl.split(',')[1]\n      });\n    };\n    const addToBlobCache = editor => blobInfo => {\n      editor.editorUpload.blobCache.add(blobInfo);\n    };\n    const alertErr = editor => message => {\n      editor.windowManager.alert(message);\n    };\n    const normalizeCss = editor => cssText => normalizeCss$1(editor, cssText);\n    const parseStyle = editor => cssText => editor.dom.parseStyle(cssText);\n    const serializeStyle = editor => (stylesArg, name) => editor.dom.serializeStyle(stylesArg, name);\n    const uploadImage = editor => blobInfo => global$1(editor).upload([blobInfo], false).then(results => {\n      var _a;\n      if (results.length === 0) {\n        return Promise.reject('Failed to upload image');\n      } else if (results[0].status === false) {\n        return Promise.reject((_a = results[0].error) === null || _a === void 0 ? void 0 : _a.message);\n      } else {\n        return results[0];\n      }\n    });\n    const Dialog = editor => {\n      const helpers = {\n        imageSize: imageSize(editor),\n        addToBlobCache: addToBlobCache(editor),\n        createBlobCache: createBlobCache(editor),\n        alertErr: alertErr(editor),\n        normalizeCss: normalizeCss(editor),\n        parseStyle: parseStyle(editor),\n        serializeStyle: serializeStyle(editor),\n        uploadImage: uploadImage(editor),\n        getEditor: () => editor\n      };\n      const open = () => {\n        collect(editor).then(info => {\n          const state = createState(info);\n          return {\n            title: 'Insert/Edit Image',\n            size: 'normal',\n            body: makeDialogBody(info),\n            buttons: [{\n              type: 'cancel',\n              name: 'cancel',\n              text: 'Cancel'\n            }, {\n              type: 'submit',\n              name: 'save',\n              text: 'Save',\n              primary: true\n            }],\n            initialData: fromImageData(info.image),\n            onSubmit: submitHandler(editor, info, helpers),\n            onChange: changeHandler(helpers, info, state),\n            onAction: actionHandler(helpers, info, state),\n            onClose: closeHandler(state)\n          };\n        }).then(editor.windowManager.open);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceImage', Dialog(editor).open);\n      editor.addCommand('mceUpdateImage', (_ui, data) => {\n        editor.undoManager.transact(() => insertOrUpdateImage(editor, data));\n      });\n    };\n\n    const hasImageClass = node => {\n      const className = node.attr('class');\n      return isNonNullable(className) && /\\bimage\\b/.test(className);\n    };\n    const toggleContentEditableState = state => nodes => {\n      let i = nodes.length;\n      const toggleContentEditable = node => {\n        node.attr('contenteditable', state ? 'true' : null);\n      };\n      while (i--) {\n        const node = nodes[i];\n        if (hasImageClass(node)) {\n          node.attr('contenteditable', state ? 'false' : null);\n          global.each(node.getAll('figcaption'), toggleContentEditable);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('figure', toggleContentEditableState(true));\n        editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('image', {\n        icon: 'image',\n        tooltip: 'Insert/edit image',\n        onAction: Dialog(editor).open,\n        onSetup: buttonApi => {\n          buttonApi.setActive(isNonNullable(getSelectedImage(editor)));\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('img:not([data-mce-object]):not([data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('image', {\n        icon: 'image',\n        text: 'Image...',\n        onAction: Dialog(editor).open,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addContextMenu('image', {\n        update: element => editor.selection.isEditable() && (isFigure(element) || isImage(element) && !isPlaceholderImage(element)) ? ['image'] : []\n      });\n    };\n\n    var Plugin = () => {\n      global$4.add('image', editor => {\n        setup(editor);\n        register$2(editor);\n        register(editor);\n        register$1(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('insertdatetime_dateformat', {\n        processor: 'string',\n        default: editor.translate('%Y-%m-%d')\n      });\n      registerOption('insertdatetime_timeformat', {\n        processor: 'string',\n        default: editor.translate('%H:%M:%S')\n      });\n      registerOption('insertdatetime_formats', {\n        processor: 'string[]',\n        default: ['%H:%M:%S', '%Y-%m-%d', '%I:%M:%S %p', '%D']\n      });\n      registerOption('insertdatetime_element', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getDateFormat = option('insertdatetime_dateformat');\n    const getTimeFormat = option('insertdatetime_timeformat');\n    const getFormats = option('insertdatetime_formats');\n    const shouldInsertTimeElement = option('insertdatetime_element');\n    const getDefaultDateTime = editor => {\n      const formats = getFormats(editor);\n      return formats.length > 0 ? formats[0] : getTimeFormat(editor);\n    };\n\n    const daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');\n    const daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');\n    const monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');\n    const monthsLong = 'January February March April May June July August September October November December'.split(' ');\n    const addZeros = (value, len) => {\n      value = '' + value;\n      if (value.length < len) {\n        for (let i = 0; i < len - value.length; i++) {\n          value = '0' + value;\n        }\n      }\n      return value;\n    };\n    const getDateTime = (editor, fmt, date = new Date()) => {\n      fmt = fmt.replace('%D', '%m/%d/%Y');\n      fmt = fmt.replace('%r', '%I:%M:%S %p');\n      fmt = fmt.replace('%Y', '' + date.getFullYear());\n      fmt = fmt.replace('%y', '' + date.getYear());\n      fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));\n      fmt = fmt.replace('%d', addZeros(date.getDate(), 2));\n      fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));\n      fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));\n      fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));\n      fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));\n      fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));\n      fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));\n      fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));\n      fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));\n      fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));\n      fmt = fmt.replace('%%', '%');\n      return fmt;\n    };\n    const updateElement = (editor, timeElm, computerTime, userTime) => {\n      const newTimeElm = editor.dom.create('time', {\n        datetime: computerTime\n      }, userTime);\n      editor.dom.replace(newTimeElm, timeElm);\n      editor.selection.select(newTimeElm, true);\n      editor.selection.collapse(false);\n    };\n    const insertDateTime = (editor, format) => {\n      if (shouldInsertTimeElement(editor)) {\n        const userTime = getDateTime(editor, format);\n        let computerTime;\n        if (/%[HMSIp]/.test(format)) {\n          computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');\n        } else {\n          computerTime = getDateTime(editor, '%Y-%m-%d');\n        }\n        const timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');\n        if (timeElm) {\n          updateElement(editor, timeElm, computerTime, userTime);\n        } else {\n          editor.insertContent('<time datetime=\"' + computerTime + '\">' + userTime + '<\/time>');\n        }\n      } else {\n        editor.insertContent(getDateTime(editor, format));\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceInsertDate', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getDateFormat(editor));\n      });\n      editor.addCommand('mceInsertTime', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getTimeFormat(editor));\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const formats = getFormats(editor);\n      const defaultFormat = Cell(getDefaultDateTime(editor));\n      const insertDateTime = format => editor.execCommand('mceInsertDate', false, format);\n      editor.ui.registry.addSplitButton('insertdatetime', {\n        icon: 'insert-time',\n        tooltip: 'Insert date/time',\n        select: value => value === defaultFormat.get(),\n        fetch: done => {\n          done(global.map(formats, format => ({\n            type: 'choiceitem',\n            text: getDateTime(editor, format),\n            value: format\n          })));\n        },\n        onAction: _api => {\n          insertDateTime(defaultFormat.get());\n        },\n        onItemAction: (_api, value) => {\n          defaultFormat.set(value);\n          insertDateTime(value);\n        },\n        onSetup: onSetupEditable(editor)\n      });\n      const makeMenuItemHandler = format => () => {\n        defaultFormat.set(format);\n        insertDateTime(format);\n      };\n      editor.ui.registry.addNestedMenuItem('insertdatetime', {\n        icon: 'insert-time',\n        text: 'Date/time',\n        getSubmenuItems: () => global.map(formats, format => ({\n          type: 'menuitem',\n          text: getDateTime(editor, format),\n          onAction: makeMenuItemHandler(format)\n        })),\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('insertdatetime', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('link_assume_external_targets', {\n        processor: value => {\n          const valid = isString(value) || isBoolean(value);\n          if (valid) {\n            if (value === true) {\n              return {\n                value: 1,\n                valid\n              };\n            } else if (value === 'http' || value === 'https') {\n              return {\n                value,\n                valid\n              };\n            } else {\n              return {\n                value: 0,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or a boolean.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('link_context_toolbar', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_list', {\n        processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject)\n      });\n      registerOption('link_default_target', {\n        processor: 'string'\n      });\n      registerOption('link_default_protocol', {\n        processor: 'string',\n        default: 'https'\n      });\n      registerOption('link_target_list', {\n        processor: value => isBoolean(value) || isArrayOf(value, isObject),\n        default: true\n      });\n      registerOption('link_rel_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_title', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_quicklink', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const assumeExternalTargets = option('link_assume_external_targets');\n    const hasContextToolbar = option('link_context_toolbar');\n    const getLinkList = option('link_list');\n    const getDefaultLinkTarget = option('link_default_target');\n    const getDefaultLinkProtocol = option('link_default_protocol');\n    const getTargetList = option('link_target_list');\n    const getRelList = option('link_rel_list');\n    const getLinkClassList = option('link_class_list');\n    const shouldShowLinkTitle = option('link_title');\n    const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n    const useQuickLink = option('link_quicklink');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global$4.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter));\n    const sanitize = list => sanitizeWith(getValue)(list);\n    const createUi = (name, label) => items => ({\n      name,\n      type: 'listbox',\n      label,\n      items\n    });\n    const ListOptions = {\n      sanitize,\n      sanitizeWith,\n      createUi,\n      getValue\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a';\n    const isLink = elm => isAnchor(elm) && !!getHref(elm);\n    const collectNodesInRange = (rng, predicate) => {\n      if (rng.collapsed) {\n        return [];\n      } else {\n        const contents = rng.cloneContents();\n        const firstChild = contents.firstChild;\n        const walker = new global$3(firstChild, contents);\n        const elements = [];\n        let current = firstChild;\n        do {\n          if (predicate(current)) {\n            elements.push(current);\n          }\n        } while (current = walker.next());\n        return elements;\n      }\n    };\n    const hasProtocol = url => /^\\w+:/i.test(url);\n    const getHref = elm => {\n      var _a, _b;\n      return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : '';\n    };\n    const applyRelTargetRules = (rel, isUnsafe) => {\n      const rules = ['noopener'];\n      const rels = rel ? rel.split(/\\s+/) : [];\n      const toString = rels => global$4.trim(rels.sort().join(' '));\n      const addTargetRules = rels => {\n        rels = removeTargetRules(rels);\n        return rels.length > 0 ? rels.concat(rules) : rules;\n      };\n      const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1);\n      const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n      return newRels.length > 0 ? toString(newRels) : '';\n    };\n    const trimCaretContainers = text => text.replace(/\\uFEFF/g, '');\n    const getAnchorElement = (editor, selectedElm) => {\n      selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode();\n      if (isImageFigure(selectedElm)) {\n        return Optional.from(editor.dom.select('a[href]', selectedElm)[0]);\n      } else {\n        return Optional.from(editor.dom.getParent(selectedElm, 'a[href]'));\n      }\n    };\n    const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome();\n    const getAnchorText = (selection, anchorElm) => {\n      const text = anchorElm.fold(() => selection.getContent({\n        format: 'text'\n      }), anchorElm => anchorElm.innerText || anchorElm.textContent || '');\n      return trimCaretContainers(text);\n    };\n    const getLinksInSelection = rng => collectNodesInRange(rng, isLink);\n    const getLinks$1 = elements => global$4.grep(elements, isLink);\n    const hasLinks = elements => getLinks$1(elements).length > 0;\n    const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0;\n    const isOnlyTextSelected = editor => {\n      const inlineTextElements = editor.schema.getTextInlineElements();\n      const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n      const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block'));\n      if (isInBlockAnchor) {\n        return false;\n      }\n      const rng = editor.selection.getRng();\n      if (!rng.collapsed) {\n        const elements = collectNodesInRange(rng, isElement);\n        return elements.length === 0;\n      } else {\n        return true;\n      }\n    };\n    const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n    const getLinkAttrs = data => {\n      const attrs = ['title', 'rel', 'class', 'target'];\n      return foldl(attrs, (acc, key) => {\n        data[key].each(value => {\n          acc[key] = value.length > 0 ? value : null;\n        });\n        return acc;\n      }, {\n        href: data.href\n      });\n    };\n    const handleExternalTargets = (href, assumeExternalTargets) => {\n      if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n        return assumeExternalTargets + '://' + href;\n      }\n      return href;\n    };\n    const applyLinkOverrides = (editor, linkAttrs) => {\n      const newLinkAttrs = {\n        ...linkAttrs\n      };\n      if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) {\n        const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n        newLinkAttrs.rel = newRel ? newRel : null;\n      }\n      if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n        newLinkAttrs.target = getDefaultLinkTarget(editor);\n      }\n      newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n      return newLinkAttrs;\n    };\n    const updateLink = (editor, anchorElm, text, linkAttrs) => {\n      text.each(text => {\n        if (has(anchorElm, 'innerText')) {\n          anchorElm.innerText = text;\n        } else {\n          anchorElm.textContent = text;\n        }\n      });\n      editor.dom.setAttribs(anchorElm, linkAttrs);\n      editor.selection.select(anchorElm);\n    };\n    const createLink = (editor, selectedElm, text, linkAttrs) => {\n      const dom = editor.dom;\n      if (isImageFigure(selectedElm)) {\n        linkImageFigure(dom, selectedElm, linkAttrs);\n      } else {\n        text.fold(() => {\n          editor.execCommand('mceInsertLink', false, linkAttrs);\n        }, text => {\n          editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text)));\n        });\n      }\n    };\n    const linkDomMutation = (editor, attachState, data) => {\n      const selectedElm = editor.selection.getNode();\n      const anchorElm = getAnchorElement(editor, selectedElm);\n      const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n      editor.undoManager.transact(() => {\n        if (data.href === attachState.href) {\n          attachState.attach();\n        }\n        anchorElm.fold(() => {\n          createLink(editor, selectedElm, data.text, linkAttrs);\n        }, elm => {\n          editor.focus();\n          updateLink(editor, elm, data.text, linkAttrs);\n        });\n      });\n    };\n    const unlinkSelection = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const bookmark = selection.getBookmark();\n      const rng = selection.getRng().cloneRange();\n      const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n      const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n      if (startAnchorElm) {\n        rng.setStartBefore(startAnchorElm);\n      }\n      if (endAnchorElm) {\n        rng.setEndAfter(endAnchorElm);\n      }\n      selection.setRng(rng);\n      editor.execCommand('unlink');\n      selection.moveToBookmark(bookmark);\n    };\n    const unlinkDomMutation = editor => {\n      editor.undoManager.transact(() => {\n        const node = editor.selection.getNode();\n        if (isImageFigure(node)) {\n          unlinkImageFigure(editor, node);\n        } else {\n          unlinkSelection(editor);\n        }\n        editor.focus();\n      });\n    };\n    const unwrapOptions = data => {\n      const {\n        class: cls,\n        href,\n        rel,\n        target,\n        text,\n        title\n      } = data;\n      return filter({\n        class: cls.getOrNull(),\n        href,\n        rel: rel.getOrNull(),\n        target: target.getOrNull(),\n        text: text.getOrNull(),\n        title: title.getOrNull()\n      }, (v, _k) => isNull(v) === false);\n    };\n    const sanitizeData = (editor, data) => {\n      const getOption = editor.options.get;\n      const uriOptions = {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      };\n      const href = data.href;\n      return {\n        ...data,\n        href: global$2.isDomSafe(href, 'a', uriOptions) ? href : ''\n      };\n    };\n    const link = (editor, attachState, data) => {\n      const sanitizedData = sanitizeData(editor, data);\n      editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n    };\n    const unlink = editor => {\n      editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n    };\n    const unlinkImageFigure = (editor, fig) => {\n      var _a;\n      const img = editor.dom.select('img', fig)[0];\n      if (img) {\n        const a = editor.dom.getParents(img, 'a[href]', fig)[0];\n        if (a) {\n          (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a);\n          editor.dom.remove(a);\n        }\n      }\n    };\n    const linkImageFigure = (dom, fig, attrs) => {\n      var _a;\n      const img = dom.select('img', fig)[0];\n      if (img) {\n        const a = dom.create('a', attrs);\n        (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img);\n        a.appendChild(img);\n      }\n    };\n\n    const isListGroup = item => hasNonNullableKey(item, 'items');\n    const findTextByValue = (value, catalog) => findMap(catalog, item => {\n      if (isListGroup(item)) {\n        return findTextByValue(value, item.items);\n      } else {\n        return someIf(item.value === value, item);\n      }\n    });\n    const getDelta = (persistentText, fieldName, catalog, data) => {\n      const value = data[fieldName];\n      const hasPersistentText = persistentText.length > 0;\n      return value !== undefined ? findTextByValue(value, catalog).map(i => ({\n        url: {\n          value: i.value,\n          meta: {\n            text: hasPersistentText ? persistentText : i.text,\n            attach: noop\n          }\n        },\n        text: hasPersistentText ? persistentText : i.text\n      })) : Optional.none();\n    };\n    const findCatalog = (catalogs, fieldName) => {\n      if (fieldName === 'link') {\n        return catalogs.link;\n      } else if (fieldName === 'anchor') {\n        return catalogs.anchor;\n      } else {\n        return Optional.none();\n      }\n    };\n    const init = (initialData, linkCatalog) => {\n      const persistentData = {\n        text: initialData.text,\n        title: initialData.title\n      };\n      const getTitleFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr(''));\n      };\n      const getTextFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value));\n      };\n      const onUrlChange = data => {\n        const text = getTextFromUrlChange(data.url);\n        const title = getTitleFromUrlChange(data.url);\n        if (text.isSome() || title.isSome()) {\n          return Optional.some({\n            ...text.map(text => ({\n              text\n            })).getOr({}),\n            ...title.map(title => ({\n              title\n            })).getOr({})\n          });\n        } else {\n          return Optional.none();\n        }\n      };\n      const onCatalogChange = (data, change) => {\n        const catalog = findCatalog(linkCatalog, change).getOr([]);\n        return getDelta(persistentData.text, change, catalog, data);\n      };\n      const onChange = (getData, change) => {\n        const name = change.name;\n        if (name === 'url') {\n          return onUrlChange(getData());\n        } else if (contains(['anchor', 'link'], name)) {\n          return onCatalogChange(getData(), name);\n        } else if (name === 'text' || name === 'title') {\n          persistentData[name] = getData()[name];\n          return Optional.none();\n        } else {\n          return Optional.none();\n        }\n      };\n      return {\n        onChange\n      };\n    };\n    const DialogChanges = {\n      init,\n      getDelta\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const delayedConfirm = (editor, message, callback) => {\n      const rng = editor.selection.getRng();\n      global$1.setEditorTimeout(editor, () => {\n        editor.windowManager.confirm(message, state => {\n          editor.selection.setRng(rng);\n          callback(state);\n        });\n      });\n    };\n    const tryEmailTransform = data => {\n      const url = data.href;\n      const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n      return suggestMailTo ? Optional.some({\n        message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n        preprocess: oldData => ({\n          ...oldData,\n          href: 'mailto:' + url\n        })\n      }) : Optional.none();\n    };\n    const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => {\n      const url = data.href;\n      const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n      return suggestProtocol ? Optional.some({\n        message: \"The URL you entered seems to be an external link. Do you want to add the required \".concat(defaultLinkProtocol, \":// prefix?\"),\n        preprocess: oldData => ({\n          ...oldData,\n          href: defaultLinkProtocol + '://' + url\n        })\n      }) : Optional.none();\n    };\n    const preprocess = (editor, data) => findMap([tryEmailTransform, tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => {\n      delayedConfirm(editor, transform.message, state => {\n        callback(state ? transform.preprocess(data) : data);\n      });\n    }));\n    const DialogConfirms = {\n      preprocess\n    };\n\n    const getAnchors = editor => {\n      const anchorNodes = editor.dom.select('a:not([href])');\n      const anchors = bind(anchorNodes, anchor => {\n        const id = anchor.name || anchor.id;\n        return id ? [{\n          text: id,\n          value: '#' + id\n        }] : [];\n      });\n      return anchors.length > 0 ? Optional.some([{\n        text: 'None',\n        value: ''\n      }].concat(anchors)) : Optional.none();\n    };\n    const AnchorListOptions = {\n      getAnchors\n    };\n\n    const getClasses = editor => {\n      const list = getLinkClassList(editor);\n      if (list.length > 0) {\n        return ListOptions.sanitize(list);\n      }\n      return Optional.none();\n    };\n    const ClassListOptions = {\n      getClasses\n    };\n\n    const parseJson = text => {\n      try {\n        return Optional.some(JSON.parse(text));\n      } catch (err) {\n        return Optional.none();\n      }\n    };\n    const getLinks = editor => {\n      const extractor = item => editor.convertURL(item.value || item.url || '', 'href');\n      const linkList = getLinkList(editor);\n      return new Promise(resolve => {\n        if (isString(linkList)) {\n          fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none()));\n        } else if (isFunction(linkList)) {\n          linkList(output => resolve(Optional.some(output)));\n        } else {\n          resolve(Optional.from(linkList));\n        }\n      }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => {\n        if (items.length > 0) {\n          const noneItem = [{\n            text: 'None',\n            value: ''\n          }];\n          return noneItem.concat(items);\n        } else {\n          return items;\n        }\n      }));\n    };\n    const LinkListOptions = {\n      getLinks\n    };\n\n    const getRels = (editor, initialTarget) => {\n      const list = getRelList(editor);\n      if (list.length > 0) {\n        const isTargetBlank = is(initialTarget, '_blank');\n        const enforceSafe = allowUnsafeLinkTarget(editor) === false;\n        const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank);\n        const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n        return sanitizer(list);\n      }\n      return Optional.none();\n    };\n    const RelOptions = {\n      getRels\n    };\n\n    const fallbacks = [{\n      text: 'Current window',\n      value: ''\n    }, {\n      text: 'New window',\n      value: '_blank'\n    }];\n    const getTargets = editor => {\n      const list = getTargetList(editor);\n      if (isArray(list)) {\n        return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks));\n      } else if (list === false) {\n        return Optional.none();\n      }\n      return Optional.some(fallbacks);\n    };\n    const TargetOptions = {\n      getTargets\n    };\n\n    const nonEmptyAttr = (dom, elem, name) => {\n      const val = dom.getAttrib(elem, name);\n      return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n    };\n    const extractFromAnchor = (editor, anchor) => {\n      const dom = editor.dom;\n      const onlyText = isOnlyTextSelected(editor);\n      const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n      const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href')));\n      const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target')));\n      const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel'));\n      const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class'));\n      const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title'));\n      return {\n        url,\n        text,\n        title,\n        target,\n        rel,\n        linkClass\n      };\n    };\n    const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => {\n      const anchor = extractFromAnchor(editor, linkNode);\n      return {\n        anchor,\n        catalogs: {\n          targets: TargetOptions.getTargets(editor),\n          rels: RelOptions.getRels(editor, anchor.target),\n          classes: ClassListOptions.getClasses(editor),\n          anchor: AnchorListOptions.getAnchors(editor),\n          link: links\n        },\n        optNode: linkNode,\n        flags: {\n          titleEnabled: shouldShowLinkTitle(editor)\n        }\n      };\n    });\n    const DialogInfo = {\n      collect\n    };\n\n    const handleSubmit = (editor, info) => api => {\n      const data = api.getData();\n      if (!data.url.value) {\n        unlink(editor);\n        api.close();\n        return;\n      }\n      const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value));\n      const changedData = {\n        href: data.url.value,\n        text: getChangedValue('text'),\n        target: getChangedValue('target'),\n        rel: getChangedValue('rel'),\n        class: getChangedValue('linkClass'),\n        title: getChangedValue('title')\n      };\n      const attachState = {\n        href: data.url.value,\n        attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n      };\n      DialogConfirms.preprocess(editor, changedData).then(pData => {\n        link(editor, attachState, pData);\n      });\n      api.close();\n    };\n    const collectData = editor => {\n      const anchorNode = getAnchorElement(editor);\n      return DialogInfo.collect(editor, anchorNode);\n    };\n    const getInitialData = (info, defaultTarget) => {\n      const anchor = info.anchor;\n      const url = anchor.url.getOr('');\n      return {\n        url: {\n          value: url,\n          meta: {\n            original: {\n              value: url\n            }\n          }\n        },\n        text: anchor.text.getOr(''),\n        title: anchor.title.getOr(''),\n        anchor: url,\n        link: url,\n        rel: anchor.rel.getOr(''),\n        target: anchor.target.or(defaultTarget).getOr(''),\n        linkClass: anchor.linkClass.getOr('')\n      };\n    };\n    const makeDialog = (settings, onSubmit, editor) => {\n      const urlInput = [{\n        name: 'url',\n        type: 'urlinput',\n        filetype: 'file',\n        label: 'URL',\n        picker_text: 'Browse links'\n      }];\n      const displayText = settings.anchor.text.map(() => ({\n        name: 'text',\n        type: 'input',\n        label: 'Text to display'\n      })).toArray();\n      const titleText = settings.flags.titleEnabled ? [{\n        name: 'title',\n        type: 'input',\n        label: 'Title'\n      }] : [];\n      const defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n      const initialData = getInitialData(settings, defaultTarget);\n      const catalogs = settings.catalogs;\n      const dialogDelta = DialogChanges.init(initialData, catalogs);\n      const body = {\n        type: 'panel',\n        items: flatten([urlInput, displayText, titleText, cat([catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')), catalogs.rels.map(ListOptions.createUi('rel', 'Rel')), catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')), catalogs.link.map(ListOptions.createUi('link', 'Link list')), catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))])])\n      };\n      return {\n        title: 'Insert/Edit Link',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData,\n        onChange: (api, {\n          name\n        }) => {\n          dialogDelta.onChange(api.getData, {\n            name\n          }).each(newData => {\n            api.setData(newData);\n          });\n        },\n        onSubmit\n      };\n    };\n    const open$1 = editor => {\n      const data = collectData(editor);\n      data.then(info => {\n        const onSubmit = handleSubmit(editor, info);\n        return makeDialog(info, onSubmit, editor);\n      }).then(spec => {\n        editor.windowManager.open(spec);\n      });\n    };\n\n    const register = editor => {\n      editor.addCommand('mceLink', (_ui, value) => {\n        if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) {\n          open$1(editor);\n        } else {\n          editor.dispatch('contexttoolbar-show', {\n            toolbarKey: 'quicklink'\n          });\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const appendClickRemove = (link, evt) => {\n      document.body.appendChild(link);\n      link.dispatchEvent(evt);\n      document.body.removeChild(link);\n    };\n    const open = url => {\n      const link = document.createElement('a');\n      link.target = '_blank';\n      link.href = url;\n      link.rel = 'noreferrer noopener';\n      const evt = document.createEvent('MouseEvents');\n      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n      appendClickRemove(link, evt);\n    };\n\n    const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]');\n    const getSelectedLink = editor => getLink(editor, editor.selection.getStart());\n    const hasOnlyAltModifier = e => {\n      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n    };\n    const gotoLink = (editor, a) => {\n      if (a) {\n        const href = getHref(a);\n        if (/^#/.test(href)) {\n          const targetEl = editor.dom.select(href);\n          if (targetEl.length) {\n            editor.selection.scrollIntoView(targetEl[0], true);\n          }\n        } else {\n          open(a.href);\n        }\n      }\n    };\n    const openDialog = editor => () => {\n      editor.execCommand('mceLink', false, {\n        dialog: true\n      });\n    };\n    const gotoSelectedLink = editor => () => {\n      gotoLink(editor, getSelectedLink(editor));\n    };\n    const setupGotoLinks = editor => {\n      editor.on('click', e => {\n        const link = getLink(editor, e.target);\n        if (link && global.metaKeyPressed(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n      editor.on('keydown', e => {\n        if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n          const link = getSelectedLink(editor);\n          if (link) {\n            e.preventDefault();\n            gotoLink(editor, link);\n          }\n        }\n      });\n    };\n    const toggleState = (editor, toggler) => {\n      editor.on('NodeChange', toggler);\n      return () => editor.off('NodeChange', toggler);\n    };\n    const toggleLinkState = editor => api => {\n      const updateState = () => {\n        api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode()));\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleLinkMenuState = editor => api => {\n      const updateState = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const hasExactlyOneLinkInSelection = editor => {\n      const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng());\n      return links.length === 1;\n    };\n    const toggleGotoLinkState = editor => api => {\n      const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor));\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleUnlinkState = editor => api => {\n      const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n      const parents = editor.dom.getParents(editor.selection.getStart());\n      const updateEnabled = parents => {\n        api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable());\n      };\n      updateEnabled(parents);\n      return toggleState(editor, e => updateEnabled(e.parents));\n    };\n\n    const setup = editor => {\n      editor.addShortcut('Meta+K', '', () => {\n        editor.execCommand('mceLink');\n      });\n    };\n\n    const setupButtons = editor => {\n      editor.ui.registry.addToggleButton('link', {\n        icon: 'link',\n        tooltip: 'Insert/edit link',\n        onAction: openDialog(editor),\n        onSetup: toggleLinkState(editor)\n      });\n      editor.ui.registry.addButton('openlink', {\n        icon: 'new-tab',\n        tooltip: 'Open link',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addButton('unlink', {\n        icon: 'unlink',\n        tooltip: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupMenuItems = editor => {\n      editor.ui.registry.addMenuItem('openlink', {\n        text: 'Open link',\n        icon: 'new-tab',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addMenuItem('link', {\n        icon: 'link',\n        text: 'Link...',\n        shortcut: 'Meta+K',\n        onSetup: toggleLinkMenuState(editor),\n        onAction: openDialog(editor)\n      });\n      editor.ui.registry.addMenuItem('unlink', {\n        icon: 'unlink',\n        text: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupContextMenu = editor => {\n      const inLink = 'link unlink openlink';\n      const noLink = 'link';\n      editor.ui.registry.addContextMenu('link', {\n        update: element => {\n          const isEditable = editor.dom.isEditable(element);\n          if (!isEditable) {\n            return '';\n          }\n          return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n        }\n      });\n    };\n    const setupContextToolbars = editor => {\n      const collapseSelectionToEnd = editor => {\n        editor.selection.collapse(false);\n      };\n      const onSetupLink = buttonApi => {\n        const node = editor.selection.getNode();\n        buttonApi.setEnabled(isInAnchor(editor, node));\n        return noop;\n      };\n      const getLinkText = value => {\n        const anchor = getAnchorElement(editor);\n        const onlyText = isOnlyTextSelected(editor);\n        if (anchor.isNone() && onlyText) {\n          const text = getAnchorText(editor.selection, anchor);\n          return someIf(text.length === 0, value);\n        } else {\n          return Optional.none();\n        }\n      };\n      editor.ui.registry.addContextForm('quicklink', {\n        launch: {\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          onSetup: toggleLinkState(editor)\n        },\n        label: 'Link',\n        predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node),\n        initValue: () => {\n          const elm = getAnchorElement(editor);\n          return elm.fold(constant(''), getHref);\n        },\n        commands: [{\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          primary: true,\n          onSetup: buttonApi => {\n            const node = editor.selection.getNode();\n            buttonApi.setActive(isInAnchor(editor, node));\n            return toggleLinkState(editor)(buttonApi);\n          },\n          onAction: formApi => {\n            const value = formApi.getValue();\n            const text = getLinkText(value);\n            const attachState = {\n              href: value,\n              attach: noop\n            };\n            link(editor, attachState, {\n              href: value,\n              text,\n              title: Optional.none(),\n              rel: Optional.none(),\n              target: Optional.none(),\n              class: Optional.none()\n            });\n            collapseSelectionToEnd(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'unlink',\n          tooltip: 'Remove link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            unlink(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'new-tab',\n          tooltip: 'Open link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            gotoSelectedLink(editor)();\n            formApi.hide();\n          }\n        }]\n      });\n    };\n\n    var Plugin = () => {\n      global$5.add('link', editor => {\n        register$1(editor);\n        setupButtons(editor);\n        setupMenuItems(editor);\n        setupContextMenu(editor);\n        setupContextToolbars(editor);\n        setupGotoLinks(editor);\n        register(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n    const last = xs => get$1(xs, xs.length - 1);\n    const unique = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is = is$1;\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);\n    const isElement$1 = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$1(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n    const lastChild = element => child(element, element.dom.childNodes.length - 1);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$3 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);\n    };\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const before$1 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$1(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const before = (marker, elements) => {\n      each$1(elements, x => {\n        before$1(marker, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$1(children(element), rogue => {\n        remove(rogue);\n      });\n    };\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const deep = original => clone(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$1(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after(original, nu);\n      const children$1 = children(original);\n      append(nu, children$1);\n      remove(original);\n      return nu;\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3;\n    const isElement = node => isNonNullable(node) && node.nodeType === 1;\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isOlUlNode = matchNodeNames(/^(OL|UL)$/);\n    const isOlNode = matchNodeName('ol');\n    const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n    const isDlItemNode = matchNodeNames(/^(DT|DD)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const isBr = matchNodeName('br');\n    const isFirstChild = node => {\n      var _a;\n      return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node;\n    };\n    const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements();\n    const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements;\n    const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements();\n    const isBogusBr = (dom, node) => {\n      if (!isBr(node)) {\n        return false;\n      }\n      return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);\n    };\n    const isEmpty$2 = (dom, elm, keepBookmarks) => {\n      const empty = dom.isEmpty(elm);\n      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n        return false;\n      }\n      return empty;\n    };\n    const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot());\n\n    const option = name => editor => editor.options.get(name);\n    const register$3 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('lists_indent_on_tab', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const shouldIndentOnTab = option('lists_indent_on_tab');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n\n    const createTextBlock = (editor, contentNode) => {\n      const dom = editor.dom;\n      const blockElements = editor.schema.getBlockElements();\n      const fragment = dom.createFragment();\n      const blockName = getForcedRootBlock(editor);\n      const blockAttrs = getForcedRootBlockAttrs(editor);\n      let node;\n      let textBlock;\n      let hasContentNode = false;\n      textBlock = dom.create(blockName, blockAttrs);\n      if (!isBlock(contentNode.firstChild, blockElements)) {\n        fragment.appendChild(textBlock);\n      }\n      while (node = contentNode.firstChild) {\n        const nodeName = node.nodeName;\n        if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n          hasContentNode = true;\n        }\n        if (isBlock(node, blockElements)) {\n          fragment.appendChild(node);\n          textBlock = null;\n        } else {\n          if (!textBlock) {\n            textBlock = dom.create(blockName, blockAttrs);\n            fragment.appendChild(textBlock);\n          }\n          textBlock.appendChild(node);\n        }\n      }\n      if (!hasContentNode && textBlock) {\n        textBlock.appendChild(dom.create('br', {\n          'data-mce-bogus': '1'\n        }));\n      }\n      return fragment;\n    };\n\n    const DOM$2 = global$3.DOM;\n    const splitList = (editor, list, li) => {\n      const removeAndKeepBookmarks = targetNode => {\n        const parent = targetNode.parentNode;\n        if (parent) {\n          global$2.each(bookmarks, node => {\n            parent.insertBefore(node, li.parentNode);\n          });\n        }\n        DOM$2.remove(targetNode);\n      };\n      const bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', list);\n      const newBlock = createTextBlock(editor, li);\n      const tmpRng = DOM$2.createRng();\n      tmpRng.setStartAfter(li);\n      tmpRng.setEndAfter(list);\n      const fragment = tmpRng.extractContents();\n      for (let node = fragment.firstChild; node; node = node.firstChild) {\n        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n          DOM$2.remove(node);\n          break;\n        }\n      }\n      if (!editor.dom.isEmpty(fragment)) {\n        DOM$2.insertAfter(fragment, list);\n      }\n      DOM$2.insertAfter(newBlock, list);\n      const parent = li.parentElement;\n      if (parent && isEmpty$2(editor.dom, parent)) {\n        removeAndKeepBookmarks(parent);\n      }\n      DOM$2.remove(li);\n      if (isEmpty$2(editor.dom, list)) {\n        DOM$2.remove(list);\n      }\n    };\n\n    const isDescriptionDetail = isTag('dd');\n    const isDescriptionTerm = isTag('dt');\n    const outdentDlItem = (editor, item) => {\n      if (isDescriptionDetail(item)) {\n        mutate(item, 'dt');\n      } else if (isDescriptionTerm(item)) {\n        parentElement(item).each(dl => splitList(editor, dl.dom, item.dom));\n      }\n    };\n    const indentDlItem = item => {\n      if (isDescriptionTerm(item)) {\n        mutate(item, 'dd');\n      }\n    };\n    const dlIndentation = (editor, indentation, dlItems) => {\n      if (indentation === 'Indent') {\n        each$1(dlItems, indentDlItem);\n      } else {\n        each$1(dlItems, item => outdentDlItem(editor, item));\n      }\n    };\n\n    const getNormalizedPoint = (container, offset) => {\n      if (isTextNode$1(container)) {\n        return {\n          container,\n          offset\n        };\n      }\n      const node = global$6.getNode(container, offset);\n      if (isTextNode$1(node)) {\n        return {\n          container: node,\n          offset: offset >= container.childNodes.length ? node.data.length : 0\n        };\n      } else if (node.previousSibling && isTextNode$1(node.previousSibling)) {\n        return {\n          container: node.previousSibling,\n          offset: node.previousSibling.data.length\n        };\n      } else if (node.nextSibling && isTextNode$1(node.nextSibling)) {\n        return {\n          container: node.nextSibling,\n          offset: 0\n        };\n      }\n      return {\n        container,\n        offset\n      };\n    };\n    const normalizeRange = rng => {\n      const outRng = rng.cloneRange();\n      const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n      outRng.setStart(rangeStart.container, rangeStart.offset);\n      const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n      outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n      return outRng;\n    };\n\n    const listNames = ['OL', 'UL', 'DL'];\n    const listSelector = listNames.join(',');\n    const getParentList = (editor, node) => {\n      const selectionStart = node || editor.selection.getStart(true);\n      return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart));\n    };\n    const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n    const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode);\n    const getSelectedSubLists = editor => {\n      const parentList = getParentList(editor);\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      if (isParentListSelected(parentList, selectedBlocks)) {\n        return findSubLists(parentList);\n      } else {\n        return filter$1(selectedBlocks, elm => {\n          return isListNode(elm) && parentList !== elm;\n        });\n      }\n    };\n    const findParentListItemsNodes = (editor, elms) => {\n      const listItemsElms = global$2.map(elms, elm => {\n        const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm));\n        return parentLi ? parentLi : elm;\n      });\n      return unique(listItemsElms);\n    };\n    const getSelectedListItems = editor => {\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);\n    };\n    const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode);\n    const getClosestEditingHost = (editor, elm) => {\n      const parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n      return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n    };\n    const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));\n    const getClosestListHost = (editor, elm) => {\n      const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n      const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));\n      return parentBlock.getOr(editor.getBody());\n    };\n    const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));\n    const findLastParentListNode = (editor, elm) => {\n      const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n      return last(parentLists);\n    };\n    const getSelectedLists = editor => {\n      const firstList = findLastParentListNode(editor, editor.selection.getStart());\n      const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);\n      return firstList.toArray().concat(subsequentLists);\n    };\n    const getParentLists = editor => {\n      const elm = editor.selection.getStart();\n      return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n    };\n    const getSelectedListRoots = editor => {\n      const selectedLists = getSelectedLists(editor);\n      const parentLists = getParentLists(editor);\n      return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);\n    };\n    const getUniqueListRoots = (editor, lists) => {\n      const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));\n      return unique(listRoots);\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list));\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const selectionIsWithinNonEditableList = editor => {\n      const parentList = getParentList(editor);\n      return isWithinNonEditable(editor, parentList);\n    };\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList);\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$1(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', {\n      action,\n      element\n    });\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$1 = s => !isNotEmpty(s);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const isList = el => is(el, 'OL,UL');\n    const isListItem = el => is(el, 'LI');\n    const hasFirstChildList = el => firstChild(el).exists(isList);\n    const hasLastChildList = el => lastChild(el).exists(isList);\n\n    const isEntryList = entry => 'listAttributes' in entry;\n    const isEntryComment = entry => 'isComment' in entry;\n    const isEntryFragment = entry => 'isFragment' in entry;\n    const isIndented = entry => entry.depth > 0;\n    const isSelected = entry => entry.isSelected;\n    const cloneItemContent = li => {\n      const children$1 = children(li);\n      const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;\n      return map(content, deep);\n    };\n    const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({\n      depth,\n      dirty: false,\n      isSelected,\n      content: cloneItemContent(li),\n      itemAttributes: clone$1(li),\n      listAttributes: clone$1(list),\n      listType: name(list),\n      isInPreviousLi: false\n    }));\n\n    const joinSegment = (parent, child) => {\n      append$1(parent.item, child.list);\n    };\n    const joinSegments = segments => {\n      for (let i = 1; i < segments.length; i++) {\n        joinSegment(segments[i - 1], segments[i]);\n      }\n    };\n    const appendSegments = (head$1, tail) => {\n      lift2(last(head$1), head(tail), joinSegment);\n    };\n    const createSegment = (scope, listType) => {\n      const segment = {\n        list: SugarElement.fromTag(listType, scope),\n        item: SugarElement.fromTag('li', scope)\n      };\n      append$1(segment.list, segment.item);\n      return segment;\n    };\n    const createSegments = (scope, entry, size) => {\n      const segments = [];\n      for (let i = 0; i < size; i++) {\n        segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));\n      }\n      return segments;\n    };\n    const populateSegments = (segments, entry) => {\n      for (let i = 0; i < segments.length - 1; i++) {\n        set(segments[i].item, 'list-style-type', 'none');\n      }\n      last(segments).each(segment => {\n        if (isEntryList(entry)) {\n          setAll(segment.list, entry.listAttributes);\n          setAll(segment.item, entry.itemAttributes);\n        }\n        append(segment.item, entry.content);\n      });\n    };\n    const normalizeSegment = (segment, entry) => {\n      if (name(segment.list) !== entry.listType) {\n        segment.list = mutate(segment.list, entry.listType);\n      }\n      setAll(segment.list, entry.listAttributes);\n    };\n    const createItem = (scope, attr, content) => {\n      const item = SugarElement.fromTag('li', scope);\n      setAll(item, attr);\n      append(item, content);\n      return item;\n    };\n    const appendItem = (segment, item) => {\n      append$1(segment.list, item);\n      segment.item = item;\n    };\n    const writeShallow = (scope, cast, entry) => {\n      const newCast = cast.slice(0, entry.depth);\n      last(newCast).each(segment => {\n        if (isEntryList(entry)) {\n          const item = createItem(scope, entry.itemAttributes, entry.content);\n          appendItem(segment, item);\n          normalizeSegment(segment, entry);\n        } else if (isEntryFragment(entry)) {\n          append(segment.item, entry.content);\n        } else {\n          const item = SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"));\n          append$1(segment.list, item);\n        }\n      });\n      return newCast;\n    };\n    const writeDeep = (scope, cast, entry) => {\n      const segments = createSegments(scope, entry, entry.depth - cast.length);\n      joinSegments(segments);\n      populateSegments(segments, entry);\n      appendSegments(cast, segments);\n      return cast.concat(segments);\n    };\n    const composeList = (scope, entries) => {\n      let firstCommentEntryOpt = Optional.none();\n      const cast = foldl(entries, (cast, entry, i) => {\n        if (!isEntryComment(entry)) {\n          return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);\n        } else {\n          if (i === 0) {\n            firstCommentEntryOpt = Optional.some(entry);\n            return cast;\n          }\n          return writeShallow(scope, cast, entry);\n        }\n      }, []);\n      firstCommentEntryOpt.each(firstCommentEntry => {\n        const item = SugarElement.fromHtml(\"<!--\".concat(firstCommentEntry.content, \"-->\"));\n        head(cast).each(fistCast => {\n          prepend(fistCast.list, item);\n        });\n      });\n      return head(cast).map(segment => segment.list);\n    };\n\n    const indentEntry = (indentation, entry) => {\n      switch (indentation) {\n        case 'Indent':\n          entry.depth++;\n          break;\n        case 'Outdent':\n          entry.depth--;\n          break;\n        case 'Flatten':\n          entry.depth = 0;\n      }\n      entry.dirty = true;\n    };\n\n    const cloneListProperties = (target, source) => {\n      if (isEntryList(target) && isEntryList(source)) {\n        target.listType = source.listType;\n        target.listAttributes = {\n          ...source.listAttributes\n        };\n      }\n    };\n    const cleanListProperties = entry => {\n      entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');\n    };\n    const closestSiblingEntry = (entries, start) => {\n      const depth = entries[start].depth;\n      const matches = entry => entry.depth === depth && !entry.dirty;\n      const until = entry => entry.depth < depth;\n      return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until));\n    };\n    const normalizeEntries = entries => {\n      each$1(entries, (entry, i) => {\n        closestSiblingEntry(entries, i).fold(() => {\n          if (entry.dirty && isEntryList(entry)) {\n            cleanListProperties(entry);\n          }\n        }, matchingEntry => cloneListProperties(entry, matchingEntry));\n      });\n      return entries;\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const parseSingleItem = (depth, itemSelection, selectionState, item) => {\n      var _a;\n      if (isComment(item)) {\n        return [{\n          depth: depth + 1,\n          content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',\n          dirty: false,\n          isSelected: false,\n          isComment: true\n        }];\n      }\n      itemSelection.each(selection => {\n        if (eq(selection.start, item)) {\n          selectionState.set(true);\n        }\n      });\n      const currentItemEntry = createEntry(item, depth, selectionState.get());\n      itemSelection.each(selection => {\n        if (eq(selection.end, item)) {\n          selectionState.set(false);\n        }\n      });\n      const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);\n      return currentItemEntry.toArray().concat(childListEntries);\n    };\n    const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {\n      const parsedSiblings = foldl(children(item), (acc, liChild, i) => {\n        if (i === 0) {\n          return acc;\n        } else {\n          if (isListItem(liChild)) {\n            return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));\n          } else {\n            const fragment = {\n              isFragment: true,\n              depth,\n              content: [liChild],\n              isSelected: false,\n              dirty: false,\n              parentListType: name(list)\n            };\n            return acc.concat(fragment);\n          }\n        }\n      }, []);\n      return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);\n    });\n    const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {\n      const parser = isList(element) ? parseList : parseItem;\n      const newDepth = depth + 1;\n      return parser(newDepth, itemSelection, selectionState, element);\n    });\n    const parseLists = (lists, itemSelection) => {\n      const selectionState = Cell(false);\n      const initialDepth = 0;\n      return map(lists, list => ({\n        sourceList: list,\n        entries: parseList(initialDepth, itemSelection, selectionState, list)\n      }));\n    };\n\n    const outdentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return map(normalizedEntries, entry => {\n        const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"))]);\n        return SugarElement.fromDom(createTextBlock(editor, content.dom));\n      });\n    };\n    const indentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return composeList(editor.contentDocument, normalizedEntries).toArray();\n    };\n    const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => {\n      const groupIsIndented = head(entries).exists(isIndented);\n      return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n    });\n    const indentSelectedEntries = (entries, indentation) => {\n      each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry));\n    };\n    const getItemSelection = editor => {\n      const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);\n      return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({\n        start,\n        end\n      }));\n    };\n    const listIndentation = (editor, lists, indentation) => {\n      const entrySets = parseLists(lists, getItemSelection(editor));\n      each$1(entrySets, entrySet => {\n        indentSelectedEntries(entrySet.entries, indentation);\n        const composedLists = composeEntries(editor, entrySet.entries);\n        each$1(composedLists, composedList => {\n          fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);\n        });\n        before(entrySet.sourceList, composedLists);\n        remove(entrySet.sourceList);\n      });\n    };\n\n    const selectionIndentation = (editor, indentation) => {\n      const lists = fromDom(getSelectedListRoots(editor));\n      const dlItems = fromDom(getSelectedDlItems(editor));\n      let isHandled = false;\n      if (lists.length || dlItems.length) {\n        const bookmark = editor.selection.getBookmark();\n        listIndentation(editor, lists, indentation);\n        dlIndentation(editor, indentation, dlItems);\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.setRng(normalizeRange(editor.selection.getRng()));\n        editor.nodeChanged();\n        isHandled = true;\n      }\n      return isHandled;\n    };\n    const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation);\n    const indentListSelection = editor => handleIndentation(editor, 'Indent');\n    const outdentListSelection = editor => handleIndentation(editor, 'Outdent');\n    const flattenListSelection = editor => handleIndentation(editor, 'Flatten');\n\n    const zeroWidth = '\\uFEFF';\n    const isZwsp = char => char === zeroWidth;\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();\n\n    const ancestor = (element, target) => ancestor$1(element, curry(eq, target));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n    const DOM$1 = global$3.DOM;\n    const createBookmark = rng => {\n      const bookmark = {};\n      const setupEndPoint = start => {\n        let container = rng[start ? 'startContainer' : 'endContainer'];\n        let offset = rng[start ? 'startOffset' : 'endOffset'];\n        if (isElement(container)) {\n          const offsetNode = DOM$1.create('span', {\n            'data-mce-type': 'bookmark'\n          });\n          if (container.hasChildNodes()) {\n            offset = Math.min(offset, container.childNodes.length - 1);\n            if (start) {\n              container.insertBefore(offsetNode, container.childNodes[offset]);\n            } else {\n              DOM$1.insertAfter(offsetNode, container.childNodes[offset]);\n            }\n          } else {\n            container.appendChild(offsetNode);\n          }\n          container = offsetNode;\n          offset = 0;\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      setupEndPoint(true);\n      if (!rng.collapsed) {\n        setupEndPoint();\n      }\n      return bookmark;\n    };\n    const resolveBookmark = bookmark => {\n      const restoreEndPoint = start => {\n        const nodeIndex = container => {\n          var _a;\n          let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;\n          let idx = 0;\n          while (node) {\n            if (node === container) {\n              return idx;\n            }\n            if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') {\n              idx++;\n            }\n            node = node.nextSibling;\n          }\n          return -1;\n        };\n        let container = bookmark[start ? 'startContainer' : 'endContainer'];\n        let offset = bookmark[start ? 'startOffset' : 'endOffset'];\n        if (!container) {\n          return;\n        }\n        if (isElement(container) && container.parentNode) {\n          const node = container;\n          offset = nodeIndex(container);\n          container = container.parentNode;\n          DOM$1.remove(node);\n          if (!container.hasChildNodes() && DOM$1.isBlock(container)) {\n            container.appendChild(DOM$1.create('br'));\n          }\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      restoreEndPoint(true);\n      restoreEndPoint();\n      const rng = DOM$1.createRng();\n      rng.setStart(bookmark.startContainer, bookmark.startOffset);\n      if (bookmark.endContainer) {\n        rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n      }\n      return normalizeRange(rng);\n    };\n\n    const listToggleActionFromListName = listName => {\n      switch (listName) {\n        case 'UL':\n          return 'ToggleUlList';\n        case 'OL':\n          return 'ToggleOlList';\n        case 'DL':\n          return 'ToggleDLList';\n      }\n    };\n\n    const updateListStyle = (dom, el, detail) => {\n      const type = detail['list-style-type'] ? detail['list-style-type'] : null;\n      dom.setStyle(el, 'list-style-type', type);\n    };\n    const setAttribs = (elm, attrs) => {\n      global$2.each(attrs, (value, key) => {\n        elm.setAttribute(key, value);\n      });\n    };\n    const updateListAttrs = (dom, el, detail) => {\n      setAttribs(el, detail['list-attributes']);\n      global$2.each(dom.select('li', el), li => {\n        setAttribs(li, detail['list-item-attributes']);\n      });\n    };\n    const updateListWithDetails = (dom, el, detail) => {\n      updateListStyle(dom, el, detail);\n      updateListAttrs(dom, el, detail);\n    };\n    const removeStyles = (dom, element, styles) => {\n      global$2.each(styles, style => dom.setStyle(element, style, ''));\n    };\n    const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements());\n    const getEndPointNode = (editor, rng, start, root) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      const offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement(container)) {\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n      }\n      if (!start && isBr(container.nextSibling)) {\n        container = container.nextSibling;\n      }\n      const findBlockAncestor = node => {\n        while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {\n          node = node.parentNode;\n        }\n        return node;\n      };\n      const findBetterContainer = (container, forward) => {\n        var _a;\n        const walker = new global$5(container, findBlockAncestor(container));\n        const dir = forward ? 'next' : 'prev';\n        let node;\n        while (node = walker[dir]()) {\n          if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\n            return Optional.some(node);\n          }\n        }\n        return Optional.none();\n      };\n      if (start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, false).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) {\n            container = container.previousSibling;\n          }\n        }\n      }\n      if (!start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, true).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) {\n            container = container.nextSibling;\n          }\n        }\n      }\n      while (container.parentNode !== root) {\n        const parent = container.parentNode;\n        if (isTextBlock(editor, container)) {\n          return container;\n        }\n        if (/^(TD|TH)$/.test(parent.nodeName)) {\n          return container;\n        }\n        container = parent;\n      }\n      return container;\n    };\n    const getSelectedTextBlocks = (editor, rng, root) => {\n      const textBlocks = [];\n      const dom = editor.dom;\n      const startNode = getEndPointNode(editor, rng, true, root);\n      const endNode = getEndPointNode(editor, rng, false, root);\n      let block;\n      const siblings = [];\n      for (let node = startNode; node; node = node.nextSibling) {\n        siblings.push(node);\n        if (node === endNode) {\n          break;\n        }\n      }\n      global$2.each(siblings, node => {\n        var _a;\n        if (isTextBlock(editor, node)) {\n          textBlocks.push(node);\n          block = null;\n          return;\n        }\n        if (dom.isBlock(node) || isBr(node)) {\n          if (isBr(node)) {\n            dom.remove(node);\n          }\n          block = null;\n          return;\n        }\n        const nextSibling = node.nextSibling;\n        if (global$1.isBookmarkNode(node)) {\n          if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n            block = null;\n            return;\n          }\n        }\n        if (!block) {\n          block = dom.create('p');\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node);\n          textBlocks.push(block);\n        }\n        block.appendChild(node);\n      });\n      return textBlocks;\n    };\n    const hasCompatibleStyle = (dom, sib, detail) => {\n      const sibStyle = dom.getStyle(sib, 'list-style-type');\n      let detailStyle = detail ? detail['list-style-type'] : '';\n      detailStyle = detailStyle === null ? '' : detailStyle;\n      return sibStyle === detailStyle;\n    };\n    const getRootSearchStart = (editor, range) => {\n      const start = editor.selection.getStart(true);\n      const startPoint = getEndPointNode(editor, range, true, editor.getBody());\n      if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {\n        return range.commonAncestorContainer;\n      } else {\n        return start;\n      }\n    };\n    const applyList = (editor, listName, detail) => {\n      const rng = editor.selection.getRng();\n      let listItemName = 'LI';\n      const root = getClosestListHost(editor, getRootSearchStart(editor, rng));\n      const dom = editor.dom;\n      if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n        return;\n      }\n      listName = listName.toUpperCase();\n      if (listName === 'DL') {\n        listItemName = 'DT';\n      }\n      const bookmark = createBookmark(rng);\n      const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);\n      global$2.each(selectedTextBlocks, block => {\n        let listBlock;\n        const sibling = block.previousSibling;\n        const parent = block.parentNode;\n        if (!isListItemNode(parent)) {\n          if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n            listBlock = sibling;\n            block = dom.rename(block, listItemName);\n            sibling.appendChild(block);\n          } else {\n            listBlock = dom.create(listName);\n            parent.insertBefore(listBlock, block);\n            listBlock.appendChild(block);\n            block = dom.rename(block, listItemName);\n          }\n          removeStyles(dom, block, ['margin', 'margin-right', 'margin-bottom', 'margin-left', 'margin-top', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top']);\n          updateListWithDetails(dom, listBlock, detail);\n          mergeWithAdjacentLists(editor.dom, listBlock);\n        }\n      });\n      editor.selection.setRng(resolveBookmark(bookmark));\n    };\n    const isValidLists = (list1, list2) => {\n      return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName);\n    };\n    const hasSameListStyle = (dom, list1, list2) => {\n      const targetStyle = dom.getStyle(list1, 'list-style-type', true);\n      const style = dom.getStyle(list2, 'list-style-type', true);\n      return targetStyle === style;\n    };\n    const hasSameClasses = (elm1, elm2) => {\n      return elm1.className === elm2.className;\n    };\n    const shouldMerge = (dom, list1, list2) => {\n      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n    };\n    const mergeWithAdjacentLists = (dom, listBlock) => {\n      let node;\n      let sibling = listBlock.nextSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.firstChild) {\n          listBlock.appendChild(node);\n        }\n        dom.remove(liSibling);\n      }\n      sibling = listBlock.previousSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.lastChild) {\n          listBlock.insertBefore(node, listBlock.firstChild);\n        }\n        dom.remove(liSibling);\n      }\n    };\n    const updateList$1 = (editor, list, listName, detail) => {\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const updateCustomList = (editor, list, listName, detail) => {\n      list.classList.forEach((cls, _, classList) => {\n        if (cls.startsWith('tox-')) {\n          classList.remove(cls);\n          if (classList.length === 0) {\n            list.removeAttribute('class');\n          }\n        }\n      });\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {\n      const parentIsList = isListNode(parentList);\n      if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n        flattenListSelection(editor);\n      } else {\n        applyList(editor, listName, detail);\n        const bookmark = createBookmark(editor.selection.getRng());\n        const allLists = parentIsList ? [parentList, ...lists] : lists;\n        const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;\n        global$2.each(allLists, elm => {\n          updateFunction(editor, elm, listName, detail);\n        });\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const hasListStyleDetail = detail => {\n      return 'list-style-type' in detail;\n    };\n    const toggleSingleList = (editor, parentList, listName, detail) => {\n      if (parentList === editor.getBody()) {\n        return;\n      }\n      if (parentList) {\n        if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n          flattenListSelection(editor);\n        } else {\n          const bookmark = createBookmark(editor.selection.getRng());\n          if (isCustomList(parentList)) {\n            parentList.classList.forEach((cls, _, classList) => {\n              if (cls.startsWith('tox-')) {\n                classList.remove(cls);\n                if (classList.length === 0) {\n                  parentList.removeAttribute('class');\n                }\n              }\n            });\n          }\n          updateListWithDetails(editor.dom, parentList, detail);\n          const newList = editor.dom.rename(parentList, listName);\n          mergeWithAdjacentLists(editor.dom, newList);\n          editor.selection.setRng(resolveBookmark(bookmark));\n          applyList(editor, listName, detail);\n          fireListEvent(editor, listToggleActionFromListName(listName), newList);\n        }\n      } else {\n        applyList(editor, listName, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), parentList);\n      }\n    };\n    const toggleList = (editor, listName, _detail) => {\n      const parentList = getParentList(editor);\n      if (isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      const selectedSubLists = getSelectedSubLists(editor);\n      const detail = isObject(_detail) ? _detail : {};\n      if (selectedSubLists.length > 0) {\n        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n      } else {\n        toggleSingleList(editor, parentList, listName, detail);\n      }\n    };\n\n    const DOM = global$3.DOM;\n    const normalizeList = (dom, list) => {\n      const parentNode = list.parentElement;\n      if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n          if (isEmpty$2(dom, parentNode)) {\n            DOM.remove(parentNode);\n          }\n        } else {\n          DOM.setStyle(parentNode, 'listStyleType', 'none');\n        }\n      }\n      if (isListNode(parentNode)) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n        }\n      }\n    };\n    const normalizeLists = (dom, element) => {\n      const lists = global$2.grep(dom.select('ol,ul', element));\n      global$2.each(lists, list => {\n        normalizeList(dom, list);\n      });\n    };\n\n    const findNextCaretContainer = (editor, rng, isForward, root) => {\n      let node = rng.startContainer;\n      const offset = rng.startOffset;\n      if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) {\n        return node;\n      }\n      const nonEmptyBlocks = editor.schema.getNonEmptyElements();\n      if (isElement(node)) {\n        node = global$6.getNode(node, offset);\n      }\n      const walker = new global$5(node, root);\n      if (isForward) {\n        if (isBogusBr(editor.dom, node)) {\n          walker.next();\n        }\n      }\n      const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker);\n      while (node = walkFn()) {\n        if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n          return node;\n        }\n        if (nonEmptyBlocks[node.nodeName]) {\n          return node;\n        }\n        if (isTextNode$1(node) && node.data.length > 0) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const hasOnlyOneBlockChild = (dom, elm) => {\n      const childNodes = elm.childNodes;\n      return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n    };\n    const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));\n    const unwrapSingleBlockChild = (dom, elm) => {\n      if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {\n        dom.remove(elm.firstChild, true);\n      }\n    };\n    const moveChildren = (dom, fromElm, toElm) => {\n      let node;\n      const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n      unwrapSingleBlockChild(dom, fromElm);\n      if (!isEmpty$2(dom, fromElm, true)) {\n        while (node = fromElm.firstChild) {\n          targetElm.appendChild(node);\n        }\n      }\n    };\n    const mergeLiElements = (dom, fromElm, toElm) => {\n      let listNode;\n      const ul = fromElm.parentNode;\n      if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {\n        return;\n      }\n      if (isListNode(toElm.lastChild)) {\n        listNode = toElm.lastChild;\n      }\n      if (ul === toElm.lastChild) {\n        if (isBr(ul.previousSibling)) {\n          dom.remove(ul.previousSibling);\n        }\n      }\n      const node = toElm.lastChild;\n      if (node && isBr(node) && fromElm.hasChildNodes()) {\n        dom.remove(node);\n      }\n      if (isEmpty$2(dom, toElm, true)) {\n        empty(SugarElement.fromDom(toElm));\n      }\n      moveChildren(dom, fromElm, toElm);\n      if (listNode) {\n        toElm.appendChild(listNode);\n      }\n      const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));\n      const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];\n      dom.remove(fromElm);\n      each$1(nestedLists, list => {\n        if (isEmpty$2(dom, list) && list !== dom.getRoot()) {\n          dom.remove(list);\n        }\n      });\n    };\n    const mergeIntoEmptyLi = (editor, fromLi, toLi) => {\n      empty(SugarElement.fromDom(toLi));\n      mergeLiElements(editor.dom, fromLi, toLi);\n      editor.selection.setCursorLocation(toLi, 0);\n    };\n    const mergeForward = (editor, rng, fromLi, toLi) => {\n      const dom = editor.dom;\n      if (dom.isEmpty(toLi)) {\n        mergeIntoEmptyLi(editor, fromLi, toLi);\n      } else {\n        const bookmark = createBookmark(rng);\n        mergeLiElements(dom, fromLi, toLi);\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const mergeBackward = (editor, rng, fromLi, toLi) => {\n      const bookmark = createBookmark(rng);\n      mergeLiElements(editor.dom, fromLi, toLi);\n      const resolvedBookmark = resolveBookmark(bookmark);\n      editor.selection.setRng(resolvedBookmark);\n    };\n    const backspaceDeleteFromListToListCaret = (editor, isForward) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const selectionStartElm = selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const li = dom.getParent(selection.getStart(), 'LI', root);\n      if (li) {\n        const ul = li.parentElement;\n        if (ul === editor.getBody() && isEmpty$2(dom, ul)) {\n          return true;\n        }\n        const rng = normalizeRange(selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));\n        if (otherLi && otherLi !== li && !willMergeParentIntoChild) {\n          editor.undoManager.transact(() => {\n            if (isForward) {\n              mergeForward(editor, rng, otherLi, li);\n            } else {\n              if (isFirstChild(li)) {\n                outdentListSelection(editor);\n              } else {\n                mergeBackward(editor, rng, li, otherLi);\n              }\n            }\n          });\n          return true;\n        } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {\n          editor.undoManager.transact(() => {\n            if (rng.commonAncestorContainer.parentElement) {\n              const bookmark = createBookmark(rng);\n              const oldParentElRef = rng.commonAncestorContainer.parentElement;\n              moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);\n              oldParentElRef.remove();\n              const resolvedBookmark = resolveBookmark(bookmark);\n              editor.selection.setRng(resolvedBookmark);\n            }\n          });\n          return true;\n        } else if (!otherLi) {\n          if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {\n            editor.undoManager.transact(() => {\n              flattenListSelection(editor);\n            });\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const removeBlock = (dom, block, root) => {\n      const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n      dom.remove(block);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        dom.remove(parentBlock);\n      }\n    };\n    const backspaceDeleteIntoListCaret = (editor, isForward) => {\n      const dom = editor.dom;\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const block = dom.getParent(selectionStartElm, dom.isBlock, root);\n      if (block && dom.isEmpty(block)) {\n        const rng = normalizeRange(editor.selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi) {\n          const findValidElement = element => contains$1(['td', 'th', 'caption'], name(element));\n          const findRoot = node => node.dom === root;\n          const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);\n          const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);\n          if (!equals(otherLiCell, caretCell, eq)) {\n            return false;\n          }\n          editor.undoManager.transact(() => {\n            const parentNode = otherLi.parentNode;\n            removeBlock(dom, block, root);\n            mergeWithAdjacentLists(dom, parentNode);\n            editor.selection.select(otherLi, true);\n            editor.selection.collapse(isForward);\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const backspaceDeleteCaret = (editor, isForward) => {\n      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n    };\n    const hasListSelection = editor => {\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n      return startListParent || getSelectedListItems(editor).length > 0;\n    };\n    const backspaceDeleteRange = editor => {\n      if (hasListSelection(editor)) {\n        editor.undoManager.transact(() => {\n          editor.execCommand('Delete');\n          normalizeLists(editor.dom, editor.getBody());\n        });\n        return true;\n      }\n      return false;\n    };\n    const backspaceDelete = (editor, isForward) => {\n      const selection = editor.selection;\n      return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor));\n    };\n    const setup$2 = editor => {\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) {\n          normalizeLists(editor.dom, editor.getBody());\n        }\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === global$4.BACKSPACE) {\n          if (backspaceDelete(editor, false)) {\n            e.preventDefault();\n          }\n        } else if (e.keyCode === global$4.DELETE) {\n          if (backspaceDelete(editor, true)) {\n            e.preventDefault();\n          }\n        }\n      });\n    };\n\n    const get = editor => ({\n      backspaceDelete: isForward => {\n        backspaceDelete(editor, isForward);\n      }\n    });\n\n    const updateList = (editor, update) => {\n      const parentList = getParentList(editor);\n      if (parentList === null || isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      editor.undoManager.transact(() => {\n        if (isObject(update.styles)) {\n          editor.dom.setStyles(parentList, update.styles);\n        }\n        if (isObject(update.attrs)) {\n          each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v));\n        }\n      });\n    };\n\n    const parseAlphabeticBase26 = str => {\n      const chars = reverse(trim(str).split(''));\n      const values = map(chars, (char, i) => {\n        const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n        return Math.pow(26, i) * charValue;\n      });\n      return foldl(values, (sum, v) => sum + v, 0);\n    };\n    const composeAlphabeticBase26 = value => {\n      value--;\n      if (value < 0) {\n        return '';\n      } else {\n        const remainder = value % 26;\n        const quotient = Math.floor(value / 26);\n        const rest = composeAlphabeticBase26(quotient);\n        const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n        return rest + char;\n      }\n    };\n    const isUppercase = str => /^[A-Z]+$/.test(str);\n    const isLowercase = str => /^[a-z]+$/.test(str);\n    const isNumeric = str => /^[0-9]+$/.test(str);\n    const deduceListType = start => {\n      if (isNumeric(start)) {\n        return 2;\n      } else if (isUppercase(start)) {\n        return 0;\n      } else if (isLowercase(start)) {\n        return 1;\n      } else if (isEmpty$1(start)) {\n        return 3;\n      } else {\n        return 4;\n      }\n    };\n    const parseStartValue = start => {\n      switch (deduceListType(start)) {\n        case 2:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start\n          });\n        case 0:\n          return Optional.some({\n            listStyleType: Optional.some('upper-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 1:\n          return Optional.some({\n            listStyleType: Optional.some('lower-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 3:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start: ''\n          });\n        case 4:\n          return Optional.none();\n      }\n    };\n    const parseDetail = detail => {\n      const start = parseInt(detail.start, 10);\n      if (is$2(detail.listStyleType, 'upper-alpha')) {\n        return composeAlphabeticBase26(start);\n      } else if (is$2(detail.listStyleType, 'lower-alpha')) {\n        return composeAlphabeticBase26(start).toLowerCase();\n      } else {\n        return detail.start;\n      }\n    };\n\n    const open = editor => {\n      const currentList = getParentList(editor);\n      if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n        return;\n      }\n      editor.windowManager.open({\n        title: 'List Properties',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'input',\n            name: 'start',\n            label: 'Start list at number',\n            inputMode: 'numeric'\n          }]\n        },\n        initialData: {\n          start: parseDetail({\n            start: editor.dom.getAttrib(currentList, 'start', '1'),\n            listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n          })\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onSubmit: api => {\n          const data = api.getData();\n          parseStartValue(data.start).each(detail => {\n            editor.execCommand('mceListUpdate', false, {\n              attrs: {\n                start: detail.start === '1' ? '' : detail.start\n              },\n              styles: {\n                'list-style-type': detail.listStyleType.getOr('')\n              }\n            });\n          });\n          api.close();\n        }\n      });\n    };\n\n    const queryListCommandState = (editor, listName) => () => {\n      const parentList = getParentList(editor);\n      return isNonNullable(parentList) && parentList.nodeName === listName;\n    };\n    const registerDialog = editor => {\n      editor.addCommand('mceListProps', () => {\n        open(editor);\n      });\n    };\n    const register$2 = editor => {\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if (cmd === 'indent') {\n          indentListSelection(editor);\n        } else if (cmd === 'outdent') {\n          outdentListSelection(editor);\n        }\n      });\n      editor.addCommand('InsertUnorderedList', (ui, detail) => {\n        toggleList(editor, 'UL', detail);\n      });\n      editor.addCommand('InsertOrderedList', (ui, detail) => {\n        toggleList(editor, 'OL', detail);\n      });\n      editor.addCommand('InsertDefinitionList', (ui, detail) => {\n        toggleList(editor, 'DL', detail);\n      });\n      editor.addCommand('RemoveList', () => {\n        flattenListSelection(editor);\n      });\n      registerDialog(editor);\n      editor.addCommand('mceListUpdate', (ui, detail) => {\n        if (isObject(detail)) {\n          updateList(editor, detail);\n        }\n      });\n      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const isTextNode = node => node.type === 3;\n    const isEmpty = nodeBuffer => nodeBuffer.length === 0;\n    const wrapInvalidChildren = list => {\n      const insertListItem = (buffer, refNode) => {\n        const li = global.create('li');\n        each$1(buffer, node => li.append(node));\n        if (refNode) {\n          list.insert(li, refNode, true);\n        } else {\n          list.append(li);\n        }\n      };\n      const reducer = (buffer, node) => {\n        if (isTextNode(node)) {\n          return [...buffer, node];\n        } else if (!isEmpty(buffer) && !isTextNode(node)) {\n          insertListItem(buffer, node);\n          return [];\n        } else {\n          return buffer;\n        }\n      };\n      const restBuffer = foldl(list.children(), reducer, []);\n      if (!isEmpty(restBuffer)) {\n        insertListItem(restBuffer);\n      }\n    };\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          parser\n        } = editor;\n        parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren));\n      });\n    };\n\n    const setupTabKey = editor => {\n      editor.on('keydown', e => {\n        if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {\n          return;\n        }\n        editor.undoManager.transact(() => {\n          if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {\n            e.preventDefault();\n          }\n        });\n      });\n    };\n    const setup = editor => {\n      if (shouldIndentOnTab(editor)) {\n        setupTabKey(editor);\n      }\n      setup$2(editor);\n    };\n\n    const setupToggleButtonHandler = (editor, listName) => api => {\n      const toggleButtonHandler = e => {\n        api.setActive(inList(e.parents, listName));\n        api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n      };\n      api.setEnabled(editor.selection.isEditable());\n      return setNodeChangeHandler(editor, toggleButtonHandler);\n    };\n    const register$1 = editor => {\n      const exec = command => () => editor.execCommand(command);\n      if (!editor.hasPlugin('advlist')) {\n        editor.ui.registry.addToggleButton('numlist', {\n          icon: 'ordered-list',\n          active: false,\n          tooltip: 'Numbered list',\n          onAction: exec('InsertOrderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'OL')\n        });\n        editor.ui.registry.addToggleButton('bullist', {\n          icon: 'unordered-list',\n          active: false,\n          tooltip: 'Bullet list',\n          onAction: exec('InsertUnorderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'UL')\n        });\n      }\n    };\n\n    const setupMenuButtonHandler = (editor, listName) => api => {\n      const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n      return setNodeChangeHandler(editor, menuButtonHandler);\n    };\n    const register = editor => {\n      const listProperties = {\n        text: 'List properties...',\n        icon: 'ordered-list',\n        onAction: () => editor.execCommand('mceListProps'),\n        onSetup: setupMenuButtonHandler(editor, 'OL')\n      };\n      editor.ui.registry.addMenuItem('listprops', listProperties);\n      editor.ui.registry.addContextMenu('lists', {\n        update: node => {\n          const parentList = getParentList(editor, node);\n          return isOlNode(parentList) ? ['listprops'] : [];\n        }\n      });\n    };\n\n    var Plugin = () => {\n      global$7.add('lists', editor => {\n        register$3(editor);\n        setup$1(editor);\n        if (!editor.hasPlugin('rtc', true)) {\n          setup(editor);\n          register$2(editor);\n        } else {\n          registerDialog(editor);\n        }\n        register$1(editor);\n        register(editor);\n        return get(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const get$2 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('audio_template_callback', {\n        processor: 'function'\n      });\n      registerOption('video_template_callback', {\n        processor: 'function'\n      });\n      registerOption('iframe_template_callback', {\n        processor: 'function'\n      });\n      registerOption('media_live_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_filter_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_url_resolver', {\n        processor: 'function'\n      });\n      registerOption('media_alt_source', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_poster', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getAudioTemplateCallback = option('audio_template_callback');\n    const getVideoTemplateCallback = option('video_template_callback');\n    const getIframeTemplateCallback = option('iframe_template_callback');\n    const hasLiveEmbeds = option('media_live_embeds');\n    const shouldFilterHtml = option('media_filter_html');\n    const getUrlResolver = option('media_url_resolver');\n    const hasAltSource = option('media_alt_source');\n    const hasPoster = option('media_poster');\n    const hasDimensions = option('media_dimensions');\n    const getSnMediaSettings = editor => {\n      const snSettings = option('sn_settings')(editor);\n      const {\n        allowLibrarySearch = true,\n        attachmentList = [],\n        showLocalsTab = false,\n        libraryFilePicker = (_editor, callback) => callback(''),\n        labels = {},\n        mediaUploadHandler\n      } = (snSettings === null || snSettings === void 0 ? void 0 : snSettings.media) || {};\n      return {\n        allowLibrarySearch,\n        attachmentList,\n        showLocalsTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Local Media',\n          search: 'Search Library',\n          attachmentList: 'Attachment List',\n          typeAttachment: 'Attachment',\n          typeLibrary: 'Public Library',\n          waitOpen: 'Loading Attachments',\n          ...labels\n        },\n        mediaUploadHandler\n      };\n    };\n    const isAutomaticUploadsEnabled = editor => option('automatic_uploads');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.html.DomParser');\n\n    const DOM$1 = global$4.DOM;\n    const trimPx = value => value.replace(/px$/, '');\n    const getEphoxEmbedData = node => {\n      const style = node.attr('style');\n      const styles = style ? DOM$1.parseStyle(style) : {};\n      return {\n        type: 'ephox-embed-iri',\n        source: node.attr('data-ephox-embed-iri'),\n        altsource: '',\n        poster: '',\n        width: get$2(styles, 'max-width').map(trimPx).getOr(''),\n        height: get$2(styles, 'max-height').map(trimPx).getOr('')\n      };\n    };\n    const htmlToData = (html, schema) => {\n      let data = {};\n      const parser = global$3({\n        validate: false,\n        forced_root_block: false\n      }, schema);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            data = getEphoxEmbedData(node);\n            break;\n          } else {\n            if (!data.source && name === 'param') {\n              data.source = node.attr('movie');\n            }\n            if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {\n              if (!data.type) {\n                data.type = name;\n              }\n              data = global$5.extend(node.attributes.map, data);\n            }\n            if (name === 'source') {\n              if (!data.source) {\n                data.source = node.attr('src');\n              } else if (!data.altsource) {\n                data.altsource = node.attr('src');\n              }\n            }\n            if (name === 'img' && !data.poster) {\n              data.poster = node.attr('src');\n            }\n          }\n        }\n      }\n      data.source = data.source || data.src || '';\n      data.altsource = data.altsource || '';\n      data.poster = data.poster || '';\n      return data;\n    };\n\n    const guess = url => {\n      var _a;\n      const mimes = {\n        mp3: 'audio/mpeg',\n        m4a: 'audio/x-m4a',\n        wav: 'audio/wav',\n        mp4: 'video/mp4',\n        webm: 'video/webm',\n        ogg: 'video/ogg',\n        swf: 'application/x-shockwave-flash'\n      };\n      const fileEnd = (_a = url.toLowerCase().split('.').pop()) !== null && _a !== void 0 ? _a : '';\n      return get$2(mimes, fileEnd).getOr('');\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer');\n\n    const Parser = (schema, settings = {}) => global$3({\n      forced_root_block: false,\n      validate: false,\n      allow_conditional_comments: true,\n      ...settings\n    }, schema);\n\n    const DOM = global$4.DOM;\n    const addPx = value => /^[0-9.]+$/.test(value) ? value + 'px' : value;\n    const updateEphoxEmbed = (data, node) => {\n      const style = node.attr('style');\n      const styleMap = style ? DOM.parseStyle(style) : {};\n      if (isNonNullable(data.width)) {\n        styleMap['max-width'] = addPx(data.width);\n      }\n      if (isNonNullable(data.height)) {\n        styleMap['max-height'] = addPx(data.height);\n      }\n      node.attr('style', DOM.serializeStyle(styleMap));\n    };\n    const sources = ['source', 'altsource'];\n    const updateHtml = (html, data, updateAll, schema) => {\n      let numSources = 0;\n      let sourceCount = 0;\n      const parser = Parser(schema);\n      parser.addNodeFilter('source', nodes => numSources = nodes.length);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            updateEphoxEmbed(data, node);\n            break;\n          } else {\n            switch (name) {\n              case 'video':\n              case 'object':\n              case 'embed':\n              case 'img':\n              case 'iframe':\n                if (data.height !== undefined && data.width !== undefined) {\n                  node.attr('width', data.width);\n                  node.attr('height', data.height);\n                }\n                break;\n            }\n            if (updateAll) {\n              switch (name) {\n                case 'video':\n                  node.attr('poster', data.poster);\n                  node.attr('src', null);\n                  for (let index = numSources; index < 2; index++) {\n                    if (data[sources[index]]) {\n                      const source = new global$2('source', 1);\n                      source.attr('src', data[sources[index]]);\n                      source.attr('type', data[sources[index] + 'mime'] || null);\n                      node.append(source);\n                    }\n                  }\n                  break;\n                case 'iframe':\n                  node.attr('src', data.source);\n                  break;\n                case 'object':\n                  const hasImage = node.getAll('img').length > 0;\n                  if (data.poster && !hasImage) {\n                    node.attr('src', data.poster);\n                    const img = new global$2('img', 1);\n                    img.attr('src', data.poster);\n                    img.attr('width', data.width);\n                    img.attr('height', data.height);\n                    node.append(img);\n                  }\n                  break;\n                case 'source':\n                  if (sourceCount < 2) {\n                    node.attr('src', data[sources[sourceCount]]);\n                    node.attr('type', data[sources[sourceCount] + 'mime'] || null);\n                    if (!data[sources[sourceCount]]) {\n                      node.remove();\n                      continue;\n                    }\n                  }\n                  sourceCount++;\n                  break;\n                case 'img':\n                  if (!data.poster) {\n                    node.remove();\n                  }\n                  break;\n              }\n            }\n          }\n        }\n      }\n      return global$1({}, schema).serialize(rootNode);\n    };\n\n    const urlPatterns = [{\n      regex: /youtu\\.be\\/([\\w\\-_\\?&=.]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /youtube\\.com(.+)v=([^&]+)(&([a-z0-9&=\\-_]+))?/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$2?$4',\n      allowFullscreen: true\n    }, {\n      regex: /youtube.com\\/embed\\/([a-z0-9\\?&=\\-_]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?h=$3&title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /maps\\.google\\.([a-z]{2,3})\\/maps\\/(.+)msid=(.+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'maps.google.com/maps/ms?msid=$2&output=embed\"',\n      allowFullscreen: false\n    }, {\n      regex: /dailymotion\\.com\\/video\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }, {\n      regex: /dai\\.ly\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }];\n    const getProtocol = url => {\n      const protocolMatches = url.match(/^(https?:\\/\\/|www\\.)(.+)$/i);\n      if (protocolMatches && protocolMatches.length > 1) {\n        return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1];\n      } else {\n        return 'https://';\n      }\n    };\n    const getUrl = (pattern, url) => {\n      const protocol = getProtocol(url);\n      const match = pattern.regex.exec(url);\n      let newUrl = protocol + pattern.url;\n      if (isNonNullable(match)) {\n        for (let i = 0; i < match.length; i++) {\n          newUrl = newUrl.replace('$' + i, () => match[i] ? match[i] : '');\n        }\n      }\n      return newUrl.replace(/\\?$/, '');\n    };\n    const matchPattern = url => {\n      const patterns = urlPatterns.filter(pattern => pattern.regex.test(url));\n      if (patterns.length > 0) {\n        return global$5.extend({}, patterns[0], {\n          url: getUrl(patterns[0], url)\n        });\n      } else {\n        return null;\n      }\n    };\n\n    const getIframeHtml = (data, iframeTemplateCallback) => {\n      if (iframeTemplateCallback) {\n        return iframeTemplateCallback(data);\n      } else {\n        const allowFullscreen = data.allowfullscreen ? ' allowFullscreen=\"1\"' : '';\n        return '<iframe src=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\"' + allowFullscreen + '><\/iframe>';\n      }\n    };\n    const getFlashHtml = data => {\n      let html = '<object data=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" type=\"application/x-shockwave-flash\">';\n      if (data.poster) {\n        html += '<img src=\"' + data.poster + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" />';\n      }\n      html += '<\/object>';\n      return html;\n    };\n    const getAudioHtml = (data, audioTemplateCallback) => {\n      if (audioTemplateCallback) {\n        return audioTemplateCallback(data);\n      } else {\n        return '<audio controls=\"controls\" src=\"' + data.source + '\">' + (data.altsource ? '\\n<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '<\/audio>';\n      }\n    };\n    const getVideoHtml = (data, videoTemplateCallback) => {\n      if (videoTemplateCallback) {\n        return videoTemplateCallback(data);\n      } else {\n        return '<video width=\"' + data.width + '\" height=\"' + data.height + '\"' + (data.poster ? ' poster=\"' + data.poster + '\"' : '') + ' controls=\"controls\">\\n' + '<source src=\"' + data.source + '\"' + (data.sourcemime ? ' type=\"' + data.sourcemime + '\"' : '') + ' />\\n' + (data.altsource ? '<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '<\/video>';\n      }\n    };\n    const dataToHtml = (editor, dataIn) => {\n      var _a;\n      const data = global$5.extend({}, dataIn);\n      if (!data.source) {\n        global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema));\n        if (!data.source) {\n          return '';\n        }\n      }\n      if (!data.altsource) {\n        data.altsource = '';\n      }\n      if (!data.poster) {\n        data.poster = '';\n      }\n      data.source = editor.convertURL(data.source, 'source');\n      data.altsource = editor.convertURL(data.altsource, 'source');\n      data.sourcemime = guess(data.source);\n      data.altsourcemime = guess(data.altsource);\n      data.poster = editor.convertURL(data.poster, 'poster');\n      const pattern = matchPattern(data.source);\n      if (pattern) {\n        data.source = pattern.url;\n        data.type = pattern.type;\n        data.allowfullscreen = pattern.allowFullscreen;\n        data.width = data.width || String(pattern.w);\n        data.height = data.height || String(pattern.h);\n      }\n      if (data.embed) {\n        return updateHtml(data.embed, data, true, editor.schema);\n      } else {\n        const audioTemplateCallback = getAudioTemplateCallback(editor);\n        const videoTemplateCallback = getVideoTemplateCallback(editor);\n        const iframeTemplateCallback = getIframeTemplateCallback(editor);\n        data.width = data.width || '300';\n        data.height = data.height || '150';\n        global$5.each(data, (value, key) => {\n          data[key] = editor.dom.encode('' + value);\n        });\n        if (data.type === 'iframe') {\n          return getIframeHtml(data, iframeTemplateCallback);\n        } else if (data.sourcemime === 'application/x-shockwave-flash') {\n          return getFlashHtml(data);\n        } else if (data.sourcemime.indexOf('audio') !== -1) {\n          return getAudioHtml(data, audioTemplateCallback);\n        } else {\n          return getVideoHtml(data, videoTemplateCallback);\n        }\n      }\n    };\n\n    const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri');\n    const setup$3 = editor => {\n      editor.on('click keyup touchend', () => {\n        const selectedNode = editor.selection.getNode();\n        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {\n          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {\n            selectedNode.setAttribute('data-mce-selected', '2');\n          }\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const target = e.target;\n        if (target.getAttribute('data-mce-object')) {\n          let html = target.getAttribute('data-mce-html');\n          if (html) {\n            html = unescape(html);\n            target.setAttribute('data-mce-html', escape(updateHtml(html, {\n              width: String(e.width),\n              height: String(e.height)\n            }, false, editor.schema)));\n          }\n        }\n      });\n    };\n\n    const cache = {};\n    const embedPromise = (data, dataToHtml, handler) => {\n      return new Promise((res, rej) => {\n        const wrappedResolve = response => {\n          if (response.html) {\n            cache[data.source] = response;\n          }\n          return res({\n            url: data.source,\n            html: response.html ? response.html : dataToHtml(data)\n          });\n        };\n        if (cache[data.source]) {\n          wrappedResolve(cache[data.source]);\n        } else {\n          handler({\n            url: data.source\n          }, wrappedResolve, rej);\n        }\n      });\n    };\n    const defaultPromise = (data, dataToHtml) => Promise.resolve({\n      html: dataToHtml(data),\n      url: data.source\n    });\n    const loadedData = editor => data => dataToHtml(editor, data);\n    const getEmbedHtml = (editor, data) => {\n      const embedHandler = getUrlResolver(editor);\n      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));\n    };\n    const isCached = url => has(cache, url);\n\n    const handleBrowseLibrary = (editor, settings) => api => settings.libraryFilePicker(editor, file => {\n      api.setData({\n        source: {\n          value: file,\n          meta: {}\n        }\n      });\n      api.showTab('general');\n    });\n    const handleSourceUpdate = (editor, config, settings, dialog) => {\n      new Promise(resolve => {\n        dialog.block('');\n        const body = config.body;\n        const index = body.tabs.findIndex(({\n          title\n        }) => title === settings.labels.tabName);\n        body.tabs[index] = makeTab(editor, dialog.getData(), settings, resolve);\n        config.initialData = dialog.getData();\n      }).then(() => {\n        dialog.redial(config);\n        dialog.showTab('local');\n        dialog.unblock();\n      });\n    };\n    const urlListSanitizer = (editor, list) => {\n      return [...(list === null || list === void 0 ? void 0 : list.map(({\n        title,\n        value\n      }) => ({\n        text: title,\n        value: editor.convertURL(value, '')\n      })))];\n    };\n    const makeTab = (editor, {\n      localsTabSourceType\n    }, settings, onListLoaded) => {\n      const items = [];\n      const {\n        allowLibrarySearch,\n        attachmentList,\n        labels\n      } = settings;\n      if (allowLibrarySearch) {\n        items.push({\n          type: 'selectbox',\n          name: 'localsTabSourceType',\n          label: 'Source',\n          size: 1,\n          items: [{\n            text: labels.typeAttachment,\n            value: 'attachment'\n          }, {\n            text: labels.typeLibrary,\n            value: 'library'\n          }]\n        });\n      }\n      let callLoaded = true;\n      if (localsTabSourceType === 'attachment') {\n        if (attachmentList) {\n          const attachConfig = {\n            type: 'listbox',\n            name: 'attachments',\n            label: labels.attachmentList,\n            items: [{\n              text: 'None',\n              value: ''\n            }]\n          };\n          if (isFunction(attachmentList)) {\n            attachmentList(attachmentItems => {\n              attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentItems || [])];\n              onListLoaded();\n            });\n            callLoaded = false;\n          } else if (isArray(attachmentList)) {\n            attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentList || [])];\n          }\n          items.push(attachConfig);\n        }\n      } else {\n        items.push({\n          type: 'label',\n          label: labels.search,\n          items: [{\n            type: 'button',\n            name: 'librarysearch',\n            text: labels.search,\n            icon: 'search'\n          }]\n        });\n      }\n      if (callLoaded) {\n        onListLoaded();\n      }\n      return {\n        title: labels.tabName,\n        name: 'local',\n        items\n      };\n    };\n    const LocalsTab = {\n      makeTab,\n      handleSourceUpdate,\n      handleBrowseLibrary\n    };\n\n    const extractMeta = (sourceInput, data) => get$2(data, sourceInput).bind(mainData => get$2(mainData, 'meta'));\n    const getValue = (data, metaData, sourceInput) => prop => {\n      const getFromData = () => get$2(data, prop);\n      const getFromMetaData = () => get$2(metaData, prop);\n      const getNonEmptyValue = c => get$2(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none());\n      const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child)));\n      const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child)));\n      return {\n        [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('')\n      };\n    };\n    const getDimensions = (data, metaData) => {\n      const dimensions = {};\n      get$2(data, 'dimensions').each(dims => {\n        each$1(['width', 'height'], prop => {\n          get$2(metaData, prop).orThunk(() => get$2(dims, prop)).each(value => dimensions[prop] = value);\n        });\n      });\n      return dimensions;\n    };\n    const unwrap = (data, sourceInput) => {\n      const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {};\n      const get = getValue(data, metaData, sourceInput);\n      return {\n        ...get('source'),\n        ...get('altsource'),\n        ...get('poster'),\n        ...get('embed'),\n        ...getDimensions(data, metaData),\n        ...get('attachments')\n      };\n    };\n    const wrap = (data, localsTabSourceType) => {\n      const wrapped = {\n        ...data,\n        source: {\n          value: get$2(data, 'source').getOr('')\n        },\n        altsource: {\n          value: get$2(data, 'altsource').getOr('')\n        },\n        poster: {\n          value: get$2(data, 'poster').getOr('')\n        },\n        ...(localsTabSourceType ? {\n          localsTabSourceType\n        } : {})\n      };\n      each$1(['width', 'height'], prop => {\n        get$2(data, prop).each(value => {\n          const dimensions = wrapped.dimensions || {};\n          dimensions[prop] = value;\n          wrapped.dimensions = dimensions;\n        });\n      });\n      return wrapped;\n    };\n    const handleError = editor => error => {\n      const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';\n      editor.notificationManager.open({\n        type: 'error',\n        text: errorMessage\n      });\n    };\n    const getEditorData = editor => {\n      const element = editor.selection.getNode();\n      const snippet = isMediaElement(element) ? editor.serializer.serialize(element, {\n        selection: true\n      }) : '';\n      const data = htmlToData(snippet, editor.schema);\n      const getDimensionsOfElement = () => {\n        if (isEmbedIframe(data.source, data.type)) {\n          const rect = editor.dom.getRect(element);\n          return {\n            width: rect.w.toString().replace(/px$/, ''),\n            height: rect.h.toString().replace(/px$/, '')\n          };\n        } else {\n          return {};\n        }\n      };\n      const dimensions = getDimensionsOfElement();\n      return {\n        embed: snippet,\n        ...data,\n        ...dimensions\n      };\n    };\n    const addEmbedHtml = (api, editor) => response => {\n      if (isString(response.url) && response.url.trim().length > 0) {\n        const html = response.html;\n        const snippetData = htmlToData(html, editor.schema);\n        const nuData = {\n          ...snippetData,\n          source: response.url,\n          embed: html\n        };\n        api.setData(wrap(nuData));\n      }\n    };\n    const selectPlaceholder = (editor, beforeObjects) => {\n      const afterObjects = editor.dom.select('*[data-mce-object]');\n      for (let i = 0; i < beforeObjects.length; i++) {\n        for (let y = afterObjects.length - 1; y >= 0; y--) {\n          if (beforeObjects[i] === afterObjects[y]) {\n            afterObjects.splice(y, 1);\n          }\n        }\n      }\n      editor.selection.select(afterObjects[0]);\n    };\n    const handleInsert = (editor, html) => {\n      const beforeObjects = editor.dom.select('*[data-mce-object]');\n      editor.insertContent(html);\n      selectPlaceholder(editor, beforeObjects);\n      editor.nodeChanged();\n    };\n    const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url));\n    const shouldInsertAsNewIframe = (prevData, newData) => {\n      const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height;\n      return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type);\n    };\n    const submitForm = (prevData, newData, editor) => {\n      var _a;\n      newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, {\n        ...newData,\n        embed: ''\n      }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema);\n      if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) {\n        handleInsert(editor, newData.embed);\n      } else {\n        getEmbedHtml(editor, newData).then(response => {\n          handleInsert(editor, response.html);\n        }).catch(handleError(editor));\n      }\n    };\n    const showDialog = editor => {\n      const editorData = getEditorData(editor);\n      const currentData = Cell(editorData);\n      const initialData = wrap(editorData, 'attachment');\n      const handleSource = (prevData, api) => {\n        const serviceData = unwrap(api.getData(), 'source');\n        if (prevData.source !== serviceData.source) {\n          addEmbedHtml(win, editor)({\n            url: serviceData.source,\n            html: ''\n          });\n          getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n        }\n      };\n      const handleEmbed = api => {\n        var _a;\n        const data = unwrap(api.getData());\n        const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema);\n        api.setData(wrap(dataFromEmbed));\n      };\n      const handleUpdate = (api, sourceInput, prevData) => {\n        const dialogData = unwrap(api.getData(), sourceInput);\n        const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? {\n          ...dialogData,\n          embed: ''\n        } : dialogData;\n        const embed = dataToHtml(editor, data);\n        api.setData(wrap({\n          ...data,\n          embed\n        }));\n      };\n      const mediaInput = [{\n        name: 'source',\n        type: 'urlinput',\n        filetype: 'media',\n        label: 'Source',\n        picker_text: 'Browse files'\n      }];\n      const sizeInput = !hasDimensions(editor) ? [] : [{\n        type: 'sizeinput',\n        name: 'dimensions',\n        label: 'Constrain proportions',\n        constrain: true\n      }];\n      const generalTab = {\n        title: 'General',\n        name: 'general',\n        items: flatten([mediaInput, sizeInput])\n      };\n      const embedTextarea = {\n        type: 'textarea',\n        name: 'embed',\n        label: 'Paste your embed code below:'\n      };\n      const embedTab = {\n        title: 'Embed',\n        items: [embedTextarea]\n      };\n      const advancedFormItems = [];\n      if (hasAltSource(editor)) {\n        advancedFormItems.push({\n          name: 'altsource',\n          type: 'urlinput',\n          filetype: 'media',\n          label: 'Alternative source URL'\n        });\n      }\n      if (hasPoster(editor)) {\n        advancedFormItems.push({\n          name: 'poster',\n          type: 'urlinput',\n          filetype: 'image',\n          label: 'Media poster (Image URL)'\n        });\n      }\n      const advancedTab = {\n        title: 'Advanced',\n        name: 'advanced',\n        items: advancedFormItems\n      };\n      const tabs = [generalTab, embedTab];\n      if (advancedFormItems.length > 0) {\n        tabs.push(advancedTab);\n      }\n      const snMediaSettings = getSnMediaSettings(editor);\n      let attachmentsLoaded = null;\n      if (snMediaSettings.showLocalsTab) {\n        attachmentsLoaded = new Promise(resolve => {\n          tabs.push(LocalsTab.makeTab(editor, initialData, snMediaSettings, resolve));\n        });\n      }\n      const body = {\n        type: 'tabpanel',\n        tabs\n      };\n      const config = {\n        title: 'Insert/Edit Media',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onAction: LocalsTab.handleBrowseLibrary(editor, snMediaSettings),\n        onSubmit: api => {\n          const serviceData = unwrap(api.getData());\n          submitForm(currentData.get(), serviceData, editor);\n          api.close();\n        },\n        onChange: (api, detail) => {\n          switch (detail.name) {\n            case 'source':\n              handleSource(currentData.get(), api);\n              break;\n            case 'embed':\n              handleEmbed(api);\n              break;\n            case 'dimensions':\n            case 'altsource':\n            case 'poster':\n              handleUpdate(api, detail.name, currentData.get());\n              break;\n            case 'attachments':\n              const data = global$5.extend({}, unwrap(api.getData()));\n              data.source = data.attachments;\n              api.setData(wrap(data));\n              handleSource(currentData.get(), api);\n              api.showTab('general');\n              break;\n            case 'localsTabSourceType':\n              LocalsTab.handleSourceUpdate(editor, config, snMediaSettings, win);\n              break;\n          }\n          currentData.set(unwrap(api.getData()));\n        },\n        initialData\n      };\n      const win = editor.windowManager.open(config);\n      const firstItem = 'name' in body.tabs[0].items[0] ? body.tabs[0].items[0].name : 'source';\n      if (attachmentsLoaded) {\n        win.block(snMediaSettings.labels.waitOpen);\n        attachmentsLoaded.then(() => win.redial(config)).then(() => win.unblock()).then(() => win.focus(firstItem));\n      } else {\n        win.focus(firstItem);\n      }\n    };\n\n    const get$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      return {\n        showDialog: showDialog$1\n      };\n    };\n\n    const register$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      editor.addCommand('mceMedia', showDialog$1);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const getSrc = el => {\n      var _a;\n      return !el ? '' : el.src || ((_a = el.querySelector('source')) === null || _a === void 0 ? void 0 : _a.src);\n    };\n    const setSrc = (el, src) => {\n      if (el) {\n        const sourceEl = el.querySelector('source') || el;\n        if (sourceEl.src !== src) {\n          sourceEl.src = src;\n        }\n      }\n    };\n\n    const videoToBlobInfo = (blobCache, video) => {\n      const videoSrc = getSrc(video);\n      if (startsWith(videoSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(videoSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        }\n      }\n      return Promise.reject('Unknown media format');\n    };\n    const getAllVideos = elm => {\n      return elm ? from(elm.getElementsByTagName('video')) : [];\n    };\n    const VideoScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const videos = filter(getAllVideos(elm), video => {\n          const src = getSrc(video);\n          if (video.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (video.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === global.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(video);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(video);\n          }\n          return false;\n        });\n        const promises = map(videos, video => {\n          const videoSrc = getSrc(video);\n          if (has(cachedPromises, videoSrc)) {\n            return cachedPromises[getSrc(video)].then(videoInfo => {\n              if (isString(videoInfo)) {\n                return videoInfo;\n              } else {\n                return {\n                  video,\n                  blobInfo: videoInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = videoToBlobInfo(blobCache, video).then(blobInfo => {\n              delete cachedPromises[getSrc(video)];\n              return {\n                video,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[getSrc(video)];\n              return error;\n            });\n            cachedPromises[getSrc(video)] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        global$5.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const uploadBlobs = (blobInfos, openNotification) => {\n        if (isUndefined(settings.handler)) return noUpload();\n        blobInfos = global$5.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(global$5.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, settings.handler, openNotification)));\n      };\n      const upload = uploadBlobs;\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Media uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const displayError = (editor, message) => editor.notificationManager.open({\n      type: 'error',\n      text: editor.translate(message)\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      handler: getSnMediaSettings(editor).mediaUploadHandler\n    });\n\n    const Rtc = {\n      isRtc: editor => has(editor.plugins, 'rtc')\n    };\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      let blobCache, uploader, videoScanner;\n      let uploadStatus;\n      const aliveGuard = (editor, callback) => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceVideoUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === global.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(targetUrl, \"\\\" />\")), \"\\\"\"), \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(replacementUrl, \"\\\" />\")), \"\\\"\"));\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$1(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map(level.fragments, fragment => replaceVideoUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceVideoUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceVideoUriInView = (video, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(getSrc(video), resultUri);\n        setSrc(video, resultUri);\n        parentElement(SugarElement.fromDom(video)).each(parent => set(parent, 'data-mce-html', \"\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")))));\n        video.load();\n      };\n      const uploadVideos = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForVideos().then(aliveGuard(editor, videoInfo => {\n          const blobInfos = map(videoInfo, videoInfo => videoInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(editor, result => {\n            const videosToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                video\n              } = videoInfo[index];\n              let removed = false;\n              if (uploadInfo.status) {\n                if (uploadInfo.url && !contains(getSrc(video), uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(getSrc(video));\n                if (Rtc.isRtc(editor)) ; else {\n                  replaceVideoUriInView(video, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(getSrc(video), global.transparentSrc);\n                  videosToRemove.push(video);\n                  removed = true;\n                }\n                const errorMessage = \"Failed to upload video: \".concat(uploadInfo.error.message);\n                displayError(editor, errorMessage);\n              }\n              return {\n                element: video,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (videosToRemove.length > 0 && !Rtc.isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$1(fromDom(videosToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  const grandParentOpt = parentOpt.bind(parent);\n                  parentOpt.each(remove);\n                  grandParentOpt.each(addPaddingToEmpty(editor));\n                  const src = getSrc(sugarElement.dom);\n                  blobCache.removeByUri(src);\n                  const selectorAttr = get(sugarElement, 'src') ? \"[data-mce-p-src='\".concat(src, \"']\") : \"[data-mce-html='\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")), \"']\");\n                  one(selectorAttr).map(element => editor.dom.getParent(element.dom, '.mce-offscreen-selection')).each(editor.dom.remove);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadVideoAuto = () => {\n        isAutomaticUploadsEnabled() ? uploadVideos() : Promise.resolve([]);\n      };\n      const scanForVideos = () => {\n        return videoScanner.findAll(editor.getBody()).then(aliveGuard(editor, result => {\n          const filteredResult = filter(result, resultItem => {\n            if (isString(resultItem)) {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (Rtc.isRtc(editor)) ; else {\n            each$1(filteredResult, resultItem => {\n              replaceUrlInUndoStack(getSrc(resultItem.video), resultItem.blobInfo.blobUri());\n              setSrc(resultItem.video, resultItem.blobInfo.blobUri());\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        uploadStatus.destroy();\n        videoScanner = uploader = null;\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled()) {\n          uploadVideoAuto();\n        } else {\n          scanForVideos();\n        }\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('video', videos => {\n          each$1(videos, vid => {\n            const src = vid.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              vid.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      editor.on('PreInit', () => {\n        blobCache = editor.editorUpload.blobCache;\n        uploadStatus = editor.editorUpload.uploadStatus;\n        videoScanner = VideoScanner(uploadStatus, blobCache);\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n    };\n    const setup$2 = EditorUpload;\n\n    const isLiveEmbedNode = node => {\n      const name = node.name;\n      return name === 'iframe' || name === 'video' || name === 'audio';\n    };\n    const getDimension = (node, styles, dimension, defaultValue = null) => {\n      const value = node.attr(dimension);\n      if (isNonNullable(value)) {\n        return value;\n      } else if (!has(styles, dimension)) {\n        return defaultValue;\n      } else {\n        return null;\n      }\n    };\n    const setDimensions = (node, previewNode, styles) => {\n      const useDefaults = previewNode.name === 'img' || node.name === 'video';\n      const defaultWidth = useDefaults ? '300' : null;\n      const fallbackHeight = node.name === 'audio' ? '30' : '150';\n      const defaultHeight = useDefaults ? fallbackHeight : null;\n      previewNode.attr({\n        width: getDimension(node, styles, 'width', defaultWidth),\n        height: getDimension(node, styles, 'height', defaultHeight)\n      });\n    };\n    const appendNodeContent = (editor, nodeName, previewNode, html) => {\n      const newNode = Parser(editor.schema).parse(html, {\n        context: nodeName\n      });\n      while (newNode.firstChild) {\n        previewNode.append(newNode.firstChild);\n      }\n    };\n    const createPlaceholderNode = (editor, node) => {\n      const name = node.name;\n      const placeHolder = new global$2('img', 1);\n      retainAttributesAndInnerHtml(editor, node, placeHolder);\n      setDimensions(node, placeHolder, {});\n      placeHolder.attr({\n        'style': node.attr('style'),\n        'src': global.transparentSrc,\n        'data-mce-object': name,\n        'class': 'mce-object mce-object-' + name\n      });\n      return placeHolder;\n    };\n    const createPreviewNode = (editor, node) => {\n      var _a;\n      const name = node.name;\n      const previewWrapper = new global$2('span', 1);\n      previewWrapper.attr({\n        'contentEditable': 'false',\n        'style': node.attr('style'),\n        'data-mce-object': name,\n        'class': 'mce-preview-object mce-object-' + name\n      });\n      retainAttributesAndInnerHtml(editor, node, previewWrapper);\n      const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : '');\n      const previewNode = new global$2(name, 1);\n      setDimensions(node, previewNode, styles);\n      previewNode.attr({\n        src: node.attr('src'),\n        style: node.attr('style'),\n        class: node.attr('class')\n      });\n      if (name === 'iframe') {\n        previewNode.attr({\n          allowfullscreen: node.attr('allowfullscreen'),\n          frameborder: '0',\n          sandbox: node.attr('sandbox')\n        });\n      } else {\n        const attrs = ['controls', 'crossorigin', 'currentTime', 'loop', 'muted', 'poster', 'preload'];\n        each$1(attrs, attrName => {\n          previewNode.attr(attrName, node.attr(attrName));\n        });\n        const sanitizedHtml = previewWrapper.attr('data-mce-html');\n        if (isNonNullable(sanitizedHtml)) {\n          appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml));\n        }\n      }\n      const shimNode = new global$2('span', 1);\n      shimNode.attr('class', 'mce-shim');\n      previewWrapper.append(previewNode);\n      previewWrapper.append(shimNode);\n      return previewWrapper;\n    };\n    const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => {\n      var _a;\n      const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : [];\n      let ai = attribs.length;\n      while (ai--) {\n        const attrName = attribs[ai].name;\n        let attrValue = attribs[ai].value;\n        if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) {\n          if (attrName === 'data' || attrName === 'src') {\n            attrValue = editor.convertURL(attrValue, attrName);\n          }\n          targetNode.attr('data-mce-p-' + attrName, attrValue);\n        }\n      }\n      const serializer = global$1({\n        inner: true\n      }, editor.schema);\n      const tempNode = new global$2('div', 1);\n      each$1(sourceNode.children(), child => tempNode.append(child));\n      const innerHtml = serializer.serialize(tempNode);\n      if (innerHtml) {\n        targetNode.attr('data-mce-html', escape(innerHtml));\n        targetNode.empty();\n      }\n    };\n    const isPageEmbedWrapper = node => {\n      const nodeClass = node.attr('class');\n      return isString(nodeClass) && /\\btiny-pageembed\\b/.test(nodeClass);\n    };\n    const isWithinEmbedWrapper = node => {\n      let tempNode = node;\n      while (tempNode = tempNode.parent) {\n        if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const placeHolderConverter = editor => nodes => {\n      let i = nodes.length;\n      let node;\n      while (i--) {\n        node = nodes[i];\n        if (!node.parent) {\n          continue;\n        }\n        if (node.parent.attr('data-mce-object')) {\n          continue;\n        }\n        if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPreviewNode(editor, node));\n          }\n        } else {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPlaceholderNode(editor, node));\n          }\n        }\n      }\n    };\n\n    const parseAndSanitize = (editor, context, html) => {\n      const getEditorOption = editor.options.get;\n      const sanitize = getEditorOption('xss_sanitization');\n      const validate = shouldFilterHtml(editor);\n      return Parser(editor.schema, {\n        sanitize,\n        validate\n      }).parse(html, {\n        context\n      });\n    };\n\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          schema,\n          serializer,\n          parser\n        } = editor;\n        const boolAttrs = schema.getBoolAttrs();\n        each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => {\n          boolAttrs[name] = {};\n        });\n        each({\n          embed: ['wmode']\n        }, (attrs, name) => {\n          const rule = schema.getElementRule(name);\n          if (rule) {\n            each$1(attrs, attr => {\n              rule.attributes[attr] = {};\n              rule.attributesOrder.push(attr);\n            });\n          }\n        });\n        parser.addNodeFilter('iframe,video,audio,object,embed', placeHolderConverter(editor));\n        serializer.addAttributeFilter('data-mce-object', (nodes, name) => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            if (!node.parent) {\n              continue;\n            }\n            const realElmName = node.attr(name);\n            const realElm = new global$2(realElmName, 1);\n            if (realElmName !== 'audio') {\n              const className = node.attr('class');\n              if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) {\n                realElm.attr({\n                  width: node.firstChild.attr('width'),\n                  height: node.firstChild.attr('height')\n                });\n              } else {\n                realElm.attr({\n                  width: node.attr('width'),\n                  height: node.attr('height')\n                });\n              }\n            }\n            realElm.attr({\n              style: node.attr('style')\n            });\n            const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : [];\n            let ai = attribs.length;\n            while (ai--) {\n              const attrName = attribs[ai].name;\n              if (attrName.indexOf('data-mce-p-') === 0) {\n                realElm.attr(attrName.substr(11), attribs[ai].value);\n              }\n            }\n            const innerHtml = node.attr('data-mce-html');\n            if (innerHtml) {\n              const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml));\n              each$1(fragment.children(), child => realElm.append(child));\n            }\n            node.replace(realElm);\n          }\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        each$1(dom.select('span.mce-preview-object'), elm => {\n          if (dom.select('span.mce-shim', elm).length === 0) {\n            dom.add(elm, 'span', {\n              class: 'mce-shim'\n            });\n          }\n        });\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        let name;\n        if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {\n          e.name = name;\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceMedia');\n      editor.ui.registry.addToggleButton('media', {\n        tooltip: 'Insert/edit media',\n        icon: 'embed',\n        onAction,\n        onSetup: buttonApi => {\n          const selection = editor.selection;\n          buttonApi.setActive(isMediaElement(selection.getNode()));\n          const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('media', {\n        icon: 'embed',\n        text: 'Media...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$6.add('media', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n        setup$1(editor);\n        setup$3(editor);\n        setup$2(editor);\n        return get$1(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isBoolean = isSimpleType('boolean');\n    const isNumber = isSimpleType('number');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('nonbreaking_force_tab', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              value: value ? 3 : 0,\n              valid: true\n            };\n          } else if (isNumber(value)) {\n            return {\n              value,\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a boolean or number.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('nonbreaking_wrap', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getKeyboardSpaces = option('nonbreaking_force_tab');\n    const wrapNbsps = option('nonbreaking_wrap');\n\n    const stringRepeat = (string, repeats) => {\n      let str = '';\n      for (let index = 0; index < repeats; index++) {\n        str += string;\n      }\n      return str;\n    };\n    const isVisualCharsEnabled = editor => editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;\n    const insertNbsp = (editor, times) => {\n      const classes = () => isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap';\n      const nbspSpan = () => \"<span class=\\\"\".concat(classes(), \"\\\" contenteditable=\\\"false\\\">\").concat(stringRepeat('&nbsp;', times), \"<\/span>\");\n      const shouldWrap = wrapNbsps(editor);\n      const html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat('&nbsp;', times);\n      editor.undoManager.transact(() => editor.insertContent(html));\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceNonBreaking', () => {\n        insertNbsp(editor, 1);\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setup = editor => {\n      const spaces = getKeyboardSpaces(editor);\n      if (spaces > 0) {\n        editor.on('keydown', e => {\n          if (e.keyCode === global.TAB && !e.isDefaultPrevented()) {\n            if (e.shiftKey) {\n              return;\n            }\n            e.preventDefault();\n            e.stopImmediatePropagation();\n            insertNbsp(editor, spaces);\n          }\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceNonBreaking');\n      editor.ui.registry.addButton('nonbreaking', {\n        icon: 'non-breaking',\n        tooltip: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('nonbreaking', {\n        icon: 'non-breaking',\n        text: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('nonbreaking', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('pagebreak_separator', {\n        processor: 'string',\n        default: '<!-- pagebreak -->'\n      });\n      registerOption('pagebreak_split_block', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getSeparatorHtml = option('pagebreak_separator');\n    const shouldSplitBlock = option('pagebreak_split_block');\n\n    const pageBreakClass = 'mce-pagebreak';\n    const getPlaceholderHtml = shouldSplitBlock => {\n      const html = \"<img src=\\\"\".concat(global.transparentSrc, \"\\\" class=\\\"\").concat(pageBreakClass, \"\\\" data-mce-resize=\\\"false\\\" data-mce-placeholder />\");\n      return shouldSplitBlock ? \"<p>\".concat(html, \"<\/p>\") : html;\n    };\n    const setup$1 = editor => {\n      const separatorHtml = getSeparatorHtml(editor);\n      const shouldSplitBlock$1 = () => shouldSplitBlock(editor);\n      const pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\\?\\.\\*\\[\\]\\(\\)\\{\\}\\+\\^\\$\\:]/g, a => {\n        return '\\\\' + a;\n      }), 'gi');\n      editor.on('BeforeSetContent', e => {\n        e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1()));\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addNodeFilter('img', nodes => {\n          let i = nodes.length,\n            node,\n            className;\n          while (i--) {\n            node = nodes[i];\n            className = node.attr('class');\n            if (className && className.indexOf(pageBreakClass) !== -1) {\n              const parentNode = node.parent;\n              if (parentNode && editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) {\n                parentNode.type = 3;\n                parentNode.value = separatorHtml;\n                parentNode.raw = true;\n                node.remove();\n                continue;\n              }\n              node.type = 3;\n              node.value = separatorHtml;\n              node.raw = true;\n            }\n          }\n        });\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePageBreak', () => {\n        editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor)));\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) {\n          e.name = 'pagebreak';\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePageBreak');\n      editor.ui.registry.addButton('pagebreak', {\n        icon: 'page-break',\n        tooltip: 'Page break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('pagebreak', {\n        text: 'Page break',\n        icon: 'page-break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('pagebreak', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup$1(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const getContentStyle = option('content_style');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getBodyClass = option('body_class');\n    const getBodyId = option('body_id');\n\n    const getPreviewHtml = editor => {\n      var _a;\n      let headHtml = '';\n      const encode = editor.dom.encode;\n      const contentStyle = (_a = getContentStyle(editor)) !== null && _a !== void 0 ? _a : '';\n      headHtml += '<base href=\"' + encode(editor.documentBaseURI.getURI()) + '\">';\n      const cors = shouldUseContentCssCors(editor) ? ' crossorigin=\"anonymous\"' : '';\n      global.each(editor.contentCSS, url => {\n        headHtml += '<link type=\"text/css\" rel=\"stylesheet\" href=\"' + encode(editor.documentBaseURI.toAbsolute(url)) + '\"' + cors + '>';\n      });\n      if (contentStyle) {\n        headHtml += '<style type=\"text/css\">' + contentStyle + '<\/style>';\n      }\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const isMetaKeyPressed = global$1.os.isMacOS() || global$1.os.isiOS() ? 'e.metaKey' : 'e.ctrlKey && !e.altKey';\n      const preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener(\"click\", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === \"A\" && !(' + isMetaKeyPressed + ')) {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '<\/script> ';\n      const directionality = editor.getBody().dir;\n      const dirAttr = directionality ? ' dir=\"' + encode(directionality) + '\"' : '';\n      const previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '<\/head>' + '<body id=\"' + encode(bodyId) + '\" class=\"mce-content-body ' + encode(bodyClass) + '\"' + dirAttr + '>' + editor.getContent() + preventClicksOnLinksScript + '<\/body>' + '<\/html>';\n      return previewHtml;\n    };\n\n    const open = editor => {\n      const content = getPreviewHtml(editor);\n      const dataApi = editor.windowManager.open({\n        title: 'Preview',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'preview',\n            type: 'iframe',\n            sandboxed: true,\n            transparent: false\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData: {\n          preview: content\n        }\n      });\n      dataApi.focus('close');\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePreview', () => {\n        open(editor);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePreview');\n      editor.ui.registry.addButton('preview', {\n        icon: 'preview',\n        tooltip: 'Preview',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('preview', {\n        icon: 'preview',\n        text: 'Preview',\n        onAction\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('preview', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const get$1 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const showBottomBorder = editor => {\n      const snSettings = option('sn_settings')(editor);\n      return get$1(snSettings, 'readonlyBottomBorder').getOr(false);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ELEMENT = 1;\n\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get(element, key));\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n    const closest = (scope, selector, isRoot) => {\n      const is$1 = (element, selector) => is(element, selector);\n      return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const getHeight = editor => editor.dom.getStyle(editor.getContainer(), 'height');\n    const setHeight = (editor, height) => editor.dom.setStyle(editor.getContainer(), 'height', height);\n    const getDimensions = editor => ({\n      min_height: editor.options.get('min_height'),\n      height: editor.options.get('height'),\n      max_height: editor.options.get('max_height'),\n      current: getHeight(editor)\n    });\n    const setDimmensions = (editor, dimensions) => {\n      const {\n        min_height,\n        height,\n        max_height,\n        current\n      } = dimensions;\n      editor.options.set('min_height', min_height);\n      editor.options.set('height', height);\n      editor.options.set('max_height', max_height);\n      setHeight(editor, current);\n    };\n    const toggleClasses = editor => {\n      const container = editor.getContainer();\n      const {\n        toggleClass\n      } = editor.dom;\n      toggleClass(container, 'sn-mce-readonly');\n      if (showBottomBorder(editor)) {\n        toggleClass(container, 'sn-mce-readonly-border-bottom');\n      }\n    };\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const handleOnClick = editor => event => {\n      const target = event.target;\n      const elm = SugarElement.fromDom(target);\n      getAnchorHrefOpt(editor, elm).each(href => {\n        if (!global.metaKeyPressed(event) && !/^#/.test(href)) {\n          event.stopImmediatePropagation();\n        }\n      });\n    };\n    const addClickEventListener = editor => {\n      editor.getWin().addEventListener('click', handleOnClick(editor), true);\n    };\n    const removeClickEventListener = editor => {\n      editor.getWin().removeEventListener('click', handleOnClick(editor), true);\n    };\n    const register = editor => {\n      let dimensions;\n      editor.mode.register('readonlynoborder', {\n        activate: () => {\n          dimensions = getDimensions(editor);\n          toggleClasses(editor);\n          setHeight(editor, editor.getDoc().documentElement.scrollHeight);\n          addClickEventListener(editor);\n        },\n        deactivate: () => {\n          toggleClasses(editor);\n          setDimmensions(editor, dimensions);\n          removeClickEventListener(editor);\n        },\n        editorReadOnly: true\n      });\n      editor.on('SwitchMode', ({\n        mode\n      }) => {\n        if (mode === 'readonly') {\n          editor.mode.set('readonlynoborder');\n        }\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('readonlynoborder', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const always = constant(true);\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n\n    const punctuation$1 = constant(punctuationStr);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const punctuation = punctuation$1;\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isText$1 = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const spot = (element, offset) => ({\n      element,\n      offset\n    });\n    const leaf = (element, offset) => {\n      const cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText$1, 'text');\n    const get$1 = element => api.get(element);\n\n    const compareDocumentPosition = (a, b, match) => {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    const documentPositionPreceding = (a, b) => {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const isSimpleBoundary = (dom, node) => dom.isBlock(node) || has(dom.schema.getVoidElements(), node.nodeName);\n    const isContentEditableFalse = (dom, node) => !dom.isEditable(node);\n    const isContentEditableTrueInCef = (dom, node) => dom.getContentEditable(node) === 'true' && node.parentNode && !dom.isEditable(node.parentNode);\n    const isHidden = (dom, node) => !dom.isBlock(node) && has(dom.schema.getWhitespaceElements(), node.nodeName);\n    const isBoundary = (dom, node) => isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node);\n    const isText = node => node.nodeType === 3;\n    const nuSection = () => ({\n      sOffset: 0,\n      fOffset: 0,\n      elements: []\n    });\n    const toLeaf = (node, offset) => leaf(SugarElement.fromDom(node), offset);\n    const walk = (dom, walkerFn, startNode, callbacks, endNode, skipStart = true) => {\n      let next = skipStart ? walkerFn(false) : startNode;\n      while (next) {\n        const isCefNode = isContentEditableFalse(dom, next);\n        if (isCefNode || isHidden(dom, next)) {\n          const stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next);\n          if (stopWalking) {\n            break;\n          } else {\n            next = walkerFn(true);\n            continue;\n          }\n        } else if (isSimpleBoundary(dom, next)) {\n          if (callbacks.boundary(next)) {\n            break;\n          }\n        } else if (isText(next)) {\n          callbacks.text(next);\n        }\n        if (next === endNode) {\n          break;\n        } else {\n          next = walkerFn(false);\n        }\n      }\n    };\n    const collectTextToBoundary = (dom, section, node, rootNode, forwards) => {\n      var _a;\n      if (isBoundary(dom, node)) {\n        return;\n      }\n      const rootBlock = (_a = dom.getParent(rootNode, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      const walker = new global(node, rootBlock);\n      const walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker);\n      walk(dom, walkerFn, node, {\n        boundary: always,\n        cef: always,\n        text: next => {\n          if (forwards) {\n            section.fOffset += next.length;\n          } else {\n            section.sOffset += next.length;\n          }\n          section.elements.push(SugarElement.fromDom(next));\n        }\n      });\n    };\n    const collect = (dom, rootNode, startNode, endNode, callbacks, skipStart = true) => {\n      const walker = new global(startNode, rootNode);\n      const sections = [];\n      let current = nuSection();\n      collectTextToBoundary(dom, current, startNode, rootNode, false);\n      const finishSection = () => {\n        if (current.elements.length > 0) {\n          sections.push(current);\n          current = nuSection();\n        }\n        return false;\n      };\n      walk(dom, walker.next.bind(walker), startNode, {\n        boundary: finishSection,\n        cef: node => {\n          finishSection();\n          if (callbacks) {\n            sections.push(...callbacks.cef(node));\n          }\n          return false;\n        },\n        text: next => {\n          current.elements.push(SugarElement.fromDom(next));\n          if (callbacks) {\n            callbacks.text(next, current);\n          }\n        }\n      }, endNode, skipStart);\n      if (endNode) {\n        collectTextToBoundary(dom, current, endNode, rootNode, true);\n      }\n      finishSection();\n      return sections;\n    };\n    const collectRangeSections = (dom, rng) => {\n      const start = toLeaf(rng.startContainer, rng.startOffset);\n      const startNode = start.element.dom;\n      const end = toLeaf(rng.endContainer, rng.endOffset);\n      const endNode = end.element.dom;\n      return collect(dom, rng.commonAncestorContainer, startNode, endNode, {\n        text: (node, section) => {\n          if (node === endNode) {\n            section.fOffset += node.length - end.offset;\n          } else if (node === startNode) {\n            section.sOffset += start.offset;\n          }\n        },\n        cef: node => {\n          const sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), e => {\n            const ceTrueNode = e.dom;\n            return collect(dom, ceTrueNode, ceTrueNode);\n          });\n          return sort(sections, (a, b) => documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1);\n        }\n      }, false);\n    };\n    const fromRng = (dom, rng) => rng.collapsed ? [] : collectRangeSections(dom, rng);\n    const fromNode = (dom, node) => {\n      const rng = dom.createRng();\n      rng.selectNode(node);\n      return fromRng(dom, rng);\n    };\n    const fromNodes = (dom, nodes) => bind(nodes, node => fromNode(dom, node));\n\n    const find$2 = (text, pattern, start = 0, finish = text.length) => {\n      const regex = pattern.regex;\n      regex.lastIndex = start;\n      const results = [];\n      let match;\n      while (match = regex.exec(text)) {\n        const matchedText = match[pattern.matchIndex];\n        const matchStart = match.index + match[0].indexOf(matchedText);\n        const matchFinish = matchStart + matchedText.length;\n        if (matchFinish > finish) {\n          break;\n        }\n        results.push({\n          start: matchStart,\n          finish: matchFinish\n        });\n        regex.lastIndex = matchFinish;\n      }\n      return results;\n    };\n    const extract = (elements, matches) => {\n      const nodePositions = foldl(elements, (acc, element) => {\n        const content = get$1(element);\n        const start = acc.last;\n        const finish = start + content.length;\n        const positions = bind(matches, (match, matchIdx) => {\n          if (match.start < finish && match.finish > start) {\n            return [{\n              element,\n              start: Math.max(start, match.start) - start,\n              finish: Math.min(finish, match.finish) - start,\n              matchId: matchIdx\n            }];\n          } else {\n            return [];\n          }\n        });\n        return {\n          results: acc.results.concat(positions),\n          last: finish\n        };\n      }, {\n        results: [],\n        last: 0\n      }).results;\n      return groupBy(nodePositions, position => position.matchId);\n    };\n\n    const find$1 = (pattern, sections) => bind(sections, section => {\n      const elements = section.elements;\n      const content = map(elements, get$1).join('');\n      const positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset);\n      return extract(elements, positions);\n    });\n    const mark = (matches, replacementNode) => {\n      eachr(matches, (match, idx) => {\n        eachr(match, pos => {\n          const wrapper = SugarElement.fromDom(replacementNode.cloneNode(false));\n          set(wrapper, 'data-mce-index', idx);\n          const textNode = pos.element.dom;\n          if (textNode.length === pos.finish && pos.start === 0) {\n            wrap(pos.element, wrapper);\n          } else {\n            if (textNode.length !== pos.finish) {\n              textNode.splitText(pos.finish);\n            }\n            const matchNode = textNode.splitText(pos.start);\n            wrap(SugarElement.fromDom(matchNode), wrapper);\n          }\n        });\n      });\n    };\n    const findAndMark = (dom, pattern, node, replacementNode) => {\n      const textSections = fromNode(dom, node);\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      return matches.length;\n    };\n    const findAndMarkInSelection = (dom, pattern, selection, replacementNode) => {\n      const bookmark = selection.getBookmark();\n      const nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');\n      const textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng());\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      selection.moveToBookmark(bookmark);\n      return matches.length;\n    };\n\n    const getElmIndex = elm => {\n      return elm.getAttribute('data-mce-index');\n    };\n    const markAllMatches = (editor, currentSearchState, pattern, inSelection) => {\n      const marker = editor.dom.create('span', {\n        'data-mce-bogus': 1\n      });\n      marker.className = 'mce-match-marker';\n      const node = editor.getBody();\n      done(editor, currentSearchState, false);\n      if (inSelection) {\n        return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker);\n      } else {\n        return findAndMark(editor.dom, pattern, node, marker);\n      }\n    };\n    const unwrap = node => {\n      var _a;\n      const parentNode = node.parentNode;\n      if (node.firstChild) {\n        parentNode.insertBefore(node.firstChild, node);\n      }\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(node);\n    };\n    const findSpansByIndex = (editor, index) => {\n      const spans = [];\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      if (nodes.length) {\n        for (let i = 0; i < nodes.length; i++) {\n          const nodeIndex = getElmIndex(nodes[i]);\n          if (nodeIndex === null || !nodeIndex.length) {\n            continue;\n          }\n          if (nodeIndex === index.toString()) {\n            spans.push(nodes[i]);\n          }\n        }\n      }\n      return spans;\n    };\n    const moveSelection = (editor, currentSearchState, forward) => {\n      const searchState = currentSearchState.get();\n      let testIndex = searchState.index;\n      const dom = editor.dom;\n      if (forward) {\n        if (testIndex + 1 === searchState.count) {\n          testIndex = 0;\n        } else {\n          testIndex++;\n        }\n      } else {\n        if (testIndex - 1 === -1) {\n          testIndex = searchState.count - 1;\n        } else {\n          testIndex--;\n        }\n      }\n      dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected');\n      const spans = findSpansByIndex(editor, testIndex);\n      if (spans.length) {\n        dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected');\n        editor.selection.scrollIntoView(spans[0]);\n        return testIndex;\n      }\n      return -1;\n    };\n    const removeNode = (dom, node) => {\n      const parent = node.parentNode;\n      dom.remove(node);\n      if (parent && dom.isEmpty(parent)) {\n        dom.remove(parent);\n      }\n    };\n    const escapeSearchText = (text, wholeWord) => {\n      const escapedText = text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&').replace(/\\s/g, '[^\\\\S\\\\r\\\\n\\\\uFEFF]');\n      const wordRegex = '(' + escapedText + ')';\n      return wholeWord ? \"(?:^|\\\\s|\".concat(punctuation(), \")\") + wordRegex + \"(?=$|\\\\s|\".concat(punctuation(), \")\") : wordRegex;\n    };\n    const find = (editor, currentSearchState, text, matchCase, wholeWord, inSelection) => {\n      const selection = editor.selection;\n      const escapedText = escapeSearchText(text, wholeWord);\n      const isForwardSelection = selection.isForward();\n      const pattern = {\n        regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'),\n        matchIndex: 1\n      };\n      const count = markAllMatches(editor, currentSearchState, pattern, inSelection);\n      if (global$2.browser.isSafari()) {\n        selection.setRng(selection.getRng(), isForwardSelection);\n      }\n      if (count) {\n        const newIndex = moveSelection(editor, currentSearchState, true);\n        currentSearchState.set({\n          index: newIndex,\n          count,\n          text,\n          matchCase,\n          wholeWord,\n          inSelection\n        });\n      }\n      return count;\n    };\n    const next = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, true);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const prev = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, false);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const isMatchSpan = node => {\n      const matchIndex = getElmIndex(node);\n      return matchIndex !== null && matchIndex.length > 0;\n    };\n    const replace = (editor, currentSearchState, text, forward, all) => {\n      const searchState = currentSearchState.get();\n      const currentIndex = searchState.index;\n      let currentMatchIndex,\n        nextIndex = currentIndex;\n      forward = forward !== false;\n      const node = editor.getBody();\n      const nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan);\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        let matchIndex = currentMatchIndex = parseInt(nodeIndex, 10);\n        if (all || matchIndex === searchState.index) {\n          if (text.length) {\n            nodes[i].innerText = text;\n            unwrap(nodes[i]);\n          } else {\n            removeNode(editor.dom, nodes[i]);\n          }\n          while (nodes[++i]) {\n            matchIndex = parseInt(getElmIndex(nodes[i]), 10);\n            if (matchIndex === currentMatchIndex) {\n              removeNode(editor.dom, nodes[i]);\n            } else {\n              i--;\n              break;\n            }\n          }\n          if (forward) {\n            nextIndex--;\n          }\n        } else if (currentMatchIndex > currentIndex) {\n          nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1));\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        count: all ? 0 : searchState.count - 1,\n        index: nextIndex\n      });\n      if (forward) {\n        next(editor, currentSearchState);\n      } else {\n        prev(editor, currentSearchState);\n      }\n      return !all && currentSearchState.get().count > 0;\n    };\n    const done = (editor, currentSearchState, keepEditorSelection) => {\n      let startContainer;\n      let endContainer;\n      const searchState = currentSearchState.get();\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        if (nodeIndex !== null && nodeIndex.length) {\n          if (nodeIndex === searchState.index.toString()) {\n            if (!startContainer) {\n              startContainer = nodes[i].firstChild;\n            }\n            endContainer = nodes[i].firstChild;\n          }\n          unwrap(nodes[i]);\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        index: -1,\n        count: 0,\n        text: ''\n      });\n      if (startContainer && endContainer) {\n        const rng = editor.dom.createRng();\n        rng.setStart(startContainer, 0);\n        rng.setEnd(endContainer, endContainer.data.length);\n        if (keepEditorSelection !== false) {\n          editor.selection.setRng(rng);\n        }\n        return rng;\n      } else {\n        return undefined;\n      }\n    };\n    const hasNext = (editor, currentSearchState) => currentSearchState.get().count > 1;\n    const hasPrev = (editor, currentSearchState) => currentSearchState.get().count > 1;\n\n    const get = (editor, currentState) => {\n      const done$1 = keepEditorSelection => {\n        return done(editor, currentState, keepEditorSelection);\n      };\n      const find$1 = (text, matchCase, wholeWord, inSelection = false) => {\n        return find(editor, currentState, text, matchCase, wholeWord, inSelection);\n      };\n      const next$1 = () => {\n        return next(editor, currentState);\n      };\n      const prev$1 = () => {\n        return prev(editor, currentState);\n      };\n      const replace$1 = (text, forward, all) => {\n        return replace(editor, currentState, text, forward, all);\n      };\n      return {\n        done: done$1,\n        find: find$1,\n        next: next$1,\n        prev: prev$1,\n        replace: replace$1\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const open = (editor, currentSearchState) => {\n      const dialogApi = value();\n      editor.undoManager.add();\n      const selectedText = global$1.trim(editor.selection.getContent({\n        format: 'text'\n      }));\n      const updateButtonStates = api => {\n        api.setEnabled('next', hasNext(editor, currentSearchState));\n        api.setEnabled('prev', hasPrev(editor, currentSearchState));\n      };\n      const updateSearchState = api => {\n        const data = api.getData();\n        const current = currentSearchState.get();\n        currentSearchState.set({\n          ...current,\n          matchCase: data.matchcase,\n          wholeWord: data.wholewords,\n          inSelection: data.inselection\n        });\n      };\n      const disableAll = (api, disable) => {\n        const buttons = ['replace', 'replaceall', 'prev', 'next'];\n        const toggle = name => api.setEnabled(name, !disable);\n        each(buttons, toggle);\n      };\n      const toggleNotFoundAlert = (isVisible, api) => {\n        api.redial(getDialogSpec(isVisible, api.getData()));\n      };\n      const focusButtonIfRequired = (api, name) => {\n        if (global$2.browser.isSafari() && global$2.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) {\n          api.focus(name);\n        }\n      };\n      const reset = api => {\n        done(editor, currentSearchState, false);\n        disableAll(api, true);\n        updateButtonStates(api);\n      };\n      const doFind = api => {\n        const data = api.getData();\n        const last = currentSearchState.get();\n        if (!data.findtext.length) {\n          reset(api);\n          return;\n        }\n        if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) {\n          next(editor, currentSearchState);\n        } else {\n          const count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection);\n          if (count <= 0) {\n            toggleNotFoundAlert(true, api);\n          }\n          disableAll(api, count === 0);\n        }\n        updateButtonStates(api);\n      };\n      const initialState = currentSearchState.get();\n      const initialData = {\n        findtext: selectedText,\n        replacetext: '',\n        wholewords: initialState.wholeWord,\n        matchcase: initialState.matchCase,\n        inselection: initialState.inSelection\n      };\n      const getPanelItems = error => {\n        const items = [{\n          type: 'bar',\n          items: [{\n            type: 'input',\n            name: 'findtext',\n            placeholder: 'Find',\n            maximized: true,\n            inputMode: 'search'\n          }, {\n            type: 'button',\n            name: 'prev',\n            text: 'Previous',\n            icon: 'action-prev',\n            enabled: false,\n            borderless: true\n          }, {\n            type: 'button',\n            name: 'next',\n            text: 'Next',\n            icon: 'action-next',\n            enabled: false,\n            borderless: true\n          }]\n        }, {\n          type: 'input',\n          name: 'replacetext',\n          placeholder: 'Replace with',\n          inputMode: 'search'\n        }];\n        if (error) {\n          items.push({\n            type: 'alertbanner',\n            level: 'error',\n            text: 'Could not find the specified string.',\n            icon: 'warning'\n          });\n        }\n        return items;\n      };\n      const getDialogSpec = (showNoMatchesAlertBanner, initialData) => ({\n        title: 'Find and Replace',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: getPanelItems(showNoMatchesAlertBanner)\n        },\n        buttons: [{\n          type: 'menu',\n          name: 'options',\n          icon: 'preferences',\n          tooltip: 'Preferences',\n          align: 'start',\n          items: [{\n            type: 'togglemenuitem',\n            name: 'matchcase',\n            text: 'Match case'\n          }, {\n            type: 'togglemenuitem',\n            name: 'wholewords',\n            text: 'Find whole words only'\n          }, {\n            type: 'togglemenuitem',\n            name: 'inselection',\n            text: 'Find in selection'\n          }]\n        }, {\n          type: 'custom',\n          name: 'find',\n          text: 'Find',\n          primary: true\n        }, {\n          type: 'custom',\n          name: 'replace',\n          text: 'Replace',\n          enabled: false\n        }, {\n          type: 'custom',\n          name: 'replaceall',\n          text: 'Replace all',\n          enabled: false\n        }],\n        initialData,\n        onChange: (api, details) => {\n          if (showNoMatchesAlertBanner) {\n            toggleNotFoundAlert(false, api);\n          }\n          if (details.name === 'findtext' && currentSearchState.get().count > 0) {\n            reset(api);\n          }\n        },\n        onAction: (api, details) => {\n          const data = api.getData();\n          switch (details.name) {\n            case 'find':\n              doFind(api);\n              break;\n            case 'replace':\n              if (!replace(editor, currentSearchState, data.replacetext)) {\n                reset(api);\n              } else {\n                updateButtonStates(api);\n              }\n              break;\n            case 'replaceall':\n              replace(editor, currentSearchState, data.replacetext, true, true);\n              reset(api);\n              break;\n            case 'prev':\n              prev(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'next':\n              next(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'matchcase':\n            case 'wholewords':\n            case 'inselection':\n              toggleNotFoundAlert(false, api);\n              updateSearchState(api);\n              reset(api);\n              break;\n          }\n          focusButtonIfRequired(api, details.name);\n        },\n        onSubmit: api => {\n          doFind(api);\n          focusButtonIfRequired(api, 'find');\n        },\n        onClose: () => {\n          editor.focus();\n          done(editor, currentSearchState);\n          editor.undoManager.add();\n        }\n      });\n      dialogApi.set(editor.windowManager.open(getDialogSpec(false, initialData), {\n        inline: 'toolbar'\n      }));\n    };\n\n    const register$1 = (editor, currentSearchState) => {\n      editor.addCommand('SearchReplace', () => {\n        open(editor, currentSearchState);\n      });\n    };\n\n    const showDialog = (editor, currentSearchState) => () => {\n      open(editor, currentSearchState);\n    };\n    const register = (editor, currentSearchState) => {\n      editor.ui.registry.addMenuItem('searchreplace', {\n        text: 'Find and replace...',\n        shortcut: 'Meta+F',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.ui.registry.addButton('searchreplace', {\n        tooltip: 'Find and replace',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState));\n    };\n\n    var Plugin = () => {\n      global$3.add('searchreplace', editor => {\n        const currentSearchState = Cell({\n          index: -1,\n          count: 0,\n          text: '',\n          matchCase: false,\n          wholeWord: false,\n          inSelection: false\n        });\n        register$1(editor, currentSearchState);\n        register(editor, currentSearchState);\n        return get(editor, currentSearchState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isArray = isType$1('array');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const body = () => getBody(SugarElement.fromDom(document));\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const prefixName = name => constant('alloy.' + name);\n    const attachedToDom = prefixName('system.attached');\n\n    const emit = (component, event) => {\n      dispatchWith(component, component.element, event, {});\n    };\n    const dispatchWith = (component, target, event, properties) => {\n      const data = {\n        target,\n        ...properties\n      };\n      component.getSystem().triggerEvent(event, target, data);\n    };\n\n    const keys = Object.keys;\n\n    const generate$1 = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate: generate$1\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    generate('alloy-premade');\n\n    const fireAttaching = component => {\n      const children = component.components();\n      each(children, fireAttaching);\n      emit(component, attachedToDom());\n    };\n\n    const attachSystem = (element, guiSystem) => {\n      attachSystemWith(element, guiSystem, append);\n    };\n    const attachSystemWith = (element, guiSystem, inserter) => {\n      inserter(element, guiSystem.element);\n      const children$1 = children(guiSystem.element);\n      each(children$1, child => {\n        guiSystem.getByDom(child).each(fireAttaching);\n      });\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.StyleSheetLoader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    const getSkinUrl = editor => {\n      const skin = editor.options.get('skin');\n      let skinUrl = editor.options.get('skin_url');\n      if (skin !== false) {\n        const skinName = skin ? skin : 'oxide';\n        if (skinUrl) {\n          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          skinUrl = global.baseURL + '/skins/ui/' + skinName;\n        }\n      }\n      return skinUrl;\n    };\n    const isSkinDisabled = editor => editor.options.get('skin') === false;\n\n    const SN_TINYMCE_HOIST_TAG = 'sn-tinymce-hoist';\n    let skinLoaded = false;\n    let hoistEl;\n    const createHoistElement = () => {\n      if (!hoistEl) {\n        hoistEl = getDocument().dom.createElement(SN_TINYMCE_HOIST_TAG);\n        hoistEl.attachShadow({\n          mode: 'open'\n        });\n        append(body(), SugarElement.fromDom(hoistEl));\n      }\n    };\n    const loadSkin = editor => {\n      if (!skinLoaded && hoistEl) {\n        const {\n          shadowRoot\n        } = hoistEl;\n        if (!shadowRoot) return;\n        const styleSheetLoader = global$1(shadowRoot, {\n          contentCssCors: editor.getParam('content_css_cors'),\n          referrerPolicy: editor.getParam('referrer_policy', '', 'string')\n        });\n        const stylesheetUrl = \"\".concat(getSkinUrl(editor), \"/skin.min.css\");\n        if (isSkinDisabled(editor) === false) {\n          styleSheetLoader.load(stylesheetUrl);\n        }\n        skinLoaded = true;\n      }\n    };\n    const moveSink = (editor, parent) => {\n      if (!parent) return;\n      const root = SugarElement.fromDom(parent);\n      const uiRoot = getContentContainer(getRootNode(root));\n      const uiMothership = editor.theme.ui.getRootComponent();\n      if (!uiRoot.dom.contains(uiMothership.element.dom)) {\n        attachSystem(uiRoot, uiMothership);\n      }\n      const style = uiMothership.element.dom.style;\n      style.zIndex = '65536';\n      style.position = 'absolute';\n      style.width = '100%';\n    };\n    const hoistSink = editor => {\n      if (hoistEl) moveSink(editor, hoistEl.shadowRoot);\n    };\n    const restoreSink = editor => {\n      moveSink(editor, editor.getElement());\n    };\n    const setupHoist = editor => {\n      createHoistElement();\n      loadSkin(editor);\n    };\n    const removeHoist = editor => {\n      if (!hoistEl) return;\n      editor.theme.ui.getRootComponent().destroy();\n      const editors = global.get();\n      if (editors.length === 0 || editors.length === 1 && editors[0] === editor) {\n        hoistEl.remove();\n        hoistEl = null;\n        skinLoaded = false;\n      }\n    };\n\n    const isFullScreen = editor => {\n      return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();\n    };\n    const areNotificationsOpen = editor => {\n      const notifications = editor.notificationManager.getNotifications();\n      return notifications === null || notifications === void 0 ? void 0 : notifications.length;\n    };\n    const hoistNotificationsOnFullScreen = editor => {\n      editor.on('FullscreenStateChanged', ({\n        state\n      }) => {\n        if (state && areNotificationsOpen(editor)) {\n          hoistSink(editor);\n        } else {\n          restoreSink(editor);\n        }\n      });\n      editor.on('BeforeOpenNotification', () => {\n        if (isFullScreen(editor)) {\n          hoistSink(editor);\n        }\n      });\n    };\n\n    const dismissPopups$1 = constant('dismiss.popups');\n\n    const debounce = (callback, time) => {\n      let timeout = null;\n      let debounced = false;\n      let stopped = false;\n      const func = function (...args) {\n        const context = this;\n        debounced = !!timeout;\n        return new Promise(resolve => {\n          const later = () => {\n            timeout = null;\n            if (debounced) {\n              callback.apply(context, args).then(data => !stopped && resolve(data));\n            }\n          };\n          stopped = false;\n          clearTimeout(timeout);\n          timeout = setTimeout(later, time);\n          if (!debounced) {\n            callback.apply(context, args).then(data => !stopped && resolve(data));\n          }\n        });\n      };\n      func.stop = () => {\n        stopped = true;\n        clearTimeout(timeout);\n      };\n      return func;\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const EVENT_PREFIX = 'sn-tinymce-findAncestors';\n    const hostMap = new WeakMap();\n    const editorMap = new Map();\n    const findAncestors = element => new Promise(resolve => {\n      const eventName = uuid(EVENT_PREFIX);\n      const findListener = e => {\n        window.removeEventListener(eventName, findListener);\n        const path = e.composedPath();\n        resolve([...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE), document, window]);\n      };\n      window.addEventListener(eventName, findListener);\n      const event = new window.CustomEvent(eventName, {\n        bubbles: true,\n        composed: true,\n        cancelable: false\n      });\n      element.dispatchEvent(event);\n    });\n    const dismissPopups = editor => {\n      const channel = dismissPopups$1();\n      editor.theme.ui.getRootComponent().broadcastOn([channel], {\n        target: editor.theme.ui.getRootComponent().element\n      });\n      editor.dispatch('sn_popups_fix.dismiss_popups');\n    };\n    const scrollHandler = debounce(source => new Promise(() => {\n      for (const [editor, ancestors] of Array.from(editorMap.entries())) {\n        if (ancestors.indexOf(source) >= 0) {\n          dismissPopups(editor);\n          restoreSink(editor);\n          editor.nodeChanged();\n        }\n      }\n    }), 100);\n    const scrollListener = event => {\n      const [source] = event.composedPath();\n      scrollHandler(source);\n    };\n    const addWindowHandlers = editor => {\n      const oldOpen = editor.windowManager.open;\n      editor.windowManager.open = (...args) => {\n        hoistSink(editor);\n        return oldOpen.apply(editor, args);\n      };\n      editor.on('CloseWindow', () => {\n        restoreSink(editor);\n      });\n    };\n    const getPopupButtons = editor => {\n      const tinymceContainer = editor.getContainer();\n      return [...tinymceContainer.querySelectorAll('button.tox-tbtn--select[aria-haspopup=\"true\"], div.tox-split-button[aria-haspopup=\"true\"], button.tox-mbtn.tox-mbtn--select[aria-haspopup=\"true\"]')];\n    };\n    const addPopupButtonClickListenersOnNodeChange = editor => {\n      const onNodeChange = () => {\n        const buttons = getPopupButtons(editor);\n        if (buttons.length !== 0) {\n          addPopupButtonClickListeners(editor);\n          editor.off('NodeChange', onNodeChange);\n        }\n      };\n      editor.on('NodeChange', onNodeChange);\n    };\n    const addPopupButtonClickListeners = editor => {\n      const buttons = getPopupButtons(editor);\n      for (const button of buttons) {\n        button.addEventListener('click', () => {\n          hoistSink(editor);\n        });\n      }\n      editor.on('click focus', () => {\n        restoreSink(editor);\n      });\n    };\n    const getHostsFromAncestors = ancestors => [...ancestors.map(el => el.shadowRoot).filter(identity), window];\n    const addOutsideScrollListener = editor => {\n      const target = editor.getContainer();\n      findAncestors(target).then(ancestors => {\n        const hosts = getHostsFromAncestors(ancestors);\n        for (const host of hosts) {\n          let editorSet = hostMap.get(host);\n          if (!editorSet) {\n            host.addEventListener('scroll', scrollListener, true);\n            editorSet = new Set();\n            hostMap.set(host, editorSet);\n          }\n          editorSet.add(editor);\n        }\n        editorMap.set(editor, ancestors);\n      });\n    };\n    const removeOutsideScrollListener = editor => {\n      const ancestors = editorMap.get(editor);\n      if (!ancestors) return;\n      const hosts = getHostsFromAncestors(ancestors);\n      for (const host of hosts) {\n        const editorSet = hostMap.get(host);\n        editorSet === null || editorSet === void 0 ? void 0 : editorSet.delete(editor);\n        if (!editorSet || editorSet.size === 0) {\n          host.removeEventListener('scroll', scrollListener, true);\n          hostMap.delete(host);\n        }\n      }\n      editorMap.delete(editor);\n    };\n\n    var Plugin = () => {\n      global$2.add('sn_popups_fix', editor => {\n        editor.on('init', () => {\n          setupHoist(editor);\n          addPopupButtonClickListenersOnNodeChange(editor);\n          addOutsideScrollListener(editor);\n          addWindowHandlers(editor);\n          hoistNotificationsOnFullScreen(editor);\n        });\n        editor.on('remove', () => {\n          removeHoist(editor);\n          removeOutsideScrollListener(editor);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const size = obj => {\n      return keys(obj).length;\n    };\n    const get$4 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty$1 = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten$1 = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten$1(map(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const get$3 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$3(xs, 0);\n    const last = xs => get$3(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$3 = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child$3 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$3(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);\n    };\n    const child$2 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const child$1 = (scope, selector) => child$2(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const getNodeName = elm => elm.nodeName.toLowerCase();\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq(element, getBody(editor));\n    const removePxSuffix = size => size ? size.replace(/px$/, '') : '';\n    const addPxSuffix = size => /^\\d+(\\.\\d+)?$/.test(size) ? size + 'px' : size;\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getSelectionEnd = editor => SugarElement.fromDom(editor.selection.getEnd());\n    const isInEditableContext = cell => closest$2(cell, isTag('table')).forall(isEditable);\n\n    const children$2 = (scope, predicate) => filter(children$3(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each(children$3(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const children$1 = (scope, selector) => children$2(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const flatten = oot => oot.bind(identity);\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty = s => !isNotEmpty(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind(children$3(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const columns = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children$1(ancestor, 'col');\n      } else {\n        return bind(columnGroups(ancestor), columnGroup => children$1(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children$1(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map(columns(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells$1 = map(cells(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells$1, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows$1 = rows(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows$1];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each(rowData.cells, column => {\n        const colspan = column.colspan;\n        range(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each(rows, rowData => {\n        const currentRow = [];\n        each(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getTDTHOverallStyle = (dom, elm, name) => {\n      const cells = dom.select('td,th', elm);\n      let firstChildStyle;\n      for (let i = 0; i < cells.length; i++) {\n        const currentStyle = dom.getStyle(cells[i], name);\n        if (isUndefined(firstChildStyle)) {\n          firstChildStyle = currentStyle;\n        }\n        if (firstChildStyle !== currentStyle) {\n          return '';\n        }\n      }\n      return firstChildStyle;\n    };\n    const setAlign = (editor, elm, name) => {\n      global$2.each('left center right'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('align' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('align' + name, {}, elm);\n      }\n    };\n    const setVAlign = (editor, elm, name) => {\n      global$2.each('top middle bottom'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('valign' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('valign' + name, {}, elm);\n      }\n    };\n\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$1(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const getInner = getInnerWidth;\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol';\n    const defaultCellBorderWidths = range(5, i => {\n      const size = \"\".concat(i + 1, \"px\");\n      return {\n        title: size,\n        value: size\n      };\n    });\n    const defaultCellBorderStyles = map(['Solid', 'Dotted', 'Dashed', 'Double', 'Groove', 'Ridge', 'Inset', 'Outset', 'None', 'Hidden'], type => {\n      return {\n        title: type,\n        value: type.toLowerCase()\n      };\n    });\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultStyles = (editor, defaultStyles) => {\n      if (isResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultAttributes = (editor, defaultAttributes) => {\n      if (isResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_border_widths', {\n        processor: 'object[]',\n        default: defaultCellBorderWidths\n      });\n      registerOption('table_border_styles', {\n        processor: 'object[]',\n        default: defaultCellBorderStyles\n      });\n      registerOption('table_cell_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_row_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_appearance_options', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_grid', {\n        processor: 'boolean',\n        default: !global$1.deviceType.isTouch()\n      });\n      registerOption('table_cell_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_row_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_toolbar', {\n        processor: 'string',\n        default: defaultTableToolbar\n      });\n      registerOption('table_background_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_border_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n    };\n    const getTableSizingMode = option('table_sizing_mode');\n    const getTableBorderWidths = option('table_border_widths');\n    const getTableBorderStyles = option('table_border_styles');\n    const hasAdvancedCellTab = option('table_cell_advtab');\n    const hasAdvancedRowTab = option('table_row_advtab');\n    const hasAdvancedTableTab = option('table_advtab');\n    const hasAppearanceOptions = option('table_appearance_options');\n    const hasTableGrid = option('table_grid');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const getCellClassList = option('table_cell_class_list');\n    const getRowClassList = option('table_row_class_list');\n    const getTableClassList = option('table_class_list');\n    const getToolbar = option('table_toolbar');\n    const getTableBackgroundColorMap = option('table_background_color_map');\n    const getTableBorderColorMap = option('table_border_color_map');\n    const isPixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const getDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultStyles(editor, defaultStyles);\n    };\n    const getDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultAttributes(editor, defaultAttributes);\n    };\n\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$3(wrapper);\n      if (children.length > 0) {\n        after(wrapper, children);\n      }\n      remove(wrapper);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest$1,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$3,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    };\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const sharedOne$1 = oneAll;\n\n    const universe = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n\n    const lookupTable = container => {\n      return ancestor(container, 'table');\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getRowsFromSelection = (selected, selector) => {\n      const cellOpt = getSelectionCell(selected);\n      const rowsOpt = cellOpt.bind(cell => table(cell)).map(table => rows(table));\n      return lift2(cellOpt, rowsOpt, (cell, rows) => filter(rows, row => exists(fromDom(row.dom.cells), rowCell => get$2(rowCell, selector) === '1' || eq(rowCell, cell)))).getOr([]);\n    };\n\n    const verticalAlignValues = [{\n      text: 'None',\n      value: ''\n    }, {\n      text: 'Top',\n      value: 'top'\n    }, {\n      text: 'Middle',\n      value: 'middle'\n    }, {\n      text: 'Bottom',\n      value: 'bottom'\n    }];\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    const longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    const isHexString = hex => shorthandRegex.test(hex) || longformRegex.test(hex);\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const fromString$1 = hex => isHexString(hex) ? Optional.some({\n      value: normalizeHex(hex)\n    }) : Optional.none();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n\n    const anyToHex = color => fromString$1(color).orThunk(() => fromString(color).map(fromRgba)).getOrThunk(() => {\n      const canvas = document.createElement('canvas');\n      canvas.height = 1;\n      canvas.width = 1;\n      const canvasContext = canvas.getContext('2d');\n      canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n      canvasContext.fillStyle = '#FFFFFF';\n      canvasContext.fillStyle = color;\n      canvasContext.fillRect(0, 0, 1, 1);\n      const rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n      const r = rgba[0];\n      const g = rgba[1];\n      const b = rgba[2];\n      const a = rgba[3];\n      return fromRgba(rgbaColour(r, g, b, a));\n    });\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n\n    const onSetupToggle = (editor, formatName, formatValue) => {\n      return api => {\n        const boundCallback = unbindable();\n        const isNone = isEmpty(formatValue);\n        const init = () => {\n          const selectedCells = getCellsFromSelection(editor);\n          const checkNode = cell => editor.formatter.match(formatName, {\n            value: formatValue\n          }, cell.dom, isNone);\n          if (isNone) {\n            api.setActive(!exists(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, match => api.setActive(!match), true));\n          } else {\n            api.setActive(forall(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, {\n              value: formatValue\n            }));\n          }\n        };\n        editor.initialized ? init() : editor.on('init', init);\n        return boundCallback.clear;\n      };\n    };\n    const isListGroup = item => hasNonNullableKey(item, 'menu');\n    const buildListItems = items => map(items, item => {\n      const text = item.text || item.title || '';\n      if (isListGroup(item)) {\n        return {\n          text,\n          items: buildListItems(item.menu)\n        };\n      } else {\n        return {\n          text,\n          value: item.value\n        };\n      }\n    });\n    const buildMenuItems = (editor, items, format, onAction) => map(items, item => {\n      const text = item.text || item.title;\n      if (isListGroup(item)) {\n        return {\n          type: 'nestedmenuitem',\n          text,\n          getSubmenuItems: () => buildMenuItems(editor, item.menu, format, onAction)\n        };\n      } else {\n        return {\n          text,\n          type: 'togglemenuitem',\n          onAction: () => onAction(item.value),\n          onSetup: onSetupToggle(editor, format, item.value)\n        };\n      }\n    });\n    const applyTableCellStyle = (editor, style) => value => {\n      editor.execCommand('mceTableApplyCellStyle', false, {\n        [style]: value\n      });\n    };\n    const filterNoneItem = list => bind(list, item => {\n      if (isListGroup(item)) {\n        return [{\n          ...item,\n          menu: filterNoneItem(item.menu)\n        }];\n      } else {\n        return isNotEmpty(item.value) ? [item] : [];\n      }\n    });\n    const generateMenuItemsCallback = (editor, items, format, onAction) => callback => callback(buildMenuItems(editor, items, format, onAction));\n    const buildColorMenu = (editor, colorList, style) => {\n      const colorMap = map(colorList, entry => ({\n        text: entry.title,\n        value: '#' + anyToHex(entry.value).value,\n        type: 'choiceitem'\n      }));\n      return [{\n        type: 'fancymenuitem',\n        fancytype: 'colorswatch',\n        initData: {\n          colors: colorMap.length > 0 ? colorMap : undefined,\n          allowCustomColors: false\n        },\n        onAction: data => {\n          const value = data.value === 'remove' ? '' : data.value;\n          editor.execCommand('mceTableApplyCellStyle', false, {\n            [style]: value\n          });\n        }\n      }];\n    };\n    const changeRowHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableRowType');\n      const newType = currentType === 'header' ? 'body' : 'header';\n      editor.execCommand('mceTableRowType', false, {\n        type: newType\n      });\n    };\n    const changeColumnHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableColType');\n      const newType = currentType === 'th' ? 'td' : 'th';\n      editor.execCommand('mceTableColType', false, {\n        type: newType\n      });\n    };\n\n    const getClassList$1 = editor => {\n      const classes = buildListItems(getCellClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const children = [{\n      name: 'width',\n      type: 'input',\n      label: 'Width'\n    }, {\n      name: 'height',\n      type: 'input',\n      label: 'Height'\n    }, {\n      name: 'celltype',\n      type: 'listbox',\n      label: 'Cell type',\n      items: [{\n        text: 'Cell',\n        value: 'td'\n      }, {\n        text: 'Header cell',\n        value: 'th'\n      }]\n    }, {\n      name: 'scope',\n      type: 'listbox',\n      label: 'Scope',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Row',\n        value: 'row'\n      }, {\n        text: 'Column',\n        value: 'col'\n      }, {\n        text: 'Row group',\n        value: 'rowgroup'\n      }, {\n        text: 'Column group',\n        value: 'colgroup'\n      }]\n    }, {\n      name: 'halign',\n      type: 'listbox',\n      label: 'Horizontal align',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      name: 'valign',\n      type: 'listbox',\n      label: 'Vertical align',\n      items: verticalAlignValues\n    }];\n    const getItems$2 = editor => children.concat(getClassList$1(editor).toArray());\n\n    const getAdvancedTab = (editor, dialogName) => {\n      const emptyBorderStyle = [{\n        text: 'Select...',\n        value: ''\n      }];\n      const advTabItems = [{\n        name: 'borderstyle',\n        type: 'listbox',\n        label: 'Border style',\n        items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor)))\n      }, {\n        name: 'bordercolor',\n        type: 'colorinput',\n        label: 'Border color'\n      }, {\n        name: 'backgroundcolor',\n        type: 'colorinput',\n        label: 'Background color'\n      }];\n      const borderWidth = {\n        name: 'borderwidth',\n        type: 'input',\n        label: 'Border width'\n      };\n      const items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems;\n      return {\n        title: 'Advanced',\n        name: 'advanced',\n        items\n      };\n    };\n\n    const normal = (editor, element) => {\n      const dom = editor.dom;\n      const setAttrib = (attr, value) => {\n        dom.setAttrib(element, attr, value);\n      };\n      const setStyle = (prop, value) => {\n        dom.setStyle(element, prop, value);\n      };\n      const setFormat = (formatName, value) => {\n        if (value === '') {\n          editor.formatter.remove(formatName, {\n            value: null\n          }, element, true);\n        } else {\n          editor.formatter.apply(formatName, {\n            value\n          }, element);\n        }\n      };\n      return {\n        setAttrib,\n        setStyle,\n        setFormat\n      };\n    };\n    const DomModifier = {\n      normal\n    };\n\n    const isHeaderCell = isTag('th');\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType$1 = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map(rows, row => getRowType$1(row).type);\n      const hasHeader = contains(rowTypes, 'header');\n      const hasFooter = contains(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find(r.cells, e => eq(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    ({\n      ...adt\n    });\n\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const getRowsType = opGetRowsType;\n\n    const rgbToHex = value => startsWith(value, 'rgb') ? rgbaToHexString(value) : value;\n    const extractAdvancedStyles = elm => {\n      const element = SugarElement.fromDom(elm);\n      return {\n        borderwidth: getRaw(element, 'border-width').getOr(''),\n        borderstyle: getRaw(element, 'border-style').getOr(''),\n        bordercolor: getRaw(element, 'border-color').map(rgbToHex).getOr(''),\n        backgroundcolor: getRaw(element, 'background-color').map(rgbToHex).getOr('')\n      };\n    };\n    const getSharedValues = data => {\n      const baseData = data[0];\n      const comparisonData = data.slice(1);\n      each(comparisonData, items => {\n        each(keys(baseData), key => {\n          each$1(items, (itemValue, itemKey) => {\n            const comparisonValue = baseData[key];\n            if (comparisonValue !== '' && key === itemKey) {\n              if (comparisonValue !== itemValue) {\n                baseData[key] = '';\n              }\n            }\n          });\n        });\n      });\n      return baseData;\n    };\n    const getAlignment = (formats, formatName, editor, elm) => find(formats, name => !isUndefined(editor.formatter.matchNode(elm, formatName + name))).getOr('');\n    const getHAlignment = curry(getAlignment, ['left', 'center', 'right'], 'align');\n    const getVAlignment = curry(getAlignment, ['top', 'middle', 'bottom'], 'valign');\n    const extractDataFromSettings = (editor, hasAdvTableTab) => {\n      const style = getDefaultStyles(editor);\n      const attrs = getDefaultAttributes(editor);\n      const extractAdvancedStyleData = () => ({\n        borderstyle: get$4(style, 'border-style').getOr(''),\n        bordercolor: rgbToHex(get$4(style, 'border-color').getOr('')),\n        backgroundcolor: rgbToHex(get$4(style, 'background-color').getOr(''))\n      });\n      const defaultData = {\n        height: '',\n        width: '100%',\n        cellspacing: '',\n        cellpadding: '',\n        caption: false,\n        class: '',\n        align: '',\n        border: ''\n      };\n      const getBorder = () => {\n        const borderWidth = style['border-width'];\n        if (shouldStyleWithCss(editor) && borderWidth) {\n          return {\n            border: borderWidth\n          };\n        }\n        return get$4(attrs, 'border').fold(() => ({}), border => ({\n          border\n        }));\n      };\n      const advStyle = hasAdvTableTab ? extractAdvancedStyleData() : {};\n      const getCellPaddingCellSpacing = () => {\n        const spacing = get$4(style, 'border-spacing').or(get$4(attrs, 'cellspacing')).fold(() => ({}), cellspacing => ({\n          cellspacing\n        }));\n        const padding = get$4(style, 'border-padding').or(get$4(attrs, 'cellpadding')).fold(() => ({}), cellpadding => ({\n          cellpadding\n        }));\n        return {\n          ...spacing,\n          ...padding\n        };\n      };\n      const data = {\n        ...defaultData,\n        ...style,\n        ...attrs,\n        ...advStyle,\n        ...getBorder(),\n        ...getCellPaddingCellSpacing()\n      };\n      return data;\n    };\n    const getRowType = elm => table(SugarElement.fromDom(elm)).map(table => {\n      const target = {\n        selection: fromDom(elm.cells)\n      };\n      return getRowsType(table, target);\n    }).getOr('');\n    const extractDataFromTableElement = (editor, elm, hasAdvTableTab) => {\n      const getBorder = (dom, elm) => {\n        const optBorderWidth = getRaw(SugarElement.fromDom(elm), 'border-width');\n        if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) {\n          return optBorderWidth.getOr('');\n        }\n        return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border') || '';\n      };\n      const dom = editor.dom;\n      const cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing');\n      const cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding');\n      return {\n        width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        cellspacing: cellspacing !== null && cellspacing !== void 0 ? cellspacing : '',\n        cellpadding: cellpadding !== null && cellpadding !== void 0 ? cellpadding : '',\n        border: getBorder(dom, elm),\n        caption: !!dom.select('caption', elm)[0],\n        class: dom.getAttrib(elm, 'class', ''),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvTableTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromRowElement = (editor, elm, hasAdvancedRowTab) => {\n      const dom = editor.dom;\n      return {\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        class: dom.getAttrib(elm, 'class', ''),\n        type: getRowType(elm),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvancedRowTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromCellElement = (editor, cell, hasAdvancedCellTab, column) => {\n      const dom = editor.dom;\n      const colElm = column.getOr(cell);\n      const getStyle = (element, style) => dom.getStyle(element, style) || dom.getAttrib(element, style);\n      return {\n        width: getStyle(colElm, 'width'),\n        height: getStyle(cell, 'height'),\n        scope: dom.getAttrib(cell, 'scope'),\n        celltype: getNodeName(cell),\n        class: dom.getAttrib(cell, 'class', ''),\n        halign: getHAlignment(editor, cell),\n        valign: getVAlignment(editor, cell),\n        ...(hasAdvancedCellTab ? extractAdvancedStyles(cell) : {})\n      };\n    };\n\n    const getSelectedCells = (table, cells) => {\n      const warehouse = Warehouse.fromTable(table);\n      const allCells = Warehouse.justCells(warehouse);\n      const filtered = filter(allCells, cellA => exists(cells, cellB => eq(cellA.element, cellB)));\n      return map(filtered, cell => ({\n        element: cell.element.dom,\n        column: Warehouse.getColumnAt(warehouse, cell.column).map(col => col.element.dom)\n      }));\n    };\n    const updateSimpleProps$1 = (modifier, colModifier, data, shouldUpdate) => {\n      if (shouldUpdate('scope')) {\n        modifier.setAttrib('scope', data.scope);\n      }\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n      if (shouldUpdate('width')) {\n        colModifier.setStyle('width', addPxSuffix(data.width));\n      }\n    };\n    const updateAdvancedProps$1 = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setFormat('tablecellbordercolor', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setFormat('tablecellborderstyle', data.borderstyle);\n      }\n      if (shouldUpdate('borderwidth')) {\n        modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth));\n      }\n    };\n    const applyStyleData$1 = (editor, cells, data, wasChanged) => {\n      const isSingleCell = cells.length === 1;\n      each(cells, item => {\n        const cellElm = item.element;\n        const shouldOverrideCurrentValue = isSingleCell ? always : wasChanged;\n        const modifier = DomModifier.normal(editor, cellElm);\n        const colModifier = item.column.map(col => DomModifier.normal(editor, col)).getOr(modifier);\n        updateSimpleProps$1(modifier, colModifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedCellTab(editor)) {\n          updateAdvancedProps$1(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('halign')) {\n          setAlign(editor, cellElm, data.halign);\n        }\n        if (wasChanged('valign')) {\n          setVAlign(editor, cellElm, data.valign);\n        }\n      });\n    };\n    const applyStructureData$1 = (editor, data) => {\n      editor.execCommand('mceTableCellType', false, {\n        type: data.celltype,\n        no_events: true\n      });\n    };\n    const applyCellData = (editor, cells, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0 && cells.length >= 1) {\n        table(cells[0]).each(table => {\n          const selectedCells = getSelectedCells(table, cells);\n          const styleModified = size(filter$1(modifiedData, (_value, key) => key !== 'scope' && key !== 'celltype')) > 0;\n          const structureModified = has(modifiedData, 'celltype');\n          if (styleModified || has(modifiedData, 'scope')) {\n            applyStyleData$1(editor, selectedCells, data, curry(has, modifiedData));\n          }\n          if (structureModified) {\n            applyStructureData$1(editor, data);\n          }\n          fireTableModified(editor, table.dom, {\n            structure: structureModified,\n            style: styleModified\n          });\n        });\n      }\n    };\n    const onSubmitCellForm = (editor, cells, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyCellData(editor, cells, oldData, data);\n        editor.focus();\n      });\n    };\n    const getData$1 = (editor, cells) => {\n      const cellsData = table(cells[0]).map(table => map(getSelectedCells(table, cells), item => extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column)));\n      return getSharedValues(cellsData.getOrDie());\n    };\n    const open$2 = editor => {\n      const cells = getCellsFromSelection(editor);\n      if (cells.length === 0) {\n        return;\n      }\n      const data = getData$1(editor, cells);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$2(editor)\n        }, getAdvancedTab(editor, 'cell')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$2(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Cell Properties',\n        size: 'normal',\n        body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitCellForm, editor, cells, data)\n      });\n    };\n\n    const getClassList = editor => {\n      const classes = buildListItems(getRowClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const formChildren = [{\n      type: 'listbox',\n      name: 'type',\n      label: 'Row type',\n      items: [{\n        text: 'Header',\n        value: 'header'\n      }, {\n        text: 'Body',\n        value: 'body'\n      }, {\n        text: 'Footer',\n        value: 'footer'\n      }]\n    }, {\n      type: 'listbox',\n      name: 'align',\n      label: 'Alignment',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      label: 'Height',\n      name: 'height',\n      type: 'input'\n    }];\n    const getItems$1 = editor => formChildren.concat(getClassList(editor).toArray());\n\n    const updateSimpleProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n    };\n    const updateAdvancedProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setStyle('background-color', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setStyle('border-color', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setStyle('border-style', data.borderstyle);\n      }\n    };\n    const applyStyleData = (editor, rows, data, wasChanged) => {\n      const isSingleRow = rows.length === 1;\n      const shouldOverrideCurrentValue = isSingleRow ? always : wasChanged;\n      each(rows, rowElm => {\n        const modifier = DomModifier.normal(editor, rowElm);\n        updateSimpleProps(modifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedRowTab(editor)) {\n          updateAdvancedProps(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('align')) {\n          setAlign(editor, rowElm, data.align);\n        }\n      });\n    };\n    const applyStructureData = (editor, data) => {\n      editor.execCommand('mceTableRowType', false, {\n        type: data.type,\n        no_events: true\n      });\n    };\n    const applyRowData = (editor, rows, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0) {\n        const typeModified = has(modifiedData, 'type');\n        const styleModified = typeModified ? size(modifiedData) > 1 : true;\n        if (styleModified) {\n          applyStyleData(editor, rows, data, curry(has, modifiedData));\n        }\n        if (typeModified) {\n          applyStructureData(editor, data);\n        }\n        table(SugarElement.fromDom(rows[0])).each(table => fireTableModified(editor, table.dom, {\n          structure: typeModified,\n          style: styleModified\n        }));\n      }\n    };\n    const onSubmitRowForm = (editor, rows, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyRowData(editor, rows, oldData, data);\n        editor.focus();\n      });\n    };\n    const open$1 = editor => {\n      const rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected);\n      if (rows.length === 0) {\n        return;\n      }\n      const rowsData = map(rows, rowElm => extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor)));\n      const data = getSharedValues(rowsData);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$1(editor)\n        }, getAdvancedTab(editor, 'row')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$1(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Row Properties',\n        size: 'normal',\n        body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitRowForm, editor, map(rows, r => r.dom), data)\n      });\n    };\n\n    const getItems = (editor, classes, insertNewTable) => {\n      const rowColCountItems = !insertNewTable ? [] : [{\n        type: 'input',\n        name: 'cols',\n        label: 'Cols',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'rows',\n        label: 'Rows',\n        inputMode: 'numeric'\n      }];\n      const alwaysItems = [{\n        type: 'input',\n        name: 'width',\n        label: 'Width'\n      }, {\n        type: 'input',\n        name: 'height',\n        label: 'Height'\n      }];\n      const appearanceItems = hasAppearanceOptions(editor) ? [{\n        type: 'input',\n        name: 'cellspacing',\n        label: 'Cell spacing',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'cellpadding',\n        label: 'Cell padding',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'border',\n        label: 'Border width'\n      }, {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      }] : [];\n      const alignmentItem = [{\n        type: 'listbox',\n        name: 'align',\n        label: 'Alignment',\n        items: [{\n          text: 'None',\n          value: ''\n        }, {\n          text: 'Left',\n          value: 'left'\n        }, {\n          text: 'Center',\n          value: 'center'\n        }, {\n          text: 'Right',\n          value: 'right'\n        }]\n      }];\n      const classListItem = classes.length > 0 ? [{\n        type: 'listbox',\n        name: 'class',\n        label: 'Class',\n        items: classes\n      }] : [];\n      return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem);\n    };\n\n    const styleTDTH = (dom, elm, name, value) => {\n      if (elm.tagName === 'TD' || elm.tagName === 'TH') {\n        if (isString(name) && isNonNullable(value)) {\n          dom.setStyle(elm, name, value);\n        } else {\n          dom.setStyles(elm, name);\n        }\n      } else {\n        if (elm.children) {\n          for (let i = 0; i < elm.children.length; i++) {\n            styleTDTH(dom, elm.children[i], name, value);\n          }\n        }\n      }\n    };\n    const applyDataToElement = (editor, tableElm, data, shouldApplyOnCell) => {\n      const dom = editor.dom;\n      const attrs = {};\n      const styles = {};\n      const shouldStyleWithCss$1 = shouldStyleWithCss(editor);\n      const hasAdvancedTableTab$1 = hasAdvancedTableTab(editor);\n      if (!isUndefined(data.class)) {\n        attrs.class = data.class;\n      }\n      styles.height = addPxSuffix(data.height);\n      if (shouldStyleWithCss$1) {\n        styles.width = addPxSuffix(data.width);\n      } else if (dom.getAttrib(tableElm, 'width')) {\n        attrs.width = removePxSuffix(data.width);\n      }\n      if (shouldStyleWithCss$1) {\n        styles['border-width'] = addPxSuffix(data.border);\n        styles['border-spacing'] = addPxSuffix(data.cellspacing);\n      } else {\n        attrs.border = data.border;\n        attrs.cellpadding = data.cellpadding;\n        attrs.cellspacing = data.cellspacing;\n      }\n      if (shouldStyleWithCss$1 && tableElm.children) {\n        const cellStyles = {};\n        if (shouldApplyOnCell.border) {\n          cellStyles['border-width'] = addPxSuffix(data.border);\n        }\n        if (shouldApplyOnCell.cellpadding) {\n          cellStyles.padding = addPxSuffix(data.cellpadding);\n        }\n        if (hasAdvancedTableTab$1 && shouldApplyOnCell.bordercolor) {\n          cellStyles['border-color'] = data.bordercolor;\n        }\n        if (!isEmpty$1(cellStyles)) {\n          for (let i = 0; i < tableElm.children.length; i++) {\n            styleTDTH(dom, tableElm.children[i], cellStyles);\n          }\n        }\n      }\n      if (hasAdvancedTableTab$1) {\n        const advData = data;\n        styles['background-color'] = advData.backgroundcolor;\n        styles['border-color'] = advData.bordercolor;\n        styles['border-style'] = advData.borderstyle;\n      }\n      dom.setStyles(tableElm, {\n        ...getDefaultStyles(editor),\n        ...styles\n      });\n      dom.setAttribs(tableElm, {\n        ...getDefaultAttributes(editor),\n        ...attrs\n      });\n    };\n    const onSubmitTableForm = (editor, tableElm, oldData, api) => {\n      const dom = editor.dom;\n      const data = api.getData();\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      api.close();\n      if (data.class === '') {\n        delete data.class;\n      }\n      editor.undoManager.transact(() => {\n        if (!tableElm) {\n          const cols = toInt(data.cols).getOr(1);\n          const rows = toInt(data.rows).getOr(1);\n          editor.execCommand('mceInsertTable', false, {\n            rows,\n            columns: cols\n          });\n          tableElm = getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).bind(cell => table(cell, getIsRoot(editor))).map(table => table.dom).getOrDie();\n        }\n        if (size(modifiedData) > 0) {\n          const applicableCellProperties = {\n            border: has(modifiedData, 'border'),\n            bordercolor: has(modifiedData, 'bordercolor'),\n            cellpadding: has(modifiedData, 'cellpadding')\n          };\n          applyDataToElement(editor, tableElm, data, applicableCellProperties);\n          const captionElm = dom.select('caption', tableElm)[0];\n          if (captionElm && !data.caption || !captionElm && data.caption) {\n            editor.execCommand('mceTableToggleCaption');\n          }\n          setAlign(editor, tableElm, data.align);\n        }\n        editor.focus();\n        editor.addVisual();\n        if (size(modifiedData) > 0) {\n          const captionModified = has(modifiedData, 'caption');\n          const styleModified = captionModified ? size(modifiedData) > 1 : true;\n          fireTableModified(editor, tableElm, {\n            structure: captionModified,\n            style: styleModified\n          });\n        }\n      });\n    };\n    const open = (editor, insertNewTable) => {\n      const dom = editor.dom;\n      let tableElm;\n      let data = extractDataFromSettings(editor, hasAdvancedTableTab(editor));\n      if (insertNewTable) {\n        data.cols = '1';\n        data.rows = '1';\n        if (hasAdvancedTableTab(editor)) {\n          data.borderstyle = '';\n          data.bordercolor = '';\n          data.backgroundcolor = '';\n        }\n      } else {\n        tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody());\n        if (tableElm) {\n          data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor));\n        } else {\n          if (hasAdvancedTableTab(editor)) {\n            data.borderstyle = '';\n            data.bordercolor = '';\n            data.backgroundcolor = '';\n          }\n        }\n      }\n      const classes = buildListItems(getTableClassList(editor));\n      if (classes.length > 0) {\n        if (data.class) {\n          data.class = data.class.replace(/\\s*mce\\-item\\-table\\s*/g, '');\n        }\n      }\n      const generalPanel = {\n        type: 'grid',\n        columns: 2,\n        items: getItems(editor, classes, insertNewTable)\n      };\n      const nonAdvancedForm = () => ({\n        type: 'panel',\n        items: [generalPanel]\n      });\n      const advancedForm = () => ({\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: [generalPanel]\n        }, getAdvancedTab(editor, 'table')]\n      });\n      const dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm();\n      editor.windowManager.open({\n        title: 'Table Properties',\n        size: 'normal',\n        body: dialogBody,\n        onSubmit: curry(onSubmitTableForm, editor, tableElm, data),\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data\n      });\n    };\n\n    const registerCommands = editor => {\n      const runAction = f => {\n        if (isInEditableContext(getSelectionStart(editor))) {\n          f();\n        }\n      };\n      each$1({\n        mceTableProps: curry(open, editor, false),\n        mceTableRowProps: curry(open$1, editor),\n        mceTableCellProps: curry(open$2, editor),\n        mceInsertTableDialog: curry(open, editor, true)\n      }, (func, name) => editor.addCommand(name, () => runAction(func)));\n    };\n\n    const child = (scope, selector) => child$1(scope, selector).isSome();\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const noMenu = cell => ({\n      element: cell,\n      mergable: Optional.none(),\n      unmergable: Optional.none(),\n      selection: [cell]\n    });\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n\n    const getSelectionTargets = editor => {\n      const targets = Cell(Optional.none());\n      const changeHandlers = Cell([]);\n      let selectionDetails = Optional.none();\n      const isCaption = isTag('caption');\n      const isDisabledForSelection = key => selectionDetails.forall(details => !details[key]);\n      const getStart = () => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));\n      const getEnd = () => getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor));\n      const findTargets = () => getStart().bind(startCellOrCaption => flatten(lift2(table(startCellOrCaption), getEnd().bind(table), (startTable, endTable) => {\n        if (eq(startTable, endTable)) {\n          if (isCaption(startCellOrCaption)) {\n            return Optional.some(noMenu(startCellOrCaption));\n          } else {\n            return Optional.some(forMenu(getCellsFromSelection(editor), startTable, startCellOrCaption));\n          }\n        }\n        return Optional.none();\n      })));\n      const getExtractedDetails = targets => {\n        const tableOpt = table(targets.element);\n        return tableOpt.map(table => {\n          const warehouse = Warehouse.fromTable(table);\n          const selectedCells = onCells(warehouse, targets).getOr([]);\n          const locked = foldl(selectedCells, (acc, cell) => {\n            if (cell.isLocked) {\n              acc.onAny = true;\n              if (cell.column === 0) {\n                acc.onFirst = true;\n              } else if (cell.column + cell.colspan >= warehouse.grid.columns) {\n                acc.onLast = true;\n              }\n            }\n            return acc;\n          }, {\n            onAny: false,\n            onFirst: false,\n            onLast: false\n          });\n          return {\n            mergeable: onUnlockedMergable(warehouse, targets).isSome(),\n            unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(),\n            locked\n          };\n        });\n      };\n      const resetTargets = () => {\n        targets.set(cached(findTargets)());\n        selectionDetails = targets.get().bind(getExtractedDetails);\n        each(changeHandlers.get(), call);\n      };\n      const setupHandler = handler => {\n        handler();\n        changeHandlers.set(changeHandlers.get().concat([handler]));\n        return () => {\n          changeHandlers.set(filter(changeHandlers.get(), h => h !== handler));\n        };\n      };\n      const onSetup = (api, isDisabled) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n      }));\n      const onSetupWithToggle = (api, isDisabled, isActive) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n        api.setActive(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n        api.setActive(isActive(targets));\n      }));\n      const isDisabledFromLocked = lockedDisable => selectionDetails.exists(details => details.locked[lockedDisable]);\n      const onSetupTable = api => onSetup(api, _ => false);\n      const onSetupCellOrRow = api => onSetup(api, targets => isCaption(targets.element));\n      const onSetupColumn = lockedDisable => api => onSetup(api, targets => isCaption(targets.element) || isDisabledFromLocked(lockedDisable));\n      const onSetupPasteable = getClipboardData => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone());\n      const onSetupPasteableColumn = (getClipboardData, lockedDisable) => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable));\n      const onSetupMergeable = api => onSetup(api, _targets => isDisabledForSelection('mergeable'));\n      const onSetupUnmergeable = api => onSetup(api, _targets => isDisabledForSelection('unmergeable'));\n      const onSetupTableWithCaption = api => {\n        return onSetupWithToggle(api, never, targets => {\n          const tableOpt = table(targets.element, getIsRoot(editor));\n          return tableOpt.exists(table => child(table, 'caption'));\n        });\n      };\n      const onSetupTableHeaders = (command, headerType) => api => {\n        return onSetupWithToggle(api, targets => isCaption(targets.element), () => editor.queryCommandValue(command) === headerType);\n      };\n      const onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header');\n      const onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th');\n      editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets);\n      return {\n        onSetupTable,\n        onSetupCellOrRow,\n        onSetupColumn,\n        onSetupPasteable,\n        onSetupPasteableColumn,\n        onSetupMergeable,\n        onSetupUnmergeable,\n        resetTargets,\n        onSetupTableWithCaption,\n        onSetupTableRowHeaders,\n        onSetupTableColumnHeaders,\n        targets: targets.get\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const getColumns = () => getData(tableTypeColumn);\n\n    const onSetupEditable$1 = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addButtons = (editor, selectionTargets) => {\n      editor.ui.registry.addMenuButton('table', {\n        tooltip: 'Table',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor),\n        fetch: callback => callback('inserttable | cell row column | advtablesort | tableprops deletetable')\n      });\n      const cmd = command => () => editor.execCommand(command);\n      const addButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const addToggleButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      addButtonIfRegistered('tableprops', {\n        tooltip: 'Table properties',\n        command: 'mceTableProps',\n        icon: 'table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tabledelete', {\n        tooltip: 'Delete table',\n        command: 'mceTableDelete',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tablecellprops', {\n        tooltip: 'Cell properties',\n        command: 'mceTableCellProps',\n        icon: 'table-cell-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablemergecells', {\n        tooltip: 'Merge cells',\n        command: 'mceTableMergeCells',\n        icon: 'table-merge-cells',\n        onSetup: selectionTargets.onSetupMergeable\n      });\n      addButtonIfRegistered('tablesplitcells', {\n        tooltip: 'Split cell',\n        command: 'mceTableSplitCells',\n        icon: 'table-split-cells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      });\n      addButtonIfRegistered('tableinsertrowbefore', {\n        tooltip: 'Insert row before',\n        command: 'mceTableInsertRowBefore',\n        icon: 'table-insert-row-above',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertrowafter', {\n        tooltip: 'Insert row after',\n        command: 'mceTableInsertRowAfter',\n        icon: 'table-insert-row-after',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tabledeleterow', {\n        tooltip: 'Delete row',\n        command: 'mceTableDeleteRow',\n        icon: 'table-delete-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablerowprops', {\n        tooltip: 'Row properties',\n        command: 'mceTableRowProps',\n        icon: 'table-row-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertcolbefore', {\n        tooltip: 'Insert column before',\n        command: 'mceTableInsertColBefore',\n        icon: 'table-insert-column-before',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      });\n      addButtonIfRegistered('tableinsertcolafter', {\n        tooltip: 'Insert column after',\n        command: 'mceTableInsertColAfter',\n        icon: 'table-insert-column-after',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      });\n      addButtonIfRegistered('tabledeletecol', {\n        tooltip: 'Delete column',\n        command: 'mceTableDeleteCol',\n        icon: 'table-delete-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecutrow', {\n        tooltip: 'Cut row',\n        command: 'mceTableCutRow',\n        icon: 'cut-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablecopyrow', {\n        tooltip: 'Copy row',\n        command: 'mceTableCopyRow',\n        icon: 'duplicate-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablepasterowbefore', {\n        tooltip: 'Paste row before',\n        command: 'mceTablePasteRowBefore',\n        icon: 'paste-row-before',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablepasterowafter', {\n        tooltip: 'Paste row after',\n        command: 'mceTablePasteRowAfter',\n        icon: 'paste-row-after',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablecutcol', {\n        tooltip: 'Cut column',\n        command: 'mceTableCutCol',\n        icon: 'cut-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecopycol', {\n        tooltip: 'Copy column',\n        command: 'mceTableCopyCol',\n        icon: 'duplicate-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablepastecolbefore', {\n        tooltip: 'Paste column before',\n        command: 'mceTablePasteColBefore',\n        icon: 'paste-column-before',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      });\n      addButtonIfRegistered('tablepastecolafter', {\n        tooltip: 'Paste column after',\n        command: 'mceTablePasteColAfter',\n        icon: 'paste-column-after',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      });\n      addButtonIfRegistered('tableinsertdialog', {\n        tooltip: 'Insert table',\n        command: 'mceInsertTableDialog',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor)\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addMenuButton('tableclass', {\n          icon: 'table-classes',\n          tooltip: 'Table styles',\n          fetch: generateMenuItemsCallback(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addMenuButton('tablecellclass', {\n          icon: 'table-cell-classes',\n          tooltip: 'Cell styles',\n          fetch: generateMenuItemsCallback(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addMenuButton('tablecellvalign', {\n          icon: 'vertical-align',\n          tooltip: 'Vertical align',\n          fetch: generateMenuItemsCallback(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderwidth', {\n          icon: 'border-width',\n          tooltip: 'Border width',\n          fetch: generateMenuItemsCallback(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderstyle', {\n          icon: 'border-style',\n          tooltip: 'Border style',\n          fetch: generateMenuItemsCallback(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          tooltip: 'Background color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          tooltip: 'Border color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleButtonIfRegistered('tablecaption', {\n        tooltip: 'Table caption',\n        icon: 'table-caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleButtonIfRegistered('tablerowheader', {\n        tooltip: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleButtonIfRegistered('tablecolheader', {\n        tooltip: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableColumnHeaders\n      });\n    };\n    const addToolbars = editor => {\n      const isEditableTable = table => editor.dom.is(table, 'table') && editor.getBody().contains(table) && editor.dom.isEditable(table.parentNode);\n      const toolbar = getToolbar(editor);\n      if (toolbar.length > 0) {\n        editor.ui.registry.addContextToolbar('table', {\n          predicate: isEditableTable,\n          items: toolbar,\n          scope: 'node',\n          position: 'node'\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addMenuItems = (editor, selectionTargets) => {\n      const cmd = command => () => editor.execCommand(command);\n      const addMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n          return true;\n        } else {\n          return false;\n        }\n      };\n      const addToggleMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const insertTableAction = data => {\n        editor.execCommand('mceInsertTable', false, {\n          rows: data.numRows,\n          columns: data.numColumns\n        });\n      };\n      const hasRowMenuItems = [addMenuIfRegistered('tableinsertrowbefore', {\n        text: 'Insert row before',\n        icon: 'table-insert-row-above',\n        command: 'mceTableInsertRowBefore',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tableinsertrowafter', {\n        text: 'Insert row after',\n        icon: 'table-insert-row-after',\n        command: 'mceTableInsertRowAfter',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tabledeleterow', {\n        text: 'Delete row',\n        icon: 'table-delete-row',\n        command: 'mceTableDeleteRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablerowprops', {\n        text: 'Row properties',\n        icon: 'table-row-properties',\n        command: 'mceTableRowProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecutrow', {\n        text: 'Cut row',\n        icon: 'cut-row',\n        command: 'mceTableCutRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecopyrow', {\n        text: 'Copy row',\n        icon: 'duplicate-row',\n        command: 'mceTableCopyRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablepasterowbefore', {\n        text: 'Paste row before',\n        icon: 'paste-row-before',\n        command: 'mceTablePasteRowBefore',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      }), addMenuIfRegistered('tablepasterowafter', {\n        text: 'Paste row after',\n        icon: 'paste-row-after',\n        command: 'mceTablePasteRowAfter',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      })];\n      const hasColumnMenuItems = [addMenuIfRegistered('tableinsertcolumnbefore', {\n        text: 'Insert column before',\n        icon: 'table-insert-column-before',\n        command: 'mceTableInsertColBefore',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      }), addMenuIfRegistered('tableinsertcolumnafter', {\n        text: 'Insert column after',\n        icon: 'table-insert-column-after',\n        command: 'mceTableInsertColAfter',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      }), addMenuIfRegistered('tabledeletecolumn', {\n        text: 'Delete column',\n        icon: 'table-delete-column',\n        command: 'mceTableDeleteCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecutcolumn', {\n        text: 'Cut column',\n        icon: 'cut-column',\n        command: 'mceTableCutCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecopycolumn', {\n        text: 'Copy column',\n        icon: 'duplicate-column',\n        command: 'mceTableCopyCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablepastecolumnbefore', {\n        text: 'Paste column before',\n        icon: 'paste-column-before',\n        command: 'mceTablePasteColBefore',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      }), addMenuIfRegistered('tablepastecolumnafter', {\n        text: 'Paste column after',\n        icon: 'paste-column-after',\n        command: 'mceTablePasteColAfter',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      })];\n      const hasCellMenuItems = [addMenuIfRegistered('tablecellprops', {\n        text: 'Cell properties',\n        icon: 'table-cell-properties',\n        command: 'mceTableCellProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablemergecells', {\n        text: 'Merge cells',\n        icon: 'table-merge-cells',\n        command: 'mceTableMergeCells',\n        onSetup: selectionTargets.onSetupMergeable\n      }), addMenuIfRegistered('tablesplitcells', {\n        text: 'Split cell',\n        icon: 'table-split-cells',\n        command: 'mceTableSplitCells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      })];\n      if (!hasTableGrid(editor)) {\n        editor.ui.registry.addMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          onAction: cmd('mceInsertTableDialog'),\n          onSetup: onSetupEditable(editor)\n        });\n      } else {\n        editor.ui.registry.addNestedMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          getSubmenuItems: () => [{\n            type: 'fancymenuitem',\n            fancytype: 'inserttable',\n            onAction: insertTableAction\n          }],\n          onSetup: onSetupEditable(editor)\n        });\n      }\n      editor.ui.registry.addMenuItem('inserttabledialog', {\n        text: 'Insert table',\n        icon: 'table',\n        onAction: cmd('mceInsertTableDialog'),\n        onSetup: onSetupEditable(editor)\n      });\n      addMenuIfRegistered('tableprops', {\n        text: 'Table properties',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableProps'\n      });\n      addMenuIfRegistered('deletetable', {\n        text: 'Delete table',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableDelete'\n      });\n      if (contains(hasRowMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('row', {\n          type: 'nestedmenuitem',\n          text: 'Row',\n          getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter')\n        });\n      }\n      if (contains(hasColumnMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('column', {\n          type: 'nestedmenuitem',\n          text: 'Column',\n          getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter')\n        });\n      }\n      if (contains(hasCellMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('cell', {\n          type: 'nestedmenuitem',\n          text: 'Cell',\n          getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells')\n        });\n      }\n      editor.ui.registry.addContextMenu('table', {\n        update: () => {\n          selectionTargets.resetTargets();\n          return selectionTargets.targets().fold(constant(''), targets => {\n            if (name(targets.element) === 'caption') {\n              return 'tableprops deletetable';\n            } else {\n              return 'cell row column | advtablesort | tableprops deletetable';\n            }\n          });\n        }\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tableclass', {\n          icon: 'table-classes',\n          text: 'Table styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tablecellclass', {\n          icon: 'table-cell-classes',\n          text: 'Cell styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addNestedMenuItem('tablecellvalign', {\n          icon: 'vertical-align',\n          text: 'Vertical align',\n          getSubmenuItems: () => buildMenuItems(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderwidth', {\n          icon: 'border-width',\n          text: 'Border width',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderstyle', {\n          icon: 'border-style',\n          text: 'Border style',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          text: 'Background color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          text: 'Border color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleMenuIfRegistered('tablecaption', {\n        icon: 'table-caption',\n        text: 'Table caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleMenuIfRegistered('tablerowheader', {\n        text: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleMenuIfRegistered('tablecolheader', {\n        text: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n    };\n\n    const Plugin = editor => {\n      const selectionTargets = getSelectionTargets(editor);\n      register(editor);\n      registerCommands(editor);\n      addMenuItems(editor, selectionTargets);\n      addButtons(editor, selectionTargets);\n      addToolbars(editor);\n    };\n    var Plugin$1 = () => {\n      global$3.add('table', Plugin);\n    };\n\n    Plugin$1();\n\n})();\n/*!\n * Tiny Table of Contents plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 1.2.0-51\n */\n\n!function(){\"use strict\";const t=t=>parseInt(t,10),e=(t,e)=>{const n=t-e;return 0===n?0:n>0?1:-1},n=(t,e,n)=>({major:t,minor:e,patch:n}),o=e=>{const o=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return o?n(t(o[1]),t(o[2]),t(o[3])):n(0,0,0)},r=(\"string\",t=>\"string\"===(t=>{const e=typeof t;return null===t?\"null\":\"object\"===e&&Array.isArray(t)?\"array\":\"object\"===e&&(n=o=t,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?\"string\":e;var n,o,r,s})(t));const s=t=>!(t=>null==t)(t),i=t=>\"number\"==typeof t;class l{constructor(t,e){this.tag=t,this.value=e}static some(t){return new l(!0,t)}static none(){return l.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?l.some(t(this.value)):l.none()}bind(t){return this.tag?t(this.value):l.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:l.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:\"Called getOrDie on None\")}static from(t){return s(t)?l.some(t):l.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}l.singletonNone=new l(!1);const a=t=>e=>e.options.get(t),c=a(\"tableofcontents_class\"),d=a(\"tableofcontents_header\"),u=a(\"tableofcontents_depth\"),h=a(\"tableofcontents_includeheader\"),f=a(\"tableofcontents_orderedlist\"),g=a(\"tableofcontents_orderedlist_type\"),m=(t=>{let e=0;return()=>\"mcetoc_\"+(new Date).getTime().toString(32)+(e++).toString(32)})(),p=t=>{const e=c(t),n=d(t),o=(t=>{const e=[];for(let n=1;n<=t;n++)e.push(\"h\"+n);return e.join(\",\")})(u(t));let r=t.dom.select(o);return r.length&&/^h[1-9]$/i.test(n)&&(r=((t,e)=>{const n=[];for(let o=0,r=t.length;o<r;o++){const r=t[o];e(r)&&n.push(r)}return n})(r,(n=>{const o=n.parentElement;return s(o)&&!t.dom.hasClass(o,e)&&!t.dom.isEmpty(n)}))),((t,e)=>{const n=t.length,o=new Array(n);for(let r=0;r<n;r++){const n=t[r];o[r]=e(n)}return o})(r,(t=>({id:t.id||m(),level:parseInt(t.nodeName.replace(/^H/i,\"\"),10),title:t.innerText,element:t})))},b=(t,e)=>{let n=\"\";const o=p(t),r=f(t)?\"ol\":\"ul\",s=[r];let i=(t=>{let e=9;for(const n of t)if(n.level<e&&(e=n.level),1===e)return e;return e})(o)-1;if(!o.length)return\"\";if(f(t)&&s.push(`type=\"${g(t)}\"`),h(t)){const o=e.getOr(t.translate(\"Table of Contents\"));n+=((t,e)=>{const n=\"<\/\"+t+\">\";return\"<\"+t+' contenteditable=\"true\">'+tinymce.DOM.encode(e)+n})(d(t),o)}for(let t=0;t<o.length;t++){const e=o[t];e.element.id=e.id;const l=o[t+1]&&o[t+1].level;if(i===e.level)n+=\"<li>\";else for(let t=i;t<e.level;t++)n+=`<${s.join(\" \")}><li>`;if(n+='<a href=\"#'+e.id+'\">'+e.title+\"<\/a>\",l!==e.level&&l)for(let t=e.level;t>l;t--)n+=t===l+1?`<\/li><\/${r}><li>`:`<\/li><\/${r}>`;else n+=\"<\/li>\",l||(n+=`<\/${r}>`);i=e.level}return n},v=t=>{const e=c(t),n=t.dom.select(\".\"+e);n.length&&t.undoManager.transact((()=>{var e,o;t.dom.setHTML(n,b(t,(e=n[0],l.from(null===(o=e.firstElementChild)||void 0===o?void 0:o.innerHTML))))}))},_=t=>e=>{const n=()=>{const n=t.selection.isEditable();e.setEnabled(!t.readonly&&n&&(t=>p(t).length>0)(t))};return t.on(\"NodeChange LoadContent SetContent change\",n),n(),()=>t.off(\"NodeChange LoadContent SetContent change\",n)},y=t=>e=>t.dom.is(e,\".\"+c(t))&&t.getBody().contains(e);tinymce.PluginManager.requireLangPack(\"tableofcontents\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"tableofcontents\",(t=>{((t,n)=>!!t&&-1===((t,n)=>{const o=e(t.major,n.major);if(0!==o)return o;const r=e(t.minor,n.minor);if(0!==r)return r;const s=e(t.patch,n.patch);return 0!==s?s:0})((t=>o((t=>[t.majorVersion,t.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(t)))(t),o(n)))(tinymce,\"6.4.0\")?console.error(\"The tinydrive plugin requires at least version 6.4.0 of TinyMCE.\"):((t=>{const e=t.options.register;e(\"tableofcontents_class\",{processor:\"string\",default:\"mce-toc\"}),e(\"tableofcontents_header\",{processor:t=>r(t)&&/^h[1-6]$/.test(t),default:\"h2\"}),e(\"tableofcontents_depth\",{processor:t=>i(t)&&t>=1&&t<=9,default:3}),e(\"tableofcontents_includeheader\",{processor:\"boolean\",default:!0}),e(\"tableofcontents_orderedlist\",{processor:\"boolean\",default:!1}),e(\"tableofcontents_orderedlist_type\",{processor:t=>r(t)&&[\"1\",\"A\",\"a\",\"I\",\"i\"].includes(t),default:\"1\"})})(t),(t=>{t.addCommand(\"mceInsertToc\",(()=>{(t=>{const e=c(t),n=t.dom.select(\".\"+e);((t,e)=>!e.length||t.dom.getParents(e[0],\".mce-offscreen-selection\").length>0)(t,n)?t.insertContent(((t,e)=>{const n=b(t,e);return'<div class=\"'+t.dom.encode(c(t))+'\" contenteditable=\"false\" data-mce-toc=\"true\">'+n+\"<\/div>\"})(t,l.none())):v(t)})(t)})),t.addCommand(\"mceUpdateToc\",(()=>{v(t)}))})(t),(t=>{const e=()=>t.execCommand(\"mceInsertToc\");t.ui.registry.addButton(\"tableofcontents\",{icon:\"toc\",tooltip:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addButton(\"tableofcontentsupdate\",{icon:\"reload\",tooltip:\"Update\",onAction:()=>t.execCommand(\"mceUpdateToc\")}),t.ui.registry.addMenuItem(\"tableofcontents\",{icon:\"toc\",text:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addContextToolbar(\"tableofcontents\",{items:\"tableofcontentsupdate\",predicate:y(t),scope:\"node\",position:\"node\"})})(t),(t=>{const e=c(t),n=\"data-mce-toc\";t.on(\"PreProcess\",(n=>{const o=t.dom,r=o.select(\".\"+e,n.node)[0];r&&((t,e)=>{for(let e=0,r=t.length;e<r;e++)n=t[e],o.setAttrib(n,\"contentEditable\",null);var n})([r].concat(o.select(\"[contenteditable]\",r)))})),t.on(\"PreInit\",(()=>{t.serializer.addTempAttr(n)})),t.on(\"SetContent\",(()=>{const o=t.dom,r=o.select(\".\"+e)[0];if(r){o.setAttribs(r,{contentEditable:!1,[n]:!0});const t=r.firstElementChild;s(t)&&o.setAttrib(t,\"contentEditable\",!0)}}))})(t))}))}();/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireVisualBlocks = (editor, state) => {\n      editor.dispatch('VisualBlocks', {\n        state\n      });\n    };\n\n    const toggleVisualBlocks = (editor, pluginUrl, enabledState) => {\n      const dom = editor.dom;\n      dom.toggleClass(editor.getBody(), 'mce-visualblocks');\n      enabledState.set(!enabledState.get());\n      fireVisualBlocks(editor, enabledState.get());\n    };\n\n    const register$2 = (editor, pluginUrl, enabledState) => {\n      editor.addCommand('mceVisualBlocks', () => {\n        toggleVisualBlocks(editor, pluginUrl, enabledState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualblocks_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualblocks_default_state');\n\n    const setup = (editor, pluginUrl, enabledState) => {\n      editor.on('PreviewFormats AfterPreviewFormats', e => {\n        if (enabledState.get()) {\n          editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');\n        }\n      });\n      editor.on('init', () => {\n        if (isEnabledByDefault(editor)) {\n          toggleVisualBlocks(editor, pluginUrl, enabledState);\n        }\n      });\n    };\n\n    const toggleActiveState = (editor, enabledState) => api => {\n      api.setActive(enabledState.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualBlocks', editorEventCallback);\n      return () => editor.off('VisualBlocks', editorEventCallback);\n    };\n    const register = (editor, enabledState) => {\n      const onAction = () => editor.execCommand('mceVisualBlocks');\n      editor.ui.registry.addToggleButton('visualblocks', {\n        icon: 'visualblocks',\n        tooltip: 'Show blocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualblocks', {\n        text: 'Show blocks',\n        icon: 'visualblocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n    };\n\n    var Plugin = () => {\n      global.add('visualblocks', (editor, pluginUrl) => {\n        register$1(editor);\n        const enabledState = Cell(false);\n        register$2(editor, pluginUrl, enabledState);\n        register(editor, enabledState);\n        setup(editor, pluginUrl, enabledState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$2 = toggleState => {\n      const isEnabled = () => {\n        return toggleState.get();\n      };\n      return {\n        isEnabled\n      };\n    };\n\n    const fireVisualChars = (editor, state) => {\n      return editor.dispatch('VisualChars', {\n        state\n      });\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const value = element => element.dom.nodeValue;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$1 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove$3 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const read = (element, attr) => {\n      const value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$2 = (element, attr, id) => {\n      const nu = filter(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set(element, attr, nu.join(' '));\n      } else {\n        remove$3(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$1 = (element, clazz) => remove$2(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get(element);\n      if (classList.length === 0) {\n        remove$3(element, 'class');\n      }\n    };\n    const remove = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$1(element, clazz);\n      }\n      cleanClass(element);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const charMap = {\n      '\\xA0': 'nbsp',\n      '\\xAD': 'shy'\n    };\n    const charMapToRegExp = (charMap, global) => {\n      let regExp = '';\n      each(charMap, (_value, key) => {\n        regExp += key;\n      });\n      return new RegExp('[' + regExp + ']', global ? 'g' : '');\n    };\n    const charMapToSelector = charMap => {\n      let selector = '';\n      each(charMap, value => {\n        if (selector) {\n          selector += ',';\n        }\n        selector += 'span.mce-' + value;\n      });\n      return selector;\n    };\n    const regExp = charMapToRegExp(charMap);\n    const regExpGlobal = charMapToRegExp(charMap, true);\n    const selector = charMapToSelector(charMap);\n    const nbspClass = 'mce-nbsp';\n\n    const getRaw = element => element.dom.contentEditable;\n\n    const wrapCharWithSpan = value => '<span data-mce-bogus=\"1\" class=\"mce-' + charMap[value] + '\">' + value + '<\/span>';\n\n    const isWrappedNbsp = node => node.nodeName.toLowerCase() === 'span' && node.classList.contains('mce-nbsp-wrap');\n    const isMatch = n => {\n      const value$1 = value(n);\n      return isText(n) && isString(value$1) && regExp.test(value$1);\n    };\n    const isContentEditableFalse = node => isHTMLElement(node) && getRaw(node) === 'false';\n    const isChildEditable = (node, currentState) => {\n      if (isHTMLElement(node) && !isWrappedNbsp(node.dom)) {\n        const value = getRaw(node);\n        if (value === 'true') {\n          return true;\n        } else if (value === 'false') {\n          return false;\n        }\n      }\n      return currentState;\n    };\n    const filterEditableDescendants = (scope, predicate, editable) => {\n      let result = [];\n      const dom = scope.dom;\n      const children = map(dom.childNodes, SugarElement.fromDom);\n      const isEditable = node => isWrappedNbsp(node.dom) || !isContentEditableFalse(node);\n      each$1(children, x => {\n        if (editable && isEditable(x) && predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(filterEditableDescendants(x, predicate, isChildEditable(x, editable)));\n      });\n      return result;\n    };\n    const findParentElm = (elm, rootElm) => {\n      while (elm.parentNode) {\n        if (elm.parentNode === rootElm) {\n          return rootElm;\n        }\n        elm = elm.parentNode;\n      }\n      return undefined;\n    };\n    const replaceWithSpans = text => text.replace(regExpGlobal, wrapCharWithSpan);\n\n    const show = (editor, rootElm) => {\n      const dom = editor.dom;\n      const nodeList = filterEditableDescendants(SugarElement.fromDom(rootElm), isMatch, editor.dom.isEditable(rootElm));\n      each$1(nodeList, n => {\n        var _a;\n        const parent = n.dom.parentNode;\n        if (isWrappedNbsp(parent)) {\n          add(SugarElement.fromDom(parent), nbspClass);\n        } else {\n          const withSpans = replaceWithSpans(dom.encode((_a = value(n)) !== null && _a !== void 0 ? _a : ''));\n          const div = dom.create('div', {}, withSpans);\n          let node;\n          while (node = div.lastChild) {\n            dom.insertAfter(node, n.dom);\n          }\n          editor.dom.remove(n.dom);\n        }\n      });\n    };\n    const hide = (editor, rootElm) => {\n      const nodeList = editor.dom.select(selector, rootElm);\n      each$1(nodeList, node => {\n        if (isWrappedNbsp(node)) {\n          remove(SugarElement.fromDom(node), nbspClass);\n        } else {\n          editor.dom.remove(node, true);\n        }\n      });\n    };\n    const toggle = editor => {\n      const body = editor.getBody();\n      const bookmark = editor.selection.getBookmark();\n      let parentNode = findParentElm(editor.selection.getNode(), body);\n      parentNode = parentNode !== undefined ? parentNode : body;\n      hide(editor, parentNode);\n      show(editor, parentNode);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const applyVisualChars = (editor, toggleState) => {\n      fireVisualChars(editor, toggleState.get());\n      const body = editor.getBody();\n      if (toggleState.get() === true) {\n        show(editor, body);\n      } else {\n        hide(editor, body);\n      }\n    };\n    const toggleVisualChars = (editor, toggleState) => {\n      toggleState.set(!toggleState.get());\n      const bookmark = editor.selection.getBookmark();\n      applyVisualChars(editor, toggleState);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const register$2 = (editor, toggleState) => {\n      editor.addCommand('mceVisualChars', () => {\n        toggleVisualChars(editor, toggleState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualchars_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualchars_default_state');\n\n    const setup$1 = (editor, toggleState) => {\n      editor.on('init', () => {\n        applyVisualChars(editor, toggleState);\n      });\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const setup = (editor, toggleState) => {\n      const debouncedToggle = first(() => {\n        toggle(editor);\n      }, 300);\n      editor.on('keydown', e => {\n        if (toggleState.get() === true) {\n          e.keyCode === 13 ? toggle(editor) : debouncedToggle.throttle();\n        }\n      });\n      editor.on('remove', debouncedToggle.cancel);\n    };\n\n    const toggleActiveState = (editor, enabledStated) => api => {\n      api.setActive(enabledStated.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualChars', editorEventCallback);\n      return () => editor.off('VisualChars', editorEventCallback);\n    };\n    const register = (editor, toggleState) => {\n      const onAction = () => editor.execCommand('mceVisualChars');\n      editor.ui.registry.addToggleButton('visualchars', {\n        tooltip: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualchars', {\n        text: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n    };\n\n    var Plugin = () => {\n      global.add('visualchars', editor => {\n        register$1(editor);\n        const toggleState = Cell(isEnabledByDefault(editor));\n        register$2(editor, toggleState);\n        register(editor, toggleState);\n        setup(editor, toggleState);\n        setup$1(editor, toggleState);\n        return get$2(toggleState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n\n    const identity = x => {\n      return x;\n    };\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n    const regExps = {\n      aletter: '[A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05F3\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u10a0-\\u10c5\\u10d0-\\u10fa\\u10fc\\u1100-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1a00-\\u1a16\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bc0-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u24B6-\\u24E9\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2d00-\\u2d25\\u2d30-\\u2d65\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u303b\\u303c\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790\\ua791\\ua7a0-\\ua7a9\\ua7fa-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]',\n      midnumlet: \"[-'\\\\.\\u2018\\u2019\\u2024\\uFE52\\uFF07\\uFF0E]\",\n      midletter: '[:\\xB7\\xB7\\u05F4\\u2027\\uFE13\\uFE55\\uFF1A]',\n      midnum: '[\\xB1+*/,;;\\u0589\\u060C\\u060D\\u066C\\u07F8\\u2044\\uFE10\\uFE14\\uFE50\\uFE54\\uFF0C\\uFF1B]',\n      numeric: '[0-9\\u0660-\\u0669\\u066B\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\uaa50-\\uaa59\\uabf0-\\uabf9]',\n      cr: '\\\\r',\n      lf: '\\\\n',\n      newline: '[\\x0B\\f\\x85\\u2028\\u2029]',\n      extend: '[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0c01-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d02\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f\\u109a-\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b6-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u19b0-\\u19c0\\u19c8\\u19c9\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1baa\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2\\u1dc0-\\u1de6\\u1dfc-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\uA672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa7b\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe3-\\uabea\\uabec\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]',\n      format: '[\\xAD\\u0600-\\u0603\\u06DD\\u070F\\u17b4\\u17b5\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\uFEFF\\uFFF9-\\uFFFB]',\n      katakana: '[\\u3031-\\u3035\\u309B\\u309C\\u30A0-\\u30fa\\u30fc-\\u30ff\\u31f0-\\u31ff\\u32D0-\\u32FE\\u3300-\\u3357\\uff66-\\uff9d]',\n      extendnumlet: '[=_\\u203f\\u2040\\u2054\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff3f\\u2200-\\u22FF<>]',\n      punctuation: punctuationStr\n    };\n    const characterIndices = {\n      ALETTER: 0,\n      MIDNUMLET: 1,\n      MIDLETTER: 2,\n      MIDNUM: 3,\n      NUMERIC: 4,\n      CR: 5,\n      LF: 6,\n      NEWLINE: 7,\n      EXTEND: 8,\n      FORMAT: 9,\n      KATAKANA: 10,\n      EXTENDNUMLET: 11,\n      AT: 12,\n      OTHER: 13\n    };\n    const SETS$1 = [new RegExp(regExps.aletter), new RegExp(regExps.midnumlet), new RegExp(regExps.midletter), new RegExp(regExps.midnum), new RegExp(regExps.numeric), new RegExp(regExps.cr), new RegExp(regExps.lf), new RegExp(regExps.newline), new RegExp(regExps.extend), new RegExp(regExps.format), new RegExp(regExps.katakana), new RegExp(regExps.extendnumlet), new RegExp('@')];\n    const EMPTY_STRING$1 = '';\n    const PUNCTUATION$1 = new RegExp('^' + regExps.punctuation + '$');\n    const WHITESPACE$1 = /^\\s+$/;\n\n    const SETS = SETS$1;\n    const OTHER = characterIndices.OTHER;\n    const getType = char => {\n      let type = OTHER;\n      const setsLength = SETS.length;\n      for (let j = 0; j < setsLength; ++j) {\n        const set = SETS[j];\n        if (set && set.test(char)) {\n          type = j;\n          break;\n        }\n      }\n      return type;\n    };\n    const memoize = func => {\n      const cache = {};\n      return char => {\n        if (cache[char]) {\n          return cache[char];\n        } else {\n          const result = func(char);\n          cache[char] = result;\n          return result;\n        }\n      };\n    };\n    const classify = characters => {\n      const memoized = memoize(getType);\n      return map(characters, memoized);\n    };\n\n    const isWordBoundary = (map, index) => {\n      const type = map[index];\n      const nextType = map[index + 1];\n      if (index < 0 || index > map.length - 1 && index !== 0) {\n        return false;\n      }\n      if (type === characterIndices.ALETTER && nextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const nextNextType = map[index + 2];\n      if (type === characterIndices.ALETTER && (nextType === characterIndices.MIDLETTER || nextType === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextNextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const prevType = map[index - 1];\n      if ((type === characterIndices.MIDLETTER || type === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextType === characterIndices.ALETTER && prevType === characterIndices.ALETTER) {\n        return false;\n      }\n      if ((type === characterIndices.NUMERIC || type === characterIndices.ALETTER) && (nextType === characterIndices.NUMERIC || nextType === characterIndices.ALETTER)) {\n        return false;\n      }\n      if ((type === characterIndices.MIDNUM || type === characterIndices.MIDNUMLET) && nextType === characterIndices.NUMERIC && prevType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if (type === characterIndices.NUMERIC && (nextType === characterIndices.MIDNUM || nextType === characterIndices.MIDNUMLET) && nextNextType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if ((type === characterIndices.EXTEND || type === characterIndices.FORMAT) && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA || nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT) || (nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT && (nextNextType === characterIndices.ALETTER || nextNextType === characterIndices.NUMERIC || nextNextType === characterIndices.KATAKANA || nextNextType === characterIndices.EXTEND || nextNextType === characterIndices.FORMAT)) && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTEND || type === characterIndices.FORMAT)) {\n        return false;\n      }\n      if (type === characterIndices.CR && nextType === characterIndices.LF) {\n        return false;\n      }\n      if (type === characterIndices.NEWLINE || type === characterIndices.CR || type === characterIndices.LF) {\n        return true;\n      }\n      if (nextType === characterIndices.NEWLINE || nextType === characterIndices.CR || nextType === characterIndices.LF) {\n        return true;\n      }\n      if (type === characterIndices.KATAKANA && nextType === characterIndices.KATAKANA) {\n        return false;\n      }\n      if (nextType === characterIndices.EXTENDNUMLET && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTENDNUMLET)) {\n        return false;\n      }\n      if (type === characterIndices.EXTENDNUMLET && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA)) {\n        return false;\n      }\n      if (type === characterIndices.AT) {\n        return false;\n      }\n      return true;\n    };\n\n    const EMPTY_STRING = EMPTY_STRING$1;\n    const WHITESPACE = WHITESPACE$1;\n    const PUNCTUATION = PUNCTUATION$1;\n    const isProtocol = str => str === 'http' || str === 'https';\n    const findWordEnd = (characters, startIndex) => {\n      let i;\n      for (i = startIndex; i < characters.length; i++) {\n        if (WHITESPACE.test(characters[i])) {\n          break;\n        }\n      }\n      return i;\n    };\n    const findUrlEnd = (characters, startIndex) => {\n      const endIndex = findWordEnd(characters, startIndex + 1);\n      const peakedWord = characters.slice(startIndex + 1, endIndex).join(EMPTY_STRING);\n      return peakedWord.substr(0, 3) === '://' ? endIndex : startIndex;\n    };\n    const findWordsWithIndices = (chars, sChars, characterMap, options) => {\n      const words = [];\n      const indices = [];\n      let word = [];\n      for (let i = 0; i < characterMap.length; ++i) {\n        word.push(chars[i]);\n        if (isWordBoundary(characterMap, i)) {\n          const ch = sChars[i];\n          if ((options.includeWhitespace || !WHITESPACE.test(ch)) && (options.includePunctuation || !PUNCTUATION.test(ch))) {\n            const startOfWord = i - word.length + 1;\n            const endOfWord = i + 1;\n            const str = sChars.slice(startOfWord, endOfWord).join(EMPTY_STRING);\n            if (isProtocol(str)) {\n              const endOfUrl = findUrlEnd(sChars, i);\n              const url = chars.slice(endOfWord, endOfUrl);\n              Array.prototype.push.apply(word, url);\n              i = endOfUrl;\n            }\n            words.push(word);\n            indices.push({\n              start: startOfWord,\n              end: endOfWord\n            });\n          }\n          word = [];\n        }\n      }\n      return {\n        words,\n        indices\n      };\n    };\n    const getDefaultOptions = () => ({\n      includeWhitespace: false,\n      includePunctuation: false\n    });\n    const getWordsWithIndices = (chars, extract, options) => {\n      options = {\n        ...getDefaultOptions(),\n        ...options\n      };\n      const extractedChars = map(chars, extract);\n      const characterMap = classify(extractedChars);\n      return findWordsWithIndices(chars, extractedChars, characterMap, options);\n    };\n    const getWords$1 = (chars, extract, options) => getWordsWithIndices(chars, extract, options).words;\n\n    const getWords = getWords$1;\n\n    const removeZwsp$1 = s => s.replace(/\\uFEFF/g, '');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const getText = (node, schema) => {\n      const blockElements = schema.getBlockElements();\n      const voidElements = schema.getVoidElements();\n      const isNewline = node => blockElements[node.nodeName] || voidElements[node.nodeName];\n      const textBlocks = [];\n      let txt = '';\n      const treeWalker = new global$1(node, node);\n      let tempNode;\n      while (tempNode = treeWalker.next()) {\n        if (tempNode.nodeType === 3) {\n          txt += removeZwsp$1(tempNode.data);\n        } else if (isNewline(tempNode) && txt.length) {\n          textBlocks.push(txt);\n          txt = '';\n        }\n      }\n      if (txt.length) {\n        textBlocks.push(txt);\n      }\n      return textBlocks;\n    };\n\n    const removeZwsp = text => text.replace(/\\u200B/g, '');\n    const strLen = str => str.replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, '_').length;\n    const countWords = (node, schema) => {\n      const text = removeZwsp(getText(node, schema).join('\\n'));\n      return getWords(text.split(''), identity).length;\n    };\n    const countCharacters = (node, schema) => {\n      const text = getText(node, schema).join('');\n      return strLen(text);\n    };\n    const countCharactersWithoutSpaces = (node, schema) => {\n      const text = getText(node, schema).join('').replace(/\\s/g, '');\n      return strLen(text);\n    };\n\n    const createBodyCounter = (editor, count) => () => count(editor.getBody(), editor.schema);\n    const createSelectionCounter = (editor, count) => () => count(editor.selection.getRng().cloneContents(), editor.schema);\n    const createBodyWordCounter = editor => createBodyCounter(editor, countWords);\n    const get = editor => ({\n      body: {\n        getWordCount: createBodyWordCounter(editor),\n        getCharacterCount: createBodyCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createBodyCounter(editor, countCharactersWithoutSpaces)\n      },\n      selection: {\n        getWordCount: createSelectionCounter(editor, countWords),\n        getCharacterCount: createSelectionCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createSelectionCounter(editor, countCharactersWithoutSpaces)\n      },\n      getCount: createBodyWordCounter(editor)\n    });\n\n    const open = (editor, api) => {\n      editor.windowManager.open({\n        title: 'Word Count',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'table',\n            header: ['Count', 'Document', 'Selection'],\n            cells: [['Words', String(api.body.getWordCount()), String(api.selection.getWordCount())], ['Characters (no spaces)', String(api.body.getCharacterCountWithoutSpaces()), String(api.selection.getCharacterCountWithoutSpaces())], ['Characters', String(api.body.getCharacterCount()), String(api.selection.getCharacterCount())]]\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }]\n      });\n    };\n\n    const register$1 = (editor, api) => {\n      editor.addCommand('mceWordCount', () => open(editor, api));\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const fireWordCountUpdate = (editor, api) => {\n      editor.dispatch('wordCountUpdate', {\n        wordCount: {\n          words: api.body.getWordCount(),\n          characters: api.body.getCharacterCount(),\n          charactersWithoutSpaces: api.body.getCharacterCountWithoutSpaces()\n        }\n      });\n    };\n\n    const updateCount = (editor, api) => {\n      fireWordCountUpdate(editor, api);\n    };\n    const setup = (editor, api, delay) => {\n      const debouncedUpdate = first(() => updateCount(editor, api), delay);\n      editor.on('init', () => {\n        updateCount(editor, api);\n        global.setEditorTimeout(editor, () => {\n          editor.on('SetContent BeforeAddUndo Undo Redo ViewUpdate keyup', debouncedUpdate.throttle);\n        }, 0);\n        editor.on('remove', debouncedUpdate.cancel);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceWordCount');\n      editor.ui.registry.addButton('wordcount', {\n        tooltip: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('wordcount', {\n        text: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n    };\n\n    var Plugin = (delay = 300) => {\n      global$2.add('wordcount', editor => {\n        const api = get(editor);\n        register$1(editor, api);\n        register(editor);\n        setup(editor, api, delay);\n        return api;\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const getOption = name => editor => editor.options.get(name);\n    const register = editor => {\n      editor.options.register('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getSnSettings = getOption('sn_settings');\n    const getPredictiveTextConfig = editor => {\n      const snSettings = getSnSettings(editor) || {};\n      return snSettings.predictive_text || {};\n    };\n\n    class SNPredictiveTextService {\n      static async fetchPrediction({\n        text,\n        mode,\n        resourceSysId,\n        resourceTable,\n        nowId,\n        additionalInfo,\n        signal,\n        fetch: customFetch\n      }) {\n        var _a, _b;\n        if (!(text === null || text === void 0 ? void 0 : text.trim())) return null;\n        const body = {\n          text,\n          mode,\n          sys_id: resourceSysId,\n          table: resourceTable,\n          additional_info: additionalInfo\n        };\n        const headers = {\n          'Content-Type': 'application/json',\n          'X-UserToken': window.g_ck,\n          ...(nowId && {\n            'x-request-cancelable': nowId\n          })\n        };\n        const fetchFn = customFetch || fetch;\n        try {\n          const response = await fetchFn(this.apiUrl, {\n            method: 'POST',\n            headers,\n            body: JSON.stringify(body),\n            signal\n          });\n          if (!response.ok) {\n            console.warn(\"Prediction request failed: HTTP \".concat(response.status));\n            return null;\n          }\n          const data = await response.json();\n          return (_b = (_a = data === null || data === void 0 ? void 0 : data.result) === null || _a === void 0 ? void 0 : _a.model_output) !== null && _b !== void 0 ? _b : null;\n        } catch (error) {\n          if (error instanceof Error && error.name === 'AbortError') {\n            throw error;\n          }\n          console.error('Prediction API error:', error);\n          return null;\n        }\n      }\n    }\n    SNPredictiveTextService.apiUrl = '/api/sn_wwna/predictive_text_assistance/predict';\n\n    const DELETE_KEYS = new Set([global.BACKSPACE, global.DELETE]);\n    const ACCEPT_KEYS = new Set([global.TAB, global.RIGHT]);\n    const SKIP_KEYS = new Set([global.ESC, global.ENTER]);\n    const isAcceptKey = e => ACCEPT_KEYS.has(e.keyCode) || e.key === 'Tab' || e.key === 'ArrowRight';\n    const isSkipKey = e => SKIP_KEYS.has(e.keyCode) || e.key === 'Esc' || e.key === 'Enter';\n    const isDeleteKey = e => DELETE_KEYS.has(e.keyCode) || e.key === 'Backspace' || e.key === 'Delete';\n    const isEscapeKey = e => e.keyCode === global.ESC || e.key === 'Esc';\n    class SNPredictiveText {\n      constructor() {\n        this.ghostNode = null;\n        this.currentGhostText = '';\n        this.debounceDelay = 500;\n        this.activeRequestId = 0;\n        this.abortController = null;\n      }\n      init(editor) {\n        try {\n          this.editor = editor;\n          this.updateSettings();\n          this.bindEvents();\n        } catch (error) {\n          console.error('Error initializing predictive text plugin:', error);\n        }\n      }\n      isEnabled() {\n        return !!this.settings && Object.keys(this.settings).length > 0;\n      }\n      updateSettings() {\n        var _a, _b;\n        this.settings = getPredictiveTextConfig(this.editor);\n        this.debounceDelay = (_b = (_a = this.settings) === null || _a === void 0 ? void 0 : _a.debounce) !== null && _b !== void 0 ? _b : this.debounceDelay;\n        this.resetGhostText();\n      }\n      cancelPendingPrediction() {\n        var _a;\n        clearTimeout(this.debounceTimer);\n        (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();\n        this.abortController = null;\n      }\n      bindEvents() {\n        const editor = this.editor;\n        editor.on('keydown', e => {\n          var _a;\n          try {\n            if (!this.ghostNode) return;\n            if (isAcceptKey(e)) {\n              e.preventDefault();\n              return this.commitGhostText();\n            }\n            if (isSkipKey(e)) {\n              e.preventDefault();\n              this.cancelPendingPrediction();\n              if (this.currentGhostText) {\n                this.editor.dispatch('sn_predictive_text.text_rejected', {\n                  data: {\n                    rejectedText: this.currentGhostText,\n                    rejectionKey: isEscapeKey(e) ? 'ESC' : 'ENTER'\n                  }\n                });\n              }\n              return this.resetGhostText();\n            }\n            const isChar = ((_a = e.key) === null || _a === void 0 ? void 0 : _a.length) === 1;\n            if (isDeleteKey(e) || isChar) {\n              this.cancelPendingPrediction();\n              return this.resetGhostText();\n            }\n          } catch (error) {\n            console.error('Error in keydown handler:', error);\n          }\n        });\n        editor.on('keyup', e => {\n          var _a;\n          try {\n            if (e.keyCode === global.ESC || e.isComposing) return;\n            this.resetGhostText();\n            const isChar = ((_a = e.key) === null || _a === void 0 ? void 0 : _a.length) === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\n            if (isChar) {\n              this.debounceFetchPrediction();\n            }\n          } catch (error) {\n            console.error('Error in keyup handler:', error);\n          }\n        });\n        editor.on('ExecCommand', e => {\n          try {\n            const cmd = e.command;\n            if (cmd === 'Undo' || cmd === 'Redo') {\n              this.cancelPendingPrediction();\n              this.resetGhostText();\n            }\n          } catch (error) {\n            console.error('Error in ExecCommand handler:', error);\n          }\n        });\n        editor.on('sn_predictive_text.update_settings', () => {\n          try {\n            this.updateSettings();\n          } catch (error) {\n            console.error('Error updating settings:', error);\n          }\n        });\n      }\n      resetGhostText() {\n        this.removeGhostTextNode();\n        this.currentGhostText = '';\n      }\n      getCurrentFragment() {\n        try {\n          const editor = this.editor;\n          const sel = editor.selection;\n          const cursorRng = sel.getRng();\n          const body = editor.getBody();\n          if (!body) return null;\n          const fragmentRange = editor.dom.createRng();\n          fragmentRange.setStart(body, 0);\n          fragmentRange.setEnd(cursorRng.startContainer, cursorRng.startOffset);\n          const fragment = fragmentRange.toString();\n          if (!fragment.trim()) return null;\n          return {\n            fragment,\n            range: cursorRng\n          };\n        } catch (error) {\n          console.error('Error getting current fragment:', error);\n          return null;\n        }\n      }\n      getGhostText(typed, prediction) {\n        if (!typed || !prediction) return '';\n        return prediction;\n      }\n      debounceFetchPrediction() {\n        if (!this.isEnabled()) return;\n        clearTimeout(this.debounceTimer);\n        this.debounceTimer = window.setTimeout(() => this.fetchPrediction(), this.debounceDelay);\n      }\n      async fetchPrediction() {\n        var _a, _b, _c, _d, _e, _f;\n        if (!this.isEnabled()) return;\n        const fragmentInfo = this.getCurrentFragment();\n        if (!fragmentInfo) {\n          this.resetGhostText();\n          return;\n        }\n        const requestId = ++this.activeRequestId;\n        this.abortController = new AbortController();\n        try {\n          const result = await SNPredictiveTextService.fetchPrediction({\n            text: fragmentInfo.fragment,\n            mode: ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.mode) || 'chat',\n            resourceTable: ((_b = this.settings) === null || _b === void 0 ? void 0 : _b.resourceTable) || '',\n            resourceSysId: ((_c = this.settings) === null || _c === void 0 ? void 0 : _c.resourceSysId) || '',\n            nowId: ((_d = this.settings) === null || _d === void 0 ? void 0 : _d.nowId) || '',\n            additionalInfo: ((_e = this.settings) === null || _e === void 0 ? void 0 : _e.additionalInfo) || {},\n            signal: this.abortController.signal,\n            fetch: (_f = this.settings) === null || _f === void 0 ? void 0 : _f.fetch\n          });\n          this.abortController = null;\n          if (requestId !== this.activeRequestId) return;\n          if (!result) return this.resetGhostText();\n          const currentFragment = this.getCurrentFragment();\n          if (!currentFragment || currentFragment.fragment !== fragmentInfo.fragment) {\n            return this.resetGhostText();\n          }\n          this.renderGhostText(fragmentInfo, result);\n        } catch (error) {\n          if (error instanceof Error && error.name === 'AbortError') {\n            return;\n          }\n          console.error('Prediction fetch error:', error);\n        }\n      }\n      renderGhostText(fragmentInfo, prediction) {\n        try {\n          if (!this.isEnabled()) return;\n          this.removeGhostTextNode();\n          const remaining = this.getGhostText(fragmentInfo.fragment, prediction);\n          if (!remaining) return;\n          const span = this.editor.dom.create('span', {\n            class: 'sn-ghost-text',\n            'data-mce-bogus': 'all'\n          }, remaining);\n          this.currentGhostText = prediction;\n          const rng = fragmentInfo.range.cloneRange();\n          rng.collapse(false);\n          rng.insertNode(span);\n          const cursorRng = this.editor.dom.createRng();\n          cursorRng.setStartBefore(span);\n          cursorRng.collapse(true);\n          this.editor.selection.setRng(cursorRng);\n          this.ghostNode = span;\n        } catch (error) {\n          console.error('Error rendering ghost text:', error);\n          this.resetGhostText();\n        }\n      }\n      removeGhostTextNode() {\n        var _a;\n        try {\n          (_a = this.ghostNode) === null || _a === void 0 ? void 0 : _a.remove();\n        } catch (error) {\n          console.error('Error removing ghost text node:', error);\n        } finally {\n          this.ghostNode = null;\n        }\n      }\n      commitGhostText() {\n        try {\n          const info = this.getCurrentFragment();\n          if (!info || !this.currentGhostText) return;\n          const remaining = this.getGhostText(info.fragment, this.currentGhostText);\n          if (!remaining) return this.resetGhostText();\n          this.cancelPendingPrediction();\n          this.editor.dispatch('sn_predictive_text.text_accepted', {\n            data: {\n              acceptedText: remaining,\n              contextFragment: info.fragment,\n              fullPrediction: this.currentGhostText\n            }\n          });\n          this.editor.selection.setRng(info.range);\n          this.editor.insertContent(remaining);\n          this.resetGhostText();\n        } catch (error) {\n          console.error('Error committing ghost text:', error);\n          this.resetGhostText();\n        }\n      }\n    }\n\n    var Plugin = () => {\n      global$1.add('sn_predictive_text', editor => {\n        register(editor);\n        return new SNPredictiveText();\n      });\n    };\n\n    Plugin();\n\n})();\ntinymce.IconManager.add('default', {\n  icons: {\n    'accessibility-check': '<svg width=\"24\" height=\"24\"><path d=\"M12 2a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.1.9-2 2-2Zm8 7h-5v12c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5c0-.6-.4-1-1-1a1 1 0 0 0-1 1v5c0 .6-.4 1-1 1a1 1 0 0 1-1-1V9H4a1 1 0 1 1 0-2h16c.6 0 1 .4 1 1s-.4 1-1 1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'accordion-toggle': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3 7.3a1 1 0 0 1 1.4 0L16 9.6l2.3-2.3a1 1 0 1 1 1.4 1.4L16 12.4l-3.7-3.7a1 1 0 0 1 0-1.4ZM4.3 11.7a1 1 0 0 1 0-1.4L6.6 8 4.3 5.7a1 1 0 0 1 1.4-1.4L9.4 8l-3.7 3.7a1 1 0 0 1-1.4 0Z\"/><\/svg>',\n    'accordion': '<svg width=\"24\" height=\"24\"><rect x=\"12\" y=\"7\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"11\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"15\" width=\"6\" height=\"2\" rx=\"1\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.3 7.3a1 1 0 0 1 1.4 0L6 9.6l2.3-2.3a1 1 0 0 1 1.4 1.4L6 12.4 2.3 8.7a1 1 0 0 1 0-1.4Z\"/><\/svg>',\n    'action-next': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M5.7 7.3a1 1 0 0 0-1.4 1.4l7.7 7.7 7.7-7.7a1 1 0 1 0-1.4-1.4L12 13.6 5.7 7.3Z\"/><\/svg>',\n    'action-prev': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M18.3 15.7a1 1 0 0 0 1.4-1.4L12 6.6l-7.7 7.7a1 1 0 0 0 1.4 1.4L12 9.4l6.3 6.3Z\"/><\/svg>',\n    'addtag': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 5a2 2 0 0 1 1.6.8L21 12l-4.4 6.2a2 2 0 0 1-1.6.8h-3v-2h3l3.5-5L15 7H5v3H3V7c0-1.1.9-2 2-2h10Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 12a1 1 0 0 0-1 1v2H3a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2H7v-2c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'ai-prompt': '<svg width=\"24\" height=\"24\"><g clip-path=\"url(#a)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 6.7a1 1 0 0 0-1.4 0l-9.9 10a1 1 0 0 0 0 1.3l2.1 2.1c.4.4 1 .4 1.4 0l10-9.9c.3-.3.3-1 0-1.4l-2.2-2Zm1.4 2.8-2-2-3 2.7 2.2 2.2 2.8-2.9Z\"/><path d=\"m18.5 7.3-.7-1.5-1.5-.8 1.5-.7.7-1.5.7 1.5 1.5.7-1.5.8-.7 1.5ZM18.5 16.5l-.7-1.6-1.5-.7 1.5-.7.7-1.6.7 1.6 1.5.7-1.5.7-.7 1.6ZM9.7 7.3 9 5.8 7.5 5 9 4.3l.7-1.5.7 1.5L12 5l-1.5.8-.7 1.5Z\"/><\/g><defs><clipPath id=\"a\"><path d=\"M0 0h24v24H0z\"/><\/clipPath><\/defs><\/svg>',\n    'ai': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H5Zm6.8 11.5.5 1.2a68.3 68.3 0 0 0 .7 1.1l.4.1c.3 0 .5 0 .7-.3.2-.1.3-.3.3-.6l-.3-1-2.6-6.2a20.4 20.4 0 0 0-.5-1.3l-.5-.4-.7-.2c-.2 0-.5 0-.6.2-.2 0-.4.2-.5.4l-.3.6-.3.7L5.7 15l-.2.6-.1.4c0 .3 0 .5.3.7l.6.2c.3 0 .5 0 .7-.2l.4-1 .5-1.2h3.9ZM9.8 9l1.5 4h-3l1.5-4Zm5.6-.9v7.6c0 .4 0 .7.2 1l.7.2c.3 0 .6 0 .8-.3l.2-.9V8.1c0-.4 0-.7-.2-.9a1 1 0 0 0-.8-.3c-.2 0-.5.1-.7.3l-.2 1Z\"/><\/svg>',\n    'align-center': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm3 4h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm-3-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-justify': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-left': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-none': '<svg width=\"24\" height=\"24\"><path d=\"M14.2 5 13 7H5a1 1 0 1 1 0-2h9.2Zm4 0h.8a1 1 0 0 1 0 2h-2l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h6.8Zm4 0H19a1 1 0 0 1 0 2h-4.4l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h4.4Zm4 0H19a1 1 0 0 1 0 2h-6.8l1.2-2ZM7 17l-1.2 2H5a1 1 0 0 1 0-2h2Zm4 0h8a1 1 0 0 1 0 2H9.8l1.2-2Zm5.2-13.5 1.3.7-9.7 16.3-1.3-.7 9.7-16.3Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-right': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm6 4h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-6-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'arrow-left': '<svg width=\"24\" height=\"24\"><path d=\"m5.6 13 12 6a1 1 0 0 0 1.4-1V6a1 1 0 0 0-1.4-.9l-12 6a1 1 0 0 0 0 1.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'arrow-right': '<svg width=\"24\" height=\"24\"><path d=\"m18.5 13-12 6A1 1 0 0 1 5 18V6a1 1 0 0 1 1.4-.9l12 6a1 1 0 0 1 0 1.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'bold': '<svg width=\"24\" height=\"24\"><path d=\"M7.8 19c-.3 0-.5 0-.6-.2l-.2-.5V5.7c0-.2 0-.4.2-.5l.6-.2h5c1.5 0 2.7.3 3.5 1 .7.6 1.1 1.4 1.1 2.5a3 3 0 0 1-.6 1.9c-.4.6-1 1-1.6 1.2.4.1.9.3 1.3.6s.8.7 1 1.2c.4.4.5 1 .5 1.6 0 1.3-.4 2.3-1.3 3-.8.7-2.1 1-3.8 1H7.8Zm5-8.3c.6 0 1.2-.1 1.6-.5.4-.3.6-.7.6-1.3 0-1.1-.8-1.7-2.3-1.7H9.3v3.5h3.4Zm.5 6c.7 0 1.3-.1 1.7-.4.4-.4.6-.9.6-1.5s-.2-1-.7-1.4c-.4-.3-1-.4-2-.4H9.4v3.8h4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'bookmark': '<svg width=\"24\" height=\"24\"><path d=\"M6 4v17l6-4 6 4V4c0-.6-.4-1-1-1H7a1 1 0 0 0-1 1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'border-style': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"6\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"3\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"6.8\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"10.6\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"14.4\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"18.2\" y=\"16\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"13\" y=\"11\" rx=\"1\"/><\/g><\/svg>',\n    'border-width': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"5\" x=\"3\" y=\"5\" rx=\"1\"/><rect width=\"18\" height=\"3.5\" x=\"3\" y=\"11.5\" rx=\"1\"/><rect width=\"18\" height=\"2\" x=\"3\" y=\"17\" rx=\"1\"/><\/g><\/svg>',\n    'brightness': '<svg width=\"24\" height=\"24\"><path d=\"M12 17c.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7v-1c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3Zm0-10a1 1 0 0 1-.7-.3A1 1 0 0 1 11 6V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3Zm7 4c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-1a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1ZM7 12c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H5a1 1 0 0 1-.7-.3A1 1 0 0 1 4 12c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1c.3 0 .5.1.7.3.2.2.3.4.3.7Zm10 3.5.7.8c.2.1.3.4.3.6 0 .3-.1.6-.3.8a1 1 0 0 1-.8.3 1 1 0 0 1-.6-.3l-.8-.7a1 1 0 0 1-.3-.8c0-.2.1-.5.3-.7a1 1 0 0 1 1.4 0Zm-10-7-.7-.8a1 1 0 0 1-.3-.6c0-.3.1-.6.3-.8.2-.2.5-.3.8-.3.2 0 .5.1.7.3l.7.7c.2.2.3.5.3.8 0 .2-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.8-.3Zm10 0a1 1 0 0 1-.8.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.6.3-.8l.8-.7c.1-.2.4-.3.6-.3.3 0 .6.1.8.3.2.2.3.5.3.8 0 .2-.1.5-.3.7l-.7.7Zm-10 7c.2-.2.5-.3.8-.3.2 0 .5.1.7.3a1 1 0 0 1 0 1.4l-.8.8a1 1 0 0 1-.6.3 1 1 0 0 1-.8-.3 1 1 0 0 1-.3-.8c0-.2.1-.5.3-.6l.7-.8ZM12 8a4 4 0 0 1 3.7 2.4 4 4 0 0 1 0 3.2A4 4 0 0 1 12 16a4 4 0 0 1-3.7-2.4 4 4 0 0 1 0-3.2A4 4 0 0 1 12 8Zm0 6.5c.7 0 1.3-.2 1.8-.7.5-.5.7-1.1.7-1.8s-.2-1.3-.7-1.8c-.5-.5-1.1-.7-1.8-.7s-1.3.2-1.8.7c-.5.5-.7 1.1-.7 1.8s.2 1.3.7 1.8c.5.5 1.1.7 1.8.7Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'browse': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4v-2h4V8H5v10h4v2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9.4-2.3 2.3a1 1 0 1 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 0 1-1.4 1.4L13 13.4V20a1 1 0 0 1-2 0v-6.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'cancel': '<svg width=\"24\" height=\"24\"><path d=\"M12 4.6a7.4 7.4 0 1 1 0 14.8 7.4 7.4 0 0 1 0-14.8ZM12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm0 8L14.8 8l1 1.1-2.7 2.8 2.7 2.7-1.1 1.1-2.7-2.7-2.7 2.7-1-1.1 2.6-2.7-2.7-2.7 1-1.1 2.8 2.7Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'cell-background-color': '<svg width=\"24\" height=\"24\"><path d=\"m15.7 2 1.6 1.6-2.7 2.6 5.9 5.8c.7.7.7 1.7 0 2.4l-6.3 6.1a1.7 1.7 0 0 1-2.4 0l-6.3-6.1c-.7-.7-.7-1.7 0-2.4L15.7 2ZM18 12l-4.5-4L9 12h9ZM4 16s2 2.4 2 3.8C6 21 5.1 22 4 22s-2-1-2-2.2C2 18.4 4 16 4 16Z\"/><\/svg>',\n    'cell-border-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M5 13v5h2v2H5a2 2 0 0 1-2-2v-5h2zm8-7V4h6a2 2 0 0 1 2 2h-8z\" opacity=\".2\"/><path fill-rule=\"nonzero\" d=\"M13 4v2H5v7H3V6c0-1.1.9-2 2-2h8zm-2.6 14.1.1-.1.1.1.2.3.2.2.2.2c.4.6.8 1.2.8 1.7 0 .8-.7 1.5-1.5 1.5S9 21.3 9 20.5c0-.5.4-1.1.8-1.7l.2-.2.2-.2.2-.3z\"/><path d=\"m13 11-2 2H5v-2h6V6h2z\"/><path fill-rule=\"nonzero\" d=\"m18.4 8 1 1-1.8 1.9 4 4c.5.4.5 1.1 0 1.6l-4.3 4.2a1.2 1.2 0 0 1-1.6 0l-4.4-4.2c-.4-.5-.4-1.2 0-1.7l7-6.8Zm1.6 7-3-3-3 3h6Z\"/><\/g><\/svg>',\n    'change-case': '<svg width=\"24\" height=\"24\"><path d=\"M18.4 18.2v-.6c-.5.8-1.3 1.2-2.4 1.2-2.2 0-3.3-1.6-3.3-4.8 0-3.1 1-4.7 3.3-4.7 1.1 0 1.8.3 2.4 1.1v-.6c0-.5.4-.8.8-.8s.8.3.8.8v8.4c0 .5-.4.8-.8.8a.8.8 0 0 1-.8-.8zm-2-7.4c-1.3 0-1.8.9-1.8 3.2 0 2.4.5 3.3 1.7 3.3 1.3 0 1.8-.9 1.8-3.2 0-2.4-.5-3.3-1.7-3.3zM10 15.7H5.5l-.8 2.6a1 1 0 0 1-1 .7h-.2a.7.7 0 0 1-.7-1l4-12a1 1 0 0 1 2 0l4 12a.7.7 0 0 1-.8 1h-.2a1 1 0 0 1-1-.7l-.8-2.6zm-.3-1.5-2-6.5-1.9 6.5h3.9z\" fill-rule=\"evenodd\"/><\/svg>',\n    'character-count': '<svg width=\"24\" height=\"24\"><path d=\"M4 11.5h16v1H4v-1Zm4.8-6.8V10H7.7V5.8h-1v-1h2ZM11 8.3V9h2v1h-3V7.7l2-1v-.9h-2v-1h3v2.4l-2 1Zm6.3-3.4V10h-3.1V9h2.1V8h-2.1V6.8h2.1v-1h-2.1v-1h3.1ZM5.8 16.4c0-.5.2-.8.5-1 .2-.2.6-.3 1.2-.3l.8.1c.2 0 .4.2.5.3l.4.4v2.8l.2.3H8.2V18.7l-.6.3H7c-.4 0-.7 0-1-.2a1 1 0 0 1-.3-.9c0-.3 0-.6.3-.8.3-.2.7-.4 1.2-.4l.6-.2h.3v-.2l-.1-.2a.8.8 0 0 0-.5-.1 1 1 0 0 0-.4 0l-.3.4h-1Zm2.3.8h-.2l-.2.1-.4.1a1 1 0 0 0-.4.2l-.2.2.1.3.5.1h.4l.4-.4v-.6Zm2-3.4h1.2v1.7l.5-.3h.5c.5 0 .9.1 1.2.5.3.4.5.8.5 1.4 0 .6-.2 1.1-.5 1.5-.3.4-.7.6-1.3.6l-.6-.1-.4-.4v.4h-1.1v-5.4Zm1.1 3.3c0 .3 0 .6.2.8a.7.7 0 0 0 1.2 0l.2-.8c0-.4 0-.6-.2-.8a.7.7 0 0 0-.6-.3l-.6.3-.2.8Zm6.1-.5c0-.2 0-.3-.2-.4a.8.8 0 0 0-.5-.2c-.3 0-.5.1-.6.3l-.2.9c0 .3 0 .6.2.8.1.2.3.3.6.3.2 0 .4 0 .5-.2l.2-.4h1.1c0 .5-.3.8-.6 1.1a2 2 0 0 1-1.3.4c-.5 0-1-.2-1.3-.6a2 2 0 0 1-.5-1.4c0-.6.1-1.1.5-1.5.3-.4.8-.5 1.4-.5.5 0 1 0 1.2.3.4.3.5.7.5 1.2h-1v-.1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checklist-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M5 17h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2zm14.2 11c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 8c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checklist': '<svg width=\"24\" height=\"24\"><path d=\"M11 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2h-8a1 1 0 0 1 0-2ZM7.2 16c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 8c-.2.3-.7.4-1 0L3.8 6.9a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checkmark': '<svg width=\"24\" height=\"24\"><path d=\"M18.2 5.4a1 1 0 0 1 1.6 1.2l-8 12a1 1 0 0 1-1.5.1l-5-5a1 1 0 1 1 1.4-1.4l4.1 4.1 7.4-11Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-down': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 2.2c.3-.3.8-.3 1 0 .4.4.4.9 0 1.2L5.7 7.8c-.3.3-.9.3-1.2 0L.2 3.4a.8.8 0 0 1 0-1.2c.3-.3.8-.3 1.1 0L5 6l3.7-3.8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-left': '<svg width=\"10\" height=\"10\"><path d=\"M7.8 1.3 4 5l3.8 3.7c.3.3.3.8 0 1-.4.4-.9.4-1.2 0L2.2 5.7a.8.8 0 0 1 0-1.2L6.6.2C7 0 7.4 0 7.8.2c.3.3.3.8 0 1.1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-right': '<svg width=\"10\" height=\"10\"><path d=\"M2.2 1.3a.8.8 0 0 1 0-1c.4-.4.9-.4 1.2 0l4.4 4.1c.3.4.3.9 0 1.2L3.4 9.8c-.3.3-.8.3-1.2 0a.8.8 0 0 1 0-1.1L6 5 2.2 1.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-up': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 7.8 5 4 1.3 7.8c-.3.3-.8.3-1 0a.8.8 0 0 1 0-1.2l4.1-4.4c.3-.3.9-.3 1.2 0l4.2 4.4c.3.3.3.9 0 1.2-.3.3-.8.3-1.1 0Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'close': '<svg width=\"24\" height=\"24\"><path d=\"M17.3 8.2 13.4 12l3.9 3.8a1 1 0 0 1-1.5 1.5L12 13.4l-3.8 3.9a1 1 0 0 1-1.5-1.5l3.9-3.8-3.9-3.8a1 1 0 0 1 1.5-1.5l3.8 3.9 3.8-3.9a1 1 0 0 1 1.5 1.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'code-sample': '<svg width=\"24\" height=\"26\"><path d=\"M7.1 11a2.8 2.8 0 0 1-.8 2 2.8 2.8 0 0 1 .8 2v1.7c0 .3.1.6.4.8.2.3.5.4.8.4.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.7 0-1.4-.3-2-.8-.5-.6-.8-1.3-.8-2V15c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4v-.8c0-.2.2-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V9.3c0-.7.3-1.4.8-2 .6-.5 1.3-.8 2-.8.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8V11Zm9.8 0V9.3c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4V7c0-.2.1-.4.4-.4.7 0 1.4.3 2 .8.5.6.8 1.3.8 2V11c0 .3.1.6.4.8.2.3.5.4.8.4.2 0 .4.2.4.4v.8c0 .2-.2.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8v1.7c0 .7-.3 1.4-.8 2-.6.5-1.3.8-2 .8a.4.4 0 0 1-.4-.4v-.8c0-.2.1-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V15a2.8 2.8 0 0 1 .8-2 2.8 2.8 0 0 1-.8-2Zm-3.3-.4c0 .4-.1.8-.5 1.1-.3.3-.7.5-1.1.5-.4 0-.8-.2-1.1-.5-.4-.3-.5-.7-.5-1.1 0-.5.1-.9.5-1.2.3-.3.7-.4 1.1-.4.4 0 .8.1 1.1.4.4.3.5.7.5 1.2ZM12 13c.4 0 .8.1 1.1.5.4.3.5.7.5 1.1 0 1-.1 1.6-.5 2a3 3 0 0 1-1.1 1c-.4.3-.8.4-1.1.4a.5.5 0 0 1-.5-.5V17a3 3 0 0 0 1-.2l.6-.6c-.6 0-1-.2-1.3-.5-.2-.3-.3-.7-.3-1 0-.5.1-1 .5-1.2.3-.4.7-.5 1.1-.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-levels': '<svg width=\"24\" height=\"24\"><path d=\"M17.5 11.4A9 9 0 0 1 18 14c0 .5 0 1-.2 1.4 0 .4-.3.9-.5 1.3a6.2 6.2 0 0 1-3.7 3 5.7 5.7 0 0 1-3.2 0A5.9 5.9 0 0 1 7.6 18a6.2 6.2 0 0 1-1.4-2.6 6.7 6.7 0 0 1 0-2.8c0-.4.1-.9.3-1.3a13.6 13.6 0 0 1 2.3-4A20 20 0 0 1 12 4a26.4 26.4 0 0 1 3.2 3.4 18.2 18.2 0 0 1 2.3 4Zm-2 4.5c.4-.7.5-1.4.5-2a7.3 7.3 0 0 0-1-3.2c.2.6.2 1.2.2 1.9a4.5 4.5 0 0 1-1.3 3 5.3 5.3 0 0 1-2.3 1.5 4.9 4.9 0 0 1-2 .1 4.3 4.3 0 0 0 2.4.8 4 4 0 0 0 2-.6 4 4 0 0 0 1.5-1.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-picker': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 0 0 0 18 1.5 1.5 0 0 0 1.1-2.5c-.2-.3-.4-.6-.4-1 0-.8.7-1.5 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Zm-5.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3-4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'color-swatch-remove-color': '<svg width=\"24\" height=\"24\"><path stroke=\"#000\" stroke-width=\"2\" d=\"M21 3 3 21\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-swatch': '<svg width=\"24\" height=\"24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"1\" fill-rule=\"evenodd\"/><\/svg>',\n    'comment-add': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/><path d=\"M13 10h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 0v-2H9a1 1 0 0 1 0-2h2V8a1 1 0 0 1 2 0v2Z\"/><\/g><\/svg>',\n    'comment': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/><\/svg>',\n    'contrast': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-6 8a6 6 0 0 0 6 6V6a6 6 0 0 0-6 6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'copy': '<svg width=\"24\" height=\"24\"><path d=\"M16 3H6a2 2 0 0 0-2 2v11h2V5h10V3Zm1 4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7Zm0 12V9h-7v10h7Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'crop': '<svg width=\"24\" height=\"24\"><path d=\"M17 8v7h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v2c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-2H7V9H5a1 1 0 1 1 0-2h2V5c0-.6.4-1 1-1s1 .4 1 1v2h7l3-3 1 1-3 3ZM9 9v5l5-5H9Zm1 6h5v-5l-5 5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'cut-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M7.2 4.5c.9 0 1.6.4 2.2 1A3.7 3.7 0 0 1 10.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 0 1 2 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 0 1 7 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7Zm12.3 5h-3v10h3v-10ZM8 13.8h-.3l-.4.2a2.8 2.8 0 0 0-.7.4v.1a2.8 2.8 0 0 0-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 0 0 .8-.3 2.4 2.4 0 0 0 .7-.7 2.5 2.5 0 0 0 .3-.8 1.5 1.5 0 0 0 0-.8 1 1 0 0 0-.2-.4 1 1 0 0 0-.5-.2H8Zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4ZM7 5.8h-.4a1 1 0 0 0-.5.3 1 1 0 0 0-.2.5v.7a2.5 2.5 0 0 0 .3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 0 0 0-.8 2.6 2.6 0 0 0-.3-.8A2.5 2.5 0 0 0 7.7 6l-.4-.1H7Z\"/><\/svg>',\n    'cut-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l2 2V3h14ZM8.5 15.3h-.3a2.6 2.6 0 0 0-.8.4 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3L9 18V18l.4-.4.2-.4.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2h-.5Zm7 0H15a1 1 0 0 0-.4.3 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4a2.8 2.8 0 0 0 .5.7h.1a2.8 2.8 0 0 0 .8.6l.4.1h.7l.5-.2.2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3h-.3ZM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4Zm8.5-7.1h-11v2h11v-2Z\"/><\/svg>',\n    'cut': '<svg width=\"24\" height=\"24\"><path d=\"M18 15c.6.7 1 1.4 1 2.3 0 .8-.2 1.5-.7 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l6 6 6-6 .5 1a3.3 3.3 0 0 1 0 2c0 .4-.3.7-.5 1l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8Zm-8.5 2.2.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2 1.6 1.6 0 0 0-.8 0 2.6 2.6 0 0 0-.8.3 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3 2.8 2.8 0 0 0 1-1Zm2.5-2.8c.4 0 .7-.1 1-.4.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4s-.7.1-1 .4c-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4Zm5.4 4 .2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3 1.5 1.5 0 0 0-.8 0 1 1 0 0 0-.4.2 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4l.3.4.3.4a2.8 2.8 0 0 0 .8.5l.4.1h.7l.5-.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'document-properties': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'drag': '<svg width=\"24\" height=\"24\"><path d=\"M13 5h2v2h-2V5Zm0 4h2v2h-2V9ZM9 9h2v2H9V9Zm4 4h2v2h-2v-2Zm-4 0h2v2H9v-2Zm0 4h2v2H9v-2Zm4 0h2v2h-2v-2ZM9 5h2v2H9V5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'duplicate-column': '<svg width=\"24\" height=\"24\"><path d=\"M17 6v16h-7V6h7Zm-2 2h-3v12h3V8Zm-2-6v2H8v15H6V2h7Z\"/><\/svg>',\n    'duplicate-row': '<svg width=\"24\" height=\"24\"><path d=\"M22 11v7H6v-7h16Zm-2 2H8v3h12v-3Zm-1-6v2H4v5H2V7h17Z\"/><\/svg>',\n    'duplicate': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M16 3v2H6v11H4V5c0-1.1.9-2 2-2h10Zm3 8h-2V9h-7v10h9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7a2 2 0 0 1 2 2v2Z\"/><path d=\"M17 14h1a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1h-1a1 1 0 0 1 0-2h1v-1a1 1 0 0 1 2 0v1Z\"/><\/g><\/svg>',\n    'edit-block': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m19.8 8.8-9.4 9.4c-.2.2-.5.4-.9.4l-5.4 1.2 1.2-5.4.5-.8 9.4-9.4c.7-.7 1.8-.7 2.5 0l2.1 2.1c.7.7.7 1.8 0 2.5Zm-2-.2 1-.9v-.3l-2.2-2.2a.3.3 0 0 0-.3 0l-1 1L18 8.5Zm-1 1-2.5-2.4-6 6 2.5 2.5 6-6Zm-7 7.1-2.6-2.4-.3.3-.1.2-.7 3 3.1-.6h.1l.4-.5Z\"/><\/svg>',\n    'edit-image': '<svg width=\"24\" height=\"24\"><path d=\"M18 16h2V7a2 2 0 0 0-2-2H7v2h11v9ZM6 17h15a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1H6a2 2 0 0 1-2-2V7H3a1 1 0 1 1 0-2h1V4a1 1 0 1 1 2 0v13Zm3-5.3 1.3 2 3-4.7 3.7 6H7l2-3.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'embed-page': '<svg width=\"24\" height=\"24\"><path d=\"M19 6V5H5v14h2A13 13 0 0 1 19 6Zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4Zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6Zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3Zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 0 0 8 19h3ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 0 0-4 4.5h2.2Zm-3.4 0a12 12 0 0 1 2.8-4 12 12 0 0 0-5 4h2.2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'embed': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm4.8 2.6 5.6 4a.5.5 0 0 1 0 .8l-5.6 4A.5.5 0 0 1 9 16V8a.5.5 0 0 1 .8-.4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'emoji': '<svg width=\"24\" height=\"24\"><path d=\"M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'export': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M14.4 3 18 7v1h-5V5H7v14h9a1 1 0 0 1 2 0c0 1-.8 2-1.9 2H7c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h7.5Z\"/><path d=\"M18.1 12c.5 0 .9.4.9 1 0 .5-.3 1-.8 1h-7.3c-.5 0-.9-.4-.9-1 0-.5.3-1 .8-1h7.3Z\"/><path d=\"M16.4 9.2a1 1 0 0 1 1.4.2l2.4 3.6-2.4 3.6a1 1 0 0 1-1.7-1v-.2l1.7-2.4-1.6-2.4a1 1 0 0 1 .2-1.4Z\"/><\/g><\/svg>',\n    'fill': '<svg width=\"24\" height=\"26\"><path d=\"m16.6 12-9-9-1.4 1.4 2.4 2.4-5.2 5.1c-.5.6-.5 1.6 0 2.2L9 19.6a1.5 1.5 0 0 0 2.2 0l5.5-5.5c.5-.6.5-1.6 0-2.2ZM5.2 13 10 8.2l4.8 4.8H5.2ZM19 14.5s-2 2.2-2 3.5c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.3-2-3.5-2-3.5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'flip-horizontally': '<svg width=\"24\" height=\"24\"><path d=\"M14 19h2v-2h-2v2Zm4-8h2V9h-2v2ZM4 7v10c0 1.1.9 2 2 2h3v-2H6V7h3V5H6a2 2 0 0 0-2 2Zm14-2v2h2a2 2 0 0 0-2-2Zm-7 16h2V3h-2v18Zm7-6h2v-2h-2v2Zm-4-8h2V5h-2v2Zm4 12a2 2 0 0 0 2-2h-2v2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'flip-vertically': '<svg width=\"24\" height=\"24\"><path d=\"M5 14v2h2v-2H5Zm8 4v2h2v-2h-2Zm4-14H7a2 2 0 0 0-2 2v3h2V6h10v3h2V6a2 2 0 0 0-2-2Zm2 14h-2v2a2 2 0 0 0 2-2ZM3 11v2h18v-2H3Zm6 7v2h2v-2H9Zm8-4v2h2v-2h-2ZM5 18c0 1.1.9 2 2 2v-2H5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'footnote': '<svg width=\"24\" height=\"24\"><path d=\"M19 13c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h14Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19 4v6h-1V5h-1.5V4h2.6Z\"/><path d=\"M12 18c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h7ZM14 8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2h9Z\"/><\/svg>',\n    'format-painter': '<svg width=\"24\" height=\"24\"><path d=\"M18 5V4c0-.5-.4-1-1-1H5a1 1 0 0 0-1 1v4c0 .6.5 1 1 1h12c.6 0 1-.4 1-1V7h1v4H9v9c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-7h8V5h-3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'format': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M17 5a1 1 0 0 1 0 2h-4v11a1 1 0 0 1-2 0V7H7a1 1 0 1 1 0-2h10Z\"/><\/svg>',\n    'fullscreen': '<svg width=\"24\" height=\"24\"><path d=\"m15.3 10-1.2-1.3 2.9-3h-2.3a.9.9 0 1 1 0-1.7H19c.5 0 .9.4.9.9v4.4a.9.9 0 1 1-1.8 0V7l-2.9 3Zm0 4 3 3v-2.3a.9.9 0 1 1 1.7 0V19c0 .5-.4.9-.9.9h-4.4a.9.9 0 1 1 0-1.8H17l-3-2.9 1.3-1.2ZM10 15.4l-2.9 3h2.3a.9.9 0 1 1 0 1.7H5a.9.9 0 0 1-.9-.9v-4.4a.9.9 0 1 1 1.8 0V17l2.9-3 1.2 1.3ZM8.7 10 5.7 7v2.3a.9.9 0 0 1-1.7 0V5c0-.5.4-.9.9-.9h4.4a.9.9 0 0 1 0 1.8H7l3 2.9-1.3 1.2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'gallery': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m5 15.7 2.3-2.2c.3-.3.7-.3 1 0L11 16l5.1-5c.3-.4.8-.4 1 0l2 1.9V8H5v7.7ZM5 18V19h3l1.8-1.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 6h16c.6 0 1 .4 1 1v13c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V7c0-.6.4-1 1-1Zm6 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM4.5 4h15a.5.5 0 1 1 0 1h-15a.5.5 0 0 1 0-1Zm2-2h11a.5.5 0 1 1 0 1h-11a.5.5 0 0 1 0-1Z\"/><\/svg>',\n    'gamma': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm6.5 11.8V14L9.2 8.7a5.1 5.1 0 0 0-.4-.8l-.1-.2H8v-1l.3-.1.3-.1h.7a1 1 0 0 1 .6.5l.1.3a8.5 8.5 0 0 1 .3.6l1.9 4.6 2-5.2a1 1 0 0 1 1-.6.5.5 0 0 1 .5.6L13 14v2.8a.7.7 0 0 1-1.4 0Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'help': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M12 5.5a6.5 6.5 0 0 0-6 9 6.3 6.3 0 0 0 1.4 2l1 1a6.3 6.3 0 0 0 3.6 1 6.5 6.5 0 0 0 6-9 6.3 6.3 0 0 0-1.4-2l-1-1a6.3 6.3 0 0 0-3.6-1ZM12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Z\"/><path d=\"M9.6 9.7a.7.7 0 0 1-.7-.8c0-1.1 1.5-1.8 3.2-1.8 1.8 0 3.2.8 3.2 2.4 0 1.4-.4 2.1-1.5 2.8-.2 0-.3.1-.3.2a2 2 0 0 0-.8.8.8.8 0 0 1-1.4-.6c.3-.7.8-1 1.3-1.5l.4-.2c.7-.4.8-.6.8-1.5 0-.5-.6-.9-1.7-.9-.5 0-1 .1-1.4.3-.2 0-.3.1-.3.2v-.2c0 .4-.4.8-.8.8Z\" fill-rule=\"nonzero\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/><\/g><\/svg>',\n    'highlight-bg-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-highlight-bg-color__color\" d=\"M3 18h18v3H3z\"/><path fill-rule=\"nonzero\" d=\"M7.7 16.7H3l3.3-3.3-.7-.8L10.2 8l4 4.1-4 4.2c-.2.2-.6.2-.8 0l-.6-.7-1.1 1.1zm5-7.5L11 7.4l3-2.9a2 2 0 0 1 2.6 0L18 6c.7.7.7 2 0 2.7l-2.9 2.9-1.8-1.8-.5-.6\"/><\/g><\/svg>',\n    'home': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"/><\/svg>',\n    'horizontal-rule': '<svg width=\"24\" height=\"24\"><path d=\"M4 11h16v2H4z\" fill-rule=\"evenodd\"/><\/svg>',\n    'image-options': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'image': '<svg width=\"24\" height=\"24\"><path d=\"m5 15.7 3.3-3.2c.3-.3.7-.3 1 0L12 15l4.1-4c.3-.4.8-.4 1 0l2 1.9V5H5v10.7ZM5 18V19h3l2.8-2.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'indent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm-2.6-3.8L6.2 12l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'info': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-1 3v2h2V7h-2Zm3 10v-1h-1v-5h-3v1h1v4h-1v1h4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'insert-character': '<svg width=\"24\" height=\"24\"><path d=\"M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'insert-time': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 2a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z\"/><path d=\"M16 12h-3V7c0-.6-.4-1-1-1a1 1 0 0 0-1 1v7h5c.6 0 1-.4 1-1s-.4-1-1-1Z\"/><\/g><\/svg>',\n    'invert': '<svg width=\"24\" height=\"24\"><path d=\"M18 19.3 16.5 18a5.8 5.8 0 0 1-3.1 1.9 6.1 6.1 0 0 1-5.5-1.6A5.8 5.8 0 0 1 6 14v-.3l.1-1.2A13.9 13.9 0 0 1 7.7 9l-3-3 .7-.8 2.8 2.9 9 8.9 1.5 1.6-.7.6Zm0-5.5v.3l-.1 1.1-.4 1-1.2-1.2a4.3 4.3 0 0 0 .2-1v-.2c0-.4 0-.8-.2-1.3l-.5-1.4a14.8 14.8 0 0 0-3-4.2L12 6a26.1 26.1 0 0 0-2.2 2.5l-1-1a20.9 20.9 0 0 1 2.9-3.3L12 4l1 .8a22.2 22.2 0 0 1 4 5.4c.6 1.2 1 2.4 1 3.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'italic': '<svg width=\"24\" height=\"24\"><path d=\"m16.7 4.7-.1.9h-.3c-.6 0-1 0-1.4.3-.3.3-.4.6-.5 1.1l-2.1 9.8v.6c0 .5.4.8 1.4.8h.2l-.2.8H8l.2-.8h.2c1.1 0 1.8-.5 2-1.5l2-9.8.1-.5c0-.6-.4-.8-1.4-.8h-.3l.2-.9h5.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'language': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm4.3 13.3c-.5 1-1.2 2-2 2.9a7.5 7.5 0 0 0 3.2-2.1l-.2-.2a6 6 0 0 0-1-.6Zm-8.6 0c-.5.2-.9.5-1.2.8.9 1 2 1.7 3.2 2a10 10 0 0 1-2-2.8Zm3.6-.8c-.8 0-1.6.1-2.2.3.5 1 1.2 1.9 2.1 2.7Zm1.5 0v3c.9-.8 1.6-1.7 2.1-2.7-.6-.2-1.4-.3-2.1-.3Zm-6-2.7H4.5c.2 1 .5 2.1 1 3h.3l1.3-1a10 10 0 0 1-.3-2Zm12.7 0h-2.3c0 .7-.1 1.4-.3 2l1.6 1.1c.5-1 .9-2 1-3.1Zm-3.8 0h-3V14c1 0 2 .1 2.7.4.2-.5.3-1 .3-1.6Zm-4.4 0h-3l.3 1.6c.8-.3 1.7-.4 2.7-.4v-1.3Zm-5.5-5c-.7 1-1.1 2.2-1.3 3.5h2.3c0-1 .2-1.8.5-2.6l-1.5-1Zm2.9 1.4v.1c-.2.6-.4 1.3-.4 2h3V9.4c-1 0-1.8-.1-2.6-.3Zm6.6 0h-.1l-2.4.3v1.8h3l-.5-2.1Zm3-1.4-.3.1-1.3.8c.3.8.5 1.6.5 2.6h2.3a7.5 7.5 0 0 0-1.3-3.5Zm-9 0 2 .2V5.5a9 9 0 0 0-2 2.2Zm3.5-2.3V8c.6 0 1.3 0 1.9-.2a9 9 0 0 0-2-2.3Zm-3-.7h-.1c-1.1.4-2.1 1-3 1.8l1.2.7a10 10 0 0 1 1.9-2.5Zm4.4 0 .1.1a10 10 0 0 1 1.8 2.4l1.1-.7a7.5 7.5 0 0 0-3-1.8Z\"/><\/svg>',\n    'line-height': '<svg width=\"24\" height=\"24\"><path d=\"M21 5a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zM7 3.6l3.7 3.7a1 1 0 0 1-1.3 1.5h-.1L8 7.3v9.2l1.3-1.3a1 1 0 0 1 1.3 0h.1c.4.4.4 1 0 1.3v.1L7 20.4l-3.7-3.7a1 1 0 0 1 1.3-1.5h.1L6 16.7V7.4L4.7 8.7a1 1 0 0 1-1.3 0h-.1a1 1 0 0 1 0-1.3v-.1L7 3.6z\"/><\/svg>',\n    'line': '<svg width=\"24\" height=\"24\"><path d=\"m15 9-8 8H4v-3l8-8 3 3Zm1-1-3-3 1-1h1c-.2 0 0 0 0 0l2 2s0 .2 0 0v1l-1 1ZM4 18h16v2H4v-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'link': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2-2a2 2 0 1 0-2.6-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'list-bull-circle': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M11 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 26a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 36a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\" fill-rule=\"nonzero\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-bull-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><circle cx=\"11\" cy=\"14\" r=\"3\"/><circle cx=\"11\" cy=\"24\" r=\"3\"/><circle cx=\"11\" cy=\"34\" r=\"3\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-bull-square': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M8 11h6v6H8zM8 21h6v6H8zM8 31h6v6H8z\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-num-default-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 17v-4.8h-.1l-1.5 1v-1.1l1.6-1.1h1.2v6zM33.3 17.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm1.7 5.7c0-1.2 1-2 2.2-2 1.3 0 2.1.8 2.1 1.8 0 .7-.3 1.2-1.3 2.2l-1.2 1v.2h2.6v1h-4.3v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H35zm-1.7 4.3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm3.2 7.3v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H35c0-1.1 1-1.8 2.2-1.8 1.2 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.7.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .6 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7zm-3.3 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7z\"/><\/g><\/svg>',\n    'list-num-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10 17v-4.8l-1.5 1v-1.1l1.6-1h1.2V17h-1.2Zm3.6.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-5 5.7c0-1.2.8-2 2.1-2s2.1.8 2.1 1.8c0 .7-.3 1.2-1.4 2.2l-1.1 1v.2h2.6v1H8.6v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H8.5Zm6.3 4.3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM10 34.4v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H8.6c0-1.1 1-1.8 2.2-1.8 1.3 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.8.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .7 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7Zm4.7 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Z\"/><\/g><\/svg>',\n    'list-num-lower-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M36.5 16c-.9 0-1.5-.5-1.5-1.3s.6-1.3 1.8-1.4h1v-.4c0-.4-.2-.6-.7-.6-.4 0-.7.1-.8.4h-1.1c0-.8.8-1.4 2-1.4S39 12 39 13V16h-1.2v-.6c-.3.4-.8.7-1.4.7Zm.4-.8c.6 0 1-.4 1-.9V14h-1c-.5.1-.7.3-.7.6 0 .4.3.6.7.6ZM33.1 16.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7ZM37.7 26c-.7 0-1.2-.2-1.5-.7v.7H35v-6.3h1.2v2.5c.3-.5.8-.9 1.5-.9 1.1 0 1.8 1 1.8 2.4 0 1.5-.7 2.4-1.8 2.4Zm-.5-3.6c-.6 0-1 .5-1 1.3s.4 1.4 1 1.4c.7 0 1-.6 1-1.4 0-.8-.3-1.3-1-1.3ZM33.2 26.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zm6 7h-1c-.1-.5-.4-.8-1-.8s-1 .5-1 1.4c0 1 .4 1.4 1 1.4.5 0 .9-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7zm-6.1 3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/><\/g><\/svg>',\n    'list-num-lower-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.3 15.2c.5 0 1-.4 1-.9V14h-1c-.5.1-.8.3-.8.6 0 .4.3.6.8.6Zm-.4.9c-1 0-1.5-.6-1.5-1.4 0-.8.6-1.3 1.7-1.4h1.1v-.4c0-.4-.2-.6-.7-.6-.5 0-.8.1-.9.4h-1c0-.8.8-1.4 2-1.4 1.1 0 1.8.6 1.8 1.6V16h-1.1v-.6h-.1c-.2.4-.7.7-1.3.7Zm4.6 0c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-3.2 10c-.6 0-1.2-.3-1.4-.8v.7H8.5v-6.3H10v2.5c.3-.5.8-.9 1.4-.9 1.2 0 1.9 1 1.9 2.4 0 1.5-.7 2.4-1.9 2.4Zm-.4-3.7c-.7 0-1 .5-1 1.3s.3 1.4 1 1.4c.6 0 1-.6 1-1.4 0-.8-.4-1.3-1-1.3Zm4 3.7c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-2.2 7h-1.2c0-.5-.4-.8-.9-.8-.6 0-1 .5-1 1.4 0 1 .4 1.4 1 1.4.5 0 .8-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7Zm1.8 3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-greek-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 16c-1.2 0-2-.8-2-2.3 0-1.5.8-2.4 2-2.4.6 0 1 .4 1.3 1v-.9H40v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1-.7h-.2c-.2.4-.7.8-1.3.8Zm.3-1c.6 0 1-.5 1-1.3s-.4-1.3-1-1.3-1 .5-1 1.3.4 1.4 1 1.4ZM33.3 16.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM36 21.9c0-1.5.8-2.3 2.1-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.9 1.3.9.3 1.3.8 1.3 1.7 0 1.2-.7 1.9-1.8 1.9-.6 0-1.1-.3-1.4-.8v2.2H36V22Zm1.8 1.2v-1h.3c.5 0 .9-.2.9-.7 0-.5-.3-.8-.9-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1 1.3s1-.4 1-1-.4-1-1.2-1h-.3ZM33.3 26.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM37.1 34.6 34.8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.2.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1ZM33.3 36.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-greek': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.5 15c.7 0 1-.5 1-1.3s-.3-1.3-1-1.3c-.5 0-.9.5-.9 1.3s.4 1.4 1 1.4Zm-.3 1c-1.1 0-1.8-.8-1.8-2.3 0-1.5.7-2.4 1.8-2.4.7 0 1.1.4 1.3 1h.1v-.9h1.2v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1.1-.7h-.1c-.2.4-.7.8-1.4.8Zm5 .1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Zm-4.9 7v-1h.3c.6 0 1-.2 1-.7 0-.5-.4-.8-1-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1.1 1.3.6 0 1-.4 1-1s-.5-1-1.3-1h-.3ZM8.6 22c0-1.5.7-2.3 2-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.8 1.3.8.3 1.3.8 1.3 1.7 0 1.2-.8 1.9-1.9 1.9-.6 0-1.1-.3-1.3-.8v2.2H8.5V22Zm6.2 4.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-4.5 8.5L8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.1.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1Zm4.5.5c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M32.9 16v-1.2h-1.3V16H33Zm0 10v-1.2h-1.3V26H33Zm0 10v-1.2h-1.3V36H33Z\"/><path fill-rule=\"nonzero\" d=\"M36 21h-1.5v5H36zM36 31h-1.5v5H36zM39 21h-1.5v5H39zM39 31h-1.5v5H39zM42 31h-1.5v5H42zM36 11h-1.5v5H36zM36 19h-1.5v1H36zM36 29h-1.5v1H36zM39 19h-1.5v1H39zM39 29h-1.5v1H39zM42 29h-1.5v1H42zM36 9h-1.5v1H36z\"/><\/g><\/svg>',\n    'list-num-lower-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 16v-1.2h1.3V16H15Zm0 10v-1.2h1.3V26H15Zm0 10v-1.2h1.3V36H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 21h1.5v5H12zM12 31h1.5v5H12zM9 21h1.5v5H9zM9 31h1.5v5H9zM6 31h1.5v5H6zM12 11h1.5v5H12zM12 19h1.5v1H12zM12 29h1.5v1H12zM9 19h1.5v1H9zM9 29h1.5v1H9zM6 29h1.5v1H6zM12 9h1.5v1H12z\"/><\/g><\/svg>',\n    'list-num-upper-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"m39.3 17-.5-1.4h-2l-.5 1.4H35l2-6h1.6l2 6h-1.3Zm-1.6-4.7-.7 2.3h1.6l-.8-2.3ZM33.4 17c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm4.7 9.9h-2.7v-6H38c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7Zm-1.4-5v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4h1.1c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9h-1.1V26ZM33 27.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm4.9 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm-4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-upper-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"m12.6 17-.5-1.4h-2L9.5 17H8.3l2-6H12l2 6h-1.3ZM11 12.3l-.7 2.3h1.6l-.8-2.3Zm4.7 4.8c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7ZM11.4 27H8.7v-6h2.6c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7ZM10 22v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4H11c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9H10V26Zm5.4 1.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-4.1 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-upper-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M31.6 17v-1.2H33V17h-1.3Zm0 10v-1.2H33V27h-1.3Zm0 10v-1.2H33V37h-1.3Z\"/><path fill-rule=\"nonzero\" d=\"M34.5 20H36v7h-1.5zM34.5 30H36v7h-1.5zM37.5 20H39v7h-1.5zM37.5 30H39v7h-1.5zM40.5 30H42v7h-1.5zM34.5 10H36v7h-1.5z\"/><\/g><\/svg>',\n    'list-num-upper-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 17v-1.2h1.3V17H15Zm0 10v-1.2h1.3V27H15Zm0 10v-1.2h1.3V37H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 20h1.5v7H12zM12 30h1.5v7H12zM9 20h1.5v7H9zM9 30h1.5v7H9zM6 30h1.5v7H6zM12 10h1.5v7H12z\"/><\/g><\/svg>',\n    'lock': '<svg width=\"24\" height=\"24\"><path d=\"M16.3 11c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H8V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h.3ZM10 8v3h4V8a1 1 0 0 0-.3-.7A1 1 0 0 0 13 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'ltr': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 7.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L11 5ZM4.4 16.2 6.2 15l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'minus': '<svg width=\"24\" height=\"24\"><path d=\"M19 11a1 1 0 0 1 .1 2H5a1 1 0 0 1-.1-2H19Z\"/><\/svg>',\n    'more-drawer': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'new-document': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'new-tab': '<svg width=\"24\" height=\"24\"><path d=\"m15 13 2-2v8H5V7h8l-2 2H7v8h8v-4Zm4-8v5.5l-2-2-5.6 5.5H10v-1.4L15.5 7l-2-2H19Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'non-breaking': '<svg width=\"24\" height=\"24\"><path d=\"M11 11H8a1 1 0 1 1 0-2h3V6c0-.6.4-1 1-1s1 .4 1 1v3h3c.6 0 1 .4 1 1s-.4 1-1 1h-3v3c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-3Zm10 4v5H3v-5c0-.6.4-1 1-1s1 .4 1 1v3h14v-3c0-.6.4-1 1-1s1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'notice': '<svg width=\"24\" height=\"24\"><path d=\"M15.5 4 20 8.5v7L15.5 20h-7L4 15.5v-7L8.5 4h7ZM13 17v-2h-2v2h2Zm0-4V7h-2v6h2Z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"/><\/svg>',\n    'ordered-list-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 17h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 1 1 0-2Zm13-1v3.5a.5.5 0 1 1-1 0V5h-.5a.5.5 0 1 1 0-1H19Zm-1 8.8.2.2h1.3a.5.5 0 1 1 0 1h-1.6a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2h-1.3a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3Zm2 4.2v2c0 .6-.4 1-1 1h-1.5a.5.5 0 0 1 0-1h1.2a.3.3 0 1 0 0-.6h-1.3a.4.4 0 1 1 0-.8h1.3a.3.3 0 0 0 0-.6h-1.2a.5.5 0 1 1 0-1H19c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'ordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M10 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 1 1 0-2ZM6 4v3.5c0 .3-.2.5-.5.5a.5.5 0 0 1-.5-.5V5h-.5a.5.5 0 0 1 0-1H6Zm-1 8.8.2.2h1.3c.3 0 .5.2.5.5s-.2.5-.5.5H4.9a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2H4.5a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3ZM7 17v2c0 .6-.4 1-1 1H4.5a.5.5 0 0 1 0-1h1.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.4a.4.4 0 1 1 0-.8h1.3c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.5a.5.5 0 1 1 0-1H6c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'orientation': '<svg width=\"24\" height=\"24\"><path d=\"M7.3 6.4 1 13l6.4 6.5 6.5-6.5-6.5-6.5ZM3.7 13l3.6-3.7L11 13l-3.7 3.7-3.6-3.7ZM12 6l2.8 2.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0L9.2 5.7a.8.8 0 0 1 0-1.2L13.6.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L12 4h1a9 9 0 1 1-4.3 16.9l1.5-1.5A7 7 0 1 0 13 6h-1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'outdent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm1.6-3.8a1 1 0 0 1-1.2 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 0 1 1.2 1.6L6.8 12l1.8 1.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'page-break': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M5 11c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1h-1a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2ZM7 3v5h10V3c0-.6.4-1 1-1s1 .4 1 1v7H5V3c0-.6.4-1 1-1s1 .4 1 1ZM6 22a1 1 0 0 1-1-1v-7h14v7c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5H7v5c0 .6-.4 1-1 1Z\"/><\/g><\/svg>',\n    'paragraph': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\"/><\/svg>',\n    'paste-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm8 7v12h-6V8h6Zm-1.5 1.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v2H4V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm-2 7v12H4V8h6ZM8.5 9.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 11v5H8v-5h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-row-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 7v5H8V8h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-text': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Zm0 9h6v2h-.5l-.5-1h-1v4h.8v1h-3.6v-1h.8v-4h-1l-.5 1H12v-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'paste': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'permanent-pen': '<svg width=\"24\" height=\"24\"><path d=\"M10.5 17.5 8 20H3v-3l3.5-3.5a2 2 0 0 1 0-3L14 3l1 1-7.3 7.3a1 1 0 0 0 0 1.4l3.6 3.6c.4.4 1 .4 1.4 0L20 9l1 1-7.6 7.6a2 2 0 0 1-2.8 0l-.1-.1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'plus': '<svg width=\"24\" height=\"24\"><path d=\"M12 4c.5 0 1 .4 1 .9V11h6a1 1 0 0 1 .1 2H13v6a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H11V5c0-.6.4-1 1-1Z\"/><\/svg>',\n    'preferences': '<svg width=\"24\" height=\"24\"><path d=\"m20.1 13.5-1.9.2a5.8 5.8 0 0 1-.6 1.5l1.2 1.5c.4.4.3 1 0 1.4l-.7.7a1 1 0 0 1-1.4 0l-1.5-1.2a6.2 6.2 0 0 1-1.5.6l-.2 1.9c0 .5-.5.9-1 .9h-1a1 1 0 0 1-1-.9l-.2-1.9a5.8 5.8 0 0 1-1.5-.6l-1.5 1.2a1 1 0 0 1-1.4 0l-.7-.7a1 1 0 0 1 0-1.4l1.2-1.5a6.2 6.2 0 0 1-.6-1.5l-1.9-.2a1 1 0 0 1-.9-1v-1c0-.5.4-1 .9-1l1.9-.2a5.8 5.8 0 0 1 .6-1.5L5.2 7.3a1 1 0 0 1 0-1.4l.7-.7a1 1 0 0 1 1.4 0l1.5 1.2a6.2 6.2 0 0 1 1.5-.6l.2-1.9c0-.5.5-.9 1-.9h1c.5 0 1 .4 1 .9l.2 1.9a5.8 5.8 0 0 1 1.5.6l1.5-1.2a1 1 0 0 1 1.4 0l.7.7c.3.4.4 1 0 1.4l-1.2 1.5a6.2 6.2 0 0 1 .6 1.5l1.9.2c.5 0 .9.5.9 1v1c0 .5-.4 1-.9 1ZM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'preview': '<svg width=\"24\" height=\"24\"><path d=\"M3.5 12.5c.5.8 1.1 1.6 1.8 2.3 2 2 4.2 3.2 6.7 3.2s4.7-1.2 6.7-3.2a16.2 16.2 0 0 0 2.1-2.8 15.7 15.7 0 0 0-2.1-2.8c-2-2-4.2-3.2-6.7-3.2a9.3 9.3 0 0 0-6.7 3.2A16.2 16.2 0 0 0 3.2 12c0 .2.2.3.3.5Zm-2.4-1 .7-1.2L4 7.8C6.2 5.4 8.9 4 12 4c3 0 5.8 1.4 8.1 3.8a18.2 18.2 0 0 1 2.8 3.7v1l-.7 1.2-2.1 2.5c-2.3 2.4-5 3.8-8.1 3.8-3 0-5.8-1.4-8.1-3.8a18.2 18.2 0 0 1-2.8-3.7 1 1 0 0 1 0-1Zm12-3.3a2 2 0 1 0 2.7 2.6 4 4 0 1 1-2.6-2.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'print': '<svg width=\"24\" height=\"24\"><path d=\"M18 8H6a3 3 0 0 0-3 3v6h2v3h14v-3h2v-6a3 3 0 0 0-3-3Zm-1 10H7v-4h10v4Zm.5-5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5Zm.5-8H6v2h12V5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'quote': '<svg width=\"24\" height=\"24\"><path d=\"M7.5 17h.9c.4 0 .7-.2.9-.6L11 13V8c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Zm8 0h.9c.4 0 .7-.2.9-.6L19 13V8c0-.6-.4-1-1-1h-4a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'redo': '<svg width=\"24\" height=\"24\"><path d=\"M17.6 10H12c-2.8 0-4.4 1.4-4.9 3.5-.4 2 .3 4 1.4 4.6a1 1 0 1 1-1 1.8c-2-1.2-2.9-4.1-2.3-6.8.6-3 3-5.1 6.8-5.1h5.6l-3.3-3.3a1 1 0 1 1 1.4-1.4l5 5a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4-1.4l3.3-3.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'reload': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m5 22.1-1.2-4.7v-.2a1 1 0 0 1 1-1l5 .4a1 1 0 1 1-.2 2l-2.2-.2a7.8 7.8 0 0 0 8.4.2 7.5 7.5 0 0 0 3.5-6.4 1 1 0 1 1 2 0 9.5 9.5 0 0 1-4.5 8 9.9 9.9 0 0 1-10.2 0l.4 1.4a1 1 0 1 1-2 .5ZM13.6 7.4c0-.5.5-1 1-.9l2.8.2a8 8 0 0 0-9.5-1 7.5 7.5 0 0 0-3.6 7 1 1 0 0 1-2 0 9.5 9.5 0 0 1 4.5-8.6 10 10 0 0 1 10.9.3l-.3-1a1 1 0 0 1 2-.5l1.1 4.8a1 1 0 0 1-1 1.2l-5-.4a1 1 0 0 1-.9-1Z\"/><\/g><\/svg>',\n    'remove-formatting': '<svg width=\"24\" height=\"24\"><path d=\"M13.2 6a1 1 0 0 1 0 .2l-2.6 10a1 1 0 0 1-1 .8h-.2a.8.8 0 0 1-.8-1l2.6-10H8a1 1 0 1 1 0-2h9a1 1 0 0 1 0 2h-3.8ZM5 18h7a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Zm13 1.5L16.5 18 15 19.5a.7.7 0 0 1-1-1l1.5-1.5-1.5-1.5a.7.7 0 0 1 1-1l1.5 1.5 1.5-1.5a.7.7 0 0 1 1 1L17.5 17l1.5 1.5a.7.7 0 0 1-1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'remove': '<svg width=\"24\" height=\"24\"><path d=\"M16 7h3a1 1 0 0 1 0 2h-1v9a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9H5a1 1 0 1 1 0-2h3V6a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1Zm-2 0V6c0-.6-.4-1-1-1h-2a1 1 0 0 0-1 1v1h4Zm2 2H8v9c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V9Zm-7 3a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Zm4 0a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'resize-handle': '<svg width=\"10\" height=\"10\"><g fill-rule=\"nonzero\"><path d=\"M8.1 1.1A.5.5 0 1 1 9 2l-7 7A.5.5 0 1 1 1 8l7-7ZM8.1 5.1A.5.5 0 1 1 9 6l-3 3A.5.5 0 1 1 5 8l3-3Z\"/><\/g><\/svg>',\n    'resize': '<svg width=\"24\" height=\"24\"><path d=\"M4 5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h6c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H7.4L18 16.6V13c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v6c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-6a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3.6L6 7.4V11c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3A1 1 0 0 1 4 11V5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'restore-draft': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M17 13c0 .6-.4 1-1 1h-4V8c0-.6.4-1 1-1s1 .4 1 1v4h2c.6 0 1 .4 1 1Z\"/><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/><\/g><\/svg>',\n    'rotate-left': '<svg width=\"24\" height=\"24\"><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'rotate-right': '<svg width=\"24\" height=\"24\"><path d=\"M20 8V5a1 1 0 0 1 2 0v6c0 .6-.4 1-1 1h-6a1 1 0 0 1 0-2h4.3L16 7A7.2 7.2 0 0 0 7.7 6a7 7 0 0 0 3 13.1c1.9.1 3.7-.5 5-1.7a1 1 0 0 1 1.4 1.5A9.2 9.2 0 0 1 2.2 14c-.9-3.9 1-8 4.5-9.9 3.5-1.9 8-1.3 10.8 1.5L20 8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'rtl': '<svg width=\"24\" height=\"24\"><path d=\"M8 5h8v2h-2v12h-2V7h-2v12H8v-7c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 4.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L8 5Zm12 11.2a1 1 0 1 1-1 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 1 1 1 1.6L18.4 15l1.8 1.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'save': '<svg width=\"24\" height=\"24\"><path d=\"M5 16h14a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2Zm0 2v2h14v-2H5Zm10 0h2v2h-2v-2Zm-4-6.4L8.7 9.3a1 1 0 1 0-1.4 1.4l4 4c.4.4 1 .4 1.4 0l4-4a1 1 0 1 0-1.4-1.4L13 11.6V4a1 1 0 0 0-2 0v7.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'search': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'select-all': '<svg width=\"24\" height=\"24\"><path d=\"M3 5h2V3a2 2 0 0 0-2 2Zm0 8h2v-2H3v2Zm4 8h2v-2H7v2ZM3 9h2V7H3v2Zm10-6h-2v2h2V3Zm6 0v2h2a2 2 0 0 0-2-2ZM5 21v-2H3c0 1.1.9 2 2 2Zm-2-4h2v-2H3v2ZM9 3H7v2h2V3Zm2 18h2v-2h-2v2Zm8-8h2v-2h-2v2Zm0 8a2 2 0 0 0 2-2h-2v2Zm0-12h2V7h-2v2Zm0 8h2v-2h-2v2Zm-4 4h2v-2h-2v2Zm0-16h2V3h-2v2ZM7 17h10V7H7v10Zm2-8h6v6H9V9Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'selected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm3.6 10.9L7 12.3a.7.7 0 0 0-1 1L9.6 17 18 8.6a.7.7 0 0 0 0-1 .7.7 0 0 0-1 0l-7.4 7.3Z\"/><\/svg>',\n    'send': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"m13.3 22 7-18.3-18.3 7L9 15l4.3 7ZM18 6.8l-.7-.7L9.4 14l.7.7L18 6.8Z\"/><\/svg>',\n    'settings': '<svg width=\"24\" height=\"24\"><path d=\"M11 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V8H5a1 1 0 1 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.5V6ZM8 8h2V6H8v2Zm9 2.8v.2h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v.3c0 .2 0 .3-.2.5l-.6.2h-2.4c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V13H5a1 1 0 0 1 0-2h8v-.3c0-.2 0-.3.2-.5l.6-.2h2.4c.3 0 .4 0 .6.2l.2.6ZM14 13h2v-2h-2v2Zm-3 2.8v.2h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V18H5a1 1 0 0 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.6ZM8 18h2v-2H8v2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'sharpen': '<svg width=\"24\" height=\"24\"><path d=\"m16 6 4 4-8 9-8-9 4-4h8Zm-4 10.2 5.5-6.2-.1-.1H12v-.3h5.1l-.2-.2H12V9h4.6l-.2-.2H12v-.3h4.1l-.2-.2H12V8h3.6l-.2-.2H8.7L6.5 10l.1.1H12v.3H6.9l.2.2H12v.3H7.3l.2.2H12v.3H7.7l.3.2h4v.3H8.2l.2.2H12v.3H8.6l.3.2H12v.3H9l.3.2H12v.3H9.5l.2.2H12v.3h-2l.2.2H12v.3h-1.6l.2.2H12v.3h-1.1l.2.2h.9v.3h-.7l.2.2h.5v.3h-.3l.3.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'sourcecode': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M9.8 15.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0l-4.4-4.1a.8.8 0 0 1 0-1.2l4.4-4.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L6 12l3.8 3.7ZM14.2 15.7c-.3.3-.3.8 0 1 .4.4.9.4 1.2 0l4.4-4.1c.3-.3.3-.9 0-1.2l-4.4-4.2a.8.8 0 0 0-1.2 0c-.3.3-.3.8 0 1.1L18 12l-3.8 3.7Z\"/><\/g><\/svg>',\n    'spell-check': '<svg width=\"24\" height=\"24\"><path d=\"M6 8v3H5V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h2c.3 0 .5.1.7.3.2.2.3.4.3.7v6H8V8H6Zm0-3v2h2V5H6Zm13 0h-3v5h3v1h-3a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3v1Zm-5 1.5-.1.7c-.1.2-.3.3-.6.3.3 0 .5.1.6.3l.1.7V10c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-3V4h3c.3 0 .5.1.7.3.2.2.3.4.3.7v1.5ZM13 10V8h-2v2h2Zm0-3V5h-2v2h2Zm3 5 1 1-6.5 7L7 15.5l1.3-1 2.2 2.2L16 12Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'strike-through': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 0 1 7 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1Z\"/><path d=\"M5 11h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z\" fill-rule=\"nonzero\"/><\/g><\/svg>',\n    'subscript': '<svg width=\"24\" height=\"24\"><path d=\"m10.4 10 4.6 4.6-1.4 1.4L9 11.4 4.4 16 3 14.6 7.6 10 3 5.4 4.4 4 9 8.6 13.6 4 15 5.4 10.4 10ZM21 19h-5v-1l1-.8 1.7-1.6c.3-.4.5-.8.5-1.2 0-.3 0-.6-.2-.7-.2-.2-.5-.3-.9-.3a2 2 0 0 0-.8.2l-.7.3-.4-1.1 1-.6 1.2-.2c.8 0 1.4.3 1.8.7.4.4.6.9.6 1.5s-.2 1.1-.5 1.6a8 8 0 0 1-1.3 1.3l-.6.6h2.6V19Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'superscript': '<svg width=\"24\" height=\"24\"><path d=\"M15 9.4 10.4 14l4.6 4.6-1.4 1.4L9 15.4 4.4 20 3 18.6 7.6 14 3 9.4 4.4 8 9 12.6 13.6 8 15 9.4Zm5.9 1.6h-5v-1l1-.8 1.7-1.6c.3-.5.5-.9.5-1.3 0-.3 0-.5-.2-.7-.2-.2-.5-.3-.9-.3l-.8.2-.7.4-.4-1.2c.2-.2.5-.4 1-.5.3-.2.8-.2 1.2-.2.8 0 1.4.2 1.8.6.4.4.6 1 .6 1.6 0 .5-.2 1-.5 1.5l-1.3 1.4-.6.5h2.6V11Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'table-caption': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"12\" height=\"2\" x=\"3\" y=\"4\" rx=\"1\"/><path d=\"M19 8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/><\/g><\/svg>',\n    'table-cell-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M13 4v9H3V6c0-1.1.9-2 2-2h8Zm-2 2H5v5h6V6Z\"/><path fill-rule=\"nonzero\" d=\"M13 4h6a2 2 0 0 1 2 2v7h-8v-2h6V6h-6V4Z\" opacity=\".2\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/><path fill-rule=\"nonzero\" d=\"M3 13v5c0 1.1.9 2 2 2h8v-7h-2v5H5v-5H3Z\" opacity=\".2\"/><\/g><\/svg>',\n    'table-cell-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8 0h-6v5h6v-5Zm-8-7H5v5h6V6Z\"/><\/svg>',\n    'table-cell-select-all': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\" opacity=\".2\"/><\/g><\/svg>',\n    'table-cell-select-inner': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\" opacity=\".2\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\"/><\/g><\/svg>',\n    'table-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v7h-8v7H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8-7h-6v5h6V6Zm-8 0H5v5h6V6Z\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/><\/g><\/svg>',\n    'table-delete-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2Zm.3.5 1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5Z\"/><\/svg>',\n    'table-delete-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6Zm-4.7 1.8 1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3Z\"/><\/svg>',\n    'table-delete-table': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 6v12h14V6H5Z\"/><path d=\"m14.4 8.6 1.1 1-2.4 2.4 2.4 2.4-1.1 1.1-2.4-2.4-2.4 2.4-1-1.1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z\"/><\/g><\/svg>',\n    'table-insert-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M20 4c.6 0 1 .4 1 1v2a1 1 0 0 1-2 0V6h-8v12h8v-1a1 1 0 0 1 2 0v2c0 .5-.4 1-.9 1H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h15ZM9 13H5v5h4v-5Zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H17v2a1 1 0 0 1-2 .1V13h-2a1 1 0 0 1-.1-2H15V9c0-.6.4-1 1-1ZM9 6H5v5h4V6Z\"/><\/svg>',\n    'table-insert-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 2 0v1h8V6H5v1a1 1 0 1 1-2 0V5c0-.6.4-1 1-1h15Zm0 9h-4v5h4v-5ZM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H9v2a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H7V9c0-.6.4-1 1-1Zm11-2h-4v5h4V6Z\"/><\/svg>',\n    'table-insert-row-above': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4a1 1 0 1 1 0 2H5v6h14V6h-1a1 1 0 0 1 0-2h2c.6 0 1 .4 1 1v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-.6.4-1 1-1h2Zm5 10H5v4h6v-4Zm8 0h-6v4h6v-4ZM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 .1V8H9a1 1 0 0 1 0-2h2V4c0-.6.4-1 1-1Z\"/><\/svg>',\n    'table-insert-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 0 1 .1 2H13v2a1 1 0 0 1-2 .1V18H9a1 1 0 0 1-.1-2H11v-2c0-.6.4-1 1-1Zm6 7a1 1 0 0 1 0-2h1v-6H5v6h1a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V6c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v13c0 .5-.4 1-.9 1H18ZM11 6H5v4h6V6Zm8 0h-6v4h6V6Z\"/><\/svg>',\n    'table-left-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 9h-4v5h4v-5Zm-6 0H9v5h4v-5Zm0-7H9v5h4V6Zm6 0h-4v5h4V6Z\"/><\/svg>',\n    'table-merge-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15.5V18h3v-2.5H5Zm14-5h-9V18h9v-7.5ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Zm-8 7.5h3v-3H5v3Z\"/><\/svg>',\n    'table-row-numbering-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6Zm0 12h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 11h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 6h8v3H6V6Zm11 0c.6 0 1 .4 1 1v1a1 1 0 1 1-2 0V7c0-.6.4-1 1-1Z\"/><\/svg>',\n    'table-row-numbering': '<svg width=\"24\" height=\"24\"><path d=\"M18 4a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h12Zm0 12h-8v3h8v-3ZM7 16a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8v-3ZM7 11a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8V6ZM7 6a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0V7c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'table-row-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-9h-6v3h6V6ZM5 9h6V6H5v3Z\"/><\/svg>',\n    'table-split-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM8 15.5H5V18h3v-2.5Zm11-5h-9V18h9v-7.5Zm-2.5 1 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2Zm-8.5-1H5v3h3v-3ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Z\"/><\/svg>',\n    'table-top-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/><\/svg>',\n    'table': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 14v4h6v-4H5Zm14 0h-6v4h6v-4Zm0-6h-6v4h6V8ZM5 12h6V8H5v4Z\"/><\/svg>',\n    'template-add': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9 12v4H5a2 2 0 0 0-2 2v3h9.3a6 6 0 0 1-.3-2H5v-1h7a6 6 0 0 1 .8-2H11v-5l-.8-.6a3 3 0 1 1 3.6 0l-.8.6v4.7a6 6 0 0 1 2-1.9V12a5 5 0 1 0-6 0Z\"/><path d=\"M18 15c.5 0 1 .4 1 .9V18h2a1 1 0 0 1 .1 2H19v2a1 1 0 0 1-2 .1V20h-2a1 1 0 0 1-.1-2H17v-2c0-.6.4-1 1-1Z\"/><\/svg>',\n    'template': '<svg width=\"24\" height=\"24\"><path d=\"M19 19v-1H5v1h14ZM9 16v-4a5 5 0 1 1 6 0v4h4a2 2 0 0 1 2 2v3H3v-3c0-1.1.9-2 2-2h4Zm4 0v-5l.8-.6a3 3 0 1 0-3.6 0l.8.6v5h2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'temporary-placeholder': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M9 7.6V6h2.5V4.5a.5.5 0 1 1 1 0V6H15v1.6a8 8 0 1 1-6 0Zm-2.6 5.3a.5.5 0 0 0 .3.6c.3 0 .6 0 .6-.3l.1-.2a5 5 0 0 1 3.3-2.8c.3-.1.4-.4.4-.6-.1-.3-.4-.5-.6-.4a6 6 0 0 0-4.1 3.7Z\"/><circle cx=\"14\" cy=\"4\" r=\"1\"/><circle cx=\"12\" cy=\"2\" r=\"1\"/><circle cx=\"10\" cy=\"4\" r=\"1\"/><\/g><\/svg>',\n    'text-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-text-color__color\" d=\"M3 18h18v3H3z\"/><path d=\"M8.7 16h-.8a.5.5 0 0 1-.5-.6l2.7-9c.1-.3.3-.4.5-.4h2.8c.2 0 .4.1.5.4l2.7 9a.5.5 0 0 1-.5.6h-.8a.5.5 0 0 1-.4-.4l-.7-2.2c0-.3-.3-.4-.5-.4h-3.4c-.2 0-.4.1-.5.4l-.7 2.2c0 .3-.2.4-.4.4Zm2.6-7.6-.6 2a.5.5 0 0 0 .5.6h1.6a.5.5 0 0 0 .5-.6l-.6-2c0-.3-.3-.4-.5-.4h-.4c-.2 0-.4.1-.5.4Z\"/><\/g><\/svg>',\n    'text-size-decrease': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM14 12a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"/><\/svg>',\n    'text-size-increase': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM17 9a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'toc': '<svg width=\"24\" height=\"24\"><path d=\"M5 5c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm0-4c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'translate': '<svg width=\"24\" height=\"24\"><path d=\"m12.7 14.3-.3.7-.4.7-2.2-2.2-3.1 3c-.3.4-.8.4-1 0a.7.7 0 0 1 0-1l3.1-3A12.4 12.4 0 0 1 6.7 9H8a10.1 10.1 0 0 0 1.7 2.4c.5-.5 1-1.1 1.4-1.8l.9-2H4.7a.7.7 0 1 1 0-1.5h4.4v-.7c0-.4.3-.8.7-.8.4 0 .7.4.7.8v.7H15c.4 0 .8.3.8.7 0 .4-.4.8-.8.8h-1.4a12.3 12.3 0 0 1-1 2.4 13.5 13.5 0 0 1-1.7 2.3l1.9 1.8Zm4.3-3 2.7 7.3a.5.5 0 0 1-.4.7 1 1 0 0 1-1-.7l-.6-1.5h-3.4l-.6 1.5a1 1 0 0 1-1 .7.5.5 0 0 1-.4-.7l2.7-7.4a1 1 0 0 1 2 0Zm-2.2 4.4h2.4L16 12.5l-1.2 3.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'typography': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H7a1 1 0 0 1 0-2h10Z\"/><path d=\"m17.5 14 .8-1.7 1.7-.8-1.7-.8-.8-1.7-.8 1.7-1.7.8 1.7.8.8 1.7ZM7 14l1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z\"/><\/svg>',\n    'underline': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.6 0 1 .4 1 1v5.5a4 4 0 0 1-.4 1.8l-1 1.4a5.3 5.3 0 0 1-5.5 1 5 5 0 0 1-1.6-1c-.5-.4-.8-.9-1.1-1.4a4 4 0 0 1-.4-1.8V6c0-.6.4-1 1-1s1 .4 1 1v5.5c0 .3 0 .6.2 1l.6.7a3.3 3.3 0 0 0 2.2.8 3.4 3.4 0 0 0 2.2-.8c.3-.2.4-.5.6-.8l.2-.9V6c0-.6.4-1 1-1ZM8 17h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'undo': '<svg width=\"24\" height=\"24\"><path d=\"M6.4 8H12c3.7 0 6.2 2 6.8 5.1.6 2.7-.4 5.6-2.3 6.8a1 1 0 0 1-1-1.8c1.1-.6 1.8-2.7 1.4-4.6-.5-2.1-2.1-3.5-4.9-3.5H6.4l3.3 3.3a1 1 0 1 1-1.4 1.4l-5-5a1 1 0 0 1 0-1.4l5-5a1 1 0 0 1 1.4 1.4L6.4 8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'unlink': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2.1-2a2 2 0 1 0-2.7-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2ZM7.6 6.3a.8.8 0 0 1-1 1.1L3.3 4.2a.7.7 0 1 1 1-1l3.2 3.1ZM5.1 8.6a.8.8 0 0 1 0 1.5H3a.8.8 0 0 1 0-1.5H5Zm5-3.5a.8.8 0 0 1-1.5 0V3a.8.8 0 0 1 1.5 0V5Zm6 11.8a.8.8 0 0 1 1-1l3.2 3.2a.8.8 0 0 1-1 1L16 17Zm-2.2 2a.8.8 0 0 1 1.5 0V21a.8.8 0 0 1-1.5 0V19Zm5-3.5a.7.7 0 1 1 0-1.5H21a.8.8 0 0 1 0 1.5H19Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'unlock': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h-2V8a1 1 0 0 0-.3-.7A1 1 0 0 0 16 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7v3h.3c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H4.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H11V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'unordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2ZM4.5 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'unselected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm0 1a1 1 0 0 0-1 1v12c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H6Z\"/><\/svg>',\n    'upload': '<svg width=\"24\" height=\"24\"><path d=\"M18 19v-2a1 1 0 0 1 2 0v3c0 .6-.4 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 2 0v2h12ZM11 6.4 8.7 8.7a1 1 0 0 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 1 1-1.4 1.4L13 6.4V16a1 1 0 0 1-2 0V6.4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'user': '<svg width=\"24\" height=\"24\"><path d=\"M12 24a12 12 0 1 1 0-24 12 12 0 0 1 0 24Zm-8.7-5.3a11 11 0 0 0 17.4 0C19.4 16.3 14.6 15 12 15c-2.6 0-7.4 1.3-8.7 3.7ZM12 13c2.2 0 4-2 4-4.5S14.2 4 12 4 8 6 8 8.5 9.8 13 12 13Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'vertical-align': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><path d=\"M12 2c.6 0 1 .4 1 1v4l2-1.3a1 1 0 0 1 1.2 1.5l-.1.1-4.1 3-4-3a1 1 0 0 1 1-1.7l2 1.5V3c0-.6.4-1 1-1zm0 11.8 4 2.9a1 1 0 0 1-1 1.7l-2-1.5V21c0 .5-.4 1-.9 1H12a1 1 0 0 1-1-1v-4l-2 1.3a1 1 0 0 1-1.2-.1l-.1-.1a1 1 0 0 1 .1-1.3l.1-.1 4.1-3z\"/><\/g><\/svg>',\n    'visualblocks': '<svg width=\"24\" height=\"24\"><path d=\"M9 19v2H7v-2h2Zm-4 0v2a2 2 0 0 1-2-2h2Zm8 0v2h-2v-2h2Zm8 0a2 2 0 0 1-2 2v-2h2Zm-4 0v2h-2v-2h2ZM15 7a1 1 0 0 1 0 2v7a1 1 0 0 1-2 0V9h-1v7a1 1 0 0 1-2 0v-4a2.5 2.5 0 0 1-.2-5H15ZM5 15v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 11v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 7v2H3V7h2Zm16 0v2h-2V7h2ZM5 3v2H3c0-1.1.9-2 2-2Zm8 0v2h-2V3h2Zm6 0a2 2 0 0 1 2 2h-2V3ZM9 3v2H7V3h2Zm8 0v2h-2V3h2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'visualchars': '<svg width=\"24\" height=\"24\"><path d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'warning': '<svg width=\"24\" height=\"24\"><path d=\"M19.8 18.3c.2.5.3.9 0 1.2-.1.3-.5.5-1 .5H5.2c-.5 0-.9-.2-1-.5-.3-.3-.2-.7 0-1.2L11 4.7l.5-.5.5-.2c.2 0 .3 0 .5.2.2 0 .3.3.5.5l6.8 13.6ZM12 18c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7c0 .3.1.5.3.7.2.2.4.3.7.3Zm.7-3 .3-4a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7l.3 4h1.4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'zoom-in': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-1-9a1 1 0 0 1 2 0v6a1 1 0 0 1-2 0V8Zm-2 4a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'zoom-out': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-3-5a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/><\/svg>',\n  }\n});/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.ModelManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$2 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$2(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$2(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range$1 = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$2 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$2 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$2(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const findIndex = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$2 = (xs, f) => flatten(map$1(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort$1 = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$d = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$d(xs, 0);\n    const last$2 = xs => get$d(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$1(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$c = (obj, key) => {\n      return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$1 = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$1(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const setOptions = (element, attrs) => {\n      each$1(attrs, (v, k) => {\n        v.fold(() => {\n          remove$7(element, k);\n        }, value => {\n          rawSet(element.dom, k, value);\n        });\n      });\n    };\n    const get$b = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$b(element, key));\n    const remove$7 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone$2 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$1 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint: fromPoint$1\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq$1 = (e1, e2) => e1.dom === e2.dom;\n    const contains$1 = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is$1 = is$2;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$2 = element => map$1(element.dom.childNodes, SugarElement.fromDom);\n    const child$2 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$2(element, 0);\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$5 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const appendAt = (parent, element, index) => {\n      child$2(parent, index).fold(() => {\n        append$1(parent, element);\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const wrap = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$4 = (marker, elements) => {\n      each$2(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$5(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$2(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$2(children$2(element), rogue => {\n        remove$6(rogue);\n      });\n    };\n    const remove$6 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$2(wrapper);\n      if (children.length > 0) {\n        after$4(wrapper, children);\n      }\n      remove$6(wrapper);\n    };\n\n    const clone$1 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow = original => clone$1(original, false);\n    const deep = original => clone$1(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$2(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const copy$2 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      const cloneChildren = children$2(deep(original));\n      append(nu, cloneChildren);\n      return nu;\n    };\n    const mutate$1 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$5(original, nu);\n      const children = children$2(original);\n      append(nu, children);\n      remove$6(original);\n      return nu;\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains$2(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const address = (row, column) => ({\n      row,\n      column\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const detailnew = (element, rowspan, colspan, isNew) => ({\n      element,\n      rowspan,\n      colspan,\n      isNew\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const rowdetailnew = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const elementnew = (element, isNew, isLocked) => ({\n      element,\n      isNew,\n      isLocked\n    });\n    const rowcells = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const body$1 = () => getBody$1(SugarElement.fromDom(document));\n    const getBody$1 = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const ancestors$4 = (scope, predicate, isRoot) => filter$2(parents(scope, isRoot), predicate);\n    const children$1 = (scope, predicate) => filter$2(children$2(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$2(children$2(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const ancestors$3 = (scope, selector, isRoot) => ancestors$4(scope, e => is$2(e, selector), isRoot);\n    const children = (scope, selector) => children$1(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$2 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot);\n    };\n    const child$1 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$1(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$1 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$1 = (scope, selector, isRoot) => ancestor$2(scope, e => is$2(e, selector), isRoot);\n    const child = (scope, selector) => child$1(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot);\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const bindFrom = (a, f) => a !== undefined && a !== null ? f(a) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$1(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$a = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw$2 = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$5 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    const copy$1 = (source, target) => {\n      const sourceDom = source.dom;\n      const targetDom = target.dom;\n      if (isSupported(sourceDom) && isSupported(targetDom)) {\n        targetDom.style.cssText = sourceDom.style.cssText;\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n    const getSpan = (cell, type) => getAttrValue(cell, type, 1);\n    const hasColspan = cellOrCol => {\n      if (isTag('col')(cellOrCol)) {\n        return getAttrValue(cellOrCol, 'span', 1) > 1;\n      } else {\n        return getSpan(cellOrCol, 'colspan') > 1;\n      }\n    };\n    const hasRowspan = cell => getSpan(cell, 'rowspan') > 1;\n    const getCssValue = (element, property) => parseInt(get$a(element, property), 10);\n    const minWidth = constant(10);\n    const minHeight = constant(10);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$2(children$2(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor$1(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells$1 = ancestor => firstLayer(ancestor, 'th,td');\n    const columns$1 = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children(ancestor, 'col');\n      } else {\n        return bind$2(columnGroups(ancestor), columnGroup => children(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows$1 = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map$1(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map$1(columns$1(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells = map$1(cells$1(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows = rows$1(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n    const fromPastedRows = (elems, section) => fromRowsOrColGroups(elems, () => section);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform();\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$a(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$a(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$a(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getHeight$1 = element => getProp(element, 'height', element.dom.offsetHeight);\n    const getWidth = element => getProp(element, 'width', element.dom.offsetWidth);\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const api$2 = Dimension('width', element => element.dom.offsetWidth);\n    const get$9 = element => api$2.get(element);\n    const getOuter$2 = element => api$2.getOuter(element);\n    const getInner = getInnerWidth;\n    const getRuntime$1 = getWidth;\n\n    const addCells = (gridRow, index, cells) => {\n      const existingCells = gridRow.cells;\n      const before = existingCells.slice(0, index);\n      const after = existingCells.slice(index);\n      const newCells = before.concat(cells).concat(after);\n      return setCells(gridRow, newCells);\n    };\n    const addCell = (gridRow, index, cell) => addCells(gridRow, index, [cell]);\n    const mutateCell = (gridRow, index, cell) => {\n      const cells = gridRow.cells;\n      cells[index] = cell;\n    };\n    const setCells = (gridRow, cells) => rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew);\n    const mapCells = (gridRow, f) => {\n      const cells = gridRow.cells;\n      const r = map$1(cells, f);\n      return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew);\n    };\n    const getCell = (gridRow, index) => gridRow.cells[index];\n    const getCellElement = (gridRow, index) => getCell(gridRow, index).element;\n    const cellLength = gridRow => gridRow.cells.length;\n    const extractGridDetails = grid => {\n      const result = partition(grid, row => row.section === 'colgroup');\n      return {\n        rows: result.fail,\n        cols: result.pass\n      };\n    };\n    const clone = (gridRow, cloneRow, cloneCell) => {\n      const newCells = map$1(gridRow.cells, cloneCell);\n      return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n    const getLockedColumnsFromGrid = grid => {\n      const locked = foldl(extractGridDetails(grid).rows, (acc, row) => {\n        each$2(row.cells, (cell, idx) => {\n          if (cell.isLocked) {\n            acc[idx] = true;\n          }\n        });\n        return acc;\n      }, {});\n      const lockedArr = mapToArray(locked, (_val, key) => parseInt(key, 10));\n      return sort$1(lockedArr);\n    };\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind$2(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter$2(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each$2(rowData.cells, column => {\n        const colspan = column.colspan;\n        range$1(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each$2(rows, rowData => {\n        const currentRow = [];\n        each$2(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last$2(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind$2(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    const columns = (warehouse, isValidCell = always) => {\n      const grid = warehouse.grid;\n      const cols = range$1(grid.columns, identity);\n      const rowsArr = range$1(grid.rows, identity);\n      return map$1(cols, col => {\n        const getBlock = () => bind$2(rowsArr, r => Warehouse.getAt(warehouse, r, col).filter(detail => detail.column === col).toArray());\n        const isValid = detail => detail.colspan === 1 && isValidCell(detail.element);\n        const getFallback = () => Warehouse.getAt(warehouse, 0, col);\n        return decide(getBlock, isValid, getFallback);\n      });\n    };\n    const decide = (getBlock, isValid, getFallback) => {\n      const inBlock = getBlock();\n      const validInBlock = find$1(inBlock, isValid);\n      const detailOption = validInBlock.orThunk(() => Optional.from(inBlock[0]).orThunk(getFallback));\n      return detailOption.map(detail => detail.element);\n    };\n    const rows = warehouse => {\n      const grid = warehouse.grid;\n      const rowsArr = range$1(grid.rows, identity);\n      const cols = range$1(grid.columns, identity);\n      return map$1(rowsArr, row => {\n        const getBlock = () => bind$2(cols, c => Warehouse.getAt(warehouse, row, c).filter(detail => detail.row === row).fold(constant([]), detail => [detail]));\n        const isSingle = detail => detail.rowspan === 1;\n        const getFallback = () => Warehouse.getAt(warehouse, row, 0);\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n\n    const deduce = (xs, index) => {\n      if (index < 0 || index >= xs.length - 1) {\n        return Optional.none();\n      }\n      const current = xs[index].fold(() => {\n        const rest = reverse(xs.slice(0, index));\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, c => Optional.some({\n        value: c,\n        delta: 0\n      }));\n      const next = xs[index + 1].fold(() => {\n        const rest = xs.slice(index + 1);\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, n => Optional.some({\n        value: n,\n        delta: 1\n      }));\n      return current.bind(c => next.map(n => {\n        const extras = n.delta + c.delta;\n        return Math.abs(n.value - c.value) / extras;\n      }));\n    };\n\n    const onDirection = (isLtr, isRtl) => element => getDirection(element) === 'rtl' ? isRtl : isLtr;\n    const getDirection = element => get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const api$1 = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$8 = element => api$1.get(element);\n    const getOuter$1 = element => api$1.getOuter(element);\n    const getRuntime = getHeight$1;\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const rowInfo = (row, y) => ({\n      row,\n      y\n    });\n    const colInfo = (col, x) => ({\n      col,\n      x\n    });\n    const rtlEdge = cell => {\n      const pos = absolute(cell);\n      return pos.left + getOuter$2(cell);\n    };\n    const ltrEdge = cell => {\n      return absolute(cell).left;\n    };\n    const getLeftEdge = (index, cell) => {\n      return colInfo(index, ltrEdge(cell));\n    };\n    const getRightEdge = (index, cell) => {\n      return colInfo(index, rtlEdge(cell));\n    };\n    const getTop$1 = cell => {\n      return absolute(cell).top;\n    };\n    const getTopEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell));\n    };\n    const getBottomEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell) + getOuter$1(cell));\n    };\n    const findPositions = (getInnerEdge, getOuterEdge, array) => {\n      if (array.length === 0) {\n        return [];\n      }\n      const lines = map$1(array.slice(1), (cellOption, index) => {\n        return cellOption.map(cell => {\n          return getInnerEdge(index, cell);\n        });\n      });\n      const lastLine = array[array.length - 1].map(cell => {\n        return getOuterEdge(array.length - 1, cell);\n      });\n      return lines.concat([lastLine]);\n    };\n    const negate = step => {\n      return -step;\n    };\n    const height = {\n      delta: identity,\n      positions: optElements => findPositions(getTopEdge, getBottomEdge, optElements),\n      edge: getTop$1\n    };\n    const ltr$1 = {\n      delta: identity,\n      edge: ltrEdge,\n      positions: optElements => findPositions(getLeftEdge, getRightEdge, optElements)\n    };\n    const rtl$1 = {\n      delta: negate,\n      edge: rtlEdge,\n      positions: optElements => findPositions(getRightEdge, getLeftEdge, optElements)\n    };\n    const detect$1 = onDirection(ltr$1, rtl$1);\n    const width = {\n      delta: (amount, table) => detect$1(table).delta(amount, table),\n      positions: (cols, table) => detect$1(table).positions(cols, table),\n      edge: cell => detect$1(cell).edge(cell)\n    };\n\n    const units = {\n      unsupportedLength: ['em', 'ex', 'cap', 'ch', 'ic', 'rem', 'lh', 'rlh', 'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax', 'cm', 'mm', 'Q', 'in', 'pc', 'pt', 'px'],\n      fixed: ['px', 'pt'],\n      relative: ['%'],\n      empty: ['']\n    };\n    const pattern = (() => {\n      const decimalDigits = '[0-9]+';\n      const signedInteger = '[+-]?' + decimalDigits;\n      const exponentPart = '[eE]' + signedInteger;\n      const dot = '\\\\.';\n      const opt = input => \"(?:\".concat(input, \")?\");\n      const unsignedDecimalLiteral = ['Infinity', decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), dot + decimalDigits + opt(exponentPart), decimalDigits + opt(exponentPart)].join('|');\n      const float = \"[+-]?(?:\".concat(unsignedDecimalLiteral, \")\");\n      return new RegExp(\"^(\".concat(float, \")(.*)$\"));\n    })();\n    const isUnit = (unit, accepted) => exists(accepted, acc => exists(units[acc], check => unit === check));\n    const parse = (input, accepted) => {\n      const match = Optional.from(pattern.exec(input));\n      return match.bind(array => {\n        const value = Number(array[1]);\n        const unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n\n    const rPercentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n    const rPixelBasedSizeRegex = /(\\d+(\\.\\d+)?)px|em/;\n    const isCol$2 = isTag('col');\n    const getPercentSize = (elm, outerGetter, innerGetter) => {\n      const relativeParent = parentElement(elm).getOrThunk(() => getBody$1(owner(elm)));\n      return outerGetter(elm) / innerGetter(relativeParent) * 100;\n    };\n    const setPixelWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + 'px');\n    };\n    const setPercentageWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + '%');\n    };\n    const setHeight = (cell, amount) => {\n      set$1(cell, 'height', amount + 'px');\n    };\n    const getHeightValue = cell => getRuntime(cell) + 'px';\n    const convert = (cell, number, getter, setter) => {\n      const newSize = table(cell).map(table => {\n        const total = getter(table);\n        return Math.floor(number / 100 * total);\n      }).getOr(number);\n      setter(cell, newSize);\n      return newSize;\n    };\n    const normalizePixelSize = (value, cell, getter, setter) => {\n      const number = parseFloat(value);\n      return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number;\n    };\n    const getTotalHeight = cell => {\n      const value = getHeightValue(cell);\n      if (!value) {\n        return get$8(cell);\n      }\n      return normalizePixelSize(value, cell, get$8, setHeight);\n    };\n    const get$7 = (cell, type, f) => {\n      const v = f(cell);\n      const span = getSpan(cell, type);\n      return v / span;\n    };\n    const getRaw$1 = (element, prop) => {\n      return getRaw$2(element, prop).orThunk(() => {\n        return getOpt(element, prop).map(val => val + 'px');\n      });\n    };\n    const getRawWidth$1 = element => getRaw$1(element, 'width');\n    const getRawHeight = element => getRaw$1(element, 'height');\n    const getPercentageWidth = cell => getPercentSize(cell, get$9, getInner);\n    const getPixelWidth$1 = cell => isCol$2(cell) ? get$9(cell) : getRuntime$1(cell);\n    const getHeight = cell => {\n      return get$7(cell, 'rowspan', getTotalHeight);\n    };\n    const getGenericWidth = cell => {\n      const width = getRawWidth$1(cell);\n      return width.bind(w => parse(w, ['fixed', 'relative', 'empty']));\n    };\n    const setGenericWidth = (cell, amount, unit) => {\n      set$1(cell, 'width', amount + unit);\n    };\n    const getPixelTableWidth = table => get$9(table) + 'px';\n    const getPercentTableWidth = table => getPercentSize(table, get$9, getInner) + '%';\n    const isPercentSizing$1 = table => getRawWidth$1(table).exists(size => rPercentageBasedSizeRegex.test(size));\n    const isPixelSizing$1 = table => getRawWidth$1(table).exists(size => rPixelBasedSizeRegex.test(size));\n    const isNoneSizing$1 = table => getRawWidth$1(table).isNone();\n    const percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex);\n\n    const isCol$1 = isTag('col');\n    const getRawW = cell => {\n      return getRawWidth$1(cell).getOrThunk(() => getPixelWidth$1(cell) + 'px');\n    };\n    const getRawH = cell => {\n      return getRawHeight(cell).getOrThunk(() => getHeight(cell) + 'px');\n    };\n    const justCols = warehouse => map$1(Warehouse.justColumns(warehouse), column => Optional.from(column.element));\n    const isValidColumn = cell => {\n      const browser = detect$2().browser;\n      const supportsColWidths = browser.isChromium() || browser.isFirefox();\n      return isCol$1(cell) ? supportsColWidths : true;\n    };\n    const getDimension = (cellOpt, index, backups, filter, getter, fallback) => cellOpt.filter(filter).fold(() => fallback(deduce(backups, index)), cell => getter(cell));\n    const getWidthFrom = (warehouse, table, getWidth, fallback) => {\n      const columnCells = columns(warehouse);\n      const columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells;\n      const backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), pos => pos.map(p => p.x)));\n      const colFilter = not(hasColspan);\n      return map$1(columns$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, colFilter, column => {\n          if (isValidColumn(column)) {\n            return getWidth(column);\n          } else {\n            const cell = bindFrom(columnCells[c], identity);\n            return getDimension(cell, c, backups, colFilter, cell => fallback(Optional.some(get$9(cell))), fallback);\n          }\n        }, fallback);\n      });\n    };\n    const getDeduced = deduced => {\n      return deduced.map(d => {\n        return d + 'px';\n      }).getOr('');\n    };\n    const getRawWidths = (warehouse, table) => {\n      return getWidthFrom(warehouse, table, getRawW, getDeduced);\n    };\n    const getPercentageWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPercentageWidth, deduced => {\n        return deduced.fold(() => {\n          return tableSize.minCellWidth();\n        }, cellWidth => {\n          return cellWidth / tableSize.pixelWidth() * 100;\n        });\n      });\n    };\n    const getPixelWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPixelWidth$1, deduced => {\n        return deduced.getOrThunk(tableSize.minCellWidth);\n      });\n    };\n    const getHeightFrom = (warehouse, table, direction, getHeight, fallback) => {\n      const rows$1 = rows(warehouse);\n      const backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), pos => pos.map(p => p.y)));\n      return map$1(rows$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback);\n      });\n    };\n    const getPixelHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getHeight, deduced => {\n        return deduced.getOrThunk(minHeight);\n      });\n    };\n    const getRawHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getRawH, getDeduced);\n    };\n\n    const widthLookup = (table, getter) => () => {\n      if (inBody(table)) {\n        return getter(table);\n      } else {\n        return parseFloat(getRaw$2(table, 'width').getOr('0'));\n      }\n    };\n    const noneSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const zero = constant(0);\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta: zero,\n        singleColumnWidth: constant([0]),\n        minCellWidth: zero,\n        setElementWidth: noop,\n        adjustTableWidth: noop,\n        isRelative: true,\n        label: 'none'\n      };\n    };\n    const percentageSize = table => {\n      const getFloatWidth = widthLookup(table, elem => parseFloat(getPercentTableWidth(elem)));\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = delta => delta / getWidth() * 100;\n      const singleColumnWidth = (w, _delta) => [100 - w];\n      const minCellWidth = () => minWidth() / getWidth() * 100;\n      const adjustTableWidth = delta => {\n        const currentWidth = getFloatWidth();\n        const change = delta / 100 * currentWidth;\n        const newWidth = currentWidth + change;\n        setPercentageWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPercentageWidths(warehouse, table, tableSize);\n      return {\n        width: getFloatWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth,\n        setElementWidth: setPercentageWidth,\n        adjustTableWidth,\n        isRelative: true,\n        label: 'percent'\n      };\n    };\n    const pixelSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = identity;\n      const singleColumnWidth = (w, delta) => {\n        const newNext = Math.max(minWidth(), w + delta);\n        return [newNext - w];\n      };\n      const adjustTableWidth = delta => {\n        const newWidth = getWidth() + delta;\n        setPixelWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth: minWidth,\n        setElementWidth: setPixelWidth,\n        adjustTableWidth,\n        isRelative: false,\n        label: 'pixel'\n      };\n    };\n    const chooseSize = (element, width) => {\n      const percentMatch = percentageBasedSizeRegex().exec(width);\n      if (percentMatch !== null) {\n        return percentageSize(element);\n      } else {\n        return pixelSize(element);\n      }\n    };\n    const getTableSize = table => {\n      const width = getRawWidth$1(table);\n      return width.fold(() => noneSize(table), w => chooseSize(table, w));\n    };\n    const TableSize = {\n      getTableSize,\n      pixelSize,\n      percentageSize,\n      noneSize\n    };\n\n    const statsStruct = (minRow, minCol, maxRow, maxCol, allCells, selectedCells) => ({\n      minRow,\n      minCol,\n      maxRow,\n      maxCol,\n      allCells,\n      selectedCells\n    });\n    const findSelectedStats = (house, isSelected) => {\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      let minRow = totalRows;\n      let minCol = totalColumns;\n      let maxRow = 0;\n      let maxCol = 0;\n      const allCells = [];\n      const selectedCells = [];\n      each$1(house.access, detail => {\n        allCells.push(detail);\n        if (isSelected(detail)) {\n          selectedCells.push(detail);\n          const startRow = detail.row;\n          const endRow = startRow + detail.rowspan - 1;\n          const startCol = detail.column;\n          const endCol = startCol + detail.colspan - 1;\n          if (startRow < minRow) {\n            minRow = startRow;\n          } else if (endRow > maxRow) {\n            maxRow = endRow;\n          }\n          if (startCol < minCol) {\n            minCol = startCol;\n          } else if (endCol > maxCol) {\n            maxCol = endCol;\n          }\n        }\n      });\n      return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells);\n    };\n    const makeCell = (list, seenSelected, rowIndex) => {\n      const row = list[rowIndex].element;\n      const td = SugarElement.fromTag('td');\n      append$1(td, SugarElement.fromTag('br'));\n      const f = seenSelected ? append$1 : prepend;\n      f(row, td);\n    };\n    const fillInGaps = (list, house, stats, isSelected) => {\n      const rows = filter$2(list, row => row.section !== 'colgroup');\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      for (let i = 0; i < totalRows; i++) {\n        let seenSelected = false;\n        for (let j = 0; j < totalColumns; j++) {\n          if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) {\n            const needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone();\n            if (needCell) {\n              makeCell(rows, seenSelected, i);\n            } else {\n              seenSelected = true;\n            }\n          }\n        }\n      }\n    };\n    const clean = (replica, stats, house, widthDelta) => {\n      each$1(house.columns, col => {\n        if (col.column < stats.minCol || col.column > stats.maxCol) {\n          remove$6(col.element);\n        }\n      });\n      const emptyRows = filter$2(firstLayer(replica, 'tr'), row => row.dom.childElementCount === 0);\n      each$2(emptyRows, remove$6);\n      if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) {\n        each$2(firstLayer(replica, 'th,td'), cell => {\n          remove$7(cell, 'rowspan');\n          remove$7(cell, 'colspan');\n        });\n      }\n      remove$7(replica, LOCKED_COL_ATTR);\n      remove$7(replica, 'data-snooker-col-series');\n      const tableSize = TableSize.getTableSize(replica);\n      tableSize.adjustTableWidth(widthDelta);\n    };\n    const getTableWidthDelta = (table, warehouse, tableSize, stats) => {\n      if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) {\n        return 0;\n      }\n      const colWidths = getPixelWidths(warehouse, table, tableSize);\n      const allColsWidth = foldl(colWidths, (acc, width) => acc + width, 0);\n      const selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), (acc, width) => acc + width, 0);\n      const newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth();\n      const delta = newWidth - tableSize.pixelWidth();\n      return tableSize.getCellDelta(delta);\n    };\n    const extract$1 = (table, selectedSelector) => {\n      const isSelected = detail => is$2(detail.element, selectedSelector);\n      const replica = deep(table);\n      const list = fromTable$1(replica);\n      const tableSize = TableSize.getTableSize(table);\n      const replicaHouse = Warehouse.generate(list);\n      const replicaStats = findSelectedStats(replicaHouse, isSelected);\n      const selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')';\n      const unselectedCells = filterFirstLayer(replica, 'th,td', cell => is$2(cell, selector));\n      each$2(unselectedCells, remove$6);\n      fillInGaps(list, replicaHouse, replicaStats, isSelected);\n      const house = Warehouse.fromTable(table);\n      const widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats);\n      clean(replica, replicaStats, replicaHouse, widthDelta);\n      return replica;\n    };\n\n    const nbsp = '\\xA0';\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get$6 = element => api.get(element);\n    const getOption = element => api.getOption(element);\n    const set = (element, value) => api.set(element, value);\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$2(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse = elem => isHTMLElement(elem) && get$b(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse(elem);\n    };\n\n    const first = element => descendant$1(element, isCursorPosition);\n    const last$1 = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$2(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const transferableAttributes = {\n      scope: ['row', 'col']\n    };\n    const createCell = doc => () => {\n      const td = SugarElement.fromTag('td', doc.dom);\n      append$1(td, SugarElement.fromTag('br', doc.dom));\n      return td;\n    };\n    const createCol = doc => () => {\n      return SugarElement.fromTag('col', doc.dom);\n    };\n    const createColgroup = doc => () => {\n      return SugarElement.fromTag('colgroup', doc.dom);\n    };\n    const createRow$1 = doc => () => {\n      return SugarElement.fromTag('tr', doc.dom);\n    };\n    const replace$1 = (cell, tag, attrs) => {\n      const replica = copy$2(cell, tag);\n      each$1(attrs, (v, k) => {\n        if (v === null) {\n          remove$7(replica, k);\n        } else {\n          set$2(replica, k, v);\n        }\n      });\n      return replica;\n    };\n    const pasteReplace = cell => {\n      return cell;\n    };\n    const cloneFormats = (oldCell, newCell, formats) => {\n      const first$1 = first(oldCell);\n      return first$1.map(firstText => {\n        const formatSelector = formats.join(',');\n        const parents = ancestors$3(firstText, formatSelector, element => {\n          return eq$1(element, oldCell);\n        });\n        return foldr(parents, (last, parent) => {\n          const clonedFormat = shallow(parent);\n          append$1(last, clonedFormat);\n          return clonedFormat;\n        }, newCell);\n      }).getOr(newCell);\n    };\n    const cloneAppropriateAttributes = (original, clone) => {\n      each$1(transferableAttributes, (validAttributes, attributeName) => getOpt(original, attributeName).filter(attribute => contains$2(validAttributes, attribute)).each(attribute => set$2(clone, attributeName, attribute)));\n    };\n    const cellOperations = (mutate, doc, formatsToClone) => {\n      const cloneCss = (prev, clone) => {\n        copy$1(prev.element, clone);\n        remove$5(clone, 'height');\n        if (prev.colspan !== 1) {\n          remove$5(clone, 'width');\n        }\n      };\n      const newCell = prev => {\n        const td = SugarElement.fromTag(name(prev.element), doc.dom);\n        const formats = formatsToClone.getOr(['strong', 'em', 'b', 'i', 'span', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div']);\n        const lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td;\n        append$1(lastNode, SugarElement.fromTag('br'));\n        cloneCss(prev, td);\n        cloneAppropriateAttributes(prev.element, td);\n        mutate(prev.element, td);\n        return td;\n      };\n      const newCol = prev => {\n        const col = SugarElement.fromTag(name(prev.element), doc.dom);\n        cloneCss(prev, col);\n        mutate(prev.element, col);\n        return col;\n      };\n      return {\n        col: newCol,\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: newCell,\n        replace: replace$1,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n    const paste$1 = doc => {\n      return {\n        col: createCol(doc),\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: createCell(doc),\n        replace: pasteReplace,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$2(SugarElement.fromDom(div));\n    };\n    const fromDom = nodes => map$1(nodes, SugarElement.fromDom);\n\n    const option = name => editor => editor.options.get(name);\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultTableStyles = (editor, defaultStyles) => {\n      if (isTableResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultTableAttributes = (editor, defaultAttributes) => {\n      if (isTableResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_clone_elements', {\n        processor: 'string[]'\n      });\n      registerOption('table_use_colgroups', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_header_type', {\n        processor: value => {\n          const valid = contains$2(['section', 'cells', 'sectionCells', 'auto'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: section, cells, sectionCells or auto.'\n          };\n        },\n        default: 'section'\n      });\n      registerOption('table_sizing_mode', {\n        processor: 'string',\n        default: 'auto'\n      });\n      registerOption('table_default_attributes', {\n        processor: 'object',\n        default: {\n          border: '1'\n        }\n      });\n      registerOption('table_default_styles', {\n        processor: 'object',\n        default: {\n          'border-collapse': 'collapse'\n        }\n      });\n      registerOption('table_column_resizing', {\n        processor: value => {\n          const valid = contains$2(['preservetable', 'resizetable'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be preservetable, or resizetable.'\n          };\n        },\n        default: 'preservetable'\n      });\n      registerOption('table_resize_bars', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_style_by_css', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_merge_content_on_paste', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getTableCloneElements = editor => {\n      return Optional.from(editor.options.get('table_clone_elements'));\n    };\n    const hasTableObjectResizing = editor => {\n      const objectResizing = editor.options.get('object_resizing');\n      return contains$2(objectResizing.split(','), 'table');\n    };\n    const getTableHeaderType = option('table_header_type');\n    const getTableColumnResizingBehaviour = option('table_column_resizing');\n    const isPreserveTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'preservetable';\n    const isResizeTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'resizetable';\n    const getTableSizingMode = option('table_sizing_mode');\n    const isTablePercentagesForced = editor => getTableSizingMode(editor) === 'relative';\n    const isTablePixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isTableResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const hasTableResizeBars = option('table_resize_bars');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const shouldMergeContentOnPaste = option('table_merge_content_on_paste');\n    const getTableDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultTableAttributes(editor, defaultAttributes);\n    };\n    const getTableDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultTableStyles(editor, defaultStyles);\n    };\n    const tableUseColumnGroup = option('table_use_colgroups');\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable$1 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq$1(element, getBody(editor));\n    const removeDataStyle = table => {\n      remove$7(table, 'data-mce-style');\n      const removeStyleAttribute = element => remove$7(element, 'data-mce-style');\n      each$2(cells$1(table), removeStyleAttribute);\n      each$2(columns$1(table), removeStyleAttribute);\n      each$2(rows$1(table), removeStyleAttribute);\n    };\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getPixelWidth = elm => elm.getBoundingClientRect().width;\n    const getPixelHeight = elm => elm.getBoundingClientRect().height;\n    const getRawWidth = (editor, elm) => {\n      const raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width');\n      return Optional.from(raw).filter(isNotEmpty);\n    };\n    const isPercentage$1 = value => /^(\\d+(\\.\\d+)?)%$/.test(value);\n    const isPixel = value => /^(\\d+(\\.\\d+)?)px$/.test(value);\n    const isInEditableContext$1 = cell => closest$2(cell, isTag('table')).exists(isEditable$1);\n\n    const inSelection = (bounds, detail) => {\n      const leftEdge = detail.column;\n      const rightEdge = detail.column + detail.colspan - 1;\n      const topEdge = detail.row;\n      const bottomEdge = detail.row + detail.rowspan - 1;\n      return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow;\n    };\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq$1);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const moveBy$1 = (warehouse, cell, row, column) => {\n      return Warehouse.findItem(warehouse, cell, eq$1).bind(detail => {\n        const startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row;\n        const startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column;\n        const dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);\n        return dest.map(d => {\n          return d.element;\n        });\n      });\n    };\n    const intercepts$1 = (warehouse, start, finish) => {\n      return getAnyBox(warehouse, start, finish).map(bounds => {\n        const inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds));\n        return map$1(inside, detail => {\n          return detail.element;\n        });\n      });\n    };\n    const parentCell = (warehouse, innerCell) => {\n      const isContainedBy = (c1, c2) => {\n        return contains$1(c2, c1);\n      };\n      return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(detail => {\n        return detail.element;\n      });\n    };\n\n    const moveBy = (cell, deltaRow, deltaColumn) => {\n      return table(cell).bind(table => {\n        const warehouse = getWarehouse(table);\n        return moveBy$1(warehouse, cell, deltaRow, deltaColumn);\n      });\n    };\n    const intercepts = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return intercepts$1(warehouse, first, last);\n    };\n    const nestedIntercepts = (table, first, firstTable, last, lastTable) => {\n      const warehouse = getWarehouse(table);\n      const optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first);\n      const optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last);\n      return optStartCell.bind(startCell => optLastCell.bind(lastCell => intercepts$1(warehouse, startCell, lastCell)));\n    };\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains$2(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains$2(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$b(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone$2(source);\n        setAll$1(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains$2(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor$1,\n          closest: closest$1,\n          predicate: ancestor$2,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$a,\n          getRaw: getRaw$2,\n          set: set$1,\n          remove: remove$5\n        }),\n        attrs: constant({\n          get: get$b,\n          set: set$2,\n          remove: remove$7,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before$3,\n          after: after$5,\n          afterAll: after$4,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove$6\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$2,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get$6,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq$1,\n        is: is$1\n      };\n    };\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const eq = (universe, item) => {\n      return curry(universe.eq, item);\n    };\n    const ancestors$2 = (universe, start, end, isRoot = never) => {\n      const ps1 = [start].concat(universe.up().all(start));\n      const ps2 = [end].concat(universe.up().all(end));\n      const prune = path => {\n        const index = findIndex(path, isRoot);\n        return index.fold(() => {\n          return path;\n        }, ind => {\n          return path.slice(0, ind + 1);\n        });\n      };\n      const pruned1 = prune(ps1);\n      const pruned2 = prune(ps2);\n      const shared = find$1(pruned1, x => {\n        return exists(pruned2, eq(universe, x));\n      });\n      return {\n        firstpath: pruned1,\n        secondpath: pruned2,\n        shared\n      };\n    };\n\n    const sharedOne$1 = oneAll;\n    const ancestors$1 = ancestors$2;\n\n    const universe$3 = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe$3, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n    const ancestors = (start, finish, isRoot) => {\n      return ancestors$1(universe$3, start, finish, isRoot);\n    };\n\n    const lookupTable = container => {\n      return ancestor$1(container, 'table');\n    };\n    const identify = (start, finish, isRoot) => {\n      const getIsRoot = rootTable => {\n        return element => {\n          return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable);\n        };\n      };\n      if (eq$1(start, finish)) {\n        return Optional.some({\n          boxes: Optional.some([start]),\n          start,\n          finish\n        });\n      } else {\n        return lookupTable(start).bind(startTable => {\n          return lookupTable(finish).bind(finishTable => {\n            if (eq$1(startTable, finishTable)) {\n              return Optional.some({\n                boxes: intercepts(startTable, start, finish),\n                start,\n                finish\n              });\n            } else if (contains$1(startTable, finishTable)) {\n              const ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable));\n              const finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;\n              return Optional.some({\n                boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable),\n                start,\n                finish: finishCell\n              });\n            } else if (contains$1(finishTable, startTable)) {\n              const ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable));\n              const startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;\n              return Optional.some({\n                boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable),\n                start,\n                finish: startCell\n              });\n            } else {\n              return ancestors(start, finish).shared.bind(lca => {\n                return closest$1(lca, 'table', isRoot).bind(lcaTable => {\n                  const finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable));\n                  const finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;\n                  const startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable));\n                  const startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;\n                  return Optional.some({\n                    boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable),\n                    start: startCell,\n                    finish: finishCell\n                  });\n                });\n              });\n            }\n          });\n        });\n      }\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getLast = (boxes, lastSelectedSelector) => {\n      return find$1(boxes, box => {\n        return is$2(box, lastSelectedSelector);\n      });\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n    const expandTo = (finish, firstSelectedSelector) => {\n      return ancestor$1(finish, 'table').bind(table => {\n        return descendant(table, firstSelectedSelector).bind(start => {\n          return identify(start, finish).bind(identified => {\n            return identified.boxes.map(boxes => {\n              return {\n                boxes,\n                start: identified.start,\n                finish: identified.finish\n              };\n            });\n          });\n        });\n      });\n    };\n    const shiftSelection = (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) => {\n      return getLast(boxes, lastSelectedSelector).bind(last => {\n        return moveBy(last, deltaRow, deltaColumn).bind(finish => {\n          return expandTo(finish, firstSelectedSelector);\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq$1(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strAttributeSelector = '[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const attributeSelector = strAttributeSelector;\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n    const paste = (element, clipboard, generators) => ({\n      element,\n      clipboard,\n      generators\n    });\n    const pasteRows = (selectedCells, _cell, clipboard, generators) => ({\n      selection: selection(selectedCells),\n      clipboard,\n      generators\n    });\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getCellsFromFakeSelection = editor => filter$2(getCellsFromSelection(editor), cell => is$2(cell, ephemera.selectedSelector));\n\n    const extractSelected = cells => {\n      return table(cells[0]).map(table => {\n        const replica = extract$1(table, attributeSelector);\n        removeDataStyle(replica);\n        return [replica];\n      });\n    };\n    const serializeElements = (editor, elements) => map$1(elements, elm => editor.selection.serializer.serialize(elm.dom, {})).join('');\n    const getTextContent = elements => map$1(elements, element => element.dom.innerText).join('');\n    const registerEvents = (editor, actions) => {\n      editor.on('BeforeGetContent', e => {\n        const multiCellContext = cells => {\n          e.preventDefault();\n          extractSelected(cells).each(elements => {\n            e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);\n          });\n        };\n        if (e.selection === true) {\n          const cells = getCellsFromFakeSelection(editor);\n          if (cells.length >= 1) {\n            multiCellContext(cells);\n          }\n        }\n      });\n      editor.on('BeforeSetContent', e => {\n        if (e.selection === true && e.paste === true) {\n          const selectedCells = getCellsFromSelection(editor);\n          head(selectedCells).each(cell => {\n            table(cell).each(table => {\n              const elements = filter$2(fromHtml(e.content), content => {\n                return name(content) !== 'meta';\n              });\n              const isTable = isTag('table');\n              if (shouldMergeContentOnPaste(editor) && elements.length === 1 && isTable(elements[0])) {\n                e.preventDefault();\n                const doc = SugarElement.fromDom(editor.getDoc());\n                const generators = paste$1(doc);\n                const targets = paste(cell, elements[0], generators);\n                actions.pasteCells(table, targets).each(() => {\n                  editor.focus();\n                });\n              }\n            });\n          });\n        }\n      });\n    };\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan$1 = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan$1(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe$2 = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe$2, element);\n    };\n\n    const halve = (main, other) => {\n      if (!hasColspan(main)) {\n        const width = getGenericWidth(main);\n        width.each(w => {\n          const newWidth = w.value / 2;\n          setGenericWidth(main, newWidth, w.unit);\n          setGenericWidth(other, newWidth, w.unit);\n        });\n      }\n    };\n\n    const zero = array => map$1(array, constant(0));\n    const surround = (sizes, startIndex, endIndex, results, f) => f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex)));\n    const clampDeltaHelper = predicate => (sizes, index, delta, minCellSize) => {\n      if (!predicate(delta)) {\n        return delta;\n      } else {\n        const newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta));\n        const diff = Math.abs(newSize - sizes[index]);\n        return delta >= 0 ? diff : -diff;\n      }\n    };\n    const clampNegativeDelta = clampDeltaHelper(delta => delta < 0);\n    const clampDelta = clampDeltaHelper(always);\n    const resizeTable = () => {\n      const calcFixedDeltas = (sizes, index, next, delta, minCellSize) => {\n        const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, 0], zero);\n      };\n      const calcRelativeDeltas = (sizes, index, delta, minCellSize) => {\n        const ratio = (100 + delta) / 100;\n        const newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio);\n        return map$1(sizes, (size, idx) => {\n          const newSize = idx === index ? newThis : size / ratio;\n          return newSize - size;\n        });\n      };\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          return calcFixedDeltas(sizes, index, next, delta, minCellSize);\n        }\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize, isRelative) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative);\n      const resizeTable = (resizer, delta) => resizer(delta);\n      const calcRightEdgeDeltas = (sizes, _prev, index, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n          return zero(sizes.slice(0, index)).concat([clampedDelta]);\n        }\n      };\n      const calcRedestributedWidths = (sizes, totalWidth, pixelDelta, isRelative) => {\n        if (isRelative) {\n          const tableWidth = totalWidth + pixelDelta;\n          const ratio = tableWidth / totalWidth;\n          const newSizes = map$1(sizes, size => size / ratio);\n          return {\n            delta: ratio * 100 - 100,\n            newSizes\n          };\n        } else {\n          return {\n            delta: pixelDelta,\n            newSizes: sizes\n          };\n        }\n      };\n      return {\n        resizeTable,\n        clampTableDelta: clampNegativeDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n    const preserveTable = () => {\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize) => {\n        const idx = delta >= 0 ? next : index;\n        const clampedDelta = clampDelta(sizes, idx, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, -clampedDelta], zero);\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize);\n      const resizeTable = (resizer, delta, isLastColumn) => {\n        if (isLastColumn) {\n          resizer(delta);\n        }\n      };\n      const calcRightEdgeDeltas = (sizes, _prev, _index, delta, _minCellSize, isRelative) => {\n        if (isRelative) {\n          return zero(sizes);\n        } else {\n          const diff = delta / sizes.length;\n          return map$1(sizes, constant(diff));\n        }\n      };\n      const clampTableDelta = (sizes, index, delta, minCellSize, isLastColumn) => {\n        if (isLastColumn) {\n          if (delta >= 0) {\n            return delta;\n          } else {\n            const maxDelta = foldl(sizes, (a, b) => a + b - minCellSize, 0);\n            return Math.max(-maxDelta, delta);\n          }\n        } else {\n          return clampNegativeDelta(sizes, index, delta, minCellSize);\n        }\n      };\n      const calcRedestributedWidths = (sizes, _totalWidth, _pixelDelta, _isRelative) => ({\n        delta: 0,\n        newSizes: sizes\n      });\n      return {\n        resizeTable,\n        clampTableDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n\n    const getGridSize = table => {\n      const warehouse = Warehouse.fromTable(table);\n      return warehouse.grid;\n    };\n\n    const isHeaderCell = isTag('th');\n    const isHeaderCells = cells => forall(cells, cell => isHeaderCell(cell.element));\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter$2(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map$1(rows, row => getRowType(row).type);\n      const hasHeader = contains$2(rowTypes, 'header');\n      const hasFooter = contains$2(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains$2(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    const findTableRowHeaderType = warehouse => findMap(warehouse.all, row => {\n      const rowType = getRowType(row);\n      return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none();\n    });\n\n    const transformCell = (cell, comparator, substitution) => elementnew(substitution(cell.element, comparator), true, cell.isLocked);\n    const transformRow = (row, section) => row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row;\n    const section = () => ({\n      transformRow,\n      transformCell: (cell, comparator, substitution) => {\n        const newCell = substitution(cell.element, comparator);\n        const fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell;\n        return elementnew(fixedCell, cell.isNew, cell.isLocked);\n      }\n    });\n    const sectionCells = () => ({\n      transformRow,\n      transformCell\n    });\n    const cells = () => ({\n      transformRow: (row, section) => {\n        const newSection = section === 'thead' ? 'tbody' : section;\n        return transformRow(row, newSection);\n      },\n      transformCell\n    });\n    const fallback = () => ({\n      transformRow: identity,\n      transformCell\n    });\n    const getTableSectionType = (table, fallback) => {\n      const warehouse = Warehouse.fromTable(table);\n      const type = findTableRowHeaderType(warehouse).getOr(fallback);\n      switch (type) {\n        case 'section':\n          return section();\n        case 'sectionCells':\n          return sectionCells();\n        case 'cells':\n          return cells();\n      }\n    };\n    const TableSection = {\n      getTableSectionType,\n      section,\n      sectionCells,\n      cells,\n      fallback\n    };\n\n    const setIfNot = (element, property, value, ignore) => {\n      if (value === ignore) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, value);\n      }\n    };\n    const insert$1 = (table, selector, element) => {\n      last$2(children(table, selector)).fold(() => prepend(table, element), child => after$5(child, element));\n    };\n    const generateSection = (table, sectionName) => {\n      const section = child(table, sectionName).getOrThunk(() => {\n        const newSection = SugarElement.fromTag(sectionName, owner(table).dom);\n        if (sectionName === 'thead') {\n          insert$1(table, 'caption,colgroup', newSection);\n        } else if (sectionName === 'colgroup') {\n          insert$1(table, 'caption', newSection);\n        } else {\n          append$1(table, newSection);\n        }\n        return newSection;\n      });\n      empty(section);\n      return section;\n    };\n    const render$1 = (table, grid) => {\n      const newRows = [];\n      const newCells = [];\n      const syncRows = gridSection => map$1(gridSection, row => {\n        if (row.isNew) {\n          newRows.push(row.element);\n        }\n        const tr = row.element;\n        empty(tr);\n        each$2(row.cells, cell => {\n          if (cell.isNew) {\n            newCells.push(cell.element);\n          }\n          setIfNot(cell.element, 'colspan', cell.colspan, 1);\n          setIfNot(cell.element, 'rowspan', cell.rowspan, 1);\n          append$1(tr, cell.element);\n        });\n        return tr;\n      });\n      const syncColGroup = gridSection => bind$2(gridSection, colGroup => map$1(colGroup.cells, col => {\n        setIfNot(col.element, 'span', col.colspan, 1);\n        return col.element;\n      }));\n      const renderSection = (gridSection, sectionName) => {\n        const section = generateSection(table, sectionName);\n        const sync = sectionName === 'colgroup' ? syncColGroup : syncRows;\n        const sectionElems = sync(gridSection);\n        append(section, sectionElems);\n      };\n      const removeSection = sectionName => {\n        child(table, sectionName).each(remove$6);\n      };\n      const renderOrRemoveSection = (gridSection, sectionName) => {\n        if (gridSection.length > 0) {\n          renderSection(gridSection, sectionName);\n        } else {\n          removeSection(sectionName);\n        }\n      };\n      const headSection = [];\n      const bodySection = [];\n      const footSection = [];\n      const columnGroupsSection = [];\n      each$2(grid, row => {\n        switch (row.section) {\n          case 'thead':\n            headSection.push(row);\n            break;\n          case 'tbody':\n            bodySection.push(row);\n            break;\n          case 'tfoot':\n            footSection.push(row);\n            break;\n          case 'colgroup':\n            columnGroupsSection.push(row);\n            break;\n        }\n      });\n      renderOrRemoveSection(columnGroupsSection, 'colgroup');\n      renderOrRemoveSection(headSection, 'thead');\n      renderOrRemoveSection(bodySection, 'tbody');\n      renderOrRemoveSection(footSection, 'tfoot');\n      return {\n        newRows,\n        newCells\n      };\n    };\n    const copy = grid => map$1(grid, row => {\n      const tr = shallow(row.element);\n      each$2(row.cells, cell => {\n        const clonedCell = deep(cell.element);\n        setIfNot(clonedCell, 'colspan', cell.colspan, 1);\n        setIfNot(clonedCell, 'rowspan', cell.rowspan, 1);\n        append$1(tr, clonedCell);\n      });\n      return tr;\n    });\n\n    const getColumn = (grid, index) => {\n      return map$1(grid, row => {\n        return getCell(row, index);\n      });\n    };\n    const getRow = (grid, index) => {\n      return grid[index];\n    };\n    const findDiff = (xs, comp) => {\n      if (xs.length === 0) {\n        return 0;\n      }\n      const first = xs[0];\n      const index = findIndex(xs, x => {\n        return !comp(first.element, x.element);\n      });\n      return index.getOr(xs.length);\n    };\n    const subgrid = (grid, row, column, comparator) => {\n      const gridRow = getRow(grid, row);\n      const isColRow = gridRow.section === 'colgroup';\n      const colspan = findDiff(gridRow.cells.slice(column), comparator);\n      const rowspan = isColRow ? 1 : findDiff(getColumn(grid.slice(row), column), comparator);\n      return {\n        colspan,\n        rowspan\n      };\n    };\n\n    const toDetails = (grid, comparator) => {\n      const seen = map$1(grid, row => map$1(row.cells, never));\n      const updateSeen = (rowIndex, columnIndex, rowspan, colspan) => {\n        for (let row = rowIndex; row < rowIndex + rowspan; row++) {\n          for (let column = columnIndex; column < columnIndex + colspan; column++) {\n            seen[row][column] = true;\n          }\n        }\n      };\n      return map$1(grid, (row, rowIndex) => {\n        const details = bind$2(row.cells, (cell, columnIndex) => {\n          if (seen[rowIndex][columnIndex] === false) {\n            const result = subgrid(grid, rowIndex, columnIndex, comparator);\n            updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan);\n            return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)];\n          } else {\n            return [];\n          }\n        });\n        return rowdetailnew(row.element, details, row.section, row.isNew);\n      });\n    };\n    const toGrid = (warehouse, generators, isNew) => {\n      const grid = [];\n      each$2(warehouse.colgroups, colgroup => {\n        const colgroupCols = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getColumnAt(warehouse, columnIndex).map(column => elementnew(column.element, isNew, false)).getOrThunk(() => elementnew(generators.colGap(), true, false));\n          colgroupCols.push(element);\n        }\n        grid.push(rowcells(colgroup.element, colgroupCols, 'colgroup', isNew));\n      });\n      for (let rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) {\n        const rowCells = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(item => elementnew(item.element, isNew, item.isLocked)).getOrThunk(() => elementnew(generators.gap(), true, false));\n          rowCells.push(element);\n        }\n        const rowDetail = warehouse.all[rowIndex];\n        const row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew);\n        grid.push(row);\n      }\n      return grid;\n    };\n\n    const fromWarehouse = (warehouse, generators) => toGrid(warehouse, generators, false);\n    const toDetailList = grid => toDetails(grid, eq$1);\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find$1(r.cells, e => eq$1(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map$1(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const run = (operation, extract, adjustment, postAction, genWrappers) => (table, target, generators, behaviours) => {\n      const warehouse = Warehouse.fromTable(table);\n      const tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback);\n      const output = extract(warehouse, target).map(info => {\n        const model = fromWarehouse(warehouse, generators);\n        const result = operation(model, info, eq$1, genWrappers(generators), tableSection);\n        const lockedColumns = getLockedColumnsFromGrid(result.grid);\n        const grid = toDetailList(result.grid);\n        return {\n          info,\n          grid,\n          cursor: result.cursor,\n          lockedColumns\n        };\n      });\n      return output.bind(out => {\n        const newElements = render$1(table, out.grid);\n        const tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(() => TableSize.getTableSize(table));\n        const resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable);\n        adjustment(table, out.grid, out.info, {\n          sizing: tableSizing,\n          resize: resizing,\n          section: tableSection\n        });\n        postAction(table);\n        remove$7(table, LOCKED_COL_ATTR);\n        if (out.lockedColumns.length > 0) {\n          set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(','));\n        }\n        return Optional.some({\n          cursor: out.cursor,\n          newRows: newElements.newRows,\n          newCells: newElements.newCells\n        });\n      });\n    };\n    const onPaste = (warehouse, target) => cell(target.element).bind(cell => findInWarehouse(warehouse, cell).map(details => {\n      const value = {\n        ...details,\n        generators: target.generators,\n        clipboard: target.clipboard\n      };\n      return value;\n    }));\n    const onPasteByEditor = (warehouse, target) => extractCells(warehouse, target, always).map(cells => ({\n      cells,\n      generators: target.generators,\n      clipboard: target.clipboard\n    }));\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const onUnlockedCells = (warehouse, target) => extractCells(warehouse, target, detail => !detail.isLocked);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const merge$2 = (grid, bounds, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (rows.length === 0) {\n        return grid;\n      }\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          const row = rows[i];\n          const isLocked = getCell(row, j).isLocked;\n          mutateCell(row, j, elementnew(substitution(), false, isLocked));\n        }\n      }\n      return grid;\n    };\n    const unmerge = (grid, target, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      let first = true;\n      for (let i = 0; i < rows.length; i++) {\n        for (let j = 0; j < cellLength(rows[0]); j++) {\n          const row = rows[i];\n          const currentCell = getCell(row, j);\n          const currentCellElm = currentCell.element;\n          const isToReplace = comparator(currentCellElm, target);\n          if (isToReplace && !first) {\n            mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked));\n          } else if (isToReplace) {\n            first = false;\n          }\n        }\n      }\n      return grid;\n    };\n    const uniqueCells = (row, comparator) => {\n      return foldl(row, (rest, cell) => {\n        return exists(rest, currentCell => {\n          return comparator(currentCell.element, cell.element);\n        }) ? rest : rest.concat([cell]);\n      }, []);\n    };\n    const splitCols = (grid, index, comparator, substitution) => {\n      if (index > 0 && index < grid[0].cells.length) {\n        each$2(grid, row => {\n          const prevCell = row.cells[index - 1];\n          let offset = 0;\n          const substitute = substitution();\n          while (row.cells.length > index + offset && comparator(prevCell.element, row.cells[index + offset].element)) {\n            mutateCell(row, index + offset, elementnew(substitute, true, row.cells[index + offset].isLocked));\n            offset++;\n          }\n        });\n      }\n      return grid;\n    };\n    const splitRows = (grid, index, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (index > 0 && index < rows.length) {\n        const rowPrevCells = rows[index - 1].cells;\n        const cells = uniqueCells(rowPrevCells, comparator);\n        each$2(cells, cell => {\n          let replacement = Optional.none();\n          for (let i = index; i < rows.length; i++) {\n            for (let j = 0; j < cellLength(rows[0]); j++) {\n              const row = rows[i];\n              const current = getCell(row, j);\n              const isToReplace = comparator(current.element, cell.element);\n              if (isToReplace) {\n                if (replacement.isNone()) {\n                  replacement = Optional.some(substitution());\n                }\n                replacement.each(sub => {\n                  mutateCell(row, j, elementnew(sub, true, current.isLocked));\n                });\n              }\n            }\n          }\n        });\n      }\n      return grid;\n    };\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply,\n        orThunk: apply,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const measure = (startAddress, gridA, gridB) => {\n      if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) {\n        return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column);\n      }\n      const rowRemainder = gridA.slice(startAddress.row);\n      const colRemainder = rowRemainder[0].cells.slice(startAddress.column);\n      const colRequired = cellLength(gridB[0]);\n      const rowRequired = gridB.length;\n      return Result.value({\n        rowDelta: rowRemainder.length - rowRequired,\n        colDelta: colRemainder.length - colRequired\n      });\n    };\n    const measureWidth = (gridA, gridB) => {\n      const colLengthA = cellLength(gridA[0]);\n      const colLengthB = cellLength(gridB[0]);\n      return {\n        rowDelta: 0,\n        colDelta: colLengthA - colLengthB\n      };\n    };\n    const measureHeight = (gridA, gridB) => {\n      const rowLengthA = gridA.length;\n      const rowLengthB = gridB.length;\n      return {\n        rowDelta: rowLengthA - rowLengthB,\n        colDelta: 0\n      };\n    };\n    const generateElements = (amount, row, generators, isLocked) => {\n      const generator = row.section === 'colgroup' ? generators.col : generators.cell;\n      return range$1(amount, idx => elementnew(generator(), true, isLocked(idx)));\n    };\n    const rowFill = (grid, amount, generators, lockedColumns) => {\n      const exampleRow = grid[grid.length - 1];\n      return grid.concat(range$1(amount, () => {\n        const generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row;\n        const row = clone(exampleRow, generator, identity);\n        const elements = generateElements(row.cells.length, row, generators, idx => has$1(lockedColumns, idx.toString()));\n        return setCells(row, elements);\n      }));\n    };\n    const colFill = (grid, amount, generators, startIndex) => map$1(grid, row => {\n      const newChildren = generateElements(amount, row, generators, never);\n      return addCells(row, startIndex, newChildren);\n    });\n    const lockedColFill = (grid, generators, lockedColumns) => map$1(grid, row => {\n      return foldl(lockedColumns, (acc, colNum) => {\n        const newChild = generateElements(1, row, generators, always)[0];\n        return addCell(acc, colNum, newChild);\n      }, row);\n    });\n    const tailor = (gridA, delta, generators) => {\n      const fillCols = delta.colDelta < 0 ? colFill : identity;\n      const fillRows = delta.rowDelta < 0 ? rowFill : identity;\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const gridWidth = cellLength(gridA[0]);\n      const isLastColLocked = exists(lockedColumns, locked => locked === gridWidth - 1);\n      const modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth);\n      const newLockedColumns = getLockedColumnsFromGrid(modifiedCols);\n      return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always));\n    };\n\n    const isSpanning = (grid, row, col, comparator) => {\n      const candidate = getCell(grid[row], col);\n      const matching = curry(comparator, candidate.element);\n      const currentRow = grid[row];\n      return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col)));\n    };\n    const mergeTables = (startAddress, gridA, gridBRows, generator, comparator, lockedColumns) => {\n      const startRow = startAddress.row;\n      const startCol = startAddress.column;\n      const mergeHeight = gridBRows.length;\n      const mergeWidth = cellLength(gridBRows[0]);\n      const endRow = startRow + mergeHeight;\n      const endCol = startCol + mergeWidth + lockedColumns.length;\n      const lockedColumnObj = mapToObject(lockedColumns, always);\n      for (let r = startRow; r < endRow; r++) {\n        let skippedCol = 0;\n        for (let c = startCol; c < endCol; c++) {\n          if (lockedColumnObj[c]) {\n            skippedCol++;\n            continue;\n          }\n          if (isSpanning(gridA, r, c, comparator)) {\n            unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell);\n          }\n          const gridBColIndex = c - startCol - skippedCol;\n          const newCell = getCell(gridBRows[r - startRow], gridBColIndex);\n          const newCellElm = newCell.element;\n          const replacement = generator.replace(newCellElm);\n          mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked));\n        }\n      }\n      return gridA;\n    };\n    const getValidStartAddress = (currentStartAddress, grid, lockedColumns) => {\n      const gridColLength = cellLength(grid[0]);\n      const adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row;\n      const possibleColAddresses = range$1(gridColLength - currentStartAddress.column, num => num + currentStartAddress.column);\n      const validColAddress = find$1(possibleColAddresses, num => forall(lockedColumns, col => col !== num)).getOr(gridColLength - 1);\n      return {\n        row: adjustedRowAddress,\n        column: validColAddress\n      };\n    };\n    const getLockedColumnsWithinBounds = (startAddress, rows, lockedColumns) => filter$2(lockedColumns, colNum => colNum >= startAddress.column && colNum <= cellLength(rows[0]) + startAddress.column);\n    const merge$1 = (startAddress, gridA, gridB, generator, comparator) => {\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns);\n      const gridBRows = extractGridDetails(gridB).rows;\n      const lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns);\n      const result = measure(validStartAddress, gridA, gridBRows);\n      return result.map(diff => {\n        const delta = {\n          ...diff,\n          colDelta: diff.colDelta - lockedColumnsWithinBounds.length\n        };\n        const fittedGrid = tailor(gridA, delta, generator);\n        const newLockedColumns = getLockedColumnsFromGrid(fittedGrid);\n        const newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns);\n        return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds);\n      });\n    };\n    const insertCols = (index, gridA, gridB, generator, comparator) => {\n      splitCols(gridA, index, comparator, generator.cell);\n      const delta = measureHeight(gridB, gridA);\n      const fittedNewGrid = tailor(gridB, delta, generator);\n      const secondDelta = measureHeight(gridA, fittedNewGrid);\n      const fittedOldGrid = tailor(gridA, secondDelta, generator);\n      return map$1(fittedOldGrid, (gridRow, i) => {\n        return addCells(gridRow, index, fittedNewGrid[i].cells);\n      });\n    };\n    const insertRows = (index, gridA, gridB, generator, comparator) => {\n      splitRows(gridA, index, comparator, generator.cell);\n      const locked = getLockedColumnsFromGrid(gridA);\n      const diff = measureWidth(gridA, gridB);\n      const delta = {\n        ...diff,\n        colDelta: diff.colDelta - locked.length\n      };\n      const fittedOldGrid = tailor(gridA, delta, generator);\n      const {\n        cols: oldCols,\n        rows: oldRows\n      } = extractGridDetails(fittedOldGrid);\n      const newLocked = getLockedColumnsFromGrid(fittedOldGrid);\n      const secondDiff = measureWidth(gridB, gridA);\n      const secondDelta = {\n        ...secondDiff,\n        colDelta: secondDiff.colDelta + newLocked.length\n      };\n      const fittedGridB = lockedColFill(gridB, generator, newLocked);\n      const fittedNewGrid = tailor(fittedGridB, secondDelta, generator);\n      return [...oldCols, ...oldRows.slice(0, index), ...fittedNewGrid, ...oldRows.slice(index, oldRows.length)];\n    };\n\n    const cloneRow = (row, cloneCell, comparator, substitution) => clone(row, elem => substitution(elem, comparator), cloneCell);\n    const insertRowAt = (grid, index, example, comparator, substitution) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      const before = rows.slice(0, index);\n      const after = rows.slice(index);\n      const newRow = cloneRow(rows[example], (ex, c) => {\n        const withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c));\n        const ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked);\n        return ret;\n      }, comparator, substitution);\n      return [...cols, ...before, newRow, ...after];\n    };\n    const getElementFor = (row, column, section, withinSpan, example, comparator, substitution) => {\n      if (section === 'colgroup' || !withinSpan) {\n        const cell = getCell(row, example);\n        return elementnew(substitution(cell.element, comparator), true, false);\n      } else {\n        return getCell(row, column);\n      }\n    };\n    const insertColumnAt = (grid, index, example, comparator, substitution) => map$1(grid, row => {\n      const withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n      const sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution);\n      return addCell(row, index, sub);\n    });\n    const deleteColumnsAt = (grid, columns) => bind$2(grid, row => {\n      const existingCells = row.cells;\n      const cells = foldr(columns, (acc, column) => column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc, existingCells);\n      return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : [];\n    });\n    const deleteRowsAt = (grid, start, finish) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      return [...cols, ...rows.slice(0, start), ...rows.slice(finish + 1)];\n    };\n\n    const notInStartRow = (grid, rowIndex, colIndex, comparator) => getCellElement(grid[rowIndex], colIndex) !== undefined && rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex));\n    const notInStartColumn = (row, index, comparator) => index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n    const isDuplicatedCell = (grid, rowIndex, colIndex, comparator) => notInStartRow(grid, rowIndex, colIndex, comparator) || notInStartColumn(grid[rowIndex], colIndex, comparator);\n    const rowReplacerPredicate = (targetRow, columnHeaders) => {\n      const entireTableIsHeader = forall(columnHeaders, identity) && isHeaderCells(targetRow.cells);\n      return entireTableIsHeader ? always : (cell, _rowIndex, colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && columnHeaders[colIndex]);\n      };\n    };\n    const columnReplacePredicate = (targetColumn, rowHeaders) => {\n      const entireTableIsHeader = forall(rowHeaders, identity) && isHeaderCells(targetColumn);\n      return entireTableIsHeader ? always : (cell, rowIndex, _colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && rowHeaders[rowIndex]);\n      };\n    };\n    const determineScope = (applyScope, cell, newScope, isInHeader) => {\n      const hasSpan = scope => scope === 'row' ? hasRowspan(cell) : hasColspan(cell);\n      const getScope = scope => hasSpan(scope) ? \"\".concat(scope, \"group\") : scope;\n      if (applyScope) {\n        return isHeaderCell(cell) ? getScope(newScope) : null;\n      } else if (isInHeader && isHeaderCell(cell)) {\n        const oppositeScope = newScope === 'row' ? 'col' : 'row';\n        return getScope(oppositeScope);\n      } else {\n        return null;\n      }\n    };\n    const rowScopeGenerator = (applyScope, columnHeaders) => (cell, rowIndex, columnIndex) => Optional.some(determineScope(applyScope, cell.element, 'col', columnHeaders[columnIndex]));\n    const columnScopeGenerator = (applyScope, rowHeaders) => (cell, rowIndex) => Optional.some(determineScope(applyScope, cell.element, 'row', rowHeaders[rowIndex]));\n    const replace = (cell, comparator, substitute) => elementnew(substitute(cell.element, comparator), true, cell.isLocked);\n    const replaceIn = (grid, targets, comparator, substitute, replacer, genScope, shouldReplace) => {\n      const isTarget = cell => {\n        return exists(targets, target => {\n          return comparator(cell.element, target.element);\n        });\n      };\n      return map$1(grid, (row, rowIndex) => {\n        return mapCells(row, (cell, colIndex) => {\n          if (isTarget(cell)) {\n            const newCell = shouldReplace(cell, rowIndex, colIndex) ? replacer(cell, comparator, substitute) : cell;\n            genScope(newCell, rowIndex, colIndex).each(scope => {\n              setOptions(newCell.element, {\n                scope: Optional.from(scope)\n              });\n            });\n            return newCell;\n          } else {\n            return cell;\n          }\n        });\n      });\n    };\n    const getColumnCells = (rows, columnIndex, comparator) => bind$2(rows, (row, i) => {\n      return isDuplicatedCell(rows, i, columnIndex, comparator) ? [] : [getCell(row, columnIndex)];\n    });\n    const getRowCells = (rows, rowIndex, comparator) => {\n      const targetRow = rows[rowIndex];\n      return bind$2(targetRow.cells, (item, i) => {\n        return isDuplicatedCell(rows, rowIndex, i, comparator) ? [] : [item];\n      });\n    };\n    const replaceColumns = (grid, indexes, applyScope, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targets = bind$2(indexes, index => getColumnCells(rows, index, comparator));\n      const rowHeaders = map$1(rows, row => isHeaderCells(row.cells));\n      const shouldReplaceCell = columnReplacePredicate(targets, rowHeaders);\n      const scopeGenerator = columnScopeGenerator(applyScope, rowHeaders);\n      return replaceIn(grid, targets, comparator, substitution, replace, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceRows = (grid, indexes, section, applyScope, comparator, substitution, tableSection) => {\n      const {\n        cols,\n        rows\n      } = extractGridDetails(grid);\n      const targetRow = rows[indexes[0]];\n      const targets = bind$2(indexes, index => getRowCells(rows, index, comparator));\n      const columnHeaders = map$1(targetRow.cells, (_cell, index) => isHeaderCells(getColumnCells(rows, index, comparator)));\n      const newRows = [...rows];\n      each$2(indexes, index => {\n        newRows[index] = tableSection.transformRow(rows[index], section);\n      });\n      const newGrid = [...cols, ...newRows];\n      const shouldReplaceCell = rowReplacerPredicate(targetRow, columnHeaders);\n      const scopeGenerator = rowScopeGenerator(applyScope, columnHeaders);\n      return replaceIn(newGrid, targets, comparator, substitution, tableSection.transformCell, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceCells = (grid, details, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targetCells = map$1(details, detail => getCell(rows[detail.row], detail.column));\n      return replaceIn(grid, targetCells, comparator, substitution, replace, Optional.none, always);\n    };\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$2(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt$6 = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    const ColumnContext = {\n      ...adt$6\n    };\n\n    const neighbours = (input, index) => {\n      if (input.length === 0) {\n        return ColumnContext.none();\n      }\n      if (input.length === 1) {\n        return ColumnContext.only(0);\n      }\n      if (index === 0) {\n        return ColumnContext.left(0, 1);\n      }\n      if (index === input.length - 1) {\n        return ColumnContext.right(index - 1, index);\n      }\n      if (index > 0 && index < input.length - 1) {\n        return ColumnContext.middle(index - 1, index, index + 1);\n      }\n      return ColumnContext.none();\n    };\n    const determine = (input, column, step, tableSize, resize) => {\n      const result = input.slice(0);\n      const context = neighbours(input, column);\n      const onNone = constant(map$1(result, constant(0)));\n      const onOnly = index => tableSize.singleColumnWidth(result[index], step);\n      const onLeft = (index, next) => resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onMiddle = (prev, index, next) => resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onRight = (prev, index) => resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative);\n      return context.fold(onNone, onOnly, onLeft, onMiddle, onRight);\n    };\n\n    const total = (start, end, measures) => {\n      let r = 0;\n      for (let i = start; i < end; i++) {\n        r += measures[i] !== undefined ? measures[i] : 0;\n      }\n      return r;\n    };\n    const recalculateWidthForCells = (warehouse, widths) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const width = total(cell.column, cell.column + cell.colspan, widths);\n        return {\n          element: cell.element,\n          width,\n          colspan: cell.colspan\n        };\n      });\n    };\n    const recalculateWidthForColumns = (warehouse, widths) => {\n      const groups = Warehouse.justColumns(warehouse);\n      return map$1(groups, (column, index) => ({\n        element: column.element,\n        width: widths[index],\n        colspan: column.colspan\n      }));\n    };\n    const recalculateHeightForCells = (warehouse, heights) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const height = total(cell.row, cell.row + cell.rowspan, heights);\n        return {\n          element: cell.element,\n          height,\n          rowspan: cell.rowspan\n        };\n      });\n    };\n    const matchRowHeight = (warehouse, heights) => {\n      return map$1(warehouse.all, (row, i) => {\n        return {\n          element: row.element,\n          height: heights[i]\n        };\n      });\n    };\n\n    const sumUp = newSize => foldr(newSize, (b, a) => b + a, 0);\n    const recalculate = (warehouse, widths) => {\n      if (Warehouse.hasColumns(warehouse)) {\n        return recalculateWidthForColumns(warehouse, widths);\n      } else {\n        return recalculateWidthForCells(warehouse, widths);\n      }\n    };\n    const recalculateAndApply = (warehouse, widths, tableSize) => {\n      const newSizes = recalculate(warehouse, widths);\n      each$2(newSizes, cell => {\n        tableSize.setElementWidth(cell.element, cell.width);\n      });\n    };\n    const adjustWidth = (table, delta, index, resizing, tableSize) => {\n      const warehouse = Warehouse.fromTable(table);\n      const step = tableSize.getCellDelta(delta);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      const isLastColumn = index === warehouse.grid.columns - 1;\n      const clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn);\n      const deltas = determine(widths, index, clampedStep, tableSize, resizing);\n      const newWidths = map$1(deltas, (dx, i) => dx + widths[i]);\n      recalculateAndApply(warehouse, newWidths, tableSize);\n      resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn);\n    };\n    const adjustHeight = (table, delta, index, direction) => {\n      const warehouse = Warehouse.fromTable(table);\n      const heights = getPixelHeights(warehouse, table, direction);\n      const newHeights = map$1(heights, (dy, i) => index === i ? Math.max(delta + dy, minHeight()) : dy);\n      const newCellSizes = recalculateHeightForCells(warehouse, newHeights);\n      const newRowSizes = matchRowHeight(warehouse, newHeights);\n      each$2(newRowSizes, row => {\n        setHeight(row.element, row.height);\n      });\n      each$2(newCellSizes, cell => {\n        setHeight(cell.element, cell.height);\n      });\n      const total = sumUp(newHeights);\n      setHeight(table, total);\n    };\n    const adjustAndRedistributeWidths$1 = (_table, list, details, tableSize, resizeBehaviour) => {\n      const warehouse = Warehouse.generate(list);\n      const sizes = tableSize.getWidths(warehouse, tableSize);\n      const tablePixelWidth = tableSize.pixelWidth();\n      const {\n        newSizes,\n        delta\n      } = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative);\n      recalculateAndApply(warehouse, newSizes, tableSize);\n      tableSize.adjustTableWidth(delta);\n    };\n    const adjustWidthTo = (_table, list, _info, tableSize) => {\n      const warehouse = Warehouse.generate(list);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      recalculateAndApply(warehouse, widths, tableSize);\n    };\n\n    const uniqueColumns = details => {\n      const uniqueCheck = (rest, detail) => {\n        const columnExists = exists(rest, currentDetail => currentDetail.column === detail.column);\n        return columnExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, uniqueCheck, []).sort((detailA, detailB) => detailA.column - detailB.column);\n    };\n\n    const isCol = isTag('col');\n    const isColgroup = isTag('colgroup');\n    const isRow$1 = element => name(element) === 'tr' || isColgroup(element);\n    const elementToData = element => {\n      const colspan = getAttrValue(element, 'colspan', 1);\n      const rowspan = getAttrValue(element, 'rowspan', 1);\n      return {\n        element,\n        colspan,\n        rowspan\n      };\n    };\n    const modification = (generators, toData = elementToData) => {\n      const nuCell = data => isCol(data.element) ? generators.col(data) : generators.cell(data);\n      const nuRow = data => isColgroup(data.element) ? generators.colgroup(data) : generators.row(data);\n      const add = element => {\n        if (isRow$1(element)) {\n          return nuRow({\n            element\n          });\n        } else {\n          const cell = element;\n          const replacement = nuCell(toData(cell));\n          recent = Optional.some({\n            item: cell,\n            replacement\n          });\n          return replacement;\n        }\n      };\n      let recent = Optional.none();\n      const getOrInit = (element, comparator) => {\n        return recent.fold(() => {\n          return add(element);\n        }, p => {\n          return comparator(element, p.item) ? p.replacement : add(element);\n        });\n      };\n      return {\n        getOrInit\n      };\n    };\n    const transform$1 = tag => {\n      return generators => {\n        const list = [];\n        const find = (element, comparator) => {\n          return find$1(list, x => {\n            return comparator(x.item, element);\n          });\n        };\n        const makeNew = element => {\n          const attrs = tag === 'td' ? {\n            scope: null\n          } : {};\n          const cell = generators.replace(element, tag, attrs);\n          list.push({\n            item: element,\n            sub: cell\n          });\n          return cell;\n        };\n        const replaceOrInit = (element, comparator) => {\n          if (isRow$1(element) || isCol(element)) {\n            return element;\n          } else {\n            const cell = element;\n            return find(cell, comparator).fold(() => {\n              return makeNew(cell);\n            }, p => {\n              return comparator(element, p.item) ? p.sub : makeNew(cell);\n            });\n          }\n        };\n        return {\n          replaceOrInit\n        };\n      };\n    };\n    const getScopeAttribute = cell => getOpt(cell, 'scope').map(attribute => attribute.substr(0, 3));\n    const merging = generators => {\n      const unmerge = cell => {\n        const scope = getScopeAttribute(cell);\n        scope.each(attribute => set$2(cell, 'scope', attribute));\n        return () => {\n          const raw = generators.cell({\n            element: cell,\n            colspan: 1,\n            rowspan: 1\n          });\n          remove$5(raw, 'width');\n          remove$5(cell, 'width');\n          scope.each(attribute => set$2(raw, 'scope', attribute));\n          return raw;\n        };\n      };\n      const merge = cells => {\n        const getScopeProperty = () => {\n          const stringAttributes = cat(map$1(cells, getScopeAttribute));\n          if (stringAttributes.length === 0) {\n            return Optional.none();\n          } else {\n            const baseScope = stringAttributes[0];\n            const scopes = ['row', 'col'];\n            const isMixed = exists(stringAttributes, attribute => {\n              return attribute !== baseScope && contains$2(scopes, attribute);\n            });\n            return isMixed ? Optional.none() : Optional.from(baseScope);\n          }\n        };\n        remove$5(cells[0], 'width');\n        getScopeProperty().fold(() => remove$7(cells[0], 'scope'), attribute => set$2(cells[0], 'scope', attribute + 'group'));\n        return constant(cells[0]);\n      };\n      return {\n        unmerge,\n        merge\n      };\n    };\n    const Generators = {\n      modification,\n      transform: transform$1,\n      merging\n    };\n\n    const blockList = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'table', 'thead', 'tfoot', 'tbody', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n    const isList$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(['ol', 'ul'], tagName);\n    };\n    const isBlock$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(blockList, tagName);\n    };\n    const isEmptyTag$1 = (universe, item) => {\n      return contains$2(['br', 'img', 'hr', 'input'], universe.property().name(item));\n    };\n\n    const universe$1 = DomUniverse();\n    const isBlock = element => {\n      return isBlock$1(universe$1, element);\n    };\n    const isList = element => {\n      return isList$1(universe$1, element);\n    };\n    const isEmptyTag = element => {\n      return isEmptyTag$1(universe$1, element);\n    };\n\n    const merge = cells => {\n      const isBr = isTag('br');\n      const advancedBr = children => {\n        return forall(children, c => {\n          return isBr(c) || isText(c) && get$6(c).trim().length === 0;\n        });\n      };\n      const isListItem = el => {\n        return name(el) === 'li' || ancestor$2(el, isList).isSome();\n      };\n      const siblingIsBlock = el => {\n        return nextSibling(el).map(rightSibling => {\n          if (isBlock(rightSibling)) {\n            return true;\n          }\n          if (isEmptyTag(rightSibling)) {\n            return name(rightSibling) === 'img' ? false : true;\n          }\n          return false;\n        }).getOr(false);\n      };\n      const markCell = cell => {\n        return last$1(cell).bind(rightEdge => {\n          const rightSiblingIsBlock = siblingIsBlock(rightEdge);\n          return parent(rightEdge).map(parent => {\n            return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')];\n          });\n        }).getOr([]);\n      };\n      const markContent = () => {\n        const content = bind$2(cells, cell => {\n          const children = children$2(cell);\n          return advancedBr(children) ? [] : children.concat(markCell(cell));\n        });\n        return content.length === 0 ? [SugarElement.fromTag('br')] : content;\n      };\n      const contents = markContent();\n      empty(cells[0]);\n      append(cells[0], contents);\n    };\n\n    const isEditable = elem => isEditable$1(elem, true);\n    const prune = table => {\n      const cells = cells$1(table);\n      if (cells.length === 0) {\n        remove$6(table);\n      }\n    };\n    const outcome = (grid, cursor) => ({\n      grid,\n      cursor\n    });\n    const findEditableCursorPosition = rows => findMap(rows, row => findMap(row.cells, cell => {\n      const elem = cell.element;\n      return someIf(isEditable(elem), elem);\n    }));\n    const elementFromGrid = (grid, row, column) => {\n      var _a, _b;\n      const rows = extractGridDetails(grid).rows;\n      return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(() => findEditableCursorPosition(rows));\n    };\n    const bundle = (grid, row, column) => {\n      const cursorElement = elementFromGrid(grid, row, column);\n      return outcome(grid, cursorElement);\n    };\n    const uniqueRows = details => {\n      const rowCompilation = (rest, detail) => {\n        const rowExists = exists(rest, currentDetail => currentDetail.row === detail.row);\n        return rowExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, rowCompilation, []).sort((detailA, detailB) => detailA.row - detailB.row);\n    };\n    const opInsertRowsBefore = (grid, details, comparator, genWrappers) => {\n      const targetIndex = details[0].row;\n      const rows = uniqueRows(details);\n      const newGrid = foldr(rows, (acc, row) => {\n        const newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertRowsAfter = (grid, details, comparator, genWrappers) => {\n      const rows = uniqueRows(details);\n      const target = rows[rows.length - 1];\n      const targetIndex = target.row + target.rowspan;\n      const newGrid = foldr(rows, (newG, row) => {\n        return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertColumnsBefore = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const columns = uniqueColumns(details);\n      const targetIndex = columns[0].column;\n      const newGrid = foldr(columns, (acc, col) => {\n        const newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opInsertColumnsAfter = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const target = details[details.length - 1];\n      const targetIndex = target.column + target.colspan;\n      const columns = uniqueColumns(details);\n      const newGrid = foldr(columns, (newG, col) => {\n        return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opMakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, true, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, false, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const makeRowsSection = (section, applyScope) => (initialGrid, details, comparator, genWrappers, tableSection) => {\n      const rows = uniqueRows(details);\n      const rowIndexes = map$1(rows, detail => detail.row);\n      const newGrid = replaceRows(initialGrid, rowIndexes, section, applyScope, comparator, genWrappers.replaceOrInit, tableSection);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeRowsHeader = makeRowsSection('thead', true);\n    const opMakeRowsBody = makeRowsSection('tbody', false);\n    const opMakeRowsFooter = makeRowsSection('tfoot', false);\n    const opEraseColumns = (grid, extractDetail, _comparator, _genWrappers) => {\n      const columns = uniqueColumns(extractDetail.details);\n      const newGrid = deleteColumnsAt(grid, map$1(columns, column => column.column));\n      const maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0;\n      return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex));\n    };\n    const opEraseRows = (grid, details, _comparator, _genWrappers) => {\n      const rows = uniqueRows(details);\n      const newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row);\n      const maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0;\n      return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column);\n    };\n    const opMergeCells = (grid, mergable, comparator, genWrappers) => {\n      const cells = mergable.cells;\n      merge(cells);\n      const newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells));\n      return outcome(newGrid, Optional.from(cells[0]));\n    };\n    const opUnmergeCells = (grid, unmergable, comparator, genWrappers) => {\n      const unmerge$1 = (b, cell) => unmerge(b, cell, comparator, genWrappers.unmerge(cell));\n      const newGrid = foldr(unmergable, unmerge$1, grid);\n      return outcome(newGrid, Optional.from(unmergable[0]));\n    };\n    const opPasteCells = (grid, pasteDetails, comparator, _genWrappers) => {\n      const gridify = (table, generators) => {\n        const wh = Warehouse.fromTable(table);\n        return toGrid(wh, generators, true);\n      };\n      const gridB = gridify(pasteDetails.clipboard, pasteDetails.generators);\n      const startAddress = address(pasteDetails.row, pasteDetails.column);\n      const mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator);\n      return mergedGrid.fold(() => outcome(grid, Optional.some(pasteDetails.element)), newGrid => {\n        return bundle(newGrid, pasteDetails.row, pasteDetails.column);\n      });\n    };\n    const gridifyRows = (rows, generators, context) => {\n      const pasteDetails = fromPastedRows(rows, context.section);\n      const wh = Warehouse.generate(pasteDetails);\n      return toGrid(wh, generators, true);\n    };\n    const opPasteColsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].column;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteColsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].row;\n      const context = rows[index];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opGetColumnsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const selectedColumnCells = flatten(map$1(house.all, row => filter$2(row.cells, cell => cell.column >= minColRange && cell.column < maxColRange)));\n        return findCommonCellType(selectedColumnCells);\n      }).getOr('');\n    };\n    const opGetCellsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(findCommonCellType).getOr('');\n    };\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const resize = (table, list, details, behaviours) => adjustWidthTo(table, list, details, behaviours.sizing);\n    const adjustAndRedistributeWidths = (table, list, details, behaviours) => adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize);\n    const firstColumnIsLocked = (_warehouse, details) => exists(details, detail => detail.column === 0 && detail.isLocked);\n    const lastColumnIsLocked = (warehouse, details) => exists(details, detail => detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked);\n    const getColumnsWidth = (warehouse, details) => {\n      const columns$1 = columns(warehouse);\n      const uniqueCols = uniqueColumns(details);\n      return foldl(uniqueCols, (acc, detail) => {\n        const column = columns$1[detail.column];\n        const colWidth = column.map(getOuter$2).getOr(0);\n        return acc + colWidth;\n      }, 0);\n    };\n    const insertColumnsExtractor = before => (warehouse, target) => onCells(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details);\n    }).map(details => ({\n      details,\n      pixelDelta: getColumnsWidth(warehouse, details)\n    }));\n    const eraseColumnsExtractor = (warehouse, target) => onUnlockedCells(warehouse, target).map(details => ({\n      details,\n      pixelDelta: -getColumnsWidth(warehouse, details)\n    }));\n    const pasteColumnsExtractor = before => (warehouse, target) => onPasteByEditor(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details.cells);\n    });\n    const headerCellGenerator = Generators.transform('th');\n    const bodyCellGenerator = Generators.transform('td');\n    const insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification);\n    const insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification);\n    const insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification);\n    const insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification);\n    const eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification);\n    const eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification);\n    const makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging);\n    const unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging);\n    const pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification);\n    const pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification);\n    const pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification);\n    const pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification);\n    const pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification);\n    const getColumnsType = opGetColumnsType;\n    const getCellsType = opGetCellsType;\n    const getRowsType = opGetRowsType;\n\n    const fireNewRow = (editor, row) => editor.dispatch('NewRow', {\n      node: row\n    });\n    const fireNewCell = (editor, cell) => editor.dispatch('NewCell', {\n      node: cell\n    });\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n    const fireTableSelectionChange = (editor, cells, start, finish, otherCells) => {\n      editor.dispatch('TableSelectionChange', {\n        cells,\n        start,\n        finish,\n        otherCells\n      });\n    };\n    const fireTableSelectionClear = editor => {\n      editor.dispatch('TableSelectionClear');\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const styleModified = {\n      structure: false,\n      style: true\n    };\n    const structureModified = {\n      structure: true,\n      style: false\n    };\n    const styleAndStructureModified = {\n      structure: true,\n      style: true\n    };\n\n    const get$5 = (editor, table) => {\n      if (isTablePercentagesForced(editor)) {\n        return TableSize.percentageSize(table);\n      } else if (isTablePixelsForced(editor)) {\n        return TableSize.pixelSize(table);\n      } else {\n        return TableSize.getTableSize(table);\n      }\n    };\n\n    const TableActions = (editor, resizeHandler, cellSelectionHandler) => {\n      const isTableBody = editor => name(getBody(editor)) === 'table';\n      const lastRowGuard = table => !isTableBody(editor) || getGridSize(table).rows > 1;\n      const lastColumnGuard = table => !isTableBody(editor) || getGridSize(table).columns > 1;\n      const cloneFormats = getTableCloneElements(editor);\n      const colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve;\n      const getTableSectionType = table => {\n        switch (getTableHeaderType(editor)) {\n          case 'section':\n            return TableSection.section();\n          case 'sectionCells':\n            return TableSection.sectionCells();\n          case 'cells':\n            return TableSection.cells();\n          default:\n            return TableSection.getTableSectionType(table, 'section');\n        }\n      };\n      const setSelectionFromAction = (table, result) => result.cursor.fold(() => {\n        const cells = cells$1(table);\n        return head(cells).filter(inBody).map(firstCell => {\n          cellSelectionHandler.clearSelectedCells(table.dom);\n          const rng = editor.dom.createRng();\n          rng.selectNode(firstCell.dom);\n          editor.selection.setRng(rng);\n          set$2(firstCell, 'data-mce-selected', '1');\n          return rng;\n        });\n      }, cell => {\n        const des = freefallRtl(cell);\n        const rng = editor.dom.createRng();\n        rng.setStart(des.element.dom, des.offset);\n        rng.setEnd(des.element.dom, des.offset);\n        editor.selection.setRng(rng);\n        cellSelectionHandler.clearSelectedCells(table.dom);\n        return Optional.some(rng);\n      });\n      const execute = (operation, guard, mutate, effect) => (table, target, noEvents = false) => {\n        removeDataStyle(table);\n        const doc = SugarElement.fromDom(editor.getDoc());\n        const generators = cellOperations(mutate, doc, cloneFormats);\n        const behaviours = {\n          sizing: get$5(editor, table),\n          resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(),\n          section: getTableSectionType(table)\n        };\n        return guard(table) ? operation(table, target, generators, behaviours).bind(result => {\n          resizeHandler.refresh(table.dom);\n          each$2(result.newRows, row => {\n            fireNewRow(editor, row.dom);\n          });\n          each$2(result.newCells, cell => {\n            fireNewCell(editor, cell.dom);\n          });\n          const range = setSelectionFromAction(table, result);\n          if (inBody(table)) {\n            removeDataStyle(table);\n            if (!noEvents) {\n              fireTableModified(editor, table.dom, effect);\n            }\n          }\n          return range.map(rng => ({\n            rng,\n            effect\n          }));\n        }) : Optional.none();\n      };\n      const deleteRow = execute(eraseRows, lastRowGuard, noop, structureModified);\n      const deleteColumn = execute(eraseColumns, lastColumnGuard, noop, structureModified);\n      const insertRowsBefore$1 = execute(insertRowsBefore, always, noop, structureModified);\n      const insertRowsAfter$1 = execute(insertRowsAfter, always, noop, structureModified);\n      const insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, structureModified);\n      const insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, structureModified);\n      const mergeCells$1 = execute(mergeCells, always, noop, structureModified);\n      const unmergeCells$1 = execute(unmergeCells, always, noop, structureModified);\n      const pasteColsBefore$1 = execute(pasteColsBefore, always, noop, structureModified);\n      const pasteColsAfter$1 = execute(pasteColsAfter, always, noop, structureModified);\n      const pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, structureModified);\n      const pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, structureModified);\n      const pasteCells$1 = execute(pasteCells, always, noop, styleAndStructureModified);\n      const makeCellsHeader$1 = execute(makeCellsHeader, always, noop, structureModified);\n      const unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, structureModified);\n      const makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, structureModified);\n      const unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, structureModified);\n      const makeRowsHeader$1 = execute(makeRowsHeader, always, noop, structureModified);\n      const makeRowsBody$1 = execute(makeRowsBody, always, noop, structureModified);\n      const makeRowsFooter$1 = execute(makeRowsFooter, always, noop, structureModified);\n      const getTableCellType = getCellsType;\n      const getTableColType = getColumnsType;\n      const getTableRowType = getRowsType;\n      return {\n        deleteRow,\n        deleteColumn,\n        insertRowsBefore: insertRowsBefore$1,\n        insertRowsAfter: insertRowsAfter$1,\n        insertColumnsBefore: insertColumnsBefore$1,\n        insertColumnsAfter: insertColumnsAfter$1,\n        mergeCells: mergeCells$1,\n        unmergeCells: unmergeCells$1,\n        pasteColsBefore: pasteColsBefore$1,\n        pasteColsAfter: pasteColsAfter$1,\n        pasteRowsBefore: pasteRowsBefore$1,\n        pasteRowsAfter: pasteRowsAfter$1,\n        pasteCells: pasteCells$1,\n        makeCellsHeader: makeCellsHeader$1,\n        unmakeCellsHeader: unmakeCellsHeader$1,\n        makeColumnsHeader: makeColumnsHeader$1,\n        unmakeColumnsHeader: unmakeColumnsHeader$1,\n        makeRowsHeader: makeRowsHeader$1,\n        makeRowsBody: makeRowsBody$1,\n        makeRowsFooter: makeRowsFooter$1,\n        getTableRowType,\n        getTableCellType,\n        getTableColType\n      };\n    };\n\n    const constrainSpan = (element, property, value) => {\n      const currentColspan = getAttrValue(element, property, 1);\n      if (value === 1 || currentColspan <= 1) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, Math.min(value, currentColspan));\n      }\n    };\n    const isColInRange = (minColRange, maxColRange) => cell => {\n      const endCol = cell.column + cell.colspan - 1;\n      const startCol = cell.column;\n      return endCol >= minColRange && startCol < maxColRange;\n    };\n    const generateColGroup = (house, minColRange, maxColRange) => {\n      if (Warehouse.hasColumns(house)) {\n        const colsToCopy = filter$2(Warehouse.justColumns(house), isColInRange(minColRange, maxColRange));\n        const copiedCols = map$1(colsToCopy, c => {\n          const clonedCol = deep(c.element);\n          constrainSpan(clonedCol, 'span', maxColRange - minColRange);\n          return clonedCol;\n        });\n        const fakeColgroup = SugarElement.fromTag('colgroup');\n        append(fakeColgroup, copiedCols);\n        return [fakeColgroup];\n      } else {\n        return [];\n      }\n    };\n    const generateRows = (house, minColRange, maxColRange) => map$1(house.all, row => {\n      const cellsToCopy = filter$2(row.cells, isColInRange(minColRange, maxColRange));\n      const copiedCells = map$1(cellsToCopy, cell => {\n        const clonedCell = deep(cell.element);\n        constrainSpan(clonedCell, 'colspan', maxColRange - minColRange);\n        return clonedCell;\n      });\n      const fakeTR = SugarElement.fromTag('tr');\n      append(fakeTR, copiedCells);\n      return fakeTR;\n    });\n    const copyCols = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onUnlockedCells(house, target);\n      return details.map(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const fakeColGroups = generateColGroup(house, minColRange, maxColRange);\n        const fakeRows = generateRows(house, minColRange, maxColRange);\n        return [...fakeColGroups, ...fakeRows];\n      });\n    };\n\n    const copyRows = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.bind(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const rows = extractGridDetails(grid).rows;\n        const slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan);\n        const filteredGrid = bind$2(slicedGrid, row => {\n          const newCells = filter$2(row.cells, cell => !cell.isLocked);\n          return newCells.length > 0 ? [{\n            ...row,\n            cells: newCells\n          }] : [];\n        });\n        const slicedDetails = toDetailList(filteredGrid);\n        return someIf(slicedDetails.length > 0, slicedDetails);\n      }).map(slicedDetails => copy(slicedDetails));\n    };\n\n    const adt$5 = Adt.generate([{\n      invalid: ['raw']\n    }, {\n      pixels: ['value']\n    }, {\n      percent: ['value']\n    }]);\n    const validateFor = (suffix, type, value) => {\n      const rawAmount = value.substring(0, value.length - suffix.length);\n      const amount = parseFloat(rawAmount);\n      return rawAmount === amount.toString() ? type(amount) : adt$5.invalid(value);\n    };\n    const from = value => {\n      if (endsWith(value, '%')) {\n        return validateFor('%', adt$5.percent, value);\n      }\n      if (endsWith(value, 'px')) {\n        return validateFor('px', adt$5.pixels, value);\n      }\n      return adt$5.invalid(value);\n    };\n    const Size = {\n      ...adt$5,\n      from\n    };\n\n    const redistributeToPercent = (widths, totalWidth) => {\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          const ratio = px / totalWidth * 100;\n          return ratio + '%';\n        }, pc => {\n          return pc + '%';\n        });\n      });\n    };\n    const redistributeToPx = (widths, totalWidth, newTotalWidth) => {\n      const scale = newTotalWidth / totalWidth;\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          return px * scale + 'px';\n        }, pc => {\n          return pc / 100 * newTotalWidth + 'px';\n        });\n      });\n    };\n    const redistributeEmpty = (newWidthType, columns) => {\n      const f = newWidthType.fold(() => constant(''), pixels => {\n        const num = pixels / columns;\n        return constant(num + 'px');\n      }, () => {\n        const num = 100 / columns;\n        return constant(num + '%');\n      });\n      return range$1(columns, f);\n    };\n    const redistributeValues = (newWidthType, widths, totalWidth) => {\n      return newWidthType.fold(() => {\n        return widths;\n      }, px => {\n        return redistributeToPx(widths, totalWidth, px);\n      }, _pc => {\n        return redistributeToPercent(widths, totalWidth);\n      });\n    };\n    const redistribute$1 = (widths, totalWidth, newWidth) => {\n      const newType = Size.from(newWidth);\n      const floats = forall(widths, s => {\n        return s === '0px';\n      }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth);\n      return normalize(floats);\n    };\n    const sum = (values, fallback) => {\n      if (values.length === 0) {\n        return fallback;\n      }\n      return foldr(values, (rest, v) => {\n        return Size.from(v).fold(constant(0), identity, identity) + rest;\n      }, 0);\n    };\n    const roundDown = (num, unit) => {\n      const floored = Math.floor(num);\n      return {\n        value: floored + unit,\n        remainder: num - floored\n      };\n    };\n    const add$3 = (value, amount) => {\n      return Size.from(value).fold(constant(value), px => {\n        return px + amount + 'px';\n      }, pc => {\n        return pc + amount + '%';\n      });\n    };\n    const normalize = values => {\n      if (values.length === 0) {\n        return values;\n      }\n      const scan = foldr(values, (rest, value) => {\n        const info = Size.from(value).fold(() => ({\n          value,\n          remainder: 0\n        }), num => roundDown(num, 'px'), num => ({\n          value: num + '%',\n          remainder: 0\n        }));\n        return {\n          output: [info.value].concat(rest.output),\n          remainder: rest.remainder + info.remainder\n        };\n      }, {\n        output: [],\n        remainder: 0\n      });\n      const r = scan.output;\n      return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]);\n    };\n    const validate = Size.from;\n\n    const redistributeToW = (newWidths, cells, unit) => {\n      each$2(cells, cell => {\n        const widths = newWidths.slice(cell.column, cell.colspan + cell.column);\n        const w = sum(widths, minWidth());\n        set$1(cell.element, 'width', w + unit);\n      });\n    };\n    const redistributeToColumns = (newWidths, columns, unit) => {\n      each$2(columns, (column, index) => {\n        const width = sum([newWidths[index]], minWidth());\n        set$1(column.element, 'width', width + unit);\n      });\n    };\n    const redistributeToH = (newHeights, rows, cells, unit) => {\n      each$2(cells, cell => {\n        const heights = newHeights.slice(cell.row, cell.rowspan + cell.row);\n        const h = sum(heights, minHeight());\n        set$1(cell.element, 'height', h + unit);\n      });\n      each$2(rows, (row, i) => {\n        set$1(row.element, 'height', newHeights[i]);\n      });\n    };\n    const getUnit = newSize => {\n      return validate(newSize).fold(constant('px'), constant('px'), constant('%'));\n    };\n    const redistribute = (table, optWidth, optHeight) => {\n      const warehouse = Warehouse.fromTable(table);\n      const rows = warehouse.all;\n      const cells = Warehouse.justCells(warehouse);\n      const columns = Warehouse.justColumns(warehouse);\n      optWidth.each(newWidth => {\n        const widthUnit = getUnit(newWidth);\n        const totalWidth = get$9(table);\n        const oldWidths = getRawWidths(warehouse, table);\n        const nuWidths = redistribute$1(oldWidths, totalWidth, newWidth);\n        if (Warehouse.hasColumns(warehouse)) {\n          redistributeToColumns(nuWidths, columns, widthUnit);\n        } else {\n          redistributeToW(nuWidths, cells, widthUnit);\n        }\n        set$1(table, 'width', newWidth);\n      });\n      optHeight.each(newHeight => {\n        const hUnit = getUnit(newHeight);\n        const totalHeight = get$8(table);\n        const oldHeights = getRawHeights(warehouse, table, height);\n        const nuHeights = redistribute$1(oldHeights, totalHeight, newHeight);\n        redistributeToH(nuHeights, rows, cells, hUnit);\n        set$1(table, 'height', newHeight);\n      });\n    };\n    const isPercentSizing = isPercentSizing$1;\n    const isPixelSizing = isPixelSizing$1;\n    const isNoneSizing = isNoneSizing$1;\n\n    const cleanupLegacyAttributes = element => {\n      remove$7(element, 'width');\n    };\n    const convertToPercentSize = table => {\n      const newWidth = getPercentTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToPixelSize = table => {\n      const newWidth = getPixelTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToNoneSize = table => {\n      remove$5(table, 'width');\n      const columns = columns$1(table);\n      const rowElements = columns.length > 0 ? columns : cells$1(table);\n      each$2(rowElements, cell => {\n        remove$5(cell, 'width');\n        cleanupLegacyAttributes(cell);\n      });\n      cleanupLegacyAttributes(table);\n    };\n\n    const DefaultRenderOptions = {\n      styles: {\n        'border-collapse': 'collapse',\n        'width': '100%'\n      },\n      attributes: {\n        border: '1'\n      },\n      colGroups: false\n    };\n    const tableHeaderCell = () => SugarElement.fromTag('th');\n    const tableCell = () => SugarElement.fromTag('td');\n    const tableColumn = () => SugarElement.fromTag('col');\n    const createRow = (columns, rowHeaders, columnHeaders, rowIndex) => {\n      const tr = SugarElement.fromTag('tr');\n      for (let j = 0; j < columns; j++) {\n        const td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell();\n        if (j < columnHeaders) {\n          set$2(td, 'scope', 'row');\n        }\n        if (rowIndex < rowHeaders) {\n          set$2(td, 'scope', 'col');\n        }\n        append$1(td, SugarElement.fromTag('br'));\n        append$1(tr, td);\n      }\n      return tr;\n    };\n    const createGroupRow = columns => {\n      const columnGroup = SugarElement.fromTag('colgroup');\n      range$1(columns, () => append$1(columnGroup, tableColumn()));\n      return columnGroup;\n    };\n    const createRows = (rows, columns, rowHeaders, columnHeaders) => range$1(rows, r => createRow(columns, rowHeaders, columnHeaders, r));\n    const render = (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts = DefaultRenderOptions) => {\n      const table = SugarElement.fromTag('table');\n      const rowHeadersGoInThead = headerType !== 'cells';\n      setAll(table, renderOpts.styles);\n      setAll$1(table, renderOpts.attributes);\n      if (renderOpts.colGroups) {\n        append$1(table, createGroupRow(columns));\n      }\n      const actualRowHeaders = Math.min(rows, rowHeaders);\n      if (rowHeadersGoInThead && rowHeaders > 0) {\n        const thead = SugarElement.fromTag('thead');\n        append$1(table, thead);\n        const theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0;\n        const theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders);\n        append(thead, theadRows);\n      }\n      const tbody = SugarElement.fromTag('tbody');\n      append$1(table, tbody);\n      const numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows;\n      const numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders;\n      const tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders);\n      append(tbody, tbodyRows);\n      return table;\n    };\n\n    const get$4 = element => element.dom.innerHTML;\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$4(container);\n    };\n\n    const placeCaretInCell = (editor, cell) => {\n      editor.selection.select(cell.dom, true);\n      editor.selection.collapse(true);\n    };\n    const selectFirstCellInTable = (editor, tableElm) => {\n      descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor));\n    };\n    const fireEvents = (editor, table) => {\n      each$2(descendants(table, 'tr'), row => {\n        fireNewRow(editor, row.dom);\n        each$2(descendants(row, 'th,td'), cell => {\n          fireNewCell(editor, cell.dom);\n        });\n      });\n    };\n    const isPercentage = width => isString(width) && width.indexOf('%') !== -1;\n    const insert = (editor, columns, rows, colHeaders, rowHeaders) => {\n      const defaultStyles = getTableDefaultStyles(editor);\n      const options = {\n        styles: defaultStyles,\n        attributes: getTableDefaultAttributes(editor),\n        colGroups: tableUseColumnGroup(editor)\n      };\n      editor.undoManager.ignore(() => {\n        const table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options);\n        set$2(table, 'data-mce-id', '__mce');\n        const html = getOuter(table);\n        editor.insertContent(html);\n        editor.addVisual();\n      });\n      return descendant(getBody(editor), 'table[data-mce-id=\"__mce\"]').map(table => {\n        if (isTablePixelsForced(editor)) {\n          convertToPixelSize(table);\n        } else if (isTableResponsiveForced(editor)) {\n          convertToNoneSize(table);\n        } else if (isTablePercentagesForced(editor) || isPercentage(defaultStyles.width)) {\n          convertToPercentSize(table);\n        }\n        removeDataStyle(table);\n        remove$7(table, 'data-mce-id');\n        fireEvents(editor, table);\n        selectFirstCellInTable(editor, table);\n        return table.dom;\n      }).getOrNull();\n    };\n    const insertTable = (editor, rows, columns, options = {}) => {\n      const checkInput = val => isNumber(val) && val > 0;\n      if (checkInput(rows) && checkInput(columns)) {\n        const headerRows = options.headerRows || 0;\n        const headerColumns = options.headerColumns || 0;\n        return insert(editor, columns, rows, headerColumns, headerRows);\n      } else {\n        console.error('Invalid values for mceInsertTable - rows and columns values are required to insert a table.');\n        return null;\n      }\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const setData = items => {\n      const fakeClipboardItem = global.FakeClipboardItem(items);\n      global.write([fakeClipboardItem]);\n    };\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const clearData = type => {\n      if (getData(type).isSome()) {\n        global.clear();\n      }\n    };\n    const setRows = rowsOpt => {\n      rowsOpt.fold(clearRows, rows => setData({\n        [tableTypeRow]: rows\n      }));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const clearRows = () => clearData(tableTypeRow);\n    const setColumns = columnsOpt => {\n      columnsOpt.fold(clearColumns, columns => setData({\n        [tableTypeColumn]: columns\n      }));\n    };\n    const getColumns = () => getData(tableTypeColumn);\n    const clearColumns = () => clearData(tableTypeColumn);\n\n    const getSelectionStartCellOrCaption = editor => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const getSelectionStartCell = editor => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const registerCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const eraseTable = () => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        table(cellOrCaption, isRoot).filter(not(isRoot)).each(table => {\n          const cursor = SugarElement.fromText('');\n          after$5(table, cursor);\n          remove$6(table);\n          if (editor.dom.isEmpty(editor.getBody())) {\n            editor.setContent('');\n            editor.selection.setCursorLocation();\n          } else {\n            const rng = editor.dom.createRng();\n            rng.setStart(cursor.dom, 0);\n            rng.setEnd(cursor.dom, 0);\n            editor.selection.setRng(rng);\n            editor.nodeChanged();\n          }\n        });\n      });\n      const setSizingMode = sizing => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        const isForcedSizing = isTableResponsiveForced(editor) || isTablePixelsForced(editor) || isTablePercentagesForced(editor);\n        if (!isForcedSizing) {\n          table(cellOrCaption, isRoot).each(table => {\n            if (sizing === 'relative' && !isPercentSizing(table)) {\n              convertToPercentSize(table);\n            } else if (sizing === 'fixed' && !isPixelSizing(table)) {\n              convertToPixelSize(table);\n            } else if (sizing === 'responsive' && !isNoneSizing(table)) {\n              convertToNoneSize(table);\n            }\n            removeDataStyle(table);\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        }\n      });\n      const getTableFromCell = cell => table(cell, isRoot);\n      const performActionOnSelection = action => getSelectionStartCell(editor).bind(cell => getTableFromCell(cell).map(table => action(table, cell)));\n      const toggleTableClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          editor.formatter.toggle('tableclass', {\n            value: clazz\n          }, table.dom);\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleTableCellClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          const selectedCells = getCellsFromSelection(editor);\n          const allHaveClass = forall(selectedCells, cell => editor.formatter.match('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          const formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply;\n          each$2(selectedCells, cell => formatterAction('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleCaption = () => {\n        getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n          table(cellOrCaption, isRoot).each(table => {\n            child(table, 'caption').fold(() => {\n              const caption = SugarElement.fromTag('caption');\n              append$1(caption, SugarElement.fromText('Caption'));\n              appendAt(table, caption, 0);\n              editor.selection.setCursorLocation(caption.dom, 0);\n            }, caption => {\n              if (isTag('caption')(cellOrCaption)) {\n                one('td', table).each(td => editor.selection.setCursorLocation(td.dom, 0));\n              }\n              remove$6(caption);\n            });\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        });\n      };\n      const postExecute = _data => {\n        editor.focus();\n      };\n      const actOnSelection = (execute, noEvents = false) => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        execute(table, targets, noEvents).each(postExecute);\n      });\n      const copyRowSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none());\n        return copyRows(table, targets, generators);\n      });\n      const copyColSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        return copyCols(table, targets);\n      });\n      const pasteOnSelection = (execute, getRows) => getRows().each(rows => {\n        const clonedRows = map$1(rows, row => deep(row));\n        performActionOnSelection((table, startCell) => {\n          const generators = paste$1(SugarElement.fromDom(editor.getDoc()));\n          const targets = pasteRows(getCellsFromSelection(editor), startCell, clonedRows, generators);\n          execute(table, targets).each(postExecute);\n        });\n      });\n      const actOnType = getAction => (_ui, args) => get$c(args, 'type').each(type => {\n        actOnSelection(getAction(type), args.no_events);\n      });\n      each$1({\n        mceTableSplitCells: () => actOnSelection(actions.unmergeCells),\n        mceTableMergeCells: () => actOnSelection(actions.mergeCells),\n        mceTableInsertRowBefore: () => actOnSelection(actions.insertRowsBefore),\n        mceTableInsertRowAfter: () => actOnSelection(actions.insertRowsAfter),\n        mceTableInsertColBefore: () => actOnSelection(actions.insertColumnsBefore),\n        mceTableInsertColAfter: () => actOnSelection(actions.insertColumnsAfter),\n        mceTableDeleteCol: () => actOnSelection(actions.deleteColumn),\n        mceTableDeleteRow: () => actOnSelection(actions.deleteRow),\n        mceTableCutCol: () => copyColSelection().each(selection => {\n          setColumns(selection);\n          actOnSelection(actions.deleteColumn);\n        }),\n        mceTableCutRow: () => copyRowSelection().each(selection => {\n          setRows(selection);\n          actOnSelection(actions.deleteRow);\n        }),\n        mceTableCopyCol: () => copyColSelection().each(selection => setColumns(selection)),\n        mceTableCopyRow: () => copyRowSelection().each(selection => setRows(selection)),\n        mceTablePasteColBefore: () => pasteOnSelection(actions.pasteColsBefore, getColumns),\n        mceTablePasteColAfter: () => pasteOnSelection(actions.pasteColsAfter, getColumns),\n        mceTablePasteRowBefore: () => pasteOnSelection(actions.pasteRowsBefore, getRows),\n        mceTablePasteRowAfter: () => pasteOnSelection(actions.pasteRowsAfter, getRows),\n        mceTableDelete: eraseTable,\n        mceTableCellToggleClass: toggleTableCellClass,\n        mceTableToggleClass: toggleTableClass,\n        mceTableToggleCaption: toggleCaption,\n        mceTableSizingMode: (_ui, sizing) => setSizingMode(sizing),\n        mceTableCellType: actOnType(type => type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader),\n        mceTableColType: actOnType(type => type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader),\n        mceTableRowType: actOnType(type => {\n          switch (type) {\n            case 'header':\n              return actions.makeRowsHeader;\n            case 'footer':\n              return actions.makeRowsFooter;\n            default:\n              return actions.makeRowsBody;\n          }\n        })\n      }, (func, name) => editor.addCommand(name, func));\n      editor.addCommand('mceInsertTable', (_ui, args) => {\n        insertTable(editor, args.rows, args.columns, args.options);\n      });\n      editor.addCommand('mceTableApplyCellStyle', (_ui, args) => {\n        const getFormatName = style => 'tablecell' + style.toLowerCase().replace('-', '');\n        if (!isObject(args)) {\n          return;\n        }\n        const cells = filter$2(getCellsFromSelection(editor), isInEditableContext$1);\n        if (cells.length === 0) {\n          return;\n        }\n        const validArgs = filter$1(args, (value, style) => editor.formatter.has(getFormatName(style)) && isString(value));\n        if (isEmpty(validArgs)) {\n          return;\n        }\n        each$1(validArgs, (value, style) => {\n          const formatName = getFormatName(style);\n          each$2(cells, cell => {\n            if (value === '') {\n              editor.formatter.remove(formatName, {\n                value: null\n              }, cell.dom, true);\n            } else {\n              editor.formatter.apply(formatName, {\n                value\n              }, cell.dom);\n            }\n          });\n        });\n        getTableFromCell(cells[0]).each(table => fireTableModified(editor, table.dom, styleModified));\n      });\n    };\n\n    const registerQueryCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const lookupOnSelection = action => getSelectionCell(getSelectionStart(editor)).bind(cell => table(cell, isRoot).map(table => {\n        const targets = forMenu(getCellsFromSelection(editor), table, cell);\n        return action(table, targets);\n      })).getOr('');\n      each$1({\n        mceTableRowType: () => lookupOnSelection(actions.getTableRowType),\n        mceTableCellType: () => lookupOnSelection(actions.getTableCellType),\n        mceTableColType: () => lookupOnSelection(actions.getTableColType)\n      }, (func, name) => editor.addQueryValueHandler(name, func));\n    };\n\n    const adt$4 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata$1 = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$1 = situ => situ.fold(identity, identity, identity);\n    const before$2 = adt$4.before;\n    const on = adt$4.on;\n    const after$3 = adt$4.after;\n    const Situ = {\n      before: before$2,\n      on,\n      after: after$3,\n      cata: cata$1,\n      getStart: getStart$1\n    };\n\n    const create$4 = (selection, kill) => ({\n      selection,\n      kill\n    });\n    const Response = {\n      create: create$4\n    };\n\n    const selectNode = (win, element) => {\n      const rng = win.document.createRange();\n      rng.selectNode(element.dom);\n      return rng;\n    };\n    const selectNodeContents = (win, element) => {\n      const rng = win.document.createRange();\n      selectNodeContentsUsing(rng, element);\n      return rng;\n    };\n    const selectNodeContentsUsing = (rng, element) => rng.selectNodeContents(element.dom);\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const toRect = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom,\n      width: rect.width,\n      height: rect.height\n    });\n    const getFirstRect$1 = rng => {\n      const rects = rng.getClientRects();\n      const rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    const asLtrRange = (win, selection) => {\n      const diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$3 = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$3\n    };\n\n    const create$2 = (start, soffset, finish, foffset) => {\n      return {\n        start: Situ.on(start, soffset),\n        finish: Situ.on(finish, foffset)\n      };\n    };\n    const Situs = {\n      create: create$2\n    };\n\n    const convertToRange = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset);\n    };\n    const makeSitus = Situs.create;\n\n    const sync = (container, isRoot, start, soffset, finish, foffset, selectRange) => {\n      if (!(eq$1(start, finish) && soffset === foffset)) {\n        return closest$1(start, 'td,th', isRoot).bind(s => {\n          return closest$1(finish, 'td,th', isRoot).bind(f => {\n            return detect(container, isRoot, s, f, selectRange);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const detect = (container, isRoot, start, finish, selectRange) => {\n      if (!eq$1(start, finish)) {\n        return identify(start, finish, isRoot).bind(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          if (boxes.length > 1) {\n            selectRange(container, boxes, cellSel.start, cellSel.finish);\n            return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true));\n          } else {\n            return Optional.none();\n          }\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const update = (rows, columns, container, selected, annotations) => {\n      const updateSelection = newSels => {\n        annotations.clearBeforeUpdate(container);\n        annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish);\n        return newSels.boxes;\n      };\n      return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection);\n    };\n\n    const traverse = (item, mode) => ({\n      item,\n      mode\n    });\n    const backtrack = (universe, item, _direction, transition = sidestep) => {\n      return universe.property().parent(item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const sidestep = (universe, item, direction, transition = advance) => {\n      return direction.sibling(universe, item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const advance = (universe, item, direction, transition = advance) => {\n      const children = universe.property().children(item);\n      const result = direction.first(children);\n      return result.map(r => {\n        return traverse(r, transition);\n      });\n    };\n    const successors = [{\n      current: backtrack,\n      next: sidestep,\n      fallback: Optional.none()\n    }, {\n      current: sidestep,\n      next: advance,\n      fallback: Optional.some(backtrack)\n    }, {\n      current: advance,\n      next: advance,\n      fallback: Optional.some(sidestep)\n    }];\n    const go = (universe, item, mode, direction, rules = successors) => {\n      const ruleOpt = find$1(rules, succ => {\n        return succ.current === mode;\n      });\n      return ruleOpt.bind(rule => {\n        return rule.current(universe, item, direction, rule.next).orThunk(() => {\n          return rule.fallback.bind(fb => {\n            return go(universe, item, fb, direction);\n          });\n        });\n      });\n    };\n\n    const left$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().prevSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const right$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().nextSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[0]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const Walkers = {\n      left: left$1,\n      right: right$1\n    };\n\n    const hone = (universe, item, predicate, mode, direction, isRoot) => {\n      const next = go(universe, item, mode, direction);\n      return next.bind(n => {\n        if (isRoot(n.item)) {\n          return Optional.none();\n        } else {\n          return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot);\n        }\n      });\n    };\n    const left = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);\n    };\n    const right = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);\n    };\n\n    const isLeaf = universe => element => universe.property().children(element).length === 0;\n    const before$1 = (universe, item, isRoot) => {\n      return seekLeft$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const after$2 = (universe, item, isRoot) => {\n      return seekRight$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const seekLeft$1 = left;\n    const seekRight$1 = right;\n\n    const universe = DomUniverse();\n    const before = (element, isRoot) => {\n      return before$1(universe, element, isRoot);\n    };\n    const after$1 = (element, isRoot) => {\n      return after$2(universe, element, isRoot);\n    };\n    const seekLeft = (element, predicate, isRoot) => {\n      return seekLeft$1(universe, element, predicate, isRoot);\n    };\n    const seekRight = (element, predicate, isRoot) => {\n      return seekRight$1(universe, element, predicate, isRoot);\n    };\n\n    const ancestor = (scope, predicate, isRoot) => ancestor$2(scope, predicate, isRoot).isSome();\n\n    const adt$2 = Adt.generate([{\n      none: ['message']\n    }, {\n      success: []\n    }, {\n      failedUp: ['cell']\n    }, {\n      failedDown: ['cell']\n    }]);\n    const isOverlapping = (bridge, before, after) => {\n      const beforeBounds = bridge.getRect(before);\n      const afterBounds = bridge.getRect(after);\n      return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;\n    };\n    const isRow = elem => {\n      return closest$1(elem, 'tr');\n    };\n    const verify = (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) => {\n      return closest$1(after, 'td,th', isRoot).bind(afterCell => {\n        return closest$1(before, 'td,th', isRoot).map(beforeCell => {\n          if (!eq$1(afterCell, beforeCell)) {\n            return sharedOne(isRow, [afterCell, beforeCell]).fold(() => {\n              return isOverlapping(bridge, beforeCell, afterCell) ? adt$2.success() : failure(beforeCell);\n            }, _sharedRow => {\n              return failure(beforeCell);\n            });\n          } else {\n            return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$2.none('in same cell');\n          }\n        });\n      }).getOr(adt$2.none('default'));\n    };\n    const cata = (subject, onNone, onSuccess, onFailedUp, onFailedDown) => {\n      return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);\n    };\n    const BeforeAfter = {\n      ...adt$2,\n      verify,\n      cata\n    };\n\n    const inParent = (parent, children, element, index) => ({\n      parent,\n      children,\n      element,\n      index\n    });\n    const indexInParent = element => parent(element).bind(parent => {\n      const children = children$2(parent);\n      return indexOf(children, element).map(index => inParent(parent, children, element, index));\n    });\n    const indexOf = (elements, element) => findIndex(elements, curry(eq$1, element));\n\n    const isBr = isTag('br');\n    const gatherer = (cand, gather, isRoot) => {\n      return gather(cand, isRoot).bind(target => {\n        return isText(target) && get$6(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target);\n      });\n    };\n    const handleBr = (isRoot, element, direction) => {\n      return direction.traverse(element).orThunk(() => {\n        return gatherer(element, direction.gather, isRoot);\n      }).map(direction.relative);\n    };\n    const findBr = (element, offset) => {\n      return child$2(element, offset).filter(isBr).orThunk(() => {\n        return child$2(element, offset - 1).filter(isBr);\n      });\n    };\n    const handleParent = (isRoot, element, offset, direction) => {\n      return findBr(element, offset).bind(br => {\n        return direction.traverse(br).fold(() => {\n          return gatherer(br, direction.gather, isRoot).map(direction.relative);\n        }, adjacent => {\n          return indexInParent(adjacent).map(info => {\n            return Situ.on(info.parent, info.index);\n          });\n        });\n      });\n    };\n    const tryBr = (isRoot, element, offset, direction) => {\n      const target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);\n      return target.map(tgt => {\n        return {\n          start: tgt,\n          finish: tgt\n        };\n      });\n    };\n    const process = analysis => {\n      return BeforeAfter.cata(analysis, _message => {\n        return Optional.none();\n      }, () => {\n        return Optional.none();\n      }, cell => {\n        return Optional.some(point(cell, 0));\n      }, cell => {\n        return Optional.some(point(cell, getEnd(cell)));\n      });\n    };\n\n    const moveDown = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top + amount,\n        right: caret.right,\n        bottom: caret.bottom + amount\n      };\n    };\n    const moveUp = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top - amount,\n        right: caret.right,\n        bottom: caret.bottom - amount\n      };\n    };\n    const translate = (caret, xDelta, yDelta) => {\n      return {\n        left: caret.left + xDelta,\n        top: caret.top + yDelta,\n        right: caret.right + xDelta,\n        bottom: caret.bottom + yDelta\n      };\n    };\n    const getTop = caret => {\n      return caret.top;\n    };\n    const getBottom = caret => {\n      return caret.bottom;\n    };\n\n    const getPartialBox = (bridge, element, offset) => {\n      if (offset >= 0 && offset < getEnd(element)) {\n        return bridge.getRangedRect(element, offset, element, offset + 1);\n      } else if (offset > 0) {\n        return bridge.getRangedRect(element, offset - 1, element, offset);\n      }\n      return Optional.none();\n    };\n    const toCaret = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom\n    });\n    const getElemBox = (bridge, element) => {\n      return Optional.some(bridge.getRect(element));\n    };\n    const getBoxAt = (bridge, element, offset) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return getPartialBox(bridge, element, offset).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n    const getEntireBox = (bridge, element) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n\n    const JUMP_SIZE = 5;\n    const NUM_RETRIES = 100;\n    const adt$1 = Adt.generate([{\n      none: []\n    }, {\n      retry: ['caret']\n    }]);\n    const isOutside = (caret, box) => {\n      return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right;\n    };\n    const inOutsideBlock = (bridge, element, caret) => {\n      return closest$2(element, isBlock).fold(never, cell => {\n        return getEntireBox(bridge, cell).exists(box => {\n          return isOutside(caret, box);\n        });\n      });\n    };\n    const adjustDown = (bridge, element, guessBox, original, caret) => {\n      const lowerCaret = moveDown(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.bottom - original.bottom) < 1) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top > caret.bottom) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top === caret.bottom) {\n        return adt$1.retry(moveDown(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const adjustUp = (bridge, element, guessBox, original, caret) => {\n      const higherCaret = moveUp(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.top - original.top) < 1) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom < caret.top) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom === caret.top) {\n        return adt$1.retry(moveUp(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const upMovement = {\n      point: getTop,\n      adjuster: adjustUp,\n      move: moveUp,\n      gather: before\n    };\n    const downMovement = {\n      point: getBottom,\n      adjuster: adjustDown,\n      move: moveDown,\n      gather: after$1\n    };\n    const isAtTable = (bridge, x, y) => {\n      return bridge.elementFromPoint(x, y).filter(elm => {\n        return name(elm) === 'table';\n      }).isSome();\n    };\n    const adjustForTable = (bridge, movement, original, caret, numRetries) => {\n      return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);\n    };\n    const adjustTil = (bridge, movement, original, caret, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.some(caret);\n      }\n      if (isAtTable(bridge, caret.left, movement.point(caret))) {\n        return adjustForTable(bridge, movement, original, caret, numRetries - 1);\n      }\n      return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(guess => {\n        return guess.start.fold(Optional.none, element => {\n          return getEntireBox(bridge, element).bind(guessBox => {\n            return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, newCaret => {\n              return adjustTil(bridge, movement, original, newCaret, numRetries - 1);\n            });\n          }).orThunk(() => {\n            return Optional.some(caret);\n          });\n        }, Optional.none);\n      });\n    };\n    const checkScroll = (movement, adjusted, bridge) => {\n      if (movement.point(adjusted) > bridge.getInnerHeight()) {\n        return Optional.some(movement.point(adjusted) - bridge.getInnerHeight());\n      } else if (movement.point(adjusted) < 0) {\n        return Optional.some(-movement.point(adjusted));\n      } else {\n        return Optional.none();\n      }\n    };\n    const retry = (movement, bridge, caret) => {\n      const moved = movement.move(caret, JUMP_SIZE);\n      const adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved);\n      return checkScroll(movement, adjusted, bridge).fold(() => {\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted));\n      }, delta => {\n        bridge.scrollBy(0, delta);\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta);\n      });\n    };\n    const Retries = {\n      tryUp: curry(retry, upMovement),\n      tryDown: curry(retry, downMovement),\n      getJumpSize: constant(JUMP_SIZE)\n    };\n\n    const MAX_RETRIES = 20;\n    const findSpot = (bridge, isRoot, direction) => {\n      return bridge.getSelection().bind(sel => {\n        return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(() => {\n          return Optional.some(point(sel.finish, sel.foffset));\n        }, brNeighbour => {\n          const range = bridge.fromSitus(brNeighbour);\n          const analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot);\n          return process(analysis);\n        });\n      });\n    };\n    const scan = (bridge, isRoot, element, offset, direction, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.none();\n      }\n      return tryCursor(bridge, isRoot, element, offset, direction).bind(situs => {\n        const range = bridge.fromSitus(situs);\n        const analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot);\n        return BeforeAfter.cata(analysis, () => {\n          return Optional.none();\n        }, () => {\n          return Optional.some(situs);\n        }, cell => {\n          if (eq$1(element, cell) && offset === 0) {\n            return tryAgain(bridge, element, offset, moveUp, direction);\n          } else {\n            return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);\n          }\n        }, cell => {\n          if (eq$1(element, cell) && offset === getEnd(cell)) {\n            return tryAgain(bridge, element, offset, moveDown, direction);\n          } else {\n            return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);\n          }\n        });\n      });\n    };\n    const tryAgain = (bridge, element, offset, move, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, move(box, Retries.getJumpSize()));\n      });\n    };\n    const tryAt = (bridge, direction, box) => {\n      const browser = detect$2().browser;\n      if (browser.isChromium() || browser.isSafari() || browser.isFirefox()) {\n        return direction.retry(bridge, box);\n      } else {\n        return Optional.none();\n      }\n    };\n    const tryCursor = (bridge, isRoot, element, offset, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, box);\n      });\n    };\n    const handle$1 = (bridge, isRoot, direction) => {\n      return findSpot(bridge, isRoot, direction).bind(spot => {\n        return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus);\n      });\n    };\n\n    const inSameTable = (elem, table) => {\n      return ancestor(elem, e => {\n        return parent(e).exists(p => {\n          return eq$1(p, table);\n        });\n      });\n    };\n    const simulate = (bridge, isRoot, direction, initial, anchor) => {\n      return closest$1(initial, 'td,th', isRoot).bind(start => {\n        return closest$1(start, 'table', isRoot).bind(table => {\n          if (!inSameTable(anchor, table)) {\n            return Optional.none();\n          }\n          return handle$1(bridge, isRoot, direction).bind(range => {\n            return closest$1(range.finish, 'td,th', isRoot).map(finish => {\n              return {\n                start,\n                finish,\n                range\n              };\n            });\n          });\n        });\n      });\n    };\n    const navigate = (bridge, isRoot, direction, initial, anchor, precheck) => {\n      return precheck(initial, isRoot).orThunk(() => {\n        return simulate(bridge, isRoot, direction, initial, anchor).map(info => {\n          const range = info.range;\n          return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true);\n        });\n      });\n    };\n    const firstUpCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[0])) {\n            return seekLeft(table, element => {\n              return last$1(element).isSome();\n            }, isRoot).map(last => {\n              const lastOffset = getEnd(last);\n              return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const lastDownCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[rows.length - 1])) {\n            return seekRight(table, element => {\n              return first(element).isSome();\n            }, isRoot).map(first => {\n              return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const select = (bridge, container, isRoot, direction, initial, anchor, selectRange) => {\n      return simulate(bridge, isRoot, direction, initial, anchor).bind(info => {\n        return detect(container, isRoot, info.start, info.finish, selectRange);\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const findCell = (target, isRoot) => closest$1(target, 'td,th', isRoot);\n    const isInEditableContext = cell => parentElement(cell).exists(isEditable$1);\n    const MouseSelection = (bridge, container, isRoot, annotations) => {\n      const cursor = value();\n      const clearstate = cursor.clear;\n      const applySelection = event => {\n        cursor.on(start => {\n          annotations.clearBeforeUpdate(container);\n          findCell(event.target, isRoot).each(finish => {\n            identify(start, finish, isRoot).each(cellSel => {\n              const boxes = cellSel.boxes.getOr([]);\n              if (boxes.length === 1) {\n                const singleCell = boxes[0];\n                const isNonEditableCell = getRaw(singleCell) === 'false';\n                const isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1);\n                if (isNonEditableCell && isCellClosestContentEditable) {\n                  annotations.selectRange(container, boxes, singleCell, singleCell);\n                  bridge.selectContents(singleCell);\n                }\n              } else if (boxes.length > 1) {\n                annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n                bridge.selectContents(finish);\n              }\n            });\n          });\n        });\n      };\n      const mousedown = event => {\n        annotations.clear(container);\n        findCell(event.target, isRoot).filter(isInEditableContext).each(cursor.set);\n      };\n      const mouseover = event => {\n        applySelection(event);\n      };\n      const mouseup = event => {\n        applySelection(event);\n        clearstate();\n      };\n      return {\n        clearstate,\n        mousedown,\n        mouseover,\n        mouseup\n      };\n    };\n\n    const down = {\n      traverse: nextSibling,\n      gather: after$1,\n      relative: Situ.before,\n      retry: Retries.tryDown,\n      failure: BeforeAfter.failedDown\n    };\n    const up = {\n      traverse: prevSibling,\n      gather: before,\n      relative: Situ.before,\n      retry: Retries.tryUp,\n      failure: BeforeAfter.failedUp\n    };\n\n    const isKey = key => {\n      return keycode => {\n        return keycode === key;\n      };\n    };\n    const isUp = isKey(38);\n    const isDown = isKey(40);\n    const isNavigation = keycode => {\n      return keycode >= 37 && keycode <= 40;\n    };\n    const ltr = {\n      isBackward: isKey(37),\n      isForward: isKey(39)\n    };\n    const rtl = {\n      isBackward: isKey(39),\n      isForward: isKey(37)\n    };\n\n    const get$3 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const by = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollBy(x, y);\n      }\n    };\n\n    const adt = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt.domRange;\n    const relative = adt.relative;\n    const exact = adt.exact;\n    const getWin = selection => {\n      const start = getStart(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n\n    const makeRange = (start, soffset, finish, foffset) => {\n      const doc = owner(start);\n      const rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const after = (start, soffset, finish, foffset) => {\n      const r = makeRange(start, soffset, finish, foffset);\n      const same = eq$1(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    const getNativeSelection = win => Optional.from(win.getSelection());\n    const doSetNativeRange = (win, rng) => {\n      getNativeSelection(win).each(selection => {\n        selection.removeAllRanges();\n        selection.addRange(rng);\n      });\n    };\n    const doSetRange = (win, start, soffset, finish, foffset) => {\n      const rng = exactToNative(win, start, soffset, finish, foffset);\n      doSetNativeRange(win, rng);\n    };\n    const setLegacyRtlRange = (win, selection, start, soffset, finish, foffset) => {\n      selection.collapse(start.dom, soffset);\n      selection.extend(finish.dom, foffset);\n    };\n    const setRangeFromRelative = (win, relative) => diagnose(win, relative).match({\n      ltr: (start, soffset, finish, foffset) => {\n        doSetRange(win, start, soffset, finish, foffset);\n      },\n      rtl: (start, soffset, finish, foffset) => {\n        getNativeSelection(win).each(selection => {\n          if (selection.setBaseAndExtent) {\n            selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset);\n          } else if (selection.extend) {\n            try {\n              setLegacyRtlRange(win, selection, start, soffset, finish, foffset);\n            } catch (e) {\n              doSetRange(win, finish, foffset, start, soffset);\n            }\n          } else {\n            doSetRange(win, finish, foffset, start, soffset);\n          }\n        });\n      }\n    });\n    const setExact = (win, start, soffset, finish, foffset) => {\n      const relative = preprocessExact(start, soffset, finish, foffset);\n      setRangeFromRelative(win, relative);\n    };\n    const setRelative = (win, startSitu, finishSitu) => {\n      const relative = preprocessRelative(startSitu, finishSitu);\n      setRangeFromRelative(win, relative);\n    };\n    const readRange = selection => {\n      if (selection.rangeCount > 0) {\n        const firstRng = selection.getRangeAt(0);\n        const lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const doGetExact = selection => {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        const anchor = SugarElement.fromDom(selection.anchorNode);\n        const focus = SugarElement.fromDom(selection.focusNode);\n        return after(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    const setToElement = (win, element, selectNodeContents$1 = true) => {\n      const rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode;\n      const rng = rngGetter(win, element);\n      doSetNativeRange(win, rng);\n    };\n    const getExact = win => getNativeSelection(win).filter(sel => sel.rangeCount > 0).bind(doGetExact);\n    const get$2 = win => getExact(win).map(range => SimSelection.exact(range.start, range.soffset, range.finish, range.foffset));\n    const getFirstRect = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    const getAtPoint = (win, x, y) => fromPoint(win, x, y);\n    const clear = win => {\n      getNativeSelection(win).each(selection => selection.removeAllRanges());\n    };\n\n    const WindowBridge = win => {\n      const elementFromPoint = (x, y) => {\n        return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y);\n      };\n      const getRect = element => {\n        return element.dom.getBoundingClientRect();\n      };\n      const getRangedRect = (start, soffset, finish, foffset) => {\n        const sel = SimSelection.exact(start, soffset, finish, foffset);\n        return getFirstRect(win, sel);\n      };\n      const getSelection = () => {\n        return get$2(win).map(exactAdt => {\n          return convertToRange(win, exactAdt);\n        });\n      };\n      const fromSitus = situs => {\n        const relative = SimSelection.relative(situs.start, situs.finish);\n        return convertToRange(win, relative);\n      };\n      const situsFromPoint = (x, y) => {\n        return getAtPoint(win, x, y).map(exact => {\n          return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset);\n        });\n      };\n      const clearSelection = () => {\n        clear(win);\n      };\n      const collapseSelection = (toStart = false) => {\n        get$2(win).each(sel => sel.fold(rng => rng.collapse(toStart), (startSitu, finishSitu) => {\n          const situ = toStart ? startSitu : finishSitu;\n          setRelative(win, situ, situ);\n        }, (start, soffset, finish, foffset) => {\n          const node = toStart ? start : finish;\n          const offset = toStart ? soffset : foffset;\n          setExact(win, node, offset, node, offset);\n        }));\n      };\n      const selectNode = element => {\n        setToElement(win, element, false);\n      };\n      const selectContents = element => {\n        setToElement(win, element);\n      };\n      const setSelection = sel => {\n        setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset);\n      };\n      const setRelativeSelection = (start, finish) => {\n        setRelative(win, start, finish);\n      };\n      const getInnerHeight = () => {\n        return win.innerHeight;\n      };\n      const getScrollY = () => {\n        const pos = get$3(SugarElement.fromDom(win.document));\n        return pos.top;\n      };\n      const scrollBy = (x, y) => {\n        by(x, y, SugarElement.fromDom(win.document));\n      };\n      return {\n        elementFromPoint,\n        getRect,\n        getRangedRect,\n        getSelection,\n        fromSitus,\n        situsFromPoint,\n        clearSelection,\n        collapseSelection,\n        setSelection,\n        setRelativeSelection,\n        selectNode,\n        selectContents,\n        getInnerHeight,\n        getScrollY,\n        scrollBy\n      };\n    };\n\n    const rc = (rows, cols) => ({\n      rows,\n      cols\n    });\n    const mouse = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const handlers = MouseSelection(bridge, container, isRoot, annotations);\n      return {\n        clearstate: handlers.clearstate,\n        mousedown: handlers.mousedown,\n        mouseover: handlers.mouseover,\n        mouseup: handlers.mouseup\n      };\n    };\n    const isEditableNode = node => closest$2(node, isHTMLElement).exists(isEditable$1);\n    const isEditableSelection = (start, finish) => isEditableNode(start) || isEditableNode(finish);\n    const keyboard = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const clearToNavigate = () => {\n        annotations.clear(container);\n        return Optional.none();\n      };\n      const keydown = (event, start, soffset, finish, foffset, direction) => {\n        const realEvent = event.raw;\n        const keycode = realEvent.which;\n        const shiftKey = realEvent.shiftKey === true;\n        const handler = retrieve$1(container, annotations.selectedSelector).fold(() => {\n          if (isNavigation(keycode) && !shiftKey) {\n            annotations.clearBeforeUpdate(container);\n          }\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange);\n          } else if (isUp(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange);\n          } else if (isDown(keycode)) {\n            return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck);\n          } else if (isUp(keycode)) {\n            return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck);\n          } else {\n            return Optional.none;\n          }\n        }, selected => {\n          const update$1 = attempts => {\n            return () => {\n              const navigation = findMap(attempts, delta => {\n                return update(delta.rows, delta.cols, container, selected, annotations);\n              });\n              return navigation.fold(() => {\n                return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(edges => {\n                  const relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;\n                  bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table));\n                  annotations.clear(container);\n                  return Response.create(Optional.none(), true);\n                });\n              }, _ => {\n                return Optional.some(Response.create(Optional.none(), true));\n              });\n            };\n          };\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return update$1([rc(+1, 0)]);\n          } else if (isUp(keycode) && shiftKey) {\n            return update$1([rc(-1, 0)]);\n          } else if (direction.isBackward(keycode) && shiftKey) {\n            return update$1([rc(0, -1), rc(-1, 0)]);\n          } else if (direction.isForward(keycode) && shiftKey) {\n            return update$1([rc(0, +1), rc(+1, 0)]);\n          } else if (isNavigation(keycode) && !shiftKey) {\n            return clearToNavigate;\n          } else {\n            return Optional.none;\n          }\n        });\n        return handler();\n      };\n      const keyup = (event, start, soffset, finish, foffset) => {\n        return retrieve$1(container, annotations.selectedSelector).fold(() => {\n          const realEvent = event.raw;\n          const keycode = realEvent.which;\n          const shiftKey = realEvent.shiftKey === true;\n          if (!shiftKey) {\n            return Optional.none();\n          }\n          if (isNavigation(keycode) && isEditableSelection(start, finish)) {\n            return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);\n          } else {\n            return Optional.none();\n          }\n        }, Optional.none);\n      };\n      return {\n        keydown,\n        keyup\n      };\n    };\n    const external = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      return (start, finish) => {\n        annotations.clearBeforeUpdate(container);\n        identify(start, finish, isRoot).each(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n          bridge.selectContents(finish);\n          bridge.collapseSelection();\n        });\n      };\n    };\n\n    const read = (element, attr) => {\n      const value = get$b(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$2(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$2(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$2(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$1 = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$1(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const remove$1 = (element, classes) => {\n      each$2(classes, x => {\n        remove$2(element, x);\n      });\n    };\n\n    const addClass = clazz => element => {\n      add(element, clazz);\n    };\n    const removeClasses = classes => element => {\n      remove$1(element, classes);\n    };\n\n    const byClass = ephemera => {\n      const addSelectionClass = addClass(ephemera.selected);\n      const removeSelectionClasses = removeClasses([ephemera.selected, ephemera.lastSelected, ephemera.firstSelected]);\n      const clear = container => {\n        const sels = descendants(container, ephemera.selectedSelector);\n        each$2(sels, removeSelectionClasses);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionClass);\n        add(start, ephemera.firstSelected);\n        add(finish, ephemera.lastSelected);\n      };\n      return {\n        clearBeforeUpdate: clear,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const byAttr = (ephemera, onSelection, onClear) => {\n      const removeSelectionAttributes = element => {\n        remove$7(element, ephemera.selected);\n        remove$7(element, ephemera.firstSelected);\n        remove$7(element, ephemera.lastSelected);\n      };\n      const addSelectionAttribute = element => {\n        set$2(element, ephemera.selected, '1');\n      };\n      const clear = container => {\n        clearBeforeUpdate(container);\n        onClear();\n      };\n      const clearBeforeUpdate = container => {\n        const sels = descendants(container, \"\".concat(ephemera.selectedSelector, \",\").concat(ephemera.firstSelectedSelector, \",\").concat(ephemera.lastSelectedSelector));\n        each$2(sels, removeSelectionAttributes);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionAttribute);\n        set$2(start, ephemera.firstSelected, '1');\n        set$2(finish, ephemera.lastSelected, '1');\n        onSelection(cells, start, finish);\n      };\n      return {\n        clearBeforeUpdate,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const SelectionAnnotation = {\n      byClass,\n      byAttr\n    };\n\n    const fold = (subject, onNone, onMultiple, onSingle) => {\n      switch (subject.tag) {\n        case 'none':\n          return onNone();\n        case 'single':\n          return onSingle(subject.element);\n        case 'multiple':\n          return onMultiple(subject.elements);\n      }\n    };\n    const none = () => ({\n      tag: 'none'\n    });\n    const multiple = elements => ({\n      tag: 'multiple',\n      elements\n    });\n    const single = element => ({\n      tag: 'single',\n      element\n    });\n\n    const Selections = (lazyRoot, getStart, selectedSelector) => {\n      const get = () => retrieve(lazyRoot(), selectedSelector).fold(() => getStart().fold(none, single), multiple);\n      return {\n        get\n      };\n    };\n\n    const getUpOrLeftCells = (grid, selectedCells) => {\n      const upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1);\n      const upDetails = toDetailList(upGrid);\n      return bind$2(upDetails, detail => {\n        const slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getDownOrRightCells = (grid, selectedCells) => {\n      const downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length);\n      const downDetails = toDetailList(downGrid);\n      return bind$2(downDetails, detail => {\n        const slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getOtherCells = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.map(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const {\n          rows\n        } = extractGridDetails(grid);\n        const upOrLeftCells = getUpOrLeftCells(rows, selectedCells);\n        const downOrRightCells = getDownOrRightCells(rows, selectedCells);\n        return {\n          upOrLeftCells,\n          downOrRightCells\n        };\n      });\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent$1 = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent$1(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$1(element, event, filter, handler);\n    const fromRawEvent = fromRawEvent$1;\n\n    const hasInternalTarget = e => !has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar');\n    const TableCellSelectionHandler = (editor, resizeHandler) => {\n      const cellSelection = Selections(() => SugarElement.fromDom(editor.getBody()), () => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)), ephemera.selectedSelector);\n      const onSelection = (cells, start, finish) => {\n        const tableOpt = table(start);\n        tableOpt.each(table => {\n          const cloneFormats = getTableCloneElements(editor);\n          const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats);\n          const selectedCells = getCellsFromSelection(editor);\n          const otherCells = getOtherCells(table, {\n            selection: selectedCells\n          }, generators);\n          fireTableSelectionChange(editor, cells, start, finish, otherCells);\n        });\n      };\n      const onClear = () => fireTableSelectionClear(editor);\n      const annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear);\n      editor.on('init', _e => {\n        const win = editor.getWin();\n        const body = getBody(editor);\n        const isRoot = getIsRoot(editor);\n        const syncSelection = () => {\n          const sel = editor.selection;\n          const start = SugarElement.fromDom(sel.getStart());\n          const end = SugarElement.fromDom(sel.getEnd());\n          const shared = sharedOne(table, [start, end]);\n          shared.fold(() => annotations.clear(body), noop);\n        };\n        const mouseHandlers = mouse(win, body, isRoot, annotations);\n        const keyHandlers = keyboard(win, body, isRoot, annotations);\n        const external$1 = external(win, body, isRoot, annotations);\n        const hasShiftKey = event => event.raw.shiftKey === true;\n        editor.on('TableSelectorChange', e => external$1(e.start, e.finish));\n        const handleResponse = (event, response) => {\n          if (!hasShiftKey(event)) {\n            return;\n          }\n          if (response.kill) {\n            event.kill();\n          }\n          response.selection.each(ns => {\n            const relative = SimSelection.relative(ns.start, ns.finish);\n            const rng = asLtrRange(win, relative);\n            editor.selection.setRng(rng);\n          });\n        };\n        const keyup = event => {\n          const wrappedEvent = fromRawEvent(event);\n          if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) {\n            const rng = editor.selection.getRng();\n            const start = SugarElement.fromDom(rng.startContainer);\n            const end = SugarElement.fromDom(rng.endContainer);\n            keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(response => {\n              handleResponse(wrappedEvent, response);\n            });\n          }\n        };\n        const keydown = event => {\n          const wrappedEvent = fromRawEvent(event);\n          resizeHandler.hide();\n          const rng = editor.selection.getRng();\n          const start = SugarElement.fromDom(rng.startContainer);\n          const end = SugarElement.fromDom(rng.endContainer);\n          const direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart()));\n          keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(response => {\n            handleResponse(wrappedEvent, response);\n          });\n          resizeHandler.show();\n        };\n        const isLeftMouse = raw => raw.button === 0;\n        const isLeftButtonPressed = raw => {\n          if (raw.buttons === undefined) {\n            return true;\n          }\n          return (raw.buttons & 1) !== 0;\n        };\n        const dragStart = _e => {\n          mouseHandlers.clearstate();\n        };\n        const mouseDown = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mousedown(fromRawEvent(e));\n          }\n        };\n        const mouseOver = e => {\n          if (isLeftButtonPressed(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseover(fromRawEvent(e));\n          }\n        };\n        const mouseUp = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseup(fromRawEvent(e));\n          }\n        };\n        const getDoubleTap = () => {\n          const lastTarget = Cell(SugarElement.fromDom(body));\n          const lastTimeStamp = Cell(0);\n          const touchEnd = t => {\n            const target = SugarElement.fromDom(t.target);\n            if (isTag('td')(target) || isTag('th')(target)) {\n              const lT = lastTarget.get();\n              const lTS = lastTimeStamp.get();\n              if (eq$1(lT, target) && t.timeStamp - lTS < 300) {\n                t.preventDefault();\n                external$1(target, target);\n              }\n            }\n            lastTarget.set(target);\n            lastTimeStamp.set(t.timeStamp);\n          };\n          return {\n            touchEnd\n          };\n        };\n        const doubleTap = getDoubleTap();\n        editor.on('dragstart', dragStart);\n        editor.on('mousedown', mouseDown);\n        editor.on('mouseover', mouseOver);\n        editor.on('mouseup', mouseUp);\n        editor.on('touchend', doubleTap.touchEnd);\n        editor.on('keyup', keyup);\n        editor.on('keydown', keydown);\n        editor.on('NodeChange', syncSelection);\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addTempAttr(ephemera.firstSelected);\n        editor.serializer.addTempAttr(ephemera.lastSelected);\n      });\n      const clearSelectedCells = container => annotations.clear(SugarElement.fromDom(container));\n      const getSelectedCells = () => fold(cellSelection.get(), constant([]), cells => {\n        return map$1(cells, cell => cell.dom);\n      }, cell => [cell.dom]);\n      return {\n        getSelectedCells,\n        clearSelectedCells\n      };\n    };\n\n    const Event = fields => {\n      let handlers = [];\n      const bind = handler => {\n        if (handler === undefined) {\n          throw new Error('Event bind error: undefined handler');\n        }\n        handlers.push(handler);\n      };\n      const unbind = handler => {\n        handlers = filter$2(handlers, h => {\n          return h !== handler;\n        });\n      };\n      const trigger = (...args) => {\n        const event = {};\n        each$2(fields, (name, i) => {\n          event[name] = args[i];\n        });\n        each$2(handlers, handler => {\n          handler(event);\n        });\n      };\n      return {\n        bind,\n        unbind,\n        trigger\n      };\n    };\n\n    const create$1 = typeDefs => {\n      const registry = map(typeDefs, event => {\n        return {\n          bind: event.bind,\n          unbind: event.unbind\n        };\n      });\n      const trigger = map(typeDefs, event => {\n        return event.trigger;\n      });\n      return {\n        registry,\n        trigger\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const sort = arr => {\n      return arr.slice(0).sort();\n    };\n    const reqMessage = (required, keys) => {\n      throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.');\n    };\n    const unsuppMessage = unsupported => {\n      throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', '));\n    };\n    const validateStrArr = (label, array) => {\n      if (!isArray(array)) {\n        throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');\n      }\n      each$2(array, a => {\n        if (!isString(a)) {\n          throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');\n        }\n      });\n    };\n    const invalidTypeMessage = (incorrect, type) => {\n      throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.');\n    };\n    const checkDupes = everything => {\n      const sorted = sort(everything);\n      const dupe = find$1(sorted, (s, i) => {\n        return i < sorted.length - 1 && s === sorted[i + 1];\n      });\n      dupe.each(d => {\n        throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');\n      });\n    };\n\n    const base = (handleUnsupported, required) => {\n      return baseWith(handleUnsupported, required, {\n        validate: isFunction,\n        label: 'function'\n      });\n    };\n    const baseWith = (handleUnsupported, required, pred) => {\n      if (required.length === 0) {\n        throw new Error('You must specify at least one required field.');\n      }\n      validateStrArr('required', required);\n      checkDupes(required);\n      return obj => {\n        const keys$1 = keys(obj);\n        const allReqd = forall(required, req => {\n          return contains$2(keys$1, req);\n        });\n        if (!allReqd) {\n          reqMessage(required, keys$1);\n        }\n        handleUnsupported(required, keys$1);\n        const invalidKeys = filter$2(required, key => {\n          return !pred.validate(obj[key], key);\n        });\n        if (invalidKeys.length > 0) {\n          invalidTypeMessage(invalidKeys, pred.label);\n        }\n        return obj;\n      };\n    };\n    const handleExact = (required, keys) => {\n      const unsupported = filter$2(keys, key => {\n        return !contains$2(required, key);\n      });\n      if (unsupported.length > 0) {\n        unsuppMessage(unsupported);\n      }\n    };\n    const exactly = required => base(handleExact, required);\n\n    const DragMode = exactly(['compare', 'extract', 'mutate', 'sink']);\n    const DragSink = exactly(['element', 'start', 'stop', 'destroy']);\n    const DragApi = exactly(['forceDrop', 'drop', 'move', 'delayDrop']);\n\n    const InDrag = () => {\n      let previous = Optional.none();\n      const reset = () => {\n        previous = Optional.none();\n      };\n      const update = (mode, nu) => {\n        const result = previous.map(old => {\n          return mode.compare(old, nu);\n        });\n        previous = Optional.some(nu);\n        return result;\n      };\n      const onEvent = (event, mode) => {\n        const dataOption = mode.extract(event);\n        dataOption.each(data => {\n          const offset = update(mode, data);\n          offset.each(d => {\n            events.trigger.move(d);\n          });\n        });\n      };\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent,\n        reset,\n        events: events.registry\n      };\n    };\n\n    const NoDrag = () => {\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent: noop,\n        reset: noop,\n        events: events.registry\n      };\n    };\n\n    const Movement = () => {\n      const noDragState = NoDrag();\n      const inDragState = InDrag();\n      let dragState = noDragState;\n      const on = () => {\n        dragState.reset();\n        dragState = inDragState;\n      };\n      const off = () => {\n        dragState.reset();\n        dragState = noDragState;\n      };\n      const onEvent = (event, mode) => {\n        dragState.onEvent(event, mode);\n      };\n      const isOn = () => {\n        return dragState === inDragState;\n      };\n      return {\n        on,\n        off,\n        isOn,\n        onEvent,\n        events: inDragState.events\n      };\n    };\n\n    const setup = (mutation, mode, settings) => {\n      let active = false;\n      const events = create$1({\n        start: Event([]),\n        stop: Event([])\n      });\n      const movement = Movement();\n      const drop = () => {\n        sink.stop();\n        if (movement.isOn()) {\n          movement.off();\n          events.trigger.stop();\n        }\n      };\n      const throttledDrop = last(drop, 200);\n      const go = parent => {\n        sink.start(parent);\n        movement.on();\n        events.trigger.start();\n      };\n      const mousemove = event => {\n        throttledDrop.cancel();\n        movement.onEvent(event, mode);\n      };\n      movement.events.move.bind(event => {\n        mode.mutate(mutation, event.info);\n      });\n      const on = () => {\n        active = true;\n      };\n      const off = () => {\n        active = false;\n      };\n      const isActive = () => active;\n      const runIfActive = f => {\n        return (...args) => {\n          if (active) {\n            f.apply(null, args);\n          }\n        };\n      };\n      const sink = mode.sink(DragApi({\n        forceDrop: drop,\n        drop: runIfActive(drop),\n        move: runIfActive(mousemove),\n        delayDrop: runIfActive(throttledDrop.throttle)\n      }), settings);\n      const destroy = () => {\n        sink.destroy();\n      };\n      return {\n        element: sink.element,\n        go,\n        on,\n        off,\n        isActive,\n        destroy,\n        events: events.registry\n      };\n    };\n\n    const css = namespace => {\n      const dashNamespace = namespace.replace(/\\./g, '-');\n      const resolve = str => {\n        return dashNamespace + '-' + str;\n      };\n      return {\n        resolve\n      };\n    };\n\n    const styles$1 = css('ephox-dragster');\n    const resolve$1 = styles$1.resolve;\n\n    const Blocker = options => {\n      const settings = {\n        layerClass: resolve$1('blocker'),\n        ...options\n      };\n      const div = SugarElement.fromTag('div');\n      set$2(div, 'role', 'presentation');\n      setAll(div, {\n        position: 'fixed',\n        left: '0px',\n        top: '0px',\n        width: '100%',\n        height: '100%'\n      });\n      add(div, resolve$1('blocker'));\n      add(div, settings.layerClass);\n      const element = constant(div);\n      const destroy = () => {\n        remove$6(div);\n      };\n      return {\n        element,\n        destroy\n      };\n    };\n\n    const compare = (old, nu) => {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n    const extract = event => {\n      return Optional.some(SugarPosition(event.x, event.y));\n    };\n    const mutate = (mutation, info) => {\n      mutation.mutate(info.left, info.top);\n    };\n    const sink = (dragApi, settings) => {\n      const blocker = Blocker(settings);\n      const mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop);\n      const mup = bind(blocker.element(), 'mouseup', dragApi.drop);\n      const mmove = bind(blocker.element(), 'mousemove', dragApi.move);\n      const mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop);\n      const destroy = () => {\n        blocker.destroy();\n        mup.unbind();\n        mmove.unbind();\n        mout.unbind();\n        mdown.unbind();\n      };\n      const start = parent => {\n        append$1(parent, blocker.element());\n      };\n      const stop = () => {\n        remove$6(blocker.element());\n      };\n      return DragSink({\n        element: blocker.element,\n        start,\n        stop,\n        destroy\n      });\n    };\n    var MouseDrag = DragMode({\n      compare,\n      extract,\n      sink,\n      mutate\n    });\n\n    const transform = (mutation, settings = {}) => {\n      var _a;\n      const mode = (_a = settings.mode) !== null && _a !== void 0 ? _a : MouseDrag;\n      return setup(mutation, mode, settings);\n    };\n\n    const styles = css('ephox-snooker');\n    const resolve = styles.resolve;\n\n    const Mutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta'])\n      });\n      const mutate = (x, y) => {\n        events.trigger.drag(x, y);\n      };\n      return {\n        mutate,\n        events: events.registry\n      };\n    };\n\n    const BarMutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta', 'target'])\n      });\n      let target = Optional.none();\n      const delegate = Mutation();\n      delegate.events.drag.bind(event => {\n        target.each(t => {\n          events.trigger.drag(event.xDelta, event.yDelta, t);\n        });\n      });\n      const assign = t => {\n        target = Optional.some(t);\n      };\n      const get = () => {\n        return target;\n      };\n      return {\n        assign,\n        get,\n        mutate: delegate.mutate,\n        events: events.registry\n      };\n    };\n\n    const col = (column, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x - w / 2 + 'px',\n        top: y + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-column': column,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n    const row = (r, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x + 'px',\n        top: y - h / 2 + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-row': r,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n\n    const resizeBar = resolve('resizer-bar');\n    const resizeRowBar = resolve('resizer-rows');\n    const resizeColBar = resolve('resizer-cols');\n    const BAR_THICKNESS = 7;\n    const resizableRows = (warehouse, isResizable) => bind$2(warehouse.all, (row, i) => isResizable(row.element) ? [i] : []);\n    const resizableColumns = (warehouse, isResizable) => {\n      const resizableCols = [];\n      range$1(warehouse.grid.columns, index => {\n        const colElmOpt = Warehouse.getColumnAt(warehouse, index).map(col => col.element);\n        if (colElmOpt.forall(isResizable)) {\n          resizableCols.push(index);\n        }\n      });\n      return filter$2(resizableCols, colIndex => {\n        const columnCells = Warehouse.filterItems(warehouse, cell => cell.column === colIndex);\n        return forall(columnCells, cell => isResizable(cell.element));\n      });\n    };\n    const destroy = wire => {\n      const previous = descendants(wire.parent(), '.' + resizeBar);\n      each$2(previous, remove$6);\n    };\n    const drawBar = (wire, positions, create) => {\n      const origin = wire.origin();\n      each$2(positions, cpOption => {\n        cpOption.each(cp => {\n          const bar = create(origin, cp);\n          add(bar, resizeBar);\n          append$1(wire.parent(), bar);\n        });\n      });\n    };\n    const refreshCol = (wire, colPositions, position, tableHeight) => {\n      drawBar(wire, colPositions, (origin, cp) => {\n        const colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight);\n        add(colBar, resizeColBar);\n        return colBar;\n      });\n    };\n    const refreshRow = (wire, rowPositions, position, tableWidth) => {\n      drawBar(wire, rowPositions, (origin, cp) => {\n        const rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS);\n        add(rowBar, resizeRowBar);\n        return rowBar;\n      });\n    };\n    const refreshGrid = (warhouse, wire, table, rows, cols) => {\n      const position = absolute(table);\n      const isResizable = wire.isResizable;\n      const rowPositions = rows.length > 0 ? height.positions(rows, table) : [];\n      const resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : [];\n      const resizableRowPositions = filter$2(rowPositions, (_pos, i) => exists(resizableRowBars, barIndex => i === barIndex));\n      refreshRow(wire, resizableRowPositions, position, getOuter$2(table));\n      const colPositions = cols.length > 0 ? width.positions(cols, table) : [];\n      const resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : [];\n      const resizableColPositions = filter$2(colPositions, (_pos, i) => exists(resizableColBars, barIndex => i === barIndex));\n      refreshCol(wire, resizableColPositions, position, getOuter$1(table));\n    };\n    const refresh = (wire, table) => {\n      destroy(wire);\n      if (wire.isResizable(table)) {\n        const warehouse = Warehouse.fromTable(table);\n        const rows$1 = rows(warehouse);\n        const cols = columns(warehouse);\n        refreshGrid(warehouse, wire, table, rows$1, cols);\n      }\n    };\n    const each = (wire, f) => {\n      const bars = descendants(wire.parent(), '.' + resizeBar);\n      each$2(bars, f);\n    };\n    const hide = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'none');\n      });\n    };\n    const show = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'block');\n      });\n    };\n    const isRowBar = element => {\n      return has(element, resizeRowBar);\n    };\n    const isColBar = element => {\n      return has(element, resizeColBar);\n    };\n\n    const resizeBarDragging = resolve('resizer-bar-dragging');\n    const BarManager = wire => {\n      const mutation = BarMutation();\n      const resizing = transform(mutation, {});\n      let hoverTable = Optional.none();\n      const getResizer = (element, type) => {\n        return Optional.from(get$b(element, type));\n      };\n      mutation.events.drag.bind(event => {\n        getResizer(event.target, 'data-row').each(_dataRow => {\n          const currentRow = getCssValue(event.target, 'top');\n          set$1(event.target, 'top', currentRow + event.yDelta + 'px');\n        });\n        getResizer(event.target, 'data-column').each(_dataCol => {\n          const currentCol = getCssValue(event.target, 'left');\n          set$1(event.target, 'left', currentCol + event.xDelta + 'px');\n        });\n      });\n      const getDelta = (target, dir) => {\n        const newX = getCssValue(target, dir);\n        const oldX = getAttrValue(target, 'data-initial-' + dir, 0);\n        return newX - oldX;\n      };\n      resizing.events.stop.bind(() => {\n        mutation.get().each(target => {\n          hoverTable.each(table => {\n            getResizer(target, 'data-row').each(row => {\n              const delta = getDelta(target, 'top');\n              remove$7(target, 'data-initial-top');\n              events.trigger.adjustHeight(table, delta, parseInt(row, 10));\n            });\n            getResizer(target, 'data-column').each(column => {\n              const delta = getDelta(target, 'left');\n              remove$7(target, 'data-initial-left');\n              events.trigger.adjustWidth(table, delta, parseInt(column, 10));\n            });\n            refresh(wire, table);\n          });\n        });\n      });\n      const handler = (target, dir) => {\n        events.trigger.startAdjust();\n        mutation.assign(target);\n        set$2(target, 'data-initial-' + dir, getCssValue(target, dir));\n        add(target, resizeBarDragging);\n        set$1(target, 'opacity', '0.2');\n        resizing.go(wire.parent());\n      };\n      const mousedown = bind(wire.parent(), 'mousedown', event => {\n        if (isRowBar(event.target)) {\n          handler(event.target, 'top');\n        }\n        if (isColBar(event.target)) {\n          handler(event.target, 'left');\n        }\n      });\n      const isRoot = e => {\n        return eq$1(e, wire.view());\n      };\n      const findClosestEditableTable = target => closest$1(target, 'table', isRoot).filter(isEditable$1);\n      const mouseover = bind(wire.view(), 'mouseover', event => {\n        findClosestEditableTable(event.target).fold(() => {\n          if (inBody(event.target)) {\n            destroy(wire);\n          }\n        }, table => {\n          if (resizing.isActive()) {\n            hoverTable = Optional.some(table);\n            refresh(wire, table);\n          }\n        });\n      });\n      const destroy$1 = () => {\n        mousedown.unbind();\n        mouseover.unbind();\n        resizing.destroy();\n        destroy(wire);\n      };\n      const refresh$1 = tbl => {\n        refresh(wire, tbl);\n      };\n      const events = create$1({\n        adjustHeight: Event(['table', 'delta', 'row']),\n        adjustWidth: Event(['table', 'delta', 'column']),\n        startAdjust: Event([])\n      });\n      return {\n        destroy: destroy$1,\n        refresh: refresh$1,\n        on: resizing.on,\n        off: resizing.off,\n        hideBars: curry(hide, wire),\n        showBars: curry(show, wire),\n        events: events.registry\n      };\n    };\n\n    const create = (wire, resizing, lazySizing) => {\n      const hdirection = height;\n      const vdirection = width;\n      const manager = BarManager(wire);\n      const events = create$1({\n        beforeResize: Event(['table', 'type']),\n        afterResize: Event(['table', 'type']),\n        startDrag: Event([])\n      });\n      manager.events.adjustHeight.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'row');\n        const delta = hdirection.delta(event.delta, table);\n        adjustHeight(table, delta, event.row, hdirection);\n        events.trigger.afterResize(table, 'row');\n      });\n      manager.events.startAdjust.bind(_event => {\n        events.trigger.startDrag();\n      });\n      manager.events.adjustWidth.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'col');\n        const delta = vdirection.delta(event.delta, table);\n        const tableSize = lazySizing(table);\n        adjustWidth(table, delta, event.column, resizing, tableSize);\n        events.trigger.afterResize(table, 'col');\n      });\n      return {\n        on: manager.on,\n        off: manager.off,\n        refreshBars: manager.refresh,\n        hideBars: manager.hideBars,\n        showBars: manager.showBars,\n        destroy: manager.destroy,\n        events: events.registry\n      };\n    };\n    const TableResize = {\n      create\n    };\n\n    const only = (element, isResizable) => {\n      const parent = isDocument(element) ? documentElement(element) : element;\n      return {\n        parent: constant(parent),\n        view: constant(element),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const detached = (editable, chrome, isResizable) => {\n      const origin = () => absolute(chrome);\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin,\n        isResizable\n      };\n    };\n    const body = (editable, chrome, isResizable) => {\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const ResizeWire = {\n      only,\n      detached,\n      body\n    };\n\n    const createContainer = () => {\n      const container = SugarElement.fromTag('div');\n      setAll(container, {\n        position: 'static',\n        height: '0',\n        width: '0',\n        padding: '0',\n        margin: '0',\n        border: '0'\n      });\n      append$1(body$1(), container);\n      return container;\n    };\n    const get = (editor, isResizable) => {\n      return editor.inline ? ResizeWire.body(SugarElement.fromDom(editor.getBody()), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable);\n    };\n    const remove = (editor, wire) => {\n      if (editor.inline) {\n        remove$6(wire.parent());\n      }\n    };\n\n    const isTable = node => isNonNullable(node) && node.nodeName === 'TABLE';\n    const barResizerPrefix = 'bar-';\n    const isResizable = elm => get$b(elm, 'data-mce-resize') !== 'false';\n    const syncPixels = table => {\n      const warehouse = Warehouse.fromTable(table);\n      if (!Warehouse.hasColumns(warehouse)) {\n        each$2(cells$1(table), cell => {\n          const computedWidth = get$a(cell, 'width');\n          set$1(cell, 'width', computedWidth);\n          remove$7(cell, 'width');\n        });\n      }\n    };\n    const TableResizeHandler = editor => {\n      const selectionRng = value();\n      const tableResize = value();\n      const resizeWire = value();\n      let startW;\n      let startRawW;\n      const lazySizing = table => get$5(editor, table);\n      const lazyResizingBehaviour = () => isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable();\n      const getNumColumns = table => getGridSize(table).columns;\n      const afterCornerResize = (table, origin, width) => {\n        const isRightEdgeResize = endsWith(origin, 'e');\n        if (startRawW === '') {\n          convertToPercentSize(table);\n        }\n        if (width !== startW && startRawW !== '') {\n          set$1(table, 'width', startRawW);\n          const resizing = lazyResizingBehaviour();\n          const tableSize = lazySizing(table);\n          const col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0;\n          adjustWidth(table, width - startW, col, resizing, tableSize);\n        } else if (isPercentage$1(startRawW)) {\n          const percentW = parseFloat(startRawW.replace('%', ''));\n          const targetPercentW = width * percentW / startW;\n          set$1(table, 'width', targetPercentW + '%');\n        }\n        if (isPixel(startRawW)) {\n          syncPixels(table);\n        }\n      };\n      const destroy = () => {\n        tableResize.on(sz => {\n          sz.destroy();\n        });\n        resizeWire.on(w => {\n          remove(editor, w);\n        });\n      };\n      editor.on('init', () => {\n        const rawWire = get(editor, isResizable);\n        resizeWire.set(rawWire);\n        if (hasTableObjectResizing(editor) && hasTableResizeBars(editor)) {\n          const resizing = lazyResizingBehaviour();\n          const sz = TableResize.create(rawWire, resizing, lazySizing);\n          sz.on();\n          sz.events.startDrag.bind(_event => {\n            selectionRng.set(editor.selection.getRng());\n          });\n          sz.events.beforeResize.bind(event => {\n            const rawTable = event.table.dom;\n            fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n          });\n          sz.events.afterResize.bind(event => {\n            const table = event.table;\n            const rawTable = table.dom;\n            removeDataStyle(table);\n            selectionRng.on(rng => {\n              editor.selection.setRng(rng);\n              editor.focus();\n            });\n            fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n            editor.undoManager.add();\n          });\n          tableResize.set(sz);\n        }\n      });\n      editor.on('ObjectResizeStart', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          each$2(editor.dom.select('.mce-clonedresizable'), clone => {\n            editor.dom.addClass(clone, 'mce-' + getTableColumnResizingBehaviour(editor) + '-columns');\n          });\n          if (!isPixelSizing(table) && isTablePixelsForced(editor)) {\n            convertToPixelSize(table);\n          } else if (!isPercentSizing(table) && isTablePercentagesForced(editor)) {\n            convertToPercentSize(table);\n          }\n          if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) {\n            convertToPercentSize(table);\n          }\n          startW = e.width;\n          startRawW = isTableResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr('');\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          const origin = e.origin;\n          if (startsWith(origin, 'corner-')) {\n            afterCornerResize(table, origin, e.width);\n          }\n          removeDataStyle(table);\n          fireTableModified(editor, table.dom, styleModified);\n        }\n      });\n      editor.on('SwitchMode', () => {\n        tableResize.on(resize => {\n          if (editor.mode.isReadOnly()) {\n            resize.hideBars();\n          } else {\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('dragstart dragend', e => {\n        tableResize.on(resize => {\n          if (e.type === 'dragstart') {\n            resize.hideBars();\n            resize.off();\n          } else {\n            resize.on();\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n      const refresh = table => {\n        tableResize.on(resize => resize.refreshBars(SugarElement.fromDom(table)));\n      };\n      const hide = () => {\n        tableResize.on(resize => resize.hideBars());\n      };\n      const show = () => {\n        tableResize.on(resize => resize.showBars());\n      };\n      return {\n        refresh,\n        hide,\n        show\n      };\n    };\n\n    const setupTable = editor => {\n      register(editor);\n      const resizeHandler = TableResizeHandler(editor);\n      const cellSelectionHandler = TableCellSelectionHandler(editor, resizeHandler);\n      const actions = TableActions(editor, resizeHandler, cellSelectionHandler);\n      registerCommands(editor, actions);\n      registerQueryCommands(editor, actions);\n      registerEvents(editor, actions);\n      return {\n        getSelectedCells: cellSelectionHandler.getSelectedCells,\n        clearSelectedCells: cellSelectionHandler.clearSelectedCells\n      };\n    };\n\n    const DomModel = editor => {\n      const table = setupTable(editor);\n      return {\n        table\n      };\n    };\n    var Model = () => {\n      global$1.add('dom', DomModel);\n    };\n\n    Model();\n\n})();\n","function _extends() {\n  module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","export const tinymce = require('./js/tinymce/tinymce.full.js');\nrequire('./js/tinymce/plugins/powerpaste/plugin.full.js');"],"version":3}},{"offset":{"line":563,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-dot-walk/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","import","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","view","state","properties","componentVersion","contentType","dotWalkConfig","dotWalkPath","enableSearchAutofocus","error","hideDotWalking","initialPanelSource","leafPathSource","metadata","panelDefinitions","size","schema","type","dir","required","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","debounce","first","has","isArray","isEmpty","isFunction","isObject","last","uniqWith","ARIA_LIVE_MESSAGE_UPDATED","PATH_UPDATED","NOW_BUTTON_BARE_CLICKED","NOW_BUTTON_ICONIC_CLICKED","DOT_WALK_TRIGGERED","PANEL_ITEM_CLICKED","DOTWALK_TRIGGER_BUTTON","SEARCH_INPUT_VALUE_CHANGED","SEARCH_INPUT_BLURRED","SEARCH_INPUT_FOCUSED","SEARCH_RIGHT_ARROW_PRESSED","SEARCH_LEFT_ARROW_PRESSED","SEARCH_UP_ARROW_PRESSED","SEARCH_DOWN_ARROW_PRESSED","SEARCH_ENTER_PRESSED","BREADCRUMB_SEPARATOR_BUTTON_CLICKED","NAVIGATION_PATH_UPDATED","CONTENT_PATH_UPDATED","ACTIVE_PANEL_UPDATED","panelItemContentTypes","FIELD_METADATA","VARIABLES","EXTENDED_FIELDS","variableSearchOperatorTypes","ENDSWITH","LIKE","STARTSWITH","METADATA_TABLE_FETCH_FAILED","METADATA_TABLE_FETCH_SUCCEEDED","METADATA_TABLE_FETCHED","METADATA_PATH_FETCH_FAILED","METADATA_PATH_FETCH_SUCCEEDED","METADATA_VARIABLES_FETCH_FAILED","METADATA_VARIABLES_FETCH_SUCCEEDED","METADATA_VARIABLES_FETCHED","METADATA_VARIABLES_SEARCH_FETCH_FAILED","METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED","METADATA_VARIABLES_SEARCH_FETCHED","METADATA_EXTENDED_FIELDS_FETCH_FAILED","METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED","METADATA_EXTENDED_FIELDS_FETCHED","DOT_WALK_TABLE_CONFIG_FETCH_FAILED","DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED","DOT_WALK_TABLE_CONFIG_FETCHED","NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED","BREADCRUMB_PATH_UPDATED","METADATA_PATH_FETCHED","METADATA_VARIABLES_SEARCH_FETCH_QUERY","updatedPath","filter","pathItem","displayValue","defaultOptions","coeffects","action","payload","options","getBehaviorOptions","getMetadata","getNonFieldPathMetadata","path","pathMetadata","forEach","field","getPathMetadata","dotWalkMetadata","_ref","parent","logMissingGetMetadataOption","console","pathUpdatedHandler","dispatch","dotWalkModel","updateState","combinedPath","fromBreadcrumb","getDotWalkBehaviorOptions","variablesSearchMetadata","handleQueryMetadataVariablesSearch","combinedPathDisplay","getCombinedPathDisplay","selectedFieldData","variablePathUpdatedHandler","tableName","includeFieldMetadata","includeOnlyFilterableFields","extendedFieldsMetadata","truncatedDotWalkPath","slice","extendedFieldsPathUpdatedHandler","dotWalkModelPath","getCombinedPath","fieldPathUpdatedHandler","searchTerm","operator","lastVariableId","updatedSearch","actionHandlers","referenceSource","fieldName","source","pathIndex","fieldInclusionList","fieldExclusionList","referenceDataKey","referenceTable","referenceTableDefaultField","referenceKey","initialTable","behavior","name","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__","startsWith","componentErrorMessage","componentErrorHandler","_ref3","message","className","role","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__","keyEventDefaultHandler","event","keyCodes","includes","preventDefault","arrowDownHandler","panelItems","activeItemIndex","activeIndex","panelItemClicked","arrowUpHandler","enterPressedHandler","activePanelIndex","disabled","hidden","panelIndex","leftArrowPressedHandler","newPanelIndex","panelItemButtonClickHandler","panelItemContentType","currentContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__","fields","selectedItem","selectedItemIndex","keys","indexOf","cuid","excludedOperators","getSelectedItemIndex","findIndex","getPanelItems","computedFields","itemContentType","prefixPanelItem","fieldValues","rowId","f","sort","b","getPanels","panels","currentPath","newPanel","createPanelModel","leafPanel","loading","contains","val","toLowerCase","searchCriteria","matcher","order","_ref2","secondaryValue","searchFields","resultPartsMap","Map","fieldKey","partitionMatches","updatedMap","set","resultPartKeys","Array","from","partKey","part","ariaLiveMessageHandler","ariaLiveMessage","updateErrorStateHandler","componentPropertyChangedHandler","searchInputFocused","navigationPath","contentPath","openedPanelsCount","getOpenedPanelsCount","Math","min","shouldUpdateCurrentContent","operation","shouldUpdate","updateMetadata","updateDotWalkConfig","getVariablesSearchMetadata","cache","variables_search","getAriaLiveSearchResultText","updatedPanels","totalSearchResultCount","combinedResultMessage","amount","getPanelSearchResultMessage","panelCount","handleFieldSearch","getUpdatedPanels","panel","searchResultAriaLiveMessage","getSearchFilteringMessage","searchResultMessage","handleVariablesSearch","searchTermCache","previousValue","items","NoResultsPanel","NoSearchResultsPanel","label","heading","level","illustration","CONNECTED_PATH_UPDATED","QUESTIONS_DISPLAY_VALUE","VARIABLES_DISPLAY_VALUE","VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE","EXPAND_LABEL","handleIconVersion","getDotWalkButtonClassName","ariaLabel","ariaExpanded","renderer","snabbdom","helpers","targetRef","elm","ref","setTimeout","icon","handleDotWalkButtonClick","stopPropagation","delay","styles","getClassName","selected","active","isReference","getSecondaryLabelClassName","leadingImageSrc","handleItemClick","panelItem","scrollIntoViewIfNeeded","scrollIntoView","hintText","ariaDisabled","ariaSelected","dotwalkFieldLabel","style","backgroundImage","title","hostId","panelId","tabIndex","renderPanelItems","isHeading","PanelItemHeading","PanelItem","COMPONENT_PROPERTY_CHANGED","COMPONENT_RENDERED","dispatches","behaviors","rtlBehavior","host","listElement","shadowRoot","querySelector","focus","focusOnSelectedItem","block","shouldRender","slots","baseStyle","nowId","Panel","conditionallyRenderPanels","p","showNoResults","COMPONENT_ERROR_THROWN","COMPONENT_BOOTSTRAPPED","componentActionTypes","createPath","lastUpdatedPathItem","effect","activePanel","updatedIndex","activePanelItems","currentPanelIndex","isDotWalkedFieldSelected","actionToDispatch","actionName","focusBehavior","keyBindingBehavior","keyBindings","onEnterKeyPress","onArrowKeyPress","handlers","keyCode","initialState","isLoading","StackedPanel","AriaLiveRegion","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__","END_OF_RESULTS_MESSAGE","END_OF_SEARCHED_RESULTS_MESSAGE","FINDING_RESULTS_LABEL","LOAD_MORE_LABEL","LOADING_MORE_LABEL","renderVariableSearchLoader","props","isLoadingMore","lastPanelItemIndex","variant","handleComponentPropertyChanged","searchTermProp","searchTermMetadata","variable","_variable$catalogItem","_variable$variableSet","catalogItem","variableSet","sysId","variables","variableId","find","getSelectedItem","nextState","showQuestions","variableParent","variableParentLabel","variableParentId","variableTable","variableReferenceTable","variableReferenceTableDefaultField","table","splice","isPanelLoading","isActive","searchMetadata","allRecordsSearched","slot","classnames","variableSearchStyle","extendedFields","metadataFields","entries","displayHeader","headerMatch","section","unshift","OTHER_DISPLAY_VALUE","currentItemIndex","tableMetadata","additionalOptions","getOptionsToDisplay","optionsToDisplay","showVariables","getActiveItemIndex","snDotWalkNavigationPanelStyles","testKey","breadCrumbKey","itemIndex","breadCrumbIndexId","bare","index","renderBreadcrumbItems","breadCrumbs","filteredPath","BreadcrumbItem","panelName","separatorLabel","BreadcrumbSeparator","noop","transformInputChangeHandler","handleInputChange","handleEnterPress","handleEscapePress","handleUpArrowPress","handleRightArrowPress","handleDownArrowPress","handleLeftArrowPress","onBlur","onFocus","placeholder","wrapperClassName","autoComplete","debounceDispatch","fn","text","handleInputBlur","handleInputFocus","handleArrowDownPress","inputRef","stackedPanelContentRef","metadataKey","getParentFromDotWalkPath","contentPanel","getContentPanel","Input","conditionallyRenderBreadcrumbs","breadcrumbItemClickHandler","Breadcrumb","onItemClick","scrollLeft","handleBreadCrumbItemClickHandler","input","nowRootNode","breadcrumbTrimmedHandler","blur","_ref4","newPath","shouldTriggerDotWalk","openedPanelCount","updatedActivePanelIndex","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","variableList","successActionType","errorActionType","startActionType","dotWalkVariableSearchFragment","dotwalkPathDataQuery","dotwalkVariableSearchDataQuery","fetchErrorMessage","fetchErrorHandler","transformMetadataKeys","dotWalkFieldData","labelCounter","dotwalkable","fieldMetadata","transformVariableMetadataKeys","dotWalkVariableData","innerFn","transformExtendedFieldsMetadataKeys","dotWalkExtendedFieldsData","extendedTableData","tableLabel","dotwalkFieldData","_ref5","transformVariablesSearchMetadata","previousMetadata","updatedMetadata","updatedVariables","timestamp","Date","getTime","updateMetadataState","getMetadataBehaviorOptions","metadataWithNewFields","updateVariableSearchMetadataState","_ref6","data","previousSearchTermMeta","updatedSearchTermMeta","getContentType","nowDotWalkMode","variablesKey","questionsKey","getDotWalkConfigData","dotWalkTableConfigData","showExtendedFields","inclusionSet","Set","exclusionSet","ignoreVariables","ignoreQuestions","meta","searchForVariables","tableDataPath","dotWalkTableDataArr","variableDataPath","dotWalkVariables","dotWalkModeDataPath","dotWalkMode","dotWalkDataPath","tableData","dotWalkPathFetchEffect","dotWalkTableData","dotWalkTableFetchEffect","dotWalkVariableFetchEffect","dotwalkVariableData","updateVariableMetadataState","dotWalkVariableSearchFetchEffect","dotwalkVariableSearchData","updateExtendedFieldsMetadataState","dotWalkExtendedFieldsFetchEffect","dotWalkTableConfigFetchEffect","dotWalkConfigForTable","updateDotWalkConfigState","TRANSFORM_ERROR_MESSAGE","INVALID_TRANSFORM_MESSAGE","getTransformedMetadata","transformMetadata","metadataWithTransform","dotWalkEnabledFieldTypeOptions","dotWalkEnabledFieldTypes","includeAllColumns","includeTemplateMetadata","isVariablePath","dotWalkBehavior","metadataBehavior","config","leafPathSourceWithDefaults","PANEL_ITEM_TYPES","VARIABLES_PATH","VARIABLES_REFERENCE_SOURCE","VARIABLES_SEARCH_OPERATOR_TYPES","UPDATE_OPERATIONS","NOW_DOT_WALK_SEARCH_TERM_CHANGED","NOW_DOT_WALK_LOAD_MORE_REQUESTED","NOW_DOT_WALK_PATH_UPDATED","NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS","some","isVariableSource","reference","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED","panelDataFragment","tableMetadataFragment","dotWalkConnectedDataQuery","fetchDataEffect","variablesSearchFragment","fetchDataWithVariablesEffect","dotwalkVariablesSearchDataQuery","fetchVariablesSearch","createVariablesData","description","initialPanelOnly","internalValue","itemType","selectable","getVariablesMetadataFromQuery","fetchNowDotwalkConnectedData","queryVariables","fetchNowDotwalkConnectedDataWithVariables","fetchVariablesSearchData","updatedQueryVariables","disableDotwalking","includeTableMetadata","hasBeenPreviouslySearched","updatedItem","dotWalkConnectedDataBehavior","variablesTableMetadata","fetchedPanelDefinitions","reduce","accumulator","getPanelDefinitions","fetchedTableMetadata","tableItem","getTableMetadata","variablePanelDefinitions","variableTableMetadata","getVariablesDotwalkPathFromQuery","fetchedVariablesMetadata","allItemsLoaded","loadMore","loadMoreRequestParams","updateOperation","getDotwalkPath","newState","VARIABLES_TABLEMETADATA_PATH","fetchedMetadata","setInitialState","handleInitialState","deepCompare","window","__TECTONIC__$servicenow_now_dot_walk"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/_panelItemArrow.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/now-dot-walk-variable-search.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/snDotWalkNavigationPanel.scss","webpack:///./src/v1/now-dot-walk-connected/now-dot-walk.scss?4ba7","webpack:///./src/v1/now-dot-walk-panel/components/panel/_panelItemArrow.scss?edc5","webpack:///./src/v1/now-dot-walk-panel/now-dot-walk.scss?f644","webpack:///./src/v1/now-dot-walk-variable-content/now-dot-walk-variable-search.scss?9941","webpack:///./src/v1/now-dot-walk/now-dot-walk.scss?0c42","webpack:///./src/v1/sn-dot-walk-navigation-panel/snDotWalkNavigationPanel.scss?573a","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/now-dot-walk/now-dot-walk.element.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk/view.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.10/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/constants.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getCombinedPath.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getCombinedPathDisplay.js","webpack:///@servicenow/now-dot-walk/src/v1/common/getBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getDotWalkBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getPathMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/actionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/index.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-key-binding/28.0.10/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/isVariablePath.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/state/globalHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/common/AriaLiveRegion.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.10/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/common/keyboardActionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/panelHandlers.js","webpack:///external module \"/uxasset/externals/cuid/2.1.8/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/createPanelModel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/createPath.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getItemIndex.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getPanelItems.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getPanels.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/searchFields.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/globalHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/util/getMetadataBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/util/getVariablesSearchMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/searchInputHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/actionHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/panel/NoResultsPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/common/constants.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItemArrow.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItem.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItemHeading.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/Panel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/NowDotWalkPanelElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/components/panel/StackedPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/NowDotWalkPanel.view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/NowDotWalkFieldContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/NowDotWalkFieldContent.view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/classnames/2.3.1/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/NowDotWalkVariableSearchContent.view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/state/actionHandler.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/NowDotWalkVariableContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/snDotWalkExtendedFieldsContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/state/panelHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/actionHandler.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/state/panelHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/snDotWalkExtendedFieldsContent.view.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/sn-dot-walk-navigation-panel.element.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/BreadcrumbItem.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/BreadcrumbSeparator.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/Breadcrumb.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/input/Input.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/input/index.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/panel/StackedPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/NowDotWalkElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/breadcrumbHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/NowDotWalk.view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkExtendedFieldsFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableSearchFragment.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkPathFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkTableFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableSearchFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkTableConfigFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/actionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/index.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/getTransformedMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/NowDotWalkConnectedElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/NowDotWalkConnected.view.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk-connected/now-dot-walk-connected.element.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk-connected/view.js","webpack:///@servicenow/now-dot-walk/src/v2/common/constants.js","webpack:///@servicenow/now-dot-walk/src/v2/sn-dot-walk/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/utils/variableUtils.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/fetchDataEffectFragment.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/fetchDataEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesSearchFragment.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/fetchDataWithVariablesEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/fetchVariablesSearchEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/utils.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/actionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dotWalkConnectedDataBehavior.js","webpack:///@servicenow/now-dot-walk/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@media(forced-colors:active){now-icon{background-color:ButtonFace;border-style:solid;border-width:1px;color:ButtonText;cursor:pointer;forced-color-adjust:none}now-icon:focus{outline:1px solid Highlight}now-icon:focus,now-icon:hover{background-color:HighlightText;border-color:Highlight;color:Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.aria-sr{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ndw-panel{border-right:1px solid RGB(var(--now-color--neutral-3,209,214,214));flex-shrink:0;height:100%;position:relative;width:260px}.ndw-panel-content{border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-left:none;flex-grow:1;height:100%;overflow-y:auto}.ndw-panel-content ul{flex:0 0 auto;margin:0;padding:0}.ndw-panel-content-loader,.ndw-panel-content.no-results{align-items:center;display:flex;justify-content:center}.ndw-panel-content-loader{height:100%}.ndw-panel-content-item,.ndw-panel-content-item-heading{align-items:center;display:flex;font-size:1rem;height:2rem;line-height:1.25;margin-bottom:.125rem}:host(:not([dir=rtl])) .ndw-panel-content-item,:host(:not([dir=rtl])) .ndw-panel-content-item-heading,:root:not([dir=rtl]) .ndw-panel-content-item,:root:not([dir=rtl]) .ndw-panel-content-item-heading{padding-left:1rem}:host([dir=rtl]) .ndw-panel-content-item,:host([dir=rtl]) .ndw-panel-content-item-heading,:root[dir=rtl] .ndw-panel-content-item,:root[dir=rtl] .ndw-panel-content-item-heading{padding-right:1rem}:host(:not([dir=rtl])) .ndw-panel-content-item,:host(:not([dir=rtl])) .ndw-panel-content-item-heading,:root:not([dir=rtl]) .ndw-panel-content-item,:root:not([dir=rtl]) .ndw-panel-content-item-heading{padding-right:.5rem}:host([dir=rtl]) .ndw-panel-content-item,:host([dir=rtl]) .ndw-panel-content-item-heading,:root[dir=rtl] .ndw-panel-content-item,:root[dir=rtl] .ndw-panel-content-item-heading{padding-left:.5rem}.ndw-panel-content-item-heading.secondary-value,.ndw-panel-content-item.secondary-value{height:2.5rem}.ndw-panel-content-item-heading{font-size:.75rem}.ndw-panel-content-item{cursor:pointer}.ndw-panel-content-item-icon{color:RGB(var(--now-color--primary-1,30,133,109))}.ndw-panel-content-item-label{cursor:inherit;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndw-panel-content-item-label:after{content:\\\"\\\";display:block}.ndw-panel-content-item-heading{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:auto}.ndw-panel-content-item-leading-image{background-color:RGB(var(--now-color--neutral-3,209,214,214));background-position:50%;background-size:cover;border-radius:24px;height:24px;width:24px}:host(:not([dir=rtl])) .ndw-panel-content-item-leading-image,:root:not([dir=rtl]) .ndw-panel-content-item-leading-image{margin-right:.5rem}:host([dir=rtl]) .ndw-panel-content-item-leading-image,:root[dir=rtl] .ndw-panel-content-item-leading-image{margin-left:.5rem}.ndw-panel-content-item-secondary-value,.ndw-panel-content-item-secondary-value-image{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndw-panel-content-item-secondary-value-image{max-width:175px}.ndw-panel-content-item.is-active,.ndw-panel-content-item:hover{background-color:RGB(var(--now-color--secondary-0,217,235,238));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));outline:none}.ndw-panel-content-item.is-selected,.ndw-panel-content-item:hover{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.ndw-panel-content-item.is-selected{background-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5));cursor:pointer;outline:none}.ndw-panel-content-item.is-selected .ndw-panel-content-item-icon{color:RGB(RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.45))}.ndw-panel-content-item.is-disabled{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));cursor:default}.ndw-panel-content-item.is-disabled.is-active,.ndw-panel-content-item.is-disabled:hover{background-color:RGB(var(--now-color--secondary-0,217,235,238))}.ndw-panel-content-item.is-disabled.is-selected{background-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.ndw-panel-content-item.is-disabled .ndw-panel-content-item-label{cursor:default}@media(forced-colors:active){.ndw-panel-content-item.is-selected{background-color:SelectedItem}.ndw-panel-content-item.is-selected .ndw-panel-content-item-label{color:SelectedItemText}.ndw-panel-content-item.is-disabled{background-color:Canvas;cursor:not-allowed}.ndw-panel-content-item.is-disabled .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled:hover .ndw-panel-content-item-label{color:GrayText}.ndw-panel-content-item.is-disabled.dot-walkable.is-selected,.ndw-panel-content-item.is-disabled.dot-walkable:focus,.ndw-panel-content-item.is-disabled.dot-walkable:hover{background-color:Highlight}.ndw-panel-content-item.is-disabled.dot-walkable.is-selected .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled.dot-walkable:focus .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled.dot-walkable:hover .ndw-panel-content-item-label{color:HighlightText}.ndw-panel-content-item.is-active,.ndw-panel-content-item:hover{background-color:Highlight}.ndw-panel-content-item.is-active .ndw-panel-content-item-label,.ndw-panel-content-item:hover .ndw-panel-content-item-label{color:HighlightText}.ndw-panel-content-item .ndw-panel-content-item-label{color:CanvasText;forced-color-adjust:none}}.sr-only:before{content:\\\" \\\"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.ndw-panel-loader{align-items:center;border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));display:grid;height:100%;justify-items:center;width:260px}.ndw-panel-end{align-items:center;display:flex;justify-content:center;min-height:40px;text-align:center;width:100%}.ndw-panel-end .loader{padding:.5rem 1rem}.ndw-panel-end .search-results-message{border-top:1px solid RGB(var(--now-color_chrome--divider-0,169,178,179));font-size:.75rem;margin:0;padding:.75rem 1rem;width:100%}.ndw-panel-end .search-results-message.has-search-term{padding:.25rem 1rem}.ndw-panel-end .search-term{display:flex;justify-content:center}.ndw-panel-end .line-clamp{-webkit-box-orient:vertical;-webkit-line-clamp:1;word-wrap:break-word;display:-webkit-box;overflow:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ndw-breadcrumb{max-width:300px}:host(:not([dir=rtl])) .ndw-breadcrumb,:root:not([dir=rtl]) .ndw-breadcrumb{margin-left:1.5rem}:host([dir=rtl]) .ndw-breadcrumb,:root[dir=rtl] .ndw-breadcrumb{margin-right:1.5rem}.ndw-breadcrumb-item-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.ndw-breadcrumb ol{display:flex;flex-shrink:1;flex-wrap:wrap;list-style-type:none;margin:4px 0 0;padding:0;width:100%}.ndw-breadcrumb ol li{align-items:center;display:flex;font-size:.75rem;height:26px;margin-right:.25rem}@media(forced-colors:active){.ndw-breadcrumb-item-text{color:canvastext}}.ndw-search-input-wrapper{align-items:center;display:flex;flex-shrink:0;min-height:35px;transition:border-color .15s ease;width:160px}.ndw-input{background:transparent;border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;height:100%;outline:none;width:100%}.ndw-search-input-icon{margin:0 .25rem}@media(forced-colors:active){.ndw-input::placeholder{color:GrayText}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.ndw-panel{align-items:center;display:grid;height:100%;justify-items:center}:host(now-dot-walk-field-content) .ndw-stacked-panel{max-width:none}:host(now-dot-walk-field-content) .ndw-stacked-panel-content{border-left:0;overflow:visible;width:100%}.ndw-panel{border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));width:260px}.ndw-panel .ndw-panel-content{padding:5px}.ndw-stacked-panel{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:320px;max-width:100%;min-width:260px;overflow:hidden;position:relative}@media(forced-colors:active){.ndw-stacked-panel{border:1px solid Highlight}}.ndw-stacked-panel-loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.ndw-stacked-panel-header{align-items:flex-start;border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-bottom:0;display:flex;flex-shrink:0;min-height:32px;padding:0 .5rem;width:100%}.ndw-stacked-panel-content{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-left:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-right:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-size:1rem;height:100%;overflow-x:auto;overflow-y:hidden}.ndw-stacked-panel-error-container{align-items:center;display:flex;height:100%;justify-content:center;padding:.75rem;text-align:center;width:400px}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.aria-sr{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ndw-panel{align-items:center;border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));display:grid;height:100%;justify-items:center;width:260px}.ndw-panel .ndw-panel-content{padding:5px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_panelItemArrow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk-variable-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./snDotWalkNavigationPanel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk/index.jsdbx\");;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\n\ncreateCustomElement('now-dot-walk', {\n\tview,\n\tproperties: {\n\t\t/********************** Props used by both Version 1 and 2 ************************/\n\t\t/**\n\t\t * Specifies which dot walk version to use, 1 or 2 (2 is latest)\n\t\t */\n\t\tcomponentVersion: {\n\t\t\tdefault: 1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/********************** Props only used by Version 2 ******************************/\n\t\t/**\n\t\t * The source for the first panel's list of fields\n\t\t *\n\t\t */\n\t\tinitialPanelSource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Object that represents the panel definitions\n\t\t */\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\n\t\t/********************** Props only used by Version 1 ******************************/\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Enum to describe what type of content will be shown for dot walk, specifically for variables and extended fields.\n\t\t * You can import contentTypes from now-dot-walk for the values defined.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Set to true if you want to autofocus the search input\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableSearchAutofocus: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * The size of the Dot Walk element.\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n});\n","export default (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentVersion,\n\t\t\tcontentType,\n\t\t\tdotWalkConfig,\n\t\t\tdotWalkPath,\n\t\t\tenableSearchAutofocus,\n\t\t\terror,\n\t\t\thideDotWalking,\n\t\t\tinitialPanelSource,\n\t\t\tleafPathSource,\n\t\t\tmetadata,\n\t\t\tpanelDefinitions,\n\t\t\tsize,\n\t\t},\n\t} = state;\n\n\tif (componentVersion === 1) {\n\t\timport('../v1/now-dot-walk');\n\t\treturn (\n\t\t\t<sn-dot-walk-v1\n\t\t\t\tmetadata={metadata}\n\t\t\t\tcontentType={contentType}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\terror={error}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (componentVersion === 2) {\n\t\timport('../v2/sn-dot-walk/index');\n\t\treturn (\n\t\t\t<sn-dot-walk-v2\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\tinitialPanelSource={initialPanelSource}\n\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\tenableSearchAutofocus={enableSearchAutofocus}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_10_index_jsdbx_058fda4a__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"first\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t\t} else if ('first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.first || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"last\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t\t} else if ('last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.last || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"uniqWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqWith;\n\t\t\t\t\t} else if ('uniqWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqWith;\n\t\t\t\t} });","export const ARIA_LIVE_MESSAGE_UPDATED =\n\t'NOW_DOT_WALK#ARIA_LIVE_MESSAGE_UPDATED';\nexport const PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\n\nexport const PANEL_ITEM_CLICKED = 'NOW_DOT_WALK_PANEL#PANEL_ITEM_CLICKED';\nexport const DOTWALK_TRIGGER_BUTTON =\n\t'NOW_DOT_WALK_PANEL#DOTWALK_TRIGGER_BUTTON';\n\nexport const SEARCH_INPUT_VALUE_CHANGED =\n\t'NOW_DOT_WALK#SEARCH_INPUT_VALUE_CHANGED';\nexport const SEARCH_INPUT_BLURRED = 'NOW_DOT_WALK#SEARCH_INPUT_BLURRED';\nexport const SEARCH_INPUT_FOCUSED = 'NOW_DOT_WALK#SEARCH_INPUT_FOCUSED';\nexport const SEARCH_RIGHT_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_RIGHT_ARROW_PRESSED';\nexport const SEARCH_LEFT_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_LEFT_ARROW_PRESSED';\nexport const SEARCH_UP_ARROW_PRESSED = 'NOW_DOT_WALK#SEARCH_UP_ARROW_PRESSED';\nexport const SEARCH_DOWN_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_DOWN_ARROW_PRESSED';\nexport const SEARCH_ENTER_PRESSED = 'NOW_DOT_WALK#SEARCH_ENTER_PRESSED';\nexport const SEARCH_ESCAPE_PRESSED = 'NOW_DOT_WALK#SEARCH_ESCAPE_PRESSED';\n\n// Scoped action types\nexport const BREADCRUMB_SEPARATOR_BUTTON_CLICKED =\n\t'NOW_DOT_WALK#BREADCRUMB_SEPARATOR_BUTTON_CLICKED';\n\nexport const NAVIGATION_PATH_UPDATED =\n\t'PRIVATE_NOW_DOT_WALK#NAVIGATION_PATH_UPDATED';\nexport const CONTENT_PATH_UPDATED = 'PRIVATE_NOW_DOT_WALK#CONTENT_PATH_UDPATED';\n\nexport const ACTIVE_PANEL_UPDATED = 'PRIVATE_NOW_DOT_WALK#ACTIVE_PANEL_UPDATED';\n","// eslint-disable-next-line import/prefer-default-export\n\nexport const panelItemContentTypes = {\n\tFIELD_METADATA: `TABLE_FIELDS`,\n\tVARIABLES: `VARIABLES`,\n\tEXTENDED_FIELDS: `EXTENDED_FIELDS`,\n};\n\nexport const variableSearchOperatorTypes = {\n\tENDSWITH: 'ENDSWITH',\n\tLIKE: 'LIKE',\n\tSTARTSWITH: 'STARTSWITH',\n};\n","export const METADATA_TABLE_FETCH_FAILED = 'METADATA_TABLE_FETCH_FAILED';\nexport const METADATA_TABLE_FETCH_STARTED = 'METADATA_TABLE_FETCH_STARTED';\nexport const METADATA_TABLE_FETCH_SUCCEEDED = 'METADATA_TABLE_FETCH_SUCCEEDED';\n\nexport const METADATA_TABLE_FETCHED = 'NOW_DOT_WALK#METADATA_TABLE_FETCHED';\n\nexport const METADATA_PATH_FETCH_FAILED = 'METADATA_PATH_FETCH_FAILED';\nexport const METADATA_PATH_FETCH_STARTED = 'METADATA_PATH_FETCH_STARTED';\nexport const METADATA_PATH_FETCH_SUCCEEDED = 'METADATA_PATH_FETCH_SUCCEEDED';\n\nexport const METADATA_PATH_FETCHED = 'NOW_DOT_WALK#METADATA_PATH_FETCHED';\n\n// TODO: deprecate\nexport const METADATA_VARIABLES_FETCH_FAILED =\n\t'METADATA_VARIABLES_FETCH_FAILED';\nexport const METADATA_VARIABLES_FETCH_STARTED =\n\t'METADATA_VARIABLES_FETCH_STARTED';\nexport const METADATA_VARIABLES_FETCH_SUCCEEDED =\n\t'METADATA_VARIABLES_FETCH_SUCCEEDED';\nexport const METADATA_VARIABLES_FETCHED =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_FETCHED';\n// deprecate remove\n\nexport const METADATA_VARIABLES_SEARCH_FETCH_FAILED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_FAILED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_STARTED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_STARTED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED';\nexport const METADATA_VARIABLES_SEARCH_FETCHED =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_SEARCH_FETCHED';\n\nexport const METADATA_EXTENDED_FIELDS_FETCH_FAILED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_FAILED';\nexport const METADATA_EXTENDED_FIELDS_FETCH_STARTED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_STARTED';\nexport const METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED';\nexport const METADATA_EXTENDED_FIELDS_FETCHED =\n\t'METADATA_EXTENDED_FIELDS_FETCHED';\n\nexport const DOT_WALK_TABLE_CONFIG_FETCH_FAILED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_FAILED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_STARTED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_STARTED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED';\nexport const DOT_WALK_TABLE_CONFIG_FETCHED = 'DOT_WALK_TABLE_CONFIG_FETCHED';\n","export const NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED =\n\t'NOW_DOT_WALK_BEHAVIOR#PATH_UPDATED';\n\nexport const BREADCRUMB_PATH_UPDATED = 'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const METADATA_TABLE_FETCHED = 'NOW_DOT_WALK#METADATA_TABLE_FETCHED';\nexport const METADATA_PATH_FETCHED = 'NOW_DOT_WALK#METADATA_PATH_FETCHED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_QUERY =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_SEARCH_FETCH_QUERY';\n","import map from 'lodash/map';\n\nconst getCombinedPath = (updatedPath) => map(updatedPath, 'field').join('.');\n\nexport default getCombinedPath;\n","export const DOT_WALK_PATH_SEPARATOR = ' > ';\nconst getCombinedPathDisplay = (updatedPath = []) =>\n\tupdatedPath\n\t\t.filter((pathItem) => pathItem.displayValue)\n\t\t.map((pathItem) => pathItem.displayValue)\n\t\t.join(DOT_WALK_PATH_SEPARATOR);\n\nexport default getCombinedPathDisplay;\n","import isObject from 'lodash/isObject';\n\nconst getBehaviorOptions = (defaultOptions) => (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t} = coeffects;\n\n\tconst updatedOptions =\n\t\toptions && isObject(options)\n\t\t\t? { ...defaultOptions, ...options }\n\t\t\t: defaultOptions;\n\n\treturn updatedOptions;\n};\n\nexport default getBehaviorOptions;\n","import getBehaviorOptions from '../../../common/getBehaviorOptions';\n\nconst defaultOptions = {\n\tgetMetadata: (coeffects) => coeffects.state.metadata,\n};\n\nexport default getBehaviorOptions(defaultOptions);\n","import get from 'lodash/get';\n\nconst getPathMetadata = (path, dotWalkMetadata) => {\n\tconst pathMetadata = {};\n\tif (!path || !dotWalkMetadata) return pathMetadata;\n\n\tpath.forEach(({ field, parent }) => {\n\t\tpathMetadata[field] = {\n\t\t\t...get(dotWalkMetadata, `${parent}.${field}`, {}),\n\t\t};\n\t});\n\n\treturn pathMetadata;\n};\n\nexport const getNonFieldPathMetadata = (path) => {\n\tconst pathMetadata = {};\n\tif (!path) return pathMetadata;\n\n\tpath.forEach((item) => {\n\t\tconst { field } = item;\n\t\tpathMetadata[field] = {\n\t\t\t...item,\n\t\t};\n\t});\n\n\treturn pathMetadata;\n};\nexport default getPathMetadata;\n","import get from 'lodash/get';\nimport isArray from 'lodash/isArray';\nimport isEmpty from 'lodash/isEmpty';\nimport last from 'lodash/last';\n\nimport { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport {\n\tpanelItemContentTypes,\n\tvariableSearchOperatorTypes,\n} from '../../now-dot-walk/constants';\nimport {\n\tMETADATA_VARIABLES_SEARCH_FETCHED,\n\tMETADATA_EXTENDED_FIELDS_FETCHED,\n} from '../metadata/actions';\n\nimport {\n\tBREADCRUMB_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tMETADATA_TABLE_FETCHED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_QUERY,\n\tNOW_DOT_WALK_BEHAVIOR_PATH_UPDATED,\n} from './actions';\nimport {\n\tgetCombinedPath,\n\tgetCombinedPathDisplay,\n\tgetPathMetadata,\n\tgetDotWalkBehaviorOptions,\n} from './util';\nimport { getNonFieldPathMetadata } from './util/getPathMetadata';\n\nconst { VARIABLES, FIELD_METADATA, EXTENDED_FIELDS } = panelItemContentTypes;\n\nconst componentBootstrappedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path, leafPathSource },\n\t\t},\n\t} = coeffects;\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t});\n};\n\nconst logMissingGetMetadataOption = () => {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'Error occured in dotWalkBehavior. Expected getMetadata to be defined'\n\t);\n};\n\nconst fieldPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path, fromBreadcrumb },\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path: dotWalkModelPath },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tlet leafPathSource = null;\n\tif (\n\t\tisEmpty(path) &&\n\t\tisArray(dotWalkModelPath) &&\n\t\t!isEmpty(dotWalkModelPath)\n\t) {\n\t\tleafPathSource = dotWalkModelPath[0].parent;\n\t}\n\n\tconst updatedPath = path || [];\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\tcontentType: !isEmpty(updatedPath)\n\t\t\t? panelItemContentTypes.FIELD_METADATA\n\t\t\t: '',\n\t\terror: null,\n\t});\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t\tcombinedPath: getCombinedPath(updatedPath),\n\t\tcombinedPathDisplay: getCombinedPathDisplay(updatedPath),\n\t\tselectedFieldData: last(updatedPath),\n\t\tmetadata: getPathMetadata(updatedPath, getMetadata(coeffects)),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst dotWalkTriggeredHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\treferenceSource,\n\t\t\t\tfieldName,\n\t\t\t\tdisplayValue,\n\t\t\t\tsource,\n\t\t\t\tpathIndex,\n\t\t\t},\n\t\t},\n\t\tproperties: {\n\t\t\ttableName,\n\t\t\tfieldInclusionList,\n\t\t\tfieldExclusionList,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\tconst metadata = getMetadata(coeffects);\n\n\tconst {\n\t\treferenceDataKey: referenceTable = null,\n\t\treferenceTableDefaultField = null,\n\t\treferenceKey = null,\n\t\ttype,\n\t} = get(metadata, `${source}.${fieldName}`, {});\n\n\tconst updatedPath = [\n\t\t...path.slice(0, pathIndex),\n\t\t{\n\t\t\tdisplayValue,\n\t\t\tfield: fieldName,\n\t\t\tparent: source,\n\t\t\ttype,\n\t\t\treferenceTable,\n\t\t\treferenceTableDefaultField,\n\t\t\treferenceKey,\n\t\t},\n\t];\n\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource: referenceSource,\n\t\t},\n\t\tcontentType: FIELD_METADATA,\n\t});\n\n\tdispatch(METADATA_TABLE_FETCHED, {\n\t\ttableName: referenceSource,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tinitialTable: tableName,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t});\n};\n\nconst variablePathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tstate: { dotWalkModel },\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { combinedPath, path, fromBreadcrumb },\n\t\t},\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tconst metadata = getMetadata(coeffects);\n\tconst variablesSearchMetadata = get(metadata, 'variables_search');\n\tif (isEmpty(variablesSearchMetadata)) {\n\t\thandleQueryMetadataVariablesSearch(coeffects);\n\t}\n\n\tconst leafPathSource =\n\t\tpath.length > 1 ? '' : panelItemContentTypes.VARIABLES;\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\terror: null,\n\t\tcontentType: !isEmpty(path) ? panelItemContentTypes.VARIABLES : '',\n\t});\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(path),\n\t\tselectedFieldData: last(path),\n\t\tmetadata: getNonFieldPathMetadata(path),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst extendedFieldsPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: {\n\t\t\ttableName,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t\tstate: { dotWalkModel },\n\t\taction: {\n\t\t\tpayload: { combinedPath, path = [], fromBreadcrumb },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tconst metadata = getMetadata(coeffects);\n\tconst extendedFieldsMetadata = get(metadata, 'extendedFields', {});\n\n\tif (isEmpty(extendedFieldsMetadata))\n\t\tdispatch(METADATA_EXTENDED_FIELDS_FETCHED, {\n\t\t\ttableName,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t});\n\n\tconst leafPathSource =\n\t\tpath.length > 1 ? '' : panelItemContentTypes.EXTENDED_FIELDS;\n\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\terror: null,\n\t\tcontentType: !isEmpty(path)\n\t\t\t? panelItemContentTypes.EXTENDED_FIELDS\n\t\t\t: '',\n\t});\n\n\t// Remove first item because it'll be an extended-fields placeholder,\n\t// which is needed to highlight the extended field panel in the navigation panel\n\tconst truncatedDotWalkPath = path.length > 1 ? path.slice(1) : path;\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath: truncatedDotWalkPath,\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(truncatedDotWalkPath),\n\t\tselectedFieldData: last(truncatedDotWalkPath),\n\t\tmetadata: getNonFieldPathMetadata(truncatedDotWalkPath),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst pathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { contentType },\n\t\t},\n\t} = coeffects;\n\n\tswitch (contentType) {\n\t\tcase VARIABLES:\n\t\t\tvariablePathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase EXTENDED_FIELDS:\n\t\t\textendedFieldsPathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase FIELD_METADATA:\n\t\tdefault:\n\t\t\tfieldPathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleQueryMetadataVariablesSearch = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst {\n\t\tsearchTerm = '',\n\t\toperator = variableSearchOperatorTypes.LIKE,\n\t\tlastVariableId = '',\n\t} = payload;\n\n\tconst updatedSearch = {\n\t\tsearchTerm,\n\t\toperator,\n\t\tlastVariableId,\n\t};\n\n\tdispatch(METADATA_VARIABLES_SEARCH_FETCHED, updatedSearch, updatedSearch); // second argument is for meta reference\n};\n\nconst actionHandlers = {\n\t[BREADCRUMB_PATH_UPDATED]: pathUpdatedHandler,\n\t[DOT_WALK_TRIGGERED]: dotWalkTriggeredHandler,\n\t[PATH_UPDATED]: pathUpdatedHandler,\n\t[METADATA_VARIABLES_SEARCH_FETCH_QUERY]: handleQueryMetadataVariablesSearch,\n};\n\nexport {\n\tactionHandlers as default,\n\tcomponentBootstrappedHandler,\n\tdotWalkTriggeredHandler,\n\tpathUpdatedHandler,\n};\n","import actionHandlers from './actionHandlers';\n\nconst ELEMENT_NAME = 'dotWalkBehavior';\nconst behavior = {\n\tname: ELEMENT_NAME,\n\tactionHandlers,\n};\n\nexport { behavior as default };\nexport * from './actions';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_10_index_jsdbx_7b68d1c3__[\"default\"][\"default\"];\n\t\t\t\t} });","const isVariablePath = (path) => !!path?.startsWith('variables.');\n\nexport default isVariablePath;\n","import { t } from 'sn-translate';\n\nimport { METADATA_PATH_FETCHED } from '../../behaviors/dotWalk';\nimport isVariablePath from '../../behaviors/dotWalk/util/isVariablePath';\n\nconst componentBootstrappedHandler = ({\n\tproperties: {\n\t\tdotWalkPath,\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t},\n\tdispatch,\n}) => {\n\tdispatch(METADATA_PATH_FETCHED, {\n\t\tpath: dotWalkPath || '',\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t});\n};\n\nconst componentPropertyChangedHandler = ({\n\tdispatch,\n\taction: { payload },\n\tupdateState,\n\tproperties: {\n\t\tdotWalkPath,\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t},\n}) => {\n\tupdateState({ [payload.name]: payload.value });\n\tconst path = dotWalkPath || '';\n\n\tswitch (payload.name) {\n\t\tcase 'dotWalkPath': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath: payload.value || '',\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'tableName': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName: payload.value,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'fieldInclusionList': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList: payload.value,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'fieldExclusionList': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList: payload.value,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeAllColumns': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeTemplateMetadata': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeFieldMetadata': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst componentErrorMessage = t(\n\t'Error occurred. Please contact your System Administrator'\n);\n\nconst componentErrorHandler = ({ updateState }) => {\n\tupdateState({\n\t\terror: componentErrorMessage,\n\t});\n};\n\nexport {\n\tcomponentBootstrappedHandler,\n\tcomponentErrorHandler,\n\tcomponentErrorMessage,\n\tcomponentPropertyChangedHandler,\n};\n","/**\n * Aria live function for notifying users of component changes via screenreader\n * @param {string} message - Aria live message to be read by screenreader\n */\nconst AriaLiveRegion = ({ message }) => (\n\t<div className=\"aria-sr\" role=\"status\" id=\"aria-region\">\n\t\t{message}\n\t<\/div>\n);\n\nexport default AriaLiveRegion;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_10_index_jsdbx_032d2882__[\"default\"][\"default\"];\n\t\t\t\t} });","import {\n\tACTIVE_PANEL_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_INPUT_FOCUSED,\n} from '../now-dot-walk/actions';\n\nconst keyEventDefaultHandler = (event, key, keyCodes) => {\n\tif (!event || !key || !keyCodes || keyCodes.length === 0) return;\n\n\tif (keyCodes.includes(key)) event.preventDefault();\n};\n\nconst arrowDownHandler = (coeffects) => {\n\tconst {\n\t\tstate: { panelItems, activeItemIndex },\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet activeIndex = activeItemIndex;\n\tif (panelItems.length - 1 > activeItemIndex) {\n\t\tactiveIndex += 1;\n\t}\n\tupdateState({\n\t\tactiveItemIndex: activeIndex,\n\t\tpanelItemClicked: false,\n\t});\n};\n\nconst arrowUpHandler = (coeffects) => {\n\tconst {\n\t\tstate: { activeItemIndex },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (activeItemIndex !== 0) {\n\t\tupdateState({\n\t\t\tactiveItemIndex: activeItemIndex - 1,\n\t\t});\n\t} else {\n\t\t// move control back to search if we are pressing up arrow at the top of a panel\n\t\tdispatch(SEARCH_INPUT_FOCUSED);\n\t}\n\tupdateState({ panelItemClicked: false });\n};\n\nconst enterPressedHandler = (coeffects) => {\n\tconst {\n\t\tstate: { activeItemIndex, panelItems },\n\t\tproperties: { source, activePanelIndex },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst item = panelItems[activeItemIndex];\n\tif (item && !item.disabled && !item.hidden) {\n\t\tdispatch(PANEL_ITEM_CLICKED, {\n\t\t\t...item,\n\t\t\tfield: item.name,\n\t\t\tpanelIndex: activePanelIndex,\n\t\t\tsource,\n\t\t});\n\t}\n\tupdateState({ panelItemClicked: false });\n};\n\nconst leftArrowPressedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { activePanelIndex },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: activePanelIndex - 1,\n\t});\n};\n\nexport {\n\tkeyEventDefaultHandler,\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n\tleftArrowPressedHandler,\n};\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tDOT_WALK_TRIGGERED,\n} from '../actions';\n\nconst panelItemButtonClickHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tdisplayValue,\n\t\t\t\tfieldName,\n\t\t\t\tpanelIndex,\n\t\t\t\tsource,\n\t\t\t\tpanelItemContentType,\n\t\t\t},\n\t\t},\n\t\tproperties: { metadata = {} },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tcurrentContent: panelItemContentType,\n\t});\n\n\tconst referenceSource = get(\n\t\tmetadata,\n\t\t`${source}[${fieldName}].referenceDataKey`\n\t);\n\n\tif (!referenceSource) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'Attempting to dot walk on a field that had no reference'\n\t\t);\n\t}\n\n\tdispatch(DOT_WALK_TRIGGERED, {\n\t\tfieldName,\n\t\tdisplayValue,\n\t\treferenceSource,\n\t\tsource,\n\t\tpathIndex: panelIndex,\n\t});\n\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\tmessage: t(\n\t\t\t'Panel expanded on {0} field for {1} panel',\n\t\t\tdisplayValue,\n\t\t\tsource\n\t\t),\n\t});\n\tdispatch(SEARCH_INPUT_VALUE_CHANGED, { searchTerm: null });\n};\n\nconst shouldTriggerDotWalk = (\n\tisDotWalkedFieldSelected,\n\topenedPanelCount,\n\tactivePanelIndex\n) => {\n\tconst isNextPanelAlreadyLoaded =\n\t\tisDotWalkedFieldSelected && activePanelIndex !== openedPanelCount - 1;\n\n\treturn !isDotWalkedFieldSelected || !isNextPanelAlreadyLoaded;\n};\n\nconst handleActivePanelUpdated = (coeffects) => {\n\tconst {\n\t\tstate: { activePanelIndex, openedPanelsCount },\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tactionToDispatch,\n\t\t\t\tnewPanelIndex,\n\t\t\t\tisDotWalkedFieldSelected,\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (\n\t\tactionToDispatch &&\n\t\tshouldTriggerDotWalk(\n\t\t\tisDotWalkedFieldSelected,\n\t\t\topenedPanelsCount,\n\t\t\tactivePanelIndex\n\t\t)\n\t) {\n\t\tconst { actionName, payload } = actionToDispatch;\n\t\tdispatch(actionName, { ...payload });\n\t\treturn;\n\t}\n\n\tlet updatedActivePanelIndex = activePanelIndex;\n\tif (newPanelIndex < openedPanelsCount && newPanelIndex >= 0) {\n\t\tupdatedActivePanelIndex = newPanelIndex;\n\t}\n\n\tupdateState({\n\t\tactivePanelIndex: updatedActivePanelIndex,\n\t});\n};\n\nexport { panelItemButtonClickHandler, handleActivePanelUpdated };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"];\n\t\t\t\t} });","import cuid from 'cuid';\n\n/**\n * Params used to define panel model to be created\n * @typedef {{\n *  id: string\n *  fields: object\n *  source: string\n *  selectedItem: string\n *  panelIndex: number\n *  }} CreatePanelModelParams\n */\n\n/**\n *\n * @param {CreatePanelModelParams} params\n */\nconst createPanelModel = ({ id, fields, source, selectedItem, panelIndex }) => {\n\tconst selectedItemIndex = Object.keys(fields).indexOf(selectedItem);\n\tconst activeIndex =\n\t\tselectedItem && selectedItemIndex !== -1 ? selectedItemIndex : 0;\n\n\treturn {\n\t\tid: id || cuid(),\n\t\tfields,\n\t\tsearchTerm: '',\n\t\tselectedItem,\n\t\tsource,\n\t\tactiveIndex,\n\t\tpanelIndex,\n\t};\n};\n\nexport default createPanelModel;\n","const createPath = ({\n\tdisplayValue,\n\tfield,\n\tsource,\n\treferenceDataKey,\n\treferenceTableDefaultField,\n\treferenceKey,\n\ttype,\n\texcludedOperators,\n}) => ({\n\tdisplayValue,\n\tfield,\n\ttype,\n\tparent: source,\n\treferenceTable: referenceDataKey,\n\treferenceTableDefaultField,\n\treferenceKey,\n\texcludedOperators,\n});\n\nexport default createPath;\n","const getSelectedItemIndex = (selectedItem, panelItems) => {\n\tif (!selectedItem) {\n\t\treturn 0;\n\t}\n\n\tconst selectedItemIndex = panelItems.findIndex(\n\t\t(item) => selectedItem === item.name\n\t);\n\treturn selectedItemIndex !== -1 ? selectedItemIndex : 0;\n};\n\nconst getActiveItemIndex = (coeffects, panelItems, selectedItem) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tstate: { panelItemClicked = false },\n\t} = coeffects;\n\n\t// Case: where the focus is on the search bar, but a user clicks on the panel item.\n\t// I know the panelItemClicked is hacky :(\n\t// Case:  where you're coming from a panel that is to the left of the active index, panel 0 -> 1\n\tif (\n\t\tname === 'activePanelIndex' &&\n\t\tvalue > previousValue &&\n\t\t!panelItemClicked\n\t) {\n\t\treturn 0;\n\t}\n\n\treturn getSelectedItemIndex(selectedItem, panelItems);\n};\n\nexport { getActiveItemIndex, getSelectedItemIndex };\n","import has from 'lodash/has';\n/**\n * Get panel items from metadata\n * @param {{[key: string]: {}}} fields - Fields related to a specific metadata entry\n * @param {{[key: string]: {}}} computedFields - Computed or filtered fields\n * @param {string} selectedItem - The panel's selected item\n * @param {string} itemContentType - Optional. The content type of the panel item\n */\nconst getPanelItems = (\n\tfields,\n\tcomputedFields,\n\tselectedItem,\n\titemContentType\n) => {\n\tlet panelItems = Object.keys(computedFields || fields);\n\tlet prefixPanelItem;\n\n\tif (computedFields && selectedItem && has(fields, selectedItem)) {\n\t\tconst fieldValues = fields[selectedItem];\n\t\tprefixPanelItem = {\n\t\t\tname: selectedItem,\n\t\t\trowId: selectedItem,\n\t\t\t...fieldValues,\n\t\t};\n\t\tif (itemContentType) {\n\t\t\tprefixPanelItem.panelItemContentType = itemContentType;\n\t\t}\n\n\t\tpanelItems = panelItems.filter((key) => key !== selectedItem);\n\t}\n\n\tpanelItems = panelItems\n\t\t.map((f) => {\n\t\t\tconst fieldValues = fields[f];\n\t\t\tconst item = {\n\t\t\t\tname: f,\n\t\t\t\trowId: f,\n\t\t\t\t...fieldValues,\n\t\t\t};\n\n\t\t\tif (itemContentType) {\n\t\t\t\titem.panelItemContentType = itemContentType;\n\t\t\t}\n\n\t\t\treturn item;\n\t\t})\n\t\t.sort((a, b) => a.displayValue - b.displayValue);\n\n\treturn prefixPanelItem ? [prefixPanelItem, ...panelItems] : panelItems;\n};\n\nexport default getPanelItems;\n","import cuid from 'cuid';\n\nimport createPanelModel from './createPanelModel';\n\nconst getPanels = (metadata, path, leafPathSource) => {\n\tif (!metadata) return [];\n\n\tlet panels = [];\n\tconst currentPath = [];\n\tif (path && path.length > 0) {\n\t\tpanels = path.map(({ field, parent }, i) => {\n\t\t\tconst newPanel = createPanelModel({\n\t\t\t\tid: cuid(),\n\t\t\t\tfields: metadata[parent] || {},\n\t\t\t\tsource: parent,\n\t\t\t\tselectedItem: field,\n\t\t\t\tpanelIndex: i,\n\t\t\t});\n\t\t\tif (field) currentPath.push(field);\n\t\t\treturn newPanel;\n\t\t});\n\t}\n\n\tif (leafPathSource) {\n\t\tconst fields = metadata[leafPathSource];\n\t\tconst leafPanel = createPanelModel({\n\t\t\tid: cuid(),\n\t\t\tfields: fields || {},\n\t\t\tsource: leafPathSource,\n\t\t\tselectedItem: undefined,\n\t\t\tpanelIndex: Object.keys(panels).length,\n\t\t});\n\n\t\tleafPanel.loading = !fields;\n\n\t\tpanels.push(leafPanel);\n\t}\n\n\treturn panels;\n};\n\nexport const getOpenedPanelsCount = (path, leafPathSource) => {\n\tlet openedPanelsCount = 0;\n\tif (leafPathSource) openedPanelsCount += 1;\n\tif (path) openedPanelsCount += path.length;\n\n\treturn openedPanelsCount;\n};\n\nexport default getPanels;\n","export const contains = (val, searchTerm) => {\n\tif (!val || !searchTerm) return false;\n\n\treturn val.toLowerCase().includes(searchTerm.toLowerCase());\n};\n\nconst searchCriteria = [\n\t{\n\t\tmatcher: (searchTerm, { displayValue }) =>\n\t\t\tcontains(displayValue, searchTerm),\n\t\torder: 100,\n\t},\n\t{\n\t\tmatcher: (searchTerm, { secondaryValue }) =>\n\t\t\tcontains(secondaryValue, searchTerm),\n\t\torder: 200,\n\t},\n];\n\nconst partitionMatches = (fieldKey, field, searchTerm, resultPartsMap) => {\n\tconst updatedMap = new Map(resultPartsMap);\n\n\tsearchCriteria.forEach(({ matcher, order }) => {\n\t\tif (!updatedMap.get(order)) updatedMap.set(order, {});\n\n\t\tif (matcher(searchTerm, field)) updatedMap.get(order)[fieldKey] = field;\n\t});\n\n\treturn updatedMap;\n};\n\nconst searchFields = (fields, searchTerm) => {\n\tlet resultPartsMap = new Map();\n\tconst fieldKeys = Object.keys(fields);\n\tfieldKeys.forEach((fieldKey) => {\n\t\tresultPartsMap = partitionMatches(\n\t\t\tfieldKey,\n\t\t\tfields[fieldKey],\n\t\t\tsearchTerm,\n\t\t\tresultPartsMap\n\t\t);\n\t});\n\n\tconst resultPartKeys = Array.from(resultPartsMap.keys()).sort();\n\tconst result = {};\n\tresultPartKeys.forEach((partKey) => {\n\t\tconst part = resultPartsMap.get(partKey);\n\t\tObject.keys(part).forEach((key) => {\n\t\t\tresult[key] = part[key];\n\t\t});\n\t});\n\n\treturn result;\n};\n\nexport default searchFields;\n","import get from 'lodash/get';\n\nimport { getCombinedPath } from '../../behaviors/dotWalk/util';\nimport {\n\tBREADCRUMB_SEPARATOR_BUTTON_CLICKED,\n\tDOTWALK_TRIGGER_BUTTON,\n\tPATH_UPDATED,\n} from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nimport { breadcrumbTrimmedHandler } from './breadcrumbHandlers';\nimport { panelItemButtonClickHandler } from './panelHandlers';\nimport { getOpenedPanelsCount, getPanels } from './util';\n\nconst ariaLiveMessageHandler = ({\n\taction: {\n\t\tpayload: { message },\n\t},\n\tupdateState,\n}) => {\n\tupdateState({\n\t\tariaLiveMessage: message,\n\t});\n};\n\nconst navigationPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { panelItemContentType, path },\n\t\t},\n\t\taction,\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\taction.stopPropagation();\n\tupdateState({\n\t\tcurrentContent: panelItemContentType,\n\t});\n\n\tconst field = get(path, '[0].field', '');\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath: field,\n\t\tcontentType: panelItemContentType,\n\t});\n};\n\nconst contentPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path },\n\t\t},\n\t\tstate: { navigationPath, currentContent },\n\t\taction,\n\t\tdispatch,\n\t} = coeffects;\n\taction.stopPropagation();\n\n\tconst newPath = [...navigationPath, ...path];\n\tconst combinedPath = getCombinedPath(newPath);\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath: newPath,\n\t\tcombinedPath,\n\t\tcontentType: currentContent,\n\t});\n};\n\nconst buttonIconicClickHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\n\tswitch (payload.type) {\n\t\tcase BREADCRUMB_SEPARATOR_BUTTON_CLICKED:\n\t\t\tbreadcrumbTrimmedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase DOTWALK_TRIGGER_BUTTON:\n\t\t\tpanelItemButtonClickHandler(coeffects);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst updateErrorStateHandler = ({ properties: { error }, updateState }) => {\n\tif (error) {\n\t\tupdateState({ error });\n\t}\n};\n\nconst componentPropertyChangedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tsearchInputFocused,\n\t\t\tcurrentContent,\n\t\t\tproperties: { metadata, dotWalkPath, leafPathSource, contentType },\n\t\t},\n\t\taction:{\n\t\t\tpayload: {\n\t\t\t\tname\n\t\t\t}\n\t\t}\n\t} = coeffects;\n\n\tupdateErrorStateHandler(coeffects);\n\n\tconst navigationPath = dotWalkPath ? dotWalkPath.slice(0, 1) : [];\n\tconst contentPath = dotWalkPath ? dotWalkPath.slice(1) : [];\n\tconst panels = getPanels(metadata, dotWalkPath, leafPathSource);\n\n\tlet openedPanelsCount = getOpenedPanelsCount(dotWalkPath, leafPathSource);\n\tif (contentType === panelItemContentTypes.VARIABLES) {\n\t\topenedPanelsCount = Math.min(openedPanelsCount, 2);\n\t}\n\n\tconst shouldUpdateCurrentContent =\n\t\t(!contentType && !currentContent) || contentType || currentContent;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'currentContent',\n\t\t\tvalue:\n\t\t\t\tcontentType ||\n\t\t\t\tcurrentContent ||\n\t\t\t\tpanelItemContentTypes.FIELD_METADATA,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: shouldUpdateCurrentContent,\n\t\t},\n\t\t{\n\t\t\tpath: 'activePanelIndex',\n\t\t\tvalue: searchInputFocused ? -1 : openedPanelsCount - 1,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'error',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'panels',\n\t\t\tvalue: panels,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'searchTerm',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: name === 'dotWalkPath'\n\t\t},\n\t\t{\n\t\t\tpath: 'navigationPath',\n\t\t\tvalue: navigationPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'contentPath',\n\t\t\tvalue: contentPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'openedPanelsCount',\n\t\t\tvalue: openedPanelsCount,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport {\n\tariaLiveMessageHandler,\n\tbuttonIconicClickHandler,\n\tcomponentPropertyChangedHandler,\n\tupdateErrorStateHandler,\n\tgetPanels,\n\tnavigationPathUpdatedHandler,\n\tcontentPathUpdatedHandler,\n};\n","import get from 'lodash/get';\n\nimport getBehaviorOptions from '../../../common/getBehaviorOptions';\n\nconst defaultOptions = {\n\tgetMetadata: (coeffects) => (path = 'metadata') => {\n\t\tif (!coeffects || !coeffects.state) return;\n\t\treturn get(coeffects.state, path);\n\t},\n\tupdateMetadata: (coeffects) => (metadata, path = 'metadata') => {\n\t\tif (!coeffects || !coeffects.updateState) return;\n\t\tconst { updateState } = coeffects;\n\t\tupdateState({ path, value: metadata, operation: 'merge' });\n\t},\n\tupdateDotWalkConfig: (coeffects) => (dotWalkConfig) => {\n\t\tif (!coeffects || !coeffects.updateState) return;\n\t\tconst { updateState } = coeffects;\n\t\tupdateState({\n\t\t\tpath: 'dotWalkConfig',\n\t\t\tvalue: dotWalkConfig,\n\t\t\toperation: 'merge',\n\t\t});\n\t},\n};\n\nexport default getBehaviorOptions(defaultOptions);\n","/**\n * Utility function to get the variable search metadata from the metadata object\n * @param {object} metadata\n * @param {string} searchTerm\n * @returns {object}\n */\nexport const getVariablesSearchMetadata = (metadata, searchTerm) => {\n\tconst cache = metadata?.variables_search || {};\n\n\tif (typeof searchTerm === 'string') {\n\t\treturn cache[searchTerm] || {};\n\t}\n\n\treturn cache;\n};\n","import isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { METADATA_VARIABLES_SEARCH_FETCH_QUERY } from '../../behaviors/dotWalk/actions';\nimport { getVariablesSearchMetadata } from '../../behaviors/metadata/util';\nimport { ARIA_LIVE_MESSAGE_UPDATED } from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nimport { searchFields } from './util';\n\nconst arrowDownHandler = ({ state, host, updateState }) => {\n\tconst { searchInputFocused, activePanelIndex } = state;\n\n\tif (searchInputFocused) {\n\t\tconst input = host.nowRootNode.querySelector('input');\n\t\tif (input) input.blur();\n\t\tupdateState({ searchInputFocused: false, activePanelIndex: 0 });\n\t} else if (activePanelIndex === -1) {\n\t\t// this handles the case where they may be tabbed on a breadcrumb\n\t\tupdateState({ activePanelIndex: 0 });\n\t}\n};\n\nconst getPanelSearchResultMessage = (panelCount, source) =>\n\tt('{0} matching results for {1} panel. ', panelCount, source);\n\nconst getAriaLiveSearchResultText = (updatedPanels) => {\n\tlet totalSearchResultCount = 0;\n\tlet combinedResultMessage = '';\n\n\tconst searchResultCountAccumulator = ({ computedFields, source }) => {\n\t\tconst amount = Object.keys(computedFields).length;\n\t\ttotalSearchResultCount += amount;\n\t\tcombinedResultMessage += getPanelSearchResultMessage(amount, source);\n\t};\n\n\tupdatedPanels.forEach(searchResultCountAccumulator);\n\n\tconst searchResults = t(\n\t\t'Filtered to show {0} matching results. {1}',\n\t\ttotalSearchResultCount,\n\t\tcombinedResultMessage\n\t);\n\n\treturn searchResults;\n};\n\nconst getSearchFilteringMessage = (state, searchTerm, updatedPanels) => {\n\tlet searchResultMessage;\n\tif (state.searchTerm && searchTerm === '') {\n\t\tsearchResultMessage = t('Filter is now off');\n\t} else if (state.searchTerm && searchTerm === null) {\n\t\tsearchResultMessage = t(\n\t\t\t'Filter is now off. {0}',\n\t\t\tstate.ariaLiveMessage\n\t\t);\n\t} else if (searchTerm) {\n\t\tsearchResultMessage = getAriaLiveSearchResultText(updatedPanels);\n\t} else {\n\t\tsearchResultMessage = null;\n\t}\n\n\treturn searchResultMessage;\n};\n\n// Takes all DW panels that will be displayed and filters them with the search term\nconst getUpdatedPanels = (panels, searchTerm) => {\n\treturn panels.map((panel) => {\n\t\tconst { fields } = panel;\n\n\t\tconst computedFields = searchTerm\n\t\t\t? searchFields(fields, searchTerm)\n\t\t\t: undefined;\n\n\t\treturn { ...panel, computedFields, activeIndex: 0 };\n\t});\n};\n\nconst searchTermUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { contentType },\n\t} = coeffects;\n\n\tswitch (contentType) {\n\t\tcase panelItemContentTypes.VARIABLES:\n\t\t\thandleVariablesSearch(coeffects);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thandleFieldSearch(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleFieldSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { searchTerm },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { panels } = state;\n\tconst updatedPanels = getUpdatedPanels(panels, searchTerm);\n\n\tconst searchResultAriaLiveMessage = getSearchFilteringMessage(\n\t\tstate,\n\t\tsearchTerm,\n\t\tupdatedPanels\n\t);\n\n\tif (searchResultAriaLiveMessage)\n\t\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\t\tmessage: searchResultAriaLiveMessage,\n\t\t});\n\n\tupdateState({\n\t\tsearchTerm,\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst handleVariablesSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { searchTerm },\n\t\t},\n\t\tproperties: { metadata },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst searchTermCache = getVariablesSearchMetadata(metadata, searchTerm);\n\n\t// Fetch for searchTerm metadata if no existing cache\n\tif (isEmpty(searchTermCache)) {\n\t\tdispatch(METADATA_VARIABLES_SEARCH_FETCH_QUERY, { searchTerm });\n\t}\n\n\tupdateState({\n\t\tsearchTerm,\n\t});\n};\n\nconst searchInputBlurredHandler = ({\n\tupdateState,\n\tstate: { searchInputFocused },\n}) => {\n\tif (searchInputFocused) {\n\t\tupdateState({ searchInputFocused: false });\n\t}\n};\n\nconst searchInputFocusedHandler = ({ updateState }) => {\n\tupdateState({ searchInputFocused: true, activePanelIndex: -1 });\n};\n\nexport {\n\tarrowDownHandler,\n\tsearchInputBlurredHandler,\n\tsearchInputFocusedHandler,\n\tsearchTermUpdatedHandler,\n};\n","import {\n\tACTIVE_PANEL_UPDATED,\n\tCONTENT_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tDOTWALK_TRIGGER_BUTTON,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_INPUT_FOCUSED,\n} from '../now-dot-walk/actions';\nimport { panelItemButtonClickHandler } from '../now-dot-walk/state';\nimport { updateErrorStateHandler } from '../now-dot-walk/state/globalHandlers';\nimport {\n\tgetPanels,\n\tsearchFields,\n\tgetPanelItems,\n} from '../now-dot-walk/state/util';\nimport createPath from '../now-dot-walk/state/util/createPath';\nimport { getSelectedItemIndex } from '../now-dot-walk/state/util/getItemIndex';\n\nconst buttonIconicClickHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\taction,\n\t} = coeffects;\n\n\t// TODO: BAD HACK for now.. :( should be able to clean it up later\n\tpayload.panelIndex += 1;\n\tswitch (payload.type) {\n\t\tcase DOTWALK_TRIGGER_BUTTON:\n\t\t\tpanelItemButtonClickHandler(coeffects);\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\taction.stopPropagation();\n};\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { panelIndex, field, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkPath: path },\n\t} = coeffects;\n\n\tlet updatedPath;\n\tif (panelIndex > path.length - 1) {\n\t\tupdatedPath = [...path, createPath(payload)];\n\t} else {\n\t\tupdatedPath = path.slice(0, panelIndex + 1);\n\t\tconst lastUpdatedPathItem = updatedPath[updatedPath.length - 1];\n\n\t\tupdatedPath[updatedPath.length - 1] = {\n\t\t\t...lastUpdatedPathItem,\n\t\t\tdisplayValue,\n\t\t\tfield,\n\t\t};\n\t}\n\n\taction.stopPropagation();\n\n\tdispatch(CONTENT_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t});\n};\n\nconst componentPropertyChangedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tleafPathSource,\n\t\t\tactivePanelIndex,\n\t\t\terror,\n\t\t\tsearchTerm,\n\t\t},\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tstate: { panels },\n\t} = coeffects;\n\tupdateErrorStateHandler(coeffects);\n\tlet updatedPanels = panels;\n\n\tif (\n\t\t!name ||\n\t\tname === 'metadata' ||\n\t\tname === 'dotWalkPath' ||\n\t\tname === 'leafPathSource' ||\n\t\tname === 'searchTerm' ||\n\t\tname === 'activePanelIndex'\n\t) {\n\t\tupdatedPanels = getPanels(metadata, dotWalkPath, leafPathSource).map(\n\t\t\t(panel) => {\n\t\t\t\tconst { fields, selectedItem } = panel;\n\t\t\t\tconst computedFields = searchTerm\n\t\t\t\t\t? searchFields(fields, searchTerm)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst panelItems = getPanelItems(\n\t\t\t\t\tfields,\n\t\t\t\t\tcomputedFields,\n\t\t\t\t\tselectedItem\n\t\t\t\t);\n\n\t\t\t\tlet activeItemIndex;\n\t\t\t\tif (name === 'activePanelIndex' && value > previousValue) {\n\t\t\t\t\tactiveItemIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tactiveItemIndex = getSelectedItemIndex(\n\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\tpanelItems\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...panel,\n\t\t\t\t\tcomputedFields,\n\t\t\t\t\tactiveIndex: activeItemIndex,\n\t\t\t\t\titems: panelItems,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\t}\n\n\tupdateState({\n\t\terror,\n\t\tactivePanelIndex: activePanelIndex !== -1 ? activePanelIndex - 1 : -1,\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowDownHandler = (coeffects) => {\n\tconst {\n\t\tstate: { panels, activePanelIndex },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst activePanel = panels[activePanelIndex];\n\tconst { items } = activePanel;\n\tlet { activeIndex: updatedIndex } = activePanel;\n\n\tif (items.length - 1 > updatedIndex) {\n\t\tupdatedIndex += 1;\n\t}\n\n\tconst updatedPanels = [...panels];\n\tupdatedPanels[activePanelIndex] = {\n\t\t...activePanel,\n\t\tactiveIndex: updatedIndex,\n\t};\n\n\tupdateState({\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowUpHandler = ({ state, updateState, dispatch }) => {\n\tconst { activePanelIndex, panels } = state;\n\tconst { activeIndex } = panels[activePanelIndex];\n\n\t// move control back to search if we are pressing up arrow at the top of a panel\n\tif (activeIndex === 0) {\n\t\tdispatch(SEARCH_INPUT_FOCUSED);\n\t\treturn;\n\t}\n\n\tlet updatedIndex = activeIndex;\n\tif (activeIndex !== 0) updatedIndex -= 1;\n\n\tconst updatedPanels = [...panels];\n\tupdatedPanels[activePanelIndex].activeIndex = updatedIndex;\n\n\tupdateState({\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowRightHandler = ({ state, dispatch }) => {\n\tconst {\n\t\tproperties: { activePanelIndex },\n\t\tactivePanelIndex: currentPanelIndex,\n\t\tpanels,\n\t} = state;\n\n\tconst { items, activeIndex, selectedItem, source, panelIndex } = panels[\n\t\tcurrentPanelIndex\n\t];\n\tconst panelItems = items[activeIndex];\n\n\tif (!panelItems) {\n\t\treturn;\n\t}\n\n\tconst { displayValue, referenceDataKey, isReference, name } = panelItems;\n\n\tconst actionToDispatch = {\n\t\tactionName: DOT_WALK_TRIGGERED,\n\t\tpayload: {\n\t\t\tfieldName: name,\n\t\t\tdisplayValue,\n\t\t\treferenceSource: referenceDataKey,\n\t\t\tsource,\n\t\t\tpathIndex: panelIndex + 1,\n\t\t},\n\t};\n\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: activePanelIndex + 1,\n\t\tisDotWalkedFieldSelected: name === selectedItem,\n\t\tactionToDispatch: isReference ? actionToDispatch : null,\n\t});\n};\n\nconst enterPressedHandler = ({ state, dispatch }) => {\n\tconst { activePanelIndex, panels } = state;\n\tconst { items: activePanelItems, activeIndex, source } = panels[\n\t\tactivePanelIndex\n\t];\n\tconst { displayValue, disabled, name } = activePanelItems[activeIndex];\n\n\tif (!disabled) {\n\t\tdispatch(PANEL_ITEM_CLICKED, {\n\t\t\tdisplayValue,\n\t\t\tfield: name,\n\t\t\tpanelIndex: activePanelIndex,\n\t\t\tsource,\n\t\t});\n\t}\n};\n\nexport {\n\tenterPressedHandler,\n\tarrowDownHandler,\n\tarrowRightHandler,\n\tarrowUpHandler,\n\tbuttonIconicClickHandler,\n\tpanelItemClickHandler,\n\tcomponentPropertyChangedHandler,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\n\n/**\n * NoResultsPanel component\n */\nconst NoResultsPanel = () => {\n\treturn (\n\t\t<div className=\"ndw-panel\" data-testId=\"ndw-panel\">\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-panel-content no-results\"\n\t\t\t\tdata-testId=\"no_results_panel\"\n\t\t\t>\n\t\t\t\t{t('No results')}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default NoResultsPanel;\n\nexport const NoSearchResultsPanel = ({ searchTerm = '' }) => {\n\tconst label = t('No results found for \"{searchTerm}\"', { searchTerm });\n\treturn (\n\t\t<div className=\"ndw-panel\" data-testId=\"ndw-panel\">\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-panel-content no-results\"\n\t\t\t\tdata-testId=\"no_results_panel\"\n\t\t\t>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tlevel: 5,\n\t\t\t\t\t}}\n\t\t\t\t\tcontent={t('Try searching for something else')}\n\t\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","export const METADATA_PATH_FETCH_FAILED = 'METADATA_PATH_FETCH_FAILED';\nexport const METADATA_PATH_FETCH_STARTED = 'METADATA_PATH_FETCH_STARTED';\nexport const METADATA_PATH_FETCH_SUCCEEDED = 'METADATA_PATH_FETCH_SUCCEEDED';\n\nexport const METADATA_TABLE_FETCH_FAILED = 'METADATA_TABLE_FETCH_FAILED';\nexport const METADATA_TABLE_FETCH_STARTED = 'METADATA_TABLE_FETCH_STARTED';\nexport const METADATA_TABLE_FETCH_SUCCEEDED = 'METADATA_TABLE_FETCH_SUCCEEDED';\n\nexport const BREADCRUMB_PATH_UPDATED = 'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\n\nexport const CONNECTED_PATH_UPDATED = 'NOW_DOT_WALK_CONNECTED#PATH_UPDATED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const RTL_DIRECTION = 'rtl';\n\nexport const QUESTIONS_DISPLAY_VALUE = t('Questions');\nexport const VARIABLES_DISPLAY_VALUE = t('Variables');\nexport const VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE = t(\n\t'Select from variables and variable sets'\n);\n","import '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\n\nimport {\n\tDOTWALK_TRIGGER_BUTTON,\n\tNOW_BUTTON_ICONIC_CLICKED,\n} from '../../../now-dot-walk/actions';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport { RTL_DIRECTION } from '../../../common/constants';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport styles from './_panelItemArrow.scss';\nimport { t } from 'sn-translate';\n\nconst RIGHT = 'right';\nconst LEFT = 'left';\n\nconst EXPAND_LABEL = t('Expand');\n\n/**\n * Handles Dotwalk arrow click\n * @param {object} options\n * @param {object} options.dispatch - Dispatch function to update app state\n * @param {string} options.source - Source of the panel this item belongs to\n * @param {string} options.fieldName - Name of the PanelItems field\n * @param {string} options.panelIndex - Index of the panel this item belongs to\n * @param {string} options.displayValue - Display value of the panel item\n * @param {string} options.panelItemContentType - Content type to render for field selection\n */\nconst handleDotWalkButtonClick = (options) => {\n\tconst {\n\t\tdispatch,\n\t\tsource,\n\t\tfieldName,\n\t\tpanelIndex,\n\t\tdisplayValue,\n\t\tpanelItemContentType,\n\t} = options;\n\n\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\tsource,\n\t\tfieldName,\n\t\tpanelIndex,\n\t\tdisplayValue,\n\t\tpanelItemContentType,\n\t\ttype: DOTWALK_TRIGGER_BUTTON,\n\t});\n};\n\nconst handleIconVersion = (dir) => {\n\tconst chevronDirection = dir === RTL_DIRECTION ? LEFT : RIGHT;\n\tconst iconVersion = `caret-${chevronDirection}-fill`;\n\n\treturn iconVersion;\n};\n\nconst getDotWalkButtonClassName = (panelIndex, fieldName) =>\n\t`ndw-panel-content-item-icon panel-${panelIndex}-panelItem-${fieldName}-dotWalkButton`;\n\nconst view = (state, helpers) => {\n\tconst {\n\t\tproperties: {\n\t\t\tariaLabel,\n\t\t\tariaExpanded,\n\t\t\tdir,\n\t\t\tsource,\n\t\t\tfieldName,\n\t\t\tpanelIndex,\n\t\t\tdisplayValue,\n\t\t\tpanelItemContentType,\n\t\t},\n\t\ttargetRef,\n\t} = state;\n\tconst { dispatch, updateState } = helpers;\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() => updateState({ targetRef: ref }));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-icon\n\t\t\t\tclassName={getDotWalkButtonClassName(panelIndex, fieldName)}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-expanded={ariaExpanded}\n\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\ticon={handleIconVersion(dir)}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\thandleDotWalkButtonClick({\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tfieldName,\n\t\t\t\t\t\tpanelIndex,\n\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\tpanelItemContentType,\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\tcontent={EXPAND_LABEL}\n\t\t\t\tdelay={500}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-dot-walk-panel-item-arrow', {\n\tproperties: {\n\t\tariaLabel: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tariaExpanded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\tdir: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tpanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tpanelItemContentType: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tstyles,\n});\n","import './PanelItemArrow';\n\nimport { t } from 'sn-translate';\n\nimport { PANEL_ITEM_CLICKED } from '../../../now-dot-walk/actions';\n\n/**\n * Construct class name based on component state\n * @param {boolean} selected - Represents whether or not the item is selected\n * @param {boolean} active - Represents whether or not the item is active\n * @param {boolean} disabled - Represents whether or not the item is disabled\n * @param {string} panelIndex - Represents the index of the panel from the StackedPanel\n * @param {string} fieldName - Represents the name of the field this panel represents\n * @param {string} secondaryValue - Represents the optional secondary value derived from the transformMetaData function\n */\nconst getClassName = (\n\tselected,\n\tactive,\n\tdisabled,\n\tpanelIndex,\n\tfieldName,\n\tsecondaryValue,\n\tisReference\n) => {\n\tconst baseClassName = `ndw-panel-content-item`;\n\tconst selectedClassName = selected ? ' is-selected' : '';\n\tconst activeClassName = active ? ' is-active' : '';\n\tconst disabledClassName = disabled ? ' is-disabled' : '';\n\tconst testIdClassName = ` panel-${panelIndex}-panelItem-${fieldName}`;\n\tconst secondaryValueClassName = secondaryValue ? ` secondary-value` : '';\n\tconst dotwalkableClassName = isReference ? ` dot-walkable` : '';\n\n\treturn `${baseClassName}${selectedClassName}${disabledClassName}${activeClassName}${testIdClassName}${secondaryValueClassName}${dotwalkableClassName}`;\n};\n\nconst getSecondaryLabelClassName = (leadingImageSrc) => {\n\treturn leadingImageSrc\n\t\t? 'ndw-panel-content-item-secondary-value-image'\n\t\t: 'ndw-panel-content-item-secondary-value';\n};\n\n/**\n * Handles item click\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n * @param {string} displayValue - Display value of the panel item\n * @param {string} field - Name of the PanelItems field\n * @param {string} panelIndex - Index of the panel this item belongs to\n * @param {string} source - Source of the panel this item belongs to\n * @param {string} disabled - Indicates whether the item is disabled or not\n */\nconst handleItemClick = (\n\tdispatch,\n\tpanelItem,\n\tfield,\n\tpanelIndex,\n\tsource\n) => () => {\n\tconst { disabled } = panelItem;\n\tif (disabled) return;\n\tdispatch(PANEL_ITEM_CLICKED, { ...panelItem, field, panelIndex, source });\n};\n\nconst scrollIntoViewIfNeeded = (active) => ({ elm }) => {\n\tif (!active) return;\n\n\tif (elm.scrollIntoViewIfNeeded) {\n\t\telm.scrollIntoViewIfNeeded(false);\n\t\treturn;\n\t}\n\telm.scrollIntoView(false);\n};\n\n/**\n * Item rendered inside a panel\n * @param {Object} props - Component props\n * @param {boolean} props.active - Indicated whether or not the item is active\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.dir - The directionality of the text of the document\n * @param {string} props.disabled - Indicated whether or not the item is disabled\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {string} props.displayValue - Display value of the panel item\n * @param {string} props.fieldName - Name of the field this panelItem references\n * @param {string} props.hidden - Indicates whether or not the panel item should be displayed\n * @param {string} props.hintText - Text to be displayed in the title attribute of the panel text\n * @param {boolean} props.isReference - Indicates whether or not the item has references\n * @param {boolean} props.leadingImageSrc - Source of the image used in the panel item\n * @param {string} props.panelItemContentType - Content type to render for field selection\n * @param {boolean} props.selected - Indicates whether or not the item is selected\n * @param {boolean} props.panelIndex - Index of the panel items' parent in the group\n * @param {string} props.source - Name of the source metadata of this PanelItem\n */\nconst PanelItem = ({\n\tactive,\n\tariaLabel,\n\tdir,\n\tdisabled,\n\tdispatch,\n\tdisplayValue,\n\tsecondaryValue,\n\tfieldName,\n\thidden,\n\thintText,\n\tid,\n\tisReference,\n\tleadingImageSrc,\n\tpanelItem,\n\tpanelIndex,\n\tpanelItemContentType,\n\tselected,\n\tsource,\n\thideDotWalking,\n}) => {\n\tif (hidden) return null;\n\n\t// \"true\" when property is disabled, \"false\" otherwise\n\t// Force to a \"false\" string if undefined\n\tconst ariaDisabled = disabled === undefined ? 'false' : `${disabled}`;\n\n\t// If the property can be dotwalked, the screen reader should indicate the\n\t// state the property's content panel.\n\tconst ariaExpanded = isReference && !hideDotWalking ? `${selected}` : null;\n\n\t// \"true\" when property is disabled, \"false\" otherwise\n\tconst ariaSelected = `${selected}`;\n\n\tconst dotwalkFieldLabel =\n\t\tisReference && !hideDotWalking\n\t\t\t? t(' Press Right Arrow to expand options')\n\t\t\t: '';\n\n\treturn (\n\t\t<li\n\t\t\tdata-testId=\"ndw-panel-content-item\"\n\t\t\tdata-testFieldName={fieldName}\n\t\t\tdata-testDisplayValue={displayValue}\n\t\t\tid={id}\n\t\t\trole=\"option\"\n\t\t\taria-label={`${displayValue}${dotwalkFieldLabel}`}\n\t\t\taria-disabled={ariaDisabled}\n\t\t\taria-selected={ariaSelected}\n\t\t\tclassName={getClassName(\n\t\t\t\tselected,\n\t\t\t\tactive,\n\t\t\t\tdisabled,\n\t\t\t\tpanelIndex,\n\t\t\t\tfieldName,\n\t\t\t\tsecondaryValue,\n\t\t\t\tisReference\n\t\t\t)}\n\t\t\ton-click={handleItemClick(\n\t\t\t\tdispatch,\n\t\t\t\tpanelItem,\n\t\t\t\tfieldName,\n\t\t\t\tpanelIndex,\n\t\t\t\tsource\n\t\t\t)}\n\t\t\thook-update={scrollIntoViewIfNeeded(active)}\n\t\t>\n\t\t\t{leadingImageSrc && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"ndw-panel-content-item-leading-image\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${leadingImageSrc})`,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName=\"ndw-panel-content-item-label\"\n\t\t\t\ttitle={t('{0}', hintText) || displayValue}\n\t\t\t>\n\t\t\t\t{displayValue}\n\t\t\t\t{secondaryValue ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={getSecondaryLabelClassName(leadingImageSrc)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{secondaryValue}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t<span className=\"sr-only\">{dotwalkFieldLabel}<\/span>\n\t\t\t<\/span>\n\t\t\t{isReference && !hideDotWalking ? (\n\t\t\t\t<sn-dot-walk-panel-item-arrow\n\t\t\t\t\tariaLabel={ariaLabel}\n\t\t\t\t\tariaExpanded={ariaExpanded}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\tpanelIndex={panelIndex}\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tpanelItemContentType={panelItemContentType}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/li>\n\t);\n};\n\nexport default PanelItem;\n","import { t } from 'sn-translate';\n\n/**\n * Heading item rendered inside a panel\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.displayValue - Display value of the panel item\n */\nconst PanelItemHeading = ({ ariaLabel, displayValue, hidden, hintText }) =>\n\thidden ? null : (\n\t\t<li aria-label={ariaLabel} className=\"ndw-panel-content-item-heading\">\n\t\t\t<span\n\t\t\t\tclassName=\"ndw-panel-content-item-label\"\n\t\t\t\ttitle={t('{0}', hintText) || displayValue}\n\t\t\t>\n\t\t\t\t{displayValue}\n\t\t\t<\/span>\n\t\t<\/li>\n\t);\n\nexport default PanelItemHeading;\n","import '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport PanelItem from './PanelItem';\nimport PanelItemHeading from './PanelItemHeading';\n\n/**\n * Render function for list items inside of a Panel\n * @param {string} ariaLabel - Aria label used for accessibility requirements\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n * @param {[{name: string, displayValue: string, isReference: boolean}]]} items - Value to be mapped to list items\n * @param {string} selectedItem - Name of the list item to receive active state classes\n * @param {string} activeIndex - Index of the panel item that has an active state\n * @param {string} active - Represents whether or not the panel is active\n * @param {boolean} panelId - Id of the panel\n * @param {boolean} panelIndex - Index of the panel in the group\n * @param {string} props.source - Name of the source metadata of this Panel\n * @param {string} dir - The directionality of the text of the document\n * @param {string} hostId - Id of the host element\n */\nconst renderPanelItems = (\n\tdispatch,\n\titems,\n\tselectedItem,\n\tactiveIndex,\n\tactive,\n\tpanelId,\n\tpanelIndex,\n\tsource,\n\tdir,\n\thideDotWalking,\n\thostId\n) =>\n\titems.map((panelItem, i) => {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tdisplayValue,\n\t\t\tsecondaryValue,\n\t\t\thidden,\n\t\t\thintText,\n\t\t\tisReference,\n\t\t\tisHeading,\n\t\t\tleadingImageSrc,\n\t\t\tname,\n\t\t\trowId,\n\t\t\tpanelItemContentType,\n\t\t} = panelItem;\n\n\t\treturn isHeading ? (\n\t\t\t<PanelItemHeading\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tariaLabel={t('{0} heading', displayValue)}\n\t\t\t/>\n\t\t) : (\n\t\t\t<PanelItem\n\t\t\t\tactive={active && i === activeIndex}\n\t\t\t\tariaLabel={t('Expand reference fields for {0} field', name)}\n\t\t\t\tdir={dir}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tsecondaryValue={secondaryValue}\n\t\t\t\tfieldName={name}\n\t\t\t\thidden={hidden}\n\t\t\t\thintText={hintText}\n\t\t\t\tid={`${hostId}-${panelIndex}-${i}`}\n\t\t\t\tisReference={isReference}\n\t\t\t\tkey={name}\n\t\t\t\tleadingImageSrc={leadingImageSrc}\n\t\t\t\tpanelItem={panelItem}\n\t\t\t\tpanelIndex={panelIndex}\n\t\t\t\tpanelItemContentType={panelItemContentType}\n\t\t\t\tselected={rowId === selectedItem}\n\t\t\t\tsource={source}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t);\n\t});\n\n/**\n * Panel components\n * @param {{}} props - Component props\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {string} props.dir - The directionality of the text of the document\n * @param {[{name: string, displayValue: string, isReference: boolean}]} props.items - Value to be mapped to list items\n * @param {string} props.panelId - Id of the component\n * @param {string} props.loading - Loading state of the component\n * @param {string} props.selectedItem - Name of the list item to receive active state classes\n * @param {boolean} props.active - Indicates whether the panel is active\n * @param {boolean} props.panelIndex - Index of the panel in the group\n * @param {boolean} props.activeIndex - Index of the active panel item\n * @param {string} props.source - Name of the source metadata of this Panel\n */\nconst Panel = ({\n\tdispatch: d,\n\tdir,\n\tloading,\n\tactive,\n\thostId,\n\tpanelId,\n\tpanelIndex,\n\titems,\n\tselectedItem,\n\tactiveIndex,\n\tsource,\n\thideDotWalking,\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`ndw-panel panel-${panelIndex}`}\n\t\t\tdata-testId=\"ndw-panel\"\n\t\t>\n\t\t\t<div className=\"ndw-panel-content\">\n\t\t\t\t{loading ? (\n\t\t\t\t\t<div className=\"ndw-panel-content-loader\">\n\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\ttabIndex={active ? '0' : '-1'}\n\t\t\t\t\t\t\taria-label={t('Select')}\n\t\t\t\t\t\t\taria-activedescendant={`${hostId}-${panelIndex}-${activeIndex}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderPanelItems(\n\t\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\t\titems,\n\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\tpanelId,\n\t\t\t\t\t\t\t\tpanelIndex,\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t\thideDotWalking,\n\t\t\t\t\t\t\t\thostId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<slot name=\"panel-end\" />\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default Panel;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { DOT_WALK_TRIGGERED } from '../now-dot-walk-connected/actions';\nimport { PANEL_ITEM_CLICKED } from '../now-dot-walk/actions';\n\nimport baseStyle from './now-dot-walk.scss';\nimport view from './NowDotWalkPanel.view';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } = actionTypes;\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst element = createCustomElement('now-dot-walk-panel', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that a field was dot-walked\n\t\t *\n\t\t * @type {{fieldName: string, displayValue: string, referenceSource: string, source: string, pathIndex: number}}\n\t\t */\n\t\t[DOT_WALK_TRIGGERED]: {},\n\t\t/**\n\t\t * Indicates that the panel item was clicked\n\t\t *\n\t\t * @type {{displayValue: string, field: string, panelIndex: number, source: string}}\n\t\t */\n\t\t[PANEL_ITEM_CLICKED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Values to be mapped to list items\n\t\t * Required: No\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\tname: 'string',\n\t\t\t\t\trowId: 'string',\n\t\t\t\t\tdisplayValue: 'string',\n\t\t\t\t\tisReference: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Id of the component\n\t\t * Required: No\n\t\t */\n\t\tpanelId: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Loading state\n\t\t * Required: No\n\t\t */\n\t\tloading: {\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Name of the list item to receive active state classes\n\t\t * Required: No\n\t\t */\n\t\tselectedItem: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Indicates whether the panel is active.\n\t\t * This property is used for keyboard navigation\n\t\t * Required: No\n\t\t */\n\t\tactive: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Index of the panel in the group\n\t\t * Required: No\n\t\t */\n\t\tpanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel item\n\t\t * Required: No\n\t\t */\n\t\tactiveIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Name of the source metadata of this Panel\n\t\t * Required: No\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tbehaviors: [rtlBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { name, value },\n\t\t\t\t},\n\t\t\t\tproperties: { active },\n\t\t\t\tupdateState,\n\t\t\t} = coeffects;\n\n\t\t\t// When the panel is set to active, it should receive focus\n\t\t\tif (name === 'active' && value) {\n\t\t\t\tconst listElement = host.shadowRoot.querySelector('ul');\n\t\t\t\tif (listElement) listElement.focus();\n\t\t\t}\n\n\t\t\t// If the panel is active and has finished loading, it should receive focus\n\t\t\tif (name === 'loading' && !value && active) {\n\t\t\t\tconst listElement = host.shadowRoot.querySelector('ul');\n\t\t\t\tif (listElement) listElement.focus();\n\t\t\t}\n\n\t\t\tif (name === 'selectedItem' && value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'focusOnSelectedItem',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tproperties: { active, selectedItem },\n\t\t\t\tupdateState,\n\t\t\t\tstate: { focusOnSelectedItem },\n\t\t\t} = coeffects;\n\n\t\t\t// This is for the case in which a user has a search term and selects an item. We currently\n\t\t\t// remove the search term which causes the selected item to move out of view. This will move it\n\t\t\t// back into view, albeit with some jumpiness\n\t\t\tif (active && focusOnSelectedItem) {\n\t\t\t\tconst elm = host.shadowRoot.querySelector(\n\t\t\t\t\t`li[data-test-field-name=\"${selectedItem}\"]`\n\t\t\t\t);\n\t\t\t\tif (elm) {\n\t\t\t\t\telm.scrollIntoView({ block: 'nearest' });\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'focusOnSelectedItem',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tslots: {\n\t\t/**\n\t\t * Slot to add content at the bottom of the panel\n\t\t */\n\t\t'panel-end': {},\n\t},\n\tstyles: [baseStyle],\n\tview,\n});\n\nexport default element;\n","import '@servicenow/now-loader';\nimport NoResultsPanel from '../../../now-dot-walk/components/panel/NoResultsPanel';\nimport '../../../now-dot-walk-panel';\n\n/**\n * Render function for panels related to each path item\n * @param {(type: string, payload: {}) => void)} dispatch Dispatch function to update app state\n * @param {Object[]} panels - Value to be mapped to list items\n * @param {number} activePanelIndex - Index of the dot walk component's active panel\n * @param {string} error - Error message to be displayed\n * @param {string} searchTerm - Value of the search input\n * @param {string} dir - The directionality of the text of the document\n * */\nconst conditionallyRenderPanels = (\n\tdispatch,\n\tpanels,\n\tactivePanelIndex,\n\terror,\n\tsearchTerm,\n\tdir,\n\thideDotWalking\n) => {\n\tif (error) {\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel-error-container\">\n\t\t\t\t<span>{error}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn panels.map((p, i) => {\n\t\tconst { activeIndex, id, selectedItem, source, loading, items } = p;\n\n\t\tconst showNoResults =\n\t\t\tsearchTerm && (!items || (items && items.length === 0));\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{showNoResults ? (\n\t\t\t\t\t<NoResultsPanel />\n\t\t\t\t) : (\n\t\t\t\t\t<now-dot-walk-panel\n\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tactive={activePanelIndex === i}\n\t\t\t\t\t\tpanelId={id}\n\t\t\t\t\t\tpanelIndex={i}\n\t\t\t\t\t\tselectedItem={selectedItem}\n\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t});\n};\n\n/**\n * Component containing horizontally stacked panels\n * @param {Object} props - Component props\n * @param {number} props.activePanelIndex - Index of the currently active panel\n * @param {string} props.dir - The directionality of the text of the document\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {boolean} props.loading - Loading state for entire stacked panel\n * @param {Object[]} props.panels - Array of panels to be rendered\n * @param {string} props.error - Error message to be displayed\n * @param {string} props.searchTerm - Search input value\n */\nconst StackedPanel = ({\n\tactivePanelIndex,\n\tdir,\n\tdispatch,\n\terror,\n\tloading,\n\tpanels,\n\tsearchTerm,\n\thideDotWalking,\n}) => {\n\tif (loading)\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel\" data-testId=\"loading-panel\">\n\t\t\t\t<div className=\"ndw-stacked-panel-loader\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\n\treturn (\n\t\t<div className=\"ndw-stacked-panel-content\">\n\t\t\t{conditionallyRenderPanels(\n\t\t\t\tdispatch,\n\t\t\t\tpanels,\n\t\t\t\tactivePanelIndex,\n\t\t\t\terror,\n\t\t\t\tsearchTerm,\n\t\t\t\tdir,\n\t\t\t\thideDotWalking\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default StackedPanel;\n","import Panel from './components/panel/Panel';\n\nexport default (\n\t{\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tloading,\n\t\t\tactive,\n\t\t\tpanelId,\n\t\t\tpanelIndex,\n\t\t\titems,\n\t\t\tselectedItem,\n\t\t\tactiveIndex,\n\t\t\tsource,\n\t\t\thideDotWalking,\n\t\t\tnowId,\n\t\t},\n\t},\n\t{ dispatch }\n) => {\n\treturn (\n\t\t<Panel\n\t\t\tactiveIndex={activeIndex}\n\t\t\tdir={dir}\n\t\t\tdispatch={dispatch}\n\t\t\tloading={loading}\n\t\t\titems={items}\n\t\t\tactive={active}\n\t\t\thostId={nowId}\n\t\t\tpanelId={panelId}\n\t\t\tpanelIndex={panelIndex}\n\t\t\tselectedItem={selectedItem}\n\t\t\tsource={source}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t/>\n\t);\n};\n","import focusBehavior from '@servicenow/behavior-focus';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tkeyEventDefaultHandler,\n\tleftArrowPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_LEFT_ARROW_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\n\nimport {\n\tbuttonIconicClickHandler,\n\tpanelItemClickHandler,\n\tcomponentPropertyChangedHandler,\n\tarrowDownHandler,\n\tarrowRightHandler,\n\tenterPressedHandler,\n\tarrowUpHandler,\n} from './actionHandler';\nimport view from './NowDotWalkFieldContent.view';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst element = createCustomElement('now-dot-walk-field-content', {\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t\tdefault: -1,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: buttonIconicClickHandler,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t\t[SEARCH_LEFT_ARROW_PRESSED]: {\n\t\t\teffect: leftArrowPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\t\teffect: arrowDownHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_ENTER_PRESSED]: {\n\t\t\teffect: enterPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_RIGHT_ARROW_PRESSED]: {\n\t\t\teffect: arrowRightHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\t\teffect: arrowUpHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\tfocusBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t37,\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t39,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 37:\n\t\t\t\t\t\t\t\t// arrow-left\n\t\t\t\t\t\t\t\tdispatch(SEARCH_LEFT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 39:\n\t\t\t\t\t\t\t\t// arrow-right\n\t\t\t\t\t\t\t\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: -1,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle],\n});\n\nexport default element;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport isEmpty from 'lodash/isEmpty';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\n\nimport StackedPanel from './components/panel/StackedPanel';\n\nexport default (\n\t{\n\t\tactivePanelIndex,\n\t\tariaLiveMessage,\n\t\tpanels,\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tleafPathSource,\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tsearchTerm,\n\t\t\thideDotWalking,\n\t\t},\n\t\terror,\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading =\n\t\t(!dotWalkPath && !metadata && !leafPathSource) ||\n\t\t!metadata ||\n\t\tObject.keys(metadata).length === 0;\n\tconst shouldRender = !isEmpty(dotWalkPath) || leafPathSource;\n\n\treturn shouldRender ? (\n\t\t<Fragment>\n\t\t\t<StackedPanel\n\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdir={dir}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\tpath={dotWalkPath}\n\t\t\t\terror={error}\n\t\t\t\tloading={isLoading}\n\t\t\t\tpanels={panels}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t\t<AriaLiveRegion message={ariaLiveMessage} />\n\t\t<\/Fragment>\n\t) : null;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { getVariablesSearchMetadata } from '../behaviors/metadata/util';\nimport '../now-dot-walk-panel';\nimport { NoSearchResultsPanel } from '../now-dot-walk/components/panel/NoResultsPanel';\n\n// End of results message to show when no search term is used\nconst END_OF_RESULTS_MESSAGE = t('End of results.');\n// End of results message to show when a search term is used\nconst END_OF_SEARCHED_RESULTS_MESSAGE = t('End of result matching');\nconst FINDING_RESULTS_LABEL = t('Finding results');\nconst LOAD_MORE_LABEL = t('Load More');\nconst LOADING_MORE_LABEL = t('Loading More');\n\nexport default (\n\t{\n\t\tproperties: { dir, metadata, source, searchTerm: searchTermProp },\n\t\tactiveItemIndex,\n\t\tpanelItems,\n\t\tselectedItem,\n\t\tactivePanelIndex,\n\t\thideDotWalking,\n\t\tisLoadingMore,\n\t},\n\t{ dispatch }\n) => {\n\t// By default, searchTerm is intended to be null when the search input is empty on initally load\n\tconst searchTerm = searchTermProp === null ? '' : searchTermProp;\n\n\t// initial panel load\n\tconst isPanelLoading =\n\t\t!metadata || isEmpty(metadata) || !metadata.variables_search;\n\n\tconst isActive = activePanelIndex === 0;\n\tconst showNoResults = isEmpty(panelItems);\n\n\tconst searchMetadata = getVariablesSearchMetadata(metadata, searchTerm);\n\tconst { allRecordsSearched, lastVariableId } = searchMetadata;\n\n\t// Render search results loading state\n\tif (isEmpty(searchMetadata)) {\n\t\treturn (\n\t\t\t<div className=\"ndw-panel-loader\">\n\t\t\t\t<now-loader\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t? t('Finding results for \"{searchTerm}\"', {\n\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t: FINDING_RESULTS_LABEL\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\t// Render no search results\n\tif (showNoResults) {\n\t\treturn <NoSearchResultsPanel searchTerm={searchTerm} />;\n\t}\n\n\tlet message;\n\n\tif (!searchTerm) {\n\t\tmessage = END_OF_RESULTS_MESSAGE;\n\t} else {\n\t\tmessage = (\n\t\t\t<Fragment>\n\t\t\t\t{END_OF_SEARCHED_RESULTS_MESSAGE}\n\t\t\t\t<span className=\"search-term\">\n\t\t\t\t\t<span className=\"line-clamp\">\"{searchTerm}<\/span>\n\t\t\t\t\t<span>\"<\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-dot-walk-panel\n\t\t\t\ttabIndex={isActive ? '0' : '-1'}\n\t\t\t\tdir={dir}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tloading={isPanelLoading}\n\t\t\t\titems={panelItems}\n\t\t\t\tpanelIndex={0}\n\t\t\t\tsource={source}\n\t\t\t\tselectedItem={selectedItem}\n\t\t\t\tactiveIndex={activeItemIndex}\n\t\t\t\tactive={isActive}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t>\n\t\t\t\t<div className=\"ndw-panel-end\" slot=\"panel-end\">\n\t\t\t\t\t{!allRecordsSearched ? (\n\t\t\t\t\t\trenderVariableSearchLoader({\n\t\t\t\t\t\t\tisLoadingMore,\n\t\t\t\t\t\t\tlastPanelItemIndex: panelItems.length - 1,\n\t\t\t\t\t\t\tlastVariableId,\n\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classnames('search-results-message', {\n\t\t\t\t\t\t\t\t'has-search-term': searchTerm,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/now-dot-walk-panel>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderVariableSearchLoader = (props) => {\n\tconst {\n\t\tisLoadingMore,\n\t\tlastPanelItemIndex,\n\t\tlastVariableId,\n\t\tsearchTerm,\n\t} = props;\n\n\treturn (\n\t\t<div className=\"loader\">\n\t\t\t{isLoadingMore ? (\n\t\t\t\t<now-loader\n\t\t\t\t\tconfig-aria={{ 'aria-label': LOADING_MORE_LABEL }}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tlastPanelItemIndex,\n\t\t\t\t\t\tlastVariableId,\n\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\tsource: 'loadMore',\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={LOAD_MORE_LABEL}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t// prevent default keybinding behavior from triggering\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import get from 'lodash/get';\n\nimport { getVariablesSearchMetadata } from '../../behaviors/metadata/util';\n\nconst getPanelItems = (variables = []) => {\n\treturn variables.map((variable) => {\n\t\tconst displayValue = variable?.displayValue;\n\n\t\t// Note: if a variable is associated with both a catalogItem AND a variableSet, show the catalogItem name\n\t\tconst secondaryValue =\n\t\t\tvariable?.catalogItem?.name || variable?.variableSet?.name;\n\n\t\treturn {\n\t\t\t...variable,\n\t\t\tcatalogItem: variable?.catalogItem,\n\t\t\tdisplayValue,\n\t\t\thintText: secondaryValue\n\t\t\t\t? `${displayValue} ${secondaryValue}`\n\t\t\t\t: displayValue,\n\t\t\tid: variable.sysId, // use to be variables.name\n\t\t\tisReference: false,\n\t\t\tlabel: variable.displayValue,\n\t\t\tname: variable.sysId,\n\t\t\trowId: variable.sysId,\n\t\t\tsecondaryValue,\n\t\t\tvariableSet: variable?.variableSet,\n\t\t};\n\t});\n};\n\nconst getSelectedItem = (variables = [], dotWalkPath = []) => {\n\tconst variableId = get(dotWalkPath, '[1].field');\n\n\tif (!variableId) return;\n\n\tconst variable = variables.find(\n\t\t(variable) => variableId === variable.sysId\n\t);\n\n\treturn get(variable, 'sysId');\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tactivePanelIndex,\n\t\t\t\tdotWalkPath,\n\t\t\t\tmetadata,\n\t\t\t\tsearchTerm: searchTermProp,\n\t\t\t},\n\t\t\tisLoadingMore,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst searchTerm = searchTermProp === null ? '' : searchTermProp;\n\tconst searchTermMetadata = getVariablesSearchMetadata(metadata, searchTerm);\n\n\tconst panelItems = getPanelItems(searchTermMetadata?.variables);\n\tconst selectedItem = getSelectedItem(\n\t\tsearchTermMetadata?.variables,\n\t\tdotWalkPath\n\t);\n\n\t// Ignoring this logic for now since it causes unexpected scrollto behavior during variable pagination\n\t// const activeItemIndex = getSelectedItemIndex(selectedItem, panelItems);\n\n\tconst nextState = {\n\t\t// activeItemIndex,\n\t\tactivePanelIndex: activePanelIndex - 1,\n\t\tpanelItems,\n\t\tselectedItem,\n\t};\n\n\tif (name === 'metadata' && isLoadingMore) {\n\t\tnextState.isLoadingMore = false;\n\t}\n\n\tupdateState(nextState);\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { handleComponentPropertyChanged };\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tkeyEventDefaultHandler,\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n\tleftArrowPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tNOW_BUTTON_BARE_CLICKED,\n\tPATH_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_UP_ARROW_PRESSED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_LEFT_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\n\nimport variableSearchStyle from './now-dot-walk-variable-search.scss';\nimport view from './NowDotWalkVariableSearchContent.view';\nimport {\n\thandleComponentPropertyChanged,\n\thandleVariableSearchLoadMore,\n\tpanelItemClickHandler,\n} from './state';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\nconst element = createCustomElement('now-dot-walk-variable-content', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Root table of the component\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tdefault: -1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: handleComponentPropertyChanged,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t[NOW_BUTTON_BARE_CLICKED]: handleVariableSearchLoadMore,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\t\teffect: arrowUpHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\t\teffect: arrowDownHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_ENTER_PRESSED]: {\n\t\t\teffect: enterPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_LEFT_ARROW_PRESSED]: {\n\t\t\teffect: leftArrowPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: ['ArrowUp', 'ArrowDown', 'ArrowLeft'],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t37,\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 37:\n\t\t\t\t\t\t\t\t// arrow-left\n\t\t\t\t\t\t\t\tdispatch(SEARCH_LEFT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tactiveItemIndex: 0,\n\t\tpanelItems: [],\n\t\tselectedItem: '',\n\t\tactivePanelIndex: -1,\n\t\tisLoadingMore: false, // pagination loading state\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle, variableSearchStyle],\n});\n\nexport default element;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tPATH_UPDATED,\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tPANEL_ITEM_CLICKED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\nimport { updateErrorStateHandler } from '../now-dot-walk/state/globalHandlers';\n\nimport view from './snDotWalkExtendedFieldsContent.view';\nimport { panelItemClickHandler } from './state';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\nconst element = createCustomElement('sn-dot-walk-extended-fields-content', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Root table of the component\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: updateErrorStateHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: updateErrorStateHandler,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t},\n\tbehaviors: [rtlBehavior],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: 0,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle],\n});\n\nexport default element;\n","import get from 'lodash/get';\n\nimport { METADATA_VARIABLES_SEARCH_FETCH_QUERY } from '../../behaviors/dotWalk/actions';\nimport { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\n\nimport {\n\tQUESTIONS_DISPLAY_VALUE,\n\tVARIABLES_DISPLAY_VALUE,\n} from '../../common/constants';\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload: { catalogItem, displayValue, id, type, variableSet },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkConfig, source },\n\t} = coeffects;\n\n\taction.stopPropagation();\n\n\tconst { showQuestions } = dotWalkConfig || {};\n\tconst variableParent = catalogItem || variableSet;\n\n\t// Note: It is possible that a variable may neither have a catalogItem nor a variableSet\n\tconst variableParentLabel = variableParent?.name;\n\tconst variableParentId = variableParent?.sysId;\n\tconst variableTable = variableSet ? 'item_option_new_set' : 'sc_cat_item';\n\n\tconst variableReferenceTable = get(action, 'payload.referenceTable', null);\n\tconst variableReferenceTableDefaultField = get(\n\t\taction,\n\t\t'payload.referenceTableDefaultField',\n\t\tnull\n\t);\n\n\tconst combinedPath = `variables.${id}`;\n\n\tconst path = [\n\t\t{\n\t\t\tfield: 'variables',\n\t\t\tdisplayValue: showQuestions\n\t\t\t\t? QUESTIONS_DISPLAY_VALUE\n\t\t\t\t: VARIABLES_DISPLAY_VALUE,\n\t\t\tparent: source,\n\t\t\ttable: source,\n\t\t\ttype: 'reference',\n\t\t\treferenceTable: variableTable,\n\t\t},\n\t\t{\n\t\t\tfield: variableParentId,\n\t\t\tdisplayValue: variableParentLabel,\n\t\t\tparent: variableTable,\n\t\t\ttable: variableTable,\n\t\t\ttype: 'reference',\n\t\t\treferenceTable: 'item_option_new',\n\t\t},\n\t\t{\n\t\t\tfield: id,\n\t\t\tdisplayValue: displayValue,\n\t\t\tparent: 'item_option_new',\n\t\t\ttable: 'item_option_new',\n\t\t\ttype,\n\t\t\treferenceTable: variableReferenceTable,\n\t\t\treferenceTableDefaultField: variableReferenceTableDefaultField,\n\t\t},\n\t];\n\n\t// remove parent path if variableParent is not present\n\tif (!variableParent) {\n\t\tpath.splice(1, 1);\n\t}\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcontentType: panelItemContentTypes.VARIABLES,\n\t});\n};\n\nconst handleVariableSearchLoadMore = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm, source, lastPanelItemIndex },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source === 'loadMore') {\n\t\tupdateState({\n\t\t\tisLoadingMore: true,\n\t\t\tactiveItemIndex: lastPanelItemIndex,\n\t\t});\n\n\t\tdispatch(METADATA_VARIABLES_SEARCH_FETCH_QUERY, {\n\t\t\tlastVariableId,\n\t\t\tsearchTerm,\n\t\t});\n\t}\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { handleVariableSearchLoadMore, panelItemClickHandler };\n","import { actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport get from 'lodash/get';\n\nimport {\n\tQUESTIONS_DISPLAY_VALUE,\n\tVARIABLES_DISPLAY_VALUE,\n\tVARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n} from '../common/constants';\nimport {\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport {\n\tACTIVE_PANEL_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tNAVIGATION_PATH_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../now-dot-walk/constants';\nimport {\n\tcreatePath,\n\tgetActiveItemIndex,\n\tgetPanelItems,\n\tsearchFields,\n} from '../now-dot-walk/state/util';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst OTHER_DISPLAY_VALUE = t('Other');\n\nconst getOptionsToDisplay = (optionsToDisplay, source) => {\n\tconst { showVariables, showQuestions } = optionsToDisplay;\n\n\tconst items = [];\n\tif (!showVariables && !showQuestions) {\n\t\treturn items;\n\t}\n\n\titems.push({\n\t\tname: OTHER_DISPLAY_VALUE,\n\t\tdisplayValue: OTHER_DISPLAY_VALUE,\n\t\tisHeading: true,\n\t\tisReference: false,\n\t\tdisabled: true,\n\t});\n\n\tif (showVariables) {\n\t\titems.push({\n\t\t\tname: 'variables.',\n\t\t\trowId: 'variables.',\n\t\t\tdisplayValue: VARIABLES_DISPLAY_VALUE,\n\t\t\tsecondaryValue: VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n\t\t\thintText: VARIABLES_DISPLAY_VALUE,\n\t\t\thidden: !showVariables,\n\t\t\tisReference: false,\n\t\t\tparent: source,\n\t\t\tpanelItemContentType: panelItemContentTypes.VARIABLES,\n\t\t});\n\t} else if (showQuestions) {\n\t\titems.push({\n\t\t\tname: 'variables.',\n\t\t\trowId: 'variables.',\n\t\t\tdisplayValue: QUESTIONS_DISPLAY_VALUE,\n\t\t\tsecondaryValue: VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n\t\t\thintText: QUESTIONS_DISPLAY_VALUE,\n\t\t\thidden: !showQuestions,\n\t\t\tisReference: false,\n\t\t\tparent: source,\n\t\t\tpanelItemContentType: panelItemContentTypes.VARIABLES,\n\t\t});\n\t}\n\n\treturn items;\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tactivePanelIndex,\n\t\t\t\tmetadata,\n\t\t\t\tsource,\n\t\t\t\tsearchTerm,\n\t\t\t\tdotWalkConfig,\n\t\t\t\tdotWalkPath,\n\t\t\t\tleafPathSource,\n\t\t\t},\n\t\t\tactiveItemIndex: currentItemIndex,\n\t\t},\n\t} = coeffects;\n\n\tif (metadata && source) {\n\t\tconst tableMetadata = metadata[source];\n\t\tconst computedFields = searchTerm\n\t\t\t? searchFields(tableMetadata, searchTerm)\n\t\t\t: undefined;\n\n\t\tconst selectedItem = get(dotWalkPath, 'field', leafPathSource);\n\t\tlet panelItems = getPanelItems(\n\t\t\ttableMetadata,\n\t\t\tcomputedFields,\n\t\t\tselectedItem,\n\t\t\tpanelItemContentTypes.FIELD_METADATA\n\t\t);\n\n\t\tconst additionalOptions = getOptionsToDisplay(dotWalkConfig, source);\n\t\tpanelItems = panelItems.concat(additionalOptions);\n\n\t\tconst activeItemIndex =\n\t\t\tactivePanelIndex !== 0\n\t\t\t\t? currentItemIndex\n\t\t\t\t: getActiveItemIndex(coeffects, panelItems, selectedItem);\n\n\t\tupdateState({\n\t\t\tselectedItem,\n\t\t\tpanelItems,\n\t\t\tactiveItemIndex,\n\t\t\tactivePanelIndex,\n\t\t});\n\t}\n};\n\nconst arrowRightHandler = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tpanelItems,\n\t\t\tactiveItemIndex,\n\t\t\tselectedItem,\n\t\t\tproperties: { source },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { displayValue, referenceDataKey, isReference, name } = panelItems[\n\t\tactiveItemIndex\n\t];\n\n\tconst actionToDispatch = {\n\t\tactionName: DOT_WALK_TRIGGERED,\n\t\tpayload: {\n\t\t\tfieldName: name,\n\t\t\tdisplayValue,\n\t\t\treferenceSource: referenceDataKey,\n\t\t\tsource,\n\t\t\tpathIndex: 0,\n\t\t},\n\t};\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: 1,\n\t\tisDotWalkedFieldSelected: name === selectedItem,\n\t\tactionToDispatch: isReference ? actionToDispatch : null,\n\t});\n};\n\nexport default {\n\t[PANEL_ITEM_CLICKED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tpayload: { panelItemContentType },\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t} = coeffects;\n\t\tconst path = [createPath(payload)];\n\n\t\tdispatch(NAVIGATION_PATH_UPDATED, {\n\t\t\tpath,\n\t\t\tpanelItemContentType,\n\t\t});\n\t\tupdateState({\n\t\t\tpanelItemClicked: true,\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentPropertyChanged,\n\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\teffect: arrowDownHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_ENTER_PRESSED]: {\n\t\teffect: enterPressedHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_RIGHT_ARROW_PRESSED]: {\n\t\teffect: arrowRightHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\teffect: arrowUpHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tsource,\n\t\t\tmetadata: { extendedFields },\n\t\t},\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tdisplayValue,\n\t\t\t\tfield,\n\t\t\t\tparent,\n\t\t\t\ttype,\n\t\t\t\treferenceTableDefaultField,\n\t\t\t\treferenceKey,\n\t\t\t\treferenceTable,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst combinedPath = `${parent}.${field}`;\n\n\tconst path = [\n\t\t{\n\t\t\tfield: 'extended fields',\n\t\t\tdisplayValue: 'Extended Fields',\n\t\t\tparent: source,\n\t\t},\n\t\t{\n\t\t\tdisplayValue: extendedFields[parent].displayValue,\n\t\t\tfield: parent,\n\t\t\tparent: source,\n\t\t},\n\t\t{\n\t\t\tdisplayValue,\n\t\t\tfield,\n\t\t\tparent,\n\t\t\ttype,\n\t\t\treferenceTable,\n\t\t\treferenceKey,\n\t\t\treferenceTableDefaultField,\n\t\t},\n\t];\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcontentType: panelItemContentTypes.EXTENDED_FIELDS,\n\t});\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { panelItemClickHandler };\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\nimport '../now-dot-walk-panel';\nimport NoResultsPanel from '../now-dot-walk/components/panel/NoResultsPanel';\nimport { contains } from '../now-dot-walk/state/util/searchFields';\n\nconst getPanelItems = (metadataFields, searchTerm, selectedItem) => {\n\tconst items = [];\n\n\tObject.entries(metadataFields).forEach(([key, value]) => {\n\t\tconst extendedFields = get(value, 'dotwalkFieldData', []);\n\n\t\tif (!extendedFields.length) return;\n\n\t\tconst displayHeader = metadataFields[key].displayValue;\n\t\tconst headerMatch = searchTerm\n\t\t\t? contains(displayHeader, searchTerm)\n\t\t\t: true;\n\n\t\tconst section = [];\n\t\tif (headerMatch) {\n\t\t\tsection.push({\n\t\t\t\tdisplayValue: displayHeader,\n\t\t\t\tisHeading: true,\n\t\t\t});\n\t\t}\n\n\t\textendedFields.forEach((item) => {\n\t\t\tconst { displayValue, name, parent } = item;\n\t\t\tconst rowId = `${parent}.${name}`;\n\t\t\tconst shouldInsert =\n\t\t\t\theaderMatch ||\n\t\t\t\tcontains(displayValue, searchTerm) ||\n\t\t\t\trowId === selectedItem;\n\n\t\t\tif (shouldInsert) {\n\t\t\t\tsection.push({\n\t\t\t\t\t...item,\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\thintText: displayValue,\n\t\t\t\t\tisReference: false,\n\t\t\t\t\trowId,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// if there's an row inserted without its displayHeader, add it here;\n\t\t// occurs when the section has a search term but the header does not\n\t\tif (section.length && !headerMatch) {\n\t\t\tsection.unshift({\n\t\t\t\tdisplayValue: displayHeader,\n\t\t\t\tisHeading: true,\n\t\t\t});\n\t\t}\n\n\t\titems.push(...section);\n\t});\n\n\treturn items;\n};\n\nconst getSelectedItem = (dotWalkPath) => {\n\tconst parent = get(dotWalkPath, '[0].field', '');\n\tconst field = get(dotWalkPath, '[1].field', '');\n\treturn `${parent}.${field}`;\n};\n\nexport default (\n\t{\n\t\tariaLiveMessage,\n\t\tproperties: { dir, metadata, dotWalkPath, searchTerm, source },\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading = isEmpty(metadata) || !metadata.extendedFields;\n\tconst selectedItem = getSelectedItem(dotWalkPath);\n\tconst items = isLoading\n\t\t? []\n\t\t: getPanelItems(metadata.extendedFields, searchTerm, selectedItem);\n\tconst showNoResults = !items.length;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showNoResults ? (\n\t\t\t\t<NoResultsPanel />\n\t\t\t) : (\n\t\t\t\t<now-dot-walk-panel\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tloading={isLoading}\n\t\t\t\t\titems={items}\n\t\t\t\t\tpanelIndex={0}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tselectedItem={selectedItem}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<AriaLiveRegion message={ariaLiveMessage}><\/AriaLiveRegion>\n\t\t<\/Fragment>\n\t);\n};\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { keyEventDefaultHandler } from '../common/keyboardActionHandlers';\nimport {\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\n\nimport actionHandlers from './actionHandler';\nimport snDotWalkNavigationPanelStyles from './snDotWalkNavigationPanel.scss';\nimport view from './view';\n\nexport default createCustomElement('sn-dot-walk-navigation-panel', {\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the panel\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Object that represents the first entry of the DotWalkPath array.\n\t\t * Required: No\n\t\t *\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t\tdefault: -1,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tinitialState: {\n\t\tpanelItems: [],\n\t\tactiveItemIndex: 0,\n\t\tpanelItemClicked: false,\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\t// accepts a single key value (string) or array of key values (string[])\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t39,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 39:\n\t\t\t\t\t\t\t\t// arrow-right\n\t\t\t\t\t\t\t\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [snDotWalkNavigationPanelStyles],\n});\n","import isEmpty from 'lodash/isEmpty';\n\nimport NoResultsPanel from '../now-dot-walk/components/panel/NoResultsPanel';\n\nexport default ({\n\tproperties: { dir, source, searchTerm, hideDotWalking },\n\terror,\n\tpanelItems,\n\tactiveItemIndex,\n\tselectedItem,\n\tdispatch,\n\tactivePanelIndex,\n}) => {\n\tif (error) {\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel-error-container\">\n\t\t\t\t<span>{error}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\tconst isActive = activePanelIndex === 0;\n\n\tconst showNoResults = !isEmpty(searchTerm) && isEmpty(panelItems);\n\n\treturn showNoResults ? (\n\t\t<NoResultsPanel />\n\t) : (\n\t\t<now-dot-walk-panel\n\t\t\tdir={dir}\n\t\t\titems={panelItems}\n\t\t\tdispatch={dispatch}\n\t\t\tselectedItem={selectedItem}\n\t\t\tsource={source}\n\t\t\tpanelIndex={0}\n\t\t\tactiveIndex={activeItemIndex}\n\t\t\tactive={isActive}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t/>\n\t);\n};\n","/**\n * Component used as Breadcrumb item\n * @param {Object} props - Component props\n * @param {string} props.className - Component class name\n * @param {string} props.testKey - Breadcrumb test key\n * @param {string} props.label - Label to be used for the item's pill\n */\nconst BreadcrumbItem = ({ testKey, label, className }) => {\n\tconst breadCrumbKey = `breadcrumbItem-${testKey}`;\n\treturn (\n\t\t<li className={className}>\n\t\t\t<span\n\t\t\t\tclassName={`ndw-breadcrumb-item-text ${breadCrumbKey}`}\n\t\t\t\tdata-testId={breadCrumbKey}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t<\/li>\n\t);\n};\nexport default BreadcrumbItem;\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nimport { RTL_DIRECTION } from '../../../common/constants';\nimport { BREADCRUMB_SEPARATOR_BUTTON_CLICKED } from '../../actions';\n\n/**\n * Component used as a separator of breadcrumb items\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.dir - The directionality of the text of the document\n * @param {number} props.itemIndex - Index of the breadcrumb item in the breadcrumb group\n */\nconst BreadcrumbSeparator = ({ ariaLabel, dir, itemIndex }) => {\n\tconst breadCrumbIndexId = `breadcrumbButton-${itemIndex}`;\n\treturn (\n\t\t<li>\n\t\t\t<now-button-iconic\n\t\t\t\tclassName={breadCrumbIndexId}\n\t\t\t\tdata-testId={breadCrumbIndexId}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tbare\n\t\t\t\ticon={\n\t\t\t\t\tdir === RTL_DIRECTION\n\t\t\t\t\t\t? 'arrow-left-fill'\n\t\t\t\t\t\t: 'arrow-right-fill'\n\t\t\t\t}\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttooltip-content={t('Remove breadcrumb')}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tindex: itemIndex,\n\t\t\t\t\ttype: BREADCRUMB_SEPARATOR_BUTTON_CLICKED,\n\t\t\t\t}}\n\t\t\t><\/now-button-iconic>\n\t\t<\/li>\n\t);\n};\n\nexport default BreadcrumbSeparator;\n","import { t } from 'sn-translate';\n\nimport { panelItemContentTypes } from '../../constants';\n\nimport BreadcrumbItem from './BreadcrumbItem';\nimport BreadcrumbSeparator from './BreadcrumbSeparator';\n\n/**\n * Render function for items in a breadcrumb navigation list\n * @param {{}[]} path - Dot walk path to be displayed by breadcrumb\n * @param {string} leafPathSource - Source for the leaf panel fields\n * @param {string} dir - The directionality of the text of the document\n */\nconst renderBreadcrumbItems = (path, leafPathSource, dir) => {\n\tconst breadCrumbs = [];\n\tconst filteredPath = path.filter((pathItem) => pathItem.displayValue);\n\n\tfilteredPath.forEach((pathItem, i) => {\n\t\tif (pathItem) {\n\t\t\tconst { field, displayValue } = pathItem;\n\t\t\tbreadCrumbs.push(\n\t\t\t\t<BreadcrumbItem\n\t\t\t\t\tkey={`${field}-${i}`}\n\t\t\t\t\ttestKey={field}\n\t\t\t\t\tlabel={displayValue}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst lastIndex = filteredPath.length - 1;\n\t\tif (i !== lastIndex) {\n\t\t\t//breadcrumb button removes the following panel\n\t\t\tconst panelName = `${filteredPath[i + 1].displayValue}`;\n\t\t\tconst separatorLabel = t('Breadcrumb. Close {0} panel', panelName);\n\t\t\tbreadCrumbs.push(\n\t\t\t\t<BreadcrumbSeparator\n\t\t\t\t\tariaLabel={separatorLabel}\n\t\t\t\t\titemIndex={i}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n\n\tif (\n\t\tleafPathSource &&\n\t\tleafPathSource !== panelItemContentTypes.EXTENDED_FIELDS\n\t) {\n\t\tconst panelName = `${\n\t\t\tfilteredPath[filteredPath.length - 1].displayValue\n\t\t}`;\n\t\tconst separatorLabel = t('Breadcrumb. Close {0} panel', panelName);\n\t\tbreadCrumbs.push(\n\t\t\t<BreadcrumbSeparator\n\t\t\t\tariaLabel={separatorLabel}\n\t\t\t\titemIndex={filteredPath.length}\n\t\t\t\tdir={dir}\n\t\t\t/>,\n\t\t\t<BreadcrumbItem\n\t\t\t\ttestKey={leafPathSource}\n\t\t\t\tkey={`leafPathSource-${leafPathSource}`}\n\t\t\t\tlabel={t('{0} fields', panelName)}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn breadCrumbs;\n};\n/**\n * Component containing breadcrumb links used to update path\n * @param {Object} props - Component props\n * @param {string} props.dir - The directionality of the text of the document\n * @param {string} props.leafPathSource - Source for the leaf panel fields\n * @param {{}[]} props.path - Dot walk path to be displayed by breadcrumb\n */\nconst Breadcrumb = ({ dir, leafPathSource, path }) => {\n\tif (!path) return <div />;\n\n\treturn (\n\t\t<nav className=\"ndw-breadcrumb\" aria-label=\"breadcrumb\">\n\t\t\t<ol>{renderBreadcrumbItems(path, leafPathSource, dir)}<\/ol>\n\t\t<\/nav>\n\t);\n};\n\nexport default Breadcrumb;\n","import '@servicenow/now-icon';\nimport { t } from 'sn-translate';\n\nconst noop = () => null;\n\nconst keyCodes = {\n\tARROW_DOWN: 40,\n\tARROW_LEFT: 37,\n\tARROW_RIGHT: 39,\n\tARROW_UP: 38,\n\tESCAPE: 27,\n\tENTER: 13,\n};\n\n/**\n * Responds to input change\n * @param {(event: any, data: {elm: {value: string}}) => void} handlers - Map of functions used to handle input change\n * @param {(text: string) => void} handlers.handleInputChange - Function used to handle input change\n * @param {() => void} handlers.handleEnterPress - Function used to handle enter event\n * @param {() => void} handlers.handleEscapePress - Function used to handle escape event\n * @param {() => void} handlers.handleUpArrowPress - Function used to handle up arrow event\n * @param {() => void} handlers.handleRightArrowPress - Function used to handle right arrow event\n * @param {() => void} handlers.handleDownArrowPress - Function used to handle down arrow event\n * @param {() => void} handlers.handleLeftArrowPress - Function used to handle left arrow event\n */\nconst transformInputChangeHandler = ({\n\thandleInputChange = noop,\n\thandleEnterPress = noop,\n\thandleEscapePress = noop,\n\thandleUpArrowPress = noop,\n\thandleRightArrowPress = noop,\n\thandleDownArrowPress = noop,\n\thandleLeftArrowPress = noop,\n}) => (e, { elm: { value } }) => {\n\tconst { keyCode } = e;\n\tswitch (keyCode) {\n\t\tcase keyCodes.ARROW_DOWN:\n\t\t\thandleDownArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_LEFT:\n\t\t\thandleLeftArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_RIGHT:\n\t\t\thandleRightArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_UP:\n\t\t\thandleUpArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ESCAPE:\n\t\t\thandleEscapePress();\n\t\t\tbreak;\n\t\tcase keyCodes.ENTER:\n\t\t\thandleEnterPress();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thandleInputChange(value);\n\t}\n};\n\n// TODO: update icon on input change, dispatch action on focus\n\n/**\n * Input component for panel search\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.className - Class name to be added to the wrapper component\n * @param {(text: string) => void} props.handleInputChange - Function used to handle input change\n * @param {() => void} props.disabled - Determines whether the input is disabled or not\n * @param {() => void} props.handleEnterPress - Function used to handle enter event\n * @param {() => void} props.handleEscapePress - Function used to handle escape event\n * @param {() => void} props.handleUpArrowPress - Function used to handle up arrow event\n * @param {() => void} props.handleRightArrowPress - Function used to handle right arrow event\n * @param {() => void} props.handleDownArrowPress - Function used to handle down arrow event\n * @param {() => void} props.handleLeftArrowPress - Function used to handle left arrow event\n * @param {() => void} props.onBlur - Function used to handle input blur event\n * @param {() => void} props.onFocus - Function used to handle input focus event\n * @param {string} props.placeholder - Placeholder text\n * @param {(ref: any) => void} props.ref - Function used to receive a reference to the input\n * @param {string} props.value - Controlled value of the input\n */\nconst Input = ({\n\tariaLabel,\n\tclassName,\n\tdisabled,\n\thandleInputChange,\n\thandleEnterPress,\n\thandleEscapePress,\n\thandleUpArrowPress,\n\thandleRightArrowPress,\n\thandleDownArrowPress,\n\thandleLeftArrowPress,\n\tonBlur,\n\tonFocus,\n\tplaceholder,\n\tref,\n\tvalue,\n}) => {\n\tconst wrapperClassName = `ndw-search-input-wrapper${\n\t\tclassName ? ` ${className}` : ''\n\t}`;\n\n\treturn (\n\t\t<div className={wrapperClassName} role=\"combobox\" aria-expanded=\"true\">\n\t\t\t<now-icon\n\t\t\t\tclassName=\"ndw-search-input-icon\"\n\t\t\t\ticon=\"magnifying-glass-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t><\/now-icon>\n\t\t\t<input\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby=\"aria-region\"\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\taria-autoComplete=\"list\"\n\t\t\t\tref={ref}\n\t\t\t\tclassName=\"ndw-input\"\n\t\t\t\tplaceholder={placeholder && t('{0}', placeholder)}\n\t\t\t\ttype=\"text\"\n\t\t\t\tdisabled={disabled}\n\t\t\t\ton-focus={onFocus}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\ton-keyup={transformInputChangeHandler({\n\t\t\t\t\thandleInputChange,\n\t\t\t\t\thandleEnterPress,\n\t\t\t\t\thandleEscapePress,\n\t\t\t\t\thandleUpArrowPress,\n\t\t\t\t\thandleRightArrowPress,\n\t\t\t\t\thandleDownArrowPress,\n\t\t\t\t\thandleLeftArrowPress,\n\t\t\t\t})}\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\tvalue={value}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport default Input;\n","import '@servicenow/now-loader';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport '../../../now-dot-walk-field-content';\nimport '../../../now-dot-walk-variable-content';\nimport '../../../sn-dot-walk-extended-fields-content';\nimport '../../../now-dot-walk-panel';\nimport '../../../sn-dot-walk-navigation-panel';\nimport {\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ESCAPE_PRESSED,\n\tSEARCH_INPUT_BLURRED,\n\tSEARCH_INPUT_FOCUSED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n} from '../../actions';\nimport { panelItemContentTypes } from '../../constants';\nimport { Breadcrumb } from '../breadcrumb';\nimport Input from '../input';\n\nconst debounceDispatch = debounce((fn) => fn(), 500);\n\n/**\n * Render function for breadcrumbs\n * @param {Object[]} path Dispatch function to update app state\n * @param {string} error - Error message to be displayed\n * @param {() => void} breadcrumbItemClickHandler - Function to be called on breadcrumb item click\n * @param {string} leafPathSource - Source for the leaf panel fields\n * @param {string} dir - The directionality of the text of the document\n * */\nconst conditionallyRenderBreadcrumbs = (\n\tpath,\n\terror,\n\tbreadcrumbItemClickHandler,\n\tleafPathSource,\n\tdir\n) => {\n\tconst shouldRender =\n\t\tpath &&\n\t\t(path.length > 1 || (path.length > 0 && !!leafPathSource)) &&\n\t\t!error;\n\n\tif (!shouldRender) return null;\n\treturn (\n\t\t<Breadcrumb\n\t\t\tpath={path}\n\t\t\tonItemClick={breadcrumbItemClickHandler}\n\t\t\tleafPathSource={leafPathSource}\n\t\t\tdir={dir}\n\t\t/>\n\t);\n};\n\n/**\n * Handle input's text change event - debounced to prevent rapid input updating state too frequently\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputChange = (dispatch) => (text) => {\n\tdebounceDispatch(() => {\n\t\tdispatch(SEARCH_INPUT_VALUE_CHANGED, {\n\t\t\tsearchTerm: text,\n\t\t});\n\t});\n};\n\n/**\n * Handle input's right arrow pressed event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleRightArrowPress = (dispatch) => () => {\n\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n};\n\n/**\n * Handle input's blur event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputBlur = (dispatch) => () => {\n\tdispatch(SEARCH_INPUT_BLURRED);\n};\n\n/**\n * Handle input's focus event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputFocus = (dispatch) => () => {\n\tdispatch(SEARCH_INPUT_FOCUSED);\n};\n\n/**\n * Handle input's escape pressed event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleEscapePress = (dispatch) => () => {\n\tdispatch(SEARCH_ESCAPE_PRESSED);\n};\n\nconst handleArrowDownPress = (dispatch) => () => {\n\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n};\n\nconst handleBreadCrumbItemClickHandler = (stackedPanelContentRef) => () => {\n\t// eslint-disable-next-line no-param-reassign\n\tstackedPanelContentRef.scrollLeft = 0;\n};\n\nconst getContentPanel = ({\n\tcurrentContent,\n\tcontentPath,\n\tmetadata,\n\tleafPathSource,\n\terror,\n\tdir,\n\tsearchTerm,\n\tsource,\n\tactivePanelIndex,\n\tdotWalkConfig,\n\thideDotWalking,\n}) => {\n\tswitch (currentContent) {\n\t\tcase panelItemContentTypes.FIELD_METADATA:\n\t\t\treturn (\n\t\t\t\t<now-dot-walk-field-content\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\tdotWalkPath={contentPath}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase panelItemContentTypes.VARIABLES:\n\t\t\treturn (\n\t\t\t\t<now-dot-walk-variable-content\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\tdotWalkPath={contentPath}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nconst getParentFromDotWalkPath = (path) => {\n\treturn get(first(path), 'parent');\n};\n\n/**\n * Component containing horizontally stacked panels\n * @param {Object} props - Component props\n * @param {string} props.currentContent - The content to be displayed in the stacked panel\n * @param {string} props.dir - The directionality of the text of the document\n * @param {{}[]} props.path - Path value used to render panels\n * @param {string} props.leafPathSource - Source name of the leaf panel\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {boolean} props.loading - Loading state for entire stacked panel\n * @param {string} props.error - Error message to be displayed\n * @param {string} props.searchTerm - Search input value\n * @param {Object} props.dotWalkConfig - boolean options for displaying extra items in the panel\n */\nconst StackedPanel = ({\n\tcurrentContent,\n\tdir,\n\tdispatch,\n\terror,\n\tleafPathSource,\n\tloading,\n\tmetadata,\n\tsearchTerm,\n\tdotWalkConfig,\n\tactivePanelIndex,\n\tpath,\n\thideDotWalking,\n}) => {\n\tif (loading)\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel\" data-testId=\"loading-panel\">\n\t\t\t\t<div className=\"ndw-stacked-panel-loader\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\n\tconst inputRef = createRef();\n\tconst stackedPanelContentRef = createRef();\n\tconst navigationPath = path.slice(0, 1) || [];\n\n\tconst metadataKey = getParentFromDotWalkPath(navigationPath);\n\tconst source = metadataKey || leafPathSource || '';\n\tconst contentPath = path.slice(1) || [];\n\tconst contentPanel = isEmpty(navigationPath)\n\t\t? null\n\t\t: getContentPanel({\n\t\t\t\tcurrentContent,\n\t\t\t\tcontentPath,\n\t\t\t\tmetadata,\n\t\t\t\tleafPathSource,\n\t\t\t\terror,\n\t\t\t\tdir,\n\t\t\t\tsearchTerm,\n\t\t\t\tsource,\n\t\t\t\tactivePanelIndex,\n\t\t\t\tdotWalkConfig,\n\t\t\t\thideDotWalking,\n\t\t  });\n\n\treturn (\n\t\t<div className=\"ndw-stacked-panel\">\n\t\t\t<div className=\"ndw-stacked-panel-header\">\n\t\t\t\t<Input\n\t\t\t\t\tariaLabel={t('Search field')}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\thandleInputChange={handleInputChange(dispatch)}\n\t\t\t\t\thandleRightArrowPress={handleRightArrowPress(dispatch)}\n\t\t\t\t\thandleEscapePress={handleEscapePress(dispatch)}\n\t\t\t\t\thandleDownArrowPress={handleArrowDownPress(dispatch)}\n\t\t\t\t\tonBlur={handleInputBlur(dispatch)}\n\t\t\t\t\tonFocus={handleInputFocus(dispatch)}\n\t\t\t\t\tplaceholder={t('Search')}\n\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t/>\n\t\t\t\t{conditionallyRenderBreadcrumbs(\n\t\t\t\t\tpath || [],\n\t\t\t\t\terror,\n\t\t\t\t\thandleBreadCrumbItemClickHandler(stackedPanelContentRef),\n\t\t\t\t\tleafPathSource,\n\t\t\t\t\tdir\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-stacked-panel-content\"\n\t\t\t\tref={stackedPanelContentRef}\n\t\t\t>\n\t\t\t\t<sn-dot-walk-navigation-panel\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tdotWalkPath={first(navigationPath)}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t\t{contentPanel}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default StackedPanel;\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tDOT_WALK_TRIGGERED,\n\tBREADCRUMB_PATH_UPDATED,\n} from '../behaviors/dotWalk';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\n\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tCONTENT_PATH_UPDATED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_INPUT_BLURRED,\n\tSEARCH_INPUT_FOCUSED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tNAVIGATION_PATH_UPDATED,\n\tPATH_UPDATED,\n\tACTIVE_PANEL_UPDATED,\n} from './actions';\nimport baseStyle from './now-dot-walk.scss';\nimport NowDotWalk from './NowDotWalk.view';\nimport {\n\tariaLiveMessageHandler,\n\tarrowDownHandler,\n\tbuttonIconicClickHandler,\n\tcomponentPropertyChangedHandler,\n\tsearchInputBlurredHandler,\n\tsearchInputFocusedHandler,\n\tsearchTermUpdatedHandler,\n\thandleActivePanelUpdated,\n} from './state';\nimport {\n\tcontentPathUpdatedHandler,\n\tnavigationPathUpdatedHandler,\n} from './state/globalHandlers';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n} = componentActionTypes;\n\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * Configs used for the dot-walk first panel\n * @typedef {\n * \t\t\tshowVariables: boolean\n *\t\t\tshowQuestions: boolean\n *\t\t\tshowExtendedFields: boolean\n *      } DotWalkConfig\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst nowDotWalkElement = createCustomElement('sn-dot-walk-v1', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated by breadcrumb click\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[BREADCRUMB_PATH_UPDATED]: {},\n\t\t/**\n\t\t * Indicates that a field was dot-walked\n\t\t *\n\t\t * @type {{fieldName: string, displayValue: string, referenceSource: string, source: string, pathIndex: number}}\n\t\t */\n\t\t[DOT_WALK_TRIGGERED]: {},\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string, dotWalkPath: array, contentType: string }}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Enum to describe what type of content will be shown for dot walk, specifically for variables and extended fields.\n\t\t * You can import contentTypes from now-dot-walk for the values defined.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tstate: { searchInputFocused },\n\t\t\t} = coeffects;\n\t\t\tif (searchInputFocused) {\n\t\t\t\tconst input = host.nowRootNode.querySelector('input');\n\t\t\t\tif (input) input.focus();\n\t\t\t}\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: buttonIconicClickHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: arrowDownHandler,\n\t\t[SEARCH_INPUT_BLURRED]: searchInputBlurredHandler,\n\t\t[SEARCH_INPUT_FOCUSED]: searchInputFocusedHandler,\n\t\t[SEARCH_INPUT_VALUE_CHANGED]: searchTermUpdatedHandler,\n\t\t[NAVIGATION_PATH_UPDATED]: navigationPathUpdatedHandler,\n\t\t[CONTENT_PATH_UPDATED]: contentPathUpdatedHandler,\n\t\t[ACTIVE_PANEL_UPDATED]: handleActivePanelUpdated,\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonArrowKeyPress: ['ArrowDown'],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress: (host, event, dispatch) => {\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: -1,\n\t\tcurrentContent: '',\n\t\tnavigationPath: [],\n\t\tcontentPath: [],\n\t\tsearchInputFocused: true,\n\t\topenedPanelsCount: 0,\n\t},\n\trenderer: { type: snabbdom },\n\tview: NowDotWalk,\n\tstyles: [baseStyle],\n});\n\nexport default nowDotWalkElement;\n","import { t } from 'sn-translate';\n\nimport { BREADCRUMB_PATH_UPDATED } from '../../behaviors/dotWalk';\nimport { getCombinedPath } from '../../behaviors/dotWalk/util';\nimport { ARIA_LIVE_MESSAGE_UPDATED } from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nconst breadcrumbTrimmedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { index },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkPath },\n\t\tstate: { currentContent },\n\t} = coeffects;\n\n\tif (currentContent !== panelItemContentTypes.FIELD_METADATA) {\n\t\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\t\tmessage: t('Closed {0} panel and fields', currentContent),\n\t\t});\n\n\t\tdispatch(BREADCRUMB_PATH_UPDATED, {\n\t\t\tpath: [],\n\t\t\tcombinedPath: '',\n\t\t\tcontentType: currentContent,\n\t\t\tfromBreadcrumb: true,\n\t\t});\n\n\t\treturn;\n\t}\n\n\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\tmessage: t('Closed panel {0} and its fields', index),\n\t});\n\n\tconst updatedPath = dotWalkPath.slice(0, index + 1);\n\tdispatch(BREADCRUMB_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t\tcombinedPath: getCombinedPath(updatedPath),\n\t\tcontentType: panelItemContentTypes.FIELD_METADATA,\n\t\tfromBreadcrumb: true,\n\t});\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { breadcrumbTrimmedHandler };\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\n\nimport StackedPanel from './components/panel/StackedPanel';\n\nexport default (\n\t{\n\t\tactivePanelIndex,\n\t\tariaLiveMessage,\n\t\tcurrentContent,\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tleafPathSource,\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tdotWalkConfig,\n\t\t\thideDotWalking,\n\t\t},\n\t\terror,\n\t\tsearchTerm,\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading =\n\t\t(!dotWalkPath && !metadata && !leafPathSource) ||\n\t\t!metadata ||\n\t\tObject.keys(metadata).length === 0;\n\treturn (\n\t\t<Fragment>\n\t\t\t<StackedPanel\n\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\tcurrentContent={currentContent}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdir={dir}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\tpath={dotWalkPath}\n\t\t\t\terror={error}\n\t\t\t\tloading={isLoading}\n\t\t\t\tmetadata={metadata}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t\t<AriaLiveRegion message={ariaLiveMessage} />\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_STARTED,\n} from '../actions';\n\nconst dotwalkExtendedFieldsDataQuery = `\n    query ($tableName: String!, $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean) {\n        GlideConditionBuilder_Query {\n            dotwalkExtendedFieldsData(tableName: $tableName, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields:$includeOnlyFilterableFields) {\n                parentTableName,\n                parentTableLabel,\n                extendedTableData {\n                    tableName\n                    tableLabel\n                    dotwalkFieldData {\n                        name\n                        label\n                        type\n                        dotwalkable\n                        referenceTable\n                        referenceTableDefaultField\n                        fieldMetadata {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\tbase_type\n\t\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\t\tis_function\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\tmultitext\n\t\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\t\tcansort\n\t\t\t\t\t\t\tcangroup\n\t\t\t\t\t\t\tmandatory\n\t\t\t\t\t\t\tread_only\n\t\t\t\t\t\t\tmax_length\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\treference\n\t\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\t\textended_table\n\t\t\t\t\t\t}\n                    }\n                }\n            }\n        }\n    }\n`;\n\nconst fetchExtendedFieldsMetadata = createGraphQLEffect(\n\tdotwalkExtendedFieldsDataQuery,\n\t{\n\t\tvariableList: [\n\t\t\t'tableName',\n\t\t\t'includeFieldMetadata',\n\t\t\t'includeOnlyFilterableFields',\n\t\t],\n\t\tsuccessActionType: METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\t\terrorActionType: METADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\t\tstartActionType: METADATA_EXTENDED_FIELDS_FETCH_STARTED,\n\t}\n);\n\nexport default fetchExtendedFieldsMetadata;\n","export const dotWalkVariableSearchFragment = `\n    fragment dotWalkVariableSearchFragment on GlideVariables_VariableSearchResultType {\n        allRecordsSearched\n        lastVariableId\n        variables {\n            sysId\n            displayValue\n            referenceTable\n            referenceTableDefaultField\n            type\n            catalogItem {\n                sysId\n                name\n            }\n            variableSet {\n                sysId\n                name\n            }\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_PATH_FETCH_FAILED,\n\tMETADATA_PATH_FETCH_STARTED,\n\tMETADATA_PATH_FETCH_SUCCEEDED,\n} from '../actions';\n\nimport { dotWalkVariableSearchFragment } from './dotWalkVariableSearchFragment';\n\nconst dotwalkPathDataQuery = `\n    query ($tableName: String!, $path: String!, $fieldInclusionList: [String], $fieldExclusionList: [String], $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean, $searchForVariables: Boolean!) {\n        GlideConditionBuilder_Query @skip(if: $searchForVariables) {\n            dotwalkData(tableName: $tableName, path: $path, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields: $includeOnlyFilterableFields) {\n                pathData {\n                    dotwalkMode\n                    path {\n                        field: fieldName\n                        displayValue: fieldLabel\n                        table\n                        type\n                        referenceTable\n                        referenceTableDefaultField\n                        referenceKey\n                    }\n                }\n                tableData {\n                    tableName\n                    dotwalkFieldData {\n                        name\n                        label\n                        type\n                        dotwalkable\n                        referenceTable\n                        referenceTableDefaultField\n                        referenceKey\n                        fieldMetadata {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\tbase_type\n\t\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\t\tis_function\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\tmultitext\n\t\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\t\tcansort\n\t\t\t\t\t\t\tcangroup\n\t\t\t\t\t\t\tmandatory\n\t\t\t\t\t\t\tread_only\n\t\t\t\t\t\t\tmax_length\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\treference\n\t\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\t\textended_table\n\t\t\t\t\t\t}\n                    }\n                }\n                variableData {\n                    catalogItems {\n                      id\n                      label\n                      variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                      }\n                    }\n                    variableSets {\n                        id\n                        label\n                        variables {\n                          id\n                          name\n                          label\n                          type\n                          catalogItemId\n                          variableSetId\n                          referenceTable\n                          referenceTableDefaultField\n                        }\n                    }\n                }\n            }\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n\n        GlideConditionBuilder_Query @include(if: $searchForVariables) {\n            dotwalkTableData(\n                tableName: $tableName\n                fieldInclusionList: $fieldInclusionList\n                fieldExclusionList: $fieldExclusionList\n                includeFieldMetadata: $includeFieldMetadata\n                includeOnlyFilterableFields: $includeOnlyFilterableFields\n            ) {\n                tableName\n                tableLabel\n                dotwalkFieldData {\n                    name\n                    label\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n                    referenceKey\n                    dotwalkable\n                    excludedOperators\n                    fieldMetadata {\n                        name\n                        type\n                        base_type\n                        internal_type\n                        is_function\n                        attributes\n                        multitext\n                        edge_encrypted\n                        edge_encryption_type\n                        glide_encrypted\n                        canmatch\n                        cansort\n                        cangroup\n                        mandatory\n                        read_only\n                        max_length\n                        hint\n                        label\n                        reference\n                        reference_attributes {\n                            reference_key\n                            display_field\n                            ref_ac_columns\n                            ref_auto_completer\n                            ref_ac_columns_search\n                            ref_ac_display_value\n                        }\n                        reference_display_field\n                        choice_type\n                        filterable\n                        max_unit\n                        extended_table\n                    }\n                }\n            }\n    \n            dotwalkPathData(tableName: $tableName, path: $path) {\n                dotwalkMode\n                path {\n                    field: fieldName\n                    displayValue: fieldLabel\n                    table\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n                    referenceKey\n                }\n            }\n    \n            dotwalkTableConfig(tableName: $tableName) {\n                showVariables\n                showQuestions\n                showExtendedFields\n            }\n        }\n    \n        GlideVariables_Query @include(if: $searchForVariables) {\n            getVariableSearchResult(searchTerm: \"\", lastVariableId: \"\") {\n                ...dotWalkVariableSearchFragment\n            }\n        }\n    }\n    ${dotWalkVariableSearchFragment}\n`;\n\nconst fetchPathMetadata = createGraphQLEffect(dotwalkPathDataQuery, {\n\tvariableList: [\n\t\t'tableName',\n\t\t'path',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'includeFieldMetadata',\n\t\t'includeOnlyFilterableFields',\n\t\t'searchForVariables',\n\t],\n\tsuccessActionType: METADATA_PATH_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_PATH_FETCH_FAILED,\n\tstartActionType: METADATA_PATH_FETCH_STARTED,\n});\n\nexport default fetchPathMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_TABLE_FETCH_FAILED,\n\tMETADATA_TABLE_FETCH_STARTED,\n\tMETADATA_TABLE_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotwalkTableDataQuery = `\n    query($tableName: String!, $fieldInclusionList: [String], $fieldExclusionList: [String], $initialTable: String!, $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean, $shouldExcludeOperators: Boolean){\n        GlideConditionBuilder_Query {\n            dotwalkTableData(tableName: $tableName, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields: $includeOnlyFilterableFields, shouldExcludeOperators: $shouldExcludeOperators) {\n                tableName\n                tableLabel\n                dotwalkFieldData {\n                    name\n                    label\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n\t\t\t\t\treferenceKey\n                    dotwalkable\n                    excludedOperators\n                    fieldMetadata {\n\t\t\t\t\t\tname\n\t\t\t\t\t\ttype\n\t\t\t\t\t\tbase_type\n\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\tis_function\n\t\t\t\t\t\tattributes\n\t\t\t\t\t\tmultitext\n\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\tcansort\n\t\t\t\t\t\tcangroup\n\t\t\t\t\t\tmandatory\n\t\t\t\t\t\tread_only\n\t\t\t\t\t\tmax_length\n\t\t\t\t\t\thint\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\treference\n\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t}\n\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\tfilterable\n\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\textended_table\n\t\t\t\t\t}\n                }\n            }\n            dotwalkTableConfig(tableName: $initialTable) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\nconst fetchTableMetadata = createGraphQLEffect(dotwalkTableDataQuery, {\n\tvariableList: [\n\t\t'tableName',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'initialTable',\n\t\t'includeFieldMetadata',\n\t\t'includeOnlyFilterableFields',\n\t\t'shouldExcludeOperators',\n\t],\n\tsuccessActionType: METADATA_TABLE_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_TABLE_FETCH_FAILED,\n\tstartActionType: METADATA_TABLE_FETCH_STARTED,\n});\n\nexport default fetchTableMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_VARIABLES_FETCH_FAILED,\n\tMETADATA_VARIABLES_FETCH_STARTED,\n\tMETADATA_VARIABLES_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotwalkVariableDataQuery = `\n    query ($tableName: String!) {\n        GlideConditionBuilder_Query {\n            dotwalkVariableData(tableName: $tableName) {\n                catalogItems {\n                    id\n                    label\n                    variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                    }\n                }\n                variableSets {\n                    id\n                    label\n                    variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                    }\n                }\n            }\n        }\n    }\n\n`;\n\nconst fetchTableMetadata = createGraphQLEffect(dotwalkVariableDataQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: METADATA_VARIABLES_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_VARIABLES_FETCH_FAILED,\n\tstartActionType: METADATA_VARIABLES_FETCH_STARTED,\n});\n\nexport default fetchTableMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_STARTED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n} from '../actions';\n\nimport { dotWalkVariableSearchFragment } from './dotWalkVariableSearchFragment';\n\nconst dotwalkVariableSearchDataQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                ...dotWalkVariableSearchFragment\n            }\n        }\n    }\n    ${dotWalkVariableSearchFragment}\n`;\n\nconst fetchVariableSearchMetadata = createGraphQLEffect(\n\tdotwalkVariableSearchDataQuery,\n\t{\n\t\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\t\tsuccessActionType: METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n\t\terrorActionType: METADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\t\tstartActionType: METADATA_VARIABLES_SEARCH_FETCH_STARTED,\n\t}\n);\n\nexport default fetchVariableSearchMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotWalkTableConfigQuery = `\n    query($tableName: String!){\n        GlideConditionBuilder_Query {\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\nconst fetchDotWalkConfig = createGraphQLEffect(dotWalkTableConfigQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\terrorActionType: DOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tstartActionType: DOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n});\n\nexport default fetchDotWalkConfig;\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport uniqWith from 'lodash/uniqWith';\nimport { t } from 'sn-translate';\n\nimport { METADATA_PATH_FETCHED } from '../../now-dot-walk';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\nimport { getVariablesSearchMetadata } from '../metadata/util';\n\nimport {\n\tMETADATA_PATH_FETCH_FAILED,\n\tMETADATA_PATH_FETCH_SUCCEEDED,\n\tMETADATA_TABLE_FETCHED,\n\tMETADATA_TABLE_FETCH_FAILED,\n\tMETADATA_TABLE_FETCH_SUCCEEDED,\n\t// TODO: deprecate\n\tMETADATA_VARIABLES_FETCHED,\n\tMETADATA_VARIABLES_FETCH_FAILED,\n\tMETADATA_VARIABLES_FETCH_SUCCEEDED,\n\t// end deprecate\n\tMETADATA_VARIABLES_SEARCH_FETCHED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\tMETADATA_EXTENDED_FIELDS_FETCHED,\n\tDOT_WALK_TABLE_CONFIG_FETCHED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n} from './actions';\nimport {\n\tdotWalkPathFetchEffect,\n\tdotWalkTableFetchEffect,\n\tdotWalkVariableFetchEffect,\n\tdotWalkVariableSearchFetchEffect,\n\tdotWalkExtendedFieldsFetchEffect,\n} from './http';\nimport dotWalkTableConfigFetchEffect from './http/dotWalkTableConfigFetchEffect';\nimport { getMetadataBehaviorOptions } from './util';\n\nconst fetchErrorMessage = t(\n\t'Error occurred while fetching data. Please contact your system administrator'\n);\n\nconst fetchErrorHandler = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({\n\t\terror: fetchErrorMessage,\n\t});\n};\n\nconst transformMetadataKeys = (dotWalkFieldData, tableName) => {\n\tif (!dotWalkFieldData) return {};\n\n\t// Some tables have duplicate labels. In order to differentiate the items in the panel, we\n\t// identify which labels are duplicated so that a secondary value can be added to the item\n\tconst labelCounter = {};\n\tdotWalkFieldData.forEach(({ label }) => {\n\t\tif (labelCounter[label]) {\n\t\t\tlabelCounter[label]++;\n\t\t} else {\n\t\t\tlabelCounter[label] = 1;\n\t\t}\n\t});\n\n\tconst result = {};\n\tdotWalkFieldData.forEach(\n\t\t({\n\t\t\tname,\n\t\t\tlabel,\n\t\t\treferenceTable,\n\t\t\ttype,\n\t\t\tdotwalkable,\n\t\t\treferenceTableDefaultField,\n\t\t\treferenceKey,\n\t\t\tfieldMetadata,\n\t\t\texcludedOperators,\n\t\t}) => {\n\t\t\tresult[name] = {\n\t\t\t\tdisplayValue: label,\n\t\t\t\tsecondaryValue: labelCounter[label] > 1 ? name : undefined,\n\t\t\t\tisReference: dotwalkable,\n\t\t\t\tparent: tableName,\n\t\t\t\treferenceDataKey: referenceTable,\n\t\t\t\treferenceTableDefaultField,\n\t\t\t\treferenceKey,\n\t\t\t\ttype,\n\t\t\t\tdisabled: type === 'extended_table',\n\t\t\t\tfieldMetadata: fieldMetadata ? { ...fieldMetadata } : null,\n\t\t\t\texcludedOperators,\n\t\t\t};\n\t\t}\n\t);\n\n\treturn result;\n};\n\n// TODO: deprecate\nconst transformVariableMetadataKeys = (dotWalkVariableData) => {\n\tif (!dotWalkVariableData) return {};\n\n\tconst result = {};\n\n\tconst innerFn = ({ id, label, variables }) => {\n\t\tif (isEmpty(variables)) return;\n\t\tresult[id] = {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tvariables,\n\t\t};\n\t};\n\n\tconst catalogItems = get(dotWalkVariableData, 'catalogItems', []);\n\tcatalogItems.forEach(innerFn);\n\n\tconst variableSets = get(dotWalkVariableData, 'variableSets', []);\n\tvariableSets.forEach(innerFn);\n\n\treturn result;\n};\n\nconst transformExtendedFieldsMetadataKeys = (dotWalkExtendedFieldsData) => {\n\tconst extendedTableData = get(\n\t\tdotWalkExtendedFieldsData,\n\t\t'extendedTableData'\n\t);\n\tconst result = {};\n\n\tif (!extendedTableData) return result;\n\n\textendedTableData.forEach(({ tableLabel, tableName, dotwalkFieldData }) => {\n\t\tresult[tableName] = {\n\t\t\tdisplayValue: tableLabel,\n\t\t\tdotwalkFieldData: dotwalkFieldData.map(\n\t\t\t\t({\n\t\t\t\t\tlabel,\n\t\t\t\t\tname,\n\t\t\t\t\ttype,\n\t\t\t\t\treferenceTable,\n\t\t\t\t\treferenceTableDefaultField,\n\t\t\t\t\tfieldMetadata,\n\t\t\t\t}) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdisplayValue: label,\n\t\t\t\t\t\tisReference: false,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\treferenceTable,\n\t\t\t\t\t\treferenceTableDefaultField,\n\t\t\t\t\t\tparent: tableName,\n\t\t\t\t\t\tfieldMetadata: fieldMetadata\n\t\t\t\t\t\t\t? { ...fieldMetadata }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t),\n\t\t};\n\t});\n\n\treturn result;\n};\n\nconst transformVariablesSearchMetadata = (\n\tpreviousMetadata,\n\tupdatedMetadata\n) => {\n\t// remove duplicate variables by sysId\n\tconst updatedVariables = uniqWith(\n\t\t[\n\t\t\t...(previousMetadata?.variables || []),\n\t\t\t...(updatedMetadata?.variables || []),\n\t\t],\n\t\t(a, b) => a.sysId === b.sysId\n\t);\n\n\treturn {\n\t\t...previousMetadata,\n\t\t...updatedMetadata,\n\t\ttimestamp: new Date().getTime(), // cache busting for seismic\n\t\tvariables: updatedVariables,\n\t};\n};\n\nconst updateDotWalkConfigState = (coeffects) => (tableName, dotWalkConfig) => {\n\tconst { updateDotWalkConfig } = getMetadataBehaviorOptions(coeffects);\n\tconst dotWalkConfigForTable = {\n\t\t[tableName]: dotWalkConfig,\n\t};\n\tupdateDotWalkConfig(coeffects)(dotWalkConfigForTable);\n};\n\nconst updateMetadataState = (coeffects) => (tableName, dotWalkFieldData) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\t[tableName]: transformMetadataKeys(dotWalkFieldData, tableName),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\n// TODO: deprecate\nconst updateVariableMetadataState = (coeffects) => (dotWalkVariableData) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\tvariables: transformVariableMetadataKeys(dotWalkVariableData),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\nconst updateVariableSearchMetadataState = (coeffects) => ({\n\tdata,\n\tsearchTerm,\n}) => {\n\tconst { getMetadata, updateMetadata } = getMetadataBehaviorOptions(\n\t\tcoeffects\n\t);\n\tconst previousMetadata = getMetadata(coeffects)();\n\n\tconst previousSearchTermMeta = getVariablesSearchMetadata(\n\t\tpreviousMetadata,\n\t\tsearchTerm\n\t);\n\n\tconst updatedSearchTermMeta = {\n\t\t[searchTerm]: transformVariablesSearchMetadata(\n\t\t\tpreviousSearchTermMeta,\n\t\t\tdata\n\t\t),\n\t};\n\n\tupdateMetadata(coeffects)(\n\t\tupdatedSearchTermMeta,\n\t\t'metadata.variables_search'\n\t);\n};\n\nconst updateExtendedFieldsMetadataState = (coeffects) => (\n\tdotWalkExtendedFieldsData\n) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\textendedFields: transformExtendedFieldsMetadataKeys(\n\t\t\tdotWalkExtendedFieldsData\n\t\t),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\nconst tableMetadataFetchSuccessHandler = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst dotWalkTableData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkTableData'\n\t);\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tconst tableName = get(dotWalkTableData, 'tableName');\n\tconst dotWalkFieldData = get(dotWalkTableData, 'dotwalkFieldData');\n\tif (!tableName || !dotWalkFieldData) return;\n\n\tupdateMetadataState(coeffects)(tableName, dotWalkFieldData);\n\n\tupdateState({\n\t\tpath: 'dotWalkModel.config',\n\t\tvalue: dotWalkTableConfigData,\n\t\toperation: 'set',\n\t});\n};\n\nconst getContentType = (nowDotWalkMode) => {\n\tswitch (nowDotWalkMode) {\n\t\tcase 'VARIABLES':\n\t\t\treturn panelItemContentTypes.VARIABLES;\n\t\tcase 'EXTENDED_FIELDS': // since extended fields are interleaved with field metadata we want the content type as field metadata\n\t\tcase 'TABLE_FIELDS':\n\t\t\treturn panelItemContentTypes.FIELD_METADATA;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n};\n\nconst variablesKey = 'variables';\nconst questionsKey = 'questions';\n\n/**\n * Helper function to get the dot walk config data while accounting for inclusion and exclusion list\n * @param {Object} coeffects seismic coeffects\n * @param {Object} action seismic action with config data\n * @returns {Object} Config with transformed showQuestions and showVariables fields\n */\nexport const getDotWalkConfigData = (coeffects, action) => {\n\tconst dotWalkTableConfigData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkTableConfig',\n\t\t{\n\t\t\tshowExtendedFields: false,\n\t\t\tshowQuestions: false,\n\t\t\tshowVariables: false,\n\t\t}\n\t);\n\n\tconst fieldInclusionList = get(\n\t\tcoeffects,\n\t\t'properties.fieldInclusionList',\n\t\t[]\n\t);\n\n\tconst fieldExclusionList = get(\n\t\tcoeffects,\n\t\t'properties.fieldExclusionList',\n\t\t[]\n\t);\n\n\tconst inclusionSet = new Set(fieldInclusionList);\n\tconst exclusionSet = new Set(fieldExclusionList);\n\n\tconst ignoreVariables =\n\t\t(inclusionSet.size > 0 && !inclusionSet.has(variablesKey)) ||\n\t\texclusionSet.has(variablesKey);\n\tconst ignoreQuestions =\n\t\t(inclusionSet.size > 0 && !inclusionSet.has(questionsKey)) ||\n\t\texclusionSet.has(questionsKey);\n\n\tif (ignoreVariables) dotWalkTableConfigData.showVariables = false;\n\n\tif (ignoreQuestions) dotWalkTableConfigData.showQuestions = false;\n\n\treturn dotWalkTableConfigData;\n};\n\nconst pathMetadataFetchSuccessHandler = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst {\n\t\taction: {\n\t\t\tmeta: {\n\t\t\t\toptions: {\n\t\t\t\t\tvariables: { searchForVariables },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tconst tableDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkTableData'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.tableData';\n\tlet dotWalkTableDataArr = get(action, tableDataPath);\n\tif (!Array.isArray(dotWalkTableDataArr)) {\n\t\tdotWalkTableDataArr = [dotWalkTableDataArr];\n\t}\n\n\tconst variableDataPath = searchForVariables\n\t\t? 'payload.data.GlideVariables_Query.getVariableSearchResult'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.variableData';\n\tconst dotWalkVariables = get(action, variableDataPath);\n\n\tconst dotWalkModeDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkPathData.dotwalkMode'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.pathData.dotwalkMode';\n\tconst dotWalkMode = get(action, dotWalkModeDataPath);\n\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tconst dotWalkDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkPathData.path'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.pathData.path';\n\tconst dotWalkPath = get(action, dotWalkDataPath, []).map((path) => {\n\t\treturn { ...path, parent: path.table };\n\t});\n\n\tif (!dotWalkTableDataArr) return;\n\n\tdotWalkTableDataArr.forEach((tableData) => {\n\t\tconst tableName = get(tableData, 'tableName');\n\t\tconst dotWalkFieldData = get(tableData, 'dotwalkFieldData');\n\t\tif (!tableName || !dotWalkFieldData) return;\n\t\tupdateMetadataState(coeffects)(tableName, dotWalkFieldData);\n\t});\n\n\tif (dotWalkVariables) {\n\t\tupdateVariableSearchMetadataState(coeffects)({\n\t\t\tdata: dotWalkVariables,\n\t\t\tsearchTerm: '',\n\t\t});\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'contentType',\n\t\t\tvalue: getContentType(dotWalkMode),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'dotWalkModel.path',\n\t\t\tvalue: dotWalkPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'dotWalkModel.config',\n\t\t\tvalue: dotWalkTableConfigData,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n// TODO: deprecate\nconst variableMetadataSuccessHandler = (coeffects) => {\n\tconst { action } = coeffects;\n\n\tconst dotwalkVariableData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkVariableData'\n\t);\n\n\tif (!dotwalkVariableData) return;\n\n\tupdateVariableMetadataState(coeffects)(dotwalkVariableData);\n};\n\nconst variableSearchMetadataSuccessHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tmeta: { searchTerm = '' },\n\t\t},\n\t} = coeffects;\n\n\tconst dotwalkVariableSearchData = get(\n\t\taction,\n\t\t'payload.data.GlideVariables_Query.getVariableSearchResult'\n\t);\n\n\tif (!dotwalkVariableSearchData) return;\n\n\tupdateVariableSearchMetadataState(coeffects)({\n\t\tdata: dotwalkVariableSearchData,\n\t\tsearchTerm,\n\t});\n};\n\nconst extendedFieldsMetadataSuccessHandler = (coeffects) => {\n\tconst { action } = coeffects;\n\n\tconst dotWalkExtendedFieldsData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkExtendedFieldsData'\n\t);\n\n\tif (!dotWalkExtendedFieldsData) return;\n\n\tupdateExtendedFieldsMetadataState(coeffects)(dotWalkExtendedFieldsData);\n};\n\nconst dotWalkTableConfigSuccessHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate: {\n\t\t\tproperties: { tableName },\n\t\t},\n\t} = coeffects;\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tupdateDotWalkConfigState(coeffects)(tableName, dotWalkTableConfigData);\n};\n\nconst actionHandlers = {\n\t[METADATA_PATH_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_PATH_FETCH_SUCCEEDED]: pathMetadataFetchSuccessHandler,\n\t[METADATA_PATH_FETCHED]: dotWalkPathFetchEffect,\n\t[METADATA_TABLE_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_TABLE_FETCH_SUCCEEDED]: tableMetadataFetchSuccessHandler,\n\t[METADATA_TABLE_FETCHED]: dotWalkTableFetchEffect,\n\n\t// TODO: deprecate\n\t[METADATA_VARIABLES_FETCHED]: dotWalkVariableFetchEffect,\n\t[METADATA_VARIABLES_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_VARIABLES_FETCH_SUCCEEDED]: variableMetadataSuccessHandler,\n\t// end deprecate\n\n\t[METADATA_VARIABLES_SEARCH_FETCHED]: dotWalkVariableSearchFetchEffect,\n\t[METADATA_VARIABLES_SEARCH_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED]: variableSearchMetadataSuccessHandler,\n\n\t[METADATA_EXTENDED_FIELDS_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED]: extendedFieldsMetadataSuccessHandler,\n\t[METADATA_EXTENDED_FIELDS_FETCHED]: dotWalkExtendedFieldsFetchEffect,\n\t[DOT_WALK_TABLE_CONFIG_FETCHED]: dotWalkTableConfigFetchEffect,\n\t[DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED]: dotWalkTableConfigSuccessHandler,\n\t[DOT_WALK_TABLE_CONFIG_FETCH_FAILED]: fetchErrorHandler,\n};\n\nexport {\n\tactionHandlers as default,\n\tfetchErrorHandler,\n\tfetchErrorMessage,\n\ttableMetadataFetchSuccessHandler,\n\tpathMetadataFetchSuccessHandler,\n};\n","import actionHandlers from './actionHandlers';\n\nconst metadataBehavior = {\n\tname: 'dotWalkMetadataBehavior',\n\tactionHandlers,\n};\n\nexport default metadataBehavior;\n","/* eslint-disable no-console */\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport { t } from 'sn-translate';\n\nconst TRANSFORM_ERROR_MESSAGE = t(\n\t'Invalid transformMetadata function provided to NowDotWalkConnected. Expected an object return value.'\n);\n\nconst INVALID_TRANSFORM_MESSAGE = t(\n\t'Expected transformMetadata to be a function'\n);\n\nconst getTransformedMetadata = (metadata, transformMetadata) => {\n\tif (!metadata) return {};\n\tif (!isFunction(transformMetadata)) {\n\t\tconsole.error(INVALID_TRANSFORM_MESSAGE);\n\t\treturn metadata;\n\t}\n\n\tconst metadataWithTransform = transformMetadata(metadata);\n\tif (!isObject(metadataWithTransform)) {\n\t\tconsole.error(TRANSFORM_ERROR_MESSAGE);\n\t\treturn metadata;\n\t}\n\n\treturn metadataWithTransform;\n};\n\nexport default getTransformedMetadata;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { dotWalkBehavior, metadataBehavior } from '../behaviors';\nimport { NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED } from '../behaviors/dotWalk';\n\nimport { CONNECTED_PATH_UPDATED } from './actions';\nimport baseStyle from './now-dot-walk.scss';\nimport NowDotWalk from './NowDotWalkConnected.view';\nimport {\n\tcomponentBootstrappedHandler,\n\tcomponentErrorHandler,\n\tcomponentPropertyChangedHandler,\n} from './state';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\n/**\n * @enum {dotWalkEnabledFieldTypeOptions}\n */\nexport const dotWalkEnabledFieldTypeOptions = {\n\tREFERENCE: 'reference',\n\tGLIDE_LIST: 'glide_list',\n};\n\n/**\n * Now Dot Walk Connected is a table-based wrapper component for Now Dot Walk.\n *\n * ```\n *  <now-dot-walk-connected\n *     dot-walk-path={path}\n *     table-name={table}\n *  />\n * ```\n *\n * @seismicElement now-dot-walk-connected\n * @summary A table-based wrapper component for Now Dot Walk.\n */\nconst nowDotWalkConnectedElement = createCustomElement(\n\t'sn-dot-walk-connected-v1',\n\t{\n\t\tdispatches: {\n\t\t\t/**\n\t\t\t * Dispatched when the dot walk path is updated\n\t\t\t *\n\t\t\t * @type {{path: string}}\n\t\t\t */\n\t\t\t[CONNECTED_PATH_UPDATED]: {},\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * The field types that can be dot walked. `dotWalkEnabledFieldTypeOptions` can be imported from now-dot-walk-connected.\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {dotWalkEnabledFieldTypeOptions[]}\n\t\t\t */\n\t\t\tdotWalkEnabledFieldTypes: {\n\t\t\t\tdefault: [dotWalkEnabledFieldTypeOptions.REFERENCE],\n\t\t\t\tschema: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t},\n\t\t\t},\n\t\t\t/**\n\t\t\t * Initial path value.\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tdotWalkPath: {\n\t\t\t\tdefault: '',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * The table used to fetch metadata.\n\t\t\t * Required: Yes\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\ttableName: {\n\t\t\t\tdefault: '',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * List of fields to limit dotwalk to\n\t\t\t *\n\t\t\t * @type {string[]}\n\t\t\t */\n\t\t\tfieldInclusionList: {\n\t\t\t\tdefault: [],\n\t\t\t\tschema: { type: 'array' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * List of fields to filter from the dotwalk\n\t\t\t *\n\t\t\t * @type {string[]}\n\t\t\t */\n\t\t\tfieldExclusionList: {\n\t\t\t\tdefault: [],\n\t\t\t\tschema: { type: 'array' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Flag to enable showing all columns for the given table\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeAllColumns: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Flag to enable the inclusion of template metadata attributes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeTemplateMetadata: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Function to transform the metadata model\n\t\t\t * Required: No\n\t\t\t * @type {function (metadata)}\n\t\t\t */\n\t\t\ttransformMetadata: {\n\t\t\t\tdefault: (metadata) => metadata,\n\t\t\t},\n\t\t\t/**\n\t\t\t * Set to true if you want to disable dot walking\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t\t/**\n\t\t\t * Flag to enable fetching of additional field metadata\n\t\t\t * Required: No\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeFieldMetadata: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Boolean option to allow journal fields to show up in dotwalk\n\t\t\t * Required: No\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeOnlyFilterableFields: {\n\t\t\t\tdefault: true,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Specifies direction of layout\n\t\t\t * rtl = right to left\n\t\t\t * ltr = left to right\n\t\t\t * Required: No\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tdir: {\n\t\t\t\tdefault: 'ltr',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * ---- HANDLED IN METADATA BEHAVIOR ----\n\t\t\t * Metadata used to render dot walk panels\n\t\t\t * Required: No\n\t\t\t * @type {object}\n\t\t\t * interface {\n\t\t\t *   [tableKey: string]: {\n\t\t\t *     [fieldKey: string]: {\n\t\t\t *       displayValue: string;\n\t\t\t *       isReference: boolean;\n\t\t\t *       referenceDataKey: string;\n\t\t\t *     }\n\t\t\t *   }\n\t\t\t * }\n\t\t\t * metadata: {\n\t\t\t *   default: {},\n\t\t\t *   schema: { type: 'object' },\n\t\t\t * },\n\t\t\t */\n\t\t},\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t\t[NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED]: {\n\t\t\t\teffect: ({ action: { payload }, dispatch }) => {\n\t\t\t\t\tif (payload.combinedPath !== 'variables.') {\n\t\t\t\t\t\tdispatch(CONNECTED_PATH_UPDATED, payload);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true,\n\t\t\t},\n\t\t},\n\t\tbehaviors: [dotWalkBehavior, metadataBehavior, rtlBehavior],\n\t\tinitialState: {\n\t\t\tdotWalkModel: {\n\t\t\t\tpath: [],\n\t\t\t\tmetadata: {},\n\t\t\t},\n\t\t},\n\t\trenderer: { type: snabbdom },\n\t\tview: NowDotWalk,\n\t\tstyles: [baseStyle],\n\t}\n);\n\nexport default nowDotWalkConnectedElement;\n","import isEmpty from 'lodash/isEmpty';\n\nimport '../../now-dot-walk';\nimport getTransformedMetadata from './getTransformedMetadata';\n\nexport default (state) => {\n\tconst {\n\t\tdotWalkModel,\n\t\terror,\n\t\tproperties: { dir, transformMetadata, tableName, hideDotWalking },\n\t\tmetadata,\n\t\tcontentType,\n\t} = state;\n\n\tconst { path, leafPathSource, config } = dotWalkModel;\n\tconst metadataWithTransform = getTransformedMetadata(\n\t\tmetadata,\n\t\ttransformMetadata\n\t);\n\n\tconst leafPathSourceWithDefaults = isEmpty(path)\n\t\t? tableName\n\t\t: leafPathSource || '';\n\n\treturn (\n\t\t<now-dot-walk\n\t\t\tdotWalkPath={path}\n\t\t\tmetadata={metadataWithTransform}\n\t\t\tleafPathSource={leafPathSourceWithDefaults}\n\t\t\terror={error}\n\t\t\tdir={dir}\n\t\t\ttableName={tableName}\n\t\t\tcontentType={contentType}\n\t\t\tdotWalkConfig={config}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t\tcomponentVersion={1}\n\t\t/>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { dotWalkEnabledFieldTypeOptions } from '../v1/now-dot-walk-connected';\n\nimport view from './view';\n\ncreateCustomElement('now-dot-walk-connected', {\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * The field types that can be dot walked. `dotWalkEnabledFieldTypeOptions` can be imported from now-dot-walk-connected.\n\t\t * Required: No\n\t\t *\n\t\t * @type {dotWalkEnabledFieldTypeOptions[]}\n\t\t */\n\t\tdotWalkEnabledFieldTypes: {\n\t\t\tdefault: [dotWalkEnabledFieldTypeOptions.REFERENCE],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Initial path value.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The table used to fetch metadata.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * List of fields to limit dotwalk to\n\t\t *\n\t\t * @type {string[]}\n\t\t */\n\t\tfieldInclusionList: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * List of fields to filter from the dotwalk\n\t\t *\n\t\t * @type {string[]}\n\t\t */\n\t\tfieldExclusionList: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Flag to enable showing all columns for the given table\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAllColumns: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Flag to enable the inclusion of template metadata attributes\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeTemplateMetadata: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Function to transform the metadata model\n\t\t * Required: No\n\t\t * @type {function (metadata)}\n\t\t */\n\t\ttransformMetadata: {\n\t\t\tdefault: (metadata) => metadata,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Flag to enable fetching of additional field metadata\n\t\t * Required: No\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeFieldMetadata: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Boolean option to allow journal fields to show up in dotwalk\n\t\t * Required: No\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeOnlyFilterableFields: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tcomponentVersion: {\n\t\t\tdefault: 1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t},\n});\n","export default (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentVersion,\n\t\t\tdotWalkEnabledFieldTypes,\n\t\t\tdotWalkPath,\n\t\t\ttableName,\n\t\t\tfieldInclusionList,\n\t\t\tfieldExclusionList,\n\t\t\tincludeAllColumns,\n\t\t\tincludeTemplateMetadata,\n\t\t\ttransformMetadata,\n\t\t\thideDotWalking,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t\tdir,\n\t\t},\n\t} = state;\n\n\tif (componentVersion === 1) {\n\t\timport('../v1/now-dot-walk-connected');\n\t\treturn (\n\t\t\t<sn-dot-walk-connected-v1\n\t\t\t\tdotWalkEnabledFieldTypes={dotWalkEnabledFieldTypes}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\ttableName={tableName}\n\t\t\t\tfieldInclusionList={fieldInclusionList}\n\t\t\t\tfieldExclusionList={fieldExclusionList}\n\t\t\t\tincludeAllColumns={includeAllColumns}\n\t\t\t\tincludeTemplateMetadata={includeTemplateMetadata}\n\t\t\t\ttransformMetadata={transformMetadata}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\tincludeFieldMetadata={includeFieldMetadata}\n\t\t\t\tincludeOnlyFilterableFields={includeOnlyFilterableFields}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (componentVersion === 2) {\n\t\timport('../v2/sn-dot-walk-connected');\n\t\treturn (\n\t\t\t<sn-dot-walk-connected-v2\n\t\t\t\tdir={dir}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\tfieldExclusionList={fieldExclusionList}\n\t\t\t\tfieldInclusionList={fieldInclusionList}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\ttableName={tableName}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n};\n","export const PANEL_ITEM_TYPES = {\n\titem: 'ITEM',\n\tdotWalkable: 'DOTWALKABLE',\n\theading: 'HEADING',\n};\n\nexport const VARIABLES_PATH = 'variables'; // internalValue\nexport const VARIABLES_REFERENCE_SOURCE = 'variable~question';\n\n// These values are defined in the GlideVariables_Query api\nexport const VARIABLES_SEARCH_OPERATOR_TYPES = {\n\tENDSWITH: 'ENDSWITH',\n\tLIKE: 'LIKE',\n\tSTARTSWITH: 'STARTSWITH',\n};\n\nexport const UPDATE_OPERATIONS = {\n\tMERGE: 'MERGE',\n\tSET: 'SET',\n};\n","export const SN_DOT_WALK_SEARCH_INPUTTED = 'SN_DOT_WALK#SEARCH_INPUTTED';\nexport const NOW_DOT_WALK_SEARCH_TERM_CHANGED =\n\t'NOW_DOT_WALK#SEARCH_TERM_CHANGED';\nexport const NOW_DOT_WALK_LOAD_MORE_REQUESTED =\n\t'NOW_DOT_WALK#LOAD_MORE_REQUESTED';\n\nexport const SN_DOT_WALK_BREADCRUMBS_CLICKED =\n\t'SN_DOT_WALK#BREADCRUMBS_CLICKED';\nexport const SN_DOT_WALK_PATH_UPDATED = 'SN_DOT_WALK#PATH_UPDATED';\n\nexport const NOW_DOT_WALK_PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const SN_DOT_WALK_ITEM_CLICKED = 'SN_DOT_WALK#ITEM_CLICKED';\nexport const SN_DOT_WALK_SEARCH_KEY_PRESSED = 'SN_DOT_WALK_SEARCH#KEY_PRESSED';\nexport const NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS =\n\t'NOW_DOT_WALK#FETCH_PANEL_DEFINITIONS';\nexport const SN_DOT_WALK_PANEL_ITEM_ARROW_UP_DOWN_PRESSED =\n\t'SN_DOT_WALK_PANEL_ITEM#ARROW_UP_DOWN_PRESSED';\n\nexport const SN_DOT_WALK_PANEL_LOAD_MORE_CLICKED =\n\t'SN_DOT_WALK_PANEL#LOAD_MORE_CLICKED';\n","import {\n\tVARIABLES_PATH,\n\tVARIABLES_REFERENCE_SOURCE,\n} from '../common/constants';\n\n/**\n * Utility function to determine is a dotwalk path is a variable path\n * @param {(string|array)} path\n * @returns {boolean}\n */\nexport const isVariablePath = (path) => {\n\t// dotwalk path string\n\tif (typeof path === 'string') {\n\t\treturn (\n\t\t\tpath === VARIABLES_PATH || path?.startsWith(`${VARIABLES_PATH}.`)\n\t\t);\n\t}\n\t// dotwalk path array\n\telse if (Array.isArray(path)) {\n\t\treturn path.some((item) => isVariableSource(item.reference));\n\t}\n\n\treturn false;\n};\n\n/**\n * Utility function to determine if a source is a variable source (variables~question)\n * @param {string} string\n * @returns {boolean}\n */\nexport const isVariableSource = (source) =>\n\tsource === VARIABLES_REFERENCE_SOURCE;\n","export const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_SUCCESS';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_FAILURE';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#PATH_UPDATED';\n\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_WITH_VARIABLES_REQUESTED';\n\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_FAILED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_STARTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED =\n\t'SN_DOT_WALK_CONNECTED_VARIABLES#FETCH_SUCCEEDED';\n","export const panelDataFragment = `\n    fragment panelDataFragment on GlidePredicateBuilder_DotwalkPanelDataWithInfoMessagesType { \n        panelData {\n            dotwalkPath {\n                internalValue\n                displayValue\n                source\n                reference\n            }\n            panelDefinitions {\n                source\n                items {\n                    itemType\n                    internalValue\n                    displayValue\n                    reference\n                    selectable\n                    initialPanelOnly\n                }\n            }\n        }\n        infoMessages {\n            status\n            header\n            content\n        }\n    }\n`;\n\nexport const tableMetadataFragment = `\n    fragment tableMetadataFragment on GlidePredicateBuilder_TableMetadataWithInfoMessagesType { \n        tableMetadata {\n            name\n            label\n            fieldMetadata {\n                name\n                label\n                type\n                referenceTable\n                referenceTableDefaultField\n                referenceKey\n            }\n        }\n        infoMessages {\n            status\n            header\n            content\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n} from './actionTypes';\nimport {\n\tpanelDataFragment,\n\ttableMetadataFragment,\n} from './fetchDataEffectFragment';\n\nconst dotWalkConnectedDataQuery = `\n    query ($tableName: String!, $path: String, $includeOnlyFilterableFields: Boolean, $fieldInclusionList: [String], $fieldExclusionList: [String], $disableDotwalking: Boolean, $includeTableMetadata: Boolean!) {\n        GlidePredicateBuilder_Query  @include(if: $includeTableMetadata) {\n\t\t    getTableMetadata(tableName: $tableName, path: \"\", includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList) {\n                ...tableMetadataFragment\n            }\n\t\t\n            getPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n                ...panelDataFragment\n            }\n        }\n\n\t\tGlidePredicateBuilder_Query  @skip(if: $includeTableMetadata) {\n\t\t\tgetPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n\t\t\t\t...panelDataFragment\n\t\t\t}\n\t\t}\n    }\n\t${panelDataFragment}\n\t${tableMetadataFragment}\n`;\n\nexport const fetchDataEffect = createGraphQLEffect(dotWalkConnectedDataQuery, {\n\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\tvariableList: [\n\t\t'disableDotwalking',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'includeOnlyFilterableFields',\n\t\t'includeTableMetadata',\n\t\t'path',\n\t\t'tableName',\n\t],\n});\n","export const variablesSearchFragment = `\n    fragment variablesSearchFragment on GlideVariables_VariableSearchResultType {\n        allRecordsSearched\n        lastVariableId\n        variables {\n            sysId\n            displayValue\n            referenceTable\n            referenceTableDefaultField\n            type\n            catalogItem {\n                sysId\n                name\n            }\n            variableSet {\n                sysId\n                name\n            }\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n} from './actionTypes';\nimport {\n\tpanelDataFragment,\n\ttableMetadataFragment,\n} from './fetchDataEffectFragment';\nimport { variablesSearchFragment } from './variablesSearchFragment';\n\n/**\n * This query is primarily used when coming in with a variable dotwalk (aka. \"variables.90b72d4b4f7b4200086eeed18110c701\"). The primary difference\n * between this query and the normal \"fetchDataEffect\" is that this query needs to fetch the first panel's panelData using a hardcoded empty string,\n * as well as the variable search data.\n */\n\nconst dotWalkConnectedDataQuery = `\n    query ($tableName: String!, $path: String, $includeOnlyFilterableFields: Boolean, $fieldInclusionList: [String], $fieldExclusionList: [String], $disableDotwalking: Boolean, $includeTableMetadata: Boolean!) {\n        GlidePredicateBuilder_Query  @include(if: $includeTableMetadata) {\n\t\t    getTableMetadata(tableName: $tableName, path: \"\", includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList) {\n                ...tableMetadataFragment\n            }\n\t\t\n            getPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n                ...panelDataFragment\n            }\n        }\n\n\t\tGlidePredicateBuilder_Query  @skip(if: $includeTableMetadata) {\n\t\t\tgetPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n\t\t\t\t...panelDataFragment\n\t\t\t}\n\t\t}\n\n        GlidePredicateBuilder_Query {\n            getDotwalkVariablePathData: getDotwalkPathData(tableName: $tableName, path: $path) {\n                internalValue\n                displayValue\n                source\n                reference\n            }\n        }\n\n        GlideVariables_Query {\n            getVariableSearchResult(searchTerm: \"\", lastVariableId: \"\") {\n                ...variablesSearchFragment\n            }\n        }\n        \n    }\n    \n    ${panelDataFragment}\n    ${tableMetadataFragment}\n    ${variablesSearchFragment}\n`;\n\nexport const fetchDataWithVariablesEffect = createGraphQLEffect(\n\tdotWalkConnectedDataQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\t\tvariableList: [\n\t\t\t'disableDotwalking',\n\t\t\t'fieldInclusionList',\n\t\t\t'fieldExclusionList',\n\t\t\t'includeOnlyFilterableFields',\n\t\t\t'includeTableMetadata',\n\t\t\t'path',\n\t\t\t'tableName',\n\t\t],\n\t}\n);\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n} from './actionTypes';\nimport { variablesSearchFragment } from './variablesSearchFragment';\n\nconst dotwalkVariablesSearchDataQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                ...variablesSearchFragment\n            }\n        }\n    }\n    ${variablesSearchFragment}\n`;\n\nexport const fetchVariablesSearch = createGraphQLEffect(\n\tdotwalkVariablesSearchDataQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED,\n\t\tstartActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n\t\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\t}\n);\n","import get from 'lodash/get';\n\nimport { PANEL_ITEM_TYPES } from '../../common/constants';\n\nexport const getPanelDefinitions = (payload) => {\n\tconst data = get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getPanelData.panelData.panelDefinitions',\n\t\t[]\n\t);\n\n\tif (!Array.isArray(data)) {\n\t\treturn {};\n\t}\n\n\treturn data.reduce((accumulator, { source, items }) => {\n\t\taccumulator[source] = { items };\n\t\treturn accumulator;\n\t}, {});\n};\n\nexport const getTableMetadata = (payload) => {\n\tconst data = get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getTableMetadata.tableMetadata',\n\t\t[]\n\t);\n\n\tif (!Array.isArray(data)) {\n\t\treturn {};\n\t}\n\n\treturn data.reduce((accumulator, { name, fieldMetadata }) => {\n\t\tconst tableItem = {};\n\n\t\tfieldMetadata.forEach((field) => {\n\t\t\ttableItem[field.name] = field;\n\t\t});\n\n\t\taccumulator[name] = tableItem;\n\t\treturn accumulator;\n\t}, {});\n};\n\nexport const getDotwalkPath = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getPanelData.panelData.dotwalkPath',\n\t\t[]\n\t);\n};\n\nexport const getCombinedPathDisplay = (updatedPath = []) => {\n\tconst DOT_WALK_PATH_SEPARATOR = ' > ';\n\n\treturn updatedPath\n\t\t.filter((pathItem) => pathItem.displayValue)\n\t\t.map((pathItem) => pathItem.displayValue)\n\t\t.join(DOT_WALK_PATH_SEPARATOR);\n};\n\n/**\n * Custom function to create panel definitions and table metadata for the variables panel from a variables search api response\n * @param {*} metadata\n * @returns {object}\n */\nexport const createVariablesData = (metadata) => {\n\tconst { variables } = metadata || {};\n\tconst panelDefinitions = [];\n\tconst tableMetadata = {};\n\n\tif (Array.isArray(variables)) {\n\t\tvariables.forEach((variable) => {\n\t\t\t// Note: if a variable is associated with both a catalogItem AND a variableSet, show the catalogItem name\n\t\t\tconst description =\n\t\t\t\tvariable?.catalogItem?.name || variable?.variableSet?.name;\n\n\t\t\tpanelDefinitions.push({\n\t\t\t\tdescription,\n\t\t\t\tdisplayValue: variable.displayValue,\n\t\t\t\tinitialPanelOnly: false,\n\t\t\t\tinternalValue: variable.sysId,\n\t\t\t\titemType: PANEL_ITEM_TYPES.item,\n\t\t\t\treference: variable.referenceTable,\n\t\t\t\tselectable: true,\n\t\t\t});\n\n\t\t\ttableMetadata[variable.sysId] = {\n\t\t\t\tname: variable.sysId,\n\t\t\t\tlabel: variable.displayValue,\n\t\t\t\ttype: variable.type,\n\t\t\t\treferenceTable: variable.referenceTable,\n\t\t\t\treferenceTableDefaultField: variable.referenceTableDefaultField,\n\t\t\t\treferenceKey: null,\n\t\t\t};\n\t\t});\n\t}\n\n\treturn { panelDefinitions, tableMetadata };\n};\n\nexport const getVariablesMetadataFromQuery = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlideVariables_Query.getVariableSearchResult',\n\t\t{}\n\t);\n};\n\nexport const getVariablesDotwalkPathFromQuery = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getDotwalkVariablePathData',\n\t\t[]\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport {\n\tUPDATE_OPERATIONS,\n\tVARIABLES_REFERENCE_SOURCE,\n\tVARIABLES_SEARCH_OPERATOR_TYPES,\n} from '../../common/constants';\nimport {\n\tNOW_DOT_WALK_FETCH_PANEL_DEFINITIONS,\n\tNOW_DOT_WALK_PATH_UPDATED,\n\tNOW_DOT_WALK_SEARCH_TERM_CHANGED,\n\tNOW_DOT_WALK_LOAD_MORE_REQUESTED,\n} from '../../sn-dot-walk/actionTypes';\nimport { isVariablePath, isVariableSource } from '../../utils/variableUtils';\n\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n} from './actionTypes';\nimport { fetchDataEffect } from './fetchDataEffect';\nimport { fetchDataWithVariablesEffect } from './fetchDataWithVariablesEffect';\nimport { fetchVariablesSearch } from './fetchVariablesSearchEffect';\nimport {\n\tcreateVariablesData,\n\tgetCombinedPathDisplay,\n\tgetDotwalkPath,\n\tgetPanelDefinitions,\n\tgetTableMetadata,\n\tgetVariablesDotwalkPathFromQuery,\n\tgetVariablesMetadataFromQuery,\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Get DW connected data like panel definitions and table metadata\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchNowDotwalkConnectedData = (dispatch, queryVariables) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED,\n\t\tqueryVariables\n\t);\n};\n\n/**\n * Get DW connected data like panel definitions, table metadata, and variables search\n * Used when the initial query is for a variable path\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchNowDotwalkConnectedDataWithVariables = (\n\tdispatch,\n\tqueryVariables\n) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED,\n\t\tqueryVariables\n\t);\n};\n\n/**\n * Get variables search data with a search term. Also handles loading more variables (pagination)\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchVariablesSearchData = (dispatch, queryVariables = {}) => {\n\tconst { lastVariableId, operator, searchTerm } = queryVariables;\n\n\tconst updatedQueryVariables = {\n\t\tlastVariableId: lastVariableId || '',\n\t\toperator: operator || VARIABLES_SEARCH_OPERATOR_TYPES.LIKE,\n\t\tsearchTerm: searchTerm || '',\n\t};\n\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED,\n\t\tupdatedQueryVariables,\n\t\tupdatedQueryVariables // second argument is for action meta reference\n\t);\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tdotWalkPath: path,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tfieldInclusionList,\n\t\t\t\thideDotWalking,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\ttableName,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst includeTableMetadata = get(options, 'includeTableMetadata', false);\n\n\tconst queryVariables = {\n\t\tdisableDotwalking: hideDotWalking,\n\t\tincludeOnlyFilterableFields,\n\t\tincludeTableMetadata,\n\t\tfieldExclusionList,\n\t\tfieldInclusionList,\n\t\tpath,\n\t\ttableName,\n\t};\n\n\tif (isVariablePath(path)) {\n\t\tfetchNowDotwalkConnectedDataWithVariables(dispatch, queryVariables);\n\t} else {\n\t\tfetchNowDotwalkConnectedData(dispatch, queryVariables);\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, options },\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tdotWalkPath: path,\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\thideDotWalking,\n\t\t\tincludeOnlyFilterableFields,\n\t\t\ttableName,\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t[\n\t\t\t'dotWalkPath',\n\t\t\t'fieldExclusionList',\n\t\t\t'fieldInclusionList',\n\t\t\t'hideDotWalking',\n\t\t\t'includeOnlyFilterableFields',\n\t\t\t'tableName',\n\t\t].includes(name)\n\t) {\n\t\tconst includeTableMetadata = get(\n\t\t\toptions,\n\t\t\t'includeTableMetadata',\n\t\t\tfalse\n\t\t);\n\n\t\tconst queryVariables = {\n\t\t\tdisableDotwalking: hideDotWalking,\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\tincludeOnlyFilterableFields,\n\t\t\tincludeTableMetadata,\n\t\t\tpath,\n\t\t\ttableName,\n\t\t};\n\n\t\tif (isVariablePath(path)) {\n\t\t\tfetchNowDotwalkConnectedDataWithVariables(dispatch, queryVariables);\n\t\t} else {\n\t\t\tfetchNowDotwalkConnectedData(dispatch, queryVariables);\n\t\t}\n\t}\n};\n\nconst handleNowDotwalkFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { dotWalkPath, path, source, options },\n\t\t},\n\t\tproperties: {\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t} = coeffects;\n\n\t// dotwalking to a variable or searching for variables\n\tif (isVariableSource(source) || isVariablePath(dotWalkPath)) {\n\t\thandleVariablesSearch(coeffects);\n\t} else {\n\t\tconst includeTableMetadata = get(\n\t\t\toptions,\n\t\t\t'includeTableMetadata',\n\t\t\tfalse\n\t\t);\n\n\t\tconst queryVariables = {\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\tincludeOnlyFilterableFields,\n\t\t\tincludeTableMetadata,\n\t\t\tpath: path || '',\n\t\t\ttableName: source,\n\t\t};\n\t\tfetchNowDotwalkConnectedData(dispatch, queryVariables);\n\t}\n};\n\nconst handleNowDotWalkSearchChange = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source, hasBeenPreviouslySearched },\n\t\t},\n\t} = coeffects;\n\n\tif (isVariableSource(source) && !hasBeenPreviouslySearched) {\n\t\thandleVariablesSearch(coeffects);\n\t}\n};\n\n/**\n * Handles searching for variables\n * Checks variable cache first before fetching\n * @param {*} coeffect\n */\nconst handleVariablesSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm },\n\t\t},\n\t} = coeffects;\n\n\tconst queryVariables = {\n\t\tlastVariableId,\n\t\tsearchTerm: searchTerm ?? '',\n\t};\n\tfetchVariablesSearchData(dispatch, queryVariables);\n};\n\n/**\n * Default succsss handler when fetching DW connected data (or DW connected variable data when coming in with a variable DW path)\n * @param {*} coeffects\n */\nconst handleFetchDataSuccess = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst dotWalkConnectedDataBehavior = get(\n\t\tstate,\n\t\t'behaviors.dotWalkConnectedDataBehavior',\n\t\t{}\n\t);\n\n\tconst variablesTableMetadata = get(\n\t\tdotWalkConnectedDataBehavior,\n\t\t`tableMetadata.${VARIABLES_REFERENCE_SOURCE}`,\n\t\t{}\n\t);\n\n\tconst { panelDefinitions, tableMetadata } = dotWalkConnectedDataBehavior;\n\n\tconst fetchedPanelDefinitions = getPanelDefinitions(payload);\n\tconst fetchedTableMetadata = getTableMetadata(payload);\n\n\tlet dotWalkPath = null;\n\tlet variablePanelDefinitions = {};\n\tlet variableTableMetadata = {};\n\n\t// only the variables flow will have GlideVariables_Query present in the data\n\tif (get(payload, 'data.GlideVariables_Query')) {\n\t\tdotWalkPath = getVariablesDotwalkPathFromQuery(payload);\n\n\t\tconst fetchedVariablesMetadata = getVariablesMetadataFromQuery(payload);\n\n\t\tconst { allRecordsSearched, lastVariableId } =\n\t\t\tfetchedVariablesMetadata || {};\n\n\t\tconst { panelDefinitions, tableMetadata } = createVariablesData(\n\t\t\tfetchedVariablesMetadata\n\t\t);\n\n\t\tvariablePanelDefinitions = {\n\t\t\t[VARIABLES_REFERENCE_SOURCE]: {\n\t\t\t\tallItemsLoaded: allRecordsSearched,\n\t\t\t\titems: panelDefinitions,\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams: {\n\t\t\t\t\tlastVariableId,\n\t\t\t\t\tsearchTerm: '',\n\t\t\t\t\tsource: VARIABLES_REFERENCE_SOURCE,\n\t\t\t\t},\n\t\t\t\tsearchTerm: '',\n\t\t\t\tupdateOperation: UPDATE_OPERATIONS.MERGE,\n\t\t\t},\n\t\t};\n\n\t\tvariableTableMetadata = {\n\t\t\t[VARIABLES_REFERENCE_SOURCE]: {\n\t\t\t\t...variablesTableMetadata,\n\t\t\t\t...tableMetadata,\n\t\t\t},\n\t\t};\n\t} else {\n\t\tdotWalkPath = getDotwalkPath(payload);\n\t}\n\n\tconst newState = {\n\t\t...dotWalkConnectedDataBehavior,\n\t\tpanelDefinitions: {\n\t\t\t...panelDefinitions,\n\t\t\t...fetchedPanelDefinitions,\n\t\t\t...variablePanelDefinitions,\n\t\t},\n\t\ttableMetadata: {\n\t\t\t...tableMetadata,\n\t\t\t...fetchedTableMetadata,\n\t\t\t...variableTableMetadata,\n\t\t},\n\t};\n\n\t// have to check since now dot walk may only be fetching for new panel definitions\n\tif (dotWalkPath) {\n\t\tnewState.dotWalkPath = dotWalkPath;\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'behaviors.dotWalkConnectedDataBehavior',\n\t\tvalue: newState,\n\t});\n};\n\n/**\n * Success handler for fetching variable data only\n * @param {*} coeffects\n */\nconst handleVariablesFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { searchTerm: searchTermProp },\n\t\t\tpayload,\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst VARIABLES_TABLEMETADATA_PATH = `behaviors.dotWalkConnectedDataBehavior.tableMetadata.${VARIABLES_REFERENCE_SOURCE}`;\n\n\tconst variablesTableMetadata = get(state, VARIABLES_TABLEMETADATA_PATH, {});\n\n\tconst searchTerm = searchTermProp ?? '';\n\n\t// get fetched metatdata from query response\n\tconst fetchedMetadata = getVariablesMetadataFromQuery(payload);\n\n\tconst { panelDefinitions, tableMetadata } = createVariablesData(\n\t\tfetchedMetadata\n\t);\n\n\tconst { allRecordsSearched, lastVariableId } = fetchedMetadata || {};\n\n\tupdateState([\n\t\t{\n\t\t\tpath: VARIABLES_TABLEMETADATA_PATH,\n\t\t\t// always merge with existing table metadata since we cache results on the presentational level\n\t\t\tvalue: {\n\t\t\t\t...variablesTableMetadata,\n\t\t\t\t...tableMetadata,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.dotWalkConnectedDataBehavior.panelDefinitions.${VARIABLES_REFERENCE_SOURCE}`,\n\t\t\tvalue: {\n\t\t\t\tallItemsLoaded: allRecordsSearched,\n\t\t\t\titems: panelDefinitions, // only contains the most recent query results\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams: {\n\t\t\t\t\tlastVariableId,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsource: VARIABLES_REFERENCE_SOURCE,\n\t\t\t\t},\n\t\t\t\tsearchTerm,\n\t\t\t\tupdateOperation: UPDATE_OPERATIONS.MERGE,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Variable load more handler\n * @param {*} coeffects\n */\nconst handleLoadMoreRequested = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm, source },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isVariableSource(source)) {\n\t\tfetchVariablesSearchData(dispatch, {\n\t\t\tlastVariableId,\n\t\t\tsearchTerm,\n\t\t});\n\t}\n};\n\nconst handleNowDotwalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\tconst { path, combinedPath } = payload;\n\n\tlet updatedPath = path;\n\n\tif (isVariablePath(path) && Array.isArray(path)) {\n\t\tupdatedPath = path.map((item) => {\n\t\t\tconst updatedItem = { ...item };\n\n\t\t\tObject.keys(updatedItem).forEach((key) => {\n\t\t\t\t// replace the variable~question source/refence with item_option_new\n\t\t\t\tif (updatedItem[key] === VARIABLES_REFERENCE_SOURCE) {\n\t\t\t\t\tupdatedItem[key] = 'item_option_new';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn updatedItem;\n\t\t});\n\t}\n\n\tdispatch(SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED, {\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(path),\n\t\tpath: updatedPath,\n\t\tselectedFieldData: last(updatedPath),\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS]: {\n\t\teffect: handleNowDotwalkFetchPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_LOAD_MORE_REQUESTED]: {\n\t\teffect: handleLoadMoreRequested,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_SEARCH_TERM_CHANGED]: {\n\t\teffect: handleNowDotWalkSearchChange,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleNowDotwalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED]: {\n\t\t...fetchDataEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS]: {\n\t\teffect: handleFetchDataSuccess,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED]: {\n\t\t...fetchDataWithVariablesEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED]: {\n\t\t...fetchVariablesSearch,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED]: {\n\t\teffect: handleVariablesFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import actionHandlers from './actionHandlers';\n\nconst handleInitialState = () => {\n\treturn { dotWalkPath: [], panelDefinitions: {}, tableMetadata: {} };\n};\n\nconst dotWalkConnectedDataBehavior = {\n\tname: 'dotWalkConnectedDataBehavior',\n\tsetInitialState: handleInitialState,\n\tproperties: {\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tdotWalkPath: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tfieldExclusionList: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\tfieldInclusionList: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\thideDotWalking: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tincludeOnlyFilterableFields: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\ttableName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers,\n};\n\nexport default dotWalkConnectedDataBehavior;\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_dot_walk=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":596,"column":0},"map":{"mappings":";;;;;;;;;;;;eAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,IAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,6ECDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,gwxBAA2wxB,KAEpzxB,S,gBCNQ,IAAII,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,UCVpC,SAASyB,IACP,OAAO7B,EAAOC,QAAU4B,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAClF,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUxB,OAAQuB,IAAK,CACzC,IAAIE,EAAID,UAAUD,GAClB,IAAK,IAAIG,KAAKD,GAAG,CAAG,GAAEE,eAAeC,KAAKH,EAAGC,KAAOJ,EAAEI,GAAKD,EAAEC,GAC/D,CACA,OAAOJ,CACT,EAAGjC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS4B,EAASW,MAAM,KAAML,UACxG,CACAnC,EAAOC,QAAU4B,EAAU7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR5FwC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBxB,IAAjByB,EACH,OAAOA,EAAa3C,QAGrB,IAAID,EAASyC,EAAyBE,GAAY,CACjDrB,GAAIqB,EAEJ1C,QAAS,CAAC,GAOX,OAHA4C,EAAoBF,GAAU3C,EAAQA,EAAOC,QAASyC,GAG/C1C,EAAOC,OACf,CCrBAyC,EAAoBT,EAAKjC,IACxB,IAAI8C,EAAS9C,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA0C,EAAoBK,EAAED,EAAQ,CAAEE,EAAGF,IAC5BA,CAAM,ECLdJ,EAAoBK,EAAI,CAAC9C,EAASgD,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAElD,EAASiD,IAC5EpB,OAAOsB,eAAenD,EAASiD,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,IAE1E,ECNDR,EAAoBS,EAAI,CAACI,EAAKC,IAAU1B,OAAO2B,UAAUnB,eAAeC,KAAKgB,EAAKC,GCClFd,EAAoBL,EAAKpC,IACH,oBAAXyD,QAA0BA,OAAOC,aAC1C7B,OAAOsB,eAAenD,EAASyD,OAAOC,YAAa,CAAEC,MAAO,WAE7D9B,OAAOsB,eAAenD,EAAS,aAAc,CAAE2D,OAAO,GAAO,E,sCCH9D,MAAM,EAFEC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3BA,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,WAAW,EAC7T,oBAAyB,KAC3B,MAAMF,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEE,oBAInGF,EAAuFE,qBAAuBF,EAAgG,SAAKA,EAAgG,QAAEE,mBAAmB,ICnBpV,MAAM,EAFEL,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAYI,EAAoGvC,SAAWuC,EAAoGxC,WAG9N,OAAIoC,EACHI,EAA6G,QAAEC,cAIhHD,EAAoGC,eAAiBD,EAA6G,SAAKA,EAA6G,QAAEC,aAAa,EACxW,QAAa,KACf,MAAML,EAAYI,EAAoGvC,SAAWuC,EAAoGxC,WACrO,OAAIoC,EACII,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdJ,EACHI,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,CAEhI,ICnBzW,MAAM,EAFEN,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,oBAAyB,KAC7D,MAAMC,EAAYM,EAAmGzC,SAAWyC,EAAmG1C,WAG5N,OAAIoC,EACHM,EAA4G,QAAEC,oBAI/GD,EAAmGC,qBAAuBD,EAA4G,SAAKA,EAA4G,QAAEC,mBAAmB,EACjX,kBAAuB,KACzB,MAAMP,EAAYM,EAAmGzC,SAAWyC,EAAmG1C,WAG5N,OAAIoC,EACHM,EAA4G,QAAEE,kBAI/GF,EAAmGE,mBAAqBF,EAA4G,SAAKA,EAA4G,QAAEE,iBAAiB,I,sBCnBpX,MAAM,EAFEV,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,EAAO,KAC3C,MAAMC,EAAYS,EAAiF5C,SAAW4C,EAAiF7C,WAGxL,OAAIoC,EACHS,EAA0F,QAAEpC,EAI7FoC,EAAiFpC,GAAKoC,EAA0F,SAAKA,EAA0F,QAAEpC,CAAC,ICTjRqC,EACA,aADAA,EAEA,aAGAC,EAA2B,CACvC,CAACD,GAA4B,aAC7B,CAACA,GAA4B,cAEjBE,EAAM,MACNC,EAAS,SACTC,EAAS,SACTC,EAAO,OACPC,EAAQ,QACRC,EAAO,OACPC,EAAQ,KACRC,EAAS,KACTC,EAAQ,KAERC,EAAO,OACPC,EAAc,cACdC,EAAc,cACdC,EAAoB,oBACpBC,EAA8C,8CAC9CC,EAAiD,iDACjDC,GAA+BtD,EAAAA,EAAAA,GAAE,0BACjCuD,GAAgCvD,EAAAA,EAAAA,GAAE,2BAClCwD,GAA8BxD,EAAAA,EAAAA,GAAE,yBAChCyD,GAAiCzD,EAAAA,EAAAA,GAAE,4BACnC0D,GAAgC1D,EAAAA,EAAAA,GAAE,sBAElC2D,EAAmB,mBACnBC,GAA+B5D,EAAAA,EAAAA,GAAE,2BACjC6D,GAAuC7D,EAAAA,EAAAA,GAAE,kCACzC8D,GAAuB9D,EAAAA,EAAAA,GAAE,aACzB+D,GAAwB/D,EAAAA,EAAAA,GAAE,cAC1BgE,GAAsBhE,EAAAA,EAAAA,GAAE,YACxBiE,GAAyBjE,EAAAA,EAAAA,GAAE,eAO3BkE,EACP,WADOA,GAEL,2BAGKC,GAAyC,CACrD,EAAC,GAAO,eACR,EAAC,GAAQ,gBAGGC,GAAiC,CAC7C,CAACvB,GAAQ,KACT,CAACC,GAAS,KACV,CAACC,GAAQ,MAGGsB,GAAoC,CAChD,CAAC9B,GAAM,qBACP,CAACC,GAAS,wBACV,CAACC,GAAS,wBACV,CAACE,GAAQ,uBACT,CAACD,GAAO,uBCnEDjB,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,EAAY,EAE3B,CAAE,CAAG,GAA1C,MCFa6C,GAAmB,uCACnBC,GAAoB,wCACpBC,GAAqB,yCAGrBC,GAAkC,sDAClCC,GAAqB,yCACrBC,GAAyB,6CACzBC,GAA8B,kDAC9BC,GACb,4BAGaC,GAAiB,oCCTjBC,GAAYC,IAAuC,IAAtC,SAACC,EAAQ,cAAEC,EAAa,OAAEC,GAAOH,EAC1D,MAAM,SAACI,EAAQ,WAAEC,EAAU,UAAEC,EAAS,YAAEC,EAAW,cAAEC,EAAa,aAAEC,GAAgBN,EAapF,OACCnD,EAAAA,EAAAA,eAAA,OAAK0D,UAAU,eACd1D,EAAAA,EAAAA,eAAA,uBACC2D,KAAMP,EACNQ,KAAK,KACLC,QAAQ,YACRC,aAAW,EACXC,WAAY,CACXC,OAAQ,CACP,aAAcT,IAGhB,WAvBuBU,KACzBhB,EAASX,GAAiB,EAuBxB4B,SAAUhB,IAAkBxC,GAAQwC,IAAkB3C,EACtD,kBAAiBgD,KAElBvD,EAAAA,EAAAA,eAAA,uBACC2D,KAAMN,EACNO,KAAK,KACLC,QAAQ,YACRC,aAAW,EACXC,WAAY,CACXC,OAAQ,CACP,aAAcR,IAGhB,WAlCyBW,KAC3BlB,EAAST,GAAmB,EAkC1B0B,SAAUhB,IAAkBtC,EAC5B,kBAAiB4C,KAElBxD,EAAAA,EAAAA,eAAA,uBACC2D,KAAML,EACNM,KAAK,KACLC,QAAQ,YACRC,aAAW,EACXC,WAAY,CACXC,OAAQ,CACP,aAAcP,IAGhB,WA5CwBW,KAC1BnB,EAASV,GAAkB,EA4CzB2B,SAAUhB,IAAkBvC,GAASuC,IAAkBzC,EACvD,kBAAiBgD,IAEb,EC9DAhE,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,EAAY,EAE3B,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,EAAY,EAE3B,CAAE,CAAG,GCA1C,MAAM,GAFEA,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,gBAAqB,KACzD,MAAMC,EAAY0E,EAAsF7G,SAAW6G,EAAsF9G,WAGlM,OAAIoC,EACH0E,EAA+F,QAAEC,gBAIlGD,EAAsFC,iBAAmBD,EAA+F,SAAKA,EAA+F,QAAEC,eAAe,EAClU,mBAAwB,KAC1B,MAAM3E,EAAY0E,EAAsF7G,SAAW6G,EAAsF9G,WAGlM,OAAIoC,EACH0E,EAA+F,QAAEE,mBAIlGF,EAAsFE,oBAAsBF,EAA+F,SAAKA,EAA+F,QAAEE,kBAAkB,ICAzUC,GAAUxB,IACsG,IADrG,SAACyB,EAAQ,SAAEC,EAAQ,cAAEC,EAAa,cAAEC,EAAa,gBAAEC,EAAe,iBAAEC,EAAgB,qBACpGC,EAAoB,oBAAEC,EAAmB,SAAEC,EAAQ,uBAAEC,EAAsB,aAAEC,EAAY,qBAAEC,GAAqBpC,EAEhH,MAAMqC,EAAkB5H,IAAA,CACvBkG,KAAM,uBACNE,QAAS,YACTD,KAAM,KACN,gBAAgB,EAChB0B,MAAM,EACN,iBAAkB,CAAC,CAACpD,GAAkCA,KACnD8C,EAAoBO,aAGc,CAAC,MAAO,SAAU,UAGrBC,SAASR,EAAoBS,WAA+B,eAAlBb,EAFvC,CAAC,OAAQ,QAAS,UAIhBY,SAASR,EAAoBS,WAA+B,eAAlBb,IACjFI,EAAoBS,SAAW,QAF/BT,EAAoBS,SAAW,MAIhC,IAAIC,GAAgB1H,EAAAA,EAAAA,GAAE,iBAAkB6G,GAUxC,MATiB,cAAbI,EACHS,GAAgB1H,EAAAA,EAAAA,GAAE,qBAAsB0H,GACnB,eAAbT,EACRS,GAAgB1H,EAAAA,EAAAA,GAAE,sBAAuB0H,GACpB,YAAbT,EACRS,GAAgB1H,EAAAA,EAAAA,GAAE,mBAAoB0H,GACjB,cAAbT,IACRS,GAAgB1H,EAAAA,EAAAA,GAAE,qBAAsB0H,KAGxC1F,EAAAA,EAAAA,eAAA,OACC2F,MAAO,CACN,eAAe,EACfC,OAAQlB,EACRD,WACA,CAACnE,EAAyBsE,KAAiB,GAE5CiB,MAAOlB,EACPmB,KAAK,QACL,aAAYhB,GAEXC,GACA/E,EAAAA,EAAAA,eAAA,oBAAAvC,IAAA,CACCkI,MAAO,CACN,kBAAkB,EAClB,CAACtD,GAAkC2C,EAAoBS,UAAYlF,KAAO,EAC1E,CAAC4B,GAAuCkD,EAAmB,mBAAmB,EAC9E,CAACjD,GAA+BiD,EAAmBzB,QAAQ,IAExDyB,IAEkB,MAGxBrF,EAAAA,EAAAA,eAAA,OAAK0D,UAAWgB,EAAW,gBAAkB,SAC5CqB,SAAS,IACTD,KAAK,YACL,mBAAkBlB,IAAkBvE,EAA4B,WAAa,aAC7E,gBAAc,IACd,gBAAc,MACd,gBAAewE,EACf,iBAAgBa,EAChB,cAAaM,IAAA,IAAC,IAACC,GAAID,EAAA,OAAKb,EAAac,EAAI,EACzC,eAAcC,IAAMf,EAAa,MACjC,mBAAiB,4BAElBnF,EAAAA,EAAAA,eAAA,eACC9C,GAAG,yBACH,aAAYgI,EACZ9I,QAASgJ,IAEL,EAIFe,GAAgBC,IAK2C,IAL1C,cACtBxB,EAAa,SAAEH,EAAQ,cAAEvB,EAAa,WAAEmD,EAAU,OAAEC,EAAM,cAAE3B,EAAa,cACzE4B,EAAa,cAAEC,EAAa,iBAAEC,EAAgB,aAAEC,EAAY,aAAEC,EAAY,kBAC1EC,EAAiB,mBAAEC,EAAkB,iBAAEC,EAAgB,oBAAEC,EAAmB,iBAAEjC,EAAgB,qBAC9FC,EAAoB,oBAAEC,EAAmB,YAAEgC,EAAW,sBAAEC,EAAqB,SAAEhC,EAAQ,uBACvFC,EAAsB,aAAEC,EAAY,qBAAEC,GAAqBgB,EAIvDlD,IAAkBxC,GAAQwC,IAAkB3C,IAC/CiG,EAAgB,GAEbtD,IAAkBvC,GAASuC,IAAkBzC,IAChD+F,EAAgB,KAEjB,MAAMU,EAActC,IAAkBvE,EAEtC,OACCL,EAAAA,EAAAA,eAAA,OAAK0D,UAAW,0BAA0BR,KAAiB8D,EAAc,gBAAkB,MAAMX,EAAa,cAAgB,MAAM/F,EAAyBsE,IAAkB,OAC9K5E,EAAAA,EAAAA,eAAA,OACC6F,MAAO,CACNsB,KAAM,EACN,CAACD,EAAc,WAAa,aAAcR,EAC1C,iBAAkBL,EAAa,OAAS,QAEzC3C,UAAW,GAAGwD,EAAcxG,EAAOH,SACnC,aAAY2G,EAAcN,EAAoBE,IAE9C9G,EAAAA,EAAAA,eAAA,QAAMoH,KAAMF,EAAcxG,EAAOH,MAGjCP,EAAAA,EAAAA,eAACwE,GAAO,CACPE,SAAUuC,GAAyBZ,EACnC1B,cAAeA,EACfF,SAAUA,EACVG,cAAeA,EACfC,gBAAiB8B,EACjB7B,iBAAkBA,EAClBC,qBAAsBA,EACtBC,oBAAqBA,EACrBC,SAAUA,EACVC,uBAAwBA,EACxBC,aAAcA,EACdC,qBAAsBA,KAExBpF,EAAAA,EAAAA,eAAA,OACC6F,MAAO,CACN,CAACqB,EAAc,QAAU,UAAWhE,IAAkBtC,IAAS0F,GAAUG,EAAmB,EACzF,GAAGA,MACH,GAAGD,KACN,CAACU,EAAc,WAAa,aAAcX,EAC1C,iBAAkBF,EAAa,OAAS,QAEzC3C,UAAW,GAAGwD,EAAcvG,EAAQF,SACpC,aAAYyG,EAAcL,EAAqBE,IAE/C/G,EAAAA,EAAAA,eAAA,QAAMoH,KAAMF,EAAcvG,EAAQF,KAG9B,EAIF4G,GAAc,SAACC,EAAapE,GAAuC,IAAxB8D,EAAWjJ,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,IAAAA,UAAA,GAC3D,MAAM,UAACwJ,EAAS,SAAEC,GAAYF,EACxBG,EAAW,CAACF,UAAW,MAAOC,SAAU,MAO9C,OANItE,IAAkBtC,GAASoG,IAC1BO,IACHE,EAASF,UAAY,GAAGA,OACrBC,IACHC,EAASD,SAAW,GAAGA,OAElB,OAAOC,EAASF,cAAcE,EAASD,WAC/C,ECzKaE,GAAqBlI,GACpB,IAAImI,OAAO,gBACZC,KAAKpI,GAGZqI,GAA0BC,GAAU,EAAIC,WAAWD,EAAOE,MAAM,GAAI,IA0B7DC,GAAqBA,CAACC,EAASC,KACvCD,EAAU,IACbA,EAAU,GACPA,EAAU,MACbA,EAAU,KACJC,EAAuBD,EAAU,KAG5BE,GAAqBA,CAACC,EAAQF,IACtCA,EAAuB,GAAKE,EAAS,EACjC,EACJA,EAASF,EACL,IACAE,EAASF,EAAwB,IA0B7BG,GAAqBA,CAACC,EAAuBJ,EAAsBK,KAC/E,MAAM,qBAACC,EAAoB,sBAAEC,GAAyBF,EAChDG,EAAiBF,EAAqBlB,UACtCqB,EAAcH,EAAqBjB,SACnCqB,EAAkBH,EAAsBnB,UACxCuB,EAAeJ,EAAsBlB,SAErCuB,EAAqBR,EACrBS,EAAsBb,ER5DI,EQ4DuCY,EACvE,IAAI,iBAACE,EAAgB,gBAAEC,GAhCmBC,EAACJ,EAAoBC,EAAqBL,EAAgBE,EAAiBV,KACrH,IAAIe,EACAD,EAeJ,OAbIF,EAAqBJ,GAExBO,EAAkBd,GADlBW,EAAqBJ,EACoCR,GACzDc,EAAmB,IAAMC,GACfF,EAAsBH,GAEhCI,EAAmBb,GADnBY,EAAsBH,EACqCV,GAC3De,EAAkB,IAAMD,IAExBC,EAAkBd,GAAmBW,EAAoBZ,GACzDc,EAAmB,IAAMC,GAGnB,CACNA,kBACAD,mBACA,EAYyCE,CAA4BJ,EAAoBC,EAAqBL,EAAgBE,EAAiBV,GAUhJ,OARIe,EAAkBN,GACrBM,EAAkBN,EAClBK,EAAmB,IAAMC,GACfD,EAAmBH,IAC7BG,EAAmBH,EACnBI,EAAkB,IAAMD,GAGlB,CACNC,kBACAD,mBACAD,oBAAqBf,GAAmBgB,EAAkBd,GAC1DY,mBAAoBd,GAAmBiB,EAAiBf,GACxD,EAGWiB,GAAqBA,CAACC,EAAYxE,EAAiB4D,EAAsBC,KAErF,MAAMH,EA5F0Be,EAACD,EAAYE,KAC7C,IAAIhB,EAAwB,EAE5B,GAAIb,GAAmB6B,GACtBhB,EAAwBV,GAAwB0B,GAC5ChB,EAAwBc,IAC3Bd,EAAwBc,GACrBd,EAAwB,IAC3BA,EAAwBc,EAAad,OAChC,CACN,MAAMiB,EAAwBzB,WAAWwB,GACzChB,EAAwBc,GAActB,WAAWyB,GAAyB,IAC3E,CASA,OAPIC,MAAMlB,KACTA,EAAwBc,EAAa,GAClCd,EAAwBc,IAC3Bd,EAAwBc,GACrBd,EAAwB,IAC3BA,EAAwB,GAElBA,CAAqB,EAuEEe,CAAkBD,EAAYxE,GAC5D,IAAI,gBACHqE,EAAe,mBACfH,GACGT,GAAmBC,EAAuBc,EAAY,CACzDZ,uBACAC,0BAeD,OAVmB,IAAfW,IACC3B,GAAmB7C,IACtBqE,EAAkB,KAClBH,EAAqBlB,GAAwBhD,KAE7CqE,EAAkBnB,WAAWlD,GAC7BkE,EAAqB,OAIhB,CACNW,mBAAoBR,EACpBX,sBAAuBQ,EACvB,EC3HF,MAAM,GAFEtJ,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYgK,EAAoGnM,SAAWmM,EAAoGpM,WACrO,OAAIoC,EACIgK,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdhK,EACHgK,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,CAEhI,ICTzW,MAAM,GAFElK,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYiK,EAAuGpM,SAAWoM,EAAuGrM,WAC3O,OAAIoC,EACIiK,EAAgH,SAAKA,EAAgH,QAAW,QAAIA,EAAgH,QAAW,QAAIA,EAAgH,QAChejK,EACHiK,EAAgH,QAAW,QAE3HA,EAAgH,QAAKA,EAAgH,QAAW,QAAIA,EAAgH,QAAW,QAAIA,EAAgH,QAAKA,CAEnI,ICTlX,MAAM,GAFEnK,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,CAAC,EAE3B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYkK,EAAsFrM,SAAWqM,EAAsFtM,WACzM,OAAIoC,EACIkK,EAA+F,SAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAC5ZlK,EACHkK,EAA+F,QAAW,QAE1GA,EAA+F,QAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAAKA,CAElH,KC2CzT,oBAACC,GAAmB,2BAAEC,GAA0B,uBAAEC,GAAsB,uBAAEC,IAA0BpK,EAAAA,YAE7FqK,GAAqBA,CAACrF,EAAiBsF,KACnD,MAAM,KAAEC,GAASD,GACX,oBAAEE,EAAmB,qBAAEC,EAAoB,mBAAEC,EAAkB,sBAAEC,EAAqB,YAAEtD,GAAgBiD,EAAMM,WAE9GhC,EAAuBvB,EAAcmD,EAAsBE,EAC3D7B,EAAwBxB,EAAcoD,EAAuBE,EAC7DnB,EAAanC,EAAciD,EAAMO,UAAUC,OAAO/G,KAAKgH,MAAQR,EAAKS,WAAWC,cAAc,mBAAmBC,cAErHxC,sBAAuByC,EACvBtB,mBAAoBuB,GACjB7B,GAAmBC,EAAYxE,EAAiB4D,EAAsBC,GAE1E,IAAIpC,GAAUoB,GAAmB7C,GACA,OAA7BmG,EACH1E,GAAS,EACyB,OAA1B2E,IACR3E,GAAS,GAOV,MAAO,CACNpD,cAAetC,EACf+F,aAPoBsE,EAQpBzE,cAPqB,IAAMyE,EAQ3BC,gBAPuBF,EAQvBvE,iBAPwB4C,EAAa2B,EAQrCnG,kBACAyB,SACA,GAiBFxG,EAAAA,EAAAA,qBAAoB,sBAAuB,CAC1CqL,SAAU,CAACC,KAAMC,EAAAA,SACjBC,KLmEmBA,CAACnB,EAAKoB,KAA8B,IAA5B,SAACtI,EAAQ,YAAEuI,GAAYD,EAClD,MAAME,GAAwBlH,EAAAA,GAAAA,oBAAmBD,GAAAA,gBAAgBoH,6CAC3DzE,EAAiE,SAAzCkD,EAAMwB,QAAQF,IAEtC,SACLhH,EAAUmH,UAAWC,EAAgB,KAAEvG,EAAI,cAAEX,EAAa,cAAEC,EAAa,iBAAEkH,EAAgB,YAAE5E,EAAW,kBACxGN,EAAiB,mBAAEC,EAAkB,iBAAEC,EAAgB,oBAAEC,EAAmB,iBAAEjC,EAAgB,qBAAEM,EAAoB,qBACpHL,EAAoB,oBAAEC,EAAmB,aAAE+G,EAAY,uBAAExC,EAAsB,qBAAEyC,GAAwB7B,EAAMM,WAGhH,IAAIwB,EAAQxO,IAAA,GAAO0M,GAEnB,IAAKA,EAAM+B,eAAsD,MAArC/B,EAAMO,UAAUC,OAAO/G,KAAKgH,OAAsD,GAArCT,EAAMO,UAAUC,OAAO/G,KAAKgH,OAChGoB,IAAyBpL,GAAQsG,EAAa,CACjD,MAAMiF,EAAiBjC,GAAmBX,EAAwBY,GAClE8B,EAAQxO,IAAA,GACJwO,EACAE,GAEJX,EAAW/N,IAAC,CAAC,EACT0O,EAAc,CACjBD,eAAe,EACfE,cAAc,IAEhB,CAGD,MAAM,WAAC/F,EAAU,aAAEM,EAAY,cAAEH,EAAa,cAAEtD,EAAa,iBAC5DuD,EAAgB,gBAAEyE,EAAe,OAAE5E,EAAM,gBAAE+F,EAAe,SAAEpH,EAAQ,uBACpEC,GAA0B+G,EACrBjF,EAAc+E,GAAgB7E,GAAehE,IAAkBtC,EAErE,OACCZ,EAAAA,EAAAA,eAAA,OAAK0D,UAAW4B,EAAO,sBAAwB,mBAC9CtF,EAAAA,EAAAA,eAACmG,GAAa,CACb1B,SAAUA,EACV4B,WAAYA,IAAe5B,EAC3BG,cAAeA,EACfD,cAAeA,EACfzB,cAAeA,EACfoD,OAAQA,EACRK,aAAcA,EACdH,cAAeA,EACfC,iBAAkBA,EAClByE,gBAAiBA,EACjBxE,aAAcW,GAAYyE,EAAiBrD,qBAAsBvF,EAAe8D,GAChFT,cAAec,GAAYyE,EAAiBpD,sBAAuBxF,EAAe8D,GAClFA,YAAaA,EACbJ,kBAAmBA,EACnBC,mBAAoBA,EACpBC,iBAAkBA,EAClBC,oBAAqBA,EACrBjC,iBAAkBA,EAClBC,qBAAsBA,EACtBC,oBAAqBA,EACrBiC,sBAAuBA,EACvBhC,SAAUA,EACVC,uBAAwBA,EACxBC,aAjDmBmH,GAAQC,YAAW,IAAMf,EAAY,CAACtG,uBAAwBoH,MAkDjFlH,qBAAsBA,IAGtByG,IAAqBpH,GAAWzE,EAAAA,EAAAA,eAAA,QAAMoH,KAAK,eAAapH,EAAAA,EAAAA,eAAC+C,GAAS,CAACE,SAAUA,EAAUE,OAAQkJ,EAAiBnJ,cAAeA,EAAegE,YAAaA,KAAmC,KAC1L,EKjIPsF,OAAQ3G,IACR4G,eAAAA,CAAezJ,GAAkG,IAAhGyH,YAAY,uBAAClB,EAAsB,qBAAEyC,EAAoB,YAAE9E,EAAW,gBAAEmF,EAAe,IAAEK,IAAK1J,EAC9G,MAAMsD,GAAUoB,GAAmB6B,GAC7BoD,EAAgB,QAARD,EACd,MAAO,CACNrG,YAAY,EACZnD,cAAe8I,EACfY,gBAAgB,EAChBpG,cAAeF,EAAU,IAAMiD,EAA0B,EACzD5C,aAAcL,EAASiD,EAAyB,EAEhD9C,iBAAkB,EAClByE,gBAAiB,EACjB5E,SACA8D,KAAM,CAAC,EAEPiC,gBAAe5O,IAAA,GACX4O,EAAe,CAClB9I,YAAa8I,EAAgB9I,cAC3B2D,EAAeyF,EAAQpL,EAAgCD,EAAgCE,GACzFgC,cAAe6I,EAAgB7I,eAAiB9B,EAChD+B,aAAc4I,EAAgB5I,eACzByD,EAAeyF,EAAQrL,EAA+BC,EAAiCE,KAE7FyD,uBAAwB,KACxBgH,eAAe,EACfW,sBAAuB,KAEzB,EACApC,WAAY,CAKXhG,SAAU,CACTjH,SAAS,EACTsP,OAAQ,CACP1B,KAAM,YAORxG,cAAe,CACdpH,QAAS,aACTsP,OAAQ,CACP1B,KAAM,SACN2B,KAAM,CAAC,aAAc,gBAOvB7F,YAAa,CACZ1J,SAAS,EACTsP,OAAQ,CACP1B,KAAM,WAEP4B,QAAAA,CAAQhH,GAAgC,IAA9ByE,YAAY,cAAC7F,IAAeoB,EACrC,OAAOpB,IAAkBvE,CAC1B,GAMDuL,UAAW,CACVpO,SAAS,EACTsP,OAAQ,CACP1B,KAAM,YAORiB,gBAAiB,CAChB7O,QAAS,CACR4F,SAAU,+BACVC,WAAY,iCACZC,UAAW,0BACXC,YAAajC,EACbkC,cAAe9B,EACf+B,aAAclC,GAEfuL,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXrH,SAAU,CACTgI,KAAM,UAEP/H,WAAY,CACX+H,KAAM,UAEP9H,UAAW,CACV8H,KAAM,UAEP7H,YAAa,CACZ6H,KAAM,UAEP5H,cAAe,CACd4H,KAAM,UAEP3H,aAAc,CACb2H,KAAM,YAIT6B,aAAa,GAMdlI,qBAAsB,CACrBvH,SAAS,EACTsP,OAAQ,CACP1B,KAAM,YAORpG,oBAAqB,CACpBxH,QAAS,CAAC,EACVsP,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXhF,SAAU,CACT2F,KAAM,SACN2B,KAAM,CAAC,MAAO,SAAU,OAAQ,QAAS,WAE1CxH,YAAa,CACZ5B,KAAM,CACLyH,KAAM,aAKV6B,aAAa,GAMd1D,uBAAwB,CACvB/L,QAAS,KACTsP,OAAQ,CACPI,MAAO,CACN,CACC9B,KAAM,UAEP,CACCA,KAAM,aASVzG,cAAe,CACdnH,QAAS,CAAC,EACVsP,OAAQ,CAAC1B,KAAM,WAMhBY,qBAAsB,CACrBxO,QAASoD,EACTkM,OAAQ,CACP1B,KAAM,SACN2B,KAAM,CAAC,OAAQ,QAAS,MAAO,SAAU,UAO3CzH,KAAM,CACL9H,SAAS,EACTsP,OAAQ,CACP1B,KAAM,YAORf,oBAAqB,CACpB7M,QAAS,CACRgK,SAAU,EACVD,UAAW,GAEZuF,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXjD,SAAU,CACT4D,KAAM,UAEP7D,UAAW,CACV6D,KAAM,aASVd,qBAAsB,CACrB9M,QAAS,CACRgK,SAAU,EACVD,UAAW,GAEZuF,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXjD,SAAU,CACT4D,KAAM,UAEP7D,UAAW,CACV6D,KAAM,aASVb,mBAAoB,CACnB/M,QAAS,CACRgK,SAAU,EACVD,UAAW,GAEZuF,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXjD,SAAU,CACT4D,KAAM,UAEP7D,UAAW,CACV6D,KAAM,aASVZ,sBAAuB,CACtBhN,QAAS,CACRgK,SAAU,EACVD,UAAW,GAEZuF,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXjD,SAAU,CACT4D,KAAM,UAEP7D,UAAW,CACV6D,KAAM,aASVU,iBAAkB,CACjBkB,QAAAA,CAAQ5G,GAAsH,IAApHqE,YAAY,cAAC7F,EAAa,oBAAEyF,EAAmB,qBAAEC,EAAoB,mBAAEC,EAAkB,sBAAEC,IAAuBpE,EAC3H,MAAMc,EAActC,IAAkBvE,EACtC,MAAO,CACNoI,qBAAsBvB,EAAcmD,EAAsBE,EAC1D7B,sBAAuBxB,EAAcoD,EAAuBE,EAE9D,EACAhN,QAAS,CACRgK,SAAU,EACVD,UAAW,GAEZuF,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXjD,SAAU,CACT4D,KAAM,UAEP7D,UAAW,CACV6D,KAAM,aASVW,aAAc,CACbvO,SAAS,EACTsP,OAAQ,CACP1B,KAAM,YAORxE,kBAAmB,CAClBpJ,QAASsE,EACTgL,OAAQ,CACP1B,KAAM,WAORvE,mBAAoB,CACnBrJ,QAASuE,EACT+K,OAAQ,CACP1B,KAAM,WAORtE,iBAAkB,CACjBtJ,QAASwE,EACT8K,OAAQ,CACP1B,KAAM,WAORrE,oBAAqB,CACpBvJ,QAASyE,EACT6K,OAAQ,CACP1B,KAAM,WAORtG,iBAAkB,CACjBtH,QAASoE,EACTkL,OAAQ,CACP1B,KAAM,WAORhG,qBAAsB,CACrB5H,QAASqE,EACTiL,OAAQ,CACP1B,KAAM,YAITV,UAAW,CACV,CACCyC,SAAUC,GAAAA,QACVC,QAAS,CACRC,iCAAiC,EACjCC,cAAe,CACdC,QAAQ,KAIXC,GAAAA,SAEDC,QAAS,CACR,CAAC9K,IAA8B,CAC9BkK,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACX5F,gBAAiB,CAChBqI,MAAO,CACN,CACC9B,KAAM,UAEP,CACCA,KAAM,eAOZ,CAAC3I,IAAkC,CAClCqK,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXvH,cAAe,CAACkI,KAAM,aAIzB,CAAC1I,IAAqB,CACrBoK,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACX5F,gBAAiB,CAChBqI,MAAO,CACN,CACC9B,KAAM,UAEP,CACCA,KAAM,eAOZ,CAACzI,IAAyB,CACzBmK,OAAQ,CACP1B,KAAM,SACNX,WAAY,CACXvH,cAAe,CAACkI,KAAM,cAK1BuC,eAAgB,CACf,CAAC7K,IAAiB,CACjB8K,iBAAiB,EACjBC,MAAAA,CAAOC,GACN,MACCC,QACCC,SAAS,SAACC,EAAQ,UAAEC,KAElBJ,GACJK,EAAAA,GAAAA,SAAML,EAAWI,EAAWD,EAC7B,GAED,CAAC3L,IAAmB,CACnBuL,MAAAA,CAAMtC,GAAiD,IAAhD,SAACtI,EAAUkH,OAAQM,YAAY,YAACvD,KAAcqE,EACpDtI,EAASR,GAAiC,CAACS,cAAegE,EAAcxG,EAAOH,EAAK6N,YAAanN,GAClG,EACA2M,iBAAiB,GAElB,CAACrL,IAAoB,CACpBsL,MAAAA,CAAMQ,GAAiD,IAAhD,SAACpL,EAAUkH,OAAQM,YAAY,YAACvD,KAAcmH,EACpDpL,EAASR,GAAiC,CAACS,cAAegE,EAAcvG,EAAQF,EAAQ2N,YAAanN,GACtG,EACA2M,iBAAiB,GAElB,CAACpL,IAAqB,CACrBqL,MAAAA,CAAMS,GAAa,IAAZ,SAACrL,GAASqL,EAChBrL,EAASR,GAAiC,CAACS,cAAetC,EAAMwN,YAAanN,GAC9E,EACA2M,iBAAiB,GAElB,CAAC/K,IAA4B,CAC5BgL,MAAAA,CAAMU,GAAqB,IAApB,OAACR,EAAM,SAAE9K,GAASsL,EACpBR,EAAOS,KAAKC,SAASvM,KAAqCA,KAC7De,EVrjBL,6CUsjBKA,EAASH,GAAgB,CAACoL,UZthBc,yCYuhBxCH,EAAOH,kBAET,GAED,CAAChL,IAA8B,CAC9BiL,MAAAA,CAAMa,GAA2C,IAA1C,OAAEX,EAAM,YAAEvC,EAAW,SAAEvI,EAAQ,MAAEkH,GAAOuE,EAC9C,MAAM,YAACN,EAAc,GAAE,SAAEnJ,EAAW,GAAE,gBAAE0J,GAAmBZ,EAAOC,SAEjE9K,cAAetC,EAAI,aACnB+F,EAAY,cACZH,EAAa,gBACb0E,EAAe,iBACfzE,EAAgB,gBAChB5B,EAAe,OACfyB,GACG4D,GAAmB6D,EAAOC,QAAQnJ,gBAAiBsF,GACvDqB,EAAY,CACXtI,cAAetC,EACf+F,eACAH,gBACA0E,kBACAzE,mBACA5B,kBACAyB,WAGG8H,IAAgBpN,GAAQoN,IAAgBjN,GAC3C8B,EAASP,GAAoB,CAC5BmC,gBAAiBkJ,EAAOC,QAAQnJ,gBAChCuJ,cACAlD,kBACAzE,qBAGE2H,IAAgBzM,GAAoBgF,IAAiBgI,GACxDnD,EAAY,CAAC3G,gBAAiB8B,EAAcL,QAAQ,EAAMrB,YAC5D,EACA2I,iBAAiB,GAElB,CAAClL,IAAqB,CACrBmL,MAAAA,CAAMe,GAAgC,IAA9Bb,QAAQ,QAACC,GAAQ,SAAE/K,GAAS2L,EACnC3L,EAASH,GAAgB,CAACoL,UZjkBU,mCYikB2BD,SAAUD,GAC1E,GAED,CAACvL,IAAkC,CAClCoL,MAAAA,CAAMgB,GAAyC,IAAxC,OAACd,EAAM,YAAEvC,EAAW,MAAErB,EAAK,SAAElH,GAAS4L,EAC5C,MAAM,cAAC3L,EAAa,YAAEkL,EAAc,IAAML,EAAOC,SAC3C,uBAACzE,GAA0BY,EAAMM,WACnCN,EAAMjH,gBAAkBA,IACvBA,IAAkBtC,GACrBqC,EAASL,GAA6B,CAACiC,gBAAiB0E,EAAwB6E,YAAapN,IAE9FwK,EAAY,CAACtI,gBAAe2B,gBAAiB0E,IACzC6E,IAAgBpN,IACnBiC,EAASN,GAAwB,CAACO,gBAAekL,gBACjDnL,EAASH,GAAgB,CAACoL,UZhlBU,sCYglB6BD,SAAU,CAAC/K,gBAAe4L,sBAAuB3E,EAAMjH,cAAekL,kBAG1I,EACAR,iBAAiB,GAElB,CAAC9D,IAAsB,CACtB+D,MAAAA,CAAMkB,GAAyC,IAAxC,MAAC5E,EAAK,YAAEqB,EAAW,SAAEvI,EAAQ,OAAE8K,GAAOgB,EAC5C,MAAM,KAAC3E,GAAQ2D,EAAOC,SAChB,uBAACzE,EAAsB,qBAAEyC,EAAoB,YAAE9E,GAAeiD,EAAMM,WAC1Ee,EAAY,CACXpB,OACAgC,cAAc,IAGdlF,IAAgB8E,IAAyBtL,GAAQsL,IAAyBrL,KACzEuG,IAAgB8E,IAAyBzL,GAAOyL,IAAyBvL,GAE1EwC,EAASR,GAAiC,CAACS,cAAe8I,EAAsBoC,YAAapN,IACpFkG,GACTjE,EAASL,GAA6B,CAACiC,gBAAiB0E,EAAwB6E,YAAapN,GAE/F,GAED,CAACgJ,IAAyB,CACzB6D,MAAAA,CAAMmB,GAA4C,IAA3C,KAAC5E,EAAI,YAAEoB,EAAW,SAAEvI,EAAQ,WAAEwH,GAAWuE,EAC/C,MAAM,SACLvK,EAAQ,cACRG,EAAa,YACbsC,EAAW,qBACX8E,EAAoB,UACpBJ,EAAS,gBACTS,EAAe,qBACftH,EAAoB,oBACpBC,EAAmB,uBACnBuE,EAAsB,iBACtBuC,GACGrB,EAEEoC,GAAwB1M,EAAAA,EAAAA,mBAAkBiK,EAAM,CACrDoB,cACAyD,UAAW,CACV,CAAC7N,GAA8C,CAC9C2M,OAAQmB,IAAa,IAAZ,MAAC/E,GAAM+E,EACf,MAAM,cAAChM,GAAiBiH,EAEnByB,IAGD1I,IAAkBxC,GAAQwC,IAAkB3C,GAC/C0C,EAAST,IACT4H,EAAKS,WAAWC,cAAc,eAAeqE,SAAS,GAAGC,SAC/ClM,IAAkBtC,GAC5BqC,EAASV,IACT6H,EAAKS,WAAWC,cAAc,eAAeqE,SAAS,GAAGC,UAEzDnM,EAASX,IACT8H,EAAKS,WAAWC,cAAc,eAAeqE,SAAS,GAAGC,SAC1D,EAEDxJ,OAAQgG,GAET,CAACvK,GAAiD,CACjD0M,OAAQA,KACP,MAAMsB,EAAmBjF,EAAKS,WAAWC,cAAc,mBAAmBD,WAAWsE,SAAS,GAC9FE,EAAiBC,QACjBD,EAAiBD,OAAO,EAEzBxJ,OAAQb,MAiBX9B,EAASH,GAAgB,CACxBoL,UZvqB8B,+BYwqB9BD,SAdgB,CAChBxJ,WACAG,gBACAsC,cACA8E,uBACAJ,YACAS,kBACAtH,uBACAC,sBACAuE,yBACAuC,sBAMDN,EAAY,CAACqB,yBACd,GAED,CAAC9C,IAA6B,CAC7B8D,MAAAA,CAAM0B,GAAkC,IAAjC,MAACpF,EAAK,OAAE4D,EAAM,SAAE9K,EAAQ,KAAEmH,GAAKmF,EACrC,MAAO9E,YAAY,YAACvD,GAAY,cAAEhE,EAAa,gBAAE2B,GAAmBsF,GAC9D,KAAC/C,EAAI,MAAE5H,GAASuO,EAAOC,QAChB,2BAAT5G,EACHnE,EAASL,GAA6B,CAACiC,gBAAiBrF,EAAO4O,YAAalN,IAC1D,yBAATkG,EACTnE,EAASR,GAAiC,CAACS,cAAe1D,EAAO4O,YAAalN,IAC5D,iBAATkG,IAAqC,IAAV5H,GAAmB0H,GAAehE,IAAkBtC,GACxFqC,EAASL,GAA6B,CAACiC,kBAAiBuJ,YAAajN,GAEvE,GAED,CAAC8I,IAAyB,CACzB4D,MAAAA,CAAM2B,GAAU,IAAT,MAACrF,GAAMqF,EACb,MAAM,sBAAE3C,GAA0B1C,EAC9B0C,GAAyB3M,EAAAA,sBAC5BA,EAAAA,EAAAA,qBAAoB2M,EACtB,IAGF4C,cAAe,CACd,CACCC,OAAQ,CAAC,aACT7B,MAAAA,CAAM8B,GAA+B,IAA9B,MAACxF,EAAK,YAAEqB,EAAW,OAAEuC,GAAO4B,EAClC,MAAM,SAAClL,GAAY0F,EAAMM,WACzB,IAAKN,EAAM9D,aAAe5B,EAAU,CACnC,MAAM,MAACmL,EAAK,KAAExF,GAAQ2D,EAAOC,QACvB6B,EAAKD,EAAME,eAAe,GAE/BD,EAAGE,YACFF,EAAGE,UAAUC,SAAS,gBAAkBH,EAAGE,UAAUC,SAAS,YAC/DJ,EAAMK,SAAW7F,IAEjBwF,EAAMM,iBACN1E,GAAY,KAAM,CACjB2E,KAAM,aACN3Q,OAAO,EACP4Q,UAAW,aAGd,CACD,GAED,CACCV,OAAQ,CAAC,WACTO,OAAQI,SACRxC,MAAAA,CAAMyC,GAEH,IAFI,YACN9E,EAAW,SAAEvI,EAAQ,MAAEkH,GACvBmG,EACA,MAAM,gBAACzL,GAAmBsF,GACpB,SAAC1F,EAAQ,uBAAE8E,GAA0BY,EAAMM,YAC5ChG,GAAY0F,EAAM9D,YACtBmF,GAAY,KACX,GAAIrB,EAAM9D,WAAY,CAErBpD,EAASP,GAAoB,CAC5BmC,qBAF8C9H,IAApB8H,EAAgC0E,EAAyB1E,EAGnFuJ,YAAanN,EACbiK,gBAAiBf,EAAMe,gBACvBzE,iBAAkB0D,EAAM1D,kBAE1B,CACA,MAAO,CACN0J,KAAM,aACN3Q,OAAO,EACP4Q,UAAW,SACX,GAGJ,GAED,CACCV,OAAQ,CAAC,aACT7B,MAAAA,CAAM0C,GAMH,IANI,MACNpG,EAAK,YACLqB,EACAuC,QACCC,SAAS,MAAC4B,EAAK,KAAExF,KAElBmG,EACA,MAAM,SAAC9L,EAAQ,IAAEiI,GAAOvC,EAAMM,WAC9B,GAAIN,EAAM9D,aAAe5B,EAAU,CAElCmL,EAAMM,iBAEN,MAAM,oBACL7F,EAAmB,qBACnBC,EAAoB,mBACpBC,EAAkB,sBAClBC,EAAqB,YACrBtD,GACGiD,EAAMM,WAEJhC,EAAuBvB,EAAcmD,EAAsBE,EAC3D7B,EAAwBxB,EAAcoD,EAAuBE,EAEnE,GAAItD,EAAa,CAChB,MAAMqB,EAAgC,QAARmE,EAC3BtC,EAAKoG,wBAAwBC,MAAQb,EAAMlQ,EAC3CkQ,EAAMlQ,EAAI0K,EAAKoG,wBAAwBE,KACpCvI,EAAuBiC,EAAKuG,aAC5B,gBAACzH,EAAe,iBAAED,EAAgB,mBAAEF,EAAkB,oBAAEC,GAC7DV,GAAmBC,EAAuBJ,EAAsB,CAACM,uBAAsBC,0BAKxF8C,EAAY,CACX7E,aAAcuC,EACd1C,cAAeyC,EACfpE,gBAAiBqE,EACjBgC,gBAAiBnC,EACjBtC,iBAAkBuC,EAClB1C,QAAQ,GAEV,KAAO,CACN,MAAMiC,EAAwBqH,EAAMnQ,EAAI2K,EAAKoG,wBAAwBI,IAC/DC,EAAwBzG,EAAKS,WAAWC,cAAc,mBAAmBC,cAEzE,gBAAC7B,EAAe,iBAAED,EAAgB,mBAAEF,EAAkB,oBAAEC,GAC7DV,GAAmBC,EAAuBsI,EAAuB,CAACpI,uBAAsBC,0BAEzF8C,EAAY,CACX7E,aAAcuC,EACd1C,cAAeyC,EACfpE,gBAAiBqE,EACjBgC,gBAAiBnC,EACjBtC,iBAAkBuC,EAClB1C,QAAQ,GAEV,CACAkF,EAAY,CAACvG,SAAU,IACxB,CACD,GAED,CACCyK,OAAQ,CAAC,QAAS,WAClB7B,MAAAA,CAAMiD,GAAsD,IAArD,MAAC3G,EAAK,SAAElH,EAAU8K,QAASC,SAAS,MAAC4B,EAAK,KAAExF,KAAO0G,EACzD,MAAMC,EAAmC,QAAzB5G,EAAMM,WAAWiC,KAAiB,EAAI,EAChDmD,EAAKD,EAAME,eAAe,GAChC,GACCD,EAAGE,YACFF,EAAGE,UAAUC,SAAS,gBAAkBH,EAAGE,UAAUC,SAAS,YAC/DJ,EAAMK,SAAW7F,GAEbwF,EAAM9Q,IAAIkS,WAAW,WACxBpB,EAAMM,iBACa,YAAfN,EAAMxE,MAAoB,CAC7B,IAAIvG,EAAkBkD,WAAWoC,EAAMxD,cACnCsK,GAAW,EAEX9G,EAAMM,WAAWvD,YACF,cAAd0I,EAAM9Q,IACT+F,GZh1B2B,EYg1BekM,EACpB,eAAdnB,EAAM9Q,IACd+F,GZl1B2B,EYk1BekM,EAE1CE,GAAW,EAEM,YAAdrB,EAAM9Q,IACT+F,GZv1B2B,EYw1BL,cAAd+K,EAAM9Q,IACd+F,GZz1B2B,EY21B3BoM,GAAW,EAGTA,GACHhO,EAASL,GAA6B,CACrCiC,gBAAiBqM,KAAKC,MAAMtM,GAC5BuJ,YAAazM,EACbgN,gBAAiBxE,EAAMxD,aACvB1B,SAAU2K,EAAM9Q,KAGnB,CAGH,MCx4BHsS,OAAOC,4CAA4CxV,EAAAA;AAAA,oBAAAA","file":"externals/@servicenow/now-resizable-panes/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","PANES_POSITION","PANES_POSITION_CLASSNAME","TOP","CENTER","BOTTOM","LEFT","RIGHT","BOTH","SMALL","MEDIUM","LARGE","INIT","USER_ACTION","PROP_CHANGE","SINGLE_COL_REFLOW","RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED","RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED","DISPLAY_LEFT_PANE_TRANSLATED","DISPLAY_RIGHT_PANE_TRANSLATED","DISPLAY_TOP_PANE_TRANSLATED","DISPLAY_BOTTOM_PANE_TRANSLATED","DISPLAY_BOTH_PANES_TRANSLATED","KEYBOARD_CONTROL","SEPARATOR_HANDLER_TRANSLATED","SEPARATOR_HANDLER_TOOLTIP_TRANSLATED","LEFT_PANE_ARIA_LABEL","RIGHT_PANE_ARIA_LABEL","TOP_PANE_ARIA_LABEL","BOTTOM_PANE_ARIA_LABEL","DIVIDER_BUTTON_ID_KEY_VALUE","HIDE_PADDING_BUTTON_POSITION_CLASSNAME","SIZE_BUTTON_POSITION_CLASSNAME","DIVIDER_BUTTON_POSITION_CLASSNAME","LEFT_BTN_CLICKED","RIGHT_BTN_CLICKED","MIDDLE_BTN_CLICKED","PANE_DISPLAYED_CHANGE_REQUESTED","PANE_SIZES_CHANGED","PANE_DISPLAYED_CHANGED","PANE_SIZES_CHANGE_REQUESTED","NOW_BUTTON_ICONIC_CLICKED","METRIC_TRACKED","ActionBar","_ref","dispatch","displayedPane","config","leftIcon","middleIcon","rightIcon","leftTooltip","middleTooltip","rightTooltip","className","icon","size","variant","highlighted","configAria","button","leftButtonHandler","selected","middleButtonHandler","rightButtonHandler","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","a11yPreferences","getUserPrefContext","Divider","disabled","isActive","dividerStyles","panesPosition","dividerPosition","dividerAriaLabel","displayDividerButton","dividerButtonConfig","eventKey","dividerHandleTargetRef","setTargetRef","dividerHandleTooltip","dividerButtonProps","bare","buttonProps","includes","position","ariaValuetext","class","active","style","role","tabindex","_ref2","elm","hook-destroy","PaneContainer","_ref3","isDragging","usePct","minSecondPane","secondPanePct","secondPanePixels","minFirstPane","firstPanePct","leftPaneAriaLabel","rightPaneAriaLabel","topPaneAriaLabel","bottomPaneAriaLabel","isReflowing","displayHiddenControls","isLeftRight","flex","name","getMinimums","constraints","minPixels","minRatio","minimums","isPixelStringValue","RegExp","test","getFloatFromPixelString","string","parseFloat","slice","convertPctToPixels","panePct","containerWidthPixels","convertPixelsToPct","panePx","computePaneLengths","dividerPositionPixels","paneWidthConstraints","firstPaneConstraints","secondPaneConstraints","minFirstPixels","minFirstPct","minSecondPixels","minSecondPct","newFirstPanePixels","newSecondPanePixels","newSecondPanePct","newFirstPanePct","convertToPctWithConstraints","getDividerPosition","hostLength","getPositionPixels","defaultDividerPosition","parsedDividerPosition","isNaN","dividerPositionPct","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","COMPONENT_BOOTSTRAPPED","COMPONENT_DISCONNECTED","getPanelDimensions","state","host","leftPaneConstraints","rightPaneConstraints","topPaneConstraints","bottomPaneConstraints","properties","behaviors","resize","width","shadowRoot","querySelector","clientHeight","newDividerPositionPixels","newDividerPositionPct","firstPanePixels","renderer","type","snabbdom","view","_ref4","updateState","hiddenControlsContext","GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS","context","actionBar","displayActionBar","panesConstraints","singleColumn","defaultDisplayedPane","newState","initialResize","panelDimesions","shouldRender","actionBarConfig","ref","setTimeout","styles","setInitialState","dir","isRtl","userHasDragged","registeredComponentId","schema","enum","computed","deepCompare","anyOf","behavior","resizeBehavior","options","preventRenderUntilSizeAvailable","preventRender","height","rtlBehavior","actions","actionHandlers","stopPropagation","effect","coeffects","action","payload","metadata","eventName","track","interaction","_ref5","_ref6","_ref7","meta","appended","_ref8","currentPosition","_ref9","_ref10","previousDisplayedPane","_ref11","_ref12","actionMap","_ref13","children","focus","dividerButtonEle","click","_ref14","_ref15","eventHandlers","events","_ref16","event","el","composedPath","classList","contains","target","preventDefault","path","operation","document","_ref17","_ref18","getBoundingClientRect","right","left","clientWidth","top","containerHeightPixels","_ref19","rtlCoef","startsWith","validKey","Math","round","window","__TECTONIC__$servicenow_now_resizable_panes"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/styles.scss","webpack:///./src/now-resizable-panes/styles.scss?4f15","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/actions.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/ActionBar.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/view.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/helpers/index.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.0.23/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/27.0.23/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/now-resizable-panes.js","webpack:///@servicenow/now-resizable-panes/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:1rem}.now-heading--lg{font-size:1.25rem}.now-heading--xl{font-size:1.5rem}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:.75rem}.now-text--md{font-size:1rem}.now-text--lg{font-size:1.25rem}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{--transition-speed:0;display:flex;height:100%}.main-container{border:var(--now-container--border-width,1px) solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-collapse:collapse;display:flex;flex-direction:column;justify-content:space-between;max-height:100%;width:100%}.main-container.bare{border:none}.main-container .action-bar{border-top:var(--now-container--border-width,1px) solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));display:flex;justify-content:flex-end}.pane-container{align-items:stretch;display:flex;flex-grow:3}.pane-container.left-right{flex-direction:row;overflow-x:hidden;overflow-y:auto}.pane-container.left-right .left-pane,.pane-container.left-right .right-pane{display:flex;max-width:100%;min-width:inherit;overflow-y:auto;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed)}.pane-container.left-right.single-column{flex-direction:column;overflow-x:unset;overflow-y:unset}.pane-container.left-right.single-column .divider-bar{display:none}.pane-container.left-right.single-column .left-pane,.pane-container.left-right.single-column .right-pane{flex:1 1 0%!important;overflow-x:unset;overflow-y:unset;width:unset!important}.pane-container.top-bottom{flex-direction:column;overflow-x:auto;overflow-y:hidden}.pane-container.top-bottom .bottom-pane,.pane-container.top-bottom .top-pane{display:flex;flex-direction:column;max-height:100%;min-height:inherit;overflow-y:auto;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed)}.pane-container.is-dragging .bottom-pane,.pane-container.is-dragging .left-pane,.pane-container.is-dragging .right-pane,.pane-container.is-dragging .top-pane{transition:none}.pane-container.showing-both ::slotted(*){overflow-x:hidden}.pane-container.showing-left .right-pane{height:0;min-width:0;overflow:hidden;position:relative;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed);visibility:hidden;width:0}.pane-container.showing-left .left-pane{width:100%}.pane-container.showing-left.single-column .right-pane{display:none}.pane-container.showing-left.single-column .left-pane{display:inherit}.pane-container.showing-left .divider-bar{display:none}.pane-container.showing-left ::slotted([slot=right]){overflow:hidden}.pane-container.showing-right .left-pane{height:0;min-width:0;overflow:hidden;position:relative;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed);visibility:hidden;width:0}.pane-container.showing-right .right-pane{width:100%}.pane-container.showing-right.single-column .left-pane{display:none}.pane-container.showing-right.single-column .right-pane{display:inherit}.pane-container.showing-right .divider-bar{display:none}.pane-container.showing-right ::slotted([slot=left]){overflow:hidden}.pane-container.showing-top .bottom-pane{height:0;min-height:0;overflow:hidden;position:relative;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed);visibility:hidden}.pane-container.showing-top .top-pane{height:100%}.pane-container.showing-top.single-column .bottom-pane{display:none}.pane-container.showing-top.single-column .top-pane{display:inherit}.pane-container.showing-top .divider-bar{display:none}.pane-container.showing-top ::slotted([slot=bottom]){overflow:hidden}.pane-container.showing-bottom .top-pane{height:0;min-height:0;overflow:hidden;position:relative;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed);visibility:hidden}.pane-container.showing-bottom .bottom-pane{height:100%}.pane-container.showing-bottom.single-column .top-pane{display:none}.pane-container.showing-bottom.single-column .bottom-pane{display:inherit}.pane-container.showing-bottom .divider-bar{display:none}.pane-container.showing-bottom ::slotted([slot=top]){overflow:hidden}.divider-bar.left-right{border:.03125rem solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));cursor:col-resize;position:relative;width:0}.divider-bar.left-right .handle{align-items:center;background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border:0 solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:.25rem;display:inline-flex;height:2.5rem;justify-content:center;margin-top:-1.25rem;opacity:0;position:absolute;top:50%;width:.75rem;z-index:1}:host(:not([dir=rtl])) .divider-bar.left-right .handle,:root:not([dir=rtl]) .divider-bar.left-right .handle{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right .handle,:root[dir=rtl] .divider-bar.left-right .handle{margin-right:-.375rem}:host(:not([dir=rtl])) .divider-bar.left-right .handle,:root:not([dir=rtl]) .divider-bar.left-right .handle{left:50%}:host([dir=rtl]) .divider-bar.left-right .handle,:root[dir=rtl] .divider-bar.left-right .handle{right:50%}.divider-bar.left-right .handle:before{border-color:var(--now-color--neutral-21,0,0,0);border-left-style:solid;border-left-width:var(--now-form-control--border-width,1px);border-right-style:solid;border-right-width:var(--now-form-control--border-width,1px);content:\\\"\\\";height:1rem;width:.375rem}.divider-bar.left-right .handle:focus::-moz-focus-inner{border-style:none}.divider-bar.left-right .handle:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.divider-bar.left-right .handle:focus:focus{outline:1px solid highlight}}.divider-bar.left-right now-button-iconic{background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:var(--now-button-iconic--primary--border-radius,var(--now-button-iconic--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));position:absolute;z-index:2}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm{margin-right:-.375rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md{margin-left:-.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md{margin-right:-.5rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg{margin-right:-.75rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{top:calc(50% - 2.5rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{margin-right:-.375rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{top:calc(50% - 2.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{margin-left:-.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{margin-right:-.5rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{top:calc(50% - 3.25rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{margin-right:-.75rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm{margin-right:-.75rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md{margin-left:-1rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md{margin-right:-1rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg{margin-left:-1.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg{margin-right:-1.5rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{top:calc(50% - 3.25rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{margin-right:-.75rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{top:calc(50% - 3.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{margin-left:-1rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{margin-right:-1rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{top:calc(50% - 4.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{margin-left:-1.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{margin-right:-1.5rem}.divider-bar.left-right now-button-iconic.divider-button-top{top:1rem}.divider-bar.left-right now-button-iconic.divider-button-bottom{bottom:1rem}.divider-bar.top-bottom{border:.03125rem solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));cursor:row-resize;height:0;position:relative}.divider-bar.top-bottom .handle{align-items:center;background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border:0 solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:.25rem;display:flex;height:.75rem;justify-content:center;left:50%;margin-left:-1.25rem;margin-top:-.375rem;opacity:0;position:absolute;width:2.5rem;z-index:1}.divider-bar.top-bottom .handle:before{border-bottom-style:solid;border-bottom-width:var(--now-form-control--border-width,1px);border-color:var(--now-color--neutral-21,0,0,0);border-top-style:solid;border-top-width:var(--now-form-control--border-width,1px);content:\\\"\\\";height:.375rem;width:1rem}.divider-bar.top-bottom .handle:focus::-moz-focus-inner{border-style:none}.divider-bar.top-bottom .handle:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.divider-bar.top-bottom .handle:focus:focus{outline:1px solid highlight}}.divider-bar.top-bottom now-button-iconic{background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:var(--now-button-iconic--primary--border-radius,var(--now-button-iconic--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));position:absolute;z-index:1}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).sm{top:-.375rem}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).md{top:-.5rem}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).lg{top:-.75rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.sm{left:calc(50% - 2.5rem);top:-.375rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.md{left:calc(50% - 2.75rem);top:-.5rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.lg{left:calc(50% - 3.25rem);top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).sm{top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).md{top:-1rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).lg{top:-1.5rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.sm{left:calc(50% - 3.25rem);top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.md{left:calc(50% - 3.75rem);top:-1rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.lg{left:calc(50% - 4.75rem);top:-1.5rem}.divider-bar.top-bottom now-button-iconic.divider-button-left{left:1rem}.divider-bar.top-bottom now-button-iconic.divider-button-right{right:1rem}.divider-bar .handle.active,.divider-bar .handle:focus,.divider-bar:hover .handle{opacity:1}.divider-bar.disabled{cursor:default}.divider-bar.disabled .handle{display:none}slot now-template-message-empty-state{margin:auto}::slotted([slot=left]),::slotted([slot=right]){max-height:100%;overflow-x:hidden;overflow-y:auto;width:100%}::slotted([slot=bottom]),::slotted([slot=top]){height:100%;max-width:100%;overflow-x:auto;overflow-y:auto}@media(forced-colors:active){.handle:before{border-color:buttonborder!important}.handle.active{background-color:buttonface!important;border:var(--now-button--border-width,var(--now-actionable--border-width,1px)) solid buttonborder!important}.handle.active:focus,.handle.active:hover{background-color:highlighttext;border-color:highlight}.handle.active:focus .handle:before,.handle.active:hover .handle:before{border-color:highlight}.handle:before{border-color:buttonborder}.divider-bar:focus .handle:before{border-color:highlight!important}.divider-bar:hover .handle{background-color:highlighttext!important;border:var(--now-button--border-width,var(--now-actionable--border-width,1px)) solid highlight!important}.divider-bar:hover .handle:before{border-color:highlight!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const PANES_POSITION = {\n\tLEFT_RIGHT: 'left-right',\n\tTOP_BOTTOM: 'top-bottom'\n};\n//Class names to differentiate panes position\nexport const PANES_POSITION_CLASSNAME = {\n\t[PANES_POSITION.LEFT_RIGHT]: 'left-right',\n\t[PANES_POSITION.TOP_BOTTOM]: 'top-bottom'\n};\nexport const TOP = 'top';\nexport const CENTER = 'center';\nexport const BOTTOM = 'bottom';\nexport const LEFT = 'left';\nexport const RIGHT = 'right';\nexport const BOTH = 'both';\nexport const SMALL = 'sm';\nexport const MEDIUM = 'md';\nexport const LARGE = 'lg';\nexport const DIVIDER_BAR_WIDTH = 2;\nexport const INIT = 'INIT';\nexport const USER_ACTION = 'USER_ACTION';\nexport const PROP_CHANGE = 'PROP_CHANGE';\nexport const SINGLE_COL_REFLOW = 'SINGLE_COL_REFLOW';\nexport const RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED = 'RESIZABLE_PANES#NEXT_DISPLAY_PANE_REQUESTED';\nexport const RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED = 'RESIZABLE_PANES#DIVIDER_BUTTON_CLICK_REQUESTED';\nexport const DISPLAY_LEFT_PANE_TRANSLATED = t('Display left pane only');\nexport const DISPLAY_RIGHT_PANE_TRANSLATED = t('Display right pane only');\nexport const DISPLAY_TOP_PANE_TRANSLATED = t('Display top pane only');\nexport const DISPLAY_BOTTOM_PANE_TRANSLATED = t('Display bottom pane only');\nexport const DISPLAY_BOTH_PANES_TRANSLATED = t('Display both panes');\nexport const INCREMENT_PERCENTAGE = 1;\nexport const KEYBOARD_CONTROL = 'KEYBOARD_CONTROL';\nexport const SEPARATOR_HANDLER_TRANSLATED = t('Resizable panes divider');\nexport const SEPARATOR_HANDLER_TOOLTIP_TRANSLATED = t('Resizable panes divider handle');\nexport const LEFT_PANE_ARIA_LABEL = t('Left pane');\nexport const RIGHT_PANE_ARIA_LABEL = t('Right pane');\nexport const TOP_PANE_ARIA_LABEL = t('Top pane');\nexport const BOTTOM_PANE_ARIA_LABEL = t('Bottom pane');\n\nexport const METRIC_INITIAL_VIEW = 'Initial Resizable Panes View';\nexport const METRIC_PANE_DISPAY_CHANGED = 'Change Resizable Panes Pane Display';\nexport const METRIC_PANE_SIZE_CHANGED = 'Change Resizable Panes Pane Size';\nexport const METRIC_DIVIDER_BUTTON_CLICKED = 'Click Resizable Panes Divider Button';\n\nexport const DIVIDER_BUTTON_ID_KEY_VALUE = {\n\tkey: 'buttonId',\n\tvalue: 'resizablePanesDividerBtn'\n};\n\nexport const HIDE_PADDING_BUTTON_POSITION_CLASSNAME = {\n\t[true]: 'hide-padding',\n\t[false]: 'show-padding'\n};\n\nexport const SIZE_BUTTON_POSITION_CLASSNAME = {\n\t[SMALL]: 'sm',\n\t[MEDIUM]: 'md',\n\t[LARGE]: 'lg'\n};\n\nexport const DIVIDER_BUTTON_POSITION_CLASSNAME = {\n\t[TOP]: 'divider-button-top',\n\t[CENTER]: 'divider-button-center',\n\t[BOTTOM]: 'divider-button-bottom',\n\t[RIGHT]: 'divider-button-right',\n\t[LEFT]: 'divider-button-left'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LEFT_BTN_CLICKED = 'NOW_RESIZABLE_PANES#LEFT_BTN#CLICKED';\nexport const RIGHT_BTN_CLICKED = 'NOW_RESIZABLE_PANES#RIGHT_BTN#CLICKED';\nexport const MIDDLE_BTN_CLICKED = 'NOW_RESIZABLE_PANES#MIDDLE_BTN#CLICKED';\n\nexport const PANE_SIZE_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_SIZES#CHANGE_REQUESTED';\nexport const PANE_DISPLAYED_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_DISPLAYED#CHANGE_REQUESTED';\nexport const PANE_SIZES_CHANGED = 'NOW_RESIZABLE_PANES#PANE_SIZES#CHANGED';\nexport const PANE_DISPLAYED_CHANGED = 'NOW_RESIZABLE_PANES#PANE_DISPLAYED#CHANGED';\nexport const PANE_SIZES_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_SIZES_CHANGE_REQUESTED';\nexport const NOW_BUTTON_ICONIC_CLICKED = \n'NOW_BUTTON_ICONIC#CLICKED';\nexport const DIVIDER_BUTTON_CLICKED = \n'NOW_RESIZBLE_PANES#DIVIDER_BUTTON#CLICKED';\nexport const METRIC_TRACKED = 'NOW_RESIZBLE_PANES#METRIC_TRACKED';\n","import '@servicenow/now-button';\nimport {LEFT, RIGHT, BOTH, TOP, BOTTOM} from './constants';\nimport {LEFT_BTN_CLICKED, MIDDLE_BTN_CLICKED, RIGHT_BTN_CLICKED} from './actions';\n\nexport const ActionBar = ({dispatch, displayedPane, config}) => {\n\tconst {leftIcon, middleIcon, rightIcon, leftTooltip, middleTooltip, rightTooltip} = config;\n\n\tconst leftButtonHandler = () => {\n\t\tdispatch(LEFT_BTN_CLICKED);\n\t};\n\tconst middleButtonHandler = () => {\n\t\tdispatch(MIDDLE_BTN_CLICKED);\n\t};\n\n\tconst rightButtonHandler = () => {\n\t\tdispatch(RIGHT_BTN_CLICKED);\n\t};\n\n\treturn (\n\t\t<div className=\"action-bar\">\n\t\t\t<now-button-stateful\n\t\t\t\ticon={leftIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': leftTooltip \n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={leftButtonHandler}\n\t\t\t\tselected={displayedPane === LEFT || displayedPane === TOP}\n\t\t\t\ttooltip-content={leftTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t\t<now-button-stateful\n\t\t\t\ticon={middleIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': middleTooltip\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={middleButtonHandler}\n\t\t\t\tselected={displayedPane === BOTH}\n\t\t\t\ttooltip-content={middleTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t\t<now-button-stateful\n\t\t\t\ticon={rightIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': rightTooltip\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={rightButtonHandler}\n\t\t\t\tselected={displayedPane === RIGHT || displayedPane === BOTTOM}\n\t\t\t\ttooltip-content={rightTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","// nds-scanner-disable-file inline-styles\nimport {\n\tLEFT,\n\tRIGHT,\n\tBOTH,\n\tPANES_POSITION_CLASSNAME,\n\tPANES_POSITION,\n\tTOP,\n\tBOTTOM,\n\tDIVIDER_BUTTON_POSITION_CLASSNAME,\n\tDIVIDER_BUTTON_ID_KEY_VALUE,\n\tHIDE_PADDING_BUTTON_POSITION_CLASSNAME,\n\tSIZE_BUTTON_POSITION_CLASSNAME\n} from './constants';\nimport {ActionBar} from './ActionBar.js';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-tooltip';\nimport {getUserPrefContext, a11yPreferences} from 'sn-ux-core';\nimport {t} from 'sn-translate';\nimport {getPanelDimensions} from './now-resizable-panes'\n\nconst Divider = ({disabled, isActive, dividerStyles, panesPosition, dividerPosition, dividerAriaLabel, \n\tdisplayDividerButton, dividerButtonConfig, eventKey, dividerHandleTargetRef, setTargetRef, dividerHandleTooltip}) => {\n\n\tconst dividerButtonProps = {\n\t\ticon: 'chevron-left-outline',\n\t\tvariant: 'secondary',\n\t\tsize: 'sm',\n\t\t'hide-padding': false,\n\t\tbare: true,\n\t\t'append-to-meta': {[DIVIDER_BUTTON_ID_KEY_VALUE.key]: DIVIDER_BUTTON_ID_KEY_VALUE.value},\n\t\t...dividerButtonConfig.buttonProps\n\t};\n\n\tconst rightLeftDividerButtonChoices = ['top', 'bottom', 'center'];\n\tconst topBottomDividerButtonChoices = ['left', 'right', 'center'];\n\n\tif (!rightLeftDividerButtonChoices.includes(dividerButtonConfig.position) && panesPosition === 'left-right') \n\t\tdividerButtonConfig.position = 'top';\n\telse if (!topBottomDividerButtonChoices.includes(dividerButtonConfig.position) && panesPosition === 'top-bottom') \n\t\tdividerButtonConfig.position = 'left';\n\n\tlet ariaValuetext = t('{0} percentage', dividerPosition);\n\tif (eventKey === 'ArrowLeft')\n\t\tariaValuetext = t('Moving left to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowRight')\n\t\tariaValuetext = t('Moving right to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowUp')\n\t\tariaValuetext = t('Moving up to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowDown') \n\t\tariaValuetext = t('Moving down to {0}', ariaValuetext);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'divider-bar': true,\n\t\t\t\tactive: isActive,\n\t\t\t\tdisabled,\n\t\t\t\t[PANES_POSITION_CLASSNAME[panesPosition]]: true\n\t\t\t}}\n\t\t\tstyle={dividerStyles}\n\t\t\trole=\"group\"\n\t\t\taria-label={dividerAriaLabel}\n\t\t>\n\t\t\t{displayDividerButton ?\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'divider-button': true,\n\t\t\t\t\t\t[DIVIDER_BUTTON_POSITION_CLASSNAME[dividerButtonConfig.position || TOP]]: true,\n\t\t\t\t\t\t[HIDE_PADDING_BUTTON_POSITION_CLASSNAME[dividerButtonProps['hide-padding']]]: true,\n\t\t\t\t\t\t[SIZE_BUTTON_POSITION_CLASSNAME[dividerButtonProps.size]]: true\n\t\t\t\t\t}}\n\t\t\t\t\t{...dividerButtonProps}\n\t\t\t\t>\n\t\t\t\t<\/now-button-iconic> : null\n\t\t\t}\n\n\t\t\t<div className={isActive ? 'handle active' : 'handle'}\n\t\t\t\ttabindex=\"0\"\n\t\t\t\trole=\"separator\"\n\t\t\t\taria-orientation={panesPosition === PANES_POSITION.LEFT_RIGHT ? 'vertical' : 'horizontal'}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={dividerPosition}\n\t\t\t\taria-valuetext={ariaValuetext}\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\taria-describedby=\"divider-handle-tooltip\"\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\tid=\"divider-handle-tooltip\"\n\t\t\t\ttarget-ref={dividerHandleTargetRef}\n\t\t\t\tcontent={dividerHandleTooltip}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nconst PaneContainer = ({\n\tpanesPosition, disabled, displayedPane, isDragging, usePct, dividerStyles,\n\tminSecondPane, secondPanePct, secondPanePixels, minFirstPane, firstPanePct,\n\tleftPaneAriaLabel, rightPaneAriaLabel, topPaneAriaLabel, bottomPaneAriaLabel, dividerAriaLabel,\n\tdisplayDividerButton, dividerButtonConfig, isReflowing, displayHiddenControls, eventKey, \n\tdividerHandleTargetRef, setTargetRef, dividerHandleTooltip}) => {\n\t//  We define the size of the panes by setting the width for the right pane and letting the left pane take the remaining space.\n\t//  This was done to accomodate a specific case when a negative pixel value is provided as the defaultDividerPosition,\n\t//  making sure resizing the browser window keeps the right pane with the correct size\n\tif (displayedPane === LEFT || displayedPane === TOP)\n\t\tsecondPanePct = 0;\n\n\tif (displayedPane === RIGHT || displayedPane === BOTTOM)\n\t\tsecondPanePct = 100;\n\n\tconst isLeftRight = panesPosition === PANES_POSITION.LEFT_RIGHT;\n\n\treturn (\n\t\t<div className={`pane-container showing-${displayedPane} ${isReflowing ? 'single-column' : ''} ${isDragging ? 'is-dragging' : ''} ${PANES_POSITION_CLASSNAME[panesPosition] || ''}`}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tflex: 1,\n\t\t\t\t\t[isLeftRight ? 'minWidth' : 'minHeight']: minFirstPane,\n\t\t\t\t\t'pointer-events': isDragging ? 'none' : 'auto'\n\t\t\t\t}}\n\t\t\t\tclassName={`${isLeftRight ? LEFT : TOP}-pane`}\n\t\t\t\taria-label={isLeftRight ? leftPaneAriaLabel : topPaneAriaLabel}\n\t\t\t>\n\t\t\t\t<slot name={isLeftRight ? LEFT : TOP}>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t\t\t<Divider\n\t\t\t\t\tisActive={displayHiddenControls || isDragging}\n\t\t\t\t\tdividerStyles={dividerStyles}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tpanesPosition={panesPosition}\n\t\t\t\t\tdividerPosition={firstPanePct}\n\t\t\t\t\tdividerAriaLabel={dividerAriaLabel}\n\t\t\t\t\tdisplayDividerButton={displayDividerButton}\n\t\t\t\t\tdividerButtonConfig={dividerButtonConfig}\n\t\t\t\t\teventKey={eventKey}\n\t\t\t\t\tdividerHandleTargetRef={dividerHandleTargetRef}\n\t\t\t\t\tsetTargetRef={setTargetRef}\n\t\t\t\t\tdividerHandleTooltip={dividerHandleTooltip}>\n\t\t\t\t<\/Divider>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\t[isLeftRight ? 'width' : 'height']: displayedPane === BOTH && !usePct && secondPanePixels > 0\n\t\t\t\t\t\t? `${secondPanePixels}px`\n\t\t\t\t\t\t: `${secondPanePct}%`,\n\t\t\t\t\t[isLeftRight ? 'minWidth' : 'minHeight']: minSecondPane,\n\t\t\t\t\t'pointer-events': isDragging ? 'none' : 'auto'\n\t\t\t\t}}\n\t\t\t\tclassName={`${isLeftRight ? RIGHT : BOTTOM}-pane`}\n\t\t\t\taria-label={isLeftRight ? rightPaneAriaLabel : bottomPaneAriaLabel}\n\t\t\t>\n\t\t\t\t<slot name={isLeftRight ? RIGHT : BOTTOM}>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst getMinimums = (constraints, displayedPane, isReflowing = false) => {\n\tconst {minPixels, minRatio} = constraints;\n\tconst minimums = {minPixels: '0px', minRatio: '0%'};\n\tif (displayedPane === BOTH && !isReflowing){\n\t\tif (minPixels)\n\t\t\tminimums.minPixels = `${minPixels}px`;\n\t\tif (minRatio)\n\t\t\tminimums.minRatio = `${minRatio}%`;\n\t}\n\treturn `max(${minimums.minPixels}, ${minimums.minRatio})`;\n};\n\nexport const view = (state, {dispatch, updateState}) => {\n\tconst hiddenControlsContext = getUserPrefContext(a11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS);\n\tconst displayHiddenControls = state.context[hiddenControlsContext] === 'true';\n\n\tconst {\n\t\tdisabled, actionBar: displayActionBar, bare, dividerStyles, panesPosition, panesConstraints, isLeftRight,\n\t\tleftPaneAriaLabel, rightPaneAriaLabel, topPaneAriaLabel, bottomPaneAriaLabel, dividerAriaLabel, dividerHandleTooltip,\n\t\tdisplayDividerButton, dividerButtonConfig, singleColumn, defaultDividerPosition, defaultDisplayedPane} = state.properties;\n\n\tconst setTargetRef = (ref) => setTimeout(() => updateState({dividerHandleTargetRef: ref}));\n\tlet newState = {...state};\n\n\tif (!state.initialResize && state.behaviors.resize.size.width != null && state.behaviors.resize.size.width != 0) {\n\t\tif (defaultDisplayedPane === BOTH && isLeftRight) {\n\t\t\tconst panelDimesions = getPanelDimensions(defaultDividerPosition, state);\n\t\t\tnewState = {\n\t\t\t\t...newState,\n\t\t\t\t...panelDimesions\n\t\t\t}\n\t\t\tupdateState({\n\t\t\t\t...panelDimesions,\n\t\t\t\tinitialResize: true,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\t}\n\n\tconst {isDragging, firstPanePct, secondPanePct, displayedPane,\n\t\tsecondPanePixels, firstPanePixels, usePct, actionBarConfig, eventKey,\n\t\tdividerHandleTargetRef} = newState;\n\tconst isReflowing = singleColumn && isLeftRight && displayedPane === BOTH;\n\n\treturn (\n\t\t<div className={bare ? 'main-container bare' : 'main-container'}>\n\t\t\t<PaneContainer\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisDragging={isDragging && !disabled}\n\t\t\t\tpanesPosition={panesPosition}\n\t\t\t\tdividerStyles={dividerStyles}\n\t\t\t\tdisplayedPane={displayedPane}\n\t\t\t\tusePct={usePct}\n\t\t\t\tfirstPanePct={firstPanePct}\n\t\t\t\tsecondPanePct={secondPanePct}\n\t\t\t\tsecondPanePixels={secondPanePixels}\n\t\t\t\tfirstPanePixels={firstPanePixels}\n\t\t\t\tminFirstPane={getMinimums(panesConstraints.firstPaneConstraints, displayedPane, isReflowing)}\n\t\t\t\tminSecondPane={getMinimums(panesConstraints.secondPaneConstraints, displayedPane, isReflowing)}\n\t\t\t\tisReflowing={isReflowing}\n\t\t\t\tleftPaneAriaLabel={leftPaneAriaLabel}\n\t\t\t\trightPaneAriaLabel={rightPaneAriaLabel}\n\t\t\t\ttopPaneAriaLabel={topPaneAriaLabel}\n\t\t\t\tbottomPaneAriaLabel={bottomPaneAriaLabel}\n\t\t\t\tdividerAriaLabel={dividerAriaLabel}\n\t\t\t\tdisplayDividerButton={displayDividerButton}\n\t\t\t\tdividerButtonConfig={dividerButtonConfig}\n\t\t\t\tdisplayHiddenControls={displayHiddenControls}\n\t\t\t\teventKey={eventKey}\n\t\t\t\tdividerHandleTargetRef={dividerHandleTargetRef}\n\t\t\t\tsetTargetRef={setTargetRef}\n\t\t\t\tdividerHandleTooltip={dividerHandleTooltip}\n\t\t\t><\/PaneContainer>\n\n\t\t\t{displayActionBar && !disabled ? <slot name=\"action-bar\"><ActionBar dispatch={dispatch} config={actionBarConfig} displayedPane={displayedPane} isLeftRight={isLeftRight}><\/ActionBar><\/slot> : null}\n\t\t<\/div>\n\t);\n};\n","import {DIVIDER_BAR_WIDTH} from '../constants';\n\nexport const isPixelStringValue = value => {\n\tconst pxRE = new RegExp('^(-?\\\\d+)px$');\n\treturn pxRE.test(value);\n};\n\nconst getFloatFromPixelString = string => 0 + parseFloat(string.slice(0, -2));\n\nexport const getPositionPixels = (hostLength, defaultDividerPosition) => {\n\tlet dividerPositionPixels = 0;\n\t\n\tif (isPixelStringValue(defaultDividerPosition)) {\n\t\tdividerPositionPixels = getFloatFromPixelString(defaultDividerPosition);\n\t\tif (dividerPositionPixels > hostLength)\n\t\t\tdividerPositionPixels = hostLength;\n\t\tif (dividerPositionPixels < 0)\n\t\t\tdividerPositionPixels = hostLength + dividerPositionPixels;\n\t} else {\n\t\tconst parsedDividerPosition = parseFloat(defaultDividerPosition);\n\t\tdividerPositionPixels = hostLength * (parseFloat(parsedDividerPosition) / 100);\n\t}\n\n\tif (isNaN(dividerPositionPixels))\n\t\tdividerPositionPixels = hostLength / 2;\n\tif (dividerPositionPixels > hostLength)\n\t\tdividerPositionPixels = hostLength;\n\tif (dividerPositionPixels < 0)\n\t\tdividerPositionPixels = 0;\n\t\n\treturn dividerPositionPixels;\n};\n\nexport const convertPctToPixels = (panePct, containerWidthPixels) => {\n\tif (panePct < 0) \n\t\tpanePct = 0;\n\tif (panePct > 100) \n\t\tpanePct = 100;\n\treturn containerWidthPixels * panePct / 100;\n};\n\nexport const convertPixelsToPct = (panePx, containerWidthPixels) => {\n\tif (containerWidthPixels < 1 || panePx < 1) \n\t\treturn 0;\n\tif (panePx > containerWidthPixels) \n\t\treturn 100;\n\treturn (panePx / containerWidthPixels) * 100;\n};\n\nexport const convertToPctWithConstraints = (newFirstPanePixels, newSecondPanePixels, minFirstPixels, minSecondPixels, containerWidthPixels) => {\n\tlet newFirstPanePct;\n\tlet newSecondPanePct;\n\n\tif (newFirstPanePixels < minFirstPixels) {\n\t\tnewFirstPanePixels = minFirstPixels;\n\t\tnewFirstPanePct = convertPixelsToPct(newFirstPanePixels, containerWidthPixels);\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t} else if (newSecondPanePixels < minSecondPixels) {\n\t\tnewSecondPanePixels = minSecondPixels;\n\t\tnewSecondPanePct = convertPixelsToPct(newSecondPanePixels, containerWidthPixels);\n\t\tnewFirstPanePct = 100 - newSecondPanePct;\n\t} else {\n\t\tnewFirstPanePct = convertPixelsToPct(newFirstPanePixels, containerWidthPixels);\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t}\n\n\treturn {\n\t\tnewFirstPanePct,\n\t\tnewSecondPanePct\n\t};\n};\n\nexport const computePaneLengths = (dividerPositionPixels, containerWidthPixels, paneWidthConstraints) => {\n\tconst {firstPaneConstraints, secondPaneConstraints} = paneWidthConstraints;\n\tconst minFirstPixels = firstPaneConstraints.minPixels;\n\tconst minFirstPct = firstPaneConstraints.minRatio;\n\tconst minSecondPixels = secondPaneConstraints.minPixels;\n\tconst minSecondPct = secondPaneConstraints.minRatio;\n\n\tconst newFirstPanePixels = dividerPositionPixels;\n\tconst newSecondPanePixels = containerWidthPixels - DIVIDER_BAR_WIDTH - newFirstPanePixels;\n\tlet {newSecondPanePct, newFirstPanePct} = convertToPctWithConstraints(newFirstPanePixels, newSecondPanePixels, minFirstPixels, minSecondPixels, containerWidthPixels);\n\n\tif (newFirstPanePct < minFirstPct) {\n\t\tnewFirstPanePct = minFirstPct;\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t} else if (newSecondPanePct < minSecondPct) {\n\t\tnewSecondPanePct = minSecondPct;\n\t\tnewFirstPanePct = 100 - newSecondPanePct;\n\t}\n\n\treturn {\n\t\tnewFirstPanePct,\n\t\tnewSecondPanePct,\n\t\tnewSecondPanePixels: convertPctToPixels(newSecondPanePct, containerWidthPixels),\n\t\tnewFirstPanePixels: convertPctToPixels(newFirstPanePct, containerWidthPixels),\n\t};\n};\n\nexport const getDividerPosition = (hostLength, dividerPosition, firstPaneConstraints, secondPaneConstraints) => {\n\n\tconst dividerPositionPixels = getPositionPixels(hostLength, dividerPosition);\n\tlet {\n\t\tnewFirstPanePct,\n\t\tnewFirstPanePixels\n\t} = computePaneLengths(dividerPositionPixels, hostLength, {\n\t\tfirstPaneConstraints,\n\t\tsecondPaneConstraints\n\t});\n\n\t// If the container width equals 0 we can't compute properly where the divider should be.\n\t// In that case we want to use the default divider bar position without applying all the constraints\n\tif (hostLength === 0) {\n\t\tif (isPixelStringValue(dividerPosition)) {\n\t\t\tnewFirstPanePct = null;\n\t\t\tnewFirstPanePixels = getFloatFromPixelString(dividerPosition);\n\t\t} else {\n\t\t\tnewFirstPanePct = parseFloat(dividerPosition);\n\t\t\tnewFirstPanePixels = null;\n\t\t}\n\t}\n\n\treturn {\n\t\tdividerPositionPct: newFirstPanePct,\n\t\tdividerPositionPixels: newFirstPanePixels,\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {registerComponent, deregisterComponent} from '@servicenow/now-trigger-library';\nimport style from './styles.scss';\nimport {view} from './view';\nimport {\n\tLEFT,\n\tRIGHT,\n\tBOTH,\n\tINIT,\n\tUSER_ACTION,\n\tPROP_CHANGE,\n\tPANES_POSITION,\n\tBOTTOM,\n\tTOP,\n\tINCREMENT_PERCENTAGE, KEYBOARD_CONTROL,\n\tDISPLAY_LEFT_PANE_TRANSLATED,\n\tDISPLAY_RIGHT_PANE_TRANSLATED,\n\tDISPLAY_TOP_PANE_TRANSLATED,\n\tDISPLAY_BOTTOM_PANE_TRANSLATED,\n\tDISPLAY_BOTH_PANES_TRANSLATED,\n\tLEFT_PANE_ARIA_LABEL,\n\tRIGHT_PANE_ARIA_LABEL,\n\tTOP_PANE_ARIA_LABEL,\n\tBOTTOM_PANE_ARIA_LABEL,\n\tSEPARATOR_HANDLER_TRANSLATED,\n\tSEPARATOR_HANDLER_TOOLTIP_TRANSLATED,\n\tDIVIDER_BUTTON_ID_KEY_VALUE,\n\tRESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED,\n\tRESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED,\n\tMETRIC_INITIAL_VIEW,\n\tMETRIC_PANE_DISPAY_CHANGED,\n\tMETRIC_PANE_SIZE_CHANGED,\n\tMETRIC_DIVIDER_BUTTON_CLICKED,\n\tSINGLE_COL_REFLOW\n} from './constants';\nimport {\n\tLEFT_BTN_CLICKED,\n\tMIDDLE_BTN_CLICKED,\n\tRIGHT_BTN_CLICKED,\n\tPANE_SIZES_CHANGE_REQUESTED,\n\tPANE_SIZES_CHANGED,\n\tPANE_DISPLAYED_CHANGE_REQUESTED,\n\tPANE_DISPLAYED_CHANGED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tDIVIDER_BUTTON_CLICKED,\n\tMETRIC_TRACKED\n} from './actions';\n\nimport {computePaneLengths, getDividerPosition, isPixelStringValue} from './helpers';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport track from '@devsnc/ux-metrics';\n\nconst {COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\n\nexport const getPanelDimensions = (dividerPosition, state) => {\n\tconst { host } = state;\n\tconst { leftPaneConstraints, rightPaneConstraints, topPaneConstraints, bottomPaneConstraints, isLeftRight } = state.properties;\n\n\tconst firstPaneConstraints = isLeftRight ? leftPaneConstraints : topPaneConstraints;\n\tconst secondPaneConstraints = isLeftRight ? rightPaneConstraints : bottomPaneConstraints;\n\tconst hostLength = isLeftRight ? state.behaviors.resize.size.width : host.shadowRoot.querySelector('.pane-container').clientHeight;\n\tconst {\n\t\tdividerPositionPixels: newDividerPositionPixels,\n\t\tdividerPositionPct: newDividerPositionPct\n\t} = getDividerPosition(hostLength, dividerPosition, firstPaneConstraints, secondPaneConstraints);\n\n\tlet usePct = !isPixelStringValue(dividerPosition);\n\tif (newDividerPositionPixels === null)\n\t\tusePct = true;\n\telse if (newDividerPositionPct === null)\n\t\tusePct = false;\n\n\tconst firstPanePct = newDividerPositionPct;\n\tconst secondPanePct = 100 - newDividerPositionPct;\n\tconst firstPanePixels = newDividerPositionPixels;\n\tconst secondPanePixels = hostLength - newDividerPositionPixels;\n\t\n\treturn {\n\t\tdisplayedPane: BOTH,\n\t\tfirstPanePct,\n\t\tsecondPanePct,\n\t\tfirstPanePixels,\n\t\tsecondPanePixels,\n\t\tdividerPosition,\n\t\tusePct\n\t};\n};\n\n/**\n *\n * Displays two panes with content slots. The layout can be set as either a top and bottom pane with resizable heights, or a left and right pane with resizable widths.\n *\n * ```\n * <now-resizable-panes/>\n * \t<my-component-a slot=\"left\"/>\n * \t<my-component-b slot=\"right\"/>\n * <\/now-resizable-panes>\n * ```\n *\n * @seismicElement now-resizable-panes\n * @summary Two user-resizable panes, each containing a slot that can accept other components.\n **/\ncreateCustomElement('now-resizable-panes', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles: style,\n\tsetInitialState({properties: {defaultDividerPosition, defaultDisplayedPane, isLeftRight, actionBarConfig, dir}}) {\n\t\tconst usePct = !isPixelStringValue(defaultDividerPosition);\n\t\tconst isRtl = dir === 'rtl';\n\t\treturn {\n\t\t\tisDragging: false,\n\t\t\tdisplayedPane: defaultDisplayedPane,\n\t\t\tuserHasDragged: false,\n\t\t\tsecondPanePct: usePct ? (100 - defaultDividerPosition) : 0,\n\t\t\tfirstPanePct: usePct ? defaultDividerPosition : 0,\n\t\t\t// don't have host's length yet so can't calc the pixel value\n\t\t\tsecondPanePixels: 0,\n\t\t\tfirstPanePixels: 0,\n\t\t\tusePct,\n\t\t\thost: {},\n\t\t\t//set default tooltips based on pane position\n\t\t\tactionBarConfig: {\n\t\t\t\t...actionBarConfig,\n\t\t\t\tleftTooltip: actionBarConfig.leftTooltip ||\n\t\t\t\t\t(isLeftRight ? (isRtl ? DISPLAY_RIGHT_PANE_TRANSLATED : DISPLAY_LEFT_PANE_TRANSLATED) : DISPLAY_TOP_PANE_TRANSLATED),\n\t\t\t\tmiddleTooltip: actionBarConfig.middleTooltip || DISPLAY_BOTH_PANES_TRANSLATED,\n\t\t\t\trightTooltip: actionBarConfig.rightTooltip\n\t\t\t\t\t|| (isLeftRight ? (isRtl ? DISPLAY_LEFT_PANE_TRANSLATED : DISPLAY_RIGHT_PANE_TRANSLATED) : DISPLAY_BOTTOM_PANE_TRANSLATED),\n\t\t\t},\n\t\t\tdividerHandleTargetRef: null,\n\t\t\tinitialResize: false,\n\t\t\tregisteredComponentId: null\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * When true, prevents the user from resizing panes with the divider.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the layout of the panes.\n\t\t * @type {\"left-right\" | \"top-bottom\"}\n\t\t */\n\t\tpanesPosition: {\n\t\t\tdefault: 'left-right',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['left-right', 'top-bottom']\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Computed property. True if panesPosition is left-right, false otherwise.\n\t\t * @private\n\t\t */\n\t\tisLeftRight: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tcomputed({properties: {panesPosition}}) {\n\t\t\t\treturn panesPosition === PANES_POSITION.LEFT_RIGHT;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, displays an action bar below the panes that allows the user to switch between display modes.\n\t\t * @type {boolean}\n\t\t */\n\t\tactionBar: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines icons and tooltips used by the action bar to switch between display modes.\n\t\t * @type {ActionBarConfig}\n\t\t */\n\t\tactionBarConfig: {\n\t\t\tdefault: {\n\t\t\t\tleftIcon: 'record-activity-details-fill',\n\t\t\t\tmiddleIcon: 'record-activity-stream-outline',\n\t\t\t\trightIcon: 'record-activity-outline',\n\t\t\t\tleftTooltip: DISPLAY_LEFT_PANE_TRANSLATED,\n\t\t\t\tmiddleTooltip: DISPLAY_BOTH_PANES_TRANSLATED,\n\t\t\t\trightTooltip: DISPLAY_RIGHT_PANE_TRANSLATED,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tleftIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tmiddleIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\trightIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tleftTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tmiddleTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\trightTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * When true, displays an iconic button on the divider bar.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisplayDividerButton: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines properties used by the iconic button on divider bar.\n\t\t * @type {dividerButtonConfig}\n\t\t */\n\t\tdividerButtonConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['top', 'bottom', 'left', 'right', 'center']\n\t\t\t\t\t},\n\t\t\t\t\tbuttonProps: {\n\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * A number between 0 and 100 representing the default position of the divider.\n\t\t * @type {number}\n\t\t */\n\t\tdefaultDividerPosition: {\n\t\t\tdefault: '50',\n\t\t\tschema: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Custom CSS styles for the divider in JSON format.\n\t\t * @type {object}\n\t\t */\n\t\tdividerStyles: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\t/**\n\t\t * Defines which panes to display when the component renders on a page for the first time.\n\t\t * @type {\"left\" | \"right\" | \"top\" | \"bottom\" | \"both\"}\n\t\t */\n\t\tdefaultDisplayedPane: {\n\t\t\tdefault: BOTH,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['left', 'right', 'top', 'bottom', 'both']\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets whether borders are displayed on the panes. When true, borders are not displayed.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the width of the left pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\tleftPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the width of the right pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\trightPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the height of the top pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\ttopPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the height of the bottom pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\tbottomPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property. Unify left-right and top-bottom pane size constraints.\n\t\t * @private\n\t\t */\n\t\tpanesConstraints: {\n\t\t\tcomputed({properties: {panesPosition, leftPaneConstraints, rightPaneConstraints, topPaneConstraints, bottomPaneConstraints}}) {\n\t\t\t\tconst isLeftRight = panesPosition === PANES_POSITION.LEFT_RIGHT;\n\t\t\t\treturn {\n\t\t\t\t\tfirstPaneConstraints: isLeftRight ? leftPaneConstraints : topPaneConstraints,\n\t\t\t\t\tsecondPaneConstraints: isLeftRight ? rightPaneConstraints : bottomPaneConstraints\n\t\t\t\t};\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines whether the component should reflow.\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleColumn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the left pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\tleftPaneAriaLabel: {\n\t\t\tdefault: LEFT_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the right pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\trightPaneAriaLabel: {\n\t\t\tdefault: RIGHT_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the top pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\ttopPaneAriaLabel: {\n\t\t\tdefault: TOP_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Define bottom pane aria-label\n\t\t * @type {string}\n\t\t */\n\t\tbottomPaneAriaLabel: {\n\t\t\tdefault: BOTTOM_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the divider aria-label.\n\t\t * @type {string}\n\t\t */\n\t\tdividerAriaLabel: {\n\t\t\tdefault: SEPARATOR_HANDLER_TRANSLATED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the divider handle tooltips.\n\t\t * @type {string}\n\t\t */\n\t\tdividerHandleTooltip: {\n\t\t\tdefault: SEPARATOR_HANDLER_TOOLTIP_TRANSLATED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\tpreventRenderUntilSizeAvailable: true,\n\t\t\t\tpreventRender: {\n\t\t\t\t\theight: true\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\trtlBehavior\n\t],\n\tactions: {\n\t\t[PANE_SIZES_CHANGE_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdividerPosition: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGE_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisplayedPane: {type: 'string'},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_SIZES_CHANGED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdividerPosition: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisplayedPane: {type: 'string'},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[METRIC_TRACKED]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {metadata, eventName}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, eventName, metadata);\n\t\t\t}\n\t\t},\n\t\t[LEFT_BTN_CLICKED]: {\n\t\t\teffect({dispatch, state: {properties: {isLeftRight}}}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: isLeftRight ? LEFT : TOP, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[RIGHT_BTN_CLICKED]: {\n\t\t\teffect({dispatch, state: {properties: {isLeftRight}}}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: isLeftRight ? RIGHT : BOTTOM, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[MIDDLE_BTN_CLICKED]: {\n\t\t\teffect({dispatch}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: BOTH, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect({action, dispatch}) {\n\t\t\t\tif (action.meta.appended[DIVIDER_BUTTON_ID_KEY_VALUE.key] === DIVIDER_BUTTON_ID_KEY_VALUE.value) {\n\t\t\t\t\tdispatch(DIVIDER_BUTTON_CLICKED);\n\t\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_DIVIDER_BUTTON_CLICKED});\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_SIZES_CHANGE_REQUESTED]: {\n\t\t\teffect({ action, updateState, dispatch, state }) {\n\t\t\t\tconst {interaction = '', eventKey = '', currentPosition} = action.payload;\n\t\t\t\tconst {\n\t\t\t\t\tdisplayedPane: BOTH,\n\t\t\t\t\tfirstPanePct,\n\t\t\t\t\tsecondPanePct,\n\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\tsecondPanePixels,\n\t\t\t\t\tdividerPosition,\n\t\t\t\t\tusePct\n\t\t\t\t} = getPanelDimensions(action.payload.dividerPosition, state);\n\t\t\t\tupdateState({\n\t\t\t\t\tdisplayedPane: BOTH,\n\t\t\t\t\tfirstPanePct,\n\t\t\t\t\tsecondPanePct,\n\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\tsecondPanePixels,\n\t\t\t\t\tdividerPosition,\n\t\t\t\t\tusePct\n\t\t\t\t});\n\n\t\t\t\tif (interaction !== INIT && interaction !== SINGLE_COL_REFLOW) {\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGED, {\n\t\t\t\t\t\tdividerPosition: action.payload.dividerPosition,\n\t\t\t\t\t\tinteraction,\n\t\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\t\tsecondPanePixels\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (interaction === KEYBOARD_CONTROL && firstPanePct !== currentPosition)\n\t\t\t\t\tupdateState({dividerPosition: firstPanePct, usePct: true, eventKey});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PANE_SIZES_CHANGED]: {\n\t\t\teffect({action: {payload}, dispatch}) {\n\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_PANE_SIZE_CHANGED, metadata: payload});\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGE_REQUESTED]: {\n\t\t\teffect({action, updateState, state, dispatch}) {\n\t\t\t\tconst {displayedPane, interaction = ''} = action.payload;\n\t\t\t\tconst {defaultDividerPosition} = state.properties;\n\t\t\t\tif (state.displayedPane !== displayedPane) {\n\t\t\t\t\tif (displayedPane === BOTH)\n\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: defaultDividerPosition, interaction: INIT});\n\n\t\t\t\t\tupdateState({displayedPane, dividerPosition: defaultDividerPosition});\n\t\t\t\t\tif (interaction !== INIT) {\n\t\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGED, {displayedPane, interaction});\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_PANE_DISPAY_CHANGED, metadata: {displayedPane, previousDisplayedPane: state.displayedPane, interaction}});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect({state, updateState, dispatch, action}) {\n\t\t\t\tconst {host} = action.payload;\n\t\t\t\tconst {defaultDividerPosition, defaultDisplayedPane, isLeftRight} = state.properties;\n\t\t\t\tupdateState({\n\t\t\t\t\thost,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tif (\n\t\t\t\t\tisLeftRight && (defaultDisplayedPane === LEFT || defaultDisplayedPane === RIGHT) ||\n\t\t\t\t\t!isLeftRight && (defaultDisplayedPane === TOP || defaultDisplayedPane === BOTTOM)\n\t\t\t\t)\n\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: defaultDisplayedPane, interaction: INIT});\n\t\t\t\telse if (!isLeftRight) //BOTH && isLeftRight case is handled in view() `if (!state.initialResize...` block\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: defaultDividerPosition, interaction: INIT});\n\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({host, updateState, dispatch, properties}) {\n\t\t\t\tconst {\n\t\t\t\t\tdisabled,\n\t\t\t\t\tpanesPosition,\n\t\t\t\t\tisLeftRight,\n\t\t\t\t\tdefaultDisplayedPane,\n\t\t\t\t\tactionBar,\n\t\t\t\t\tactionBarConfig,\n\t\t\t\t\tdisplayDividerButton,\n\t\t\t\t\tdividerButtonConfig,\n\t\t\t\t\tdefaultDividerPosition,\n\t\t\t\t\tpanesConstraints\n\t\t\t\t} = properties;\n\n\t\t\t\tconst registeredComponentId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED]: {\n\t\t\t\t\t\t\taction: ({state}) => {\n\t\t\t\t\t\t\t\tconst {displayedPane} = state;\n\n\t\t\t\t\t\t\t\tif (!actionBar)\n\t\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\t\tif (displayedPane === LEFT || displayedPane === TOP) {\n\t\t\t\t\t\t\t\t\tdispatch(MIDDLE_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[1].focus();\n\t\t\t\t\t\t\t\t} else if (displayedPane === BOTH) {\n\t\t\t\t\t\t\t\t\tdispatch(RIGHT_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[2].focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatch(LEFT_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[0].focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactive: actionBar\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED]: {\n\t\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\t\tconst dividerButtonEle = host.shadowRoot.querySelector('.divider-button').shadowRoot.children[0];\n\t\t\t\t\t\t\t\tdividerButtonEle.click();\n\t\t\t\t\t\t\t\tdividerButtonEle.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactive: displayDividerButton\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\tdisabled,\n\t\t\t\t\tpanesPosition,\n\t\t\t\t\tisLeftRight,\n\t\t\t\t\tdefaultDisplayedPane,\n\t\t\t\t\tactionBar,\n\t\t\t\t\tactionBarConfig,\n\t\t\t\t\tdisplayDividerButton,\n\t\t\t\t\tdividerButtonConfig,\n\t\t\t\t\tdefaultDividerPosition,\n\t\t\t\t\tpanesConstraints\n\t\t\t\t};\n\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\teventName: METRIC_INITIAL_VIEW,\n\t\t\t\t\tmetadata\n\t\t\t\t});\n\t\t\t\tupdateState({registeredComponentId});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({state, action, dispatch, host}) {\n\t\t\t\tconst {properties: {isLeftRight}, displayedPane, dividerPosition} = state;\n\t\t\t\tconst {name, value} = action.payload;\n\t\t\t\tif (name === 'defaultDividerPosition') \n\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: value, interaction: PROP_CHANGE});\n\t\t\t\t else if (name === 'defaultDisplayedPane') \n\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: value, interaction: PROP_CHANGE});\n\t\t\t\t else if (name === 'singleColumn' && value === false && isLeftRight && displayedPane === BOTH)\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition, interaction: SINGLE_COL_REFLOW});\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({state}) {\n\t\t\t\tconst { registeredComponentId } = state;\n\t\t\t\tif (registeredComponentId && deregisterComponent)\n\t\t\t\t\tderegisterComponent(registeredComponentId);\n\t\t\t}\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mousedown'],\n\t\t\teffect({state, updateState, action}) {\n\t\t\t\tconst {disabled} = state.properties;\n\t\t\t\tif (!state.isDragging && !disabled) {\n\t\t\t\t\tconst {event, host} = action.payload;\n\t\t\t\t\tconst el = event.composedPath()[0];\n\t\t\t\t\tif (\n\t\t\t\t\t\tel.classList &&\n\t\t\t\t\t\t(el.classList.contains('divider-bar') || el.classList.contains('handle')) &&\n\t\t\t\t\t\tevent.target === host\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tupdateState(() => ({\n\t\t\t\t\t\t\tpath: 'isDragging',\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\toperation: 'assign',\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['mouseup'],\n\t\t\ttarget: document,\n\t\t\teffect({\n\t\t\t\tupdateState, dispatch, state\n\t\t\t}) {\n\t\t\t\tconst {dividerPosition} = state;\n\t\t\t\tconst {disabled, defaultDividerPosition} = state.properties;\n\t\t\t\tif (!disabled && state.isDragging) {\n\t\t\t\t\tupdateState(() => {\n\t\t\t\t\t\tif (state.isDragging) {\n\t\t\t\t\t\t\tconst newDividerPosition = dividerPosition === undefined ? defaultDividerPosition : dividerPosition;\n\t\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGED, {\n\t\t\t\t\t\t\t\tdividerPosition: newDividerPosition,\n\t\t\t\t\t\t\t\tinteraction: USER_ACTION,\n\t\t\t\t\t\t\t\tfirstPanePixels: state.firstPanePixels,\n\t\t\t\t\t\t\t\tsecondPanePixels: state.secondPanePixels\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tpath: 'isDragging',\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\toperation: 'assign',\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['mousemove'],\n\t\t\teffect({\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event, host},\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tconst {disabled, dir} = state.properties;\n\t\t\t\tif (state.isDragging && !disabled) {\n\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tleftPaneConstraints,\n\t\t\t\t\t\trightPaneConstraints,\n\t\t\t\t\t\ttopPaneConstraints,\n\t\t\t\t\t\tbottomPaneConstraints,\n\t\t\t\t\t\tisLeftRight\n\t\t\t\t\t} = state.properties;\n\n\t\t\t\t\tconst firstPaneConstraints = isLeftRight ? leftPaneConstraints : topPaneConstraints;\n\t\t\t\t\tconst secondPaneConstraints = isLeftRight ? rightPaneConstraints : bottomPaneConstraints;\n\n\t\t\t\t\tif (isLeftRight) {\n\t\t\t\t\t\tconst dividerPositionPixels = dir === 'rtl'\n\t\t\t\t\t\t\t? host.getBoundingClientRect().right - event.x\n\t\t\t\t\t\t\t: event.x - host.getBoundingClientRect().left;\n\t\t\t\t\t\tconst containerWidthPixels = host.clientWidth;\n\t\t\t\t\t\tconst {newFirstPanePct, newSecondPanePct, newFirstPanePixels, newSecondPanePixels} =\n\t\t\t\t\t\t\tcomputePaneLengths(dividerPositionPixels, containerWidthPixels, {firstPaneConstraints, secondPaneConstraints});\n\n\t\t\t\t\t\t/* We are calling updateState here instead of dispatching an action to do so\n\t\t\t\t\t\t* to prevent dispatching too many actions causing performance problems\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfirstPanePct: newFirstPanePct,\n\t\t\t\t\t\t\tsecondPanePct: newSecondPanePct,\n\t\t\t\t\t\t\tdividerPosition: newFirstPanePct,\n\t\t\t\t\t\t\tfirstPanePixels: newFirstPanePixels,\n\t\t\t\t\t\t\tsecondPanePixels: newSecondPanePixels,\n\t\t\t\t\t\t\tusePct: true\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst dividerPositionPixels = event.y - host.getBoundingClientRect().top;\n\t\t\t\t\t\tconst containerHeightPixels = host.shadowRoot.querySelector('.pane-container').clientHeight;\n\n\t\t\t\t\t\tconst {newFirstPanePct, newSecondPanePct, newFirstPanePixels, newSecondPanePixels} =\n\t\t\t\t\t\t\tcomputePaneLengths(dividerPositionPixels, containerHeightPixels, {firstPaneConstraints, secondPaneConstraints});\n\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfirstPanePct: newFirstPanePct,\n\t\t\t\t\t\t\tsecondPanePct: newSecondPanePct,\n\t\t\t\t\t\t\tdividerPosition: newFirstPanePct,\n\t\t\t\t\t\t\tfirstPanePixels: newFirstPanePixels,\n\t\t\t\t\t\t\tsecondPanePixels: newSecondPanePixels,\n\t\t\t\t\t\t\tusePct: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({eventKey: ''});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['keyup', 'keydown'],\n\t\t\teffect({state, dispatch, action: {payload: {event, host}}}) {\n\t\t\t\tconst rtlCoef = state.properties.dir === 'rtl' ? -1 : 1;\n\t\t\t\tconst el = event.composedPath()[0];\n\t\t\t\tif (\n\t\t\t\t\tel.classList &&\n\t\t\t\t\t(el.classList.contains('divider-bar') || el.classList.contains('handle')) &&\n\t\t\t\t\tevent.target === host\n\t\t\t\t) {\n\t\t\t\t\tif (event.key.startsWith('Arrow')) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tif (event.type === 'keydown') {\n\t\t\t\t\t\t\tlet dividerPosition = parseFloat(state.firstPanePct);\n\t\t\t\t\t\t\tlet validKey = true;\n\n\t\t\t\t\t\t\tif (state.properties.isLeftRight) {\n\t\t\t\t\t\t\t\tif (event.key === 'ArrowLeft')\n\t\t\t\t\t\t\t\t\tdividerPosition -= INCREMENT_PERCENTAGE * rtlCoef;\n\t\t\t\t\t\t\t\telse if (event.key === 'ArrowRight')\n\t\t\t\t\t\t\t\t\tdividerPosition += INCREMENT_PERCENTAGE * rtlCoef;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tvalidKey = false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (event.key === 'ArrowUp')\n\t\t\t\t\t\t\t\t\tdividerPosition -= INCREMENT_PERCENTAGE;\n\t\t\t\t\t\t\t\telse if (event.key === 'ArrowDown')\n\t\t\t\t\t\t\t\t\tdividerPosition += INCREMENT_PERCENTAGE;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tvalidKey = false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (validKey) {\n\t\t\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {\n\t\t\t\t\t\t\t\t\tdividerPosition: Math.round(dividerPosition),\n\t\t\t\t\t\t\t\t\tinteraction: KEYBOARD_CONTROL,\n\t\t\t\t\t\t\t\t\tcurrentPosition: state.firstPanePct,\n\t\t\t\t\t\t\t\t\teventKey: event.key\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_resizable_panes=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":617,"column":0},"map":{"mappings":"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","file":"externals/controls-mono/bundled-assets.min.js","names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","cssWithMappingToString","list","this","map","item","content","needLayer","concat","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","ReactPropTypesSecret","require","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","___CSS_LOADER_EXPORT___","result","__esModule","import","obj","value","defineProperty","enumerable","configurable","writable","_extends","assign","bind","target","source","excluded","sourceKeys","keys","indexOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","o","get","prop","r","Symbol","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__","fieldLayoutSchema","type","properties","layout","schema","enum","columns","decorationsSchema","icon","text","SeismicControlledFieldProps","showAIIndicator","isModified","onChange","onSelect","onClick","onMouseEnter","onMouseLeave","onFocus","onBlur","onKeyDown","onKeyUp","onKeyPress","SeismicComponentProps","dispatch","componentId","required","resources","channels","SeismicComponentFieldPropDefaults","messages","formData","fieldName","tableName","recordSysId","placeholder","label","onValueChange","onStagedValueChange","description","readonly","reversed","invalid","autofocus","slot","configAria","fieldLayout","fieldType","helperContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","camelCase","chain","chunk","clamp","clone","cloneDeep","compact","curry","debounce","difference","each","escapeRegExp","extend","filter","find","findLast","first","flatten","flow","has","identity","inRange","includes","isEmpty","isEqual","isEqualWith","isFunction","isNil","isNumber","isObject","isString","isUndefined","keyBy","last","mapValues","max","memoize","merge","noop","omit","padStart","parseInt","pick","pickBy","range","reduce","reduceRight","reject","set","size","some","tail","toNumber","unescape","uniqBy","values","without","xor","escapeSeismicSpecialSymbols","s","_","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","t","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__","getEmbeddableBaseUrl","getFieldDisplayValue","displayValue","choices","choice","isAttrTrue","val","isAttrFalse","castIfBoolean","isEditable","getSerializedChanges","dependentField","dependentValue","serializedChanges","changes","JSON","parse","field","stringify","e","getEncodedRecord","isNewRecord","encodedRecord","isClassicForm","classicForm","generateSubComponentIds","baseId","additionalFields","parent","dropdown","index","hasProp","getAriaAttr","attr","camelCased","accessibilityAttributes","ids","defaultDescribedby","resolveAriaAttr","propAriaLabel","propAriaLabelledby","propAriaDescribedby","propAriaDisabled","propAriaHidden","propAriaRequired","propAriaInvalid","restOfAriaProps","v","disabled","hide","isFieldEditableAndDependentFieldValueSet","dependentFieldValue","dependentFieldLabel","getBaseURL","getAriaLabelFromConfig","labelTemplate","_len","additionalTemplateValues","_key","hasErrorMessage","message","originalValue","newValue","parsedValue","parsedOriginalValue","shouldShowUnsavedIndicator","_properties$formData","initialValue","isUnsavedIndicatorEnabled","enableUnsavedFieldIndicator","isBoolean","getDeclarativeActionsProps","daProps","_controlProps$formDat","controlProps","canWrite","declarativeUiActions","dependentTable","dictionary","displayValueList","fetchDeclarativeActions","fields","hidden","reference","referenceKey","referenceSysId","referenceTable","referringRecordId","referringTable","visible","referenceQualifier","ignoreDepAsRefQual","ignoreReferenceQualifier","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__","getFocusableNodes","findAncestor","el","className","HTMLElement","classList","contains","parentElement","isNodeInEventPath","event","Event","composedPath","nodeContainsFocus","container","document","activeElement","shadowRoot","isSlotEmpty","hasNoDirectChildren","childElementCount","assignedNodes","getScrollParent","overflowY","window","getComputedStyle","scrollHeight","clientHeight","host","parentNode","fitDropdownToViewport","parentHeight","documentElement","Promise","resolve","setTimeout","height","getBoundingClientRect","MAX_DROPDOWN_HEIGHT","Math","min","width","targetWidth","top","targetTop","bottom","targetBottom","left","targetLeft","style","fitDropdownToViewportOld","scrollParent","isRTL","dir","querySelectorDeep","selector","rootEl","body","matches","children","child","fieldFocusHandler","tagName","tabbableNodes","nativeInputNode","focus","cycle","startingPoint","slice","mod","m","hostToScrollData","WeakMap","removeOutsideScrollListener","listener","targets","removeEventListener","delete","addOutsideScrollListener","async","callback","getAttribute","ancestors","uuid","eventName","findListener","path","nodeType","Node","ELEMENT_NODE","addEventListener","CustomEvent","bubbles","composed","cancelable","dispatchEvent","findAncestors","handled","getShiftDirection","shift","shiftDirection","getSelectedItems","selectedItems","numberOfItems","getForwardListSelection","getReverseListSelection","isForward","currentlySelectedIndexes","isAccumulating","isAccumulativeDirection","allowNoSelection","numberSelected","firstItem","lastItem","unshift","pop","reversedSelection","reverseSelection","parseArabic","replace","charCodeAt","parseHebrew","trim","getLocaleNumberSeparators","locale","numberFormatter","Intl","NumberFormat","thousandSeparator","format","decimalSeparator","formatClean","num","regexPattern","RegExp","match","is","shallowEqual","objA","objB","keysA","keysB","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","createSlot","FIELD_MESSAGE_TYPES","CALLBACK_AND_DISPATCH","CALLBACK_AND_DISPATCH_WITH_STATE","NOW_INPUT","VALUE_SET","INVALID_SET","INPUT","NOW_BUTTON_ICONIC_CLICKED","NOW_POPOVER_OPENED_SET","TRACK_RECOMMENDATION_CLICK","FIELD_RECOMMENDATION_INFORMATION","NO_PREDICTIONS_AVAILABLE","SUGGESTION_PREFIX","CUSTOM_PILL_PREFIX","parsedFieldMessages","_ref","getMessage","liveUpdate","isUserModified","userName","getLiveUpdateMessage","transformMessages","messageMap","elements","getMessages","status","pushInfoMessageForDependentFields","transformDescriptionAndMessages","getFormFieldMessagesContent","_valueContent$childre","_valueContent$childre2","_valueContent$childre3","_valueContent$childre4","textContent","valueContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__","extendedLocales","Map","localeExtensions","ja","meridiemParse","_originalIsPM","isPM","input","test","language","moment","localeCode","extension","localeData","console","error","extendLocale","weekdays","isoWeek","momentLocale","isoWeekdays","monthsShort","isTimeZoneEnabledField","toLowerCase","endsWith","transformState","state","propertyName","defaultValue","createPreSourceBehavior","componentTagName","dsName","transform","storeSeed","initialState","preUserData","data","preferences","getProperty","sysPropValue","presourceGetProperty","getPageProperty","_window","_window$ux_globals","_window2","_window2$ux_globals","_window2$ux_globals$e","_window2$ux_globals$e2","_window2$ux_globals$e3","siteName","ux_globals","sysPagePropValue","experienceConfigs","pageProperties","effect","coeffects","args","checkIfFieldIsSelected","stagedPath","forEach","pathItem","updatedPath","transformFieldNameData","fieldNameData","referenceTypes","allowDotWalking","enabledTables","split","prev","curr","isFieldReferenceType","isReference","referenceDataKey","reducedValue","transformFieldNameMetadata","fieldValues","constructDataModel","pathValue","leafPathSource","model","metadata","transformedMetadata","transformedPath","transformPathData","idx","tableNameCurrent","parentTableName","fieldData","tableData","firstField","getFieldNameValue","p","getFieldNameDisplayValue","getDataModelWithToggledFields","dataModel","flag","fieldToBeDeleted","updatedIdArray","getParentTableName","parentPathArray","dataModelToUpdate","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","createPresentationalCustomElement","declarativeOperations","modifierTypes","nowPriorityLevels","view","variant","bare","styles","opened","customHighlightedLabel","highlightedValueLabel","showIcon","variantName","colorName","iconName","class","color","interactionType","constrain","minHeight","maxHeight","positions","button","actionHandlers","_ref2","updateState","stopPropagation","_ref3","action","payload","renderHighlightedValue","highlightedValue","defaultHighlightedValue","customHighlightedValues","highlightedValues","flat","hv","normalizeHighlightedValues","InteractiveDecoration","_action$meta","_action$meta$event","meta","pageX","pageY","renderAIIndicator","_suggestions$autofill","suggestions","renderHelperContent","link","role","href","rel","autofill","_suggestions$source","_suggestions$source2","_suggestions$source3","tooltipContent","renderDecorations","decorations","formControlWrapper","marginInlineStart","decoration","isInteractive","title","MODIFIED_FIELD_INDICATOR","SLOT_POSITIONS","LABEL_START","LABEL_END","LABEL_INLINE","renderIconsInLabelSlot","showModifiedIndicator","slotPosition","iconConfigs","iconsToRender","config","hidePadding","renderIcons","arr1","arr2","str","toUpperCase","acc","collection","other","customizer","Boolean","every","predicate","isLocalhost","isDomain","domain","internationalizedEmail","periodSplit","part","isHostname","v4","v6frag","isIPAddress","address","isIPV4Address","isIPV6Address","isEmail","email","components","isValidUrl","url","hasValidHttp","digits","Set","_isInteger","_getInt","minlength","maxlength","token","substring","getDateFromFormat","i_val","i_format","c","now","Date","year","getYear","month","getMonth","date","hh","getHours","mm","getMinutes","ss","getSeconds","ampm","week","MONTH_NAMES","DAY_NAMES","charAt","month_name","i2","day_name","weekNum","temp","setWeek","getFullYear","getDate","day","temp2","dayOfWeek","getDay","setDate","getTime","toPills","displayValues","convertToValueArray","toValues","pills","pill","getMatchesCount","options","search","lowerValue","method","itemValue","itemDisplayValue","findChildPath","items","itemIndex","findIndex","childrenIndexPath","getTreeNodeTypeIcon","isIndexed","isForeign","parseTree","xml","parentItem","nodes","DOMParser","parseFromString","getElementsByTagName","nodeName","nodeLabel","table","actionable","childrenAvailable","actions","clickActionType","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__","ComponentBase","React","_defineProperty","ControlledField","onLeave","handleOutsideScroll","singleNode","keyboardHandler","mouseHandler","blur","remove","propTypes","FocusWatcher","constructor","_this","super","globalListener","ref","onNodeBlur","setupGlobalListener","onGlobalBlur","focused","persistant","componentWillUnmount","componentWillReceiveProps","nextProps","render","setFocusTarget","defaultProps","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__","ShadyDOMEventFixer","addListeners","ReactDOM","removeListeners","componentDidMount","ShadyDOM","$1","ATTRIBUTES","MAPPED_TO_PROPS","floor","random","abs","count","guid","callAsync","then","shadowRootToSharedAccessibilityTargets","shadowRootToAccessibilityTargetsItemsQueue","shadowRootToAriaRefs","shadowRootToAriaRefsQueue","ariaRefHelpers","handleAriaAccessibility","ariaSetVnode","requiresRef","accessibilityTargets","startsWith","subscribe","targetRef","ariaAttribute","ariaRef","setCurrent","ariaRefShadowRoot","getRootNode","ariaRefAssignments","ariaRefsQueue","assignments","reverse","ariaRefToAssignment","ariaRefAssignment","possibleParentAriaRef","setChildQuerySelector","buildQuerySelector","setParentAriaRef","getParentAriaRef","createAriaRefHierarchy","isSet","currentClone","removeChild","removeAttribute","setAttribute","setId","sourceShadowRoot","sharedAccessibilityTargets","add","targetShadowRoot","targetItemsWithSharedShadow","from","targetItemsSharedShadowQueue","handleAccessibilityTargets","attribute","unsubscribe","vnode","targetItemsShadowQueue","targetRefToTreeNode","targetItemRoots","targetItems","targetItem","treeNode","parentTargetRef","parentAriaRef","cloned","targetRefToQuerySelector","rootTargetItem","firstItemWithTargetRef","cloneNode","appendChild","childItem","itemId","selections","currentParent","currentChild","partialSelector","getChildQuerySelector","querySelector","position","current","previousElementSibling","isAttribute","isMappedToProps","isSeismicComponent","existingRef","attributes","renderHighlightedValueReact","ForwardProperties","Component","rest","_objectWithoutPropertiesLoose","_excluded","allLowerCase","undefinedToNull","thing","createHOC","Control","_OnValueChangeProvider","initialValueProp","initialDisplayValueProp","cache","stopBubbling","componentNameWithHash","callbacks","createValueChangeCallbacks","dispatchCache","newProps","setState","doesPayloadMatchCache","actionType","compare","b","ignoreCache","callbackAndDispatch","additionalInfo","adaptCallbackForLegacyAPI","propValue","disableTracking","metaData","displayName","behaviors","configOrControl","fieldPropTypes","controlledFieldPropTypes","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","behavior","withValueChangeCallbacksView","helpers","_state$helpers","createdCallbacks","createCallbacks","createdCallback","isValueChanged","dispatchPayload","componentConnectedEffect","behaviorName","parentBehaviors","operation","shouldRender","propertyChangedEffect","_ref4","updateKey","callbackAndDispatchEffect","_ref5","_ref6","_state$behaviors$beha","actionToDispatch","payloadMatchesCache","additionalOptions","parentHandling","valueChangeAction","isStageChangedAction","clearValueChangedCacheUpdate","allowFieldChangesAfterEveryStageChange","createWithValueChangeCallbackBehavior","_ref7","validateInput","fieldRegex","trimmedValue","pattern","guidanceText","callbackWithStateBehavior","passthrough","oldObj","newObj","updateAdditionalInfoState","setInitialStateWithValue","initialDisplayValue","derivedInitialDisplayValue","_omit","isSuggestionsOpened","hasFocus","stagedValue","withState","onValueChangeCallback","onStagedValueChangeCallback","fn","attrs","encodedValue","targetValue","handleInitialValue","rawValue","oldValue","isBlur","sAdditionalInfo","internalValue","sValue","sError","_format","formattedValue","_excluded2","mergedAdditionalInfo","createWithStateBehavior","trackInputChange","eventBased","fieldChangeHandlers","forceRenderOnBlur","parseAndFormat","inputChangeIsTracked","inputChanged","errorMessages","isFieldValid","fromEvent","_ref8","newAdditionalInfo","isRender","inlineValidationError","_validateInput","validationResult","pInitialValue","pInitialDisplayValue","_format2","_excluded3","previousValue","isHandlingInitialValue","nextInitialValue","oldInitialValue","originalCallback","callbackPayload","isOnValueChange","_ref9","_ref0","_ref10","fieldValue","_ref1","checkAutofocus","enabled","flush","sleep","ms","wrapHelperContent","maxWidth","ANNOTATION","AUTO_INCREMENT","AUTO_NUMBER","BOOLEAN","CHAR","CHOICE","COMPOSITE_FIELD","CONDITIONS","CSS","CURRENCY","CURRENCY2","DATE","DATE_TIME","BASIC_DATE_TIME","DAYS_OF_WEEK","DECIMAL","DOCUMENTATION_FIELD","DOCUMENT_ID","DOMAIN_ID","DOMAIN_PATH","DUE_DATE","DURATION","EMAIL","ENCRYPTED_TEXT","FIELD_LIST","FIELD_LOOKUP","FIELD_NAME","FILE_ATTACHMENT","FLOAT","GLIDE_LIST","GUID","HTML","INPUT_GROUP","INTEGER","INT","LONG","LONG_INT","INTEGER_DATE","INTEGER_TIME","IP_ADDR","IP_ADDRESS","JOURNAL","MULTI_TWO_LINES","MULTI_SMALL","NAME_VALUE","OTHER_DATE","PASSWORD","PASSWORD2","PERCENT_COMPLETE","PHONE","PHONE_NUMBER","PHONE_NUMBER_E164","PRICE","RADIO","REFERENCE","SCRIPT","SCRIPT_PLAIN","SHORT_TABLE_NAME","SLUSHBUCKET","STRING","STRING_FULL_UTF8","STRING_LONG","STRING_SHORT","TABLE_NAME","TEMPLATE_VALUE","TEXTAREA","TIME","TIME_WORKED","TRANSLATED_FIELD","TRANSLATED_HTML","TRANSLATED_TEXT","URL","USER_IMAGE","UTC_TIME","VERSION","WIDE_TEXT","WIKI_TEXT","WORKFLOW","USER_ROLES","XML","CONDITION_STRING","ORDER_INDEX","HTML_SCRIPT","USER_INPUT","RELATED_TAGS","EMAIL_SCRIPT","setInitialValue","hasValue","hasDisplayValue","newControlProps","isEncrypted","FIELD_TYPE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","markTypes","trackBehavior","track","isRecommendation","eventTitle","telemetry","trackPayload","context","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__","isEnabledActionTypes","isEnabledBehavior","translationActionTypes","translationBehavior","TRANSLATING","UNABLE_TO_TRANSLATE","MISSING_CREDENTIALS","MAX_LENGTH_ERROR_MSG","LANG_NOT_SUPPORTED","NO_TEXT","FIELD_VALUE_CHANGED","RETRANSLATE","TRY_AGAIN","CLOSE","PREFERRED_LANGUAGE","TRANSLATE","NOW_TEXT_LINK_CLICKED","COMPONENT_BOOTSTRAPPED","DYNAMIC_TRANSLATION_TEXT_TRANSLATED","DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED","DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED","DYNAMIC_TRANSLATION_IS_ENABLED","trackDynamicTranslationEvents","handleDynamicTranslationClick","isHTML","translatedState","msg","dtsRequestBody","additionalParameters","parameterName","parameterValue","dynamicTranslationBehaviour","translatedResponse","response","_translatedResponse$d","translationsObj","translations","detectedLang","detectedLanguage","code","targetLanguage","translatedText","credit","translator","errorMessage","showRetry","_payload$response","_payload$response2","isTranslationEnabled","translation","paddingRight","dictionaryAttributes","_state$translatedText","record","recordMetics","isRetranslate","handleDynamicTranslationBlur","inputValue","previousTranslatedText","previousText","currentStatus","renderTextLink","renderTranslatedText","hideShadow","html","renderTranslateIcon","tooltip","defaultSeismicProps","transformProperties","component","usingPropTypes","entries","registerComponents","registrationFn","componentMap","actionTypesToProps","useCallbacks","react","registerComponentsWrapper","hostToScrollListener","onChangedProperty","onConnect","onRender","lastState","addScrollListener","scrollListener","oldListener","removeScrollListener","COMPONENT_RENDERED","COMPONENT_NAME","HORIZONTAL_LAYOUT","VERTICAL_LAYOUT","baseClass","MAX_CONTENT_HEIGHT","TRUNCATE_HEIGHT","getContentHeight","contentRef","offsetHeight","getExpandLabel","expanded","updateContentHeight","setExpanded","contentHeight","isOverMaxHeight","newState","_columns$map$join","_columns$map","important","lineSeparator","sectionSeparator","sectionDetails","slotEmpty","contentId","overflowStyle","normalizedColumns","containerRef","display","details","collapsed","on-click","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__","messagesSchema","renderFormFieldLabel","renderFormFieldMessages","AUTO_NUMBER_CONSTANTS","freeze","FETCH_AUTO_NUMBER","FETCH_AUTO_NUMBER_SUCCESS","FETCH_AUTO_NUMBER_FAILURE","FETCH_AUTO_NUMBER_ERROR_MSG","NOW_BUTTON_ICONIC_TOOLTIP","EVENT_ORIGIN","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","dispatchValueChanged","effectProps","FetchAutoNumberEffect","batch","headers","queryParams","successActionType","errorActionType","eventOrigin","sysparm_processor","sysparm_name","getError","showUnsavedIndicator","wrapLabel","anyOf","slots","dispatches","focusBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__","ControlWrapper","align","wrapperRef","fieldset","alignCenter","fitToParent","customColumn","snFormFieldClassName","makeClass","htmlFor","truncationBehavior","tooltipBehavior","FieldMessages","getMessageMap","hasMessages","labels","messageMapResult","wrapperClass","iconType","getLabels","POPOVER_CONTENT_TAG","padding","renderFieldHelper","Label","checkedSetEffect","isToggle","fullWidth","labelPosition","ariaLabel","ariaProperties","ComponentTag","checked","manageChecked","appendToPayload","renderSwitchComponent","ariaDescribedby","ariaLabelledby","checkedOptions","optionValue","sort","selectedOptions","setInitialState","valArray","option","String","cast","withStringValues","applyOptionStack","optionStack","newChoices","newOption","splice","iM","appendTmpValueAsChoice","_isTmp","getValidChoiceValue","_choices$","isEqualSansTmp","to","getChangedFieldInSerializedChanged","serializedChangesString","attributeFields","changedField","potentialChange","shouldSelectFirstOption","dontSelectFirstOption","isListEditFormField","sysId","NOW_CHOICE_NONE_OPTION","transformChoices","sublabel","transformChoicesWithRecommendations","suggestedItems","sectionLabel","emptyMessage","propChoices","isSearchable","stateChoices","isSuggestionSelected","ariaConfig","trigger","panel","selectedValue","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","FETCH_DATA","FETCH_DATA_SUCCESS","FETCH_DATA_FAILURE","fetchDependentChoices","sys_id","serialized_changes","encoded_record","isLoading","getDisplayValue","selected","updateChoices","oldChoices","forceUncontrolled","stateValue","refQualElementsAttribute","initialValueString","fileterdChoices","prevChoices","justStoppedLoading","hasChoiceMatch","valueCandidate","displayValueCandidate","derivedChoices","dependentChoiceData","refQualElements","formFieldProperties","formFieldValue","formFieldDisplayValue","previousRenderState","firstRenderOnConnect","updateValue","selectValue","validChoiceValue","hasRememberedMatch","matchedChoiceIsNone","firstChoiceValue","variableList","errors","results","_action$payload","suggestionPrefix","withValueChangeCallbackBehavior","ConnectedChoice","ariaDescribedBy","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__","getItemForKeypress","itemsSchema","DEFAULT_BUTTON_PROPS","hideButtonOnDialog","strictlyUseDefaultPresetAction","isCaretForDropdown","DEFAULT_RECOMMENDATION_DIALOG_PROPS","insertButtonLabel","refineButtonLabel","WWNA_INSERT_RECOMMENDATION_CLICKED","WWNA_RECOMMENDATION_DIALOG_CLOSED","WWNA_PRESET_ACTION_CLICKED","NOW_TEXTAREA_INPUT","NOW_TEXTAREA_SELECTION_CHANGED","NOW_INPUT_SELECTION_CHANGED","NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST","SHOW_HIDE_WWNA_COMPONENT","AUTOGROW_TEXT","WWNA_INITIALIZED","resolutionSkillID","isResolutionSkill","nacmConfig","_nacmConfig$contextMe","_nacmConfig$contextMe2","_nacmConfig$contextMe3","_nacmConfig$contextMe4","fieldConfig","contextMenu","formFieldsSkillMapping","skill_id","isNACMSkill","_nacmConfig$contextMe5","_nacmConfig$contextMe6","_nacmConfig$contextMe7","_nacmConfig$contextMe8","sanitizeNACMValue","removeAllWhitespace","textHasMinWordCount","minWords","words","word","getFieldElement","hostElement","_hostElement$shadowRo","_textareaParent$shado","textareaParent","getNowTextarea","renderNowAssistContextMenu","selectedText","draftedText","isUserTriggered","inputFocused","wwnaDialogOpened","minWordCount","isComponentVisible","componentSelectedText","getNACMConfigDetails","documentTableName","documentSysId","wwnaComponentId","buttonProps","recommendationDialogProps","nacmResponseType","fieldSelector","renderResolutionNACMContextMenu","nacmInitializedHandler","_e$detail","detail","additionalConfig","preInvokeActionHandler","commandName","handleAutogrow","actionConfig","renderNACMContextMenu","selectionChangedEffect","selection","selectionStart","selectionEnd","nowAssistConfig","nacmBehavior","eventHandlers","events","show","_Object$keys","componentLoaded","enableCaretSlot","floatingButton","getElementById","nacmValue","nativeFieldSelector","fieldElement","sanitizedNacm","nextValue","replaceSelectedTextNACM","nextCursorPosition","textarea","setSelectionRange","_getFieldElement","_getFieldElement$focu","NACMPayload","autogrow","autogrowLevel","selected_text","actionsConfig","wwnaOffsets","offsetTop","offsetLeft","nowAssistActionsBehavior","_variableSets$some","variable_sets","variableSets","_v$props","config_type","user_triggered","replaceSelectedText","getCursorPositionAfterInsertion","textWithInsertion","insertedText","insertionIndex","_getNowTextarea","updateTextareaElementSelection","command","CharacterCounter","Number","isNaN","charCount","charsRemaining","warning","normalizePlaceholder","setInnerRef","innerRef","onFocusEvent","onBlurEvent","onMouseOverEvent","onMouseOver","onMouseOutEvent","onMouseOut","onChangeEvent","onNDSChange","changeEvent","getMaxlengthLabel","ignoreMaxlength","renderTextarea","isTrigger","_fieldRegex$","disableMaxHeight","showCounter","isPropertySelector","textValue","slotted","maxlengthLabel","resolvedPlaceholder","autoresize","onMouseDown","autoresizeRowsLimit","autoresizeLineLimit","renderInput","_fieldRegex$2","step","hideRequiredIndicator","propAriaLabelledBy","ignoremaxlength","mobileKeypadType","renderInputWithDropdown","_transformedOptions$h","showDropdownWithoutFocus","highlightedIndex","transformedOptions","minWidth","hideTail","activeItem","renderInputWithSuggestions","selectedItem","activeItemId","nowId","transformedSuggestions","defer","Input","renderTextareaElement","renderInputElement","SNInput","NOW_TEXTAREA_VALUE_SET","SNInputGroup","trackBootstrap","SysId","Table","FieldType","FieldLabel","trackBootstrapBehavior","rows","cols","wrap","resizable","handleOutsideScrollFocus","fallbackDropdownBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__","canRenderFieldAction","oldIconToEDSIcon","phone","iconProp","iconic","reverseIconPlacement","old","ButtonComponent","handleButtonClick","MESSAGE_CONSTRAINTS","HOTKEY_TYPES","MATCH_LIST_CONSTRAINTS","SN_RECORD_JOURNAL_INPUT","NOW_TEXTAREA","NOW_DROPDOWN_LIST","encode","mentions","prefix","findSearchSpace","valueUntilCursor","lastTriggerIndex","lastIndexOf","charBeforeTrigger","textAfterTrigger","getMatchListOffset","inputEl","activePrefix","matchListWidth","inputLabelWidth","appliedOverflow","cursorOffset","offset","carPos","div","span","copyStyle","substr","inputDim","coords","TOP","scrollTop","LEFT","getCaretPosition","initialContentPos","parentRight","right","labelStart","marginInlineEnd","offsetWidth","overflow","stripTags","sanitized","SN_RECORD_INPUT_CONNECTED_ACTIONS","NOW_INPUT_ACTIONS","AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED","matchListMessages","init","loading","noMatches","response_templates","heading","level","illustration","alignment","renderer","matchList","isNewDropdown","hotkeyType","renderDropdownList","_matchList$highlighte","displayFormat","disableMinHeight","resize","FETCH_DATA_START","FETCH_MENTIONS","FETCH_MENTIONS_SUCCESS","FETCH_MENTIONS_FAILURE","FETCH_RESPONSE_TEMPLATES","FETCH_RESPONSE_TEMPLATES_SUCCESS","FETCH_RESPONSE_TEMPLATES_FAILURE","BUILT_IN_MENTIONS","users","hk","mapResults","user","avatar","record_is_visible","avatarProps","imageSrc","displayItem","getItemsFromInitialValue","re","exec","filterMentions","preloadMentions","searchTerm","filteredResult","filteredPreloadMentions","lowerCaseSearchTerm","userMap","userLastName","lastname","queryDispatcher","inputVal","debouncedQueryDispatcher","pathParams","startActionType","resultsLoading","filteredUsers","dataParam","templates","activePrefixPosition","hotkeys","textPosition","currentToken","trailingInput","isRelatedSearch","_ref11","_ref12","hasDoubleSpaceEnding","term","recordTable","recordId","limit","includeEvaluatedBody","opts","channel","responseTemplates","_ref13","searchSpace","selectEndPosition","char","hotkey","prefixLength","_ref14","_ref15","inputTillPrefix","insertContent","newSelectedItems","textAreaValue","cursorPosition","_ref16","_ref17","actionSource","_ref18","_ref19","preventDefault","onPaste","handler","paste","keypress","relatedTarget","capture","normalizedMentions","normalizeMentions","mention","variables","assertValidMention","searchDebounce","responseTemplatesConfig","enableResponseTemplates","_t$evaluated_response","_t$evaluated_response2","textOverflow","whiteSpace","evaluated_response","evaluated_body","shouldRenderWhenSet","formatNumber","parsedNumber","parseFloat","round","ConnectedInput","overrideDeclarativeActionsProps","onBlurProp","onChangeProp","innerRefProp","inputElement","shouldSkipWWNAToggle","isJournal","setInputElement","declarativeActionsProps","getPasswordField","manageInvalid","manageValue","disableUnmask","renderJournal","debounceAutosize","_event$target","_state$messages","_properties$messages","_properties$messages2","hasStateMessages","usePropertyMessages","nonErrorPropertyMessages","combineOnFocus","originalOnFocus","COMPONENT_PREFIX","NOW_INPUT_PASSWORD_VALUE_SET","NOW_INPUT_PASSWORD_INVALID_SET","NOW_TEXTAREA_INVALID_SET","NOW_INPUT_PASSWORD_INPUT","NOW_RECORD_INPUT_PASSWORD_RESET_EDITED","PASS2_REQUEST","PASS2_DATA_REQUEST_SUCCESS","PASS2_DATA_REQUEST_ERROR","PASS2_TYPE","passwordChangeEffect","pass2DataRequestGraphQL","updateProperties","edited","effectProxy","password","fromHandleBlur","getSelectedItem","NOW_DROPDOWN_LIST_ITEM_CLICKED","NOW_INPUT_CHANGE","supportsDropdown","autocompleteOptions","filterStaticOptions","autocompleteMatchAnywhere","matcher","lowerCaseInput","opt","_host$shadowRoot$quer","_target$shadowRoot$qu","getCursorPosition","_host$shadowRoot$quer2","nextItem","handleKeydownForSuggestions","filteredOptions","charSet","isPasswordMasked","_ConnectedInputState","withValueChangeCallbacks","withStateBehavior","focusOnTrigger","focusOnNativeInput","withStateView","defaultConnectedInput","passwordStyle","autocomplete","mentionsLoading","inputActionHandlers","passwordBehavior","withAutocompleteBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect","COMPONENT_LOAD_COMPLETED","COMPONENT_LOAD_FAILED","COMPONENT_LOAD_REQUESTED","NOW_CODE_EDITOR_CONTENT_CHANGED","NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED","SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED","SN_RECORD_CODE_EDITOR_FOCUS_CHANGED","ERROR","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__","XMLValidator","workerFn","scriptImported","self","onmessage","origin","script","linterConfig","importScripts","linter","eslint","Linter","postMessage","verify","instance","validateXML","lineNumber","endOfPrefix","line","col","processLinting","lintWorker","Worker","createObjectURL","Blob","onComplete","updateErrorAndValue","editorHeight","lineCount","createComponentLoaderEffect","editorLanguage","_errors$filter","severity","isConditionString","condition","removeCommentsFromClientScript","validateConditionString","column","validateScript","isXMLView","isClientScript","recordScope","autocompleteSuggestions","isLargeField","showTextEditor","_state$properties","propertiesWithoutOnValueChange","scriptField","recordType","readOnly","scrollBeyondLastLine","scope","generateAction","tooltipMap","incident","labelPlural","problem","change_request","outages_past","outages_current","outages_planned","changes_past","changes_current","changes_planned","FETCH_XML","FETCH_CONTENT_TREE_SUCCESS","FETCH_CONTENT_TREE_FAILURE","FETCH_CONTENT_TREE_ERROR_MSG","NOW_CONTENT_TREE_EXPANDED_ITEMS_SET","NOW_CONTENT_TREE_LOADING_REQUESTED","NOW_CONTENT_TREE_ITEM_CLICKED","NOW_CONTENT_TREE_SELECTED_ITEMS_SET","NOW_CONTENT_TREE_ACTION_CLICKED","PRIVATE_EXPANDED_ITEMS_SET","PRIVATE_LOADING_REQUESTED","SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER","TABLE_CI","TABLE_GROUP","SELECT_SINGLE","dispatchItemClickedWithPayload","dispatchFetchXML","treePickerConfig","domainId","query","params","processor","sysparm_reference","sysparm_dependent_value","sysparm_domain","sysparm_query","nameSuffix","relType","sysparam_item","sysparam_path","sysparm_type","sysparm_chars","sysparm_target","fetchContentTreeEffect","handleLoadingRequested","select","loadingItemsPath","treeIndex","handleExpandedItemsSet","expandedItem","targetPath","treeItems","loadingItems","expandItem","request","itemPath","isCiTree","treeJson","pathUpdated","parseGroupTree","root","relTypes","relTypeIndex","ciTypes","ciTypeIndex","ciType","ciIndex","sysID","parseCITree","parseGeneralTree","updateSelectedItemAfterExpanding","tree","parentId","parentItemPath","currentItemExpanded","ind","start","deleteCount","toBeExpandedItem","selectedItemPath","isSelected","dispatchItemClicked","popoverOpen","popoverTarget","actionTarget","popoverContent","info","popoverStyle","targetFor","closePopover","contentTreeGeneral","contentTreeCi","elm","positionTarget","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__","formatQuery","g1","g2","makeQuery","operationName","referenceConnectedVariables","chars","ignoreRefQual","paginationLimit","sortBy","orderByDisplayColumn","getResponseReference","referenceDataRetriever","referenceDataList","referenceData","getReferenceConnectedQuery","makeParams","getResponseChoice","choiceDataRetriever","getChoiceConnectedQuery","hideCaret","manageOpened","manageSelectedItems","manageable","serverFormatRegex","floatFormatRegex","parseSeparator","replacement","regex","currencyCode","floatFormat","strip","sanitizers","processedValue","sanatizedValue","parser","formatServer","INTERNAL_ON_BLUR","HOLD_RAW_FORMAT_LATER","normalizeCurrencyValue","displayString","defaultCurrency","singleCurrency","valueOnly","currentCode","getFallbackCurrencyDisplay","getSublabel","enableSubLabel","normalizeCurrencyCodes","currencyCodes","normalizedCurrencyCodes","formatCurrency","useAllFractionsDigits","minFractionDigits","maxFractionDigits","formattedCurrency","serverFormat","serverFormatMatch","parseError","minimumFractionDigits","maximumFractionDigits","formatOptions","currency","useGrouping","formatToParts","resolveAriaProps","onSelectChange","_normalizedCurrencyCo","isPrice","enableSearch","sizeProp","nameProp","validationMessages","checkCurrencyInput","wholePart","fraction","isSafeInteger","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","tabIndex","renderDeclarativeActions","COMPONENT_RENDER_REQUESTED","_formatCurrency","validateAndDispatchError","isBlurCheckPending","isObjectNotEmpty","previousRenderProperties","nextCurrencyCodes","restOfNextProps","oldCurrencyCodes","restOfOldProps","modifier","delay","maxWait","computed","dropdownOpen","navigator","defaultDateTime","utcOffset","time","getFormat","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__","DateTypes","isDateTimeValueValid","localeContext","parseTZ","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__","isAfter","isBefore","isSameDay","isWithinInterval","WEEKLY_FORMAT","WEEKLY_ISO_FORMAT","MONTHLY_FORMAT","YEARLY_FORMAT","QUARTERLY_FORMAT","DEFAULT_DATE_TIME_FORMAT","DEFAULT_DATE_FORMAT","DEFAULT_REPLACEMENTS","YYYY","DD","Q","ww","WW","YY","Y","D","WEEKLY_TYPE","MONTHLY_TYPE","YEARLY_TYPE","QUARTERLY_TYPE","STANDARD_TYPE","WEEKLY_ISO_FIRST_DAY","MOMENT_WEEK","MOMENT_ISO_WEEK","MOMENT_WEEKLY_FORMAT","MOMENT_WEEKLY_ISO_FORMAT","MOMENT_MONTHLY_FORMAT","MOMENT_YEARLY_FORMAT","MOMENT_QUARTERLY_FORMAT","NOW_DATE_TIME","DATE_PICKER_OPENED_SET","FETCH_SERVER_DATE","FETCH_SERVER_DATE_SUCCESS","FETCH_SERVER_DATE_FAILURE","FETCH_SERVER_DATE_ERROR_MSG","NOW_DATE_PICKER_SAVE_VALUE","NOW_DATE_PICKER_ON_OK","NOW_DATE_PICKER_ON_CANCEL","NOW_DATE_TIME_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_OPENED_SET","NOW_DATE_TIME_VALUE_SET","NOW_DATE_TIME_INVALID_SET","UPDATE_SAVE_PENDING","FetchServerDateEffect","savePending","actualValue","actualFormat","_action$payload$error","errorId","bottomBar","timePicker","hasTimePicker","pendingValue","isValueTrue","pendingValueToUpdate","valueToUpdate","answer","isInitialValueNeeded","getDateObject","isValid","focusInput","_host$shadowRoot","valuePayload","originalFormat","updatedFormat","datfnsFormat","getDateFnsFormat","updatedValue","fnsFormat","useAdditionalWeekYearTokens","showBottomBar","_dateObj","_dateObj2","inputStr","dateObj","getDateObjectWithTz","isoDate","disabledDates","dateFnsFormat","isWeekYearToken","isStrictCheck","isDateIncluded","selectedTimeValue","fetchServerDate","getWeekType","datesToLookFor","checkDate","parseOptions","compareRange","compareDate","end","before","beforeDate","after","afterDate","hasTime","formatWithReplacements","replacedFormat","Constants","valid","saveValue","dt","dateFromFormat","browserOffset","getTimezoneOffset","utcTime","sysparm_value","onInputChange","onInputBlur","_event$relatedTarget","_event$relatedTarget$","firstDayOfWeek","yearRange","isReadonly","firstDay","footerActions","updatedDisableDates","calendarType","getType","_typeMappings$type","weekly","monthly","yearly","quarterly","updatedPendingValue","showDefaultFooterActions","disabledItems","oninput","onblur","hideFooter","panelFitProps","relative","reflect","INVALID_MOMENT","STANDARD_VIEW_TAG","MAX_DAYS_IN_ADJACENT_NEXT_MONTH","MONTHLY_VIEW_TAG","YEARLY_NUM_ROWS","YEARLY_YEARS_PER_ROW","YEARLY_VISIBLE_YEARS","YEARLY_VIEW_TAG","QUARTERS_ARRAY","QUARTERLY_VIEW_TAG","AFFIRMATIVE_KEYS","NAVIGATION_KEYS","CUSTOM_PRESET_LABEL","SET_VISIBLE_YEAR","INIT_HIGHLIGHTED_DATE","SET_DATE","DEFAULT_RESPONSE_FORMAT","ARIA_LABEL_DATE_FORMAT","getDateRangeRows","disabledDays","grid","firstOfThisMonth","daysNeededLastMonth","daysThisMonth","daysInMonth","daysNeededNextMonth","lastDayLastMonth","subtract","prevMonth","thisMonth","nextMonth","getDateRange","adjacentMonthDay","DaysOfWeek","weeklyView","adjustWeekForYearOverlap","weekType","firstOfNextYear","isSame","handleKeyPress","keymap","highlightedDate","ctrlKey","isReversed","currentDate","isSameOrAfter","isSameOrBefore","getDisabledDays","monthStart","startOf","monthEnd","endOf","dateElement","startOfWeek","endOfWeek","isBetween","dates","startInMonth","endInMonth","monthInRange","maxStart","minEnd","endDay","startDay","getDisabledYears","years","yearsInView","yearStart","yearEnd","beforeYear","afterYear","getDisabledQuarters","currentYear","yearPart","disabledQuarters","quarterStart","quarterEnd","disabledQuarter","quarter","startInYear","endInYear","quarterIndexes","beforeQuarter","afterQuarter","getDisabledMonths","disabledMonths","disabledMonth","monthIndexes","UNIT_LIMITS","hours","minutes","seconds","milliseconds","to24Hour","createTime","initialTime","use24Hour","pm","getTimeSegments","unitName","hasSeconds","hasMilliseconds","NOW_RECORD_TIME_ON_GROUP_BLUR","INVALID_TIME_MESSAGE","stringValue","hasParentFocus","newTime","timeSegments","paylaodEvent","relativeTime","isValidTime","isTimeValid","defaultZeros","getTimeString","UNIT_NAMES","DISPLAY_UNIT_NAMES","TIME_INPUT_LIMITS","am","separator","persist","isFirstInput","fieldLabel","timeUnit","pickerNode","payloadEvent","SCHEDULE_PRESET_LABEL","TIME_PRESET_GROUPS","TIME_AGO_PRESETS","group","between","getTimeAgoGroups","timeAgoPresets","timeAgo","getTimeAgoByLabel","getTimeAgoCustom","getTimeAgoByValue","PRESET_SELECTED","PRESET_VALUE_CHANGED","PRESET_MESSAGE_UPDATED","FETCH_CALENDAR","FETCH_CALENDAR_SUCCESS","FETCH_CALENDAR_FAILURE","FETCH_ABSOLUTE","FETCH_ABSOLUTE_SUCCESS","FETCH_ABSOLUTE_FAILURE","TimeAgoButton","isCustom","handleTimeAgoSelect","handleSelection","tabindex","AccordionItems","presetGroups","selectedTimeAgo","timeAgoGroupItems","getTimeAgoByGroup","itemInGroup","isTimeAgoInGroup","header","weight","dispatchTimeAgo","presetSelected","fetchCalendarEffect","fetchAbsoluteEffect","absolute","from_date","to_date","table_name","schedulePresets","respObj","scheduleGroupObj","dateChoiceDisplayValues","scheduleGroups","g","timeAgoDates","schedulePresetObj","preset","getBusinessCalendars","fromDate","toDate","absoluteStart","absoluteEnd","customTimeAgo","infoMessage","MONTH_OUTER_WRAPPER_CLASS","MONTH_VIEW_COMPONENT","RECORD_CONTROL_COMPONENT","RECORD_DROPDOWN_INTERNAL_COMPONENT","SN_MONTH_HEADER","nextFocusControlElement","currentTarget","rightMonth","controlToFocus","headerControls","nowControlToFocus","querySelectorAll","headerControlToFocus","handleRangePickerMonthTab","rangePickerRef","nextCtrlWrapperLeft","nextCtrlWrapperRight","nextCtrlWrapper","nextDayCtrl","navClass","monthViews","nextFocusElemSelector","weekFormat","VIEW_NEXT_MONTH","VIEW_TODAY","VIEW_PREV_MONTH","updatedDate","onChangeMonth","enablePreviousMonthControl","enableNextMonthControl","rangePicker","shiftKey","YearLabel","enableMonthNavigationChevrons","firstYear","VISIBLE_YEARS_DELTA","handleRangePickerYearTab","monthOuterWrapper","nextctrl","KEYMAP","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageUp","months","CtrlPageUp","PageDown","CtrlPageDown","Home","End","Enter","Spacebar","_document","_event$currentTarget","onSelectDate","onHighlightedDate","onEndDayHover","parentRef","nextDate","dayToFocus","nextFocusDayElement","_parentRef$parentNode","_parentRef$parentNode2","_parentRef$parentNode3","rangePickerParentElement","snMonthViewElements","_dayToFocus","dayToFocusDisabled","ariaDisabled","StandardGrid","mouseDown","hasGridFocus","visibleMonth","showAdjacentMonthDays","hoverEnd","autoSelectDatesCount","MonthGrid","onDayHover","hoverDate","normalizeDate","normalizedStart","normalizedEnd","normalizedHoverEnd","today","none","onlyStart","weekIndex","normalizedVisibleMonth","isCurrentDate","isPreview","isInsideRange","isHighlighted","isToday","showDay","focusable","isDayFocusable","isAdjacentMonthDay","currentMonth","isDateInAutoSelectRange","dateSelected","dateInRangeSelected","handleRangePickerDayTab","footer","confirmation","Week","disabledWeek","isWeekInRange","isDisabled","WeekNumber","weekNumber","WeekRow","adjacentWeek","weekOfYear","firstVisibleDate","weekStart","calculatedYear","newDate","handleMouseEnter","selectedDate","endOfSelectedWeek","endOfYearOutlier","handleMouseLeave","Weeks","normalizedCurrentDate","normalizedCurrentDateEnd","dayStartObj","dayEndObj","normalizedVisibleStart","normalizedVisibleEnd","dayDisabled","daysOfCurrentWeek","wk","isCurrentWeek","visibleStart","WeeklyGrid","weekCurrent","weekCurrentDay","handleRangePickerWeekTab","prevCtrlWrapper","prevctrl","weekToFocus","nextFocusWeekElement","on-mousedown","on-focus","on-blur","GridWrapper","onControlExit","gridProps","updateSate","ON_DATE_CHANGE","ON_SELECT_DATE","isStandardOrWeeklyType","initCurrentDate","prevOpened","updatePopover","initValue","embedded","onDateChange","replaceAll","ON_CHANGE_MONTH","initialDate","disabledDatesForMonth","daySelected","dateInUpdatedFormat","isValidDate","onTimeChange","onCancel","onOk","hasFooter","CalendarBody","QuarterlyGrid","displayedYear","highlightedQuarter","hoveredQuarter","isRangePicker","isFocusedFromClick","disabledLeftQuarters","disabledRightQuarters","getQuarterGrid","isYearAndQuarterSame","currentQuarter","isCurrentQuarter","isInRange","handleQuarterSelection","updateHighlighted","leftQuarterGrid","rightQuarterGrid","onkeydown","nextHighlightedQuarter","increment","getNextHighlightedQuarter","resetHighlighted","VIEW_NEXT_YEAR","VIEW_CURRENT_YEAR","VIEW_PREV_YEAR","YearSelect","selectedYear","prevChevron","nextChevron","YearNavigation","nextYear","newYear","currentHighlightedQuarter","visibleYear","propsValue","BottomBar","calendarViewBehavior","YearlyGrid","hoveredYear","highlightedYear","isYearClicked","lowerYear","upperYear","yearRows","disabledYears","nextHighlightedYear","getNextHighlightedYear","handleFocus","visibleRange","row","yearBeingConsidered","focusedYear","handleYearSelection","updateHovered","VIEW_NEXT_YEARS","VIEW_PREV_YEARS","YearlyHeader","CURRENT_YEAR","MIN_VISIBLE_YEAR","MAX_VISIBLE_YEAR","currentHighlightedDate","Yearly","isVisible","MonthlyGrid","highlightedMonth","hoveredMonth","monthRows","disabledLeftMonths","disabledRightMonths","getMonthGrid","rowIndex","monthIndex","isYearAndMonthSame","monthBeingConsidered","isCurrentMonth","handleMonthSelection","leftGrid","rightGrid","nextHighlightedMonth","getNextHighlightedMonth","currentHighlightedMonth","CalendarView","derivedValue","Tag","parentOnOk","parentOnCancel","sourceField","rtlBehavior","Standard","constants","GRID_EVENTS","TRY_CLOSE_DROPDOWN","TRY_SET_END_STATE","DATE_INTERVAL_SOURCE_END","DATE_INTERVAL_SOURCE_START","TIME_FORMAT_PATTERN","TRIGGER_ID","ENDPOINT_BUSINESS_CALENDAR","ENDPOINT_TIMEAGO_ABSOLUTE","NOW_DATE_TIME_PRESETS_PRESET_CLICKED","validRange","startDate","endDate","invalidFormatError","invalidError","invalidRangeError","defaultFormat","momentFormat","getErrors","startError","endError","isValidRange","isInvalid","dateToCheck","initDate","otherDate","inValid","createInvalidationChecker","getVisibleMonth","applyTransformations","unit","inclusive","transformations","mapAbsolutePresets","absolutePresets","selectedLabel","selectedGroup","absolutePreset","groupLabel","presetType","SOURCE_FIELD_START","SOURCE_FIELD_END","SET_START_STATE","SET_END_STATE","SET_START_AND_END","SET_START_AND_END_STATE","SET_PENDING_START_STATE","SET_PENDING_END_STATE","SET_LAST_VALID_STATE","SET_VISIBLE_MONTH","SET_HOVER_END_DATE","SET_SOURCE_FIELD","TOGGLE_DROPDOWN","SET_HIGHLIGHTED_DATE","NOW_DATE_TIME_INTERVAL_OPENED_SET","NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET","NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_INTERVAL_INVALID_SET","UPDATE_TIMEAGO_PRESETS","dateString","getInitialState","propertyChanged","presets","pendingStart","pendingEnd","lastValidRange","newStart","newEnd","applyPreset","requireConfirmation","timeAgoLabel","handleNowDateTimeIntervalSetEffect","startValue","endValue","getInitialStateEffect","createDispatchValueEffect","createPayload","newRange","isoStart","isoEnd","toISOString","currentSourceField","popoverOpened","originalStart","originalEnd","valueStart","valueEnd","selectedPresetIndex","selectedGroupLabel","timeAgoByGroup","ensureObjectWithValueProperty","pickerConfirm","focusControlButton","controlButton","fromRef","toRef","updateEndHoverValue","isOutlier","vMonth","nMonth","leftVisibleMonth","rightVisibleMonth","defaultDateLabel","updateDate","currentStart","currentEnd","fromTime","getNewDate","next","normalizedDate","currentTime","editState","noneSelected","onlyStartSelected","onlyEndSelected","isStartAndEndSelected","tryCloseDropdown","createUpdateDateFunction","Start","defaultPresets","labelEnd","enableSameDay","applyLabelValue","hideAdjacentDates","enablePresets","activePreset","customPresets","showPresetGroups","schemas","selectedTimeAgoPreset","days","Infinity","normalizeState","maxUnit","carry","minValue","nextCarry","nextUnitName","parseValue","durationString","dateValue","diff","normalizeDurationValue","isNegativeDuration","hideUnitLabels","secondsReadOnly","normalizedState","formatValue","maxUnitIndex","childId","durationUnit","SNDuration","_properties$fieldRege","hideEmailIcon","hideEmailIconProp","tooltipLabel","renderEmailTrigger","EMAIL_PLACEHOLDER","parsingError","DEFAULT_MAX_HEIGHT","NO_VARIABLES_AVAILABLE","CONFIGURE_TABLE","TABLE","DIVIDER_STYLES","handleResizeObserver","resizeObserverForTreeContainer","disconnect","treeEl","ResizeObserver","observe","_action$payload$item$","_action$payload$item","sysparm_scope","sysparm_want_session_messages","sysparm_include_sysid","sysparm_table_name","sysparm_is_template","sysparm_apply_template_acls","sysparm_is_excluded_role","sysparm_synch","sysparm_flag_indexed","textAreaField","stackContainerValue","stackContainer","_host$shadowRoot$quer3","contentTreeParentDiv","updatedNodes","_action$payload2","_action$payload2$item","_action$payload3","_action$payload3$item","_action$payload4","_action$payload4$item","_action$payload5","_action$payload5$item","startPos","endPos","_action$payload6","_action$payload7","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__","SnEmailScript","dependentDisplayValue","messagesContent","TextArea","contentTree","showDividers","dividerStyles","defaultDividerPosition","actionHandler","resizeBehavior","timer","wait","HIDE_DROPDOWN","FieldAndDropdownWrapperSeismic","controlRef","dropdownRef","FieldAndDropdownWrapper","dropdownVisible","setProperty","dropdownElement","componentDidUpdate","prevProps","ignoreDropdown","firstChild","removeProperty","hasHover","setDropdownRef","normalizeFieldListDisplayValue","labelsWithPaths","labelPath","fieldLabels","singleLabel","displayValuesWithPath","preventManualInput","NOW_MODAL_OPENED_SET","SELECTED_ITEM_SET","ADD_BUTTON_CLICKED","EDIT_BUTTON_CLICKED","COMPONENT","VALUE_CHANGED","UPDATE_VALUE","CLICK_TO_ADD_LABEL","OPEN_LIST_LABEL","OK_LABEL","CANCEL_LABEL","MODAL_SUB_HEADER_LABEL","REQUIRED_STR","OPEN_MODAL_ACTION","FETCH_DISPLAY_COLUMN_DATA","FETCH_DISPLAY_COLUMN_DATA_SUCCESS","FETCH_DISPLAY_COLUMN_DATA_FAILURE","FETCH_DV_DATA","FETCH_DV_DATA_SUCCESS","FETCH_DV_DATA_FAILURE","RESULTS_PATH","buttonClickedEffect","fetchDisplayColumnEffect","fetchEffect","stateDisplayValue","selectedItemsStaged","updatedProperty","value1","value2","showTableDefaultDisplayColumn","isDependentValueEmpty","referenceFieldTableName","allowExtendedFields","liveUpdateFieldValue","hasLiveUpdateData","getSelectedValues","tableDisplayColumnValue","tableDisplayColumnLabel","AVAILABLE_LABEL","SELECTED_LABEL","LIST_SELECTOR_SELECTED_ITEM_SET","convertSelectedItemsToStateFormat","itemsPath","generateSelectedItemObject","convertSelectedItemsToEventFormat","ref_prefix","columnName","log","updatedSelectedItems","includeSysId","availableLabel","mode","showExtendedFields","editable","addMissingMessage","showAddLink","modalOpened","displayColumnLabel","displayColumnName","currentDisplayValue","recents","suggestedOptions","selectedOption","secondaryData","initialSearchComplete","makeItemsObject","headerMessage","secondaryLabelDelimiter","optionSysId","secondary","secondaryValue","NowTypeahead","configMessages","totalMatchesCount","dAProps","loadingMessage","maxSearchMatches","totalMatchesCountHeaderMessage","getConfigMessages","totalMatchesCountHeaderMSG","getHeaderMessage","optionsNew","manageSelectedItem","resultsCount","onEnter","searchUsingStartsWith","searchOnClick","extraSelectedPills","onCustomPillsChange","extraPillsSet","newItem","recentsMsg","makeItemsObj","parentOnValueChange","NowTypeaheadMultiple","showDeclartiveActions","recentItems","searchItems","currentlySelectedItems","queryBaseFetchDataEffect","headerList","isSearching","errorType","QUERY_BASE_BEHAVIOR","UPDATE_STATE","ON_INPUT_BLUR","RUN_READ_QUERY","runReadQuery","getVariables","searchCancelable","__unstableDisableBatching","getPillWarning","disableDisplayValueWarning","badPills","queryBaseMapResults","totalCount","selectedValues","removeSelected","setInitialQueryBaseState","handleEmptyValue","multiSelection","customPills","displayWarning","initialDomainIdFieldValue","initialDomainIdFieldDisplayValue","fullDisplayValue","disableEmailFreeformEntry","noEmail","assertValidOptions","isValueInResults","newCustomPills","onSelectOption","foundOption","updateComponentState","GlideQueryBase","_queryBaseState$input","queryBaseState","filteredItems","revisedChars","_item$displayValue","secondaryValues","filterSuggestions","assertValidProperties","toMessageArray","onInputValueChange","addPills","allPills","emitPillChange","isActive","getReferenceMultiple","getReference","includeHeaders","domainIdMessage","onlyOption","assertValidProps","isinternationalizedEmail","referenceAddon","searchAddon","hideReferenceIcon","referenceAddonReadonly","disableReferenceQualifier","queryBaseActionHandlers","dictionarySorted","useFieldNameAsKey","realData","additionalQueryString","resultLimit","starPrefixRegex","strippedInputVal","nameMatch","baseConditions","conditions","GlideQueryBaseSeismic","VALUE_SELECTED","queryBaseBehavior","UPLOAD_ATTACHMENT_BUTTON_CLICKED","POST_ATTACHMENT_QUERY","POST_DATA_SUCCESS","POST_DATA_FAILURE","BUTTON_CLICKED","MODAL_BUTTON_CLICKED","FILE_RENAME_INPUT","MODAL_OPEN_CHANGED","UPDATE_FILE_NAME","RENAME_SUCCESS","RENAME_FAILURE","NOW_BUTTON_BARE_CLICKED","ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED","ATTACHMENT_REPLACED","INPUT_CHANGED","CANCEL_STR","DOWNLOAD","RETRY_UPLOAD","FILE_STRINGS","attach","deleteLabel","deleteMessage","noContent","uploading","virus","USER_IMAGE_STRINGS","MODAL","Delete","Edit","getExtensionFromFileName","ext","getFileNameOnly","fileName","createError","getInputNode","fileAttachmentHostNode","postAttachmentEffect","updateAttachment","attachmentReplacedEffect","COMPONENT_DOM_TREE_READY","tableSysId","extensions","maxAttachmentSize","scheduleForCleanup","selectedFile","file_name","fileContent","isInvalidFileType","modifiedExtensions","attachmentLoading","modifiedTableName","FormData","append","content_type","contentType","newFileName","replaced","canEditName","virusState","virusDetected","fieldStrings","modal","changed","oldSysId","click","focusElement","inputNode","file","files","FieldActions","buttons","download","sync","edit","editButton","editModal","editLabel","renameContent","deleteButton","deleteModal","onclick","downloadAttachment","dispatchAttachmentPreview","canDelete","classReadOnly","renderUploadingState","renderFailedState","inputAriaConfig","fieldState","renderEmptyState","renderVirusState","isFile","renderSuccessfulState","showTooltip","attachmentActions","SN_RECORD_CHOICE","NOW_DROPDOWN_CUSTOM_TARGET","SELECTED_ITEMS_SET","OPENED_SET","focusTrigger","dispatchOnValueChange","isDropdownOpen","ITEM_CLICKED","isFocused","getAccessibilityAttributes","propAriaLabelWithSelectedChoice","accessibilityAttrs","ariaAttributes","renderTrigger","renderReadOnly","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__","tinymce","POST_DATA_START","POST_DATA_PROGRESS","GET_ATTACHMENTS_DATA","GET_ATTACHMENTS_SUCCESS","GET_ATTACHMENTS_FAILURE","EDITOR_ON_CHANGE","EDITOR_ON_KEYDOWN","EDITOR_ON_BLUR","EDITOR_ON_FOCUS","EDITOR_ON_CLICK","EDITOR_SET_CONTENT","EDITOR_SET_FOCUS","EDITOR_ON_RESIZE","INSERT_PILL","CODE_BLOCK_PATTERN","PLUGIN_BLOCKLIST","OBSOLETE_PLUGINS","REQUIRED_PLUGINS","EDITOR_VERTICAL_RESIZE_TYPE","EDITOR_LINE_MARGIN","EDITOR_FONT_HEIGHT","EDITOR_TOOLBAR_HEIGHT","EDITOR_STATUSBAR_HEIGHT","SETUP_TINYMCE_EDITOR","DEFAULT_FONT_FAMILY","DEFAULT_FONT_SIZE","DEFAULT_MIN_HEIGHT","DEFAULT_HEIGHT","OVERRIDE_OVERFLOW_SELECTOR","OVERRIDE_OVERFLOW_STYLE","VALID_LINK_TARGETS","MAXIMUM_DOM_PARSING_DEPTH","TEXT_AREA_ID_PREFIX","DEFAULT_ARIA_LABEL","TOOLBAR_INSTRUCTION_TEXT","FIT_TO_PARENT_OPTION","editor","_tinymce$settings","removeTinymceEditor","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__","applyDarkSettings","_do_not_use_is_dark_theme","isRegistered","theme","BACKGROUND_PRIMARY","NEUTRAL_0","NEUTRAL_20","rgbValues","calcLum","pow","isDark","variantMappings","neutral","yellow","magenta","pink","orange","brown","green","blue","getThemeVars","reduceToCssVars","themeVars","css","customVar","px","rgb","getMappedThemeDefinitions","cssVars","NDSCssVarMap","applyTheme","doc","getDoc","nodeFound","innerHTML","head","prepend","NDS_INTERNAL_THEME_UPDATE_ACTION","tinyMceThemeBehavior","themeBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","handleShortcutKeyDown","REPLACE_REGEX","overrideAddCacheSuffix","__sn_addCacheSuffixOverwritten","oldAddCacheSuffix","util","Tools","_addCacheSuffix","RENAMED_PLUGINS","imagetools","toc","RENAMED_TOOLBAR_ITEMS","formatselect","fontselect","fontsizeselect","styleselect","tocupdate","uniq","uMap","splitPlugins","splitToolbars","renameToolbar","replacementMap","toolbar","funcs","transformPlugins","plugins","renameMap","TinyMCEV5CompatibleMode","validPlugins","validButtons","modifiedValidPluigins","modifiedPlugins","modifiedValidButtons","transformValidButtons","modifiedToolbar","renameToolbarGroup","toolbarItem","transformToolbar","PLUGIN_NAME","_nowAssistConfig$cont","active","getFieldNowAssistContextMenuSettings","now_assist_context_menu","fieldMeta","skillConfig","assetLoader","getFieldNowAssistContextMenuExternalPlugin","getPredictiveTextSettings","predictiveText","isPredictiveTextEnabled","predictive_text","checkIfPluginIsActive","pluginName","getSmallestLineHeight","lineHeights","iterateAllValidNodes","cnt","fontSize","childNode","innerText","lineHeight","getElementDetails","elementHeight","computedStyle","getPropertyValue","isParagraphOrList","elementHasNonTextContent","smallestLineHeight","numOfLines","getEditorDynamicInfo","currentLineCount","isUlOrOl","listElements","listElement","elementDetails","margin","getDimensionInfo","minLineCount","dim","min_height","max_height","linesBasedHeight","filterItems","validItems","getItems","stripCodeBlocks","swapDivsWithSpans","htmlString","tempDiv","divTag","spanTag","replaceWith","setEditorStyle","fonts","tinymceIframe","customStyleTag","_tinymceIframe$queryS","fontList","entry","parseFontFamilies","DEFAULT_BODY_STYLES","f","getAttachmentListHandler","baseURL","mapAttachments","attachment","success","table_sys_id","attachments","uploadHandler","getNameCb","blobInfo","failure","isValidFileExtension","allowedExtensions","filename","blob","filePickerHandler","cb","filetype","onchange","reader","FileReader","onload","blobCache","base64","create","blobUri","readAsDataURL","onSetup","contentStyle","on","lang","iframeElement","resetUndoStack","initialContent","getBody","dom","addClass","editorContainer","addCommand","iframeBounds","getContentAreaContainer","iframeShouldScrollDown","iframeShouldScrollUp","getContainer","minPortionToView","pageShouldScrollDown","pageShouldScrollUp","scrollIntoView","block","insertContentAndScroll","applyAutoresizeLineLimit","execCommand","toolBarHeight","statusBarEle","statusBarHeight","contentMarginTop","contentMarginBottom","getContent","calculatedHeight","childElements","lineElement","editorInfo","currentMaxHeight","setupTinymce","_config","_config2","_config3","_config4","browserSpellcheck","enableMentions","powerPasteHtmlImport","powerPasteWordImport","powerPasteFilterInlineElements","convertBlobsToBase64","defaultLinkTarget","TOOLBAR_BLOCKLIST","toolbarItems","tb","collapseToolbar","showBarsOnFocus","responseTemplateConfig","defaultSuggestions","suggestionsHeader","defaultSuggestionsFetcher","img","sub","resourceTable","resourceSysId","getResponseTemplateConfig","pluginItems","heightSettings","autoresizeSettings","autoresizeBottomMargin","autoresize_bottom_margin","getAutoresizeOptions","pb","zh","fr","fq","he","hu","ko","nb","pt","sv","th","zt","getMappedLanguage","configProp","htmlEditorConfigs","menuConfigs","sn_mentions","cannotSeeRecordMsg","getA11yCheckerOptions","help_tabs","advlist_bullet_styles","auto_focus","base_url","branding","sn_convert_blobs_to_base64","browser_spellcheck","convert_urls","convertUrls","link_default_target","dialog_type","directionality","document_base_url","elementpath","extended_valid_elements","extendedValidElements","file_picker_types","font_family_formats","font_size_formats","highlight_on_focus","image_title","image_advtab","menubar","menu","insert","tools","help","pagebreak_separator","external_plugins","powerpaste_html_import","powerpaste_word_import","powerpaste_clean_filtered_inline_elements","promotion","relative_urls","relativeUrls","remove_script_host","removeHost","skin","statusbar","style_formats","suffix","text_patterns","link_target_list","toolbar_mode","valid_children","validate","iframe_aria_text","file_picker_callback","images_upload_handler","blobname","setup","link_list","fix_list_elements","video_template_callback","poster","embedCode","altsource","media_alt_source","media_poster","sn_settings","image","showLibraryTab","showLocalsTab","mediaUploadHandler","readonlyBottomBorder","fit_to_parent","contextmenu","automatic_uploads","eventPayload","closeNotification","editorNotificationsManager","close","progressActionType","getAttachmentsEffect","getEditorContent","useCodeBlocks","COMPONENT_DOM_READY","NowHtmlEditor","onResize","onResizeEvent","onStagedValueChangeEvent","onValueChangeEvent","TinyMCEEditor","enableCodeBlocks","childProps","_properties$autoresiz","configMentions","insertPill","pillInfo","isValuePropertyChanged","allowBlockBasedAnchors","setContent","collapse","moveCursorToEnd","predictiveTextSettings","_editor$iframeElement","_editor$iframeElement2","ariaLabelSegments","contentDocument","oldHeightProps","newHeightProps","_editor$theme","_editor$theme$ui","ui","resizeBy","editorBody","isOnChangeEventFromFocus","isOnChangeEventFromContentUpdate","setDirty","isDirty","save","ownerDocument","undoManager","reset","notificationManager","open","timeout","progressBar","progressEvent","loaded","total","tooltipValue","pillContent","ignoreInlineAttachmentPrefix","fetch","TINYMCE_THEME_BEHAVIORS","LiveUpdateMessage","setNewValue","setHideValue","hideValue","messageContent","controlButtons","rowData","numOfRows","noActions","keyReadOnly","addConfigAria","removeConfigAria","identifier","intent","lastRow","deleteRowButton","addRowButton","rowsHasKeys","valueReadOnly","NOW_INPUT_VALUE_SET","NOW_INPUT_INPUT","NAME_VALUE_VALUE_CHANGED","NAME_VALUE_DUPLICATE_SUFFIX","getRowInfoFromName","inputType","jsonParsedValue","arrayToValue","arr","duplicates","newKey","valuesArray","rowInfo","rowHasKeyAtIndex","internalValueCopy","rowsHasKeysCopy","focusSecondLastRowDeleteButton","indentifier","DROPDOWN_OPENED_SET","ITEM_SELECTED","PANEL_FIT_PROPS","transformedPayload","processedChoices","renderDisplayValue","intFormatRegex","decimal","isPercent","long","intFormat","floatMatch","intMatch","decimalValue","decimalLength","toFixed","moveDecimalOverTwoPlaces","HANDLE_INITIAL_VALUE","LONG_INT_MAX_LENGTH","DEFAULT_MAX_LENGTH","integer","percent","NumberFormatter","maxLength","skipHandleInitialValue","nanpFormatAlphaNumericRegex","phoneSeparatorRegex","someDigitsRegex","someLetterRegex","plusAtStart","leadingOne","convertAlphaToNumber","ensureValidValue","makeError","countryName","getE164Format","formatElement","conditionRegex","patternRegex","isFormatMatch","valueNoUsCode","_match","areaCode","firstDigits","lastDigits","phoneParts","removeCountryCode","countryCode","hasSomeDigits","alphaNumValue","isDigit","getPlaceholder","placeHolderPattern","inSquareBracket","inCurlyBracket","newPattern","patternToPlaceholderPattern","tinymceToolbar","getTinyMCEToolbar","getFirstDayOfTheWeek","controlOrSysProp","sysProp","controlPropValue","getRecordMembers","recordMembers","getCurrentUser","userSession","countryCallingCode","dateFormat","dateTimeFormat","timeFormat","timeZone","timeZoneOffset","getHelperContent","currentUser","userA11yPrefs","preference","isAccessibilityTooltipsEnabled","showFieldHint","getUserLanguage","fallback","userLanguage","mapDatePickerLocaleCodes","getTimeProps","adjustPropsForTimezone","fixLocale","formattedLocale","normalizeFormat","country","supportedLocalesOf","isSupportedLocal","resolveLanguage","systemLanguage","supportedLanguagesArr","getHtmlAttributes","getDictionaryAttrs","originalDisplayValue","updatedProps","transformValueForDaysOfWeek","getReferenceProps","refAcOrderBy","getDateFormat","keepOriginal","getTimeFormat","userTimeFormat","getDateTimeFormat","attributeValue","getEncryptedFieldLabel","originalLabel","encryptionName","isRefSearchOnClickSuppressed","getFieldNowAssistContextMenu","fieldNowAssistContextMenu","jsonString","safelyParseJSON","isApplicableField","_contextMenu$formfiel","_contextMenu$formfiel2","formfieldsMapper","getCountryCode","_getCurrentUser","userSetCode","defaultCode","countryCodes","addPlusSign","addDisplayTrue","FETCH_PHONE_FORMATS","FETCH_PHONE_FORMATS_SUCCESS","FETCH_PHONE_TERRITORY","FETCH_PHONE_TERRITORY_SUCCESS","ON_SELECT_CHANGE","ON_PHONE_CLICK","phoneFormatGraphQLEffect","phoneTerritoryGraphQLEffect","queryConditions","countryCodeProp","queryValue","formatting","oldCountryCode","formats","phoneAddon","phoneNumber","fullNumber","countryCodeQueried","countryCodeFormats","shoudRender","countryCodeDisplayValue","getNumberValue","selectedCountryCode","adaptCountryCodes","numberMatch","PhoneFormatter","e164parse","isStrictEnabled","fullValue","e164Format","hasSomeLetters","stripSeparators","num1","num2","e164format","matchedFormat","sections","formatUsPhone","formatFetchState","formatFetchStatus","derivedDeclarativeActionsProps","territories","formattedPlaceHolder","getFormattedPlaceholder","allCodes","addChoiceValue","countries","ccc","renderCountryCodeDropdown","allowRelativeURL","shouldDispatch","errorNotReadOnly","versionRegex","isVersion","getResults","referenceList","referenceKeyValue","GLOABAL","matchesCount","referenceRecentDataList","getChars","overrideReferenceTable","SET_INNER_REF","queryBaseActionHandlersData","desiredValue","fieldReference","userRoles","DISPLAY_VALUE_SEPARATOR","slushBucketFields","sbField","getDisplayValues","_item$","getValues","_item$2","setSlushBucketFields","slushFields","valueList","updatedSlushFields","availableItems","availableItemsUpdated","getAvailableItems","order","DAYS_OF_WEEK_OPTIONS","JAVASCRIPT","getRecommendations","recommendation","getFormControl","_formFieldsData$field","_formFieldsData$table","_formFieldsData$field2","_formFieldsData$table2","_formFieldsData$depen","_formFieldsData$table3","_formFieldsData$depen2","_formFieldsData$table4","_formFieldsData$field3","_formFieldsData$table5","_formFieldsData$depen3","_formFieldsData$table6","_formFieldsData$depen4","_controlProps$schedul","_controlProps","_controlProps2","_controlProps$schedul2","shouldRenderHiddenElement","getMessagesAndLiveUpdate","msgs","newMsg","userMention","controlChildren","validAttrs","warn","sanitizeField","mandatory","shouldWrapFieldLabel","isLayoutHorizontal","isTemplateForm","formFieldsData","isToggleField","labelPos","getAttr","staticDependent","showConditionCount","allowedFields","allowRelatedListQuery","allowSort","useLegacyConditionBuilder","encryptionContext","basicDateTimeFormat","isBasicDateTime","DEFAULT_VALUE","parsedOrginalValue","maxCharsBeforeHash","parsedCountryCode","parseCountryCode","parsedCode","dependency","requiresExistingRecord","vertical","_getAttribute","ignoreRefQualifier","readonly_clickthrough","shortList","canRead","includeDefault","selectedOnly","noViews","noSystemTables","filterEntitledTables","showTableNames","showTableNamesOnLabel","tableChoicesScript","skipRoot","baseTable","allowPublic","skipScopeRestrictions","display_value_list","displayColumnValue","of","prepareDeclarativeActions","ignoreMaxlengthVal","dynamicTranslationEnabled","READ_ONLY_FIELDS","useHTML","supportedLanguages","defaultPlugins","isMultiText","htmlAttributes","knowledgeBlockStyles","systemLanguageScript","supportedLanguagesScript","dictionaryAttributesScript","htmlAttributesScript","isPlainText","dangerouslySetInnerHTML","__html","typeDisplayValue","dictAttributes","formDataForTemplate","getFormDataForTemplateValue","dualMode","inlineMode","autoStart","autocompletionSuggestions","defaultControl","getDefaultFormControl","isSupported","createFormControl","FIELD_SELECTION","FIELD_SELECTION_ACTION_NAME","FIELD_SELECTION_PATH_UPDATE","searchDeclarativeAction","requiresValue","actionComponent","actionDispatch","actionPayload","actionAttributes","groupBy","assignmentId","confirmationRequired","confirmationMessage","modelConditions","payloadMap","createHandler","matchingType","transformer","handleGlideList","handleReference","getReferenceRecordId","fieldProps","empty","Button","isUnsupportedField","padBottom","isNewField","isLastTemplateRow","showBadge","isReadOnly","showBadgeProp","applyPadBottom","readOnlyDisplayValue","opensWindow","isHTMLScriptOrEmailScript","mapProps","propsWithoutLabel","fieldAriaConfig","propsWithConfigAria","templateTableAndPageProp","updateLabel","visibility","DATA_REQUEST","DATA_REQUEST_SUCCESS","DATA_REQUEST_ERROR","SET_VALUE","pathToValue","WORKSPACE_TYPES","calculatedFieldError","newFieldValues","getFieldWithError","formControlProps","createField","shouldHide","convertChoiceToFieldValue","updateConsumerAndState","allChoices","serializedValues","serializeValue","constructValue","callOnValueChange","cleanUpChoices","alreadySelected","dataRequestGraphQL","templateVarList","showNewTemplateRow","editExistingField","choosenField","addedPayloadPath","valuesList","isLoadingNewField","tempNewFieldLabel","leftHandSideProps","allNewData","oldFieldValues","newFieldData","listOfPreviousTypes","oldType","filterOutTypeChangedValues","isPartial","queryString","isTemplateTableChanged","isUnsupported","isDotWalk","showNewRow","FETCH_METADATA","FETCH_METADATA_SUCCESS","FETCH_METADATA_FAILURE","fetchTableMetaEffect","scopeId","selectedField","includeDocumentTables","connectedTableNameActionHandlers","additionalProps","tableNames","debug","POPOVER_OPENED","DOT_WALK_PATH_UPDATED","DOT_WALK_TRIGGERED","DOT_WALK_BREADCRUMB_PATH_UPDATED","FETCH_LEAF_DATA","FETCH_LEAF_DATA_SUCCESS","FETCH_LEAF_DATA_FAILURE","FIELDS_NAMES_RESULTS_PATH","fetchLeafEffect","referenceSource","pathIndex","lastUpdatedPathItem","displayValueWithPath","propertiesLiveUpdate","stateLiveUpdate","dataModelConstructed","metadataConstructed","getFocusedElement","getTriggerElement","dependentValueEmpty","inputReadOnly","dotWalkPath","schame","normalizeDisplayValue","dependentTableName","normalizedDisplayValue","DEPENDENT_FIELD","DEPENDENT_VALUE","DEPENDENT_FIELD_LABEL","getOptions","emptyDeps","dependentValueLabel","EDIT_BTN","REFRESH_BTN","MODAL_NOW_TEXT_AREA_NAME","EDIT_TEXT_STR","MODAL_PLACEHOLDER_STR","REFRESH_PREVIEW_STR","SUBMIT_STR","WIKI_FETCH_ERROR","NOW_BUTTON_CLICKED","FETCH_WIKI_CONTENT","FETCH_WIKI_CONTENT_FAILURE","FETCH_WIKI_CONTENT_SUCCESS","SANITIZE_WIKI_CONTENT","DOM_PARSER","isInitial","isUpdate","sanitizedValue","showEditModal","stagedSanitizedValue","isRefresh","dispatcherName","interceptors","httpEffect","effects","xmlString","stagedLoading","URLSearchParams","sysparm_cache_images","EditButton","onModalInsert","EditModal","PreviewArea","InlineArea","richTextId","readonlyContent","readonlyAria","htmlDisplay","srOnlyId","showPreview","showEditButton","INCREMENT_TIMER","INIT_TIMER","SET_NEW_TIMER","STOP_TIMER","START_TIMER","CLEAR_TIMER","OK_CLICKED","PRIVATE_UPDATE_TOTAL_TIME","RESUME","PAUSE","DEFAULT_EDIT_TIME_VALUE","DEFAULT_TIMER_VALUE","TIME_WORKED_EDIT_POPOVER","DEFAULT_INTERNAL_TIMER_DATA","timerId","timerTicks","editTimeValue","EDIT_SESSION_TIME","RESUME_SESSION_TIME","PAUSE_SESSION_TIME","SN_RECORD_DURATION_VALUE_CHANGED","SN_RECORD_DURATION_STAGED_VALUE_CHANGED","INCREMENT_INTERVAL","formatTime","toLocaleString","minimumIntegerDigits","extractTimeFromString","strFormatted","hour","minute","second","totalHours","addTimes","time1","time2","hour1","minute1","second1","hour2","minute2","second2","secondsCarryOver","normalizeTimeStrToSeconds","parts","NaN","h","dispatchFormData","additionalTime","timerPaused","leftoverHours","totalTime","UTC","toUTCString","isTimerRunning","currentSystemTime","setNewTimerEffect","internalTimerData","timerStarted","timerID","timerValueUpdated","clearTimeout","initTimerEffect","timerValue","calculateTimePassed","timePassed","timeLeft","resultHour","resultMinute","newTimerTicks","buttonType","newHourAndMinute","resetTimer","stateUpdates","isSameUser","updatedBy","username","t1","t2","dispatchingToForms","timeMessages","disableScroll","Types","SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED","SELECT_MULTI","htmlEditorId","COMPONENT_DISCONNECTED","NowHtmlScript","htmlEditor","parentEl","resizeObserverDebounced","resizeObserverForParentContainerDebounced","parentWidth","resizeObserverForParentContainer","resizeObserver","handleResizeObserverForContentTree","handleRef","SNLink","legacy","renderLegacyLink","iconEnd","iconStart","mouseenter","mouseleave","keydown","keyup","OptionUser","pre","post","delimiter","primaryLabelMatched","escapedSearchTerm","getStringParts","validSecondary","normalizedSecondaryValues","normalizeSecondaryValues","secondaryLabelMatched","scrollWidth","secondaryOption","delim","getSecondaryHighlight","scheman","AccessibilityDescription","accessibilityMessage","optionsLength","OptionsList","listItems","newSelected","selectedSearchResults","containerHeight","containerTop","containerBottom","selectedComponentTop","selectedComponentBottom","recentsCount","onHover","currentValues","isEnabled","OptionType","OptionDefault","getRef","checkSelected","Dropdown","DropdownSeismic","radioOptions","__TECTONIC__$devsnc_library_register_components_28_7_1","devsncLibraryRegisterComponents","__TECTONIC__$devsnc_library_behavior_scroll_watch_28_7_1","devsncLibraryBehaviorScrollWatch","__TECTONIC__$devsnc_sn_record_annotation","devsncSnRecordAnnotation","__TECTONIC__$devsnc_sn_record_auto_number_connected","devsncSnRecordAutoNumberConnected","__TECTONIC__$servicenow_now_record_checkbox","servicenowNowRecordCheckbox","__TECTONIC__$devsnc_sn_record_checkbox_group","devsncSnRecordCheckboxGroup","__TECTONIC__$devsnc_sn_record_choice_connected","devsncSnRecordChoiceConnected","__TECTONIC__$devsnc_sn_record_code_editor","devsncSnRecordCodeEditor","__TECTONIC__$devsnc_sn_record_content_tree_connected","devsncSnRecordContentTreeConnected","__TECTONIC__$devsnc_sn_record_control","devsncSnRecordControl","__TECTONIC__$devsnc_sn_record_control_wrapper","devsncSnRecordControlWrapper","__TECTONIC__$devsnc_sn_controls_common_28_7_1","devsncSnControlsCommon","__TECTONIC__$devsnc_sn_controls_common_query_28_7_1","devsncSnControlsCommonQuery","__TECTONIC__$devsnc_sn_record_currency_connected","devsncSnRecordCurrencyConnected","__TECTONIC__$servicenow_now_record_date_picker","servicenowNowRecordDatePicker","__TECTONIC__$servicenow_now_date_range_picker","servicenowNowDateRangePicker","__TECTONIC__$devsnc_sn_record_dropdown_internal","devsncSnRecordDropdownInternal","__TECTONIC__$devsnc_sn_record_duration","devsncSnRecordDuration","__TECTONIC__$devsnc_sn_record_email","devsncSnRecordEmail","__TECTONIC__$devsnc_sn_record_email_script","devsncSnRecordEmailScript","__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper","devsncSnFieldAndDropdownWrapper","__TECTONIC__$devsnc_sn_record_field_list_connected","devsncSnRecordFieldListConnected","__TECTONIC__$servicenow_now_record_field_lookup_connected","servicenowNowRecordFieldLookupConnected","__TECTONIC__$devsnc_sn_field_select","devsncSnFieldSelect","__TECTONIC__$devsnc_sn_record_file_attachment","devsncSnRecordFileAttachment","__TECTONIC__$devsnc_sn_form_controls","devsncSnFormControls","__TECTONIC__$devsnc_sn_glide_form_controls","devsncSnGlideFormControls","__TECTONIC__$devsnc_sn_glide_query_base","devsncSnGlideQueryBase","__TECTONIC__$servicenow_now_record_html_editor","servicenowNowRecordHtmlEditor","__TECTONIC__$servicenow_now_record_html_script","servicenowNowRecordHtmlScript","__TECTONIC__$devsnc_sn_record_input","devsncSnRecordInput","__TECTONIC__$devsnc_sn_record_input_connected","devsncSnRecordInputConnected","__TECTONIC__$servicenow_now_record_ip_address","servicenowNowRecordIpAddress","__TECTONIC__$devsnc_sn_record_link","devsncSnRecordLink","__TECTONIC__$devsnc_sn_record_list_select","devsncSnRecordListSelect","__TECTONIC__$servicenow_now_record_mini_calendar","servicenowNowRecordMiniCalendar","__TECTONIC__$devsnc_sn_record_name_value","devsncSnRecordNameValue","__TECTONIC__$servicenow_now_record_number","servicenowNowRecordNumber","__TECTONIC__$devsnc_sn_options_list","devsncSnOptionsList","__TECTONIC__$devsnc_sn_record_price_connected","devsncSnRecordPriceConnected","__TECTONIC__$servicenow_now_radio_group","servicenowNowRadioGroup","__TECTONIC__$devsnc_sn_recommendations_helper","devsncSnRecommendationsHelper","__TECTONIC__$devsnc_sn_record_nowassist","devsncSnRecordNowassist","__TECTONIC__$devsnc_sn_record_reference_connected","devsncSnRecordReferenceConnected","__TECTONIC__$devsnc_sn_record_tablename_connected","devsncSnRecordTablenameConnected","__TECTONIC__$servicenow_now_record_time","servicenowNowRecordTime","__TECTONIC__$servicenow_now_record_typeahead","servicenowNowRecordTypeahead","__TECTONIC__$servicenow_now_record_typeahead_multiple","servicenowNowRecordTypeaheadMultiple","__TECTONIC__$devsnc_sn_record_url","devsncSnRecordUrl","__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected","devsncSnRecordUserRolesLookupConnected","__TECTONIC__$devsnc_sn_record_version","devsncSnRecordVersion"],"sources":["webpack:///classnames/2.3.1/index.js","webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///prop-types/15.7.2/factoryWithThrowingShims.js","webpack:///prop-types/15.7.2/index.js","webpack:///prop-types/15.7.2/lib/ReactPropTypesSecret.js","webpack:///@devsnc/sn-record-annotation/src/annotation.scss","webpack:///@devsnc/sn-record-auto-number-connected/src/auto-number-connected.scss","webpack:///@devsnc/sn-record-checkbox-group/src/checkbox-group.scss","webpack:///@servicenow/now-record-checkbox/src/checkbox.scss","webpack:///@devsnc/sn-record-choice-connected/src/choice.scss","webpack:///@devsnc/sn-record-code-editor/src/code-editor.scss","webpack:///@devsnc/sn-record-content-tree-connected/src/content-tree-connected.scss","webpack:///@devsnc/sn-record-content-tree-connected/src/content-tree-popover.scss","webpack:///@devsnc/sn-record-control-wrapper/src/controlwrapper.scss","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/controlwrapper.scss","webpack:///@devsnc/sn-record-control/src/style.scss","webpack:///@devsnc/sn-controls-common/28.7.1/src/InteractiveDecoration.scss","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderDecorations.scss","webpack:///@devsnc/sn-record-currency-connected/src/currency.scss","webpack:///@servicenow/now-record-date-picker/src/date.scss","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/panel.scss","webpack:///@servicenow/now-date-range-picker/src/styles.scss","webpack:///@devsnc/sn-record-duration/src/duration.scss","webpack:///@devsnc/sn-record-email-script/src/email-script.scss","webpack:///@devsnc/sn-record-email/src/email.scss","webpack:///@devsnc/sn-record-field-list-connected/src/style.scss","webpack:///@devsnc/sn-field-select/src/style.scss","webpack:///@devsnc/sn-record-file-attachment/src/fileattachment.scss","webpack:///@devsnc/sn-form-controls/src/choice/choice.scss","webpack:///@devsnc/sn-form-controls/src/choiceSearch/sn-record-choice-search.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/styles.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/phone.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorked.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/styles.scss","webpack:///@devsnc/sn-glide-form-controls/src/template-value/field-selection.scss","webpack:///@devsnc/sn-glide-form-controls/src/template-value/template-value.scss","webpack:///@servicenow/now-record-html-editor/src/html.scss","webpack:///@servicenow/now-record-html-script/src/html.scss","webpack:///@devsnc/sn-record-input-connected/src/input.scss","webpack:///@devsnc/sn-record-input-connected/src/mentions/journal-input.scss","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/styles.scss","webpack:///@devsnc/sn-record-input-connected/src/password.scss","webpack:///@devsnc/sn-record-input/src/input.scss","webpack:///@servicenow/now-record-ip-address/src/ip-address.scss","webpack:///@devsnc/sn-record-link/src/link.scss","webpack:///@devsnc/sn-record-list-select/src/style.scss","webpack:///@servicenow/now-record-mini-calendar/src/miniCalendar.scss","webpack:///@servicenow/now-record-mini-calendar/src/month-header/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/standardView.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/year-header/styles.scss","webpack:///@devsnc/sn-record-name-value/src/name-value.scss","webpack:///@servicenow/now-record-number/src/number.scss","webpack:///@devsnc/sn-options-list/src/dropdown.scss","webpack:///@servicenow/now-radio-group/src/radio-group.scss","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss","webpack:///@servicenow/now-record-time/src/time.scss","webpack:///@servicenow/now-record-typeahead-multiple/src/referencemultiple.scss","webpack:///@servicenow/now-record-typeahead/src/reference.scss","webpack:///@devsnc/sn-record-url/src/url.scss","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/user-roles-lookup-connected.scss","webpack:///@devsnc/sn-record-version/src/version.scss","webpack:///@devsnc/sass-form-controls-common/28.7.1/_customLabel.scss","webpack:///../packages/annotation/src/annotation.scss?65a2","webpack:///../packages/auto-number-connected/src/auto-number-connected.scss?7dca","webpack:///../packages/checkbox-group/src/checkbox-group.scss?3ff9","webpack:///../packages/checkbox/src/checkbox.scss?772c","webpack:///../packages/choice-connected/src/choice.scss?492f","webpack:///../packages/code-editor/src/code-editor.scss?2bb1","webpack:///../packages/content-tree-connected/src/content-tree-connected.scss?9ebb","webpack:///../packages/content-tree-connected/src/content-tree-popover.scss?3adc","webpack:///../packages/control-wrapper/src/controlwrapper.scss?03c6","webpack:///../packages/control-wrapper/src/legacy-files/controlwrapper.scss?6779","webpack:///../packages/control/src/style.scss?dc9e","webpack:///../packages/controls-common/src/InteractiveDecoration.scss?c782","webpack:///../packages/controls-common/src/utils/renderDecorations.scss?fbe1","webpack:///../packages/currency/src/currency.scss?5f96","webpack:///../packages/date-picker/src/date.scss?67ff","webpack:///../packages/date-range-picker/src/date-picker-panel/panel.scss?4ae7","webpack:///../packages/date-range-picker/src/styles.scss?24c8","webpack:///../packages/duration/src/duration.scss?d44e","webpack:///../packages/email-script/src/email-script.scss?fce4","webpack:///../packages/email/src/email.scss?ed90","webpack:///../packages/field-list-connected/src/style.scss?6ac4","webpack:///../packages/field-select/src/style.scss?aaf8","webpack:///../packages/file-attachment/src/fileattachment.scss?bbd9","webpack:///../packages/form-controls/src/choice/choice.scss?24c0","webpack:///../packages/form-controls/src/choiceSearch/sn-record-choice-search.scss?490f","webpack:///../packages/glide-form-controls/src/connectedfieldname/styles.scss?eafd","webpack:///../packages/glide-form-controls/src/connectedphone/phone.scss?b340","webpack:///../packages/glide-form-controls/src/connectedtimeworked/TimeWorked.scss?a4d0","webpack:///../packages/glide-form-controls/src/connectedwikitext/styles.scss?b974","webpack:///../packages/glide-form-controls/src/template-value/field-selection.scss?b350","webpack:///../packages/glide-form-controls/src/template-value/template-value.scss?d191","webpack:///../packages/html-editor/src/html.scss?fa41","webpack:///../packages/html-script/src/html.scss?90e1","webpack:///../packages/input-connected/src/input.scss?4e9a","webpack:///../packages/input-connected/src/mentions/journal-input.scss?7c41","webpack:///../packages/input-connected/src/mentions/mentions-match-list/styles.scss?fac8","webpack:///../packages/input-connected/src/password.scss?3207","webpack:///../packages/input/src/input.scss?8452","webpack:///../packages/ip-address/src/ip-address.scss?0756","webpack:///../packages/link/src/link.scss?73c0","webpack:///../packages/list-select/src/style.scss?2db2","webpack:///../packages/mini-calendar/src/miniCalendar.scss?e1f1","webpack:///../packages/mini-calendar/src/month-header/styles.scss?93ff","webpack:///../packages/mini-calendar/src/preset-panel/styles.scss?f9fa","webpack:///../packages/mini-calendar/src/views/monthly/styles.scss?0758","webpack:///../packages/mini-calendar/src/views/quarterly/styles.scss?3da1","webpack:///../packages/mini-calendar/src/views/standard/standardView.scss?2e7b","webpack:///../packages/mini-calendar/src/views/yearly/styles.scss?f59d","webpack:///../packages/mini-calendar/src/year-header/styles.scss?87aa","webpack:///../packages/name-value/src/name-value.scss?d020","webpack:///../packages/number/src/number.scss?fcba","webpack:///../packages/options-list/src/dropdown.scss?f31c","webpack:///../packages/radio-group/src/radio-group.scss?486c","webpack:///../packages/recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss?144f","webpack:///../packages/time/src/time.scss?cd74","webpack:///../packages/typeahead-multiple/src/referencemultiple.scss?f20e","webpack:///../packages/typeahead/src/reference.scss?70dd","webpack:///../packages/url/src/url.scss?feb2","webpack:///../packages/user-roles-lookup-connected/src/user-roles-lookup-connected.scss?2685","webpack:///../packages/version/src/version.scss?4d3f","webpack:///../sass/form-controls-common/_customLabel.scss?d710","webpack:///external import \"/uxasset/externals/@devsnc/sn-glide-form-controls/connectedconditions/ConnectedConditions.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-wwna/index.jsdbx\"","webpack:///@babel/runtime/7.18.9/helpers/defineProperty.js","webpack:///@babel/runtime/7.18.9/helpers/extends.js","webpack:///@babel/runtime/7.18.9/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-react/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/schemas/index.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/propTypes/SeismicControlledFieldProps.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/propTypes/index.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/propTypes/SeismicComponent.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/propTypes/SeismicComponentBase.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/escapeSeismicSpecialSymbols.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-config/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/field.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/declarativeActions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.2.1-znowassist.0/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/dom.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/math.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/outside-scroll.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/selection.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/numberUtils.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/shallowEqual.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/constants.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/transformMessages.js","webpack:///external module \"/uxasset/externals/moment/2.30.1/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/time.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/seismicPropertiesHelper.js","webpack:///sn-uxpage-presource/23.0.1/src/getProperty.js","webpack:///sn-uxpage-presource/23.0.1/src/createPreSourceBehavior.js","webpack:///sn-uxpage-presource/23.0.1/src/user.behaviors.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/property.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/effectProxy.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/transformFieldName.js","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderCustomHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/InteractiveDecoration.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderAIIndicator.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderDecorations.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/renderIconsInLabelSlot.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/utils/inhouseLodash.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/hostname.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/ipaddress.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/email.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/url.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/datetime.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/referenceUtils/index.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/treeUtils/index.js","webpack:///external module \"/uxasset/externals/react/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/ComponentBase.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/ControlledField.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/FocusWatcher.js","webpack:///external module \"/uxasset/externals/react-dom/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/ShadyDOMEventFixer.js","webpack:///sn-custom-create-element/21.0.0/src/camelCase.js","webpack:///sn-custom-create-element/21.0.0/src/constants.js","webpack:///sn-custom-create-element/21.0.0/src/ariaRefHelpers.js","webpack:///sn-custom-create-element/21.0.0/src/index.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/renderHighlightedValueReact.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/forwardProperties.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/upgradeCompatibility/index.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/withValueChangeCallbacksBehavior.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/validations/onChangeValidation.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/withStateBehavior.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/checkAutoFocus.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/testHelpers.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/helperContentSeismicRenderer.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/FieldType.js","webpack:///@devsnc/sn-controls-common/28.7.1/src/initialValue.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/trackBehavior.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-dynamic-translation/25.0.1/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/behaviours/dynamic-translation/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-text-link/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/28.7.1/src/behaviours/dynamic-translation/dynamicTranslationBehaviour.js","webpack:///@devsnc/library-register-components/28.7.1/src/index.js","webpack:///@devsnc/library-behavior-scroll-watch/28.7.1/src/index.js","webpack:///@devsnc/sn-record-annotation/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///@devsnc/sn-record-auto-number-connected/src/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///@devsnc/sn-record-auto-number-connected/src/utils.js","webpack:///@devsnc/sn-record-auto-number-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-auto-number-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-toggle/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.2.1-znowassist.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.2.1-znowassist.0/index.jsdbx\"","webpack:///@devsnc/sn-record-control-wrapper/src/ControlWrapper.js","webpack:///@devsnc/sn-record-control-wrapper/src/FieldMessages.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/formFieldHelperReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/LabelReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/FieldMessagesReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/ControlWrapperReact.js","webpack:///@servicenow/now-record-checkbox/src/index.js","webpack:///@devsnc/sn-record-checkbox-group/src/actionHandlers.js","webpack:///@devsnc/sn-record-checkbox-group/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/constants.js","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/index.js","webpack:///@devsnc/sn-record-choice-connected/src/utils.js","webpack:///@devsnc/sn-record-choice-connected/src/constants.js","webpack:///@devsnc/sn-record-choice-connected/src/view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@devsnc/sn-record-choice-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-choice-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///@devsnc/sn-record-nowassist/src/constants/index.js","webpack:///@devsnc/sn-record-nowassist/src/utils/index.js","webpack:///@devsnc/sn-record-nowassist/src/renderNowAssistContextMenu.js","webpack:///@devsnc/sn-record-nowassist/src/renderNACM.js","webpack:///@devsnc/sn-record-nowassist/src/nacm/renderNowAssistContextMenu.js","webpack:///@devsnc/sn-record-nowassist/src/nacm/nowAssistActionsBehavior.js","webpack:///@devsnc/sn-record-nowassist/src/nowAssistActionsBehavior.js","webpack:///@devsnc/sn-record-input/src/CharacterCounter.js","webpack:///@devsnc/sn-record-input/src/Input.js","webpack:///@devsnc/sn-record-input/src/SNInput.js","webpack:///@devsnc/sn-record-input/src/SNInputGroup.js","webpack:///@devsnc/sn-record-input/src/behaviors/trackBootstrapBehavior.js","webpack:///@devsnc/sn-record-input/src/index.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-declarative-actions/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/sn-record-control/src/view.js","webpack:///@devsnc/sn-record-control/src/actionHandlers.js","webpack:///@devsnc/sn-record-control/src/index.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/constants.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentionsUtils.js","webpack:///@devsnc/sn-record-input-connected/src/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/constants.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/index.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/view.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentionsActionHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/eventHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/index.js","webpack:///@devsnc/sn-record-input-connected/src/utils.js","webpack:///@devsnc/sn-record-input-connected/src/ConnectedInput.js","webpack:///@devsnc/sn-record-input-connected/src/pass2Graphql.js","webpack:///@devsnc/sn-record-input-connected/src/inputActionHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/handleKeydownForSuggestions.js","webpack:///@devsnc/sn-record-input-connected/src/withAutocompleteBehavior.js","webpack:///@devsnc/sn-record-input-connected/src/passwordBehavior.js","webpack:///@devsnc/sn-record-input-connected/src/legacy-files/merge.js","webpack:///@devsnc/sn-record-input-connected/src/legacy-files/withState.js","webpack:///@devsnc/sn-record-input-connected/src/index.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///@devsnc/sn-record-code-editor/src/constants.js","webpack:///external module \"/uxasset/externals/fast-xml-parser/4.2.7/index.jsdbx\"","webpack:///@devsnc/sn-record-code-editor/src/lintWorker.js","webpack:///@devsnc/sn-record-code-editor/src/utils.js","webpack:///@devsnc/sn-record-code-editor/src/actionHandlers.js","webpack:///@devsnc/sn-record-code-editor/src/sn-record-code-editor.js","webpack:///@devsnc/sn-record-code-editor/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-content-tree/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///@devsnc/sn-record-content-tree-connected/src/utils.js","webpack:///@devsnc/sn-record-content-tree-connected/src/constants.js","webpack:///@devsnc/sn-record-content-tree-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-content-tree-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-internal/index.jsdbx\"","webpack:///@devsnc/sn-controls-common-query/28.7.1/src/utils/utils.js","webpack:///@devsnc/sn-controls-common-query/28.7.1/src/utils/referenceDataQuery.js","webpack:///@devsnc/sn-controls-common-query/28.7.1/src/utils/choiceConnectedDataQuery.js","webpack:///@devsnc/sn-record-dropdown-internal/src/index.js","webpack:///@devsnc/sn-record-currency-connected/src/declarativeActions.js","webpack:///@devsnc/sn-record-currency-connected/src/currencyFormat.js","webpack:///@devsnc/sn-record-currency-connected/src/utils.js","webpack:///@devsnc/sn-record-currency-connected/src/view.js","webpack:///@devsnc/sn-record-currency-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-currency-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-date-time/index.jsdbx\"","webpack:///@servicenow/now-record-date-picker/src/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/library-date-time/27.0.15/index.jsdbx\"","webpack:///external module \"/uxasset/externals/date-fns/2.30.0/index.jsdbx\"","webpack:///@servicenow/now-record-date-picker/src/constants.js","webpack:///@servicenow/now-record-date-picker/src/actionHandlers.js","webpack:///@servicenow/now-record-date-picker/src/index.js","webpack:///@servicenow/behavior-rtl/28.2.1-znowassist.0/src/rtl.js","webpack:///@servicenow/now-record-mini-calendar/src/constants.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/gridUtils.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/calendarUtils.js","webpack:///@servicenow/now-record-time/src/utils.js","webpack:///@servicenow/now-record-time/src/actionHandlers.js","webpack:///@servicenow/now-record-time/src/view.js","webpack:///@servicenow/now-record-time/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-accordion/index.jsdbx\"","webpack:///@servicenow/now-record-mini-calendar/src/utils/timeAgo.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/constants.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/view.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/effects.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/index.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/elements.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/view.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/YearLabel.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/standard/StandardGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/Week.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/WeekRow.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/Weeks.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/WeeklyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/GridWrapper.js","webpack:///@servicenow/now-record-mini-calendar/src/behaviors/calendarViewBehavior.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/CalendarBody.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/view.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/quarterly/QuarterlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/bottom-bar/index.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/view.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/quarterlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/yearly/YearlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/YearlyHeader.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/YearlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/monthly/MonthlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/MonthlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/CalendarView.js","webpack:///@servicenow/now-record-mini-calendar/src/view.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/index.js","webpack:///@servicenow/now-record-mini-calendar/src/index.js","webpack:///@servicenow/now-date-range-picker/src/constants.js","webpack:///@servicenow/now-date-range-picker/src/timeAgo.js","webpack:///@servicenow/now-date-range-picker/src/dateRangeUtils.js","webpack:///@servicenow/now-date-range-picker/src/apply-preset.js","webpack:///@servicenow/now-date-range-picker/src/effects.js","webpack:///@servicenow/now-date-range-picker/src/actionHandlers.js","webpack:///@servicenow/now-date-range-picker/src/view.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/actionHandlers.js","webpack:///@servicenow/now-date-range-picker/src/picker-confirm.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/view.js","webpack:///@servicenow/now-date-range-picker/src/eventHandlers.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/index.js","webpack:///@servicenow/now-date-range-picker/src/index.js","webpack:///@devsnc/sn-record-duration/src/SNDuration.js","webpack:///@devsnc/sn-record-duration/src/index.js","webpack:///@devsnc/sn-record-email/src/declarativeActions.js","webpack:///@devsnc/sn-record-email/src/view.js","webpack:///@devsnc/sn-record-email/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-resizable-panes/index.jsdbx\"","webpack:///@devsnc/sn-record-email-script/src/constants.js","webpack:///@devsnc/sn-record-email-script/src/Utils.js","webpack:///@devsnc/sn-record-email-script/src/actionHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/28.2.1-znowassist.0/index.jsdbx\"","webpack:///@devsnc/sn-record-email-script/src/index.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/fieldAndDropdownBehavior.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/FieldAndDropdownWrapper.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/legacy-files/FieldAndDropdownWrapperReact.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/index.js","webpack:///@devsnc/sn-record-field-list-connected/src/utils.js","webpack:///@devsnc/sn-record-field-list-connected/src/constants.js","webpack:///@devsnc/sn-record-field-list-connected/src/effects.js","webpack:///@devsnc/sn-record-field-list-connected/src/query.js","webpack:///@devsnc/sn-record-field-list-connected/src/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@devsnc/sn-field-select/src/constants.js","webpack:///@devsnc/sn-field-select/src/utils.js","webpack:///@devsnc/sn-field-select/src/actionHandlers.js","webpack:///@devsnc/sn-field-select/src/effects.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-list-selector/index.jsdbx\"","webpack:///@devsnc/sn-field-select/src/index.js","webpack:///@devsnc/sn-field-select/src/view.js","webpack:///@devsnc/sn-record-field-list-connected/src/index.js","webpack:///@devsnc/sn-record-field-list-connected/src/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///@servicenow/now-record-typeahead/src/actionHandlers.js","webpack:///@servicenow/now-record-typeahead/src/index.js","webpack:///@servicenow/now-record-typeahead-multiple/src/actionHandlers.js","webpack:///@servicenow/now-record-typeahead-multiple/src/index.js","webpack:///@devsnc/sn-glide-query-base/src/queryBaseActionHandlers.js","webpack:///@devsnc/sn-glide-query-base/src/queryBaseBehavior.js","webpack:///@devsnc/sn-glide-query-base/src/GlideQueryBase.js","webpack:///@devsnc/sn-glide-query-base/src/GlideQueryBaseReact/GlideQueryBase.js","webpack:///@devsnc/sn-glide-query-base/src/index.js","webpack:///@servicenow/now-record-field-lookup-connected/src/actionHandlers.js","webpack:///@servicenow/now-record-field-lookup-connected/src/index.js","webpack:///@devsnc/sn-record-file-attachment/src/constants.js","webpack:///@devsnc/sn-record-file-attachment/src/attachmentUtils.js","webpack:///@devsnc/sn-record-file-attachment/src/effects.js","webpack:///@devsnc/sn-record-file-attachment/src/datasources/FileAttachmentGraphQLUpdate.js","webpack:///@devsnc/sn-record-file-attachment/src/actions.js","webpack:///external module \"/uxasset/externals/sn-component-file-icon/index.jsdbx\"","webpack:///@devsnc/sn-record-file-attachment/src/renameModal.js","webpack:///@devsnc/sn-record-file-attachment/src/view.js","webpack:///@devsnc/sn-record-file-attachment/src/index.js","webpack:///@devsnc/sn-form-controls/src/choice/constants.js","webpack:///@devsnc/sn-form-controls/src/choice/actionHandlers.js","webpack:///@devsnc/sn-form-controls/src/choice/eventHandlers.js","webpack:///@devsnc/sn-form-controls/src/choice/SNChoice.js","webpack:///external module \"/uxasset/externals/sn-tinymce/28.7.1/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEEditor.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-theme/28.2.1-znowassist.0/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/DetectDarkness.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEThemeBehaviors.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/importTiny.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/utils.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/index.js","webpack:///@servicenow/now-record-html-editor/src/NowAssistContextMenu/index.js","webpack:///@servicenow/now-record-html-editor/src/Utils.js","webpack:///@servicenow/now-record-html-editor/src/effects.js","webpack:///@servicenow/now-record-html-editor/src/index.js","webpack:///@devsnc/sn-form-controls/src/fieldMessages/LiveUpdateMessage.js","webpack:///@devsnc/sn-record-name-value/src/view.js","webpack:///@devsnc/sn-record-name-value/src/constants.js","webpack:///@devsnc/sn-record-name-value/src/utils.js","webpack:///@devsnc/sn-record-name-value/src/actionHandlers.js","webpack:///@devsnc/sn-record-name-value/src/index.js","webpack:///@devsnc/sn-form-controls/src/choiceSearch/constants.js","webpack:///@devsnc/sn-form-controls/src/choiceSearch/SNChoiceSearch.js","webpack:///@servicenow/now-record-number/src/numberFormat.js","webpack:///@servicenow/now-record-number/src/index.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/phoneFormat.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/syspropUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/userPrefUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/fieldPropUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/fieldNowAssistContextMenuUtil.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/utils.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/view.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/ConnectedPhone.js","webpack:///@devsnc/sn-record-price-connected/src/index.js","webpack:///@devsnc/sn-record-url/src/index.js","webpack:///@servicenow/now-record-ip-address/src/index.js","webpack:///@devsnc/sn-record-version/src/index.js","webpack:///@devsnc/sn-record-version/src/constants.js","webpack:///@devsnc/sn-record-reference-connected/src/utils.js","webpack:///@devsnc/sn-record-reference-connected/src/view.js","webpack:///@devsnc/sn-record-reference-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-reference-connected/src/index.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/constants.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/utils.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/index.js","webpack:///@devsnc/sn-record-list-select/src/constants.js","webpack:///@devsnc/sn-record-list-select/src/utils.js","webpack:///@devsnc/sn-record-list-select/src/effects.js","webpack:///@devsnc/sn-record-list-select/src/actionHandlers.js","webpack:///@devsnc/sn-record-list-select/src/index.js","webpack:///@devsnc/sn-record-list-select/src/view.js","webpack:///@devsnc/sn-glide-form-controls/src/base/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/base/controlElementFactory.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/field-selection.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/graphql.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/template-value/index.js","webpack:///@devsnc/sn-record-tablename-connected/src/constants.js","webpack:///@devsnc/sn-record-tablename-connected/src/effects.js","webpack:///@devsnc/sn-record-tablename-connected/src/query.js","webpack:///@devsnc/sn-record-tablename-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-tablename-connected/src/view.js","webpack:///@devsnc/sn-record-tablename-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dot-walk/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/query.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/effects.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/eventHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/ConnectedFieldName.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/ConnectedDocumentId.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/actions.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/view.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/ConnectedWikiText.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/utils.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorkedPopoverContent.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorked.js","webpack:///@devsnc/sn-glide-form-controls/src/seismic-components/index.js","webpack:///@devsnc/sn-glide-form-controls/src/index.js","webpack:///@servicenow/now-record-html-script/src/constants.js","webpack:///@servicenow/now-record-html-script/src/actionHandler.js","webpack:///@servicenow/now-record-html-script/src/effects.js","webpack:///@servicenow/now-record-html-script/src/index.js","webpack:///@servicenow/now-record-html-script/src/Utils.js","webpack:///@devsnc/sn-record-link/src/SNLink.js","webpack:///@devsnc/sn-record-link/src/index.js","webpack:///@devsnc/sn-options-list/src/OptionDefault.js","webpack:///@devsnc/sn-options-list/src/OptionsList.js","webpack:///@devsnc/sn-options-list/src/Dropdown.js","webpack:///@devsnc/sn-options-list/src/DropdownSeismic.js","webpack:///@devsnc/sn-options-list/src/index.js","webpack:///@servicenow/now-radio-group/src/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-radio-buttons/index.jsdbx\"","webpack:///@servicenow/now-radio-group/src/index.js","webpack:///@servicenow/now-radio-group/src/view.js","webpack:///controls-mono/__imaginary__/mono-asset-entry-wrapper.js"],"sourcesContent":["/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-record-annotation{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:block;font-size:.75rem;padding:calc(var(--now-scale-space--lg, 1)*14px) 0;width:100%}.sn-record-annotation>hr{width:100%}.sn-record-annotation>hr.line-separator{border:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));margin:0}.sn-record-annotation>hr.section-separator{border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));margin:0}.sn-record-annotation-content{align-items:flex-start;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;line-height:.625rem;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-annotation-content:not(.has-separator){background:RGBA(var(--now-color_alert--info-0,195,221,240),var(--now-opacity--mid,.5));border:1px solid RGB(var(--now-color_alert--info-4,8,72,118));border-radius:.25rem;color:RGB(var(--now-color_alert--info-4,8,72,118))}.sn-record-annotation-content:not(.has-separator).has-error{background:RGBA(var(--now-color_alert--critical-0,241,206,205),var(--now-opacity--mid,.5));border:1px solid RGB(var(--now-color_alert--critical-3,160,48,43));color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-record-annotation-content:not(.has-separator).has-section-detail{border:1px solid RGB(var(--now-color--neutral-12,66,80,81))}.sn-record-annotation-content.has-separator{flex-wrap:wrap;padding:calc(var(--now-scale-space--lg, 1)*1rem) 0 0}.sn-record-annotation-content-icon{align-items:center;color:RGB(var(--now-color_alert--info-4,8,72,118));margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-annotation-content-icon>now-icon.has-error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-record-annotation-content .details{line-height:.875rem;overflow:hidden;position:relative}.sn-record-annotation-content .details.is-section{color:RGB(var(--now-color--neutral-12,66,80,81));font-size:1rem;font-weight:600;line-height:1.25}.sn-record-annotation-content .details.collapsed:after{bottom:0;content:\\\"\\\";height:6px;left:0;pointer-events:none;position:absolute;width:100%}.sn-record-annotation-content-toggle.has-icon{margin-inline-start:calc(var(--now-scale-space--xxl, 1)*28px)}.sn-record-annotation-content>h5,.sn-record-annotation-content>p{display:block;margin:0;padding:0 0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.sn-record-annotation-content>h5:last-child,.sn-record-annotation-content>p:last-child{padding:0}.sn-record-annotation-content>h5{display:inline-block;font-size:1.25rem}::slotted(h5),::slotted(p){display:block;margin:0;padding:0 0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}::slotted(p:last-child){padding:0}::slotted(*){margin:0}::slotted(h5){display:inline-block;font-size:1.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-checkbox{margin:calc(var(--now-scale-space--md, 1)*10.11px)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}sn-record-control-wrapper{display:block}sn-record-control-wrapper.-vertical{margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem + 16px + var(--now-scale-space--xs, 1)*.25rem)}sn-record-control-wrapper.-horizontal{margin-block-end:calc(var(--now-scale-space--sm, 1)*8px);margin-block-start:calc(var(--now-scale-space--sm, 1)*8px)}:host(.no-checkbox-top-margin) sn-record-control-wrapper{margin-block-start:0}.checkbox-wrapper{display:flex}.checkbox-wrapper>.field-helper-content{align-items:center;display:flex;margin:0 0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.checkbox-wrapper>.field-helper-content .now-line-height-crop{display:none}now-checkbox{align-items:center;display:flex}now-checkbox,now-toggle{margin:0;min-height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}now-toggle{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-select{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}input,textarea{font-family:inherit}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.has-error{white-space:pre-line}now-code-editor{min-width:unset}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.ci-content-tree-container{display:flex;height:100%;overflow:hidden}.tree-downstream{padding-right:calc(var(--now-scale-space--md, 1)*.75rem)}.tree-downstream,.tree-upstream{height:100%;width:calc(50% - .75rem)}.tree-upstream{padding-left:calc(var(--now-scale-space--md, 1)*.75rem)}.tree-container{height:100%;overflow-y:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contenet-tree-popover{padding:now-fn-scale-space(1rem)}.contenet-tree-popover ul{list-style:none;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-record-control){align-items:center;display:inline-flex;margin-right:.25rem}now-button{align-items:center;display:inline-flex}now-button span{display:block}now-button span:after,now-button span:before{block-size:0;content:\\\"\\\";display:block}now-button span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}now-button span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}now-button span+now-button span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}:host(:not([dir=rtl])) now-button now-icon:first-child,:root:not([dir=rtl]) now-button now-icon:first-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:first-child,:root[dir=rtl] now-button now-icon:first-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host(:not([dir=rtl])) now-button now-icon:last-child,:root:not([dir=rtl]) now-button now-icon:last-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:last-child,:root[dir=rtl] now-button now-icon:last-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.interactive-decoration-icon{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.field-decorations-container{align-items:center;display:flex;gap:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}.dropdown-readonly{font-weight:700;white-space:nowrap}.dropdown-readonly.-sm{font-size:.75rem}.dropdown-readonly.-md{font-size:1rem}.declarative-action{align-items:center;display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-date-time{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.panel-container{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:row;width:min-content}.panel-container.is-preset{max-width:46.25rem;min-width:min-content}.panel-container .date-picker-container{position:relative}.panel-container .date-preset-container{border-right:1px solid RGB(var(--now-color--neutral-5,172,180,181));min-height:18.75rem;min-width:10.9375rem;position:relative}.panel-container>div:focus{outline:none}.date-range-header-row{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));padding:.5rem}.date-range-header-row .preset-picker-label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding-right:.5rem}.date-pickers,.time-picker-row{display:flex}.date-range-picker-confirmation{border-top:none;border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:row;flex-direction:column;justify-content:flex-end;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.date-range-picker-confirmation .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.date-range-picker-confirmation now-record-time{width:100%}:host(:not([dir=rtl])) .date-range-picker-confirmation now-button,:host(:not([dir=rtl])) .date-range-picker-confirmation sn-record-control,:root:not([dir=rtl]) .date-range-picker-confirmation now-button,:root:not([dir=rtl]) .date-range-picker-confirmation sn-record-control{margin-left:.5rem}:host([dir=rtl]) .date-range-picker-confirmation now-button,:host([dir=rtl]) .date-range-picker-confirmation sn-record-control,:root[dir=rtl] .date-range-picker-confirmation now-button,:root[dir=rtl] .date-range-picker-confirmation sn-record-control{margin-right:.5rem}.time-picker{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));margin:0 1rem;padding:1rem 0}.spacer{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));margin:1rem 0;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.date-input-wrapper{display:flex;margin-block:-.5rem;outline:none}.date-input-wrapper>sn-record-input:first-of-type{margin-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}.date-input-wrapper>sn-record-input{flex:1;outline:none}:host(:not([dir=rtl])) sn-controls-standard-range,:root:not([dir=rtl]) sn-controls-standard-range{left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) sn-controls-standard-range,:root[dir=rtl] sn-controls-standard-range{right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) sn-controls-standard-range,:root:not([dir=rtl]) sn-controls-standard-range{right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) sn-controls-standard-range,:root[dir=rtl] sn-controls-standard-range{left:calc(var(--now-scale-space--sm, 1)*.5rem)}now-date-time-interval{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-record-duration-separator{align-items:center;display:inline-flex;padding:0 calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--3xl, 1)*2.5rem)}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--xxl, 1)*2rem)}.sn-control-field-label-start{display:flex}.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}now-popover{flex:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host{display:block}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.content-tree-css-parent{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:2px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-left:0;border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-sizing:border-box;margin:0;min-width:0;overflow:hidden;width:100%}.content-tree-css-parent-resize{resize:vertical}.content-tree-css{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-sizing:border-box;height:100%;margin:0;min-height:-moz-fit-content;min-height:fit-content;min-width:0;width:100%}.content-tree-no-variable{position:relative;top:25%}.content-table-name{align-items:center;align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:.75rem;font-weight:600;min-height:calc(var(--now-scale-space--xl, 1)*1.5rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.content-tree-readonly{display:none}.content-tree-css-border{border:2px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.fit-to-parent{display:inline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}.now-align,span[slot=end]{align-items:center}span[slot=end]{display:flex;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}span[slot=end].is-readonly{padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}now-button-iconic{margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.field-list-container{display:flex;flex-direction:column;width:100%}.field-list-container .header{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-selector-container{height:21.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;padding:0;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:0}.sn-control-field:not(.is-focus,.read-only) :after{height:0}.attachment-content{width:100%}.now-a11y-label{height:auto;overflow:hidden;position:absolute;width:0}.field-container{display:flex;flex:1 0;flex-direction:column;justify-content:center;min-height:calc(2rem*var(--now-button--scale-size-block, 1));width:100%}.container,.disabled-file{align-items:center;display:flex}.attachments-content,.infected-content,.retry-content{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.infected-content,.retry-content{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8));display:flex;flex:1 1 auto;font-size:1rem;overflow:hidden}.attachments-content,.infected-attachment-text,.retry-attachment-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachments-content{display:flex}.attachments-content .attachment-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-content,.download-button,.infected-buttons,.retryfile-buttons{margin-inline-start:auto;white-space:nowrap}.infected-attachment-icon,.retry-attachment-icon{display:inline-block;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.retry-attachment-text{padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem)}.is-disabled,.is-readonly{opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-file-icon{display:inline-block;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.attachment-loading-content>span,.empty-state-readonly{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}.attachment-loading-container{display:flex;margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.attachment-loader{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}input,textarea{font-family:inherit}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}now-dropdown-custom-target,now-input{width:100%}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-control-field:focus{outline:none}.sn-control-field:hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.sn-control-field:hover:after{height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2)}@media(forced-colors:active){.sn-control-field:hover{border-color:highlight}}.is-disabled .sn-control-field{opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-select{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1 auto;font-size:inherit;height:100%;margin:0;min-width:1px;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));position:relative;width:100%}.sn-select:focus{outline:none}.sn-select.has-placeholder,.sn-select:disabled,.sn-select:invalid{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.sn-select.is-disabled{cursor:not-allowed}.sn-select-value{display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-select-value:after{content:\\\"\\\";display:block}.sn-select-value:focus{outline:none}.sn-select-icon{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:2rem;justify-content:center;width:2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}:host{align-items:center;display:inline-flex}:host(.block-style){display:block;line-height:0}.sn-record-choice-search{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-choice-search-trigger{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));cursor:pointer;height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-choice-search-trigger:focus{border-color:RGB(var(--now-color--focus-2,1,119,142));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1));outline:none}.sn-record-choice-search-trigger:focus::-moz-focus-inner{border-style:none}.sn-record-choice-search-trigger:not(.is-disabled).has-hover,.sn-record-choice-search-trigger:not(.is-disabled):hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.sn-record-choice-search-trigger:not(.is-disabled).has-hover:after,.sn-record-choice-search-trigger:not(.is-disabled):hover:after{height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2)}.sn-record-choice-search-trigger:not(.is-disabled).is-opened{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-color--focus-2,1,119,142));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-record-choice-search-trigger{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.sn-record-choice-search-trigger:not(.is-disabled).has-hover,.sn-record-choice-search-trigger:not(.is-disabled):hover{border-color:highlight!important}.sn-record-choice-search-trigger.has-focus,.sn-record-choice-search-trigger:focus{border-color:highlight!important;outline:1px solid highlight}.sn-record-choice-search-trigger.is-disabled{border-color:graytext!important;color:graytext!important;opacity:1!important}.sn-record-choice-search-trigger.is-readonly,.sn-record-choice-search-trigger.is-readonly.has-hover,.sn-record-choice-search-trigger.is-readonly:hover{border-color:graytext!important}.sn-record-choice-search-trigger ::placeholder{color:graytext!important}.sn-record-choice-search-trigger .now-input-native-selection{border-block-end:1px solid highlight!important}}.sn-record-choice-search-caret,.sn-record-choice-search-default-label{align-items:center;display:inline-flex}.sn-record-choice-search-caret{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-record-choice-search-caret.disabled{display:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.now-input-field-trigger{display:block}.sn-trigger-icon{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:2rem;justify-content:center;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));width:2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-record-phone-connected{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.time-worked-confirmation{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-top:none;display:flex;flex-direction:column;flex-direction:row;justify-content:flex-end;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.time-worked-confirmation .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.time-worked-confirmation now-record-time{width:100%}:host(:not([dir=rtl])) .time-worked-confirmation now-button,:host(:not([dir=rtl])) .time-worked-confirmation sn-record-control,:root:not([dir=rtl]) .time-worked-confirmation now-button,:root:not([dir=rtl]) .time-worked-confirmation sn-record-control{margin-left:.5rem}:host([dir=rtl]) .time-worked-confirmation now-button,:host([dir=rtl]) .time-worked-confirmation sn-record-control,:root[dir=rtl] .time-worked-confirmation now-button,:root[dir=rtl] .time-worked-confirmation sn-record-control{margin-right:.5rem}.time-worked-popover-content{display:flex;flex-direction:column;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem);width:240px}.time-worked-popover-content sn-record-duration{margin:0 calc(var(--now-scale-space--lg, 1)*1rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-textarea{margin:0;width:100%}.sn-record-wiki-text{flex-direction:column;margin-top:calc(var(--now-scale-space--xs, 1)*.25rem);padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-record-wiki-text:not(.is-focus,.read-only) :after{height:0}.sn-record-wiki-text.is-empty{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.modal-content{height:100%}.modal-content :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.modal-content :host([hidden]){display:none}.modal-content *,.modal-content :after,.modal-content :before{box-sizing:border-box}.modal-content .now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.modal-content :host{--now-modal--width--custom:62.5rem;--now-modal--height--custom:46.875rem;display:block}.modal-content .now-modal-overlay{background-color:RGB(var(--now-modal_overlay--background-color,var(--now-window_overlay--background-color,var(--now-color--neutral-21,0,0,0))),var(--now-modal_overlay--background-color-alpha,var(--now-window_overlay--background-color-alpha,var(--now-opacity--mid,.5))));inset:0;overflow-y:auto;position:fixed;z-index:4000}.modal-content .now-modal-overlay.hide-overlay{background-color:transparent}.modal-content .now-modal[hidden]{display:block;visibility:hidden}.modal-content .now-modal{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;visibility:visible;z-index:4000}@media(min-width:26.25rem){.modal-content .now-modal.is-opened.-custom,.modal-content .now-modal.is-opened.-sm{align-items:center;display:flex;justify-content:center}}@media(min-width:26.25rem)and (max-height:19.6875rem){.modal-content .now-modal.is-opened.-custom,.modal-content .now-modal.is-opened.-sm{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.modal-content .now-modal.is-opened.-md{align-items:center;display:flex;justify-content:center}}@media(min-width:37.5rem)and (max-height:28.125rem){.modal-content .now-modal.is-opened.-md{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.modal-content .now-modal.is-opened.-lg{align-items:center;display:flex;justify-content:center}}@media(min-width:50rem)and (max-height:37.5rem){.modal-content .now-modal.is-opened.-lg{block-size:auto;min-block-size:100%}}.modal-content .now-modal.is-legacy-mode{block-size:auto;min-block-size:100%}@media(min-height:37.5rem)and (min-width:50rem){.modal-content .now-modal.is-legacy-mode.is-opened.-lg .now-modal-dialog{max-block-size:none}}.modal-content .now-modal.is-legacy-mode .now-modal-body{overflow:initial}.modal-content .now-modal-dialog{background-color:RGB(var(--now-modal--background-color,var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));block-size:100%;display:flex;flex-direction:column;font-family:var(--now-modal--font-family,var(--now-window--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-variant:normal;inline-size:100%;letter-spacing:inherit;padding:calc(1.5rem*var(--now-modal--scale-size, 1));position:relative;text-align:start;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit;z-index:4001}.modal-content .now-modal-dialog.hide-padding{padding:0}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-sm .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-sm .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-sm .modal-content .now-modal-dialog{block-size:auto;max-block-size:19.6875rem;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:28.125rem){.is-opened.-md .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-md .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-md .modal-content .now-modal-dialog{block-size:auto;max-block-size:28.125rem;min-block-size:11.875rem}}@media(max-width:50rem)and (max-height:37.5rem){.is-opened.-lg .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.is-opened.-lg .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:50rem}}@media(min-width:50rem)and (min-height:15.875rem){.is-opened.-lg .modal-content .now-modal-dialog{block-size:auto;max-block-size:37.5rem;min-block-size:15.875rem}}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-custom .modal-content .now-modal-dialog,.is-opened.-fullscreen .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-custom .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));inline-size:var(--now-modal--width--custom);max-inline-size:100%;min-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-custom .modal-content .now-modal-dialog{block-size:var(--now-modal--height--custom);max-block-size:90%;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:11.875rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{block-size:auto;max-block-size:34.125rem;min-block-size:11.875rem}}.modal-content .now-modal-header{flex:none}.modal-content .now-modal-button-iconic{margin-inline-start:calc(.5rem*var(--now-modal--scale-size-inline, 1))}:host(:not([dir=rtl])) .modal-content .now-modal-button-iconic,:root:not([dir=rtl]) .modal-content .now-modal-button-iconic{float:right}:host([dir=rtl]) .modal-content .now-modal-button-iconic,:root[dir=rtl] .modal-content .now-modal-button-iconic{float:left}.modal-content .now-modal-heading{color:RGB(var(--now-modal_heading--color,var(--now-window_header_label--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-modal_heading--font-family,var(--now-window_header--font-family,var(--now-display-type--header-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-window_header--font-size--lg,var(--now-display-type_header--font-size--lg,var(--now-font-size--lg,1.25rem)));font-style:var(--now-modal_heading--font-style,var(--now-window_header--font-style,var(--now-display-type--header-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-modal_heading--font-weight,var(--now-window_header--font-weight,var(--now-display-type--header-primary--font-weight,var(--now-display-type--primary--font-weight,600))));line-height:1.25;margin-block-end:calc(1.5rem*var(--now-modal--scale-size-block, 1));margin-block-start:0;overflow:hidden;text-overflow:ellipsis;text-transform:var(--now-modal_heading--text-transform,var(--now-window_header--text-transform,var(--now-display-type--header-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))));white-space:nowrap}.modal-content .now-modal-heading:after{content:\\\"\\\";display:block}.modal-content .now-modal-body{flex:auto;overflow:auto}.modal-content .now-modal-body:focus-visible{outline:.125rem solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}@media(forced-colors:active){.modal-content .now-modal-body:focus-visible{outline:1px solid highlight}}.modal-content .now-modal-body.is-full-width{inline-size:calc(100% + 1.5rem + var(--now-modal--scale-size, 1)*1.5rem/2*2);margin-inline:calc(-1.5rem*var(--now-modal--scale-size, 1))}.modal-content .now-modal-p{font-size:var(--now-window_body--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-modal--font-style,var(--now-window--font-style,normal));font-weight:var(--now-modal--font-weight,var(--now-window--font-weight,normal));line-height:normal;margin-block:0;text-transform:var(--now-modal--text-transform,var(--now-window--text-transform,none))}.modal-content .now-modal-footer{display:flex;flex:none;flex-direction:column;overflow-x:auto;overflow-y:hidden;padding-block-start:calc(2.5rem*var(--now-modal--scale-size-block, 1))}@media(min-width:26.25rem){.-custom .modal-content .now-modal-footer,.-fullscreen .modal-content .now-modal-footer,.-sm .modal-content .now-modal-footer{flex-direction:row}.-custom .modal-content .now-modal-footer .now-modal-footer-button,.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button,.-sm .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-custom .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-custom .modal-content .now-modal-footer .now-modal-footer-button:only-child,.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:only-child,.-sm .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-sm .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-custom .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child),.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child),.-sm .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:37.5rem){.-md .modal-content .now-modal-footer{flex-direction:row}.-md .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-md .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-md .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-md .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:50rem){.-lg .modal-content .now-modal-footer{flex-direction:row}.-lg .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-lg .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-lg .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-lg .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}.modal-content .now-modal-footer-button{inline-size:100%}.modal-content .now-modal-footer-button:not(:last-child){margin-block-end:calc(.5rem*var(--now-modal--scale-size-block, 1))}@media(forced-colors:active){.modal-content .now-modal.is-opened.-custom .now-modal-dialog,.modal-content .now-modal.is-opened.-lg .now-modal-dialog,.modal-content .now-modal.is-opened.-md .now-modal-dialog,.modal-content .now-modal.is-opened.-sm .now-modal-dialog{border-width:1px}}@media(min-width:50rem){.modal-content{height:26.375rem}}.modal-content-input-area{height:100%;overflow:hidden}.modal-content-textarea{height:calc(100% - .25rem)}.modal-content-preview-area{display:flex;flex-direction:column}.modal-content.dual-mode{display:flex;justify-content:space-between}.modal-content.dual-mode>div{max-width:calc(50% - .5rem);min-width:calc(50% - .5rem)}.preview-container{outline:none;overflow:auto}.preview-container .loader{display:none}.preview-container.loading .loader{display:flex}.sn-record-wiki-text>.preview-container:not(.is-empty){margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);max-height:16rem;min-height:4rem}.sn-record-wiki-text>.preview-container now-rich-text{height:100%}.sn-record-wiki-text>.preview-container.loading .loader{align-items:center;display:flex;height:100%;justify-content:center;max-height:16rem;position:absolute;width:100%}.sn-record-wiki-text>.preview-container.loading .loader>div{align-items:center;display:flex;justify-content:center}.sn-record-wiki-text>.preview-container.loading now-rich-text{visibility:hidden}.modal-content .preview-container{flex-grow:1;margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.modal-content .preview-container::-moz-focus-inner{border-style:none}.modal-content .preview-container:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.modal-content .preview-container:focus{outline:1px solid highlight}}.modal-content .preview-container.loading{align-items:center;display:flex;justify-content:center}.modal-content .preview-container.loading now-rich-text{display:none}.sr-only{clip:rect(1px,1px,1px,1px)!important;border:0!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;outline:none;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host{width:100%}.field-selection-container{display:flex;flex:1;flex-flow:row}.pad-bottom{padding-bottom:calc(var(--now-scale-space--md, 1)*.75rem)}.field-selection-fields-container{display:flex;flex:1;flex-flow:row wrap;order:1;width:100%}.field-selection-fields-container-no-wrap{display:flex;flex:1;order:1}.field-direction-column{flex-direction:column}.field-selection-html-container{width:calc(50% - var(--now-scale-space--xl, 1)*.9rem)}.field-selection-selector{flex:1;margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem);order:1}.field-selection-field{display:flex;flex:1;order:2}.field-selection-field :first-child{flex:1 1 0}.field-selection-remove-row{order:3}.field-selection-add-row,.field-selection-remove-row{margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.field-selection-add-row{order:2}.field-selection-add-row:empty{display:none}.field-selection-container-readonly{display:flex;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.field-selection-label-readonly{flex:1;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem)}.field-selection-value-readonly{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:var(--now-form-field--border-radius--readonly,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));flex:1;margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem);max-height:16rem;overflow-x:hidden;overflow-y:auto;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);white-space:break-spaces}.sn-select{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1 auto;font-size:inherit;height:100%;margin:0;min-width:1px;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));position:relative;width:100%}.sn-select:focus{outline:none}.sn-select.has-placeholder,.sn-select:disabled,.sn-select:invalid{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.sn-select.is-disabled{cursor:not-allowed}.sn-select-value{display:block;flex:1 1 auto;overflow:hidden;overflow:initial;text-overflow:ellipsis;white-space:nowrap}.sn-select-value:after{content:\\\"\\\";display:block}.sn-select-value:focus{outline:none}.sn-select-icon{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:2rem;justify-content:center;width:2rem}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.form-field-label-wrap{align-items:start;color:RGBA(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)),var(--now-color--neutral-12,66,80,81),66,80,81);display:flex;font-size:1rem;height:1rem;justify-content:flex-start}.field-selection-field-container{flex:1 1 0;order:2}.now-badge-container{align-items:center;display:flex}.now-badge{height:.25rem;padding-right:1%}.wrapper-flex{flex:1}.badge-display-unsupported-field{display:flex}.field-selection-container .field-selection-fields-container .field-selection-selector .now-badge-container .sn-control .form-field-label-wrap .now-form-field-label{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.5rem)}.field-selection-container .field-selection-fields-container .field-selection-selector .now-badge-container .sn-control{flex:1}.field-selection-container .field-selection-fields-container .field-selection-selector .now-badge-container .-vertical .form-field-label-wrap{margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.field-selection-container .field-selection-fields-container .field-selection-field-container .sn-control .form-field-label-wrap .now-form-field-label{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.65rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:host{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}.sn-editor .sn-control .form-field-label-wrap .now-form-field-label{min-width:0}.sn-editor .sn-control .sn-control-field-label-start{display:flex}.sn-editor .sn-control .sn-control-highlighted-field-label-end now-highlighted-value{max-width:5.25rem;padding-inline-start:.75rem}.sn-editor .-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.sn-editor.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-editor.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.sn-mce-readonly{min-height:160px}.fit-to-parent{block-size:100%}.fit-to-parent .sn-control{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}.sn-editor{margin:0 2px}.sn-editor .sn-control .form-field-label-wrap .now-form-field-label{min-width:0}.sn-editor .sn-control .sn-control-field-label-start{display:flex}.sn-editor .sn-control .sn-control-highlighted-field-label-end now-highlighted-value{max-width:5.25rem;padding-inline-start:.75rem}.sn-editor .-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.sn-editor.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-editor.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.sn-mce-readonly{min-height:160px}.fit-to-parent{block-size:100%}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.content-tree-css-parent{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:2px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-left:0;box-sizing:border-box;margin:0;min-width:0;overflow:hidden;width:100%}.content-tree-css-parent-resize{resize:vertical}.content-tree-css{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-sizing:border-box;height:100%;margin:0;min-height:-moz-fit-content;min-height:fit-content;min-width:0;width:100%}.content-tree-container{display:grid;grid-template-columns:70% 30%}.content-tree-no-variable{position:relative;top:25%}.content-table-name{align-items:center;align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:.75rem;font-weight:600;min-height:calc(var(--now-scale-space--xl, 1)*1.5rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.content-tree-readonly{display:none}.content-tree-css-border{border:2px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}@media(max-width:31.25rem){.content-tree-container{grid-template-columns:1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-textarea{width:100%}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.with-message{align-items:center;display:flex;font-size:1rem;height:100%;justify-content:center;margin:0;padding:calc(var(--now-scale-space--lg, 1)*1rem)}.loader-with-message{background-color:#fff;position:sticky;top:0;z-index:9999}.loader-with-message .with-message{align-items:center;display:flex;height:100%;justify-content:center;margin:0;padding:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-input-password{margin-block:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-record-link{color:RGB(var(--now-color--secondary-1,1,119,142));font-size:1rem;text-decoration:none;word-break:break-all}.sn-record-link:active,.sn-record-link:hover{text-decoration:underline}.sn-record-link:hover{color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-record-link:active{color:RGB(var(--now-color--secondary-3,1,60,71))}.sn-record-link.-dark{color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-record-link.-dark:active,.sn-record-link.-dark:hover{color:RGB(var(--now-color--secondary-3,1,60,71))}.sn-record-link.-sm,.sn-record-link.-xs{font-size:.75rem}:host(:not([dir=rtl])) .sn-record-link now-icon:first-child,:root:not([dir=rtl]) .sn-record-link now-icon:first-child{margin-right:.25rem}:host([dir=rtl]) .sn-record-link now-icon:first-child,:root[dir=rtl] .sn-record-link now-icon:first-child{margin-left:.25rem}:host(:not([dir=rtl])) .sn-record-link now-icon:last-child,:root:not([dir=rtl]) .sn-record-link now-icon:last-child{margin-left:.25rem}:host([dir=rtl]) .sn-record-link now-icon:last-child,:root[dir=rtl] .sn-record-link now-icon:last-child{margin-right:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.list-selector-container{height:21.625rem}now-input{width:100%}.now-align,span[slot=end]{align-items:center}span[slot=end]{display:flex;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}span[slot=end].is-readonly{padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}now-button-iconic{margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.slushbucket-container{display:flex;flex-direction:column;width:100%}.slushbucket-container .header{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-right-chevron{display:inline-block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-date-preset-panel-connected){display:flex;min-width:150px}.date-preset-wrapper{bottom:0;display:flex;left:0;margin:1rem 0;position:absolute;right:0;top:0;width:100%}.date-preset-wrapper .date-preset{overflow-y:auto;padding:0 .125rem;width:100%}.date-preset-wrapper .date-preset-item{align-items:center;cursor:pointer;display:flex;margin-left:1rem;min-height:.75rem}.date-preset-wrapper .date-preset-item.is-custom{cursor:default;margin-left:.75rem}.date-preset-wrapper .date-preset-item-button{padding:.25rem}.date-preset-wrapper .date-preset-item-button:hover{color:RGB(var(--now-color--secondary-1,1,119,142))}.date-preset-wrapper .date-preset-item-button::-moz-focus-inner{border-style:none}.date-preset-wrapper .date-preset-item-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.date-preset-wrapper .date-preset-item-selected{display:inline-block;max-width:1.25rem;min-width:1.25rem}.date-preset-wrapper .date-preset-item-selected,.date-preset-wrapper .date-preset-presence{color:RGB(var(--now-color--secondary-1,1,119,142))}.date-preset-wrapper .date-preset-custom-divider{border-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-style:solid none none;border-width:1px 0 0}.date-preset-wrapper .date-preset now-accordion{margin-right:.75rem}@media(forced-colors:active){.date-preset-wrapper .date-preset{padding-top:1px!important}.date-preset-wrapper .date-preset-item-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.date-preset-wrapper .date-preset-item-button now-icon,.date-preset-wrapper .date-preset-item-button now-icon-animated{color:inherit!important}.date-preset-wrapper .date-preset-item-button:focus,.date-preset-wrapper .date-preset-item-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.date-preset-wrapper .date-preset-item-button.is-disabled,.date-preset-wrapper .date-preset-item-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.date-preset-wrapper .date-preset-item-button:focus{box-shadow:none}.date-preset-wrapper .date-preset-item-button.is-selected{background-color:selecteditem!important;border-color:selecteditemtext;color:selecteditemtext!important}.date-preset-wrapper .date-preset span.date-preset-item-button{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin:-1rem;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto;padding:1rem}.sn-calendar-content:last-of-type{justify-content:flex-end}.monthly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.monthly-view:focus{outline:none}.monthly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.monthly-view-body{display:flex}.monthly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.monthly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.monthly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .monthly-view-footer now-button,:host(:not([dir=rtl])) .monthly-view-footer sn-record-control,:root:not([dir=rtl]) .monthly-view-footer now-button,:root:not([dir=rtl]) .monthly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .monthly-view-footer now-button,:host([dir=rtl]) .monthly-view-footer sn-record-control,:root[dir=rtl] .monthly-view-footer now-button,:root[dir=rtl] .monthly-view-footer sn-record-control{margin-right:.5rem}.monthly-view-content{align-items:center;display:flex;flex:1 1 auto}.monthly-view-content.-static{flex:0 0 auto}.monthly-view-content:last-of-type{justify-content:flex-end}.monthly-view-grid{outline:none}.monthly-view-grid .month-row{display:flex;justify-content:center}.monthly-view-grid .month-row .month-cell{align-items:center;border:1px solid transparent;cursor:pointer;display:flex;flex:1 0 25%;height:40px;justify-content:center;padding:0 1rem;text-transform:uppercase;white-space:nowrap}.monthly-view-grid .month-row .month-cell.is-highlighted,.monthly-view-grid .month-row .month-cell.is-in-range.is-highlighted,.monthly-view-grid .month-row .month-cell:focus,.monthly-view-grid .month-row .month-cell:hover{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5));outline:none}.monthly-view-grid .month-row .month-cell.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.monthly-view-grid .month-row .month-cell.is-in-range{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.monthly-view-grid .month-row .month-cell.is-current-month{border-color:RGB(var(--now-color--secondary-1,1,119,142))}.monthly-view-grid .month-row .month-cell.is-readonly{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.monthly-view-grid .month-row .month-cell.is-disabled{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.monthly-view-grid .month-row .month-cell.is-disabled.is-current-month{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.monthly-view-grid .month-row .month-cell.is-disabled.is-selected-secondary{background:RGBA(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)),var(--now-opacity--mid,.5))}.spacer{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));margin:0 1rem;width:1px}@media(forced-colors:active){.monthly-view-grid .month-row span{forced-color-adjust:none}.monthly-view-grid .month-row .month-cell{background:buttonface;border:none;color:buttontext}.monthly-view-grid .month-row .month-cell.is-highlighted,.monthly-view-grid .month-row .month-cell.is-in-range.is-highlighted,.monthly-view-grid .month-row .month-cell:focus,.monthly-view-grid .month-row .month-cell:hover{background-color:highlight;color:highlighttext}.monthly-view-grid .month-row .month-cell.is-in-range,.monthly-view-grid .month-row .month-cell.is-selected{background-color:selecteditem;color:selecteditemtext}.monthly-view-grid .month-row .month-cell.is-disabled,.monthly-view-grid .month-row .month-cell.is-readonly{background-color:buttonface;color:graytext}.monthly-view-grid .month-row .month-cell.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.monthly-view-grid .month-row .month-cell.is-current-month{border:1px solid buttonborder}.monthly-view-grid .month-row .month-cell.is-disabled.is-current-month,.monthly-view-grid .month-row .month-cell.is-readonly.is-current-month{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin:-1rem;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto;padding:1rem}.sn-calendar-content:last-of-type{justify-content:flex-end}.quarterly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;max-width:15rem;min-width:18.125rem;min-width:15rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.quarterly-view:focus{outline:none}.quarterly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.quarterly-view-body{display:flex}.quarterly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.quarterly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.quarterly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .quarterly-view-footer now-button,:host(:not([dir=rtl])) .quarterly-view-footer sn-record-control,:root:not([dir=rtl]) .quarterly-view-footer now-button,:root:not([dir=rtl]) .quarterly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .quarterly-view-footer now-button,:host([dir=rtl]) .quarterly-view-footer sn-record-control,:root[dir=rtl] .quarterly-view-footer now-button,:root[dir=rtl] .quarterly-view-footer sn-record-control{margin-right:.5rem}.quarterly-view-content{align-items:center;display:flex;flex:1 1 auto}.quarterly-view-content.-static{flex:0 0 auto}.quarterly-view-content:last-of-type{justify-content:flex-end}.quarterly-view-grid{display:flex;outline:none}.quarterly-view-grid .quarter-row{display:flex;justify-content:center;max-width:100%;width:100%}.quarterly-view-grid .quarter-row .quarter-item{align-items:center;border:1px solid transparent;cursor:pointer;display:flex;flex:1 0 25%;height:40px;justify-content:center;padding:0 1rem;text-transform:uppercase;white-space:nowrap;width:25%}.quarterly-view-grid .quarter-row .quarter-item.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item.is-in-range.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item:focus,.quarterly-view-grid .quarter-row .quarter-item:hover{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5));outline:none}.quarterly-view-grid .quarter-row .quarter-item.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.quarterly-view-grid .quarter-row .quarter-item.is-in-range{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.quarterly-view-grid .quarter-row .quarter-item.is-current-quarter{border-color:RGB(var(--now-color--secondary-1,1,119,142))}.quarterly-view-grid .quarter-row .quarter-item.is-readonly{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.quarterly-view-grid .quarter-row .quarter-item.is-disabled{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-current-quarter{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-selected-secondary{background:RGBA(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)),var(--now-opacity--mid,.5))}.spacer{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));margin:0 1rem;width:1px}@media(forced-colors:active){.quarterly-view-grid .quarter-row span{forced-color-adjust:none}.quarterly-view-grid .quarter-row .quarter-item{background:buttonface;border:none;color:buttontext}.quarterly-view-grid .quarter-row .quarter-item.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item.is-in-range.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item:focus,.quarterly-view-grid .quarter-row .quarter-item:hover{background-color:highlight;color:highlighttext}.quarterly-view-grid .quarter-row .quarter-item.is-in-range,.quarterly-view-grid .quarter-row .quarter-item.is-selected{background-color:selecteditem;color:selecteditemtext}.quarterly-view-grid .quarter-row .quarter-item.is-disabled,.quarterly-view-grid .quarter-row .quarter-item.is-readonly{background-color:buttonface;color:graytext}.quarterly-view-grid .quarter-row .quarter-item.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.quarterly-view-grid .quarter-row .quarter-item.is-current-quarter{border:1px solid buttonborder}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-current-quarter,.quarterly-view-grid .quarter-row .quarter-item.is-readonly.is-current-quarter{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-calendar{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;flex-direction:row;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;position:relative;width:min-content;z-index:1000}.sn-calendar:focus{outline:none}.sn-calendar-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.sn-calendar-body{display:flex}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto}.sn-calendar-content.-static{flex:0 0 auto}.sn-calendar-content:last-of-type{justify-content:flex-end}.sn-calendar.is-preset{max-width:31.25rem;min-width:min-content}.sn-calendar .date-preset-panel{border-right:1px solid RGB(var(--now-color--neutral-5,172,180,181));min-height:18.75rem;min-width:10.9375rem;position:relative}.sn-calendar .date-picker-panel{overflow:hidden;position:relative}.sn-calendar>div:focus{outline:none}.now-record-date-picker{display:flex;flex-direction:column;width:100%}.now-record-date-picker:focus{outline:none}.now-record-date-picker.-yearly{flex-direction:row}.now-record-date-picker-weekly-month{display:flex;flex-wrap:wrap;padding:0 1rem calc(var(--now-scale-space--lg, 1)*1rem);width:100%}.now-record-date-picker-weekly-month-week{justify-content:center;padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.now-record-date-picker-weekly-month-week,.now-record-date-picker-weekly-month-week-row{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex}.now-record-date-picker-weekly-month-week-row{cursor:pointer}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week){background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week).hover-secondary-selected{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row:focus{outline:none}.now-record-date-picker-weekly-month-week-row.is-rangepicker:not(.is-current-week):focus{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row.is-selected:not(.is-disabled-week){background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-weekly-month-week-row.is-current-week{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.now-record-date-picker-weekly-month-week-row.is-current-week.is-disabled-week{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.now-record-date-picker-weekly-month-week-row.is-readonly{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.now-record-date-picker-weekly-month-week-row.is-selected-secondary{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.now-record-date-picker-weekly-month-week-row.is-preview{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}.now-record-date-picker-weekly-month-week-row.is-outlined{border:1px solid RGB(var(--now-color--secondary-1,1,119,142))}.now-record-date-picker-weekly-month-week-row.hover-highlighted,.now-record-date-picker-weekly-month-week-row.hover-secondary-highlighted{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row.is-disabled{background:transparent;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));cursor:default}.now-record-date-picker-weekly-month-week:last-of-type{padding-bottom:0}.now-record-date-picker-weekly-month-week-number{align-items:center;border:1px solid transparent;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.45);display:flex;font-size:.75rem;height:2rem;justify-content:center;width:2rem}.now-record-date-picker-weekly-month-week-day{align-items:center;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;width:2rem}.now-record-date-picker-weekly-month-week-day:focus{outline:none}.now-record-date-picker-weekly-month-week-day.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-record-date-picker-weekly-month-week-day.is-readonly{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.now-record-date-picker-weekly-month-week-day.is-selected-secondary{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.now-record-date-picker-weekly-month-week-day.is-preview{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}.now-record-date-picker-weekly-month-week-day.is-outlined{border-color:RGB(var(--now-color--secondary-1,1,119,142))}.now-record-date-picker-weekly-month-week-day.hover-highlighted{background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-weekly-month-week-day.hover-secondary-highlighted{background:RGB(var(--now-color--secondary-1,1,119,142),var(--now-opacity--most,.8))}.now-record-date-picker-weekly-month-week-day.is-disabled{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.now-record-date-picker-weekly-month-week-day.is-disabled.is-day-in-range-current-month{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-day.is-disabled-date-picker{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.now-record-date-picker-weekly-month-week-day:last-of-type{margin-inline-end:0}.now-record-date-picker-header{align-items:center;display:flex}.-monthly .now-record-date-picker-header{padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.now-record-date-picker-header-label{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex:1 1 auto;font-size:1rem;overflow:hidden;padding-left:.75rem}.now-record-date-picker-header-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-record-date-picker-header-label>span:after{content:\\\"\\\";display:block}.now-record-date-picker-header-label>sn-record-dropdown-internal{margin-inline-start:.5rem}.now-record-date-picker-content{align-items:center;display:flex;flex:1 1 auto;justify-content:center;overflow:hidden}.now-record-date-picker-content.-static{flex:0 0 auto}.now-record-date-picker-content:last-of-type{justify-content:flex-end}.now-record-date-picker-content:only-of-type{justify-content:space-between}.now-record-date-picker-content sn-control{margin-inline-start:.5rem}.now-record-date-picker-week{display:flex;justify-content:center;padding:0 1rem calc(var(--now-scale-space--sm, 1)*.5rem)}.now-record-date-picker-week-day{align-items:center;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;font-size:.75rem;justify-content:center;margin-inline-end:.25rem;width:2rem}.now-record-date-picker-week-day.-weekly,.now-record-date-picker-week-day:last-of-type{margin-inline-end:0}.now-record-date-picker-month{display:flex;flex-wrap:wrap;padding:0 1rem calc(var(--now-scale-space--lg, 1)*1rem);width:100%}.now-record-date-picker-month-week{display:flex;justify-content:center;padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.now-record-date-picker-month-week:last-of-type{padding-bottom:0}.now-record-date-picker-month-week-number{color:RGB(var(--now-color--neutral-11,73,88,90));font-size:.75rem}.now-record-date-picker-month-week-day,.now-record-date-picker-month-week-number{align-items:center;border:1px solid transparent;display:flex;height:2rem;justify-content:center;margin-inline-end:.25rem;width:2rem}.now-record-date-picker-month-week-day{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;font-size:1rem}.now-record-date-picker-month-week-day:focus{outline:none}.now-record-date-picker-month-week-day:hover,.now-record-date-picker-month-week-day:hover.hover-secondary-selected{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--less,.25))}.now-record-date-picker-month-week-day.is-selected{background:RGBA(var(--now-color--secondary-1,1,119,142),.35);border-style:none;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.now-record-date-picker-month-week-day.is-current-date{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.now-record-date-picker-month-week-day.is-current-date::-moz-focus-inner{border-style:none}.now-record-date-picker-month-week-day.is-current-date:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-record-date-picker-month-week-day.is-current-date:focus{outline:1px solid highlight}}.now-record-date-picker-month-week-day.is-readonly{background:none;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-record-date-picker-month-week-day.is-selected-secondary{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.now-record-date-picker-month-week-day.is-preview{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}.now-record-date-picker-month-week-day.is-outlined{border-color:RGB(var(--now-color--secondary-1,1,119,142))}.now-record-date-picker-month-week-day.hover-highlighted{background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-month-week-day.hover-secondary-highlighted{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--less,.25))}.now-record-date-picker-month-week-day.is-disabled{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.now-record-date-picker-month-week-day.is-disabled.is-outlined{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.now-record-date-picker-month-week-day.is-disabled.is-selected-secondary{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.now-record-date-picker-month-wrapper-outer{display:block;overflow:hidden;position:relative}.now-record-date-picker-month-wrapper-outer:focus{outline:none}.now-record-date-picker-month-wrapper-inner{display:block;position:relative}.now-record-date-picker-years{border-right:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));flex:0 0 auto;max-height:17.25rem;overflow-x:hidden;overflow-y:scroll}.now-record-date-picker-years:focus{outline:none}.now-record-date-picker-years-list{list-style:none;margin:0;padding:0}.now-record-date-picker-years-year{align-items:center;cursor:pointer;display:flex;font-size:1rem;height:2rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.now-record-date-picker-years-year:hover{background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-years-year.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-record-date-picker-months{display:flex;flex-wrap:wrap;padding:calc(var(--now-scale-space--xxs, 1)*.125rem) .125rem;position:relative}.now-record-date-picker-months:focus{outline:none}.now-record-date-picker-months-row{display:flex;width:100%}.now-record-date-picker-months-month{align-items:center;cursor:pointer;display:flex;height:4rem;justify-content:center;margin:calc(var(--now-scale-space--xxs, 1)*.125rem) .125rem;position:relative;width:100%}.now-record-date-picker-months-month:hover{background:RGBA(var(--now-color--secondary-1,1,119,142),.35)}.now-record-date-picker-months-month.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}@media(forced-colors:active){.now-record-date-picker-weekly-month-week-row{background-color:buttonface;color:buttontext}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week){background-color:highlight;color:highlighttext}.now-record-date-picker-weekly-month-week-row:focus{background-color:highlight!important;color:highlighttext!important}.now-record-date-picker-weekly-month-week-row.is-current-week{background:selecteditem!important;color:selecteditemtext!important}.now-record-date-picker-weekly-month-week-row.is-selected-secondary{background-color:selecteditem;color:selecteditemtext}.now-record-date-picker-weekly-month-week-row.is-outlined{border-color:buttonborder}.now-record-date-picker-weekly-month-week-day:not(.is-disabled,.is-adjacent){forced-color-adjust:none}.now-record-date-picker-weekly-month-week-day.is-disabled,.now-record-date-picker-weekly-month-week-day.is-disabled-date-picker{background-color:buttonface!important;color:graytext!important}.now-record-date-picker-month-week-number{border:none}.now-record-date-picker-month-week-day{background-color:buttonface;border:none;color:buttontext}.now-record-date-picker-month-week-day span{forced-color-adjust:none!important}.now-record-date-picker-month-week-day:focus,.now-record-date-picker-month-week-day:hover{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-selected,.now-record-date-picker-month-week-day.is-selected-secondary{background-color:selecteditem;color:selecteditemtext}.now-record-date-picker-month-week-day.is-selected-secondary:focus,.now-record-date-picker-month-week-day.is-selected-secondary:hover,.now-record-date-picker-month-week-day.is-selected:focus,.now-record-date-picker-month-week-day.is-selected:hover{background-color:selecteditem!important;border:.125rem solid highlight!important}.date-picker-panel .now-record-date-picker-month-week-day.is-selected,.date-picker-panel .now-record-date-picker-month-week-day.is-selected-secondary{background-color:highlight!important;color:highlighttext!important}.date-picker-panel .now-record-date-picker-month-week-day.is-selected{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-current-date{background-color:selecteditem!important;color:selecteditemtext!important}.now-record-date-picker-month-week-day.is-current-date:focus,.now-record-date-picker-month-week-day.is-current-date:hover{border:.125rem solid highlight}.now-record-date-picker-month-week-day.is-readonly{background-color:buttonface!important;color:graytext!important}.now-record-date-picker-month-week-day.is-outlined:not(.is-current-date){border:1px solid buttonborder}.now-record-date-picker-month-week-day.hover-highlighted{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-disabled{background-color:buttonface!important;color:graytext!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{margin:-1rem}.sn-calendar-content{padding:1rem}.yearly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.yearly-view:focus{outline:none}.yearly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.yearly-view-body{display:flex}.yearly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.yearly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.yearly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .yearly-view-footer now-button,:host(:not([dir=rtl])) .yearly-view-footer sn-record-control,:root:not([dir=rtl]) .yearly-view-footer now-button,:root:not([dir=rtl]) .yearly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .yearly-view-footer now-button,:host([dir=rtl]) .yearly-view-footer sn-record-control,:root[dir=rtl] .yearly-view-footer now-button,:root[dir=rtl] .yearly-view-footer sn-record-control{margin-right:.5rem}.yearly-view-content{align-items:center;display:flex;flex:1 1 auto}.yearly-view-content.-static{flex:0 0 auto}.header,.yearly-view-content:last-of-type{justify-content:flex-end}.header{display:flex}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0;padding-top:1rem}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto}.sn-calendar-content:last-of-type{justify-content:flex-end}.year-grid{display:flex;flex-direction:column;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.year-grid:focus{outline:none}.year-grid .year-row,.year-grid .year-row .year-cell{display:flex;justify-content:center}.year-grid .year-row .year-cell{align-items:center;border:1px solid transparent;cursor:pointer;flex:1 0 25%;height:40px;padding:0 1rem;white-space:nowrap}.year-grid .year-row .year-cell.is-highlighted,.year-grid .year-row .year-cell.is-in-range.is-highlighted,.year-grid .year-row .year-cell:focus,.year-grid .year-row .year-cell:hover{background:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5));outline:none}.year-grid .year-row .year-cell.is-selected{background:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.year-grid .year-row .year-cell.is-in-range{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--more,.65))}.year-grid .year-row .year-cell.is-current-year{border-color:RGB(var(--now-color--secondary-1,1,119,142))}.year-grid .year-row .year-cell.is-readonly{background:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.year-grid .year-row .year-cell.is-disabled{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3);cursor:default}.year-grid .year-row .year-cell.is-disabled.is-current-year{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.year-grid .year-row .year-cell.is-disabled.is-selected-secondary{background:RGBA(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)),var(--now-opacity--mid,.5))}@media(forced-colors:active){.year-grid .year-row span{forced-color-adjust:none}.year-grid .year-row .year-cell{background:buttonface;border:none;color:buttontext}.year-grid .year-row .year-cell.is-highlighted,.year-grid .year-row .year-cell.is-in-range.is-highlighted,.year-grid .year-row .year-cell:focus,.year-grid .year-row .year-cell:hover{background-color:highlight;color:highlighttext}.year-grid .year-row .year-cell.is-in-range,.year-grid .year-row .year-cell.is-selected{background-color:selecteditem;color:selecteditemtext}.year-grid .year-row .year-cell.is-disabled,.year-grid .year-row .year-cell.is-readonly{background-color:buttonface;color:graytext}.year-grid .year-row .year-cell.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.year-grid .year-row .year-cell.is-current-year{border:1px solid buttonborder}.year-grid .year-row .year-cell.is-disabled.is-current-year,.year-grid .year-row .year-cell.is-readonly.is-current-year{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.header{display:flex}.header>div{flex:1 1 50%}.header .left-header{padding-inline-end:1rem}.header .right-header{align-items:center;display:flex;justify-content:space-between;padding-inline-start:1rem}.spacer{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));margin:0 1rem;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.name-value-container{align-items:center;display:flex;flex:1;flex-flow:row;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.name-value-container:last-of-type{margin-block-end:0}.fields-container{align-items:center;display:flex;flex:1;flex-flow:row wrap;order:1}.field-value{flex:1;margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem);order:1}.field-key{flex:1;order:2}.buttons-now{--nv-button-width:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);--nv-button-border-width:var( --now-button--tertiary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)) );--nv-button-padding-width:calc(var(--now-scale-space--xs, 1)*0.25rem);--nv-buttons-now-resized-width:calc(var(--nv-button-width)*2 + var(--nv-button-border-width)*2 + var(--nv-button-padding-width)*2 - 2px);flex:0 0 var(--nv-buttons-now-resized-width);margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);order:2;width:var(--nv-buttons-now-resized-width)}now-input{display:block;margin-block-end:0;margin-block-start:0;width:100%}now-button-iconic{margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;position:relative;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-radio-buttons{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-button-iconic.recommendation-icon{display:initial}.sn-recommendations-info-popover-spacing{font-size:.75rem;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-recommendations-info-popover-spacing a{text-decoration:none}.sn-recommendations-info-popover-spacing a:hover{text-decoration:underline}.sn-recommendations-info-popover-description{font-size:.75rem;margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-timepicker-separator{align-items:center;display:inline-flex;padding:calc(var(--now-scale-space--lg, 1)*1rem) calc(var(--now-scale-space--xxs, 1)*.125rem) calc(var(--now-scale-space--xxs, 1)*.125rem)}.sn-timepicker-toggle{margin-block-start:calc(var(--now-scale-space--lg, 1)*1rem);padding-top:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host(:not([dir=rtl])) .sn-timepicker-toggle,:root:not([dir=rtl]) .sn-timepicker-toggle{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-timepicker-toggle,:root[dir=rtl] .sn-timepicker-toggle{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-timepicker .sn-el-input{text-align:center}.sn-timepicker .sn-control-group .sn-control{margin-block-end:0;margin-block-start:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-typeahead-multi{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-typeahead{width:100%}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:1rem;padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input-url{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:.25rem}.-horizontal .now-form-field-button{margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-custom-highlighted-label{align-items:center;display:flex}.sn-custom-highlighted-label.-vertical{padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-custom-highlighted-label-popover{display:flex;gap:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover.spacing{padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover-description{display:flex;font-size:.75rem;gap:calc(var(--now-scale-space--md, 1)*.75rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-custom-highlighted-label-popover-close{margin:calc(var(--now-scale-space--xxs, 1)*-.5rem)}.sn-custom-highlighted-label now-icon{vertical-align:unset}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./annotation.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./auto-number-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./checkbox-group.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./checkbox.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./choice.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./code-editor.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./content-tree-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./content-tree-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./InteractiveDecoration.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./renderDecorations.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./currency.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./date.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./duration.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./email-script.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./email.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./fileattachment.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./choice.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-record-choice-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./phone.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./TimeWorked.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./field-selection.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./template-value.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./html.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./html.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./journal-input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./password.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ip-address.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./link.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./miniCalendar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./standardView.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./name-value.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./number.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dropdown.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./radio-group.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./recommendations-helper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./time.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./referencemultiple.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./reference.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./url.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./user-roles-lookup-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./version.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_customLabel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-glide-form-controls/connectedconditions/ConnectedConditions.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-wwna/index.jsdbx\");;","function _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t} });","export const fieldLayoutSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tlayout: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: { type: 'string', enum: ['vertical', 'horizontal'] }\n\t\t},\n\t\tcolumns: { default: [], schema: { type: 'array' } }\n\t}\n};\n\nexport const decorationsSchema = {\n\ttype: 'array',\n\tproperties: {\n\t\ticon: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t},\n\t\ttext: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t}\n\t}\n};\n","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const SeismicControlledFieldProps = {\n\t/**\n\t * Whether to show the AI indicator on the field\n\t * @type {boolean}\n\t */\n\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * Whether the field value has been modified\n\t * @type {boolean}\n\t */\n\tisModified: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * onChange event callback\n\t * @type {function}\n\t */\n\tonChange: { schema: { type: 'function' } },\n\n\t/**\n\t * onSelect event callback\n\t * @type {function}\n\t */\n\tonSelect: { schema: { type: 'function' } },\n\t/**\n\t * onClick event callback\n\t * @type {function}\n\t */\n\tonClick: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseEnter event callback\n\t * @type {function}\n\t */\n\tonMouseEnter: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseLeave event callback\n\t * @type {function}\n\t */\n\tonMouseLeave: { schema: { type: 'function' } },\n\n\t/**\n\t * onFocus event callback\n\t * @type {function}\n\t */\n\tonFocus: { schema: { type: 'function' } },\n\n\t/**\n\t * onBlur event callback\n\t * @type {function}\n\t */\n\tonBlur: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyDown event callback\n\t * @type {function}\n\t */\n\tonKeyDown: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyUp event callback\n\t * @type {function}\n\t */\n\tonKeyUp: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyPress event callback\n\t * @type {function}\n\t */\n\tonKeyPress: { schema: { type: 'function' } }\n};\n","import { seismicComponentprops } from './SeismicComponent';\nimport SeismicComponentBase from './SeismicComponentBase';\n\nexport { SeismicControlledFieldProps } from './SeismicControlledFieldProps';\nexport const SeismicComponentProps = seismicComponentprops;\nexport const SeismicComponentFieldPropDefaults = SeismicComponentBase;\n","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const seismicComponentprops = {\n\t/**\n\t * Seismic dispatcher\n\t * @type {function}\n\t */\n\tdispatch: { schema: { type: 'function' } },\n\t/**\n\t * Unique identifier for the component\n\t * @type {string}\n\t * */\n\tcomponentId: { schema: { type: 'string' }, required: true, default: 'id' },\n\t/**\n\t * Data returned by one of the Seismic resource handlers\n\t * @type {object}\n\t * */\n\tresources: { schema: { type: 'object' } },\n\t/**\n\t * Asynchronous Message Bus (AMB) API\n\t * @type {object}\n\t */\n\tchannels: { schema: { type: 'object' } }\n};\n","import { fieldLayoutSchema } from '../schemas';\n\n/**\n * Basic props that are common to seismic components in our repo\n */\nconst seismicProps = {\n\t/**\n\t * Array of message objects that must contain type and message itself.\n\t *\n\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t */\n\tmessages: {},\n\n\t/**\n\t * formData object containing glide form data\n\t *\n\t * @type {object}\n\t */\n\tformData: {},\n\n\t/**\n\t * Name of the field\n\t *\n\t * @type {string}\n\t */\n\tfieldName: { schema: { type: 'string' } },\n\n\t/**\n\t * Name of table this field is on\n\t * @type {string}\n\t */\n\ttableName: { schema: { type: 'string' } },\n\n\t/**\n\t * sys_id of the current record where the field is located\n\t *\n\t * @type {string}\n\t */\n\trecordSysId: { schema: { type: 'string' } },\n\n\t/**\n\t * The field name\n\t * @type {string}\n\t */\n\tname: { schema: { type: 'string' } },\n\n\t/**\n\t * Content to display when there is no suitable display value.\n\t * @type {string}\n\t */\n\tplaceholder: { schema: { type: 'string' } },\n\n\t/**\n\t * Name for the component.\n\t * @type {string}\n\t */\n\tlabel: { schema: { type: 'string' } },\n\n\t/**\n\t * Value for current omponent.\n\t * @type {string}\n\t */\n\tvalue: { schema: { type: 'string' } },\n\n\t/**\n\t * Callback used when the value has changed. Very similar to an `onChange`\n\t * event, but this may also fire when the component formats its value\n\t * onBlur.\n\t *\n\t * @param {object} event - The event payload\n\t * @param {string} event.name - The name of the component that triggered the event\n\t * @param {any}    event.value - The new value for the component\n\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t *\n\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t * @param {string} event.error.type - Error type\n\t * @param {string} event.error.message - Description of why the value is invalid\n\t * @type {function}\n\t */\n\tonValueChange: {},\n\n\t/**\n\t * Callback used when an intermediate value has changed.\n\t * @type {function}\n\t */\n\tonStagedValueChange: {},\n\n\t/**\n\t * Additional content describing the field, usually to provide further\n\t * instruction to the user.\n\t * @type {string}\n\t */\n\tdescription: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Whether or not the user must fill in a value for this component.\n\t * Can be specified as a boolean or the string \"true\"\n\t * @type {string | boolean}\n\t */\n\trequired: { default: false },\n\n\t/**\n\t * Specifies that the user cannot modify the value of the component.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * @type {string | boolean}\n\t */\n\treadonly: { default: false },\n\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\treversed: { default: false },\n\n\t/**\n\t * Specifies whether the current value is not valid.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tinvalid: { default: false },\n\n\t/**\n\t * Causes the component to receive focus as soon as it has finished\n\t * mounting.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tautofocus: { default: false },\n\n\t/**\n\t * Unique name for a shadowDom slot\n\t * @type {string}\n\t */\n\tslot: { schema: { type: 'string' } },\n\n\t/**\n\t * Accessible label for the component. Only needed when the `label` prop is not\n\t * descriptive enough on its own.\n\t * @type {string}\n\t */\n\t'aria-label': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) acts as a label for the component\n\t * @type {string}\n\t */\n\t'aria-labelledby': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) provides more description for the component\n\t * @type {string}\n\t */\n\t'aria-describedby': { schema: { type: 'string' } },\n\n\t/**\n\t * aria-* attribute configuration\n\t * @type {object}\n\t */\n\tconfigAria: {},\n\n\t/**\n\t * Configuration for the field layout.\n\t *\n\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t *\n\t * Object options:\n\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t *\n\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t * @uib.label Field Layout Configuration\n\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t * @uib.fieldType json\n\t */\n\tfieldLayout: {\n\t\tdefault: { layout: 'vertical' },\n\t\tschema: fieldLayoutSchema\n\t},\n\n\tfieldType: { schema: { type: 'string' } },\n\n\t/**\n\t * If set, an iconic button with a popover appears next to the field\n\t * label to display additional hint text to the user, such as\n\t * password requirements or other instructions for completing the field.\n\t * @type {(string|JSX)}\n\t */\n\thelperContent: { schema: { type: 'string' } },\n\t/**\n\t * Whether to show the AI indicator on the field\n\t * @type {boolean}\n\t */\n\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * Whether the field value has been modified\n\t * @type {boolean}\n\t */\n\tisModified: { schema: { type: 'boolean', default: false } }\n};\n\nexport default seismicProps;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"assign\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'assign' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].assign;\n\t\t\t\t\t} else if ('assign' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.assign || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].assign;\n\t\t\t\t}, [\"camelCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t\t} else if ('camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.camelCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t}, [\"chain\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t\t} else if ('chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chain || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t}, [\"chunk\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chunk' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chunk;\n\t\t\t\t\t} else if ('chunk' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chunk || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chunk;\n\t\t\t\t}, [\"clamp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t\t} else if ('clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clamp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t}, [\"clone\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t\t} else if ('clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clone || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t}, [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"compact\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t\t} else if ('compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.compact || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t}, [\"curry\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t\t} else if ('curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.curry || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"];\n\t\t\t\t}, [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"each\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t\t} else if ('each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.each || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t}, [\"escapeRegExp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'escapeRegExp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escapeRegExp;\n\t\t\t\t\t} else if ('escapeRegExp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.escapeRegExp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escapeRegExp;\n\t\t\t\t}, [\"extend\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'extend' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].extend;\n\t\t\t\t\t} else if ('extend' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.extend || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].extend;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findLast\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findLast' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findLast;\n\t\t\t\t\t} else if ('findLast' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findLast || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findLast;\n\t\t\t\t}, [\"first\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t\t} else if ('first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.first || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t}, [\"flatten\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t\t} else if ('flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flatten || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t}, [\"flow\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t\t} else if ('flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flow || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"identity\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'identity' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].identity;\n\t\t\t\t\t} else if ('identity' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.identity || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].identity;\n\t\t\t\t}, [\"inRange\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'inRange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].inRange;\n\t\t\t\t\t} else if ('inRange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.inRange || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].inRange;\n\t\t\t\t}, [\"includes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t\t} else if ('includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.includes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isEqualWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqualWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqualWith;\n\t\t\t\t\t} else if ('isEqualWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqualWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqualWith;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"keyBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keyBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keyBy;\n\t\t\t\t\t} else if ('keyBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keyBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keyBy;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"last\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t\t} else if ('last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.last || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"max\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'max' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].max;\n\t\t\t\t\t} else if ('max' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.max || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].max;\n\t\t\t\t}, [\"memoize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t\t} else if ('memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.memoize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"padStart\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'padStart' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].padStart;\n\t\t\t\t\t} else if ('padStart' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.padStart || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].padStart;\n\t\t\t\t}, [\"parseInt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t\t} else if ('parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.parseInt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"pickBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t\t} else if ('pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pickBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"reduceRight\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduceRight' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduceRight;\n\t\t\t\t\t} else if ('reduceRight' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduceRight || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduceRight;\n\t\t\t\t}, [\"reject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reject;\n\t\t\t\t\t} else if ('reject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reject;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t}, [\"tail\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'tail' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].tail;\n\t\t\t\t\t} else if ('tail' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.tail || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].tail;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t}, [\"toString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t\t} else if ('toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t}, [\"unescape\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'unescape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unescape;\n\t\t\t\t\t} else if ('unescape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.unescape || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unescape;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"values\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t\t} else if ('values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.values || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t}, [\"without\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'without' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].without;\n\t\t\t\t\t} else if ('without' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.without || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].without;\n\t\t\t\t}, [\"xor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t\t} else if ('xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.xor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t} });","import _ from 'lodash';\nexport function escapeSeismicSpecialSymbols(s) {\n\treturn _.startsWith(s, '@') ? `\\\\${s}` : s;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getEmbeddableBaseUrl\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.__esModule\n\t\t\t\t\tif (cjsModule && 'getEmbeddableBaseUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"].getEmbeddableBaseUrl;\n\t\t\t\t\t} else if ('getEmbeddableBaseUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.getEmbeddableBaseUrl || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"].getEmbeddableBaseUrl;\n\t\t\t\t} });","import {\n\tcamelCase,\n\tmap,\n\tmapValues,\n\trange,\n\tisObject,\n\tisEmpty,\n\tfind,\n\tpickBy,\n\tidentity,\n\tomit,\n\tget,\n\tisNil\n} from 'lodash';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\nimport { getEmbeddableBaseUrl } from '@servicenow/ui-config';\n\nexport function getFieldDisplayValue(\n\tvalue,\n\tdisplayValue,\n\tplaceholder,\n\tchoices\n) {\n\tif (displayValue) {\n\t\treturn displayValue;\n\t} else if (value && choices) {\n\t\tlet choice = find(choices, { value });\n\t\tif (choice && choice.displayValue) return choice.displayValue;\n\t} else if (!value && placeholder) {\n\t\treturn placeholder;\n\t}\n\n\treturn value || '';\n}\n\nexport function isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport function isAttrFalse(val) {\n\treturn val === false || val === 'false';\n}\n\nexport function castIfBoolean(val) {\n\treturn val === 'true' ? true : val === 'false' ? false : val;\n}\n\nexport function isEditable(props) {\n\tif (!isObject(props)) {\n\t\treturn true;\n\t}\n\n\treturn !isAttrTrue(props.readonly);\n}\n\nexport function getSerializedChanges(props) {\n\tconst { dependentField, dependentValue } = props;\n\tconst serializedChanges = get(props, 'formData.serializedChanges');\n\ttry {\n\t\tconst changedFields = JSON.parse(serializedChanges);\n\t\tlet changes = changedFields.reduce((changes, field) => {\n\t\t\tchanges[field.name] = field.value;\n\t\t\treturn changes;\n\t\t}, {});\n\t\tif (dependentField && dependentValue) {\n\t\t\t//Dont overwrite formData, it should take precedence over d-Field & d-Value\n\t\t\tchanges[dependentField] = changes[dependentField]\n\t\t\t\t? changes[dependentField]\n\t\t\t\t: dependentValue;\n\t\t}\n\t\treturn JSON.stringify(changes);\n\t} catch (e) {\n\t\treturn '';\n\t}\n}\n\nexport function getEncodedRecord(formData = {}) {\n\treturn formData.isNewRecord ? formData.encodedRecord : '';\n}\n\nexport function isClassicForm(formData = {}) {\n\tif (!Object.prototype.hasOwnProperty.call(formData, 'classicForm'))\n\t\treturn true;\n\treturn formData.classicForm || false;\n}\n\nexport function generateSubComponentIds(baseId, additionalFields) {\n\treturn {\n\t\tparent: baseId,\n\t\tlabel: `${baseId}-label`,\n\t\tdescription: `${baseId}-description`,\n\t\tdropdown: `${baseId}-dropdown`,\n\t\tmessages: `${baseId}-messages`,\n\t\t...mapValues(additionalFields, (size, fieldName) =>\n\t\t\tmap(range(0, size), index => `${baseId}-${fieldName}-${index}`)\n\t\t)\n\t};\n}\n\nexport function hasProp(prop) {\n\treturn isAttrTrue(prop) ? true : undefined;\n}\n\nconst getAriaAttr = props => attr => {\n\tconst camelCased = camelCase(attr);\n\n\tconst { configAria = {} } = props;\n\n\treturn configAria[attr] || props[camelCased];\n};\n\nexport function accessibilityAttributes(props) {\n\tif (!isObject(props)) {\n\t\treturn {};\n\t}\n\n\tconst ids = generateSubComponentIds(props.componentId);\n\tconst defaultDescribedby = classNames({\n\t\t[ids.description]: props.description,\n\t\t[ids.messages]: !isEmpty(props.messages)\n\t});\n\n\tconst resolveAriaAttr = getAriaAttr(props);\n\n\tconst propAriaLabel = resolveAriaAttr('aria-label');\n\tconst propAriaLabelledby = resolveAriaAttr('aria-labelledby');\n\tconst propAriaDescribedby = resolveAriaAttr('aria-describedby');\n\tconst propAriaDisabled = resolveAriaAttr('aria-disabled');\n\tconst propAriaHidden = resolveAriaAttr('aria-hidden');\n\tconst propAriaRequired = resolveAriaAttr('aria-required');\n\tconst propAriaInvalid = resolveAriaAttr('aria-invalid');\n\n\tconst restOfAriaProps = mapValues(\n\t\tomit(props.configAria, ['aria-label', 'aria-labelledby', 'aria-label']),\n\t\t(v, k) => resolveAriaAttr(k)\n\t);\n\n\treturn pickBy(\n\t\t{\n\t\t\t'aria-labelledby': propAriaLabel ? null : propAriaLabelledby,\n\t\t\t'aria-describedby': propAriaDescribedby || defaultDescribedby,\n\t\t\t'aria-label': propAriaLabel,\n\t\t\t'aria-disabled':\n\t\t\t\tpropAriaDisabled || isAttrTrue(props.disabled) ? 'true' : null,\n\t\t\t'aria-hidden': propAriaHidden || isAttrTrue(props.hide) ? 'true' : null,\n\t\t\t'aria-required':\n\t\t\t\tpropAriaRequired || isAttrTrue(props.required) ? 'true' : null,\n\t\t\t'aria-invalid':\n\t\t\t\tpropAriaInvalid || isAttrTrue(props.invalid) ? 'true' : null,\n\t\t\t...restOfAriaProps\n\t\t},\n\t\tidentity\n\t);\n}\n\nexport function isFieldEditableAndDependentFieldValueSet(\n\treadonly,\n\tdependentFieldValue,\n\tdependentFieldLabel\n) {\n\treturn (\n\t\t!isAttrTrue(readonly) &&\n\t\tisEmpty(dependentFieldValue) &&\n\t\t!isEmpty(dependentFieldLabel)\n\t);\n}\n\nexport function getBaseURL() {\n\treturn getEmbeddableBaseUrl() || '';\n}\n\nexport function getAriaLabelFromConfig(\n\tconfigAria,\n\tlabelTemplate,\n\t...additionalTemplateValues\n) {\n\treturn configAria?.['aria-label']\n\t\t? {\n\t\t\t\t'aria-label': t.apply(null, [\n\t\t\t\t\tlabelTemplate,\n\t\t\t\t\tconfigAria['aria-label'],\n\t\t\t\t\t...additionalTemplateValues\n\t\t\t\t])\n\t\t\t}\n\t\t: {};\n}\n\nexport const hasErrorMessage = messages => {\n\tif (!Array.isArray(messages)) {\n\t\treturn false;\n\t}\n\treturn messages.some(message => message.type === 'error');\n};\n\n/**\n * Checks if a value has been modified compared to its original value\n * @param {any} originalValue - The original value to compare against\n * @param {any} newValue - The new value to compare\n * @returns {boolean} - Returns true if the value was modified\n */\nexport const isModified = function (\n\toriginalValue,\n\tnewValue,\n\tisBoolean = false\n) {\n\tif (isBoolean) {\n\t\treturn isAttrTrue(originalValue) !== isAttrTrue(newValue);\n\t}\n\t// Convert true values to empty strings for comparison\n\tconst parsedValue = newValue === true ? '' : newValue;\n\tconst parsedOriginalValue = originalValue === true ? '' : originalValue;\n\n\treturn isNil(parsedOriginalValue)\n\t\t? !isNil(parsedValue)\n\t\t: parsedOriginalValue !== parsedValue;\n};\n\nexport function shouldShowUnsavedIndicator(properties) {\n\tconst originalValue = properties.originalValue;\n\tconst newValue = !isNil(properties.initialValue)\n\t\t? properties.initialValue\n\t\t: properties.value;\n\tconst isUnsavedIndicatorEnabled =\n\t\tproperties?.formData?.enableUnsavedFieldIndicator || false;\n\n\tconst isBoolean = properties.fieldType === 'boolean';\n\n\treturn (\n\t\tisUnsavedIndicatorEnabled && isModified(originalValue, newValue, isBoolean)\n\t);\n}\nexport const isDirty = properties => {\n\tconst originalValue = properties.originalValue;\n\tconst newValue = !isNil(properties.initialValue)\n\t\t? properties.initialValue\n\t\t: properties.value;\n\tconst isBoolean = properties.fieldType === 'boolean';\n\treturn isModified(originalValue, newValue, isBoolean);\n};\n","import { escapeSeismicSpecialSymbols } from './escapeSeismicSpecialSymbols';\nimport { getSerializedChanges, getEncodedRecord } from './field';\n\nexport const getDeclarativeActionsProps = (daProps, controlProps = {}) => {\n\tlet props = daProps;\n\tif (controlProps && props) {\n\t\tObject.assign(props, controlProps);\n\t}\n\tif (!props) return {};\n\n\tconst displayValue = props.displayValue || '';\n\n\tconst daOnlyProps = {\n\t\tcanWrite: props.canWrite,\n\t\tdeclarativeUiActions: props.declarativeUiActions,\n\t\tdependentField: props.dependentField,\n\t\tdependentTable: props.dependentTable,\n\t\tdependentValue: props.dependentFieldValue || props.dependentValue,\n\t\tdictionary: props.dictionary,\n\t\tdisplayValue: escapeSeismicSpecialSymbols(displayValue.toString()),\n\t\tdisplayValueList: Array.isArray(displayValue) ? displayValue : null,\n\t\tfetchDeclarativeActions: props.fetchDeclarativeActions,\n\t\tfieldName: props.name,\n\t\tfieldType: props.fieldType,\n\t\tfields: props.fields,\n\t\thidden: props.hidden,\n\t\tlabel: props.label,\n\t\tname: props.name,\n\t\tonValueChange: props.onValueChange,\n\t\treadonly: props.readonly,\n\t\treference: props.reference,\n\t\treferenceKey: props.referenceKey,\n\t\treferenceSysId: props.referenceSysId || props.value,\n\t\treferenceTable: props.reference || props.referenceTable,\n\t\treferringRecordId: props.referringRecordId,\n\t\treferringTable: props.referringTable,\n\t\trequired: props.required,\n\t\ttableName: props.referringTable || props.tableName,\n\t\tvalue: props.value,\n\t\tvisible: props.visible,\n\t\treferenceQualifier: props.referenceQualifier,\n\t\trecordSysId: controlProps?.formData?.isNewRecord\n\t\t\t? '-1'\n\t\t\t: props.referringRecordId || props.recordSysId,\n\t\tserializedChanges: getSerializedChanges(props),\n\t\tencodedRecord: getEncodedRecord(controlProps.formData),\n\t\tignoreDepAsRefQual: daProps?.ignoreDepAsRefQual || false,\n\t\tignoreReferenceQualifier: daProps?.ignoreReferenceQualifier || false\n\t};\n\n\treturn daOnlyProps;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_2_1_znowassist_0_index_jsdbx_f52dcce2__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","import { isEmpty, isFunction, some } from 'lodash';\nimport { getFocusableNodes } from '@servicenow/behavior-focus';\n\n/**\n * Returns the first ancestor of the element that has the given class name\n */\nexport function findAncestor(el, className) {\n\tif (!(el instanceof HTMLElement)) {\n\t\treturn null;\n\t}\n\n\tif (!el.classList.contains(className)) {\n\t\twhile ((el = el.parentElement) && !el.classList.contains(className));\n\t}\n\treturn el;\n}\n\n/**\n * Check whether a node was part of an event path\n * @returns {boolean} true if the event path includes the node\n */\nexport function isNodeInEventPath(node, event) {\n\tif (Array.isArray(node))\n\t\treturn some(node, el => isNodeInEventPath(el, event));\n\treturn (\n\t\tnode instanceof HTMLElement &&\n\t\tevent instanceof Event &&\n\t\tevent.composedPath().includes(node)\n\t);\n}\n\n/**\n * Check whether a node contains an element with focus. ShadowDOM\n * makes this a little tricky...\n */\nexport function nodeContainsFocus(container, target = document) {\n\tif (Array.isArray(container)) {\n\t\treturn some(container, el => nodeContainsFocus(el, target));\n\t}\n\n\tif (!(container instanceof HTMLElement) || !target) {\n\t\treturn false;\n\t}\n\n\tconst activeElement = target.activeElement;\n\n\tif (container.contains(activeElement)) {\n\t\treturn true;\n\t}\n\n\tif (activeElement.shadowRoot) {\n\t\treturn nodeContainsFocus(container, activeElement.shadowRoot);\n\t}\n}\n\nexport const isSlotEmpty = slot => {\n\tconst hasNoDirectChildren = slot.childElementCount === 0;\n\n\treturn isFunction(slot.assignedNodes)\n\t\t? isEmpty(slot.assignedNodes()) && hasNoDirectChildren\n\t\t: hasNoDirectChildren;\n};\n\nexport function getScrollParent(node) {\n\tconst isElement = node instanceof HTMLElement;\n\tconst overflowY = isElement && window.getComputedStyle(node).overflowY;\n\tconst isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n\tif (!node) {\n\t\treturn null;\n\t} else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n\t\treturn node;\n\t}\n\n\treturn getScrollParent(node.host || node.parentNode);\n}\n\nexport function fitDropdownToViewport(dropdown, target) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tlet parentHeight = document.documentElement.clientHeight;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height } = dropdown.getBoundingClientRect();\n\t\t\t// Sometimes we use graphql requests and that changes the height of the\n\t\t\t// dropdown this is to attempt to account for the size chagne\n\t\t\tconst MAX_DROPDOWN_HEIGHT = Math.min(height, 300);\n\t\t\tlet {\n\t\t\t\twidth: targetWidth,\n\t\t\t\ttop: targetTop,\n\t\t\t\tbottom: targetBottom,\n\t\t\t\tleft: targetLeft\n\t\t\t} = target.getBoundingClientRect();\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tconst hasSpaceBelow = targetBottom + MAX_DROPDOWN_HEIGHT < parentHeight;\n\t\t\tconst hasSpaceAbove = targetTop - MAX_DROPDOWN_HEIGHT > 0;\n\t\t\t//render above\n\t\t\tif (!hasSpaceBelow && hasSpaceAbove) {\n\t\t\t\t// Since height of the dropdown may change as results load,\n\t\t\t\t// set the bottom of the dropdown to ensure it loads above the input field\n\t\t\t\tdropdown.style.bottom = `${parentHeight - targetTop}px`;\n\t\t\t} else {\n\t\t\t\tdropdown.style.top = `${targetBottom}px`;\n\t\t\t}\n\n\t\t\tdropdown.style.width = `${targetWidth}px`;\n\t\t\tdropdown.style.left = `${targetLeft}px`;\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n// Workaround for PRB1343271 for mentions dropdown\nexport function fitDropdownToViewportOld(dropdown) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\t// Check if the element is in a scrollable container, otherwise use body\n\tconst scrollParent = getScrollParent(dropdown);\n\tlet parentHeight = document.documentElement.clientHeight;\n\tif (scrollParent) parentHeight = scrollParent.getBoundingClientRect().height;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height, top } = dropdown.getBoundingClientRect();\n\t\t\tif (scrollParent) top = top - scrollParent.getBoundingClientRect().top;\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tif (height > parentHeight - top && top > height) {\n\t\t\t\tdropdown.style.top = 'auto';\n\t\t\t\tdropdown.style.bottom = '100%';\n\t\t\t}\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n/**\n * Can be used to determine the direction of the browser window\n * and then for components rendering direction\n * @returns {boolean}\n */\nexport function isRTL() {\n\treturn document.dir === 'rtl';\n}\n\n/**\n * Checks whether a node contains an element with selector inside a Shadow Dom\n * and then returns the element\n * @returns {HTMLElement}\n */\nexport const querySelectorDeep = (selector, rootEl = window.document.body) => {\n\tif (rootEl.matches && rootEl.matches(selector)) return rootEl;\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector))\n\t\t\t\treturn children[i];\n\n\t\t\tconst child = querySelectorDeep(selector, children[i]);\n\t\t\tif (child) return child;\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot)\n\t\treturn querySelectorDeep(selector, rootEl.shadowRoot);\n\n\treturn null;\n};\n\n/**\n * Focuses on the field when multiple focussable elements are present in the host\n */\nexport const fieldFocusHandler = (tagName = 'INPUT') => host => {\n\tconst { tabbableNodes=[] } = getFocusableNodes(host);\n\tconst nativeInputNode = tabbableNodes.filter(node => node.tagName === tagName);\n\tif (nativeInputNode.length) {\n\t\tnativeInputNode[0].focus();\n\t}\n};\n","/**\n * Cycles the elements in an array\n *\n * e.g.:\n * cycle([0, 1, 2, 3], 2) => [2, 3, 0, 1]\n */\nexport function cycle(array, n) {\n\tif (!Array.isArray(array)) {\n\t\treturn [];\n\t}\n\n\tif (n === 0 || n === array.length) {\n\t\treturn array;\n\t}\n\n\tconst startingPoint = -n % array.length;\n\n\treturn array.slice(startingPoint).concat(array.slice(0, startingPoint));\n}\n\n/**\n * Real modulo operation `%` is just a remainder operator\n * and does weird things with negative values\n */\nexport function mod(n, m) {\n\treturn ((n % m) + m) % m;\n}\n","/*\nMostly a copy from `dev/emotive-design-system` repo\nemotive-design-system/ui/dropdown/src/outside-scroll.js we should come\nup with a way to share.\n*/\nconst hostToScrollData = new WeakMap();\n\n/**\n * Cleans up all scroll listeners created for the given host element.\n * @param {HTMLElement} host\n */\nexport const removeOutsideScrollListener = host => {\n\tif (hostToScrollData.has(host)) {\n\t\tconst { listener, targets } = hostToScrollData.get(host);\n\t\tfor (let target of targets) {\n\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t}\n\t\twindow.removeEventListener('scroll', listener, true);\n\t\thostToScrollData.delete(host);\n\t}\n};\n\n\n/**\n * Attaches a listener to the window, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {HTMLElement} element\n * @param {string} uuid\n */\nconst findAncestors = (element, uuid) =>\n\tnew Promise(resolve => {\n\t\tconst eventName = `findAncestors-${uuid}`;\n\t\tconst findListener = e => {\n\t\t\twindow.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath ? e.composedPath() : e.path;\n\t\t\tresolve([\n\t\t\t\t...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE),\n\t\t\t\tdocument,\n\t\t\t\twindow\n\t\t\t]);\n\t\t};\n\t\twindow.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n\n/**\n * Attaches scroll listeners to the document, the window, and all ancestor elements\n * of the given host element that have shadow roots (because scroll events do not automatically\n * bubble through shadow boundaries). When any of the scroll listeners are fired, triggers\n * the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport const addOutsideScrollListener = async (host, callback) => {\n\tconst componentId = host.getAttribute('component-id');\n\tconst ancestors = await findAncestors(host, componentId);\n\tconst targets = ancestors.filter(el => !!el.shadowRoot);\n\tlet handled = false;\n\tconst listener = e => {\n\t\tif (handled) {\n\t\t\treturn;\n\t\t}\n\t\tconst [source] = e.composedPath ? e.composedPath() : e.path;\n\t\tif (ancestors.indexOf(source) > -1) {\n\t\t\thandled = true;\n\t\t\tremoveOutsideScrollListener(host);\n\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t}\n\t};\n\tfor (let target of targets) {\n\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t}\n\twindow.addEventListener('scroll', listener, true);\n\thostToScrollData.set(host, { listener, targets });\n};","/**\n * Return the direction of selection if the SHIFT key is used\n * @param {string} key The pressed key identifier.\n * @param {boolean} shift Boolean that indicates wheter or not shift was held.\n * @param {string} shiftDirection current state of shift direction\n */\nfunction getShiftDirection(key, shift, shiftDirection) {\n\t// If the shift button is being used...\n\tif (shift) {\n\t\t// ...and we have do not have a direction already set, set the direction\n\t\tif (shiftDirection === '') {\n\t\t\treturn key;\n\n\t\t\t// ...otherwise return the currently set direction\n\t\t} else {\n\t\t\treturn shiftDirection;\n\t\t}\n\n\t\t// ...otherwise set the direction state to blank.\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * Return a list of indexes for selected items from keyboard arrow key inputs.\n * @param {string} key The pressed key identifier.\n * @param {boolean} shift Boolean that indicates wheter or not shift was held.\n * @param {string} shiftDirection Parameter for the shift direction.\n * @param {array} selectedItems The array of currently selected item indexes.\n * @param {integer} numberOfItems Total number of items available.\n * @return {array} Mutated selectedItems array.\n */\nfunction getSelectedItems(\n\tkey,\n\tshift,\n\tshiftDirection,\n\tselectedItems,\n\tnumberOfItems\n) {\n\tswitch (key) {\n\t\tcase 'ArrowUp':\n\t\t\treturn getForwardListSelection(\n\t\t\t\tfalse,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowDown',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowDown':\n\t\t\treturn getForwardListSelection(\n\t\t\t\ttrue,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowUp',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowLeft':\n\t\t\treturn getReverseListSelection(\n\t\t\t\ttrue,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowRight',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowRight':\n\t\t\treturn getReverseListSelection(\n\t\t\t\tfalse,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowLeft',\n\t\t\t\ttrue\n\t\t\t);\n\n\t\tdefault:\n\t\t\treturn [];\n\t}\n}\n\n/**\n * Generic utility for selecting items in a list going from the beginning\n * @param {boolean} isForward flag if we are traversing the list forward or back.\n * @param {number} numberOfItems total amount of items in the list we are traversing.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {boolean} isAccumulating flag if we are accumulating indexes or replacing them.\n * @param {boolean} isAccumulativeDirection flag if we are accumulating in the same direction as when started.\n * @param {boolean} allowNoSelection flag to allow clearing selection\n * @return {array} new array of selected indexes.\n */\nfunction getForwardListSelection(\n\tisForward,\n\tnumberOfItems,\n\tcurrentlySelectedIndexes,\n\tisAccumulating,\n\tisAccumulativeDirection,\n\tallowNoSelection\n) {\n\tlet numberSelected = currentlySelectedIndexes.length,\n\t\tfirstItem = currentlySelectedIndexes[0],\n\t\tlastItem = currentlySelectedIndexes[currentlySelectedIndexes.length - 1],\n\t\tselectedItems = currentlySelectedIndexes.slice(0); // clone the array so we're not mutating anything.\n\n\tif (numberOfItems <= 0) {\n\t\treturn [-1];\n\t}\n\t// If we are moving down the list...\n\tif (isForward) {\n\t\t// ...and nothing had been selected, return the first item\n\t\tif (numberSelected == 0) {\n\t\t\treturn [0];\n\t\t} else {\n\t\t\t// ...otherwise there is something has been selected...\n\t\t\t// ...and the list is not accumulating...\n\t\t\tif (!isAccumulating) {\n\t\t\t\t// ... and we're not on the last item already, select the next item\n\t\t\t\tif (lastItem != numberOfItems - 1) return [lastItem + 1];\n\t\t\t\telse {\n\t\t\t\t\t// ... otherwise if we already do have the last item selected\n\t\t\t\t\t// ...and we allow clearing selection, then we return an empty selection\n\t\t\t\t\tif (allowNoSelection) return [];\n\t\t\t\t\t// ...otherwise we return the last item\n\t\t\t\t\telse return [lastItem];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// ...or the list is accumulating...\n\t\t\t\t//...and I'm moving in the same direction as when I started\n\t\t\t\tif (isAccumulativeDirection) {\n\t\t\t\t\t//...and we're have not selected the last item, append next item to my selected list\n\t\t\t\t\tif (lastItem != numberOfItems - 1) selectedItems.push(lastItem + 1);\n\n\t\t\t\t\t// ...otherwise if we aren't moving in the same direction, but we have multiple items selected, remove an item\n\t\t\t\t} else if (numberSelected > 1) {\n\t\t\t\t\tselectedItems.shift();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//...\n\t} else {\n\t\t// If we are moving up the list...\n\t\t// ...and there items in the list...\n\t\tif (numberSelected > 0) {\n\t\t\t// ...and the list is not accumulating...\n\t\t\tif (!isAccumulating) {\n\t\t\t\t// ...and we've already selected the first item\n\n\t\t\t\tif (firstItem === 0) {\n\t\t\t\t\t// ...and we allow clearing selection, then we return an empty selection\n\t\t\t\t\tif (allowNoSelection) return [];\n\t\t\t\t\t// ...otherwise we return the first item\n\t\t\t\t\telse return [firstItem];\n\t\t\t\t} else {\n\t\t\t\t\tif (firstItem < 0)\n\t\t\t\t\t\t// if the first item is already -1 return it\n\t\t\t\t\t\treturn [firstItem];\n\t\t\t\t\t// ...otherwise return the previous item\n\t\t\t\t\telse return [firstItem - 1];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// ...otherwise if we are accumulating selections...\n\t\t\t\t// ...in the same direction as the current selection...\n\t\t\t\tif (isAccumulativeDirection) {\n\t\t\t\t\t// ...and the first item is not selected, add the previous item into the beginning of the selection\n\t\t\t\t\tif (firstItem !== 0) {\n\t\t\t\t\t\tselectedItems.unshift(firstItem - 1);\n\t\t\t\t\t}\n\t\t\t\t} else if (numberSelected > 1) {\n\t\t\t\t\t// ...and we're not moving in the same direction, but have multiple items selected, remote the last index\n\t\t\t\t\tselectedItems.pop();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn selectedItems;\n}\n\n/**\n * Generic utility for selecting items in a list going from the end. Since the logic is the same, but the direction is opposite,\n * we can just reuse the getForwardListSelection logic, but just reversing the currentSelectionIndexes.\n * @param {boolean} isForward flag if we are traversing the list forward or back.\n * @param {number} numberOfItems total amount of items in the list we are traversing.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {boolean} isAccumulating flag if we are accumulating indexes or replacing them.\n * @param {boolean} isAccumulativeDirection flag if we are accumulating in the same direction as when started.\n * @param {boolean} allowNoSelection flag to allow clearing selection\n * @return {array} new array of selected indexes.\n */\nfunction getReverseListSelection(\n\tisForward,\n\tnumberOfItems,\n\tcurrentlySelectedIndexes,\n\tisAccumulating,\n\tisAccumulativeDirection,\n\tallowNoSelection\n) {\n\t// Reverse the current indexes\n\tlet reversedSelection = reverseSelection(\n\t\tcurrentlySelectedIndexes,\n\t\tnumberOfItems\n\t);\n\n\t// Get the new selection list from getForwardListSelection\n\tlet reversedList = getForwardListSelection(\n\t\tisForward,\n\t\tnumberOfItems,\n\t\treversedSelection,\n\t\tisAccumulating,\n\t\tisAccumulativeDirection,\n\t\tallowNoSelection\n\t);\n\n\t// Reverse the new list again to get the actual selection\n\tlet newSelection = reverseSelection(reversedList, numberOfItems);\n\n\treturn newSelection;\n}\n\n/**\n * utility that reverses the selection indexes array.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {integer} numberOfItems Total number of items available.\n * @return {array} new array of reversed indexes.\n */\nfunction reverseSelection(currentlySelectedIndexes, numberOfItems) {\n\tif (!Array.isArray(currentlySelectedIndexes)) {\n\t\tthrow Error('Valid source index array must be passed in.');\n\t}\n\n\tlet numberSelected = currentlySelectedIndexes.length,\n\t\tlastItem = currentlySelectedIndexes[currentlySelectedIndexes.length - 1];\n\n\tif (\n\t\tnumberSelected === 0 ||\n\t\t!numberOfItems ||\n\t\ttypeof numberOfItems !== 'number' ||\n\t\tnumberOfItems < 1\n\t)\n\t\treturn [];\n\tlet firstItem = numberOfItems - 1 - lastItem,\n\t\treversedSelection = [firstItem];\n\tfor (let i = 1; i < numberSelected; i++) {\n\t\treversedSelection.push(firstItem + i);\n\t}\n\treturn reversedSelection;\n}\n\nexport {\n\tgetShiftDirection,\n\tgetSelectedItems,\n\tgetForwardListSelection,\n\tgetReverseListSelection,\n\treverseSelection\n};\n","export const parseArabic = value =>\n\ttypeof value === 'string'\n\t\t? value\n\t\t\t\t.replace(/[\\u0660-\\u0669]/g, d => {\n\t\t\t\t\treturn d.charCodeAt(0) - 1632; // Convert Arabic numbers\n\t\t\t\t})\n\t\t\t\t.replace(/[\\u06F0-\\u06F9]/g, d => {\n\t\t\t\t\treturn d.charCodeAt(0) - 1776; // Convert Persian numbers\n\t\t\t\t})\n\t\t: value;\n\nexport const parseHebrew = value => {\n\treturn value.replace(/\\u200f/g, '').trim();\n};\n\n/**\n * Determines the thousand and decimal separators based on the specified locale.\n * Utilizes the `Intl.NumberFormat` API to format numbers and extract the separators.\n *\n * @param {string} locale - The locale identifier (e.g., 'en-US', 'fr-FR').\n * @returns {Object} An object containing the thousand and decimal separators.\n */\nexport function getLocaleNumberSeparators(locale) {\n\t// Determine the thousand and decimal separators based on the locale\n\tconst numberFormatter = new Intl.NumberFormat(locale);\n\tconst thousandSeparator = numberFormatter\n\t\t.format(11111)\n\t\t.replace(/\\p{Number}/gu, '');\n\tconst decimalSeparator = numberFormatter\n\t\t.format(1.1)\n\t\t.replace(/\\p{Number}/gu, '');\n\treturn { thousandSeparator, decimalSeparator };\n}\n\n/**\n * @desc: This function cleans a given string by retaining only specific characters.\n *        It keeps digits, letters (both uppercase and lowercase), hyphens, the specified decimal separator,\n *        and Eastern Arabic numerals.\n * @param {string} num - The string to be cleaned.\n * @param {string} decimalSeparator - The character used as the decimal separator.\n * @returns {string} - The cleaned string containing only the allowed characters.\n */\nexport function formatClean(num, decimalSeparator) {\n\tconst regexPattern = new RegExp(\n\t\t`[0-9A-Za-z\\\\-\\\\${decimalSeparator}\\\\u0660-\\\\u0669]`,\n\t\t'g'\n\t);\n\n\t// Match and join allowed characters, return an empty string if no matches\n\tconst cleanedChars = num.match(regexPattern) || [];\n\n\treturn cleanedChars.join('');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring analyticsconsumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nexport function is(x, y) {\n\t// SameValue algorithm\n\tif (x === y) {\n\t\t// Steps 1-5, 7-10\n\t\t// Steps 6.b-6.e: +0 != -0\n\t\t// Added the nonzero y check to make Flow happy, but it is redundant\n\t\treturn x !== 0 || y !== 0 || 1 / x === 1 / y;\n\t} else {\n\t\t// Step 6.a: NaN == NaN\n\t\treturn x !== x && y !== y;\n\t}\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nexport function shallowEqual(objA, objB) {\n\tif (is(objA, objB)) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\ttypeof objA !== 'object' ||\n\t\tobjA === null ||\n\t\ttypeof objB !== 'object' ||\n\t\tobjB === null\n\t) {\n\t\treturn false;\n\t}\n\n\tconst keysA = Object.keys(objA);\n\tconst keysB = Object.keys(objB);\n\n\tif (keysA.length !== keysB.length) {\n\t\treturn false;\n\t}\n\n\t// Test for A's keys different from B.\n\tfor (let i = 0; i < keysA.length; i++) {\n\t\tif (\n\t\t\t!hasOwnProperty.call(objB, keysA[i]) ||\n\t\t\t!is(objA[keysA[i]], objB[keysA[i]])\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"createSlot\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createSlot' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createSlot;\n\t\t\t\t\t} else if ('createSlot' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createSlot || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createSlot;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const FIELD_MESSAGE_TYPES = [\n\t'error',\n\t'warning',\n\t'success',\n\t'liveUpdate',\n\t'info',\n\t'suggestion',\n\t'positive',\n\t'critical'\n];\nexport const CALLBACK_AND_DISPATCH = 'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH';\nexport const CALLBACK_AND_DISPATCH_WITH_STATE =\n\t'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH_WITH_STATE';\nexport const NOW_INPUT = {\n\tVALUE_SET: 'NOW_INPUT#VALUE_SET',\n\tINVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tINPUT: 'NOW_INPUT#INPUT'\n};\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const TRACK_RECOMMENDATION_CLICK =\n\t'Selected option from Recommendations section';\n\nexport const FIELD_RECOMMENDATION_INFORMATION =\n\t'Field Recommendation information';\nexport const NO_PREDICTIONS_AVAILABLE = t('No predictions available');\n\nexport const SUGGESTION_PREFIX = 'suggestion#';\nexport const CUSTOM_PILL_PREFIX = 'custom_pill#';\n","import { isEmpty, reduce, isArray } from 'lodash';\nimport { FIELD_MESSAGE_TYPES } from '../constants';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst getMessages = (type, messages) =>\n\tmessages.map(message => {\n\t\tlet status, icon;\n\t\tswitch (type) {\n\t\t\tcase 'info':\n\t\t\tcase 'success':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'info-circle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'error':\n\t\t\tcase 'critical':\n\t\t\t\tstatus = 'critical';\n\t\t\t\ticon = 'circle-exclamation-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tstatus = 'warning';\n\t\t\t\ticon = 'exclamation-triangle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'liveUpdate':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'heartbeat-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'positive':\n\t\t\t\tstatus = 'positive';\n\t\t\t\ticon = 'circle-check-outline';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstatus = 'suggestion';\n\t\t\t\ticon = 'lightbulb-outline';\n\t\t\t\tbreak;\n\t\t}\n\t\treturn {\n\t\t\tstatus,\n\t\t\ticon,\n\t\t\tcontent: message\n\t\t};\n\t});\n\nconst getLiveUpdateMessage = liveUpdate => {\n\tlet message;\n\tif (liveUpdate.isUserModified) {\n\t\tlet newValue = liveUpdate.newValue;\n\t\tif (newValue) {\n\t\t\tnewValue = (\n\t\t\t\t<strong>\n\t\t\t\t\t<i>{newValue}<\/i>\n\t\t\t\t<\/strong>\n\t\t\t);\n\t\t\t// Show the value that changed\n\t\t\tmessage = t('{{name}} has set this field to {{value}}')\n\t\t\t\t.replace('{name}', liveUpdate.userName)\n\t\t\t\t.replace('{value}', ''); // Use the cached message containing value but remove the token so we can append html.\n\t\t\tmessage = (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{/* `message` already has a trailing space, don't need another one here */}\n\t\t\t\t\t{message}\n\t\t\t\t\t{newValue}\n\t\t\t\t<\/Fragment>\n\t\t\t);\n\t\t} else {\n\t\t\t// Say the value was cleared\n\t\t\tmessage = t('{{name}} has cleared the value of this field').replace(\n\t\t\t\t'{name}',\n\t\t\t\tliveUpdate.userName\n\t\t\t);\n\t\t}\n\t} else {\n\t\tmessage = t('{{name}} has modified this field value').replace(\n\t\t\t'{name}',\n\t\t\tliveUpdate.userName\n\t\t);\n\t}\n\treturn message;\n};\n\nconst parsedFieldMessages = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tmessage = message.getMessage ? getLiveUpdateMessage(message) : message;\n\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\nexport const transformMessages = messages => {\n\tif (!messages || messages.length == 0) return [];\n\n\tconst messageMap = parsedFieldMessages(messages);\n\n\treturn [].concat(\n\t\t...reduce(\n\t\t\tFIELD_MESSAGE_TYPES,\n\t\t\t(elements, type) => {\n\t\t\t\tif (messageMap[type]) {\n\t\t\t\t\telements.push(getMessages(type, messageMap[type]));\n\t\t\t\t}\n\n\t\t\t\treturn elements;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n};\n\nexport const pushInfoMessageForDependentFields = (messages, label) => {\n\tconst message = t('Select a {0} before modifying this field.', label);\n\treturn [\n\t\t...messages,\n\t\t{\n\t\t\ttype: 'info',\n\t\t\tmessage\n\t\t}\n\t];\n};\n\nexport const transformDescriptionAndMessages = (description, messages) =>\n\tdescription\n\t\t? [{ content: description }, ...transformMessages(messages)]\n\t\t: transformMessages(messages);\n\n// gets content of all the messages combined as a string from the messages array\nexport const getFormFieldMessagesContent = messages => {\n\tif (Array.isArray(messages) && messages.length) {\n\t\treturn messages\n\t\t\t.map(message => {\n\t\t\t\tif (Array.isArray(message.content)) {\n\t\t\t\t\t// message.content is an array in case of liveUpdate message when liveUpdate.isUserModified is true\n\t\t\t\t\t// and newValue is not empty\n\t\t\t\t\tconst [textContent, valueContent] = message.content;\n\t\t\t\t\tconst value = valueContent?.children?.[0]?.children?.[0]?.text || '';\n\t\t\t\t\treturn textContent + value;\n\t\t\t\t}\n\n\t\t\t\treturn message.content;\n\t\t\t})\n\t\t\t.join(' ');\n\t}\n\treturn '';\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t} });","import moment from 'moment';\n\n// Map to track which locales have been extended\nconst extendedLocales = new Map();\n\n/**\n * Locale extensions configuration\n * Each key is a locale code, and the value is an object with the locale properties to update\n */\nconst localeExtensions = {\n\tja: {\n\t\t// Add support for English AM/PM markers in Japanese locale \n\t\t// as ServiceNow localization does not support japanese AM/PM markers - DEF0681907\n\t\tmeridiemParse: /午前|午後|[aApP][mM]/i,\n\t\t_originalIsPM: null,\n\t\tisPM: function(input) {\n\t\t\t// Check for English PM (case insensitive)\n\t\t\tif (/^pm$/i.test(input)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn this._originalIsPM(input);\n\t\t}\n\t}\n};\n\n/**\n * Extends a locale with additional functionality\n * @param {string} localeCode - The locale code to extend\n */\nconst extendLocale = (localeCode) => {\n\ttry {\n\t\tconst extension = localeExtensions[localeCode];\n\t\t// Store original functions for backward compatibility\n\t\tconst localeData = moment.localeData(localeCode);\n\t\textension._originalIsPM = localeData.isPM;\n\n\t\tmoment.updateLocale(localeCode, extension);\n\t\textendedLocales.set(localeCode, true);\n\t} catch (e) {\n\t\tconsole.error(`Failed to update locale ${localeCode}:`, e);\n\t}\n};\n\n// wrapper around moment to force need for language when using\n// empty string defaults to moment global locale\nexport default (language = '') =>\n\t(...args) => {\n\t\tmoment.locale(language);\n\t\t// If this locale has extensions and hasn't been extended yet, extend it\n\t\tif (localeExtensions[language] && !extendedLocales.get(language)) {\n\t\t\textendLocale(language);\n\t\t}\n\t\treturn moment(...args);\n\t};\n\nexport const weekdays = (language = '', isoWeek = false) => {\n\tconst momentLocale = moment.localeData(language);\n\tif (isoWeek)\n\t\treturn momentLocale ? momentLocale.isoWeekdays() : moment.isoWeekdays();\n\treturn momentLocale ? momentLocale.weekdays() : moment.weekdays();\n};\n\nexport const monthsShort = (language = '') => {\n\tconst momentLocale = moment.localeData(language);\n\treturn momentLocale ? momentLocale.monthsShort() : moment.monthsShort();\n};\n\nexport const isTimeZoneEnabledField = format => {\n\tif (!format) return false;\n\treturn !format.toLowerCase().endsWith('z');\n};\n","export const transformState = state => ({\n\t...state,\n\tproperties: {\n\t\t...state.properties,\n\t\tvalue: state.properties.value === true ? '' : state.properties.value\n\t}\n});\n","import get from 'lodash/get';\n\nconst getProperty = (propertyName, defaultValue = null) => get(window, `ux_globals.sysprops['${propertyName}']`, defaultValue);\n\nexport default getProperty;\n","import get from 'lodash/get';\n\nexport const createPreSourceBehavior = (componentTagName, {name:dsName = 'undefined', transform = d => d}) => {\n\tconst storeSeed = get(window, `ux_globals.presource['${componentTagName}:${dsName}']`, {});\n\tlet initialState = storeSeed;\n\ttry {initialState = (typeof transform === 'function') ? transform(storeSeed) : storeSeed;}catch(e) {console.error(e);initialState = storeSeed;}\n\treturn {\n\t\tname: dsName, // this.props.behaviors[dsName], available onConnect\n\t\tinitialState\n\t};\n};\n\nexport const getBehaviorProp = (state, name, defVal = {}) => !name ? undefined : get(state, `behaviors['${name}']`, defVal);\n","import get from \"lodash/get\";\nimport {\n\tcreatePreSourceBehavior,\n\tgetBehaviorProp\n} from \"./createPreSourceBehavior\";\n\nconst USER_DATA_KEY = \"wsUserData\";\nconst USER_ROLES_KEY = \"agentRoles\";\nconst USER_PREF_KEY = \"wsUserDataPreferences\";\nconst WS_CONFIG_SYS_ID_KEY = \"wsConfigSysId\";\n\nexport const preUserData = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: USER_DATA_KEY,\n\ttransform: data => get(data, \"data.GlideDomain_Query.user\", {})\n});\n\nexport const preUserRoles = createPreSourceBehavior(\"sn-workspace-content\", {\n\tname: USER_ROLES_KEY,\n\ttransform: result => get(result, \"data.GlideDomain_Query.user.roles\", [])\n});\n\nexport const preWsConfigSysId = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: WS_CONFIG_SYS_ID_KEY,\n\ttransform: data =>\n\t\tget(\n\t\t\tdata,\n\t\t\t[\n\t\t\t\t\"data\",\n\t\t\t\t\"GlideRecord_Query\",\n\t\t\t\t\"sys_aw_master_config\",\n\t\t\t\t\"_results\",\n\t\t\t\t0,\n\t\t\t\t\"sys_id\",\n\t\t\t\t\"value\"\n\t\t\t],\n\t\t\t\"\"\n\t\t)\n});\n\nexport const preUserPrefs = (function(userData) {\n\treturn {\n\t\tname: USER_PREF_KEY,\n\t\tinitialState: userData.initialState.preferences || []\n\t};\n})(preUserData);\n","import { getProperty as presourceGetProperty } from 'sn-uxpage-presource';\n\nexport const getProperty = (key, defaultValue) => {\n\tconst sysPropValue = presourceGetProperty(key);\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPropValue === undefined || sysPropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPropValue;\n\t}\n};\n\nexport const getPageProperty = (key, defaultValue) => {\n\tconst siteName = window?.ux_globals?.siteName;\n\tconst sysPagePropValue =\n\t\twindow?.ux_globals?.experienceConfigs?.[siteName]?.pageProperties?.[key];\n\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPagePropValue === undefined || sysPagePropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPagePropValue;\n\t}\n};\n","/*\n * Proxy copied over from sn-uxf-builder-middleware\n * Doing this so we can avoid the overhead of npm installing all of that package\n * when we only really want this one function\n */\nexport default effect => coeffects => effect.effect(...effect.args, coeffects);\n","import { isEmpty } from 'lodash';\n\nconst checkIfFieldIsSelected = (value, path, selectedItems) => {\n\tlet stagedPath = [];\n\tpath.forEach(pathItem => {\n\t\tstagedPath.push(pathItem.field);\n\t});\n\tstagedPath.push(value);\n\tconst updatedPath = stagedPath.join('.');\n\treturn selectedItems.find(element => {\n\t\tif (element.id === updatedPath) {\n\t\t\treturn true;\n\t\t}\n\t});\n};\n\nconst getParentTableName = (parentPathArray, tableName, dataModel) => {\n\tlet parentTableName = tableName;\n\tparentPathArray.forEach(item => {\n\t\tconst tableData = dataModel.metadata[parentTableName];\n\t\tconst fieldData = tableData && tableData[item];\n\t\tparentTableName = fieldData && fieldData.referenceDataKey;\n\t});\n\treturn parentTableName;\n};\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}]} fieldNameData\n * @return {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameData\n */\nconst transformFieldNameData = (\n\tfieldNameData,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = ''\n) => {\n\t// DictionaryAttributes - reference_types\n\t// list of valid reference types that are clickable separated by semicolons (\";\")\n\tconst enabledTables = referenceTypes ? referenceTypes.split(';') : [];\n\n\treturn fieldNameData.reduce((prev, curr) => {\n\t\tconst {\n\t\t\tvalue: name,\n\t\t\tdisplayValue,\n\t\t\tisFieldReferenceType: isReference,\n\t\t\treferenceDataKey\n\t\t} = curr;\n\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[name]: {\n\t\t\t\tdisplayValue,\n\t\t\t\tdisabled: isEmpty(selectedItems)\n\t\t\t\t\t? enabledTables.length && allowDotWalking\n\t\t\t\t\t\t? !enabledTables.includes(referenceDataKey)\n\t\t\t\t\t\t: false\n\t\t\t\t\t: checkIfFieldIsSelected(name, path, selectedItems)\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t\tisReference: allowDotWalking ? isReference : false,\n\t\t\t\treferenceDataKey\n\t\t\t}\n\t\t};\n\t\tif (enabledTables.length && allowDotWalking) {\n\t\t\tif (referenceDataKey || isReference) {\n\t\t\t\treturn reducedValue;\n\t\t\t} else {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t}\n\t\treturn reducedValue;\n\t}, {});\n};\n\n/**\n * Transform path data into the structure needed for dot walk\n * @param  {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} metaData\n * @param  {string} parentTableName\n * @param  {string} pathValue\n * @return {[{displayValue: string, field: string, parent: string}]} Transformed pathData\n */\nconst transformPathData = (metadata, tableName, pathValue) => {\n\tlet path = [];\n\n\tif (metadata && !tableName) {\n\t\ttableName = Object.keys(metadata)[0];\n\t}\n\n\tif (pathValue && metadata) {\n\t\t//field List can have multiple\n\t\tconst pathValueList = pathValue.split(',');\n\t\tpath = pathValueList[0].split('.').reduce((prev, curr, idx) => {\n\t\t\tconst tableNameCurrent =\n\t\t\t\tidx > 0 && prev[idx - 1].parentTableName\n\t\t\t\t\t? prev[idx - 1].parentTableName\n\t\t\t\t\t: tableName;\n\t\t\tconst tableData = metadata[tableNameCurrent];\n\t\t\tif (!tableData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst fieldData = metadata[tableNameCurrent][curr];\n\t\t\tif (!fieldData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst reducedFieldData = [\n\t\t\t\t...prev,\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: curr,\n\t\t\t\t\tparent: tableNameCurrent,\n\t\t\t\t\tparentTableName: fieldData.referenceDataKey\n\t\t\t\t}\n\t\t\t];\n\t\t\treturn reducedFieldData;\n\t\t}, []);\n\t} else if (metadata) {\n\t\tconst tableData = metadata[tableName];\n\n\t\tif (tableData) {\n\t\t\tconst firstField = Object.keys(tableData)[0];\n\t\t\tconst fieldData = tableData[firstField];\n\t\t\tpath = [\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: firstField,\n\t\t\t\t\tparent: tableName\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t}\n\treturn path;\n};\n\n/**\n * Transform table metadata into the structure used in the Dot Walk Model\n * @param {[{tableName: string, fieldNameData: [{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}] }]} fieldNameMetadata\n * @return {{[tableName: string]: {[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameMetadata\n */\n\nexport const transformFieldNameMetadata = (\n\tfieldValues,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = []\n) =>\n\tfieldValues.reduce((prev, curr) => {\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[curr.tableName]: transformFieldNameData(\n\t\t\t\tcurr.fieldNameData,\n\t\t\t\treferenceTypes,\n\t\t\t\tallowDotWalking,\n\t\t\t\tselectedItems,\n\t\t\t\tpath\n\t\t\t)\n\t\t};\n\t\treturn reducedValue;\n\t}, {});\n\nexport const constructDataModel = (\n\tfieldValues,\n\ttableName,\n\tpathValue,\n\tleafPathSource,\n\treferenceTypes = '',\n\tallowDotWalking\n) => {\n\tconst model = {\n\t\tpath: null,\n\t\tmetadata: null,\n\t\tleafPathSource\n\t};\n\n\tif (fieldValues) {\n\t\tconst transformedMetadata = transformFieldNameMetadata(\n\t\t\tfieldValues,\n\t\t\treferenceTypes,\n\t\t\tallowDotWalking\n\t\t);\n\t\tconst transformedPath = transformPathData(\n\t\t\ttransformedMetadata,\n\t\t\ttableName,\n\t\t\tpathValue\n\t\t);\n\t\tmodel.path = transformedPath;\n\t\tmodel.metadata = transformedMetadata;\n\t}\n\n\treturn model;\n};\n\nexport const getFieldNameValue = (path = []) =>\n\tpath.map(p => p.field).join('.');\n\nexport const getFieldNameDisplayValue = (path = []) =>\n\tpath.map(p => p.displayValue).join(' > ');\n\nexport const getDataModelWithToggledFields = (\n\tdataModel,\n\tflag,\n\tfieldToBeDeleted,\n\ttableName\n) => {\n\tconst path = dataModel.path;\n\tlet name = dataModel.path[path.length - 1].parent;\n\tlet fieldName = dataModel.path[path.length - 1].field;\n\tif (flag) {\n\t\tconst updatedIdArray = fieldToBeDeleted.split('.');\n\t\tfieldName = updatedIdArray[updatedIdArray.length - 1];\n\t\tname =\n\t\t\tupdatedIdArray.length === 1\n\t\t\t\t? tableName\n\t\t\t\t: getParentTableName(\n\t\t\t\t\t\tupdatedIdArray.slice(0, updatedIdArray.length - 1),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tdataModel\n\t\t\t\t  );\n\t}\n\tlet dataModelToUpdate = dataModel;\n\t//update only if the table info is available in dataModel\n\tif (dataModel.metadata[name]) {\n\t\tdataModelToUpdate = {\n\t\t\t...dataModel,\n\t\t\tmetadata: {\n\t\t\t\t...dataModel.metadata,\n\t\t\t\t[name]: {\n\t\t\t\t\t...dataModel.metadata[name],\n\t\t\t\t\t[fieldName]: {\n\t\t\t\t\t\t...dataModel.metadata[name][fieldName],\n\t\t\t\t\t\tdisabled: !flag\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\treturn dataModelToUpdate;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"createPresentationalCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t\t} else if ('createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createPresentationalCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t}, [\"nowPriorityLevels\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowPriorityLevels' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].nowPriorityLevels;\n\t\t\t\t\t} else if ('nowPriorityLevels' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.nowPriorityLevels || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].nowPriorityLevels;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {isEmpty} from \"lodash\";\nimport { t } from 'sn-translate';\nimport {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-icon';\n\nimport style from \"@devsnc/sass-form-controls-common/_customLabel.scss\";\nimport {NOW_BUTTON_ICONIC_CLICKED, NOW_POPOVER_OPENED_SET, FIELD_RECOMMENDATION_INFORMATION} from \"../constants\";\nimport { fieldLayoutSchema } from \"../schemas\";\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, icon } = properties;\n\treturn (\n\t\t<div className=\"sn-custom-highlighted-label-popover spacing\">\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-description\">\n\t\t\t\t<div>\n\t\t\t\t\t<now-icon icon={icon} size=\"sm\"><\/now-icon>\n\t\t\t\t<\/div>\n\t\t\t\t<div>\n\t\t\t\t\t{description}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-close\">\n\t\t\t\t<now-button-iconic icon=\"close-fill\" size=\"sm\" variant=\"tertiary\" bare=\"true\"><\/now-button-iconic>\n\t\t\t<\/div>\n\t\t<\/div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-highlighted-label-info', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\ticon: { default: ''}\n\t}\n})\n\nexport const customLabel = (state) => {\n\tconst {\n\t\topened,\n\t\tproperties: {\n\t\t\tcustomHighlightedLabel: {\n\t\t\t\tvalue: highlightedValueLabel,\n\t\t\t\tstatus,\n\t\t\t\tshowIcon,\n\t\t\t\tvariantName,\n\t\t\t\tcolorName,\n\t\t\t\ticonName,\n\t\t\t\tdescription\n\t\t\t},\n\t\t\tfieldLayout: {\n\t\t\t\tlayout = 'vertical'\n\t\t\t} = {}\n\t\t}\n\t} = state;\n\treturn (\n\t\t<div class={{\n\t\t\t'sn-custom-highlighted-label': true,\n\t\t\t['-' + layout]: layout\n\t\t}}>\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\tcolor={colorName}\n\t\t\t\tshow-icon={showIcon}\n\t\t\t\tvariant={variantName}\n\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t><\/now-highlighted-value>\n\t\t\t{!isEmpty(description) && (\n\t\t\t\t<now-popover\n\t\t\t\t\tmanage-opened\n\t\t\t\t\topened={opened}\n\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\tconstrain={{width: 250, minHeight: 80, maxHeight: 200}}\n\t\t\t\t\tpositions={{ target: 'top-center', content: 'bottom-center' }}\n\t\t\t\t>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: { 'aria-label': t(FIELD_RECOMMENDATION_INFORMATION) }\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tsize=\"sm\">\n\t\t\t\t\t<\/now-button-iconic>\n\t\t\t\t\t<sn-highlighted-label-info slot=\"content\" description={description} icon={iconName} />\n\t\t\t\t<\/now-popover>\n\t\t\t)}\n\t\t<\/div>\n\t);\n}\n\ncreateCustomElement('sn-custom-highlighted-label', {\n\tview: customLabel,\n\tstyles: style,\n\tinitialState: {\n\t\topened: false\n\t},\n\tproperties: {\n\t\tcustomHighlightedLabel: { default: {} },\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ opened: false });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: ({ action, updateState }) => {\n\t\t\t\tconst { value } = action.payload;\n\t\t\t\tupdateState({ opened: value });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n","import '@servicenow/now-highlighted-value';\nimport { isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport './renderCustomHighlightedLabel';\nconst normalizeHighlightedValues = highlightedValues => {\n\tif (!highlightedValues) {\n\t\treturn [];\n\t}\n\tif (Array.isArray(highlightedValues)) {\n\t\tconst flattened = highlightedValues.flat();\n\t\treturn flattened.filter((hv, index) => {\n\t\t\treturn index === 0 || !isEmpty(hv);\n\t\t})\n\t}\n\telse if (typeof highlightedValues === 'object') {\n\t\treturn [highlightedValues];\n\t}\n}\n\nexport const renderHighlightedValue = (highlightedValue, fieldLayout = { layout: 'vertical' }) => {\n\tconst [defaultHighlightedValue, ...customHighlightedValues] = normalizeHighlightedValues(highlightedValue);\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = defaultHighlightedValue || {};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEmpty(defaultHighlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t\tclass={{'first-label-end': customHighlightedValues.length && fieldLayout.layout === 'horizontal'}}\n\t\t\t\t><\/now-highlighted-value>\n\t\t\t)}\n\t\t\t{customHighlightedValues.map(hv => (\n\t\t\t\t<sn-custom-highlighted-label slot=\"label-end\" customHighlightedLabel={hv} fieldLayout={fieldLayout}/>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport styles from './InteractiveDecoration.scss';\nimport { NOW_BUTTON_ICONIC_CLICKED } from './constants';\n\nconst InteractiveDecoration = function ({ icon, text, name }) {\n\treturn (\n\t\t<div className=\"interactive-decoration-icon\">\n\t\t\t<now-button-iconic\n\t\t\t\thide-padding\n\t\t\t\ticon={icon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: { 'aria-label': text }\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{ field: name }}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-interactive-decoration', {\n\tproperties: {\n\t\t/**\n\t\t * icon\n\t\t *\n\t\t * Icon name to display as the decoration\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ticon: {},\n\t\t/**\n\t\t * text\n\t\t *\n\t\t * Tooltip and aria text for the decoration\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttext: {},\n\t\t/**\n\t\t * name\n\t\t *\n\t\t * Field name on which the decoration is being applied\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tname: {}\n\t},\n\tview: ({ properties }) => InteractiveDecoration(properties),\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst path = action?.meta?.event?.path;\n\t\t\t\tif (!path || path.length === 0) return;\n\n\t\t\t\tconst { x: pageX, y: pageY } = path[0].getBoundingClientRect();\n\t\t\t\tdispatch('FIELD_DECORATION#CLICKED', {\n\t\t\t\t\tfield: action.payload.field,\n\t\t\t\t\tpageX,\n\t\t\t\t\tpageY\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tstyles\n});\n","import '@servicenow/now-highlighted-value';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nconst AI_INDICATOR_COLOR = 'ai';\n\nexport const renderAIIndicator = props => {\n\tconst { showAIIndicator, suggestions } = props;\n\n\tconst renderHelperContent = (description, link = {}) => (\n\t\t<div>\n\t\t\t<div role=\"status\">{description}<\/div>\n\t\t\t{link.href && link.label && (\n\t\t\t\t<a href={link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t{link.label}\n\t\t\t\t\t{link.iconName && (\n\t\t\t\t\t\t<now-button-iconic bare icon={link.iconName} size=\"sm\" />\n\t\t\t\t\t)}\n\t\t\t\t<\/a>\n\t\t\t)}\n\t\t<\/div>\n\t);\n\t// Priority 1: Task Intelligence autofill suggestion\n\tif (suggestions?.autofill?.value) {\n\t\tconst description = suggestions.source?.description;\n\t\tconst link = suggestions.source?.link || {};\n\t\tconst label = t('AI');\n\t\tconst icon = suggestions.source?.iconName || 'ai-sparkle-fill';\n\n\t\treturn (\n\t\t\t<div className=\"field-decorations-container\" slot=\"label-inline\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tcolor={AI_INDICATOR_COLOR}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tshowIcon\n\t\t\t\t\ticon={icon}\n\t\t\t\t\ttooltipContent={description}\n\t\t\t\t\thelperContent={renderHelperContent(description, link)}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\t// Priority 2: Regular AI indicator - trust showAIIndicator from glideFormFactory\n\t// glideFormFactory handles all revert detection logic via _toggleAIIndicatorOnValueMatch\n\tif (showAIIndicator) {\n\t\tconst description = t(\n\t\t\t'Now Assist predicted this field. Check it for accuracy.'\n\t\t);\n\t\tconst link = {};\n\t\treturn (\n\t\t\t<div className=\"field-decorations-container\" slot=\"label-inline\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={t('AI')}\n\t\t\t\t\tcolor={AI_INDICATOR_COLOR}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tshowIcon\n\t\t\t\t\ticon={'ai-sparkle-fill'}\n\t\t\t\t\ttooltipContent={description}\n\t\t\t\t\thelperContent={renderHelperContent(description, link)}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn null;\n};\n","import '@servicenow/now-icon';\nimport '../InteractiveDecoration';\nimport { renderAIIndicator } from './renderAIIndicator';\nimport './renderDecorations.scss';\n\nexport const renderDecorations = props => {\n\tconst {\n\t\tdecorations = [],\n\t\tformControlWrapper,\n\t\tshowAIIndicator,\n\t\tsuggestions\n\t} = props;\n\n\tif (\n\t\t(decorations && decorations.length > 0) ||\n\t\tshowAIIndicator ||\n\t\tsuggestions?.autofill?.value\n\t) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={formControlWrapper ? { marginInlineStart: ' 0.25rem' } : {}}\n\t\t\t\tclassName=\"field-decorations-container\"\n\t\t\t\tslot=\"label-inline\"\n\t\t\t>\n\t\t\t\t{decorations.map(decoration => {\n\t\t\t\t\tif (decoration.isInteractive) {\n\t\t\t\t\t\tconst { icon, text, name } = decoration;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<sn-interactive-decoration icon={icon} text={text} name={name} />\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\ticon={decoration.icon}\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ttitle={decoration.text}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\tbutton: { 'aria-label': decoration.text }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\t{renderAIIndicator(props)}\n\t\t\t<\/div>\n\t\t);\n\t}\n\treturn null;\n};\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst MODIFIED_FIELD_INDICATOR = {\n\ticon: 'presence-fill',\n\tsize: 'sm',\n\tvariant: 'tertiary',\n\ttext: 'Unsaved'\n};\n\nexport const SLOT_POSITIONS = {\n\tLABEL_START: 'label-start',\n\tLABEL_END: 'label-end',\n\tLABEL_INLINE: 'label-inline'\n};\n\n/**\n * Renders icons based on configurations\n * @param {Array} iconConfigs - Array of icon configuration objects\n * @param {string} slotPosition - Position in the label to render icons\n * @returns {JSX.Element|null} - Rendered icons or null\n */\nconst renderIcons = (\n\ticonConfigs = [],\n\tslotPosition = SLOT_POSITIONS.LABEL_START\n) => {\n\tif (!iconConfigs.length) return null;\n\treturn (\n\t\t<Fragment>\n\t\t\t{iconConfigs.map((config, index) => (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\thidePadding\n\t\t\t\t\tkey={`icon-${index}`}\n\t\t\t\t\tslot={slotPosition}\n\t\t\t\t\ticon={config.icon}\n\t\t\t\t\tsize={config.size || 'sm'}\n\t\t\t\t\tdata-title={t(config.text)}\n\t\t\t\t\ttooltipContent={t(config.text)}\n\t\t\t\t\tvariant={config.variant || 'primary'}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t(config.text)\n\t\t\t\t\t}}\n\t\t\t\t\tbare={true}\n\t\t\t\t/>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders a collection of icons in the specified label slot position\n * @param {boolean} showModifiedIndicator - Whether to show the modified field indicator\n * @param {string} slotPosition - Position in the label to render icons ('label-start', 'label-end')\n * @param {Array} iconConfigs - Array of icon configuration objects\n * @param {Object} additionalProps - Additional properties to pass to the now-icon component\n * @returns {JSX.Element|null} - Fragment containing icons or null if no icons\n */\nexport const renderIconsInLabelSlot = (\n\tshowModifiedIndicator = false,\n\tslotPosition = SLOT_POSITIONS.LABEL_START,\n\ticonConfigs = []\n) => {\n\tif (!iconConfigs.length && !showModifiedIndicator) return null;\n\n\tconst iconsToRender = [...iconConfigs];\n\n\t// Add modified indicator at the beginning\n\tif (showModifiedIndicator) {\n\t\ticonsToRender.unshift(MODIFIED_FIELD_INDICATOR);\n\t}\n\n\treturn renderIcons(iconsToRender, slotPosition);\n};\n","export function difference(arr1, arr2) {\n\treturn arr1.filter(x => !arr2.includes(x));\n}\n\nexport function camelCase(str) {\n\treturn str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\n\t\tif (+match === 0) return ''; // ignore 0s\n\t\treturn index == 0 ? match.toLowerCase() : match.toUpperCase();\n\t});\n}\n\nexport function keys(obj) {\n\treturn Object.keys(obj);\n}\n\nexport function pick(obj, props) {\n\treturn props.reduce((acc, prop) => {\n\t\tif (Object.prototype.hasOwnProperty.call(obj, prop)) {\n\t\t\tacc[prop] = obj[prop];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\nexport function forEach(collection, callback) {\n\tif (Array.isArray(collection)) {\n\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\tcallback(collection[i], i, collection);\n\t\t}\n\t} else {\n\t\tfor (const key in collection) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(collection, key)) {\n\t\t\t\tcallback(collection[key], key, collection);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function get(obj, path, defaultValue) {\n\tconst keys = Array.isArray(path) ? path : path.split('.');\n\tconst result = keys.reduce((acc, key) => acc && acc[key], obj);\n\treturn result === undefined ? defaultValue : result || defaultValue;\n}\n\nexport function isNil(value) {\n\treturn value == null;\n}\n\nexport function isEqualWith(value, other, customizer) {\n\tif (typeof customizer !== 'function') {\n\t\tcustomizer = undefined;\n\t}\n\n\tconst result = customizer ? customizer(value, other) : undefined;\n\n\tif (result !== undefined) {\n\t\treturn Boolean(result);\n\t}\n\tif (value === other) {\n\t\treturn true;\n\t}\n\tif (\n\t\tvalue == null ||\n\t\tother == null ||\n\t\ttypeof value !== 'object' ||\n\t\ttypeof other !== 'object'\n\t) {\n\t\treturn false;\n\t}\n\tconst keys = Object.keys(value);\n\tif (keys.length !== Object.keys(other).length) {\n\t\treturn false;\n\t}\n\treturn keys.every(key => isEqualWith(value[key], other[key], customizer));\n}\n\nexport function pickBy(object, predicate) {\n\tconst result = {};\n\tfor (const key in object) {\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(object, key) &&\n\t\t\tpredicate(object[key], key)\n\t\t) {\n\t\t\tresult[key] = object[key];\n\t\t}\n\t}\n\treturn result;\n}\n\nexport function identity(value) {\n\treturn value;\n}\n\n/**\n * The isEmpty function determines if a given value is empty or not.\n * @param {any} value The value to check\n * @returns {boolean} True if the value is empty, false otherwise\n */\nexport function isEmpty(value) {\n\tif (value == null) return true;\n\tif (typeof value === 'string' || Array.isArray(value))\n\t\treturn value.length === 0;\n\tif (typeof value === 'object') return Object.keys(value).length === 0;\n\n\treturn false;\n}\n","/**\n * validates if passed in string is a localhost\n * @param {string} value hostname string we wish to test\n * @return {boolean} valid or not\n */\nfunction isLocalhost(value) {\n\tlet re = /^(:|(0:){1,6}|(0:){6}0):1$/;\n\treturn (\n\t\tvalue.toLowerCase() === 'localhost' ||\n\t\tvalue.toLowerCase() === '127.0.0.1' ||\n\t\tre.test(value)\n\t);\n}\n\n/**\n * validates if passed in string is a domain\n * @param {string} domain domain string we wish to test\n * @param {boolean} internationalizedEmail whether international characters allowed or not\n * @return {boolean} valid or not\n */\nfunction isDomain(domain, internationalizedEmail = false) {\n\tconst periodSplit = domain.split('.');\n\tfor (const part of periodSplit) {\n\t\tif (part.length == 0) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tlet re = internationalizedEmail\n\t\t? /^([^(),:;<>@[\\]!#$%*/?|^{}`~&'+= ]+\\.[^(),:;<>@[\\]!#$%*/?|^{}`~&'+= ]+)$/\n\t\t: /^(?!:\\/\\/)([a-zA-Z0-9-_]+\\.)*[a-zA-Z0-9][a-zA-Z0-9-_]*\\.[a-zA-Z]{2,11}?$/;\n\treturn re.test(domain);\n}\n\n/**\n * validates if passed in string is a hostname, namely localhost, or domain\n * @param {string} value hostname string we wish to test\n * @param {boolean} internationalizedEmail whether international characters allowed or not\n * @return {boolean} valid or not\n */\nfunction isHostname(value, internationalizedEmail) {\n\treturn isLocalhost(value) || isDomain(value, internationalizedEmail);\n}\n\nexport { isLocalhost, isDomain, isHostname };\n","let v4 =\n\t'(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\\\.(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}';\nlet v6frag = '[0-9a-fA-F]{1,4}';\n\n/**\n * validates if passed in string is a valid IP address (IPv4 or IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPAddress(address) {\n\treturn isIPV4Address(address) || isIPV6Address(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv4)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV4Address(address) {\n\tlet reg = '^' + v4 + '$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV6Address(address) {\n\tlet reg =\n\t\t'^((?:' +\n\t\tv6frag +\n\t\t':){7}(?:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){6}(?:' +\n\t\tv4 +\n\t\t'|:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){5}(?::' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,2}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){4}(?:(:' +\n\t\tv6frag +\n\t\t'){0,1}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,3}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){3}(?:(:' +\n\t\tv6frag +\n\t\t'){0,2}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,4}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){2}(?:(:' +\n\t\tv6frag +\n\t\t'){0,3}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,5}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){1}(?:(:' +\n\t\tv6frag +\n\t\t'){0,4}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,6}|:)|' +\n\t\t'(?::((?::' +\n\t\tv6frag +\n\t\t'){0,5}:' +\n\t\tv4 +\n\t\t'|(?::' +\n\t\tv6frag +\n\t\t'){1,7}|:)))(%[0-9a-zA-Z]{1,})?$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\nexport { isIPAddress, isIPV4Address, isIPV6Address };\n","import { isHostname } from './hostname';\nimport { isIPAddress } from './ipaddress';\n\n/**\n * validates that an email is valid format, namely valid recipient name(supports unicode) + @ + valid hostname or IP\n * @param {string} email email string we wish to test\n * @param {string} [internationalizedEmail] whether validate the email following RFC6530 standard\n * @return {boolean} valid or not\n */\nfunction isEmail(email, internationalizedEmail = false) {\n\tlet components = email.split('@');\n\tif (components.length != 2) return false;\n\tlet re = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))$/i;\n\treturn (\n\t\tre.test(components[0]) &&\n\t\t(isIPAddress(components[1]) || isHostname(components[1], internationalizedEmail))\n\t);\n}\n\nexport { isEmail };\n","export function isValidUrl(url) {\n\treturn hasValidHttp(url);\n}\n\nfunction hasValidHttp(url) {\n\t// eslint-disable-next-line no-useless-escape\n\treturn /^$|^(https?|ftp):\\/\\/(www\\.)?(([-\\w@:%.\\+~#=]{1,256}\\.[a-z0-9()]{1,63})|(localhost))\\b([-\\w()@:%\\+.~#?&//=]*)/i.test(\n\t\turl\n\t);\n}\n","/*\nThis utility function is a copy of following function getDateFromFormat in calendar.js\nhttps://code.devsnc.com/dev/glide/blob/master/glide/ui.html/scripts/calendar.js#L284\nThe purpose of the function is to have same validation in dateTime format case when it has timezone enabled\nexample like \"YYYY-MM-DD hh:mm:ss z\". Remaining other formats are handled from moment itself.\ngetDateFromFormat is a validator function that checks if the date is in given format or not.\nIn case the date is not in correct format , it returns 0 , else it returns the time Value of the same.\n*/\n\nconst digits = new Set(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']);\n\nfunction _isInteger(val) {\n\tfor (let i = 0; i < val.length; i++) if (!digits.has(val[i])) return false;\n\treturn true;\n}\n\nfunction _getInt(str, i, minlength, maxlength) {\n\tfor (var x = maxlength; x >= minlength; x--) {\n\t\tvar token = str.substring(i, i + x);\n\t\tif (token.length < minlength) {\n\t\t\treturn null;\n\t\t}\n\t\tif (_isInteger(token)) {\n\t\t\treturn token;\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Validate Date String for a given format. Returns 0 if date is invalid for given format, else date value\n * @param {string} val - Date string.\n * @param {string} format - Format for which date string has to be verified.\n * @returns {number}\n */\nexport function getDateFromFormat(val, format) {\n\tval = val + '';\n\tformat = format + '';\n\tvar i_val = 0;\n\tvar i_format = 0;\n\tvar c = '';\n\tvar token = '';\n\tvar x, y;\n\tvar now = new Date();\n\tvar year = now.getYear();\n\tvar month = now.getMonth() + 1;\n\tvar date = 0;\n\tvar hh = now.getHours();\n\tvar mm = now.getMinutes();\n\tvar ss = now.getSeconds();\n\tvar ampm = '';\n\tvar week = false;\n\tvar MONTH_NAMES = new Array(\n\t\t'January',\n\t\t'February',\n\t\t'March',\n\t\t'April',\n\t\t'May',\n\t\t'June',\n\t\t'July',\n\t\t'August',\n\t\t'September',\n\t\t'October',\n\t\t'November',\n\t\t'December',\n\t\t'Jan',\n\t\t'Feb',\n\t\t'Mar',\n\t\t'Apr',\n\t\t'May',\n\t\t'Jun',\n\t\t'Jul',\n\t\t'Aug',\n\t\t'Sep',\n\t\t'Oct',\n\t\t'Nov',\n\t\t'Dec'\n\t);\n\tvar DAY_NAMES = new Array(\n\t\t'Sunday',\n\t\t'Monday',\n\t\t'Tuesday',\n\t\t'Wednesday',\n\t\t'Thursday',\n\t\t'Friday',\n\t\t'Saturday',\n\t\t'Sun',\n\t\t'Mon',\n\t\t'Tue',\n\t\t'Wed',\n\t\t'Thu',\n\t\t'Fri',\n\t\t'Sat'\n\t);\n\tvar g_first_day_of_week = 1;\n\n\twhile (i_format < format.length) {\n\t\t// Get next token from format string\n\t\tc = format.charAt(i_format);\n\t\ttoken = '';\n\t\twhile (format.charAt(i_format) == c && i_format < format.length) {\n\t\t\ttoken += format.charAt(i_format++);\n\t\t}\n\t\t// Extract contents of value based on format token\n\t\tif (token == 'yyyy' || token == 'yy' || token == 'y') {\n\t\t\tif (token == 'yyyy') {\n\t\t\t\tx = 4;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tif (token == 'yy') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 2;\n\t\t\t}\n\t\t\tif (token == 'y') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tyear = _getInt(val, i_val, x, y);\n\t\t\tif (year == null) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += year.length;\n\t\t\tif (year.length == 2) {\n\t\t\t\tif (year > 70) {\n\t\t\t\t\tyear = 1900 + (year - 0);\n\t\t\t\t} else {\n\t\t\t\t\tyear = 2000 + (year - 0);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MMM' || token == 'NNN') {\n\t\t\tmonth = 0;\n\t\t\tfor (var i = 0; i < MONTH_NAMES.length; i++) {\n\t\t\t\tvar month_name = MONTH_NAMES[i];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + month_name.length).toLowerCase() ==\n\t\t\t\t\tmonth_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (token == 'MMM' || (token == 'NNN' && i > 11)) {\n\t\t\t\t\t\tmonth = i + 1;\n\t\t\t\t\t\tif (month > 12) {\n\t\t\t\t\t\t\tmonth -= 12;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti_val += month_name.length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else if (token == 'EE' || token == 'E') {\n\t\t\tfor (var i2 = 0; i2 < DAY_NAMES.length; i2++) {\n\t\t\t\tvar day_name = DAY_NAMES[i2];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + day_name.length).toLowerCase() ==\n\t\t\t\t\tday_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (week) {\n\t\t\t\t\t\tif (i2 == 0 || i2 == 7)\n\t\t\t\t\t\t\t//Sun\n\t\t\t\t\t\t\tdate += 6;\n\t\t\t\t\t\telse if (i2 == 2 || i2 == 9)\n\t\t\t\t\t\t\t//Tues\n\t\t\t\t\t\t\tdate += 1;\n\t\t\t\t\t\telse if (i2 == 3 || i2 == 10)\n\t\t\t\t\t\t\t//Wed\n\t\t\t\t\t\t\tdate += 2;\n\t\t\t\t\t\telse if (i2 == 4 || i2 == 11)\n\t\t\t\t\t\t\t// Thur\n\t\t\t\t\t\t\tdate += 3;\n\t\t\t\t\t\telse if (i2 == 5 || i2 == 12)\n\t\t\t\t\t\t\t//Fri\n\t\t\t\t\t\t\tdate += 4;\n\t\t\t\t\t\telse if (i2 == 6 || i2 == 13)\n\t\t\t\t\t\t\t//sat\n\t\t\t\t\t\t\tdate += 5;\n\t\t\t\t\t}\n\t\t\t\t\ti_val += day_name.length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MM' || token == 'M') {\n\t\t\tmonth = _getInt(val, i_val, token.length, 2);\n\t\t\tif (month == null || month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += month.length;\n\t\t} else if (token == 'dd' || token == 'd') {\n\t\t\tdate = _getInt(val, i_val, token.length, 2);\n\t\t\tif (date == null || date < 1 || date > 31) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += date.length;\n\t\t} else if (token == 'hh' || token == 'h') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'HH' || token == 'H') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 23) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'KK' || token == 'K') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 11) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'kk' || token == 'k') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 24) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t\thh--;\n\t\t} else if (token == 'mm' || token == 'm') {\n\t\t\tmm = _getInt(val, i_val, token.length, 2);\n\t\t\tif (mm == null || mm < 0 || mm > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += mm.length;\n\t\t} else if (token == 'ss' || token == 's') {\n\t\t\tss = _getInt(val, i_val, token.length, 2);\n\t\t\tif (ss == null || ss < 0 || ss > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += ss.length;\n\t\t} else if (token == 'a') {\n\t\t\tif (val.substring(i_val, i_val + 2).toLowerCase() == 'am') {\n\t\t\t\tampm = 'AM';\n\t\t\t} else if (val.substring(i_val, i_val + 2).toLowerCase() == 'pm') {\n\t\t\t\tampm = 'PM';\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += 2;\n\t\t} else if (token == 'w' || token == 'ww') {\n\t\t\t//week in year\n\t\t\tvar weekNum = _getInt(val, i_val, token.length, 2);\n\t\t\tweek = true;\n\t\t\tif (weekNum != null) {\n\t\t\t\tvar temp = new Date(year, 0, 1, 0, 0, 0);\n\t\t\t\ttemp.setWeek(parseInt(weekNum, 10));\n\t\t\t\tyear = temp.getFullYear();\n\t\t\t\tmonth = temp.getMonth() + 1;\n\t\t\t\tdate = temp.getDate();\n\t\t\t}\n\t\t\tweekNum += '';\n\t\t\ti_val += weekNum.length;\n\t\t} else if (token == 'D') {\n\t\t\tif (week) {\n\t\t\t\tvar day = _getInt(val, i_val, token.length, 1);\n\t\t\t\tif (day == null || day <= 0 || day > 7) return 0;\n\n\t\t\t\tvar temp2 = new Date(year, month - 1, date, hh, mm, ss);\n\t\t\t\t// get the current day of week that we are on (Sun=0)\n\t\t\t\tvar dayOfWeek = temp2.getDay();\n\n\t\t\t\t// get the day we want and adjust that to Sun=0\n\t\t\t\tday = parseInt(day, 10);\n\t\t\t\tday = (day + g_first_day_of_week - 1) % 7;\n\t\t\t\tif (day == 0) day = 7;\n\t\t\t\tday--;\n\n\t\t\t\t// determine how many days we need to add to the current date\n\t\t\t\tif (day < dayOfWeek) day = 7 - (dayOfWeek - day);\n\t\t\t\telse day -= dayOfWeek;\n\n\t\t\t\tif (day > 0) {\n\t\t\t\t\ttemp2.setDate(temp2.getDate() + day);\n\n\t\t\t\t\t// apply the date and get the year/month/date again since adding the date my rollover into next month\n\t\t\t\t\tyear = temp2.getFullYear();\n\t\t\t\t\tmonth = temp2.getMonth() + 1;\n\t\t\t\t\tdate = temp2.getDate();\n\t\t\t\t}\n\t\t\t\ti_val++;\n\t\t\t}\n\t\t} else if (token == 'z') i_val += 3;\n\t\telse {\n\t\t\tif (val.substring(i_val, i_val + token.length) != token) {\n\t\t\t\treturn 0;\n\t\t\t} else {\n\t\t\t\ti_val += token.length;\n\t\t\t}\n\t\t}\n\t}\n\t// If there are any trailing characters left in the value, it doesn't match\n\tif (i_val != val.length) {\n\t\treturn 0;\n\t}\n\t// Is date valid for month?\n\tif (month == 2) {\n\t\t// Check for leap year\n\t\tif ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n\t\t\t// leap year\n\t\t\tif (date > 29) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else {\n\t\t\tif (date > 28) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t}\n\tif (month == 4 || month == 6 || month == 9 || month == 11) {\n\t\tif (date > 30) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\t// Correct hours value\n\tif (hh < 12 && ampm == 'PM') {\n\t\thh = hh - 0 + 12;\n\t} else if (hh > 11 && ampm == 'AM') {\n\t\thh -= 12;\n\t}\n\tvar newdate = new Date(year, month - 1, date, hh, mm, ss);\n\treturn newdate.getTime();\n}\n","import { map, reduce, isString, isArray, isObject } from 'lodash';\n\n/**\n * Convert the values and display values arrays into a single pill array\n * @param {array} values\n * @param {array} displayValues Boolean that indicates wheter or not shift was held.\n * @return {array} array of pill objects\n */\nfunction toPills(values, displayValues) {\n\tif (isString(values)) {\n\t\tvalues = convertToValueArray(values);\n\t}\n\n\tif (isString(displayValues)) {\n\t\tdisplayValues = convertToValueArray(displayValues);\n\t}\n\n\tif (!Array.isArray(displayValues)) displayValues = values;\n\n\treturn map(values, (value, index) => ({\n\t\tvalue,\n\t\tdisplayValue: displayValues[index] ? displayValues[index] : ''\n\t}));\n}\n\n/**\n * Convert the pill object array into individual value and displayValue arrays\n * @param {array} array of pill objects\n * @return {object} object containing the two arrays\n */\nfunction toValues(pills) {\n\treturn reduce(\n\t\tpills,\n\t\t(result, pill) => {\n\t\t\tpill = isObject(pill) ? pill : {};\n\n\t\t\tresult.values.push(pill.value);\n\t\t\tresult.displayValues.push(pill.displayValue);\n\n\t\t\treturn result;\n\t\t},\n\t\t{\n\t\t\tvalues: [],\n\t\t\tdisplayValues: []\n\t\t}\n\t);\n}\n\n/**\n * Converter function for handling values being passed in as a single or CSV string\n * @param {string} values The pressed key identifier.\n * @return {array} List of values\n */\nfunction convertToValueArray(values) {\n\tif (isArray(values)) {\n\t\treturn values;\n\t}\n\n\tif (!isString(values)) {\n\t\treturn [];\n\t}\n\n\treturn values.split(',');\n}\n\n/**\n * Get matches count of value on options list based on search type\n * @param {string} value user input value.\n * @param {array} options list of options containing displayValues and values.\n * @param {string} search type of search such as initial or contains.\n * @return {string} matches count\n */\n\nfunction getMatchesCount(options, search, value = '') {\n\tconst lowerValue = value.toLowerCase();\n\tconst method = search === 'contains' ? 'includes' : 'startsWith';\n\treturn options.reduce((result, item) => {\n\t\tconst itemValue = item.value ? item.value.toLowerCase() : '';\n\t\tconst itemDisplayValue = item.displayValue\n\t\t\t? item.displayValue.toLowerCase()\n\t\t\t: '';\n\n\t\tif (itemValue[method](lowerValue) || itemDisplayValue[method](lowerValue)) {\n\t\t\tresult.push(item);\n\t\t}\n\t\treturn result;\n\t}, []).length;\n}\n\nexport { toPills, toValues, convertToValueArray, getMatchesCount };\n","function findChildPath (items, path, index = 0) {\n\tconst itemIndex = items.findIndex(i => i.id === path[index]);\n\tif (itemIndex === -1) return;\n\n\tif (index === path.length - 1) {\n\t\treturn `[${itemIndex}]`;\n\t}\n\tconst childrenIndexPath = findChildPath(\n\t\titems[itemIndex].children,\n\t\tpath,\n\t\tindex + 1\n\t);\n\tif (childrenIndexPath) {\n\t\treturn `[${itemIndex}].children${childrenIndexPath}`;\n\t}\n};\n\nfunction getTreeNodeTypeIcon(isIndexed, type, tableName, isForeign) {\n\tlet icon;\n\tif (type == 'index') icon = 'tree-selected-outline';\n\telse if (type == 'function') icon = 'table-diamond-outline';\n\telse if (!tableName) {\n\t\tif (isIndexed) icon = 'circle-info-outline';\n\t\telse if (isForeign) icon = 'arrow-exit-outline';\n\t\telse icon = 'move-item-down-outline';\n\t} else icon = 'table-outline';\n\n\treturn icon;\n}\n\nfunction parseTree(xml, parentItem) {\n\tlet nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tlet items = rxml.getElementsByTagName('item');\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\n\t\t//identify the name and label for the individual tree item\n\t\t//based on its parent item to support dot walked content insertion\n\t\t//in html editor\n\t\tconst value = item.getAttribute('value');\n\t\tconst label = item.getAttribute('label');\n\t\tlet nodeName, nodeLabel;\n\t\tif (parentItem.nodeName) {\n\t\t\tnodeName = parentItem.nodeName + '.' + value;\n\t\t\tnodeLabel = parentItem.nodeLabel + ' ' + label;\n\t\t} else {\n\t\t\tnodeName = value;\n\t\t\tnodeLabel = label;\n\t\t}\n\n\t\tlet tableName,\n\t\t\tisForeign = false;\n\t\tconst table = item.getAttribute('table');\n\t\tif (table && parentItem.tableName !== table) isForeign = true;\n\n\t\tconst type = item.getAttribute('type');\n\t\tconst isIndexed = item.getAttribute('indexed') == 'yes';\n\t\tlet reference = item.getAttribute('reference');\n\t\tif (!reference || type == 'glide_list') reference = '';\n\n\t\tif (reference) {\n\t\t\ttableName = reference;\n\t\t}\n\n\t\tconst node = {\n\t\t\tid: label + item.getAttribute('type'),\n\t\t\tlabel,\n\t\t\tclass: item.getAttribute('reference'),\n\t\t\tchildren: [],\n\t\t\tactionable: true,\n\t\t\tchildrenAvailable: item.getAttribute('reference') ? 1 : 0,\n\t\t\tvalue,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: nodeName,\n\t\t\t\t\tclickActionType: 'click',\n\t\t\t\t\ticon: getTreeNodeTypeIcon(isIndexed, type, tableName, isForeign)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: table,\n\t\t\t\t\tclickActionType: 'click',\n\t\t\t\t\ticon: 'tree-view-short-outline'\n\t\t\t\t}\n\t\t\t],\n\t\t\tnodeName,\n\t\t\tnodeLabel,\n\t\t\ttableName\n\t\t};\n\t\tnodes.push(node);\n\t}\n\n\treturn nodes;\n}\n\nexport { findChildPath, parseTree };","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD_MESSAGE_TYPES } from '../constants';\n\n/**\n * TODO - Remove this file when all components are converted to seismic components\n * Basic props that are common to nearly all form components.\n */\n\nexport default class ComponentBase extends React.Component {\n\tstatic displayName = 'Any Component';\n\tstatic propTypes = {\n\t\t/** Seismic dispatcher */\n\t\tdispatch: PropTypes.func,\n\n\t\t/** Unique identifier for the component. */\n\t\tcomponentId: PropTypes.string.isRequired,\n\n\t\t/** Data returned by one of the Seismic resource handlers */\n\t\tresources: PropTypes.object,\n\n\t\t/** Asynchronous Message Bus (AMB) API */\n\t\tchannels: PropTypes.object,\n\t\t/**\n\t\t * array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\t\tPropTypes.string,\n\t\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t\t])\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: PropTypes.object,\n\t\t/**\n\t\t * Name of the field\n\t\t */\n\t\tfieldName: PropTypes.any,\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t */\n\n\t\ttableName: PropTypes.string,\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t */\n\t\trecordSysId: PropTypes.string,\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t */\n\t\tname: PropTypes.string,\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t */\n\t\tlabel: PropTypes.string,\n\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t */\n\t\tvalue: PropTypes.string,\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t */\n\t\tonValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t */\n\t\tonStagedValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t */\n\t\tdescription: PropTypes.string,\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t */\n\t\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tautofocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t */\n\t\tslot: PropTypes.string,\n\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t */\n\t\t'aria-label': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t */\n\t\t'config-aria': PropTypes.object,\n\n\t\tfieldType: PropTypes.string,\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: PropTypes.bool,\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: PropTypes.bool\n\t};\n\tstatic defaultProps = {\n\t\tcomponentId: 'id',\n\t\tshowAIIndicator: false,\n\t\tisModified: false\n\t};\n}\n","/**\n * TODO - Remove this file once all react components are converted.\n * Use SeismicComponentFieldPropDefaults wherever needed.\n *\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ComponentBase from './ComponentBase';\n\n/**\n * Prop types for controlled components. Note that this is just a subset of the\n * [React events](https://reactjs.org/docs/events.html#supported-events). The\n * payload for each event is identical to the React event.\n */\nexport default class ControlledField extends React.Component {\n\tstatic displayName = 'Controlled Fields';\n\tstatic propTypes = {\n\t\t...ComponentBase.propTypes,\n\n\t\t/**\n\t\t * onChange event callback\n\t\t */\n\t\tonChange: PropTypes.func,\n\n\t\t/**\n\t\t * onSelect event callback\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: PropTypes.func,\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: PropTypes.func\n\t};\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { noop, isFunction, values, size } from 'lodash';\nimport { nodeContainsFocus, isNodeInEventPath } from '../utils/dom';\nimport {\n\taddOutsideScrollListener,\n\tremoveOutsideScrollListener\n} from '../utils/outside-scroll';\n\n/**\n * Execute a callback when the node loses focus (either by tabbing off the\n * element or clicking outside).\n *\n * @returns an object containing a `remove()` method to clean up event\n * handlers.\n */\nexport function onLeave(node, callback, { handleOutsideScroll }) {\n\tconst singleNode = Array.isArray(node) ? node[0] : node;\n\n\tfunction keyboardHandler(event) {\n\t\t// This setTimeout is here in order to prevent the race condition between\n\t\t// the callback and the keydown event firing. Keydown event happens BEFORE\n\t\t// focus is lost, where mousedown happens AFTER. Without the setTimeout,\n\t\t// mouse clicks work fine, but pressing TAB does not register as leaving\n\t\t// the field.\n\t\tsetTimeout(() => {\n\t\t\tif (!nodeContainsFocus(node)) {\n\t\t\t\tcallback(event);\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction mouseHandler(event) {\n\t\tif (!isNodeInEventPath(node, event)) {\n\t\t\tcallback(event);\n\t\t}\n\t}\n\n\tfunction scrollHandler(event) {\n\t\tcallback(event);\n\t\tnode.forEach(n => n.blur());\n\t}\n\n\tdocument.addEventListener('mousedown', mouseHandler);\n\tdocument.addEventListener('keydown', keyboardHandler);\n\tif (handleOutsideScroll) {\n\t\taddOutsideScrollListener(singleNode, scrollHandler);\n\t}\n\n\treturn {\n\t\tremove: () => {\n\t\t\tdocument.removeEventListener('mousedown', mouseHandler);\n\t\t\tdocument.removeEventListener('keydown', keyboardHandler);\n\t\t\tremoveOutsideScrollListener(singleNode);\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\n/**\n * Component that handles focus state management setup and cleanup across\n * separate nodes. This is typically used to defer blur events on an input when\n * a sibling dropdown is active.  It will wrap the component passed through and\n * handle calling the passed in `onBlur` when focus leaves the component(s) set\n * by `setFocusTarget`.\n *\n * The child must be a function that returns a React element. The function\n * will be called with a `setFocusTarget` parameter that the child can use to flag\n * specific nodes that need to listen to blur events.\n *\n * Call setFocusTarget with a string that acts as a key to handle multiple refs and duplicates. Then pass that result through\n * to any ref prop in a Component. i.e. <Component ref={setFocusTarget('my-key')} />\n *\n * @param {function} props.onBlur - The function to call when focus is lost\n * @param {function} props.children - The child *must* be a function that returns your actual component.\n *\n * @example\n * const handleBlur = () => console.log(\"no longer active!\");\n *\n * const Component = ({ isActive }) => (\n *   <FocusWatcher onBlur={handleBlur}>\n *     { setFocusTarget => (\n *       // my real component\n *       <input ref={setFocusTarget('my-ref')} />\n *     )}\n *   <\/FocusWatcher>\n * )\n */\nexport default class FocusWatcher extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tif (!isFunction(props.children)) {\n\t\t\tthrow new Error('The child must be a function');\n\t\t}\n\n\t\tthis.nodes = {};\n\t\tthis.globalListener = null;\n\t\tthis.focused = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.globalListener && this.globalListener.remove();\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (this.props.onBlur !== nextProps.onBlur) {\n\t\t\tthis.setupGlobalListener(nextProps.onBlur);\n\t\t}\n\t}\n\n\tsetupGlobalListener = callback => {\n\t\tif (this.globalListener) {\n\t\t\tthis.globalListener = this.globalListener.remove();\n\t\t}\n\n\t\tif (size(this.nodes) > 1) {\n\t\t\tthis.globalListener = onLeave(values(this.nodes), callback, {\n\t\t\t\thandleOutsideScroll: this.props.handleOutsideScroll\n\t\t\t});\n\t\t}\n\t};\n\n\tsetFocusTarget = key => {\n\t\treturn ref => {\n\t\t\tif (ref === null) {\n\t\t\t\tdelete this.nodes[key];\n\t\t\t} else {\n\t\t\t\tthis.nodes[key] = ref;\n\t\t\t\tref.addEventListener('blur', this.onNodeBlur);\n\t\t\t\tref.addEventListener('focus', this.onFocus);\n\t\t\t}\n\n\t\t\tthis.setupGlobalListener(this.onGlobalBlur);\n\n\t\t\treturn ref;\n\t\t};\n\t};\n\n\tonNodeBlur = (...args) => {\n\t\tif (size(this.nodes) <= 1) {\n\t\t\tthis.focused = false;\n\t\t\tthis.onGlobalBlur(...args);\n\t\t}\n\t};\n\n\tonGlobalBlur = (...args) => {\n\t\tif (!this.props.persistant || (this.props.persistant && this.focused)) {\n\t\t\tthis.focused = false;\n\t\t\tthis.props.onBlur(...args);\n\t\t}\n\t};\n\n\tonFocus = () => {\n\t\tthis.focused = true;\n\t};\n\n\trender() {\n\t\treturn this.props.children(this.setFocusTarget);\n\t}\n}\n\nFocusWatcher.propTypes = {\n\tchildren: PropTypes.func.isRequired,\n\tonBlur: PropTypes.func,\n\thandleOutsideScroll: PropTypes.bool\n};\n\nFocusWatcher.defaultProps = {\n\tonBlur: noop,\n\thandleOutsideScroll: false\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t} });","import PropTypes from 'prop-types';\nimport { isFunction } from 'lodash';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\n/**\n * TODO - \tThis component might not be required when Textarea and DumbTextInput are migrated to seismic\n * \t\t\tRevisit once these components are migrated to Seismic\n *\n * React does not always play nicely with WebComponents, especially when they\n * are polyfilled by ShadyDOM. We have some cases where `onBlur` or `onFocus`\n * is not correctly called in Firefox or IE, but natively attaching an event is\n * all good.\n *\n * https://code.devsnc.com/dev/sn-component-form-controls/pull/124\n *\n * This component expects a single child and hijacks any `onBlur` or `onFocus`\n * callback, replacing it with a native event instead.\n *\n * Will throw an exception with multiple children, or when the single child is\n * not a React component... so don't go passing stupid values in.\n */\nexport default class ShadyDOMEventFixer extends React.PureComponent {\n\tstatic propTypes = {\n\t\tchildren: PropTypes.element\n\t};\n\n\taddListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.addEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.addEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tremoveListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.removeEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.removeEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.addListeners(this.props);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.removeListeners(this.props);\n\t\tthis.addListeners(nextProps);\n\t}\n\n\trender() {\n\t\tconst child = React.Children.only(this.props.children);\n\t\tif (\n\t\t\twindow.ShadyDOM &&\n\t\t\t(isFunction(child.props.onBlur) || isFunction(child.props.onFocus))\n\t\t) {\n\t\t\treturn React.cloneElement(child, {\n\t\t\t\t...child.props,\n\t\t\t\tonBlur: undefined,\n\t\t\t\tonFocus: undefined\n\t\t\t});\n\t\t}\n\n\t\treturn child;\n\t}\n}","export default function camelCase(str) {\n    return str.replace( /[-_]+/g, ' ')\n        .replace( /[^\\w\\s]/g, '')\n        .replace( / (.)/g, $1 => $1.toUpperCase())\n        .replace( / /g, '')\n        .replace(/^./g, $1 => $1.toLowerCase());\n}","export const ATTRIBUTES = [\n\t'component-id',\n\t'listen-to',\n\t'path',\n\t'context',\n\t'context-modifier',\n\t'key',\n\t'dangerouslySetInnerHTML',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'alt',\n\t'async',\n\t'autocomplete',\n\t'autofocus',\n\t'autoplay',\n\t'capture',\n\t'checked',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'draggable',\n\t'dropzone',\n\t'hidden',\n\t'href',\n\t'hreflang',\n\t'http-equiv',\n\t'icon',\n\t'id',\n\t'is',\n\t'maxlength',\n\t'minlength',\n\t'media',\n\t'method',\n\t'multiple',\n\t'name',\n\t'placeholder',\n\t'readonly',\n\t'rel',\n\t'required',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'selected',\n\t'slot',\n\t'src',\n\t'tabindex',\n\t'target',\n\t'title',\n\t'type',\n\t'value'\n];\n\nexport const MAPPED_TO_PROPS = [\n\t'value'\n];\n","const x = 2147483648;\nconst baseId =\n\tMath.floor(Math.random() * x).toString(36) +\n\tMath.abs(Math.floor(Math.random() * x) ^ Date.now()).toString(36);\n\nlet count = 0;\nfunction guid() {\n\tcount = count + 1;\n\treturn `${baseId}-${count}`;\n}\n\nconst callAsync = Promise.resolve().then.bind(Promise.resolve());\n\nconst shadowRootToSharedAccessibilityTargets = new Map();\nconst shadowRootToAccessibilityTargetsItemsQueue = new Map();\n\nconst shadowRootToAriaRefs = new Map();\nconst shadowRootToAriaRefsQueue = new Map();\n\nexport default function ariaRefHelpers(name, props) {\n\tif (typeof name !== 'string') {\n\t\treturn {handleAriaAccessibility: () => {}, ariaSetVnode: () => {}, requiresRef: false};\n\t}\n\t/**\n\t * Array<{\n\t *   targetRef: AriaRef,\n\t *   id: string,\n\t *   ariaAttribute: string,\n\t *   callback?: (targetRef: AriaRef) => {},\n\t *   currentClone?: Element,\n\t *   element?: Element\n\t * }>\n\t */\n\tconst accessibilityTargets = []; \n\tif (typeof name === 'string') {\n\t\tfor (const propName in props) {\n\t\t\tif (propName.startsWith('aria-') && props[propName] && typeof props[propName].subscribe === 'function') {\n\t\t\t\tconst id = `a${guid()}`;\n\t\t\t\tconst targetRef = props[propName];\n\t\t\t\tprops[propName] = id;\n\t\t\t\taccessibilityTargets.push({targetRef, id, ariaAttribute: propName})\n\t\t\t}\n\t\t}\n\t}\n\n\tlet ariaRef;\n\tif (props && props['now-aria-ref']) {\n\t\tariaRef = props['now-aria-ref'];\n\t\tdelete props['now-aria-ref'];\n\t}\n\t\n\tfunction createAriaRefHierarchy(node) {\n\t\tif (!node) {\n\t\t\tariaRef.setCurrent(node);\n\t\t\treturn;\n\t\t}\n\n\t\tconst ariaRefShadowRoot = node.getRootNode();\n\t\tlet ariaRefAssignments = shadowRootToAriaRefs.get(ariaRefShadowRoot);\n\t\tif (!ariaRefAssignments) {\n\t\t\tariaRefAssignments = [];\n\t\t\tshadowRootToAriaRefs.set(ariaRefShadowRoot, ariaRefAssignments);\n\t\t}\n\t\tariaRefAssignments.push({ariaRef, element: node});\n\n\t\tcallAsync(() => {\n\t\t\tlet ariaRefsQueue = shadowRootToAriaRefsQueue.get(ariaRefShadowRoot);\n\t\t\tif (!ariaRefsQueue) {\n\t\t\t\tariaRefsQueue = [];\n\t\t\t\tshadowRootToAriaRefsQueue.set(ariaRefShadowRoot, ariaRefsQueue);\n\t\t\t}\n\t\t\tariaRefsQueue.push(ariaRef);\n\n\t\t\tif (ariaRefsQueue.length === ariaRefAssignments.length) {\n\t\t\t\tshadowRootToAriaRefs.delete(ariaRefShadowRoot);\n\t\t\t\tshadowRootToAriaRefsQueue.delete(ariaRefShadowRoot);\n\n\t\t\t\tconst assignments = ariaRefAssignments.reverse(); // Reverse so that children always come after parents\n\t\t\t\tconst ariaRefToAssignment = new Map();\n\t\t\t\tfor (let i = 0; i < assignments.length; i++) {\n\t\t\t\t\tconst ariaRefAssignment = assignments[i];\n\n\t\t\t\t\tariaRefToAssignment.set(ariaRefAssignment.ariaRef, ariaRefAssignment);\n\t\t\t\t\t// We know that a parent of an ariaRef will always be before\n\t\t\t\t\t// it in the refs array. We can use this knowledge to efficiently figure out\n\t\t\t\t\t// each ariaRef's parent ariaRef\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\tlet possibleParentAriaRef = assignments[i - 1].ariaRef;\n\t\t\t\t\t\twhile (possibleParentAriaRef) {\n\t\t\t\t\t\t\tif (possibleParentAriaRef.contains(ariaRefAssignment.element)) {\n\t\t\t\t\t\t\t\tpossibleParentAriaRef.setChildQuerySelector(\n\t\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef,\n\t\t\t\t\t\t\t\t\tbuildQuerySelector(\n\t\t\t\t\t\t\t\t\t\tariaRefToAssignment.get(possibleParentAriaRef).element,\n\t\t\t\t\t\t\t\t\t\tariaRefAssignment.element\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef.setParentAriaRef(possibleParentAriaRef);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tpossibleParentAriaRef = possibleParentAriaRef.getParentAriaRef();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tariaRefAssignment.ariaRef.setCurrent(ariaRefAssignment.element);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction handleAriaAccessibility(node) {\n\t\tif (ariaRef) {\n\t\t\tcreateAriaRefHierarchy(node);\n\t\t}\n\n\t\tfor (const item of accessibilityTargets) {\n\t\t\titem.element = node;\n\n\t\t\tif (!node) {\n\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\titem.currentClone = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (item.callback) {\n\t\t\t\t\titem.targetRef.unsubscribe({element: node, attribute: item.ariaAttribute});\n\t\t\t\t\titem.callback = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfunction callback(targetRef) {\n\t\t\t\tif (!targetRef || !targetRef.isSet()) {\n\t\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\t\titem.currentClone = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.removeAttribute(item.ariaAttribute);\n\t\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tnode.setAttribute(item.ariaAttribute, item.id)\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If the element and target are in the same shadowRoot, don't clone the target\n\t\t\t\t// but instead just add the id to the target\n\t\t\t\tif (node.getRootNode() === targetRef.getRootNode()) {\n\t\t\t\t\tconst id = targetRef.getAttribute('id');\n\t\t\t\t\tif (id) {\n\t\t\t\t\t\tnode.setAttribute(item.ariaAttribute, id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttargetRef.setId(item.id);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst sourceShadowRoot = node.getRootNode();\n\t\t\t\tlet sharedAccessibilityTargets = shadowRootToSharedAccessibilityTargets.get(sourceShadowRoot);\n\t\t\t\tif (!sharedAccessibilityTargets) {\n\t\t\t\t\tsharedAccessibilityTargets = new Set();\n\t\t\t\t\tshadowRootToSharedAccessibilityTargets.set(sourceShadowRoot, sharedAccessibilityTargets);\n\t\t\t\t}\n\t\t\t\tsharedAccessibilityTargets.add(item);\n\n\t\t\t\tcallAsync(() => {\n\t\t\t\t\tconst targetShadowRoot = targetRef.getRootNode();\n\t\t\t\t\n\t\t\t\t\tconst targetItemsWithSharedShadow = Array.from(sharedAccessibilityTargets).filter(\n\t\t\t\t\t\tt => t.targetRef.isSet() && t.targetRef.getRootNode() === targetShadowRoot\n\t\t\t\t\t);\n\t\n\t\t\t\t\tlet targetItemsSharedShadowQueue = shadowRootToAccessibilityTargetsItemsQueue.get(targetShadowRoot);\n\t\t\t\t\tif (!targetItemsSharedShadowQueue) {\n\t\t\t\t\t\ttargetItemsSharedShadowQueue = new Set();\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.set(targetShadowRoot, targetItemsSharedShadowQueue);\n\t\t\t\t\t}\n\t\t\t\t\ttargetItemsSharedShadowQueue.add(item);\n\t\n\t\t\t\t\tif (targetItemsSharedShadowQueue.size === targetItemsWithSharedShadow.length) {\n\t\t\t\t\t\thandleAccessibilityTargets(targetItemsSharedShadowQueue);\n\t\t\t\t\t\tshadowRootToSharedAccessibilityTargets.delete(sourceShadowRoot);\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.delete(targetShadowRoot);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\t\n\t\t\t// Subscribe for any changes to the aria ref so we can replace the cloned node\n\t\t\titem.callback = callback;\n\t\t\titem.targetRef.subscribe({element: node, attribute: item.ariaAttribute}, callback);\n\t\t}\n\t}\n\n\tfunction ariaSetVnode(vnode) {\t\n\t\tfor (let i = 0; i < accessibilityTargets.length; i++) {\n\t\t\tconst item = accessibilityTargets[i];\n\t\t\titem.vnode = vnode;\n\t\t}\n\t}\n\n\treturn {handleAriaAccessibility, ariaSetVnode, requiresRef: !!(ariaRef || accessibilityTargets.length)};\n}\n\nfunction handleAccessibilityTargets(targetItemsShadowQueue) {\n\t// Separate ariaRefs that do and do not have a parent.\n\t// Those without a parent are the refs that should be cloned\n\tconst targetRefToTreeNode = new Map();\n\tconst targetItemRoots = [];\n\tconst targetItems = Array.from(targetItemsShadowQueue);\n\tfor (let i = 0; i < targetItems.length; i++) {\n\t\tconst targetItem = targetItems[i];\n\n\t\tlet treeNode = targetRefToTreeNode.get(targetItem.targetRef);\n\t\tif (!treeNode) {\n\t\t\ttreeNode = {\n\t\t\t\ttargetItems: [],\n\t\t\t\tchildren: [],\n\t\t\t\ttargetRef: targetItem.targetRef,\n\t\t\t\tparentTargetRef: null\n\t\t\t};\n\t\t\ttargetRefToTreeNode.set(targetItem.targetRef, treeNode);\n\t\t}\n\t\ttreeNode.targetItems.push(targetItem);\n\n\t\tlet parentAriaRef = targetItem.targetRef.getParentAriaRef();\n\t\twhile (parentAriaRef) {\n\t\t\tif (targetItems.find(item => item.targetRef === parentAriaRef)) {\n\t\t\t\tlet parentNode = targetRefToTreeNode.get(parentAriaRef);\n\t\t\t\tif (!parentNode) {\n\t\t\t\t\tparentNode = {\n\t\t\t\t\t\ttargetItems: [],\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\ttargetRef: parentAriaRef,\n\t\t\t\t\t\tparentTargetRef: null\n\t\t\t\t\t};\n\t\t\t\t\ttargetRefToTreeNode.set(parentAriaRef, parentNode);\n\t\t\t\t}\n\n\t\t\t\ttreeNode.parentTargetRef = parentAriaRef;\n\t\t\t\tparentNode.children.push(targetItem);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tparentAriaRef = parentAriaRef.getParentAriaRef();\n\t\t}\n\n\t\tif (!parentAriaRef)\n\t\t\ttargetItemRoots.push(targetItem);\n\t}\n\n\t// Loop over targetItemRoots:\n\t// For each one, if it hasn't been cloned yet, clone into DOM and then for each child:\n\t// If it hasn't been handled yet, create the query selector from the child targetRef to the\n\t// parent targetRef, then use that selector on the cloned item, then edit the returned element\n\t// to have the correct id\n\tconst cloned = new Map();\n\tconst targetRefToQuerySelector = new Map();\n\tfor (let i = 0; i < targetItemRoots.length; i++) {\n\t\tconst rootTargetItem = targetItemRoots[i];\n\t\tconst firstItemWithTargetRef = cloned.get(rootTargetItem.targetRef);\n\t\trootTargetItem.element.setAttribute(\n\t\t\trootTargetItem.ariaAttribute,\n\t\t\tfirstItemWithTargetRef ? firstItemWithTargetRef.id : rootTargetItem.id\n\t\t);\n\t\tif (!firstItemWithTargetRef) {\n\t\t\tcloned.set(rootTargetItem.targetRef, rootTargetItem);\n\n\t\t\tconst clone = rootTargetItem.targetRef.cloneNode(true);\n\t\t\tclone.id = rootTargetItem.id;\n\t\t\tclone.setAttribute('aria-hidden', true);\n\n\t\t\tconst container = document.createElement('div');\n\t\t\tcontainer.style =\n\t\t\t\t'position: absolute; overflow: hidden; width: 1px; height: 1px; margin: 0; border: none; padding: 0; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%);';\n\t\t\tcontainer.appendChild(clone);\n\n\t\t\tif (rootTargetItem.currentClone && rootTargetItem.currentClone.parentNode)\n\t\t\t\trootTargetItem.currentClone.parentNode.removeChild(rootTargetItem.currentClone);\n\n\t\t\trootTargetItem.element.getRootNode().appendChild(container);\n\t\t\trootTargetItem.currentClone = container;\n\t\t}\n\n\t\tlet children = [...targetRefToTreeNode.get(rootTargetItem.targetRef).children];\n\t\ttargetRefToQuerySelector.set(rootTargetItem.targetRef, '');\n\t\twhile (children.length) {\n\t\t\tconst childItem = children.shift();\n\n\t\t\tconst firstItemWithTargetRef = cloned.get(childItem.targetRef);\n\t\t\tconst itemId = firstItemWithTargetRef ? firstItemWithTargetRef.id : childItem.id;\n\t\t\tchildItem.element.setAttribute(childItem.ariaAttribute, itemId);\n\t\t\tif (!firstItemWithTargetRef) {\n\t\t\t\tcloned.set(childItem.targetRef, childItem);\n\n\t\t\t\tconst treeNode = targetRefToTreeNode.get(childItem.targetRef);\n\t\t\t\tconst selections = [];\n\n\t\t\t\tlet currentParent;\n\t\t\t\tlet currentChild = childItem.targetRef;\n\t\t\t\tdo {\n\t\t\t\t\tcurrentParent = currentChild.getParentAriaRef();\n\t\t\t\t\tconst partialSelector = currentParent.getChildQuerySelector(currentChild);\n\t\t\t\t\tselections.push(partialSelector);\n\t\t\t\t\tcurrentChild = currentParent;\n\t\t\t\t} while (currentParent !== rootTargetItem.targetRef);\n\n\t\t\t\tconst selector = selections.reverse().join(' > ');\n\t\t\t\tconst node = rootTargetItem.currentClone.querySelector(selector);\n\n\t\t\t\tnode.id = itemId;\n\t\t\t\tchildren = children.concat(treeNode.children);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction buildQuerySelector(parent, child) {\n\tconst path = [];\n\tlet el = child;\n\twhile (el !== parent) {\n\t\tlet position = 0;\n\t\tlet current = el;\n\t\twhile (current) {\n\t\t\tif (current.tagName === el.tagName)\n\t\t\t\tposition += 1;\n\n\t\t\tcurrent = current.previousElementSibling;\n\t\t}\n\n\t\tpath.push(`${el.tagName.toLowerCase()}:nth-of-type(${position})`);\n\n\t\tel = el.parentNode;\n\t}\n\n\treturn path.reverse().join(' > ');\n}","import React from 'react';\nimport camelCase from './camelCase';\nimport {ATTRIBUTES, MAPPED_TO_PROPS} from './constants';\nimport ariaRefHelpers from './ariaRefHelpers';\n\nexport default function createElement(name, props = {}, ...children) {\n\tfunction isSeismicComponent(name) {\n\t\treturn typeof name === 'string' && name.indexOf('-') !== -1;\n\t}\n\n\tfunction isAttribute(name) {\n\t\treturn ATTRIBUTES.indexOf(name) !== -1\n\t\t\t|| name.startsWith('aria-')\n\t\t\t|| name.startsWith('data-');\n\t}\n\n\tfunction isMappedToProps(name) {\n\t\treturn MAPPED_TO_PROPS.indexOf(name) !== -1;\n  }\n  \n  const {handleAriaAccessibility, ariaSetVnode, requiresRef} = ariaRefHelpers(name, props);\n\t\n\tif (props && !!Object.keys(props).length && isSeismicComponent(name)) {\n\t\tconst existingRef = props.ref && typeof props.ref === 'function' && props.ref;\n\t\tconst attributes = {};\n\t\tconst properties = {};\n\n\t\tfor (const name in props) {\n\t\t\tif (isAttribute(name))\n\t\t\t\tattributes[name] = props[name];\n\t\t\telse\n\t\t\t\tproperties[camelCase(name)] = props[name];\n\n\t\t\tif (isMappedToProps(name))\n\t\t\t\tproperties[name] = props[name];\n\t\t}\n\n\t\tif (!!Object.keys(properties).length) {\n\t\t\tconst vnode = React.createElement(\n\t\t\t\tname,\n\t\t\t\tObject.assign({}, attributes, {ref: node => {\n\t\t\t\t\thandleAriaAccessibility(node);\n\t\t\t\t\t\n\t\t\t\t\tif (!node)\n\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\n\t\t\t\t\texistingRef && existingRef(node);\n\t\t\t\t\tObject.assign(node, properties);\n\t\t\t\t}}),\n\t\t\t\t...children\n      );\n\n      ariaSetVnode(vnode);\n\n      return vnode;\n\t\t}\n\t}\n\n  if (requiresRef) {\n    const vnode = React.createElement(\n      name,\n      {\n        ...props,\n        ref: node => {\n          handleAriaAccessibility(node);\n          \n          if (props && props.ref) {\n            props.ref(node);\n          }\n        }\n      },\n      ...children\n    );\n  \n    ariaSetVnode(vnode);\n    \n    return vnode;\n  } else {\n    return React.createElement(name, props, ...children);\n  }\n}\n","import '@servicenow/now-highlighted-value';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isEmpty } from 'lodash';\nimport React from 'react';\n\n// TODO: Currently React components supports only React fragments\n// To be removed in future when all components are migrated to Snabdom\nexport const renderHighlightedValueReact = highlightedValue => {\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = highlightedValue || {};\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t{!isEmpty(highlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t><\/now-highlighted-value>\n\t\t\t)}\n\t\t<\/React.Fragment>\n\t);\n};\n","import React from 'react';\n\n//TODO - Can be removed once all components are converted to seismic\nexport const ForwardProperties = Component =>\n\tfunction RegisteredComponent({ properties, ...rest }) {\n\t\treturn React.createElement(Component, {\n\t\t\t...properties,\n\t\t\t...rest,\n\t\t\tproperties\n\t\t});\n\t};\n","/**\n * HOC to provide normalized `dispatch`, `onValueChange`, and\n * `onStagedValueChange` prop functions for wrapped components.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n *   this.props.onValueChange({ value: 'the value' });\n *   this.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, this HOC also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n */\nimport {\n\tisEqualWith,\n\tisFunction,\n\tisNil,\n\tnoop,\n\tpick,\n\tisObject,\n\tcamelCase,\n\tcurry,\n\tisUndefined,\n\tset\n} from 'lodash';\nimport React from 'react';\n\nconst allLowerCase = s => camelCase(s).toLowerCase();\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n\nconst createHOC = curry(\n\t(\n\t\t{\n\t\t\tinitialValueProp = 'value',\n\t\t\tinitialDisplayValueProp = 'displayValue',\n\t\t\tcache = true,\n\t\t\tstopBubbling = []\n\t\t},\n\t\tControl\n\t) =>\n\t\tclass OnValueChangeProvider extends React.Component {\n\t\t\tstatic displayName = `OnValueChangeProvider(${\n\t\t\t\tControl.name || Control.displayName || 'Component'\n\t\t\t})`;\n\t\t\tstatic behaviors = Control.behaviors;\n\t\t\tstatic defaultProps = Control.defaultProps;\n\t\t\tstatic propTypes = Control.propTypes;\n\t\t\tstatic properties = Control.properties;\n\t\t\tstatic style = Control.style;\n\t\t\tstatic initialState = Control.initialState;\n\t\t\tstatic actionHandlers = stopBubbling.reduce((acc, curr) => {\n\t\t\t\tif (curr.indexOf('#') !== -1) {\n\t\t\t\t\tset(acc, curr, { stopPropagation: true });\n\t\t\t\t} else {\n\t\t\t\t\tset(acc, `${curr}#VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t\tset(acc, `${curr}#STAGED_VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, Control.actionHandlers);\n\n\t\t\tconstructor(props) {\n\t\t\t\tsuper(props);\n\t\t\t\tthis.componentName = Control.componentName || props.componentName;\n\t\t\t\tthis.componentNameWithHash = this.componentName\n\t\t\t\t\t? `${this.componentName\n\t\t\t\t\t\t\t.replace(new RegExp('-', 'g'), '_')\n\t\t\t\t\t\t\t.toUpperCase()}#`\n\t\t\t\t\t: '';\n\t\t\t\tthis.state = {\n\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(props),\n\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcomponentWillReceiveProps(newProps) {\n\t\t\t\tif (\n\t\t\t\t\tnewProps.onValueChange !== this.props.onValueChange ||\n\t\t\t\t\tnewProps.onStagedValueChange !== this.props.onStagedValueChange ||\n\t\t\t\t\tnewProps.dispatch !== this.props.dispatch ||\n\t\t\t\t\tnewProps.name !== this.props.name\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(newProps)\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tnewProps[initialValueProp] !== this.props[initialValueProp] ||\n\t\t\t\t\tnewProps[initialDisplayValueProp] !==\n\t\t\t\t\t\tthis.props[initialDisplayValueProp]\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdoesPayloadMatchCache(payload, actionType) {\n\t\t\t\tconst cache = this.state.dispatchCache[actionType];\n\n\t\t\t\tif (!cache) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst compare = (a, b) => {\n\t\t\t\t\t// treat null and undefined as equal\n\t\t\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// returning `undefined` to default to normal `isEqual` behavior\n\t\t\t\t};\n\t\t\t\t//ignoring cache when onValueChange is called from onBlur. We need to notify form even when the user enters the same value consecutively multiple times. This is done to maintain parity with platform so that onChange client script can be run for every value change.\n\t\t\t\treturn (\n\t\t\t\t\t!payload.ignoreCache &&\n\t\t\t\t\tisEqualWith(payload.error, cache.error, compare) &&\n\t\t\t\t\tisEqualWith(payload.value, cache.value, compare) &&\n\t\t\t\t\tisEqualWith(payload.displayValue, cache.displayValue, compare)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcreateValueChangeCallbacks(props) {\n\t\t\t\tconst callbackAndDispatch = (callback, actionType) => payload => {\n\t\t\t\t\tif (!isObject(payload)) {\n\t\t\t\t\t\tpayload = {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't emit anything if the data hasn't actually changed...\n\t\t\t\t\tif (cache && this.doesPayloadMatchCache(payload, actionType)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!payload.name && props.name) {\n\t\t\t\t\t\tpayload = {\n\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\tname: props.name\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tadaptCallbackForLegacyAPI(callback)(payload);\n\n\t\t\t\t\t// When a direct callback is provided, just use that instead of\n\t\t\t\t\t// dispatching.\n\t\t\t\t\tif (\n\t\t\t\t\t\tisFunction(props.dispatch) &&\n\t\t\t\t\t\t(!isFunction(callback) || actionType.includes('#'))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We used to put the dispatch data in an extra level of nesting to\n\t\t\t\t\t\t// support old Seismic behavior. Keep that behavior for backwards\n\t\t\t\t\t\t// compatibility, also migrate towards flattening the data.\n\t\t\t\t\t\tprops.dispatch(actionType, {\n\t\t\t\t\t\t\t[allLowerCase(actionType)]: payload,\n\t\t\t\t\t\t\t...payload\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// track value changed calls that go through the callback\n\t\t\t\t\tconst propValue =\n\t\t\t\t\t\tprops.initialValue === undefined ? props.value : props.initialValue;\n\t\t\t\t\tif (\n\t\t\t\t\t\tactionType.includes('#VALUE_CHANGED') &&\n\t\t\t\t\t\t!props.disableTracking &&\n\t\t\t\t\t\tpropValue !== payload.value\n\t\t\t\t\t) {\n\t\t\t\t\t\tprops.dispatch('TRACK', {\n\t\t\t\t\t\t\tmetaData: {\n\t\t\t\t\t\t\t\tname: props.name,\n\t\t\t\t\t\t\t\tfieldType: this.componentName\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cache) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t\t...this.state.dispatchCache,\n\t\t\t\t\t\t\t\t[actionType]: pick(payload, ['value', 'displayValue', 'error'])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn payload;\n\t\t\t\t};\n\n\t\t\t\treturn {\n\t\t\t\t\tonValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}VALUE_CHANGED`\n\t\t\t\t\t),\n\t\t\t\t\tonStagedValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onStagedValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}STAGED_VALUE_CHANGED`\n\t\t\t\t\t),\n\n\t\t\t\t\tdispatch: isFunction(props.dispatch) ? props.dispatch : noop\n\t\t\t\t};\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn <Control {...this.props} {...this.state.callbacks} />;\n\t\t\t}\n\t\t}\n);\n\n// allow first param config to be optional\nexport default (configOrControl, ...args) => {\n\t// withValueChangeCallbacks(Component)\n\tif (isFunction(configOrControl)) {\n\t\treturn createHOC({}, configOrControl);\n\t}\n\n\t// withValueChangeCallbacks(config, Component) or\n\t// withValueChangeCallbacks(config)(Component)\n\treturn createHOC(configOrControl, ...args);\n};\n","import ControlledField from './ControlledField';\nimport ComponentBase from './ComponentBase';\n\nexport { onLeave, default as FocusWatcher } from './FocusWatcher';\nexport { default as ShadyDOMEventFixer } from './ShadyDOMEventFixer';\nexport { renderHighlightedValueReact } from './renderHighlightedValueReact';\nexport { ForwardProperties } from './forwardProperties';\n\nexport { default as withValueChangeCallbacks } from './withValueChangeCallbacks';\n\nexport const fieldPropTypes = ComponentBase.propTypes;\nexport const controlledFieldPropTypes = ControlledField.propTypes;\n","import { isFunction, isObject, isUndefined } from 'lodash';\n\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { debounce, curry, find } from 'lodash';\n\nimport { pick, get, isNil, isEqualWith } from './utils';\n\nimport { adaptCallbackForLegacyAPI } from './withValueChangeCallbacks';\nimport { CALLBACK_AND_DISPATCH } from './constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const behavior = 'withValueChangeCallbackBehavior';\n\nconst createCallbacks = (dispatch, { onValueChange, onStagedValueChange }) => {\n\tconst createdCallback = curry((callback, isValueChanged, dispatchPayload) => {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback,\n\t\t\tisValueChanged,\n\t\t\tdispatchPayload\n\t\t});\n\t});\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounce(\n\t\t\tcreatedCallback(onStagedValueChange, false),\n\t\t\t250\n\t\t)\n\t};\n};\n\nexport const withValueChangeCallbacksView = view => (state, helpers) => {\n\tif (state.properties.createdCallbacks) {\n\t\treturn view(state, helpers);\n\t}\n\tconst dispatch = state.helpers?.dispatch || helpers?.dispatch;\n\tconst { onValueChange, onStagedValueChange } = createCallbacks(dispatch, {\n\t\tonValueChange: state.properties.onValueChange,\n\t\tonStagedValueChange: state.properties.onStagedValueChange\n\t});\n\treturn view({ ...state, onValueChange, onStagedValueChange }, helpers);\n};\n\nexport const componentConnectedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation }\n\t) =>\n\t({ host, properties, updateState }) => {\n\t\tconst { name } = properties;\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache`,\n\t\t\t\tvalue: {\n\t\t\t\t\t[`${componentName}#VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t},\n\t\t\t\t\t[`${componentName}#STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t};\n\nexport const propertyChangedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation } = {}\n\t) =>\n\t({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value }\n\t\t},\n\t\tupdateState,\n\t\tproperties\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// value can change via props (from forms/client scripting), so we update the dispatchCache\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tif (name === initialValueProp || name === initialDisplayValueProp) {\n\t\t\tconst updateKey = name === initialValueProp ? 'value' : 'displayValue';\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#STAGED_VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t};\n\nexport const callbackAndDispatchEffect =\n\t(behaviorName, { cache, initialValueProp, stopPropagation }) =>\n\t({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tconst actionToDispatch = `${componentName}#${\n\t\t\tisValueChanged ? 'VALUE_CHANGED' : 'STAGED_VALUE_CHANGED'\n\t\t}`;\n\n\t\t// check if payload matches cache, don't do anything if it hasn't changed\n\t\tconst dispatchCache =\n\t\t\tstate.behaviors[behaviorName].dispatchCache?.[actionToDispatch];\n\n\t\tconst compare = (a, b) => {\n\t\t\t// treat null and undefined as equal\n\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t};\n\n\t\t// make sure to give payload name from props if it wasn't given explicitly\n\t\tif (!dispatchPayload.name && properties.name) {\n\t\t\tdispatchPayload.name = properties.name;\n\t\t}\n\n\t\tconst payloadMatchesCache =\n\t\t\tisEqualWith(dispatchPayload.name, dispatchCache?.name, compare) &&\n\t\t\tisEqualWith(dispatchPayload.error, dispatchCache?.error, compare) &&\n\t\t\tisEqualWith(dispatchPayload.value, dispatchCache?.value, compare) &&\n\t\t\tisEqualWith(\n\t\t\t\tdispatchPayload.displayValue,\n\t\t\t\tdispatchCache?.displayValue,\n\t\t\t\tcompare\n\t\t\t);\n\n\t\tif (cache && dispatchCache && payloadMatchesCache) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// call callback\n\t\tadaptCallbackForLegacyAPI(callback)(dispatchPayload);\n\n\t\t// Dispatch seismic action\n\t\tdispatch(actionToDispatch, dispatchPayload);\n\n\t\t// handle tracking that goes through here\n\t\tif (\n\t\t\tisValueChanged &&\n\t\t\tproperties[initialValueProp] !== dispatchPayload.value\n\t\t) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tname: properties.name,\n\t\t\t\t\tfieldType: componentName\n\t\t\t\t},\n\t\t\t\tadditionalOptions: { parentHandling: properties.disableTracking }\n\t\t\t});\n\t\t}\n\n\t\t// if cache, update the cache\n\t\tif (dispatchCache) {\n\t\t\tconst valueChangeAction = `${componentName}#VALUE_CHANGED`;\n\t\t\tconst isStageChangedAction = !isValueChanged;\n\t\t\tconst clearValueChangedCacheUpdate =\n\t\t\t\tproperties.allowFieldChangesAfterEveryStageChange &&\n\t\t\t\tisStageChangedAction\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${valueChangeAction}]`,\n\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: [];\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${actionToDispatch}]`,\n\t\t\t\t\tvalue: pick(dispatchPayload, [\n\t\t\t\t\t\t'value',\n\t\t\t\t\t\t'displayValue',\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\t'name'\n\t\t\t\t\t]),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t...clearValueChangedCacheUpdate\n\t\t\t]);\n\t\t}\n\t};\n\n/**\n * This behavior replaces the withValueChangeCallbacks HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange` prop functions for wrapped components.\n * This has had a significant improvement in typing performance and we can now handle cache in\n * state without triggering re-renders.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n * \tthis.props.onValueChange({ value: 'the value' });\n * \tthis.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, it also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n *  stopBubbling = []\n *\n *\n * ```js\n * import createWithValueChangeCallbackBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithValueChangeCallbackBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withValueChangeCallbacksBehavior\n * @summary Behavior used to normalize OnValueChange and onStagedValueChange callbacks\n */\n\nexport const createWithValueChangeCallbackBehavior = (options = {}) => {\n\tconst {\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tinitialValueProp = 'value',\n\t\tcache = true,\n\t\tstopPropagation = false\n\t} = options;\n\n\treturn {\n\t\tname: behavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[CALLBACK_AND_DISPATCH]: {\n\t\t\t\teffect: ({\n\t\t\t\t\thost,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tproperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: { payload }\n\t\t\t\t}) => {\n\t\t\t\t\tconst { callback, dispatchPayload, isValueChanged } = payload;\n\t\t\t\t\tcallbackAndDispatchEffect(behavior, {\n\t\t\t\t\t\tcache,\n\t\t\t\t\t\tinitialValueProp,\n\t\t\t\t\t\tstopPropagation\n\t\t\t\t\t})({\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tstopPropagation\n\t\t\t}\n\t\t}\n\t};\n};\n","/**\n * Validates an input string based on an array of fieldRegex objects.\n * Each fieldRegex object contains:\n * - pattern: The regular expression pattern to validate the value against.\n * - placeholder: The placeholder string for the expected format.\n * - message: A custom error message to display if validation fails (optional).\n * - type: The type of validation message (default is 'suggestion').\n *\n * @param {string} label - The field label for error messages.\n * @param {string} value - The input value to validate.\n * @param {Array} fieldRegex - An array of objects containing validation rules.\n * @returns {Array} - Returns an empty array if validation passes, or an array with an error message if it fails.\n */\nfunction validateInput(label, value, fieldRegex) {\n\tconst trimmedValue = value.trim();\n\tfor (const field of fieldRegex) {\n\t\tconst { pattern, placeholder = '', guidanceText, type } = field;\n\t\tconst regex = new RegExp(`^${pattern.trim()}$`);\n\n\t\tif (!regex.test(trimmedValue)) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: type || 'suggestion',\n\t\t\t\t\tmessage:\n\t\t\t\t\t\tguidanceText ||\n\t\t\t\t\t\t`Invalid Value. Please enter a valid value for '${label}' in this format: ${placeholder}`\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t}\n\treturn [];\n}\n\nexport { validateInput };\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tdebounce,\n\tisEmpty,\n\ttoString,\n\tomit,\n\tisEqual,\n\tisFunction,\n\tget\n} from 'lodash';\n\nimport { CALLBACK_AND_DISPATCH_WITH_STATE, NOW_INPUT } from './constants';\nimport { isAttrTrue } from './utils';\nimport {\n\tcallbackAndDispatchEffect,\n\tcomponentConnectedEffect,\n\tpropertyChangedEffect\n} from './withValueChangeCallbacksBehavior';\nimport { validateInput } from './validations/onChangeValidation';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const callbackWithStateBehavior = 'withStateBehavior';\n\nconst passthrough = s => ({\n\tvalue: s\n});\n\nconst merge = (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n\nconst debounceDispatch = fn => debounce(fn, 250);\n\nexport const updateAdditionalInfoState = (additionalInfo, updateState) => {\n\tfor (const prop in additionalInfo) {\n\t\tupdateState({\n\t\t\tpath: `${prop}`,\n\t\t\tvalue: additionalInfo[prop],\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t}\n};\n\nexport const createCallbacks = (\n\tdispatch,\n\t{ onValueChange, onStagedValueChange }\n) => {\n\tconst createdCallback =\n\t\t(callback, isValueChanged) =>\n\t\t(dispatchPayload, format = false) => {\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback,\n\t\t\t\tisValueChanged,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tformat\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounceDispatch(\n\t\t\tcreatedCallback(onStagedValueChange, false)\n\t\t)\n\t};\n};\n\nexport const setInitialStateWithValue =\n\t(format = passthrough) =>\n\t({ properties }) => {\n\t\tconst { initialValue, initialDisplayValue } = properties;\n\t\tconst derivedInitialDisplayValue = toString(initialDisplayValue);\n\n\t\tconst { value, ...additionalInfo } = omit(\n\t\t\tformat(toString(initialValue), properties),\n\t\t\t['error']\n\t\t);\n\t\tconst displayValue = derivedInitialDisplayValue || value;\n\t\treturn {\n\t\t\tisSuggestionsOpened: false,\n\t\t\thasFocus: false,\n\t\t\tvalue: displayValue,\n\t\t\tstagedValue: displayValue,\n\t\t\t...additionalInfo\n\t\t};\n\t};\n\nexport const withState = view => (state, helpers) => {\n\tconst { dispatch, updateState } = helpers;\n\tconst { onValueChange, onStagedValueChange } = state.properties;\n\tconst {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback\n\t} = createCallbacks(dispatch, {\n\t\tonValueChange,\n\t\tonStagedValueChange\n\t});\n\tconst { onFocus } = state.properties;\n\tconst onFocusEvent = event => {\n\t\tupdateState({\n\t\t\tpath: 'hasFocus',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t\tif (isFunction(onFocus)) {\n\t\t\tonFocus(event);\n\t\t}\n\t};\n\tconst attrs = {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback,\n\t\tonFocus: onFocusEvent,\n\t\tonChange: (event, encodedValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_CHANGE', {\n\t\t\t\ttargetValue: encodedValue || get(event, 'target.value', ''),\n\t\t\t\tencodedValue\n\t\t\t}),\n\t\tonBlur: (event, targetValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_BLUR', {\n\t\t\t\tevent,\n\t\t\t\ttargetValue: targetValue || event.target.value\n\t\t\t})\n\t};\n\treturn view({ ...state, ...attrs }, helpers);\n};\n\nexport const handleInitialValue = ({\n\trawValue,\n\tnewValue,\n\toldValue,\n\tstate,\n\tproperties,\n\tformat,\n\tupdateState\n}) => {\n\tif ((state.isBlur && !rawValue) || newValue !== oldValue) {\n\t\tconst {\n\t\t\tadditionalInfo: sAdditionalInfo,\n\t\t\tinternalValue,\n\t\t\tvalue: sValue,\n\t\t\terror: sError\n\t\t} = state;\n\t\tconst {\n\t\t\tvalue: formattedValue,\n\t\t\terror,\n\t\t\t...additionalInfo\n\t\t} = format(newValue, properties, sAdditionalInfo);\n\n\t\tconst mergedAdditionalInfo = merge(sAdditionalInfo, additionalInfo);\n\n\t\tif (\n\t\t\tnewValue !== internalValue ||\n\t\t\tformattedValue !== sValue ||\n\t\t\terror !== sError ||\n\t\t\tmergedAdditionalInfo !== sAdditionalInfo\n\t\t) {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue: newValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `error`,\n\t\t\t\t\tvalue: error,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `isBlur`,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t}\n\t}\n};\n\n/**\n * This behavior replaces the withState HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange`, `value`, `additionalInfo` props and functions for wrapped components.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n * \tparse = passthrough,\n *  format = passthrough,\n *  trackInputChange = false\n *\n *\n * ```js\n * import createWithStateBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithStateBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withStateBehavior\n * @summary Behavior used to provide value and additionalInfo in state.\n */\n\nexport const createWithStateBehavior = (options = {}) => {\n\tconst {\n\t\tinitialValueProp = 'value',\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tcache = true,\n\t\tparse = passthrough,\n\t\tformat = passthrough,\n\t\ttrackInputChange = false,\n\t\teventBased = true,\n\t\tfieldChangeHandlers = {\n\t\t\tonBlur: NOW_INPUT.INVALID_SET,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur\n\t} = options;\n\n\tconst parseAndFormat = (value, props, additionalInfo = {}) => {\n\t\tconst { value: parsedValue, error } = parse(value, props, additionalInfo);\n\t\tif (!error) {\n\t\t\tconst { value: formattedValue, error } = format(\n\t\t\t\tparsedValue,\n\t\t\t\tprops,\n\t\t\t\tadditionalInfo\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tparsedValue,\n\t\t\t\tformattedValue,\n\t\t\t\tadditionalInfo,\n\t\t\t\terror\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tparsedValue,\n\t\t\tformattedValue: value,\n\t\t\tadditionalInfo,\n\t\t\terror\n\t\t};\n\t};\n\n\tconst inputChangeIsTracked = state => trackInputChange && !state.inputChanged;\n\n\tconst componentConnectedEffectWithState = ({\n\t\thost,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tcomponentConnectedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({ host, properties, updateState });\n\t\tconst {\n\t\t\tinitialValue: pInitialValue,\n\t\t\tinitialDisplayValue: pInitialDisplayValue\n\t\t} = properties;\n\n\t\tconst initialValue = toString(pInitialValue);\n\t\tconst initialDisplayValue = toString(pInitialDisplayValue);\n\n\t\tconst { value, error, ...additionalInfo } = format(\n\t\t\tinitialValue,\n\t\t\tproperties\n\t\t);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: initialValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: initialDisplayValue || value,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: additionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\t\tupdateAdditionalInfoState(additionalInfo, updateState);\n\t};\n\n\tconst propertyChangedEffectWithState = ({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tpropertyChangedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t});\n\t\t// Allow new props to update value state _only_ when the field doesn't\n\t\t// have focus\n\t\tif (name === 'initialValue' && !state.isHandlingInitialValue) {\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tformat,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t};\n\n\tconst callbackAndDispatchEffectWithState = ({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\taction: { payload }\n\t}) => {\n\t\tconst {\n\t\t\tcallback: originalCallback,\n\t\t\tdispatchPayload: callbackPayload,\n\t\t\tisValueChanged: isOnValueChange\n\t\t} = payload;\n\t\tif (\n\t\t\tisOnValueChange &&\n\t\t\tinputChangeIsTracked(state) &&\n\t\t\tisEqual(callbackPayload.additionalInfo, state.additionalInfo)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tlet dispatchPayload = callbackPayload.fromEvent ? callbackPayload : {};\n\t\tlet isValueChanged = isOnValueChange;\n\t\tlet callback = originalCallback;\n\t\tif (isValueChanged && !callbackPayload.fromEvent) {\n\t\t\tif (callbackPayload.format) {\n\t\t\t\tconst {\n\t\t\t\t\tparsedValue,\n\t\t\t\t\tformattedValue,\n\t\t\t\t\terror,\n\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t} = parseAndFormat(\n\t\t\t\t\tcallbackPayload.value,\n\t\t\t\t\tproperties,\n\t\t\t\t\tmerge(state.additionalInfo, callbackPayload.additionalInfo),\n\t\t\t\t\tparse,\n\t\t\t\t\tformat\n\t\t\t\t);\n\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\terror\n\t\t\t\t};\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tnewAdditionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `error`,\n\t\t\t\t\t\tvalue: error,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t} else {\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\tdisplayValue: callbackPayload.value\n\t\t\t\t};\n\t\t\t\tisValueChanged = false; //onStagedValueChange needs to be called, so changed it to false;\n\t\t\t\tcallback = properties.onStagedValueChange;\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tcallbackPayload.additionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t}\n\t\t}\n\t\tcallbackAndDispatchEffect(callbackWithStateBehavior, {\n\t\t\tcache,\n\t\t\tinitialValueProp\n\t\t})({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t\t});\n\t};\n\n\tconst onChange = ({ value, state, properties, dispatch, updateState }) => {\n\t\tconst { fieldRegex, label } = properties;\n\t\tif (eventBased)\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\telse updateState({ stagedValue: value });\n\n\t\tif (inputChangeIsTracked(state)) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (value.length === 0) {\n\t\t\t\tupdateState({ messages: [] });\n\t\t\t} else {\n\t\t\t\tconst errorMessages = validateInput(label, value, fieldRegex);\n\t\t\t\tupdateState({\n\t\t\t\t\tmessages: errorMessages,\n\t\t\t\t\tisFieldValid: errorMessages.length === 0\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onStagedValueChange,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\tisValueChanged: false\n\t\t});\n\t};\n\n\tconst onBlur = ({\n\t\tevent,\n\t\ttargetValue,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst { fieldRegex, label } = properties;\n\n\t\tif (inputChangeIsTracked(state)) return;\n\n\t\tconst {\n\t\t\tparsedValue,\n\t\t\tformattedValue,\n\t\t\terror,\n\t\t\tadditionalInfo: newAdditionalInfo\n\t\t} = parseAndFormat(\n\t\t\ttargetValue,\n\t\t\tproperties,\n\t\t\tstate.additionalInfo,\n\t\t\tparse,\n\t\t\tformat\n\t\t);\n\n\t\tconst mergedAdditionalInfo = merge(state.additionalInfo, newAdditionalInfo);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: formattedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\n\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (typeof forceRenderOnBlur === 'function') {\n\t\t\tforceRenderOnBlur({ isRender: state.isRender, updateState });\n\t\t}\n\n\t\tlet inlineValidationError = null;\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (targetValue.length > 0) {\n\t\t\t\tlet validationResult = validateInput(\n\t\t\t\t\tlabel,\n\t\t\t\t\ttargetValue,\n\t\t\t\t\tfieldRegex\n\t\t\t\t)?.[0];\n\n\t\t\t\tif (validationResult) {\n\t\t\t\t\tinlineValidationError = { ...validationResult, type: 'error' };\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdateState({ isFieldValid: null, messages: [] });\n\t\t}\n\n\t\t// Dispatch the callback with updated state\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tevent,\n\t\t\t\terror: error || inlineValidationError,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\toptions: { cache: true }\n\t\t});\n\t};\n\n\tconst onChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { targetValue, encodedValue }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst value = encodedValue || targetValue;\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { event, targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\tconst onInputChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: value }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onInputBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tif (isAttrTrue(properties?.readonly)) return;\n\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\ttargetValue\n\t\t\t}\n\t\t};\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\treturn {\n\t\tname: callbackWithStateBehavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffectWithState,\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffectWithState,\n\t\t\t[CALLBACK_AND_DISPATCH_WITH_STATE]: callbackAndDispatchEffectWithState,\n\t\t\t//TODO: Remove eventBased action handlers and respective callbacks once we internally use NDS for all inputs requiring withState behavior\n\t\t\t...(eventBased\n\t\t\t\t? {\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_CHANGE': onChangeEffect,\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_BLUR': onBlurEffect\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\t[fieldChangeHandlers.onBlur]: onInputBlurEffect,\n\t\t\t\t\t\t[fieldChangeHandlers.onChange]: onInputChangeEffect\n\t\t\t\t\t})\n\t\t}\n\t};\n};\n","import { isAttrTrue } from './utils/field';\n\nexport function checkAutofocus(enabled, ref) {\n\tif (isAttrTrue(enabled) && ref) {\n\t\t// PRB1304655, PRB1309694: Workaround for ShadyDOM bug\n\t\t//\n\t\t// https://github.com/webcomponents/shadydom/issues/46\n\t\t//\n\t\t// In polyfilled environments, we need to flush the ShadyDOM render queue\n\t\t// before attempting to focus. Without it, Firefox ignores the focus()\n\t\t// call, and IE decides to not render anything.\n\t\tif (window.ShadyDOM) {\n\t\t\twindow.ShadyDOM.flush();\n\t\t}\n\n\t\tref.focus();\n\t}\n}\n","export const sleep = ms =>\n\tnew Promise(resolve => {\n\t\tsetTimeout(resolve, ms);\n\t});\n","/**\n * Util method to wrap helperContent with jsx to restrict width and height of field hint text\n * This is required to set the dimensions for NDS rendered helperContent, and renderer should be snabbdom\n * @param {string|JSX} helperContent\n */\nexport const wrapHelperContent = helperContent => {\n\tif (!helperContent) return helperContent;\n\n\treturn (\n\t\t<div style={{ maxWidth: '300px', maxHeight: '200px' }}>{helperContent}<\/div>\n\t);\n};\n","export const ANNOTATION = 'annotation';\nexport const AUTO_INCREMENT = 'auto_increment';\nexport const AUTO_NUMBER = 'auto_number';\nexport const BOOLEAN = 'boolean';\nexport const CHAR = 'char';\nexport const CHOICE = 'choice';\nexport const COMPOSITE_FIELD = 'composite_field';\nexport const CONDITIONS = 'conditions';\nexport const CSS = 'css';\nexport const CURRENCY = 'currency';\nexport const CURRENCY2 = 'currency2';\nexport const DATE = 'glide_date';\nexport const DATE_TIME = 'glide_date_time';\nexport const BASIC_DATE_TIME = 'datetime';\nexport const DAYS_OF_WEEK = 'days_of_week';\nexport const DECIMAL = 'decimal';\nexport const DOCUMENTATION_FIELD = 'documentation_field';\nexport const DOCUMENT_ID = 'document_id';\nexport const DOMAIN_ID = 'domain_id';\nexport const DOMAIN_PATH = 'domain_path';\nexport const DUE_DATE = 'due_date';\nexport const DURATION = 'glide_duration';\nexport const EMAIL = 'email';\nexport const ENCRYPTED_TEXT = 'glide_encrypted';\nexport const FIELD_LIST = 'field_list';\nexport const FIELD_LOOKUP = 'field_lookup';\nexport const FIELD_NAME = 'field_name';\nexport const FILE_ATTACHMENT = 'file_attachment';\nexport const FLOAT = 'float';\nexport const GLIDE_LIST = 'glide_list';\nexport const GUID = 'GUID';\nexport const HTML = 'html';\nexport const INPUT_GROUP = 'input_group';\nexport const INTEGER = 'integer';\nexport const INT = 'int';\nexport const LONG = 'long';\nexport const LONG_INT = 'longint';\nexport const INTEGER_DATE = 'integer_date';\nexport const INTEGER_TIME = 'integer_time';\nexport const IP_ADDR = 'ip_addr';\nexport const IP_ADDRESS = 'ip_address';\nexport const JOURNAL = 'journal_input';\nexport const JSON = 'json';\nexport const MULTI_TWO_LINES = 'multi_two_lines';\nexport const MULTI_SMALL = 'multi_small';\nexport const NAME_VALUE = 'simple_name_values';\nexport const OTHER_DATE = 'date';\nexport const PASSWORD = 'password';\nexport const PASSWORD2 = 'password2';\nexport const PERCENT_COMPLETE = 'percent_complete';\nexport const PHONE = 'ph_number';\nexport const PHONE_NUMBER = 'phone_number';\nexport const PHONE_NUMBER_E164 = 'phone_number_e164';\nexport const PRICE = 'price';\nexport const RADIO = 'radio';\nexport const REFERENCE = 'reference';\nexport const SCRIPT = 'script';\nexport const SCRIPT_PLAIN = 'script_plain';\nexport const SHORT_TABLE_NAME = 'short_table_name';\nexport const SLUSHBUCKET = 'slushbucket';\nexport const STRING = 'string';\nexport const STRING_FULL_UTF8 = 'string_full_utf8';\nexport const STRING_LONG = 'str_long';\nexport const STRING_SHORT = 'str_short';\nexport const TABLE_NAME = 'table_name';\nexport const TEMPLATE_VALUE = 'template_value';\nexport const TEXTAREA = 'textarea';\nexport const TIME = 'glide_time';\nexport const TIME_WORKED = 'timer';\nexport const TRANSLATED_FIELD = 'translated_field';\nexport const TRANSLATED_HTML = 'translated_html';\nexport const TRANSLATED_TEXT = 'translated_text';\nexport const URL = 'url';\nexport const USER_IMAGE = 'user_image';\nexport const UTC_TIME = 'glide_utc_time';\nexport const VERSION = 'version';\nexport const WIDE_TEXT = 'wide_text';\nexport const WIKI_TEXT = 'wiki_text';\nexport const WORKFLOW = 'workflow';\nexport const USER_ROLES = 'user_roles';\nexport const XML = 'xml';\nexport const CONDITION_STRING = 'condition_string';\nexport const ORDER_INDEX = 'order_index';\nexport const HTML_SCRIPT = 'html_script';\nexport const USER_INPUT = 'user_input';\nexport const RELATED_TAGS = 'related_tags';\nexport const EMAIL_SCRIPT = 'email_script';\n","import { omit, has } from 'lodash';\nimport { escapeSeismicSpecialSymbols } from './utils/escapeSeismicSpecialSymbols';\nimport * as FIELD_TYPE from './FieldType';\n\nexport function setInitialValue(controlProps) {\n\tconst hasValue = has(controlProps, 'value');\n\tconst hasDisplayValue = has(controlProps, 'displayValue');\n\n\tif (!hasValue && !hasDisplayValue) {\n\t\treturn controlProps;\n\t}\n\n\tconst newControlProps = omit(controlProps, ['value', 'displayValue']);\n\tconst { displayValue, value, isEncrypted, type } = controlProps;\n\n\tif (hasValue) {\n\t\tnewControlProps.initialValue = isEncrypted\n\t\t\t? escapeSeismicSpecialSymbols(displayValue)\n\t\t\t: escapeSeismicSpecialSymbols(value);\n\t}\n\n\tif (hasDisplayValue) {\n\t\tconst initialDisplayValue =\n\t\t\ttype === FIELD_TYPE.PASSWORD ? value : displayValue;\n\t\tnewControlProps.initialDisplayValue =\n\t\t\tescapeSeismicSpecialSymbols(initialDisplayValue);\n\t}\n\n\treturn newControlProps;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t}, [\"markTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t\t} else if ('markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.markTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t} });","import track, { markTypes } from '@devsnc/ux-metrics';\nimport { TRACK_RECOMMENDATION_CLICK } from './constants';\n\nconst eventTitle = 'Update Field Value';\n\nexport const trackBehavior = {\n\tactionHandlers: {\n\t\t['TRACK']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, additionalOptions = {} }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t!additionalOptions.parentHandling &&\n\t\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\n\t\t\t\t\tadditionalOptions.isRecommendation &&\n\t\t\t\t\t\ttrack(coeffects, TRACK_RECOMMENDATION_CLICK, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_DYNAMIC_TRANSLATION_EVENTS']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, eventTitle }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_MENTION_ADDED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\tproperties,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { telemetry }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst { name } = properties;\n\t\t\t\tconst trackPayload = {\n\t\t\t\t\tname,\n\t\t\t\t\tfieldType: 'now-record-html-editor'\n\t\t\t\t};\n\n\t\t\t\tif (telemetry?.context) {\n\t\t\t\t\ttrackPayload.context = telemetry.context;\n\t\t\t\t}\n\t\t\t\tconst eventName = `Mention.Added`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, trackPayload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SET']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Invoked`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, undefined, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SELECTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type, ...meta }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Selected`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, meta, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_FIELD_TYPE_UNSUPPORTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst { payload } = coeffects.action;\n\t\t\t\tconst eventName = 'FieldtypeNotSupportedinSeismic';\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, payload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isEnabledActionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEnabledActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledActionTypes;\n\t\t\t\t\t} else if ('isEnabledActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.isEnabledActionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledActionTypes;\n\t\t\t\t}, [\"isEnabledBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEnabledBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledBehavior;\n\t\t\t\t\t} else if ('isEnabledBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.isEnabledBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledBehavior;\n\t\t\t\t}, [\"translationActionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'translationActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationActionTypes;\n\t\t\t\t\t} else if ('translationActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.translationActionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationActionTypes;\n\t\t\t\t}, [\"translationBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'translationBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationBehavior;\n\t\t\t\t\t} else if ('translationBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.translationBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationBehavior;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const TRANSLATED_BY = credit => t('Translated by {0}', credit);\nexport const TRANSLATING = t('Translating...');\nexport const UNABLE_TO_TRANSLATE = t('Unable to translate. ');\nexport const MISSING_CREDENTIALS = t(\n\t'Credentials are missing or invalid. Contact your administrator.'\n);\nexport const MAX_LENGTH_ERROR_MSG = t('Text has exceeded the maximum length.');\nexport const LANG_NOT_SUPPORTED = t(\n\t'Text cannot be translated to your preferred language.'\n);\nexport const NO_TEXT = t('No text to translate.');\nexport const FIELD_VALUE_CHANGED = t('The field value has changed. ');\nexport const RETRANSLATE = t('Retranslate');\nexport const TRY_AGAIN = t('Try again');\nexport const CLOSE = t('close');\nexport const PREFERRED_LANGUAGE = t(\n\t'This content is written in your preferred language. No need to translate.'\n);\nexport const TRANSLATE = t('Translate');\nexport const NOW_TEXT_LINK_CLICKED = 'NOW_TEXT_LINK#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const FORM_CLICK_WORKSPACE = 'Form Click - Workspace';\n\nexport const METRICS_TRANSLATE_BUTTON_CLICKED = 'Translate Button Clicked';\nexport const METRICS_CLOSE_TRANSLATED_TEXT_PANEL =\n\t'Close Translated Text Panel';\nexport const METRICS_TRYING_TRANSLATION_AGAIN = 'Trying Translation Again';\nexport const METRICS_RETRANSLATE_TEXT_REQUESTED = 'Re-Translate Text Requested';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { toString } from 'lodash';\nimport {\n\ttranslationActionTypes,\n\ttranslationBehavior,\n\tisEnabledActionTypes,\n\tisEnabledBehavior\n} from '@servicenow/behavior-dynamic-translation';\nimport {\n\tCLOSE,\n\tFIELD_VALUE_CHANGED,\n\tLANG_NOT_SUPPORTED,\n\tMAX_LENGTH_ERROR_MSG,\n\tMISSING_CREDENTIALS,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_TEXT_LINK_CLICKED,\n\tNO_TEXT,\n\tPREFERRED_LANGUAGE,\n\tRETRANSLATE,\n\tTRANSLATED_BY,\n\tTRANSLATING,\n\tTRY_AGAIN,\n\tUNABLE_TO_TRANSLATE,\n\tTRANSLATE,\n\tFORM_CLICK_WORKSPACE,\n\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\tMETRICS_TRYING_TRANSLATION_AGAIN\n} from './constants';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-rich-text';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATED,\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED\n} = translationActionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED,\n\tDYNAMIC_TRANSLATION_IS_ENABLED\n} = isEnabledActionTypes;\n\nconst trackDynamicTranslationEvents = (eventTitle, metaData, dispatch) => {\n\tdispatch('TRACK_DYNAMIC_TRANSLATION_EVENTS', {\n\t\teventTitle,\n\t\tmetaData\n\t});\n};\n\nexport const translatedInputEffect = ({ action, updateState }) => {\n\tconst { payload, error } = action;\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tconst translatedResponse = payload.response;\n\tif (!error && translatedResponse) {\n\t\tconst translationsObj = translatedResponse.translations[0];\n\t\tconst detectedLang = translatedResponse.detectedLanguage?.code;\n\t\tconst targetLang = translationsObj.targetLanguage;\n\t\tif (detectedLang !== targetLang) {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: translationsObj.translatedText,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: TRANSLATED_BY(translatedResponse.translator),\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.language',\n\t\t\t\t\tvalue: detectedLang,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: PREFERRED_LANGUAGE,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst errorCode = translatedResponse?.code;\n\t\tlet errorMessage = '';\n\t\tlet showRetry = false;\n\t\tswitch (errorCode) {\n\t\t\tcase '40052':\n\t\t\t\terrorMessage = MAX_LENGTH_ERROR_MSG;\n\t\t\t\tbreak;\n\t\t\tcase '40055':\n\t\t\t\terrorMessage = MISSING_CREDENTIALS;\n\t\t\t\tbreak;\n\t\t\tcase '40053':\n\t\t\tcase '40054':\n\t\t\tcase '40056':\n\t\t\t\terrorMessage = LANG_NOT_SUPPORTED;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\terrorMessage = UNABLE_TO_TRANSLATE;\n\t\t\t\tshowRetry = true;\n\t\t}\n\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: errorMessage,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: showRetry,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\n\tupdateState(translatedState);\n};\n\nexport const handleDynamicTranslationClick = (\n\tprops,\n\tdispatch,\n\tupdateState,\n\tisHTML\n) => {\n\t// Get the current text from the Input and call Translate service here\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.text',\n\t\t\tvalue: null,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.showRetry',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tif (!props.value) {\n\t\ttranslatedState.push({\n\t\t\tpath: 'translatedText.currentStatus',\n\t\t\tvalue: NO_TEXT,\n\t\t\toperation: declarativeOperations.SET\n\t\t});\n\t} else {\n\t\tconst msg = toString(props.value);\n\t\tconst dtsRequestBody = {\n\t\t\tmsg,\n\t\t\tevent: {\n\t\t\t\tsource: 'behaviourAPI',\n\t\t\t\teventName: FORM_CLICK_WORKSPACE,\n\t\t\t\ttableName: props.referringTable,\n\t\t\t\tfieldName: props.name,\n\t\t\t\tfieldType: props.fieldType\n\t\t\t}\n\t\t};\n\t\tif (isHTML) {\n\t\t\tdtsRequestBody.additionalParameters = [\n\t\t\t\t{ parameterName: 'texttype', parameterValue: 'html' }\n\t\t\t];\n\t\t}\n\t\tdispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED, dtsRequestBody);\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: msg,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: TRANSLATING,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\tupdateState(translatedState);\n};\n\nexport const dynamicTranslationBehaviour = {\n\tactionHandlers: {\n\t\t[DYNAMIC_TRANSLATION_TEXT_TRANSLATED]: {\n\t\t\teffect: translatedInputEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DYNAMIC_TRANSLATION_IS_ENABLED]: ({ action, updateState, host }) => {\n\t\t\tconst { payload } = action;\n\t\t\tconst isTranslationEnabled = payload?.response?.translation;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'isTranslationEnabled',\n\t\t\t\t\tvalue: payload?.response?.translation,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t]);\n\t\t\tif (host.getProperty('type') === 'textarea' && isTranslationEnabled) {\n\t\t\t\tconst nowTextArea = host.shadowRoot.querySelector('now-textarea');\n\t\t\t\tconst nativeTextArea = nowTextArea.shadowRoot.querySelector('textarea');\n\t\t\t\tnativeTextArea.style.paddingRight = '1.5rem';\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({ dispatch, properties }) {\n\t\t\t\tconst { dictionaryAttributes = {} } = properties;\n\t\t\t\tconst dynamicTranslationEnabled =\n\t\t\t\t\tdictionaryAttributes['dynamicTranslationEnabled'];\n\t\t\t\tif (dynamicTranslationEnabled) {\n\t\t\t\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED, {\n\t\t\t\t\t\ttranslator: ''\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect({ updateState, dispatch, properties, state }) {\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\t\tlanguage: state.translatedText?.language\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'translatedText',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXT_LINK_CLICKED]: {\n\t\t\teffect({ dispatch, updateState, properties, state }) {\n\t\t\t\tconst props = {\n\t\t\t\t\tvalue: properties.initialValue || state.value\n\t\t\t\t};\n\t\t\t\tconst recordMetics = {\n\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\tlanguage: state.translatedText.language\n\t\t\t\t};\n\n\t\t\t\thandleDynamicTranslationClick(\n\t\t\t\t\tprops,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\t!properties.initialValue\n\t\t\t\t);\n\t\t\t\tif (state.translatedText.showRetry) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_TRYING_TRANSLATION_AGAIN,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t} else if (state.translatedText.isRetranslate) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nexport const handleDynamicTranslationBlur = (\n\tinputValue,\n\tupdateState,\n\ttranslatedText = {}\n) => {\n\tconst previousTranslatedText = translatedText.previousText;\n\tconst currentTranslationStatus = translatedText.currentStatus;\n\tif (currentTranslationStatus && previousTranslatedText !== inputValue) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: FIELD_VALUE_CHANGED,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: inputValue,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t]);\n\t}\n};\n\nconst renderTextLink = label => {\n\treturn (\n\t\t<now-text-link\n\t\t\tlabel={label}\n\t\t\thref=\"javascript:;\"\n\t\t\tvariant=\"secondary\"\n\t\t\tconfigAria={{\n\t\t\t\trole: 'button'\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const renderTranslatedText = (translatedText, isHTML = false) => {\n\tif (translatedText) {\n\t\treturn (\n\t\t\t<div className=\"sn-record-dts\" size=\"md\" hideShadow=\"true\">\n\t\t\t\t<div className=\"sn-record-dts-header\">\n\t\t\t\t\t<div className=\"sn-record-dts-translator\">\n\t\t\t\t\t\t{translatedText.currentStatus && (\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t{translatedText.currentStatus}\n\t\t\t\t\t\t\t\t{translatedText.isRetranslate && renderTextLink(RETRANSLATE)}\n\t\t\t\t\t\t\t\t{translatedText.showRetry && renderTextLink(TRY_AGAIN)}\n\t\t\t\t\t\t\t<\/i>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\ttooltip-content={CLOSE}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\trole: 'button'\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t{translatedText?.text ? (\n\t\t\t\t\t<div className=\"sn-record-dts-response\">\n\t\t\t\t\t\t{!isHTML ? (\n\t\t\t\t\t\t\ttranslatedText.text\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-rich-text\n\t\t\t\t\t\t\t\tid=\"richTextId-component-dts\"\n\t\t\t\t\t\t\t\thtml={translatedText.text}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t[]\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n};\n\nexport const renderTranslateIcon = (props, dispatch, updateState, isHTML) => {\n\treturn (\n\t\t<sn-record-control\n\t\t\ticon=\"translated-text-fill\"\n\t\t\ttooltip={TRANSLATE}\n\t\t\tslot=\"controls\"\n\t\t\tonClick={() => {\n\t\t\t\thandleDynamicTranslationClick(props, dispatch, updateState, isHTML);\n\t\t\t\t// language here will be null , Since it is still not identified\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: props.referringRecordId,\n\t\t\t\t\t\tfieldType: props.fieldType,\n\t\t\t\t\t\tlanguage: null\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport { translationBehavior, isEnabledBehavior };\n","\nimport react from '@servicenow/ui-renderer-react';\n\nimport {\n\tcamelCase,\n\tdifference,\n\tkeys,\n\tpick,\n\tforEach,\n\ttransformState,\n\tForwardProperties,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nconst defaultSeismicProps = [\n\t'dispatch',\n\t'componentId',\n\t'resources',\n\t'channels'\n];\n\n/*\n * Have seismic rerender the component when any of its declared props\n * have changed. However, we can strip out any seismic-specific\n * attributes/props because those are already handled internally within\n * seismic core.\n *\n * Also want to strip out `children` because Seismic will return\n * HTMLElements instead of anything useful in React.\n */\nexport const transformProperties = component => {\n\tlet usingPropTypes = !component.properties;\n\n\tlet properties = Object.entries(component.properties || component.propTypes).reduce(\n\t\t(acc, [k, v]) => {\n\t\t  return {\n\t\t\t...acc,\n\t\t\t// don't pass along PropType types\n\t\t\t[camelCase(k)]: usingPropTypes ? {} : v,\n\t\t  };\n\t\t},\n\t\t{}\n\t  );\n\n\tlet wantedProps = difference(keys(properties), defaultSeismicProps, [\n\t\t'children'\n\t]);\n\n\treturn pick(properties, wantedProps);\n};\n\nexport function registerComponents(registrationFn, componentMap) {\n\tforEach(\n\t\tcomponentMap,\n\t\t(\n\t\t\t{ component: view, resources, actionTypesToProps, useCallbacks = false },\n\t\t\tname\n\t\t) => {\n\t\t\tlet {\n\t\t\t\tactions,\n\t\t\t\tactionHandlers,\n\t\t\t\tinitialState,\n\t\t\t\tbehaviors,\n\t\t\t\tstyle: styles\n\t\t\t} = view;\n\t\t\tregistrationFn(name, {\n\t\t\t\ttype: react,\n\t\t\t\tview:\n\t\t\t\t\tuseCallbacks === true\n\t\t\t\t\t\t? withValueChangeCallbacksView(ForwardProperties(view))\n\t\t\t\t\t\t: ForwardProperties(view),\n\t\t\t\tstyles,\n\t\t\t\tproperties: transformProperties(view),\n\t\t\t\tinitialState,\n\t\t\t\ttransformState,\n\t\t\t\tactionHandlers,\n\t\t\t\tactions,\n\t\t\t\tresources,\n\t\t\t\tactionTypesToProps,\n\t\t\t\tbehaviors\n\t\t\t});\n\t\t}\n\t);\n}\n\nexport default function registerComponentsWrapper(\n\tregistrationFn,\n\tcomponentMap\n) {\n\t// eslint-disable-next-line no-undef\n\tif (process.env.NODE_ENV !== 'test') {\n\t\tregisterComponents(registrationFn, componentMap);\n\t}\n}\n","const hostToScrollListener = new WeakMap();\nlet onChangedProperty;\n\nconst addScrollListener = (host, dispatch) => {\n\tif (!hostToScrollListener.get(host)) {\n\t\tconst scrollListener = () => {\n\t\t\tdispatch('SCROLL_WATCH#SCROLL_OUTSIDE_COMPONENT');\n\t\t};\n\t\thostToScrollListener.set(host, scrollListener);\n\t\twindow.addEventListener('scroll', hostToScrollListener.get(host));\n\t}\n};\n\nconst removeScrollListener = host => {\n\tconst oldListener = hostToScrollListener.get(host);\n\tif (oldListener) {\n\t\twindow.removeEventListener('scroll', oldListener);\n\t\thostToScrollListener.delete(host);\n\t}\n};\n\nexport default {\n\tname: 'scroll-watch',\n\tonConnect(host, dispatch, options) {\n\t\tonChangedProperty = options.onChangedProperty;\n\t},\n\tonRender(host, dispatch, state, lastState) {\n\t\tif (\n\t\t\tstate.properties[onChangedProperty] !==\n\t\t\tlastState.properties[onChangedProperty]\n\t\t) {\n\t\t\tif (state.properties[onChangedProperty]) {\n\t\t\t\taddScrollListener(host, dispatch);\n\t\t\t} else {\n\t\t\t\tremoveScrollListener(host, dispatch);\n\t\t\t}\n\t\t}\n\t}\n};\n","import snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\n\nimport { fieldLayoutSchema, isSlotEmpty } from '@devsnc/sn-controls-common';\nimport styles from './annotation.scss';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_RENDERED } = actionTypes;\n\nconst COMPONENT_NAME = 'sn-record-annotation';\nconst HORIZONTAL_LAYOUT = 'horizontal';\nconst VERTICAL_LAYOUT = 'vertical';\nconst baseClass = COMPONENT_NAME;\n\nconst MAX_CONTENT_HEIGHT = 60;\nconst TRUNCATE_HEIGHT = 32;\n\nexport function getContentHeight(contentRef) {\n\treturn contentRef ? contentRef.offsetHeight : 0;\n}\n\nexport function getExpandLabel(expanded) {\n\treturn expanded ? t('Show Less') : t('Show More');\n}\n\nexport function updateContentHeight(contentRef, updateState, setExpanded) {\n\tconst contentHeight = getContentHeight(contentRef);\n\tconst isOverMaxHeight =\n\t\tcontentRef === null || contentHeight > MAX_CONTENT_HEIGHT;\n\tconst newState = {\n\t\tcontentHeight,\n\t\tisOverMaxHeight\n\t};\n\tif (setExpanded) {\n\t\tnewState.expanded = !isOverMaxHeight;\n\t}\n\tupdateState(newState);\n}\n\nexport function view(state, { updateState }) {\n\tconst {\n\t\timportant,\n\t\tlineSeparator,\n\t\tsectionSeparator,\n\t\tsectionDetails,\n\t\ttext,\n\t\tfieldLayout\n\t} = state.properties;\n\tconst { componentId } = state;\n\tconst { isOverMaxHeight, expanded, slotEmpty } = state;\n\n\tconst contentId = `${componentId}-content`;\n\n\tconst showIcon =\n\t\t!lineSeparator &&\n\t\t!sectionSeparator &&\n\t\t!slotEmpty &&\n\t\t!sectionDetails &&\n\t\t!text;\n\n\tconst overflowStyle =\n\t\tisOverMaxHeight && !expanded\n\t\t\t? { height: `${TRUNCATE_HEIGHT}px`, overflowY: 'hidden' }\n\t\t\t: { height: 'auto' };\n\n\tconst { layout = VERTICAL_LAYOUT, columns } = fieldLayout;\n\tconst normalizedColumns =\n\t\tcolumns?.length > 2\n\t\t\t? (columns.map(c => `minmax(0, ${c})`)?.join(' ') ?? '')\n\t\t\t: '';\n\treturn (\n\t\t<div\n\t\t\tref={element => updateState({ containerRef: element })}\n\t\t\tclass={{\n\t\t\t\t[baseClass]: true,\n\t\t\t\t[`${baseClass}__error`]: important\n\t\t\t}}\n\t\t\trole=\"status\"\n\t\t\taria-label={t('Field annotation')}\n\t\t\taria-describedby={contentId}\n\t\t\tstyle={\n\t\t\t\tlayout === HORIZONTAL_LAYOUT\n\t\t\t\t\t? { 'grid-template-columns': normalizedColumns, display: 'grid' }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{lineSeparator && !sectionSeparator ? (\n\t\t\t\t<hr className=\"line-separator\" />\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t\t{sectionSeparator ? <hr className=\"section-separator\" /> : <Fragment />}\n\t\t\t<div\n\t\t\t\tid={contentId}\n\t\t\t\tclass={{\n\t\t\t\t\t[`${baseClass}-content`]: true,\n\t\t\t\t\t'has-separator': sectionSeparator || lineSeparator,\n\t\t\t\t\t'has-error': important,\n\t\t\t\t\t'has-section-detail': sectionDetails || text\n\t\t\t\t}}\n\t\t\t\tstyle={\n\t\t\t\t\tlayout === HORIZONTAL_LAYOUT ? { 'grid-column-start': 2 } : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{showIcon ? (\n\t\t\t\t\t<div className={`${baseClass}-content-icon`}>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'context-form-annotation': true,\n\n\t\t\t\t\t\t\t\t'has-error': important\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t'aria-label': 'Field annotation icon'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment />\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tstyle={overflowStyle}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdetails: true,\n\t\t\t\t\t\t'is-section': sectionSeparator,\n\t\t\t\t\t\tcollapsed: !state.expanded && isOverMaxHeight\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div ref={element => updateState({ contentRef: element })}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t{isOverMaxHeight ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[`${baseClass}-content-toggle`]: true,\n\t\t\t\t\t\t'has-icon': showIcon\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tlayout === HORIZONTAL_LAYOUT\n\t\t\t\t\t\t\t? { 'grid-column-end': 3, display: 'flex' }\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={getExpandLabel(expanded)}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ttooltipContent={t('Toggle Content')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\texpanded: !state.expanded\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t<\/div>\n\t);\n}\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({ state, updateState }) {\n\t\t\tconst { contentRef } = state;\n\t\t\t// On bootstrap, set the content to be not expanded if it is too tall\n\t\t\tupdateContentHeight(contentRef, updateState, true);\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect({ state, updateState }) {\n\t\t\tconst { contentRef } = state;\n\t\t\tconst slot = contentRef && contentRef.querySelector('slot');\n\t\t\t// Remove tabIndex from container if slot is empty\n\t\t\tif (slot && isSlotEmpty(slot)) {\n\t\t\t\tstate.containerRef.removeAttribute('tabIndex');\n\t\t\t}\n\t\t\t// TODO: Add tabIndex attr if not empty (we would need to remember the old\n\t\t\t// TODO: tabIndex when we removed it).\n\t\t\tupdateContentHeight(contentRef, updateState);\n\t\t}\n\t}\n};\n\n/**\n *\n * Simple Annotation component to wrap around a set of Elements\n *\n * ```jsx\n * <div>\n * \t<sn-record-annotation>\n * \t\t<h5>This is a header<\/h5>\n * \t\t<p>\n * \t\t\tBody with a <button>button<\/button> or any arbitrary <b>tag<\/b>.\n * \t\t<\/p>\n * \t\t<p>This is a footer<\/p>\n * \t<\/sn-record-annotation>\n *\n * \t<sn-record-annotation important>\n * \t\t<h5>This is an annotation with the important attr set<\/h5>\n * \t<\/sn-record-annotation>\n * <\/div>\n * ```\n *\n * @seismicElement sn-record-annotation\n * @summary Annotation Component.\n *\n **/\ncreateCustomElement(COMPONENT_NAME, {\n\ttype: snabbdom,\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tcontentHeight: 0,\n\t\tisOverMaxHeight: false,\n\t\texpanded: true,\n\t\tcontentRef: null,\n\t\tcontainerRef: null\n\t},\n\tactions: {\n\t\tCOMPONENT_BOOTSTRAPPED: {},\n\t\tCOMPONENT_RENDERED: {}\n\t},\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Flag to toggle the info icon color.\n\t\t * If exists, it will be red. The default is blue.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\timportant: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add line separator above header.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tlineSeparator: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add section separator below header.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsectionSeparator: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add section details.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsectionDetails: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add text details.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttext: { default: false, schema: { type: 'boolean' } }\n\t}\n});\n\nexport default COMPONENT_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"messagesSchema\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'messagesSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].messagesSchema;\n\t\t\t\t\t} else if ('messagesSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.messagesSchema || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].messagesSchema;\n\t\t\t\t}, [\"renderFormFieldLabel\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderFormFieldLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldLabel;\n\t\t\t\t\t} else if ('renderFormFieldLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.renderFormFieldLabel || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldLabel;\n\t\t\t\t}, [\"renderFormFieldMessages\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderFormFieldMessages' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldMessages;\n\t\t\t\t\t} else if ('renderFormFieldMessages' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.renderFormFieldMessages || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldMessages;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const AUTO_NUMBER_CONSTANTS = Object.freeze({\n\tFETCH_AUTO_NUMBER: 'FETCH_AUTO_NUMBER',\n\tFETCH_AUTO_NUMBER_SUCCESS: 'FETCH_AUTO_NUMBER_SUCCESS',\n\tFETCH_AUTO_NUMBER_FAILURE: 'FETCH_AUTO_NUMBER_FAILURE',\n\tFETCH_AUTO_NUMBER_ERROR_MSG: t('Unable to generate Auto Number.')\n});\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_BUTTON_ICONIC_TOOLTIP = t('Generate Auto Number');\nexport const SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_AUTO_NUMBER_CONNECTED#VALUE_CHANGED';\nexport const EVENT_ORIGIN = 'auto-nuber-fetch-button';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport { SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED } from './constants';\n\nexport const dispatchValueChanged = (payload, effectProps) => {\n\tconst { state, dispatch } = effectProps;\n\tconst onValueChange = state.properties.onValueChange;\n\tconst { value, error } = payload;\n\tconst shouldDispatch = state.properties.value !== value || !!error;\n\tif (shouldDispatch) {\n\t\tif (onValueChange) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t...payload,\n\t\t\t\terror\n\t\t\t});\n\t\t}\n\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: state.properties.name,\n\t\t\t\tfieldType: 'auto-number-connected'\n\t\t\t}\n\t\t});\n\n\t\tdispatch(SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED, {\n\t\t\t...payload,\n\t\t\terror\n\t\t});\n\t}\n};\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tAUTO_NUMBER_CONSTANTS,\n\tEVENT_ORIGIN\n} from './constants';\nimport { dispatchValueChanged } from './utils.js';\n\nconst FETCH_AUTO_NUMBER_API = '/xmlhttp.do';\nconst FETCH_AUTO_QUERY_PARAMS = ['sysparm_processor', 'sysparm_name'];\nconst {\n\tFETCH_AUTO_NUMBER,\n\tFETCH_AUTO_NUMBER_SUCCESS,\n\tFETCH_AUTO_NUMBER_FAILURE,\n\tFETCH_AUTO_NUMBER_ERROR_MSG\n} = AUTO_NUMBER_CONSTANTS;\n\nconst autoNumberGenerateEffect = ({\n\tstate: {\n\t\tproperties: { name, referringTable }\n\t},\n\tdispatch,\n\taction: {\n\t\tpayload: { eventOrigin }\n\t}\n}) => {\n\tif (EVENT_ORIGIN !== eventOrigin) return;\n\n\tdispatch(FETCH_AUTO_NUMBER, {\n\t\tsysparm_processor: 'GetNextNumberAjax',\n\t\tsysparm_name: `${referringTable}.${name}`\n\t});\n};\n\nconst FetchAutoNumberEffect = createHttpEffect(FETCH_AUTO_NUMBER_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_AUTO_QUERY_PARAMS,\n\tsuccessActionType: FETCH_AUTO_NUMBER_SUCCESS,\n\terrorActionType: FETCH_AUTO_NUMBER_FAILURE\n});\n\nconst FetchAutoNumberSuccessEffect = effectProps => {\n\tconst {\n\t\taction,\n\t\tstate: {\n\t\t\tproperties: { name, value }\n\t\t}\n\t} = effectProps;\n\tconst rxml = new window.DOMParser().parseFromString(\n\t\taction.payload,\n\t\t'text/xml'\n\t);\n\tconst items = rxml.getElementsByTagName('item');\n\tif (items.length > 0) {\n\t\tconst val = items[0].getAttribute('value') || '';\n\t\tif (val) {\n\t\t\tdispatchValueChanged(\n\t\t\t\t{\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: val,\n\t\t\t\t\terror: false\n\t\t\t\t},\n\t\t\t\teffectProps,\n\t\t\t\tFETCH_AUTO_NUMBER_SUCCESS\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t}\n\tdispatchValueChanged(\n\t\t{\n\t\t\tname,\n\t\t\tvalue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_AUTO_NUMBER_ERROR_MSG\n\t\t\t}\n\t\t},\n\t\teffectProps,\n\t\tFETCH_AUTO_NUMBER_FAILURE\n\t);\n};\n\nconst FetchAutoNumberFailureEffect = effectProps => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: { name, value }\n\t\t}\n\t} = effectProps;\n\tdispatchValueChanged(\n\t\t{\n\t\t\tname,\n\t\t\tvalue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_AUTO_NUMBER_ERROR_MSG\n\t\t\t}\n\t\t},\n\t\teffectProps,\n\t\tFETCH_AUTO_NUMBER_FAILURE\n\t);\n};\n\nexport default {\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: autoNumberGenerateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER]: {\n\t\t...FetchAutoNumberEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER_SUCCESS]: {\n\t\teffect: FetchAutoNumberSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER_FAILURE]: {\n\t\teffect: FetchAutoNumberFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport {\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport { NOW_BUTTON_ICONIC_TOOLTIP, EVENT_ORIGIN } from './constants';\nimport actionHandlers from './actionHandlers';\nimport { dispatchValueChanged } from './utils.js';\nimport styles from './auto-number-connected.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst COMPONENT_NAME = 'sn-record-auto-number-connected';\n\nconst getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-close-outline',\n\tmessage: t('{0} is not a valid value', value)\n});\n\nexport const view = state => {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tinvalid,\n\t\tmaxlength,\n\t\tmessages,\n\t\terror,\n\t\tdisabled,\n\t\trequired,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"text\"\n\t\t\twrapLabel={wrapLabel}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tname={name}\n\t\t\tmaxlength={maxlength}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfield-layout={fieldLayout}\n\t\t>\n\t\t\t{isAttrTrue(readonly) ? null : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\ticon=\"grid-fill\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\t\t\ttooltip-content={NOW_BUTTON_ICONIC_TOOLTIP}\n\t\t\t\t\tappend-to-payload={{ eventOrigin: EVENT_ORIGIN }}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': NOW_BUTTON_ICONIC_TOOLTIP\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n *  Component that provides auto number functionality\n *```jsx\n *\t<sn-record-auto-number-connected\n *\t\tname = 'u_test_auto_number',\n *\t\tvalue = 'INC0010017',\n *\t\tlabel = 'test auto number',\n *\t\tmaxlength = 40,\n *\t\treferringTable = 'incident',\n *\t\treferringRecordId = '552c48888c033300964f4932b03eb092'\n *\t\tonValueChange = {onChangeCallback}\n *\t/>\n *\n *```\n * @seismicElement sn-record-auto-number-connected\n * @summary  Auto Number Component.\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t */\n\t\tmaxlength: {},\n\t\t/**\n\t\t * value for the input.\n\t\t * @type {'string'}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t * @type {'string'}\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * record id of the current record where the field is located\n\t\t * @type {'string'}\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Callback for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT#VALUE_SET': { stopPropagation: true }\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'NOW_INPUT#INVALID_SET': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: effectProps => {\n\t\t\t\tconst { readonly } = effectProps.properties;\n\t\t\t\tif (!isAttrTrue(readonly)) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue: invalid,\n\t\t\t\t\t\tfieldValue: value\n\t\t\t\t\t} = effectProps.action.payload;\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\terror: invalid ? getError(value) : false\n\t\t\t\t\t};\n\n\t\t\t\t\tdispatchValueChanged(payload, effectProps, 'NOW_INPUT#INVALID_SET');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_AUTO_NUMBER_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_2_1_znowassist_0_index_jsdbx_4b6bfecc__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_2_1_znowassist_0_index_jsdbx_22e58d03__[\"default\"][\"default\"];\n\t\t\t\t} });","import makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport { createSlot } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel\n} from '@servicenow/now-input';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\ttransformState,\n\trenderHighlightedValue,\n\ttransformDescriptionAndMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\tgetPageProperty,\n\trenderIconsInLabelSlot\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper(\n\t{\n\t\tlabel,\n\t\talign,\n\t\trequired,\n\t\treadonly,\n\t\tdescription,\n\t\tinvalid,\n\t\thasFocus,\n\t\treversed,\n\t\tmessages,\n\t\twrapperRef,\n\t\tslot,\n\t\tcomponentId,\n\t\tvariant,\n\t\tfieldset = false,\n\t\thelperContent,\n\t\thighlightedValue = {},\n\t\tfieldLayout = {},\n\t\talignCenter,\n\t\tdecorations = [],\n\t\tfitToParent,\n\t\tshowUnsavedIndicator = false,\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tinitialValue,\n\t\tsuggestions,\n\t\tisModified\n\t},\n\tchildren\n) {\n\tconst { layout = 'vertical', columns } = fieldLayout;\n\tconst customColumn =\n\t\tcolumns?.length > 2\n\t\t\t? (columns?.map(c => `minmax(0, ${c})`)?.join(' ') ?? '')\n\t\t\t: '';\n\tconst snFormFieldClassName = makeClass(\n\t\t'sn-form-field',\n\t\tmapValues({\n\t\t\t'fit-to-parent': fitToParent\n\t\t})\n\t);\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\t'sn-form-field-layout',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed),\n\t\t\t\t[`-${layout}`]: true,\n\t\t\t\t'align-center': alignCenter,\n\t\t\t\t'fit-to-parent': fitToParent,\n\t\t\t\t'will-wrap': wrapLabel\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal'\n\t\t\t\t\t? { 'grid-template-columns': customColumn }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tclassName={className}\n\t\t\tref={wrapperRef}\n\t\t\tslot={slot}\n\t\t>\n\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t{layout === 'vertical' && (\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderFormFieldLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\tisAttrTrue(required),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tgetPageProperty('enable_template_enhancement', false) &&\n\t\t\t\t\t\t\tlabel == 'Template'\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: label,\n\t\t\t\t\t\twrapHelperContent(helperContent),\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'label',\n\t\t\t\t\t\tlayout,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\twrapLabel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDecorations({\n\t\t\t\t\t\tdecorations,\n\t\t\t\t\t\tformControlWrapper: true,\n\t\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\t\tinitialValue,\n\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\tisModified\n\t\t\t\t\t})}\n\n\t\t\t\t\t{layout === 'vertical' && (\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!fieldset && layout === 'horizontal' && label && (\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{fieldset ? (\n\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t<legend\n\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\t{renderDecorations({\n\t\t\t\t\t\t\tdecorations,\n\t\t\t\t\t\t\tformControlWrapper: true,\n\t\t\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\t\t\tinitialValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tisModified\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/legend>\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot><\/slot>\n\t\t\t\t\t)}\n\t\t\t\t<\/fieldset>\n\t\t\t) : children ? (\n\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}<\/div>\n\t\t\t) : (\n\t\t\t\t<slot><\/slot>\n\t\t\t)}\n\t\t\t{layout === 'horizontal' && !fieldset && (\n\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t<div className=\"form-field-message-container\">\n\t\t\t\t{renderFormFieldMessages(\n\t\t\t\t\tcomponentId,\n\t\t\t\t\ttransformDescriptionAndMessages(description, messages)\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n\nconst view = state => {\n\treturn <ControlWrapper {...state.properties} />;\n};\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n *\n * ```jsx\n * <sn-record-control-wrapper\n * \tlabel=\"Dummy Component\"\n * \tdescription=\"This is an example of Control Wrapper in use\"\n * >\n * \t<div>\n * \t\t<input value=\"This is a dummy component\" readOnly />\n * \t<\/div>\n * <\/sn-record-control-wrapper>\n * ```\n *\n * @seismicElement sn-record-control-wrapper\n * @summary Wrapper for Form Controls that provides all common form-controls functionalities such as info messages, labels, error states\n *\n * */\ncreateCustomElement('sn-record-control-wrapper', {\n\tview,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Alignment - use Value \"end\" for a right Text Align\n\t\t * @type {string}\n\t\t */\n\t\talign: {},\n\t\t/**\n\t\t * Unique identifier for the component.\n\t\t * @type {string}\n\t\t */\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Fieldset - Flag to inidcate a group of related elements\n\t\t * @type {boolean}\n\t\t */\n\t\tfieldset: { default: false },\n\t\t/**\n\t\t * Is the component in focus\n\t\t * @type {string|boolean}\n\t\t */\n\t\thasFocus: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Defines the styles used to render the wrapper.\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\t\t/**\n\t\t * Reference to the element.\n\t\t * @type {HTMLElement}\n\t\t */\n\t\twrapperRef: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Specifies whether to align items in center of grid container with padding-block-start or not\n\t\t * @type {boolean}\n\t\t */\n\t\talignCenter: { default: false },\n\t\t/**\n\t\t * Specifies whether to show modified indicator or not in before label\n\t\t * @type {boolean}\n\t\t */\n\t\tshowUnsavedIndicator: { default: false },\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Specifies whether to show AI indicator or not in before label\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { default: false },\n\t\t/**\n\t\t * Specifies whether to field is modified or not\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { default: false }\n\t},\n\ttransformState,\n\tbehaviors: [{ behavior: truncationBehavior }, { behavior: tooltipBehavior }]\n});\n","// 3rd party imports\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport style from './controlwrapper.scss';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {Element} returns an element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t<\/div>\n\t);\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n\n/**\n * This component is used to display messages of several types (info, warning,\n * success, error). The mesages are used to notify the user. This\n * component was meant to be used by the controls team only.\n *\n * Example:\n * ```js\n * <sn-record-controls-internal-field-messages\n *\t\tmessages={[\n *\t\t\t{ type: 'info', message: 'This is an info message' },\n *\t\t\t{ type: 'warning', message: 'This is an warning message' },\n *\t\t\t{ type: 'success', message: 'This is an success message' },\n *\t\t\t{ type: 'error', message: 'This is an error message' }\n *\t\t]}\n *\t/>\n * ```\n */\ncreateCustomElement('sn-record-controls-internal-field-messages', {\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t *  array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * id of parent object\n\t\t */\n\t\tid: {},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: {}\n\t},\n\tview: ({ properties }) => FieldMessages(properties)\n});\n","import makeClass from 'classnames';\nimport React from 'react';\nimport { t } from 'sn-translate';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst POPOVER_CONTENT_TAG = 'sn-record-field-helper-popover-content';\n\ncreateCustomElement(POPOVER_CONTENT_TAG, {\n\ttype: react,\n\tview: ({ properties: { content } }) => (\n\t\t<div id=\"content-area\" style={{ padding: '1rem' }}>\n\t\t\t{content}\n\t\t<\/div>\n\t),\n\tproperties: {\n\t\tcontent: {}\n\t}\n});\n\nexport const renderFieldHelper = (helperContent, invalid) => {\n\tif (helperContent) {\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tclassName=\"sn-control-field-helper\"\n\t\t\t\tinteraction-type=\"none\"\n\t\t\t\tconstrain={{ maxHeight: 200, maxWidth: 300 }}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': t('More information') }\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'now-form-field-button': true,\n\t\t\t\t\t\t'is-invalid': isAttrTrue(invalid)\n\t\t\t\t\t})}\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding\n\t\t\t\t/>\n\t\t\t\t<POPOVER_CONTENT_TAG\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\tcontent={helperContent}\n\t\t\t\t/>\n\t\t\t<\/now-popover>\n\t\t);\n\t}\n};\n","import React from 'react';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport '@servicenow/now-icon';\nimport { renderFieldHelper } from './formFieldHelperReact';\n\nexport default function Label(props) {\n\tlet { htmlFor, children, required, id, helperContent, invalid } = props;\n\tconst isRequired = isAttrTrue(required);\n\n\treturn (\n\t\t<label id={id} className=\"sn-control-label\" htmlFor={htmlFor}>\n\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t<span>{children}<\/span>\n\t\t\t<\/span>\n\t\t\t{isRequired && <now-icon size=\"sm\" icon=\"asterisk-outline\" />}\n\t\t\t{renderFieldHelper(helperContent, invalid)}\n\t\t<\/label>\n\t);\n}\n","// 3rd party imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport '@servicenow/now-icon';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {ReactElement} returns a react element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * react component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t<\/div>\n\t);\n};\n\nFieldMessages.propTypes = {\n\t/**\n\t *  array of message objects that must contain type and message itself.\n\t */\n\tmessages: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\tPropTypes.string,\n\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t])\n\t\t})\n\t),\n\t/**\n\t * id of parent object\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t */\n\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport react from '@servicenow/ui-renderer-react';\nimport Label from './LabelReact';\nimport FieldMessages from './FieldMessagesReact';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\trenderHighlightedValueReact\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\n\nconst { createSlot } = react;\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper({\n\tlabel,\n\tchildren,\n\talign,\n\trequired,\n\treadonly,\n\tdescription,\n\tinvalid,\n\thasFocus,\n\treversed,\n\tmessages,\n\twrapperRef,\n\tslot,\n\tcomponentId,\n\tvariant,\n\tfieldset = false,\n\thelperContent,\n\thighlightedValue = {}\n}) {\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed)\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div className={className} ref={wrapperRef} slot={slot}>\n\t\t\t<div style={{ position: 'relative' }}>\n\t\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\t\thelperContent={helperContent}\n\t\t\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t<\/Label>\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t{renderHighlightedValueReact(highlightedValue)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{fieldset ? (\n\t\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t\t<legend\n\t\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t<\/legend>\n\t\t\t\t\t\t{createSlot(children)}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t) : (\n\t\t\t\t\tcreateSlot(children)\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{description && (\n\t\t\t\t<p id={ids.description} className=\"sn-control-description\">\n\t\t\t\t\t{description}\n\t\t\t\t<\/p>\n\t\t\t)}\n\t\t\t<FieldMessages id={ids.messages} messages={messages} />\n\t\t<\/div>\n\t);\n}\n\nControlWrapper.style = style;\nControlWrapper.propTypes = {\n\tlabel: PropTypes.string,\n\tchildren: PropTypes.any,\n\talign: PropTypes.any,\n\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tdescription: PropTypes.string,\n\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\thasFocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tmessages: PropTypes.array,\n\twrapperRef: PropTypes.any,\n\tcomponentId: PropTypes.any,\n\tvariant: PropTypes.any,\n\tfieldset: PropTypes.bool,\n\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\thighlightedValue: PropTypes.any\n};\n","import { isFunction } from 'lodash';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-checkbox';\nimport '@servicenow/now-toggle';\nimport { renderFormFieldLabel } from '@servicenow/now-input';\nimport '@devsnc/sn-record-control-wrapper';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tisAttrTrue,\n\taccessibilityAttributes,\n\twrapHelperContent,\n\ttrackBehavior,\n\tfieldLayoutSchema,\n\trenderIconsInLabelSlot,\n\trenderDecorations\n} from '@devsnc/sn-controls-common';\n\nimport style from './checkbox.scss';\n\nconst renderHelperContent = ({\n\trequired,\n\tinvalid,\n\tcomponentId,\n\thelperContent,\n\twrapLabel,\n\tfieldLayout: { layout = 'vertical' } = {}\n}) => (\n\t<div className=\"field-helper-content\">\n\t\t{renderFormFieldLabel(\n\t\t\tcomponentId,\n\t\t\tinvalid,\n\t\t\tisAttrTrue(required),\n\t\t\tnull,\n\t\t\tnull,\n\t\t\twrapHelperContent(helperContent),\n\t\t\tfalse,\n\t\t\t'span',\n\t\t\tlayout,\n\t\t\tfalse,\n\t\t\twrapLabel\n\t\t)}\n\t<\/div>\n);\n\n// appendToPayload added because the now-toggle component does not have access to the name otherwise\nconst renderSwitchComponent = (ComponentTag, props) => (\n\t<Fragment>\n\t\t<ComponentTag\n\t\t\t{...props}\n\t\t\tlabel={props.layout === 'horizontal' ? undefined : props.label}\n\t\t\tchecked={isAttrTrue(props.value)}\n\t\t\treadonly={isAttrTrue(props.readonly)}\n\t\t\tinvalid={isAttrTrue(props.invalid)}\n\t\t\trequired={isAttrTrue(props.required)}\n\t\t\tsize=\"md\"\n\t\t\tdisabled={false}\n\t\t\tconfigAria={props.ariaProperties}\n\t\t\tmanageChecked\n\t\t\tappendToPayload={\n\t\t\t\tComponentTag === 'now-toggle' ? { name: props.name } : {}\n\t\t\t}\n\t\t>\n\t\t\t{renderIconsInLabelSlot(props.showUnsavedIndicator)}\n\t\t\t{renderDecorations({\n\t\t\t\tdecorations: props.decorations,\n\t\t\t\tformControlWrapper: true,\n\t\t\t\tshowAIIndicator: props.showAIIndicator,\n\t\t\t\tinitialValue: props.initialValue,\n\t\t\t\tsuggestions: props.suggestions,\n\t\t\t\tisModified: props.isModified\n\t\t\t})}\n\t\t<\/ComponentTag>\n\t<\/Fragment>\n);\n\nconst checkedSetEffect = ({ state, action, dispatch }) => {\n\tconst { name, value } = action.payload;\n\tconst { onValueChange, isToggle } = state.properties;\n\tconst field = isToggle ? 'toggle' : 'checkbox';\n\tif (isFunction(onValueChange)) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: field }\n\t\t});\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: value.toString()\n\t\t});\n\t}\n\tdispatch('NOW_RECORD_CHECKBOX#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue: value.toString()\n\t});\n};\n\n/**\n * Simple checkbox component. Value changes will always use string values:\n * `\"true\"` or `\"false\"`\n */\nexport const view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\tdescription,\n\t\tmessages,\n\t\tname,\n\t\tlabel,\n\t\treadonly,\n\t\tinvalid,\n\t\trequired,\n\t\tvalue,\n\t\thelperContent,\n\t\tfieldLayout,\n\t\tfullWidth,\n\t\tconfigAria,\n\t\tisToggle,\n\t\tlabelPosition,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tisModified,\n\t\tshowAIIndicator,\n\t\tdecorations,\n\t\tsuggestions,\n\t\tinitialValue\n\t} = properties;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\tconst ariaProperties = {\n\t\t...properties.configAria,\n\t\t...accessibilityAttributes(properties),\n\t\t'aria-label': ariaLabel\n\t};\n\tconst layout = fieldLayout.layout;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tlabel={layout === 'horizontal' ? label : undefined}\n\t\t\talignCenter={true}\n\t\t\tclass={{\n\t\t\t\t[`-${layout}`]: layout\n\t\t\t}}\n\t\t\tdecorations={decorations}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div className={'checkbox-wrapper'}>\n\t\t\t\t{renderSwitchComponent(isToggle ? 'now-toggle' : 'now-checkbox', {\n\t\t\t\t\tname,\n\t\t\t\t\tlabel,\n\t\t\t\t\tlayout,\n\t\t\t\t\treadonly,\n\t\t\t\t\tinvalid,\n\t\t\t\t\trequired,\n\t\t\t\t\tariaProperties,\n\t\t\t\t\tfullWidth,\n\t\t\t\t\tvalue,\n\t\t\t\t\tisToggle,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tinitialValue,\n\t\t\t\t\tdecorations,\n\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\tisModified\n\t\t\t\t})}\n\t\t\t\t{helperContent && renderHelperContent(properties)}\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport const actionHandlers = {\n\t['NOW_CHECKBOX#CHECKED_SET']: {\n\t\teffect: checkedSetEffect,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TOGGLE#CHECKED_SET']: {\n\t\teffect: checkedSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n *\n *  Simple checkbox component. Value changes will always use string values:\n * `\"true\"` or `\"false\"`\n *\n * This componenet is meant to be consumed by forms and simply converts properties that `now-checkbox` can understand.\n * If you want to use a checkbox that is not on a form directly, we recommend that you use `now-checkbox` directly\n *\n * ```jsx\n * <now-record-checkbox name=\"checkbox\" label=\"I am a checkbox!\" value=\"true\" />\n * ```\n *\n * @seismicElement now-record-checkbox\n * @summary Simple checkbox component. Value changes will always use string values: `\"true\"` or `\"false\"`\n *\n * */\ncreateCustomElement('now-record-checkbox', {\n\ttype: snabbdom,\n\tview,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * Determines whether the label is positioned at the start or the end of the checkbox.\n\t\t * Supported values are `start`, `end`.\n\t\t * @type {string}\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'end',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Determines whether the label and checkbox will be distributed across the x-axis accordingly.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\tfullWidth: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Renders a toggle when set to true (checkbox when false).\n\t\t * @type {boolean}\n\t\t */\n\t\tisToggle: { default: false },\n\t\t/**\n\t\t * Determines whether the AI indicator should be displayed.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { default: false },\n\t\tisModified: { default: false }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when checkbox value is changed (true to false and vice versa).\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_CHECKBOX#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nconst Checkbox = 'now-record-checkbox';\nexport default Checkbox;\n","import { isFunction, without } from 'lodash';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nexport const actionHandlers = {\n\t'NOW_CHECKBOX#CHECKED_SET': {\n\t\teffect: ({ action, state, dispatch, properties, updateState }) => {\n\t\t\tlet { checkedOptions } = state;\n\t\t\tconst { value, optionValue } = action.payload;\n\t\t\tif (value) {\n\t\t\t\t// add option to checked array\n\t\t\t\tcheckedOptions = [...checkedOptions, optionValue].sort();\n\t\t\t} else {\n\t\t\t\t// remove option from checked array\n\t\t\t\tcheckedOptions = without(checkedOptions, optionValue);\n\t\t\t}\n\n\t\t\tconst selectedOptions = checkedOptions.join(',');\n\n\t\t\tconst { onValueChange, name } = properties;\n\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\tname: name,\n\t\t\t\t\tvalue: selectedOptions\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'checkbox-group' }\n\t\t\t});\n\t\t\tupdateState({ checkedOptions });\n\t\t\tdispatch('SN_RECORD_CHECKBOX_GROUP#VALUE_CHANGED', {\n\t\t\t\tname,\n\t\t\t\tvalue: selectedOptions\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-checkbox';\nimport '@devsnc/sn-record-control-wrapper';\nimport {\n\tisAttrTrue,\n\ttrackBehavior,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\n\nimport { actionHandlers } from './actionHandlers';\nimport style from './checkbox-group.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\n/**\n * Simple checkbox group component.\n * The value of the component will be a string of comma seperated values of the checked boxes.\n */\nexport const setInitialState = ({ properties }) => {\n\tconst { value, options } = properties;\n\tconst valArray = value.split(',');\n\tconst checkedOptions = options\n\t\t.filter(option => valArray.includes(String(option.value)))\n\t\t.map(option => option.value);\n\n\treturn {\n\t\tcheckedOptions\n\t};\n};\n\nexport const view = state => {\n\tconst { checkedOptions, properties } = state;\n\tconst {\n\t\tdescription,\n\t\tmessages,\n\t\tname,\n\t\tlabel,\n\t\treadonly,\n\t\toptions,\n\t\tinvalid,\n\t\trequired,\n\t\thelperContent,\n\t\tconfigAria,\n\t\tlabelPosition,\n\t\tfullWidth,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\thelperContent={helperContent}\n\t\t\tdecorations={decorations}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div role=\"group\" aria-label={label || configAria?.['aria-label']}>\n\t\t\t\t{options.map(option => {\n\t\t\t\t\tconst { value, label } = option;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\tid={value}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\tchecked={checkedOptions.includes(value)}\n\t\t\t\t\t\t\tappend-to-payload={{ optionValue: value }}\n\t\t\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\t\t\tfullWidth={isAttrTrue(fullWidth)}\n\t\t\t\t\t\t\tlabelPosition={labelPosition}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\n/**\n *\n * Simple checkbox group component.\n * The value of the component will be a string of comma seperated values of the checked boxes.\n *\n * This component is meant to be consumed by forms and simply leverages the `now-checkbox` component.\n * If you want to use an individual checkbox, we recommend that you use `now-checkbox` directly\n *\n * ```jsx\n * <sn-record-checkbox-group options=[{value:1, label:'cb 1'}, {value:2, label:'cb 2'}, {value:3, label:'cb 3'}]] name=\"mycheckbox\" value=\"1,2\" />\n * ```\n *\n * @seismicElement sn-record-checkbox-group\n * @summary Simple checkbox group component. Value changes will always be a comma seperated string of values.\n *\n * */\ncreateCustomElement('sn-record-checkbox-group', {\n\ttype: snabbdom,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: { schema: { type: 'string' } },\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: { schema: { type: 'string' } },\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: { cast: 'object' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of objects that must contain value and label pairs corresponding to the checkbox group.\n\t\t * @type {Array<Object<{value, label}>>}>}\n\t\t */\n\t\toptions: { default: [], schema: { type: 'array' } },\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { schema: { type: 'boolean' }, default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { schema: { type: 'boolean' }, default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * @type {('vertical'|'horizontal')}\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'end',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether or not the label and checkbox will be distributed across the x-axis accordingly.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\tfullWidth: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tstyles: style,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when checkbox group value is changed.\n\t\t * @type {{ name: string, value: string}}\n\t\t */\n\t\t'SN_RECORD_CHECKBOX_GROUP#VALUE_CHANGED': {}\n\t},\n\tactionHandlers: { ...actionHandlers },\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tview,\n\tsetInitialState\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const FIELD_RECOMMENDATION_INFORMATION = t('Field Recommendation information');\nexport const WIDTH = 250;\nexport const MIN_HEIGHT = 80;\nexport const MAX_HEIGHT = 200;","import {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\n\nimport style from \"./recommendations-helper.scss\";\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED, \n\tNOW_POPOVER_OPENED_SET, \n\tFIELD_RECOMMENDATION_INFORMATION, \n\tWIDTH, \n\tMIN_HEIGHT, \n\tMAX_HEIGHT\n} from \"./constants\";\n\nconst COMPONENT_NAME = 'sn-recommendations-helper';\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, link } = properties;\n\treturn (\n\t\t<div className=\"sn-recommendations-info-popover-spacing\">\n\t\t\t<div className=\"sn-recommendations-info-popover-description\" role = \"status\">\n\t\t\t\t\t{description}\n\t\t\t<\/div>\n\t\t\t{\n\t\t\t\tlink && link.href && link.label && (\n\t\t\t\t\t<a href={link.href} target=\"_blank\">{link.label}{link.icon && (<now-button-iconic bare icon={link.icon} size=\"sm\"><\/now-button-iconic>)}<\/a>\n\t\t\t\t)\n\t\t\t}\n\t\t<\/div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-recommendations-info-description', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\tlink: { default: {}}\n\t}\n})\n\nexport const recommendationsHelper = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconfig: {\n\t\t\t\tvariantName,\n\t\t\t\ticonName,\n\t\t\t\tdescription,\n\t\t\t\tlink\n\t\t\t},\n\t\t\tfieldType\n\t\t}\n\t} = state;\n\tconst interactionType = link ? \"dialog\" : \"none\"\n\treturn ((\n\t\t\t<now-popover\n\t\t\t\tinteractionType={interactionType}\n\t\t\t\tconstrain={{width: WIDTH, minHeight: MIN_HEIGHT, maxHeight: MAX_HEIGHT}}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName={fieldType !== 'textarea' ? `recommendation-icon` : ''}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={iconName}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': FIELD_RECOMMENDATION_INFORMATION }\n\t\t\t\t\t}}\n\t\t\t\t\thide-padding\n\t\t\t\t><\/now-button-iconic>\n\t\t\t\t{(!description && !link) ? '' \n\t\t\t\t:\n\t\t\t\t<sn-recommendations-info-description slot=\"content\" description={description} link={link}/>\n\t\t\t\t}\n\t\t\t<\/now-popover>\n\t));\n}\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview: recommendationsHelper,\n\tstyles: style,\n\tproperties: {\n\t\tconfig: { default: {} },\n\t\tfieldType: {default: ''}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n\nexport default COMPONENT_NAME;\n","import { cloneDeep, isEqual, map, some, find, toString } from 'lodash';\n\nexport const withStringValues = choices =>\n\tmap(choices, c => ({ ...c, value: toString(c.value) }));\n\nexport function applyOptionStack(choices, optionStack) {\n\tif (!optionStack || optionStack.length == 0) {\n\t\treturn choices;\n\t}\n\n\tlet newChoices = cloneDeep(choices);\n\tif (!newChoices) {\n\t\tnewChoices = [];\n\t}\n\toptionStack.forEach(item => {\n\t\tswitch (item.operation) {\n\t\t\tcase 'add': {\n\t\t\t\tif (find(newChoices, c => c.displayValue === item.label)) {\n\t\t\t\t\t// validate that duplicate choice label is not being added.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newOption = {\n\t\t\t\t\tdisplayValue: item.label,\n\t\t\t\t\tvalue: toString(item.value)\n\t\t\t\t};\n\t\t\t\tif (typeof item.index === 'undefined') {\n\t\t\t\t\tnewChoices.push(newOption);\n\t\t\t\t} else {\n\t\t\t\t\tnewChoices.splice(item.index, 0, newOption);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'remove': {\n\t\t\t\t// normalize comparison to string values\n\t\t\t\tlet itemValue = String(item.value);\n\t\t\t\tfor (let i = 0, iM = newChoices.length; i < iM; i++) {\n\t\t\t\t\tlet optionValue = String(newChoices[i].value);\n\t\t\t\t\tif (optionValue !== itemValue) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tnewChoices.splice(i, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'clear': {\n\t\t\t\tnewChoices = [];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// Updating the option label and disabled\n\t\t\tcase 'update': {\n\t\t\t\t// normalize comparison to string values\n\t\t\t\tconst itemValue = String(item.value);\n\t\t\t\tfor (let i = 0, iM = newChoices.length; i < iM; i++) {\n\t\t\t\t\tconst optionValue = String(newChoices[i].value);\n\t\t\t\t\tif (optionValue === itemValue) {\n\t\t\t\t\t\t// Only update label if item.label exists\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(item, 'label')) {\n\t\t\t\t\t\t\tnewChoices[i].displayValue = item.label;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Only update disabled flag if item has the 'disabled' property\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(item, 'disabled')) {\n\t\t\t\t\t\t\tnewChoices[i].disabled = !!item.disabled;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\treturn newChoices;\n}\n\n/**\n * Creates a new list of choices with the given value added as an option iff the value does not already exist\n * in the list of choices. The value is attached to the end of the list.\n *\n * Notes: unlike applyOptionStack with an 'add' operation this would still add a choice even if a choice\n * with the value as a displayValue already exists\n * @param {[{displayValue: string, value: string }]} choices - The current list of choices\n * @param {string} value - The value to add as a choice\n * @param {string} displayValue - The display value of the choice\n */\nexport const appendTmpValueAsChoice = (choices, value, displayValue) => {\n\t// Don't add anything if no value\n\tif (!value) return choices;\n\n\t// Ensure we don't add duplice choices\n\tif (!choices || find(choices, c => c.value === value)) return choices;\n\n\tconst newChoices = cloneDeep(choices);\n\n\tnewChoices.push({\n\t\tdisplayValue: displayValue || value,\n\t\tvalue,\n\t\t_isTmp: true\n\t});\n\n\treturn newChoices;\n};\n//check if value is valid, otherwise return the first choice's value\nexport const getValidChoiceValue = (value, choices) => {\n\tif (!some(choices, { value })) {\n\t\treturn choices[0]?.value || '';\n\t}\n\treturn value;\n};\n\n/**\n * Given two choies arrays this determines if the options within the arrays\n * are equal (excluding any tmp choices)\n * @param {array} from - Options array without tmp values\n * @param {array} to - Options array with some tmp values\n * @returns bool - Whether they are equal\n */\nexport const isEqualSansTmp = (from, to) =>\n\tisEqual(\n\t\tfrom,\n\t\tto.filter(i => !i._isTmp)\n\t);\n\n/**\n * Find the field the changed within serializedChanges\n * @param {string} serializedChangesString String from formData passed by forms\n * @param {object} attributeFields Object key by field name\n * @returns {object} The object found in the parsed serializedChangesString that matches the attribute field\n */\nexport const getChangedFieldInSerializedChanged = (\n\tserializedChangesString,\n\tattributeFields\n) => {\n\tlet serializedChanges = JSON.parse(serializedChangesString);\n\treturn find(serializedChanges, changedField => {\n\t\ttry {\n\t\t\tlet potentialChange = find(\n\t\t\t\tattributeFields,\n\t\t\t\t({ name }) => name == changedField.name\n\t\t\t);\n\t\t\t//Nothing found from this serializedChange\n\t\t\tif (!potentialChange) return false;\n\t\t\treturn potentialChange.value !== changedField.value;\n\t\t} catch (e) {\n\t\t\t/* fall through and return false */\n\t\t}\n\t});\n};\n\n/**\n *\n * @param {string} sysId\n * @param {boolean} isNewRecord\n * @returns {boolean} true if the field is rendered in a edit form field. Returns false if the field is part of new or update record\n */\nexport const isListEditFormField = (sysId, isNewRecord) =>\n\tsysId === '-1' && !isNewRecord;\n\n/**\n * Determines whether the first option should be selectable based on the given properties.\n *\n * @param {Object} props - The properties to check.\n * @param {Object} props.formData - The form data.\n * @param {boolean} props.formData.isNewRecord - Indicates if the record is new.\n * @param {string} props.recordSysId - The system ID of the record.\n * @param {boolean} props.dontSelectFirstOption - Indicates if the first option should not be selected.\n * @returns {boolean} - Returns true if the first option should not be selected or if the field is rendered in a list edit form field.\n */\nexport const shouldSelectFirstOption = props => {\n\tconst {\n\t\tformData: { isNewRecord } = {},\n\t\trecordSysId,\n\t\tdontSelectFirstOption\n\t} = props;\n\treturn dontSelectFirstOption || isListEditFormField(recordSysId, isNewRecord);\n};\n","export const NOW_CHOICE_NONE_OPTION = 'NOW_CHOICE_NONE_OPTION';","import { isEmpty } from 'lodash';\nimport '@servicenow/now-select';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tSUGGESTION_PREFIX,\n\tNO_PREDICTIONS_AVAILABLE,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-recommendations-helper';\nimport { withStringValues } from './utils';\nimport { t } from 'sn-translate';\nimport { NOW_CHOICE_NONE_OPTION } from './constants';\n\nconst transformChoices = (choices = [], meta) =>\n\tchoices\n\t\t.filter(item => (item.display !== undefined ? item.display : true))\n\t\t.map(item => ({\n\t\t\tid: item.id || item.value || NOW_CHOICE_NONE_OPTION,\n\t\t\tlabel: item.displayValue || '',\n\t\t\tsublabel: item.sublabel || '',\n\t\t\tdisabled: item.disabled || false,\n\t\t\t...meta\n\t\t}));\n\nconst transformChoicesWithRecommendations = ({ choices = [], suggestions }) => {\n\tif (isEmpty(suggestions)) {\n\t\treturn transformChoices(choices);\n\t}\n\n\tconst {\n\t\titems: suggestedItems = [],\n\t\tsectionLabel,\n\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\tmeta\n\t} = suggestions;\n\n\tconst recommendationSection = {\n\t\tlabel: sectionLabel,\n\t\tchildren: suggestedItems.length\n\t\t\t? transformChoices(\n\t\t\t\t\tsuggestedItems.map(item => ({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tvalue: `${SUGGESTION_PREFIX}${item.value}`\n\t\t\t\t\t})),\n\t\t\t\t\tmeta\n\t\t\t\t)\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t};\n\n\tconst resultsSection = {\n\t\tlabel: t('Results'),\n\t\tchildren: transformChoices(choices)\n\t};\n\n\treturn [recommendationSection, resultsSection];\n};\nexport const view = state => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\treadonly,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tmessages = [],\n\t\t\tname,\n\t\t\thelperContent,\n\t\t\trequired,\n\t\t\thighlightedValue,\n\t\t\tchoices: propChoices,\n\t\t\tconfigAria,\n\t\t\tsuggestions,\n\t\t\tfieldLayout,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tdictionaryAttributes: { isSearchable } = {},\n\t\t\twrapLabel\n\t\t},\n\t\tchoices: stateChoices,\n\t\tvalue,\n\t\tisSuggestionSelected\n\t} = state;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\t// If we have local choices (from GraphQL response), use those.\n\t// Otherwise fall back to choices from parent\n\tconst choices = stateChoices || withStringValues(propChoices);\n\n\tconst ariaConfig = {\n\t\ttrigger: {\n\t\t\t...configAria,\n\t\t\t'aria-label': ariaLabel,\n\t\t\t...getAriaLabelFromConfig(configAria, '{0}: {1}', value)\n\t\t},\n\t\tpanel: {\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Select {0}')\n\t\t}\n\t};\n\n\tconst selectedValue = value || NOW_CHOICE_NONE_OPTION;\n\n\treturn (\n\t\t<now-select\n\t\t\tautofocus={autofocus}\n\t\t\thelper-content={wrapHelperContent(helperContent)}\n\t\t\tinvalid={invalid}\n\t\t\titems={transformChoicesWithRecommendations({\n\t\t\t\tchoices,\n\t\t\t\tsuggestions\n\t\t\t})}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmanage-invalid\n\t\t\tmanage-selected-item\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tselected-item={\n\t\t\t\tisSuggestionSelected\n\t\t\t\t\t? `${SUGGESTION_PREFIX}${selectedValue}`\n\t\t\t\t\t: selectedValue\n\t\t\t}\n\t\t\tconfig-aria={ariaConfig}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsearch={isSearchable ? 'contains' : 'none'}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t<\/now-select>\n\t);\n};\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { get, map, find, some, isEqual, toString, isEmpty } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tgetEncodedRecord,\n\tgetSerializedChanges,\n\tSUGGESTION_PREFIX,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tappendTmpValueAsChoice,\n\tapplyOptionStack,\n\tgetChangedFieldInSerializedChanged,\n\tgetValidChoiceValue,\n\tshouldSelectFirstOption,\n\tisEqualSansTmp,\n\twithStringValues\n} from './utils';\nimport { NOW_CHOICE_NONE_OPTION } from './constants';\n\nlet query = `\nquery ($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  GlideLayout_Query {\n    choiceDataRetriever(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n      choice {\n        value\n        label\n      }\n    }\n  }\n}\n`;\n\nexport const FETCH_DATA = 'CHOICE_CONNECTED_FETCH_DATA';\nexport const FETCH_DATA_SUCCESS = 'CHOICE_CONNECTED_FETCH_DATA_SUCCESS';\nconst FETCH_DATA_FAILURE = 'CHOICE_CONNECTED_FETCH_DATA_FAILURE';\nconst GRAPHQL_DATA_PATH = 'data.GlideLayout_Query.choiceDataRetriever.choice';\n\n/**\n * Dependent fields are responsible for maintaining their own list of\n * `choices` any time the parent value changes.\n *\n * Manage GraphQL call and figure out correct state.\n */\nexport const fetchDependentChoices = (props, dispatch) => {\n\tconst { recordSysId, name, tableName } = props;\n\n\tif (dispatch) {\n\t\tconst payload = {\n\t\t\tsys_id: recordSysId,\n\t\t\tfield: name,\n\t\t\ttable: tableName,\n\t\t\tserialized_changes: getSerializedChanges(props),\n\t\t\tencoded_record: getEncodedRecord(props.formData)\n\t\t};\n\t\tdispatch(FETCH_DATA, payload, { stopPropagation: true });\n\n\t\treturn {\n\t\t\tisLoading: true\n\t\t};\n\t}\n\n\treturn {};\n};\n\nexport const selectValue =\n\t(properties, updateState, dispatch) =>\n\t({ value, displayValue }) => {\n\t\tupdateState({\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined\n\t\t});\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t}\n\t\t});\n\t};\n\n// Returns either the displayValue or the displayValue of the choice with the matching value\nconst getDisplayValue = (choices, value, displayValue) => {\n\tconst selected = find(choices, c => c.value === value);\n\tif (selected && selected.displayValue) return selected.displayValue;\n\telse if (displayValue) return displayValue;\n\n\treturn '';\n};\n\nconst updateChoices = (\n\tstate,\n\tproperties,\n\tupdateState,\n\tnewChoices,\n\toldChoices,\n\tdispatch\n) => {\n\tconst {\n\t\tdependentField,\n\t\tinitialValue,\n\t\tinitialDisplayValue,\n\t\tdictionaryAttributes,\n\t\tforceUncontrolled,\n\t\toptionStack,\n\t\tname\n\t} = properties;\n\tconst { choices: stateChoices, isLoading, value: stateValue } = state;\n\n\tconst refQualElementsAttribute = dictionaryAttributes\n\t\t? dictionaryAttributes['refQualElements']\n\t\t: undefined;\n\tconst initialValueString = toString(initialValue);\n\tconst choices = withStringValues(newChoices);\n\tconst fileterdChoices = withStringValues(stateChoices).filter(\n\t\tchoice => !choice._isTmp\n\t);\n\tconst prevChoices = withStringValues(oldChoices);\n\n\t/*isLoading is actually passed in & its different than the state when we fetched\n\t * & the choices passed are differrent than the empty state choices\n\t * & the choices are different than what given on load\n\t * & But sometimes the choices given are the same as the props\n\t * but only for the none-choice.\n\t */\n\tconst justStoppedLoading =\n\t\tisLoading !== undefined &&\n\t\t!isEqualSansTmp(choices, fileterdChoices) &&\n\t\t(!isEqual(choices, prevChoices) ||\n\t\t\t(choices.length == 1 &&\n\t\t\t\tchoices[0].value === '' &&\n\t\t\t\tprevChoices.length === 1 &&\n\t\t\t\tprevChoices[0].value === ''));\n\n\tif (!forceUncontrolled && initialValueString !== stateValue) {\n\t\tconst hasChoiceMatch = some(fileterdChoices, ['value', initialValueString]);\n\t\tif (!(dependentField || refQualElementsAttribute) || hasChoiceMatch) {\n\t\t\tconst modifiedChoices = !hasChoiceMatch\n\t\t\t\t? appendTmpValueAsChoice(\n\t\t\t\t\t\tfileterdChoices,\n\t\t\t\t\t\tinitialValueString,\n\t\t\t\t\t\tinitialDisplayValue\n\t\t\t\t\t)\n\t\t\t\t: typeof stateChoices !== 'undefined'\n\t\t\t\t\t? fileterdChoices\n\t\t\t\t\t: choices;\n\t\t\tupdateState({\n\t\t\t\tvalue: initialValueString,\n\t\t\t\tdisplayValue: initialDisplayValue,\n\t\t\t\tchoices: modifiedChoices\n\t\t\t});\n\t\t} else {\n\t\t\t// if the prop isn't valid, remember what it was trying to set and make\n\t\t\t// the prop match the state in componentDidUpdate\n\t\t\tupdateState({\n\t\t\t\tvalueCandidate: initialValueString,\n\t\t\t\tdisplayValueCandidate: initialDisplayValue\n\t\t\t});\n\t\t}\n\t}\n\tconst derivedChoices = applyOptionStack(choices, optionStack);\n\tif (\n\t\tjustStoppedLoading ||\n\t\t(!isLoading && !isEqualSansTmp(derivedChoices, stateChoices))\n\t) {\n\t\tupdateState({ choices: derivedChoices, isLoading });\n\t}\n\n\tif (justStoppedLoading && dependentField) {\n\t\t// update the choices for the dependent fields in the form\n\t\tdispatch('GFORM#SET_CHOICES', {\n\t\t\tfieldName: name,\n\t\t\tchoices: derivedChoices\n\t\t});\n\t}\n};\n\nconst propertyChangedEffect = ({\n\tupdateState,\n\tstate,\n\taction,\n\tproperties,\n\tdispatch\n}) => {\n\tconst { name, value: newValue, previousValue } = action.payload;\n\tconst { choices: stateChoices, refQualElements, isLoading } = state;\n\n\tconst {\n\t\tdependentField,\n\t\tdependentFieldValue,\n\t\tdependentValue,\n\t\tinitialValue,\n\t\tinitialDisplayValue,\n\t\tchoices: propChoices,\n\t\tvalue,\n\t\tdisplayValue,\n\t\tdictionaryAttributes\n\t} = properties;\n\n\tconst refQualElementsAttribute = dictionaryAttributes\n\t\t? dictionaryAttributes['refQualElements']\n\t\t: undefined;\n\tconst initialValueString = toString(initialValue);\n\n\tif (name === 'optionStack') {\n\t\tif (isEqual(newValue, previousValue)) return;\n\t\tlet choices = propChoices;\n\t\tif (!isEqualSansTmp(propChoices, stateChoices) && dependentField) {\n\t\t\tchoices = stateChoices;\n\t\t}\n\t\tconst newChoices = applyOptionStack(choices, newValue);\n\t\tif (!isLoading) {\n\t\t\tupdateState({ choices: withStringValues(newChoices) });\n\t\t}\n\t}\n\n\tif (name === 'choices') {\n\t\tlet newChoices = newValue;\n\t\tif (isEqual(newValue, previousValue)) {\n\t\t\tnewChoices = stateChoices;\n\t\t}\n\t\tupdateChoices(\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tnewChoices,\n\t\t\tpreviousValue,\n\t\t\tdispatch\n\t\t);\n\t} else if (name === 'formData') {\n\t\tlet changedField;\n\t\tif (refQualElementsAttribute) {\n\t\t\tconst { serializedChanges = '' } = newValue;\n\t\t\tchangedField = getChangedFieldInSerializedChanged(\n\t\t\t\tserializedChanges,\n\t\t\t\trefQualElements\n\t\t\t);\n\t\t\tfetchDependentChoices(properties, dispatch); // use to fetch depedentChoices via reference qualifier\n\t\t\tif (changedField) {\n\t\t\t\tconst newRefQualElements = {\n\t\t\t\t\t...refQualElements,\n\t\t\t\t\t[changedField.name]: {\n\t\t\t\t\t\tname: changedField.name,\n\t\t\t\t\t\tvalue: changedField.value\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tupdateState({ refQualElements: newRefQualElements });\n\t\t\t}\n\t\t}\n\t\tconst { fields = {} } = properties.formData;\n\t\tconst formFieldProperties = fields[properties.name];\n\t\tif (formFieldProperties) {\n\t\t\tconst { value: formFieldValue, displayValue: formFieldDisplayValue } =\n\t\t\t\tformFieldProperties;\n\t\t\tif (formFieldValue !== state.value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue: toString(formFieldValue),\n\t\t\t\t\tdisplayValue: toString(formFieldDisplayValue)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} else if (name === 'dependentValue' || name === 'dependentFieldValue') {\n\t\tlet changedField;\n\t\tif (refQualElementsAttribute) {\n\t\t\tconst { serializedChanges = '' } = properties.formData;\n\t\t\tchangedField = getChangedFieldInSerializedChanged(\n\t\t\t\tserializedChanges,\n\t\t\t\trefQualElements\n\t\t\t);\n\t\t}\n\t\tlet newDependentValue = dependentFieldValue || dependentValue;\n\t\tconst oldDependentValue = previousValue;\n\n\t\tif (\n\t\t\t(dependentField && newDependentValue !== oldDependentValue) ||\n\t\t\t(refQualElementsAttribute && changedField)\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tvalue: value || initialValueString || '',\n\t\t\t\tdisplayValue: displayValue || initialDisplayValue || '',\n\t\t\t\t...fetchDependentChoices(properties, dispatch)\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n};\n\nexport const componentRenderedEffect = ({\n\tstate,\n\tproperties,\n\taction: {\n\t\tpayload: { previousRenderState },\n\t\tmeta: { firstRenderOnConnect }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tconst {\n\t\tvalueCandidate,\n\t\tdisplayValueCandidate,\n\t\tchoices,\n\t\tvalue,\n\t\tisLoading,\n\t\toptionStack\n\t} = state;\n\n\tconst { readonly } = properties;\n\n\tconst updateValue = selectValue(properties, updateState, dispatch);\n\n\tif (firstRenderOnConnect && !shouldSelectFirstOption(properties)) {\n\t\tif (!isAttrTrue(readonly) && choices.length && !some(choices, { value })) {\n\t\t\tconst validChoiceValue = getValidChoiceValue(value, choices);\n\t\t\tupdateValue({\n\t\t\t\tvalue: validChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, validChoiceValue)\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tconst hasRememberedMatch = valueCandidate !== undefined;\n\n\tif (\n\t\thasRememberedMatch &&\n\t\t(valueCandidate === toString(properties.initialValue) ||\n\t\t\tpreviousRenderState.valueCandidate !== valueCandidate)\n\t) {\n\t\t// Most likely a change to the value of a choice field that has a dependency\n\t\t// In this case, the choice was not added in willReceiveProps (because it has a dependency)\n\t\t// Therefore, we must add it here\n\t\tlet hasChoiceMatch = some(choices, { value: valueCandidate });\n\t\tlet newState = {};\n\t\tif (!hasChoiceMatch) {\n\t\t\tnewState = {\n\t\t\t\tchoices: appendTmpValueAsChoice(\n\t\t\t\t\tchoices,\n\t\t\t\t\tvalueCandidate,\n\t\t\t\t\tdisplayValueCandidate\n\t\t\t\t)\n\t\t\t};\n\t\t}\n\n\t\t// just remembered a value, so let's make state match our props\n\t\t// selectValue calls valueChange and disallows updating other parts\n\t\t// of the state, so we just update the state here instead of calling that\n\t\tupdateState({\n\t\t\tvalue: valueCandidate,\n\t\t\tdisplayValue: displayValueCandidate,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined,\n\t\t\t...newState\n\t\t});\n\t}\n\n\tconst justStoppedLoading =\n\t\tisLoading !== previousRenderState.isLoading && !isLoading;\n\n\tif (justStoppedLoading) {\n\t\tconst hasChoiceMatch = some(choices, { value: value });\n\t\t// when choices get added via dependent value and if empty value is part of choice,\n\t\t// it should trigger an onValueChange call\n\t\tconst matchedChoiceIsNone =\n\t\t\tvalue === '' &&\n\t\t\tsome(choices, { value: '' }) &&\n\t\t\t!isEqual(choices, previousRenderState.choices);\n\t\tif (hasRememberedMatch) {\n\t\t\t// values set by script that become valid after a fetch should be set\n\t\t\tupdateValue({\n\t\t\t\tvalue: valueCandidate,\n\t\t\t\tdisplayValue: displayValueCandidate\n\t\t\t});\n\t\t} else if (!hasChoiceMatch) {\n\t\t\tconst firstChoiceValue =\n\t\t\t\tisAttrTrue(readonly) || shouldSelectFirstOption(properties)\n\t\t\t\t\t? ''\n\t\t\t\t\t: choices[0]?.value || '';\n\t\t\tupdateValue({\n\t\t\t\tvalue: firstChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, firstChoiceValue, '')\n\t\t\t});\n\t\t} else if (matchedChoiceIsNone || hasChoiceMatch)\n\t\t\tupdateValue({\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, value)\n\t\t\t});\n\t}\n\t//Need to validate situation where choice list without -- None -- is set to blank via g_form.setValue or g_form.clearValue\n\t//We shouldn't select the first choice when value is empty \"\" on bulk edit form or when dontSelectFirstOption is true.\n\telse if (\n\t\t!isLoading &&\n\t\t(optionStack !== previousRenderState.optionStack ||\n\t\t\t(!shouldSelectFirstOption(properties) &&\n\t\t\t\t!isAttrTrue(readonly) &&\n\t\t\t\t!some(choices, { value: '' }) &&\n\t\t\t\tvalue === ''))\n\t) {\n\t\tconst validChoiceValue = getValidChoiceValue(value, choices);\n\t\tif (\n\t\t\tvalidChoiceValue !== value ||\n\t\t\t(value === '' &&\n\t\t\t\tgetDisplayValue(choices, value) !=\n\t\t\t\t\tgetDisplayValue(\n\t\t\t\t\t\tpreviousRenderState.choices,\n\t\t\t\t\t\tpreviousRenderState.value\n\t\t\t\t\t))\n\t\t) {\n\t\t\tupdateValue({\n\t\t\t\tvalue: validChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, validChoiceValue)\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\t// Dependent fields might be constructed after the parent field value has\n\t\t// already changed. In these cases, the `choices` for the dependent field\n\t\t// correspond to the choices for the old parent field value, not the\n\t\t// current value. Need to immediately fetch up-to-date choices.\n\t\t//\n\t\t// When the parent value hasn't changed before this field has been\n\t\t// constructed, the `dependentValue` prop remains undefined so `props.choices`\n\t\t// contains accurate entries.\n\t\tconst dependentChoiceData =\n\t\t\tproperties.dependentField &&\n\t\t\t(properties.dependentFieldValue || properties.dependentValue)\n\t\t\t\t? fetchDependentChoices(properties, dispatch)\n\t\t\t\t: {};\n\n\t\tif (!isEmpty(dependentChoiceData)) {\n\t\t\tupdateState({\n\t\t\t\t...dependentChoiceData\n\t\t\t});\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t[actionTypes.COMPONENT_RENDERED]: componentRenderedEffect,\n\t[FETCH_DATA]: createGraphQLEffect(query, {\n\t\tvariableList: [\n\t\t\t'table',\n\t\t\t'field',\n\t\t\t'sys_id',\n\t\t\t'serialized_changes',\n\t\t\t'encoded_record'\n\t\t],\n\t\tsuccessActionType: FETCH_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DATA_FAILURE\n\t}),\n\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: ({ updateState, action, state, properties, dispatch }) => {\n\t\t\tconst { payload } = action;\n\t\t\tif (payload.errors.length < 1) {\n\t\t\t\tconst results = get(payload, GRAPHQL_DATA_PATH);\n\t\t\t\tconst choices = map(results, choice => ({\n\t\t\t\t\tvalue: choice.value,\n\t\t\t\t\tdisplayValue: choice.label\n\t\t\t\t}));\n\t\t\t\tupdateChoices(\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tchoices,\n\t\t\t\t\tstate.choices,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\toptionStack: []\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateChoices(\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateState,\n\t\t\t\t\t[],\n\t\t\t\t\tstate.choices,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\toptionStack: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: ({ updateState, state, properties, dispatch }) => {\n\t\t\tupdateChoices(\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tupdateState,\n\t\t\t\t[],\n\t\t\t\tstate.choices,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\tisLoading: false,\n\t\t\t\toptionStack: []\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t'NOW_SELECT#SELECTED_ITEM_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tlet {\n\t\t\titem: { id, label: displayValue, ...meta }\n\t\t} = action.payload;\n\n\t\tconst { name, onValueChange } = properties;\n\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\t\tlet value = id.replace(suggestionPrefix, '');\n\n\t\tif (value === NOW_CHOICE_NONE_OPTION) value = '';\n\n\t\tif (state?.value === value && state?.displayValue === displayValue) return;\n\n\t\tupdateState({\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined,\n\t\t\tisSuggestionSelected: suggestionPrefix.test(id)\n\t\t});\n\n\t\tif (value === NOW_CHOICE_NONE_OPTION) value = '';\n\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t}\n\t\t});\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'choice-connected' },\n\t\t\tadditionalOptions: { ...meta }\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport ConnectedChoice from './view';\nimport actionHandlers from './actionHandlers';\nimport {\n\tappendTmpValueAsChoice,\n\tapplyOptionStack,\n\twithStringValues\n} from './utils';\nimport style from './choice.scss';\nimport { some, toString } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior({ cache: false })\n};\n\n/**\n *  Parse the value of the attribute and build an object keyed by the value in the attribute\n * Sets the value to the name of the field plus some characters as we dont know what the value\n * is set to on first load.\n * @param {string} refQulElemAttribute the value of the attribute. It might be plural ';' separated\n */\nconst getRefQualElements = refQulElemAttribute => {\n\tlet fields = refQulElemAttribute.split(';');\n\tlet elements = fields.reduce((acc, current) => {\n\t\tacc[current] = {\n\t\t\tvalue: current + '- -',\n\t\t\tname: current\n\t\t};\n\t\treturn acc;\n\t}, {});\n\treturn elements;\n};\n\nexport const setInitialState = ({ properties }) => {\n\tconst { dictionaryAttributes = {} } = properties;\n\tconst refQualElements = dictionaryAttributes['refQualElements']\n\t\t? getRefQualElements(dictionaryAttributes['refQualElements'])\n\t\t: {};\n\n\tlet choices = withStringValues(properties.choices);\n\n\tconst initialValue = toString(properties.initialValue);\n\tconst hasChoiceMatch = some(choices, { value: initialValue });\n\n\tif (!hasChoiceMatch) {\n\t\tchoices = appendTmpValueAsChoice(\n\t\t\tchoices,\n\t\t\tinitialValue,\n\t\t\tproperties.initialDisplayValue\n\t\t);\n\t}\n\n\treturn {\n\t\tvalue: initialValue,\n\t\tdisplayValue: toString(properties.initialDisplayValue || initialValue),\n\t\tvalueCandidate: undefined,\n\t\tdisplayValueCandidate: undefined,\n\t\tisLoading: false,\n\t\tchoices: applyOptionStack(choices, properties.optionStack),\n\t\trefQualElements\n\t};\n};\n\n/**\n * ```jsx\n *\n * <sn-record-choice-connected\n *\t\tlabel= 'Choice Field',\n *      initialValue: 'Choice A',\n *      label: 'Choice field that allows no value',\n *      description:'This choice may have no value, but starts with a default value set.',\n *      choices: [ {displayValue: ' -- NONE -- '},{displayValue: 'Choice A',value: 'Choice A'}]\n * />\n * ```\n *\n * @seismicElement sn-record-choice-connected\n * @summary Connected Choice Component\n *\n */\n\ncreateCustomElement('sn-record-choice-connected', {\n\tview: withValueChangeCallbacksView(ConnectedChoice),\n\tsetInitialState,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * choices\n\t\t * Array of choices with values and display values to show in dropdown\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tchoices: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Dictionary Attributes for choice field\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdictionaryAttributes: {},\n\n\t\t/**\n\t\t * When choices have no None option and if first option should not be selected,\n\t\t * this should be set to true.\n\t\t * @type {boolean}\n\t\t */\n\t\tdontSelectFirstOption: { default: false },\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tforceUncontrolled: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * initial Value for field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * initial display Value for field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialDisplayValue: {},\n\n\t\t/**\n\t\t * Whether the field is in the process of getting new choices which could potentially invalidate\n\t\t * the current value\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Live update\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Array of commands to used to modify the list of choices\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\toptionStack: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_CHOICE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_CHOICE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getItemForKeypress\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getItemForKeypress' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].getItemForKeypress;\n\t\t\t\t\t} else if ('getItemForKeypress' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.getItemForKeypress || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].getItemForKeypress;\n\t\t\t\t}, [\"itemsSchema\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.__esModule\n\t\t\t\t\tif (cjsModule && 'itemsSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].itemsSchema;\n\t\t\t\t\t} else if ('itemsSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.itemsSchema || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].itemsSchema;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const DEFAULT_BUTTON_PROPS = {\n\tsize: 'sm',\n\tvariant: 'primary',\n\tlabel: '',\n\ticon: 'ai-sparkle-outline',\n\ttooltipContent: t('Use Now Assist to generate notes'),\n\thideButtonOnDialog: true,\n\tstrictlyUseDefaultPresetAction: false,\n\tisCaretForDropdown: false\n};\nexport const DEFAULT_RECOMMENDATION_DIALOG_PROPS = {\n\tinsertButtonLabel: t('Insert'),\n\trefineButtonLabel: t('Refine'),\n\theight: 350,\n\twidth: 400\n};\nexport const WWNA_INSERT_RECOMMENDATION_CLICKED =\n\t'SN_WWNA#INSERT_RECOMMENDATION_CLICKED';\nexport const WWNA_RECOMMENDATION_DIALOG_CLOSED =\n\t'SN_WWNA#RECOMMENDATION_DIALOG_CLOSED';\nexport const WWNA_PRESET_ACTION_CLICKED = 'SN_WWNA#PRESET_ACTION_CLICKED';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nexport const NOW_TEXTAREA_SELECTION_CHANGED = 'NOW_TEXTAREA#SELECTION_CHANGED';\nexport const NOW_INPUT_SELECTION_CHANGED = 'NOW_INPUT#SELECTION_CHANGED';\nexport const NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST =\n\t'SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST';\nexport const RESOLUTION_TRIGGER_ACTION_ID = 'ad528f2ac34c1e106546baddd4013174';\n\nexport const SHOW_HIDE_WWNA_COMPONENT = 'SHOW_HIDE_WWNA_COMPONENT';\nexport const AUTOGROW_TEXT = 'AUTOGROW_TEXT';\nexport const WWNA_INITIALIZED = 'WWNA_INITIALIZED';\nexport const SN_NACM_COMPONENT_RENDERED = 'SN_NACM#COMPONENT_RENDERED';\n","const resolutionSkillID = 'c5870faa20e22110f877d3d1bc36dd87';\n\nexport const isResolutionSkill = (nacmConfig, table, fieldName) => {\n\tconst fieldConfig = nacmConfig?.contextMenu?.formFieldsSkillMapping\n\t\t? nacmConfig?.contextMenu?.formFieldsSkillMapping?.[table]?.[fieldName]\n\t\t: nacmConfig?.contextMenu;\n\n\treturn fieldConfig?.skill_id === resolutionSkillID;\n};\n\nexport const isNACMSkill = (nacmConfig, table, fieldName) => {\n\tconst fieldConfig = nacmConfig?.contextMenu?.formFieldsSkillMapping\n\t\t? nacmConfig?.contextMenu?.formFieldsSkillMapping?.[table]?.[fieldName]\n\t\t: nacmConfig?.contextMenu;\n\n\tif (!fieldConfig?.skill_id) return false;\n\treturn fieldConfig.skill_id !== resolutionSkillID;\n};\n\nexport const sanitizeNACMValue = value => {\n\t// from wwna richtext editor we would get the value with <br> tags.\n\treturn value.replace(/<br\\s*\\/?>/gi, '\\n');\n};\n\nexport const removeAllWhitespace = text => {\n\tif (!text) return '';\n\treturn text.replace(/\\s/g, '');\n};\n\nexport const textHasMinWordCount = (text, minWords = 0) => {\n\tif (!removeAllWhitespace(text)) return false;\n\tconst words = text.trim().split(/\\s+/);\n\tif (words?.length === 1) return false;\n\tconst filteredWords = words.filter(word => word.trim() !== '');\n\treturn filteredWords.length > (minWords || 0);\n};\n\nexport const replaceSelectedText = (\n\tinitialValue,\n\tnacmValue,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tif (selectionStart === selectionEnd) return nacmValue;\n\treturn (\n\t\tinitialValue.slice(0, selectionStart) +\n\t\tnacmValue +\n\t\tinitialValue.slice(selectionEnd)\n\t);\n};\n\nexport const replaceSelectedTextNACM = (\n\tinitialValue,\n\tnacmValue,\n\tselectionStart,\n\tselectionEnd\n) => {\n\treturn (\n\t\tinitialValue.slice(0, selectionStart) +\n\t\tnacmValue +\n\t\tinitialValue.slice(selectionEnd)\n\t);\n};\n\nexport const getCursorPositionAfterInsertion = (\n\ttextWithInsertion,\n\tinsertedText\n) => {\n\tconst insertionIndex = textWithInsertion.indexOf(insertedText);\n\tif (insertionIndex === -1) return textWithInsertion.length;\n\treturn insertionIndex + insertedText.length;\n};\n\nexport const getFieldElement = (hostElement, selector = 'textarea') => {\n\tconst textareaParent = hostElement?.shadowRoot?.querySelector(\n\t\t`now-${selector}`\n\t);\n\treturn textareaParent?.shadowRoot?.querySelector(selector);\n};\n\nexport const getNowTextarea = hostElement => {\n\treturn getFieldElement(hostElement, 'textarea');\n};\n\nexport const updateTextareaElementSelection = (\n\thostElement,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tconst textarea = getNowTextarea(hostElement);\n\t// set selection on textarea for UI16 feature parity\n\ttextarea.setSelectionRange(selectionStart, selectionEnd);\n};\n","import {\n\tDEFAULT_BUTTON_PROPS,\n\tDEFAULT_RECOMMENDATION_DIALOG_PROPS\n} from './constants';\nimport { removeAllWhitespace, textHasMinWordCount } from './utils';\n\nexport const getNACMConfigDetails = (\n\tinputFocused,\n\twwnaDialogOpened,\n\tisUserTriggered,\n\tselectedText,\n\tdraftedText,\n\tminWordCount\n) => {\n\t// ALWAYS HIDE WHEN OUT OF FOCUS\n\tif (!inputFocused) {\n\t\treturn {\n\t\t\tisComponentVisible: wwnaDialogOpened,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\t// ANY TRIGGER SETTING & MIN WORDS SELECTED\n\tif (selectedText && textHasMinWordCount(selectedText, minWordCount)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: selectedText\n\t\t};\n\t}\n\n\t// ANY TRIGGER & SUFFICIENT DRAFTED TEXT\n\tif (\n\t\tdraftedText &&\n\t\ttextHasMinWordCount(draftedText, minWordCount) &&\n\t\t!selectedText\n\t) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: draftedText\n\t\t};\n\t}\n\n\t// IS USER TRIGGERED & NO TEXT INPUT (default case)\n\tif (isUserTriggered && !removeAllWhitespace(draftedText)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tisComponentVisible: false,\n\t\tcomponentSelectedText: ''\n\t};\n};\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\t{ isUserTriggered, inputFocused, wwnaDialogOpened }\n) => {\n\tconst { contextMenu = {}, minWordCount } = nacmConfig;\n\tconst { isComponentVisible, componentSelectedText } = getNACMConfigDetails(\n\t\tinputFocused,\n\t\twwnaDialogOpened,\n\t\tisUserTriggered,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tminWordCount\n\t);\n\n\treturn (\n\t\tisComponentVisible && (\n\t\t\t<sn-wwna\n\t\t\t\tslot=\"caret\"\n\t\t\t\tid=\"sn-record-nowassist\"\n\t\t\t\tdocumentTableName={referringTable}\n\t\t\t\tdocumentSysId={referringRecordId}\n\t\t\t\twwnaComponentId={name}\n\t\t\t\tnacmConfig={contextMenu}\n\t\t\t\tbuttonProps={DEFAULT_BUTTON_PROPS}\n\t\t\t\trecommendationDialogProps={DEFAULT_RECOMMENDATION_DIALOG_PROPS}\n\t\t\t\tpayload={{\n\t\t\t\t\ttable: referringTable,\n\t\t\t\t\tsysId: referringRecordId,\n\t\t\t\t\tfieldName: name\n\t\t\t\t}}\n\t\t\t\tnacmResponseType=\"text\"\n\t\t\t\tselectedText={componentSelectedText}\n\t\t\t\tdraftedText={draftedText}\n\t\t\t/>\n\t\t)\n\t);\n};\n","import { renderNowAssistContextMenu as renderNACMContextMenu } from './nacm/renderNowAssistContextMenu';\nimport { renderNowAssistContextMenu as renderResolutionNACMContextMenu } from './renderNowAssistContextMenu';\n\nimport { isResolutionSkill } from './utils';\n\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\tprops,\n\tfieldSelector\n) => {\n\tif (isResolutionSkill(nacmConfig, referringTable, name)) {\n\t\treturn renderResolutionNACMContextMenu(\n\t\t\treferringRecordId,\n\t\t\treferringTable,\n\t\t\tname,\n\t\t\tnacmConfig,\n\t\t\tselectedText,\n\t\t\tdraftedText,\n\t\t\tprops,\n\t\t\tfieldSelector\n\t\t);\n\t}\n\n\treturn renderNACMContextMenu(\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tname,\n\t\tnacmConfig,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tprops,\n\t\tfieldSelector\n\t);\n};\n","import {\n\tSN_NACM_COMPONENT_RENDERED,\n\tAUTOGROW_TEXT,\n\tWWNA_INITIALIZED\n} from '../constants';\n\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\t{ dispatch },\n\tfieldSelector = 'textarea'\n) => {\n\tconst { contextMenu = {} } = nacmConfig;\n\n\tconst nacmInitializedHandler = {\n\t\t[`on-${SN_NACM_COMPONENT_RENDERED}`]: e => {\n\t\t\tdispatch(WWNA_INITIALIZED, {\n\t\t\t\tfieldSelector,\n\t\t\t\t...(e?.detail?.payload || {})\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<sn-wwna\n\t\t\tslot=\"caret\"\n\t\t\tid=\"sn-record-nowassist\"\n\t\t\tdocumentTableName={referringTable}\n\t\t\tdocumentSysId={referringRecordId}\n\t\t\twwnaComponentId={name}\n\t\t\tnacmConfig={contextMenu}\n\t\t\tpayload={{\n\t\t\t\ttable: referringTable,\n\t\t\t\tsysId: referringRecordId,\n\t\t\t\tfieldName: name\n\t\t\t}}\n\t\t\tnacmResponseType=\"text\"\n\t\t\t{...nacmInitializedHandler}\n\t\t\tadditionalConfig={{\n\t\t\t\tpreInvokeActionHandler: args => {\n\t\t\t\t\tconst { payload, commandName, handleAutogrow, actionConfig } = args;\n\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tdispatch(AUTOGROW_TEXT, {\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\tcommandName,\n\t\t\t\t\t\t\tresolve,\n\t\t\t\t\t\t\treject,\n\t\t\t\t\t\t\thandleAutogrow,\n\t\t\t\t\t\t\tactionConfig\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tselectedText={selectedText}\n\t\t\tdraftedText={draftedText}\n\t\t/>\n\t);\n};\n","import { CALLBACK_AND_DISPATCH_WITH_STATE } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_TEXTAREA_SELECTION_CHANGED,\n\tNOW_INPUT_SELECTION_CHANGED,\n\tWWNA_INSERT_RECOMMENDATION_CLICKED,\n\tWWNA_RECOMMENDATION_DIALOG_CLOSED,\n\tSHOW_HIDE_WWNA_COMPONENT,\n\tAUTOGROW_TEXT,\n\tWWNA_INITIALIZED\n} from '../constants';\nimport {\n\tgetFieldElement,\n\treplaceSelectedTextNACM,\n\tsanitizeNACMValue\n} from '../utils';\nimport { isNACMSkill } from '../utils';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst selectionChangedEffect = ({\n\taction: {\n\t\tpayload: {\n\t\t\tname: fieldName = '',\n\t\t\tselection = '',\n\t\t\tselectionStart,\n\t\t\tselectionEnd\n\t\t} = {}\n\t},\n\tupdateState,\n\tproperties: { name = '', nowAssistConfig, referringTable }\n}) => {\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\tif (fieldName !== name) return;\n\tupdateState({ selectedText: selection, selectionStart, selectionEnd });\n};\n\nconst handleInsertRecommendationClicked = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: nacmValue = '', wwnaComponentId = '' } = {}\n\t\t} = {},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tname = '',\n\t\t\tonValueChange,\n\t\t\tnowAssistConfig,\n\t\t\treferringTable\n\t\t} = {},\n\t\tstate: { nativeFieldSelector } = {},\n\t\tupdateState,\n\t\thost\n\t} = coeffects;\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\n\tif (name !== wwnaComponentId) return;\n\n\tconst fieldElement = getFieldElement(host, nativeFieldSelector);\n\n\tconst sanitizedNacm = sanitizeNACMValue(nacmValue);\n\tconst value = fieldElement.value;\n\n\tconst nextValue = replaceSelectedTextNACM(\n\t\tvalue,\n\t\tsanitizedNacm,\n\t\tfieldElement.selectionStart,\n\t\tfieldElement.selectionEnd\n\t);\n\n\tconst nextCursorPosition = fieldElement.selectionStart + sanitizedNacm.length;\n\n\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { value: nextValue }\n\t});\n\n\tupdateState({\n\t\tstagedValue: nextValue,\n\t\tselectedText: ''\n\t});\n\n\tconst textarea = getFieldElement(host, nativeFieldSelector);\n\t// Mutating dom elements is generally bad practice, but we have to do it here to prevent our cursor\n\t// from skipping on focus. The state update above is just a few ms too slow 90% of the time. No\n\t// reasonable amount of settimeout/delay effect combinations would acheive this while avoiding flicker.\n\ttextarea.value = nextValue;\n\t// Update the selection and cursor position. The settimeout ensures it gets called after.\n\ttextarea.setSelectionRange(nextCursorPosition, nextCursorPosition);\n\t// Focus to textarea so that onblur event is triggered when we hit save\n\ttextarea.focus();\n};\n\nconst handleAutogrowText = ({\n\taction: { payload },\n\thost,\n\tupdateState,\n\tproperties: { nowAssistConfig, referringTable, name },\n\tstate: { nativeFieldSelector }\n}) => {\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\tconst {\n\t\tresolve,\n\t\tpayload: NACMPayload,\n\t\thandleAutogrow,\n\t\tactionConfig\n\t} = payload;\n\tconst fieldElement = getFieldElement(host, nativeFieldSelector);\n\n\tif (\n\t\t!handleAutogrow ||\n\t\t!actionConfig ||\n\t\t!actionConfig.autogrow ||\n\t\t!(actionConfig.autogrow === 'true' || actionConfig.autogrow === true) ||\n\t\t!fieldElement ||\n\t\t!['sentence', 'paragraph', 'whole-content'].includes(\n\t\t\tactionConfig.autogrowLevel\n\t\t)\n\t) {\n\t\treturn resolve(NACMPayload);\n\t}\n\n\thandleAutogrow({ fieldElement, ...actionConfig });\n\tconst selectedText = fieldElement.value.substring(\n\t\tfieldElement.selectionStart,\n\t\tfieldElement.selectionEnd\n\t);\n\tNACMPayload.payload.selected_text = selectedText;\n\tresolve(NACMPayload);\n\tupdateState({\n\t\tselectedText\n\t});\n};\n\nconst nacmBehavior = {\n\tname: 'nacmBehavior',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name },\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\t// if blur was triggered because of interaction with sn-wwna then bail-out of hiding the NACM component\n\t\t\t\tif (\n\t\t\t\t\tevent\n\t\t\t\t\t\t.composedPath()\n\t\t\t\t\t\t.some(\n\t\t\t\t\t\t\tnode =>\n\t\t\t\t\t\t\t\tnode.nodeName === 'SN-WWNA' && node.id === 'sn-record-nowassist'\n\t\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: false });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['focus'],\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: true });\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: async ({\n\t\t\tproperties: { nowAssistConfig = {}, referringTable, name },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { contextMenu } = nowAssistConfig;\n\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (contextMenu && Object.keys(contextMenu)?.length > 0) {\n\t\t\t\tawait import('@devsnc/sn-wwna');\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcomponentLoaded: true,\n\t\t\t\t\tenableCaretSlot: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SHOW_HIDE_WWNA_COMPONENT']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { show = false }\n\t\t\t\t},\n\t\t\t\tproperties: { nowAssistConfig = {}, referringTable, name },\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tconst floatingButton = host.shadowRoot.getElementById(\n\t\t\t\t\t'sn-record-nowassist'\n\t\t\t\t);\n\t\t\t\tif (floatingButton) {\n\t\t\t\t\tfloatingButton.style.display = show ? 'block' : 'none';\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_SELECTION_CHANGED]: {\n\t\t\teffect: selectionChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_SELECTION_CHANGED]: {\n\t\t\teffect: selectionChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_INSERT_RECOMMENDATION_CLICKED]: {\n\t\t\teffect: handleInsertRecommendationClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_RECOMMENDATION_DIALOG_CLOSED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\tstate: { nativeFieldSelector },\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tgetFieldElement(host, nativeFieldSelector)?.focus?.();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_INITIALIZED]: {\n\t\t\teffect: ({\n\t\t\t\taction: { payload },\n\t\t\t\tupdateState,\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tnativeFieldSelector: payload.fieldSelector\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AUTOGROW_TEXT]: {\n\t\t\teffect: handleAutogrowText,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tsetInitialState: () => {\n\t\treturn {\n\t\t\tcomponentLoaded: false,\n\t\t\tactionsConfig: {},\n\t\t\tenableCaretSlot: false,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tstagedValue: '',\n\t\t\twwnaOffsets: {\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t}\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nexport { nacmBehavior };\n","import { CALLBACK_AND_DISPATCH_WITH_STATE } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_TEXTAREA_SELECTION_CHANGED,\n\tWWNA_INSERT_RECOMMENDATION_CLICKED,\n\tNOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST,\n\tRESOLUTION_TRIGGER_ACTION_ID,\n\tNOW_TEXTAREA_INPUT,\n\tWWNA_RECOMMENDATION_DIALOG_CLOSED,\n\tWWNA_PRESET_ACTION_CLICKED\n} from './constants';\nimport {\n\tgetCursorPositionAfterInsertion,\n\tgetNowTextarea,\n\treplaceSelectedText,\n\tsanitizeNACMValue,\n\tupdateTextareaElementSelection,\n\tisResolutionSkill\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst nowAssistActionsBehavior = {\n\tname: 'nowAssistActionsBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: async ({\n\t\t\tproperties: { nowAssistConfig = {}, name, referringTable },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { contextMenu } = nowAssistConfig;\n\t\t\tif (contextMenu && Object.keys(contextMenu)?.length > 0) {\n\t\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tawait import('@devsnc/sn-wwna');\n\t\t\t\tconst { variable_sets: variableSets } = contextMenu;\n\t\t\t\tconst isUserTriggered =\n\t\t\t\t\tvariableSets?.some(v => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tv?.config_type === RESOLUTION_TRIGGER_ACTION_ID &&\n\t\t\t\t\t\t\tv?.props?.user_triggered === 'true'\n\t\t\t\t\t\t);\n\t\t\t\t\t}) ?? false;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcomponentLoaded: true,\n\t\t\t\t\tenableCaretSlot: true,\n\t\t\t\t\tisUserTriggered\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tproperties: {\n\t\t\t\tinitialValue,\n\t\t\t\tnowAssistConfig,\n\t\t\t\tname: fieldName,\n\t\t\t\treferringTable\n\t\t\t},\n\t\t\tstate: { enableCaretSlot, stagedValue, isUserTriggered },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, fieldName))\n\t\t\t\treturn;\n\t\t\t// This is a workaround for a scenario when a user changes the state of incident and RN\n\t\t\t// auto generates, we only get value not staged value\n\t\t\t// We have to rely on staged value because if user removes the whole text from textarea,\n\t\t\t// we have value but no staged value. In that case, we need to show NACM button.\n\t\t\t// This doesnt happen when user clicks on resolve button. We get both staged and value\n\t\t\tif (!enableCaretSlot && name !== 'initialValue') return;\n\t\t\tif (initialValue && !stagedValue && !isUserTriggered) {\n\t\t\t\tupdateState({ stagedValue: value });\n\t\t\t}\n\t\t},\n\t\t// selection update doesn't run on input...\n\t\t[NOW_TEXTAREA_INPUT]: ({\n\t\t\tproperties: { name = '', nowAssistConfig, referringTable },\n\t\t\taction: { payload: { name: fieldName = '' } = {} },\n\t\t\tstate: { stagedValue, selectedText },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (fieldName !== name || !selectedText) return;\n\t\t\tupdateState({\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: stagedValue.length,\n\t\t\t\tselectionEnd: stagedValue.length\n\t\t\t});\n\t\t},\n\t\t[NOW_TEXTAREA_SELECTION_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tname: fieldName = '',\n\t\t\t\t\tselection = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tproperties: { name = '', nowAssistConfig, referringTable }\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (fieldName !== name) return;\n\t\t\tupdateState({ selectedText: selection, selectionStart, selectionEnd });\n\t\t},\n\t\t[WWNA_INSERT_RECOMMENDATION_CLICKED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { value: nacmValue = '', wwnaComponentId = '' } = {}\n\t\t\t\t} = {},\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {\n\t\t\t\t\tname = '',\n\t\t\t\t\tonValueChange,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\treferringTable\n\t\t\t\t} = {},\n\t\t\t\tstate: {\n\t\t\t\t\tvalue = '',\n\t\t\t\t\tselectedText = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {},\n\t\t\t\tupdateState,\n\t\t\t\thost\n\t\t\t} = coeffects;\n\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\tif (name !== wwnaComponentId) return;\n\n\t\t\tconst sanitizedNacm = sanitizeNACMValue(nacmValue);\n\n\t\t\tconst nextValue = selectedText\n\t\t\t\t? replaceSelectedText(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsanitizedNacm,\n\t\t\t\t\t\tselectionStart,\n\t\t\t\t\t\tselectionEnd\n\t\t\t\t\t)\n\t\t\t\t: sanitizedNacm;\n\n\t\t\tconst nextCursorPosition = getCursorPositionAfterInsertion(\n\t\t\t\tnextValue,\n\t\t\t\tsanitizedNacm\n\t\t\t);\n\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: { value: nextValue }\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tstagedValue: nextValue,\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: nextCursorPosition,\n\t\t\t\tselectionEnd: nextCursorPosition,\n\t\t\t\twwnaDialogOpened: false\n\t\t\t});\n\n\t\t\tconst textarea = getNowTextarea(host);\n\t\t\t// Mutating dom elements is generally bad practice, but we have to do it here to prevent our cursor\n\t\t\t// from skipping on focus. The state update above is just a few ms too slow 90% of the time. No\n\t\t\t// reasonable amount of settimeout/delay effect combinations would acheive this while avoiding flicker.\n\t\t\ttextarea.value = nextValue;\n\t\t\t// Update the selection and cursor position. The settimeout ensures it gets called after.\n\t\t\ttextarea.setSelectionRange(nextCursorPosition, nextCursorPosition);\n\t\t\t// Focus to textarea so that onblur event is triggered when we hit save\n\t\t\ttextarea.focus();\n\t\t},\n\t\t[NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { inputFocused = false }\n\t\t\t},\n\t\t\tproperties: { nowAssistConfig, name, referringTable },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\tupdateState({ inputFocused });\n\t\t},\n\t\t// Hides sparkle when the nowassist box is manually closed - textarea is already blurred but\n\t\t// NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST was skipped to prevent closing wwna\n\t\t[WWNA_RECOMMENDATION_DIALOG_CLOSED]: ({\n\t\t\thost,\n\t\t\tupdateState,\n\t\t\tproperties: { nowAssistConfig, name, referringTable }\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tupdateState({ wwnaDialogOpened: false });\n\t\t\tgetNowTextarea(host)?.focus();\n\t\t},\n\t\t// Unfortunatey once we have text in the input, the wwna button acts as a menu, doesnt\n\t\t// dispatch WWNA_PRESET#ACTION_CLICKED anymore, and does not accept append data.\n\t\t// It dispatches NOW_BUTTON#CLICKED with a payload of { command: 'OPEN_POPOVER }.\n\t\t['NOW_BUTTON#CLICKED']: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties: { nowAssistConfig, name, referringTable },\n\t\t\tstate: { selectedText, stagedValue } = {}\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (action.payload.command !== 'OPEN_POPOVER') return;\n\t\t\t// if no selected text, select all text\n\t\t\tif (!selectedText) {\n\t\t\t\tupdateTextareaElementSelection(host, 0, stagedValue.length);\n\t\t\t}\n\t\t},\n\t\t// we have to \"commit\" the staged value for the text box when the nowassist box opens,\n\t\t// otherwise it'll be out of sync and break when WWNA_INSERT_RECOMMENDATION_CLICKED runs\n\t\t[WWNA_PRESET_ACTION_CLICKED]: ({\n\t\t\taction: { payload: { wwnaComponentId = '' } = {} } = {},\n\t\t\tdispatch,\n\t\t\tproperties: {\n\t\t\t\tname = '',\n\t\t\t\tonValueChange,\n\t\t\t\tnowAssistConfig,\n\t\t\t\treferringTable\n\t\t\t} = {},\n\t\t\tstate: { stagedValue } = {},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (name !== wwnaComponentId) return;\n\t\t\tupdateState({ wwnaDialogOpened: true });\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\tvalue: stagedValue\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tsetInitialState: () => {\n\t\treturn {\n\t\t\tcomponentLoaded: false,\n\t\t\tenableCaretSlot: false,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tstagedValue: '',\n\t\t\tisUserTriggered: false,\n\t\t\tinputFocused: false,\n\t\t\twwnaOffsets: {\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t},\n\t\t\twwnaDialogOpened: false\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nexport { nowAssistActionsBehavior };\n","import { size } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\n// When the current character count is within this percentage of the max\n// length, we make the counter a more prominent warning.\nconst CHARACTER_COUNTER_WARNING = 0.8;\n\nexport default function CharacterCounter({ value, maxlength, readonly }) {\n\tmaxlength = parseInt(maxlength);\n\n\tif (Number.isNaN(maxlength)) {\n\t\treturn null;\n\t}\n\n\tconst charCount = size(value);\n\tconst charsRemaining = maxlength - charCount;\n\n\tconst isEditable = !isAttrTrue(readonly);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={makeClass('sn-control-character-counter', {\n\t\t\t\twarning:\n\t\t\t\t\tisEditable &&\n\t\t\t\t\tcharCount / maxlength >= CHARACTER_COUNTER_WARNING &&\n\t\t\t\t\tcharsRemaining >= 0,\n\t\t\t\terror: isEditable && charsRemaining < 0\n\t\t\t})}\n\t\t\taria-live=\"polite\"\n\t\t\taria-relevant=\"text\"\n\t\t\taria-atomic=\"true\"\n\t\t>\n\t\t\t{t('Characters left: {0}', charsRemaining)}\n\t\t<\/div>\n\t);\n}\n","import { toString, isFunction, isEmpty } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-textarea';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\trenderDecorations,\n\ttransformDescriptionAndMessages,\n\tNO_PREDICTIONS_AVAILABLE,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport { renderNowAssistContextMenu } from '@devsnc/sn-record-nowassist';\nimport '@devsnc/sn-recommendations-helper';\nimport { createSlot, Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport CharacterCounter from './CharacterCounter';\n\nconst normalizePlaceholder = (placeholder, readonly) =>\n\tplaceholder || !isAttrTrue(readonly) ? placeholder : '—';\n\nconst setInnerRef = innerRef => node => {\n\tif (node) {\n\t\tif (isFunction(innerRef)) {\n\t\t\tinnerRef(node);\n\t\t}\n\t}\n};\n\nconst onFocusEvent = onFocus => event => {\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nconst onBlurEvent = (onBlur, onValueChange) => event => {\n\tconst composedPath = event.composedPath()[0];\n\tconst value = composedPath?.value;\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({ value });\n\t}\n};\n\nconst onMouseOverEvent = onMouseOver => event => {\n\tif (isFunction(onMouseOver)) {\n\t\tonMouseOver(event);\n\t}\n};\n\nconst onMouseOutEvent = onMouseOut => event => {\n\tif (isFunction(onMouseOut)) {\n\t\tonMouseOut(event);\n\t}\n};\n\nconst onChangeEvent = (onChange, onValueChange) => event => {\n\tconst value = event.target.value;\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tevent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst onNDSChange = (onChange, onValueChange, name) => event => {\n\tconst value = event.composedPath()[0].value;\n\t//faking event as event target is now-textrea and we need to use value from composed path\n\tconst changeEvent = { target: { value, name } };\n\n\tif (isFunction(onChange)) {\n\t\tonChange(changeEvent, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tchangeEvent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst getMaxlengthLabel = (ignoreMaxlength, maxlength) => {\n\treturn ignoreMaxlength || !maxlength\n\t\t? t('This field has no character limit.')\n\t\t: t('This field supports {0} or fewer characters.', maxlength);\n};\n\nconst renderTextarea = (props, children, isTrigger) => {\n\tconst {\n\t\tvalue,\n\t\tonBlur,\n\t\tonNDSChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tconfigAria,\n\t\tmaxlength,\n\t\tfieldLayout = {},\n\t\tdisableMaxHeight,\n\t\tlabel,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tnowAssistConfig,\n\t\tname,\n\t\tselectedText,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\tdraftedText,\n\t\tfitToParent,\n\t\tplaceholder,\n\t\tfieldRegex,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = props;\n\tconst { layout } = fieldLayout;\n\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst ignoreMaxlength = isAttrTrue(props.ignoreMaxlength);\n\tconst isPropertySelector =\n\t\ttypeof value === 'string' && value[0] === '@' && value.indexOf('/') > 0;\n\tconst textValue = `\\\\${value}`;\n\tconst classNames = makeClass('sn-control', {\n\t\t'is-required': props.required,\n\t\t'fit-to-parent': fitToParent\n\t});\n\n\tconst slotted = isTrigger ? { slot: 'trigger' } : {};\n\tconst maxlengthLabel = getMaxlengthLabel(ignoreMaxlength, maxlength);\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder || (Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"sn-control-controls sn-record-dts-translate-icon\">\n\t\t\t\t{children ? (\n\t\t\t\t\tcreateSlot(children, 'controls')\n\t\t\t\t) : (\n\t\t\t\t\t<slot name=\"controls\"><\/slot>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<now-textarea\n\t\t\t\t{...slotted}\n\t\t\t\tclassName={classNames}\n\t\t\t\tvalue={isPropertySelector ? textValue : toString(value)}\n\t\t\t\tplaceholder={normalizePlaceholder(resolvedPlaceholder, props.readonly)}\n\t\t\t\tname={props.name}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tshowCounter={showCounter}\n\t\t\t\tmessages={transformMessages(props.messages)}\n\t\t\t\tmaxlength={ignoreMaxlength ? undefined : maxlength}\n\t\t\t\trequired={props.required}\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\treadonly={props.readonly}\n\t\t\t\tautofocus={props.autofocus}\n\t\t\t\tinvalid={props.invalid}\n\t\t\t\tautoresize\n\t\t\t\tmanage-invalid\n\t\t\t\tmanage-value\n\t\t\t\ton-mouseover={onMouseOver}\n\t\t\t\ton-mousedown={props.onMouseDown}\n\t\t\t\ton-mouseout={onMouseOut}\n\t\t\t\ton-input={onNDSChange}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\ton-focus={props.onFocus}\n\t\t\t\thelperContent={wrapHelperContent(props.helperContent)}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttextarea: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t'aria-label': ariaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tautoresizeRowsLimit={props.autoresizeLineLimit}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\tenableCaretSlot={enableCaretSlot && !props.readonly}\n\t\t\t\tdisableMaxHeight={fitToParent || disableMaxHeight}\n\t\t\t>\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START\n\t\t\t\t)}\n\t\t\t\t{renderHighlightedValue(props.highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(props)}\n\t\t\t\t{enableCaretSlot &&\n\t\t\t\t\t!props.readonly &&\n\t\t\t\t\t!props.disabled &&\n\t\t\t\t\tcomponentLoaded &&\n\t\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\t\tselectedText,\n\t\t\t\t\t\tdraftedText,\n\t\t\t\t\t\tprops\n\t\t\t\t\t)}\n\t\t\t<\/now-textarea>\n\t\t\t{showCounter && ignoreMaxlength && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={props.maxlength}\n\t\t\t\t\treadonly={props.readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderInput = (props, children) => {\n\tconst {\n\t\talign,\n\t\treversed,\n\t\tname,\n\t\tcomponentId,\n\t\tdisabled,\n\t\tshowCounter,\n\t\tignoreMaxlength,\n\t\tmaxlength,\n\t\trole,\n\t\tconfigAria,\n\t\ttype,\n\t\tvalue,\n\t\tplaceholder,\n\t\tlabel,\n\t\thighlightedValue,\n\t\treadonly,\n\t\tautofocus,\n\t\thelperContent,\n\t\tinvalid,\n\t\tmax,\n\t\tdescription,\n\t\tmessages,\n\t\tmin,\n\t\trequired,\n\t\tstep,\n\t\tfieldLayout,\n\t\tonChange,\n\t\tonValueChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tonKeyPress,\n\t\tonFocus,\n\t\tonBlur,\n\t\thideRequiredIndicator,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tnowAssistConfig,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tfieldRegex,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = props;\n\n\tconst propAriaLabel =\n\t\tprops['ariaLabel'] || props['aria-label'] || label || '';\n\tconst propAriaLabelledBy = propAriaLabel\n\t\t? null\n\t\t: props['ariaLabelledby'] || props['aria-labelledby'] || '';\n\tconst ignoremaxlength = isAttrTrue(ignoreMaxlength);\n\tconst maxlengthLabel = getMaxlengthLabel(ignoremaxlength, maxlength);\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder || (Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<now-input\n\t\t\tslot=\"trigger\"\n\t\t\talign={\n\t\t\t\tprops.mobileKeypadType || (align === 'end' && reversed)\n\t\t\t\t\t? 'start'\n\t\t\t\t\t: align\n\t\t\t} // for number use case need to align placeholder and value in the start\n\t\t\tname={name}\n\t\t\tcomponentId={componentId}\n\t\t\tlabel={label}\n\t\t\ttype={\n\t\t\t\tArray.isArray(fieldRegex) && fieldRegex.length > 0\n\t\t\t\t\t? props.mobileKeypadType\n\t\t\t\t\t: type\n\t\t\t}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tdisabled={disabled}\n\t\t\t// STRY4883444: When showing character counter, do not enforce a maxLength\n\t\t\t// DEF0183625: For backwards compatibility in some other cases we do not want to enforce maxlength\n\t\t\tmaxlength={\n\t\t\t\tisAttrTrue(showCounter) || ignoremaxlength ? undefined : maxlength\n\t\t\t}\n\t\t\tconfigAria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...{\n\t\t\t\t\t\t'aria-label': propAriaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel: propAriaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel,\n\t\t\t\t\t\t'aria-labelledby': propAriaLabelledBy\n\t\t\t\t\t},\n\t\t\t\t\trole: role || 'textbox',\n\t\t\t\t\t...configAria\n\t\t\t\t}\n\t\t\t}}\n\t\t\tvalue={toString(value)}\n\t\t\tplaceholder={resolvedPlaceholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tautofocus={autofocus}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tinvalid={invalid}\n\t\t\tmax={max}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tmin={min}\n\t\t\trequired={required}\n\t\t\thideRequiredIndicator={hideRequiredIndicator}\n\t\t\tstep={step}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\ton-input={onNDSChange(onChange, onValueChange, name)}\n\t\t\ton-mouseover={onMouseOverEvent(onMouseOver)}\n\t\t\ton-mouseout={onMouseOutEvent(onMouseOut)}\n\t\t\ton-keypress={onKeyPress}\n\t\t\ton-focus={onFocusEvent(onFocus)}\n\t\t\ton-blur={onBlurEvent(onBlur, onValueChange)}\n\t\t\tenableCaretSlot={enableCaretSlot && !props.readonly}\n\t\t>\n\t\t\t<slot name=\"left\" slot=\"start\">\n\t\t\t\t{children ? createSlot(children, 'left') : null}\n\t\t\t<\/slot>\n\t\t\t<slot name=\"controls\" slot=\"end\">\n\t\t\t\t{children ? createSlot(children, 'controls') : null}\n\t\t\t<\/slot>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(props)}\n\t\t\t{enableCaretSlot &&\n\t\t\t\t!props.readonly &&\n\t\t\t\t!props.disabled &&\n\t\t\t\tcomponentLoaded &&\n\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\treferringRecordId,\n\t\t\t\t\treferringTable,\n\t\t\t\t\tname,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\tselectedText,\n\t\t\t\t\tdraftedText,\n\t\t\t\t\tprops,\n\t\t\t\t\t'input'\n\t\t\t\t)}\n\t\t<\/now-input>\n\t);\n};\n\nconst renderInputWithDropdown = (props, children) => {\n\tconst { showDropdownWithoutFocus, options, dropdown, highlightedIndex } =\n\t\tprops;\n\n\tconst transformedOptions = (props.options || []).map(option => ({\n\t\tid: option,\n\t\tlabel: option\n\t}));\n\treturn (\n\t\t<now-popover\n\t\t\tbare\n\t\t\tmanage-opened\n\t\t\topened={showDropdownWithoutFocus || !isEmpty(transformedOptions)}\n\t\t\tconstrain={{\n\t\t\t\tminHeight: 32,\n\t\t\t\tminWidth: 'target',\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmaxHeight: 300\n\t\t\t}}\n\t\t\tinteraction-type=\"listbox\"\n\t\t\tdisable-scroll\n\t\t\thideTail\n\t\t>\n\t\t\t{renderInput(props, children)}\n\t\t\t{dropdown\n\t\t\t\t? dropdown\n\t\t\t\t: options && (\n\t\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\t\tactiveItem={transformedOptions[highlightedIndex]?.id}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\titems={transformedOptions}\n\t\t\t\t\t\t\tconfigAria={{ panel: {} }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}{' '}\n\t\t<\/now-popover>\n\t);\n};\n\nconst renderInputWithSuggestions = (props, children, render) => {\n\tconst {\n\t\tsuggestions,\n\t\tisSuggestionsOpened,\n\t\tselectedItem,\n\t\tactiveItemId,\n\t\ttype,\n\t\tnowId,\n\t\tlabel,\n\t\tdropdown,\n\t\toptions\n\t} = props;\n\n\tif (isEmpty(suggestions)) {\n\t\tif (type === 'textarea') {\n\t\t\treturn render();\n\t\t} else {\n\t\t\treturn renderInputWithDropdown(props, children);\n\t\t}\n\t} else {\n\t\tconst {\n\t\t\titems: suggestedItems = [],\n\t\t\tsectionLabel,\n\t\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\t\t...meta\n\t\t} = suggestions;\n\n\t\tif (!suggestedItems.length && (dropdown || options) && type !== 'textarea')\n\t\t\treturn renderInputWithDropdown(props, children);\n\n\t\tconst transformedSuggestions = {\n\t\t\tlabel: sectionLabel,\n\t\t\tchildren: suggestedItems.length\n\t\t\t\t? suggestedItems.map(item => ({\n\t\t\t\t\t\tid: item.value || item.displayValue,\n\t\t\t\t\t\tlabel: item.displayValue || item.value,\n\t\t\t\t\t\t...meta\n\t\t\t\t\t}))\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t};\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tmanage-opened\n\t\t\t\topened={isSuggestionsOpened}\n\t\t\t\tconstrain={{\n\t\t\t\t\tminHeight: 32,\n\t\t\t\t\tminWidth: 'target',\n\t\t\t\t\tmaxWidth: 'target',\n\t\t\t\t\tmaxHeight: 300\n\t\t\t\t}}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\thideTail\n\t\t\t>\n\t\t\t\t{render(true)}\n\t\t\t\t{\n\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\tdefer\n\t\t\t\t\t\tmanage-active-item\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tselectedItems={[selectedItem]}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\titems={[transformedSuggestions]}\n\t\t\t\t\t\tactive-item={activeItemId}\n\t\t\t\t\t\tconfigAria={{ panel: { 'aria-label': label } }}\n\t\t\t\t\t\tscreen-reader-id={\n\t\t\t\t\t\t\tisSuggestionsOpened ? `now-dropdown-list-${nowId}` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}{' '}\n\t\t\t<\/now-popover>\n\t\t);\n\t}\n};\n\nexport const Input = (props, children) => {\n\tconst {\n\t\tvalue,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonValueChange,\n\t\tonChange,\n\t\tonMouseOver,\n\t\tinnerRef,\n\t\tonMouseOut,\n\t\tmaxlength,\n\t\treadonly,\n\t\tfieldLayout: { layout } = {}\n\t} = props;\n\tif (props.type === 'textarea') {\n\t\tconst renderTextareaElement = renderTextarea.bind(\n\t\t\tnull,\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\tonFocus: onFocusEvent(onFocus),\n\t\t\t\tonBlur: onBlurEvent(onBlur, onValueChange),\n\t\t\t\tonChange: onChangeEvent(onChange, onValueChange),\n\t\t\t\tonMouseOver: onMouseOverEvent(onMouseOver),\n\t\t\t\tonMouseOut: onMouseOutEvent(onMouseOut),\n\t\t\t\tonNDSChange: onNDSChange(onChange, onValueChange),\n\t\t\t\tsetInnerRef: setInnerRef(innerRef)\n\t\t\t},\n\t\t\tchildren\n\t\t);\n\t\treturn renderInputWithSuggestions(props, children, renderTextareaElement);\n\t}\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst renderInputElement = renderInput.bind(null, props, children);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderInputWithSuggestions(props, children, renderInputElement)}\n\n\t\t\t{showCounter && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={maxlength}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default Input;\n","import { omit, isFunction, extend } from 'lodash';\n\nimport Input from './Input';\nimport { CALLBACK_AND_DISPATCH } from '@devsnc/sn-controls-common';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\n\n/**\n * Does what you'd expect an input field to do, with a few extra goodies.\n * - `controls`: Arbitrary content that gets inlined with the input. Often\n *   used to render buttons that perfom actions related to the field.\n * - `dropdown`: Content that is displayed only when the field has focus. Can\n *   be used to implement an autocomplete list, date picker, etc.\n *\n * Note that the state for this component must be handled by the parent\n */\nexport default function SNInput(state, { updateState }) {\n\tconst onValueChange = state.onValueChange || state.properties.onValueChange;\n\n\tconst attrs = extend(\n\t\tomit({ ...state.properties, ...state }, [\n\t\t\t'fetchDeclarativeActions',\n\t\t\t'dependentField',\n\t\t\t'canWrite',\n\t\t\t'dependentTable',\n\t\t\t'displayValue'\n\t\t])\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Input\n\t\t\t\t{...attrs}\n\t\t\t\tonValueChange={onValueChange}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tcomponentName=\"sn-record-input\"\n\t\t\t>\n\t\t\t\t<slot name=\"controls\" />\n\t\t\t<\/Input>\n\t\t<\/Fragment>\n\t);\n}\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\n\nexport const handleChange = ({\n\taction: {\n\t\tpayload: { name, value }\n\t},\n\tproperties: { onValueChange },\n\tdispatch\n}) => {\n\t// need to handle withValueChangeCallbacks\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { name, value }\n\t});\n};\n\nexport const callParentOnChange = ({\n\taction: {\n\t\tpayload: { name, fieldValue }\n\t},\n\tproperties: { onChange }\n}) => {\n\tif (isFunction(onChange)) {\n\t\tonChange({ target: { name, value: fieldValue } });\n\t}\n};\n","import { createSlot } from '@servicenow/ui-renderer-snabbdom';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\n/**\n * Container component allowing multiple inputs (or input-like components)\n * to be grouped together.\n */\nexport default function SNInputGroup(props, children) {\n\treturn (\n\t\t<ControlWrapper {...props}>\n\t\t\t{children ?\n\t\t\t\t(<div className=\"sn-control-group\">{createSlot(children)}<\/div>)\n\t\t\t\t:\n\t\t\t\t(<div className=\"sn-control-group\"><slot><\/slot><\/div>)\n\t\t\t}\n\t\t<\/ControlWrapper>\n\t);\n}\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n    name: 'trackBootstrapBehaviour',\n    properties: {\n        trackBootstrap: {\n            default: {},\n            schema: {\n                type: 'object'\n            }\n        },\n        referringRecordId: {\n            schema: {\n                type: 'string'\n            }\n        },\n        referringTable: {\n            schema: {\n                type: 'string'\n            }\n        },\n        type: {\n            schema: {\n                type: 'string'\n            }\n        },\n        label: {\n            schema: {\n                type: 'string'\n            }\n        }\n    },\n    actionHandlers: {\n        [COMPONENT_BOOTSTRAPPED]: {\n            effect({ dispatch, properties }) {\n                const { trackBootstrap, referringRecordId, referringTable, type, label } = properties;\n                if (trackBootstrap?.action) {\n                    const payload = {\n                        SysId: referringRecordId,\n                        Table: referringTable,\n                        FieldType: type,\n                        FieldLabel: label\n                    };\n                    dispatch(trackBootstrap.action, payload);\n                }\n            }\n        }\n    }\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport style from './input.scss';\n\nimport {\n\tcallParentOnChange,\n\tdefault as SNInput,\n\thandleChange,\n\tNOW_TEXTAREA_VALUE_SET,\n\tNOW_TEXTAREA_INPUT\n} from './SNInput';\nimport { default as SNInputGroup } from './SNInputGroup';\nimport trackBootstrapBehavior from './behaviors/trackBootstrapBehavior';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-record-input-group', {\n\tview: state => {\n\t\treturn SNInputGroup(state.properties);\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'value' && previousValue !== value) {\n\t\t\tupdateState({ value });\n\t\t}\n\t},\n\t[NOW_TEXTAREA_VALUE_SET]: handleChange,\n\t[NOW_TEXTAREA_INPUT]: callParentOnChange,\n\t'SN_RECORD_CHOICE#VALUE_CHANGED': { stopPropagation: true },\n\t'SN_RECORD_CHOICE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n};\n\n/**\n *Basic input variations (Note that in this demo each input shares the same\n`value` state):\n *\n *\n * ```jsx\n * initialState = {\n\tvalue: 'I am value'\n};\n\n<Fragment>\n\t<sn-record-input\n\t\tlabel=\"I am label\"\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t/>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">\n\t\t\tI use a slot for my label, <u>allowing<\/u> <strong>complex<\/strong>{' '}\n\t\t\t<i>HTML<\/i>\n\t\t<\/span>\n\t<\/sn-record-input>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">I am an input with controls<\/span>\n\t\t<button slot=\"controls\" type=\"button\">\n\t\t\t<now-icon icon=\"search\" />\n\t\t<\/button>\n\t<\/sn-record-input>\n\n\t<sn-record-input placeholder=\"I will show a dropdown when focused\">\n\t\t<span slot=\"label\">Focus me!<\/span>\n\t\t<ul slot=\"dropdown\">\n\t\t\t<li>Option 1<\/li>\n\t\t\t<li>Option 2<\/li>\n\t\t\t<li>Option 3<\/li>\n\t\t<\/ul>\n\t<\/sn-record-input>\n<\/Fragment>;\n * ```\n *\n *## Usage for SNInputGroup\n\n```jsx\n<sn-record-input-group>\n\t<sn-record-input value=\"input\" />\n\n\t<sn-record-choice\n\t\tplaceholder=\"choice\"\n\t\tchoices={[\n\t\t\t{ displayValue: 'A' },\n\t\t\t{ displayValue: 'B' },\n\t\t\t{ displayValue: 'C' }\n\t\t]}\n\t/>\n\n\t<now-record-time value=\"02:30\" format=\"hh:mm a\" />\n<\/sn-record-input-group>\n * ```\n *\n * @seismicElement sn-record-input\n * @summary Input Component\n *\n */\ncreateCustomElement('sn-record-input', {\n\tview: withValueChangeCallbacksView(SNInput),\n\tstyles: style,\n\tsetInitialState: ({ properties }) => ({\n\t\thasFocus: false,\n\t\tvalue: properties.value === true ? '' : properties.value\n\t}),\n\tactions: {\n\t\t[NOW_TEXTAREA_VALUE_SET]: { stopPropagation: true },\n\t\t[NOW_TEXTAREA_INPUT]: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\ttrackBootstrapBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t */\n\t\tautoresizeLineLimit: {\n\t\t\tschema: {\n\t\t\t\ttype: ['number', 'null']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character rows that should be\n\t\t * displayed.\n\t\t */\n\t\trows: {},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character columns that should be\n\t\t * displayed.\n\t\t */\n\t\tcols: {},\n\n\t\t/**\n\t\t * Wrap rendering a textarea, this specifies how text should be wrapped.\n\t\t */\n\t\twrap: {},\n\n\t\t/**\n\t\t * The type of input to render. Note that while any HTML5 type is valid,\n\t\t * there are other form control components that will extend the default\n\t\t * behavior.  Using these higher-order components is often preferred to an\n\t\t * input with an explicit type.\n\t\t *\n\t\t * Use `type=\"auto\"` to enable the component to intelligently switch between\n\t\t * a regular input and a textarea.\n\t\t */\n\t\ttype: {},\n\n\t\t/**\n\t\t * When provided, aligns the input text to the end of the input.\n\t\t */\n\t\talign: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum value that should be permitted.\n\t\t */\n\t\tmin: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the maximum value that should be permitted.\n\t\t */\n\t\tmax: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum distance between 2 valid values.\n\t\t */\n\t\tstep: {},\n\n\t\t/**\n\t\t * Maximum number of characters to allow in the input.\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * For backwards compatibility, some string fields should not enforce maxlength.\n\t\t * This is an internal property. Please do not use.\n\t\t *\n\t\t * @see https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=977420dbdbaee340f0612183ca961914\n\t\t * @private\n\t\t */\n\t\tignoreMaxlength: {},\n\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show a character counter.\n\t\t */\n\t\tshowCounter: {},\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show the resize handle.\n\t\t */\n\t\tresizable: {},\n\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * When provided, adds the sn-record-control variant to render\n\t\t */\n\t\tvariant: {},\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When provided, allows the parent component to listen in on each input change\n\t\t */\n\t\tonChange: {},\n\t\tonBlur: {},\n\t\tonFocus: {},\n\t\tchildren: {},\n\t\tonKeyPress: {},\n\n\t\t/**\n\t\t * Content to use as dropdown\n\t\t */\n\t\tdropdown: {},\n\n\t\t/**\n\t\t * Content to use as the label\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The `role` of the input element\n\t\t */\n\t\trole: {},\n\n\t\t/**\n\t\t * Whether FocusWatcher should listen for outside scroll event\n\t\t */\n\t\thandleOutsideScrollFocus: {},\n\n\t\t/**\n\t\t * Handle dropdowns the old way\n\t\t */\n\t\tfallbackDropdownBehavior: {},\n\t\tcreatedCallbacks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @-type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies the type of input control to render based on the expected value type.\n\t\t * This setting is applied only when `fieldRegex` mappings are present; otherwise, it defaults to `'text'`.\n\t\t *\n\t\t * @type {('email' | 'ip' | 'number' | 'text')}\n\t\t * @uib.description Defines the input field type, which can be one of the following: 'email', 'ip', 'number', or 'text' or `textarea` based on maxlength.\n\t\t */\n\t\tmobileKeypadType: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t}\n});\n\nexport { SNInput, SNInputGroup, actionHandlers };\nexport { default as Input } from './Input';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"canRenderFieldAction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.__esModule\n\t\t\t\t\tif (cjsModule && 'canRenderFieldAction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"].canRenderFieldAction;\n\t\t\t\t\t} else if ('canRenderFieldAction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.canRenderFieldAction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"].canRenderFieldAction;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nexport const oldIconToEDSIcon = {\n\tsearch: 'magnifying-glass-outline',\n\tphone: 'phone-outline',\n\t'info-circle': 'info-circle-outline'\n};\n\nconst getIcon = old => oldIconToEDSIcon[old] || old;\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\ticon: iconProp,\n\t\t\tdisabled = false,\n\t\t\tvariant = 'tertiary',\n\t\t\tsize = 'sm',\n\t\t\tbare = true,\n\t\t\ticonic = false,\n\t\t\tconfigAria = {},\n\t\t\treverseIconPlacement,\n\t\t\tlabel,\n\t\t\ttooltip\n\t\t}\n\t} = state;\n\n\tlet icon = getIcon(iconProp);\n\n\tlet ButtonComponent = 'now-button';\n\tif (bare && iconic) {\n\t\tButtonComponent += '-iconic';\n\t}\n\n\tlet children = reverseIconPlacement ? (\n\t\t<Fragment>\n\t\t\t{label && <span className=\"now-line-height-crop\">{label}<\/span>}\n\n\t\t\t{!iconic && icon && (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-icon\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/Fragment>\n\t) : undefined;\n\n\treturn (\n\t\t<ButtonComponent\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\ticon={icon}\n\t\t\ticon-name={icon}\n\t\t\ticon-start={icon}\n\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\tvariant={variant}\n\t\t\tbare={bare}\n\t\t\ttooltipContent={tooltip}\n\t\t\tconfig-aria={{\n\t\t\t\t// handles when tooltip is undefined\n\t\t\t\t'aria-label': tooltip || '',\n\t\t\t\t// allow for explicit overrides of aria-label\n\t\t\t\t...configAria\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t<\/ButtonComponent>\n\t);\n};\n\nexport default view;\n","import { isFunction } from \"lodash\";\n\nexport const handleButtonClick = ({ state: { properties }, action }) => {\n\tlet { onClick } = properties;\n\n\tif (isFunction(onClick)) onClick(action);\n};\n\nexport const actionHandlers = {\n\t'NOW_BUTTON#CLICKED': { effect: handleButtonClick, stopPropagation: true },\n\t'NOW_BUTTON_BARE#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON_ICONIC#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport { transformState } from '@devsnc/sn-controls-common';\nimport { default as view } from './view';\nimport style from './style.scss';\nimport { actionHandlers } from './actionHandlers';\n\ncreateCustomElement('sn-record-control', {\n\tview,\n\tstyle,\n\tproperties: {\n\t\t/**\n\t\t * Text for the button\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Variant for the button\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Size of the button\n\t\t * @type {string}\n\t\t */\n\t\tsize: {},\n\n\t\t/**\n\t\t * placement of the button\n\t\t * @type {boolean}\n\t\t */\n\t\treverseIconPlacement: {},\n\n\t\t/**\n\t\t * type of the button\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {},\n\n\t\t/**\n\t\t * Label for the tooltip\n\t\t * @type {string}\n\t\t */\n\t\ttooltip: {},\n\n\t\t/**\n\t\t * Icon for the control\n\t\t * @type {string}\n\t\t */\n\t\ticon: {},\n\n\t\t/**\n\t\t * Whether button is iconic\n\t\t * @type {boolean}\n\t\t */\n\t\ticonic: {},\n\n\t\t/**\n\t\t * ref callback to inner button element\n\t\t * @type {function}\n\t\t */\n\t\tinnerRef: {},\n\n\t\t/**\n\t\t * Click handler for the control\n\t\t * @type {function}\n\t\t */\n\t\tonClick: {},\n\n\t\t/**\n\t\t * Is the control disabled\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t * @type {object}\n\t\t */\n\t\tconfigAria: {},\n\n\t\t/**\n\t\t * Content to render within the control button\n\t\t * @type {node}\n\t\t */\n\t\tchildren: {}\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState\n});\n\nexport default view;\n","export const MESSAGE_CONSTRAINTS = {\n\theight: 72,\n\twidth: 304\n};\n\nexport const HOTKEY_TYPES = {\n\tMENTIONS: 'mentions',\n\tRESPONSE_TEMPLATES: 'response_templates'\n};\n\nexport const MATCH_LIST_CONSTRAINTS = {\n\t[HOTKEY_TYPES.MENTIONS]: {\n\t\tmaxHeight: 286,\n\t\twidth: 288,\n\t\tminWidth: 288\n\t},\n\t[HOTKEY_TYPES.RESPONSE_TEMPLATES]: {\n\t\tmaxHeight: 158,\n\t\twidth: 320,\n\t\tminWidth: 320\n\t}\n};\n\n//actions\nexport const SN_RECORD_JOURNAL_INPUT = {\n\tSHOW_MATCH_LIST: 'SN_RECORD_INPUT_JOURNAL#SHOW_MATCH_LIST',\n\tREAD_QUERY_RAN: 'SN_RECORD_JOURNAL_INPUT#READ_QUERY_RAN',\n\tOPENED_MATCH_LIST_ON_LAST_PREFIX:\n\t\t'SN_RECORD_JOURNAL_INPUT#OPENED_MATCH_LIST_ON_LAST_PREFIX',\n\tDROPDOWN_ITEM_SELECTED: 'SN_RECORD_JOURNAL_INPUT#DROPDOWN_ITEM_SELECTED',\n\tMATCH_LIST_HIDDEN: 'SN_RECORD_JOURNAL_INPUT#MATCH_LIST_HIDDEN'\n};\n\nexport const NOW_TEXTAREA = {\n\tINPUT: 'NOW_TEXTAREA#INPUT',\n\tVALUE_SET: 'NOW_TEXTAREA#VALUE_SET',\n\tINVALID_SET: 'NOW_TEXTAREA#INVALID_SET'\n};\n\nexport const NOW_DROPDOWN_LIST = {\n\tITEM_CLICKED: 'NOW_DROPDOWN_LIST#ITEM_CLICKED',\n\tACTIVE_ITEM_SET: 'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET'\n};\n\nexport const NOW_POPOVER = {\n\tOPENED_SET: 'NOW_POPOVER#OPENED_SET'\n};\n\nexport const VERTICAL_BUFFER = 8;\n","import {\n\teach,\n\tisArray,\n\tisEmpty,\n\tisFunction,\n\tisObject,\n\tlast,\n\treduce,\n\tvalues,\n\tunescape\n} from 'lodash';\n\nimport { querySelectorDeep } from '@devsnc/sn-controls-common';\nimport { VERTICAL_BUFFER, MATCH_LIST_CONSTRAINTS } from './constants';\n\n/**\n * Return value in server friendly format\n */\nexport const encode = (value, data, mentions) =>\n\treduce(\n\t\tmentions,\n\t\t(result, config, prefix) => {\n\t\t\treturn config.parse({\n\t\t\t\tvalue: result,\n\t\t\t\tprefix,\n\t\t\t\tselectedItems: values(data[prefix])\n\t\t\t});\n\t\t},\n\t\tvalue\n\t);\n\n/**\n * Ensures a mention config contains all of the expected properties\n */\nexport const assertValidMention = mention => {\n\tif (!isObject(mention)) {\n\t\tthrow new Error(\n\t\t\t`Invalid mention config: must be an object but got ${typeof mention}`\n\t\t);\n\t}\n\n\t// `variables` is the only optional config item\n\tif (mention.variables && !isFunction(mention.variables)) {\n\t\tthrow new Error(\n\t\t\t`Invalid type for mention config 'variables'. Expected function but got ${typeof mention.variables}`\n\t\t);\n\t}\n\n\teach(['mapResults', 'displayItem', 'format', 'parse'], prop => {\n\t\tif (!isFunction(mention[prop])) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid type for mention config '${prop}'. Expected function but got ${typeof prop}`\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * Compare two search strings to determine whether they will produce\n * related results (one set of results will be a subset of the other).\n */\nexport const isRelatedSearch = (a, b) =>\n\t!isEmpty(a) && !isEmpty(b) && (a.startsWith(b) || b.startsWith(a));\n\nexport const findSearchSpace = (string, selectionStart) => {\n\tconst valueUntilCursor = string.substring(0, selectionStart);\n\n\t// Look for the last mention trigger character ('@' or '#') before cursor\n\tconst lastTriggerIndex = Math.max(\n\t\tvalueUntilCursor.lastIndexOf('@'),\n\t\tvalueUntilCursor.lastIndexOf('#')\n\t);\n\n\t// Check if @ is part of an email by looking for characters before @\n\tconst charBeforeTrigger = valueUntilCursor.charAt(lastTriggerIndex - 1);\n\tif (\n\t\tcharBeforeTrigger &&\n\t\t/[a-zA-Z0-9._-]/.test(charBeforeTrigger) &&\n\t\tvalueUntilCursor[lastTriggerIndex] === '@'\n\t) {\n\t\treturn last(valueUntilCursor.split(/\\s+/));\n\t}\n\n\t// If we found a trigger character, check if we're modifying actual mention text\n\tif (lastTriggerIndex !== -1) {\n\t\tconst textAfterTrigger = valueUntilCursor.substring(lastTriggerIndex);\n\n\t\t// Return the last token if there are multiple spaces or newline characters\n\t\t// Allow single space to keep the mention list open\n\t\tif (\n\t\t\ttextAfterTrigger.split(' ').length - 1 >= 2 ||\n\t\t\t/\\n/.test(textAfterTrigger)\n\t\t) {\n\t\t\treturn last(valueUntilCursor.split(/\\s+/));\n\t\t}\n\n\t\treturn textAfterTrigger;\n\t}\n\n\t// If no trigger found, return the last word\n\treturn last(valueUntilCursor.split(/\\s+/));\n};\n\n// TODO: Remove later when we can\nexport const normalizeMentions = mentions => {\n\tif (!isArray(mentions)) return mentions;\n\n\treturn reduce(\n\t\tmentions,\n\t\t(acc, { prefix, type }) => {\n\t\t\tacc[prefix] = type;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n};\n\nexport function getCaretPosition(inputEl, { offset = 0 } = {}) {\n\t/**\n\t * Clone textarea/input styles to a dummy div.\n\t * Append the text value of the textarea/input\n\t * into the dummy div, and then insert a span.\n\t *\n\t * The position of this span corresponds with\n\t * the position of the caret.\n\t *\n\t * Dummy div is immediately removed after\n\t * position is determined.\n\t */\n\tlet carPos = inputEl.selectionStart + offset;\n\tconst div = document.createElement('div');\n\tconst span = document.createElement('span');\n\tconst copyStyle = getComputedStyle(inputEl);\n\n\tArray.prototype.forEach.call(\n\t\tcopyStyle,\n\t\tprop => (div.style[prop] = copyStyle[prop])\n\t);\n\n\tdiv.style.position = 'absolute';\n\t// subtract 1 in the case of a newline\n\tdiv.textContent = inputEl.value.substr(0, carPos - 1);\n\tdiv.appendChild(span);\n\tspan.textContent = inputEl.value.substr(carPos) || '.';\n\tdocument.body.appendChild(div);\n\n\tconst inputDim = inputEl.getBoundingClientRect();\n\n\tconst coords = {\n\t\tTOP: span.offsetTop - inputEl.scrollTop + inputDim.top + span.offsetHeight,\n\t\tLEFT: span.offsetLeft + inputDim.left\n\t};\n\tdocument.body.removeChild(div);\n\treturn coords;\n}\n\nexport function getMatchListOffset(inputEl, layout, activePrefix) {\n\tconst OVERFLOW_MARGIN = 40;\n\tconst matchListWidth = MATCH_LIST_CONSTRAINTS[activePrefix.type].width;\n\tlet inputLabelWidth = 0,\n\t\tappliedOverflow = 0;\n\tconst cursorOffset = getCaretPosition(inputEl);\n\tconst initialContentPos = inputEl.getBoundingClientRect();\n\tconst parentRight = initialContentPos.right;\n\n\tif (layout === 'horizontal') {\n\t\t// When layout is horizontal, the input component is laid out using a grid with label-start, field and label-end.\n\t\t// To calculate the left offset, we use the label-start width and inline margin end of label-start.\n\t\tconst labelStart = querySelectorDeep(\n\t\t\t'div.now-form-field-label',\n\t\t\tinputEl.parentElement\n\t\t);\n\t\tconst marginInlineEnd = parseInt(\n\t\t\twindow.getComputedStyle(labelStart).marginInlineEnd.match(/\\d+/)[0]\n\t\t);\n\t\tinputLabelWidth = labelStart.offsetWidth + marginInlineEnd;\n\t} else {\n\t\tconst overflow =\n\t\t\tcursorOffset.LEFT + matchListWidth + OVERFLOW_MARGIN - parentRight;\n\t\tappliedOverflow =\n\t\t\toverflow > 0 && parentRight > matchListWidth ? overflow : 0;\n\t}\n\treturn {\n\t\ttop: cursorOffset.TOP - initialContentPos.bottom + VERTICAL_BUFFER,\n\t\tleft:\n\t\t\tinitialContentPos.x +\n\t\t\tappliedOverflow -\n\t\t\tcursorOffset.LEFT -\n\t\t\tinputLabelWidth\n\t};\n}\n//converts html content returned from response_template api to plain text. Check out unit tests\nexport const stripTags = str => {\n\tconst sanitized = str.replace(/(<([^>]+)>)/gi, '').replace(/&nbsp;/gi, ' ');\n\n\treturn unescape(sanitized);\n};\n","export const SN_RECORD_INPUT_CONNECTED_ACTIONS = {\n\tON_BLUR: 'SN_RECORD_INPUT_CONNECTED#INTERNAL_ON_BLUR',\n\tON_CHANGE: 'SN_RECORD_INPUT_CONNECTED#INTERNAL_ON_CHANGE'\n};\n\nexport const NOW_INPUT_ACTIONS = {\n\tINVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tINPUT: 'NOW_INPUT#INPUT'\n};\n\nexport const AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED =\n\t'AUTO_COMPLETE_INTERNAL#DROPDOWN_ITEM_SELECTED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\nimport '@servicenow/now-template-message';\n\nexport const matchListMessages = {\n\tmentions: {\n\t\tinit: t('Enter the name of a person you want to mention'),\n\t\tloading: t('Loading'),\n\t\tnoMatches: t('No matches found')\n\t},\n\tresponse_templates: {\n\t\tinit: t('Enter a keyword to search for the relevant template'),\n\t\tloading: t('Loading...'),\n\t\tnoMatches: () => (\n\t\t\t<now-template-message-empty-state\n\t\t\t\theading={{ label: t('Template not found'), level: '4' }}\n\t\t\t\tcontent={t('Try searching with another keyword')}\n\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\talignment=\"adaptive\"\n\t\t\t/>\n\t\t)\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\nimport styles from './styles.scss';\nimport { matchListMessages } from './constants';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-popover';\nimport { itemsSchema } from '@servicenow/now-dropdown';\nimport { HOTKEY_TYPES } from '../constants';\nimport { t } from 'sn-translate';\n\nexport const view = state => {\n\tconst { matchList, highlightedIndex, isLoading, isNewDropdown, hotkeyType } =\n\t\tstate.properties;\n\tlet messages = {},\n\t\tmessage;\n\tif (hotkeyType) {\n\t\tmessages = matchListMessages[hotkeyType];\n\t\tmessage = isNewDropdown\n\t\t\t? messages.init\n\t\t\t: isLoading\n\t\t\t\t? messages.loading\n\t\t\t\t: isEmpty(matchList)\n\t\t\t\t\t? messages.noMatches\n\t\t\t\t\t: null;\n\t}\n\n\tconst renderDropdownList = () => (\n\t\t<now-dropdown-list\n\t\t\tactiveItem={matchList[highlightedIndex]?.id}\n\t\t\titems={matchList}\n\t\t\tconfigAria={{ panel: {} }}\n\t\t><\/now-dropdown-list>\n\t);\n\n\tconst renderMessage = () => (\n\t\ttypeof message === 'string' ? (\n\t\t\t<p slot=\"message\" className=\"with-message\">\n\t\t\t\t{message}\n\t\t\t<\/p>\n\t\t) : (\n\t\t\tmessage()\n\t\t)\n\t);\n\n\tif (isLoading && matchList.length > 0 && HOTKEY_TYPES.MENTIONS === hotkeyType) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{renderDropdownList()}\n\t\t\t\t<div className=\"loader-with-message\">\n\t\t\t\t\t<p slot=\"message\" className=\"with-message\">\n\t\t\t\t\t\t{t('Loading')}\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>{message ? renderMessage() : renderDropdownList()}<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-journal-match-list', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * If match list in in loading state\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If the match list is opened for the first time\n\t\t * @type {boolean}\n\t\t */\n\t\tisNewDropdown: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Index of the current active descendant in the dropdown list.\n\t\t * @type {string}\n\t\t */\n\t\thighlightedIndex: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownSection` items.\n\t\t * @type {Array.<DropdownListItem|DropdownSection>}\n\t\t */\n\t\tmatchList: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema\n\t\t},\n\t\t/**\n\t\t * Active hotkey type. Used to determine messages\n\t\t */\n\t\thotkeyType: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import {\n\tescapeSeismicSpecialSymbols,\n\trenderHighlightedValue,\n\tisAttrTrue,\n\ttransformMessages,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport { isEmpty, reduce, toString } from 'lodash';\nimport { MATCH_LIST_CONSTRAINTS, MESSAGE_CONSTRAINTS } from './constants';\nimport './mentions-match-list';\nimport makeClass from 'classnames';\nimport { renderNowAssistContextMenu } from '@devsnc/sn-record-nowassist';\n\nexport const displayFormat = (value, mentions) => {\n\treturn reduce(\n\t\tmentions,\n\t\t(result, config, prefix) => {\n\t\t\treturn config.format({ value: result, prefix });\n\t\t},\n\t\ttoString(value)\n\t);\n};\n\nexport const renderTextarea = state => {\n\tconst {\n\t\tvalue,\n\t\tshowCounter,\n\t\tmaxlength,\n\t\trole,\n\t\tname,\n\t\tplaceholder,\n\t\treadonly,\n\t\tautofocus,\n\t\tlabel,\n\t\trows,\n\t\tcols,\n\t\tvariant,\n\t\tresizable,\n\t\thighlightedValue,\n\t\trequired,\n\t\tinvalid,\n\t\tconfigAria,\n\t\tautoresizeLineLimit,\n\t\tfieldLayout,\n\t\tdisableMaxHeight,\n\t\tdisableMinHeight,\n\t\tmessages,\n\t\tfitToParent,\n\t\tautoresize,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\treferringTable,\n\t\treferringRecordId,\n\t\tnowAssistConfig\n\t} = state.properties || {};\n\tconst {\n\t\tmentions,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\tstagedValue,\n\t\tselectedText\n\t} = state || {};\n\tconst formattedValue = displayFormat(value, mentions);\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\treturn (\n\t\t<now-textarea\n\t\t\tslot=\"trigger\"\n\t\t\tautoresize={autoresize}\n\t\t\tautofocus={autofocus}\n\t\t\tclassName={makeClass({\n\t\t\t\t'fit-to-parent': fitToParent\n\t\t\t})}\n\t\t\tvalue={escapeSeismicSpecialSymbols(formattedValue)}\n\t\t\tmanage-invalid\n\t\t\t/**\n\t\t\t * In UI16, journal fields do not enforce a maxlength\n\t\t\t * When the char counter is enabled, NDS do not use the maxlength to enforce allowed text limit\n\t\t\t * Instead, they use it to show a warning once you cross the limit\n\t\t\t * https://code.devsnc.com/dev/design-system/pull/1813\n\t\t\t */\n\t\t\t{...(showCounter ? { maxlength } : {})}\n\t\t\tconfig-aria={{\n\t\t\t\ttextarea: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\trole: role || 'textbox'\n\t\t\t\t}\n\t\t\t}}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tinvalid={invalid}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\trows={rows}\n\t\t\tcols={cols}\n\t\t\tshow-counter={showCounter}\n\t\t\tcolor={variant == 'neutral' || !variant ? 'initial' : variant}\n\t\t\tresize={resizable ? 'vertical' : 'none'}\n\t\t\tautoresizeRowsLimit={autoresizeLineLimit}\n\t\t\tfield-layout={fieldLayout}\n\t\t\tenableCaretSlot={enableCaretSlot && !readonly}\n\t\t\tdisableMaxHeight={fitToParent || disableMaxHeight}\n\t\t\tdisableMinHeight={disableMinHeight}\n\t\t\tmessages={transformMessages(messages)}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t\t{enableCaretSlot &&\n\t\t\t\t!readonly &&\n\t\t\t\tcomponentLoaded &&\n\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\treferringRecordId,\n\t\t\t\t\treferringTable,\n\t\t\t\t\tname,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\tselectedText,\n\t\t\t\t\tstagedValue, // draftedText\n\t\t\t\t\tstate\n\t\t\t\t)}\n\t\t<\/now-textarea>\n\t);\n};\n\nexport const view = state => {\n\tconst {\n\t\toffset,\n\t\topened,\n\t\tmatchList,\n\t\tsearchTerm,\n\t\thighlightedIndex,\n\t\tresultsLoading,\n\t\tactivePrefix\n\t} = state;\n\tconst { mentions } = state.properties;\n\tconst isLoading = resultsLoading;\n\tconst isNewDropdown = searchTerm === '';\n\tlet constrain =\n\t\tisNewDropdown || isLoading || isEmpty(matchList)\n\t\t\t? MESSAGE_CONSTRAINTS\n\t\t\t: MATCH_LIST_CONSTRAINTS[activePrefix?.type];\n\n\tif (isLoading && !isEmpty(matchList)) {\n\t\tconstrain = MATCH_LIST_CONSTRAINTS[activePrefix?.type];\n\t}\n\n\tif (isEmpty(mentions)) return renderTextarea(state);\n\n\treturn (\n\t\t<now-popover\n\t\t\thide-tail\n\t\t\topened={opened}\n\t\t\tconstrain={constrain}\n\t\t\toffset={offset}\n\t\t\tmanage-opened\n\t\t\tinteraction-type=\"listbox\"\n\t\t>\n\t\t\t{renderTextarea(state)}\n\t\t\t<sn-journal-match-list\n\t\t\t\tslot=\"content\"\n\t\t\t\tis-loading={isLoading}\n\t\t\t\tis-new-dropdown={isNewDropdown}\n\t\t\t\tmatch-list={matchList}\n\t\t\t\thighlighted-index={highlightedIndex}\n\t\t\t\thotkey-type={activePrefix?.type}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n","import { escapeRegExp, reduce, debounce, isFunction, toString } from 'lodash';\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes, declarativeOperations } from '@servicenow/ui-core';\n\nimport {\n\tencode,\n\tfindSearchSpace,\n\tgetMatchListOffset,\n\tisRelatedSearch\n} from './mentionsUtils';\nimport {\n\tNOW_DROPDOWN_LIST,\n\tNOW_POPOVER,\n\tNOW_TEXTAREA,\n\tSN_RECORD_JOURNAL_INPUT,\n\tHOTKEY_TYPES as hk\n} from './constants';\nimport { t } from 'sn-translate';\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from '../constants';\nimport { displayFormat } from './view';\n\nconst FETCH_DATA_START = 'FETCH_DATA_START';\n\nexport const FETCH_MENTIONS = 'FETCH_MENTIONS';\nconst FETCH_MENTIONS_SUCCESS = 'FETCH_MENTIONS_SUCCESS';\nconst FETCH_MENTIONS_FAILURE = 'FETCH_MENTIONS_FAILURE';\nconst MENTION_API = 'api/now/form/mention/record/:recordTable/:recordId';\n\nconst FETCH_RESPONSE_TEMPLATES = 'FETCH_RESPONSE_TEMPLATES';\nconst FETCH_RESPONSE_TEMPLATES_SUCCESS = 'FETCH_RESPONSE_TEMPLATES_SUCCESS';\nconst FETCH_RESPONSE_TEMPLATES_FAILURE = 'FETCH_RESPONSE_TEMPLATES_FAILURE';\nconst RESPONSE_TEMPLATES_API =\n\t'api/sn_templated_snip/response_templates/get_templates';\n\nexport const BUILT_IN_MENTIONS = {\n\tusers: {\n\t\ttype: hk.MENTIONS,\n\t\t// Maps the response to something usable. For each entry, the\n\t\t// following keys are supported:\n\t\t//\n\t\t// - id {String} unique id for the item. (required)\n\t\t// - value {String} Primary display value for the item (optional)\n\t\t// - secondary {String} Secondary display value for the item (optional)\n\t\t// - initials {String} Placeholder initials for the avatar (optional)\n\t\t// - image {String} Image for the avatar (optional)\n\t\tmapResults: data => {\n\t\t\treturn data.map(user => {\n\t\t\t\tconst { avatar, name, sys_id: id, record_is_visible, email } = user;\n\n\t\t\t\tconst sublabel =\n\t\t\t\t\trecord_is_visible === false ? t('Cannot access record') : email;\n\n\t\t\t\treturn {\n\t\t\t\t\tid,\n\t\t\t\t\tlabel: name,\n\t\t\t\t\tsublabel,\n\t\t\t\t\tavatarProps: {\n\t\t\t\t\t\timageSrc: toString(avatar),\n\t\t\t\t\t\tuserName: name\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\t// How to display a new item in the text input.\n\t\t// - item {Object} The item to display. Same data as one of the elements\n\t\t// returned from `mapResults`.\n\t\tdisplayItem: ({ item, prefix }) => `${prefix}${item.value}`,\n\n\t\t// How to pull initial data from the value string. Should return data in the same\n\t\t// format as `mapResults`.\n\t\tgetItemsFromInitialValue: ({ value, prefix }) => {\n\t\t\tconst re = new RegExp(\n\t\t\t\t`${escapeRegExp(prefix)}\\\\[([^:]+):([^\\\\]]+)\\\\]`,\n\t\t\t\t'g'\n\t\t\t);\n\t\t\tconst items = [];\n\t\t\tlet match;\n\t\t\tdo {\n\t\t\t\tmatch = re.exec(value);\n\t\t\t\tif (match) {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\tid: match[1],\n\t\t\t\t\t\tvalue: match[2]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} while (match);\n\n\t\t\treturn items;\n\t\t},\n\n\t\t// Maps the raw value (from server) to display format.\n\t\tformat: ({ value, prefix }) =>\n\t\t\tvalue.replace(\n\t\t\t\tnew RegExp(`(${escapeRegExp(prefix)})\\\\[[^:]+:([^\\\\]]+)\\\\]`, 'g'),\n\t\t\t\t'$1$2'\n\t\t\t),\n\n\t\t// Maps the current display value back to server format.\n\t\t// - selectedItems {item[]} A list of all items that the user has chosen\n\t\t// from the matchlist dropdown.\n\t\tparse: ({ value, prefix, selectedItems }) => {\n\t\t\treturn reduce(\n\t\t\t\tselectedItems,\n\t\t\t\t(result, { value, id }) => {\n\t\t\t\t\treturn result.replace(\n\t\t\t\t\t\tnew RegExp(\n\t\t\t\t\t\t\t'(^|\\\\s|\\\\b)' + escapeRegExp(`${prefix}${value}`) + '(\\\\s|\\\\b|$)',\n\t\t\t\t\t\t\t'g'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`$1${prefix}[${id}:${value}]$2`\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const filterMentions = (\n\tresult = [],\n\tpreloadMentions = [],\n\tsearchTerm = ''\n) => {\n\tif (!searchTerm) return [];\n\n\t// Ensure result and preloadMentions are arrays\n\tconst filteredResult = Array.isArray(result) ? result : [];\n\tconst filteredPreloadMentions = Array.isArray(preloadMentions)\n\t\t? preloadMentions\n\t\t: [];\n\tconst lowerCaseSearchTerm = searchTerm.toLowerCase();\n\n\t// Combine results and preload mentions into a Map by sys_id to ensure unique users\n\tconst userMap = new Map(\n\t\t[...filteredPreloadMentions, ...filteredResult]\n\t\t\t.filter(user => user?.sys_id) // Keep users with valid sys_id\n\t\t\t.map(user => [user.sys_id, user]) // Map to [sys_id, user] pairs for uniqueness\n\t);\n\t// Filter users based on whether their name or last name starts with the search term\n\treturn Array.from(userMap.values()).filter(user => {\n\t\tconst userName = user.name ? user.name.toLowerCase() : '';\n\t\tconst userLastName = user.lastname ? user.lastname.toLowerCase() : '';\n\t\treturn (\n\t\t\tuserName.startsWith(lowerCaseSearchTerm) ||\n\t\t\tuserLastName.startsWith(lowerCaseSearchTerm)\n\t\t);\n\t});\n};\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ action, updateState }) => {\n\t\tconst { name, value } = action;\n\t\tconst queryDispatcher = (inputVal = '', dispatch) => {\n\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN, { inputVal });\n\t\t};\n\t\tif (name == 'searchDebounce') {\n\t\t\tupdateState({\n\t\t\t\tdebouncedQueryDispatcher: debounce(queryDispatcher, value)\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_MENTIONS]: createHttpEffect(MENTION_API, {\n\t\tmethod: 'GET',\n\t\tqueryParams: ['term'],\n\t\tpathParams: ['recordTable', 'recordId'],\n\t\tstartActionType: FETCH_DATA_START,\n\t\tsuccessActionType: FETCH_MENTIONS_SUCCESS,\n\t\terrorActionType: FETCH_MENTIONS_FAILURE\n\t}),\n\n\t[FETCH_DATA_START]: ({ updateState }) => {\n\t\tupdateState({ resultsLoading: true });\n\t},\n\n\t[FETCH_MENTIONS_SUCCESS]: ({ updateState, state, action }) => {\n\t\tconst { result } = action.payload;\n\t\tconst {\n\t\t\tactivePrefix,\n\t\t\tsearchTerm,\n\t\t\tproperties: { preloadMentions }\n\t\t} = state;\n\t\tconst filteredUsers = filterMentions(result, preloadMentions, searchTerm);\n\t\tupdateState({ resultsLoading: false });\n\t\tif (activePrefix)\n\t\t\tupdateState({\n\t\t\t\tmatchList: activePrefix.mapResults(filteredUsers)\n\t\t\t});\n\t},\n\n\t[FETCH_MENTIONS_FAILURE]: ({ updateState }) => {\n\t\tupdateState({\n\t\t\tresultsLoading: false\n\t\t});\n\t},\n\n\t[FETCH_RESPONSE_TEMPLATES]: createHttpEffect(RESPONSE_TEMPLATES_API, {\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tstartActionType: FETCH_DATA_START,\n\t\tsuccessActionType: FETCH_RESPONSE_TEMPLATES_SUCCESS,\n\t\terrorActionType: FETCH_RESPONSE_TEMPLATES_FAILURE\n\t}),\n\n\t[FETCH_RESPONSE_TEMPLATES_SUCCESS]: ({ updateState, state, action }) => {\n\t\tconst { result } = action.payload;\n\t\tconst { activePrefix } = state;\n\t\tupdateState({ resultsLoading: false });\n\t\ttry {\n\t\t\tconst templates = JSON.parse(result);\n\t\t\tconst validPayload = templates && Array.isArray(templates);\n\t\t\tif (validPayload) {\n\t\t\t\tupdateState({\n\t\t\t\t\tmatchList: activePrefix.mapResults(templates)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({ matchList: [] });\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\tupdateState({ matchList: [] });\n\t\t}\n\t},\n\n\t[FETCH_RESPONSE_TEMPLATES_FAILURE]: ({ updateState }) => {\n\t\tupdateState({\n\t\t\tresultsLoading: false\n\t\t});\n\t},\n\n\t[NOW_TEXTAREA.INPUT]: {\n\t\teffect({ host, action = {}, state, dispatch, updateState }) {\n\t\t\t/* eslint-disable-next-line no-unsafe-optional-chaining */\n\t\t\tconst { fieldValue, data } = action?.payload;\n\t\t\tconst {\n\t\t\t\tmentions,\n\t\t\t\tactivePrefix,\n\t\t\t\tactivePrefixPosition,\n\t\t\t\tselectedItems,\n\t\t\t\tdebouncedQueryDispatcher,\n\t\t\t\thotkeys,\n\t\t\t\tproperties: { preloadMentions }\n\t\t\t} = state;\n\n\t\t\t// TODO: Replace with fieldElement from payload once DEF0329308 is fixed.\n\t\t\tconst textarea = host.shadowRoot\n\t\t\t\t.querySelector('now-textarea')\n\t\t\t\t.shadowRoot.querySelector('textarea');\n\n\t\t\tlet textPosition = textarea.selectionStart;\n\t\t\tconst currentToken = findSearchSpace(fieldValue, textarea.selectionStart);\n\n\t\t\t//if the prefix is already active, append it to the search term and execute debounced query\n\t\t\tif (activePrefix) {\n\t\t\t\t// Perform state updates first\n\t\t\t\tlet searchTerm = fieldValue\n\t\t\t\t\t.substring(activePrefixPosition, textarea.selectionStart);\n\n\t\t\t\tif (/\\s\\s$/.test(searchTerm))//doubleSpace ending\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\n\t\t\t\tsearchTerm = searchTerm.trim();\n\n\t\t\t\tif (\n\t\t\t\t\t(activePrefix.prefix === '@' || activePrefix.prefix === '#') &&\n\t\t\t\t\tsearchTerm === '' &&\n\t\t\t\t\tfieldValue.charAt(activePrefixPosition - 1) !== '@' &&\n\t\t\t\t\tfieldValue.charAt(activePrefixPosition - 1) !== '#'\n\t\t\t\t) {\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'isRelatedSearch',\n\t\t\t\t\tvalue: isRelatedSearch(state.searchTerm, searchTerm),\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\n\t\t\t\tif (searchTerm) {\n\t\t\t\t\t// Clear matchList and set loading state when starting a new search\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tresultsLoading: true,\n\t\t\t\t\t\tmatchList: [],\n\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t});\n\t\t\t\t\tdebouncedQueryDispatcher(searchTerm, dispatch);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'searchTerm',\n\t\t\t\t\t\tvalue: searchTerm,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({ searchTerm });\n\t\t\t\t}\n\n\t\t\t\tif (activePrefix.type === hk.MENTIONS) {\n\t\t\t\t\tconst users = BUILT_IN_MENTIONS.users.mapResults(\n\t\t\t\t\t\tfilterMentions([], preloadMentions, searchTerm)\n\t\t\t\t\t);\n\t\t\t\t\tupdateState({ matchList: users });\n\t\t\t\t}\n\t\t\t} else if (!data) {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.OPENED_MATCH_LIST_ON_LAST_PREFIX, {\n\t\t\t\t\ttextarea,\n\t\t\t\t\tfieldValue\n\t\t\t\t});\n\t\t\t} else if (hotkeys[currentToken]) {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST, {\n\t\t\t\t\ttextarea,\n\t\t\t\t\tactivePrefix: hotkeys[currentToken],\n\t\t\t\t\tactivePrefixPosition: textarea.selectionStart,\n\t\t\t\t\ttrailingInput: fieldValue.substring(textPosition)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'stagedValue',\n\t\t\t\tvalue: fieldValue,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, {\n\t\t\t\tfieldValue: encode(fieldValue, selectedItems, mentions)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST]: {\n\t\teffect({ action, updateState, properties, dispatch }) {\n\t\t\tconst { textarea, activePrefix, activePrefixPosition, trailingInput } =\n\t\t\t\taction.payload;\n\t\t\tlet layout = properties.fieldLayout.layout;\n\t\t\tconst { top, left } = getMatchListOffset(textarea, layout, activePrefix);\n\t\t\tupdateState({\n\t\t\t\tactivePrefix,\n\t\t\t\tactivePrefixPosition,\n\t\t\t\ttrailingInput,\n\t\t\t\thighlightedIndex: 0,\n\t\t\t\tmatchList: [],\n\t\t\t\toffset: [0, 0, top, left, top, left],\n\t\t\t\topened: true\n\t\t\t});\n\n\t\t\tif (activePrefix?.type && activePrefix.type !== hk.MENTIONS)\n\t\t\t\tdispatch('TRACK_HOTKEY_SET', { type: activePrefix.type });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN]: {\n\t\teffect({ action, state, dispatch, properties }) {\n\t\t\tconst { inputVal } = action.payload;\n\t\t\tconst { activePrefix } = state;\n\t\t\tconst hasDoubleSpaceEnding = /\\s\\s$/.test(inputVal);\n\t\t\tif (activePrefix && !hasDoubleSpaceEnding) {\n\t\t\t\tif (activePrefix.type === hk.MENTIONS) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFETCH_MENTIONS,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tterm: inputVal,\n\t\t\t\t\t\t\trecordTable: properties.referringTable,\n\t\t\t\t\t\t\trecordId: properties.referringRecordId\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ stopPropagation: true }\n\t\t\t\t\t);\n\t\t\t\t} else if (activePrefix.type === hk.RESPONSE_TEMPLATES) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFETCH_RESPONSE_TEMPLATES,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tsearchTerm: inputVal.trim(),\n\t\t\t\t\t\t\t\ttableName: properties.referringTable,\n\t\t\t\t\t\t\t\trecordId: properties.referringRecordId,\n\t\t\t\t\t\t\t\tlimit: 10,\n\t\t\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\t\t\tincludeEvaluatedBody: true,\n\t\t\t\t\t\t\t\topts: {\n\t\t\t\t\t\t\t\t\tchannel: properties.responseTemplates.channel || ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ stopPropagation: true }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if (hasDoubleSpaceEnding) {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t}\n\t\t}\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.OPENED_MATCH_LIST_ON_LAST_PREFIX]: {\n\t\teffect({ action, state, dispatch, updateState }) {\n\t\t\tconst { fieldValue, textarea } = action.payload;\n\t\t\tconst { debouncedQueryDispatcher, hotkeys } = state;\n\t\t\tconst searchSpace = findSearchSpace(fieldValue, textarea.selectionStart);\n\t\t\tlet selectEndPosition = textarea.selectionEnd;\n\t\t\tlet str = '';\n\t\t\tfor (const char of searchSpace) {\n\t\t\t\tstr = `${str}${char}`;\n\t\t\t\tconst hotkey = hotkeys[str];\n\t\t\t\tif (hotkey) {\n\t\t\t\t\tconst trailingInput = fieldValue.substring(selectEndPosition);\n\t\t\t\t\tconst prefixLength = hotkey.prefix.length;\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST, {\n\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\ttrailingInput,\n\t\t\t\t\t\tactivePrefix: hotkey,\n\t\t\t\t\t\tactivePrefixPosition:\n\t\t\t\t\t\t\ttextarea.selectionStart - searchSpace.length + prefixLength\n\t\t\t\t\t});\n\t\t\t\t\tconst searchTerm = searchSpace.substring(prefixLength);\n\t\t\t\t\tupdateState({ searchTerm });\n\t\t\t\t\tif (searchTerm) debouncedQueryDispatcher(searchTerm, dispatch);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ITEM_CLICKED]: {\n\t\teffect({ action, dispatch }) {\n\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED]: {\n\t\teffect({ action, properties, state, dispatch, updateState, host }) {\n\t\t\tconst { item, meta } = action.payload;\n\t\t\tconst { onValueChange, name } = properties;\n\t\t\tconst {\n\t\t\t\tactivePrefixPosition,\n\t\t\t\tactivePrefix,\n\t\t\t\ttrailingInput,\n\t\t\t\tselectedItems,\n\t\t\t\tstagedValue,\n\t\t\t\tmentions\n\t\t\t} = state;\n\t\t\tconst { prefix, type } = activePrefix;\n\t\t\tconst inputTillPrefix = stagedValue.substring(\n\t\t\t\t0,\n\t\t\t\tactivePrefixPosition - prefix.length\n\t\t\t);\n\t\t\tlet value = '';\n\t\t\tlet insertContent = '';\n\n\t\t\tif (type === hk.MENTIONS) {\n\t\t\t\tconst { id, label } = item;\n\t\t\t\tconst selectedItem = {\n\t\t\t\t\tvalue: label\n\t\t\t\t};\n\t\t\t\tinsertContent = activePrefix.displayItem({\n\t\t\t\t\tprefix,\n\t\t\t\t\titem: selectedItem\n\t\t\t\t});\n\t\t\t\tconst newSelectedItems = {\n\t\t\t\t\t...selectedItems,\n\t\t\t\t\t[prefix]: {\n\t\t\t\t\t\t...(selectedItems[prefix] || {}),\n\t\t\t\t\t\t[id]: { id, value: label }\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tvalue = encode(\n\t\t\t\t\t`${inputTillPrefix}${insertContent} ${trailingInput}`,\n\t\t\t\t\tnewSelectedItems,\n\t\t\t\t\tmentions\n\t\t\t\t);\n\t\t\t\tupdateState({ selectedItems: newSelectedItems });\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'sn-record-journal-input' },\n\t\t\t\t\tadditionalOptions: { ...meta }\n\t\t\t\t});\n\t\t\t} else if (type === hk.RESPONSE_TEMPLATES) {\n\t\t\t\tinsertContent = item.insertContent;\n\t\t\t\tvalue = encode(\n\t\t\t\t\t`${inputTillPrefix}${insertContent}${trailingInput}`,\n\t\t\t\t\tselectedItems,\n\t\t\t\t\tmentions\n\t\t\t\t);\n\t\t\t\tdispatch('TRACK_HOTKEY_SELECTED', { type, id: item.id });\n\t\t\t}\n\n\t\t\tif (host) {\n\t\t\t\tconst textAreaValue = displayFormat(value, mentions);\n\t\t\t\tconst cursorPosition =\n\t\t\t\t\tactivePrefixPosition + (insertContent ? insertContent.length : 0);\n\t\t\t\tconst textarea = host.shadowRoot\n\t\t\t\t\t.querySelector('now-textarea')\n\t\t\t\t\t.shadowRoot.querySelector('textarea');\n\n\t\t\t\t// Need to force now-textarea to re-render whenever the same item is selected. Passing the value as a prop won't trigger a re-render because it's the same value.\n\t\t\t\t// Instead, we directly update textarea.value to ensure the selected dropdown item is properly reflected.\n\t\t\t\t// Set the value and cursor position\n\t\t\t\ttextarea.value = textAreaValue;\n\t\t\t\ttextarea.setSelectionRange(cursorPosition, cursorPosition);\n\t\t\t}\n\n\t\t\tif (typeof onValueChange === 'function') onValueChange({ value });\n\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\tupdateState({ searchTerm: '' });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN]: {\n\t\teffect({ updateState }) {\n\t\t\tupdateState({\n\t\t\t\topened: false,\n\t\t\t\tmatchList: [],\n\t\t\t\tactivePrefix: null,\n\t\t\t\tactivePrefixPosition: null,\n\t\t\t\tsearchTerm: '',\n\t\t\t\tisNewDropdown: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_POPOVER.OPENED_SET]: {\n\t\teffect({ action, dispatch }) {\n\t\t\tconst { value, actionSource } = action.payload;\n\t\t\tif (!value && actionSource !== 'trigger-click') {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ACTIVE_ITEM_SET]: {\n\t\teffect({ action, state, updateState }) {\n\t\t\tconst { value } = action.payload;\n\t\t\tconst { matchList } = state;\n\t\t\tupdateState({\n\t\t\t\thighlightedIndex: matchList.findIndex(item => item.id === value)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INVALID_SET]: {\n\t\teffect({ action, state, properties, dispatch }) {\n\t\t\tconst { mentions, selectedItems } = state;\n\t\t\tconst { onBlur } = properties;\n\t\t\tconst { fieldValue } = action.payload;\n\t\t\tconst event = {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: fieldValue\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isFunction(onBlur)) {\n\t\t\t\tonBlur(event, encode(fieldValue, selectedItems, mentions));\n\t\t\t}\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, {\n\t\t\t\tfieldValue: encode(fieldValue, selectedItems, mentions)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.VALUE_SET]: {\n\t\tstopPropagation: true\n\t}\n};\n","import { SN_RECORD_JOURNAL_INPUT } from \"./constants\";\nimport {\n    isEmpty,\n    isFunction,\n    size\n} from 'lodash';\n\nexport default [\n    {\n        events: ['keydown'],\n        effect({ action, dispatch, state, properties, updateState }) {\n            const { event } = action.payload;\n            const { matchList, highlightedIndex, opened } = state;\n            const { key } = event;\n            if (key === 'Enter' || key === 'Tab') {\n                if (isEmpty(matchList))\n                    dispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n                else {\n                    dispatch(SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED, {\n                        item: matchList[highlightedIndex]\n                    });\n                    action.preventDefault();\n                }\n            } else if (key === 'ArrowUp') {\n                if (opened) {\n                    action.preventDefault();\n                    updateState({\n                        highlightedIndex: Math.max(0, highlightedIndex - 1)\n                    });\n                }\n            } else if (key === 'ArrowDown') {\n                if (opened) {\n                    action.preventDefault();\n                    updateState({\n                        highlightedIndex: Math.min(\n                            size(matchList) - 1,\n                            highlightedIndex + 1\n                        )\n                    });\n                }\n            }\n            if (isFunction(properties.onKeyDown)) {\n                properties.onKeyDown(event);\n            }\n        }\n    },\n    {\n        events: ['paste', 'keypress'],\n        effect({ properties, action }) {\n            const { event } = action.payload;\n            const { onKeyPress, onPaste } = properties;\n            const handlerMap = {\n                paste: onPaste,\n                keypress: onKeyPress\n            };\n            const handler = handlerMap[event.type];\n            if (isFunction(handler)) {\n                handler(event);\n            }\n        }\n    },\n    {\n        // This condition prevents unnecessary blur events when an item is selected from now-dropdown in now-popover.\n        // When now-textarea triggers an Onblur (NOW_TEXTAREA#INVALID_SET) after an item selection, it dispatches a SN_RECORD_INPUT_CONNECTED#value_changed event with @ab (item is not yet selected).\n        // The provided effect function listens for 'blur' events and stops propagation if the related target is a 'SEISMIC-HOIST' element, ensuring the blur event does not fire inappropriately.\n\n        events: ['blur'],\n        effect({ action }) {\n            const { event } = action.payload;\n            if (event.relatedTarget && event.relatedTarget.tagName === 'SEISMIC-HOIST') {\n                event.stopPropagation();\n            }\n        },\n        capture: true\n    }\n];","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionHandlers, BUILT_IN_MENTIONS } from './mentionsActionHandlers';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior,\n\tfieldLayoutSchema,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tnowAssistActionsBehavior,\n\tnacmBehavior\n} from '@devsnc/sn-record-nowassist';\n\nimport styles from './journal-input.scss';\n\nimport { debounce, isString, keyBy, keys, mapValues, clone } from 'lodash';\nimport {\n\tassertValidMention,\n\tnormalizeMentions,\n\tstripTags\n} from './mentionsUtils';\nimport { view } from './view';\nimport {\n\tSN_RECORD_JOURNAL_INPUT,\n\tHOTKEY_TYPES,\n\tMATCH_LIST_CONSTRAINTS\n} from './constants';\nimport eventHandlers from './eventHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const setInitialState = ({ properties }) => {\n\tconst normalizedMentions = normalizeMentions(properties.mentions);\n\tconst mentions = Object.entries(normalizedMentions).reduce(\n\t\t(result, [prefix, mention]) => {\n\t\t\tif (isString(mention)) {\n\t\t\t\tif (!BUILT_IN_MENTIONS[mention]) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unknown built-in mentions config '${mention}'. Supported values: '${keys(\n\t\t\t\t\t\t\tBUILT_IN_MENTIONS\n\t\t\t\t\t\t).join(', ')}'`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmention = clone(BUILT_IN_MENTIONS[mention]);\n\t\t\t}\n\t\t\tassertValidMention(mention);\n\t\t\tmention['prefix'] = prefix;\n\t\t\tresult[prefix] = mention;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n\tconst queryDispatcher = (inputVal = '', dispatch) => {\n\t\tdispatch(SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN, { inputVal });\n\t};\n\n\tconst debouncedQueryDispatcher = debounce(\n\t\tqueryDispatcher,\n\t\tproperties.searchDebounce\n\t);\n\tconst selectedItems = mapValues(mentions, (mention, prefix) =>\n\t\tkeyBy(\n\t\t\tmention.getItemsFromInitialValue({\n\t\t\t\tprefix,\n\t\t\t\tvalue: properties.value\n\t\t\t}),\n\t\t\t'id'\n\t\t)\n\t);\n\n\tlet responseTemplatesConfig = {};\n\tif (properties.responseTemplates.enableResponseTemplates) {\n\t\tresponseTemplatesConfig = {\n\t\t\t'/r': {\n\t\t\t\ttype: HOTKEY_TYPES.RESPONSE_TEMPLATES,\n\t\t\t\tmapResults: templates => {\n\t\t\t\t\treturn templates.map(t => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: t.sys_id,\n\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\tsublabel: (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\tmaxWidth: `${MATCH_LIST_CONSTRAINTS[HOTKEY_TYPES.RESPONSE_TEMPLATES].width}px`\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{stripTags(t.evaluated_response?.evaluated_body)}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tinsertContent: stripTags(t.evaluated_response?.evaluated_body)\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tprefix: '/r'\n\t\t\t}\n\t\t};\n\t}\n\n\tconst hotkeys = {\n\t\t...mentions,\n\t\t...responseTemplatesConfig\n\t};\n\n\treturn {\n\t\t// map of prefix character (`@`) to mention config\n\t\tmentions,\n\t\tdebouncedQueryDispatcher,\n\t\t// tracks items that the user has selected for each mention type\n\t\t// {\n\t\t//\t'@': [ item1, item2 ],\n\t\t//\t'/': [ item1 ]\n\t\t// }\n\t\tselectedItems,\n\t\t//relative offset of popover compared to the input area\n\t\toffset: [0, 0, 0, 0, 0, 0],\n\t\topened: false,\n\t\t// data response for the active mention\n\t\tmatchList: [],\n\t\tactivePrefix: null,\n\t\tactivePrefixPosition: null,\n\t\t// current focused item in the matchlist\n\t\thighlightedIndex: 0,\n\t\t// Any trailing input that exists in the input after the current active\n\t\t// mention\n\t\ttrailingInput: '',\n\t\t// search term for the current active query\n\t\tsearchTerm: '',\n\t\tresultsLoading: false,\n\t\tisRelatedSearch: false,\n\t\t//tracks current user input\n\t\tstagedValue: properties.value,\n\t\thotkeys\n\t};\n};\n\ncreateCustomElement('sn-record-journal-input', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: withValueChangeCallbacksView(view),\n\tsetInitialState,\n\teventHandlers,\n\tproperties: {\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\tname: { schema: { type: 'string' } },\n\t\tinitialValue: { schema: { type: 'string' } },\n\t\tvalue: { schema: { type: 'string' } },\n\t\tdisplayValue: { schema: { type: 'string' } },\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\tmessages: {},\n\t\treadonly: { default: false, schema: { type: 'boolean' } },\n\t\trequired: { default: false, schema: { type: 'boolean' } },\n\t\tinvalid: { default: false, schema: { type: 'boolean' } },\n\t\tdescription: {},\n\t\tonValueChange: { shouldRenderWhenSet: false },\n\t\tonStagedValueChange: { shouldRenderWhenSet: false },\n\t\tonBlur: { shouldRenderWhenSet: false },\n\t\tonChange: { shouldRenderWhenSet: false },\n\t\tvariant: { schema: { type: 'string' } },\n\t\tresizable: { default: false, schema: { type: 'boolean' } },\n\t\treversed: { default: false, schema: { type: 'boolean' } },\n\t\trows: { schema: { type: 'number' } },\n\t\tmentions: { schema: { anyOf: [{ type: 'object' }, { type: 'array' }] } },\n\t\tsearchDebounce: { schema: { type: 'number' } },\n\t\treferringTable: { schema: { type: 'string' } },\n\t\treferringRecordId: { schema: { type: 'string' } },\n\t\thelperContent: { schema: { type: 'string' } },\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\tdisableMaxHeight: { default: false, schema: { type: 'boolean' } },\n\t\tdisableMinHeight: { default: false, schema: { type: 'boolean' } },\n\t\tshowCounter: { default: true, schema: { type: 'boolean' } },\n\t\tmaxlength: { schema: { type: 'number' } },\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Causes the component to automatically resize the input region to the content inside it.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\tresponseTemplates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResponseTemplates: { type: 'boolean' },\n\t\t\t\t\tchannel: { type: 'string' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * @type {Array.<{\n\t\t *     sys_id: string,\n\t\t *     name?: string,\n\t\t *     username?: string,\n\t\t *     email?: string,\n\t\t *     avatar?: string,\n\t\t *     active?: boolean,\n\t\t *     [key: string]?: any  // Additional parameters\n\t\t * }>}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the end of the label.\n\t\t */\n\t\t'controls-label-end': {}\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\ttrackBehavior,\n\t\t{ behavior: nowAssistActionsBehavior },\n\t\t{ behavior: nacmBehavior }\n\t]\n});\n","export const formatNumber = input => {\n\tif (input !== '' && input !== null) {\n\t\tlet number = input.toString();\n\t\tnumber = number.replace(/[^\\d.-]/g, '').replace(/(?!^)-/g, '');\n\t\tif (number.includes('.')) {\n\t\t\tnumber = number.replace(/(\\.\\d{2})\\d+/, '$1');\n\t\t}\n\t\tlet parsedNumber = parseFloat(number);\n\t\tif (isNaN(parsedNumber)) {\n\t\t\treturn '';\n\t\t}\n\t\tlet roundedNumber = Math.round(parsedNumber);\n\t\tlet formatted = roundedNumber\n\t\t\t.toString()\n\t\t\t.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n\n\t\treturn formatted;\n\t}\n\treturn '';\n};\n","import { omit, isFunction, toNumber, toString } from 'lodash';\nimport '@servicenow/now-input';\n// Component Imports\nimport { Input } from '@devsnc/sn-record-input';\nimport {\n\tgetDeclarativeActionsProps,\n\tgetProperty,\n\tescapeSeismicSpecialSymbols,\n\ttransformMessages,\n\tisAttrTrue,\n\trenderHighlightedValue,\n\thandleDynamicTranslationBlur,\n\trenderTranslatedText,\n\trenderTranslateIcon,\n\trenderDecorations\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-declarative-actions';\nimport '@devsnc/sn-record-control';\n\nimport './mentions';\nimport { formatNumber } from './utils';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from './constants';\n\nconst renderJournal = (state, { onBlur }) => {\n\tconst { formData } = state;\n\n\treturn (\n\t\t<sn-record-journal-input\n\t\t\t{...omit(state, ['value', 'properties', 'dispatch', 'helpers'])}\n\t\t\tonBlur={onBlur}\n\t\t\tsearchDebounce={state.debounce || 500}\n\t\t\tdebounceAutosize={toNumber(\n\t\t\t\tgetProperty('glide.ui.textarea.autosize_debounce', 100)\n\t\t\t)}\n\t\t\tvalue={escapeSeismicSpecialSymbols(state.value)}\n\t\t\tautoresizeLineLimit={state.autoresizeLineLimit}\n\t\t\tformData={formData}\n\t\t>\n\t\t\t<slot slot=\"controls-label-end\" name=\"controls-label-end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t<\/sn-record-journal-input>\n\t);\n};\n\nconst getPasswordField = (props, { onChange }) => {\n\tconst readonly = isAttrTrue(props.readonly);\n\tconst fieldLayout = props.fieldLayout;\n\n\treturn (\n\t\t<now-input-password\n\t\t\tname={props.name}\n\t\t\tlabel={props.label}\n\t\t\twrapLabel={props.wrapLabel}\n\t\t\tplaceholder={readonly ? '—' : props.placeholder}\n\t\t\ton-change={onChange}\n\t\t\trequired={props.required}\n\t\t\treadonly={readonly}\n\t\t\tinvalid={props.invalid}\n\t\t\tmanageInvalid\n\t\t\tmanageValue\n\t\t\tvalue={props.initialDisplayValue}\n\t\t\tmessages={transformMessages(props.messages)}\n\t\t\tdisableUnmask={props.disableUnmask}\n\t\t\tconfig-aria={{ input: props.configAria }}\n\t\t\tfieldLayout={fieldLayout}\n\t\t>\n\t\t\t{renderHighlightedValue(props.highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(props)}\n\t\t<\/now-input-password>\n\t);\n};\n\n/**\n * Adds state management and autocomplete to the basic Input component.\n */\nexport const ConnectedInput = (props, children) => {\n\tconst { dispatch, updateState } = props;\n\tconst {\n\t\tmentions,\n\t\treadonly,\n\t\ttype,\n\t\toverrideDeclarativeActionsProps,\n\t\tonValueChange,\n\t\tonBlur: onBlurProp,\n\t\tonChange: onChangeProp,\n\t\tinnerRef: innerRefProp,\n\t\tonFocus,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tdecorations = [],\n\t\tenableCaretSlot\n\t} = props;\n\tlet inputElement = null;\n\n\tlet shouldSkipWWNAToggle = false;\n\n\tconst temporarilyDisableWWNAToggle = () => {\n\t\tshouldSkipWWNAToggle = true;\n\t\tsetTimeout(() => {\n\t\t\tshouldSkipWWNAToggle = false;\n\t\t}, 500);\n\t};\n\n\tconst setInputElement = node => {\n\t\treturn () => node;\n\t};\n\tconst isJournal = () => typeof mentions !== 'undefined';\n\t// We dont want to toggle visibility when WWNA is clicked, doing so would block wwna from being rendered\n\tconst onMouseDown = event => {\n\t\tif (event?.target?.id !== 'sn-record-nowassist') return;\n\t\ttemporarilyDisableWWNAToggle();\n\t};\n\tconst onBlur = (event, targetValue) => {\n\t\tconst readOnly = isAttrTrue(readonly);\n\t\tif (!readOnly) {\n\t\t\tif (!isJournal() && inputElement) {\n\t\t\t\t// For fields like currency, you need to set the staged value so format/parse works properly\n\t\t\t\t// Calling onValueChange without a format argument will do this\n\t\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\t\tonValueChange({\n\t\t\t\t\t\tvalue: inputElement().value\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isFunction(onBlurProp)) {\n\t\t\t\tonBlurProp(event, targetValue);\n\t\t\t}\n\n\t\t\tisTranslationEnabled &&\n\t\t\t\thandleDynamicTranslationBlur(targetValue, updateState, translatedText);\n\t\t}\n\n\t\tif (enableCaretSlot && !shouldSkipWWNAToggle) {\n\t\t\tdispatch('SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST', {\n\t\t\t\tinputFocused: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst onChange = (event, targetValue) => {\n\t\t// This is to retain the current behaviour of textarea stagedValue,\n\t\t// it used to utilize the onChange value injected via state by withState view modifier\n\t\tif (type === 'textarea' && !isJournal()) {\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, {\n\t\t\t\tfieldValue: targetValue\n\t\t\t});\n\t\t}\n\n\t\tif (isFunction(onChangeProp)) {\n\t\t\tonChangeProp(event, targetValue);\n\t\t}\n\t};\n\n\tconst innerRef = node => {\n\t\tinputElement = setInputElement(node);\n\n\t\tif (isFunction(innerRefProp)) {\n\t\t\tinnerRefProp(node);\n\t\t}\n\t};\n\n\tconst declarativeActionsProps = overrideDeclarativeActionsProps\n\t\t? getDeclarativeActionsProps(props.declarativeActionsProps, props)\n\t\t: props.declarativeActionsProps || {};\n\n\tif (type === 'password' || type === 'password2') {\n\t\treturn getPasswordField(props, { onChange: props.onChange });\n\t}\n\n\tif (isJournal()) {\n\t\treturn renderJournal(props, { onBlur, innerRef });\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Input\n\t\t\t\t{...props}\n\t\t\t\tvalue={\n\t\t\t\t\tprops.fieldType === 'order_index'\n\t\t\t\t\t\t? formatNumber(props.value)\n\t\t\t\t\t\t: escapeSeismicSpecialSymbols(toString(props.value))\n\t\t\t\t} // Set value based on fieldType\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tdisabled={isAttrTrue(props.disabled)}\n\t\t\t\tonChange={onChange}\n\t\t\t\tcomponentName=\"sn-record-input-connected\"\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tautoresizeLineLimit={props.autoresizeLineLimit}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t{decorations.map(({ icon, text }) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot=\"label-inline\"\n\t\t\t\t\t\ttitle={text}\n\t\t\t\t\t\tclassName=\"decorations-icon-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon icon={icon} size=\"sm\" />\n\t\t\t\t\t<\/div>\n\t\t\t\t))}\n\t\t\t\t{type !== 'textarea' && (\n\t\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\t\tslot=\"controls\"\n\t\t\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tformData={props.formData}\n\t\t\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{isTranslationEnabled\n\t\t\t\t\t? renderTranslateIcon(\n\t\t\t\t\t\t\t{ ...props, value: props.stagedValue },\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState\n\t\t\t\t\t\t)\n\t\t\t\t\t: []}\n\t\t\t<\/Input>\n\t\t\t{isTranslationEnabled ? renderTranslatedText(translatedText) : []}\n\t\t<\/Fragment>\n\t);\n};\n\nexport const view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties,\n\t\tselectedText,\n\t\tisUserTriggered,\n\t\tinputFocused,\n\t\tenableCaretSlot,\n\t\tstagedValue\n\t} = state;\n\n\tconst hasStateMessages = state.messages?.length > 0;\n\tconst hasPropertyMessages = properties.messages?.length > 0;\n\tconst usePropertyMessages = hasPropertyMessages && !state.isFieldValid;\n\n\t// state.isFieldValid is used for the following reason:\n\t// If state.messages is an empty array but property.messages are provided,\n\t// we don't want to display property messages with a red border around the input.\n\t// To handle this, we've introduced a new variable called state.isFieldValid.\n\n\tconst nonErrorPropertyMessages =\n\t\tproperties.messages?.filter(msg => msg.type !== 'error') || [];\n\n\tconst messages = hasStateMessages\n\t\t? state.messages.concat(nonErrorPropertyMessages)\n\t\t: usePropertyMessages\n\t\t\t? properties.messages\n\t\t\t: nonErrorPropertyMessages;\n\n\tconst invalid =\n\t\thasStateMessages || state.isFieldValid ? false : properties.invalid;\n\n\tconst attrs = {\n\t\t...omit(state, ['properties']),\n\t\tonValueChange: state.onValueChange || properties.onValueChange,\n\t\tinnerRef: state.innerRef || properties.innerRef,\n\t\tconfigAria: properties.configAria\n\t};\n\n\tconst combineOnFocus = (originalOnFocus, enableCaretSlot) => event => {\n\t\tif (isFunction(originalOnFocus)) {\n\t\t\toriginalOnFocus(event);\n\t\t}\n\t\tif (enableCaretSlot) {\n\t\t\tdispatch('SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST', {\n\t\t\t\tinputFocused: true\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<ConnectedInput\n\t\t\t{...properties}\n\t\t\t{...attrs}\n\t\t\tinvalid={invalid}\n\t\t\tonFocus={combineOnFocus(state.onFocus, enableCaretSlot)}\n\t\t\tcreatedCallbacks={true}\n\t\t\tupdateState={updateState}\n\t\t\tdispatch={dispatch}\n\t\t\tselectedText={selectedText}\n\t\t\tenableCaretSlot={enableCaretSlot}\n\t\t\tdraftedText={stagedValue}\n\t\t\tisUserTriggered={isUserTriggered}\n\t\t\tinputFocused={inputFocused}\n\t\t\tmessages={messages}\n\t\t/>\n\t);\n};\n\nexport default view;\n","export const requestPass2 = `query ($tableName: String!,$fieldName: String!, $sysId: String!) {\n    GlideLayout_Query {\n      password2Query(tableName: $tableName, fieldName: $fieldName, sysId: $sysId) {\n        password\n      }\n    }\n  }`;\n","import { get, merge, isEmpty } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tadaptCallbackForLegacyAPI,\n\teffectProxy,\n\thandleInitialValue\n} from '@devsnc/sn-controls-common';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { requestPass2 } from './pass2Graphql';\nimport {\n\tNOW_INPUT_ACTIONS,\n\tSN_RECORD_INPUT_CONNECTED_ACTIONS\n} from './constants';\nimport { formatNumber } from './utils';\nexport const COMPONENT_PREFIX = 'SN_RECORD_CONNECTED_INPUT';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst NOW_INPUT_PASSWORD_VALUE_SET = 'NOW_INPUT_PASSWORD#VALUE_SET';\nconst NOW_INPUT_PASSWORD_INVALID_SET = 'NOW_INPUT_PASSWORD#INVALID_SET';\nconst NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nconst NOW_TEXTAREA_INVALID_SET = 'NOW_TEXTAREA#INVALID_SET';\nconst NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nconst NOW_INPUT_PASSWORD_INPUT = 'NOW_INPUT_PASSWORD#INPUT';\nconst NOW_RECORD_INPUT_PASSWORD_RESET_EDITED =\n\t'NOW_RECORD_INPUT_PASSWORD#RESET_EDITED';\nconst PASS2_REQUEST = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST`;\nconst PASS2_DATA_REQUEST_SUCCESS = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST_SUCCESS`;\nconst PASS2_DATA_REQUEST_ERROR = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST_ERROR`;\nconst PASS2_TYPE = 'password2';\nconst DEFAULT_DISPLAYVALUE_PASS2 = '••••••••';\n\nconst passthrough = s => ({\n\tvalue: s\n});\n\nconst passwordChangeEffect = ({ action, dispatch, state }) => {\n\tconst { name, value } = action.payload;\n\tconst onValueChange = adaptCallbackForLegacyAPI(\n\t\tstate.properties.onValueChange\n\t);\n\tif (onValueChange) {\n\t\tonValueChange({ name, value });\n\t} else {\n\t\tdispatch('NOW_RECORD_PASSWORD#VALUE_CHANGED', action.payload);\n\t}\n};\nconst passwordInvalidEffect = ({ action, dispatch, state }) => {\n\tconst fieldValue = get(action, 'payload.fieldValue', '');\n\tconst { type } = state.properties;\n\t//If the user clicks on the field but doesnt edit it, it will be invalid. Just leave the field alone.\n\tif (type == PASS2_TYPE && fieldValue === DEFAULT_DISPLAYVALUE_PASS2) return;\n\tdispatch('TRACK', {\n\t\tmetaData: {\n\t\t\tname: state.properties.name,\n\t\t\tfieldType: 'input-connected'\n\t\t}\n\t});\n\n\tpasswordChangeEffect({\n\t\taction: merge(action, { payload: { value: fieldValue } }),\n\t\tdispatch,\n\t\tstate\n\t});\n};\n\nconst pass2DataRequestGraphQL = createGraphQLEffect(requestPass2, {\n\tvariableList: ['tableName', 'fieldName', 'sysId'],\n\tsuccessActionType: PASS2_DATA_REQUEST_SUCCESS,\n\terrorActionType: PASS2_DATA_REQUEST_ERROR\n});\n/**\n * Handles an alternative case for the mask/unmask button.\n * For pass2 we want to make a request to get the stored password if the field\n * has not been edited.\n *\n */\nconst maskButtonClickedEffect = ({ dispatch, state }) => {\n\tconst { type } = state.properties;\n\tconst { edited = false } = state;\n\tif (type == PASS2_TYPE && !edited) {\n\t\tconst { referringRecordId, referringTable, name } = state.properties;\n\t\tdispatch(PASS2_REQUEST, {\n\t\t\ttableName: referringTable,\n\t\t\tfieldName: name,\n\t\t\tsysId: referringRecordId\n\t\t});\n\t}\n};\n\nconst pass2RequestSuccessEffect = ({\n\taction,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst path = 'data.GlideLayout_Query.password2Query.password';\n\tconst password = get(action.payload, path);\n\tupdateState({ password });\n\tif (!isEmpty(password)) {\n\t\tupdateProperties({ initialDisplayValue: password });\n\t}\n};\n\nconst pass2RequestError = ({ action }) => {\n\tconsole.error(action.payload);\n};\n\n/**\n * This is called when the password field receives a key typed in.\n * If the field is password2, we should clear the field of the default bullets that were set\n * and leave only the character they typed in.\n */\nconst passwordInputEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst { type } = state.properties;\n\tconst { edited = false } = state;\n\tif (type == PASS2_TYPE && edited == false) {\n\t\tconst newValue = get(action, 'payload.data');\n\t\tupdateState({ edited: true });\n\t\tupdateProperties({ initialDisplayValue: newValue });\n\t}\n};\nexport default {\n\tactionHandlers: {\n\t\t[NOW_INPUT_PASSWORD_VALUE_SET]: {\n\t\t\teffect: passwordChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_PASSWORD_INVALID_SET]: {\n\t\t\teffect: passwordInvalidEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_VALUE_SET]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_INVALID_SET]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, action.payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_PASSWORD_INPUT]: {\n\t\t\teffect: passwordInputEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: maskButtonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PASS2_REQUEST]: effectProxy(pass2DataRequestGraphQL),\n\t\t[PASS2_DATA_REQUEST_SUCCESS]: {\n\t\t\teffect: pass2RequestSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PASS2_DATA_REQUEST_ERROR]: {\n\t\t\teffect: pass2RequestError,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_RECORD_INPUT_PASSWORD_RESET_EDITED]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ edited: false });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_ACTIONS.INVALID_SET]: {\n\t\t\teffect: ({ action, properties, dispatch }) => {\n\t\t\t\tconst { payload } = action;\n\t\t\t\tif (payload.fromHandleBlur) {\n\t\t\t\t\tif (properties.fieldType === 'order_index') {\n\t\t\t\t\t\tpayload.fieldValue = formatNumber(payload.fieldValue);\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_ACTIONS.INPUT]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst { payload } = action;\n\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { internalValue } = state;\n\t\t\tconst { initialValue } = properties;\n\t\t\tif (name === 'formData' && initialValue !== internalValue) {\n\t\t\t\t//formData[field].value and initialValue are same and latest.\n\t\t\t\thandleInitialValue({\n\t\t\t\t\trawValue: initialValue,\n\t\t\t\t\tnewValue: initialValue,\n\t\t\t\t\toldValue: internalValue,\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tformat: passthrough,\n\t\t\t\t\tupdateState\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import { getItemForKeypress } from '@servicenow/now-dropdown';\nimport { AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED } from \"./constants\";\n\nexport const getCursorPosition = target => {\n\tconst textarea = target.shadowRoot.querySelector(\"now-textarea\")?.shadowRoot.querySelector(\"textarea\");\n\treturn textarea ? textarea.selectionStart : 0;\n}\n\nexport const getSelectedItem = (suggestedItems, value) => {\n\tconst selectedItemIndex = suggestedItems.findIndex(item => item.displayValue === value);\n\treturn selectedItemIndex !== -1 ? value : null;\n}\nexport default ({ host, action, updateState, state, properties, dispatch }) => {\n\tconst { event } = action.payload;\n\tconst { key, target } = event;\n\tconst { isSuggestionsOpened, activeItemId, value } = state;\n\tconst { suggestions: { items }, disabled, readonly, type, nowId } = properties;\n\n\tconst suggestedItems = items.map(item => ({\n\t\tid: item.value,\n\t\tlabel: item.displayValue\n\t}));\n\tconst composedPath = event.composedPath()[0];\n\n\tif (composedPath?.tagName !== 'INPUT' && composedPath?.tagName !== 'TEXTAREA') {\n\t\treturn;\n\t}\n\n\tif (key === 'Enter') {\n\t\tif (activeItemId && isSuggestionsOpened) {\n\t\t\tconst activeItem = suggestedItems.find(item => item.id === activeItemId);\n\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, { item: activeItem });\n\t\t\tif (host) {\n\t\t\t\thost.focus();\n\t\t\t}\n\t\t\tif (type === 'textarea') {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t\telse if (type !== 'textarea') { // We don't want dropdown to be displayed when pressed enter on textarea as enter moves to next line (native)\n\t\t\tconst selectedItem = getSelectedItem(items, value);\n\t\t\tupdateState({ isSuggestionsOpened: true, selectedItem, activeItemId: null });\n\t\t\thost.shadowRoot.querySelector('now-dropdown-list')?.removeAttribute('defer');\n\t\t}\n\t\telse if (type === 'textarea' && isSuggestionsOpened) {\n\t\t\tupdateState({ isSuggestionsOpened: false });\n\t\t}\n\t}\n\telse {\n\t\tif (key !== 'ArrowDown' && !isSuggestionsOpened) { //If initial key is not ArrowDown, we don't want to do anything as it should open dropdown\n\t\t\treturn;\n\t\t}\n\n\t\tif (key !== 'ArrowDown' && key !== 'ArrowUp' && isSuggestionsOpened) {\n\t\t\tupdateState({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\tvalue: false\n\t\t\t});\n\t\t\tif (host) {\n\t\t\t\thost.focus();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (key === 'ArrowUp') { //ArrowUp should iterate through the dropdown items\n\t\t\tif (!activeItemId) { // Close the dropdown when focus is not on dropdown\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\tvalue: false\n\t\t\t\t});\n\t\t\t\thost.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (activeItemId === suggestedItems[0].id) { // Remove the focus from dropdown on further pressing arrow up from first item\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'activeItemId',\n\t\t\t\t\tvalue: null\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (type === 'textarea') { // We don't want panel to be displayed when the cursor is in the middle of multiline text.\n\t\t\tconst cursorPosition = getCursorPosition(target);\n\t\t\tif (cursorPosition < value.length) {\n\t\t\t\tif (!isSuggestionsOpened) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (key === 'ArrowDown') {\n\t\t\tif (!isSuggestionsOpened && !disabled && !readonly) { // When dropdown is not opened, ArrowDown opens it\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\t\tvalue: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'selectedItem',\n\t\t\t\t\t\tvalue: getSelectedItem(items, value)\n\t\t\t\t\t},\n\n\t\t\t\t]);\n\t\t\t\tif (host) {\n\t\t\t\t\thost.shadowRoot.querySelector('now-dropdown-list')?.removeAttribute('defer');\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst nextItem = getItemForKeypress(suggestedItems, activeItemId, key);\n\t\tif (!nextItem) {\n\t\t\treturn;\n\t\t}\n\t\tcomposedPath.setAttribute('aria-activedescendant', `now-dropdown-list-${nowId}-option-${nextItem.id}`);\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'activeItemId',\n\t\t\tvalue: nextItem.id\n\t\t});\n\t}\n}\n","import { filter, isEmpty, size } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\n\n// Internal Function Imports\nimport {\n\tisEditable,\n\tCALLBACK_AND_DISPATCH_WITH_STATE\n} from '@devsnc/sn-controls-common';\nimport { AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED } from './constants';\nimport handleKeydownForSuggestions, {\n\tgetSelectedItem\n} from './handleKeydownForSuggestions';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nconst NOW_INPUT_CHANGE = 'NOW_INPUT#INPUT';\nconst NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nconst supportsDropdown = properties => {\n\tconst { autocompleteOptions } = properties;\n\treturn !isEmpty(autocompleteOptions) && isEditable(properties);\n};\n\n/**\n * function that filters out the autoComplete options by the value user has entered\n * @param {array} autocompleteOptions list of options\n * @param {bool} autocompleteMatchAnywhere qualifier for type of search\n * @returns {array} filtered list of options\n */\nconst filterStaticOptions = ({\n\tautocompleteOptions,\n\tautocompleteMatchAnywhere,\n\tvalue = ''\n}) => {\n\tconst matcher = autocompleteMatchAnywhere ? 'includes' : 'startsWith';\n\tconst lowerCaseInput = value.toLowerCase();\n\treturn filter(\n\t\tautocompleteOptions,\n\t\topt => !isEmpty(value) && opt.toLowerCase()[matcher](lowerCaseInput)\n\t);\n};\n\nexport default {\n\tname: 'withAutocompleteBehavior',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ host, action, updateState, state, properties, dispatch }) {\n\t\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\t\tif (!isEmpty(properties.suggestions.items)) {\n\t\t\t\t\t\thandleKeydownForSuggestions({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tconst { key } = event;\n\t\t\t\tconst { highlightedIndex } = state;\n\t\t\t\tconst filteredOptions = filterStaticOptions({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: state.value\n\t\t\t\t});\n\t\t\t\tif (isEmpty(filteredOptions)) return;\n\n\t\t\t\tif (key === 'Enter') {\n\t\t\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, {\n\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\tlabel: filteredOptions[highlightedIndex],\n\t\t\t\t\t\t\tid: filteredOptions[highlightedIndex]\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else if (key === 'ArrowUp') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thighlightedIndex: Math.max(0, highlightedIndex - 1)\n\t\t\t\t\t});\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t} else if (key === 'ArrowDown') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thighlightedIndex: Math.min(\n\t\t\t\t\t\t\tsize(filteredOptions) - 1,\n\t\t\t\t\t\t\thighlightedIndex + 1\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({ properties, updateState }) => {\n\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'highlightedIndex',\n\t\t\t\tvalue: 0,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value: newValue }\n\t\t\t},\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tname === 'autocompleteOptions' ||\n\t\t\t\tname === 'autocompleteMatchAnywhere' ||\n\t\t\t\tname === 'value'\n\t\t\t) {\n\t\t\t\tconst { autocompleteOptions, autocompleteMatchAnywhere, value } =\n\t\t\t\t\tproperties;\n\t\t\t\tif (value !== properties[name]) {\n\t\t\t\t\tconst options = filterStaticOptions({\n\t\t\t\t\t\tautocompleteOptions,\n\t\t\t\t\t\tautocompleteMatchAnywhere,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t[name]: newValue\n\t\t\t\t\t});\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'options',\n\t\t\t\t\t\t\tvalue: options,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\t\teffect({ host, action, properties, dispatch }) {\n\t\t\t\tconst {\n\t\t\t\t\tsuggestions: { items: suggestedItems = [] }\n\t\t\t\t} = properties;\n\t\t\t\tconst { payload } = action;\n\t\t\t\tif (!supportsDropdown(properties) && isEmpty(suggestedItems)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, payload);\n\t\t\t\thost.focus();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect({\n\t\t\t\thost,\n\t\t\t\taction,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {\n\t\t\t\t\tsuggestions: { items: suggestedItems = [] }\n\t\t\t\t},\n\t\t\t\tstate: { value: stateValue }\n\t\t\t}) {\n\t\t\t\tconst { value, actionSource } = action.payload;\n\t\t\t\tif (suggestedItems.length > 0) {\n\t\t\t\t\tconst selectedItem = getSelectedItem(suggestedItems, stateValue);\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\thost.shadowRoot\n\t\t\t\t\t\t\t.querySelector('now-dropdown-list')\n\t\t\t\t\t\t\t?.removeAttribute('defer');\n\t\t\t\t\t} else if (actionSource === 'trigger-click') {\n\t\t\t\t\t\t//for value = false\n\t\t\t\t\t\thost.focus();\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({ isSuggestionsOpened: value, selectedItem });\n\t\t\t\t} else if (!value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toptions: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED]: {\n\t\t\teffect({ action, dispatch, updateState, properties }) {\n\t\t\t\tconst {\n\t\t\t\t\tsuggestions: { items: suggestedItems, ...meta }\n\t\t\t\t} = properties;\n\t\t\t\tif (!supportsDropdown(properties) && isEmpty(suggestedItems)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { item }\n\t\t\t\t} = action;\n\t\t\t\tconst { onValueChange, name } = properties;\n\t\t\t\tconst { label } = item;\n\t\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\t\tcallback: onValueChange,\n\t\t\t\t\tisValueChanged: true,\n\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue: label,\n\t\t\t\t\t\tdisplayValue: label,\n\t\t\t\t\t\tfromEvent: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!isEmpty(suggestedItems)) {\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'activeItemId',\n\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\t\tmetaData: {\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tfieldType: 'input-connected'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalOptions: { ...meta, parentHandling: true }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\toptions: []\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_CHANGE]: {\n\t\t\teffect({ action, properties, updateState }) {\n\t\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { fieldValue } = action.payload;\n\t\t\t\tconst filteredOptions = filterStaticOptions({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: fieldValue\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\toptions: filteredOptions\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tgetSerializedChanges,\n\tisClassicForm\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const isPasswordMasked = password => {\n\tif (!password) {\n\t\treturn false;\n\t}\n\tconst charSet = new Set(password.split(''));\n\treturn charSet.size === 1 && charSet.has('*');\n};\n\nexport default {\n\tname: 'passwordBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ properties, dispatch }) => {\n\t\t\tif (\n\t\t\t\tproperties.type === 'password2' &&\n\t\t\t\t!isClassicForm(properties.formData)\n\t\t\t) {\n\t\t\t\tconst serializedChanges = JSON.parse(getSerializedChanges(properties));\n\t\t\t\tif (\n\t\t\t\t\t!serializedChanges[properties.name] &&\n\t\t\t\t\tisPasswordMasked(properties.initialDisplayValue)\n\t\t\t\t) {\n\t\t\t\t\tdispatch('NOW_RECORD_INPUT_PASSWORD#RESET_EDITED');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { isEmpty } from 'lodash';\n\nexport default (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n","// Third Party Imports\nimport React from 'react';\nimport { flow, omit, extend, toString } from 'lodash';\nimport merge from './merge';\n\nimport { withValueChangeCallbacks } from '@devsnc/sn-controls-common';\n\nconst passthrough = s => ({ value: s });\n\n/**\n * Adds state management and the format/parse loop for inputs\n *\n * @argument Component the input component to wrap with state + formatting management\n * @argument Formatter with the shape of { parse, format }. Defaults to passthroughs\n */\nexport default (\n\tComponent,\n\t{ parse = passthrough, format = passthrough, stopBubbling = [] } = {}\n) => {\n\tconst parseAndFormat = (value, props, additionalInfo = {}) => {\n\t\tconst { value: parsedValue, error } = parse(value, props, additionalInfo);\n\t\tif (!error) {\n\t\t\tconst { value: formattedValue, error } = format(\n\t\t\t\tparsedValue,\n\t\t\t\tprops,\n\t\t\t\tadditionalInfo\n\t\t\t);\n\n\t\t\treturn { parsedValue, formattedValue, additionalInfo, error };\n\t\t}\n\n\t\treturn { parsedValue, formattedValue: value, additionalInfo, error };\n\t};\n\n\treturn withValueChangeCallbacks(\n\t\t{ initialValueProp: 'initialValue', stopBubbling },\n\t\tclass ConnectedInputState extends React.PureComponent {\n\t\t\tstatic componentName = Component.componentName;\n\t\t\t/**\n\t\t\t * constructor\n\t\t\t * @param {object} props\n\t\t\t */\n\t\t\tconstructor(props) {\n\t\t\t\tsuper(props);\n\n\t\t\t\tconst initialValue = toString(props.initialValue);\n\t\t\t\tconst initialDisplayValue = toString(props.initialDisplayValue);\n\n\t\t\t\tconst { value, error, ...additionalInfo } = format(initialValue, props);\n\n\t\t\t\tthis.state = {\n\t\t\t\t\tvalue: initialValue,\n\t\t\t\t\tdisplayValue: initialDisplayValue ? initialDisplayValue : value,\n\t\t\t\t\tadditionalInfo,\n\t\t\t\t\terror,\n\t\t\t\t\tisBlur: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcomponentWillReceiveProps(nextProps) {\n\t\t\t\t// Allow new props to update value state _only_ when the field doesn't\n\t\t\t\t// have focus\n\t\t\t\tconst nextInitialValue = toString(nextProps.initialValue);\n\n\t\t\t\tif (\n\t\t\t\t\t(this.state.isBlur && !nextProps.initialValue) ||\n\t\t\t\t\tnextInitialValue !== toString(this.props.initialValue)\n\t\t\t\t) {\n\t\t\t\t\tconst { value, error, ...additionalInfo } = format(\n\t\t\t\t\t\tnextInitialValue,\n\t\t\t\t\t\tnextProps,\n\t\t\t\t\t\tthis.state.additionalInfo\n\t\t\t\t\t);\n\n\t\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\t\tthis.state.additionalInfo,\n\t\t\t\t\t\tadditionalInfo\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tnextInitialValue !== this.state.value ||\n\t\t\t\t\t\tvalue !== this.state.displayValue ||\n\t\t\t\t\t\terror !== this.state.error ||\n\t\t\t\t\t\tmergedAdditionalInfo !== this.state.additionalInfo\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tvalue: nextInitialValue,\n\t\t\t\t\t\t\tdisplayValue: value,\n\t\t\t\t\t\t\tadditionalInfo: mergedAdditionalInfo,\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tisBlur: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonValueChange = ({ value, additionalInfo }, format = false) => {\n\t\t\t\t// todo: format flag is lame\n\t\t\t\tif (format) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tparsedValue,\n\t\t\t\t\t\tformattedValue,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t\t} = parseAndFormat(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tthis.props,\n\t\t\t\t\t\tmerge(this.state.additionalInfo, additionalInfo)\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, newAdditionalInfo),\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.props.onStagedValueChange({\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tdisplayValue: value\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdisplayValue: value,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, additionalInfo)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tonBlur = event => {\n\t\t\t\tconst {\n\t\t\t\t\tparsedValue,\n\t\t\t\t\tformattedValue,\n\t\t\t\t\terror,\n\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t} = parseAndFormat(\n\t\t\t\t\tthis.state.value,\n\t\t\t\t\tthis.props,\n\t\t\t\t\tthis.state.additionalInfo\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, newAdditionalInfo),\n\t\t\t\t\terror,\n\t\t\t\t\tisBlur: true\n\t\t\t\t});\n\n\t\t\t\t// value is updated on blur only\n\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\tevent,\n\t\t\t\t\terror,\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\tignoreCache: true\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tonChange = (event, encodedValue) => {\n\t\t\t\tconst value = encodedValue || event.target.value;\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue,\n\t\t\t\t\tdisplayValue: value\n\t\t\t\t});\n\n\t\t\t\tthis.props.onStagedValueChange({ event, value });\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * render\n\t\t\t * @return {ReactElement} markup\n\t\t\t */\n\t\t\trender() {\n\t\t\t\tconst attrs = flow(\n\t\t\t\t\tprops => omit(props, ['initialValue']),\n\t\t\t\t\tprops =>\n\t\t\t\t\t\textend(props, {\n\t\t\t\t\t\t\tonValueChange: this.onValueChange,\n\t\t\t\t\t\t\tvalue: this.state.displayValue,\n\t\t\t\t\t\t\terror: this.state.error,\n\t\t\t\t\t\t\tonChange: this.onChange,\n\t\t\t\t\t\t\tonBlur: this.onBlur,\n\t\t\t\t\t\t\tonFocus: this.onFocus,\n\t\t\t\t\t\t\t...this.state.additionalInfo\n\t\t\t\t\t\t})\n\t\t\t\t)(this.props);\n\n\t\t\t\treturn <Component {...attrs} />;\n\t\t\t}\n\t\t}\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior, { getFocusableNodes } from '@servicenow/behavior-focus';\nimport style from './input.scss';\nimport defaultConnectedInput, { ConnectedInput } from './ConnectedInput';\nimport passwordStyle from './password.scss';\nimport inputActionHandlers from './inputActionHandlers';\nimport {\n\tcreateWithStateBehavior,\n\tsetInitialStateWithValue,\n\ttrackBehavior,\n\ttransformState,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\twithState as withStateView,\n\tdynamicTranslationBehaviour,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps\n} from '@devsnc/sn-controls-common';\nimport withAutocompleteBehavior from './withAutocompleteBehavior';\nimport passwordBehavior from './passwordBehavior';\nimport {\n\tnowAssistActionsBehavior,\n\tnacmBehavior\n} from '@devsnc/sn-record-nowassist';\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from './constants';\n\nexport { ConnectedInput };\n/*\n * To support backward compatibility for previously exposed react external APIs when upgrade is in progress\n * TODO: Remove this import and respective files in N+2 release from Tokyo release\n */\nexport { withState } from './legacy-files';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tinitialValueProp: 'initialValue',\n\t\tinitialDisplayValueProp: 'initialDisplayValue',\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR,\n\t\t\tonChange: SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE\n\t\t}\n\t})\n};\n/**\n * Basic input variations (Note that in this demo each input shares the same\n`value` state):\n *\n *\n * ```jsx\n * import '@devsnc/sn-record-input-connected';\n * initialState = {\n\tvalue: 'I am value'\n};\n\n<Fragment>\n\t<sn-record-input-connected\n\t\tlabel=\"I am label\"\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t/>\n<\/Fragment>;\n * ```\n *\n *\n * @seismicElement sn-record-input-connected\n * @summary Input Cnnected Component\n *\n */\n\nexport const focusOnTrigger = host => {\n\tconst trigger = host.shadowRoot.querySelector('[slot=\"trigger\"]');\n\tif (trigger) trigger.focus = () => {};\n};\n\nexport const focusOnNativeInput = host => {\n\tconst { tabbableNodes = [] } = getFocusableNodes(host);\n\tconst nativeInputNode = tabbableNodes.filter(\n\t\tnode => node.tagName === 'INPUT' || node.tagName === 'TEXTAREA'\n\t);\n\tif (nativeInputNode.length) {\n\t\tnativeInputNode[0].focus();\n\t}\n};\n\ncreateCustomElement('sn-record-input-connected', {\n\tview: withStateView(defaultConnectedInput),\n\tstyles: `${style} ${passwordStyle}`,\n\tproperties: {\n\t\t//Change this to properties when input is migrated to seismic\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\t\t/**\n\t\t * When rendering a textarea, the number of character rows that should be\n\t\t * displayed.\n\t\t */\n\t\trows: {},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character columns that should be\n\t\t * displayed.\n\t\t */\n\t\tcols: {},\n\n\t\t/**\n\t\t * Wrap rendering a textarea, this specifies how text should be wrapped.\n\t\t */\n\t\twrap: {},\n\n\t\t/**\n\t\t * When provided, aligns the input text to the end of the input.\n\t\t */\n\t\talign: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum value that should be permitted.\n\t\t */\n\t\tmin: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the maximum value that should be permitted.\n\t\t */\n\t\tmax: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum distance between 2 valid values.\n\t\t */\n\t\tstep: {},\n\n\t\t/**\n\t\t * Maximum number of characters to allow in the input.\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * For backwards compatibility, some string fields should not enforce maxlength.\n\t\t * This is an internal property. Please do not use.\n\t\t *\n\t\t * @see https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=977420dbdbaee340f0612183ca961914\n\t\t * @private\n\t\t */\n\t\tignoreMaxlength: {},\n\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * When true combines with textbox rendering, the component will display a character\n\t\t * counter showing the amount of characters left.\n\t\t */\n\t\tshowCounter: {},\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show the resize handle.\n\t\t */\n\t\tresizable: {},\n\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * When provided, adds the sn-record-control variant to render\n\t\t */\n\t\tvariant: {},\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When provided, allows the parent component to listen in on each input change\n\t\t */\n\t\tonChange: {},\n\t\tchildren: {},\n\n\t\t/**\n\t\t * Content to use as dropdown\n\t\t */\n\t\tdropdown: {},\n\n\t\t/**\n\t\t * Content to use as the label\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The `role` of the input element\n\t\t */\n\t\trole: {},\n\n\t\t/**\n\t\t * Whether FocusWatcher should listen for outside scroll event\n\t\t */\n\t\thandleOutsideScrollFocus: {},\n\n\t\t/**\n\t\t * Handle dropdowns the old way\n\t\t */\n\t\tfallbackDropdownBehavior: {},\n\n\t\tinitialDisplayValue: {},\n\n\t\t/**\n\t\t * Initial value for the input.\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * Mentions debounce delay before searching\n\t\t */\n\t\tdebounce: {},\n\n\t\t/**\n\t\t * Callback function that is called as the user interacts with the control,\n\t\t * fired as soon as user interaction has begun. It is not guaranteed to be\n\t\t * the final or complete value from the user; use `onValueChange` for that.\n\t\t *\n\t\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t\t * This *can* be null when the value has been changed programatically.\n\t\t *\n\t\t * @param {String} name The name of the component. This will match the value\n\t\t * of the `name` component prop.\n\t\t *\n\t\t * @param {Any} value The new value.\n\t\t */\n\t\tonStagedValueChange: {\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\n\t\t/**\n\t\t * Callback function that is called as the user finishes interacting with\n\t\t * the control.\n\t\t *\n\t\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t\t * This *can* be null when the value has been changed programatically.\n\t\t *\n\t\t * @param {String} name The name of the component. This will match the value\n\t\t * of the `name` component prop.\n\t\t *\n\t\t * @param {Any} value The new value.\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * onSelect event callback\n\t\t */\n\t\tonSelect: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: {},\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: {},\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: {},\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: {},\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: {},\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: {},\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: {},\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: {},\n\n\t\t/**\n\t\t * When true, the component will automatically suggest possible values to the\n\t\t * user while they interact with the component.\n\t\t */\n\t\tautocomplete: {},\n\n\t\t/**\n\t\t * Array of possible values that can be suggested to the user. Requires `autocomplete=\"true\"`.\n\t\t */\n\t\tautocompleteOptions: {},\n\n\t\t/**\n\t\t * When true, autocomplete options that match the input in any location will\n\t\t * be suggested.  When false, the autocomplete option must start with the\n\t\t * search string to be considered a match. Requires `autocomplete=\"true\"`\n\t\t */\n\t\tautocompleteMatchAnywhere: {},\n\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t */\n\t\tautoresizeLineLimit: {},\n\n\t\t/**\n\t\t * When true, the default maximum height of 256px and autoresizeLineLimit is ignored.\n\t\t */\n\t\tdisableMaxHeight: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * When true, the default minimum height of 64px is ignored.\n\t\t */\n\t\tdisableMinHeight: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Sets the unlock/lock icon for password2 field visible\n\t\t */\n\t\tdisableUnmask: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t */\n\t\treferringTable: {},\n\n\t\t/**\n\t\t * record id of the current record where the field is located\n\t\t */\n\t\treferringRecordId: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Each mention will run a GraphQL lookup for a given query each time\n\t\t * a prefix key is typed. Typically used for looking up users when typing the `@` key.\n\t\t */\n\t\tmentions: {},\n\n\t\t/**\n\t\t * Declarative Actions Props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Determines if a mentions GraphQL is running\n\t\t */\n\t\tmentionsLoading: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Settings require to enable response_templates hotkey\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableResponseTemplates - Flag that needs to be true in order for the feature to be enabled\n\t\t *\n\t\t * `type:string` channel - To set the channel that is used by the Response Template endpoint\n\t\t *\n\t\t * `type:string` recordTable - Table to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * `type:string` recordSysId - The sys_id of the element to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * @type {{ enableResponseTemplates: boolean, channel: string, recordTable: string, recordSysId: string}}\n\t\t */\n\t\tresponseTemplates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResponseTemplates: { type: 'boolean' },\n\t\t\t\t\tchannel: { type: 'string' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\n\t\t/**\n\t\t * Determines the type of input to render, text, textarea, or journal\n\t\t */\n\n\t\ttype: {},\n\n\t\t/**\n\t\t * If set to true, this will re-evaluate certain declarative action properties.\n\t\t * Otherwise, it will use whatever declarative action props were passed in.\n\t\t * Default: true.\n\t\t */\n\t\toverrideDeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\tdispatches: {\n\t\t\t/**\n\t\t\t * Dispatched on blur.\n\t\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t\t */\n\t\t\t'NOW_RECORD_PASSWORD#VALUE_CHANGED': {}\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\n\t\t/**\n\t\t * Flag to control the autoresizing of the input region to the content inside it when well-defined mentions are passed to it via props.\n\t\t * NOTE: The autoresize behaviour is always enabled by default for other cases and cannot be controlled via this prop.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * @type {Array.<{\n\t\t *     sys_id: string,\n\t\t *     name?: string,\n\t\t *     username?: string,\n\t\t *     email?: string,\n\t\t *     avatar?: string,\n\t\t *     active?: boolean,\n\t\t *     [key: string]?: any  // Additional parameters\n\t\t * }>}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * A collection of field validation patterns used to validate specific input formats.\n\t\t * Each field contains attributes such as pattern, placeholder, guidanceText, and status to customize validation.\n\t\t *\n\t\t * Example:\n\t\t * ```json\n\t\t * [\n\t\t *   {\n\t\t *     \"pattern\": \"\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b\",\n\t\t *     \"placeholder\": null,\n\t\t *     \"guidanceText\": \"Invalid Value. Please enter correct value\",\n\t\t *     \"type\": \"suggestion\"\n\t\t *   }\n\t\t * ]\n\t\t * ```\n\t\t * Properties:\n\t\t * - `pattern` (string): The regex pattern used for validating the input.\n\t\t * - Example for SSN: `\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b`.\n\t\t * - `placeholder` (string | null): A placeholder string that provides input guidance. Defaults to `null`.\n\t\t * - `guidanceText` (string): A custom error message displayed when the validation fails.\n\t\t * - Default: `\"Invalid Value. Please enter correct value.\"`.\n\t\t * - `type` : `Guidance Text type. example (suggestion,positive,info,warning,critical)`\n\t\t *\n\t\t * Use `fieldRegex` to define and manage validation rules for fields that require structured input formats.\n\t\t *\n\t\t * @type {Array.<{pattern: string, placeholder: string, guidanceText: string, type: string}>}\n\t\t */\n\t\tfieldRegex: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpattern: { type: 'string' },\n\t\t\t\t\t\tplaceholder: { type: 'string', default: null },\n\t\t\t\t\t\tguidanceText: { type: 'string' },\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['suggestion', 'positive', 'critical', 'info', 'warning'],\n\t\t\t\t\t\t\tdefault: 'suggestion'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['pattern', 'guidanceText', 'type']\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the type of input control to render based on the expected value type.\n\t\t * This setting is applied only when `fieldRegex` mappings are present; otherwise, it defaults to `'text'` or `textarea` based on maxlength.\n\t\t *\n\t\t * @type {('email' | 'ip' | 'number' | 'text')}\n\t\t * @uib.description Defines the input field type, which can be one of the following: 'email', 'ip', 'number', or 'text'.\n\t\t */\n\t\tmobileKeypadType: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers: inputActionHandlers.actionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\tpasswordBehavior,\n\t\twithAutocompleteBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: host => {\n\t\t\t\t\tfocusOnTrigger(host);\n\t\t\t\t\tfocusOnNativeInput(host);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{ behavior: nowAssistActionsBehavior },\n\t\t{ behavior: nacmBehavior }\n\t],\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(),\n\tslots: {\n\t\t/**\n\t\t * Slot located at the end of the label.\n\t\t */\n\t\t'controls-label-end': {},\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_PASSWORD#VALUE_CHANGED': {},\n\t\t'SN_RECORD_INPUT_CONNECTED#VALUE_CHANGED': {}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && '__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect;\n\t\t\t\t\t} else if ('__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect;\n\t\t\t\t} });","export const COMPONENT_LOAD_COMPLETED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_COMPLETED';\nexport const COMPONENT_LOAD_FAILED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_FAILED';\nexport const COMPONENT_LOAD_REQUESTED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_REQUESTED';\nexport const NOW_CODE_EDITOR_CONTENT_CHANGED =\n\t'NOW_CODE_EDITOR#CONTENT_CHANGED';\nexport const NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED =\n\t'NOW_CODE_EDITOR#TEXT_EDITOR_FOCUS_CHANGED';\nexport const SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_INPUT_CONNECTED#VALUE_CHANGED';\nexport const SN_RECORD_CODE_EDITOR_FOCUS_CHANGED =\n\t'SN_RECORD_CODE_EDITOR#FOCUS_CHANGED';\nexport const CONDITION_STRING_LINT_REQUESTED =\n\t'CONDITION_STRING#LINT_REQUESTED';\nexport const CONDITION_STRING_LINT_WORKER_LINTING_COMPLETE =\n\t'CONDITION_STRING_LINT_WORKER#LINTING_COMPLETE';\nexport const CONDITION_STRING = 'condition_string';\n\nexport const JAVASCRIPT = 'javascript';\nexport const XML = 'xml';\nexport const ERROR = 'error';\nexport const WARNING = 'warning';\nexport const MAX_LENGTH_INPUT = 255;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"XMLValidator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.__esModule\n\t\t\t\t\tif (cjsModule && 'XMLValidator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"].XMLValidator;\n\t\t\t\t\t} else if ('XMLValidator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.XMLValidator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"].XMLValidator;\n\t\t\t\t} });","const workerFn = () => {\n\tlet scriptImported = false;\n\tself.onmessage = ({\n\t\tdata: {\n\t\t\tname,\n\t\t\tpayload: { id, origin, script, linterConfig }\n\t\t}\n\t}) => {\n\t\tif (name !== 'CONDITION_STRING#LINT_REQUESTED') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!scriptImported) {\n\t\t\timportScripts(\n\t\t\t\t`${origin}/uxasset/externals/@servicenow/now-code-editor/eslint_7.4.0.jsdbx?sysparm_substitute=false`\n\t\t\t);\n\t\t\tscriptImported = true;\n\t\t}\n\n\t\tconst linter = new eslint.Linter();\n\t\tself.postMessage({\n\t\t\tname: 'CONDITION_STRING_LINT_WORKER#LINTING_COMPLETE',\n\t\t\tpayload: {\n\t\t\t\tid,\n\t\t\t\tresult: linter.verify(script, linterConfig)\n\t\t\t}\n\t\t});\n\t};\n};\n\nlet instance;\nexport default () => {\n\tif (!instance) {\n\t\tinstance = new Worker(\n\t\t\twindow.URL.createObjectURL(new Blob([`(${workerFn.toString()})()`]))\n\t\t);\n\t}\n\treturn instance;\n};\n","import { XMLValidator } from 'fast-xml-parser';\nimport { t } from 'sn-translate';\nimport LintWorkerFactory from './lintWorker';\nimport {\n\tCONDITION_STRING_LINT_REQUESTED,\n\tCONDITION_STRING_LINT_WORKER_LINTING_COMPLETE,\n\tCONDITION_STRING\n} from './constants';\n\nexport function validateXML(xml) {\n\tif (!xml) return;\n\tlet errorMessage;\n\t// we can remove this with https://github.com/NaturalIntelligence/fast-xml-parser/issues/601\n\tif (xml.includes('<?xml') && !xml.startsWith('<?xml')) {\n\t\tlet x = xml.indexOf('<?xml');\n\t\txml = xml.substring(0, x);\n\t\tlet lineNumber = xml.split('\\n').length;\n\t\terrorMessage = t(\n\t\t\t'Error at line {lineNumber} XML declaration allowed only at the start of the document.',\n\t\t\t{\n\t\t\t\tlineNumber: lineNumber\n\t\t\t}\n\t\t);\n\t} else {\n\t\t// we have a similar check in UI16 https://code.devsnc.com/dev/commons/blob/master/commons-glide/src/main/java/com/glide/util/XMLUtil.java#L492\n\t\tif (xml.includes('<?xml') && xml.startsWith('<?xml')) {\n\t\t\tlet endOfPrefix = xml.indexOf('>');\n\t\t\txml =\n\t\t\t\txml.substring(0, endOfPrefix + 1) +\n\t\t\t\t'<xml>' +\n\t\t\t\txml.substring(endOfPrefix + 1) +\n\t\t\t\t'<\/xml>';\n\t\t} else xml = '<xml>' + xml + '<\/xml>';\n\t\tconst validator = XMLValidator.validate(xml);\n\t\tconst error = validator.err;\n\t\terrorMessage = error\n\t\t\t? t('Error at line ({line}) column ({col}) {msg}', {\n\t\t\t\t\tline: error.line,\n\t\t\t\t\tcol: error.col,\n\t\t\t\t\tmsg: error.msg\n\t\t\t  })\n\t\t\t: undefined;\n\t}\n\treturn errorMessage;\n}\n\nfunction removeCommentsFromClientScript(code) {\n\tconst pattern1 = /\\/\\*(.|[\\r\\n])*?\\*\\//g;\n\tcode = code.replace(pattern1, '');\n\tconst pattern2 = /\\/\\/.*/g;\n\tcode = code.replace(pattern2, '');\n\treturn code;\n}\n\n//in UI16 we are performing this validation as part of Field validation.\nexport function validateConditionString(condition) {\n\tlet code = condition;\n\tcode = removeCommentsFromClientScript(code);\n\n\t// take out the double quote strings, we do not want to check them\n\tconst doubleQuotePattern = /\"[^\"\\r\\n]*\"/g;\n\tcode = code.replace(doubleQuotePattern, '');\n\n\t// take out the single quote strings, we do not want to check them either\n\tconst singleQuotePattern = /'[^'\\r\\n]*'/g;\n\tcode = code.replace(singleQuotePattern, '');\n\n\t// take out equality tests\n\tconst equalityPattern = /(={3}|={2})/g;\n\tcode = code.replace(equalityPattern, '');\n\n\t// take out != <= >=\n\tconst otherEqualsPattern = /(!=|<=|>=)/g;\n\tcode = code.replace(otherEqualsPattern, '');\n\n\t// are there any single equal signs?\n\tif (code.indexOf('=') > -1) {\n\t\t// permit assignment if a var is declared, we'll assume you know what you're doing\n\t\tvar varPattern = /var\\s+\\S+\\s*=/;\n\t\tif (!varPattern.test(code))\n\t\t\treturn t(\n\t\t\t\t'Use two equal signs to test equality; conditions should not do assignment'\n\t\t\t);\n\t}\n\treturn;\n}\n\nexport const processLinting = (script, linterConfig) => {\n\tconst id = CONDITION_STRING;\n\tconst lintWorker = LintWorkerFactory();\n\n\tlintWorker.postMessage({\n\t\tname: CONDITION_STRING_LINT_REQUESTED,\n\t\tpayload: {\n\t\t\tscript,\n\t\t\torigin: window.location.origin,\n\t\t\tid,\n\t\t\tlinterConfig\n\t\t}\n\t});\n\n\treturn new Promise((resolve, reject) => {\n\t\tsetTimeout(() => {\n\t\t\treturn reject();\n\t\t}, 5000);\n\t\tconst onComplete = ({ data }) => {\n\t\t\tif (\n\t\t\t\tdata.name === CONDITION_STRING_LINT_WORKER_LINTING_COMPLETE &&\n\t\t\t\tdata.payload.id === id\n\t\t\t) {\n\t\t\t\tlintWorker.removeEventListener('message', onComplete);\n\t\t\t\treturn resolve(data.payload.result);\n\t\t\t}\n\t\t};\n\t\tlintWorker.addEventListener('message', onComplete);\n\t});\n};\n\nexport async function validateScript(script, linterConfig) {\n\tlet errorMessage;\n\tconst data = (await processLinting(script, linterConfig))[0];\n\tconst { line, message, column, severity } = data;\n\tif (severity === 2)\n\t\terrorMessage = t(\n\t\t\t`Javascript ${message} at line ${line} and column ${column}`\n\t\t);\n\treturn errorMessage;\n}\n","import { actionTypes } from '@servicenow/ui-core';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport { isFunction } from 'lodash';\nimport {\n\tCOMPONENT_LOAD_COMPLETED,\n\tCOMPONENT_LOAD_FAILED,\n\tCOMPONENT_LOAD_REQUESTED,\n\tJAVASCRIPT,\n\tERROR,\n\tNOW_CODE_EDITOR_CONTENT_CHANGED,\n\tNOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED,\n\tXML,\n\tSN_RECORD_CODE_EDITOR_FOCUS_CHANGED,\n\tSN_RECORD_INPUT_CONNECTED_VALUE_CHANGED\n} from './constants';\nimport { validateXML, validateConditionString, validateScript } from './utils';\n\nconst LINE_HEIGHT = 18;\nconst TOOLBAR_HEIGHT = 48;\nconst LINES_CONTENT_MARGIN_TOP = 4;\nconst TOOLBAR_BORDER = 1;\nconst EDITOR_MIN_HEIGHT = 150;\n\nconst updateErrorAndValue = (value, errorMessage, updateState, dispatch) => {\n\tupdateState([\n\t\t{\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t},\n\t\t{\n\t\t\toperation: 'assign',\n\t\t\tpath: 'value',\n\t\t\tvalue,\n\t\t\tshouldRender: false\n\t\t}\n\t]);\n\tdispatch(SN_RECORD_CODE_EDITOR_FOCUS_CHANGED);\n};\n\nconst focusChangedHandler = ({\n\tdispatch,\n\tproperties: { onValueChange, name },\n\tstate: { value, error }\n}) => {\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\t...(error && {\n\t\t\t\t[ERROR]: {\n\t\t\t\t\tmessage: error,\n\t\t\t\t\ttype: ERROR\n\t\t\t\t}\n\t\t\t})\n\t\t});\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'code-editor' }\n\t});\n\n\tdispatch('NOW_RECORD_CODE_EDITOR#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue\n\t});\n};\n\nconst componentConnectedHandler = ({ updateState, properties: { value } }) => {\n\tupdateState({\n\t\toperation: 'assign',\n\t\tpath: 'value',\n\t\tvalue,\n\t\tshouldRender: false\n\t});\n};\n\nconst editorContentChangedHandler = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { errors, text: value }\n\t},\n\tproperties: { editorLanguage }\n}) => {\n\tif (editorLanguage === JAVASCRIPT) {\n\t\tconst errorMessage = errors\n\t\t\t?.filter(e => e.severity === ERROR)\n\t\t\t?.reduce((m, e) => `${m}${e.message}\\n`, '');\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tupdateState({\n\t\toperation: 'assign',\n\t\tpath: 'value',\n\t\tvalue,\n\t\tshouldRender: false\n\t});\n};\n\nconst inputFocusChangedHandler = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { value }\n\t},\n\tproperties: { isConditionString, linterConfig, editorLanguage },\n\tdispatch\n}) => {\n\tif (isConditionString) {\n\t\tif(value === '') {\n\t\t\tupdateErrorAndValue(value, undefined, updateState, dispatch);\n\t\t\treturn;\n\t\t}\n\t\tconst errorMessage = validateConditionString(value);\n\t\tif (errorMessage)\n\t\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t\telse\n\t\t\tvalidateScript(value, linterConfig).then(errorMessage => {\n\t\t\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t\t\t});\n\t} else if (editorLanguage === XML) {\n\t\tconst errorMessage = validateXML(value);\n\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t}\n};\n\nconst editorFocusChangedHandler = ({\n\taction: {\n\t\tpayload: { hasFocus }\n\t},\n\tproperties: { readonly, editorLanguage },\n\tstate: { value },\n\tdispatch,\n\tupdateState\n}) => {\n\tif (hasFocus || readonly) return;\n\tif (editorLanguage === XML) {\n\t\tconst errorMessage = validateXML(value);\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\tdispatch(SN_RECORD_CODE_EDITOR_FOCUS_CHANGED);\n};\n\nexport default {\n\t[actionTypes.COMPONENT_CONNECTED]: componentConnectedHandler,\n\t[actionTypes.COMPONENT_RENDERED]: {\n\t\teffect({ dispatch }) {\n\t\t\tdispatch(COMPONENT_LOAD_REQUESTED, { tagName: 'now-code-editor' });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({\n\t\t\tstate: {\n\t\t\t\tproperties: { value, autoresizeLineLimit },\n\t\t\t\teditorHeight\n\t\t\t},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst lineCount = value.split('\\n').length;\n\t\t\teditorHeight =\n\t\t\t\tMath.min(lineCount, autoresizeLineLimit) * LINE_HEIGHT +\n\t\t\t\tTOOLBAR_HEIGHT +\n\t\t\t\tLINES_CONTENT_MARGIN_TOP +\n\t\t\t\tTOOLBAR_BORDER;\n\t\t\tif (editorHeight > EDITOR_MIN_HEIGHT) updateState({ editorHeight });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\tsuccessActionType: COMPONENT_LOAD_COMPLETED,\n\t\terrorActionType: COMPONENT_LOAD_FAILED\n\t}),\n\t[COMPONENT_LOAD_COMPLETED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_FAILED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_CODE_EDITOR_CONTENT_CHANGED]: {\n\t\teffect: editorContentChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED]: {\n\t\teffect: editorFocusChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED]: {\n\t\teffect: inputFocusChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CODE_EDITOR_FOCUS_CHANGED]: {\n\t\teffect: focusChangedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { messagesSchema } from '@servicenow/now-input';\nimport '@servicenow/now-loader';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@devsnc/sn-record-input-connected';\nimport actionHandlers from './actionHandlers';\nimport style from './code-editor.scss';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport { MAX_LENGTH_INPUT, XML } from './constants';\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorLanguage,\n\t\t\tvalue: content,\n\t\t\treferringRecordId,\n\t\t\treferringTable,\n\t\t\treadonly,\n\t\t\tname,\n\t\t\tautoresizeLineLimit,\n\t\t\tmaxlength,\n\t\t\tisXMLView,\n\t\t\tisClientScript,\n\t\t\trecordScope,\n\t\t\tautocompleteSuggestions,\n\t\t\tisConditionString,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tcomponentLoaded,\n\t\teditorHeight,\n\t\terror\n\t} = state;\n\n\tconst isLargeField =\n\t\t!isConditionString && Number.parseInt(maxlength) > MAX_LENGTH_INPUT;\n\tconst showTextEditor =\n\t\t(editorLanguage === XML && !(isLargeField && isXMLView)) ||\n\t\tisConditionString;\n\n\tconst { ...propertiesWithoutOnValueChange } = state.properties;\n\n\treturn !showTextEditor ? (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tclassName={error && 'has-error'}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{!componentLoaded ? (\n\t\t\t\t<now-loader />\n\t\t\t) : (\n\t\t\t\t<now-code-editor\n\t\t\t\t\tlanguage={editorLanguage}\n\t\t\t\t\tcontent={content}\n\t\t\t\t\tscriptField={name}\n\t\t\t\t\tsysId={referringRecordId}\n\t\t\t\t\trecordType={referringTable}\n\t\t\t\t\treadOnly={readonly}\n\t\t\t\t\tscrollBeyondLastLine={false}\n\t\t\t\t\theight={`${editorHeight}px`}\n\t\t\t\t\tautoresizeLineLimit={autoresizeLineLimit}\n\t\t\t\t\tisClientScript={isClientScript}\n\t\t\t\t\tscope={recordScope}\n\t\t\t\t\tautocompleteSuggestions={autocompleteSuggestions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/sn-record-control-wrapper>\n\t) : (\n\t\t<sn-record-input-connected\n\t\t\t{...propertiesWithoutOnValueChange}\n\t\t\tinitialValue={content}\n\t\t\ttype={isLargeField ? 'textarea' : 'text'}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t/>\n\t);\n};\n\n/**\n *\n *  Code Editor Wrapper Component around now-code-editor\n *```jsx\n *\t<sn-record-code-editor\n *\t\teditorLanguage=\"json\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-code-editor\n * @summary *  Code Editor Component.\n * */\n\ncreateCustomElement('sn-record-code-editor', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: style,\n\tinitialState: {\n\t\tvalue: '',\n\t\terror: '',\n\t\tcomponentLoaded: false,\n\t\teditorHeight: 150\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treversed: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { type: ['string', 'boolean'] } },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Render the language specific editor.\n\t\t * @type {string}\n\t\t */\n\t\teditorLanguage: {\n\t\t\tdefault: 'javascript',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['javascript', 'xml', 'json', 'html', 'css']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Referring Record ID for the editor.\n\t\t * @type {string}\n\t\t */\n\t\treferringRecordId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Referring table for the editor.\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Specifies number of lines the script editor will auto resize its height. Auto Resizing will be disabled if this property has non positive integer value.\n\t\t * @type {string}\n\t\t */\n\t\tautoresizeLineLimit: {\n\t\t\tdefault: null,\n\t\t\tschema: { type: 'number' }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * When rendering the editor of type XML (editorLanguage is XML), isXMLView should be true\n\t\t * to render it as a code-editor. In case of false it behaves as a input component.\n\t\t */\n\t\tisXMLView: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field. Maxlength should be >255\n\t\t * to render the component as an editor in case of XML editor.In case of language xml,if maxlength is >255,it renders as code-editor otherwise as a input-component.\n\t\t *  Note: It doesnt adhere to maxlength in case it is loaded as code-editor\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * Whether its a Client Script or Server Script\n\t\t * @type {boolean}\n\t\t */\n\t\tisClientScript: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * Scope of the record page\n\t\t * @type {string}\n\t\t */\n\t\trecordScope: {\n\t\t\tdefault: 'global',\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Ignored when language property is not javascript. When diasbled is true autocomplete feature is disabled.\n\t\t * Append variant will add the custom suggestions to default suggestions, where as replace would override the default intelisense.\n\t\t * suggestions is an array of custom intellisense strings of TypeScript type definition files (.d.ts)\n\t\t */\n\t\tautocompleteSuggestions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisabled: {\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tschema: { type: 'boolean', enum: ['vertical', 'horizontal'] }\n\t\t\t\t\t},\n\t\t\t\t\tvariant: {\n\t\t\t\t\t\tdefault: 'append',\n\t\t\t\t\t\tschema: { type: 'string', enum: ['append', 'replace'] }\n\t\t\t\t\t},\n\t\t\t\t\tsuggestions: { default: [], schema: { type: 'array' } }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: { disabled: false, variant: 'append', suggestions: [] }\n\t\t},\n\t\t/**\n\t\t * To render a condition string field type. Works only is language is Javascript\n\t\t * Perform validations associated with condtion string field type\n\t\t */\n\t\tisConditionString: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * this property works only if isConditionString is true.\n\t\t * We can pass either eslint config value from the sys_prop 'glide.ui.syntax_editor.linter.eslint_config' or custom config\n\t\t */\n\t\tlinterConfig: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {}\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when now-code-editor value changes\n\t\t * @type {{ name: string, value: string }}\n\t\t */\n\t\t'NOW_RECORD_CODE_EDITOR#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default view;\n","import CodeEditor from './sn-record-code-editor';\n\nexport default CodeEditor;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const findChildPath = (items, path, index = 0) => {\n\tconst itemIndex = items.findIndex(i => i.id === path[index]);\n\tif (itemIndex === -1) return;\n\n\tif (index === path.length - 1) {\n\t\treturn `[${itemIndex}]`;\n\t}\n\tconst childrenIndexPath = findChildPath(\n\t\titems[itemIndex].children,\n\t\tpath,\n\t\tindex + 1\n\t);\n\tif (childrenIndexPath) {\n\t\treturn `[${itemIndex}].children${childrenIndexPath}`;\n\t}\n};\n\nexport function parseGeneralTree(xml) {\n\tvar nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar items = rxml.getElementsByTagName('item');\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\t\tconst node = {\n\t\t\tid: item.getAttribute('name'),\n\t\t\tlabel: item.getAttribute('label') || item.getAttribute('display_value'),\n\t\t\tclass: item.getAttribute('sys_class_name'),\n\t\t\tchildren: [],\n\t\t\tchildrenAvailable: item.getAttribute('children')\n\t\t\t\t? item.getAttribute('children') === 'false'\n\t\t\t\t\t? 0\n\t\t\t\t\t: 1\n\t\t\t\t: 1\n\t\t};\n\t\tnodes.push(node);\n\t}\n\treturn nodes;\n}\n\nexport function parseGroupTree(xml) {\n\tvar nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar items = rxml.getElementsByTagName('item');\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\t\tconst node = {\n\t\t\tid: item.getAttribute('name'),\n\t\t\tlabel: item.getAttribute('label'),\n\t\t\tclass: item.getAttribute('sys_class_name'),\n\t\t\tchildren: [],\n\t\t\tchildrenAvailable: Number(\n\t\t\t\titem.getAttribute('sys_class_name') === 'sys_user_group'\n\t\t\t)\n\t\t};\n\t\tnodes.push(node);\n\t}\n\treturn nodes;\n}\n\nconst generateAction = decorations => {\n\tif (decorations.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst tooltipMap = {\n\t\tincident: { labelPlural: t('Incidents'), label: t('Incident') },\n\t\tproblem: { labelPlural: t('Problems'), label: t('Problem') },\n\t\tchange_request: { labelPlural: t('Changes'), label: t('Change') },\n\t\toutages_past: {\n\t\t\tlabelPlural: t('recently closed outages'),\n\t\t\tlabel: t('recently closed outage')\n\t\t},\n\t\toutages_current: {\n\t\t\tlabelPlural: t('current opened outages'),\n\t\t\tlabel: t('current opened outage')\n\t\t},\n\t\toutages_planned: {\n\t\t\tlabelPlural: t('planned outages'),\n\t\t\tlabel: t('planned outage')\n\t\t},\n\t\tchanges_past: {\n\t\t\tlabelPlural: t('recently closed changes'),\n\t\t\tlabel: t('recently closed change')\n\t\t},\n\t\tchanges_current: {\n\t\t\tlabelPlural: t('current opened changes'),\n\t\t\tlabel: t('current opened change')\n\t\t},\n\t\tchanges_planned: {\n\t\t\tlabelPlural: t('planned changes'),\n\t\t\tlabel: t('planned change')\n\t\t}\n\t};\n\tconst tooltip = decorations.map(item => {\n\t\tlet value = item.value;\n\t\treturn value > 1\n\t\t\t? t('There are {0} {1}', value, tooltipMap[item.name]['labelPlural'])\n\t\t\t: t('There is {0} {1}', value, tooltipMap[item.name]['label']);\n\t});\n\treturn [{ icon: 'info-circle-outline', label: JSON.stringify(tooltip) }];\n};\n\nexport const parseCITree = (xml, path = [], root) => {\n\tlet nodes = [[], []];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar relTypes = rxml.getElementsByTagName('cmdb_rel_type');\n\tfor (let relTypeIndex = 0; relTypeIndex < relTypes.length; relTypeIndex++) {\n\t\tlet relType = relTypes[relTypeIndex];\n\t\tvar temp = relType.getAttribute('type');\n\t\tlet ciTypes = relType.getElementsByTagName('ci_type');\n\n\t\tif (temp !== 'child' && temp !== 'parent') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet nodeType = temp === 'child' ? nodes[0] : nodes[1];\n\t\tfor (let ciTypeIndex = 0; ciTypeIndex < ciTypes.length; ciTypeIndex++) {\n\t\t\tlet ciType = ciTypes[ciTypeIndex];\n\t\t\tlet items = ciType.getElementsByTagName('cmdb_ci');\n\t\t\tfor (let ciIndex = 0; ciIndex < items.length; ciIndex++) {\n\t\t\t\tlet item = items[ciIndex];\n\t\t\t\tif (item.getAttribute('nested_level') !== '0') continue;\n\n\t\t\t\tlet childrenAvailable = item.getAttribute('children') === '0' ? 0 : 1;\n\t\t\t\tlet sysID = item.getAttribute('sys_id');\n\t\t\t\tif (sysID === root || (path && path.indexOf(sysID) > -1)) {\n\t\t\t\t\tchildrenAvailable = 0;\n\t\t\t\t}\n\n\t\t\t\tconst node = {\n\t\t\t\t\tid: sysID,\n\t\t\t\t\tlabel: item.getAttribute('display_value'),\n\t\t\t\t\tclass: ciType.getAttribute('name'),\n\t\t\t\t\tchildrenAvailable,\n\t\t\t\t\tactions: generateAction(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ name: 'incident', value: item.getAttribute('incident') },\n\t\t\t\t\t\t\t{ name: 'problem', value: item.getAttribute('problem') },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'change_request',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('change_request')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_past',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_past')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_current',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_current')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_planned',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_planned')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_past',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_past')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_current',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_current')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_planned',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_planned')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t].filter(item => item.value > 0)\n\t\t\t\t\t),\n\t\t\t\t\trelType: temp\n\t\t\t\t};\n\t\t\t\tnodeType.push(node);\n\t\t\t}\n\t\t}\n\t}\n\treturn nodes;\n};\n\nexport const closePopover = event => {\n\tconst target = event.target;\n\tconst targetFor = target ? target.getAttribute('target-for') : null;\n\tif (!(target && targetFor && targetFor.indexOf('tree-picker-popover') > -1)) {\n\t\tif (\n\t\t\tevent.path.filter(\n\t\t\t\tobj =>\n\t\t\t\t\tobj.nodeName === 'NOW-ICON' || obj.nodeName === 'NOW-CONTENT-TREE'\n\t\t\t).length !== 2\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import { t } from 'sn-translate';\n\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_SELECTED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#SELECTED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_ACTION_CLICKED =\n\t'NOW_CONTENT_TREE#ACTION_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const PRIVATE_LOADING_REQUESTED = 'PRIVATE#LOADING_REQUESTED';\nexport const SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER =\n\t'SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER';\nexport const TABLE_CI = 'cmdb_ci';\nexport const TABLE_GROUP = \"sys_user_group\";\nexport const SELECT_SINGLE = 'single';\nexport const SELECT_MULTI = 'multi';\n","import { isEqual, isFunction } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tparseGeneralTree,\n\tparseGroupTree,\n\tparseCITree,\n\tfindChildPath\n} from './utils';\nimport {\n\tFETCH_XML,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tSN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_SELECTED_ITEMS_SET,\n\tNOW_CONTENT_TREE_ACTION_CLICKED,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tPRIVATE_LOADING_REQUESTED,\n\tTABLE_CI,\n\tTABLE_GROUP,\n\tSELECT_SINGLE,\n\tSELECT_MULTI,\n\tSN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst FETCH_CONTENT_TREE_API = '/xmlhttp.do';\nconst FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item'\n];\n\nlet dispatchItemClickedWithPayload;\n\nconst dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: {\n\t\t\ttreePickerConfig,\n\t\t\ttableName,\n\t\t\tfieldName,\n\t\t\tdependentField,\n\t\t\tdependentValue,\n\t\t\treferenceTable,\n\t\t\tdomainId,\n\t\t\tquery\n\t\t}\n\t} = state;\n\tlet params = {\n\t\tsysparm_processor: treePickerConfig.processor,\n\t\tmethod: 'getTreeNodes',\n\t\tsysparm_reference: `${tableName}.${fieldName}`,\n\t\tsysparm_dependent_value: dependentValue,\n\t\tsysparm_domain: domainId || undefined,\n\t\tsysparm_query: query || undefined\n\t};\n\tlet nameSuffix = 'parent';\n\tlet type = 'child';\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tif (item.relType === 'parent') {\n\t\t\tnameSuffix = 'child';\n\t\t\ttype = 'parent';\n\t\t}\n\n\t\treferenceTable = item.class;\n\t\tdependentValue = item.id;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tparams = {\n\t\t...params,\n\t\tsysparm_name: `${referenceTable}.${nameSuffix}`,\n\t\tsysparm_type: type,\n\t\tsysparm_chars: dependentValue || '',\n\t};\n\n\t//This condition is added to have parity with UI16\n\tif (referenceTable === TABLE_GROUP) {\n\t\tparams.sysparm_target = `${referenceTable}.undefined`\n\t} else {\n\t\tif (dependentField) {\n\t\t\tparams.sysparm_target = `${referenceTable}.${dependentField}`;\n\t\t}\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst contentTreeGenerateEffect = ({\n\tstate: {\n\t\tproperties: {\n\t\t\tselect,\n\t\t\ttreePickerConfig: { targetPath = '' }\n\t\t}\n\t},\n\tstate,\n\tdispatch,\n\tupdateState\n}) => {\n\tlet value = [[]];\n\tif (targetPath) {\n\t\tvalue = targetPath.split(';').reduce((target, source) => {\n\t\t\ttarget.push(source.split(','));\n\t\t\treturn target;\n\t\t}, []);\n\t}\n\tif (select !== SELECT_SINGLE) {\n\t\tupdateState({\n\t\t\tpath: 'selectedItem',\n\t\t\tvalue,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n\tupdateState({\n\t\tpath: 'targetPath',\n\t\tvalue: value[0],\n\t\toperation: 'set'\n\t});\n\tdispatchFetchXML(state, dispatch);\n};\n\nconst updateSelectedItemAfterExpanding = (\n\ttree,\n\tparentId,\n\tstate,\n\tupdateState\n) => {\n\tconst {\n\t\texpandedItem,\n\t\tproperties: {\n\t\t\ttreePickerConfig: { targetPath: path }\n\t\t}\n\t} = state;\n\tif (!path) {\n\t\treturn;\n\t}\n\tconst nodes = tree.filter(n => path.indexOf(n.id) !== -1);\n\tconst parentItemPath = expandedItem.find(\n\t\titem => item[item.length - 1] === parentId\n\t);\n\tif (nodes.length > 0 && parentItemPath) {\n\t\tconst currentItemExpanded = [...parentItemPath];\n\t\tconst selectedItemsArray = nodes.reduce((target, node) => {\n\t\t\ttarget.push([...currentItemExpanded, node.id]);\n\t\t\treturn target;\n\t\t}, []);\n\t\tupdateState({\n\t\t\tpath: 'selectedItem',\n\t\t\tvalue: selectedItemsArray,\n\t\t\toperation: 'concat'\n\t\t});\n\t}\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\ttargetPath,\n\t\texpandedItem = [],\n\t\tselectedItem = [],\n\t\tproperties: { referenceTable, dependentValue, select }\n\t} = state;\n\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\tconst isCiTree = referenceTable === TABLE_CI;\n\tconst isGroupTree = referenceTable === TABLE_GROUP;\n\n\tlet treeJson;\n\tif (isGroupTree) {\n\t\ttreeJson = parseGroupTree(action.payload);\n\t} else if (isCiTree) {\n\t\ttreeJson = parseCITree(action.payload, itemPath, dependentValue);\n\t} else {\n\t\ttreeJson = parseGeneralTree(action.payload);\n\t}\n\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tif (isCiTree) {\n\t\t\ttreeIndex = expandItem.relType === 'child' ? '0' : '1';\n\t\t\ttreeJson = treeJson[treeIndex];\n\t\t\tupdateSelectedItemAfterExpanding(\n\t\t\t\ttreeJson,\n\t\t\t\texpandItem.id,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t);\n\t\t}\n\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = isCiTree ? `treeItems` : `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t}\n\n\tlet toBeExpandedItem = -1;\n\tif (!isCiTree && select === SELECT_SINGLE) {\n\t\ttoBeExpandedItem = treeJson.findIndex(item => item.id === targetPath[0]);\n\n\t\tupdateState({\n\t\t\tpath: 'targetPath',\n\t\t\tvalue: '',\n\t\t\toperation: 'splice',\n\t\t\tstart: 0,\n\t\t\tdeleteCount: 1\n\t\t});\n\t}\n\tif (toBeExpandedItem != -1) {\n\t\tconst selectedItemPath = Array.isArray(selectedItem[0])\n\t\t\t? selectedItem[0]\n\t\t\t: selectedItem;\n\t\tdispatch(PRIVATE_LOADING_REQUESTED, {\n\t\t\titem: treeJson[toBeExpandedItem],\n\t\t\tpath: [...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t});\n\t\tif (targetPath.length > 1) {\n\t\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\t\tvalue: [\n\t\t\t\t\t...expandedItem,\n\t\t\t\t\ttreeJson[toBeExpandedItem].id,\n\t\t\t\t\t[...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { referenceTable, select }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\tif (referenceTable === TABLE_CI) {\n\t\ttreeIndex = item.relType === 'child' ? '0' : '1';\n\t}\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst dispatchItemClicked = payload => (selectedItem, state, dispatch) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tif (select === SELECT_MULTI) {\n\t\tpayload.isSelected = false;\n\t\tfor (let i = 0; i < selectedItem.length; i++) {\n\t\t\tif (payload.value === selectedItem[i][selectedItem[i].length - 1]) {\n\t\t\t\tpayload.isSelected = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatch(SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED, payload);\n};\n\nconst nowContentTreeClickedHandler = ({ action, state }) => {\n\tconst { item } = action.payload;\n\tconst {\n\t\tproperties: { referenceTable, referenceKey }\n\t} = state;\n\tlet payload;\n\tif (referenceTable === item.class || referenceTable === TABLE_CI) {\n\t\tpayload = {\n\t\t\tvalue: referenceKey ? item[referenceKey] : item.id,\n\t\t\tdisplayValue: item.label\n\t\t};\n\t} else {\n\t\tpayload = {\n\t\t\tvalue: referenceKey ? state.parentItem[referenceKey] : state.parentItem.id,\n\t\t\tdisplayValue: state.parentItem.label\n\t\t};\n\t}\n\tdispatchItemClickedWithPayload = dispatchItemClicked(payload);\n};\n\nconst nowContentTreeSelectedItemSetHandler = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { value } = action.payload;\n\tupdateState({\n\t\tselectedItem: value\n\t});\n\tif (isFunction(dispatchItemClickedWithPayload)) {\n\t\tdispatchItemClickedWithPayload(value, state, dispatch);\n\t}\n\tdispatchItemClickedWithPayload = undefined;\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: contentTreeGenerateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: nowContentTreeClickedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_SELECTED_ITEMS_SET]: {\n\t\teffect: nowContentTreeSelectedItemSetHandler,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ACTION_CLICKED]: {\n\t\teffect: ({ action, state, updateState }) => {\n\t\t\tif (\n\t\t\t\tstate.popoverOpen &&\n\t\t\t\tstate.popoverTarget !== action.payload.actionTarget\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverTarget: action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: !state.popoverOpen,\n\t\t\t\t\tpopoverTarget: state.popoverOpen ? null : action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER]: {\n\t\teffect: ({ state, updateState }) => {\n\t\t\tif (state.popoverOpen) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\tpopoverTarget: null,\n\t\t\t\t\tpopoverContent: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-content-tree';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-heading';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport { closePopover } from './utils';\nimport { TABLE_CI } from './constants';\nimport style from './content-tree-connected.scss';\nimport popoverStyle from './content-tree-popover.scss';\n\ncreateCustomElement('sn-record-content-tree-popover', {\n\tview: ({ properties: { content } }) => {\n\t\treturn (\n\t\t\t<div className=\"contenet-tree-popover\">\n\t\t\t\t<ul>\n\t\t\t\t\t{content.map(info => {\n\t\t\t\t\t\treturn <li>&bull; {info}<\/li>;\n\t\t\t\t\t})}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t);\n\t},\n\tstyles: popoverStyle,\n\tproperties: {\n\t\tcontent: { schema: { type: 'array' } }\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (closePopover(event)) {\n\t\t\t\t\tdispatch('SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER');\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t]\n});\n\nexport const view = state => {\n\tconst {\n\t\tproperties: { referenceTable, select },\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\tpopoverOpen = false,\n\t\tpopoverTarget = null,\n\t\tpopoverContent\n\t} = state;\n\n\tconst contentTreeGeneral = (\n\t\t<div className=\"content-tree-container\">\n\t\t\t<now-content-tree\n\t\t\t\tselect={select}\n\t\t\t\titems={treeItems[0]}\n\t\t\t\tselected-items={selectedItem}\n\t\t\t\texpanded-items={expandedItem}\n\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t/>\n\t\t<\/div>\n\t);\n\n\tconst contentTreeCi = (\n\t\t<div className=\"ci-content-tree-container\">\n\t\t\t<now-popover\n\t\t\t\tinteraction-type=\"none\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={popoverOpen}\n\t\t\t\thook-update={({ elm }) => (elm.positionTarget = popoverTarget)}\n\t\t\t>\n\t\t\t\t{popoverOpen ? (\n\t\t\t\t\t<sn-record-content-tree-popover\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tcontent={popoverContent}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/now-popover>\n\t\t\t<div className=\"tree-downstream\">\n\t\t\t\t<now-heading\n\t\t\t\t\tlabel={t('Downstream relationships')}\n\t\t\t\t\tvariant=\"title-tertiary\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"tree-container\">\n\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"tree-upstream\">\n\t\t\t\t<now-heading\n\t\t\t\t\tlabel={t('Upstream relationships')}\n\t\t\t\t\tvariant=\"title-tertiary\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"tree-container\">\n\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\titems={treeItems[1]}\n\t\t\t\t\t\tloading-items={loadingItems[1]}\n\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{loading ? (\n\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t) : referenceTable === TABLE_CI ? (\n\t\t\t\tcontentTreeCi\n\t\t\t) : (\n\t\t\t\tcontentTreeGeneral\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n *\n * Simple content tree component.\n * The value of the component will be a expandable and selectable tree structure.\n *\n * This component is meant to be consumed by forms and simply leverages the `now-content-tree` component.\n * This is wrapper componet around `now-content-tree`.\n * https://developer.servicenow.com/dev.do#!/reference/now-experience/rome/now-components/now-content-tree/overview\n * \n * ```jsx\n *<sn-record-content-tree-connected\n\ttableName\n\tfieldName\n\treferenceTable\n\tdependentField\n\tdependentValue\n\ttreePickerConfig\n\tdomainId\n\tquery\n/>\n * ```\n *\n * @seismicElement sn-record-content-tree-connected\n * @summary Simple content tree component. The value of the component will be a expandable and selectable tree structure.\n */\n\ncreateCustomElement('sn-record-content-tree-connected', {\n\tview,\n\tactionHandlers,\n\tstyles: style,\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []]\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Specifies processor and other properties to be used for http request.\n\t\t * @type {object}\n\t\t */\n\t\ttreePickerConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Name of table where content tree is used.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Field which is rendered as content tree.\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Dependent field for the fieldName: Value of fieldName depends on dependentField.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * SysId of the record.\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Reference table for fieldName.\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Key to use for the underlying value instead of sys_id\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Used in domain separation.\n\t\t * @type {string}\n\t\t */\n\t\tdomainId: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Query containting value for all parameter.\n\t\t * @type {string}\n\t\t */\n\t\tquery: { schema: { type: 'string' } },\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when item is clicked on content tree.\n\t\t * @type {{ value: string, displayValue: string}}\n\t\t */\n\t\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED': {}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].pick;\n\t\t\t\t} });","export const formatQuery = query =>\n\tquery.replace(/([ ]+)|(\\n+)/gm, function (match, g1, g2) {\n\t\tif (g1) return ' ';\n\t\telse return '';\n\t});\n","import { pick } from '@servicenow/ui-internal';\nimport { FIELD_TYPE as FieldType } from '@devsnc/sn-controls-common';\nimport { formatQuery } from './utils';\nconst makeQuery = name => {\n\tconst query = `\nquery ${name}($table: String!, $field: String!, $sys_id: String, $encodedRecord: String, $serializedChanges: String, $chars: String!, $ignoreRefQual: Glide_Boolean, $paginationLimit: Int, $paginationOffset: Int, $sortBy: String, $referenceKey: String, $overrideReferenceTable: String, $query: String, $orderByDisplayColumn: Glide_Boolean) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      encodedRecord: $encodedRecord,\n      serializedChanges: $serializedChanges,\n      pagination: {limit: $paginationLimit, offset: $paginationOffset},\n      ignoreTotalCount: true,\n      sysId: $sys_id, chars: $chars,\n      sysparm_ignore_ref_qual: $ignoreRefQual,\n      sortBy: $sortBy,\n      sysparm_ref_override: $overrideReferenceTable,\n      query: $query,\n      orderByDisplayColumn: $orderByDisplayColumn,\n      referenceKey: $referenceKey ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\tconst operationName = name;\n\treturn { query: formatQuery(query), operationName };\n};\n\nconst referenceConnectedVariables = {\n\ttable: '',\n\tfield: '',\n\tsys_id: '',\n\tencodedRecord: '',\n\tserializedChanges: '{}',\n\tchars: '',\n\tignoreRefQual: false,\n\tpaginationLimit: 25,\n\tsortBy: 'name',\n\treferenceKey: null,\n\torderByDisplayColumn: true\n};\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'encodedRecord',\n\t'serializedChanges',\n\t'chars',\n\t'ignoreRefQual',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'sortBy',\n\t'referenceKey',\n\t'overrideReferenceTable',\n\t'query',\n\t'orderByDisplayColumn'\n];\nexport const getResponseReference = obj => {\n\tconst {\n\t\treferenceDataRetriever: { referenceDataList }\n\t} = obj;\n\tconst response = referenceDataList.map(item => {\n\t\tconst { referenceData, sysId } = item;\n\t\treturn {\n\t\t\tdisplayValue: referenceData[0].value,\n\t\t\tvalue: sysId\n\t\t};\n\t});\n\treturn response;\n};\nconst makeParams = (type, payload) => {\n\tif (type === FieldType.REFERENCE || type === FieldType.GLIDE_LIST) {\n\t\tconst params = makeQuery('snRecordReferenceConnected');\n\t\treturn {\n\t\t\t...params,\n\t\t\tvariables: pick(payload, variableList)\n\t\t};\n\t}\n\treturn {\n\t\t...makeQuery('nowRecordListConnectedReference'),\n\t\tvariables: referenceConnectedVariables\n\t};\n};\nexport const getReferenceConnectedQuery = type => payload =>\n\tmakeParams(type, payload);\n","import { pick } from '@servicenow/ui-internal';\nimport { FIELD_TYPE as FieldType } from '@devsnc/sn-controls-common';\nimport { formatQuery } from './utils';\nconst makeQuery = name => {\n\tlet query = `\nquery ${name}($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  GlideLayout_Query {\n    choiceDataRetriever(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n      choice {\n        value\n        label\n      }\n    }\n  }\n}\n`;\n\tconst operationName = name;\n\treturn { query: formatQuery(query), operationName };\n};\n\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'serialized_changes',\n\t'encoded_record'\n];\nexport const getResponseChoice = response =>\n\tresponse.choiceDataRetriever.choice.map(item => ({\n\t\tvalue: item.value,\n\t\tdisplayValue: item.label\n\t}));\nconst makeParams = (type, payload) => {\n\tconst operationName = 'snRecordChoiceConnected';\n\tif (type === FieldType.CHOICE) {\n\t\tconst params = makeQuery(operationName);\n\t\treturn {\n\t\t\t...params,\n\t\t\tvariables: pick(payload, variableList)\n\t\t};\n\t}\n\treturn {\n\t\t...makeQuery('nowRecordListConnectedReference'),\n\t\tvariables: pick(payload, variableList)\n\t};\n};\n\nexport const getChoiceConnectedQuery = type => payload =>\n\tmakeParams(type, payload);\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport '@servicenow/now-dropdown';\n\nexport const actionHandlers = {\n\t'NOW_DROPDOWN#SELECTED_ITEMS_SET': {\n\t\teffect: ({\n\t\t\tstate: {\n\t\t\t\tproperties: { onChange }\n\t\t\t},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tvalue: [selectedItem]\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\tonChange({\n\t\t\t\tvalue: selectedItem\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t'NOW_DROPDOWN#OPENED_SET': {\n\t\teffect: ({ updateProperties, action, state }) => {\n\t\t\tconst { value: opened } = action.payload;\n\t\t\tif (!isAttrTrue(state.properties.readonly)) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\topened: opened\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n * Wrapper around <now-dropdown> that has manage-opened and accepts an on-change\n *\n * This is useful when we want to keep the same on-change api and don't want to register\n * a component with seismic solely to handle the actions dispatched from <now-dropdown>\n *\n *\n * ```jsx\n * <sn-record-dropdown-internal\n *\t\tbare\n *\t\tdisabled={readonly}\n *\t\tvariant=\"tertiary\"\n *\t\tsize=\"md\"\n *\t\titems={items}\n * />\n * ```\n *\n * @seismicElement sn-record-dropdown-internal\n * @summary Wrapper around <now-dropdown> that has manage-opened and accepts an on-change.\n *\n * */\n\nexport const view = ({ properties }) => {\n\tlet { disabled, hideCaret, readonly, ...rest } = properties;\n\treturn (\n\t\t<now-dropdown\n\t\t\t{...rest}\n\t\t\t{...(isAttrTrue(disabled) ? { disabled: true } : {})}\n\t\t\t{...(hideCaret ? { hideCaret, disabled: true } : {})}\n\t\t\t{...(isAttrTrue(readonly) ? { hideCaret: true } : {})}\n\t\t\tmanage-selected-items\n\t\t\tmanage-opened\n\t\t\tpanel-fit-props={{ constrain: { minWidth: 100 } }}\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-record-dropdown-internal', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t\tinitialState: {\n\t\t\topened: false\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Makes the trigger button border and background transparent but retains\n\t\t * its `variant` style setting when an iconic button. If button is text or\n\t\t * text with an icon then only works when `variant` is `secondary`,\n\t\t * `tertiary`, or `inherit`.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: { default: false },\n\n\t\t/**\n\t\t * An object whose items, all aria properties,\n\t\t * @type {{ 'aria-*': string }}\n\t\t */\n\t\tconfigAria: { cast: 'object' },\n\n\t\t/**\n\t\t * Enable to show the dropdown as visually disabled and to stop the dropdown\n\t\t * from opening when the user interacts with it.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\n\t\t/**\n\t\t * Remove the caret from the dropdown visual\n\t\t * @type {boolean}\n\t\t */\n\t\thideCaret: { default: false },\n\n\t\t/**\n\t\t * An array of item objects describing each item in the dropdown OR\n\t\t * an array of objects where each object represents a section, to be\n\t\t * displayed with divider lines, where the `label` of that object is\n\t\t * a section header and the `children` value is an array of dropdown\n\t\t * item objects.\n\t\t * Each dropdown item object should have a `label` and a unique `id`.\n\t\t * An `icon` or `presence` indicator can optionally be displayed.\n\t\t * Items with `disabled` will be visible, but not selectable by the user.\n\t\t * @type {({id: (string|number), label: string, count: number, icon: string, presence: string, disabled: boolean}[] | {label: string, children: Array.<Object>}[])}\n\t\t */\n\t\titems: { default: [], cast: 'array' },\n\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `opened` property.\n\t\t * An action with type `NOW_DROPDOWN#OPENED_SET` will be dispatched to request updates,\n\t\t * which will be handled by this component.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmanageOpened: { default: false },\n\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItems` property.\n\t\t * An action with type `NOW_DROPDOWN#SELECTED_ITEMS_SET` will be dispatched to request updates,\n\t\t * which will be handled by this component.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmanageSelectedItems: { default: false },\n\n\t\t/**\n\t\t * OnChange event callback\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: { default: () => {} },\n\n\t\t/**\n\t\t * Automatically updated when the user opens or closes the dropdown.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: { default: false, manageable: true },\n\n\t\t/**\n\t\t * An array of ids representing each selected item. If multi-select mode is\n\t\t * not enabled, each time the user selects an item, the previously selected\n\t\t * id will be cleared out and the new id will be added. If multi-select mode is\n\t\t * enabled, ids will be added to or removed from the list.\n\t\t * Use `manage-selected-items` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#SELECTED_ITEMS_SET` action manually.\n\t\t * @type {(string[])[]}\n\t\t */\n\t\tselectedItems: { default: [], cast: 'array', manageable: true },\n\n\t\t/**\n\t\t * Sets the button styles of the dropdown trigger.\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Stops the dropdown from opening when the user interacts with it.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * Sets the size of the dropdown trigger.\n\t\t */\n\t\tsize: { default: 'md' },\n\t\t/**\n\t\t * Controls how to filter currency items as the user types into the integrated search input.\n\t\t * - `none`: (Default) Dropdown list does not display an internal search field.\n\t\t * - `managed`: Internal input field renders without automatic search filtering.\n\t\t *      Use these parameters to manually filter or search for items as a user types\n\t\t *      outside of the list.\n\t\t * - `initial`: Internal input field renders and items whose label or sublabel begins with the input value display. Case-insensitive.\n\t\t * - `contains`: Internal input field renders and items whose label or sublabel contains the input value display. Case-insensitive.\n\t\t * @type {(\"none\"|\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search behavior\n\t\t * @uib.description Controls how to filter the dropdown items as the user types into the integrated search input.\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains']\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers\n});\n","import '@devsnc/sn-declarative-actions';\nimport { getDeclarativeActionsProps } from '@devsnc/sn-controls-common';\n\nexport const renderDeclarativeActions = (\n\tproperties,\n\tdispatch,\n\toverrideDAProps = true\n) => {\n\tconst declarativeActionsProps = overrideDAProps\n\t\t? getDeclarativeActionsProps(properties.declarativeActionsProps, properties)\n\t\t: properties.declarativeActionsProps || {};\n\treturn (\n\t\t<sn-declarative-field-action\n\t\t\tclassName=\"declarative-action\"\n\t\t\tslot=\"end\"\n\t\t\tmodel={declarativeActionsProps}\n\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\tdispatch={dispatch}\n\t\t\tformData={properties.formData}\n\t\t\tfetchDeclarativeActions={declarativeActionsProps.fetchDeclarativeActions}\n\t\t/>\n\t);\n};\n","import { t } from 'sn-translate';\nimport { parseArabic, FIELD_TYPE } from '@devsnc/sn-controls-common';\nimport {\n\tparseHebrew,\n\tgetLocaleNumberSeparators,\n\tformatClean\n} from '@devsnc/sn-controls-common/src/utils/numberUtils';\n\nconst serverFormatRegex = /^([a-zA-Z]{3});(.*)$/;\nconst floatFormatRegex = /^(-?\\d*(\\.\\d+)?)$/g;\n\nexport const parseSeparator = replacement => regex => value =>\n\ttypeof value === 'string' ? value.replace(regex, replacement) : value;\n\nexport const parse = (value, locale, currencyCode) => {\n\tlet error;\n\n\t// if the value is not set skip parsing\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\tconst { thousandSeparator, decimalSeparator } = getLocaleNumberSeparators(\n\t\t\tlocale,\n\t\t\tcurrencyCode\n\t\t);\n\t\t// else check if value is a float or int and attempt to parse\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tvalue = formatClean(String(value), decimalSeparator);\n\t\tconst strip = parseSeparator('');\n\t\tlet sanitizers = [parseArabic];\n\t\tif (thousandSeparator) {\n\t\t\tsanitizers.push(strip(new RegExp(`\\\\${thousandSeparator}`, 'g')));\n\t\t}\n\t\tif (decimalSeparator) {\n\t\t\tsanitizers.push(\n\t\t\t\tparseSeparator('.')(new RegExp(`\\\\${decimalSeparator}`, 'g'))\n\t\t\t);\n\t\t}\n\t\tsanitizers.push(strip(/[\\s\\u00A0]/g));\n\t\tsanitizers.push(parseHebrew);\n\n\t\tconst processedValue = sanitizers.reduce(\n\t\t\t(sanatizedValue, parser) => parser(sanatizedValue),\n\t\t\tvalue\n\t\t);\n\t\tif (floatFormat.test(processedValue)) {\n\t\t\tvalue = processedValue;\n\t\t} else {\n\t\t\terror = { type: 'error', message: t('{0} is not a valid amount', value) };\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n\nexport const format = (\n\tvalue,\n\tdefaultCurrency,\n\tlocale,\n\tuseAllFractionsDigits,\n\tfieldType,\n\tminFractionDigits,\n\tmaxFractionDigits\n) => {\n\tconst serverFormat = new RegExp(serverFormatRegex);\n\tconst floatFormat = new RegExp(floatFormatRegex);\n\tlet currencyCode, error;\n\n\t// We test the value to see if it matches the server format and if so parse out the\n\t// currency code from it\n\tconst serverFormatMatch = serverFormat.exec(value);\n\tif (serverFormatMatch) {\n\t\t[, currencyCode, value] = serverFormatMatch;\n\t} else {\n\t\tcurrencyCode = defaultCurrency;\n\t}\n\n\t// Locales with decimal separator as comma needs to be parsed before formatted\n\t// Otherwise value will be counted as invalid amount\n\t// eg: fr,de\n\n\tconst isCommaSeparated =\n\t\tgetLocaleNumberSeparators(locale).decimalSeparator === ',' &&\n\t\tvalue.includes(',');\n\n\tif (isCommaSeparated) {\n\t\t// Parse the value if necessary\n\t\tconst { value: parsedValue, error: parseError } = parse(\n\t\t\tvalue,\n\t\t\tlocale,\n\t\t\tcurrencyCode\n\t\t);\n\t\tvalue = parsedValue;\n\t\terror = parseError;\n\t}\n\n\t// if the value is not set skip formatting\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else if (floatFormat.test(value)) {\n\t\t// else check if value is a float   and format it if so\n\n\t\t// When useAllFractionsDigits is true, currency and price fields display a maximum\n\t\t// of 4 fractional digits. Otherwise, we rely on locale specific precision as decided\n\t\t// by Intl.NumberFormat.\n\n\t\tlet minimumFractionDigits = minFractionDigits || 2;\n\t\tlet maximumFractionDigits = maxFractionDigits || 4; // max fraction digits for currency and price field\n\n\t\tif (fieldType === FIELD_TYPE.CURRENCY2) {\n\t\t\tminimumFractionDigits = 0; // min number of fraction digits displayed for FX Currency\n\t\t\tmaximumFractionDigits = 12; // max number of fraction digits displayed for FX Currency\n\t\t}\n\n\t\tconst formatOptions = {\n\t\t\tminimumFractionDigits,\n\t\t\tmaximumFractionDigits: useAllFractionsDigits\n\t\t\t\t? maximumFractionDigits\n\t\t\t\t: undefined,\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: currencyCode,\n\t\t\tuseGrouping: true // enables thousand separators\n\t\t};\n\n\t\tconst formattedValue = new Intl.NumberFormat(\n\t\t\tlocale,\n\t\t\tformatOptions\n\t\t).formatToParts(value);\n\n\t\tvalue = formattedValue\n\t\t\t.map(({ type, value }) => {\n\t\t\t\tif (type === 'currency') return '';\n\t\t\t\treturn value;\n\t\t\t})\n\t\t\t.reduce((result, part) => result + part)\n\t\t\t.trim();\n\n\t\t// There is a known issue with Intl's format method, where if we pass certain locale, it returns an invalid minus symbol\n\t\t// Refer - https://stackoverflow.com/questions/74352253/intl-numberformat-with-swedish-locale-and-negative-value-returns-wrong-minus-cha\n\t\t// To fix this either we can replace this approach with a different locale library like http://numeraljs.com/\n\t\t// OR\n\t\t// We replace the incorrect minus sign with the correct one, which is done below.\n\n\t\tif (value.includes('−')) value = value.replace('−', '-');\n\t} else {\n\t\t// else pass through value and add an error\n\t\terror = { type: 'error', message: t('{0} is not a valid amount', value) };\n\t}\n\treturn {\n\t\tvalue,\n\t\tcurrencyCode,\n\t\terror\n\t};\n};\n\nexport const formatServer = (value, currencyCode) => {\n\tif (value?.startsWith(`${currencyCode};`)) {\n\t\treturn value;\n\t}\n\treturn value ? `${currencyCode};${value}` : '';\n};\n\nfunction getDecimalSeparatorForLocale(locale) {\n\treturn Intl.NumberFormat(locale)\n\t\t.formatToParts(1.1)\n\t\t.find(part => part.type === 'decimal').value;\n}\n","import { get, includes, isEmpty, map } from 'lodash';\nimport { format, parse } from './currencyFormat';\nimport { t } from 'sn-translate';\nimport { getAriaLabelFromConfig } from '@devsnc/sn-controls-common';\n\nexport const INTERNAL_ON_BLUR = 'SN_RECORD_CURRENCY_CONNECTED#INTERNAL_ON_BLUR';\nexport const HOLD_RAW_FORMAT_LATER =\n\t'SN_RECORD_CURRENCY_CONNECTED#HOLD_RAW_FORMAT_LATER';\n\nexport const normalizeCurrencyValue = controlProps => {\n\tif (controlProps.invalid) {\n\t\tconst { value } = controlProps;\n\t\t//Adding additional check as value is becoming true.\n\t\t//This is a Workaround, A defect DEF0501195 has been raised with Seismic Team\n\t\treturn typeof value === 'boolean' ? '' : value;\n\t}\n\n\t// Won't work currently but we can update glide to provide this in the future\n\tif (controlProps.displayString) {\n\t\treturn controlProps.displayString;\n\t}\n\n\tconst { defaultCurrency, code, value, singleCurrency } = controlProps;\n\tif (isEmpty(value) || !code) {\n\t\treturn value === true ? '' : value;\n\t}\n\n\t//extract value only after ; and ignore currency if any\n\tconst valueOnly = value.match(/[^;]*$/)[0];\n\n\tconst currentCode =\n\t\tcode && defaultCurrency === 'USD' ? code : defaultCurrency || code;\n\n\t// check if code has already been prepended and handle singleCurrency\n\treturn includes(value, ';') && !singleCurrency\n\t\t? value\n\t\t: `${currentCode};${valueOnly}`;\n};\n\nconst getFallbackCurrencyDisplay = (code, symbol, reversed) =>\n\tcode === symbol || !symbol\n\t\t? code\n\t\t: reversed\n\t\t\t? `(${symbol}) ${code}`\n\t\t\t: `${code} (${symbol})`;\n\nconst getSublabel = (sublabel, enableSubLabel) =>\n\tenableSubLabel ? sublabel : '';\n\nexport const normalizeCurrencyCodes = (\n\tcurrencyCodes,\n\tcode,\n\treversed,\n\tenableSubLabel\n) => {\n\tconst normalizedCurrencyCodes = map(\n\t\tcurrencyCodes,\n\t\t({ code, symbol, name }) => ({\n\t\t\tvalue: code,\n\t\t\tdisplayValue: getFallbackCurrencyDisplay(code, symbol, reversed),\n\t\t\tsublabel: getSublabel(name, enableSubLabel)\n\t\t})\n\t);\n\tif (code && !normalizedCurrencyCodes.find(({ value }) => value === code)) {\n\t\tnormalizedCurrencyCodes.push({\n\t\t\tvalue: code,\n\t\t\tdisplayValue: code\n\t\t});\n\t}\n\treturn normalizedCurrencyCodes;\n};\n\nexport const formatCurrency = (value, props, state = {}) => {\n\tconst {\n\t\tnormalizedCurrencyCodes,\n\t\tlocale,\n\t\tuseAllFractionsDigits,\n\t\tfieldType,\n\t\tminFractionDigits,\n\t\tmaxFractionDigits\n\t} = props;\n\tconst { currencyCode } = state;\n\tconst defaultCurrency =\n\t\tcurrencyCode ||\n\t\tprops.defaultCurrency ||\n\t\tget(normalizedCurrencyCodes, '0.value') ||\n\t\t'USD';\n\n\tconst formattedCurrency = format(\n\t\tvalue,\n\t\tdefaultCurrency,\n\t\tlocale,\n\t\tuseAllFractionsDigits,\n\t\tfieldType,\n\t\tminFractionDigits,\n\t\tmaxFractionDigits\n\t);\n\n\treturn formattedCurrency;\n};\n\nexport const merge = (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n\nexport const checkCurrencyInput = (\n\tstagedValue,\n\t{ maxFractionDigits, currencyCode, locale }\n) => {\n\tif (!stagedValue) return [];\n\tconst messages = [];\n\n\tconst { value: parsedValue, error } = parse(\n\t\tstagedValue + '',\n\t\tlocale,\n\t\tcurrencyCode\n\t);\n\tif (error) {\n\t\tconsole.error('Error parsing decimal currency input: ' + stagedValue);\n\t\treturn messages;\n\t}\n\tlet [wholePart, fraction] = parsedValue.split('.');\n\tif (wholePart && !Number.isSafeInteger(Number(wholePart))) {\n\t\tmessages.push({\n\t\t\ttype: 'warning',\n\t\t\tmessage: t(\n\t\t\t\t'Currency amounts below {0} and above {1} will cause unexpected results. Please limit currency inputs to values between that range.',\n\t\t\t\tNumber.MIN_SAFE_INTEGER,\n\t\t\t\tNumber.MAX_SAFE_INTEGER\n\t\t\t)\n\t\t});\n\t}\n\n\tif (fraction && fraction.length > maxFractionDigits) {\n\t\tmessages.push({\n\t\t\ttype: 'warning',\n\t\t\tmessage: t(\n\t\t\t\t'The fraction part of a currency value cannot exceed {0} digits. It will be rounded off to the first {0} digits.',\n\t\t\t\tmaxFractionDigits\n\t\t\t)\n\t\t});\n\t}\n\n\treturn messages;\n};\n\nexport const resolveAriaProps = props => {\n\tconst {\n\t\tariaLabel = '',\n\t\tariaLabelledby = ariaLabel ? null : '',\n\t\tariaDescribedBy = '',\n\t\tconfigAria = {}\n\t} = props;\n\n\treturn {\n\t\tinput: {\n\t\t\t'aria-label': ariaLabel,\n\t\t\t'aria-labelledby': ariaLabelledby || props['ariaLabelledby'] || '',\n\t\t\t'aria-describedBy': ariaDescribedBy,\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n};\n","// 3rd party imports\nimport { size, map } from 'lodash';\n\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\ttransformDescriptionAndMessages,\n\trenderHighlightedValue\n} from '@devsnc/sn-controls-common';\n\nimport '@devsnc/sn-record-dropdown-internal';\nimport '@servicenow/now-input';\nimport { t } from 'sn-translate';\n\nimport { renderDeclarativeActions } from './declarativeActions';\nimport { checkCurrencyInput, resolveAriaProps } from './utils';\n\nexport const onSelectChange =\n\tstate =>\n\t({ value: currencyCode }) => {\n\t\tstate.onValueChange(\n\t\t\t{\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: { currencyCode }\n\t\t\t},\n\t\t\ttrue\n\t\t);\n\t};\n\nconst view = (state, { dispatch }) => {\n\tconst { stagedValue, currencyCode } = state;\n\tconst {\n\t\tname,\n\t\tinvalid,\n\t\tlabel,\n\t\tmessages = [],\n\t\tmaxFractionDigits,\n\t\tlocale,\n\t\tnormalizedCurrencyCodes,\n\t\tisPrice,\n\t\treversed,\n\t\tdescription,\n\t\tplaceholder,\n\t\thelperContent,\n\t\treadonly,\n\t\trequired,\n\t\thighlightedValue,\n\t\tfieldLayout,\n\t\tsingleCurrency,\n\t\tenableSearch,\n\t\tsize: sizeProp,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\tautofocus,\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst nameProp = isPrice ? name : name + '_input';\n\tconst validationMessages = checkCurrencyInput(stagedValue, {\n\t\tmaxFractionDigits,\n\t\tcurrencyCode,\n\t\tlocale\n\t});\n\n\treturn (\n\t\t<now-input\n\t\t\tname={nameProp}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\tmessages={transformDescriptionAndMessages(description, [\n\t\t\t\t...messages,\n\t\t\t\t...validationMessages\n\t\t\t])}\n\t\t\tmaxlength={19}\n\t\t\tautofocus={autofocus}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={state.value}\n\t\t\talign={'end'}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={resolveAriaProps(state.properties)}\n\t\t\tsize={sizeProp}\n\t\t>\n\t\t\t{size(normalizedCurrencyCodes) > 0 &&\n\t\t\t\t(readonly ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`dropdown-readonly -${sizeProp}`}\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\trole=\"group\"\n\t\t\t\t\t\taria-label={`${label}, ${t(\n\t\t\t\t\t\t\t'Currency code: {0}',\n\t\t\t\t\t\t\tstate.currencyCode\n\t\t\t\t\t\t)}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{normalizedCurrencyCodes.find(\n\t\t\t\t\t\t\tcurrency => currency.value === state.currencyCode\n\t\t\t\t\t\t)?.displayValue || state.currencyCode}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tsearch={enableSearch ? 'initial' : 'none'}\n\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\tonChange={onSelectChange(state)}\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tselected-items={[state.currencyCode]}\n\t\t\t\t\t\titems={map(\n\t\t\t\t\t\t\tnormalizedCurrencyCodes,\n\t\t\t\t\t\t\t({ value, displayValue, sublabel }) => ({\n\t\t\t\t\t\t\t\tid: value,\n\t\t\t\t\t\t\t\tlabel: displayValue,\n\t\t\t\t\t\t\t\tsublabel\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tbare\n\t\t\t\t\t\t{...(singleCurrency ? { disabled: true } : {})}\n\t\t\t\t\t\t{...(isAttrTrue(readonly) ? { readonly: true } : {})}\n\t\t\t\t\t\thide-caret={size(normalizedCurrencyCodes) === 1}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t'aria-label': `${label}, ${t(\n\t\t\t\t\t\t\t\t\t'Currency code: {0}',\n\t\t\t\t\t\t\t\t\tstate.currencyCode\n\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpanel: { 'aria-label': `${label}, ${t('Select currency code')}` }\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={sizeProp}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<slot name=\"controls\" slot=\"end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport default view;\n","import { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport { NOW_INPUT, shallowEqual } from '@devsnc/sn-controls-common';\nimport {\n\tformatCurrency,\n\tmerge,\n\tINTERNAL_ON_BLUR,\n\tHOLD_RAW_FORMAT_LATER\n} from './utils';\nimport { isEqual, toString } from 'lodash';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDER_REQUESTED } = actionTypes;\n\n/**\n * Validates the value and dispatches the NOW_INPUT.INVALID_SET action if necessary.\n *\n * @param {Object} properties - The properties of the component.\n * @param {Object} state - The current state of the component.\n * @param {Function} updateState - The function to update the state.\n * @param {Function} dispatch - The function to dispatch actions.\n * @param {string} formattedValue - The formatted value of the field.\n * @param {boolean} error - Indicates if there is an error.\n *\n * @description\n * This function is necessary to handle a specific scenario where the field has an error value\n * and the currency code is set from a client script (e.g., if the value is \"USD;24s\" and it is\n * set to \"GBP;24s\" using g_form.setValue). The g_form.setValue function actually deletes the\n * error messages from the sn-scripting, so even though the field has an error value \"24s\", the\n * error messages are deleted. When the form is saved, it will not block the save due to the\n * missing error messages.\n *\n * To fix this, if g_form.setValue is triggered in the property change, we again verify the value,\n * validate it, and further send the response to the parent so that the messages will be updated\n * and the form won't save with error changes in the field.\n *\n * By doing a blur check again, we validate the value and emit new values to the parent. We rely\n * on the messages received from the parent to determine if the blur check should be performed.\n */\nconst validateAndDispatchError = (\n\tproperties,\n\tstate,\n\tupdateState,\n\tdispatch,\n\tformattedValue,\n\terror\n) => {\n\tif (properties.messages?.length > 0 && state.isBlurCheckPending) {\n\t\tupdateState({ isBlurCheckPending: false });\n\t}\n\n\tconst isObjectNotEmpty = obj => obj && Object.keys(obj)?.length > 0;\n\tconst isBlurCheckPending =\n\t\tproperties.messages?.length === 0 &&\n\t\t(isObjectNotEmpty(state.error) || isObjectNotEmpty(error)) &&\n\t\t!state.isBlurCheckPending;\n\n\tif (isBlurCheckPending) {\n\t\tif (error) {\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: NOW_INPUT.INVALID_SET,\n\t\t\t\t\tpayload: { fieldValue: formattedValue, fromHandleBlur: true }\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tif (name === 'value') {\n\t\t\tconst newValue = toString(properties.initialValue);\n\t\t\tconst {\n\t\t\t\tadditionalInfo: sAdditionalInfo,\n\t\t\t\tinternalValue,\n\t\t\t\tvalue: sValue,\n\t\t\t\terror: sError\n\t\t\t} = state;\n\t\t\tconst {\n\t\t\t\tvalue: formattedValue,\n\t\t\t\terror,\n\t\t\t\t...additionalInfo\n\t\t\t} = formatCurrency(newValue, properties, sAdditionalInfo);\n\n\t\t\tconst mergedAdditionalInfo = merge(sAdditionalInfo, additionalInfo);\n\n\t\t\tif (\n\t\t\t\tnewValue !== internalValue ||\n\t\t\t\tformattedValue !== sValue ||\n\t\t\t\terror !== sError ||\n\t\t\t\tmergedAdditionalInfo !== sAdditionalInfo\n\t\t\t) {\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `error`,\n\t\t\t\t\t\tvalue: error,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tfor (const prop in mergedAdditionalInfo) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: `${prop}`,\n\t\t\t\t\t\tvalue: additionalInfo[prop],\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvalidateAndDispatchError(\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tformattedValue,\n\t\t\t\terror\n\t\t\t);\n\t\t}\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\taction: {\n\t\t\tpayload: { previousRenderState, previousRenderProperties },\n\t\t\tpreventDefault,\n\t\t\tmeta: { firstRenderOnConnect }\n\t\t},\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tconst { normalizedCurrencyCodes: nextCurrencyCodes, ...restOfNextProps } =\n\t\t\tpreviousRenderProperties;\n\t\tconst { normalizedCurrencyCodes: oldCurrencyCodes, ...restOfOldProps } =\n\t\t\tproperties;\n\n\t\tif (\n\t\t\t!firstRenderOnConnect &&\n\t\t\tshallowEqual(restOfNextProps, restOfOldProps) &&\n\t\t\tshallowEqual(previousRenderState, state) &&\n\t\t\tisEqual(nextCurrencyCodes, oldCurrencyCodes)\n\t\t) {\n\t\t\tpreventDefault();\n\t\t}\n\t},\n\t[NOW_INPUT.INVALID_SET]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { fieldValue, fromHandleBlur }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (fromHandleBlur) {\n\t\t\t\t// Set the raw value (e.g., 1234) in the control state\n\t\t\t\tupdateState({ value: fieldValue });\n\t\t\t\t// Dispatch the HOLD_RAW_FORMAT_LATER action to format the value after a delay\n\t\t\t\tdispatch(HOLD_RAW_FORMAT_LATER);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t/*\n\tWhen 1234 is entered, it gets formatted to 1,234 on the first render.\n\t\n\tOn the next render, if the user enters 1234 again, the value stays 1234 because the NDS input component detects no change (oldValue === newValue). \n\tHowever, the expected behavior is for it to format as 1,234.\n\t\n\tTo fix this, we:\n\t\n\t1. Set the value to 1234 in the control state initially.\n\t2. Dispatch the update with a delay, so the flow becomes:\n\t1234 → 1,234 → 1234 → 1,234.\n\t\n\tThis ensures the value updates correctly each time and resolves the issue where oldValue === 1234 and newValue === 1,234.\n\t*/\n\t[HOLD_RAW_FORMAT_LATER]: {\n\t\teffect: ({ state: { value }, dispatch }) => {\n\t\t\tdispatch(INTERNAL_ON_BLUR, { fieldValue: value });\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 },\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport view from './view';\nimport { parse, formatServer } from './currencyFormat';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport { INTERNAL_ON_BLUR } from './utils';\n// Function imports\nimport {\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\ttransformState,\n\twithState,\n\tsetInitialStateWithValue,\n\tsetInitialValue,\n\tfieldLayoutSchema,\n\tNOW_INPUT\n} from '@devsnc/sn-controls-common';\nimport {\n\tnormalizeCurrencyCodes,\n\tnormalizeCurrencyValue,\n\tformatCurrency\n} from './utils';\nimport style from './currency.scss';\n\n// Component imports\nexport { normalizeCurrencyCodes, normalizeCurrencyValue } from './utils';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props, { currencyCode }) => {\n\t\t\tlet { value: parsedValue, error } = parse(\n\t\t\t\tvalue,\n\t\t\t\tprops.locale,\n\t\t\t\tcurrencyCode\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tvalue: formatServer(parsedValue, currencyCode),\n\t\t\t\terror\n\t\t\t};\n\t\t},\n\t\tformat: formatCurrency,\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: INTERNAL_ON_BLUR,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur: ({ isRender, updateState }) => {\n\t\t\tupdateState({ isRender: !isRender });\n\t\t},\n\t\tcache: false\n\t})\n};\n\n/**\n * <sn-record-currency-connected\n *\t\tvalue: 'JPY;1200',\n *\t\tfieldType: 'currency',\n *\t\tcurrencyCodes: [\n *\t\t\t{\n *            \tsymbol: '£',\n *\t\t\t\tcode: 'GBP'\n *\t\t\t},\n *\t\t\t{\tsymbol: '$',\n *\t\t\t\tcode: 'USD'\n *\t\t\t}]\n * />\n * ```\n *\n * @seismicElement sn-record-currency-connected\n * @summary Connected Currency Component\n *\n */\n\ncreateCustomElement('sn-record-currency-connected', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * computed property on currencyCodes property\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tnormalizedCurrencyCodes: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { currencyCodes, code, reversed, enableSubLabel }\n\t\t\t}) {\n\t\t\t\treturn normalizeCurrencyCodes(\n\t\t\t\t\tcurrencyCodes,\n\t\t\t\t\tcode,\n\t\t\t\t\treversed,\n\t\t\t\t\tenableSubLabel\n\t\t\t\t);\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\n\t\t/**\n\t\t *  When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t *\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Initial Value for the input\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tinitialValue: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { initialValue } = setInitialValue({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: normalizeCurrencyValue(properties)\n\t\t\t\t});\n\t\t\t\treturn initialValue;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Price field flag\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisPrice: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 0 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tuseAllFractionsDigits: { default: false },\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: { default: false },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Causes the component to have search enabled for the currency List dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSearch: { default: true },\n\t\t/**\n\t\t * Causes the component to have sublabel along with the labels here in the currency dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSubLabel: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(formatCurrency),\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'SN_RECORD_CURRENCY_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_CURRENCY_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\twithStateBehavior,\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\ncreateCustomElement('now-currency-input', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * computed property on currencyCodes property\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tnormalizedCurrencyCodes: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { currencyCodes, code, reversed, enableSubLabel }\n\t\t\t}) {\n\t\t\t\treturn normalizeCurrencyCodes(\n\t\t\t\t\tcurrencyCodes,\n\t\t\t\t\tcode,\n\t\t\t\t\treversed,\n\t\t\t\t\tenableSubLabel\n\t\t\t\t);\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\n\t\t/**\n\t\t *  When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t *\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Initial Value for the input\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tinitialValue: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { initialValue } = setInitialValue({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: normalizeCurrencyValue(properties)\n\t\t\t\t});\n\t\t\t\treturn initialValue;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Price field flag\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisPrice: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 0 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tuseAllFractionsDigits: { default: false },\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: { default: false },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Causes the component to have search enabled for the currency List dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSearch: { default: true },\n\t\t/**\n\t\t * Causes the component to have sublabel along with the labels here in the currency dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSubLabel: { default: true }\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(formatCurrency),\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_CURRENCY_INPUT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_CURRENCY_INPUT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\twithStateBehavior,\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { getFormat } from '.';\nimport { isNil } from 'lodash';\nimport { time } from '@devsnc/sn-controls-common';\n\nexport const defaultDateTime = {\n\tset initialValue(properties) {\n\t\t/** TODO::\n\t\t * We still using moment lib in controls-common as we need to get initial date/time here\n\t\t * The reason to use this depends on using date-fns-tz as the initial time has timezone\n\t\t * constraints via utcOffsets to get current time based on the utcOffset values configrued.\n\t\t * Currently NDS is not using this library so we are still keeping this code\n\t\t * using moment JS.\n\t\t */\n\n\t\tconst { utcOffset, language } = properties;\n\t\tconst now = isNil(utcOffset)\n\t\t\t? time(language)()\n\t\t\t: time(language)().utcOffset(utcOffset);\n\t\tlet format = getFormat(properties);\n\t\tformat = format?.includes('a') ? format.replace('a', 'A') : format;\n\t\tformat = format?.includes('z') ? format.replace(' z', '') : format;\n\t\tthis.value = now.format(format).toString();\n\t},\n\tvalue: ''\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"DateTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'DateTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].DateTypes;\n\t\t\t\t\t} else if ('DateTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.DateTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].DateTypes;\n\t\t\t\t}, [\"isDateTimeValueValid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'isDateTimeValueValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].isDateTimeValueValid;\n\t\t\t\t\t} else if ('isDateTimeValueValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.isDateTimeValueValid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].isDateTimeValueValid;\n\t\t\t\t}, [\"localeContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'localeContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].localeContext;\n\t\t\t\t\t} else if ('localeContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.localeContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].localeContext;\n\t\t\t\t}, [\"parseTZ\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].parseTZ;\n\t\t\t\t\t} else if ('parseTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.parseTZ || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].parseTZ;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"format\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].format;\n\t\t\t\t\t} else if ('format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.format || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].format;\n\t\t\t\t}, [\"isAfter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isAfter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isAfter;\n\t\t\t\t\t} else if ('isAfter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isAfter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isAfter;\n\t\t\t\t}, [\"isBefore\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isBefore' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isBefore;\n\t\t\t\t\t} else if ('isBefore' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isBefore || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isBefore;\n\t\t\t\t}, [\"isSameDay\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isSameDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isSameDay;\n\t\t\t\t\t} else if ('isSameDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isSameDay || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isSameDay;\n\t\t\t\t}, [\"isWithinInterval\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isWithinInterval' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isWithinInterval;\n\t\t\t\t\t} else if ('isWithinInterval' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isWithinInterval || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isWithinInterval;\n\t\t\t\t} });","export const WEEKLY_FORMAT = \"'W'ww Y\";\nexport const WEEKLY_ISO_FORMAT = \"'W'ww Y\";\nexport const MONTHLY_FORMAT = 'MMM yyyy';\nexport const YEARLY_FORMAT = 'yyyy';\nexport const QUARTERLY_FORMAT = 'qqq yyyy';\nexport const DEFAULT_DATE_TIME_FORMAT = 'yyyy-MM-dd hh:mm:ss a';\nexport const DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\nexport const DEFAULT_REPLACEMENTS = {\n\tYYYY: 'yyyy',\n\tDD: 'dd',\n\t'[Q]': 'qq',\n\tQ: 'q',\n\t'[W]': \"'W'\",\n\tww: 'ww',\n\tWW: 'w',\n\tYY: 'yy',\n\tY: 'y',\n\tD: 'd'\n};\n\nexport const WEEKLY_TYPE = 'weekly';\nexport const MONTHLY_TYPE = 'monthly';\nexport const YEARLY_TYPE = 'yearly';\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const STANDARD_TYPE = 'standard';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MOMENT_WEEKLY_FORMAT = '[W]ww YYYY';\nexport const MOMENT_WEEKLY_ISO_FORMAT = '[W]ww YYYY';\nexport const MOMENT_MONTHLY_FORMAT = 'MMM YYYY';\nexport const MOMENT_YEARLY_FORMAT = 'YYYY';\nexport const MOMENT_QUARTERLY_FORMAT = '[Q]Q YYYY';\nexport const NOW_DATE_TIME = 'NOW-DATE-TIME';\n","import { t } from 'sn-translate';\nimport { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tadaptCallbackForLegacyAPI,\n\tgetDateFromFormat,\n\tisTimeZoneEnabledField\n} from '@devsnc/sn-controls-common';\nimport {\n\tfetchServerDate,\n\tgetDateObject,\n\tgetDateFnsFormat,\n\tshowBottomBar,\n\tgetFormat,\n\tisDateIncluded,\n\tgetDateObjectWithTz,\n\tfocusInput\n} from '.';\nimport { localeContext } from '@servicenow/library-date-time';\nimport { format as fnsFormat } from 'date-fns';\nimport { defaultDateTime } from './utils';\nimport { NOW_DATE_TIME } from './constants';\nimport { isNil } from 'lodash';\nexport const DATE_PICKER_OPENED_SET = 'NOW_RECORD_DATE_PICKER#OPENED_SET';\nconst { COMPONENT_RENDER_REQUESTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst FETCH_SERVER_DATE_API = '/xmlhttp.do';\nexport const FETCH_SERVER_DATE = 'FETCH_SERVER_DATE';\nconst FETCH_SERVER_DATE_SUCCESS = 'FETCH_SERVER_DATE_SUCCESS';\nconst FETCH_SERVER_DATE_FAILURE = 'FETCH_SERVER_DATE_FAILURE';\nconst FETCH_SERVER_DATE_ERROR_MSG = t('Unable to fetch server date.');\nexport const NOW_DATE_PICKER_OFFSET = 'NOW_RECORD_DATE_PICKER#OFFSET';\nexport const NOW_DATE_PICKER_SAVE_VALUE = 'NOW_RECORD_DATE_PICKER#SAVE_VALUE';\nexport const NOW_DATE_PICKER_INPUT_BLUR = 'NOW_RECORD_DATE_PICKER#INPUT_BLUR';\nexport const NOW_DATE_PICKER_INPUT_CHANGE =\n\t'NOW_RECORD_DATE_PICKER#INPUT_CHANGE';\nexport const NOW_DATE_PICKER_ON_OK = 'NOW_RECORD_DATE_PICKER#ON_OK';\nexport const NOW_DATE_PICKER_ON_CANCEL = 'NOW_RECORD_DATE_PICKER#ON_CANCEL';\nconst FETCH_QUERY_PARAMS = [\n\t'sysparm_processor',\n\t'sysparm_name',\n\t'sysparm_value'\n];\nexport const NOW_DATE_TIME_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_OPENED_SET = 'NOW_DATE_TIME#OPENED_SET';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_DATE_TIME_INVALID_SET = 'NOW_DATE_TIME#INVALID_SET';\nexport const UPDATE_SAVE_PENDING = 'UPDATE_SAVE_PENDING';\n\nconst FetchServerDateEffect = createHttpEffect(FETCH_SERVER_DATE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n\t\t'X-WantSessionNotificationMessages': 'true'\n\t},\n\tqueryParams: FETCH_QUERY_PARAMS,\n\tsuccessActionType: FETCH_SERVER_DATE_SUCCESS,\n\terrorActionType: FETCH_SERVER_DATE_FAILURE\n});\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tif (action.payload.name === 'value') {\n\t\t\t\tupdateState({\n\t\t\t\t\tsavePending: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[DATE_PICKER_OPENED_SET]: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tproperties: { actualValue, actualFormat, format }\n\t\t}) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tupdateState({\n\t\t\t\topened: value,\n\t\t\t\tsavePending: action.payload.savePending\n\t\t\t});\n\t\t\tif (\n\t\t\t\t!value &&\n\t\t\t\t(actualFormat || format) &&\n\t\t\t\t!isTimeZoneEnabledField(actualFormat || format)\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tformat: actualFormat,\n\t\t\t\t\tvalue: actualValue\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_INVALID_SET]: {\n\t\teffect: ({ updateProperties, action }) => {\n\t\t\tif (action.payload.value && action.payload?.errorId?.[0]) {\n\t\t\t\t// This is done to suppress error messages from NDS as controls will perform it's own validation\n\t\t\t\t// Currently INVALID_SET is very unstable action and cannot be used for validation\n\t\t\t\tupdateProperties(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'messages',\n\t\t\t\t\t\tvalue: []\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { previousRenderState }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst { value, bottomBar, timePicker, hasTimePicker } = properties;\n\t\t\tconst { opened, pendingValue, value: stateValue, savePending } = state;\n\t\t\tconst isBottomBarPresent = bottomBar || timePicker || hasTimePicker;\n\t\t\tconst isValueTrue = value === true ? '' : value;\n\t\t\tconst pendingValueToUpdate = !savePending ? isValueTrue : pendingValue;\n\t\t\tconst valueToUpdate = isBottomBarPresent\n\t\t\t\t? !opened\n\t\t\t\t\t? pendingValue\n\t\t\t\t\t: value\n\t\t\t\t: isValueTrue;\n\t\t\tconst isFreshTypedValue = stateValue === '' && value === true;\n\t\t\tif (\n\t\t\t\t(value !== stateValue && !isFreshTypedValue) ||\n\t\t\t\topened !== previousRenderState.opened\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue: valueToUpdate,\n\t\t\t\t\tpendingValue: pendingValueToUpdate\n\t\t\t\t});\n\t\t\t\tdispatch(UPDATE_SAVE_PENDING);\n\t\t\t}\n\t\t}\n\t},\n\t[UPDATE_SAVE_PENDING]: {\n\t\teffect: ({ state: { opened, savePending }, updateState }) => {\n\t\t\tif (!opened && savePending) {\n\t\t\t\tupdateState({ savePending: false });\n\t\t\t}\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 200, maxWait: 250 },\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE]: {\n\t\t...FetchServerDateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE_SUCCESS]: {\n\t\teffect: effectProps => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch,\n\t\t\t\tproperties\n\t\t\t} = effectProps;\n\t\t\tif (payload) {\n\t\t\t\tconst rxml = new window.DOMParser().parseFromString(\n\t\t\t\t\tpayload,\n\t\t\t\t\t'text/xml'\n\t\t\t\t);\n\t\t\t\tconst items = rxml.getElementsByTagName('xml');\n\t\t\t\tif (items && items.length > 0) {\n\t\t\t\t\tconst answer = items[0].getAttribute('answer') || '';\n\t\t\t\t\tif (answer && answer.length > 0) {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tvalue: answer,\n\t\t\t\t\t\t\tformat: properties?.actualFormat,\n\t\t\t\t\t\t\tactualValue: answer\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst { onValueChange, name } = state.properties;\n\t\t\t\t\t\tif (onValueChange) {\n\t\t\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue: answer,\n\t\t\t\t\t\t\t\tpendingValue: answer,\n\t\t\t\t\t\t\t\tsavePending: false,\n\t\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\tmessage: FETCH_SERVER_DATE_ERROR_MSG\n\t\t\t\t\t\t};\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\tvalue: false,\n\t\t\t\tsavePending: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE_FAILURE]: {\n\t\teffect: effectProps => {\n\t\t\tconst error = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_SERVER_DATE_ERROR_MSG\n\t\t\t};\n\t\t\teffectProps.updateState({\n\t\t\t\terror\n\t\t\t});\n\t\t\teffectProps.dispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\tvalue: false,\n\t\t\t\tsavePending: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_FOOTER_ACTION_CLICKED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: { key }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tcontext: { [localeContext]: locale },\n\t\t\thost\n\t\t}) => {\n\t\t\tconst { pendingValue, isInitialValueNeeded } = state;\n\t\t\tconst date = getDateObject(properties, pendingValue, locale);\n\t\t\tlet initialValue = pendingValue;\n\t\t\tconst pendingValueToUpdate = pendingValue === true ? '' : pendingValue;\n\t\t\tif (\n\t\t\t\t!date?.isValid &&\n\t\t\t\tstate.opened === true &&\n\t\t\t\t!pendingValueToUpdate &&\n\t\t\t\t!isInitialValueNeeded\n\t\t\t) {\n\t\t\t\tinitialValue = defaultDateTime.value;\n\t\t\t\tdispatch('NOW_DATE_TIME#VALUE_SET', {\n\t\t\t\t\tvalue: initialValue\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (key === 'OK') {\n\t\t\t\tdispatch(NOW_DATE_PICKER_ON_OK, {\n\t\t\t\t\tpendingValue: initialValue\n\t\t\t\t});\n\t\t\t} else if (key === 'Cancel') {\n\t\t\t\tdispatch(NOW_DATE_PICKER_ON_CANCEL);\n\t\t\t}\n\t\t\t// In case the user presses Now button in the calendar,\n\t\t\t// key will be empty and we don't want user to focus\n\t\t\t// on the input field in this case as this will call the blur event\n\t\t\t// resulting in the value being saved , which we don't want if the user\n\t\t\t// clicks outside the calendar\n\t\t\tkey && host && focusInput(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_OPENED_SET]: {\n\t\teffect: ({\n\t\t\taction: { payload: value },\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t\tcontext: { [localeContext]: locale },\n\t\t\thost\n\t\t}) => {\n\t\t\tconst valuePayload = typeof value === 'object' ? value?.value : value;\n\t\t\tconst {\n\t\t\t\tformat,\n\t\t\t\tactualFormat,\n\t\t\t\tvalue: fieldValue,\n\t\t\t\ttype,\n\t\t\t\thasTimePicker,\n\t\t\t\ttimePicker,\n\t\t\t\toriginalFormat\n\t\t\t} = properties;\n\t\t\tlet updatedFormat = actualFormat || format;\n\t\t\tif (updatedFormat && !isTimeZoneEnabledField(updatedFormat)) {\n\t\t\t\tif (valuePayload === true) {\n\t\t\t\t\tif (fieldValue && fieldValue !== true) {\n\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\tconst datfnsFormat = getDateFnsFormat(\n\t\t\t\t\t\t\tupdatedFormat,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\thasTimePicker || timePicker\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst isValid =\n\t\t\t\t\t\t\tgetDateFromFormat(fieldValue, originalFormat) ||\n\t\t\t\t\t\t\tgetDateFromFormat(fieldValue, originalFormat.replace(/z/g, ''));\n\t\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\t\tconst updatedValue = fnsFormat(\n\t\t\t\t\t\t\t\tnew Date(isValid),\n\t\t\t\t\t\t\t\tdatfnsFormat.replace(' z', ''),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t\t\tuseAdditionalWeekYearTokens: false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\t\tactualFormat: format,\n\t\t\t\t\t\t\t\tvalue: updatedValue,\n\t\t\t\t\t\t\t\tactualValue: properties.value\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tpendingValue: updatedValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\t\tdefaultDateTime.initialValue = properties;\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\t\tvalue: defaultDateTime.value\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Handle case when date-picker field is empty\n\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\tdefaultDateTime.initialValue = properties;\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\tactualFormat: format,\n\t\t\t\t\t\t\tactualValue: properties.value,\n\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (fieldValue) {\n\t\t\t\t\t\tconst isValid = getDateFromFormat(\n\t\t\t\t\t\t\tfieldValue,\n\t\t\t\t\t\t\toriginalFormat.replace(' z', '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: properties.actualFormat,\n\t\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: properties.actualFormat\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tformat: properties.actualFormat,\n\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst activeElement = host?.shadowRoot?.activeElement;\n\t\t\tif (!activeElement && showBottomBar(properties)) {\n\t\t\t\t// means the user has clicked Outside\n\t\t\t\tif (updatedFormat && !isTimeZoneEnabledField(updatedFormat)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisInitialValueNeeded: true,\n\t\t\t\t\t\topened: valuePayload\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(NOW_DATE_PICKER_ON_CANCEL);\n\t\t\t\t}\n\t\t\t} else if (activeElement?.nodeName === NOW_DATE_TIME && valuePayload) {\n\t\t\t\t// means the user has clicked inside date-picker panel\n\t\t\t\tupdateState({\n\t\t\t\t\topened: valuePayload,\n\t\t\t\t\tisInitialValueNeeded: false,\n\t\t\t\t\tsavePending: false\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\topened: valuePayload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\teffect: ({\n\t\t\taction: { payload },\n\t\t\tupdateState,\n\t\t\tproperties: { onStagedValueChange },\n\t\t\tstate,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\t/**\n\t\t\t *  Similar to onDateChange function from CalendarView\n\t\t\t * Called as the user interacts with the dropdown. These changes\n\t\t\t * are not persisted unless the user explicitly clicks OK.\n\t\t\t */\n\t\t\tconst pendingValue = payload.value;\n\t\t\tconst { properties, opened } = state;\n\n\t\t\tif (!opened) return;\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onStagedValueChange,\n\t\t\t\tisValueChanged: false,\n\t\t\t\tdispatchPayload: { value: pendingValue }\n\t\t\t});\n\t\t\tconst hasBottomBar = showBottomBar(properties);\n\t\t\tif (!hasBottomBar) {\n\t\t\t\t// the calendar should still be open if the user is interacting with an empty\n\t\t\t\t// date picker, even if it is bottomless. if there is a value, it will close\n\t\t\t\t// when date changes again as expected\n\t\t\t\t// value is defaulted to the current date/time for absolute dates\n\t\t\t\t// for time ago close popover in any case\n\t\t\t\tconst close = !pendingValue;\n\t\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\t\tvalue: opened && close\n\t\t\t\t});\n\t\t\t\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\t\t\t\tpendingValue: pendingValue\n\t\t\t\t});\n\t\t\t}\n\t\t\tupdateState({\n\t\t\t\tpendingValue\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_SAVE_VALUE]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { pendingValue }\n\t\t\t},\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tcontext: { [localeContext]: locale }\n\t\t}) => {\n\t\t\tconst inputStr = pendingValue;\n\t\t\tlet dateObj = getDateObject(properties, inputStr, locale);\n\t\t\tif (!dateObj && !isTimeZoneEnabledField(properties.actualFormat)) {\n\t\t\t\tdateObj = getDateObjectWithTz(properties, inputStr, locale);\n\t\t\t}\n\t\t\tconst date = dateObj?.date;\n\t\t\tconst isoDate = dateObj?.isoDate;\n\t\t\tconst {\n\t\t\t\ttype,\n\t\t\t\tdisabledDates,\n\t\t\t\toriginalFormat,\n\t\t\t\tonValueChange,\n\t\t\t\ttimePicker,\n\t\t\t\thasTimePicker\n\t\t\t} = properties;\n\n\t\t\tconst format = getFormat(properties);\n\t\t\tlet dateFnsFormat = getDateFnsFormat(\n\t\t\t\tformat,\n\t\t\t\ttype,\n\t\t\t\thasTimePicker || timePicker\n\t\t\t);\n\t\t\tdateFnsFormat = dateFnsFormat.replace(' z', '');\n\t\t\tlet isWeekYearToken = false;\n\t\t\tif (format?.indexOf('w') > 0) {\n\t\t\t\tisWeekYearToken = true;\n\t\t\t}\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tconst value =\n\t\t\t\tdate && isStrictCheck\n\t\t\t\t\t? fnsFormat(date, dateFnsFormat, {\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\tuseAdditionalWeekYearTokens: isWeekYearToken\n\t\t\t\t\t\t})\n\t\t\t\t\t: inputStr;\n\n\t\t\tlet error = null;\n\t\t\tif (inputStr && !date) {\n\t\t\t\terror = {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t'Invalid date {0}. Must be a valid date in the format {1}',\n\t\t\t\t\t\tinputStr,\n\t\t\t\t\t\tformat\n\t\t\t\t\t)\n\t\t\t\t};\n\t\t\t} else if (inputStr && disabledDates) {\n\t\t\t\tconst isADisabledDate = isDateIncluded(\n\t\t\t\t\tinputStr,\n\t\t\t\t\tdateFnsFormat,\n\t\t\t\t\tdisabledDates,\n\t\t\t\t\tlocale\n\t\t\t\t);\n\t\t\t\tif (isADisabledDate) {\n\t\t\t\t\terror = {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t\t'Invalid selection. Choose another date.',\n\t\t\t\t\t\t\tinputStr,\n\t\t\t\t\t\t\tgetDateFnsFormat(originalFormat)\n\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\tvalue,\n\t\t\t\t\terror,\n\t\t\t\t\tdate: date,\n\t\t\t\t\tisoDate: isoDate\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_ON_OK]: {\n\t\teffect: ({\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: { pendingValue }\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst { actualFormat } = properties;\n\t\t\tconst format = getFormat(properties);\n\t\t\tconst isTimeZoneEnabled = isTimeZoneEnabledField(actualFormat || format);\n\t\t\tlet selectedTimeValue = pendingValue;\n\t\t\tif (\n\t\t\t\t!isTimeZoneEnabled &&\n\t\t\t\tselectedTimeValue &&\n\t\t\t\t!isNil(properties.utcOffset)\n\t\t\t) {\n\t\t\t\tfetchServerDate(properties, dispatch, selectedTimeValue);\n\t\t\t} else {\n\t\t\t\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\t\t\t\tpendingValue\n\t\t\t\t});\n\n\t\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tsavePending: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_ON_CANCEL]: {\n\t\teffect: ({\n\t\t\tproperties: { onStagedValueChange },\n\t\t\tdispatch,\n\t\t\tstate: { value },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tpendingValue: value\n\t\t\t});\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onStagedValueChange,\n\t\t\t\tisValueChanged: false,\n\t\t\t\tdispatchPayload: { value }\n\t\t\t});\n\t\t\tdispatch(DATE_PICKER_OPENED_SET, { value: false });\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { toString } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@devsnc/sn-declarative-actions';\nimport '@servicenow/now-date-time';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { defaultDateTime } from './utils';\n\nimport {\n\tisAttrTrue,\n\tgetDeclarativeActionsProps,\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformMessages,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\tgetDateFromFormat,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers, {\n\tFETCH_SERVER_DATE,\n\tNOW_DATE_PICKER_SAVE_VALUE\n} from './actionHandlers';\nimport style from './date.scss';\nimport {\n\tDateTypes,\n\tparseTZ,\n\tisDateTimeValueValid\n} from '@servicenow/library-date-time';\nimport {\n\tDEFAULT_DATE_FORMAT,\n\tDEFAULT_DATE_TIME_FORMAT,\n\tDEFAULT_REPLACEMENTS,\n\tMONTHLY_FORMAT,\n\tQUARTERLY_FORMAT,\n\tWEEKLY_FORMAT,\n\tYEARLY_FORMAT,\n\tMONTHLY_TYPE,\n\tQUARTERLY_TYPE,\n\tYEARLY_TYPE,\n\tSTANDARD_TYPE,\n\tWEEKLY_TYPE,\n\tWEEKLY_ISO_FIRST_DAY,\n\tMOMENT_ISO_WEEK,\n\tMOMENT_WEEK\n} from './constants';\nimport * as Constants from './constants';\nimport { isSameDay, isAfter, isBefore, isWithinInterval } from 'date-fns';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const showBottomBar = properties => {\n\tconst { bottomBar, timePicker, hasTimePicker } = properties;\n\treturn !!(bottomBar || timePicker || hasTimePicker);\n};\n\nexport const getWeekType = isoWeek => (isoWeek ? MOMENT_ISO_WEEK : MOMENT_WEEK);\n\nexport function focusInput(host) {\n\tconst input = host.shadowRoot\n\t\t?.querySelector('now-date-time')\n\t\t?.shadowRoot?.querySelector('now-input-date-time');\n\tinput?.focus({ input: true });\n}\n\nexport const isDateIncluded = (date, format, datesToLookFor, locale) => {\n\tlet isWeekYearToken = false;\n\tif (format?.indexOf('w') > 0) {\n\t\tisWeekYearToken = true;\n\t}\n\tconst checkDate = parseTZ(date, format, new Date());\n\tconst parseOptions = {\n\t\tuseAdditionalWeekYearTokens: isWeekYearToken,\n\t\tlocale\n\t};\n\n\treturn datesToLookFor.some(compareRange => {\n\t\tlet answer = false;\n\n\t\tif (typeof compareRange === 'string') {\n\t\t\tconst compareDate = parseTZ(\n\t\t\t\tcompareRange,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isSameDay(checkDate, compareDate);\n\t\t} else if (\n\t\t\ttypeof compareRange === 'object' &&\n\t\t\tcompareRange.start &&\n\t\t\tcompareRange.end\n\t\t) {\n\t\t\tconst start = parseTZ(\n\t\t\t\tcompareRange.start,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tconst end = parseTZ(compareRange.end, format, new Date(), parseOptions);\n\t\t\tanswer = isWithinInterval(checkDate, { start, end });\n\t\t} else if (typeof compareRange === 'object' && compareRange.before) {\n\t\t\tconst beforeDate = parseTZ(\n\t\t\t\tcompareRange.before,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isBefore(checkDate, beforeDate);\n\t\t} else if (typeof compareRange === 'object' && compareRange.after) {\n\t\t\tconst afterDate = parseTZ(\n\t\t\t\tcompareRange.after,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isAfter(checkDate, afterDate);\n\t\t}\n\n\t\treturn answer;\n\t});\n};\n\nexport const getDateFnsFormat = (format, type, hasTime) => {\n\tconst formatWithReplacements = format =>\n\t\tObject.entries(DEFAULT_REPLACEMENTS).reduce(\n\t\t\t(acc, [key, value]) => acc.replace(key, value),\n\t\t\tformat\n\t\t);\n\n\t// Handle cases with both type and format\n\tif (type && format) {\n\t\tconst replacedFormat = formatWithReplacements(format);\n\t\tif (type === WEEKLY_TYPE) {\n\t\t\t// This is a special case with regard to Date-fns\n\t\t\treturn replacedFormat.replace('yyyy', 'Y');\n\t\t}\n\t\treturn replacedFormat;\n\t}\n\n\t// Handle cases with type but no format\n\tif (type && !format) {\n\t\tswitch (type) {\n\t\t\tcase WEEKLY_TYPE:\n\t\t\t\treturn WEEKLY_FORMAT;\n\t\t\tcase QUARTERLY_TYPE:\n\t\t\t\treturn QUARTERLY_FORMAT;\n\t\t\tcase MONTHLY_TYPE:\n\t\t\t\treturn MONTHLY_FORMAT;\n\t\t\tcase YEARLY_TYPE:\n\t\t\t\treturn YEARLY_FORMAT;\n\t\t\tcase STANDARD_TYPE:\n\t\t\t\treturn (\n\t\t\t\t\tformat || (hasTime ? DEFAULT_DATE_TIME_FORMAT : DEFAULT_DATE_FORMAT)\n\t\t\t\t);\n\t\t}\n\t}\n\tif (!format) {\n\t\treturn;\n\t}\n\t// Handle cases with format but no type\n\treturn formatWithReplacements(format);\n};\n\nexport const getFormat = ({\n\ttimePicker,\n\thasTimePicker,\n\tformat,\n\ttype,\n\tisoWeek = false\n}) => {\n\tif (type === Constants.STANDARD_TYPE) {\n\t\t// In UI16 AM or PM are supported but with moment JS transition we support am and pm\n\t\t// This is done so as to support parity with UI16\n\t\treturn (\n\t\t\tformat ||\n\t\t\t(timePicker || hasTimePicker ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD')\n\t\t);\n\t}\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek\n\t\t\t? Constants.MOMENT_WEEKLY_ISO_FORMAT\n\t\t\t: Constants.MOMENT_WEEKLY_FORMAT;\n\n\treturn Constants[`MOMENT_${type?.toUpperCase()}_FORMAT`];\n};\n\n/**\n * Convert the value (string) into a date-fns date object\n */\nexport const getDateObject = (properties, value, locale) => {\n\tif (!value) {\n\t\treturn null;\n\t}\n\tconst format = getFormat(properties);\n\tconst { type, hasTimePicker, timePicker, required } = properties;\n\n\tconst isValid = isDateTimeValueValid({\n\t\tvalue,\n\t\tformat: getDateFnsFormat(format, type, hasTimePicker || timePicker),\n\t\trequired: required,\n\t\tlocale\n\t});\n\treturn isValid.valid ? isValid : null;\n};\n\nexport const saveValue = (inputStr, dispatch) => {\n\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\tpendingValue: inputStr\n\t});\n};\n\nexport const fetchServerDate = (properties, dispatch, dt) => {\n\tconst { originalFormat } = properties;\n\tdt = dt.trim();\n\tconst dateFromFormat =\n\t\tgetDateFromFormat(dt, originalFormat.trim()) ||\n\t\tgetDateFromFormat(dt, originalFormat.replace(/z/g, '').trim());\n\tconst date = dateFromFormat ? new Date(dateFromFormat) : new Date();\n\tconst browserOffset = date.getTimezoneOffset() * 60000;\n\tconst utcTime = date.getTime() - browserOffset;\n\tconst utcOffset = properties.utcOffset * 60 * 60 * 1000;\n\tconst userDateTime = utcTime - utcOffset;\n\tdispatch(FETCH_SERVER_DATE, {\n\t\tsysparm_processor: 'DateTimeUtils',\n\t\tsysparm_name: 'formatCalendarDate',\n\t\tsysparm_value: userDateTime\n\t});\n};\n\n/**\n * Called as the user interacts with the input field. These changes\n * are persisted as the user types, unlike dropdown interaction\n */\nexport const onInputChange =\n\t({ onStagedValueChange }, updateState) =>\n\tevent => {\n\t\tconst path = event.path || (event.composedPath && event.composedPath());\n\t\tconst value = path[0].value;\n\t\tupdateState({\n\t\t\tpendingValue: value,\n\t\t\tisInitialValueNeeded: !value,\n\t\t\tsavePending: true\n\t\t});\n\n\t\tonStagedValueChange({ value });\n\t};\n\nexport const onInputBlur =\n\t({ pendingValue }, dispatch) =>\n\tevent => {\n\t\tif (!event?.relatedTarget?.classList?.contains('now-date-time-calendar')) {\n\t\t\tsaveValue(pendingValue, dispatch);\n\t\t}\n\t};\n\nconst getType = (type, timePicker, hasTimePicker) => {\n\tconst typeMappings = {\n\t\tweekly: 'week-year',\n\t\tmonthly: 'month',\n\t\tyearly: 'year',\n\t\tquarterly: 'quarter'\n\t};\n\n\tconst hasTime = timePicker || hasTimePicker;\n\n\treturn typeMappings[type] ?? (hasTime ? DateTypes.DATE_TIME : DateTypes.DATE);\n};\n\nexport const getDateObjectWithTz = (properties, value, locale) => {\n\tif (!value) {\n\t\treturn null;\n\t}\n\tconst { format, type, hasTimePicker, timePicker, required } = properties;\n\tconst isValid = isDateTimeValueValid({\n\t\tvalue,\n\t\tformat: getDateFnsFormat(format, type, hasTimePicker || timePicker).replace(\n\t\t\t' z',\n\t\t\t''\n\t\t),\n\t\trequired: required,\n\t\tlocale\n\t});\n\treturn isValid.valid ? isValid : null;\n};\n\n/**\n * Allows users to input date (and time) values either by direct import or via\n * a calendar popup.\n */\nconst view = (state, { dispatch, updateState }) => {\n\tlet { opened, pendingValue, properties, isInitialValueNeeded } = state;\n\tconst {\n\t\thasTimePicker,\n\t\tname,\n\t\tlabel,\n\t\tmessages,\n\t\tinvalid,\n\t\trequired,\n\t\treadonly,\n\t\ttimePicker,\n\t\tautofocus,\n\t\tisoWeek,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\ttype,\n\t\tlanguage,\n\t\tfirstDayOfWeek,\n\t\tdisabledDates,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformat,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tyearRange\n\t} = properties;\n\n\tconst isReadonly = isAttrTrue(readonly);\n\tconst declarativeActionsProps = getDeclarativeActionsProps(\n\t\tproperties.declarativeActionsProps,\n\t\tproperties\n\t);\n\tconst firstDay = firstDayOfWeek ? firstDayOfWeek : WEEKLY_ISO_FIRST_DAY;\n\n\tconst footerActions = [\n\t\t{ label: t('OK'), variant: 'secondary', key: 'OK' },\n\t\t{ label: t('Cancel'), variant: 'tertiary', key: 'Cancel' }\n\t];\n\n\tconst updatedDisableDates =\n\t\tdisabledDates?.length > 0\n\t\t\t? disabledDates.map(ensureObjectWithValueProperty)\n\t\t\t: [];\n\n\t// Handle strings consistently by ensuring a \"value\" property\n\tfunction ensureObjectWithValueProperty(obj) {\n\t\tif (typeof obj === 'string') {\n\t\t\treturn { value: obj };\n\t\t}\n\t\treturn obj;\n\t}\n\n\tconst calendarType = getType(type, timePicker, hasTimePicker);\n\n\tlet initialValue = '';\n\tconst updatedPendingValue = pendingValue === true ? '' : pendingValue;\n\tif (opened === true && !updatedPendingValue && !isInitialValueNeeded) {\n\t\tdefaultDateTime.initialValue = properties;\n\t\tinitialValue = defaultDateTime.value;\n\t}\n\n\treturn (\n\t\t<div className=\"now-record-date-picker\">\n\t\t\t<now-date-time\n\t\t\t\tvalue={toString(updatedPendingValue) || initialValue}\n\t\t\t\tformat={getDateFnsFormat(format, type, hasTimePicker || timePicker)}\n\t\t\t\ttype={calendarType}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tyearRange={yearRange}\n\t\t\t\tlabel={label}\n\t\t\t\tfirstDayOfWeek={firstDay - 1}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tmessages={transformMessages(messages)}\n\t\t\t\tplaceholder={getFormat(properties)}\n\t\t\t\tname={`${name}-date`}\n\t\t\t\topened={opened}\n\t\t\t\treadonly={isReadonly}\n\t\t\t\trequired={required}\n\t\t\t\tsize={'md'}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tshowDefaultFooterActions={false}\n\t\t\t\tdisabledItems={updatedDisableDates}\n\t\t\t\tlocale={language}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tmanage-invalid\n\t\t\t\tmanage-value\n\t\t\t\toninput={onInputChange(state, updateState)}\n\t\t\t\tonblur={onInputBlur(state, dispatch)}\n\t\t\t\thideFooter={false}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tfooterActions={showBottomBar(properties) ? footerActions : []}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tpanelFitProps={[\n\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t\t{ target: 'top-end', content: 'bottom-end' }\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={properties.formData}\n\t\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START\n\t\t\t\t)}\n\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(properties)}\n\t\t\t<\/now-date-time>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n\n/**\n *\n * This component allows users to specify a date, or pick a date from a calendar\n *\n * ```jsx\n * <now-record-date-picker label=\"Pick a date\" value=\"2020-02-02\" />\n * ```\n *\n * With time picker\n *\n * ```jsx\n * <now-record-date-picker\n *\t\tlabel=\"Pick a date and time\"\n *\t\tvalue=\"2020-02-02 2:45 pm\"\n *\t\tformat=\"YYYY-MM-DD hh:mm a\"\n *\t\ttimePicker\n * />\n * ```\n *\n * @seismicElement now-record-date-picker\n * @summary Date Picker Component\n *\n */\ncreateCustomElement('now-record-date-picker', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState: ({ properties: { value } }) => ({\n\t\topened: false,\n\t\tpendingValue: value === true ? '' : value,\n\t\tvalue: value === true ? '' : value\n\t}),\n\tproperties: {\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Whether or not to display the bottom bar containing the Ok and Cancel buttons.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tbottomBar: { default: true },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {any}\n\t\t * @private\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t *\n\t\t * Type of the field\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: { default: 1 },\n\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t * - For weekly type, `[W]ww YYYY`\n\t\t * - For yearly type, `YYYY`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\n\t\t/**\n\t\t * Keep original Format as user defined format\n\t\t *\n\t\t * This is needed to use for validation in case if we have timezone(z) in dateTimeFormat , we will be using\n\t\t * platform validation which does not understands the moment validation\n\t\t * Currently format property for this component is converted to upperCase ,\n\t\t * this originalFormat is the actual format configured in the system\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\toriginalFormat: {},\n\t\t/**\n\t\t * Please use `timePicker` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\thasTimePicker: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\n\t\t/**\n\t\t * The UTC offset\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tutcOffset: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * User language preference. Used for moment date formatting\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {boolean|string}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * The initial date/date-time value. This value must be the localized time, rather than UTC time.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\t\t/**\n\t\t * Used to store the original moment format while parsing date-strings with z-token\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tactualFormat: {},\n\n\t\t/**\n\t\t * Used to store original previous value for the date field while parsing fields with z-token\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tactualValue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 100 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: { start: -100, end: 100, relative: true },\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: { type: 'number' },\n\t\t\t\t\tend: { type: 'number' },\n\t\t\t\t\trelative: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a different date is chosen prior to clicking the OK button.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_DATE_PICKER#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the OK button is clicked and the value is saved.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_DATE_PICKER#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","const BEHAVIOR_NAME = 'rtl';\n\n/**\n * This behavior helps style Now Design System components in right-to-left (RTL) layouts.\n * It sets the component host's `dir` attribute based on the `document.dir` of\n * its parent application. If `document.dir` is not explicitly defined, it will\n * set the component host's `dir` attribute to `'ltr'` by default.\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import rtlBehavior from '@servicenow/behavior-rtl';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [{behavior: rtlBehavior}]\n * });\n * ```\n *\n * For more information about styling RTL components, see the\n * [Design System internationalization guide](https://emotive.servicenow.com/develop/resources/i18n).\n *\n * @seismicBehavior rtlBehavior\n * @summary Sets the component host's `dir` attribute to support right-to-left layouts\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tproperties: {\n\t\tdir: {\n\t\t\tget default() {\n\t\t\t\treturn document.dir || 'ltr';\n\t\t\t},\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n};\n","import moment from 'moment';\nimport { t } from 'sn-translate';\n\nexport const INVALID_MOMENT = moment(null);\n\n// Note: Whenever updating *_VIEW_TAG, make sure to additionally update\n// the elementNames passed into createCustomElement in respective views\nexport const STANDARD_TYPE = 'standard';\nexport const STANDARD_VIEW_TAG = 'sn-controls-standard-view';\n\nexport const WEEKLY_TYPE = 'weekly';\nexport const WEEKLY_FORMAT = '[W]ww YYYY';\nexport const WEEKLY_ISO_FORMAT = '[W]WW YYYY';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MAX_DAYS_IN_ADJACENT_NEXT_MONTH = 14;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MONTHLY_TYPE = 'monthly';\nexport const MONTHLY_FORMAT = 'MMM YYYY';\nexport const MONTHLY_VIEW_TAG = 'sn-controls-monthly-view';\n\nexport const YEARLY_NUM_ROWS = 3;\nexport const YEARLY_YEARS_PER_ROW = 4;\nexport const YEARLY_VISIBLE_YEARS = YEARLY_NUM_ROWS * YEARLY_YEARS_PER_ROW;\nexport const YEARLY_TYPE = 'yearly';\nexport const YEARLY_FORMAT = 'YYYY';\nexport const YEARLY_VIEW_TAG = 'sn-controls-yearly-view';\n\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const QUARTERLY_FORMAT = '[Q]Q YYYY';\nexport const QUARTERS_ARRAY = ['Q1', 'Q2', 'Q3', 'Q4'];\nexport const QUARTERLY_VIEW_TAG = 'sn-controls-quarterly-view';\n\nexport const AFFIRMATIVE_KEYS = ['Enter', ' ', 'Spacebar'];\nexport const NAVIGATION_KEYS = [\n\t'ArrowRight',\n\t'ArrowLeft',\n\t'ArrowDown',\n\t'ArrowUp'\n];\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\n\n// Common dispatched events\nexport const SET_VISIBLE_YEAR = 'YEAR_HEADER#SET_VISIBLE_YEAR';\nexport const INIT_HIGHLIGHTED_DATE = 'GRID#INIT_HIGHLIGHTED_DATE';\nexport const SET_DATE = 'GRID#SET_DATE';\n\n//Default format from server api for timeago\nexport const DEFAULT_RESPONSE_FORMAT = 'YYYY-MM-DD hh:mm:ss';\n\nexport const ARIA_LABEL_DATE_FORMAT = 'LL, dddd';\n","import { chunk, range, map } from 'lodash';\nimport { weekdays, mod, cycle } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { time } from '@devsnc/sn-controls-common';\nimport {\n\tWEEKLY_ISO_FIRST_DAY,\n\tMOMENT_WEEK,\n\tMOMENT_ISO_WEEK\n} from '../constants';\n\nexport function getDateRangeRows(\n\tdate,\n\tfirstDayOfWeek = 0,\n\tdisabledDays = new Set(),\n\tisoWeek = false\n) {\n\tconst firstDay = isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek;\n\tconst grid = getDateRange(date, firstDay);\n\n\treturn chunk(\n\t\t[\n\t\t\t...map(grid.prevMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: true,\n\t\t\t\tadjacentMonthDay: true\n\t\t\t})),\n\t\t\t...map(grid.thisMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: disabledDays.has(day),\n\t\t\t\tadjacentMonthDay: false\n\t\t\t})),\n\t\t\t...map(grid.nextMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: true,\n\t\t\t\tadjacentMonthDay: true\n\t\t\t}))\n\t\t],\n\t\t7\n\t);\n}\n\n/**\n * Calculates the necessary days needed to fill a calendar, by taking the days\n * of the current month and padding with data from the previous and next month\n * in order to make a pretty grid.\n */\nexport function getDateRange(date, firstDayOfWeek = 0) {\n\tconst firstOfThisMonth = date.clone().date(1).day();\n\t// Figure out the number of days we need to use from the last month so that\n\t// the first row/week is completely filled with days and all aligned\n\t// properly.\n\tlet daysNeededLastMonth = mod(firstOfThisMonth - firstDayOfWeek, 7);\n\tdaysNeededLastMonth = daysNeededLastMonth === 0 ? 7 : daysNeededLastMonth;\n\n\t// Take the number of days that we're rendering so far (some from previous\n\t// month + number of days of current month). Add enough days from the next\n\t// month so that we have 6 weeks visible (42 days)\n\tconst daysThisMonth = date.daysInMonth();\n\tconst daysNeededNextMonth = 42 - daysNeededLastMonth - daysThisMonth;\n\n\t// Return this data as separate values in an object because we're going to\n\t// want to style prevMonth and nextMonth values differently than values for\n\t// the current month.\n\tconst lastDayLastMonth = date.clone().subtract(1, 'month').daysInMonth();\n\treturn {\n\t\tprevMonth: range(\n\t\t\tlastDayLastMonth - daysNeededLastMonth + 1,\n\t\t\tlastDayLastMonth + 1\n\t\t),\n\t\tthisMonth: range(1, daysThisMonth + 1),\n\t\tnextMonth: range(1, daysNeededNextMonth + 1)\n\t};\n}\n\n/**\n * Display the first letter for each day of the week\n * TODO: i18n\n */\nexport const DaysOfWeek = ({ firstDayOfWeek = 0, language, weeklyView }) => (\n\t<div className=\"now-record-date-picker-week\">\n\t\t{weeklyView && (\n\t\t\t<div aria-hidden className=\"now-record-date-picker-week-day -weekly\">\n\t\t\t\t{t('WK')}\n\t\t\t<\/div>\n\t\t)}\n\t\t{cycle(weekdays(language), -firstDayOfWeek).map(day => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\taria-label={day}\n\t\t\t\t\tclassName={\n\t\t\t\t\t\t'now-record-date-picker-week-day' + (weeklyView ? ' -weekly' : '')\n\t\t\t\t\t}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tkey={day}\n\t\t\t\t>\n\t\t\t\t\t{day[0].toUpperCase()}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t})}\n\t<\/div>\n);\n\nexport const getWeekType = isoWeek => (isoWeek ? MOMENT_ISO_WEEK : MOMENT_WEEK);\n\n// There is some confusion regarding moment parsing vs formatting behavior\n// moment('1 2015','w YYYY').format('w YYYY') => 1 2014\n// For servicenow purposes this seems incorrect so we make sure that it will be `1 2015`\n// @see: https://stackoverflow.com/questions/35193563/moment-js-bug-while-adding-1-week-at-last-week-of-year\nexport const adjustWeekForYearOverlap = (date, language, isoWeek, weekType) => {\n\tconst firstOfNextYear = time(language)({\n\t\tyear: date.year() + 1\n\t});\n\tif (!isoWeek && date.isSame(firstOfNextYear, weekType)) {\n\t\tdate = firstOfNextYear.clone();\n\t}\n\treturn date;\n};\n","import { flatten, isFunction, isObject, isString, map, range } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport moment from 'moment';\nimport * as Constants from '../constants';\nimport { getWeekType } from './gridUtils';\n\nexport function handleKeyPress({ keymap, highlightedDate, reversed, event }) {\n\tconst maybeCtrlHandler = event.ctrlKey && keymap[`Ctrl${event.key}`];\n\tconst handler = maybeCtrlHandler || keymap[event.key];\n\n\t// Ignore any keys that are not part of the keymap\n\tif (!isObject(handler)) {\n\t\treturn highlightedDate;\n\t}\n\n\tevent.preventDefault();\n\n\tconst isReversed = isAttrTrue(reversed);\n\tconst currentDate = highlightedDate.clone();\n\treturn isFunction(handler)\n\t\t? handler(currentDate, isReversed)\n\t\t: currentDate.add(handler);\n}\n\nexport function isDateIncluded(date, format, datesToLookFor) {\n\tconst checkDate = moment(date, format);\n\treturn datesToLookFor.reduce((prev, compareRange) => {\n\t\tlet answer = false;\n\t\tif (isString(compareRange)) {\n\t\t\tconst compareDate = moment(compareRange, format);\n\t\t\tanswer = compareDate.isSame(checkDate);\n\t\t} else if (\n\t\t\tisObject(compareRange) &&\n\t\t\tcompareRange.start &&\n\t\t\tcompareRange.end\n\t\t) {\n\t\t\tconst start = moment(compareRange.start, format);\n\t\t\tconst end = moment(compareRange.end, format);\n\t\t\tanswer = checkDate.isSameOrAfter(start) && checkDate.isSameOrBefore(end);\n\t\t} else if (typeof compareRange === 'object' && compareRange.before) {\n\t\t\tconst beforeDate = moment(compareRange.before, format);\n\t\t\tanswer = checkDate.isBefore(beforeDate);\n\t\t} else if (typeof compareRange === 'object' && compareRange.after) {\n\t\t\tconst afterDate = moment(compareRange.after, format);\n\t\t\tanswer = checkDate.isAfter(afterDate);\n\t\t}\n\t\treturn prev || answer;\n\t}, false);\n}\n\n/**\n * Given a date (contains month and year), a format string, and an array of disabled dates,\n * this function returns a set of days for the month that should be disabled\n * @param {string} date - Date string formatted\n * @param {string} format - Date format to parse the dates with\n * @param {Array<string|{start:string, end:string}|{before:string}|{after:string}>} disabledDates - Array of dates that should be disabled\n */\nexport const getDisabledDays = (\n\tdate,\n\tformat,\n\tdisabledDates,\n\tweeklyView = false,\n\tisoWeek = false\n) => {\n\tconst monthStart = date.clone().startOf('month');\n\tconst monthEnd = date.clone().endOf('month').startOf('day');\n\tconst weekType = getWeekType(isoWeek);\n\tconst disabledDays = map(disabledDates, element => {\n\t\tif (element) {\n\t\t\t// Single date\n\t\t\tif (isString(element)) {\n\t\t\t\tconst dateElement = moment(element, format);\n\t\t\t\tif (weeklyView) {\n\t\t\t\t\tconst startOfWeek = dateElement.clone().startOf(weekType);\n\t\t\t\t\tconst endOfWeek = dateElement.clone().endOf(weekType);\n\t\t\t\t\tif (startOfWeek.isBetween(monthStart, monthEnd, 'day', '[]')) {\n\t\t\t\t\t\treturn startOfWeek.date();\n\t\t\t\t\t} else if (endOfWeek.isBetween(monthStart, monthEnd, 'day', '[]')) {\n\t\t\t\t\t\treturn endOfWeek.date();\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn dateElement.isBetween(monthStart, monthEnd, 'day', '[]')\n\t\t\t\t\t\t? dateElement.date()\n\t\t\t\t\t\t: [];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Date ranges\n\t\t\telse {\n\t\t\t\tlet { start, end, after, before } = element;\n\t\t\t\tlet dates = [];\n\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInMonth = start.month() === date.month();\n\t\t\t\t\tconst endInMonth = end.month() === date.month();\n\t\t\t\t\tconst monthInRange = date.isBetween(start, end, 'month', '[]');\n\n\t\t\t\t\t// We only care if the range touches the month\n\t\t\t\t\tif (startInMonth || endInMonth || monthInRange) {\n\t\t\t\t\t\tconst maxStart = moment.max(start, monthStart);\n\t\t\t\t\t\tconst minEnd = moment.min(end, monthEnd);\n\t\t\t\t\t\tdates = [...range(maxStart.date(), minEnd.date() + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended before range\n\t\t\t\tif (before) {\n\t\t\t\t\tbefore = moment(before, format).startOf('day');\n\t\t\t\t\t// We only care about before if it intersects with the current month\n\t\t\t\t\tif (before.isAfter(monthStart)) {\n\t\t\t\t\t\tconst endDay = before.isSameOrBefore(monthEnd)\n\t\t\t\t\t\t\t? before.date()\n\t\t\t\t\t\t\t: monthEnd.date() + 1;\n\t\t\t\t\t\tdates = [...dates, ...range(monthStart.date(), endDay)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tafter = moment(after, format).startOf('day');\n\t\t\t\t\t// We only care about after if it intersects with the current month\n\t\t\t\t\tif (after.isBefore(monthEnd)) {\n\t\t\t\t\t\tconst startDay = after.isSameOrAfter(monthStart)\n\t\t\t\t\t\t\t? weeklyView\n\t\t\t\t\t\t\t\t? after.clone().endOf(weekType).date() + 1\n\t\t\t\t\t\t\t\t: after.date() + 1\n\t\t\t\t\t\t\t: monthStart.date();\n\t\t\t\t\t\tdates = [...dates, ...range(startDay, monthEnd.date() + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn dates;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledDays));\n};\n\n/**\n * Determines expected date format given the calendar type or format properties\n */\nexport const getFormat = ({\n\ttimePicker,\n\thasTimePicker,\n\tformat,\n\ttype,\n\tisoWeek = false\n}) => {\n\tif (type === Constants.STANDARD_TYPE)\n\t\treturn (\n\t\t\tformat ||\n\t\t\t(timePicker || hasTimePicker ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD')\n\t\t);\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek ? Constants.WEEKLY_ISO_FORMAT : Constants.WEEKLY_FORMAT;\n\n\treturn Constants[`${type.toUpperCase()}_FORMAT`];\n};\n\nexport const getDisabledYears = (years, disabledDates) => {\n\tconst yearsInView = flatten(years);\n\tconst disabledDays = map(disabledDates, element => {\n\t\tconst yearStart = Math.min(...yearsInView);\n\t\tconst yearEnd = Math.max(...yearsInView);\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element) && yearsInView.includes(+element)) {\n\t\t\t\t//Single\n\t\t\t\tdates = [+element];\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tconst yearsToDisable = yearsInView.filter(\n\t\t\t\t\t\tyear => year >= +start && year <= +end\n\t\t\t\t\t);\n\t\t\t\t\tdates = [...yearsToDisable];\n\t\t\t\t}\n\n\t\t\t\t// Open ended before range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeYear = +before;\n\t\t\t\t\tif (yearsInView.includes(beforeYear)) {\n\t\t\t\t\t\t// current\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, beforeYear)];\n\t\t\t\t\t} else if (beforeYear > yearEnd) {\n\t\t\t\t\t\t// prior\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, yearEnd + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterYear = +after;\n\t\t\t\t\tif (yearsInView.includes(afterYear)) {\n\t\t\t\t\t\t// current\n\t\t\t\t\t\tdates = [...dates, ...range(afterYear + 1, yearEnd + 1)];\n\t\t\t\t\t} else if (afterYear < yearStart) {\n\t\t\t\t\t\t// after\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, yearEnd + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledDays));\n};\n\nexport const getDisabledQuarters = (year, disabledDates) => {\n\tconst currentYear = moment({ year });\n\tconst yearPart = currentYear.year();\n\tconst format = Constants.QUARTERLY_FORMAT;\n\tconst disabledQuarters = map(disabledDates, element => {\n\t\tconst quarterStart = currentYear.clone().startOf('year');\n\t\tconst quarterEnd = currentYear.clone().endOf('year');\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element)) {\n\t\t\t\t// Single\n\t\t\t\tconst disabledQuarter = moment(element, format);\n\t\t\t\tif (disabledQuarter.year() === yearPart) {\n\t\t\t\t\tdates = [disabledQuarter.quarter()];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInYear = start.year() === yearPart;\n\t\t\t\t\tconst endInYear = end.year() === yearPart;\n\n\t\t\t\t\tif (start.year() < yearPart && yearPart < end.year()) {\n\t\t\t\t\t\t//in between\n\t\t\t\t\t\t//all Quarters\n\t\t\t\t\t\tdates = [\n\t\t\t\t\t\t\t...range(quarterStart.quarter(), quarterEnd.quarter() + 1)\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (startInYear && endInYear) {\n\t\t\t\t\t\t// same start and end year\n\t\t\t\t\t\tconst quarterIndexes = range(start.quarter(), end.quarter() + 1);\n\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t} else if (startInYear || endInYear) {\n\t\t\t\t\t\t// same start or end year\n\t\t\t\t\t\tif (startInYear && start.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tstart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (endInYear && end.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tend.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeQuarter = moment(before, format);\n\t\t\t\t\tif (beforeQuarter.year() == yearPart) {\n\t\t\t\t\t\tif (beforeQuarter.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tbeforeQuarter.quarter()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (beforeQuarter.year() > yearPart) {\n\t\t\t\t\t\tif (beforeQuarter.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterQuarter = moment(after, format);\n\t\t\t\t\tif (afterQuarter.year() == yearPart) {\n\t\t\t\t\t\tif (afterQuarter.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tafterQuarter.quarter() + 1,\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (afterQuarter.year() < yearPart) {\n\t\t\t\t\t\tif (afterQuarter.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledQuarters));\n};\n\nexport const getDisabledMonths = (year, disabledDates) => {\n\tconst currentYear = moment({ year });\n\tconst yearPart = currentYear.year();\n\tconst format = Constants.MONTHLY_FORMAT;\n\tconst disabledMonths = map(disabledDates, element => {\n\t\tconst monthStart = currentYear.clone().startOf('year');\n\t\tconst monthEnd = currentYear.clone().endOf('year');\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element)) {\n\t\t\t\t// Single\n\t\t\t\tconst disabledMonth = moment(element, format);\n\t\t\t\tif (disabledMonth.year() === yearPart) {\n\t\t\t\t\tdates = [disabledMonth.month()];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInYear = start.year() === yearPart;\n\t\t\t\t\tconst endInYear = end.year() === yearPart;\n\n\t\t\t\t\tif (start.year() < yearPart && yearPart < end.year()) {\n\t\t\t\t\t\t//in between\n\t\t\t\t\t\t//all Months\n\t\t\t\t\t\tdates = [...range(monthStart.month(), monthEnd.month() + 1)];\n\t\t\t\t\t} else if (startInYear && endInYear) {\n\t\t\t\t\t\t// same start and end year\n\t\t\t\t\t\tconst monthIndexes = range(start.month(), end.month() + 1);\n\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t} else if (startInYear || endInYear) {\n\t\t\t\t\t\t// same start or end year\n\t\t\t\t\t\tif (startInYear && start.isBefore(monthEnd)) {\n\t\t\t\t\t\t\tconst monthIndexes = range(start.month(), monthEnd.month() + 1);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (endInYear && end.isAfter(monthStart)) {\n\t\t\t\t\t\t\tconst monthIndexes = range(monthStart.month(), end.month() + 1);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeQuarter = moment(before, format);\n\t\t\t\t\tif (beforeQuarter.isAfter(monthStart)) {\n\t\t\t\t\t\tif (beforeQuarter.year() == yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tbeforeQuarter.month()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t} else if (beforeQuarter.year() > yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterQuarter = moment(after, format);\n\t\t\t\t\tif (afterQuarter.isBefore(monthEnd)) {\n\t\t\t\t\t\tif (afterQuarter.year() == yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tafterQuarter.month() + 1,\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t} else if (afterQuarter.year() < yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledMonths));\n};\n\n/**\n * Returns whether or not a day on the calendar is focusable via the tab key\n *\n * @param {boolean} isHighlighted\n * @param {boolean}} isSelected\n * @param {boolean} rangePicker\n * @param {boolean} isAdjacentMonthDay\n * @returns {boolean}\n */\nexport const isDayFocusable = (\n\tisHighlighted,\n\tisSelected,\n\trangePicker,\n\tisAdjacentMonthDay\n) => {\n\treturn (isHighlighted || (isSelected && !rangePicker)) && !isAdjacentMonthDay;\n};\n","import { clamp, inRange, keys, mapValues, padStart, reduce } from 'lodash';\nimport moment from 'moment';\nimport { isAttrTrue, isTimeZoneEnabledField } from '@devsnc/sn-controls-common';\n\n// Unit names and limiting values. Each key+value generates\n// an input field, with the key name used as the input label.\nexport const UNIT_LIMITS = {\n\thours: [0, 24],\n\tminutes: [0, 60],\n\tseconds: [0, 60],\n\tmilliseconds: [0, 1000]\n};\n\n/**\n * Convert a 12-hour value into a 24-hour value\n */\nexport function to24Hour(value, isPM) {\n\tif (value === 0 || value === '') {\n\t\treturn 0;\n\t}\n\n\tvalue = clamp(value, 1, 12);\n\n\tif (value === 12) {\n\t\treturn isPM ? 12 : 0;\n\t}\n\n\tif (isPM) {\n\t\tvalue += 12;\n\t}\n\n\treturn isNaN(value) ? 0 : value;\n}\n\n/**\n * Create a moment time object.\n *\n * Can be an invalid time when value is empty string\n */\nexport function createTime(properties, state) {\n\tconst format = properties.format;\n\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\tlet initialTime = moment(properties.value, format, isStrictCheck);\n\tif (state) {\n\t\tlet { hours, minutes, seconds, milliseconds } = state;\n\t\thours = use24Hour(properties)\n\t\t\t? hours\n\t\t\t: hours > 12\n\t\t\t\t? hours\n\t\t\t\t: to24Hour(hours, state.pm);\n\t\tinitialTime.set({ hours, minutes, seconds, milliseconds });\n\t}\n\treturn initialTime;\n}\n\nexport function getTimeString(props, state) {\n\tlet initialTime = createTime(props, state);\n\tif (!initialTime.isValid()) {\n\t\tlet { hours, minutes, seconds, milliseconds } = state;\n\t\thours = use24Hour(props)\n\t\t\t? hours\n\t\t\t: hours > 12\n\t\t\t\t? hours\n\t\t\t\t: to24Hour(hours, state.pm);\n\t\tinitialTime = moment()\n\t\t\t.startOf('day')\n\t\t\t.set({ hours, minutes, seconds, milliseconds });\n\t}\n\treturn initialTime.format(props.format);\n}\n\n/**\n * Breaks out a moment time object into separate formatted values\n */\nexport function getTimeSegments(time, use24Hour) {\n\tconst isValid = time.isValid();\n\treturn mapValues(UNIT_LIMITS, (limit, unitName) => {\n\t\tif (!isValid) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst rawValue =\n\t\t\t!use24Hour && unitName === 'hours'\n\t\t\t\t? time.format('h')\n\t\t\t\t: time.get(unitName);\n\t\treturn unitName === 'milliseconds'\n\t\t\t? padStart(rawValue, 3, '0')\n\t\t\t: padStart(rawValue, 2, '0'); // padding milliseconds is different, 3 digits\n\t});\n}\n\n/**\n * Boolean indicating whether or not this component should use 24-hour format.\n * Checks for an explicity `use24Hour` prop, or when that isn't there it infers a value\n * based on the format string\n */\nexport function use24Hour(properties) {\n\treturn properties.use24Hour === undefined\n\t\t? String(properties.format).includes('H')\n\t\t: isAttrTrue(properties.use24Hour);\n}\n\nexport function isTimeValid(state) {\n\treturn reduce(\n\t\tkeys(UNIT_LIMITS),\n\t\t(result, value) => result && inRange(state[value], ...UNIT_LIMITS[value]),\n\t\ttrue\n\t);\n}\n\n// only include am/pm toggle when using 12-hour format if it includes the am/pm `a` in the format\n// the existing platform behaves the same way where it only allows am values if no `a` is provided`\nexport function useAmPm(props) {\n\treturn !use24Hour(props) && /\\ba\\b/.test(props.format);\n}\n\nexport function hasSeconds(props) {\n\treturn String(props.format).includes('ss');\n}\n\nexport function hasMilliseconds(props) {\n\treturn String(props.format).includes('SSS');\n}\n","import moment from 'moment';\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tisTimeZoneEnabledField\n} from '@devsnc/sn-controls-common';\nimport {\n\tcreateTime,\n\tgetTimeSegments,\n\tisTimeValid,\n\tuse24Hour,\n\thasSeconds,\n\thasMilliseconds,\n\tgetTimeString\n} from './utils';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const NOW_RECORD_TIME_ON_GROUP_BLUR =\n\t'NOW_RECORD_TIME_INTERNAL#ON_GROUP_BLUR';\nexport const NOW_RECORD_TIME_ON_CHANGE = 'NOW_RECORD_TIME_INTERNAL#ON_CHANGE';\nexport const NOW_RECORD_TIME_ON_BLUR = 'NOW_RECORD_TIME_INTERNAL#ON_BLUR';\nexport const NOW_RECORD_TIME_ON_FOCUS = 'NOW_RECORD_TIME_INTERNAL#ON_FOCUS';\nexport const INVALID_TIME_MESSAGE =\n\t'{0} is not a valid time. Please use format: {1}';\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({\n\t\thost,\n\t\tdispatch,\n\t\tproperties: { format, value, onValueChange }\n\t}) => {\n\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\tconst stringValue = value === true ? '' : value;\n\t\t//validate incoming value\n\t\tconst isValidValue = moment(stringValue, format, isStrictCheck).isValid();\n\t\tif (!isValidValue && stringValue)\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\thost,\n\t\t\t\t\tvalue,\n\t\t\t\t\terror: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(INVALID_TIME_MESSAGE, stringValue, format)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\tproperties,\n\t\taction: {\n\t\t\tpayload: { name, value }\n\t\t},\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'value' && !state.hasParentFocus) {\n\t\t\tconst newTime = createTime({ ...properties, value });\n\t\t\tconst timeSegments = getTimeSegments(\n\t\t\t\tnewTime,\n\t\t\t\tuse24Hour({ ...properties, value })\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\t...timeSegments,\n\t\t\t\tpm: newTime.hours() >= 12\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_RECORD_TIME_ON_GROUP_BLUR]: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { event, paylaodEvent, host }\n\t\t}\n\t}) => {\n\t\tif (!properties.relativeTime) {\n\t\t\tconst isValidTime = isTimeValid(state);\n\t\t\tif (\n\t\t\t\t(!state.hours || !isValidTime) &&\n\t\t\t\t(state.minutes || state.seconds || state.milliseconds)\n\t\t\t) {\n\t\t\t\t// create error message depending on format\n\t\t\t\tlet msg = `${state.hours}:${state.minutes}`;\n\t\t\t\tif (hasSeconds(properties)) {\n\t\t\t\t\tmsg += `:${state.seconds}`;\n\t\t\t\t}\n\n\t\t\t\tif (hasMilliseconds(properties)) {\n\t\t\t\t\tmsg += `:${state.milliseconds}`;\n\t\t\t\t}\n\t\t\t\tconst error = {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(INVALID_TIME_MESSAGE, `${msg}`, properties.format)\n\t\t\t\t};\n\t\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\t\tcallback: properties.onValueChange,\n\t\t\t\t\tisValueChanged: true,\n\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent: event || paylaodEvent,\n\t\t\t\t\t\tvalue: properties.value,\n\t\t\t\t\t\terror\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateProperties({ messages: [error] });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet value = '';\n\t\t\tif (state.hours || properties.defaultZeros)\n\t\t\t\tvalue = getTimeString(properties, state);\n\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: properties.onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\thost,\n\t\t\t\t\tevent: event || paylaodEvent,\n\t\t\t\t\tvalue\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (properties.messages.length) updateProperties({ messages: [] });\n\n\t\t\tupdateState({\n\t\t\t\t...getTimeSegments(\n\t\t\t\t\tcreateTime(properties, state),\n\t\t\t\t\tuse24Hour(properties)\n\t\t\t\t),\n\t\t\t\thasParentFocus: false\n\t\t\t});\n\t\t}\n\t}\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { map } from 'lodash';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-dropdown-internal';\nimport { SNInputGroup, Input } from '@devsnc/sn-record-input';\n\nimport {\n\tisAttrTrue,\n\taccessibilityAttributes\n} from '@devsnc/sn-controls-common';\n\nimport { NOW_RECORD_TIME_ON_GROUP_BLUR } from './actionHandlers';\n\nimport { hasMilliseconds, hasSeconds, UNIT_LIMITS, useAmPm } from './utils';\n\nexport const UNIT_NAMES = Object.keys(UNIT_LIMITS);\nconst DISPLAY_UNIT_NAMES = [\n\tt('Hours'),\n\tt('Minutes'),\n\tt('Seconds'),\n\tt('Milliseconds')\n];\n\n/**\n * @input : [Hours, Minutes, Seconds, Milliseconds]\n * @desc  : Array specifying the maximum number of characters allowed in the input fields.\n *          If a value is undefined, that input field will not have a maximum character limit.\n */\nconst TIME_INPUT_LIMITS = [2, 2, 2, undefined];\n\nconst items = [\n\t{ id: 'am', label: t('AM') },\n\t{ id: 'pm', label: t('PM') }\n];\n\nconst am = ['am'];\nconst pm = ['pm'];\n\n/**\n * A group of inputs to select a specific time of day.\n */\nconst view = (state, helpers) => {\n\tconst { dispatch, updateState = state.helpers?.updateState } = helpers;\n\tconst readonly = isAttrTrue(state.properties.readonly);\n\tconst { separator, formData: { showUnsavedIndicator = false } = {} } =\n\t\tstate.properties;\n\tconst {\n\t\tonValueChange,\n\t\tonStagedValueChange,\n\t\tproperties: { required }\n\t} = state;\n\n\tconst onChange = event => {\n\t\tevent.persist && event.persist();\n\t\tupdateState({\n\t\t\t[event.target.name]: event.target.value\n\t\t});\n\t};\n\n\tconst onFocus = event => {\n\t\tupdateState({\n\t\t\thasParentFocus: true,\n\t\t\t[`hasFocus-${event.target.name}`]: true\n\t\t});\n\t};\n\n\tconst onBlur = event => {\n\t\tevent.persist && event.persist();\n\t\tif (\n\t\t\tevent &&\n\t\t\tevent.target &&\n\t\t\tevent.target.name !== 'hours' &&\n\t\t\tstate.hours &&\n\t\t\t!state[event.target.name]\n\t\t)\n\t\t\tupdateState({\n\t\t\t\t[event.target.name]: '00',\n\t\t\t\thasParentFocus: false\n\t\t\t});\n\t\tupdateState({ [`hasFocus-${event.target.name}`]: false });\n\t};\n\n\tconst onToggleAmPm = ({ value }) => {\n\t\tupdateState({ pm: value === 'pm' });\n\t\tstate.hours\n\t\t\t? dispatch(NOW_RECORD_TIME_ON_GROUP_BLUR, { onValueChange })\n\t\t\t: undefined;\n\t};\n\n\tconst handleRef = node => {\n\t\tupdateState({\n\t\t\tpath: 'pickerNode',\n\t\t\tvalue: node,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"sn-timepicker\" ref={handleRef}>\n\t\t\t\t<SNInputGroup\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\tonStagedValueChange={onStagedValueChange}\n\t\t\t\t\tfieldset={true}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t>\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{map(UNIT_NAMES, (unitName, index) => {\n\t\t\t\t\t\t\tconst isFirstInput = index === 0;\n\n\t\t\t\t\t\t\tif (!hasSeconds(state.properties) && unitName === 'seconds') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!hasMilliseconds(state.properties) &&\n\t\t\t\t\t\t\t\tunitName === 'milliseconds'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst ariaLabel = t('{fieldLabel} {timeUnit}', {\n\t\t\t\t\t\t\t\tfieldLabel: state.properties.label || '',\n\t\t\t\t\t\t\t\ttimeUnit: DISPLAY_UNIT_NAMES[index]\n\t\t\t\t\t\t\t}).trim();\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Fragment key={unitName}>\n\t\t\t\t\t\t\t\t\t{!isFirstInput && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"sn-timepicker-separator\">\n\t\t\t\t\t\t\t\t\t\t\t{separator || ':'}\n\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t{...accessibilityAttributes(state.properties)}\n\t\t\t\t\t\t\t\t\t\t// omit aria-labelledby since we have an explicit aria-label here\n\t\t\t\t\t\t\t\t\t\t// and screenreaders take aria-labelledby over aria-label\n\t\t\t\t\t\t\t\t\t\tclassName=\"sn-control-input\"\n\t\t\t\t\t\t\t\t\t\taria-labelledby={undefined}\n\t\t\t\t\t\t\t\t\t\tcomponentId={`${state.properties.componentId}-${unitName}`}\n\t\t\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\t\t\tlabel={DISPLAY_UNIT_NAMES[index]}\n\t\t\t\t\t\t\t\t\t\twrapLabel={state.properties.wrapLabel}\n\t\t\t\t\t\t\t\t\t\treadonly={state.properties.readonly}\n\t\t\t\t\t\t\t\t\t\tinvalid={state.properties.invalid}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\tname={unitName}\n\t\t\t\t\t\t\t\t\t\tvalue={state[unitName]}\n\t\t\t\t\t\t\t\t\t\tautofocus={index === 0 && state.properties.autofocus}\n\t\t\t\t\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\t\t\thasFocus={state[`hasFocus-${unitName}`]}\n\t\t\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\t\t\tplaceholder={'00'}\n\t\t\t\t\t\t\t\t\t\tmaxlength={TIME_INPUT_LIMITS[index]}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{useAmPm(state.properties) && (\n\t\t\t\t\t\t\t<div className=\"sn-timepicker-toggle\">\n\t\t\t\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tonChange={onToggleAmPm}\n\t\t\t\t\t\t\t\t\tselected-items={state.pm ? pm : am}\n\t\t\t\t\t\t\t\t\tdisabled={readonly}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': `${\n\t\t\t\t\t\t\t\t\t\t\t\tstate.pm ? items[1].label : items[0].label\n\t\t\t\t\t\t\t\t\t\t\t}, ${state.properties.label || ''}`,\n\t\t\t\t\t\t\t\t\t\t\t'aria-haspopup': 'listbox'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t<\/SNInputGroup>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\tnodeContainsFocus,\n\tisNodeInEventPath\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport view from './view';\nimport actionHandlers, {\n\tNOW_RECORD_TIME_ON_GROUP_BLUR\n} from './actionHandlers';\nimport { createTime, getTimeSegments, use24Hour } from './utils';\nimport style from './time.scss';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior({ stopPropagation: true })\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['mousedown', 'keydown'],\n\t\teffect: ({ action, dispatch, state: { hasParentFocus, pickerNode } }) => {\n\t\t\tconst { event } = action.payload;\n\t\t\tif (!hasParentFocus) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.type === 'keydown' && event.key === 'Tab') {\n\t\t\t\tsetTimeout(\n\t\t\t\t\tdispatchEvent => {\n\t\t\t\t\t\tif (!nodeContainsFocus(pickerNode)) {\n\t\t\t\t\t\t\tevent.persist && event.persist();\n\t\t\t\t\t\t\tdispatchEvent(NOW_RECORD_TIME_ON_GROUP_BLUR, {\n\t\t\t\t\t\t\t\tpayloadEvent: event\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t0,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t} else if (event.type === 'mousedown') {\n\t\t\t\tif (!isNodeInEventPath(pickerNode, event)) {\n\t\t\t\t\tevent.persist && event.persist();\n\t\t\t\t\tdispatch(NOW_RECORD_TIME_ON_GROUP_BLUR, { event });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttarget: document\n\t}\n];\n\nexport const setInitialState = ({ properties }) => {\n\tconst initialTime = createTime(properties);\n\treturn {\n\t\t...getTimeSegments(initialTime, use24Hour(properties)),\n\t\tpm: initialTime.hours() >= 12,\n\t\thasParentFocus: false\n\t};\n};\n\n/**\n *\n * Time component allowing users to select a time\n * Can be in 24 hour format or 12 hour format (AM|PM)\n * Can specify if hours/minutes/seconds are included\n *\n * ```jsx\n * <now-record-time name=\"time\" value=\"12:30:30 am\" format=\"hh:mm:ss a\" />\n * ```\n *\n * 24 hour format\n *\n * ```jsx\n * <now-record-time\n *     label=\"24-hour format\"\n *     name=\"time-24-hours\"\n *     value=\"18:45:00\"\n *     format=\"HH:mm:ss\"\n * />\n * ```\n *\n * @seismicElement now-record-time\n * @summary Time component allowing users to select a time that can be in either 24 hour or 12 hour (AM|PM) format. The user can also specify the hh:mm:ss format.\n *\n * */\n\ncreateCustomElement('now-record-time', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * When true, the time field will always default to 00:00:00 when empty\n\t\t * @type {boolean}\n\t\t */\n\t\tdefaultZeros: { default: false },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * How to serialize/deserialize the date value.\n\t\t * @see [Moment format strings](https://momentjs.com/docs/#/displaying/format/)\n\t\t * @type {string}\n\t\t */\n\t\tformat: { default: 'hh:mm:ss a' },\n\t\t/**\n\t\t * This is what the user sees between each time unit. If you used a `.`\n\t\t * the time would appear as `03.00.00` instead of `03:00:00`.\n\t\t * @type {string}\n\t\t */\n\t\tseparator: { default: ':' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Used with TimeAgo Presets like 'Last 15 minutes'\n\t\t * When true, this component will not update the default time values\n\t\t */\n\t\trelativeTime: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When true, this component uses 24-hour based notation rather than 12-hour. If\n\t\t * this prop is not specified, a default is inferred based on the format string\n\t\t * @type {boolean}\n\t\t */\n\t\tuse24Hour: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Flag to indicate that the parent component will handle tracking\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableTracking: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Flag to toggle AI indicator\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a different time is inputted before you blur\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_TIME#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TIME#VALUE_CHANGED': {}\n\t},\n\teventHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState,\n\tsetInitialState\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { uniqBy, find } from 'lodash';\nimport moment from 'moment';\nimport { t } from 'sn-translate';\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\nexport const SCHEDULE_PRESET_LABEL = t('Schedule');\nexport const TIME_PRESET_GROUPS = [t('Hours'), t('Minutes')];\nexport const TIME_AGO_PRESETS = [\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Today'),\n\t\tstart: 'javascript:gs.beginningOfToday()',\n\t\tend: 'javascript:gs.endOfToday()',\n\t\tbetween: 'javascript:gs.endOfToday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Yesterday'),\n\t\tstart: 'javascript:gs.beginningOfYesterday()',\n\t\tend: 'javascript:gs.endOfYesterday()',\n\t\tbetween: 'javascript:gs.endOfYesterday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Tomorrow'),\n\t\tstart: 'javascript:gs.beginningOfTomorrow()',\n\t\tend: 'javascript:gs.endOfTomorrow()',\n\t\tbetween: 'javascript:gs.endOfTomorrow()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 7 days'),\n\t\tstart: 'javascript:gs.beginningOfLast7Days()',\n\t\tend: 'javascript:gs.endOfLast7Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast7Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 30 days'),\n\t\tstart: 'javascript:gs.beginningOfLast30Days()',\n\t\tend: 'javascript:gs.endOfLast30Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 60 days'),\n\t\tstart: 'javascript:gs.beginningOfLast60Days()',\n\t\tend: 'javascript:gs.endOfLast60Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast60Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 90 days'),\n\t\tstart: 'javascript:gs.beginningOfLast90Days()',\n\t\tend: 'javascript:gs.endOfLast90Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast90Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 120 days'),\n\t\tstart: 'javascript:gs.beginningOfLast120Days()',\n\t\tend: 'javascript:gs.endOfLast120Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast120Days()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('This week'),\n\t\tstart: 'javascript:gs.beginningOfThisWeek()',\n\t\tend: 'javascript:gs.endOfThisWeek()',\n\t\tbetween: 'javascript:gs.endOfThisWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Last week'),\n\t\tstart: 'javascript:gs.beginningOfLastWeek()',\n\t\tend: 'javascript:gs.endOfLastWeek()',\n\t\tbetween: 'javascript:gs.endOfLastWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Next week'),\n\t\tstart: 'javascript:gs.beginningOfNextWeek()',\n\t\tend: 'javascript:gs.endOfNextWeek()',\n\t\tbetween: 'javascript:gs.endOfNextWeek()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('This month'),\n\t\tstart: 'javascript:gs.beginningOfThisMonth()',\n\t\tend: 'javascript:gs.endOfThisMonth()',\n\t\tbetween: 'javascript:gs.endOfThisMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last month'),\n\t\tstart: 'javascript:gs.beginningOfLastMonth()',\n\t\tend: 'javascript:gs.endOfLastMonth()',\n\t\tbetween: 'javascript:gs.endOfLastMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Next month'),\n\t\tstart: 'javascript:gs.beginningOfNextMonth()',\n\t\tend: 'javascript:gs.endOfNextMonth()',\n\t\tbetween: 'javascript:gs.endOfNextMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 3 months'),\n\t\tstart: 'javascript:gs.beginningOfLast3Months()',\n\t\tend: 'javascript:gs.endOfLast3Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast3Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 6 months'),\n\t\tstart: 'javascript:gs.beginningOfLast6Months()',\n\t\tend: 'javascript:gs.endOfLast6Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast6Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 9 months'),\n\t\tstart: 'javascript:gs.beginningOfLast9Months()',\n\t\tend: 'javascript:gs.endOfLast9Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast9Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 12 months'),\n\t\tstart: 'javascript:gs.beginningOfLast12Months()',\n\t\tend: 'javascript:gs.endOfLast12Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast12Months()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('This quarter'),\n\t\tstart: 'javascript:gs.beginningOfThisQuarter()',\n\t\tend: 'javascript:gs.endOfThisQuarter()',\n\t\tbetween: 'javascript:gs.endOfThisQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last quarter'),\n\t\tstart: 'javascript:gs.beginningOfLastQuarter()',\n\t\tend: 'javascript:gs.endOfLastQuarter()',\n\t\tbetween: 'javascript:gs.endOfLastQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfLast2Quarters()',\n\t\tend: 'javascript:gs.endOfLast2Quarters()',\n\t\tbetween: 'javascript:gs.endOfLast2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next quarter'),\n\t\tstart: 'javascript:gs.beginningOfNextQuarter()',\n\t\tend: 'javascript:gs.endOfNextQuarter()',\n\t\tbetween: 'javascript:gs.endOfNextQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfNext2Quarters()',\n\t\tend: 'javascript:gs.endOfNext2Quarters()',\n\t\tbetween: 'javascript:gs.endOfNext2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('This year'),\n\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\tend: 'javascript:gs.endOfThisYear()',\n\t\tbetween: 'javascript:gs.endOfThisYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Next year'),\n\t\tstart: 'javascript:gs.beginningOfNextYear()',\n\t\tend: 'javascript:gs.endOfNextYear()',\n\t\tbetween: 'javascript:gs.endOfNextYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last year'),\n\t\tstart: 'javascript:gs.beginningOfLastYear()',\n\t\tend: 'javascript:gs.endOfLastYear()',\n\t\tbetween: 'javascript:gs.endOfLastYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last 2 years'),\n\t\tstart: 'javascript:gs.beginningOfLast2Years()',\n\t\tend: 'javascript:gs.endOfLast2Years()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Years()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('One year ago'),\n\t\tstart: 'javascript:gs.beginningOfOneYearAgo()',\n\t\tend: 'javascript:gs.endOfOneYearAgo()',\n\t\tbetween: 'javascript:gs.beginningOfOneYearAgo()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Current hour'),\n\t\tstart: 'javascript:gs.beginningOfCurrentHour()',\n\t\tend: 'javascript:gs.endOfCurrentHour()',\n\t\tbetween: 'javascript:gs.endOfCurrentHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last hour'),\n\t\tstart: 'javascript:gs.beginningOfLastHour()',\n\t\tend: 'javascript:gs.endOfLastHour()',\n\t\tbetween: 'javascript:gs.endOfLastHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last 2 hours'),\n\t\tstart: 'javascript:gs.beginningOfLast2Hours()',\n\t\tend: 'javascript:gs.endOfLast2Hours()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Hours()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Current minute'),\n\t\tstart: 'javascript:gs.beginningOfCurrentMinute()',\n\t\tend: 'javascript:gs.endOfCurrentMinute()',\n\t\tbetween: 'javascript:gs.endOfCurrentMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last minute'),\n\t\tstart: 'javascript:gs.beginningOfLastMinute()',\n\t\tend: 'javascript:gs.endOfLastMinute()',\n\t\tbetween: 'javascript:gs.beginningOfLastMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 15 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast15Minutes()',\n\t\tend: 'javascript:gs.endOfLast15Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast15Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 30 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast30Minutes()',\n\t\tend: 'javascript:gs.endOfLast30Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 45 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast45Minutes()',\n\t\tend: 'javascript:gs.endOfLast45Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast45Minutes()'\n\t},\n\t{\n\t\tgroup: t(CUSTOM_PRESET_LABEL),\n\t\tlabel: t(CUSTOM_PRESET_LABEL),\n\t\tstart: '',\n\t\tend: '',\n\t\tbetween: ''\n\t}\n];\n\nexport function getTimeAgoGroups(timeAgoPresets, hasTime) {\n\treturn uniqBy(timeAgoPresets, 'group')\n\t\t.map(timeAgo => timeAgo.group)\n\t\t.filter(group => group !== CUSTOM_PRESET_LABEL)\n\t\t.filter(group => (hasTime ? true : !TIME_PRESET_GROUPS.includes(group)));\n}\n\nexport function getTimeAgoByGroup(timeAgoPresets, group) {\n\treturn timeAgoPresets.filter(timeAgo => timeAgo.group === group);\n}\n\nexport function getTimeAgoByLabel(timeAgoPresets, label) {\n\treturn find(timeAgoPresets, timeAgo => timeAgo.label === label);\n}\n\nexport function isTimeAgoInGroup(timeAgoPresets, label) {\n\treturn timeAgoPresets\n\t\t.filter(group => group !== CUSTOM_PRESET_LABEL)\n\t\t.some(timeAgo => timeAgo.label === label);\n}\n\nexport function getTimeAgoCustom(timeAgoPresets) {\n\treturn getTimeAgoByLabel(timeAgoPresets, CUSTOM_PRESET_LABEL);\n}\n\nexport const getTimeAgoByValue = (timeAgoPresets, format, value) => {\n\tconst absoluteDate = moment(value, format, true);\n\tif (absoluteDate.isValid()) {\n\t\treturn getTimeAgoCustom(timeAgoPresets);\n\t} else {\n\t\treturn getTimeAgoByLabel(timeAgoPresets, value);\n\t}\n};\n","const COMPONENT_NAME = 'SN_DATE_PRESET_PANEL';\n\n//Preset Actions\nexport const PRESET_SELECTED = `${COMPONENT_NAME}#PRESET_SELECTED`;\nexport const PRESET_VALUE_CHANGED = `${COMPONENT_NAME}#VALUE_CHANGED`;\nexport const PRESET_MESSAGE_UPDATED = `${COMPONENT_NAME}#MESSAGE_UPDATED`;\n\n//FETCH Actions for business calendars\nexport const FETCH_CALENDAR = `${COMPONENT_NAME}#FETCH_CALENDAR`;\nexport const FETCH_CALENDAR_SUCCESS = `${FETCH_CALENDAR}_SUCCESS`;\nexport const FETCH_CALENDAR_FAILURE = `${FETCH_CALENDAR}_FAILURE`;\n\n//FETCH Actions for Timeago Resolve Absolute values\nexport const FETCH_ABSOLUTE = `${COMPONENT_NAME}#FETCH_ABSOLUTE`;\nexport const FETCH_ABSOLUTE_SUCCESS = `${FETCH_ABSOLUTE}_SUCCESS`;\nexport const FETCH_ABSOLUTE_FAILURE = `${FETCH_ABSOLUTE}_FAILURE`;\n\n//End points\nexport const ENDPOINT_BUSINESS_CALENDAR = '/api/now/ui/date_time';\nexport const ENDPOINT_TIMEAGO_ABSOLUTE = '/api/now/timeago/absolute';\n","import '@servicenow/now-icon';\nimport '@servicenow/now-accordion';\n\nimport {\n\tgetTimeAgoGroups,\n\tgetTimeAgoByGroup,\n\tisTimeAgoInGroup,\n\tgetTimeAgoCustom\n} from '../utils/timeAgo';\n\nimport { PRESET_SELECTED } from './constants';\n\nconst TimeAgoButton = ({\n\tselected,\n\ttimeAgo,\n\tisCustom = false,\n\thandleTimeAgoSelect\n}) => {\n\tconst label = (timeAgo && timeAgo.label) || '';\n\tconst handleSelection = e => {\n\t\tif (!isCustom) {\n\t\t\thandleTimeAgoSelect(timeAgo);\n\t\t\te.stopPropagation();\n\t\t}\n\t};\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'date-preset-item': true,\n\t\t\t\t'is-custom': isCustom\n\t\t\t}}\n\t\t>\n\t\t\t<span className=\"date-preset-item-selected\">\n\t\t\t\t{selected ? (\n\t\t\t\t\t<now-icon size=\"md\" aria-hidden=\"true\" icon=\"check-fill\" />\n\t\t\t\t) : null}\n\t\t\t<\/span>\n\n\t\t\t<span\n\t\t\t\tclass={{ 'date-preset-item-button': true, 'is-selected': selected }}\n\t\t\t\taria-label={label}\n\t\t\t\trole=\"button\"\n\t\t\t\t{...(isCustom ? { tabindex: '-1' } : { tabIndex: 0 })}\n\t\t\t\ton-click={e => {\n\t\t\t\t\thandleSelection(e);\n\t\t\t\t}}\n\t\t\t\ton-keydown={e => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\thandleSelection(e);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n\nconst AccordionItems = ({\n\tpresetGroups,\n\ttimeAgoPresets,\n\tselectedTimeAgo,\n\thandleTimeAgoSelect\n}) => {\n\treturn presetGroups.map(group => {\n\t\tconst timeAgoGroupItems = getTimeAgoByGroup(timeAgoPresets, group);\n\t\tconst itemInGroup = selectedTimeAgo\n\t\t\t? isTimeAgoInGroup(timeAgoGroupItems, selectedTimeAgo.label)\n\t\t\t: false;\n\t\treturn (\n\t\t\t<now-accordion-item\n\t\t\t\texpanded={itemInGroup}\n\t\t\t\theader={{\n\t\t\t\t\tlabel: group,\n\t\t\t\t\tweight: 'normal',\n\t\t\t\t\tsize: 'md',\n\t\t\t\t\tvariant: 'primary'\n\t\t\t\t}}\n\t\t\t\ttrigger-icon={{ position: 'start' }}\n\t\t\t>\n\t\t\t\t{itemInGroup ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"date-preset-presence\"\n\t\t\t\t\t\tslot=\"metadata\"\n\t\t\t\t\t\ticon=\"presence-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t><\/now-icon>\n\t\t\t\t) : null}\n\t\t\t\t<div slot=\"content\">\n\t\t\t\t\t{timeAgoGroupItems.map(timeAgo => (\n\t\t\t\t\t\t<TimeAgoButton\n\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\tselectedTimeAgo &&\n\t\t\t\t\t\t\t\tselectedTimeAgo.label &&\n\t\t\t\t\t\t\t\tselectedTimeAgo.label === timeAgo.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\t\t\ttimeAgo={timeAgo}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t<\/div>\n\t\t\t<\/now-accordion-item>\n\t\t);\n\t});\n};\n\nexport default (\n\t{ properties: { hasTime }, selectedTimeAgo, timeAgoPresets },\n\t{ dispatch, updateState }\n) => {\n\tconst handleTimeAgoSelect = timeAgo => {\n\t\tupdateState({ selectedTimeAgo: timeAgo });\n\t\tdispatch(PRESET_SELECTED, { timeAgo });\n\t};\n\tconst customTimeAgo = getTimeAgoCustom(timeAgoPresets);\n\n\treturn (\n\t\t<div className=\"date-preset-wrapper\">\n\t\t\t<div className=\"date-preset\" id={`date-preset ${timeAgoPresets.length}`}>\n\t\t\t\t<now-accordion\n\t\t\t\t\texpand-single\n\t\t\t\t\thide-dividers\n\t\t\t\t\theading-level=\"3\"\n\t\t\t\t\ttrigger-icon={{ position: 'start' }}\n\t\t\t\t>\n\t\t\t\t\t<AccordionItems\n\t\t\t\t\t\tpresetGroups={getTimeAgoGroups(timeAgoPresets, hasTime)}\n\t\t\t\t\t\ttimeAgoPresets={timeAgoPresets}\n\t\t\t\t\t\tselectedTimeAgo={selectedTimeAgo}\n\t\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\t/>\n\t\t\t\t<\/now-accordion>\n\t\t\t\t<hr className=\"date-preset-custom-divider\" aria-hidden=\"true\" />\n\t\t\t\t<TimeAgoButton\n\t\t\t\t\tselected={\n\t\t\t\t\t\tselectedTimeAgo &&\n\t\t\t\t\t\tselectedTimeAgo.label &&\n\t\t\t\t\t\tselectedTimeAgo.label === customTimeAgo.label\n\t\t\t\t\t}\n\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\ttimeAgo={customTimeAgo}\n\t\t\t\t\tisCustom={true}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { isFunction, isEmpty, pickBy } from 'lodash';\nimport { t } from 'sn-translate';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { time, adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nimport {\n\tPRESET_VALUE_CHANGED,\n\tPRESET_MESSAGE_UPDATED,\n\tFETCH_CALENDAR_SUCCESS,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE,\n\tENDPOINT_BUSINESS_CALENDAR,\n\tENDPOINT_TIMEAGO_ABSOLUTE\n} from './constants';\nimport { DEFAULT_RESPONSE_FORMAT } from '../constants';\n\nimport { getTimeAgoByValue, SCHEDULE_PRESET_LABEL } from '../utils/timeAgo';\nconst SCHEDULE_PRESET_TYPE = 'schedule';\n\nexport const dispatchTimeAgo = (dispatch, onValueChange, presetSelected) => {\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(presetSelected);\n\t}\n\tdispatch(PRESET_VALUE_CHANGED, presetSelected);\n};\n\nconst getBusinessCalendars = results => {\n\tlet schedulePresets = [];\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst scheduleGroupObj = respObj.dateChoiceDisplayValues\n\t\t\t? respObj.dateChoiceDisplayValues.find(\n\t\t\t\t\tv => v.type === SCHEDULE_PRESET_TYPE\n\t\t\t  )\n\t\t\t: {};\n\t\tconst scheduleGroups =\n\t\t\tscheduleGroupObj && scheduleGroupObj.values\n\t\t\t\t? scheduleGroupObj.values.map(g => g.value)\n\t\t\t\t: [];\n\t\tif (scheduleGroups.length) {\n\t\t\tconst timeAgoDates = respObj.timeAgoDates;\n\t\t\tconst schedulePresetObj = pickBy(timeAgoDates, (v, k) =>\n\t\t\t\tscheduleGroups.includes(k)\n\t\t\t);\n\t\t\tschedulePresets = Object.values(schedulePresetObj).map(preset => {\n\t\t\t\treturn {\n\t\t\t\t\tgroup: SCHEDULE_PRESET_LABEL,\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\tstart: preset.before,\n\t\t\t\t\tend: preset.after,\n\t\t\t\t\tbetween: preset.between\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\treturn schedulePresets;\n};\n\nexport const fetchCalendarEffect = createHttpEffect(\n\tENDPOINT_BUSINESS_CALENDAR,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['table_name'],\n\t\tsuccessActionType: FETCH_CALENDAR_SUCCESS,\n\t\terrorActionType: FETCH_CALENDAR_FAILURE\n\t}\n);\n\nexport const fetchAbsoluteEffect = createHttpEffect(ENDPOINT_TIMEAGO_ABSOLUTE, {\n\tmethod: 'GET',\n\tbatch: false,\n\tqueryParams: ['from_date', 'to_date'],\n\tsuccessActionType: FETCH_ABSOLUTE_SUCCESS,\n\terrorActionType: FETCH_ABSOLUTE_FAILURE\n});\n\nexport const fetchCalendarSuccessEffect = ({\n\tstate: {\n\t\tselectedTimeAgo,\n\t\ttimeAgoPresets,\n\t\tproperties: { value, format }\n\t},\n\tupdateState,\n\taction: { payload: results }\n}) => {\n\tlet schedulePresets = getBusinessCalendars(results);\n\tif (schedulePresets.length) {\n\t\tif (isEmpty(selectedTimeAgo)) {\n\t\t\tselectedTimeAgo = getTimeAgoByValue(schedulePresets, format, value);\n\t\t}\n\t\tupdateState({\n\t\t\tselectedTimeAgo,\n\t\t\ttimeAgoPresets: [...timeAgoPresets, ...schedulePresets]\n\t\t});\n\t}\n};\n\nexport const fetchCalendarFailureEffect = ({\n\tstate: {\n\t\tproperties: { tableName }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'info',\n\t\tmessage: t(`Unable to fetch business calendars for table '{0}'`, tableName)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n};\n\nexport const fetchAbsoluteSuccessEffect = ({\n\tstate: {\n\t\tproperties: { onValueChange, language },\n\t\tselectedTimeAgo: { label, start, end }\n\t},\n\taction: { payload: results },\n\tdispatch\n}) => {\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst fromDate = respObj.fromDate;\n\t\tconst toDate = respObj.toDate;\n\n\t\tconst absoluteStart = time(language)(fromDate, DEFAULT_RESPONSE_FORMAT);\n\t\tconst absoluteEnd = time(language)(toDate, DEFAULT_RESPONSE_FORMAT);\n\n\t\tconst presetSelected = {\n\t\t\tlabel,\n\t\t\trelative: { start, end },\n\t\t\tabsolute: { start: absoluteStart, end: absoluteEnd }\n\t\t};\n\t\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n\t}\n};\n\nexport const fetchAbsoluteFailureEffect = ({\n\tstate: {\n\t\tproperties: { onValueChange },\n\t\tselectedTimeAgo: { label, start, end }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'error',\n\t\tmessage: t(`Unable to resolve absolute dates for '{0}'`, label)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n\n\tconst presetSelected = {\n\t\tlabel,\n\t\trelative: { start, end },\n\t\tabsolute: { start: '', end: '' }\n\t};\n\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isEqual } from 'lodash';\nimport { TIME_AGO_PRESETS, getTimeAgoByValue } from '../utils/timeAgo';\n\nimport {\n\tPRESET_SELECTED,\n\tFETCH_CALENDAR,\n\tFETCH_CALENDAR_SUCCESS,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_ABSOLUTE,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE\n} from './constants';\n\nimport {\n\tfetchCalendarEffect,\n\tfetchCalendarSuccessEffect,\n\tfetchCalendarFailureEffect,\n\tfetchAbsoluteEffect,\n\tfetchAbsoluteSuccessEffect,\n\tfetchAbsoluteFailureEffect,\n\tdispatchTimeAgo\n} from './effects';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[PRESET_SELECTED]: {\n\t\teffect: ({ state, action, dispatch }) => {\n\t\t\tlet {\n\t\t\t\ttimeAgo: { label, start, end, between }\n\t\t\t} = action.payload;\n\n\t\t\tconst { onValueChange, between: isBetween, absolute } = state.properties;\n\n\t\t\tif (isBetween) {\n\t\t\t\tend = between;\n\t\t\t}\n\n\t\t\tif (absolute) {\n\t\t\t\tdispatch(FETCH_ABSOLUTE, { from_date: start, to_date: end });\n\t\t\t} else {\n\t\t\t\tconst presetSelected = {\n\t\t\t\t\tlabel,\n\t\t\t\t\trelative: { start, end },\n\t\t\t\t\tabsolute: { start: '', end: '' }\n\t\t\t\t};\n\t\t\t\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { value = '', tableName = '', format },\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\t//initialize with timeAgoRelative Values\n\t\t//Append more for Business Calendar\n\t\tlet timeAgoPresets = TIME_AGO_PRESETS;\n\t\tconst selectedTimeAgo = getTimeAgoByValue(timeAgoPresets, format, value);\n\n\t\t//get business calendars from tableName\n\t\tif (tableName) {\n\t\t\tdispatch(FETCH_CALENDAR, { table_name: tableName });\n\t\t}\n\n\t\tupdateState({\n\t\t\tselectedTimeAgo,\n\t\t\ttimeAgoPresets: TIME_AGO_PRESETS\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate: { timeAgoPresets },\n\t\tupdateState,\n\t\tproperties: { format }\n\t}) => {\n\t\tif (name === 'value' && !isEqual(value, previousValue)) {\n\t\t\tupdateState({\n\t\t\t\tselectedTimeAgo: getTimeAgoByValue(timeAgoPresets, format, value)\n\t\t\t});\n\t\t}\n\t},\n\n\t[FETCH_CALENDAR]: {\n\t\t...fetchCalendarEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_SUCCESS]: {\n\t\teffect: fetchCalendarSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_FAILURE]: {\n\t\teffect: fetchCalendarFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_ABSOLUTE]: {\n\t\t...fetchAbsoluteEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_SUCCESS]: {\n\t\teffect: fetchAbsoluteSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_FAILURE]: {\n\t\teffect: fetchAbsoluteFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport { TIME_AGO_PRESETS } from '../utils/timeAgo';\nimport actionHandlers from './actionHandlers';\n\nexport const COMPONENT_NAME = 'sn-date-preset-panel-connected';\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Whether to resolve relative TimeAgo to Absolute Date/Time Strings.\n\t\t * @type {boolean}\n\t\t */\n\t\tabsolute: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Whether to send the between value of the TimeAgo as end value.\n\t\t * @type {boolean}\n\t\t */\n\t\tbetween: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Date format for the date string.\n\t\t * @type {string}\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD` and `YYYY-MM-DD hh:mm:ss a` when\n\t\t * `has-time` is set to true\n\t\t *\n\t\t */\n\t\tformat: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Whether to show Time related TimeAgo Presets\n\t\t * @type {boolean}\n\t\t */\n\t\thasTime: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Table name for business calendars.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Date value which can be a valid date or a valid TimeAgo Label.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when Preset is changed.\n\t\t * @type {{ label: string, relative: {start: string, end: string}, absolute: {start: string, end: string} } }}\n\t\t */\n\t\t'SN_DATE_PRESET_PANEL#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when Preset has field messages.\n\t\t * @type {{ type: string, message: string }}\n\t\t */\n\t\t'SN_DATE_PRESET_PANEL#MESSAGE_UPDATED': {}\n\t},\n\tinitialState: {\n\t\ttimeAgoPresets: TIME_AGO_PRESETS,\n\t\tselectedTimeAgo: {},\n\t\tinfoMessage: ''\n\t},\n\tactionHandlers\n});\n","import { isAttrTrue } from '@devsnc/sn-controls-common';\nimport {\n\tWEEKLY_FORMAT,\n\tWEEKLY_ISO_FORMAT,\n\tARIA_LABEL_DATE_FORMAT\n} from '../constants';\n\nconst MONTH_OUTER_WRAPPER_CLASS = '.now-record-date-picker-month-wrapper-outer';\nconst MONTH_WEEK_DAY_CLASS = '.now-record-date-picker-month-week-day';\nconst MONTH_WEEK_WEEKLY_CLASS = '.now-record-date-picker-weekly-month-week-row';\nconst MONTH_VIEW_COMPONENT = 'sn-standard-month-grid';\nconst RECORD_CONTROL_COMPONENT = 'sn-record-control';\nconst RECORD_DROPDOWN_INTERNAL_COMPONENT = 'sn-record-dropdown-internal';\nconst SN_MONTH_HEADER = 'sn-month-header';\n\nexport const nextFocusDayElement = (parentRef, nextDate) => {\n\tlet dayToFocus;\n\tconst nextFocusElemSelector = `[aria-label=\"${nextDate.format(\n\t\tARIA_LABEL_DATE_FORMAT\n\t)}\"]`;\n\tconst rangePickerParentElement =\n\t\tparentRef.parentNode?.host?.parentElement?.parentElement;\n\tif (rangePickerParentElement) {\n\t\tconst snMonthViewElements =\n\t\t\trangePickerParentElement.querySelectorAll(MONTH_VIEW_COMPONENT);\n\t\tif (snMonthViewElements) {\n\t\t\tif (snMonthViewElements[0])\n\t\t\t\tdayToFocus = snMonthViewElements[0].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\n\t\t\tconst dayToFocusDisabled = isAttrTrue(dayToFocus?.ariaDisabled);\n\t\t\tif ((!dayToFocus || dayToFocusDisabled) && snMonthViewElements[1]) {\n\t\t\t\tdayToFocus = snMonthViewElements[1].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tdayToFocus = parentRef.querySelector(nextFocusElemSelector);\n\t}\n\treturn dayToFocus;\n};\n\nexport const nextFocusWeekElement = (\n\tnextDate,\n\trangePickerRef,\n\tparentRef,\n\tisoWeek = false\n) => {\n\tconst weekFormat = isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT;\n\tconst nextFocusElemSelector = `[id=\"${nextDate.format(weekFormat)}\"]`;\n\tlet weekToFocus;\n\tif (rangePickerRef) {\n\t\tparentRef = rangePickerRef.current.querySelector(`.date-pickers`);\n\t\tconst snMonthViewElements =\n\t\t\tparentRef.querySelectorAll(MONTH_VIEW_COMPONENT);\n\t\tif (snMonthViewElements) {\n\t\t\tif (snMonthViewElements[1])\n\t\t\t\tweekToFocus = snMonthViewElements[1].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\tif (!weekToFocus && snMonthViewElements[0]) {\n\t\t\t\tweekToFocus = snMonthViewElements[0].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} else if (parentRef) {\n\t\tweekToFocus = parentRef.querySelector(nextFocusElemSelector);\n\t}\n\treturn weekToFocus;\n};\n\nexport const nextFocusControlElement = (currentTarget, rightMonth) => {\n\tlet controlToFocus;\n\tif (currentTarget.parentNode) {\n\t\tconst headerControls = currentTarget.parentNode.querySelector(\n\t\t\t`${SN_MONTH_HEADER}`\n\t\t);\n\n\t\tif (headerControls) {\n\t\t\tconst nowControlToFocus =\n\t\t\t\theaderControls.shadowRoot.querySelectorAll('now-button');\n\t\t\tconst headerControlToFocus = rightMonth\n\t\t\t\t? nowControlToFocus[0]\n\t\t\t\t: nowControlToFocus[nowControlToFocus.length - 1];\n\n\t\t\tif (headerControlToFocus) {\n\t\t\t\tcontrolToFocus =\n\t\t\t\t\theaderControlToFocus.shadowRoot.querySelector('button');\n\t\t\t}\n\t\t}\n\t}\n\treturn controlToFocus;\n};\n\nexport const handleRangePickerMonthTab = (\n\trangePickerRef,\n\thighlightedDate,\n\tevent,\n\tweeklyView,\n\tisoWeek = false\n) => {\n\tlet nextCtrlWrapperLeft;\n\tlet nextCtrlWrapperRight;\n\tlet nextCtrlWrapper;\n\tlet nextDayCtrl;\n\tconst navClass = weeklyView ? MONTH_WEEK_WEEKLY_CLASS : MONTH_WEEK_DAY_CLASS;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\tif (monthViews && monthViews.length > 0) {\n\t\tnextCtrlWrapper = nextCtrlWrapperLeft =\n\t\t\tmonthViews[0].shadowRoot.querySelector(MONTH_OUTER_WRAPPER_CLASS);\n\t\tnextCtrlWrapperRight = monthViews[1].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t}\n\tif (nextCtrlWrapperLeft && nextCtrlWrapperRight) {\n\t\tlet nextFocusElemSelector = `[aria-label=\"${highlightedDate.format(\n\t\t\t'LL'\n\t\t)}\"]`;\n\n\t\tif (weeklyView) {\n\t\t\tconst weekFormat = isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT;\n\t\t\tnextFocusElemSelector = `[id=\"${highlightedDate.format(weekFormat)}\"]`;\n\t\t}\n\n\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(nextFocusElemSelector);\n\t\tif (!nextDayCtrl) {\n\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(\n\t\t\t\t`${navClass}.is-selected`\n\t\t\t);\n\t\t}\n\t\tif (!nextDayCtrl) {\n\t\t\tif (highlightedDate) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperRight.querySelector(nextFocusElemSelector);\n\t\t\t\tif (!nextDayCtrl) {\n\t\t\t\t\tnextDayCtrl = nextCtrlWrapperRight.querySelector(\n\t\t\t\t\t\t`${navClass}.is-selected`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (nextDayCtrl) {\n\t\t\t\t\tnextCtrlWrapper = nextCtrlWrapperRight;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!nextDayCtrl) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(\n\t\t\t\t\t`${navClass}:not(.is-disabled)`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!nextDayCtrl) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(`${navClass}`);\n\t\t\t}\n\t\t}\n\t\tif (nextDayCtrl) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tnextCtrlWrapper.tabIndex = 0;\n\t\t\tnextDayCtrl.tabIndex = 0;\n\t\t\tnextDayCtrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerYearTab = (\n\trangePickerRef,\n\tevent,\n\thighlightedDate,\n\tweeklyView,\n\tenableMonthNavigationChevrons,\n\tisoWeek\n) => {\n\tlet nextCtrlWrapper;\n\tlet monthOuterWrapper;\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\tif (monthViews && monthViews.length > 0) {\n\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t\tif (event.shiftKey) {\n\t\t\t//right month - move to left month year dropdown\n\t\t\tif (enableMonthNavigationChevrons) {\n\t\t\t\tnextCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t//left month - move to 1st day in left calendar\n\t\t\t\thandleRangePickerMonthTab(\n\t\t\t\t\trangePickerRef,\n\t\t\t\t\thighlightedDate,\n\t\t\t\t\tevent,\n\t\t\t\t\tweeklyView,\n\t\t\t\t\tisoWeek\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\t//right month - move to left chevron in left month\n\t\t\tif (!enableMonthNavigationChevrons) {\n\t\t\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(\n\t\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-dropdown');\n\t\tif (nextctrl) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\tnextctrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerDayTab = (rangePickerRef, event) => {\n\tlet nextCtrlWrapper;\n\tlet monthOuterWrapper;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\n\tif (event.shiftKey && rangePickerRef) {\n\t\tif (monthViews && monthViews.length > 0) {\n\t\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t\t);\n\t\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(SN_MONTH_HEADER);\n\t\t}\n\t\tconst nextctrl =\n\t\t\tnextCtrlWrapper.shadowRoot.querySelectorAll('now-button')[2];\n\n\t\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\t\tif (nextctrl) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\tnextctrl.focus();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (monthViews && monthViews.length > 0) {\n\t\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t\t);\n\t\t\tnextCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t);\n\t\t}\n\n\t\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-dropdown');\n\n\t\tconst footer = rangePickerRef.current.querySelector(\n\t\t\t'.date-picker-panel-footer'\n\t\t);\n\n\t\tif (footer) {\n\t\t\tlet time = footer.querySelector('now-record-time');\n\t\t\tlet confirmation = footer.querySelector(\n\t\t\t\t'.date-range-picker-confirmation'\n\t\t\t);\n\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tif (time) {\n\t\t\t\ttime.shadowRoot.querySelector('now-input').focus();\n\t\t\t} else if (confirmation) {\n\t\t\t\tconfirmation.querySelector('now-button').focus();\n\t\t\t}\n\t\t} else {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\tnextctrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerWeekTab = (rangePickerRef, event) => {\n\tlet nextCtrlWrapper;\n\tlet prevCtrlWrapper;\n\tlet monthOuterWrapper;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\n\tif (monthViews && monthViews.length > 0) {\n\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t\tprevCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t`${RECORD_CONTROL_COMPONENT}`\n\t\t);\n\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(\n\t\t\t`${RECORD_CONTROL_COMPONENT}`\n\t\t);\n\t}\n\n\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-button');\n\tconst prevctrl = prevCtrlWrapper.shadowRoot.querySelector('now-button');\n\n\tif (event.shiftKey && rangePickerRef) {\n\t\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\t\tif (nextctrl) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\tnextctrl.focus();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconst footer = rangePickerRef.current.querySelector(\n\t\t\t'.date-picker-panel-footer'\n\t\t);\n\n\t\tif (footer) {\n\t\t\tlet time = footer.querySelector('now-record-time');\n\t\t\tlet confirmation = footer.querySelector(\n\t\t\t\t'.date-range-picker-confirmation'\n\t\t\t);\n\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tif (time) {\n\t\t\t\ttime.shadowRoot.querySelector('now-input').focus();\n\t\t\t} else if (confirmation) {\n\t\t\t\tconfirmation.querySelector('now-button').focus();\n\t\t\t}\n\t\t} else {\n\t\t\tif (!event.shiftKey && rangePickerRef) {\n\t\t\t\tif (prevCtrlWrapper && monthOuterWrapper) {\n\t\t\t\t\tif (prevctrl) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\t\t\tprevctrl.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { t } from 'sn-translate';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { handleRangePickerMonthTab } from '../utils/elements';\nimport '@servicenow/now-button';\n\nconst VIEW_NEXT_MONTH = t('View next month');\nconst VIEW_TODAY = t('View Today');\nconst VIEW_PREV_MONTH = t('View previous month');\n\nexport default ({\n\tproperties: {\n\t\tenablePreviousMonthControl = true,\n\t\tenableNextMonthControl = true,\n\t\tdisabled,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tweeklyView,\n\t\tisoWeek = false,\n\t\thighlightedDate\n\t}\n}) => {\n\tconst reversed = document && document.dir === 'rtl';\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t{enablePreviousMonthControl ? (\n\t\t\t\t<now-button\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\ticon={reversed ? 'chevron-right-fill' : 'chevron-left-fill'}\n\t\t\t\t\ttooltipContent={VIEW_PREV_MONTH}\n\t\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_MONTH } }}\n\t\t\t\t\tappend-to-payload={{ action: 'previous' }}\n\t\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_TODAY}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_TODAY } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName=\"now-right-chevron -static\"\n\t\t\t\ton-keydown={event => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.key == 'Tab' &&\n\t\t\t\t\t\t!event.shiftKey &&\n\t\t\t\t\t\trangePicker &&\n\t\t\t\t\t\trangePickerRef &&\n\t\t\t\t\t\trangePickerRef.current\n\t\t\t\t\t) {\n\t\t\t\t\t\thandleRangePickerMonthTab(\n\t\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\t\thighlightedDate,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{enableNextMonthControl ? (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ticon={reversed ? 'chevron-left-fill' : 'chevron-right-fill'}\n\t\t\t\t\t\ttooltipContent={VIEW_NEXT_MONTH}\n\t\t\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_MONTH } }}\n\t\t\t\t\t\tappend-to-payload={{ action: 'next' }}\n\t\t\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nexport default {\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tproperties: { date, onChangeMonth }\n\t\t}) => {\n\t\t\tlet updatedDate;\n\n\t\t\tif (action === 'previous') {\n\t\t\t\tupdatedDate = date.clone().subtract(1, 'months');\n\t\t\t} else if (action === 'next') {\n\t\t\t\tupdatedDate = date.clone().add(1, 'months');\n\t\t\t} else {\n\t\t\t\tupdatedDate = moment();\n\t\t\t}\n\t\t\tif (onChangeMonth) {\n\t\t\t\tonChangeMonth(updatedDate, action, updatedDate.date());\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\n\ncreateCustomElement('sn-month-header', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tonChangeMonth: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tenablePreviousMonthControl: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tenableNextMonthControl: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\trangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\trangePickerRef: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\thighlightedDate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tweeklyView: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisoWeek: {\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers\n});\n","import { range, map, max } from 'lodash';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-dropdown-internal';\nimport { handleRangePickerYearTab } from '../../utils/elements';\nimport '../../month-header';\n\nconst VISIBLE_YEARS_DELTA = 100;\n\n/**\n * Heading display with controls to toggle year view and displayed month\n */\nexport function YearLabel({\n\tdate,\n\tonChangeMonth,\n\tdisabled,\n\treadonly,\n\tenablePreviousMonthControl = true,\n\tenableNextMonthControl = true,\n\thighlightedDate,\n\trangePicker,\n\trangePickerRef,\n\tweeklyView,\n\tenableMonthNavigationChevrons = true,\n\tisoWeek\n}) {\n\tconst month = date.format('MMMM');\n\tconst firstYear = max([\n\t\t0,\n\t\tdate.clone().subtract(VISIBLE_YEARS_DELTA, 'years').year()\n\t]);\n\tconst years = map(\n\t\trange(firstYear, firstYear + VISIBLE_YEARS_DELTA * 2 + 1),\n\t\tlabel => ({ id: label + '', label: label + '' })\n\t);\n\treturn (\n\t\t<div className=\"now-record-date-picker-header\">\n\t\t\t<div className=\"now-record-date-picker-content\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-record-date-picker-header-label\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key == 'Tab' &&\n\t\t\t\t\t\t\trangePicker &&\n\t\t\t\t\t\t\trangePickerRef &&\n\t\t\t\t\t\t\trangePickerRef.current\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thandleRangePickerYearTab(\n\t\t\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\thighlightedDate,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tenableMonthNavigationChevrons,\n\t\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span data-truncation>{month}<\/span>\n\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tonChange={({ value }) => onChangeMonth(date.clone().year(value))}\n\t\t\t\t\t\tselected-items={[date.format('YYYY')]}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\titems={years}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\ttrigger: {'aria-label': t('Year {0}', date.year()), role: 'combobox'}\n\t\t\t\t\t\t  }}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{enableMonthNavigationChevrons && (\n\t\t\t\t\t<sn-month-header\n\t\t\t\t\t\tdate={date}\n\t\t\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\t\t\tenablePreviousMonthControl={enablePreviousMonthControl}\n\t\t\t\t\t\tenableNextMonthControl={enableNextMonthControl}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n","import { map } from 'lodash';\nimport makeClass from 'classnames';\nimport moment from 'moment';\nimport { t } from 'sn-translate';\nimport {\n\thandleRangePickerDayTab,\n\tnextFocusControlElement,\n\tnextFocusDayElement\n} from '../../utils/elements';\nimport { isAttrTrue, isEditable } from '@devsnc/sn-controls-common';\nimport { handleKeyPress, isDayFocusable } from '../../utils/calendarUtils';\nimport { getDateRangeRows } from '../../utils/gridUtils';\nimport { ARIA_LABEL_DATE_FORMAT } from '../../constants';\n\n// Mapping for how various keyboard events affect the selected date.\n// If the ctrl modifier matters, prefix key name with `Ctrl`.\n//\n// Values can either be functions (oldDate => newDate), or objects\n// that are passed to moment#add.\nconst KEYMAP = {\n\tArrowLeft: (date, isReversed) => date.add(isReversed ? 1 : -1, 'days'),\n\tArrowRight: (date, isReversed) => date.add(isReversed ? -1 : 1, 'days'),\n\tArrowUp: { week: -1 },\n\tArrowDown: { week: +1 },\n\tPageUp: { months: -1 },\n\tCtrlPageUp: { years: -1 },\n\tPageDown: { months: +1 },\n\tCtrlPageDown: { years: +1 },\n\tHome: date => date.startOf('month'),\n\tEnd: date => date.endOf('month'),\n\tEnter: date => date,\n\tSpacebar: date => date,\n\t' ': date => date\n};\n\nexport const onKeyDown = props => event => {\n\tconst {\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\tparentRef,\n\t\thighlightedDate,\n\t\tenableMonthNavigationChevrons\n\t} = props;\n\tconst rightMonth = enableMonthNavigationChevrons || false;\n\n\tif (!isEditable(props)) {\n\t\treturn;\n\t}\n\n\tconst nextDate = handleKeyPress({\n\t\tevent,\n\t\tkeymap: KEYMAP,\n\t\thighlightedDate,\n\t\treversed: document?.dir === 'rtl'\n\t});\n\n\tswitch (event.key) {\n\t\tcase 'Tab':\n\t\t\tif (\n\t\t\t\tevent.currentTarget?.className.includes(\n\t\t\t\t\t'now-record-date-picker-month-wrapper-outer'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst { shiftKey, currentTarget } = event;\n\t\t\t\tif (shiftKey || (rightMonth && !shiftKey)) {\n\t\t\t\t\tconst controlToFocus = nextFocusControlElement(\n\t\t\t\t\t\tcurrentTarget,\n\t\t\t\t\t\trightMonth\n\t\t\t\t\t);\n\t\t\t\t\tif (controlToFocus) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tcontrolToFocus.focus();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!rightMonth) currentTarget.blur();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'PageUp':\n\t\tcase 'CtrlPageUp':\n\t\tcase 'PageDown':\n\t\tcase 'CtrlPageDown':\n\t\tcase 'Home':\n\t\tcase 'End':\n\t\tcase 'ArrowDown':\n\t\tcase 'ArrowUp':\n\t\tcase 'ArrowRight':\n\t\tcase 'ArrowLeft':\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst dayToFocus = nextFocusDayElement(parentRef.current, nextDate);\n\t\t\t\tif (dayToFocus) {\n\t\t\t\t\tdayToFocus.tabIndex = '0';\n\t\t\t\t\tdayToFocus.focus();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t\tbreak;\n\t}\n\tconst { key } = event;\n\tif (nextDate !== highlightedDate) {\n\t\tif (key === 'Enter' || key === ' ' || key === 'Spacebar')\n\t\t\tonSelectDate(nextDate);\n\t\telse {\n\t\t\tonHighlightedDate(nextDate);\n\t\t\tif (onEndDayHover) onEndDayHover(nextDate);\n\t\t}\n\t}\n};\n\n/**\n * Wraps Month Grid to fit nicely within the month view\n */\nexport const StandardGrid = ({ updateState, ...props }) => {\n\tconst {\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\trightMonth,\n\t\tmouseDown,\n\t\thasGridFocus,\n\t\thighlightedDate,\n\t\tvisibleMonth,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tweeklyView,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\thoverEnd,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\tautoSelectDatesCount,\n\t\treadonly\n\t} = props;\n\n\tconst onDayHover = day => {\n\t\tconst hoverDate = day ? visibleMonth.clone().date(day) : '';\n\t\tif (hoverDate) onHighlightedDate(moment(hoverDate));\n\t\tonEndDayHover(hoverDate);\n\t};\n\n\tconst onMouseDown = () => {\n\t\tif (!rightMonth) {\n\t\t\tupdateState({\n\t\t\t\tmouseDown: true,\n\t\t\t\thasGridFocus: false,\n\t\t\t\trightMonth: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst onFocus = () => {\n\t\tif (!mouseDown) {\n\t\t\tupdateState({ hasGridFocus: true });\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tupdateState({\n\t\t\thasGridFocus: false,\n\t\t\trightMonth: false,\n\t\t\tmouseDown: false\n\t\t});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-record-date-picker-month-wrapper-outer\"\n\t\t\ton-keydown={onKeyDown(props)}\n\t\t\ton-mousedown={onMouseDown}\n\t\t\ton-focus={onFocus}\n\t\t\ton-blur={onBlur}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"now-record-date-picker-month-wrapper-inner\"\n\t\t\t\trole=\"grid\"\n\t\t\t\taria-label={t(' Calendar Grid. Use arrow keys to adjust the date.')}\n\t\t\t>\n\t\t\t\t<MonthGrid\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\tstart={start}\n\t\t\t\t\tend={end}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\tonDayHover={onDayHover}\n\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t{...(rangePicker && (hasGridFocus || rightMonth)\n\t\t\t\t\t\t? { highlightedDate }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Grid of days for the curent month (plus a few extra days from prev/next\n * month to balance out the calendar\n */\nexport function MonthGrid({\n\tdate,\n\thighlightedDate,\n\tvisibleMonth = date,\n\tstart = date,\n\tend = date,\n\tformat = 'MM-DD-YYYY',\n\tonSelectDate,\n\tonHighlightedDate,\n\tfirstDayOfWeek = 0,\n\tshowAdjacentMonthDays,\n\tonDayHover,\n\trangePicker,\n\trangePickerRef,\n\thoverEnd = '',\n\tdisabledDays,\n\tcurrentDate,\n\tautoSelectDatesCount,\n\treadonly\n}) {\n\tconst months = getDateRangeRows(visibleMonth, firstDayOfWeek, disabledDays);\n\tconst normalizeDate = date => date.clone().startOf('day');\n\tconst normalizedStart = normalizeDate(moment(start, format));\n\tconst normalizedEnd = normalizeDate(moment(end, format));\n\tconst normalizedHoverEnd = normalizeDate(moment(hoverEnd, format));\n\tconst today = normalizeDate(moment());\n\tconst none = !start;\n\tconst onlyStart = start && !end;\n\treturn (\n\t\t<div className=\"now-record-date-picker-month\" role=\"rowgroup\">\n\t\t\t{map(months, (week, weekIndex) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={weekIndex}\n\t\t\t\t\tclassName=\"now-record-date-picker-month-week\"\n\t\t\t\t\trole=\"row\"\n\t\t\t\t>\n\t\t\t\t\t{map(week, ({ day, disabled, adjacentMonthDay }) => {\n\t\t\t\t\t\tlet normalizedVisibleMonth = normalizeDate(visibleMonth).date(day);\n\n\t\t\t\t\t\tconst isCurrentDate = currentDate\n\t\t\t\t\t\t\t? !rangePicker\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizeDate(currentDate))\n\t\t\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizedStart)\n\t\t\t\t\t\t\t\t: normalizedVisibleMonth.isSame(normalizedStart) ||\n\t\t\t\t\t\t\t\t  normalizedVisibleMonth.isSame(normalizedEnd)\n\t\t\t\t\t\t\t: false;\n\n\t\t\t\t\t\t// None selected: Nothing\n\t\t\t\t\t\t// Start selected: Start only\n\t\t\t\t\t\t// Start + end: Start --> End\n\t\t\t\t\t\tconst isSelected = none\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizedStart)\n\t\t\t\t\t\t\t: normalizedVisibleMonth.isSame(normalizedStart) ||\n\t\t\t\t\t\t\t  normalizedVisibleMonth.isSame(normalizedEnd);\n\n\t\t\t\t\t\tconst isPreview =\n\t\t\t\t\t\t\t!isSelected &&\n\t\t\t\t\t\t\tonlyStart &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isAfter(normalizedStart) &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isBefore(normalizedHoverEnd);\n\n\t\t\t\t\t\tconst isInsideRange =\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isAfter(normalizedStart) &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isBefore(normalizedEnd) &&\n\t\t\t\t\t\t\t!onlyStart;\n\n\t\t\t\t\t\tconst isHighlighted =\n\t\t\t\t\t\t\tonHighlightedDate &&\n\t\t\t\t\t\t\t!isSelected &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isSame(highlightedDate);\n\n\t\t\t\t\t\tconst isToday = today.isSame(normalizedVisibleMonth);\n\n\t\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\t\tconst className = makeClass(\n\t\t\t\t\t\t\t\t'now-record-date-picker-month-week-day',\n\t\t\t\t\t\t\t\t'is-disabled',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-outlined': !adjacentMonthDay && isToday,\n\t\t\t\t\t\t\t\t\t'is-selected-secondary': !adjacentMonthDay && isInsideRange\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst showDay =\n\t\t\t\t\t\t\t\t!adjacentMonthDay ||\n\t\t\t\t\t\t\t\t(adjacentMonthDay && showAdjacentMonthDays);\n\n\t\t\t\t\t\t\tconst focusable = isDayFocusable(\n\t\t\t\t\t\t\t\tisHighlighted,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\trangePicker,\n\t\t\t\t\t\t\t\tadjacentMonthDay\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tlet currentMonth = visibleMonth.clone();\n\t\t\t\t\t\t\tif (showDay && adjacentMonthDay) {\n\t\t\t\t\t\t\t\t// visibleMonth will be here previous or next Month based on the day\n\t\t\t\t\t\t\t\tif (day >= 1 && day < 15) {\n\t\t\t\t\t\t\t\t\tcurrentMonth = moment(currentMonth).add(1, 'months');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurrentMonth = moment(currentMonth).subtract(1, 'months');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t{...(focusable\n\t\t\t\t\t\t\t\t\t\t\t? { tabIndex: 0, 'aria-selected': true }\n\t\t\t\t\t\t\t\t\t\t\t: { tabIndex: -1 })}\n\t\t\t\t\t\t\t\t\t\taria-label={currentMonth.date(day).format('LL, dddd')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{showDay ? <span>{day}<\/span> : ''}\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst isDateInAutoSelectRange =\n\t\t\t\t\t\t\tcurrentDate && autoSelectDatesCount\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSameOrBefore(\n\t\t\t\t\t\t\t\t\t\tcurrentDate.clone().add(autoSelectDatesCount, 'days')\n\t\t\t\t\t\t\t\t  ) &&\n\t\t\t\t\t\t\t\t  normalizedVisibleMonth.isAfter(normalizeDate(currentDate))\n\t\t\t\t\t\t\t\t: false;\n\t\t\t\t\t\tconst className = makeClass(\n\t\t\t\t\t\t\t'now-record-date-picker-month-week-day',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': !isCurrentDate && onSelectDate && isSelected,\n\t\t\t\t\t\t\t\t'is-outlined': isToday,\n\t\t\t\t\t\t\t\t'is-selected-secondary': isPreview || isInsideRange,\n\t\t\t\t\t\t\t\t'hover-secondary-selected': isInsideRange,\n\t\t\t\t\t\t\t\t'hover-highlighted': isHighlighted || isDateInAutoSelectRange,\n\t\t\t\t\t\t\t\t'hover-secondary-highlighted': isInsideRange && isHighlighted,\n\t\t\t\t\t\t\t\t'is-current-date': isCurrentDate,\n\t\t\t\t\t\t\t\t'is-readonly': !isCurrentDate && isAttrTrue(readonly)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst dateSelected = isHighlighted || (isSelected && !rangePicker);\n\t\t\t\t\t\tconst dateInRangeSelected =\n\t\t\t\t\t\t\trangePicker && (isSelected || isInsideRange);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\t\t\taria-disabled=\"false\"\n\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\tisAttrTrue(dateInRangeSelected || dateSelected)\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-click={() => onSelectDate(visibleMonth.clone().date(day))}\n\t\t\t\t\t\t\t\t\ton-mouseenter={\n\t\t\t\t\t\t\t\t\t\tonlyStart\n\t\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDayHover(day);\n\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t: () => {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-mouseleave={\n\t\t\t\t\t\t\t\t\t\tonlyStart\n\t\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDayHover('');\n\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t: () => {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\t\t\t\t\tif (event.key == 'Tab' && rangePicker) {\n\t\t\t\t\t\t\t\t\t\t\thandleRangePickerDayTab(rangePickerRef, event);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t{...(dateSelected ? { tabIndex: '0' } : { tabIndex: '-1' })}\n\t\t\t\t\t\t\t\t\taria-label={visibleMonth\n\t\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t\t.date(day)\n\t\t\t\t\t\t\t\t\t\t.format(ARIA_LABEL_DATE_FORMAT)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">{day}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/div>\n\t);\n}\n","import { map } from 'lodash';\nimport makeClass from 'classnames';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nexport const Week = ({\n\tweek,\n\trangePicker,\n\tdisabledWeek,\n\tshowAdjacentMonthDays,\n\tisWeekInRange = false\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{map(week, ({ day, disabled, adjacentMonthDay }) => {\n\t\t\t\tconst isDisabled = disabledWeek || disabled;\n\t\t\t\tconst showDay = isDisabled\n\t\t\t\t\t? !adjacentMonthDay || (adjacentMonthDay && showAdjacentMonthDays)\n\t\t\t\t\t: true;\n\t\t\t\tconst className = makeClass(\n\t\t\t\t\t'now-record-date-picker-weekly-month-week-day',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-disabled': rangePicker ? isDisabled : false,\n\t\t\t\t\t\t'is-in-range': rangePicker && isWeekInRange,\n\t\t\t\t\t\t'is-day-in-range-current-month':\n\t\t\t\t\t\t\trangePicker && isWeekInRange && !adjacentMonthDay,\n\t\t\t\t\t\t'is-disabled-date-picker': !rangePicker ? isDisabled : false,\n\t\t\t\t\t\t'is-adjacent': adjacentMonthDay\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{showDay && day}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/Fragment>\n\t);\n};\n","import { find, padStart } from 'lodash';\n\nimport { t } from 'sn-translate';\nimport { time } from '@devsnc/sn-controls-common';\n\nimport { Week } from './Week';\n\nimport { MAX_DAYS_IN_ADJACENT_NEXT_MONTH } from '../../constants';\n\nconst WeekNumber = ({ weekNumber }) => (\n\t<div key={weekNumber} className=\"now-record-date-picker-month-week-number\">\n\t\t{weekNumber}\n\t<\/div>\n);\n\nexport const WeekRow = ({\n\tyear,\n\tvisibleMonth,\n\tdisabledWeek,\n\tadjacentWeek,\n\tweek,\n\tweekIndex,\n\tweekOfYear,\n\ttabIndex,\n\tclassName,\n\tshowAdjacentMonthDays,\n\tlanguage,\n\tonSelectDate,\n\thighlightedDate,\n\tonHighlightedDate,\n\tonEndDayHover,\n\tformat,\n\trangePicker,\n\tisoWeek,\n\tweekType,\n\trightMonth,\n\tisWeekInRange\n}) => {\n\tconst firstVisibleDate = find(week, { disabled: false });\n\n\tconst handleSelection = () => {\n\t\tif (firstVisibleDate && !disabledWeek) {\n\t\t\tconst day = firstVisibleDate.day;\n\t\t\tconst selectedDate = time(language)(\n\t\t\t\tvisibleMonth.clone().date(day),\n\t\t\t\tformat\n\t\t\t);\n\t\t\tlet newDate = selectedDate.clone();\n\t\t\tconst week = isoWeek ? newDate.isoWeek() : newDate.week();\n\t\t\tif (week == 1 && newDate.month() == 11) {\n\t\t\t\t//first week of year shows up in the Dec\n\t\t\t\tnewDate = newDate.clone().endOf(weekType);\n\t\t\t} else if (week > 5 && newDate.month() == 0) {\n\t\t\t\t//last week of year shows up in the Jan\n\t\t\t\tnewDate = newDate.clone().startOf(weekType);\n\t\t\t}\n\t\t\tonSelectDate(newDate);\n\t\t}\n\t};\n\n\tconst handleMouseEnter = () => {\n\t\tif (firstVisibleDate && !disabledWeek) {\n\t\t\tconst selectedDate = time(language)({\n\t\t\t\tyear,\n\t\t\t\tmonth: visibleMonth.month(),\n\t\t\t\tday: firstVisibleDate.day\n\t\t\t});\n\t\t\tif (selectedDate) {\n\t\t\t\tconst endOfSelectedWeek = selectedDate.clone().endOf(weekType);\n\t\t\t\tconst endOfYearOutlier = time(language)({ year: year + 1 });\n\t\t\t\t// When week highlighted is week 1 of the next year, conversion from moment\n\t\t\t\t// maintains the same year, giving a wrong highlighted date. This checks for\n\t\t\t\t// whether the highlighted week is the same as the first week of the next year\n\t\t\t\tif (selectedDate.isSame(endOfYearOutlier, weekType)) {\n\t\t\t\t\tonHighlightedDate(endOfYearOutlier.clone().startOf(weekType), true);\n\t\t\t\t\trangePicker &&\n\t\t\t\t\t\tonEndDayHover(endOfYearOutlier.clone().startOf(weekType));\n\t\t\t\t} else if (\n\t\t\t\t\tvisibleMonth.isSame(selectedDate.startOf(weekType), 'month')\n\t\t\t\t) {\n\t\t\t\t\t//leftmonth partial hover\n\t\t\t\t\tonHighlightedDate(selectedDate);\n\t\t\t\t\trangePicker && onEndDayHover(selectedDate);\n\t\t\t\t}\n\t\t\t\t// if user is highlighting a week that starts in previous month,\n\t\t\t\t// the previous if doesnt capture the highlighting. This checks if the end\n\t\t\t\t// of the highlighted month is in the other visible month\n\t\t\t\telse if (\n\t\t\t\t\tvisibleMonth.isSame(endOfSelectedWeek.endOf(weekType), 'month')\n\t\t\t\t) {\n\t\t\t\t\tonHighlightedDate(endOfSelectedWeek);\n\t\t\t\t\trangePicker && rightMonth && onEndDayHover(endOfSelectedWeek);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tif (rangePicker) {\n\t\t\tonEndDayHover('');\n\t\t\tonHighlightedDate(null);\n\t\t}\n\t};\n\n\tconst firstDayOfWeek = week[0].day;\n\n\tconst weekStart = adjacentWeek\n\t\t? weekIndex\n\t\t\t? firstDayOfWeek < MAX_DAYS_IN_ADJACENT_NEXT_MONTH\n\t\t\t\t? visibleMonth.clone().add(1, 'month').date(firstDayOfWeek) //last row extended - all days in next month\n\t\t\t\t: visibleMonth.clone().date(firstDayOfWeek) // last row but has some current month days\n\t\t\t: visibleMonth.clone().subtract(1, 'month').date(firstDayOfWeek) //first row\n\t\t: visibleMonth.clone().date(firstDayOfWeek); //middle rows\n\n\tconst weekNumber = isoWeek ? weekStart.isoWeek() : weekStart.week();\n\n\tif (disabledWeek || !firstVisibleDate) {\n\t\tclassName += ' is-disabled-week';\n\t}\n\n\tlet calculatedYear = weekStart.clone().startOf(weekType).year();\n\n\tif (weekOfYear == 1 && (weekStart.month() == 11 || weekStart.month() == 0)) {\n\t\t//first week of year shows up in the Dec\n\t\t//last week of year shows up in the Jan\n\t\tcalculatedYear = weekStart.clone().endOf(weekType).year();\n\t}\n\n\treturn (\n\t\t<div className=\"now-record-date-picker-weekly-month-week\" role=\"rowgroup\">\n\t\t\t<WeekNumber weekNumber={weekNumber} />\n\t\t\t<div\n\t\t\t\tid={`W${padStart(weekNumber, 2, '0')} ${calculatedYear}`}\n\t\t\t\trole=\"row\"\n\t\t\t\tclassName={className}\n\t\t\t\ton-click={handleSelection}\n\t\t\t\ton-mouseenter={handleMouseEnter}\n\t\t\t\ton-mouseleave={handleMouseLeave}\n\t\t\t\t{...tabIndex}\n\t\t\t\taria-label={\n\t\t\t\t\thighlightedDate && highlightedDate.isValid()\n\t\t\t\t\t\t? t(\n\t\t\t\t\t\t\t\t'Selected Week: {0}. Use arrow keys to adjust the selected week.',\n\t\t\t\t\t\t\t\thighlightedDate.format(format)\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: t('Use arrow keys to select a Week Range.')\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Week\n\t\t\t\t\tweek={week}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\tdisabledWeek={disabledWeek}\n\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\tisWeekInRange={isWeekInRange}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { map, find, findLast } from 'lodash';\nimport { time, isAttrTrue } from '@devsnc/sn-controls-common';\nimport makeClass from 'classnames';\nimport { getDateRangeRows } from '../../utils/gridUtils';\nimport { WeekRow } from './WeekRow';\nimport { WEEKLY_FORMAT, WEEKLY_ISO_FIRST_DAY } from '../../constants';\n\n/**\n * Grid of days (selectable week) for the curent month (plus a few extra days from prev/next\n * month to balance out the calendar\n */\nexport const Weeks = ({\n\tdate,\n\thighlightedDate,\n\tvisibleMonth = date,\n\tstart = date,\n\tend = date,\n\tformat = WEEKLY_FORMAT,\n\tonSelectDate,\n\tonEndDayHover,\n\tonHighlightedDate,\n\tfirstDayOfWeek = 0,\n\tshowAdjacentMonthDays,\n\trangePicker,\n\tlanguage,\n\thoverEnd = '',\n\tdisabledDays,\n\tcurrentDate,\n\tisoWeek,\n\tweekType,\n\trightMonth,\n\treadonly\n}) => {\n\tconst normalizeDate = date => date.clone().startOf('day');\n\tconst firstDay = isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek;\n\tconst month = getDateRangeRows(visibleMonth, firstDay, disabledDays, isoWeek);\n\tconst year = visibleMonth.year();\n\tconst normalizedStart = normalizeDate(time(language)(start, format));\n\tconst normalizedEnd = normalizeDate(time(language)(end, format));\n\tconst normalizedHoverEnd = normalizeDate(time(language)(hoverEnd, format));\n\tconst today = normalizeDate(time(language)());\n\tconst none = !start;\n\tconst onlyStart = start && !end;\n\tconst normalizedCurrentDate = normalizeDate(\n\t\ttime(language)(currentDate, format)\n\t);\n\tconst normalizedCurrentDateEnd = currentDate\n\t\t? normalizeDate(time(language)(currentDate.clone().endOf(weekType), format))\n\t\t: normalizedCurrentDate.clone();\n\n\treturn (\n\t\t<div className=\"now-record-date-picker-month\">\n\t\t\t{map(month, (week, weekIndex) => {\n\t\t\t\tconst dayStartObj = find(week, { disabled: false });\n\t\t\t\tconst dayEndObj = findLast(week, { disabled: false });\n\t\t\t\tlet normalizedVisibleStart = normalizeDate(\n\t\t\t\t\ttime(language)(visibleMonth.clone(), format)\n\t\t\t\t);\n\t\t\t\tlet normalizedVisibleEnd = normalizeDate(\n\t\t\t\t\ttime(language)(visibleMonth.clone(), format)\n\t\t\t\t);\n\n\t\t\t\t//check if any day is disabled\n\t\t\t\tconst dayDisabled = find(week, { disabled: true });\n\t\t\t\tconst daysOfCurrentWeek = week\n\t\t\t\t\t.filter(wk => !wk.adjacentMonthDay)\n\t\t\t\t\t.map(wk => wk.day);\n\t\t\t\tconst disabledWeek = dayDisabled\n\t\t\t\t\t? dayStartObj\n\t\t\t\t\t\t? daysOfCurrentWeek.some(day => disabledDays.has(day))\n\t\t\t\t\t\t: true\n\t\t\t\t\t: false;\n\n\t\t\t\tconst adjacentWeek = week.some(wk => wk.adjacentMonthDay);\n\n\t\t\t\tlet isCurrentWeek = false;\n\n\t\t\t\tif (dayStartObj && dayEndObj) {\n\t\t\t\t\tnormalizedVisibleStart = normalizeDate(\n\t\t\t\t\t\ttime(language)(visibleMonth.clone().date(dayStartObj.day), format)\n\t\t\t\t\t);\n\t\t\t\t\tnormalizedVisibleEnd = normalizeDate(\n\t\t\t\t\t\ttime(language)(visibleMonth.clone().date(dayEndObj.day), format)\n\t\t\t\t\t);\n\n\t\t\t\t\t// current date should fall between normalized visiible start and normalized visible end\n\t\t\t\t\tisCurrentWeek = !rangePicker\n\t\t\t\t\t\t? (normalizedCurrentDate.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedCurrentDate.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t  (normalizedCurrentDateEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedCurrentDateEnd.isSameOrBefore(normalizedVisibleEnd))\n\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t? (normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t  normalizedStart.clone().add(6, 'day').isSame(normalizedVisibleEnd)\n\t\t\t\t\t\t: dayStartObj &&\n\t\t\t\t\t\t  dayEndObj &&\n\t\t\t\t\t\t  ((normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t\t\tnormalizedStart\n\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t\tnormalizedEnd\n\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t\t(normalizedEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\t\tnormalizedEnd.isSameOrBefore(normalizedVisibleEnd)));\n\t\t\t\t}\n\n\t\t\t\tconst isSelected = none\n\t\t\t\t\t? false\n\t\t\t\t\t: onlyStart\n\t\t\t\t\t? (normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t  normalizedStart.clone().add(6, 'day').isSame(normalizedVisibleEnd)\n\t\t\t\t\t: dayStartObj &&\n\t\t\t\t\t  dayEndObj &&\n\t\t\t\t\t  ((normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t\tnormalizedStart\n\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\tnormalizedEnd\n\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t(normalizedEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedEnd.isSameOrBefore(normalizedVisibleEnd)));\n\n\t\t\t\tconst isPreview =\n\t\t\t\t\tonlyStart &&\n\t\t\t\t\tnormalizedVisibleStart\n\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t.startOf(weekType)\n\t\t\t\t\t\t.isAfter(normalizedStart) &&\n\t\t\t\t\tnormalizedVisibleEnd.isSameOrBefore(normalizedHoverEnd);\n\n\t\t\t\tconst isInsideRange =\n\t\t\t\t\tnormalizedVisibleStart.isSameOrAfter(normalizedStart) &&\n\t\t\t\t\tnormalizedVisibleEnd.isSameOrBefore(normalizedEnd) &&\n\t\t\t\t\t!onlyStart;\n\n\t\t\t\tconst isHighlighted =\n\t\t\t\t\t!isSelected &&\n\t\t\t\t\tnormalizedHoverEnd.isSame(normalizedVisibleStart, 'date');\n\n\t\t\t\tconst isToday =\n\t\t\t\t\tdayStartObj &&\n\t\t\t\t\tdayEndObj &&\n\t\t\t\t\ttoday.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\ttoday.isSameOrBefore(normalizedVisibleEnd);\n\n\t\t\t\tconst className = makeClass(\n\t\t\t\t\t'now-record-date-picker-weekly-month-week-row',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-selected': isSelected && !isCurrentWeek,\n\t\t\t\t\t\t'is-current-week': isCurrentWeek,\n\t\t\t\t\t\t'is-outlined': isToday,\n\t\t\t\t\t\t'is-selected-secondary':\n\t\t\t\t\t\t\trangePicker && (isPreview || (!isSelected && isInsideRange)),\n\t\t\t\t\t\t'hover-secondary-selected':\n\t\t\t\t\t\t\trangePicker && !isSelected && isInsideRange,\n\t\t\t\t\t\t'hover-highlighted': isHighlighted,\n\t\t\t\t\t\t'hover-secondary-highlighted':\n\t\t\t\t\t\t\trangePicker && !isSelected && isInsideRange && isHighlighted,\n\t\t\t\t\t\t'is-rangepicker': rangePicker,\n\t\t\t\t\t\t'is-readonly': !isCurrentWeek && isAttrTrue(readonly)\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tconst tabIndex = {\n\t\t\t\t\t...(isHighlighted || (isSelected && !rangePicker)\n\t\t\t\t\t\t? { tabIndex: 0 }\n\t\t\t\t\t\t: { tabIndex: -1 })\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<WeekRow\n\t\t\t\t\t\tkey={weekIndex}\n\t\t\t\t\t\tyear={year}\n\t\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\t\tvisibleStart={normalizedVisibleStart}\n\t\t\t\t\t\tdisabledWeek={disabledWeek}\n\t\t\t\t\t\tadjacentWeek={adjacentWeek}\n\t\t\t\t\t\tweek={week}\n\t\t\t\t\t\tweekIndex={weekIndex}\n\t\t\t\t\t\tweekOfYear={\n\t\t\t\t\t\t\tnormalizedVisibleStart\n\t\t\t\t\t\t\t\t? isoWeek\n\t\t\t\t\t\t\t\t\t? normalizedVisibleStart.format('WW')\n\t\t\t\t\t\t\t\t\t: normalizedVisibleStart.format('ww')\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\trole=\"row\"\n\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\t\tonEndDayHover={onEndDayHover}\n\t\t\t\t\t\tonlyStart={onlyStart}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\tweekType={weekType}\n\t\t\t\t\t\tisWeekInRange={isPreview && isInsideRange}\n\t\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nimport { time, isEditable } from '@devsnc/sn-controls-common';\nimport { adjustWeekForYearOverlap } from '../../utils/gridUtils';\nimport {\n\tnextFocusControlElement,\n\tnextFocusWeekElement,\n\thandleRangePickerWeekTab\n} from '../../utils/elements';\nimport { handleKeyPress } from '../../utils/calendarUtils';\nimport { WEEKLY_ISO_FIRST_DAY } from '../../constants';\nimport { Weeks } from './Weeks';\n\nconst KEYMAP = {\n\tArrowLeft: (date, isReversed) => date.add(isReversed ? 1 : -1, 'months'),\n\tArrowRight: (date, isReversed) => date.add(isReversed ? -1 : 1, 'months'),\n\tArrowUp: { week: -1 },\n\tArrowDown: { week: +1 },\n\tPageUp: { months: -1 },\n\tPageDown: { months: +1 },\n\tCtrlPageUp: { years: -1 },\n\tCtrlPageDown: { years: +1 },\n\tHome: date => date.startOf('month'),\n\tEnd: date => date.endOf('month'),\n\tEnter: date => date,\n\tSpacebar: date => date,\n\t' ': date => date\n};\n\n/**\n * Wraps Week Grid to fit nicely within the month view\n */\nexport const WeeklyGrid = ({ updateState, ...props }) => {\n\tconst {\n\t\tdate,\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\tparentRef,\n\t\trightMonth,\n\t\tmouseDown,\n\t\thasGridFocus,\n\t\thighlightedDate,\n\t\tvisibleMonth,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\thoverEnd,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\treadonly,\n\t\tweekType,\n\t\tlanguage\n\t} = props;\n\n\t/**\n\t * Handle keyboard events. See description for KEYMAP above.\n\t */\n\tconst onKeyDown = event => {\n\t\tif (!isEditable(props)) {\n\t\t\treturn;\n\t\t}\n\t\tconst { key, shiftKey, currentTarget } = event;\n\t\tconst { enableMonthNavigationChevrons } = props;\n\t\tconst rightMonth = enableMonthNavigationChevrons || false;\n\t\tconst weekCurrent = event.target.id;\n\t\tconst weekCurrentDay = time(language)(weekCurrent, format);\n\n\t\tlet nextDate = handleKeyPress({\n\t\t\tevent,\n\t\t\tkeymap: KEYMAP,\n\t\t\thighlightedDate: weekCurrentDay,\n\t\t\treversed: document && document.dir === 'rtl'\n\t\t});\n\n\t\tif (nextDate !== highlightedDate && key !== 'Tab' && !shiftKey) {\n\t\t\tif (key === 'Enter' || key === ' ' || key === 'Spacebar') {\n\t\t\t\tconst startOfWeek = nextDate.clone().startOf(weekType);\n\t\t\t\tconst endOfWeek = nextDate.clone().endOf(weekType);\n\t\t\t\tif (\n\t\t\t\t\t!disabledDays.has(startOfWeek.date()) &&\n\t\t\t\t\t!disabledDays.has(endOfWeek.date())\n\t\t\t\t) {\n\t\t\t\t\tonSelectDate(nextDate);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tonHighlightedDate(nextDate);\n\t\t\t\tif (onEndDayHover) onEndDayHover(nextDate);\n\t\t\t}\n\t\t}\n\n\t\tswitch (key) {\n\t\t\tcase 'Tab':\n\t\t\t\tif (\n\t\t\t\t\trangePicker &&\n\t\t\t\t\tcurrentTarget?.className.includes(\n\t\t\t\t\t\t'now-record-date-picker-weekly-month-week-row'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\thandleRangePickerWeekTab(rangePickerRef, event);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tcurrentTarget?.className.includes(\n\t\t\t\t\t\t'now-record-date-picker-month-wrapper-outer'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif (shiftKey || (rightMonth && !shiftKey)) {\n\t\t\t\t\t\tconst controlToFocus = nextFocusControlElement(\n\t\t\t\t\t\t\tcurrentTarget,\n\t\t\t\t\t\t\trightMonth\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (controlToFocus) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tcontrolToFocus.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!rightMonth) currentTarget.blur();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\tcase 'CtrlPageUp':\n\t\t\tcase 'PageDown':\n\t\t\tcase 'CtrlPageDown':\n\t\t\tcase 'Home':\n\t\t\tcase 'End':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\tcase 'ArrowRight':\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tnextDate = adjustWeekForYearOverlap(\n\t\t\t\t\tnextDate,\n\t\t\t\t\tlanguage,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tweekType\n\t\t\t\t);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst weekToFocus = nextFocusWeekElement(\n\t\t\t\t\t\tnextDate,\n\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\tparentRef.current,\n\t\t\t\t\t\tisoWeek\n\t\t\t\t\t);\n\t\t\t\t\tif (weekToFocus) {\n\t\t\t\t\t\tweekToFocus.tabIndex = '0';\n\t\t\t\t\t\tweekToFocus.focus();\n\t\t\t\t\t}\n\t\t\t\t\tonHighlightedDate(nextDate);\n\t\t\t\t}, 0);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-record-date-picker-month-wrapper-outer\"\n\t\t\ton-keydown={onKeyDown}\n\t\t\ton-mousedown={() => {\n\t\t\t\tif (!rightMonth) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tmouseDown: true,\n\t\t\t\t\t\thasGridFocus: false,\n\t\t\t\t\t\trightMonth: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focus={() => {\n\t\t\t\tif (!mouseDown) {\n\t\t\t\t\tupdateState({ hasGridFocus: true });\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-blur={() =>\n\t\t\t\tupdateState({\n\t\t\t\t\thasGridFocus: false,\n\t\t\t\t\trightMonth: false,\n\t\t\t\t\tmouseDown: false\n\t\t\t\t})\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"now-record-date-picker-month-wrapper-inner\"\n\t\t\t\trole=\"grid\"\n\t\t\t\taria-label={t(' Calendar Grid. Use arrow keys to adjust the date.')}\n\t\t\t>\n\t\t\t\t<Weeks\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tstart={start}\n\t\t\t\t\tend={end}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tweekType={weekType}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonEndDayHover={onEndDayHover}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\tfirstDayOfWeek={isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek}\n\t\t\t\t\tshowAdjacentMonthDays={rangePicker ? showAdjacentMonthDays : true}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t{...(rangePicker && (hasGridFocus || rightMonth)\n\t\t\t\t\t\t? { highlightedDate: highlightedDate }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nimport { DaysOfWeek, getWeekType } from '../../utils/gridUtils';\nimport { YearLabel } from './YearLabel';\nimport { StandardGrid } from '../../grids/standard/StandardGrid';\nimport { WeeklyGrid } from '../../grids/weekly/WeeklyGrid';\nimport {\n\tWEEKLY_FORMAT,\n\tWEEKLY_ISO_FORMAT,\n\tWEEKLY_ISO_FIRST_DAY\n} from '../../constants';\n\n/**\n * Wrapping container for the calendar. Handles animating between 2 adjacent\n * displayed months.\n */\nexport const GridWrapper = ({ updateState, ...props }) => {\n\tconst {\n\t\tdate,\n\t\thighlightedDate,\n\t\thasFocus,\n\t\tonSelectDate,\n\t\tonControlExit,\n\t\tonHighlightedDate,\n\t\tonChangeMonth,\n\t\tlanguage,\n\t\tfirstDayOfWeek,\n\t\tariaLabel,\n\t\tconfigAria,\n\t\tstart = date,\n\t\tend = date,\n\t\tformat = 'MM-DD-YYYY',\n\t\tvisibleMonth = date,\n\t\tenablePreviousMonthControl,\n\t\tenableNextMonthControl,\n\t\tshowAdjacentMonthDays = true,\n\t\tonEndDayHover,\n\t\thoverEnd,\n\t\trangePickerRef,\n\t\tweeklyView = false,\n\t\tdisabledDays,\n\t\tenableMonthNavigationChevrons,\n\t\trangePicker,\n\t\tcurrentDate,\n\t\tisoWeek,\n\t\tautoSelectDatesCount,\n\t\tdisabled,\n\t\treadonly,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = props;\n\tconst parentNode = createRef();\n\n\tconst gridProps = {\n\t\tdate,\n\t\thighlightedDate,\n\t\tdisabled,\n\t\treadonly,\n\t\tariaLabel,\n\t\tconfigAria,\n\t\tvisibleMonth,\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tstart,\n\t\tend,\n\t\tformat: weeklyView ? (isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT) : format,\n\t\trangePickerRef,\n\t\tenableMonthNavigationChevrons,\n\t\trangePicker,\n\t\tfirstDayOfWeek: isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\tonEndDayHover,\n\t\thoverEnd,\n\t\thasFocus,\n\t\tlanguage,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\tisoWeek,\n\t\tweekType: getWeekType(isoWeek),\n\t\tautoSelectDatesCount,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown,\n\t\tupdateState\n\t};\n\treturn (\n\t\t<div\n\t\t\tref={parentNode}\n\t\t\tclassName=\"now-record-date-picker -monthly\"\n\t\t\taria-atomic=\"true\"\n\t\t>\n\t\t\t<YearLabel\n\t\t\t\tdisabled={disabled}\n\t\t\t\treadonly={readonly}\n\t\t\t\tdate={visibleMonth}\n\t\t\t\trangePicker={rangePicker}\n\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\tenablePreviousMonthControl={enablePreviousMonthControl}\n\t\t\t\tenableNextMonthControl={enableNextMonthControl}\n\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\tonControlExit={onControlExit}\n\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\tweeklyView={weeklyView}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tenableMonthNavigationChevrons={enableMonthNavigationChevrons}\n\t\t\t/>\n\n\t\t\t<DaysOfWeek\n\t\t\t\tlanguage={language}\n\t\t\t\tfirstDayOfWeek={gridProps.firstDayOfWeek}\n\t\t\t\tweeklyView={weeklyView}\n\t\t\t/>\n\n\t\t\t{weeklyView ? (\n\t\t\t\t<WeeklyGrid {...gridProps} parentRef={parentNode} />\n\t\t\t) : (\n\t\t\t\t<StandardGrid {...gridProps} parentRef={parentNode} />\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tdate,\n\t\thighlightedDate,\n\t\thasFocus,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown,\n\t\tproperties\n\t} = state;\n\n\treturn (\n\t\t<GridWrapper\n\t\t\tdate={date}\n\t\t\thighlightedDate={highlightedDate}\n\t\t\thasFocus={hasFocus}\n\t\t\trightMonth={rightMonth}\n\t\t\thasGridFocus={hasGridFocus}\n\t\t\tmouseDown={mouseDown}\n\t\t\tupdateSate={updateState}\n\t\t\t{...properties}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import { isFunction } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tisEditable,\n\tisTimeZoneEnabledField,\n\ttime,\n\tisNil\n} from '@devsnc/sn-controls-common';\nimport { STANDARD_TYPE, WEEKLY_TYPE } from '../constants';\nimport { getFormat } from '../utils/calendarUtils';\n\nconst { COMPONENT_RENDERED } = actionTypes;\nexport const ON_DATE_CHANGE =\n\t'NOW_RECORD_MINI_CALENDAR_INTERNAL#ON_DATE_CHANGE';\nexport const ON_SELECT_DATE =\n\t'NOW_RECORD_MINI_CALENDAR_INTERNAL#ON_SELECT_DATE';\n\nconst isStandardOrWeeklyType = type =>\n\ttype === STANDARD_TYPE || type === WEEKLY_TYPE;\n\nconst componentRenderedEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { previousRenderProperties }\n\t},\n\tdispatch\n}) => {\n\tconst { value, opened, language, utcOffset, initCurrentDate } = properties;\n\tconst { opened: prevOpened } = previousRenderProperties;\n\n\tif (prevOpened !== opened && opened && !value && initCurrentDate) {\n\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\tdate: isNil(utcOffset)\n\t\t\t\t? time(language)()\n\t\t\t\t: time(language)().utcOffset(utcOffset),\n\t\t\tupdatePopover: false\n\t\t});\n\t}\n};\n\nconst onSelectDateEffect = ({\n\taction: {\n\t\tpayload: { date }\n\t},\n\tproperties,\n\tupdateState,\n\tdispatch\n}) => {\n\tif (date.isValid() && isEditable(properties)) {\n\t\tconst { type, isoWeek, weekType } = properties;\n\n\t\tif (isStandardOrWeeklyType(type)) {\n\t\t\tlet visibleMonth = date.clone();\n\t\t\t//for weekly view set the visiblemonth to next if last week of dec is selected\n\t\t\tif (type === WEEKLY_TYPE && date) {\n\t\t\t\tconst week = isoWeek ? date.isoWeek() : date.week();\n\t\t\t\tif (week == 1 && date.month() == 11) {\n\t\t\t\t\t//first week of year shows up in the Dec\n\t\t\t\t\tvisibleMonth = date.clone().endOf(weekType);\n\t\t\t\t} else if (week > 5 && date.month() == 0) {\n\t\t\t\t\t//last week of year shows up in the Jan\n\t\t\t\t\tvisibleMonth = date.clone().startOf(weekType);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tcurrentDate: visibleMonth,\n\t\t\t\tdate,\n\t\t\t\tvisibleMonth\n\t\t\t});\n\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\tdate: visibleMonth\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({ date });\n\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\tdate\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst onDateChangeEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { date, updatePopover, initValue }\n\t}\n}) => {\n\tconst { isoWeek, type, embedded, onDateChange } = properties;\n\tlet format = getFormat(properties);\n\tif (isStandardOrWeeklyType(type)) {\n\t\tif (type === WEEKLY_TYPE && date) {\n\t\t\tconst week = isoWeek ? date.isoWeek() : date.week();\n\t\t\tif (week == 1 && date.month() == 11) {\n\t\t\t\t//first week of year shows up in the December\n\t\t\t\tdate.add('1', 'year');\n\t\t\t}\n\t\t}\n\t\t//Replacing timezone(z) as it is adding date abbrivation on selection\n\t\tif (!isTimeZoneEnabledField(format)) format = format.replaceAll('z', '');\n\n\t\tconst value = date.format(format);\n\t\tif (!initValue || !embedded) {\n\t\t\tonDateChange(value);\n\t\t}\n\t} else {\n\t\tif (isFunction(onDateChange)) {\n\t\t\tonDateChange(date.format(format), null, updatePopover);\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'calendarViewBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: componentRenderedEffect,\n\t\t[ON_SELECT_DATE]: onSelectDateEffect,\n\t\t[ON_DATE_CHANGE]: onDateChangeEffect\n\t}\n};\n","import { isEmpty, isNil } from 'lodash';\n\nimport {\n\tcheckAutofocus,\n\tisTimeZoneEnabledField,\n\ttime\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { WEEKLY_TYPE } from '../../constants';\nimport { getDisabledDays } from '../../utils/calendarUtils';\nimport {\n\tON_DATE_CHANGE,\n\tON_SELECT_DATE\n} from '../../behaviors/calendarViewBehavior';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_RENDER_REQUESTED\n} = actionTypes;\nconst PRESET_VALUE_CHANGED = 'SN_DATE_PRESET_PANEL#VALUE_CHANGED';\nexport const ON_CHANGE_MONTH = 'PRIVATE#ON_CHANGE_MONTH';\n\nexport const gridComponentPropertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value }\n\t},\n\tupdateState\n}) => {\n\tif (name === 'date') {\n\t\tupdateState({\n\t\t\tdate: value\n\t\t});\n\t} else if (name === 'highlightedDate') {\n\t\tupdateState({\n\t\t\thighlightedDate: value\n\t\t});\n\t}\n\tif (name === 'hasFocus') {\n\t\tupdateState({\n\t\t\thasFocus: value\n\t\t});\n\t}\n};\n\nexport default {\n\t[PRESET_VALUE_CHANGED]: {\n\t\teffect: ({ action, properties: { onDateChange } }) => {\n\t\t\tconst selectedTimeAgo = action.payload;\n\t\t\tonDateChange(selectedTimeAgo.label, selectedTimeAgo);\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: ({ host, properties }) => {\n\t\tconst node = host.shadowRoot.querySelector('div[role=\"application\"]');\n\t\tcheckAutofocus(properties.autofocus, node);\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\tproperties,\n\t\taction: {\n\t\t\tpayload: { previousRenderProperties }\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst {\n\t\t\tlanguage,\n\t\t\tvalue,\n\t\t\tformat,\n\t\t\tutcOffset,\n\t\t\tinitCurrentDate,\n\t\t\ttimeAgo,\n\t\t\topened\n\t\t} = properties;\n\t\tif (opened !== previousRenderProperties.opened && opened === true) {\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tconst date = time(language)(value, format, isStrictCheck);\n\n\t\t\tconst now = isNil(utcOffset)\n\t\t\t\t? time(language)()\n\t\t\t\t: time(language)().utcOffset(utcOffset);\n\t\t\tconst initialDate = date.isValid() ? date : now;\n\n\t\t\t// when date is invalid, set the pending value to the current time\n\t\t\tif (\n\t\t\t\tinitCurrentDate &&\n\t\t\t\t!date.isValid() &&\n\t\t\t\t!timeAgo &&\n\t\t\t\tisEmpty(value) &&\n\t\t\t\topened\n\t\t\t) {\n\t\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\t\tdate: initialDate\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tdate: initialDate,\n\t\t\t\tvisibleMonth: initialDate,\n\t\t\t\tcurrentDate: initCurrentDate ? initialDate : ''\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value: newValue, previousValue }\n\t\t},\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tif (\n\t\t\t(name === 'value' || name === 'language') &&\n\t\t\tpreviousValue !== newValue\n\t\t) {\n\t\t\tif (name === 'value') {\n\t\t\t\tupdateState({ value: newValue });\n\t\t\t}\n\t\t\tconst { format, language, utcOffset } = properties;\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tconst date = time(language)(newValue, format, isStrictCheck);\n\t\t\tif (date.isValid()) {\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDate: date,\n\t\t\t\t\tdate,\n\t\t\t\t\tvisibleMonth: date\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst now = isNil(utcOffset)\n\t\t\t\t\t? time(language)()\n\t\t\t\t\t: time(language)().utcOffset(utcOffset);\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDate: now,\n\t\t\t\t\tdate: now,\n\t\t\t\t\tvisibleMonth: now\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[ON_CHANGE_MONTH]: ({\n\t\taction: {\n\t\t\tpayload: { date, action, day }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst {\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\ttype,\n\t\t\tisoWeek,\n\t\t\tautoSelectDatesCount,\n\t\t\tembedded\n\t\t} = properties;\n\t\t//handle view today button\n\t\tif (action && action === 'current' && day) {\n\t\t\tdate = time(language)(date.clone().date(day), format);\n\t\t}\n\n\t\tupdateState({\n\t\t\tdate,\n\t\t\tvisibleMonth: date\n\t\t});\n\n\t\t// When AutoSelectDatesCount prop is enabled we don't select dates automatically while switching months\n\t\tif (!autoSelectDatesCount) {\n\t\t\t// for mini calendar (embedded will be true) consider year/month change as selecting a date\n\t\t\t// for date-picker embedded will be false\n\t\t\t// skip for view today button\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledDatesForMonth = getDisabledDays(\n\t\t\t\t\tdate,\n\t\t\t\t\tformat,\n\t\t\t\t\tdisabledDates,\n\t\t\t\t\ttype === WEEKLY_TYPE,\n\t\t\t\t\tisoWeek\n\t\t\t\t);\n\t\t\t\tif (disabledDatesForMonth && disabledDatesForMonth.size) {\n\t\t\t\t\t//select date if the date is not a disabled date\n\t\t\t\t\tconst daySelected = date.date();\n\t\t\t\t\tconst isADisabledDate = [...disabledDatesForMonth].includes(\n\t\t\t\t\t\tdaySelected\n\t\t\t\t\t);\n\t\t\t\t\tif (!isADisabledDate) {\n\t\t\t\t\t\tdispatch(ON_SELECT_DATE, {\n\t\t\t\t\t\t\tdate\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t//no disabled dates for this month\n\t\t\t\t\tdispatch(ON_SELECT_DATE, {\n\t\t\t\t\t\tdate\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { t } from 'sn-translate';\n\nimport { isEditable } from '@devsnc/sn-controls-common';\n\nimport { getDisabledDays } from '../../utils/calendarUtils';\nimport { GridWrapper } from './GridWrapper';\nimport { WEEKLY_TYPE } from '../../constants';\nimport { ON_CHANGE_MONTH } from './actionHandlers';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\n\nconst CalendarBody = ({ dispatch, updateState, ...props }) => {\n\tconst {\n\t\tvisibleMonth,\n\t\tformat,\n\t\tdisabledDates,\n\t\ttype,\n\t\tisoWeek,\n\t\treadonly,\n\t\tdate,\n\t\tlanguage,\n\t\tcurrentDate,\n\t\tautoSelectDatesCount,\n\t\tfirstDayOfWeek,\n\t\tonHighlightedDate,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = props;\n\n\tconst onChangeMonth = (date, action, day) => {\n\t\tdispatch(ON_CHANGE_MONTH, {\n\t\t\tdate,\n\t\t\taction,\n\t\t\tday\n\t\t});\n\t};\n\n\tconst onSelectDate = date => {\n\t\tdispatch(ON_SELECT_DATE, { date });\n\t};\n\n\tconst disabledDays =\n\t\tvisibleMonth &&\n\t\tgetDisabledDays(\n\t\t\tvisibleMonth,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\ttype === WEEKLY_TYPE,\n\t\t\tisoWeek\n\t\t);\n\n\tif (!visibleMonth || !date) {\n\t\treturn null;\n\t}\n\n\tconst dateInUpdatedFormat = date.format(format.toUpperCase());\n\n\treturn (\n\t\t<div\n\t\t\taria-label={t('Selected date: {0}', dateInUpdatedFormat)}\n\t\t\trole=\"application\"\n\t\t>\n\t\t\t<div className=\"sn-popover-body\">\n\t\t\t\t<GridWrapper\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdisabled={!isEditable(props)}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tariaLabel={t('Selected date: {0}.', dateInUpdatedFormat)}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tweeklyView={type === WEEKLY_TYPE}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\thighlightedDate={date}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\thasGridFocus={hasGridFocus}\n\t\t\t\t\tmouseDown={mouseDown}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default CalendarBody;\n","import { isObject } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-record-time';\nimport '@devsnc/sn-record-control';\nimport { time } from '@devsnc/sn-controls-common';\n\nimport '../../preset-panel';\nimport { STANDARD_TYPE } from '../../constants';\nimport { getFormat } from '../../utils/calendarUtils';\nimport { getWeekType } from '../../utils/gridUtils';\nimport CalendarBody from './CalendarBody';\nimport { ON_DATE_CHANGE } from '../../behaviors/calendarViewBehavior';\n\nconst isValidDate = (properties, value) => {\n\tconst date = time(properties.language)(value, getFormat(properties), true);\n\treturn date.isValid();\n};\n\n// Time changes are coming from now-record-time, which returns stringified, formatted\n// values. Return these as-is (but strip away the useless `event` and `name` params)\nconst onTimeChange = (properties, updateState) => (event, name, value) => {\n\tproperties.onDateChange(value);\n\tif (isValidDate(properties, value)) {\n\t\tupdateState({ value });\n\t}\n};\n\n// Date changes are internal to calendar and pass up a moment date object.\n// Need to format before sending these up.\nconst onDateChange = dispatch => (date, initValue) => {\n\tdispatch(ON_DATE_CHANGE, {\n\t\tdate,\n\t\tinitValue\n\t});\n};\n\nconst onHighlightedDate = updateState => newDate => {\n\tupdateState({ date: newDate, visibleMonth: newDate });\n};\n\nconst view = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tvalue: stateValue,\n\t\tdate,\n\t\tvisibleMonth,\n\t\tcurrentDate,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = state;\n\tconst {\n\t\tbottomBar,\n\t\ttimePicker,\n\t\tonCancel,\n\t\tonOk,\n\t\topened,\n\t\ttimeAgo,\n\t\tvalue,\n\t\tembedded,\n\t\ttype,\n\t\tinitCurrentDate,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\treversed,\n\t\treadonly,\n\t\tautofocus,\n\t\tlanguage,\n\t\tutcOffset,\n\t\tdisabledDates,\n\t\tautoSelectDatesCount,\n\t\tname,\n\t\tdefaultZeros\n\t} = properties;\n\tconst format = getFormat(properties);\n\tconst hasFooter =\n\t\t(bottomBar || timePicker) && (onCancel || onOk || timePicker);\n\n\tif (!opened) {\n\t\treturn null;\n\t}\n\n\tlet tableName = '';\n\tlet between = false;\n\tlet absolute = false;\n\n\tif (isObject(timeAgo)) {\n\t\ttableName = timeAgo.tableName;\n\t\tbetween = timeAgo.between;\n\t\tabsolute = timeAgo.absolute;\n\t}\n\n\treturn (\n\t\t<div className={`sn-calendar${timeAgo ? ' is-preset' : ''}`}>\n\t\t\t{timeAgo && type == STANDARD_TYPE ? (\n\t\t\t\t<div className=\"date-preset-panel\">\n\t\t\t\t\t<sn-date-preset-panel-connected\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tbetween={between}\n\t\t\t\t\t\tabsolute={absolute}\n\t\t\t\t\t\thasTime={timePicker}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"date-picker-panel\">\n\t\t\t\t<CalendarBody\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tinitCurrentDate={initCurrentDate}\n\t\t\t\t\tvalue={stateValue}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tweekType={getWeekType(isoWeek)}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tonDateChange={onDateChange(dispatch)}\n\t\t\t\t\treversed={reversed}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\tautofocus={autofocus}\n\t\t\t\t\tutcOffset={utcOffset}\n\t\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\t\ttimeAgo={timeAgo}\n\t\t\t\t\tabsolute={absolute}\n\t\t\t\t\tembedded={embedded}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate(updateState)}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\thasGridFocus={hasGridFocus}\n\t\t\t\t\tmouseDown={mouseDown}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t\t{hasFooter && (\n\t\t\t\t\t<div className=\"sn-calendar-footer\">\n\t\t\t\t\t\t{timePicker && type === STANDARD_TYPE && (\n\t\t\t\t\t\t\t<div className=\"sn-calendar-content -static\">\n\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\tname={`${name}-time-picker`}\n\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\tvalue={stateValue}\n\t\t\t\t\t\t\t\t\tonValueChange={onTimeChange(properties, updateState)}\n\t\t\t\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\t\t\t\trelativeTime={timeAgo && !isValidDate(properties, stateValue)}\n\t\t\t\t\t\t\t\t\tdefaultZeros={defaultZeros}\n\t\t\t\t\t\t\t\t\tdisableTracking\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"sn-calendar-content\">\n\t\t\t\t\t\t\t{onCancel && (\n\t\t\t\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\t\t\t\ton-click={onCancel}\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tbare={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{onOk && (\n\t\t\t\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\t\t\t\t\ton-click={onOk}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tbare={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { time } from '@devsnc/sn-controls-common';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport {\n\tQUARTERS_ARRAY,\n\tQUARTERLY_FORMAT,\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\nimport { getDisabledQuarters } from '../../utils/calendarUtils';\nimport { some, noop } from 'lodash';\nimport moment from 'moment';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nexport const QuarterlyGrid = ({\n\tdisplayedYear,\n\thighlightedQuarter,\n\thoveredQuarter,\n\tstart,\n\tend,\n\tupdateState,\n\tlanguage,\n\tdispatch,\n\tisRangePicker,\n\tdisabledDates,\n\treadonly\n}) => {\n\tlet isFocusedFromClick = false;\n\tconst disabledLeftQuarters = getDisabledQuarters(\n\t\tdisplayedYear,\n\t\tdisabledDates\n\t);\n\tconst disabledRightQuarters = getDisabledQuarters(\n\t\tdisplayedYear + 1,\n\t\tdisabledDates\n\t);\n\n\tconst handleQuarterSelection = (quarter, year) => () => {\n\t\tconst date = time(language)(`${quarter} ${year}`, QUARTERLY_FORMAT);\n\t\tdispatch(SET_DATE, { date });\n\t\tupdateState({ highlightedQuarter: date });\n\t};\n\n\tconst resetHighlighted = () => {\n\t\t// reset back to start date or current date\n\t\tupdateState({\n\t\t\thoveredQuarter: null\n\t\t});\n\t};\n\n\tconst getQuarterGrid = ({ year, selected = [], disabledQuarters }) => {\n\t\treturn QUARTERS_ARRAY.map((quarter, index) => {\n\t\t\tconst isYearAndQuarterSame = s =>\n\t\t\t\ts &&\n\t\t\t\ts.isValid() &&\n\t\t\t\ts.year() === parseInt(year) &&\n\t\t\t\ts.quarter() === index + 1;\n\n\t\t\tconst isSelected = some(selected, isYearAndQuarterSame);\n\t\t\tconst isHighlighted = isYearAndQuarterSame(highlightedQuarter);\n\t\t\tconst isDisabled = disabledQuarters.has(index + 1);\n\n\t\t\tconst currentQuarter = moment(`${index + 1} ${year}`, QUARTERLY_FORMAT);\n\t\t\tconst isCurrentQuarter = isYearAndQuarterSame(moment());\n\n\t\t\tconst [start, end] = selected;\n\t\t\tconst isInRange =\n\t\t\t\tcurrentQuarter.isBetween(start, end) ||\n\t\t\t\t// don't highlight when end of range is selected\n\t\t\t\t(end &&\n\t\t\t\t\t!end.isValid() &&\n\t\t\t\t\tcurrentQuarter.isBetween(\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\thoveredQuarter || highlightedQuarter\n\t\t\t\t\t));\n\n\t\t\tconst handleSelection =\n\t\t\t\t!isDisabled && !isSelected\n\t\t\t\t\t? handleQuarterSelection(index + 1, year)\n\t\t\t\t\t: noop;\n\n\t\t\tconst handleKeyDown = event => {\n\t\t\t\tif (AFFIRMATIVE_KEYS.includes(event.key)) {\n\t\t\t\t\thandleSelection();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst updateHighlighted = () => {\n\t\t\t\t!isDisabled &&\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thoveredQuarter: moment(`${index + 1} ${year}`, QUARTERLY_FORMAT)\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tid={`${index + 1}-${year}`}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'quarter-item': true,\n\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t'is-in-range': isRangePicker ? isInRange : false,\n\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t'is-current-quarter': isCurrentQuarter,\n\t\t\t\t\t\t\t'is-readonly': !isCurrentQuarter && isAttrTrue(readonly)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\tisFocusedFromClick = true;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={handleKeyDown}\n\t\t\t\t\t\ton-mouseenter={updateHighlighted}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\tisAttrTrue(isSelected || (isRangePicker && isInRange))\n\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={`Quarter ${index + 1} ${year}`}\n\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{quarter}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst leftQuarterGrid = getQuarterGrid({\n\t\tyear: displayedYear,\n\t\tselected: [start, end],\n\t\tdisabledQuarters: disabledLeftQuarters\n\t});\n\n\tconst rightQuarterGrid = isRangePicker\n\t\t? getQuarterGrid({\n\t\t\t\tyear: displayedYear + 1,\n\t\t\t\tselected: [start, end],\n\t\t\t\tdisabledQuarters: disabledRightQuarters\n\t\t  })\n\t\t: null;\n\n\tconst handleNavigation = e => {\n\t\t/*\n\t\tstate:\n\t\t\thighlightedDate: start | first_cell\n\n\t\t0. On navigation, update `highlightedQuarter`\n\t\t1a. On enter:\n\t\t\tstart/end set to highlightedQuarter\n\t\t1b. On click:\n\t\t\tstart/end set to selected, highlighteQuarter set to selected\n\t\t*/\n\n\t\tconst { key } = e;\n\n\t\tconst getNextHighlightedQuarter = key => {\n\t\t\tlet operation, increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedQuarter;\n\t\t\t}\n\n\t\t\treturn highlightedQuarter.clone()[operation](increment, 'quarter');\n\t\t};\n\n\t\tconst nextHighlightedQuarter = getNextHighlightedQuarter(key);\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tupdateState({\n\t\t\t\thighlightedQuarter: nextHighlightedQuarter\n\t\t\t});\n\n\t\t\t// If the next highlighted quarter is going prior to the left-side quarter,\n\t\t\t// go back an additional year so it ends up wrapping rather than jumping\n\t\t\tif (nextHighlightedQuarter.year() < displayedYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: isRangePicker\n\t\t\t\t\t\t? nextHighlightedQuarter.year() - 1\n\t\t\t\t\t\t: nextHighlightedQuarter.year()\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\t(nextHighlightedQuarter.year() !== displayedYear &&\n\t\t\t\t\tnextHighlightedQuarter.year() !== displayedYear + 1) ||\n\t\t\t\t(!isRangePicker && nextHighlightedQuarter.year() !== displayedYear)\n\t\t\t) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedQuarter.year()\n\t\t\t\t});\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\te.preventDefault();\n\n\t\t\tlet disabledQuarters = disabledLeftQuarters;\n\n\t\t\tif (isRangePicker && highlightedQuarter.year() === displayedYear + 1) {\n\t\t\t\t//right grid\n\t\t\t\tdisabledQuarters = disabledRightQuarters;\n\t\t\t}\n\n\t\t\t!disabledQuarters.has(highlightedQuarter.quarter()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedQuarter });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"quarterly-view-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\ton-focus={() => {\n\t\t\t\tif (isFocusedFromClick) {\n\t\t\t\t\tisFocusedFromClick = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdispatch(INIT_HIGHLIGHTED_DATE, { displayedYear });\n\t\t\t}}\n\t\t\trole=\"grid\"\n\t\t\tonkeydown={handleNavigation}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedQuarter.isValid()\n\t\t\t\t\t? `${highlightedQuarter.quarter()}-${highlightedQuarter.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={\n\t\t\t\thighlightedQuarter.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected quarter: {0}. Use arrow keys to adjust the selected quarter.',\n\t\t\t\t\t\t\thighlightedQuarter.format(QUARTERLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"quarter-row\" role=\"row\">\n\t\t\t\t{leftQuarterGrid}\n\t\t\t<\/div>\n\n\t\t\t{isRangePicker ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t\t<div className=\"quarter-row\">{rightQuarterGrid}<\/div>\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\nimport '@devsnc/sn-record-control';\n\nexport default ({ onOk, onCancel }) => {\n\treturn (\n\t\t<div className=\"sn-calendar-footer\">\n\t\t\t<div className=\"sn-calendar-content\">\n\t\t\t\t{onCancel ? (\n\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tonCancel();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tbare={false}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{onOk ? (\n\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tonOk();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tbare={false}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { map, max, range } from 'lodash';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\n\nconst VISIBLE_YEARS_DELTA = 100;\nconst VIEW_NEXT_YEAR = t('View next year');\nconst VIEW_CURRENT_YEAR = t('View current year');\nconst VIEW_PREV_YEAR = t('View previous year');\nexport default ({\n\tproperties: { year: displayedYear, isRangePicker, readonly }\n}) => {\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t{isRangePicker ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"left-header\">\n\t\t\t\t\t\t<YearSelect\n\t\t\t\t\t\t\tselectedYear={displayedYear}\n\t\t\t\t\t\t\tid=\"start\"\n\t\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\t\t\t<div className=\"right-header\">\n\t\t\t\t<YearSelect\n\t\t\t\t\tselectedYear={isRangePicker ? displayedYear + 1 : displayedYear}\n\t\t\t\t\tid=\"end\"\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t\t<YearNavigation readonly={readonly} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst YearSelect = ({ selectedYear, id, readonly }) => {\n\tconst firstYear = max([0, selectedYear - VISIBLE_YEARS_DELTA]);\n\n\tconst years = map(\n\t\trange(firstYear, firstYear + VISIBLE_YEARS_DELTA * 2 + 1),\n\t\tlabel => ({ id: String(label), label: String(label) })\n\t);\n\treturn (\n\t\t<now-dropdown\n\t\t\tbare\n\t\t\tvariant=\"secondary\"\n\t\t\titems={years}\n\t\t\tselectedItems={[String(selectedYear)]}\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': t('Year {0}', selectedYear)\n\t\t\t}}\n\t\t\tpanel-fit-props={{ constrain: { minWidth: 100 } }}\n\t\t\tappend-to-payload={{ id }}\n\t\t\tdisabled={readonly}\n\t\t/>\n\t);\n};\n\nconst isRTL = document && document.dir === 'rtl';\nconst prevChevron = isRTL ? 'chevron-right-fill' : 'chevron-left-fill';\nconst nextChevron = isRTL ? 'chevron-left-fill' : 'chevron-right-fill';\n\nconst YearNavigation = ({ readonly = false }) => {\n\tconst props = readonly ? { disabled: readonly } : {};\n\treturn (\n\t\t<div>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon={prevChevron}\n\t\t\t\ttooltipContent={VIEW_PREV_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'previous' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_CURRENT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_CURRENT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon={nextChevron}\n\t\t\t\ttooltipContent={VIEW_NEXT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'next' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport { SET_VISIBLE_YEAR } from '../constants';\n\nexport default {\n\t'NOW_DROPDOWN#ITEM_CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { id, item }\n\t\t\t},\n\t\t\tproperties: { isRangePicker }\n\t\t}) => {\n\t\t\tconst nextYear =\n\t\t\t\tid === 'start' ? item.label : String(Number(item.label) - 1);\n\n\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\tyear: Number(isRangePicker ? nextYear : item.label)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tproperties: { year }\n\t\t}) => {\n\t\t\tlet newYear;\n\n\t\t\tif (action === 'previous') {\n\t\t\t\tnewYear = Number(year) - 1;\n\t\t\t} else if (action === 'next') {\n\t\t\t\tnewYear = Number(year) + 1;\n\t\t\t} else {\n\t\t\t\tconst today = moment();\n\t\t\t\tnewYear = today.year();\n\t\t\t}\n\n\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\tyear: newYear\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\n\ncreateCustomElement('sn-year-header', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tyear: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers\n});\n","import moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\nimport {\n\tQUARTERLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledQuarters } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedQuarter: currentHighlightedQuarter },\n\t\t\tproperties: { format = '[Q]Q YYYY', value },\n\t\t\taction: {\n\t\t\t\tpayload: { displayedYear: visibleYear }\n\t\t\t}\n\t\t}) => {\n\t\t\t// Set highlighted quarter in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Start date\n\t\t\t// 3. Current date\n\t\t\tconst highlightedQuarter =\n\t\t\t\tcurrentHighlightedQuarter && currentHighlightedQuarter.isValid()\n\t\t\t\t\t? currentHighlightedQuarter\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, format)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedQuarter.year();\n\n\t\t\t// If the date from above is not visible based on the visibleYear, default to first quarter\n\t\t\tconst highlightedDateNotVisible = highlightedYear != Number(visibleYear);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedQuarter: highlightedDateNotVisible\n\t\t\t\t\t? moment(`1 ${visibleYear}`, QUARTERLY_FORMAT)\n\t\t\t\t\t: highlightedQuarter\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { year }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: { value, embedded, disabledDates }\n\t\t}) => {\n\t\t\tupdateState({ visibleYear: year });\n\n\t\t\t//for mini calendar (embedded will be true) consider year change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledQuarters = getDisabledQuarters(year, disabledDates);\n\t\t\t\tconst date = moment(value, QUARTERLY_FORMAT).set('year', year);\n\t\t\t\tif (!disabledQuarters.has(date.quarter())) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({ action, properties: { value: propsValue }, dispatch }) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(QUARTERLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) {\n\t\t\t\tdispatch(ON_SELECT_DATE, { date: value });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './quarterlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport { INVALID_MOMENT } from '../../constants';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\n\n// Ensure QUARTERLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-quarterly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedQuarter: INVALID_MOMENT,\n\t\thoveredQuarter: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedQuarter: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { QUARTERLY_FORMAT, INVALID_MOMENT } from '../../constants';\nimport { QuarterlyGrid } from '../../grids/quarterly/QuarterlyGrid';\n\nimport BottomBar from '../../bottom-bar';\nimport '../../year-header';\n\nexport default (\n\t{\n\t\thighlightedQuarter = INVALID_MOMENT,\n\t\thoveredQuarter = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tif (!visibleYear) {\n\t\tvisibleYear = value ? moment(value, QUARTERLY_FORMAT) : moment();\n\t\tupdateState({ visibleYear: visibleYear.year() });\n\t}\n\n\treturn (\n\t\t<div className=\"quarterly-view\">\n\t\t\t<sn-year-header\n\t\t\t\tyear={visibleYear}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t<QuarterlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedQuarter={highlightedQuarter}\n\t\t\t\thoveredQuarter={hoveredQuarter}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={visibleYear}\n\t\t\t\tstart={moment(value, QUARTERLY_FORMAT)}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\nimport { chunk, range, map, noop } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nimport { t } from 'sn-translate';\n\nimport {\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tYEARLY_FORMAT,\n\tYEARLY_YEARS_PER_ROW,\n\tYEARLY_VISIBLE_YEARS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledYears } from '../../utils/calendarUtils';\n\n/**\n * Creates the year grid\n */\nexport const YearlyGrid = ({\n\tdispatch,\n\tupdateState,\n\thoveredYear,\n\tdisplayedYear,\n\tdisabledDates,\n\thighlightedYear,\n\tstart,\n\tend,\n\tisRangePicker,\n\treadonly\n}) => {\n\tlet isYearClicked = false;\n\tconst lowerYear = displayedYear - (displayedYear % YEARLY_VISIBLE_YEARS);\n\tconst upperYear = lowerYear + YEARLY_VISIBLE_YEARS;\n\tconst yearRows = chunk(range(lowerYear, upperYear), YEARLY_YEARS_PER_ROW);\n\tconst currentYear = moment().year();\n\tconst disabledYears = getDisabledYears(yearRows, disabledDates);\n\n\tconst handleYearSelection = year => () => {\n\t\tconst date = moment({ year });\n\t\tdispatch(SET_DATE, { date });\n\t\tdispatch(SET_VISIBLE_YEAR, { year });\n\t\t// We reset highligthed year to this date so that there is no random highlighted date\n\t\t// when we specifically click on a date\n\t\tupdateState({ highlightedYear: date });\n\t};\n\n\tconst handleFocus = () => {\n\t\tif (isYearClicked) {\n\t\t\tisYearClicked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch([INIT_HIGHLIGHTED_DATE], {\n\t\t\tvisibleRange: { lowerYear, upperYear }\n\t\t});\n\t};\n\tconst resetHighlighted = () => updateState({ hoveredYear: null });\n\tconst handleNavigation = event => {\n\t\tconst { key } = event;\n\t\tconst getNextHighlightedYear = key => {\n\t\t\tlet increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tincrement = -1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tincrement = YEARLY_YEARS_PER_ROW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tincrement = -YEARLY_YEARS_PER_ROW;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedYear;\n\t\t\t}\n\n\t\t\treturn highlightedYear.clone().add(increment, 'years');\n\t\t};\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tconst nextHighlightedYear = getNextHighlightedYear(key);\n\t\t\tupdateState({ highlightedYear: nextHighlightedYear });\n\n\t\t\tif (nextHighlightedYear.year() < lowerYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: Number(displayedYear) - YEARLY_VISIBLE_YEARS\n\t\t\t\t});\n\t\t\t} else if (nextHighlightedYear.year() >= upperYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: Number(displayedYear) + YEARLY_VISIBLE_YEARS\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t} else if (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\tevent.preventDefault();\n\t\t\t!disabledYears.has(highlightedYear.year()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedYear });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"year-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"grid\"\n\t\t\taria-label={\n\t\t\t\thighlightedYear.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected date: {0}. Use arrow keys to adjust the selected date.',\n\t\t\t\t\t\t\thighlightedYear.format(YEARLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedYear.isValid()\n\t\t\t\t\t? `year-cell-${highlightedYear.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\ton-keydown={handleNavigation}\n\t\t\ton-focus={handleFocus}\n\t\t>\n\t\t\t{yearRows.map(row => (\n\t\t\t\t<div className=\"year-row\" role=\"row\">\n\t\t\t\t\t{map(row, year => {\n\t\t\t\t\t\tconst yearBeingConsidered = moment({ year });\n\n\t\t\t\t\t\tconst isDisabled = disabledYears.has(year);\n\n\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\tyear === start.year() || (end && year === end.year());\n\n\t\t\t\t\t\tconst isHighlighted =\n\t\t\t\t\t\t\thighlightedYear.isValid() &&\n\t\t\t\t\t\t\tyearBeingConsidered.year() === highlightedYear.year();\n\n\t\t\t\t\t\tconst focusedYear =\n\t\t\t\t\t\t\thoveredYear && hoveredYear.isValid()\n\t\t\t\t\t\t\t\t? hoveredYear\n\t\t\t\t\t\t\t\t: highlightedYear;\n\n\t\t\t\t\t\tconst isInRange =\n\t\t\t\t\t\t\tend &&\n\t\t\t\t\t\t\tyearBeingConsidered.isBetween(\n\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\tend.isValid() ? end : focusedYear\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst handleSelection =\n\t\t\t\t\t\t\t!isDisabled && !isSelected ? handleYearSelection(year) : noop;\n\n\t\t\t\t\t\tconst updateHovered = () => {\n\t\t\t\t\t\t\t!isDisabled &&\n\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\thoveredYear: moment({ year })\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={`year-cell-${year}`}\n\t\t\t\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\t\t\t\tisYearClicked = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'year-cell': true,\n\t\t\t\t\t\t\t\t\t\t'is-current-year': currentYear === year,\n\t\t\t\t\t\t\t\t\t\t'is-readonly': currentYear !== year && isAttrTrue(readonly),\n\t\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t\t\t\t'is-in-range': isInRange && !isSelected\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\t\t\t\ton-mouseenter={updateHovered}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\taria-label={year}\n\t\t\t\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{year}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport { YEARLY_VISIBLE_YEARS } from '../../constants';\n\nconst VIEW_NEXT_YEARS = t('View next set of years');\nconst VIEW_CURRENT_YEAR = t('View current year');\nconst VIEW_PREV_YEARS = t('View previous set of years');\n\n/**\n * Creates the header portion of the view\n */\nexport const YearlyHeader = ({ readonly = false }) => {\n\tconst props = readonly ? { disabled: readonly } : {};\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"chevron-left-fill\"\n\t\t\t\ttooltipContent={VIEW_PREV_YEARS}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_YEARS } }}\n\t\t\t\tappend-to-payload={{ action: -YEARLY_VISIBLE_YEARS }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_CURRENT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_CURRENT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"chevron-right-fill\"\n\t\t\t\ttooltipContent={VIEW_NEXT_YEARS}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_YEARS } }}\n\t\t\t\tappend-to-payload={{ action: YEARLY_VISIBLE_YEARS }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport {\n\tYEARLY_FORMAT,\n\tYEARLY_VISIBLE_YEARS,\n\tINVALID_MOMENT\n} from '../../constants';\nimport { YearlyGrid } from '../../grids/yearly/YearlyGrid';\nimport { YearlyHeader } from './YearlyHeader';\nimport BottomBar from '../../bottom-bar';\n\nconst CURRENT_YEAR = moment();\nconst MIN_VISIBLE_YEAR = moment({\n\tyear: CURRENT_YEAR.year() - (CURRENT_YEAR.year() % YEARLY_VISIBLE_YEARS)\n});\nconst MAX_VISIBLE_YEAR = moment({\n\tyear: MIN_VISIBLE_YEAR.year() + YEARLY_VISIBLE_YEARS\n});\n\nexport default (\n\t{\n\t\thighlightedYear = INVALID_MOMENT,\n\t\thoveredYear = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tif (!visibleYear) {\n\t\tvisibleYear = value ? moment(value, YEARLY_FORMAT) : moment();\n\n\t\t// Make sure the selected year is visible\n\t\tconst isVisible = visibleYear.isBetween(\n\t\t\tMIN_VISIBLE_YEAR,\n\t\t\tMAX_VISIBLE_YEAR,\n\t\t\t'year',\n\t\t\t'[]'\n\t\t);\n\t\tupdateState({ visibleYear: visibleYear.year(), shouldRender: !isVisible });\n\t}\n\n\treturn (\n\t\t<div className=\"yearly-view\">\n\t\t\t<YearlyHeader readonly={readonly} />\n\t\t\t<YearlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedYear={highlightedYear}\n\t\t\t\thoveredYear={hoveredYear}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={moment(visibleYear, YEARLY_FORMAT).year()}\n\t\t\t\tstart={moment(value, YEARLY_FORMAT)}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import { inRange } from 'lodash';\nimport moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\n\nimport {\n\tYEARLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledYears } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedYear: currentHighlightedDate },\n\t\t\tproperties: { value },\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tvisibleRange: { lowerYear, upperYear }\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// Set highlighted year in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Current value\n\t\t\t// 3. Current date\n\t\t\tconst highlightedDate =\n\t\t\t\tcurrentHighlightedDate && currentHighlightedDate.isValid()\n\t\t\t\t\t? currentHighlightedDate\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, YEARLY_FORMAT)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedDate.year();\n\n\t\t\t// If the date from above is not visible based on the visible range, default to lower year\n\t\t\tconst highlightedDateVisible = inRange(\n\t\t\t\thighlightedYear,\n\t\t\t\tlowerYear,\n\t\t\t\tupperYear\n\t\t\t);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedYear: highlightedDateVisible\n\t\t\t\t\t? highlightedDate\n\t\t\t\t\t: moment({ year: lowerYear })\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tupdateState({ visibleYear: action.payload.year });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({ action, properties: { value: propsValue }, dispatch }) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(YEARLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) dispatch(ON_SELECT_DATE, { date: action.payload.date });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tstate: { visibleYear },\n\t\t\tproperties: { embedded, disabledDates }\n\t\t}) => {\n\t\t\tlet newYear;\n\t\t\tif (action === 'current') {\n\t\t\t\tconst currentYear = moment().year();\n\t\t\t\t//calculate the new year in the current grid\n\t\t\t\tnewYear = currentYear - (currentYear % 12) + (Number(visibleYear) % 12);\n\t\t\t} else {\n\t\t\t\t//action is 12 or -12\n\t\t\t\tnewYear = Number(visibleYear) + action;\n\t\t\t}\n\t\t\tdispatch(SET_VISIBLE_YEAR, { year: newYear });\n\t\t\t//for mini calendar (embedded will be true) consider nav button change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst date = moment({ year: newYear });\n\t\t\t\tconst disabledYears = getDisabledYears([newYear], disabledDates);\n\t\t\t\tif (!disabledYears.has(newYear)) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t\tupdateState({ highlightedYear: date });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './YearlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport { INVALID_MOMENT } from '../../constants';\n\n/**\n * Lets export some common yearly view items so that other components can access them easier\n */\nimport { YearlyGrid } from '../../grids/yearly/YearlyGrid';\nimport { YearlyHeader } from './YearlyHeader';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\nexport const Yearly = {\n\tcomponents: { YearlyHeader, YearlyGrid }\n};\n\n// Ensure YEARLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-yearly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedYear: INVALID_MOMENT,\n\t\thoveredYear: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedYear: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { chunk, map, noop, some } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { time, monthsShort, isAttrTrue } from '@devsnc/sn-controls-common';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tMONTHLY_FORMAT,\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledMonths } from '../../utils/calendarUtils';\n\nconst MONTHS_PER_ROW = 4;\n\nexport const MonthlyGrid = ({\n\tdispatch,\n\tupdateState,\n\thighlightedMonth,\n\thoveredMonth,\n\tdisplayedYear,\n\tlanguage,\n\tstart,\n\tend,\n\tisRangePicker,\n\tdisabledDates,\n\treadonly\n}) => {\n\tlet isFocusedFromClick = false;\n\tconst months = monthsShort(language);\n\tconst monthRows = chunk(months, MONTHS_PER_ROW);\n\tconst disabledLeftMonths = getDisabledMonths(displayedYear, disabledDates);\n\tconst disabledRightMonths = getDisabledMonths(\n\t\tdisplayedYear + 1,\n\t\tdisabledDates\n\t);\n\n\tconst handleMonthSelection = (month, year) => () => {\n\t\tconst date = time(language)({ year, month });\n\t\tdispatch(SET_DATE, { date });\n\t\tupdateState({ highlightedMonth: date });\n\t};\n\n\tconst resetHighlighted = () => {\n\t\t// reset back to start date or current date\n\t\tupdateState({ hoveredMonth: null });\n\t};\n\n\t// Calculate Selected + in-between highlighted\n\tconst getMonthGrid = ({ year, selected = [], disabledMonths }) => {\n\t\treturn monthRows.map((row, rowIndex) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"month-row\" role=\"row\">\n\t\t\t\t\t{map(row, (month, index) => {\n\t\t\t\t\t\tconst monthIndex = index + rowIndex * MONTHS_PER_ROW;\n\n\t\t\t\t\t\tconst isYearAndMonthSame = s =>\n\t\t\t\t\t\t\t!!s &&\n\t\t\t\t\t\t\ts.isValid() &&\n\t\t\t\t\t\t\ts.year() === year &&\n\t\t\t\t\t\t\ts.month() === monthIndex;\n\n\t\t\t\t\t\tconst isDisabled = disabledMonths.has(monthIndex);\n\n\t\t\t\t\t\tconst isSelected = some(selected, isYearAndMonthSame);\n\n\t\t\t\t\t\tconst isHighlighted = isYearAndMonthSame(highlightedMonth);\n\n\t\t\t\t\t\tconst monthBeingConsidered = moment({ year, month: monthIndex });\n\n\t\t\t\t\t\tconst [start, end] = selected;\n\t\t\t\t\t\tconst isInRange =\n\t\t\t\t\t\t\tend &&\n\t\t\t\t\t\t\t(monthBeingConsidered.isBetween(start, end) ||\n\t\t\t\t\t\t\t\t// don't highlight when end of range is selected\n\t\t\t\t\t\t\t\t(!end.isValid() &&\n\t\t\t\t\t\t\t\t\tmonthBeingConsidered.isBetween(\n\t\t\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\t\t\thoveredMonth || highlightedMonth\n\t\t\t\t\t\t\t\t\t)));\n\n\t\t\t\t\t\tconst isCurrentMonth = isYearAndMonthSame(moment());\n\n\t\t\t\t\t\tconst handleSelection =\n\t\t\t\t\t\t\t!isDisabled && !isSelected\n\t\t\t\t\t\t\t\t? handleMonthSelection(monthIndex, year)\n\t\t\t\t\t\t\t\t: noop;\n\n\t\t\t\t\t\tconst handleKeyDown = event => {\n\t\t\t\t\t\t\tif (AFFIRMATIVE_KEYS.includes(event.key)) {\n\t\t\t\t\t\t\t\thandleSelection();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst updateHighlighted = () => {\n\t\t\t\t\t\t\t!isDisabled &&\n\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\thoveredMonth: moment({ month: monthIndex, year })\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={`${monthIndex}-${year}`}\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'month-cell': true,\n\t\t\t\t\t\t\t\t\t\t'is-current-month': isCurrentMonth,\n\t\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t\t\t\t'is-in-range': isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-readonly': !isCurrentMonth && isAttrTrue(readonly)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\t\t\t\tisFocusedFromClick = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-keydown={handleKeyDown}\n\t\t\t\t\t\t\t\t\ton-mouseenter={updateHighlighted}\n\t\t\t\t\t\t\t\t\ton-mouseleave={resetHighlighted}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\taria-label={`${month} ${year}`}\n\t\t\t\t\t\t\t\t\taria-disabled={isAttrTrue(isDisabled) ? 'true' : 'false'}\n\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\tisAttrTrue(isSelected || (isRangePicker && isInRange))\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{month}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst leftGrid = (\n\t\t<div className=\"month-grid\">\n\t\t\t{getMonthGrid({\n\t\t\t\tyear: displayedYear,\n\t\t\t\tselected: [start, end],\n\t\t\t\tdisabledMonths: disabledLeftMonths\n\t\t\t})}\n\t\t<\/div>\n\t);\n\n\tconst rightGrid = isRangePicker ? (\n\t\t<Fragment>\n\t\t\t<span className=\"spacer\" />\n\t\t\t<div className=\"month-grid\">\n\t\t\t\t{getMonthGrid({\n\t\t\t\t\tyear: displayedYear + 1,\n\t\t\t\t\tselected: [start, end],\n\t\t\t\t\tdisabledMonths: disabledRightMonths\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t) : null;\n\n\tconst handleNavigation = e => {\n\t\t/*\n\t\tstate:\n\t\t\thighlightedDate: start | first_cell\n\n\t\t0. On navigation, update `highlightedDate`\n\t\t1a. On enter:\n\t\t\tstart/end set to highlightedDate\n\t\t1b. On click:\n\t\t\tstart/end set to selected, highlighteDate set to selected\n\t\t*/\n\n\t\tconst { key } = e;\n\n\t\tconst getNextHighlightedMonth = key => {\n\t\t\tlet operation, increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedMonth;\n\t\t\t}\n\n\t\t\treturn highlightedMonth.clone()[operation](increment, 'month');\n\t\t};\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tconst nextHighlightedMonth = getNextHighlightedMonth(key);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedMonth: nextHighlightedMonth\n\t\t\t});\n\n\t\t\t// If the next highlighted date is going prior to the left-side month,\n\t\t\t// go back an additional year so it ends up wrapping rather than jumping\n\t\t\tif (nextHighlightedMonth.year() < displayedYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedMonth.year() - (isRangePicker ? 1 : 0)\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tnextHighlightedMonth.year() !== displayedYear &&\n\t\t\t\t(!isRangePicker || nextHighlightedMonth.year() !== displayedYear + 1)\n\t\t\t) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedMonth.year()\n\t\t\t\t});\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\te.preventDefault();\n\t\t\tlet disabledMonths = disabledLeftMonths;\n\n\t\t\tif (isRangePicker && highlightedMonth.year() === displayedYear + 1) {\n\t\t\t\t//right grid\n\t\t\t\tdisabledMonths = disabledRightMonths;\n\t\t\t}\n\n\t\t\t!disabledMonths.has(highlightedMonth.month()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedMonth });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"monthly-view-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\ton-focus={() => {\n\t\t\t\t// We only want to dispatch this event when we focus to the grid\n\t\t\t\t// via keyboard navigation. If user clicks an entry in the grid,\n\t\t\t\t// that will receive the \"focus\" and we don't want to cause a flicker\n\t\t\t\tif (!isFocusedFromClick) {\n\t\t\t\t\tdispatch(INIT_HIGHLIGHTED_DATE);\n\t\t\t\t}\n\t\t\t\tisFocusedFromClick = false;\n\t\t\t}}\n\t\t\ton-keydown={handleNavigation}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\trole=\"grid\"\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedMonth.isValid()\n\t\t\t\t\t? `${highlightedMonth.month()}-${highlightedMonth.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={\n\t\t\t\thighlightedMonth.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected date: {0}. Use arrow keys to adjust the selected date.',\n\t\t\t\t\t\t\thighlightedMonth.format(MONTHLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{leftGrid}\n\t\t\t{rightGrid}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\nimport {\n\tMONTHLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledMonths } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedMonth: currentHighlightedMonth, visibleYear },\n\t\t\tproperties: { value }\n\t\t}) => {\n\t\t\t// Set highlighted month in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Current value\n\t\t\t// 3. Current date\n\t\t\tconst highlightedMonth =\n\t\t\t\tcurrentHighlightedMonth && currentHighlightedMonth.isValid()\n\t\t\t\t\t? currentHighlightedMonth\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, MONTHLY_FORMAT)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedMonth.year();\n\n\t\t\t// If the date from above is not visible based on the visibleYear, default to first month\n\t\t\tconst highlightedDateNotVisible = highlightedYear != Number(visibleYear);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedMonth: highlightedDateNotVisible\n\t\t\t\t\t? moment({ year: visibleYear, month: 0 })\n\t\t\t\t\t: highlightedMonth\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { year }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: { value, embedded, disabledDates }\n\t\t}) => {\n\t\t\tupdateState({ visibleYear: year });\n\n\t\t\t//for mini calendar (embedded will be true) consider year change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledMonths = getDisabledMonths(year, disabledDates);\n\t\t\t\tconst date = moment(value, MONTHLY_FORMAT).set('year', year);\n\t\t\t\tif (!disabledMonths.has(date.month())) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tproperties: { value: propsValue },\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(MONTHLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) {\n\t\t\t\tdispatch(ON_SELECT_DATE, { date: action.payload.date });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './MonthlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\n\nconst INVALID_MOMENT = { isValid: () => false };\n\n// Ensure MONTHLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-monthly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedMonth: INVALID_MOMENT,\n\t\thoveredMonth: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedMonth: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { MonthlyGrid } from '../../grids/monthly/MonthlyGrid';\nimport { MONTHLY_FORMAT, INVALID_MOMENT } from '../../constants';\n\nimport BottomBar from '../../bottom-bar';\nimport '../../year-header';\n\nexport default (\n\t{\n\t\thighlightedMonth = INVALID_MOMENT,\n\t\thoveredMonth = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tlet displayedYear = visibleYear;\n\n\tif (!displayedYear) {\n\t\tdisplayedYear = value ? moment(value, MONTHLY_FORMAT) : moment();\n\t\tvisibleYear = displayedYear.year();\n\t\tupdateState({ visibleYear });\n\t}\n\n\treturn (\n\t\t<div className=\"monthly-view\">\n\t\t\t<sn-year-header\n\t\t\t\tyear={visibleYear}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t<MonthlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedMonth={highlightedMonth}\n\t\t\t\thoveredMonth={hoveredMonth}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={displayedYear}\n\t\t\t\tstart={moment(value, MONTHLY_FORMAT)}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport { isTimeZoneEnabledField } from '@devsnc/sn-controls-common';\nimport { getFormat } from './utils/calendarUtils';\n\nimport { STANDARD_TYPE, STANDARD_VIEW_TAG, WEEKLY_TYPE } from './constants';\n\nimport './views/standard/view';\nimport './views/quarterly';\nimport './views/yearly';\nimport './views/monthly';\n\nexport const CalendarView = props => {\n\tconst { type } = props;\n\n\tif (type === WEEKLY_TYPE || type === STANDARD_TYPE)\n\t\treturn <STANDARD_VIEW_TAG {...props} />;\n\telse {\n\t\tconst { opened, initCurrentDate, value } = props;\n\t\tconst format = getFormat(props).toString();\n\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\tconst hasValue =\n\t\t\t!!value && moment(value, getFormat(props), isStrictCheck).isValid();\n\t\tconst derivedValue = hasValue\n\t\t\t? value\n\t\t\t: initCurrentDate\n\t\t\t? moment().format(getFormat(props).toString())\n\t\t\t: '';\n\n\t\tif (opened) {\n\t\t\tconst Tag = `sn-controls-${type}-view`;\n\n\t\t\treturn <Tag {...props} value={derivedValue} />;\n\t\t}\n\t\treturn null;\n\t}\n};\n","import { isFunction } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\nimport { CalendarView } from './CalendarView';\n\nimport { WEEKLY_TYPE } from './constants';\n\nimport { getFormat } from './utils/calendarUtils';\n\nconst onDateChange =\n\t({ onValueChange, updateState }) =>\n\tvalue => {\n\t\tif (isFunction(onValueChange)) {\n\t\t\tonValueChange({ value });\n\t\t}\n\t\tupdateState({ value });\n\t};\n\nconst onOk =\n\t({ parentOnOk, dispatch, name }) =>\n\tevent => {\n\t\tif (isFunction(parentOnOk)) {\n\t\t\tparentOnOk(event);\n\t\t}\n\t\tdispatch('NOW_RECORD_MINI_CALENDAR#ON_OK', { event, name });\n\t};\n\nconst onCancel =\n\t({ parentOnCancel, dispatch, name }) =>\n\tevent => {\n\t\tif (isFunction(parentOnCancel)) {\n\t\t\tparentOnCancel(event);\n\t\t}\n\t\tdispatch('NOW_RECORD_MINI_CALENDAR#ON_CANCEL', { event, name });\n\t};\n\n/**\n * Calendar component allowing users to select a date and optional time.\n *\n * Calls `onSelectDate` callback when user selects a date or modifies\n * the time, and calls `onOk` callback when the user selects the Ok\n * button.\n */\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tonValueChange,\n\t\tproperties,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tonOk: parentOnOk,\n\t\t\tonCancel: parentOnCancel,\n\t\t\ttype,\n\t\t\tfirstDayOfWeek,\n\t\t\tisoWeek,\n\t\t\thasTimePicker,\n\t\t\ttimePicker,\n\t\t\treadonly,\n\t\t\tlanguage,\n\t\t\tautofocus,\n\t\t\tinitCurrentDate,\n\t\t\tdisabledDates,\n\t\t\tautoSelectDatesCount,\n\t\t\tcomponentId,\n\t\t\tformData: { showUnsavedIndicator = false } = {}\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<ControlWrapper {...properties} showUnsavedIndicator={showUnsavedIndicator}>\n\t\t\t<CalendarView\n\t\t\t\ttype={type}\n\t\t\t\tvalue={state.value}\n\t\t\t\tformat={getFormat(properties)}\n\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\tonDateChange={onDateChange({ onValueChange, updateState, type })}\n\t\t\t\treadonly={readonly}\n\t\t\t\tlanguage={language}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tinitCurrentDate={initCurrentDate}\n\t\t\t\ttimePicker={type === WEEKLY_TYPE ? false : timePicker || hasTimePicker}\n\t\t\t\tonCancel={\n\t\t\t\t\tparentOnCancel && onCancel({ parentOnCancel, dispatch, name })\n\t\t\t\t}\n\t\t\t\tonOk={parentOnOk && onOk({ parentOnOk, dispatch, name })}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\topened={true}\n\t\t\t\tembedded={true}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t/>\n\t\t\t<span\n\t\t\t\tid={`${componentId}_liveLabel`}\n\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\taria-current=\"date\"\n\t\t\t>\n\t\t\t\t{t('Selected date: {0}.', state.value)}\n\t\t\t<\/span>\n\t\t<\/ControlWrapper>\n\t);\n};\n\nexport default view;\n","import { noop } from 'lodash';\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport GridWrapper from './GridWrapper';\nimport '../../preset-panel';\nimport style from './standardView.scss';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\nimport view from './view';\nimport { STANDARD_VIEW_TAG } from '../../constants';\nimport actionHandlers, {\n\tgridComponentPropertyChangedEffect\n} from './actionHandlers';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-standard-month-grid', {\n\tview: GridWrapper,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Number of days user wants to autoselect based on selected date\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\t\tcurrentDate: {},\n\t\tdate: {},\n\t\t/**\n\t\t * Flag to determine the direction whether rtl or ltr.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdir: {},\n\t\t/**\n\t\t * Array of disabled days defined as\n\t\t * `[ DAY ]`\n\t\t *\n\t\t * `DAY`:\n\t\t * \tday in a claendar view to be disabled\n\t\t *\n\t\t * @type { Array < number > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDays: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * Flag to determine whether enable previous month control.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenablePreviousMonthControl: { default: true },\n\t\t/**\n\t\t * Flag to determine whether enable next month control.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableNextMonthControl: { default: true },\n\t\t/**\n\t\t * Flag to determine whether enable month navigation icon.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableMonthNavigationChevrons: { default: true },\n\t\t/**\n\t\t * end date in date range.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * Flag to determine whether control has focus.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thasFocus: { default: false },\n\t\thighlightedDate: {},\n\t\thoverEnd: { default: '' },\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false },\n\t\tlanguage: {},\n\t\t/**\n\t\t * onSelectDate callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonSelectDate: {},\n\t\t/**\n\t\t * onControlExit callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonControlExit: { default: () => {} },\n\t\t/**\n\t\t * onHighlightedDate callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonHighlightedDate: {},\n\t\t/**\n\t\t * onChangeMonth callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonChangeMonth: {},\n\t\t/**\n\t\t * onEndDayHover callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonEndDayHover: {},\n\t\t/**\n\t\t * range picker node.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\trangePickerRef: {},\n\t\t/**\n\t\t * Flag to determine whether control is of type range picker.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\trangePicker: { default: false },\n\t\t/**\n\t\t * Flag to determine whether to show adjacent month days.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAdjacentMonthDays: { default: true },\n\t\tsourceField: { default: '' },\n\t\t/**\n\t\t * start date in date range.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {},\n\t\t/**\n\t\t * Month to be visible on the view.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tvisibleMonth: {},\n\t\t/**\n\t\t * Flag to determine whether to show adjacent month days.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tweeklyView: { default: false }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: gridComponentPropertyChangedEffect\n\t},\n\tsetInitialState: ({ properties }) => ({\n\t\tdate: properties.date,\n\t\thighlightedDate: properties.highlightedDate,\n\t\thasFocus: properties.hasFocus,\n\t\thasGridFocus: false,\n\t\tmouseDown: false,\n\t\trightMonth: properties.enableMonthNavigationChevrons || false\n\t}),\n\tbehaviors: [{ behavior: rtlBehavior }]\n});\n\nexport const Standard = 'sn-standard-month-grid';\n\nexport const setInitialState = ({ properties }) => {\n\tconst { value } = properties;\n\n\treturn {\n\t\tvalue: value === true ? '' : value,\n\t\thasGridFocus: false,\n\t\tmouseDown: false,\n\t\trightMonth: properties.enableMonthNavigationChevrons || false\n\t};\n};\n\n// Ensure STANDARD_VIEW_TAG in src/constants matches the element name below\ncreateCustomElement(STANDARD_VIEW_TAG, {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState,\n\ttransformState,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Configure the bottom portion of the calendar body (bar that contains\n\t\t * the Ok and Cancel buttons, as well as the time field).\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tbottomBar: { default: true },\n\n\t\t/**\n\t\t * Flag to set the time field value to zeros by default.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdefaultZeros: {},\n\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If this view is embedded in the page (mini-calendar) and not a popover (date-picker)\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tembedded: { default: false },\n\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * User language preference. Used for moment date formatting\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: '' },\n\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {absolute: false, between: false, tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\n\t\t *\n\t\t * absolute - resolve relative dates to absolute dates and return in addition to the relative dates on dispatch.\n\t\t * between - flag to send back the 'between' instead of 'end' of relative time ago\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t *\n\t\t * @type {(boolean|{absolute: boolean, between: boolean, tableName: string, value: string})}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tabsolute: { type: 'boolean' },\n\t\t\t\t\t\t\tbetween: { type: 'boolean' },\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Date picker function for saving value selected in the calendar.\n\t\t * When it's a boolean, toggles whether or not to show the `Ok` button.\n\t\t *\n\t\t * @private\n\t\t * @type {function | boolean}\n\t\t */\n\t\tonOk: {},\n\n\t\t/**\n\t\t * Date picker function for resetting value selected in the calendar.\n\t\t * When it's a boolean, toggles whether or not to show the `Cancel` button.\n\t\t *\n\t\t * @private\n\t\t * @type {function | boolean}\n\t\t */\n\t\tonCancel: {},\n\n\t\t/**\n\t\t * Date picker function for updating pending value when selected in the calendar.\n\t\t *\n\t\t * @private\n\t\t * @type {function}\n\t\t */\n\t\tonDateChange: { default: noop },\n\n\t\t/**\n\t\t * Controls when the date picker content is displayed or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\topened: { default: true },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Whether to disable auto select current date by default when no value is provided\n\t\t * Defaults to true\n\t\t * @type {boolean}\n\t\t */\n\t\tinitCurrentDate: { default: true, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\n\t\t/**\n\t\t * The UTC offset\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tutcOffset: {},\n\n\t\t/**\n\t\t * The date/date-time value. This value must be the localized time, rather than UTC time.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Number of days user wants to autoselect based on selected date\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\n\t\t/**\n\t\t * Determines the field will be readonly/clickable.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false }\n\t},\n\tbehaviors: [withValueChangeCallbackBehavior, calendarViewBehavior, tooltipBehavior, truncationBehavior],\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'NOW_RECORD_TIME#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TIME#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t}\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport view from './view';\nimport {\n\tgetDisabledDays,\n\tisDateIncluded,\n\tgetFormat\n} from './utils/calendarUtils';\nimport { getWeekType, adjustWeekForYearOverlap } from './utils/gridUtils';\nimport {\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport style from './miniCalendar.scss';\nimport * as constants from './constants';\nimport { CalendarView } from './CalendarView';\nexport { Standard } from './views/standard';\nexport { QuarterlyGrid } from './grids/quarterly/QuarterlyGrid';\nexport { Yearly } from './views/yearly';\nexport { MonthlyGrid } from './grids/monthly/MonthlyGrid';\n\nexport {\n\tCalendarView,\n\tgetDisabledDays,\n\tconstants,\n\tisDateIncluded,\n\tgetFormat,\n\tgetWeekType,\n\tadjustWeekForYearOverlap\n};\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n *\n * Calendar component enabling users to select a date and optional time.\n *\n * ```jsx\n * <now-record-mini-calendar value=\"2020-02-02\" />\n * ```\n *\n * With time picker:\n *\n * ```jsx\n * <now-record-mini-calendar value=\"2020-02-02 2:45 pm\" timePicker />\n * ```\n *\n * @seismicElement now-record-mini-calendar\n * @summary Calendar component enabling users to select a date and optional time.\n *\n * */\ncreateCustomElement('now-record-mini-calendar', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState: ({ properties }) => ({\n\t\tvalue: properties.initCurrentDate ? properties.value : ''\n\t}),\n\tproperties: {\n\t\t/**\n\t\t * If true, the component receives focus as soon as it finishes\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching the `format` property.\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * In the date range, `start`/`end` are inclusive and `after`/`before` are exclusive.\n\t\t * For example, [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * What day of the week to begin the calendar. 0 = Sunday, 1 = Monday, and so on.\n\t\t * @type {(0| 1| 2| 3| 4| 5| 6)}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` property.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is one of the following:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t * - For the weekly type, `[W]ww YYYY`\n\t\t * - For the yearly type, `YYYY`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * This method is not recommended. Please use `timePicker` instead.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\thasTimePicker: {},\n\n\t\t/**\n\t\t * If true, automatically selects the current date if no value is provided.\n\t\t * @type {boolean}\n\t\t */\n\t\tinitCurrentDate: { default: true, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * If true, shows the time picker in addition to the calendar.\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\t\t/**\n\t\t * If true, the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\n\t\t/**\n\t\t *\n\t\t * If true, uses the leap week system with 53 weeks as needed for Weekly View Only (type : `weekly`).\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type views.\n\t\t *\n\t\t * See also: ISO week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday.\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday, or Thursday; it is in week 1.\n\t\t * If it is on a Friday, it is part of week 53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year,\n\t\t *      which is numbered week 52 in a common year and week 53 in a leap year.\n\t\t * If it is on a Sunday, it is part of week 52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Label for the calendar.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language.\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\t\t/**\n\t\t * Array of message objects that must contain the type of message and its contents.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name of the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback when the user selects the `Cancel` button.\n\t\t *\n\t\t * @param {Event} event click event\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonCancel: {},\n\t\t/**\n\t\t * Callback when the user selects the `Ok` button.\n\t\t *\n\t\t * @param {Event} event click event\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonOk: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload.\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event.\n\t\t *\n\t\t * `type:any` event.value - The new value for the component.\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value.\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery is set. If the current value is valid, this property is null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type.\n\t\t *\n\t\t * `type:string` event.error.message - Description explaining why the value is invalid.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * If true, the user must fill in a value for this component.\n\t\t * Can be specified as the string \"true\" or a Boolean.\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly`, and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Number of days the user wants to autoselect based on the selected date.\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\t\t/**\n\t\t * The highlighted Value label to be displayed beside the Field Label.\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tstate,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (name === 'value' && value !== state.value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the Cancel button is clicked on the calendar.\n\t\t * @type {{event: Object, name: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#ON_CANCEL': {},\n\t\t/**\n\t\t * Dispatched when the Ok button is clicked on the calendar.\n\t\t * @type {{event: Object, name: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#ON_OK': {},\n\t\t/**\n\t\t * Dispatched when a new date is chosen on the calendar.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#VALUE_CHANGED': {}\n\t}\n});\n","import { constants } from '@servicenow/now-record-mini-calendar';\n\nexport const { CUSTOM_PRESET_LABEL, AFFIRMATIVE_KEYS, NAVIGATION_KEYS } =\n\tconstants;\n\nexport const GRID_EVENTS = {\n\tSET_VISIBLE_YEAR: constants.SET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE: constants.INIT_HIGHLIGHTED_DATE,\n\tSET_DATE: constants.SET_DATE\n};\n\n// When modifying these values ensure that the elementNames passed into createCustomElement\n// for the respective views is also modified\nexport const STANDARD_VIEW_TAG = 'sn-controls-standard-range';\nexport const MONTHLY_VIEW_TAG = 'sn-controls-month-range';\nexport const YEARLY_VIEW_TAG = 'sn-controls-year-range';\nexport const QUARTERLY_VIEW_TAG = 'sn-controls-quarter-range';\n\nexport const TRY_CLOSE_DROPDOWN = 'TRY_CLOSE_DROPDOWN';\nexport const TRY_SET_END_STATE = 'TRY_SET_END_STATE';\n\nexport const DATE_INTERVAL_SOURCE_END =\n\t'DATE_RANGE_PICKER_START_DATE_RANGE_PICKER_END-end';\nexport const DATE_INTERVAL_SOURCE_START =\n\t'DATE_RANGE_PICKER_START_DATE_RANGE_PICKER_END-start';\nexport const WEEKLY_FORMAT = \"'W'ww Y\";\nexport const WEEKLY_ISO_FORMAT = \"'W'ww Y\";\nexport const MONTHLY_FORMAT = 'MMM yyyy';\nexport const YEARLY_FORMAT = 'yyyy';\nexport const QUARTERLY_FORMAT = 'qqq yyyy';\nexport const DEFAULT_DATE_TIME_FORMAT = 'yyyy-MM-dd hh:mm:ss a';\nexport const DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\nexport const DEFAULT_REPLACEMENTS = {\n\tYYYY: 'yyyy',\n\tDD: 'dd',\n\t'[Q]': 'qq',\n\tQ: 'q',\n\t'[W]': \"'W'\",\n\tww: 'ww',\n\tWW: 'w',\n\tYY: 'yy',\n\tY: 'y',\n\tD: 'd'\n};\nexport const TIME_FORMAT_PATTERN =\n\t/(H|h){1,2}([.,:]m{1,2})?([.,:]s{1,2})?([.,:]S{1,4})?(\\sa)?/;\nexport const WEEKLY_TYPE = 'weekly';\nexport const MONTHLY_TYPE = 'monthly';\nexport const YEARLY_TYPE = 'yearly';\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const STANDARD_TYPE = 'standard';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MOMENT_WEEKLY_FORMAT = '[W]ww YYYY';\nexport const MOMENT_WEEKLY_ISO_FORMAT = '[W]ww YYYY';\nexport const MOMENT_MONTHLY_FORMAT = 'MMM YYYY';\nexport const MOMENT_YEARLY_FORMAT = 'YYYY';\nexport const MOMENT_QUARTERLY_FORMAT = '[Q]Q YYYY';\n\n//Default format from server api for timeago\nexport const DEFAULT_RESPONSE_FORMAT = 'YYYY-MM-DD hh:mm:ss';\nexport const TRIGGER_ID = 'now-date-time-trigger';\n\n//End points\nexport const ENDPOINT_BUSINESS_CALENDAR = '/api/now/ui/date_time';\nexport const ENDPOINT_TIMEAGO_ABSOLUTE = '/api/now/timeago/absolute';\nexport const NOW_DATE_TIME_PRESETS_PRESET_CLICKED =\n\t'NOW_DATE_TIME_PRESETS#PRESET_CLICKED';\n\nexport const PRESET_MESSAGE_UPDATED = 'SN_DATE_PRESET_PANEL#MESSAGE_UPDATED';\n","import { t } from 'sn-translate';\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\nexport const SCHEDULE_PRESET_LABEL = t('Schedule');\nexport const SCHEDULE_PRESET_TYPE = 'schedule';\nexport const TIME_PRESET_GROUPS = [t('Hours'), t('Minutes')];\nexport const TIME_AGO_PRESETS = [\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Today'),\n\t\tstart: 'javascript:gs.beginningOfToday()',\n\t\tend: 'javascript:gs.endOfToday()',\n\t\tbetween: 'javascript:gs.endOfToday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Yesterday'),\n\t\tstart: 'javascript:gs.beginningOfYesterday()',\n\t\tend: 'javascript:gs.endOfYesterday()',\n\t\tbetween: 'javascript:gs.endOfYesterday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Tomorrow'),\n\t\tstart: 'javascript:gs.beginningOfTomorrow()',\n\t\tend: 'javascript:gs.endOfTomorrow()',\n\t\tbetween: 'javascript:gs.endOfTomorrow()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 7 days'),\n\t\tstart: 'javascript:gs.beginningOfLast7Days()',\n\t\tend: 'javascript:gs.endOfLast7Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast7Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 30 days'),\n\t\tstart: 'javascript:gs.beginningOfLast30Days()',\n\t\tend: 'javascript:gs.endOfLast30Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 60 days'),\n\t\tstart: 'javascript:gs.beginningOfLast60Days()',\n\t\tend: 'javascript:gs.endOfLast60Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast60Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 90 days'),\n\t\tstart: 'javascript:gs.beginningOfLast90Days()',\n\t\tend: 'javascript:gs.endOfLast90Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast90Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 120 days'),\n\t\tstart: 'javascript:gs.beginningOfLast120Days()',\n\t\tend: 'javascript:gs.endOfLast120Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast120Days()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('This week'),\n\t\tstart: 'javascript:gs.beginningOfThisWeek()',\n\t\tend: 'javascript:gs.endOfThisWeek()',\n\t\tbetween: 'javascript:gs.endOfThisWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Last week'),\n\t\tstart: 'javascript:gs.beginningOfLastWeek()',\n\t\tend: 'javascript:gs.endOfLastWeek()',\n\t\tbetween: 'javascript:gs.endOfLastWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Next week'),\n\t\tstart: 'javascript:gs.beginningOfNextWeek()',\n\t\tend: 'javascript:gs.endOfNextWeek()',\n\t\tbetween: 'javascript:gs.endOfNextWeek()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('This month'),\n\t\tstart: 'javascript:gs.beginningOfThisMonth()',\n\t\tend: 'javascript:gs.endOfThisMonth()',\n\t\tbetween: 'javascript:gs.endOfThisMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last month'),\n\t\tstart: 'javascript:gs.beginningOfLastMonth()',\n\t\tend: 'javascript:gs.endOfLastMonth()',\n\t\tbetween: 'javascript:gs.endOfLastMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Next month'),\n\t\tstart: 'javascript:gs.beginningOfNextMonth()',\n\t\tend: 'javascript:gs.endOfNextMonth()',\n\t\tbetween: 'javascript:gs.endOfNextMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 3 months'),\n\t\tstart: 'javascript:gs.beginningOfLast3Months()',\n\t\tend: 'javascript:gs.endOfLast3Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast3Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 6 months'),\n\t\tstart: 'javascript:gs.beginningOfLast6Months()',\n\t\tend: 'javascript:gs.endOfLast6Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast6Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 9 months'),\n\t\tstart: 'javascript:gs.beginningOfLast9Months()',\n\t\tend: 'javascript:gs.endOfLast9Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast9Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 12 months'),\n\t\tstart: 'javascript:gs.beginningOfLast12Months()',\n\t\tend: 'javascript:gs.endOfLast12Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast12Months()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('This quarter'),\n\t\tstart: 'javascript:gs.beginningOfThisQuarter()',\n\t\tend: 'javascript:gs.endOfThisQuarter()',\n\t\tbetween: 'javascript:gs.endOfThisQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last quarter'),\n\t\tstart: 'javascript:gs.beginningOfLastQuarter()',\n\t\tend: 'javascript:gs.endOfLastQuarter()',\n\t\tbetween: 'javascript:gs.endOfLastQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfLast2Quarters()',\n\t\tend: 'javascript:gs.endOfLast2Quarters()',\n\t\tbetween: 'javascript:gs.endOfLast2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next quarter'),\n\t\tstart: 'javascript:gs.beginningOfNextQuarter()',\n\t\tend: 'javascript:gs.endOfNextQuarter()',\n\t\tbetween: 'javascript:gs.endOfNextQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfNext2Quarters()',\n\t\tend: 'javascript:gs.endOfNext2Quarters()',\n\t\tbetween: 'javascript:gs.endOfNext2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('This year'),\n\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\tend: 'javascript:gs.endOfThisYear()',\n\t\tbetween: 'javascript:gs.endOfThisYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Next year'),\n\t\tstart: 'javascript:gs.beginningOfNextYear()',\n\t\tend: 'javascript:gs.endOfNextYear()',\n\t\tbetween: 'javascript:gs.endOfNextYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last year'),\n\t\tstart: 'javascript:gs.beginningOfLastYear()',\n\t\tend: 'javascript:gs.endOfLastYear()',\n\t\tbetween: 'javascript:gs.endOfLastYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last 2 years'),\n\t\tstart: 'javascript:gs.beginningOfLast2Years()',\n\t\tend: 'javascript:gs.endOfLast2Years()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Years()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('One year ago'),\n\t\tstart: 'javascript:gs.beginningOfOneYearAgo()',\n\t\tend: 'javascript:gs.endOfOneYearAgo()',\n\t\tbetween: 'javascript:gs.beginningOfOneYearAgo()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Current hour'),\n\t\tstart: 'javascript:gs.beginningOfCurrentHour()',\n\t\tend: 'javascript:gs.endOfCurrentHour()',\n\t\tbetween: 'javascript:gs.endOfCurrentHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last hour'),\n\t\tstart: 'javascript:gs.beginningOfLastHour()',\n\t\tend: 'javascript:gs.endOfLastHour()',\n\t\tbetween: 'javascript:gs.endOfLastHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last 2 hours'),\n\t\tstart: 'javascript:gs.beginningOfLast2Hours()',\n\t\tend: 'javascript:gs.endOfLast2Hours()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Hours()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Current minute'),\n\t\tstart: 'javascript:gs.beginningOfCurrentMinute()',\n\t\tend: 'javascript:gs.endOfCurrentMinute()',\n\t\tbetween: 'javascript:gs.endOfCurrentMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last minute'),\n\t\tstart: 'javascript:gs.beginningOfLastMinute()',\n\t\tend: 'javascript:gs.endOfLastMinute()',\n\t\tbetween: 'javascript:gs.beginningOfLastMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 15 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast15Minutes()',\n\t\tend: 'javascript:gs.endOfLast15Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast15Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 30 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast30Minutes()',\n\t\tend: 'javascript:gs.endOfLast30Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 45 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast45Minutes()',\n\t\tend: 'javascript:gs.endOfLast45Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast45Minutes()'\n\t}\n];\n\n\nexport function getTimeAgoByGroup(timeAgoPresets, group) {\n\treturn timeAgoPresets.filter(timeAgo => timeAgo.group === group);\n}","import { time } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { flow, isEmpty, isEqual, pickBy } from 'lodash';\nimport moment from 'moment';\nimport { isDateIncluded } from '@servicenow/now-record-mini-calendar';\nimport { DateTypes } from '@servicenow/library-date-time';\nimport {\n\tDEFAULT_DATE_FORMAT,\n\tDEFAULT_DATE_TIME_FORMAT,\n\tDEFAULT_REPLACEMENTS,\n\tMONTHLY_FORMAT,\n\tQUARTERLY_FORMAT,\n\tWEEKLY_FORMAT,\n\tYEARLY_FORMAT,\n\tMONTHLY_TYPE,\n\tQUARTERLY_TYPE,\n\tYEARLY_TYPE,\n\tSTANDARD_TYPE,\n\tWEEKLY_TYPE\n} from './constants';\nimport * as Constants from './constants';\nimport { SCHEDULE_PRESET_LABEL, SCHEDULE_PRESET_TYPE } from './timeAgo';\n\nexport const validRange = (\n\tstart,\n\tend,\n\tformat = 'YYYY-MM-DD',\n\tlanguage = 'en-US'\n) => {\n\tif (!start && !end) return { valid: true };\n\tif (start && end) {\n\t\tlet startDate = time(language)(start, format);\n\t\tlet endDate = time(language)(end, format);\n\t\tif (\n\t\t\tstartDate.isValid() &&\n\t\t\tendDate.isValid() &&\n\t\t\tstartDate.isSameOrBefore(endDate)\n\t\t)\n\t\t\treturn {\n\t\t\t\tvalid: true,\n\t\t\t\tstart: startDate.format(format),\n\t\t\t\tend: endDate.format(format)\n\t\t\t};\n\t}\n\treturn { valid: false };\n};\n\nconst invalidFormatError = (inputStr, format) => ({\n\ttype: 'error',\n\tmessage: t(\n\t\t'Invalid date {0}. Must be a valid date in the format {1}',\n\t\tinputStr,\n\t\tformat\n\t)\n});\n\nconst invalidError = {\n\ttype: 'error',\n\tmessage: t('Invalid selection. Choose another date.')\n};\nconst invalidRangeError = {\n\ttype: 'error',\n\tmessage: t('Invalid Range. The start must be earlier than the end.')\n};\n\nconst createInvalidationChecker = ({ format, disabledDates }) => {\n\treturn (dateToCheck, initDate, otherDate) => {\n\t\tconst inValid = !dateToCheck.isValid();\n\t\tif (inValid && initDate) return true;\n\t\tif (!initDate && otherDate.isValid()) return true;\n\t\tif (!inValid && isDateIncluded(dateToCheck, format, disabledDates))\n\t\t\treturn true;\n\t\treturn false;\n\t};\n};\n\nexport const getFormat = ({\n\thasTime,\n\tformat,\n\ttype = 'standard',\n\tisoWeek = false\n}) => {\n\tconst defaultFormat = hasTime ? 'YYYY-MM-DD hh:mm:ss A' : 'YYYY-MM-DD';\n\t// In UI16 AM or PM are supported but with moment JS transition we support am and pm\n\t// This is done so as to support parity with UI16\n\tconst momentFormat = format?.includes('a')\n\t\t? format.replace(/a/, 'A')\n\t\t: format;\n\tif (type === Constants.STANDARD_TYPE) {\n\t\treturn momentFormat || defaultFormat;\n\t}\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek\n\t\t\t? Constants.MOMENT_WEEKLY_ISO_FORMAT\n\t\t\t: Constants.MOMENT_WEEKLY_FORMAT;\n\n\treturn (\n\t\tConstants[`MOMENT_${type.toUpperCase()}_FORMAT`] ||\n\t\tmomentFormat ||\n\t\tdefaultFormat\n\t);\n};\n\nexport const getErrors = ({\n\tstart,\n\tend,\n\tlanguage,\n\tformat,\n\tdisabledDates,\n\tproperties\n}) => {\n\tconst { type, hasTime, isoWeek, readonly } = properties;\n\tconst momentFormat = getFormat({ hasTime, format, type, isoWeek });\n\tlet startDate = time(language)(start, momentFormat, true);\n\tlet endDate = time(language)(end, momentFormat, true);\n\tlet startError;\n\tlet endError;\n\tif (!startDate.isValid() && start) {\n\t\tstartError = [invalidFormatError(start, momentFormat)];\n\t}\n\tif (!endDate.isValid() && end) {\n\t\tendError = [invalidFormatError(end, momentFormat)];\n\t}\n\t//if format is valid, check for other errors\n\tif (!startError && !endError) {\n\t\tconst isValidRange = validRange(start, end, momentFormat, language).valid;\n\t\tconst isInvalid = createInvalidationChecker({\n\t\t\tformat: momentFormat,\n\t\t\tdisabledDates\n\t\t});\n\n\t\tif (isInvalid(startDate, start, endDate)) startError = [invalidError];\n\n\t\tif (isInvalid(endDate, end, startDate)) endError = [invalidError];\n\n\t\tif (startDate.isValid() && endDate.isValid() && !isValidRange) {\n\t\t\tstartError = [invalidRangeError];\n\t\t\tendError = [invalidRangeError];\n\t\t}\n\t}\n\tif (readonly) {\n\t\tstartError = [];\n\t\tendError = [];\n\t}\n\tif (isEqual(startError, endError)) {\n\t\tendError = [];\n\t}\n\treturn {\n\t\tstartError: startError || [],\n\t\tendError: endError || []\n\t};\n};\n\nexport const getVisibleMonth = flow(moment, date =>\n\tdate && date.isValid() ? date : moment()\n);\n\nexport const getDateFnsFormat = (format, type, hasTime) => {\n\tconst formatWithReplacements = format =>\n\t\tObject.entries(DEFAULT_REPLACEMENTS).reduce(\n\t\t\t(acc, [key, value]) => acc.replace(key, value),\n\t\t\tformat\n\t\t);\n\n\t// Handle cases with both type and format\n\tif (type && format) {\n\t\tconst replacedFormat = formatWithReplacements(format);\n\t\tif (type === WEEKLY_TYPE) {\n\t\t\t// This is a special case with regard to Date-fns\n\t\t\treturn replacedFormat.replace('yyyy', 'Y');\n\t\t}\n\t\treturn replacedFormat;\n\t}\n\n\t// Handle cases with type but no format\n\tif (type && !format) {\n\t\tswitch (type) {\n\t\t\tcase WEEKLY_TYPE:\n\t\t\t\treturn WEEKLY_FORMAT;\n\t\t\tcase QUARTERLY_TYPE:\n\t\t\t\treturn QUARTERLY_FORMAT;\n\t\t\tcase MONTHLY_TYPE:\n\t\t\t\treturn MONTHLY_FORMAT;\n\t\t\tcase YEARLY_TYPE:\n\t\t\t\treturn YEARLY_FORMAT;\n\t\t\tcase STANDARD_TYPE:\n\t\t\t\treturn (\n\t\t\t\t\tformat || (hasTime ? DEFAULT_DATE_TIME_FORMAT : DEFAULT_DATE_FORMAT)\n\t\t\t\t);\n\t\t}\n\t}\n\tif (!format) {\n\t\treturn;\n\t}\n\t// Handle cases with format but no type\n\treturn formatWithReplacements(format);\n};\n\nexport const getType = (type, hasTime) => {\n\tconst typeMappings = {\n\t\tweekly: 'week-year',\n\t\tmonthly: 'month',\n\t\tyearly: 'year',\n\t\tquarterly: 'quarter'\n\t};\n\n\treturn typeMappings[type] ?? (hasTime ? DateTypes.DATE_TIME : DateTypes.DATE);\n};\n\nexport const getBusinessCalendars = results => {\n\tlet schedulePresets = [];\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst scheduleGroupObj = respObj.dateChoiceDisplayValues\n\t\t\t? respObj.dateChoiceDisplayValues.find(\n\t\t\t\t\tv => v.type === SCHEDULE_PRESET_TYPE\n\t\t\t  )\n\t\t\t: {};\n\t\tconst scheduleGroups =\n\t\t\tscheduleGroupObj && scheduleGroupObj.values\n\t\t\t\t? scheduleGroupObj.values.map(g => g.value)\n\t\t\t\t: [];\n\t\tif (scheduleGroups.length) {\n\t\t\tconst timeAgoDates = respObj.timeAgoDates;\n\t\t\tconst schedulePresetObj = pickBy(timeAgoDates, (v, k) =>\n\t\t\t\tscheduleGroups.includes(k)\n\t\t\t);\n\t\t\tschedulePresets = Object.values(schedulePresetObj).map(preset => {\n\t\t\t\treturn {\n\t\t\t\t\tgroup: SCHEDULE_PRESET_LABEL,\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\tstart: preset.before,\n\t\t\t\t\tend: preset.after,\n\t\t\t\t\tbetween: preset.between\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\treturn schedulePresets;\n};\n","import moment from 'moment';\nimport { find, isNil, reduce } from 'lodash';\nimport { TIME_PRESET_GROUPS } from './timeAgo';\nlet applyTransformations = ({\n\tdate,\n\tformat,\n\toffset,\n\tunit,\n\tinclusive = false,\n\tabsolute,\n\tmethod,\n\tvalue\n}) => {\n\tlet transformations = [\n\t\t// `moment.add` supports negative numbers + strings\n\t\t// if `undefined`, same as modifying nothing\n\t\td => d.add(offset, unit),\n\t\td => {\n\t\t\tif (absolute) {\n\t\t\t\treturn d[method](value);\n\t\t\t}\n\n\t\t\treturn inclusive ? d : d.add(1, 'day');\n\t\t}\n\t];\n\n\treturn reduce(transformations, (acc, t) => t(acc), moment(date)).format(\n\t\tformat\n\t);\n};\n\nexport default function applyPreset({ presets, preset, date, format }) {\n\tlet { start = {}, end = {} } = find(presets, { id: preset });\n\n\t// default inclusive to false for start, true for end\n\treturn {\n\t\tstart: applyTransformations({\n\t\t\tdate,\n\t\t\tformat,\n\t\t\t...start,\n\t\t\tinclusive: isNil(start.inclusive) ? false : start.inclusive\n\t\t}),\n\t\tend: applyTransformations({\n\t\t\tdate,\n\t\t\tformat,\n\t\t\t...end,\n\t\t\tinclusive: isNil(end.inclusive) ? true : end.inclusive\n\t\t})\n\t};\n}\n\nexport const mapSelectedTimeAgo = (selectedTimeAgo) => {\n\tconst  { label, group, end, start } = selectedTimeAgo;\n\treturn {\n\t\tlabel: label,\n\t\tgroupLabel: group,\n\t\tstartDate: start,\n\t\tendDate: end,\n\t\tpresetType: 'business',\n\t\t...selectedTimeAgo\n\t}\n}\n\nexport const mapAbsolutePresets = ({ absolutePresets, selectedTimeAgo = {}, hasTime }) => {\n\tconst  { label: selectedLabel, group: selectedGroup, startDate: absoluteStart, endDate: absoluteEnd } = selectedTimeAgo;\n\treturn absolutePresets\n\t\t.filter(timeAgo => (hasTime ? true : !TIME_PRESET_GROUPS.includes(timeAgo.group)))\n\t\t.map((absolutePreset) => {\n\t\t\tconst { label, group } = absolutePreset;\n\t\t\treturn {\n\t\t\t\tgroupLabel: group,\n\t\t\t\tstartDate: label === selectedLabel && group === selectedGroup ? absoluteStart : '',\n\t\t\t\tendDate: label === selectedLabel && group === selectedGroup ? absoluteEnd : '',\n\t\t\t\tpresetType: 'business',\n\t\t\t\t...absolutePreset\n\t\t\t}\n\t\t});\n}","import { time } from '@devsnc/sn-controls-common';\nimport { isEmpty } from 'lodash';\nimport { t } from 'sn-translate';\nimport {\n\tSET_START_AND_END_STATE,\n\tTOGGLE_DROPDOWN,\n\tUPDATE_TIMEAGO_PRESETS\n} from './actionHandlers';\nimport {\n\tDEFAULT_RESPONSE_FORMAT,\n\tENDPOINT_BUSINESS_CALENDAR,\n\tENDPOINT_TIMEAGO_ABSOLUTE,\n\tPRESET_MESSAGE_UPDATED\n} from './constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getBusinessCalendars, getFormat } from './dateRangeUtils';\nimport { mapAbsolutePresets } from './apply-preset';\n\nconst COMPONENT_NAME = 'DATE_RANGE_PICKER';\n//FETCH Actions for business calendars\nexport const FETCH_CALENDAR = `${COMPONENT_NAME}#FETCH_CALENDAR`;\nexport const FETCH_CALENDAR_SUCCESS = `${FETCH_CALENDAR}_SUCCESS`;\nexport const FETCH_CALENDAR_FAILURE = `${FETCH_CALENDAR}_FAILURE`;\n\n//FETCH Actions for Timeago Resolve Absolute values\nexport const FETCH_ABSOLUTE = `${COMPONENT_NAME}#FETCH_ABSOLUTE`;\nexport const FETCH_ABSOLUTE_SUCCESS = `${FETCH_ABSOLUTE}_SUCCESS`;\nexport const FETCH_ABSOLUTE_FAILURE = `${FETCH_ABSOLUTE}_FAILURE`;\n\nexport const fetchAbsoluteEffect = createHttpEffect(ENDPOINT_TIMEAGO_ABSOLUTE, {\n\tmethod: 'GET',\n\tbatch: false,\n\tqueryParams: ['from_date', 'to_date'],\n\tsuccessActionType: FETCH_ABSOLUTE_SUCCESS,\n\terrorActionType: FETCH_ABSOLUTE_FAILURE\n});\n\nexport const fetchAbsoluteSuccessEffect = ({\n\tstate: { properties },\n\taction: { payload: results },\n\tdispatch\n}) => {\n\tconst respObj = results ? results.result : {};\n\tconst { language, format, hasTime, type, requireConfirmation } = properties;\n\tconst hasFooter = hasTime || requireConfirmation;\n\tconst momentFormat = getFormat({ hasTime, format, type });\n\tif (!isEmpty(respObj)) {\n\t\tconst fromDate = respObj.fromDate;\n\t\tconst toDate = respObj.toDate;\n\n\t\tconst absoluteStart = time(language)(\n\t\t\tfromDate,\n\t\t\tDEFAULT_RESPONSE_FORMAT\n\t\t).format(momentFormat);\n\t\tconst absoluteEnd = time(language)(toDate, DEFAULT_RESPONSE_FORMAT).format(\n\t\t\tmomentFormat\n\t\t);\n\n\t\tdispatch(SET_START_AND_END_STATE, {\n\t\t\tstart: absoluteStart,\n\t\t\tend: absoluteEnd,\n\t\t\tpreset: 'custom'\n\t\t});\n\n\t\tdispatch(UPDATE_TIMEAGO_PRESETS, {\n\t\t\tstart: absoluteStart,\n\t\t\tend: absoluteEnd\n\t\t});\n\n\t\tif (!hasFooter) {\n\t\t\tdispatch(TOGGLE_DROPDOWN, { value: false });\n\t\t}\n\t}\n};\n\nexport const fetchAbsoluteFailureEffect = ({\n\tstate: {\n\t\tselectedTimeAgo: { label }\n\t},\n\tdispatch,\n\tupdateState\n}) => {\n\tconst message = {\n\t\ttype: 'error',\n\t\tmessage: t(`Unable to resolve absolute dates for '{0}'`, label)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n\tupdateState({ selectedTimeAgo: false });\n};\n\nexport const fetchCalendarEffect = createHttpEffect(\n\tENDPOINT_BUSINESS_CALENDAR,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['table_name'],\n\t\tsuccessActionType: FETCH_CALENDAR_SUCCESS,\n\t\terrorActionType: FETCH_CALENDAR_FAILURE\n\t}\n);\n\nexport const fetchCalendarSuccessEffect = ({\n\tstate: {\n\t\tselectedTimeAgo,\n\t\ttimeAgoPresets,\n\t\tproperties: { hasTime }\n\t},\n\tupdateState,\n\taction: { payload: results }\n}) => {\n\tlet schedulePresets = getBusinessCalendars(results);\n\tif (schedulePresets.length) {\n\t\tschedulePresets = mapAbsolutePresets({\n\t\t\tabsolutePresets: schedulePresets,\n\t\t\tselectedTimeAgo,\n\t\t\thasTime\n\t\t});\n\t\tupdateState({\n\t\t\ttimeAgoPresets: [...timeAgoPresets, ...schedulePresets]\n\t\t});\n\t}\n};\n\nexport const fetchCalendarFailureEffect = ({\n\tstate: {\n\t\tproperties: { tableName }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'info',\n\t\tmessage: t(`Unable to fetch business calendars for table '{0}'`, tableName)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n};\n","import moment from 'moment';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { isEqualWith, time } from '@devsnc/sn-controls-common';\n\nimport { validRange, getErrors } from './dateRangeUtils';\nimport {\n\tWEEKLY_TYPE,\n\tMONTHLY_TYPE,\n\tYEARLY_TYPE,\n\tQUARTERLY_TYPE,\n\tCUSTOM_PRESET_LABEL,\n\tDATE_INTERVAL_SOURCE_START,\n\tDATE_INTERVAL_SOURCE_END,\n\tNOW_DATE_TIME_PRESETS_PRESET_CLICKED,\n\tPRESET_MESSAGE_UPDATED,\n\tMOMENT_QUARTERLY_FORMAT,\n\tMOMENT_YEARLY_FORMAT,\n\tMOMENT_MONTHLY_FORMAT,\n\tMOMENT_WEEKLY_ISO_FORMAT,\n\tMOMENT_WEEKLY_FORMAT\n} from './constants';\nimport {\n\tFETCH_ABSOLUTE,\n\tFETCH_CALENDAR,\n\tfetchAbsoluteEffect,\n\tfetchAbsoluteFailureEffect,\n\tfetchAbsoluteSuccessEffect,\n\tfetchCalendarEffect,\n\tfetchCalendarSuccessEffect,\n\tfetchCalendarFailureEffect,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_CALENDAR_SUCCESS\n} from './effects';\nimport { TIME_AGO_PRESETS, getTimeAgoByGroup } from './timeAgo';\nimport applyPreset, { mapAbsolutePresets } from './apply-preset';\n\nconst COMPONENT_NAME = 'DATE_RANGE_PICKER';\nexport const SET_FOCUS_ELEMENT = `${COMPONENT_NAME}#SET_FOCUS_ELEMENT`;\nexport const RESET_FOCUS_ELEMENT = `${COMPONENT_NAME}#RESET_FOCUS_ELEMENT`;\nexport const SOURCE_FIELD_START = 'DATE_RANGE_PICKER_START';\nexport const SOURCE_FIELD_END = 'DATE_RANGE_PICKER_END';\nexport const SET_DATE = `${COMPONENT_NAME}#SET_DATE`;\nexport const SET_START = `${COMPONENT_NAME}#SET_START`;\nexport const SET_START_STATE = `${COMPONENT_NAME}#SET_START_STATE`;\nexport const SET_END = `${COMPONENT_NAME}#SET_END`;\nexport const SET_END_STATE = `${COMPONENT_NAME}#SET_END_STATE`;\nexport const SET_START_AND_END = `${COMPONENT_NAME}#SET_START_AND_END`;\nexport const SET_START_AND_END_STATE = `${COMPONENT_NAME}#SET_START_AND_END_STATE`;\nexport const SET_PENDING_START_STATE = `${COMPONENT_NAME}#SET_PENDING_START_STATE`;\nexport const SET_PENDING_END_STATE = `${COMPONENT_NAME}#SET_PENDING_END_STATE`;\nexport const SET_LAST_VALID_STATE = `${COMPONENT_NAME}#SET_LAST_VALID_STATE`;\nexport const SET_VISIBLE_MONTH = `${COMPONENT_NAME}#SET_VISIBLE_MONTH`;\nexport const SET_VISIBLE_YEAR = `${COMPONENT_NAME}#SET_VISIBLE_YEAR`;\nexport const SET_HOVER_END_DATE = `${COMPONENT_NAME}#SET_HOVER_END_DATE`;\nexport const SET_SOURCE_FIELD = `${COMPONENT_NAME}#SET_SOURCE_FIELD`;\nexport const TOGGLE_DROPDOWN = `DATE_PICKER_PANEL_DROPDOWN#OPENED_SET`;\nexport const SET_HIGHLIGHTED_DATE = `${COMPONENT_NAME}#SET_HIGHLIGHTED_DATE`;\nexport const CONFIRM_FIELDS = ['confirm-ok', 'confirm-cancel'];\n\nexport const NOW_DATE_TIME_INTERVAL_OPENED_SET =\n\t'NOW_DATE_TIME_INTERVAL#OPENED_SET';\nexport const NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET =\n\t'NOW_DATE_TIME_INTERVAL#VALUES_START_END_SET';\nexport const NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME_INTERVAL#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_INTERVAL_INVALID_SET =\n\t'NOW_DATE_TIME_INTERVAL#INVALID_SET';\n//Preset Actions\nexport const PRESET_SELECTED = `${COMPONENT_NAME}#PRESET_SELECTED`;\nexport const UPDATE_TIMEAGO_PRESETS = 'UPDATE_TIMEAGO_PRESETS';\n\nconst createPayload = ({\n\tstart,\n\tend,\n\tstartError,\n\tendError,\n\tstate: { format }\n}) => {\n\tconst isoStart = moment(start, format);\n\tconst isoEnd = moment(end, format);\n\n\treturn {\n\t\tisoStart: isoStart.isValid() ? isoStart.toISOString() : '',\n\t\tisoEnd: isoEnd.isValid() ? isoEnd.toISOString() : '',\n\t\tstart,\n\t\tend,\n\t\tstartError,\n\t\tendError\n\t};\n};\n\nexport let createDispatchValueEffect = (createPayload, actionToDispatch) => ({\n\teffect: ({ action, dispatch, state }) => {\n\t\tlet { format } = state;\n\t\tlet { onValueChange, name, language } = state.properties;\n\n\t\tlet payload = {\n\t\t\tname,\n\t\t\t...createPayload({ ...action.payload, state })\n\t\t};\n\n\t\tlet lastValidRange = state.lastValidRange;\n\t\tlet { start, end } = payload;\n\n\t\tconst isNewRange =\n\t\t\tstart !== lastValidRange.start || end !== lastValidRange.end;\n\n\t\tif (isNewRange) {\n\t\t\tlet newRange = validRange(start, end, format, language);\n\n\t\t\tif (newRange.valid) {\n\t\t\t\tdispatch(SET_LAST_VALID_STATE, { ...newRange, preset: state.preset });\n\n\t\t\t\tif (onValueChange) {\n\t\t\t\t\tonValueChange(payload);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch('NOW_DATE_RANGE_PICKER#VALUE_CHANGED', payload);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdispatch(actionToDispatch, action.payload);\n\t},\n\tstopPropagation: true\n});\n\nexport const getDate = (dateString, format, language) => {\n\tif (dateString) {\n\t\tlet date = time(language)(dateString, format, true);\n\t\treturn date && date.isValid() ? date.format(format) : '';\n\t}\n\treturn '';\n};\n\nexport const getInitialState = (\n\tstate,\n\tproperties,\n\tpropertyChanged,\n\taction,\n\tdispatch\n) => {\n\tlet {\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tlanguage,\n\t\tpreset,\n\t\tpresets,\n\t\tisoWeek,\n\t\ttimeAgo,\n\t\thasTime\n\t} = properties;\n\tlet { timeAgoPresets } = state;\n\tconst {\n\t\tpayload: { name, value: newValue, previousValue }\n\t} = action;\n\tswitch (properties.type) {\n\t\tcase WEEKLY_TYPE:\n\t\t\tformat = isoWeek ? MOMENT_WEEKLY_ISO_FORMAT : MOMENT_WEEKLY_FORMAT;\n\t\t\tbreak;\n\t\tcase MONTHLY_TYPE:\n\t\t\tformat = MOMENT_MONTHLY_FORMAT;\n\t\t\tbreak;\n\t\tcase YEARLY_TYPE:\n\t\t\tformat = MOMENT_YEARLY_FORMAT;\n\t\t\tbreak;\n\t\tcase QUARTERLY_TYPE:\n\t\t\tformat = MOMENT_QUARTERLY_FORMAT;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tformat =\n\t\t\t\tformat || (properties.hasTime ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD');\n\t}\n\n\tlet pendingStart = (start = getDate(start, format, language));\n\tlet pendingEnd = (end = getDate(end, format, language));\n\n\tlet lastValidRange = {\n\t\tstart,\n\t\tend,\n\t\tpreset\n\t};\n\n\tif (preset !== 'custom' && !propertyChanged) {\n\t\tlet { start: newStart, end: newEnd } = applyPreset({\n\t\t\tdate: time(language)(),\n\t\t\tpresets,\n\t\t\tpreset,\n\t\t\tformat\n\t\t});\n\n\t\tpendingStart = start = newStart;\n\t\tpendingEnd = end = newEnd;\n\n\t\tlastValidRange = {\n\t\t\tstart,\n\t\t\tend,\n\t\t\tpreset\n\t\t};\n\t}\n\n\tif (!validRange(start, end, format, language).valid) {\n\t\t// not sure if defaulting to blank is the best approach or\n\t\t// if the date picker should have some sort of error state\n\t\tstart = end = '';\n\t\tpreset = 'custom';\n\t\tlastValidRange = {\n\t\t\tstart: '',\n\t\t\tend: '',\n\t\t\tpreset: 'custom'\n\t\t};\n\t}\n\n\tif (\n\t\t(!propertyChanged && timeAgo) ||\n\t\t(propertyChanged && name === 'timeAgo')\n\t) {\n\t\ttimeAgoPresets = mapAbsolutePresets({\n\t\t\tabsolutePresets: TIME_AGO_PRESETS,\n\t\t\thasTime\n\t\t});\n\t}\n\n\tif (typeof timeAgo === 'object') {\n\t\tif (\n\t\t\t!propertyChanged ||\n\t\t\t(propertyChanged &&\n\t\t\t\tname === 'timeAgo' &&\n\t\t\t\t!isEqualWith(newValue, previousValue))\n\t\t) {\n\t\t\t// get business calendars from tableName\n\t\t\tconst { tableName } = timeAgo;\n\t\t\tif (tableName) dispatch(FETCH_CALENDAR, { table_name: tableName });\n\t\t}\n\t}\n\n\treturn {\n\t\t...state,\n\t\tstart,\n\t\tend,\n\t\tpendingStart,\n\t\tpendingEnd,\n\t\tpreset,\n\t\tlastValidRange,\n\t\trequireConfirmation: properties.requireConfirmation || properties.hasTime,\n\t\tformat,\n\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\ttimeAgoPresets\n\t};\n};\n\nconst handleNowDateTimeIntervalSetEffect = (\n\tstartValue,\n\tendValue,\n\tname,\n\tdispatch,\n\tproperties,\n\tstate\n) => {\n\tlet { format } = state;\n\tlet { language, disabledDates = [] } = properties;\n\tdispatch(SET_START_AND_END, {\n\t\tstart: startValue,\n\t\tpendingStart: startValue,\n\t\tend: endValue,\n\t\tpendingEnd: endValue,\n\t\thighlightedDate:\n\t\t\tname === DATE_INTERVAL_SOURCE_START ? startValue : endValue,\n\t\tsourceField:\n\t\t\tname === DATE_INTERVAL_SOURCE_START\n\t\t\t\t? SOURCE_FIELD_START\n\t\t\t\t\t? name === DATE_INTERVAL_SOURCE_END\n\t\t\t\t\t: SOURCE_FIELD_END\n\t\t\t\t: '',\n\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\tpreset: 'custom', // always reset to custom b/c presets use SET_START_AND_END\n\t\t...getErrors({\n\t\t\tstart: startValue,\n\t\t\tend: endValue,\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\tproperties\n\t\t})\n\t});\n};\n\nconst getInitialStateEffect =\n\tpropertyChanged =>\n\t({ properties, state, updateState, dispatch, action }) => {\n\t\tupdateState(\n\t\t\tgetInitialState(state, properties, propertyChanged, action, dispatch)\n\t\t);\n\t};\n\n// When setting start/end date:\n// 1. Dispatch to consumer that it's been updated\n// 2. Update internal state\nexport default {\n\t[actionTypes.COMPONENT_CONNECTED]: getInitialStateEffect(false),\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: getInitialStateEffect(true),\n\n\t[FETCH_ABSOLUTE]: {\n\t\t...fetchAbsoluteEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_SUCCESS]: {\n\t\teffect: fetchAbsoluteSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_FAILURE]: {\n\t\teffect: fetchAbsoluteFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR]: {\n\t\t...fetchCalendarEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_SUCCESS]: {\n\t\teffect: fetchCalendarSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_FAILURE]: {\n\t\teffect: fetchCalendarFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[SET_START_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate, sourceField } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tstart: newDate,\n\t\t\t\tpendingStart: newDate,\n\t\t\t\thighlightedDate: newDate,\n\t\t\t\tsourceField,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tpreset: 'custom' // always reset to custom b/c presets use SET_START_AND_END\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_END_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tend: newDate,\n\t\t\t\tpendingEnd: newDate,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tpreset: 'custom' // always reset to custom b/c presets use SET_START_AND_END\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_START_AND_END]: createDispatchValueEffect(\n\t\tcreatePayload,\n\t\tSET_START_AND_END_STATE\n\t),\n\t[SET_START_AND_END_STATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tstate: { sourceField: currentSourceField }\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tstart,\n\t\t\t\tstartError,\n\t\t\t\tend,\n\t\t\t\tendError,\n\t\t\t\tpreset,\n\t\t\t\tsourceField = currentSourceField\n\t\t\t} = action.payload;\n\t\t\tupdateState({\n\t\t\t\tstart,\n\t\t\t\tstartError,\n\t\t\t\tend,\n\t\t\t\tendError,\n\t\t\t\tpendingStart: start,\n\t\t\t\tpendingEnd: end,\n\t\t\t\tpreset,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tsourceField\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_PENDING_START_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpendingStart: newDate\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_PENDING_END_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpendingEnd: newDate\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_LAST_VALID_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { start, end, preset } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tlastValidRange: {\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tpreset\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_SOURCE_FIELD]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { sourceField } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tsourceField\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_DROPDOWN]: {\n\t\teffect: ({ action, dispatch, state, updateState }) => {\n\t\t\tlet { value, sourceField } = action.payload;\n\n\t\t\tupdateState({\n\t\t\t\tpopoverOpened: value,\n\t\t\t\toriginalStart: state.start,\n\t\t\t\toriginalEnd: state.end\n\t\t\t});\n\t\t\tdispatch(SET_SOURCE_FIELD, { sourceField });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[PRESET_MESSAGE_UPDATED]: {\n\t\teffect: ({ properties: { messages = [] }, action, updateProperties }) => {\n\t\t\tconst message = action.payload;\n\t\t\tif (message) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmessages: [...messages, message]\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[UPDATE_TIMEAGO_PRESETS]: {\n\t\teffect: ({ updateState, action, state }) => {\n\t\t\tlet {\n\t\t\t\tselectedTimeAgo,\n\t\t\t\ttimeAgoPresets,\n\t\t\t\tproperties: { hasTime }\n\t\t\t} = state;\n\t\t\tlet { start, end } = action.payload;\n\t\t\tselectedTimeAgo.startDate = start;\n\t\t\tselectedTimeAgo.endDate = end;\n\t\t\tupdateState({\n\t\t\t\ttimeAgoPresets: mapAbsolutePresets({\n\t\t\t\t\tabsolutePresets: timeAgoPresets,\n\t\t\t\t\tselectedTimeAgo,\n\t\t\t\t\thasTime\n\t\t\t\t}),\n\t\t\t\tselectedTimeAgo\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_INTERVAL_OPENED_SET]: {\n\t\teffect: ({ action, dispatch }) => {\n\t\t\tconst {\n\t\t\t\tpayload: { value }\n\t\t\t} = action;\n\t\t\tdispatch(TOGGLE_DROPDOWN, { value: value });\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET]: {\n\t\teffect: ({ action, dispatch, properties, state }) => {\n\t\t\tconst { startValue, endValue, name } = action.payload;\n\t\t\thandleNowDateTimeIntervalSetEffect(\n\t\t\t\tstartValue,\n\t\t\t\tendValue,\n\t\t\t\tname,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate\n\t\t\t);\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED]: {\n\t\teffect: ({ action, dispatch, properties, state }) => {\n\t\t\tconst { valueStart, valueEnd, name } = action.payload;\n\t\t\thandleNowDateTimeIntervalSetEffect(\n\t\t\t\tvalueStart,\n\t\t\t\tvalueEnd,\n\t\t\t\tname,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate\n\t\t\t);\n\t\t}\n\t},\n\t[NOW_DATE_TIME_PRESETS_PRESET_CLICKED]: {\n\t\teffect: ({ action, updateState, dispatch, state }) => {\n\t\t\tconst { selectedPresetIndex, selectedGroupLabel } = action.payload;\n\t\t\tconst {\n\t\t\t\ttimeAgoPresets,\n\t\t\t\tproperties: { timeAgo }\n\t\t\t} = state;\n\n\t\t\tif (timeAgo) {\n\t\t\t\tlet timeAgoByGroup = getTimeAgoByGroup(\n\t\t\t\t\ttimeAgoPresets,\n\t\t\t\t\tselectedGroupLabel\n\t\t\t\t);\n\t\t\t\tlet selectedTimeAgo =\n\t\t\t\t\ttimeAgoByGroup.length > 0\n\t\t\t\t\t\t? timeAgoByGroup[selectedPresetIndex]\n\t\t\t\t\t\t: false;\n\t\t\t\tif (selectedTimeAgo) {\n\t\t\t\t\tconst { start, end } = selectedTimeAgo;\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `end`,\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `pendingEnd`,\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'selectedTimeAgo',\n\t\t\t\t\t\t\tvalue: selectedTimeAgo,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t\tdispatch(FETCH_ABSOLUTE, { from_date: start, to_date: end });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_INVALID_SET]: {\n\t\teffect: ({ updateState, action, properties: { readonly } }) => {\n\t\t\tif (action.payload.errorId && readonly) {\n\t\t\t\t// This is done to suppress error messages from NDS when field is readonly\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'startError',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'endError',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n};\n","import { isAttrTrue, transformMessages } from '@devsnc/sn-controls-common';\nimport { getType, getDateFnsFormat } from './dateRangeUtils';\n\nimport { SOURCE_FIELD_START, SOURCE_FIELD_END } from './actionHandlers';\n\nimport { t } from 'sn-translate';\nimport '@servicenow/now-date-time';\n\n// Handle strings consistently by ensuring a \"value\" property\nconst ensureObjectWithValueProperty = obj => {\n\tif (typeof obj === 'string') {\n\t\treturn { value: obj };\n\t}\n\treturn obj;\n};\n\nexport default function DateRangePicker(state) {\n\tconst {\n\t\tstartError = [],\n\t\tendError = [],\n\t\tformat,\n\t\tproperties: {\n\t\t\tshowAdjacentMonthDays,\n\t\t\trequireConfirmation,\n\t\t\tisoWeek,\n\t\t\tdisabledDates,\n\t\t\ttype,\n\t\t\thasTime,\n\t\t\tlabelStart,\n\t\t\tlabelEnd,\n\t\t\trequired,\n\t\t\tlanguage,\n\t\t\treadonly,\n\t\t\tfieldLayout,\n\t\t\tenableSameDay,\n\t\t\treversed,\n\t\t\ttimeAgo,\n\t\t\twrapLabel,\n\t\t\tyearRange\n\t\t},\n\t\tsourceField,\n\t\tpendingStart,\n\t\tpendingEnd,\n\t\tpopoverOpened,\n\t\tselectedTimeAgo\n\t} = state;\n\tconst isReadonly = isAttrTrue(readonly);\n\tlet updatedDisableDates =\n\t\tdisabledDates && disabledDates.length > 0\n\t\t\t? disabledDates.map(ensureObjectWithValueProperty)\n\t\t\t: [];\n\tlet { timeAgoPresets } = state;\n\n\treturn (\n\t\t<now-date-time-interval\n\t\t\tvalueStart={pendingStart}\n\t\t\tvalueEnd={pendingEnd}\n\t\t\tformat={getDateFnsFormat(format, type, hasTime)}\n\t\t\ttype={getType(type, hasTime)}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tyearRange={yearRange}\n\t\t\tlabelStart={labelStart?.trim()}\n\t\t\tlabelEnd={labelEnd?.trim()}\n\t\t\tname={`${SOURCE_FIELD_START}_${SOURCE_FIELD_END}`}\n\t\t\tisoWeek={isoWeek}\n\t\t\tmessages={transformMessages(startError.concat(endError))}\n\t\t\topened={popoverOpened}\n\t\t\treadonly={isReadonly}\n\t\t\trequired={required}\n\t\t\tsize={'md'}\n\t\t\tshowDefaultFooterActions={hasTime || requireConfirmation}\n\t\t\thideFooter={hasTime || requireConfirmation}\n\t\t\tapplyLabelValue={'OK'}\n\t\t\tlocale={language}\n\t\t\tinvalid={\n\t\t\t\t(startError && startError.length > 0 ? true : false) ||\n\t\t\t\t(endError && endError.length > 0 ? true : false)\n\t\t\t}\n\t\t\tdisabledItems={updatedDisableDates}\n\t\t\thideAdjacentDates={!showAdjacentMonthDays}\n\t\t\tenableSameDay={enableSameDay}\n\t\t\tmanage-opened\n\t\t\tmanage-invalid\n\t\t\tpanelFitProps={{\n\t\t\t\tposition: [\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t\t{ target: 'center-end', content: 'center-start' },\n\t\t\t\t\t{ target: 'top-end', content: 'bottom-end' }\n\t\t\t\t]\n\t\t\t}}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tconfig-aria={{\n\t\t\t\t'input-start': {\n\t\t\t\t\t'aria-label': t('Select Date Range Start'),\n\t\t\t\t\t'aria-expanded': (SOURCE_FIELD_START === sourceField).toString()\n\t\t\t\t},\n\t\t\t\t'input-end': {\n\t\t\t\t\t'aria-label': t('Select Date Range End'),\n\t\t\t\t\t'aria-expanded': (SOURCE_FIELD_END === sourceField).toString()\n\t\t\t\t}\n\t\t\t}}\n\t\t\talign={reversed ? 'end' : 'start'}\n\t\t\tenablePresets={!!timeAgo}\n\t\t\tactivePreset={timeAgo && selectedTimeAgo ? selectedTimeAgo : {}}\n\t\t\tcustomPresets={timeAgo ? timeAgoPresets : []}\n\t\t\tshowPresetGroups={true}\n\t\t/>\n\t);\n}\n","import { actionTypes } from '@servicenow/ui-core';\nconst SET_HOVER_END_DATE = 'DATE_RANGE_PICKER#SET_HOVER_END_DATE';\nconst SET_END_STATE = 'DATE_RANGE_PICKER#SET_END_STATE';\nconst SOURCE_FIELD_START = 'DATE_RANGE_PICKER_START';\nconst TOGGLE_DROPDOWN = 'DATE_PICKER_PANEL_DROPDOWN#OPENED_SET';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const TRY_CLOSE_DROPDOWN = 'TRY_CLOSE_DROPDOWN';\nexport const TRY_SET_END_STATE = 'TRY_SET_END_STATE';\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tconst { name, value } = action.payload;\n\t\t\tif (name === 'opened' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\thoverEnd: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[TRY_CLOSE_DROPDOWN]: {\n\t\teffect: ({ properties: { requireConfirmation }, dispatch }) => {\n\t\t\tif (!requireConfirmation) dispatch(TOGGLE_DROPDOWN, { value: false });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_HOVER_END_DATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { hoverEnd } = action.payload;\n\t\t\tupdateState({ hoverEnd });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TRY_SET_END_STATE]: {\n\t\teffect: ({\n\t\t\tproperties: { requireConfirmation },\n\t\t\tdispatch,\n\t\t\taction: { payload }\n\t\t}) => {\n\t\t\tdispatch(SET_END_STATE, {\n\t\t\t\t...payload,\n\t\t\t\tsourceField: requireConfirmation ? SOURCE_FIELD_START : ''\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nconst pickerConfirm = () => {\n\treturn (\n\t\t<div className=\"date-range-picker-confirmation\">\n\t\t\t<now-button\n\t\t\t\tappend-to-payload={{ field: 'confirm-cancel' }}\n\t\t\t\tlabel={t('Cancel')}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tappend-to-payload={{ field: 'confirm-ok' }}\n\t\t\t\tlabel={t('OK')}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default pickerConfirm;\n","import { isObject } from 'lodash';\nimport { t } from 'sn-translate';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tSET_START_STATE,\n\tSET_START_AND_END_STATE,\n\tSET_VISIBLE_MONTH,\n\tSET_HOVER_END_DATE,\n\tTOGGLE_DROPDOWN,\n\tSET_SOURCE_FIELD,\n\tSOURCE_FIELD_START,\n\tSOURCE_FIELD_END,\n\tSET_HIGHLIGHTED_DATE\n} from '../actionHandlers';\nimport { getVisibleMonth } from '../dateRangeUtils';\nimport {\n\tgetDisabledDays,\n\tgetWeekType,\n\tadjustWeekForYearOverlap\n} from '@servicenow/now-record-mini-calendar';\nimport { TRY_CLOSE_DROPDOWN, TRY_SET_END_STATE } from './actionHandlers';\nimport { time } from '@devsnc/sn-controls-common';\nimport pickerConfirm from '../picker-confirm';\nimport '@servicenow/now-record-time';\n\nlet focusControlButton = ref => {\n\tconst controlButton = ref.current.shadowRoot.querySelector('now-button');\n\tif (controlButton) {\n\t\tcontrolButton.focus();\n\t}\n};\n\nexport const onControlExit =\n\t(dispatch, fromRef, toRef, sourceField) => event => {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\tif (SOURCE_FIELD_START === sourceField) {\n\t\t\tfocusControlButton(fromRef);\n\t\t} else if (SOURCE_FIELD_END === sourceField) {\n\t\t\tfocusControlButton(toRef);\n\t\t}\n\t\tdispatch(TOGGLE_DROPDOWN, { value: false });\n\t};\n\nlet updateEndHoverValue = (dispatch, format) => value => {\n\tdispatch(SET_HOVER_END_DATE, { hoverEnd: value ? value.format(format) : '' });\n};\n\nlet onHighlightedDate =\n\t(dispatch, visibleMonth, format) =>\n\t(newDate, isOutlier = false) => {\n\t\tif (newDate) {\n\t\t\tconst vMonth = visibleMonth.month();\n\t\t\tconst nMonth = isOutlier ? 11 : newDate.month();\n\n\t\t\tif (vMonth - nMonth === 1 || vMonth - nMonth === -11) {\n\t\t\t\tvisibleMonth = visibleMonth.clone().subtract(1, 'month');\n\t\t\t} else if (nMonth - vMonth === 2 || nMonth - vMonth === -10) {\n\t\t\t\tvisibleMonth = visibleMonth.clone().add(1, 'month');\n\t\t\t}\n\t\t}\n\t\treturn dispatch(SET_HIGHLIGHTED_DATE, {\n\t\t\tnewDate: newDate ? newDate.format(format) : newDate,\n\t\t\tvisibleMonth\n\t\t});\n\t};\n\n// Selections:\n// 1. None selected: `start`\n// 2. Start selected:\n//   If new selection is after start: `end`\n//   If new selection is before start: `start`\n// 3. Both selected:\n//   Always reset\nexport let createUpdateDateFunction =\n\t({\n\t\tdispatch,\n\t\tcurrentStart,\n\t\tcurrentEnd,\n\t\tformat,\n\t\tlanguage,\n\t\tweeklyView,\n\t\tisoWeek\n\t}) =>\n\t(sourceField, fromTime = false) =>\n\tnewDate => {\n\t\tif (typeof newDate === 'string') {\n\t\t\tnewDate = time(language)(newDate, format);\n\t\t}\n\n\t\tconst getNewDate = (current, next) => {\n\t\t\tlet normalizedDate;\n\n\t\t\t// If there exists a current date + setting the date specifically (not the time),\n\t\t\t// persist the existing time\n\t\t\tif (fromTime) {\n\t\t\t\tnormalizedDate = next;\n\t\t\t} else {\n\t\t\t\tif (current) {\n\t\t\t\t\tlet currentTime = time(language)(current, format);\n\n\t\t\t\t\tnormalizedDate = next\n\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t.milliseconds(currentTime.milliseconds())\n\t\t\t\t\t\t.seconds(currentTime.seconds())\n\t\t\t\t\t\t.minutes(currentTime.minutes())\n\t\t\t\t\t\t.hours(currentTime.hours());\n\t\t\t\t} else {\n\t\t\t\t\tnormalizedDate = next.startOf('day');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn normalizedDate.format(format);\n\t\t};\n\n\t\tconst setDate = (editState, payload) => {\n\t\t\tdispatch(editState, {\n\t\t\t\t...payload,\n\t\t\t\tnewDate: getNewDate(\n\t\t\t\t\teditState === SET_START_STATE ? currentStart : currentEnd,\n\t\t\t\t\tnewDate\n\t\t\t\t)\n\t\t\t});\n\t\t};\n\n\t\tlet noneSelected = !currentStart && !currentEnd;\n\t\tlet onlyStartSelected = !!currentStart && !currentEnd;\n\t\tlet onlyEndSelected = !currentStart && !!currentEnd;\n\t\tlet isStartAndEndSelected = !!currentStart && !!currentEnd;\n\n\t\tif (weeklyView) {\n\t\t\tconst weekType = getWeekType(isoWeek);\n\t\t\tnewDate = adjustWeekForYearOverlap(newDate, language, isoWeek, weekType);\n\t\t}\n\n\t\tlet payload = { newDate: newDate.format(format) };\n\n\t\tconst tryCloseDropdown = () => dispatch(TRY_CLOSE_DROPDOWN);\n\n\t\tif (noneSelected) {\n\t\t\tdispatch(SET_HOVER_END_DATE, { hoverEnd: '' });\n\t\t\treturn setDate(SET_START_STATE, {\n\t\t\t\t...payload,\n\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t});\n\t\t} else if (onlyStartSelected) {\n\t\t\t// only check if new date selected is after currentStart if the end date is being set\n\t\t\tif (!sourceField || SOURCE_FIELD_END === sourceField) {\n\t\t\t\tif (newDate.isSameOrAfter(time(language)(currentStart, format))) {\n\t\t\t\t\tsetDate(TRY_SET_END_STATE, payload);\n\t\t\t\t\t//close the dropdown\n\t\t\t\t\treturn tryCloseDropdown();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn setDate(SET_START_STATE, {\n\t\t\t\t\t...payload\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (onlyEndSelected) {\n\t\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\t\tend: '',\n\t\t\t\tpreset: 'custom',\n\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t});\n\t\t} else if (isStartAndEndSelected) {\n\t\t\tif (\n\t\t\t\tSOURCE_FIELD_END === sourceField &&\n\t\t\t\tnewDate.isSameOrAfter(time(language)(currentStart, format))\n\t\t\t) {\n\t\t\t\tsetDate(TRY_SET_END_STATE, payload);\n\t\t\t\treturn tryCloseDropdown();\n\t\t\t} else if (SOURCE_FIELD_START == sourceField && currentStart) {\n\t\t\t\tdispatch(SET_SOURCE_FIELD, { sourceField: SOURCE_FIELD_END });\n\t\t\t\tif (newDate.isSameOrBefore(time(language)(currentEnd, format))) {\n\t\t\t\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\t\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\t\t\t\tend: currentEnd,\n\t\t\t\t\t\tpreset: 'custom'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// both start & end are selected\n\t\tdispatch(SET_HOVER_END_DATE, { hoverEnd: '' });\n\n\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\tend: '',\n\t\t\tsourceField: SOURCE_FIELD_END,\n\t\t\tpreset: 'custom'\n\t\t});\n\t};\n\nexport default function DatePickerPanel(\n\t{\n\t\thoverEnd,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tstart,\n\t\t\tend,\n\t\t\tvisibleMonth,\n\t\t\tformat,\n\t\t\thasTime,\n\t\t\tsourceField,\n\t\t\thighlightedDate,\n\t\t\tfromRef,\n\t\t\ttoRef,\n\t\t\tlanguage,\n\t\t\tweeklyView = false,\n\t\t\tisoWeek = false,\n\t\t\trequireConfirmation,\n\t\t\tdisabledDates,\n\t\t\ttimeAgoLabel,\n\t\t\ttimeAgo,\n\t\t\tshowAdjacentMonthDays\n\t\t}\n\t},\n\t{ dispatch }\n) {\n\tlet leftVisibleMonth = visibleMonth\n\t\t? visibleMonth.clone()\n\t\t: getVisibleMonth(start);\n\tlet rightVisibleMonth = leftVisibleMonth.clone().add(1, 'month');\n\tlet rangePickerRef = createRef();\n\n\tlet hasFooter = hasTime || requireConfirmation;\n\n\tlet tableName = '';\n\tconst defaultDateLabel = t('date not selected');\n\n\tif (isObject(timeAgo)) {\n\t\ttableName = timeAgo.tableName;\n\t}\n\n\tconst updateDate = createUpdateDateFunction({\n\t\tdispatch,\n\t\tcurrentStart: start,\n\t\tcurrentEnd: end,\n\t\tformat,\n\t\tlanguage,\n\t\tweeklyView,\n\t\tisoWeek\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`panel-container${timeAgo ? ' is-preset' : ''}`}\n\t\t\tref={rangePickerRef}\n\t\t>\n\t\t\t{timeAgo ? (\n\t\t\t\t<div className=\"date-preset-container\">\n\t\t\t\t\t<sn-date-preset-panel-connected\n\t\t\t\t\t\tvalue={timeAgoLabel}\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tbetween={false}\n\t\t\t\t\t\tabsolute={true}\n\t\t\t\t\t\thasTime={hasTime}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"date-picker-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"date-pickers\"\n\t\t\t\t\taria-label={t('Selected Date Range : {Start} to {End}', {\n\t\t\t\t\t\tStart: start || defaultDateLabel,\n\t\t\t\t\t\tEnd: end || defaultDateLabel\n\t\t\t\t\t}).trim()}\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"date-picker-start\">\n\t\t\t\t\t\t<sn-standard-month-grid\n\t\t\t\t\t\t\tvisibleMonth={leftVisibleMonth}\n\t\t\t\t\t\t\tstart={start}\n\t\t\t\t\t\t\tend={end}\n\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\t\trangePicker={true}\n\t\t\t\t\t\t\tsourceField={sourceField}\n\t\t\t\t\t\t\tonSelectDate={updateDate(sourceField)}\n\t\t\t\t\t\t\tonControlExit={onControlExit(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tfromRef,\n\t\t\t\t\t\t\t\ttoRef,\n\t\t\t\t\t\t\t\tsourceField\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonHighlightedDate={onHighlightedDate(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tvisibleMonth,\n\t\t\t\t\t\t\t\tformat\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChangeMonth={date =>\n\t\t\t\t\t\t\t\tdispatch(SET_VISIBLE_MONTH, { visibleMonth: date })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\t\tonEndDayHover={updateEndHoverValue(dispatch, format)}\n\t\t\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\t\thighlightedDate={time(language)(highlightedDate, format)}\n\t\t\t\t\t\t\thasFocus={\n\t\t\t\t\t\t\t\tSOURCE_FIELD_START === sourceField ||\n\t\t\t\t\t\t\t\tSOURCE_FIELD_END === sourceField\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabledDays={getDisabledDays(\n\t\t\t\t\t\t\t\tleftVisibleMonth,\n\t\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\t\tdisabledDates,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tenableMonthNavigationChevrons={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t\t<div className=\"date-picker-end\">\n\t\t\t\t\t\t<sn-standard-month-grid\n\t\t\t\t\t\t\tvisibleMonth={rightVisibleMonth}\n\t\t\t\t\t\t\tstart={start}\n\t\t\t\t\t\t\tend={end}\n\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\t\trangePicker={true}\n\t\t\t\t\t\t\tsourceField={sourceField}\n\t\t\t\t\t\t\tonSelectDate={updateDate(sourceField)}\n\t\t\t\t\t\t\tonControlExit={onControlExit(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tfromRef,\n\t\t\t\t\t\t\t\ttoRef,\n\t\t\t\t\t\t\t\tsourceField\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonHighlightedDate={onHighlightedDate(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tvisibleMonth,\n\t\t\t\t\t\t\t\tformat\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChangeMonth={date =>\n\t\t\t\t\t\t\t\tdispatch(SET_VISIBLE_MONTH, {\n\t\t\t\t\t\t\t\t\tvisibleMonth: date.subtract(1, 'month')\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\t\tonEndDayHover={updateEndHoverValue(dispatch, format)}\n\t\t\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\t\thighlightedDate={time(language)(highlightedDate, format)}\n\t\t\t\t\t\t\thasFocus={\n\t\t\t\t\t\t\t\tSOURCE_FIELD_START === sourceField ||\n\t\t\t\t\t\t\t\tSOURCE_FIELD_END === sourceField\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabledDays={getDisabledDays(\n\t\t\t\t\t\t\t\trightVisibleMonth,\n\t\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\t\tdisabledDates,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tenableMonthNavigationChevrons={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t{hasFooter ? (\n\t\t\t\t\t<div className=\"date-picker-panel-footer\">\n\t\t\t\t\t\t{hasTime ? (\n\t\t\t\t\t\t\t<div className=\"time-picker-row\">\n\t\t\t\t\t\t\t\t<div className=\"time-picker\">\n\t\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\t\tname={`${name}-start-time-picker`}\n\t\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\t\tvalue={start}\n\t\t\t\t\t\t\t\t\t\ton-focus={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(SET_SOURCE_FIELD, {\n\t\t\t\t\t\t\t\t\t\t\t\tsourceField: SOURCE_FIELD_START\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonValueChange={({ value }) => {\n\t\t\t\t\t\t\t\t\t\t\tvalue =\n\t\t\t\t\t\t\t\t\t\t\t\tvalue || time(language)(start, format).startOf('day');\n\t\t\t\t\t\t\t\t\t\t\tupdateDate(SOURCE_FIELD_START, true)(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div className=\"time-picker\">\n\t\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\t\tname={`${name}-end-time-picker`}\n\t\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\t\tvalue={end}\n\t\t\t\t\t\t\t\t\t\ton-focus={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(SET_SOURCE_FIELD, {\n\t\t\t\t\t\t\t\t\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonValueChange={({ value }) => {\n\t\t\t\t\t\t\t\t\t\t\tvalue = value || time(language)(end, format).endOf('day');\n\t\t\t\t\t\t\t\t\t\t\tupdateDate(SOURCE_FIELD_END, true)(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{requireConfirmation ? pickerConfirm({ dispatch }) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n","import { SET_START_AND_END } from './actionHandlers';\nimport { getErrors } from './dateRangeUtils';\nimport { time } from '@devsnc/sn-controls-common';\nimport { onControlExit } from './date-picker-panel/view';\nimport { get } from 'lodash';\nimport {\n\tWEEKLY_TYPE,\n\tSTANDARD_VIEW_TAG,\n\tMONTHLY_VIEW_TAG,\n\tYEARLY_VIEW_TAG,\n\tQUARTERLY_VIEW_TAG\n} from './constants';\nimport { t } from 'sn-translate';\n\nconst isDateValidNotEmpty = date => {\n\treturn date.isValid() && date.toString() !== t('Invalid date');\n};\n\n// Due to the way that now-popover hoists elements, it'll cause\n// an immediate blur from the element. We need to make sure\n// the blur event is actually from a blur rather than\n// the focus moving to the hoisted content\nconst isFocusOnHoistedElement = action => {\n\tconst relatedTarget = get(action, 'meta.event.relatedTarget');\n\n\tif (!relatedTarget || relatedTarget.tagName !== 'SEISMIC-HOIST') return false;\n\n\tconst targetFor = relatedTarget.getAttribute('target-for');\n\tconst regex = new RegExp(\n\t\t`${STANDARD_VIEW_TAG}|${MONTHLY_VIEW_TAG}|${YEARLY_VIEW_TAG}|${QUARTERLY_VIEW_TAG}`\n\t);\n\treturn targetFor.match(regex);\n};\n\nexport const blurEventEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tproperties,\n\tcancel\n}) => {\n\tif (isFocusOnHoistedElement(action)) return;\n\n\tlet { format, requireConfirmation } = state;\n\tlet { language, disabledDates = [] } = properties;\n\n\tconst originalStart = time(language)(state.originalStart, format, true);\n\tconst originalEnd = time(language)(state.originalEnd, format, true);\n\tif (\n\t\tstate.popoverOpened &&\n\t\t(cancel || (cancel === undefined && requireConfirmation))\n\t) {\n\t\tdispatch(SET_START_AND_END, {\n\t\t\tstart: originalStart.isValid() ? originalStart.format(format) : '',\n\t\t\tend: originalEnd.isValid() ? originalEnd.format(format) : '',\n\t\t\tpreset: state.preset,\n\t\t\t...getErrors({\n\t\t\t\tstart: state.originalStart,\n\t\t\t\tend: state.originalEnd,\n\t\t\t\tlanguage,\n\t\t\t\tformat,\n\t\t\t\tdisabledDates,\n\t\t\t\tproperties\n\t\t\t})\n\t\t});\n\t\treturn;\n\t}\n\n\tconst pendingStart = state.pendingStart;\n\tconst pendingEnd = state.pendingEnd;\n\tlet startDate = time(language)(pendingStart, format, true);\n\tlet endDate = time(language)(pendingEnd, format, true);\n\n\tconst isWeekly = properties.type === WEEKLY_TYPE;\n\n\t//dispatch with formatted\n\tdispatch(SET_START_AND_END, {\n\t\tstart:\n\t\t\tisDateValidNotEmpty(startDate) && !isWeekly\n\t\t\t\t? startDate.format(format)\n\t\t\t\t: pendingStart,\n\t\tend:\n\t\t\tisDateValidNotEmpty(endDate) && !isWeekly\n\t\t\t\t? endDate.format(format)\n\t\t\t\t: pendingEnd,\n\t\tpreset: state.preset,\n\t\t...getErrors({\n\t\t\tstart: pendingStart,\n\t\t\tend: pendingEnd,\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\tproperties\n\t\t})\n\t});\n};\n\nexport default [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { event }\n\t\t\t},\n\t\t\tproperties: { sourceField, toRef, fromRef }\n\t\t}) => {\n\t\t\tif (event.key === 'Escape')\n\t\t\t\tonControlExit(dispatch, fromRef, toRef, sourceField)(event);\n\t\t}\n\t}\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport view from './view';\nimport actionHandlers from './actionHandlers';\nimport styles from './panel.scss';\n\nimport { onControlExit } from './view';\n\n// Ensure STANDARD_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-standard-range', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tstart: { default: '' },\n\t\tend: { default: '' },\n\t\thighlightedDate: { default: '' },\n\t\tvisibleMonth: {},\n\t\tformat: {},\n\t\thasTime: { default: false, type: 'boolean' },\n\t\tname: { default: '' },\n\t\tsourceField: {},\n\t\tpresets: {},\n\t\tpreset: {},\n\t\topened: { default: false },\n\t\tonValueChange: {},\n\t\tfromRef: {},\n\t\ttoRef: {},\n\t\tlanguage: {},\n\t\tweeklyView: { default: false },\n\t\tisoWeek: { default: false, type: 'boolean' },\n\t\trequireConfirmation: { default: false },\n\t\tdisabledDates: {},\n\t\trangePicker: {},\n\t\ttimeAgoLabel: { default: '' },\n\t\tshowAdjacentMonthDays: { default: true },\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t * \n\t\t * @type {(boolean|{ tableName: string })}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{ behavior: rtlBehavior }],\n\tactionHandlers,\n\tstyles,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tproperties: { sourceField, toRef, fromRef }\n\t\t\t}) => {\n\t\t\t\tif (event.key === 'Escape')\n\t\t\t\t\tonControlExit(dispatch, fromRef, toRef, sourceField)(event);\n\t\t\t}\n\t\t}\n\t]\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { t } from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport view from './view';\nimport styles from './styles.scss';\nimport eventHandlers from './eventHandlers';\nimport actionHandlers from './actionHandlers';\nimport './date-picker-panel';\n\nexport let defaultPresets = [\n\t{\n\t\tid: 'custom',\n\t\tlabel: t('Custom')\n\t},\n\t{\n\t\tid: 'last 7 days',\n\t\tlabel: t('Last 7 Days'),\n\t\tstart: {\n\t\t\toffset: '-7',\n\t\t\tunit: 'days'\n\t\t}\n\t},\n\t{\n\t\tid: 'last month',\n\t\tlabel: t('Last Month'),\n\t\tstart: {\n\t\t\toffset: '-1',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'last 3 months',\n\t\tlabel: t('Last 3 Months'),\n\t\tstart: {\n\t\t\toffset: '-3',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'last 6 months',\n\t\tlabel: t('Last 6 Months'),\n\t\tstart: {\n\t\t\toffset: '-6',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'year to date',\n\t\tlabel: t('Year To Date'),\n\t\tstart: {\n\t\t\tabsolute: true,\n\t\t\tmethod: 'startOf',\n\t\t\tvalue: 'year'\n\t\t}\n\t},\n\t{\n\t\tid: 'last year',\n\t\tlabel: t('Last Year'),\n\t\tstart: {\n\t\t\toffset: '-1',\n\t\t\tunit: 'year'\n\t\t}\n\t}\n];\n\n/**\n * Component used to select a custom range of dates or select from a preset of date ranges.\n *\n * ```jsx\n * <now-date-range-picker start=\"10-01-2005\" end=\"11-03-2005\" preset=\"custom \"/>\n *\n * // pass only relative preset\n * <now-date-range-picker preset=\"last month\"/>\n *\n * // custom presets\n * <now-date-range-picker\n *   preset=\"last 11 days\"/>\n *   presets={[\n *     id: 'last 11 days',\n *     label: t('Last 11 days'),\n *     start: {\n *       offset: '-11',\n *       unit: 'days'\n *     }\n *   ]}\n * />\n * ```\n *\n * @seismicElement now-date-range-picker\n * @summary Component used to select a custom range of dates or select from a preset of date ranges.\n */\ncreateCustomElement('now-date-range-picker', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Date string for ending of the range that matches the passed in `format`\n\t\t * @type {string}\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Toggles whether or not to show the Ok and Cancel buttons.\n\t\t * @type {string}\n\t\t */\n\t\trequireConfirmation: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Date format for the date string.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD` and `YYYY-MM-DD hh:mm:ss a` when\n\t\t * `has-time` is set to true.\n\t\t *\n\t\t * @type {string}\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t *\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * When true, enables selecting a time range.\n\t\t *\n\t\t * When start time is cleared, defaults to the beginning of that day.\n\t\t * When end time is cleared, defaults to the end of that day.\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD`.\n\t\t * @type {boolean}\n\t\t *\n\t\t */\n\t\thasTime: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Label for the Start field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabelStart: { default: t('Start') },\n\t\t/**\n\t\t * Label for the End field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabelEnd: { default: t('End') },\n\t\t/**\n\t\t * String that defines the user's language and region.\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en-US' },\n\t\t/**\n\t\t * Name for the component.\n\t\t * @type {string}\n\t\t *\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Optional callback that gets called with `{ start, end, preset }`.\n\t\t * @type {function}\n\t\t * @private\n\t\t *\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * The preset from `presets` to initially use.\n\t\t * @type {string}\n\t\t *\n\t\t * When not provided, the default preset is custom\n\t\t *\n\t\t */\n\t\tpreset: { default: 'custom' },\n\t\t/**\n\t\t * Presets to display as selected range.\n\t\t *\n\t\t * Array of objects in the shape of\n\t\t * { start: DateTransform, end: DateTransform }\n\t\t *\n\t\t * DateTransform: {\n\t\t *   offset: String/Number providing the offset value for the `unit`\n\t\t *   unit: String that is one of the units supported by moment.js\n\t\t *   inclusive: Boolean determining if the side of range is inclusive\n\t\t *\n\t\t *   absolute: Boolean override that allows consumer to manually set the date\n\t\t *   method: String for the method used when `absolute` is true to manipulate the date\n\t\t *   value: String for the argument passed to `method` when `absolute` is true\n\t\t * }\n\t\t *\n\t\t * @type {object}\n\t\t * @see [Moment units](https://momentjs.com/docs/#/manipulating/add/\n\t\t */\n\t\tpresets: { default: defaultPresets },\n\t\t/**\n\t\t * Decide whether to show adjacent month days or not in the grid\n\t\t *\n\t\t */\n\t\tshowAdjacentMonthDays: { default: true },\n\t\t/**\n\t\t * Date string for starting of the range that matches the passed in `format`\n\t\t * @type {string}\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel for Standard View Only (type : `standard`)\n\t\t * Not supported on `weekly`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\t\t *\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t *\n\t\t * @type {(boolean|{ tableName: string })}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, enables Right to Left behavior (RTL)\n\t\t * @type {boolean}\n\t\t *\n\t\t * When not provided, the default value is `false`\n\t\t *\n\t\t */\n\t\treversed: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\treadonly: { default: false, type: 'boolean' },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {boolean|string}\n\t\t */\n\t\trequired: {},\n\t\t/**\n\t\t * The start and end value can be the same\n\t\t * @type {boolean}\n\t\t * @uib.label Enable same day\n\t\t * @uib.description Allows users to select duplicate values for start and end inputs.\n\t\t * @uib.fieldType boolean\n\t\t */\n\t\tenableSameDay: { default: false, schemas: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 100 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: { start: -100, end: 100, relative: true },\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: { type: 'number' },\n\t\t\t\t\tend: { type: 'number' },\n\t\t\t\t\trelative: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\teventHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the date range is changed.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_DATE_RANGE_PICKER#VALUE_CHANGED': {}\n\t},\n\tinitialState: {\n\t\tselectedTimeAgoPreset: false\n\t}\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport moment from 'moment';\nimport { padStart, reduceRight, map, parseInt, clamp, isEqual } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { SNInputGroup, Input } from '@devsnc/sn-record-input';\n\nimport { accessibilityAttributes } from '@devsnc/sn-controls-common';\n\n// Unit names and limiting values. Each key+value generates\n// an input field, with the key name used as the input label.\n//\n// Descending order is significant to render the fields in the\n// correct order and handle the `maxUnit` prop. All supported\n// browsers maintain key order in objects.\nconst UNIT_LIMITS = {\n\tdays: Infinity,\n\thours: 24,\n\tminutes: 60,\n\tseconds: 60\n};\n\nconst EMPTY_VALUE = '00 00:00:00';\nconst UNIT_NAMES = Object.keys(UNIT_LIMITS);\nconst DISPLAY_UNIT_NAMES = [t('Days'), t('Hours'), t('Minutes'), t('Seconds')];\n\n/**\n * Simplify values state by carrying any overflowing\n * unit to the next biggest unit.\n *\n * e.g.:\n *\n * normalizeState({\n *\tseconds: 125\n * })\n *\n * =>\n *\n * {\n *\tseconds: 5,\n *\tminutes: 2\n * }\n */\nconst normalizeState = (values, maxUnit) => {\n\treturn reduceRight(\n\t\tUNIT_NAMES,\n\t\t(result, unitName, index) => {\n\t\t\tconst carry = result[unitName] || 0;\n\t\t\tconst minValue = unitName === 'days' ? Number.MIN_SAFE_INTEGER : 0;\n\t\t\tconst value = clamp(\n\t\t\t\tparseInt(values[unitName], 10) + carry,\n\t\t\t\tminValue,\n\t\t\t\tNumber.MAX_SAFE_INTEGER\n\t\t\t);\n\n\t\t\tif (Number.isNaN(value)) {\n\t\t\t\tresult[unitName] = 0;\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// We can always have any number of whatever the largest unit type is...\n\t\t\tconst limit = maxUnit === unitName ? Infinity : UNIT_LIMITS[unitName];\n\t\t\tif (value >= limit) {\n\t\t\t\tconst nextCarry = Math.floor(value / limit);\n\t\t\t\tconst nextUnitName = UNIT_NAMES[index - 1];\n\n\t\t\t\t// store carry for the next unit in results object directly. Next\n\t\t\t\t// iteration will add this existing carry to the value from the\n\t\t\t\t// function params.\n\t\t\t\tif (nextUnitName) {\n\t\t\t\t\tresult[nextUnitName] = nextCarry;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult[unitName] = value % limit;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n};\n\n/**\n * For duration fields, the value received in the liveUpdate will always be in\n * the format 'YYYY-MM-DD HH:mm:ss' (regardless of user system property preferences\n * changing format of date and/or time), and the base value is '1970-01-01 00:00:00'.\n * This function is made for the purpose of changing the value to the format that\n * the duration field expects, which happens to be 'd HH:mm:ss'.\n */\nconst normalizeDurationValue = value => {\n\tconst dateValue = moment(value, 'YYYY-MM-DD HH:mm:ss', true);\n\n\tif (dateValue.isValid()) {\n\t\tconst days = dateValue.diff(moment('1970-01-01'), 'days');\n\t\tvalue = `${days} ${dateValue.format('HH:mm:ss').toString()}`;\n\t}\n\n\treturn value;\n};\n\n/**\n * Parse an incoming string value, creating an object mapping\n * unit name to value.\n *\n * e.g.,\n * parseValue('05 12:30:14')\n * =>\n * {\n *\tdays: 05,\n *\thours: 12,\n *\tminutes: 30,\n *\tseconds: 14\n * }\n *\n * omitting segments in the input value is okay and will be treated as 0 for\n * that segment.\n */\nexport const parseValue = (value, maxUnit) => {\n\tlet durationString = String(normalizeDurationValue(value));\n\tlet isNegativeDuration = false;\n\n\tif (durationString.charAt(0) === '-') {\n\t\tisNegativeDuration = true;\n\t\tdurationString = durationString.substring(1);\n\t}\n\n\tconst values = durationString.split(/\\D/);\n\n\tif (isNegativeDuration) values[0] = String(values[0] * -1);\n\n\tconst state = reduceRight(\n\t\tUNIT_NAMES,\n\t\t(result, unit) => {\n\t\t\tresult[unit] = parseInt(values.pop(), 10) || 0;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n\n\treturn normalizeState(state, maxUnit);\n};\n\n/**\n * Renders a group of inputs that represent a duration of time. The format for\n * the value prop must be: `dd hh:mm:ss`, although missing segments are valid.\n */\nexport default (state, { updateState }) => {\n\tconst { onValueChange = state.properties.onValueChange } = state;\n\tconst {\n\t\tmaxUnit,\n\t\tcomponentId,\n\t\thideUnitLabels,\n\t\tautofocus,\n\t\tinvalid,\n\t\tsecondsReadOnly,\n\t\treadonly,\n\t\tseparator,\n\t\tlabel,\n\t\tfieldLayout,\n\t\trequired,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\t/**\n\t * Opposite of `parseValue`. Takes an object of segment values and returns\n\t * a formatted string.\n\t *\n\t * Right now this is pretty much hardcoded to the format:\n\t *\n\t *\tdd HH:MM:SS\n\t */\n\tconst formatValue = values => {\n\t\tconst [days, ...rest] = map(UNIT_NAMES, name =>\n\t\t\tpadStart(values[name], 2, '0')\n\t\t);\n\t\treturn `${days} ${rest.join(':')}`;\n\t};\n\n\tconst onChange = event => {\n\t\tupdateState({\n\t\t\t[event.target.name]: event.target.value\n\t\t});\n\t};\n\n\tconst onFocus = event => {\n\t\tupdateState({\n\t\t\t[`hasFocus-${event.target.name}`]: true,\n\t\t\thasParentFocus: true\n\t\t});\n\t};\n\n\tconst onBlur = event => {\n\t\tupdateState({\n\t\t\t[`hasFocus-${event.target.name}`]: false,\n\t\t\thasParentFocus: false\n\t\t});\n\t\tconst normalizedState = normalizeState({\n\t\t\t...state,\n\t\t\t[event.target.name]: event.target.value || 0\n\t\t});\n\n\t\tconst value = formatValue(normalizedState);\n\n\t\tupdateState({ ...normalizedState });\n\n\t\tif (isEqual(value, EMPTY_VALUE)) {\n\t\t\tonValueChange({ event, value: '' });\n\t\t} else {\n\t\t\tonValueChange({ event, value });\n\t\t}\n\n\t\t// when the value inputted is invalid more than once, the state === previousState.\n\t\t// force a render when the number is invalid so that the input updates w/ correct values\n\t\t// if (isInvalidNumber(value)) {\n\t\t// \tforceUpdate();\n\t\t// }\n\t};\n\n\tconst maxUnitIndex = Math.max(0, UNIT_NAMES.indexOf(maxUnit));\n\n\treturn (\n\t\t<SNInputGroup\n\t\t\t{...state.properties}\n\t\t\t{...state}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t>\n\t\t\t{map(UNIT_NAMES, (name, index) => {\n\t\t\t\tif (index >= maxUnitIndex) {\n\t\t\t\t\tconst childId = `${componentId}-${name}`;\n\t\t\t\t\tconst ariaLabel = t('{fieldLabel} {durationUnit}', {\n\t\t\t\t\t\tfieldLabel: label || '',\n\t\t\t\t\t\tdurationUnit: DISPLAY_UNIT_NAMES[index]\n\t\t\t\t\t}).trim();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={name}>\n\t\t\t\t\t\t\t{separator && index > maxUnitIndex && (\n\t\t\t\t\t\t\t\t<span className=\"sn-record-duration-separator\">\n\t\t\t\t\t\t\t\t\t{separator}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tclassName=\"sn-control-input\"\n\t\t\t\t\t\t\t\t{...accessibilityAttributes(state.properties)}\n\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\tcomponentId={childId}\n\t\t\t\t\t\t\t\treadonly={\n\t\t\t\t\t\t\t\t\treadonly ||\n\t\t\t\t\t\t\t\t\t(secondsReadOnly && index === UNIT_NAMES.length - 1)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\t\t\t\tautofocus={index === 0 && autofocus}\n\t\t\t\t\t\t\t\tkey={name}\n\t\t\t\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\t\t\t\tlabel={hideUnitLabels ? undefined : DISPLAY_UNIT_NAMES[index]}\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\t\t\t\t\tvalue={String(state[name])}\n\t\t\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tcreatedCallbacks={true}\n\t\t\t\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\t\t\thasFocus={state[`hasFocus-${name}`]}\n\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\thideRequiredIndicator={true}\n\t\t\t\t\t\t\t\tshowUnsavedIndicator={false}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})}\n\t\t<\/SNInputGroup>\n\t);\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\n\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nimport SNDuration, { parseValue } from './SNDuration';\nimport style from './duration.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n *\n * ```jsx\n * <sn-record-duration name=\"duration\" label=\"Duration\" value=\"03 12:45:00\" />\n * ```\n *\n *\n * ```jsx\n * <sn-record-duration\n *     label=\"Only minutes and seconds here\"\n *     name=\"minutes-max\"\n *     value=\"45:00\"\n *     maxUnit=\"minutes\"\n * />\n * ```\n *\n * @seismicElement sn-record-duration\n * @summary Duration component allowing users to enter duration of time in days, hours, minutes and seconds.\n *\n * */\n\ncreateCustomElement('sn-record-duration', {\n\tview: withValueChangeCallbacksView(SNDuration),\n\tstyles: style,\n\tsetInitialState({ properties }) {\n\t\tconst { value, maxUnit } = properties;\n\t\treturn {\n\t\t\t...parseValue(value, maxUnit),\n\t\t\thasParentFocus: false\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value, previousValue }\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tif (\n\t\t\t\tname === 'value' &&\n\t\t\t\tpreviousValue !== value &&\n\t\t\t\t!state.hasParentFocus\n\t\t\t) {\n\t\t\t\tupdateState(parseValue(value, properties.maxUnit));\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The largest unit that the user can interact with.\n\t\t * @type {string}\n\t\t */\n\t\tmaxUnit: {},\n\n\t\t/**\n\t\t * When true, will hide the unit name labels\n\t\t * @type {boolean}\n\t\t */\n\t\thideUnitLabels: {},\n\n\t\t/**\n\t\t * When true, will use the specified string as a separator for the input fields\n\t\t * @type {string}\n\t\t */\n\t\tseparator: {},\n\n\t\t/**\n\t\t * When true, the seconds input will be read only\n\t\t * @type {boolean}\n\t\t */\n\t\tsecondsReadOnly: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_DURATION#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\t{ behavior: truncationBehavior },\n\t\t{ behavior: tooltipBehavior }\n\t]\n});\n\nexport default SNDuration;\n","import '@devsnc/sn-declarative-actions';\nimport { getDeclarativeActionsProps } from '@devsnc/sn-controls-common';\n\nexport const renderDeclarativeActions = (\n\tproperties,\n\tdispatch,\n\toverrideDAProps = true\n) => {\n\tconst declarativeActionsProps = overrideDAProps\n\t\t? getDeclarativeActionsProps(properties.declarativeActionsProps, properties)\n\t\t: properties.declarativeActionsProps || {};\n\treturn (\n\t\t<sn-declarative-field-action\n\t\t\tslot=\"end\"\n\t\t\tmodel={declarativeActionsProps}\n\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\tdispatch={dispatch}\n\t\t\tformData={properties.formData}\n\t\t\tfetchDeclarativeActions={declarativeActionsProps.fetchDeclarativeActions}\n\t\t/>\n\t);\n};","import { t } from 'sn-translate';\n\nimport '@servicenow/now-input';\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\ttransformDescriptionAndMessages,\n\trenderHighlightedValue\n} from '@devsnc/sn-controls-common';\n\nimport { renderDeclarativeActions } from './declarativeActions';\n\nconst renderAdaptedControlSlot = () => <slot name=\"controls\" slot=\"end\" />;\n\nconst renderEmailTrigger = state => {\n\tconst { stagedValue } = state;\n\tconst { label, hideEmailIcon } = state.properties;\n\tconst hideEmailIconProp = isAttrTrue(hideEmailIcon);\n\tconst tooltipLabel = t('Send e-mail');\n\treturn (\n\t\t<span slot=\"end\">\n\t\t\t{!!stagedValue && !hideEmailIconProp && (\n\t\t\t\t<sn-record-control\n\t\t\t\t\ticon=\"envelope-outline\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t'Field action for {0}: {1}: {2}',\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\ttooltipLabel,\n\t\t\t\t\t\t\tstagedValue\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip={tooltipLabel}\n\t\t\t\t\ton-click={() => (window.location.href = `mailto:${stagedValue}`)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/span>\n\t);\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tautofocus,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\thighlightedValue,\n\t\thelperContent,\n\t\tdescription,\n\t\tmaxlength,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst hasStateMessages = state.messages?.length > 0;\n\tconst hasPropertyMessages = properties.messages?.length > 0;\n\tconst usePropertyMessages = hasPropertyMessages && !state.isFieldValid;\n\tconst invalid = !(hasStateMessages || state.isFieldValid)\n\t\t? properties.invalid\n\t\t: false;\n\n\tconst nonErrorPropertyMessages =\n\t\tproperties.messages?.filter(msg => msg.type !== 'error') || [];\n\n\tconst messages = hasStateMessages\n\t\t? state.messages.concat(nonErrorPropertyMessages)\n\t\t: usePropertyMessages\n\t\t\t? properties.messages\n\t\t\t: nonErrorPropertyMessages;\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder ||\n\t\t(Array.isArray(properties.fieldRegex) &&\n\t\t\tproperties.fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<now-input\n\t\t\tname={name}\n\t\t\ttype=\"email\"\n\t\t\tautofocus={autofocus}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\tplaceholder={resolvedPlaceholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={state.value}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tmanage-invalid={true}\n\t\t\tmanage-value={true}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderAdaptedControlSlot()}\n\t\t\t{renderEmailTrigger(state)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport {\n\ttransformState,\n\tcreateWithStateBehavior,\n\twithState,\n\ttrackBehavior,\n\tisEmail,\n\tsetInitialStateWithValue,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\n\nimport style from './email.scss';\n\nimport view from './view';\n\nconst EMAIL_PLACEHOLDER = 'emailaddress@domain.com';\n\nexport const parsingError = (value, props) => {\n\tconst { internationalizedEmail, fieldRegex = [] } = props;\n\n\tconst placeholder =\n\t\tfieldRegex.length > 0\n\t\t\t? fieldRegex[0]?.placeholder || EMAIL_PLACEHOLDER // Fallback if placeholder is missing\n\t\t\t: EMAIL_PLACEHOLDER;\n\n\tconst error =\n\t\t!value || isEmail(value, internationalizedEmail)\n\t\t\t? undefined\n\t\t\t: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t'Invalid email address. Please enter in {0} format',\n\t\t\t\t\t\tinternationalizedEmail ? 'RFC6530' : placeholder\n\t\t\t\t\t)\n\t\t\t\t};\n\treturn {\n\t\terror\n\t};\n};\n\nexport const withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props) => {\n\t\t\tconst { error } = parsingError(value, props);\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\terror\n\t\t\t};\n\t\t},\n\t\teventBased: false\n\t})\n};\n\n/**\n *\n * ```jsx\n * <sn-record-email name=\"email\" label=\"Email\" value=\"abel.tuter@servicenow.com\" />\n * ```\n *\n *\n * ```jsx\n * <sn-record-email\n *     label=\"Email with no email icon\"\n *     name=\"email-no-icon\"\n *     hideEmailIcon\n * />\n * ```\n *\n * @seismicElement sn-record-email\n * @summary Email component allowing users to enter an email.\n *\n * */\n\ncreateCustomElement('sn-record-email', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Whether or not to show the email icon\n\t\t * @type {string | boolean}\n\t\t */\n\t\thideEmailIcon: { default: false },\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Specifies whether the email should be validated expecting international characters.\n\t\t * @type {boolean}\n\t\t */\n\t\tinternationalizedEmail: { default: false },\n\t\t/**\n\t\t * Initial value for the component.\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * A collection of field validation patterns used to validate specific input formats.\n\t\t * Each field contains attributes such as pattern, placeholder, guidanceText, and status to customize validation.\n\t\t *\n\t\t * Example:\n\t\t * ```json\n\t\t * [\n\t\t *   {\n\t\t *     \"pattern\": \"\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b\",\n\t\t *     \"placeholder\": null,\n\t\t *     \"guidanceText\": \"Invalid Value. Please enter correct value\",\n\t\t *     \"type\": \"suggestion\"\n\t\t *   }\n\t\t * ]\n\t\t * ```\n\t\t * Properties:\n\t\t * - `pattern` (string): The regex pattern used for validating the input.\n\t\t * - Example for SSN: `\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b`.\n\t\t * - `placeholder` (string | null): A placeholder string that provides input guidance. Defaults to `null`.\n\t\t * - `guidanceText` (string): A custom error message displayed when the validation fails.\n\t\t * - Default: `\"Invalid Value. Please enter correct value.\"`.\n\t\t * - `type` : `Guidance Text type. example (suggestion,positive,info,warning,critical)`\n\t\t *\n\t\t * Use `fieldRegex` to define and manage validation rules for fields that require structured input formats.\n\t\t *\n\t\t * @type {Array.<{pattern: string, placeholder: string, guidanceText: string, type: string}>}\n\t\t */\n\t\tfieldRegex: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpattern: { type: 'string' },\n\t\t\t\t\t\tplaceholder: { type: 'string', default: null },\n\t\t\t\t\t\tguidanceText: { type: 'string' },\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['suggestion', 'positive', 'critical', 'info', 'warning'],\n\t\t\t\t\t\t\tdefault: 'suggestion'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['pattern', 'guidanceText', 'type']\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_EMAIL#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue()\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const DEFAULT_MIN_HEIGHT = 300;\nexport const DEFAULT_HEIGHT = 400;\nexport const DEFAULT_MAX_HEIGHT = 500;\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const SELECT_SINGLE = 'single';\nexport const NO_VARIABLES_AVAILABLE = t('No variables are available');\nexport const CONFIGURE_TABLE = t(\n\t'Please add or configure a table to display variables.'\n);\nexport const TABLE = t('Table');\nexport const NOW_TEXTAREA = {\n\tINPUT: 'NOW_TEXTAREA#INPUT',\n\tVALUE_SET: 'NOW_TEXTAREA#VALUE_SET',\n\tINVALID_SET: 'NOW_TEXTAREA#INVALID_SET'\n};\nexport const FETCH_CONTENT_TREE_API = '/xmlhttp.do';\nexport const FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item',\n\t'sysparm_scope',\n\t'sysparm_value',\n\t'sysparm_table_name',\n\t'sysparm_is_template',\n\t'sysparm_apply_template_acls',\n\t'sysparm_flag_indexed',\n\t'sysparm_include_sysid'\n];\nexport const DIVIDER_STYLES = {\n\t'margin-top': '28px',\n    'margin-bottom': '8px'\n};\nexport const DEFAULT_DIVIDER_POSITION = 70;\n","import { debounce } from 'lodash';\nimport { DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT } from './constants';\n\n/*creates resize observer for the content tree container\nresizeObserverForTreeContainer - adjusts the height of the nowtextarea once content tree is resized vertically*/\nexport function handleResizeObserver(host, updateState, componentId) {\n\tif (!window[componentId]) {\n\t\twindow[componentId] = {};\n\t}\n\telse {\n\t\tif (window[componentId].resizeObserverForTreeContainer) {\n\t\t\twindow[componentId].resizeObserverForTreeContainer.disconnect();\n\t\t}\n\t}\n\tconst DEBOUNCER_DELAY = 200;\n\tconst treeEl = host.shadowRoot.querySelector('.content-tree-css-parent');\n\tconst resizeObserverForTreeContainer = new ResizeObserver(\n\t\tdebounce(entries => {\n\t\t\tupdateState({\n\t\t\t\theight: Math.max(\n\t\t\t\t\tDEFAULT_MIN_HEIGHT,\n\t\t\t\t\tMath.min(DEFAULT_MAX_HEIGHT, parseInt(entries[0].target.offsetHeight))\n\t\t\t\t)\n\t\t\t});\n\t\t}, DEBOUNCER_DELAY)\n\t);\n\tresizeObserverForTreeContainer.observe(treeEl);\n\twindow[componentId].resizeObserverForTreeContainer = resizeObserverForTreeContainer;\n}\n","import { t } from 'sn-translate';\nimport { isEqual } from 'lodash';\nimport { handleResizeObserver } from './Utils';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CALLBACK_AND_DISPATCH, findChildPath, parseTree } from '@devsnc/sn-controls-common';\nimport {\n\tFETCH_XML,\n\tNOW_TEXTAREA,\n\tSELECT_SINGLE,\n\tDEFAULT_MAX_HEIGHT,\n\tFETCH_CONTENT_TREE_API,\n\tFETCH_CONTENT_TREE_PARAMS,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET\n} from './constants';\n\nexport const dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: { dependentValue }\n\t} = state;\n\n\tlet params = {\n\t\tsysparm_processor: 'SysMeta',\n\t\tsysparm_scope: 'global',\n\t\tsysparm_want_session_messages: true,\n\t\tsysparm_type: 'column',\n\t\tsysparm_include_sysid: true,\n\t\tsysparm_table_name: false,\n\t\tsysparm_is_template: false,\n\t\tsysparm_apply_template_acls: false,\n\t\tsysparm_value: action?.payload?.item?.class ?? dependentValue,\n\t\tsysparm_is_excluded_role: false,\n\t\tsysparm_synch: true,\n\t\tsysparm_flag_indexed: true,\n\t\tmethod: 'getTreeNodes'\n\t};\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\texpandedItem = [['folder_root']],\n\t\tproperties: { dependentValue },\n\t\tparentItem = {\n\t\t\tlabel: t('Fields'),\n\t\t\tid: 'folder_root',\n\t\t\tactionable: true,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'folder-outline',\n\t\t\t\t\tlabel: t('Fields'),\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'tree-view-short-outline',\n\t\t\t\t\tlabel: dependentValue,\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t}\n\t\t\t],\n\t\t\ttableName: dependentValue\n\t\t}\n\t} = state;\n\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\n\tlet treeJson;\n\ttreeJson = parseTree(action.payload, parentItem);\n\tif (!expandItem?.label) {\n\t\tlet updatedNodes = [];\n\t\tupdatedNodes.unshift({\n\t\t\t...parentItem,\n\t\t\tchildren: treeJson\n\t\t});\n\t\ttreeJson = updatedNodes;\n\t}\n\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\tvalue: [...expandedItem]\n\t\t});\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst handleNowContenTreeItemClicked = ({ action, host }) => {\n\tif (action?.payload?.item?.nodeLabel && action?.payload?.item?.nodeName) {\n\t\tconst label =\n\t\t\taction?.payload?.item?.nodeLabel +\n\t\t\t': ${' +\n\t\t\taction?.payload?.item?.nodeName +\n\t\t\t'}';\n\n\t\tconst textAreaField = host.shadowRoot\n\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\tif (textAreaField) {\n\t\t\ttextAreaField.focus();\n\t\t\tconst startPos = textAreaField.selectionStart;\n\t\t\tconst endPos = textAreaField.selectionEnd;\n\t\t\ttextAreaField.value = textAreaField.value.substring(0, startPos) + label +\n\t\t\t\ttextAreaField.value.substring(endPos, textAreaField.value.length);\n\t\t\ttextAreaField.dispatchEvent(new Event('input', { bubbles: true }));\n\t\t\ttextAreaField.selectionStart = startPos + label.length;\n\t\t\ttextAreaField.selectionEnd = startPos + label.length;\n\t\t\ttextAreaField.dispatchEvent(new Event('select', { bubbles: true }));\n\t\t}\n\t}\n};\n\nconst handleDomTreeReadyEffect = ({ host, updateState, properties: { readonly, componentId } }) => {\n\tif (!readonly) {\n\t\thandleResizeObserver(host, updateState, componentId);\n\t}\n\telse {\n\t\tconst textAreaField = host.shadowRoot\n\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\tif (textAreaField) {\n\t\t\tif (textAreaField.scrollHeight > DEFAULT_MAX_HEIGHT) {\n\t\t\t\ttextAreaField.style.height = DEFAULT_MAX_HEIGHT + 'px';\n\t\t\t} else {\n\t\t\t\ttextAreaField.style.height = textAreaField.scrollHeight + 2 + 'px';\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst handleNowTextAreaInputEffect = ({ properties, action = {}, dispatch }) => {\n\tconst fieldValue = action?.payload?.fieldValue;\n\tconst { onStagedValueChange } = properties;\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onStagedValueChange,\n\t\tisValueChanged: false,\n\t\tdispatchPayload: { value: fieldValue }\n\t});\n};\n\nconst handleNowTextInvalidSetEffect = ({ action, properties, dispatch }) => {\n\tconst fieldValue = action?.payload?.fieldValue;\n\tconst { onValueChange } = properties;\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { value: fieldValue }\n\t});\n};\n\nconst propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate,\n\tdispatch,\n\tproperties: { readonly }\n}) => {\n\tif (name === 'dependentValue' && value !== previousValue && !readonly) {\n\t\tdispatchFetchXML(state, dispatch);\n\t}\n};\n\nexport default {\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({ state, dispatch, properties: { readonly, dependentValue } }) {\n\t\t\tif (!readonly && dependentValue)\n\t\t\t\tdispatchFetchXML(state, dispatch);\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleDomTreeReadyEffect\n\t},\n\t[actionTypes.COMPONENT_TREE_RENDERED]: {\n\t\teffect({ action: { payload: { previousRenderState } }, host, updateState, state, properties: { readonly, componentId } }) {\n\t\t\tif (!readonly) {\n\t\t\t\tconst { width } = state.behaviors.resize.size;\n\t\t\t\tlet stackContainerValue;\n\t\t\t\tif (width && width < 500) {\n\t\t\t\t\tstackContainerValue = false;\n\t\t\t\t} else {\n\t\t\t\t\tstackContainerValue = true;\n\t\t\t\t}\n\t\t\t\tif (state.stackContainer !== stackContainerValue) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tstackContainer: stackContainerValue,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (state.stackContainer !== previousRenderState.stackContainer) {\n\t\t\t\t\tif (state.stackContainer) {\n\t\t\t\t\t\tconst textAreaField = host.shadowRoot\n\t\t\t\t\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\t\t\t\t\tif (textAreaField) {\n\t\t\t\t\t\t\ttextAreaField.style['border-top-right-radius'] = '0px';\n\t\t\t\t\t\t\ttextAreaField.style['border-bottom-right-radius'] = '0px';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst contentTreeParentDiv = host.shadowRoot.querySelector('.content-tree-css-parent');\n\t\t\t\t\t\tif (contentTreeParentDiv) {\n\t\t\t\t\t\t\tcontentTreeParentDiv.style['border-top-left-radius'] = '0px';\n\t\t\t\t\t\t\tcontentTreeParentDiv.style['border-bottom-left-radius'] = '0px';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\thandleResizeObserver(host, updateState, componentId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_DISCONNECTED]: {\n\t\teffect({ properties: { componentId } }) {\n\t\t\tif (window[componentId] && window[componentId].resizeObserverForTreeContainer) {\n\t\t\t\twindow[componentId].resizeObserverForTreeContainer.disconnect();\n\t\t\t\twindow[componentId].resizeObserverForTreeContainer = null;\n\t\t\t}\n\t\t}\n\t},\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: handleNowContenTreeItemClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INPUT]: {\n\t\teffect: handleNowTextAreaInputEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INVALID_SET]: {\n\t\teffect: handleNowTextInvalidSetEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.VALUE_SET]: {\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_2_1_znowassist_0_index_jsdbx_f38cfa1a__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-loader';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-textarea';\nimport makeClass from 'classnames';\nimport '@servicenow/now-content-tree';\nimport style from './email-script.scss';\nimport '@servicenow/now-resizable-panes';\nimport '@servicenow/now-template-message';\nimport '@devsnc/sn-record-control-wrapper';\nimport actionHandler from './actionHandler';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tisAttrTrue,\n\ttrackBehavior,\n\ttransformState,\n\tfieldLayoutSchema,\n\ttransformMessages,\n\tgetFormFieldMessagesContent,\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tTABLE,\n\tDIVIDER_STYLES,\n\tDEFAULT_HEIGHT,\n\tCONFIGURE_TABLE,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tNO_VARIABLES_AVAILABLE,\n\tDEFAULT_DIVIDER_POSITION\n} from './constants';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst SnEmailScript = state => {\n\tconst {\n\t\tproperties,\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\theight,\n\t\tstackContainer\n\t} = state;\n\n\tconst {\n\t\tdependentValue,\n\t\tselect,\n\t\tmessages,\n\t\tdescription,\n\t\trequired,\n\t\tinvalid,\n\t\thelperContent,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tdependentDisplayValue,\n\t\tdependentField,\n\t\tdependentFieldLabel,\n\t\tconfigAria,\n\t\tlabel,\n\t\tautofocus,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\tconst messagesContent =\n\t\tArray.isArray(messages) && messages.length\n\t\t\t? ` ${getFormFieldMessagesContent(transformMessages(messages))}`\n\t\t\t: '';\n\n\tconst TextArea = (\n\t\t<sn-record-control-wrapper\n\t\t\tlabel={label}\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tdecorations={decorations}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\thelperContent={helperContent}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\t...(!readonly ? { height: `${height}px` } : {})\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-textarea\n\t\t\t\t\tresize={'none'}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tdisableMaxHeight={true}\n\t\t\t\t\tclassName={'fit-to-parent'}\n\t\t\t\t\tname={name}\n\t\t\t\t\trequired={required}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tautofocus={autofocus}\n\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\ttextarea: {\n\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t'aria-label': `${t(ariaLabel)}${messagesContent}`,\n\t\t\t\t\t\t\trole: 'textbox'\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\t\trows={5}\n\t\t\t\t\tmanage-invalid\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n\n\tconst contentTree = (\n\t\t<div\n\t\t\tclassName={makeClass({\n\t\t\t\t'content-tree-readonly': readonly ? true : false\n\t\t\t})}\n\t\t>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\tdescription={description}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\t\tlabel={t('Select Variables')}\n\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass('content-tree-css-parent', {\n\t\t\t\t\t\t'content-tree-css-parent-resize': true,\n\t\t\t\t\t\t'content-tree-css-border': !stackContainer\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: `${DEFAULT_MAX_HEIGHT}px`,\n\t\t\t\t\t\tminHeight: `${DEFAULT_MIN_HEIGHT}px`,\n\t\t\t\t\t\theight: `${height}px`\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{dependentField && dependentValue ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"content-table-name\">\n\t\t\t\t\t\t\t\t{TABLE} : {dependentDisplayValue}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\t\t\t\t\toverflow={'truncate'}\n\t\t\t\t\t\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\t\t\t\t\t\tsize={'md'}\n\t\t\t\t\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t\t\t\t\t\texpanded-items={expandedItem}\n\t\t\t\t\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\t\t\t\t\tshowDividers={true}\n\t\t\t\t\t\t\t\t\t\tclassName=\"content-tree-css\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${height - 34}px`\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('{0}, Select Variables', ariaLabel)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"content-tree-no-variable\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\theading={{ label: NO_VARIABLES_AVAILABLE, level: 3 }}\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\tdependentField\n\t\t\t\t\t\t\t\t\t\t? t('Select {0}, to add variables.', dependentFieldLabel)\n\t\t\t\t\t\t\t\t\t\t: CONFIGURE_TABLE\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/sn-record-control-wrapper>\n\t\t<\/div>\n\t);\n\n\treturn readonly ? (\n\t\tTextArea\n\t) : (\n\t\t<div className={'email-script-container-resizable'}>\n\t\t\t{stackContainer ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<now-resizable-panes\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdividerStyles={DIVIDER_STYLES}\n\t\t\t\t\t\tdefaultDividerPosition={DEFAULT_DIVIDER_POSITION}\n\t\t\t\t\t\tleft-pane-constraints='{\"minRatio\":40}'\n\t\t\t\t\t\tright-pane-constraints='{\"minRatio\":30}'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div slot=\"left\">{TextArea}<\/div>\n\t\t\t\t\t\t<div slot=\"right\">{contentTree}<\/div>\n\t\t\t\t\t<\/now-resizable-panes>\n\t\t\t\t<\/Fragment>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{TextArea}\n\t\t\t\t\t{contentTree}\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default SnEmailScript;\n\n/**\n * This component allows users text templates which has variables.\n * Email Script Component uses now-textarea along with variable tree picker - now-content-tree.\n *\n * ```jsx\n * <sn-record-email-script\n *\t label={'Text'}\n *\t value='Some Text'\n * />\n * ```\n *\n * @seismicElement sn-record-email-script\n * @summary Email Script Component\n *\n * */\ncreateCustomElement('sn-record-email-script', {\n\tview: withValueChangeCallbacksView(SnEmailScript),\n\tstyles: style,\n\tactionHandlers: actionHandler,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Component Id for the component\n\t\t * @type {string}\n\t\t */\n\t\tcomponentId: {},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Dependent Field Display Value\n\t\t * @type {string}\n\t\t */\n\t\tdependentDisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent field for the variable picker.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Field Label\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Value of the Dependent field\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []],\n\t\theight: DEFAULT_HEIGHT,\n\t\tstackContainer: true\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'SN_RECORD_EMAIL_SCRIPT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'SN_RECORD_EMAIL_SCRIPT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: focusBehavior },\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: { timer: { type: 'debounce', wait: 200 } }\n\t\t}\n\t]\n});\n","import { fitDropdownToViewport, fitDropdownToViewportOld } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_CONNECTED, COMPONENT_RENDERED } = actionTypes;\nexport const HIDE_DROPDOWN = 'FIELD_AND_DROPDOWN#HIDE_DROPDOWN';\n\nexport default {\n    name: 'fieldAndDropdownBehavior',\n    actionHandlers: {\n        [COMPONENT_CONNECTED]: ({updateState}) => {\n            updateState({\n                path: 'dropdownVisible',\n                value: false,\n                operation: 'set',\n                shouldRender: false\n            });\n        },\n        [COMPONENT_RENDERED]: ({\n            host,\n            action: {payload: {previousRenderState, previousRenderProperties, options: {focusProp}}},\n            state,\n            updateState,\n            properties\n        }) => {\n            if (properties.ignoreDropdown) return;\n            let previousDropdown;\n            if ('hasFocus' in state && 'showDropdownWithoutFocus' in properties) {\n                previousDropdown = previousRenderState.hasFocus || previousRenderState.showDropdownWithoutFocus ? previousRenderProperties.dropdown : null\n            } else {\n                previousDropdown = previousRenderProperties.dropdown;\n            }\n            const dropdownWasHidden = !previousDropdown || !previousRenderState[focusProp];\n\n            // Only position dropdown when it first appears; not on every update\n            const dropdownElement = host.shadowRoot.querySelector('.dropdown');\n            if (dropdownWasHidden && dropdownElement) {\n                let dropdownFitter = properties.fallbackDropdownBehavior\n                    ? fitDropdownToViewportOld\n                    : fitDropdownToViewport;\n\n                dropdownFitter(dropdownElement.firstChild, dropdownElement.previousSibling).then(() => {\n                    dropdownElement.style.removeProperty('visibility');\n                    updateState({\n                        path: 'dropdownVisible',\n                        value: true,\n                        operation: 'set',\n                        shouldRender: false\n                    });\n                });\n            } else if (!dropdownElement) {\n                updateState({\n                    path: 'dropdownVisible',\n                    value: false,\n                    operation: 'set',\n                    shouldRender: false\n                });\n            }\n        },\n        [HIDE_DROPDOWN]: ({host, state}) => {\n            if (!state.dropdownVisible) {\n                host.shadowRoot.querySelector('.dropdown').style.setProperty('visibility', 'hidden');\n            }\n        }\n    }\n}","import { isFunction } from 'lodash';\nimport '@devsnc/sn-record-control-wrapper';\nimport makeClass from 'classnames';\n\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { HIDE_DROPDOWN } from './fieldAndDropdownBehavior';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\n/**\n * More specific version of ControlWrapper that should be used for input-like\n * controls (things with the standard textbox shape + bottom border).\n *\n * Dropdown lives here because the rendering gets messed up when\n * the dropdown is not an immediate sibling to the field.\n */\nexport const FieldAndDropdownWrapperSeismic = (props, children) => {\n\tconst controlRef = createRef();\n\tconst setDropdownRef = node => {\n\t\t// Avoid FOUC. Start hidden until we can compute the correct\n\t\t// coordinates in componentDidMount\n\t\tif (node) {\n\t\t\tprops.dispatch(HIDE_DROPDOWN);\n\t\t}\n\n\t\tif (isFunction(props.dropdownRef)) {\n\t\t\tprops.dropdownRef(node);\n\t\t}\n\t};\n\n\tconst onMouseOver = () => {\n\t\tif (controlRef.current) {\n\t\t\tcontrolRef.current.className += ' is-hover';\n\t\t}\n\t};\n\n\tconst onMouseOut = () => {\n\t\tif (controlRef.current) {\n\t\t\tcontrolRef.current.className = controlRef.current.className.replace(\n\t\t\t\t' is-hover',\n\t\t\t\t''\n\t\t\t);\n\t\t}\n\t};\n\n\tlet { role, dropdown } = props;\n\n\treturn (\n\t\t<ControlWrapper {...props}>\n\t\t\t<div\n\t\t\t\tref={controlRef}\n\t\t\t\ton-mouseover={onMouseOver}\n\t\t\t\ton-mouseout={onMouseOut}\n\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t'read-only': isAttrTrue(props.readonly),\n\t\t\t\t\t'is-disabled': isAttrTrue(props.disabled)\n\t\t\t\t})}\n\t\t\t\trole={role}\n\t\t\t\taria-expanded={Boolean(dropdown)}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t<\/div>\n\t\t\t{dropdown && (\n\t\t\t\t<div className=\"dropdown\" ref={setDropdownRef}>\n\t\t\t\t\t{dropdown}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/ControlWrapper>\n\t);\n};\n","import React from 'react';\nimport ControlWrapper from '@devsnc/sn-record-control-wrapper';\nimport makeClass from 'classnames';\n\nimport {\n\tfitDropdownToViewport,\n\tfitDropdownToViewportOld,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\n\n/**\n * More specific version of ControlWrapper that should be used for input-like\n * controls (things with the standard textbox shape + bottom border).\n *\n * Dropdown lives here because the rendering gets messed up when\n * the dropdown is not an immediate sibling to the field.\n */\nexport default class FieldAndDropdownWrapper extends React.Component {\n\tdropdownVisible = false;\n\n\t/**\n\t * Position any newly-created dropdown to fit within the viewport\n\t */\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.ignoreDropdown) return;\n\t\tconst dropdownWasHidden = !prevProps.dropdown || !prevProps.hasFocus;\n\n\t\t// Only position dropdown when it first appears; not on every update\n\t\tif (dropdownWasHidden && this.dropdownElement) {\n\t\t\tlet dropdownFitter = this.props.fallbackDropdownBehavior\n\t\t\t\t? fitDropdownToViewportOld\n\t\t\t\t: fitDropdownToViewport;\n\n\t\t\tdropdownFitter(this.dropdownElement.firstChild, this.target).then(() => {\n\t\t\t\tthis.dropdownElement.style.removeProperty('visibility');\n\t\t\t\tthis.dropdownVisible = true;\n\t\t\t});\n\t\t} else if (!this.dropdownElement) {\n\t\t\tthis.dropdownVisible = false;\n\t\t}\n\t}\n\n\tsetDropdownRef = node => {\n\t\t// Avoid FOUC. Start hidden until we can compute the correct\n\t\t// coordinates in componentDidMount\n\t\tif (node && !this.dropdownVisible) {\n\t\t\tnode.style.setProperty('visibility', 'hidden');\n\t\t}\n\n\t\tthis.dropdownElement = node;\n\n\t\tif (typeof this.props.dropdownRef === 'function') {\n\t\t\tthis.props.dropdownRef(node);\n\t\t}\n\t};\n\n\trender() {\n\t\tlet { role, children, dropdown } = this.props;\n\n\t\treturn (\n\t\t\t<ControlWrapper {...this.props}>\n\t\t\t\t<div\n\t\t\t\t\tref={n => (this.target = n)}\n\t\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t\t'is-hover': this.props.hasHover,\n\t\t\t\t\t\t'read-only': isAttrTrue(this.props.readonly),\n\t\t\t\t\t\t'is-disabled': isAttrTrue(this.props.disabled)\n\t\t\t\t\t})}\n\t\t\t\t\trole={role}\n\t\t\t\t\taria-expanded={Boolean(dropdown)}\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t<\/div>\n\t\t\t\t{dropdown && (\n\t\t\t\t\t<div className=\"dropdown\" ref={this.setDropdownRef}>\n\t\t\t\t\t\t{dropdown}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/ControlWrapper>\n\t\t);\n\t}\n}\n","export { FieldAndDropdownWrapperSeismic } from './FieldAndDropdownWrapper';\nexport { fieldAndDropdownBehavior } from './fieldAndDropdownBehavior';\n\n/*\n * To support backward compatibility for previously exposed react external APIs when upgrade is in progress\n */\nimport FieldAndDropdownWrapper from './legacy-files/FieldAndDropdownWrapperReact';\nexport default FieldAndDropdownWrapper;\n","import { reduce, map, has, filter } from 'lodash';\n/**\n * Creates the initial displayValue for the field based on the list of field labels.\n * For dotwalk fields, it will only take the last field label and not any of the ones of its path.\n * @param {array{string}} labelsWithPaths - labels of the fields, can be like: \"Label1 > Label2\" if dotwalkable\n * @returns A single string with the right labels needed.\n */\nexport const normalizeFieldListDisplayValue = (labelsWithPaths = []) => {\n\tconst FIELD_LIST_DELIM = ' > ';\n\tconst DOT_WALK_PREFIX = '...';\n\tconst DISPLAY_VALUE_SEPARATOR = ', ';\n\tif (labelsWithPaths && labelsWithPaths.length) {\n\t\tconst newDisplayValues = reduce(\n\t\t\tlabelsWithPaths,\n\t\t\t(result, labelPath) => {\n\t\t\t\tif (!labelPath) return result;\n\t\t\t\tconst fieldLabels = labelPath.split(FIELD_LIST_DELIM);\n\t\t\t\tconst singleLabel =\n\t\t\t\t\tfieldLabels.length > 1\n\t\t\t\t\t\t? DOT_WALK_PREFIX.concat(fieldLabels.pop())\n\t\t\t\t\t\t: fieldLabels[0];\n\t\t\t\tresult.push(singleLabel);\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\treturn newDisplayValues.join(DISPLAY_VALUE_SEPARATOR);\n\t} else return '';\n};\n\n/**\n * Creates an array of objects with the field column names and the labels for them.\n * Assumes that the list of string of values is either used to resolve the array given or matches already with the array arg.\n * @param {string} value - ex. \"assigned_to.avatar, assigned_to.city\"\n * @param {Array<string>} displayValuesWithPath - ex. [\"Assigned To > Avatar\", \"Assigned To > City\"]\n * @returns {Array<{id: string, label: string}>}\n * ex. [{id:\"assigned_to.avatar\", label:\"Assigned To > Avatar\"},...]\n */\nexport const getSelectedItems = (value, displayValuesWithPath) => {\n\treturn value && displayValuesWithPath && displayValuesWithPath.length\n\t\t? value.split(',').map((val, idx) => ({\n\t\t\t\tid: val.trim(),\n\t\t\t\tlabel: displayValuesWithPath ? displayValuesWithPath[idx] || val : ''\n\t\t  }))\n\t\t: [];\n};\n\n/**\n * Get Selected Values\n * @param {Array<{id: string, label: string}>} ex. [{id:\"assigned_to.avatar\", label:\"Assigned To > Avatar\"},...]\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * ex. { value:\"assigned_to.avatar, ..\", displayValuesWithPath:[\"Assigned To > Avatar\", ..] }\n */\nexport const getSelectedValues = selectedItems => {\n\tconst items = filter(\n\t\tselectedItems,\n\t\titem => has(item, 'id') && has(item, 'label')\n\t);\n\treturn {\n\t\tvalue: items ? map(items, 'id').join() : '',\n\t\tdisplayValuesWithPath: items ? map(items, 'label') : []\n\t};\n};\n\n// Need an input with readonly functionality but non-readonly CSS as its a display only field\n// and user can hit the slot button to open a popup and set a value via that.\n// As of now in NDS now-input, when we set to readonly it gets a grey background which is deep inside multiple shadow roots\n// Below is added as a workaround. [we cannot use pointerevents as it disables the edit button as well]\nexport const preventManualInput = e => {\n\tif (e && e.key != 'Tab') {\n\t\te.preventDefault();\n\t}\n};\n","import { t } from 'sn-translate';\n\n//MODAL\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\n//FIELD-SELECT\nexport const SELECTED_ITEM_SET = 'SN_SELECT_FIELD#SELECTED_ITEM_SET';\n\n// Button\nexport const ADD_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const EDIT_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// Component\nconst COMPONENT = 'SN_RECORD_FIELD_LIST_CONNECTED';\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n\nexport const CLICK_TO_ADD_LABEL = t('Click to add');\nexport const OPEN_LIST_LABEL = t('Open List');\nexport const OK_LABEL = t('Ok');\nexport const CANCEL_LABEL = t('Cancel');\nexport const MODAL_SUB_HEADER_LABEL = t(\n\t'Select columns and put them in the order you want.'\n);\n\nexport const REQUIRED_STR = t('required');\nexport const OPEN_MODAL_ACTION = 'openModal';\nexport const DEPENDENT_FIELD_VALUE = 'dependentFieldValue';\nexport const LIVE_UPDATE = 'liveUpdate';\n\nexport const FETCH_DISPLAY_COLUMN_DATA = 'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA';\nexport const FETCH_DISPLAY_COLUMN_DATA_SUCCESS =\n\t'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA_SUCCESS';\nexport const FETCH_DISPLAY_COLUMN_DATA_FAILURE =\n\t'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA_FAILURE';\n//GraphQL\nexport const FETCH_DV_DATA = 'FIELD_LIST_FETCH_DV_DATA';\nexport const FETCH_DV_DATA_SUCCESS = 'FIELD_LIST_FETCH_SUCCESS';\nexport const FETCH_DV_DATA_FAILURE = 'FIELD_LIST_FETCH_FAILURE';\nexport const RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameListDataRetriever.fieldGlideList';\n","import { isEqual, isEmpty, isFunction, get } from 'lodash';\n\nimport { t } from 'sn-translate';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tnormalizeFieldListDisplayValue,\n\tgetSelectedItems,\n\tgetSelectedValues\n} from './utils';\nimport { query, tableNameColumnQuery, QUERY_VARIABLE_LIST } from './query';\nimport {\n\tDEPENDENT_FIELD_VALUE,\n\tLIVE_UPDATE,\n\tOPEN_MODAL_ACTION,\n\tVALUE_CHANGED,\n\tFETCH_DISPLAY_COLUMN_DATA,\n\tFETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\tFETCH_DISPLAY_COLUMN_DATA_FAILURE,\n\tFETCH_DV_DATA,\n\tFETCH_DV_DATA_FAILURE,\n\tFETCH_DV_DATA_SUCCESS,\n\tRESULTS_PATH\n} from './constants';\n\nexport const componentBootstrappedEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValuesWithPath }\n\t},\n\tupdateState\n}) => {\n\tconst selectedItems = getSelectedItems(value, displayValuesWithPath);\n\tconst initialDisplayValue = normalizeFieldListDisplayValue(\n\t\tdisplayValuesWithPath\n\t);\n\tupdateState({\n\t\tstateDisplayValue: initialDisplayValue,\n\t\tselectedItems,\n\t\tselectedItemsStaged: selectedItems,\n\t\tstateValue: value\n\t});\n};\n\n//gets called on Modal Close and Modal Cancel Button\nexport const modalClosedEffect = ({\n\tstate: { selectedItems },\n\tupdateState\n}) => {\n\tupdateState({\n\t\topened: false,\n\t\tselectedItemsStaged: selectedItems\n\t});\n};\n\n//called when the OK button is clicked on the Modal\nexport const updateValueEffect = ({\n\tproperties: { name, onValueChange },\n\tstate: { selectedItemsStaged },\n\tdispatch,\n\tupdateState\n}) => {\n\tconst { value, displayValuesWithPath } =\n\t\tgetSelectedValues(selectedItemsStaged);\n\tconst stateDisplayValue = normalizeFieldListDisplayValue(\n\t\tdisplayValuesWithPath\n\t);\n\tupdateState({\n\t\tstateDisplayValue,\n\t\tselectedItems: selectedItemsStaged,\n\t\topened: false,\n\t\tstateValue: value\n\t});\n\tconst payload = {\n\t\tname,\n\t\tvalue,\n\t\tdisplayValue: displayValuesWithPath.join(','),\n\t\titems: selectedItemsStaged\n\t};\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(payload);\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'field-list-connected' }\n\t});\n\n\tdispatch(VALUE_CHANGED, payload);\n};\n\nexport const buttonClickedEffect = ({\n\tstate,\n\tproperties: { disabled, dependentFieldValue, readonly },\n\taction: {\n\t\tpayload: { button }\n\t},\n\tupdateState\n}) => {\n\tconst editable =\n\t\tdependentFieldValue && !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tif (editable && button === OPEN_MODAL_ACTION) {\n\t\tconst { readonly } = state.properties;\n\t\tconst isReadOnly = isAttrTrue(readonly) || isEmpty(dependentFieldValue);\n\n\t\tif (!isReadOnly) {\n\t\t\tupdateState({\n\t\t\t\topened: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const selectionUpdatedEffect = ({ action, updateState }) => {\n\tconst {\n\t\tpayload: { items: selectedItemsStaged }\n\t} = action;\n\tupdateState({\n\t\tselectedItemsStaged\n\t});\n};\n\nexport const fetchDisplayColumnEffect = createGraphQLEffect(\n\ttableNameColumnQuery,\n\t{\n\t\tvariableList: [\n\t\t\t'tableName',\n\t\t\t'referenceFieldTableName',\n\t\t\t'path',\n\t\t\t'allowExtendedFields'\n\t\t],\n\t\tsuccessActionType: FETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DISPLAY_COLUMN_DATA_FAILURE\n\t}\n);\n\nexport const fetchDisplayColumnSuccessEffect = ({\n\tupdateState,\n\taction: { payload },\n\tstate: {\n\t\tproperties: { onValueChange, name }\n\t}\n}) => {\n\tlet results = get(payload, RESULTS_PATH);\n\tconst { tableDisplayColumnValue, tableDisplayColumnLabel } = results[0];\n\tconst selectedItem = [\n\t\t{\n\t\t\tid: tableDisplayColumnValue,\n\t\t\tlabel: tableDisplayColumnLabel\n\t\t}\n\t];\n\tif (tableDisplayColumnValue && tableDisplayColumnLabel) {\n\t\tupdateState({\n\t\t\tstateDisplayValue: tableDisplayColumnLabel,\n\t\t\tselectedItemsStaged: selectedItem,\n\t\t\tselectedItems: selectedItem,\n\t\t\tstateValue: tableDisplayColumnValue\n\t\t});\n\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: tableDisplayColumnValue\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const fetchDisplayColumnFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t},\n\tupdateState\n}) => {\n\tlet errorMessage = t('Unable to fetch Field . Please try again');\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false\n\t});\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\nexport const hasLiveUpdateData = (value1, value2) => {\n\tif (!value1 && !value2) {\n\t\treturn value1 == value2;\n\t}\n\treturn false;\n};\nexport const propertyChangeHandler = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty = '', value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) ||\n\t\t\t!value ||\n\t\t\thasLiveUpdateData(properties.liveUpdate, state.liveUpdate))\n\t) {\n\t\tconst { dependentFieldValue } = state.properties;\n\t\tif (!value) {\n\t\t\t//dont fetch new displayValue if its an empty value. Set modal fields to empty\n\t\t\tupdateState({\n\t\t\t\tstateValue: value,\n\t\t\t\tliveUpdate: properties.liveUpdate,\n\t\t\t\tstateDisplayValue: '',\n\t\t\t\tselectedItems: [],\n\t\t\t\tselectedItemsStaged: []\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdispatch(FETCH_DV_DATA, {\n\t\t\tfieldValue: value,\n\t\t\treferenceFieldTableName: '',\n\t\t\ttableName: dependentFieldValue,\n\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t});\n\t\tupdateState({ stateValue: value, stateDisplayValue: t('Loading...') });\n\t} else if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tconst { dependentFieldValue } = state.properties;\n\t\tconst { value: liveUpdateFieldValue } = value; //see liveUpdate prop schema\n\n\t\tif (!liveUpdateFieldValue) {\n\t\t\t//dont fetch new displayValue if its an empty value. Set modal fields to empty\n\t\t\tupdateState({\n\t\t\t\tstateValue: liveUpdateFieldValue,\n\t\t\t\tliveUpdate: value,\n\t\t\t\tstateDisplayValue: '',\n\t\t\t\tselectedItems: [],\n\t\t\t\tselectedItemsStaged: []\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdispatch(FETCH_DV_DATA, {\n\t\t\tfieldValue: liveUpdateFieldValue,\n\t\t\treferenceFieldTableName: '',\n\t\t\ttableName: dependentFieldValue,\n\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t});\n\t\tupdateState({\n\t\t\tstateValue: liveUpdateFieldValue,\n\t\t\tliveUpdate: value,\n\t\t\tstateDisplayValue: t('Loading...')\n\t\t});\n\t} else if (DEPENDENT_FIELD_VALUE === updatedProperty) {\n\t\tconst {\n\t\t\tonValueChange,\n\t\t\tdependentFieldValue,\n\t\t\treadonly,\n\t\t\tshowTableDefaultDisplayColumn\n\t\t} = state.properties;\n\t\tconst isDependentValueEmpty = isEmpty(dependentFieldValue);\n\t\tif (\n\t\t\tonValueChange &&\n\t\t\t!isAttrTrue(readonly) &&\n\t\t\tshowTableDefaultDisplayColumn &&\n\t\t\t!isDependentValueEmpty\n\t\t) {\n\t\t\tconst payload = {\n\t\t\t\treferenceFieldTableName: dependentFieldValue,\n\t\t\t\ttableName: dependentFieldValue,\n\t\t\t\tpath: '',\n\t\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t\t};\n\t\t\tdispatch(FETCH_DISPLAY_COLUMN_DATA, payload);\n\t\t}\n\t}\n};\n\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: QUERY_VARIABLE_LIST,\n\tsuccessActionType: FETCH_DV_DATA_SUCCESS,\n\terrorActionType: FETCH_DV_DATA_FAILURE\n});\n\nexport const fetchSuccessEffect = ({\n\taction: { payload },\n\tupdateState,\n\tstate: { stateValue }\n}) => {\n\tconst results = get(payload, RESULTS_PATH);\n\tconst { displayValue = '' } = results ? results[0] : {};\n\tconst labels = displayValue.split(', ');\n\tconst selectedItems = getSelectedItems(stateValue, labels);\n\tconst normDisplayValue = normalizeFieldListDisplayValue(labels);\n\n\tupdateState({\n\t\tstateDisplayValue: normDisplayValue,\n\t\tselectedItemsStaged: selectedItems,\n\t\tselectedItems\n\t});\n};\n\nexport const fetchFailureEffect = ({ state, updateState }) => {\n\tupdateState({ stateDisplayValue: state.value });\n};\n","export const tableNameColumnQuery = `query ($tableName: String!, $referenceFieldTableName: String!, $allowExtendedFields: Boolean) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName, allowExtendedFields: $allowExtendedFields) {\n\t\tfieldGlideList {\n\t\t  tableName\n\t\t  tableDisplayColumnValue\n\t\t  tableDisplayColumnLabel\n\t\t}\n\t}\n  }\n}`;\n\nexport const query = `query ($tableName: String!, $referenceFieldTableName: String!, $fieldValue: String!, $allowExtendedFields: Boolean) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName, fieldValue: $fieldValue, allowExtendedFields: $allowExtendedFields) {\n\t\tfieldGlideList {\n\t\t  displayValue\n\t\t}\n\t  }\n\t}\n  }\n\t`;\n\nexport const QUERY_VARIABLE_LIST = [\n\t'tableName',\n\t'fieldValue',\n\t'referenceFieldTableName',\n\t'allowExtendedFields'\n];\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport {\n\tmodalClosedEffect,\n\tbuttonClickedEffect,\n\tcomponentBootstrappedEffect,\n\tupdateValueEffect,\n\tpropertyChangeHandler,\n\tselectionUpdatedEffect,\n\tfetchDisplayColumnEffect,\n\tfetchDisplayColumnSuccessEffect,\n\tfetchDisplayColumnFailureEffect,\n\tfetchEffect,\n\tfetchSuccessEffect,\n\tfetchFailureEffect\n} from './effects';\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tADD_BUTTON_CLICKED,\n\tEDIT_BUTTON_CLICKED,\n\tUPDATE_VALUE,\n\tSELECTED_ITEM_SET,\n\tFETCH_DISPLAY_COLUMN_DATA,\n\tFETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\tFETCH_DISPLAY_COLUMN_DATA_FAILURE,\n\tFETCH_DV_DATA,\n\tFETCH_DV_DATA_SUCCESS,\n\tFETCH_DV_DATA_FAILURE\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: propertyChangeHandler,\n\t[UPDATE_VALUE]: {\n\t\teffect: updateValueEffect,\n\t\tstopPropagation: true\n\t},\n\t[ADD_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EDIT_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: modalClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[SELECTED_ITEM_SET]: {\n\t\teffect: selectionUpdatedEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA]: {\n\t\teffect: effectProxy(fetchDisplayColumnEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA_SUCCESS]: {\n\t\teffect: fetchDisplayColumnSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA_FAILURE]: {\n\t\teffect: fetchDisplayColumnFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA]: {\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\n// Component\nconst COMPONENT = 'SN_SELECT_FIELD';\nexport const SELECTED_ITEM_SET = `${COMPONENT}#SELECTED_ITEM_SET`;\n\nexport const SELECTED_ITEMS_ID_SEPERATOR = '.';\nexport const SELECTED_ITEMS_LABEL_SEPARATOR = '>';\n\nexport const AVAILABLE_LABEL = t('Available columns');\nexport const SELECTED_LABEL = t('Selected columns');\n\nexport const TABLE_NAME = 'tableName';\nexport const SELECTED_ITEMS = 'selectedItems';\n\n//List selector\nexport const TABLE_DESCRIPTION = 'tableDescription';\nexport const LIST_SELECTOR_SELECTED_ITEM_SET =\n\t'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\n","import {\n\tSELECTED_ITEMS_ID_SEPERATOR,\n\tSELECTED_ITEMS_LABEL_SEPARATOR\n} from './constants';\n\n/**\n * Generate an item object to be added to selected items list\n * selected element format is an object with id and label and tooltip\n * label format is: ... > zzz\n * tooltip format is: xxx > yyy > zzz\n * id format is: xxx.yyy.zzz\n *\n * @param {array} ids - a list of ids which are the ids of all the items in the selected item path\n * @param {array} labels - a list of labels of all the items in the selected item path\n * @returns {{tooltipText, id, label: (string|*)}}\n */\nconst generateSelectedItemObject = (ids, labels) => ({\n\tid: ids.join(SELECTED_ITEMS_ID_SEPERATOR),\n\tlabel: labels.join(SELECTED_ITEMS_LABEL_SEPARATOR)\n});\n\n/**\n * Convert input selectedItems to selectedBucket input format and availableItemsSelected format\n * input format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * output format: <array<{id, label}>>\n *     [{id: 'item1.item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {array} selectedItems\n * @returns {array}\n */\nexport const convertSelectedItemsToStateFormat = selectedItems => {\n\tif (!selectedItems) return [];\n\n\tconst items = [];\n\n\tselectedItems.forEach(itemsPath => {\n\t\tconst ids = [];\n\t\tconst labels = [];\n\t\titemsPath.forEach(item => {\n\t\t\tids.push(item.id);\n\t\t\tlabels.push(item.label);\n\t\t});\n\t\t// selected bucket element format is a list of objects with id and label\n\t\t// label format is: ... > zzz\n\t\t// tooltip format is: xxx > yyy > zzz\n\t\t// id format is: xxx.yyy.zzz\n\t\tconst item = generateSelectedItemObject(ids, labels);\n\t\titems.push(item);\n\t});\n\n\treturn items;\n};\n\n/**\n * Convert selected items to event payload format\n * @param {Array<{id: string, label: string}>} selectedItems\n * @returns {Array<Array<{id: string, label: string}>>}\n * @example\n * // Input: [{id: 'item1.item2', label: 'Item 1 > Item 2'}]\n * // Output: [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}]]\n *\n * // Input: [{id: 'ref_incident.active', label: 'Active'}]\n * // Output: [[{id: 'ref_incident', label: 'Active'}, {id: 'active', label: ''}]]\n */\nexport const convertSelectedItemsToEventFormat = selectedItems =>\n\tselectedItems.map(({ id, label }) => {\n\t\tconst ids = id.split(SELECTED_ITEMS_ID_SEPERATOR);\n\t\tconst labels = label\n\t\t\t.split(SELECTED_ITEMS_LABEL_SEPARATOR)\n\t\t\t.map(label => label.trim());\n\n\t\tif (id.startsWith('ref_')) {\n\t\t\tconst [ref_prefix, columnName, ...rest] = ids;\n\t\t\treturn [\n\t\t\t\t{ id: `${ref_prefix}.${columnName}`, label: labels[0] },\n\t\t\t\t...rest.map((id, i) => ({\n\t\t\t\t\tid,\n\t\t\t\t\tlabel: labels[i + 1] || ''\n\t\t\t\t}))\n\t\t\t];\n\t\t}\n\n\t\treturn ids.map((id, i) => ({\n\t\t\tid,\n\t\t\tlabel: labels[i] || ''\n\t\t}));\n\t});\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tcomponentBootstrappedEffect,\n\tlistSelectorSelectedItemSetEffect,\n\tpropertyChangedEffect\n} from './effects';\n\nimport {\n\tLIST_SELECTOR_SELECTED_ITEM_SET\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[LIST_SELECTOR_SELECTED_ITEM_SET]: {\n\t\teffect: listSelectorSelectedItemSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { convertSelectedItemsToStateFormat } from './utils';\nimport {\n\tTABLE_NAME,\n\tSELECTED_ITEMS,\n\tSELECTED_ITEM_SET\n} from './constants';\n\n\nexport const componentBootstrappedEffect = ({ state, updateState }) => {\n\tlet { tableName, referringTable } = state.properties;\n\tupdateState({\n\t\ttableName: referringTable || tableName\n\t});\n};\n\nexport const propertyChangedEffect = ({ state, action, updateState }) => {\n\tconst {\n\t\tpayload: { name: updatedProperty, value }\n\t} = action;\n\tif (updatedProperty) {\n\t\tif (updatedProperty === TABLE_NAME) {\n\t\t\tlet { referringTable } = state.properties;\n\t\t\tconst tableName = value;\n\t\t\tupdateState({\n\t\t\t\ttableName: referringTable || tableName\n\t\t\t})\n\t\t}\n\t\tif(updatedProperty === SELECTED_ITEMS) {\n\t\t\tupdateState({\n\t\t\t\tselectedItems: convertSelectedItemsToStateFormat(value)\n\t\t\t})\n\t\t}\n\t}\n};\n\nexport const listSelectorSelectedItemSetEffect = ({action, state, updateState, dispatch}) => {\n\tconst { payload } = action;\n\tconsole.log(payload);\n\tconst { name } = state.properties;\n\tconst updatedSelectedItems = convertSelectedItemsToStateFormat(payload);\n\tupdateState({\n\t\tselectedItems: [...updatedSelectedItems]\n\t})\n\n\tconst newPayload = {\n\t\tname,\n\t\titems: [...updatedSelectedItems]\n\t}\n\tdispatch(SELECTED_ITEM_SET, newPayload);\n\tdispatch('TRACK', {\n\t\tmetadata: {\n\t\t\tname,\n\t\t\tfieldType: 'sn-field-select'\n\t\t}\n\t});\n};\n\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport actionHandlers from './actionHandlers';\nimport view from './view';\nimport styles from './style.scss';\n\n/**\n *\n * This component allows to choose a list of fields on a Table via a slush bucket.\n *\n * ```jsx\n * <div>\n *\t <sn-field-select\n *\t\ttableName=\"incident\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-field-select\n * @summary Component to handle field selection via a slush bucket.\n *\n */\n\ncreateCustomElement('sn-field-select', {\n\tview,\n\tstyles,\n\tsetInitialState({ properties: { selectedItems } }) {\n\t\treturn {\n\t\t\tselectedItems\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * If true, a tree is displayed to select from, that includes reference fields so we can dot-walk.\n\t\t */\n\t\tallowDotWalking: { schema: { type: 'boolean' }, default: false },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * This is the table for the record that has the field in it.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Table from where the fields needs to be displayed\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Search Behaviour of the component, it can be either 'contains' or 'initial', default value is contains.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\n\t\tsearch: { schema: { type: 'string' }, default: 'contains' },\n\n\t\t/**\n\t\t * Flag to include sysId in list of fields shown\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tincludeSysId: { schema: { type: 'boolean' }, required: false },\n\n\t\t/**\n\t\t * selectedItems - list of selected fields\n\t\t *\n\t\t *  @type {Array<{id: string, label: string}>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\t\tlabel: { type: 'string' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tallowExtendedFields: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on change of selected fields.\n\t\t * @type {{ name: string, items: Array<string>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_SELECT_FIELD#SELECTED_ITEM_SET': {}\n\t}\n});\n","import '@devsnc/sn-list-selector';\nimport { convertSelectedItemsToEventFormat } from './utils';\nimport {\n\tAVAILABLE_LABEL,\n\tSELECTED_LABEL,\n\tTABLE_DESCRIPTION\n} from './constants';\n\nexport default state => {\n\tconst {\n\t\tproperties: {\n\t\t\tallowDotWalking,\n\t\t\tincludeSysId,\n\t\t\ttableName,\n\t\t\tsearch,\n\t\t\tallowExtendedFields\n\t\t},\n\t\tselectedItems\n\t} = state;\n\treturn (\n\t\t<div className=\"list-selector-container\">\n\t\t\t<sn-list-selector\n\t\t\t\tallowDotWalking={allowDotWalking}\n\t\t\t\tavailableLabel={AVAILABLE_LABEL}\n\t\t\t\tincludeSysId={includeSysId}\n\t\t\t\tmode={TABLE_DESCRIPTION}\n\t\t\t\tselectedItems={convertSelectedItemsToEventFormat(selectedItems)}\n\t\t\t\tselectedLabel={SELECTED_LABEL}\n\t\t\t\ttable-name={tableName}\n\t\t\t\tsearch={search}\n\t\t\t\tshowExtendedFields={allowExtendedFields}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport styles from './style.scss';\nimport view from './view';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n *\n * This component allows to choose a list of fields on a dependent Table via a slush bucket.\n *\n * ```jsx\n * <div>\n *\t <sn-record-field-list-connected\n *\t\tlabel=\"Field List Label\"\n *\t\tdependentFieldValue=\"cmdb_ci_lb_ace\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-field-list-connected\n * @summary Component to handle glide_list field type that handles entry for a list of a given table's fields..\n *\n */\n\ncreateCustomElement('sn-record-field-list-connected', {\n\tview,\n\tinitialState: {\n\t\tstateValue: '',\n\t\tstateDisplayValue: '',\n\t\tselectedItems: [],\n\t\tselectedItemsStaged: [],\n\t\tmodalOpened: false\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Label of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, required: true },\n\t\t/**\n\t\t * Name of the table to show fields for.\n\t\t */\n\t\tdependentFieldValue: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The label for the column of the table used as the display value\n\t\t */\n\t\tdisplayColumnLabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The column database name\n\t\t */\n\t\tdisplayColumnName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array containing the labels for the fields currently set in value\n\t\t * Ex. [\"Label1\", \"Label2 > DotWalkLabel1 > DotwalkLabel2\", \"Label3\"]\n\t\t */\n\t\tdisplayValuesWithPath: { schema: { type: 'array' }, default: [] },\n\t\t/**\n\t\t * When true, the fields have a option to be dotwalked\n\t\t * @type {boolean}\n\t\t */\n\t\tallowDotWalking: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * When true, sys id field will be included in list of fields\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeSysId: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field list will show the dependent table's default display column (ex. Incident => Number, sys_user => Name)\n\t\t * @type {boolean}\n\t\t */\n\t\tshowTableDefaultDisplayColumn: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * If invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tlabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\n\t\t/**\n\t\t * This is the table for the record that has the field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * Underlying data for the field.\n\t\t * Comma separatered column names.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * DisplayValue for current component. Comma separated list of column labels.\n\t\t * Matching the order of the fields from value\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tallowExtendedFields: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, items: Array<{id: string, label: string}>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_FIELD_LIST_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\n\nimport {\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tpushInfoMessageForDependentFields,\n\tisFieldEditableAndDependentFieldValueSet\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-field-select';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tCLICK_TO_ADD_LABEL,\n\tOPEN_LIST_LABEL,\n\tOK_LABEL,\n\tCANCEL_LABEL,\n\tOPEN_MODAL_ACTION,\n\tMODAL_SUB_HEADER_LABEL,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tREQUIRED_STR\n} from './constants';\nimport { preventManualInput } from './utils';\n\nexport default state => {\n\tconst {\n\t\tstateDisplayValue,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\thelperContent,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tname,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\tdependentFieldValue,\n\t\t\tdependentFieldLabel,\n\t\t\tincludeSysId,\n\t\t\tallowDotWalking,\n\t\t\tallowExtendedFields,\n\t\t\tfieldLayout,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t},\n\t\tselectedItemsStaged,\n\t\topened = false\n\t} = state;\n\n\tconst editable =\n\t\tdependentFieldValue && !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tconst count = stateDisplayValue ? stateDisplayValue.split(',').length : 0;\n\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentFieldValue,\n\t\tdependentFieldLabel\n\t);\n\n\tlet { messages = [] } = state.properties;\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t}\n\tconst attrs = {\n\t\tautofocus: isAttrTrue(autofocus),\n\t\tlabel,\n\t\tdisabled: isAttrTrue(disabled),\n\t\thelperContent: wrapHelperContent(helperContent),\n\t\tinvalid: invalid || Boolean(error),\n\t\tmessages: transformMessages(messages),\n\t\tname,\n\t\treadonly: true,\n\t\trequired: isAttrTrue(required),\n\t\tfieldLayout: fieldLayout,\n\t\twrapLabel\n\t};\n\n\tconst showAddLink =\n\t\t!isAttrTrue(readonly) && (!dependentFieldValue || !stateDisplayValue);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showAddLink ? (\n\t\t\t\t<sn-record-control-wrapper\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tmessages={messages}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tdisabled={attrs.disabled || !editable}\n\t\t\t\t\t\tlabel={CLICK_TO_ADD_LABEL}\n\t\t\t\t\t\ticon-start=\"pencil-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': `${CLICK_TO_ADD_LABEL}, ${\n\t\t\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\n\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t<\/sn-record-control-wrapper>\n\t\t\t) : (\n\t\t\t\t<now-input\n\t\t\t\t\t{...attrs}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\tvalue={stateDisplayValue}\n\t\t\t\t\tmanage-value\n\t\t\t\t\tmanage-invalid\n\t\t\t\t\ton-paste={preventManualInput}\n\t\t\t\t\ton-keydown={preventManualInput}\n\t\t\t\t\ton-cut={preventManualInput}\n\t\t\t\t\ton-mousedown={preventManualInput}\n\t\t\t\t>\n\t\t\t\t\t{count ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-readonly': isAttrTrue(readonly)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t({count})\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{editable ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltip-content={OPEN_LIST_LABEL}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': OPEN_LIST_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\t\t//To prevent parent now-input's on-keydown from intercepting the event\n\t\t\t\t\t\t\ton-keydown={e => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDecorations(state.properties)}\n\t\t\t\t<\/now-input>\n\t\t\t)}\n\n\t\t\t<now-modal\n\t\t\t\tsize=\"lg\"\n\t\t\t\tfooterActions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: OK_LABEL,\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: CANCEL_LABEL,\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\theader-label={label}\n\t\t\t\topened={opened}\n\t\t\t>\n\t\t\t\t<div className=\"field-list-container\">\n\t\t\t\t\t<div className=\"header\">{MODAL_SUB_HEADER_LABEL}<\/div>\n\t\t\t\t\t{opened ? (\n\t\t\t\t\t\t<sn-field-select\n\t\t\t\t\t\t\tname=\"fieldList\"\n\t\t\t\t\t\t\tallowDotWalking={allowDotWalking}\n\t\t\t\t\t\t\ttableName={dependentFieldValue}\n\t\t\t\t\t\t\tselectedItems={selectedItemsStaged}\n\t\t\t\t\t\t\tincludeSysId={includeSysId}\n\t\t\t\t\t\t\tallowExtendedFields={allowExtendedFields}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/now-modal>\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isFunction, find, get } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tSUGGESTION_PREFIX\n} from '@devsnc/sn-controls-common';\n\nexport const actionHandlers = {\n\t'NOW_TYPEAHEAD#VALUE_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch\n\t}) => {\n\t\tconst { value, actionSource } = action.payload;\n\t\tconst { name, onChange, onStagedValueChange } = properties;\n\n\t\t// faking event because app teams are expecting event as param with some properties in OnChange callback\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\tvalue,\n\t\t\t\tactionSource\n\t\t\t},\n\t\t\tpersist: () => {\n\t\t\t\treturn;\n\t\t\t},\n\t\t\tstopPropagation: () => {\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\tif (isFunction(onStagedValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onStagedValueChange)({ value });\n\t\t}\n\t\tdispatch('NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED', {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tevent\n\t\t});\n\n\t\tif (isFunction(onChange)) {\n\t\t\tonChange(event);\n\t\t} else {\n\t\t\tupdateProperties({ value });\n\t\t}\n\n\t\tupdateState({ currentDisplayValue: value });\n\t\taction.stopPropagation();\n\t},\n\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { value: itemValue, item } = action.payload;\n\t\tconst {\n\t\t\tname,\n\t\t\tonValueChange,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tdisableTracking,\n\t\t\tsuggestedOptions\n\t\t} = properties;\n\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\t\tconst value = itemValue?.replace(suggestionPrefix, '');\n\n\t\tif (value) {\n\t\t\tconst suggestions = (suggestedOptions.children || []).map(\n\t\t\t\t({ id, label }) => ({\n\t\t\t\t\tvalue: id.replace(suggestionPrefix, ''),\n\t\t\t\t\tdisplayValue: label\n\t\t\t\t})\n\t\t\t);\n\t\t\t//Handle Value Changes on selecting an item from the dropdown\n\t\t\tlet selectedOption = find([...options, ...recents, ...suggestions], {\n\t\t\t\tvalue: value\n\t\t\t});\n\t\t\tconst itemDisplayValue = get(selectedOption, 'displayValue');\n\t\t\tconst referenceSysId = get(selectedOption, 'optionSysId');\n\t\t\tconst secondaryData = get(selectedOption, 'secondary');\n\n\t\t\tif (itemDisplayValue || itemDisplayValue === '') {\n\t\t\t\tupdateState({ currentDisplayValue: itemDisplayValue });\n\n\t\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: itemDisplayValue,\n\t\t\t\t\t\tadditionalInfo: { referenceSysId, secondaryData }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// Update selectedItem to value so NDS typeahead know value is set and not to trigger a invalid state\n\t\t\t\t\tupdateProperties({ value: itemDisplayValue, selectedItem: value });\n\t\t\t\t}\n\n\t\t\t\t// set timeout to ensure staged value change dispatches before value change\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#VALUE_CHANGED', {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: itemDisplayValue,\n\t\t\t\t\t\tadditionalInfo: { referenceSysId, secondaryData }\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\t\tmetaData: { name: name, fieldType: 'typeahead' },\n\t\t\t\t\t\tadditionalOptions: { ...item, parentHandling: disableTracking }\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t} else {\n\t\t\t// set timeout to ensure staged value change dispatches before value change\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#INTERNAL_VALUE_CHANGE', {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t}, 0);\n\t\t\tupdateProperties({ selectedItem: value });\n\t\t}\n\t\taction.stopPropagation();\n\t},\n\n\t'NOW_RECORD_TYPEAHEAD#INTERNAL_VALUE_CHANGE': {\n\t\tstopPropagation: true,\n\t\teffect: ({ dispatch, state, action }) => {\n\t\t\tconst { value, name } = action.payload;\n\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#VALUE_CHANGED', {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue: state.currentDisplayValue\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD#INTERACTION_FINISHED': ({ updateState, properties }) => {\n\t\tconst { onBlur } = properties;\n\t\tif (isFunction(onBlur)) {\n\t\t\tonBlur(event);\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: false\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_POPOVER#CONTENT_VISIBLE': ({ updateState, state }) => {\n\t\tconst { onClick } = state.properties;\n\t\tconst { initialSearchComplete } = state;\n\t\tif (isFunction(onClick) && !initialSearchComplete) {\n\t\t\tonClick();\n\t\t\t// This is done to prevent re-searching when popover opens again\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: true\n\t\t\t});\n\t\t}\n\t}\n};\n","import { isEmpty, toString, isNil, isNumber, filter, isObject } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport '@devsnc/sn-declarative-actions';\n\nimport { createCustomElement, nowPriorityLevels } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-typeahead';\n// Function imports\nimport {\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\ttransformMessages,\n\tgetMatchesCount,\n\tescapeSeismicSpecialSymbols,\n\ttrackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-recommendations-helper';\nimport { actionHandlers } from './actionHandlers';\n\n// Style imports\nimport style from './reference.scss';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const makeItemsObject = (\n\toptions,\n\theaderMessage,\n\tsecondaryLabelDelimiter,\n\tmeta\n) => {\n\treturn {\n\t\tlabel: headerMessage,\n\t\tchildren: options.map(option => {\n\t\t\treturn {\n\t\t\t\tid: option.value,\n\t\t\t\tlabel: option.displayValue || t('(empty)'),\n\t\t\t\toptionSysId: option.optionSysId,\n\t\t\t\t...meta,\n\t\t\t\tsublabel: filter(option.secondary)\n\t\t\t\t\t.map(secondaryValue => {\n\t\t\t\t\t\tif (isObject(secondaryValue)) {\n\t\t\t\t\t\t\treturn secondaryValue.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn secondaryValue;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\n\t\t\t\t\t\tsecondaryLabelDelimiter !== undefined\n\t\t\t\t\t\t\t? secondaryLabelDelimiter\n\t\t\t\t\t\t\t: ' | '\n\t\t\t\t\t)\n\t\t\t};\n\t\t})\n\t};\n};\n\n/**\n * Reference fields allow users to select a value from a dynamic list of\n * choices. Unlike a reference list, a user cannot select multiple values.\n */\nconst NowTypeahead = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\tname,\n\t\t\treadonly,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\tinvalid,\n\t\t\trequired,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tsuggestedOptions,\n\t\t\tautofocus,\n\t\t\tconfigMessages,\n\t\t\tloading,\n\t\t\ttotalMatchesCount,\n\t\t\tsecondaryLabelDelimiter,\n\t\t\tformData,\n\t\t\tdAProps,\n\t\t\tdisabled,\n\t\t\tloadingMessage,\n\t\t\tmaxSearchMatches,\n\t\t\tsearch,\n\t\t\tselectedItem,\n\t\t\thelperContent,\n\t\t\tconfigAria,\n\t\t\thighlightedValue,\n\t\t\tfieldLayout,\n\t\t\tsize,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tconst { totalMatchesCountHeaderMessage } = getConfigMessages(\n\t\tproperties,\n\t\tconfigMessages\n\t);\n\tconst value = toString(properties.value);\n\n\tconst totalMatchesCountHeaderMSG = getHeaderMessage(\n\t\ttotalMatchesCountHeaderMessage,\n\t\toptions,\n\t\ttotalMatchesCount,\n\t\tmaxSearchMatches,\n\t\tsearch,\n\t\tvalue\n\t);\n\n\tconst recentItems = isEmpty(recents)\n\t\t? {}\n\t\t: makeItemsObject(recents, t('Recent Selections'), secondaryLabelDelimiter);\n\tconst searchItems = isEmpty(options)\n\t\t? {}\n\t\t: makeItemsObject(\n\t\t\t\toptions,\n\t\t\t\ttotalMatchesCountHeaderMSG,\n\t\t\t\tsecondaryLabelDelimiter\n\t\t\t);\n\n\tconst optionsNew = [suggestedOptions, recentItems, searchItems].filter(\n\t\tobj => !isEmpty(obj)\n\t);\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\t// Pass typeahead's current value to declarative action model if reference is not set\n\tconst chars = !dAProps?.referenceSysId && value ? value : '**';\n\n\treturn (\n\t\t<now-typeahead\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}'),\n\t\t\t\t\t'aria-invalid': toString(invalid)\n\t\t\t\t},\n\t\t\t\tpanel: {\n\t\t\t\t\t'aria-live': 'polite'\n\t\t\t\t}\n\t\t\t}}\n\t\t\tname={name + '_input'}\n\t\t\titems={\n\t\t\t\tloading\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: loadingMessage || t('Searching...'),\n\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: optionsNew\n\t\t\t}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tvalue={\n\t\t\t\t!value && isAttrTrue(readonly)\n\t\t\t\t\t? '—'\n\t\t\t\t\t: escapeSeismicSpecialSymbols(value)\n\t\t\t}\n\t\t\trequired={required}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tinvalid={invalid}\n\t\t\tmanageInvalid\n\t\t\tautofocus={autofocus}\n\t\t\tmanageSelectedItem={true}\n\t\t\thelperContent={helperContent || description}\n\t\t\t// now-typeahead does triple equal check for selected item being null\n\t\t\t// before dispatching selected_item_set. This ensures we only pass null\n\t\t\t// to prevent any dispatches for values such as empty string or undefined\n\t\t\tselectedItem={selectedItem || null}\n\t\t\t// this prop was added if user doesn't want to implement filtering logic\n\t\t\t// it accepts value \"initial\" for showing items that begins with input value\n\t\t\t// it accepts value \"contains\" for showing items that contains input value\n\t\t\tsearch={search}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsize={size}\n\t\t>\n\t\t\t{dAProps ? (\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tnow-priority={nowPriorityLevels.LOW}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={{ ...dAProps, chars }}\n\t\t\t\t\tactions={dAProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tfetchDeclarativeActions={dAProps.fetchDeclarativeActions}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-typeahead>\n\t);\n};\n\nexport function getHeaderMessage(\n\ttotalMatchesCountHeaderMessage,\n\toptions,\n\ttotalMatchesCount,\n\tmaxSearchMatches,\n\tsearch,\n\tvalue\n) {\n\tlet totalMatchesCountHeaderMSG;\n\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t} else if (isNumber(totalMatchesCount)) {\n\t\ttotalMatchesCountHeaderMSG =\n\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t? t('Showing 1-{0} of more than {1}', options.length, maxSearchMatches)\n\t\t\t\t: t('Showing 1-{0} of {1}', options.length, totalMatchesCount);\n\t} else if (search === 'initial' || search === 'contains') {\n\t\tconst resultsCount = getMatchesCount(options, search, value);\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\tresultsCount,\n\t\t\tresultsCount\n\t\t);\n\t} else {\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\toptions.length,\n\t\t\toptions.length\n\t\t);\n\t}\n\n\treturn totalMatchesCountHeaderMSG;\n}\n\nexport function getConfigMessages(props, config = {}) {\n\treturn [\n\t\t'loadingMessage',\n\t\t'totalMatchesCountHeaderMessage',\n\t\t'noResultsFoundMessaged'\n\t].reduce(\n\t\t(prev, name) => ({ ...prev, [name]: config[name] || props[name] }),\n\t\t{}\n\t);\n}\n\nNowTypeahead.style = style;\n\n/**\n *\n * Typeahead component that displays values off a given list.\n *\n * ```jsx\n * <Fragment>\n * \t<now-record-typeahead\n * \t\tvalue={\"...\"}\n * \t\toptions={[{\n * \t\t\tvalue: 'VALUE 1'\n * \t\t\tsecondary: [\n * \t\t\t\t{\n * \t\t\t\t\tvalue: 'VIP',\n * \t\t\t\t\tstatus: 'positive',\n * \t\t\t\t\tisHighlighted: 'true',\n * \t\t\t\t\tshowIcon: true\n * \t\t\t\t},\n * \t\t\t\t'test'\n * \t\t\t],\n * \t\t\tdisplayValue: 'VALUE 1 - VIP'\n * \t\t}]}\n * \t/>\n * <\/Fragment>\n * ```\n *\n * @seismicElement now-record-typeahead\n * @summary Typeahead Component\n *\n * */\ncreateCustomElement('now-record-typeahead', {\n\tview: withValueChangeCallbacksView(NowTypeahead),\n\tinitialState: { initialSearchComplete: false },\n\tstyles: style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Configure the messages that the typeahead use.\n\t\t *\n\t\t * `type:string` loadingMessage - Message to show when the search results are being loaded.\n\t\t *\n\t\t * `type:string` totalMatchesCountHeaderMessage - Header message that'll show up on the total count dropdown group.\n\t\t *\n\t\t * `type:string` noResultsFoundMessage - Message to show when no results are found.\n\t\t *\n\t\t * @type {{loadingMessage: string, totalMatchesCountHeaderMessage: string, noResultsFoundMessage: string }}\n\t\t */\n\t\tconfigMessages: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * This is value of currently selected item.This is used as id in NDS now-typeahead\n\t\t * @type {string}\n\t\t */\n\t\tselectedItem: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Flag to indicate the options are in a loding state\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tloading: { default: false },\n\t\t/**\n\t\t * Message to show when the search results are being loaded\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tloadingMessage: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonClick: {},\n\t\t/**\n\t\t * onEnter event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Array of options that represent valid choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\toptions: { default: [] },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Array of options that represent recent choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\trecents: { default: [] },\n\t\t/**\n\t\t * options that represent suggested items\n\t\t * @type {{\n\t\t * \t\t\t type: \"object\",\n\t\t * \t\t\t properties: {\n\t\t * \t\t\t \t suggestedOptions: {\n\t\t * \t\t\t \t \ttype: \"object\",\n\t\t * \t\t\t \t \tproperties: {\n\t\t * \t\t\t \t \t    label: {type: string},\n\t\t * \t\t\t \t \t    children: [{id: {type: string}, label: {type: string}}]\n\t\t * \t\t\t \t \t}\n\t\t * \t\t\t \t }\n\t\t * \t\t\t }\n\t\t * \t\t }}\n\t\t */\n\t\tsuggestedOptions: { default: {} },\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: false },\n\t\t/**\n\t\t * Optional delimiter for secondary labels in options\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryLabelDelimiter: {},\n\t\t/**\n\t\t * Number of all possible matches for the given value, ignoring pagination\n\t\t * @type {number}\n\t\t */\n\t\ttotalMatchesCount: {},\n\t\t/**\n\t\t * Header message that'll show up on the total count dropdown group\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttotalMatchesCountHeaderMessage: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdAProps: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): no filtering will happen. Use this if you want to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": items whose label or sublabel begins with the\n\t\t *   input value will be displayed. This is case-insensitive.\n\t\t * - \"contains\": items whose label or sublabel contains the input value\n\t\t *   will be displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t */\n\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: { type: 'string', enum: ['managed', 'initial', 'contains'] }\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdisableTracking: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user has changed the input and wishes to run a query.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new value is selected.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default NowTypeahead;\n","import { isFunction, uniqBy } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tSUGGESTION_PREFIX,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\n\nconst dispatchValueChanged = (\n\tname,\n\tdispatch,\n\tonValueChange,\n\titems,\n\tupdateProperties\n) => {\n\tif (items) {\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tvalue: uniqBy(items, 'value')\n\t\t\t});\n\t\t} else {\n\t\t\tupdateProperties({ pills: uniqBy(items, 'value') });\n\t\t}\n\n\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED', {\n\t\t\tvalue: uniqBy(items, 'value'),\n\t\t\tname\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\t'NOW_TYPEAHEAD_MULTI#VALUE_SET': ({ action, properties, dispatch }) => {\n\t\tconst { value } = action.payload;\n\t\tconst { onChange, onStagedValueChange, name } = properties;\n\n\t\tif (isFunction(onStagedValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onStagedValueChange)({ value });\n\t\t}\n\t\t// faking event because app teams are expecting event as param in OnChange callback\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\tvalue: value\n\t\t\t},\n\t\t\tpersist: () => {\n\t\t\t\treturn;\n\t\t\t},\n\t\t\tstopPropagation: () => {\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED', {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tevent\n\t\t});\n\n\t\tif (isFunction(onChange)) {\n\t\t\tonChange(event);\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tupdateState\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\tconst { extraSelectedPills, onCustomPillsChange } = properties;\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\n\t\tconst extraPillsSet = value.filter(({ id }) =>\n\t\t\tid.startsWith(CUSTOM_PILL_PREFIX)\n\t\t);\n\t\tif (extraSelectedPills?.length > extraPillsSet.length)\n\t\t\tif (isFunction(onCustomPillsChange)) onCustomPillsChange(extraPillsSet);\n\n\t\tconst items = value\n\t\t\t.filter(({ id }) => !id.startsWith(CUSTOM_PILL_PREFIX))\n\t\t\t.map(({ id, label: displayValue }) => ({\n\t\t\t\tvalue: id.replace(suggestionPrefix, ''),\n\t\t\t\tdisplayValue\n\t\t\t}));\n\n\t\tconst { onValueChange, name, pills, disableTracking } = properties;\n\t\tdispatchValueChanged(\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tonValueChange,\n\t\t\titems,\n\t\t\tupdateProperties\n\t\t);\n\t\tif (pills.length < value.length) {\n\t\t\tconst newItem = value[value.length - 1];\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tname,\n\t\t\t\t\tfieldType: 'typeahead-multiple'\n\t\t\t\t},\n\t\t\t\tadditionalOptions: { ...newItem, parentHandling: disableTracking }\n\t\t\t});\n\t\t} else {\n\t\t\t// @desc: Set to false to allow searching again; records may appear empty when pills are dismissed.\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: false\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD_MULTI#INTERACTION_FINISHED': ({\n\t\tproperties: { onBlur },\n\t\tupdateState\n\t}) => {\n\t\tif (isFunction(onBlur)) {\n\t\t\tonBlur(event);\n\t\t}\n\t\tupdateState({\n\t\t\tinitialSearchComplete: false\n\t\t});\n\t},\n\n\t'NOW_POPOVER#CONTENT_VISIBLE': ({ updateState, state }) => {\n\t\tconst { onClick } = state.properties;\n\t\tconst { initialSearchComplete } = state;\n\n\t\tif (isFunction(onClick) && !initialSearchComplete) {\n\t\t\tonClick();\n\t\t\t// This is done to prevent re-searching when popover opens again\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: true\n\t\t\t});\n\t\t}\n\t}\n};\n","import {\n\tisEmpty,\n\tisFunction,\n\tfilter,\n\tisNumber,\n\tisNil,\n\tisObject,\n\tuniqBy,\n\tfind\n} from 'lodash';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-typeahead';\nimport { createCustomElement, nowPriorityLevels } from '@servicenow/ui-core';\nimport '@devsnc/sn-declarative-actions';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\ttransformMessages,\n\tgetMatchesCount,\n\ttrackBehavior,\n\tadaptCallbackForLegacyAPI,\n\trenderHighlightedValue,\n\tSeismicComponentFieldPropDefaults,\n\tgetAriaLabelFromConfig,\n\tSUGGESTION_PREFIX,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-recommendations-helper';\nimport { actionHandlers } from './actionHandlers';\n\n// Style imports\nimport style from './referencemultiple.scss';\n\nconst recentsMsg = t('Recent Selections');\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const makeItemsObj = (\n\toptions,\n\theaderMessage,\n\tsecondaryLabelDelimiter,\n\tmeta\n) => {\n\treturn {\n\t\tlabel: headerMessage,\n\t\tchildren: options.map(option => {\n\t\t\treturn {\n\t\t\t\tid: option.value,\n\t\t\t\tlabel: option.displayValue || t('(empty)'),\n\t\t\t\t...meta,\n\t\t\t\tsublabel: filter(option.secondary)\n\t\t\t\t\t.map(secondaryValue => {\n\t\t\t\t\t\tif (isObject(secondaryValue)) {\n\t\t\t\t\t\t\treturn secondaryValue.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn secondaryValue;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\n\t\t\t\t\t\tsecondaryLabelDelimiter !== undefined\n\t\t\t\t\t\t\t? secondaryLabelDelimiter\n\t\t\t\t\t\t\t: ' | '\n\t\t\t\t\t)\n\t\t\t};\n\t\t})\n\t};\n};\n\nexport const onValueChange =\n\t(pills, parentOnValueChange, dispatch) => payload => {\n\t\tconst { value, displayValue } = payload;\n\n\t\tconst items = pills;\n\t\tconst values = value.split(',');\n\t\tvalues.forEach((val, index) => {\n\t\t\tif (!find(items, { value: val })) {\n\t\t\t\titems.push({\n\t\t\t\t\tvalue: val,\n\t\t\t\t\tdisplayValue: Array.isArray(displayValue)\n\t\t\t\t\t\t? displayValue[index]\n\t\t\t\t\t\t: displayValue\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (items) {\n\t\t\tif (isFunction(parentOnValueChange)) {\n\t\t\t\tadaptCallbackForLegacyAPI(parentOnValueChange)({\n\t\t\t\t\tvalue: uniqBy(items, 'value')\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED', {\n\t\t\t\tvalue: uniqBy(items, 'value'),\n\t\t\t\tname\n\t\t\t});\n\t\t}\n\t};\n\n/**\n * Reference lists allow users to select one or more values from a dynamic\n * list of choices.\n */\nconst NowTypeaheadMultiple = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\tplaceholder,\n\t\t\tpills,\n\t\t\tautofocus,\n\t\t\tlabel,\n\t\t\trequired,\n\t\t\tloading,\n\t\t\tloadingMessage,\n\t\t\tdisabled,\n\t\t\tinvalid,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tsuggestedOptions,\n\t\t\tsecondaryLabelDelimiter,\n\t\t\ttotalMatchesCountHeaderMessage,\n\t\t\ttotalMatchesCount,\n\t\t\tmaxSearchMatches,\n\t\t\tsearch,\n\t\t\tvalue,\n\t\t\thelperContent,\n\t\t\tdAProps,\n\t\t\tformData,\n\t\t\tonValueChange: parentOnValueChange,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tshowDeclartiveActions,\n\t\t\tsize,\n\t\t\textraSelectedPills,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tconst totalMatchesCountHeaderMSG = getHeaderMessage(\n\t\ttotalMatchesCountHeaderMessage,\n\t\toptions,\n\t\ttotalMatchesCount,\n\t\tmaxSearchMatches,\n\t\tsearch,\n\t\tvalue\n\t);\n\n\tconst recentItems = isEmpty(recents)\n\t\t? {}\n\t\t: makeItemsObj(recents, recentsMsg, secondaryLabelDelimiter);\n\tconst searchItems = isEmpty(options)\n\t\t? {}\n\t\t: makeItemsObj(\n\t\t\t\toptions,\n\t\t\t\ttotalMatchesCountHeaderMSG,\n\t\t\t\tsecondaryLabelDelimiter\n\t\t\t);\n\n\tconst optionsNew = [suggestedOptions, recentItems, searchItems].filter(\n\t\tobj => !isEmpty(obj)\n\t);\n\n\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\tconst currentlySelectedItems = pills.map(\n\t\t({ value: id, displayValue: label }) => {\n\t\t\tconst isSuggestion = (suggestedOptions.children || []).find(\n\t\t\t\toption => option.id.replace(suggestionPrefix, '') === id\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tid: isSuggestion ? `${SUGGESTION_PREFIX}${id}` : id,\n\t\t\t\tlabel\n\t\t\t};\n\t\t}\n\t);\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\tconst chars = '**';\n\n\treturn (\n\t\t<now-typeahead-multi\n\t\t\tname={name + '_input'}\n\t\t\titems={\n\t\t\t\tloading\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: loadingMessage || t('Searching...'),\n\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: optionsNew\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t},\n\t\t\t\tpanel: {\n\t\t\t\t\t'aria-live': 'polite'\n\t\t\t\t}\n\t\t\t}}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\trequired={required}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tinvalid={invalid}\n\t\t\tautofocus={autofocus}\n\t\t\tmanageSelectedItems={true}\n\t\t\thelperContent={helperContent || description}\n\t\t\tselectedItems={[...currentlySelectedItems, ...extraSelectedPills]}\n\t\t\t// this prop was added if user doesn't want to implement filtering logic\n\t\t\t// it accepts value \"initial\" for showing items that begins with input value\n\t\t\t// it accepts value \"contains\" for showing items that contains input value\n\t\t\tsearch={search}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsize={size}\n\t\t>\n\t\t\t{showDeclartiveActions && dAProps && (\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tnow-priority={nowPriorityLevels.LOW}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={{\n\t\t\t\t\t\t...dAProps,\n\t\t\t\t\t\tonValueChange: onValueChange(pills, parentOnValueChange, dispatch),\n\t\t\t\t\t\tchars\n\t\t\t\t\t}}\n\t\t\t\t\tactions={dAProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tfetchDeclarativeActions={dAProps.fetchDeclarativeActions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-typeahead-multi>\n\t);\n};\n\nexport function getHeaderMessage(\n\ttotalMatchesCountHeaderMessage,\n\toptions,\n\ttotalMatchesCount,\n\tmaxSearchMatches,\n\tsearch,\n\tvalue\n) {\n\tlet totalMatchesCountHeaderMSG;\n\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t} else if (isNumber(totalMatchesCount)) {\n\t\ttotalMatchesCountHeaderMSG =\n\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t? t('Showing 1-{0} of more than {1}', options.length, maxSearchMatches)\n\t\t\t\t: t('Showing 1-{0} of {1}', options.length, totalMatchesCount);\n\t} else if (search === 'initial' || search === 'contains') {\n\t\tconst resultsCount = getMatchesCount(options, search, value);\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\tresultsCount,\n\t\t\tresultsCount\n\t\t);\n\t} else {\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\toptions.length,\n\t\t\toptions.length\n\t\t);\n\t}\n\n\treturn totalMatchesCountHeaderMSG;\n}\n\nNowTypeaheadMultiple.style = style;\n\n/**\n *\n * Typeahead component that displays values off a given list.\n *\n * ```jsx\n * <Fragment>\n * \t<now-record-typeahead-multiple\n * \t\toptions={[{\n * \t\t\tvalue: 'VALUE 1'\n * \t\t\tsecondary: [\n * \t\t\t\t{\n * \t\t\t\t\tvalue: 'VIP',\n * \t\t\t\t\tstatus: 'positive',\n * \t\t\t\t\tisHighlighted: 'true',\n * \t\t\t\t\tshowIcon: true\n * \t\t\t\t},\n * \t\t\t\t'test'\n * \t\t\t],\n * \t\t\tdisplayValue: 'VALUE 1 - VIP'\n * \t\t}]}\n * \t/>\n * <\/Fragment>\n * ```\n *\n * @seismicElement now-record-typeahead-multiple\n * @summary Typeahead Multi Component\n *\n * */\ncreateCustomElement('now-record-typeahead-multiple', {\n\tview: withValueChangeCallbacksView(NowTypeaheadMultiple),\n\tstyles: style,\n\tinitialState: { initialSearchComplete: false },\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Flag to indicate the options are in a loding state\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tloading: { default: false },\n\t\t/**\n\t\t * Message to show when the search results are being loaded\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tloadingMessage: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonClick: {},\n\t\t/**\n\t\t * onEnter event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Array of options that represent valid choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\toptions: { default: [] },\n\n\t\t/**\n\t\t * List of underlying data values that are initially selected.\n\t\t * @type {Array<Object>}\n\t\t */\n\t\tpills: { default: [] },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Array of options that represent recent choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\trecents: { default: [] },\n\t\t/**\n\t\t * options that represent suggested items\n\t\t * @type {{\n\t\t * \t\t\t type: \"object\",\n\t\t * \t\t\t properties: {\n\t\t * \t\t\t \t suggestedOptions: {\n\t\t * \t\t\t \t \ttype: \"object\",\n\t\t * \t\t\t \t \tproperties: {\n\t\t * \t\t\t \t \t    label: {type: string},\n\t\t * \t\t\t \t \t    children: [{id: {type: string}, label: {type: string}}]\n\t\t * \t\t\t \t \t}\n\t\t * \t\t\t \t }\n\t\t * \t\t\t }\n\t\t * \t\t }}\n\t\t */\n\t\tsuggestedOptions: { default: {} },\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: false },\n\t\t/**\n\t\t * Optional delimiter for secondary labels in options\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryLabelDelimiter: {},\n\t\t/**\n\t\t * Number of all possible matches for the given value, ignoring pagination\n\t\t * @type {number}\n\t\t */\n\t\ttotalMatchesCount: {},\n\t\t/**\n\t\t * Header message that'll show up on the total count dropdown group\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttotalMatchesCountHeaderMessage: {},\n\n\t\t/**\n\t\t * The maximum number of search results\n\t\t */\n\t\tmaxSearchMatches: {},\n\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): no filtering will happen. Use this if you want to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": items whose label or sublabel begins with the\n\t\t *   input value will be displayed. This is case-insensitive.\n\t\t * - \"contains\": items whose label or sublabel contains the input value\n\t\t *   will be displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t */\n\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: { type: 'string', enum: ['managed', 'initial', 'contains'] }\n\t\t},\n\n\t\t/**\n\t\t * Current entered value on the typeahead input\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdAProps: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t */\n\t\tdisableTracking: {},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag to show Declartive Actions\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDeclartiveActions: { default: true },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Used to display extra selected pills on the field, which are not a part of the dropdown.\n\t\t * @type {Array.<{id: string, label: string, tooltipContent: string}>}\n\t\t */\n\t\textraSelectedPills: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * onCustomPillsChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonCustomPillsChange: {},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: actionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user has changed the input and wishes to run a query.\n\t\t * @type {{ value: Array<string> }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new value is selected.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default NowTypeaheadMultiple;\n","import { some } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { effectProxy } from '@devsnc/sn-controls-common';\n\nconst FETCH_DATA_START = 'QUERY_BASE_FETCH_DATA_START';\nconst FETCH_DATA_SUCCESS = 'QUERY_BASE_FETCH_DATA_SUCCESS';\nconst FETCH_DATA_FAILURE = 'QUERY_BASE_FETCH_DATA_FAILURE';\n\nexport const FETCH_DATA = 'QUERY_BASE_FETCH_DATA';\n\nexport default function (query, variableList) {\n\tconst queryBaseFetchDataEffect = createGraphQLEffect(query, {\n\t\tvariableList,\n\t\theaderList: ['x-request-cancelable'],\n\t\tstartActionType: FETCH_DATA_START,\n\t\tsuccessActionType: FETCH_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DATA_FAILURE\n\t});\n\n\tconst actionHandlers = {\n\t\t[FETCH_DATA]: effectProxy(queryBaseFetchDataEffect),\n\n\t\t[FETCH_DATA_START]: ({ updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tisSearching: true\n\t\t\t});\n\t\t},\n\n\t\t[FETCH_DATA_SUCCESS]: ({ updateProperties, action: { payload } }) => {\n\t\t\tconst { errors, data } = payload;\n\t\t\tif (errors && errors.length !== 0) {\n\t\t\t\t// Only reset searching state when error is _not_ a transaction cancelation\n\t\t\t\tif (!some(errors, e => e.errorType === 'ExecutionAborted')) {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tresults: [],\n\t\t\t\t\t\tisSearching: false\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tresults: data,\n\t\t\t\tisSearching: false\n\t\t\t});\n\t\t},\n\n\t\t[FETCH_DATA_FAILURE]: ({ updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tresults: [],\n\t\t\t\tisSearching: false\n\t\t\t});\n\t\t}\n\t};\n\n\treturn {\n\t\tqueryBaseFetchDataEffect,\n\t\tactionHandlers\n\t};\n}\n","import { t } from 'sn-translate';\nimport {\n\tisEmail,\n\ttoPills,\n\tgetSerializedChanges,\n\tgetEncodedRecord,\n\tisAttrTrue,\n\tgetProperty,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tisFunction,\n\tisObject,\n\ttoString,\n\treject,\n\tincludes,\n\tmap,\n\tmapKeys,\n\tfind,\n\tdebounce,\n\tisUndefined\n} from 'lodash';\nimport { FETCH_DATA } from './queryBaseActionHandlers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nexport const QUERY_BASE_BEHAVIOR = 'queryBaseBehavior';\nexport const UPDATE_STATE = 'GLIDE_QUERY_BASE#UPDATE_STATE';\nexport const ON_INPUT_BLUR = 'GLIDE_QUERY_BASE#ON_INPUT_BLUR';\nexport const RUN_READ_QUERY = 'GLIDE_QUERY_BASE#RUN_READ_QUERY';\n\nconst toPath = prop => `${prop}`;\n\nexport const updateBehaviorState = (updateState, state) => {\n\tconst normalizedState = mapKeys(state, (_, key) => toPath(key));\n\tupdateState(normalizedState);\n};\n\nconst assertValidOptions = options => {\n\tconst { mapResults } = options;\n\n\tif (!isFunction(mapResults)) {\n\t\tthrow new Error(\n\t\t\t`Required prop 'mapResults' is not a function. Got ${typeof mapResults}`\n\t\t);\n\t}\n};\n\nexport const getMessage = (type, message) => {\n\treturn {\n\t\ttype,\n\t\tmessage\n\t};\n};\n\nconst runReadQuery = (inputVal, props, dispatch) => {\n\tconst variables = props.getVariables(inputVal);\n\tif (isObject(variables)) {\n\t\tdispatch(\n\t\t\tFETCH_DATA,\n\t\t\t{\n\t\t\t\tserializedChanges: getSerializedChanges(props),\n\t\t\t\tencodedRecord: getEncodedRecord(props.formData),\n\t\t\t\t...variables,\n\t\t\t\t...(isAttrTrue(props.searchCancelable) && {\n\t\t\t\t\t__unstableDisableBatching: true, // Disabling batching for reference field calls to support transaction cancellation feature.\n\t\t\t\t\t'x-request-cancelable': props.nowId\n\t\t\t\t})\n\t\t\t},\n\t\t\t{ stopPropagation: true }\n\t\t);\n\t}\n};\n\nconst getPillWarning = (pills, properties) => {\n\tconst { disableDisplayValueWarning } = properties;\n\tconst badPills = pills.filter(pill => !pill.displayValue);\n\tlet warning = null;\n\tif (!disableDisplayValueWarning) {\n\t\tif (badPills.length > 1) {\n\t\t\twarning = getMessage(\n\t\t\t\t'warning',\n\t\t\t\tt(\n\t\t\t\t\t'Records {0} do not exist or do not have a display value set.',\n\t\t\t\t\tbadPills.map(pill => pill.value).join(', ')\n\t\t\t\t)\n\t\t\t);\n\t\t} else if (badPills.length === 1) {\n\t\t\twarning = getMessage(\n\t\t\t\t'warning',\n\t\t\t\tt(\n\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\tbadPills[0].value\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn warning;\n};\n\nconst isValueInResults = (results, value) =>\n\t!![...results.options, ...results.recents].find(o => o.value === value);\n\nexport const queryBaseMapResults = (properties, state, data) => {\n\tconst { options, recents, totalCount } = data\n\t\t? properties.mapResults(data, properties.sortBy, properties)\n\t\t: {};\n\tconst selectedValues = map(state.pills, 'value');\n\n\tconst removeSelected = collection =>\n\t\treject(\n\t\t\tcollection,\n\t\t\titem => isObject(item) && includes(selectedValues, item.value)\n\t\t);\n\n\treturn {\n\t\toptions: removeSelected(options),\n\t\trecents: removeSelected(recents),\n\t\ttotalCount\n\t};\n};\n\nexport const setInitialQueryBaseState =\n\t(handleEmptyValue = false) =>\n\t({ properties }) => {\n\t\tlet {\n\t\t\tdisplayValue,\n\t\t\tvalue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tfieldType,\n\t\t\tcustomPills\n\t\t} = properties;\n\n\t\tconst initialValue = handleEmptyValue && value === true ? '' : value;\n\n\t\tlet inputVal = '';\n\t\tlet pills = [];\n\t\tlet displayWarning;\n\t\tlet initialDomainIdFieldValue = '';\n\t\tlet initialDomainIdFieldDisplayValue = '';\n\t\tlet extraSelectedPills = [];\n\n\t\tif (multiSelection) {\n\t\t\tif (initialValue) {\n\t\t\t\tpills = toPills(initialValue.split(','), displayValue);\n\t\t\t\tif (!disableDisplayValueWarning)\n\t\t\t\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\t\t}\n\t\t\tif (customPills?.length) {\n\t\t\t\textraSelectedPills = customPills.map(pill => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pill,\n\t\t\t\t\t\tid: `${CUSTOM_PILL_PREFIX}${pill.id}`\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (initialValue) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tinitialValue\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputVal = '';\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdisplayWarning,\n\t\t\tisSearching: false,\n\t\t\tinputVal,\n\t\t\tpills,\n\t\t\toptions: [],\n\t\t\trecents: [],\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue,\n\t\t\tdebouncedQueryDispatcher: debounce(\n\t\t\t\trunReadQuery,\n\t\t\t\tproperties.searchDebounce\n\t\t\t),\n\t\t\textraSelectedPills\n\t\t};\n\t};\n\nconst componentBootstrappedEffect = ({ properties, updateState }) => {\n\tconst { fieldType, value, fullDisplayValue } = properties;\n\tif (fieldType === 'domain_id') {\n\t\tupdateState({\n\t\t\tinitialDomainIdFieldValue: value,\n\t\t\tinitialDomainIdFieldDisplayValue: fullDisplayValue\n\t\t});\n\t}\n};\n\nexport const propertyChangedEffect = ({\n\tproperties,\n\tstate,\n\taction: { payload },\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tvalue,\n\t\tdisplayValue,\n\t\tmultiSelection,\n\t\tdisableEmailFreeformEntry,\n\t\tnoEmail,\n\t\tdisableDisplayValueWarning,\n\t\tliveUpdate,\n\t\tfieldType\n\t} = properties;\n\tlet { inputVal, pills, displayWarning, extraSelectedPills } = state;\n\tconst { name, previousValue } = payload;\n\n\tconst mapResults = properties.mapResults || payload.options.mapResults;\n\n\tassertValidOptions({ mapResults });\n\n\tif (\n\t\tname === 'liveUpdate' &&\n\t\tpreviousValue.value !== liveUpdate.value &&\n\t\tmultiSelection &&\n\t\tvalue !== true\n\t) {\n\t\tpills = liveUpdate.value\n\t\t\t? toPills(liveUpdate.value.split(','), liveUpdate.displayValue)\n\t\t\t: [];\n\t\tinputVal = liveUpdate.value;\n\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\tupdateState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tpills\n\t\t});\n\t} else if ((name === 'value' && value !== true) || name === 'displayValue') {\n\t\tif (multiSelection && value !== true) {\n\t\t\tpills = value ? toPills(value.split(','), displayValue) : [];\n\t\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\t} else {\n\t\t\tdisplayWarning = null;\n\t\t\tif (value && value !== true) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\tconst existingOptions = queryBaseMapResults(\n\t\t\t\t\t\t{ ...properties, mapResults },\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tproperties.results\n\t\t\t\t\t);\n\t\t\t\t\tif (!isValueInResults(existingOptions, value)) {\n\t\t\t\t\t\t// If the value is not in the results, clear the results as it leads to erroneous behavior\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tresults: [],\n\t\t\t\t\t\t\tisSearching: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputVal = toString(displayValue);\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tpills\n\t\t});\n\t} else if (name === 'results') {\n\t\tconst { options, recents, totalCount } = queryBaseMapResults(\n\t\t\t{ ...properties, mapResults },\n\t\t\tstate,\n\t\t\tpayload.value\n\t\t);\n\n\t\tconst internationalizedEmail = isUndefined(\n\t\t\tproperties.internationalizedEmail\n\t\t)\n\t\t\t? isAttrTrue(getProperty('glide.email_address.rfc6530.enabled', false))\n\t\t\t: properties.internationalizedEmail;\n\n\t\tif (\n\t\t\t!(noEmail || disableEmailFreeformEntry) &&\n\t\t\tisEmail(inputVal, internationalizedEmail)\n\t\t) {\n\t\t\toptions.unshift({ value: inputVal, displayValue: inputVal });\n\t\t}\n\t\tupdateState({\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount\n\t\t});\n\t} else if (name === 'isSearching') {\n\t\tupdateState({\n\t\t\tisSearching: payload.value\n\t\t});\n\t} else if (name === 'tableName') {\n\t\t// If tableName is changed, re-initialize/reset to initialQueryBaseState.\n\t\tupdateState(setInitialQueryBaseState(true));\n\t} else if (name === 'customPills') {\n\t\tconst newCustomPills = payload.value;\n\t\tif (newCustomPills.length !== extraSelectedPills.length) {\n\t\t\tconst newExtraSelectedPills = newCustomPills.map(pill => {\n\t\t\t\treturn {\n\t\t\t\t\t...pill,\n\t\t\t\t\tid: `${CUSTOM_PILL_PREFIX}${pill.id}`\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({ extraSelectedPills: newExtraSelectedPills });\n\t\t}\n\t}\n};\n\nconst updateStateEffect = ({\n\taction: {\n\t\tpayload: { state }\n\t},\n\tupdateState\n}) => {\n\tupdateState(state);\n};\n\nexport const onInputBlurEffect = ({\n\tstate,\n\tproperties,\n\tupdateState,\n\taction: { payload }\n}) => {\n\tlet {\n\t\tvalue: propValue,\n\t\tdisplayValue,\n\t\tmultiSelection,\n\t\tdisableDisplayValueWarning,\n\t\tfieldType,\n\t\tresults,\n\t\tsuggestions\n\t} = properties;\n\tlet value = propValue === true ? '' : propValue;\n\tlet { inputVal, displayWarning } = state;\n\tconst { onSelectOption, onValueChange } = payload;\n\tconst mapResults = properties.mapResults || payload.options.mapResults;\n\n\tif (inputVal.length > 0) {\n\t\tconst { options, recents, totalCount } = queryBaseMapResults(\n\t\t\t{ ...properties, mapResults },\n\t\t\tstate,\n\t\t\tresults\n\t\t);\n\n\t\tif (!multiSelection) {\n\t\t\tdisplayWarning = null;\n\n\t\t\t/*\n\t\t\t * DEF0087979: when there is only one option, choose it on blur\n\t\t\t */\n\t\t\tif (\n\t\t\t\t(totalCount === 1 && recents.length === 0) ||\n\t\t\t\t(recents.length === 1 && totalCount === 0)\n\t\t\t) {\n\t\t\t\tconst onlyOption = totalCount ? options[0] : recents[0];\n\t\t\t\tonSelectOption(onlyOption);\n\t\t\t} else {\n\t\t\t\tif (!value) {\n\t\t\t\t\t// if user tabs on selected option, the blur occurs before receiving props and\n\t\t\t\t\t// value is still null. This finds the value from the options\n\t\t\t\t\tlet foundOption = find(\n\t\t\t\t\t\toptions || recents,\n\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t);\n\t\t\t\t\tif (!foundOption) {\n\t\t\t\t\t\tfoundOption = find(\n\t\t\t\t\t\t\tsuggestions.items,\n\t\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (foundOption) {\n\t\t\t\t\t\tvalue = foundOption.value;\n\t\t\t\t\t\tdisplayValue = foundOption.displayValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (value && value !== true) {\n\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet error = getMessage(\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\tt('Please select a value from the list of results in the dropdown.')\n\t\t\t\t\t);\n\t\t\t\t\tonValueChange({\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: inputVal,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tlet foundOption = find(\n\t\t\t\toptions || recents,\n\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t);\n\t\t\tif (!foundOption) {\n\t\t\t\tfoundOption = find(\n\t\t\t\t\tsuggestions?.items || [],\n\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!foundOption) {\n\t\t\t\tlet error = getMessage(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('Please select a value from the list of results in the dropdown.')\n\t\t\t\t);\n\t\t\t\tonValueChange({\n\t\t\t\t\tvalue,\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\terror\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateState({\n\t\tinputVal,\n\t\toptions: [],\n\t\tdisplayWarning\n\t});\n};\n\nexport default {\n\tname: 'queryBaseBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t\t[UPDATE_STATE]: {\n\t\t\teffect: updateStateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ON_INPUT_BLUR]: onInputBlurEffect\n\t}\n};\n","// 3rd party imports\nimport { t } from 'sn-translate';\nimport { toString, isEmpty, last, isFunction } from 'lodash';\n\n// Function imports\nimport {\n\ttoValues,\n\twrapHelperContent,\n\tisAttrTrue,\n\tescapeSeismicSpecialSymbols,\n\tSUGGESTION_PREFIX,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetDeclarativeActionsProps,\n\thasErrorMessage\n} from '@devsnc/sn-controls-common';\nimport '@servicenow/now-record-typeahead';\nimport '@servicenow/now-record-typeahead-multiple';\n\nimport { ON_INPUT_BLUR, UPDATE_STATE } from './queryBaseBehavior';\nimport { makeItemsObject } from '@servicenow/now-record-typeahead';\n\nconst assertValidProperties = properties => {\n\tconst { getVariables } = properties;\n\n\tif (!isFunction(getVariables)) {\n\t\tthrow new Error(\n\t\t\t`Required prop 'getVariables' is not a function. Got ${typeof getVariables}`\n\t\t);\n\t}\n};\n\nexport const filterSuggestions = (items = [], chars) => {\n\tif (!items.length || !chars || !chars.length) return items;\n\n\tlet filteredItems = [];\n\n\tconst normalize = val => {\n\t\treturn typeof val === 'string' ? val.toLowerCase() : '';\n\t};\n\n\tif (chars.startsWith('*')) {\n\t\t//CONTAINS\n\t\tconst revisedChars = chars.substring(1);\n\t\tfilteredItems = items.filter(item => {\n\t\t\tconst displayValue = item.displayValue?.toLowerCase() || t('(empty)');\n\t\t\tif (displayValue.indexOf(revisedChars) !== -1) return true;\n\n\t\t\tconst secondaryValues = item.secondary;\n\t\t\tif (secondaryValues) {\n\t\t\t\tfor (const secondaryValue of secondaryValues) {\n\t\t\t\t\tif (secondaryValue.toLowerCase().indexOf(revisedChars) !== -1)\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\t//STARTSWITH\n\t\tfilteredItems = items.filter(item => {\n\t\t\tconst displayValue = normalize(item.displayValue) || t('(empty)');\n\t\t\tif (displayValue.startsWith(chars)) return true;\n\n\t\t\tconst secondaryValues = item.secondary;\n\t\t\tif (secondaryValues) {\n\t\t\t\tfor (const secondaryValue of secondaryValues) {\n\t\t\t\t\tif (secondaryValue.toLowerCase().startsWith(chars)) return true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\treturn filteredItems;\n};\n\nconst updateComponentState = (updateState, dispatch, state) => {\n\tif (updateState) {\n\t\tupdateState(state);\n\t} else {\n\t\tdispatch(UPDATE_STATE, { state });\n\t}\n};\n\n/**\n * Common component to manage inputs that fetch suggestions from a GraphQL\n * datasource. Handles single-select values (aka reference fields), and\n * multi-select values (like a watch list).\n */\nconst GlideQueryBase = (state, helpers) => {\n\tlet props = state;\n\tlet { queryBaseState, dispatch } = state;\n\tlet updateState;\n\n\tif (helpers && 'updateState' in helpers && 'dispatch' in helpers) {\n\t\tupdateState = helpers.updateState;\n\t\tprops = state.properties;\n\t\tqueryBaseState = state;\n\t\tdispatch = helpers.dispatch;\n\t}\n\tconst onValueChange = state.onValueChange || state.properties?.onValueChange;\n\tconst { debouncedQueryDispatcher } = queryBaseState;\n\n\tconst {\n\t\titems = [],\n\t\tsectionLabel,\n\t\temptyMessage,\n\t\t...meta\n\t} = props.suggestions || {};\n\n\tlet suggestedOptions = {};\n\tconst filteredItems = filterSuggestions(\n\t\titems,\n\t\tqueryBaseState.inputVal?.toLowerCase()\n\t);\n\tif (filteredItems.length > 0) {\n\t\tsuggestedOptions = makeItemsObject(\n\t\t\tfilteredItems.map(item => ({\n\t\t\t\t...item,\n\t\t\t\tvalue: `${SUGGESTION_PREFIX}${item.value}`\n\t\t\t})),\n\t\t\tsectionLabel,\n\t\t\tundefined,\n\t\t\tmeta\n\t\t);\n\t} else {\n\t\tif (!isEmpty(props.suggestions)) {\n\t\t\tsuggestedOptions = {\n\t\t\t\tlabel: sectionLabel,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t}\n\t}\n\n\tassertValidProperties(props);\n\n\tconst toMessageArray = messages =>\n\t\tArray.isArray(messages) ? messages : messages ? [messages] : [];\n\n\t/**\n\t * function pushes a new value and displayValue\n\t * @param {string} value\n\t * @param {string} displayValue\n\t */\n\tconst onSelectOption = ({ value, displayValue, additionalInfo }) => {\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal: toString(displayValue),\n\t\t\toptions: []\n\t\t});\n\t\tonValueChange({ value, displayValue, additionalInfo });\n\t};\n\n\t/**\n\t * callback function to intercept onChange events from the controlled input, reflect the data back as a value and\n\t * query for new options if needed.\n\t * @param {string} value input value\n\t */\n\tconst onInputValueChange = event => {\n\t\tconst inputVal = event.target.value;\n\t\tconst { multiSelection, messages } = props;\n\t\tif (isEmpty(inputVal)) {\n\t\t\tif (multiSelection && hasErrorMessage(messages)) {\n\t\t\t\tonValueChange({ value: props.value, displayValue: props.displayValue });\n\t\t\t} else if (!multiSelection) {\n\t\t\t\tonSelectOption({ displayValue: '' });\n\t\t\t}\n\t\t}\n\t\tdebouncedQueryDispatcher(inputVal, props, dispatch);\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal,\n\t\t\tisSearching: !isEmpty(inputVal)\n\t\t});\n\t};\n\n\tconst onCustomPillsChange = pills => {\n\t\tupdateComponentState(updateState, dispatch, { extraSelectedPills: pills });\n\t\tconst dispatchPayload = pills.map(pill => {\n\t\t\treturn {\n\t\t\t\t...pill,\n\t\t\t\tid: pill.id.replace(CUSTOM_PILL_PREFIX, '')\n\t\t\t};\n\t\t});\n\t\tdispatch('SN_GLIDE_QUERY_BASE#CUSTOM_PILLS_CHANGED', dispatchPayload);\n\t};\n\n\tconst emitPillChange = pills => {\n\t\tconst { values, displayValues } = toValues(pills);\n\n\t\tonValueChange({\n\t\t\tvalue: values.join(','),\n\t\t\tdisplayValue: displayValues\n\t\t});\n\t};\n\n\t/**\n\t * function that takes an array of pill objects and updates value and displayValue\n\t * @param {array} newPills array of pill objects\n\t */\n\tconst addPills = ({ value: allPills }) => {\n\t\temitPillChange(allPills);\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal: '',\n\t\t\tisActive: false,\n\t\t\toptions: []\n\t\t});\n\t};\n\n\t/**\n\t * onBlur callback that resets the input value on blur\n\t */\n\tconst onInputBlur = () => {\n\t\tdispatch(ON_INPUT_BLUR, {\n\t\t\tonSelectOption,\n\t\t\tonValueChange\n\t\t});\n\t};\n\n\t/**\n\t * special onEnter callback that refreshes options list\n\t */\n\tconst onEnter = () => {\n\t\tconst { inputVal } = queryBaseState;\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tisSearching: true\n\t\t});\n\n\t\tdebouncedQueryDispatcher(inputVal, props, dispatch);\n\t};\n\n\tconst onClick = () => {\n\t\tonEnter();\n\t};\n\n\tconst getReference = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tinnerRef,\n\t\t\tsearchUsingStartsWith,\n\t\t\tsearchOnClick,\n\t\t\tmaxSearchMatches,\n\t\t\tincludeHeaders,\n\t\t\tfieldType,\n\t\t\tvalue,\n\t\t\tliveUpdate,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tdecorations,\n\t\t\tsize,\n\t\t\twrapLabel,\n\t\t\tshowAIIndicator,\n\t\t\tisModified,\n\t\t\tsuggestions\n\t\t} = props;\n\n\t\tlet {\n\t\t\tinputVal,\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t} = queryBaseState;\n\n\t\tconst { isSearching, options, recents, totalCount, displayWarning } =\n\t\t\tqueryBaseState;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tprops.declarativeActionsProps,\n\t\t\tprops\n\t\t);\n\n\t\tconst readonly = isAttrTrue(props.readonly);\n\t\tconst placeholder = readonly ? '—' : props.placeholder;\n\n\t\tlet domainIdMessage = [];\n\n\t\tif (\n\t\t\tfieldType == 'domain_id' &&\n\t\t\tinputVal &&\n\t\t\t(inputVal.includes('/') ||\n\t\t\t\t(initialDomainIdFieldDisplayValue &&\n\t\t\t\t\tinitialDomainIdFieldDisplayValue.includes('/') &&\n\t\t\t\t\tinitialDomainIdFieldValue === value))\n\t\t) {\n\t\t\tif (!liveUpdate) {\n\t\t\t\tconst message = t('Domain path: {0}', initialDomainIdFieldDisplayValue);\n\t\t\t\tdomainIdMessage = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tmessage\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t\tinputVal = last(initialDomainIdFieldDisplayValue.split('/'));\n\t\t\t} else {\n\t\t\t\tinputVal = last(inputVal.split('/'));\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<now-record-typeahead\n\t\t\t\tcomponentId={`${componentId}_referencePicker`}\n\t\t\t\tname={name}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tselectedItem={props.value}\n\t\t\t\tmessages={[\n\t\t\t\t\t...toMessageArray(messages),\n\t\t\t\t\t...toMessageArray(displayWarning),\n\t\t\t\t\t...domainIdMessage\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\tsuggestedOptions={suggestedOptions}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={onInputValueChange}\n\t\t\t\tonValueChange={onSelectOption}\n\t\t\t\tonBlur={onInputBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonEnter={onEnter}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tsearchOnClick={searchOnClick}\n\t\t\t\tincludeHeaders={includeHeaders}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tsize={size}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t\tsuggestions={suggestions}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst getReferenceMultiple = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tdecorations,\n\t\t\tshowDeclartiveActions,\n\t\t\tsize,\n\t\t\twrapLabel,\n\t\t\tshowAIIndicator,\n\t\t\tisModified,\n\t\t\tsuggestions\n\t\t} = props;\n\t\tconst {\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount,\n\t\t\tpills,\n\t\t\tdisplayWarning,\n\t\t\textraSelectedPills\n\t\t} = queryBaseState;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tprops.declarativeActionsProps,\n\t\t\tprops\n\t\t);\n\n\t\treturn (\n\t\t\t<now-record-typeahead-multiple\n\t\t\t\tcomponentId={`${componentId}_referencePickerMultiple`}\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tpills={pills}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tmessages={[\n\t\t\t\t\t...toMessageArray(messages),\n\t\t\t\t\t...toMessageArray(displayWarning)\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\textraSelectedPills={extraSelectedPills}\n\t\t\t\tsuggestedOptions={suggestedOptions}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={onInputValueChange}\n\t\t\t\tonValueChange={addPills}\n\t\t\t\tonCustomPillsChange={onCustomPillsChange}\n\t\t\t\tonBlur={onInputBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonEnter={onEnter}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tshowDeclartiveActions={showDeclartiveActions}\n\t\t\t\tsize={size}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t\tsuggestions={suggestions}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst { multiSelection } = props;\n\tif (multiSelection) return getReferenceMultiple();\n\treturn getReference();\n};\n\nexport default GlideQueryBase;\n","// To be removed after 2 releases. This file is here to support forms during upgrade.\n// 3rd party imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport {\n\tisFunction,\n\tisObject,\n\ttoString,\n\tdebounce,\n\tisEmpty,\n\treject,\n\tincludes,\n\tmap,\n\tfind,\n\tlast,\n\tisUndefined\n} from 'lodash';\n\n// Function imports\nimport {\n\tfieldPropTypes,\n\ttoPills,\n\ttoValues,\n\tisEmail,\n\twrapHelperContent,\n\tisAttrTrue,\n\tescapeSeismicSpecialSymbols,\n\tcreateWithValueChangeCallbackBehavior,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\n\n// Component imports\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\n\nimport {\n\tgetDeclarativeActionsProps,\n\tgetSerializedChanges,\n\tgetEncodedRecord\n} from '@devsnc/sn-controls-common';\n\nimport { FETCH_DATA } from '../queryBaseActionHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * Common component to manage inputs that fetch suggestions from a GraphQL\n * datasource. Handles single-select values (aka reference fields), and\n * multi-select values (like a watch list).\n */\nexport default class GlideQueryBase extends React.PureComponent {\n\tstatic componentName = 'sn-glide-query-base';\n\tstatic behaviors = [withValueChangeCallbackBehavior];\n\t/**\n\t * constructor\n\t * @param {object} props\n\t */\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tlet {\n\t\t\tdisplayValue,\n\t\t\tsearchDebounce,\n\t\t\tvalue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tfieldType\n\t\t} = props;\n\n\t\tthis.assertValidProps(props);\n\n\t\tthis.runReadQuery = debounce(this.runReadQuery, searchDebounce);\n\n\t\t/**\n\t\t * local state of the input for highlighting and user interaction\n\t\t * @type {object}\n\t\t * @param {bool} isFocused toggle if the element is in focused state\n\t\t * @param {bool} isActive toggle if the options are active\n\t\t * @param {bool} isSearching toggle the search text if we are executing a search query\n\t\t * @param {string} inputVal the value the user is typing in\n\t\t * @param {array} options list of avalable options\n\t\t * @param {array} recents list of recent options\n\t\t * @param {array} selectedSearchResult list of selected option indexes\n\t\t */\n\n\t\tlet inputVal = '';\n\t\tlet pills = [];\n\t\tlet displayWarning;\n\t\tlet initialDomainIdFieldValue = '';\n\t\tlet initialDomainIdFieldDisplayValue = '';\n\n\t\tif (multiSelection) {\n\t\t\tif (value) {\n\t\t\t\tpills = toPills(value.split(','), displayValue);\n\t\t\t\tif (!disableDisplayValueWarning)\n\t\t\t\t\tdisplayWarning = this.getPillWarning(pills);\n\t\t\t}\n\t\t} else {\n\t\t\tif (value) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputVal = '';\n\t\t\t}\n\t\t}\n\t\tthis.state = {\n\t\t\tdisplayWarning,\n\t\t\tisSearching: false,\n\t\t\tinputVal,\n\t\t\tpills,\n\t\t\toptions: [],\n\t\t\trecents: [],\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t};\n\t}\n\n\tassertValidProps(props) {\n\t\tconst { dispatch, mapResults, getVariables } = props;\n\n\t\tif (!dispatch) {\n\t\t\tthrow new Error('Required prop `dispatch` has not been provided');\n\t\t}\n\n\t\tif (!isFunction(mapResults)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Required prop 'mapResults' is not a function. Got ${typeof mapResults}`\n\t\t\t);\n\t\t}\n\n\t\tif (!isFunction(getVariables)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Required prop 'getVariables' is not a function. Got ${typeof getVariables}`\n\t\t\t);\n\t\t}\n\t}\n\n\ttoMessageArray = messages =>\n\t\tArray.isArray(messages) ? messages : messages ? [messages] : [];\n\n\tgetMessage = (type, message) => {\n\t\treturn {\n\t\t\ttype,\n\t\t\tmessage\n\t\t};\n\t};\n\n\tgetPillWarning = pills => {\n\t\tconst { disableDisplayValueWarning } = this.props;\n\t\tconst badPills = pills.filter(pill => !pill.displayValue);\n\t\tlet warning = null;\n\t\tif (!disableDisplayValueWarning) {\n\t\t\tif (badPills.length > 1) {\n\t\t\t\twarning = this.getMessage(\n\t\t\t\t\t'warning',\n\t\t\t\t\tt(\n\t\t\t\t\t\t'Records {0} do not exist or do not have a display value set.',\n\t\t\t\t\t\tbadPills.map(pill => pill.value).join(', ')\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} else if (badPills.length === 1) {\n\t\t\t\twarning = this.getMessage(\n\t\t\t\t\t'warning',\n\t\t\t\t\tt(\n\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\tbadPills[0].value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn warning;\n\t};\n\n\t/**\n\t * callback function to intercept onChange events from the controlled input, reflect the data back as a value and\n\t * query for new options if needed.\n\t * @param {string} value input value\n\t */\n\tonInputValueChange = event => {\n\t\tconst inputVal = event.target.value;\n\t\tconst { multiSelection } = this.props;\n\t\tif (isEmpty(inputVal) && !multiSelection) {\n\t\t\tthis.onSelectOption({ displayValue: '' });\n\t\t}\n\t\tthis.runReadQuery(inputVal);\n\t\tthis.setState({\n\t\t\tinputVal,\n\t\t\tisSearching: !isEmpty(inputVal)\n\t\t});\n\t};\n\n\t/**\n\t * function pushes a new value and displayValue\n\t * @param {string} value\n\t * @param {string} displayValue\n\t */\n\n\tonSelectOption = ({ value, displayValue, additionalInfo }) => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tinputVal: toString(displayValue),\n\t\t\t\toptions: []\n\t\t\t},\n\t\t\t() => this.props.onValueChange({ value, displayValue, additionalInfo })\n\t\t);\n\t};\n\n\t/**\n\t * function that takes an array of pill objects and updates value and displayValue\n\t * @param {array} newPills array of pill objects\n\t */\n\taddPills = ({ value: allPills }) => {\n\t\tthis.emitPillChange(allPills);\n\t\tthis.setState({ inputVal: '', isActive: false, options: [] });\n\t};\n\n\temitPillChange(pills) {\n\t\tconst { values, displayValues } = toValues(pills);\n\n\t\tthis.props.onValueChange({\n\t\t\tvalue: values.join(','),\n\t\t\tdisplayValue: displayValues\n\t\t});\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { fieldType, value, fullDisplayValue } = this.props;\n\t\tif (fieldType === 'domain_id') {\n\t\t\tthis.setState({\n\t\t\t\tinitialDomainIdFieldValue: value,\n\t\t\t\tinitialDomainIdFieldDisplayValue: fullDisplayValue\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * onBlur callback that resets the input value on blur\n\t */\n\tonInputBlur = () => {\n\t\tlet {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tresults,\n\t\t\tfieldType\n\t\t} = this.props;\n\t\tlet { inputVal, displayWarning } = this.state;\n\n\t\tif (!multiSelection) {\n\t\t\tdisplayWarning = null;\n\n\t\t\tif (inputVal.length > 0) {\n\t\t\t\tconst { options, recents, totalCount } = this.mapResults(results);\n\t\t\t\t/*\n\t\t\t\t * DEF0087979: when there is only one option, choose it on blur\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\t(totalCount === 1 && recents.length === 0) ||\n\t\t\t\t\t(recents.length === 1 && totalCount === 0)\n\t\t\t\t) {\n\t\t\t\t\tconst onlyOption = totalCount ? options[0] : recents[0];\n\t\t\t\t\tthis.onSelectOption(onlyOption);\n\t\t\t\t} else {\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t// if user tabs on selected option, the blur occurs before receiving props and\n\t\t\t\t\t\t// value is still null. This finds the value from the options\n\t\t\t\t\t\tlet foundOption = find(\n\t\t\t\t\t\t\toptions || recents,\n\t\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (foundOption) {\n\t\t\t\t\t\t\tvalue = foundOption.value;\n\t\t\t\t\t\t\tdisplayValue = foundOption.displayValue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet error = this.getMessage(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Please select a value from the list of results in the dropdown.'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tdisplayValue: inputVal,\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tinputVal,\n\t\t\toptions: [],\n\t\t\tdisplayWarning\n\t\t});\n\t};\n\n\t/**\n\t * special onEnter callback that refreshes options list\n\t */\n\tonEnter = () => {\n\t\tconst { inputVal } = this.state;\n\t\tthis.setState({\n\t\t\tisSearching: true\n\t\t});\n\n\t\tthis.runReadQuery(inputVal);\n\t};\n\n\tonClick = () => {\n\t\tif (this.props.searchOnClick) {\n\t\t\tthis.onEnter();\n\t\t}\n\t};\n\n\t/**\n\t * resource callback function\n\t * @param {string} chars string to pass into the query\n\t */\n\trunReadQuery(inputVal) {\n\t\tconst variables = this.props.getVariables(inputVal);\n\t\tif (isObject(variables)) {\n\t\t\tthis.props.dispatch(\n\t\t\t\tFETCH_DATA,\n\t\t\t\t{\n\t\t\t\t\tserializedChanges: getSerializedChanges(this.props),\n\t\t\t\t\tencodedRecord: getEncodedRecord(this.props.formData),\n\t\t\t\t\t...variables\n\t\t\t\t},\n\t\t\t\t{ stopPropagation: true }\n\t\t\t);\n\t\t}\n\t}\n\n\tmapResults(data) {\n\t\tconst { options, recents, totalCount } = data\n\t\t\t? this.props.mapResults(data, this.props.sortBy)\n\t\t\t: {};\n\t\tconst selectedValues = map(this.state.pills, 'value');\n\n\t\tconst removeSelected = collection =>\n\t\t\treject(\n\t\t\t\tcollection,\n\t\t\t\titem => isObject(item) && includes(selectedValues, item.value)\n\t\t\t);\n\n\t\treturn {\n\t\t\toptions: removeSelected(options),\n\t\t\trecents: removeSelected(recents),\n\t\t\ttotalCount\n\t\t};\n\t}\n\n\t/**\n\t * triggered when element gets new props and we decide whether or not to update the value\n\t * @param {object} newProps\n\t */\n\tcomponentWillReceiveProps(newProps) {\n\t\tconst {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tmultiSelection,\n\t\t\tdisableEmailFreeformEntry,\n\t\t\tnoEmail,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tresults,\n\t\t\tisSearching,\n\t\t\tliveUpdate,\n\t\t\tfieldType,\n\t\t\tinternationalizedEmail\n\t\t} = newProps.properties || newProps;\n\t\tlet { inputVal, pills, displayWarning } = this.state;\n\n\t\tthis.assertValidProps(newProps);\n\n\t\tlet { options, recents, totalCount } = this.mapResults(results);\n\n\t\tconst isinternationalizedEmail = isUndefined(internationalizedEmail)\n\t\t\t? isAttrTrue(getProperty('glide.email_address.rfc6530.enabled', false))\n\t\t\t: internationalizedEmail;\n\n\t\tif (\n\t\t\t!(noEmail || disableEmailFreeformEntry) &&\n\t\t\tisEmail(inputVal, isinternationalizedEmail)\n\t\t) {\n\t\t\toptions.unshift({ value: inputVal, displayValue: inputVal });\n\t\t}\n\n\t\tif (\n\t\t\t(this.props.value !== value && value !== true) ||\n\t\t\tthis.props.displayValue !== displayValue\n\t\t) {\n\t\t\tif (multiSelection && value !== true) {\n\t\t\t\tif (\n\t\t\t\t\tliveUpdate &&\n\t\t\t\t\t!liveUpdate.isUserModified &&\n\t\t\t\t\t(!this.props.liveUpdate ||\n\t\t\t\t\t\t(this.props.liveUpdate &&\n\t\t\t\t\t\t\tthis.props.liveUpdate.value !== liveUpdate.value))\n\t\t\t\t) {\n\t\t\t\t\tpills = liveUpdate.value\n\t\t\t\t\t\t? toPills(liveUpdate.value.split(','), liveUpdate.displayValue)\n\t\t\t\t\t\t: [];\n\t\t\t\t\tinputVal = liveUpdate.value;\n\t\t\t\t} else {\n\t\t\t\t\tpills = value ? toPills(value.split(','), displayValue) : [];\n\t\t\t\t}\n\t\t\t\tdisplayWarning = this.getPillWarning(pills);\n\t\t\t} else {\n\t\t\t\tdisplayWarning = null;\n\t\t\t\tif (value && value !== true) {\n\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\tpills,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount\n\t\t});\n\t}\n\n\tgetReference = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tinnerRef,\n\t\t\tsearchUsingStartsWith,\n\t\t\tsearchOnClick,\n\t\t\tmaxSearchMatches,\n\t\t\tincludeHeaders,\n\t\t\tfieldType,\n\t\t\tvalue,\n\t\t\tliveUpdate,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tsize\n\t\t} = this.props;\n\n\t\tlet {\n\t\t\tinputVal,\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t} = this.state;\n\n\t\tconst { isSearching, options, recents, totalCount, displayWarning } =\n\t\t\tthis.state;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tthis.props.declarativeActionsProps,\n\t\t\tthis.props\n\t\t);\n\n\t\tconst readonly = isAttrTrue(this.props.readonly);\n\t\tconst placeholder = readonly ? '—' : this.props.placeholder;\n\n\t\tlet domainIdMessage = [];\n\n\t\tif (\n\t\t\tfieldType == 'domain_id' &&\n\t\t\tinputVal &&\n\t\t\t(inputVal.includes('/') ||\n\t\t\t\t(initialDomainIdFieldDisplayValue &&\n\t\t\t\t\tinitialDomainIdFieldDisplayValue.includes('/') &&\n\t\t\t\t\tinitialDomainIdFieldValue === value))\n\t\t) {\n\t\t\tif (!liveUpdate) {\n\t\t\t\tconst message = t('Domain path: {0}', initialDomainIdFieldDisplayValue);\n\t\t\t\tdomainIdMessage = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tmessage\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t\tinputVal = last(initialDomainIdFieldDisplayValue.split('/'));\n\t\t\t} else {\n\t\t\t\tinputVal = last(inputVal.split('/'));\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<now-record-typeahead\n\t\t\t\tcomponentId={`${componentId}_referencePicker`}\n\t\t\t\tname={name}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tselectedItem={this.props.value}\n\t\t\t\tmessages={[\n\t\t\t\t\t...this.toMessageArray(messages),\n\t\t\t\t\t...this.toMessageArray(displayWarning),\n\t\t\t\t\t...domainIdMessage\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={this.onInputValueChange}\n\t\t\t\tonValueChange={this.onSelectOption}\n\t\t\t\tonBlur={this.onInputBlur}\n\t\t\t\tonClick={this.onClick}\n\t\t\t\tonEnter={this.onEnter}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tsearchOnClick={searchOnClick}\n\t\t\t\tincludeHeaders={includeHeaders}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetReferenceMultiple = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tsize\n\t\t} = this.props;\n\t\tconst {\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount,\n\t\t\tpills,\n\t\t\tdisplayWarning\n\t\t} = this.state;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tthis.props.declarativeActionsProps,\n\t\t\tthis.props\n\t\t);\n\n\t\treturn (\n\t\t\t<now-record-typeahead-multiple\n\t\t\t\tcomponentId={`${componentId}_referencePickerMultiple`}\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tpills={pills}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tmessages={[\n\t\t\t\t\t...this.toMessageArray(messages),\n\t\t\t\t\t...this.toMessageArray(displayWarning)\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={this.onInputValueChange}\n\t\t\t\tonValueChange={this.addPills}\n\t\t\t\tonBlur={this.onInputBlur}\n\t\t\t\tonClick={this.onClick}\n\t\t\t\tonEnter={this.onEnter}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t};\n\n\t/**\n\t * render\n\t * @return {ReactElement} markup\n\t */\n\trender() {\n\t\tconst { multiSelection } = this.props;\n\t\tif (multiSelection) return this.getReferenceMultiple();\n\t\treturn this.getReference();\n\t}\n}\n\nGlideQueryBase.propTypes = {\n\t...fieldPropTypes,\n\n\t/**\n\t * Dictionary values and attributes for the field\n\t */\n\tdictionary: PropTypes.object,\n\n\t/**\n\t * results from a graphQL request\n\t */\n\tresults: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * Callbacks for Forms consumption\n\t * @type {function}\n\t */\n\tonValueChange: PropTypes.func,\n\n\t/**\n\t * Function to get variables for datasource read.\n\t *\n\t * @param {String} input - The current value of the input\n\t * @return {Object?} variables - Variables passed to the datasource read\n\t * call. If this returns null/undefined, the read call will not be triggered.\n\t */\n\tgetVariables: PropTypes.func.isRequired,\n\n\t/**\n\t * Maps the datasource result into arrays of options and recents, to be\n\t * displayed as choices in the dropdown.\n\t *\n\t * @param {Object} data - GraphQL result data\n\t * @return {Object} An object with the following shape:\n\t *\t @property {Array} recents\n\t *\t @property {Array} options\n\t *\n\t * Both `recents` and `options` should have the following shape:\n\t * @property {any} value - The underlying value for the item\n\t * @property {String} displayValue - User-friendly display for the item\n\t */\n\tmapResults: PropTypes.func.isRequired,\n\n\t/**\n\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t * Defaults to 400ms\n\t */\n\tsearchDebounce: PropTypes.number,\n\n\t/**\n\t * Value can be anything\n\t */\n\tvalue: PropTypes.any,\n\n\t/**\n\t * When true, prevent the user from typing in free-form email addresses.\n\t * Instead, an email must be selected from the list of available options.\n\t */\n\tdisableEmailFreeformEntry: PropTypes.bool,\n\n\t/**\n\t * displayValue can be string or number or array of values\n\t */\n\tdisplayValue: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.array\n\t]),\n\n\t/**\n\t * Flag that switches between multiple and single value reference inputs\n\t */\n\tmultiSelection: PropTypes.bool,\n\n\t/**\n\t * Please use `disableEmailFreeformEntry` instead\n\t */\n\tnoEmail: PropTypes.bool,\n\n\t/**\n\t * Callback to show record\n\t */\n\treferenceAddon: PropTypes.oneOfType([\n\t\tPropTypes.func,\n\t\tPropTypes.bool,\n\t\tPropTypes.string\n\t]),\n\n\t/**\n\t * Callback to launch reference list modal\n\t */\n\tsearchAddon: PropTypes.oneOfType([\n\t\tPropTypes.func,\n\t\tPropTypes.bool,\n\t\tPropTypes.string\n\t]),\n\n\t/**\n\t * Flag to hide the reference icon\n\t */\n\thideReferenceIcon: PropTypes.bool,\n\n\t/**\n\t * Flag to show the reference icon in readonly mode\n\t */\n\treferenceAddonReadonly: PropTypes.bool,\n\n\t/**\n\t * Flag to toggle turning off display value warning\n\t */\n\tdisableDisplayValueWarning: PropTypes.bool,\n\n\t/**\n\t * formData object containing glide form data\n\t */\n\tformData: PropTypes.object,\n\n\t/**\n\t * Declarative Action props\n\t */\n\tdeclarativeActionsProps: PropTypes.object,\n\n\t/**\n\t * LiveUpdate info\n\t */\n\tliveUpdate: PropTypes.object,\n\n\t/**\n\t * Flag to indicate the results are loading\n\t */\n\tisSearching: PropTypes.bool,\n\n\t/**\n\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t */\n\n\tsearchUsingStartsWith: PropTypes.bool,\n\n\t/**\n\t * Flag to searching when clicking on field\n\t */\n\tsearchOnClick: PropTypes.bool,\n\n\t/**\n\t * Flag to including the header of dropdown\n\t */\n\tincludeHeaders: PropTypes.bool,\n\n\t/**\n\t * The sys id cooresponding to the selected record value. Important for when\n\t * a reference key is used.\n\t */\n\treferenceSysId: PropTypes.string,\n\n\t/**\n\t * Flag to indicate parent component will handle tracking\n\t * @private\n\t */\n\tdisableTracking: PropTypes.bool,\n\n\thighlightedValue: PropTypes.any,\n\n\t/**\n\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t * via client script using g_form api\n\t * which renders alongside the field's label\n\t * @type {Array.<{icon: string, text: string}>}\n\t **/\n\tdecorations: {\n\t\tdefault: [],\n\t\ttype: 'array'\n\t},\n\n\tsize: PropTypes.oneOf(['sm', 'md'])\n};\n\nGlideQueryBase.style = NowTypeahead.style + NowTypeaheadMultiple.style;\n\nGlideQueryBase.defaultProps = {\n\tmultiSelection: false,\n\tsearchDebounce: 400,\n\tdisableReferenceQualifier: false,\n\tdisableEmailFreeformEntry: false,\n\tignoreReferenceQualifier: false,\n\treferenceAddon: true,\n\tsearchAddon: true,\n\thideReferenceIcon: false,\n\treferenceAddonReadonly: false,\n\tnoEmail: false,\n\tdisableDisplayValueWarning: false,\n\tisSearching: false,\n\tsearchOnClick: true,\n\tcomponentId: 'id',\n\tsize: 'md'\n};\n\nGlideQueryBase.actionHandlers = [\n\t{\n\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n];\n","import GlideQueryBaseSeismic from './GlideQueryBase';\nimport queryBaseBehavior from './queryBaseBehavior';\n\n//React components are still here to support upgrading from pre utah releases to utah and + releases\nimport GlideQueryBase from './GlideQueryBaseReact/GlideQueryBase';\nexport {\n\tFETCH_DATA,\n\tdefault as queryBaseActionHandlers\n} from './queryBaseActionHandlers';\n\nexport { setInitialQueryBaseState, QUERY_BASE_BEHAVIOR, RUN_READ_QUERY } from './queryBaseBehavior';\n\nexport { queryBaseBehavior };\nexport { GlideQueryBaseSeismic }\n\nexport default GlideQueryBase;\n","import { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\n\nlet query = `\nquery ($table: String!, $field: String!, $conditions: String, $paginationLimit: Int) {\n  GlideLayout_Query {\n\t\tlistLayout(\n\t\t\tlistTableName: $table,\n\t\t\tlistColumnNames: $field,\n\t\t\tenableSessionLanguageJoin: true\n\t\t) {\n\t\t\t_graphql(\n\t\t\t\tqueryGeneratorArguments: [{\n\t\t\t\t\tname: \"fields\",\n\t\t\t\t\tvalue: \"displayValue\"\n\t\t\t\t}]\n\t\t\t) {\n\t\t\t\t_result(\n\t\t\t\t\tvariables: [\n\t\t\t\t\t\t{ name: \"table\", value: $table },\n\t\t\t\t\t\t{ name: \"queryConditions\", value: $conditions }\n\t\t\t\t\t],\n\t\t\t\t\tpagination: {\n\t\t\t\t\t\tlimit: $paginationLimit,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n    }\n  }\n}\n`;\n\nlet variableList = ['table', 'field', 'conditions', 'paginationLimit'];\n\nexport default queryBaseActionHandlers(query, variableList);\n","// Seismic imports\nimport { createCustomElement } from '@servicenow/ui-core';\n\n// 3rd party imports\nimport { compact, get, map, omit } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\n\n// Function imports\nimport {\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttrackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\n\n// Component imports\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport actionHandlers from './actionHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const mapResults = (data, dictionarySorted, properties) => {\n\tconst { useFieldNameAsKey, fieldName, tableName } = properties;\n\tlet realData;\n\n\ttry {\n\t\trealData = JSON.parse(\n\t\t\tget(data, 'GlideLayout_Query.listLayout._graphql._result')\n\t\t);\n\t} catch (e) {\n\t\t// TODO: Beacon?\n\t}\n\tconst options = get(realData, [\n\t\t'data',\n\t\t'GlideRecord_Query',\n\t\ttableName,\n\t\t'_results'\n\t]);\n\tconst totalCount = get(realData, [\n\t\t'data',\n\t\t'GlideRecord_Query',\n\t\ttableName,\n\t\t'_rowCount'\n\t]);\n\n\treturn {\n\t\toptions: map(options, option => ({\n\t\t\tvalue: useFieldNameAsKey\n\t\t\t\t? get(option, [fieldName, 'displayValue'])\n\t\t\t\t: get(option, 'sys_id.value'),\n\t\t\tdisplayValue: get(option, [fieldName, 'displayValue'])\n\t\t})),\n\t\ttotalCount\n\t};\n};\n\nexport const getVariables = properties => inputVal => {\n\tconst { additionalQueryString, tableName, fieldName, resultLimit } =\n\t\tproperties;\n\n\tif (tableName && fieldName) {\n\t\tconst starPrefixRegex = /^\\*(.*)$/;\n\t\tconst strippedInputVal = inputVal.replace(starPrefixRegex, '$1');\n\t\tconst nameMatch = `${fieldName}${\n\t\t\tstarPrefixRegex.test(inputVal) ? 'CONTAINS' : 'STARTSWITH'\n\t\t}${strippedInputVal}`;\n\t\tconst defaultOrderBy = `ORDERBY${fieldName}`;\n\n\t\tconst baseConditions = [defaultOrderBy, additionalQueryString];\n\n\t\tconst conditions = inputVal\n\t\t\t? [nameMatch, ...baseConditions]\n\t\t\t: baseConditions;\n\n\t\treturn {\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tconditions: compact(conditions).join('^')\n\t\t};\n\t}\n};\n\n/**\n * This component allows looking up arbitrary fields in a table. This is very\n * similar to the `sn-record-reference-connected` component, but it does not point to any\n * specific instance.\n */\nexport const view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tresults,\n\t\tisSearching,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tdecorations,\n\t\tsize\n\t} = properties;\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\t{...omit(properties, ['resultLimit'])}\n\t\t\tonValueChange={state.onValueChange}\n\t\t\tqueryBaseState={{ ...state }}\n\t\t\tdispatch={dispatch}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results}\n\t\t\tgetVariables={getVariables(properties)}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t\tsize={size}\n\t\t/>\n\t);\n};\n\n/**\n * ```jsx\n * // If you want declarative actions to work, add the dependency and add this import.\n * import '@devsnc/sn-declarative-actions';\n *\n * <now-record-field-lookup-connected\n *\t\ttableName=\"sys_user\"\n *\t\tfieldName=\"name\"\n *\t\tvalue=\"5137153cc611227c000bbd1bd8cd2005\"\n *\t\tdisplayValue=\"Abel Tutor\"\n * />\n * ```\n *\n * @seismicElement now-record-field-lookup-connected\n * @summary Now Record Field Lookup Connected Component\n *\n */\n\ncreateCustomElement('now-record-field-lookup-connected', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: GlideQueryBaseSeismic.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Additional filter to be added to the query string. The syntax should\n\t\t * follow the standard servicenow filter/query syntax.\n\t\t *\n\t\t * These conditions will added as an AND to the existing query condition.\n\t\t *\n\t\t * e.g. active=true\n\t\t *\n\t\t * @see https://docs.servicenow.com/bundle/orlando-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html#r_OpAvailableFiltersQueries\n\t\t * @type {string}\n\t\t */\n\t\tadditionalQueryString: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableEmailFreeformEntry: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideReferenceIcon: {},\n\n\t\t/**\n\t\t * Boolean to toggle reference qualifiers\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Please use `disableReferenceQualifier` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tignoreReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tnoEmail: {},\n\n\t\t/**\n\t\t * Callback function triggered when the user presses Enter\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Callback to show record\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treferenceAddonReadonly: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Flag to indicate whether or not to use the field name as\n\t\t * a reference key for the value selected instead of the sys_id\n\t\t *\n\t\t * @type {bool}\n\t\t */\n\t\tuseFieldNameAsKey: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 15 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Used to display extra custom pills on the field, which are not a part of the dropdown.\n\t\t * @type {Array.<{id: string, label: string, tooltipContent: string}>}\n\t\t */\n\t\tcustomPills: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new option is selected, adding a new pill, or making\n\t\t * a wrong reference selection.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a custom pill is removed by the user. Payload is an array of the custom\n\t\t * pills stil left on the field.\n\t\t * @type {array}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#CUSTOM_PILLS_CHANGED': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: {\n\t\t...actionHandlers.actionHandlers,\n\t\t'SN_GLIDE_QUERY_BASE#CUSTOM_PILLS_CHANGED': {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tdispatch(\n\t\t\t\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#CUSTOM_PILLS_CHANGED',\n\t\t\t\t\taction.payload\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_GLIDE_QUERY_BASE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_GLIDE_QUERY_BASE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tactionTypesToProps: { VALUE_SELECTED: 'addonValueSelected' },\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n\nexport const VALUE_CHANGED = 'SN_RECORD_FILE_ATTACHMENT#VALUE_CHANGED';\nexport const UPLOAD_ATTACHMENT_BUTTON_CLICKED =\n\t'UPLOAD_ATTACHMENT#BUTTON_CLICKED';\nexport const POST_ATTACHMENT_QUERY = 'POST_ATTACHMENT_QUERY';\nexport const POST_DATA_SUCCESS = 'POST_DATA_SUCCESS';\nexport const POST_DATA_FAILURE = 'POST_DATA_FAILURE';\nexport const BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const MODAL_BUTTON_CLICKED = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const FILE_RENAME_INPUT = 'FILE_ATTACHMENT#INPUT';\nexport const MODAL_OPEN_CHANGED = 'NOW_MODAL#OPENED_SET';\nexport const UPDATE_FILE_NAME = 'ATTACHMENT_UPDATE_ACTION';\nexport const RENAME_SUCCESS = 'RENAME_SUCCESS';\nexport const RENAME_FAILURE = 'RENAME_FAILURE';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED =\n\t'ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED';\nexport const ATTACHMENT_REPLACED = 'ATTACHMENT_REPLACED';\nexport const INPUT_CHANGED = 'NOW_INPUT#INPUT';\n\nexport const CANCEL_STR = t('Cancel');\nexport const DOWNLOAD = t('Download');\nexport const RETRY_UPLOAD = t('Retry upload');\n\n// File Attachment strings and labels\nexport const FILE_STRINGS = {\n\tattach: t('Attach file'),\n\tdeleteLabel: t('Delete attachment'),\n\tdeleteMessage: t(\n\t\t'Are you sure you want to delete this attachment? Changes cannot be undone.'\n\t),\n\tnoContent: t('No file attached.'),\n\tuploading: t('Uploading file...'),\n\tvirus: t('This file did not pass the virus scan.')\n};\n\n// User Image strings and labels\nexport const USER_IMAGE_STRINGS = {\n\tattach: t('Attach image'),\n\tdeleteLabel: t('Delete image'),\n\tdeleteMessage: t(\n\t\t'Are you sure you want to delete this image? Changes cannot be undone.'\n\t),\n\tnoContent: t('No image attached.'),\n\tuploading: t('Uploading image...'),\n\tvirus: t('This image did not pass the virus scan.')\n};\n\nexport const MODAL = Object.freeze({ Delete: 1, Edit: 2 });\n","export const getExtensionFromFileName = name => {\n\tif (name.lastIndexOf('.') === -1) return '';\n\n\tconst ext = name.substring(name.lastIndexOf('.') + 1).toLowerCase();\n\n\t// For iix (images), use png\n\treturn ext === 'iix' ? 'png' : ext;\n};\n\nexport const isInvalidFileType = (fileName, modifiedExtensions) => {\n\tif (modifiedExtensions.length < 1) return false;\n\treturn !modifiedExtensions.includes(getExtensionFromFileName(fileName));\n};\n\nexport const downloadAttachment = sysId => {\n\twindow.location.href = `/sys_attachment.do?sys_id=${sysId}`;\n};\n\nexport const getFileNameOnly = fileName => {\n\tif (fileName) {\n\t\tconst index = fileName.lastIndexOf('.');\n\t\treturn index > 0 ? fileName.substring(0, index) : fileName;\n\t}\n\treturn fileName;\n};\n","import { compact, get, toNumber } from 'lodash';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { t } from 'sn-translate';\n\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nimport {\n\tisInvalidFileType,\n\tgetFileNameOnly,\n\tgetExtensionFromFileName\n} from './attachmentUtils';\n\nimport {\n\tVALUE_CHANGED,\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tMODAL_OPEN_CHANGED,\n\tUPDATE_FILE_NAME,\n\tRENAME_SUCCESS,\n\tATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED,\n\tATTACHMENT_REPLACED,\n\tMODAL,\n\tFILE_STRINGS,\n\tUSER_IMAGE_STRINGS,\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED\n} from './constants';\n\nimport { FileAttachmentGraphQLUpdate as update } from './datasources/FileAttachmentGraphQLUpdate';\n\nconst createError = message => ({ type: 'error', message });\n\nexport const getInputNode = fileAttachmentHostNode => {\n\treturn fileAttachmentHostNode.shadowRoot\n\t\t.querySelector('now-input')\n\t\t.shadowRoot.querySelector('input');\n};\n\nexport const uploadAttachmentEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateProperties,\n\tupdateState\n}) => {\n\tconst {\n\t\ttableName,\n\t\ttableSysId,\n\t\textensions,\n\t\tonValueChange,\n\t\tname,\n\t\tinvalid,\n\t\tmaxAttachmentSize,\n\t\tscheduleForCleanup\n\t} = state.properties;\n\tconst selectedFile = action.payload;\n\tconst { name: file_name } = selectedFile;\n\n\tif (!invalid) {\n\t\tupdateProperties({ fileContent: selectedFile });\n\t}\n\n\tconst modifiedExtensions = compact((extensions || '').split(','));\n\tif (isInvalidFileType(file_name, modifiedExtensions)) {\n\t\tconst error = createError(\n\t\t\tt('Selected file type is invalid. Valid field types: {0}', extensions)\n\t\t);\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\terror\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(VALUE_CHANGED, { error });\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tmaxAttachmentSize &&\n\t\tselectedFile.size / 1000000 > toNumber(maxAttachmentSize)\n\t) {\n\t\tconst error = createError(\n\t\t\tt(\n\t\t\t\t'The selected file is too large. Maximum upload file size: {0}MB.',\n\t\t\t\tmaxAttachmentSize\n\t\t\t)\n\t\t);\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\terror\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(VALUE_CHANGED, { error });\n\t\t}\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\tattachmentLoading: true\n\t});\n\n\t// We have to set field to invalid here to ensure large files get uploaded before we allow a user\n\t// to save the record. Otherwise, the file might not upload properly\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: '',\n\t\t\tdisplayValue: '',\n\t\t\terror: { type: 'error' }\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, { error: { type: 'error' } });\n\t}\n\n\t// We have to prefix tablename with ZZ_YY so that these attachments do not appear in attachment lists\n\tconst modifiedTableName = 'ZZ_YY' + tableName;\n\n\tconst data = new FormData();\n\tdata.append('table_name', modifiedTableName);\n\tdata.append('schedule_for_cleanup', scheduleForCleanup);\n\tdata.append('table_sys_id', tableSysId);\n\tdata.append('file', selectedFile);\n\tdispatch(POST_ATTACHMENT_QUERY, { data });\n};\n\nexport const postAttachmentEffect = createHttpEffect(\n\t'/api/now/attachment/upload',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: false,\n\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\tdataParam: 'data',\n\t\tsuccessActionType: POST_DATA_SUCCESS,\n\t\terrorActionType: POST_DATA_FAILURE\n\t}\n);\n\nexport const postAttachmentSuccessEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tresult: { file_name, sys_id, content_type }\n\t} = action.payload;\n\tconst { name, onValueChange } = state.properties;\n\n\tupdateState({\n\t\tcontentType: content_type,\n\t\tnewFileName: getFileNameOnly(file_name),\n\t\tattachmentLoading: false,\n\t\treplaced: true\n\t});\n\n\tupdateProperties({\n\t\tcanEditName: true\n\t});\n\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: sys_id,\n\t\t\tdisplayValue: file_name\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tfile_name,\n\t\t\tsys_id\n\t\t});\n\t}\n};\n\nexport const postAttachmentFailureEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { name, onValueChange, fileContent } = state.properties;\n\n\t// Lets try to get the original file name before it was potentially renamed on upload\n\tconst file_name = fileContent\n\t\t? fileContent.name\n\t\t: action.meta.request.data.get('file').name;\n\n\tupdateState({\n\t\tattachmentLoading: false\n\t});\n\n\tconst error = createError(t('Unable to upload file. Please try again'));\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: '',\n\t\t\tdisplayValue: file_name,\n\t\t\terror\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, { file_name, error });\n\t}\n};\n\nexport const componentBootstrappedEffect = ({ state, updateState }) => {\n\tconst { contentType, displayValue, virusState, type } = state.properties;\n\tupdateState({\n\t\tcontentType,\n\t\tvirusDetected: virusState === 'not_available',\n\t\tnewFileName: getFileNameOnly(displayValue),\n\t\tfieldStrings: type === 'file' ? FILE_STRINGS : USER_IMAGE_STRINGS\n\t});\n};\n\nexport const buttonClickedEffect = ({ updateState, action }) => {\n\tconst { button } = action.payload;\n\tif (button === 'edit')\n\t\tupdateState({\n\t\t\tmodal: MODAL.Edit,\n\t\t\tedited: false\n\t\t});\n\tif (button === 'delete')\n\t\tupdateState({\n\t\t\tmodal: MODAL.Delete\n\t\t});\n};\n\nexport const modalButtonClickedEffect = ({ action, dispatch, state }) => {\n\tconst { variant } = action.payload.action;\n\tconst { newFileName, replaced } = state;\n\tconst { name, displayValue, value, onValueChange, type } = state.properties;\n\tconst changed =\n\t\tnewFileName != '' && newFileName != getFileNameOnly(displayValue);\n\n\t// Renamed\n\tif (variant === 'primary' && changed) {\n\t\tconst extension = getExtensionFromFileName(displayValue);\n\t\tconst composedFileName = newFileName + '.' + extension;\n\n\t\tdispatch(UPDATE_FILE_NAME, {\n\t\t\tfile_name: composedFileName,\n\t\t\tsys_id: value\n\t\t});\n\t}\n\n\t// Removed\n\tif (variant === 'primary-negative') {\n\t\t// For user image, we must ensure we remove the previous attachment\n\t\t// only if it was already replaced at least once before saving\n\t\tif (replaced && type !== 'file') {\n\t\t\tdispatch(ATTACHMENT_REPLACED, { oldSysId: value });\n\t\t}\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: ''\n\t\t\t});\n\t\t}\n\t\tdispatch(VALUE_CHANGED, { file_name: '', sys_id: '' });\n\t}\n\n\tdispatch(MODAL_OPEN_CHANGED, { value: false });\n};\n\nexport const renameSuccessEffect = ({\n\taction,\n\tstate,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst fileName = get(\n\t\taction,\n\t\t'payload.data.GlideRecord_Mutation.update_sys_attachment.file_name.value',\n\t\t''\n\t);\n\tconst { onValueChange, value, name } = state.properties;\n\n\tupdateState({\n\t\tnewFileName: getFileNameOnly(fileName)\n\t});\n\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue: fileName\n\t\t});\n\t}\n\tdispatch(VALUE_CHANGED, {\n\t\tfile_name: fileName,\n\t\tsys_id: value\n\t});\n};\n\nexport const renameFailureEffect = ({ dispatch, state }) => {\n\tconst { onValueChange, value, name, displayValue } = state.properties;\n\tconst error = createError(t('Unable to rename file. Please try again'));\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\teventTitle: 'NOW_MODAL#RENAME_CLICKED_FAILURE',\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror\n\t\t});\n\t}\n\tdispatch(VALUE_CHANGED, {\n\t\tfile_name: displayValue,\n\t\terror\n\t});\n};\n\nexport const updateAttachment = createGraphQLEffect(update, {\n\tvariableList: ['sys_id', 'file_name'],\n\tsuccessActionType: RENAME_SUCCESS,\n\terrorActionType: POST_DATA_FAILURE\n});\n\nexport const modalOpenedChangeEffect = ({ updateState, state }) => {\n\tconst { displayValue } = state.properties;\n\tupdateState({\n\t\tmodal: null,\n\t\tnewFileName: getFileNameOnly(displayValue),\n\t\tvirusDetected: false\n\t});\n};\n\nexport const modalInputChangeEffect = ({ action, state, updateState }) => {\n\tconst newFileName = action.payload.newFileName;\n\tconst { displayValue } = state.properties;\n\tconst { edited } = state;\n\tconst changed = newFileName != getFileNameOnly(displayValue);\n\n\t//After first edit, use newFileName as value for input\n\tif (changed || edited) {\n\t\tupdateState({\n\t\t\tedited: true,\n\t\t\tnewFileName\n\t\t});\n\t}\n};\n\nexport const nowButtonBareEffect = ({ dispatch }) => {\n\tdispatch(ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED);\n};\n\nexport const attachmentFileUploadButtonEffect = coeffects => {\n\tconst { host } = coeffects;\n\tconst inputNode = getInputNode(host);\n\tinputNode.click();\n};\n\nexport const nowInputChange = ({ host, dispatch }) => {\n\tconst inputNode = getInputNode(host);\n\tif (inputNode != null) {\n\t\tconst file = inputNode.files[0];\n\t\tdispatch(UPLOAD_ATTACHMENT_BUTTON_CLICKED, file);\n\t}\n};\n\nexport const attachmentReplacedEffect = createHttpEffect(\n\t'/api/now/attachment/:oldSysId',\n\t{\n\t\tmethod: 'DELETE',\n\t\tpathParams: ['oldSysId'],\n\t\tbatch: false\n\t}\n);\n","const FileAttachmentGraphQLUpdate = `\nmutation ($sys_id: String!, $file_name: String!) {\n\tGlideRecord_Mutation {\n\t\tupdate_sys_attachment(sys_id: $sys_id, file_name: $file_name) {\n\t\t\tfile_name {\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport { FileAttachmentGraphQLUpdate };\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport {\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED,\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tBUTTON_CLICKED,\n\tMODAL_BUTTON_CLICKED,\n\tFILE_RENAME_INPUT,\n\tMODAL_OPEN_CHANGED,\n\tUPDATE_FILE_NAME,\n\tRENAME_SUCCESS,\n\tRENAME_FAILURE,\n\tNOW_BUTTON_BARE_CLICKED,\n\tATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED,\n\tATTACHMENT_REPLACED,\n\tINPUT_CHANGED\n} from './constants';\nimport {\n\tuploadAttachmentEffect,\n\tpostAttachmentEffect,\n\tpostAttachmentSuccessEffect,\n\tpostAttachmentFailureEffect,\n\tcomponentBootstrappedEffect,\n\tbuttonClickedEffect,\n\tmodalButtonClickedEffect,\n\tmodalOpenedChangeEffect,\n\tmodalInputChangeEffect,\n\tupdateAttachment,\n\trenameSuccessEffect,\n\trenameFailureEffect,\n\tnowButtonBareEffect,\n\tattachmentFileUploadButtonEffect,\n\tattachmentReplacedEffect,\n\tnowInputChange\n} from './effects';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DOM_TREE_READY } = actionTypes;\n\nexport default {\n\tactionHandlers: {\n\t\t[UPLOAD_ATTACHMENT_BUTTON_CLICKED]: {\n\t\t\teffect: uploadAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_ATTACHMENT_QUERY]: {\n\t\t\t...postAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_SUCCESS]: {\n\t\t\teffect: postAttachmentSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_FAILURE]: {\n\t\t\teffect: postAttachmentFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[BUTTON_CLICKED]: {\n\t\t\teffect: buttonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MODAL_BUTTON_CLICKED]: {\n\t\t\teffect: modalButtonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MODAL_OPEN_CHANGED]: {\n\t\t\teffect: modalOpenedChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FILE_RENAME_INPUT]: {\n\t\t\teffect: modalInputChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UPDATE_FILE_NAME]: {\n\t\t\t...updateAttachment,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[RENAME_SUCCESS]: {\n\t\t\teffect: renameSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[RENAME_FAILURE]: {\n\t\t\teffect: renameFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: nowButtonBareEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED]: {\n\t\t\teffect: attachmentFileUploadButtonEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ATTACHMENT_REPLACED]: {\n\t\t\t...attachmentReplacedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({ host, properties }) => {\n\t\t\tlet focusElement;\n\t\t\tif (\n\t\t\t\tisAttrTrue(properties.autofocus) &&\n\t\t\t\t!isAttrTrue(properties.readonly)\n\t\t\t) {\n\t\t\t\tconst selector =\n\t\t\t\t\tproperties.type === 'file' ? 'now-text-link' : 'now-button-bare';\n\t\t\t\tfocusElement = host.shadowRoot.querySelector(selector);\n\t\t\t\tif (focusElement) {\n\t\t\t\t\tfocusElement.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[INPUT_CHANGED]: {\n\t\t\teffect: nowInputChange,\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@devsnc/sn-record-input';\nimport { t } from 'sn-translate';\nimport { FILE_RENAME_INPUT } from './constants';\n\nexport default (dispatch, newFileName) => (\n\t<sn-record-input\n\t\tvalue={newFileName}\n\t\tlabel={t('Name')}\n\t\trequired\n\t\tmaxlength=\"40\"\n\t\tonChange={event => {\n\t\t\tdispatch(FILE_RENAME_INPUT, { newFileName: event.target.value });\n\t\t}}\n\t/>\n);\n","import { t } from 'sn-translate';\nimport { noop, isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport 'sn-component-file-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-input';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport { getAriaLabelFromConfig, isAttrTrue } from '@devsnc/sn-controls-common';\n\nimport renameContent from './renameModal';\nimport {\n\tgetExtensionFromFileName,\n\tdownloadAttachment\n} from './attachmentUtils';\nimport {\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED,\n\tVALUE_CHANGED,\n\tMODAL,\n\tCANCEL_STR,\n\tDOWNLOAD,\n\tRETRY_UPLOAD\n} from './constants';\n\n/**\n * Renders the field actions (declarative action-esque buttons and associated modals)\n */\nexport const FieldActions = ({ state, dispatch, ...buttons }) => {\n\tconst { edited, newFileName, properties, fieldStrings, modal } = state;\n\tconst { fileContent, value: sysId } = properties;\n\tconst { deleteLabel, deleteMessage } = fieldStrings;\n\tconst { download, sync, edit, remove } = buttons;\n\n\tlet editButton = noop;\n\tlet editModal = noop;\n\tif (edit) {\n\t\tconst editLabel = t('Edit Attachment Name');\n\t\teditButton = () => (\n\t\t\t<now-button-iconic\n\t\t\t\tbare\n\t\t\t\ticon=\"pencil-page-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{ 'aria-label': editLabel }}\n\t\t\t\tappend-to-payload={{ button: 'edit' }}\n\t\t\t\ttooltip-content={editLabel}\n\t\t\t/>\n\t\t);\n\n\t\teditModal = () => (\n\t\t\t<now-modal\n\t\t\t\topened={modal === MODAL.Edit}\n\t\t\t\theader-label={editLabel}\n\t\t\t\tcontent={renameContent(dispatch, newFileName)}\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t('Submit'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t...(isAttrTrue(edited) && !isEmpty(newFileName)\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { disabled: true })\n\t\t\t\t\t},\n\t\t\t\t\t{ label: CANCEL_STR, variant: 'secondary' }\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\tlet deleteButton = noop;\n\tlet deleteModal = noop;\n\tif (remove) {\n\t\tdeleteButton = () => (\n\t\t\t<now-button-iconic\n\t\t\t\tbare\n\t\t\t\ticon=\"trash-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{ 'aria-label': deleteLabel }}\n\t\t\t\tappend-to-payload={{ button: 'delete' }}\n\t\t\t\ttooltip-content={deleteLabel}\n\t\t\t/>\n\t\t);\n\n\t\tdeleteModal = () => (\n\t\t\t<now-modal\n\t\t\t\topened={modal === MODAL.Delete}\n\t\t\t\theader-label={deleteLabel}\n\t\t\t\tcontent={deleteMessage}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{ label: t('Delete'), variant: 'primary-negative' },\n\t\t\t\t\t{ label: CANCEL_STR, variant: 'secondary' }\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{download ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"download-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{ 'aria-label': DOWNLOAD }}\n\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\tdownloadAttachment(sysId);\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={DOWNLOAD}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{sync && fileContent ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"sync-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{ 'aria-label': RETRY_UPLOAD }}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(UPLOAD_ATTACHMENT_BUTTON_CLICKED, fileContent);\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={RETRY_UPLOAD}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{editButton()}\n\t\t\t{deleteButton()}\n\t\t\t{editModal()}\n\t\t\t{deleteModal()}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Dispatches the preview for the attachment\n */\nexport const dispatchAttachmentPreview =\n\t({ dispatch, displayValue, value, contentType, readonly }) =>\n\te => {\n\t\te.preventDefault();\n\n\t\tdispatch('ATTACHMENT_PREVIEW#LOAD', {\n\t\t\titem: {\n\t\t\t\tname: displayValue,\n\t\t\t\tsysId: value,\n\t\t\t\ttype: contentType,\n\t\t\t\tcanDelete: false,\n\t\t\t\treadonly: isAttrTrue(readonly)\n\t\t\t}\n\t\t});\n\t};\n\n/**\n * Renders uploading state\n */\nexport const renderUploadingState = ({ uploading }) => (\n\t<div className=\"attachment-loading-container\">\n\t\t<div className=\"attachment-loader\">\n\t\t\t<now-loader size=\"md\" />\n\t\t<\/div>\n\t\t<div className=\"attachment-loading-content\">\n\t\t\t<span>{uploading}<\/span>\n\t\t<\/div>\n\t<\/div>\n);\n\n/**\n * Renders empty state\n */\nexport const renderEmptyState = state => {\n\tconst {\n\t\tfieldStrings: { attach, noContent },\n\t\tproperties: { readonly, required, configAria }\n\t} = state;\n\n\tif (isAttrTrue(readonly)) {\n\t\treturn (\n\t\t\t<div className=\"empty-read-only\">\n\t\t\t\t<span\n\t\t\t\t\trole=\"textbox\"\n\t\t\t\t\taria-readonly=\"true\"\n\t\t\t\t\taria-placeholder={noContent}\n\t\t\t\t\taria-label={noContent}\n\t\t\t\t>\n\t\t\t\t\t&mdash;\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\tconst inputAriaConfig = {\n\t\tinput: {\n\t\t\t...{ 'aria-label': attach },\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n\n\tif (isAttrTrue(required)) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<now-button-bare\n\t\t\t\t\ticon-start=\"paperclip-outline\"\n\t\t\t\t\tlabel={attach}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t('{fieldLabel}, required, {fieldState}', {\n\t\t\t\t\t\t\tfieldLabel: attach,\n\t\t\t\t\t\t\tfieldState: noContent\n\t\t\t\t\t\t})\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<now-input\n\t\t\t\t\tid=\"fileInput\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\trequired={true}\n\t\t\t\t\tconfig-aria={inputAriaConfig}\n\t\t\t\t/>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button-bare\n\t\t\t\ticon-start=\"paperclip-outline\"\n\t\t\t\tlabel={attach}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': t('{fieldLabel}, {fieldState}', {\n\t\t\t\t\t\tfieldLabel: attach,\n\t\t\t\t\t\tfieldState: noContent\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\tid=\"fileInput\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\ttype=\"file\"\n\t\t\t\tconfig-aria={inputAriaConfig}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders failed state\n */\nexport const renderFailedState = (state, dispatch) => {\n\tconst { displayValue } = state.properties;\n\treturn (\n\t\t<div className=\"disabled-file\">\n\t\t\t<div className=\"retry-content\">\n\t\t\t\t<div className=\"retry-attachment-icon\">\n\t\t\t\t\t<now-icon icon=\"paperclip-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t\t<span className=\"retry-attachment-text\" data-truncation>\n\t\t\t\t\t{displayValue}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div className=\"retryfile-buttons\">\n\t\t\t\t<FieldActions sync remove state={state} dispatch={dispatch} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders virus state\n */\nexport const renderVirusState = (state, dispatch) => {\n\tconst { displayValue, type } = state.properties;\n\tconst isFile = type === 'file';\n\treturn (\n\t\t<div className=\"disabled-file\">\n\t\t\t<div className=\"infected-content\">\n\t\t\t\t<div className=\"infected-attachment-icon\">\n\t\t\t\t\t<now-icon icon=\"paperclip-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t\t<span className=\"infected-attachment-text\" data-truncation>\n\t\t\t\t\t{isFile ? displayValue : t('Image')}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div className=\"infected-buttons\">\n\t\t\t\t<FieldActions remove state={state} dispatch={dispatch} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders successful state\n */\nexport const renderSuccessfulState = (state, dispatch) => {\n\tconst { value, displayValue, contentType, readonly, type, canEditName } =\n\t\tstate.properties;\n\tconst isFile = type === 'file';\n\treturn (\n\t\t<div className=\"container\">\n\t\t\t<div className=\"attachments-content\">\n\t\t\t\t{isFile ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"sn-file-icon\">\n\t\t\t\t\t\t\t<sn-file-icon\n\t\t\t\t\t\t\t\tclassName=\"sn-icon\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tmime-type={contentType}\n\t\t\t\t\t\t\t\textension={getExtensionFromFileName(displayValue)}\n\t\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tclassName=\"attachment-link\"\n\t\t\t\t\t\t\tlabel={displayValue}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': t('Preview attachment {0}', displayValue)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\ton-click={dispatchAttachmentPreview({\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tcontentType,\n\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\ticon-start=\"image-outline\"\n\t\t\t\t\t\tlabel={t('View image')}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ton-click={dispatchAttachmentPreview({\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tdisplayValue: t('Image Preview'),\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tcontentType,\n\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{!isAttrTrue(readonly) ? (\n\t\t\t\t<div className=\"buttons-content\">\n\t\t\t\t\t<FieldActions\n\t\t\t\t\t\tdownload={isFile}\n\t\t\t\t\t\tedit={isFile && canEditName}\n\t\t\t\t\t\tremove\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<div className=\"download-button\">\n\t\t\t\t\t<FieldActions download={isFile} state={state} dispatch={dispatch} />\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders view\n */\nexport default (state, { dispatch }) => {\n\tlet {\n\t\tattachmentLoading,\n\t\tfieldStrings,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tinvalid,\n\t\t\tonValueChange,\n\t\t\treadonly,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tvirusDetected\n\t} = state;\n\n\tif (virusDetected && !invalid) {\n\t\tlet errorMessage = fieldStrings.virus;\n\t\tif (onValueChange) {\n\t\t\tonValueChange(null, name, value, displayValue, {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t});\n\t\t}\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tfile_name: displayValue,\n\t\t\tsys_id: value,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tconst classReadOnly = isAttrTrue(readonly) ? 'read-only' : '';\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`attachment-content sn-control-field no-border no-background ${classReadOnly}`}\n\t\t\t>\n\t\t\t\t<div className=\"field-container\">\n\t\t\t\t\t{(() => {\n\t\t\t\t\t\t// Attachment uploading\n\t\t\t\t\t\tif (isAttrTrue(attachmentLoading)) {\n\t\t\t\t\t\t\treturn renderUploadingState(fieldStrings);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Upload failed\n\t\t\t\t\t\tif (invalid && isEmpty(value) && !isEmpty(displayValue)) {\n\t\t\t\t\t\t\treturn renderFailedState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Initial State or live update clearing the value\n\t\t\t\t\t\tif (isEmpty(value) || isEmpty(displayValue)) {\n\t\t\t\t\t\t\treturn renderEmptyState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Virus detected\n\t\t\t\t\t\tif (virusDetected) {\n\t\t\t\t\t\t\treturn renderVirusState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn renderSuccessfulState(state, dispatch);\n\t\t\t\t\t})()}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport styles from './fileattachment.scss';\nimport attachmentActions from './actions';\nimport view from './view';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst COMPONENT_NAME = 'sn-record-file-attachment';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n *\n *  Simple File Attachment Component\n *```jsx\n *\t<sn-record-file-attachment\n *\t\tlabel=\"I am File attachment\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-file-attachment\n * @summary *  File Attachment Component.\n * */\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tfieldStrings: {},\n\t\tcontentType: '',\n\t\tnewFileName: '',\n\t\tedited: false,\n\t\treplaced: false,\n\t\tattachmentLoading: false,\n\t\tmodal: null,\n\t\tvirusDetected: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished rendering.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tdefault: false,\n\t\t\tschema: { oneOf: [{ type: 'boolean' }, { type: 'string' }] }\n\t\t},\n\t\t/**\n\t\t * Checks users has the rights to edit the attachmnet name or not\n\t\t * @type {boolean}\n\t\t */\n\t\tcanEditName: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Additional messages used to give status information on a field, usually\n\t\t * to provide error messages or warnings\n\t\t * @type {array}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Flag indicating whether there is an error\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Name of file name of the attachment\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { default: '' },\n\t\t/**\n\t\t * SysId of table to which file gets attached\n\t\t * @type {string}\n\t\t */\n\t\ttableSysId: { default: '' },\n\t\t/**\n\t\t * Name of table where file gets attached to.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { default: '' },\n\t\t/**\n\t\t * SysId of attachment record in sys_attachment table\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Content type of file attached\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: { default: '' },\n\t\t/**\n\t\t * Flag to schedule attachment for cleanup.\n\t\t * If true, the uploaded attachment will be orphaned and cleaned up by the system unless an external actor marks it as not to be removed.\n\t\t * This is mainly used when intermediary attachments can be uploaded when a user edits the value without saving it in the persistence layer.\n\t\t * In the case of the record page in the workspace, while saving the value to the persistence layer, the form will remove the cleanup entry if the field value changes otherwise won't interfere with the process.\n\t\t * @type {boolean}\n\t\t */\n\t\tscheduleForCleanup: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Virus scan state of attachment\n\t\t * @type {string}\n\t\t */\n\t\tvirusState: { default: '' },\n\t\t/**\n\t\t * List of file extensions that can be attached\n\t\t * @type {string}\n\t\t */\n\t\textensions: { default: '' },\n\t\t/**\n\t\t * File Content of file attachment\n\t\t * @type {object}\n\t\t */\n\t\tfileContent: {},\n\t\t/**\n\t\t * Maximum size limit an attachment can support\n\t\t * @type {string}\n\t\t */\n\t\tmaxAttachmentSize: { default: '' },\n\t\t/**\n\t\t * File attachment sub-type\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'file',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['file', 'user-image']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\t...attachmentActions,\n\n\tdispatches: {\n\t\t/**\n\t\t * Dispatches when attachment records gets created in sys_attachment table.\n\t\t * @type {{ value: string,displayValue: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_FILE_ATTACHMENT#VALUE_CHANGED': {}\n\t},\n\tstyles,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\ttooltipBehavior,\n\t\ttruncationBehavior\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const SN_RECORD_CHOICE = {\n\tFOCUS_SET: 'SN_RECORD_CHOICE#FOCUS_SET'\n};\n\nexport const NOW_DROPDOWN_CUSTOM_TARGET = {\n\tSELECTED_ITEMS_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET',\n\tOPENED_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET'\n};\n\nexport const NOW_DROPDOWN_LIST = {\n\tITEM_CLICKED: 'NOW_DROPDOWN_LIST#ITEM_CLICKED'\n};\n","import { CALLBACK_AND_DISPATCH, isAttrFalse } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tNOW_DROPDOWN_CUSTOM_TARGET,\n\tNOW_DROPDOWN_LIST,\n\tSN_RECORD_CHOICE\n} from './constants';\n\nconst focusTrigger = host => {\n\tconst trigger = host.shadowRoot.querySelector('.sn-control-field');\n\tif (trigger) trigger.focus();\n};\n\nconst dispatchOnValueChange = ({ onValueChange, dispatchPayload, dispatch }) =>\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload\n\t});\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: ({ host, properties }) => {\n\t\tconst { autofocus, readonly } = properties;\n\t\tif (autofocus && isAttrFalse(readonly)) focusTrigger(host);\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.SELECTED_ITEMS_SET]: ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch\n\t}) => {\n\t\tconst { label: displayValue, id: value } = action.payload.items[0];\n\t\tconst { onValueChange } = properties;\n\t\tconst dispatchPayload = { value, displayValue };\n\t\tdispatchOnValueChange({ onValueChange, dispatchPayload, dispatch });\n\t\taction.stopPropagation();\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.OPENED_SET]: ({ action, updateState }) => {\n\t\tconst { value } = action.payload;\n\t\tupdateState({\n\t\t\tisDropdownOpen: value\n\t\t});\n\t\taction.stopPropagation();\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.ITEM_CLICKED]: {\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ITEM_CLICKED]: {\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CHOICE.FOCUS_SET]: ({ action, updateState }) => {\n\t\tconst { value } = action.payload;\n\t\tupdateState({\n\t\t\tisFocused: value\n\t\t});\n\t\taction.stopPropagation();\n\t}\n};\n","import { isFunction } from \"lodash\";\nimport { SN_RECORD_CHOICE } from \"./constants\";\n\nexport default [\n  {\n    events: ['click'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onClick }\n    }) => {\n      if (isFunction(onClick)) {\n        onClick(event);\n      }\n    }\n  },\n  {\n    events: ['blur'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onBlur },\n      dispatch\n    }) => {\n      dispatch(SN_RECORD_CHOICE.FOCUS_SET, { value: false });\n      if (isFunction(onBlur)) {\n        onBlur(event);\n      }\n    }\n  },\n  {\n    events: ['focus'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onFocus },\n      dispatch\n    }) => {\n      dispatch(SN_RECORD_CHOICE.FOCUS_SET, { value: true });\n      if (isFunction(onFocus)) {\n        onFocus(event);\n      }\n    }\n  },\n  {\n    events: ['keydown'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onKeyDown }\n    }) => {\n      if (isFunction(onKeyDown)) {\n        onKeyDown(event);\n      }\n    }\n  },\n  {\n    events: ['keyup'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onKeyUp }\n    }) => {\n      if (isFunction(onKeyUp)) {\n        onKeyUp(event);\n      }\n    }\n  },\n]","import makeClass from 'classnames';\nimport { omit, compact } from 'lodash';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-input';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\n\n// Function imports\nimport {\n\tgetFieldDisplayValue,\n\taccessibilityAttributes,\n\tisEditable,\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twrapHelperContent,\n\ttransformDescriptionAndMessages,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps,\n\tSeismicControlledFieldProps,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tgetAriaLabelFromConfig\n} from '@devsnc/sn-controls-common';\n\n// Style imports\nimport style from './choice.scss';\nimport { actionHandlers } from './actionHandlers';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\nimport eventHandlers from './eventHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst getAccessibilityAttributes = (state, displayValue) => {\n\tconst { configAria, ariaLabel, label } = state.properties;\n\tconst { isDropdownOpen } = state;\n\tconst propAriaLabel = configAria?.['aria-label'] || ariaLabel || label;\n\n\t//screen reader to announce the label along with the selected value if exists\n\tconst propAriaLabelWithSelectedChoice = compact([\n\t\tpropAriaLabel,\n\t\t!isDropdownOpen ? displayValue : ''\n\t]).join(' ');\n\n\tconst accessibilityAttrs = accessibilityAttributes({\n\t\t// Need an explicit `aria-label` for NVDA/JAWS :( But\n\t\t// consumer can override ariaLabel value.\n\t\t...state.properties,\n\t\tconfigAria: {\n\t\t\t...configAria,\n\t\t\t'aria-label': propAriaLabelWithSelectedChoice\n\t\t}\n\t});\n\n\tconst ariaAttributes = {\n\t\t'aria-haspopup': 'listbox',\n\t\t'aria-expanded': Boolean(isDropdownOpen).toString()\n\t};\n\treturn { ...accessibilityAttrs, ...ariaAttributes };\n};\n\nconst transformChoices = (choices = []) => {\n\treturn choices.map(choice => ({\n\t\tid: choice.value + '',\n\t\tlabel: choice.displayValue + ''\n\t}));\n};\n\n/**\n * Allows users to select from a predefined list of options.\n */\nconst view = state => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\trequired,\n\t\t\tautofocus,\n\t\t\thelperContent,\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\treadonly,\n\t\t\tdisabled,\n\t\t\thasHover,\n\t\t\tvalue,\n\t\t\tclassName,\n\t\t\tchoices,\n\t\t\tconfigAria\n\t\t},\n\t\tisFocused,\n\t\tisDropdownOpen\n\t} = state;\n\n\tconst renderReadOnly = displayValue => {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\trequired={required}\n\t\t\t\tlabel={label}\n\t\t\t\tplaceholder=\"—\"\n\t\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tvalue={displayValue}\n\t\t\t\treadonly\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderTrigger = displayValue => {\n\t\tconst { placeholder } = properties;\n\n\t\tif (!isEditable(properties)) return;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tslot=\"trigger\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t'is-hover': hasHover,\n\t\t\t\t\t'read-only': isAttrTrue(readonly),\n\t\t\t\t\t'is-disabled': isAttrTrue(disabled)\n\t\t\t\t})}\n\t\t\t\t{...getAccessibilityAttributes(state, displayValue)}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={makeClass(\n\t\t\t\t\t\t'sn-select',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-placeholder': !value && placeholder\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"sn-select-value\" data-truncation>\n\t\t\t\t\t\t{displayValue}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<div className=\"sn-select-icon\">\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"context-select\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst placeholder = isAttrTrue(readonly) ? '—' : properties.placeholder;\n\tconst displayValue = getFieldDisplayValue(\n\t\tproperties.value,\n\t\tproperties.displayValue,\n\t\tplaceholder,\n\t\tchoices\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEditable(properties) ? (\n\t\t\t\trenderReadOnly(displayValue)\n\t\t\t) : (\n\t\t\t\t<ControlWrapper {...properties} hasFocus={isFocused || isDropdownOpen}>\n\t\t\t\t\t<now-dropdown-custom-target\n\t\t\t\t\t\titems={transformChoices(choices)}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Select value for {0}')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderTrigger(displayValue)}\n\t\t\t\t\t<\/now-dropdown-custom-target>\n\t\t\t\t<\/ControlWrapper>\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-record-choice', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tactionHandlers: actionHandlers,\n\teventHandlers,\n\tinitialState: {\n\t\tisFocused: false,\n\t\tisDropdownOpen: false\n\t},\n\ttransformState,\n\tproperties: {\n\t\t...omit(SeismicComponentFieldPropDefaults, ['aria-labelledby']),\n\t\t...omit(SeismicComponentProps),\n\t\t...omit(SeismicControlledFieldProps),\n\t\t/**\n\t\t * Current model value for the component\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * User-friendly representation of the current value. When not provided, the\n\t\t * component will fallback to the displayValue for the selected choice.\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Array of choice objects\n\t\t */\n\t\tchoices: { schema: { type: 'array' } },\n\n\t\t/**\n\t\t * Classname to apply to the sn-record-control span\n\t\t */\n\t\tclassName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} }\n\t},\n\tbehaviors: [\n\t\twithValueChangeCallbackBehavior,\n\t\ttruncationBehavior,\n\t\ttooltipBehavior\n\t]\n});\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"tinymce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__.__esModule\n\t\t\t\t\tif (cjsModule && 'tinymce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"].tinymce;\n\t\t\t\t\t} else if ('tinymce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__.tinymce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_28_7_1_index_jsdbx_a733b50e__[\"default\"].tinymce;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const POST_ATTACHMENT_QUERY = 'POST_ATTACHMENT_QUERY';\nexport const POST_DATA_START = 'POST_DATA_START';\nexport const POST_DATA_PROGRESS = 'POST_DATA_PROGRESS';\nexport const POST_DATA_SUCCESS = 'POST_DATA_SUCCESS';\nexport const POST_DATA_FAILURE = 'POST_DATA_FAILURE';\n\nexport const GET_ATTACHMENTS_DATA = 'GET_ATTACHMENTS_DATA';\nexport const GET_ATTACHMENTS_SUCCESS = 'GET_ATTACHMENTS_SUCCESS';\nexport const GET_ATTACHMENTS_FAILURE = 'GET_ATTACHMENTS_FAILURE';\n\nexport const EDITOR_ON_CHANGE = 'TINYMCE_EDITOR#ON_CHANGE';\nexport const EDITOR_ON_KEYDOWN = 'TINYMCE_EDITOR#ON_KEYDOWN';\nexport const EDITOR_ON_FOCUS_OUT = 'TINYMCE_EDITOR#FOCUS_OUT';\nexport const EDITOR_ON_FOCUS_IN = 'TINYMCE_EDITOR#FOCUS_IN';\nexport const EDITOR_ON_BLUR = 'TINYMCE_EDITOR#ON_BLUR';\nexport const EDITOR_ON_FOCUS = 'TINYMCE_EDITOR#ON_FOCUS';\nexport const EDITOR_ON_CLICK = 'TINYMCE_EDITOR#ON_CLICK';\nexport const EDITOR_SET_CONTENT = 'TINYMCE_EDITOR#SET_CONTENT';\nexport const EDITOR_SET_FOCUS = 'TINYMCE_EDITOR#SET_FOCUS';\nexport const EDITOR_ON_RESIZE = 'TINYMCE_EDITOR#ON_RESIZE';\n\nexport const INSERT_PILL = 'INSERT_PILL';\n\nexport const CODE_BLOCK_PATTERN = /^\\[code\\]([\\s\\S]*)\\[\\/code\\]$/;\n\n// Items not supported by workspace version of tinymce\nexport const PLUGIN_BLOCKLIST = ['wordcount'];\n\nexport const OBSOLETE_PLUGINS = [\n\t// TinyMCE plugins that were moved to core\n\t'textcolor',\n\t'colorpicker',\n\t'sn_resizer',\n\t'hr',\n\t'noneditable',\n\t'print',\n\t'paste',\n\t// SN plugins that were removed\n\t'a11y_fixes',\n\t'anchor_fix',\n\t'data_uri_sanitize',\n\t'enable_iframe_media',\n\t'instructional_text',\n\t'notificationhandler',\n\t'readonlymode',\n\t'snLink',\n\t// Plugins that were completely removed from everywhere\n\t'compat3x',\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker'\n];\n\n// Plugins required for all tinymce instances\nexport const REQUIRED_PLUGINS = [\n\t'powerpaste',\n\t'sn_popups_fix',\n\t'sn_tooltip'\n].join(' ');\n\n// @see TinyMCE ResizeTypes.VERTICAL\nexport const EDITOR_VERTICAL_RESIZE_TYPE = 2;\n\n// Number of pixes surrounding the editor content\nexport const EDITOR_CONTENT_MARGIN = 16;\n// Number of pixels of margin surrounding a single line in the html editor\nexport const EDITOR_LINE_MARGIN = 13.333;\n// Number of pixels representing the default font height of the editor\nexport const EDITOR_FONT_HEIGHT = 18;\n\n// Size of editor toolbar in pixels\nexport const EDITOR_TOOLBAR_HEIGHT = 39;\n// Size of the editor statusbar in pixels\nexport const EDITOR_STATUSBAR_HEIGHT = 25;\n\nexport const SETUP_TINYMCE_EDITOR = 'SETUP_TINYMCE_EDITOR';\nexport const REMOVE_TINYMCE_EDITOR = 'REMOVE_TINYMCE_EDITOR';\n\nexport const DEFAULT_FONT_FAMILY = 'Verdana';\nconst DEFAULT_FONT = `${DEFAULT_FONT_FAMILY.toLowerCase()},sans-serif`;\nexport const DEFAULT_FONT_SIZE = '10pt';\nexport const DEFAULT_FONT_FORMAT = `${DEFAULT_FONT_FAMILY}=${DEFAULT_FONT}`;\n\n// Some defaults used by tinymce v4 compatibility layer\n// TODO: remove when compatibility layer gets removed\nexport const DEFAULT_MIN_HEIGHT = 100;\n// refer - ./html.scss for min-height: 160px for the same element, which is a fallback of default height passed to tinymce init function.\nexport const DEFAULT_HEIGHT = 160;\nexport const DEFAULT_MAX_HEIGHT = 2000;\n\n//class to enable scroll in tinyMCE body when required\nexport const OVERRIDE_OVERFLOW_SELECTOR = 'override-overflow-y';\nexport const OVERRIDE_OVERFLOW_STYLE = `.${OVERRIDE_OVERFLOW_SELECTOR} { overflow-y : auto !important}`;\n\nexport const VALID_LINK_TARGETS = ['', '_self', '_blank', '_top'];\n\nexport const MAXIMUM_DOM_PARSING_DEPTH = 10;\nexport const TEXT_AREA_ID_PREFIX = 'html-';\nexport const DEFAULT_ARIA_LABEL = 'Rich Text Area. Press ALT-0 for help.';\nexport const TOOLBAR_INSTRUCTION_TEXT = t(\n\t'In the editor, press Alt+F10 to focus on the toolbar. Mac press Option+F10 to focus on the toolbar. Press escape to return to the editor.'\n);\nexport const FIT_TO_PARENT_OPTION = 'fit_to_parent';\n","import {\n\trenderTranslatedText,\n\trenderTranslateIcon\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-control';\nimport { tinymce } from 'sn-tinymce';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\nimport { SETUP_TINYMCE_EDITOR } from './constants';\nimport makeClass from 'classnames';\n\nexport const removeTinymceEditor = ({ elm, updateState }) => {\n\tconst node = elm.querySelector('textarea');\n\t// For some reason tinymce saves settings to global tinymce and then replaces it for each new instance\n\t// Lets set it to null to prevent leaks when the targets match and we are removing this instance\n\tif (node === tinymce?.settings?.target) {\n\t\ttinymce.settings = {};\n\t}\n\n\ttry {\n\t\ttinymce?.get(node.id).remove();\n\t} catch (e) {\n\t\t// For firefox, we need to wrap this in a try block otherwise it MIGHT throw NS_ERROR_UNEXPECTED\n\t\t// We dont need to handle it since its gone\n\t}\n\tupdateState({\n\t\tpath: 'editor',\n\t\tvalue: null,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tiny.cloud).\n */\nconst TinyMCEEditor = ({ updateState, dispatch, ...properties }) => (\n\t<div\n\t\tclassName={makeClass('sn-editor', {\n\t\t\t'fit-to-parent': properties.fitToParent\n\t\t})}\n\t\thook-insert={({ elm }) => {\n\t\t\tdispatch(SETUP_TINYMCE_EDITOR, { elm });\n\t\t}}\n\t\thook-destroy={({ elm }) => {\n\t\t\tconst { editor } = properties;\n\t\t\tremoveTinymceEditor({ elm, editor, updateState });\n\t\t}}\n\t>\n\t\t<ControlWrapper {...properties}>\n\t\t\t<div\n\t\t\t\tclassName={makeClass({\n\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{properties.isTranslationEnabled ? (\n\t\t\t\t\t\t<div className=\"sn-record-dts-translate-icon-html\">\n\t\t\t\t\t\t\t{renderTranslateIcon(properties, dispatch, updateState, true)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t[]\n\t\t\t\t\t)}\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={properties.componentId}\n\t\t\t\t\t\tplaceholder={properties.placeholder}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{properties.isTranslationEnabled\n\t\t\t\t\t? renderTranslatedText(properties.translatedText, true)\n\t\t\t\t\t: []}\n\t\t\t<\/div>\n\t\t<\/ControlWrapper>\n\t<\/div>\n);\n\nexport default TinyMCEEditor;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_28_2_1_znowassist_0_index_jsdbx_6b1ac8ab__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * Temporary solution while we wait for NDS to provide a theme for code-mirror\n * - This code analyze the rgb values of some theme css vars to determine if is a \"dark\" theme, and place the result\n * \tas part of the tinymce configuration so code-mirror can use it to apply the closest OOB dark theme that\n * \tresembles the polaris dark theme. Once a real theme that receives css variables is available, we will remove this\n * \tcode and is calls in TinyMCEThemeBehavior.js.\n * \t@see https://code.devsnc.com/gist/david-leonard/df63e53ca7915a88c981fb576ca01cca\n */\n\nconst isDark = theme => {\n\tconst BACKGROUND_PRIMARY = '--now-color_background--primary';\n\tconst NEUTRAL_0 = '--now-color--neutral-0';\n\tconst NEUTRAL_20 = '--now-color--neutral-20';\n\tif (!theme[BACKGROUND_PRIMARY]) {\n\t\treturn false;\n\t}\n\t/*\n\t * Shortcut that requires no math and we'll hit 99% of the time:\n\t * - If background primary is the same as neutral 0, we're in light theme\n\t * - If background primary is the same as neutral 20, we're in dark theme\n\t * Why? Because that's the defaults hardwired into UXF if the customer\n\t * does not override in their theme.\n\t * See: https://code.devsnc.com/dev/glide/blob/972a9e2576084a03b3d8490e0a65584dddd628d8/glide-ux-builder/src/main/java/com/glide/uxframework/UxFrameworkColorGenerator.java#L111\n\t */\n\tif (theme[NEUTRAL_0] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_0]) {\n\t\treturn false;\n\t}\n\tif (theme[NEUTRAL_20] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_20]) {\n\t\treturn false;\n\t}\n\t/*\n\t * If we reach this point the customer probably redefined background primary\n\t * to be someting else. So we'll use the WCAG 2.0 calculation [1] to calculate\n\t * the luminance of background primary. The luminance value is between 0-1\n\t * where `0` is darkest black (#000) and `1` is lightest white (#fff).\n\t *\n\t * [1] https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef)\n\t */\n\tconst [r, g, b] = theme[BACKGROUND_PRIMARY].rgbValues.split(',');\n\tconst calcLum = c => {\n\t\tc /= 255;\n\t\treturn c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n\t};\n\tconst lum =\n\t\tcalcLum(parseInt(r)) * 0.2126 +\n\t\tcalcLum(parseInt(g)) * 0.7152 +\n\t\tcalcLum(parseInt(b)) * 0.0722;\n\tif (lum > 0.5) {\n\t\t/* Background primary is bright white or very light gray */\n\t\treturn false;\n\t}\n\t/* Background primary is dark black or dark gray */\n\treturn true;\n};\n\n// Apply result of theme analysis to tinyMce settings\nexport const applyDarkSettings = (props, editor) => {\n\tconst _do_not_use_is_dark_theme = '_do_not_use_is_dark_theme';\n\tif (editor.options.isRegistered(_do_not_use_is_dark_theme)) {\n\t\teditor.options.set(\n\t\t\t_do_not_use_is_dark_theme,\n\t\t\tisDark(props.behaviors.theme)\n\t\t);\n\t}\n};\n","import { get, isString, omit } from 'lodash';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport { applyDarkSettings } from './DetectDarkness';\n\n// Changes to any of the following will trigger the themeBehavior\nconst THEME_SASS_VARS = [\n\t'--now-color--neutral-0',\n\t'--now-color--neutral-18',\n\t'--now-color--secondary-1',\n\t'--now-color--secondary-2',\n\t'--now-color--secondary-3',\n\t'--now-color_alert--info-1',\n\t'--now-color_background--primary',\n\t'--now-color_text--primary',\n\t'--now-color_background--tertiary',\n\t'--sn-tinymce_content-background',\n\t'--sn-tinymce_content-mention-background',\n\t'--sn-tinymce_content-mention-text',\n\t'--sn-tinymce_content-text',\n\n\t//These are to support variants\n\t'--now-color_grouped--gray-5',\n\t'--now-color_grouped--yellow-0',\n\t'--now-color_grouped--magenta-0',\n\t'--now-color_grouped--pink-0',\n\t'--now-color_grouped--orange-0',\n\t'--now-color_grouped--brown-0',\n\t'--now-color_grouped--green-0',\n\t'--now-color_grouped--green-yellow-0',\n\t'--now-color_grouped--blue-0'\n];\n\nexport const variantMappings = {\n\tneutral: {\n\t\t['--sn-tinymce_content-background']: '--now-color_background--primary',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\t\t['--sn-tinymce_content-text']: '--now-color--text-primary',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tyellow: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tmagenta: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--magenta-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--magenta-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tpink: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--pink-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--pink-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\torange: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--orange-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--orange-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tbrown: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--brown-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--brown-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tgreen: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--green-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\t'green-yellow': {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--green-yellow-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tblue: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--blue-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--blue-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t}\n};\n\nexport const NDSCssVarMap = (variant = 'neutral') =>\n\tvariantMappings[variant] || variantMappings['neutral'];\n\nconst getThemeVars = props => get(props, 'behaviors.theme', []);\n\nconst reduceToCssVars = (keys, themeVars, transform) => {\n\tlet css = '';\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst customVar = keys[i];\n\t\tconst value = transform\n\t\t\t? themeVars[transform(customVar)]\n\t\t\t: themeVars[customVar];\n\t\tif (value) {\n\t\t\tconst px = value.px ? value.px + 'px' : '';\n\t\t\tconst rgb = value.rgbValues || '';\n\t\t\tconst str = isString(value) ? value : '';\n\t\t\tcss += `${customVar}: ${rgb || px || str};\\n`;\n\t\t}\n\t}\n\treturn css;\n};\n\nconst getMappedThemeDefinitions = props => {\n\tconst { variant = 'neutral' } = props;\n\tconst cssVars = NDSCssVarMap(variant);\n\tconst mapToNDSTransformer = v => cssVars[v] || v;\n\treturn reduceToCssVars(\n\t\tObject.keys(cssVars),\n\t\tgetThemeVars(props),\n\t\tmapToNDSTransformer\n\t);\n};\n\nexport const applyTheme = (props, editor) => {\n\tif (!editor) return;\n\n\tconst themeVars = getThemeVars(props);\n\tconst doc = editor.getDoc();\n\tconst nodeFound = doc.querySelector('#theme-vars');\n\tconst node = nodeFound || doc.createElement('style');\n\tnode.innerHTML = `\n\t\t:root {\n\t\t\t${reduceToCssVars(Object.keys(themeVars), themeVars || {})}\n\t\t\t${getMappedThemeDefinitions(props)}\n\t\t}\n\t`;\n\n\tapplyDarkSettings(props, editor);\n\n\tif (!nodeFound) {\n\t\tnode.setAttribute('id', 'theme-vars');\n\t\tdoc.head.prepend(node);\n\t}\n};\n\nconst NDS_INTERNAL_THEME_UPDATE_ACTION = 'PRIVATE#THEME_CHANGED';\nexport const tinyMceThemeBehavior = {\n\tname: 'tinymce_theme_behavior',\n\tactionHandlers: {\n\t\t[NDS_INTERNAL_THEME_UPDATE_ACTION]: {\n\t\t\teffect: ({ state, properties }) => {\n\t\t\t\tapplyTheme(\n\t\t\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\t\t\tstate.editor\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nconst TINYMCE_THEME_BEHAVIORS = [\n\t{ behavior: themeBehavior, options: { items: THEME_SASS_VARS } },\n\t{ behavior: tinyMceThemeBehavior }\n];\n\nexport default TINYMCE_THEME_BEHAVIORS;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"handleShortcutKeyDown\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t\t} else if ('handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.handleShortcutKeyDown || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t} });","/*\n * NOTE: AUTO GENERATED FILE. DO NOT MANUALLY MODIFY.\n *\n * This file is autogenerated to ensure that the asset path always reflects the correct version of\n * sn-tinymce.\n */\nexport const getAssetPath = () =>\n\t`/uxasset/externals/sn-tinymce/28.7.1/js/tinymce`;\n\nconst REPLACE_REGEX = /(\\?.*)?$/i;\nconst replace = url =>\n\turl !== '/scripts/now_assist_context_menu_tinymce_plugin.js'\n\t\t? url.replace(REPLACE_REGEX, '.jsdbx$1')\n\t\t: url;\n\nexport const overrideAddCacheSuffix = tinymce => {\n\tif (!tinymce.__sn_addCacheSuffixOverwritten) {\n\t\tconst oldAddCacheSuffix = tinymce.util.Tools._addCacheSuffix;\n\t\ttinymce.util.Tools._addCacheSuffix = url =>\n\t\t\toldAddCacheSuffix.call(tinymce.util.Tools, replace(url));\n\n\t\ttinymce.__sn_addCacheSuffixOverwritten = true;\n\t}\n\n\treturn tinymce;\n};\n","export const OBSOLETE_PLUGINS = [\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker',\n\t'hr',\n\t'noneditable',\n\t'paste',\n\t'print',\n\t'colorpicker',\n\t'contextmenu',\n\t'textcolor'\n];\n\nexport const RENAMED_PLUGINS = {\n\timagetools: 'editimage',\n\ttoc: 'tableofcontents'\n};\n\nexport const RENAMED_TOOLBAR_ITEMS = {\n\tformatselect: 'blocks',\n\tfontselect: 'fontfamily',\n\tfontsizeselect: 'fontsize',\n\tstyleselect: 'styles',\n\ttoc: 'tableofcontents',\n\ttocupdate: 'tableofcontentsupdate'\n};\n","import {\n\tOBSOLETE_PLUGINS,\n\tRENAMED_PLUGINS,\n\tRENAMED_TOOLBAR_ITEMS\n} from './constants';\n\nconst join = function (items) {\n\treturn items.join(' ');\n};\n\nconst uniq = function (items) {\n\tconst uMap = {};\n\treturn items.filter(function (item) {\n\t\tif (uMap[item]) return false;\n\t\treturn (uMap[item] = 1);\n\t});\n};\n\nconst rename = function (renameMap) {\n\treturn function (items) {\n\t\treturn items.map(function (item) {\n\t\t\treturn renameMap[item] || item;\n\t\t});\n\t};\n};\n\nconst filterOut = function (remove) {\n\treturn function (items) {\n\t\treturn items.filter(function (item) {\n\t\t\treturn remove.indexOf(item) < 0;\n\t\t});\n\t};\n};\n\nconst split = function (pattern) {\n\treturn function (str) {\n\t\treturn !str ? [] : str.split(pattern);\n\t};\n};\n\nconst splitPlugins = split(/[, ]+/);\nconst splitToolbars = split(/[,| ]+/);\n\nconst renameToolbar = function (replacementMap) {\n\treturn function (toolbar) {\n\t\t// Create a regular expression pattern for all keys in the replacement map\n\t\tconst pattern = new RegExp(\n\t\t\t'\\\\b(' + Object.keys(replacementMap).join('|') + ')\\\\b',\n\t\t\t'g'\n\t\t);\n\n\t\t// Replace occurrences based on the map\n\t\treturn toolbar?.replace(pattern, function (match) {\n\t\t\treturn replacementMap[match] || match; // Use the replacement from the map or the original match if not found\n\t\t});\n\t};\n};\n\nconst flow = function () {\n\tconst funcs = [].slice.call(arguments);\n\treturn function (value) {\n\t\tif (funcs.length > 0) {\n\t\t\tvalue = funcs.reduce(function (val, func) {\n\t\t\t\treturn func(val);\n\t\t\t}, value);\n\t\t}\n\t\treturn value;\n\t};\n};\n\nconst transformPlugins = plugins => {\n\tif (!plugins) return plugins;\n\n\treturn flow(\n\t\tsplitPlugins,\n\t\tfilterOut(OBSOLETE_PLUGINS),\n\t\trename(RENAMED_PLUGINS),\n\t\tuniq,\n\t\tjoin\n\t)(plugins);\n};\n\nconst transformValidButtons = validButtons => {\n\tif (!validButtons) return validButtons;\n\n\treturn flow(\n\t\trenameToolbar(RENAMED_TOOLBAR_ITEMS),\n\t\tsplitToolbars,\n\t\tuniq,\n\t\tjoin\n\t)(validButtons);\n};\n\nconst transformToolbar = toolbar => {\n\tif (!toolbar) return toolbar;\n\n\tconst renameToolbarGroup = flow(renameToolbar(RENAMED_TOOLBAR_ITEMS));\n\n\tif (Array.isArray(toolbar)) {\n\t\treturn toolbar.map(toolbarItem => renameToolbarGroup(toolbarItem));\n\t}\n\n\treturn renameToolbarGroup(toolbar);\n};\n\nexport { transformPlugins, transformValidButtons, transformToolbar };\n","import {\n\ttransformPlugins,\n\ttransformToolbar,\n\ttransformValidButtons\n} from './utils';\n\nconst TinyMCEV5CompatibleMode = properties => {\n\tconst { validPlugins, plugins, validButtons, toolbar } = properties;\n\n\tconst modifiedValidPluigins = transformPlugins(validPlugins);\n\tconst modifiedPlugins = transformPlugins(plugins);\n\tconst modifiedValidButtons = transformValidButtons(validButtons);\n\tconst modifiedToolbar = transformToolbar(toolbar);\n\n\tconst compatibleProps = {\n\t\t...properties,\n\t\tvalidPlugins: modifiedValidPluigins,\n\t\tplugins: modifiedPlugins,\n\t\tvalidButtons: modifiedValidButtons,\n\t\ttoolbar: modifiedToolbar\n\t};\n\n\treturn compatibleProps;\n};\n\nexport { TinyMCEV5CompatibleMode };\n","import { isEmpty, isNil, isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst PLUGIN_NAME = 'now_assist_context_menu';\nconst PLUGIN_PATH_URL = '/scripts/now_assist_context_menu_tinymce_plugin.js';\n\nconst isValid = ({\n\tname,\n\treferringTable,\n\treferringRecordId,\n\tnowAssistConfig\n}) => {\n\treturn (\n\t\t!isNil(name) &&\n\t\t!isNil(referringRecordId) &&\n\t\t!isNil(referringTable) &&\n\t\t!isEmpty(nowAssistConfig) &&\n\t\tisAttrTrue(nowAssistConfig?.contextMenu?.active)\n\t);\n};\n\nconst getFieldNowAssistContextMenuSettings = props => {\n\tif (!isValid(props)) return {};\n\n\tconst {\n\t\tname,\n\t\treferringTable,\n\t\treferringRecordId,\n\t\tnowAssistConfig: { contextMenu = {} } = {}\n\t} = props;\n\n\treturn {\n\t\tnow_assist_context_menu: {\n\t\t\tfieldMeta: {\n\t\t\t\tfield: name,\n\t\t\t\tsys_id: referringRecordId,\n\t\t\t\ttable: referringTable\n\t\t\t},\n\t\t\tskillConfig: contextMenu,\n\t\t\tassetLoader: () => import('@devsnc/sn-wwna')\n\t\t}\n\t};\n};\nconst getFieldNowAssistContextMenuExternalPlugin = props => {\n\tif (!isValid(props)) return {};\n\n\treturn {\n\t\t[PLUGIN_NAME]: PLUGIN_PATH_URL\n\t};\n};\n\nconst isPredictiveTextEnabled = (nowAssistConfig = {}) => {\n\tconst { predictiveText } = nowAssistConfig;\n\n\treturn (\n\t\t!isEmpty(nowAssistConfig) &&\n\t\t!isNil(predictiveText) &&\n\t\tisAttrTrue(predictiveText.isPredictiveTextEnabled)\n\t);\n};\n\nconst getPredictiveTextSettings = ({ nowAssistConfig = {}, nowId } = {}) => {\n\tif (!isPredictiveTextEnabled(nowAssistConfig)) {\n\t\treturn { predictive_text: {} };\n\t}\n\n\tconst { predictiveText } = nowAssistConfig;\n\treturn {\n\t\tpredictive_text: {\n\t\t\t...predictiveText,\n\t\t\tnowId\n\t\t}\n\t};\n};\n\nexport {\n\tgetFieldNowAssistContextMenuSettings,\n\tgetFieldNowAssistContextMenuExternalPlugin,\n\tisPredictiveTextEnabled,\n\tgetPredictiveTextSettings\n};\n","import {\n\tcompact,\n\tdifference,\n\tflatten,\n\tflow,\n\thas,\n\tidentity,\n\tisArray,\n\treduce\n} from 'lodash';\n\nimport { tinymce } from 'sn-tinymce';\nimport { t } from 'sn-translate';\nimport { overrideAddCacheSuffix, getAssetPath } from './importTiny';\n\nimport {\n\tgetScrollParent,\n\tisAttrTrue,\n\tgetProperty,\n\tpick,\n\ttransformMessages,\n\tgetFormFieldMessagesContent,\n\tisAttrFalse\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tCODE_BLOCK_PATTERN,\n\tDEFAULT_FONT_FAMILY,\n\tEDITOR_FONT_HEIGHT,\n\tEDITOR_LINE_MARGIN,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_STATUSBAR_HEIGHT,\n\tEDITOR_TOOLBAR_HEIGHT,\n\tOVERRIDE_OVERFLOW_SELECTOR,\n\tOVERRIDE_OVERFLOW_STYLE,\n\tPLUGIN_BLOCKLIST,\n\tOBSOLETE_PLUGINS,\n\tPOST_DATA_FAILURE,\n\tREQUIRED_PLUGINS,\n\tTOOLBAR_BLOCKLIST,\n\tVALID_LINK_TARGETS,\n\tDEFAULT_HEIGHT,\n\tMAXIMUM_DOM_PARSING_DEPTH,\n\tTEXT_AREA_ID_PREFIX,\n\tDEFAULT_ARIA_LABEL,\n\tTOOLBAR_INSTRUCTION_TEXT,\n\tDEFAULT_FONT_SIZE\n} from './constants';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\nimport { TinyMCEV5CompatibleMode } from './TinyMCEV5CompatibleMode';\nimport {\n\tgetFieldNowAssistContextMenuExternalPlugin,\n\tgetFieldNowAssistContextMenuSettings,\n\tgetPredictiveTextSettings\n} from './NowAssistContextMenu';\n\n/**\n * Splits the given string by all whitespace\n * @param {string} str - The string to split\n * @returns {string[]} array of strings\n */\nexport const split = str => (isArray(str) ? str : str?.split(/\\s+/));\n\nexport const checkIfPluginIsActive = (pluginName, editor) =>\n\thas(editor, ['plugins', pluginName]);\n\nexport const isParagraphOrList = element =>\n\telement.tagName === 'P' || element.tagName === 'LI';\n\nexport const isUlOrOl = element =>\n\telement.tagName === 'UL' || element.tagName === 'OL';\n\n// If element has image or table or codesnippet\nexport const elementHasNonTextContent = element =>\n\telement.querySelector('img') !== null ||\n\telement.querySelector('table') !== null ||\n\telement.querySelector('pre') !== null;\n\nexport const getSmallestLineHeight = node => {\n\tlet lineHeights = [];\n\tfunction iterateAllValidNodes(node, cnt) {\n\t\tif (cnt >= MAXIMUM_DOM_PARSING_DEPTH) return;\n\t\tif (node.style.fontSize === '') {\n\t\t\t[...node.children].forEach(childNode => {\n\t\t\t\titerateAllValidNodes(childNode, cnt + 1);\n\t\t\t});\n\t\t} else if (node.innerText !== '')\n\t\t\tlineHeights.push(parseFloat(getComputedStyle(node).lineHeight));\n\t}\n\n\t[...node.children].forEach(node => {\n\t\titerateAllValidNodes(node, 0);\n\t});\n\n\treturn lineHeights.length\n\t\t? Math.min(...lineHeights)\n\t\t: parseFloat(getComputedStyle(node).lineHeight);\n};\n\nexport const getElementDetails = (element, autoresizeLineLimit, count) => {\n\tconst elementHeight = element.getBoundingClientRect().height;\n\tconst computedStyle = getComputedStyle(element);\n\n\tconst padding =\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-start')) +\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-end'));\n\n\tif (!isParagraphOrList(element) || elementHasNonTextContent(element)) {\n\t\treturn {\n\t\t\theight: elementHeight + padding,\n\t\t\tlineCount: 1\n\t\t};\n\t}\n\tconst smallestLineHeight = getSmallestLineHeight(element);\n\tconst numOfLines = smallestLineHeight\n\t\t? Math.round(elementHeight / smallestLineHeight)\n\t\t: 1;\n\treturn {\n\t\theight:\n\t\t\tcount + numOfLines > autoresizeLineLimit\n\t\t\t\t? smallestLineHeight * (autoresizeLineLimit - count)\n\t\t\t\t: elementHeight,\n\t\tlineCount: numOfLines\n\t};\n};\n\nexport const getEditorDynamicInfo = (\n\tcurrentLineCount,\n\telement,\n\tautoresizeLineLimit\n) => {\n\tlet contentHeight = 0;\n\n\tif (isUlOrOl(element)) {\n\t\tconst listElements = Array.from(element.children);\n\t\tfor (const listElement of listElements) {\n\t\t\tif (currentLineCount >= autoresizeLineLimit) break;\n\t\t\tconst elementDetails = getElementDetails(\n\t\t\t\tlistElement,\n\t\t\t\tautoresizeLineLimit,\n\t\t\t\tcurrentLineCount\n\t\t\t);\n\t\t\tcontentHeight += elementDetails.height;\n\t\t\tcurrentLineCount += elementDetails.lineCount;\n\t\t}\n\t\tcontentHeight += parseFloat(getComputedStyle(element).margin);\n\t} else {\n\t\tconst elementDetails = getElementDetails(\n\t\t\telement,\n\t\t\tautoresizeLineLimit,\n\t\t\tcurrentLineCount\n\t\t);\n\t\tcontentHeight +=\n\t\t\telementDetails.height +\n\t\t\tparseFloat(\n\t\t\t\tgetComputedStyle(element).getPropertyValue('margin-block-end')\n\t\t\t);\n\t\tcurrentLineCount += elementDetails.lineCount;\n\t}\n\treturn { height: contentHeight, lineCount: currentLineCount };\n};\n\nexport const applyAutoresizeLineLimit = (\n\tminLineCount,\n\tautoresizeLineLimit,\n\teditor,\n\thost\n) => {\n\t// applying autoresizeLineLimit property only when autoresize plugin is enabled and also its value is greater than minLineCount or 2\n\tif (\n\t\t!(\n\t\t\t(autoresizeLineLimit || 0) > (minLineCount || 2) &&\n\t\t\tcheckIfPluginIsActive('autoresize', editor) &&\n\t\t\teditor.container &&\n\t\t\teditor.getBody() &&\n\t\t\t!host.fitToParent\n\t\t)\n\t)\n\t\treturn;\n\n\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor))\n\t\teditor.execCommand('sn_disconnect_observer', false, true);\n\n\tconst editorHeaderEle = editor.container.querySelector('.tox-editor-header');\n\tconst toolBarHeight = editorHeaderEle.getBoundingClientRect().height;\n\n\tconst statusBarEle = editor.container.querySelector('.tox-statusbar');\n\tconst statusBarHeight = statusBarEle\n\t\t? statusBarEle.getBoundingClientRect().height\n\t\t: 0;\n\n\tconst computedStyle = getComputedStyle(editor.getBody());\n\tconst contentMarginTop = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-start')\n\t);\n\tconst contentMarginBottom = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-end')\n\t);\n\n\tif (editor.getContent() === '') {\n\t\teditor.container.style.maxHeight =\n\t\t\ttoolBarHeight +\n\t\t\t((autoresizeLineLimit - 1) * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\t\tEDITOR_FONT_HEIGHT) +\n\t\t\tstatusBarHeight +\n\t\t\tcontentMarginTop +\n\t\t\tcontentMarginBottom +\n\t\t\t'px';\n\t} else {\n\t\tlet calculatedHeight =\n\t\t\ttoolBarHeight + statusBarHeight + contentMarginTop + contentMarginBottom;\n\t\tlet lineCount = 0;\n\t\t// Converting collection to Array, becoz HTML collections are live,\n\t\t// which means that if you modify the DOM while iterating over the\n\t\t// collection, the collection may be updated and cause unexpected results.\n\t\t// To avoid this, you can convert the HTML collection to an array before iterating over it.\n\t\tconst childElements = Array.from(editor.getBody().children);\n\n\t\tfor (const lineElement of childElements) {\n\t\t\tif (lineCount >= autoresizeLineLimit) break;\n\t\t\tconst editorInfo = getEditorDynamicInfo(\n\t\t\t\tlineCount,\n\t\t\t\tlineElement,\n\t\t\t\tautoresizeLineLimit\n\t\t\t);\n\t\t\tcalculatedHeight += editorInfo.height;\n\t\t\tconst currentMaxHeight =\n\t\t\t\tcalculatedHeight -\n\t\t\t\tparseFloat(\n\t\t\t\t\tgetComputedStyle(lineElement).getPropertyValue('margin-block-end')\n\t\t\t\t);\n\t\t\tlineCount = editorInfo.lineCount;\n\n\t\t\t// Setting maxHeight only if its greater than default height\n\t\t\t// Adding arbitary value of 6 px inorder to avoid scroll bar before autoresizeLineLimit value\n\t\t\tif (currentMaxHeight > DEFAULT_HEIGHT)\n\t\t\t\teditor.container.style.maxHeight = currentMaxHeight + 6 + 'px';\n\t\t}\n\t}\n};\n\n/**\n * Normalizes the dimensions taking into consideration height limits, resizability, and minLineCount.\n *\n * @param {Object} config - The config/settings that will be passed into tinymce\n * @param {number} config.minLineCount - The minimum number of lines that should be visible in the editor\n * @param {number} config.minHeight - The minimum height of the editor\n * @param {number} config.height - The height of the editor\n * @param {number} config.maxHeight - The maximum height of the editor\n * @param {boolean} config.resizable - Whether the editor can be resized\n * @returns {Object} normalized object containing height, min_height, and max_height\n */\nexport const getDimensionInfo = ({\n\tminLineCount,\n\tminHeight,\n\tmaxHeight,\n\theight,\n\tresizable,\n\tfitToParent\n}) => {\n\tconst dim = {\n\t\tmin_height: minHeight,\n\t\theight: height > minHeight ? height : minHeight,\n\t\tmax_height: maxHeight > height ? maxHeight : height\n\t};\n\n\t// Min line count sets the height of the editable area, which has priority over the height\n\t// passed in as a prop\n\tif (minLineCount != null) {\n\t\tlet linesBasedHeight =\n\t\t\tminLineCount * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\tEDITOR_LINE_MARGIN +\n\t\t\tEDITOR_TOOLBAR_HEIGHT +\n\t\t\t(resizable ? EDITOR_STATUSBAR_HEIGHT : 0);\n\t\tdim.height = linesBasedHeight;\n\n\t\t// Lines based height will have no effect unless min height is also defined\n\t\tif (minHeight == null) dim.min_height = linesBasedHeight;\n\t}\n\n\tif (fitToParent === true) {\n\t\tdim.height = 'inherit';\n\t}\n\treturn dim;\n};\n\n/**\n * Gets the mapped language given a supported SN language code/id.\n * @param {string} language - The language to map from\n * @returns {string} the mapped language\n */\nexport const getMappedLanguage = language => {\n\t// We only map languages we support and only those whose ID has no exact mapping to tinymce\n\t// ex. we support Spanish (code: es) which matches exactly to tinymce Spanish (code: es)\n\t// hence no mapping is necessary\n\tconst mapping = {\n\t\tpb: 'pt_BR',\n\t\tzh: 'zh_CN',\n\t\tfr: 'fr_FR',\n\t\tfq: 'fr_FR',\n\t\the: 'he_IL',\n\t\thu: 'hu_HU',\n\t\tko: 'ko_KR',\n\t\tnb: 'nb_NO',\n\t\tpt: 'pt_PT',\n\t\tsv: 'sv_SE',\n\t\tth: 'th_TH',\n\t\tzt: 'zh_TW'\n\t};\n\n\t// If undefined we return the passed in language. In this case, either there was an exact match to\n\t// tinymce's supported languages, or tinymce will just use english. Which is fine now.\n\treturn mapping[language] || language;\n};\n\n/**\n *\n * @param {number} config.autoresizeBottomMargin - size of the padding at the bottom of the editor’s body when autoresize plugin is enabled\n * @returns {Object}\n */\nexport const getAutoresizeOptions = ({ autoresizeBottomMargin }) =>\n\ttypeof autoresizeBottomMargin === 'number'\n\t\t? { autoresize_bottom_margin: autoresizeBottomMargin }\n\t\t: {};\n\n/**\n * Inserts content at a given position and scrolls to that position.\n *\n * @param {TinyMCE.Editor} editor - The editor that will be used to insert content to\n * @returns {Function} - Function that takes an object a payload an id as the second arg. The payload is the content\n * that should be inserted and the id of an element that should be scrolled into view\n */\nexport const insertContentAndScroll =\n\teditor =>\n\t(_, { payload, id }) => {\n\t\tlet doc = editor.getDoc().documentElement;\n\t\tconst iframeBounds = editor\n\t\t\t.getContentAreaContainer()\n\t\t\t.getBoundingClientRect();\n\n\t\teditor.insertContent(payload);\n\n\t\t// Technically, it should be enough to call insertContent, this should be enough\n\t\t// to scroll everything into view. However, the following is necessary to try\n\t\t// and center and/or ensure that the content is mostly visible and not just partially\n\t\t// visible\n\t\tconst content = editor.getDoc().querySelector(`#${id}`);\n\n\t\tif (content) {\n\t\t\t// Gross math to figure out if the content is visible or not,\n\t\t\t// we look at at the top of the iframe doc and the height of\n\t\t\t// the iframe as well as the top and the height of the content\n\t\t\t// to determine if scrolling the iframe is needed\n\t\t\tconst iframeShouldScrollDown =\n\t\t\t\tdoc.scrollTop + iframeBounds.height <\n\t\t\t\tcontent.offsetTop + content.offsetHeight;\n\t\t\tconst iframeShouldScrollUp = doc.scrollTop > content.offsetTop;\n\n\t\t\tif (iframeShouldScrollDown || iframeShouldScrollUp)\n\t\t\t\tdoc.scrollTop = content.offsetTop - 20;\n\n\t\t\t// Gross math to figure out if the editor is visible or not\n\t\t\t// if no scrollable parent is found and it defaults to the body,\n\t\t\t// we look at the height of the viewport for comparison with the top of the\n\t\t\t// iframe. If there is a scrollable parent, we check to see when the top\n\t\t\t// of the editor passes the top of the scrollable element\n\t\t\tconst scrollParent = getScrollParent(editor.getContainer());\n\t\t\tconst minPortionToView = iframeBounds.top + content.offsetHeight / 2;\n\t\t\tconst pageShouldScrollDown = !scrollParent\n\t\t\t\t? document.documentElement.clientHeight < minPortionToView\n\t\t\t\t: scrollParent.getBoundingClientRect().bottom < minPortionToView;\n\n\t\t\tconst pageShouldScrollUp = !scrollParent\n\t\t\t\t? minPortionToView < 0\n\t\t\t\t: minPortionToView < scrollParent.getBoundingClientRect().top;\n\n\t\t\tif (pageShouldScrollDown || pageShouldScrollUp) {\n\t\t\t\tdoc.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Collapses the toolbar into a string if theres only a single non-falsy element in the toolbar array.\n * Otherwise just removes all falsy values\n * @param {string[]} toolbar - Array of strings where each string is a different toolbar group\n * @returns {string[]|string} a collpased or filtered toolbar\n */\nexport const collapseToolbar = toolbar =>\n\tisArray(toolbar)\n\t\t? flow(flatten, compact, tb =>\n\t\t\t\treduce(tb, (prev, curr, idx) => (!idx ? curr : [...prev, curr]))\n\t\t\t)([toolbar])\n\t\t: toolbar;\n\n/**\n * Filters the items by keeping only items in the validItems list.\n * @param {string} items - The items separated by whitespace\n * @param {string[]} validItems - The items that are valid\n * @returns {string} - The filtered product as a string\n */\nconst filterItems = (items, validItems) =>\n\tcompact(split(items).filter(i => validItems.includes(i))).join(' ');\n\n/**\n * Given a list of items, this method returns a list with only valid items.\n * @param {string[]|string} items - List of strings or single string separated spaces. This will be filtered down to only allow valid items\n * @param {string[]} validItems - List of valid items\n * @returns {string[]|string} - The filtered items after applying valid items as a filter\n */\nexport const getItems = (items, validItems = []) => {\n\tif (!validItems.length || !items) return items;\n\n\treturn isArray(items)\n\t\t? items.map(line => filterItems(line, split(validItems)))\n\t\t: filterItems(items, split(validItems));\n};\n\n/**\n * Given a string, it parses out the clode_block_pattern if it exists and returns the value\n * @param {string} value - The value to strip the code blocks from\n */\nexport const stripCodeBlocks = value => {\n\tconst result = CODE_BLOCK_PATTERN.exec(value);\n\n\treturn result ? result[1] : value;\n};\n\n/**\n * Used to swap divs with spans when inside anchors\n * @param {string} htmlString - Whatever we were going to set editor content with\n * @returns {string} - The modified html is returned as a string\n */\n\nexport function swapDivsWithSpans(htmlString) {\n\t// Create a temporary div element\n\tlet tempDiv = document.createElement('div');\n\ttempDiv.innerHTML = htmlString;\n\n\t// Find all <div> tags inside <a> tags\n\tconst divsInsideAnchors = tempDiv.querySelectorAll('a div');\n\tdivsInsideAnchors.forEach(divTag => {\n\t\t// Create a new <span> element\n\t\tconst spanTag = document.createElement('span');\n\n\t\twhile (divTag.firstChild) {\n\t\t\tconst childNode = divTag.firstChild;\n\t\t\tdivTag.removeChild(childNode);\n\t\t\tspanTag.appendChild(childNode);\n\t\t}\n\n\t\t// Preserve the class name from the original <div> tag\n\t\tif (divTag.className) {\n\t\t\tspanTag.className = divTag.className;\n\t\t}\n\n\t\tdivTag.replaceWith(spanTag);\n\t});\n\n\t// Return the modified HTML as a string\n\treturn tempDiv.innerHTML;\n}\n\nexport const getResponseTemplateConfig = responseTemplates => {\n\tif (responseTemplates.enableResponseTemplates) {\n\t\treturn {\n\t\t\ttype: 'response_templates',\n\t\t\tdefaultSuggestions: responseTemplates.defaultSuggestions,\n\t\t\tsuggestionsHeader: responseTemplates.suggestionsHeader,\n\t\t\tdefaultSuggestionsFetcher: responseTemplates.defaultSuggestionsFetcher,\n\t\t\tmessages: {\n\t\t\t\tloading: t('Loading...'),\n\t\t\t\tinit: t('Enter a keyword to search for the relevant template'),\n\t\t\t\tnoMatches: {\n\t\t\t\t\timg: 'no_search_result',\n\t\t\t\t\theader: t('Template not found'),\n\t\t\t\t\tsub: t('Try searching with another keyword')\n\t\t\t\t}\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tchannel: responseTemplates.channel,\n\t\t\t\tresourceTable: responseTemplates.recordTable,\n\t\t\t\tresourceSysId: responseTemplates.recordSysId\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {};\n};\n\n/**\n * Parses the font families from the given string.\n * @param {string} fonts - Font family formats string (e.g., \"Arial=Arial,Helvetica,sans-serif;\")\n * @returns {string[]} Array of valid font-family strings.\n */\nexport const parseFontFamilies = fonts => {\n\ttry {\n\t\tif (typeof fonts !== 'string' || !fonts.trim()) return [];\n\n\t\treturn fonts\n\t\t\t.split(';')\n\t\t\t.map(entry => entry.split('=').map(part => part.trim()))\n\t\t\t.filter(([, value]) => value) // Ensure valid entries\n\t\t\t.map(([, value]) => value); // Extract only the font-family list\n\t} catch (error) {\n\t\tconsole.error('Error parsing font families:', error);\n\t\treturn [];\n\t}\n};\n\n/**\n * Sets the editor styles\n * @param {tinymce.Editor} editor - The editor instance.\n * @param {string} style - Additional styles.\n * @param {string} fonts - Font family formats (e.g., \"Arial=Arial,Helvetica,sans-serif;\")\n */\nexport const setEditorStyle = (editor, style, fonts) => {\n\tconst tinymceIframe = editor.getDoc();\n\tif (!tinymceIframe) return;\n\n\tlet customStyleTag = tinymceIframe.querySelector(\n\t\t'head style[id=custom_styles]'\n\t);\n\tif (!customStyleTag) {\n\t\tcustomStyleTag = document.createElement('style');\n\t\tcustomStyleTag.setAttribute('type', 'text/css');\n\t\tcustomStyleTag.setAttribute('id', 'custom_styles');\n\t\ttinymceIframe.querySelector('head')?.appendChild(customStyleTag);\n\t}\n\n\tconst fontList = parseFontFamilies(fonts);\n\tconst fontFamily =\n\t\tfontList.find(f => f.toLowerCase().startsWith('verdana')) ||\n\t\tfontList[0] ||\n\t\tDEFAULT_FONT_FAMILY;\n\n\tconst DEFAULT_BODY_STYLES = `body { font-family: ${fontFamily}; font-size: ${DEFAULT_FONT_SIZE}; }`;\n\tcustomStyleTag.innerText = `${DEFAULT_BODY_STYLES} ${OVERRIDE_OVERFLOW_STYLE} ${style}`;\n};\n\nconst getAttachmentExtensions = () =>\n\tgetProperty('glide.attachment.extensions', '');\n\nexport const isValidFileExtension = (fileName, extensions) => {\n\tif (!extensions) return true;\n\tconst allowedExtensions = extensions\n\t\t.split(',')\n\t\t.map(extension => extension?.trim().toLowerCase())\n\t\t.filter(identity)\n\t\t.join('|');\n\tvar fileTypes = new RegExp(`\\\\.(${allowedExtensions})$`, 'i');\n\treturn fileTypes.test(fileName);\n};\n/**s\n * Check: https://www.tiny.cloud/docs/plugins/opensource/link/#exampleofacustomasynchronouscallbackfunction\n */\nexport const getAttachmentListHandler = (\n\treferringRecordId,\n\treferringTable,\n\tdispatch,\n\tbaseURL\n) => {\n\tif (!referringRecordId || !referringTable) return undefined;\n\n\tconst mapAttachments = attachment => {\n\t\treturn {\n\t\t\ttitle: attachment.file_name,\n\t\t\tvalue: `${baseURL}/sys_attachment.do?sys_id=${attachment.sys_id}`\n\t\t};\n\t};\n\treturn function (success) {\n\t\tdispatch(\n\t\t\t'GET_ATTACHMENTS_DATA',\n\t\t\t{ table_name: referringTable, table_sys_id: referringRecordId },\n\t\t\t{\n\t\t\t\tcallback: function (attachments = []) {\n\t\t\t\t\tsuccess(attachments.length ? attachments.map(mapAttachments) : null);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n};\n\n/**\n * Creates an image upload handler to be used by tinymce\n * @param {Function} dispatch - Dispatcher function used to dispatch actions\n * @param {Function} getNameCb - Generates file name using blobInfo\n * @returns upload_hander\n */\nexport const uploadHandler =\n\t(referringRecordId, referringTable, getNameCb, dispatch) => blobInfo =>\n\t\tnew Promise((success, failure) => {\n\t\t\tif (\n\t\t\t\t!isValidFileExtension(blobInfo.filename(), getAttachmentExtensions())\n\t\t\t) {\n\t\t\t\tdispatch(\n\t\t\t\t\tPOST_DATA_FAILURE,\n\t\t\t\t\t{ message: t('Unsupported file type') },\n\t\t\t\t\t{ failure }\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst selectedFile = blobInfo.blob();\n\n\t\t\tconst data = new FormData();\n\n\t\t\tconst tableName = referringTable;\n\t\t\tdata.append('table_name', tableName);\n\t\t\tdata.append('table_sys_id', referringRecordId);\n\t\t\tdata.append('file', selectedFile, getNameCb(blobInfo));\n\n\t\t\tdispatch('POST_ATTACHMENT_QUERY', { data }, { success, failure });\n\t\t});\n\n/**\n * Creates a file picker handler for tinymce.\n */\nexport const filePickerHandler = (cb, _, { filetype }) => {\n\tconst input = document.createElement('input');\n\tinput.setAttribute('type', 'file');\n\tinput.setAttribute('accept', filetype === 'media' ? 'video/*' : 'image/*');\n\n\t/*\n\t * Note: In modern browsers input[type=\"file\"] is functional without\n\t * even adding it to the DOM, but that might not be the case in some older\n\t * or quirky browsers like IE, so you [we] might want to add it to the DOM\n\t * just in case, and visually hide it. And do not forget do remove it\n\t * once you do not need it anymore.\n\t */\n\tinput.onchange = function () {\n\t\tconst file = input.files[0];\n\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\t/*\n\t\t\t * Note: Now we need to register the blob in TinyMCEs image blob\n\t\t\t * registry. In the next release [of tinymce] this part hopefully won't be\n\t\t\t * necessary, as we are looking to handle it internally.\n\t\t\t */\n\t\t\tconst id = 'blobid' + new Date().getTime();\n\t\t\tconst blobCache = tinymce.activeEditor.editorUpload.blobCache;\n\t\t\tconst base64 = reader.result.split(',')[1];\n\t\t\tconst blobInfo = blobCache.create(id, file, base64, undefined, file.name);\n\t\t\tblobCache.add(blobInfo);\n\n\t\t\t/* call the callback and populate the Title field with the file name */\n\t\t\tcb(blobInfo.blobUri(), { title: file.name });\n\t\t};\n\t\treader.readAsDataURL(file);\n\t};\n\n\tinput.click();\n};\n\n/**\n * Returns an object containing the a11y checker options passed through the config script.\n * @param {object} config - The config object we get from evaluating the script passed\n * in as the value of the dictionary attribute: \"editor.config\"\n */\nconst getA11yCheckerOptions = config => {\n\tif (!config) return {};\n\tconst a11ycheckerOptions = [\n\t\t'a11ychecker_level',\n\t\t'a11ychecker_html_version',\n\t\t'a11y_advanced_options',\n\t\t'a11ychecker_allow_decorative_images',\n\t\t'a11ychecker_ignored_rules'\n\t];\n\treturn pick(config, a11ycheckerOptions);\n};\n\n/**\n * Creates a callback function that attaches event handlers to a given editor.\n * @param {object} props - The html-editor component properties\n * @param {object} host - The host element of the editor component\n */\nconst onSetup = (props, host) => editor => {\n\tconst { contentStyle, label, readonly, dispatch, fonts } = props;\n\n\teditor.on('init', () => {\n\t\teditor.getDoc().documentElement.lang = props.language;\n\t\t// HTML-lang uses BCP-47 and technically some of the codes passed by platform are incorrect...\n\t\tconst language = editor.options.get('language');\n\t\tif (language) {\n\t\t\teditor.iframeElement.lang = language.replace('_', '-');\n\t\t}\n\n\t\tapplyTheme(props, editor);\n\t\tdispatch(EDITOR_SET_CONTENT, {\n\t\t\teditor,\n\t\t\tresetUndoStack: true,\n\t\t\tinitialContent: true\n\t\t});\n\n\t\t/*\n\t\t * Can't use our normal `aria-labelledby` and `aria-describedby`\n\t\t * (from common/util/field#accessibilityAttributes) because those\n\t\t * elements exist outside of the TinyMCE iframe. Setting the label\n\t\t * string to `aria-label` directly because it's better than nothing.\n\t\t */\n\t\tif (label) {\n\t\t\teditor.iframeElement.setAttribute('aria-label', label);\n\t\t}\n\n\t\tconst body = editor.getBody();\n\t\tbody.setAttribute('role', 'textbox');\n\n\t\tif (props.required) body.setAttribute('aria-required', 'true');\n\n\t\teditor.mode.set(isAttrTrue(readonly) ? 'readonly' : 'design');\n\t\tsetEditorStyle(editor, contentStyle, fonts);\n\n\t\t/**\n\t\t * autoresize is not officially supported with resize UI option,\n\t\t * workaround to enable scroll when both are used together\n\t\t * and when resize handle manually reduces height before maxHeight is reached\n\t\t * see: https://support.tiny.cloud/hc/en-us/requests/17514\n\t\t * TODO: Remove this once TinyMCE offically support this combination\n\t\t */\n\t\tif (props.resizable && checkIfPluginIsActive('autoresize', editor))\n\t\t\teditor.dom.addClass(body, OVERRIDE_OVERFLOW_SELECTOR);\n\n\t\t/**\n\t\t * There is a possibility that the editor is not available when the fitToParent property is changed,\n\t\t * as the editor might still be initialising when the property change happens. Due to this we need\n\t\t * to ensure the associated class is added here to the container to ensure the editor is styled correctly\n\t\t * when editor is initialised. Simply adding it here will still not handle the usecase given we would have\n\t\t * passed stale props (from the time before property had changed) in the callback to the instance and the\n\t\t * editor view will not be updated based on the latest props. Hence, we have to drill down the host element\n\t\t * till here to get the latest props value and apply the class accordingly.\n\t\t */\n\t\thost?.fitToParent && editor.editorContainer.classList.add('fit-to-parent');\n\n\t\teditor.addCommand(\n\t\t\t'snInsertContentAndScroll',\n\t\t\tinsertContentAndScroll(editor)\n\t\t);\n\t});\n\n\teditor.on('SetContent change', () => {\n\t\tapplyAutoresizeLineLimit(\n\t\t\tprops.minLineCount,\n\t\t\tprops.autoresizeLineLimit,\n\t\t\teditor,\n\t\t\thost\n\t\t);\n\t});\n};\n\n/**\n * Sets up the tinymce instance\n * @param {HTMLTextAreaElement} node - The html textarea target/node\n * @param {Object} props - The HtmlEditor seismic props\n * @returns {Promise<tinymce.Editor>} Promise - resolves to the tinymce editor instance\n */\nexport const setupTinymce = (node, properties) => {\n\tconst props = TinyMCEV5CompatibleMode(properties);\n\tconst {\n\t\tautoresize,\n\t\tbrowserSpellcheck,\n\t\tdispatch,\n\t\thost,\n\t\tenableMentions,\n\t\tresponseTemplates,\n\t\tisJournal,\n\t\tplugins,\n\t\tpowerPasteHtmlImport,\n\t\tpowerPasteWordImport,\n\t\tpowerPasteFilterInlineElements,\n\t\treadonly,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tresizable,\n\t\ttoolbar,\n\t\tconvertBlobsToBase64,\n\t\tbaseURL,\n\t\tpreloadMentions,\n\t\tmentions\n\t} = props;\n\tlet { validButtons, validPlugins, defaultLinkTarget } = props;\n\tvalidButtons = difference(\n\t\tsplit(validButtons ? `${validButtons} |` : undefined),\n\t\tTOOLBAR_BLOCKLIST\n\t);\n\tvalidPlugins = difference(split(validPlugins), [\n\t\t...PLUGIN_BLOCKLIST,\n\t\t...OBSOLETE_PLUGINS\n\t]);\n\n\tconst toolbarItems =\n\t\tcollapseToolbar(getItems(toolbar, validButtons)) || false;\n\n\tconst showBarsOnFocus = isAttrTrue(\n\t\tgetProperty('glide.ui.html.editor.toolbar.on.focus', false)\n\t);\n\n\tconst { enableResponseTemplates } = responseTemplates;\n\tconst responseTemplateConfig = getResponseTemplateConfig(responseTemplates);\n\n\tif (VALID_LINK_TARGETS.indexOf(defaultLinkTarget) === -1)\n\t\tdefaultLinkTarget = '';\n\n\tlet pluginItems = getItems(plugins, validPlugins);\n\tpluginItems = compact([\n\t\tREQUIRED_PLUGINS,\n\t\tpluginItems,\n\t\tisAttrTrue(enableMentions) && `sn_mentions`,\n\t\tenableResponseTemplates && `sn_hotkeys`,\n\t\tshowBarsOnFocus && `sn_showbarsonfocus`,\n\t\tautoresize && `autoresize sn_autoresize_overrides`\n\t]).join(' ');\n\n\tconst heightSettings = getDimensionInfo(props);\n\tconst autoresizeSettings = getAutoresizeOptions(props);\n\tconst language = getMappedLanguage(props.language);\n\n\tlet config;\n\n\tconst defaultMenuItems = {\n\t\tfile: {\n\t\t\ttitle: 'File',\n\t\t\titems:\n\t\t\t\t'newdocument restoredraft | preview | export print | deleteallconversations'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit',\n\t\t\titems: 'undo redo | cut copy paste pastetext | selectall | searchreplace'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'View',\n\t\t\titems:\n\t\t\t\t'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'\n\t\t},\n\t\tinsert: {\n\t\t\ttitle: 'Insert',\n\t\t\titems:\n\t\t\t\t'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime'\n\t\t},\n\t\tformat: {\n\t\t\ttitle: 'Format',\n\t\t\titems:\n\t\t\t\t'bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat'\n\t\t},\n\t\ttools: {\n\t\t\ttitle: 'Tools',\n\t\t\titems: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount'\n\t\t},\n\t\ttable: {\n\t\t\ttitle: 'Table',\n\t\t\titems:\n\t\t\t\t'inserttable | cell row column | advtablesort | tableprops deletetable'\n\t\t},\n\t\thelp: { title: 'Help', items: 'help' }\n\t};\n\tconst defaultStyleFormats = [\n\t\t{\n\t\t\ttitle: 'Headings',\n\t\t\titems: [\n\t\t\t\t{ title: 'Heading 1', format: 'h1' },\n\t\t\t\t{ title: 'Heading 2', format: 'h2' },\n\t\t\t\t{ title: 'Heading 3', format: 'h3' },\n\t\t\t\t{ title: 'Heading 4', format: 'h4' },\n\t\t\t\t{ title: 'Heading 5', format: 'h5' },\n\t\t\t\t{ title: 'Heading 6', format: 'h6' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Inline',\n\t\t\titems: [\n\t\t\t\t{ title: 'Bold', format: 'bold' },\n\t\t\t\t{ title: 'Italic', format: 'italic' },\n\t\t\t\t{ title: 'Underline', format: 'underline' },\n\t\t\t\t{ title: 'Strikethrough', format: 'strikethrough' },\n\t\t\t\t{ title: 'Superscript', format: 'superscript' },\n\t\t\t\t{ title: 'Subscript', format: 'subscript' },\n\t\t\t\t{ title: 'Code', format: 'code' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Blocks',\n\t\t\titems: [\n\t\t\t\t{ title: 'Paragraph', format: 'p' },\n\t\t\t\t{ title: 'Blockquote', format: 'blockquote' },\n\t\t\t\t{ title: 'Div', format: 'div' },\n\t\t\t\t{ title: 'Pre', format: 'pre' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Align',\n\t\t\titems: [\n\t\t\t\t{ title: 'Left', format: 'alignleft' },\n\t\t\t\t{ title: 'Center', format: 'aligncenter' },\n\t\t\t\t{ title: 'Right', format: 'alignright' },\n\t\t\t\t{ title: 'Justify', format: 'alignjustify' }\n\t\t\t]\n\t\t}\n\t];\n\n\t// Remove all occurrences of the menuConfigs prop as it is deprecated and will be removed after Zurich\n\tconst configProp = props.htmlEditorConfigs || props.menuConfigs;\n\tif (configProp) {\n\t\tconfig = JSON.parse(configProp);\n\t}\n\n\tconst sn_mentions = {\n\t\tmessages: {\n\t\t\tcannotSeeRecordMsg: t('Cannot access record')\n\t\t},\n\t\tpreloadMentions: preloadMentions || [],\n\t\t...mentions\n\t};\n\n\treturn overrideAddCacheSuffix(tinymce)\n\t\t.init({\n\t\t\t...getA11yCheckerOptions(config),\n\t\t\thelp_tabs: ['shortcuts', 'keyboardnav', 'versions'],\n\t\t\tadvlist_bullet_styles: 'default,circle,disc,square',\n\t\t\tauto_focus:\n\t\t\t\tisAttrTrue(props.autofocus) && TEXT_AREA_ID_PREFIX + props.componentId,\n\t\t\tbase_url: `${baseURL}${getAssetPath()}`,\n\t\t\tbranding: false,\n\t\t\tsn_convert_blobs_to_base64: convertBlobsToBase64,\n\t\t\tbrowser_spellcheck: isAttrTrue(browserSpellcheck),\n\t\t\tconvert_urls: props.convertUrls,\n\t\t\tlink_default_target: defaultLinkTarget,\n\t\t\tdialog_type: 'modal',\n\t\t\tdirectionality: isAttrTrue(props.reversed)\n\t\t\t\t? 'rtl'\n\t\t\t\t: document.dir || 'ltr',\n\t\t\tdocument_base_url: window.location.origin,\n\t\t\telementpath: false,\n\t\t\textended_valid_elements: props.extendedValidElements,\n\t\t\tfile_picker_types: 'media',\n\t\t\tfont_family_formats: props.fonts,\n\t\t\tfont_size_formats: '8pt 10pt 11pt 12pt 14pt 18pt 24pt 36pt',\n\t\t\thighlight_on_focus: true,\n\t\t\timage_title: true,\n\t\t\timage_advtab: true,\n\t\t\tlanguage,\n\t\t\tmenubar: config?.menubar ? config.menubar : false,\n\t\t\tmenu: config?.menu ? config.menu : defaultMenuItems,\n\t\t\tpagebreak_separator:\n\t\t\t\t'<span style=\"display:none;\">Editor pagebreak<\/span>',\n\t\t\tplugins: pluginItems,\n\t\t\t/**\n\t\t\t * When modifying the external plugins URL path, please ensure that the path is added in generateTinyFiles.js\n\t\t\t * to make sure the url cache suffix override function doesn't append .jsdbx extension to the end of the plugin path\n\t\t\t * In future, we can enhance the behaviour to automatically pick up the path from source files and use it in generateTinyFiles.js\n\t\t\t */\n\t\t\texternal_plugins: {\n\t\t\t\t...getFieldNowAssistContextMenuExternalPlugin(props)\n\t\t\t},\n\t\t\tpowerpaste_html_import: powerPasteHtmlImport,\n\t\t\tpowerpaste_word_import: powerPasteWordImport,\n\t\t\tpowerpaste_clean_filtered_inline_elements: powerPasteFilterInlineElements,\n\t\t\tpromotion: false, // To disable default upgrade button in menubar\n\t\t\treadonly: isAttrTrue(readonly),\n\t\t\trelative_urls: props.relativeUrls,\n\t\t\tremove_script_host: props.removeHost,\n\t\t\tresize: isAttrFalse(autoresize) && resizable,\n\t\t\tskin: 'sn-editor-themed',\n\t\t\tstatusbar: resizable,\n\t\t\tstyle_formats: config?.style_formats\n\t\t\t\t? config.style_formats\n\t\t\t\t: defaultStyleFormats,\n\t\t\tsuffix: '.min',\n\t\t\ttarget: node,\n\t\t\ttext_patterns: config?.text_patterns || false,\n\t\t\tlink_target_list: [\n\t\t\t\t{ title: t('None (Use Implicit)'), value: '' },\n\t\t\t\t{ title: t('Same frame (_self)'), value: '_self' },\n\t\t\t\t{ title: t('New window (_blank)'), value: '_blank' },\n\t\t\t\t{ title: t('Top frame (_top)'), value: '_top' }\n\t\t\t],\n\t\t\ttoolbar: toolbarItems,\n\t\t\ttoolbar_mode: 'sliding',\n\t\t\tvalid_children: '+body[style|link]',\n\t\t\tvalidate: false,\n\t\t\tiframe_aria_text: [\n\t\t\t\tprops.label,\n\t\t\t\tDEFAULT_ARIA_LABEL,\n\t\t\t\tTOOLBAR_INSTRUCTION_TEXT,\n\t\t\t\tArray.isArray(props.messages) && props.messages.length\n\t\t\t\t\t? getFormFieldMessagesContent(transformMessages(props.messages))\n\t\t\t\t\t: ''\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' '),\n\t\t\tfile_picker_callback: filePickerHandler,\n\t\t\timages_upload_handler: isJournal\n\t\t\t\t? () => new Promise(() => {})\n\t\t\t\t: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => {\n\t\t\t\t\t\t\tconst id = blobInfo.id();\n\t\t\t\t\t\t\tconst blobname = blobInfo.filename();\n\t\t\t\t\t\t\tconst extension = blobname.substring(blobname.lastIndexOf('.'));\n\t\t\t\t\t\t\treturn !~blobname.indexOf(id)\n\t\t\t\t\t\t\t\t? blobname\n\t\t\t\t\t\t\t\t: 'Pasted image' + extension;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t),\n\t\t\tsetup: onSetup(props, host),\n\t\t\tlink_list: getAttachmentListHandler(\n\t\t\t\treferringRecordId,\n\t\t\t\treferringTable,\n\t\t\t\tdispatch,\n\t\t\t\tbaseURL\n\t\t\t),\n\t\t\tfix_list_elements: true,\n\t\t\tvideo_template_callback: function (data) {\n\t\t\t\tconst poster = data.poster ? `poster=\"${data.poster}\"` : '';\n\t\t\t\tlet embedCode = `<video controls width=\"${data.width}\" height=\"${data.height}\" src=\"${data.source}\" ${poster}>`;\n\t\t\t\tembedCode += data.altsource ? `<source src=\"${data.altsource}\"/>` : '';\n\t\t\t\tembedCode += '<\/video>';\n\n\t\t\t\treturn embedCode;\n\t\t\t},\n\t\t\t// Because we are using our own video_template_callback (see directly above) to generate the embedded code, media_alt_source and media_poster makes them\n\t\t\t// behave funky (doesnt update or incorrect values) so we set them to false. We should revisit this issue when tinymce fixes the issue above.\n\t\t\tmedia_alt_source: false,\n\t\t\tmedia_poster: false,\n\t\t\t...heightSettings,\n\t\t\t...autoresizeSettings,\n\t\t\tsn_settings: {\n\t\t\t\t...getFieldNowAssistContextMenuSettings(props),\n\t\t\t\t...getPredictiveTextSettings(props),\n\t\t\t\timage: {\n\t\t\t\t\tshowLibraryTab: false\n\t\t\t\t},\n\t\t\t\tmedia: {\n\t\t\t\t\tshowLocalsTab: false,\n\t\t\t\t\tmediaUploadHandler: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => blobInfo.filename(),\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\thotkeys: [responseTemplateConfig],\n\t\t\t\tmentions: sn_mentions,\n\t\t\t\treadonlyBottomBorder: true,\n\t\t\t\tfit_to_parent: props.fitToParent\n\t\t\t},\n\t\t\tcontextmenu: props.contextmenu,\n\t\t\tautomatic_uploads: false\n\t\t})\n\t\t.then(([editor]) => {\n\t\t\treturn Promise.resolve(editor);\n\t\t});\n};\n","import { isEqual, isFunction, omit, toString } from 'lodash';\nimport { handleShortcutKeyDown } from '@servicenow/now-trigger-library';\nimport { tinymce } from 'sn-tinymce';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tcheckAutofocus,\n\thandleDynamicTranslationBlur,\n\tisAttrTrue,\n\ttransformMessages,\n\tgetFormFieldMessagesContent\n} from '@devsnc/sn-controls-common';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { t } from 'sn-translate';\nimport {\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tFIT_TO_PARENT_OPTION,\n\tEDITOR_VERTICAL_RESIZE_TYPE,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_ON_KEYDOWN,\n\tINSERT_PILL,\n\tDEFAULT_ARIA_LABEL,\n\tTOOLBAR_INSTRUCTION_TEXT\n} from './constants';\nimport {\n\tcheckIfPluginIsActive,\n\tgetDimensionInfo,\n\tsetEditorStyle,\n\tsetupTinymce,\n\tstripCodeBlocks,\n\tswapDivsWithSpans\n} from './Utils';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\n\nimport { getPredictiveTextSettings } from './NowAssistContextMenu';\n\nconst dispatchEvent = function (dispatch, action, event) {\n\tdispatch(action, { eventPayload: event, editor: this });\n};\n\nconst closeNotification = (state, updateState) => {\n\tconst { editorNotificationsManager } = state;\n\tif (editorNotificationsManager) editorNotificationsManager.close();\n\n\tupdateState({ editorNotificationsManager: null });\n};\n\nexport const postAttachmentEffect = createHttpEffect(\n\t'/api/now/attachment/upload',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: false,\n\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\tdataParam: 'data',\n\t\tstartActionType: POST_DATA_START,\n\t\tprogressActionType: POST_DATA_PROGRESS,\n\t\tsuccessActionType: POST_DATA_SUCCESS,\n\t\terrorActionType: POST_DATA_FAILURE\n\t}\n);\n\nexport const postAttachmentStartEffect = ({ state, updateState }) => {\n\tconst { editor } = state;\n\tconst editorNotificationsManager = editor.notificationManager.open({\n\t\ttext: t('Media uploading...'),\n\t\ttype: 'info',\n\t\ttimeout: -1,\n\t\tprogressBar: true\n\t});\n\n\tupdateState({ editorNotificationsManager });\n};\n\nexport const postAttachmentProgressEffect = ({ action, state }) => {\n\tconst {\n\t\tprogressEvent: { loaded, total }\n\t} = action.payload;\n\tconst { editorNotificationsManager } = state;\n\teditorNotificationsManager.progressBar.value(\n\t\tMath.round((loaded / total) * 100)\n\t);\n};\n\nexport const postAttachmentSuccessEffect = ({\n\taction,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tcloseNotification(state, updateState);\n\tconst { baseURL } = properties;\n\taction.meta.success(\n\t\t`${baseURL}/sys_attachment.do?sys_id=${action.payload.result.sys_id}`\n\t);\n};\n\nexport const postAttachmentFailureEffect = ({ action, state, updateState }) => {\n\tcloseNotification(state, updateState);\n\taction.meta.failure({ message: action.payload.message, remove: true });\n};\n\nexport const getAttachmentsEffect = createHttpEffect('/api/now/attachment', {\n\tmethod: 'GET',\n\tbatch: false,\n\theaders: { 'Content-Type': 'application/json' },\n\tqueryParams: ['table_name', 'table_sys_id'],\n\tsuccessActionType: GET_ATTACHMENTS_SUCCESS,\n\terrorActionType: GET_ATTACHMENTS_FAILURE\n});\n\nexport const getAttachmentsSuccessEffect = ({ action }) => {\n\taction.meta.callback(action.payload.result);\n};\n\nexport const getAttachmentsFailureEffect = ({ action }) => {\n\tconsole.error(action.payload.message);\n\taction.meta.callback([]);\n};\nexport const editorOnItemSelectTrackEffect = ({\n\taction: {\n\t\tpayload: { eventPayload, telemetry }\n\t},\n\tdispatch,\n\tproperties\n}) => {\n\tconst { name } = properties;\n\tconst { meta } = eventPayload;\n\n\tconst trackPayload = {\n\t\tmetaData: {\n\t\t\tname,\n\t\t\tfieldType: 'now-record-html-editor'\n\t\t},\n\t\tadditionalOptions: {\n\t\t\t...meta,\n\t\t\t...(telemetry && { telemetry })\n\t\t}\n\t};\n\tdispatch('TRACK', trackPayload);\n};\n\nexport const insertPillEffect = ({ state, action }) => {\n\tconst { editor } = state;\n\tif (!editor) return;\n\n\tconst { displayValue, tooltipValue, value } = action.payload;\n\n\tconst pillContainerStart = `<span class=\"sn-mce-pill-container\" contenteditable=\"false\">`;\n\tconst pillText = `<span class=\"sn-mce-pill-text\" data-sn-mce-tooltip='${tooltipValue}' data-sn-mce-value='${value}'>${displayValue}<\/span>`;\n\tconst pillRemoveButton = `<span class=\"sn-mce-pill-remove\" data-sn-mce-tooltip='${t('Remove')}'>&times;<\/span>`;\n\tconst pillContainerEnd = `<\/span>`;\n\n\tconst pillContent = `${pillContainerStart}${pillText}${pillRemoveButton}${pillContainerEnd}`;\n\n\teditor.insertContent(pillContent);\n};\n\nconst moveCursorToEnd = editor => {\n\teditor.selection.select(editor.getBody(), true);\n\teditor.selection.collapse(false);\n};\n\nexport const propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tconst { editor } = state;\n\tconst { minHeight, maxHeight } = properties;\n\tconst stringValue = toString(value);\n\tconst isValuePropertyChanged =\n\t\tname === 'value' && stringValue !== previousValue;\n\n\t// We should always track the updated value in the component state, regardless of TinyMCE’s availability, as the component is being mounted to the DOM. This ensures that subsequent renders will display the updated or available value in the editor when editor is initialised.\n\tif (isValuePropertyChanged) {\n\t\tupdateState({\n\t\t\tvalue: stringValue\n\t\t});\n\t}\n\n\tif (!editor || !tinymce) return;\n\n\tif (name === 'variant' && value !== previousValue) {\n\t\tapplyTheme(\n\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\teditor\n\t\t);\n\t}\n\n\tif (name === 'readonly' && value !== previousValue) {\n\t\teditor.mode.set(isAttrTrue(value) ? 'readonly' : 'design');\n\t}\n\n\tif (isValuePropertyChanged) {\n\t\tconst isDifferentThanStateValue = stringValue !== state.value;\n\t\tif (isDifferentThanStateValue) {\n\t\t\tlet content = stripCodeBlocks(stringValue);\n\t\t\tif (properties.allowBlockBasedAnchors)\n\t\t\t\tcontent = swapDivsWithSpans(content);\n\n\t\t\teditor.setContent(content);\n\t\t\tif (state.hasFocus) {\n\t\t\t\tmoveCursorToEnd(editor); // move cursor to the end to match text area and other inputs behavior\n\t\t\t}\n\t\t}\n\t}\n\n\tif (name === 'contentStyle' && value !== previousValue) {\n\t\tsetEditorStyle(editor, value);\n\t}\n\n\tif (name === 'fitToParent' && value !== previousValue) {\n\t\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor)) {\n\t\t\teditor.execCommand(`sn_set_${FIT_TO_PARENT_OPTION}`, false, value);\n\t\t} else {\n\t\t\teditor.container.style.height = value\n\t\t\t\t? 'inherit'\n\t\t\t\t: (properties.height || 0) + 'px';\n\t\t}\n\t\tif (value) {\n\t\t\teditor.container.classList.add('fit-to-parent');\n\n\t\t\tif (\n\t\t\t\t(properties.autoresizeLineLimit || 0) >\n\t\t\t\t\t(properties.minLineCount || 2) &&\n\t\t\t\tcheckIfPluginIsActive('autoresize', editor)\n\t\t\t) {\n\t\t\t\t// If fitToParent is enabled and autoresize is enabled, we need to\n\t\t\t\t// honor fitToParent over maxHeight set by autoresizeLineLimit logic.\n\t\t\t\teditor.container.style.maxHeight = '';\n\t\t\t\teditor.container.style.height = '';\n\t\t\t}\n\t\t} else editor.container.classList.remove('fit-to-parent');\n\t}\n\n\tif (name === 'autoresize' && value !== previousValue) {\n\t\teditor.execCommand('sn_toggle_autoresize', false, {\n\t\t\tvalue,\n\t\t\tminHeight,\n\t\t\tmaxHeight\n\t\t});\n\t}\n\n\t// Handle preloadMentions change\n\tif (name === 'preloadMentions' && !isEqual(value, previousValue)) {\n\t\tconst mentions = editor.options.get('sn_settings').mentions;\n\t\tmentions.preloadMentions = value;\n\t\teditor.options.set('sn_settings', {\n\t\t\t...editor.options.get('sn_settings'),\n\t\t\tmentions\n\t\t});\n\t}\n\n\tif (name === 'nowAssistConfig' && !isEqual(value, previousValue)) {\n\t\tconst predictiveTextSettings = getPredictiveTextSettings(properties);\n\t\teditor.options.set('sn_settings', {\n\t\t\t...editor.options.get('sn_settings'),\n\t\t\t...predictiveTextSettings\n\t\t});\n\t\teditor.dispatch('sn_predictive_text.update_settings');\n\t}\n\n\tif (name === 'messages') {\n\t\tconst ariaLabelSegments = [\n\t\t\tproperties.label,\n\t\t\tDEFAULT_ARIA_LABEL,\n\t\t\tTOOLBAR_INSTRUCTION_TEXT\n\t\t];\n\t\tif (Array.isArray(properties.messages) && properties.messages.length) {\n\t\t\tconst messagesContent = getFormFieldMessagesContent(\n\t\t\t\ttransformMessages(properties.messages)\n\t\t\t);\n\t\t\tariaLabelSegments.push(messagesContent);\n\t\t}\n\t\tconst ariaLabel = ariaLabelSegments.join(' ');\n\t\tif (editor?.iframeElement?.contentDocument?.body) {\n\t\t\teditor.iframeElement.contentDocument.body.setAttribute(\n\t\t\t\t'aria-label',\n\t\t\t\tariaLabel\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const setupTinymceEditorEffect = ({\n\tstate,\n\tproperties,\n\thost,\n\tupdateState,\n\tdispatch\n}) => {\n\tsetupTinymce(host.shadowRoot.querySelector('textarea'), {\n\t\t...properties,\n\t\t...omit(state, ['properties', 'editor']),\n\t\tdispatch,\n\t\thost\n\t}).then(editor => {\n\t\tif (state.editor === null) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'editor',\n\t\t\t\tvalue: editor,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\teditor.on('ResizeEditor', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_RESIZE, event);\n\t\t});\n\t\teditor.on('SetContent', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('Change', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('blur', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_BLUR, event);\n\t\t});\n\t\teditor.on('focus', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_FOCUS, event);\n\t\t});\n\t\teditor.on('keyup', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('click', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CLICK, event);\n\t\t\tif (event.target.classList.contains('sn-mce-pill-remove')) {\n\t\t\t\tevent.target.parentNode.remove();\n\t\t\t\teditor.dispatch('sn_tooltip.hide_tooltip');\n\t\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t\t}\n\t\t});\n\t\teditor.on('ExecCommand', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('keydown', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_KEYDOWN, event);\n\t\t});\n\t\teditor.on('sn_mentions.item_selected', function (event) {\n\t\t\tdispatch('TRACK_MENTION_ADDED', event);\n\t\t});\n\t\teditor.on('sn_hotkey.item_selected', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SELECTED', e.payload);\n\t\t});\n\t\teditor.on('sn_hotkey.hotkey_set', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SET', e.payload);\n\t\t});\n\t\teditor.on('sn_mentions.add_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_ADDED', event);\n\t\t});\n\t\teditor.on('sn_mentions.delete_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_DELETED', event);\n\t\t});\n\t});\n};\n\nexport const componentRenderedEffect = ({\n\taction: {\n\t\tpayload: { previousRenderProperties }\n\t},\n\tstate: { editor, isTranslationEnabled },\n\tproperties\n}) => {\n\tif (!editor || !tinymce) return;\n\tconst oldHeightProps = getDimensionInfo(previousRenderProperties);\n\tconst newHeightProps = getDimensionInfo(properties);\n\tif (!isEqual(oldHeightProps, newHeightProps)) {\n\t\t// Updating the settings doesn't update the height, but its necessary for\n\t\t// max/min heights (which some plugins potentially use internally by grabbing the latest)\n\t\tfor (const [key, value] of Object.entries(newHeightProps)) {\n\t\t\teditor.options.set(key, value);\n\t\t}\n\n\t\t// Only resize if the height has changed\n\t\tif (oldHeightProps.height !== newHeightProps.height)\n\t\t\teditor.theme?.ui?.resizeBy(\n\t\t\t\t{\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: newHeightProps.height - oldHeightProps.height\n\t\t\t\t},\n\t\t\t\tEDITOR_VERTICAL_RESIZE_TYPE\n\t\t\t);\n\t}\n\n\tconst editorBody = editor.getBody();\n\tif (\n\t\tisTranslationEnabled &&\n\t\teditorBody &&\n\t\teditorBody.style.paddingRight !== '1.5rem'\n\t) {\n\t\teditorBody.style.paddingRight = '1.5rem';\n\t}\n};\n\nexport const domReadyEffect = ({ host, properties, dispatch }) => {\n\tif (!tinymce) {\n\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\t\tcheckAutofocus(properties.autofocus, textarea);\n\t}\n\n\thost.insertPill = pillInfo => dispatch(INSERT_PILL, pillInfo);\n};\n\nconst getEditorContent = (editor, properties) => {\n\tconst content = editor.getContent();\n\n\treturn properties.useCodeBlocks && content\n\t\t? `[code]${content}[/code]`\n\t\t: content;\n};\n\nconst isOnChangeEventFromFocus = event => {\n\tconst command = event?.command;\n\treturn command === 'mceFocus';\n};\n\nconst isOnChangeEventFromContentUpdate = event => {\n\treturn event?.type === 'setcontent';\n};\n\nexport const editorOnChangeEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tif (\n\t\tisOnChangeEventFromFocus(event) ||\n\t\tisOnChangeEventFromContentUpdate(event)\n\t) {\n\t\treturn;\n\t}\n\n\tconst { onStagedValueChange, onChange } = properties;\n\tconst value = getEditorContent(editor, properties);\n\teditor.setDirty(true);\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onStagedValueChange,\n\t\tisValueChanged: false,\n\t\tdispatchPayload: { value }\n\t});\n\n\tupdateState({\n\t\tvalue\n\t});\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event);\n\t}\n};\n\nexport const editorOnBlurEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tstate: { isTranslationEnabled, translatedText },\n\tdispatch\n}) => {\n\tconst { onValueChange, onBlur } = properties;\n\tconst value = getEditorContent(editor, properties);\n\tif (editor.isDirty()) {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: { value }\n\t\t});\n\t\teditor.save(); //we have reported the event, so is not dirty anymore\n\t}\n\n\tupdateState({\n\t\thasFocus: false,\n\t\tvalue\n\t});\n\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event);\n\t}\n\teditor.getContentAreaContainer().classList.remove('focused');\n\tisTranslationEnabled &&\n\t\thandleDynamicTranslationBlur(value, updateState, translatedText);\n};\n\nexport const editorOnKeyDownEffect = ({\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\thandleShortcutKeyDown(event);\n};\n\nexport const editorSetFocusEffect = ({ state: { editor } }) => {\n\teditor.focus();\n\teditor.getContainer().scrollIntoView();\n};\n\nexport const editorOnFocusEffect = ({\n\tproperties: { onFocus },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nexport const editorOnClickEffect = ({\n\tproperties: { hasFocus },\n\taction: {\n\t\tpayload: { editor }\n\t}\n}) => {\n\t// this is added because when a user's first click in the tinymce\n\t// iframe body happens to be a knowledge block (or other non-editable\n\t// content), the editor never gets focus. This is an issue because\n\t// if the user clicks away from the editor, the knowledge block is still\n\t// in a selected state and the block is highlighted until user clicks somewhere\n\t// else within the iframe to focus the editor. This ensures that if a user clicks\n\t// on the knowledge block initially, the editor gets focus as expected.\n\tif (!hasFocus) {\n\t\teditor.focus();\n\t}\n\t// Browser events within iframe do not escape the iframe. Supposing a dropdown is open\n\t// on the page, and the user clicks on the editor, then the dropdown will remain open. To fix this issue,\n\t// we trigger a mousedown event on the iframeElement so that it propagates upwards and results in dropdowns closing.\n\teditor.iframeElement.ownerDocument.dispatchEvent(new Event('mousedown'));\n};\n\nexport const editorSetContentEffect = ({\n\tstate: { value },\n\taction: {\n\t\tpayload: { editor, resetUndoStack = false, initialContent = false }\n\t},\n\tproperties: { allowBlockBasedAnchors }\n}) => {\n\t// Before React to Seismic migration, html-editor and TinyMCEEditor were two React components\n\t// and had separate lifecycle and the property value change was preserved. So state of 'value' would\n\t// be set before TinyMCEEditor gets executed. While when we migrated to seismic, only html-editor\n\t// remained a seismic-component. So when we initialise TinyMCEEditor, the order is not preserved\n\t// on what would be called first. To ensure correct value of property 'value' is being passed onto\n\t// TinyMCEEditor, we are now calling this effect to make sure updated state of 'value' is passed to\n\t// the TinyMCEEditor.\n\tlet content = stripCodeBlocks(toString(value));\n\tif (allowBlockBasedAnchors) content = swapDivsWithSpans(content);\n\teditor.setContent(content);\n\t// we need to reset the tinyMCE undo manager since tinymce is already initialized with empty value\n\t// since we are calling editor.setContent in an action handler instead of editor.init\n\t// Ultimate solution is to convert TinyMCEEditor to a seismic component if we run into more timing issues in future\n\tif (resetUndoStack) editor?.undoManager.reset();\n\t// Automatic uploads is disabled during initialisation. This is to prevent uploads from data URIs present\n\t// already in the content value. Automatic uploads is enabled only after the initial content is set above.\n\tif (initialContent) editor?.options.set('automatic_uploads', true);\n};\n\nexport const editorOnResizeEffect = ({\n\tproperties: { onResize },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\tif (isFunction(onResize)) {\n\t\tonResize(event);\n\t}\n};\n","import { toString, omit, isFunction, get, extend } from 'lodash';\nimport { tinymce } from 'sn-tinymce';\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst { COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } =\n\tactionTypes;\n\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tisAttrTrue,\n\ttrackBehavior,\n\tdynamicTranslationBehaviour,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\tgetAriaLabelFromConfig,\n\tgetBaseURL\n} from '@devsnc/sn-controls-common';\nimport { Input } from '@devsnc/sn-record-input';\n\nimport TinyMCEEditor from './TinyMCEEditor';\nimport TINYMCE_THEME_BEHAVIORS from './TinyMCEThemeBehaviors';\n\nimport {\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_DATA,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_SET_FOCUS,\n\tSETUP_TINYMCE_EDITOR,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_ON_KEYDOWN,\n\tINSERT_PILL\n} from './constants';\n\nimport {\n\tpostAttachmentEffect,\n\tpostAttachmentStartEffect,\n\tpostAttachmentProgressEffect,\n\tpostAttachmentSuccessEffect,\n\tpostAttachmentFailureEffect,\n\tgetAttachmentsEffect,\n\tgetAttachmentsSuccessEffect,\n\tgetAttachmentsFailureEffect,\n\tdomReadyEffect,\n\tpropertyChangedEffect,\n\tcomponentRenderedEffect,\n\teditorOnChangeEffect,\n\teditorOnBlurEffect,\n\teditorOnFocusEffect,\n\teditorOnClickEffect,\n\teditorOnKeyDownEffect,\n\teditorOnResizeEffect,\n\tsetupTinymceEditorEffect,\n\teditorSetContentEffect,\n\teditorSetFocusEffect,\n\tinsertPillEffect\n} from './effects';\n\nimport style from './html.scss';\n\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst onFocusEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(properties.onFocus)) {\n\t\tproperties.onFocus(event);\n\t}\n};\n\nconst onBlurEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: false\n\t});\n\n\tif (isFunction(properties.onBlur)) {\n\t\tproperties.onBlur(event);\n\t}\n};\n\nconst onResizeEvent = properties => event => {\n\tif (isFunction(properties.onResize)) {\n\t\tproperties.onResize(event);\n\t}\n};\n\nconst onStagedValueChangeEvent =\n\t(onStagedValueChange, updateState) => event => {\n\t\tupdateState({\n\t\t\tvalue: event.value\n\t\t});\n\n\t\tonStagedValueChange(event);\n\t};\n\nconst onValueChangeEvent = (onValueChange, updateState) => event => {\n\tupdateState({\n\t\tvalue: event.value\n\t});\n\n\tonValueChange(event);\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tinymce.com).\n *\n * The parent application/component must provide a reference to a tinymce core\n * instance. When unavailable (or not provided), this component renders a\n * regular textarea.\n *\n * Note that this component is _always_ uncontrolled. Trying to control TinyMCE\n * just makes everybody sad.\n */\nconst NowHtmlEditor = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tenableMentions,\n\t\tmentions,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue,\n\t\teditor\n\t} = state;\n\tconst onFocus = onFocusEvent(properties, updateState);\n\tconst onBlur = onBlurEvent(properties, updateState);\n\tconst onResize = onResizeEvent(properties);\n\tconst onStagedValueChange = onStagedValueChangeEvent(\n\t\tstate.onStagedValueChange,\n\t\tupdateState\n\t);\n\tconst onValueChange = onValueChangeEvent(state.onValueChange, updateState);\n\tlet Component = TinyMCEEditor;\n\tconst {\n\t\tenableCodeBlocks,\n\t\tuseCodeBlocks,\n\t\thelperContent,\n\t\tlabel,\n\t\tcomponentId,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\tconst readonly = isAttrTrue(properties.readonly);\n\tif (readonly && !properties.value) {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\thelperContent={helperContent}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\treadonly={true}\n\t\t\t\tvalue=\"—\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\tlet childProps = {\n\t\t...properties,\n\t\tuseCodeBlocks: enableCodeBlocks || useCodeBlocks,\n\t\tmentions,\n\t\tenableMentions,\n\t\tupdateState,\n\t\tdispatch,\n\t\teditor,\n\t\thasFocus: state.hasFocus,\n\t\tbehaviors: state.behaviors,\n\t\tonValueChange: state.onValueChange,\n\t\tonStagedValueChange: state.onStagedValueChange,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue,\n\t\tshowUnsavedIndicator,\n\t\tshowAIIndicator,\n\t\tisModified\n\t};\n\n\tif (!tinymce) {\n\t\tComponent = Input;\n\t\tchildProps = omit(\n\t\t\tchildProps,\n\t\t\t'configMentions',\n\t\t\t'convertUrls',\n\t\t\t'enableMentions',\n\t\t\t'extendedValidElements',\n\t\t\t'fonts',\n\t\t\t'language',\n\t\t\t'mentions',\n\t\t\t'plugins',\n\t\t\t'relativeUrls',\n\t\t\t'removeHost',\n\t\t\t'toolbar',\n\t\t\t'validButtons',\n\t\t\t'validPlugins',\n\t\t\t'updateState',\n\t\t\t'hasFocus',\n\t\t\t'behaviors',\n\t\t\t'contextmenu'\n\t\t);\n\n\t\textend(childProps, {\n\t\t\ttype: 'textarea',\n\t\t\tvalue: state.value,\n\t\t\tonValueChange,\n\t\t\tonStagedValueChange,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\tonResize,\n\t\t\tautofocus: false,\n\t\t\t// STRY59509727: If someone has explicitly not passed any value to autoresize props,\n\t\t\t// default to true to make it consistent with the behavior before the autoresize\n\t\t\t// props was introduced as part of the mentioned story.\n\t\t\tautoresize: properties.autoresize ?? true\n\t\t});\n\t}\n\n\treturn <Component {...childProps} componentId={`html-${componentId}`} />;\n};\n\nexport default NowHtmlEditor;\n\n/**\n *\n * HTML Editor Component that uses TinyMCE.\n * TinyMCE for the most part, does not support incremental rendering.\n * Attempting to modify certain properties may or may not have expected or desired behavior.\n *\n * ```jsx\n * <now-record-html-editor\n *\t label=\"Enter some HTMLs\"\n *\t value=\"<b>Hello<\/b> <i>World<\/i>\"\n * />\n * ```\n *\n * @seismicElement now-record-html-editor\n * @summary HTML Editor Component that uses TinyMCE\n *\n * */\ncreateCustomElement('now-record-html-editor', {\n\tview: withValueChangeCallbacksView(NowHtmlEditor),\n\tsetInitialState: ({\n\t\tproperties: { value, configMentions, enableMentions, mentions }\n\t}) => ({\n\t\tvalue: value === true ? '' : toString(value),\n\t\thasFocus: false,\n\t\teditor: null,\n\t\teditorNotificationsManager: null,\n\t\tenableMentions: get(configMentions, 'enableMentions') || enableMentions,\n\t\tmentions: {\n\t\t\t...mentions,\n\t\t\t...omit(configMentions, 'enableMentions')\n\t\t}\n\t}),\n\tstyles: style,\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: domReadyEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t\t[COMPONENT_RENDERED]: componentRenderedEffect,\n\t\t[EDITOR_ON_CHANGE]: editorOnChangeEffect,\n\t\t[EDITOR_ON_BLUR]: editorOnBlurEffect,\n\t\t[EDITOR_ON_FOCUS]: editorOnFocusEffect,\n\t\t[EDITOR_ON_CLICK]: editorOnClickEffect,\n\t\t[EDITOR_SET_FOCUS]: editorSetFocusEffect,\n\t\t[EDITOR_ON_KEYDOWN]: {\n\t\t\teffect: editorOnKeyDownEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_SET_CONTENT]: {\n\t\t\teffect: editorSetContentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_ON_RESIZE]: editorOnResizeEffect,\n\t\t[SETUP_TINYMCE_EDITOR]: setupTinymceEditorEffect,\n\t\t[POST_ATTACHMENT_QUERY]: {\n\t\t\t...postAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_START]: {\n\t\t\teffect: postAttachmentStartEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_PROGRESS]: {\n\t\t\teffect: postAttachmentProgressEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_SUCCESS]: {\n\t\t\teffect: postAttachmentSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_FAILURE]: {\n\t\t\teffect: postAttachmentFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_DATA]: {\n\t\t\t...getAttachmentsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_SUCCESS]: {\n\t\t\teffect: getAttachmentsSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_FAILURE]: {\n\t\t\teffect: getAttachmentsFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[INSERT_PILL]: {\n\t\t\teffect: insertPillEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tproperties: {\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Causes the component to automatically resize the editor to the content inside it.\n\t\t * Autoresize plugin will automatically be enabled if this property is set to true.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Image upload handler appends ZZ_YY prefix for the table by default while uploading and this prop is used to control the append behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\tignoreInlineAttachmentPrefix: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * This option allows you to specify the size of the padding at the bottom of the editor’s body set on initialization when autoresize plugin is enabled.\n\t\t * @type {number}\n\t\t * @see [autoresize_bottom_margin](https://www.tiny.cloud/docs/plugins/opensource/autoresize/#autoresize_bottom_margin)\n\t\t *\n\t\t */\n\t\tautoresizeBottomMargin: { schema: { type: 'number' } },\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t */\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Experimental feature. This is used to swap divs with spans when inside anchors.\n\t\t * Although using divs inside anchors is valid HTML5, tinymcev5 does not support it.\n\t\t * This is a workaround.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowBlockBasedAnchors: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config browser_spellcheck. Set to true to utilize the browser's native spell check functionality.\n\t\t * @see [browser_based_spellchecking](https://www.tiny.cloud/docs/general-configuration-guide/spell-checking/#browser-basedspellchecking)\n\t\t * @type {boolean}\n\t\t **/\n\t\tbrowserSpellcheck: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config content_style. CSS string to style editable area. This does _not_ affect the output html.\n\t\t * @see [content_style](https://www.tiny.cloud/docs/configure/content-appearance/#content_style)\n\t\t * @type {string}\n\t\t */\n\t\tcontentStyle: { default: '' },\n\t\t/**\n\t\t * TinyMCE config convert_urls\n\t\t * @see [convert_urls](https://www.tiny.cloud/docs/configure/url-handling/#convert_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertUrls: { default: false },\n\t\t/**\n\t\t * TinyMCE config extended_valid_elements\n\t\t * @see [extended_valid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#extended_valid_elements)\n\t\t * @type {string}\n\t\t */\n\t\textendedValidElements: { default: '' },\n\t\t/**\n\t\t * TinyMCE config font_family_formats. List of fonts to enable.\n\t\t * @type {string}\n\t\t * @see [TinyMCE_font_configuration](https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#font_family_formats)\n\t\t */\n\t\tfonts: {\n\t\t\tdefault:\n\t\t\t\t'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Journal=journal;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config min_height. The minimum height of editor including the toolbar.\n\t\t * @type {number}\n\t\t * @see [min_height](https://www.tiny.cloud/docs/configure/editor-appearance/#min_height)\n\t\t */\n\t\tminHeight: { default: DEFAULT_MIN_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config height. The height of the editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [height](https://www.tiny.cloud/docs/configure/editor-appearance/#height)\n\t\t */\n\t\theight: { default: DEFAULT_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config max_height. The maximum height of editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [max_height](https://www.tiny.cloud/docs/configure/editor-appearance/#max_height)\n\t\t */\n\t\tmaxHeight: { default: DEFAULT_MAX_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config toolbar.\n\t\t * @see [TinyMCE toolbar configuration](https://www.tiny.cloud/docs/configure/editor-appearance/#toolbar)\n\t\t * @type {Array<string>|string|boolean} for boolean, only false is supported\n\t\t */\n\t\ttoolbar: {\n\t\t\tdefault:\n\t\t\t\t'bold italic underline undo redo | fontfamily fontsize table | forecolor backcolor link unlink | code | alignleft aligncenter alignright | bullist numlist fullscreen'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config relativeUrls\n\t\t * @see [relative_urls](https://www.tiny.cloud/docs/configure/url-handling/#relative_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\trelativeUrls: { default: true },\n\t\t/**\n\t\t * TinyMCE config remove_script_host\n\t\t * @see [remove_script_host](https://www.tinymce.com/docs/configure/url-handling/#remove_script_host)\n\t\t * @type {boolean}\n\t\t */\n\t\tremoveHost: { default: true },\n\t\t/**\n\t\t * TinyMCE config placeholder. Placeholder string when there is no value\n\t\t * @see [placeholder](https://www.tiny.cloud/docs/configure/editor-appearance/#placeholder)\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * This setting controls how content pasted from sources other than Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_html_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_html_import)\n\t\t */\n\t\tpowerPasteHtmlImport: { default: 'clean' },\n\t\t/**\n\t\t * This setting controls how content pasted from Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_word_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_word_import)\n\t\t */\n\t\tpowerPasteWordImport: { default: 'prompt' },\n\t\t/**\n\t\t * This property allows the user to set a default target value for links when inserting/editing\n\t\t * a link via the link dialog. It can take one of four values: ['_blank', '', '_self', '_top']\n\t\t * @type {string}\n\t\t */\n\t\tdefaultLinkTarget: { default: '' },\n\t\t/**\n\t\t * Client-side HTML editor has its own context menu,\n\t\t * overriding the browser's. Holding Ctrl while right-clicking\n\t\t * bypasses the editor's context menu to show the native context menu.\n\t\t\tThis property specifies which context menu options are available.\n\t\t\tDefault value is \"link image table\" (without quotes).\n\t\t\tA value of \"false\" (without quotes) disables the editor's context menu.\n\t\t */\n\t\tcontextmenu: { default: 'link image table' },\n\t\t/**\n\t\t * List of plugins to enable. Note that TinyMCE will lazy-load these plugins\n\t\t * at runtime, so the corresponding plugin files must be hosted by the app\n\t\t * for this to work propertly.\n\t\t * @see [plugins](https://www.tiny.cloud/docs/configure/integration-and-setup/#plugins)\n\t\t * @type {string}\n\t\t */\n\t\tplugins: {\n\t\t\tdefault:\n\t\t\t\t'accordion link lists advlist table powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @see [readonly](https://www.tiny.cloud/docs/configure/integration-and-setup/#readonly)\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/*\n\t\t * ====================================================================================\n\t\t * NOTE: Below are custom service now properties not directly passed to tinymce\n\t\t * ====================================================================================\n\t\t */\n\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableMentions - Flag that needs to be true in order for the mentions to be enabled\n\t\t *\n\t\t * `type:function` fetch - Function that takes in a query and returns a promise. This promise should resolve with the mentions suggestions\n\t\t *\n\t\t * `type:string` table - Table where the mentions user exists\n\t\t *\n\t\t * `type:string` resourceTable - Table to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:string` resourceSysId - The sys_id of the element to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:{loading: string,noMatches: string,init: string}`messages - Messages to be displayed when mentions list appears\n\t\t * @type {{ enableMentions: boolean, fetch: function, table: string, resourceTable: string,resourceSysId: string, messages: {loading: string,noMatches: string,init: string}}}\n\t\t */\n\t\tconfigMentions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableMentions: { type: 'boolean' },\n\t\t\t\t\tfetch: { type: 'object' },\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tresourceTable: { type: 'string' },\n\t\t\t\t\tresourceSysId: { type: 'string' },\n\t\t\t\t\tmessages: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tloading: { type: 'string' },\n\t\t\t\t\t\t\tnoMatches: { type: 'string' },\n\t\t\t\t\t\t\tinit: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Settings require to enable response_templates hotkey\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableResponseTemplates - Flag that needs to be true in order for the feature to be enabled\n\t\t *\n\t\t * `type:string` channel - To set the channel that is used by the Response Template endpoint\n\t\t *\n\t\t * `type:string` recordTable - Table to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * `type:string` recordSysId - The sys_id of the element to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * `type:array` defaultSuggestions - The default suggestions that will be displayed when the user enters the response templates hotkey\n\t\t *\n\t\t * `type:string` suggestionsHeader - The header of the dropdown list that is used to display default suggestions\n\t\t *\n\t\t * `type:function` defaultSuggestionsFetcher - Callback function used to fetch defaultSuggestions. This supersedes the defaultSuggestions prop\n\t\t *\n\t\t * @type {{ enableResponseTemplates: boolean, channel: string, recordTable: string, recordSysId: string, defaultSuggestions: array, suggestionsHeader: string}}\n\t\t */\n\t\tresponseTemplates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResponseTemplates: { type: 'boolean' },\n\t\t\t\t\tchannel: { type: 'string' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' },\n\t\t\t\t\tdefaultSuggestions: { type: 'array' },\n\t\t\t\t\tsuggestionsHeader: { type: 'string' },\n\t\t\t\t\tdefaultSuggestionsFetcher: { type: 'function' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields)\n\t\t * @type {boolean}\n\t\t */\n\t\tenableCodeBlocks: { default: false },\n\t\t/**\n\t\t * Whether we want mentions to be enabled or not.\n\t\t * @deprecated Use configMentions.enableMentions.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenableMentions: { default: false },\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t */\n\t\tmentions: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Whether the field is a journal input field or not.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisJournal: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Stringified object containing tinymce menubar configurations\n\t\t * Is deprecated, and will be removed after Zurich. For all similar\n\t\t * purposes, use htmlEditorConfigs.\n\t\t * @type {string}\n\t\t */\n\t\tmenuConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Stringified object containing tinymce configurations from sys_script_include script\n\t\t * @type {string}\n\t\t */\n\t\thtmlEditorConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * The initial number of lines that should be visible in the editor.\n\t\t * Also sets minHeight if not already defined\n\t\t * @type {number}\n\t\t * @deprecated Will be removed in future version. Please use minHeight and height instead, you can approximate equivalent height as follows: (minLineCount * 24) + 11.\n\t\t */\n\t\tminLineCount: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * onResize event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonResize: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * Array.<{sys_id: string,name?: string,username?: string,email?: string,avatar?: string,active?: boolean,[key: string]?:any}>\n\t\t * @type {Array}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * When rendering a html-editor, whether or not to show the resize handle.\n\t\t * @type {boolean}\n\t\t */\n\t\tresizable: { default: true },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When provided, allows whitelisting specific buttons for the toolbar. This\n\t\t * prop should be a comma-separated string of allowed buttons.\n\t\t *\n\t\t * When omitted, any toolbar button supported by TinyMCE can be rendered (via\n\t\t * the `toolbar` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidButtons: {},\n\t\t/**\n\t\t * When provided, allows whitelisting specific plugins. This\n\t\t * prop should be a comma-separated string of allowed plugins.\n\t\t *\n\t\t * When omitted, any plugin supported by TinyMCE can be loaded (via\n\t\t * the `plugins` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidPlugins: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * BaseURL of the instance, used in case of embeddables flow, otherwise it will be empty.\n\t\t * @type {string}\n\t\t */\n\t\tbaseURL: { default: getBaseURL() },\n\t\t/**\n\t\t * Controls the set of colors to use for the content area.\n\t\t *\n\t\t * The variant names refer to the color of the background on the default theme, but the actual colors may vary\n\t\t * if another theme is applied.\n\t\t *\n\t\t * The following variants are available:\n\t\t * `neutral`, `yellow`, `magenta`, `pink`, `orange`, `brown`, `green`, `green-yellow` and `blue`.\n\t\t *\n\t\t * Any other values will default to `neutral`.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvariant: { default: 'neutral' },\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields).\n\t\t * please use `enableCodeBlocks` instead\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tuseCodeBlocks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Whether to convert the image blobs to base 64\n\t\t * by default we will convert to base64\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertBlobsToBase64: { default: true },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * This setting controls the filtering of inline elements while pasting from MS Word to editor.\n\t\t * @type {string}\n\t\t * @see [powerpaste_clean_filtered_inline_elements](https://www.tiny.cloud/docs/plugins/premium/powerpaste/#powerpaste_clean_filtered_inline_elements)\n\t\t */\n\t\tpowerPasteFilterInlineElements: { default: 'strong, b' },\n\t\t/**\n\t\t * Allows to re-dispatch the VALUE_CHANGED event every time the stage value is modified\n\t\t * and the component is blurred even if the value matches the last dispatched VALUE_CHANGED event.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowFieldChangesAfterEveryStageChange: { default: false },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tpredictiveText: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are added from the mention list dropdown\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_ADDED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are deleted from the editor\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_DELETED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t...TINYMCE_THEME_BEHAVIORS,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: truncationBehavior },\n\t\t{ behavior: tooltipBehavior },\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: function (host, dispatch) {\n\t\t\t\t\tdispatch(EDITOR_SET_FOCUS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nexport default class LiveUpdateMessage {\n\tconstructor(userName) {\n\t\tthis.userName = userName;\n\t}\n\n\tsetNewValue(v) {\n\t\t// If the user has modified the field value we show a different message.\n\t\tthis.isUserModified = true;\n\t\tthis.newValue = v;\n\t}\n\n\tsetHideValue(v) {\n\t\tthis.hideValue = !!v;\n\t}\n\n\tgetMessage() {\n\t\tlet message, messageContent;\n\t\tif (this.isUserModified && !this.hideValue) {\n\t\t\tlet newValue = this.newValue;\n\t\t\tif (newValue) {\n\t\t\t\tnewValue = (\n\t\t\t\t\t<strong>\n\t\t\t\t\t\t<i>{newValue}<\/i>\n\t\t\t\t\t<\/strong>\n\t\t\t\t);\n\t\t\t\t// Show the value that changed\n\t\t\t\tmessageContent = t('{{name}} has set this field to {{value}}')\n\t\t\t\t\t.replace('{name}', this.userName)\n\t\t\t\t\t.replace('{value}', ''); // Use the cached message containing value but remove the token so we can append html.\n\t\t\t\tmessage = {\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{/* `message` already has a trailing space, don't need another one here */}\n\t\t\t\t\t\t\t{messageContent}\n\t\t\t\t\t\t\t{newValue}\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tlabel: messageContent + this.newValue\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Say the value was cleared\n\t\t\t\tmessageContent = t(\n\t\t\t\t\t'{{name}} has cleared the value of this field'\n\t\t\t\t).replace('{name}', this.userName);\n\t\t\t\tmessage = { content: messageContent, label: messageContent };\n\t\t\t}\n\t\t} else {\n\t\t\tmessageContent = t('{{name}} has modified this field value').replace(\n\t\t\t\t'{name}',\n\t\t\t\tthis.userName\n\t\t\t);\n\t\t\tmessage = { content: messageContent, label: messageContent };\n\t\t}\n\t\treturn message;\n\t}\n}\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport { getAriaLabelFromConfig, isAttrTrue } from '@devsnc/sn-controls-common';\n\n// Making add and delete buttons reusable for template-value\n// which will be updated to match this interaction in a future story\nexport const addRowButton = ({ identifier, disabled, configAria }) => (\n\t<now-button-iconic\n\t\ticon=\"plus-outline\"\n\t\tsize=\"md\"\n\t\tvariant=\"tertiary\"\n\t\tdisabled={disabled}\n\t\tappend-to-payload={{\n\t\t\tintent: 'addRow',\n\t\t\tidentifier\n\t\t}}\n\t\ttooltipContent={t('Add New Row')}\n\t\tconfigAria={configAria}\n\t/>\n);\n\nexport const deleteRowButton = ({\n\tidentifier,\n\tdisabled,\n\tconfigAria,\n\tnumOfRows\n}) => (\n\t<now-button-iconic\n\t\ticon=\"close-outline\"\n\t\tsize=\"md\"\n\t\tvariant=\"tertiary\"\n\t\tdisabled={disabled}\n\t\tappend-to-payload={{\n\t\t\tintent: 'remove',\n\t\t\tidentifier,\n\t\t\tlastRow: identifier === numOfRows - 1\n\t\t}}\n\t\ttooltipContent={t('Delete Row')}\n\t\tconfigAria={configAria}\n\t/>\n);\n\nconst controlButtons = (\n\trowData,\n\tindex,\n\tnumOfRows,\n\tdisabled,\n\tnoActions,\n\tkeyReadOnly\n) => {\n\tconst addConfigAria = {\n\t\t'aria-label': t('Add a name value row after row number {0}', index + 1)\n\t};\n\tconst removeConfigAria = {\n\t\t'aria-label': t(\n\t\t\t'Remove name value row {0} with name {1} and value {2}',\n\t\t\tindex + 1,\n\t\t\trowData.key,\n\t\t\trowData.value\n\t\t)\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{deleteRowButton({\n\t\t\t\tidentifier: index,\n\t\t\t\tdisabled:\n\t\t\t\t\t(!rowData.key && !rowData.value && index === numOfRows - 1) ||\n\t\t\t\t\tdisabled ||\n\t\t\t\t\tnoActions,\n\t\t\t\tconfigAria: removeConfigAria,\n\t\t\t\tnumOfRows\n\t\t\t})}\n\t\t\t{index === numOfRows - 1\n\t\t\t\t? addRowButton({\n\t\t\t\t\t\tidentifier: index,\n\t\t\t\t\t\tdisabled: !rowData.key || disabled || keyReadOnly || noActions,\n\t\t\t\t\t\tconfigAria: addConfigAria\n\t\t\t\t\t})\n\t\t\t\t: undefined}\n\t\t<\/Fragment>\n\t);\n};\n\nconst content = state => {\n\tconst { rowsHasKeys, internalValue } = state;\n\tconst {\n\t\tname,\n\t\tdisabled,\n\t\treadonly,\n\t\tlabel,\n\t\trequired,\n\t\tkeyReadOnly,\n\t\tvalueReadOnly,\n\t\tnoActions,\n\t\tconfigAria\n\t} = state.properties;\n\n\tconst ariaConfig = {\n\t\tinput: {\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{internalValue.map((row, index) => (\n\t\t\t\t<div\n\t\t\t\t\tclass={{ 'name-value-container': true }}\n\t\t\t\t\taria-label={`${label} ${isAttrTrue(required) ? t('required') : ''}`}\n\t\t\t\t>\n\t\t\t\t\t<div class={{ 'fields-container': true }}>\n\t\t\t\t\t\t<div class={{ 'field-value': true }}>\n\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\tname={`${name}-row-${index}-key`}\n\t\t\t\t\t\t\t\tvalue={row.key}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\treadonly={keyReadOnly || readonly}\n\t\t\t\t\t\t\t\tplaceholder={t('Label')}\n\t\t\t\t\t\t\t\tconfig-aria={ariaConfig}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class={{ 'field-key': true }}>\n\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\tname={`${name}-row-${index}-value`}\n\t\t\t\t\t\t\t\tvalue={row.value}\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t!isAttrTrue(readonly)\n\t\t\t\t\t\t\t\t\t\t? !rowsHasKeys[index] || disabled\n\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treadonly={valueReadOnly || readonly}\n\t\t\t\t\t\t\t\tplaceholder={t('Value')}\n\t\t\t\t\t\t\t\tconfig-aria={ariaConfig}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class={{ 'buttons-now': true }}>\n\t\t\t\t\t\t{!isAttrTrue(readonly)\n\t\t\t\t\t\t\t? controlButtons(\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\tinternalValue.length,\n\t\t\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\t\t\tnoActions,\n\t\t\t\t\t\t\t\t\tkeyReadOnly\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{content(state)}\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport default view;\n","export const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NAME_VALUE_VALUE_CHANGED = 'SN_RECORD_NAME_VALUE#VALUE_CHANGED';\n\nexport const NAME_VALUE_DUPLICATE_SUFFIX = 'SN_RECORD_NV#DUP_VALUE';\n","import { NAME_VALUE_DUPLICATE_SUFFIX } from './constants';\n\nexport const getRowInfoFromName = name => {\n\tconst match = name.match(/row-([0-9]+)-(key|value)$/);\n\treturn {\n\t\trowIndex: match[1],\n\t\tinputType: match[2]\n\t};\n};\n\n// \"{ \"key\": \"value\" }\" => [ { key: key, value: value } ]\nexport const parseValue = value => {\n\tlet result = [];\n\tif (value) {\n\t\tconst jsonParsedValue = JSON.parse(value);\n\t\tresult = Object.keys(jsonParsedValue).map(key => {\n\t\t\treturn {\n\t\t\t\tkey: key.replace(\n\t\t\t\t\tnew RegExp(`${NAME_VALUE_DUPLICATE_SUFFIX}([0-9]+)$`),\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tvalue: jsonParsedValue[key]\n\t\t\t};\n\t\t});\n\t}\n\tif (result.length === 0) {\n\t\t// default empty case\n\t\treturn [{ key: '', value: '' }];\n\t}\n\treturn result;\n};\n\n// [ { key: key, value: value } ] => \"{ \"key\": \"value\" }\"\nexport const arrayToValue = arr => {\n\tlet error = undefined;\n\tlet duplicates = 0;\n\n\tconst result = arr.reduce((obj, row) => {\n\t\tlet newKey = row.key;\n\n\t\tif ((!newKey && row.value) || newKey in obj) {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: 'Duplicate or empty names are not allowed'\n\t\t\t};\n\t\t\tif (obj[newKey]) {\n\t\t\t\t// duplicate value\n\t\t\t\tnewKey = `${newKey}${NAME_VALUE_DUPLICATE_SUFFIX}${duplicates++}`;\n\t\t\t}\n\t\t}\n\t\tobj[newKey] = row.value;\n\t\treturn obj;\n\t}, {});\n\n\treturn { value: JSON.stringify(result), error };\n};\n\nexport const focusSecondLastRowDeleteButton = (host, indentifier) => {\n\tif (indentifier == 0) {\n\t\tconst getInputNode = host.shadowRoot.querySelector('div now-input');\n\t\tconst input = getInputNode.shadowRoot.querySelector('input');\n\t\tinput.focus();\n\t} else {\n\t\tconst getTargetNode = host.shadowRoot.querySelector(\n\t\t\t`div:nth-child(${indentifier}) now-button-iconic[icon='close-outline']`\n\t\t);\n\t\tconst buttonNode = getTargetNode.shadowRoot.querySelector('button');\n\t\tbuttonNode.focus();\n\t}\n};\n","import { isEqual } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport {\n\tNOW_INPUT_VALUE_SET,\n\tNOW_INPUT_INPUT,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNAME_VALUE_VALUE_CHANGED\n} from './constants';\nimport {\n\tgetRowInfoFromName,\n\tarrayToValue,\n\tfocusSecondLastRowDeleteButton,\n\tparseValue\n} from './utils';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst actionHandlers = {\n\t[NOW_INPUT_VALUE_SET]: {\n\t\teffect: ({ action, dispatch, state, updateState }) => {\n\t\t\tconst { name: identifier, value: newValue } = action.payload;\n\t\t\tconst { name, onValueChange } = state.properties;\n\t\t\tconst { internalValue } = state;\n\t\t\tconst valuesArray = internalValue.slice();\n\t\t\tconst rowInfo = getRowInfoFromName(identifier);\n\t\t\tvaluesArray[rowInfo.rowIndex][rowInfo.inputType] = newValue;\n\n\t\t\tconst dispatchPayload = { name, ...arrayToValue(valuesArray) };\n\n\t\t\tif (onValueChange) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)(dispatchPayload);\n\t\t\t}\n\t\t\tdispatch(NAME_VALUE_VALUE_CHANGED, dispatchPayload);\n\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'name-value' }\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'internalValue',\n\t\t\t\tvalue: valuesArray,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t// Handles setting the 2nd input to read-only depending on first input value\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: ({ action, updateState, state }) => {\n\t\t\tconst { name: identifier, fieldValue: newValue } = action.payload;\n\t\t\tconst { rowsHasKeys } = state;\n\n\t\t\tconst rowInfo = getRowInfoFromName(identifier);\n\n\t\t\t// if the input is not of type 'key', we don't need to do anything here\n\t\t\tif (rowInfo.inputType !== 'key') return;\n\n\t\t\tconst rowHasKeyAtIndex = rowsHasKeys[rowInfo.rowIndex];\n\n\t\t\tif (rowHasKeyAtIndex && !newValue) {\n\t\t\t\t// key went from having value to having no value, should set value-input to read-only\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `rowsHasKeys[${rowInfo.rowIndex}]`,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t} else if (!rowHasKeyAtIndex && newValue) {\n\t\t\t\t// key went from having no value to having value, should set value-input to editable\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `rowsHasKeys[${rowInfo.rowIndex}]`,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { action, dispatch, state, updateState, host } = coeffects;\n\t\t\tconst { intent, identifier, lastRow } = action.payload;\n\t\t\tconst { name, onValueChange } = state.properties;\n\t\t\tconst { rowsHasKeys, internalValue } = state;\n\n\t\t\tconst internalValueCopy = internalValue.slice();\n\t\t\tconst rowsHasKeysCopy = rowsHasKeys.slice();\n\n\t\t\t// Handle Remove Case\n\t\t\tif (intent === 'remove') {\n\t\t\t\tinternalValueCopy.splice(identifier, 1);\n\n\t\t\t\t// handle empty case\n\t\t\t\tif (internalValueCopy.length === 0) {\n\t\t\t\t\tinternalValueCopy.push({ key: '', value: '' });\n\t\t\t\t}\n\n\t\t\t\trowsHasKeysCopy.splice(identifier, 1);\n\t\t\t} else if (intent === 'addRow') {\n\t\t\t\trowsHasKeysCopy.push(false);\n\t\t\t\tinternalValueCopy.push({ key: '', value: '' });\n\t\t\t}\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'internalValue',\n\t\t\t\t\tvalue: internalValueCopy,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'rowsHasKeys',\n\t\t\t\t\tvalue: rowsHasKeysCopy,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\n\t\t\t// dispatch value changed\n\t\t\tconst dispatchPayload = { name, ...arrayToValue(internalValueCopy) };\n\t\t\tif (onValueChange) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)(dispatchPayload);\n\t\t\t}\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'name-value' }\n\t\t\t});\n\n\t\t\tdispatch(NAME_VALUE_VALUE_CHANGED, dispatchPayload);\n\n\t\t\t// When last row is deleted, manually focus on second last row delete button\n\t\t\t// if only single row exists and we are deleting it, focus on key input area\n\t\t\tif (lastRow) {\n\t\t\t\tfocusSecondLastRowDeleteButton(host, identifier);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, updateState, state }) => {\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\n\t\tconst { liveUpdate } = state.properties;\n\n\t\tif (isEqual(value, previousValue)) return;\n\n\t\tif (name === 'liveUpdate' && liveUpdate && !liveUpdate.isUserModified) {\n\t\t\tconst internalValue = parseValue(value.value);\n\t\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\t\tupdateState({\n\t\t\t\trowsHasKeys,\n\t\t\t\tinternalValue\n\t\t\t});\n\t\t}\n\n\t\tif (name === 'value') {\n\t\t\tconst internalValue = parseValue(value);\n\t\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\t\tupdateState({\n\t\t\t\trowsHasKeys,\n\t\t\t\tinternalValue\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default actionHandlers;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport view from './view';\nimport actionHandlers from './actionHandlers';\nimport styles from './name-value.scss';\nimport { parseValue } from './utils';\nimport { trackBehavior, fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst COMPONENT_NAME = 'sn-record-name-value';\n\n/**\n *\n *  Name value field that allows you to define key-value pairs.\n *```jsx\n * <div>\n *\t<sn-record-name-value\n *\t\tlabel=\"I am label\"\n *\t\tvalue={state.value}\n *\t/>\n * <\/div>;\n *\n *```\n * @seismicElement sn-record-name-value\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tsetInitialState({ properties: { value } }) {\n\t\tconst internalValue = parseValue(value);\n\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\treturn {\n\t\t\trowsHasKeys,\n\t\t\tinternalValue\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t * @type {boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Specifies that the user cannot modify the keys of the component.\n\t\t * and user should not be able to add and remove rows\n\t\t * @type {boolean}\n\t\t */\n\t\tkeyReadOnly: { default: false },\n\t\t/**\n\t\t * Specifies that the user cannot modify the values of the component.\n\t\t * and user should be able to add and remove rows\n\t\t * @type {boolean}\n\t\t */\n\t\tvalueReadOnly: { default: false },\n\t\t/**\n\t\t * Controls if user should be able to add or remove rows of the component.\n\t\t * @type {boolean}\n\t\t */\n\t\tnoActions: { default: false },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_NAME_VALUE#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const DROPDOWN_OPENED_SET = 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET';\nexport const ITEM_SELECTED = 'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED';\nexport const LEGACY_ACTION = 'SN_CHOICE_SEARCH_DROPDOWN#ITEM_SELECTED';\nexport const PANEL_FIT_PROPS = {\n\tposition: [\n\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t{ target: 'top-end', content: 'bottom-end' }\n\t],\n\tconstrain: {\n\t\tminHeight: 32,\n\t\tminWidth: 'target',\n\t\tmaxWidth: 400\n\t}\n};\n","/**\n * This component does not keep its own state. If you want it to display the selected item you need to pass it in as a `displayValue`\n */\n\nimport { omit } from 'lodash';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-dropdown';\nimport styles from './sn-record-choice-search.scss';\nimport {\n\tDROPDOWN_OPENED_SET,\n\tITEM_SELECTED,\n\tLEGACY_ACTION,\n\tPANEL_FIT_PROPS\n} from './constants.js';\n\nconst COMPONENT_NAME = 'sn-record-choice-search';\n\nexport const choiceSearchView = state => {\n\tconst { choices, displayValue, manageOpened, disabled } = state.properties;\n\tlet opened = manageOpened ? state.properties.opened : state.opened;\n\tconst processedChoices = choices.map((choice, index) => {\n\t\tconst { displayValue, display, id } = choice;\n\t\treturn {\n\t\t\t...omit(choice, ['displayValue', 'display']),\n\t\t\tid: id || index,\n\t\t\tlabel: displayValue,\n\t\t\tdisabled: !display\n\t\t};\n\t});\n\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tclassName=\"sn-record-choice-search\"\n\t\t\tmanageOpened\n\t\t\topened={opened}\n\t\t\tpanelFitProps={PANEL_FIT_PROPS}\n\t\t\titems={processedChoices}\n\t\t\tsearch=\"contains\"\n\t\t\tselect=\"none\"\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"trigger\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-record-choice-search-trigger': true,\n\t\t\t\t\t'is-opened': opened\n\t\t\t\t}}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\t\ttabIndex={0}\n\t\t\t>\n\t\t\t\t<slot name=\"triggerButton\">\n\t\t\t\t\t{displayValue && renderDisplayValue(displayValue, disabled)}\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t<\/now-dropdown-custom-target>\n\t);\n};\n\nfunction renderDisplayValue(displayValue, disabled) {\n\treturn (\n\t\t<div className=\"sn-record-choice-search-default-label\">\n\t\t\t{displayValue}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-record-choice-search-caret': true,\n\t\t\t\t\tdisabled: disabled\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-icon icon=\"caret-down-fill\" />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n\n\nexport const actionHandlers = {\n\t[ITEM_SELECTED]: ({ action, properties, dispatch }) => {\n\t\tconst payload = action.payload.item;\n\t\tconst transformedPayload = {\n\t\t\t...omit(payload, ['label', 'disabled']),\n\t\t\tdisplayValue: payload.label,\n\t\t\tdisplay: !payload.disabled\n\t\t};\n\t\tproperties.onValueChange(transformedPayload);\n\t\taction.stopPropagation();\n\t\tdispatch(LEGACY_ACTION, transformedPayload);\n\t},\n\t[DROPDOWN_OPENED_SET]: ({ action, updateState, state }) => {\n\t\tconst { manageOpened } = state.properties;\n\t\tif (!manageOpened) {\n\t\t\tupdateState({\n\t\t\t\topened: action.payload.value\n\t\t\t});\n\t\t\taction.stopPropagation();\n\t\t}\n\t}\n};\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: choiceSearchView\n\t},\n\tinitialState: {\n\t\topened: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * If you don't want to pass your own trigger element as a slot you can pass a text\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { default: null },\n\t\t/**\n\t\t * Optional callback for item selection\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: { default: () => {} },\n\t\t/**\n\t\t * List of options available in the dropdown\n\t\t * @type {{displayValue: (string|number), display: boolean}[]}\n\t\t */\n\t\tchoices: { default: [], cast: 'array' },\n\t\t/**\n\t\t * Toggle the ability to control when to close the dropdown\n\t\t * @type {string}\n\t\t */\n\t\tmanageOpened: { default: false },\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * If manageOpened is true then this will control when the dropdown is open\n\t\t */\n\t\topened: { default: false }\n\t},\n\tactionHandlers,\n\tstyles\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\nimport { parseArabic } from '@devsnc/sn-controls-common';\nimport {\n\tgetLocaleNumberSeparators,\n\tformatClean\n} from '@devsnc/sn-controls-common/src/utils/numberUtils';\n\nconst intFormatRegex = /^([+-]?[0-9]+)?$/g;\nconst floatFormatRegex = /^([+-]?([0-9]*[.])?[0-9]+)?$/g;\n\nexport const parseSeparator = replacement => regex => value =>\n\ttypeof value === 'string' ? value.replace(regex, replacement) : value;\n\nexport const moveDecimalOverTwoPlaces = value => {\n\t// do manipulations because javascript can't math\n\t// and has precision errors when trying to do\n\t// value = value * 0.01 ;\n\t// which is needed because\n\t// Intl.NumberFormat maps 1 to 100%\n\t// Ergo, user input 23.4 ends up becoming 23.399999999999999%\n\n\tconst decimalValue = value.toString().split('.')[1];\n\tconst decimalLength = (decimalValue && decimalValue.length) || 0;\n\n\treturn parseFloat((value / 100).toFixed(decimalLength + 2));\n};\n\nexport const parse = (value, decimal, isPercent, long, locale) => {\n\tlet error;\n\t// if the value is not set skip parsing\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\tconst { thousandSeparator, decimalSeparator } =\n\t\t\tgetLocaleNumberSeparators(locale);\n\t\t// else check if value is a float or int and attempt to parse\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tconst intFormat = new RegExp(intFormatRegex);\n\t\tvalue = formatClean(String(value), decimalSeparator);\n\t\tconst strip = parseSeparator('');\n\t\tlet sanitizers = [parseArabic];\n\t\tif (thousandSeparator) {\n\t\t\tsanitizers.push(strip(new RegExp(`\\\\${thousandSeparator}`, 'g')));\n\t\t}\n\t\tif (decimalSeparator) {\n\t\t\tsanitizers.push(\n\t\t\t\tparseSeparator('.')(new RegExp(`\\\\${decimalSeparator}`, 'g'))\n\t\t\t);\n\t\t}\n\t\tsanitizers.push(strip(/[\\s\\u00A0]/g));\n\n\t\tif (isPercent) {\n\t\t\tsanitizers = [...sanitizers, strip('%')];\n\t\t}\n\n\t\tconst processedValue = sanitizers.reduce(\n\t\t\t(sanatizedValue, parser) => parser(sanatizedValue),\n\t\t\tvalue\n\t\t);\n\t\tconst floatMatch = floatFormat.test(processedValue);\n\t\tconst intMatch = intFormat.test(processedValue);\n\t\t// Parsing Conditions:\n\t\t// 1. If the field is an integer, it strictly accepts only integers and rejects floats and strings (validated by intFormatRegex).\n\t\t// 2. If the field is a decimal/percentage, it accepts both integers and floats and rejects strings (validated by floatFormatRegex).\n\t\t// 3. If the field is long, it accepts integers and floating numbers. However, a floating number will be rounded on save (validated by floatFormatRegex).\n\t\tconst isIntegerField = !decimal && intMatch;\n\t\tconst isDecimalField = decimal && floatMatch;\n\t\tconst isLongField = long && floatMatch;\n\t\tif (isIntegerField || isDecimalField || isLongField) {\n\t\t\tvalue = processedValue;\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: decimal\n\t\t\t\t\t? t('Could not parse {0} as a number', value)\n\t\t\t\t\t: t('Could not parse {0} as an integer', value)\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n\nexport const format = (value, decimal, isPercent, long, locale) => {\n\tlet error;\n\n\t// Locales with decimal separator as comma needs to be parsed before formatted\n\t// Otherwise value will be counted as invalid amount\n\t// eg: fr,de\n\n\tconst isCommaSeparatedLocale =\n\t\tgetLocaleNumberSeparators(locale).decimalSeparator === ',' &&\n\t\tvalue.includes(',');\n\n\tif (isCommaSeparatedLocale) {\n\t\t// Parse the value if the locale requires it\n\t\tconst { value: parsedValue, error: parseError } = parse(\n\t\t\tvalue,\n\t\t\tdecimal,\n\t\t\tisPercent,\n\t\t\tlong,\n\t\t\tlocale\n\t\t);\n\t\tvalue = parsedValue;\n\t\terror = parseError;\n\t}\n\n\t// if the value is not set skip formatting\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\t// else check if value is a float or int and format it if so\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tconst intFormat = new RegExp(intFormatRegex);\n\n\t\t// We check if value is a float\tand format it if so\n\t\tconst floatMatch = floatFormat.test(value);\n\t\tconst intMatch = intFormat.test(value);\n\t\tif ((decimal && floatMatch) || (!decimal && intMatch)) {\n\t\t\t// when useAllFractionsDigits is pased in we want to force Intl.NumberFormat to persist all\n\t\t\t// fraction digits, otherwise don't set these properties and rely on the locale+currency to\n\t\t\t// drive.\n\t\t\tconst formatOptions = {\n\t\t\t\tminimumFractionDigits: 0,\n\t\t\t\tmaximumFractionDigits: decimal ? 20 : 0,\n\t\t\t\tuseGrouping: true // enables thousand separators\n\t\t\t};\n\t\t\tif (isPercent) {\n\t\t\t\tformatOptions.style = 'percent';\n\t\t\t\tvalue = moveDecimalOverTwoPlaces(value);\n\t\t\t}\n\t\t\tvalue = new Intl.NumberFormat(locale, formatOptions).format(value);\n\t\t\t// There is a known issue with Intl's format method, where if we pass certain locale, it returns an invalid minus symbol\n\t\t\t// Refer - https://stackoverflow.com/questions/74352253/intl-numberformat-with-swedish-locale-and-negative-value-returns-wrong-minus-cha\n\t\t\t// To fix this either we can replace this approach with a different locale library like http://numeraljs.com/\n\t\t\t// OR\n\t\t\t// We replace the incorrect minus sign with the correct one, which is done below.\n\n\t\t\tif (value.includes('−')) value = value.replace('−', '-');\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: decimal\n\t\t\t\t\t? t('{0} is not a valid number', value)\n\t\t\t\t\t: t('{0} is not a valid integer', value)\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n","import { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@devsnc/sn-declarative-actions';\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\twithState,\n\tsetInitialStateWithValue,\n\thandleInitialValue,\n\ttransformDescriptionAndMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\trenderDecorations,\n\tNOW_INPUT,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport * as NumberFormatter from './numberFormat';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport style from './number.scss';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { toString } from 'lodash';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDER_REQUESTED } = actionTypes;\nconst HANDLE_INITIAL_VALUE = 'NOW_RECORD_NUMBER_INTERNAL#HANDLE_INITIAL_VALUE';\nexport const INTERNAL_ON_BLUR = 'NOW_RECORD_NUMBER#INTERNAL_ON_BLUR';\nexport const LONG_INT_MAX_LENGTH = '20';\nexport const DEFAULT_MAX_LENGTH = '14';\nexport const HOLD_RAW_FORMAT_LATER = 'NOW_RECORD_NUMBER#HOLD_RAW_FORMAT_LATER';\nexport const format = (value, props) => {\n\tconst { format, long, integer, decimal, percent, locale } = props;\n\tif (format === 'none' || (long && !format)) {\n\t\treturn { value, error: undefined };\n\t}\n\tconst isDecimal = !integer && decimal;\n\treturn NumberFormatter.format(value, isDecimal, percent, long, locale);\n};\n\nexport const maxLength = props =>\n\tprops.long ? LONG_INT_MAX_LENGTH : DEFAULT_MAX_LENGTH;\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props) => {\n\t\t\tconst decimal = !props.integer && props.decimal;\n\t\t\treturn NumberFormatter.parse(\n\t\t\t\tvalue,\n\t\t\t\tdecimal,\n\t\t\t\tprops.percent,\n\t\t\t\tprops.long,\n\t\t\t\tprops.locale\n\t\t\t);\n\t\t},\n\t\tformat,\n\t\tinitialValueProp: 'initialValue',\n\t\tinitialDisplayValueProp: 'initialDisplayValue',\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: INTERNAL_ON_BLUR,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur: ({ isRender, updateState }) => {\n\t\t\tupdateState({ isRender: !isRender });\n\t\t}\n\t})\n};\nconst resolveAriaProps = props => {\n\tconst propAriaLabel = props['aria-label'] || '';\n\tconst propAriaLabelledby = propAriaLabel\n\t\t? null\n\t\t: props['aria-labelledby'] || '';\n\treturn {\n\t\tinput: {\n\t\t\t...{\n\t\t\t\t'aria-label': propAriaLabel,\n\t\t\t\t'aria-labelledby': propAriaLabelledby\n\t\t\t},\n\t\t\t...props?.configAria\n\t\t}\n\t};\n};\n\nconst renderDeclarativeActions = (\n\t{ declarativeActionsProps, formData },\n\tdispatch\n) => (\n\t<sn-declarative-field-action\n\t\tslot=\"end\"\n\t\tmodel={declarativeActionsProps}\n\t\tactions={declarativeActionsProps?.declarativeUiActions}\n\t\tdispatch={dispatch}\n\t\tformData={formData}\n\t\tfetchDeclarativeActions={declarativeActionsProps?.fetchDeclarativeActions}\n\t/>\n);\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'initialValue') {\n\t\t\tupdateState({ skipHandleInitialValue: true });\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tformat,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[HANDLE_INITIAL_VALUE]: {\n\t\teffect: ({\n\t\t\taction: { payload },\n\t\t\tstate: { skipHandleInitialValue },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!skipHandleInitialValue) {\n\t\t\t\thandleInitialValue(payload);\n\t\t\t} else {\n\t\t\t\tupdateState({ skipHandleInitialValue: false });\n\t\t\t}\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 }\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\tproperties,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { previousRenderProperties }\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst { initialValue } = properties;\n\t\tconst nextInitialValue = toString(properties.initialValue);\n\t\tconst oldInitialValue = toString(previousRenderProperties.initialValue);\n\t\tdispatch(HANDLE_INITIAL_VALUE, {\n\t\t\trawValue: initialValue,\n\t\t\tnewValue: nextInitialValue,\n\t\t\toldValue: oldInitialValue,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tformat,\n\t\t\tupdateState\n\t\t});\n\t},\n\t[NOW_INPUT.INVALID_SET]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { fieldValue, fromHandleBlur }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (fromHandleBlur) {\n\t\t\t\t// Set the raw value (e.g., 1234) in the control state\n\t\t\t\tupdateState({ value: fieldValue });\n\t\t\t\t// Dispatch the HOLD_RAW_FORMAT_LATER action to format the value after a delay\n\t\t\t\tdispatch(HOLD_RAW_FORMAT_LATER);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t/*\n\tWhen 1234 is entered, it gets formatted to 1,234 on the first render.\n\n\tOn the next render, if the user enters 1234 again, the value stays 1234 because the NDS input component detects no change (oldValue === newValue).\n\tHowever, the expected behavior is for it to format as 1,234.\n\n\tTo fix this, we:\n\n\t1. Set the value to 1234 in the control state initially.\n\t2. Dispatch the update with a delay, so the flow becomes:\n\t1234 → 1,234 → 1234 → 1,234.\n\n\tThis ensures the value updates correctly each time and resolves the issue where oldValue === 1234 and newValue === 1,234.\n\t*/\n\t[HOLD_RAW_FORMAT_LATER]: {\n\t\teffect: ({ state: { value }, dispatch }) => {\n\t\t\tdispatch(INTERNAL_ON_BLUR, { fieldValue: value });\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 },\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n * Allows users to enter and edit number values\n */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\tautofocus,\n\t\tdescription,\n\t\tmessages,\n\t\tinvalid,\n\t\tlabel,\n\t\treadonly,\n\t\trequired,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tname,\n\t\treversed,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\tautofocus={autofocus}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tname={name}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={required}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tvalue={state.value}\n\t\t\tconfigAria={resolveAriaProps(state.properties)}\n\t\t\tmaxlength={maxLength(state.properties)}\n\t\t\ttype=\"text\"\n\t\t\talign={reversed ? 'start' : 'end'}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfield-layout={fieldLayout}\n\t\t>\n\t\t\t<slot name=\"controls\" slot=\"end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n *  An input number component that can either represent an integer, a decimal/float or a\n *  percent_complete field type.\n *\n * ```jsx\n * <now-record-number name=\"number\" decimal=\"true\" intialValue=\"12345\" />\n * ```\n *\n * @seismicElement now-record-number\n * @summary An input number component that can either represent an integer, a decimal/float, a long/longint or a\n * percent_complete field type.\n *\n * */\ncreateCustomElement('now-record-number', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * A string that identifies if the number field is of the decimal type,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\",\n\t\t * indicating whether to support fractions or not. If `integer` is set to\n\t\t * true this prop gets over written.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\n\t\tdecimal: { default: true },\n\t\t/**\n\t\t * A string that identifies if the number field is of the long type,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\",\n\t\t * indicating whether to support large numbers or not.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tlong: { default: false },\n\t\t/**\n\t\t * Declarative Actions Props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Format option for number fields. If none, the number will not be formatted.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: { default: { showUnsavedIndicator: false } },\n\t\t/**\n\t\t * The first value that the component has when rendered\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\t\t/**\n\t\t * Set to true if the field should be an integer and not a decimal type.\n\t\t * @type {boolean}\n\t\t */\n\t\tinteger: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Label for the field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\t\t/**\n\t\t * System locale setting used to format the number.\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * A string  that identifies if the number field is percent_complete,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\".\n\t\t * @type {string | boolean}\n\t\t */\n\t\tpercent: { default: false },\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_NUMBER#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_NUMBER#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tinitialState: {\n\t\tisHandlingInitialValue: true\n\t},\n\tsetInitialState: setInitialStateWithValue(format),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tactionHandlers\n});\n","import { t } from 'sn-translate';\nimport { isEmpty, isString, isNil, flow } from 'lodash';\nimport { parseArabic } from '@devsnc/sn-controls-common';\n\n// more countries than US use the same format\nconst nanpFormatAlphaNumericRegex =\n\t/^(?:1[-.● ])?\\(?([0-9]{3})\\)?[-.● ]?([0-9]{3})[-.● ]?([0-9]{4})/;\nexport const phoneSeparatorRegex = /[-.● ()]/g;\nconst someDigitsRegex = /\\d/;\nconst someLetterRegex = /[a-z]/i;\nconst plusAtStart = /^\\+/;\nconst leadingOne = /^1/g;\n\nexport const convertAlphaToNumber = phone =>\n\ttypeof phone === 'string'\n\t\t? phone\n\t\t\t\t.replace(/[a-c]/gi, '2')\n\t\t\t\t.replace(/[d-f]/gi, '3')\n\t\t\t\t.replace(/[g-i]/gi, '4')\n\t\t\t\t.replace(/[j-l]/gi, '5')\n\t\t\t\t.replace(/[m-o]/gi, '6')\n\t\t\t\t.replace(/[p-s]/gi, '7')\n\t\t\t\t.replace(/[t-v]/gi, '8')\n\t\t\t\t.replace(/[w-z]/gi, '9')\n\t\t: phone;\n\nconst ensureValidValue = f => value => {\n\tif (isEmpty(value) || !isString(value)) {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t};\n\t}\n\n\treturn f(value);\n};\n\nconst makeError = countryName => {\n\tcountryName = isNil(countryName) ? 'country' : countryName;\n\treturn {\n\t\ttype: 'error',\n\t\tmessage: t(\n\t\t\t'Please check your number conforms with {0} and try again',\n\t\t\tcountryName\n\t\t)\n\t};\n};\nconst makeAlphaCharError = alphaNumValue => {\n\treturn {\n\t\ttype: 'error',\n\t\tmessage: t(\n\t\t\t'Only numbers are allowed. Did you mean {0}?',\n\t\t\tconvertAlphaToNumber(alphaNumValue)\n\t\t)\n\t};\n};\n\nexport const isFormatMatch = number => formatElement => {\n\tconst condition = formatElement.condition.value || '.*';\n\tconst pattern = formatElement.pattern.value || '';\n\tconst conditionRegex = new RegExp(`^(${condition})`);\n\tconst patternRegex = new RegExp(`(^${pattern}$)`);\n\treturn conditionRegex.test(number) && patternRegex.test(number);\n};\n\nconst getE164Format = (object, processedValue) => {\n\t// condition must hold for beginning of phone number\n\t// pattern must hold from beginning til end of phone number\n\tif (!object) {\n\t\treturn false;\n\t}\n\n\treturn object.find(isFormatMatch(processedValue));\n};\n\n/**\n * Formats a number value into area code, first digits, and last digits\n * i.e. as a North American number only.\n * Should be used ONLY for non e164 phone field types\n * @see Formatting.js in platform to see how ph_number is done there.\n * @param {string} input parsed phone number value, no symbols(except '+') or spaces\n * @returns {string} Phone number with ()'s and -'s i.e. (xxx) xxx-xxxx\n */\nexport const format = ensureValidValue(input => {\n\tlet error;\n\tlet value = input.trim();\n\tlet hasPlusAtStart = plusAtStart.test(value);\n\t/*\n\t * To match how platform does it:\n\t *'+' means user set their own format\n\t */\n\tif (hasPlusAtStart)\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror\n\t\t};\n\n\tlet valueNoUsCode = value.length > 10 ? value.replace(leadingOne, '') : value;\n\n\tif (valueNoUsCode.length != 10)\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror\n\t\t};\n\n\tconst isNanp = nanpFormatAlphaNumericRegex.test(valueNoUsCode);\n\tif (!isNanp) {\n\t\treturn {\n\t\t\tvalue: valueNoUsCode,\n\t\t\terror\n\t\t};\n\t}\n\n\tvalueNoUsCode = valueNoUsCode.replace(\n\t\tnanpFormatAlphaNumericRegex,\n\t\t(_match, areaCode, firstDigits, lastDigits) => {\n\t\t\tlet phoneParts = [];\n\t\t\tif (areaCode) {\n\t\t\t\tphoneParts.push(`(${areaCode})`);\n\t\t\t}\n\t\t\tphoneParts.push(`${firstDigits}-${lastDigits}`);\n\t\t\treturn phoneParts.join(' ');\n\t\t}\n\t);\n\treturn {\n\t\tvalue: valueNoUsCode,\n\t\terror\n\t};\n});\n\nconst removeCountryCode = countryCode => value => {\n\treturn value.startsWith(`+${countryCode}`)\n\t\t? value.substring(countryCode.length + 1)\n\t\t: value;\n};\n\n/**\n * Throughout this method, value will generally be what will be in the input,\n * But we want to check values that include the countryCode, so we use\n * another variable, fullNumber, for checks and errors\n *\n * @param {string} input: the parsed value returned from e164parse\n * @param {string} countryCode: the country code (aka the internationl code) from the dropdown\n * @param {array} formats the possible formats for the country code\n */\nexport const e164format = (\n\tinput,\n\tcountryCode,\n\tformats,\n\tcountryName,\n\toldCountryCode,\n\tisStrictEnabled\n) =>\n\tensureValidValue(input => {\n\t\tlet error;\n\t\tlet value = flow([\n\t\t\tremoveCountryCode(countryCode),\n\t\t\tremoveCountryCode(oldCountryCode)\n\t\t])(input);\n\t\tlet processedValue = parseArabic(value).replace(phoneSeparatorRegex, '');\n\t\tconst matchedFormat = getE164Format(formats, processedValue);\n\t\tif (matchedFormat && isStrictEnabled !== false) {\n\t\t\tconst formatting = matchedFormat.format.value || '';\n\t\t\tconst pattern = matchedFormat.pattern.value || '';\n\t\t\tconst patternRegex = new RegExp(pattern);\n\t\t\tconst sections = patternRegex.exec(processedValue);\n\t\t\t// format the string if formatting exist\n\t\t\tif (formatting && pattern && sections) {\n\t\t\t\tprocessedValue = formatting;\n\t\t\t\tvalue = sections.reduce(\n\t\t\t\t\t(acc, current, i) => acc.replace(`$${i}`, current),\n\t\t\t\t\tprocessedValue\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\terror = isStrictEnabled === false ? undefined : makeError(countryName);\n\t\t}\n\t\treturn {\n\t\t\tvalue,\n\t\t\tcountryCode: countryCode,\n\t\t\terror\n\t\t};\n\t})(input);\n\n/**\n * Gives you a string of numbers without any symbols unless it has a '+'\n * This should be used for Non-PhoneE164 field types ONLY.\n * @see Formatting.js in glide for reference to platform ph_number\n * @param {string} value phone number as entered on field\n * @returns the phone number entered without symbols\n */\nexport const parse = ensureValidValue(value => {\n\tlet error;\n\tlet originalValue = value;\n\tlet processedValue = parseArabic(value.trim());\n\t//if it has a + do not do anything to it.\n\tif (plusAtStart.test(processedValue))\n\t\treturn {\n\t\t\tvalue: processedValue,\n\t\t\terror\n\t\t};\n\t//Platform removes Nanp country code for numbers, we should do it too\n\tif (processedValue.charAt(0) == '1')\n\t\tprocessedValue = processedValue.substring(1, processedValue.length);\n\tconst hasSomeDigits = someDigitsRegex.test(value);\n\tconst hasSomeLetters = someLetterRegex.test(processedValue);\n\n\tif (hasSomeLetters) error = makeAlphaCharError(originalValue);\n\telse if (hasSomeDigits) {\n\t\t//Remove all the symbols from the number\n\t\tvalue = processedValue.replace(phoneSeparatorRegex, '');\n\t\tif (value.length != 10 && originalValue.length <= 40) {\n\t\t\tvalue = originalValue;\n\t\t}\n\t}\n\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n});\n\n/*\n * @param value: the value from the input field\n * @param code: the country code from the dropdown\n * @param formats: the possible formats for the country code\n */\nexport const e164parse = (\n\tvalue,\n\tcountryName,\n\tformats,\n\tcountryCode,\n\tisStrictEnabled\n) =>\n\tensureValidValue(value => {\n\t\tconst fullValue = value.trim();\n\t\tlet error;\n\t\tlet e164Format = undefined;\n\t\tconst processedValue = parseArabic(fullValue)\n\t\t\t.replace(phoneSeparatorRegex, '')\n\t\t\t.replace(`+${countryCode}`, '');\n\n\t\tconst hasSomeLetters = someLetterRegex.test(fullValue);\n\t\tconst hasSomeDigits = someDigitsRegex.test(fullValue);\n\n\t\te164Format =\n\t\t\tisStrictEnabled === false\n\t\t\t\t? processedValue\n\t\t\t\t: getE164Format(formats, processedValue);\n\n\t\tif (!hasSomeLetters) {\n\t\t\tif (!e164Format || !hasSomeDigits) {\n\t\t\t\terror = makeError(countryName);\n\t\t\t}\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: t(\n\t\t\t\t\t'Only numbers are allowed. Did you mean {0}?',\n\t\t\t\t\tconvertAlphaToNumber(value)\n\t\t\t\t)\n\t\t\t};\n\t\t}\n\t\t// value = processedValue;\n\t\tvalue = `+${countryCode}${processedValue}`;\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror,\n\t\t\te164Format\n\t\t};\n\t})(value);\n\nconst isDigit = char => {\n\treturn !isNaN(parseInt(char, 10));\n};\n\n/*\n * @param pattern: A regex pattern for braking up phone numbers for a given location\n */\nexport const patternToPlaceholderPattern = pattern => {\n\tlet inSquareBracket = false;\n\tlet inCurlyBracket = false;\n\tlet newPattern = [];\n\n\tfor (let i = 0; i < pattern.length; i++) {\n\t\tconst char = pattern.charAt(i);\n\t\tif (inSquareBracket || char === '[') {\n\t\t\tinSquareBracket = true;\n\t\t\tif (char === ']') {\n\t\t\t\tinSquareBracket = false;\n\t\t\t\tnewPattern.push('9');\n\t\t\t}\n\t\t} else if (isDigit(char) && !inCurlyBracket) {\n\t\t\tnewPattern.push('9');\n\t\t} else {\n\t\t\tnewPattern.push(char);\n\t\t\tif (char === '{') inCurlyBracket = true;\n\t\t\tif (char === '}') inCurlyBracket = false;\n\t\t}\n\t}\n\treturn newPattern.join('');\n};\n\nexport const getPlaceholder = (format, pattern) => {\n\tif (!format || !pattern) return '';\n\tconst placeHolderPattern = new RegExp(patternToPlaceholderPattern(pattern));\n\treturn '99999999999999999999'\n\t\t.replace(placeHolderPattern, format + '-----')\n\t\t.split('-----')[0];\n};\n","import { getProperty, isAttrTrue } from '@devsnc/sn-controls-common';\n\n// Sad caching so we don't need to recreate the `toolbar` array on every render.\nlet tinymceToolbar;\nconst getTinyMCEToolbar = () => {\n\tconst toolbar =\n\t\tgetProperty(`glide.ui.html.editor.toolbar`, '').trim() || false;\n\n\tif (toolbar !== tinymceToolbar) {\n\t\ttinymceToolbar = toolbar;\n\t}\n\n\treturn tinymceToolbar;\n};\n\nconst getFirstDayOfTheWeek = () => {\n\tlet firstDayOfWeek = Number.parseInt(\n\t\tgetProperty('glide.ui.date_picker.first_day_of_week'),\n\t\t10\n\t);\n\treturn !Number.isNaN(firstDayOfWeek) ? firstDayOfWeek : undefined;\n};\n\nconst controlOrSysProp = (defaultValue, sysProp, controlPropValue) => {\n\tlet value = defaultValue;\n\tconst sysPropValue = getProperty(sysProp);\n\tif (sysPropValue !== undefined && sysPropValue !== null) value = sysPropValue;\n\tif (controlPropValue !== undefined && controlPropValue !== null)\n\t\tvalue = controlPropValue;\n\treturn value;\n};\n\nconst getRecordMembers = formData => {\n\tconst preloadMentions = isAttrTrue(\n\t\tgetProperty('glide.ui.mentions.preload', false)\n\t);\n\treturn preloadMentions ? formData?.recordMembers : [];\n};\n\nexport {\n\tgetTinyMCEToolbar,\n\tgetFirstDayOfTheWeek,\n\tcontrolOrSysProp,\n\tgetRecordMembers\n};\n","import { memoize, get, isNumber } from 'lodash';\nimport { getProperty, isAttrTrue } from '@devsnc/sn-controls-common';\nimport { adjustPropsForTimezone } from './fieldPropUtils';\nimport { getFirstDayOfTheWeek } from './syspropUtils';\n\n/**\n * Get the user preferences according to whether it is legacy workspace or new workspace\n * @param {object}} formData passed from forms, contains userSession\n * @returns {object} object containing all the user preferences for the current user.\n */\nconst getCurrentUser = (formData = {}) => {\n\treturn (\n\t\tformData != null && formData.classicForm\n\t\t\t? memoize(() =>\n\t\t\t\t\tget(\n\t\t\t\t\t\twindow,\n\t\t\t\t\t\t'ux_globals.presource[\"sn-workspace-header:wsUserData\"].data.GlideDomain_Query.user',\n\t\t\t\t\t\tformData.userSession || {}\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t: () =>\n\t\t\t\t\tget(formData, 'userSession', {\n\t\t\t\t\t\tcountryCallingCode: '',\n\t\t\t\t\t\tdateFormat: 'yyyy-MM-dd',\n\t\t\t\t\t\tdateTimeFormat: 'yyyy-MM-dd HH:mm:ss',\n\t\t\t\t\t\tlanguage: 'en',\n\t\t\t\t\t\ttimeFormat: 'HH:mm:ss',\n\t\t\t\t\t\ttimeZone: 'US/Pacific',\n\t\t\t\t\t\ttimeZoneOffset: -28800000\n\t\t\t\t\t})\n\t)();\n};\n\n/**\n * Flag to determine whether to enable helper content or not based on user preference accessibility settings.\n * @param {object} currentUser object created from getCurrentUser()\n * @returns {boolean} Whether both sys preferences are true\n */\nconst isAccessibilityTooltipsEnabled = currentUser => {\n\tconst preferences = get(currentUser, 'preferences', []) || [];\n\n\tconst userA11yPrefs = preferences.filter(\n\t\tpreference =>\n\t\t\tget(preference, 'name') === 'glide.ui.accessibility.accessible.tooltips'\n\t);\n\treturn userA11yPrefs.length\n\t\t? userA11yPrefs.every(({ value }) => isAttrTrue(value))\n\t\t: false;\n};\n\nconst getHelperContent = (field, currentUser) =>\n\tisAccessibilityTooltipsEnabled(currentUser) || field.showFieldHint\n\t\t? get(field, 'dictionary.fieldHint', '')\n\t\t: '';\n\nconst getTimezoneOffset = user => {\n\tlet millisecondsToHours = ms => ms / 1000 / 60 / 60;\n\n\treturn isNumber(user.timeZoneOffset)\n\t\t? millisecondsToHours(user.timeZoneOffset)\n\t\t: undefined;\n};\n\nconst getUserLanguage = user => {\n\tconst fallback = get(\n\t\tnavigator,\n\t\t'languages[0]',\n\t\tnavigator.language || navigator.userLanguage\n\t);\n\n\treturn user.language || fallback;\n};\n\nconst mapDatePickerLocaleCodes = language => {\n\tswitch (language) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-TW';\n\t\tdefault:\n\t\t\treturn language;\n\t}\n};\n\nconst getTimeProps = controlProps => {\n\tconst { formData } = controlProps;\n\n\treturn adjustPropsForTimezone({\n\t\t...controlProps,\n\t\tfirstDayOfWeek: getFirstDayOfTheWeek(),\n\t\tlanguage: mapDatePickerLocaleCodes(\n\t\t\tgetUserLanguage(getCurrentUser(formData))\n\t\t),\n\t\tutcOffset: getTimezoneOffset(getCurrentUser(formData))\n\t});\n};\n\nconst isSupportedLocal = locale => {\n\tlet length;\n\ttry {\n\t\tlength = Intl.NumberFormat.supportedLocalesOf([locale]).length;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\treturn length > 0;\n};\n\nconst normalizeFormat = locale => {\n\tswitch (locale) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-Hant';\n\t\tcase 'xl':\n\t\t\treturn 'en';\n\t\tdefault:\n\t\t\treturn locale\n\t\t\t\t? locale.replace(/[._]/, '-')\n\t\t\t\t: document.documentElement.lang;\n\t}\n};\n\nconst fixLocale = (formData, singleCurrency = false) => {\n\tconst currentUser = getCurrentUser(formData);\n\n\t// If single currency mode is enabled, use the system's default locale from 'glide.system.locale'.\n\t// Reference: https://www.servicenow.com/docs/bundle/xanadu-platform-administration/page/administer/currency/concept/single-currency-mode.html\n\n\t// Otherwise, prioritize the user's session details (language and country).\n\t// If these are unavailable, fall back to the system's default locale.\n\t// Reference: https://www.servicenow.com/docs/bundle/xanadu-platform-administration/page/administer/currency/concept/locales.html\n\n\tconst locale = singleCurrency\n\t\t? getProperty('glide.system.locale')\n\t\t: currentUser.language && currentUser.country\n\t\t\t? `${currentUser.language}-${currentUser.country}`\n\t\t\t: getProperty('glide.system.locale');\n\n\t// Normalize the locale format to ensure consistency.\n\tconst formattedLocale = normalizeFormat(locale);\n\n\t// Return the formatted locale if it's supported; otherwise, fallback to the document's default language.\n\treturn isSupportedLocal(formattedLocale)\n\t\t? formattedLocale\n\t\t: document.documentElement.lang;\n};\n\nconst resolveLanguage = (\n\tuserLanguage,\n\tsystemLanguage,\n\tsupportedLanguages = ''\n) => {\n\tconst supportedLanguagesArr = supportedLanguages.split(',');\n\tif (userLanguage && supportedLanguagesArr.includes(userLanguage))\n\t\treturn userLanguage;\n\tif (systemLanguage && supportedLanguagesArr.includes(systemLanguage))\n\t\treturn systemLanguage;\n\treturn 'en';\n};\n\nexport {\n\tisAccessibilityTooltipsEnabled,\n\tgetCurrentUser,\n\tgetHelperContent,\n\tgetTimeProps,\n\tfixLocale,\n\tgetUserLanguage,\n\tresolveLanguage\n};\n","import {\n\tmemoize,\n\tincludes,\n\tpickBy,\n\tidentity,\n\tchain,\n\tomit,\n\tmap,\n\tisEmpty\n} from 'lodash';\nimport { get } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { FIELD_TYPE } from '@devsnc/sn-controls-common';\nimport { LiveUpdateMessage } from '@devsnc/sn-form-controls';\nimport {\n\tescapeSeismicSpecialSymbols,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\nimport { getCurrentUser } from './userPrefUtils';\n\nconst getHtmlAttributes = dictionaryAttributes => {\n\t//map the attributes to our prop names & return truthy properties only\n\treturn (\n\t\tdictionaryAttributes &&\n\t\tpickBy(\n\t\t\t{\n\t\t\t\theight: dictionaryAttributes['editor.height'],\n\t\t\t\tmaxHeight: dictionaryAttributes['editor.max_height'],\n\t\t\t\tplugins: dictionaryAttributes['editor.plugins'],\n\t\t\t\ttoolbar: dictionaryAttributes['editor.toolbar'],\n\t\t\t\tbrowserSpellcheck: dictionaryAttributes['editor.spellcheck'],\n\t\t\t\tautoresizeBottomMargin:\n\t\t\t\t\tdictionaryAttributes['editor.autoresize_bottom_margin']\n\t\t\t},\n\t\t\tidentity\n\t\t)\n\t);\n};\n\nconst getDictionaryAttrs = controlProps => {\n\treturn chain(get(controlProps, 'dictionary.attributes'))\n\t\t.keyBy('name')\n\t\t.mapValues('value')\n\t\t.value();\n};\n\n/**\n * For date/time fields, `displayValue` is adjusted for the user's timezone\n * pref, `value` is not. Move the displayValue over to the value prop so that\n * the form control can deal with localized time rather than UTC.\n */\nconst adjustPropsForTimezone = controlProps => {\n\tconst displayValue = controlProps.displayValue;\n\tconst originalDisplayValue =\n\t\tcontrolProps.originalDisplayValue || controlProps.originalValue;\n\tconst updatedProps = omit(controlProps, 'displayValue');\n\tif (controlProps.fieldType === FIELD_TYPE.INTEGER_DATE) {\n\t\treturn {\n\t\t\t...updatedProps,\n\t\t\tvalue: displayValue,\n\t\t\toriginalValue: originalDisplayValue\n\t\t};\n\t}\n\n\treturn {\n\t\t...updatedProps,\n\t\tvalue: displayValue || controlProps.value,\n\t\toriginalValue: originalDisplayValue\n\t};\n};\n\n/**\n * Determines whether a given field type is supported by controls team.\n * @param {string} type - name of the field type\n * @returns {boolean} Whether the type is supported\n */\nconst isSupported = type => {\n\treturn includes(FIELD_TYPE, type);\n};\n\nconst getMessagesAndLiveUpdate = (liveUpdate, msgs) => {\n\tconst messages = Array.isArray(msgs) ? msgs : [];\n\n\tif (liveUpdate) {\n\t\tlet userName = get(liveUpdate, 'updatedBy.displayName');\n\t\tlet newMsg = { type: '', message: new LiveUpdateMessage(userName) };\n\t\tif (liveUpdate.isUserModified) {\n\t\t\tnewMsg.type = 'warning';\n\t\t\tnewMsg.message.setNewValue(liveUpdate.displayValue);\n\t\t} else {\n\t\t\tnewMsg.type = 'liveUpdate';\n\t\t}\n\n\t\treturn [...messages, newMsg];\n\t}\n\treturn messages;\n};\n\nconst transformValueForDaysOfWeek = value => {\n\tconst newValue = value ? value.split('').join(',') : value;\n\treturn newValue;\n};\n\nconst sanitizeField = field => {\n\t// Remove props that can conflict with HTML or have otherwise unintended side effects\n\t// eslint-disable-next-line no-unused-vars\n\tconst { type, hidden, ...validAttrs } = field;\n\n\tif (hidden) {\n\t\tconsole.warn(\n\t\t\t`Invalid attribute \"hidden\" found for ${field.name}. Use \"visible\" instead.`\n\t\t);\n\t}\n\n\treturn validAttrs;\n};\n\nconst getReferenceProps = controlProps => ({\n\t...controlProps,\n\ttableName: controlProps.referringTable,\n\tfieldName: controlProps.name,\n\tsortBy: controlProps.refAcOrderBy,\n\treferenceTable: controlProps.reference,\n\tdisplayValue: escapeSeismicSpecialSymbols(controlProps.displayValue),\n\trecordSysId: controlProps.referringRecordId,\n\tsearchCancelable: getProperty(\n\t\t'glide.request_manager.cancel_reference_completer',\n\t\ttrue\n\t),\n\tmaxSearchMatches: Number.parseInt(\n\t\tgetProperty('glide.ui.max_search_matches', 250),\n\t\t10\n\t)\n});\n\nconst normalizeCountryCodes = countryCodes =>\n\tmap(countryCodes, code => ({\n\t\t...code,\n\t\tvalue: code.code,\n\t\tdisplayValue: `${code.name} +${code.code}`\n\t}));\n\nconst getDateFormat = (formData, keepOriginal) =>\n\tmemoize(() => {\n\t\tconst dateFormat = getCurrentUser(formData).dateFormat || 'YYYY-MM-DD';\n\t\treturn keepOriginal ? dateFormat : dateFormat.toUpperCase();\n\t})();\n\nconst getTimeFormat = formData =>\n\tmemoize(() => {\n\t\tlet userTimeFormat = getCurrentUser(formData).timeFormat;\n\t\treturn (userTimeFormat && userTimeFormat.replace(':SSS', '')) || 'HH:mm:ss'; // the platform does not support milliseconds, change time format\n\t})();\n\nconst getDateTimeFormat = (formData, keepOriginal) =>\n\tmemoize(\n\t\t() => `${getDateFormat(formData, keepOriginal)} ${getTimeFormat(formData)}`\n\t)();\n\nconst getAttribute = controlProps => (attribute, defaultValue) => {\n\tconst attributes = get(controlProps, 'dictionary.attributes', []);\n\n\tconst attributeValue = attributes.find(a => a.name === attribute);\n\n\treturn attributeValue === undefined ? defaultValue : attributeValue.value;\n};\n\nconst checkIfInfoMessageExists = controlProps => {\n\tconst { dependentFieldLabel, messages } = controlProps;\n\tconst infoMessage = t(\n\t\t`Select a ${dependentFieldLabel} before modifying this field`\n\t);\n\treturn messages.find(item => item.message === infoMessage);\n};\n\nconst parseCountryCode = (countryCode, value, countryCodes) => {\n\tif (!value) return countryCode;\n\tconst parsedCode = (countryCodes || []).find(code =>\n\t\tvalue.startsWith(`+${code.code}`)\n\t);\n\treturn parsedCode && parsedCode !== countryCode\n\t\t? parsedCode.code\n\t\t: countryCode;\n};\n\nconst getFormDataForTemplateValue = (formData = {}) => ({\n\t...formData,\n\tencodedRecord: ''\n});\n\nconst toHtml = htmlString => {\n\tif (typeof htmlString == 'string')\n\t\treturn (\n\t\t\t<span\n\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t__html: htmlString\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\n\treturn htmlString;\n};\n\nconst getEncryptedFieldLabel = (originalLabel, encryptionName = '') => {\n\tconst suffix = !isEmpty(encryptionName) ? `: ${encryptionName}` : '';\n\tconst translatedEncrypted = t('Encrypted');\n\tconst fullSuffix = ` (${translatedEncrypted}${suffix})`;\n\treturn originalLabel + fullSuffix;\n};\n\nconst isRefSearchOnClickSuppressed = ({ reference }) => {\n\tconst exceptionReferences = getProperty(\n\t\t'glide.ui.reference.fields.onclick.override',\n\t\t''\n\t).split(',');\n\treturn exceptionReferences.includes(reference);\n};\n\n/**\n * Normalises the original value to match the format of the value.\n * @param {*} originalValue\n * @param {*} value\n * @returns\n */\nfunction normalizeToDurationFormat(originalValue, value) {\n\tif (!value || !originalValue) return originalValue;\n\n\t// If original doesn't have days and valueFormat does, prepend '00 '\n\tif (value.includes(' ') && !originalValue.includes(' ')) {\n\t\treturn `00 ${originalValue}`;\n\t}\n\t// If valueFormat doesn't have days, strip days from originalValue\n\tif (!value.includes(' ') && originalValue.includes(' ')) {\n\t\treturn originalValue.split(' ')[1]; // remove the day part\n\t}\n\treturn originalValue; // already in same format\n}\n\nexport {\n\tgetHtmlAttributes,\n\tgetDictionaryAttrs,\n\tadjustPropsForTimezone,\n\tisSupported,\n\tgetMessagesAndLiveUpdate,\n\ttransformValueForDaysOfWeek,\n\tsanitizeField,\n\tgetReferenceProps,\n\tnormalizeCountryCodes,\n\tgetDateFormat,\n\tgetTimeFormat,\n\tgetDateTimeFormat,\n\tgetAttribute,\n\tcheckIfInfoMessageExists,\n\tparseCountryCode,\n\tgetFormDataForTemplateValue,\n\ttoHtml,\n\tgetEncryptedFieldLabel,\n\tisRefSearchOnClickSuppressed,\n\tnormalizeToDurationFormat\n};\n","import { isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst safelyParseJSON = jsonString => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch (e) {\n\t\treturn {};\n\t}\n};\n\nconst isApplicableField = (table, field, contextMenu) => {\n\treturn isAttrTrue(contextMenu?.formfieldsMapper?.[table]?.[field]);\n};\n\nconst getFieldNowAssistContextMenu = field => {\n\tconst { name, fieldNowAssistContextMenu, referringTable } = field;\n\tconst contextMenu = safelyParseJSON(fieldNowAssistContextMenu);\n\treturn isApplicableField(referringTable, name, contextMenu)\n\t\t? contextMenu\n\t\t: {};\n};\n\nexport { getFieldNowAssistContextMenu };\n","import { get, includes, map } from 'lodash';\nimport * as PhoneFormatter from './phoneFormat';\nimport {\n\tgetCurrentUser\n} from '../base/factoryUtils';\n\nexport function getCountryCode(props, state) {\n\tconst { formData } = props;\n\tconst userSetCode = getCurrentUser(formData)?.countryCallingCode;\n\n\treturn (\n\t\t(state && state.countryCode) ||\n\t\tprops.countryCode ||\n\t\tuserSetCode ||\n\t\tprops.defaultCode ||\n\t\tget(props.countryCodes, '0.value')\n\t);\n}\nexport function addPlusSign(countryCode) {\n\tif (includes(countryCode, '+')) return countryCode;\n\n\treturn '+' + countryCode;\n}\n\nexport function getFormattedPlaceholder(formats) {\n\tconst format = get(formats, '[0].format.value', '');\n\tconst pattern = get(formats, '[0].pattern.value', '');\n\treturn PhoneFormatter.getPlaceholder(format, pattern);\n}\n\nexport function addChoiceValue(countryCodes) {\n\treturn map(countryCodes, country => {\n\t\treturn {\n\t\t\t...country,\n\t\t\tdisplayValue: country.name + ' (+' + country.code + ')'\n\t\t};\n\t});\n}\n\nexport function addDisplayTrue(countryCodes) {\n\treturn map(countryCodes, country => ({ ...country, display: true }));\n}\n\nexport function normalizeQueryCountryCodes(countries) {\n\treturn map(countries, country => ({\n\t\tcode: country.ccc.value,\n\t\tname: country.name.value,\n\t\tvalue: country.ccc.value\n\t}));\n}\n","import { get, isFunction, isUndefined, size, toString } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tCALLBACK_AND_DISPATCH_WITH_STATE,\n\teffectProxy,\n\thandleInitialValue,\n\tNOW_INPUT\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getCountryCode } from './utils';\nimport { formatting } from \"./ConnectedPhone\";\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const AREA_CODE_MATCH_LIMIT = 40;\n\nconst NOW_DROPDOWN_CUSTOM_TARGET = {\n\tSELECTED_ITEM_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET'\n};\n\nconst formatQuery = `\nquery ($queryConditions: String!, $paginationLimit: Int) {\n  GlideRecord_Query {\n    sys_phone_format(\n\t\t\tqueryConditions: $queryConditions,\n\t\t\tpagination: {limit: $paginationLimit}\n\t\t) {\n      _results {\n        condition {\n          value\n        }\n        format {\n          value\n        }\n        pattern {\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nconst territoryQuery = `\nquery ($queryConditions: String!) {\n  GlideRecord_Query {\n    sys_phone_territory(queryConditions: $queryConditions) {\n      _results {\n        name {\n          value\n        }\n        ccc {\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const FETCH_PHONE_FORMATS_START = 'FETCH_PHONE_FORMATS_START';\nexport const FETCH_PHONE_FORMATS = 'FETCH_PHONE_FORMATS';\nexport const FETCH_PHONE_FORMATS_SUCCESS = 'FETCH_PHONE_FORMATS_SUCCESS';\nexport const FETCH_PHONE_TERRITORY = 'FETCH_PHONE_TERRITORY';\nexport const FETCH_PHONE_TERRITORY_SUCCESS = 'FETCH_PHONE_TERRITORY_SUCCESS';\nexport const FETCH_PHONE_PROCESSED = 'FETCH_PHONE_PROCESSED';\n\nexport const LOADING_FETCH_STATUS = 'LOADING_FETCH_STATUS';\nexport const NEEDS_PROCESSING_FETCH_STATUS = 'NEEDS_PROCESSING_FETCH_STATUS';\nexport const PROCESSED_FETCH_STATUS = 'PROCESSED_FETCH_STATUS';\n\nexport const ON_SELECT_CHANGE =\n\t'SN_RECORD_PHONE_CONNECTED_INTERNAL#ON_SELECT_CHANGE';\nexport const ON_PHONE_CLICK =\n\t'SN_RECORD_PHONE_CONNECTED_INTERNAL#ON_PHONE_CLICK';\n\nconst GRAPHQL_FORMAT_DATA_PATH =\n\t'data.GlideRecord_Query.sys_phone_format._results';\n\nconst GRAPHQL_TERRITORY_DATA_PATH =\n\t'data.GlideRecord_Query.sys_phone_territory._results';\n\nexport const phoneFormatGraphQLEffect = createGraphQLEffect(formatQuery, {\n\tvariableList: ['queryConditions', 'paginationLimit'],\n\tsuccessActionType: FETCH_PHONE_FORMATS_SUCCESS\n});\n\nexport const phoneTerritoryGraphQLEffect = createGraphQLEffect(territoryQuery, {\n\tvariableList: ['queryConditions'],\n\tsuccessActionType: FETCH_PHONE_TERRITORY_SUCCESS\n});\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({ properties, dispatch }) => {\n\t\t// TODO: make e164 flag to replace this\n\t\tconst { countryCodes } = properties;\n\t\tif (size(countryCodes) > 0) {\n\t\t\tdispatch(FETCH_PHONE_TERRITORY, {\n\t\t\t\tqueryConditions: 'active=true'\n\t\t\t});\n\t\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\t\tqueryConditions: `phone_territory.ccc=${getCountryCode(properties) || '1'\n\t\t\t\t\t}`,\n\t\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst { countryCodes, countryCode: countryCodeProp } = properties;\n\t\tconst { additionalInfo } = state;\n\t\t// if we have a new country-code, set the phone format\n\t\tif (\n\t\t\tname === 'countryCode' &&\n\t\t\tvalue !== previousValue &&\n\t\t\tsize(countryCodes) > 0\n\t\t) {\n\t\t\tconst queryValue = !isUndefined(value) ? value : 1;\n\t\t\t// we're explicitly not using `getCountryCode` b/c this is the country code we want\n\t\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\t\tqueryConditions: `phone_territory.ccc=${queryValue}`,\n\t\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t\t});\n\t\t}\n\t\telse if (name === 'initialValue') {\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\tconst countryCode = additionalInfo.countryCode !== countryCodeProp && countryCodeProp;\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate: countryCode ? { ...state, additionalInfo: { ...additionalInfo, countryCode } } : state,\n\t\t\t\tproperties,\n\t\t\t\tformat: formatting,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[ON_SELECT_CHANGE]: ({\n\t\taction: {\n\t\t\tpayload: { countryCode, displayValue, oldCountryCode }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tlet countryName;\n\t\tif (displayValue) {\n\t\t\tcountryName = displayValue.substring(0, displayValue.indexOf(' ('));\n\t\t}\n\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tcountryCode,\n\t\t\t\t\tformats: undefined,\n\t\t\t\t\tcountryName,\n\t\t\t\t\toldCountryCode\n\t\t\t\t}\n\t\t\t}\n\t\t}); // reset formats until GraphQL is finished and sets new countryCode\n\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: properties.name,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\n\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\tqueryConditions: `phone_territory.ccc=${countryCode || '1'}`,\n\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t});\n\t},\n\t[ON_PHONE_CLICK]: ({\n\t\tproperties,\n\t\tdispatch,\n\t\tstate: { value, stagedValue },\n\t\taction: { payload: { event } }\n\t}) => {\n\t\tconst { phoneAddon, name, label, countryCode } = properties;\n\t\tconst phoneNumber = stagedValue || value;\n\t\tconst fullNumber = countryCode ? `${countryCode}${phoneNumber}` : phoneNumber;\n\t\tdispatch('PHONE_ADDON_ACTION_CLICK', {\n\t\t\tphoneNumber: fullNumber,\n\t\t\tfieldName: name,\n\t\t\tfieldLabel: label\n\t\t});\n\t\tif (isFunction(phoneAddon)) {\n\t\t\tphoneAddon(event, fullNumber, name, label);\n\t\t}\n\t},\n\t[FETCH_PHONE_FORMATS]: effectProxy(phoneFormatGraphQLEffect),\n\t[FETCH_PHONE_FORMATS_SUCCESS]: ({\n\t\tupdateProperties,\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tconst { payload, meta } = action;\n\t\t// TODO: Check error cases\n\t\tconst formats = get(payload, GRAPHQL_FORMAT_DATA_PATH);\n\t\tconst queryConditions = get(meta, 'options.variables.queryConditions');\n\t\tconst countryCode = queryConditions.match(/\\d{1,3}$/)[0];\n\n\t\tupdateProperties({\n\t\t\tformats,\n\t\t\tcountryCodeQueried: countryCode,\n\t\t\tcountryCodeFormats: { [countryCode]: formats }\n\t\t});\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tcountryCode,\n\t\t\t\t\tformats: formats,\n\t\t\t\t\tcountryCodeFormats: { [countryCode]: formats }\n\t\t\t\t},\n\t\t\t\tformat: true\n\t\t\t}\n\t\t});\n\t},\n\t[FETCH_PHONE_TERRITORY]: effectProxy(phoneTerritoryGraphQLEffect),\n\t[FETCH_PHONE_TERRITORY_SUCCESS]: ({ updateState, action }) => {\n\t\tconst { payload } = action.payload;\n\t\tconst territories = get(payload, GRAPHQL_TERRITORY_DATA_PATH);\n\t\tupdateState({\n\t\t\tpath: 'territories',\n\t\t\tvalue: territories,\n\t\t\toperation: 'set',\n\t\t\tshoudRender: true\n\t\t});\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.SELECTED_ITEM_SET]: ({\n\t\tstate,\n\t\tproperties,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst { name } = properties;\n\t\tconst oldCountryCode = getCountryCode(properties, state);\n\t\tconst countryCodeDisplayValue = action.payload.items[0].label;\n\t\tconst countryCode = action.payload.value[0];\n\t\tdispatch(ON_SELECT_CHANGE, {\n\t\t\tcountryCode,\n\t\t\tdisplayValue: countryCodeDisplayValue,\n\t\t\toldCountryCode\n\t\t});\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\t\taction.stopPropagation();\n\t},\n\t[NOW_INPUT.VALUE_SET]: ({ action, dispatch, properties }) => {\n\t\tconst { name } = properties;\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\t\taction.stopPropagation();\n\t}\n};\n","import { size, includes } from 'lodash';\nimport {\n\tgetAriaLabelFromConfig,\n\tgetDeclarativeActionsProps,\n\tisAttrTrue,\n\ttransformDescriptionAndMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-declarative-actions';\nimport { t } from 'sn-translate';\nimport {\n\taddPlusSign,\n\taddChoiceValue,\n\taddDisplayTrue,\n\tgetCountryCode,\n\tgetFormattedPlaceholder,\n\tnormalizeQueryCountryCodes\n} from './utils';\n\nconst getNumberValue = (readonly, selectedCountryCode, number) => {\n\tif (!includes(number, '+') && isAttrTrue(readonly) && selectedCountryCode)\n\t\treturn addPlusSign(`${selectedCountryCode} ${number}`);\n\treturn number;\n};\n\nconst adaptCountryCodes = countryCodes =>\n\tcountryCodes.map(item => ({ id: item.code, label: item.displayValue }));\n\nconst renderAdaptedControlSlot = () => <slot name=\"controls\" slot=\"end\" />;\n\nconst renderCountryCodeDropdown = ({\n\tcomponentId,\n\tname,\n\treadonly,\n\tcountryCodes,\n\tselectedCountryCode\n}) => {\n\tif (isAttrTrue(readonly)) return;\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tslot=\"start\"\n\t\t\titems={adaptCountryCodes(countryCodes)}\n\t\t\tselected-items={[selectedCountryCode]}\n\t\t\tsearch=\"contains\"\n\t\t\tconfig-aria={{ panel: { 'aria-label': t('Select country code') } }}\n\t\t>\n\t\t\t<now-button-bare\n\t\t\t\thide-block-padding\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon-end=\"caret-down-fill\"\n\t\t\t\tlabel={addPlusSign(selectedCountryCode)}\n\t\t\t\tcomponentId={`${componentId}_phone_e164_choice`}\n\t\t\t\tname={`${name}_phone_e164_choice`}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': t('Country code: +{0}', selectedCountryCode),\n\t\t\t\t\t'aria-haspopup': 'listbox',\n\t\t\t\t\t'aria-expanded': 'false'\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/now-dropdown-custom-target>\n\t);\n};\n\n/**\n * Specialized input to handle phone numbers. Can optionally render a button to\n * trigger a call to the given phone number.\n */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\treadonly,\n\t\tdeclarativeActionsProps: derivedDeclarativeActionsProps,\n\t\tname,\n\t\tcomponentId,\n\t\tdescription,\n\t\tmessages,\n\t\tautofocus,\n\t\tinvalid,\n\t\tlabel,\n\t\tmaxlength,\n\t\trequired,\n\t\thelperContent,\n\t\tconfigAria,\n\t\tformData,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst formats = state.formats || state.properties.formats;\n\tconst territories = state.territories || state.properties.territories;\n\tconst countryCodes = state.countryCodes || state.properties.countryCodes;\n\n\tconst { value, internalValue } = state;\n\tconst formattedPlaceHolder = getFormattedPlaceholder(formats);\n\tconst defaultCode = getCountryCode({ ...state.properties, ...state });\n\n\tconst allCodes = addChoiceValue([\n\t\t...addDisplayTrue(countryCodes),\n\t\t...normalizeQueryCountryCodes(territories)\n\t]);\n\n\tconst declarativeActionsProps = {\n\t\t...getDeclarativeActionsProps(\n\t\t\tderivedDeclarativeActionsProps,\n\t\t\tstate.properties\n\t\t),\n\t\tvalue: internalValue ?? value\n\t};\n\n\treturn (\n\t\t<now-input\n\t\t\tclassName=\"sn-record-phone-connected\"\n\t\t\ttype=\"tel\"\n\t\t\tname={name}\n\t\t\tautofocus={autofocus}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={required}\n\t\t\tvalue={getNumberValue(readonly, defaultCode, value)}\n\t\t\tplaceholder={isAttrTrue(readonly) ? '-' : formattedPlaceHolder}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfieldLayout={fieldLayout}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderAdaptedControlSlot()}\n\t\t\t{renderDecorations(state.properties)}\n\t\t\t<sn-declarative-field-action\n\t\t\t\tslot=\"end\"\n\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tformData={formData}\n\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{size(countryCodes) > 0 &&\n\t\t\t\trenderCountryCodeDropdown({\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tname,\n\t\t\t\t\treadonly,\n\t\t\t\t\tcountryCodes: allCodes,\n\t\t\t\t\tselectedCountryCode: defaultCode\n\t\t\t\t})}\n\t\t<\/now-input>\n\t);\n};\n","import '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\nimport { omit, size, get } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport * as PhoneFormatter from './phoneFormat';\n\nimport style from './phone.scss';\n\nimport {\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\twithState,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tsetInitialStateWithValue\n} from '@devsnc/sn-controls-common';\nimport { getCountryCode } from './utils';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { view } from './view';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: parsing,\n\t\tformat: formatting,\n\t\teventBased: false\n\t})\n};\nconst stripSeparators = phoneNumber =>\n\tphoneNumber.replace(PhoneFormatter.phoneSeparatorRegex, '');\n\nconst numberMatch = (num1, num2) => {\n\tif (!num1 || !num2) return false;\n\treturn stripSeparators(num1) === stripSeparators(num2);\n};\n\nexport function parsing(value, props, state = {}) {\n\tif (numberMatch(value, props.originalValue))\n\t\treturn { value: props.originalValue };\n\tconst countryCodes = props.countryCodes || state.countryCodes;\n\tconst countryCodeFormats =\n\t\tprops.countryCodeFormats || state.countryCodeFormats;\n\tconst { countryName } = state;\n\tif (size(countryCodes) < 1) {\n\t\tconst parsedObject = PhoneFormatter.parse(value);\n\t\treturn parsedObject;\n\t}\n\tconst countryCode = getCountryCode(props, state);\n\tconst formats = countryCodeFormats && countryCodeFormats[countryCode];\n\treturn PhoneFormatter.e164parse(\n\t\tvalue,\n\t\tcountryName,\n\t\tformats,\n\t\tcountryCode,\n\t\tprops.isStrictEnabled\n\t);\n}\n\nexport function formatting(value, props, state = {}) {\n\tconst countryCodes = get(props, 'countryCodes');\n\tconst { countryName, formats, oldCountryCode } = state;\n\tconst defaultCode = getCountryCode(props, state);\n\tif (size(countryCodes) < 1) {\n\t\treturn PhoneFormatter.format(value);\n\t}\n\n\treturn PhoneFormatter.e164format(\n\t\tvalue,\n\t\tdefaultCode,\n\t\tformats,\n\t\tcountryName,\n\t\toldCountryCode,\n\t\tprops.isStrictEnabled\n\t);\n}\n\nconst properties = {\n\t...omit(SeismicComponentFieldPropDefaults, ['value']),\n\t/**\n\t * Locale in which currency should be formatted in\n\t *\n\t * @type {object}\n\t */\n\tliveUpdate: {},\n\t/**\n\t * Current country set on field in database\n\t */\n\tcountryCode: { schema: { type: 'string' } },\n\tdeclarativeUiActions: {},\n\tformData: {},\n\t/**\n\t * Declarative Actions Props\n\t */\n\tdeclarativeActionsProps: {},\n\n\t/**\n\t * Dictionary values and attributes for the field\n\t */\n\tdictionary: {},\n\n\t/**\n\t * Display value for the input.\n\t */\n\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Initial value for the input.\n\t */\n\tinitialValue: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Callback function that is called as the user interacts with the control,\n\t * fired as soon as user interaction has begun. It is not guaranteed to be\n\t * the final or complete value from the user; use `onValueChange` for that.\n\t *\n\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t * This *can* be null when the value has been changed programatically.\n\t *\n\t * @param {String} name The name of the component. This will match the value\n\t * of the `name` component prop.\n\t *\n\t * @param {Any} value The new value.\n\t */\n\tonStagedValueChange: {},\n\n\t/**\n\t * Callback function that is called as the user finishes interacting with\n\t * the control.\n\t *\n\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t * This *can* be null when the value has been changed programatically.\n\t *\n\t * @param {String} name The name of the component. This will match the value\n\t * of the `name` component prop.\n\t *\n\t * @param {Any} value The new value.\n\t */\n\tonValueChange: {},\n\n\t/**\n\t * Toggle the default formatting behavior for numbers that match us phone numbers\n\t */\n\tformatUsPhone: {},\n\n\t/**\n\t * Phone addon flag to show/hide phone icon. This can be either a boolean or function.\n\t * If its a function, clicking the phone icon will dispatch the event AND call the function\n\t * as a callback.\n\t */\n\tphoneAddon: {},\n\n\t/**\n\t * List of available country codes that the user can choose from.\n\t */\n\tcountryCodes: { default: [] },\n\n\t/**\n\t * Flag to disable validations for phone number field\n\t */\n\tisStrictEnabled: { default: true },\n\n\t/*\n\t * The default code to use for phone e164 fields\n\t * TODO: hook this up for use in the component\n\t */\n\tdefaultCode: { schema: { type: 'string' } },\n\n\tformatFetchState: { schema: { type: 'string' } },\n\tformats: {},\n\tcountryCodeQueried: { schema: { type: 'string' } },\n\tcountryCodeFormats: {},\n\tformatFetchStatus: { schema: { type: 'string' } },\n\toriginalValue: { schema: { type: 'string' } },\n\t/**\n\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t * via client script using g_form api\n\t * which renders alongside the field's label.\n\t * @type {Array.<{icon: string, text: string}>}\n\t */\n\tdecorations: {\n\t\tdefault: [],\n\t\ttype: 'array'\n\t},\n\t/**\n\t * Determines if the field label should wrap or truncate when space is limited.\n\t * @type {boolean}\n\t */\n\twrapLabel: {\n\t\tdefault: false\n\t},\n\tshowAIIndicator: {\n\t\tdefault: false,\n\t\tschema: { type: 'boolean' }\n\t},\n\tisModified: {\n\t\tdefault: false,\n\t\tschema: { type: 'boolean' }\n\t}\n};\n\ncreateCustomElement('sn-record-phone-connected', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties,\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tsetInitialState: ({ properties }) => ({\n\t\tisHandlingInitialValue: true,\n\t\t...setInitialStateWithValue(formatting)({ properties })\n\t})\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tSeismicComponentFieldPropDefaults,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-currency-connected';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nexport const view = state => {\n\tconst { properties } = state;\n\treturn <sn-record-currency-connected {...properties} isPrice />;\n};\n\nconst COMPONENT_NAME = 'sn-record-price-connected';\n\n/**\n *\n *  Input and dropdown field that let's you display a price. When switching currency types:\n *  the price can either be calculated, be a set value from the price record, or fixed\n *  (depending on how the price record is set up)\n *```jsx\n *\n *```\n * @seismicElement sn-record-price-connected\n * @summary *  Input and dropdown field that lets you display a price\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Initial value for the input.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * System locale setting used to format the currency\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {string | boolean}\n\t\t */\n\t\tuseAllFractionsDigits: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Minimum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 2 },\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t *\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'SN_RECORD_PRICE_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t *\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_PRICE_CONNECTED#VALUE_CHANGED': {}\n\t}\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\nimport { isFunction } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tadaptCallbackForLegacyAPI,\n\twrapHelperContent,\n\ttrackBehavior,\n\ttransformMessages,\n\tisAttrTrue,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\twithValueChangeCallbacksView,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-input';\nimport style from './url.scss';\n\nexport const setInitialState = ({ properties }) => {\n\tconst { dictionaryAttributes = {} } = properties;\n\tconst allowRelativeURL = dictionaryAttributes['allowRelativeURL'];\n\treturn {\n\t\tallowRelativeURL\n\t};\n};\n\nexport const actionHandlers = {\n\t'NOW_INPUT_URL#INVALID_SET': ({\n\t\taction: {\n\t\t\tpayload: { name, fieldValue: value, value: invalid }\n\t\t},\n\t\tproperties: { onValueChange, initialValue },\n\t\tdispatch,\n\t\tstate\n\t}) => {\n\t\tlet error = null;\n\t\tif (!state?.allowRelativeURL) {\n\t\t\terror = !invalid\n\t\t\t\t? null\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t\t'The URL provided is invalid. Please provide the absolute URL.'\n\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t}\n\t\tif (isFunction(onValueChange)) {\n\t\t\tif (initialValue !== undefined && initialValue !== value) {\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'url' }\n\t\t\t\t});\n\t\t\t}\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({ name, value, error });\n\t\t}\n\t}\n};\n\nexport const URL = ({\n\tallowRelativeURL,\n\tproperties,\n\tproperties: {\n\t\tname,\n\t\tmessages,\n\t\tlabel,\n\t\tplaceholder,\n\t\trequired,\n\t\treadonly,\n\t\tinitialValue,\n\t\tinvalid,\n\t\tvalue = initialValue,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t}\n}) => {\n\t// Missing:\n\t// Focus on input after going into edit mode\n\t// Focus on edit button after leaving edit mode\n\t// Customizable pattern for url validation\n\n\t//\tconfig-aria={{\n\t//\t\t'aria-controls': this.props.componentId,\n\t//\t\t'aria-label': t(\n\t//\t\t\t'Field action for {0}: {1}',\n\t//\t\t\tthis.props.label,\n\t//\t\t\teditLabel\n\t//\t\t)\n\t//\t}}\n\n\tif (isAttrTrue(readonly) && !value)\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\treadonly\n\t\t\t\tvalue=\"—\"\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(properties)}\n\t\t\t<\/now-input>\n\t\t);\n\n\treturn (\n\t\t<now-input-url\n\t\t\tname={name}\n\t\t\tvalue={value}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tplaceholder={placeholder}\n\t\t\trequired={required}\n\t\t\treadonly={readonly}\n\t\t\tinvalid={invalid}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tmanageInvalid={allowRelativeURL ? true : false}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-input-url>\n\t);\n};\n\ncreateCustomElement('sn-record-url', {\n\tview: withValueChangeCallbacksView(URL),\n\tsetInitialState,\n\tproperties: {\n\t\tdescription: {},\n\t\tinitialValue: {},\n\t\tinvalid: {},\n\t\tlabel: {},\n\t\tmessages: {},\n\t\tname: {},\n\t\tplaceholder: {},\n\t\trequired: {},\n\t\treadonly: {},\n\t\tvalue: {},\n\t\tonValueChange: {},\n\t\tonStagedValueChange: {},\n\t\thelperContent: {},\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to set and configure the field.\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT_URL#VALUE_SET': { stopPropagation: true },\n\t\t'NOW_INPUT_URL#INVALID_SET': { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tstyles: style\n});\n\nexport default URL;\n","import { t } from 'sn-translate';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nimport styles from './ip-address.scss';\n\nconst getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-exclamation-outline',\n\tmessage: t('{0} is not a valid IP address', value)\n});\n\n// Dispatches value change\nconst dispatchValueChanged = (payload, effectProps) => {\n\tconst { state, updateState, dispatch } = effectProps;\n\tconst onValueChange = state.properties.onValueChange;\n\tconst { value, error } = payload;\n\tconst shouldDispatch =\n\t\tstate.properties.value !== value || state.error !== error;\n\n\tconst errorNotReadOnly = isAttrTrue(state.properties.readonly)\n\t\t? false\n\t\t: error;\n\n\tupdateState({ error: errorNotReadOnly });\n\tif (onValueChange) {\n\t\tshouldDispatch &&\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t...payload,\n\t\t\t\terror: errorNotReadOnly\n\t\t\t});\n\t}\n\n\tshouldDispatch &&\n\t\tdispatch('NOW_RECORD_IP_ADDRESS#VALUE_CHANGED', {\n\t\t\t...payload,\n\t\t\terror: errorNotReadOnly\n\t\t});\n\n\tshouldDispatch &&\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: state.properties.name, fieldType: 'ip-address' }\n\t\t});\n};\n\nexport const actionHandlers = {\n\t'NOW_INPUT#INVALID_SET': {\n\t\tstopPropagation: true,\n\t\teffect: effectProps => {\n\t\t\tconst { readonly } = effectProps.properties;\n\t\t\tif (!isAttrTrue(readonly)) {\n\t\t\t\tconst {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: invalid,\n\t\t\t\t\tfieldValue: value\n\t\t\t\t} = effectProps.action.payload;\n\t\t\t\tconst payload = {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue,\n\t\t\t\t\terror: invalid ? getError(value) : false\n\t\t\t\t};\n\n\t\t\t\tdispatchValueChanged(payload, effectProps);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const view = state => {\n\tconst {\n\t\tdisabled,\n\t\tmessages,\n\t\terror,\n\t\tinvalid,\n\t\tlabel,\n\t\tplaceholder,\n\t\tname,\n\t\trequired,\n\t\treadonly,\n\t\tautofocus,\n\t\tvalue,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"ip\"\n\t\t\tautofocus={isAttrTrue(autofocus)}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nconst COMPONENT_NAME = 'now-record-ip-address';\n\n/**\n *\n *  Input field that follows the IP address format.\n *```jsx\n * <div>\n *\t<now-record-ip-address\n *\t\tlabel=\"I am label\"\n *\t\tvalue={state.value}\n *\t\tplaceholder={'10.1.11.111'}\n *\t/>\n * <\/div>;\n *\n *```\n * @seismicElement now-record-ip-address\n * @summary *  Input field that contains IP address format constraints.\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t * @type {boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component on initial focus\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT#VALUE_SET': { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_IP_ADDRESS#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nimport { SN_RECORD_VERSION_VALUE_CHANGED } from './constants';\nimport styles from './version.scss';\n\nconst COMPONENT_NAME = 'sn-record-version';\nconst versionRegex = /^$|^(\\d+(\\.\\d+)*|(\\.\\d+)*)$/;\n\n/**\n * checks if passed in string (in dot-decimal notation) is a valid version\n * @param {string} value - version string we wish to validate\n * @returns {boolean} valid version or not\n */\nexport const isVersion = value => versionRegex.test(value);\n\n/**\n * @param {string} value input version string\n * @return {object} error message object\n */\nexport const getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-close-outline',\n\tmessage: t(\n\t\t'{0} is not a valid version, must use dot-decimal notation.',\n\t\tvalue\n\t)\n});\n\nexport const actionHandlers = {\n\t['NOW_INPUT#INVALID_SET']: {\n\t\tstopPropagation: true,\n\t\teffect: effectProps => {\n\t\t\tconst {\n\t\t\t\tproperties: { readonly, onValueChange },\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t} = effectProps;\n\t\t\tif (isAttrTrue(readonly)) return;\n\t\t\tconst { name, fieldValue: value } = effectProps.action.payload;\n\t\t\tconst invalid = !isVersion(value);\n\t\t\tconst payload = {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\terror: invalid ? getError(value) : ''\n\t\t\t};\n\t\t\tconst shouldDispatch = effectProps.properties.value !== value;\n\n\t\t\t// when there is change in value, we update the error state and execute the callback.\n\t\t\tupdateState({ error: payload.error });\n\n\t\t\tif (shouldDispatch) {\n\t\t\t\tonValueChange &&\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\t...payload\n\t\t\t\t\t});\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'version' }\n\t\t\t\t});\n\t\t\t\tdispatch(SN_RECORD_VERSION_VALUE_CHANGED, {\n\t\t\t\t\t...payload\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const view = state => {\n\tconst {\n\t\tdisabled,\n\t\tmessages,\n\t\terror,\n\t\tinvalid,\n\t\tlabel,\n\t\tplaceholder,\n\t\tname,\n\t\trequired,\n\t\treadonly,\n\t\tautofocus,\n\t\tvalue,\n\t\tmaxlength,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"text\"\n\t\t\tautofocus={isAttrTrue(autofocus)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n * This component is basically an input field with version validations on the string entered.\n * Allows all characters to be entered but only accepts the string which is in dot-decimal notation.\n * If the entered string isn't a valid version, corresponding error message is displayed.\n *\n * ```jsx\n * <div>\n *\t <sn-record-version\n *\t\t label=\"I am a label\"\n *\t\t value={state.value}\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-version\n * @summary This component is an input field with validations on the version string entered.\n *\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * If the version string is invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value for version is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Maxlength defined for the version field.\n\t\t * @type {number}\n\t\t */\n\t\tmaxlength: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component on initial focus\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_VERSION#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const SN_RECORD_VERSION_VALUE_CHANGED =\n\t'SN_RECORD_VERSION#VALUE_CHANGED';\n","import { first, map, tail } from 'lodash';\n\n/**\n * Return a filtered list of option objects\n * @param {array} data query result\n * @param {array} selected list of selected values\n * @return {array} list of option objects\n */\nexport function getResults(data, referenceKey, referenceList = true) {\n\tconst getOptionFromResult = ({\n\t\treferenceData,\n\t\tsysId,\n\t\treferenceKeyValue\n\t} = {}) => {\n\t\tconst displayValues = map(referenceData, referenceList ? 'value' : 'key');\n\t\tconst key = map(referenceData, 'key');\n\t\tconst value = referenceKey ? referenceKeyValue : sysId;\n\t\treturn {\n\t\t\tkey: first(key),\n\t\t\tvalue,\n\t\t\tdisplayValue: first(displayValues),\n\t\t\tsecondary: tail(displayValues),\n\t\t\toptionSysId: sysId\n\t\t};\n\t};\n\n\tconst results = map(data, getOptionFromResult).filter(\n\t\titem => item.value || item.key === '-- None --'\n\t);\n\n\treturn results;\n}\n","// 3rd party imports\nimport { omit, get } from 'lodash';\n\n// Function imports\nimport { getResults } from './utils';\n\n// Component imports\nimport { GlideQueryBaseSeismic } from '@devsnc/sn-glide-query-base';\n\nconst GLOABAL = 'global';\n\nexport const mapResults = (data, dictionarySorted, properties) => {\n\tconst { referenceKey, referenceTable } = properties;\n\tlet results = get(data, 'GlideLayout_Query.referenceDataRetriever', {});\n\tconst totalCount = results.matchesCount;\n\tlet referenceList = referenceTable != GLOABAL;\n\treturn {\n\t\trecents: getResults(\n\t\t\tresults.referenceRecentDataList,\n\t\t\treferenceKey,\n\t\t\treferenceList\n\t\t),\n\t\toptions: getResults(results.referenceDataList, referenceKey, referenceList),\n\t\ttotalCount\n\t};\n};\n\nexport const getChars = (inputVal, { searchOnClick }) => {\n\tif (inputVal.length > 0) return inputVal;\n\tif (searchOnClick === false) return '';\n\treturn '**';\n};\n\nexport const getVariables = properties => inputVal => {\n\tconst {\n\t\tdisableReferenceQualifier,\n\t\trecordSysId,\n\t\tfieldName,\n\t\ttableName,\n\t\tignoreReferenceQualifier,\n\t\tresultLimit,\n\t\tformData,\n\t\tsortBy = '',\n\t\treferenceKey,\n\t\toverrideReferenceTable,\n\t\tquery,\n\t\torderByDisplayColumn\n\t} = properties;\n\tif (recordSysId && fieldName && tableName) {\n\t\treturn {\n\t\t\tsys_id: get(formData, 'isNewRecord') ? '-1' : recordSysId,\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tignoreRefQual: ignoreReferenceQualifier || disableReferenceQualifier,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tchars: getChars(inputVal, properties),\n\t\t\tsortBy,\n\t\t\treferenceKey,\n\t\t\toverrideReferenceTable,\n\t\t\tquery,\n\t\t\torderByDisplayColumn\n\t\t};\n\t}\n};\n\nexport const setInnerRef = dispatch => ref => {\n\tdispatch('SET_INNER_REF', { ref });\n};\n\n/**\n * Reference fields allow users to select a value from a dynamic list of\n * choices that point to another field in the database. For a more general\n * approach (that doesn't require instances) see `glide-field-lookup`.\n */\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\n\tconst results = get(properties, 'results');\n\tconst isSearching = get(properties, 'isSearching');\n\tconst {\n\t\tmaxSearchMatches,\n\t\tsearchCancelable,\n\t\tsearchUsingStartsWith,\n\t\tsearchOnClick,\n\t\treferenceSysId,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tdecorations,\n\t\treferenceTable\n\t} = properties;\n\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\t{...omit(properties, ['resultLimit', 'value', 'displayValue'])}\n\t\t\tonValueChange={state.onValueChange}\n\t\t\tqueryBaseState={state}\n\t\t\tdispatch={dispatch}\n\t\t\tdisableTracking\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results} // results was created from actionHandler\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables(properties)}\n\t\t\tinnerRef={setInnerRef(dispatch)}\n\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\tsearchOnClick={searchOnClick}\n\t\t\tshowDeclartiveActions={referenceTable != GLOABAL}\n\t\t\tsearchCancelable={searchCancelable}\n\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t// added this check to address when value is empty, it comes to us as value = true.\n\t\t\t// same for display value too\n\t\t\tvalue={properties.value === true ? '' : properties.value}\n\t\t\tdisplayValue={\n\t\t\t\tproperties.displayValue === true ? '' : properties.displayValue\n\t\t\t}\n\t\t\treferenceSysId={referenceSysId}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t\tshowAIIndicator={properties.showAIIndicator}\n\t\t\tisModified={properties.isModified}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tqueryBaseActionHandlers,\n\tRUN_READ_QUERY\n} from '@devsnc/sn-glide-query-base';\nimport { get } from 'lodash';\nimport { getVariables } from './view';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nlet query = `\nquery ($table: String!, $field: String!, $sys_id: String, $encodedRecord: String, $serializedChanges: String, $chars: String!, $ignoreRefQual: Glide_Boolean, $paginationLimit: Int, $paginationOffset: Int, $sortBy: String, $referenceKey: String, $overrideReferenceTable: String, $query: String, $orderByDisplayColumn: Glide_Boolean) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      encodedRecord: $encodedRecord,\n      serializedChanges: $serializedChanges,\n      pagination: {limit: $paginationLimit, offset: $paginationOffset},\n      ignoreTotalCount: true,\n      sysId: $sys_id, chars: $chars,\n      sysparm_ignore_ref_qual: $ignoreRefQual,\n      sortBy: $sortBy,\n      sysparm_ref_override: $overrideReferenceTable,\n      query: $query,\n      orderByDisplayColumn: $orderByDisplayColumn,\n      referenceKey: $referenceKey ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'encodedRecord',\n\t'serializedChanges',\n\t'chars',\n\t'ignoreRefQual',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'sortBy',\n\t'referenceKey',\n\t'overrideReferenceTable',\n\t'query',\n\t'orderByDisplayColumn'\n];\n\nconst valueChangedEffect = ({ updateProperties, state, action }) => {\n\tconst name = get(action.payload, 'name', '');\n\tif (name === state.properties.name) {\n\t\tupdateProperties({\n\t\t\tfocusInput: Date.now()\n\t\t});\n\t}\n\n\treturn state;\n};\n\nconst setInnerRefEffect = ({\n\taction: {\n\t\tpayload: { ref }\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\tpath: 'ref',\n\t\tvalue: ref,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nconst componentPropertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate\n}) => {\n\tif (name === 'focusInput' && value !== previousValue && state.ref) {\n\t\tstate.ref.focus();\n\t}\n};\n\nconst runReadQueryEffect = ({\n\taction: {\n\t\tpayload: { value }\n\t},\n\tstate: { debouncedQueryDispatcher },\n\tproperties,\n\tdispatch\n}) => {\n\tdebouncedQueryDispatcher(\n\t\tvalue,\n\t\t{ ...properties, getVariables: getVariables(properties) },\n\t\tdispatch\n\t);\n};\n\nconst actionHandlers = {\n\tVALUE_CHANGED: {\n\t\teffect: valueChangedEffect\n\t},\n\tSET_INNER_REF: {\n\t\teffect: setInnerRefEffect\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: componentPropertyChangedEffect\n\t},\n\t[RUN_READ_QUERY]: {\n\t\teffect: runReadQueryEffect\n\t}\n};\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tquery,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t...queryBaseActionHandlersData.actionHandlers,\n\t...actionHandlers\n};\n","// Seismic imports\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport view, { mapResults } from './view';\nimport actionHandlers from './actionHandlers';\nimport { queryBaseBehavior } from '@devsnc/sn-glide-query-base';\nimport { setInitialQueryBaseState } from '@devsnc/sn-glide-query-base';\n\n// Component imports\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * ```jsx\n *\n * <sn-record-reference-connected\n *\t\tlabel= 'Reference Field',\n *      value: '5137153cc611227c000bbd1bd8cd2005',\n *\t\tdisplayValue: 'Fred Luddy',\n *\t\trecordSysId: '78271e1347c12200e0ef563dbb9a7109',\n *\t\ttableName: 'incident',\n *\t\treferenceTable: 'sys_user',\n *\t\tfieldName: 'assigned_to',\n * />\n * ```\n *\n * @seismicElement sn-record-reference-connected\n * @summary Reference Connected Component\n *\n */\n\ncreateCustomElement('sn-record-reference-connected', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: { default: true },\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableEmailFreeformEntry: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Full Display Value of domain id field\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\n\t\tfullDisplayValue: {},\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideReferenceIcon: {},\n\n\t\t/**\n\t\t * Boolean to toggle reference qualifiers\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Please use `disableReferenceQualifier` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tignoreReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Server-side cap of number of results\n\t\t * @type {number}\n\t\t */\n\t\tmaxSearchMatches: { default: 250 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tnoEmail: {},\n\n\t\t/**\n\t\t * Callback function triggered when the user presses Enter\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Callback to show record\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Name of the table the field is referring to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Name of the key to use as a reference for the table\n\t\t * In other words, the name of the field to use to reference the table\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Whether or not order by should happen with displayColumn\n\t\t * If an orderBy is already present, this will act as secondary orderby.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\torderByDisplayColumn: { default: true },\n\n\t\t/**\n\t\t * Integer limit of reference suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 10 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t * @private\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: true },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t * @type {string}\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Specifies whether the email should be validated following RFC6530 standard or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tinternationalizedEmail: { default: false },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Sorting Auto Complete values by column name\n\t\t *\n\t\t * @type {string}\n\t\t *\n\t\t */\n\t\tsortBy: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}@type {{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }} or @type {{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Name of the reference table to override\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\toverrideReferenceTable: {},\n\t\t/**\n\t\t * query to be applied on the reference table\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tquery: {},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Flag to toggle AI indicator\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_GLIDE_QUERY_BASE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_GLIDE_QUERY_BASE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","export const SN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_USER_ROLES_LOOKUP_CONNECTED#VALUE_CHANGED';\nexport const QUERY = `\nquery ($searchTerm:String!,$fieldReference:String!,$limit: Int) {\n  GlideLayout_Query {\n    userRolesQuery(searchTerm:$searchTerm,fieldReference:$fieldReference,limit:$limit){\n      userRoles\n    }\n  }\n}\n`;\nexport const variableList = ['searchTerm', 'fieldReference', 'limit'];\n","import { isFunction } from 'lodash';\nimport { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport {\n\tSN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED,\n\tQUERY,\n\tvariableList\n} from './constants';\n\nconst { actionHandlers } = queryBaseActionHandlers(QUERY, variableList);\n\nconst valueChangedHandler = ({\n\taction: {\n\t\tpayload: { value }\n\t},\n\tproperties: { name, onValueChange, fieldType },\n\tdispatch\n}) => {\n\tconst desiredValue = value.map(val => val.value).join(',');\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: desiredValue\n\t\t});\n\t}\n\n\tdispatch(SN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED, {\n\t\tname,\n\t\tvalue: desiredValue\n\t});\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: fieldType }\n\t});\n};\n\nexport default {\n\t...actionHandlers,\n\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': {\n\t\teffect: valueChangedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import { get, map } from 'lodash';\n\n/**\n * gets variables to make a graphQL query\n * @param {*} referringTable the table in which the field is being controlled.\n * @param {*} resultLimit number of results to be displayed\n */\nexport const getVariables = (referringTable, resultLimit) => inputVal => {\n\tif (referringTable) {\n\t\treturn {\n\t\t\tsearchTerm: inputVal,\n\t\t\tfieldReference: referringTable,\n\t\t\tlimit: resultLimit\n\t\t};\n\t}\n};\n\n/**\n * maps the graphQL query response to required format\n * @param {*} data graphQL query response\n */\nexport const mapResults = data => {\n\tif (data && data.length === 0) {\n\t\treturn {};\n\t}\n\n\tconst userRoles = get(data, 'GlideLayout_Query.userRolesQuery.userRoles');\n\tif (!userRoles) {\n\t\treturn {};\n\t}\n\tconst totalCount = userRoles.length;\n\n\treturn {\n\t\toptions: map(userRoles, role => ({\n\t\t\tvalue: role,\n\t\t\tdisplayValue: role\n\t\t})),\n\t\ttotalCount\n\t};\n};\n","import { omit } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport actionHandlers from './actionHandlers';\nimport { getVariables, mapResults } from './utils';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport style from './user-roles-lookup-connected.scss';\n\nconst COMPONENT_NAME = 'sn-record-user-roles-lookup-connected';\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * This component allows looking up user roles.\n * @param {*} state\n */\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { referringTable, resultLimit, multiSelection },\n\t\tproperties\n\t} = state;\n\tconst { results, isSearching, highlightedValue, configAria, decorations } =\n\t\tproperties;\n\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\tqueryBaseState={state}\n\t\t\t{...omit(properties, ['resultLimit', 'value', 'displayValue'])}\n\t\t\tdispatch={dispatch}\n\t\t\tmultiSelection={multiSelection}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results}\n\t\t\tmapResults={mapResults}\n\t\t\tvalue={properties.value === true ? '' : properties.value}\n\t\t\tdisplayValue={\n\t\t\t\tproperties.displayValue === true ? '' : properties.displayValue\n\t\t\t}\n\t\t\tgetVariables={getVariables(referringTable, resultLimit)}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t/>\n\t);\n};\n\n/**\n * ```jsx\n *\n * <sn-record-user-roles-lookup-connected\n *\t\treferringTable=\"incident\"\n * />\n * ```\n *\n * @seismicElement sn-record-user-roles-lookup-connected\n * @summary SN record user roles lookup field\n *\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: {},\n\n\t\t/**\n\t\t * The display value of the underlying component\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: true },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 15 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * The value of the underlying component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when user-roles lookup value changes\n\t\t * @type {{ name: string, value: string }}\n\t\t */\n\t\t'SN_RECORD_USER_ROLES_LOOKUP_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default view;\n","import { t } from 'sn-translate';\n\n// NOW-MODAL\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\n// LIST-SELECTOR\nexport const LIST_SELECTOR_SELECTED_ITEM_SET = 'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\n\n// NOW-BUTTON\nexport const ADD_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const EDIT_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// Component\nconst COMPONENT = 'SN_RECORD_LIST_SELECT';\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n\nexport const MODAL_SUB_HEADER_LABEL = t(\n\t'Select columns and put them in the order you want.'\n);\n\nexport const CLICK_TO_ADD_LABEL = t('Click to add');\nexport const OPEN_LIST_LABEL = t('Open List');\nexport const OK_LABEL = t('Ok');\nexport const CANCEL_LABEL = t('Cancel');\nexport const MANUAL = \"manual\";\nexport const TWOPANELS = \"twoPanels\";\n\nexport const AVAILABLE_LABEL = t('Available columns');\nexport const SELECTED_LABEL = t('Selected columns');\n\nexport const REQUIRED_STR = t('required');\nexport const OPEN_MODAL_ACTION = 'openModal';\nexport const LIVE_UPDATE = 'liveUpdate';\n\nexport const DISPLAY_VALUE_SEPARATOR = ', ';\n","import { reduce } from 'lodash';\nimport { DISPLAY_VALUE_SEPARATOR } from './constants';\n\n/**\n * Creates slushbucket fields in the format as expected by sn-list-selector.\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushBucketFields\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: true, order: 0}],\n * @returns {Object<string: Object<label: string, reference: string>>}\n * eg. {{active: {label: \"Active\", reference: undefined}, text: {label: \"Article body\", reference: undefined}}\n */\nexport const getAvailableItems = (slushBucketFields = []) => {\n\tif(slushBucketFields?.length) {\n\t\tconst sbFields = reduce(\n\t\t\tslushBucketFields,\n\t\t\t(result, sbField) => {\n\t\t\t\tresult[sbField.value] = {label: sbField.label, reference: undefined}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\treturn sbFields;\n\t}\n\telse return {};\n};\n\n/**\n * Get Selected fields to be passed to list selector\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushBucketFields\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: false, order: 0}],\n * @return {Array<Array<id: string, label: string>>}\n * eg. [[{id: \"active\", label: \"Active}]]\n */\nexport const getSelectedItems = (slushBucketFields = []) => {\n\tif (slushBucketFields?.length) {\n\t\tconst selectedItems = reduce(\n\t\t\tslushBucketFields,\n\t\t\t(result, sbField) => {\n\t\t\t\tif(sbField.selected) {\n\t\t\t\t\tresult.push([{\"id\": sbField.value, \"label\": sbField.label}]);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\treturn selectedItems;\n\t}\n\telse return [];\n};\n\n/**\n * Create string of displayValues\n * @param {Array<Array<{id: string, label: string}>>} selectedItems\n * eg. [[{id: \"active\", label: \"Active\"}],[{id: \"text\",label: \"Article body\"}]],\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * eg. \"Active, Article body\"\n */\nexport const getDisplayValues = selectedItems => {\n\tconst displayValues = [];\n\tselectedItems.forEach(item => {\n\t\tif(item[0]?.label) {\n\t\t\tdisplayValues.push(item[0].label);\n\t\t}\n\t});\n\treturn displayValues.join(DISPLAY_VALUE_SEPARATOR);\n};\n\n/**\n * Create string of values\n * @param {Array<Array<{id: string, label: string}>>} selectedItems\n * eg. [[{id: \"active\", label: \"Active\"}],[{id: \"text\",label: \"Article body\"}]],\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * eg. \"active, text\"\n */\nexport const getValues = selectedItems => {\n\tconst values = [];\n\tselectedItems.forEach(item => {\n\t\tif(item[0]?.id) {\n\t\t\tvalues.push(item[0].id);\n\t\t}\t\n\t});\n\treturn values.join(DISPLAY_VALUE_SEPARATOR);\n};\n\n/**\n * Update slushBucketFields based on selected values\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushFields\n * eg. [{label: \"Active\", value: \"active\", selected: false, order: 0},{label: \"Article body\", value: \"text\", selected: false, order: 0}]\n * @param {String} values\n * eg. \"active, text\"\n * @return {Array<{label: string, value: string, selected: boolean, order: int}>}\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: true, order: 0}]\n */\nexport const setSlushBucketFields = (slushFields, values) => {\n\tconst valueList = values.split(DISPLAY_VALUE_SEPARATOR);\n\t\n\t//Update slushFields based on selected values\n\tslushFields.forEach((field) => {\n\t\tif(valueList.includes(field.value)) {\n\t\t\tfield.selected = true;\n\t\t}\n\t});\n\treturn slushFields;\n};\n\n/**\n * Need an input with readonly functionality but non-readonly CSS as its a display only field\n * and user can hit the slot button to open a popup and set a value via that.\n * As of now in NDS now-input, when we set to readonly it gets a grey background which is deep inside multiple shadow roots\n * Below is added as a workaround. [we cannot use pointerevents as it disables the edit button as well]\n */\nexport const preventManualInput = e => {\n\tif (e && e.key != 'Tab') {\n\t\te.preventDefault();\n\t}\n};\n","import { isEqual, isFunction } from 'lodash';\n\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetValues,\n\tgetDisplayValues,\n\tsetSlushBucketFields,\n\tgetSelectedItems\n} from './utils';\nimport {\n\tLIVE_UPDATE,\n\tOPEN_MODAL_ACTION,\n\tVALUE_CHANGED\n} from './constants';\n\n// Called when Modal Close and Modal Cancel buttons are clicked\nexport const modalClosedEffect = ({\n\tstate: { selectedItems },\n\tupdateState\n}) => {\n\tupdateState({\n\t\topened: false,\n\t\tselectedItemsStaged: selectedItems\n\t});\n};\n\n// Called when OK button is clicked from the Modal\nexport const updateValueEffect = ({\n\tproperties: { name, onValueChange },\n\tstate: { selectedItemsStaged },\n\tdispatch,\n\tupdateState\n}) => {\n\tconst stateDisplayValue = getDisplayValues(selectedItemsStaged);\n\tconst stateValue = getValues(selectedItemsStaged);\n\tupdateState({\n\t\tstateDisplayValue,\n\t\tdisplayValue: stateDisplayValue,\n\t\tvalue: stateValue,\n\t\tselectedItems: selectedItemsStaged,\n\t\topened: false,\n\t\tstateValue\n\t});\n\tconst payload = {\n\t\tname,\n\t\tvalue: stateValue,\n\t\tdisplayValue: stateDisplayValue\n\t};\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(payload);\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'sn-record-list-select' }\n\t});\n\tdispatch(VALUE_CHANGED, payload);\n};\n\n// Called when Add, Edit and Modal Close buttons are clicked\nexport const buttonClickedEffect = ({\n\tstate,\n\tproperties: { disabled, readonly },\n\taction: {\n\t\tpayload: { button }\n\t},\n\tupdateState\n}) => {\n\tconst editable = !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tif (editable && button === OPEN_MODAL_ACTION) {\n\t\tconst { readonly } = state.properties;\n\n\t\tif (!isAttrTrue(readonly)) {\n\t\t\tupdateState({\n\t\t\t\topened: true\n\t\t\t});\n\t\t}\n\t}\n};\n\n// Called when fields are selected in sn-list-selector\nexport const selectionUpdatedEffect = ({ action : {payload}, updateState }) => {\n\tupdateState({\n\t\tselectedItemsStaged: [...payload]\n\t});\n};\n\n// Called when a component property changes\nexport const propertyChangeHandler = ({\n\tstate,\n\taction,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty = '', value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value)\n\t) {\n\t\tupdateState({\n\t\t\tvalue: value.value,\n\t\t\tdisplayValue: value.displayValue,\n\t\t\tliveUpdate: properties.liveUpdate,\n\t\t\tstateDisplayValue: value.displayValue,\n\t\t\tstateValue: value.value,\n\t\t\tselectedItems: [],\n\t\t\tselectedItemsStaged: []\n\t\t});\n\t}\n\telse if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tconst { value: liveUpdateFieldValue, displayValue } = value;\n\t\tconst updatedSlushFields = setSlushBucketFields(properties.slushBucketFields, liveUpdateFieldValue);\n\t\tconst selectedItems = getSelectedItems(updatedSlushFields);\n\t\tupdateState({\n\t\t\tvalue: liveUpdateFieldValue,\n\t\t\tdisplayValue,\n\t\t\tliveUpdate: value,\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tstateValue: displayValue,\n\t\t\tselectedItems,\n\t\t\tselectedItemsStaged: selectedItems\n\t\t});\n\t\treturn;\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tmodalClosedEffect,\n\tbuttonClickedEffect,\n\tupdateValueEffect,\n\tselectionUpdatedEffect,\n\tpropertyChangeHandler\n} from './effects';\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tADD_BUTTON_CLICKED,\n\tEDIT_BUTTON_CLICKED,\n\tUPDATE_VALUE,\n\tLIST_SELECTOR_SELECTED_ITEM_SET\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangeHandler\n\t},\n\t[UPDATE_VALUE]: {\n\t\teffect: updateValueEffect,\n\t\tstopPropagation: true\n\t},\n\t[ADD_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EDIT_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: modalClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[LIST_SELECTOR_SELECTED_ITEM_SET]: {\n\t\teffect: selectionUpdatedEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { trackBehavior, fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport styles from './style.scss';\nimport view from './view';\nimport {\n\tgetAvailableItems,\n\tgetSelectedItems,\n\tgetDisplayValues,\n\tgetValues,\n\tsetSlushBucketFields\n} from './utils';\n\n/**\n *\n * This component lets the user choose a list of fields via a slush bucket based on script attribute in the dictionary.\n *\n * ```jsx\n * <div>\n *\t <sn-record-list-select\n *\t\tlabel=\"Slush bucket Label\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-list-select\n * @summary Component to handle slushbucket field type that handles entry for a list of fields as specified by the script attribute.\n */\n\ncreateCustomElement('sn-record-list-select', {\n\tview,\n\tsetInitialState: ({\n\t\tproperties: { slushBucketFields, value, displayValue }\n\t}) => {\n\t\tconst updatedSlushFields = setSlushBucketFields(slushBucketFields, value);\n\t\tconst availableItems = getAvailableItems(updatedSlushFields);\n\t\tconst selectedItems = getSelectedItems(updatedSlushFields);\n\t\tconst stateDisplayValue = getDisplayValues(selectedItems);\n\t\tconst stateValue = getValues(selectedItems);\n\t\treturn {\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tdisplayValue: stateDisplayValue,\n\t\t\tavailableItems,\n\t\t\tselectedItems,\n\t\t\tselectedItemsStaged: selectedItems,\n\t\t\tvalue: stateValue,\n\t\t\tmodalOpened: false,\n\t\t\tslushBucketFields: updatedSlushFields\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * DisplayValue for current component. Comma separated list of column labels.\n\t\t * Matching the order of the fields from value\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * If invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tschema: fieldLayoutSchema,\n\t\t\tdefault: { layout: 'vertical' }\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] }\n\t\t},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: undefined\n\t\t},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Underlying data for the field.\n\t\t * Comma separatered column names.\n\t\t * @type {string}\n\t\t */\n\t\tslushBucketFields: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\tvalue: { type: 'string' },\n\t\t\t\t\t\t\tselected: { type: 'boolean' },\n\t\t\t\t\t\t\torder: { type: 'number' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, items: Array<{id: string, label: string}>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_LIST_SELECT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\nimport '@devsnc/sn-list-selector';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tCLICK_TO_ADD_LABEL,\n\tOPEN_LIST_LABEL,\n\tOK_LABEL,\n\tCANCEL_LABEL,\n\tOPEN_MODAL_ACTION,\n\tMODAL_SUB_HEADER_LABEL,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tREQUIRED_STR,\n\tAVAILABLE_LABEL,\n\tSELECTED_LABEL,\n\tMANUAL\n} from './constants';\nimport { preventManualInput } from './utils';\n\nexport default state => {\n\tconst {\n\t\tstateDisplayValue,\n\t\tproperties,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\thelperContent,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tname,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\tfieldLayout,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel,\n\t\t\tisModified,\n\t\t\tshowAIIndicator\n\t\t},\n\t\tavailableItems,\n\t\tselectedItemsStaged,\n\t\topened = false\n\t} = state;\n\n\t// This is done to make availableItems in the format as expected by sn-list-selector\n\tconst availableItemsUpdated = {\n\t\troot: { ...availableItems }\n\t};\n\n\tconst editable = !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tconst count = stateDisplayValue ? stateDisplayValue.split(',').length : 0;\n\n\tlet { messages = [] } = state.properties;\n\n\tconst attrs = {\n\t\tautofocus: isAttrTrue(autofocus),\n\t\tlabel,\n\t\twrapLabel,\n\t\tdisabled: isAttrTrue(disabled),\n\t\thelperContent: wrapHelperContent(helperContent),\n\t\tinvalid: invalid || Boolean(error),\n\t\tmessages: transformMessages(messages),\n\t\tname,\n\t\treadonly: true,\n\t\trequired: isAttrTrue(required),\n\t\tfieldLayout: fieldLayout\n\t};\n\n\tconst showAddLink = !isAttrTrue(readonly) && !stateDisplayValue;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showAddLink ? (\n\t\t\t\t<sn-record-control-wrapper\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tmessages={messages}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t\tisModified={isModified}\n\t\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tdisabled={attrs.disabled || !editable}\n\t\t\t\t\t\tlabel={CLICK_TO_ADD_LABEL}\n\t\t\t\t\t\ticon-start=\"pencil-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': `${CLICK_TO_ADD_LABEL}, ${\n\t\t\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\n\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t<\/sn-record-control-wrapper>\n\t\t\t) : (\n\t\t\t\t<now-input\n\t\t\t\t\t{...attrs}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\tvalue={stateDisplayValue}\n\t\t\t\t\tmanage-value\n\t\t\t\t\tmanage-invalid\n\t\t\t\t\ton-paste={preventManualInput}\n\t\t\t\t\ton-keydown={preventManualInput}\n\t\t\t\t\ton-cut={preventManualInput}\n\t\t\t\t\ton-mousedown={preventManualInput}\n\t\t\t\t>\n\t\t\t\t\t{count ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-readonly': isAttrTrue(readonly)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t({count})\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{editable ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltip-content={OPEN_LIST_LABEL}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': OPEN_LIST_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\t\t//To prevent parent now-input's on-keydown from intercepting the event\n\t\t\t\t\t\t\ton-keydown={e => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{renderDecorations(properties)}\n\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START\n\t\t\t\t\t)}\n\t\t\t\t<\/now-input>\n\t\t\t)}\n\n\t\t\t<now-modal\n\t\t\t\tsize=\"lg\"\n\t\t\t\tfooterActions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: OK_LABEL,\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: CANCEL_LABEL,\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\theader-label={label}\n\t\t\t\topened={opened}\n\t\t\t>\n\t\t\t\t<div className=\"slushbucket-container\">\n\t\t\t\t\t<div className=\"header\">{MODAL_SUB_HEADER_LABEL}<\/div>\n\t\t\t\t\t{opened ? (\n\t\t\t\t\t\t<div className=\"list-selector-container\">\n\t\t\t\t\t\t\t<sn-list-selector\n\t\t\t\t\t\t\t\tmode={MANUAL}\n\t\t\t\t\t\t\t\tavailableLabel={AVAILABLE_LABEL}\n\t\t\t\t\t\t\t\tselectedLabel={SELECTED_LABEL}\n\t\t\t\t\t\t\t\titems={availableItemsUpdated}\n\t\t\t\t\t\t\t\titems-root=\"root\"\n\t\t\t\t\t\t\t\tselectedItems={selectedItemsStaged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/now-modal>\n\t\t<\/Fragment>\n\t);\n};\n","import { t } from 'sn-translate';\n//DO NOT CHANGE, daysMap for the days of the week component\nexport const DAYS_OF_WEEK_OPTIONS = [\n\t{ value: 1, label: t('Mon') },\n\t{ value: 2, label: t('Tue') },\n\t{ value: 3, label: t('Wed') },\n\t{ value: 4, label: t('Thu') },\n\t{ value: 5, label: t('Fri') },\n\t{ value: 6, label: t('Sat') },\n\t{ value: 7, label: t('Sun') }\n];\n\nexport const JAVASCRIPT = 'javascript';\nexport const XML = 'xml';\n","/* eslint-disable no-console */\nimport React from 'react';\nimport { last, get, chain, some, flow, isEmpty } from 'lodash';\nimport { t } from 'sn-translate';\nimport { LiveUpdateMessage } from '@devsnc/sn-form-controls';\nimport { canRenderFieldAction } from '@devsnc/sn-declarative-actions';\nimport { DAYS_OF_WEEK_OPTIONS, JAVASCRIPT, XML } from './constants';\nimport {\n\tgetDeclarativeActionsProps,\n\tescapeSeismicSpecialSymbols,\n\tisAttrTrue,\n\tisAttrFalse,\n\tgetProperty,\n\tsetInitialValue,\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE,\n\tNO_PREDICTIONS_AVAILABLE,\n\tgetPageProperty,\n\tshouldShowUnsavedIndicator\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetHtmlAttributes,\n\tgetDictionaryAttrs,\n\tadjustPropsForTimezone,\n\tisSupported,\n\tgetMessagesAndLiveUpdate,\n\ttransformValueForDaysOfWeek,\n\tsanitizeField,\n\tgetReferenceProps,\n\tnormalizeCountryCodes,\n\tgetDateFormat,\n\tgetTimeFormat,\n\tgetDateTimeFormat,\n\tgetAttribute,\n\tparseCountryCode,\n\tgetTinyMCEToolbar,\n\tcontrolOrSysProp,\n\tgetCurrentUser,\n\tgetHelperContent,\n\tgetTimeProps,\n\tfixLocale,\n\ttoHtml,\n\tgetUserLanguage,\n\tresolveLanguage,\n\tgetFormDataForTemplateValue,\n\tgetEncryptedFieldLabel,\n\tgetFieldNowAssistContextMenu,\n\tisRefSearchOnClickSuppressed,\n\tnormalizeToDurationFormat\n} from './factoryUtils';\nimport { getRecordMembers } from './factoryUtils/syspropUtils';\nimport { isDirty } from '@devsnc/sn-controls-common/src/utils/field';\n\nconst getRecommendations = ({ recommendation }) => {\n\tif (isEmpty(recommendation)) {\n\t\treturn;\n\t}\n\tconst {\n\t\tsectionLabel = 'Top Recommendation(s)',\n\t\titems = [],\n\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\tsource,\n\t\tautofill = {}\n\t} = recommendation;\n\n\treturn {\n\t\tsectionLabel,\n\t\titems,\n\t\tisRecommendation: true,\n\t\tsource,\n\t\tautofill,\n\t\temptyMessage\n\t};\n};\n\nexport const getDefaultFormControl = (controlProps, type) => ({\n\tControl: 'sn-record-input',\n\tcontrolProps: {\n\t\t...controlProps,\n\t\treadonly: true,\n\t\ttype: type,\n\t\tdescription: t('* Field type {0} is not supported.', type),\n\t\ttrackBootstrap: { action: 'TRACK_FIELD_TYPE_UNSUPPORTED' }\n\t}\n});\n\nexport function createFormControl(\n\tparentId,\n\ttype,\n\tfield,\n\tonValueChange,\n\tonStagedValueChange,\n\tformData\n) {\n\tconst { Control, props, children, render } = getFormControl(\n\t\tparentId,\n\t\ttype,\n\t\tfield,\n\t\tonValueChange,\n\t\tonStagedValueChange,\n\t\tformData\n\t);\n\n\tif (!render) {\n\t\treturn null;\n\t}\n\n\treturn <Control {...props}>{children}<\/Control>;\n}\n\nexport function getFormControl(\n\tparentId,\n\ttype,\n\tfield,\n\tonValueChange,\n\tonStagedValueChange,\n\tformData,\n\tfieldLayout = { layout: 'vertical' }\n) {\n\tif (\n\t\t(field.visible === false || field.visible === 'false') &&\n\t\t!field.shouldRenderHiddenElement\n\t)\n\t\treturn { render: false };\n\n\tconst componentId = `${parentId}_${type}_${field.name}`;\n\tconst messages = getMessagesAndLiveUpdate(field.liveUpdate, field.messages);\n\tconst declarativeActionsProps = getDeclarativeActionsProps({\n\t\t...field,\n\t\tfields: formData?.fields\n\t});\n\tconst currentUser = getCurrentUser(formData);\n\tconst userLanguage = getUserLanguage(currentUser);\n\tconst userMention = {\n\t\t'@': 'users'\n\t};\n\tconst { layout } = fieldLayout;\n\n\tconst contextMenu = getFieldNowAssistContextMenu(field);\n\n\tlet controlProps = sanitizeField({\n\t\t...field,\n\t\tcontext: 'form',\n\t\tkey: componentId,\n\t\t'component-id': componentId,\n\t\tmaxlength: field.maxLength || field.maxlength,\n\t\tshowAIIndicator: field.showAIIndicator || false,\n\t\tinvalid:\n\t\t\tfield.isInvalid || field.invalid || some(messages, { type: 'error' }),\n\t\trequired: isAttrTrue(field.mandatory) && !isAttrTrue(field.readonly),\n\t\tmessages,\n\t\t// DEF0256672: always pass live update\n\t\tliveUpdate: field.liveUpdate || null,\n\t\tonValueChange: onValueChange,\n\t\tonStagedValueChange: onStagedValueChange,\n\t\tfieldType: type, // we need field type, but it is stripped out so put it under a different key that it won't have html side effects\n\t\tformData,\n\t\thelperContent: getHelperContent(field, currentUser),\n\t\tfieldLayout: fieldLayout,\n\t\twrapLabel: formData?.shouldWrapFieldLabel || false,\n\t\t...(contextMenu && !isEmpty(contextMenu)\n\t\t\t? {\n\t\t\t\t\tnowAssistConfig: {\n\t\t\t\t\t\tcontextMenu,\n\t\t\t\t\t\t// DEF0590896: remove min word count if user language is Japanese as we currently don't have\n\t\t\t\t\t\t// a way to correctly count Japanese words since it doesn't use spaces to separate words\n\t\t\t\t\t\tminWordCount:\n\t\t\t\t\t\t\tuserLanguage === 'ja'\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: getProperty('sn_uxc_gen_ai.resolution.min_word_count', 6)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t: {})\n\t});\n\n\tlet Control, controlChildren, singleCurrency;\n\tlet useAllFractionsDigits = true;\n\tconst isLayoutHorizontal = layout === 'horizontal';\n\tconst isTemplateForm = field.referringTable === 'sys_template'; // Special case for template form\n\tconst formFieldsData = formData?.fields;\n\tconst dependentField =\n\t\tformFieldsData && formFieldsData[field.name]?.dependentField;\n\n\tswitch (type) {\n\t\tcase FIELD_TYPE.BOOLEAN: {\n\t\t\tControl = 'now-record-checkbox';\n\t\t\tconst isToggleField =\n\t\t\t\tgetDictionaryAttrs(controlProps)['render_as_toggle'];\n\t\t\tconst labelPos = !isLayoutHorizontal && !isToggleField ? 'end' : 'start';\n\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvalue: isAttrTrue(controlProps.value),\n\t\t\t\tfullWidth: isLayoutHorizontal || isToggleField ? true : false,\n\t\t\t\tlabelPosition: labelPos,\n\t\t\t\tisToggle: isToggleField\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.DAYS_OF_WEEK:\n\t\t\tControl = 'sn-record-checkbox-group';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tonValueChange: controlProps => {\n\t\t\t\t\tconst { value, name } = controlProps;\n\t\t\t\t\tconst newValue = value.split(',').join('');\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\tname: name,\n\t\t\t\t\t\tvalue: newValue\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\toptions: DAYS_OF_WEEK_OPTIONS,\n\t\t\t\tvalue: transformValueForDaysOfWeek(controlProps.value),\n\t\t\t\toriginalValue: transformValueForDaysOfWeek(controlProps.originalValue),\n\t\t\t\tfullWidth: isLayoutHorizontal ? true : false,\n\t\t\t\tlabelPosition: isLayoutHorizontal ? 'start' : 'end'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CHOICE:\n\t\t\tControl = 'sn-record-choice-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\t'table-name': field.referringTable,\n\t\t\t\t'record-sys-id': field.referringRecordId,\n\t\t\t\toptionStack: field.optionStack,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\trefQualElements: getAttribute(controlProps)('ref_qual_elements', ''),\n\t\t\t\t\tisSearchable: isAttrTrue(\n\t\t\t\t\t\tgetAttribute(controlProps)('is_searchable_choice', false)\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CONDITIONS:\n\t\t\timport('../connectedconditions/ConnectedConditions');\n\t\t\tControl = 'sn-record-conditions-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdependentFieldLabel: get(\n\t\t\t\t\tcontrolProps,\n\t\t\t\t\t'dictionary.dependentFieldLabel'\n\t\t\t\t),\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tstaticDependent: getAttr('staticDependent'),\n\t\t\t\t\tshowConditionCount: isAttrTrue(\n\t\t\t\t\t\tgetAttr('show_condition_count'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t),\n\t\t\t\t\tallowedFields: getAttr('restrictTo'),\n\t\t\t\t\tallowRelatedListQuery: isAttrTrue(\n\t\t\t\t\t\tgetAttr('allow_related_list_query'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t),\n\t\t\t\t\tallowSort: isAttrTrue(getAttr('allow_order'))\n\t\t\t\t},\n\t\t\t\tuseLegacyConditionBuilder: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.use.legacy.condition_builder', false)\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CURRENCY:\n\t\t\tsingleCurrency = isAttrTrue(\n\t\t\t\tgetProperty('glide.i18n.single_currency', false)\n\t\t\t);\n\t\t\tuseAllFractionsDigits = isAttrTrue(\n\t\t\t\tgetProperty('glide.currency_price.use_all_fraction_digits', false)\n\t\t\t);\n\n\t\tcase FIELD_TYPE.CURRENCY2:\n\t\t\tControl = 'sn-record-currency-connected';\n\t\t\t// display_string is the curr;value, i.e. JPY;1000\n\t\t\t// value is the converted number i.e. 9.07  (but in the default system currency, in this case USD)\n\t\t\t// displayValue is the string with the converted number i.e. \"$9.07\"\n\t\t\t// so, use display_string and default to value\n\t\t\tcontrolProps = {\n\t\t\t\tsingleCurrency,\n\t\t\t\t...controlProps,\n\t\t\t\tuseAllFractionsDigits,\n\t\t\t\tlocale: fixLocale(formData, singleCurrency)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PRICE:\n\t\t\tControl = 'sn-record-price-connected';\n\t\t\tsingleCurrency = isAttrTrue(\n\t\t\t\tgetProperty('glide.i18n.single_currency', false)\n\t\t\t);\n\t\t\tuseAllFractionsDigits = isAttrTrue(\n\t\t\t\tgetProperty('glide.currency_price.use_all_fraction_digits', false)\n\t\t\t);\n\t\t\tcontrolProps = {\n\t\t\t\tsingleCurrency,\n\t\t\t\t...controlProps,\n\t\t\t\tuseAllFractionsDigits,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tdeclarativeActionsProps\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.DUE_DATE:\n\t\tcase FIELD_TYPE.DATE_TIME:\n\t\tcase FIELD_TYPE.BASIC_DATE_TIME: {\n\t\t\tControl = 'now-record-date-picker';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst basicDateTimeFormat = 'yyyy-MM-DD HH:mm:ss';\n\t\t\tconst isBasicDateTime =\n\t\t\t\tcontrolProps.fieldType === FIELD_TYPE.BASIC_DATE_TIME;\n\t\t\tcontrolProps = getTimeProps({\n\t\t\t\t...controlProps,\n\t\t\t\tformat: isBasicDateTime\n\t\t\t\t\t? basicDateTimeFormat\n\t\t\t\t\t: getDateTimeFormat(formData),\n\t\t\t\toriginalFormat: isBasicDateTime\n\t\t\t\t\t? basicDateTimeFormat\n\t\t\t\t\t: getDateTimeFormat(formData, true),\n\t\t\t\ttimePicker: true,\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.INTEGER_DATE:\n\t\tcase FIELD_TYPE.OTHER_DATE:\n\t\tcase FIELD_TYPE.DATE: {\n\t\t\tControl = 'now-record-date-picker';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tcontrolProps = getTimeProps({\n\t\t\t\t...controlProps,\n\t\t\t\tformat: getDateFormat(formData),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tif (type === FIELD_TYPE.INTEGER_DATE) {\n\t\t\t\tconst DEFAULT_VALUE = '00000000';\n\t\t\t\tconst parsedOrginalValue =\n\t\t\t\t\tcontrolProps.originalValue === DEFAULT_VALUE\n\t\t\t\t\t\t? ''\n\t\t\t\t\t\t: controlProps.originalValue;\n\t\t\t\tcontrolProps.originalValue = parsedOrginalValue;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TIME:\n\t\tcase FIELD_TYPE.UTC_TIME:\n\t\tcase FIELD_TYPE.INTEGER_TIME: {\n\t\t\tControl = 'now-record-time';\n\n\t\t\t// need to change format so it doesn't have milliseconds, which the platform does not support\n\t\t\tlet format =\n\t\t\t\t(controlProps.format && controlProps.format.replace(':SSS', '')) ||\n\t\t\t\tgetTimeFormat(formData);\n\n\t\t\tconst separator = format.includes('.') ? '.' : ':';\n\n\t\t\tif (type === FIELD_TYPE.UTC_TIME) {\n\t\t\t\tconst isUsingUserFormat = chain(controlProps)\n\t\t\t\t\t.get('dictionary.attributes', [])\n\t\t\t\t\t.some(\n\t\t\t\t\t\tattr => attr.name === 'user_time_format' && isAttrTrue(attr.value)\n\t\t\t\t\t)\n\t\t\t\t\t.value();\n\n\t\t\t\tformat = isUsingUserFormat ? format : 'HH:mm:ss';\n\t\t\t}\n\n\t\t\t// `aa` is a legal in Java (supported by SN) but not for moment js.\n\t\t\tformat = format.replace('aa', 'a');\n\n\t\t\tcontrolProps = adjustPropsForTimezone({\n\t\t\t\t...controlProps,\n\t\t\t\tseparator,\n\t\t\t\tformat\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.PASSWORD: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype,\n\t\t\t\tdisplayValue: controlProps.displayValue || controlProps.value,\n\t\t\t\tdisableUnmask:\n\t\t\t\t\tcontrolProps.disableUnmask || isAttrTrue(controlProps.readonly),\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.PASSWORD2: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst maxCharsBeforeHash = 183;\n\t\t\tconst maxlength = Math.min(maxCharsBeforeHash, controlProps.maxlength); //255 is maxlength of hash value from entered characters, 183 is what is actually allowed.\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype,\n\t\t\t\tdisableUnmask:\n\t\t\t\t\t!isAttrTrue(getAttr('show_secret', false)) ||\n\t\t\t\t\tisAttrTrue(controlProps.readonly),\n\t\t\t\tvalue: controlProps.displayValue || controlProps.value,\n\t\t\t\tdisplayValue: controlProps.displayValue || controlProps.value,\n\t\t\t\tmaxlength,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.VERSION:\n\t\t\tControl = 'sn-record-version';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.EMAIL:\n\t\t\tControl = 'sn-record-email';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\tfieldRegex: Array.isArray(controlProps.fieldRegex)\n\t\t\t\t\t? controlProps.fieldRegex\n\t\t\t\t\t: []\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PHONE:\n\t\t\tconst formatUsPhone = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.format_phone', true)\n\t\t\t);\n\t\t\tif (!formatUsPhone) {\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tdeclarativeActionsProps,\n\t\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\tcase FIELD_TYPE.PHONE_NUMBER:\n\t\tcase FIELD_TYPE.PHONE_NUMBER_E164:\n\t\t\tControl = 'sn-record-phone-connected';\n\t\t\tconst parsedCountryCode = parseCountryCode(\n\t\t\t\tcontrolProps.country,\n\t\t\t\tcontrolProps.value,\n\t\t\t\tcontrolProps.countryCodes\n\t\t\t);\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tcountryCode: parsedCountryCode,\n\t\t\t\tphoneAddon: canRenderFieldAction({\n\t\t\t\t\tmodel: controlProps,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tdependency: 'CTI',\n\t\t\t\t\t\trequiresExistingRecord: true\n\t\t\t\t\t},\n\t\t\t\t\tformData\n\t\t\t\t}),\n\t\t\t\tcountryCodes: normalizeCountryCodes(controlProps.countryCodes),\n\t\t\t\tformatUsPhone: isAttrTrue(getProperty('glide.ui.format_phone', true)),\n\t\t\t\tisStrictEnabled: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('pn_strict', true)\n\t\t\t\t),\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.RADIO:\n\t\t\tControl = 'now-radio-group';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvertical: isAttrTrue(\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['vertical_layout']\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.DOMAIN_ID:\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tfullDisplayValue: controlProps.displayValue,\n\t\t\t\tdisplayValue: controlProps.displayValue\n\t\t\t\t\t? last(controlProps.displayValue.split('/'))\n\t\t\t\t\t: ''\n\t\t\t};\n\n\t\tcase FIELD_TYPE.REFERENCE: {\n\t\t\tControl = 'sn-record-reference-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\t\t\tconst ignoreRefQualifier = isAttrTrue(\n\t\t\t\tcontrolProps.formData?.ignoreReferenceQualifier\n\t\t\t);\n\n\t\t\tcontrolProps = getReferenceProps({\n\t\t\t\t...controlProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\treferenceAddonReadonly: isAttrTrue(\n\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'glide.ui.reference.readonly.clickthrough',\n\t\t\t\t\t\tfield.readonly_clickthrough\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tresultLimit,\n\t\t\t\tdisableDisplayValueWarning: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.reference.disable_displayvalue_warning', true)\n\t\t\t\t),\n\t\t\t\tdeclarativeActionsProps: {\n\t\t\t\t\t...declarativeActionsProps,\n\t\t\t\t\tignoreDepAsRefQual: ignoreRefQualifier,\n\t\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t\t},\n\t\t\t\tsearchUsingStartsWith: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.ref_ac.startswith', true)\n\t\t\t\t),\n\t\t\t\tsearchOnClick: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('ref_search_on_click') ??\n\t\t\t\t\t\tgetPageProperty('ref_search_on_click') ??\n\t\t\t\t\t\t!isRefSearchOnClickSuppressed(controlProps)\n\t\t\t\t),\n\t\t\t\tdisableEmailFreeformEntry: true,\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.SHORT_TABLE_NAME:\n\t\tcase FIELD_TYPE.TABLE_NAME: {\n\t\t\tControl = 'sn-record-tablename-connected';\n\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tshortList: !isAttrTrue(getAttr('full_list'), true),\n\t\t\t\t\tcanRead: isAttrTrue(getAttr('can_read_table')),\n\t\t\t\t\tincludeDefault: isAttrTrue(getAttr('includeDefault')),\n\t\t\t\t\tselectedOnly: isAttrTrue(getAttr('selected_only')),\n\t\t\t\t\tnoViews: isAttrTrue(getAttr('no_views')),\n\t\t\t\t\tnoSystemTables: isAttrTrue(getAttr('no_system_tables')),\n\t\t\t\t\tfilterEntitledTables: isAttrTrue(\n\t\t\t\t\t\tgetAttr('filter_licensed_custom_tables')\n\t\t\t\t\t),\n\t\t\t\t\tshowTableNames: isAttrTrue(getAttr('show_table_names')),\n\t\t\t\t\tshowTableNamesOnLabel: isAttrTrue(\n\t\t\t\t\t\tgetAttr('show_table_names_on_label')\n\t\t\t\t\t),\n\t\t\t\t\ttableChoicesScript: getAttr('tableChoicesScript'),\n\t\t\t\t\tskipRoot: isAttrTrue(getAttr('skip_root')),\n\t\t\t\t\tbaseTable: getAttr('base_table'),\n\t\t\t\t\tallowPublic: isAttrTrue(getAttr('allow_public')),\n\t\t\t\t\tskipScopeRestrictions: isAttrTrue(\n\t\t\t\t\t\tgetAttr('skipScopeRestrictions'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tformData,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_NAME: {\n\t\t\tControl = 'sn-record-fieldname-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdisplayValue: escapeSeismicSpecialSymbols(controlProps.displayValue),\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\treferenceTypes: getAttr('reference_types'),\n\t\t\t\t\tallowDotWalking: isAttrTrue(getAttr('allow_references'), false)\n\t\t\t\t},\n\t\t\t\tdependentFieldValue:\n\t\t\t\t\tcontrolProps.dependentFieldValue || controlProps.dependentValue\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.GLIDE_LIST: {\n\t\t\tControl = 'sn-record-reference-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\n\t\t\tcontrolProps = getReferenceProps({\n\t\t\t\t...controlProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\tdisplayValue: field.display_value_list,\n\t\t\t\t'form-data': formData,\n\t\t\t\tresultLimit,\n\t\t\t\tmultiSelection: true,\n\t\t\t\tdisableDisplayValueWarning: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.reference.disable_displayvalue_warning', true)\n\t\t\t\t),\n\t\t\t\tdisableEmailFreeformEntry: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('no_email')\n\t\t\t\t),\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\trefAcOrderBy: getAttribute(controlProps)('ref_ac_order_by', ''),\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tcontrolProps['form-data'] = {\n\t\t\t\t...controlProps['form-data'],\n\t\t\t\tshowUnsavedIndicator: shouldShowUnsavedIndicator(controlProps)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_LIST: {\n\t\t\tControl = 'sn-record-field-list-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvalue:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? controlProps.displayColumnLabel\n\t\t\t\t\t\t: controlProps.value,\n\t\t\t\tdisplayValue:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? controlProps.displayColumnValue\n\t\t\t\t\t\t: controlProps.displayValue,\n\t\t\t\tdisplayValuesWithPath:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? Array.of(controlProps.displayColumnValue)\n\t\t\t\t\t\t: controlProps.displayValuesWithPath,\n\n\t\t\t\treferenceTypes: getAttr('reference_types'),\n\t\t\t\tallowDotWalking: !isAttrTrue(getAttr('exclude_dot_walk'), false),\n\t\t\t\tallowExtendedFields: getProperty(\n\t\t\t\t\t'glide.ui.list.allow_extended_fields',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tincludeSysId: isAttrTrue(getAttr('include_sys_id_in_fieldlist', false)),\n\t\t\t\tshowTableDefaultDisplayColumn: isAttrTrue(\n\t\t\t\t\tgetAttr('default_display_name', false)\n\t\t\t\t),\n\n\t\t\t\tdependentFieldLabel: get(\n\t\t\t\t\tcontrolProps,\n\t\t\t\t\t'dictionary.dependentFieldLabel'\n\t\t\t\t),\n\t\t\t\tdependentFieldValue:\n\t\t\t\t\tgetAttr('table') ||\n\t\t\t\t\tcontrolProps.dependentFieldValue ||\n\t\t\t\t\tcontrolProps.dependentValue\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_LOOKUP: {\n\t\t\tControl = 'now-record-field-lookup-connected';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.USER_ROLES: {\n\t\t\tControl = 'sn-record-user-roles-lookup-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tresultLimit,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.DOCUMENT_ID:\n\t\t\tControl = 'sn-record-document-id-connected';\n\t\t\tconst prepareDeclarativeActions = controlProps => ({\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps: {\n\t\t\t\t\t...controlProps.declarativeActionsProps,\n\t\t\t\t\treference: controlProps.dependentValue,\n\t\t\t\t\treferenceTable: controlProps.dependentValue,\n\t\t\t\t\tignoreDepAsRefQual: true\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tcontrolProps = flow(\n\t\t\t\tgetReferenceProps,\n\t\t\t\tprepareDeclarativeActions\n\t\t\t)({\n\t\t\t\t...controlProps,\n\t\t\t\tsearchAddon: false,\n\t\t\t\treferenceAddonReadonly: true,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdependentFieldLabel: get(controlProps, 'dictionary.dependentFieldLabel')\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.STRING_LONG:\n\t\tcase FIELD_TYPE.ENCRYPTED_TEXT:\n\t\tcase FIELD_TYPE.TEXTAREA:\n\t\tcase FIELD_TYPE.MULTI_TWO_LINES:\n\t\tcase FIELD_TYPE.MULTI_SMALL: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst ignoreMaxlengthVal =\n\t\t\t\ttype === FIELD_TYPE.MULTI_SMALL\n\t\t\t\t\t? true\n\t\t\t\t\t: Number.parseInt(controlProps.maxlength) >= 1000 || undefined;\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'textarea',\n\t\t\t\tignoreMaxlength: ignoreMaxlengthVal,\n\t\t\t\tshowCounter: isAttrTrue(\n\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\tcontrolProps.showCounter\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t)\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.COMPOSITE_FIELD:\n\t\tcase FIELD_TYPE.WIDE_TEXT:\n\t\tcase FIELD_TYPE.TRANSLATED_FIELD:\n\t\tcase FIELD_TYPE.TRANSLATED_TEXT:\n\t\tcase FIELD_TYPE.STRING:\n\t\tcase FIELD_TYPE.GUID:\n\t\tcase FIELD_TYPE.STRING_FULL_UTF8:\n\t\tcase FIELD_TYPE.DOMAIN_PATH:\n\t\tcase FIELD_TYPE.INT:\n\t\tcase FIELD_TYPE.USER_INPUT:\n\t\tcase FIELD_TYPE.RELATED_TAGS: {\n\t\t\tconst isLargeField =\n\t\t\t\tNumber.parseInt(controlProps.maxlength) > 255 ||\n\t\t\t\tisAttrTrue(getDictionaryAttrs(controlProps)['is_multi_text']);\n\t\t\tconst ignoreMaxlength =\n\t\t\t\tNumber.parseInt(controlProps.maxlength) >= 1000 || undefined;\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst READ_ONLY_FIELDS = [\n\t\t\t\tFIELD_TYPE.DOMAIN_PATH,\n\t\t\t\tFIELD_TYPE.RELATED_TAGS\n\t\t\t];\n\n\t\t\t// Related tags field will be having only display value which are comma seperated values of label entries of particular record\n\t\t\t// So, When display value is updated, value should also be updated, so that field will be updated with new value\n\t\t\tif (type === FIELD_TYPE.RELATED_TAGS) {\n\t\t\t\tcontrolProps = {\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tvalue: controlProps.displayValue,\n\t\t\t\t\toriginalValue: controlProps.originalDisplayValue\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tignoreMaxlength,\n\t\t\t\tshowCounter:\n\t\t\t\t\ttype !== FIELD_TYPE.WIDE_TEXT &&\n\t\t\t\t\tisAttrTrue(\n\t\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\t\tisLargeField && controlProps.showCounter\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t),\n\t\t\t\tfieldRegex: Array.isArray(controlProps.fieldRegex)\n\t\t\t\t\t? controlProps.fieldRegex\n\t\t\t\t\t: [],\n\t\t\t\tmobileKeypadType:\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['mobile_keypad_type'],\n\t\t\t\ttype: isLargeField ? 'textarea' : 'text',\n\t\t\t\t...(READ_ONLY_FIELDS.includes(type) ? { readonly: true } : {})\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.AUTO_NUMBER:\n\t\t\tControl = 'sn-record-auto-number-connected';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.ORDER_INDEX:\n\t\tcase FIELD_TYPE.DOCUMENTATION_FIELD:\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst initialValue =\n\t\t\t\tcontrolProps.displayValue ||\n\t\t\t\t(type === FIELD_TYPE.DOCUMENTATION_FIELD ? controlProps.value : '');\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'text',\n\t\t\t\tinitialValue,\n\t\t\t\tinitialDisplayValue: initialValue\n\t\t\t};\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.CHAR:\n\t\tcase FIELD_TYPE.WORKFLOW:\n\t\tcase FIELD_TYPE.STRING_SHORT:\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'text',\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.AUTO_INCREMENT:\n\t\tcase FIELD_TYPE.INTEGER:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdecimal: false,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.LONG:\n\t\tcase FIELD_TYPE.LONG_INT:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdecimal: false,\n\t\t\t\tlong: true,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\treversed: true,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.FLOAT:\n\t\tcase FIELD_TYPE.DECIMAL:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PERCENT_COMPLETE:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tpercent: true,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.INPUT_GROUP:\n\t\t\tControl = 'sn-record-input-group';\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.URL: {\n\t\t\tControl = 'sn-record-url';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst getAttr = getAttribute(controlProps);\n\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tallowRelativeURL: isAttrTrue(getAttr('allow_relative_url', true))\n\t\t\t\t}\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.SLUSHBUCKET: {\n\t\t\tControl = 'sn-record-list-select';\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.JOURNAL: {\n\t\t\tconst useHTML = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.journal.use_html', false)\n\t\t\t);\n\n\t\t\tconst enableResponseTemplates = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.enable_response_templates', true)\n\t\t\t);\n\t\t\tconst responseTemplates = {\n\t\t\t\tenableResponseTemplates,\n\t\t\t\tchannel: 'form',\n\t\t\t\trecordTable: field.referringTable,\n\t\t\t\trecordSysId: field.referringRecordId\n\t\t\t};\n\t\t\tconst preloadMentions = getRecordMembers(controlProps.formData);\n\t\t\tif (!useHTML) {\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tmentions: userMention,\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tshowCounter: isAttrTrue(\n\t\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\t\tcontrolProps.showCounter\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\t\tautoresize: true,\n\t\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t\t),\n\t\t\t\t\tresponseTemplates,\n\t\t\t\t\tpreloadMentions\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcontrolProps.enableMentions = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.journal.enable_mentions', true)\n\t\t\t);\n\t\t\tcontrolProps.useCodeBlocks = true;\n\t\t\tcontrolProps.resizable = true;\n\n\t\t\tconst systemLanguage = getProperty('glide.sys.language');\n\t\t\tconst supportedLanguages = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t''\n\t\t\t);\n\n\t\t\tconst defaultPlugins =\n\t\t\t\t'link lists advlist table powerpaste searchreplace preview fullscreen placeholder';\n\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguage,\n\t\t\t\t\tsupportedLanguages\n\t\t\t\t),\n\t\t\t\ttoolbar: [\n\t\t\t\t\t'bold italic underline | fontfamily | alignleft aligncenter alignright | bullist numlist | link unlink'\n\t\t\t\t],\n\t\t\t\tplugins: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.journal.html.editor.autoresize', false)\n\t\t\t\t)\n\t\t\t\t\t? `${defaultPlugins}  autoresize`\n\t\t\t\t\t: defaultPlugins,\n\t\t\t\tminLineCount: 3,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.journal.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`),\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.extended_valid_elements'\n\t\t\t\t),\n\t\t\t\tisJournal: true,\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tresponseTemplates,\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tpreloadMentions\n\t\t\t};\n\t\t\tControl = 'now-record-html-editor';\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TRANSLATED_HTML:\n\t\tcase FIELD_TYPE.HTML:\n\t\t\tconst isMultiText = getDictionaryAttrs(controlProps)['is_multi_text'];\n\t\t\tif (!(isMultiText == undefined || isAttrTrue(isMultiText))) {\n\t\t\t\t// Display text box in case of single line HTML field\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\ttype: 'text'\n\t\t\t\t});\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst systemLanguage = getProperty('glide.sys.language');\n\t\t\t// This property is actually spelled this way and is not a typo\n\t\t\tconst supportedLanguages = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t'ar,cs,de,en,es,fi,fr,fq,he,hu,it,ja,ko,nl,pl,pt,ru,th,tr,zh,zt'\n\t\t\t);\n\n\t\t\tconst preloadMentions = getRecordMembers(controlProps.formData);\n\n\t\t\t//make object array to single object with name as key\n\t\t\tconst dictionaryAttributes = getDictionaryAttrs(controlProps);\n\t\t\tconst htmlAttributes = getHtmlAttributes(\n\t\t\t\tdictionaryAttributes,\n\t\t\t\tcontrolProps.fieldType\n\t\t\t);\n\n\t\t\tif (controlProps.referringTable === 'kb_knowledge') {\n\t\t\t\tconst knowledgeBlockStyles =\n\t\t\t\t\t\"body .kb-block-content-item[contentEditable='false'][data-mce-selected]\" +\n\t\t\t\t\t' { background: #d9ebee; outline: 2px solid #01778e;}';\n\t\t\t\tcontrolProps.contentStyle = controlProps.contentStyle\n\t\t\t\t\t? `${controlProps.contentStyle} ${knowledgeBlockStyles}`\n\t\t\t\t\t: knowledgeBlockStyles;\n\t\t\t}\n\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguage,\n\t\t\t\t\tsupportedLanguages\n\t\t\t\t),\n\t\t\t\ttoolbar: getTinyMCEToolbar(),\n\t\t\t\tvalidButtons:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.toolbar.valid_buttons`) ||\n\t\t\t\t\tundefined,\n\t\t\t\tvalidPlugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.valid_plugins`) || undefined,\n\t\t\t\tplugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.enabled_plugins`) || undefined,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`) || undefined,\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.extended_valid_elements') ||\n\t\t\t\t\tundefined,\n\t\t\t\tpowerPasteHtmlImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.html_import`) || undefined,\n\t\t\t\tpowerPasteWordImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.word_import`) || undefined,\n\t\t\t\tpowerPasteFilterInlineElements: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.paste.filtered_inline_elements`,\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpreloadMentions,\n\t\t\t\t...htmlAttributes\n\t\t\t};\n\t\t\tControl = 'now-record-html-editor';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.HTML_SCRIPT:\n\t\t\tconst systemLanguageScript = getProperty('glide.sys.language');\n\t\t\t// This property is actually spelled this way and is not a typo\n\t\t\tconst supportedLanguagesScript = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t'ar,cs,de,en,es,fi,fr,fq,he,hu,it,ja,ko,nl,pl,pt,ru,th,tr,zh,zt'\n\t\t\t);\n\n\t\t\t//make object array to single object with name as key\n\t\t\tconst dictionaryAttributesScript = getDictionaryAttrs(controlProps);\n\t\t\tconst htmlAttributesScript = getHtmlAttributes(\n\t\t\t\tdictionaryAttributesScript,\n\t\t\t\tcontrolProps.fieldType\n\t\t\t);\n\n\t\t\tif (controlProps.referringTable === 'kb_knowledge') {\n\t\t\t\tconst knowledgeBlockStyles =\n\t\t\t\t\t\"body .kb-block-content-item[contentEditable='false'][data-mce-selected]\" +\n\t\t\t\t\t' { background: #d9ebee; outline: 2px solid #01778e;}';\n\t\t\t\tcontrolProps.contentStyle = controlProps.contentStyle\n\t\t\t\t\t? `${controlProps.contentStyle} ${knowledgeBlockStyles}`\n\t\t\t\t\t: knowledgeBlockStyles;\n\t\t\t}\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguageScript,\n\t\t\t\t\tsupportedLanguagesScript\n\t\t\t\t),\n\t\t\t\ttoolbar: getTinyMCEToolbar(),\n\t\t\t\tvalidButtons:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.toolbar.valid_buttons`) ||\n\t\t\t\t\tundefined,\n\t\t\t\tvalidPlugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.valid_plugins`) || undefined,\n\t\t\t\tplugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.enabled_plugins`) || undefined,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`) || undefined,\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.extended_valid_elements') ||\n\t\t\t\t\tundefined,\n\t\t\t\tpowerPasteHtmlImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.html_import`) || undefined,\n\t\t\t\tpowerPasteWordImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.word_import`) || undefined,\n\t\t\t\tpowerPasteFilterInlineElements: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.paste.filtered_inline_elements`,\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tdependentValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.value\n\t\t\t\t\t: formFieldsData[field.name]?.dependentValue,\n\t\t\t\tdependentFieldLabel: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.label\n\t\t\t\t\t: formFieldsData[dependentField]?.label,\n\t\t\t\tdependentDisplayValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.displayValue\n\t\t\t\t\t: formFieldsData[dependentField]?.displayValue,\n\t\t\t\tdependentField: isTemplateForm ? 'table' : dependentField,\n\t\t\t\tformData,\n\t\t\t\t...htmlAttributesScript\n\t\t\t};\n\t\t\tControl = 'now-record-html-script';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.EMAIL_SCRIPT:\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdependentValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.value\n\t\t\t\t\t: formFieldsData[field.name]?.dependentValue,\n\t\t\t\tdependentFieldLabel: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.label\n\t\t\t\t\t: formFieldsData[dependentField]?.label,\n\t\t\t\tdependentDisplayValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.displayValue\n\t\t\t\t\t: formFieldsData[dependentField]?.displayValue,\n\t\t\t\tdependentField: isTemplateForm ? 'table' : dependentField,\n\t\t\t\tformData\n\t\t\t};\n\t\t\tControl = 'sn-record-email-script';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.JSON:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: 'json'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CSS:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: 'css'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.FILE_ATTACHMENT:\n\t\t\tControl = 'sn-record-file-attachment';\n\t\t\tcontrolProps = {\n\t\t\t\tmaxAttachmentSize: getProperty('com.glide.attachment.max_size'),\n\t\t\t\t...controlProps,\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\ttableSysId: controlProps.referringRecordId,\n\t\t\t\tcontentType: controlProps.contentType,\n\t\t\t\tvirusState: controlProps.state,\n\t\t\t\textensions: getProperty('glide.attachment.extensions'),\n\t\t\t\tscheduleForCleanup: controlProps.scheduleForCleanup ?? true\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.DURATION:\n\t\t\tControl = 'sn-record-duration';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\toriginalValue: normalizeToDurationFormat(\n\t\t\t\t\tcontrolProps?.originalValue,\n\t\t\t\t\tcontrolProps?.value\n\t\t\t\t),\n\t\t\t\tvalue: controlProps.value\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.ANNOTATION:\n\t\t\tControl = 'sn-record-annotation';\n\t\t\tcontrolChildren = field.isPlainText ? field.text : [toHtml(field.text)];\n\t\t\t//Explicitly setting the text property to it's default value after resolving text property to controlChildren as the uiElement text property is conflicting with the component text property.\n\t\t\tcontrolProps.text = false;\n\t\t\tswitch (field.typeDisplayValue) {\n\t\t\t\tcase 'Info Box Red':\n\t\t\t\t\tcontrolProps.important = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Line Separator':\n\t\t\t\t\tcontrolProps.lineSeparator = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Section Separator':\n\t\t\t\t\tcontrolProps.sectionSeparator = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Section Details':\n\t\t\t\t\tcontrolProps.sectionDetails = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Text':\n\t\t\t\t\tcontrolProps.text = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.IP_ADDR:\n\t\tcase FIELD_TYPE.IP_ADDRESS:\n\t\t\tControl = 'now-record-ip-address';\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.NAME_VALUE:\n\t\t\tControl = 'sn-record-name-value';\n\t\t\tconst dictAttributes = getDictionaryAttrs(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tkeyReadOnly: isAttrTrue(dictAttributes['key_readonly']),\n\t\t\t\tvalueReadOnly: isAttrTrue(dictAttributes['value_readonly']),\n\t\t\t\tnoActions: isAttrTrue(dictAttributes['no_actions'])\n\t\t\t};\n\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.TEMPLATE_VALUE:\n\t\t\tControl = 'sn-record-template-value-connected';\n\t\t\tconst ignoreRefQualifier = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.template.ignore_ref_qualifier')\n\t\t\t);\n\t\t\tconst formDataForTemplate = getFormDataForTemplateValue(formData);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tformData: {\n\t\t\t\t\t...formDataForTemplate,\n\t\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t\t}\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.USER_IMAGE:\n\t\t\tControl = 'sn-record-file-attachment';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tmaxAttachmentSize: getProperty('com.glide.attachment.max_size'),\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\ttableSysId: controlProps.referringRecordId,\n\t\t\t\tcontentType: controlProps.contentType,\n\t\t\t\tvirusState: controlProps.state,\n\t\t\t\textensions: 'jpg,png,bmp,gif,jpeg,ico,svg',\n\t\t\t\ttype: 'image',\n\t\t\t\tmessages: messages.map(m => {\n\t\t\t\t\tif (m.message instanceof LiveUpdateMessage) {\n\t\t\t\t\t\tm.message.setHideValue(true);\n\t\t\t\t\t}\n\t\t\t\t\treturn m;\n\t\t\t\t}),\n\t\t\t\tscheduleForCleanup: controlProps.scheduleForCleanup ?? true\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.WIKI_TEXT: {\n\t\t\tControl = 'sn-record-wiki-text-connected';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdualMode: isAttrTrue(getDictionaryAttrs(controlProps)['dual_mode']),\n\t\t\t\tinlineMode: isAttrFalse(\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['preview_selector']\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TIME_WORKED: {\n\t\t\tControl = 'sn-record-time-worked-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tautoStart: isAttrTrue(getProperty('glide.ui.timer.started', true))\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.CONDITION_STRING:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: JAVASCRIPT,\n\t\t\t\tisConditionString: true,\n\t\t\t\tlinterConfig: getProperty(\n\t\t\t\t\t'glide.ui.syntax_editor.linter.eslint_config',\n\t\t\t\t\t{}\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.XML:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: XML,\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.workspace.script.code_editor.autoresize_line_limit'\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.SCRIPT_PLAIN:\n\t\tcase FIELD_TYPE.SCRIPT:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: JAVASCRIPT,\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.workspace.script.code_editor.autoresize_line_limit'\n\t\t\t\t),\n\t\t\t\tisClientScript: getAttribute(controlProps)('client_script', false),\n\t\t\t\tautocompleteSuggestions: {\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tvariant: 'append',\n\t\t\t\t\tsuggestions: [controlProps.autocompletionSuggestions]\n\t\t\t\t}\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tconst defaultControl = getDefaultFormControl(controlProps, type);\n\t\t\tControl = defaultControl.Control;\n\t\t\tcontrolProps = defaultControl.controlProps;\n\t}\n\n\t//Pick the sanitise value and check if field is modified and display the unsaved indicator\n\tcontrolProps.formData = {\n\t\t...(controlProps.formData || {}),\n\t\tshowUnsavedIndicator: shouldShowUnsavedIndicator(controlProps)\n\t};\n\tcontrolProps.isModified = isDirty(controlProps);\n\n\treturn {\n\t\tControl,\n\t\tprops: controlProps,\n\t\tchildren: controlChildren,\n\t\trender: true\n\t};\n}\n\nexport default {\n\tisSupported,\n\tcreateFormControl,\n\tgetFormControl\n};\n","import { flow, omit, get, assign } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-loader';\n\nimport { getFormControl } from '../base/controlElementFactory';\n\nimport { getPageProperty } from '@devsnc/sn-controls-common';\n\nimport styles from './field-selection.scss';\n\nimport '@devsnc/sn-form-controls';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport '@servicenow/now-text-link';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tisAttrTrue,\n\tFIELD_TYPE,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\nexport const FIELD_SELECTION = 'sn-record-template-value-field-selection';\n\nexport const FIELD_SELECTION_ACTION_NAME =\n\tFIELD_SELECTION.toUpperCase().replace(/-/g, '_');\nexport const FIELD_SELECTION_PATH_UPDATE = `${FIELD_SELECTION_ACTION_NAME}#PATH_UPDATED`;\nexport const FIELD_VALUE_CHANGED = `${FIELD_SELECTION_ACTION_NAME}#VALUE_CHANGED`;\n\nexport const searchDeclarativeAction = {\n\tname: 'reference_search',\n\ticon: 'magnifying-glass-outline',\n\tlabel: t('Search For Record'),\n\tdependency: '',\n\trequiresValue: false,\n\torder: 0,\n\tconditions: '',\n\tactionType: 'action_component',\n\tactionComponent: 'sn-declarative-reference-search',\n\tactionDispatch: '',\n\tactionPayload: '',\n\tactionAttributes: '{\"context\":\"\"}',\n\tgroupBy: false,\n\tgroup: '',\n\tassignmentId: '994fc9bd53332300099addeeff7b1296',\n\tconfirmationRequired: false,\n\tconfirmationMessage: '',\n\ttooltip: t('Search for Record'),\n\tmodelConditions: [],\n\tpayloadMap: []\n};\n\nconst createHandler = (matchingType, transformer) => type => props =>\n\ttype === matchingType ? { ...props, ...transformer(props) } : props;\n\nexport const handleGlideList = createHandler(FIELD_TYPE.GLIDE_LIST, props => ({\n\t// referringTable should be the value that the TableName field has\n\treferringTable: props.table,\n\tdisplay_value_list: props.displayValue,\n\tdeclarativeUiActions: [searchDeclarativeAction]\n}));\n\nconst handleReference = createHandler(FIELD_TYPE.REFERENCE, props => ({\n\t// referringTable should be the value that the TableName field has\n\treferringTable: props.table,\n\tdeclarativeUiActions: [searchDeclarativeAction]\n}));\n\nconst mapProps = type => flow(handleGlideList(type), handleReference(type));\n\nconst getReferenceRecordId = (type, fieldProps) =>\n\ttype === FIELD_TYPE.HTML ||\n\ttype === FIELD_TYPE.TRANSLATED_HTML ||\n\t(type === FIELD_TYPE.JOURNAL &&\n\t\tisAttrTrue(getProperty('glide.ui.journal.use_html', false)))\n\t\t? get(fieldProps, 'referringRecordId') || '-1'\n\t\t: '-1';\n\nconst empty = { Control: Fragment, props: {} };\n\nconst Button = ({\n\tidentifier,\n\tfieldLabel,\n\tdisplayValue,\n\tstyle,\n\tisUnsupportedField,\n\tfieldName,\n\ttype,\n\tindex\n}) => {\n\tif (type === 'remove') {\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tstyle={style}\n\t\t\t\ticon=\"close-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t{...(identifier == 'newFieldCreator'\n\t\t\t\t\t? { tabindex: '-1', disabled: true }\n\t\t\t\t\t: { disabled: false })}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tintent: 'remove',\n\t\t\t\t\tidentifier,\n\t\t\t\t\tisUnsupportedField,\n\t\t\t\t\tfieldName\n\t\t\t\t}}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t...(identifier !== 'newFieldCreator' && {\n\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t'Remove template row {0} with condition {1} equals {2}',\n\t\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\t\tfieldLabel,\n\t\t\t\t\t\t\tdisplayValue\n\t\t\t\t\t\t)\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\ttooltipContent={t('Delete Row')}\n\t\t\t/>\n\t\t);\n\t} else if (type === 'add') {\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tstyle={style}\n\t\t\t\ticon=\"plus-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t{...(identifier == 'newFieldCreator'\n\t\t\t\t\t? { tabindex: '-1', disabled: true }\n\t\t\t\t\t: { disabled: false })}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tintent: 'add',\n\t\t\t\t\tidentifier,\n\t\t\t\t\tisUnsupportedField,\n\t\t\t\t\tfieldName\n\t\t\t\t}}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('Add new template row')\n\t\t\t\t}}\n\t\t\t\ttooltipContent={t('Add Row')}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nexport const onValueChange =\n\t(dispatch, identifier) =>\n\t({ value, displayValue, error }) => {\n\t\tdispatch(FIELD_VALUE_CHANGED, {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tidentifier,\n\t\t\terror\n\t\t});\n\t};\n\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\tfieldName,\n\t\tfieldProps,\n\t\tfieldLabel,\n\t\tdisplayValue,\n\t\tmessages,\n\t\ttable,\n\t\ttype,\n\t\tkey,\n\t\tpadBottom,\n\t\tidentifier,\n\t\tchoices,\n\t\tisLoading,\n\t\treadonly,\n\t\tisUnsupportedField,\n\t\tisNewField,\n\t\tformData,\n\t\tisLastTemplateRow,\n\t\tindex,\n\t\tconfigAria,\n\t\tshowBadge\n\t} = state.properties;\n\tconst value = get(state, 'properties.fieldProps.value');\n\tconst isReadOnly = isAttrTrue(readonly);\n\n\tconst showBadgeProp =\n\t\tgetPageProperty('enable_template_enhancement', false) && showBadge;\n\tvar applyPadBottom = padBottom && !showBadgeProp;\n\n\tif (!table) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\t(isReadOnly &&\n\t\t\ttype !== FIELD_TYPE.HTML &&\n\t\t\ttype !== FIELD_TYPE.TRANSLATED_HTML) ||\n\t\tisUnsupportedField\n\t) {\n\t\tconst readOnlyDisplayValue =\n\t\t\tfieldProps.displayValue || fieldProps.value || '-';\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<div class={{ 'field-selection-container-readonly': true }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'field-selection-label-readonly': true,\n\t\t\t\t\t\t\t'badge-display-unsupported-field': showBadgeProp\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showBadgeProp ? (\n\t\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\t\tclassName=\"now-badge\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tstatus=\"low\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tvalue={index + 1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div>{fieldLabel}<\/div>\n\t\t\t\t\t\t\t{isUnsupportedField ? (\n\t\t\t\t\t\t\t\t<sn-record-controls-internal-field-messages\n\t\t\t\t\t\t\t\t\tmessages={[\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\t\t\t\tmessage: t('This field {0} is not supported.', type)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className={'field-selection-field'}>\n\t\t\t\t\t\t{type === FIELD_TYPE.PERCENT_COMPLETE ? (\n\t\t\t\t\t\t\tdisplayValue + '%'\n\t\t\t\t\t\t) : type === FIELD_TYPE.URL ? (\n\t\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\t\tlabel={fieldProps.displayValue}\n\t\t\t\t\t\t\t\thref={fieldProps.displayValue}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\topensWindow={true}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<div className={'field-selection-value-readonly'}>\n\t\t\t\t\t\t\t\t\t{readOnlyDisplayValue}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t{isUnsupportedField ? (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\t\t\t\t\t\tfieldLabel={fieldLabel}\n\t\t\t\t\t\t\t\t\t\tdisplayValue={fieldProps.displayValue}\n\t\t\t\t\t\t\t\t\t\tisUnsupportedField={isUnsupportedField}\n\t\t\t\t\t\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\t\t\t\t\t\ttype=\"remove\"\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\tconst className = type === 'boolean' ? 'no-checkbox-top-margin' : '';\n\tconst isHTMLScriptOrEmailScript =\n\t\ttype === FIELD_TYPE.HTML_SCRIPT || type === FIELD_TYPE.EMAIL_SCRIPT;\n\tconst { Control, props } = fieldName\n\t\t? getFormControl(\n\t\t\t\tstate.componentId,\n\t\t\t\ttype,\n\t\t\t\tmapProps(type)({\n\t\t\t\t\t...fieldProps,\n\t\t\t\t\tclassName,\n\t\t\t\t\treferringRecordId: getReferenceRecordId(type, fieldProps),\n\t\t\t\t\tname: fieldName,\n\t\t\t\t\tmessages,\n\t\t\t\t\ttable,\n\t\t\t\t\treadonly\n\t\t\t\t}),\n\t\t\t\tonValueChange(dispatch, identifier),\n\t\t\t\tnull,\n\t\t\t\t{\n\t\t\t\t\t...omit(formData, 'fields'),\n\t\t\t\t\t...(isHTMLScriptOrEmailScript && { fields: formData?.fields })\n\t\t\t\t}\n\t\t\t)\n\t\t: empty;\n\tprops['value'] = value;\n\tconst propsWithoutLabel = omit(props, ['label']);\n\tconst fieldAriaConfig = {\n\t\t'aria-label': fieldLabel,\n\t\t'aria-labelledby': '',\n\t\t'aria-describedby': ''\n\t};\n\n\tconst propsWithConfigAria = isHTMLScriptOrEmailScript\n\t\t? assign(propsWithoutLabel, {\n\t\t\t\tconfigAria: fieldAriaConfig,\n\t\t\t\tlabel: t('Update to')\n\t\t\t})\n\t\t: assign(propsWithoutLabel, {\n\t\t\t\tconfigAria: fieldAriaConfig\n\t\t\t});\n\n\tconst templateTableAndPageProp =\n\t\tfieldProps && getPageProperty('enable_template_enhancement', false);\n\tconst fieldLabels = templateTableAndPageProp\n\t\t? fieldProps.referringTable == 'sys_template'\n\t\t\t? t('Field')\n\t\t\t: ''\n\t\t: '';\n\tconst updateLabel = isHTMLScriptOrEmailScript\n\t\t? ''\n\t\t: templateTableAndPageProp\n\t\t\t? fieldProps.referringTable == 'sys_template'\n\t\t\t\t? t('Update to')\n\t\t\t\t: ''\n\t\t\t: '';\n\n\treturn (\n\t\t<div\n\t\t\tkey={key}\n\t\t\tclass={{\n\t\t\t\t'field-selection-container': true,\n\t\t\t\t'pad-bottom': applyPadBottom\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'field-selection-fields-container': true,\n\t\t\t\t\t'field-direction-column': isHTMLScriptOrEmailScript\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'field-selection-selector': true,\n\t\t\t\t\t\t'field-selection-html-container': isHTMLScriptOrEmailScript\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!isReadOnly ? (\n\t\t\t\t\t\t<div class={{ 'now-badge-container': showBadgeProp }}>\n\t\t\t\t\t\t\t{showBadgeProp ? (\n\t\t\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\t\t\tclassName=\"now-badge\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tstatus=\"low\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tvalue={index + 1}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<ControlWrapper label={fieldLabels} className=\"wrapper-flex\">\n\t\t\t\t\t\t\t\t<sn-record-choice-search\n\t\t\t\t\t\t\t\t\tname={fieldName}\n\t\t\t\t\t\t\t\t\tclass={{ 'block-style': true }}\n\t\t\t\t\t\t\t\t\tdisplayValue={fieldLabel}\n\t\t\t\t\t\t\t\t\tchoices={choices}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tslot=\"triggerButton\"\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'sn-control-field': true,\n\t\t\t\t\t\t\t\t\t\t\t'read-only': isAttrTrue(readonly)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t'sn-select': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'has-placeholder': isNewField,\n\t\t\t\t\t\t\t\t\t\t\t\t[className]: className !== '' ? true : undefined\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-select-value\"\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={`${fieldLabel}, ${configAria?.['aria-label']}`}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{fieldLabel ? fieldLabel : `${t('-- choose field --')}`}\n\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"sn-select-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"context-select\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/sn-record-choice-search>\n\t\t\t\t\t\t\t<\/ControlWrapper>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span>{fieldLabel}<\/span>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<div class={{ 'field-selection-field-container': true }}>\n\t\t\t\t\t<ControlWrapper label={updateLabel}>\n\t\t\t\t\t\t<div class={{ 'field-selection-field': true }}>\n\t\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t\t<now-loader class={{ 'loading-line': true }} size=\"lg\" />\n\t\t\t\t\t\t\t) : props.name ? (\n\t\t\t\t\t\t\t\t<Control {...propsWithConfigAria} />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<now-input config-aria={{ input: fieldAriaConfig }} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!isReadOnly ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<div class={{ 'field-selection-add-row': true }}>\n\t\t\t\t\t\t\t\t\t\t{isLastTemplateRow || identifier === 'newFieldCreator' ? (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\t\t\t\t\t\t\t\tfieldLabel={fieldLabel}\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ visibility: isLoading ? 'hidden' : 'visible' }}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"add\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class={{ 'field-selection-remove-row': true }}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\t\t\t\t\t\t\tfieldLabel={fieldLabel}\n\t\t\t\t\t\t\t\t\t\t\tdisplayValue={fieldProps?.displayValue}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ visibility: isLoading ? 'hidden' : 'visible' }}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"remove\"\n\t\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/ControlWrapper>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport const itemSelectedEffect = ({ state, action, dispatch }) => {\n\tconst { id, displayValue } = action.payload;\n\n\tdispatch(FIELD_SELECTION_PATH_UPDATE, {\n\t\tfieldLabel: displayValue,\n\t\tidentifier: state.properties.identifier,\n\t\tpath: id\n\t});\n};\n\n/**\n * This component is for internal us buy the controls team.\n */\ncreateCustomElement(FIELD_SELECTION, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t['SN_CHOICE_SEARCH_DROPDOWN#ITEM_SELECTED']: {\n\t\t\teffect: itemSelectedEffect,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tproperties: {\n\t\tfieldName: { default: '' },\n\t\tfieldLabel: { default: '' },\n\t\tfieldProps: {},\n\t\tisLoading: {},\n\t\tdisplayValue: {},\n\t\ttype: {},\n\t\tmessages: {},\n\t\ttable: {},\n\t\treadonly: { default: false },\n\t\tisUnsupportedField: { default: false },\n\t\tkey: {},\n\t\tchoices: {},\n\t\tpath: { default: '' },\n\t\tisNewField: { default: false },\n\t\tpadBottom: { default: false },\n\t\tidentifier: {},\n\t\tformData: {},\n\t\tlength: {},\n\t\tisLastTemplateRow: {},\n\t\tindex: {},\n\t\tshowBadge: {},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} }\n\t},\n\tdispatches: {}\n});\n","export const requestForTypesAndMetaData = `\nquery ($queryString: String!, $encodedRecord: String, $isPartial: Boolean!, $serializedChanges: String!, $fieldName: String!, $recordSysId: String!, $referringTable: String!) {\n  GlideLayout_Query {\n    templateValueFieldsQuery(queryString: $queryString, encodedRecord: $encodedRecord, isPartial: $isPartial, serializedChanges: $serializedChanges, fieldName:$fieldName, recordSysId: $recordSysId, recordTableName: $referringTable) {\n      tableName\n      valuesList {\n        displayValue\n        value\n        fieldName\n\t\t\t\tfieldLabel\n\t\t\t\tshouldHide\n      }\n      fields {\n        name: elementName\n        dictionary: dictionaryData {\n          type: dictionaryType\n          dependentField\n          dependentTable\n          name\n          label\n          canWrite\n          canRead\n          canCreate\n          internalType\n          isMandatory\n          sys_readonly: sysReadonly\n          attributes {\n            name\n            value\n          }\n        }\n        ... on GlideLayout_TableNameElementType {\n          displayValue\n        }\n        ... on GlideLayout_FileAttachmentElementType {\n          value\n          displayValue\n          state\n          contentType\n        }\n        ... on GlideLayout_ChoiceElementType {\n          choices {\n            displayValue\n            value\n          }\n        }\n        ... on GlideLayout_CurrencyElementType {\n          value\n          code\n          defaultCurrency\n          currencyCodes {\n            code\n            symbol\n            name\n          }\n        }\n        ... on GlideLayout_PhoneNumberElementType {\n          value\n          country\n          countryCodes {\n            code\n            name\n          }\n        }\n        ... on GlideLayout_GlideListElementType {\n          reference\n        }\n        ... on GlideLayout_ReferenceElementType {\n          reference\n          referenceQualifier\n          referenceKey\n          useReferenceQualifier\n          dependent\n          dependentOnField\n          refAutoCompleter\n          refAcOrderBy\n          refAcColumns\n          refAcColumnsSearch\n          refAcDisplayValue\n          refQualElements\n          refContributions\n          isDynamicCreate\n          isReferenceScriptableTable\n          referenceError\n        }\n        ... on GlideLayout_ValueElementType {\n          maxLength\n          defaultRows\n        }  \n      }\n    }\n  }\n}\n`;\n","import {\n\tuniqBy,\n\tcompact,\n\tfind,\n\tpick,\n\tget,\n\tomit,\n\tisEqual,\n\tisFunction,\n\tisEmpty\n} from 'lodash';\nimport {\n\tgetSerializedChanges,\n\teffectProxy,\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE\n} from '@devsnc/sn-controls-common';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tFIELD_SELECTION_PATH_UPDATE,\n\tFIELD_VALUE_CHANGED\n} from './field-selection';\n\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport { requestForTypesAndMetaData } from './graphql';\nimport { t } from 'sn-translate';\n\nexport const COMPONENT_PREFIX = 'SN_RECORD_TEMPLATE_VALUE';\n\nexport const DATA_REQUEST = `${COMPONENT_PREFIX}#DATA_REQUEST`;\nexport const DATA_REQUEST_SUCCESS = `${COMPONENT_PREFIX}#DATA_REQUEST_SUCCESS`;\nexport const DATA_REQUEST_ERROR = `${COMPONENT_PREFIX}#DATA_REQUEST_ERROR`;\nexport const SET_VALUE = `${COMPONENT_PREFIX}#SET_VALUE`;\nconst pathToValue = 'payload.data.GlideLayout_Query.templateValueFieldsQuery';\nconst addedPayloadPath = 'meta.options.templateVars.addedPayload';\nconst WORKSPACE_TYPES = Object.keys(FIELD_TYPE).map(key => FIELD_TYPE[key]);\n\nexport const getFieldsHaveErrorMessage = () => {\n\tconst message = t('Form template has an error in one of its fields');\n\treturn {\n\t\ttype: 'error',\n\t\tmessage\n\t};\n};\nexport const getFieldWithError = fieldValues =>\n\tfind(fieldValues, f => find(f.formControlProps.messages, ['type', 'error']));\n\nexport const calculatedFieldError = newFieldValues =>\n\tgetFieldWithError(newFieldValues) ? getFieldsHaveErrorMessage() : undefined;\n\nexport const serializeValue = (value, type) => {\n\tif (type === 'boolean') return isAttrTrue(value) ? 'true' : 'false';\n\tif (value === undefined) return '';\n\tif (typeof value === 'string') return value.replace(/\\^/g, '^^');\n\treturn value;\n};\n\nexport const constructValue = (fieldValues = []) => {\n\tconst serializedValues = fieldValues\n\t\t.map(field => ({\n\t\t\t...field,\n\t\t\tformControlProps: {\n\t\t\t\t...field.formControlProps,\n\t\t\t\tvalue: serializeValue(field.formControlProps.value, field.type)\n\t\t\t}\n\t\t}))\n\t\t.filter(field => field.formControlProps.value) // Ensure only fields with values are considered\n\t\t.map(\n\t\t\tfield =>\n\t\t\t\t(field.path || field.fieldName) + '=' + field.formControlProps.value\n\t\t)\n\t\t.join('^');\n\n\treturn serializedValues ? serializedValues.concat('^EQ') : ''; // Return '' if no values exist\n};\n\n/**\n * Creates object that both has things the choice field needs and the formControl needs\n * the control stuff should be separate from the choice stuff. They share the need for displayValue\n * @param {object} field props from the choice-search stuff\n * @param {object} fieldData dictionary data from gql response\n * @param {object} properties the props given to template-value from forms\n */\nexport const createField = (field, fieldData, properties) => ({\n\tdisplayValue: field.fieldLabel,\n\tfieldName: field.fieldName,\n\tfieldLabel: field.fieldLabel,\n\tformControlProps: {\n\t\t...omit(fieldData.formControlProps, ['dictionary']),\n\t\t...omit(fieldData.formControlProps.dictionary, ['attributes']),\n\t\t...pick(properties, ['referringRecordId', 'referringTable']),\n\t\tvalue:\n\t\t\tfield.formControlProps.value != ''\n\t\t\t\t? field.formControlProps.value\n\t\t\t\t: undefined,\n\t\tdisplayValue: field.formControlProps.displayValue\n\t\t\t? field.formControlProps.displayValue\n\t\t\t: '' //different then the displayValue need for choice-search\n\t},\n\tdictionary: {\n\t\treference: fieldData.formControlProps.reference\n\t},\n\ttype: fieldData.formControlProps.dictionary.type,\n\tpath: field.fieldName,\n\tshouldHide: field.shouldHide\n});\n\nexport const callOnValueChange = ({\n\tname,\n\tvalue,\n\tonValueChange,\n\terror,\n\tdispatch\n}) => {\n\tif (isFunction(onValueChange)) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'template-value' }\n\t\t});\n\t\tadaptCallbackForLegacyAPI(onValueChange)({ name, value, error });\n\t}\n};\n\nexport const convertChoiceToFieldValue = (choice, properties) =>\n\tcreateField(\n\t\t{\n\t\t\t...choice,\n\t\t\tfieldName: choice.formControlProps.dictionary.name,\n\t\t\tfieldLabel: choice.formControlProps.dictionary.label,\n\t\t\tpath: choice.id\n\t\t},\n\t\tchoice,\n\t\tproperties\n\t);\n\nexport const editExistingField = (\n\tpayload,\n\tfieldValues,\n\tallChoices,\n\tproperties\n) =>\n\tfieldValues.map(element => {\n\t\tconst choosenField = find(allChoices, ({ id }) => payload.path === id);\n\t\tif (choosenField && element.path === payload.identifier) {\n\t\t\treturn convertChoiceToFieldValue(\n\t\t\t\t{\n\t\t\t\t\t...choosenField\n\t\t\t\t},\n\t\t\t\tproperties\n\t\t\t);\n\t\t} else {\n\t\t\treturn element;\n\t\t}\n\t});\n\nexport const updateConsumerAndState = ({\n\tname,\n\tnewFieldValues,\n\tonValueChange,\n\tchoices,\n\tupdateState,\n\tdispatch,\n\terror,\n\tallChoices,\n\tisUnsupportedField\n}) => {\n\tconst updatedValue = constructValue(newFieldValues);\n\n\tcallOnValueChange({\n\t\tname,\n\t\tvalue: updatedValue,\n\t\tonValueChange,\n\t\terror,\n\t\tdispatch\n\t});\n\n\tdispatch(SET_VALUE, { name, value: updatedValue, error });\n\tconst newState = { fieldValues: newFieldValues, value: updatedValue };\n\tif (isUnsupportedField) {\n\t\tnewState.allChoices = allChoices;\n\t}\n\tif (choices) newState.choices = choices;\n\tupdateState(newState);\n};\n\n/**\n * Take all the fields set on the template value field already and build out\n * the component props from the list of fields\n * @param {Object} param0\n * @returns {Object[]}\n */\nexport const allNewData = ({ valuesList, fields, properties }) =>\n\tvaluesList.map((field, index) => {\n\t\tconst leftHandSideProps = {\n\t\t\tfieldLabel: field.fieldLabel,\n\t\t\tfieldName: field.fieldName,\n\t\t\tshouldHide: field.shouldHide,\n\t\t\tformControlProps: { value: field.value, displayValue: field.displayValue }\n\t\t};\n\t\treturn createField(\n\t\t\tleftHandSideProps,\n\t\t\t{ formControlProps: fields[index] },\n\t\t\tproperties\n\t\t);\n\t});\n\nexport const cleanUpChoices = ({ fieldValues, allChoices = [] }) => {\n\tconst alreadySelected = fieldValues.map(field => field.path);\n\treturn uniqBy(\n\t\tallChoices\n\t\t\t.filter(({ shouldHide }) => !shouldHide)\n\t\t\t.filter(({ id }) => !alreadySelected.includes(id))\n\t\t\t.filter(({ type }) => WORKSPACE_TYPES.includes(type))\n\t\t\t.reverse(),\n\t\tfield => {\n\t\t\treturn field.id;\n\t\t}\n\t).reverse();\n};\n\nexport const filterOutTypeChangedValues = ({\n\tnewFieldValues,\n\toldFieldValues = []\n}) => {\n\tconst listOfPreviousTypes = oldFieldValues.reduce((prev, field) => {\n\t\treturn { ...prev, [field.fieldName]: field.type };\n\t}, {});\n\treturn newFieldValues.filter(field => {\n\t\tconst oldType = listOfPreviousTypes[field.fieldName];\n\t\treturn typeof oldType === 'undefined' || oldType === field.type;\n\t});\n};\n\nexport const dataRequestGraphQL = createGraphQLEffect(\n\trequestForTypesAndMetaData,\n\t{\n\t\ttemplateVarList: ['addedPayload'],\n\t\tvariableList: [\n\t\t\t'isPartial',\n\t\t\t'fieldName',\n\t\t\t'queryString',\n\t\t\t'recordSysId',\n\t\t\t'serializedChanges',\n\t\t\t'encodedRecord',\n\t\t\t'referringTable'\n\t\t],\n\t\tsuccessActionType: DATA_REQUEST_SUCCESS,\n\t\terrorActionType: DATA_REQUEST_ERROR\n\t}\n);\n\nexport default {\n\t[FIELD_SELECTION_PATH_UPDATE]: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst payload = action.payload;\n\t\tconst { fieldValues, allChoices } = state;\n\t\tconst { onValueChange, name } = properties;\n\n\t\tlet newFieldValues;\n\t\tif (payload.identifier === 'newFieldCreator') {\n\t\t\tconst choice = find(allChoices, function ({ displayValue }) {\n\t\t\t\treturn displayValue === payload.fieldLabel;\n\t\t\t});\n\t\t\tconst fieldValue = convertChoiceToFieldValue(\n\t\t\t\t//Should be an empty displayValue when a new row is being added\n\t\t\t\t{\n\t\t\t\t\t...choice,\n\t\t\t\t\tformControlProps: {\n\t\t\t\t\t\t...choice.formControlProps,\n\t\t\t\t\t\tdisplayValue: '',\n\t\t\t\t\t\tvalue: ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tproperties\n\t\t\t);\n\t\t\tnewFieldValues = [...fieldValues, fieldValue];\n\t\t\tupdateState({ showNewTemplateRow: false });\n\t\t} else {\n\t\t\tnewFieldValues = editExistingField(\n\t\t\t\tpayload,\n\t\t\t\tfieldValues,\n\t\t\t\tallChoices,\n\t\t\t\tproperties\n\t\t\t);\n\t\t}\n\n\t\tupdateConsumerAndState({\n\t\t\tname,\n\t\t\tnewFieldValues,\n\t\t\tonValueChange,\n\t\t\tchoices: cleanUpChoices({ fieldValues: newFieldValues, allChoices }),\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\terror: calculatedFieldError(newFieldValues)\n\t\t});\n\t},\n\t[DATA_REQUEST]: effectProxy(dataRequestGraphQL),\n\t[DATA_REQUEST_SUCCESS]: ({\n\t\taction,\n\t\tupdateState,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch\n\t}) => {\n\t\tconst identifier = get(action, addedPayloadPath + '.identifiers[0]');\n\t\tconst valuesList = get(action, pathToValue + '.valuesList');\n\t\tconst fields = get(action, pathToValue + '.fields');\n\t\tconst tableName = get(action, pathToValue + '.tableName');\n\n\t\tif (!tableName || isEmpty(fields)) {\n\t\t\tupdateState({\n\t\t\t\tfieldValues: [],\n\t\t\t\tisLoading: false,\n\t\t\t\tisLoadingNewField: false,\n\t\t\t\ttempNewFieldLabel: undefined,\n\t\t\t\ttable: ''\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tlet fieldValues;\n\t\tconst mapArgs = {\n\t\t\tvaluesList,\n\t\t\toldFieldValues: state.fieldValues,\n\t\t\tidentifier,\n\t\t\tnewValue: valuesList[0],\n\t\t\tnewFieldData: fields[0],\n\t\t\tproperties,\n\t\t\tfields\n\t\t};\n\n\t\t// is full data reset\n\t\tconst newFieldValues = allNewData(mapArgs);\n\t\tfieldValues = filterOutTypeChangedValues({\n\t\t\tnewFieldValues,\n\t\t\toldFieldValues: state.fieldValues\n\t\t});\n\t\tconst newChoices = fields.map(field => ({\n\t\t\tformControlProps: { ...field },\n\t\t\tid: field.dictionary.name,\n\t\t\tdisplayValue: field.dictionary.label, //SNChoiceSearchDropdown takes the label as a displayValue :(\n\t\t\ttype: field.dictionary.type,\n\t\t\tdisplay: true\n\t\t}));\n\t\tconst isValueRemovedBecauseOfTypeChange =\n\t\t\tnewFieldValues.length > fieldValues.length;\n\t\tif (isValueRemovedBecauseOfTypeChange) {\n\t\t\t// We must let the parent component know we removed values\n\t\t\tupdateConsumerAndState({\n\t\t\t\tname: properties.name,\n\t\t\t\tchoices: cleanUpChoices({ fieldValues, allChoices: newChoices }),\n\t\t\t\tnewFieldValues: fieldValues,\n\t\t\t\tonValueChange: properties.onValueChange,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\terror: calculatedFieldError(newFieldValues)\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tisLoading: false,\n\t\t\ttable: tableName,\n\t\t\tallChoices: newChoices,\n\t\t\tchoices: cleanUpChoices({ fieldValues, allChoices: newChoices })\n\t\t});\n\t\tupdateState({ fieldValues });\n\t},\n\t[DATA_REQUEST_ERROR]: ({ action, updateState }) => {\n\t\tconsole.error(action.payload);\n\t\tupdateState({\n\t\t\tfieldValues: [],\n\t\t\tisLoading: false,\n\t\t\tisLoadingNewField: false,\n\t\t\ttempNewFieldLabel: undefined,\n\t\t\ttable: ''\n\t\t});\n\t},\n\t[FIELD_VALUE_CHANGED]: ({\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction\n\t}) => {\n\t\tconst { value, displayValue, identifier, error } = action.payload;\n\t\tconst { name, onValueChange } = properties;\n\n\t\tconst newFieldValues = state.fieldValues.map(field =>\n\t\t\tfield.path === identifier\n\t\t\t\t? {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tformControlProps: {\n\t\t\t\t\t\t\t...field.formControlProps,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\t\tmessages: compact([error])\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t: field\n\t\t);\n\n\t\tupdateConsumerAndState({\n\t\t\tname,\n\t\t\tnewFieldValues,\n\t\t\tonValueChange,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\terror: calculatedFieldError(newFieldValues)\n\t\t});\n\t},\n\t['NOW_BUTTON#CLICKED']: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst { onValueChange, name } = properties;\n\t\tconst { identifier, intent, fieldName, isUnsupportedField } =\n\t\t\taction.payload;\n\n\t\tconst allChoices =\n\t\t\tisUnsupportedField && state.allChoices\n\t\t\t\t? state.allChoices.filter(choice => choice.id !== fieldName)\n\t\t\t\t: state.allChoices;\n\n\t\tif (intent === 'remove') {\n\t\t\tconst newFieldValues = state.fieldValues.filter(\n\t\t\t\tfield => field.path !== identifier\n\t\t\t);\n\n\t\t\tupdateConsumerAndState({\n\t\t\t\tname,\n\t\t\t\tchoices: cleanUpChoices({\n\t\t\t\t\tfieldValues: newFieldValues,\n\t\t\t\t\tallChoices: allChoices\n\t\t\t\t}),\n\t\t\t\tnewFieldValues,\n\t\t\t\tallChoices,\n\t\t\t\tisUnsupportedField,\n\t\t\t\tonValueChange,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\terror: calculatedFieldError(newFieldValues)\n\t\t\t});\n\t\t}\n\n\t\tif (intent === 'add') {\n\t\t\tupdateState({ showNewTemplateRow: true });\n\t\t}\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch, properties, updateState }) => {\n\t\tlet {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tformData: { encodedRecord },\n\t\t\treferringRecordId,\n\t\t\treferringTable\n\t\t} = properties;\n\n\t\tdispatch(DATA_REQUEST, {\n\t\t\tisPartial: false,\n\t\t\tqueryString: value,\n\t\t\tfieldName: name,\n\t\t\trecordSysId: referringRecordId,\n\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\tencodedRecord,\n\t\t\treferringTable\n\t\t});\n\t\tupdateState({\n\t\t\tisLoading: true,\n\t\t\tvalue\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { name, value, previousValue } = action.payload;\n\t\tconst {\n\t\t\treferringRecordId,\n\t\t\tvalue: queryString,\n\t\t\tname: fieldName,\n\t\t\tformData: { encodedRecord },\n\t\t\treferringTable\n\t\t} = properties;\n\n\t\t// short-circuit if the values are the same\n\t\tif (isEqual(value, previousValue)) return;\n\n\t\tconst isTemplateTableChanged = serializedChangesString => {\n\t\t\ttry {\n\t\t\t\tlet serializedChanges = JSON.parse(serializedChangesString);\n\n\t\t\t\tlet potentialChange = find(\n\t\t\t\t\tserializedChanges,\n\t\t\t\t\t({ name }) => name === properties.dependentField\n\t\t\t\t);\n\n\t\t\t\tif (!potentialChange) return false;\n\n\t\t\t\t// we want to fetch data only when the table changes\n\t\t\t\treturn potentialChange.value !== state.table;\n\t\t\t} catch (e) {\n\t\t\t\t/* fall through and return false */\n\t\t\t}\n\n\t\t\treturn false;\n\t\t};\n\n\t\tif (\n\t\t\tname === 'formData' &&\n\t\t\tisTemplateTableChanged(value.serializedChanges)\n\t\t) {\n\t\t\tdispatch(DATA_REQUEST, {\n\t\t\t\tisPartial: false,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tqueryString,\n\t\t\t\tfieldName,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord,\n\t\t\t\treferringTable\n\t\t\t});\n\t\t} else if (name === 'value' && !isEqual(state.value, value)) {\n\t\t\tdispatch(DATA_REQUEST, {\n\t\t\t\tisPartial: false,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tfieldName,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord,\n\t\t\t\tqueryString: value,\n\t\t\t\treferringTable\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tisLoading: true\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tliveUpdate: false\n\t\t\t});\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-loader';\nimport {\n\tfieldLayoutSchema,\n\tFIELD_TYPE,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-control-wrapper';\nimport actionHandlers from './actions';\nimport './field-selection';\nimport styles from './template-value.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-badge';\n\nexport const COMPONENT_NAME = 'sn-record-template-value-connected';\nconst WORKSPACE_TYPES = Object.keys(FIELD_TYPE).map(key => FIELD_TYPE[key]);\n\nexport const content = state => {\n\tconst {\n\t\tisLoadingNewField,\n\t\ttempNewFieldLabel,\n\t\ttable = '',\n\t\tchoices = [],\n\t\tshowNewTemplateRow\n\t} = state;\n\tconst { readonly, formData, label, referringTable } = state.properties;\n\tconst fieldValues = state.fieldValues || [];\n\tconst showBadge = referringTable == 'sys_template' ? true : false;\n\treturn (\n\t\t<Fragment>\n\t\t\t{fieldValues.map((field, index) => (\n\t\t\t\t<sn-record-template-value-field-selection\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label\n\t\t\t\t\t}}\n\t\t\t\t\tfieldName={field.fieldName}\n\t\t\t\t\tfieldLabel={field.fieldLabel}\n\t\t\t\t\tfieldProps={field.formControlProps}\n\t\t\t\t\tchoices={choices}\n\t\t\t\t\tdisplayValue={field.displayValue}\n\t\t\t\t\tisLoading={field.isLoading}\n\t\t\t\t\tmessages={field.formControlProps.messages}\n\t\t\t\t\ttype={field.type}\n\t\t\t\t\tpath={field.path}\n\t\t\t\t\ttable={table}\n\t\t\t\t\tpadBottom={true}\n\t\t\t\t\tkey={`field-selection-${index}`}\n\t\t\t\t\tidentifier={field.path || field.fieldName}\n\t\t\t\t\tisUnsupportedField={isUnsupported(field)}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tisLastTemplateRow={index == fieldValues.length - 1 ? true : false}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tshowBadge={showBadge}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{showNewTemplateRow || isEmpty(fieldValues) ? (\n\t\t\t\t<sn-record-template-value-field-selection\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label\n\t\t\t\t\t}}\n\t\t\t\t\tfieldLabel={tempNewFieldLabel}\n\t\t\t\t\tchoices={choices}\n\t\t\t\t\tisNewField={true}\n\t\t\t\t\tisLoading={isLoadingNewField}\n\t\t\t\t\t// maintain consistent key to help maintain tab order when adding new field\n\t\t\t\t\tkey={`field-selection-${fieldValues.length}`}\n\t\t\t\t\tidentifier=\"newFieldCreator\"\n\t\t\t\t\ttable={table}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tformData={formData}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nconst loading = () => (\n\t<div>\n\t\t<now-loader />\n\t<\/div>\n);\n\nexport const view = state => {\n\tconst { isLoading, properties } = state;\n\tconst {\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{isLoading ? loading() : content(state)}\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport function isDotWalk(field) {\n\treturn field.path.indexOf('.') > -1;\n}\n\nexport function isUnsupported(field) {\n\treturn (\n\t\t!WORKSPACE_TYPES.includes(field.type) ||\n\t\tisDotWalk(field) ||\n\t\tfield.shouldHide\n\t);\n}\n\n/**\n * This component allows you to collect and display field values for a given\n * table. These feilds can include dot walked fields. The values are local to\n * this component and not association with a record on the target table. This\n * field is meant to have a dependent field such as\n * `sn-record-tablename-connected` that provides the `table` name. This field\n * is also created to live in the form and not for general use.\n *\n * ```jsx\n * <sn-record-template-value-connected\n *   dependentField: 'table',\n *   dependentFieldValue: 'problem'\n * />\n * ```\n *\n * @seismicElement sn-record-template-value-connected\n * @summary Allows user to save multiple values and fields that corresponds with\n *  a tables field types. It also includes dot walked fields.\n */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tfieldValues: [],\n\t\tisLoading: false,\n\t\tisLoadingNewField: false,\n\t\ttable: '',\n\t\tshowNewRow: false\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Name identifier for the component.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The label to display over the component.\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of all the fields inside this components. This is a string dilimtad by `^` chars.\n\t\t * @type {any}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The field whose value drives this component's table\n\t\t */\n\t\tdependentField: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the template value field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is the table for the record that has the template value field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is a call back function that comes from forms. It is called when a value changes in the field.\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * This is a call back function that comes from forms. This should be called as the user types but can cause performance issues if over used.\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\tmessages: {},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","//TableName Metadata GraphQL\nexport const FETCH_METADATA = 'TABLE_NAME_FETCH_METADATA';\nexport const FETCH_METADATA_SUCCESS = 'TABLE_NAME_FETCH_METADATA_SUCCESS';\nexport const FETCH_METADATA_FAILURE = 'TABLE_NAME_FETCH_METADATA_FAILURE';\n","import { get } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { TABLE_LABEL_QUERY } from './query';\nimport { FETCH_METADATA_SUCCESS, FETCH_METADATA_FAILURE } from './constants';\n\nexport const fetchTableMetaEffect = createGraphQLEffect(TABLE_LABEL_QUERY, {\n\ttemplateVarList: ['tableName'],\n\tsuccessActionType: FETCH_METADATA_SUCCESS,\n\terrorActionType: FETCH_METADATA_FAILURE\n});\n\nexport const fetchTableMetaSuccessEffect = ({\n\tstate: {\n\t\tproperties: { value: tableName, liveUpdate }\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst displayValue = get(\n\t\tpayload,\n\t\t`data.GlideRecord_Query.${tableName}._table_metadata.label`\n\t);\n\tupdateState({\n\t\tliveUpdate,\n\t\tstateDisplayValue: displayValue ? displayValue : '',\n\t\tstateValue: tableName ? tableName : null\n\t});\n};\n\nexport const fetchTableMetaFailureEffect = ({\n\tstate: {\n\t\tproperties: { value }\n\t},\n\tupdateState\n}) => {\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false,\n\t\tstateDisplayValue: value\n\t});\n};\n","export const TABLE_LABEL_QUERY = `{\n    GlideRecord_Query {\n      {{tableName}} {\n        _table_metadata {\n          label\n        }\n      }\n    }\n  }`;\n\nexport const TABLE_LIST_QUERY = `\n  query (\n    $chars: String!, $paginationLimit: Int, $paginationOffset: Int,\n    $shortList: Boolean,\n    $canRead: Boolean,\n    $includeDefault: Boolean,\n    $selectedOnly: Boolean,\n    $selectedField: String,\n    $selected: String,\n    $noViews: Boolean,\n    $noSystemTables: Boolean,\n    $filterEntitledTables: Boolean,\n    $tableName: String,\n    $fieldName: String,\n    $showTableNames: Boolean,\n    $showTableNamesOnLabel: Boolean,\n    $tableChoicesScript: String,\n    $skipRoot: Boolean,\n    $baseTable: String,\n    $recordSysId: String!,\n    $serializedChanges: String!,\n    $encodedRecord: String!,\n    $allowPublic: Boolean,\n    $skipScopeRestrictions: Boolean,\n    $includeDocumentTables: Boolean,\n    $scopeId: String\n    ) {\n    GlideLayout_Query {\n      tableChoiceListRetriever(\n        chars: $chars,\n        pagination: {limit: $paginationLimit, offset: $paginationOffset},\n        shortList: $shortList,\n        canRead: $canRead,\n        includeDefault: $includeDefault,\n        selectedOnly: $selectedOnly,\n        selectedField: $selectedField,\n        selected: $selected,\n        noViews: $noViews,\n        noSystemTables: $noSystemTables,\n        filterEntitledTables: $filterEntitledTables,\n        tableName: $tableName,\n        fieldName: $fieldName,\n        showTableNames:$showTableNames,\n        showTableNamesOnLabel: $showTableNamesOnLabel,\n        tableChoicesScript:$tableChoicesScript,\n        skipRoot:$skipRoot,\n        baseTable:$baseTable,\n        recordSysId:$recordSysId,\n        serializedChanges:$serializedChanges,\n        encodedRecord:$encodedRecord,\n        allowPublic:$allowPublic,\n        skipScopeRestrictions:$skipScopeRestrictions,\n        includeDocumentTables:$includeDocumentTables,\n        scopeId:$scopeId\n      ) {\n        tableNames {\n          value\n          displayValue\n        }\n      }\n    }\n  }\n  `;\n","import { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport { TABLE_LIST_QUERY } from './query';\n\nimport {\n\tFETCH_METADATA,\n\tFETCH_METADATA_SUCCESS,\n\tFETCH_METADATA_FAILURE\n} from './constants';\n\nimport {\n\tfetchTableMetaEffect,\n\tfetchTableMetaSuccessEffect,\n\tfetchTableMetaFailureEffect\n} from './effects';\n\nlet variableList = [\n\t'chars',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'shortList',\n\t'canRead',\n\t'includeDefault',\n\t'selectedOnly',\n\t'selectedField',\n\t'selected',\n\t'noViews',\n\t'noSystemTables',\n\t'filterEntitledTables',\n\t'tableName',\n\t'fieldName',\n\t'showTableNames',\n\t'showTableNamesOnLabel',\n\t'tableChoicesScript',\n\t'skipRoot',\n\t'baseTable',\n\t'recordSysId',\n\t'serializedChanges',\n\t'encodedRecord',\n\t'allowPublic',\n\t'skipScopeRestrictions',\n\t'scopeId',\n\t'includeDocumentTables'\n];\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tTABLE_LIST_QUERY,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t[FETCH_METADATA]: {\n\t\teffect: effectProxy(fetchTableMetaEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_METADATA_SUCCESS]: {\n\t\teffect: fetchTableMetaSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_METADATA_FAILURE]: {\n\t\teffect: fetchTableMetaFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t...queryBaseActionHandlersData.actionHandlers\n};\n","import { omit, get, map, isEqual } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { actionTypes } from '@servicenow/ui-core';\nimport { FETCH_METADATA } from './constants';\n\nimport {\n\tgetEncodedRecord,\n\tgetSerializedChanges,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\nimport actionHandlers from './actionHandlers';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst getVariables = state => inputVal => {\n\tconst {\n\t\tname,\n\t\ttableName,\n\t\tvalue,\n\t\tresultLimit,\n\t\tdictionaryAttributes = {},\n\t\tformData = {},\n\t\treferringRecordId,\n\t\tscopeId\n\t} = state.properties;\n\n\treturn {\n\t\tpaginationLimit: resultLimit,\n\t\tchars: inputVal.length > 0 ? inputVal : '**',\n\t\tshortList: dictionaryAttributes.shortList,\n\t\tcanRead: dictionaryAttributes.canRead,\n\t\tincludeDefault: dictionaryAttributes.includeDefault,\n\t\tselectedOnly: dictionaryAttributes.selectedOnly,\n\t\tnoViews: dictionaryAttributes.noViews,\n\t\tnoSystemTables: dictionaryAttributes.noSystemTables,\n\t\tfilterEntitledTables: dictionaryAttributes.filterEntitledTables,\n\t\tskipScopeRestrictions: dictionaryAttributes.skipScopeRestrictions,\n\t\ttableName: tableName,\n\t\tfieldName: name,\n\t\tselectedField: `${tableName}.${name}`,\n\t\tselected: value || '',\n\t\tshowTableNames: dictionaryAttributes.showTableNames,\n\t\tshowTableNamesOnLabel: dictionaryAttributes.showTableNamesOnLabel,\n\t\ttableChoicesScript: dictionaryAttributes.tableChoicesScript,\n\t\tskipRoot: dictionaryAttributes.skipRoot,\n\t\tbaseTable: dictionaryAttributes.baseTable,\n\t\trecordSysId: referringRecordId || '',\n\t\tserializedChanges: getSerializedChanges(state.properties),\n\t\tencodedRecord: getEncodedRecord(formData),\n\t\tallowPublic: dictionaryAttributes.allowPublic,\n\t\tincludeDocumentTables: dictionaryAttributes.includeDocumentTables,\n\t\tscopeId\n\t};\n};\n\nexport const view = (state, { dispatch }) => {\n\tconst mapResults = data => {\n\t\tlet results = get(data, 'GlideLayout_Query.tableChoiceListRetriever', {});\n\t\treturn {\n\t\t\toptions: map(results.tableNames, t => ({\n\t\t\t\t...t,\n\t\t\t\tsecondary: [t.value]\n\t\t\t}))\n\t\t};\n\t};\n\n\tconst {\n\t\tresults,\n\t\tisSearching,\n\t\tsearchUsingStartsWith,\n\t\tsearchOnClick,\n\t\tname,\n\t\thighlightedValue,\n\t\tdecorations,\n\t\tsearchCancelable\n\t} = state.properties;\n\n\tconst additionalProps = omit(state.properties, [\n\t\t'resultLimit',\n\t\t'displayValue',\n\t\t'value'\n\t]);\n\n\tconst onValueChangeWithTracking = args => {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: name,\n\t\t\t\tfieldType: 'sn-record-tablename-connected'\n\t\t\t}\n\t\t});\n\t\tadaptCallbackForLegacyAPI(state.properties.onValueChange)(args);\n\t};\n\n\treturn (\n\t\t<sn-glide-query-base\n\t\t\t{...additionalProps}\n\t\t\tvalue={state.stateValue}\n\t\t\tdisplayValue={state.stateDisplayValue}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results} // results was created from createUpdateStateEffect\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables(state)}\n\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\tsearchOnClick={searchOnClick}\n\t\t\tonValueChange={onValueChangeWithTracking}\n\t\t\tincludeHeaders={false}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tdecorations={decorations}\n\t\t\tsearchCancelable={searchCancelable}\n\t\t/>\n\t);\n};\n\nexport const connectedTableNameActionHandlers = {\n\t...actionHandlers,\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { value, displayValue },\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\tif (value && displayValue === value) {\n\t\t\tdispatch(FETCH_METADATA, { tableName: value });\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: displayValue,\n\t\t\t\tstateValue: value\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst { name, value } = action.payload;\n\t\t// this is when a normal value change occurs with no new live update\n\t\tif (\n\t\t\t(name === 'value' && value !== state.stateValue) ||\n\t\t\t(name === 'displayValue' &&\n\t\t\t\tvalue !== state.stateDisplayValue &&\n\t\t\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value))\n\t\t) {\n\t\t\tif (properties.value && properties.value === properties.displayValue) {\n\t\t\t\tdispatch(FETCH_METADATA, { tableName: value });\n\t\t\t\tupdateState({\n\t\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tstateDisplayValue: properties.displayValue,\n\t\t\t\t\tstateValue: properties.value\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// if a new live update occurs, dispatch to find displayValue and wait\n\t\telse if (\n\t\t\tname === 'liveUpdate' &&\n\t\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\t\tproperties.value &&\n\t\t\t!value.isUserModified\n\t\t) {\n\t\t\tdispatch(FETCH_METADATA, { tableName: properties.value });\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t});\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tfieldFocusHandler,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport { connectedTableNameActionHandlers, view } from './view';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-record-tablename-connected', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tliveUpdate: undefined,\n\t\tstateDisplayValue: '',\n\t\tstateValue: null\n\t},\n\tactionHandlers: {\n\t\t...connectedTableNameActionHandlers,\n\t\t['SEISMIC_COMPONENT_ERROR_THROWN']: arg => {\n\t\t\tconsole.debug('COMPONENT_ERROR_THROWN', arg);\n\t\t}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\t/**\n\t\t * The field name\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name of table this field is on\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Dictionary attributes to set and configure the query for table names\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Name for the component.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The scope id used to query the table names\n\t\t */\n\t\tscopeId: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to show when a graphQL request is in progress\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * Value for current omponent.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t */\n\t\tresultLimit: { default: 25 },\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\t\tsearchUsingStartsWith: { default: true },\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t}\n});\n\ncreateCustomElement('sn-glide-query-base', {\n\tview: withValueChangeCallbacksView(GlideQueryBaseSeismic),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\n\t\t/**\n\t\t * Dictionary values and attributes for the field\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {},\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Function to get variables for datasource read.\n\t\t *\n\t\t * @param {String} input - The current value of the input\n\t\t * @return {Object?} variables - Variables passed to the datasource read\n\t\t * call. If this returns null/undefined, the read call will not be triggered.\n\t\t */\n\t\tgetVariables: {},\n\n\t\t/**\n\t\t * Maps the datasource result into arrays of options and recents, to be\n\t\t * displayed as choices in the dropdown.\n\t\t *\n\t\t * @param {Object} data - GraphQL result data\n\t\t * @return {Object} An object with the following shape:\n\t\t *\t @property {Array} recents\n\t\t *\t @property {Array} options\n\t\t *\n\t\t * Both `recents` and `options` should have the following shape:\n\t\t * @property {any} value - The underlying value for the item\n\t\t * @property {String} displayValue - User-friendly display for the item\n\t\t */\n\t\tmapResults: {\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t */\n\t\tdisableEmailFreeformEntry: { default: false },\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t */\n\t\tnoEmail: { default: false },\n\n\t\t/**\n\t\t * Callback to show record\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t */\n\t\thideReferenceIcon: { default: false },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * LiveUpdate info\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Flag to indicate the results are loading\n\t\t */\n\t\tisSearching: { default: false },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\n\t\tsearchUsingStartsWith: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to including the header of dropdown\n\t\t */\n\t\tincludeHeaders: {},\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @private\n\t\t */\n\t\tdisableTracking: {},\n\n\t\thighlightedValue: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: [\n\t\t{\n\t\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t],\n\tbehaviors: [trackBehavior, withValueChangeCallbackBehavior, queryBaseBehavior]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const query = `query ($parentTableName: String!, $fieldName: String!, $recordSysId: String!, $serializedChanges: String!, $encodedRecord: String!, $tableName: String!, $path: String!) {\n\tGlideLayout_Query {\n\t  fieldNameDataRetriever(parentTableName: $parentTableName, fieldName: $fieldName, recordSysId: $recordSysId, serializedChanges: $serializedChanges, encodedRecord: $encodedRecord, tableName: $tableName, path: $path) {\n\t\tfieldNamesList {\n\t\t  tableName\n\t\t  fieldNameData {\n\t\t\tvalue\n\t\t\tdisplayValue\n\t\t\tisFieldReferenceType\n\t\t\treferenceDataKey\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n  `;\n","export const FIELD_NAME = 'sn-record-fieldname-connected';\n\n//For Pop Over\nexport const POPOVER_OPENED = 'NOW_POPOVER#OPENED_SET';\n\n//For Dot Walk\nexport const DOT_WALK_PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const DOT_WALK_BREADCRUMB_PATH_UPDATED =\n\t'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\n\n//Field Name\nexport const FIELD_NAME_PATH_UPDATE = `${FIELD_NAME}#PATH_UPDATED`;\nexport const FIELD_NAME_VALUE_CHANGED = `${FIELD_NAME}#VALUE_CHANGED`;\nexport const DEPENDENT_FIELD_VALUE = 'dependentFieldValue';\nexport const LIVE_UPDATE = 'liveUpdate';\n\n//Field Name GraphQL\nexport const FETCH_DATA = 'FIELD_NAME_FETCH_DATA';\nexport const FETCH_DATA_SUCCESS = 'FIELD_NAME_FETCH_DATA_SUCCESS';\nexport const FETCH_DATA_FAILURE = 'FIELD_NAME_FETCH_DATA_FAILURE';\nexport const FETCH_LEAF_DATA = 'FIELD_NAME_FETCH_LEAF_DATA';\nexport const FETCH_LEAF_DATA_SUCCESS = 'FIELD_NAME_FETCH_LEAF_DATA_SUCCESS';\nexport const FETCH_LEAF_DATA_FAILURE = 'FIELD_NAME_FETCH_LEAF_DATA_FAILURE';\nexport const FIELDS_NAMES_RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameDataRetriever.fieldNamesList';\n","import { t } from 'sn-translate';\nimport { get, isEqual, isEmpty } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { query } from './query';\nimport {\n\tgetEncodedRecord,\n\tisAttrTrue,\n\tgetSerializedChanges,\n\tadaptCallbackForLegacyAPI,\n\tconstructDataModel,\n\ttransformFieldNameMetadata,\n\tgetFieldNameValue,\n\tgetFieldNameDisplayValue\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tFETCH_DATA,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_FAILURE,\n\tFETCH_LEAF_DATA,\n\tFETCH_LEAF_DATA_SUCCESS,\n\tFETCH_LEAF_DATA_FAILURE,\n\tLIVE_UPDATE,\n\tFIELDS_NAMES_RESULTS_PATH\n} from './constants';\n\nexport const componentBootstrappedHandler = ({\n\tupdateState,\n\tproperties: {\n\t\tvalue,\n\t\tdisplayValue,\n\t\tdisplayValueWithPath,\n\t\tdictionaryAttributes: { allowDotWalking = false }\n\t}\n}) => {\n\tupdateState({\n\t\tstateDisplayValue:\n\t\t\tallowDotWalking && value.includes('.')\n\t\t\t\t? displayValueWithPath\n\t\t\t\t: displayValue,\n\t\tstateValue: value\n\t});\n};\n\nexport const nowPopOverOpenedEffect = ({\n\tstate,\n\tproperties,\n\tdispatch,\n\taction,\n\tupdateState\n}) => {\n\tconst { value: opened } = action.payload;\n\tconst { readonly, dependentValue } = state.properties;\n\tconst isReadOnly = isAttrTrue(readonly) || isEmpty(dependentValue);\n\n\tif (!isAttrTrue(isReadOnly)) {\n\t\tif (opened) {\n\t\t\tlet {\n\t\t\t\tname,\n\t\t\t\treferringRecordId,\n\t\t\t\tformData = {},\n\t\t\t\treferringTable: parentTableName,\n\t\t\t\tdependentFieldValue: tableName,\n\t\t\t\tvalue: path = ''\n\t\t\t} = state.properties;\n\n\t\t\tconst payload = {\n\t\t\t\tparentTableName,\n\t\t\t\tfieldName: name,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord: getEncodedRecord(formData),\n\t\t\t\ttableName,\n\t\t\t\tpath\n\t\t\t};\n\n\t\t\tdispatch(FETCH_DATA, payload);\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\topened: opened\n\t\t\t});\n\t\t}\n\t} else {\n\t\tupdateState({\n\t\t\topened: false\n\t\t});\n\t}\n};\n\nexport const dotWalkLeafHandler = ({\n\taction: {\n\t\tpayload: { referenceSource, fieldName, displayValue, source, pathIndex }\n\t},\n\tdispatch,\n\tupdateState,\n\tstate: {\n\t\tproperties: {\n\t\t\tname,\n\t\t\treferringRecordId,\n\t\t\tformData = {},\n\t\t\treferringTable: parentTableName\n\t\t},\n\t\tdataModel\n\t},\n\tproperties\n}) => {\n\tconst { path } = dataModel;\n\n\tlet updatedPath;\n\n\tif (pathIndex > path.length - 1) {\n\t\tupdatedPath = [...path, { displayValue, field: fieldName, parent: source }];\n\t} else {\n\t\tupdatedPath = path.slice(0, pathIndex + 1);\n\t\tconst lastUpdatedPathItem = updatedPath[updatedPath.length - 1];\n\t\tlastUpdatedPathItem.field = fieldName;\n\t\tlastUpdatedPathItem.displayValue = displayValue;\n\t}\n\tupdateState({\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource: referenceSource\n\t\t}\n\t});\n\n\tconst payload = {\n\t\tparentTableName,\n\t\tfieldName: name,\n\t\trecordSysId: referringRecordId,\n\t\tserializedChanges: getSerializedChanges(properties),\n\t\tencodedRecord: getEncodedRecord(formData),\n\t\ttableName: referenceSource,\n\t\tpath: ''\n\t};\n\tdispatch(FETCH_LEAF_DATA, payload);\n};\n\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: [\n\t\t'parentTableName',\n\t\t'fieldName',\n\t\t'recordSysId',\n\t\t'serializedChanges',\n\t\t'encodedRecord',\n\t\t'tableName',\n\t\t'path'\n\t],\n\tsuccessActionType: FETCH_DATA_SUCCESS,\n\terrorActionType: FETCH_DATA_FAILURE\n});\n\nexport const fetchSuccessEffect = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: {\n\t\t\tvalue: pathValue,\n\t\t\tleafPathSource,\n\t\t\tdictionaryAttributes: { allowDotWalking = false, referenceTypes },\n\t\t\tdependentFieldValue: tableName,\n\t\t\tliveUpdate: propertiesLiveUpdate\n\t\t},\n\t\tliveUpdate: stateLiveUpdate\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst results = get(payload, FIELDS_NAMES_RESULTS_PATH);\n\n\tconst dataModelConstructed = constructDataModel(\n\t\tresults,\n\t\ttableName,\n\t\tpathValue,\n\t\tleafPathSource,\n\t\treferenceTypes,\n\t\tallowDotWalking\n\t);\n\n\tlet dataModelToUpdate = {\n\t\tdataModel: dataModelConstructed,\n\t\topened: !!(dataModelConstructed.metadata && dataModelConstructed.path),\n\t\terror: null\n\t};\n\tif (dataModel) {\n\t\tdataModelToUpdate = {\n\t\t\tdataModel: {\n\t\t\t\t...dataModel,\n\t\t\t\tmetadata: {\n\t\t\t\t\t...dataModel.metadata,\n\t\t\t\t\t...dataModelConstructed.metadata\n\t\t\t\t},\n\t\t\t\tpath: dataModelConstructed.path,\n\t\t\t\tleafPathSource: dataModelConstructed.leafPathSource\n\t\t\t},\n\t\t\topened: !!(dataModelConstructed.metadata && dataModelConstructed.path),\n\t\t\terror: null\n\t\t};\n\t}\n\n\t//liveUpdate from state\n\tif (!isEqual(stateLiveUpdate, propertiesLiveUpdate)) {\n\t\tconst path = dataModelConstructed.path || [];\n\t\tconst value = getFieldNameValue(path);\n\t\tconst displayValue = getFieldNameDisplayValue(path);\n\n\t\tdataModelToUpdate = {\n\t\t\t...dataModelToUpdate,\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tstateValue: value,\n\t\t\tliveUpdate: propertiesLiveUpdate,\n\t\t\topened: false\n\t\t};\n\t}\n\n\tupdateState(dataModelToUpdate);\n};\n\nexport const fetchFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t},\n\tupdateState\n}) => {\n\tlet errorMessage = t('Unable to fetch Field . Please try again');\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false\n\t});\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const fetchLeafEffect = createGraphQLEffect(query, {\n\tvariableList: [\n\t\t'parentTableName',\n\t\t'fieldName',\n\t\t'recordSysId',\n\t\t'serializedChanges',\n\t\t'encodedRecord',\n\t\t'tableName',\n\t\t'path'\n\t],\n\tsuccessActionType: FETCH_LEAF_DATA_SUCCESS,\n\terrorActionType: FETCH_LEAF_DATA_FAILURE\n});\n\nexport const fetchLeafSuccessEffect = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: {\n\t\t\tleafPathSource,\n\t\t\tdictionaryAttributes: { referenceTypes, allowDotWalking = false }\n\t\t}\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst results = get(payload, FIELDS_NAMES_RESULTS_PATH) || [];\n\n\tconst metadataConstructed = transformFieldNameMetadata(\n\t\tresults,\n\t\treferenceTypes,\n\t\tallowDotWalking\n\t);\n\n\tlet dataModelToUpdate = {\n\t\tdataModel: {\n\t\t\tmetadata: metadataConstructed,\n\t\t\tpath: [],\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t};\n\tif (dataModel) {\n\t\tdataModelToUpdate = {\n\t\t\tdataModel: {\n\t\t\t\t...dataModel,\n\t\t\t\tmetadata: {\n\t\t\t\t\t...dataModel.metadata,\n\t\t\t\t\t...metadataConstructed\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: null\n\t\t};\n\t}\n\tupdateState(dataModelToUpdate);\n};\n\nexport const fetchLeafFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t}\n}) => {\n\tlet errorMessage = t('Unable to fetch reference Fields. Please try again');\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const pathUpdatedHandler = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: { onValueChange, name }\n\t},\n\taction: {\n\t\tpayload: { path }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tconst updatedPath = path || [];\n\tlet leafPathSource = '';\n\tif (updatedPath.length === 0) {\n\t\tleafPathSource = dataModel.path[0].parent;\n\t}\n\n\tupdateState({\n\t\topened: false,\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t});\n\n\tconst value = getFieldNameValue(path);\n\tconst displayValue = getFieldNameDisplayValue(path);\n\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue\n\t\t});\n\t}\n\n\tdispatch('TRACK', {\n\t\tmetaData: {\n\t\t\tname: name,\n\t\t\tfieldType: 'sn-record-fieldname-connected'\n\t\t}\n\t});\n};\n\nexport const updateBreadCrumbHandler = ({\n\tstate: { dataModel },\n\taction: {\n\t\tpayload: { path }\n\t},\n\tupdateState\n}) => {\n\tconst updatedPath = path || [];\n\tlet leafPathSource = null;\n\tif (updatedPath.length === 0) {\n\t\tleafPathSource = dataModel.path[0].parent;\n\t}\n\n\tupdateState({\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t});\n};\n\nexport const propertyChangeHandler = ({\n\tstate,\n\taction,\n\tupdateState,\n\tproperties,\n\tdispatch\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty, value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value)\n\t) {\n\t\tupdateState({\n\t\t\tstateDisplayValue: properties.displayValue,\n\t\t\tstateValue: properties.value\n\t\t});\n\t} else if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tlet {\n\t\t\tname,\n\t\t\treferringRecordId,\n\t\t\tformData = {},\n\t\t\treferringTable: parentTableName,\n\t\t\tdependentFieldValue: tableName,\n\t\t\tvalue: path = ''\n\t\t} = state.properties;\n\n\t\tconst payload = {\n\t\t\tparentTableName,\n\t\t\tfieldName: name,\n\t\t\trecordSysId: referringRecordId,\n\t\t\tserializedChanges: getSerializedChanges(state.properties),\n\t\t\tencodedRecord: getEncodedRecord(formData),\n\t\t\ttableName,\n\t\t\tpath\n\t\t};\n\t\tdispatch(FETCH_DATA, payload, { stopPropagation: true });\n\t\tupdateState({\n\t\t\tstateDisplayValue: t('Loading...')\n\t\t});\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport {\n\tnowPopOverOpenedEffect,\n\tfetchEffect,\n\tfetchSuccessEffect,\n\tfetchFailureEffect,\n\tfetchLeafEffect,\n\tfetchLeafSuccessEffect,\n\tfetchLeafFailureEffect,\n\tpathUpdatedHandler,\n\tdotWalkLeafHandler,\n\tpropertyChangeHandler,\n\tupdateBreadCrumbHandler,\n\tcomponentBootstrappedHandler\n} from './effects';\nimport {\n\tPOPOVER_OPENED,\n\tDOT_WALK_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tDOT_WALK_BREADCRUMB_PATH_UPDATED,\n\tFETCH_DATA,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_FAILURE,\n\tFETCH_LEAF_DATA,\n\tFETCH_LEAF_DATA_SUCCESS,\n\tFETCH_LEAF_DATA_FAILURE\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n\t[DOT_WALK_PATH_UPDATED]: pathUpdatedHandler,\n\t[DOT_WALK_BREADCRUMB_PATH_UPDATED]: updateBreadCrumbHandler,\n\t[DOT_WALK_TRIGGERED]: dotWalkLeafHandler,\n\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t[COMPONENT_PROPERTY_CHANGED]: propertyChangeHandler,\n\n\t[POPOVER_OPENED]: {\n\t\teffect: nowPopOverOpenedEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_DATA]: {\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_LEAF_DATA]: {\n\t\teffect: effectProxy(fetchLeafEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_LEAF_DATA_SUCCESS]: {\n\t\teffect: fetchLeafSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_LEAF_DATA_FAILURE]: {\n\t\teffect: fetchLeafFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { isEmpty } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { POPOVER_OPENED } from './constants';\n\nfunction getFocusedElement(host) {\n\treturn host.shadowRoot.activeElement;\n}\n\nfunction getTriggerElement(host) {\n\treturn host.shadowRoot.querySelector('.now-input-field-trigger');\n}\n\nexport default [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: ({\n\t\t\taction,\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {\n\t\t\t\tproperties: { readonly, dependentValue }\n\t\t\t}\n\t\t}) => {\n\t\t\tconst event = action.payload.event;\n\t\t\tconst focused = getFocusedElement(host);\n\t\t\tconst trigger = getTriggerElement(host);\n\t\t\tconst dependentValueEmpty = isEmpty(dependentValue);\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\tcase 'Enter':\n\t\t\t\tcase ' ':\n\t\t\t\t\tconst isReadOnly = isAttrTrue(readonly)\n\t\t\t\t\t\t? readonly\n\t\t\t\t\t\t: dependentValueEmpty;\n\t\t\t\t\tif (\n\t\t\t\t\t\t!host.disabled &&\n\t\t\t\t\t\tfocused === trigger &&\n\t\t\t\t\t\t!isAttrTrue(isReadOnly)\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(POPOVER_OPENED, { value: true });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\tcase 'Tab':\n\t\t\t\t\tif (focused !== trigger) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tupdateState({ opened: false });\n\t\t\t\t\t\ttrigger.focus();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (focused === trigger) event.preventDefault();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tevents: ['mousedown', 'cut', 'paste'],\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { event }\n\t\t\t},\n\t\t\thost\n\t\t}) => {\n\t\t\t//We want the input field to behave like it is disabled\n\t\t\t//but we don't want the styling that comes along with being disabled\n\t\t\tconst focused = getFocusedElement(host);\n\t\t\tconst trigger = getTriggerElement(host);\n\t\t\tif (focused === trigger) event.preventDefault();\n\t\t}\n\t}\n];\n","import { omit, isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport '@servicenow/now-dot-walk';\nimport '@devsnc/sn-form-controls';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\tpushInfoMessageForDependentFields,\n\ttransformMessages,\n\tisFieldEditableAndDependentFieldValueSet,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport eventHandlers from './eventHandlers';\nimport { FIELD_NAME } from './constants';\nimport styles from './styles.scss';\n\nexport const view = state => {\n\tlet {\n\t\topened,\n\t\tstateValue,\n\t\tstateDisplayValue,\n\t\tdataModel = {},\n\t\terror,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tdependentValue,\n\t\t\tdependentFieldLabel,\n\t\t\tplaceholder,\n\t\t\thelperContent,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tlet { path = [], metadata = {}, leafPathSource = '' } = dataModel;\n\n\tlet inputReadOnly = isAttrTrue(readonly) || isEmpty(dependentValue);\n\n\tlet displayValue = stateValue ? stateDisplayValue : '';\n\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentValue,\n\t\tdependentFieldLabel\n\t);\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t\tmessages = transformMessages(messages);\n\t}\n\n\tconst configAria = {\n\t\tinput: {\n\t\t\t'aria-haspopup': 'listbox',\n\t\t\t'aria-expanded': inputReadOnly ? undefined : opened ? 'true' : 'false',\n\t\t\trole: inputReadOnly ? 'textbox' : 'combobox'\n\t\t}\n\t};\n\n\treturn (\n\t\t<now-popover manageOpened={true} opened={opened} hideTail>\n\t\t\t<now-input\n\t\t\t\t{...omit(state.properties, ['value', 'messages'])}\n\t\t\t\tmessages={messages}\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tclass={{ 'now-input-field-trigger': true }}\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={displayValue}\n\t\t\t\treadonly={inputReadOnly}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tmanage-value\n\t\t\t\tmanage-invalid\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t>\n\t\t\t\t{!inputReadOnly && (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"sn-trigger-icon\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START\n\t\t\t\t)}\n\t\t\t\t{renderDecorations(state.properties)}\n\t\t\t<\/now-input>\n\t\t\t<now-dot-walk\n\t\t\t\tslot=\"content\"\n\t\t\t\tdotWalkPath={path}\n\t\t\t\tmetadata={metadata}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\terror={error}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\n/**\n *\n *  Field Name Type Component\n *```jsx\n *\t<sn-record-fieldname-connected\n *\t\tlabel=\"Field Name\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-fieldname-connected\n * @summary *  Field Name Type. Used internally.\n * */\ncreateCustomElement(FIELD_NAME, {\n\tview,\n\tstyles,\n\tinitialState: {\n\t\topened: false,\n\t\tliveUpdate: null,\n\t\tstateValue: null,\n\t\tstateDisplayValue: ''\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Additional messages used to give status information on a field, usually\n\t\t * to provide error messages or warnings\n\t\t * @type {array}\n\t\t */\n\t\tmessages: { default: [] },\n\n\t\t/**\n\t\t * Flag indicating whether there is an error\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * The value of all the fields inside this components. This is a string dilimtad by `^` chars.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: { schema: { type: 'string' }, default: '' },\n\t\tdependentValue: { schame: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Optional value of the dependent field label\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Dictionary attributes to set and configure the query for table names\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is the table for the record that has the field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * This is the complete display value with dot walk path separated by > .\n\t\t */\n\t\tdisplayValueWithPath: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\teventHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { isEqual } from 'lodash';\n\nimport { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst query = `\nquery ($table: String!, $field: String!, $sys_id: String, $chars: String!, $paginationLimit: Int, $paginationOffset: Int, $dependentValue: String) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      sysId: $sys_id,\n      chars: $chars,\n      pagination: { limit: $paginationLimit, offset: $paginationOffset },\n      ignoreTotalCount: true,\n      sysparm_ignore_ref_qual: true,\n      sysparm_ref_override: $dependentValue,\n      ignoreDepAsRefQual: true\n    ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nconst variableList = [\n\t'sys_id',\n\t'table',\n\t'field',\n\t'chars',\n\t'paginationLimit',\n\t'dependentValue'\n];\n\nexport const normalizeDisplayValue = (\n\tdisplayValue = '',\n\tdependentTableName = ''\n) => {\n\tconst normalizedValue =\n\t\tdependentTableName.length > 0 && displayValue.startsWith(dependentTableName)\n\t\t\t? displayValue.substring(dependentTableName.length + 1) // Extract everything after dependentTableName + \":\" (including the colon)\n\t\t\t: displayValue;\n\n\treturn normalizedValue.trim();\n};\n\n/**\n * Handles COMPONENT_PROPERTY_CHANGED\n */\nexport const handlePropertyChange = ({ action, properties, updateState }) => {\n\tconst {\n\t\tpayload: { name, value, previousValue }\n\t} = action;\n\tconst { displayValue, dependentTableName } = properties;\n\n\t// short-circuit if the values are the same\n\tif (isEqual(value, previousValue)) return;\n\t// Live updates and value changes\n\telse if (name === 'liveUpdate' || name === 'value') {\n\t\tupdateState({\n\t\t\tnormalizedDisplayValue: normalizeDisplayValue(\n\t\t\t\tdisplayValue,\n\t\t\t\tdependentTableName\n\t\t\t)\n\t\t});\n\t}\n};\n\n/**\n * Handles COMPONENT_BOOTSTRAPPED\n */\nexport const handleComponentBootstrapped = ({\n\tupdateState,\n\tproperties: { displayValue, dependentTableName }\n}) => {\n\tupdateState({\n\t\tnormalizedDisplayValue: normalizeDisplayValue(\n\t\t\tdisplayValue,\n\t\t\tdependentTableName\n\t\t)\n\t});\n};\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tquery,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t...queryBaseActionHandlersData.actionHandlers,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange\n};\n","export const DEPENDENT_FIELD = 'dependentField';\nexport const DEPENDENT_VALUE = 'dependentValue';\nexport const DEPENDENT_FIELD_LABEL = 'dependentFieldLabel';\nexport const DEPENDENCY_PROPS = [\n\tDEPENDENT_FIELD,\n\tDEPENDENT_VALUE,\n\tDEPENDENT_FIELD_LABEL\n];\n\nexport const QUERY_DATA_PATH = 'GlideLayout_Query.referenceDataRetriever';\n","import { omit, get, some, isEmpty } from 'lodash';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport {\n\tadaptCallbackForLegacyAPI,\n\tisAttrTrue,\n\ttrackBehavior,\n\tpushInfoMessageForDependentFields,\n\tisFieldEditableAndDependentFieldValueSet,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport {\n\tQUERY_DATA_PATH,\n\tDEPENDENT_FIELD,\n\tDEPENDENT_VALUE,\n\tDEPENDENT_FIELD_LABEL\n} from './constants';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst getOptions = data => {\n\tif (data)\n\t\treturn data.map(\n\t\t\t({ sysId: value, referenceData: [{ value: displayValue }] }) => ({\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t})\n\t\t);\n\n\treturn [];\n};\n\n/**\n * Create the Document ID view\n */\nexport const view = (\n\t{\n\t\tnormalizedDisplayValue,\n\t\tproperties,\n\t\tproperties: {\n\t\t\trecordSysId,\n\t\t\tfieldName,\n\t\t\ttableName,\n\t\t\tresultLimit,\n\t\t\tformData,\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tvalue,\n\t\t\tonValueChange: parentOnValueChange,\n\t\t\t[DEPENDENT_FIELD_LABEL]: dependentFieldLabel,\n\t\t\t[DEPENDENT_FIELD]: dependentField,\n\t\t\t[DEPENDENT_VALUE]: dependentValue\n\t\t}\n\t},\n\t{ updateState, dispatch }\n) => {\n\tconst mapResults = data => {\n\t\tlet results = get(data, QUERY_DATA_PATH, {});\n\t\treturn {\n\t\t\trecents: getOptions(results.referenceRecentDataList),\n\t\t\toptions: getOptions(results.referenceDataList),\n\t\t\ttotalCount: results.matchesCount\n\t\t};\n\t};\n\n\tconst getVariables = inputVal => {\n\t\treturn {\n\t\t\tsys_id: get(formData, 'isNewRecord') ? '-1' : recordSysId,\n\t\t\ttable: tableName,\n\t\t\tfield: fieldName,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tchars: inputVal.length > 0 ? inputVal : '**',\n\t\t\tdependentValue\n\t\t};\n\t};\n\n\t// We want to intercept the onValueChange so that we can set displayValue here\n\t// as opposed to listening to prop changes which might give us incorrect display\n\t// values when things are in flux\n\tconst onValueChange = args => {\n\t\tconst { displayValue } = args;\n\t\tupdateState({ normalizedDisplayValue: displayValue });\n\t\tadaptCallbackForLegacyAPI(parentOnValueChange)(args);\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: fieldName, fieldType: 'document-id' }\n\t\t});\n\t};\n\n\tconst additionalProps = omit(properties, ['resultLimit']);\n\n\t// We have to \"hide\" the values when one of these is empty, so that we don't get the \"sys-id without displayValue\" warning created by the sn-glide-query-base\n\tconst emptyDeps = some([dependentField, dependentValue], isEmpty);\n\tconst isReadonly = isAttrTrue(readonly) || emptyDeps;\n\tconst hideValues = emptyDeps || !normalizedDisplayValue;\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentValue,\n\t\tdependentFieldLabel\n\t);\n\n\tif (hideValues) {\n\t\tvalue = '';\n\t\tnormalizedDisplayValue = '';\n\t}\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t}\n\n\treturn (\n\t\t<sn-glide-query-base\n\t\t\t{...additionalProps}\n\t\t\tvalue={value}\n\t\t\tdisplayValue={normalizedDisplayValue}\n\t\t\treadonly={isReadonly}\n\t\t\tmessages={messages}\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables}\n\t\t\tonValueChange={onValueChange}\n\t\t\tdisableTracking\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-record-document-id-connected', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tnormalizedDisplayValue: ''\n\t},\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name of table this field is on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttableName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Name of the field.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * The sys_id of the current record where the field is located\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\trecordSysId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the field.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * Number of suggestions to display.\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { schema: { type: 'number' }, default: 25 },\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * Flag to show when a graphQL request is in progress.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisSearching: { schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Results from a graphQL request\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tresults: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Dictionary attributes for the document id component.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdeclarativeActionsProps: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Holds serialized changes.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Name of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentField: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field. AKA the referenced table.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * The name of the table used for normalizing the display value of the dependent field\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentTableName: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field. AKA the referenced table.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValueLabel: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Label of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n\n// Button and Textarea names\nexport const EDIT_BTN = 'edit';\nexport const REFRESH_BTN = 'refresh';\nexport const MODAL_NOW_TEXT_AREA_NAME = 'modal-content';\n\n// Translations and messages\nexport const CANCEL_STR = t('Cancel');\nexport const EDIT_TEXT_STR = t('Edit text');\nexport const MODAL_PLACEHOLDER_STR = t('Type in HTML');\nexport const REFRESH_PREVIEW_STR = t('Refresh preview');\nexport const REQUIRED_STR = t('required');\nexport const SUBMIT_STR = t('Submit');\nexport const WIKI_FETCH_ERROR = {\n\ttype: 'error',\n\tmessage: t('Unable to load. Try refreshing the page.')\n};\nexport const EMPTY_VALUE_PLACEHOLDER = '&mdash;';\n\n// Nested external component actions\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\n\n/* Component */\nexport const FETCH_WIKI_CONTENT_API = '/xmlhttp.do';\nexport const FETCH_WIKI_CONTENT_API_NAME = 'wikiToHTML';\nexport const FETCH_WIKI_CONTENT_API_PROCESSOR = 'WikiHelperAjax';\n\n// Component actions\nconst COMPONENT = 'SN_RECORD_WIKI_TEXT_CONNECTED';\nexport const CLOSE_MODAL = `${COMPONENT}#CLOSE_MODAL`;\nexport const FETCH_WIKI_CONTENT = `${COMPONENT}#FETCH_WIKI_CONTENT`;\nexport const FETCH_WIKI_CONTENT_FAILURE = `${COMPONENT}#FETCH_WIKI_CONTENT_FAILURE`;\nexport const FETCH_WIKI_CONTENT_SUCCESS = `${COMPONENT}#FETCH_WIKI_CONTENT_SUCCESS`;\nexport const SANITIZE_WIKI_CONTENT = `${COMPONENT}#SANITIZE_WIKI_CONTENT`;\nexport const STAGED_VALUE_CHANGED = `${COMPONENT}#STAGED_VALUE_CHANGED`;\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n","import { isFunction, isEqual, isEmpty, includes } from 'lodash';\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tEDIT_BTN,\n\tREFRESH_BTN,\n\tWIKI_FETCH_ERROR,\n\tNOW_BUTTON_CLICKED,\n\tNOW_MODAL_OPENED_SET,\n\tNOW_TEXTAREA_VALUE_SET,\n\tFETCH_WIKI_CONTENT,\n\tFETCH_WIKI_CONTENT_API,\n\tFETCH_WIKI_CONTENT_API_NAME,\n\tFETCH_WIKI_CONTENT_API_PROCESSOR,\n\tFETCH_WIKI_CONTENT_FAILURE,\n\tFETCH_WIKI_CONTENT_SUCCESS,\n\tSANITIZE_WIKI_CONTENT,\n\tVALUE_CHANGED,\n\tUPDATE_VALUE,\n\tMODAL_NOW_TEXT_AREA_NAME\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst DOM_PARSER = new DOMParser();\nconst getContentFromXml = xmlString =>\n\tDOM_PARSER.parseFromString(xmlString, 'text/xml')\n\t\t.querySelector('xml')\n\t\t.getAttribute('answer');\n\nexport default {\n\t/* Lifecycle events */\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { inlineMode, value, readonly },\n\t\tdispatch\n\t}) =>\n\t\t!isEmpty(value) &&\n\t\t(!inlineMode || isAttrTrue(readonly)) &&\n\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isInitial: true }),\n\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { inlineMode }\n\t}) => {\n\t\tconst { name, value, previousValue } = action.payload;\n\n\t\t// Sanitize wiki\n\t\tif (\n\t\t\tincludes(['value', 'messages'], name) &&\n\t\t\t!isEqual(value, previousValue) &&\n\t\t\t!inlineMode\n\t\t)\n\t\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isUpdate: true });\n\t},\n\n\t/* Nested component events */\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: ({ action, state, updateState, dispatch }) => {\n\t\t\tconst { button } = action.payload;\n\t\t\tswitch (button) {\n\t\t\t\tcase EDIT_BTN: {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tproperties: { value },\n\t\t\t\t\t\tsanitizedValue\n\t\t\t\t\t} = state;\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshowEditModal: true,\n\t\t\t\t\t\tstagedSanitizedValue: sanitizedValue,\n\t\t\t\t\t\tstagedValue: value\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase REFRESH_BTN: {\n\t\t\t\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isRefresh: true });\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t// According to docs, this only gets called when modal is closed\n\t// our modal's Cancel and Submit buttons also call it\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: ({\n\t\t\tstate: { sanitizedValue },\n\t\t\tproperties: { value },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowEditModal: false,\n\t\t\t\tstagedValue: value,\n\t\t\t\tstagedSanitizedValue: sanitizedValue\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[NOW_TEXTAREA_VALUE_SET]: {\n\t\teffect: ({ action, dispatch, updateState, properties: { name } }) => {\n\t\t\tconst { value, name: dispatcherName } = action.payload;\n\t\t\tif (dispatcherName === MODAL_NOW_TEXT_AREA_NAME)\n\t\t\t\tupdateState({ stagedValue: value });\n\t\t\telse dispatch(VALUE_CHANGED, { name, value });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t/* API calls and sanitization */\n\t[FETCH_WIKI_CONTENT]: {\n\t\tinterceptors: [\n\t\t\t{\n\t\t\t\tbefore: context => {\n\t\t\t\t\tconst { action, dispatch } = context.coeffects;\n\t\t\t\t\tconst { value } = action.payload;\n\n\t\t\t\t\t// If value is empty, intercept and return empty string\n\t\t\t\t\t// This is to prevent the server from responding with \"(Wiki text empty)\"\n\t\t\t\t\tif (isEmpty(value)) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFETCH_WIKI_CONTENT_SUCCESS,\n\t\t\t\t\t\t\t'<xml answer=\"\" />',\n\t\t\t\t\t\t\taction.meta\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn { ...context };\n\t\t\t\t\t}\n\n\t\t\t\t\tconst httpEffect = createHttpEffect(FETCH_WIKI_CONTENT_API, {\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\tbatch: false,\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataParam: 'data',\n\t\t\t\t\t\tsuccessActionType: FETCH_WIKI_CONTENT_SUCCESS,\n\t\t\t\t\t\terrorActionType: FETCH_WIKI_CONTENT_FAILURE\n\t\t\t\t\t});\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...httpEffect,\n\t\t\t\t\t\t\t\targs: [...httpEffect.args, context.coeffects]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\n\t[FETCH_WIKI_CONTENT_SUCCESS]: {\n\t\teffect: ({ action: { payload, meta }, state, updateState }) => {\n\t\t\tconst value = getContentFromXml(payload);\n\t\t\tupdateState({\n\t\t\t\tloading: false,\n\t\t\t\tstagedLoading: false,\n\t\t\t\tsanitizedValue: meta.isRefresh ? state.sanitizedValue : value,\n\t\t\t\tstagedSanitizedValue: meta.isRefresh\n\t\t\t\t\t? value\n\t\t\t\t\t: state.stagedSanitizedValue\n\t\t\t});\n\t\t}\n\t},\n\n\t[FETCH_WIKI_CONTENT_FAILURE]: ({\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\tconst { stagedValue } = state;\n\t\tconst { name } = properties;\n\n\t\tupdateState({ loading: false, stagedLoading: false });\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tname,\n\t\t\tvalue: stagedValue,\n\t\t\terror: WIKI_FETCH_ERROR\n\t\t});\n\t},\n\n\t[SANITIZE_WIKI_CONTENT]: {\n\t\teffect: ({ action, state, properties, dispatch, updateState }) => {\n\t\t\tconst { isInitial, isRefresh, isUpdate } = action.meta;\n\t\t\tconst value =\n\t\t\t\tisUpdate || isInitial ? properties.value : state.stagedValue;\n\n\t\t\t// Set loading state\n\t\t\tupdateState({\n\t\t\t\tpath: isRefresh ? 'stagedLoading' : 'loading',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender:\n\t\t\t\t\tisInitial || isUpdate || !state.loading || !state.stagedLoading\n\t\t\t});\n\n\t\t\tdispatch(\n\t\t\t\tFETCH_WIKI_CONTENT,\n\t\t\t\t{\n\t\t\t\t\tvalue,\n\t\t\t\t\tdata: new URLSearchParams({\n\t\t\t\t\t\tsysparm_processor: FETCH_WIKI_CONTENT_API_PROCESSOR,\n\t\t\t\t\t\tsysparm_name: FETCH_WIKI_CONTENT_API_NAME,\n\t\t\t\t\t\tsysparm_cache_images: false,\n\t\t\t\t\t\tsysparm_value: properties.name,\n\t\t\t\t\t\tsysparm_chars: value\n\t\t\t\t\t}).toString()\n\t\t\t\t},\n\t\t\t\t{ isInitial, isRefresh, isUpdate }\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t// We purposely do not stop propagation of the event\n\t[VALUE_CHANGED]: ({ properties, action, dispatch }) => {\n\t\tconst { value, error } = action.payload;\n\t\tconst { name, onValueChange } = properties;\n\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({ name, value, error });\n\t\t}\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'wiki-text' }\n\t\t});\n\t},\n\n\t[UPDATE_VALUE]: {\n\t\teffect: ({ state: { stagedValue }, properties: { name }, dispatch }) => {\n\t\t\t// Close the modal\n\t\t\tdispatch(NOW_MODAL_OPENED_SET);\n\t\t\tdispatch(VALUE_CHANGED, { name, value: stagedValue });\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { isEmpty, mapValues, omit, toString } from 'lodash';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-rich-text';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-loader';\n\nimport {\n\taccessibilityAttributes,\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tEDIT_BTN,\n\tREFRESH_BTN,\n\tCANCEL_STR,\n\tEDIT_TEXT_STR,\n\tMODAL_PLACEHOLDER_STR,\n\tREFRESH_PREVIEW_STR,\n\tREQUIRED_STR,\n\tSUBMIT_STR,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tEMPTY_VALUE_PLACEHOLDER,\n\tMODAL_NOW_TEXT_AREA_NAME\n} from './constants';\n\nconst EditButton = ({ label, ariaProperties, required }) => {\n\treturn (\n\t\t<now-button-bare\n\t\t\ticon-start=\"pencil-outline\"\n\t\t\tlabel={EDIT_TEXT_STR}\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"md\"\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t...mapValues(ariaProperties, toString),\n\t\t\t\t\t'aria-label': `${label}, ${EDIT_TEXT_STR}, ${\n\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\n\t\t\t\t\t}`,\n\t\t\t\t\t'aria-haspopup': 'dialog'\n\t\t\t\t}\n\t\t\t}}\n\t\t\tappend-to-payload={{ button: EDIT_BTN }}\n\t\t/>\n\t);\n};\n\n/**\n * This is required to get full height working on safari when window width is narrow.\n * TODO: Remove this after NDS has fixed the issue on their end. See STRY52067932\n * @param {*} param0\n */\nconst onModalInsert = ({ elm }) => {\n\tconst style = document.createElement('style');\n\tstyle.innerText = '.now-modal-dialog .now-modal-body { flex: 1 1 100% }';\n\telm.shadowRoot.appendChild(style);\n};\n\nconst EditModal = ({ state }) => {\n\tconst {\n\t\tproperties: { label, dualMode, readonly, inlineMode, configAria },\n\t\tshowEditModal,\n\t\tstagedLoading,\n\t\tstagedSanitizedValue,\n\t\tstagedValue,\n\t\tcomponentId\n\t} = state;\n\n\tif (isAttrTrue(readonly) || inlineMode) return null;\n\n\treturn (\n\t\t<now-modal\n\t\t\thook-insert={onModalInsert}\n\t\t\topened={showEditModal}\n\t\t\tsize=\"lg\"\n\t\t\theader-label={label}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: SUBMIT_STR,\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: CANCEL_STR,\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t}\n\t\t\t]}\n\t\t>\n\t\t\t<div class={{ 'modal-content': true, 'dual-mode': dualMode }}>\n\t\t\t\t<div className=\"modal-content-input-area\">\n\t\t\t\t\t<now-textarea\n\t\t\t\t\t\tclassName=\"modal-content-textarea\"\n\t\t\t\t\t\tdisable-max-height\n\t\t\t\t\t\tname={MODAL_NOW_TEXT_AREA_NAME}\n\t\t\t\t\t\tplaceholder={MODAL_PLACEHOLDER_STR}\n\t\t\t\t\t\tresize=\"none\"\n\t\t\t\t\t\tshow-borders\n\t\t\t\t\t\tvalue={stagedValue}\n\t\t\t\t\t\tconfig-aria={{ textarea: configAria }}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{dualMode ? (\n\t\t\t\t\t<div className=\"modal-content-preview-area\">\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tlabel={REFRESH_PREVIEW_STR}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ticon-start=\"sync-outline\"\n\t\t\t\t\t\t\tappend-to-payload={{ button: REFRESH_BTN }}\n\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PreviewArea\n\t\t\t\t\t\t\tloading={stagedLoading}\n\t\t\t\t\t\t\tvalue={stagedValue}\n\t\t\t\t\t\t\tdisplay={stagedSanitizedValue}\n\t\t\t\t\t\t\tcomponentId={`${componentId}-edit-modal`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\nconst InlineArea = ({ state }) => {\n\tconst {\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t\trequired,\n\t\t\tmessages,\n\t\t\tinvalid,\n\t\t\thelperContent,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<now-textarea\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tresize=\"vertical\"\n\t\t\tvalue={value}\n\t\t\tconfig-aria={{ textarea: configAria }}\n\t\t\tfield-layout={fieldLayout}\n\t\t/>\n\t);\n};\n\nconst PreviewArea = ({\n\tloading,\n\tdisplay,\n\tlabel,\n\trequired,\n\treadonly,\n\tcomponentId\n}) => {\n\tconst richTextId = `${componentId}-rich-text`;\n\tlet readonlyContent = null;\n\tlet readonlyAria = {};\n\tlet htmlDisplay = display;\n\n\tif (readonly) {\n\t\tconst srOnlyId = `${componentId}-sr-only`;\n\n\t\treadonlyAria = {\n\t\t\t'aria-labelledby': `${srOnlyId} ${richTextId}`\n\t\t};\n\t\treadonlyContent = (\n\t\t\t<span id={srOnlyId} className=\"sr-only\">\n\t\t\t\t{`${label},${required ? ` ${REQUIRED_STR},` : ''}`}\n\t\t\t<\/span>\n\t\t);\n\t\tif (!display) {\n\t\t\thtmlDisplay = EMPTY_VALUE_PLACEHOLDER;\n\t\t}\n\t}\n\n\tif (!loading && isEmpty(htmlDisplay)) return null;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"document\"\n\t\t\tclass={{\n\t\t\t\t'preview-container': true,\n\t\t\t\tloading\n\t\t\t}}\n\t\t\ttabindex=\"0\"\n\t\t\t{...readonlyAria}\n\t\t>\n\t\t\t<div className=\"loader\">\n\t\t\t\t<now-loader />\n\t\t\t<\/div>\n\t\t\t{readonlyContent}\n\t\t\t<now-rich-text id={richTextId} html={htmlDisplay} />\n\t\t<\/div>\n\t);\n};\n\nexport default (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tlabel,\n\t\t\tconfigAria,\n\t\t\tinlineMode,\n\t\t\trequired,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tloading,\n\t\tsanitizedValue,\n\t\tcomponentId\n\t} = state;\n\n\tconst ariaProperties = {\n\t\t...configAria,\n\t\t...omit(accessibilityAttributes(properties), ['aria-required'])\n\t};\n\n\tconst isReadOnly = isAttrTrue(readonly);\n\n\tconst showPreview = sanitizedValue || (isReadOnly && !sanitizedValue);\n\n\tconst showEditButton = !(isReadOnly || inlineMode);\n\n\tif (inlineMode && !isReadOnly) {\n\t\treturn <InlineArea state={state} />;\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\t{...properties}\n\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t>\n\t\t\t\t{showEditButton && (\n\t\t\t\t\t<EditButton\n\t\t\t\t\t\tariaProperties={ariaProperties}\n\t\t\t\t\t\tinlineMode={isAttrTrue(inlineMode)}\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\treadonly={isReadOnly}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{showPreview && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-control-field': true,\n\t\t\t\t\t\t\t'sn-record-wiki-text': true,\n\t\t\t\t\t\t\t'read-only': isReadOnly,\n\t\t\t\t\t\t\t'is-empty': !sanitizedValue\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewArea\n\t\t\t\t\t\t\tdisplay={sanitizedValue}\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\t\t\t\treadonly={isReadOnly}\n\t\t\t\t\t\t\tcomponentId={componentId}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/sn-record-control-wrapper>\n\t\t\t<EditModal state={state} dispatch={dispatch} />\n\t\t<\/Fragment>\n\t);\n};\n","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { fieldLayoutSchema, trackBehavior } from '@devsnc/sn-controls-common';\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\nimport focusBehavior from '@servicenow/behavior-focus';\n\n/**\n * This component should only be used via the controlElementFactory and only within a form.\n * This component implements the wiki_text field type for workspace.\n *\n * ```jsx\n *  <sn-record-wiki-text-connected\n * \t\tlabel=\"Wiki Label\"\n * \t\tvalue=\"<p>hello world<\/p>\"\n *  />\n * ```\n *\n * @seismicElement sn-record-wiki-text-connected\n * @summary An input that allows users to enter html content sans scripts. The content is\n * sent to the server for sanitation and normalization and is then previewed from the component itself.\n */\ncreateCustomElement('sn-record-wiki-text-connected', {\n\tview,\n\tsetInitialState({ properties: { value } }) {\n\t\treturn {\n\t\t\tloading: !isEmpty(value),\n\t\t\tsanitizedValue: '',\n\t\t\tshowEditModal: false,\n\t\t\tstagedLoading: false,\n\t\t\tstagedSanitizedValue: '',\n\t\t\tstagedValue: value\n\t\t};\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * Specifies whether wiki should render as dual mode.\n\t\t * In dual mode, user is given option to edit content within the modal.\n\t\t * @type {boolean}\n\t\t */\n\t\tdualMode: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies whether component should display in inline mode (only shows the text entry and\n\t\t * not the sanitized formatted html). If both inlineMode and dualMode are set to true\n\t\t * only inlineMode takes effect.\n\t\t * @type {boolean}\n\t\t */\n\t\tinlineMode: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * The value for the component\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n// Component Specific\nexport const INCREMENT_TIMER =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#INCREMENT_TIMER';\nexport const INIT_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#INIT_TIMER';\nexport const SET_NEW_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#SET_NEW_TIMER';\nexport const STOP_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#STOP_TIMER';\nexport const START_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#START_TIMER';\nexport const CLEAR_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#CLEAR_TIMER';\nexport const TIME_WORKED_STAGED_VALUE_CHANGED =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#STAGED_VALUE_CHANGED';\nexport const TIME_WORKED_VALUE_CHANGED =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#VALUE_CHANGED';\nexport const OK_CLICKED = 'SN_RECORD_TIME_WORKED_CONNECTED#OK_CLICKED';\nexport const PRIVATE_UPDATE_TOTAL_TIME =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#PRIVATE_UPDATE_TOTAL_TIME';\nexport const RESUME = 'RESUME';\nexport const PAUSE = 'PAUSE';\nexport const DEFAULT_EDIT_TIME_VALUE = '00 00:00:00';\nexport const DEFAULT_TIMER_VALUE = '00:00:00';\nexport const TIME_WORKED_EDIT_POPOVER = 'time-worked-edit-popover';\nexport const DEFAULT_INTERNAL_TIMER_DATA = {\n\ttimerId: undefined,\n\ttimerTicks: 0,\n\teditTimeValue: DEFAULT_EDIT_TIME_VALUE\n};\nexport const EDIT_SESSION_TIME = t('Edit session time');\nexport const RESUME_SESSION_TIME = t('Resume session time');\nexport const PAUSE_SESSION_TIME = t('Pause session time');\n\n// From other components\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const SN_RECORD_DURATION_VALUE_CHANGED =\n\t'SN_RECORD_DURATION#VALUE_CHANGED';\nexport const SN_RECORD_DURATION_STAGED_VALUE_CHANGED =\n\t'SN_RECORD_DURATION#STAGED_VALUE_CHANGED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const INCREMENT_INTERVAL = 1000;\nexport const LONG_TAB_OUT_WAIT_TIME = 10000;\n","import { TIME_WORKED_STAGED_VALUE_CHANGED } from './constants';\n// arr is in the format of [hours, minutes, seconds] as ints\n// [0, 1, 10] => \"00:01:10\"\nexport const formatTime = arr =>\n\tarr\n\t\t.map(\n\t\t\tn =>\n\t\t\t\t(n !== undefined &&\n\t\t\t\t\tn.toLocaleString(undefined, { minimumIntegerDigits: 2 })) ||\n\t\t\t\t''\n\t\t)\n\t\t.join(':');\n\n// 01 12:12:12 => 36:12:12\nexport const extractTimeFromString = (str = ' ') => {\n\tconst strFormatted = str.includes(' ') ? str : `00 ${str}`;\n\tconst [days, time] = strFormatted.split(' ');\n\tconst [hour, minute, second] = time.split(':').map(i => parseInt(i));\n\n\tconst totalHours = parseInt(days) * 24 + hour;\n\tconst result = [totalHours, minute, second];\n\treturn formatTime(result);\n};\n\n// times are strings in the format ##:##:##\nexport const addTimes = (time1, time2) => {\n\tconst [hour1, minute1, second1] = time1.split(':').map(i => parseInt(i));\n\tconst [hour2, minute2, second2] = time2.split(':').map(i => parseInt(i));\n\n\tconst resultSeconds = (second1 + second2) % 60;\n\tconst secondsCarryOver = second1 + second2 >= 60;\n\n\tconst resultMinutes = (minute1 + minute2 + secondsCarryOver) % 60;\n\tconst minutesCarryOver = minute1 + minute2 + secondsCarryOver >= 60;\n\n\tconst resultHours = hour1 + hour2 + minutesCarryOver;\n\n\tconst result = [resultHours, resultMinutes, resultSeconds];\n\n\treturn formatTime(result);\n};\n\n// Recalculates time passed when given the amount of seconds that passed (timePassed)\n// returns a new time in the format [hour, minute, second]\nexport const calculateTimePassed = (timePassed, hour, minute, second) => {\n\tlet timeLeft = Math.floor(timePassed) + hour * 3600 + minute * 60 + second; // total time to calculate\n\tconst resultHour = Math.floor(timeLeft / 3600);\n\ttimeLeft = Math.floor(timeLeft % 3600);\n\n\tconst resultMinute = Math.floor(timeLeft / 60);\n\ttimeLeft = Math.floor(timeLeft % 60);\n\n\tconst resultSecond = timeLeft;\n\n\treturn [resultHour, resultMinute, resultSecond];\n};\n\n// (12:13:15, 00:44:30) => 00:44:15\nexport const newHourAndMinute = (oldValue, newValue) => {\n\tconst [second1] = oldValue.split(':').map(i => parseInt(i));\n\tconst [hour2, minute2] = newValue.split(':').map(i => parseInt(i));\n\n\treturn formatTime([hour2, minute2, second1]);\n};\n\n// to convert \"12:12:12\" to seconds\nexport const normalizeTimeStrToSeconds = (timeStr = '00:00:00') => {\n\tconst normalized = extractTimeFromString(timeStr); // handles \"01 12:12:12\" => \"36:12:12\"\n\tconst parts = normalized.split(':');\n\tif (parts.length !== 3) return NaN;\n\n\tconst [h, m, s] = parts.map(n => parseInt(n, 10));\n\tif ([h, m, s].some(Number.isNaN)) return NaN;\n\n\treturn h * 3600 + m * 60 + s;\n};\n\n// dispatches data for forms to handle\nexport const dispatchFormData = (\n\tname,\n\tupdateState,\n\tdispatch,\n\tinitialTime,\n\tadditionalTime,\n\ttimerPaused\n) => {\n\tconst [hour, min, second] = addTimes(initialTime, additionalTime).split(':');\n\tconst days = Math.floor(hour / 24);\n\tconst leftoverHours = hour % 24;\n\n\t// We want to start on Jan 1st, 1970 before adding the time passed\n\tconst totalTime = new Date(\n\t\tDate.UTC(1970, 0, 1 + days, leftoverHours, min, second)\n\t).toUTCString();\n\n\tdispatch(TIME_WORKED_STAGED_VALUE_CHANGED, {\n\t\ttotalTime,\n\t\tisTimerRunning: !timerPaused,\n\t\tcurrentSystemTime: new Date().toString(),\n\t\tname\n\t});\n\n\tupdateState({\n\t\tpath: 'dispatchingToForms',\n\t\tvalue: true,\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tINCREMENT_TIMER,\n\tSET_NEW_TIMER,\n\tSTOP_TIMER,\n\tSTART_TIMER,\n\tCLEAR_TIMER,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tINCREMENT_INTERVAL,\n\tNOW_POPOVER_OPENED_SET,\n\tOK_CLICKED,\n\tLONG_TAB_OUT_WAIT_TIME,\n\tRESUME,\n\tPAUSE,\n\tTIME_WORKED_EDIT_POPOVER,\n\tDEFAULT_TIMER_VALUE,\n\tDEFAULT_INTERNAL_TIMER_DATA,\n\tINIT_TIMER,\n\tPRIVATE_UPDATE_TOTAL_TIME\n} from './constants';\nimport {\n\tformatTime,\n\tcalculateTimePassed,\n\tnewHourAndMinute,\n\tdispatchFormData,\n\textractTimeFromString,\n\tnormalizeTimeStrToSeconds\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Resets the timer for the next increment\n * Makes sure to offset so that the time kept is accurate (accounts for when a pause happens)\n * Borrowed some logic from: platform's GlideTimerElement\n */\nconst setNewTimerEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tinternalTimerData: { timerTicks, timerStarted, timerId: timerID },\n\t\ttimerValueUpdated\n\t} = state;\n\n\tconst diff =\n\t\tnew Date().getTime() - timerStarted - timerTicks * INCREMENT_INTERVAL;\n\t// make sure to clear the existing any pending timer, before we do settimeout.\n\tclearTimeout(timerID);\n\tif (!timerValueUpdated) {\n\t\tconst timerId = setTimeout(() => {\n\t\t\tdispatch(INCREMENT_TIMER);\n\t\t}, INCREMENT_INTERVAL - diff);\n\t\tupdateState({\n\t\t\tpath: 'internalTimerData.timerId',\n\t\t\tvalue: timerId,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nconst initTimerEffect = effect => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: { autoStart, name },\n\t\t\tinitialTime,\n\t\t\ttimerValue\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = effect;\n\n\tif (!autoStart) {\n\t\tupdateState({\n\t\t\ttimerPaused: true\n\t\t});\n\t\treturn;\n\t}\n\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, false);\n\tsetNewTimerEffect(effect);\n};\n\nconst incrementTimerEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tinternalTimerData: { timerTicks, timerStarted },\n\t\ttimerValue,\n\t\ttimerPaused\n\t} = state;\n\tlet [hour, minute, second] = timerValue.split(':').map(n => parseInt(n));\n\n\tconst diff =\n\t\tnew Date().getTime() - timerStarted - timerTicks * INCREMENT_INTERVAL;\n\n\tif (!timerPaused) {\n\t\t// increment time by 1 second\n\t\tsecond++;\n\t\tif (second === 60) {\n\t\t\tminute++;\n\t\t\tsecond = 0;\n\t\t}\n\t\tif (minute === 60) {\n\t\t\thour++;\n\t\t\tminute = 0;\n\t\t}\n\n\t\t// Fixes random fast increments when tabbed away for a long time\n\t\tif (diff > LONG_TAB_OUT_WAIT_TIME) {\n\t\t\t[hour, minute, second] = calculateTimePassed(\n\t\t\t\tdiff / INCREMENT_INTERVAL,\n\t\t\t\thour,\n\t\t\t\tminute,\n\t\t\t\tsecond\n\t\t\t);\n\t\t}\n\t}\n\t// If recalculation happened, recalculate timer ticks, otherwise just increment timer ticks\n\tconst newTimerTicks =\n\t\tdiff > LONG_TAB_OUT_WAIT_TIME\n\t\t\t? timerTicks + Math.floor(diff / INCREMENT_INTERVAL)\n\t\t\t: timerTicks + 1;\n\n\tconst newTimeFormatted = formatTime([hour, minute, second]);\n\tupdateState([\n\t\t{ path: 'timerValue', value: newTimeFormatted, operation: 'assign' },\n\t\t{\n\t\t\tpath: 'internalTimerData.timerTicks',\n\t\t\tvalue: newTimerTicks,\n\t\t\toperation: 'assign'\n\t\t}\n\t]);\n\tdispatch(SET_NEW_TIMER);\n};\n\nconst clearTimerEffect = ({ state, updateState }) => {\n\tconst {\n\t\tinternalTimerData: { timerId }\n\t} = state;\n\tclearTimeout(timerId);\n\tconst newInternalTimerData = {\n\t\ttimerId: null,\n\t\ttimerTicks: 0,\n\t\ttimerStarted: new Date().getTime()\n\t};\n\n\tupdateState({\n\t\tpath: 'internalTimerData',\n\t\tvalue: newInternalTimerData,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nconst stopTimerEffect = ({\n\tupdateState,\n\tdispatch,\n\tstate: {\n\t\tinitialTime,\n\t\ttimerValue,\n\t\tproperties: { name }\n\t}\n}) => {\n\tupdateState({ timerPaused: true });\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, true);\n};\n\nconst startTimerEffect = effect => {\n\tlet {\n\t\tupdateState,\n\t\tdispatch,\n\t\tstate: {\n\t\t\tinitialTime,\n\t\t\ttimerValue,\n\t\t\tproperties: { name },\n\t\t\tinternalTimerData: { timerStarted }\n\t\t}\n\t} = effect;\n\n\tupdateState({ timerPaused: false });\n\n\t// if timer was never started, set the timerStarted to now\n\tif (!timerStarted) {\n\t\ttimerStarted = new Date().getTime();\n\t\tupdateState({\n\t\t\tpath: 'internalTimerData.timerStarted',\n\t\t\tvalue: timerStarted,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\t\t// Start the timer\n\t\tdispatch(SET_NEW_TIMER);\n\t}\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, false);\n};\n\nconst nowButtonClickedEffect = ({ action, dispatch }) => {\n\tconst { buttonType } = action.payload;\n\tswitch (buttonType) {\n\t\tcase PAUSE:\n\t\t\tdispatch(STOP_TIMER);\n\t\t\tbreak;\n\t\tcase RESUME:\n\t\t\tdispatch(START_TIMER);\n\t\t\tbreak;\n\t}\n};\n\nconst toggleEditPopoverEffect = ({ updateState, action, state }) => {\n\tconst { type, value } = action.payload;\n\tif (type === TIME_WORKED_EDIT_POPOVER) {\n\t\tconst { timerValue } = state;\n\n\t\tconst stateUpdates = [];\n\t\tif (value) {\n\t\t\tstateUpdates.push({\n\t\t\t\tpath: 'internalTimerData.editTimeValue',\n\t\t\t\tvalue: timerValue,\n\t\t\t\toperation: 'assign'\n\t\t\t});\n\t\t}\n\t\tstateUpdates.push({ path: 'popoverOpened', value, operation: 'assign' });\n\t\tupdateState(stateUpdates);\n\t}\n};\n\nconst updateTotalTimeEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tdispatchingToForms,\n\t\tproperties: { initialValue },\n\t\ttimerValueUpdated,\n\t\tresetTimer = true,\n\t\ttimerValue\n\t} = state;\n\tif (dispatchingToForms) {\n\t\t// we don't want to update any values if the initialValue is being set via a staged_value_changed\n\t\tupdateState({\n\t\t\tpath: 'dispatchingToForms',\n\t\t\tvalue: false,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\n\t\t// When the timer is set from the popover, call SET_NEW_TIMER from here to avoid timing issues.\n\t\tif (timerValueUpdated) {\n\t\t\tupdateState({ timerValueUpdated: false });\n\t\t\tdispatch(SET_NEW_TIMER);\n\t\t}\n\t} else {\n\t\t// If the initialValue is updated via another means,\n\t\t// update the total time and reset timer.\n\t\t// This is used in Configurable workspace since saving the form there\n\t\t// doesn't re-render the components so we manually reset the component.\n\t\tconst value = extractTimeFromString(initialValue);\n\t\tupdateState({\n\t\t\tinitialTime: value,\n\t\t\tinternalTimerData: {\n\t\t\t\t...DEFAULT_INTERNAL_TIMER_DATA,\n\t\t\t\ttimerStarted: new Date().getTime()\n\t\t\t},\n\t\t\ttimerValue: resetTimer ? DEFAULT_TIMER_VALUE : timerValue,\n\t\t\tresetTimer: true\n\t\t});\n\t\tdispatch(INIT_TIMER);\n\t}\n};\n\nconst propertyChangedEffect = ({ state, updateState, action, dispatch }) => {\n\tconst { name, value = {} } = action.payload;\n\tconst { liveUpdate, formData } = state.properties;\n\tconst isSameUser =\n\t\t!value.updatedBy ||\n\t\tvalue.updatedBy.username === formData.userSession.userName;\n\tif (name === 'liveUpdate') {\n\t\tupdateState({\n\t\t\tinitialTime: extractTimeFromString(liveUpdate.value),\n\t\t\tresetTimer: isSameUser\n\t\t});\n\t} else if (name === 'formData') {\n\t\tconst t1 = normalizeTimeStrToSeconds(state.initialTime);\n\t\tconst t2 = normalizeTimeStrToSeconds(state.properties.initialValue);\n\n\t\tif (!Number.isNaN(t1) && !Number.isNaN(t2) && t1 !== t2) {\n\t\t\tdispatch(PRIVATE_UPDATE_TOTAL_TIME);\n\t\t}\n\t}\n};\n\nconst valueChangedEffect = ({ state, updateState, action, dispatch }) => {\n\tconst { value } = action.payload;\n\tconst {\n\t\tinitialTime,\n\t\ttimerValue,\n\t\ttimerPaused,\n\t\tproperties: { name }\n\t} = state;\n\n\tdispatch(CLEAR_TIMER); // Clears the timer and starts a new one\n\n\tconst newValue = newHourAndMinute(timerValue, value);\n\n\tupdateState({\n\t\ttimerValue: newValue,\n\t\ttimerValueUpdated: true,\n\t\tresetTimer: true\n\t});\n\n\tdispatchFormData(\n\t\tname,\n\t\tupdateState,\n\t\tdispatch,\n\t\tinitialTime,\n\t\tnewValue,\n\t\ttimerPaused\n\t);\n\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'time-worked' }\n\t});\n\n\tdispatch(SET_NEW_TIMER);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: initTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[INIT_TIMER]: {\n\t\teffect: initTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[INCREMENT_TIMER]: {\n\t\teffect: incrementTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[SET_NEW_TIMER]: {\n\t\teffect: setNewTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[STOP_TIMER]: {\n\t\teffect: stopTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[START_TIMER]: {\n\t\teffect: startTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[CLEAR_TIMER]: {\n\t\teffect: clearTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: nowButtonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[OK_CLICKED]: {\n\t\teffect: valueChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: toggleEditPopoverEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedEffect\n\t},\n\t[PRIVATE_UPDATE_TOTAL_TIME]: {\n\t\teffect: updateTotalTimeEffect\n\t}\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@devsnc/sn-record-duration';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport styles from './TimeWorked.scss';\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_POPOVER_OPENED_SET,\n\tOK_CLICKED,\n\tSN_RECORD_DURATION_VALUE_CHANGED,\n\tSN_RECORD_DURATION_STAGED_VALUE_CHANGED,\n\tTIME_WORKED_EDIT_POPOVER,\n\tDEFAULT_EDIT_TIME_VALUE\n} from './constants';\nimport { extractTimeFromString } from './utils';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n// destructuring the properties object to get the editTimeValue as a string\nexport const setInitialState = ({ properties: { editTimeValue } }) => {\n\treturn {\n\t\teditTimeValue\n\t};\n};\n\nexport const actionHandlers = {\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: ({ action, dispatch, state }) => {\n\t\t\tconst { buttonType } = action.payload;\n\t\t\tconst { editTimeValue } = state;\n\t\t\tswitch (buttonType) {\n\t\t\t\tcase 'confirm-cancel':\n\t\t\t\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\ttype: TIME_WORKED_EDIT_POPOVER,\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'confirm-ok':\n\t\t\t\t\tdispatch(OK_CLICKED, {\n\t\t\t\t\t\tvalue: extractTimeFromString(\n\t\t\t\t\t\t\teditTimeValue || DEFAULT_EDIT_TIME_VALUE\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\ttype: TIME_WORKED_EDIT_POPOVER,\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_DURATION_VALUE_CHANGED]: {\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_DURATION_STAGED_VALUE_CHANGED]: {\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tconst { name, value } = action.payload;\n\t\t\tif (name === 'editTimeValue') {\n\t\t\t\tupdateState({ editTimeValue: value });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nexport const onValueChange =\n\tupdateState =>\n\t({ value }) =>\n\t\tupdateState({ editTimeValue: value });\n\nexport const view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { name },\n\t\teditTimeValue\n\t} = state;\n\treturn (\n\t\t<div className=\"time-worked-popover-content\">\n\t\t\t<sn-record-duration\n\t\t\t\tname={`${name}-time-worked-time-picker`}\n\t\t\t\tlabel={t('Edit session time')}\n\t\t\t\tvalue={editTimeValue}\n\t\t\t\tmaxUnit=\"hours\"\n\t\t\t\thideUnitLabels\n\t\t\t\tsecondsReadOnly\n\t\t\t\tseparator=\":\"\n\t\t\t\tonValueChange={onValueChange(updateState)}\n\t\t\t\tdisableTracking\n\t\t\t/>\n\t\t\t<div className=\"time-worked-confirmation\">\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{ buttonType: 'confirm-cancel' }}\n\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{ buttonType: 'confirm-ok' }}\n\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst COMPONENT_NAME = 'sn-record-time-worked-popover-content';\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\t\tname: {},\n\t\teditTimeValue: {}\n\t},\n\tactionHandlers\n});\n\nexport default COMPONENT_NAME;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { t } from 'sn-translate';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations\n} from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\nimport { addTimes, extractTimeFromString } from './utils';\nimport {\n\tPAUSE,\n\tRESUME,\n\tDEFAULT_TIMER_VALUE,\n\tDEFAULT_INTERNAL_TIMER_DATA,\n\tTIME_WORKED_EDIT_POPOVER,\n\tEDIT_SESSION_TIME,\n\tRESUME_SESSION_TIME,\n\tPAUSE_SESSION_TIME\n} from './constants';\nimport './TimeWorkedPopoverContent';\nimport styles from './TimeWorked.scss';\n\nexport const view = state => {\n\tconst {\n\t\tproperties,\n\t\ttimerPaused,\n\t\ttimerValue,\n\t\tpopoverOpened,\n\t\tinternalTimerData: { editTimeValue },\n\t\tinitialTime\n\t} = state;\n\tconst { readonly, name, helperContent, messages, configAria, fieldLayout } =\n\t\tproperties;\n\tconst readOnly = isAttrTrue(readonly);\n\n\tconst timeMessages = [\n\t\t...messages,\n\t\t{\n\t\t\ttype: 'info',\n\t\t\tmessage: t('Total time: {0}', addTimes(timerValue, initialTime))\n\t\t}\n\t];\n\n\treturn (\n\t\t<now-input\n\t\t\t{...properties}\n\t\t\tvalue={timerValue}\n\t\t\treadonly\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tmessages={transformMessages(timeMessages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{readOnly ? null : (\n\t\t\t\t<now-popover\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\thideTail\n\t\t\t\t\tpositions={[\n\t\t\t\t\t\t{ target: 'top-center', content: 'bottom-center' },\n\t\t\t\t\t\t{ target: 'bottom-center', content: 'top-center' }\n\t\t\t\t\t]}\n\t\t\t\t\tdisableScroll\n\t\t\t\t\tmanageOpened\n\t\t\t\t\topened={popoverOpened}\n\t\t\t\t\tappend-to-payload={{ type: TIME_WORKED_EDIT_POPOVER }}\n\t\t\t\t>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tappend-to-payload={{ buttonType: 'edit' }}\n\t\t\t\t\t\ttooltipContent={EDIT_SESSION_TIME}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': EDIT_SESSION_TIME\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<sn-record-time-worked-popover-content\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\teditTimeValue={editTimeValue}\n\t\t\t\t\t><\/sn-record-time-worked-popover-content>\n\t\t\t\t<\/now-popover>\n\t\t\t)}\n\t\t\t{readOnly ? null : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon={timerPaused ? 'circle-play-outline' : 'circle-pause-outline'}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\tappend-to-payload={{ buttonType: timerPaused ? RESUME : PAUSE }}\n\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\ttimerPaused ? RESUME_SESSION_TIME : PAUSE_SESSION_TIME\n\t\t\t\t\t}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': timerPaused\n\t\t\t\t\t\t\t\t? RESUME_SESSION_TIME\n\t\t\t\t\t\t\t\t: PAUSE_SESSION_TIME\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport const setInitialState = ({\n\tproperties: { initialValue, autoStart }\n}) => {\n\tconst initialTime = extractTimeFromString(initialValue);\n\treturn {\n\t\tinternalTimerData: {\n\t\t\t...DEFAULT_INTERNAL_TIMER_DATA,\n\t\t\ttimerStarted: autoStart ? new Date().getTime() : undefined\n\t\t},\n\t\ttimerPaused: false,\n\t\ttimerValue: DEFAULT_TIMER_VALUE,\n\t\tpopoverOpened: false,\n\t\tinitialTime,\n\t\ttimerValueUpdated: false\n\t};\n};\n\nconst COMPONENT_NAME = 'sn-record-time-worked-connected';\n\n/**\n * This should only be used via the controlElementFactory\n *\n * @seismicElement sn-record-time-worked-connected\n * @summary A timer that ticks every second to indicate how long a user is on a form\n * The timer value can be editted. The timer can also be paused.\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tsetInitialState,\n\tproperties: {\n\t\t/**\n\t\t * Timer automatically starts.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoStart: { default: true },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The field name\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Label for the component.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Initial value for the timer input\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: { default: '0 00:00:00' },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {},\n\tstyles,\n\tbehaviors: [trackBehavior]\n});\n\nexport default COMPONENT_NAME;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\ttrackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nimport '@devsnc/sn-record-choice-connected';\nimport '@devsnc/sn-record-input-connected';\nimport '@devsnc/sn-record-auto-number-connected';\nimport '@devsnc/sn-record-code-editor';\nimport '@devsnc/sn-record-content-tree-connected';\nimport '@servicenow/now-record-number';\nimport '@devsnc/sn-record-checkbox-group';\nimport '../connectedphone/ConnectedPhone';\nimport '@devsnc/sn-record-email';\nimport '@servicenow/now-record-field-lookup-connected';\nimport '@devsnc/sn-record-currency-connected';\nimport '@devsnc/sn-record-price-connected';\nimport '@devsnc/sn-record-duration';\nimport '@devsnc/sn-record-url';\nimport '@servicenow/now-record-ip-address';\nimport '@devsnc/sn-record-version';\nimport '@devsnc/sn-record-reference-connected';\nimport '@devsnc/sn-record-user-roles-lookup-connected';\nimport '@servicenow/now-record-html-editor';\nimport '@devsnc/sn-record-file-attachment';\nimport '@devsnc/sn-record-field-list-connected';\nimport '@devsnc/sn-record-list-select';\nimport '../template-value'; //sn-record-template-value-connected\nimport '@devsnc/sn-record-tablename-connected';\nimport '../connectedfieldname/ConnectedFieldName';\nimport '../connecteddocumentid/ConnectedDocumentId';\nimport '../connectedwikitext/ConnectedWikiText';\nimport '../connectedtimeworked/TimeWorked';\n\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-glide-query-base', {\n\tview: withValueChangeCallbacksView(GlideQueryBaseSeismic),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\n\t\t/**\n\t\t * Dictionary values and attributes for the field\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {},\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Function to get variables for datasource read.\n\t\t *\n\t\t * @param {String} input - The current value of the input\n\t\t * @return {Object?} variables - Variables passed to the datasource read\n\t\t * call. If this returns null/undefined, the read call will not be triggered.\n\t\t */\n\t\tgetVariables: {},\n\n\t\t/**\n\t\t * Maps the datasource result into arrays of options and recents, to be\n\t\t * displayed as choices in the dropdown.\n\t\t *\n\t\t * @param {Object} data - GraphQL result data\n\t\t * @return {Object} An object with the following shape:\n\t\t *\t @property {Array} recents\n\t\t *\t @property {Array} options\n\t\t *\n\t\t * Both `recents` and `options` should have the following shape:\n\t\t * @property {any} value - The underlying value for the item\n\t\t * @property {String} displayValue - User-friendly display for the item\n\t\t */\n\t\tmapResults: {\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t */\n\t\tdisableEmailFreeformEntry: { default: false },\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t */\n\t\tnoEmail: { default: false },\n\n\t\t/**\n\t\t * Callback to show record\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t */\n\t\thideReferenceIcon: { default: false },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * LiveUpdate info\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Flag to indicate the results are loading\n\t\t */\n\t\tisSearching: { default: false },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\n\t\tsearchUsingStartsWith: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to including the header of dropdown\n\t\t */\n\t\tincludeHeaders: {},\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @private\n\t\t */\n\t\tdisableTracking: {},\n\n\t\thighlightedValue: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\n\t\t * \t\t\t\t\t }\n\t\t * \t\t\t\t }\n\t\t * \t\t\t }\n\t\t * \t\t }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: [\n\t\t{\n\t\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t],\n\tbehaviors: [trackBehavior, withValueChangeCallbackBehavior, queryBaseBehavior]\n});\n","import '@devsnc/sn-form-controls';\nimport '@devsnc/sn-declarative-actions';\nimport './seismic-components/index';\n\n// export utilities\nexport { default as controlElementFactory } from './base/controlElementFactory';\nimport { FIELD_TYPE as Types } from '@devsnc/sn-controls-common';\nexport const FieldType = Types;\n","import { t } from \"sn-translate\";\n\n// Some defaults used by tinymce v4 compatibility layer\n// TODO: remove when compatibility layer gets removed\nexport const DEFAULT_MIN_HEIGHT = 300;\nexport const DEFAULT_HEIGHT = 500;\nexport const DEFAULT_MAX_HEIGHT = 600;\n\n\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_SELECTED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#SELECTED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_ACTION_CLICKED =\n\t'NOW_CONTENT_TREE#ACTION_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const PRIVATE_LOADING_REQUESTED = 'PRIVATE#LOADING_REQUESTED';\nexport const SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER =\n\t'SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER';\nexport const SELECT_SINGLE = 'single';\nexport const SELECT_MULTI = 'multi';\nexport const NO_VARIABLES_AVAILABLE = t('No variables are available');\nexport const CONFIGURE_TABLE = t('Please add or configure a table to display values.');\nexport const TABLE = t('Table');","import { isEqual, isFunction } from 'lodash';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { findChildPath, parseTree } from '@devsnc/sn-controls-common';\nimport {\n\tFETCH_XML,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tSN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_SELECTED_ITEMS_SET,\n\tNOW_CONTENT_TREE_ACTION_CLICKED,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tPRIVATE_LOADING_REQUESTED,\n\tSELECT_SINGLE,\n\tSELECT_MULTI,\n\tSN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER\n} from './constants';\nimport { propertyChangedEffect } from './effects';\nimport { t } from 'sn-translate';\n\nconst FETCH_CONTENT_TREE_API = '/xmlhttp.do';\nconst FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item',\n\t'sysparm_scope',\n\t'sysparm_value',\n\t'sysparm_table_name',\n\t'sysparm_is_template',\n\t'sysparm_apply_template_acls',\n\t'sysparm_flag_indexed',\n\t'sysparm_include_sysid'\n];\n\nlet dispatchItemClickedWithPayload;\n\nexport const dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: { dependentValue }\n\t} = state;\n\n\tlet params = {\n\t\tsysparm_processor: 'SysMeta',\n\t\tsysparm_scope: 'global',\n\t\tsysparm_want_session_messages: true,\n\t\tsysparm_type: 'column',\n\t\tsysparm_include_sysid: true,\n\t\tsysparm_table_name: false,\n\t\tsysparm_is_template: false,\n\t\tsysparm_apply_template_acls: false,\n\t\tsysparm_value: action?.payload?.item?.class ?? dependentValue,\n\t\tsysparm_is_excluded_role: false,\n\t\tsysparm_synch: true,\n\t\tsysparm_flag_indexed: true,\n\t\tmethod: 'getTreeNodes'\n\t};\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tdependentValue = item.id;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\ttargetPath,\n\t\texpandedItem = [['folder_root']],\n\t\tselectedItem = [],\n\t\tproperties: { dependentValue, select },\n\t\tparentItem = {\n\t\t\tlabel: t('Fields'),\n\t\t\tid: 'folder_root',\n\t\t\tactionable: true,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'folder-outline',\n\t\t\t\t\tlabel: t('Fields'),\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'tree-view-short-outline',\n\t\t\t\t\tlabel: dependentValue,\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t}\n\t\t\t],\n\t\t\ttableName: dependentValue\n\t\t}\n\t} = state;\n\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\n\tlet treeJson;\n\ttreeJson = parseTree(action.payload, parentItem);\n\tif (!expandItem?.label) {\n\t\tlet updatedNodes = [];\n\t\tupdatedNodes.unshift({\n\t\t\t...parentItem,\n\t\t\tchildren: treeJson\n\t\t});\n\t\ttreeJson = updatedNodes;\n\t}\n\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tupdateState({\n\t\ttreeItems: treeItems\n\t});\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t}\n\n\tlet toBeExpandedItem = -1;\n\tif (select === SELECT_SINGLE) {\n\t\ttoBeExpandedItem = treeJson.findIndex(item => item.id === targetPath[0]);\n\n\t\tupdateState({\n\t\t\tpath: 'targetPath',\n\t\t\tvalue: '',\n\t\t\toperation: 'splice',\n\t\t\tstart: 0,\n\t\t\tdeleteCount: 1\n\t\t});\n\t}\n\tif (toBeExpandedItem != -1) {\n\t\tconst selectedItemPath = Array.isArray(selectedItem[0])\n\t\t\t? selectedItem[0]\n\t\t\t: selectedItem;\n\t\tdispatch(PRIVATE_LOADING_REQUESTED, {\n\t\t\titem: treeJson[toBeExpandedItem],\n\t\t\tpath: [...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t});\n\t\tif (targetPath.length > 1) {\n\t\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\t\tvalue: [\n\t\t\t\t\t...expandedItem,\n\t\t\t\t\ttreeJson[toBeExpandedItem].id,\n\t\t\t\t\t[...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t} else {\n\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\tvalue: [...expandedItem]\n\t\t});\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst dispatchItemClicked = payload => (selectedItem, state, dispatch) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tif (select === SELECT_MULTI) {\n\t\tpayload.isSelected = false;\n\t\tfor (let i = 0; i < selectedItem.length; i++) {\n\t\t\tif (payload.value === selectedItem[i][selectedItem[i].length - 1]) {\n\t\t\t\tpayload.isSelected = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatch(SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED, payload);\n};\n\nconst nowContentTreeClickedHandler = ({ action, state }) => {\n\tconst { item } = action.payload;\n\tconst {\n\t\tproperties: { referenceTable, referenceKey }\n\t} = state;\n\tlet payload;\n\tif (referenceTable === item.class) {\n\t\tpayload = {\n\t\t\tvalue: referenceKey ? item[referenceKey] : item.id,\n\t\t\tdisplayValue: item.label\n\t\t};\n\t} else {\n\t\tpayload = {\n\t\t\tvalue: referenceKey\n\t\t\t\t? state.parentItem[referenceKey]\n\t\t\t\t: state.parentItem.id,\n\t\t\tdisplayValue: state.parentItem.label\n\t\t};\n\t}\n\tdispatchItemClickedWithPayload = dispatchItemClicked(payload);\n};\n\nconst nowContentTreeSelectedItemSetHandler = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { value } = action.payload;\n\tupdateState({\n\t\tselectedItem: value\n\t});\n\tif (isFunction(dispatchItemClickedWithPayload)) {\n\t\tdispatchItemClickedWithPayload(value, state, dispatch);\n\t}\n\tdispatchItemClickedWithPayload = undefined;\n};\n\nexport default {\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: nowContentTreeClickedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_SELECTED_ITEMS_SET]: {\n\t\teffect: nowContentTreeSelectedItemSetHandler,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ACTION_CLICKED]: {\n\t\teffect: ({ action, state, updateState }) => {\n\t\t\tif (\n\t\t\t\tstate.popoverOpen &&\n\t\t\t\tstate.popoverTarget !== action.payload.actionTarget\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverTarget: action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: !state.popoverOpen,\n\t\t\t\t\tpopoverTarget: state.popoverOpen ? null : action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER]: {\n\t\teffect: ({ state, updateState }) => {\n\t\t\tif (state.popoverOpen) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\tpopoverTarget: null,\n\t\t\t\t\tpopoverContent: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: ({ action, host }) => {\n\t\t\tif (action?.payload?.item?.nodeLabel && action?.payload?.item?.nodeName) {\n\t\t\t\tconst label =\n\t\t\t\t\taction?.payload?.item?.nodeLabel +\n\t\t\t\t\t': ${' +\n\t\t\t\t\taction?.payload?.item?.nodeName +\n\t\t\t\t\t'}';\n\t\t\t\tconst htmlEditorId = host.shadowRoot\n\t\t\t\t\t.querySelector('now-record-html-editor')\n\t\t\t\t\t?.getProperty('nowId');\n\t\t\t\tif (htmlEditorId) {\n\t\t\t\t\twindow.tinymce\n\t\t\t\t\t\t.get(`html-${htmlEditorId}`)\n\t\t\t\t\t\t.execCommand('mceInsertContent', false, label);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect\n};\n","import { isFunction } from 'lodash';\nimport { dispatchFetchXML } from './actionHandler';\n\nexport const propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate,\n\tdispatch\n}) => {\n\tif (name === 'dependentValue' && value !== previousValue) {\n\t\tdispatchFetchXML(state, dispatch);\n\t}\n};\n\n\nexport const editorOnResizeEffect = ({\n\tproperties: { onResize },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\tif (isFunction(onResize)) {\n\t\tonResize(event);\n\t}\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-content-tree';\nimport '@servicenow/now-record-html-editor';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-loader';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport makeClass from 'classnames';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-resizable-panes';\n\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tisAttrTrue,\n\ttrackBehavior,\n\tdynamicTranslationBehaviour,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\tgetBaseURL\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tEDITOR_SET_FOCUS,\n\tCONFIGURE_TABLE,\n\tNO_VARIABLES_AVAILABLE,\n\tTABLE\n} from './constants';\n\nimport style from './html.scss';\n\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport actionHandler, { dispatchFetchXML } from './actionHandler';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleResizeObserverForContentTree } from './Utils';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tinymce.com).\n *\n * The parent application/component must provide a reference to a tinymce core\n * instance. When unavailable (or not provided), this component renders a\n * regular textarea.\n *\n * Note that this component is _always_ uncontrolled. Trying to control TinyMCE\n * just makes everybody sad.\n */\nconst NowHtmlScript = state => {\n\tconst {\n\t\tproperties,\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\teditorHeight,\n\t\tstackContainer\n\t} = state;\n\n\tconst {\n\t\tdependentValue,\n\t\tselect,\n\t\tdescription,\n\t\trequired,\n\t\tinvalid,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tdependentDisplayValue,\n\t\tdependentField,\n\t\tdependentFieldLabel,\n\t\tshowUnsavedIndicator\n\t} = properties;\n\n\tconst htmlEditor = (\n\t\t<now-record-html-editor\n\t\t\t{...properties}\n\t\t\tresizable={false}\n\t\t\tvalue={value}\n\t\t\theight={editorHeight}\n\t\t/>\n\t);\n\n\tconst contentTree = (\n\t\t<div\n\t\t\tclassName={makeClass('content-tree', {\n\t\t\t\t'content-tree-readonly': readonly ? true : false\n\t\t\t})}\n\t\t>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\tname={name}\n\t\t\t\tlabel={t('Select Variables')}\n\t\t\t\tdescription={description}\n\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass('content-tree-css-parent', {\n\t\t\t\t\t\t'content-tree-css-parent-resize': true,\n\t\t\t\t\t\t'content-tree-css-border': !stackContainer\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: `${DEFAULT_MAX_HEIGHT}px`,\n\t\t\t\t\t\tminHeight: `${DEFAULT_MIN_HEIGHT}px`,\n\t\t\t\t\t\theight: `${DEFAULT_HEIGHT}px`\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{dependentField && dependentValue ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"content-table-name\">\n\t\t\t\t\t\t\t\t{TABLE} : {dependentDisplayValue}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t!readonly && (\n\t\t\t\t\t\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\t\t\t\t\t\toverflow={'truncate'}\n\t\t\t\t\t\t\t\t\t\t\tsize={'md'}\n\t\t\t\t\t\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t\t\t\t\t\t\texpanded-items={expandedItem}\n\t\t\t\t\t\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\t\t\t\t\t\tshowDividers={true}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"content-tree-css\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\theight: `${editorHeight}px`\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"content-tree-no-variable\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\theading={{ label: NO_VARIABLES_AVAILABLE, level: '3' }}\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\tdependentField\n\t\t\t\t\t\t\t\t\t\t? t('Select {0}, to add variables.', dependentFieldLabel)\n\t\t\t\t\t\t\t\t\t\t: CONFIGURE_TABLE\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/sn-record-control-wrapper>\n\t\t<\/div>\n\t);\n\n\treturn readonly ? (\n\t\thtmlEditor\n\t) : (\n\t\t<div className={'content-tree-container-resizable'}>\n\t\t\t{stackContainer ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<now-resizable-panes\n\t\t\t\t\t\tdefaultDividerPosition={70}\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdividerStyles={{\n\t\t\t\t\t\t\ttop: '5%',\n\t\t\t\t\t\t\theight: '93.5%'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tleft-pane-constraints='{\"minRatio\":40}'\n\t\t\t\t\t\tright-pane-constraints='{\"minRatio\":30}'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div slot=\"left\">{htmlEditor}<\/div>\n\t\t\t\t\t\t<div slot=\"right\">{contentTree}<\/div>\n\t\t\t\t\t<\/now-resizable-panes>\n\t\t\t\t<\/Fragment>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{htmlEditor}\n\t\t\t\t\t{contentTree}\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default NowHtmlScript;\n\n/**\n *\n * HTML Script Editor Component that uses TinyMCE.\n * TinyMCE for the most part, does not support incremental rendering.\n * Attempting to modify certain properties may or may not have expected or desired behavior.\n *\n * ```jsx\n * <now-record-html-script\n *\t label=\"Enter some HTMLs\"\n *\t value=\"<b>Hello<\/b> <i>World<\/i>\"\n * />\n * ```\n *\n * @seismicElement now-record-html-script\n * @summary HTML Editor Component that uses TinyMCE\n *\n * */\ncreateCustomElement('now-record-html-script', {\n\tview: withValueChangeCallbacksView(NowHtmlScript),\n\tstyles: style,\n\tactionHandlers: {\n\t\t...actionHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({ state, dispatch, updateState }) {\n\t\t\t\tlet value = [[]];\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'targetPath',\n\t\t\t\t\tvalue: value[0],\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tdispatchFetchXML(state, dispatch);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect({ host, updateState }) {\n\t\t\t\thandleResizeObserverForContentTree(host, updateState);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({\n\t\t\t\tstate: { resizeObserver, resizeObserverForParentContainer },\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t\tresizeObserverForParentContainer.disconnect();\n\t\t\t\tupdateState({\n\t\t\t\t\tresizeObserver: null,\n\t\t\t\t\tresizeObserverForParentContainer: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Image upload handler appends ZZ_YY prefix for the table by default while uploading and this prop is used to control the append behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\tignoreInlineAttachmentPrefix: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * This option allows you to specify the size of the padding at the bottom of the editor’s body set on initialization when autoresize plugin is enabled.\n\t\t * @type {number}\n\t\t * @see [autoresize_bottom_margin](https://www.tiny.cloud/docs/plugins/opensource/autoresize/#autoresize_bottom_margin)\n\t\t *\n\t\t */\n\t\tautoresizeBottomMargin: { schema: { type: 'number' } },\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t */\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Experimental feature. This is used to swap divs with spans when inside anchors.\n\t\t * Although using divs inside anchors is valid HTML5, tinymcev5 does not support it.\n\t\t * This is a workaround.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowBlockBasedAnchors: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config browser_spellcheck. Set to true to utilize the browser's native spell check functionality.\n\t\t * @see [browser_based_spellchecking](https://www.tiny.cloud/docs/general-configuration-guide/spell-checking/#browser-basedspellchecking)\n\t\t * @type {boolean}\n\t\t **/\n\t\tbrowserSpellcheck: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config content_style. CSS string to style editable area. This does _not_ affect the output html.\n\t\t * @see [content_style](https://www.tiny.cloud/docs/configure/content-appearance/#content_style)\n\t\t * @type {string}\n\t\t */\n\t\tcontentStyle: { default: '' },\n\t\t/**\n\t\t * TinyMCE config convert_urls\n\t\t * @see [convert_urls](https://www.tiny.cloud/docs/configure/url-handling/#convert_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertUrls: { default: false },\n\t\t/**\n\t\t * TinyMCE config extended_valid_elements\n\t\t * @see [extended_valid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#extended_valid_elements)\n\t\t * @type {string}\n\t\t */\n\t\textendedValidElements: { default: '' },\n\t\t/**\n\t\t * TinyMCE config font_family_formats. List of fonts to enable.\n\t\t * @type {string}\n\t\t * @see [TinyMCE_font_configuration](https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#font_family_formats)\n\t\t */\n\t\tfonts: {\n\t\t\tdefault:\n\t\t\t\t'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Journal=journal;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config min_height. The minimum height of editor including the toolbar.\n\t\t * @type {number}\n\t\t * @see [min_height](https://www.tiny.cloud/docs/configure/editor-appearance/#min_height)\n\t\t */\n\t\tminHeight: { default: DEFAULT_MIN_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config max_height. The maximum height of editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [max_height](https://www.tiny.cloud/docs/configure/editor-appearance/#max_height)\n\t\t */\n\t\tmaxHeight: { default: DEFAULT_MAX_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config toolbar.\n\t\t * @see [TinyMCE toolbar configuration](https://www.tiny.cloud/docs/configure/editor-appearance/#toolbar)\n\t\t * @type {Array<string>|string|boolean} for boolean, only false is supported\n\t\t */\n\t\ttoolbar: {\n\t\t\tdefault:\n\t\t\t\t'bold italic underline undo redo | fontfamily fontsize table | forecolor backcolor link unlink | code | alignleft aligncenter alignright | bullist numlist fullscreen'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config relativeUrls\n\t\t * @see [relative_urls](https://www.tiny.cloud/docs/configure/url-handling/#relative_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\trelativeUrls: { default: true },\n\t\t/**\n\t\t * TinyMCE config remove_script_host\n\t\t * @see [remove_script_host](https://www.tinymce.com/docs/configure/url-handling/#remove_script_host)\n\t\t * @type {boolean}\n\t\t */\n\t\tremoveHost: { default: true },\n\t\t/**\n\t\t * TinyMCE config placeholder. Placeholder string when there is no value\n\t\t * @see [placeholder](https://www.tiny.cloud/docs/configure/editor-appearance/#placeholder)\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * This setting controls how content pasted from sources other than Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_html_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_html_import)\n\t\t */\n\t\tpowerPasteHtmlImport: { default: 'clean' },\n\t\t/**\n\t\t * This setting controls how content pasted from Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_word_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_word_import)\n\t\t */\n\t\tpowerPasteWordImport: { default: 'prompt' },\n\t\t/**\n\t\t * This property allows the user to set a default target value for links when inserting/editing\n\t\t * a link via the link dialog. It can take one of four values: ['_blank', '', '_self', '_top']\n\t\t * @type {string}\n\t\t */\n\t\tdefaultLinkTarget: { default: '' },\n\t\t/**\n\t\t * Client-side HTML editor has its own context menu,\n\t\t * overriding the browser's. Holding Ctrl while right-clicking\n\t\t * bypasses the editor's context menu to show the native context menu.\n\t\t\tThis property specifies which context menu options are available.\n\t\t\tDefault value is \"link image table\" (without quotes).\n\t\t\tA value of \"false\" (without quotes) disables the editor's context menu.\n\t\t */\n\t\tcontextmenu: { default: 'link image table' },\n\t\t/**\n\t\t * List of plugins to enable. Note that TinyMCE will lazy-load these plugins\n\t\t * at runtime, so the corresponding plugin files must be hosted by the app\n\t\t * for this to work propertly.\n\t\t * @see [plugins](https://www.tiny.cloud/docs/configure/integration-and-setup/#plugins)\n\t\t * @type {string}\n\t\t */\n\t\tplugins: {\n\t\t\tdefault:\n\t\t\t\t'accordion link lists advlist table powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @see [readonly](https://www.tiny.cloud/docs/configure/integration-and-setup/#readonly)\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/*\n\t\t * ====================================================================================\n\t\t * NOTE: Below are custom service now properties not directly passed to tinymce\n\t\t * ====================================================================================\n\t\t */\n\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableMentions - Flag that needs to be true in order for the mentions to be enabled\n\t\t *\n\t\t * `type:function` fetch - Function that takes in a query and returns a promise. This promise should resolve with the mentions suggestions\n\t\t *\n\t\t * `type:string` table - Table where the mentions user exists\n\t\t *\n\t\t * `type:string` resourceTable - Table to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:string` resourceSysId - The sys_id of the element to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:{loading: string,noMatches: string,init: string}`messages - Messages to be displayed when mentions list appears\n\t\t * @type {{ enableMentions: boolean, fetch: function, table: string, resourceTable: string,resourceSysId: string, messages: {loading: string,noMatches: string,init: string}}}\n\t\t */\n\t\tconfigMentions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableMentions: { type: 'boolean' },\n\t\t\t\t\tfetch: { type: 'object' },\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tresourceTable: { type: 'string' },\n\t\t\t\t\tresourceSysId: { type: 'string' },\n\t\t\t\t\tmessages: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tloading: { type: 'string' },\n\t\t\t\t\t\t\tnoMatches: { type: 'string' },\n\t\t\t\t\t\t\tinit: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields)\n\t\t * @type {boolean}\n\t\t */\n\t\tenableCodeBlocks: { default: false },\n\t\t/**\n\t\t * Whether we want mentions to be enabled or not.\n\t\t * @deprecated Use configMentions.enableMentions.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenableMentions: { default: false },\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t */\n\t\tmentions: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Whether the field is a journal input field or not.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisJournal: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Stringified object containing tinymce menubar configurations\n\t\t * Is deprecated, and will be removed after Zurich. For all similar\n\t\t * purposes, use htmlEditorConfigs.\n\t\t * @type {string}\n\t\t */\n\t\tmenuConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Stringified object containing tinymce configurations from sys_script_include script\n\t\t * @type {string}\n\t\t */\n\t\thtmlEditorConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * The initial number of lines that should be visible in the editor.\n\t\t * Also sets minHeight if not already defined\n\t\t * @type {number}\n\t\t * @deprecated Will be removed in future version. Please use minHeight and height instead, you can approximate equivalent height as follows: (minLineCount * 24) + 11.\n\t\t */\n\t\tminLineCount: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * onResize event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonResize: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * When rendering a html-script, whether or not to show the resize handle.\n\t\t * @type {boolean}\n\t\t */\n\t\tresizable: { default: true },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When provided, allows whitelisting specific buttons for the toolbar. This\n\t\t * prop should be a comma-separated string of allowed buttons.\n\t\t *\n\t\t * When omitted, any toolbar button supported by TinyMCE can be rendered (via\n\t\t * the `toolbar` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidButtons: {},\n\t\t/**\n\t\t * When provided, allows whitelisting specific plugins. This\n\t\t * prop should be a comma-separated string of allowed plugins.\n\t\t *\n\t\t * When omitted, any plugin supported by TinyMCE can be loaded (via\n\t\t * the `plugins` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidPlugins: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * BaseURL of the instance, used in case of embeddables flow, otherwise it will be empty.\n\t\t * @type {string}\n\t\t */\n\t\tbaseURL: { default: getBaseURL() },\n\t\t/**\n\t\t * Controls the set of colors to use for the content area.\n\t\t *\n\t\t * The variant names refer to the color of the background on the default theme, but the actual colors may vary\n\t\t * if another theme is applied.\n\t\t *\n\t\t * The following variants are available:\n\t\t * `neutral`, `yellow`, `magenta`, `pink`, `orange`, `brown`, `green`, `green-yellow` and `blue`.\n\t\t *\n\t\t * Any other values will default to `neutral`.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvariant: { default: 'neutral' },\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields).\n\t\t * please use `enableCodeBlocks` instead\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tuseCodeBlocks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Whether to convert the image blobs to base 64\n\t\t * by default we will convert to base64\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertBlobsToBase64: { default: true },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * This setting controls the filtering of inline elements while pasting from MS Word to editor.\n\t\t * @type {string}\n\t\t * @see [powerpaste_clean_filtered_inline_elements](https://www.tiny.cloud/docs/plugins/premium/powerpaste/#powerpaste_clean_filtered_inline_elements)\n\t\t */\n\t\tpowerPasteFilterInlineElements: { default: 'strong, b' },\n\t\t/**\n\t\t * Allows to re-dispatch the VALUE_CHANGED event every time the stage value is modified\n\t\t * and the component is blurred even if the value matches the last dispatched VALUE_CHANGED event.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowFieldChangesAfterEveryStageChange: { default: false },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies processor and other properties to be used for http request.\n\t\t * @type {object}\n\t\t */\n\t\ttreePickerConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Name of table where content tree is used.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Field which is rendered as content tree.\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Dependent field for the fieldName: Value of fieldName depends on dependentField.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent value for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Field Label for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Display Value for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentDisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Reference table for fieldName.\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Key to use for the underlying value instead of sys_id\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Used in domain separation.\n\t\t * @type {string}\n\t\t */\n\t\tdomainId: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Query containting value for all parameter.\n\t\t * @type {string}\n\t\t */\n\t\tquery: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []],\n\t\tresizeObserver: null,\n\t\tresizeObserverForParentContainer: null,\n\t\teditorHeight: DEFAULT_HEIGHT,\n\t\tstackContainer: true\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_SCRIPT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_SCRIPT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: function (host, dispatch) {\n\t\t\t\t\tdispatch(EDITOR_SET_FOCUS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import { debounce } from 'lodash';\nimport { DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT } from './constants';\n\nexport function handleResizeObserverForContentTree(host, updateState) {\n\tlet stackContainer = true;\n\tconst DEBOUNCER_DELAY = 200;\n\tconst el = host.shadowRoot.querySelector('.content-tree-css-parent');\n\tconst parentEl = host.shadowRoot.querySelector(\n\t\t'.content-tree-container-resizable'\n\t);\n\n\tlet resizeObserverDebounced = debounce(entries => {\n\t\tupdateState({\n\t\t\teditorHeight: Math.max(\n\t\t\t\tDEFAULT_MIN_HEIGHT,\n\t\t\t\tMath.min(DEFAULT_MAX_HEIGHT, parseInt(entries[0].target.offsetHeight))\n\t\t\t)\n\t\t});\n\t}, DEBOUNCER_DELAY);\n\n\tlet resizeObserverForParentContainerDebounced = debounce(entries => {\n\t\tconst parentWidth = entries[0].target.offsetWidth;\n\n\t\tif (parentWidth < 500) {\n\t\t\tstackContainer = false;\n\t\t} else {\n\t\t\tstackContainer = true;\n\t\t}\n\t\tupdateState({\n\t\t\tstackContainer,\n\t\t\teditorHeight: host.shadowRoot.querySelector('.content-tree-css-parent')\n\t\t\t\t.offsetHeight\n\t\t});\n\t}, DEBOUNCER_DELAY);\n\n\tupdateState({\n\t\tresizeObserverForParentContainer: new ResizeObserver(\n\t\t\tresizeObserverForParentContainerDebounced\n\t\t).observe(parentEl),\n\t\tresizeObserver: new ResizeObserver(resizeObserverDebounced).observe(el),\n\t\tstackContainer,\n\t\tshouldRender: false\n\t});\n}\n","import { isFunction } from 'lodash';\nimport makeClass from 'classnames';\n\nimport { hasProp } from '@devsnc/sn-controls-common';\nimport { createSlot, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-text-link';\n\nexport const handleRef = innerRef => node => {\n\tif (isFunction(innerRef)) {\n\t\tinnerRef(node);\n\t}\n};\n\nconst renderLegacyLink = (properties, children) => {\n\tconst {\n\t\tinnerRef,\n\t\tvariant,\n\t\tsize,\n\t\tconfigAria,\n\t\thref,\n\t\ttarget,\n\t\trel,\n\t\trole,\n\t\tcomponentId,\n\t\tslot,\n\t\treadonly\n\t} = properties;\n\tconst className = makeClass('sn-record-link', {\n\t\t[`-${variant}`]: variant,\n\t\t[`-${size}`]: size\n\t});\n\n\tconst ariaDescribedby =\n\t\tconfigAria && configAria['aria-describedby']\n\t\t\t? configAria['aria-describedby']\n\t\t\t: properties.ariaDescribedby;\n\n\tconst ariaLabel =\n\t\tconfigAria && configAria['aria-label']\n\t\t\t? configAria['aria-label']\n\t\t\t: properties.ariaLabel;\n\n\tconst ariaLabelledby =\n\t\tconfigAria && configAria['aria-labelledby']\n\t\t\t? configAria['aria-labelledby']\n\t\t\t: properties.ariaLabelledby;\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget={target}\n\t\t\trel={rel}\n\t\t\trole={role}\n\t\t\tid={componentId}\n\t\t\tslot={slot}\n\t\t\tclassName={className}\n\t\t\tref={handleRef(innerRef)}\n\t\t\taria-describedby={ariaDescribedby}\n\t\t\taria-label={ariaLabel}\n\t\t\taria-labelledby={ariaLabelledby}\n\t\t\taria-disabled={hasProp(readonly)}\n\t\t>\n\t\t\t<span>{children ? createSlot(children) : <slot><\/slot>}<\/span>\n\t\t<\/a>\n\t);\n};\n\nconst renderTextLink = properties => {\n\tconst { variant, configAria, href, opensWindow, label, iconEnd, iconStart } =\n\t\tproperties;\n\treturn (\n\t\t<now-text-link\n\t\t\topensWindow={opensWindow}\n\t\t\thref={href}\n\t\t\tlabel={label}\n\t\t\tvariant={variant}\n\t\t\ticonEnd={iconEnd}\n\t\t\ticonStart={iconStart}\n\t\t\tconfigAria={{ link: configAria }}\n\t\t><\/now-text-link>\n\t);\n};\n\n/**\n * Renders a hyperlink\n */\nconst SNLink = (state, children) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: { legacy }\n\t} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{legacy\n\t\t\t\t? renderLegacyLink(properties, children)\n\t\t\t\t: renderTextLink(properties)}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default SNLink;\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport {\n\tcheckAutofocus,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps\n} from '@devsnc/sn-controls-common';\nimport SNLink from './SNLink';\nimport style from './link.scss';\nimport { isFunction } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst { COMPONENT_RENDERED } = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDERED]: ({ host, properties: { autofocus } }) => {\n\t\tconst anchor = host.shadowRoot.querySelector('a');\n\t\tcheckAutofocus(autofocus, anchor);\n\t}\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: [\n\t\t\t'click',\n\t\t\t'mouseenter',\n\t\t\t'mouseleave',\n\t\t\t'focus',\n\t\t\t'blur',\n\t\t\t'keydown',\n\t\t\t'keyup',\n\t\t\t'keypress'\n\t\t],\n\t\teffect: ({ action, properties }) => {\n\t\t\tconst event = action.payload?.event;\n\t\t\tconst {\n\t\t\t\tonClick,\n\t\t\t\tonMouseEnter,\n\t\t\t\tonMouseLeave,\n\t\t\t\tonFocus,\n\t\t\t\tonBlur,\n\t\t\t\tonKeyDown,\n\t\t\t\tonKeyUp,\n\t\t\t\tonKeyPress\n\t\t\t} = properties;\n\n\t\t\tconst eventMap = {\n\t\t\t\tclick: onClick,\n\t\t\t\tmouseenter: onMouseEnter,\n\t\t\t\tmouseleave: onMouseLeave,\n\t\t\t\tfocus: onFocus,\n\t\t\t\tblur: onBlur,\n\t\t\t\tkeydown: onKeyDown,\n\t\t\t\tkeyup: onKeyUp,\n\t\t\t\tkeypress: onKeyPress\n\t\t\t};\n\n\t\t\tconst handler = eventMap[event.type];\n\t\t\tif (isFunction(handler)) handler(event);\n\t\t}\n\t}\n];\n\ncreateCustomElement('sn-record-link', {\n\tview: SNLink,\n\tstyles: style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\n\t\t/**\n\t\t * [URL that is linked to](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href)\n\t\t */\n\t\thref: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * [Where to display URL](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target)\n\t\t */\n\t\ttarget: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * [Relationship of target object](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel)\n\t\t */\n\t\trel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Size of the link\n\t\t */\n\t\tsize: {},\n\n\t\t/**\n\t\t * Style variant\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaLabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaDescribedby: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaLabelledby: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Fallback to legacy slot based anchor tag instead of the design system text link\n\t\t */\n\t\tlegacy: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Opens link in a new window or tab (depending on user's browser configuration). Not applicable in legacy mode\n\t\t */\n\t\topensWindow: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * If defined, specifies the icon to display at the end of the text link. Not applicable in legacy mode\n\t\t */\n\t\ticonEnd: { schema: { type: 'string' } },\n\t\t/**\n\t\t * If defined, specifies the icon to display at the start of the text link. Not applicable in legacy mode\n\t\t */\n\t\ticonStart: { scheman: { type: 'string' } }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\teventHandlers\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { isObject, escapeRegExp } from 'lodash';\nimport '@servicenow/now-highlighted-value';\n\nexport default function OptionUser({\n\tlabel,\n\tsecondary,\n\tvalue,\n\tdelimiter,\n\tsearchTerm,\n\tsearchUsingStartsWith = true\n}) {\n\tlet primaryLabelMatched = false;\n\tlet pre, match, post;\n\tlet escapedSearchTerm = escapeRegExp(searchTerm);\n\tif (escapedSearchTerm) {\n\t\t({ pre, match, post } = getStringParts(label, escapedSearchTerm));\n\t\tprimaryLabelMatched =\n\t\t\tpre.length === 0 || (!searchUsingStartsWith && match.length >= 1);\n\t}\n\tlet validSecondary = normalizeSecondaryValues(secondary);\n\tlet secondaryLabelMatched = false;\n\treturn (\n\t\t<div className=\"sn-dropdown-list-item-content\">\n\t\t\t<span\n\t\t\t\tclassName=\"sn-dropdown-list-item-title\"\n\t\t\t\t// show tooltip with full text on mouseover if choice is truncated\n\t\t\t\t// same pattern used in NDS components\n\t\t\t\tonMouseOver={({ target }) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.parentElement.offsetWidth < target.parentElement.scrollWidth\n\t\t\t\t\t) {\n\t\t\t\t\t\ttarget.title = label;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{primaryLabelMatched ? (\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{pre}\n\t\t\t\t\t\t<span className=\"highlight\">{match}<\/span>\n\t\t\t\t\t\t{post}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<span>{label || `(${t('empty')})`}<\/span>\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t\t{validSecondary &&\n\t\t\t\tvalidSecondary.map((secondaryOption, i) => {\n\t\t\t\t\tlet delim = '';\n\t\t\t\t\tlet secondaryValue;\n\n\t\t\t\t\tif (!secondaryOption.isHighlighted) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!primaryLabelMatched &&\n\t\t\t\t\t\t\tescapedSearchTerm &&\n\t\t\t\t\t\t\t!secondaryLabelMatched\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsecondaryValue = getSecondaryHighlight(\n\t\t\t\t\t\t\t\tgetStringParts(secondaryOption.value, escapedSearchTerm),\n\t\t\t\t\t\t\t\tsearchUsingStartsWith\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsecondaryLabelMatched = secondaryValue ? true : false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!secondaryValue)\n\t\t\t\t\t\t\tsecondaryValue = (\n\t\t\t\t\t\t\t\t<span className=\"secondary-value\">{secondaryOption.value}<\/span>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\t\tdelim = (\n\t\t\t\t\t\t\t\t<span className=\"sn-secondary-delimiter\">\n\t\t\t\t\t\t\t\t\t{delimiter !== undefined ? delimiter : ' | '}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (secondaryOption.isHighlighted) {\n\t\t\t\t\t\tsecondaryValue = (\n\t\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\t\tlabel={secondaryOption.value}\n\t\t\t\t\t\t\t\tstatus={secondaryOption.status}\n\t\t\t\t\t\t\t\tshow-icon={secondaryOption.showIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment key={`${value}-secondary-${secondaryOption.value}`}>\n\t\t\t\t\t\t\t{delim}\n\t\t\t\t\t\t\t{secondaryValue}\n\t\t\t\t\t\t<\/React.Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t<\/div>\n\t);\n}\n\nexport function normalizeSecondaryValues(secondaryValues = []) {\n\treturn secondaryValues.reduce((normalizedSecondaryValues, secondaryValue) => {\n\t\tif (secondaryValue) {\n\t\t\tif (!isObject(secondaryValue)) {\n\t\t\t\tnormalizedSecondaryValues.push({ value: secondaryValue });\n\t\t\t} else {\n\t\t\t\tnormalizedSecondaryValues.push(secondaryValue);\n\t\t\t}\n\t\t}\n\t\treturn normalizedSecondaryValues;\n\t}, []);\n}\n\nexport function getSecondaryHighlight(\n\t{ pre = '', match = '', post = '' },\n\tsearchUsingStartsWith\n) {\n\tif (match == '') {\n\t\treturn null;\n\t}\n\n\tif (pre.length === 0 || (!searchUsingStartsWith && match.length >= 1)) {\n\t\treturn (\n\t\t\t<span className=\"secondary-value\">\n\t\t\t\t{pre}\n\t\t\t\t<span className=\"highlight\">{match}<\/span>\n\t\t\t\t{post}\n\t\t\t<\/span>\n\t\t);\n\t}\n\treturn null;\n}\n\nexport function getStringParts(value, searchTerm) {\n\tlet regex = new RegExp(`(.*?)(${searchTerm})(.*)`, 'i');\n\tlet [, pre, match = '', post = ''] = value.match(regex) || ['', value];\n\treturn { pre, match, post };\n}\n\n/**\n * propTypes\n * @type {object}\n * @property {string} value value of the option\n * @property {string} label label for the option\n * @property {array} secondary array of secondary labels for the option\n * @property {string} delimiter string delimiter to separate multiple secondary labels\n */\nOptionUser.propTypes = {\n\tvalue: PropTypes.any,\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\tsecondary: PropTypes.array,\n\tdelimiter: PropTypes.string,\n\tsearchUsingStartsWith: PropTypes.bool\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { size, map, get, first, xor, isNumber, isNil } from 'lodash';\nimport { t } from 'sn-translate';\nimport makeClass from 'classnames';\nimport '@servicenow/now-icon';\n\nimport { generateSubComponentIds } from '@devsnc/sn-controls-common';\n\nimport OptionDefault from './OptionDefault';\nimport style from './dropdown.scss';\n\nexport function AccessibilityDescription({ id, optionsLength }) {\n\tlet accessibilityMessage;\n\n\tif (optionsLength === 1) {\n\t\taccessibilityMessage = t(\n\t\t\t'1 result. Use arrow up and down keys to select result.'\n\t\t);\n\t} else if (optionsLength > 1) {\n\t\taccessibilityMessage = t(\n\t\t\t'{0} results. Use arrow up and down keys to select results.',\n\t\t\toptionsLength\n\t\t);\n\t} else {\n\t\taccessibilityMessage = t('0 results.');\n\t}\n\n\treturn (\n\t\t<span id={id} className=\"now-a11y-label\" aria-atomic aria-live=\"polite\">\n\t\t\t{accessibilityMessage}\n\t\t<\/span>\n\t);\n}\n\n/**\n * options list\n */\nclass OptionsList extends React.PureComponent {\n\tstatic componentName = 'sn-record-options-list';\n\tstatic style = style;\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.listItems = [];\n\t}\n\n\tgetRef = idx => {\n\t\treturn node => (this.listItems[idx] = node);\n\t};\n\n\t/**\n\t * Scrolls dropdown so that newly selected item is completely in view.\n\t */\n\tcomponentDidUpdate(prevProps) {\n\t\tlet newSelected = first(\n\t\t\txor(this.props.selectedSearchResults, prevProps.selectedSearchResults)\n\t\t);\n\t\tconst targetItem = get(this.listItems, newSelected);\n\n\t\tif (this.list && targetItem) {\n\t\t\tlet containerHeight = this.list.getBoundingClientRect().height;\n\t\t\tlet containerTop = this.list.scrollTop;\n\t\t\tlet containerBottom = containerTop + containerHeight;\n\t\t\tlet selectedComponentTop = targetItem.offsetTop;\n\t\t\tlet selectedComponentBottom =\n\t\t\t\tselectedComponentTop + targetItem.offsetHeight;\n\n\t\t\tif (selectedComponentTop < containerTop) {\n\t\t\t\tthis.list.scrollTop = selectedComponentTop;\n\t\t\t} else if (selectedComponentBottom > containerBottom) {\n\t\t\t\tthis.list.scrollTop = selectedComponentBottom - containerHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * render\n\t * @return {ReactElement} markup\n\t */\n\trender() {\n\t\tlet {\n\t\t\tparentId,\n\t\t\tincludeHeaders,\n\t\t\toptions,\n\t\t\trecentsCount,\n\t\t\ttotalMatchesCount,\n\t\t\ttotalMatchesCountHeaderMessage,\n\t\t\tselectedSearchResults,\n\t\t\tonClick,\n\t\t\tonHover,\n\t\t\tcurrentValues,\n\t\t\tdelimiter,\n\t\t\tsearchTerm,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches\n\t\t} = this.props;\n\n\t\tconst optionsLength = size(options);\n\t\tconst ids = generateSubComponentIds(parentId, { options: optionsLength });\n\t\tlet totalMatchesCountHeaderMSG;\n\n\t\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t\t} else if (isNumber(totalMatchesCount)) {\n\t\t\ttotalMatchesCountHeaderMSG =\n\t\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Showing 1-{0} of more than {1}',\n\t\t\t\t\t\t\toptions.length - recentsCount,\n\t\t\t\t\t\t\tmaxSearchMatches\n\t\t\t\t\t  )\n\t\t\t\t\t: t(\n\t\t\t\t\t\t\t'Showing 1-{0} of {1}',\n\t\t\t\t\t\t\toptions.length - recentsCount,\n\t\t\t\t\t\t\ttotalMatchesCount\n\t\t\t\t\t  );\n\t\t} else {\n\t\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t\t'Showing 1-{0} of {1}',\n\t\t\t\toptions.length - recentsCount,\n\t\t\t\toptions.length\n\t\t\t);\n\t\t}\n\n\t\tconst headers = {\n\t\t\t0: {\n\t\t\t\tisEnabled: recentsCount > 0,\n\t\t\t\tvalue: t('Recent Selections')\n\t\t\t},\n\n\t\t\t[recentsCount]: {\n\t\t\t\tisEnabled: options.length > recentsCount,\n\t\t\t\tvalue: totalMatchesCountHeaderMSG\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"sn-dropdown\">\n\t\t\t\t\t<AccessibilityDescription\n\t\t\t\t\t\tid={`${ids.dropdown}-description`}\n\t\t\t\t\t\toptionsLength={optionsLength}\n\t\t\t\t\t/>\n\t\t\t\t\t<ul\n\t\t\t\t\t\tid={ids.dropdown}\n\t\t\t\t\t\tclassName=\"sn-dropdown-list\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\tref={el => (this.list = el)}\n\t\t\t\t\t\taria-controls={parentId}\n\t\t\t\t\t\taria-describedby={`${ids.dropdown}-description`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{map(options, (option, idx) => {\n\t\t\t\t\t\t\tconst active = selectedSearchResults.includes(idx);\n\t\t\t\t\t\t\tconst selected = currentValues.includes(option.value);\n\n\t\t\t\t\t\t\tconst className = makeClass('sn-dropdown-list-item', {\n\t\t\t\t\t\t\t\t'is-hover': active,\n\t\t\t\t\t\t\t\t'is-hover-disabled': !active,\n\t\t\t\t\t\t\t\t'is-selected': selected\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tconst OptionType = OptionDefault;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment key={idx}>\n\t\t\t\t\t\t\t\t\t{includeHeaders && headers[idx] && headers[idx].isEnabled && (\n\t\t\t\t\t\t\t\t\t\t<li className=\"sn-dropdown-header\">{headers[idx].value}<\/li>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tid={ids.options[idx]}\n\t\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\tref={this.getRef(idx)}\n\t\t\t\t\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\t\t\t\t\taria-setsize={optionsLength}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonClick(option.value, option.displayValue);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => onHover(idx)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.props.checkSelected && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"sn-dropdown-list-selected-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t{selected && <now-icon icon=\"check-fill\" size=\"sm\" />}\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t<OptionType\n\t\t\t\t\t\t\t\t\t\t\tlabel={option.displayValue}\n\t\t\t\t\t\t\t\t\t\t\tsecondary={option.secondary}\n\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\tdelimiter={delimiter}\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<\/React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t<\/React.Fragment>\n\t\t);\n\t}\n}\n\nexport default OptionsList;\n\n/**\n * propTypes\n * @type {object}\n * @property {array} options list of options\n * @property {array} selectedSearchResults array of selected indexes\n * @property {function} onClick callback for selecting the option\n * @property {number} recentsCount No. of the recentlty seclected options.\n * @property {number} totalMatchesCount Total no. of options.\n * @property {string} totalMatchesCountHeaderMessage  Header message that'll show up on the total count dropdown group\n * @property {bool} checkSelecte  Whether there will be a checkmark on a selected item\n */\nOptionsList.propTypes = {\n\tincludeHeaders: PropTypes.bool,\n\toptions: PropTypes.array.isRequired,\n\tselectedSearchResults: PropTypes.array.isRequired,\n\tonClick: PropTypes.func,\n\trecentsCount: PropTypes.number,\n\ttotalMatchesCount: PropTypes.number,\n\ttotalMatchesCountHeaderMessage: PropTypes.string,\n\tcheckSelected: PropTypes.bool,\n\tsearchUsingStartsWith: PropTypes.bool,\n\tmaxSearchMatches: PropTypes.number\n};\n\nOptionsList.defaultProps = {\n\tincludeHeaders: false,\n\trecentsCount: 0,\n\toptions: [],\n\tcurrentValues: [],\n\tselectedSearchResults: [],\n\tcheckSelected: false\n};\n","import React from 'react';\n\nclass Dropdown extends React.PureComponent {\n\trender() {\n\t\tlet { children, dropdownRef } = this.props;\n\t\treturn <div ref={dropdownRef}>{children}<\/div>;\n\t}\n}\n\nexport default Dropdown;\n","const DropdownSeismic = (props, children) => {\n\tlet { dropdownRef } = props;\n\treturn <div ref={dropdownRef}>{children}<\/div>;\n};\n\nexport default DropdownSeismic;\n","import { registerComponents } from '@devsnc/library-register-components';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport OptionsList from './OptionsList';\nexport { default as Dropdown } from './Dropdown';\nexport { default as DropdownSeismic } from './DropdownSeismic';\nexport { OptionsList };\n\nregisterComponents(createCustomElement, {\n\t'sn-record-options-list': { component: OptionsList }\n});\n","import { isFunction } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE\n} from '@devsnc/sn-controls-common';\n\nconst optionSetEffect = ({ action, dispatch, properties }) => {\n\tconst { value } = action.payload;\n\tconst { onValueChange, name } = properties;\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue\n\t\t});\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: FIELD_TYPE.RADIO }\n\t});\n\tdispatch('NOW_RADIO_GROUP#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue\n\t});\n};\n\nexport const actionHandlers = {\n\t'NOW_RADIO_BUTTONS#VALUE_SET': {\n\t\teffect: optionSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { fieldLayoutSchema, trackBehavior } from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\nimport { view } from './view';\nimport '@servicenow/now-radio-buttons';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport style from './radio-group.scss';\n\nconst COMPONENT_NAME = 'now-radio-group';\n\n/**\n * A group of radio buttons that allows a user to select one radio button from the group\n * similar to a group of native HTML `input` element of type radio.\n *\n * ```jsx\n * const options = [{displayValue: 'Red', value: 'red'}, {displayValue: 'Red', value: 'blue'}];\n *\n * <now-radio-group options={options} />\n *\n * <now-radio-group value='red' options={options} />\n *\n * ```\n *\n * @seismicElement now-radio-group\n * @summary A group of radio buttons that allows the user to select one element from the group.\n *\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tstyles: style,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Provide a description for the radio group\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Mark selected option as invalid\n\t\t * @type {boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * The label for the radio group\n\t\t * Does not need to be unique\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Array of inline alert messages that display below the radio field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name of the group, must be unique\n\t\t * if there are multiple groups on a page\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Click event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * An array of objects representing the\n\t\t * available options in the radio group\n\t\t * each containing a displayValue to be shown\n\t\t * and an associated value\n\t\t * @type {Array<{displayValue: string, value: any}>}\n\t\t */\n\t\toptions: { default: [] },\n\t\t/**\n\t\t * Enable to show the selected radio button\n\t\t * but prevent hover and click functionality\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Enable to mark radio group as a required field\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Size of the radio button.\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: { default: 'md', schema: { type: 'string', enum: ['sm', 'md'] } },\n\t\t/**\n\t\t * The value associated with the\n\t\t * selected radio button\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * When `true` the radio buttons are arranged vertically or else horizontally.\n\t\t * @type {boolean}\n\t\t */\n\t\tvertical: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a radio button is clicked.\n\t\t * @type {{name: string, value: any}}\n\t\t */\n\t\t'NOW_RADIO_GROUP#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","import {\n\tisAttrTrue,\n\ttransformDescriptionAndMessages,\n\trenderDecorations,\n\trenderHighlightedValue,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nexport const view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\toptions,\n\t\thighlightedValue,\n\t\tfieldLayout,\n\t\tdescription,\n\t\tmessages,\n\t\tvertical,\n\t\tvalue,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = properties;\n\tconst radioOptions = options.map(o => ({\n\t\tid: o.value,\n\t\tlabel: o.displayValue,\n\t\tchecked: o.value === value\n\t}));\n\tconst layout = isAttrTrue(vertical) ? 'vertical' : 'horizontal';\n\n\treturn (\n\t\t<now-radio-buttons\n\t\t\t{...properties}\n\t\t\twrapLabel={wrapLabel}\n\t\t\toptions={radioOptions}\n\t\t\tlayout={layout}\n\t\t\tmanageValue\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(showUnsavedIndicator, SLOT_POSITIONS.LABEL_START)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-radio-buttons>\n\t);\n};\n","import * as devsncLibraryRegisterComponents from '@devsnc/library-register-components';\nif (!window.__TECTONIC__$devsnc_library_register_components_28_7_1) window.__TECTONIC__$devsnc_library_register_components_28_7_1 = devsncLibraryRegisterComponents;\nexport {devsncLibraryRegisterComponents};\nimport * as devsncLibraryBehaviorScrollWatch from '@devsnc/library-behavior-scroll-watch';\nif (!window.__TECTONIC__$devsnc_library_behavior_scroll_watch_28_7_1) window.__TECTONIC__$devsnc_library_behavior_scroll_watch_28_7_1 = devsncLibraryBehaviorScrollWatch;\nexport {devsncLibraryBehaviorScrollWatch};\nimport * as devsncSnRecordAnnotation from '@devsnc/sn-record-annotation';\nif (!window.__TECTONIC__$devsnc_sn_record_annotation) window.__TECTONIC__$devsnc_sn_record_annotation = devsncSnRecordAnnotation;\nexport {devsncSnRecordAnnotation};\nimport * as devsncSnRecordAutoNumberConnected from '@devsnc/sn-record-auto-number-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_auto_number_connected) window.__TECTONIC__$devsnc_sn_record_auto_number_connected = devsncSnRecordAutoNumberConnected;\nexport {devsncSnRecordAutoNumberConnected};\nimport * as servicenowNowRecordCheckbox from '@servicenow/now-record-checkbox';\nif (!window.__TECTONIC__$servicenow_now_record_checkbox) window.__TECTONIC__$servicenow_now_record_checkbox = servicenowNowRecordCheckbox;\nexport {servicenowNowRecordCheckbox};\nimport * as devsncSnRecordCheckboxGroup from '@devsnc/sn-record-checkbox-group';\nif (!window.__TECTONIC__$devsnc_sn_record_checkbox_group) window.__TECTONIC__$devsnc_sn_record_checkbox_group = devsncSnRecordCheckboxGroup;\nexport {devsncSnRecordCheckboxGroup};\nimport * as devsncSnRecordChoiceConnected from '@devsnc/sn-record-choice-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_choice_connected) window.__TECTONIC__$devsnc_sn_record_choice_connected = devsncSnRecordChoiceConnected;\nexport {devsncSnRecordChoiceConnected};\nimport * as devsncSnRecordCodeEditor from '@devsnc/sn-record-code-editor';\nif (!window.__TECTONIC__$devsnc_sn_record_code_editor) window.__TECTONIC__$devsnc_sn_record_code_editor = devsncSnRecordCodeEditor;\nexport {devsncSnRecordCodeEditor};\nimport * as devsncSnRecordContentTreeConnected from '@devsnc/sn-record-content-tree-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_content_tree_connected) window.__TECTONIC__$devsnc_sn_record_content_tree_connected = devsncSnRecordContentTreeConnected;\nexport {devsncSnRecordContentTreeConnected};\nimport * as devsncSnRecordControl from '@devsnc/sn-record-control';\nif (!window.__TECTONIC__$devsnc_sn_record_control) window.__TECTONIC__$devsnc_sn_record_control = devsncSnRecordControl;\nexport {devsncSnRecordControl};\nimport * as devsncSnRecordControlWrapper from '@devsnc/sn-record-control-wrapper';\nif (!window.__TECTONIC__$devsnc_sn_record_control_wrapper) window.__TECTONIC__$devsnc_sn_record_control_wrapper = devsncSnRecordControlWrapper;\nexport {devsncSnRecordControlWrapper};\nimport * as devsncSnControlsCommon from '@devsnc/sn-controls-common';\nif (!window.__TECTONIC__$devsnc_sn_controls_common_28_7_1) window.__TECTONIC__$devsnc_sn_controls_common_28_7_1 = devsncSnControlsCommon;\nexport {devsncSnControlsCommon};\nimport * as devsncSnControlsCommonQuery from '@devsnc/sn-controls-common-query';\nif (!window.__TECTONIC__$devsnc_sn_controls_common_query_28_7_1) window.__TECTONIC__$devsnc_sn_controls_common_query_28_7_1 = devsncSnControlsCommonQuery;\nexport {devsncSnControlsCommonQuery};\nimport * as devsncSnRecordCurrencyConnected from '@devsnc/sn-record-currency-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_currency_connected) window.__TECTONIC__$devsnc_sn_record_currency_connected = devsncSnRecordCurrencyConnected;\nexport {devsncSnRecordCurrencyConnected};\nimport * as servicenowNowRecordDatePicker from '@servicenow/now-record-date-picker';\nif (!window.__TECTONIC__$servicenow_now_record_date_picker) window.__TECTONIC__$servicenow_now_record_date_picker = servicenowNowRecordDatePicker;\nexport {servicenowNowRecordDatePicker};\nimport * as servicenowNowDateRangePicker from '@servicenow/now-date-range-picker';\nif (!window.__TECTONIC__$servicenow_now_date_range_picker) window.__TECTONIC__$servicenow_now_date_range_picker = servicenowNowDateRangePicker;\nexport {servicenowNowDateRangePicker};\nimport * as devsncSnRecordDropdownInternal from '@devsnc/sn-record-dropdown-internal';\nif (!window.__TECTONIC__$devsnc_sn_record_dropdown_internal) window.__TECTONIC__$devsnc_sn_record_dropdown_internal = devsncSnRecordDropdownInternal;\nexport {devsncSnRecordDropdownInternal};\nimport * as devsncSnRecordDuration from '@devsnc/sn-record-duration';\nif (!window.__TECTONIC__$devsnc_sn_record_duration) window.__TECTONIC__$devsnc_sn_record_duration = devsncSnRecordDuration;\nexport {devsncSnRecordDuration};\nimport * as devsncSnRecordEmail from '@devsnc/sn-record-email';\nif (!window.__TECTONIC__$devsnc_sn_record_email) window.__TECTONIC__$devsnc_sn_record_email = devsncSnRecordEmail;\nexport {devsncSnRecordEmail};\nimport * as devsncSnRecordEmailScript from '@devsnc/sn-record-email-script';\nif (!window.__TECTONIC__$devsnc_sn_record_email_script) window.__TECTONIC__$devsnc_sn_record_email_script = devsncSnRecordEmailScript;\nexport {devsncSnRecordEmailScript};\nimport * as devsncSnFieldAndDropdownWrapper from '@devsnc/sn-field-and-dropdown-wrapper';\nif (!window.__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper) window.__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper = devsncSnFieldAndDropdownWrapper;\nexport {devsncSnFieldAndDropdownWrapper};\nimport * as devsncSnRecordFieldListConnected from '@devsnc/sn-record-field-list-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_field_list_connected) window.__TECTONIC__$devsnc_sn_record_field_list_connected = devsncSnRecordFieldListConnected;\nexport {devsncSnRecordFieldListConnected};\nimport * as servicenowNowRecordFieldLookupConnected from '@servicenow/now-record-field-lookup-connected';\nif (!window.__TECTONIC__$servicenow_now_record_field_lookup_connected) window.__TECTONIC__$servicenow_now_record_field_lookup_connected = servicenowNowRecordFieldLookupConnected;\nexport {servicenowNowRecordFieldLookupConnected};\nimport * as devsncSnFieldSelect from '@devsnc/sn-field-select';\nif (!window.__TECTONIC__$devsnc_sn_field_select) window.__TECTONIC__$devsnc_sn_field_select = devsncSnFieldSelect;\nexport {devsncSnFieldSelect};\nimport * as devsncSnRecordFileAttachment from '@devsnc/sn-record-file-attachment';\nif (!window.__TECTONIC__$devsnc_sn_record_file_attachment) window.__TECTONIC__$devsnc_sn_record_file_attachment = devsncSnRecordFileAttachment;\nexport {devsncSnRecordFileAttachment};\nimport * as devsncSnFormControls from '@devsnc/sn-form-controls';\nif (!window.__TECTONIC__$devsnc_sn_form_controls) window.__TECTONIC__$devsnc_sn_form_controls = devsncSnFormControls;\nexport {devsncSnFormControls};\nimport * as devsncSnGlideFormControls from '@devsnc/sn-glide-form-controls';\nif (!window.__TECTONIC__$devsnc_sn_glide_form_controls) window.__TECTONIC__$devsnc_sn_glide_form_controls = devsncSnGlideFormControls;\nexport {devsncSnGlideFormControls};\nimport * as devsncSnGlideQueryBase from '@devsnc/sn-glide-query-base';\nif (!window.__TECTONIC__$devsnc_sn_glide_query_base) window.__TECTONIC__$devsnc_sn_glide_query_base = devsncSnGlideQueryBase;\nexport {devsncSnGlideQueryBase};\nimport * as servicenowNowRecordHtmlEditor from '@servicenow/now-record-html-editor';\nif (!window.__TECTONIC__$servicenow_now_record_html_editor) window.__TECTONIC__$servicenow_now_record_html_editor = servicenowNowRecordHtmlEditor;\nexport {servicenowNowRecordHtmlEditor};\nimport * as servicenowNowRecordHtmlScript from '@servicenow/now-record-html-script';\nif (!window.__TECTONIC__$servicenow_now_record_html_script) window.__TECTONIC__$servicenow_now_record_html_script = servicenowNowRecordHtmlScript;\nexport {servicenowNowRecordHtmlScript};\nimport * as devsncSnRecordInput from '@devsnc/sn-record-input';\nif (!window.__TECTONIC__$devsnc_sn_record_input) window.__TECTONIC__$devsnc_sn_record_input = devsncSnRecordInput;\nexport {devsncSnRecordInput};\nimport * as devsncSnRecordInputConnected from '@devsnc/sn-record-input-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_input_connected) window.__TECTONIC__$devsnc_sn_record_input_connected = devsncSnRecordInputConnected;\nexport {devsncSnRecordInputConnected};\nimport * as servicenowNowRecordIpAddress from '@servicenow/now-record-ip-address';\nif (!window.__TECTONIC__$servicenow_now_record_ip_address) window.__TECTONIC__$servicenow_now_record_ip_address = servicenowNowRecordIpAddress;\nexport {servicenowNowRecordIpAddress};\nimport * as devsncSnRecordLink from '@devsnc/sn-record-link';\nif (!window.__TECTONIC__$devsnc_sn_record_link) window.__TECTONIC__$devsnc_sn_record_link = devsncSnRecordLink;\nexport {devsncSnRecordLink};\nimport * as devsncSnRecordListSelect from '@devsnc/sn-record-list-select';\nif (!window.__TECTONIC__$devsnc_sn_record_list_select) window.__TECTONIC__$devsnc_sn_record_list_select = devsncSnRecordListSelect;\nexport {devsncSnRecordListSelect};\nimport * as servicenowNowRecordMiniCalendar from '@servicenow/now-record-mini-calendar';\nif (!window.__TECTONIC__$servicenow_now_record_mini_calendar) window.__TECTONIC__$servicenow_now_record_mini_calendar = servicenowNowRecordMiniCalendar;\nexport {servicenowNowRecordMiniCalendar};\nimport * as devsncSnRecordNameValue from '@devsnc/sn-record-name-value';\nif (!window.__TECTONIC__$devsnc_sn_record_name_value) window.__TECTONIC__$devsnc_sn_record_name_value = devsncSnRecordNameValue;\nexport {devsncSnRecordNameValue};\nimport * as servicenowNowRecordNumber from '@servicenow/now-record-number';\nif (!window.__TECTONIC__$servicenow_now_record_number) window.__TECTONIC__$servicenow_now_record_number = servicenowNowRecordNumber;\nexport {servicenowNowRecordNumber};\nimport * as devsncSnOptionsList from '@devsnc/sn-options-list';\nif (!window.__TECTONIC__$devsnc_sn_options_list) window.__TECTONIC__$devsnc_sn_options_list = devsncSnOptionsList;\nexport {devsncSnOptionsList};\nimport * as devsncSnRecordPriceConnected from '@devsnc/sn-record-price-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_price_connected) window.__TECTONIC__$devsnc_sn_record_price_connected = devsncSnRecordPriceConnected;\nexport {devsncSnRecordPriceConnected};\nimport * as servicenowNowRadioGroup from '@servicenow/now-radio-group';\nif (!window.__TECTONIC__$servicenow_now_radio_group) window.__TECTONIC__$servicenow_now_radio_group = servicenowNowRadioGroup;\nexport {servicenowNowRadioGroup};\nimport * as devsncSnRecommendationsHelper from '@devsnc/sn-recommendations-helper';\nif (!window.__TECTONIC__$devsnc_sn_recommendations_helper) window.__TECTONIC__$devsnc_sn_recommendations_helper = devsncSnRecommendationsHelper;\nexport {devsncSnRecommendationsHelper};\nimport * as devsncSnRecordNowassist from '@devsnc/sn-record-nowassist';\nif (!window.__TECTONIC__$devsnc_sn_record_nowassist) window.__TECTONIC__$devsnc_sn_record_nowassist = devsncSnRecordNowassist;\nexport {devsncSnRecordNowassist};\nimport * as devsncSnRecordReferenceConnected from '@devsnc/sn-record-reference-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_reference_connected) window.__TECTONIC__$devsnc_sn_record_reference_connected = devsncSnRecordReferenceConnected;\nexport {devsncSnRecordReferenceConnected};\nimport * as devsncSnRecordTablenameConnected from '@devsnc/sn-record-tablename-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_tablename_connected) window.__TECTONIC__$devsnc_sn_record_tablename_connected = devsncSnRecordTablenameConnected;\nexport {devsncSnRecordTablenameConnected};\nimport * as servicenowNowRecordTime from '@servicenow/now-record-time';\nif (!window.__TECTONIC__$servicenow_now_record_time) window.__TECTONIC__$servicenow_now_record_time = servicenowNowRecordTime;\nexport {servicenowNowRecordTime};\nimport * as servicenowNowRecordTypeahead from '@servicenow/now-record-typeahead';\nif (!window.__TECTONIC__$servicenow_now_record_typeahead) window.__TECTONIC__$servicenow_now_record_typeahead = servicenowNowRecordTypeahead;\nexport {servicenowNowRecordTypeahead};\nimport * as servicenowNowRecordTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nif (!window.__TECTONIC__$servicenow_now_record_typeahead_multiple) window.__TECTONIC__$servicenow_now_record_typeahead_multiple = servicenowNowRecordTypeaheadMultiple;\nexport {servicenowNowRecordTypeaheadMultiple};\nimport * as devsncSnRecordUrl from '@devsnc/sn-record-url';\nif (!window.__TECTONIC__$devsnc_sn_record_url) window.__TECTONIC__$devsnc_sn_record_url = devsncSnRecordUrl;\nexport {devsncSnRecordUrl};\nimport * as devsncSnRecordUserRolesLookupConnected from '@devsnc/sn-record-user-roles-lookup-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected) window.__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected = devsncSnRecordUserRolesLookupConnected;\nexport {devsncSnRecordUserRolesLookupConnected};\nimport * as devsncSnRecordVersion from '@devsnc/sn-record-version';\nif (!window.__TECTONIC__$devsnc_sn_record_version) window.__TECTONIC__$devsnc_sn_record_version = devsncSnRecordVersion;\nexport {devsncSnRecordVersion};"],"version":3}},{"offset":{"line":688,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-uxf-page/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","includes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","getAncestorNode","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__","getActiveElement","layerEvents","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","forEach","forOwn","isEmpty","noop","set","toLower","uniqBy","uniqueId","MARGIN_MAP","name","onConnect","el","_","_ref","selector","userAgent","window","navigator","test","margin","locals","tagName","getAttribute","getMargin","querySelectorAll","style","display","marginBottom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","nowLinkInterceptorBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__","AUTO_DISMISS_DEFAULT_TIMEOUT","ALLOWED_AUTH_PATHS","ariaHeading","level","HeadingLevel","className","ariaLabel","includeHeading","findFocusableElement","elSelector","startElement","queue","top","shift","ele","querySelector","shadowRoot","topShadow","allSearched","manageFocus","elm","updateState","nowUxfPageElRef","scrollIntoView","activeElement","focusEl","applyStyleAndFocus","restoreFocus","previouslyFocusedElement","focus","setElementStyles","outline","block","element","styles","removeEmptyState","slot","assignedNodes","emptyStateNode","Array","from","childNodes","find","node","nodeName","toLowerCase","removeChild","isHighAssuranceNotificationInMessage","msg","filterSpanInMessage","notification","message","startsWith","type","handleAuthLinkClick","event","anchor","composedPath","href","preventDefault","url","URL","location","protocol","origin","some","allowedPath","pathname","isValidAuthUrl","open","TAG_NAME","renderer","view","state","updateProperties","properties","notifications","targetRef","authNotification","status","icon","hook","insert","vnode","addEventListener","destroy","removeEventListener","action","items","update","behaviors","behavior","options","propsToHtmlArray","props","filter","textLinkProps","text","rtlBehavior","shouldRenderWhenSet","eventHandlers","events","effect","_ref2","host","removeAttribute","actionHandlers","PREVIEW_RECORD","_ref3","dispatch","payload","stopPropagation","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","sysProps","actions","NOTIFICATIONS_UPDATED","NOTIFICATION_ACTION_CLICKED","LOADER_ACTION_CLICKED","RECORD_LINK_CLICKED","LOADING_STATUS_CHANGED","SET_PROPAGATED_NOTIFICATIONS","notificationHandlers","ADD_NOTIFICATIONS","REMOVE_NOTIFICATIONS","CLEAR_NOTIFICATIONS","SET_LOADING_STATE","HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED","getStatus","handleAutoDismissal","expLevelAutoDismissalSettings","_notification$status","autoDismiss","enabled","eventLevelAutoDismissEnabled","timeout","eventLevelAutoDismissTimeout","notificationData","_objectWithoutPropertiesLoose","_excluded","alertTypes","alertTypeSettings","expLevelAutoDismissEnabled","expLevelAutoDismissTimeout","showTimer","hideProgressBar","effectiveTimeout","getEffectiveTimeout","enabledAtEventLevel","eventLevelTimeout","expLevelTimeout","autoDismissConfig","enableAutoDismiss","duration","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","sortNotifications","NOTIFICATION_SORT_ORDER","critical","high","ai","warning","info","positive","sort","b","generateId","prefix","componentId","notificationId","namespace","handlers","coeffects","propagateNotifications","interceptNotifications","notificationMessages","meta","isArray","expandAlerts","_parentMacroponent$no","_parentMacroponent$no2","parentMacroponent","nowAppProps","auto_expand_now_alert_message","getAutoExpandAlertsProp","firstAuthMessageInItems","notificationItems","expanded","newNotificationMessages","newNotifications","preventDuplicates","msgKey","updatedNotificationProps","transformedNotification","isHtml","doc","DOMParser","parseFromString","body","findIndex","child","nodeType","console","error","hasHtml","getIcon","track","path","operation","_ref4","validIds","reduce","acc","curr","_ref5","_ref8","_ref9","loaders_blocking","spinners","loaders_non_blocking","bars","new_spinners","new_bars","customId","loading","label","loadingAction","nonBlocking","loaderId","stateUpdate","index","loader","splice","start","deleteCount","_ref7","getComponentId","_ref6","prevNotifications","notificationIndex","valueNotification","msgKeys","keys","isNotificationMissing","every","_ref10","alertId","shouldRender","_ref11","alertAction","_ref12","_ref13","_dismissedNotificatio","dismissedNotification","_ref14","COMPONENT_DOM_TREE_READY","COMPONENT_TREE_RENDERED","ARIA_LIVE_REGION_UPDATE_REQUESTED","loadAutoDismissalExpSettings","_getAncestorNode","jsonStr","alert_auto_dismiss_config","parsedJson","JSON","parse","Map","entries","alert","_loaders_blocking$","bare","scrollable","headingLevel","headingOnlyVisibleToScreenReaders","isLoading","totalNotifications","ariaProps","nowLoaderObserver","class","page","padded","requestAnimationFrame","scrollTop","scrollLeft","scrollTo","size","_loaders_blocking$2","_loaders_blocking$3","IntersectionObserver","entry","isIntersecting","root","rootMargin","threshold","observe","unobserve","loaderDoesNotHaveLabel","progressbar","ariaProgressBarConfig","pathType","heading","variant","wontWrap","target","illustration","slottedPolyfillBehavior","nowUxfPageNotificationsBehavior","callbackFn","schema","_getActiveElement","headingElement","document","_ancestorNodeParent$t","_ancestorNodeParent$s","getIsScreenPreviewFromURL","searchParams","decodeURIComponent","has","parentNode","ancestorNodeParent","screenData","isActive","getAuthNotificationEffect","initialState","NO_CONTENT_HEADING","NO_CONTENT_MESSAGE","renderContent","hideEmptyStateUi","bgvar","border","canCollapse","collapsed","expandButtonTooltipContent","collapseButtonTooltipContent","ariaRegionName","ariaRegionHeadingLevel","includeAriaHeading","isModalContainer","nowHoist","nowHoistAppendTo","setTargetRef","ref","setTimeout","bg","bordered","role","container","collapsible","on-click","hook-destroy","renderTooltip","tooltipMessage","position","reflect","enum","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","requestRoute","activeRoute","viewportRoutes","headless","route","isNewRoute","height","width","slotName","viewport","DEFAULT_404_MESSAGE","VIEWPORT_SCREEN_LABEL","VIEWPORT_SCREEN_LOADING_MESSAGE","Default404","showDefault404","canSyncWithURL","LOAD_VIEWPORT_CONTENT","HOIST_VIEWPORT_CONTENT","MODAL_SELECTED","COMPONENT_RENDERED","previousRenderProperties","prevProps","contents","_contents$meta","_contents$meta2","elementRef","nowRootNode","assignedElements","modifier","delay","uxfMeta","displayOptions","disableDismiss","enableResizable","resizableMinHeight","resizableMaxHeight","resizableMinWidth","resizableMaxWidth","setAttribute","observer","MutationObserver","mutations","mutation","disconnect","routeType","fields","attributes","attributeFilter","modalId","resizableConfig","Boolean","showModal","nowId","getCanvasModalAction","modalInstanceId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__","DISMISS_ACTION","MODAL_RESIZE_END","opened","hideDismissPadding","overlayPositionAbsolute","customSize","dialogSize","isCustomSize","hidePadding","output","getAriaAttributes","reason","focusBehavior","trap","resizableBehavior","resizeTarget","getResizableConfig","context","isOpening","isClosing","isBecomingDismissable","isBecomingNonDismissable","bareModal","add","callback","blur","remove","i18n","EMPTY_STATE_HEADING","EMPTY_STATE_MESSAGE","setAriaRole","ariaRole","SECTION","ARTICLE","HEADER","FOOTER","ASIDE","ADDRESS","MAIN","renderSlot","renderAriaHeading","slotWrapperBehavior","renderContainer","__TECTONIC__$servicenow_now_uxf_page"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/styles.scss","webpack:///./src/uxf-bare-modal/styles.scss?7e51","webpack:///./src/uxf-page-container/styles.scss?ce8f","webpack:///./src/uxf-page-notifications/styles.scss?8bcb","webpack:///./src/uxf-page-simple-container/styles.scss?241d","webpack:///./src/uxf-page/styles.scss?bac7","webpack:///./src/uxf-viewport-screen/styles.scss?232c","webpack:///./src/uxf-viewport/styles.scss?f154","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/slotted-polyfill-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.0/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/constants.js","webpack:///@servicenow/now-uxf-page/src/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/uxfPageNotifications.js","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-progress-bar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-page/constants.js","webpack:///@servicenow/now-uxf-page/src/behaviors/utils.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/behaviors/nowUxfPageNotificationsBehavior.js","webpack:///@servicenow/now-uxf-page/src/uxf-page/uxfPage.js","webpack:///external module \"/uxasset/externals/@servicenow/now-collapse/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/uxfPageContainer.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/uxfViewport.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/uxfViewportScreen.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/uxfModalViewport.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resizable/24.1.1/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/uxfBareModal.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/uxfSimpleContainer.js","webpack:///@servicenow/now-uxf-page/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-uxf-bare-modal-overlay{background-color:RGBA(var(--now-uxf-bare-modal-overlay--background-color,var(--now-color--neutral-21,0,0,0)),var(--now-uxf-bare-modal-overlay--opacity,var(--now-opacity--mid,.5)));bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:4000}.now-uxf-bare-modal-overlay.now-uxf-bare-modal-absolute-overlay{position:absolute}.now-uxf-bare-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:4000}.now-uxf-bare-modal-body.custom{max-height:90%;max-width:100%;min-height:133px;min-width:420px}.now-uxf-bare-modal-resizable-container{background-color:RGB(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100%;overflow-y:auto}.now-uxf-bare-modal-resizable-container ::slotted(seismic-hoist){border-style:none!important;box-shadow:none!important;height:100%!important;min-height:4rem!important}.now-uxf-bare-modal-body{max-height:100%;max-width:100%;position:relative}.-sm .now-uxf-bare-modal-body{width:100%}@media(min-width:26.25rem){.-sm .now-uxf-bare-modal-body{max-width:26.25rem}}.-md .now-uxf-bare-modal-body{width:100%}@media(min-width:37.5rem){.-md .now-uxf-bare-modal-body{max-width:37.5rem}}.-lg .now-uxf-bare-modal-body{width:100%}@media(min-width:50rem){.-lg .now-uxf-bare-modal-body{max-width:50rem}}.-fullscreen .now-uxf-bare-modal-body{height:100%;min-height:100%;width:100%}.now-uxf-bare-modal-body .now-uxf-bare-modal-slot::slotted(*){background-color:RGB(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:block}.now-uxf-bare-modal-header{direction:inherit;display:flex;flex-direction:row-reverse;padding:1.5rem;pointer-events:none;position:absolute;width:100%;z-index:4001}.now-uxf-bare-modal-header.hide-padding{padding:0}.now-uxf-bare-modal-header .now-uxf-bare-modal-dismiss{pointer-events:auto}.now-uxf-bare-modal-header+.now-uxf-bare-modal-slot::slotted(*){height:100%;min-height:4rem;overflow:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.padded{padding-bottom:1rem;padding-top:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-left:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-right:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-right:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-left:1rem}.expand-container{height:inherit}.variant-neutral-0{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.variant-neutral-1{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.bordered{border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.collapsible{margin-top:.5rem}.collapse-trigger{background:none;border:0;cursor:pointer;display:block;margin-bottom:1rem;padding:.5rem 0 0;position:relative;width:100%}.collapse-trigger hr{border:0;border-top:.125rem solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));flex-grow:1;height:0;margin:0}.collapse-trigger now-icon{background:RGB(var(--now-color_surface--neutral-3,232,234,234));color:RGB(var(--now-color_text--primary,22,27,28));position:absolute;top:0;width:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{left:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{right:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{right:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{left:1rem}.collapse-trigger now-heading{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding:0 .5rem;position:absolute;top:2px;visibility:hidden}:host(:not([dir=rtl])) .collapse-trigger now-heading,:root:not([dir=rtl]) .collapse-trigger now-heading{left:2.5rem}:host([dir=rtl]) .collapse-trigger now-heading,:root[dir=rtl] .collapse-trigger now-heading{right:2.5rem}.collapse-trigger:hover hr{border-top:2px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.collapse-trigger:hover now-icon{background:RGB(var(--now-color_surface--neutral-5,211,215,216))}.collapsed .collapse-trigger{margin-bottom:0;padding-bottom:.5rem;transition:margin .1s linear;transition-delay:.3s}.collapsed .collapse-trigger>now-heading{transition:visibility 0s linear;transition-delay:.3s;visibility:visible}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(forced-colors:active){.collapse-trigger now-icon{color:buttontext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-alert-list{margin:auto;max-width:calc(100vw - 60%);min-width:250px;position:relative;width:90%}#notification{align-items:center;display:flex;flex-direction:column;pointer-events:none;position:absolute;width:100%}#notification>*{pointer-events:auto}#authAlert{max-width:calc(100vw - 60%);min-width:250px;padding:1rem 1rem 0 1rem;z-index:3000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.slot-wrapper{height:100%}.slot-wrapper-contents{display:contents}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,.page,:after,:before{box-sizing:border-box}.page{display:block;height:100%;overflow:hidden;position:relative;width:100%}.page now-heading{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-left:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-right:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-right:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-left:1.5rem}.page now-heading.only-visible-to-screen-readers{clip:rect(0 0 0 0);border:0;clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.page now-heading.only-visible-to-screen-readers:hover{outline:none}.page.padded{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-left:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-right:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-right:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-left:1.5rem}.page.padded now-heading{padding:0}.page.scroll-x{overflow-x:auto}.page.scroll-y{overflow-y:auto}.page.scroll-both{overflow:auto}.page.loading{min-height:min-content;overflow:hidden}.loading-overlay{align-items:center;background-color:RGBA(var(--now-container--color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-opacity--most,.8));bottom:0;display:flex;justify-content:center;overflow-y:auto}.loading-overlay,now-progress-bar{left:0;position:absolute;right:0;top:0;z-index:999}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-uxf-viewport-screen{height:100%;margin:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.viewport{height:100%}.scroll-vertical{overflow-x:hidden;overflow-y:auto}.scroll-horizontal{overflow-x:auto;overflow-y:hidden}.scroll-both{overflow-x:auto;overflow-y:auto}.scroll-none{overflow-x:hidden;overflow-y:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"getAncestorNode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAncestorNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getAncestorNode;\n\t\t\t\t\t} else if ('getAncestorNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.getAncestorNode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getAncestorNode;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getActiveElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'getActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].getActiveElement;\n\t\t\t\t\t} else if ('getActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.getActiveElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].getActiveElement;\n\t\t\t\t}, [\"layerEvents\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'layerEvents' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].layerEvents;\n\t\t\t\t\t} else if ('layerEvents' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.layerEvents || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].layerEvents;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"toLower\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toLower;\n\t\t\t\t\t} else if ('toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toLower || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toLower;\n\t\t\t\t}, [\"toString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t\t} else if ('toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"uniqueId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqueId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqueId;\n\t\t\t\t\t} else if ('uniqueId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqueId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqueId;\n\t\t\t\t} });","/**\n * Seismic does not polyfill the `::slotted` psuedo-selector, which we use all\n * over this project to set margin between multiple slotted elements.\n *\n * This is a hacky workaround to inline margins onto the slotted components\n * directly for IE11/Edge browsers.\n */\nimport { toLower, forEach } from 'lodash';\n\nconst MARGIN_MAP = {\n\t'now-uxf-page': '1.5rem',\n\tdefault: '0.75rem'\n};\n\nexport function getMargin(locals, el) {\n\treturn (\n\t\tlocals[toLower(el.tagName)] ||\n\t\tlocals[toLower(el.getAttribute('parent-tag'))] ||\n\t\tlocals.default\n\t);\n}\n\nexport function isIEOrEdge(userAgent) {\n\treturn /Trident\\/|Edge/.test(userAgent);\n}\n\nexport default {\n\tname: 'slottedPolyfill',\n\tonConnect(el, _, { selector = '*' }) {\n\t\tif (!isIEOrEdge(window.navigator.userAgent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst margin = getMargin(MARGIN_MAP, el);\n\n\t\tif (margin) {\n\t\t\tforEach(el.querySelectorAll(selector), el => {\n\t\t\t\tel.style.display = 'block';\n\t\t\t\tel.style.marginBottom = margin;\n\t\t\t});\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t}, [\"nowLinkInterceptorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowLinkInterceptorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].nowLinkInterceptorBehavior;\n\t\t\t\t\t} else if ('nowLinkInterceptorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.nowLinkInterceptorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].nowLinkInterceptorBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t} });","export const POLITE = 'polite';\nexport const ASSERTIVE = 'assertive';\nexport const CRITICAL = 'critical';\nexport const TRUE = 'true';\nexport const EMPTY_STATE_NODE = 'now-template-message-empty-state';\nexport const AUTO_DISMISS_DEFAULT_TIMEOUT = 5; // in secs\nexport const ALLOWED_AUTH_PATHS = [\n\t'/api/now/continuous_authentication/high_assurance/create'\n];\n","import forOwn from 'lodash/forOwn';\nimport set from 'lodash/set';\nimport {\n\tPOLITE,\n\tASSERTIVE,\n\tCRITICAL,\n\tTRUE,\n\tEMPTY_STATE_NODE\n} from './constants';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\n\nexport const ariaHeading = (id, name, level) => {\n\tif (level < 1 || level > 6) {\n\t\treturn;\n\t}\n\tconst HeadingLevel = `h${level}`;\n\treturn (\n\t\t<HeadingLevel id={`heading-${id}`} className={'hide-element'}>\n\t\t\t{name}\n\t\t<\/HeadingLevel>\n\t);\n};\n\nexport const ariaLabel = (id, name, includeHeading) => {\n\tif (!name) {\n\t\treturn;\n\t}\n\tif (includeHeading) {\n\t\treturn { ['aria-labelledby']: `heading-${id}` };\n\t}\n\treturn { ['aria-label']: name };\n};\n\nexport const ariaProgressBarConfig = (loader) => {\n\tif (!loader || loader.length === 0) {\n\t\treturn;\n\t}\n\n\tconst loaderDoesNotHaveLabel = !loader[0].label;\n\tconst progressbar = {};\n\tprogressbar['aria-live'] = POLITE;\n\tprogressbar['aria-label'] = loaderDoesNotHaveLabel\n\t\t? undefined\n\t\t: loader[0].label;\n\n\treturn {\n\t\t['configAria']: {\n\t\t\tprogressbar\n\t\t}\n\t};\n};\n\nexport const findFocusableElement = (el, elSelector, startElement) => {\n\tif (!startElement) return null;\n\n\tconst queue = [startElement];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(el);\n\t\tif (ele && !elSelector) return ele;\n\n\t\tif (ele && ele.shadowRoot && ele.shadowRoot.querySelector(elSelector))\n\t\t\treturn ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nexport const manageFocus = (\n\telm,\n\tupdateState,\n\tnowUxfPageElRef,\n\tupdateActiveElement = false,\n\tscrollIntoView = true\n) => {\n\tif (updateActiveElement) {\n\t\tconst activeElement = getActiveElement();\n\t\tupdateState({ activeElement });\n\t}\n\tconst focusEl = findFocusableElement(elm, null, nowUxfPageElRef);\n\tapplyStyleAndFocus(focusEl, scrollIntoView);\n\treturn focusEl;\n};\n\nexport const restoreFocus = (previouslyFocusedElement) => {\n\tif (!previouslyFocusedElement) return;\n\n\tpreviouslyFocusedElement.focus();\n};\n\nexport const applyStyleAndFocus = (elm, scrollIntoView = true) => {\n\tif (elm) {\n\t\tconst noOutline = { outline: 'none' };\n\t\tsetElementStyles(elm, noOutline);\n\t\tif (scrollIntoView) elm.scrollIntoView({ block: 'center' }); // focus() does not scroll to elements without focusable elements\n\t\telm.focus();\n\t}\n};\n\nconst setElementStyles = (element, styles) => {\n\t// set element with styles\n\tforOwn(styles, (value, key) => {\n\t\tset(element, ['style', key], value);\n\t});\n};\n\nexport const removeEmptyState = (slot) => {\n\tif (slot.assignedNodes() && slot.assignedNodes().length > 0) {\n\t\tconst emptyStateNode = Array.from(slot.childNodes).find(\n\t\t\t(node) => node.nodeName.toLowerCase() === EMPTY_STATE_NODE\n\t\t);\n\t\tif (emptyStateNode) slot.removeChild(emptyStateNode);\n\t}\n};\n\nexport const isHighAssuranceNotificationInMessage = (msg) => {\n\tif (!msg || typeof msg !== 'string') return false;\n\treturn msg.includes('sn-high-assurance-notif');\n};\n\nexport const filterSpanInMessage = (notification) => {\n\tconst content = notification.content || notification.message;\n\tif (typeof content === 'string') {\n\t\treturn !(\n\t\t\tcontent.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content)\n\t\t);\n\t}\n\tif (\n\t\ttypeof content === 'object' &&\n\t\tcontent.type === 'html' &&\n\t\ttypeof content.value === 'string'\n\t) {\n\t\treturn !(\n\t\t\tcontent.value.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content.value)\n\t\t);\n\t}\n\treturn true;\n};\n\nexport const getIsScreenPreviewFromURL = () => {\n\tconst { searchParams } = new URL(decodeURIComponent(window.location.href));\n\treturn (\n\t\tsearchParams.has('sysparm_live_preview') ||\n\t\tsearchParams.get('mode') === 'preview'\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\nimport { nowLinkInterceptorBehavior } from '@devsnc/uxf-shared-behaviors';\nimport '@servicenow/now-alert';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\nimport { restoreFocus, manageFocus } from '../utils';\nimport { ALLOWED_AUTH_PATHS } from '../constants';\n\nexport const isValidAuthUrl = (href) => {\n\tif (!href) {\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tconst url = new URL(href, window.location.href);\n\n\t\tif (url.protocol !== 'https:') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (url.origin !== window.location.origin) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isAllowedPath = ALLOWED_AUTH_PATHS.some((allowedPath) => {\n\t\t\tif (url.pathname === allowedPath) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (url.pathname.startsWith(`${allowedPath}/`)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\treturn isAllowedPath;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nexport const handleAuthLinkClick = (event) => {\n\tconst path =\n\t\ttypeof event.composedPath === 'function' ? event.composedPath() : [];\n\tconst anchor = path.find((node) => node && node.tagName === 'A');\n\n\tif (!anchor) {\n\t\treturn;\n\t}\n\n\tconst href = anchor.getAttribute('href');\n\tif (!href) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\n\tif (!isValidAuthUrl(href)) {\n\t\treturn;\n\t}\n\n\twindow.open(href, '_blank');\n};\n\nexport const getHtmlArrayFromProps = (props) => {\n\tconst { notifications = [] } = props;\n\treturn notifications\n\t\t.filter((n) => {\n\t\t\tconst {\n\t\t\t\tcontent: { value = '' } = {},\n\t\t\t\ttextLinkProps: { href = '' } = {}\n\t\t\t} = n;\n\t\t\treturn !!n.content || value !== '' || href !== '';\n\t\t})\n\t\t.map((n) => {\n\t\t\tconst { content: { value } = {}, textLinkProps: { href } = {} } = n;\n\t\t\tlet text = n.content;\n\t\t\tif (value) text = value;\n\t\t\tif (href) text = `<a href=\"${href}\" />`;\n\t\t\treturn text;\n\t\t});\n};\n\nconst view = (state, { updateState, updateProperties }) => {\n\tconst {\n\t\tproperties: { notifications, targetRef, authNotification },\n\t\tactiveElement\n\t} = state;\n\treturn (\n\t\t<div id=\"notification\">\n\t\t\t{authNotification && (\n\t\t\t\t<now-alert\n\t\t\t\t\tid=\"authAlert\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\ticon=\"exclamation-triangle-outline\"\n\t\t\t\t\tcontent={{\n\t\t\t\t\t\ttype: 'html',\n\t\t\t\t\t\tvalue: authNotification\n\t\t\t\t\t}}\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert(vnode) {\n\t\t\t\t\t\t\tvnode.elm.addEventListener('click', handleAuthLinkClick, true);\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy(vnode) {\n\t\t\t\t\t\t\tvnode.elm.removeEventListener('click', handleAuthLinkClick, true);\n\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\taction={{ type: 'dismiss', authNotification: true }}\n\t\t\t\t><\/now-alert>\n\t\t\t)}\n\t\t\t{notifications.length > 0 && (\n\t\t\t\t<now-alert-list\n\t\t\t\t\titems={notifications}\n\t\t\t\t\tmanage-items\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert() {\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdate() {\n\t\t\t\t\t\t\tmanageFocus('sn-uxf-page-notifications', updateState, targetRef);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy() {\n\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst TAG_NAME = 'sn-uxf-page-notifications';\nconst TAB_INDEX_ATTR = 'tabIndex';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: nowLinkInterceptorBehavior,\n\t\t\toptions: {\n\t\t\t\tpropsToHtmlArray: getHtmlArrayFromProps\n\t\t\t}\n\t\t},\n\t\t{ behavior: rtlBehavior }\n\t],\n\tproperties: {\n\t\tnotifications: { default: [] },\n\t\tauthNotification: { default: null },\n\t\ttargetRef: {\n\t\t\tdefault: null,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect({ host }) {\n\t\t\t\thost.removeAttribute(TAB_INDEX_ATTR);\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\tPREVIEW_RECORD: {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch('PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED', {\n\t\t\t\t\t...action.payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","export const sysProps = {\n\tGLIDE_UI_ESCAPE_FORM_MESSAGE: 'glide.ui.escape_form_message'\n};\n\nexport const actions = {\n\tNOTIFICATIONS_UPDATED: 'NOW_UXF_PAGE#NOTIFICATIONS_UPDATED',\n\tNOTIFICATION_ACTION_CLICKED: 'NOW_UXF_PAGE#NOTIFICATION_ACTION_CLICKED',\n\tLOADER_ACTION_CLICKED: 'NOW_UXF_PAGE#LOADER_ACTION_CLICKED',\n\tRECORD_LINK_CLICKED: 'NOW_UXF_PAGE#RECORD_LINK_CLICKED',\n\tLOADING_STATUS_CHANGED: 'NOW_UXF_PAGE#LOADING_STATUS_CHANGED',\n\tSET_PROPAGATED_NOTIFICATIONS: 'NOW_UXF_PAGE#SET_PROPAGATED_NOTIFICATIONS'\n};\n\nexport const notificationHandlers = {\n\tADD_NOTIFICATIONS: 'NOW_UXF_PAGE#ADD_NOTIFICATIONS',\n\tREMOVE_NOTIFICATIONS: 'NOW_UXF_PAGE#REMOVE_NOTIFICATIONS',\n\tCLEAR_NOTIFICATIONS: 'NOW_UXF_PAGE#CLEAR_NOTIFICATIONS',\n\tSET_LOADING_STATE: 'NOW_UXF_PAGE#SET_LOADING_STATE',\n\tHTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED:\n\t\t'HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED'\n};\n","import { AUTO_DISMISS_DEFAULT_TIMEOUT } from '../constants';\nimport { get } from 'lodash';\n\nexport const isUserPrefEnabledForAutoDismissal = () => {\n\tconst userPrefEnabled = get(window, [\n\t\t'ux_globals',\n\t\t'userPrefs',\n\t\t'glide.uxf.alert.auto_dismissal_enabled'\n\t]);\n\treturn userPrefEnabled !== 'false';\n};\nexport const getEffectiveTimeout = (\n\tenabledAtEventLevel,\n\teventLevelTimeout,\n\texpLevelTimeout\n) => {\n\tif (!enabledAtEventLevel) {\n\t\treturn undefined;\n\t}\n\tif (eventLevelTimeout !== null && eventLevelTimeout !== undefined) {\n\t\treturn eventLevelTimeout;\n\t}\n\treturn expLevelTimeout;\n};\n\nexport const getStatus = (type) => {\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\treturn 'info';\n\t\tcase 'error':\n\t\t\treturn 'critical';\n\t\tcase 'warning':\n\t\t\treturn 'warning';\n\t\tcase 'success':\n\t\t\treturn 'positive';\n\t\tcase 'moderate':\n\t\t\treturn 'moderate';\n\t\tcase 'low':\n\t\t\treturn 'low';\n\t\tcase 'high':\n\t\t\treturn 'high';\n\t\tcase 'suggestion':\n\t\tcase 'ai':\n\t\t\treturn 'ai';\n\t\tdefault:\n\t\t\treturn 'info';\n\t}\n};\nexport const handleAutoDismissal = (\n\tnotification,\n\texpLevelAutoDismissalSettings\n) => {\n\tif (!isUserPrefEnabledForAutoDismissal()) return notification;\n\n\tconst {\n\t\tautoDismiss: {\n\t\t\tenabled: eventLevelAutoDismissEnabled = true,\n\t\t\ttimeout: eventLevelAutoDismissTimeout\n\t\t} = {},\n\t\t...notificationData\n\t} = notification;\n\n\tconst alertTypes = expLevelAutoDismissalSettings?.get('alertTypes');\n\tconst alertTypeSettings =\n\t\talertTypes?.get(notification.status ?? getStatus(notification.type)) || {};\n\n\tconst {\n\t\tenabled: expLevelAutoDismissEnabled = false,\n\t\ttimeout: expLevelAutoDismissTimeout = AUTO_DISMISS_DEFAULT_TIMEOUT\n\t} = alertTypeSettings;\n\n\tif (!expLevelAutoDismissEnabled) return notificationData;\n\n\tconst showTimer = expLevelAutoDismissalSettings.get('showTimer');\n\tconst hideProgressBar = expLevelAutoDismissalSettings.get('hideProgressBar');\n\n\tconst effectiveTimeout = getEffectiveTimeout(\n\t\teventLevelAutoDismissEnabled,\n\t\teventLevelAutoDismissTimeout,\n\t\texpLevelAutoDismissTimeout\n\t);\n\n\tif (effectiveTimeout === undefined) {\n\t\treturn notificationData;\n\t}\n\n\tconst autoDismissConfig = {\n\t\tenableAutoDismiss: eventLevelAutoDismissEnabled,\n\t\tduration: effectiveTimeout * 1000\n\t};\n\tif (showTimer !== undefined) {\n\t\tautoDismissConfig.showTimer = showTimer;\n\t}\n\tif (hideProgressBar !== undefined) {\n\t\tautoDismissConfig.hideProgressBar = hideProgressBar;\n\t}\n\n\treturn {\n\t\t...notificationData,\n\t\tautoDismissConfig\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import { getProperty } from 'sn-uxpage-presource';\nimport { uniqueId, uniqBy } from 'lodash';\nimport {\n\tsysProps,\n\tactions,\n\tnotificationHandlers as handlers\n} from '../uxf-page/constants';\nimport { getAncestorNode } from '@servicenow/ui-core';\nimport {\n\tfilterSpanInMessage,\n\tisHighAssuranceNotificationInMessage\n} from '../utils';\nimport { handleAutoDismissal, getStatus } from './../behaviors/utils';\nimport track from '@devsnc/ux-metrics';\n\nexport const sortNotifications = (notifications) => {\n\tconst NOTIFICATION_SORT_ORDER = {\n\t\tcritical: 5,\n\t\thigh: 4,\n\t\tai: 3,\n\t\twarning: 2,\n\t\tinfo: 1,\n\t\tpositive: 0\n\t};\n\treturn notifications.sort(\n\t\t(a, b) =>\n\t\t\tNOTIFICATION_SORT_ORDER[a.status] - NOTIFICATION_SORT_ORDER[b.status]\n\t);\n};\n\nexport const transformedNotification = (id, type, message) => {\n\tconst getIcon = (type) => {\n\t\tswitch (type) {\n\t\t\tcase 'error':\n\t\t\t\treturn 'circle-close-outline';\n\t\t\tcase 'warning':\n\t\t\t\treturn 'exclamation-circle-outline';\n\t\t\tcase 'success':\n\t\t\t\treturn 'check-circle-outline';\n\t\t\tcase 'suggestion':\n\t\t\tcase 'ai':\n\t\t\t\treturn 'ai-sparkle-fill';\n\t\t\tdefault:\n\t\t\t\treturn 'info-circle-outline';\n\t\t}\n\t};\n\tconst hasHtml = (message) => {\n\t\ttry {\n\t\t\tconst parser = new DOMParser();\n\t\t\tconst doc = parser.parseFromString(message, 'text/html');\n\t\t\treturn (\n\t\t\t\tArray.from(doc.body.childNodes).findIndex(\n\t\t\t\t\t(child) => child.nodeType === 1\n\t\t\t\t) !== -1\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tconsole.error('Error while parsing message to html ', e);\n\t\t\treturn false;\n\t\t}\n\t};\n\tconst escFormMsg = getProperty(sysProps.GLIDE_UI_ESCAPE_FORM_MESSAGE, false);\n\tconst isHtml = escFormMsg !== 'true' && hasHtml(message);\n\tconst content = {\n\t\ttype: isHtml ? 'html' : 'string',\n\t\tvalue: isHtml ? `<div>${message}<\/div>` : message\n\t};\n\n\treturn {\n\t\tid,\n\t\tstatus: getStatus(type),\n\t\ticon: getIcon(type),\n\t\tcontent,\n\t\tmsgKey: `${type}_${message}`,\n\t\taction: {\n\t\t\ttype: 'dismiss'\n\t\t}\n\t};\n};\n\nexport const generateId = (prefix, componentId, notificationId) => {\n\tconst namespace = prefix || componentId || 'generated_';\n\tif (!notificationId) return uniqueId(namespace);\n\treturn `${namespace}_${notificationId}`;\n};\n\nexport const getAutoExpandAlertsProp = (targetRef) => {\n\t//targetRef is now-uxf-page & it's parent is a macroponent\n\tconst parentMacroponent = getAncestorNode(targetRef);\n\treturn parentMacroponent?.nowAppProps?.auto_expand_now_alert_message ?? false;\n};\n\nconst isNotificationMissing = (msgKey, notifications) =>\n\tnotifications.every((notification) => notification.msgKey != msgKey);\n\nexport const addNotificationsEffect = (coeffects) => {\n\tconst { state, action, dispatch, updateState } = coeffects;\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {},\n\t\ttargetRef,\n\t\texpLevelAutoDismissalSettings,\n\t\tnotificationMessages = {}\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] }\n\t} = action;\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) return;\n\tconst expandAlerts = getAutoExpandAlertsProp(targetRef);\n\tconst getMessageOrContentValue = (msg) => {\n\t\tif (!msg) return '';\n\t\tif (typeof msg === 'string') return msg;\n\t\tif (typeof msg === 'object' && msg.value) return msg.value;\n\t\treturn '';\n\t};\n\t/* filtering the auth notification using the span class 'sn-high-assurance-notif' which is unique to auth notification for now.\n\t\tThis behavior will be replaced when alternative solution's are worked upon by the auth team in future.\n\t*/\n\tconst firstAuthMessageInItems = items.find((item) =>\n\t\tisHighAssuranceNotificationInMessage(\n\t\t\tgetMessageOrContentValue(item.message || item.content)\n\t\t)\n\t);\n\tif (firstAuthMessageInItems && !state.authNotification) {\n\t\tdispatch(handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED, {\n\t\t\tnotifications: [{ ...firstAuthMessageInItems }]\n\t\t});\n\t}\n\tconst filteredNotifications = items.filter(filterSpanInMessage);\n\n\tconst notificationItems = filteredNotifications.map((notification) => ({\n\t\t...handleAutoDismissal(notification, expLevelAutoDismissalSettings),\n\t\t...(expandAlerts && { expanded: expandAlerts })\n\t}));\n\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'ADD',\n\t\t\tprefix: componentId,\n\t\t\titems: notificationItems\n\t\t});\n\t} else {\n\t\tconst newNotificationMessages = { ...notificationMessages };\n\t\tupdateState(({ state }) => {\n\t\t\tconst uniqueNotifications = notificationItems.filter(\n\t\t\t\t({ type, message, preventDuplicates = true }) => {\n\t\t\t\t\tif (!type || !message) return true;\n\n\t\t\t\t\tconst msgKey = `${type}_${message}`;\n\t\t\t\t\tif (preventDuplicates && notificationMessages[msgKey]) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewNotificationMessages[msgKey] = true;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst newNotifications = uniqueNotifications.map((notification) => {\n\t\t\t\tif (notification.type && notification.message) {\n\t\t\t\t\tconst { id, type, message, expanded = false } = notification;\n\t\t\t\t\tconst updatedNotificationProps = transformedNotification(\n\t\t\t\t\t\tgenerateId(prefix, componentId, id),\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tmessage\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...notification,\n\t\t\t\t\t\t...updatedNotificationProps,\n\t\t\t\t\t\texpanded\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (notification.autoDismissConfig) {\n\t\t\t\t\ttrack(coeffects, 'Enable auto dismissing alert', {\n\t\t\t\t\t\ttype: notification.status ?? getStatus(notification.type)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...notification,\n\t\t\t\t\tid: generateId(prefix, componentId, notification.id)\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tconst notifications = sortNotifications(\n\t\t\t\tuniqBy([...newNotifications, ...state.notifications], 'id')\n\t\t\t);\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications\n\t\t\t});\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'notifications',\n\t\t\t\t\tvalue: notifications,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'notificationMessages',\n\t\t\t\t\tvalue: newNotificationMessages,\n\t\t\t\t\toperation: 'merge'\n\t\t\t\t}\n\t\t\t];\n\t\t});\n\t}\n};\n\nexport const removeNotificationsEffect = ({\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {}\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] }\n\t} = action;\n\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) return;\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'REMOVE',\n\t\t\tprefix: componentId,\n\t\t\titems\n\t\t});\n\t} else {\n\t\tupdateState(({ state }) => {\n\t\t\tconst validIds = items.reduce((acc, curr) => {\n\t\t\t\tconst { id } = curr;\n\t\t\t\tif (id) acc.push(generateId(prefix, componentId, id));\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t\t\tif (validIds.length === 0) return;\n\n\t\t\tconst notifications = sortNotifications(\n\t\t\t\tstate.notifications.filter(\n\t\t\t\t\t(notification) => !validIds.includes(notification.id)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications: [...notifications]\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tpath: 'notifications',\n\t\t\t\tvalue: notifications,\n\t\t\t\toperation: 'set'\n\t\t\t};\n\t\t});\n\t}\n};\n\nexport const clearNotificationsEffect = ({ state, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {}\n\t} = state;\n\tif (interceptNotifications) return;\n\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'CLEAR'\n\t\t});\n\t} else {\n\t\tupdateState(() => {\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, { notifications: [] });\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'notifications',\n\t\t\t\t\tvalue: [],\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'notificationMessages',\n\t\t\t\t\tvalue: {},\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t];\n\t\t});\n\t}\n};\n\nexport const setNotificationsEffect = ({\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tproperties: { interceptNotifications = false } = {},\n\t\tnotificationMessages = {}\n\t} = state;\n\tif (interceptNotifications) return;\n\tupdateState(() => {\n\t\tconst {\n\t\t\tpayload: { value = [] }\n\t\t} = action;\n\t\tconst prevNotifications = state?.notifications;\n\t\tif (prevNotifications) {\n\t\t\tfor (let index = 0; index < prevNotifications.length; index++) {\n\t\t\t\tconst notificationIndex = value.findIndex(\n\t\t\t\t\t(valueNotification) =>\n\t\t\t\t\t\tvalueNotification.id === prevNotifications[index].id\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tnotificationIndex >= 0 &&\n\t\t\t\t\tprevNotifications[index].expanded !== undefined\n\t\t\t\t)\n\t\t\t\t\tvalue[notificationIndex].expanded = prevNotifications[index].expanded;\n\t\t\t}\n\t\t}\n\t\tconst notifications = sortNotifications(value);\n\t\tconst msgKeys = Object.keys(notificationMessages);\n\t\tconst newNotificationMessages = { ...notificationMessages };\n\t\tmsgKeys.forEach((msgKey) => {\n\t\t\tif (isNotificationMissing(msgKey, notifications)) {\n\t\t\t\tnewNotificationMessages[msgKey] = false;\n\t\t\t}\n\t\t});\n\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\tnotifications\n\t\t});\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: 'notifications',\n\t\t\t\tvalue: notifications,\n\t\t\t\toperation: 'set'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'notificationMessages',\n\t\t\t\tvalue: newNotificationMessages,\n\t\t\t\toperation: 'set'\n\t\t\t}\n\t\t];\n\t});\n};\n\nexport const setPropagatedNotificationsEffect = ({\n\thost,\n\tstate,\n\taction,\n\tdispatch\n}) => {\n\tconst hostId = host.getComponentId();\n\tconst actionHostId = action.meta.id;\n\tif (hostId === actionHostId) return;\n\tconst {\n\t\tproperties: {\n\t\t\tinterceptNotifications = false,\n\t\t\tpropagateNotifications = []\n\t\t} = {}\n\t} = state;\n\tif (propagateNotifications) return;\n\taction.stopPropagation();\n\tif (interceptNotifications) return;\n\tconst { type, prefix, items = [] } = action.payload;\n\tswitch (type) {\n\t\tcase 'ADD':\n\t\t\tdispatch(handlers.ADD_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'REMOVE':\n\t\t\tdispatch(handlers.REMOVE_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'CLEAR':\n\t\t\tdispatch(handlers.CLEAR_NOTIFICATIONS, {});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const setLoadingStateEffect = ({ action, dispatch, updateState }) => {\n\taction.stopPropagation();\n\tupdateState(({ state }) => {\n\t\tconst { loaders_blocking: spinners = [], loaders_non_blocking: bars = [] } =\n\t\t\tstate;\n\t\tconst new_spinners = [...spinners];\n\t\tconst new_bars = [...bars];\n\t\tconst {\n\t\t\tmeta: { id: componentId },\n\t\t\tpayload: {\n\t\t\t\tid: customId,\n\t\t\t\tloading,\n\t\t\t\tlabel,\n\t\t\t\taction: loadingAction,\n\t\t\t\tnonBlocking = false\n\t\t\t}\n\t\t} = action;\n\t\tconst loaderId = customId || componentId;\n\t\tlet stateUpdate;\n\t\tif (!loading) {\n\t\t\tlet index = spinners.findIndex((loader) => loader.loaderId === loaderId);\n\t\t\tif (index !== -1) new_spinners.splice(index, 1);\n\t\t\tstateUpdate = {\n\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\tstart: index,\n\t\t\t\tdeleteCount: 1,\n\t\t\t\toperation: 'splice'\n\t\t\t};\n\n\t\t\tindex = bars.findIndex((loader) => loader.loaderId === loaderId);\n\t\t\tif (index !== -1) {\n\t\t\t\tnew_bars.splice(index, 1);\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\t\tstart: index,\n\t\t\t\t\tdeleteCount: 1,\n\t\t\t\t\toperation: 'splice'\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tif (!nonBlocking) {\n\t\t\t\tnew_spinners.push({ loaderId, label, action: loadingAction });\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\t\toperation: 'push'\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tnew_bars.push({ loaderId, label, action: loadingAction });\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\t\toperation: 'push'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tdispatch(actions.LOADING_STATUS_CHANGED, {\n\t\t\tloaders_blocking: new_spinners,\n\t\t\tloaders_non_blocking: new_bars\n\t\t});\n\t\treturn stateUpdate;\n\t});\n};\n\nexport const setNotificationExpandStateEffect = ({\n\tstate,\n\taction,\n\tupdateState\n}) => {\n\tconst { alertId, value: expanded } = action.payload;\n\tconst { notifications = [] } = state;\n\tconst notificationIndex = notifications.findIndex(\n\t\t(notification) => notification.id === alertId\n\t);\n\tif (notificationIndex >= 0)\n\t\tupdateState({\n\t\t\tpath: `notifications[${notificationIndex}].expanded`,\n\t\t\toperation: 'set',\n\t\t\tvalue: expanded,\n\t\t\tshouldRender: false\n\t\t});\n};\n\nexport default {\n\tname: 'nowPageNotificationsBehavior',\n\tactionHandlers: {\n\t\t[handlers.ADD_NOTIFICATIONS]: {\n\t\t\teffect: addNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.REMOVE_NOTIFICATIONS]: {\n\t\t\teffect: removeNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.CLEAR_NOTIFICATIONS]: {\n\t\t\teffect: clearNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.SET_LOADING_STATE]: {\n\t\t\teffect: setLoadingStateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[actions.SET_PROPAGATED_NOTIFICATIONS]: {\n\t\t\teffect: setPropagatedNotificationsEffect\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEMS_SET': {\n\t\t\teffect: setNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'NOW_ALERT#EXPANDED_SET': {\n\t\t\teffect: setNotificationExpandStateEffect\n\t\t},\n\t\t'NOW_ALERT#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch, updateState }) {\n\t\t\t\tconst { authNotification } = action.payload.action;\n\t\t\t\tif (authNotification) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst { payload: { alertId, action: alertAction } = {} } = action;\n\t\t\t\t\tdispatch(actions.NOTIFICATION_ACTION_CLICKED, {\n\t\t\t\t\t\talertId,\n\t\t\t\t\t\taction: { ...alertAction }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'NOW_LOADER#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.LOADER_ACTION_CLICKED, { ...action.payload });\n\t\t\t}\n\t\t},\n\t\t'PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.RECORD_LINK_CLICKED, { ...action.payload });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'NOW_ALERT#AUTO_DISMISS': {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { alertId }\n\t\t\t\t\t},\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tnotifications = [],\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tinterceptNotifications = false,\n\t\t\t\t\t\t\tpropagateNotifications = false\n\t\t\t\t\t\t} = {}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (interceptNotifications) {\n\t\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (propagateNotifications) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dismissedNotification = notifications.find(\n\t\t\t\t\t({ id }) => id === alertId\n\t\t\t\t);\n\t\t\t\ttrack(coeffects, 'Auto dismiss alert', {\n\t\t\t\t\ttype:\n\t\t\t\t\t\tdismissedNotification?.status ??\n\t\t\t\t\t\tgetStatus(dismissedNotification?.type)\n\t\t\t\t});\n\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tcreateCustomElement,\n\tactionTypes,\n\tgetAncestorNode\n} from '@servicenow/ui-core';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty, toString, noop } from 'lodash';\nimport slottedPolyfillBehavior from '../slotted-polyfill-behavior';\nimport '../uxf-page-notifications/uxfPageNotifications';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-progress-bar';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport styles from './styles.scss';\nimport {\n\tariaProgressBarConfig,\n\tfindFocusableElement,\n\tmanageFocus,\n\trestoreFocus,\n\tapplyStyleAndFocus,\n\tremoveEmptyState,\n\tisHighAssuranceNotificationInMessage,\n\tgetIsScreenPreviewFromURL\n} from '../utils';\nimport nowUxfPageNotificationsBehavior from '../behaviors/nowUxfPageNotificationsBehavior';\nimport { notificationHandlers as handlers } from '../uxf-page/constants';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED\n} = actionTypes;\n\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\tscrollable,\n\t\t\theadingLevel,\n\t\t\theadingOnlyVisibleToScreenReaders,\n\t\t\tinterceptNotifications,\n\t\t\tpropagateNotifications\n\t\t},\n\t\tnotifications = [],\n\t\tloaders_blocking = [],\n\t\tloaders_non_blocking = [],\n\t\tactiveElement,\n\t\ttargetRef,\n\t\tauthNotification = null\n\t} = state;\n\tconst isLoading = loaders_blocking.length > 0 || loaders_non_blocking > 0;\n\tlet totalNotifications = [];\n\tif (!interceptNotifications && !propagateNotifications)\n\t\ttotalNotifications = notifications;\n\tconst ariaProps = {\n\t\t'aria-live': 'polite',\n\t\t'aria-busy': `${isLoading}`,\n\t\t'aria-label': loaders_blocking[0]?.label\n\t};\n\tlet nowLoaderObserver = null;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tpage: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tloading: isLoading,\n\t\t\t\t[`scroll-${scrollable}`]: scrollable\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (elm.scrollTop !== 0 || elm.scrollLeft !== 0) {\n\t\t\t\t\t\telm.scrollTo(0, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}}\n\t\t>\n\t\t\t{loaders_blocking.length > 0 ? (\n\t\t\t\t<div className=\"loading-overlay\">\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\tlabel={loaders_blocking[0].label}\n\t\t\t\t\t\taction={loaders_blocking[0].action}\n\t\t\t\t\t\thook={{\n\t\t\t\t\t\t\tinsert(vnode) {\n\t\t\t\t\t\t\t\tconst options = {\n\t\t\t\t\t\t\t\t\troot: null, // relative to the viewport\n\t\t\t\t\t\t\t\t\trootMargin: '0px',\n\t\t\t\t\t\t\t\t\tthreshold: 0.1 // 10% of the element is visible\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tconst observerHandler = (entries) => {\n\t\t\t\t\t\t\t\t\tconst intersectingEntry = entries.find(\n\t\t\t\t\t\t\t\t\t\t(entry) => entry.isIntersecting\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (intersectingEntry) {\n\t\t\t\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t\t\t\t'now-loader',\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tnowLoaderObserver = new IntersectionObserver(\n\t\t\t\t\t\t\t\t\tobserverHandler,\n\t\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnowLoaderObserver.observe(vnode.elm);\n\t\t\t\t\t\t\t\tif (loaders_blocking[0]?.label) {\n\t\t\t\t\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\tmessage: loaders_blocking[0]?.label,\n\t\t\t\t\t\t\t\t\t\ttype: 'polite'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdestroy(vnode) {\n\t\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t\t\tif (nowLoaderObserver) nowLoaderObserver.unobserve(vnode.elm);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t><\/now-loader>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t{loaders_blocking.length === 0 && loaders_non_blocking.length > 0 ? (\n\t\t\t\t<now-progress-bar\n\t\t\t\t\t{...ariaProgressBarConfig(loaders_non_blocking)}\n\t\t\t\t\tpathType=\"initial\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t><\/now-progress-bar>\n\t\t\t) : null}\n\t\t\t<sn-uxf-page-notifications\n\t\t\t\tclassName=\"notifications\"\n\t\t\t\tnotifications={totalNotifications}\n\t\t\t\tauthNotification={authNotification}\n\t\t\t\ttargetRef={targetRef}\n\t\t\t\taria-hidden={\n\t\t\t\t\ttotalNotifications.length || authNotification ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t><\/sn-uxf-page-notifications>\n\t\t\t{!isEmpty(label) && (\n\t\t\t\t<now-heading\n\t\t\t\t\tclass={{\n\t\t\t\t\t\theading: true,\n\t\t\t\t\t\t'only-visible-to-screen-readers': headingOnlyVisibleToScreenReaders\n\t\t\t\t\t}}\n\t\t\t\t\tlevel={toString(headingLevel)}\n\t\t\t\t\tvariant=\"header-primary\"\n\t\t\t\t\twontWrap={true}\n\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.'\n\t\t\t\t\t)}\n\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t/>\n\t\t\t<\/slot>\n\t\t<\/div>\n\t);\n};\n\nexport const getAuthNotificationEffect = (updateState, payload) => {\n\tconst { notifications } = payload;\n\tif (Array.isArray(notifications) && notifications.length > 0) {\n\t\tconst authNotification = notifications.find((notification) =>\n\t\t\tisHighAssuranceNotificationInMessage(\n\t\t\t\tnotification?.text || notification?.message || notification?.content\n\t\t\t)\n\t\t);\n\t\tif (authNotification) {\n\t\t\tupdateState(({ state }) => {\n\t\t\t\tif (!state.authNotification) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\tauthNotification.text ||\n\t\t\t\t\t\t\tauthNotification.message ||\n\t\t\t\t\t\t\tauthNotification.content,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst parseAlertTypes = (alertTypes) => {\n\tif (typeof alertTypes !== 'object' || !alertTypes) return null;\n\n\treturn new Map(\n\t\tObject.entries(alertTypes).filter(([, alert]) => alert?.enabled === true)\n\t);\n};\n\nconst loadAutoDismissalExpSettings = (targetRef) => {\n\tconst jsonStr =\n\t\tgetAncestorNode(targetRef)?.nowAppProps?.alert_auto_dismiss_config;\n\tif (!jsonStr) return null;\n\ttry {\n\t\tconst parsedJson = JSON.parse(jsonStr);\n\t\treturn new Map(\n\t\t\tObject.entries(parsedJson).map(([key, value]) => [\n\t\t\t\tkey,\n\t\t\t\tkey === 'alertTypes' ? parseAlertTypes(value) : value\n\t\t\t])\n\t\t);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst TAG_NAME = 'now-uxf-page';\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\tslottedPolyfillBehavior,\n\t\trtlBehavior,\n\t\tnowUxfPageNotificationsBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: noop\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\tlabel: { default: '' },\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tscrollable: {\n\t\t\tdefault: 'y'\n\t\t},\n\t\theadingLevel: { default: 1 },\n\t\theadingOnlyVisibleToScreenReaders: { default: false },\n\t\tinterceptNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpropagateNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]({ host, updateState }) {\n\t\t\tupdateState({\n\t\t\t\ttargetRef: host,\n\t\t\t\texpLevelAutoDismissalSettings: loadAutoDismissalExpSettings(host)\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]() {\n\t\t\tif (getActiveElement()?.nodeName === 'BODY') {\n\t\t\t\tconst headingElement = findFocusableElement(\n\t\t\t\t\t'now-heading',\n\t\t\t\t\t'h1',\n\t\t\t\t\tdocument.body\n\t\t\t\t);\n\t\t\t\tif (document.activeElement !== headingElement) {\n\t\t\t\t\tapplyStyleAndFocus(headingElement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: [handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\thost,\n\t\t\t\t\taction: { payload },\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\t// checks if the page is in preview mode\n\t\t\t\tif (getIsScreenPreviewFromURL()) return;\n\t\t\t\tconst parentNode = getAncestorNode(host);\n\t\t\t\tif (!parentNode) return;\n\t\t\t\tconst ancestorNodeParent = getAncestorNode(parentNode);\n\t\t\t\tif (\n\t\t\t\t\tancestorNodeParent?.tagName?.toLowerCase() === 'sn-canvas-screen' &&\n\t\t\t\t\tancestorNodeParent.screenData?.isActive\n\t\t\t\t) {\n\t\t\t\t\tgetAuthNotificationEffect(updateState, payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t],\n\tinitialState: {\n\t\tnotifications: [],\n\t\tauthNotification: null,\n\t\tloaders_blocking: [],\n\t\tloaders_non_blocking: [],\n\t\tactiveElement: null,\n\t\texpLevelAutoDismissalSettings: null,\n\t\ttargetRef: null,\n\t\tnotificationMessages: {}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport { isEmpty, toString } from 'lodash';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\n/**\n * Dispatched action when the collapsible container is interacted by the user.\n */\nconst UXF_PAGE_COLLAPSED_SET = 'NOW-UXF-PAGE-CONTAINER#COLLAPSED_SET';\nconst NO_CONTENT_HEADING = t('No content available.');\nconst NO_CONTENT_MESSAGE = t(\n\t'Contact your ServiceNow administrator for more information.'\n);\n\n/**\n * Function for rendering the page container content\n * @param {string} label The heading label\n * @param {boolean} hideEmptyStateUi Whether to display an empty state message\n */\nconst renderContent = (label, hideEmptyStateUi) => (\n\t<Fragment>\n\t\t{label && (\n\t\t\t<now-heading\n\t\t\t\tclassName=\"main-heading\"\n\t\t\t\tlabel={toString(label)}\n\t\t\t\tlevel=\"2\"\n\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\twontWrap={true}\n\t\t\t/>\n\t\t)}\n\t\t{hideEmptyStateUi ? (\n\t\t\t<slot />\n\t\t) : (\n\t\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={NO_CONTENT_HEADING}\n\t\t\t\t\tcontent={NO_CONTENT_MESSAGE}\n\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t/>\n\t\t\t<\/slot>\n\t\t)}\n\t<\/Fragment>\n);\n\n/**\n * Function for rendering a tool tip for chevron button in the case of a collapsable container.\n * @param {*} state\n * @param {boolean} canCollapse Whether the container can be collapsed\n * @param {boolean} collapsed The initial state of the container\n * @returns A now-tooltip for the chevron button if the container is collapsable, null otherwise.\n */\nexport const renderTooltip = (state, canCollapse, collapsed) => {\n\tconst {\n\t\tproperties: { expandButtonTooltipContent, collapseButtonTooltipContent }\n\t} = state;\n\tconst tooltipMessage = collapsed\n\t\t? expandButtonTooltipContent\n\t\t: collapseButtonTooltipContent;\n\treturn canCollapse ? (\n\t\t<now-tooltip\n\t\t\tid={`tooltip-${state.componentId}`}\n\t\t\ttarget-ref={state.targetRef}\n\t\t\tcontent={tooltipMessage}\n\t\t\tposition={['top-start']}\n\t\t/>\n\t) : null;\n};\n\n/**\n * Callback function for determining whether a modal has been hoisted\n * @param {*} props state properties of the container\n * @returns true when it is a modal that is not hoisted\n */\nexport const unHoistCanvasModal = (props) =>\n\tprops.isModalContainer &&\n\t'nowHoist' in props &&\n\t'nowHoistAppendTo' in props &&\n\tisEmpty(props.nowHoist) &&\n\tisEmpty(props.nowHoistAppendTo);\n\n/**\n * Callback function that generates the view of the container.\n * @param {*} state\n * @param {{updateProperties: function, updateState:function, dispatch:function}} helpers\n */\nconst view = (state, { updateProperties, updateState, dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\ttype,\n\t\t\tbgvar,\n\t\t\tborder,\n\t\t\tcanCollapse,\n\t\t\tcollapsed,\n\t\t\texpandButtonTooltipContent,\n\t\t\tcollapseButtonTooltipContent,\n\t\t\tariaRegionName,\n\t\t\tariaRegionHeadingLevel,\n\t\t\tincludeAriaHeading,\n\t\t\thideEmptyStateUi\n\t\t}\n\t} = state;\n\n\tif (unHoistCanvasModal(state.properties)) return;\n\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() => updateState({ targetRef: ref }));\n\n\tlet bg;\n\tif (!canCollapse) {\n\t\tif (bgvar) bg = `variant-${bgvar}`;\n\t\telse if (type === 'visualizations') {\n\t\t\tbg = 'variant-neutral-1';\n\t\t}\n\t}\n\n\tlet bordered;\n\tif (border && !canCollapse) bordered = true;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"region\"\n\t\t\t{...ariaLabel(state.componentId, ariaRegionName, includeAriaHeading)}\n\t\t\tclass={{\n\t\t\t\tcontainer: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tbordered,\n\t\t\t\t[bg]: bg,\n\t\t\t\tcollapsible: canCollapse,\n\t\t\t\tcollapsed,\n\t\t\t\t'expand-container': !(collapsed || canCollapse)\n\t\t\t}}\n\t\t>\n\t\t\t{includeAriaHeading\n\t\t\t\t? ariaHeading(state.componentId, ariaRegionName, ariaRegionHeadingLevel)\n\t\t\t\t: null}\n\t\t\t{!canCollapse ? null : (\n\t\t\t\t// nds-scanner-disable-start native-element\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"collapse-trigger\"\n\t\t\t\t\taria-expanded={!collapsed ? 'true' : 'false'}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tupdateProperties({ collapsed: !collapsed });\n\t\t\t\t\t\tdispatch(UXF_PAGE_COLLAPSED_SET, {\n\t\t\t\t\t\t\tvalue: !collapsed\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\taria-describedby={`tooltip-${state.componentId}`}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tcollapsed\n\t\t\t\t\t\t\t? expandButtonTooltipContent\n\t\t\t\t\t\t\t: collapseButtonTooltipContent\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={collapsed ? 'chevron-down-fill' : 'chevron-up-fill'}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t><\/now-icon>\n\t\t\t\t\t{isEmpty(label) ? null : (\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"title-secondary\"\n\t\t\t\t\t\t\twontWrap={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<hr />\n\t\t\t\t<\/button>\n\t\t\t\t// nds-scanner-disable-end\n\t\t\t)}\n\t\t\t{canCollapse ? (\n\t\t\t\t<now-collapse expanded={!collapsed}>\n\t\t\t\t\t{renderContent(label, hideEmptyStateUi)}\n\t\t\t\t<\/now-collapse>\n\t\t\t) : (\n\t\t\t\t<Fragment>{renderContent(label, hideEmptyStateUi)}<\/Fragment>\n\t\t\t)}\n\t\t\t{renderTooltip(state, canCollapse, collapsed)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Represents the container's element name following ServiceNow naming convention\n */\nconst TAG_NAME = 'now-uxf-page-container';\n\n/**\n * ## UXF Page Container:\n *\n * A UXF owned component responsible for being a container for various other components on pages built using seismic.\n *\n * @summary A page container that is used for seismic pages that acts as a base or container for various components in the UI.\n * @seismicElement now-uxf-page-container\n */\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [rtlBehavior],\n\tproperties: {\n\t\t/**\n\t\t * The header of the now-uxf-page-container\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Applies the padded class when false\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttype: {},\n\t\t/**\n\t\t * The background color varient for now-uxf-page-container\n\t\t * Neutral-0 or Neutral-1\n\t\t * @type {(\"Neutral-0\" | \"Neutral-1\")}\n\t\t */\n\t\tbgvar: {},\n\n\t\t/**\n\t\t * Whether or not the container has a border\n\t\t * @type {boolean}\n\t\t */\n\t\tborder: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Sets the container state as collapsed or not\n\t\t * @type {boolean}\n\t\t */\n\t\tcollapsed: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Makes the container collapsible with a chevron button and 2 levels of header text\n\t\t * @type {boolean}\n\t\t */\n\t\tcanCollapse: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether it is a modal, or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tisModalContainer: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the uncollapse icon\n\t\t * @type {string}\n\t\t */\n\t\texpandButtonTooltipContent: {\n\t\t\tdefault: t('Expand container to show contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the collapse icon\n\t\t * @type {string}\n\t\t */\n\t\tcollapseButtonTooltipContent: {\n\t\t\tdefault: t('Collapse container to hide contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the empty state UI will be hidden even in empty states\n\t\t * @type {boolean}\n\t\t */\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport { removeEmptyState } from '../utils';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const requestRoute = ({ dispatch, properties }) => {\n\tconst { activeRoute, viewportRoutes, headless } = properties;\n\n\t// When the component is used in headless mode (by macroponent factory), ignore this handler\n\tif (headless) return;\n\n\t// for now we only request the first configured route\n\tconst route = viewportRoutes ? Object.keys(viewportRoutes)[0] : null;\n\tconst isNewRoute = route !== get(activeRoute, ['routeType']);\n\n\tif (route && isNewRoute) {\n\t\tdispatch('VIEWPORT_ROUTE_REQUESTED', { route });\n\t}\n};\n\nexport const propertyChangedHandler = (coeffects) => {\n\tconst { name } = coeffects.action.payload;\n\n\tif (name === 'viewportRoutes') {\n\t\trequestRoute(coeffects);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tscrollable,\n\t\t\theight,\n\t\t\twidth,\n\t\t\tviewportRoutes,\n\t\t\theadless,\n\t\t\thideEmptyStateUi\n\t\t}\n\t} = state;\n\n\tconst style = {\n\t\theight,\n\t\twidth\n\t};\n\n\t// uxf runtime assumes all metadata-driven viewports use slot=\"viewport\". We\n\t// need to keep the default slot around for backwards compatibility and in\n\t// cases where this component is used programatically/outside uxf\n\tconst hasRoutes = !isEmpty(viewportRoutes);\n\tconst slotName = hasRoutes || headless ? 'viewport' : undefined;\n\n\treturn (\n\t\t// nds-scanner-disable-start inline-styles\n\t\t<div\n\t\t\tclass={{ viewport: true, [`scroll-${scrollable}`]: scrollable }}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{hideEmptyStateUi ? (\n\t\t\t\t<slot name={slotName} />\n\t\t\t) : (\n\t\t\t\t<slot name={slotName} on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t/>\n\t\t\t\t<\/slot>\n\t\t\t)}\n\t\t<\/div>\n\t\t// nds-scanner-disable-end\n\t);\n};\n\nconst TAG_NAME = 'now-uxf-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tscrollable: {},\n\t\theight: {},\n\t\twidth: {},\n\t\theadless: {\n\t\t\tdefault: false\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t/**\n\t\t * When this component is given a map of routes, we need to go request that\n\t\t * one of those routes gets loaded.\n\t\t */\n\t\t[COMPONENT_CONNECTED]: requestRoute,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedHandler\n\t},\n\tbehaviors: [uxfViewportBehavior],\n\tstyles\n});\n\nexport default TAG_NAME;\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_404_MESSAGE = t(\n\t'The page you are looking for could not be found'\n);\nexport const VIEWPORT_SCREEN_LABEL = t('Screen content');\nexport const VIEWPORT_SCREEN_LOADING_MESSAGE = t('Loading...');\n\nexport const TAG_NAME = 'sn-uxf-viewport-screen';\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-heading';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_SCREEN_LABEL,\n\tVIEWPORT_SCREEN_LOADING_MESSAGE,\n\tDEFAULT_404_MESSAGE,\n\tTAG_NAME\n} from './constants';\n\nexport const Default404 = () => (\n\t<now-heading label={DEFAULT_404_MESSAGE} level=\"1\" variant=\"title-primary\" />\n);\n\nexport const view = (state) => {\n\tconst { showDefault404 } = state;\n\treturn (\n\t\t<main className=\"sn-uxf-viewport-screen\" aria-label={VIEWPORT_SCREEN_LABEL}>\n\t\t\t<slot name=\"viewport\">\n\t\t\t\t<span>{VIEWPORT_SCREEN_LOADING_MESSAGE}<\/span>\n\t\t\t\t{showDefault404 ? <Default404 /> : null}\n\t\t\t<\/slot>\n\t\t<\/main>\n\t);\n};\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: uxfViewportBehavior,\n\t\t\toptions: { canSyncWithURL: true }\n\t\t}\n\t],\n\tstyles\n});\n\nexport default TAG_NAME;\n","export const VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const VIEWPORT_ROUTE_DISMISSED = 'VIEWPORT_ROUTE_DISMISSED';\nexport const LOAD_VIEWPORT_CONTENT = 'LOAD_VIEWPORT_CONTENT';\nexport const HOIST_VIEWPORT_CONTENT = 'HOIST_VIEWPORT_CONTENT';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const CANVAS_MODAL_OPENED = 'CANVAS_MODAL#OPENED';\nexport const CANVAS_MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const CANVAS_MODAL_RESIZED = 'CANVAS_MODAL#RESIZED';\nexport const MODAL_CONTENT_LOADED =\n\t'NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED';\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_RENDERED } = actionTypes;\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_ROUTE_REQUESTED,\n\tVIEWPORT_ROUTE_DISMISSED,\n\tLOAD_VIEWPORT_CONTENT,\n\tHOIST_VIEWPORT_CONTENT,\n\tMODAL_SELECTED,\n\tCANVAS_MODAL_OPENED,\n\tCANVAS_MODAL_CLOSED,\n\tCANVAS_MODAL_RESIZED\n} from './constants';\n\nconst getCanvasModalAction = (showModal) =>\n\tshowModal ? CANVAS_MODAL_OPENED : CANVAS_MODAL_CLOSED;\n\nconst TAG_NAME = 'now-uxf-modal-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: () => <slot name=\"viewport\" />,\n\tbehaviors: [uxfViewportBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({ host, action, dispatch, properties }) {\n\t\t\tconst { previousRenderProperties: prevProps } = action.payload;\n\t\t\tconst { contents, activeRoute } = properties;\n\n\t\t\tif (contents && contents.route && contents !== prevProps.contents) {\n\t\t\t\tdispatch(\n\t\t\t\t\tLOAD_VIEWPORT_CONTENT,\n\t\t\t\t\t{ contents },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (activeRoute && activeRoute !== prevProps.activeRoute) {\n\t\t\t\tconst elementRef = host.nowRootNode\n\t\t\t\t\t.querySelector('slot')\n\t\t\t\t\t.assignedElements()[0];\n\t\t\t\tdispatch(\n\t\t\t\t\tHOIST_VIEWPORT_CONTENT,\n\t\t\t\t\t{ elementRef },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[LOAD_VIEWPORT_CONTENT]: {\n\t\t\tmodifier: { name: 'debounce', delay: 10 },\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { contents = {} },\n\t\t\t\t\tmeta: { uxfMeta = {} }\n\t\t\t\t} = action;\n\t\t\t\tif (contents.route) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tVIEWPORT_ROUTE_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...contents\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[HOIST_VIEWPORT_CONTENT]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch, properties }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { elementRef },\n\t\t\t\t\tmeta: { uxfMeta = {} }\n\t\t\t\t} = action;\n\n\t\t\t\tconst {\n\t\t\t\t\tactiveRoute,\n\t\t\t\t\tdisplayOptions = {},\n\t\t\t\t\tbare,\n\t\t\t\t\tsize,\n\t\t\t\t\tdisableDismiss,\n\t\t\t\t\tenableResizable,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizableMaxWidth\n\t\t\t\t} = properties;\n\n\t\t\t\tif (!elementRef) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// When this viewport is hoisted to the modal, it needs to use the\n\t\t\t\t// default slot rather than the `slot=\"viewport\"` that UXF uses\n\t\t\t\telementRef.setAttribute('slot', '');\n\n\t\t\t\t// Watch for when the viewport contents is no longer hoisted. This\n\t\t\t\t// happens when the user dismisses the modal, and at that point we need\n\t\t\t\t// to tell UXF that this screen has been dismissed\n\t\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\t\tif (!mutation.target.nowHoist) {\n\t\t\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\t\t\tdispatch(VIEWPORT_ROUTE_DISMISSED, {\n\t\t\t\t\t\t\t\troute: activeRoute.routeType,\n\t\t\t\t\t\t\t\tfields: activeRoute.fields\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst height = mutation.target.getAttribute('height');\n\t\t\t\t\t\t\tconst width = mutation.target.getAttribute('width');\n\n\t\t\t\t\t\t\tif (height != null && width != null) {\n\t\t\t\t\t\t\t\tdispatch(CANVAS_MODAL_RESIZED, {\n\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\tfields: activeRoute.fields\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tobserver.observe(elementRef, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: ['now-hoist', 'height', 'width']\n\t\t\t\t});\n\n\t\t\t\tconst payload = {\n\t\t\t\t\tmodalId: elementRef.getAttribute('now-id'),\n\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tdisableDismiss,\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\tenableResizable,\n\t\t\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\t\t\tresizableMaxWidth\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...displayOptions\n\t\t\t\t\t},\n\t\t\t\t\tbare: Boolean(bare)\n\t\t\t\t};\n\n\t\t\t\t// This should be removed once we can verify that event mappings for this works.\n\t\t\t\tdispatch(\n\t\t\t\t\t'MODAL_SELECTED',\n\t\t\t\t\t{\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tshowModal: true\n\t\t\t\t\t},\n\t\t\t\t\t{ elementRef, uxfMeta }\n\t\t\t\t);\n\t\t\t\tdispatch('NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED', payload, {\n\t\t\t\t\tuxfMeta\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MODAL_SELECTED]({ action, dispatch, properties: { nowId } }) {\n\t\t\tconst {\n\t\t\t\tpayload: { showModal, modalId },\n\t\t\t\tmeta: { id, uxfMeta = {} }\n\t\t\t} = action;\n\t\t\t// we only need to dispatch CANVAS_MODAL event when MODAL_SELECTED dispatched from a subpage in the modal;\n\t\t\t// otherwise canvas will already dispatch that.\n\t\t\tif (nowId === id) return;\n\n\t\t\tdispatch(\n\t\t\t\tgetCanvasModalAction(showModal),\n\t\t\t\t{ modalInstanceId: modalId },\n\t\t\t\t{ uxfMeta }\n\t\t\t);\n\t\t}\n\t},\n\tproperties: {\n\t\tcontents: {},\n\t\tdisplayOptions: {},\n\t\tsize: {\n\t\t\tdefault: 'md'\n\t\t},\n\t\tdisableDismiss: {\n\t\t\tdefault: false\n\t\t},\n\t\tenableResizable: {\n\t\t\tdefault: false\n\t\t},\n\t\tresizableMinWidth: {\n\t\t\tdefault: 420\n\t\t},\n\t\tresizableMinHeight: {\n\t\t\tdefault: 133\n\t\t},\n\t\tresizableMaxWidth: {\n\t\t\tdefault: null\n\t\t},\n\t\tresizableMaxHeight: {\n\t\t\tdefault: null\n\t\t},\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t}\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { layerEvents } from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport styles from './styles.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { getAriaAttributes } from './utils';\nimport resizableBehavior from '@servicenow/behavior-resizable';\n\nconst { COMPONENT_RENDERED } = actionTypes;\nconst DISMISS_ACTION = 'NOW_UXF_BARE_MODAL#DISMISSED';\nconst UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\nconst MODAL_RESIZE_END = 'PRIVATE#RESIZABLE_END';\n\nexport const TAG_NAME = 'now-uxf-bare-modal';\n\nexport const componentRenderedHandler = ({\n\taction,\n\tproperties,\n\tdispatch,\n\thost\n}) => {\n\tconst { previousRenderProperties: prevProps } = action.payload;\n\tconst { opened, disableDismiss, nowId: id, customSize = {} } = properties;\n\tconst { height, width } = customSize;\n\tconst isOpening = opened && !prevProps.opened && !disableDismiss;\n\tconst isClosing = !opened && prevProps.opened;\n\tconst isBecomingDismissable =\n\t\t!disableDismiss && prevProps.disableDismiss && opened;\n\tconst isBecomingNonDismissable = disableDismiss && !prevProps.disableDismiss;\n\n\tif (isOpening && height && width) {\n\t\tconst bareModal = host.shadowRoot.querySelector('.now-uxf-bare-modal-body');\n\t\tbareModal.style.height = `${height}px`;\n\t\tbareModal.style.width = `${width}px`;\n\t}\n\tif (isOpening || isBecomingDismissable) {\n\t\tlayerEvents.add({\n\t\t\tid,\n\t\t\tevents: ['keydown'],\n\t\t\tcallback(event) {\n\t\t\t\tif (event.key !== 'Escape') return;\n\t\t\t\tdocument.activeElement.blur();\n\t\t\t\tdispatch(DISMISS_ACTION, { reason: 'keyboard-escape' });\n\t\t\t}\n\t\t});\n\t} else if (isClosing || isBecomingNonDismissable) {\n\t\tlayerEvents.remove(id);\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tsize,\n\t\topened,\n\t\tdisableDismiss,\n\t\thideDismissPadding,\n\t\toverlayPositionAbsolute,\n\t\tcustomSize,\n\t\tresizableConfig: { enableResizable } = { enableResizable: false }\n\t} = properties;\n\tif (!opened) {\n\t\treturn;\n\t}\n\tconst dialogSize = size === 'custom' ? 'md' : size;\n\tconst isCustomSize = customSize && customSize.height && customSize.width;\n\tconst hidePadding = hideDismissPadding ? 'hide-padding' : '';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-uxf-bare-modal-overlay': true,\n\t\t\t\t'now-uxf-bare-modal-absolute-overlay': overlayPositionAbsolute\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\trole=\"dialog\"\n\t\t\t\t{...getAriaAttributes(properties)}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-uxf-bare-modal': true,\n\t\t\t\t\t[`-${dialogSize}`]: !isCustomSize\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`now-uxf-bare-modal-body ${isCustomSize ? 'custom' : ''}`}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tisCustomSize\n\t\t\t\t\t\t\t? { width: customSize.width, height: customSize.height }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{disableDismiss ? undefined : (\n\t\t\t\t\t\t<div className={`now-uxf-bare-modal-header ${hidePadding}`}>\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\tclassName=\"now-uxf-bare-modal-dismiss\"\n\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': t('Close dialog') }}\n\t\t\t\t\t\t\t\ttooltip-content={t('Close dialog')}\n\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\tdispatch(DISMISS_ACTION, { reason: 'dismiss-icon' })\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{enableResizable ? (\n\t\t\t\t\t\t<div className=\"now-uxf-bare-modal-resizable-container\">\n\t\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * A modal is a container that displays over application content to give\n * critical information or to ask users to complete a task in the middle of a\n * workflow. When the modal opens, users cannot access the application.\n *\n * Note: Set `aria-hidden=\"true\"` on all non-modal elements when now-modal is\n * open to provide the correct experience for screen reader users.\n *\n * ```jsx\n * <now-modal\n * \topened={openedApp}\n * \tsize='sm'\n * \theader-label='Hello!'\n * \tcontent='And this is the body of the modal.'\n * \tfooter-actions='[\n * \t\t{\n * \t\t\t\"variant\": \"primary\",\n * \t\t\t\"label\": \"Save\"\n * \t\t}\n * \t]'\n * />\n * ```\n *\n * @seismicElement now-modal\n * @summary A popup component that temporarily blocks underlying content to provide information or ask the user for a decision.\n */\ncreateCustomElement(TAG_NAME, {\n\tproperties: {\n\t\t/**\n\t\t * Sets the width of the modal container. If \"fullscreen\", the container\n\t\t * will fill to fit the screen. If \"content\", the width will shrink to fit\n\t\t * the content. If size is \"custom\" the size defaults to \"md\" or uses the\n\t\t * customSize property if that is provided.\n\t\t * @type {('sm'|'md'|'lg'|'fullscreen'|'content')}\n\t\t */\n\t\tsize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg', 'fullscreen', 'auto', 'custom']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the modal is open.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * When true, the dismiss icon and Escape keydown handler are omitted. In\n\t\t * this case, consuming components must provide some mechanism to close the\n\t\t * modal.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDismiss: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Removes padding around dismiss button\n\t\t * @type {boolean}\n\t\t */\n\t\thideDismissPadding: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * enableResizable : @type {boolean} When true, resize handles will be shown on the borders of the modal to support resizing.\n\t\t * resizableMaxHeight : @type {number} Maximum height in pixels that the target element can be resized to. Default value is window's height.\n\t\t * resizableMaxWidth : @type {number} Maximum width in pixels that the target element can be resized to. Default value is window's width\n\t\t * resizableMinHeight : @type {number} Minimum height in pixels that the modal can be resized to. Default value is 133px.\n\t\t * resizableMinWidth : @type {number} Minimum width in pixels that the modal can be resized to. Default value is 420px.\n\t\t */\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tenableResizable: { schema: { type: 'boolean' } },\n\t\t\t\tresizableMinWidth: { schema: { type: 'number' } },\n\t\t\t\tresizableMinHeight: { schema: { type: 'number' } },\n\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\tschema: { type: 'number' }\n\t\t\t\t},\n\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\tschema: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the position fixed of the overlay will be changed to absolute position.\n\t\t * This helps the user to customize or render modal however they want.\n\t\t * @type {boolean}\n\t\t */\n\t\toverlayPositionAbsolute: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * height : @type {number} Height in pixels of the modal.\n\t\t * width : @type {number} Width in pixels of the modal.\n\t\t */\n\t\tcustomSize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\theight: {\n\t\t\t\t\tschema: { type: 'string' }\n\t\t\t\t},\n\t\t\t\twidth: {\n\t\t\t\t\tschema: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The text content for the modals aria label attribute.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } }\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: { trap: true }\n\t\t},\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-uxf-bare-modal-body',\n\t\t\t\tgetResizableConfig({ properties }) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenableResizable: false,\n\t\t\t\t\t\tresizableMinWidth: 420,\n\t\t\t\t\t\tresizableMinHeight: 133,\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tcontext: 'fixed'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tstyles,\n\tactions: {\n\t\t[DISMISS_ACTION]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\treason: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['dismiss-icon', 'keyboard-escape']\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: componentRenderedHandler,\n\t\t[DISMISS_ACTION]({ updateProperties }) {\n\t\t\tupdateProperties({\n\t\t\t\topened: false\n\t\t\t});\n\t\t},\n\t\t[MODAL_RESIZE_END]({ action, dispatch }) {\n\t\t\tdispatch(UXF_BARE_MODAL_RESIZED, { ...action.payload });\n\t\t}\n\t}\n});\n\nexport default TAG_NAME;\n","export const getAriaAttributes = (properties = {}) => {\n\tconst output = {};\n\tconst { label } = properties;\n\tif (label) {\n\t\toutput['aria-label'] = label;\n\t}\n\treturn output;\n};\n","import { t } from 'sn-translate';\n\nexport const containerTypes = {\n\tSECTION: 'section',\n\tARTICLE: 'article',\n\tHEADER: 'header',\n\tFOOTER: 'footer',\n\tASIDE: 'aside',\n\tADDRESS: 'address',\n\tMAIN: 'main'\n};\n\nexport const i18n = {\n\tEMPTY_STATE_HEADING: t('No content available.'),\n\tEMPTY_STATE_MESSAGE: t(\n\t\t'Contact your ServiceNow administrator for more information.'\n\t)\n};\n","/**\n * Create a \"role\" attribute object for elements\n *\n * @param {string} ariaRole the \"role\" attribute value\n * @returns {object}\n */\nexport const setAriaRole = ariaRole => {\n\treturn ariaRole ? { role: ariaRole } : {};\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport { containerTypes, i18n } from './constants';\nimport { setAriaRole } from './utils';\n\nconst { SECTION, ARTICLE, HEADER, FOOTER, ASIDE, ADDRESS, MAIN } =\n\tcontainerTypes;\n\nconst { EMPTY_STATE_HEADING, EMPTY_STATE_MESSAGE } = i18n;\n\nexport const renderSlot = (hideEmptyStateUi) =>\n\thideEmptyStateUi ? (\n\t\t<slot />\n\t) : (\n\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t<now-template-message-empty-state\n\t\t\t\theading={{ label: EMPTY_STATE_HEADING }}\n\t\t\t\tcontent={EMPTY_STATE_MESSAGE}\n\t\t\t\tillustration=\"no-data\"\n\t\t\t/>\n\t\t<\/slot>\n\t);\n\nexport const renderAriaHeading = (\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel\n) =>\n\tincludeAriaHeading\n\t\t? ariaHeading(componentId, ariaRegionName, ariaRegionHeadingLevel)\n\t\t: null;\n\nexport const renderContainer = (\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel,\n\ttype,\n\tariaRole,\n\thideEmptyStateUi,\n\tslotWrapperBehavior\n) => {\n\tconst className =\n\t\tslotWrapperBehavior === 'contents'\n\t\t\t? 'slot-wrapper-contents'\n\t\t\t: 'slot-wrapper';\n\n\tswitch (type) {\n\t\tcase SECTION:\n\t\t\treturn (\n\t\t\t\t<section\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/section>\n\t\t\t);\n\t\tcase ARTICLE:\n\t\t\treturn (\n\t\t\t\t<article\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/article>\n\t\t\t);\n\t\tcase HEADER:\n\t\t\treturn (\n\t\t\t\t<header\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/header>\n\t\t\t);\n\t\tcase FOOTER:\n\t\t\treturn (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/footer>\n\t\t\t);\n\t\tcase ASIDE:\n\t\t\treturn (\n\t\t\t\t<aside\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/aside>\n\t\t\t);\n\t\tcase ADDRESS:\n\t\t\treturn (\n\t\t\t\t<address\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/address>\n\t\t\t);\n\t\tcase MAIN:\n\t\t\treturn (\n\t\t\t\t<main\n\t\t\t\t\trole={ariaRole || 'main'}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/main>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/div>\n\t\t\t);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\tincludeAriaHeading,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior\n\t} = state.properties;\n\n\tconst { componentId } = state;\n\n\treturn renderContainer(\n\t\tcomponentId,\n\t\tincludeAriaHeading,\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior\n\t);\n};\n\nconst TAG_NAME = 'now-uxf-page-simple-container';\n\n/**\n * A wrapper around a group of components that need to reside together on a screen. A container can\n * be used to nest components at various levels, including other containers.\n *\n * @seismicElement now-uxf-page-simple-container\n * @summary Container component to organize, group, and layout content. Contains any number of nested components.\n */\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within the ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the kind of content the container will represent.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'section',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'section',\n\t\t\t\t\t'article',\n\t\t\t\t\t'header',\n\t\t\t\t\t'footer',\n\t\t\t\t\t'aside',\n\t\t\t\t\t'address',\n\t\t\t\t\t'main',\n\t\t\t\t\t'div'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\tConfigure the role attribute that describes the role of an element.\n\t\t *\t@type {string}\n\t\t */\n\t\tariaRole: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'alert',\n\t\t\t\t\t'alertdialog',\n\t\t\t\t\t'article',\n\t\t\t\t\t'application',\n\t\t\t\t\t'banner',\n\t\t\t\t\t'complementary',\n\t\t\t\t\t'contentinfo',\n\t\t\t\t\t'dialog',\n\t\t\t\t\t'document',\n\t\t\t\t\t'feed',\n\t\t\t\t\t'group',\n\t\t\t\t\t'log',\n\t\t\t\t\t'main',\n\t\t\t\t\t'marquee',\n\t\t\t\t\t'navigation',\n\t\t\t\t\t'none',\n\t\t\t\t\t'note',\n\t\t\t\t\t'presentation',\n\t\t\t\t\t'region',\n\t\t\t\t\t'search',\n\t\t\t\t\t'status',\n\t\t\t\t\t'tabpanel'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tslotWrapperBehavior: {\n\t\t\tdefault: 'fullheight',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['fullheight', 'contents']\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [rtlBehavior],\n\tstyles\n});\n\nexport default TAG_NAME;\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_uxf_page=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":719,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-layout/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","countBy","debounce","find","findIndex","forEach","gt","isEqual","isNil","isString","isUndefined","lt","minBy","partition","range","reduce","remove","sum","sumBy","toLower","toNumber","MARGIN_MAP","name","onConnect","el","_","_ref","selector","userAgent","window","navigator","test","margin","locals","tagName","getAttribute","getMargin","querySelectorAll","style","display","marginBottom","BEHAVIOR_NAME","mutationObserver","WeakMap","initialState","slots","Map","actionHandlers","UPDATE_SLOT_LIST","action","state","updateState","added","removed","payload","res","behaviors","count","set","delete","has","path","operation","CLEAR_SLOTS_MAP","_ref2","clear","actions","private","_ref3","dispatch","observer","MutationObserver","mutations","changes","acc","m","type","attributeName","target","slot","oldValue","removedNodes","addedNodes","observe","childList","attributes","subtree","attributeOldValue","onDisconnect","_ref4","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__","findIndexBy","collection","comparison","val","all","getSize","column","size","Number","isNaN","shaveOffLargest","toChange","sizes","largestIndex","addOnToSmallest","smallestIndex","adjustColumns","gridSize","error","counts","keys","filter","Math","abs","parseInt","adjustmentFn","defaultRenderer","props","className","children","getAdjustedColumns","columns","fixedColumns","childrenWithSlot","dynamic","columnsToUse","c","slotName","transformed","totalSize","round","transformColumns","adjusted","sizeClassNames","renderRow","row","renderers","isMobile","divider","adjustedColumns","trim","renderColumn","rows","styles","model","root","versionCompare","v1","v2","versionRe","v1match","v1suffix","match","v2match","v2suffix","v1parts","split","v2parts","max","v1part","v2part","toLowerCase","localeCompare","renderChild","version","rules","validStyles","height","includeClassName","class","items","renderFlex","itemStyles","wrapperStyles","inline","renderGrid","gutterSpace","calculateSizesAndGroup","elm","getComputedStyle","getPropertyValue","slotList","getElementsByTagName","domSlots","s","current","assignedNode","assignedNodes","rect","getBoundingClientRect","width","newSlot","parentNode","host","groupSlots","maxWidth","remainders","tooLarge","groups","invalids","rowWidth","rowHeight","buildGroups","groupHeight","groupWidth","slotWidth","slotHeight","lastGroup","availableWidth","additionalHeight","filled","remainingWidth","smallest","h","w","candidate","currentIndex","tryMakeSuperGroup","prev","next","makeSuperGroup","parent","child","childIndex","splice","ruleBasedRows","currentSlots","algorithm","fillGaps","defaultRules","renderSlot","callback","resizeFn","recalculateOnResize","hook-update","hook-remove","v","removeCallback","parentElement","renderGroup","group","maxHeight","sizing","renderFree","RowColumn","Flex","Grid","RuleBased","Free","console","warn","CALCULATE_RULE_BASED_ROW","SET_MUTATION_OBSERVER_AND_RESIZE_FN","UNSET_MUTATION_OBSERVER_AND_RESIZE_FN","TAG_NAME","renderer","snabbdom","view","rawModel","JSON","parse","parseModel","modelByDevice","isDesktopModel","getModelByDevice","queryVars","isTablet","mobileModel","tabletModel","defaultModel","mediaQuery","getLayoutRuntime","runtimeFn","properties","parentTag","reflect","collapsibleColumns","behavior","slottedPolyfillBehavior","options","mediaQueryBehavior","isDesktop","childrenWithSlotBehavior","rtlBehavior","option","resize","addEventListener","removeEventListener","disconnect","__TECTONIC__$devsnc_sn_layout"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-layout/src/styles.scss","webpack:///./src/styles.scss?74bc","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-media-query/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-layout/src/slotted-polyfill-behavior/index.js","webpack:///@devsnc/sn-layout/src/children-with-slot-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.0/index.jsdbx\"","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/utils.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/transformColumns.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/adjustColumns.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/index.js","webpack:///@devsnc/sn-layout/src/versionCompare.js","webpack:///@devsnc/sn-layout/src/runtimes/Flex/index.js","webpack:///@devsnc/sn-layout/src/runtimes/Grid/index.js","webpack:///@devsnc/sn-layout/src/runtimes/RuleBased/utils.js","webpack:///@devsnc/sn-layout/src/runtimes/RuleBased/index.js","webpack:///@devsnc/sn-layout/src/runtimes/Free/index.js","webpack:///@devsnc/sn-layout/src/runtimes/index.js","webpack:///@devsnc/sn-layout/src/runtimes/getModelByDevice.js","webpack:///@devsnc/sn-layout/src/constants/constants.js","webpack:///@devsnc/sn-layout/src/sn-layout.js","webpack:///@devsnc/sn-layout/src/action-handlers.js","webpack:///@devsnc/sn-layout/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".flex{display:flex}.flex,.flex-item{box-sizing:border-box}.flex-item{flex:1 1 auto}.grid-block{box-sizing:border-box;display:grid}.grid-inline{display:inline-grid}.grid-inline,.grid-item,.slot-wrapper{box-sizing:border-box}.absolute-wrapper{position:relative}.rule-based{display:flex;flex-wrap:wrap;margin:0 -.75rem}.rule-based-slot{margin:0 .75rem}.rule-based-row{align-content:flex-start;display:flex;flex-direction:row}.rule-based-group{display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:1.5rem}.rule-based-first-render{display:block;position:absolute;visibility:hidden}.divider-column{border-right:1px solid RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-row{border-bottom:1px solid RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.row{display:flex;flex:0 1 auto;flex-wrap:wrap}.column,.row{box-sizing:border-box}.column{flex:0 0 auto}.row{margin-left:-.375rem;margin-right:-.375rem}.row:not(:last-of-type){margin-bottom:.75rem}.divider-row{padding-bottom:.75rem}.column{padding-left:.375rem;padding-right:.375rem}.column .slot-wrapper{margin-bottom:-.75rem}.column .slot-wrapper ::slotted(*){display:block;margin-bottom:.75rem}.divider-column{padding-right:.75rem}.divider-column+.column{padding-left:.75rem}:host([parent-tag=now-uxf-page]) .row{margin-left:-.75rem;margin-right:-.75rem}:host([parent-tag=now-uxf-page]) .row:not(:last-of-type){margin-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .divider-row{padding-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .column{padding-left:.75rem;padding-right:.75rem}:host([parent-tag=now-uxf-page]) .column .slot-wrapper{margin-bottom:-1.5rem}:host([parent-tag=now-uxf-page]) .column .slot-wrapper ::slotted(*){display:block;margin-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .divider-column{padding-right:1.5rem}:host([parent-tag=now-uxf-page]) .divider-column+.column{padding-left:1.5rem}.col-xs-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.col-xs-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.col-xs-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.col-xs-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.col-xs-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.col-xs-12{flex-basis:100%;max-width:100%}@media only screen and (min-width:64rem){.col-md-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.col-md-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.col-md-3{flex-basis:25%;max-width:25%}.col-md-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.col-md-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.col-md-6{flex-basis:50%;max-width:50%}.col-md-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.col-md-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.col-md-9{flex-basis:75%;max-width:75%}.col-md-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.col-md-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.col-md-12{flex-basis:100%;max-width:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"countBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'countBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].countBy;\n\t\t\t\t\t} else if ('countBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.countBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].countBy;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"gt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'gt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].gt;\n\t\t\t\t\t} else if ('gt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.gt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].gt;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"lt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'lt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].lt;\n\t\t\t\t\t} else if ('lt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.lt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].lt;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"minBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'minBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].minBy;\n\t\t\t\t\t} else if ('minBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.minBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].minBy;\n\t\t\t\t}, [\"partition\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t\t} else if ('partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.partition || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"remove\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t\t} else if ('remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.remove || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t}, [\"sum\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sum' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sum;\n\t\t\t\t\t} else if ('sum' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sum || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sum;\n\t\t\t\t}, [\"sumBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sumBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sumBy;\n\t\t\t\t\t} else if ('sumBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sumBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sumBy;\n\t\t\t\t}, [\"toLower\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toLower;\n\t\t\t\t\t} else if ('toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toLower || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toLower;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t} });","/**\n * Seismic does not polyfill the `::slotted` psuedo-selector, which we use all\n * over this project to set margin between multiple slotted elements.\n *\n * This is a hacky workaround to inline margins onto the slotted components\n * directly for IE11/Edge browsers.\n */\nimport { toLower, forEach } from 'lodash';\n\nconst MARGIN_MAP = {\n\t'now-uxf-page': '1.5rem',\n\tdefault: '0.75rem'\n};\n\nexport function getMargin(locals, el) {\n\treturn (\n\t\tlocals[toLower(el.tagName)] ||\n\t\tlocals[toLower(el.getAttribute('parent-tag'))] ||\n\t\tlocals.default\n\t);\n}\n\nexport function isIEOrEdge(userAgent) {\n\treturn /Trident\\/|Edge/.test(userAgent);\n}\n\nexport default {\n\tname: 'slottedPolyfill',\n\tonConnect(el, _, { selector = '*' }) {\n\t\tif (!isIEOrEdge(window.navigator.userAgent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst margin = getMargin(MARGIN_MAP, el);\n\n\t\tif (margin) {\n\t\t\tforEach(el.querySelectorAll(selector), el => {\n\t\t\t\tel.style.display = 'block';\n\t\t\t\tel.style.marginBottom = margin;\n\t\t\t});\n\t\t}\n\t}\n};\n","import { map } from 'lodash';\n\nconst BEHAVIOR_NAME = 'childrenWithSlot';\n\nconst mutationObserver = new WeakMap();\n\n/**\n * The childrenWithSlot behavior has a list of the child elements\n * that have a 'slot' attribute\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tslots: new Map()\n\t},\n\tactionHandlers: {\n\t\tUPDATE_SLOT_LIST({ action, state, updateState }) {\n\t\t\tconst { added, removed } = action.payload;\n\t\t\tconst res = new Map(state.behaviors[BEHAVIOR_NAME].slots);\n\t\t\tremoved.map(r => {\n\t\t\t\tconst count = res.get(r);\n\t\t\t\tcount > 1 ? res.set(r, count - 1) : res.delete(r);\n\t\t\t});\n\t\t\tadded.map(a => res.set(a, res.has(a) ? res.get(a) + 1 : 1));\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.slots`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: res\n\t\t\t});\n\t\t},\n\t\tCLEAR_SLOTS_MAP({ state, updateState }) {\n\t\t\tconst res = state.behaviors[BEHAVIOR_NAME].slots;\n\t\t\tres.clear();\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.slots`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: res\n\t\t\t});\n\t\t}\n\t},\n\tactions: {\n\t\tUPDATE_SLOT_LIST: {\n\t\t\tprivate: true\n\t\t},\n\t\tCLEAR_SLOTS_MAP: {\n\t\t\tprivate: true\n\t\t}\n\t},\n\tonConnect(el, { dispatch }) {\n\t\tif (!mutationObserver.has(el)) {\n\t\t\tconst observer = new MutationObserver(mutations => {\n\t\t\t\tconst changes = mutations.reduce(\n\t\t\t\t\t(acc, m) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tm.type === 'attributes' &&\n\t\t\t\t\t\t\tm.attributeName === 'slot' &&\n\t\t\t\t\t\t\tm.target.slot !== m.oldValue\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tacc.added.push(m.target.slot);\n\t\t\t\t\t\t\tacc.removed.push(m.oldValue);\n\t\t\t\t\t\t} else if (m.type === 'childList') {\n\t\t\t\t\t\t\tif (m.removedNodes.length > 0) {\n\t\t\t\t\t\t\t\tmap(m.removedNodes, n => acc.removed.push(n.slot));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (m.addedNodes.length > 0) {\n\t\t\t\t\t\t\t\tmap(m.addedNodes, n => acc.added.push(n.slot));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{ added: [], removed: [] }\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tdispatch &&\n\t\t\t\t\t(changes.added.length > 0 || changes.removed.length > 0)\n\t\t\t\t) {\n\t\t\t\t\tdispatch('UPDATE_SLOT_LIST', changes);\n\t\t\t\t}\n\t\t\t});\n\t\t\tobserver.observe(el, {\n\t\t\t\tchildList: true,\n\t\t\t\tattributes: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributeOldValue: true\n\t\t\t});\n\t\t\tmutationObserver.set(el, observer);\n\t\t}\n\t\tdispatch('UPDATE_SLOT_LIST', {\n\t\t\tadded: map(el.querySelectorAll('[slot]'), e => e.slot),\n\t\t\tremoved: []\n\t\t});\n\t},\n\tonDisconnect(el, { dispatch }) {\n\t\tmutationObserver.delete(el);\n\t\tdispatch('CLEAR_SLOTS_MAP');\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t} });","import { reduce } from 'lodash';\n\nexport const GRID_SIZE = 12;\n\nexport const findIndexBy = (collection, comparison) => {\n\treturn reduce(\n\t\tcollection,\n\t\t(result, val, i, all) => (comparison(val, all[result]) ? i : result),\n\t\t0\n\t);\n};\n","import { GRID_SIZE } from './utils';\nimport { map, sumBy, get, toNumber } from 'lodash';\n\nexport function getSize(column) {\n\tconst size = toNumber(get(column, 'size', 1));\n\treturn Number.isNaN(size) ? 1 : size;\n}\n\nexport const transformColumns = columns => {\n\tconst totalSize = sumBy(columns, getSize);\n\treturn map(columns, c => Math.round((getSize(c) / totalSize) * GRID_SIZE));\n};\n","import { GRID_SIZE, findIndexBy } from './utils';\nimport { map, sum, range, reduce, gt, lt, countBy } from 'lodash';\n\nexport const shaveOffLargest = toChange => sizes => {\n\t// columns of size 1 cannot be shaved\n\tif (toChange && toChange > 1) {\n\t\treturn map(sizes, size => (size === toChange ? size - 1 : size));\n\t}\n\tconst largestIndex = findIndexBy(sizes, gt);\n\treturn map(sizes, (size, i) => (i === largestIndex ? size - 1 : size));\n};\n\nexport const addOnToSmallest = toChange => sizes => {\n\tif (toChange) {\n\t\treturn map(sizes, size => (size === toChange ? size + 1 : size));\n\t}\n\tconst smallestIndex = toChange ? toChange : findIndexBy(sizes, lt);\n\treturn map(sizes, (size, i) => (i === smallestIndex ? size + 1 : size));\n};\n\nexport const getAdjustColumnSizesFn = gridSize => sizes => {\n\tconst total = sum(sizes);\n\tconst error = total - gridSize;\n\n\t// figure out what to adjust\n\tconst counts = countBy(sizes);\n\n\tlet toChange = Object.keys(counts).filter(\n\t\ti => i !== 1 && counts[i] === Math.abs(error)\n\t);\n\n\t// If there is an exact match of number of things to change\n\t// also don't let column sizes drop lower than 1\n\ttoChange = toChange.length === 1 ? parseInt(toChange[0]) : 0;\n\n\tconst adjustmentFn = error > 0 ? shaveOffLargest : addOnToSmallest;\n\treturn reduce(range(error), adjustmentFn(toChange), sizes);\n};\n\nexport const adjustColumns = getAdjustColumnSizesFn(GRID_SIZE);\n","import { transformColumns } from './transformColumns';\nimport { adjustColumns } from './adjustColumns';\nimport { map } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nfunction defaultRenderer(props) {\n\treturn <div className={props.className}>{props.children}<\/div>;\n}\n\nexport const getAdjustedColumns = (\n\tcolumns,\n\tfixedColumns = false,\n\tchildrenWithSlot,\n\tdynamic\n) => {\n\tconst columnsToUse = dynamic\n\t\t? columns.filter(c => childrenWithSlot.has(c.slotName))\n\t\t: columns;\n\tconst transformed = transformColumns(columnsToUse, dynamic, childrenWithSlot);\n\tconst adjusted = adjustColumns(transformed);\n\n\treturn map(adjusted, (size, i) => {\n\t\tconst sizeClassNames = fixedColumns\n\t\t\t? `col-xs-${size}`\n\t\t\t: `col-md-${size} col-xs-12`;\n\n\t\treturn {\n\t\t\t...columnsToUse[i],\n\t\t\tsizeClassNames\n\t\t};\n\t});\n};\n\nexport const renderRow = (row, renderers, childrenWithSlot, dynamic) => {\n\tconst { type, slotName, isMobile, divider, columns, id } = row;\n\n\tif (type !== 'row') return null;\n\n\tconst adjustedColumns = getAdjustedColumns(\n\t\tcolumns,\n\t\tisMobile,\n\t\tchildrenWithSlot,\n\t\tdynamic\n\t);\n\n\tconst className = `row ${divider ? 'divider-row' : ''}`.trim();\n\n\treturn (renderers.row || defaultRenderer)({\n\t\tclassName,\n\t\tid,\n\t\tchildren: (\n\t\t\t<Fragment>\n\t\t\t\t{map(adjustedColumns, column =>\n\t\t\t\t\trenderColumn(column, renderers, childrenWithSlot, dynamic)\n\t\t\t\t)}\n\t\t\t\t{slotName &&\n\t\t\t\t\trenderColumn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'column',\n\t\t\t\t\t\t\tslotName,\n\t\t\t\t\t\t\tid\n\t\t\t\t\t\t},\n\t\t\t\t\t\trenderers\n\t\t\t\t\t)}\n\t\t\t<\/Fragment>\n\t\t)\n\t});\n};\n\nexport const renderColumn = (column, renderers, childrenWithSlot, dynamic) => {\n\tconst {\n\t\ttype,\n\t\tslotName,\n\t\trows,\n\t\tdivider,\n\t\tsizeClassNames = 'col-xs-12',\n\t\tstyles,\n\t\tid\n\t} = column;\n\n\tif (type !== 'column') return null;\n\n\tconst className = `column ${sizeClassNames} ${\n\t\tdivider ? 'divider-column' : ''\n\t}`.trim();\n\n\treturn (renderers.column || defaultRenderer)({\n\t\tclassName,\n\t\tid,\n\t\tchildren: (\n\t\t\t<Fragment>\n\t\t\t\t{map(rows, row => renderRow(row, renderers, childrenWithSlot, dynamic))}\n\t\t\t\t{slotName ? (\n\t\t\t\t\t<div style={styles}>\n\t\t\t\t\t\t<div className=\"slot-wrapper\">\n\t\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/Fragment>\n\t\t)\n\t});\n};\n\nexport default ({ model, renderers, childrenWithSlot }) => {\n\tlet { root, dynamic, styles } = model;\n\tif (root.type !== 'row') {\n\t\troot = {\n\t\t\ttype: 'row',\n\t\t\tcolumns: [{ ...root }]\n\t\t};\n\t}\n\treturn (\n\t\t<div style={styles}>\n\t\t\t{renderRow(root, renderers, childrenWithSlot, dynamic)}\n\t\t<\/div>\n\t);\n};\n","const versionCompare = (v1, v2) => {\n\tconst versionRe = /^((\\d+\\.)*(\\d+))(-(\\S+))?$/;\n\tif (!versionRe.test(v1) || !versionRe.test(v2)) {\n\t\treturn -1;\n\t}\n\n\tconst [, v1match, , , , v1suffix = ''] = v1.match(versionRe);\n\tconst [, v2match, , , , v2suffix = ''] = v2.match(versionRe);\n\tconst v1parts = v1match.split('.');\n\tconst v2parts = v2match.split('.');\n\tfor (let i = 0; i < Math.max(v1parts.length, v2parts.length); i++) {\n\t\tconst v1part = v1parts[i] || 0;\n\t\tconst v2part = v2parts[i] || 0;\n\t\tif (v1part < v2part) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (v1part > v2part) {\n\t\t\treturn 1;\n\t\t}\n\t}\n\tif (v1suffix === '' && v2suffix !== '') return 1;\n\tif (v2suffix === '' && v1suffix !== '') return -1;\n\treturn v1suffix.toLowerCase().localeCompare(v2suffix.toLowerCase());\n};\n\nexport default versionCompare;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport versionCompare from '../../versionCompare';\n\nconst renderFlex = (rules, items, styles = {}, version) => {\n\treturn (\n\t\t<div className=\"flex\" style={{ ...styles, ...rules }}>\n\t\t\t{items.map(renderChild(version))}\n\t\t<\/div>\n\t);\n};\n\nconst renderChild = version => ({ rules, slotName, styles = {} }) => {\n\tconst validStyles = {\n\t\t...styles\n\t};\n\n\tif (versionCompare(version, '2') === -1) {\n\t\tvalidStyles.height = validStyles.height || '100%';\n\t}\n\n\tconst includeClassName = Object.keys(styles).length === 0;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{slotName ? (\n\t\t\t\t<div className=\"flex-item\" style={rules}>\n\t\t\t\t\t<div style={validStyles} class={{ 'slot-wrapper': includeClassName }}>\n\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default ({ model, version = '1.0' }) => {\n\tconst { rules, items, styles } = model;\n\treturn renderFlex(rules, items, styles, version);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport versionCompare from '../../versionCompare';\n\nconst renderGrid = (inline, rules, items, styles = {}, version) => {\n\tconst validStyles = {\n\t\t...styles\n\t};\n\n\tif (versionCompare(version, '2') === -1) {\n\t\tvalidStyles.height = validStyles.height || '100%';\n\t}\n\treturn (\n\t\t<div\n\t\t\tclassName={inline ? 'grid-inline' : 'grid-block'}\n\t\t\tstyle={{ ...validStyles, ...rules }}\n\t\t>\n\t\t\t{items.map(renderChild(version))}\n\t\t<\/div>\n\t);\n};\n\nconst renderChild = version => ({ rules, slotName, styles = {} }) => {\n\tconst itemStyles = {\n\t\t'min-width': '0',\n\t\t...rules\n\t};\n\tconst wrapperStyles = {\n\t\t...styles\n\t};\n\n\tif (versionCompare(version, '2') === -1) {\n\t\titemStyles.height = itemStyles.height || '100%';\n\t\twrapperStyles.height = wrapperStyles.height || '100%';\n\t}\n\tconst includeClassName = Object.keys(styles).length === 0;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{slotName ? (\n\t\t\t\t<div className=\"grid-item\" style={itemStyles}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={wrapperStyles}\n\t\t\t\t\t\tclass={{ 'slot-wrapper': includeClassName }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default ({ model, version }) => {\n\tconst { inline, rules, items, styles } = model;\n\treturn renderGrid(inline, rules, items, styles || {}, version);\n};\n","import {\n\tfind,\n\tminBy,\n\tisUndefined,\n\tisNil,\n\tremove,\n\tsumBy,\n\tfindIndex,\n\treduce,\n\tpartition\n} from 'lodash';\n\nlet gutterSpace = 0; // gets set based on first render\n\nexport const getGutterSpace = () => {\n\treturn gutterSpace;\n};\n\n/**\n * 1. Sets the gutterspace after first render\n * 2. Gets the sizes of the contents of each slot and creates a new list\n *    based on the slots list from the json model\n *\n * @param {list} slots list from json model\n * @param {function} dispatch\n * @param {object} elm \"rule-based\" div\n */\nexport const calculateSizesAndGroup = (slots, dispatch, elm) => {\n\tif (gutterSpace === 0) {\n\t\tgutterSpace = Math.abs(\n\t\t\tparseInt(\n\t\t\t\twindow.getComputedStyle(elm, null).getPropertyValue('margin-left'),\n\t\t\t\t10\n\t\t\t) * 2\n\t\t);\n\t}\n\n\tconst slotList = elm.getElementsByTagName('slot');\n\n\t// get the dimensions that we will use to determine groups\n\tconst domSlots = reduce(\n\t\tslots,\n\t\t(acc, s) => {\n\t\t\tconst current = slotList[s.name];\n\t\t\tconst assignedNode =\n\t\t\t\tcurrent && current.assignedNodes\n\t\t\t\t\t? current.assignedNodes()[0]\n\t\t\t\t\t: undefined;\n\t\t\tif (assignedNode) {\n\t\t\t\tconst rect = assignedNode.getBoundingClientRect();\n\t\t\t\treturn [\n\t\t\t\t\t...acc,\n\t\t\t\t\t{\n\t\t\t\t\t\tname: s.name,\n\t\t\t\t\t\twidth: rect.width,\n\t\t\t\t\t\theight: rect.height\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// if slot in the json doesn't exist in dom, we find the dom element this way\n\t\t\t\tconst newSlot = elm.parentNode.host.querySelectorAll(\n\t\t\t\t\t`[slot=\"${s.name}\"]`\n\t\t\t\t)[0];\n\t\t\t\tif (!isNil(newSlot)) {\n\t\t\t\t\tconst rect = newSlot.getBoundingClientRect();\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: s.name,\n\t\t\t\t\t\t\twidth: rect.width,\n\t\t\t\t\t\t\theight: rect.height\n\t\t\t\t\t\t}\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t[]\n\t);\n\n\tdispatch('CALCULATE_RULE_BASED_ROW', {\n\t\trows: groupSlots(domSlots, elm.getBoundingClientRect().width, gutterSpace),\n\t\tslots\n\t});\n};\n\n/**\n * Groups slots and then puts those groups into different rows\n *\n * @param {List} slots the list of slots\n * @param {number} maxWidth The width sn-layout can take up\n * @param {number} gutterSpace The padding between slots\n */\nexport const groupSlots = (slots, maxWidth, gutterSpace) => {\n\tconst rows = [];\n\t// things that are too large shouldn't go through buildGroups()\n\tlet [remainders, tooLarge] = partition(\n\t\tslots,\n\t\ts => s.width + gutterSpace <= maxWidth\n\t);\n\n\t// create new rows as long as there are remainders\n\twhile (remainders.length > 0) {\n\t\tconst { groups, invalids, rowWidth, rowHeight } = buildGroups(\n\t\t\tremainders,\n\t\t\tmaxWidth,\n\t\t\tgutterSpace\n\t\t);\n\t\trows.push({ groups, rowWidth, rowHeight });\n\t\tremainders = invalids;\n\t}\n\n\t// render things that are too large into their own group at the end\n\tif (tooLarge.length) {\n\t\tconst width = sumBy(tooLarge, 'width');\n\t\tconst height = sumBy(tooLarge, 'height');\n\t\trows.push({\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tslots: tooLarge,\n\t\t\t\t\tgroupHeight: height,\n\t\t\t\t\tgroupWidth: width\n\t\t\t\t}\n\t\t\t],\n\t\t\trowHeight: height,\n\t\t\trowWidth: width\n\t\t});\n\t}\n\n\treturn rows;\n};\n\n/**\n * Fills a row with groups that can layout in order\n * 1. Renders a row of slots\n * 2. Fills in the gaps left by the slots rendered in the first row\n * 3. Group up slots (and group up groups if necessary) in order to determine\n *    how large any remaining gaps are\n *\n * @param {list} slots list of slots with their heights and widths\n * @param {number} maxWidth\n * @param {number} gutterSpace\n */\nconst buildGroups = (slots, maxWidth, gutterSpace) => {\n\tconst invalids = [];\n\tconst groups = [];\n\tlet rowHeight = 0;\n\n\t// Initial groups, we render one row first as the initial group\n\tconst rowWidth = slots.reduce((acc, s, i) => {\n\t\tconst slotWidth = parseInt(s.width, 10);\n\t\tconst slotHeight = parseInt(s.height, 10);\n\t\tif (slotHeight > rowHeight) {\n\t\t\trowHeight = slotHeight;\n\t\t}\n\t\tif (acc + slotWidth + (i === 1 ? 0 : gutterSpace) <= maxWidth) {\n\t\t\t// group consecutive same-height slots\n\t\t\tconst lastGroup = groups[groups.length - 1];\n\t\t\tif (lastGroup && slotHeight === lastGroup.groupHeight) {\n\t\t\t\tlastGroup.slots.push(s);\n\t\t\t\tlastGroup.groupWidth += slotWidth + gutterSpace;\n\t\t\t\tlastGroup.availableWidth += slotWidth + gutterSpace;\n\t\t\t} else {\n\t\t\t\tgroups.push({\n\t\t\t\t\tslots: [s],\n\t\t\t\t\tgroupHeight: slotHeight,\n\t\t\t\t\tadditionalHeight: 0,\n\t\t\t\t\tgroupWidth: slotWidth + gutterSpace,\n\t\t\t\t\tavailableWidth: slotWidth,\n\t\t\t\t\tfilled: false\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn acc + slotWidth + gutterSpace;\n\t\t}\n\t\tinvalids.push(s);\n\t\treturn acc;\n\t}, 0);\n\n\t// last group in row should take up the rest of the width available\n\tconst remainingWidth = maxWidth - sumBy(groups, 'groupWidth');\n\tconst lastGroup = groups[groups.length - 1];\n\tlastGroup.groupWidth += remainingWidth;\n\tlastGroup.availableWidth += remainingWidth;\n\n\t// Fill in the groups until they are filled\n\t// We do this in order of smallest to largest height for a\n\t// logical order\n\twhile (find(groups, { filled: false }) && invalids.length > 0) {\n\t\tconst smallest = minBy(groups.filter(i => !i.filled), 'groupHeight');\n\n\t\t// calculate space left\n\t\tconst h = rowHeight - smallest.groupHeight;\n\t\tconst w = smallest.availableWidth;\n\n\t\t// see if anything fits in the space remaining\n\t\tconst candidate = find(invalids, slot => {\n\t\t\tconst slotWidth = parseInt(slot.width, 10);\n\t\t\tconst slotHeight = parseInt(slot.height, 10);\n\t\t\tif (slotWidth <= w && slotHeight <= h) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\tconst currentIndex = findIndex(groups, smallest);\n\n\t\t// If nothing fits in the space remaining\n\t\tif (isUndefined(candidate)) {\n\t\t\t// make sure the group doesn't actually have more space\n\t\t\tsmallest.groupHeight += smallest.additionalHeight;\n\t\t\tsmallest.additionalHeight = 0;\n\t\t\tif (\n\t\t\t\tsmallest.groupHeight !== rowHeight &&\n\t\t\t\tsmallest.availableWidth + gutterSpace !== smallest.groupWidth\n\t\t\t) {\n\t\t\t\tsmallest.availableWidth = smallest.groupWidth - gutterSpace;\n\t\t\t} else {\n\t\t\t\t// otherwise try to make a supergroup, if unsuccessful, then the group is filled\n\t\t\t\tsmallest.filled = !tryMakeSuperGroup(currentIndex, rowHeight, groups);\n\t\t\t}\n\t\t} else {\n\t\t\t// if there is something that fits in the space remaining\n\t\t\tremove(invalids, i => i === candidate);\n\t\t\tconst slotWidth = parseInt(candidate.width, 10);\n\t\t\tconst slotHeight = parseInt(candidate.height, 10);\n\t\t\tsmallest.slots.push(candidate);\n\n\t\t\tif (slotWidth === smallest.availableWidth) {\n\t\t\t\tsmallest.groupHeight += slotHeight + gutterSpace;\n\t\t\t\tsmallest.availableWidth = smallest.groupWidth;\n\t\t\t} else {\n\t\t\t\t// if the candidate fills up the available width, we can\n\t\t\t\t// increase the groupHeight\n\t\t\t\tif (smallest.availableWidth === smallest.groupWidth) {\n\t\t\t\t\tsmallest.groupHeight += slotHeight + gutterSpace;\n\t\t\t\t} else if (smallest.additionalHeight < slotHeight) {\n\t\t\t\t\t// if the candidate didn't fill up the available width,\n\t\t\t\t\t// we have to try to fill in the available with while\n\t\t\t\t\t// making sure we keep track of the height we added\n\t\t\t\t\tsmallest.additionalHeight = slotHeight + gutterSpace;\n\t\t\t\t}\n\t\t\t\tsmallest.availableWidth -= slotWidth + gutterSpace;\n\t\t\t}\n\n\t\t\t// another possible place where we can make a super-group\n\t\t\ttryMakeSuperGroup(currentIndex, rowHeight, groups);\n\t\t}\n\t}\n\n\treturn {\n\t\tgroups,\n\t\tinvalids,\n\t\trowHeight,\n\t\trowWidth\n\t};\n};\n\n/**\n * Makes a super group if possible\n * @param {object} prev the object before smallest in groups\n * @param {object} next the object after smallest in groups\n * @param {object} smallest the smallest height slot/group in groups\n * @param {number} currentIndex index of smallest in groups\n */\nexport const tryMakeSuperGroup = (currentIndex, rowHeight, groups) => {\n\tlet result = false;\n\tconst prev = groups[currentIndex - 1];\n\tconst next = groups[currentIndex + 1];\n\tlet smallest = groups[currentIndex];\n\tif (\n\t\tprev &&\n\t\tprev.groupHeight + prev.additionalHeight >=\n\t\t\tsmallest.groupHeight + smallest.additionalHeight &&\n\t\tprev.groupHeight + prev.additionalHeight !== rowHeight\n\t) {\n\t\tmakeSuperGroup(prev, smallest, currentIndex, groups);\n\t\twhile (\n\t\t\tgroups[currentIndex] &&\n\t\t\tgroups[currentIndex].groupHeight === prev.groupHeight\n\t\t) {\n\t\t\tmakeSuperGroup(prev, groups[currentIndex], currentIndex, groups);\n\t\t}\n\t\tresult = true;\n\t}\n\tif (\n\t\tnext &&\n\t\tnext.groupHeight + next.additionalHeight >=\n\t\t\tsmallest.groupHeight + smallest.additionalHeight &&\n\t\tnext.groupHeight + next.additionalHeight !== rowHeight\n\t) {\n\t\tsmallest.slots = [{ ...smallest }];\n\t\twhile (\n\t\t\tcurrentIndex + 1 < groups.length &&\n\t\t\tgroups[currentIndex + 1] &&\n\t\t\tgroups[currentIndex + 1].groupHeight +\n\t\t\t\tgroups[currentIndex + 1].additionalHeight >=\n\t\t\t\tsmallest.groupHeight + smallest.additionalHeight\n\t\t) {\n\t\t\tmakeSuperGroup(\n\t\t\t\tsmallest,\n\t\t\t\tgroups[currentIndex + 1],\n\t\t\t\tcurrentIndex + 1,\n\t\t\t\tgroups\n\t\t\t);\n\t\t}\n\t\tresult = true;\n\t}\n\treturn result;\n};\n\n/**\n * Combines slots and groups into a single group\n * @param {object} parent The base group\n * @param {object} child The slot or group to be added to parent\n * @param {number} childIndex\n */\nexport const makeSuperGroup = (parent, child, childIndex, groups) => {\n\tparent.slots.push({ ...child });\n\tparent.availableWidth += child.groupWidth;\n\tparent.groupWidth += child.groupWidth;\n\tgroups.splice(childIndex, 1);\n};\n","import { calculateSizesAndGroup, getGutterSpace } from './utils';\nimport { isEqual, debounce, sumBy } from 'lodash';\n\nexport default ({ model, dispatch, ruleBasedRows, currentSlots }) => {\n\tconst { rules, items } = model;\n\n\tlet renderFn = rules.algorithm === 'fillGaps' ? fillGaps : defaultRules;\n\n\treturn renderFn(items, dispatch, ruleBasedRows, currentSlots);\n};\n\nconst defaultRules = slots => {\n\treturn <div className=\"rule-based\">{slots.map(renderSlot)}<\/div>;\n};\n\nconst recalculateOnResize = (slots, dispatch, elm) =>\n\tdebounce(() => calculateSizesAndGroup(slots, dispatch, elm), 200);\n\nconst fillGaps = (slots, dispatch, ruleBasedRows, currentSlots) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"rule-based\"\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tcalculateSizesAndGroup(slots, dispatch, elm);\n\t\t\t\tdispatch('SET_MUTATION_OBSERVER_AND_RESIZE_FN', {\n\t\t\t\t\tcallback: () => calculateSizesAndGroup(slots, dispatch, elm),\n\t\t\t\t\tresizeFn: () => recalculateOnResize(slots, dispatch, elm),\n\t\t\t\t\thost: elm.parentNode.host\n\t\t\t\t});\n\t\t\t}}\n\t\t\thook-update={(o, n) => {\n\t\t\t\tif (!isEqual(currentSlots, slots)) {\n\t\t\t\t\tcalculateSizesAndGroup(slots, dispatch, n.elm);\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-remove={(v, removeCallback) => {\n\t\t\t\tdispatch('UNSET_MUTATION_OBSERVER_AND_RESIZE_FN');\n\t\t\t\tif (removeCallback) removeCallback();\n\t\t\t}}\n\t\t\tkey=\"rule-based\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"absolute-wrapper\"\n\t\t\t\thook-update={(o, n) => {\n\t\t\t\t\tif (n && isEqual(currentSlots, slots)) {\n\t\t\t\t\t\tn.elm.parentElement.style.height =\n\t\t\t\t\t\t\tsumBy(ruleBasedRows, 'rowHeight') +\n\t\t\t\t\t\t\tgetGutterSpace() * (ruleBasedRows.length - 1) +\n\t\t\t\t\t\t\t'px';\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{ruleBasedRows.length > 0 && isEqual(currentSlots, slots) ? (\n\t\t\t\t\truleBasedRows.map(renderRow)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"rule-based-first-render\">{slots.map(renderSlot)}<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst renderRow = row => {\n\treturn <span className=\"rule-based-row\">{row.groups.map(renderGroup)}<\/span>;\n};\n\nconst renderGroup = group => {\n\treturn (\n\t\t<span\n\t\t\tclassName=\"rule-based-group\"\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: `${group.groupWidth}px`,\n\t\t\t\tmaxHeight: `${group.groupHeight + group.additionalHeight}px`\n\t\t\t}}\n\t\t>\n\t\t\t{group.slots.map(s => (s.slots ? renderGroup(s) : renderSlot(s)))}\n\t\t<\/span>\n\t);\n};\n\nconst renderSlot = s => {\n\tconst sizing = { height: s.height, width: s.width };\n\treturn (\n\t\t<span className=\"rule-based-slot\" style={sizing}>\n\t\t\t<slot name={s.name} />\n\t\t<\/span>\n\t);\n};\n","const renderFree = (children, styles) => {\n\treturn <div style={styles}>{children.map(renderChild)}<\/div>;\n};\n\nconst renderChild = child => {\n\tconst { slotName, styles, children = [] } = child;\n\n\treturn (\n\t\t<div style={styles}>\n\t\t\t{slotName ? (\n\t\t\t\t<div className=\"slot-wrapper\">\n\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t{children.map(renderChild)}\n\t\t<\/div>\n\t);\n};\n\nexport default ({ model }) => {\n\tconst { children, styles } = model;\n\treturn renderFree(children, styles);\n};\n","import RowColumn from './RowColumn/';\nimport Flex from './Flex/';\nimport Grid from './Grid/';\nimport RuleBased from './RuleBased/';\nimport Free from './Free';\nimport get from 'lodash/get';\n\nconst getLayoutRuntime = model => {\n\tconst type = get(model, 'type');\n\n\tswitch (type) {\n\t\tcase 'rowColumn':\n\t\t\treturn RowColumn;\n\t\tcase 'flex':\n\t\t\treturn Flex;\n\t\tcase 'grid':\n\t\t\treturn Grid;\n\t\tcase 'ruleBased':\n\t\t\treturn RuleBased;\n\t\tcase 'free':\n\t\t\treturn Free;\n\t\tdefault:\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn(`Unknown layout type ${type}. Nothing will be rendered!`);\n\t\t\treturn () => null;\n\t}\n};\n\nexport default getLayoutRuntime;\n","import get from 'lodash/get';\n\nexport const getModelByDevice = (model, queryVars) => {\n\tconst { isMobile, isTablet } = queryVars;\n\tconst mobileModel = get(model, 'mobile');\n\tconst tabletModel = get(model, 'tablet');\n\tconst defaultModel = get(model, 'default');\n\tlet modelByDevice;\n\n\tif (isMobile) {\n\t\tmodelByDevice = mobileModel || tabletModel || defaultModel;\n\t} else if (isTablet) {\n\t\tmodelByDevice = tabletModel || defaultModel || mobileModel;\n\t} else {\n\t\tmodelByDevice = defaultModel || tabletModel || mobileModel;\n\t}\n\n\treturn {\n\t\tmodelByDevice,\n\t\tisDesktopModel: modelByDevice === defaultModel\n\t};\n};\n","export const CALCULATE_RULE_BASED_ROW = 'CALCULATE_RULE_BASED_ROW';\nexport const SET_MUTATION_OBSERVER_AND_RESIZE_FN = 'SET_MUTATION_OBSERVER_AND_RESIZE_FN';\nexport const UNSET_MUTATION_OBSERVER_AND_RESIZE_FN = 'UNSET_MUTATION_OBSERVER_AND_RESIZE_FN';","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport slottedPolyfillBehavior from './slotted-polyfill-behavior';\nimport childrenWithSlotBehavior from './children-with-slot-behavior';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport get from 'lodash/get';\nimport isString from 'lodash/isString';\n\nimport getLayoutRuntime from './runtimes';\nimport styles from './styles.scss';\nimport { getModelByDevice } from './runtimes/getModelByDevice';\nimport {\n\tcalculateRuleBasedRowFn,\n\tsetMutationObserverAndResizeFn,\n\tunsetMutationObserverAndResizeFn\n} from './action-handlers';\nimport {\n\tCALCULATE_RULE_BASED_ROW,\n\tSET_MUTATION_OBSERVER_AND_RESIZE_FN,\n\tUNSET_MUTATION_OBSERVER_AND_RESIZE_FN\n} from './constants/constants';\n\nexport const parseModel = (rawModel = null) => {\n\tif (isString(rawModel)) {\n\t\tlet model = null;\n\n\t\ttry {\n\t\t\tmodel = JSON.parse(rawModel);\n\t\t} catch (e) {\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn('Unable to parse model in sn-layout');\n\t\t}\n\n\t\treturn model;\n\t} else {\n\t\treturn rawModel;\n\t}\n};\n\nexport const view = (state, { dispatch }) => {\n\tconst model = parseModel(get(state, 'properties.model'));\n\n\tif (!model) return null;\n\n\tconst { modelByDevice, isDesktopModel } = getModelByDevice(\n\t\tmodel,\n\t\tstate.behaviors.mediaQuery\n\t);\n\n\tconst runtimeFn = getLayoutRuntime(modelByDevice);\n\treturn runtimeFn({\n\t\t...state.properties,\n\t\tversion: model.version || '1.0.0',\n\t\tmodel: modelByDevice,\n\t\tisMobile: !isDesktopModel,\n\t\tdispatch,\n\t\truleBasedRows: state.ruleBasedRows,\n\t\tcurrentSlots: state.currentSlots,\n\t\tchildrenWithSlot: state.behaviors.childrenWithSlot.slots\n\t});\n};\n\nconst TAG_NAME = 'sn-layout';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmodel: {},\n\t\tparentTag: {\n\t\t\treflect: true\n\t\t},\n\t\trenderers: {\n\t\t\tdefault: {\n\t\t\t\tcolumn: null,\n\t\t\t\trow: null\n\t\t\t}\n\t\t},\n\t\tcollapsibleColumns: []\n\t},\n\tinitialState: {\n\t\truleBasedRows: [],\n\t\tcurrentSlots: undefined, // slots the DOM has rendered for ruleBased layouts\n\t\tresizeFn: null,\n\t\tmutationObserver: null\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: slottedPolyfillBehavior,\n\t\t\toptions: {\n\t\t\t\tselector: '[slot]'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tisMobile: '(max-width: 480px)',\n\t\t\t\tisTablet: '(max-width: 1024px)',\n\t\t\t\tisDesktop: '(min-width: 1024px)'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: childrenWithSlotBehavior\n\t\t},\n\t\t{ behavior: rtlBehavior }\n\t],\n\tactionHandlers: {\n\t\t[CALCULATE_RULE_BASED_ROW]: calculateRuleBasedRowFn,\n\t\t[SET_MUTATION_OBSERVER_AND_RESIZE_FN]: setMutationObserverAndResizeFn,\n\t\t[UNSET_MUTATION_OBSERVER_AND_RESIZE_FN]: unsetMutationObserverAndResizeFn\n\t}\n});\n\nexport default TAG_NAME;\n","export const calculateRuleBasedRowFn = option => {\n\tconst { action, updateState } = option;\n\tupdateState({\n\t\truleBasedRows: action.payload.rows,\n\t\tcurrentSlots: action.payload.slots\n\t});\n};\n\nexport const setMutationObserverAndResizeFn = option => {\n\tconst { action, updateState } = option;\n\tconst resize = action.payload.resizeFn();\n\twindow.addEventListener('resize', resize);\n\n\tconst observer = new MutationObserver(() => {\n\t\taction.payload.callback();\n\t});\n\n\tobserver.observe(action.payload.host, {\n\t\tchildList: true,\n\t\tattributes: true,\n\t\tsubtree: true\n\t});\n\tupdateState({\n\t\tmutationObserver: observer,\n\t\tresizeFn: resize\n\t});\n};\n\nexport const unsetMutationObserverAndResizeFn = option => {\n\tconst { state, updateState } = option;\n\twindow.removeEventListener('resize', state.resizeFn);\n\tstate.mutationObserver.disconnect();\n\tupdateState({\n\t\tmutationObserver: null,\n\t\tresizeFn: null\n\t});\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_layout=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":734,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-uxf-tab-set/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","declarativeOperations","modifierTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","every","filter","find","findIndex","forEach","has","isArray","isEmpty","isEqual","isFinite","isNil","keys","omit","parseInt","some","SELECTED_ITEM_SET","VERTICAL_SELECTED_ITEM_SET","UXF_TAB_SET_SELECTION","UXF_TAB_TAB_ITEMS_CHANGED","SET_SELECTED_TAB","SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP","VIEWPORT_ROUTE_REQUESTED","DEFAULT_TABS_LIST_ARIA_LABEL","ACTIVE_SIDEBAR_TAB_FOCUSED","ACTIVE_RECORD_PAGE_TAB_FOCUSED","DYNAMIC_PREFIX","TAB_TYPES","LOCAL","TEMPLATE","EXTENSION_POINT","POSITIONS","SOURCE_EVENT","INTERNAL_HOST_DISPATCH","state","_currentTab$route","_currentTab$routeObj","tabs","currentTabIndex","properties","activeRoute","viewportRoutes","currentTab","currentTabType","includes","currentTabRoute","route","routeObj","routeType","getReferenceTargetElement","element","reference","refElement","parentElement","window","host","reflowProperties","bootstrapPosTopHideLabelTrue","hideLabel","shouldHideLabel","width","propertyValues","entries","referenceTargetElement","innerWidth","offsetWidth","tab","icon","haveTabsChanged","previousItems","items","prevTab","index","isRepeatWithNoLongerNil","templateTabsConditionTrueRepeatWithNoLongerNil","Array","newItem","type","conditional","oldItem","repeatWith","_ref","updateState","isVerticalOrientation","position","minWidth","maxWidth","sortTabs","orderByExtensionPoint","extensionPoint","order","reduce","acc","sort","b","COMPONENT_BOOTSTRAPPED","hasLocalTabs","hasTemplateTabs","updateTabs","newTabs","stateToUpdate","dispatch","action","previousTabs","tabChanged","checkDataAvailabilityForTemplateTabs","templateItems","available","templateItem","hasExtensionPointTabs","computeIdForTemplateTab","calculateSimpleModeTabs","excludeConditional","shouldIncludeConditiional","repeatWithItem","repeatWithItemIndex","computeTabs","dynamicTabData","getTabData","isSimpleMode","getTabIdFromTabIndex","tabIndex","findTabIndexById","isDynamic","dynamicTabMap","dynamicTabs","mapDynamicTabData","flatMap","dynamicTabItem","requestedRouteObject","label","name","count","console","warn","mapDynamicTabsByOrder","dynamicTab","ordering","dynamicTabWithOrder","combineTabs","dynamicTabMapCopy","routePath","firstEl","secondEl","_ref2","_items$find","shouldShow","_items$find2","itemId","tabId","hasIdCollision","indexExistsInTabs","getDefaultTab","selectedTabIndex","defaultRoute","error","matchingTab","findTabById","hasDynamicTabs","templateTabsAvailableWithEmptyData","onlyViewportTabs","hasViewportTabs","getTabSelector","query","arr","split","_id","indexOf","fields","hash","getDynamicDataTypeTabSelector","getSelectedTabQueryForIndex","isValidIndex","_index","processTabSelectionForSelectedTabPropChange","coeffects","isInitialPageLoad","defaultTabId","selectedItem","sourceEvent","selectedTab","sortedTabs","getIndexForSelectedTab","getDefaultTabFromDynamicTabData","defaultTab","getFirstDynamicTabWithRoute","_ref3","processTabSelectionByDefaultTab","defaultTabIndex","getDefaultTabIndex","hasValueChanged","previousValue","shortcutActionMap","_ref4","shadowRoot","selector","tabsElement","querySelector","focus","active","_ref5","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","ARIA_LIVE_REGION_UPDATE_REQUESTED","tabSelectionsPerComponent","Map","componentBootStrappedResolvedPromisesMap","setSelectedTabBootstrapMediator","event","setSelectedTabPropChangeMediator","initialPageLoad","payload","effectHandlers","handleComponentBootstrap","async","componentId","bootstrappedResolver","bootstrappedPromise","Promise","resolve","set","createComponentBoostrappedPromise","prefetchSSRCPromise","getPrefetchSSRCPromise","_host$getRootNode","_items$","_items$2","mcpNode","getRootNode","macroponentSysId","match","tagName","toLowerCase","_window","prefetchSSRCPromiseMap","ux_globals","_window2","_prefetchContext$fiel","_prefetchContext$para","prefetchObject","prefetchContext","params","context","screenMacroponentSysId","snCanvasScreen","screenData","path","onlyLocalTabs","onlyTemplateTabs","containAllTabs","buildTabs","computedAndSortTabs","extensionPointAndLocalTabs","actionMap","operation","shouldRender","delete","getShouldHideLabel","handleComponentPropertyChanged","viewportRouteRequestedFromEmitFn","collapsed","shouldCollapseOnReflow","selectedTabPrevPropVal","openStatus","ariaMessage","message","computedPreviousValue","object","computedValue","derivedTabs","conditionChanged","hasConditionalChanged","tabsHaveChanged","isValidTemplatedTabs","selectedTabPropChanged","recomputeTabState","output","dynamicTabObject","_derivedTabs$currentT","routeObject","routeTab","getActiveRouteTab","routeTabIndex","setSelectedItem","meta","appended","isUXFInternalEvent","initiallyCollapsed","enableCollapsing","nonViewportSlots","shouldForceCollapsedState","shouldBeInitiallyCollapsed","SET","tabItem","tabItemLabel","tabIndexNotEqual","isVertical","collapseEnabledAndVertical","shouldPublishTabSelection","publishTabSelection","startsWith","selectedTabLabel","add","activeTabItemLabel","replace","DO_NOT_USE__uxfActiveTabItemLabel","activeSlot","setSelectedTab","processTabSelection","setSelectedTabWithSelectedTabProp","handleComponentDisconnect","registeredComponentId","_element$getRootNode","_host$nowUxfReflowDis","nowUxfReflowDisabled","nowUxfReflowDisabledAppConfig","nowUxfReflowDisabledScreen","isReflowDisabled","propsObject","uxfInternalUseOnlyReflowPropValues","JSON","parse","shadowQuerySelector","root","document","maxDepth","Infinity","currentDepth","seen","Set","queue","node","depth","_currentRoot$matches","currentRoot","matches","child","children","_child$matches","HTMLSlotElement","assigned","assignedElements","flatten","assignedEl","_assignedEl$matches","COMPONENT_PROPERTY_CHANGED","COMPONENT_DISCONNECTED","COMPONENT_CONNECTED","COMPONENT_TREE_RENDERED","nowUxfTabSetEffect","renderer","snabbdom","view","tabStyles","wrapperAttributes","style","class","top","right","className","ariaLabel","givenAriaLabel","fixedWidth","showInlinePadding","size","spaceBetweenItems","nowTabs","sizeProperty","Error","_renderNowTabs","_renderNonViewportSlots","hideViewportSlot","getHideViewportSlot","_renderViewportSlot","styles","behaviors","rtlBehavior","behavior","options","callbackFn","isDirty","aggregatedTabSetDirtyState","subscriberUpdateStateFn","subscriberComponentId","childActionChain","dirtyDescendantsForHost","getDirtyStateManager","uxf","dirtyStateManager","getDirtyDescendantComponentIds","currentTabSetElement","currentTabHTMLElement","at","isDirtyStateUpdated","dirtyDescendant","_tab$isDirty","deepCompare","schema","enum","optionalParameters","initialState","dirtyStateContext","macroponentId","eventPath","transformState","outputState","actionHandlers","getReflowProperties","effect","setMinWidth","modifier","THROTTLE","limit","stopPropagation","dispatches","__TECTONIC__$servicenow_now_uxf_tab_set"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/now-uxf-tab-set.scss","webpack:///./src/now-uxf-tab-set/now-uxf-tab-set.scss?c3da","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.0.27/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tabs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/constants.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getHideViewportSlot.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getReferenceTargetElement.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getShouldHideLabel.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/haveTabsChanged.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/isRepeatWithNoLongerNil.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/setMinWidth.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/sortTabs.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/nowUxfTabSetEffect.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/isReflowDisabled.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getReflowProperties.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/view.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/dirtyState.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/now-uxf-tab-set.js","webpack:///@servicenow/now-uxf-tab-set/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.tabset-wrapper{align-items:stretch;display:flex;height:100%}.tabset-wrapper.top{flex-direction:column}.tabset-wrapper.right{flex-direction:row-reverse}.tabset-wrapper .tabset-tabs{flex:0 1 auto;min-width:3rem}.tabset-wrapper .tabset-tabs>now-tabs.sm{min-height:calc(.75rem + var(--now-tabs--scale-size-block, 1)*1.5rem/2)}.tabset-wrapper .tabset-tabs>now-tabs.md{min-height:calc(1rem + var(--now-tabs--scale-size-block, 1)*2rem/2)}.tabset-wrapper .tabset-container{flex:1 1 auto;height:100%;min-height:0;overflow:auto;width:100%}.tabset-hide-slot{display:none}.tabset-tabs>now-tabs-vertical{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-uxf-tab-set.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"every\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t\t} else if ('every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.every || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFinite\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t\t} else if ('isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFinite || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"parseInt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t\t} else if ('parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.parseInt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const SELECTED_ITEM_SET = 'NOW_TABS#SELECTED_ITEM_SET';\nexport const VERTICAL_SELECTED_ITEM_SET = 'NOW_TABS_VERTICAL#SELECTED_ITEM_SET';\n\n/** Event name being dispatched upon a new tab selection. */\nexport const UXF_TAB_SET_SELECTION = 'UXF_TAB_SET#TAB_SELECTED';\n\n/** Event name being dispatched upon tabs changed. */\nexport const UXF_TAB_TAB_ITEMS_CHANGED = 'UXF_TAB_SET#TAB_ITEMS_CHANGED';\n\nexport const SET_SELECTED_TAB = 'SET_DYNAMIC_DEFAULT_TAB';\nexport const SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP =\n\t'SET_DYNAMIC_DEFAULT_TAB#SELECTED_TAB_PROP';\nexport const VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED =\n\t'UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED';\n\nexport const TAB_COLLAPSED = 'UXF_TAB_SET#TAB_COLLAPSED';\nexport const DEFAULT_TABS_LIST_ARIA_LABEL = t('Tab List');\n\n// Shortcut Actions\nexport const ACTIVE_SIDEBAR_TAB_FOCUSED = 'ACTIVE_SIDEBAR_TAB_FOCUSED';\nexport const ACTIVE_RECORD_PAGE_TAB_FOCUSED = 'ACTIVE_RECORD_PAGE_TAB_FOCUSED';\n\nexport const DYNAMIC_PREFIX = 'dynamic_';\nexport const TAB_TYPES = {\n\tLOCAL: 'local',\n\tTEMPLATE: 'template',\n\tEXTENSION_POINT: 'extension_point',\n};\nexport const POSITIONS = {\n\tTOP: 'top',\n\tLEFT: 'left',\n\tRIGHT: 'right',\n};\n\nexport const SOURCE_EVENT = {\n\tPROPERTY_CHANGED: 'PROPERTY_CHANGED',\n\tBOOTSTRAPPED: 'BOOTSTRAPPED',\n};\n\n// Appended to internal now-tabs & now-vertical-tabs components. This is used to differentiate internal tabs from ones that are nested within the slotted components\nexport const INTERNAL_HOST_DISPATCH = Symbol('__internal_host_dispatch__');\n\nexport const TREE_RENDERED_THROTTLE_LIMIT = 250;\n\n// reflow properties\nexport const REFERENCE_ELEMENT = 'element';\nexport const REFERENCE_CONTAINER = 'container';\nexport const REFERENCE_PAGE = 'page';\n","import get from 'lodash/get';\nimport { TAB_TYPES } from '../constants';\n\n/**\n * determines whether to hide the viewport slot\n * @param {object} state full state object\n * @returns {boolean} true if the viewport slot should be hidden\n */\nconst getHideViewportSlot = (state) => {\n\tconst { tabs, currentTabIndex, properties } = state;\n\tconst { activeRoute, viewportRoutes } = properties;\n\tconst currentTab = get(tabs, `[${currentTabIndex}]`, {});\n\tconst currentTabType = get(currentTab, 'type', '');\n\t// hide viewport slot for local and template tabs\n\tif ([TAB_TYPES.LOCAL, TAB_TYPES.TEMPLATE].includes(currentTabType)) {\n\t\treturn true;\n\t}\n\t// show viewport slot for viewport routes\n\tconst currentTabRoute = currentTab?.route ?? currentTab?.routeObj?.route;\n\tif (currentTabRoute && currentTabRoute in viewportRoutes) {\n\t\treturn false;\n\t}\n\n\t// if the function has reached this point, the current tab is not a viewport route\n\t// and we can determine if we should hide the viewport slot based on the active route.\n\t// The `activeRoute` property can be set via api.emit to trigger a viewport tab display,\n\t// so we know that if the active route is not a viewport route, we should hide the\n\t// viewport slot. If the currentTabRoute is different from the old activeRoute value,\n\t// we should hide the viewport slot, knowing that the new tab is not a viewport route.\n\treturn activeRoute?.routeType !== currentTabRoute;\n};\n\nexport default getHideViewportSlot;\n","import {\n\tREFERENCE_ELEMENT,\n\tREFERENCE_CONTAINER,\n\tREFERENCE_PAGE,\n} from '../constants';\n\nconst getReferenceTargetElement = (element, reference) => {\n\tif (!element || !reference) {\n\t\treturn;\n\t}\n\tlet refElement;\n\tswitch (reference) {\n\t\tcase REFERENCE_ELEMENT:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t\tcase REFERENCE_CONTAINER:\n\t\t\trefElement = element.parentElement;\n\t\t\tbreak;\n\t\tcase REFERENCE_PAGE:\n\t\t\trefElement = window;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t}\n\n\treturn refElement;\n};\n\nexport default getReferenceTargetElement;\n","import isEmpty from 'lodash/isEmpty';\nimport getReferenceTargetElement from './getReferenceTargetElement';\n\nconst getShouldHideLabel = (state = {}, host) => {\n\tconst {\n\t\treflowProperties,\n\t\ttabs,\n\t\tproperties = {},\n\t\tbootstrapPosTopHideLabelTrue,\n\t} = state;\n\tconst { hideLabel } = properties;\n\tif (isEmpty(reflowProperties)) {\n\t\treturn hideLabel;\n\t}\n\tlet shouldHideLabel = hideLabel;\n\tfor (const [width, { propertyValues, reference }] of Object.entries(\n\t\treflowProperties\n\t)) {\n\t\tconst referenceTargetElement = getReferenceTargetElement(host, reference);\n\t\tconst innerWidth =\n\t\t\treferenceTargetElement === window\n\t\t\t\t? window.innerWidth\n\t\t\t\t: referenceTargetElement?.offsetWidth || 0;\n\t\tif (innerWidth <= parseInt(width, 10) && 'hideLabel' in propertyValues) {\n\t\t\tshouldHideLabel = bootstrapPosTopHideLabelTrue\n\t\t\t\t? true\n\t\t\t\t: propertyValues.hideLabel;\n\t\t\tif (\n\t\t\t\t!bootstrapPosTopHideLabelTrue &&\n\t\t\t\tshouldHideLabel &&\n\t\t\t\t!tabs.every((tab) => tab.icon)\n\t\t\t) {\n\t\t\t\tshouldHideLabel = false;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn shouldHideLabel;\n};\n\nexport default getShouldHideLabel;\n","import isEqual from 'lodash/isEqual';\n\n/**\n * @description Will return true if any of the following conditions are met:\n * 1. If any field value has changed for one of the tabs\n * 2. If there is a new tab added or a tab has been removed\n *\n * @typedef {Object} TabItem\n * @param {TabItem[]} previousItems\n * @param {TabItem[]} items\n * @returns {boolean}\n */\nconst haveTabsChanged = (previousItems, items) => {\n\tif (previousItems.length !== items.length) {\n\t\treturn true;\n\t}\n\n\treturn !previousItems.every((prevTab, index) =>\n\t\tisEqual(prevTab, items[index])\n\t);\n};\n\nexport default haveTabsChanged;\n","import isNil from 'lodash/isNil';\nimport { TAB_TYPES } from '../constants';\nconst { TEMPLATE } = TAB_TYPES;\n\n/**\n * @description populates the Array return value only if previousItems contains an item where repeatWith was nil\n * and the same item (by id) in items has a repeatWith that is not nil and its conditional is true\n * @param {Array} previousItems array of item objects from properties\n * @param {Array} items array of item objects from properties\n * @returns {Array}\n */\nconst isRepeatWithNoLongerNil = (previousItems, items) => {\n\tconst templateTabsConditionTrueRepeatWithNoLongerNil = [];\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((newItem) => {\n\t\t\t// Early return if the newItem is not a template tab or conditional is false\n\t\t\tif (newItem.type !== TEMPLATE || newItem.conditional === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst oldItem = previousItems.find((item) => item.id === newItem.id);\n\n\t\t\tif (\n\t\t\t\toldItem &&\n\t\t\t\tisNil(oldItem.repeatWith) &&\n\t\t\t\toldItem.repeatWith !== newItem.repeatWith &&\n\t\t\t\tArray.isArray(newItem.repeatWith)\n\t\t\t) {\n\t\t\t\ttemplateTabsConditionTrueRepeatWithNoLongerNil.push(newItem.id);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn templateTabsConditionTrueRepeatWithNoLongerNil;\n};\n\nexport default isRepeatWithNoLongerNil;\n","import { isVerticalOrientation } from '../helpers';\n\nconst setMinWidth = ({ state, host, updateState, properties }) => {\n\tif (isVerticalOrientation(properties.position)) {\n\t\treturn;\n\t}\n\tconst { tabs, minWidth } = state;\n\tconst { offsetWidth } = host;\n\tconst { maxWidth } = properties;\n\tif (tabs.length === 2 && !minWidth && offsetWidth < maxWidth) {\n\t\tupdateState({ minWidth: offsetWidth });\n\t}\n};\n\nexport default setMinWidth;\n","import isEmpty from 'lodash/isEmpty';\n\n/**\n * sortTabs\n *\n * @param {TabObject[]} tabs array of tab objects from state\n * @param {Object[]} items array of item objects from properties\n * @returns {TabObject[]} sorted array of tab objects\n */\nconst sortTabs = (tabs, items) => {\n\tif (!Array.isArray(tabs) || isEmpty(tabs)) {\n\t\treturn [];\n\t}\n\tconst orderByExtensionPoint = items\n\t\t.filter((item) => item?.extensionPoint)\n\t\t.map((item) => [item.extensionPoint, item?.order || 0])\n\t\t.reduce((acc, [key, value]) => {\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[key]: value,\n\t\t\t};\n\t\t}, {});\n\n\tconst tabItems = tabs.map((tab, index) => {\n\t\tif (tab?.extensionPoint) {\n\t\t\tconst order = orderByExtensionPoint[tab.extensionPoint] || 0;\n\t\t\treturn { ...tab, order: order + index };\n\t\t}\n\t\treturn tab;\n\t});\n\n\treturn tabItems.sort((a, b) => a.order - b.order);\n};\n\nexport default sortTabs;\n","import { actionTypes } from '@servicenow/ui-core';\nimport some from 'lodash/some';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tDYNAMIC_PREFIX,\n\tPOSITIONS,\n\tSELECTED_ITEM_SET,\n\tTAB_TYPES,\n\tACTIVE_SIDEBAR_TAB_FOCUSED,\n\tACTIVE_RECORD_PAGE_TAB_FOCUSED,\n\tSOURCE_EVENT,\n\tUXF_TAB_TAB_ITEMS_CHANGED,\n\tINTERNAL_HOST_DISPATCH,\n} from './constants';\nimport isArray from 'lodash/isArray';\nimport findIndex from 'lodash/findIndex';\nimport get from 'lodash/get';\nimport forEach from 'lodash/forEach';\nimport find from 'lodash/find';\nimport keys from 'lodash/keys';\nimport omit from 'lodash/omit';\nimport isFinite from 'lodash/isFinite';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport filter from 'lodash/filter';\nimport every from 'lodash/every';\nimport parseInt from 'lodash/parseInt';\nimport has from 'lodash/has';\nimport { sortTabs } from './helpers/exports';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst { LOCAL, TEMPLATE, EXTENSION_POINT } = TAB_TYPES;\n\n/**\n * hasLocalTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasLocalTabs = (items) => some(items, { type: LOCAL });\n\n/**\n * hasTemplateTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasTemplateTabs = (items) => some(items, { type: TEMPLATE });\n\n/**\n *\n * @param {TabObject[]} newTabs array of tab objects\n * @param {Object} coeffects coeffects object\n * @param {Object} stateToUpdate new state object\n */\nexport const updateTabs = (\n\tnewTabs,\n\t{ state, updateState, dispatch, action },\n\tstateToUpdate\n) => {\n\tconst previousTabs = get(state, 'tabs', []);\n\tconst tabChanged =\n\t\taction.type === COMPONENT_BOOTSTRAPPED || !isEqual(previousTabs, newTabs);\n\tconst updatingState = stateToUpdate || { tabs: newTabs };\n\tupdateState(updatingState);\n\n\tif (tabChanged) {\n\t\tdispatch(UXF_TAB_TAB_ITEMS_CHANGED, {\n\t\t\ttabs: newTabs,\n\t\t\tpreviousTabs,\n\t\t});\n\t}\n};\n\n/**\n * checkDataAvailabilityForTemplateTabs: checks for all template tabs data (repeatWith)\n * are available\n * @param items\n * @returns {boolean}\n */\nexport const checkDataAvailabilityForTemplateTabs = (items) => {\n\tconst templateItems = filter(items, { type: TEMPLATE });\n\tlet available = !isEmpty(templateItems);\n\tforEach(templateItems, (templateItem) => {\n\t\tif (isNil(get(templateItem, ['repeatWith'], null))) {\n\t\t\tavailable = false;\n\t\t}\n\t});\n\n\treturn available;\n};\n\n/**\n * hasExtensionPointTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasExtensionPointTabs = (items) =>\n\tsome(items, { type: EXTENSION_POINT });\n\n/**\n * hasViewportTabs\n * @param items\n * @param viewportRoutes\n * @returns {boolean}\n */\nexport const hasViewportTabs = (items, viewportRoutes) =>\n\tisEmpty(items) && !isEmpty(viewportRoutes);\n\n/**\n * isSimpleMode\n * @param items\n * @returns {boolean}\n */\nconst isSimpleMode = (items) =>\n\tisArray(items) &&\n\t!isEmpty(items) &&\n\t(hasLocalTabs(items) || hasTemplateTabs(items));\n\n/**\n * computeIdForTemplateTab\n * @param item\n * @param index\n * @returns {`${string}-${string}`}\n */\nconst computeIdForTemplateTab = (item, index) => `${item.id}-${index}`;\n\n/**\n * calculateSimpleModeTabs\n * @param items\n * @param excludeConditional\n * @returns {*[]}\n */\nconst calculateSimpleModeTabs = (items, excludeConditional = true) => {\n\tconst tabs = [];\n\n\titems.forEach((item) => {\n\t\tconst shouldIncludeConditiional =\n\t\t\t(!excludeConditional && item.conditional) || !item.conditional;\n\t\t// local tabs\n\t\tif (item.type === LOCAL && shouldIncludeConditiional) {\n\t\t\ttabs.push(item);\n\t\t}\n\n\t\t// template tabs\n\t\t//  - compute the id for template items using the index for repeater data set\n\t\t//  - update the order for the template item using the order for the items props\n\t\tif (\n\t\t\titem.type === TEMPLATE &&\n\t\t\t!isNil(item.repeatWith) &&\n\t\t\t!isEmpty(item.repeatWith) &&\n\t\t\tshouldIncludeConditiional\n\t\t) {\n\t\t\titem.repeatWith.forEach((repeatWithItem, repeatWithItemIndex) => {\n\t\t\t\ttabs.push({\n\t\t\t\t\t...repeatWithItem,\n\t\t\t\t\tid: computeIdForTemplateTab(item, repeatWithItemIndex),\n\t\t\t\t\t...(has(item, 'order') && {\n\t\t\t\t\t\torder: item.order + repeatWithItemIndex,\n\t\t\t\t\t}),\n\t\t\t\t\ttype: item.type,\n\t\t\t\t\tconditional: item.conditional,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t});\n\n\treturn tabs;\n};\n\n/**\n * computeTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @param excludeConditional\n * @returns {*[]}\n */\nexport const computeTabs = (\n\titems,\n\tviewportRoutes,\n\tdynamicTabData,\n\texcludeConditional = true\n) => {\n\tlet tabs = [];\n\n\t// when viewport tabs are configured\n\tif (!isEmpty(viewportRoutes)) {\n\t\ttabs = [...tabs, ...getTabData(viewportRoutes, dynamicTabData, items)]; // eslint-disable-line no-use-before-define\n\t}\n\n\tif (isSimpleMode(items)) {\n\t\ttabs = [...tabs, ...calculateSimpleModeTabs(items, excludeConditional)];\n\t}\n\n\treturn tabs;\n};\n\n/**\n * getTabIdFromTabIndex\n * @param tabIndex\n * @param tabs\n * @returns {false|*}\n */\nexport const getTabIdFromTabIndex = (tabIndex, tabs) =>\n\t!isEmpty(tabs) && get(tabs[tabIndex], ['id']);\n\n/**\n * findTabById\n * @param tabs\n * @param id\n * @returns {object}\n */\nconst findTabById = (tabs, id) => find(tabs, { id });\n\n/**\n * findTabIndexById\n * @param tabs\n * @param id\n * @returns {number}\n */\nexport const findTabIndexById = (tabs, id) => findIndex(tabs, { id });\n\n/**\n * @function isUXFInternalEvent\n *\n * @description Detects whether or not an event should be handled by the now-uxf-tab-set handlers\n *\n * There are four ways an event comes into the now-uxf-tab-set:\n *\t1. The immediate now-tabs or now-vertical-tabs components in the now-uxf-tab-set view (meta.appended[INTERNAL_HOST_DISPATCH] === true)\n * \t2. An emitted event inside a UIB client script (meta has uxfMeta property)\n * \t3. An internally dispatched event (meta has sourceEvent property)\n * \t4. A nested now-tabs component inside a viewport (none of the above)\n *\n * @param meta\n * @returns {boolean}\n */\nexport const isUXFInternalEvent = (meta) => {\n\tconst { sourceEvent, appended } = meta;\n\n\treturn (\n\t\tsourceEvent ||\n\t\tappended?.[INTERNAL_HOST_DISPATCH] === true ||\n\t\tObject.prototype.hasOwnProperty.call(meta, 'uxfMeta')\n\t);\n};\n\n/**\n * mapDynamicTabData\n * @param viewportRoutes\n * @param dynamicTabData\n */\nconst mapDynamicTabData = (viewportRoutes, dynamicTabData) =>\n\tdynamicTabData.flatMap((dynamicTabItem, index) => {\n\t\ttry {\n\t\t\tconst requestedRouteObject = viewportRoutes[dynamicTabItem.route][0];\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: `${DYNAMIC_PREFIX}${index}`,\n\t\t\t\t\tlabel: dynamicTabItem.label || requestedRouteObject.name,\n\t\t\t\t\trouteObj: dynamicTabItem,\n\t\t\t\t\tcount: dynamicTabItem.count,\n\t\t\t\t\ticon: get(requestedRouteObject, 'icon', null),\n\t\t\t\t},\n\t\t\t];\n\t\t} catch (e) {\n\t\t\tconsole.warn(\n\t\t\t\t'now-uxf-tab-set - invalid dynamic route object. Removing object from tab list.',\n\t\t\t\tdynamicTabItem\n\t\t\t);\n\t\t\treturn [];\n\t\t}\n\t});\n\n/**\n * mapDynamicTabsByOrder - Map dynamicTabs by order, i.e.:\n * {\n * \t'200': [\n * \t\t{\n * \t\t\tid: 'dynamic_0',\n * \t\t\tlabel: 'Task SLAs - 0'\n * \t\t},\n * \t\t{\n * \t\t\tid: 'dynamic_1',\n * \t\t\tlabel: 'Affected CIs - 0'\n * \t\t}\n * \t],\n * \t'300': [\n *  \t{\n * \t\t\tid: 'dynamic_3',\n * \t\t\tlabel: 'Blah Blah'\n * \t\t}\n * \t]\n * }\n *\n * @param viewportRoutes\n * @param dynamicTabs\n * @returns {{}}\n */\nconst mapDynamicTabsByOrder = (viewportRoutes, dynamicTabs) => {\n\tconst dynamicTabMap = {};\n\n\tforEach(dynamicTabs, (dynamicTab) => {\n\t\tconst { route } = dynamicTab.routeObj;\n\t\tconst ordering = viewportRoutes[route][0].order;\n\t\tconst dynamicTabWithOrder = { ...dynamicTab, order: ordering };\n\n\t\tif (!dynamicTabMap[ordering]) {\n\t\t\tdynamicTabMap[ordering] = [dynamicTabWithOrder];\n\t\t} else {\n\t\t\tdynamicTabMap[ordering].push(dynamicTabWithOrder);\n\t\t}\n\t});\n\n\treturn dynamicTabMap;\n};\n\n/**\n * shouldShow\n * @param extensionPoint\n * @param items\n * @returns {boolean}\n */\nconst shouldShow = (extensionPoint, items = []) =>\n\t!extensionPoint ||\n\titems.find((item) => item.extensionPoint === extensionPoint)?.conditional !==\n\t\ttrue;\n\n/**\n * isDynamic\n * @param route\n * @returns {boolean}\n */\nexport const isDynamic = (route) => !!get(route, 'fields.length', 0);\n\n/**\n * hasIdCollision - util to check if ext point tab id collides with other tab ids\n * @param id\n * @param items\n * @returns {boolean}\n */\nexport const hasIdCollision = (id, items) =>\n\t!!items.find((i) => i.id === id && !i.extensionPoint);\n\n/**\n * combineTabs\n * @param viewportRoutes\n * @param dynamicTabMap\n * @returns {*[]}\n */\nexport const combineTabs = (viewportRoutes, dynamicTabMap, items) => {\n\tconst tabs = [];\n\tlet dynamicTabMapCopy = { ...dynamicTabMap };\n\n\tkeys(viewportRoutes)\n\t\t.map((routePath) => {\n\t\t\treturn {\n\t\t\t\troutePath,\n\t\t\t\troute: viewportRoutes[routePath][0],\n\t\t\t};\n\t\t})\n\t\t.sort((firstEl, secondEl) => {\n\t\t\treturn firstEl.route.order - secondEl.route.order;\n\t\t})\n\t\t.forEach(({ routePath, route }) => {\n\t\t\tif (isDynamic(route)) {\n\t\t\t\tif (dynamicTabMapCopy[route.order]) {\n\t\t\t\t\ttabs.push(...dynamicTabMapCopy[route.order]);\n\t\t\t\t\tdynamicTabMapCopy = omit(dynamicTabMapCopy, route.order);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (shouldShow(route.extensionPoint, items)) {\n\t\t\t\t\tconst itemId = items.find(\n\t\t\t\t\t\t(item) => item.extensionPoint === route.extensionPoint\n\t\t\t\t\t)?.id;\n\t\t\t\t\t// If viewport tab id collides with simple tab id, prefix id with extension point - ex: my_page_collection_tab1\n\t\t\t\t\tconst tabId = hasIdCollision(routePath, items)\n\t\t\t\t\t\t? `${itemId}_${routePath}`\n\t\t\t\t\t\t: routePath;\n\t\t\t\t\ttabs.push({\n\t\t\t\t\t\titemId,\n\t\t\t\t\t\tid: tabId,\n\t\t\t\t\t\troute: routePath,\n\t\t\t\t\t\tlabel: route.name,\n\t\t\t\t\t\ticon: route.icon,\n\t\t\t\t\t\torder: route.order,\n\t\t\t\t\t\textensionPoint: route.extensionPoint,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\treturn tabs;\n};\n\n/**\n * getTabData\n * @param viewportRoutes\n * @param dynamicTabData\n * @returns {*[]}\n */\nconst getTabData = (viewportRoutes, dynamicTabData, items) => {\n\tlet dynamicTabMap = {};\n\n\tif (Array.isArray(dynamicTabData) && dynamicTabData.length) {\n\t\tconst dynamicTabs = mapDynamicTabData(viewportRoutes, dynamicTabData);\n\t\tdynamicTabMap = mapDynamicTabsByOrder(viewportRoutes, dynamicTabs);\n\t}\n\n\treturn combineTabs(viewportRoutes, dynamicTabMap, items);\n};\n\n/**\n * indexExistsInTabs\n * @param index\n * @param tabs\n * @returns {boolean}\n */\nexport const indexExistsInTabs = (index, tabs) =>\n\tindex >= 0 && index < tabs.length;\n\n/**\n * getDefaultTab\n * @param selectedTabIndex\n * @param defaultRoute\n * @param tabs\n * @returns {number}\n */\nexport const getDefaultTab = (selectedTabIndex, defaultRoute, tabs) => {\n\tlet tab;\n\t// determine the default tab object using the selectedTabIndex or defaultRoute\n\t// defaultRoute value is the \"id\" and selectedTabIndex is the index  of the\n\t// selected tab in string value\n\tif (!isEmpty(defaultRoute) && !isEmpty(tabs)) {\n\t\t// try finding the tab matches to defaultRoute to get the default tab object,\n\t\t// otherwise default to the first object in tabs\n\t\tconst matchingTab = findTabById(tabs, defaultRoute);\n\t\ttab = isNil(matchingTab) ? tabs[0] : matchingTab;\n\t} else if (!isNil(selectedTabIndex) && !isEmpty(tabs)) {\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\t\tif (isFinite(tabIndex)) {\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(tabIndex, tabs)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Provided selected tab index '${tabIndex}' is not a valid index`\n\t\t\t\t);\n\n\t\t\t\t// defaulting to the first tab item, as\n\t\t\t\t//   - defaultRoute is empty, tabs are available\n\t\t\t\t//   - selectedTabIndex is finite but index doesn't exists in tabs\n\t\t\t\ttab = tabs[0];\n\t\t\t} else {\n\t\t\t\ttab = tabs[tabIndex];\n\t\t\t}\n\t\t} else {\n\t\t\t// handle the case when tabIndex is not finite (NaN)\n\t\t\ttab = tabs[0];\n\t\t}\n\t} else {\n\t\ttab = tabs[0];\n\t}\n\treturn tab;\n};\n\n/**\n * getDefaultTabIndex\n * @param defaultRoute\n * @param tabs\n * @returns {number}\n */\nexport const getDefaultTabIndex = (defaultRoute, tabs) => {\n\tlet defaultTabIndex = -1;\n\tif (!isEmpty(defaultRoute) && !isEmpty(tabs)) {\n\t\tdefaultTabIndex = findTabIndexById(tabs, defaultRoute);\n\t} else {\n\t\tdefaultTabIndex = 0;\n\t}\n\treturn defaultTabIndex;\n};\n\n/**\n * hasDynamicTabs\n * @param viewportRoutes\n * @returns {boolean}\n */\nexport const hasDynamicTabs = (viewportRoutes) =>\n\tkeys(viewportRoutes)\n\t\t.map((routePath) => {\n\t\t\treturn {\n\t\t\t\t...viewportRoutes[routePath][0],\n\t\t\t};\n\t\t})\n\t\t.some((route) => isDynamic(route));\n/**\n * getFirstDynamicTabWithRoute\n * @param tabs\n * @param defaultRoute\n */\nexport const getFirstDynamicTabWithRoute = (tabs, defaultRoute) =>\n\ttabs.find(({ routeObj }) => get(routeObj, 'route') === defaultRoute);\n\n/**\n * buildTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @param defaultRoute\n * @param coeffects\n */\nexport const buildTabs = (\n\titems,\n\tviewportRoutes,\n\tdynamicTabData,\n\tdefaultRoute,\n\tcoeffects\n) => {\n\t//compute tabs and sort based on the order definition available in items\n\tconst computedAndSortTabs = sortTabs(\n\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\titems\n\t);\n\n\tupdateTabs(computedAndSortTabs, coeffects);\n};\n\n/**\n * templateTabsAvailableWithEmptyData: Checks for all template tab items are having\n * valid data with empty array\n * @param items\n * @returns {boolean}\n */\nexport const templateTabsAvailableWithEmptyData = (items) => {\n\treturn (\n\t\tcheckDataAvailabilityForTemplateTabs(items) &&\n\t\tevery(\n\t\t\tfilter(items, (i) => i.type === TEMPLATE),\n\t\t\t(t) => !isNil(t.repeatWith) && isEmpty(t.repeatWith)\n\t\t)\n\t);\n};\n\n/**\n * onlyLocalTabs\n * @param selectedTabIndex\n * @param items\n * @returns {boolean}\n */\nexport const onlyLocalTabs = (items) =>\n\thasLocalTabs(items) &&\n\t(!hasTemplateTabs(items) || templateTabsAvailableWithEmptyData(items)) &&\n\t!hasExtensionPointTabs(items);\n\n/**\n * onlyTemplateTabs\n * @param items\n * @returns {boolean}\n */\nexport const onlyTemplateTabs = (items) =>\n\thasTemplateTabs(items) &&\n\tevery(items, (item) => item.type === TEMPLATE) &&\n\tcheckDataAvailabilityForTemplateTabs(items);\n\n/**\n * onlyViewportTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @returns {boolean}\n */\nexport const onlyViewportTabs = (items, viewportRoutes, dynamicTabData) => {\n\treturn (\n\t\t((hasViewportTabs(items, viewportRoutes) &&\n\t\t\t!hasDynamicTabs(viewportRoutes)) ||\n\t\t\t(!isEmpty(dynamicTabData) && hasDynamicTabs(viewportRoutes)) ||\n\t\t\t(hasExtensionPointTabs(items) &&\n\t\t\t\t!isEmpty(viewportRoutes) &&\n\t\t\t\t!hasDynamicTabs(viewportRoutes))) &&\n\t\t!hasLocalTabs(items) &&\n\t\t(!hasTemplateTabs(items) || templateTabsAvailableWithEmptyData(items))\n\t);\n};\n\n/**\n * containAllTabs\n * @param items\n * @returns {boolean}\n */\nexport const containAllTabs = (items) => {\n\treturn (\n\t\thasExtensionPointTabs(items) &&\n\t\thasLocalTabs(items) &&\n\t\thasTemplateTabs(items) &&\n\t\t!some(items, (item) => item.type === TEMPLATE && !isNil(item.repeatWith))\n\t);\n};\n\n/**\n * extensionPointAndLocalTabs\n * @param items\n * @returns {boolean}\n */\nexport const extensionPointAndLocalTabs = (items) =>\n\thasExtensionPointTabs(items) &&\n\thasLocalTabs(items) &&\n\t!hasTemplateTabs(items);\n\nconst getDynamicDataTypeTabSelector = (tab) => {\n\tconst {\n\t\trouteObj: { route, fields },\n\t} = tab;\n\treturn Object.keys(fields)\n\t\t.sort()\n\t\t.reduce(\n\t\t\t(hash, key) => `${hash}^field.${key}=${fields[key]}`,\n\t\t\t`route=${route}`\n\t\t);\n};\n\nconst getTabSelector = (tab) => {\n\tconst { type, id } = tab;\n\tlet query;\n\tswitch (\n\t\ttype //Tokyo+\n\t) {\n\t\tcase LOCAL: {\n\t\t\t//for static tabs\n\t\t\tquery = `id=${id}`;\n\t\t\tbreak;\n\t\t}\n\t\tcase TEMPLATE: {\n\t\t\t//for repeater tabs and related List tabs\n\t\t\tconst arr = id.split('-');\n\t\t\tif (arr.length > 1) {\n\t\t\t\tconst [_id, index] = arr;\n\t\t\t\tquery = `id=${_id}^index=${index}`;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tif (!query) {\n\t\tif (!isEmpty(tab.extensionPoint)) {\n\t\t\tquery = `id=${tab.itemId}^route=${tab.route}`;\n\t\t} else if (id.indexOf(DYNAMIC_PREFIX) === 0) {\n\t\t\t//for dynamic tabs data driven tabs. Pre Tokyo\n\t\t\tquery = getDynamicDataTypeTabSelector(tab);\n\t\t} else {\n\t\t\t// handle viewport-only and static tabs. Pre Tokyo\n\t\t\tquery = `id=${id}`;\n\t\t}\n\t}\n\treturn query;\n};\n\nconst isValidIndex = (arr, index) => {\n\tlet _index = index;\n\tif (typeof _index !== 'number') {\n\t\ttry {\n\t\t\t_index = parseInt(index);\n\t\t} catch (e) {\n\t\t\tconsole.error('Invalid tab index : ', index);\n\t\t}\n\t}\n\treturn isFinite(_index) && _index < arr.length && _index >= 0;\n};\n\nexport const getIndexForSelectedTab = (tabs, selectedTab) => {\n\tif (isEmpty(tabs) || isEmpty(selectedTab)) {\n\t\treturn;\n\t}\n\n\tfor (const [index, tab] of tabs.entries()) {\n\t\tif (selectedTab === getTabSelector(tab)) {\n\t\t\treturn index;\n\t\t}\n\t}\n};\n\nexport const getSelectedTabQueryForIndex = (tabs, index) => {\n\tif (isEmpty(tabs) || !isValidIndex(tabs, index)) {\n\t\treturn;\n\t}\n\n\treturn getTabSelector(tabs[index]);\n};\n\n/**\n * processTabSelection\n * @param items\n * @param tabs\n * @param viewportRoutes\n * @param dynamicTabData\n * @param selectedTabIndex\n * @param defaultRoute\n * @param coeffects\n * @param tabIndex\n * @param currentTabIndex\n * @param isInitialPageLoad\n * @param selectedItem\n * @param sourceEvent\n */\nexport const processTabSelection = (\n\titems,\n\ttabs,\n\tviewportRoutes,\n\tdynamicTabData,\n\tselectedTabIndex,\n\tdefaultRoute,\n\tcoeffects,\n\ttabIndex,\n\tcurrentTabIndex,\n\tisInitialPageLoad,\n\tselectedItem = '',\n\tsourceEvent\n) => {\n\tconst { updateState, dispatch } = coeffects;\n\tlet defaultTabId;\n\tif (isEmpty(tabs)) {\n\t\t// compute tabs and order it.\n\t\tconst sortedTabs = sortTabs(\n\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\titems\n\t\t);\n\t\tif (!isEmpty(sortedTabs)) {\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab(selectedTabIndex, defaultRoute, sortedTabs),\n\t\t\t\t'id'\n\t\t\t);\n\n\t\t\tupdateTabs(sortedTabs, coeffects);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent }\n\t\t\t);\n\t\t}\n\t} else {\n\t\t// tabs are computed and available\n\t\tif (isFinite(tabIndex)) {\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(tabIndex, tabs)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Provided selected tab index '${tabIndex}' is not a valid index`\n\t\t\t\t);\n\t\t\t\t// when tabIndex is finite but does not exist in tabs\n\t\t\t\t// default to the first tab\n\t\t\t\tdefaultTabId = get(tabs, '[0].id');\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Edge case - Check to see if the currentTabIndex has been set before the selectedItem. If so, reset selectedItem & currentTabIndex to -1.\n\t\t\t\tif (\n\t\t\t\t\t!isEqual(findTabIndexById(tabs, selectedItem), currentTabIndex) &&\n\t\t\t\t\tcurrentTabIndex !== -1\n\t\t\t\t) {\n\t\t\t\t\tupdateState({ selectedItem: '', currentTabIndex: -1 });\n\t\t\t\t}\n\t\t\t\t// Tabs are available with valid tabIndex, delegate to set the tab item\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: getTabIdFromTabIndex(tabIndex, tabs), isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent }\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point tabs in state will be available, tabIndex is null\n\t\t\t// and selectedTabIndex prop will be a null let's derive the\n\t\t\t// default tab index and id based on the defaultRoute prop\n\t\t\t// let's derive the default tab index and id based on the defaultRoute prop\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab(selectedTabIndex, defaultRoute, tabs),\n\t\t\t\t'id'\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent }\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * processTabSelectionForSelectedTabPropChange\n * @param items\n * @param tabs\n * @param viewportRoutes\n * @param dynamicTabData\n * @param selectedTabIndex\n * @param defaultRoute\n * @param coeffects\n * @param tabIndex\n * @param currentTabIndex\n * @param isInitialPageLoad\n * @param selectedItem\n * @param sourceEvent\n * @param selectedTab\n */\nexport const processTabSelectionForSelectedTabPropChange = (\n\titems,\n\ttabs,\n\tviewportRoutes,\n\tdynamicTabData,\n\tselectedTabIndex,\n\tdefaultRoute,\n\tcoeffects,\n\ttabIndex,\n\tcurrentTabIndex,\n\tisInitialPageLoad,\n\tselectedItem = '',\n\tsourceEvent,\n\tselectedTab\n) => {\n\tlet defaultTabId;\n\tconst { updateState, dispatch } = coeffects;\n\n\tif (isEmpty(tabs)) {\n\t\t// compute tabs and order it.\n\t\tconst sortedTabs = sortTabs(\n\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\titems\n\t\t);\n\t\tif (!isEmpty(sortedTabs)) {\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab(selectedTabIndex, defaultRoute, sortedTabs),\n\t\t\t\t'id'\n\t\t\t);\n\t\t\tupdateTabs(sortedTabs, coeffects);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent }\n\t\t\t);\n\t\t}\n\t} else {\n\t\t// tabs are computed and available\n\t\tif (!isEmpty(selectedTab)) {\n\t\t\tconst index = getIndexForSelectedTab(tabs, selectedTab);\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(index, tabs)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Provided selected tab '${selectedTab}' is not a valid selector`\n\t\t\t\t);\n\t\t\t\t// when tabIndex is finite but does not exist in tabs\n\t\t\t\t// default to the first tab\n\t\t\t\tdefaultTabId = get(tabs, '[0].id');\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Edge case - Check to see if the currentTabIndex has been set before the selectedItem. If so, reset selectedItem & currentTabIndex to -1.\n\t\t\t\tif (\n\t\t\t\t\t!isEqual(findTabIndexById(tabs, selectedItem), currentTabIndex) &&\n\t\t\t\t\tcurrentTabIndex !== -1\n\t\t\t\t) {\n\t\t\t\t\tupdateState({ selectedItem: '', currentTabIndex: -1 });\n\t\t\t\t}\n\n\t\t\t\t// Tabs are available with valid tabIndex, delegate to set the tab item\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: getTabIdFromTabIndex(index, tabs), isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent }\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point tabs in state will be available, tabIndex is null\n\t\t\t// and selectedTabIndex prop will be a null let's derive the\n\t\t\t// default tab index and id based on the defaultRoute prop\n\t\t\t// let's derive the default tab index and id based on the defaultRoute prop\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab(selectedTabIndex, defaultRoute, tabs),\n\t\t\t\t'id'\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent }\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * getDefaultTabFromDynamicTabData\n * @param defaultTab\n * @param tabs\n */\nexport const getDefaultTabFromDynamicTabData = (defaultTab, tabs) => {\n\tconst tab = getFirstDynamicTabWithRoute(tabs, defaultTab);\n\tlet tabId = '';\n\tif (tab) {\n\t\ttabId = get(tab, 'id');\n\t} else {\n\t\ttabId = get(tabs, '[0].id');\n\t}\n\treturn tabId;\n};\n\n/**\n * processTabSelectionByDefaultTab\n * @param defaultTab\n * @param tabs\n * @param isInitialPageLoad\n * @param dispatch\n */\nexport const processTabSelectionByDefaultTab = (\n\tdefaultTab,\n\ttabs,\n\tisInitialPageLoad,\n\tdispatch,\n\tsourceEvent\n) => {\n\tconst defaultTabIndex = getDefaultTabIndex(defaultTab, tabs);\n\tconst defaultTabId = isEqual(defaultTabIndex, -1)\n\t\t? getDefaultTabFromDynamicTabData(defaultTab, tabs)\n\t\t: getTabIdFromTabIndex(defaultTabIndex, tabs);\n\tdispatch(\n\t\tSELECTED_ITEM_SET,\n\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t{ sourceEvent }\n\t);\n};\n\n/**\n * isVerticalOrientation\n * @param position\n * @returns {boolean}\n */\nexport const isVerticalOrientation = (position) => {\n\treturn position === POSITIONS.LEFT || position === POSITIONS.RIGHT;\n};\n\n/**\n * shouldBeInitiallyCollapsed\n * @param collapsed\n * @param initiallyCollapsed\n * @param position\n * @param selectedItem\n * @returns {boolean}\n */\nexport const shouldBeInitiallyCollapsed = (\n\tcollapsed,\n\tinitiallyCollapsed,\n\tposition,\n\tselectedItem\n) => {\n\treturn (\n\t\tcollapsed &&\n\t\tinitiallyCollapsed &&\n\t\tisVerticalOrientation(position) &&\n\t\t!selectedItem\n\t);\n};\n\n/**\n *\n * @param {*} tabs\n * @param {*} value\n * @returns {{}}\n */\nexport const getActiveRouteTab = (tabs, value) => {\n\tlet routeTab = find(\n\t\ttabs,\n\t\t(tab) =>\n\t\t\tisEqual(get(tab, 'routeObj.fields'), value.fields) &&\n\t\t\tget(tab, 'routeObj.route') === value.routeType\n\t);\n\n\tif (!routeTab) {\n\t\trouteTab = find(tabs, (tab) => get(tab, 'id') === value.routeType);\n\t}\n\treturn routeTab;\n};\n\nexport const hasConditionalChanged = (previousItems, items) => {\n\treturn items.some((tab) =>\n\t\tpreviousItems.find(\n\t\t\t(prevTab) =>\n\t\t\t\ttab.id === prevTab.id && tab.conditional !== prevTab.conditional\n\t\t)\n\t);\n};\n\n/**\n * Helper function which compares value to previousValue to see if value has changed.\n * @param value\n * @param previousValue\n * @returns {boolean}\n */\nexport const hasValueChanged = (value, previousValue) =>\n\t!isEqual(previousValue, value);\n\n/**\n * Checks incoming property values against current state and returns updated state\n *\n * @description\n * This function is used to recompute the current state of the tabs and is only executed\n * when properties.items is updated (see handleComponentPropertyChanged in nowUxfTabSet.js).\n * The current data flow is as follows:\n * 1. Find the currently selected tab (from derivedTabs) based\n *    on the id of the selected item (from state.selectedItem)\n * 2. If the currently selected tab is not hidden, then return a new state object with the\n *    current tab index and selected item\n * 3. If the item is hidden:\n *    a. If properties.defaultRoute is set, then find the tab with the matching id and return\n *       a new state object with the current tab index and selected item\n *    b. If properties.defaultRoute is not set, then return the state object based on the first\n *       item from derivedTabs\n *\n * @param {*} state\n * @param {*} derivedTabs\n */\nexport const recomputeTabState = (state, derivedTabs) => {\n\tconst { selectedItem, properties } = state;\n\tconst { defaultRoute } = properties;\n\n\t// define the return object\n\tconst output = {\n\t\ttabs: derivedTabs,\n\t};\n\n\tif (isEmpty(derivedTabs)) {\n\t\treturn output;\n\t}\n\n\t// get the selected item\n\tconst selectedTab = derivedTabs.find((item) => item.id === selectedItem);\n\n\t// if we found a selected tab and it's not conditional (hidden)...\n\tif (selectedTab) {\n\t\t// set the value of selectedItem to the selectedTab.id\n\t\toutput.selectedItem = selectedTab.id;\n\n\t\t// find the index of the selectedTab in derivedTabs\n\t\tconst currentTabIndex = findTabIndexById(derivedTabs, selectedItem);\n\n\t\t// if the index of the selected tab exists in derivedTabs, then set the currentTabIndex and return\n\t\tif (indexExistsInTabs(currentTabIndex, derivedTabs)) {\n\t\t\treturn {\n\t\t\t\t...output,\n\t\t\t\tcurrentTabIndex,\n\t\t\t};\n\t\t}\n\n\t\t// otherwise, set the currentTabIndex to the first tab in derivedTabs and return\n\t\treturn {\n\t\t\t...output,\n\t\t\tcurrentTabIndex: 0,\n\t\t\tselectedItem: derivedTabs[0].id,\n\t\t};\n\t}\n\n\t// if we couldn't find the selected tab or it's hidden, but properties.defaultRoute is defined...\n\tif (defaultRoute) {\n\t\tconst selectedTab = derivedTabs.find((item) => item.id === defaultRoute);\n\t\treturn {\n\t\t\t...output,\n\t\t\tcurrentTabIndex: findTabIndexById(derivedTabs, defaultRoute),\n\t\t\tselectedItem: selectedTab?.id,\n\t\t};\n\t}\n\n\t// otherwise, return the first tab in derivedTabs\n\treturn {\n\t\t...output,\n\t\tcurrentTabIndex: 0,\n\t\tselectedItem: derivedTabs[0].id,\n\t};\n};\n\nexport const shortcutActionMap = {\n\t[ACTIVE_SIDEBAR_TAB_FOCUSED]: {\n\t\taction({ host, properties }) {\n\t\t\tconst { position } = properties;\n\t\t\tconst { shadowRoot } = host;\n\t\t\tconst selector = isVerticalOrientation(position)\n\t\t\t\t? 'now-tabs-vertical'\n\t\t\t\t: 'now-tabs';\n\t\t\tconst tabsElement = shadowRoot.querySelector(selector);\n\n\t\t\tif (!tabsElement) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`unable to find element with selector ${selector} with position ${position}`\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttabsElement.focus();\n\t\t},\n\t\t// Intentionally false so page authors can choose to activate the shortcut. Not all vertical tabs will be considered a \"contextual sidebar\"\n\t\tactive: false,\n\t},\n\t[ACTIVE_RECORD_PAGE_TAB_FOCUSED]: {\n\t\taction({ host }) {\n\t\t\tconst { shadowRoot } = host;\n\n\t\t\tshadowRoot.querySelector('now-tabs').focus();\n\t\t},\n\t\t// Intentionally false so page authors can choose to activate the shortcut. Not all horizontal tabs will be considered a \"record page\"\n\t\tactive: false,\n\t},\n};\n\nexport const publishTabSelection = (sourceEvent) => {\n\treturn (\n\t\t!sourceEvent ||\n\t\t!(\n\t\t\tsourceEvent.event === SOURCE_EVENT.PROPERTY_CHANGED &&\n\t\t\tsourceEvent.payload &&\n\t\t\t(sourceEvent.payload.name === 'selectedTabIndex' ||\n\t\t\t\tsourceEvent.payload.name === 'selectedTab')\n\t\t)\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t} });","import { declarativeOperations, actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport {\n\tcomputeTabs,\n\tfindTabIndexById,\n\thasTemplateTabs,\n\tprocessTabSelectionByDefaultTab,\n\tprocessTabSelection,\n\tprocessTabSelectionForSelectedTabPropChange,\n\tonlyLocalTabs,\n\tonlyTemplateTabs,\n\tcontainAllTabs,\n\tbuildTabs,\n\tonlyViewportTabs,\n\textensionPointAndLocalTabs,\n\tshouldBeInitiallyCollapsed,\n\tcheckDataAvailabilityForTemplateTabs,\n\tgetActiveRouteTab,\n\thasConditionalChanged,\n\thasValueChanged,\n\trecomputeTabState,\n\tshortcutActionMap,\n\tpublishTabSelection,\n\tgetSelectedTabQueryForIndex,\n\tupdateTabs,\n\thasExtensionPointTabs,\n\tisUXFInternalEvent,\n} from './helpers';\nimport {\n\tDYNAMIC_PREFIX,\n\tSET_SELECTED_TAB,\n\tTAB_TYPES,\n\tUXF_TAB_SET_SELECTION,\n\tVIEWPORT_ROUTE_REQUESTED,\n\tTAB_COLLAPSED,\n\tUXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED,\n\tSELECTED_ITEM_SET,\n\tSOURCE_EVENT,\n\tSET_SELECTED_TAB_WITH_SELECTED_TAB_PROP,\n\tPOSITIONS,\n} from './constants';\nimport isEmpty from 'lodash/isEmpty';\nimport isNil from 'lodash/isNil';\nimport isEqual from 'lodash/isEqual';\nimport parseInt from 'lodash/parseInt';\nimport get from 'lodash/get';\nimport {\n\tgetShouldHideLabel,\n\tsortTabs,\n\tisRepeatWithNoLongerNil,\n} from './helpers/exports';\nimport haveTabsChanged from './helpers/haveTabsChanged';\n\nimport {\n\tderegisterComponent,\n\tregisterComponent,\n} from '@servicenow/now-trigger-library';\n\nconst { LOCAL, TEMPLATE } = TAB_TYPES;\nconst { ARIA_LIVE_REGION_UPDATE_REQUESTED } = actionTypes;\n\n/**\n * It is a global singleton that maintains the indices of selected tabs per\n * host component id.\n * It is used to prevent repetitive tab selection when the \"selectedTabIndex\"\n * property changes (this may occure twice per tab selection in some cases).\n * Note: the benefit of using a global singleton instead of a local state property\n * is that with a global singleton there is no need to worry about component re-render.\n * @type {Map<string, number|null>} - Map of componentId to the tab index\n *   (or null when no selection)\n */\nexport const tabSelectionsPerComponent = new Map();\n\nexport const componentBootStrappedResolvedPromisesMap = new Map();\nexport const createComponentBoostrappedPromise = (componentId) => {\n\tif (isNil(componentId)) {\n\t\treturn;\n\t}\n\n\tlet bootstrappedResolver;\n\tconst bootstrappedPromise = new Promise((resolve) => {\n\t\tbootstrappedResolver = resolve;\n\t});\n\tcomponentBootStrappedResolvedPromisesMap.set(componentId, {\n\t\tbootstrappedPromise,\n\t\tresolve: bootstrappedResolver,\n\t});\n};\n\n/**\n * setSelectedTabBootstrapMediator: decides action to call based on properties\n *\n * @param coeffects\n */\nexport const setSelectedTabBootstrapMediator = (coeffects) => {\n\tconst { dispatch, properties } = coeffects;\n\tconst { selectedTab } = properties;\n\tconst actionToDispatch = !isEmpty(selectedTab)\n\t\t? SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP\n\t\t: SET_SELECTED_TAB;\n\tdispatch(\n\t\tactionToDispatch,\n\t\t{ isInitialPageLoad: true },\n\t\t{ sourceEvent: { event: SOURCE_EVENT.BOOTSTRAPPED } }\n\t);\n};\n\nexport const getPrefetchSSRCPromise = (host, items) => {\n\tconst mcpNode = host?.getRootNode()?.host;\n\tconst mcpNodeTagName = mcpNode?.tagName || '';\n\tlet macroponentSysId = '';\n\tconst match = mcpNodeTagName.toLowerCase().match(/macroponent-(\\w+)/);\n\tif (match) {\n\t\tmacroponentSysId = match[1];\n\t}\n\n\tif (\n\t\t!isNil(macroponentSysId) &&\n\t\thasExtensionPointTabs(items) &&\n\t\titems[0]?.extensionPoint &&\n\t\titems[0]?.conditional !== true\n\t) {\n\t\tconst prefetchSSRCPromiseMap = window?.ux_globals?.prefetchSSRCPromise;\n\t\tif (prefetchSSRCPromiseMap && prefetchSSRCPromiseMap[macroponentSysId]) {\n\t\t\tconst prefetchObject = prefetchSSRCPromiseMap[macroponentSysId];\n\t\t\tconst { prefetchContext, prefetchSSRCPromise } = prefetchObject;\n\t\t\tconst {\n\t\t\t\tfields = {},\n\t\t\t\tparams = {},\n\t\t\t\troute = '',\n\t\t\t\tcontext = {},\n\t\t\t\tmacroponentSysId: screenMacroponentSysId = '',\n\t\t\t} = window?.ux_globals?.snCanvasScreen?.screenData || {};\n\t\t\tif (\n\t\t\t\tisEqual(macroponentSysId, screenMacroponentSysId) &&\n\t\t\t\tisEqual(context?.path, prefetchContext?.path) &&\n\t\t\t\tisEqual(route, prefetchContext?.route) &&\n\t\t\t\tisEqual(fields, prefetchContext?.fields ?? {}) &&\n\t\t\t\tisEqual(params, prefetchContext?.params ?? {})\n\t\t\t) {\n\t\t\t\treturn prefetchSSRCPromise;\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const handleComponentBootstrap = async (coeffects) => {\n\tconst { properties, updateState, host, state } = coeffects;\n\tconst {\n\t\titems,\n\t\tviewportRoutes,\n\t\tdynamicTabData,\n\t\tdefaultRoute,\n\t\tposition,\n\t\thideLabel,\n\t} = properties;\n\tconst { componentId } = host;\n\n\tcreateComponentBoostrappedPromise(componentId);\n\n\tconst prefetchSSRCPromise = getPrefetchSSRCPromise(host, items);\n\tif (prefetchSSRCPromise) {\n\t\tawait prefetchSSRCPromise;\n\t}\n\n\t/**\n\t * On component connect, we do the following\n\t *  - determine the type of tabs local, dynamic tab, viewport tab, etc.\n\t *  - compute tabs, selectedItem.\n\t *  - dispatch SET_SELECTED_TAB to determine tab selection\n\t *\n\t * - At any point of time the state of the component must reflect the UI\n\t *    e.g. props: selectedTabIndex & state: currentTabIndex, selectedItem (id) must be same once loaded\n\t *\n\t * How do we compute the tabs? In order to construct the tabs, we need items, viewportRoutes &\n\t * dynamicTabData properties\n\t *  - local & template: use items\n\t *  - dynamic tab: use dynamicTabData & viewportRoutes,\n\t *                  if data isn't ready use the props changed to\n\t *                  determine the data availability and compute the tabs.\n\t *  - viewport tab: use viewportRoute\n\t *\n\t *\n\t */\n\n\t// process for tabs construction for local or template tabs or intermingled tabs\n\t// when we have every data to build tabs\n\t// - Local tabs or\n\t// - Template tabs - check all template items repeatWith does have data to process further\n\t// - extension point + local tabs + template tabs (Intermingled tabs!!)\n\t// - check for template tabs with complete repeatWith data availability at bootstrap\n\tif (\n\t\tonlyLocalTabs(items) ||\n\t\tonlyTemplateTabs(items) ||\n\t\tcontainAllTabs(items) ||\n\t\t(hasTemplateTabs(items) && checkDataAvailabilityForTemplateTabs(items))\n\t) {\n\t\tbuildTabs(items, viewportRoutes, dynamicTabData, defaultRoute, coeffects);\n\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t}\n\n\t// - viewport tabs (including dynamic data tabs) or extension points\n\t// - Intermingled tabs\n\t//   - extension point + local tabs\n\tif (\n\t\tonlyViewportTabs(items, viewportRoutes, dynamicTabData) ||\n\t\textensionPointAndLocalTabs(items)\n\t) {\n\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t}\n\n\t// Registration & Action Map for keyboard shortcuts\n\tconst registeredComponentId = registerComponent(host, {\n\t\tupdateState,\n\t\tactionMap: shortcutActionMap,\n\t});\n\n\tupdateState({\n\t\tpath: 'registeredComponentId',\n\t\tvalue: registeredComponentId,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tif (componentBootStrappedResolvedPromisesMap.has(componentId)) {\n\t\tconst { resolve } =\n\t\t\tcomponentBootStrappedResolvedPromisesMap.get(componentId);\n\t\tif (typeof resolve === 'function') {\n\t\t\tresolve();\n\t\t\tcomponentBootStrappedResolvedPromisesMap.delete(componentId);\n\t\t}\n\t}\n\n\tif (position === 'top' && hideLabel) {\n\t\tupdateState({ bootstrapPosTopHideLabelTrue: true });\n\t}\n\n\tupdateState({ shouldHideLabel: getShouldHideLabel(state, host) });\n};\n\nexport const setSelectedTabPropChangeMediator = (coeffects) => {\n\tconst { dispatch, action, properties, state } = coeffects;\n\tconst { selectedTab } = properties;\n\tconst actionToDispatch = !isEmpty(selectedTab)\n\t\t? SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP\n\t\t: SET_SELECTED_TAB;\n\tdispatch(\n\t\tactionToDispatch,\n\t\t{ isInitialPageLoad: state.initialPageLoad },\n\t\t{\n\t\t\tsourceEvent: {\n\t\t\t\tevent: SOURCE_EVENT.PROPERTY_CHANGED,\n\t\t\t\tpayload: action.payload,\n\t\t\t},\n\t\t}\n\t);\n};\n\n/**\n * handleComponentPropertyChanged: Component property change handler\n *\n * @param coeffects\n */\nconst handleComponentPropertyChanged = async (coeffects) => {\n\tconst { dispatch, action, properties, state, updateState, host } = coeffects;\n\tconst { componentId } = host;\n\tconst { viewportRoutes, dynamicTabData, items, selectedTab } = properties;\n\tconst {\n\t\tpayload: { name, value, previousValue },\n\t} = action;\n\tconst {\n\t\tinitialPageLoad,\n\t\tcurrentTabIndex,\n\t\ttabs,\n\t\tviewportRouteRequestedFromEmitFn,\n\t\tcollapsed,\n\t\tshouldCollapseOnReflow,\n\t\tselectedTabPrevPropVal,\n\t} = state;\n\n\tif (componentBootStrappedResolvedPromisesMap.has(componentId)) {\n\t\tconst { bootstrappedPromise } =\n\t\t\tcomponentBootStrappedResolvedPromisesMap.get(componentId);\n\t\tif (bootstrappedPromise instanceof Promise) {\n\t\t\tawait bootstrappedPromise;\n\t\t}\n\t}\n\n\t// TODO - Test if:\n\t//  -- The condition in viewportRoutes case can use hasValueChanged()\n\t//  -- We can bring isNil into hasValueChanged(value, previousValue) for selectedTabIndex case\n\t//  -- There is a way to replace initiallyCollapsed isEqual() with a modified hasValueChanged that will still accomodate other conditions. When value is false, and\n\t//\t\tprevious value is true, hasValueChanged will be false and that will cause regression.\n\t// If yes to both, remove all occurences of hasValueChanged() checks throughout this function and add early exit here\n\tswitch (name) {\n\t\tcase 'initiallyCollapsed': {\n\t\t\tif (!isEqual(previousValue, value)) {\n\t\t\t\tupdateState({ collapsed: value });\n\t\t\t\tif (value) {\n\t\t\t\t\t// sets inactive state for the tab\n\t\t\t\t\tupdateState({ selectedItem: '' });\n\t\t\t\t} else {\n\t\t\t\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t\t\t\t}\n\t\t\t\tconst tab = tabs[currentTabIndex];\n\t\t\t\tconst { label } = tab;\n\t\t\t\tconst openStatus = value ? 'closed' : 'opened';\n\t\t\t\tconst ariaMessage = t('The {0} tab has been {1}', label, openStatus);\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: ariaMessage,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'selectedTabIndex': {\n\t\t\tif (!isNil(value) && !isEqual(previousValue, value)) {\n\t\t\t\t// Proceed with SET_SELECTED_TAB flow only when the tab selection is not\n\t\t\t\t// recorded in the tabSelectionsPerComponent map.\n\t\t\t\tif (tabSelectionsPerComponent.get(componentId) === value) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\ttabSelectionsPerComponent.set(componentId, parseInt(value));\n\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'selectedTab': {\n\t\t\tif (!isNil(value) && !isEqual(previousValue, value)) {\n\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'selectedTabPrevPropVal',\n\t\t\t\t\tvalue: previousValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'items': {\n\t\t\t// For items compute the tabs\n\t\t\t// check for previousValue different than value\n\t\t\t// only check for items where conditional != true\n\t\t\tconst computedPreviousValue = previousValue.filter(\n\t\t\t\t(object) => !object.conditional\n\t\t\t);\n\t\t\tconst computedValue = value.filter((object) => !object.conditional);\n\n\t\t\t// DEF0540955 - We have a very specific use case where if the items array has a template tab whose repeatWith data is not yet available on bootstrap then\n\t\t\t// the tabs in question will not be built/rendered, even if other valid tabs exist (local, extension point, etc).  This is typically not an issue, as the\n\t\t\t// repeatWith data does then come in, is handled here in the component property changed handler, and the tabs are built.  However, if the template tab\n\t\t\t// in question (whose repeatWith data went from Nil to populated) also has conditional set to true, it becomes an issue, as the hasValueChecked in the items\n\t\t\t// case here only checks for differences between an item (tab) where its conditional value is false (also valid per DEF0407651 and its fix).  This then\n\t\t\t// means that tabs will not be built for the items array in question, even though other valid tabs may exist.  To handle this, we need to address this\n\t\t\t// specific use case here, where we check each item in the new items array against its corresponding item value from the previous items array.  If the new\n\t\t\t// item has conditional set to true and the old item exists, has a repeatWith value of Nil, and that repeatWith value is now not Nil and an array in the new\n\t\t\t// item, it means we need to pass the logical check where we compare the previous computed value to computed value.  Targeted fix to handle this specific\n\t\t\t// use case - DEF0540955.\n\t\t\tconst templateTabsConditionTrueRepeatWithNoLongerNil =\n\t\t\t\tisRepeatWithNoLongerNil(previousValue, value);\n\n\t\t\tif (\n\t\t\t\thasValueChanged(computedValue, computedPreviousValue) ||\n\t\t\t\ttemplateTabsConditionTrueRepeatWithNoLongerNil.length > 0\n\t\t\t) {\n\t\t\t\t// We need to handle the items property change\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems\n\t\t\t\t);\n\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst conditionChanged = hasConditionalChanged(previousValue, value);\n\n\t\t\t\t// UIB Stage Use Case: Allows for new static tabs to be added to the tab set\n\t\t\t\t// without the need to refresh the stage/page.\n\t\t\t\tconst tabsHaveChanged =\n\t\t\t\t\tconditionChanged || haveTabsChanged(previousValue, value);\n\n\t\t\t\tconst isValidTemplatedTabs =\n\t\t\t\t\thasTemplateTabs(items) && checkDataAvailabilityForTemplateTabs(items);\n\n\t\t\t\tconst selectedTabPropChanged =\n\t\t\t\t\t!isEmpty(selectedTab) &&\n\t\t\t\t\t!isEmpty(selectedTabPrevPropVal) &&\n\t\t\t\t\t!isEqual(selectedTab, selectedTabPrevPropVal);\n\n\t\t\t\tif (isValidTemplatedTabs || tabsHaveChanged) {\n\t\t\t\t\tif (!initialPageLoad && !selectedTabPropChanged) {\n\t\t\t\t\t\t// when user selects tab item, we need to compute tab state\n\t\t\t\t\t\tupdateTabs(\n\t\t\t\t\t\t\tderivedTabs,\n\t\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t\t\trecomputeTabState(state, derivedTabs)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// For the initial page load(initialPageLoad: true, selectedItem = '', currentTabIndex: -1),\n\t\t\t\t\t\t// - dispatch SET_SELECTED_TAB event to determine the currentTabIndex and selectedItem effectively in state.\n\n\t\t\t\t\t\t// DEF0631796 : when both selectedTab & items props are changed and when selectedTab prop change is fired before items change,\n\t\t\t\t\t\t// the SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP(dispatched as part of selectedTab prop change handler) handler considers old items from state.\n\t\t\t\t\t\t// In order to reflect the new selectedTab on the new items, we need to dispatch SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP.\n\t\t\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'dynamicTabData': {\n\t\t\t// For dynamic tabs, compute the tabs and sort\n\t\t\t// check for previousValue empty and different than the value\n\t\t\tif (hasValueChanged(value, previousValue)) {\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (initialPageLoad) {\n\t\t\t\t\t// For initial page load the dynamicTabData property change will continue\n\t\t\t\t\t// to determine the tab selection and tab item selection flow\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\t// For dynamicTabData refresh contents we need to pass the latest\n\t\t\t\t\t// route object to the current tab (dispatch VIEWPORT_ROUTE_REQUESTED)\n\t\t\t\t\tconst dynamicTabObject = derivedTabs[currentTabIndex].routeObj;\n\t\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...dynamicTabObject });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'viewportRoutes': {\n\t\t\t// compute the tabs and selectedItem\n\t\t\t// we already have the viewportRoutes props when the viewport is rendered by library-uxf,\n\t\t\t// no check for previousValue\n\t\t\tif (\n\t\t\t\t(!isEmpty(value) || !isEmpty(previousValue)) &&\n\t\t\t\t!isEqual(previousValue, value)\n\t\t\t) {\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (initialPageLoad) {\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\t// For viewportRoutes refresh contents we need to pass the latest\n\t\t\t\t\t// route object to the current tab (dispatch VIEWPORT_ROUTE_REQUESTED)\n\t\t\t\t\tconst routeObject = derivedTabs?.[currentTabIndex]?.routeObj;\n\t\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...routeObject });\n\t\t\t\t\t// added the \"and\" condition in case the route object was empty but\n\t\t\t\t\t// viewport routes were not so that it prevented a situation where,\n\t\t\t\t\t// if the route object is undefined we still execute the current behavior\n\t\t\t\t\tif (!routeObject && isEmpty(viewportRoutes)) {\n\t\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * TODO: Below code is just a workaround to trigger the tabs calculation for template tab where the repeatWith\n\t\t\t *  is binded to data broker. This code block isn't necessary if \"items\" property change were\n\t\t\t *  triggered successfully. Remove below if block code for template tabs once \"items\" props change works.\n\t\t\t */\n\t\t\tif (\n\t\t\t\tinitialPageLoad &&\n\t\t\t\thasTemplateTabs(items) &&\n\t\t\t\tcheckDataAvailabilityForTemplateTabs(items)\n\t\t\t) {\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (isEqual(currentTabIndex, -1)) {\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'activeRoute': {\n\t\t\t/**\n\t\t\t * viewportRouteRequestedFromEmitFn in state is part of the\n\t\t\t * uxfViewportBehavior contract that enables support to switch\n\t\t\t * viewport tabs in UX Client Script using the \"VIEWPORT_ROUTE_REQUESTED\".\n\t\t\t *\n\t\t\t * We determine the state update set to true when VIEWPORT_ROUTE_REQUESTED\n\t\t\t * event is used in UXF Scripting API - api.emit() function.\n\t\t\t */\n\t\t\tif (\n\t\t\t\thasValueChanged(value, previousValue) &&\n\t\t\t\t!isEmpty(tabs) &&\n\t\t\t\tviewportRouteRequestedFromEmitFn\n\t\t\t) {\n\t\t\t\tconst routeTab = getActiveRouteTab(tabs, value, previousValue);\n\t\t\t\tif (routeTab) {\n\t\t\t\t\tconst routeTabIndex = findTabIndexById(tabs, routeTab.id);\n\t\t\t\t\tif (!isEqual(currentTabIndex, routeTabIndex)) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t\t\t{ value: routeTab.id, isInitialPageLoad: initialPageLoad },\n\t\t\t\t\t\t\t{ sourceEvent: { event: SOURCE_EVENT.PROPERTY_CHANGED } }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'hideLabel': {\n\t\t\tif (isEqual(previousValue, value)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst shouldHideLabel = getShouldHideLabel(state, host);\n\t\t\tif (!isEqual(shouldHideLabel, state.shouldHideLabel)) {\n\t\t\t\tupdateState({ shouldHideLabel });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'position': {\n\t\t\tif (isEqual(previousValue, value)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Tab set can not be configured with enableCollapsing or initiallyCollapsed properties when it is\n\t\t\t// positioned at the top (not a vertical tab set).  However, in a reflow scenario, the tab set can be\n\t\t\t// collapsible and collapsed when position changes from left/right to top.  In this case, the tab set\n\t\t\t// is in a state where it is horizontal (position top) but the selected tab is collapsed when it should\n\t\t\t// not be.  This ensures that the tab set is expanded when the position changes to top.\n\t\t\tif (isEqual(value, POSITIONS.TOP) && isEqual(collapsed, true)) {\n\t\t\t\tupdateState({ collapsed: false, shouldCollapseOnReflow: true });\n\t\t\t}\n\t\t\t// Because we are adjusting the collapsed state based on the position change, we need to ensure that\n\t\t\t// the tab set returns to the collapsed state when the position changes back to left or right (vertical tabs)\n\t\t\t// IF there has been no interaction with the tab set in the interim.\n\t\t\telse if (\n\t\t\t\t(isEqual(value, POSITIONS.LEFT) || isEqual(value, POSITIONS.RIGHT)) &&\n\t\t\t\tisEqual(previousValue, POSITIONS.TOP) &&\n\t\t\t\tshouldCollapseOnReflow\n\t\t\t) {\n\t\t\t\tupdateState({ collapsed: true, shouldCollapseOnReflow: false });\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * setSelectedTab: This method computes the tabs for each specific tabs configurations\n *\n * @param coeffects\n */\nconst setSelectedTab = (coeffects) => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tdefaultRoute,\n\t\tdynamicTabData,\n\t\tviewportRoutes,\n\t\tselectedTabIndex,\n\t\titems,\n\t} = properties;\n\tconst { tabs, currentTabIndex, selectedItem } = state;\n\tconst {\n\t\tpayload: { isInitialPageLoad = false } = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\n\t// On tab selection, update the initialPageLoad in state\n\tupdateState({\n\t\tpath: 'initialPageLoad',\n\t\tvalue: isInitialPageLoad,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t});\n\n\t// when selectedTabIndex isn't set yet, tabs are fully constructed with some default tab set explicitly\n\tif (isNil(selectedTabIndex) && !isEmpty(tabs) && !isEmpty(defaultRoute)) {\n\t\t// we need to check if default tab is configured, derive the tab index of the default tab\n\t\t// before processing the tab selection\n\t\tprocessTabSelectionByDefaultTab(\n\t\t\tdefaultRoute,\n\t\t\ttabs,\n\t\t\tisInitialPageLoad,\n\t\t\tdispatch,\n\t\t\tsourceEvent\n\t\t);\n\t} else {\n\t\t// most likely tabs aren't constructed yet, we need to construct\n\t\t// tabs before determining up the selection\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\n\t\tprocessTabSelection(\n\t\t\titems,\n\t\t\ttabs,\n\t\t\tviewportRoutes,\n\t\t\tdynamicTabData,\n\t\t\tselectedTabIndex,\n\t\t\tdefaultRoute,\n\t\t\tcoeffects,\n\t\t\ttabIndex,\n\t\t\tcurrentTabIndex,\n\t\t\tisInitialPageLoad,\n\t\t\tselectedItem,\n\t\t\tsourceEvent\n\t\t);\n\t}\n};\n\n/**\n * setSelectedTabWithSelectedTabProp: This method computes the tabs for each specific tabs configurations when selectedTab prop exists\n *\n * @param coeffects\n */\nconst setSelectedTabWithSelectedTabProp = (coeffects) => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tdefaultRoute,\n\t\tdynamicTabData,\n\t\tviewportRoutes,\n\t\tselectedTabIndex,\n\t\titems,\n\t\tselectedTab,\n\t} = properties;\n\tconst { tabs, currentTabIndex, selectedItem } = state;\n\tconst {\n\t\tpayload: { isInitialPageLoad = false } = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\t// On tab selection, update the initialPageLoad in state\n\tupdateState({\n\t\tpath: 'initialPageLoad',\n\t\tvalue: isInitialPageLoad,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t});\n\n\t// when selectedTabIndex isn't set yet, tabs are fully constructed with some default tab set explicitly\n\tif (isEmpty(selectedTab) && !isEmpty(tabs) && !isEmpty(defaultRoute)) {\n\t\t// we need to check if default tab is configured, derive the tab index of the default tab\n\t\t// before processing the tab selection\n\t\tprocessTabSelectionByDefaultTab(\n\t\t\tdefaultRoute,\n\t\t\ttabs,\n\t\t\tisInitialPageLoad,\n\t\t\tdispatch,\n\t\t\tsourceEvent\n\t\t);\n\t} else {\n\t\t// most likely tabs aren't constructed yet, we need to construct\n\t\t// tabs before determining up the selection\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\n\t\tprocessTabSelectionForSelectedTabPropChange(\n\t\t\titems,\n\t\t\ttabs,\n\t\t\tviewportRoutes,\n\t\t\tdynamicTabData,\n\t\t\tselectedTabIndex,\n\t\t\tdefaultRoute,\n\t\t\tcoeffects,\n\t\t\ttabIndex,\n\t\t\tcurrentTabIndex,\n\t\t\tisInitialPageLoad,\n\t\t\tselectedItem,\n\t\t\tsourceEvent,\n\t\t\tselectedTab\n\t\t);\n\t}\n};\n\n/**\n * setSelectedItem: This method sets the selected tab item.\n * @param coeffects\n */\nconst setSelectedItem = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\thost: { componentId },\n\t} = coeffects;\n\tconst {\n\t\tpayload = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\n\tif (!isUXFInternalEvent(action.meta)) {\n\t\treturn;\n\t}\n\n\tconst { value, isInitialPageLoad = false } = payload;\n\tconst { initiallyCollapsed, position, enableCollapsing } = properties;\n\tconst { tabs, collapsed, currentTabIndex, selectedItem, nonViewportSlots } =\n\t\tstate;\n\t// If we are initially loading and collapsed, we force collapsed state\n\tconst shouldForceCollapsedState = shouldBeInitiallyCollapsed(\n\t\tcollapsed,\n\t\tinitiallyCollapsed,\n\t\tposition,\n\t\tget(payload, 'item', null)\n\t);\n\n\t// On tab selection, update the initialPageLoad in state to account for props change handler.\n\t// Also set shouldCollapseOnReflow to false. We should only collapse on reflow in the edge case\n\t// where the tab set has reflowed from a vertical to horizontal orientation and then back to vertical\n\t// with no interaction in between.\n\tupdateState(\n\t\t{\n\t\t\tpath: 'initialPageLoad',\n\t\t\tvalue: isInitialPageLoad,\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{ shouldCollapseOnReflow: false }\n\t);\n\n\tconst shouldCollapseAndDeselectTab =\n\t\tshouldForceCollapsedState ||\n\t\t(enableCollapsing && get(payload, 'previousItem', null) && isEmpty(value));\n\n\t// If we are initially loading and collapsed, we force collapsed state - collapse and set the tab state as inactive by setting selectedItem as ''\n\t// If we are not initially loading, have previous item the value is empty, we are a vertical tab re-click event and we toggle collapsed & and set the tab state as inactive\n\tif (shouldCollapseAndDeselectTab) {\n\t\tupdateState({\n\t\t\tcollapsed: true,\n\t\t\tselectedItem: '',\n\t\t});\n\t\tif (!shouldForceCollapsedState) {\n\t\t\tdispatch(TAB_COLLAPSED, { collapsed: true });\n\t\t}\n\t} else if (!isEmpty(value)) {\n\t\t// here the payload value will be the \"id\" of the clicked tab item\n\t\tconst tabIndex = findTabIndexById(tabs, value);\n\t\tconst selectedTab = getSelectedTabQueryForIndex(tabs, tabIndex);\n\t\tconst tabItem = tabs[tabIndex];\n\t\tconst tabItemLabel = tabItem?.label;\n\t\tconst tabIndexNotEqual = !isEqual(tabIndex, currentTabIndex);\n\t\tconst isVertical =\n\t\t\tisEqual(position, POSITIONS.LEFT) || isEqual(position, POSITIONS.RIGHT);\n\t\tconst collapseEnabledAndVertical = enableCollapsing && isVertical;\n\t\tconst shouldPublishTabSelection = publishTabSelection(sourceEvent);\n\t\t// local or template tab\n\t\tif (\n\t\t\t!isEmpty(tabItem) &&\n\t\t\t(isEqual(tabItem.type, LOCAL) || isEqual(tabItem.type, TEMPLATE))\n\t\t) {\n\t\t\tif (selectedItem !== value) {\n\t\t\t\tnonViewportSlots.add(value);\n\t\t\t\tif (\n\t\t\t\t\t(tabIndexNotEqual || collapseEnabledAndVertical) &&\n\t\t\t\t\tshouldPublishTabSelection\n\t\t\t\t) {\n\t\t\t\t\tconst activeTabItemLabel = tabItemLabel\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.replace(' ', '_');\n\t\t\t\t\tif (sourceEvent?.event !== SOURCE_EVENT.BOOTSTRAPPED) {\n\t\t\t\t\t\ttabSelectionsPerComponent.set(componentId, tabIndex);\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tUXF_TAB_SET_SELECTION,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedTabIndex: tabIndex,\n\t\t\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\t\t\tselectedTabLabel: tabItemLabel,\n\t\t\t\t\t\t\tselectedTab,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ DO_NOT_USE__uxfActiveTabItemLabel: activeTabItemLabel }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// dispatch tab set container render requests for page macroponent to\n\t\t\t\t// handle and load the contents for the active tab.\n\t\t\t\tdispatch(UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED, {\n\t\t\t\t\tactiveSlot: value,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// On subsequent tab item click, we shouldn't trigger tab selection\n\t\t\t// For dynamic tab, extract the route before viewport load request\n\n\t\t\tif (value.startsWith(DYNAMIC_PREFIX)) {\n\t\t\t\t// We have the route information in the tab item so send it if we have it\n\t\t\t\t// In case we don't, fall back to dynamic tab data\n\t\t\t\tconst dynamicTabObject = tabItem?.routeObj;\n\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...dynamicTabObject });\n\t\t\t} else {\n\t\t\t\t// it's a viewport tab's route\n\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, {\n\t\t\t\t\troute: tabItem.route,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(tabIndexNotEqual || collapseEnabledAndVertical) &&\n\t\t\t\tshouldPublishTabSelection\n\t\t\t) {\n\t\t\t\t// add tab selection to the track to avoid\n\t\t\t\t// avoid loop / infinite loop during fast tab switch\n\t\t\t\tif (sourceEvent?.event !== SOURCE_EVENT.BOOTSTRAPPED) {\n\t\t\t\t\ttabSelectionsPerComponent.set(componentId, tabIndex);\n\t\t\t\t}\n\n\t\t\t\tdispatch(UXF_TAB_SET_SELECTION, {\n\t\t\t\t\tselectedTabIndex: tabIndex,\n\t\t\t\t\tselectedTab,\n\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\tselectedTabLabel: tabItemLabel,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// update the members in state\n\t\t//  - selectedItem (when user interacts with the tab either by mouse click or tab navigation)\n\t\tupdateState({\n\t\t\tselectedItem: value,\n\t\t\tcurrentTabIndex: tabIndex,\n\t\t\tcollapsed: shouldForceCollapsedState,\n\t\t\tnonViewportSlots,\n\t\t});\n\t}\n};\n\nconst handleComponentDisconnect = (coeffects) => {\n\tconst {\n\t\thost: { componentId },\n\t\tstate: { registeredComponentId, tabs },\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\n\t// Remove the Set when the component disconnects\n\ttabSelectionsPerComponent.delete(componentId);\n\n\tif (registeredComponentId) {\n\t\tderegisterComponent(registeredComponentId);\n\t\tupdateState({\n\t\t\tpath: 'registeredComponentId',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n\tif (properties?.defaultRoute) {\n\t\tupdateState({\n\t\t\tcurrentTabIndex: findTabIndexById(tabs, properties.defaultRoute),\n\t\t\tselectedItem: properties.defaultRoute,\n\t\t});\n\t}\n};\n\nconst effectHandlers = {\n\thandleComponentBootstrap,\n\thandleComponentPropertyChanged,\n\tsetSelectedItem,\n\tsetSelectedTab,\n\tsetSelectedTabWithSelectedTabProp,\n\thandleComponentDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n};\n","// shamelessly copied from https://code.devsnc.com/dev/uxf-monorepo/blob/project/uxfdefects/library-uxf/src/factory/layout/helpers.js#L766\n\nconst isReflowDisabled = (element) => {\n\ttry {\n\t\tif (!element) {\n\t\t\tconsole.warn('Element is undefined or null.');\n\t\t\treturn false;\n\t\t}\n\t\tconst host = element?.getRootNode()?.host;\n\t\t// handle sub page scenarios\n\t\tconst nowUxfReflowDisabled =\n\t\t\thost?.nowUxfReflowDisabled ??\n\t\t\thost?.getRootNode()?.host?.nowUxfReflowDisabled;\n\t\treturn (\n\t\t\tnowUxfReflowDisabled.nowUxfReflowDisabledAppConfig ||\n\t\t\tnowUxfReflowDisabled.nowUxfReflowDisabledScreen\n\t\t);\n\t} catch (e) {\n\t\tconsole.warn('Unable to determine autoreflow disable rule.');\n\t}\n\treturn false;\n};\n\nexport default isReflowDisabled;\n","import isReflowDisabled from './isReflowDisabled';\n\nconst getReflowProperties = (host) => {\n\tif (isReflowDisabled(host)) {\n\t\treturn {};\n\t}\n\n\tconst propsObject = host?.uxfInternalUseOnlyReflowPropValues;\n\tconst output = {};\n\tif (propsObject) {\n\t\tObject.keys(propsObject).forEach((key) => {\n\t\t\ttry {\n\t\t\t\toutput[key] = JSON.parse(propsObject[key]);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(`Unable to get reflow property ${key}`);\n\t\t\t}\n\t\t});\n\t}\n\treturn output;\n};\n\nexport default getReflowProperties;\n","import '@servicenow/now-tabs';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tPOSITIONS,\n\tTAB_TYPES,\n\tDEFAULT_TABS_LIST_ARIA_LABEL,\n\tINTERNAL_HOST_DISPATCH,\n} from './constants';\nimport getHideViewportSlot from './helpers/getHideViewportSlot';\nconst { LOCAL, TEMPLATE } = TAB_TYPES;\n\n/**\n * _renderNonViewportSlots: Generates local and template named slots with additional class to set\n * \t\tthe visibility of the active tab's slot contents.\n *\n * ```jsx\n * <slot name=\"cl0gpy0rz01533f6yvar62bh9\" class=\"\"><\/slot>\n * <slot name=\"cl0fskxdt015a3f6yr5mdc0l1-1\" class=\"tabset-hide-slot\"><\/slot>\n * <slot name=\"cl0fskxdt015a3f6yr5mdc0l1-2\" class=\"tabset-hide-slot\"><\/slot>\n * <slot name=\"cl0g6yj4v0av93f6yg0vvz5az\" class=\"tabset-hide-slot\"><\/slot>\n * ```\n *\n * @param tabs\n * @param selectedItem\n * @returns {JSX.Element}\n * @private\n */\nexport const _renderNonViewportSlots = (\n\ttabs,\n\tselectedItem,\n\tnonViewportSlots\n) => {\n\tconst nonViewportTabs = tabs.filter((t) => nonViewportSlots.has(t.id));\n\n\treturn nonViewportTabs.map((t) => {\n\t\tif (t.type === LOCAL || t.type === TEMPLATE) {\n\t\t\treturn (\n\t\t\t\t<slot\n\t\t\t\t\tname={`${t.id}`}\n\t\t\t\t\tclass={{ 'tabset-hide-slot': selectedItem !== t.id }}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * _renderViewportSlot: Generates viewport named slots for viewport tabs, dynamic data tabs or extension point tabs\n * \t\twith additional class to set the visibility of the active tab's slot contents.\n *\n * ```jsx\n * <slot name=\"viewport\" class=\"\"><\/slot>\n *  or\n * <slot name=\"viewport-1\" class=\"tabset-hide-slot\"><\/slot>\n *\n * ```\n *\n * @param tabs\n * @param currentTabIndex\n * @returns {JSX.Element}\n */\nexport const _renderViewportSlot = (state) => {\n\tconst hideViewportSlot = getHideViewportSlot(state);\n\n\treturn (\n\t\t<slot name=\"viewport\" class={{ 'tabset-hide-slot': hideViewportSlot }} />\n\t);\n};\n\n/**\n * _renderNowTabs: Generates horizontal or vertical NDS <now-tabs> based on the provided configuration.\n *\n * @param state\n * @returns {JSX.Element}\n */\nexport const _renderNowTabs = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tariaLabel: givenAriaLabel,\n\t\t\tenableCollapsing,\n\t\t\tfixedWidth,\n\t\t\thideLabel,\n\t\t\tmaxWidth,\n\t\t\tposition,\n\t\t\tshowInlinePadding,\n\t\t\tsize,\n\t\t\tspaceBetweenItems,\n\t\t},\n\t\ttabs,\n\t\tselectedItem,\n\t\tshouldHideLabel,\n\t} = state;\n\tconst ariaLabel = givenAriaLabel || DEFAULT_TABS_LIST_ARIA_LABEL;\n\n\tlet nowTabs;\n\tif (position === POSITIONS.TOP) {\n\t\tconst sizeProperty = size ? { size } : undefined;\n\t\tnowTabs = (\n\t\t\t<now-tabs\n\t\t\t\tclass={{\n\t\t\t\t\t[size]: !!size,\n\t\t\t\t}}\n\t\t\t\tmanage-selected-item=\"true\"\n\t\t\t\titems={tabs}\n\t\t\t\tselected-item={selectedItem}\n\t\t\t\tmax-width={maxWidth}\n\t\t\t\thide-label={shouldHideLabel}\n\t\t\t\tfixed-width={fixedWidth}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tappend-to-meta={{ [INTERNAL_HOST_DISPATCH]: true }}\n\t\t\t\t{...sizeProperty}\n\t\t\t/>\n\t\t);\n\t} else if (position === POSITIONS.RIGHT || position === POSITIONS.LEFT) {\n\t\tnowTabs = (\n\t\t\t<now-tabs-vertical\n\t\t\t\tmanage-selected-item=\"true\"\n\t\t\t\titems={tabs}\n\t\t\t\tselected-item={selectedItem}\n\t\t\t\thide-label={hideLabel}\n\t\t\t\tsize={size}\n\t\t\t\tenable-deselect={enableCollapsing}\n\t\t\t\tspace-between-items={spaceBetweenItems}\n\t\t\t\tselection-position={position === POSITIONS.LEFT ? 'end' : 'start'}\n\t\t\t\tshow-inline-padding={\n\t\t\t\t\tposition === POSITIONS.LEFT ? undefined : showInlinePadding\n\t\t\t\t}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tappend-to-meta={{ [INTERNAL_HOST_DISPATCH]: true }}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\tthrow new Error(`Invalid Tabset position: ${position}`);\n\t}\n\treturn nowTabs;\n};\n\n/**\n * View builder function for now-uxf-tab-set component.\n *\n * @param state\n * @returns {JSX.Element}\n */\nexport const view = (state) => {\n\tconst {\n\t\tproperties: { position, tabStyles, enableCollapsing },\n\t\ttabs,\n\t\tselectedItem,\n\t\tcollapsed,\n\t\tnonViewportSlots,\n\t\tminWidth,\n\t} = state;\n\n\tif (\n\t\tisEmpty(state.tabs) ||\n\t\t(!enableCollapsing && isEmpty(state.selectedItem))\n\t) {\n\t\tconsole.warn('Tabset must have at least one tab item.');\n\t\treturn null;\n\t}\n\n\tconst wrapperAttributes = minWidth\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t'min-width': `${minWidth}px`,\n\t\t\t\t},\n\t\t\t}\n\t\t: {};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'tabset-wrapper': true,\n\t\t\t\ttop: position === POSITIONS.TOP,\n\t\t\t\tright: position === POSITIONS.RIGHT,\n\t\t\t}}\n\t\t\t{...wrapperAttributes}>\n\t\t\t<style type=\"text/css\">{`${tabStyles}`}<\/style>\n\t\t\t<div className=\"tabset-tabs\">{_renderNowTabs(state)}<\/div>\n\t\t\t<section className=\"tabset-container\">\n\t\t\t\t{!collapsed\n\t\t\t\t\t? _renderNonViewportSlots(tabs, selectedItem, nonViewportSlots)\n\t\t\t\t\t: null}\n\t\t\t\t{!collapsed ? _renderViewportSlot(state) : null}\n\t\t\t<\/section>\n\t\t<\/div>\n\t);\n};\n","import { declarativeOperations } from '@servicenow/ui-core';\nimport { isEmpty, isNil } from 'lodash';\n\n/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.'\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\n/**\n * @function shadowQuerySelector\n *\n * @description Finds and returns an element across shadow roots and slots\n * that match the selector in the DOM. If the selector\n * is an element attribute you must wrap the string in square brackets.\n * @param {String} selector selector\n * @param {Node} root root node\n * @param {Number} maxDepth maximum depth the function will recurse to\n * @param {Number} currentDepth current depth of the recursion\n * @return {Node} returns the first matching element with selector across shadow roots and slots\n */\nexport const shadowQuerySelector = (\n\tselector,\n\troot = document,\n\tmaxDepth = Infinity,\n\tcurrentDepth = 0\n) => {\n\tif (!selector || !root) {\n\t\treturn null;\n\t}\n\n\tconst seen = new Set(); // Prevent infinite loops and redundant checks\n\tconst queue = [{ node: root, depth: currentDepth }];\n\tlet index = 0; // Pointer to track the next node in the queue\n\n\twhile (index < queue.length) {\n\t\tconst { node, depth } = queue[index++];\n\n\t\t// If we've exceeded the max depth, stop searching further\n\t\tif (depth > maxDepth || !node || seen.has(node)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(node);\n\n\t\tconst currentRoot = node.shadowRoot || node;\n\n\t\t// Check if the current node matches the selector\n\t\tif (currentRoot.matches?.(selector)) {\n\t\t\treturn currentRoot;\n\t\t}\n\n\t\t// Add children and shadow roots to the queue\n\t\tfor (const child of currentRoot.children || []) {\n\t\t\tif (child.matches?.(selector)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tif (child.shadowRoot) {\n\t\t\t\tqueue.push({ node: child.shadowRoot, depth: depth + 1 });\n\t\t\t}\n\n\t\t\tqueue.push({ node: child, depth: depth + 1 });\n\n\t\t\tif (child instanceof HTMLSlotElement) {\n\t\t\t\tconst assigned = child.assignedElements({ flatten: true });\n\t\t\t\tfor (const assignedEl of assigned) {\n\t\t\t\t\tif (assignedEl.matches?.(selector)) {\n\t\t\t\t\t\treturn assignedEl;\n\t\t\t\t\t}\n\t\t\t\t\tqueue.push({ node: assignedEl, depth: depth + 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * Handles the dirty state change of a now-uxf-tab-set tabs and updates the subscriber's state.\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager\n */\nexport const onDirtyStateChange = ({\n\tisDirty: aggregatedTabSetDirtyState,\n\tsubscriberUpdateStateFn,\n\tsubscriberComponentId,\n\tchildActionChain = [],\n}) => {\n\t// When we call the onDirtyStateChange function from the COMPONENT_DISCONNECTED the childActionChain will be empty\n\tif (isEmpty(childActionChain)) {\n\t\tsubscriberUpdateStateFn(({ state }) => {\n\t\t\tconst { tabs } = state;\n\t\t\tconst updatedTabs = tabs.map((tab) => ({\n\t\t\t\t...tab,\n\t\t\t\tisDirty: aggregatedTabSetDirtyState,\n\t\t\t}));\n\t\t\treturn {\n\t\t\t\tpath: 'tabs',\n\t\t\t\tvalue: updatedTabs,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: true,\n\t\t\t};\n\t\t});\n\t\treturn;\n\t}\n\n\tconst dirtyDescendantsForHost =\n\t\tgetDirtyStateManager().getDirtyDescendantComponentIds(\n\t\t\tsubscriberComponentId\n\t\t);\n\n\tsubscriberUpdateStateFn(({ state }) => {\n\t\tconst { tabs, currentTabIndex } = state;\n\t\tif (isEmpty(dirtyDescendantsForHost)) {\n\t\t\treturn {\n\t\t\t\tpath: 'tabs',\n\t\t\t\tvalue: tabs.map((tab) => ({\n\t\t\t\t\t...tab,\n\t\t\t\t\tisDirty: aggregatedTabSetDirtyState,\n\t\t\t\t})),\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: true,\n\t\t\t};\n\t\t}\n\n\t\tconst currentTabSetElement = shadowQuerySelector(\n\t\t\t`[component-id=\"${subscriberComponentId}\"]`,\n\t\t\tdocument\n\t\t);\n\n\t\t// return if currentTabSetElement(now-uxf-tab-set) is not found\n\t\tif (!currentTabSetElement) {\n\t\t\treturn state;\n\t\t}\n\n\t\tconst currentTabHTMLElement = shadowQuerySelector(\n\t\t\t`[component-id=\"${childActionChain.at(-1)}\"]`,\n\t\t\tcurrentTabSetElement\n\t\t);\n\n\t\t// return if currentTabHTMLElement(slot with component-id) is not found\n\t\tif (!currentTabHTMLElement) {\n\t\t\treturn state;\n\t\t}\n\n\t\tconst isDirtyStateUpdated =\n\t\t\tdirtyDescendantsForHost.some(\n\t\t\t\t(dirtyDescendant) =>\n\t\t\t\t\t!isNil(\n\t\t\t\t\t\tshadowQuerySelector(\n\t\t\t\t\t\t\t`[component-id=\"${dirtyDescendant}\"]`,\n\t\t\t\t\t\t\tcurrentTabHTMLElement\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t) || dirtyDescendantsForHost.includes(childActionChain.at(-1));\n\n\t\treturn {\n\t\t\tpath: 'tabs',\n\t\t\tvalue: tabs.map((tab, index) => ({\n\t\t\t\t...tab,\n\t\t\t\tisDirty:\n\t\t\t\t\tindex === currentTabIndex\n\t\t\t\t\t\t? isDirtyStateUpdated && aggregatedTabSetDirtyState\n\t\t\t\t\t\t: (tab.isDirty ?? false),\n\t\t\t})),\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: true,\n\t\t};\n\t});\n};\n","import {\n\tactionTypes,\n\tcreateCustomElement,\n\tmodifierTypes,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport '@servicenow/now-tabs';\nimport styles from './now-uxf-tab-set.scss';\nimport nowUxfTabSetEffect from './nowUxfTabSetEffect';\nimport {\n\tPOSITIONS,\n\tSELECTED_ITEM_SET,\n\tSET_SELECTED_TAB,\n\tVERTICAL_SELECTED_ITEM_SET,\n\tSET_SELECTED_TAB_WITH_SELECTED_TAB_PROP,\n\tTREE_RENDERED_THROTTLE_LIMIT,\n\tUXF_TAB_SET_SELECTION,\n\tUXF_TAB_TAB_ITEMS_CHANGED,\n} from './constants';\nimport { isVerticalOrientation } from './helpers';\nimport setMinWidth from './helpers/setMinWidth';\nimport getReflowProperties from './helpers/getReflowProperties';\nimport { view } from './view';\nimport { onDirtyStateChange } from './helpers/dirtyState';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\nconst {\n\thandleComponentBootstrap,\n\thandleComponentDisconnect,\n\thandleComponentPropertyChanged,\n\tsetSelectedItem,\n\tsetSelectedTab,\n\tsetSelectedTabWithSelectedTabProp,\n} = nowUxfTabSetEffect.effectHandlers;\n\n/**\n * Tab item definition.\n * @typedef {Object} TabItem\n * @param {boolean|null} conditional\n * @param {boolean|null} extensionPoint\n * @param {string} icon\n * @param {string} id\n * @param {string} label\n * @param {number} order\n * @param {string} type\n * @param {boolean} [isDirty]\n */\n\n/**\n * Tab Set is a UIB component available in toolbox to display grouped content in a specific hierarchy.\n *\n *\n * ```jsx\n * const items = [\n *  {id: 'tab1', label: 'Tab 1', icon: 'bell-outline', count: 7},\n * \t{id: 'tab2', label: 'Tab 2', icon: 'document-outline', count: 3}\n * ];\n *\n * <now-uxf-tab-set items={items} defaultRoute={defaultRoute} selectedTabIndex={selectedTabIndex}><\/now-uxf-tab-set>\n * ```\n */\ncreateCustomElement('now-uxf-tab-set', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\tuxfViewportBehavior,\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\tselectedTabIndex: {\n\t\t\tdefault: undefined,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedTab: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\tdefaultRoute: {\n\t\t\tdefault: '',\n\t\t},\n\t\tdynamicTabData: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tfixedWidth: {\n\t\t\tdefault: false,\n\t\t},\n\t\thideLabel: {\n\t\t\tdefault: false,\n\t\t},\n\t\tmaxWidth: {\n\t\t\tdefault: 240,\n\t\t},\n\t\t/**\n\t\t * @type {TabItem[]}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tposition: {\n\t\t\tdefault: POSITIONS.TOP,\n\t\t},\n\t\tenableCollapsing: {\n\t\t\tdefault: false,\n\t\t},\n\t\tspaceBetweenItems: {\n\t\t\tdefault: 'none',\n\t\t},\n\t\tinitiallyCollapsed: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowInlinePadding: {\n\t\t\tdefault: true,\n\t\t},\n\t\ttabStyles: {\n\t\t\tdefault: '',\n\t\t},\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tactiveRoute: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\trouteType: { type: 'string' },\n\t\t\t\t\textensionPoint: { type: 'string' },\n\t\t\t\t\torder: { type: 'integer' },\n\t\t\t\t\tname: { type: 'string' },\n\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\toptionalParameters: { type: 'object' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tinitialPageLoad: true,\n\t\tcurrentTabIndex: -1,\n\t\ttabs: [],\n\t\tselectedItem: '',\n\t\tcollapsed: true,\n\t\tnonViewportSlots: new Set(),\n\t\tminWidth: 0,\n\t\tshouldHideLabel: false,\n\t\treflowProperties: {},\n\t\t// This state is used to track if the tabset should collapse on reflow, when it goes back to\n\t\t// vertical tabs from horizontal tabs.  It should only ever be true in the scenario where\n\t\t// the tabset was vertical and collapsed, reflowed to horizontal, and then reflowed back to\n\t\t// vertical with no interactions with the tab set occurring in between.\n\t\tshouldCollapseOnReflow: false,\n\t\t// Introduced to manage a not often used configuration where the hideLabel property\n\t\t// is true in conjunction with the tabs being horizontal (position top).\n\t\tbootstrapPosTopHideLabelTrue: false,\n\t\tdirtyStateContext: {\n\t\t\tisDirty: false,\n\t\t\tmacroponentId: '',\n\t\t\teventPath: [],\n\t\t},\n\t\t// Introduced to manage a special configuration in UIB where both tabs and selectedTab props change\n\t\t// and when selectedTab prop change is fired before items change. This state will help to set\n\t\t// the new selectedTab on the new items as part of items prop change handler.\n\t\tselectedTabPrevPropVal: '',\n\t},\n\ttransformState(state) {\n\t\tconst {\n\t\t\ttabs,\n\t\t\tminWidth,\n\t\t\tproperties: { maxWidth, position },\n\t\t} = state;\n\t\tconst outputState = { ...state };\n\n\t\t// set minWidth to 0 if tabs.length !== 2 or minWidth > maxWidth or position is vertical\n\t\tif (\n\t\t\ttabs.length !== 2 ||\n\t\t\tminWidth > maxWidth ||\n\t\t\tisVerticalOrientation(position)\n\t\t) {\n\t\t\toutputState.minWidth = 0;\n\t\t}\n\n\t\t// ensure that state.tabs is always an array\n\t\tif (!Array.isArray(tabs)) {\n\t\t\tconsole.error('Tabs is not an array:', state);\n\t\t\toutputState.tabs = [];\n\t\t}\n\n\t\treturn { ...outputState };\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]({ host, updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'reflowProperties',\n\t\t\t\tvalue: getReflowProperties(host),\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: setMinWidth,\n\t\t\tmodifier: {\n\t\t\t\tname: modifierTypes.THROTTLE,\n\t\t\t\tlimit: TREE_RENDERED_THROTTLE_LIMIT,\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t[COMPONENT_DISCONNECTED]: handleComponentDisconnect,\n\t\t[SELECTED_ITEM_SET]: {\n\t\t\teffect: setSelectedItem,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[VERTICAL_SELECTED_ITEM_SET]: {\n\t\t\teffect: setSelectedItem,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SET_SELECTED_TAB]: {\n\t\t\teffect: setSelectedTab,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP]: {\n\t\t\teffect: setSelectedTabWithSelectedTabProp,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Fired when selecting a tab.\n\t\t * @type {{\n\t\t *   selectedTabIndex: number,      // Index of the selected tab\n\t\t *   selectedTab: string,           // Selector of the selected tab, see {@link helpers.js/getTabSelector}\n\t\t *   selectedTabLabel: string,      // Label of the selected tab\n\t\t *   isInitialPageLoad: boolean,    // Whether the component was touched, true if untouched\n\t\t * }}\n\t\t */\n\t\t[UXF_TAB_SET_SELECTION]: {},\n\t\t/**\n\t\t * Fired when component tabs have changed.\n\t\t * @type {{\n\t\t *   tabs: Array<TabItem>,\n\t\t *   previousTabs: Array<TabItem>,\n\t\t * }}\n\t\t */\n\t\t[UXF_TAB_TAB_ITEMS_CHANGED]: {},\n\t},\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_uxf_tab_set=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":753,"column":0},"map":{"mappings":";;;;;;;;;;;;;;;;;;;eAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,GAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,wFCDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,GAAI,KAE7C,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,wEAAyE,KAElH,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,2DAA4D,KAErG,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,iCAAkC,KAE3E,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,+BAAgC,KAEzE,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,yfAA0f,KAEniB,S,gBCNQ,IAAII,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,IAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,SCPpCJ,EAAOC,QAHP,SAAyB4B,EAAGC,GAC1B,KAAMD,aAAaC,GAAI,MAAM,IAAIC,UAAU,oCAC7C,EACkC/B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCHvG,IAAI+B,EAAgBC,EAAQ,IAC5B,SAASC,EAAkBC,EAAGC,GAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAEzB,OAAQ0B,IAAK,CACjC,IAAIC,EAAIF,EAAEC,GACVC,EAAEC,WAAaD,EAAEC,aAAc,EAAID,EAAEE,cAAe,EAAI,UAAWF,IAAMA,EAAEG,UAAW,GAAKC,OAAOC,eAAeR,EAAGH,EAAcM,EAAEM,KAAMN,EAC5I,CACF,CAMAtC,EAAOC,QALP,SAAsBkC,EAAGC,EAAGC,GAC1B,OAAOD,GAAKF,EAAkBC,EAAEU,UAAWT,GAAIC,GAAKH,EAAkBC,EAAGE,GAAIK,OAAOC,eAAeR,EAAG,YAAa,CACjHM,UAAU,IACRN,CACN,EAC+BnC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCZpG,SAAS6C,IACP,OAAO9C,EAAOC,QAAU6C,EAAWJ,OAAOK,OAASL,OAAOK,OAAOC,OAAS,SAAUlB,GAClF,IAAK,IAAIK,EAAI,EAAGA,EAAIc,UAAUtC,OAAQwB,IAAK,CACzC,IAAIE,EAAIY,UAAUd,GAClB,IAAK,IAAIC,KAAKC,GAAG,CAAG,GAAEa,eAAeC,KAAKd,EAAGD,KAAON,EAAEM,GAAKC,EAAED,GAC/D,CACA,OAAON,CACT,EAAG9B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS6C,EAASM,MAAM,KAAMH,UACxG,CACAjD,EAAOC,QAAU6C,EAAU9C,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCAhGD,EAAOC,QATP,SAAuCmC,EAAGD,GACxC,GAAI,MAAQC,EAAG,MAAO,CAAC,EACvB,IAAIC,EAAI,CAAC,EACT,IAAK,IAAIP,KAAKM,EAAG,GAAI,CAAC,EAAEc,eAAeC,KAAKf,EAAGN,GAAI,CACjD,GAAIK,EAAEkB,SAASvB,GAAI,SACnBO,EAAEP,GAAKM,EAAEN,EACX,CACA,OAAOO,CACT,EACgDrC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCTrH,IAAIqD,EAAUrB,EAAAA,KAAAA,QAWdjC,EAAOC,QAVP,SAAqBoC,EAAGD,GACtB,GAAI,UAAYkB,EAAQjB,KAAOA,EAAG,OAAOA,EACzC,IAAIF,EAAIE,EAAEkB,OAAOC,aACjB,QAAS,IAAMrB,EAAG,CAChB,IAAItB,EAAIsB,EAAEgB,KAAKd,EAAGD,GAAK,WACvB,GAAI,UAAYkB,EAAQzC,GAAI,OAAOA,EACnC,MAAM,IAAIkB,UAAU,+CACtB,CACA,OAAQ,WAAaK,EAAIqB,OAASC,QAAQrB,EAC5C,EAC8BrC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,eCXnG,IAAIqD,EAAUrB,EAAAA,KAAAA,QACVuB,EAAcvB,EAAQ,KAK1BjC,EAAOC,QAJP,SAAuBoC,GACrB,IAAIxB,EAAI2C,EAAYnB,EAAG,UACvB,MAAO,UAAYiB,EAAQzC,GAAKA,EAAIA,EAAI,EAC1C,EACgCb,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCNrG,SAASqD,EAAQhB,GAGf,OAAOtC,EAAOC,QAAUqD,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOI,SAAW,SAAUrB,GAC9G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBiB,QAAUjB,EAAEsB,cAAgBL,QAAUjB,IAAMiB,OAAOV,UAAY,gBAAkBP,CACpH,EAAGtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAASqD,EAAQhB,EAC3F,CACAtC,EAAOC,QAAUqD,EAAStD,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR3F4D,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB5C,IAAjB6C,EACH,OAAOA,EAAa/D,QAGrB,IAAID,EAAS6D,EAAyBE,GAAY,CACjDzC,GAAIyC,EAEJ9D,QAAS,CAAC,GAOX,OAHAgE,EAAoBF,GAAU/D,EAAQA,EAAOC,QAAS6D,GAG/C9D,EAAOC,OACf,CCrBA6D,EAAoBhC,EAAK9B,IACxB,IAAIkE,EAASlE,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA8D,EAAoBK,EAAED,EAAQ,CAAErC,EAAGqC,IAC5BA,GCLRJ,EAAoBK,EAAI,CAAClE,EAASmE,KACjC,IAAI,IAAIxB,KAAOwB,EACXN,EAAoBxB,EAAE8B,EAAYxB,KAASkB,EAAoBxB,EAAErC,EAAS2C,IAC5EF,OAAOC,eAAe1C,EAAS2C,EAAK,CAAEL,YAAY,EAAM8B,IAAKD,EAAWxB,MCJ3EkB,EAAoBxB,EAAI,CAACgC,EAAKC,IAAU7B,OAAOG,UAAUK,eAAeC,KAAKmB,EAAKC,GCClFT,EAAoB1B,EAAKnC,IACH,oBAAXsD,QAA0BA,OAAOiB,aAC1C9B,OAAOC,eAAe1C,EAASsD,OAAOiB,YAAa,CAAEC,MAAO,WAE7D/B,OAAOC,eAAe1C,EAAS,aAAc,CAAEwE,OAAO,K,sCCHvD,MAAM,EAFEC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYC,EAAuFjD,SAAWiD,EAAuFlD,WAGpM,OAAIiD,EACHC,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,aAClT,eAAoB,KACtB,MAAMF,EAAYC,EAAuFjD,SAAWiD,EAAuFlD,WAGpM,OAAIiD,EACHC,EAAgG,QAAEE,eAInGF,EAAuFE,gBAAkBF,EAAgG,SAAKA,EAAgG,QAAEE,gBACrT,oBAAyB,KAC3B,MAAMH,EAAYC,EAAuFjD,SAAWiD,EAAuFlD,WAGpM,OAAIiD,EACHC,EAAgG,QAAEG,oBAInGH,EAAuFG,qBAAuBH,EAAgG,SAAKA,EAAgG,QAAEG,qBAC1T,sBAA2B,KAC7B,MAAMJ,EAAYC,EAAuFjD,SAAWiD,EAAuFlD,WAGpM,OAAIiD,EACHC,EAAgG,QAAEI,sBAInGJ,EAAuFI,uBAAyBJ,EAAgG,SAAKA,EAAgG,QAAEI,uBAC5T,cAAmB,KACrB,MAAML,EAAYC,EAAuFjD,SAAWiD,EAAuFlD,WAGpM,OAAIiD,EACHC,EAAgG,QAAEK,cAInGL,EAAuFK,eAAiBL,EAAgG,SAAKA,EAAgG,QAAEK,iBCjD3T,MAAM,EAFER,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAYO,EAAoGvD,SAAWuD,EAAoGxD,WAG9N,OAAIiD,EACHO,EAA6G,QAAEC,cAIhHD,EAAoGC,eAAiBD,EAA6G,SAAKA,EAA6G,QAAEC,eAC3V,QAAa,KACf,MAAMR,EAAYO,EAAoGvD,SAAWuD,EAAoGxD,WACrO,OAAIiD,EACIO,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdP,EACHO,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,GAGle,SAAc,KAChB,MAAMP,EAAYO,EAAoGvD,SAAWuD,EAAoGxD,WAG9N,OAAIiD,EACHO,EAA6G,QAAEE,SAIhHF,EAAoGE,UAAYF,EAA6G,SAAKA,EAA6G,QAAEE,Y,sBC7B7V,MAAM,EAFEX,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,IAAS,KAC7C,MAAMC,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEjB,IAIvGiB,EAA2FjB,KAAOiB,EAAoG,SAAKA,EAAoG,QAAEjB,KACtT,QAAa,KACf,MAAMO,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEC,QAIvGD,EAA2FC,SAAWD,EAAoG,SAAKA,EAAoG,QAAEC,SAC1T,QAAa,KACf,MAAMX,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEE,QAIvGF,EAA2FE,SAAWF,EAAoG,SAAKA,EAAoG,QAAEE,SAC1T,MAAW,KACb,MAAMZ,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEG,MAIvGH,EAA2FG,OAASH,EAAoG,SAAKA,EAAoG,QAAEG,OACxT,SAAc,KAChB,MAAMb,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEI,SAIvGJ,EAA2FI,UAAYJ,EAAoG,SAAKA,EAAoG,QAAEI,UAC3T,UAAe,KACjB,MAAMd,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEK,UAIvGL,EAA2FK,WAAaL,EAAoG,SAAKA,EAAoG,QAAEK,WAC5T,IAAS,KACX,MAAMf,EAAYU,EAA2F1D,SAAW0D,EAA2F3D,WAG5M,OAAIiD,EACHU,EAAoG,QAAEM,IAIvGN,EAA2FM,KAAON,EAAoG,SAAKA,EAAoG,QAAEM,OCrE7T,MAAM,EAFElB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,eAAoB,KACxD,MAAMC,EAAYiB,EAAuGjE,SAAWiE,EAAuGlE,WAGpO,OAAIiD,EACHiB,EAAgH,QAAEC,eAInHD,EAAuGC,gBAAkBD,EAAgH,SAAKA,EAAgH,QAAEC,gBACrW,eAAoB,KACtB,MAAMlB,EAAYiB,EAAuGjE,SAAWiE,EAAuGlE,WAGpO,OAAIiD,EACHiB,EAAgH,QAAEE,eAInHF,EAAuGE,gBAAkBF,EAAgH,SAAKA,EAAgH,QAAEE,gBACrW,QAAa,KACf,MAAMnB,EAAYiB,EAAuGjE,SAAWiE,EAAuGlE,WAGpO,OAAIiD,EACHiB,EAAgH,QAAEG,QAInHH,EAAuGG,SAAWH,EAAgH,SAAKA,EAAgH,QAAEG,WC7BrW,MAAM,EAFEtB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,oBAAyB,KAC7D,MAAMC,EAAYqB,EAA0FrE,SAAWqE,EAA0FtE,WAG1M,OAAIiD,EACHqB,EAAmG,QAAEC,oBAItGD,EAA0FC,qBAAuBD,EAAmG,SAAKA,EAAmG,QAAEC,qBACnU,aAAkB,KACpB,MAAMtB,EAAYqB,EAA0FrE,SAAWqE,EAA0FtE,WAG1M,OAAIiD,EACHqB,EAAmG,QAAEE,aAItGF,EAA0FE,cAAgBF,EAAmG,SAAKA,EAAmG,QAAEE,cAC5T,iBAAsB,KACxB,MAAMvB,EAAYqB,EAA0FrE,SAAWqE,EAA0FtE,WAG1M,OAAIiD,EACHqB,EAAmG,QAAEG,iBAItGH,EAA0FG,kBAAoBH,EAAmG,SAAKA,EAAmG,QAAEG,kBAChU,eAAoB,KACtB,MAAMxB,EAAYqB,EAA0FrE,SAAWqE,EAA0FtE,WAG1M,OAAIiD,EACHqB,EAAmG,QAAEI,eAItGJ,EAA0FI,gBAAkBJ,EAAmG,SAAKA,EAAmG,QAAEI,gBAC9T,KAAU,KACZ,MAAMzB,EAAYqB,EAA0FrE,SAAWqE,EAA0FtE,WAG1M,OAAIiD,EACHqB,EAAmG,QAAEK,KAItGL,EAA0FK,MAAQL,EAAmG,SAAKA,EAAmG,QAAEK,QCjD3T,MAAM,EAFE5B,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,WAAgB,KACpD,MAAMC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEC,WAI/FD,EAAmFC,YAAcD,EAA4F,SAAKA,EAA4F,QAAEC,YACrS,KAAU,KACZ,MAAM5B,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEE,KAI/FF,EAAmFE,MAAQF,EAA4F,SAAKA,EAA4F,QAAEE,MAC/R,IAAS,KACX,MAAM7B,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAElC,IAI/FkC,EAAmFlC,KAAOkC,EAA4F,SAAKA,EAA4F,QAAElC,KAC9R,IAAS,KACX,MAAMO,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEG,IAI/FH,EAAmFG,KAAOH,EAA4F,SAAKA,EAA4F,QAAEG,KAC9R,QAAa,KACf,MAAM9B,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEhB,QAI/FgB,EAAmFhB,SAAWgB,EAA4F,SAAKA,EAA4F,QAAEhB,SAClS,QAAa,KACf,MAAMX,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEf,QAI/Fe,EAAmFf,SAAWe,EAA4F,SAAKA,EAA4F,QAAEf,SAClS,WAAgB,KAClB,MAAMZ,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEI,WAI/FJ,EAAmFI,YAAcJ,EAA4F,SAAKA,EAA4F,QAAEI,YACrS,MAAW,KACb,MAAM/B,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEd,MAI/Fc,EAAmFd,OAASc,EAA4F,SAAKA,EAA4F,QAAEd,OAChS,SAAc,KAChB,MAAMb,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEb,SAI/Fa,EAAmFb,UAAYa,EAA4F,SAAKA,EAA4F,QAAEb,UACnS,UAAe,KACjB,MAAMd,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEK,UAI/FL,EAAmFK,WAAaL,EAA4F,SAAKA,EAA4F,QAAEK,WACpS,KAAU,KACZ,MAAMhC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEM,KAI/FN,EAAmFM,MAAQN,EAA4F,SAAKA,EAA4F,QAAEM,MAC/R,KAAU,KACZ,MAAMjC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEO,KAI/FP,EAAmFO,MAAQP,EAA4F,SAAKA,EAA4F,QAAEO,MAC/R,OAAY,KACd,MAAMlC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEQ,OAI/FR,EAAmFQ,QAAUR,EAA4F,SAAKA,EAA4F,QAAEQ,QACjS,OAAY,KACd,MAAMnC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAES,OAI/FT,EAAmFS,QAAUT,EAA4F,SAAKA,EAA4F,QAAES,QACjS,IAAS,KACX,MAAMpC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEX,IAI/FW,EAAmFX,KAAOW,EAA4F,SAAKA,EAA4F,QAAEX,KAC9R,KAAU,KACZ,MAAMhB,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEU,KAI/FV,EAAmFU,MAAQV,EAA4F,SAAKA,EAA4F,QAAEU,MAC/R,SAAc,KAChB,MAAMrC,EAAY2B,EAAmF3E,SAAW2E,EAAmF5E,WAG5L,OAAIiD,EACH2B,EAA4F,QAAEW,SAI/FX,EAAmFW,UAAYX,EAA4F,SAAKA,EAA4F,QAAEW,YCzK1S,MAAM,EAFExC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,wBAA6B,KACjE,MAAMC,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEC,wBAIjHD,EAAqGC,yBAA2BD,EAA8G,SAAKA,EAA8G,QAAEC,yBACxW,iCAAsC,KACxC,MAAMxC,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEE,iCAIjHF,EAAqGE,kCAAoCF,EAA8G,SAAKA,EAA8G,QAAEE,kCACjX,oBAAyB,KAC3B,MAAMzC,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEG,oBAIjHH,EAAqGG,qBAAuBH,EAA8G,SAAKA,EAA8G,QAAEG,qBACpW,sBAA2B,KAC7B,MAAM1C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEI,sBAIjHJ,EAAqGI,uBAAyBJ,EAA8G,SAAKA,EAA8G,QAAEI,uBACtW,sBAA2B,KAC7B,MAAM3C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEK,sBAIjHL,EAAqGK,uBAAyBL,EAA8G,SAAKA,EAA8G,QAAEK,uBACtW,UAAe,KACjB,MAAM5C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEM,UAIjHN,EAAqGM,WAAaN,EAA8G,SAAKA,EAA8G,QAAEM,WAC1V,qBAA0B,KAC5B,MAAM7C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEO,qBAIjHP,EAAqGO,sBAAwBP,EAA8G,SAAKA,EAA8G,QAAEO,sBACrW,kBAAuB,KACzB,MAAM9C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEQ,kBAIjHR,EAAqGQ,mBAAqBR,EAA8G,SAAKA,EAA8G,QAAEQ,mBAClW,UAAe,KACjB,MAAM/C,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAES,UAIjHT,EAAqGS,WAAaT,EAA8G,SAAKA,EAA8G,QAAES,WAC1V,kBAAuB,KACzB,MAAMhD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEU,kBAIjHV,EAAqGU,mBAAqBV,EAA8G,SAAKA,EAA8G,QAAEU,mBAClW,UAAe,KACjB,MAAMjD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEW,UAIjHX,EAAqGW,WAAaX,EAA8G,SAAKA,EAA8G,QAAEW,WAC1V,yBAA8B,KAChC,MAAMlD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEY,yBAIjHZ,EAAqGY,0BAA4BZ,EAA8G,SAAKA,EAA8G,QAAEY,0BACzW,sCAA2C,KAC7C,MAAMnD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEa,sCAIjHb,EAAqGa,uCAAyCb,EAA8G,SAAKA,EAA8G,QAAEa,uCACtX,gBAAqB,KACvB,MAAMpD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEc,gBAIjHd,EAAqGc,iBAAmBd,EAA8G,SAAKA,EAA8G,QAAEc,iBAChW,6BAAkC,KACpC,MAAMrD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEe,6BAIjHf,EAAqGe,8BAAgCf,EAA8G,SAAKA,EAA8G,QAAEe,8BAC7W,eAAoB,KACtB,MAAMtD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEgB,eAIjHhB,EAAqGgB,gBAAkBhB,EAA8G,SAAKA,EAA8G,QAAEgB,gBAC/V,YAAiB,KACnB,MAAMvD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEiB,YAIjHjB,EAAqGiB,aAAejB,EAA8G,SAAKA,EAA8G,QAAEiB,aAC5V,sBAA2B,KAC7B,MAAMxD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEkB,sBAIjHlB,EAAqGkB,uBAAyBlB,EAA8G,SAAKA,EAA8G,QAAEkB,uBACtW,8BAAmC,KACrC,MAAMzD,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEmB,8BAIjHnB,EAAqGmB,+BAAiCnB,EAA8G,SAAKA,EAA8G,QAAEmB,+BAC9W,SAAc,KAChB,MAAM1D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEoB,SAIjHpB,EAAqGoB,UAAYpB,EAA8G,SAAKA,EAA8G,QAAEoB,UACzV,0BAA+B,KACjC,MAAM3D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEqB,0BAIjHrB,EAAqGqB,2BAA6BrB,EAA8G,SAAKA,EAA8G,QAAEqB,2BAC1W,sBAA2B,KAC7B,MAAM5D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEsB,sBAIjHtB,EAAqGsB,uBAAyBtB,EAA8G,SAAKA,EAA8G,QAAEsB,uBACtW,wBAA6B,KAC/B,MAAM7D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEuB,wBAIjHvB,EAAqGuB,yBAA2BvB,EAA8G,SAAKA,EAA8G,QAAEuB,yBACxW,4BAAiC,KACnC,MAAM9D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEwB,4BAIjHxB,EAAqGwB,6BAA+BxB,EAA8G,SAAKA,EAA8G,QAAEwB,6BAC5W,sBAA2B,KAC7B,MAAM/D,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAEyB,sBAIjHzB,EAAqGyB,uBAAyBzB,EAA8G,SAAKA,EAA8G,QAAEyB,uBACtW,SAAc,KAChB,MAAMhE,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAE0B,SAIjH1B,EAAqG0B,UAAY1B,EAA8G,SAAKA,EAA8G,QAAE0B,UACzV,mBAAwB,KAC1B,MAAMjE,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAE2B,mBAIjH3B,EAAqG2B,oBAAsB3B,EAA8G,SAAKA,EAA8G,QAAE2B,oBACnW,sBAA2B,KAC7B,MAAMlE,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAE4B,sBAIjH5B,EAAqG4B,uBAAyB5B,EAA8G,SAAKA,EAA8G,QAAE4B,uBACtW,mBAAwB,KAC1B,MAAMnE,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAE6B,mBAIjH7B,EAAqG6B,oBAAsB7B,EAA8G,SAAKA,EAA8G,QAAE6B,oBACnW,aAAkB,KACpB,MAAMpE,EAAYuC,EAAqGvF,SAAWuF,EAAqGxF,WAGhO,OAAIiD,EACHuC,EAA8G,QAAE8B,aAIjH9B,EAAqG8B,cAAgB9B,EAA8G,SAAKA,EAA8G,QAAE8B,gBC3SpW,MAAM,EAFEvE,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,EAAO,KAC3C,MAAMC,EAAYsE,EAAiFtH,SAAWsH,EAAiFvH,WAGxL,OAAIiD,EACHsE,EAA0F,QAAE7G,EAI7F6G,EAAiF7G,GAAK6G,EAA0F,SAAKA,EAA0F,QAAE7G,KCJhR8G,EAAgB,UAChBC,EAAwB,YAExBC,EAAe,eAIfC,EAAmB,mBAUnBC,EACZ,0CAGYC,EAAgC,gCAEhCC,EAAiB,iBAMjBC,EAAyB,yBAGzBC,EAAwB,wBACxBC,EACZ,uCAEYC,EAAoB,oBAGpBC,EAAkB,kBAClBC,EACZ,0CACYC,EACZ,kDAGYC,EAA4B,4BAC5BC,EACZ,0CAUYC,EAAyB,6BACzBC,EAAyB,yBACzBC,EAAwB,wBACxBC,EAA0B,uBAE1BC,IAAelI,EAAAA,EAAAA,GAAE,gBACjBmI,IAAkBnI,EAAAA,EAAAA,GAC9B,oFAIYoI,GACZ,qCAMYC,GACZ,qCAIYC,GAA2B,2BAC3BC,GAA6B,6BAG7BC,GAA+B,+BAC/BC,GAAiC,iCAEjCC,GAAuB,uBACvBC,GAAyB,yBAEzBC,GACZ,sCAoBYC,GAA8B,8BAC9BC,GAAkB,kBAYlBC,GAAyB,sBACzBC,GAAuB,qBACvBC,GAAc,aAEdC,GAAuB,qBACvBC,GAA+B,4BAY/BC,GAAoB,sBAKpBC,GAA+B,+BAiB/BC,GAAmB,mBACnBC,GAAgB,gBAChBC,GAA8B,8BAC9BC,GAA6B,4BAG7BC,GAA6B,6BAC7BC,GACZ,2CACYC,GAA6B,6BAC7BC,GAA2B,2BAC3BC,GAA0B,0BAM1BC,GAAiB,CAC7B,KAJmB/J,EAAAA,EAAAA,GAAE,mDAKrB,KAJmBA,EAAAA,EAAAA,GAAE,oDAMTgK,GAAmB3J,OAAO4J,OAAO5J,OAAO6J,KAAKH,KAG7CI,GAAeA,KAE3B,MACMC,EAAoB,gCADT,GAAGC,WAAWC,qCAQ/B,MANyB,CACxBC,YAAa,GAAGH,eAChBI,OAAQ,GAAGJ,WACXK,iBAAkB,GAAGL,oBACrBM,gBAAiB,GAAGN,qBAKTO,GAA4B,uBAC5BC,GAA6B,gCAC7BC,GAAyB,6BAEzBC,GAAiC,gCACjCC,GAA+B,+BAC/BC,GAAyB,oBACzBC,GAA+B,+BAC/BC,GAAoB,oBAIpBC,GAAwB,wBACxBC,GAAoB,wBAEpBC,GAAiC,uBASjCC,GACZ,sDAKYC,GACZ,+CAEYC,GAA0B,8BAE1BC,GACZ,8CCzOD,IAAIC,GAEJ,MAAMC,GAAgB,CACrBC,WAAY,CAAC,EACbtB,SAAU,eACVuB,YAAa,OACbC,QAAS,CACRC,KAAM,MAEPC,OAAQ,CACPC,OAAQ,CACP,CACCC,iBAAkB,mCAClBC,mBAAoB,CAAC,mBAAoB,QAAS,UAClDC,yBAA0B,CAAC,EAC3BC,OAAQ,CAAC,QAAS,YAGpBC,KAAM,CACL,CACCJ,iBAAkB,mCAClBC,mBAAoB,GACpBC,yBAA0B,CAAC,EAC3BC,OAAQ,KAGVvO,KAAM,CACL,CACCoO,iBAAkB,mCAClBC,mBAAoB,CAAC,UACrBC,yBAA0B,CAAC,EAC3BC,OAAQ,KAGVE,KAAM,CACL,CACCL,iBAAkB,mCAClBC,mBAAoB,CAAC,UACrBC,yBAA0B,CAAC,EAC3BC,OAAQ,CAAC,eAkCAG,GAAcC,IA5BSC,MA6BnChB,IACEe,IAAUvJ,EAAAA,EAAAA,SAAQuJ,GAChBd,IA/B+Be,EAgCJD,EAhCoB,CACnDZ,aAAa7J,EAAAA,EAAAA,KAAI0K,EAAkB,cAAe,IAClDC,aAAa3K,EAAAA,EAAAA,KAAI0K,EAAkB,qBAAqB,GACxDV,QAAQhK,EAAAA,EAAAA,KAAI0K,EAAkB,SAAU,CAAC,GACzCE,qBAAqB5K,EAAAA,EAAAA,KAAI0K,EAAkB,sBAAuB,CAAC,GACnEG,iBAAiB7K,EAAAA,EAAAA,KAAI0K,EAAkB,kBAAmB,CAAC,GAC3DI,wBAAwB9K,EAAAA,EAAAA,KACvB0K,EACA,yBACA,MAEDK,yBAAyB/K,EAAAA,EAAAA,KACxB0K,EACA,0BACA,MAEDM,gCAAgChL,EAAAA,EAAAA,KAC/B0K,EACA,iCACA,MAEDO,kCAAkCjL,EAAAA,EAAAA,KACjC0K,EACA,mCACA,SASDQ,EAAAA,EAAAA,uBAAsBxB,KAGV5F,GAAiBA,IAAM4F,GAAaG,YACpCsB,GAAqBA,IAAMzB,GAAaiB,YAGxCS,GAAiCA,KAAM,IAAAC,EACnD,MAAMC,GAAWtL,EAAAA,EAAAA,KAAIuL,OAAQ,sBAAuB,IAC9CC,GAAqBxL,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,GAClEE,GAC4B,QAAjCJ,EAAAG,EAAmB,GAAGF,YAAW,IAAAD,OAAA,EAAjCA,EAA2D,wBAAK,CAAC,EAClE,OAAOnI,EAAAA,EAAAA,uBAAsBuI,EAAgBD,IAejCE,GAA4CC,iBAKpD,IAAAC,EAAAC,EAAA,IAJJC,EAAelN,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GAClBmN,EAAgBnN,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpBoN,EAAgBpN,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAChBmP,EAAQrN,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAER,MAAMoP,GAAmB5H,EAAAA,EAAAA,6BAA4BwH,GAC/CK,QAA0BlI,EAAAA,EAAAA,+BAA8B,CAC7D6H,IAED,IAAKK,EAAmB,OAAO,KAC/B,MAAMC,EAAiB3N,IAAA,GACnBsN,EAAiBjB,uBACjBqB,GAGJZ,OAAOlD,WAAWC,SAAWwD,EAC7BP,OAAOc,SAASC,gBACmB,QAAlCV,EAAAQ,EAAkBN,UAAgB,IAAAF,OAAA,EAAlCA,EAAoCW,eAAgB,GACrDhB,OAAOc,SAASG,kBAAoB,GACpC,MAAMf,GACkC,QAAvCI,EAAAO,EAAkB,GAAGN,YAAkB,IAAAD,OAAA,EAAvCA,EAAiE,wBACjE,CAAC,EACIY,GAA0BvJ,EAAAA,EAAAA,uBAC/BuI,EACAW,GAOD,OAJKF,GACJF,EAAiB,CAAEtC,aAAc+C,IAElCR,EDlEA,oCCmEOQ,CACR,ECnJA,MAAM,GAFEpM,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,MAAW,KAC/C,MAAMC,EAAYmM,EAAgFnP,SAAWmP,EAAgFpP,WAGtL,OAAIiD,EACHmM,EAAyF,QAAEC,MAI5FD,EAAgFC,OAASD,EAAyF,SAAKA,EAAyF,QAAEC,SCNjRC,GAA+CA,CAC3DX,EACAY,KAIyB,iBAAjBA,GACU,OAAjBA,QAC+B/P,IAA/B+P,EAAaC,eAEbb,EH6ND,yDG7NmDxN,IAAA,GAC9CoO,EAAaxC,OAAM,CACtByC,gBAAiBD,EAAaC,cAC9BC,kBAAmBF,EAAaG,OAChCT,aAAcM,EAAaN,iBCTxBU,IAAcjN,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,GAEpD2B,GAAoBA,CAAC7C,EAAQ8C,IAC/B9O,OAAO6J,KAAKmC,GACpB+C,OACAzK,OAAO,CAAC0K,EAAM9O,IAAQ,GAAG8O,KAAQ9O,KAAO8L,EAAO9L,KAAQ4O,GAsBpDG,GAAgBC,IACrB,IAAKA,EAAiB,OACtB,MAAMC,GAAmBb,EAAAA,GAAAA,OAAMY,GAC/B,IAAI,MAAEJ,EAAK,OAAE9C,EAAM,IAAEoD,EAAG,eAAEC,GAAmBF,EAG7C,GAFKnD,IAAQA,EAAS,CAAC,GAEnBqD,GAAkBrD,EAAOqD,GAAiB,CAC7C,MAAMC,EAAQtD,EAAOqD,GAAgBE,MAAM,SAC3CvD,EAAOqD,GAAkBC,EAAM,GAC3BA,EAAMrR,OAAS,IAAGmR,EAAME,EAAM,GACnC,CAEA,IAAIpP,EAAM2O,GAAkB7C,EAAQ8C,GAIpC,OAHIM,IACHlP,EAAM,GAAGA,IAAMkP,KAETlP,GA+EKsP,GAA6BA,KACzC,MAAMC,EAd6BC,MACnC,MAAMC,GAAoBhO,EAAAA,EAAAA,KACzBiN,IACAjN,EAAAA,EAAAA,KAAIuL,OAAQ,sBAAuB,IACnC,CAAC,GAEF,OAAOvL,EAAAA,EAAAA,KACNiN,IACAjN,EAAAA,EAAAA,KAAIgO,EAAmB,oBAAqB,IAC5C,CAAC,IAKwBD,GAC1B,OAAO/N,EAAAA,EAAAA,KAAI8N,EAAmB,+BAAgC,CAAC,IAkB1DG,GAAuBC,IAC5B,MAAM,gBAAEX,GAAoBW,EAC5B,OACChN,EAAAA,EAAAA,SAAQqM,IACmB,iBAApBA,IACNA,EAAgBJ,QACjBjM,EAAAA,EAAAA,SAAQqM,EAAgBP,SArBMmB,EAACZ,EAAiBa,KACjD,IAAIlN,EAAAA,EAAAA,SAAQqM,KAAoBrM,EAAAA,EAAAA,SAAQkN,GAAuB,OAC/D,MAAM,MAAEjB,EAAK,OAAE9C,GAAWkD,GAClBJ,MAAOkB,EAAYhE,OAAQiE,GAAgBF,EACnD,SACCjB,GACAkB,GACAlB,IAAUkB,KACRnN,EAAAA,EAAAA,SAAQmJ,KAAWnJ,EAAAA,EAAAA,SAAQoN,KAC5BnN,EAAAA,EAAAA,SAAQkJ,EAAQiE,MAajBH,CAAwBZ,EAAiBA,EAAgBP,SAyBrDuB,GAA2CA,CAChDhB,EACAxD,EACAoD,EACAqB,EACAC,EACAC,KACI,IAAAC,EACJ,MAAMC,EAAOnQ,IAAA,GAAQ8O,aAAe,EAAfA,EAAiBlD,QAChCwE,GAAuB7O,EAAAA,EAAAA,KAC5BuL,OACA,kCACA,IAGAgC,EAAgBG,gBAChBkB,EAAQrB,EAAgBG,kBAExBkB,EAAQrB,EAAgBG,gBACvBkB,EAAQrB,EAAgBG,gBAAgBE,MAAM,SAAS,IAEzD,MACMkB,EAAW,GAAG3B,KADD9O,OAAO6J,KAAK0G,GAAStS,UAGlCyS,GAAa/O,EAAAA,EAAAA,KAAIwO,EAAkBM,EAAU,CAAC,GAC9ClE,GAAsB5K,EAAAA,EAAAA,KAAIyO,EAAyBK,EAAU,IAC7DjE,GAAkB7K,EAAAA,EAAAA,KAAI0O,EAA2BI,EAAU,IAEjE,IACC5N,EAAAA,EAAAA,SAAQ2N,KACR3N,EAAAA,EAAAA,SAAQqM,KACPrM,EAAAA,EAAAA,SAAQ6N,KACR7N,EAAAA,EAAAA,SAAQ0J,KACR1J,EAAAA,EAAAA,SAAQ2J,GAET,OAOD,IAAImE,EACAC,EACJ,MAAMC,EAA4BL,EAAqB,GAGvD,IAAK,MAAMM,KAAgBvE,EAAqB,CAC/C,MAAM,aAAEwE,GAAiBD,EAMzB,GALAH,EAA4BI,aAAY,EAAZA,EAAchN,KACxCiN,GACAA,EAAInF,oBACJgF,aAAyB,EAAzBA,EAA2BI,oBAEzBN,EAA2B,CAC9BC,EAAkBE,EAClB,KACD,CACD,CAGoD,IAAAI,EAA/CP,GAA8BC,IAClCD,EAA4BD,SAAwB,QAAdQ,EAAVR,EAAYK,oBAAY,IAAAG,OAAA,EAAxBA,EAA0BnN,KACpDiN,GACAA,EAAInF,oBACJgF,aAAyB,EAAzBA,EAA2BI,oBAEzBN,IAA2BC,EAAkBF,IAGlD,IAAKC,IAA8BC,EAClC,IAAK,MAAMO,KAAkB3E,EAAiB,CAC7C,MAAM,aAAEuE,GAAiBI,EAMzB,GALAR,EAA4BI,aAAY,EAAZA,EAAchN,KACxCiN,GACAA,EAAInF,oBACJgF,aAAyB,EAAzBA,EAA2BI,oBAEzBN,EAA2B,CAC9BC,EAAkBO,EAClB,KACD,CACD,CAGD,IAAKR,EAA2B,OAOhC,OALiBC,EAAgB5E,OAAOoF,KACtCC,GACAd,EAAQc,MAAWR,aAAyB,EAAzBA,EAA2BS,WAAWD,UAG3D,GAGCnC,SAAwB,QAAToB,EAAfpB,EAAiBzD,eAAO,IAAA6E,OAAA,EAAxBA,EAA0B5E,QAASA,IACnCwD,aAAe,EAAfA,EAAiBJ,SAAUA,EAEpB6B,EAA0B9E,sBAJlC,GAiBK0F,GAA8BA,CAAC3D,EAAUY,KAC9CD,GAA6CX,EAAUY,GD1QMgD,EAC7D5D,EACAY,EACAiD,KACI,IAAAC,EAAAC,EACJ,MAAMC,EAAmBpD,SAAAA,EAAcG,OACpC8C,EAAejD,EAAaG,QAC5BH,EAAaqD,UACVC,GACC,QAANJ,EAAAxE,cAAM,IAAAwE,GAAY,QAAZA,EAANA,EAAQ1H,kBAAU,IAAA0H,OAAA,EAAlBA,EAAoD,gCAAK,CAAC,EAErDK,EAAiB/R,OAAOgS,OAAOF,GAA6B/N,KACjEkO,IAAA,IAAC,qBAAEC,GAAsBD,EAAA,OAAKC,IAAyBN,IAGlDO,EAA8B/R,IAAA,GAChC2R,EAAc,CACjBG,qBAAsBH,EACnBA,EAAeG,qBACf,KACHE,SAAUL,EAAiBA,EAAeK,SAAW,KACrDC,kBAA+C,QAA9BV,EAAEnD,EAAa8D,uBAAe,IAAAX,EAAAA,EAAI,OAGpD/D,EAASxC,GAAgC,CACxCmH,gBAAiBX,EACjBlD,kBAAmBF,EAAaG,OAChC6D,WAAYhE,EACZsD,4BAA6BK,KC+O9BX,CACC5D,EACAY,EACAS,KAIIwD,GAAuCA,CAC5C1B,EACA2B,EACAC,EACAC,KAEA,GAAIF,EACH,IAAK,IAAIvU,EAAI,EAAGA,EAAI4S,EAAa9S,OAAQE,IAAK,CAC7C,IAAIyD,EAAMmP,EAAa5S,GACvB,IAA6D,IAAzDyU,EAAoBhR,aAAG,EAAHA,EAAKiR,gBAAiBH,GAAqB,CAClEC,EAAMvS,IAAA,GACFuS,EAAM,CACTlE,cAAe7M,aAAG,EAAHA,EAAK6M,cACpB6D,gBAAiB1Q,aAAG,EAAHA,EAAK0Q,kBAEvB,KACD,CACD,CAED,OAAOK,GCjUR,IAAIG,GAA2B,EAC3BC,GAAqC,KAYlC,MAAMC,GAA+BA,KACtCjQ,EAAAA,EAAAA,OAAMgQ,KAGXA,GAAqC/S,OAAO4J,OAAO,CAClDqJ,qBAAAA,CAAsBC,IACjBlQ,EAAAA,EAAAA,UAASkQ,KACZJ,GAA2BI,EAE7B,EACAC,sBAAqBA,IACbL,KAIFC,IAbCA,GCPT,IAAIK,GAAyB,KAMzBC,GAA+B,KAC5B,MAAMC,GAAuCA,KAC9CvQ,EAAAA,EAAAA,OAAMsQ,KAGXA,GAA+BrT,OAAO4J,OAAO,CAC5C2J,yBAAAA,CAA0BC,GACzBJ,GAAyBI,GAAkB,IAC5C,EACAC,0BAAyBA,MACpB1Q,EAAAA,EAAAA,OAAMqQ,MACTA,IAAyBzR,EAAAA,EAAAA,MACxByD,EAAAA,EAAAA,aAAY4E,WACZ,WACA,KAGKoJ,MAIFC,IAlBCA,GCFIK,GAAY,eAQzB,SAASC,GAAoBC,GAC5B,MAAMC,EAAOD,EAAS3V,OAAS,EAC/B,MAAoC,MAA7B2V,EAASE,UAAUD,GACvBD,EAASE,UAAU,EAAGD,GACtBD,CACJ,CAEA,SAASG,GAAiBH,GACzB,MAAoC,MAA7BA,EAASE,UAAU,EAAG,GAAaF,EAASE,UAAU,GAAKF,CACnE,CAEA,SAASI,GAAYJ,GACpB,OAAOD,GAAoBI,GAAiBH,GAC7C,CAOO,MAAMK,GAAWC,GACnBA,IAAgBC,EAAwCD,GACrDhQ,EAAAA,EAAAA,WAAUgQ,GAGLE,GAA6CA,CACzDlF,EACAmF,KAEA,MACCxE,YAAc,CAACsE,IAAiCG,GAAmB,CAAC,GACjED,EACExC,EAAY5C,GAAaC,GAE/B,OADgCvN,EAAAA,EAAAA,KAAI2S,EAAgBzC,IAUrD,SAAS0C,GAAYC,GAEpB,IAAKA,EAAKC,QAAQ,KAEjB,MAAO,GAAGD,IAEX,MAAME,EAAYF,EAAKjF,MAAM,KACvBqE,EAAWI,IAAYtO,EAAAA,EAAAA,eAAckO,UAE3C,GAAqB,MAAjBc,EAAU,GAEb,MAAO,IAAId,KAAYc,EAAUC,MAAM,GAAGzW,KAAK,OAChD,GAAqB,OAAjBwW,EAAU,GAAa,CAE1B,MAAME,EAAKF,EAAUpQ,OAAO,CAACuQ,EAAKC,KACpB,OAATA,GAAeD,IAEZA,GACL,GAEH,OAAOD,GAAMhB,EAASrE,MAAM,KAAKtR,OAC9B,IACA,IAAI2V,EACHrE,MAAM,KACNoF,MAAM,EAAGC,EAAK,GACd1W,KAAK,QAAQwW,EAAUC,MAAMC,GAAI1W,KAAK,MAC3C,CAEA,MAAO,IAAI0V,KAAYc,EAAUxW,KAAK,MACvC,CAEA,SAASY,GAAK0V,GACb,MAAMO,GAAkBpT,EAAAA,EAAAA,MAAIyD,EAAAA,EAAAA,aAAY4P,QAAQC,MAAO,WAAY,GAC7DC,EAAyBlC,MAE/B5N,EAAAA,EAAAA,aAAY4P,QAAQG,UAAU,CAAEjC,SAAU6B,EAAkB,GAAK,GAAIP,GAGrEU,SAAAA,EAAwBjC,sBAAsB8B,EAAkB,EACjE,CAEA,SAASK,GAAUC,IAClB3P,EAAAA,EAAAA,eAAc8O,KAAOD,GAAYc,EAClC,CAyBO,SAASC,GAAQd,GACvB,MAAMO,GAAkBpT,EAAAA,EAAAA,MAAIyD,EAAAA,EAAAA,aAAY4P,QAAQC,MAAO,WAAY,GAC7DC,EAAyBlC,MAE/B5N,EAAAA,EAAAA,aAAY4P,QAAQO,aAAa,CAAErC,SAAU6B,GAAmB,GAAIP,GAGpEU,SAAAA,EAAwBjC,sBAAsB8B,EAC/C,CAEO,SAASS,GACfH,EACAI,EACAC,EACAC,GAEC,IADDC,EAAqBrV,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,IAAAA,UAAA,GAEjBoV,EACHP,GAAUC,IAGXvW,GAAKyV,GAAYc,KAEa,IAA1BO,IACHrP,EAAAA,EAAAA,cAAa8O,EAAKI,EAAOC,GAC3B,CAEO,SAASG,KACf,MAAQjC,SAAUkC,EAAc,KAAOpQ,EAAAA,EAAAA,eACjCqQ,EAAyBD,EAhJRR,QAAQ,OAAQ,KAkJvC,OADIQ,IAAgBC,GAAWT,GAAQS,GAChCA,CACR,CAEO,SAASC,KACf,MAAMD,EAAYF,KACZI,EAuCA,WACN,IAAKC,GAAU,CACd,MAAMD,EAAOE,SAASC,cAAc,QACpC,GAAIH,EAAM,CAET,MAAMrC,EA1JT,SAAqByB,GACpB,MAAMgB,EAASF,SAASzT,cAAc,KAEtC,OADA2T,EAAO7B,KAAOa,GACNgB,EAAOzC,UAAYyB,GAAKC,QAAQ,SAAU,IACnD,CAsJoBgB,CAChBL,EAAKM,aAAa7C,KAAcuC,EAAKzB,MAEtC0B,GAAWtC,EAAWD,GAAoBC,GAAY,EACvD,MAAOsC,GAAW,EACnB,CAEA,OAAOA,EACR,CApDcM,GAEb,GACe,KAAdT,GACc,MAAdA,GACAA,IAAcE,GACdF,IAAcE,EAAO,IACpB,CAIDX,GAAQW,GAHMxQ,KACX,IAAMuO,GAAYvO,MAClB,IAEJ,MAAwC,IAA7BsQ,EAAUtB,QAAQwB,KAC5BQ,QAAQC,MAAM,6CACdD,QAAQE,IAAI,0CAA2CV,GACvDQ,QAAQE,IAAI,qBAAsBZ,GAClCU,QAAQG,WAEV,CASO,SAASC,GAAYxB,EAAKI,EAAOC,EAAgBC,GAClDN,GAAqB,iBAAPA,IACnBC,GAAQf,GAAYc,IAChBM,EACHP,GAAUC,IAIX9O,EAAAA,EAAAA,cAAa8O,EAAKI,EAAOC,GAC1B,CAEA,IAAIQ,GAAW,KAgBR,MAAMY,GAA0BA,CAACzF,EAAOtP,EAAOsN,EAAgBD,IACjEiC,IAAUhC,MAEVD,GAAO,MAEPrN,EAAM0S,QAAQ,UAAY,IAIlBsC,GAAqB1L,IACjC,IAAKA,IAAiBA,EAAaoB,uBAAwB,OAC3D,IACCuK,QACCtL,MAAM,IAAE2J,MAEN1P,EAAAA,EAAAA,uBAAsB,UAC1B,GAAK0P,EAAL,CAEA,IAAK,IAAI3J,KAAQ1L,OAAO6J,KAAKwB,EAAaoB,wBACzC,GAAsC,IAAlC,GAAG4I,KAAOZ,QAAQ,GAAG/I,MAAgB,OAAOA,EAEjD,OAAO,IALS,GAQJuL,GAAcC,IAC1B,MAAM,KAAExL,EAAI,eAAEgK,GAAmBwB,EACjC,OAAOxL,EAAO,CAAEA,OAAMgK,kBAAmB,MAG7ByB,GAAiBA,CAACrI,EAAOsI,KACrC,MAAMC,GAAqBtR,EAAAA,EAAAA,yBAC3B,YAAqBtH,IAAjB2Y,GACIpT,EAAAA,EAAAA,KAAIqT,EAAoB,CAACvI,EAAOsI,KAGjCpT,EAAAA,EAAAA,KAAIqT,EAAoBvI,IAmBzB,MAAMwI,GAAuBA,KACnC,MAAMC,EAAQrK,OAAOsK,SAASC,OAC9B,OAAOF,GACH,QAAQG,KAAKH,GAASA,EAAM5C,MAAM,GAAK4C,GACvChI,MAAM,KACNjL,OAAO,CAAC0S,EAAQW,KAChB,IAAKzX,EAAK6B,GAAS4V,EAAMpI,MAAM,KAI/B,OAHAyH,EAAO9W,GAAO6B,GACXgD,EAAAA,EAAAA,WAAUhD,EAAMuT,QAAQ,MAAO,MAC/B,GACI0B,GACL,CAAC,GACJ,CAAC,GAIQY,GAEY,yBAFZA,GAGI,iBAEJC,GACY,yBADZA,GAEH,UAoCGC,GAAuB,WAAc,IAAbzC,EAAG9U,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GAC1C,MAAM,eAAE0N,EAAiB,IAAOf,OAAOc,SAGvC,MAAO,gCArC4B+J,MACnC,MAAM9N,GAAWtI,EAAAA,EAAAA,KAAIuL,OAAQ,sBAAuB,IAWpD,MAvB2C,qCAajBvL,EAAAA,EAAAA,KACzBuL,OACA,CAAC,aAAc,oBAAqBjD,GACpC,CAAC,GAIiB+N,WACfJ,GACAA,IAwBkBG,qBApBSE,MAC/B,MAAMC,GAAsBvW,EAAAA,EAAAA,KAAIuL,OAAQ,uBAClCwI,GAAiB/T,EAAAA,EAAAA,KAAIuL,OAAQ,CAClC,aACA,oBACAgL,EACA,mBAGD,OAAIxC,IAAmB,kBAAkBgC,KAAKhC,GACtCA,EAEyD,UAAxC/T,EAAAA,EAAAA,KAAIuL,OAAQ,wBAElC2K,GACAA,IAMmBI,sBACkFhK,mBAAgCoH,GACzI,EAWM8C,GAAuBA,CAACzM,EAAMoD,EAAO9C,EAAQgL,KAAW,IAAAoB,EAC7D,MAAMC,GAAa9T,EAAAA,EAAAA,MAAKyH,IAEhBA,OAAQsM,EAAgB,GAAE,mBAAExM,IAEzB,QAAVsM,EAAApO,kBAAU,IAAAoO,GAAyB,QAAzBA,EAAVA,EAAYrK,kBAAkBrC,UAAK,IAAA0M,GAAuB,QAAvBA,EAAnCA,EAAqCG,6BAAqB,IAAAH,GAEzD,QAFyDA,EAA1DA,EAA4DzM,OAC3DmD,UACA,IAAAsJ,OAAA,EAFDA,EAEGrU,KAAMrE,IAAC,IAAA8Y,EAAA,OAAK9Y,SAAS,QAAR8Y,EAAD9Y,EAAGsM,cAAM,IAAAwM,OAAA,EAATA,EAAWva,UAAWoa,MAAe,CAAC,EAEhDI,GAAanU,EAAAA,EAAAA,QAClBgU,EACA,CAACzD,EAAKxD,IACGwD,EAAO,KAAKxD,IAErB,IAGD,IAAIqH,EAAa,GAWjB,OAVI5M,IAAsBvH,EAAAA,EAAAA,MAAKyS,KAC9B0B,IAAcpU,EAAAA,EAAAA,QACbwH,EACA,CAAC+I,EAAK8C,IACG9C,EAAO,KAAK8C,IAErB,YAIK,IAAI7I,IAAQ2J,IAAaC,KAGpBC,GAAuBzJ,IACnC,MACCzD,SAAS,KAAEC,GAAM,MACjBoD,EAAK,OACL9C,EAAM,OACNgL,EAAM,OACNrI,GACGO,EACJ,IAAI0J,EAAkB,GACtB,GAAIjK,IAAUpK,EAAAA,EAAAA,MAAKoK,GAAS,CAC3B,MAAM,MAAEG,EAAK,OAAE9C,EAAM,OAAEgL,GAAWrI,EAClCiK,EAAkBT,GAAqBzM,EAAMoD,EAAO9C,EAAQgL,EAC7D,CAGA,MAAO,IAAItL,IACVkN,EAAkB,GAAGA,QAAwB,KAHxBT,GAAqBzM,EAAMoD,EAAO9C,EAAQgL,MCnY1D,MAAM6B,GAAe,MAC3B,MAAMC,GAAYnX,EAAAA,EAAAA,KAAIuL,OAAQ,yBAAyB,GACvD,OACe,IAAd4L,GACsB,iBAAdA,GAAsD,SAA5BA,EAAUC,aAE7C,EAN2B,GAQfC,GAAkB,MAC9B,IAAIC,GAAiBtX,EAAAA,EAAAA,KAAIuL,OAAQ,8BAA+B,MAEhE,IAAK+L,EAAgB,CACpB,MAAMhM,GAAWtL,EAAAA,EAAAA,KAChBuL,OACA,sBACA,MAEK1B,GAAc/F,EAAAA,EAAAA,gBAAewH,GAEnCgM,EAAiBhM,GAAYzB,EAC1B,IAAIyB,KAAYzB,IAChB,EACJ,CACA,OAAOyN,CACP,EAhB8B,GCGlBC,GAA+BC,IAC3C,IAAKA,EAAY,MAAO,GAExB,MACCrK,MAAOsK,EACPpN,OAAQqN,EAAa,OACrBrC,EAAM,eACN3H,EAAc,sBACdiK,EAAqB,OACrB7B,EAAS,IACN0B,EAEE/B,EACLiC,GAAiBE,MAAMC,QAAQxZ,OAAO6J,KAAKwP,IACxCrZ,OAAO6J,KAAKwP,GAAepb,OAC3B,EAEEwb,EFgO8BC,EAAC5K,EAAOsI,KAC5C,MAAMC,GAAqB7R,EAAAA,EAAAA,gCAC3B,OAAOxB,EAAAA,EAAAA,KAAIqT,EAAoB,CAACvI,EAAOsI,KElORsC,CAC9BN,EACAhC,GAEKuC,EAAkBxC,GAAeiC,GACjCQ,EFgOuCC,EAAC/K,EAAOsI,KACrD,MAAMC,GAAqB/R,EAAAA,EAAAA,yCAC3B,OAAOtB,EAAAA,EAAAA,KAAIqT,EAAoB,CAACvI,EAAOsI,KElONyC,CAChCT,EACAhC,GAID,GACCyB,KACCc,IACAF,IACAG,EAED,MAAO,GAER,MAAME,EAAUV,EAEhB,IAAI/D,EAAM,IAAIyE,IAEd,MAAMC,EAA0C5C,GAC/CiC,EACAhC,GAGD,IAAIpL,EAAQgO,IAERhO,SAAQgL,OAAQgD,GADhBP,GACqClU,EAAAA,EAAAA,iBACvCuU,EACA1C,IAGA2C,GACDH,GAEwCvU,EAAAA,EAAAA,0BACvCyU,EACA1C,IAGuCvR,EAAAA,EAAAA,UACvCiU,EACA1C,IAGF,IAAK,IAAIjZ,EAAI,EAAGA,EAAIiZ,EAAcjZ,IAAK,CACtC,IAAI8b,EAAMZ,EAAcrN,EAAO7N,IACnB,KAAR8b,SAAcA,IACjBA,ET4DkC,iBS1DlCnD,GACC9K,EAAO7N,GACPkb,EAAcrN,EAAO7N,IACrBkR,EACA8J,EAAW/J,KAGZiG,GAAO,KAAInQ,EAAAA,EAAAA,WACVmU,EAAcrN,EAAO7N,IAAM,QAAUgb,EAAW/J,OAE7CiG,GAAO,KAAInQ,EAAAA,EAAAA,WAAU+U,IAC3B,CAEA,MAAMC,GAAiB/U,EAAAA,EAAAA,mBAAkB6R,EAAQgD,GAC3CG,GAAetX,EAAAA,EAAAA,SAAQyW,GAC1BY,EAAc9Z,IAAA,GAEX8Z,EACA,CAAE,CAACxT,GAAwB4S,IAGjC,OAAKa,EAEE9E,EAAM+E,GAAiBD,GAAgB1C,EAFpBpC,EAAMoC,GAU3B2C,GAAoBpD,IACrBnU,EAAAA,EAAAA,SAAQmU,GAAgB,GAExBlK,KAEF,IACA9M,OAAO6J,KAAKmN,GAAQ1S,OAAO,CAACtF,EAAQkB,EAAK/B,IAEjC,GAAGa,IADQ,IAANb,EAAU,GAAK,OACF+G,EAAAA,EAAAA,WACxB+O,GAAQ/T,QACJgF,EAAAA,EAAAA,WAAU8R,EAAO9W,MACpB,IAKJ,UACAF,OAAO6J,KAAKmN,GAAQ1S,OAAO,CAACtF,EAAQkB,IAC5B,GAAGlB,MAAUkG,EAAAA,EAAAA,WACnB+O,GAAQ/T,QACJgF,EAAAA,EAAAA,WAAU8R,EAAO9W,MACpB,IASCma,GAA6BnL,IAClC,IAAKA,EAAiB,OAAO,KAE7B,IAAIoL,EAAa,GACjB,MAAMC,GAAc5Y,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MACrDqL,IACHD,EAAa,IAAIC,KAGlB,MAAMC,EAAUtB,GAA4BhK,GAE5C,IAAIuL,EAAcvL,EAAgBP,OAClC,KAAO8L,GAAeA,EAAY9L,QACjC8L,EAAcA,EAAY9L,OAG3B,IAAK8L,EAAa,OAAOH,EAAa,GAAGA,IAAaE,IAAYA,EAElE,MAAME,EAAUxB,GAA4BuB,GAE5C,IAAKC,EAAS,OAAOF,EACrB,MAAM/C,EAASvI,EAAgBuI,QAAU,GAEzC,OAAO6C,EACJ,GAAGA,IAAaI,QAAqBF,IAAU/C,IAC/C,GAAGiD,QAAqBF,IAAU/C,KC7JhCkD,GAAmCA,CAAClP,EAASmP,EAAqBlP,KACvE,MAAM1M,GAAS8G,EAAAA,EAAAA,2BAA0B2F,EAASC,GAGlD,OAFc,MAAV1M,GALJ6X,GADYwD,GAOQO,IACb5b,GCxBR,MAAM,GAFEgD,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAY2Y,EAAuF3b,SAAW2b,EAAuF5b,WAC3M,OAAIiD,EACI2Y,EAAgG,SAAKA,EAAgG,QAAW,QAAIA,EAAgG,QAAW,QAAIA,EAAgG,QACha3Y,EACH2Y,EAAgG,QAAW,QAE3GA,EAAgG,QAAKA,EAAgG,QAAW,QAAIA,EAAgG,QAAW,QAAIA,EAAgG,QAAKA,GAG9a,mBAAwB,KAC1B,MAAM3Y,EAAY2Y,EAAuF3b,SAAW2b,EAAuF5b,WAGpM,OAAIiD,EACH2Y,EAAgG,QAAEC,mBAInGD,EAAuFC,oBAAsBD,EAAgG,SAAKA,EAAgG,QAAEC,oBACzT,aAAkB,KACpB,MAAM5Y,EAAY2Y,EAAuF3b,SAAW2b,EAAuF5b,WAGpM,OAAIiD,EACH2Y,EAAgG,QAAEE,aAInGF,EAAuFE,cAAgBF,EAAgG,SAAKA,EAAgG,QAAEE,cACnT,gCAAqC,KACvC,MAAM7Y,EAAY2Y,EAAuF3b,SAAW2b,EAAuF5b,WAGpM,OAAIiD,EACH2Y,EAAgG,QAAEG,gCAInGH,EAAuFG,iCAAmCH,EAAgG,SAAKA,EAAgG,QAAEG,iCACtU,8BAAmC,KACrC,MAAM9Y,EAAY2Y,EAAuF3b,SAAW2b,EAAuF5b,WAGpM,OAAIiD,EACH2Y,EAAgG,QAAEI,8BAInGJ,EAAuFI,+BAAiCJ,EAAgG,SAAKA,EAAgG,QAAEI,iCC9C9TC,GAA2B,+BAG3BC,GAAwB,4BACxBC,GACZ,wDCkCM,MAAMC,GAA4BA,CAACnM,EAAiBmG,KAC1D,MAAM,MACLI,EAAK,MACL3G,EACArD,SAAS,KAAEC,GAAM,OACjBM,GACGkD,EACEnB,GAAoBpM,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,IACjE,aAAEgB,EAAY,eAAEwH,EAAc,WAAEsC,EAAU,iBAAEsD,GACjDvN,EAAkBrC,GACb6P,EAAcrO,OAAOiJ,SAASC,cAAc,0BAE7ClJ,OAAOsO,iBAAgBtO,OAAOsO,eAAiB,CAAC,GAxB/C,WAA4B,IAAAC,EAClC,MAAMC,GACgB,QAArBD,EAAAvO,OAAOsO,sBAAc,IAAAC,GAAS,QAATA,EAArBA,EAAuBE,eAAO,IAAAF,OAAA,EAA9BA,EAAgCG,wBAChCpY,EAAAA,EAAAA,uBACD0J,OAAOsO,eAAeK,iBAAmBH,CAE1C,CAoBCI,IACAzY,EAAAA,EAAAA,gBAAe,cAA+B,OAAhBkY,IAC9BlY,EAAAA,EAAAA,gBAAe,UAAU,GAEzB,MAAM0Y,GAAqBpY,EAAAA,EAAAA,kBAErBqY,EAAsB,CAC3B,CAACd,IAA2B,EAC5B,CAACC,IAAwB,EACzB,CAACC,IAAwD,EACzDa,cAAe,EACfC,SAAU,EACV,CAACjT,IAAmB,EACpB,CAACC,IAAgB,EACjB,CAACE,IAA6B,EAC9B,CAACC,IAA6B,EAC9B,CAACE,IAA6B,EAC9B,CAACC,IAA2B,EAC5B,CAACF,IAA2C,EAC5C,CAACG,IAA0B,GAG5BzJ,OAAO6J,KAAKmS,GAAqBG,QAASC,IACpCL,EAAmBK,KACvB3Y,EAAAA,EAAAA,cAAa2Y,EAAYJ,EAAoBI,OAI/C9Y,EAAAA,EAAAA,SAAQ+R,EAAK,CACZkC,MAAOD,KACPxI,MAAO6J,GAAoBzJ,GAC3BuG,MAAOA,EACP4G,KAAMvN,EACNkI,OAAM5W,IAAA,GAAO4L,KAGd,IAAIsQ,EAAU,CACbC,YAAa,iBACbC,UAAW,uBACX9G,iBACAxH,eACA8J,aACAsD,qBAEDlY,EAAAA,EAAAA,gBAAe,cAAe,QAASkZ,ICnGxC,IAAIG,GAAY,ECOhB,MAAMC,GAAa,CAClBzT,iBAAgB,GAChBC,cAAaA,IAGDyT,GAAoB,GAU3BC,GAAoBA,CAACC,EAAMC,EAAQ5N,EAAiB6N,KACzD,IAAKA,EACJ,OAAO,EAGR,MAAM,KAAEC,EAAI,KAAEC,GAASH,GACjB,QAAErR,EAAU,CAAC,GAAMyD,EACzB,KAAM,SAAUzD,MAAcsR,KAAaL,IAC1C,OAAO,EAER,MAAM,KAAEhR,GAASD,EAEXsC,GAAoBpM,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,IACjE,aAAEgB,EAAY,eAAEwH,EAAc,WAAEsC,EAAU,iBAAEsD,GACjDvN,EAAkBrC,GAKnB,GAAIqR,IAAc9T,GAAkB,CACnC,IAAIqT,EAAU,CACbC,YAAa,iBACbC,UAAW,uBACX9G,eAAgBjK,EAAQiK,eACxBxH,eACA8J,aACAsD,oBAID,IAFAlY,EAAAA,EAAAA,gBAAe,cAAe,QAASkZ,IAElCK,WAAAA,GAAmBhc,SAAS+K,MAChCiR,UAAAA,GAAmB7d,KAAK4M,GACpBuR,IAAS/U,IACZ,OAAO,CAGV,CAEA,MAAMmN,EAAMgF,GAA0BnL,IACtCtL,EAAAA,EAAAA,MACCiZ,GACAnZ,EAAAA,EAAAA,kBAAiBsZ,GACjBD,EACA,CACCC,KAAM,CACLE,qBAAsBhP,EACtBiP,uBAAwBzH,EACxB0H,SAAUH,IAAS/U,GACnBgH,kBACAmG,MACAgI,UACC,cAAenO,EACZA,EAAgBmO,UAChB3H,IAGN,UCjFK,SAAS4H,GAAcjB,GAAyB,IAAAkB,EAAA7L,EAAA,IAAnB8L,EAAYjd,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GAClD,OAAmD,QAAnDgd,EAAa,QAAb7L,EAAOxE,cAAM,IAAAwE,GAAY,QAAZA,EAANA,EAAQ1H,kBAAU,IAAA0H,GAAQ,QAARA,EAAlBA,EAAoB+L,cAAM,IAAA/L,GAAU,QAAVA,EAA1BA,EAA4BgM,gBAAQ,IAAAhM,OAAA,EAApCA,EAAuC2K,UAAK,IAAAkB,EAAAA,EAAIC,CACxD,CAEO,SAASG,GAAkB7O,GAAO,IAAA8O,EACxC,OAAK9O,EACa,QAAb8O,EAAO1Q,cAAM,IAAA0Q,GAAY,QAAZA,EAANA,EAAQ5T,kBAAU,IAAA4T,GAAmB,QAAnBA,EAAlBA,EAAoB7P,yBAAiB,IAAA6P,GAAS,QAATA,EAArCA,EAAwC9O,UAAM,IAAA8O,OAAA,EAA9CA,EAAgDC,eADzC,IAEpB,CCPO,MAAMC,GAAe,UACfC,GAA4B,uBAe5BC,GAAkB,WAA4B,IAA3B9O,EAAe3O,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,KACjD,IAAK2O,IAAoBA,EAAgB+O,YACxC,MAdgCC,MACjC,MAAMC,GAAapZ,EAAAA,EAAAA,WAAUmI,OAAOsK,SAAShD,MACvCa,EAAM,IAAI+I,IAAID,GACpB,OAAO9I,EAAIgJ,aAAara,IAAI+Z,KACxB1I,EAAIgJ,aAAa1c,IAAI,UAAYmc,IAU7BI,GAER,MAAM,YAAED,GAAgB/O,EAIxB,OAAI6O,MAA6BE,IAG7BA,aAAW,EAAXA,EAAaK,QAASR,EAI3B,E,8CCsCM,mCACLS,GAAkC,0CAClCC,IACG9Z,EAAAA,yBAEE,uBACL+Z,GAAsB,uBACtBC,GAAsB,2BACtBC,IACGvc,EAAAA,YAEEwc,GAEL,SADAtB,GAAc,+CAAgD,SAGzDuB,GAAsBb,KAO5B,IAAIc,IAA0B,EAEvB,MAAMC,GAA0BA,CAACrT,EAAMmE,EAAYlC,KAAqB,IAAAqR,EAAAC,GAG7EvT,IACAmE,aAAU,EAAVA,EAAYqP,oBAAqBxT,KACjCxF,EAAAA,EAAAA,uBACCwF,EACAmE,SAAwB,QAAdmP,EAAVnP,EAAYxE,oBAAY,IAAA2T,OAAA,EAAxBA,EAA0BvS,yBAE1BoD,SAA+B,QAArBoP,EAAVpP,EAAYsP,2BAAmB,IAAAF,GAAmB,QAAnBA,EAA/BA,EAAiCG,yBAAiB,IAAAH,GAAlDA,EAAoDI,kBAErD1R,EAAiB,CAAEuR,kBAAmBxT,KAG3B4T,GAAchS,MAAA2E,EAE1BsN,KACI,IAFJ,KAAE1C,EAAI,OAAEC,EAAM,SAAElP,EAAQ,WAAEiC,EAAU,iBAAElC,GAAkBsE,EAGxD,MAAQ/C,gBAAiB0L,GAAwB/K,GAC3C,0BAAE2P,GAA4B,GAAU3C,EAAK4C,wBAC7CpU,EAAe0B,KACf2S,EAAU3I,GAAkB1L,GAC5B6J,EAAyBlC,KAsCxB,IAAA2M,EAnCP,GXEM,WACN,MAAMC,EAAuBtM,KACvBE,GACLoM,aAAoB,EAApBA,EAAsBnM,8BAA+B,GACxB,IAAAoM,EAA9B,QAAKhd,EAAAA,EAAAA,SAAQ2Q,KACL7R,EAAAA,EAAAA,KACgB,QADbke,GACTza,EAAAA,EAAAA,aAAY4E,kBAAU,IAAA6V,GAAmC,QAAnCA,EAAtBA,EAAwB9R,kBAAkByF,UAAe,IAAAqM,OAAA,EAAzDA,EACGhC,eACH,sCACA,EAKH,CWfEiC,IACAN,EAEA,IAAgC,IAA5BV,IACH,IACE5R,OAAO6S,SACPpgB,EAAAA,EAAAA,GAAE,sDAEF,KAAAqgB,EACDT,EAAMU,iBAoBN,QAZoBV,SAAY,QAAPS,EAALT,EAAOtK,aAAK,IAAA+K,OAAA,EAAZA,EAAc9M,WAAY,KACpBnQ,EAAAA,EAAAA,OAAMmS,GAE7B,EADAA,aAAsB,EAAtBA,EAAwB/B,yBAI1BjG,OAAO8H,QAAQkL,GAAG,GAGlBhT,OAAO8H,QAAQkL,IAAI,QAEpBpB,IAA0B,EAE3B,OAEAA,IAA0B,OAK3B5J,EAAuBjC,uBACtBsM,SAAY,QAAPI,EAALJ,EAAOtK,aAAK,IAAA0K,OAAA,EAAZA,EAAczM,WAAY,GAI5B,MAAMxH,GAAO/J,EAAAA,EAAAA,KAAIiZ,EAAqB,oBAAgBnc,GAEtD,IAAIgN,EACA0U,EACAC,EAHJrB,GAAwBW,EAAS7P,EAAYlC,GAIzCjC,IAASgU,IAEXU,EADGV,KAAYzZ,EAAAA,EAAAA,6BAA4ByZ,SAEpCrS,GACLqS,EACArU,EACAsC,EACAC,GAGqBvC,EAExB8U,EAAoBT,EACjBU,EAAqB3T,uBAAuBiT,GAC5CU,EACH3U,EAAUwL,GAAWkJ,GACrBhU,GAAWgU,GACPT,IACHzE,EAAAA,GAAAA,+BAA8ByE,IAGhC,MAAMxQ,EAAkByL,GAAiClP,GACzD,GAAIyD,EAAiB,EACpBtL,EAAAA,EAAAA,MAAKiZ,GAAMnZ,EAAAA,EAAAA,kBAAiBoZ,EAAOE,MAAO3T,GAA0BjJ,IAAA,GAChE8O,IAGJvB,EAAiB,CAChBuB,gBAAe9O,IAAA,GAAO8O,EAAiB,CAAAmR,WAAW,MAGnD,MAAM,sBAAE/G,GAA0BpK,EAC5B2C,EAAY5C,GAAaC,GAC/BtB,EAAS4Q,GAA2C,CACnD3M,YACAyH,yBAEF,GAGM,SAASgH,GAAuBzD,EAAM0D,GAC5C,MAAO,MACN3c,EAAAA,EAAAA,MAAKiZ,EAAM,GAAI0D,GAEjB,CA0BO,MAAMF,GAAY,SACxBnR,EACAmF,GAGI,IAAAmM,EAAA,IAFJ5K,EAAqBrV,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,IAAAA,UAAA,GACrBkgB,EAA2BlgB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,IAAAA,UAAA,GAE3B,MAAM+Y,EAAwBlF,GAC7BlF,EACAmF,GAEKqM,EAA2BtgB,IAAA,GAC7B8O,EACA,CAAEoK,0BAGAjE,EAAMgF,GAA0BqG,GAEhCjL,EAA6B,QAAxB+K,EAAGtR,EAAgBuG,aAAK,IAAA+K,EAAAA,EAAI/a,MAEjC,KAAEoX,EAAI,OAAEC,GAAWzI,EACzB,GAAW,MAAPgB,GAAuB,KAARA,EAAY,OAE/B,MAAMK,GAAiB/T,EAAAA,EAAAA,KAAIuN,EAAiB,yBAA0B,IAChEyK,EAAkBxC,GAAejI,EAAgBJ,OAEvD,IAEC,KADAnN,EAAAA,EAAAA,KAAIuN,EAAiB,sCAAsC,GAE1D,CACD,MAAM,kBAAEkQ,GAAsBlQ,EAE9B,WX+EqByR,EAACtL,EAAKiH,KAC5B,MAAM,gBAAEsE,EAAe,cAAEC,GAAkBvE,EAC3C,GAAIsE,EAAiBA,EAAgBpJ,SAAShD,KAAOa,MAChD,CACJ,MAAM,OAAEyL,EAAS,SAAQ,eAAEC,EAAiB,IAAOF,GAAiB,CAAC,EACrE3T,OAAO8T,KAAK3L,EAAKyL,EAAQC,EAC1B,GWtFCJ,CAAQtL,EAAK+J,EAEd,CAGKvG,IAAiBc,GACrBnE,GAAYH,EAAKI,EAAOC,GAAgB,EAAME,GAE/C,MAAMqL,EAAoB7gB,IAAA,GAAQ8O,GAClC+R,EAAqB5D,UAAYnQ,OAAOiJ,SAASV,MAAMlG,MAAM,UAAU,GACvEqN,GAAkBC,EAAMC,EAAQmE,EAAsB/X,IACtD,IAAIwS,GAAgBhY,EAAAA,EAAAA,kBAAiBoZ,EAAOE,MACxCyD,IAIH/E,GAAgBlY,EAAAA,EAAAA,uBAChB0J,OAAOsO,eAAeK,iBAAmBH,GACzC9X,EAAAA,EAAAA,MAAKiZ,EAAMnB,EAAejS,GAAuBrJ,IAAA,GAC7C8O,EAAe,CAClB2C,UAAW5C,GAAaC,GACxBmG,IAAK,GAAGnI,OAAOsK,SAAS0J,SAAS7L,SAInCzR,EAAAA,EAAAA,MAAKiZ,EAAMnB,EAAe,WAAY,CAAEyF,SAAU9L,IAElD,MAAM,OAAE+L,GAAWlS,GAElB8H,QACCtL,MAAM,KAAEuR,GAAM,OACdxF,KAEE9R,EAAAA,EAAAA,uBAAsB,WACtB0P,GAAO,IAAM4H,GAAQnQ,KAAuB2K,EAAS,KAEpDvI,EAAgBuG,OAAUwL,EAAqB5D,WAClD5H,IAASlP,EAAAA,EAAAA,cAAa8O,EAAKI,EAAOC,GACzBxG,EAAgBmS,SAC1BxK,GAAYxB,EAAKI,EAAOC,EAAgB0L,GAExC5L,GAAYH,EAAKI,EAAOC,EAAgB0L,EAAQxL,GAIjD1I,OAAOoU,mBAAqBxJ,GAAqBzC,EAClD,EAQakM,GAA8BjU,MAC1C6R,EACA9K,KACI,IAAAmN,EACJ,IAAI3e,EAAAA,EAAAA,SAAQsc,IAAsD,iBAAvBA,EAC1C,OAED,MAAM,iBAAExR,EAAgB,WAAEkC,EAAU,SAAEjC,GAAayG,EACnD,IAAI,aAAEhJ,GAAiBwE,EACvB,MAAM4R,QJvTAnU,iBACN,IAAIoU,EAAW,EACf,GAAIjF,GAAY,EACf,OAAOA,KAER,IACC,MAAMkF,QAAyB3b,EAAAA,EAAAA,yBAAwB,iBAAkB,sCACvE4b,QAvB+B,oBAwB7BD,IACHD,EAAWC,EAAiBE,cAAgB,EAC5CpF,GAAYiF,EAAW,EAEzB,CAAE,MAAOjiB,GAERgX,QAAQqL,KACP,kEAEF,CAEA,OAAOJ,CACR,CImS+BK,GACxBtU,GAA6C,QAA3B+T,EAAArC,EAAoB1T,eAAO,IAAA+V,OAAA,EAA3BA,EAA6B9V,OAAQ,KAC7D,IAAIsW,EACAvU,IACHuU,QAA4B3U,GAC3BI,EACApC,EACAsC,EACAC,IAIEuR,IACC6C,IACHrU,EAAiB,KACT,CACNsU,UAAW,MACXvW,KAAM,eACN3J,MAAOigB,KAGT3W,EAAe2W,GAEhBrU,EAAiBuU,IAAoB,IAAnB,WAAErS,GAAYqS,GAC3B,gBAAEhT,GAAoBW,GACtB,YAAEsS,GAAqChD,EAArBhQ,EAAgBiT,IAAKjD,EAAmBkD,IAE9D,GAAIlT,GAAoBD,EAAiB,CACxC,MAAQzD,QAAS6W,GAAgBpT,GAAmB,CAAC,GAC/C,QAAEzD,GAAY0D,GACf1D,GAAW6W,IACfpf,EAAAA,EAAAA,KAAIiM,EAAkB,UAAWmT,EACnC,CAEA,GAAIpT,GAAmBiT,EAAa,CACnC,IAAII,EACHJ,IAAgB1b,EACbyI,EAAe9O,IAAA,GACV+hB,GAGmBK,EAAWJ,IAAKG,EAAcE,IAC1D,KACCN,IAAgB1b,GAChB+b,GACAA,EAAY7T,QAEZ6T,EAAcA,EAAY7T,OAE3BQ,EAAiBR,OAAS6T,CAC3B,CAEA,GACCrT,EAAiBE,gBACjBF,EAAiBnD,QACjBhM,OAAOG,UAAUK,eAAeC,KAC/B0O,EAAiBnD,OACjBmD,EAAiBE,kBAEjBF,EAAiBC,IACjB,CACD,MAAMsT,EAAejB,EAAkB,EACvCtS,EAAiBC,IAAMsT,EJnYpBpV,eAA4BoU,GAClC,UACO1b,EAAAA,EAAAA,yBAAwB,iBAAkB,sCAC9C2c,QAL+B,mBAO/B,CACCd,aAAcH,GAGlB,CAAE,MAAOjiB,GACR,MACD,CACD,CIwXImjB,CAAaF,EACd,CAEA,IAAIG,GAAiB,EACrB,MAAQpX,QAAS6W,GAAgBpT,GAAmB,CAAC,EAE/C4T,EAAgBA,CAACC,EAAKjlB,KAC3B,MAAM4N,GAAO/J,EAAAA,EAAAA,KAAIohB,EAAK,OAAQ,MACxB5C,EAAoBzU,EACvBL,EAAaoB,uBAAuBf,GACpCL,EACH,GAAI8U,EAAmB,CACtBhU,GAAWgU,GACX,MAAM6C,EAAW/L,GAAWkJ,IAC5Bjd,EAAAA,EAAAA,KACCpF,EACA,yBACAklB,EAAStN,eAEX,GAGD,IAAmC,IAA/BvG,EAAiBkR,UAAqB,CACzC,GAAIlR,GAAoBD,EAAiB,CACxC,MAAM,QAAEzD,GAAY0D,GAAoB,CAAC,EACzC,GACC1D,GACAA,EAAQC,OACPL,EAAaoB,uBAAuBhB,EAAQC,MAG7C,OXrJC,SAA4B2J,GAClC,IAAKA,EAAK,OACV,MAAM3J,EAAO,GAAGqI,GAAiBJ,GAAoB0B,MACrDnI,OAAO8T,KAAKtV,EAAM,SACnB,CWgJMuX,CAAmBxX,EAAQC,MACpB,CAAC,GAGJ5I,EAAAA,EAAAA,SAAQ2I,EAAS6W,KACrBQ,EAAcrX,EAAS0D,GACvB0T,GAAiB,EAEnB,CAGA,GAFAxC,GAAUlR,EAAkBkF,GAAW,GAAO,IAOvC,KAJN1S,EAAAA,EAAAA,KACCwN,EACA,sCACA,GAOD,OAJI0T,GAEHC,EAAcR,EAAapT,GAErB,CACN+S,UAAW,MACXvW,KAAM,kBACN3J,MAAOmN,GAGT,GAAIC,EAAiBiS,OAAQ,MAAO,CAAC,CACtC,CAEA,GAA+C,OAA3CjS,EAAiBmK,sBAAgC,CACpD,MAAMA,EACLlF,GACCjF,EACAkF,GAEFlF,EAAiBmK,sBAAwBA,CAC1C,KAAO,CACN,MAAMzH,EAAY5C,GAAaE,GAC/BvB,EAAS4Q,GAA2C,CACnD3M,YACAyH,sBACCnK,EAAiBmK,uBAEpB,CAEA,MAAO,CACN2I,UAAW,MACXvW,KAAM,kBACN3J,MAAOoN,OAyCL+T,GAA2B5V,UAO3B,IAAA6V,EAAA,IAPkC,KACvCtG,EAAI,MACJ5H,EAAK,WACLpF,EAAU,OACViN,EAAM,SACNlP,EAAQ,iBACRD,GACAyV,EACA,MAAMC,EAAexG,SAAmB,QAAfsG,EAAJtG,EAAMyG,qBAAa,IAAAH,GAAM,QAANA,EAAnBA,EAAqBtG,YAAI,IAAAsG,OAAA,EAAzBA,EAA2BI,UAG9B,4BAAjBF,GACiB,mBAAjBA,UAEMG,eAAeC,YAAYJ,SAC3BK,QAAQC,WAGfzW,OAAO0W,iBACN,WACAtE,GAAYhf,KAAK4M,OAAQ,CACxB2P,OACAC,SACAlP,WACAiC,aACAlC,sBAED,GAIGiR,KAAgCC,IA5U9B,SAAiChC,GACvC3P,OAAO0W,iBACN,OACAtD,GAAuBzD,EAAMvT,KAC7B,GAGD6M,SAASyN,iBACR,YACAtD,GAAuBzD,EAAMtT,IAC7B,CACCsa,SAAS,IAIX1N,SAASyN,iBACR,UACAtD,GAAuBzD,EAAMrT,IAC7B,CACCqa,SAAS,GAGZ,CAuTEC,CAAwBjH,GAEzB,MAAM,aAAExR,GAAiB4J,EAAMpF,WAC/B,IAAIsQ,EAAoB9U,EACxBwK,KACA,MAAM6J,EAAU3I,GAAkB1L,GAC9BqU,IACHS,EAAoB9U,EAAaoB,uBAAuBiT,IAExDzE,EAAAA,GAAAA,+BAA8ByE,IAE/B,MAAMjU,EAAUwL,GAAWkJ,GAC3BhU,GAAWgU,GAEXnK,KAEA,MAAM9G,EAAkByL,GAAiClP,GACnDwS,EAAc3G,KACpB+D,GACCnM,EACAmL,GAA0BnL,IAE3BvB,EAAiB,CAChBuB,gBAAe9O,IAAA,GAAO8O,EAAiB,CAAA+O,cAAaoC,WAAW,IAC/D0D,iBAAiB,IAGlB,MAAM,sBAAEzK,GAA0BpK,EAGlC,GAAIA,EAAiB,CACpB,MAAM2C,EAAY5C,GAAaC,GAE/BtB,EAAS2Q,GAAoC,CAC5C1M,YACAyH,yBAEF,GAMY0K,GAA2B1W,MACvC2W,EAAgBC,KAEZ,IADJ,WAAErU,EAAU,iBAAElC,EAAgB,SAAEC,GAAUsW,EAE1C,IAAIrhB,EAAAA,EAAAA,SAAQohB,GAAmB,OAE/B,MAAM,KAAEvY,EAAI,WAAEyY,GAAeF,GACrB5Y,aAAcqC,EAAgB,gBAAEwB,EAAkB,CAAC,GAAMW,EAE3DuU,QACC/W,GACL3B,EACAgC,EACAC,EACAC,GAEIvC,EAAe+Y,GAElB1W,EAEG6M,GAAc5Y,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MXhanD,IAA0BwQ,EAAShK,EWiazC,KAAI6E,GAAeA,IAAgB7O,KAE/BA,GAAQL,EAAaoB,uBAAuBf,IAAO,CACtD,MAAMyU,EAAoB9U,EAAaoB,uBAAuBf,GACxDD,EAAUwL,GAAWkJ,GAC3BhU,GAAWgU,GXtaoBT,EWuadhU,EXvauBgK,EWuajBjK,aAAO,EAAPA,EAASiK,eXpajC5W,GAFiB,IAAMkV,GAAY0L,IACrBja,KAAmB,IAAMuO,GAAYvO,MAAoB,MAEvEc,EAAAA,EAAAA,cAAa,KAAMd,KAAkBiQ,GWoapC,MAAMxG,EAAkByL,GAAiClP,GACzDkC,EAAiB,CAChBuB,gBAAe9O,IAAA,GACX8O,EAAe,CAClBmR,WAAW,EACX8D,iBAGEC,GAA0BzW,EAAiB,CAAEtC,iBACjD6B,OAAOoU,mBAAqBxJ,GAAqBpM,EAClD,GAqBK2Y,GAAanV,IAClB,MAAM,OAAEP,EAAS,CAAC,EAAC,OAAE3C,EAAS,CAAC,EAAC,OAAEgL,EAAS,CAAC,GAAM9H,EAElD,MAAO,CACNlD,SACAgL,SACArI,OAAQ,CAAE3C,QAAQ2C,aAAM,EAANA,EAAQ3C,SAAU,CAAC,EAAGgL,QAAQrI,aAAM,EAANA,EAAQqI,SAAU,CAAC,KA8D/DsN,GAAoB,CACzB,CAAC7F,IAAyByE,GAC1B,CAACxE,IApI+B6F,IAChCrX,OAAOsX,oBAAoB,WAAYlF,IAAa,GAoIpD,CAACX,IA7DkCrR,UAAqB,IAAAmX,EACxD,MACC3H,QACC4H,SAAS,KAAErI,EAAI,MAAEta,IACjB,WACD8N,EAAU,iBACVlC,GACG0G,GAEE,gBAAE0P,GAAoBlU,EAE5B,IAAKkU,EAAiB,OAAO,KAE7B,OAAQ1H,GACP,KAAK3T,GACJqW,GACChd,SAAc,QAAT0iB,EAAL1iB,EAAO0J,eAAO,IAAAgZ,OAAA,EAAdA,EAAgB/Y,KAChBmE,EACAlC,SAEK4T,GAA4Bxf,EAAOsS,GACzC,MAED,KAAK1L,GArMmCgc,EAACC,EAAoBvQ,KAC9D,MAAM,WAAExE,EAAU,iBAAElC,GAAqB0G,GAEnC,gBAAEnF,GAAoBW,EAC5B,GAAIX,GAAmB0V,EAAoB,CAC1C,MAAMC,EAAkBzkB,IAAA,GACpB8O,EACA0V,EAAkB,CACrB5N,OAAM5W,IAAA,GACD8O,EAAgB8H,QAAU9H,EAAgB8H,OAC1C4N,EAAmB5N,QAAU4N,EAAmB5N,SAElD,CACFsC,sBACClF,GACClF,EACAmF,MAICvR,EAAAA,EAAAA,SAAQoM,EAAiB2V,KAC7BxE,GAASjgB,IAAC,CAAC,EAAIykB,GAAsBxQ,GAAW,GAChD1G,EAAiB,CAChBuB,gBAAe9O,IAAA,GAAOykB,KAGzB,GA4KEF,CAA2B5iB,EAAOsS,GAClC,MAED,IlBriB+B,mBkBsiB9B0K,GAAwBhd,aAAK,EAALA,EAAO2J,KAAMmE,EAAYlC,SAC3CqW,GAAyBjiB,EAAOsS,GACtC,MAED,KAAKxL,GA5DmCic,EAAC/iB,EAAOsS,KACjD,MACCxE,YAAY,gBAAEX,GAAiB,iBAC/BvB,GACG0G,GACAxR,EAAAA,EAAAA,SAAQqM,IAAoC,iBAATnN,GAGvC4L,EAAiBoX,IAAoB,IAAnB,WAAElV,GAAYkV,EAC/B,MAAM,gBAAE7V,GAAoBW,EAG5B,OAFKhN,EAAAA,EAAAA,SAAQqM,IACZmR,GAAUnR,EAAiBmF,GAAW,GAAM,GACtC,CACN2Q,cAAc,MAgDdF,CAA2B/iB,EAAOsS,GAClC,MAED,IAAK,kBAAmB,KAAA4Q,EAAAvT,EACvBqN,GACChd,SAAc,QAATkjB,EAALljB,EAAO0J,eAAO,IAAAwZ,OAAA,EAAdA,EAAgBvZ,KAChBmE,EACAlC,GAED,MAAMmB,EAAQ6J,GAAoB5W,IAElCuB,EAAAA,EAAAA,SAAQwL,EAAO,CACd0F,KAAM6F,GAA0BtY,GAChCwV,MAAOD,KACPxI,MAAO6J,GAAoB5W,GAC3B0T,MAAa,QAAR/D,EAAExE,cAAM,IAAAwE,GAAU,QAAVA,EAANA,EAAQyE,gBAAQ,IAAAzE,GAAO,QAAPA,EAAhBA,EAAkB+D,aAAK,IAAA/D,OAAA,EAAvBA,EAAyBnC,MAAM,UAAU,GAChD8M,KAAMta,aAAK,EAALA,EAAO+M,MACbkI,OAAQqN,GAAUtiB,KAGnB,KACD,MCxrBaO,EAAAA,EAAAA,qBAAoBsE,EAAkB,CACpDqW,KAAMta,EAAAA,SACNuiB,KAAMA,OACNrV,WAAY,CACX,CAACnH,IAAyB,CACzBxJ,QAAS,KACTimB,aAAa,GAEd,CAACxc,IAAuB,CACvBzJ,QAAS,KACTimB,aAAa,GAEd,CAACtc,IAAuB,CACvB3J,QAAS,KACTimB,aAAa,GAEdjW,gBAAiB,CAChBhQ,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAEd9Z,aAAc,CACb+Z,YAAY,EACZlmB,QAAS6N,KACToY,aAAa,GAEdpB,gBAAiB,CAChB7kB,SAAS,GAEV+kB,iBAAkB,CACjB/kB,QAAS,CAAC,EACVimB,aAAa,GAEdjG,kBAAmB,CAClBhgB,QAAS,GACTkmB,YAAY,GAOb,CAACtc,IAA+B,CAC/B5J,SAAS,IAGXmmB,UAAW,CAACjf,EAAAA,oBACZkf,eAAcllB,IAAA,GAAOkkB,MC5DtB,MAAM,GAFEtiB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,qBAA0B,KAC9D,MAAMC,EAAYqjB,EAAyGrmB,SAAWqmB,EAAyGtmB,WAGxO,OAAIiD,EACHqjB,EAAkH,QAAEC,qBAIrHD,EAAyGC,sBAAwBD,EAAkH,SAAKA,EAAkH,QAAEC,yBCLxXljB,EAAAA,EAAAA,qBrBOgC,mBqBPM,CACrCuN,WAAY,CACX4V,WAAY,CACXvmB,QAAS,CAAC,EACVwmB,OAAQ,CAAEzI,KAAM,UAChBmI,YAAY,EACZD,aAAa,IAGfQ,SAAU,CACT1I,KAAMta,EAAAA,QAENuiB,KAAMA,KAAMxiB,EAAAA,EAAAA,eAAA,cAEb2iB,UAAW,CACVjf,EAAAA,mBACAof,GAAAA,wB,yBCpBF,MAAM,GAFExjB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAY0jB,EAA8F1mB,SAAW0mB,EAA8F3mB,WAGlN,OAAIiD,EACH0jB,EAAuG,QAAEC,iBAI1GD,EAA8FC,kBAAoBD,EAAuG,SAAKA,EAAuG,QAAEC,oBCHnV,IAAIC,GAAc,KAKX,MAYMC,GAAiBA,KAC7B,GAAID,GACH,OAAOA,GAER,MAAME,EAAiBC,GAAqB,IAAVA,EAC5BC,EAKD,IAJJvkB,EAAAA,EAAAA,KACCuL,OACA,kDvBuIoC,IuBpIhCiZ,EAAaH,EvBiIY,IuBhIzBI,EAAaJ,EAAeK,KAAKC,IAAIJ,EvBiIZ,OuBjH/B,OAfAJ,GAAcE,GACbrkB,EAAAA,EAAAA,KACCuL,OACA,6CvB2HiC,MuBrHjC4Y,GAAc,GAAKA,GAAcK,GAClCL,IAAeM,KAEfN,GAAcE,EvBkHoB,KuB/G5BF,KChDArH,uBAAsB,GAAEC,uBAAsBA,IAAKtc,EAAAA,YAE3D,IAAImkB,GAAuB,IAAIC,IAExB,MAAMC,GACiB,8BADjBA,GAEe,4BAFfA,GAGc,2BAHdA,GAIc,2BAGrBC,IAAwBb,EAAAA,GAAAA,kBAC7B,mCACA,CACCc,OAAQ,OACRC,kBAAmBH,GACnBI,gBAAiBJ,KAIZ,SAASK,GAAuBC,EAAQC,GAA8C,IAAtCC,EAAa1mB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGgmB,GACtE,OAAOW,IACNH,EAAO5K,QAAQoD,IACd0H,EAAc/jB,IAAIqc,EAAOA,GAASyH,EAAOE,EAAU3H,IACnDpJ,SAASgR,KAAKvD,iBAAiBrE,EAAO0H,EAActlB,IAAI4d,IAAQ,KAGnE,CAEO,SAAS6H,GAAsBnV,GAAmD,IAAlD,OAAE8U,EAAM,cAAEE,EAAgBV,IAAsBtU,EACtF,MAAO,KACN8U,EAAO5K,QAAQoD,IACV0H,EAAcjjB,IAAIub,IACrBpJ,SAASgR,KAAK3C,oBACbjF,EACA0H,EAActlB,IAAI4d,IAClB,KAIL,CASO,MAAM,qBAAE8H,GAAoB,uBAAEC,IAP9B,SAA8BpF,GAA2D,IAA1D,OAAE6E,EAAM,OAAEC,EAAM,cAAEC,EAAgBV,IAAsBrE,EAC7F,MAAO,CACNmF,qBAAsBD,GAAuB,CAAEL,SAAQE,kBACvDK,uBAAwBR,GAAuBC,EAAQC,EAAQC,GAEjE,CAEgEM,CAAsB,CACrFR,OAAQ,CAAC,QAAS,QAAS,eAC3BC,QAAQxiB,EAAAA,EAAAA,UACP0iB,IACC,MAAM,SAAEtZ,GAAasZ,EACrBtZ,EAAS6Y,GAAuC,CAAC,IAElDV,KACA,CAAEyB,SAAS,EAAMC,UAAU,MAqBhBC,GAA2B,CACvCrL,KAAM,oBACNiJ,eAAgB,CACf,CAAC7G,IAAyB6I,GAC1B,CAAC5I,IAAyB2I,GAC1B,CAACZ,IAtBqCpS,IACvC,MAAM,SAAEzG,EAAQ,KAAEiP,GAASxI,GACrB,cAAEsT,GAAkB9K,EAAK4C,wBAC3BkI,EAAcC,YACjBha,EAAS6Y,GAA0C,CAAC,IAmBpD,CAACA,IAA2CC,K,6CCxF9C,SAASmB,KAA4B,IAAdC,EAAOvnB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7ByO,EAAO,GACV+Y,EAAQ,GACT,OAAID,EAAQtnB,eAAe,OAAesnB,EAAQ5nB,KAClDF,OAAO6J,KAAKie,GAAS3L,QAASjc,IAQ7B,IAP4B,iBAAjB4nB,EAAQ5nB,IAAsC,OAAjB4nB,EAAQ5nB,GAC/C6nB,EAAMjpB,KAAKgpB,EAAQ5nB,IAEnB8O,EAAOA,EACJ,GAAGA,KAAQ9O,KAAO4nB,EAAQ5nB,KAC1B,GAAGA,KAAO4nB,EAAQ5nB,KAEf6nB,EAAM9pB,QAAQ,CACpB,MAAM2D,EAAMmmB,EAAMC,MAClBhoB,OAAO6J,KAAKjI,GAAKua,QAASxd,IACH,iBAAXiD,EAAIjD,IAA8B,OAAXiD,EAAIjD,GACrCopB,EAAMjpB,KAAK8C,EAAIjD,IACXqQ,EAAOA,EAAO,GAAGA,KAAQrQ,KAAKiD,EAAIjD,KAAO,GAAGA,KAAKiD,EAAIjD,MAE5D,IAEMqQ,EACR,CAEA,SAASiZ,GAAWH,GACnB,OAAIA,EAAQtnB,eAAe,OAAesnB,EAAQ5nB,IAC3C4nB,CACR,CAEA,SAASI,GAAsBJ,GAC9B,IAAKA,EAAS,OAAO,KACrB,IAAKA,EAAQtnB,eAAe,OAAQ,OAAAJ,IAAA,GAAY0nB,EAAQ9b,QAExD,MACMsD,EADMwY,EAAQ5nB,IACFqP,MAAM,KACxB,IAAIvD,EAAS,CAAC,EACd,IAAK,IAAI7N,EAAI,EAAGA,EAAImR,EAAMrR,OAAS,EAAGE,GAAQ,EAAG,CAChD,IAAIgqB,EAAIhqB,EAAI,EACZ6N,EAAOsD,EAAMnR,IAAMmR,EAAM6Y,EAC1B,CACA,OAAA/nB,IAAA,GAAY4L,EACb,CAEA,MAAMoc,GAAoB,WACzB,MAAMC,EAAiB,IAAI7B,IAW3B,OAVA6B,EAAenlB,IAAI,WAAY,QAC/BmlB,EAAenlB,IAAI,UAAW,QAC9BmlB,EAAenlB,IAAI,UAAW,QAC9BmlB,EAAenlB,IAAI,WAAY,QAC/BmlB,EAAenlB,IAAI,UAAW,QAC9BmlB,EAAenlB,IAAI,UAAW,QAC9BmlB,EAAenlB,IAAI,SAAU,QAC7BmlB,EAAenlB,IAAI,SAAU,QAC7BmlB,EAAenlB,IAAI,SAAU,QAEtB,SAASolB,GAEf,OADkBD,EAAerkB,IAAIskB,GACfD,EAAe1mB,IAAI2mB,GAClC,MACR,CACD,CAjB0B,GA8I1B,MAAMC,GAAiB,IAvHH,WAKnB,OAAAC,KAJA,SAAAC,IAAcC,KAAA,KAAAD,GACb9qB,KAAKgrB,aAAe,IAAInC,GACzB,EAEA,EAAAtmB,IAAA,MAAA6B,MAMA,SAAI6mB,GACH,MAAM,QAAEd,EAAO,QAAEe,EAAU,CAAC,GAAMD,EAC5BE,EAAQ1oB,IAAA,GAAQyoB,EAAS,CAAAE,UAAWC,KAAKC,QACzCC,EAAQrB,GAAcC,GACtBqB,EAAiBxrB,KAAKgrB,aAAahnB,IAAIunB,GAC7C,GAAIC,EAAgB,CACnB,IAAIC,EACJ,MAAMC,EAAqBF,EAAeG,WACpCC,EAAcnB,GAAiBU,EAAS7G,WAE9C,GAD0BoH,EAAmBrlB,IAAIulB,GAC1B,CACtB,MAAMC,EAAmBH,EAAmB1nB,IAAI4nB,GAChDH,EAAgB,IAAI5C,IAAI6C,GACxBD,EAAclmB,IAAIqmB,EAAa,IAC3BC,EAAgBppB,IAAA,GACd0oB,IAEP,MACCM,EAAgB,IAAI5C,IAAI6C,GACxBD,EAAclmB,IAAIqmB,EAAa,CAAAnpB,IAAA,GAAM0oB,KAGtCnrB,KAAKgrB,aAAazlB,IAAIgmB,EAAO,CAC5BI,WAAYF,EACZK,SAAUxB,GAAWH,GACrBrc,QAASyc,GAAsBJ,IAEjC,KAAO,CACN,IAAIwB,EAAa,IAAI9C,IAAI7oB,KAAKgrB,aAAaW,YAAc,IACzD,MAAMI,EAActB,GAAiBU,EAAS7G,WAI9C,GAFCtkB,KAAKgrB,aAAaW,sBAAsB9C,KACxC7oB,KAAKgrB,aAAaW,WAAWtlB,IAAI0lB,GACX,CACtB,MAAMC,EAAkBhsB,KAAKgrB,aAAaW,WAAW3nB,IACpD+nB,GAEDJ,EAAa,IAAI9C,IAAI,IAAImD,EAAevpB,IAAA,GAAO0oB,IAChD,MACCQ,EAAWpmB,IAAIklB,GAAiBU,EAAS7G,WAAY,CAAA7hB,IAAA,GAC/C0oB,KAGPnrB,KAAKgrB,aAAazlB,IAAIgmB,EAAO,CAC5BI,WAAYA,EACZG,SAAUxB,GAAWH,GACrBrc,QAASyc,GAAsBJ,IAEjC,CACD,GAEA,CAAA5nB,IAAA,SAAA6B,MAGA,WACC,MAAM/C,EAAS,IAAIwnB,IAInB,OAHA7oB,KAAKgrB,aAAaxM,QAASpa,IAC1B/C,EAAOkE,IAAInB,EAAM0nB,UAAUrlB,EAAAA,EAAAA,MAAKrC,EAAO,CAAC,aAAc,eAEhD/C,CACR,GAEA,CAAAkB,IAAA,YAAA6B,MAIA,SAAU+lB,GACT,MAAM5nB,EAAM2nB,GAAcC,GAC1B,OAAO1jB,EAAAA,EAAAA,MAAKzG,KAAKgrB,aAAahnB,IAAIzB,GAAM,CAAC,aAAc,WACxD,GAAC,CAAAA,IAAA,qBAAA6B,MAED,SAAmB+lB,EAAS8B,EAAO3H,GAClC,MAAM4H,EAAclsB,KAAKmsB,UAAUhC,GACnC,GAAI+B,GAAeA,EAAYrpB,eAAe,cAAe,CAG5D,OADCqpB,EAAwB,WAAEloB,IAAI,SAAW,IAClByP,KACtBvT,GAASA,EAAKokB,WAAaA,GAAapkB,EAAK+rB,OAASA,EAEzD,CACA,OAAO,CACR,GAEA,CAAA1pB,IAAA,WAAA6B,MAGA,WACCpE,KAAKgrB,aAAaoB,OACnB,GAEA,CAAA7pB,IAAA,cAAA6B,MAIA,SAAY+lB,GACX,MAAM5nB,EAAM2nB,GAAcC,GACtBnqB,KAAKgrB,aAAa3kB,IAAI9D,IAAMvC,KAAKgrB,aAAaqB,OAAO9pB,EAC1D,GAEA,CAAAA,IAAA,gBAAA6B,MAIA,YAA0BxB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,IACf4b,QAASjc,GAAQvC,KAAKssB,YAAY/pB,GAChD,IAAC,CApHkB,IAwHpBF,OAAO4J,OAAO2e,I,kCCpJD2B,GAAuBC,IACnC,IAAKA,EAAc,OAAO,EAC1B,MAAMC,EAAWpqB,OAAO6J,KAAKsgB,GAC7B,OAAwB,IAApBC,EAASnsB,QAENmsB,EAASC,MAAOnqB,KAAUiqB,EAAajqB,KAGlCoqB,GAA6BA,CACzCC,EACAC,EACAtc,IAEO,sBA9BwBA,KAC/B,MAAMH,GAAoBpM,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,GAGjEud,GAAyBpmB,EAAAA,EAAAA,QAAO0J,EAAoBhM,IACzDe,EAAAA,EAAAA,UAAQnB,EAAAA,EAAAA,KAAII,EAAO,gBAAiBmM,IAI/Bwc,EAAsB1qB,OAAO6J,KAAK4gB,GAAwB,GAChE,OAAO9oB,EAAAA,EAAAA,KACN8oB,EACA,GAAGC,uBACH,KAiB4BC,CAC5Bzc,YACUsc,cAAyBD,IAGxBK,GAAqBA,CACjCC,EACAld,EACAmd,KAEA,GAAKD,EAAL,CAEKC,IAAeA,EAAgBvC,GAAewC,UAGnD,IAAK,IAAKC,EAAMC,KAAWH,EAAcI,UACxCD,EAAOxf,QAAOrL,IAAA,GAAQ6qB,EAAOxf,QAAS,CAAA0f,SAAUH,IAASH,IAE1Dld,EAAiB,CAChByd,aAAcN,GATO,GAkIvB,MAmKA,GANuB,CACtB,CAAC9jB,GAlNiCiL,IAI7B,IAJ8B,OACnC6K,EAAM,iBACNnP,EAAgB,WAChBkC,GACAoC,EACA,MAAM,aAAE/D,GAAiB2B,GACnB,eAAEwb,EAAc,eAAEC,GAAmBxO,EAAO4H,SAC5C,WAAE6G,EAAU,SAAEhB,GAAae,EAE3BE,EACLD,GAAchB,EACX,CACAkB,OAAO9rB,EAAAA,EAAAA,GAAE,aACT6U,KAAM8V,GACLC,EACAgB,EACArd,IAGD,CAAC,EACL0c,GAAmBS,EAAgB1d,GACnCA,EAAiB,CAChB6d,mCACAH,eAAgBA,KA4LjB,CAACpkB,GA/JgCib,IAK5B,IAL6B,OAClCpF,EAAM,WACNjN,EAAU,iBACVlC,EAAgB,SAChBC,GACAsU,EACA,MAAM,KAAElF,EAAI,QAAE0H,GAAY5H,GACpB,aAAE4O,EAAY,gBAAExc,GAAoBW,GA7HZ,SAC9Bmb,GAKI,IAJJb,EAAY5pB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EAChB+nB,EAAM/nB,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACNyQ,EAAe3O,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACfktB,EAAUprB,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAaV,IAAK6pB,GAXoBpZ,IAEvBA,GACAA,EAAgBP,QAChBO,EAAgBlD,QACoB,MAApCkD,EAAgBlD,OAAe,OAMlB4f,CAAgB1c,GAAkB,KAAA2c,EAChD,IAAIC,EAAYjd,GACfK,EAAgBP,OAAO3C,QAAU,CAAC,EAClCkD,EAAgBP,OAAOG,OAEpBid,EAAc7c,SAAuB,QAAR2c,EAAf3c,EAAiBlD,cAAM,IAAA6f,OAAA,EAAvBA,EAAyBjC,MAC3C,GACCrB,GAAeyD,mBACd,CAAE9rB,IAAK4rB,GACPC,EACA,UAGD,OAEDzD,EAAS,QACV,CAEA,IAAKA,GAA4B,IAAlBA,EAAOrqB,OAAc,OACpC,IAAI6pB,EAAU,CAAE5nB,IAAK8qB,GACrB,MAAMiB,EtB7F8BC,EAAChsB,EAAKisB,KAC1C,IAAKjsB,EAAK,OACV,MAAMoP,EAAQpP,EAAIqP,MAAM,KAClBT,EAAQQ,EAAM,GACpB,IAAItD,EAAS,CAAC,EACd,IAAK,IAAI7N,EAAI,EAAGA,EAAImR,EAAMrR,OAAS,EAAGE,GAAQ,EAAG,CAChD,IAAIgqB,EAAIhqB,EAAI,EACZ6N,EAAOsD,EAAMnR,IAAMmR,EAAM6Y,EAC1B,CAOA,OALCnc,SAAAA,EAAQogB,OAARpgB,MACAmgB,GAAAA,EAAuBC,OACvBpgB,EAAOogB,QAAUD,EAAsBC,QAEvCpgB,EAAOogB,MAAQD,EAAsBC,OAC/B,CAAEtd,QAAO9C,WsB8EQkgB,CACvBlB,EACA9b,aAAe,EAAfA,EAAiBlD,QAElB,IAAI6c,EAAOzoB,IAAA,CAAK6hB,UAAWqG,GAAW2D,EAAgBjgB,QA1BpCqgB,MA2BdlC,GAA2B,aAAX7B,GAAyB2D,EAAgBnd,QAC5DgZ,EAAO1nB,IAAA,GACH0nB,EAAO,CACV5nB,IAAK2O,GAAiBzO,IAAC,CAAD,EAChB6rB,EAAgBjgB,OAAWme,GAChC8B,EAAgBnd,SAGlB+Z,EAAOzoB,IAAA,CAAK6hB,UAAWqG,GAAW6B,KAnCjBkC,EAqCLnd,IArC4Bmd,EAAQ1d,SAsChDmZ,EAAO1nB,IAAA,GACH0nB,EAAO,CACV5nB,IAAK2O,GACJK,EAAgBP,OAAO3C,QAAU,CAAC,EAClCkD,EAAgBP,OAAOG,UAzCN+Z,IAA8B,MAAlBA,EAAQyD,OA4CpCC,CAAW1D,KACfN,GAAe5R,IAAI,CAAEmR,UAASe,YAC9B8C,EAAWpD,GAAewC,UAC3B,CA+DCyB,CACC9H,EAAQ7S,UACR6S,EAAQyF,aACRzF,EAAQ4D,OACR5D,EAAQ+H,sBACP3B,IACAF,GACC/a,EAAWwb,eACX1d,EACAmd,GAEIjb,EAAWwb,gBACf1d,EAAiB,CAChByd,aAAcN,MAKlB,MAAM4B,EAAchI,EAAQjP,MAE5B,GAAIiX,GAAehI,EAAQyG,SAAU,CACpC,MAAMzV,GAAiB/T,EAAAA,EAAAA,KACtBuN,EACA,yBACA,IAEKyd,GAAkB7nB,EAAAA,EAAAA,uBAAsB,CAC7CuY,UAAWqP,EACXhX,iBACAvP,SAAQA,EAAAA,YAETG,EAAAA,EAAAA,oBAAmBqmB,EACpB,CAEA,MAAMC,EAAaxsB,IAAA,GACfskB,EAAO,CACVmI,UAAUlrB,EAAAA,EAAAA,KAAIqb,EAAM,WAAYgM,KAAKC,OACrC6D,aAAanrB,EAAAA,EAAAA,KAAIqb,EAAM,KAAM,IAC7B+P,mBAAoB7C,GAAoBxF,EAAQyF,cAQhD6C,QAAS,OAMV,KAAM,UAAWJ,IAAkBA,EAAcK,UAAW,CAC3D,MAAMC,GAAYvrB,EAAAA,EAAAA,KAAIqb,EAAM,CAAC,QAAS,aAAcgM,KAAKC,OACzD2D,EAAcM,UAAYA,CAC3B,CAEA,IAAyC,IAArCN,EAAcG,mBAA6B,CAC9C,MAAM,sBAAEN,GAA0BG,EAC5BO,EA7FD,SAAwBje,EAAiBud,GAC/C,MAAMW,EAAoBtvB,IAAO,IAAAuvB,EAAAC,EAAA,MAAM,CACtCxe,MAAOhR,SAAe,QAARuvB,EAAPvvB,EAAS6Q,cAAM,IAAA0e,OAAA,EAAfA,EAAiBve,MACxB9C,OAAQlO,SAAe,QAARwvB,EAAPxvB,EAAS6Q,cAAM,IAAA2e,OAAA,EAAfA,EAAiBthB,SAGpBuhB,EAAiBH,EAAiBle,GAClCse,EAAeJ,EAAiBX,GAEtC,GACEc,EAAeze,OACf0e,EAAa1e,SACZhM,EAAAA,EAAAA,SAAQyqB,EAAeze,MAAO0e,EAAa1e,UAC5ChM,EAAAA,EAAAA,SAAQyqB,EAAevhB,OAAQwhB,EAAaxhB,QAE7C,OAAO,EAGR,MAAM,MAAE8C,EAAK,OAAE9C,GAAWkD,GAAmB,CAAC,GACtCJ,MAAO2e,EAAazhB,OAAQ0hB,GACnCjB,GAAyB,CAAC,EAE3B,OAAO3pB,EAAAA,EAAAA,SAAQgM,EAAO2e,KAAgB3qB,EAAAA,EAAAA,SAAQkJ,EAAQ0hB,EACvD,CAsEuBC,CACpBze,EACAud,GAEK3uB,EACLqvB,IAAiBV,EACdvd,EACAud,EAOJmB,EAAAxtB,IAAA,GACItC,EAAO,CACVkO,OAAQ0Y,EAAQyF,aAChB9I,UAAU,IAHqBwD,EAAkBzC,IAAAwL,EAAAvL,IAKlDzU,EAASzG,EAAiB/G,IAAA,GACtBykB,GACEsI,GAAgB,CAAEU,mBAAmB,IAE5C,aACQjB,EAAczC,cAGlBnmB,EAAAA,EAAAA,KAAI4oB,EAAe,cACtBkB,sBAAsB,KACrBngB,EAAiByV,IAAoB,IAAnB,WAAEvT,GAAYuT,EAK/B,MAAO,CACN1X,KAAM,eACN3J,MANgB,IACb8N,EAAWke,aAAY3tB,IAAA,GACrBwsB,IACJjY,OAAO,OAON+X,GACH/e,EAAgBvN,IAAC,CAAC,EACbssB,GAAe,CAClBhB,aAAYtrB,IAAA,GACRsrB,EAAY,CACf,CAAChH,EAAQ7S,WAAY6a,UAQ3B/e,EAAiBuW,IAAoB,IAAnB,WAAErU,GAAYqU,EAK/B,MAAO,CACNxY,KAAM,eACN3J,MANgB,IACb8N,EAAWke,aAAY3tB,IAAA,GACrBwsB,IACJjY,OAAO,OAON+X,GACH/e,EAAgBvN,IAAC,CAAC,EACbssB,GAAe,CAClBhB,aAAYtrB,IAAA,GACRsrB,EAAY,CACf,CAAChH,EAAQ7S,WAAY6a,SAuBzB,CAACxlB,GAhBqC6d,IAIjC,IAHLjI,QAAQ,QAAE4H,GAAS,WACnB7U,EAAU,iBACVlC,GACAoX,EACA,IAAKL,EAEJ,OACD,MAAM,aAAEgH,EAAe,CAAC,GAAM7b,EACxBme,EAAS5tB,IAAA,GAAQsrB,EAAiBhH,GACxC/W,EAAiB,CAAE+d,aAAYtrB,IAAA,GAAO4tB,OC/U1BC,GAA0B,0BAC1BC,GACZ,4CACYC,GACZ,4CAqGYC,KAxDLzuB,EAAAA,EAAAA,GAAE,WAKFA,EAAAA,EAAAA,GAAE,OA+C2BA,EAAAA,EAAAA,GAAE,sBACJA,EAAAA,EAAAA,GAAE,sBAGD,wBACvB0uB,GAA8B,2CC5G3C,KDoIiC1uB,EAAAA,EAAAA,GAAE,WC3IZ,CACtB,CAACyuB,IAAuBnc,IAA+C,IAA5C6K,QAAQ,QAAE4H,GAAS,iBAAE/W,GAAkBsE,EACjEtE,EAAiB,CAChByd,aAAc1G,EAAQ0G,kBC+CzB,GA3BuB,CACtBkD,kBAAmBrc,IAAyD,IAAtD6K,QAAQ,QAAE4H,GAAS,iBAAE/W,EAAgB,SAAEC,GAAUqE,EACtE,MAAM,oBAAEsc,EAAmB,cAAEC,EAAgB,IAAO9J,EACpD,GACC6J,GACAhV,MAAMC,QAAQ+U,IACdA,EAAoBtwB,OAAS,EAC5B,CACD0P,EAAiB,CAAE4gB,oBAAqB,IAAIA,KAC5C,MAAME,EAAeF,EAAoB3wB,IAAIe,IAAK,CAAGuB,IAAKvB,KAC1D4pB,GAAemG,cAAcD,GACbD,EA/BhBG,OAAO9wB,IACP,MAAMgM,EAAO7J,OAAO6J,KAAKhM,GACzB,OAAoB,IAAhBgM,EAAK5L,QACFJ,EAAKgM,EAAK,IAAIrJ,eAAe,gBAEpC5C,IAAIC,GAEGA,EADMmC,OAAO6J,KAAKhM,GACR,KAEjBse,QAAQte,IACR0qB,GAAe5R,IAAI,CAClBmR,QAAS,CAAE5nB,IAAKrC,EAAK+wB,WAAWC,WAChChG,QAAOzoB,IAAA,GACHvC,EAAKqR,gBAAgBlD,OAAM,CAC9BiW,UAAWpkB,EAAK+wB,WAAW3M,gBAkB7BrU,EAASwgB,GAAsB,CAAEhD,aAAc7C,GAAewC,UAC/D,GAGD,CAACsD,IAA8BnM,IAA2D,IAAxDpF,QAAQ,QAAE4H,GAAS,iBAAE/W,EAAgB,WAAEkC,GAAYqS,EACpF,IAAIwC,GAA2C,IAAhC1kB,OAAO6J,KAAK6a,GAASzmB,OACnC,OACD,MAAM6wB,EAAmB,CAAC,EAC1B9uB,OAAO6J,KAAK6a,GACViK,OAAO9sB,GAAQA,KAAQgO,GACvBsM,QAAQta,GAAQitB,EAAiBjtB,GAAQ6iB,EAAQ7iB,IAEnD8L,EAAiBmhB,KC/CbC,GAAuB7gB,GAC5BA,EACG,sBAAsBA,IACtB,uBAAsB,IAAI8a,MAAOgG,YAE9B1hB,eAAe2hB,GAAsBC,EAAQhhB,GACnD,IAAKA,EAAc,OAEnB,IAAIwd,EAEJ,IACC,MAAMyD,QAA2BnpB,EAAAA,EAAAA,yBAAwB,iBAAkB,iCACzE4b,QAAQmN,GAAqB7gB,IAE9BihB,GACAA,EAAmBD,SAAWA,GAC9BC,EAAmBjhB,eAAiBA,GACpCihB,EAAmBzD,gBAEjBwD,SAAQhhB,eAAcwd,gBAAgByD,EAI1C,CAAE,MAAO1vB,GACR,CAED,OAAOisB,CACR,CAEOpe,eAAe8hB,GAAiB1D,EAAcwD,EAAQhhB,GAC5D,GAAKA,EAEL,UACOlI,EAAAA,EAAAA,yBAAwB,iBAAkB,iCAC9C2c,QACAoM,GAAqB7gB,GACrB,CACCghB,SACAhhB,eACAwd,gBAGJ,CAAE,MAAOjsB,GACR,MACD,CACD,CAEO6N,eAAe+hB,GAAkBnhB,GACvC,GAAKA,EACL,UACOlI,EAAAA,EAAAA,yBAAwB,iBAAkB,iCAC9CspB,WAAWP,GAAqB7gB,GACnC,CAAE,MAAOzO,GACR,CAEF,CCjDA,MAAM,oBACL8vB,GACA5Q,2BAA0B,GAC1BD,uBAAsBA,IACnBtc,EAAAA,YAkEJ,GAhEuB,CACtB,CAACuc,IAA6BrR,UAKd,IAJLwP,QAAQ,QAAC4H,GAAQ,WACjB7U,EAAU,SACVjC,EAAQ,iBACRD,GACAsE,EACV,MAAM,KAACoK,EAAI,cAAEmT,EAAa,MAAEztB,GAAS2iB,EAQrC,GAPa,6BAATrI,KACEvZ,EAAAA,EAAAA,SAAQ0sB,EAAeztB,IAC3B6L,EAAS/G,EAAyC,CACjD4oB,yBAA0B1tB,KAIhB,iBAATsa,EAAyB,CAC5B,MAAM,OAAC6S,EAAM,aAAEhhB,GAAgB2B,EAC/B,GAAIqf,GAAUhhB,EAAc,CAI3BP,EAAiB,CAAC+d,mBAFXuD,GAAsBC,EAAQhhB,IAAiB,CAAC,UAGjDmhB,GAAkBnhB,EACzB,CACD,GAGD,CAACqhB,IAAsBjiB,UAMR,IANe,KACpBuP,EAAI,OACJC,EAAM,SACNlP,EAAQ,WACRiC,EAAU,iBACVlC,GACAuU,EACT,MAAM,yBAACuN,EAAwB,OAAEP,EAAM,aAAEhhB,GAAgB2B,EAMzD,GALAjC,EAASvG,EAA4ByV,EAAO4H,SAC5C9W,EAAS/G,EAAyC,CACjD4oB,6BAGGP,GAAUhhB,EAAc,CAE3BP,EAAiB,CAAC+d,mBADSuD,GAAsBC,EAAQhhB,IAAiB,CAAC,UAErEmhB,GAAkBnhB,EACzB,CAEA,MAAMwhB,EAAsBpiB,UAC3B,GAAIuP,GAAQA,EAAK4C,sBAAuB,CACvC,MAAMkQ,EAAgB9S,EAAK4C,wBAAsC,aAC3DmQ,EAAgB/S,EAAK4C,wBAAsC,mBAC3D2P,GAAiBO,EAAeT,EAAQU,EAC/C,CACA1iB,OAAOsX,oBAAoB,eAAgBkL,IAE5CxiB,OAAO0W,iBAAiB,eAAgB8L,IAEzC,CAAChR,IAAyBpR,UAAwB,IAAjB,WAACuC,GAAWuT,EAC5C,MAAM,aAACsI,EAAY,OAAEwD,EAAM,aAAEhhB,GAAgB2B,IAExChN,EAAAA,EAAAA,SAAQ6oB,IAAiBwD,GAAUhhB,SACjCkhB,GAAiB1D,EAAcwD,EAAQhhB,KCvDhD,GANuB,CACtB,CAAChD,ICJuD+G,IAKnD,IAAAP,EAAAme,EAAA,IALoD,OACzD/S,EAAM,WACNjN,EAAU,iBACVlC,EAAgB,SAChBC,GACAqE,EACA,MAAM,YAAE6a,EAAW,qBAAE5a,EAAoB,uBAAE4d,GAC1ChT,EAAO4H,QACFqL,GACC,QAANre,EAAAxE,cAAM,IAAAwE,GAAY,QAAZA,EAANA,EAAQ1H,kBAAU,IAAA0H,OAAA,EAAlBA,EAAoD,gCAAK,CAAC,EACrDse,EACLD,EAAqCjD,IAAgB,CAAC,GAEtD5a,qBAAsB+d,EACtB7d,SAAU8d,GACPF,GACE,4BAAEle,GAAgCjC,GAEvCqC,qBAAsBie,EACtB/d,SAAUge,GACPte,EAEEkT,EACLiL,IAAgCE,GAChCD,MAAsBE,EAGjBC,EACLrwB,OAAO6J,KAAKmmB,GAAuB/xB,OAAS,EACzC,CAEAiU,qBAAsB+d,GAEnB,KACH7d,SACqB,OAApB8d,IAA6BA,EAAkB,KAChD7d,oBAAqB4d,GAErB,CAEA/d,qBAAsBA,GAEnB,KACHE,SAC4B,OAA3B0d,EACGA,EACA,KACJzd,oBAAqBH,GAGnB2b,EAAoBhe,SAA2B,QAAjBggB,EAAVhgB,EAAYX,uBAAe,IAAA2gB,OAAA,EAA3BA,EAA6BhC,kBAEL,IAA9C7tB,OAAO6J,KAAKmmB,GAAuB/xB,SACtCiP,OAAOlD,WAAWsmB,8BAA6BlwB,IAAA,GAC3C2vB,EAAoC,CACvC,CAACjD,GAAcuD,KAGbxC,IAGA7I,GAA8D,IAA9ChlB,OAAO6J,KAAKmmB,GAAuB/xB,UACtD0P,EAAiB,CAChBmE,4BAA6Bue,IAE9BziB,EAASzC,GAAyBklB,KD3DnC,CAACjlB,ICuEsD8W,IAKlD,IAAAtE,EAAA,IALmD,OACxDd,EAAM,WACNjN,EAAU,iBACVlC,EAAgB,SAChBC,GACAsU,EACA,MAAM,4BAAEpQ,EAA2B,gBAAES,EAAe,WAAEC,GACrDsK,EAAO4H,SACA5S,4BAA6Bye,GACpC1gB,GAEAqC,qBAAsBie,EACtB/d,SAAUge,GACPG,EACER,GACC,QAANnS,EAAA1Q,cAAM,IAAA0Q,GAAY,QAAZA,EAANA,EAAQ5T,kBAAU,IAAA4T,OAAA,EAAlBA,EAAoD,gCAAK,CAAC,EAC3D,GAAiE,IAA7D5d,OAAO6J,KAAKkmB,GAAsC9xB,OAMrD,YAJI6T,SAAAA,EAA6BO,oBAChC1E,EAAiB,CAAEmE,gCACnBlE,EAASzC,GAAyB2G,KAIpC,GAAIU,SAAAA,EAAYqb,kBAAmB,OACnC,IAAI2C,GAAsB,EAC1B,IAAK,MAAM1yB,KAAWiyB,EAAsC,KAAAU,EAC3D,IAC8C,QAA7CA,EAAAV,EAAqCjyB,UAAQ,IAAA2yB,OAAA,EAA7CA,EACGve,wBAAyBK,EAC3B,CACD,MAAMyd,EACLD,EAAqCjyB,IAErCoU,qBAAsB+d,EACtB7d,SAAU8d,GACPF,EAEEhL,EACLiL,IAAgCE,KAC9BD,KAAsBE,EAEzB,GAAIpwB,OAAO6J,KAAKmmB,GAAuB/xB,OAAS,GAAK+mB,EAAc,CAClE,IAAI0L,EAAiCtwB,IAAA,GACjC0R,EAA2B,CAC9BO,mBAAmB,IAEpB1E,EAAiB,CAChBmE,4BACC4e,IAEF9iB,EACCzC,GACAulB,EAEF,CACAF,GAAsB,EACtB,KACD,CACD,CAEKA,GAEH1e,EAA4BI,uBAC3Bie,KACCre,EAA4BM,YAAege,IAE7CziB,EAAiB,CAAEmE,gCACnBlE,EAASzC,GAAyB2G,M,cCtIrC,MAAMgU,GAAcC,KAEdV,GAAY,CAACjf,EAAAA,oBAGf0f,GAAc,GACjBT,GAAUvmB,KAAK4oB,KAGhBplB,EAAAA,EAAAA,qBlCfgC,mBkCeM,CACrC2a,KAAMta,EAAAA,QAENuiB,KAAMA,KAAMxiB,EAAAA,EAAAA,eAAA,aACZiuB,OAAM,KACN9gB,WAAY,CAEXX,gBAAiB,CAChBhQ,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAGdkG,eAAgB,CACfnsB,QAAS,GACTkmB,YAAY,GAEbqK,yBAA0B,CACzBvwB,QAAS,CAAC,EACVimB,aAAa,GAEdwC,cAAe,CACdvC,YAAY,EACZlmB,QAAS,CAAC,EACVimB,aAAa,GAEdqG,iCAAkC,CACjCtsB,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAGd4I,aAAc,CACb7uB,QAAS,GACTkmB,YAAY,EACZD,aAAa,EACbO,OAAQ,CACPzI,KAAM,SACNpN,WAAY,CAEXgC,UAAW,CAAEoL,KAAM,UACnB2T,aAAc,CAAE3T,KAAM,UAEtB4T,KAAM,CAAE5T,KAAM,UAEd+P,QAAS,CAAE/P,KAAM,WACjB6T,SAAU,CAAE7T,KAAM,WAClBgQ,UAAW,CAAEhQ,KAAM,WAEnBxH,MAAO,CAAEwH,KAAM,UAEf8T,QAAS,CAAE9T,KAAM,UAEjB+T,eAAgB,CAAE/T,KAAMgU,GAAAA,yBAI3B7F,aAAc,CACblsB,QAAS,IAAIsnB,IACbpB,YAAY,EACZD,aAAa,GAEdoJ,oBAAqB,CACpBrvB,QAAS,GACTkmB,YAAY,EACZD,aAAa,GAEd+L,wBAAyB,CACxBhyB,QAAS,GACTkmB,YAAY,GAEblX,aAAc,CACbhP,QAAS,KACTkmB,YAAY,GAEb+L,oBAAqB,CACpBjyB,QAAS,GACTkmB,YAAY,EACZD,aAAa,GAEd+J,OAAQ,CACPhwB,QAAS,MAEVwsB,aAAc,CACbxsB,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdjO,YAAa,CACZhY,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdrT,4BAA6B,CAC5B5S,QAAS,CACRgT,qBAAsB,KACtBE,SAAU,KACVC,kBAAmB,MAEpB+S,YAAY,EACZD,aAAa,EACbO,OAAQ,CACPzI,KAAM,SACNpN,WAAY,CAEXqC,qBAAsB,CAAE+K,KAAM,UAC9B7K,SAAU,CAAE6K,KAAM,WAClB5K,kBAAmB,CAAE4K,KAAM,eAK/BqI,eAAcllB,IAAA,GACVgxB,GACAC,GACAC,GACAC,GACAC,GAA4B,CAE/B,CAACtD,IAA4Cjc,IAA0B,IAAzB,iBAAEtE,GAAkBsE,EACjEtE,EAAiB,CAAEujB,wBAAyB,UAE7C,CAAC/C,IAA4CjM,IAA0B,IAAzB,iBAAEvU,GAAkBuU,EACjEvU,EAAiB,CAAEujB,wBAAyB,WAE7C,CAACjD,IAA0B7K,IAA0B,IAAzB,iBAAEzV,GAAkByV,EAC/CzV,EAAiB,CAAEujB,wBAAyB,MAE7C,CAACnoB,IAAoB,KAChBiQ,GAAiB9L,OAAOsK,SAAShD,KAAOwE,GAEvC9L,OAAOsK,SAAS4J,YAGvBiE,eCpKOrjB,KAAO,IAAIC,EAAI,CAAC,EAAGb,EAAoBK,EAAEQ,EAAGD,IAEf,CAAE,CAAG,G,8CCDqC,IAEzEyvB,GAAc,WAKlB,OAAAjJ,KAJD,SAAAiJ,EAAY7jB,GAAU8a,KAAA,KAAA+I,GACrB9zB,KAAK+zB,WAAa9jB,EAClBjQ,KAAKg0B,WAAa,GAClBh0B,KAAKi0B,UAAY,IAClB,EAAC,EAAA1xB,IAAA,QAAA6B,MACD,WAcCpE,KAAKi0B,UAAYC,YAbLC,KACX,GAA+B,IAA3Bn0B,KAAKg0B,WAAW1zB,OAKnB,YAJIN,KAAKi0B,YACRG,cAAcp0B,KAAKi0B,WACnBj0B,KAAKi0B,UAAY,OAInB,MAAMI,EAAYr0B,KAAKs0B,gBACjB,KAAEhV,EAAI,QAAEyH,EAAO,KAAE1H,GAASgV,EAChCr0B,KAAK+zB,WAAWzU,EAAMyH,EAAOtkB,IAAA,GAAO4c,EAAM,CAAAkV,kBAAkB,MAG3B,GACnC,GAAC,CAAAhyB,IAAA,WAAA6B,MACD,SAAS+a,GACRnf,KAAKw0B,SAASrV,EACf,GAAC,CAAA5c,IAAA,WAAA6B,MACD,SAAS+a,GACRnf,KAAKg0B,WAAW7yB,KAAIsB,IAAC,CAAC,EAAI0c,GAC3B,GAAC,CAAA5c,IAAA,eAAA6B,MACD,WACC,OAAOpE,KAAKg0B,WAAWS,OACxB,IAAC,CA9BkB,GAiCpB,MAAMC,GAAoB,CAAC,EAoCrB/M,GAAiB,CACtB,CAACre,GAAwBib,IAAkC,IAAjC,OAAEpF,EAAM,iBAAEnP,GAAkBuU,EACrDvU,EAAiByV,IAAqC,IAAlCvT,YAAY,YAAEyiB,IAAelP,EAChD,MACCsB,SAAS,UAAE7S,EAAS,QAAEmb,EAAO,MAAEvX,IAC5BqH,EACEyV,GAAgBxvB,EAAAA,EAAAA,OAAMiqB,GACzB,CAAC,EACD,CAAEA,QAASwF,QAAQxF,IAChByF,EAAcryB,IAAA,GAAQkyB,GAS5B,OARIG,EAAe5gB,KAClB4gB,EAAe5gB,GAAUzR,IAAA,GACrBqyB,EAAe5gB,GACf0gB,EAAa,CAChB9c,YAIG3S,EAAAA,EAAAA,SAAQwvB,EAAaG,GAOnB,CACNzN,cAAc,GAPP,CACN/C,UAAW,MACXvW,KAAM,cACN3J,MAAO0wB,MAQX,CAAC1rB,GAhE4BkL,IAAsB,IAArB,KAAE4K,EAAI,OAAEC,GAAQ7K,EAC9C,IAAK4K,IAASC,EAAQ,OACtB,IAAqC,IAAjCA,EAAOE,KAAKkV,iBAA2B,OAC3C,IAAIQ,EAAiBL,GAAkBxV,EAAKiQ,aACvC4F,IACJA,EAAiB,IAAIjB,GAAe5U,EAAKjP,UACzCykB,GAAkBxV,EAAKiQ,aAAe4F,GAGnCA,EAAed,WAClB9U,GAAUA,EAAO6V,iBAAmB7V,EAAO6V,kBAC3CD,EAAeE,SAAS9V,IAExB4V,EAAeG,UCmBjB,GA9DuB,CACtB,CAACprB,GAAyBwK,IAAkC,IAAjC,OAAE6K,EAAM,iBAAEnP,GAAkBsE,EACtD,MAAM,gBAAE6gB,EAAe,WAAEC,EAAU,cAAEC,GAAkBlW,EAAO4H,SAE7D1H,MAAM,QAAEiW,IACLnW,EACJnP,EAAiB,CAChBulB,iBAAiB,EACjBC,SAAUJ,EACVC,cAAeA,EACfF,gBAAiBA,EACjBM,uCAAwCH,KAG1C,CAACtrB,GAAwBua,IAA0B,IAAzB,iBAAEvU,GAAkBuU,EAC7CvU,EAAiB,CAChBulB,iBAAiB,EACjBC,SAAU,KACVH,cAAe,KACfF,gBAAiB,KACjBM,uCAAwC,CAAC,KAG3C,CAAC1rB,GAAyB0b,IAA4C,IAA3C,KAAEvG,EAAI,WAAEhN,EAAU,iBAAElC,GAAkByV,EAChE,MAAM,gBACL0P,EAAe,SACfK,EAAQ,uCACRC,GACGvjB,GAGe5K,EAAAA,EAAAA,mBAClB,kBAAkB6tB,MAClBjW,GAEUjP,SACV,mBACA,CACCmlB,WAAYI,EACZE,cAAc,EACdC,cAAc,GAEf,CACCL,QAAO7yB,IAAA,GACHgzB,KAKNzlB,EAAiB,CAChBulB,iBAAiB,EACjBC,SAAU,KACVH,cAAe,KACfO,cAAe,KACfH,uCAAwC,CAAC,KAG3C,CAACxrB,GAA0Bsc,IAAc,IAAb,KAAErH,GAAMqH,EACnCrH,EAAKjP,SAASjG,K,yBCvDhB,IAAI6rB,GAAyB,CAAC,EAE9B,SAASC,GAASh0B,GAAG,IAAAiS,EACpB,MAAMgiB,EAAe1zB,OAAOgS,OAAOwhB,IACnC,IACIr1B,EADA6uB,GAAU,EAEd,IAAK7uB,EAAI,EAAGA,EAAIu1B,EAAaz1B,OAAQE,IAEpC6uB,EAAU0G,EAAav1B,GAAGsB,IAAMutB,EAWjC,MAPiC,eAAvB,QAANtb,EAAAxE,cAAM,IAAAwE,GAAc,QAAdA,EAANA,EAAQiiB,oBAAY,IAAAjiB,OAAA,EAApBA,EAAsB9S,MACzB6X,QAAQE,IACP,0EAEDqW,GAAU,GAML,SAAyBvtB,EAAGutB,GAClC,IAAKA,EAAS,OAAO,KAIrB,MAAM4G,GAASj0B,EAAAA,EAAAA,GAAE,2CAGjB,OAFCF,GAAKyN,OAAOqS,OAAOsU,YAAcD,GACjCn0B,GAAKyN,OAAOqS,OAAOU,iBACb2T,CACR,CAZQE,CAAgBr0B,EAAGutB,EAC3B,CAaA,MAAM+G,GAAsB,CAC3BC,GAAAA,CAAIp1B,EAAIq1B,GACH/mB,SAAUrK,EAAAA,EAAAA,SAAQ2wB,KACrBtmB,OAAO0W,iBAAiB,eAAgB6P,IAEzCD,GAAuB50B,GAAMq1B,CAC9B,EAEAC,MAAAA,CAAOt1B,GACF40B,GAAuB50B,YACnB40B,GAAuB50B,IAC1BiE,EAAAA,EAAAA,SAAQ2wB,KACXtmB,OAAOsX,oBAAoB,eAAgBiP,IAG9C,GAGDzzB,OAAO4J,OAAOmqB,IACd,YC7DA,MAAM,GAFE/xB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,wCAA6C,KACjF,MAAMC,EAAYiyB,EAA+Hj1B,SAAWi1B,EAA+Hl1B,WAGpR,OAAIiD,EACHiyB,EAAwI,QAAEC,wCAI3ID,EAA+HC,yCAA2CD,EAAwI,SAAKA,EAAwI,QAAEC,yCACtc,wCAA6C,KAC/C,MAAMlyB,EAAYiyB,EAA+Hj1B,SAAWi1B,EAA+Hl1B,WAGpR,OAAIiD,EACHiyB,EAAwI,QAAEE,wCAI3IF,EAA+HE,yCAA2CF,EAAwI,SAAKA,EAAwI,QAAEE,2CCJvcC,GAAmB,CAAC,GAEpB,kBAAEC,IAAsBC,GAAAA,QAAAA,UAEjBC,GAAa,CAEzBC,IAAK,CACJC,GAAI,MACJC,OAAQ,IACRC,UAAWA,CAAC11B,EAAG21B,IAAM31B,GAAK21B,GAE3BC,GAAI,CACHJ,GAAI,KACJC,OAAQ,MACRC,UAAWA,CAAC11B,EAAG21B,IAAM31B,GAAK21B,GAG3BE,OAAQ,CACPL,GAAI,SACJC,OAAQ,IACRC,UAAWA,CAAC11B,EAAG21B,IAAM31B,IAAM21B,GAE5BG,UAAW,CACVN,GAAI,YACJC,OAAQ,KACRC,UAAWA,CAAC11B,EAAG21B,IAAM31B,IAAM21B,GAE5BI,WAAY,CACXP,GAAI,aACJC,OAAQ,aACRC,UAAWA,CAAC11B,EAAG21B,IAAM31B,EAAEg2B,WAAWL,KAIvBM,GAAkBC,IAC9B,IAAKA,EAAc,MAAO,GAE1B,IAAIl3B,EAAI,EACJuB,EAAI,GAER,MAAM41B,EAAe,GAErB,IAAIC,EAAe,CAAC,EACpB,KAAOp3B,EAAIk3B,EAAap3B,QAAQ,CAC/B,MAAMu3B,EAAIH,EAAal3B,GACvB,GAAU,MAANq3B,GAAar3B,IAAMk3B,EAAap3B,OAAS,EAAG,CAC/Cs3B,EAAgB,EAAIp3B,IAAMk3B,EAAap3B,OAAS,EAAIyB,EAAI81B,EAAI91B,EAC5D,IAAI+1B,EACHt3B,EAAI,EAAIk3B,EAAap3B,QACgB,QAArCo3B,EAAavhB,UAAU3V,EAAGA,EAAI,GAC3B,KACA,MACJo3B,EAAyB,WACxBp3B,IAAMk3B,EAAap3B,OAAS,EAAI,GAAKw3B,EACb,OAArBA,IAA2Bt3B,GAAQ,GACvCm3B,EAAax2B,KAAIsB,IAAC,CAAC,EAAIm1B,IACvBA,EAAe,CAAC,EAChB71B,EAAI,EACL,KAAiB,MAAN81B,GACVD,EAAgB,EAAI71B,EACpB61B,EAAiB,GAAI,SACrB71B,EAAI,IAEE,MAAN81B,GACAr3B,EAAI,EAAIk3B,EAAap3B,QACG,MAAxBo3B,EAAal3B,EAAI,IAEjBo3B,EAAgB,EAAI71B,EACpB61B,EAAiB,GAAI,YACrBp3B,IACAuB,EAAI,IAEE,MAAN81B,GAIM,eAHNH,EAAavhB,UACZ3V,EACAA,EAAIkoB,KAAKC,IAAI,GAAqB+O,EAAap3B,OAASE,KAGzDo3B,EAAgB,EAAI71B,EACpB61B,EAAiB,GAAI,aACrBp3B,GAAK,EACLuB,EAAI,IAEJA,GAAQ81B,EAGTr3B,GACD,CACA,OAAOm3B,GA+BKI,GAAoBA,CAAC7iB,EAAiB3D,KAClD,IAAIrM,EAAAA,EAAAA,SAAQqM,KAAoBrM,EAAAA,EAAAA,SAAQgQ,GAAkB,OAAO,EACjE,IACI8iB,EADA32B,GAAS,EAEb,MAAM,OAAEgN,EAAS,CAAC,GAAMkD,EACxB,IAAK,IAAI/Q,EAAI,EAAGA,EAAI0U,EAAgB5U,OAAQE,IAAK,CAChD,MAAMyD,EAAMiR,EAAgB1U,GAC5B,IAAIy3B,EAAUnB,GAAW7yB,EAAQ,IAAGizB,UACnC7oB,EAAOpK,EAAO,GACdA,EAAO,GAQR,GALwB5C,EAAN,MAAd22B,EAA6BC,EACnBnB,GAAWkB,GAAYd,UAAU71B,EAAQ42B,GAEvDD,EAAa/zB,EAAgB,WAEV,KAAf+zB,EAAmB,OAAO32B,CAC/B,CACA,OAAOA,GAGK62B,GAAsB9kB,IAClC,IAAKwI,MAAMC,QAAQzI,GAAe,OAClC,MAAM+kB,EAAgB/kB,EAAa4D,QAMnC,OALAmhB,EAAc3Z,QAAQ,CAACva,EAAKzD,KAC3B23B,EAAc33B,GAAoB,gBAAIi3B,GACrCU,EAAc33B,GAAc,aAGvB23B,GAGFC,GAA6CzoB,MAClD0oB,EACA9mB,EACAJ,EACA9C,EACAiqB,EACAC,EACAC,KAGA,MAAMC,GAAgBz0B,EAAAA,EAAAA,KACrBq0B,EACA,GAAGlnB,KAAS9O,OAAO6J,KAAKmC,GAAQ/N,UAChC,IAGD,IAAKm4B,EAAe,OAEpB,IAAIC,EAGJ,IAAK,MAAMvlB,KAAgBslB,EAAe,CACzC,MAAM,uBAAEE,GAA2BxlB,EACnC,IACCjO,EAAAA,EAAAA,SAAQiO,EAAaylB,0BAC0C,IAA/Db,GAAkBY,EAAwBpnB,GACzC,CACD,MACC6B,aAAcylB,EAAmB,WACjCjL,EACAlP,KAAM5G,EAAK,YACXghB,EAAW,wBACXC,GACG5lB,EAUJ,GATAulB,QAAuBH,EACtBM,EACAjL,EACA9V,EACAwgB,EACAE,EACAO,EACAD,GAEGJ,EACH,KAEF,CACD,CACA,OAAOA,GAGFM,GAAqBA,CAACxmB,EAAkBrB,EAAO9C,KACpD,IAAI+E,EAEJ,MAAM6lB,EAAmB9sB,KACnBI,GAAcvI,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkB1sB,YAAa,CAAC,GAC1DC,GAASxI,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkBzsB,OAAQ,CAAC,GAChDC,GAAmBzI,EAAAA,EAAAA,KACxBuL,OACA0pB,aAAgB,EAAhBA,EAAkBxsB,iBAClB,CAAC,GAGF,IAAIysB,EAAY,IAEZ72B,OAAOG,UAAUK,eAAeC,KAAK2J,EAAkB0E,KAC1D+nB,EAAY,KAEb,IAAIC,GAAkBn1B,EAAAA,EAAAA,KAAIuI,EAAa,SAAS2sB,IAAa,MAC7D,IAAKC,EAAiB,OACtB,MAAMC,EAAmBvnB,KACzB,GAAIunB,EAAiBD,GAAkB,CACtC,MAAME,EAAWD,EAAiBD,GAAiBnI,OACjD7f,GAAUA,EAAM9C,OAAO/N,SAAW+B,OAAO6J,KAAKmC,GAAQ/N,QACtD,GACF8S,GAAepP,EAAAA,EAAAA,KAAIq1B,EAAU,eAAgB,CAAC,EAC/C,MAAO,GAAI7mB,EAAiB2mB,GAAkB,CAC7C,IACIG,GADwBt1B,EAAAA,EAAAA,KAAIwI,EAAQ2sB,GAAiB,GAAG9qB,OACtB/N,OACtC,MAAM+4B,GAAWr1B,EAAAA,EAAAA,KAChBwO,EACA,GAAG2mB,KAAmBG,KACtB,CAAC,GAEFlmB,GAAepP,EAAAA,EAAAA,KAAIq1B,EAAU,eAAgB,CAAC,EAC/C,CACA,OAAOjmB,GAGKmmB,GAAY5pB,iBAOpB,IANJ4B,EAAe3O,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnB4P,EAAgB5P,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAChB2R,EAAuB7P,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACvB4R,EAAyB9P,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACzByP,EAAY3N,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACZod,EAAgBtb,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAEhB,IAAIoE,EAAAA,EAAAA,SAAQqM,GAAkB,OAC9B,IAAI,MAAEJ,EAAK,OAAE9C,EAAS,CAAC,EAAC,QAAEP,EAAO,OAAEuL,EAAS,CAAC,GAAM9H,EAC9ClD,IAAQA,EAAS,CAAC,GACvB,IACIuG,EADAV,EAAY5C,GAAaC,GAEzBA,SAAAA,EAAiBP,SACpB4D,EAAkBtD,GAAaC,EAAgBP,SAEhD,MAAMwoB,EpCYsB,WAAgB,IAAfl5B,EAAMsC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,EACtC,MAAM62B,EAAQ,uDACd,IAAIp4B,EAAS,GACb,IAAK,IAAIb,EAAI,EAAGA,EAAIF,EAAQE,IAC3Ba,GAAUo4B,EAAMC,OAAOhR,KAAKiR,MAAsBF,GAAhB/Q,KAAKkR,WAExC,OAAOv4B,CACR,CoCnBsBw4B,GACf9rB,EAAOD,aAAO,EAAPA,EAASC,KAChB+rB,EAAiB,CACtB/rB,OACAM,OAAM5L,IAAA,GAAO4L,GACb8C,QACAkI,SACAmgB,eACAtb,mBACAhK,aAEGU,IACHklB,EAAezrB,OAAO2C,OAAMvO,IAAA,GAAQ8O,EAAgBP,SAGjDlD,GAAWC,IAEdmG,EAAYU,EACT,GAAG7G,KAAQmG,KAAaU,IACxB,GAAG7G,KAAQmG,KAEf,MAAM6lB,EAAoBpD,GAAiBziB,GAC3C,GAAI6lB,EAAmB,CACtB,MAAM,iBACL7rB,EAAgB,WAChB0f,EAAU,UACVoM,GAAY,EAAK,YACjBlB,EAAc,GAAE,wBAChBC,EAA0B,IACvBgB,EAeJ,OAd+BxnB,GAC9BhB,EACAxD,EACAoD,EACAqB,EACAC,EACAC,KAE8BxE,GAC9B0oB,GAAkBrmB,EAAcqd,EAAUnrB,IAAA,GACtCq3B,EAAc,CACjBE,YACAjB,6BAEFt2B,IAAA,GAAYs3B,EAAmB,CAAAD,iBAAgBE,YAAWlB,eAC3D,CAEA,IACC5zB,EAAAA,EAAAA,SAAQsN,KACRtN,EAAAA,EAAAA,SAAQuN,KACRvN,EAAAA,EAAAA,SAAQwN,GAER,OAED/C,eAAe4oB,EACdnlB,EACAwa,EACA9V,EACAwgB,EACA2B,GAGC,IAFDlB,EAAuBn2B,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GAC1Bk2B,EAAWl2B,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GAEVs3B,EAAqB,KACrBF,EAAyB,SAAbC,EAChB,GAAIre,MAAMC,QAAQzI,GAAe,CAIhC,GAAIiN,GAAgB9O,GACnB,MA5OgC4oB,EAAC5oB,EAAiB6B,KACrD,MAAM,KACLuN,EAAI,OACJyZ,EACAC,qBAAsBC,EACtBC,sBAAuBC,IACpBx2B,EAAAA,EAAAA,KAAIuN,EAAiB,CAAC,eAAgB,CAAC,GAC3C,IAAIkpB,EAAsB,KAkB1B,MAjBa,YAAT9Z,IAAuBzb,EAAAA,EAAAA,SAAQk1B,QAMdt5B,IAApBw5B,IACCp1B,EAAAA,EAAAA,SAAQs1B,GAQT1hB,QAAQ4hB,MAAM,uCANdD,GAAsBr0B,EAAAA,EAAAA,MACrBgN,EACCC,GAAQA,EAAIsnB,0BAA4BH,GAV1CC,GAAsBr0B,EAAAA,EAAAA,MACrBgN,EACCC,GAAQA,EAAIsnB,0BAA4BP,GAcpCK,GAmNGN,CAAqB5oB,EAAiB6B,GAG9C,GAAIklB,EAAwB,CAC3B,MAAMmC,EAAsBrnB,EAAahN,KACvCw0B,GACAA,EAAY1sB,mBAAqBoqB,GAEnC,IAAKmC,GAAuBT,EAAW,OAUvC,OATArD,GAAiBziB,GAAUzR,IAAA,GACvBg4B,EAAmB,CACtB7M,aACAoM,aACIA,GAAa,CAChBlB,cACAC,4BAGFt2B,IAAA,GACIg4B,EAAmB,CACtB3iB,QACA8V,aACAoM,aACIA,GAAa,CAChBlB,eAGH,CAEA,MAAM+B,EpClN0B,SAClC9iB,EACA5G,GAGA,MAAMoH,EAAW,gCAAgCR,2BACjD,IAAI+iB,EACJ,OAJSl4B,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,SAKX,IAAK,UACJk4B,EAAY,uBAAuB3pB,sCACnC,MACD,IAAK,YACJ2pB,EAAY,mBAAmB3pB,sCAC/B,MACD,QACC2pB,EAAY,UAAU3pB,gCAExB,MAAM4pB,EAA2B,GAAGxiB,KAAYuiB,IAChD,OAAO92B,EAAAA,EAAAA,KAAIuL,OAAQwrB,GAA0B,EAC9C,CoC+LmCC,CAC/BjtB,EACAoD,EACA8oB,GAED,GAAIY,EAAyB,KAAAI,EAAAC,EAGvB3rB,OAAO4rB,sBACX5rB,OAAO4rB,oBAAsB,CAAC,GAC1B5rB,OAAO6rB,0BACX7rB,OAAO6rB,wBAA0B,CAAC,GACnC7rB,OAAO4rB,oBAAoB3B,GAAgB,IAAIzT,QAC7CC,IACAzW,OAAO6rB,wBAAwB5B,GAAgBxT,IAGjD4Q,GAAkBrmB,EAAcqd,EAAUnrB,IAAA,GACtCq3B,EAAc,CACjBE,YACAjB,6BAED,IAAIsC,QACG9rB,OAAO4rB,oBAAoB3B,GAC9B8B,EAAyB,KAM7B,GALID,EAAyBr4B,SAAS,QACpCq4B,EAA0BC,GAC1BD,EAAyBzpB,MAAM,OAG5BypB,GAA4BrB,EAAW,OAE5C,MAAMuB,EAAoBnoB,EAAahN,KACrCw0B,GACAA,EAAY1sB,mBACZmtB,GAGF,IAAIG,EASJ,OARIF,IACHE,EAA0BpoB,EAAahN,KACrCw0B,GACAA,EAAY1sB,mBACZotB,IAIH74B,IAAA,GACI84B,EAAiB,CACpBzqB,cAAewqB,EACW,QADWL,EAClCO,SAAuB,IAAAP,OAAA,EAAvBA,EAAyBnqB,cACzByqB,EAAkBzqB,cACrB6D,gBAAiB2mB,EACS,QADaJ,EACpCM,SAAuB,IAAAN,OAAA,EAAvBA,EAAyBvmB,gBACzB4mB,EAAkB5mB,gBACrBmD,QACA8V,aACAoM,YACAF,kBACIE,GAAa,CAChBlB,eAGH,CACC,IAAK,IAAIt4B,EAAI,EAAGA,EAAI4S,EAAa9S,OAAQE,IAAK,CAC7C,IAAIyD,EAAMmP,EAAa5S,GACvB,IAIO,IAHNu3B,GACC9zB,EAAIiR,gBACJ3D,GA2BD,OAxBK+mB,GACJ1B,GAAkBrmB,EAAcqd,EAAUnrB,IAAA,GACtCq3B,EAAc,CACjBE,YACAjB,6BAEFpC,GAAiBziB,GAAUzR,IAAA,GACvBwB,EAAG,CACN2pB,aACAoM,aACIA,GAAa,CAChBlB,cACAC,4BAIExnB,EAAgBP,SACnB/M,EAAM6Q,GACL1B,EACA7B,EAAgBP,OAChB/M,EACA8zB,KAGFt1B,IAAA,GACIwB,EAAG,CACN6T,QACA8V,aACAoM,YACAF,kBACIE,GAAa,CAChBlB,gBAKE70B,EAAIw3B,YACRvB,EAAkBz3B,IAAA,GACdwB,EAAG,CACN2pB,aACAoM,YACAliB,UAEH,CAGD,GAAIoiB,EAsBH,OArBK5B,GACJ1B,GAAkBrmB,EAAcqd,EAAUnrB,IAAA,GACtCq3B,EAAc,CACjBE,YACAjB,6BAEFpC,GAAiBziB,GAAUzR,IAAA,GACvBy3B,EACCF,GAAa,CAChBlB,cACAC,4BAGExnB,EAAgBP,SACnBkpB,EAAqBplB,GACpB1B,EACA7B,EAAgBP,OAChBkpB,EACAnC,KAGFt1B,IAAA,GACIy3B,EAAkB,CACrBJ,kBACIE,GAAa,CAChBlB,eAIJ,CACD,CAEA,IAAI,aACH1lB,EACAwa,WAAY8N,EACZhd,KAAMid,IACH33B,EAAAA,EAAAA,KAAIwO,EAAkB,GAAGrB,KAAS9O,OAAO6J,KAAKmC,GAAQ/N,UAAW,CAAC,GAEtE,MAAMg4B,EAAyB/lB,GAC9BhB,EACAxD,EACAoD,EACAqB,EACAC,EACAC,GAGD,IpC9auBrE,KACvB,MAAMutB,EAAgB,CAAC,QAAI96B,EAAW,MACtC,IAAK,MAAO,CAAEsD,KAAU/B,OAAOkrB,QAAQlf,GACtC,IAAK,MAAMiO,KAAOsf,EACjB,GAAIx3B,IAAUkY,EAAK,OAAO,EAG5B,OAAO,GoCuaFuf,CAAextB,GAEnB,OADA+E,EAAe4lB,GAAmBxmB,EAAkBrB,EAAO9C,SAC9CkqB,EACZnlB,EACAsoB,EACAC,EACArD,EACA,QACA,MAKF,MAAMwD,QACC1D,GACL3lB,EACAlB,EACAJ,EACA9C,EACAiqB,EACAC,EACA,WAEF,GAAIuD,EAAuB,OAAOA,EAGlC,KAAK52B,EAAAA,EAAAA,SAAQkO,GAAe,CAC3B,MAAM2oB,QAA4BxD,EACjCnlB,EACAsoB,EACAC,EACArD,EACA,QACA,MAED,GAAIyD,EAAqB,OAAOA,CACjC,CAGA,MAAMC,QACC5D,GACL1lB,EACAnB,EACAJ,EACA9C,EACAiqB,EACAC,EACA,aAEF,OAAIyD,IAGJ5oB,EAAe4lB,GAAmBxmB,EAAkBrB,EAAO9C,SAC9CkqB,EACZnlB,EACAsoB,EACAC,EACArD,EACA,QACA,MAEF,EC1jBa2D,GAAyBA,CAAC/c,EAAMC,EAAQ+c,KACpD,MAAM,KAAE7c,GAASF,GACX,wBAAEgd,EAAuB,iBAAEC,GA3BU,WAAwB,IAAvBC,EAAaz5B,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7D,MACCk2B,YAAawD,EAAsB,GACnC3B,wBAAyByB,GACtBC,EACEjsB,GAAoBpM,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,IAC/DwI,eAAgBokB,GACvB95B,OAAOgS,OAAOjE,GAAmBhK,KAChCkO,IAA6D,IAA5D,YAAEwkB,EAAc,GAAIyD,cAAc,MAAEtQ,EAAQ,IAAO,CAAC,GAAG3X,EACvD,OAAQwkB,GAAe7M,KAAWqQ,KAE/B,CAAC,EAEP,MAAO,CACNH,0BACAC,mBAEF,CAWEI,CAA6BN,GAExBxkB,EAAMgF,GAA0Bwf,IACtCj2B,EAAAA,EAAAA,MACCiZ,GACAnZ,EAAAA,EAAAA,kBAAiBsZ,GACjB5T,GACA,CACCiM,MACAykB,0BACAC,oBAED,U,gECrCIK,GAAcpD,IAEnB,MAA+BqD,EAAIjY,IAAK4U,EAAQ3U,IAC1CiY,GAAgBhsB,EAAAA,GAAAA,OAAM+rB,IACtB,OAAEruB,GAAWsuB,EAEnB,MAAO,CADG/gB,MAAMC,QAAQxN,GAAUA,EAAO/N,OAAS,EAEhDmC,IAAA,GAEGk6B,EAAa,CAChBvpB,aAAc8kB,GAAmByE,EAAcvpB,kBAKrCwpB,GAAuBlvB,IACnC,IAAKA,EAAc,OACnB,IAAImvB,EAAsB,CAAC,EAC3B,IAAK,IAAKt6B,EAAK6B,KAAU/B,OAAOkrB,QAAQ7f,EAAaM,QACpD5J,EAAMoa,QAAS6a,IACd,MAAO5f,EAAcqjB,GAAeL,GAAWpD,GAC/CwD,EAAoBt6B,GAAIE,IAAA,GACpBo6B,EAAoBt6B,GAAI,CAC3B,CAACkX,GAAeqjB,MAInB,OAAOD,GAGFE,GAAsBtE,GACpBp2B,OAAOkrB,QAAQkL,GAAe9xB,OACpC,CAAC6L,EAAgB8B,KAAmB,IAAhB/R,EAAK6B,GAAMkQ,EAC9B,MAAM0oB,GAAsBh5B,EAAAA,EAAAA,KAAIwO,EAAkB,CAACjQ,GAAM,CAAC,GAmB1D,OAlBA6B,EAAMoa,QAAS6a,IAAa,IAAA4D,EAC3B,MAAM,MAAE9rB,EAAK,uBAAEynB,GAAoCS,EAATqD,EAAIjY,IAAK4U,EAAQvU,KACpDrL,EAAcqjB,GAAeL,GAAWtrB,GAEzC+rB,EAC4B,QADMD,EACvCD,EAAoBvjB,UAAa,IAAAwjB,EAAAA,EAAI,GACtCC,EAAmC/7B,KAAIsB,IAAC,CAAC,EACrCi6B,EAAI,CACP9D,yBACAD,uBAAwBlB,GACvBmB,IAEEkE,IAEJE,EAAoBvjB,GACnByjB,KAEF33B,EAAAA,EAAAA,KAAIiN,EAAkB,CAACjQ,GAAMy6B,GACtBxqB,GAER,CAAC,G,sCCpBKof,oBAAmB,GAAE5Q,2BAA0BA,IAAKvc,EAAAA,YA8CrD,MA4GD04B,GAAyB5jB,IAC9B,IAAI6jB,EAAyB7jB,GAEzB,iBACH/G,EAAgB,wBAChBC,EAAuB,0BACvBC,EAAyB,gBACzB2qB,GACG9jB,QAAAA,EAAe,CAAC,EA+CpB,OA5CK/G,IACJA,EAAmBoqB,GAAoBrjB,GACnC/G,IACH4qB,EAAsB36B,IAAA,GAClB26B,EAAsB,CACzB5qB,uBAMEC,IACJA,EDzJyC8G,KAC1C,GAAIA,GAAelX,OAAOi7B,OAAO/jB,EAAa,uBAC7C,OAAOwjB,GAAmBxjB,EAAY3K,sBCuJZ2uB,CAA2BhkB,GACjD9G,IACH2qB,EAAsB36B,IAAA,GAClB26B,EAAsB,CACzB3qB,8BAMEC,IACJA,ED9JkD6G,KACnD,GAAIA,GAAelX,OAAOi7B,OAAO/jB,EAAa,mBAC7C,OAAOwjB,GAAmBxjB,EAAY1K,kBC6JrC2uB,CAAoCjkB,GACjC7G,IACH0qB,EAAsB36B,IAAA,GAClB26B,EAAsB,CACzB1qB,gCAME2qB,IACJA,EDzJiC9jB,KAClC,IAAKA,IAAgBlX,OAAOi7B,OAAO/jB,EAAa,uBAC/C,OAGD,MAAM,oBAAE3K,GAAwB2K,EAChC,OAAOlX,OAAOkrB,QAAQ3e,GAAqBjI,OAC1C,CAAC82B,EAAQlZ,KAAmB,IAAhBhiB,EAAK6B,GAAMmgB,EAStB,OARAngB,EAAMoa,QAASkf,IAAoB,IAAAC,EAClC,MAAM,SAAEC,EAAQ,YAAE9E,GAAgB4E,EAClC,IAAKE,GAAYA,IAAar7B,EAAK,OAEnC,MAAMs7B,EAA8C,QAAxBF,EAAGF,EAAS3E,UAAY,IAAA6E,EAAAA,EAAI,CAAC,EACzDE,EAAuBD,GAAYr7B,EACnCk7B,EAAS3E,GAAe+E,IAElBJ,GAER,CAAC,ICuIiBK,CAAmBvkB,GACjC8jB,IACHD,EAAsB36B,IAAA,GAClB26B,EAAsB,CACzBC,sBAKID,GCzPR,IAAIW,GAAe,CAAC,EAQb,SAASC,GAAyBC,GACxC,OAmBM,SAA2BC,EAAeD,GAChD,IAAI9O,EAAc4O,GAAaG,IAAkB,KACjD,IAAK/O,EAAa,CACjB,MAAMgP,EAAiB3lB,SAAS4lB,qBAAqBF,GACrD,IAAKC,EAAe79B,OAAQ,MAAO,CAAC,EACpC6uB,EAAcgP,EAAe,GAAGvlB,aAAa5P,GAC7C+0B,GAAaG,GAAiB/O,CAC/B,CAEA,MAAO,IAAIA,KAAe8O,GAC3B,CA7BQI,CAAkBp1B,EAAkBg1B,EAC5C,CCRO,MC8EMK,GAAuB,CA5ER,CAC3B5f,K9C0IoC,wB8CzIpC6f,aAAc,CACbC,kBAAkB,GAEnBtsB,WAAY,CACXusB,WAAY,CACXl9B,QAAS,KACTimB,aAAa,GAEdjW,gBAAiB,CAChBhQ,QAAS,KACTimB,aAAa,GAEdkG,eAAgB,CACfnsB,QAAS,MAEVozB,YAAa,CACZpzB,QAAS,CAAC,EACVimB,aAAa,GAEdoJ,oBAAqB,CACpBrvB,QAAS,MAEVgY,YAAa,CACZhY,QAAS,KACTimB,aAAa,EACbkX,qBAAqB,GAEtBlL,oBAAqB,CACpBjyB,QAAS,GACTimB,aAAa,GAEduG,aAAc,CACbxsB,QAAS,CAAC,EACVimB,aAAa,GAEdjG,kBAAmB,CAClBhgB,QAAS,GACTm9B,qBAAqB,GAEtBnuB,aAAc,CACbhP,QAAS,OAGXomB,eHmkBsB,CACtB,CAACxe,GAzX8CwG,UAO1C,IAAAgD,EAAAgsB,EAAAC,EAAAC,EAAA,IAPiD,KACtD3f,EAAI,OACJC,EAAM,SACNlP,EAAQ,WACRiC,EAAU,iBACVlC,EAAgB,MAChBsH,GACAhD,EACA,MAAM,gBAAE/C,EAAe,oBAAE0L,GAAwBkC,EAAO4H,QACxD,IAAI,YAAE4N,EAAW,eAAEjH,EAAc,YAAEnU,GAAgBrH,GAE/C,eAAEgO,GAAmB5I,EACpB4I,IACJA,EAAiBF,GAAkBzO,SAAwB,QAAToB,EAAfpB,EAAiBzD,eAAO,IAAA6E,OAAA,EAAxBA,EAA0B5E,OAE9D,MAAM+wB,EAAqB3B,GAAsB5jB,GAC5ClX,OAAO08B,GAAGD,EAAoBvlB,IAElCvJ,EAAiB,CAAEuJ,YAAaulB,IAEjC,MAAM,iBACLtsB,EAAgB,wBAChBC,EAAuB,0BACvBC,GACGosB,EAEJ,IAAI,aAAErR,EAAY,aAAEld,GAAiB2B,EACrC,MAAM,kBAGLge,GAAoB,GAEjB3e,EADAytB,EAAmBva,IACnBlT,EAAemT,IAEnB,IAAIxQ,EAAY5C,GAAa0tB,GACzBlK,EAAcryB,IAAA,GAAQkyB,GAC1B,MAAMsK,EAAYnK,EAAe5gB,GAEjC,IACE3C,GAC0B,iBAApBA,IACNA,EAAgBJ,MAEjB,MAAO,CAAC,EACT,IACE8tB,GAzH8BC,EAAC3tB,EAAiB2O,KAClD,IAAI,IAAAif,EACH,MAAMC,EAAalf,aAAc,EAAdA,EAAgBkf,WACnC,IAAKA,EACJ,OAAO,EAER,MAAM,MAAEjuB,GAAUI,EAClB,IAAI8tB,EAAkBC,KAAKC,MAAMH,GACjC,GAAIjuB,SAASkuB,GAA2B,QAAZF,EAAfE,EAAiBG,kBAAU,IAAAL,GAA3BA,EAA6Bn8B,SAASmO,GAClD,OAAO,CAET,CAAE,MAAOrP,GAER,OADAgX,QAAQ2mB,KAAK,wCAAyC39B,IAC/C,CACR,CACA,OAAO,GA2GNo9B,CAAkB3tB,EAAiB2O,MAClCjZ,EAAAA,EAAAA,qBAAoBsJ,EAAc2D,EAAW3C,EAAgBP,QAE9D,MAAO,CAAC,EAKT,GAFA8jB,EvClNyBH,KACzB,MAAMG,EAAiB,CAAC,EACxB,IAAK,IAAKvyB,EAAK6B,KAAU/B,OAAOkrB,QAAQoH,GAAc,CACrD,MAAM9f,EAAUpS,IAAA,GAAQ2B,GACxB0wB,EAAevyB,GAAIE,IAAA,GACfoS,EAAU,CACb6qB,WAAW,EACXC,WAAW,GAEb,CACA,OAAO7K,GuCwMU8K,CAAiB9K,GAGjCpH,GACAA,IAAmBxZ,GACnB4gB,EAAepH,KACdwC,EACA,CACD,MAAM2P,EAAYp9B,IAAA,GAAQqyB,EAAepH,IACzCoH,EAAepH,GAAejrB,IAAA,GAC1Bo9B,EAAY,CACfrS,UAAU,EACVsS,qBAAqB,IAAIzU,MAAOgG,WAElC,CAEA,IAAIgL,EAAa55B,IAAA,GACbu8B,EAAmB,CACtBvR,eACAvZ,YACAsZ,UAAW0C,EACX4P,qBAAqB,IAAIzU,MAAOgG,YAGjC,MAAMnT,EAAmBgS,GACtBrqB,EAAAA,EAAAA,wB9BlSI7B,EAAAA,EAAAA,KAAIuL,OAAQ,kCAAmC,I8BqStD,GAAK0vB,EAwCJhvB,EAASxF,GAA8BhI,IAAA,GAAO8O,QAxC/B,CACf,MAAM,iBACLrD,EAAgB,yBAChBE,EAAwB,cACxB2xB,EAAa,wBACbpF,EAAuB,WACvB/M,EACA9V,MAAOkoB,EAAY,4BACnBC,EAA2B,eAC3BnG,EAAc,UACdE,EAAS,YACTlB,EAAW,cACXhoB,EAAa,gBACb6D,SACU4kB,GACVyF,EACAxsB,EACAC,EACAC,EACA6G,EAAYhJ,aACZ2N,IACK,CAAC,EACPme,EAAa55B,IAAA,GACT45B,EAAa,CAChBnuB,mBACAE,2BACA2xB,gBACApF,0BACAlN,eACAG,aACAoS,eACAC,8BACAnG,iBACAE,YACAlB,cACAhoB,gBACA6D,oBAED1E,EAASzF,GAA4B/H,IAAA,GAAO8O,GAC7C,CAQAujB,EAAe5gB,GAAUzR,IAAA,GACpBw8B,GAASx8B,IAAA,GAASqyB,EAAe5gB,IAClCmoB,EAAa,CAChBne,qBAG4B,QAAzBygB,EAAA7J,EAAe5gB,UAAU,IAAAyqB,GAAzBA,EAA2B3E,YAAc9J,GAC5C+L,GAAuB/c,EAAMC,EAAM1c,IAAA,GAC/BqyB,EAAe5gB,KAIpBN,GAA4B3D,EAAQxN,IAAA,GAChC45B,EAAa,CAChBnM,oBACApf,cAAwC,QAA3B8tB,EAAE9J,EAAe5gB,UAAU,IAAA0qB,OAAA,EAAzBA,EAA2B9tB,cAC1C6D,gBAA0C,QAA3BkqB,EAAE/J,EAAe5gB,UAAU,IAAA2qB,OAAA,EAAzBA,EAA2BlqB,gBAC5CpE,kBAGD,MAAM,mBAAE2vB,EAAkB,mBAAEC,GvCzVYC,EAACzL,EAAaziB,KACtD,MAAM,WAAEusB,GAAevsB,GAEjB,mBAAEmuB,EAAkB,mBAAEC,GAAuB7B,GAAc,CAAC,EAC5D8B,GACLl7B,EAAAA,EAAAA,UAASg7B,IAAuBA,GAAsB,EACnDA,EAvDmC,GA0DvC,IAAIG,GACHn7B,EAAAA,EAAAA,UAASi7B,IAAuBA,GAAsB,EACnDA,EA3DmC,GA8DnCE,EAA0BD,IAC7BC,EAA0BD,GAE3B,IAAIL,EAAqB,GACrBC,EAAqB,GACzB,MAAMM,EAAS,IAAIp+B,OAAO6J,KAAKyoB,IAC7BvjB,KACA,CAAC5P,EAAG21B,IACHxC,EAAYwC,GAAG2I,oBACfnL,EAAYnzB,GAAGs+B,qBAEhB9O,OAAQxvB,IAAiC,IAA3BmzB,EAAYnzB,GAAG6tB,SAC7B2B,OAAQxvB,IAAkC,IAA5BmzB,EAAYnzB,GAAGgsB,UAG/B,GAAIiT,EAAOngC,OAASkgC,EAAyB,CAC5C,MAAME,EACLD,EAAOngC,OAASigC,EACbA,EACAE,EAAOngC,OACX4/B,EAAqBO,EAAOzpB,MAAMwpB,EAAyBE,GAC3DP,EAAqBM,EAAOzpB,MAAM0pB,EACnC,CACA,MAAO,CAAER,qBAAoBC,uBuCqT5BC,CAAiCtL,EAAgB5iB,GAE9CguB,GAAsBA,EAAmB5/B,OAAS,GACrD4/B,EAAmB1hB,QACjBjc,GACCuyB,EAAevyB,GAAIE,IAAA,GAChBqyB,EAAevyB,GAAI,CACtBm9B,WAAW,KAKXS,GAAsBA,EAAmB7/B,OAAS,IACrD6/B,EAAmB3hB,QACjBjc,GACCuyB,EAAevyB,GAAIE,IAAA,GAChBqyB,EAAevyB,GAAI,CACtBo9B,WAAW,KAGd1vB,E3CjYuC,4B2CiYH,CAAEkwB,yBAGb,IAAtBjQ,IAA4Bhc,EAAYwZ,GAE5C,MAAM,WAAEE,EAAU,wBAAE+M,GAA4B7F,EAAe5gB,GAE/DjE,EAAS5G,EAAwB,CAChCqkB,eAAgBxZ,EAChByZ,eAAgB,CACfC,aACAhB,SAAU+N,KAIZ3qB,EAAiB,CAChB2kB,YAAWlyB,IAAA,GAAOqyB,GAClBpH,eAAgBxZ,IAGhB+qB,GACAvR,GAAkBxZ,GAClB3E,OAAO4gB,uBAEP5gB,OAAO4gB,sBAAsB,KAE5B,MAAMpB,EAAckQ,EAAUnnB,MAE9B,GAAIiX,GAAesN,EAAc7O,SAAU,CAC1C,MAAMzV,GAAiB/T,EAAAA,EAAAA,KACtBq4B,EACA,yBACA,KAEDzzB,EAAAA,EAAAA,cAAa,KAAMmmB,EAAahX,EACjC,CACA9H,EAAStF,GAAsBlI,IAAA,GAAO8O,OAKvC0tB,IACC/5B,EAAAA,EAAAA,SAAQqM,EAAgBP,UACxB7L,EAAAA,EAAAA,SAAQoM,EAAgBP,OAAQiM,EAAoBjM,SAErDf,EAASrF,IAEVuU,EAAO6V,mBAmKP,CAACpD,IAAsBrL,IAKjB,IALkB,WACvBrU,EAAU,OACViN,EAAM,SACNlP,EAAQ,iBACRD,GACAuW,EACAtW,EAASvG,EAA4ByV,EAAO4H,SAC5C,MAAM,YAAExN,GAAgBrH,EAClByuB,EAAqBxD,GAAsB5jB,GAC5ClX,OAAO08B,GAAG4B,EAAoBpnB,IAClCvJ,EAAiB,CAChBuJ,YAAaonB,KAIhB,CAAC3f,IAjG2CtK,IAC5C,MACCyI,QACC4H,SAAS,KAAErI,EAAI,MAAEta,EAAK,cAAEytB,IACxB,WACD3f,EAAU,SACVjC,EAAQ,MACRqH,GACGZ,EAEJ,GACS,mBAARgI,GACAta,KAECytB,GACyB,iBAAlBA,GACqB,MAA5BA,EAAc6H,OAAO,IAErB,KAAAkH,EACD,MAAM,gBAAErvB,GAAoBW,GACtB,aAAE2uB,GAAiBvpB,EACzBrH,EAAS9G,EAA+B,CACvCoI,kBACA0L,oBAAqB4U,IAEtB,MAAMiP,EAAoBxvB,GAAaugB,GACjC5d,EAAmB3C,GAAaC,IAInCnM,EAAAA,EAAAA,OAAMysB,aAAa,EAAbA,EAAengB,iBACW,QAAjCmgB,SAAqB,QAAR+O,EAAb/O,EAAexjB,cAAM,IAAAuyB,OAAA,EAArBA,EAAuB3U,QACxB4U,EAAa78B,IAAIiQ,KAAsB6sB,GvC5PbC,MAAM,IAAAhtB,EAAAkM,EAClC,GAAW,QAAPlM,EAACxE,cAAM,IAAAwE,GAAK,QAALA,EAANA,EAAQitB,WAAG,IAAAjtB,IAAXA,EAAaktB,kBACjB,MAAM,IAAIC,MACT,sGAIF,OAAa,QAAbjhB,EAAO1Q,cAAM,IAAA0Q,GAAK,QAALA,EAANA,EAAQ+gB,WAAG,IAAA/gB,OAAA,EAAXA,EAAaghB,mBuCuPlBF,GAAuBI,gBACtBL,EACA7sB,EAGH,CAEY,qBAARyK,GAA+Bta,IAAUytB,GAjEZnb,KACjC,MACCxE,YAAY,kBACXqP,EAAiB,eACjBmM,EAAc,YACdiH,EAAW,YACXpb,GACA,iBACDvJ,GACG0G,EACJ,IAAK6K,GAAsBoT,UAAAA,EAAcjH,KAAoBnU,EAC5D,OAED,MAAMiU,EAAWjM,IAAsBhI,EAAYxL,KACnD,GAAI4mB,EAAYjH,GAAgBF,WAAaA,EAAU,CACtD,MAAMsH,EAAcryB,IAAA,GAAQkyB,GAC5BG,EAAepH,GAAejrB,IAAA,GAC1BkyB,EAAYjH,GAAe,CAC9BF,aAEDxd,EAAiB,CAAE2kB,YAAaG,GACjC,GA6CCsM,CAAyB1qB,IAwD1B,CAAChM,IAhLsCiF,UAOlC,IAPyC,KAC9CuP,EAAI,OACJC,EAAM,MACN7H,EAAK,YACL+pB,EAAW,WACXnvB,EAAU,SACVjC,GACAsU,EAECrS,EAAWX,mBACVrM,EAAAA,EAAAA,SAAQgN,EAAWX,gBAAgBP,UAEpC0lB,EAAAA,GAAAA,2CAA0C4K,KAAK,KAC9C,MAAMC,EACLhyB,OAAOiyB,qBAAuBjyB,OAAO4gB,sBAChCsR,EACLlyB,OAAOmyB,oBAAsBnyB,OAAOoyB,qBACrC,GAAIJ,GAAUE,EAAc,CAC3B,MAAMxgC,EAAKsgC,EAAO,KAEjBtxB,EAASrF,IACT62B,EAAaxgC,IAEf,MACCgP,EAASrF,MAKZ,MAAM,UAAEsJ,GAAciL,EAAO4H,QAEzBxX,QAAUA,OAAO4gB,uBACpB5gB,OAAO4gB,sBAAsB,KAC5B,MAAM,YAAEwE,GAAgBzV,EAAK4C,yBAA2B,CAAC,EACnDsY,EAASzF,EAAYzgB,GAEvBkmB,IAAWA,EAAOtiB,OAASsiB,EAAO4F,cACrC/vB,EAAS3G,EAAuB,CAC/B+lB,SAAS,EACTnb,YACA4D,MAAOsiB,EAAO4F,aACdxS,SAAU4M,EAAO5M,aAMrB,MAAM,iBAAEgR,GAAqBlnB,EACzBknB,KA5dE7uB,iBACN,MAAMiyB,EAAiB,IAAIC,IACrBC,EAAY,GACZ7I,EAAmB9sB,KACnB41B,GAAyB/9B,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkBzsB,OAAQ,CAAC,GAChEw1B,GAAiBh+B,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkBvsB,gBAAiB,CAAC,GACjEu1B,GAAaj+B,EAAAA,EAAAA,KAAIg+B,EAAgB,SAAU,MAC3CE,GAAcl+B,EAAAA,EAAAA,KAAIg+B,EAAgB,UAAW,MAEnD,IAAKC,IAAeC,EAAa,OAEjC7/B,OAAO6J,KAAK61B,GAAwBvjB,QAASrN,GAC5C2wB,EAAU3gC,KAAK4gC,EAAuB5wB,GAAO,KAG9C2wB,EACE1wB,KAAK,CAAC+wB,EAAMC,IAAUD,EAAKE,MAAQD,EAAKC,MAAQ,GAAK,GACrD7jB,QAAQ,CAACva,EAAKzD,KACVyhC,GAAczhC,GAAKyhC,GACnBrmB,MAAMC,QAAQ5X,EAAImP,eACrBnP,EAAImP,aAAaoL,QAAQ,CAAC8jB,EAAG9X,KACxB0X,GAAe1X,GAAK0X,GACpBI,EAAEp0B,kBACL0zB,EAAevL,IAAIiM,EAAEp0B,sBAK1B,MAAMqzB,EAAShyB,OAAOiyB,qBAAuBjyB,OAAO4gB,sBAC9CsR,EACLlyB,OAAOmyB,oBAAsBnyB,OAAOoyB,qBACrC,IAAKJ,IAAWE,EAAc,OAE9B,MAAMxgC,EAAKsgC,EAAO,KACjB,IAAK,IAAIrzB,KAAoB0zB,EAAgB,CAC5C,MAAMW,EAAYhB,EAAO,MACxBnkB,EAAAA,GAAAA,cAAa,CAAClP,IACduzB,EAAac,IAEf,CACAd,EAAaxgC,IAEf,CAobCuhC,GACAnB,EAAY,CAAE7C,kBAAkB,MA8HhC,CAAClxB,IAAyC,CACzC+b,OAtD6C5D,IAIzC,IAAAgd,EAAA,IAJ0C,WAC/CvwB,EAAU,iBACVlC,EAAgB,OAChBmP,GACAsG,EACA,MAAM,UAAEvR,EAAS,UAAEwuB,GAAcvjB,EAAO4H,SAClC,YAAE4N,GAAgBziB,EAExB,KAAMgC,KAAaygB,GAAc,OACjC,MAAMgO,GACiB,QAAtBF,EAAA9N,EAAYzgB,UAAU,IAAAuuB,OAAA,EAAtBA,EAAwBvkB,mBAAoB,GAOvC0kB,EAA0BF,GAC7B78B,EAAAA,EAAAA,uBACA88B,EAAwBE,SAAS,SAChCF,EACAA,EAA0B,QAExBG,EAAkBrgC,IAAA,GACpBkyB,EAAW,CACd,CAACzgB,GAASzR,IAAA,GACNkyB,EAAYzgB,GAAU,CACzBgK,iBAAkB0kB,MAGpBrzB,OAAOsO,eAAeK,iBAAmB0kB,EACzC5yB,EAAiB,CAAE2kB,YAAWlyB,IAAA,GAAOqgC,MAwBpC9N,iBAAiB,GAElB,CAACpqB,IAAsCwc,IAIjC,IAJkC,WACvClV,EAAU,iBACVlC,EAAgB,SAChBC,GACAmX,EAzjB6BzX,OAC9BuC,EACAlC,EACAC,KACI,IAAA6N,EAAAilB,EAAAC,EACJ,IAAI,gBAAEzxB,EAAe,YAAEojB,EAAW,aAAElH,EAAY,YAAElU,GACjDrH,EACD,GAAID,GAAoBC,GAAa,MAAO,CAAC,EAE7C,MAAMpE,EAAUyD,EAAgBzD,QAEhCyD,EAAkBA,EAAgBP,OAElC,IAAI8jB,EAAcryB,IAAA,GAAQkyB,GAEtBzgB,EAAY5C,GAAaC,GAE7B,MAAMsD,EAAaigB,EAAe5gB,GAElC,IAAImoB,EAAa55B,IAAA,GACb8O,EAAe,CAClBkc,eACAvZ,YACAsZ,UAAU,EACVsS,qBAAqB,IAAIzU,MAAOgG,YAEjC,MAAMnT,GACgB,QAArBJ,EAAAvO,OAAOsO,sBAAc,IAAAC,GAAS,QAATA,EAArBA,EAAuBE,eAAO,IAAAF,OAAA,EAA9BA,EAAgCG,wBAChCpY,EAAAA,EAAAA,uBAED,IAAKgP,EAAY,CAChB,MAAM,iBACL3G,EAAgB,yBAChBE,EAAwB,cACxB2xB,EAAa,wBACbpF,EAAuB,WACvB/M,EACA9V,MAAOkoB,EAAY,4BACnBC,EAA2B,eAC3BnG,EAAc,UACdE,EAAS,YACTlB,EAAW,cACXhoB,EAAa,gBACb6D,SACU4kB,GACV92B,IAAA,CAECqL,WACGyD,GAEJgI,EAAY/G,iBACZ+G,EAAY9G,wBACZ8G,EAAY7G,0BACZ6G,EAAYhJ,aACZ2N,IACK,CAAC,EACPme,EAAa55B,IAAA,GACT45B,EAAa,CAChBnuB,mBACAE,2BACA2xB,gBACApF,0BACAlN,eACAG,aACAoS,eACAlyB,UACAmyB,8BACAnG,iBACAE,YACAlB,cACAhoB,gBACA6D,mBAEF,CACAmgB,EAAe5gB,GAAUzR,IAAA,GACpBoS,GAAUpS,IAAA,GAASqyB,EAAe5gB,IACnCmoB,EAAa,CAChBne,qBAGDtN,GAA6CX,EAAQxN,IAAA,GACjD45B,EAAa,CAChB9rB,aAAcgJ,EAAYhJ,aAC1BO,cAAwC,QAA3BiyB,EAAEjO,EAAe5gB,UAAU,IAAA6uB,OAAA,EAAzBA,EAA2BjyB,cAC1C6D,gBAA0C,QAA3BquB,EAAElO,EAAe5gB,UAAU,IAAA8uB,OAAA,EAAzBA,EAA2BruB,mBAG7C3E,EAAiB,CAAE2kB,YAAWlyB,IAAA,GAAOqyB,MAmepCmO,CAAgB/wB,EAAYlC,EAAkBC,ME9oBL,CAC1CyO,K7C0I6C,iC6CzI7CxM,WAAY,CACXX,gBAAiB,CAChB,WAAIhQ,GACH,OAAOy8B,GAAyB,kBACjC,MERH,MAAM,GAFE35B,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,6BAAkC,KACtE,MAAMC,EAAY2+B,EAAuG3hC,SAAW2hC,EAAuG5hC,WAGpO,OAAIiD,EACH2+B,EAAgH,QAAEC,6BAInHD,EAAuGC,8BAAgCD,EAAgH,SAAKA,EAAgH,QAAEC,gCCX7WC,GAAkB,sBAClBC,GAAY,YACZC,GAAW,WACXC,GAAoB,OACpBC,GAAS,SACTC,GAAa,aACbC,GAAW,QACXC,GAAO,OACPC,GAAQ,QACRC,GAAgB,OAChBC,GAAkB,OCgBlBC,GAA4BA,CAAC9iC,EAAIie,KAC7C,MAAM8kB,ECgCoCC,EAAChjC,EAAIie,KAC/C,MAAM8kB,GAAe38B,EAAAA,EAAAA,sBAAqB,IAAIm8B,OAAWviC,MAAQie,GACjE,OAAK8kB,GAAiBA,EAAa1jC,OACV0jC,EAAahT,OACpCkT,GACAA,EAAYC,WAAaf,IACzBc,EAAYE,cAAcxrB,aAAayqB,MAAeC,IAJN,MDlC7BW,CAA4BhjC,EAAIie,GACrD,OAAK8kB,GAAiBA,EAAa1jC,QAC9B0jC,EAAavwB,KAAM4wB,GAASA,aAAI,EAAJA,EAAMC,QAIhC,EAAC,EAAMN,GALoC,EAAC,OAAOljC,IAuC9CyjC,GAAiCA,CAACtjC,EAAI8lB,EAASyd,KAC3D,MAAM,WAAEC,GAAa,GAAS1d,EAC9B0d,EC7BwCC,EAACzjC,EAAIujC,KAE7CA,EAAcJ,cAAcO,WAAWnmB,QAAS6lB,IAC/C,MAAMO,EAAQP,EAAKzrB,aAAa4qB,IAChCa,EAAKQ,aAAapB,GAAYmB,IAAU3jC,EAAK0iC,GAAOC,IAEhDS,EAAKS,MAAMC,OADfH,IAAU3jC,EACc4iC,GACAC,GACxBO,EAAKS,MAAMvvB,SAAWmuB,MDsBpBgB,CAA0BzjC,EAAIujC,GClDMQ,EAAC/jC,EAAIujC,KAC5C,IAAK,IAAIH,KAAQG,EAAcJ,cAAcO,WAC9BN,EAAKzrB,aAAa4qB,MAClBviC,GACbojC,EAAKQ,aAAapB,GAAYE,IAC9BU,EAAKS,MAAMC,OAASxB,GACpBc,EAAKS,MAAMvvB,SAAWmuB,KAEtBW,EAAKS,MAAMC,OAASjB,GACpBO,EAAKQ,aAAapB,GAAYG,MD0C7BoB,CAAyB/jC,EAAIujC,IASpBS,GAAqCA,CAAChkC,EAAIie,KACtD,MAAMglB,ECLsCgB,EAACjkC,EAAIie,KACjD,MAAMglB,GAAc58B,EAAAA,EAAAA,mBAAkB,IAAIk8B,OAAWviC,MAAQie,GAC7D,OAAKglB,EACDA,EAAYC,WAAaf,IACvBc,EAAYE,cAAcxrB,aAAayqB,MAAeC,GADP,KAI9CY,EALkB,MDGLgB,CAA8BjkC,EAAIie,GACtD,OAAOglB,EAAc,EAAC,EAAMA,GAAe,EAAC,OAAOpjC,IAqBvCqkC,GAAmCA,CAACC,EAAQhQ,EAAYlW,KACpE,MAAMmmB,GAAoB/9B,EAAAA,EAAAA,mBAAkB,YAAY89B,MAAYlmB,GACpE,GAAImmB,EAAmB,CACtB,MAAM,aAAEC,EAAe,IAAOD,EAAkBvjB,wBAC1CyjB,EAAgBD,EACpBtU,OAAQ9wB,GAASmC,OAAO6J,KAAKhM,GAAMI,OAAS,GAC5CklC,UAAWtlC,GAASA,EAAKk1B,aAAeA,GAC1C,IAAuB,IAAnBmQ,EAAsB,OCnBeE,EAC1CF,EACAG,KAEA,IAAIC,EAGJ,MAAMC,EAAqB,IAAIF,EAAiBf,YAAY3T,OAC1DqT,GAASA,EAAKF,WAAaf,IAG7B,IAAK,MAAOyC,EAAOxB,KAASuB,EAAmBrY,UAC1CsY,IAAUN,GACblB,EAAKQ,aAAapB,GAAYE,IAC9BthC,OAAOK,OAAO2hC,EAAKS,MAAO,CACzBC,OAAQxB,GACRhuB,SAAUmuB,KAEXiC,EAAetB,IAEfA,EAAKS,MAAMC,OAASjB,GACpBO,EAAKQ,aAAapB,GAAYG,KAG5B+B,GAAcA,EAAaG,SDC9BL,CAA4BF,GALHj+B,EAAAA,EAAAA,mBACxB,yBACA+9B,EAAkBjB,eAIpB,GEpGY2B,GAAmC,SAC/C5mB,EACAD,GAGA,MAAM,GAAEje,GAAOke,EAAOE,MACf2mB,GAAiB,EAAOC,EAAiB,IAC/ClC,GAA0B9iC,EAAIie,GAC3B8mB,GFkBiCE,EAACjlC,EAAIglC,KAE1CA,EAAeznB,QAAS6lB,IACvB,MAAMO,EAAQP,EAAKzrB,aAAa4qB,IAChCa,EAAKQ,aACJpB,GACAmB,IAAU3jC,IAAsB,IAAhBojC,EAAKC,OAAkBX,GAAOC,IAE/CS,EAAKS,MAAMC,OACVH,IAAU3jC,IAAsB,IAAhBojC,EAAKC,OAClBT,GACAC,GACJO,EAAKS,MAAMvvB,SAAWmuB,ME9BHwC,CAAuBjlC,EAAIglC,EAChD,ECRaE,GAA+B,CAE3C,CAACn5B,IAAyBsH,IAAA,IAAC,OAAE6K,EAAM,KAAED,GAAM5K,EAAA,OAC1CyxB,GAAiC5mB,EAAQD,GAAM,IAEhD,CAACpS,IAAiCyX,IAAA,IAAC,OAAEpF,EAAM,KAAED,GAAMqF,EAAA,OAClDwhB,GAAiC5mB,EAAQD,GAAM,IAEhD,CAACnS,IAA+B0Y,IAAA,IAAC,OAAEtG,EAAM,KAAED,GAAMuG,EAAA,MDOM2gB,EAACjnB,EAAQD,KAChE,MAAM,GAAEje,GAAOke,EAAOE,MAChB,QAAE0H,GAAY5H,GACb6mB,GAAiB,EAAOxB,EAAgB,CAAC,GAC/CS,GAAmChkC,EAAIie,GACpC8mB,GACHzB,GAA+BtjC,EAAI8lB,EAASyd,ICZ5C4B,CAAyCjnB,EAAQD,IAElD,CAACjS,IAA+BsZ,IAAA,IAAC,OAAEpH,EAAM,KAAED,GAAMqH,EAAA,MDkBA8f,EAAClnB,EAAQD,KAC1D,MAAMglB,GAAc58B,EAAAA,EAAAA,mBnD2KpB,sCmDzKC4X,GFwCiDonB,MErC7CpC,IFqC6CoC,EEpCfpC,KFsCnCoC,EAAwBzB,aDjFA,WACM,KCiF9ByB,EAAwBR,UG/DvBO,CAAmClnB,EAAQD,IAE5C,CAAChS,IAAoBka,IAAA,IAAC,OAAEjI,EAAM,KAAED,GAAMkI,EAAA,MD8Bcmf,EAACpnB,EAAQD,KAC7D,MAAQje,GAAImkC,GAAWjmB,EAAOE,MACxB,WAAE+V,EAAU,KAAE9V,EAAO,IAAOH,EAAO4H,QAC5B,aAATzH,GACH6lB,GAAiCC,EAAQhQ,EAAYlW,ICjCrDqnB,CAAsCpnB,EAAQD,MCb/C8B,2BAA0B,uBAC1BwlB,GACAzlB,uBAAsBA,IACnBtc,EAAAA,YAoBSgiC,GAA8B,CAC1C,CAACD,IAAsBlyB,IAIjB,IAAA3B,EAAA,IAJkB,KACvBuM,EACAhN,YAAY,gBAAEX,GAAiB,YAC/B8vB,GACA/sB,EACA,MAAM4L,EAAiBF,GACtBzO,SAAwB,QAAToB,EAAfpB,EAAiBzD,eAAO,IAAA6E,OAAA,EAAxBA,EAA0B5E,MAEvBmS,GACHmhB,EAAY,CACXtzB,KAAM,iBACN3J,MAAO8b,EACPoE,UAAW1f,EAAAA,sBAAsB8hC,OACjCC,cAAc,IAGhB,MAAM/B,EAAQ1lB,EAAKtG,aAAa,UAEhCwd,GAAoBC,IAAIuO,EAAO,MAWvB1lB,EAAK0nB,qBAAsB1nB,EAAKqW,kBAGzC,CAACxU,IAAyBwD,IAAc,IAAb,KAAErF,GAAMqF,EAClC,MAAMqgB,EAAQ1lB,EAAKtG,aAAa,UAChCwd,GAAoBG,OAAOqO,IAE5B,CAAC5jB,IAA6ByE,IAOxB,IAPyB,MAC9BnO,EAAK,YACL+pB,EACAliB,QAAQ,QAAE4H,GACV7U,YAAY,YAAEyiB,EAAW,gBAAEpjB,GAAiB,iBAC5CvB,EAAgB,SAChBC,GACAwV,EACA,MAAM,KAAE/G,EAAI,MAAEta,EAAK,cAAEytB,GAAkB9K,EACvC,GAAK3iB,EAEL,GAAa,iBAATsa,EAAyB,CAC5B,MAAMmoB,GAA0B7/B,EAAAA,EAAAA,kCAC/B6qB,EACAztB,GAGK0iC,EAAmB,IAAIje,IAAIvR,EAAMupB,cACvCgG,EAAwBroB,QAASte,IAAS,IAAA6mC,EACzC,MAAM,UAAE7yB,EAAS,aAAEsY,GAAiBtsB,EACpC,IAAI8mC,EAAuB,KAC3B,IAAK9yB,IAAcsY,EAAc,OACjC,IAAIya,EAAYxkC,IAAA,GAAQkyB,GAExB,MAAM,MAAExjB,EAAK,OAAE9C,EAAM,eAAEqD,EAAc,QAAE5D,GAASrL,IAAA,GAC5C8O,GAEJ,IAAIqB,EAAOnQ,IAAA,GAAQ4L,GACfqD,GAAkB8a,EAAa9a,GAClCkB,EAAQlB,GAAkB8a,EAAa9a,GAEvCkB,EAAOnQ,IAAA,GAAQmQ,EAAY4Z,GAE5B,IAAI0a,EAASh2B,GAAkB0B,EAASzB,GAGvC+1B,IAAWhzB,GACX7R,OAAOG,UAAUK,eAAeC,KAC/BmkC,EACA/yB,KAGD+yB,ECtHE,SAAyBhjC,EAAKkjC,EAAQD,GAC5C,KAAMC,KAAUljC,IAAQkjC,IAAWD,EAAQ,OAAOjjC,EAClD,MAAMmjC,EAAS,CAAC,EAChB,IAAK,MAAM7kC,KAAOF,OAAO6J,KAAKjI,GACzB1B,IAAQ4kC,EACXC,EAAOF,GAAUjjC,EAAIkjC,GAErBC,EAAO7kC,GAAO0B,EAAI1B,GAGpB,OAAO6kC,CACR,CD2GoBC,CACdJ,EACA/yB,EACAgzB,GAGDD,EAAaC,GAAOzkC,IAAA,GAChBwkC,EAAaC,GAAO,CACvB74B,OAAQuE,EACRsB,UAAWgzB,IAGZJ,EAAiBvhC,IAAI2hC,EAAQhzB,GAC7BmtB,EAAY,CACXR,aAAciG,MAKuB,KAAf,QAApBC,EAAAE,EAAaC,UAAO,IAAAH,OAAA,EAApBA,EAAsBvZ,YACzBwZ,EAAuB,CACtBj5B,KAAM,iBACN3J,MAAO8iC,EACP5iB,UAAW1f,EAAAA,sBAAsB0iC,MAGnCt3B,EAAiB,KACT,CACNjC,KAAM,cACN3J,MAAO6iC,EACP3iB,UAAW1f,EAAAA,sBAAsB0iC,OAG/BN,GACHh3B,EAAiB,IAChBvN,IAAA,GAAYukC,KAIhB,MAAO,GAAa,wBAATtoB,EAAgC,CAC1C,IAAMta,MAAOwsB,GAAwB7J,EACrC,IAAK6J,IAAwBhV,MAAMC,QAAQ+U,GAC1C,OACD5gB,EACCuW,IAAwD,IAArDrU,YAAcyiB,YAAa4S,IAAqBhhB,EAIlD,MAAO,CACNjC,UAAW,MACXvW,KAAM,cACN3J,OANsBoC,EAAAA,EAAAA,MAAK+gC,EAAmB,IAC3C3W,OASN3gB,EAASmX,IAAwD,IAArDlV,YAAcyiB,YAAa4S,IAAqBngB,EAC3D,MAAMogB,GAAiBhhC,EAAAA,EAAAA,MAAK+gC,EAAmB,IAC3C3W,IAEJ,MAAO,CACNtR,KAAMzV,EACNkd,QAAS,CACRjZ,QAASyD,aAAe,EAAfA,EAAiBzD,QAC1B6mB,YAAa6S,MAIhBv3B,ErD9HF,2CqD8HwC,CACrC2gB,oBAAqB,IAEvB,MAAO,GAAa,wBAATlS,EAAgC,CAC1C,IAAK9C,MAAMC,QAAQzX,IAA2B,IAAjBA,EAAM9D,OAAc,OAEjD,MAAMw0B,GAAiBnkB,EAAAA,GAAAA,OAAMgkB,GAC7BvwB,EAAMoa,QAAS4b,WAIPtF,EAAesF,EAAOlmB,cAGzB/O,EAAAA,EAAAA,SAAQ2vB,EAAgBH,IAC5B3kB,EAAiB,CAChB2kB,YAAaG,GAEhB,KAIFnwB,EAAAA,EAAAA,qBrDnM8B,iBqDmMM,CACnC2a,KAAMta,EAAAA,QACNuiB,KE1MekgB,IACf,MAAM,gBACLl2B,EAAe,YACfojB,EAAW,aACXlH,EAAY,eACZ9W,EAAc,UACd+wB,EAAS,YACTnuB,EAAW,aACXhJ,EAAY,gBACZglB,GACGkS,EAAav1B,WACjB,IAAKX,GAA8C,iBAApBA,EAA8B,OAAO,KACpE,IAAKm2B,GAAkC,iBAAdA,EAAwB,OAAO,KAwExD,MAtEuB/S,KACtB,IAAKA,EAAa,OAAO,KACzB,MAAMgT,EAAa,GAanB,OAZAtlC,OAAO6J,KAAKyoB,GAAanW,QAASoO,IAEjC,MAAAgb,EACCjT,EAAY/H,IADP,WAAEpG,GAAgDohB,EAAZ/yB,EAAU4P,IAAAmjB,EAAAljB,IAEtDijB,EAAWxmC,KAAIsB,IAAC,CAAC,EACboS,GACEgzB,MAAMrhB,IAAe,CACzBshB,wBAAyBthB,QAM3BzhB,EAAAA,EAAAA,eAAA,QAAM,cAAY/C,EAAAA,EAAAA,GAAE,kBAAmB+lC,UAAU,kBAC/CJ,EAAW1nC,IAAK4U,IAChB,IAAImzB,EAAU,UACe,IAAzBnzB,EAAW8qB,UAAoBqI,EAAU,UACX,IAAzBnzB,EAAW6qB,YAAoBsI,EAAU,WAElD,MAAMC,EACLtxB,aAAc,EAAdA,EAAiB9B,EAAWX,WAE7B,OACCnP,EAAAA,EAAAA,eAAA,oBACCxC,KDpDwBA,ECqDvBsS,EAAWX,UDrDiBjU,ECsD5BwnC,EAAa5G,aDrDb5gC,EAAI+D,IAAIzB,GAAOtC,EAAI+D,IAAIzB,GAAOA,GCuD/B,kBAAiB0lC,EACjB,gBAAe13B,EACf,YAAWsE,EAAWX,UACtB,cAAAzR,IAAA,GAAkBoS,GAClB,gBAAe4Y,EACf,aAAYia,EACZ,eAAcnuB,EACd,WAAUyuB,EACVlD,MACCjwB,EAAW2Y,SAAW,CAAC,EAAI,CAAE0a,QAAS,UDjEvC,IAAwB3lC,EAAKtC,ICsE/Bs1B,IACAxwB,EAAAA,EAAAA,eAAA,aACCu/B,OAAQ/O,EACR3uB,KAAK,KACLuhC,cAAY,EACZ,eAAcj+B,GACd/J,QAASgK,GACT,iBAAgB,CACf,CACCi+B,QAAS,UACTta,OAAO9rB,EAAAA,EAAAA,GAAE,YACTqmC,gBAAiBt+B,GAElB,CACCq+B,QAAS,YACTta,OAAO9rB,EAAAA,EAAAA,GAAE,UACTqmC,gBAAiBr+B,QASjBs+B,CAAc3T,EACrB,EFsHA3B,OAAM,KACNuL,aAAc,CACbsC,aAAc,IAAIhY,IAClB3I,eAAgB,MAEjBwH,UAAW,IACP4W,GPtKqC,CACzC5f,KAAM,gCACNxM,WAAY,CACXke,aAAc,CACb7uB,QAAS,GACTimB,aAAa,KAKmB,CAClC9I,KAAM,gBACNxM,WAAY,CACXub,aAAc,CACblsB,QAAS,QAK0B,CACrCmd,KAAM,mBACNxM,WAAY,CACXw1B,UAAW,CACVnmC,QAAS,CAAC,KOmJX,CACCgnC,SAAUpF,GAAAA,6BACVxkB,QAAS,CACRqP,WjBlKsC,SAAU3U,GACnD,MAAM,QAAEgW,EAAO,6BAAEmZ,GAAiCnvB,EAClDmvB,EAA6B,CAC5B5B,mBAAoBvX,GAEtB,KiBiKCnd,WAAY,CACXqjB,gBAAiB,CAChBh0B,SAAS,EACT+d,KAAM,WAEPkW,SAAU,CACTj0B,QAAS,KACT+d,KAAM,UAEP+V,cAAe,CACd9zB,QAAS,KACT+d,KAAM,UAEP6V,gBAAiB,CAChB5zB,QAAS,KACT+d,KAAM,UAIPsnB,mBAAoB,CACnBrlC,SAAS,EACT+d,KAAM,WAEP3I,eAAgB,CACfpV,QAAS,CAAC,GAEXk0B,uCAAwC,CACvCl0B,QAAS,CAAC,EACV+d,KAAM,WAGRqI,eAAcllB,IAAA,GACVklB,GACA8e,GACAgC,GACAtC,MGxQL,MAAM,GAFE9hC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,gBAAqB,KACzD,MAAMC,EAAYmkC,EAA8GnnC,SAAWmnC,EAA8GpnC,WAGlP,OAAIiD,EACHmkC,EAAuH,QAAEC,gBAI1HD,EAA8GC,iBAAmBD,EAAuH,SAAKA,EAAuH,QAAEC,mBCTlY,MAAM,GAFEtkC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bb,EAAoBK,EAAEQ,EAAGD,GAAWC,GAE1B,CAAE,CAAE,kBAAuB,KAC3D,MAAMC,EAAYqkC,EAAsGrnC,SAAWqnC,EAAsGtnC,WAGlO,OAAIiD,EACHqkC,EAA+G,QAAEC,kBAIlHD,EAAsGC,mBAAqBD,EAA+G,SAAKA,EAA+G,QAAEC,qBCX/VC,GAAgBA,CAACC,EAAQC,KACrC,GAAKD,GAAWC,EAAhB,CACA,IAAK,MAAM9kC,KAAQ8kC,EAClBD,EAAO7kC,GAAQ8kC,EAAQ9kC,GAExB,OAAO6kC,CAJwB,GCQnBE,GAAyB30B,IAMhC,IANiC,MACtClQ,EAAQ,CAAC,EAAC,cACVytB,EAAgB,CAAC,EAAC,MAClBva,EAAK,WACLpF,EAAU,KACVgN,GACA5K,EACA,MAAM,UAAE40B,GAAc5xB,GAChB,UAAEowB,EAAY,CAAC,GAAMx1B,EAC3B,IACEg3B,GAC4B,GAA7BA,EAAUC,SAAS7oC,QACsB,GAAzC4oC,EAAUC,SAAS,GAAGA,SAAS7oC,OAE/B,OACD,MACC+Y,OAAQ+vB,EAAa,CAAC,EACtB/6B,OAAQg7B,EACRvvB,OAAQwvB,GACLzX,GACE,yBACLzjB,EAA2B,CAAC,EAAC,OAC7BC,EAAS,CAAC,EAAC,OACXgL,EAAS,CAAC,EAAC,eACX3H,EAAc,SACd8b,EAAQ,UACRkS,GAAY,EAAK,oBACjBI,EAAmB,OACnBhmB,GACG1V,EACAopB,IAAUjoB,EAAAA,EAAAA,KAAIgK,OAAQ,4BAA6B2P,GAGvD,MAAMqqB,EAAUL,EAAUC,SAAS,GAAGA,SAAS,GAC/C,KAAKhkC,EAAAA,EAAAA,SAAQkU,EAAQ+vB,IAAeG,EAAS,CAC5C,MAAMC,EAAe/mC,IAAA,GACjB2L,EAAwB,CAC3B0L,UACGT,EACAhL,GAEAqD,GAAkB83B,EAAgB93B,KACrC83B,EAAgB93B,GACfrD,EAAOqD,GAAgBE,MAAM,SAAS,IACpC43B,GACHnnC,OAAO6J,KAAKs9B,GAAiBhrB,QAC3Bjc,GAASgnC,EAAQhnC,GAAOinC,EAAgBjnC,GAE5C,MAKE8L,SAAAA,EAAQ4d,OACU,QAAlB5d,aAAM,EAANA,EAAQ4d,QADR5d,MAEAA,GAAAA,EAAQ4d,MAAMuL,WAAW,OACH,QAAtB6R,aAAU,EAAVA,EAAYpd,SAEZ5d,EAAO4d,MAAQ,QAGX9mB,EAAAA,EAAAA,SAAQkJ,EAAQg7B,IAAeE,GACnClnC,OAAO6J,KAAKmC,GAAQmQ,QAASjc,GAASgnC,EAAQhnC,GAAO8L,EAAO9L,IAC5DgnC,EAAQzvB,OAASA,GACPA,IAAWwvB,GAAcC,IACnCA,EAAQzvB,OAASA,GAInB,IAAIkvB,EAAU,CACb5O,OAAM33B,IAAA,CACL+qB,WACAic,YAAa/J,GACTI,GAAuB,CAAEA,yBAI3B4H,IAAWsB,EAAQtB,UAAYA,GAwE5B,SAHN/nB,GACC,gDACA,WA/DG6N,IAAUwb,EAAQhB,Q3DoIO,U2DlI7BgB,EAA4B,kBAAInU,QAAQrH,IAEzCsb,GAAcS,EAAO9mC,IAAA,GAAOumC,KC1D7B,MAAM,qBAAEU,GAAoB,8BAAEC,IAC7B5iC,EAAAA,yBAEOia,2BAA0B,sBAAE4oB,IAAuBnlC,EAAAA,YAG3DuH,GAAiBwS,QAAS0a,KACzBv0B,EAAAA,EAAAA,qBAAoB,mBAAmBu0B,IAAa,CACnD5Z,KAAMta,EAAAA,QAENuiB,KAAMA,KACLxiB,EAAAA,EAAAA,eAAA,eACC+oB,MAAO/hB,GAAemtB,GACtB2Q,MAAM,IACNzB,QAAQ,sBAMZ,MA+Pa0B,GAAwBvlB,IAA4B,IAA3B,OAAEpF,EAAM,WAAEjN,GAAYqS,EAC3D,IAAKpF,EAAO6V,gBAAiB,OAC7B,MAAM,WAAEngB,GAAe3C,EACvB,GAAK2C,IAAsC,IAAxBA,EAAW2Y,UAEvB,GAAmC,YAA/BrO,EAAO4H,QAAQvC,YAA2B,KAAAulB,EACpD,IAAI5mB,EAAStO,EACb,KAAOsO,EAAOnS,QAAQmS,EAASA,EAAOnS,OACtC,MAAM,MAAEG,EAAK,OAAE9C,EAAM,OAAEgL,GAAW8J,EAClC,GAAI9U,SAAa,QAAP07B,EAAN17B,EAAQ4d,aAAK,IAAA8d,GAAbA,EAAevS,WAAW,MAAO,QACrCjyB,EAAAA,EAAAA,KAAI4Z,EAAQ,sBAAuB,CAAEhO,QAAO9C,SAAQgL,UACrD,OAPC8F,EAAO6V,kBAUR,GAAIngB,EAAWmlB,UAAW,CACzB,MAAMgQ,GAAUhmC,EAAAA,EAAAA,KAAImb,EAAQ,CAAC,UAAW,SAAU,IAC5C8qB,GAAkBjmC,EAAAA,EAAAA,KACvBkO,EACA,CAAC,cAAe,kBAAmB2C,EAAWikB,YAAakR,GAC3D,IAEGC,IACH1kC,EAAAA,EAAAA,KAAI4Z,EAAQ,CAAC,UAAW,SAAU8qB,GAGnC,MAAMC,GAAgBlmC,EAAAA,EAAAA,KACrBmb,EACA,CAAC,UAAW,cAAe,SAC3B,IAEKgrB,GAAgCnmC,EAAAA,EAAAA,KACrCkO,EACA,CACC,cACA,kBACA2C,EAAWikB,YACXoR,GAED,IAEGC,IACH5kC,EAAAA,EAAAA,KACC4Z,EACA,CAAC,UAAW,cAAe,SAC3BgrB,EAGH,GAiCKC,GAAyB,CAC9BpV,iBAAiB,EACjB3L,OAAS3S,IACR,MAAM,WACLxE,EACAiN,QACC4H,SAAS,KAAEhZ,EAAI,MAAE3J,EAAK,UAAEimC,IACxB,SACDp6B,GACGyG,GAGH7B,YAAY,UAAEX,IACXhC,EAEJjC,EAAS05B,GAA+B,CACvCz1B,YACAnG,OACA3J,QACAimC,gBAKGC,GAAqB,CAC1BtV,iBAAiB,EACjB3L,OAAS3S,IACR,MAAM,MAAEY,GAAUZ,EACZwyB,EAAY5xB,EAAM4xB,UAClBqB,EAAarB,aAAS,EAATA,EAAWvE,WAAW,GACrC4F,IACCrB,EAAUsB,2BACbC,aAAavB,EAAUsB,iCAChBtB,EAAUsB,0BAElBD,EAAWG,UAAUrU,IAAI,yBACzBsU,WAAW,KACVzB,EAAU0B,YAAYL,IACpB,QAKA5iB,GAAiB,CACtB,CAAC3G,IAzJyC1M,IAKrC,IALsC,OAC3C6K,EAAM,MACN7H,EAAK,WACLpF,EAAU,KACVgN,GACA5K,EACA,MAAM,KAAEoK,EAAI,MAAEta,EAAK,cAAEytB,GAAkB1S,EAAO4H,QAC9C,OAAQrI,GACP,KAAKzT,GACJg+B,GAAuB,CACtB7kC,QACAytB,gBACAva,QACApF,aACAgN,SAED,MACD,IAAK,eDxLiCuG,KAIlC,IAJmC,MACxCrhB,EAAQ,CAAC,EAAC,cACVytB,EAAgB,CAAC,EAAC,MAClBva,GACAmO,EACA,KAAKtgB,EAAAA,EAAAA,SAAQf,EAAOytB,GAAgB,KAAAgZ,EACnC,MAAM,UAAE3B,GAAc5xB,EACtB,IAAI+sB,EAAO6E,SAA4B,QAAnB2B,EAAT3B,EAAW4B,yBAAiB,IAAAD,OAAA,EAA5BA,EAA8BC,kBACrCzG,GAAQjgC,aAAiBykB,MAC5Bwb,EAAK5W,aAAerpB,EAEtB,GC8KE2mC,CAAyB,CAAE3mC,QAAOytB,gBAAeva,UACjD,MACD,IAAK,YD7M8BiN,KAA2B,IAA1B,MAAEngB,EAAQ,CAAC,EAAC,MAAEkT,GAAOiN,EAC1D,MAAM,UAAE2kB,GAAc5xB,EACtB,IAAK4xB,EAAW,OAChB,IAAIK,EAAU,KAEgB,GAA7BL,EAAUC,SAAS7oC,QACsB,GAAzC4oC,EAAUC,SAAS,GAAGA,SAAS7oC,SAE/BipC,EAAUL,EAAUC,SAAS,GAAGA,SAAS,IAG1CL,GAAcI,EAAW,CAAExB,UAASjlC,IAAA,GAAO2B,KAEvCmlC,GACHT,GAAcS,EAAS,CAAE7B,UAASjlC,IAAA,GAAO2B,MCgMxC4mC,CAAsB,CAAE5mC,QAAOytB,gBAAeva,UAC9C,MACD,IAAK,iBDhLmCiP,KAIpC,IAAA0kB,EAAAC,EAAA,IAJqC,MAC1C9mC,EAAQ,CAAC,EAAC,MACVkT,EAAK,WACLpF,GACAqU,EACA,MAAM,UAAE2iB,GAAc5xB,GAChB,WAAEzC,GAAe3C,EAEjBi5B,EACsC,QADXF,EAChC7mC,aAAK,EAALA,EAAQyQ,EAAW8lB,gCAAwB,IAAAsQ,EAAAA,EAAI,KAEhD,IAAI5G,EAAO6E,SAA4B,QAAnBgC,EAAThC,EAAW4B,yBAAiB,IAAAI,OAAA,EAA5BA,EAA8BJ,kBACrCzG,GACHyE,GAAczE,EAAM,CACnB,CAACh3B,IAA8B5K,IAAA,GAC3B0oC,MCkKJC,CAA2B,CAAEhnC,QAAOkT,QAAOpF,iBAkI7C,CAAC5I,GA3EuCmc,IAAmC,IAAlC,OAAEtG,EAAM,WAAEjN,EAAU,MAAEoF,GAAOmO,EACtE,MAAM,QAAE3X,EAAO,MAAEqD,EAAK,OAAE9C,EAAM,OAAEgL,EAAM,OAAErI,EAAM,SAAE0S,GAC/CxR,EAAW2C,WAcZ,IAbAtP,EAAAA,EAAAA,KAAI4Z,EAAQ,mBAAoBjN,EAAW2C,WAAW2Y,WACtDjoB,EAAAA,EAAAA,KAAI4Z,EAAQ,oBAAqBjN,EAAW2C,WAAWX,YACvD3O,EAAAA,EAAAA,KAAI4Z,EAAQ,sBAAuBjN,EAAW0yB,QAC9Cr/B,EAAAA,EAAAA,KAAI4Z,EAAQ,gCAAiC,CAC5CrR,UACAqD,QACA9C,SACAgL,SACArI,SACA0S,cAIGilB,EAAAA,GAAAA,oBAAqBz2B,EAAW2C,WAAW2Y,SAAU,CACxD,MAAM,UAAE0b,EAAS,mBAAEmC,GAAuB/zB,EAE1C,GAAI+zB,EACH,OAGDV,WAAW,KACV,MAAM,sBAAEW,IAA0BzC,EAAAA,GAAAA,mBAAkBK,GACpDoC,SAAAA,EAAuBxF,SA1VqB,IA4V9C,GAiDA,CAACt8B,GAAoBsgC,GACrB,CAACrgC,GAAkBqgC,GACnB,CAACJ,IAAuBU,GACxB,CAACzgC,GAAqC2gC,KAInC3B,EAAAA,GAAAA,qBACHhhB,GAAeiiB,IAAsB,CACpC2B,SAAU,CAAE7sB,KAAM7Z,EAAAA,cAAc2mC,SAAUC,MAAO,KACjDpiB,OAAQ9C,IAA4B,IAA3B,MAAEjP,EAAK,YAAE+pB,GAAa9a,EAC9B,MAAM,UAAE2iB,EAAS,mBAAEmC,GAAuB/zB,EAE1C,GAAI+zB,EACH,OAGD,MAAM,sBAAEC,IAA0BzC,EAAAA,GAAAA,mBAAkBK,GACpDoC,SAAAA,EAAuBxF,QAEvBzE,EAAY,CACXtzB,KAAM,qBACN3J,OAAO,EACPkgB,UAAW,MACXqiB,cAAc,O,yBC7blB,MAAM+E,GAA6B,CAClCC,UAAU,EACVC,MAAM,EACNC,Q7D6M4C,2B6D5M5CC,I7D8MA,8E6D5IcnnC,EAAAA,EAAAA,qB7DzEiB,mB6DyEqB,CACpD2a,KAAMta,EAAAA,QACNuiB,KAlEoBwkB,CAACtE,EAAYnzB,KAAgC,IAAA03B,EAAA,IAEhEC,EACAC,GAHkC,YAAE7K,EAAW,SAAEpxB,GAAUqE,EACxD63B,GAA0B,EAG9B,MAAM,WAAEt3B,GAAuC,QAA3Bm3B,EAAGvE,aAAY,EAAZA,EAAcv1B,kBAAU,IAAA85B,EAAAA,EAAI,CAAC,EAEpD,KAAK9mC,EAAAA,EAAAA,SAAQ2P,EAAWorB,6BAA8B,KAAAmM,EAAAC,EAAAC,EACrD,MAAMrM,EACLprB,EAAWorB,4BACZkM,GAC0D,KAAzDlM,SAA2C,QAAhBmM,EAA3BnM,EAA6BsM,sBAAc,IAAAH,OAAA,EAA3CA,EAA6CI,SAC9CP,EAE0C,MADxChM,SAA2C,QAAhBoM,EAA3BpM,EAA6BsM,sBAAc,IAAAF,OAAA,EAA3CA,EAA6CI,U7DaG,G6DXlDP,GACCjM,SAA2C,QAAhBqM,EAA3BrM,EAA6BsM,sBAAc,IAAAD,OAAA,EAA3CA,EAA6CJ,iBAAkB,EACjE,CACA,MAAMQ,EAAgBC,IACrB,IAAKA,EAAK,OAEVtL,EAAY,CAAE6H,UAAWyD,EAAKhG,cAAc,IAE5C,MAAM,WAAE9xB,GAAe4yB,EAAav1B,YAC/BhN,EAAAA,EAAAA,SAAQ2P,IDWIlF,eAClBu5B,EACAh3B,EACAjC,GAEI,IAAA28B,EAAA9uB,EAAA+uB,EAAAC,EAAA,IADJC,EAAgBnqC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,IAAAA,UAAA,GAEhB,IAAKsmC,EAAW,OAChB,MAAM,WACLr0B,EAAU,eACV8B,EAAc,aACd8W,EAAY,UACZia,EAAS,YACTnuB,EAAW,aACXhJ,GACG2B,EACEgN,EAA8B,QAA1B0tB,EAAG1D,EAAUvjB,qBAAa,IAAAinB,OAAA,EAAvBA,EAAyB1tB,KACtC,IAAIhB,EACkB,QADFJ,EACnBvO,OAAOsO,sBAAc,IAAAC,GAA2B,QAA3B+uB,EAArB/uB,EAAuBkvB,iCAAyB,IAAAH,OAAA,EAAhDA,EAAA/pC,KAAAgb,EAAmDoB,GAChDrK,EAAW2Y,WAAUjoB,EAAAA,EAAAA,KAAIgK,OAAQ,4BAA6B2P,GAClE,IAAI,iBACHhR,EAAgB,yBAChBE,EAA2B,CAAC,EAAC,wBAC7BusB,EAAuB,eACvBjpB,EAAc,OACdrD,EAAS,CAAC,EAAC,OACXgL,EAAS,CAAC,EAAC,cACX0mB,EAAgB,GAAE,SAClBvS,EAAQ,UACRkS,GAAY,EAAK,oBACjBI,EAAmB,OACnBhmB,EAAM,eACNggB,EAAc,UACdE,EAAS,YACTlB,GACGjkB,EAEJ,MAAM,MAAE1D,GAAU0D,EACZo4B,GAAuB5vB,EAAAA,GAAAA,iCAC5Bsd,EACAoF,GAGD,IAAI7G,EACJ,MAAMD,EAAmB9sB,KACnBI,GAAcvI,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkB1sB,YAAa,CAAC,GAC1DC,GAASxI,EAAAA,EAAAA,KAAIuL,OAAQ0pB,aAAgB,EAAhBA,EAAkBzsB,OAAQ,CAAC,GAChDC,GAAmBzI,EAAAA,EAAAA,KACxBuL,OACA0pB,aAAgB,EAAhBA,EAAkBxsB,iBAClB,CAAC,GAGF,IAAKyB,EAAkB,CACtBgrB,EAAY,IAER72B,OAAOG,UAAUK,eAAeC,KAAK2J,EAAkB0E,KAC1D+nB,EAAY,KAEb,MAAM1mB,EACL+G,GAAeA,EAAY/G,iBACxB+G,EAAY/G,iBACZoqB,GAAoBrjB,GAElB2zB,GAAiBlpC,EAAAA,EAAAA,KAAIuI,EAAa,SAAS2sB,IAAa,MAC9D,IAAI9lB,EAAe,GACfimB,EAAW,CAAC,EAEhB,GAAI6T,EAAgB,CACnB,MAAM9T,EAAmBvnB,KACzB,GAAIunB,EAAiB8T,GACpB7T,EAAWD,EAAiB8T,GAAgBlc,OAC1C7f,GACAA,EAAM9C,OAAO/N,SAAW+B,OAAO6J,KAAKmC,GAAQ/N,QAC5C,QACI,GAAIkS,EAAiB06B,GAAiB,CAC5C,IAEI5T,GAFwBt1B,EAAAA,EAAAA,KAAIwI,EAAQ0gC,GAAgB,GACtD7+B,OACoC/N,OACtC+4B,GAAWr1B,EAAAA,EAAAA,KACVwO,EACA,GAAG06B,KAAkB5T,KACrB,CAAC,EAEH,CACAlmB,GAAepP,EAAAA,EAAAA,KAAIq1B,EAAU,eAAgB,IAC7ChrB,GAASrK,EAAAA,EAAAA,KAAIq1B,EAAU,SAAU,CAAC,IAC7Bn0B,EAAAA,EAAAA,SAAQkO,KACZlF,EAAmBkF,EAAa,GAAGlF,iBACnCE,EACCgF,EAAa,GAAGhF,yBAEnB,CAEA,IAAKF,EAAkB,CACtB,IAAIi/B,EAAU30B,SAASzT,cACtB,mBAAmBm0B,KAEpBiU,EAAQpF,UAAY,oBAAoB7O,IACxC,MAAMqQ,EAAUL,EAAUvE,WAAW,GAGrC,OAFI4E,GAASL,EAAUkE,aAAaD,EAAS5D,QAC7Ct5B,EAAS,uBAAwB,CAAC,EAEnC,CACD,CAEA,MAAMo9B,IAAgC9zB,EAAY+zB,kBAIlD,IAAIC,GAA6B,EACjC,MAAMlU,EAAW9f,SAAmB,QAARuzB,EAAXvzB,EAAavL,cAAM,IAAA8+B,OAAA,EAAnBA,EAAsB37B,GAEf,IAAAq8B,GAAnBtoC,EAAAA,EAAAA,SAAQm0B,KACZkU,IAAwC,QAAXC,EAAAnU,EAAS,UAAE,IAAAmU,GAAiB,QAAjBA,EAAXA,EAAap6B,aAAa,UAAE,IAAAo6B,IAA5BA,EAC1BF,oBAKJ,MAAMG,EAAgB,CACrB,CAAC9gC,IAA4B,CAC5B,CAACC,IAA6BygC,EAC9B,CAACxgC,IAAyB0gC,IAItBG,EAAajrC,IAAA,GACf2L,EAAwB,CAC3B0L,UACGT,EACAhL,EACAo/B,GAaJ,IAAIE,EAVA3T,IACH0T,EAAcE,oCAAsC,CACnDC,qBAAsB/U,IAIpBpnB,GAAkBg8B,EAAch8B,KACnCg8B,EAAch8B,GACbrD,EAAOqD,GAAgBE,MAAM,SAAS,IAGxC,MAAMk8B,EAAc5E,EAAUzwB,cAAcw0B,GAEvCa,IACJH,QAAiBxwB,EAAAA,GAAAA,oBAChBjP,EAAgBzL,IAAA,GAEZirC,GAEJn9B,EAGAupB,EACA5b,IAIF,MAAM6vB,EAA4Bp3B,aAAc,EAAdA,EAAiBgkB,GAG7CqO,EAAOvmC,IAAA,CACZurC,gBAAiB,CAAEC,qBAAsBtT,IACrClN,GAAgBA,aAAwB5E,KAAO,CAAE4E,gBAAc,CACnE2M,OAAM33B,IAAA,CACL+qB,WACAic,YAAa/J,GACTI,GAAuB,CAAEA,wBAE9B4H,aACIqG,GAA6B,CAChC,CAAC1gC,IAAiC0gC,IAI9BG,EAAuBC,IAC5B,MAAMC,EAAqBA,KAC1Bn+B,EAAS,uBAAwB,CAChCiE,UAAWW,EAAWX,YAGvBi6B,EAAOtnB,oBAAoB,oBAAqBunB,IAEjD,GAAIrB,EAAkB,CACrB,MAAMsB,EAAyBA,KAC9Bp+B,EAAStG,IAEVwkC,EAAOloB,iBACN,uCACAooB,EACA,CAAEC,MAAM,GAEV,CACAH,EAAOloB,iBAAiB,oBAAqBmoB,IAG9C,GAAIN,EAAa,CAEO5E,EAAUC,SAAS,GAC3B5S,SACf,MAAMgY,EAAeT,EAAY3E,SAAS,GAG1C,OAFAL,GAAcyF,EAAY9rC,IAAA,GAAOumC,SACjCkF,EAAoBK,EAErB,CAEA,GAAIZ,GAAYA,EAASxE,SAAS7oC,OAAS,EAAG,CAC7CwoC,GAAc6E,EAASxE,SAAS,GAAE1mC,IAAA,GAAOumC,IAGzCkF,EADqBP,EAASxE,SAAS,IAGvC,MAAMqF,EACLh2B,SAASzT,cAAckoC,GACxBuB,EAAyBC,YAAYd,GAErC,MAAMpE,EAAUL,EAAUvE,WAAW,GACjC4E,GACHL,EAAUkE,aAAaoB,EAA0BjF,EAEnD,CACD,CC1OGmF,CACC/B,EACAlF,EAAav1B,WACbjC,EACAk8B,GAEEA,IACHl8B,EAAS,uBAAwB,CAChCiE,UAAWW,EAAWX,YAEvBy4B,EAAInC,yBAA2BG,WAC9B,IAAM16B,EAAStG,GACfsiC,KAIG0C,EAAkBxC,IACvBpnC,EAAAA,EAAAA,eAAA,OAAKgjC,UAAW,mBACfhjC,EAAAA,EAAAA,eAAA,YACCA,EAAAA,EAAAA,eAAA,qBACC+oB,MAAOoe,EACP0C,gBAAiBlD,OAKfiC,GAAW5oC,EAAAA,EAAAA,eAAA,aAAQonC,IAA2BnqC,EAAAA,EAAAA,GAAE,eACtD,OACC+C,EAAAA,EAAAA,eAAA,WACC,cAAawf,IAAA,IAAC,IAAEsqB,GAAKtqB,EAAA,OAAKmoB,EAAamC,IACvC,eAAcC,IAAMpC,EAAa,MACjC3E,UAAU,mBACVjD,MAAO,CAAEiK,OAAQ,SAEhBpB,EACAgB,IAQH3b,OAAM,KACNtL,UAAW,CACV,CACC6gB,SAAUpF,GAAAA,6BACVxkB,QAAS,CACRqP,WC5F+B3U,IAClC,MAAM,QAAEgW,EAAO,6BAAEmZ,GAAiCnvB,EAElDmvB,EAA6B,CAC5Bz6B,KAAM,qBACNuW,UAAW,MACXlgB,MAAOirB,KDuFL2f,oBAAoB,KAIvB98B,WAAY,CACX,CAACjH,IAAc,CACd1J,QAAS,KACTimB,aAAa,GAEdiG,aAAc,CACblsB,QAAS,KACTimB,aAAa,GAEdkgB,UAAW,CACVnmC,QAAS,CAAC,EACVimB,aAAa,GAEd7Q,eAAgB,CAAC,EACjB4C,YAAa,CACZhY,QAAS,KACTimB,aAAa,GAEdjX,aAAc,CACbhP,QAAS,KACTimB,aAAa,IAGf+W,aAAc,CACb8M,oBAAoB,GAErB1jB,eAAcA,K,yBEjIf,M,iDCoBCiK,oBAAmB,GACnB5Q,2BAA0B,GAC1BwlB,oBAAmB,GACnBzlB,uBAAsBA,IACnBtc,EAAAA,YA4HEkjB,GAAiB,CACtB,CAACiK,IAAsBjiB,UAAkD,IAAAs/B,EAAA,IAA3C,KAAE/vB,EAAI,WAAEhN,EAAU,iBAAElC,GAAkBoX,EACnE,MAAMmK,GAASrf,SAAyB,QAAf+8B,EAAV/8B,EAAY8X,qBAAa,IAAAilB,GAAM,QAANA,EAAzBA,EAA2BC,YAAI,IAAAD,OAAA,EAA/BA,EAAiCtgB,SAAU,KACpDwgB,QCnJDx/B,eAAuC4hB,GAC7C,IAAI6d,EAEJ,IACC,MAAMC,QAA6BhnC,EAAAA,EAAAA,yBAAwB,iBAAkB,mCAC3E4b,QAP+B,wBAQjC,GAAIorB,GAAwBA,EAAqB9d,SAAWA,EAAQ,CAEnE,IAAA+d,EAD+BD,IAA7B9d,UAA0B+d,GAAfF,EAAc3qB,IAAA6qB,EAAA5qB,GAE5B,CAED,CAAE,MAAO5iB,GAGRgX,QAAQ4hB,MAAM,8CAA+C54B,EAC9D,CACA,OAAOstC,CACR,CDmIUG,CAAwBhe,IAAY,CAAC,EAC7CvhB,EAAiB,CAChBw/B,0BAAyB/sC,IAAA,GAAO0sC,KAGjC,MAAMM,EAA8B9/B,UACnC,GAAIuP,GAAQA,EAAKwwB,YAAa,CAC7B,MAAMC,EAA6BzwB,EAAKwwB,YACvC,6BAEKE,EACL1wB,EAAKwwB,YAAY,4BC5If//B,eAA+By/B,EAAgB7d,GAErD,UACOlpB,EAAAA,EAAAA,yBAAwB,iBAAkB,mCAC9C2c,QAzB+B,uBA0BTviB,IAAA,CAErB8uB,UACG6d,GAGP,CAAE,MAAOttC,GAGR,YADAgX,QAAQ4hB,MAAM,sCAAuC54B,EAEtD,CACD,CD6HU+tC,CAAeptC,IAAC,CAAD,EACfktC,EAA+BC,GACpCre,EAEF,CACAhiB,OAAOsX,oBACN,eACA4oB,IAIFlgC,OAAO0W,iBAAiB,eAAgBwpB,IAEzC,CAACzuB,IAA6B8uB,IAKxB,IALyB,OAC9B3wB,EAAM,MACN7H,EAAK,WACLpF,EAAU,iBACVlC,GACA8/B,EAxIyCvrB,KAIrC,IAJsC,WAC3CrS,EAAU,OACViN,EAAM,iBACNnP,GACAuU,EACA,MACCwC,SAAS,KAAErI,EAAI,MAAEta,IACd+a,GACE,mBAAE4wB,EAAkB,gBAAEC,GAAoB99B,EAChD,GAAa,oBAATwM,EAA4B,KAAA4I,EAC/B,MAAMxZ,GAAU1J,SAAc,QAATkjB,EAALljB,EAAO0J,eAAO,IAAAwZ,OAAA,EAAdA,EAAgBvZ,OAAQ,KAERkiC,EAASxrB,IAAKrgB,EAAKsgB,IAEnD,IAAK5W,EAAS,OACd,MAAMoiC,EAAqB,IAAIrnB,IAAImnB,EAAgBziB,WAC7C6hB,EAAiBc,EAAmBlsC,IAAII,EAAM0J,QAAQC,MAC5DmiC,EAAmB3qC,IAAInB,EAAM0J,QAAQC,KAAItL,IAAA,CACxCoT,eAAgBzR,EAAM0J,QAAQC,KAC9BgK,eAAgB3T,EAAM0J,QAAQiK,eAC9ByV,UAAU,EACV6B,SAAS+f,aAAc,EAAdA,EAAgB/f,WAAW,IAChC+f,aAAc,EAAdA,EAAgB5b,sBAAuB,CAC1CA,oBAAqB4b,EAAe5b,qBACpC,CACDpI,UAAWC,KAAKC,MAChB6kB,SAASf,aAAc,EAAdA,EAAgBe,UAAW,MAGrCD,EAAmB1xB,QAAS4wB,IACvBhrC,EAAM0J,QAAQC,OAASqhC,EAAev5B,iBACzCu5B,EAAe5hB,UAAW,KAG5Bxd,EAAiB,CAChB+/B,mBAAkBttC,IAAA,GACdstC,EAAkB,CACrB,CAACjiC,GAAOrL,IAAA,GAAQwtC,KAEjBD,gBAAiBE,GAEnB,GAgGCE,CAA4B,CAAEl+B,aAAYiN,SAAQnP,qBA7JDsE,KAI7C,IAJ8C,OACnD6K,EAAM,MACN7H,EAAK,iBACLtH,GACAsE,EACA,MACCyS,SAAS,KAAErI,EAAI,cAAEmT,EAAa,MAAEztB,IAC7B+a,EACJ,GAAa,oBAATT,EAA4B,KAAAoI,EAAAupB,EAC/B,MAAMviC,GAAU1J,SAAc,QAAT0iB,EAAL1iB,EAAO0J,eAAO,IAAAgZ,OAAA,EAAdA,EAAgB/Y,OAAQ,OAChB8jB,SAAsB,QAATwe,EAAbxe,EAAe/jB,eAAO,IAAAuiC,OAAA,EAAtBA,EAAwBtiC,OAAQ,QAChCD,GACvBkC,EAAiB,CAChBsgC,gCACCh5B,aAAK,EAALA,EAAOi5B,4BAA4BziC,KAAY,CAAC,GAGpD,GA6IC0iC,CAA2C,CAC1CrxB,SACA7H,QACAtH,sBAIF,CAACw2B,IAAsBiK,IAAc,IAAb,KAAEvxB,GAAMuxB,EAC/B,MAAM7L,EAAQ1lB,EAAKtG,aAAa,UAChCwd,GAAoBC,IAAIuO,EAAO,KAC9B,MAAMoL,EAAkB9wB,EAAK8wB,iBAAmB,IAAInnB,IACpD,OAAOjN,MAAM80B,KAAKV,EAAgB37B,UAAUZ,KAAM3R,GAAMA,EAAEutB,YAI5D,CAACtO,IAAyB4vB,IAAc,IAAb,KAAEzxB,GAAMyxB,EAClC,MAAM/L,EAAQ1lB,EAAKtG,aAAa,UAChCwd,GAAoBG,OAAOqO,IAE5B,CAACp5B,IAA+BkL,KAC/B+f,EAAAA,GAAAA,2CAA0C6K,KAAK,KAnFR/a,KAKnC,IAAAqqB,EAAA,IALoC,KACzC1xB,EAAI,OACJC,EAAM,WACNjN,EAAU,YACVmvB,GACA9a,EACA,MAAQhV,gBAAiB0L,GAAwB/K,EAC3C4b,EAAsB,QAAjB8iB,EAAGzxB,EAAO4H,eAAO,IAAA6pB,OAAA,EAAdA,EAAgB9iB,MAC9B,GAAIA,EAAO,CACV,MAAMpO,EAAYoO,EAAMlc,MAAM,UAAU,GAClCL,EAAe9O,IAAA,GACjBwa,EAAmB,CACtByC,cAGD2hB,EAAY,CACXtzB,KAAM,kBACNuW,UAAW,MACXlgB,MAAO0pB,EACP6Y,cAAc,KAGfh+B,EAAAA,EAAAA,oBAAmBmlB,GACnB7O,GAAkBC,EAAMC,EAAQ5N,EAAiBjG,GAClD,GA4DEulC,CAA0Bn6B,MAG5B,CAACpN,GAtHiCmc,IAK7B,IAAAqrB,EAAAC,EAAA,IAL8B,OACnC5xB,EAAM,YACNkiB,EAAW,MACX/pB,EAAK,WACLpF,GACAuT,EACA,MAAM,gBAAElU,GAAoBW,EACtB8+B,GAAe7xB,SAAe,QAAT2xB,EAAN3xB,EAAQ4H,eAAO,IAAA+pB,OAAA,EAAfA,EAAiBh5B,QAAS,KACzCm5B,EAAoB35B,EAAM0X,gBAEhC,GAAIiiB,IAAsBD,GACzBroC,EAAAA,EAAAA,oBAAmBsoC,QACb,GAAID,SAAgB7xB,GAAe,QAAT4xB,EAAN5xB,EAAQ4H,eAAO,IAAAgqB,GAAfA,EAAiBvjB,SAAU,KAAA7a,EACrD,MAAMoF,GAAiBxG,SAAwB,QAAToB,EAAfpB,EAAiBzD,eAAO,IAAA6E,OAAA,EAAxBA,EAA0BoF,iBAAkB,GAC7DiX,GAAkB7nB,EAAAA,EAAAA,uBAAsB,CAC7CuY,UAAWsxB,EACXj5B,iBACAvP,SAAQA,EAAAA,YAETG,EAAAA,EAAAA,oBAAmBqmB,EACpB,CAEAqS,EAAY,CACXtzB,KAAM,kBACNuW,UAAW,MACXlgB,MAAO,KACPuiC,cAAc,MEjChB,IACCjoB,KlE1ByC,6BkE2BzCiJ,eAAgB,CACf,CAACvd,IA3EqCkK,IAAsC,IAArC,OAAE6K,EAAM,WAAEjN,EAAU,SAAEjC,GAAUqE,EACxE,MAAM,KAAEvG,GAASoR,EAAO4H,QAExB,IAAKhZ,EAAM,OACX,MAAM,gBACLwD,EAAe,mBACfw+B,EAAqB,CAAC,EAAC,0BACvBP,EAA4B,CAAC,GAC1Bt9B,EACJ,IAAIpE,GAAU9J,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MAC/CzD,GAAWA,IAAYC,IACvBgiC,EAAmBhiC,IAASyhC,EAA0BzhC,IACrDoR,EAAO6V,iBAAiB7V,EAAO6V,kBACnC/kB,EACCzG,EACAumC,EAAmBhiC,IAASyhC,EAA0BzhC,KAGvDkC,ElEkDD,mCkElD4C,CAAElC,WA0D7C,CAACvE,GAtD2B+a,IAAsC,IAArC,OAAEpF,EAAM,WAAEjN,EAAU,SAAEjC,GAAUsU,EAC9D,MAAM,QAAEwC,GAAY5H,GACd,kBAAC/O,GAAqB8B,EAE5B,IAAI7L,EAAAA,EAAAA,KAAI0gB,EAAS,CAAC,WAAY,QAAS,OAEvC,KAAI1gB,EAAAA,EAAAA,KAAI+J,EAAmB2W,EAAQjZ,QAAQC,MAC1C,OAIAgZ,GACAA,EAAQjZ,YACNzH,EAAAA,EAAAA,KAAI0gB,EAAS,WAAY7hB,EAAAA,EAAAA,SAAQ6hB,EAAQ5V,UAEvCgO,EAAO6V,iBAAiB7V,EAAO6V,kBACnC/kB,EAAS7F,GAAkC3H,IAAA,GAAOskB,EAAQjZ,WAG3D,MAAMC,GAAO/J,EAAAA,EAAAA,KAAI+iB,EAAS,eAAgB,MACpCmqB,GAAWltC,EAAAA,EAAAA,KAAIkO,EAAY,+BAAgC,MAE7DnE,GAAQmjC,GAAYnjC,IAASmjC,IAChCjhC,ElE8CD,kCkE9CyCxN,IAAA,GAAO0c,EAAO4H,WAGtDzJ,EAAAA,GAAAA,+BAA8BvP,KA6B9B,CAAC7E,GA1BiDuc,IAK9C,IAJLtG,QAAQ,QAAE4H,GAAS,WACnB7U,EAAU,YACVmvB,EAAW,iBACXrxB,GACAyV,EACA,MAAM,gBAAElU,GAAoBW,GACtB,yBAAE4f,EAA2B,CAAC,GAAM/K,EACpCnK,GAAc5Y,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MACrDqL,IACHykB,EAAY,CACXtzB,KAAM,+BAA+B6O,IACrCxY,MAAO0tB,EACPxN,UAAW,WAEZtU,EAAiB,CAChBsgC,+BAAgCxe,QC3EnC,MCmDaqf,GAAyB,CACrCzyB,KpEIuC,2BoEHvCxM,WAAY,CACX89B,gBAAiB,CAChBzuC,QAAS,IAAIsnB,IACbpB,YAAY,EACZD,aAAa,GAEd4pB,iBAAkB,CACjB7vC,QAAS,CAAC,EACVwmB,OAAQ,CAAEzI,KAAM,UAChBmI,YAAY,EACZD,aAAa,IAGfG,eAAgB,CACf,CAAC/d,GA/C2C0K,IAIxC,IAAA+8B,EAAA,IAJyC,OAC9ClyB,EAAM,WACNjN,EAAU,iBACVlC,GACAsE,EACA,MAAMvG,EAA6B,QAAzBsjC,EAAGlyB,EAAO4H,QAAQjZ,eAAO,IAAAujC,OAAA,EAAtBA,EAAwBtjC,KACrC,IAAKA,EAAM,OACX,MAAM,gBAAEiiC,GAAoB99B,EACtBg+B,EAAqB,IAAIrnB,IAAImnB,EAAgBziB,WACnD2iB,EAAmB1xB,QAASpa,GAAWA,EAAMopB,UAAW,GACxD,MAAM,QAAE6B,GAAYlQ,EAAO4H,QACrB6N,GAAgBxvB,EAAAA,EAAAA,OAAMiqB,GAAW,CAAC,EAAI,CAAEA,QAASwF,QAAQxF,IAEzD+f,EAAiB,IAAIvmB,IAC3BumB,EAAe7pC,IAAIwI,EAAItL,IAAA,CACtBoT,eAAgB9H,EAChBgK,eAAgBoH,EAAO4H,QAAQrI,KAC/B8O,UAAU,GACPoH,EAAa,CAChBxJ,UAAWC,KAAKC,MAChB6kB,QAAS,IAAIhxB,EAAO4H,QAAQopB,YAG7BngC,EAAiB,CAChBggC,gBAAiB,IAAInnB,IAAI,IACrBqnB,EAAmB3iB,aACnB6hB,EAAe7hB,eAsBnB,CAACliB,IAA+BkZ,IAI1B,IAHLpF,QAAQ,QAAE4H,GACV7U,YAAY,gBAAE89B,GAAoB,IAAInnB,IAAK,iBAC3C7Y,GACAuU,EACA,MAAM0G,EAAOlE,EAAQkE,KACrB,IAAKA,GAAwB,IAAhBA,EAAK3qB,OAAc,OAEhC,MAAM4vC,EC/EF,SACNF,EACAsB,GAEC,IADDC,EAAW3uC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,IAAAA,UAAA,GAEP4uC,EAAe,IAAI3P,IACvB,MAAMqO,EAAqB,IAAIrnB,IAAImnB,EAAgBziB,WA2BnD,OA1BA+jB,EAAY9yB,QAAQlK,IAAiC,IAAhC,eAAEuB,EAAc,QAAEs6B,GAAS77B,EAC/C,IACEuB,IACAs6B,GACkB,IAAnBA,EAAQ7vC,SACP0vC,EAAgB3pC,IAAIwP,GAErB,OACD27B,EAAe,IAAI3P,IAAIsO,EAAQlwC,IAAKwxC,GAAMA,EAAEv9B,YAC5C,MAAMw9B,EAAuB1B,EAAgBhsC,IAAI6R,GAC3C87B,GAAcD,EAAqBvB,SAAW,IAAInf,OACtDoJ,IAAYoX,EAAanrC,IAAI+zB,EAAOlmB,YAEhCmb,EAAUsiB,EAAWl+B,KAAMg+B,IAAoB,IAAdA,EAAEpiB,SAEnCuiB,EAAuBnvC,IAAA,GACzBivC,EAAoB,CACvBvB,QAASwB,EACTne,oBAAqB,IACjB2c,EAAQlwC,IAAKwxC,GAAChvC,IAAA,GAAWgvC,EAAG,CAAAF,kBAEhCliB,YAED6gB,EAAmB3qC,IAAIsQ,EAAgB+7B,KAGjC1B,CACR,CD6C8B2B,CAC1B7B,EACA/kB,GACA,IAGI9lB,EAAAA,EAAAA,SAAQ+qC,EAAoBF,IAChChgC,EAAiB,CAChBggC,gBAAiBE,KAGpB,CAAC5lC,IA7EmCoM,IACrC,MAAM,WAAExE,EAAU,iBAAElC,GAAqB0G,GACnC,gBAAEs5B,EAAe,iBAAEoB,GAAqBl/B,EACxCg+B,EDVwC4B,EAACC,EAAkBtjC,KACjE,MAAMuhC,GAAkBr/B,EAAAA,GAAAA,OAAMohC,IACxB,yBAAEC,EAAwB,yBAAEC,GAA6BxjC,GAAU,CAAC,EAEpEyjC,GAA8B7sC,EAAAA,EAAAA,UAAS2sC,IAA6BA,GAA4B,EAAIA,EAPrE,EAQrC,IAAIG,GAA8B9sC,EAAAA,EAAAA,UAAS4sC,IAA6BA,GAA4B,EAAIA,EAPnE,EASjCE,EAA8BD,IACjCC,EAA8BD,GAE/B,MAAME,EAAiB,IAAKpC,EAAgB37B,UAAY,IACxD,GAA8B,IAA1B+9B,EAAe9xC,OAAc,OAAO0vC,EAExC,MAGMqC,EAA+BD,EACnChhC,KAJiCkhC,CAACC,EAAUC,IAC7CA,EAASpnB,UAAYmnB,EAASnnB,WAI7B4F,OAAOyhB,IAAuB,IAAhBA,EAAIpjB,SAClB2B,OAAOyhB,IAAwB,IAAjBA,EAAIjlB,UAEdklB,GAAuBvsC,EAAAA,EAAAA,YAC5BisC,EACAC,GAGD,IAAI,IAAI7xC,EAAI,EAAGA,EAAI6xC,EAA6B/xC,OAAQE,IACpDA,GAAG2xC,GAA+B3xC,EAAI0xC,EACxCG,EAA6B7xC,GAAGmyC,YAAa,EACtCnyC,GAAK0xC,IACZG,EAA6B7xC,GAAGoyC,aAAc,GAGhD,SAASC,IACR,MAAMC,GADkBlwC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,IACR+D,OAAO,CAACuQ,EAAKpV,KAC/BoV,EAAIpV,EAAE+T,gBAAkB/T,EACjBoV,GACL,CAAC,GAEJ,OAAO,IAAI2R,IAAIxmB,OAAOkrB,QAAQulB,GAC/B,CAMA,OAJ2B,IAAIjqB,IAAI,IAC/BgqB,EAAaH,GAAsBnlB,aACnCslB,EAAaR,GAA8B9kB,aClCpBukB,CAC1B9B,EACAoB,GAEDphC,EAAiB,CAAEggC,gBAAiBE,OEnB/B6C,GAAgB,CACrBC,cAAe,UACfC,OAAQ,UCEDrhB,oBAAmBA,IAAKntB,EAAAA,YAsCnByuC,GAAsB,CAClCx0B,KAAMvR,GACN+E,WAAY,CACXihC,QAAS,CACR5xC,SAAS,EACTkmB,YAAY,GAEb2rB,UAAW,CACV7xC,QD7CsC8xC,MACxC,MAAM5T,GAAOz7B,EAAAA,EAAAA,KAAIuL,OAAQ,eAAgB,CAAC,GAC1C,MAAO,CACNpP,QAASs/B,EAAK6T,4BACdh0B,KAAMyzB,IAAetT,EAAK8T,cAAgB,IAAIn4B,iBCyCpCi4B,GACT5rB,YAAY,EACZD,aAAa,IAGf+W,aAAc,CACbiV,kBAAkB,GAEnB7rB,eAAgB,CACf,CAACiK,IArD0Btd,IAAiC,IAAhC,MAAEgD,EAAK,iBAAEtH,GAAkBsE,EACxD,MAAM,UAAE8+B,GAAc97B,EAAMpF,WAE3BoF,EAAMoQ,UAAUva,IAAuBqmC,kBAKpCJ,EAAU9zB,MACbtP,EAAiB,CAChBmjC,SAAS,KA4CV,CAAC/lC,IAxCuBmX,IAIpB,IAHLpF,QAAQ,QAAE4H,GAAS,iBACnB/W,EAAgB,YAChBqxB,GACA9c,EACAvU,EAAiB,CAChBmjC,SAAS,IAELpsB,EAAQ1lB,QAETkO,OAAOkkC,cAAentC,EAAAA,EAAAA,YAAWiJ,OAAOkkC,YAAYC,qBACvDnkC,OAAOkkC,YAAYC,kBAAkB3sB,EAAQ1lB,QAE7CggC,EAAY,CACXtzB,KAAM,aAAaZ,sBACnBmX,UAAW,MACXlgB,OAAO,EACPuiC,cAAc,QC5BXgN,GAA0BA,CAACC,EAAgBva,KAChDn0B,EAAAA,EAAAA,SAAQ0uC,IALsBC,EAACpY,EAAWlqB,KAC1C,MAAMuiC,EAAuBrc,GAAegE,GAC5C,OAAO1D,GAAkB+b,EAAsBviC,IAGpBsiC,CAAuBD,EAAgBva,GAEtD0a,GAAc,SAC1BC,EACA3a,GAEI,IADJ4a,EAAyBrxC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG+wC,GAE5B,MAAMO,EAA4CA,CACjDlmC,EACAmmC,KAEA,MAAMC,EAAYpmC,EAAOmD,GACzB,IAAKijC,EAAW,OAAO,EAGvB,MAAMC,EAAiBD,EACrBn0C,IAAK8B,GAACU,IAAA,GAAWV,EAAMA,EAAEoP,QACzB6f,OAAO1c,IAAA,IAAC,OAAEjG,EAAS,IAAIiG,EAAA,OAAKjG,EAAO/N,SAAWmZ,IAC9CuX,OAAOzM,IAAA,IAAGlW,OAAQimC,EAAc,IAAI/vB,EAAA,OACpC+vB,EAAY5nB,MAAO6nB,IAAMluC,EAAAA,EAAAA,KAAIgI,EAAQkmC,MAGvC,KAAKrvC,EAAAA,EAAAA,SAAQivC,GAAiB,CAC7B,MAAMK,IAA0BtvC,EAAAA,EAAAA,SAAQmvC,GAIxC,MAAO,CAAEI,qBAHoBJ,EAAe5gC,KAAM1R,GACjDkyC,EAA0BlyC,EAAEoyC,GAAiB9a,IAEfmb,yBAChC,CAEA,QAAQtvC,EAAAA,EAAAA,SAAQmvC,KAGX,MAAEljC,EAAK,OAAE9C,GAAWgrB,GACpB,OAAErrB,EAAM,oBAAEY,EAAmB,gBAAEC,IAAoB7K,EAAAA,EAAAA,KACxDgwC,EACA,wBACA,CAAC,GAGF,IAAKhmC,IAAWY,IAAwBC,EAAiB,OAAO,EAEhE,MAAM4K,EAAepL,EAAShM,OAAO6J,KAAKmC,GAAQ/N,OAAS,EAK3D,KADG0N,GAAUkmC,EAA0ClmC,GACjC,OAAO,EAG7B,MACCymC,qBAAsBC,GAAwC,EAC9DF,uBAAwBG,GAAwC,GAC7D/lC,EACDslC,EACAtlC,EACA,0BAEA,CAAC,EAEJ,GAAI8lC,EAAuC,OAAO,EAGlD,MAAME,EACLD,IACCD,GACMD,qBAAsBI,GAAoC,IAChED,GAA+B/lC,EAC7BqlC,EACArlC,EACA,0BAEA,CAAC,EAEL,OAAOgmC,CACR,EAEaC,GAAiBA,CAACC,EAAehuB,EAAS1lB,KACtD,IAAI6D,EAAAA,EAAAA,SAAQ6vC,GAAgB,OAAO1zC,EACnC,IAAK,MAAMkzC,KAAKQ,EAAe,CAC9B,MAAM,KAAEr2B,EAAI,QAAEs2B,EAAU,CAAC,GAAMT,GACzB,QAAEU,GAAYD,EACd5wC,EAAQ6wC,GAAUjxC,EAAAA,EAAAA,KAAI+iB,EAAS,UAAUkuB,KAAa,KAC5D5zC,EAAOqd,GAAQta,CAChB,CACA,OAAO/C,GAIK6zC,GAAyB,SACrC37B,EACAwN,GAEI,IADJouB,EAAkBvyC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGkyC,GAErB,MAAM,MACL3jC,EACA9C,OAAQ+mC,EACR/7B,OAAQg8B,GACL97B,GAAe,CAAC,EACpB,IAAKpI,EAAO,OACZ,MAAM9C,EAAS,CAAC,EAChB8mC,EAAmBC,EAAcruB,EAAS1Y,GAC1C,MAAMgL,EAAS,CAAC,EAChB87B,EAAmBE,EAActuB,EAAS1N,GAI1C,MAFiB,CAAElI,QAAO9C,SAAQgL,SAGnC,EAEai8B,GAAoBA,CAACC,EAAwBxuB,KACzD,MAAM,QAAEyuB,EAAO,OAAEnnC,EAAM,QAAEonC,EAAU,CAAC,GAAM1uB,EAC1C,IAAI2uB,GAAW1xC,EAAAA,EAAAA,KAAIuxC,EAAwB,WAAY,MACvD,IAAKG,EAAU,MAAO,GAEtB,MAAMC,EAAgBD,EAASF,GAE/B,IAAItwC,EAAAA,EAAAA,SAAQywC,GAAgB,MAAO,GACnC,MAAQC,SAAUjoC,EAAgB,CAAC,EAAC,8BAAEkoC,EAAgC,IACrEF,EAED,IAAIG,EAAU,GAEd,IAAK,MAAMf,KAAiBc,EAA+B,CAC1D,MAAM,iBAAEE,EAAmB,CAAC,EAAC,uBAAEC,EAAyB,IACvDjB,EACD,IAAIkB,GAAa/wC,EAAAA,EAAAA,SAAQ6wC,GACzB,IAAK,MAAOxzC,EAAK6B,KAAU/B,OAAOkrB,QAAQwoB,GACzC,GAAI1nC,EAAO9L,IAAQ6B,EAAMpB,SAASqL,EAAO9L,IAAO,CAC/C0zC,GAAa,EACb,KACD,CAED,GAAIA,KAAe/wC,EAAAA,EAAAA,SAAQ8wC,GAAyB,CACnDF,EAAUE,EACV,IAAK,MAAOzzC,EAAK6B,KAAU/B,OAAOkrB,QAAQkoB,GACzCK,EAAUA,EAAQ9kB,OAChByhB,IAAQpsC,EAAAA,EAAAA,KAAIosC,EAAKlwC,IAAQkwC,EAAIlwC,KAAS6B,EAG1C,CACA,KAAKc,EAAAA,EAAAA,SAAQ4wC,GAAU,KACxB,CACA,IAAI5wC,EAAAA,EAAAA,SAAQ4wC,GAAU,CAErB,MAAM,uBAAEE,EAAyB,IAAOroC,EACxCmoC,EAAUE,EACV,IAAK,MAAOzzC,EAAK6B,KAAU/B,OAAOkrB,QAAQkoB,GACzCK,EAAUA,EAAQ9kB,OAChByhB,IAAQpsC,EAAAA,EAAAA,KAAIosC,EAAKlwC,IAAQkwC,EAAIlwC,KAAS6B,EAG1C,CACA,OAAO0xC,GAIKI,GAAc,SAC1BlC,EACAjtB,GAEI,IADJovB,EAA0BvzC,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGsyC,GAE7BlB,EAAmBA,GAAoB,CAAC,EACxCjtB,EAAUA,GAAW,CAAC,EAEtB,MAAM,aAAEqvB,EAAe,CAAC,GAAMpC,GACxB,OAAE3lC,GAAW0Y,GAEX6uB,SAAUjoC,EAAgB,CAAC,EAAC,oBAAE0oC,EAAsB,IAC3DD,EAED,IAAIE,EAEJ,IAAK,MAAM7nC,KAAU4nC,EAAqB,CACzC,MAAM,iBAAEN,EAAgB,UAAEQ,GAAc9nC,EACxC,IAAK,MAAOlM,EAAK6B,KAAU/B,OAAOkrB,QAAQwoB,GACzC,GAAI1nC,EAAO9L,IAAQ6B,EAAMpB,SAASqL,EAAO9L,IAAO,CAC/C+zC,EAAaC,EACb,KACD,CAED,GAAID,EAAY,KACjB,CAOA,OALKA,IAEJA,EAAa3oC,EAAc4oC,WAGrBJ,EAA2BG,EAAYvvB,EAC/C,EAEayvB,GAAgBA,CAACpmC,EAAmBmB,EAAiBwV,KACjE,MAAMjZ,GAAU9J,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,OAC/C,QAAEikC,GAAYzuB,EAEpB,IAAKjZ,IAAY0nC,IAAYplC,EAAkBtC,GAAU,OAEzD,MACCyC,aAAc0b,EAAK,QACnBwqB,EAAO,eACPv2B,GACG9P,EAAkBtC,GACtB,IAAM4oC,cAAeC,GAAsBz2B,EAC3C,IAAKy2B,EAAmB,OACS,iBAAtBA,IACVA,EAAoBrX,KAAKC,MAAMoX,IAEhC,MAAMP,GAAepyC,EAAAA,EAAAA,KAAI2yC,EAAmB,GAAGnB,KAC/C,OAAKY,EACE,CAAEnqB,QAAOwqB,UAASL,qBADzB,GAIYQ,GAAyBA,CACrCxmC,EACAmlC,KAEA,IAAKA,EAAwB,OAC7B,MAAM,SAAEG,GAAaH,EACrB,IAAKG,EAAU,OACf,MAAMmB,EAAa,CAAC,EAGpB,IAAK,MAAO,CAAEzyC,KAAU/B,OAAOkrB,QAAQnd,GAAoB,CAC1D,MAAM,aAAEG,EAAY,QAAEkmC,EAAO,eAAEv2B,GAAmB9b,EAClD,GAAI8b,EAAgB,CACnB,IAAMw2B,cAAeC,EAAoB,CAAC,GAAMz2B,EAC5Cy2B,GAAkD,iBAAtBA,IAC/BA,EAAoBrX,KAAKC,MAAMoX,IAChCE,EAAWtmC,GAAgB,CAC1BA,eACAkmC,UACAC,cAAeC,EAEjB,CACD,CAGA,IAAK,MAAOp0C,EAAK6B,KAAU/B,OAAOkrB,QAAQmoB,GAAW,CACpD,MAAQE,SAAUkB,EAAY,8BAAEjB,EAAgC,IAC/DzxC,GACK,uBAAE4xC,GAA2Bc,EAE7BC,EAAgC,GACtC,IAAK,IAAItE,KAAOuD,EAAwB,CACvC,MAAM,MAAE/pB,GAAUwmB,GACZ,aACLliC,EAAY,QACZkmC,EACAC,cAAeC,GACZE,EAAW5qB,IAAU,CAAC,EACtB1b,IACHkiC,EAAIgE,QAAUA,EACdhE,EAAI2D,aACH3D,EAAI2D,eAAgBpyC,EAAAA,EAAAA,KAAI2yC,EAAmB,GAAGp0C,MAAU,CAAC,GACrD2C,EAAAA,EAAAA,SAAQutC,EAAI2D,eAChBW,EAA8B51C,KAAKsxC,GAEtC,CACAqE,EAAad,uBAAyBe,EAEtC,IAAK,IAAIC,KAAcnB,EAA+B,CACrD,MAAM,uBAAEG,EAAyB,IAAOgB,EAClCC,EAA4B,GAClC,IAAK,IAAIxE,KAAOuD,EAAwB,CACvC,MAAM,MAAE/pB,GAAUwmB,GACZ,aACLliC,EAAY,QACZkmC,EACAC,cAAeC,GACZE,EAAW5qB,IAAU,CAAC,EACtB1b,IACHkiC,EAAIgE,QAAUA,EACdhE,EAAI2D,aACH3D,EAAI2D,eACJpyC,EAAAA,EAAAA,KAAI2yC,EAAmB,GAAGp0C,MAC1B,CAAC,GACG2C,EAAAA,EAAAA,SAAQutC,EAAI2D,eAChBa,EAA0B91C,KAAKsxC,GAElC,CACAuE,EAAWhB,uBAAyBiB,CACrC,CACD,CAEA,OAAO1B,GCnSD5lC,eAAeunC,GACrB3lB,GACuD,IAGnD4lB,EAHJC,EAA2Bx0C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGyF,EAAAA,wBAC9B,GAAKkpB,EAAL,CAIA,IACC,MAAM8lB,QAA0CD,EAA4B,iBAAkB,qCAC5FnzB,QAZ+B,+BAchCozB,GACAA,EAAkC9lB,SAAWA,GAC7C8lB,EAAkCF,+BAEhCA,+BAA+BE,EAInC,CAAE,MAAOv1C,GACR,CAED,OAAOq1C,CAnBY,CAoBpB,CAGOxnC,eAAe2nC,GAAgCH,EACvC5lB,GACuD,IAAvD6lB,EAA2Bx0C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGyF,EAAAA,wBAC5C,GAAKkpB,EAEL,UACO6lB,EAA4B,iBAAkB,qCAClDpyB,QApC+B,8BAsC/B,CACCuM,SACA4lB,+BAGJ,CAAE,MAAOr1C,GACR,MACD,CACD,CCpBA,MAAMy1C,GAAgCA,KACrC5mC,EAAAA,GAAAA,QAAM3M,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,IAGvCioC,GAA4B,SACxCpnC,EACAqnC,EACA1wB,GAGI,IACAsS,EAHJqe,EAAe90C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGszC,GAClByB,EAAe/0C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGmxC,GAGlB,MAAMhmC,EAAO0pC,EAAWhB,QAClBmB,EAAiBF,EAAgBD,EAAY1wB,GACnD,KACE7hB,EAAAA,EAAAA,SAAQ0yC,IACTD,EAAgBvnC,EAAkBrC,GAAO6pC,GAGzC,IADAryC,EAAAA,EAAAA,KAAIqyC,EAAgB,eAAgB7pC,GAChCgZ,EAAQ/V,OAAQ,CACnB,MAAM6mC,EAAuBH,EAC5BD,EACA1wB,EAAQ/V,UAGP9L,EAAAA,EAAAA,SAAQ2yC,IACTF,EAAgBvnC,EAAkBrC,GAAO8pC,KAEzCD,EAAe5mC,OAAS6mC,EACxBxe,EAAWue,EAEb,MACCve,EAAWue,EAGb,OAAOve,CACR,EA0Jaye,GAAqCnoC,iBAA6D,IAAAooC,EAAA,IAAtDhxB,EAAOnkB,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGwN,EAAiBxN,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAAEkP,EAAgBpN,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EACzG,MAAM,iBAAEk3C,EAAgB,cAAEC,GAAkBlxB,EAC5C,IAAImxB,EAAqB,GACzB,GAAIF,EAAkB,CACrB,IAAI,KAAEjqC,GAASiqC,EACXjqC,GAAMmqC,EAAmB/2C,KAAK4M,EACnC,CAEIkqC,SAAiBA,GAAsB,QAATF,EAAbE,EAAenqC,eAAO,IAAAiqC,GAAtBA,EAAwBhqC,MAC5CmqC,EAAmB/2C,KAAK82C,EAAcnqC,QAAQC,MAG/CmqC,EAAqBA,EAAmBlnB,OACvCjP,KAAa3R,EAAkB2R,IAGhC,MAAMrU,EAAe0B,KACf+oC,GAAkBn0C,EAAAA,EAAAA,KAAIuL,OAAQ,sBAAuB,IAC3D,IAAI8U,EAAsB,CACzB,CAAC8zB,GAAkBzqC,GAEhBwqC,EAAmB53C,SACtB+jB,QzEzFwD1U,iBAIrD,IAHJyoC,EAAgBx1C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,GACnBmN,EAAgBnN,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpBoN,EAAgBpN,UAAAtC,OAAA,EAAAsC,UAAA,QAAA9B,EAEhB,MAAMqP,QACClI,EAAAA,EAAAA,+BAA8BmwC,GACrC,IAAKjoC,EAAmB,OAAO,KAC/B,MAAMC,EAAiB3N,IAAA,GACnBsN,EAAiBjB,uBACjBqB,GAEEkoC,EAAkBD,EAAiBpnB,OAAQlhB,IAAoB,IAAAwoC,EACpE,OACwC,QAAvCA,EAAAloC,EAAkB,GAAGN,YAAkB,IAAAwoC,GAAvCA,EACwB,uBAFlB,IAOR,IAAI7nC,EAA0B,CAAC,EAc/B,OAbA4nC,EAAgB75B,QAAS1O,IAAoB,IAAAyoC,EAC5C,MAAM9oC,GACkC,QAAvC8oC,EAAAnoC,EAAkB,GAAGN,YAAkB,IAAAyoC,OAAA,EAAvCA,EACwB,wBACnB,CAAC,EACP9nC,EAAwBX,IAAmB5I,EAAAA,EAAAA,uBAC1CuI,EACAW,EAAkBN,KAEMxH,EAAAA,EAAAA,6BAA4BwH,IAEpDE,EAAiB,CAAEtC,aAAc+C,MAE5BA,CACR,CyEsD8B+nC,CAC3BN,EACA7zB,EAAoB8zB,GACpBnoC,IAIFkoC,EAAmB15B,QAASuD,IAAY,IAAA02B,EAAAC,EACvC,MAAMC,EAAyC,QAAtBF,EAAGp0B,SAAmB,IAAAo0B,OAAA,EAAnBA,EAAsB12B,GAC9CA,GAAW42B,GAA0D,QAAvCD,EAAInpC,OAAOlD,WAAW+D,yBAAiB,IAAAsoC,GAAnCA,EAAsC32B,KAC3E3R,EAAkB2R,GAASnH,sBAC1B+9B,EACDppC,OAAOlD,WAAW+D,kBAAkB2R,GAASnH,sBAC5C+9B,IAGJ,EC5PA,IACCj6B,K3EwDyC,6B2EvDzC6f,aAAc,CACbqa,0BAA0B,GAE3B1mC,WAAY,CACXqjC,uBAAwB,CACvBh0C,QAAS,CAAC,EACVwmB,OAAQ,CAAEzI,KAAM,UAChBmI,YAAY,EACZD,aAAa,IAGfG,eDiPsB,CACtB,CAAC9c,IAhM6C8E,eAC9C+G,GASI,IARJmiC,EAAiCj2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG20C,GACpCuB,EAA0Bl2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGg0C,GAC7BmC,EAAwCn2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGs0C,GAC3C8B,EAAiBp2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG4zC,GACpByC,EAA6Br2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG40C,GAChC0B,EAAqBt2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG0yC,GACxBoC,EAAe90C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGszC,GAClByB,EAAe/0C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAGmxC,GAElB,MACC50B,QAAQ,QAAE4H,GAAS,MACnBzP,EAAK,WACLpF,EAAU,SACVjC,EAAQ,YACRoxB,EAAW,iBACXrxB,GACG0G,EACJ,IAAI,uBAAE6+B,EAAsB,gBAAEhkC,EAAe,cAAEyY,GAAkB9X,EACjE,MAAM9B,EAAoByoC,IAC1B,IAAKzoC,IAAsBmlC,EAAwB,OACnD,MAAM,yBAAEqD,GAA2B,GAAUthC,EAC7C,IAAiC,IAA7BshC,EAAoC,CACvC,MAAMO,EAA4BL,EACjC1oC,EACAmlC,GAED,IAAI4D,EAMG,OALN5D,EAAsB9yC,IAAA,GAAQ02C,GAC9BnpC,EAAiB,CAChBulC,uBAAsB9yC,IAAA,GAAO02C,KAE9B9X,EAAY,CAAEuX,0BAA0B,GAE1C,CAEA,IAAIvf,EAEJ,MAAM,iBAAE2e,EAAgB,cAAEC,EAAa,QAAEmB,EAAO,OAAEpoC,GAAW+V,EAI7D,SAFM+wB,GAAmC/wB,EAAS3W,EAAmBJ,GAEjEgoC,EAAkB,CACrB,IAAI,KAAEjqC,EAAI,YAAEsrC,GAAgBrB,EAC5B,IAAKjqC,GAAuB,GAAfsrC,EAAqB,KAAAC,EACjC,MAAM/nB,EAASvH,SAAmB,QAANsvB,EAAbtvB,EAAeklB,YAAI,IAAAoK,OAAA,EAAnBA,EAAqB3qB,OAC9B0oB,QACC0B,EAAyCxnB,GAC5C8lB,KACAtpC,QAASspC,EACd,CACA,GAAItpC,EAAM,CACT,MAAMwrC,EAAqBP,EAC1B5oC,EACA,CAAEtC,QAAS,CAAEC,SACbgZ,GAEGwyB,IAEFlgB,EADG+f,IAAYtuC,GACJ,CAAEgD,QAAS,CAAEC,SAEbkrC,EACV7oC,EACAmpC,EACAxyB,GAGJ,CACD,CACA,IAAKsS,EAAU,CAEd,MAAMrnB,EAAoBgnC,EACzB5oC,EACAmB,EACAwV,GAED,GAAI/U,EAAmB,CACtB,GAAIonC,IAAYtuC,GAAiB,OAEhCuuB,EAAW4f,EACV7oC,EACA4B,EACA+U,EAEH,CACD,CAEA,IAAKsS,EAAU,CAEd,MAAMmgB,EACLN,EAAsB3D,EAAwBxuB,IAAY,GAC3D,GAAIqyB,IAAYtuC,IACf,KAAK5F,EAAAA,EAAAA,SAAQs0C,GAAiB,CAE7BngB,EAAW,CAAEvrB,QAAS,CAAEC,KADZyrC,EAAe,GACO/C,SACnC,MACM,CACN,IAAIj2C,EAAI,EACR,KAAOA,EAAIg5C,EAAel5C,QAAQ,CACjC,MAAMmyC,EAAM+G,EAAeh5C,GACrBi5C,EAAY/B,EAAgBjF,EAAK1rB,GACvC,GACC0yB,GACA9B,EAAgBvnC,EAAkBqiC,EAAIgE,SAAUgD,GAC/C,CAED,IADAl0C,EAAAA,EAAAA,KAAIk0C,EAAW,eAAgBhH,EAAIgE,UAC/BzlC,EAaG,CACNqoB,EAAWogB,EACX,KACD,CAhBY,CACX,MAAMC,EAAkBhC,EAAgBjF,EAAKzhC,GAC7C,KACE9L,EAAAA,EAAAA,SAAQw0C,IACT/B,EACCvnC,EAAkBqiC,EAAIgE,SACtBiD,GAEA,CACDD,EAAUzoC,OAAS0oC,EACnBrgB,EAAWogB,EACX,KACD,CACD,CAID,CACAj5C,GACD,CACD,CACD,CAEA,MAAM2Q,EAAQkoB,GAAY4e,EACtB9mC,GAAOlB,EAASzG,EAAmB2H,EACxC,EA6DC,CAAC9G,IA3DmDsF,eAAA2E,GAGhD,IAAA26B,EAAA,IAFJ,KAAE/vB,EAAI,OAAEC,EAAM,SAAElP,EAAQ,WAAEiC,GAAYoC,EACtCqlC,EAAmC/2C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG00C,GAEtC,MAAM/lB,EAASrf,SAAyB,QAAf+8B,EAAV/8B,EAAY8X,qBAAa,IAAAilB,GAAM,QAANA,EAAzBA,EAA2BC,YAAI,IAAAD,OAAA,EAA/BA,EAAiCtgB,QACxCkD,cAAe5U,GAAwBkC,EAAO4H,SAErDjZ,SAAS,eAAEiK,EAAc,KAAEhK,GAAM,WACjCyY,GACGvJ,EACEk6B,EAA8B,CAAEp/B,iBAAgBhK,OAAMyY,oBACtDmzB,EACLxC,EACA5lB,EAEF,IEpNMqoB,GACgB,qBAGhBC,GACc,mCAGdC,GAA2Bz3C,OAAO4J,OAAO,CAC9C8tC,WAAW,EACXC,cAAc,EACdC,iBAAkB,CAAC,iBACnBC,WAAY,CAAC,QAAS,OACtBC,WAAY,QACZC,YAAa,oBACbC,UAAW,mBACXC,aAAc,MAYf,IACC57B,KAAM,sBACNiJ,eAAgB,CACf,CAACljB,EAAAA,YAAYqc,wBAAyB,CACrCuI,OAAQ1Z,UACP,MAAM4qC,GCpCMtc,EDoCgB4b,GCpCNh6B,EDoCkC,CAAC,GCnC5D7b,EAAAA,EAAAA,KAAIuL,OAAQ,wBAAwB0uB,MAAcpe,IADnD,IAAgBoe,EAAUpe,EDqCtB,IAAIpR,EAASqrC,IACR50C,EAAAA,EAAAA,SAAQq1C,KAAU9rC,EAAS6wB,KAAKC,MAAMgb,UAhBX5qC,iBACrB6qC,UAAUC,cAAcC,oBAAoB1pB,OACxD2pB,GACAprC,OAAOsK,SAAS5D,SAASuhB,WACxB,IAAI/W,IAAIk6B,EAAaC,OAAO3kC,WAcrB4kC,IAAwBr8B,QAASm8B,IAAiB,IAAAG,EACrC,QAAnBA,EAAAH,EAAaI,cAAM,IAAAD,GAAnBA,EAAqBE,YAAY,CAChC17B,KAAMs6B,GACN7yB,QAAStY,WE1Bf9J,EAAAA,EAAAA,qB9EEyC,4B8EFM,CAC9CqjB,SAAU,CACT1I,KAAMta,EAAAA,QACNuiB,KfrBF,KAEExiB,EAAAA,EAAAA,eAAA,OAAKgjC,UAAU,8BACdhjC,EAAAA,EAAAA,eAAA,eeoBFiuB,OAAM,KACN9gB,WAAY,CACXo+B,+BAAgC,CAC/B/uC,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdjW,gBAAiB,CAChBhQ,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAEdwC,cAAe,CACdzoB,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEduoB,mBAAoB,CACnBxuC,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdgoB,0BAA2B,CAC1BjuC,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdjO,YAAa,CACZhY,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAEdM,WAAY,CACXvmB,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdpX,kBAAmB,CAClB7O,SA7CFoP,EAAAA,GAAAA,QAAM3M,EAAAA,EAAAA,KAAIuL,OAAQ,+BAAgC,CAAC,IA8CjDkY,YAAY,EACZD,aAAa,IAGf+W,aAAc,CACbgS,4BAA6B,CAAC,GAE/B5oB,eAAcllB,IAAA,GACVklB,IAEJD,UAAW,CACVuzB,GACA9J,GACA+B,GACAgI,GACAC,GACA1yC,EAAAA,sB,yBCxEF,IAAI2yC,GAEG,MCOCp6B,2BAA0BA,IAAKvc,EAAAA,YAgEjCkjB,GAAiB,CACtB,CAAC3G,IA/D2C1M,IAIvC,IAJwC,OAC7C6K,EAAM,WACNjN,EAAU,SACVjC,GACAqE,EACA,MACCyS,SAAS,KAAErI,EAAI,MAAEta,EAAK,cAAEytB,IACrB1S,EACEzJ,EAA+BC,KAErC,GACM,oBADE+I,EAEN,GAAIta,GAASA,EAAM0J,SAAW1J,EAAM0J,QAAQC,KAAM,CACjD,MACCD,SAAS,KAAEC,IACR3J,GACE,mBAAE2rC,GAAuB79B,EAC1B2f,GAAkBke,EAAmBhiC,GAGzC8jB,GACAA,EAAc/jB,SACd+jB,EAAc/jB,QAAQC,MACtB8jB,EAAc/jB,QAAQC,OAASA,IAE/BkC,EAAS5F,GAAoC,CAC5CjG,QACAytB,kBAED5hB,EhF2DJ,kCgF3D4CxN,IAAA,GAAO2B,IAK/C6L,EAAS9G,EAA+B,CACvCoI,gBAAe9O,IAAA,GAAO2B,MAjBvB6L,EhFuEwC,gCgFvEFxN,IAAA,GAAO2B,IAwB9CsR,EAA6BE,0BAA0B7H,EACxD,GAqBF,CAACzD,IAhB0Cia,IAAgC,IAA/B,KAAErF,EAAI,OAAEC,EAAM,SAAElP,GAAUsU,EACtEtU,EhF0CoC,wBgF1CNxN,IAAA,GAAO0c,EAAO4H,UAC5C9H,GACCC,EACAC,EACAA,EAAO4H,QAAQxV,gBACfjG,KAWD,CAACf,IAR4Ckb,IAAgC,IAA/B,KAAEvG,EAAI,OAAEC,EAAM,SAAElP,GAAUwV,EACxExV,EhFkCsC,0BgFlCNxN,IAAA,GAAO0c,EAAO4H,UAC9C9H,GAAkBC,EAAMC,EAAQA,EAAO4H,QAASzb,OCpEjD3G,EAAAA,EAAAA,qBjFauC,0BiFbM,CAC5CqjB,SAAU,CACT1I,KAAMta,EAAAA,QACNuiB,KFkDF,CAAgBkgB,EAAYhiB,KAAmB,IAAjB,SAAExV,GAAUwV,EACzC,OACC1gB,EAAAA,EAAAA,eAAA,OAAKgjC,UAAU,sCA1CkBxjB,KAK7B,IAL8B,YACnChL,EAAW,gBACXhI,EAAe,mBACfw+B,EAAkB,gBAClBC,GACAzrB,EACA,OAAOliB,OAAO6J,KAAK6jC,GAAoB9vC,IAAI8N,IAC1C,MAAM5N,EAAU4vC,EAAmBhiC,GAC7BstC,EAAoB9hC,EAAYzK,uBAAuBf,GACvD6O,GAAc5Y,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MAEzD,GAAIxD,GAAQiiC,GAAmBA,EAAgBhsC,IAAI+J,GAAO,CACzD,MAAM,WAAEsM,EAAU,aAAE9J,GAAiB8qC,EAC/BjM,EAAiBY,EAAgBhsC,IAAI+J,GAC3C,IAAKsM,IAAe9J,IAA+C,IAA/B6+B,EAAewD,YAClD,OACD,IAAIjyB,EAAOjc,EAAAA,eAAe42C,QACQ,IAA/BlM,EAAe3F,cACjB9oB,EAAOjc,EAAAA,eAAe62C,UACU,IAA9BnM,EAAeuD,aACjBhyB,EAAOjc,EAAAA,eAAe82C,QAEvB,MAAMhoB,GAAsB4b,aAAc,EAAdA,EAAgB5b,sBAAuB,GAC7DsR,EAAQloB,IAAgB7O,EAAO,CAAC,EAAI,CAAEm6B,QAAS,QACrD,OACCnjC,EAAAA,EAAAA,eAAA,8BACCxC,IAAKk5C,KAAK1tC,GACV,mBAAkB5N,EAClB,eAAck7C,EACd,gBAAe9qC,EACf,kBAAiB6+B,EACjB,yBAAwB5b,EACxB,WAAU7S,EACVmkB,MAAOA,GAGV,KAOE4W,CAAoBjU,EAAav1B,YAxDJypC,EAAArnC,EAAiBrE,KAAa,IAA7B,WAAEiC,GAAYoC,EAC/C,MAAM,gBAAE/C,GAAoBW,EACtB0K,GAAc5Y,EAAAA,EAAAA,KAAIuN,EAAiB,eAAgB,MACrD6pC,IAAmBx+B,GAAew+B,KAAoBx+B,GACrDrN,QAAUA,OAAO4gB,uBACpB5gB,OAAO4gB,sBAAsB,KAC5BlgB,EAAS1F,GAA0B9H,IAAA,GAAO8O,MAI7C6pC,GAAkBx+B,GA+Cf++B,CAAkBlU,EAAcx3B,GAGnC,GEvDA+iB,OAAM,KACN9gB,WAAY,CACXX,gBAAiB,CAChBhQ,QAAS,KACTimB,aAAa,GAEdjO,YAAa,CACZhY,QAAS,KACTimB,aAAa,EACbkX,qBAAqB,GAEtBqR,mBAAoB,CACnBxuC,QAAS,CAAC,EACVimB,aAAa,GAEdwoB,gBAAiB,CAChBzuC,QAAS,IAAIsnB,IACbrB,aAAa,EACbkX,qBAAqB,IAGvB/W,eAAc,GACdD,UAAW,K,yBCnCZ,MCIak0B,GAAc,SAACxhB,GAA2B,IAAnByhB,EAASj5C,UAAAtC,OAAA,QAAAQ,IAAA8B,UAAA,GAAAA,UAAA,GAAG,CAAC,EAChD,MAAMk5C,EAAMr5C,IAAA,CACXyR,UAAWkmB,EAAOlmB,WACdkmB,EAAOtiB,OAAS,CAAEA,MAAOsiB,EAAOtiB,OACjC+jC,GAOJ,OAJKz2C,EAAAA,EAAAA,OAAMg1B,EAAO/K,WACjBysB,EAAOzsB,QAAUwF,QAAQuF,EAAO/K,UAG1BysB,CACR,EAeaC,GAA0BznC,IAKjC,IAAA3B,EAAAqpC,EAAA9pB,EAAA,IALkC,WACvChgB,EAAU,iCACV+pC,EAAgC,WAChCloB,EAAU,QACV1E,GACA/a,EACA,MAAM,gBAAE/C,EAAe,eAAE69B,GAAmBl9B,EACtCi+B,GAAUx/B,EAAAA,GAAAA,OAAMy+B,EAAee,UAAY,GAC3CtK,EAAQsK,EAAQ3K,UACpBiM,GAAMA,EAAEv9B,YAAc+nC,EAAiC/nC,WAGrD2xB,GAAS,EACZsK,EAAQtK,GAAMpjC,IAAA,GACV0tC,EAAQtK,GACR+V,GAAYK,EAAkC,CAChD7wB,UAAWC,KAAKC,SAIlB6kB,EAAQhvC,KACPy6C,GAAYK,EAAkC,CAC7C7wB,UAAWC,KAAKC,SAInB,MAAM4wB,EAAiBz5C,IAAA,CACtBsL,KAA6B,QAAzB4E,EAAEpB,EAAgBzD,eAAO,IAAA6E,OAAA,EAAvBA,EAAyB5E,KAC/B2Q,KAA6B,QAAzBs9B,EAAEzqC,EAAgBzD,eAAO,IAAAkuC,OAAA,EAAvBA,EAAyBjkC,eAC/ByV,UAAU,IACLpoB,EAAAA,EAAAA,OAAMiqB,IAEPjqB,EAAAA,EAAAA,OAAMgqC,aAAc,EAAdA,EAAgB/f,SAEtB,CAAC,EADD,CAAEA,QAAS+f,EAAe/f,SAF3B,CAAEA,WAID+f,EAAe5b,qBAAuB,CACzCA,oBAAqB4b,EAAe5b,qBACpC,CACD2c,YAGKgM,GAA8C,QAA1BjqB,EAAAhgB,EAAWX,uBAAe,IAAA2gB,OAAA,EAA1BA,EAA4BpkB,UAAW,CAAC,EAalE,OAXAimB,EAAW,KACH,CACNzU,KAAM1V,EACNmd,QAAOtkB,IAAA,GACHy5C,EAAiB,CACpBpuC,QAASquC,IAEVC,gBAAgB,KAIXF,GCnFFG,GAAsBA,CAACl9B,EAAQjN,KACpC,MAAM,gBAAEX,GAAoBW,GACtB,QAAE6U,GAAY5H,GAElB4H,EAAQjZ,SACTyD,GACAA,EAAgBzD,SAChByD,EAAgBzD,QAAQC,OAExBxI,EAAAA,EAAAA,KAAI4Z,EAAQ,kBAAmB5N,EAAgBzD,UCT3CwuC,GACL,6CAYYC,GAAoBA,CAACC,EAAUC,KAC3C,GAAwB,iBAAbD,GAA6C,iBAAbC,EAC1C,OAAOn3C,EAAAA,EAAAA,WAAUk3C,EAAUC,EAAUF,MCQ/B3S,mBAAkBA,IAAKnlC,EAAAA,YA2EzBkjB,GAAiB,CACtB,CAACiiB,IA1EoCt1B,IAMhC,IANiC,KACtC4K,EAAI,MACJ5H,EAAK,WACLpF,EAAU,SACVjC,EAAQ,YACRoxB,GACA/sB,EACA,IAAKpC,EAAWqH,aAAejC,EAAMolC,iBACpC,OAGD,MACCnjC,aAAa,aAAEhJ,EAAY,WAAE8J,GAAY,gBACzC9I,GACGW,EACJmvB,EAAY,CAAEqb,kBAAkB,EAAM/V,cAAc,ICtCvBh3B,OAAOuP,EAAMy9B,EAAiB1sC,KAAa,IAAA6N,EAAA+uB,EACxE,MAAM,MAAE+P,EAAK,WAAEviC,GAAesiC,EAC9B,IAAIz+B,EACkB,QADFJ,EACnBvO,OAAOsO,sBAAc,IAAAC,GAA2B,QAA3B+uB,EAArB/uB,EAAuBkvB,iCAAyB,IAAAH,OAAA,EAAhDA,EAAA/pC,KAAAgb,EAAmDoB,GACpD,GAAIA,EAAKiqB,SAAS7oC,OAAS,EAG1B,YADA2P,EAAS3F,GAAwB7H,IAAA,GAAOk6C,IAGzC,MAAME,QAAyB1/B,EAAAA,GAAAA,oBAC9B9C,EACA,CAAEuiC,QAAOE,yBAAyB,GAClCF,EACA1+B,GAED,IAAK2+B,EAAkB,OAEvB,MAAME,EAAeF,EAAiB1T,SAAS,GAEzCiF,EAAqBA,KAC1Bn+B,EAAS3F,GAAwB7H,IAAA,GAAOk6C,IAExCI,EAAal2B,oBACZ,oBACAunB,IAIF2O,EAAa92B,iBAAiB,oBAAqBmoB,GAEnDlvB,EAAK89B,OAAOH,IDSZI,CACC/9B,EACA,CAAE09B,MAAOrsC,EAAc8J,aAAY9I,mBACnCtB,IAwDD,CAACzG,GApDiC+a,IAAA,IAAC,OAAEpF,EAAM,WAAEjN,GAAYqS,EAAA,OACzD83B,GAAoBl9B,EAAQjN,IAoD5B,CAAC5I,GAAwB,CACxB+f,OApBgCymB,IAAsC,IAArC,OAAE3wB,EAAM,WAAEjN,EAAU,SAAEjC,GAAU6/B,EAClE,MACC/oB,SAAS,QAAEsI,IACRlQ,GAEC/Z,EAAAA,EAAAA,OAAMiqB,IAIX0sB,GAAwB,CACvB7pC,aACA+pC,iCAAkC98B,EAAO4H,QACzCgN,WAAY9jB,KASZitC,aAAc,CDnFsCpvC,IAAY,IAAA6E,EAAAqpC,EACjE,MACCtlC,WAAW,WAAExE,IACVpE,GACE,gBAAEyD,GAAoBW,EACtBirC,EAAgB,CACrBzmC,UAAW,CACVyI,OAAQ,CACPE,KAAM,CACLiW,QAAS,CACR,CAACgnB,IAA6C,CAC7CvuC,KAA6B,QAAzB4E,EAAEpB,EAAgBzD,eAAO,IAAA6E,OAAA,EAAvBA,EAAyB5E,KAC/B2Q,KAA6B,QAAzBs9B,EAAEzqC,EAAgBzD,eAAO,IAAAkuC,OAAA,EAAvBA,EAAyBjkC,qBAQrC,OAAOzS,EAAAA,EAAAA,WAAUwI,EAASqvC,EAAeZ,OCiEzC,CAAC1yC,GA3C2Bud,IAAsC,IAAA8K,EAAA,IAArC,OAAE/S,EAAM,WAAEjN,EAAU,SAAEjC,GAAUmX,EAC7D,MAAM,eAAEgoB,GAAmBl9B,EACrByiB,EAAcxV,EAAO4H,QAAQ4N,YACnC,IAAKA,EAAa,OAClB,MAAMwb,EAAU9tC,OAAO6J,KAAKyoB,GAAa10B,IAAKm9C,GAC7CxB,GAAYjnB,EAAYyoB,GAAK,CAAEhyB,UAAWC,KAAKC,SAE1C4wB,EAAiBz5C,IAAA,GACnB2sC,EAAc,CACjB/f,QAAS8gB,EAAQ18B,KAAMg+B,IAAoB,IAAdA,EAAEpiB,SAC/B7B,UAAU,EACV2iB,YAGDlgC,EAASrG,EAAyBnH,IAAA,GAC9By5C,EAAiB,CACpBpuC,QAAmC,QAA5BokB,EAAEhgB,EAAWX,uBAAe,IAAA2gB,OAAA,EAA1BA,EAA4BpkB,YA4BtC,CAACnD,IAvDiC8a,IAAsC,IAArC,OAAEtG,EAAM,WAAEjN,EAAU,SAAEjC,GAAUwV,EACnE42B,GAAoBl9B,EAAQjN,GAC5BjC,EtFyD2C,+BsFzDNxN,IAAA,GAAO0c,EAAO4H,WAsDnD,CAACrc,IAnD+B6b,IAAsC,IAArC,OAAEpH,EAAM,WAAEjN,EAAU,SAAEjC,GAAUsW,EACjE81B,GAAoBl9B,EAAQjN,GAC5BjC,EtFmDyC,6BsFnDNxN,IAAA,GAAO0c,EAAO4H,UACjD9W,EtFLuC,wCsFKJ,CAAC,IAiDpC,CAACzF,IAA+BimC,IAAA,IAAC,SAAExgC,EAAUkP,QAAQ,QAAE4H,IAAW0pB,EAAA,OACjExgC,EtFID,qCsFJ4CxN,IAAA,GAAOskB,KACnD,CAACtc,IAAiCkmC,IAAA,IAAC,SAAE1gC,EAAUkP,QAAQ,QAAE4H,IAAW4pB,EAAA,OACnE1gC,EtFID,uCsFJ8CxN,IAAA,GAAOskB,OExGtDpiB,EAAAA,EAAAA,qBxFU0C,6BwFVM,CAC/CqjB,SAAU,CACT1I,KAAMta,EAAAA,QACNuiB,KNZF,KAEExiB,EAAAA,EAAAA,eAAA,OAAKgjC,UAAU,+BACdhjC,EAAAA,EAAAA,eAAA,eMWFiuB,OAAM,KACN9gB,WAAY,CACXX,gBAAiB,CAChBhQ,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAEdjO,YAAa,CACZhY,QAAS,KACTkmB,YAAY,EACZD,aAAa,GAEd4nB,eAAgB,CACf7tC,QAAS,CAAC,EACVkmB,YAAY,EACZD,aAAa,GAEdjX,aAAc,CACbhP,QAAS,KACTkmB,YAAY,GAEb+L,oBAAqB,CACpBjyB,QAAS,GACTkmB,YAAY,EACZD,aAAa,IAGf+W,aAAc,CAAC,EACf7W,UAAW,CACV,CACC6gB,SAAUpF,GAAAA,6BACVxkB,QAAS,CACRqP,WC5CyC3U,IAC5C,MAAM,QACLgW,EAAO,6BACPmZ,EAA4B,qBAC5B6U,EAAoB,iCACpBpB,GACG5iC,EAEJmvB,EAA6Bl0B,IAAoB,IAAnB,WAAEpC,GAAYoC,EAO3C,MAAO,CACNvG,KAAM,iBACN3J,MARyB23C,GAAwB,CACjD7pC,aACA+pC,mCACAloB,WAAYspB,EACZhuB,YAKA/K,UAAW,SACXqiB,cAAc,SD6BhBhf,eAAcA,KEjDfpY,OAAO+tC,2BAA2B19C,EAAAA;AAAA,oBAAAA","file":"externals/sn-canvas-core/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","a","n","TypeError","toPropertyKey","require","_defineProperties","e","r","t","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","_extends","assign","bind","arguments","hasOwnProperty","call","apply","includes","_typeof","Symbol","toPrimitive","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","get","obj","prop","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","componentModes","createCustomElement","declarativeOperations","modifierTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","isEmpty","isEqual","isNil","isNumber","mergeWith","set","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__","setApplication","setConfigValue","setPage","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","defineMetric","getInteractionId","getMetricTypes","mark","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","difference","find","has","isFunction","kebabCase","omit","pick","pickBy","reduce","size","throttle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__","PERSIST_STATE_CONSTANTS","calculateNewScreenStatusPayloads","canCreateMoreScreen","constructRouterConfig","createBrowserTabTitle","decodeURL","deepSearchAllElement","deepSearchElement","encodeURL","getFilteredParams","getGlobal","getInteropDependentRoute","getInteropDependentTypeFieldGroupsMap","getInteropRoute","getInteropTypeFieldGroupsMap","getLandingPath","getLocation","getParametersFromPath","getRequestedExperienceConfigs","getRoute","getSelectedContentFromUrl","getTypeFieldGroupsMap","getUnifiedCacheInstance","isCompleteExperienceConfigs","isSupportedExperience","nowTitle","renderSkipBehavior","setActiveRouterConfig","setBrowserTabTitle","setPageTitle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","CURRENT_ROUTE","PERSISTED_STATE_PARAM","COMPONENT_ID","SN_CANVAS_ROUTER","CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED","MAIN_SELECTED_CONTENT_CHANGED","MODAL_SELECTED","ACTIVE_SCREEN_RENDERED","SCREEN_STATUS_CHANGED","SCREEN_TITLES_REGISTRATION_REQUESTED","NAV_ITEM_SELECTED","CONTENT_UPDATED","CANVAS_COMPONENT_CONNECTED","SCREEN_BLOCK_LOADING_END_REQUESTED","EXPERIENCE_STATUS_CHANGED","EXPERIENCE_SCREENS_UPDATED","DIALOG_CLOSE_REQUESTED","DIALOG_CLOSE_CONFIRMED","DIALOG_CLOSE_CANCELED","DIALOG_MODAL_OPENED_SET","CLOSE_DIALOG","WARNING_MESSAGE","CANVAS_EXPERIENCE_SWITCH_REQUESTED","CANVAS_EXPERIENCE_SWITCH_INITIATED","CANVAS_EXPERIENCE_LOADED","CANVAS_EXPERIENCE_SWITCHED","CANVAS_SCREEN_LOAD_INITIATED","CANVAS_SCREEN_SWITCH_INITIATED","CANVAS_SCREEN_LOADED","CANVAS_SCREEN_SWITCHED","CANVAS_PARENT_SCREEN_LOAD_REQUESTED","GLOBAL_NAVIGATION_REQUESTED","EXPERIENCE_ONLY","ROOT_SELECTED_NAV_ITEM","ROOT_CONTENT_UPDATED","SCREEN_DATA","ROOT_PERSISTED_STATE","CONFIRM_POP_STATE_NAVIGATION","NOW_LOGIN_SUCCESS","DIRTY_SCREEN_CLOSE_CONFIRMED","EXPERIENCE_START","USER_NAVIGATE","PAGE_TITLE_UPDATE_REQUESTED","UXF_INTEROP_ROUTE_RESOLVED","UXF_USER_BROWSER_NAV_START","UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED","UXF_INTERRUPTION_MOUSEDOWN","UXF_INTERRUPTION_KEYDOWN","UXF_USER_NAV_LOAD_START","ERROR_MESSAGES","SUPPORTED_ERRORS","freeze","keys","ROUTE_CONFIG","ROUTE_CONFIG_PATH","ux_globals","siteName","AUTH_ROUTES","ROUTES","FORWARDED_ROUTES","PREFETCH_LIMITS","META_PROP_REFLOW_DISABLED","REFLOW_DISABLED_APP_CONFIG","REFLOW_DISABLED_SCREEN","NOW_MODELESS_DIALOG_MOUSE_DOWN","NOW_MODELESS_DIALOG_MAXIMIZE","NOW_MODELESS_CHECK_FIT","NOW_MODELESS_DIALOG_MINIMIZE","UXF_DIALOG_OPENED","USER_CONSENT_BEHAVIOR","UCM_DIALOG_CLOSED","META_PROP_NAME_PERSISTED_STATE","SCREEN_INTERACTION_ID_UPDATE_REQUESTED","HOISTED_CONTENT_SOURCE_RENDERED","HOISTED_CONTENT_UPDATED","HOISTED_CONTENT_SCREEN_UPDATED","routerConfig","defaultConfig","errorPages","landingPath","context","path","routes","record","macroponentSysId","optionalParameters","macroponentConfiguration","fields","home","page","initConfig","config","routerConfigData","queryParams","interoperableRoutes","dependentRoutes","experienceRouteConfigs","routeTypeFieldGroupsMap","routeTypeFieldGroupsMapInterop","routeTypeFieldGroupsMapDependent","setCommonRouterConfig","queryParamsEnabled","getUXGlobalRouterConfiguration","_EXPERIENCE_CONFIGS","initPath","window","EXPERIENCE_CONFIGS","appRouteConfig","getRequestedExperienceRouterConfiguration","async","_experienceConfigs$re","_experienceConfigs","requestedExpKey","prevRouterConfig","updateProperties","dispatch","isFullExpConfigs","experienceContent","experienceConfigs","pageMeta","pageRegistryId","experienceId","pageMacroponentId","constructedRouterConfig","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","dispatchUpdateHoistedContentForActiveRecords","screenObject","hasChatOnPage","isMainSessionTab","parent","EXP_CONFIGS","generateScreenKey","route","sort","hash","getScreenKey","selectedContent","_selectedContent","uid","multiInstField","parts","split","getPrimaryExperienceRoutes","primaryExperience","getPrimaryExperience","currentExperience","isInvalidParentLoad","properties","doesResolveToSameScreen","otherSelectedContent","otherRoute","otherFields","getResolvedScreenFromAppliedPageFragment","routeToScreenMap","routeToScreenMapInterop","routeToScreenMapDependent","_selectedContent$cont","_fields","appliedPageFragments","routeKey","localRoute","resolvedScreenMacroponent","applicableRoute","screenAppliedPageFragment","interopRoute","macroponents","mcp","pageFragmentSysId","_localRoute$macropone","dependentRoute","some","field","propValues","handleHoistedContentUpdates","dispatchUpdatedScreenSelectedForHoistedContent","getScreenKeyFn","_window","_screenObject$hasUtil","currentScreenKey","screenKey","hoistedContentConfiguration","hoistedContent","values","_ref","activeHoistedContent","getHoistedContentConfiguration","isHidden","hasHoistedContent","hasUtilityPanel","parentScreenKey","screenData","updateScreenContentWhenParentPresent","parentObj","mcpObj","evaluateConditionFn","parsedCondition","globalNavigationPosition","initGlobalNavigationPositionObject","initGlobalNavigationPosition","setNavigationPosition","position","getNavigationPosition","previousExperiencePath","previousExperiencePathObject","initPreviousExperiencePathOnPopState","setPreviousExperiencePath","experiencePath","getPreviousExperiencePath","BASE_ATTR","removeTrailingSlash","pathname","last","substring","removeFirstSlash","trimSlashes","urlCase","urlPathPart","constants","getEncodedPersistedStateForSelectedContent","coeffects","persistedState","resolveHref","href","indexOf","hrefParts","slice","up","acc","part","currentPosition","history","state","globalNavigationObject","pushState","reloadUrl","url","replace","replaceState","navigateUrl","title","experienceName","shouldReload","noTitleUpdateUsingUrl","sanitizeBaseUrl","rawPathname","_pathname","initBaseUrl","base","basePath","document","querySelector","parsed","getPathname","getAttribute","getBasePath","console","group","log","groupEnd","redirectUrl","isRouteMultiInstEnabled","getExperiencePath","params","getContext","routeConfig","doesRouteExist","fieldsLength","typeFieldGroupsMap","getQueryStringParams","query","location","search","test","param","INTERFACE_TYPE_STRINGS","INTERFACE_NAME_STRINGS","getTransactionSource","getPageInterfaceType","appShellId","getInterfaceName","experienceConfigKey","getTokenizedUrlParts","_ux_globals","fieldCount","orderedFields","appRouteConfiguration","_r$fields","fieldSlugs","paramSlugs","createTokenizedPath","tokenizedParent","IS_LOGGED_IN","gLoggedIn","toLowerCase","DESTINATION_URL","destinationUrl","getUrlFromContentDefinition","contentDef","contentRoute","contentFields","encodedPersistedState","Array","isArray","hasMatchedInteropRoute","doesInteropRouteExist","hasMatchedRoute","hasMatchedDependentRoute","doesInteropDependentRouteExist","urlType","hasMatchedRouteWithMatchingFieldsLength","configuredParams","val","filteredParams","paramsForUrl","getUriFromParams","getUrlFromSelectedContent","contextUrl","contextPath","leafUrl","rootContent","rootUrl","attemptGetSelectedContentFromURL","prevSelectedContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getAppliedTemplate","getTemplates","registerScreenActionTransformer","setAppConfigToRootMacroponent","DB_ENGINE_EXEC_SUCCEEDED","DB_ENGINE_EXEC_FAILED","UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED","initCustomMetricsAndTrace","parentAppShellId","traceparent","nowUiFramework","_window$nowUiFramewor","interactionId","metrics","uxfInteractionIdBase","uxrInteractionId","setInteractionId","currentMetricTypes","metricTypesToDefine","CLIENT_SCRIPT","NAVIGATE","forEach","metricType","name","options","channelType","tableName","_recordId","eventTypes","loadedExperiences","setExperienceMark","host","action","eventType","meta","type","applicationContextId","applicationContextName","switched","pageTitle","getUxfSysProp","_window$ux_globals$li","defaultValue","libuxf","sysprops","getPageProperties","_window2","pageProperties","PREVIEW_MODE","LIVE_PREVIEW_QUERY_STRING","isScreenPreview","queryString","getIsScreenPreviewFromURL","decodedURL","URL","searchParams","mode","ACTION_PERSIST_STATE_INIT_INTERNAL","ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL","COMPONENT_BOOTSTRAPPED","COMPONENT_DISCONNECTED","COMPONENT_PROPERTY_CHANGED","UXF_PERF_MONITORING_ENABLED","isScreenPreviewMode","shouldSkipPopNavigation","updateActiveContextPath","_properties$routerCon","_properties$rootSelec","activeContextPath","rootSelectedNavItem","navigationOptions","navigateExternal","_onPopState","event","confirmPopStateNavigation","getResolvedProperties","expPath","_event$state2","experiencePathObject","_getGlobal$ux_globals","isConfirmPopStateNavigationWhenDirtyActive","confirm","_event$state","preventDefault","go","activeRouteConfig","requestedRouteConfig","updateUrl","getInterruptionHandler","interruption","_selectedContent$titl","isRootSelectedNavItemChange","selectedContentForUrlUpdate","openUrl","targetWindowRef","windowOptions","target","windowFeatures","open","selectedContentClone","origin","referrer","reload","redirect","transaction_source","onRootSelectedNavItemChange","_rootSelectedNavItem$","currentRecordId","recordId","storedRecordInfo","getItem","lastRecordId","warn","retrieveRecordId","updatedRouterConfig","operation","_ref2","targetRoute","_objectWithoutPropertiesLoose","_excluded","prevContext","_targetContent","restContent","_excluded2","_newRecordId","setItem","saveRecordId","contextChanged","changeContext","ctx","_context","navigateToExternal","routerBootStrappedEffect","_host$getRootNode","_ref3","appShellRoot","getRootNode","localName","customElements","whenDefined","Promise","resolve","addEventListener","capture","addInterruptionHandlers","routerInitiated","onActiveExperienceChange","activeExperience","_ref4","_timestamp","requestedExpRouterConfig","getParams","lifeCycleHandlers","routerDisconnectedEffect","removeEventListener","_value$context","payload","onRootContentUpdatedChange","rootContentUpdated","newSelectedContent","onRootPersistedStateChange","_ref5","shouldUpdate","_value$context2","view","deepCompare","selectable","behaviors","actionHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__","canvasClientBehavior","clientInfo","schema","renderer","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","sessionPing","getSessionPing","toMilliseconds","seconds","sessionTimeout","lowerBound","upperBound","Math","min","defaultEventRegistry","Map","ACTION_TYPES","extendUISessionEffect","method","successActionType","errorActionType","sessionExtensionEffect","events","effect","eventRegistry","coeffect","body","createDisconnectEffect","removeEventListeners","registerEventListeners","createEffectForEvents","leading","trailing","sessionExtensionBehavior","canvasSession","isLoggedIn","convertToHash","keyInfo","stack","pop","getKeyInfo","recoverContextFromKey","j","mapToAggregation","aggregationMap","status","activityLogger","_createClass","ActivityLogger","_classCallCheck","_activityMap","data","logInfo","_logInfo","timestamp","Date","now","_hash","existingRecord","newActivities","existingActivities","activities","activityKey","existingActivity","_keyInfo","activitykey","existingLogInfo","sysId","recordEntry","getSingle","clear","delete","clearSingle","isKeyUpdateRequired","screenParams","keyArray","every","getScreenConfigurationLink","screenId","screenTypeId","activeExperienceConfig","activeExperienceKey","_getAppConfigID","updateActivityLogs","activeKey","_activityLogs","getAll","_key","_value","entries","isActive","activityLogs","activeScreenId","screenMetaData","screenType","linkToCurrentScreenConfiguration","label","screenTitles","callbackFn","isRelatedRecord","_selectedContent$fiel","parentkey","recordSysId","recordHasOperation","incomingContent","recoverContentFromKey","selectedContentFields","table","navInfo","sys_id","shouldSkip","saveOrUpdateLog","sourceSelectedContent","screenTitle","browserTabTitle","changePayload","actionId","componentId","isScreenKeyUpdated","isDirty","hasUpdate","timeStamp","isSameScreen","getParentDetails","_content$parent","_content$parent2","selectedParent","sourceParent","sourceRoute","sourceFields","compareScreens","_content$fields$redir","passiveNavigation","requestAnimationFrame","screenStatus","newTitles","NOW_CONFIRM_MODAL_CLEAR","NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED","NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED","ACTIVITY_LOG_UPDATED","LAYOUT_PROP_RESET_REQUESTED","NAVIGATION_CLOSED","closedNavigationIds","closedIdsInfo","activityKeys","clearMultiple","filter","annotation","parentKey","toBeUpdatedProps","getSessionStorageKey","getTime","getStoredScreenTitles","userId","storedScreenTitles","saveScreenTitles","clearScreenTitles","removeItem","COMPONENT_CONNECTED","previousValue","experienceChromeSettings","layoutUnloadHandler","_screenTitles","_experienceId","_properties$selectedC","isHoistedContentHidden","hoistedContentConfigurationUxGlobals","currentHoistedContent","currentActiveHoistedContent","currentIsHidden","propsActiveHoistedContent","propsIsHidden","newHoistedContentConfiguration","__hoistedContentConfiguration","propsHoistedContentConfiguration","foundHoistedContent","_hoistedContentConfig","hoistedContentConfigurationParent","styles","dirtyModalId","icon","hasError","message","tooltipPreview","tooltipPreviewSchema","screenCloseConfirmation","screensToCloseQueue","screenStatusActionHandlers","activityLogActionHandlers","navigationActionHandlers","componentActionHandlers","hoistedContentActionHandlers","EventScheduler","dispatchFn","eventQueue","scheduler","setInterval","job","clearInterval","actionObj","dequeueEvent","canvasRedispatch","addEvent","shift","eventSchedulerMap","screensData","isDirtyObject","Boolean","newScreensData","eventScheduler","stopPropagation","schedule","start","sourceElementId","instanceId","compositionId","uxfMeta","showDialogModal","dialogId","propagatedMetaFromDialogCloseRequested","closeMandate","closeConfirm","sourceElement","_globalUnloadFunctions","runFuncs","functionList","frameElement","retVal","returnValue","defaultOnUnload","GlobalUnloadistener","add","fn","remove","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__","whenScreenMacroponentIdleDuringPageLoad","whenScreenMacroponentIdleOnEachPageLoad","EVALUATION_CACHE","getHydratedScreen","globalUxfObject","EVALUATORS","AND","op","symbol","evaluator","b","OR","EQUALS","NOTEQUALS","STARTSWITH","startsWith","parseCondition","conditionStr","conditionArr","conditionObj","c","logical_operator","evaluateCondition","logical_op","_result","preParseConditions","_macroponents","getResolvedScreenFromMatchingInteropRoutes","interopRouteToScreenMap","serverResolvedScreenId","getResolvedScreen","interopRouteType","interopRoutes","resolvedScreen","parsedInteropCondition","interoperableCondition","interopMacroponents","appConfigId","interoperableRouteSysId","getFallbackScreens","ROUTE_CONFIG_OBJ","errorCode","customAuthRoute","primaryExpRoutes","routeObj","fieldsLen","getScreen","hydrationKey","chars","charAt","floor","random","generateHydrationKey","hydrateContext","cachedMacroponent","isInterop","routeType","defaultMacroponent","resolvePreviewScreen","screen","sysparm_live_preview","withLivePreview","sysparm_screen_sys_id","livePreviewScreenSysId","resolvedMacroponent","error","viewportConfigurationId","macroponent","hasRouteConditionScript","routePath","routeConditionScriptPath","getHasRouteConditionScript","_parentMacroponentObj","_parentMacroponentObj2","__uxf_get_screen_id","__uxf_resolve_screen_id","resolvedMacroponentSysId","parentMacroponentSysId","macroponentObject","parentMacroponentObject","condition","localScreenType","localTitle","invalidValues","areFieldsValid","resolvedInteropScreen","resolvedLocalScreen","resolvedDependentScreen","trackInteropRouteUsage","markPayload","providerApplicationName","providerScreenId","screenContent","providerAppConfigId","pageSettings","getProviderContextForInterop","parseRoute","rest","deepRouteCopy","getRouteToScreenMap","ROUTE_TO_SCREEN_MAP","parsedRoute","parseInteropRoutes","interopRoutesForKey","_interopRoutesForKey$","interopRoutesForKeyAndFieldsLength","getUpdatedRouteConfig","newRouteConfigToUpdate","interopAliasMap","hasOwn","getInteropRouteToScreenMap","getInteropDependentRouteToScreenMap","aliasMap","interopRouteObj","_aliasMap$appConfigId","aliasFor","aliasMapForAppConfigId","getInteropAliasMap","componentIds","getSelectableRouterProps","propName","componentName","snCanvasPortal","getElementsByTagName","getSelectableProp","screensDataBehaviors","initialState","initScreenLoaded","mainConfig","shouldRenderWhenSet","_newScreensData$scree3","_newScreensData$scree4","_newScreensData$scree5","udpatedRouteConfig","is","restSelectedContent","hasScreen","isContextualRoute","_parsedChromeTab$cont","chrome_tab","parsedChromeTab","JSON","parse","contextual","info","suspended","discarded","unSuspendScreens","activeScreen","lastActiveTimeStamp","eventMappings","defaultTitle","advancedPerformanceSettings","suspendableScreens","discardableScreens","getSuspendableDiscardableScreens","maxCachedPageCount","maxActivePageCount","MAX_CACHED_SCREEN_COUNT","MAX_ACTIVE_SCREEN_COUNT","sorted","endIdx","updatedRouteConfig","_previousValue$fields","screenKeyMap","previousScreenKey","getDirtyStateManager","uxf","dirtyStateManager","Error","updateScreenKey","activeContextPathChanged","updateState","then","scheme","requestIdleCallback","cancelScheme","cancelIdleCallback","cancelAnimationFrame","macroponentSet","Set","routeList","uxfRouteMacroponentMap","prefetchLimits","routeLimit","screenLimit","obj1","obj2","order","m","requestId","prefetchTemplates","_screensData$screenKe","createNew","currentUxrInteractionId","updatedUxrInteractionId","endsWith","updatedScreensData","_newScreensData$scree","_newScreensData$scree2","getParentScreen","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","MODELESS_DIALOG","DATA_TYPE","REPEATER","FULL_SCREEN_INDEX","NOW_ID","IS_FOCUSED","POSITION","TRUE","FALSE","FOCUSED_INDEX","UNFOCUSED_INDEX","getModelessDialogElements","nodeElements","fetchModelessDialogElements","nodeElement","nodeName","parentElement","node","opened","updateMaximizeModelessElements","dialogElement","fullscreen","onModelessElementsUpdated","childNodes","nowId","setAttribute","style","zIndex","onModelessDialogMaximize","getModelessMaximizedDialogElements","validateModelessDialogElement","getModelessListControllerElement","metaId","controllerElement","modelessList","instanceIndex","findIndex","updateUnhidModelessElements","repeaterElements","repeaterNode","filteredChildNodes","index","focus","handleModelessDialogZIndexEvents","shouldContinue","dialogElements","updateModelessElements","modelessDialogActionHandlers","handleModelessDialogZIndexMaximizeEvents","handleModelessDialogMinimizeEvents","modelessDropdownElement","handleUnhideModelessDialogZIndexEvent","COMPONENT_DOM_READY","canvasMainlifeCycleHandlers","ASSIGN","shouldRender","hasDirtyDescendant","newScreenStatusPayloads","_newScreenKeyMap","_screensData$newKey","updateActiveScreenId","_screensData","newKey","oldKey","newObj","renameObjectKey","SET","screensDataLatest","screensDataNew","derivedState","userPrefs","screensArr","_screensData$screenId","isNaN","lastNavigationTimestamp","className","nowMode","persistedStateForScreen","display","manageOpened","variant","clickActionType","createScreens","behavior","subscriberUpdatePropertiesFn","dialogActionHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__","isDesktopSafari","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__","getFocusableNodes","setPropsOnDom","domObj","propObj","handleScreenDataChange","targetRef","children","prevParams","prevFields","prevSearch","oldNode","flattenedParams","isSuspended","ACTION_PERSIST_STATE","ACTION_PERSIST_STATE_INTERNAL","COMPONENT_RENDERED","level","navigationInterceptor","_fields$sysId","ogRoute","translatedAlias","ogTargetRoute","translatedAliasForTargetRoute","persistStateTerminator","persistTo","stopBlockedLoading","loaderNode","fullPageLoaderTimeoutRef","clearTimeout","classList","setTimeout","removeChild","_targetRef$firstEleme","firstElementChild","handleActivityLogsChange","handleUserPrefsChange","_value$screenData$vie","_targetRef$firstEleme2","persistedStatePropForScreen","handlePersistedStateChange","didSetInitialFocus","firstFocusableElement","modifier","DEBOUNCE","delay","blockLoaderAnimationConfig","autoplay","loop","tokenId","src","canvasScreen","_derivedState$propert","pageLoaderTimeout","loadingMessage","isBlockedLoadingEnabled","_advancedPerformanceS","_advancedPerformanceS2","_advancedPerformanceS3","fullPageLoader","enabled","timeout","setTargetRef","ref","_targetRef$getRootNod","_window$nowUiFramewor2","_routeConfig$routes","isBlockedLoading","getUxrInteractionIdByHost","actionTransformerTag","customAuthRote","newNode","replaceChild","nowUxfReflowDisabledAppConfig","disableAutoReflow","nowUxfReflowDisabledScreen","_routeObj$","reflowDisable","flattenParams","fragment","__DO_NOT_USE__nowUxfPfPropOverrides","nowUxfAppConfigSysId","screenATEle","persistedStateForFragment","appendToPayload","__uxfCompositionElId","addMCPReadyListener","mcpEle","macroponentHandler","macroponentIdleHandler","once","screenMCPEle","actionTransformerElement","appendChild","loadScreen","loadingFragment","configAnimation","elm","hook-destroy","height","isScreenSubscriber","_properties$canvasSes","user","storedSelectedContentMap","experienceData","storedExperienceData","_storedExperienceData","getStoredExperienceData","sessionSelectedContentMap","appShellLayoutUnloadHandler","getProperty","_sessionSelectedContentMap","_selectedContentMap","saveExperiences","_ref6","selectedContentMap","experiencesData","restValue","newExperiencesData","screens","layoutPropertyChangedEffect","_previousValue$contex","activeExperienceChromeSettings","experienceChromeSettingsMap","activeExperienceChromeSettingsChangeEffect","_ref7","from","_ref8","_action$payload3","canvasClassicLoadedEffect","_action$payload","_action$payload2","payloadTitle","classicSavedTitle","prevPath","experienceDataBehavior","experienceLimits","_action$payload$conte","payloadData","ignoreDirty","screenKeySet","s","singleExperienceData","newScreens","newSingleExperienceData","buildScreensToCloseQueue","applyExperienceCacheRestriction","_experiencesData","maxCachedExperienceCount","maxActiveExperienceCount","MAX_CACHED_EXPERIENCE_COUNT","MAX_ACTIVE_EXPERIENCE_COUNT","allExperiences","nonActivePristineExperiences","sortByMostRecentlyAccessed","expData1","expData2","exp","remainingExperiences","isDetached","isDiscarded","convertToMap","mapped","dialogTypeMap","explicitoptin","notice","userConsentBehavior","showUcm","ucmConfig","getGlobalUCMConfiguration","user_analytics_consent_text","user_consent","hasUserConsented","userConsent","updateUserConsent","isConditionalRouteValid","routeCondition","evaluateRouteCondition","parsedConditionValue","routeExists","experienceConfig","isConditionalRouteValidFn","routeExistsWithMatchingFieldsAndCondition","conditionalKey","routesArr","resultRouteArr","routeFields","f","fieldsExactMatchExists","conditionMatchExists","conditionalMatchExistsInInteropRoutes","fieldsExactMatchExistsInInteropRoutes","dontLookIntoDependentRoutes","conditionalMatchExistsInDepRoutes","handleMappings","mappingConfig","mapping","address","getRouteObjFromMapping","handleMappingsFunc","fieldsConfig","paramsConfig","getExperienceList","globalNavigationConfig","feature","filters","features","featureConfig","_default","conditionalExperienceMappings","expList","matchingCriteria","experiencePriorityList","matchFound","getRouteObj","getRouteObjFromMappingFunc","routeMapping","conditionalMappings","_routeInfo","routeInfo","getExperience","urlPath","featureRoutes","featureRoutesProp","processGlobalNavConfig","expPropMap","defaultRoute","defaultExperiencePriorityList","expMapping","newExperiencePriorityList","getStoredPreviouslyVisitedExperience","previouslyVisitedExperience","getUnifiedCacheInstanceFunc","storedPreviouslyVisitedExperience","savePreviouslyVisitedExperience","getUXGlobalsExperienceConfigs","resolveRouteForExperience","experience","getRouteObjFunc","routeExistsFunc","routeObjForExp","parentRouteObjForExp","fetchAndUpdateRequestedExperiences","_fallbackRoute$contex","targetExperience","fallbackRoute","experiencesToFetch","currentSiteName","requestedExpKeys","filteredExpKeys","_experienceConfigs2","_experienceConfigs3","getRequestedExperienceRouterConfigurations","_updatedRouterConfig","_window$ux_globals$ex","currentRouterConfig","isGlobalNavConfProcessed","getUXGlobalsExperienceConfigsFunc","processGlobalNavConfigFunc","getStoredPreviouslyVisitedExperienceFunc","getExperienceFunc","resolveRouteForExperienceFunc","getExperienceListFunc","newGlobalNavigationConfig","navType","lastVisited","_canvasSession$user","targetedExperience","experienceList","_routeObj","_parentRouteObj","savePreviouslyVisitedExperienceFunc","serviceWorkerEvents","sysProps","defaultApiPrefetchConfig","isEnabled","showDebugLog","disabledBaseUrls","uxfBaseUrl","apiBaseUrl","batchApiUrl","gqlApiUrl","responsesTtl","_config","navigator","serviceWorker","getRegistrations","registration","scope","resolveRegistrations","_registration$active","active","postMessage","experienceSwitchBehavior","globalNavBehavior","apiPrefetchBehavior","prevContextPath","shellRouterConfig","ACTIVE","SUSPEND","DETACH","btoa","renderMainViewPorts","addLifeCycleEvent","buildScreen","extraInfo","output","propagateExperienceData","_selectedContent$cont2","screenStatusChangedActionPayload","newExperienceData","experienceContext","shouldDispatch","setContextInPayload","UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA","handleNestedMerge","objValue","srcValue","experienceLoaded","experienceProps","appId","appShellFragment","isCanvasExperienceShell","fragmentItem","append","loadExperience","interceptors","augmentedMeta","sd","subscriberDispatchFn","__TECTONIC__sn_canvas_core"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/_sn-canvas-appshell-layout.scss","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/_sn-canvas-appshell-main.scss","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/_sn-canvas-experience-shell.scss","webpack:///sn-canvas-core/src/sn-canvas-layout/_sn-canvas-layout.scss","webpack:///sn-canvas-core/src/sn-canvas-main/_sn-canvas-main.scss","webpack:///sn-canvas-core/src/sn-canvas-screen/_sn-canvas-screen.scss","webpack:///./src/sn-canvas-appshell-layout/_sn-canvas-appshell-layout.scss?9e56","webpack:///./src/sn-canvas-appshell-main/_sn-canvas-appshell-main.scss?9bba","webpack:///./src/sn-canvas-experience-shell/_sn-canvas-experience-shell.scss?be75","webpack:///./src/sn-canvas-layout/_sn-canvas-layout.scss?8b46","webpack:///./src/sn-canvas-main/_sn-canvas-main.scss?e314","webpack:///./src/sn-canvas-screen/_sn-canvas-screen.scss?ddd9","webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-analytics-integrator/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-common/28.0.63-swarm.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-canvas-core/src/constants/constants.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.config.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-core/src/utils/utility-panel/util.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.util.js","webpack:///sn-canvas-core/src/utils/globalNavigationPosition.js","webpack:///sn-canvas-core/src/utils/routeUtils.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.util.js","webpack:///sn-canvas-core/src/sn-canvas-layout/utils/browser.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.contentParser.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.urlParser.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-metrics/constants.js","webpack:///sn-canvas-core/src/sn-canvas-metrics/index.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.storage.js","webpack:///sn-canvas-core/src/utils/setExperienceMarks.js","webpack:///sn-canvas-core/src/utils/uxGlobals.js","webpack:///sn-canvas-core/src/utils/isScreenPreview.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.effects.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.js","webpack:///external module \"/uxasset/externals/sn-canvas-core-addon/28.0.63-swarm.0/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-client/sn-canvas-client.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-canvas-core/src/utils/get-session-ping.js","webpack:///sn-canvas-core/src/utils/behaviors/sessionExtension.behaviors.js","webpack:///sn-canvas-core/src/utils/activity-logger/activity-logger.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.screen-status.js","webpack:///sn-canvas-core/src/sn-canvas-layout/constants/constants.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.activity-log.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.navigation.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.storage.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.component.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.utility-panel.js","webpack:///sn-canvas-core/src/sn-canvas-layout/effects/hoistedContentEffectHandlers.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.effects.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.dialog.effects.js","webpack:///sn-canvas-core/src/utils/global-unload-listener.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-runtime-utils/24.0.21-uxperf-rc-page-idle-api.7/index.jsdbx\"","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.resolver.js","webpack:///sn-canvas-core/src/utils/trackInteropRouteUsage.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.config.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.effects.js","webpack:///sn-canvas-core/src/utils/selectablePropUtils.js","webpack:///sn-canvas-core/src/utils/behaviors/selectableProps.behaviors.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.behaviors.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialogConstants.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialog.utils.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialog.helpers.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/modelessDialog.action.factory.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/modelessDialog.actions.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.util.js","webpack:///sn-canvas-core/src/sn-canvas-main/view.js","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.24/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.util.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.change.effects.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.effects.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.js","webpack:///sn-canvas-core/src/sn-canvas-screen/behaviors/dirtyStateHandler.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.view.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.effects.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.storage.js","webpack:///sn-canvas-core/src/behaviors/experience-switch-behavior/index.js","webpack:///sn-canvas-core/src/utils/experience-caching/index.js","webpack:///sn-canvas-core/src/behaviors/experience-data-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/experience-data-behavior/utils.js","webpack:///sn-canvas-core/src/behaviors/user-consent-behaviour/util.js","webpack:///sn-canvas-core/src/behaviors/user-consent-behaviour/index.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.util.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.storage.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.effects.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/api-prefetch-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/api-prefetch-behavior/utils.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.view.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.effects.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.view.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.utils.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/utils/setContextInPayload.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/interceptors/experienceDataAugmentationInterceptor.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.effects.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.experienceLoader.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.dirtyHandler.js","webpack:///sn-canvas-core/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-appshell-main{inset:0;overflow-y:hidden;position:absolute}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-experience-shell{height:100%;overflow-y:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-layout{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-main{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-screen{height:100%;position:relative}.sn-canvas-default403,.sn-canvas-default404{align-items:center;display:flex;flex-direction:column;height:100%;margin:20px auto;position:relative;width:now-fn-px2rem(500px)}.blocked-loader{align-items:center;background-color:RGB(var(--now-color_background--primary,255,255,255));display:flex;height:100%;justify-content:center;left:0;opacity:1;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:50}.removing-block-loader{opacity:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-experience-shell.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-screen.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"componentModes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t\t} else if ('componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.componentModes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNumber;\n\t\t\t\t}, [\"mergeWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].mergeWith;\n\t\t\t\t\t} else if ('mergeWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.mergeWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].mergeWith;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"setApplication\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setApplication' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setApplication;\n\t\t\t\t\t} else if ('setApplication' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setApplication || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setApplication;\n\t\t\t\t}, [\"setConfigValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setConfigValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setConfigValue;\n\t\t\t\t\t} else if ('setConfigValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setConfigValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setConfigValue;\n\t\t\t\t}, [\"setPage\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPage' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setPage;\n\t\t\t\t\t} else if ('setPage' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setPage || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setPage;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t}, [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"getMetricTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t\t} else if ('getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getMetricTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"kebabCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t\t} else if ('kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.kebabCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"pickBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t\t} else if ('pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pickBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PERSIST_STATE_CONSTANTS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t\t} else if ('PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.PERSIST_STATE_CONSTANTS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t}, [\"calculateNewScreenStatusPayloads\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t\t} else if ('calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.calculateNewScreenStatusPayloads || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t}, [\"canCreateMoreScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'canCreateMoreScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].canCreateMoreScreen;\n\t\t\t\t\t} else if ('canCreateMoreScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.canCreateMoreScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].canCreateMoreScreen;\n\t\t\t\t}, [\"constructRouterConfig\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'constructRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].constructRouterConfig;\n\t\t\t\t\t} else if ('constructRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.constructRouterConfig || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].constructRouterConfig;\n\t\t\t\t}, [\"createBrowserTabTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'createBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].createBrowserTabTitle;\n\t\t\t\t\t} else if ('createBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.createBrowserTabTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].createBrowserTabTitle;\n\t\t\t\t}, [\"decodeURL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'decodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].decodeURL;\n\t\t\t\t\t} else if ('decodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.decodeURL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].decodeURL;\n\t\t\t\t}, [\"deepSearchAllElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchAllElement;\n\t\t\t\t\t} else if ('deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.deepSearchAllElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchAllElement;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"encodeURL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'encodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].encodeURL;\n\t\t\t\t\t} else if ('encodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.encodeURL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].encodeURL;\n\t\t\t\t}, [\"getFilteredParams\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFilteredParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getFilteredParams;\n\t\t\t\t\t} else if ('getFilteredParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getFilteredParams || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getFilteredParams;\n\t\t\t\t}, [\"getGlobal\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getGlobal' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getGlobal;\n\t\t\t\t\t} else if ('getGlobal' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getGlobal || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getGlobal;\n\t\t\t\t}, [\"getInteropDependentRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropDependentRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropDependentRoute;\n\t\t\t\t\t} else if ('getInteropDependentRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getInteropDependentRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropDependentRoute;\n\t\t\t\t}, [\"getInteropDependentTypeFieldGroupsMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropDependentTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropDependentTypeFieldGroupsMap;\n\t\t\t\t\t} else if ('getInteropDependentTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getInteropDependentTypeFieldGroupsMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropDependentTypeFieldGroupsMap;\n\t\t\t\t}, [\"getInteropRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropRoute;\n\t\t\t\t\t} else if ('getInteropRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getInteropRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropRoute;\n\t\t\t\t}, [\"getInteropTypeFieldGroupsMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropTypeFieldGroupsMap;\n\t\t\t\t\t} else if ('getInteropTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getInteropTypeFieldGroupsMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getInteropTypeFieldGroupsMap;\n\t\t\t\t}, [\"getLandingPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLandingPath;\n\t\t\t\t\t} else if ('getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getLandingPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLandingPath;\n\t\t\t\t}, [\"getLocation\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLocation' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLocation;\n\t\t\t\t\t} else if ('getLocation' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getLocation || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getLocation;\n\t\t\t\t}, [\"getParametersFromPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getParametersFromPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getParametersFromPath;\n\t\t\t\t\t} else if ('getParametersFromPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getParametersFromPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getParametersFromPath;\n\t\t\t\t}, [\"getRequestedExperienceConfigs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getRequestedExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getRequestedExperienceConfigs;\n\t\t\t\t\t} else if ('getRequestedExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getRequestedExperienceConfigs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getRequestedExperienceConfigs;\n\t\t\t\t}, [\"getRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getRoute;\n\t\t\t\t\t} else if ('getRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getRoute;\n\t\t\t\t}, [\"getSelectedContentFromUrl\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSelectedContentFromUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getSelectedContentFromUrl;\n\t\t\t\t\t} else if ('getSelectedContentFromUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getSelectedContentFromUrl || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getSelectedContentFromUrl;\n\t\t\t\t}, [\"getTypeFieldGroupsMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getTypeFieldGroupsMap;\n\t\t\t\t\t} else if ('getTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getTypeFieldGroupsMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getTypeFieldGroupsMap;\n\t\t\t\t}, [\"getUnifiedCacheInstance\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t\t} else if ('getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.getUnifiedCacheInstance || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t}, [\"isCompleteExperienceConfigs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'isCompleteExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].isCompleteExperienceConfigs;\n\t\t\t\t\t} else if ('isCompleteExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.isCompleteExperienceConfigs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].isCompleteExperienceConfigs;\n\t\t\t\t}, [\"isSupportedExperience\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'isSupportedExperience' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].isSupportedExperience;\n\t\t\t\t\t} else if ('isSupportedExperience' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.isSupportedExperience || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].isSupportedExperience;\n\t\t\t\t}, [\"nowTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].nowTitle;\n\t\t\t\t\t} else if ('nowTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.nowTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].nowTitle;\n\t\t\t\t}, [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].renderSkipBehavior;\n\t\t\t\t}, [\"setActiveRouterConfig\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActiveRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setActiveRouterConfig;\n\t\t\t\t\t} else if ('setActiveRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setActiveRouterConfig || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setActiveRouterConfig;\n\t\t\t\t}, [\"setBrowserTabTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setBrowserTabTitle;\n\t\t\t\t\t} else if ('setBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setBrowserTabTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setBrowserTabTitle;\n\t\t\t\t}, [\"setPageTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setPageTitle;\n\t\t\t\t\t} else if ('setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__.setPageTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_28_0_63_swarm_0_index_jsdbx_57a985ec__[\"default\"].setPageTitle;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\n//constants for router\nexport const SUB_URL = 'sub';\nexport const PARAMS_DIVIDER = 'params';\nexport const QUERY_PARAMS_DIVIDER = '?';\nexport const URL_CONTENT_LOADED = 'URL_CONTENT_LOADED';\nexport const CURRENT_ROUTE = 'current';\nexport const PERSISTED_STATE_PARAM = '__state__';\n\nexport const COMPONENT_ID = 'component-id';\n\n//Component Names\nexport const SN_CANVAS_CLIENT = 'sn-canvas-client';\nexport const SN_CANVAS_ROUTER = 'sn-canvas-router';\nexport const SN_CANVAS_LAYOUT = 'sn-canvas-layout';\nexport const SN_CANVAS_MAIN = 'sn-canvas-main';\nexport const SN_CANVAS_SCREEN = 'sn-canvas-screen';\nexport const SN_CANVAS_MODAL_HOIST = 'sn-canvas-modal-hoist';\nexport const SN_CANVAS_EXPERIENCE_SHELL = 'sn-canvas-experience-shell';\nexport const SN_CANVAS_APPSHELL_LAYOUT = 'sn-canvas-appshell-layout';\nexport const SN_CANVAS_APPSHELL_MAIN = 'sn-canvas-appshell-main';\n\n// Actions\nexport const CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED';\n\nexport const SCREEN_DATA_CHANGED = 'SCREEN_DATA_CHANGED';\nexport const MAIN_SELECTED_CONTENT_CHANGED = 'MAIN_SELECTED_CONTENT_CHANGED';\n\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const MODAL_CLOSED_INTERNAL = 'UXR_INTERNAL#MODAL_CLOSED';\nexport const MODAL_OPENED_INTERNAL = 'UXR_INTERNAL#MODAL_OPENED';\nexport const MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const MODAL_OPENED = 'CANVAS_MODAL#OPENED';\n\nexport const ACTIVE_SCREEN_RENDERED = 'ACTIVE_SCREEN_RENDERED';\nexport const CONTENT_SCREENS_DISCARDED = 'CONTENT_SCREENS_DISCARDED';\nexport const CONTENT_ITEMS_SELECTED = 'CONTENT_ITEMS_SELECTED';\nexport const SCREEN_STATUS_CHANGED = 'SCREEN_STATUS_CHANGED';\nexport const SCREEN_TITLES_REGISTRATION_REQUESTED =\n\t'SCREEN_TITLES_REGISTRATION_REQUESTED';\n\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const UXR_INTERNAL_BACK_BUTTON_NAVIGATION =\n\t'UXR_INTERNAL#BACK_BUTTON_NAVIGATION';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const CANVAS_COMPONENT_CONNECTED =\n\t'UXR_INTERNAL#CANVAS_COMPONENT_CONNECTED';\nexport const SCREEN_BLOCK_LOADING_END_REQUESTED =\n\t'UXR_INTERNAL#SCREEN_BLOCK_LOADING_END_REQUESTED';\nexport const SCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT = 5;\n\nexport const EXPERIENCE_STATUS_CHANGED = 'EXPERIENCE_STATUS_CHANGED';\nexport const EXPERIENCE_SCREENS_UPDATED =\n\t'UXR_INTERNAL#EXPERIENCE_SCREENS_UPDATED';\nexport const USER_PREF_SOURCE_UPDATED = 'UXR_INTERNAL#USER_PREF_SOURCE_UPDATED';\n\nexport const EXPERIENCE_SWITCH_BEHAVIOR = 'EXPERIENCE_SWITCH_BEHAVIOR';\nexport const EXPERIENCE_DATA_BEHAVIOR = 'EXPERIENCE_DATA_BEHAVIOR';\n\nexport const GLOBAL_NAVIGATION_BEHAVIOR = 'GLOBAL_NAVIGATION_BEHAVIOR';\nexport const LAYOUT_PROP_RESET_REQUESTED =\n\t'UXR_INTERNAL#LAYOUT_PROP_RESET_REQUESTED';\n\nexport const DIALOG_CLOSE_REQUESTED = 'UXF#DIALOG_CLOSE_REQUESTED';\nexport const DIALOG_CLOSE_CONFIRMED = 'DIALOG_CLOSE_CONFIRMED';\nexport const DIALOG_CLOSE_CANCELED = 'DIALOG_CLOSE_CANCELED';\nexport const DIALOG_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\nexport const CLOSE_DIALOG = t('Close Dialog');\nexport const WARNING_MESSAGE = t(\n\t'Closing this dialog will cause your changes to be lost. Do you want to continue?',\n);\n\n//Canvas Experience LifeCycle\nexport const CANVAS_EXPERIENCE_SWITCH_REQUESTED =\n\t'CANVAS_EXPERIENCE_SWITCH_REQUESTED';\nexport const CANVAS_EXPERIENCE_LOAD_REQUESTED =\n\t'CANVAS_EXPERIENCE_LOAD_REQUESTED';\nexport const CANVAS_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_EXPERIENCE_CONFIG_CHANGED';\n\nexport const CANVAS_EXPERIENCE_SWITCH_INITIATED =\n\t'CANVAS_EXPERIENCE_SWITCH_INITIATED';\nexport const CANVAS_EXPERIENCE_LOAD_INITIATED =\n\t'CANVAS_EXPERIENCE_LOAD_INITIATED';\n\nexport const CANVAS_EXPERIENCE_LOADED = 'CANVAS_EXPERIENCE_LOADED';\nexport const CANVAS_EXPERIENCE_SWITCHED = 'CANVAS_EXPERIENCE_SWITCHED';\n\n//Canvas Screen LifeCycle\nexport const CANVAS_SCREEN_LOAD_INITIATED = 'CANVAS_SCREEN_LOAD_INITIATED';\nexport const CANVAS_SCREEN_SWITCH_INITIATED = 'CANVAS_SCREEN_SWITCH_INITIATED';\n\nexport const CANVAS_SCREEN_LOADED = 'CANVAS_SCREEN_LOADED';\nexport const CANVAS_SCREEN_SWITCHED = 'CANVAS_SCREEN_SWITCHED';\n\nexport const CANVAS_PARENT_SCREEN_LOAD_REQUESTED =\n\t'CANVAS_PARENT_SCREEN_LOAD_REQUESTED';\n\nexport const NOW_EXPERIENCE_SWITCH_REQUESTED =\n\t'NOW_EXPERIENCE_SWITCH_REQUESTED';\n\nexport const NOW_EXPERIENCE_SWITCH_INITIATED =\n\t'NOW_EXPERIENCE_SWITCH_INITIATED';\nexport const NOW_EXPERIENCE_LOAD_INITIATED = 'NOW_EXPERIENCE_LOAD_INITIATED';\n\nexport const NOW_EXPERIENCE_LOADED = 'NOW_EXPERIENCE_LOADED';\nexport const NOW_EXPERIENCE_SWITCHED = 'NOW_EXPERIENCE_SWITCHED';\n\nexport const NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_SWITCHED = 'NOW_EXPERIENCE_PAGE_SWITCHED';\n\nexport const NOW_EXPERIENCE_PAGE_LOAD_INITIATED =\n\t'NOW_EXPERIENCE_PAGE_LOAD_INITIATED';\nexport const NOW_EXPERIENCE_PAGE_SWITCH_INITIATED =\n\t'NOW_EXPERIENCE_PAGE_SWITCH_INITIATED';\n\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const EXPERIENCE_ONLY = 'EXPERIENCE_ONLY';\n\n// NOW Actions\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const NOW_UXF_BARE_MODAL_DISMISSED = 'NOW_UXF_BARE_MODAL#DISMISSED';\nexport const NOW_UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\n\n// Seismic\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\n\n//properties\nexport const USER_PREF_PROPERTY = 'userPrefs';\nexport const ROOT_SELECTED_NAV_ITEM = 'rootSelectedNavItem';\nexport const ROOT_CONTENT_UPDATED = 'rootContentUpdated';\nexport const SCREEN_DATA = 'screenData';\nexport const ACTIVE_EXPERIENCE = 'activeExperience';\nexport const ROOT_PERSISTED_STATE = 'rootPersistedState';\nexport const CONFIRM_POP_STATE_NAVIGATION = 'confirmPopStateNavigation';\n\n//Selectable Properties\nexport const CHANGED_USER_PREF_PROP_BEHAVIOR =\n\t'CHANGED_USER_PREF_PROP_BEHAVIOR';\nexport const ROUTER_CONFIG_PROP_BEHAVIOR = 'ROUTER_CONFIG_PROP_BEHAVIOR';\nexport const SELECTED_CONTENT_PROP_BEHAVIOR = 'SELECTED_CONTENT_PROP_BEHAVIOR';\nexport const ROOT_SELECTED_PROP_BEHAVIOR = 'ROOT_SELECTED_PROP_BEHAVIOR';\nexport const SCREENS_DATA_BEHAVIOR = 'SCREENS_DATA_BEHAVIOR';\nexport const ROOT_MODAL_PROP_BEHAVIOR = 'ROOT_MODAL_PROP_BEHAVIOR';\n\n//'NOW_LOGIN#SUCCEEDED'\nexport const NOW_LOGIN_SUCCESS = 'NOW_LOGIN#SUCCEEDED';\n\nexport const UNDEFINED_FIELD_VALUE = '~~undefined~~';\n\n// Polaris SCREEN_CLOSED action\nexport const DIRTY_SCREEN_CLOSE_CONFIRMED = 'DIRTY_SCREEN_CLOSE_CONFIRMED';\n\n// Prefetch UXF Action\nexport const PREFETCH_RESOURCE_EVENT =\n\t'__DO_NOT_USE__UXF_INTERNAL#PREFETCH_RESOURCE';\nexport const RECORD_ROUTE_NAME = 'record';\nexport const FORM_RESOURCE_NAME = 'FORM';\n\n// Session Ping\n// Default session ping is 60 seconds.\nexport const DEFAULT_SESSION_PING = 60;\nexport const MIN_SESSION_PING = 30;\nexport const MAX_SESSION_PING = 1800;\n// Default glide.ui.session_timeout is 30 minutes\nexport const DEFAULT_SESSION_TIMEOUT = 30;\n\n// AppSee marks\nexport const EXPERIENCE_START = 'EXPERIENCE_START';\nexport const USER_NAVIGATE = 'USER_NAVIGATE';\nexport const PAGE_TITLE_UPDATE_REQUESTED = 'PAGE_TITLE_UPDATE_REQUESTED';\nexport const UXF_INTEROP_ROUTE_RESOLVED = 'Serve Interoperable Route';\n\n// UXF performance Marks\nexport const UXF_USER_BROWSER_NAV_START = 'UXF_USER_BROWSER_NAV_START';\nexport const UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED =\n\t'UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED';\nexport const UXF_INTERRUPTION_MOUSEDOWN = 'UXF_INTERRUPTION_MOUSEDOWN';\nexport const UXF_INTERRUPTION_KEYDOWN = 'UXF_INTERRUPTION_KEYDOWN';\nexport const UXF_USER_NAV_LOAD_START = 'UXF_USER_NAV_LOAD_START';\n\n// Error messages & route config\nconst MESSAGE_403 = t('You do not have permissions to access this page');\nconst MESSAGE_404 = t('The page you are looking for could not be found');\n\nexport const ERROR_MESSAGES = {\n\t403: MESSAGE_403,\n\t404: MESSAGE_404,\n};\nexport const SUPPORTED_ERRORS = Object.freeze(Object.keys(ERROR_MESSAGES));\n\nexport const EXPERIENCE_CONFIGS = 'ux_globals.experienceConfigs';\nexport const ROUTE_CONFIG = () => {\n\t// eslint-disable-next-line no-undef\n\tconst SITENAME = `${ux_globals.siteName}`;\n\tconst ROUTE_CONFIG_PATH = `${EXPERIENCE_CONFIGS}[${SITENAME}][appRouteConfiguration]`;\n\tconst ROUTE_CONFIG_OBJ = {\n\t\tAUTH_ROUTES: `${ROUTE_CONFIG_PATH}.authRoutes`,\n\t\tROUTES: `${ROUTE_CONFIG_PATH}.routes`,\n\t\tFORWARDED_ROUTES: `${ROUTE_CONFIG_PATH}.forwardedRoutes`,\n\t\tPREFETCH_LIMITS: `${ROUTE_CONFIG_PATH}.prefetchLimits`,\n\t};\n\treturn ROUTE_CONFIG_OBJ;\n};\n\nexport const META_PROP_REFLOW_DISABLED = 'nowUxfReflowDisabled';\nexport const REFLOW_DISABLED_APP_CONFIG = 'nowUxfReflowDisabledAppConfig';\nexport const REFLOW_DISABLED_SCREEN = 'nowUxfReflowDisabledScreen';\n\nexport const NOW_MODELESS_DIALOG_MOUSE_DOWN = 'NOW_MODELESS_DIALOG#MOUSEDOWN';\nexport const NOW_MODELESS_DIALOG_MAXIMIZE = 'NOW_MODELESS_DIALOG#MAXIMIZE';\nexport const NOW_MODELESS_CHECK_FIT = 'PRIVATE#CHECK_FIT';\nexport const NOW_MODELESS_DIALOG_MINIMIZE = 'NOW_MODELESS_DIALOG#MINIMIZE';\nexport const UXF_DIALOG_OPENED = 'UXF#DIALOG_OPENED';\n\nexport const MINIMIZED_MODELESS_DIALOG_DROPDOWN =\n\t'sn-uibtk-minimized-dialogs-dropdown';\nexport const USER_CONSENT_BEHAVIOR = 'USER_CONSENT_BEHAVIOR';\nexport const UCM_DIALOG_CLOSED = 'UXR_UCM_DIALOG_CLOSED';\n\nexport const META_PROP_NAME_PERSISTED_STATE = 'nowUxfPersistedState';\n\nexport const IS_COMPONENT_IN_VIEW = 'isComponentInView';\nexport const NOW_MODE_ACTIVE = 'active';\n\nexport const THEME_FULL_PAGE_LOADER_SUFFIX = 'page-loader-default--url';\nexport const DEFAULT_FULL_PAGE_LOADER_LINK =\n\t'images/@servicenow/now-loader/custom-default-spinner-lg-254x80/index.json';\n\nexport const SCREEN_INTERACTION_ID_UPDATE_REQUESTED =\n\t'UXR_INTERNAL#SCREEN_INTERACTION_ID_UPDATE_REQUESTED';\n\nexport const UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS =\n\t'UXR_INTERNAL#UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS';\n//This event is used to handle the hoisted content for the current record when the MCP renders and the hoistedContent is stamped.\nexport const HOISTED_CONTENT_SOURCE_RENDERED =\n\t'UXF_INTERNAL#HOISTED_CONTENT_SOURCE_RENDERED';\n// this event is used to notify the appshell team that the hoisted content has been updated\nexport const HOISTED_CONTENT_UPDATED = 'UXF#HOISTED_CONTENT_UPDATED';\n// this event is used when the screen is switched or loaded to update the hoisted content\nexport const HOISTED_CONTENT_SCREEN_UPDATED =\n\t'UXF_INTERNAL#HOISTED_CONTENT_SCREEN_UPDATED';\n","import { isEmpty, get } from 'lodash';\n\nimport {\n\tgetRequestedExperienceConfigs,\n\tisCompleteExperienceConfigs,\n\tsetActiveRouterConfig as setCommonRouterConfig,\n\tconstructRouterConfig,\n} from 'sn-canvas-common';\n\nimport { CANVAS_EXPERIENCE_CONFIG_CHANGED } from '../constants/constants';\n\nlet routerConfig;\n\nconst defaultConfig = {\n\terrorPages: {},\n\tsiteName: 'now/uxf/demo',\n\tlandingPath: 'home',\n\tcontext: {\n\t\tpath: null,\n\t},\n\troutes: {\n\t\trecord: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '0b89c7515b310010b913cbd59b81c75a',\n\t\t\t\toptionalParameters: ['selectedTabIndex', 'tabId', 'chatId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: ['table', 'sys_id'],\n\t\t\t},\n\t\t],\n\t\thome: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: [],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: [],\n\t\t\t},\n\t\t],\n\t\tlist: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: ['listId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: [],\n\t\t\t},\n\t\t],\n\t\tpage: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: ['listId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: ['page_id'],\n\t\t\t},\n\t\t],\n\t},\n};\n\nconst _transformRouterConfigProp = (routerConfigData) => ({\n\tlandingPath: get(routerConfigData, 'landingPath', ''),\n\tqueryParams: get(routerConfigData, 'encodeQueryString', false),\n\troutes: get(routerConfigData, 'routes', {}),\n\tinteroperableRoutes: get(routerConfigData, 'interoperableRoutes', {}),\n\tdependentRoutes: get(routerConfigData, 'dependentRoutes', {}),\n\texperienceRouteConfigs: get(\n\t\trouterConfigData,\n\t\t'experienceRouteConfigs',\n\t\tnull,\n\t),\n\trouteTypeFieldGroupsMap: get(\n\t\trouterConfigData,\n\t\t'routeTypeFieldGroupsMap',\n\t\tnull,\n\t),\n\trouteTypeFieldGroupsMapInterop: get(\n\t\trouterConfigData,\n\t\t'routeTypeFieldGroupsMapInterop',\n\t\tnull,\n\t),\n\trouteTypeFieldGroupsMapDependent: get(\n\t\trouterConfigData,\n\t\t'routeTypeFieldGroupsMapDependent',\n\t\tnull,\n\t),\n});\n\nexport const initConfig = (config) => {\n\trouterConfig =\n\t\t!config || isEmpty(config)\n\t\t\t? defaultConfig\n\t\t\t: _transformRouterConfigProp(config);\n\tsetCommonRouterConfig(routerConfig);\n};\n\nexport const getLandingPath = () => routerConfig.landingPath;\nexport const queryParamsEnabled = () => routerConfig.queryParams;\nexport const getRouterConfig = () => routerConfig;\nexport const getRouteContext = () => routerConfig.context;\nexport const getUXGlobalRouterConfiguration = () => {\n\tconst initPath = get(window, 'ux_globals.siteName', '');\n\tconst EXPERIENCE_CONFIGS = get(window, 'ux_globals.experienceConfigs', {});\n\tconst appRouteConfig =\n\t\tEXPERIENCE_CONFIGS[`${initPath}`]?.['appRouteConfiguration'] || {};\n\treturn constructRouterConfig(appRouteConfig, EXPERIENCE_CONFIGS);\n};\n\n/**\n * Function to determine if the requested experience exists in the experienceRouteConfigs and is in a full state.\n * It's inferred that the requested experience is full if it contains appRouteConfiguration.  If it is determined that the\n * experience is not full then a network request is made using the experienceId to get the remaining data for only that experience.\n * The updateProperties call should only be made if the experience is not full. Assumption is that after API call they will be full.\n * An updated routeConfig object is returned with the newly requested data\n * Added for on demand experienceConfig resolution\n * @param {String} requestedExpKey - the requested experience route key\n * @param {Object} prevRouterConfig - the router config from the coeffect properties\n * @param updateProperties - updateProperties function from the coeffect\n * @returns {Promise<Object>} routerConfig - returns a newly constructed routerConfig object\n */\nexport const getRequestedExperienceRouterConfiguration = async (\n\trequestedExpKey = '',\n\tprevRouterConfig = {},\n\tupdateProperties,\n\tdispatch,\n) => {\n\tconst isFullExpConfigs = isCompleteExperienceConfigs(requestedExpKey);\n\tconst experienceContent = await getRequestedExperienceConfigs([\n\t\trequestedExpKey,\n\t]);\n\tif (!experienceContent) return null;\n\tconst experienceConfigs = {\n\t\t...prevRouterConfig.experienceRouteConfigs,\n\t\t...experienceContent,\n\t};\n\n\twindow.ux_globals.siteName = requestedExpKey;\n\twindow.pageMeta.pageRegistryId =\n\t\texperienceConfigs[requestedExpKey]?.experienceId || '';\n\twindow.pageMeta.pageMacroponentId = '';\n\tconst appRouteConfig =\n\t\texperienceConfigs[`${requestedExpKey}`]?.['appRouteConfiguration'] ||\n\t\t{};\n\tconst constructedRouterConfig = constructRouterConfig(\n\t\tappRouteConfig,\n\t\texperienceConfigs,\n\t);\n\n\tif (!isFullExpConfigs)\n\t\tupdateProperties({ routerConfig: constructedRouterConfig });\n\n\tdispatch(CANVAS_EXPERIENCE_CONFIG_CHANGED);\n\treturn constructedRouterConfig;\n};\n\nexport const getRequestedExperienceRouterConfigurations = async (\n\trequestedExpKeys = [],\n\tprevRouterConfig = {},\n\tupdateProperties,\n) => {\n\tconst experienceContent =\n\t\tawait getRequestedExperienceConfigs(requestedExpKeys);\n\tif (!experienceContent) return null;\n\tconst experienceConfigs = {\n\t\t...prevRouterConfig.experienceRouteConfigs,\n\t\t...experienceContent,\n\t};\n\tconst filteredExpKeys = requestedExpKeys.filter((requestedExpKey) => {\n\t\treturn !!(\n\t\t\texperienceConfigs[`${requestedExpKey}`]?.[\n\t\t\t\t'appRouteConfiguration'\n\t\t\t] || {}\n\t\t);\n\t});\n\n\tlet constructedRouterConfig = {};\n\tfilteredExpKeys.forEach((requestedExpKey) => {\n\t\tconst appRouteConfig =\n\t\t\texperienceConfigs[`${requestedExpKey}`]?.[\n\t\t\t\t'appRouteConfiguration'\n\t\t\t] || {};\n\t\tconstructedRouterConfig[requestedExpKey] = constructRouterConfig(\n\t\t\tappRouteConfig,\n\t\t\texperienceConfigs[requestedExpKey],\n\t\t);\n\t\tconst isFullExpConfigs = isCompleteExperienceConfigs(requestedExpKey);\n\t\tif (!isFullExpConfigs)\n\t\t\tupdateProperties({ routerConfig: constructedRouterConfig });\n\t});\n\treturn constructedRouterConfig;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","import {\n\tHOISTED_CONTENT_SCREEN_UPDATED,\n\tUPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS,\n} from '../../constants/constants';\n\nexport const dispatchUpdateHoistedContentForActiveRecords = (\n\tdispatch,\n\tscreenObject,\n) => {\n\t//check if screenObject contains an object key named hasChatOnPage and does not have an object key named parent\n\tif (\n\t\ttypeof screenObject === 'object' &&\n\t\tscreenObject !== null &&\n\t\tscreenObject.hasChatOnPage !== undefined\n\t) {\n\t\tdispatch(UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS, {\n\t\t\t...screenObject.fields,\n\t\t\thasChatOnPage: !!screenObject.hasChatOnPage,\n\t\t\tisMainSessionTab: !screenObject.parent,\n\t\t\texperienceId: screenObject.experienceId,\n\t\t});\n\t}\n};\n\n/**\n * @description Dispatches the updated screen selected for hoisted content\n * @param {function} dispatch - the dispatch function from the coeffects\n * @param {object} screenObject - the screenData associated with the screen\n * @param {function} getScreenKeyFn - the callback function to generate a screen key\n */\nexport const dispatchUpdatedScreenSelectedForHoistedContent = (\n\tdispatch,\n\tscreenObject,\n\tgetScreenKeyFn,\n) => {\n\tconst currentScreenKey = screenObject?.parent\n\t\t? getScreenKeyFn(screenObject.parent)\n\t\t: screenObject.screenKey;\n\tconst hoistedContentConfiguration =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\n\tconst hoistedContent = Object.values(hoistedContentConfiguration).find(\n\t\t({ activeHoistedContent }) => activeHoistedContent === currentScreenKey,\n\t);\n\n\tconst getHoistedContentConfiguration = {\n\t\t...hoistedContent,\n\t\tactiveHoistedContent: hoistedContent\n\t\t\t? hoistedContent.activeHoistedContent\n\t\t\t: null,\n\t\tisHidden: hoistedContent ? hoistedContent.isHidden : null,\n\t\thasHoistedContent: screenObject.hasUtilityPanel ?? null,\n\t};\n\n\tdispatch(HOISTED_CONTENT_SCREEN_UPDATED, {\n\t\tparentScreenKey: currentScreenKey,\n\t\tisMainSessionTab: !screenObject.parent,\n\t\tscreenData: screenObject,\n\t\thoistedContentConfiguration: getHoistedContentConfiguration,\n\t});\n};\n","import { get, isEqual, isEmpty, isNumber } from 'lodash';\nimport { klona } from 'klona';\nimport {\n\tdispatchUpdatedScreenSelectedForHoistedContent,\n\tdispatchUpdateHoistedContentForActiveRecords,\n} from '../../utils/utility-panel/util';\n\nconst DEFAULT_MAX_CACHED_SCREEN_COUNT = 30;\nconst DEFAULT_MAX_ACTIVE_SCREEN_COUNT = 10; // remaining screens will be suspended\n\nconst EXP_CONFIGS = get(window, 'ux_globals.experienceConfigs', {});\n\nexport const generateScreenKey = (fields, route) => {\n\tlet key = Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n\treturn key;\n};\n\nexport const recoverContentFromKey = (key, selectedContentFields) => {\n\tif (!key) return;\n\tconst parts = key.split('~');\n\tconst route = parts[0];\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\tif (\n\t\tfields?.table &&\n\t\tselectedContentFields?.table &&\n\t\tfields.table !== selectedContentFields.table\n\t)\n\t\tfields.table = selectedContentFields.table;\n\treturn { route, fields };\n};\n\nconst getScreenKey = (selectedContent) => {\n\tif (!selectedContent) return;\n\tconst _selectedContent = klona(selectedContent);\n\tlet { route, fields, uid, multiInstField } = _selectedContent;\n\tif (!fields) fields = {};\n\n\tif (multiInstField && fields[multiInstField]) {\n\t\tconst parts = fields[multiInstField].split('_uid_');\n\t\tfields[multiInstField] = parts[0];\n\t\tif (parts.length > 1) uid = parts[1];\n\t}\n\n\tlet key = generateScreenKey(fields, route);\n\tif (uid) {\n\t\tkey = `${key}${uid}`;\n\t}\n\treturn key;\n};\n\nconst getSuspendableDiscardableScreens = (screensData, properties) => {\n\tconst { mainConfig } = properties;\n\n\tconst { maxCachedPageCount, maxActivePageCount } = mainConfig || {};\n\tconst MAX_CACHED_SCREEN_COUNT =\n\t\tisNumber(maxCachedPageCount) && maxCachedPageCount >= 0\n\t\t\t? maxCachedPageCount\n\t\t\t: DEFAULT_MAX_CACHED_SCREEN_COUNT;\n\n\tlet MAX_ACTIVE_SCREEN_COUNT =\n\t\tisNumber(maxActivePageCount) && maxActivePageCount >= 0\n\t\t\t? maxActivePageCount\n\t\t\t: DEFAULT_MAX_ACTIVE_SCREEN_COUNT;\n\n\tif (MAX_ACTIVE_SCREEN_COUNT > MAX_CACHED_SCREEN_COUNT)\n\t\tMAX_ACTIVE_SCREEN_COUNT = MAX_CACHED_SCREEN_COUNT;\n\n\tlet suspendableScreens = [];\n\tlet discardableScreens = [];\n\tconst sorted = [...Object.keys(screensData)]\n\t\t.sort(\n\t\t\t(a, b) =>\n\t\t\t\tscreensData[b].lastActiveTimeStamp -\n\t\t\t\tscreensData[a].lastActiveTimeStamp,\n\t\t)\n\t\t.filter((a) => screensData[a].isDirty !== true)\n\t\t.filter((a) => screensData[a].isActive === false);\n\n\t//MAX_ACTIVE_SCREEN_COUNT must always be less than MAX_CACHED_SCREEN_COUNT\n\tif (sorted.length > MAX_ACTIVE_SCREEN_COUNT) {\n\t\tconst endIdx =\n\t\t\tsorted.length > MAX_CACHED_SCREEN_COUNT\n\t\t\t\t? MAX_CACHED_SCREEN_COUNT\n\t\t\t\t: sorted.length;\n\t\tsuspendableScreens = sorted.slice(MAX_ACTIVE_SCREEN_COUNT, endIdx);\n\t\tdiscardableScreens = sorted.slice(endIdx);\n\t}\n\treturn { suspendableScreens, discardableScreens };\n};\n\nconst unSuspendScreens = (screensData) => {\n\tconst newScreensData = {};\n\tfor (let [key, value] of Object.entries(screensData)) {\n\t\tconst screenData = { ...value };\n\t\tnewScreensData[key] = {\n\t\t\t...screenData,\n\t\t\tsuspended: false,\n\t\t\tdiscarded: false,\n\t\t};\n\t}\n\treturn newScreensData;\n};\n\nconst areFieldsValid = (fields) => {\n\tconst invalidValues = ['', undefined, null];\n\tfor (const [, value] of Object.entries(fields)) {\n\t\tfor (const val of invalidValues) {\n\t\t\tif (value === val) return false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const getPrimaryExperience = () => {\n\tconst currentExperience = get(\n\t\tEXP_CONFIGS,\n\t\tget(window, 'ux_globals.siteName', ''),\n\t\t{},\n\t);\n\treturn get(\n\t\tEXP_CONFIGS,\n\t\tget(currentExperience, 'primaryExperience', ''),\n\t\t{},\n\t);\n};\n\nexport const getPrimaryExperienceRoutes = () => {\n\tconst primaryExperience = getPrimaryExperience();\n\treturn get(primaryExperience, 'appRouteConfiguration.routes', {});\n};\n\nconst doesResolveToSameScreen = (selectedContent, otherSelectedContent) => {\n\tif (isEmpty(selectedContent) || isEmpty(otherSelectedContent)) return;\n\tconst { route, fields } = selectedContent;\n\tconst { route: otherRoute, fields: otherFields } = otherSelectedContent;\n\tif (\n\t\troute &&\n\t\totherRoute &&\n\t\troute === otherRoute &&\n\t\t((isEmpty(fields) && isEmpty(otherFields)) ||\n\t\t\tisEqual(fields, otherFields))\n\t)\n\t\treturn true;\n\treturn false;\n};\n\nconst isInvalidParentLoad = (properties) => {\n\tconst { selectedContent } = properties;\n\treturn (\n\t\tisEmpty(selectedContent) ||\n\t\ttypeof selectedContent === 'string' ||\n\t\t!selectedContent.route ||\n\t\tisEmpty(selectedContent.parent) ||\n\t\tdoesResolveToSameScreen(selectedContent, selectedContent.parent)\n\t);\n};\n\nconst getHasRouteConditionScript = (\n\texperienceName,\n\troute,\n\trouteType = 'route',\n) => {\n\tconst basePath = `ux_globals.experienceConfigs[${experienceName}].appRouteConfiguration`;\n\tlet routePath;\n\tswitch (routeType) {\n\t\tcase 'interop':\n\t\t\troutePath = `interoperableRoutes[${route}][0].route.hasRouteConditionScript`;\n\t\t\tbreak;\n\t\tcase 'dependent':\n\t\t\troutePath = `dependentRoutes[${route}][0].route.hasRouteConditionScript`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\troutePath = `routes[${route}][0].hasRouteConditionScript`;\n\t}\n\tconst routeConditionScriptPath = `${basePath}.${routePath}`;\n\treturn get(window, routeConditionScriptPath, false);\n};\n\nconst getResolvedScreenFromAppliedPageFragment = (\n\tselectedContent,\n\tpath,\n\troute,\n\trouteToScreenMap,\n\trouteToScreenMapInterop,\n\trouteToScreenMapDependent,\n) => {\n\tconst _fields = { ...selectedContent?.fields };\n\tconst appliedPageFragments = get(\n\t\twindow,\n\t\t'ux_globals.appliedPageFragments',\n\t\t[],\n\t);\n\tif (\n\t\tselectedContent.multiInstField &&\n\t\t_fields[selectedContent.multiInstField]\n\t)\n\t\t_fields[selectedContent.multiInstField] =\n\t\t\t_fields[selectedContent.multiInstField].split('_uid_')[0];\n\n\tconst fieldCount = Object.keys(_fields).length;\n\tconst routeKey = `${route}[${fieldCount}]`;\n\n\tconst localRoute = get(routeToScreenMap, routeKey, {});\n\tconst interoperableRoutes = get(routeToScreenMapInterop, routeKey, []);\n\tconst dependentRoutes = get(routeToScreenMapDependent, routeKey, []);\n\n\tif (\n\t\tisEmpty(appliedPageFragments) ||\n\t\tisEmpty(selectedContent) ||\n\t\t(isEmpty(localRoute) &&\n\t\t\tisEmpty(interoperableRoutes) &&\n\t\t\tisEmpty(dependentRoutes))\n\t)\n\t\treturn;\n\n\t/**\n\t * Check applicable route first in interoperable routes , then in local routes and then in dependentRoutes\n\t * The current constraint is that for a given route having given number of fields, the definition of fields and params is\n\t * consistent across interoperable, local and dependent routes.\n\t */\n\tlet resolvedScreenMacroponent;\n\tlet applicableRoute;\n\tconst screenAppliedPageFragment = appliedPageFragments[0];\n\n\t//Interoperable Routes\n\tfor (const interopRoute of interoperableRoutes) {\n\t\tconst { macroponents } = interopRoute;\n\t\tresolvedScreenMacroponent = macroponents?.find(\n\t\t\t(mcp) =>\n\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t);\n\t\tif (resolvedScreenMacroponent) {\n\t\t\tapplicableRoute = interopRoute;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t//Local routes\n\tif (!resolvedScreenMacroponent || !applicableRoute) {\n\t\tresolvedScreenMacroponent = localRoute?.macroponents?.find(\n\t\t\t(mcp) =>\n\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t);\n\t\tif (resolvedScreenMacroponent) applicableRoute = localRoute;\n\t}\n\t//Dependent routes\n\tif (!resolvedScreenMacroponent || !applicableRoute) {\n\t\tfor (const dependentRoute of dependentRoutes) {\n\t\t\tconst { macroponents } = dependentRoute;\n\t\t\tresolvedScreenMacroponent = macroponents?.find(\n\t\t\t\t(mcp) =>\n\t\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t\t);\n\t\t\tif (resolvedScreenMacroponent) {\n\t\t\t\tapplicableRoute = dependentRoute;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!resolvedScreenMacroponent) return;\n\n\tconst mismatch = applicableRoute.fields.some(\n\t\t(field) =>\n\t\t\t_fields[field] !== screenAppliedPageFragment?.propValues[field],\n\t);\n\n\tif (mismatch) return;\n\n\tif (\n\t\tselectedContent?.context?.path === path &&\n\t\tselectedContent?.route === route\n\t) {\n\t\treturn resolvedScreenMacroponent.macroponentSysId;\n\t}\n};\n\nconst generateHydrationKey = (length = 6) => {\n\tconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n\tlet result = '';\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += chars.charAt(Math.floor(Math.random() * chars.length));\n\t}\n\treturn result;\n};\n\nconst handleHoistedContentUpdates = (dispatch, screenObject) => {\n\tdispatchUpdateHoistedContentForActiveRecords(dispatch, screenObject);\n\tdispatchUpdatedScreenSelectedForHoistedContent(\n\t\tdispatch,\n\t\tscreenObject,\n\t\tgetScreenKey,\n\t);\n};\n\nconst updateScreenContentWhenParentPresent = (\n\tmacroponents,\n\tparentObj,\n\tmcpObj,\n\tevaluateConditionFn,\n) => {\n\tif (parentObj) {\n\t\tfor (let i = 0; i < macroponents.length; i++) {\n\t\t\tlet obj = macroponents[i];\n\t\t\tif (evaluateConditionFn(obj?.parsedCondition, parentObj) === true) {\n\t\t\t\tmcpObj = {\n\t\t\t\t\t...mcpObj,\n\t\t\t\t\thasChatOnPage: obj?.hasChatOnPage,\n\t\t\t\t\thasUtilityPanel: obj?.hasUtilityPanel,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn mcpObj;\n};\n\n/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nconst getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\nexport {\n\tgetScreenKey,\n\tgetSuspendableDiscardableScreens,\n\tunSuspendScreens,\n\tareFieldsValid,\n\tdoesResolveToSameScreen,\n\tisInvalidParentLoad,\n\tgetHasRouteConditionScript,\n\tgetResolvedScreenFromAppliedPageFragment,\n\tgenerateHydrationKey,\n\thandleHoistedContentUpdates,\n\tupdateScreenContentWhenParentPresent,\n\tgetDirtyStateManager,\n};\n","import { isNumber, isNil } from '@devsnc/snowdash';\n\nlet globalNavigationPosition = 0;\nlet initGlobalNavigationPositionObject = null;\n/**\n * The global navigation position is a global variable\n * that helps store the current position of the navigation.\n *\n * This is used to help us understand if the forward or back\n * button was clicked during pop-state navigation.\n *\n * @returns {Object} An object with methods to set and get the navigation position.\n * @property {Function} setNavigationPosition - Sets the global navigation position.\n * @property {Function} getNavigationPosition - Gets the global navigation position.\n */\nexport const initGlobalNavigationPosition = () => {\n\tif (!isNil(initGlobalNavigationPositionObject))\n\t\treturn initGlobalNavigationPositionObject;\n\n\tinitGlobalNavigationPositionObject = Object.freeze({\n\t\tsetNavigationPosition(position) {\n\t\t\tif (isNumber(position)) {\n\t\t\t\tglobalNavigationPosition = position;\n\t\t\t}\n\t\t},\n\t\tgetNavigationPosition() {\n\t\t\treturn globalNavigationPosition;\n\t\t},\n\t});\n\n\treturn initGlobalNavigationPositionObject;\n};\n","import { get, isNil } from '@devsnc/snowdash';\nimport { getGlobal } from 'sn-canvas-common';\n\n/**\n * Used to filter app config routes with without parentCompositionElementId\n * @param {Object} route\n * @returns {boolean}\n */\nexport const isTopLevelRoute = (route) => !route.parentCompositionElementId;\n\nlet previousExperiencePath = null;\n\n/**\n * Stores the previous experience path to get the correct\n * experience path while under pop-state navigation.\n */\nlet previousExperiencePathObject = null;\nexport const initPreviousExperiencePathOnPopState = () => {\n\tif (!isNil(previousExperiencePathObject))\n\t\treturn previousExperiencePathObject;\n\n\tpreviousExperiencePathObject = Object.freeze({\n\t\tsetPreviousExperiencePath(experiencePath) {\n\t\t\tpreviousExperiencePath = experiencePath || null;\n\t\t},\n\t\tgetPreviousExperiencePath() {\n\t\t\tif (isNil(previousExperiencePath)) {\n\t\t\t\tpreviousExperiencePath = get(\n\t\t\t\t\tgetGlobal().ux_globals,\n\t\t\t\t\t'siteName',\n\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn previousExperiencePath;\n\t\t},\n\t});\n\n\treturn previousExperiencePathObject;\n};\n","import { get, kebabCase, has, size, reduce, isEmpty } from 'lodash';\nimport * as constants from '../constants/constants';\nimport { getLandingPath } from './sn-canvas-router.config';\nimport {\n\tgetTypeFieldGroupsMap,\n\tgetInteropTypeFieldGroupsMap,\n\tgetInteropDependentTypeFieldGroupsMap,\n\tgetLocation,\n\tgetGlobal,\n\tgetParametersFromPath,\n\tdecodeURL,\n\tsetPageTitle,\n} from 'sn-canvas-common';\nimport { getScreenKey } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util'; // fixme: consider moving this to ../utils\nimport { initGlobalNavigationPosition } from '../utils/globalNavigationPosition';\nimport { initPreviousExperiencePathOnPopState } from '../utils/routeUtils';\n\nexport const BASE_ATTR = 'data-sn-href';\n\n// removes all more than 1 slashes from the path\nfunction sanitizePath(path) {\n\tconst sanitized = path.replace(/\\/+/g, '/');\n\treturn sanitized;\n}\n\nfunction removeTrailingSlash(pathname) {\n\tconst last = pathname.length - 1;\n\treturn pathname.substring(last) === '/'\n\t\t? pathname.substring(0, last)\n\t\t: pathname;\n}\n\nfunction removeFirstSlash(pathname) {\n\treturn pathname.substring(0, 1) === '/' ? pathname.substring(1) : pathname;\n}\n\nfunction trimSlashes(pathname) {\n\treturn removeTrailingSlash(removeFirstSlash(pathname));\n}\n\n/**\n *\n * @param {*} urlPathPart\n * @returns kebabCase of urlPathPart, except for __state__ which is returned as is\n */\nexport const urlCase = (urlPathPart) => {\n\tif (urlPathPart === constants.PERSISTED_STATE_PARAM) return urlPathPart;\n\treturn kebabCase(urlPathPart);\n};\n\nexport const getEncodedPersistedStateForSelectedContent = (\n\tselectedContent,\n\tcoeffects,\n) => {\n\tconst {\n\t\tproperties: { [constants.ROOT_PERSISTED_STATE]: persistedState } = {},\n\t} = coeffects;\n\tconst screenKey = getScreenKey(selectedContent);\n\tconst persistedStateForScreen = get(persistedState, screenKey);\n\treturn persistedStateForScreen;\n};\n\nfunction getPathname(url) {\n\tconst parsed = document.createElement('a');\n\tparsed.href = url;\n\treturn (parsed.pathname || url).replace(/(^\\/?)/, '/');\n}\n\nfunction resolveHref(href) {\n\t//const base = getBasePath();\n\tif (!href.indexOf('/'))\n\t\t// absolute\n\t\treturn `${href}`;\n\n\tconst hrefParts = href.split('/');\n\tconst pathname = trimSlashes(getLocation().pathname);\n\n\tif (hrefParts[0] === '.')\n\t\t// relative, cwd\n\t\treturn `/${pathname}/${hrefParts.slice(1).join('/')}`;\n\tif (hrefParts[0] === '..') {\n\t\t// relative, up\n\t\tconst up = hrefParts.reduce((acc, part) => {\n\t\t\tif (part === '..') acc++;\n\n\t\t\treturn acc;\n\t\t}, 0);\n\n\t\treturn up >= pathname.split('/').length\n\t\t\t? '/'\n\t\t\t: `/${pathname\n\t\t\t\t\t.split('/')\n\t\t\t\t\t.slice(0, up - 1)\n\t\t\t\t\t.join('/')}/${hrefParts.slice(up).join('/')}`;\n\t}\n\n\treturn `/${pathname}/${hrefParts.join('/')}`; // relative, cwd, without a prefix ('.')\n}\n\nfunction push(href) {\n\tconst currentPosition = get(getGlobal().history.state, 'position', 0);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\t// MDN recommends we have '' instead of null for the second argument.\n\tgetGlobal().history.pushState({ position: currentPosition + 1 }, '', href);\n\n\t// Updating the global navigation position on navigation.\n\tglobalNavigationObject?.setNavigationPosition(currentPosition + 1);\n}\n\nfunction reloadUrl(url) {\n\tgetLocation().href = resolveHref(url);\n}\n\n/**\n * Check if the confirmPopStateNavigationWhenDirty page property is active/present\n * for the current experience path. If it is, return true; otherwise, return false.\n *\n * @returns {boolean} true if the `confirmPopStateNavigationWhenDirty` page property\n * is active/present for the previous experience path, false otherwise.\n */\nexport function isConfirmPopStateNavigationWhenDirtyActive() {\n\tconst experiencePathObject = initPreviousExperiencePathOnPopState();\n\tconst experiencePath =\n\t\texperiencePathObject?.getPreviousExperiencePath() || '';\n\tif (!isEmpty(experiencePath)) {\n\t\treturn get(\n\t\t\tgetGlobal().ux_globals?.experienceConfigs[experiencePath]\n\t\t\t\t?.pageProperties,\n\t\t\t'confirmPopStateNavigationWhenDirty',\n\t\t\tfalse,\n\t\t);\n\t}\n\n\treturn false;\n}\n\nexport function replace(href) {\n\tconst currentPosition = get(getGlobal().history.state, 'position', 0);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\t// MDN recommends we have '' instead of null for the second argument.\n\tgetGlobal().history.replaceState({ position: currentPosition }, '', href);\n\n\t// Updating the global navigation position on navigation.\n\tglobalNavigationObject?.setNavigationPosition(currentPosition);\n}\n\nexport function navigateUrl(\n\turl,\n\ttitle,\n\texperienceName,\n\tshouldReload,\n\tnoTitleUpdateUsingUrl = false,\n) {\n\tif (shouldReload) {\n\t\treloadUrl(url);\n\t\treturn;\n\t}\n\tpush(resolveHref(url));\n\t//trackEvent('navigate', url);\n\tif (noTitleUpdateUsingUrl === false)\n\t\tsetPageTitle(url, title, experienceName);\n}\n\nexport function sanitizeBaseUrl() {\n\tconst { pathname: rawPathname = '' } = getLocation();\n\tconst _pathname = sanitizePath(rawPathname);\n\tif (rawPathname !== _pathname) replace(_pathname);\n\treturn _pathname;\n}\n\nexport function initBaseUrl() {\n\tconst _pathname = sanitizeBaseUrl();\n\tconst base = getBasePath();\n\n\tif (\n\t\t_pathname === '' ||\n\t\t_pathname === '/' ||\n\t\t_pathname === base ||\n\t\t_pathname === base + '/'\n\t) {\n\t\tconst _path = getLandingPath()\n\t\t\t? '/' + trimSlashes(getLandingPath())\n\t\t\t: '';\n\t\treplace(base + _path);\n\t} else if (_pathname.indexOf(base) === -1) {\n\t\tconsole.group('/***** Base and URL mismatch (UXR) *****/');\n\t\tconsole.log('Base element data-sn-href attribute: %s', base);\n\t\tconsole.log('Browser URL is: %s', _pathname);\n\t\tconsole.groupEnd();\n\t}\n}\n\nexport function updateExpBaseUrl(expPath, experienceName) {\n\tconst _expPath = '/' + trimSlashes(expPath);\n\tconst _path = getLandingPath() ? '/' + trimSlashes(getLandingPath()) : '';\n\tpush(_expPath + _path);\n\tsetPageTitle(null, getLandingPath(), experienceName);\n}\n\nexport function redirectUrl(url, title, experienceName, shouldReload) {\n\tif (!url || typeof url != 'string') return;\n\treplace(resolveHref(url));\n\tif (shouldReload) {\n\t\treloadUrl(url);\n\t\treturn;\n\t}\n\t//trackEvent('redirect', url);\n\tsetPageTitle(url, title, experienceName);\n}\n\nlet basePath = null;\nexport function getBasePath() {\n\tif (!basePath) {\n\t\tconst base = document.querySelector('base');\n\t\tif (base) {\n\t\t\t// data-sn-href is a custom base path tag used by UX Framework. Use it if it exists, or the native href attribute otherwise\n\t\t\tconst pathname = getPathname(\n\t\t\t\tbase.getAttribute(BASE_ATTR) || base.href,\n\t\t\t);\n\t\t\tbasePath = pathname ? removeTrailingSlash(pathname) : '';\n\t\t} else basePath = '';\n\t}\n\n\treturn basePath;\n}\n\nexport const isRouteMultiInstEnabled = (field, value, multiInstField, uid) => {\n\tif (field !== multiInstField) return false;\n\n\tif (uid <= 0) return false;\n\n\tif (value.indexOf('_uid_') > -1) return false;\n\treturn true;\n};\n\nexport const getExperiencePath = (routerConfig) => {\n\tif (!routerConfig || !routerConfig.experienceRouteConfigs) return;\n\tlet {\n\t\tparams: {\n\t\t\tpath: { url },\n\t\t},\n\t} = getParametersFromPath('/:url*');\n\tif (!url) return;\n\n\tfor (let path of Object.keys(routerConfig.experienceRouteConfigs)) {\n\t\tif (`${url}/`.indexOf(`${path}/`) === 0) return path;\n\t}\n\treturn null; //null return is intentional.\n};\n\nexport const getContext = (routeConfig) => {\n\tconst { path, experienceName } = routeConfig;\n\treturn path ? { path, experienceName } : null;\n};\n\nexport const doesRouteExist = (route, fieldsLength) => {\n\tconst typeFieldGroupsMap = getTypeFieldGroupsMap();\n\tif (fieldsLength !== undefined) {\n\t\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n\t}\n\n\treturn has(typeFieldGroupsMap, route);\n};\n\nexport const doesInteropRouteExist = (route, fieldsLength) => {\n\tconst typeFieldGroupsMap = getInteropTypeFieldGroupsMap();\n\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n};\n\nexport const doesInteropDependentRouteExist = (route, fieldsLength) => {\n\tconst typeFieldGroupsMap = getInteropDependentTypeFieldGroupsMap();\n\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n};\n\nexport function navigateToExternal(url) {\n\tif (!url) return;\n\tconst path = `${removeFirstSlash(removeTrailingSlash(url))}`;\n\twindow.open(path, '_blank');\n}\n\nexport const getQueryStringParams = () => {\n\tconst query = window.location.search;\n\treturn query\n\t\t? (/^[?#]/.test(query) ? query.slice(1) : query)\n\t\t\t\t.split('&')\n\t\t\t\t.reduce((params, param) => {\n\t\t\t\t\tlet [key, value] = param.split('=');\n\t\t\t\t\tparams[key] = value\n\t\t\t\t\t\t? decodeURL(value.replace(/\\+/g, ' '))\n\t\t\t\t\t\t: '';\n\t\t\t\t\treturn params;\n\t\t\t\t}, {})\n\t\t: {};\n};\n\nexport const AGENT_WORKSPACE_APP_SHELL_ID = 'c276387cc331101080d6d3658940ddd2';\nexport const INTERFACE_TYPE_STRINGS = {\n\tNOT_FOUND: 'Not Found',\n\tCONFIGURABLE_WORKSPACE: 'Configurable Workspace',\n\tUXF_EXPERIENCE: 'UXF Experience',\n};\nexport const INTERFACE_NAME_STRINGS = {\n\tUNIFIED_NAVIGATION_APP: 'Unified Navigation App',\n\tCORE_UI: 'Core UI',\n};\n\nexport const getPageInterfaceType = () => {\n\tconst siteName = get(window, 'ux_globals.siteName', '');\n\tconst experienceConfigs = get(\n\t\twindow,\n\t\t['ux_globals', 'experienceConfigs', siteName],\n\t\t{},\n\t);\n\n\tconst interfaceType =\n\t\texperienceConfigs.appShellId != AGENT_WORKSPACE_APP_SHELL_ID\n\t\t\t? INTERFACE_TYPE_STRINGS.UXF_EXPERIENCE\n\t\t\t: INTERFACE_TYPE_STRINGS.CONFIGURABLE_WORKSPACE;\n\treturn interfaceType;\n};\n\nexport const getInterfaceName = () => {\n\tconst experienceConfigKey = get(window, 'ux_globals.siteName');\n\tconst experienceName = get(window, [\n\t\t'ux_globals',\n\t\t'experienceConfigs',\n\t\texperienceConfigKey,\n\t\t'experienceName',\n\t]);\n\t// eslint-disable-next-line no-useless-escape\n\tif (experienceName && !/[^\\w\\s\\d\\-\\/\\.]/.test(experienceName)) {\n\t\treturn experienceName;\n\t}\n\tconst isPolarisWrapper = get(window, 'NOW.isPolarisWrapper') === 'true';\n\treturn isPolarisWrapper\n\t\t? INTERFACE_NAME_STRINGS.UNIFIED_NAVIGATION_APP\n\t\t: INTERFACE_NAME_STRINGS.CORE_UI;\n};\n\nexport const getTransactionSource = (url = '') => {\n\tconst { pageRegistryId = '' } = window.pageMeta;\n\tconst interfaceType = getPageInterfaceType();\n\tconst interfaceName = getInterfaceName();\n\treturn `Interface=Web,Interface-Type=${interfaceType},Interface-Name=${interfaceName},Interface-SysID=${pageRegistryId},Interface-URI=${url}`;\n};\n\nexport const openUrl = (url, options) => {\n\tconst { targetWindowRef, windowOptions } = options;\n\tif (targetWindowRef) targetWindowRef.location.href = url;\n\telse {\n\t\tconst { target = '_blank', windowFeatures = '' } = windowOptions || {};\n\t\twindow.open(url, target, windowFeatures); //window.open may be blocked by popup blocker. open a window on uer clock and passin the window ref.\n\t}\n};\n\nconst getTokenizedUrlParts = (path, route, fields, params) => {\n\tconst fieldCount = size(fields);\n\n\tconst { fields: orderedFields = [], optionalParameters } =\n\t\t// eslint-disable-next-line no-undef\n\t\tux_globals?.experienceConfigs[path]?.appRouteConfiguration?.routes[\n\t\t\troute\n\t\t]?.find((r) => r?.fields?.length === fieldCount) || {};\n\n\tconst fieldSlugs = reduce(\n\t\torderedFields,\n\t\t(acc, field) => {\n\t\t\treturn (acc += `/:${field}`);\n\t\t},\n\t\t'',\n\t);\n\n\tlet paramSlugs = '';\n\tif (optionalParameters && size(params)) {\n\t\tparamSlugs += reduce(\n\t\t\toptionalParameters,\n\t\t\t(acc, param) => {\n\t\t\t\treturn (acc += `/:${param}`);\n\t\t\t},\n\t\t\t'/params',\n\t\t);\n\t}\n\n\treturn `/${route}${fieldSlugs}${paramSlugs}`;\n};\n\nexport const createTokenizedPath = (selectedContent) => {\n\tconst {\n\t\tcontext: { path },\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tparent,\n\t} = selectedContent;\n\tlet tokenizedParent = '';\n\tif (parent && size(parent)) {\n\t\tconst { route, fields, params } = parent;\n\t\ttokenizedParent = getTokenizedUrlParts(path, route, fields, params);\n\t}\n\tconst tokenizedPath = getTokenizedUrlParts(path, route, fields, params);\n\n\treturn `/${path}${\n\t\ttokenizedParent ? `${tokenizedParent}/sub` : ''\n\t}${tokenizedPath}`;\n};\n","import { get } from 'lodash';\nimport { getLandingPath } from 'sn-canvas-common';\n\nlet _sessionStorageKey = null;\n\nexport function getSessionStorageKey() {\n\tif (!_sessionStorageKey) {\n\t\t_sessionStorageKey = 'chromeSessionData';\n\t}\n\treturn _sessionStorageKey;\n}\n\nexport const IS_LOGGED_IN = (() => {\n\tconst gLoggedIn = get(window, 'ux_globals.isLoggedIn', false);\n\treturn (\n\t\tgLoggedIn === true ||\n\t\t(typeof gLoggedIn === 'string' && gLoggedIn.toLowerCase() === 'true')\n\t);\n})();\n\nexport const DESTINATION_URL = (() => {\n\tlet destinationUrl = get(window, 'ux_globals.loginRedirectUrl', null);\n\n\tif (!destinationUrl) {\n\t\tconst initPath = get(\n\t\t\twindow,\n\t\t\t'ux_globals.siteName',\n\t\t\tnull\n\t\t);\n\t\tconst landingPath = getLandingPath(initPath);\n\n\t\tdestinationUrl = initPath && landingPath\n\t\t\t? `/${initPath}/${landingPath}`\n\t\t\t: '';\n\t}\n\treturn destinationUrl;\n})();\n","import { isEmpty, get } from 'lodash';\nimport { queryParamsEnabled } from './sn-canvas-router.config';\nimport {\n\tisRouteMultiInstEnabled,\n\tdoesRouteExist,\n\turlCase,\n\tdoesInteropRouteExist,\n\tdoesInteropDependentRouteExist,\n} from './sn-canvas-router.util';\nimport {\n\tgetFilteredParams,\n\tgetRoute,\n\tgetInteropRoute,\n\tgetInteropDependentRoute,\n\tencodeURL,\n} from 'sn-canvas-common';\nimport {\n\tPERSISTED_STATE_PARAM,\n\tSUB_URL,\n\tUNDEFINED_FIELD_VALUE,\n} from '../constants/constants';\nimport { IS_LOGGED_IN } from '../sn-canvas-layout/utils/browser';\n\nexport const getUrlFromContentDefinition = (contentDef) => {\n\tif (!contentDef) return '';\n\n\tconst {\n\t\troute: contentRoute,\n\t\tfields: contentFields,\n\t\tparams,\n\t\tmultiInstField,\n\t\tencodedPersistedState,\n\t\tsearch = '',\n\t} = contentDef;\n\n\tconst fieldsLength =\n\t\tcontentFields && Array.isArray(Object.keys(contentFields))\n\t\t\t? Object.keys(contentFields).length\n\t\t\t: 0;\n\n\tconst hasMatchedInteropRoute = doesInteropRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t);\n\tconst hasMatchedRoute = doesRouteExist(contentRoute);\n\tconst hasMatchedDependentRoute = doesInteropDependentRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t);\n\n\t// returning empty url when logged in and no route match found\n\tif (\n\t\tIS_LOGGED_IN &&\n\t\t!hasMatchedRoute &&\n\t\t!hasMatchedInteropRoute &&\n\t\t!hasMatchedDependentRoute\n\t)\n\t\treturn '';\n\n\tconst urlType = contentRoute;\n\n\tlet url = `/${urlType}`;\n\n\tconst hasMatchedRouteWithMatchingFieldsLength = doesRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t);\n\n\tlet fields, configuredParams;\n\tif (hasMatchedInteropRoute) {\n\t\t({ fields, params: configuredParams } = getInteropRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t));\n\t} else if (\n\t\t!hasMatchedRouteWithMatchingFieldsLength &&\n\t\thasMatchedDependentRoute\n\t) {\n\t\t({ fields, params: configuredParams } = getInteropDependentRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t));\n\t} else {\n\t\t({ fields, params: configuredParams } = getRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t));\n\t}\n\tfor (let i = 0; i < fieldsLength; i++) {\n\t\tlet val = contentFields[fields[i]];\n\t\tif (val === '' || val === undefined || val === null)\n\t\t\tval = UNDEFINED_FIELD_VALUE;\n\t\tif (\n\t\t\tisRouteMultiInstEnabled(\n\t\t\t\tfields[i],\n\t\t\t\tcontentFields[fields[i]],\n\t\t\t\tmultiInstField,\n\t\t\t\tcontentDef.uid,\n\t\t\t)\n\t\t)\n\t\t\turl += `/${encodeURL(\n\t\t\t\tcontentFields[fields[i]] + '_uid_' + contentDef.uid,\n\t\t\t)}`;\n\t\telse url += `/${encodeURL(val)}`;\n\t}\n\n\tconst filteredParams = getFilteredParams(params, configuredParams);\n\tconst paramsForUrl = isEmpty(encodedPersistedState)\n\t\t? filteredParams\n\t\t: {\n\t\t\t\t...filteredParams,\n\t\t\t\t...{ [PERSISTED_STATE_PARAM]: encodedPersistedState },\n\t\t\t};\n\n\tif (!paramsForUrl) return url + search;\n\n\treturn url + getUriFromParams(paramsForUrl) + search;\n};\n\n/**\n * Construct a URL from a params object\n * @param tab\n * @returns {string}\n */\nconst getUriFromParams = (params) => {\n\tif (isEmpty(params)) return '';\n\n\tif (queryParamsEnabled()) {\n\t\treturn (\n\t\t\t'?' +\n\t\t\tObject.keys(params).reduce((result, key, i) => {\n\t\t\t\tconst amp = i === 0 ? '' : '&';\n\t\t\t\treturn `${result}${amp}${encodeURL(\n\t\t\t\t\turlCase(key),\n\t\t\t\t)}=${encodeURL(params[key])}`;\n\t\t\t}, '')\n\t\t);\n\t}\n\n\treturn (\n\t\t'/params' +\n\t\tObject.keys(params).reduce((result, key) => {\n\t\t\treturn `${result}/${encodeURL(\n\t\t\t\turlCase(key),\n\t\t\t)}/${encodeURL(params[key])}`;\n\t\t}, '')\n\t);\n};\n\n/**\n * Given a selected content object, returns a URL for root and leaf content definitions\n * @param selectedContent\n * @returns {*}\n */\nconst getUrlFromSelectedContent = (selectedContent) => {\n\tif (!selectedContent) return null;\n\n\tlet contextUrl = '';\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath) {\n\t\tcontextUrl = `/${contextPath}`;\n\t}\n\n\tconst leafUrl = getUrlFromContentDefinition(selectedContent);\n\n\tlet rootContent = selectedContent.parent;\n\twhile (rootContent && rootContent.parent) {\n\t\trootContent = rootContent.parent;\n\t}\n\n\tif (!rootContent) return contextUrl ? `${contextUrl}${leafUrl}` : leafUrl;\n\n\tconst rootUrl = getUrlFromContentDefinition(rootContent);\n\n\tif (!rootUrl) return leafUrl;\n\tconst search = selectedContent.search || '';\n\n\treturn contextUrl\n\t\t? `${contextUrl}${rootUrl}/${SUB_URL}${leafUrl}${search}`\n\t\t: `${rootUrl}/${SUB_URL}${leafUrl}${search}`;\n};\n\nexport { getUrlFromSelectedContent };\n","import { getUrlFromSelectedContent } from './sn-canvas-router.contentParser';\nimport {\n\tredirectUrl\n} from './sn-canvas-router.util';\n\nimport {\n\tgetSelectedContentFromUrl\n} from 'sn-canvas-common';\n\n\n/**\n * Given selectedContent, return a tab payload for an invalid URL\n * @param selectedContent\n * @returns {*}\n * @private\n */\nconst redirectInvalidUrl = selectedContent => {\n\t// Redirect to selected tab\n\tconst url = getUrlFromSelectedContent(selectedContent);\n\tredirectUrl(url);\n};\n\nconst attemptGetSelectedContentFromURL = (context, prevSelectedContent, path) => {\n\tconst result = getSelectedContentFromUrl(context, path)\n\tif (result == null)\n\t\tredirectInvalidUrl(prevSelectedContent);\n\treturn result;\n}\n\nexport { attemptGetSelectedContentFromURL };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getAppliedTemplate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAppliedTemplate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getAppliedTemplate;\n\t\t\t\t\t} else if ('getAppliedTemplate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getAppliedTemplate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getAppliedTemplate;\n\t\t\t\t}, [\"getTemplates\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getTemplates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getTemplates;\n\t\t\t\t\t} else if ('getTemplates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getTemplates || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getTemplates;\n\t\t\t\t}, [\"registerScreenActionTransformer\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerScreenActionTransformer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].registerScreenActionTransformer;\n\t\t\t\t\t} else if ('registerScreenActionTransformer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.registerScreenActionTransformer || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].registerScreenActionTransformer;\n\t\t\t\t}, [\"setAppConfigToRootMacroponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'setAppConfigToRootMacroponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].setAppConfigToRootMacroponent;\n\t\t\t\t\t} else if ('setAppConfigToRootMacroponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.setAppConfigToRootMacroponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].setAppConfigToRootMacroponent;\n\t\t\t\t} });","// Marks\nexport const HERO_INTERACTIVE = 'HERO_INTERACTIVE';\nexport const NAVIGATION = 'NAVIGATION';\nexport const NAVIGATE = 'NAVIGATE';\nexport const PAGE_LOAD = 'PAGE_LOAD';\nexport const DB_ENGINE_EXEC_SUCCEEDED = 'UXF_DB_ENGINE_EXEC_SUCCEEDED';\nexport const UXF_DB_ENGINE_EXEC_PREPROCESSED_SUCCEEDED =\n\t'UXF_DB_ENGINE_EXEC_PREPROCESSED_SUCCEEDED';\nexport const DB_ENGINE_EXEC_FAILED = 'UXF_DB_ENGINE_EXEC_FAILED';\nexport const UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nexport const UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nexport const CLIENT_SCRIPT = 'CLIENT_SCRIPT';\n\nexport const UXF_MARK_FILTER = [\n\tHERO_INTERACTIVE,\n\tNAVIGATE,\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tCLIENT_SCRIPT\n];\n\nexport const UXF_MARK_BETWEEN_HEROS_FILTER = [\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tCLIENT_SCRIPT\n];\n","import { get } from 'lodash';\nimport {\n\tsetPage,\n\tsetApplication,\n\tsetConfigValue,\n} from '@servicenow/ui-analytics-integrator';\nimport {\n\tgetQueryStringParams,\n\tcreateTokenizedPath,\n} from '../sn-canvas-router/sn-canvas-router.util';\nimport {\n\tcreateInteractionId,\n\tdefineMetric,\n\tgetMetricTypes,\n} from '@servicenow/ui-metrics';\nimport {\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n\tUXF_USER_BROWSER_NAV_START,\n\tUXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED,\n\tUXF_INTERRUPTION_MOUSEDOWN,\n\tUXF_INTERRUPTION_KEYDOWN,\n\tUXF_USER_NAV_LOAD_START,\n\tUXF_INTEROP_ROUTE_RESOLVED,\n} from './../constants/constants';\n\nimport {\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n} from './constants';\n\nexport function setInteractionId() {\n\tconst interactionId =\n\t\twindow.nowUiFramework?.metrics?.uxfInteractionIdBase ||\n\t\tcreateInteractionId();\n\twindow.nowUiFramework.uxrInteractionId = interactionId;\n\treturn interactionId;\n}\n\nexport function getInteractionId() {\n\treturn get(window, 'nowUiFramework.uxrInteractionId', '');\n}\n\nexport const initCustomMetricsAndTrace = (selectedContent, url) => {\n\tconst {\n\t\ttitle,\n\t\troute,\n\t\tcontext: { path },\n\t\tfields,\n\t} = selectedContent;\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceId, experienceName, appShellId, parentAppShellId } =\n\t\texperienceConfigs[path];\n\tconst traceparent = window.document.querySelector('meta[name=traceparent]');\n\n\tif (!window.nowUiFramework) window.nowUiFramework = {};\n\n\tsetInteractionId();\n\tsetConfigValue('enableTrace', traceparent !== null);\n\tsetConfigValue('legacy', true);\n\n\tconst currentMetricTypes = getMetricTypes();\n\n\tconst metricTypesToDefine = {\n\t\t[DB_ENGINE_EXEC_SUCCEEDED]: 4,\n\t\t[DB_ENGINE_EXEC_FAILED]: 4,\n\t\t[UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED]: 4,\n\t\tCLIENT_SCRIPT: 4,\n\t\tNAVIGATE: 4,\n\t\t[EXPERIENCE_START]: 4,\n\t\t[USER_NAVIGATE]: 4,\n\t\t[UXF_INTEROP_ROUTE_RESOLVED]: 4,\n\t\t[UXF_USER_BROWSER_NAV_START]: 5,\n\t\t[UXF_INTERRUPTION_MOUSEDOWN]: 5,\n\t\t[UXF_INTERRUPTION_KEYDOWN]: 5,\n\t\t[UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED]: 5,\n\t\t[UXF_USER_NAV_LOAD_START]: 5,\n\t};\n\n\tObject.keys(metricTypesToDefine).forEach((metricType) => {\n\t\tif (!currentMetricTypes[metricType]) {\n\t\t\tdefineMetric(metricType, metricTypesToDefine[metricType]);\n\t\t}\n\t});\n\n\tsetPage(url, {\n\t\tquery: getQueryStringParams(),\n\t\troute: createTokenizedPath(selectedContent),\n\t\ttitle: title,\n\t\tname: route,\n\t\tparams: { ...fields },\n\t});\n\n\tlet options = {\n\t\tchannelType: 'NextExperience',\n\t\ttableName: 'sys_ux_page_registry',\n\t\texperienceName,\n\t\texperienceId,\n\t\tappShellId,\n\t\tparentAppShellId,\n\t};\n\tsetApplication('application', '0.0.0', options);\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'canvasRecordInfo';\nlet _recordId = 0;\nexport async function saveRecordId(recordId) {\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'CANVAS_RECORD_INFO_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tlastRecordId: recordId\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function retrieveRecordId() {\n\tlet recordId = 0;\n\tif (_recordId > 0) {\n\t\treturn _recordId++;\n\t}\n\ttry {\n\t\tconst storedRecordInfo = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_RECORD_INFO_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (storedRecordInfo) {\n\t\t\trecordId = storedRecordInfo.lastRecordId || 0;\n\t\t\t_recordId = recordId + 1;\n\t\t}\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'Error reading stored session data for router record instance Id'\n\t\t);\n\t}\n\n\treturn recordId;\n}\n\nexport function resetRecordId() {\n    _recordId = 0;\n}\n","import {\n\tCANVAS_EXPERIENCE_SWITCHED,\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n} from './../constants/constants';\nimport { get } from 'lodash';\nimport { mark, getInteractionId } from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from '../sn-canvas-router/sn-canvas-router.contentParser';\nimport { setApplication } from '@servicenow/ui-analytics-integrator';\n\nconst eventTypes = {\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n};\n\nexport const loadedExperiences = [];\n\n/**\n * Emit AppSee marks when loading or switching Experiences.\n * @param {Object} action - the action object that comes from the dispatched event\n * @param {Object} context - an object that holds the experience information. It comes from action.payload. The loaded event\n * \t\t\t\t\t\t\t\thas `context` inside `selectedContent` while the switched event doesn't. So `context` needs\n * \t\t\t\t\t\t\t\tto be extracted in the calling function.\n * @param {string} eventType - name of metric event\n */\nconst setExperienceMark = (host, action, selectedContent, eventType) => {\n\tif (!eventType) {\n\t\treturn false;\n\t}\n\n\tconst { meta, type } = action;\n\tconst { context = {} } = selectedContent;\n\tif (!('path' in context) || !(eventType in eventTypes)) {\n\t\treturn false;\n\t}\n\tconst { path } = context;\n\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceId, experienceName, appShellId, parentAppShellId } =\n\t\texperienceConfigs[path];\n\n\t// This statement prevents duplicate marks from being emitted\n\t// When switching to an experience for the first time both a CANVAS_EXPERIENCE_LOADED and\n\t// CANVAS_EXPERIENCE_SWITCHED event is fired.\n\tif (eventType === EXPERIENCE_START) {\n\t\tlet options = {\n\t\t\tchannelType: 'NextExperience',\n\t\t\ttableName: 'sys_ux_page_registry',\n\t\t\texperienceName: context.experienceName,\n\t\t\texperienceId,\n\t\t\tappShellId,\n\t\t\tparentAppShellId,\n\t\t};\n\t\tsetApplication('application', '0.0.0', options);\n\n\t\tif (!loadedExperiences?.includes(path)) {\n\t\t\tloadedExperiences?.push(path);\n\t\t\tif (type === CANVAS_EXPERIENCE_SWITCHED) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst url = getUrlFromSelectedContent(selectedContent);\n\tmark(\n\t\thost,\n\t\tgetInteractionId(meta),\n\t\teventType,\n\t\t{\n\t\t\tmeta: {\n\t\t\t\tapplicationContextId: experienceId,\n\t\t\t\tapplicationContextName: experienceName,\n\t\t\t\tswitched: type === CANVAS_EXPERIENCE_SWITCHED,\n\t\t\t\tselectedContent,\n\t\t\t\turl,\n\t\t\t\tpageTitle:\n\t\t\t\t\t'pageTitle' in selectedContent\n\t\t\t\t\t\t? selectedContent.pageTitle\n\t\t\t\t\t\t: experienceName,\n\t\t\t},\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport { setExperienceMark };\n","export function getUxfSysProp(name, defaultValue = '') {\n\treturn window?.ux_globals?.libuxf?.sysprops?.[name] ?? defaultValue;\n}\n\nexport function getPageProperties(route) {\n\tif (!route) return null;\n\telse return window?.ux_globals?.experienceConfigs?.[route]?.pageProperties;\n}\n","export const PREVIEW_MODE = 'preview';\nexport const LIVE_PREVIEW_QUERY_STRING = 'sysparm_live_preview';\nimport { decodeURL } from 'sn-canvas-common';\n\nconst getIsScreenPreviewFromURL = () => {\n\tconst decodedURL = decodeURL(window.location.href);\n\tconst url = new URL(decodedURL);\n\treturn url.searchParams.has(LIVE_PREVIEW_QUERY_STRING)\n\t\t|| url.searchParams.get('mode') === PREVIEW_MODE;\n}\n\n/**\n * Checks if screen is in preview mode or not.\n * @param {Object} selectedContent\n * @returns\n */\nexport const isScreenPreview = (selectedContent = null) => {\n\tif (!selectedContent || !selectedContent.queryString)\n\t\treturn getIsScreenPreviewFromURL();\n\n\tconst { queryString } = selectedContent;\n\n\t// sysparm_live_preview contains empty string in preview mode.\n\t// checking only if sysparm_live_preview present or not.\n\tif (LIVE_PREVIEW_QUERY_STRING in queryString)\n\t\treturn true;\n\n\tif (queryString?.mode === PREVIEW_MODE)\n\t\treturn true;\n\n\treturn false;\n}\n","import { isEmpty, isEqual, get, set, isNil } from '@devsnc/snowdash';\nimport { setPage } from '@servicenow/ui-analytics-integrator';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tmark,\n\tgetInteractionId,\n\tcreateInteractionId,\n} from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from './sn-canvas-router.contentParser';\nimport { attemptGetSelectedContentFromURL } from './sn-canvas-router.urlParser';\nimport { getLandingPath } from './sn-canvas-router.config';\nimport { setAppConfigToRootMacroponent } from '@devsnc/library-uxf';\n\nimport {\n\tinitConfig,\n\tqueryParamsEnabled,\n\tgetRequestedExperienceRouterConfiguration,\n\tgetUXGlobalRouterConfiguration,\n} from './sn-canvas-router.config';\nimport { initCustomMetricsAndTrace } from '../sn-canvas-metrics';\nimport { saveRecordId, retrieveRecordId } from './sn-canvas-router.storage';\nimport {\n\tROOT_SELECTED_NAV_ITEM,\n\tROOT_CONTENT_UPDATED,\n\tCURRENT_ROUTE,\n\tACTIVE_EXPERIENCE,\n\tUSER_NAVIGATE,\n\tUXF_USER_BROWSER_NAV_START,\n\tUXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED,\n\tUXF_INTERRUPTION_MOUSEDOWN,\n\tUXF_INTERRUPTION_KEYDOWN,\n\tUXF_USER_NAV_LOAD_START,\n\tROOT_PERSISTED_STATE,\n} from '../constants/constants';\nimport {\n\tdoesRouteExist,\n\tnavigateToExternal,\n\tgetQueryStringParams,\n\tgetEncodedPersistedStateForSelectedContent,\n\tcreateTokenizedPath,\n\tisConfirmPopStateNavigationWhenDirtyActive,\n} from './sn-canvas-router.util';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\n\nimport {\n\tinitBaseUrl,\n\tnavigateUrl,\n\tredirectUrl,\n\tgetExperiencePath,\n\tgetContext,\n\tupdateExpBaseUrl,\n\tsanitizeBaseUrl,\n\tgetTransactionSource,\n\topenUrl,\n} from './sn-canvas-router.util';\nimport { IS_LOGGED_IN } from '../sn-canvas-layout/utils/browser';\nimport { getUxfSysProp } from '../utils/uxGlobals';\nimport { isScreenPreview } from '../utils/isScreenPreview';\nimport {\n\tPERSIST_STATE_CONSTANTS,\n\tgetParametersFromPath,\n\tisSupportedExperience,\n\tisCompleteExperienceConfigs,\n\tsetPageTitle,\n} from 'sn-canvas-common';\nimport { getScreenKey } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport { t } from 'sn-translate';\nimport { initGlobalNavigationPosition } from '../utils/globalNavigationPosition';\n\nconst {\n\tACTION_PERSIST_STATE_INIT_INTERNAL,\n\tACTION_PERSIST_STATE_URL_CHANGED_INTERNAL,\n} = PERSIST_STATE_CONSTANTS;\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst UXF_PERF_MONITORING_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.performance.monitoring.enabled', 'false') ===\n\t'true';\n\nconst isScreenPreviewMode = isScreenPreview();\n\n/**\n * This global variable helps to prevent a second confirmation\n * pop-up from rendering when we intercept the pop-state\n * navigation.\n */\nlet shouldSkipPopNavigation = false;\n\nexport const updateActiveContextPath = (path, properties, updateProperties) => {\n\t// Update the activeContextPath only if given path is valid experience for the parent app.\n\tif (\n\t\tpath &&\n\t\tproperties?.activeContextPath != path &&\n\t\tisSupportedExperience(\n\t\t\tpath,\n\t\t\tproperties?.routerConfig?.experienceRouteConfigs,\n\t\t) &&\n\t\t!properties?.rootSelectedNavItem?.navigationOptions?.navigateExternal\n\t)\n\t\tupdateProperties({ activeContextPath: path });\n};\n\nexport const _onPopState = async (\n\t{ host, action, dispatch, properties, updateProperties },\n\tevent,\n) => {\n\tconst { selectedContent: prevSelectedContent } = properties;\n\tconst { confirmPopStateNavigation = false } = host.getResolvedProperties();\n\tconst routerConfig = getUXGlobalRouterConfiguration();\n\tconst expPath = getExperiencePath(routerConfig);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\n\t// confirmPopStateNavigation tells if the current screen is dirty or not.\n\tif (\n\t\tisConfirmPopStateNavigationWhenDirtyActive() &&\n\t\tconfirmPopStateNavigation\n\t) {\n\t\tif (shouldSkipPopNavigation === false) {\n\t\t\tif (\n\t\t\t\t!window.confirm(\n\t\t\t\t\tt('You have unsaved changes. Do you want to proceed?'),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t/**\n\t\t\t\t * When we navigate or redirect, we push our position to the history state.\n\t\t\t\t * We also add it to sessionStorage. When a pop-state navigation occurs,\n\t\t\t\t * We compare the value from the event which is the updated history with the\n\t\t\t\t * previous position value stored in sessionStorage to identify if it was a\n\t\t\t\t * front or back button induced navigation.\n\t\t\t\t */\n\t\t\t\tconst newPosition = event?.state?.position || 0;\n\t\t\t\tconst previousPosition = !isNil(globalNavigationObject)\n\t\t\t\t\t? globalNavigationObject?.getNavigationPosition()\n\t\t\t\t\t: 0;\n\t\t\t\tif (newPosition < previousPosition) {\n\t\t\t\t\t// This means that the back button was clicked and we move forward.\n\t\t\t\t\twindow.history.go(1);\n\t\t\t\t} else {\n\t\t\t\t\t// This means that the forward button was clicked and we move backward.\n\t\t\t\t\twindow.history.go(-1);\n\t\t\t\t}\n\t\t\t\tshouldSkipPopNavigation = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tshouldSkipPopNavigation = false;\n\t\t}\n\t} else {\n\t\t// Updating the global navigation position on pop-state navigation\n\t\t// across workspaces without the page property.\n\t\tglobalNavigationObject.setNavigationPosition(\n\t\t\tevent?.state?.position || 0,\n\t\t);\n\t}\n\n\tconst path = get(prevSelectedContent, 'context.path', undefined);\n\tupdateActiveContextPath(expPath, properties, updateProperties);\n\tlet context;\n\tlet activeRouteConfig;\n\tlet requestedRouteConfig;\n\tif (path !== expPath) {\n\t\tif (expPath && !isCompleteExperienceConfigs(expPath)) {\n\t\t\trequestedRouteConfig =\n\t\t\t\tawait getRequestedExperienceRouterConfiguration(\n\t\t\t\t\texpPath,\n\t\t\t\t\trouterConfig,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t);\n\t\t} else {\n\t\t\trequestedRouteConfig = routerConfig;\n\t\t}\n\t\tactiveRouteConfig = expPath\n\t\t\t? requestedRouteConfig.experienceRouteConfigs[expPath]\n\t\t\t: requestedRouteConfig;\n\t\tcontext = getContext(activeRouteConfig);\n\t\tinitConfig(activeRouteConfig);\n\t\tif (expPath) {\n\t\t\tsetAppConfigToRootMacroponent(expPath);\n\t\t}\n\t}\n\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\tif (selectedContent) {\n\t\tmark(host, getInteractionId(action.meta), UXF_USER_BROWSER_NAV_START, {\n\t\t\t...selectedContent,\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tselectedContent: { ...selectedContent, updateUrl: false },\n\t\t});\n\n\t\tconst { encodedPersistedState } = selectedContent;\n\t\tconst screenKey = getScreenKey(selectedContent);\n\t\tdispatch(ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tencodedPersistedState,\n\t\t});\n\t}\n};\n\nexport function getInterruptionHandler(host, interruption) {\n\treturn () => {\n\t\tmark(host, '', interruption);\n\t};\n}\n\nexport function addInterruptionHandlers(host) {\n\twindow.addEventListener(\n\t\t'blur',\n\t\tgetInterruptionHandler(host, UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED),\n\t\tfalse,\n\t);\n\n\tdocument.addEventListener(\n\t\t'mousedown',\n\t\tgetInterruptionHandler(host, UXF_INTERRUPTION_MOUSEDOWN),\n\t\t{\n\t\t\tcapture: true,\n\t\t},\n\t);\n\n\tdocument.addEventListener(\n\t\t'keydown',\n\t\tgetInterruptionHandler(host, UXF_INTERRUPTION_KEYDOWN),\n\t\t{\n\t\t\tcapture: true,\n\t\t},\n\t);\n}\n\nexport const updateUrl = (\n\tselectedContent,\n\tcoeffects,\n\tnoTitleUpdateUsingUrl = false,\n\tisRootSelectedNavItemChange = false,\n) => {\n\tconst encodedPersistedState = getEncodedPersistedStateForSelectedContent(\n\t\tselectedContent,\n\t\tcoeffects,\n\t);\n\tconst selectedContentForUrlUpdate = {\n\t\t...selectedContent,\n\t\t...{ encodedPersistedState },\n\t};\n\n\tconst url = getUrlFromSelectedContent(selectedContentForUrlUpdate);\n\n\tconst title = selectedContent.title ?? getLandingPath();\n\n\tconst { host, action } = coeffects;\n\tif (url == null || url === '') return;\n\n\tconst experienceName = get(selectedContent, 'context.experienceName', '');\n\tconst hasMatchedRoute = doesRouteExist(selectedContent.route);\n\n\tif (\n\t\tget(selectedContent, 'navigationOptions.navigateExternal', false) ===\n\t\ttrue\n\t) {\n\t\tconst { navigationOptions } = selectedContent;\n\t\topenUrl(url, navigationOptions);\n\t\treturn;\n\t}\n\n\t// if not logged in and no matched route, reload in order to redirect to login\n\tif (!IS_LOGGED_IN && !hasMatchedRoute)\n\t\tnavigateUrl(url, title, experienceName, true, noTitleUpdateUsingUrl);\n\n\tconst selectedContentClone = { ...selectedContent };\n\tselectedContentClone.pageTitle = window.document.title.split(/\\s\\|\\s/)[0];\n\tsetExperienceMark(host, action, selectedContentClone, USER_NAVIGATE);\n\tlet interactionId = getInteractionId(action.meta);\n\tif (isRootSelectedNavItemChange) {\n\t\t// Create interactionId when Navigation happens\n\t\t// Page load is handled in sn-canvas-metrics/initCustomMetricsAndTrace\n\t\t// In page navigation is handled in uxf-monorepo\n\t\tinteractionId = createInteractionId();\n\t\twindow.nowUiFramework.uxrInteractionId = interactionId;\n\t\tmark(host, interactionId, UXF_USER_NAV_LOAD_START, {\n\t\t\t...selectedContent,\n\t\t\tscreenKey: getScreenKey(selectedContent),\n\t\t\turl: `${window.location.origin}${url}`,\n\t\t});\n\t}\n\n\tmark(host, interactionId, 'NAVIGATE', { referrer: url }); // check and remove this if not required anymore\n\n\tconst { reload } = selectedContent;\n\tconst {\n\t\tparams: {\n\t\t\tpath: { type },\n\t\t\tsearch,\n\t\t},\n\t} = getParametersFromPath('/:type*');\n\tif (url == '/' + type + (queryParamsEnabled() ? search : '')) {\n\t\t//set if title is present in payload or no pageTitle is set\n\t\tif (selectedContent.title || !selectedContentClone.pageTitle)\n\t\t\ttitle && setPageTitle(url, title, experienceName);\n\t} else if (selectedContent.redirect) {\n\t\tredirectUrl(url, title, experienceName, reload);\n\t} else {\n\t\tnavigateUrl(url, title, experienceName, reload, noTitleUpdateUsingUrl);\n\t}\n\n\t// @STRY54125353: update window.transaction_source\n\twindow.transaction_source = getTransactionSource(url);\n};\n\n/**\n * Updates the url and the selectedContent property based off the new value.\n * Gets requested experienceConfigs if not available from the routeConfig property.\n * @param {Object} rootSelectedNavItem\n * @param {Function} coeffects\n */\nexport const onRootSelectedNavItemChange = async (\n\trootSelectedNavItem,\n\tcoeffects,\n) => {\n\tif (isEmpty(rootSelectedNavItem) || typeof rootSelectedNavItem == 'string')\n\t\treturn;\n\n\tconst { updateProperties, properties, dispatch } = coeffects;\n\tlet { routerConfig } = properties;\n\tconst currentRecordId = await retrieveRecordId();\n\tconst requestedExpKey = rootSelectedNavItem.context?.path || null;\n\tlet updatedRouterConfig;\n\tif (requestedExpKey) {\n\t\tupdatedRouterConfig = await getRequestedExperienceRouterConfiguration(\n\t\t\trequestedExpKey,\n\t\t\trouterConfig,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t);\n\t}\n\n\tif (rootSelectedNavItem) {\n\t\tif (updatedRouterConfig) {\n\t\t\tupdateProperties(() => {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'routerConfig',\n\t\t\t\t\tvalue: updatedRouterConfig,\n\t\t\t\t};\n\t\t\t});\n\t\t\trouterConfig = updatedRouterConfig;\n\t\t}\n\t\tupdateProperties(({ properties }) => {\n\t\t\tlet { selectedContent } = properties;\n\t\t\tlet { targetRoute, ..._selectedContent } = rootSelectedNavItem;\n\n\t\t\tif (_selectedContent != selectedContent) {\n\t\t\t\tconst { context: prevContext } = selectedContent || {};\n\t\t\t\tconst { context } = _selectedContent;\n\t\t\t\tif (!context && prevContext)\n\t\t\t\t\tset(_selectedContent, 'context', prevContext);\n\t\t\t}\n\n\t\t\tif (selectedContent && targetRoute) {\n\t\t\t\tlet _targetContent =\n\t\t\t\t\ttargetRoute === CURRENT_ROUTE\n\t\t\t\t\t\t? selectedContent\n\t\t\t\t\t\t: { ...targetRoute };\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\tlet { updateUrl, reload, ...restContent } = _targetContent;\n\t\t\t\twhile (\n\t\t\t\t\ttargetRoute === CURRENT_ROUTE &&\n\t\t\t\t\trestContent &&\n\t\t\t\t\trestContent.parent\n\t\t\t\t) {\n\t\t\t\t\trestContent = restContent.parent;\n\t\t\t\t}\n\t\t\t\t_selectedContent.parent = restContent;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_selectedContent.multiInstField &&\n\t\t\t\t_selectedContent.fields &&\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t_selectedContent.fields,\n\t\t\t\t\t_selectedContent.multiInstField,\n\t\t\t\t) &&\n\t\t\t\t!_selectedContent.uid\n\t\t\t) {\n\t\t\t\tconst _newRecordId = currentRecordId + 1;\n\t\t\t\t_selectedContent.uid = _newRecordId;\n\t\t\t\tsaveRecordId(_newRecordId);\n\t\t\t}\n\n\t\t\tlet contextChanged = false;\n\t\t\tconst { context: prevContext } = selectedContent || {};\n\n\t\t\tconst changeContext = (ctx, content) => {\n\t\t\t\tconst path = get(ctx, 'path', null);\n\t\t\t\tconst activeRouteConfig = path\n\t\t\t\t\t? routerConfig.experienceRouteConfigs[path]\n\t\t\t\t\t: routerConfig;\n\t\t\t\tif (activeRouteConfig) {\n\t\t\t\t\tinitConfig(activeRouteConfig);\n\t\t\t\t\tconst _context = getContext(activeRouteConfig);\n\t\t\t\t\tset(\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t'context.experienceName',\n\t\t\t\t\t\t_context.experienceName,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (_selectedContent.updateUrl !== false) {\n\t\t\t\tif (_selectedContent != selectedContent) {\n\t\t\t\t\tconst { context } = _selectedContent || {};\n\t\t\t\t\tif (\n\t\t\t\t\t\tcontext &&\n\t\t\t\t\t\tcontext.path &&\n\t\t\t\t\t\t!routerConfig.experienceRouteConfigs[context.path]\n\t\t\t\t\t) {\n\t\t\t\t\t\tnavigateToExternal(context.path);\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isEqual(context, prevContext)) {\n\t\t\t\t\t\tchangeContext(context, _selectedContent);\n\t\t\t\t\t\tcontextChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tupdateUrl(_selectedContent, coeffects, false, true);\n\n\t\t\t\tif (\n\t\t\t\t\tget(\n\t\t\t\t\t\t_selectedContent,\n\t\t\t\t\t\t'navigationOptions.navigateExternal',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t) === true\n\t\t\t\t) {\n\t\t\t\t\tif (contextChanged) {\n\t\t\t\t\t\t//reset context\n\t\t\t\t\t\tchangeContext(prevContext, selectedContent);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'selectedContent',\n\t\t\t\t\t\tvalue: selectedContent,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (_selectedContent.reload) return {};\n\t\t\t}\n\n\t\t\tif (_selectedContent.encodedPersistedState === null) {\n\t\t\t\tconst encodedPersistedState =\n\t\t\t\t\tgetEncodedPersistedStateForSelectedContent(\n\t\t\t\t\t\t_selectedContent,\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t);\n\t\t\t\t_selectedContent.encodedPersistedState = encodedPersistedState;\n\t\t\t} else {\n\t\t\t\tconst screenKey = getScreenKey(_selectedContent);\n\t\t\t\tdispatch(ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL, {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\tencodedPersistedState:\n\t\t\t\t\t\t_selectedContent.encodedPersistedState,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'selectedContent',\n\t\t\t\tvalue: _selectedContent,\n\t\t\t};\n\t\t});\n\t}\n};\n\n/**\n * Updates the url parameters based off the current selectedContent and new contentUpdated.\n * @param {Object} rootContentUpdated\n * @param {Object} coeffects\n */\nexport const onRootContentUpdatedChange = (rootContentUpdated, coeffects) => {\n\tconst { properties, updateProperties } = coeffects;\n\n\tconst { selectedContent } = properties;\n\tif (selectedContent && rootContentUpdated) {\n\t\tconst newSelectedContent = {\n\t\t\t...selectedContent,\n\t\t\t...rootContentUpdated,\n\t\t\tparams: {\n\t\t\t\t...(selectedContent.params && selectedContent.params),\n\t\t\t\t...(rootContentUpdated.params && rootContentUpdated.params),\n\t\t\t},\n\t\t\t...{\n\t\t\t\tencodedPersistedState:\n\t\t\t\t\tgetEncodedPersistedStateForSelectedContent(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t),\n\t\t\t},\n\t\t};\n\t\tif (!isEqual(selectedContent, newSelectedContent)) {\n\t\t\tupdateUrl({ ...newSelectedContent }, coeffects, true);\n\t\t\tupdateProperties({\n\t\t\t\tselectedContent: { ...newSelectedContent },\n\t\t\t});\n\t\t}\n\t}\n};\n\n// Router Life cycle effects\nconst routerBootStrappedEffect = async ({\n\thost,\n\tstate,\n\tproperties,\n\taction,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst appShellRoot = host?.getRootNode()?.host?.localName;\n\n\tif (\n\t\tappShellRoot === 'sn-canvas-appshell-root' ||\n\t\tappShellRoot === 'sn-canvas-root'\n\t) {\n\t\tawait customElements.whenDefined(appShellRoot);\n\t\tawait Promise.resolve();\n\t}\n\n\twindow.addEventListener(\n\t\t'popstate',\n\t\t_onPopState.bind(window, {\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t}),\n\t\tfalse,\n\t);\n\n\t// Add interruption handlers only if perf monitoring is enabled and if screen is not in preview mode.\n\tif (UXF_PERF_MONITORING_ENABLED && !isScreenPreviewMode)\n\t\taddInterruptionHandlers(host);\n\n\tconst { routerConfig } = state.properties;\n\tlet activeRouteConfig = routerConfig;\n\tsanitizeBaseUrl();\n\tconst expPath = getExperiencePath(routerConfig);\n\tif (expPath) {\n\t\tactiveRouteConfig = routerConfig.experienceRouteConfigs[expPath];\n\t\t//DEF0633758: populate nowUxfAppConfigSysId of root macroponent with the sysid of current navigated experience\n\t\tsetAppConfigToRootMacroponent(expPath);\n\t}\n\tconst context = getContext(activeRouteConfig);\n\tinitConfig(activeRouteConfig);\n\n\tinitBaseUrl(expPath);\n\n\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\tconst queryString = getQueryStringParams();\n\tinitCustomMetricsAndTrace(\n\t\tselectedContent,\n\t\tgetUrlFromSelectedContent(selectedContent),\n\t);\n\tupdateProperties({\n\t\tselectedContent: { ...selectedContent, queryString, updateUrl: false },\n\t\trouterInitiated: true,\n\t});\n\n\tconst { encodedPersistedState } = selectedContent;\n\n\t// DEF0676830: On directUrlLoad, If we are on url1 (with statePersistence) & move to url2 (without statePersistence), then PERSIST_STATE needs to be dispatched.\n\tif (selectedContent) {\n\t\tconst screenKey = getScreenKey(selectedContent);\n\t\t// on router bootstrap, dispatch persistedState information\n\t\tdispatch(ACTION_PERSIST_STATE_INIT_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tencodedPersistedState,\n\t\t});\n\t}\n};\n\nconst routerDisconnectedEffect = () =>\n\twindow.removeEventListener('popstate', _onPopState, false);\n\nexport const onActiveExperienceChange = async (\n\tactiveExperience,\n\t{ properties, updateProperties, dispatch },\n) => {\n\tif (isEmpty(activeExperience)) return;\n\n\tconst { path, _timestamp } = activeExperience;\n\tconst { routerConfig: prevRouterConfig, selectedContent = {} } = properties;\n\n\tconst requestedExpRouterConfig =\n\t\tawait getRequestedExperienceRouterConfiguration(\n\t\t\tpath,\n\t\t\tprevRouterConfig,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t);\n\tconst routerConfig = requestedExpRouterConfig\n\t\t? requestedExpRouterConfig\n\t\t: prevRouterConfig; //default to previous router configs\n\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath && contextPath === path) return;\n\n\tif (path && routerConfig.experienceRouteConfigs[path]) {\n\t\tconst activeRouteConfig = routerConfig.experienceRouteConfigs[path];\n\t\tconst context = getContext(activeRouteConfig);\n\t\tinitConfig(activeRouteConfig);\n\t\tupdateExpBaseUrl(path, context?.experienceName);\n\t\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\t\tupdateProperties({\n\t\t\tselectedContent: {\n\t\t\t\t...selectedContent,\n\t\t\t\tupdateUrl: false,\n\t\t\t\t_timestamp,\n\t\t\t},\n\t\t});\n\t\tif (requestedExpRouterConfig) updateProperties({ routerConfig });\n\t\twindow.transaction_source = getTransactionSource(path);\n\t}\n};\n\nexport const onRootPersistedStateChange = (value, coeffects) => {\n\tconst {\n\t\tproperties: { selectedContent },\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (isEmpty(selectedContent) || typeof value == 'string') return;\n\n\t// not updating any props. Using the helper to get latest selectedContent. Avoiding any timing issues due to stale props.\n\tupdateProperties(({ properties }) => {\n\t\tconst { selectedContent } = properties;\n\t\tif (!isEmpty(selectedContent))\n\t\t\tupdateUrl(selectedContent, coeffects, true, false);\n\t\treturn {\n\t\t\tshouldUpdate: false,\n\t\t};\n\t});\n};\n\nconst getParams = (selectedContent) => {\n\tconst { parent = {}, fields = {}, params = {} } = selectedContent;\n\n\treturn {\n\t\tfields,\n\t\tparams,\n\t\tparent: { fields: parent?.fields || {}, params: parent?.params || {} },\n\t};\n};\n\nconst routerPropertyChangedEffect = async (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tproperties,\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tconst { routerInitiated } = properties;\n\n\tif (!routerInitiated) return null;\n\n\tswitch (name) {\n\t\tcase ROOT_SELECTED_NAV_ITEM:\n\t\t\tupdateActiveContextPath(\n\t\t\t\tvalue?.context?.path,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tawait onRootSelectedNavItemChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ROOT_CONTENT_UPDATED:\n\t\t\tonRootContentUpdatedChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ACTIVE_EXPERIENCE:\n\t\t\tupdateActiveContextPath(value?.path, properties, updateProperties);\n\t\t\tawait onActiveExperienceChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ROOT_PERSISTED_STATE:\n\t\t\tonRootPersistedStateChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase 'selectedContent': {\n\t\t\tupdateActiveContextPath(\n\t\t\t\tvalue?.context?.path,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tconst route = createTokenizedPath(value);\n\n\t\t\tsetPage(route, {\n\t\t\t\thref: getUrlFromSelectedContent(value),\n\t\t\t\tquery: getQueryStringParams(),\n\t\t\t\troute: createTokenizedPath(value),\n\t\t\t\ttitle: window?.document?.title?.split(/\\s\\|\\s/)[0],\n\t\t\t\tname: value?.route,\n\t\t\t\tparams: getParams(value),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst lifeCycleHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: routerBootStrappedEffect,\n\t[COMPONENT_DISCONNECTED]: routerDisconnectedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: routerPropertyChangedEffect,\n};\n\nexport { lifeCycleHandlers };\nexport const exportsForTesting = {\n\trouterBootStrappedEffect,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\n\nimport { lifeCycleHandlers } from './sn-canvas-router.effects';\nimport { getUXGlobalRouterConfiguration } from './sn-canvas-router.config';\n\nimport {\n\tROOT_SELECTED_NAV_ITEM,\n\tROOT_CONTENT_UPDATED,\n\tSN_CANVAS_ROUTER,\n\tROOT_PERSISTED_STATE,\n\tCONFIRM_POP_STATE_NAVIGATION,\n} from '../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nexport default createCustomElement(SN_CANVAS_ROUTER, {\n\ttype: snabbdom,\n\tview: () => {},\n\tproperties: {\n\t\t[ROOT_SELECTED_NAV_ITEM]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t[ROOT_CONTENT_UPDATED]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: false,\n\t\t},\n\t\t[ROOT_PERSISTED_STATE]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouterConfig: {\n\t\t\tselectable: true,\n\t\t\tdefault: getUXGlobalRouterConfiguration(),\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouterInitiated: {\n\t\t\tdefault: false,\n\t\t},\n\t\tactiveExperience: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveContextPath: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\t/**\n\t\t * This property is used to confirm pop-state navigation\n\t\t * when page authors set \"confirmPopStateNavigationWhenDirty\"\n\t\t * page property to true.\n\t\t */\n\t\t[CONFIRM_POP_STATE_NAVIGATION]: {\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tbehaviors: [renderSkipBehavior],\n\tactionHandlers: { ...lifeCycleHandlers },\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"canvasClientBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasClientBehavior;\n\t\t\t\t\t} else if ('canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__.canvasClientBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_28_0_63_swarm_0_index_jsdbx_b137d81b__[\"default\"].canvasClientBehavior;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { SN_CANVAS_CLIENT } from '../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\nimport { canvasClientBehavior } from 'sn-canvas-core-addon';\n\ncreateCustomElement(SN_CANVAS_CLIENT, {\n\tproperties: {\n\t\tclientInfo: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\t// eslint-disable-next-line react/display-name\n\t\tview: () => <slot />\n\t},\n\tbehaviors: [\n\t\trenderSkipBehavior,\n\t\tcanvasClientBehavior\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import {\n\tDEFAULT_SESSION_PING,\n\tDEFAULT_SESSION_TIMEOUT,\n\tMIN_SESSION_PING,\n\tMAX_SESSION_PING\n} from '../constants/constants';\nimport { get } from 'lodash';\n\nlet sessionPing = null;\n\n/**\n * Reset the cached sessionPing value, e.g. for testing purposes\n */\nexport const resetSessionPing = () => (sessionPing = null);\n\n/**\n * Get the page property `uxr_session_ping` which is represented in seconds.\n * If the property isn't set then value will be set to `DEFAULT_SESSION_PING`\n * The session ping must be between 30 seconds and the lower of glide.ui.session_timeout\n * and `DEFAULT_SESSION_PING`\n * A value of `0` is considered `off`.\n * All values are converted to milliseconds.\n *\n * @returns {number} sessionPing\n */\nexport const getSessionPing = () => {\n\tif (sessionPing) {\n\t\treturn sessionPing;\n\t}\n\tconst toMilliseconds = seconds => seconds * 1000;\n\tconst sessionTimeout =\n\t\tget(\n\t\t\twindow,\n\t\t\t'ux_globals.sysprops[\"glide.ui.session_timeout\"]',\n\t\t\tDEFAULT_SESSION_TIMEOUT\n\t\t) * 60;\n\tconst lowerBound = toMilliseconds(MIN_SESSION_PING);\n\tconst upperBound = toMilliseconds(Math.min(sessionTimeout, MAX_SESSION_PING));\n\tsessionPing = toMilliseconds(\n\t\tget(\n\t\t\twindow,\n\t\t\t'ux_globals.pageProperties.uxr_session_ping',\n\t\t\tDEFAULT_SESSION_PING\n\t\t)\n\t);\n\n\tif (\n\t\t(sessionPing > 0 && sessionPing < lowerBound) ||\n\t\tsessionPing >= upperBound\n\t) {\n\t\tsessionPing = toMilliseconds(DEFAULT_SESSION_PING);\n\t}\n\n\treturn sessionPing;\n};\n","import throttle from 'lodash/throttle';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getSessionPing } from '../get-session-ping';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nlet defaultEventRegistry = new Map();\n\nexport const ACTION_TYPES = {\n\tEXTEND_UI_SESSION_REQUESTED: 'EXTEND_UI_SESSION_REQUESTED',\n\tEXTEND_UI_SESSION_SUCCESS: 'EXTEND_UI_SESSION_SUCCESS',\n\tEXTEND_UI_SESSION_FAILED: 'EXTEND_UI_SESSION_FAILED',\n\tSHOULD_EXTEND_UI_SESSION: 'SHOULD_EXTEND_UI_SESSION'\n};\n\nconst extendUISessionEffect = createHttpEffect(\n\t'/api/now/uisession/touch-session',\n\t{\n\t\tmethod: 'POST',\n\t\tsuccessActionType: ACTION_TYPES.EXTEND_UI_SESSION_SUCCESS,\n\t\terrorActionType: ACTION_TYPES.EXTEND_UI_SESSION_FAILED\n\t}\n);\n\nexport function sessionExtensionEffect(events, effect, eventRegistry = defaultEventRegistry) {\n\treturn coeffect => {\n\t\tevents.forEach(event => {\n\t\t\teventRegistry.set(event, event => effect(coeffect, event));\n\t\t\tdocument.body.addEventListener(event, eventRegistry.get(event), true);\n\t\t});\n\t};\n}\n\nexport function createDisconnectEffect({ events, eventRegistry = defaultEventRegistry }) {\n\treturn () => {\n\t\tevents.forEach(event => {\n\t\t\tif (eventRegistry.has(event))\n\t\t\t\tdocument.body.removeEventListener(\n\t\t\t\t\tevent,\n\t\t\t\t\teventRegistry.get(event),\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createEffectForEvents({ events, effect, eventRegistry = defaultEventRegistry }) {\n\treturn {\n\t\tremoveEventListeners: createDisconnectEffect({ events, eventRegistry }),\n\t\tregisterEventListeners: sessionExtensionEffect(events, effect, eventRegistry)\n\t};\n}\n\nexport const { removeEventListeners, registerEventListeners } = createEffectForEvents({\n\tevents: ['click', 'keyup', 'contextmenu'],\n\teffect: throttle(\n\t\tcoeffect => {\n\t\t\tconst { dispatch } = coeffect;\n\t\t\tdispatch(ACTION_TYPES.SHOULD_EXTEND_UI_SESSION, {});\n\t\t},\n\t\tgetSessionPing(),\n\t\t{ leading: true, trailing: false }\n\t)\n});\n\nexport const checkLoggedInStateEffect = coeffects => {\n\tconst { dispatch, host } = coeffects;\n\tconst { canvasSession } = host.getResolvedProperties();\n\tif (canvasSession.isLoggedIn) {\n\t\tdispatch(ACTION_TYPES.EXTEND_UI_SESSION_REQUESTED, {});\n\t}\n};\n\n/**\n * Shareable behavior to keep the user's session alive periodically.\n * On left mouse click, right mouse click, and keyboard press, it will send a POST request to the server to keep\n * the session alive.\n * The POST request is throttled so that it doesn't flood the server.\n * Throttling time can be configured by the `uxr_session_ping` UX Page Property.\n * Valid values for that property are 30 - 1800 ( in seconds ), or 0.\n * Setting the value to 0 will turn this feature off.\n */\nexport const sessionExtensionBehavior = {\n\tname: 'SESSION_EXTENSION',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: registerEventListeners,\n\t\t[COMPONENT_DISCONNECTED]: removeEventListeners,\n\t\t[ACTION_TYPES.SHOULD_EXTEND_UI_SESSION]: checkLoggedInStateEffect,\n\t\t[ACTION_TYPES.EXTEND_UI_SESSION_REQUESTED]: extendUISessionEffect\n\t}\n};\n","import { pick } from 'lodash';\nfunction convertToHash(keyInfo = {}) {\n\tlet hash = '',\n\t\tstack = [];\n\tif (keyInfo.hasOwnProperty('key')) return keyInfo.key;\n\tObject.keys(keyInfo).forEach((key) => {\n\t\tif (typeof keyInfo[key] === 'object' && keyInfo[key] !== null) {\n\t\t\tstack.push(keyInfo[key]);\n\t\t} else {\n\t\t\thash = hash\n\t\t\t\t? `${hash}~${key}~${keyInfo[key]}`\n\t\t\t\t: `${key}~${keyInfo[key]}`;\n\t\t}\n\t\twhile (stack.length) {\n\t\t\tconst obj = stack.pop();\n\t\t\tObject.keys(obj).forEach((k) => {\n\t\t\t\tif (typeof obj[k] === 'object' && obj[k] !== null)\n\t\t\t\t\tstack.push(obj[k]);\n\t\t\t\telse hash = hash ? `${hash}~${k}~${obj[k]}` : `${k}~${obj[k]}`;\n\t\t\t});\n\t\t}\n\t});\n\treturn hash;\n}\n\nfunction getKeyInfo(keyInfo) {\n\tif (keyInfo.hasOwnProperty('key')) return keyInfo.key;\n\treturn keyInfo;\n}\n\nfunction recoverContextFromKey(keyInfo) {\n\tif (!keyInfo) return null;\n\tif (!keyInfo.hasOwnProperty('key')) return { ...keyInfo.fields };\n\n\tconst key = keyInfo.key;\n\tconst parts = key.split('~');\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\treturn { ...fields };\n}\n\nconst mapToAggregation = (function() {\n\tconst aggregationMap = new Map();\n\taggregationMap.set('inserted', 'crud');\n\taggregationMap.set('created', 'crud');\n\taggregationMap.set('updated', 'crud');\n\taggregationMap.set('modified', 'crud');\n\taggregationMap.set('deleted', 'crud');\n\taggregationMap.set('removed', 'crud');\n\taggregationMap.set('opened', 'crud');\n\taggregationMap.set('viewed', 'crud');\n\taggregationMap.set('closed', 'crud');\n\n\treturn function(status) {\n\t\tconst hasStatus = aggregationMap.has(status);\n\t\tif (hasStatus) return aggregationMap.get(status);\n\t\treturn 'info';\n\t};\n})();\n\n/**\n * ActivityLogger\n * A singleton class to log activity aggrgated by key. Key is usually a route plus fields but can be anything.\n */\nclass ActivityLogger {\n\tconstructor() {\n\t\tthis._activityMap = new Map();\n\t}\n\n\t/**\n\t * Add log to the internal data store\n\t * @param {*} data object describing the parent and child with actual action taken\n\t * @param data.keyInfo object\n\t * @param data.logInfo object with arbitary key/value pairs and operation e.g {'myThing': 'Awesome', operation: 'updated'}\n\t */\n\tlog(data) {\n\t\tconst { keyInfo, logInfo = {} } = data;\n\t\tconst _logInfo = { ...logInfo, timestamp: Date.now() };\n\t\tconst _hash = convertToHash(keyInfo);\n\t\tconst existingRecord = this._activityMap.get(_hash);\n\t\tif (existingRecord) {\n\t\t\tlet newActivities;\n\t\t\tconst existingActivities = existingRecord.activities;\n\t\t\tconst activityKey = mapToAggregation(_logInfo.operation);\n\t\t\tconst hasAggregationKey = existingActivities.has(activityKey);\n\t\t\tif (hasAggregationKey) {\n\t\t\t\tconst existingActivity = existingActivities.get(activityKey);\n\t\t\t\tnewActivities = new Map(existingActivities);\n\t\t\t\tnewActivities.set(activityKey, [\n\t\t\t\t\t...existingActivity,\n\t\t\t\t\t{ ..._logInfo },\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tnewActivities = new Map(existingActivities);\n\t\t\t\tnewActivities.set(activityKey, [{ ..._logInfo }]);\n\t\t\t}\n\n\t\t\tthis._activityMap.set(_hash, {\n\t\t\t\tactivities: newActivities,\n\t\t\t\t_keyInfo: getKeyInfo(keyInfo),\n\t\t\t\tcontext: recoverContextFromKey(keyInfo),\n\t\t\t});\n\t\t} else {\n\t\t\tlet activities = new Map(this._activityMap.activities || []);\n\t\t\tconst activitykey = mapToAggregation(_logInfo.operation);\n\t\t\tconst hasAggregationKey =\n\t\t\t\tthis._activityMap.activities instanceof Map &&\n\t\t\t\tthis._activityMap.activities.has(activitykey);\n\t\t\tif (hasAggregationKey) {\n\t\t\t\tconst existingLogInfo = this._activityMap.activities.get(\n\t\t\t\t\tactivitykey,\n\t\t\t\t);\n\t\t\t\tactivities = new Map([...existingLogInfo, { ..._logInfo }]);\n\t\t\t} else {\n\t\t\t\tactivities.set(mapToAggregation(_logInfo.operation), [\n\t\t\t\t\t{ ..._logInfo },\n\t\t\t\t]);\n\t\t\t}\n\t\t\tthis._activityMap.set(_hash, {\n\t\t\t\tactivities: activities,\n\t\t\t\t_keyInfo: getKeyInfo(keyInfo),\n\t\t\t\tcontext: recoverContextFromKey(keyInfo),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Retrieve all logs\n\t */\n\tgetAll() {\n\t\tconst result = new Map();\n\t\tthis._activityMap.forEach((value) => {\n\t\t\tresult.set(value._keyInfo, pick(value, ['activities', 'context']));\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Retrieve a single record represented by keyInfo\n\t * @param {(*)} keyInfo\n\t */\n\tgetSingle(keyInfo) {\n\t\tconst key = convertToHash(keyInfo);\n\t\treturn pick(this._activityMap.get(key), ['activities', 'context']);\n\t}\n\n\trecordHasOperation(keyInfo, sysId, operation) {\n\t\tconst recordEntry = this.getSingle(keyInfo);\n\t\tif (recordEntry && recordEntry.hasOwnProperty('activities')) {\n\t\t\tconst recordActivities =\n\t\t\t\trecordEntry['activities'].get('crud') || [];\n\t\t\treturn recordActivities.some(\n\t\t\t\t(item) => item.operation == operation && item.sysId == sysId,\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Clear all the record logs\n\t */\n\tclearAll() {\n\t\tthis._activityMap.clear();\n\t}\n\n\t/**\n\t * Clear a single record represented by keyInfo\n\t * @param {*} keyInfo\n\t */\n\tclearSingle(keyInfo) {\n\t\tconst key = convertToHash(keyInfo);\n\t\tif (this._activityMap.has(key)) this._activityMap.delete(key);\n\t}\n\n\t/**\n\t * Clear multiple record represented by keyInfoArray\n\t * @param {[*]} keyInfoArray\n\t */\n\tclearMultiple(keyInfoArray = []) {\n\t\tkeyInfoArray.forEach((key) => this.clearSingle(key));\n\t}\n}\n\nconst activityLogger = new ActivityLogger();\nObject.freeze(activityLogger);\n\nexport { activityLogger, convertToHash, recoverContextFromKey };\n","import get from 'lodash/get';\nimport pickBy from 'lodash/pickBy';\nimport isEqual from 'lodash/isEqual';\nimport has from 'lodash/has';\nimport { t } from 'sn-translate';\nimport {\n\tSCREEN_STATUS_CHANGED,\n\tACTIVE_SCREEN_RENDERED,\n\tSCREEN_TITLES_REGISTRATION_REQUESTED,\n\tNAV_ITEM_SELECTED,\n} from '../constants/constants';\nimport { activityLogger } from '../utils/activity-logger';\nimport {\n\trecoverContentFromKey,\n\tgenerateScreenKey,\n} from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport {\n\tnowTitle,\n\tcreateBrowserTabTitle,\n\tsetBrowserTabTitle,\n} from 'sn-canvas-common';\n\nexport const _getAppConfigID = (experienceId) => {\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\n\t// Find key/value pair of experienceConfig containing experienceId\n\tconst activeExperienceConfig = pickBy(experienceConfigs, (value) =>\n\t\tisEqual(get(value, 'experienceId'), experienceId),\n\t);\n\n\t// Get context path (key) of the experienceConfig containing experienceId\n\tconst activeExperienceKey = Object.keys(activeExperienceConfig)[0];\n\treturn get(\n\t\tactiveExperienceConfig,\n\t\t`${activeExperienceKey}.pageSettings.sysId`,\n\t\t'',\n\t);\n};\n\nexport const isKeyUpdateRequired = (screenParams) => {\n\tif (!screenParams) return false;\n\tconst keyArray = Object.keys(screenParams);\n\tif (keyArray.length === 0) return false;\n\n\treturn keyArray.every((key) => !!screenParams[key]);\n};\n\nexport const getScreenConfigurationLink = (\n\tscreenId,\n\tscreenTypeId,\n\texperienceId,\n) => {\n\treturn `/now/build/ui/apps/${_getAppConfigID(\n\t\texperienceId,\n\t)}/pages/${screenTypeId}/variants/${screenId}`;\n};\n\nexport const updateActivityLogs = (\n\tactiveKey,\n\tupdateProperties,\n\t_activityLogs,\n) => {\n\tif (!activeKey) return;\n\n\tif (!_activityLogs) _activityLogs = activityLogger.getAll();\n\n\t//updateActiveLogContext\n\tfor (let [_key, _value] of _activityLogs.entries()) {\n\t\t_value.context = { ..._value.context, isActive: _key === activeKey };\n\t}\n\tupdateProperties({\n\t\tactivityLogs: _activityLogs,\n\t});\n};\nexport const saveOrUpdateLog = (\n\t_key,\n\tscreenParams = {},\n\tstatus,\n\tselectedContent,\n\tcallbackFn,\n) => {\n\tconst isRelatedRecord = (selectedContent) => {\n\t\treturn (\n\t\t\tselectedContent &&\n\t\t\tselectedContent.parent &&\n\t\t\tselectedContent.fields &&\n\t\t\tselectedContent.fields['sys_id'] != '-1'\n\t\t);\n\t};\n\n\tconst isSubNav = (navInfo) => navInfo && navInfo.parent;\n\tconst shouldSkip = (logInfo) => logInfo.sys_id == '-1';\n\tif (!status && isRelatedRecord(selectedContent)) {\n\t\tlet parentkey = generateScreenKey(\n\t\t\tselectedContent.parent.fields || {},\n\t\t\tselectedContent.parent.route,\n\t\t);\n\t\tlet recordSysId = selectedContent?.fields?.sysId;\n\t\tif (\n\t\t\tactivityLogger.recordHasOperation(\n\t\t\t\t{ key: parentkey },\n\t\t\t\trecordSysId,\n\t\t\t\t'opened',\n\t\t\t)\n\t\t)\n\t\t\treturn;\n\n\t\tstatus = 'opened';\n\t}\n\n\tif (!status || status.length === 0) return;\n\tlet keyInfo = { key: _key };\n\tconst incomingContent = recoverContentFromKey(\n\t\t_key,\n\t\tselectedContent?.fields,\n\t);\n\tlet logInfo = { operation: status, ...incomingContent.fields };\n\tif (screenParams && status === 'inserted' && incomingContent.route) {\n\t\tkeyInfo = {\n\t\t\t...keyInfo,\n\t\t\tkey: generateScreenKey(\n\t\t\t\t{ ...incomingContent.fields, ...screenParams },\n\t\t\t\tincomingContent.route,\n\t\t\t),\n\t\t};\n\t\tlogInfo = { operation: status, ...screenParams };\n\t}\n\tif (isSubNav(selectedContent))\n\t\tkeyInfo = {\n\t\t\t...keyInfo,\n\t\t\tkey: generateScreenKey(\n\t\t\t\tselectedContent.parent.fields || {},\n\t\t\t\tselectedContent.parent.route,\n\t\t\t),\n\t\t};\n\tif (shouldSkip(logInfo)) return;\n\tactivityLogger.log({ keyInfo, logInfo });\n\tcallbackFn(activityLogger.getAll());\n};\n\nconst activeScreenRenderedEffect = ({\n\taction,\n\tupdateProperties,\n\tproperties,\n}) => {\n\tconst { experienceId } = properties;\n\tconst { activeScreenId, screenMetaData } = action.payload;\n\tconst { screenType, screenId } = screenMetaData;\n\n\tconst linkToCurrentScreenConfiguration =\n\t\tscreenType && screenId\n\t\t\t? {\n\t\t\t\t\tlabel: t('Edit page'),\n\t\t\t\t\thref: getScreenConfigurationLink(\n\t\t\t\t\t\tscreenId,\n\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t),\n\t\t\t\t}\n\t\t\t: {};\n\tupdateActivityLogs(activeScreenId, updateProperties);\n\tupdateProperties({\n\t\tlinkToCurrentScreenConfiguration,\n\t\tactiveScreenId: activeScreenId,\n\t});\n};\n\nexport function compareScreens(selectedContent, sourceSelectedContent) {\n\tconst getParentDetails = (content) => ({\n\t\troute: content?.parent?.route,\n\t\tfields: content?.parent?.fields,\n\t});\n\n\tconst selectedParent = getParentDetails(selectedContent);\n\tconst sourceParent = getParentDetails(sourceSelectedContent);\n\n\tif (\n\t\t(selectedParent.route &&\n\t\t\tsourceParent.route &&\n\t\t\t!isEqual(selectedParent.route, sourceParent.route)) ||\n\t\t!isEqual(selectedParent.fields, sourceParent.fields)\n\t) {\n\t\treturn false;\n\t}\n\n\tconst { route, fields } = selectedContent || {};\n\tconst { route: sourceRoute, fields: sourceFields } =\n\t\tsourceSelectedContent || {};\n\n\treturn isEqual(route, sourceRoute) && isEqual(fields, sourceFields);\n}\n\nconst screenStatusChangedEffect = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n}) => {\n\tconst { meta, payload } = action;\n\tconst { screenTitles, selectedContent } = properties;\n\n\tsaveOrUpdateLog(\n\t\tpayload.screenKey,\n\t\tpayload.screenParams,\n\t\tpayload.status,\n\t\tpayload.sourceSelectedContent,\n\t\t(_activityLogs) => {\n\t\t\tupdateActivityLogs(\n\t\t\t\tproperties.activeScreenId,\n\t\t\t\tupdateProperties,\n\t\t\t\t_activityLogs,\n\t\t\t);\n\t\t\tif (!properties.activeScreenId)\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactivityLogs: _activityLogs,\n\t\t\t\t});\n\t\t},\n\t);\n\n\tconst screenTitle = payload.title;\n\n\tif (screenTitle && payload.isActive) {\n\t\tconst experienceName = get(\n\t\t\tselectedContent,\n\t\t\t'context.experienceName',\n\t\t\t'',\n\t\t);\n\t\tconst browserTabTitle = createBrowserTabTitle({\n\t\t\tpageTitle: screenTitle,\n\t\t\texperienceName,\n\t\t\tnowTitle,\n\t\t});\n\t\tsetBrowserTabTitle(browserTabTitle);\n\t}\n\n\tconst changePayload = {\n\t\t...payload,\n\t\tactionId: get(meta, 'actionId', Date.now()),\n\t\tcomponentId: get(meta, 'id', ''),\n\t\tisScreenKeyUpdated: isKeyUpdateRequired(payload.screenParams),\n\t\t/**\n\t\t * NOTE: (STRY59703254) As a part of Dirty\n\t\t * State Management Epic(EPIC1111724) we do not\n\t\t * want to rely on various layers to process dirtiness\n\t\t * based on SCREEN_STATUS_CHANGED events that\n\t\t * are bubbling up and instead want them to use DSM.\n\t\t */\n\t\tisDirty: null,\n\t};\n\n\t// prevent including `timestamp` in the updated screenStatus for record\n\t// composition elements. This was added as a fix for DEF0322535, which specifically\n\t// pertains updating dirty-state on tabs (specifically live agent)\n\tif (!('title' in changePayload) || changePayload.hasUpdate) {\n\t\tconst timeStamp = get(meta, ['event', 'timeStamp'], Date.now());\n\t\tchangePayload.timeStamp = timeStamp;\n\t}\n\n\tif (changePayload.isScreenKeyUpdated === true) {\n\t\tconst { sourceSelectedContent } = changePayload;\n\t\tconst isSameScreen = compareScreens(\n\t\t\tselectedContent,\n\t\t\tsourceSelectedContent,\n\t\t);\n\t\tconst content =\n\t\t\tisSameScreen || !sourceSelectedContent\n\t\t\t\t? selectedContent\n\t\t\t\t: sourceSelectedContent;\n\n\t\t/**\n\t\t * NOTE: Adding es-lint comment as we are removing `multiInstField`\n\t\t *  & `uid` keys from `newSelectedContent` object.\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { multiInstField, uid, ...newSelectedContent } = {\n\t\t\t...content,\n\t\t\tfields: payload.screenParams,\n\t\t\tredirect: true,\n\t\t};\n\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t...newSelectedContent,\n\t\t\t...(!isSameScreen && { passiveNavigation: true }),\n\t\t});\n\t} else {\n\t\tdelete changePayload.screenParams;\n\t}\n\n\tif (has(changePayload, 'hasWarning')) {\n\t\trequestAnimationFrame(() => {\n\t\t\tupdateProperties(({ properties }) => {\n\t\t\t\tconst new_prop = [\n\t\t\t\t\t...properties.screenStatus,\n\t\t\t\t\t{ ...changePayload },\n\t\t\t\t].slice(-25);\n\t\t\t\treturn {\n\t\t\t\t\tpath: 'screenStatus',\n\t\t\t\t\tvalue: new_prop,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif (screenTitle) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\t...(screenTitle && {\n\t\t\t\t\t\tscreenTitles: {\n\t\t\t\t\t\t\t...screenTitles,\n\t\t\t\t\t\t\t[payload.screenKey]: screenTitle,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\tupdateProperties(({ properties }) => {\n\t\tconst new_prop = [\n\t\t\t...properties.screenStatus,\n\t\t\t{ ...changePayload },\n\t\t].slice(-25);\n\t\treturn {\n\t\t\tpath: 'screenStatus',\n\t\t\tvalue: new_prop,\n\t\t};\n\t});\n\n\tif (screenTitle) {\n\t\tupdateProperties({\n\t\t\t...(screenTitle && {\n\t\t\t\tscreenTitles: {\n\t\t\t\t\t...screenTitles,\n\t\t\t\t\t[payload.screenKey]: screenTitle,\n\t\t\t\t},\n\t\t\t}),\n\t\t});\n\t}\n};\n\nconst screenTitlesRegRequestedEffect = ({\n\taction: { payload },\n\tproperties,\n\tupdateProperties,\n}) => {\n\tif (!payload)\n\t\t// format : {screenKey: title}\n\t\treturn;\n\tconst { screenTitles = {} } = properties;\n\tconst newTitles = { ...screenTitles, ...payload };\n\tupdateProperties({ screenTitles: { ...newTitles } });\n};\n\nconst actionHandlers = {\n\t[ACTIVE_SCREEN_RENDERED]: activeScreenRenderedEffect,\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedEffect,\n\t[SCREEN_TITLES_REGISTRATION_REQUESTED]: screenTitlesRegRequestedEffect,\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\n//components\nexport const SN_CANVAS_TABS_DATA = 'sn-canvas-tabs-data';\n\n// Actions dispatched from NDS\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_NAVIGATION_ITEM_CLICKED = 'NOW_NAVIGATION_ITEM#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_CONFIRM_MODAL_CLEAR = 'NOW_CONFIRM_MODAL#CLEAR';\nexport const NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED =\n\t'NOW_CONFIRM_MODAL#POSITIVE_BUTTON_CLICKED';\nexport const NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED =\n\t'NOW_CONFIRM_MODAL#NEGATIVE_BUTTON_CLICKED';\n\n// Global actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\n\n// Link types\nexport const EMAIL_LINK_TYPE = 'email';\nexport const PHONE_LINK_TYPE = 'phone';\nexport const ROUTE_LINK_TYPE = 'route';\nexport const MODAL_LINK_TYPE = 'modal';\nexport const EXTERNAL_LINK_TYPE = 'external';\nexport const ACTION_LINK_TYPE = 'action';\n\n// Component actions\nexport const USER_MENU_TOGGLE_SET = 'USER_MENU_TOGGLE_SET';\nexport const PUBLIC_ACTION_BUTTON_CLICKED =\n\t'CANVAS_PUBLIC_ACTION_BUTTON#CLICKED';\n\n// Defaults\nexport const DEFAULT_LOGOUT_ROUTE = 'logout.do';\n// Keyboard constants\nexport const ENTER_KEY_CODE = 13;\n\nexport const HOME_KEY = 'Home';\nexport const ARROW_RIGHT_KEY = 'ArrowRight';\nexport const ARROW_DOWN_KEY = 'ArrowDown';\nexport const ARROW_LEFT_KEY = 'ArrowLeft';\nexport const END_KEY = 'End';\nexport const ESCAPE_KEY = 'Escape';\n\n//Tab Constants\nexport const LOAD_TABS_DATA = 'LOAD_TABS_DATA';\nexport const TABS_DATA_UPDATED = 'TABS_DATA_UPDATED';\nexport const TABS_INIT_PROPS_BEHAVIOR = 'TABS_INIT_PROPS_BEHAVIOR';\nexport const TABS_ROOT_BEHAVIOR = 'TABS_ROOT_BEHAVIOR';\nexport const CLOSE_TAB_MENU_ITEM = 'CLOSE_TAB_MENU_ITEM';\nexport const CLOSE_OTHER_TABS_MENU_ITEM = 'CLOSE_OTHER_TABS_MENU_ITEM';\nexport const CLOSE_ALL_TABS_MENU_ITEM = 'CLOSE_ALL_TABS_MENU_ITEM';\nexport const CHAT_ITEM_TYPE = 'CHAT_ITEM_TYPE';\nexport const TOGGLE_TAB_PREVIEW = 'CANVAS_TAB#TOGGLE_PREVIEW';\n\n// Modal Buttons\nexport const EDS_MODAL_CANCEL_BTN = {\n\tvariant: 'secondary',\n\tlabel: t('Cancel')\n};\n\nexport const EDS_MODAL_CONFIRM_BTN = {\n\tvariant: 'primary',\n\tlabel: t('OK')\n};\n\n// Tab actions\nexport const WORKSPACE_TAB_ACTIVATED = 'WORKSPACE_TAB_ACTIVATED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MAIN_TAB_CLICKED = 'MAIN_TAB_CLICKED';\nexport const MASTER_DETAIL_TOGGLED = 'MASTER_DETAIL_TOGGLED';\nexport const MAIN_TAB_CLOSE_CLICKED = 'MAIN_TAB_CLOSE_CLICKED';\nexport const MAIN_TAB_NEW_CLICKED = 'MAIN_TAB_NEW_CLICKED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED = 'MAIN_TAB_NEW_ALERT_CLEARED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED_OK = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const SUB_TAB_CLOSE_CLICKED = 'SUB_TAB_CLOSE_CLICKED';\nexport const TABS_SCREEN_CONTENT_CHANGED = 'TABS_SCREEN_CONTENT_CHANGED';\nexport const TABS_CLOSE_REQUESTED = 'TABS_CLOSE_REQUESTED';\nexport const TABS_CLOSE_CONFIRMED = 'TABS_CLOSE_CONFIRMED';\nexport const TABS_CLOSE_CANCELLED = 'TABS_CLOSE_CANCELLED';\nexport const TABS_SELECTED_CONTENT_CHANGED = 'TABS_SELECTED_CONTENT_CHANGED';\nexport const DRILLDOWN_BACK_CLICKED = 'DRILLDOWN_BACK_CLICKED';\nexport const SCREEN_CLOSED_CONFIRMED = 'SCREEN_CLOSED_CONFIRMED';\nexport const SCREEN_CLOSED_CANCELLED = 'SCREEN_CLOSED_CANCELLED';\nexport const PRIMARY_TAB_PROP_CHANGED = 'PRIMARY_TAB_PROP_CHANGED';\nexport const NAVIGATION_CLOSED = 'NAVIGATION_CLOSED';\nexport const VIEWPORT_SELECTED = 'VIEWPORT_SELECTED';\n\n// Mediated action types\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const SELECT_TAB = 'SELECT_TAB';\nexport const CONTEXTUAL_RECORD_ITEM_TYPE = 'contextual_record';\nexport const TWO_LAYER_TYPE = 'TWO_LAYER_TYPE'; //[RECORD_ITEM_TYPE, NEW_RECORD_ITEM_TYPE, CHAT_ITEM_TYPE]// Error mediated action types\nexport const MAIN_TAB_ONLY_TYPE = 'MAIN_TAB_ONLY_TYPE';\n\n//KEY COMMANDS\nexport const MOVE_UP = 'MOVE_UP';\nexport const TAB = 'TAB';\nexport const MOVE_DOWN = 'MOVE_DOWN';\nexport const EXECUTE = 'EXECUTE';\nexport const CLICK = 'CLICK';\n\n// Tab Item Types\nexport const RECORD_ITEM_TYPE = 'record';\nexport const FULL_SEARCH_ITEM_TYPE = 'full-search';\nexport const KNOWLEDGE_ITEM_TYPE = 'knowledge';\nexport const NON_RECORD_ITEM_TYPE = 'non_record';\nexport const FULL_LIST_ITEM_TYPE = 'list';\nexport const NEW_RECORD_ITEM_TYPE = 'new_record';\n\nexport const FULL_SEARCH_TAB_TITLE = t('WS:Search Results');\nexport const KNOWLEDGE_TAB_TITLE = t('Knowledge Articles');\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\nexport const ACTIVITY_LOG_UPDATED = 'ACTIVITY_LOG_UPDATED';\nexport const LAYOUT_PROP_RESET_REQUESTED = 'UXR_INTERNAL#LAYOUT_PROP_RESET_REQUESTED';\n\n// Tab Reducers\nexport const OPEN_OR_FOCUS_TAB_REDUCER = 'OPEN_OR_FOCUS_TAB_REDUCER';\nexport const UPDATE_TABS_REDUCER = 'UPDATE_TABS_REDUCER';\nexport const LIVE_UPDATE_TABS_REDUCER = 'LIVE_UPDATE_TABS_REDUCER';\nexport const INIT_TABS_REDUCER = 'INIT_TABS_REDUCER';\nexport const CHAINED_REDUCER = 'CHAINED_REDUCER';\nexport const CLOSE_ONE_DRILLDOWN_REDUCER = 'CLOSE_ONE_DRILLDOWN_REDUCER';\nexport const UPDATE_PRIMARY_TAB_REDUCER = 'UPDATE_PRIMARY_TAB_REDUCER';\n\n//ICONS\nexport const ICON_CHAT_FILL = 'chat-fill';\nexport const ICON_CHAT_OUTLINE = 'chat-outline';\nexport const ICON_PHONE_FILL = 'phone-fill';\nexport const ICON_PHONE_OUTLINE = 'phone-outline';\nexport const ICON_GROUP_FILL = 'group-fill';\nexport const ICON_GROUP_OUTLINE = 'group-outline';\nexport const ICON_LIST_OUTLINE = 'list-outline';\n\n// Special table handling\nexport const INTERACTION_TABLE = 'interaction';\n\n// Messages\nexport const TAB_DETAILS_TITLE = t('Details');\n\n// Other constants\nexport const DEFAULT_MULTI_INST_FIELD = 'sys_id';\n\nexport const SCREEN_STATUS_ACTION_CLOSED = 'closed';\n\nexport const SN_CANVAS_LAYOUT_CHILD_TEST = 'sn-canvas-layout-child-test';\n","import { ACTIVITY_LOG_UPDATED } from './constants/constants';\n\nconst actionHandlers = {\n\t[ACTIVITY_LOG_UPDATED]: ({ action: { payload }, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tactivityLogs: payload.activityLogs\n\t\t});\n\t}\n};\nexport default actionHandlers;\n","import { activityLogger } from '../utils/activity-logger';\nimport { ACTIVITY_LOG_UPDATED, LAYOUT_PROP_RESET_REQUESTED } from './constants/constants';\n\nexport const handleClosedIds = data => {\n\tdata\n\t\t.filter(item => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\tif (keys.length === 0) return false;\n\t\t\treturn item[keys[0]].hasOwnProperty('annotation');\n\t\t})\n\t\t.map(item => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach(item => {\n\t\t\tactivityLogger.log({\n\t\t\t\tkeyInfo: { key: item.annotation.parentKey },\n\t\t\t\tlogInfo: {\n\t\t\t\t\t...item.selectedContent.fields,\n\t\t\t\t\toperation: item.annotation.operation\n\t\t\t\t}\n\t\t\t});\n\t\t});\n};\n\nconst actionHandlers = {\n\tNAVIGATION_CLOSED: ({ action: { payload }, updateProperties, dispatch }) => {\n\t\tconst { closedNavigationIds, closedIdsInfo = [] } = payload;\n\t\tif (\n\t\t\tclosedNavigationIds &&\n\t\t\tArray.isArray(closedNavigationIds) &&\n\t\t\tclosedNavigationIds.length > 0\n\t\t) {\n\t\t\tupdateProperties({ closedNavigationIds: [...closedNavigationIds] });\n\t\t\tconst activityKeys = closedNavigationIds.map(k => ({ key: k }));\n\t\t\tactivityLogger.clearMultiple(activityKeys);\n\t\t\thandleClosedIds(closedIdsInfo);\n\t\t\tdispatch(ACTIVITY_LOG_UPDATED, { activityLogs: activityLogger.getAll() });\n\t\t}\n\t},\n\n\t[LAYOUT_PROP_RESET_REQUESTED]: ({ action: { payload }, updateProperties, properties }) => {\n\t\tif(!payload || Object.keys(payload).length === 0)\n\t\t\treturn;\n\t\tconst toBeUpdatedProps = {};\n\t\tObject.keys(payload)\n\t\t\t.filter(prop => prop in properties)\n\t\t\t.forEach(prop => toBeUpdatedProps[prop] = payload[prop]);\n\n\t\tupdateProperties(toBeUpdatedProps);\n\t}\n};\nexport default actionHandlers;\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = experienceId =>\n\texperienceId\n\t\t? `canvasScreenTitles_${experienceId}`\n\t\t: `canvasScreenTitles_${new Date().getTime()}`; //make it almost impossible to use sessionStorage without experienceId\n\nexport async function getStoredScreenTitles(userId, experienceId) {\n\tif (!experienceId) return;\n\t//let tabsData = getInitialTabsData();\n\tlet screenTitles;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedScreenTitles = await getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey(experienceId));\n\t\tif (\n\t\t\tstoredScreenTitles &&\n\t\t\tstoredScreenTitles.userId === userId &&\n\t\t\tstoredScreenTitles.experienceId === experienceId &&\n\t\t\tstoredScreenTitles.screenTitles\n\t\t) {\n\t\t\t({userId, experienceId, screenTitles} = storedScreenTitles);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored ScreenTitles\n\t}\n\treturn screenTitles;\n}\n\nexport async function saveScreenTitles(screenTitles, userId, experienceId) {\n\tif (!experienceId) return;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(experienceId),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\texperienceId,\n\t\t\t\t\tscreenTitles\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function clearScreenTitles(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey(experienceId));\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import {isEmpty, isEqual} from 'lodash';\nimport {\n\tCANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED,\n\tCANVAS_COMPONENT_CONNECTED,\n} from '../constants/constants';\nimport {clearScreenTitles, getStoredScreenTitles, saveScreenTitles} from './sn-canvas-layout.storage';\nimport {actionTypes} from '@servicenow/ui-core';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: async ({\n\t\t\t\t\t\t\t\t\t\t\t action: {payload},\n\t\t\t\t\t\t\t\t\t\t\t properties,\n\t\t\t\t\t\t\t\t\t\t\t dispatch,\n\t\t\t\t\t\t\t\t\t\t\t updateProperties\n\t\t\t\t\t\t\t\t\t\t }) => {\n\t\tconst {name, previousValue, value} = payload;\n\t\tif (name === 'experienceChromeSettings') {\n\t\t\tif (!isEqual(previousValue, value))\n\t\t\t\tdispatch(CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED, {\n\t\t\t\t\texperienceChromeSettings: value\n\t\t\t\t});\n\t\t}\n\n\t\tif (name === 'experienceId') {\n\t\t\tconst {userId, experienceId} = properties;\n\t\t\tif (userId && experienceId) {\n\t\t\t\tconst screenTitles =\n\t\t\t\t\tawait getStoredScreenTitles(userId, experienceId) || {};\n\n\t\t\t\tupdateProperties({screenTitles});\n\t\t\t\tawait clearScreenTitles(experienceId); //remove sessionStorage screenTitles data once read.\n\t\t\t}\n\t\t}\n\t},\n\n\t[COMPONENT_CONNECTED]: async ({\n\t\t\t\t\t\t\t\t\t  host,\n\t\t\t\t\t\t\t\t\t  action,\n\t\t\t\t\t\t\t\t\t  dispatch,\n\t\t\t\t\t\t\t\t\t  properties,\n\t\t\t\t\t\t\t\t\t  updateProperties\n\t\t\t\t\t\t\t\t  }) => {\n\t\tconst {experienceChromeSettings, userId, experienceId} = properties;\n\t\tdispatch(CANVAS_COMPONENT_CONNECTED, action.payload);\n\t\tdispatch(CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED, {\n\t\t\texperienceChromeSettings\n\t\t});\n\n\t\tif (userId && experienceId) {\n\t\t\tconst screenTitles = await getStoredScreenTitles(userId, experienceId) || {};\n\t\t\tupdateProperties({screenTitles});\n\t\t\tawait clearScreenTitles(experienceId); //remove sessionStorage screenTitles data once read.\n\t\t}\n\n\t\tconst layoutUnloadHandler = async () => {\n\t\t\tif (host && host.getResolvedProperties) {\n\t\t\t\tconst _screenTitles = host.getResolvedProperties()['screenTitles'];\n\t\t\t\tconst _experienceId = host.getResolvedProperties()['experienceId'];\n\t\t\t\tawait saveScreenTitles(_screenTitles, userId, _experienceId);\n\t\t\t}\n\t\t\twindow.removeEventListener('beforeunload', layoutUnloadHandler);\n\t\t};\n\t\twindow.addEventListener('beforeunload', layoutUnloadHandler);\n\t},\n\t[COMPONENT_DISCONNECTED]: async ({properties}) => {\n\t\tconst {screenTitles, userId, experienceId} = properties;\n\n\t\tif (!isEmpty(screenTitles) && userId && experienceId)\n\t\t\tawait saveScreenTitles(screenTitles, userId, experienceId);\n\t}\n}\n\nexport default actionHandlers;\n","import {\n\tHOISTED_CONTENT_SCREEN_UPDATED,\n\tHOISTED_CONTENT_SOURCE_RENDERED,\n} from '../constants/constants';\nimport {\n\thoistedContentScreenUpdatedEffectHandler,\n\thoistedContentSourceRenderedEffectHandler,\n} from './effects/hoistedContentEffectHandlers';\n\n/**\n * Action handlers for the utility panel\n * @type {{[HOISTED_CONTENT_SOURCE_RENDERED]: hoistedContentSourceRenderedEffectHandler, [HOISTED_CONTENT_SCREEN_UPDATED]: hoistedContentScreenUpdatedEffectHandler}}\n */\nconst actionHandlers = {\n\t[HOISTED_CONTENT_SOURCE_RENDERED]:\n\t\thoistedContentSourceRenderedEffectHandler,\n\t[HOISTED_CONTENT_SCREEN_UPDATED]: hoistedContentScreenUpdatedEffectHandler,\n};\n\nexport default actionHandlers;\n","import { HOISTED_CONTENT_UPDATED } from '../../constants/constants';\n\n/**\n * @description This event is only handled for Session Tabs. It is used to update the hoisted content configuration for the AppShell.\n * The AppShell needs to be aware when a hoisted source content is rendered. Will need to update the hoisted content configuration in layout, ux_globals, and dispatch the HOISTED_CONTENT_UPDATED event.\n * @param {object} action - action from the coeffects\n * @param {properties} properties - the properties object the coeffects\n * @param {function} updateProperties - update properties function from the coeffects\n * @param {function} dispatch - the dispatch function from the coeffects\n */\nexport const hoistedContentSourceRenderedEffectHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n}) => {\n\tconst { componentId, activeHoistedContent, isHoistedContentHidden } =\n\t\taction.payload;\n\tconst hoistedContentConfigurationUxGlobals =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\tconst currentHoistedContent =\n\t\thoistedContentConfigurationUxGlobals[componentId] || {};\n\tconst {\n\t\tactiveHoistedContent: currentActiveHoistedContent,\n\t\tisHidden: currentIsHidden,\n\t} = currentHoistedContent; //the current value from ux_globals\n\tconst { hoistedContentConfiguration } = properties;\n\tconst {\n\t\tactiveHoistedContent: propsActiveHoistedContent,\n\t\tisHidden: propsIsHidden,\n\t} = hoistedContentConfiguration; //the value from the properties\n\n\tconst shouldUpdate =\n\t\tcurrentActiveHoistedContent !== propsActiveHoistedContent ||\n\t\tcurrentIsHidden !== !!propsIsHidden; //if the current value from ux_globals is different from the value in the properties\n\n\t//assign the correct value to the newHoistedContentConfiguration\n\tconst newHoistedContentConfiguration =\n\t\tObject.keys(currentHoistedContent).length > 0\n\t\t\t? {\n\t\t\t\t\t//if the current value from ux_globals is not empty, then assign the current value to the newHoistedContentConfiguration\n\t\t\t\t\tactiveHoistedContent: currentActiveHoistedContent\n\t\t\t\t\t\t? currentActiveHoistedContent\n\t\t\t\t\t\t: null,\n\t\t\t\t\tisHidden:\n\t\t\t\t\t\tcurrentIsHidden !== null ? !!currentIsHidden : null,\n\t\t\t\t\thasHoistedContent: !!currentActiveHoistedContent,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\t//if the current value from ux_globals is empty, then assign the new value from the payload\n\t\t\t\t\tactiveHoistedContent: activeHoistedContent\n\t\t\t\t\t\t? activeHoistedContent\n\t\t\t\t\t\t: null,\n\t\t\t\t\tisHidden:\n\t\t\t\t\t\tisHoistedContentHidden !== null\n\t\t\t\t\t\t\t? isHoistedContentHidden\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\thasHoistedContent: !!activeHoistedContent,\n\t\t\t\t};\n\n\tconst passiveNavigation = properties?.selectedContent?.passiveNavigation;\n\n\tif (Object.keys(currentHoistedContent).length === 0) {\n\t\twindow.ux_globals.__hoistedContentConfiguration = {\n\t\t\t...hoistedContentConfigurationUxGlobals,\n\t\t\t[componentId]: newHoistedContentConfiguration,\n\t\t};\n\t}\n\tif (passiveNavigation) {\n\t\treturn;\n\t}\n\tif (shouldUpdate || Object.keys(currentHoistedContent).length === 0) {\n\t\tupdateProperties({\n\t\t\thoistedContentConfiguration: newHoistedContentConfiguration,\n\t\t});\n\t\tdispatch(HOISTED_CONTENT_UPDATED, newHoistedContentConfiguration);\n\t}\n};\n\n/**\n * @description This effect is used to update the hoisted content configuration for the AppShell. This effect is used to handle the hoisted content configuration when the screen is updated.\n * Either on a screen direct load or on a screen switch click through.\n * @param action\n * @param properties\n * @param updateProperties\n * @param dispatch\n */\nexport const hoistedContentScreenUpdatedEffectHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n}) => {\n\tconst { hoistedContentConfiguration, parentScreenKey, screenData } =\n\t\taction.payload;\n\tconst { hoistedContentConfiguration: propsHoistedContentConfiguration } =\n\t\tproperties;\n\tconst {\n\t\tactiveHoistedContent: propsActiveHoistedContent,\n\t\tisHidden: propsIsHidden,\n\t} = propsHoistedContentConfiguration;\n\tconst hoistedContentConfigurationUxGlobals =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\tif (Object.keys(hoistedContentConfigurationUxGlobals).length === 0) {\n\t\t// special case for when the screen direct loads and the hasHoistedContent is true\n\t\tif (hoistedContentConfiguration?.hasHoistedContent) {\n\t\t\tupdateProperties({ hoistedContentConfiguration });\n\t\t\tdispatch(HOISTED_CONTENT_UPDATED, hoistedContentConfiguration);\n\t\t}\n\t\treturn;\n\t}\n\tif (screenData?.passiveNavigation) return;\n\tlet foundHoistedContent = false;\n\tfor (const content in hoistedContentConfigurationUxGlobals) {\n\t\tif (\n\t\t\thoistedContentConfigurationUxGlobals[content]\n\t\t\t\t?.activeHoistedContent === parentScreenKey\n\t\t) {\n\t\t\tconst currentHoistedContent =\n\t\t\t\thoistedContentConfigurationUxGlobals[content];\n\t\t\tconst {\n\t\t\t\tactiveHoistedContent: currentActiveHoistedContent,\n\t\t\t\tisHidden: currentIsHidden,\n\t\t\t} = currentHoistedContent;\n\n\t\t\tconst shouldUpdate =\n\t\t\t\tcurrentActiveHoistedContent !== propsActiveHoistedContent ||\n\t\t\t\t!!currentIsHidden !== !!propsIsHidden;\n\n\t\t\tif (Object.keys(currentHoistedContent).length > 0 && shouldUpdate) {\n\t\t\t\tlet hoistedContentConfigurationParent = {\n\t\t\t\t\t...hoistedContentConfiguration,\n\t\t\t\t\thasHoistedContent: true,\n\t\t\t\t};\n\t\t\t\tupdateProperties({\n\t\t\t\t\thoistedContentConfiguration:\n\t\t\t\t\t\thoistedContentConfigurationParent,\n\t\t\t\t});\n\t\t\t\tdispatch(\n\t\t\t\t\tHOISTED_CONTENT_UPDATED,\n\t\t\t\t\thoistedContentConfigurationParent,\n\t\t\t\t);\n\t\t\t}\n\t\t\tfoundHoistedContent = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!foundHoistedContent) {\n\t\tif (\n\t\t\thoistedContentConfiguration.activeHoistedContent !==\n\t\t\t\tpropsActiveHoistedContent ||\n\t\t\t!!hoistedContentConfiguration.isHidden !== !!propsIsHidden\n\t\t) {\n\t\t\tupdateProperties({ hoistedContentConfiguration });\n\t\t\tdispatch(HOISTED_CONTENT_UPDATED, hoistedContentConfiguration);\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-layout.scss';\nimport { SN_CANVAS_LAYOUT } from '../constants/constants';\nimport { sessionExtensionBehavior } from '../utils/behaviors/sessionExtension.behaviors';\nimport screenStatusActionHandlers from './sn-canvas-layout.effects.screen-status';\nimport activityLogActionHandlers from './sn-canvas-layout.effects.activity-log';\nimport navigationActionHandlers from './sn-canvas-layout.effects.navigation';\nimport componentActionHandlers from './sn-canvas-layout.effects.component';\nimport hoistedContentActionHandlers from './sn-canvas-layout.effects.utility-panel';\nimport { tooltipPreviewSchema } from './schemas';\nimport {\n\tNOW_CONFIRM_MODAL_CLEAR,\n\tNOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED,\n\tNOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED,\n} from './constants/constants';\nimport { DESTINATION_URL } from './utils/browser';\nimport { NOW_LOGIN_SUCCESS } from '../constants/constants';\nimport { getSessionPing } from '../utils/get-session-ping';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst sessionPing = getSessionPing();\n\nconst behaviors = [renderSkipBehavior];\n\n// If sessionPing is 0 then the client has turned the feature off\nif (sessionPing > 0) {\n\tbehaviors.push(sessionExtensionBehavior);\n}\n\ncreateCustomElement(SN_CANVAS_LAYOUT, {\n\ttype: snabbdom,\n\t// eslint-disable-next-line react/display-name\n\tview: () => <slot />,\n\tstyles,\n\tproperties: {\n\t\t//ActivityLog requires selectedContent\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t// The id of the currently selected screen\n\t\tactiveScreenId: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceChromeSettings: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tcanvasSession: {\n\t\t\tselectable: true,\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tlinkToCurrentScreenConfiguration: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t// Holds the most recent screen status update\n\t\tscreenStatus: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t// Current Screen ID\n\t\t\t\t\tscreenKey: { type: 'string' },\n\t\t\t\t\tdirtyModalId: { type: 'string' },\n\t\t\t\t\t// Icon to display on the tab\n\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t// Current tab status\n\t\t\t\t\tisDirty: { type: 'boolean' },\n\t\t\t\t\thasError: { type: 'boolean' },\n\t\t\t\t\thasUpdate: { type: 'boolean' },\n\t\t\t\t\t// Display value of the tab\n\t\t\t\t\ttitle: { type: 'string' },\n\t\t\t\t\t// Close message to appear when closing a dirty tab\n\t\t\t\t\tmessage: { type: 'string' },\n\t\t\t\t\t// Items to display in a single tab popover\n\t\t\t\t\ttooltipPreview: { type: tooltipPreviewSchema },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tactivityLogs: {\n\t\t\tdefault: new Map(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tclosedNavigationIds: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tscreenCloseConfirmation: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreenTitles: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\thoistedContentConfiguration: {\n\t\t\tdefault: {\n\t\t\t\tactiveHoistedContent: null,\n\t\t\t\tisHidden: null,\n\t\t\t\thasHoistedContent: null,\n\t\t\t},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t// Current Screen ID of the active hoisted content\n\t\t\t\t\tactiveHoistedContent: { type: 'string' },\n\t\t\t\t\tisHidden: { type: 'boolean' },\n\t\t\t\t\thasHoistedContent: { type: 'boolean' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...screenStatusActionHandlers,\n\t\t...activityLogActionHandlers,\n\t\t...navigationActionHandlers,\n\t\t...componentActionHandlers,\n\t\t...hoistedContentActionHandlers,\n\n\t\t[NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: 'true' });\n\t\t},\n\t\t[NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: 'false' });\n\t\t},\n\t\t[NOW_CONFIRM_MODAL_CLEAR]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: '' });\n\t\t},\n\t\t[NOW_LOGIN_SUCCESS]: () => {\n\t\t\tif (DESTINATION_URL) window.location.href = DESTINATION_URL;\n\t\t\t// there is no default login landing page, just reload the page we're on\n\t\t\telse window.location.reload();\n\t\t},\n\t},\n\tbehaviors,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isNil, isEqual } from '@devsnc/snowdash';\nimport { SCREEN_STATUS_CHANGED, MODAL_SELECTED } from '../constants/constants';\n\nclass EventScheduler {\n\tconstructor(dispatch) {\n\t\tthis.dispatchFn = dispatch;\n\t\tthis.eventQueue = [];\n\t\tthis.scheduler = null;\n\t}\n\tstart() {\n\t\tconst job = () => {\n\t\t\tif (this.eventQueue.length === 0) {\n\t\t\t\tif (this.scheduler) {\n\t\t\t\t\tclearInterval(this.scheduler);\n\t\t\t\t\tthis.scheduler = null;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst actionObj = this.dequeueEvent();\n\t\t\tconst { type, payload, meta } = actionObj;\n\t\t\tthis.dispatchFn(type, payload, { ...meta, canvasRedispatch: true });\n\t\t};\n\n\t\tthis.scheduler = setInterval(job, 25);\n\t}\n\tschedule(action) {\n\t\tthis.addEvent(action);\n\t}\n\taddEvent(action) {\n\t\tthis.eventQueue.push({ ...action });\n\t}\n\tdequeueEvent() {\n\t\treturn this.eventQueue.shift();\n\t}\n}\n\nconst eventSchedulerMap = {};\n\nconst mainActionInterceptor = ({ host, action }) => {\n\tif (!host || !action) return;\n\tif (action.meta.canvasRedispatch === true) return;\n\tlet eventScheduler = eventSchedulerMap[host.componentId];\n\tif (!eventScheduler) {\n\t\teventScheduler = new EventScheduler(host.dispatch);\n\t\teventSchedulerMap[host.componentId] = eventScheduler;\n\t}\n\n\tif (eventScheduler.scheduler) {\n\t\taction && action.stopPropagation && action.stopPropagation();\n\t\teventScheduler.schedule(action);\n\t} else {\n\t\teventScheduler.start();\n\t}\n};\n\n/**\n * Callback function that is passed to `dirtyStateSubscriberBehavior`\n * to update `hasDirtyDescendant` property.\n *\n * @param {CallbackFnAgruments} params - See\n * uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js#L6C13-L6C32\n * @param {boolean} params.isDirty - The updated dirty state\n * @param {subscriberUpdatePropertiesFn} - Coeffects `updateProperties` method passed to DSM\n * during registeration.\n */\nexport const handleDirtyStateCallbackFn = function (params) {\n\tconst { isDirty, subscriberUpdatePropertiesFn } = params;\n\tsubscriberUpdatePropertiesFn({\n\t\thasDirtyDescendant: isDirty,\n\t});\n};\n\nconst actionHandlers = {\n\t[SCREEN_STATUS_CHANGED]: ({ action, updateProperties }) => {\n\t\tupdateProperties(({ properties: { screensData } }) => {\n\t\t\tconst {\n\t\t\t\tpayload: { screenKey, isDirty, title },\n\t\t\t} = action;\n\t\t\tconst isDirtyObject = isNil(isDirty)\n\t\t\t\t? {}\n\t\t\t\t: { isDirty: Boolean(isDirty) };\n\t\t\tconst newScreensData = { ...screensData };\n\t\t\tif (newScreensData[screenKey]) {\n\t\t\t\tnewScreensData[screenKey] = {\n\t\t\t\t\t...newScreensData[screenKey],\n\t\t\t\t\t...isDirtyObject,\n\t\t\t\t\ttitle,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (!isEqual(screensData, newScreensData)) {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\tvalue: newScreensData,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tshouldUpdate: false,\n\t\t\t};\n\t\t});\n\t},\n\t[MODAL_SELECTED]: mainActionInterceptor,\n};\nexport { actionHandlers };\n","import {\n\tDIALOG_CLOSE_REQUESTED,\n\tDIALOG_CLOSE_CANCELED,\n\tDIALOG_CLOSE_CONFIRMED,\n\tDIALOG_MODAL_OPENED_SET,\n} from '../constants/constants';\nimport { deepSearchElement } from 'sn-canvas-common';\n\nconst actionHandlers = {\n\t[DIALOG_CLOSE_REQUESTED]: ({ action, updateProperties }) => {\n\t\tconst { sourceElementId, instanceId, compositionId } = action.payload;\n\t\tconst {\n\t\t\tmeta: { uxfMeta },\n\t\t} = action;\n\t\tupdateProperties({\n\t\t\tshowDialogModal: true,\n\t\t\tdialogId: instanceId,\n\t\t\tcompositionId: compositionId,\n\t\t\tsourceElementId: sourceElementId,\n\t\t\tpropagatedMetaFromDialogCloseRequested: uxfMeta,\n\t\t});\n\t},\n\t[DIALOG_CLOSE_CANCELED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tshowDialogModal: false,\n\t\t\tdialogId: null,\n\t\t\tcompositionId: null,\n\t\t\tsourceElementId: null,\n\t\t\tpropagatedMetaFromDialogCloseRequested: {},\n\t\t});\n\t},\n\t[DIALOG_CLOSE_CONFIRMED]: ({ host, properties, updateProperties }) => {\n\t\tconst {\n\t\t\tsourceElementId,\n\t\t\tdialogId,\n\t\t\tpropagatedMetaFromDialogCloseRequested,\n\t\t} = properties;\n\n\t\t//Find the controller\n\t\tconst controller = deepSearchElement(\n\t\t\t`[component-id=\"${sourceElementId}\"]`,\n\t\t\thost,\n\t\t);\n\t\tcontroller.dispatch(\n\t\t\t'UXF#CLOSE_DIALOG',\n\t\t\t{\n\t\t\t\tinstanceId: dialogId,\n\t\t\t\tcloseMandate: true,\n\t\t\t\tcloseConfirm: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tuxfMeta: {\n\t\t\t\t\t...propagatedMetaFromDialogCloseRequested,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tupdateProperties({\n\t\t\tshowDialogModal: false,\n\t\t\tdialogId: null,\n\t\t\tcompositionId: null,\n\t\t\tsourceElement: null,\n\t\t\tpropagatedMetaFromDialogCloseRequested: {},\n\t\t});\n\t},\n\t[DIALOG_MODAL_OPENED_SET]: ({ host }) => {\n\t\thost.dispatch(DIALOG_CLOSE_CANCELED);\n\t},\n};\n\nexport default actionHandlers;\n","import isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\n/** GlobalUnloadistener generically handles browser \"beforeunload\" events by deferring to callbacks registered by other objects.\n * GlobalUnloadListener allows any number of components to register a callback function that is executed when the browser posts \"beforeUnload\".\n * The callback function is expected to return true if the component wants the user to be prompted before navigating away from the page.\n * All registered functions will be called, regardless of the return value of any other registered callback.\n * If any callback returns true, then the handler returns true to the browser and requests confirmation.\n * A given id can only have a single callback, not a list of callbacks.\n **/\n\nlet _globalUnloadFunctions = {};\n\nfunction runFuncs(e) {\n\tconst functionList = Object.values(_globalUnloadFunctions);\n\tlet isDirty = false;\n\tlet i;\n\tfor (i = 0; i < functionList.length; i++) {\n\t\t// call each function, but isDirty will be true if any of the functions return true\n\t\tisDirty = functionList[i](e) || isDirty;\n\t}\n\n\t// Still call each function in case some work is done in them, but ignore isDirty result if running in ATF client test runner\n\tif (window?.frameElement?.id === 'testFrame') {\n\t\tconsole.log(\n\t\t\t'Ignoring dirty form b/c execution context is in ATF client test runner',\n\t\t);\n\t\tisDirty = false;\n\t}\n\n\treturn defaultOnUnload(e, isDirty);\n}\n\nexport function defaultOnUnload(e, isDirty) {\n\tif (!isDirty) return null;\n\n\t// The customized display text is for IE11.\n\t// Currently, other major browsers (Chrome, FireFox, Safari) don't support customized display text on their latest versions.\n\tconst retVal = t('Navigating away will lose unsaved data.');\n\t(e || window.event).returnValue = retVal;\n\t(e || window.event).preventDefault(); // some older web browsers require this\n\treturn retVal;\n}\n\nconst GlobalUnloadistener = {\n\tadd(id, fn) {\n\t\tif (window && isEmpty(_globalUnloadFunctions)) {\n\t\t\twindow.addEventListener('beforeunload', runFuncs);\n\t\t}\n\t\t_globalUnloadFunctions[id] = fn;\n\t},\n\n\tremove(id) {\n\t\tif (_globalUnloadFunctions[id]) {\n\t\t\tdelete _globalUnloadFunctions[id];\n\t\t\tif (isEmpty(_globalUnloadFunctions)) {\n\t\t\t\twindow.removeEventListener('beforeunload', runFuncs);\n\t\t\t}\n\t\t}\n\t},\n};\n\nObject.freeze(GlobalUnloadistener);\nexport default GlobalUnloadistener;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"whenScreenMacroponentIdleDuringPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleDuringPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t}, [\"whenScreenMacroponentIdleOnEachPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleOnEachPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleOnEachPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleOnEachPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleOnEachPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleOnEachPageLoad;\n\t\t\t\t} });","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport find from 'lodash/find';\n\nimport {\n\tgetScreenKey,\n\tareFieldsValid,\n\tgetPrimaryExperienceRoutes,\n\tgetHasRouteConditionScript,\n\tgetResolvedScreenFromAppliedPageFragment,\n\tgenerateHydrationKey,\n\tupdateScreenContentWhenParentPresent,\n} from './sn-canvas-screens.util';\nimport { ROUTE_CONFIG } from '../../constants/constants';\nimport { isScreenPreview } from '../../utils/isScreenPreview';\nimport globalUxfObject from '@devsnc/library-uxf';\n\nconst EVALUATION_CACHE = {};\n\nconst { getHydratedScreen } = globalUxfObject['earlyEval'];\n\nexport const EVALUATORS = {\n\t//logical\n\tAND: {\n\t\top: 'AND',\n\t\tsymbol: '^',\n\t\tevaluator: (a, b) => a && b,\n\t},\n\tOR: {\n\t\top: 'OR',\n\t\tsymbol: '^OR',\n\t\tevaluator: (a, b) => a || b,\n\t},\n\t//comparison\n\tEQUALS: {\n\t\top: 'EQUALS',\n\t\tsymbol: '=',\n\t\tevaluator: (a, b) => a === b,\n\t},\n\tNOTEQUALS: {\n\t\top: 'NOTEQUALS',\n\t\tsymbol: '!=',\n\t\tevaluator: (a, b) => a !== b,\n\t},\n\tSTARTSWITH: {\n\t\top: 'STARTSWITH',\n\t\tsymbol: 'STARTSWITH',\n\t\tevaluator: (a, b) => a.startsWith(b),\n\t},\n};\n\nexport const parseCondition = (conditionStr) => {\n\tif (!conditionStr) return [];\n\n\tlet i = 0;\n\tlet r = '';\n\n\tconst conditionArr = [];\n\n\tlet conditionObj = {};\n\twhile (i < conditionStr.length) {\n\t\tconst c = conditionStr[i];\n\t\tif (c === '^' || i === conditionStr.length - 1) {\n\t\t\tconditionObj['r'] = i === conditionStr.length - 1 ? r + c : r;\n\t\t\tlet logical_operator =\n\t\t\t\ti + 3 < conditionStr.length &&\n\t\t\t\tconditionStr.substring(i, i + 3) === '^OR'\n\t\t\t\t\t? 'OR'\n\t\t\t\t\t: 'AND';\n\t\t\tconditionObj['logical_op'] =\n\t\t\t\ti === conditionStr.length - 1 ? '' : logical_operator;\n\t\t\tif (logical_operator === 'OR') i = i + 2;\n\t\t\tconditionArr.push({ ...conditionObj });\n\t\t\tconditionObj = {};\n\t\t\tr = '';\n\t\t} else if (c === '=') {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'EQUALS';\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc === '!' &&\n\t\t\ti + 1 < conditionStr.length &&\n\t\t\tconditionStr[i + 1] === '='\n\t\t) {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'NOTEQUALS';\n\t\t\ti++;\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc === 'S' &&\n\t\t\tconditionStr.substring(\n\t\t\t\ti,\n\t\t\t\ti + Math.min('STARTSWITH'.length, conditionStr.length - i),\n\t\t\t) === 'STARTSWITH'\n\t\t) {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'STARTSWITH';\n\t\t\ti += 'STARTSWITH'.length - 1;\n\t\t\tr = '';\n\t\t} else {\n\t\t\tr = r + c;\n\t\t}\n\n\t\ti++;\n\t}\n\treturn conditionArr;\n};\n\nexport const resolvePreviewScreen = (selectedContent, macroponents) => {\n\tconst {\n\t\tmode,\n\t\tscreen,\n\t\tsysparm_live_preview: withLivePreview,\n\t\tsysparm_screen_sys_id: livePreviewScreenSysId,\n\t} = get(selectedContent, ['queryString'], {});\n\tlet resolvedMacroponent = null;\n\tif (mode === 'preview' && !isEmpty(screen)) {\n\t\tresolvedMacroponent = find(\n\t\t\tmacroponents,\n\t\t\t(mcp) => mcp.viewportConfigurationId === screen,\n\t\t);\n\t} else if (\n\t\twithLivePreview !== undefined &&\n\t\t!isEmpty(livePreviewScreenSysId)\n\t) {\n\t\tresolvedMacroponent = find(\n\t\t\tmacroponents,\n\t\t\t(mcp) => mcp.viewportConfigurationId === livePreviewScreenSysId,\n\t\t);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error, resolving the preview screen');\n\t}\n\treturn resolvedMacroponent;\n};\n\nexport const evaluateCondition = (parsedCondition, selectedContent) => {\n\tif (isEmpty(selectedContent) || isEmpty(parsedCondition)) return false;\n\tlet result = false;\n\tlet logical_op;\n\tconst { fields = {} } = selectedContent;\n\tfor (let i = 0; i < parsedCondition.length; i++) {\n\t\tconst obj = parsedCondition[i];\n\t\tlet _result = EVALUATORS[obj['op']].evaluator(\n\t\t\tfields[obj['l']],\n\t\t\tobj['r'],\n\t\t);\n\n\t\tif (logical_op == null) result = _result;\n\t\telse result = EVALUATORS[logical_op].evaluator(result, _result);\n\n\t\tlogical_op = obj['logical_op'];\n\n\t\tif (logical_op === '') return result;\n\t}\n\treturn result;\n};\n\nexport const preParseConditions = (macroponents) => {\n\tif (!Array.isArray(macroponents)) return;\n\tconst _macroponents = macroponents.slice();\n\t_macroponents.forEach((obj, i) => {\n\t\t_macroponents[i]['parsedCondition'] = parseCondition(\n\t\t\t_macroponents[i]['condition'],\n\t\t);\n\t});\n\treturn _macroponents;\n};\n\nconst getResolvedScreenFromMatchingInteropRoutes = async (\n\tinteropRouteToScreenMap,\n\tselectedContent,\n\troute,\n\tfields,\n\tserverResolvedScreenId,\n\tgetResolvedScreen,\n\tinteropRouteType,\n) => {\n\t// get interopRoutes with same route (eg: /record) and same fields length\n\tconst interopRoutes = get(\n\t\tinteropRouteToScreenMap,\n\t\t`${route}[${Object.keys(fields).length}]`,\n\t\t[],\n\t);\n\n\tif (!interopRoutes) return;\n\n\tlet resolvedScreen;\n\n\t// this collection is already sorted by order at the server.\n\tfor (const interopRoute of interopRoutes) {\n\t\tconst { parsedInteropCondition } = interopRoute;\n\t\tif (\n\t\t\tisEmpty(interopRoute.interoperableCondition) ||\n\t\t\tevaluateCondition(parsedInteropCondition, selectedContent) === true\n\t\t) {\n\t\t\tconst {\n\t\t\t\tmacroponents: interopMacroponents,\n\t\t\t\tscreenType,\n\t\t\t\tname: title,\n\t\t\t\tappConfigId,\n\t\t\t\tinteroperableRouteSysId,\n\t\t\t} = interopRoute;\n\t\t\tresolvedScreen = await getResolvedScreen(\n\t\t\t\tinteropMacroponents,\n\t\t\t\tscreenType,\n\t\t\t\ttitle,\n\t\t\t\tserverResolvedScreenId,\n\t\t\t\tinteropRouteType,\n\t\t\t\tinteroperableRouteSysId,\n\t\t\t\tappConfigId,\n\t\t\t);\n\t\t\tif (resolvedScreen) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn resolvedScreen;\n};\n\nconst getFallbackScreens = (routeToScreenMap, route, fields) => {\n\tlet macroponents;\n\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst AUTH_ROUTES = get(window, ROUTE_CONFIG_OBJ?.AUTH_ROUTES, {});\n\tconst ROUTES = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst FORWARDED_ROUTES = get(\n\t\twindow,\n\t\tROUTE_CONFIG_OBJ?.FORWARDED_ROUTES,\n\t\t{},\n\t);\n\n\tlet errorCode = 404;\n\n\tif (Object.prototype.hasOwnProperty.call(FORWARDED_ROUTES, route))\n\t\terrorCode = 403;\n\n\tlet customAuthRoute = get(AUTH_ROUTES, `custom${errorCode}`, null);\n\tif (!customAuthRoute) return;\n\tconst primaryExpRoutes = getPrimaryExperienceRoutes();\n\tif (primaryExpRoutes[customAuthRoute]) {\n\t\tconst routeObj = primaryExpRoutes[customAuthRoute].filter(\n\t\t\t(route) => route.fields.length === Object.keys(fields).length,\n\t\t)[0];\n\t\tmacroponents = get(routeObj, 'macroponents', {});\n\t} else if (routeToScreenMap[customAuthRoute]) {\n\t\tlet customAuthRouteFields = get(ROUTES, customAuthRoute)[0].fields;\n\t\tlet fieldsLen = customAuthRouteFields.length;\n\t\tconst routeObj = get(\n\t\t\trouteToScreenMap,\n\t\t\t`${customAuthRoute}[${fieldsLen}]`,\n\t\t\t{},\n\t\t);\n\t\tmacroponents = get(routeObj, 'macroponents', {});\n\t}\n\treturn macroponents;\n};\n\nexport const getScreen = async (\n\tselectedContent = {},\n\trouteToScreenMap,\n\trouteToScreenMapInterop,\n\trouteToScreenMapDependent,\n\texperienceId,\n\tuxrInteractionId,\n) => {\n\tif (isEmpty(selectedContent)) return;\n\tlet { route, fields = {}, context, params = {} } = selectedContent;\n\tif (!fields) fields = {};\n\tlet screenKey = getScreenKey(selectedContent);\n\tlet parentScreenKey;\n\tif (selectedContent?.parent) {\n\t\tparentScreenKey = getScreenKey(selectedContent.parent);\n\t}\n\tconst hydrationKey = generateHydrationKey();\n\tconst path = context?.path;\n\tconst hydrateContext = {\n\t\tpath,\n\t\tfields: { ...fields },\n\t\troute,\n\t\tparams,\n\t\thydrationKey,\n\t\tuxrInteractionId,\n\t\tscreenKey,\n\t};\n\tif (parentScreenKey) {\n\t\thydrateContext.fields.parent = { ...selectedContent.parent };\n\t}\n\n\tif (context && path)\n\t\t//create a unique key with subpage~parent combo\n\t\tscreenKey = parentScreenKey\n\t\t\t? `${path}~${screenKey}~${parentScreenKey}`\n\t\t\t: `${path}~${screenKey}`;\n\n\tconst cachedMacroponent = EVALUATION_CACHE[screenKey];\n\tif (cachedMacroponent) {\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tscreenType,\n\t\t\tisInterop = false,\n\t\t\tappConfigId = '',\n\t\t\tinteroperableRouteSysId = '',\n\t\t} = cachedMacroponent;\n\t\tconst serverResolvedScreenId = getResolvedScreenFromAppliedPageFragment(\n\t\t\tselectedContent,\n\t\t\tpath,\n\t\t\troute,\n\t\t\trouteToScreenMap,\n\t\t\trouteToScreenMapInterop,\n\t\t\trouteToScreenMapDependent,\n\t\t);\n\t\tif (serverResolvedScreenId !== macroponentSysId)\n\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t...hydrateContext,\n\t\t\t\tisInterop,\n\t\t\t\tinteroperableRouteSysId,\n\t\t\t});\n\t\treturn { ...cachedMacroponent, hydrateContext, isInterop, appConfigId };\n\t}\n\n\tif (\n\t\tisEmpty(routeToScreenMap) &&\n\t\tisEmpty(routeToScreenMapInterop) &&\n\t\tisEmpty(routeToScreenMapDependent)\n\t)\n\t\treturn;\n\n\tasync function getResolvedScreen(\n\t\tmacroponents,\n\t\tscreenType,\n\t\ttitle,\n\t\tserverResolvedScreenId,\n\t\trouteType,\n\t\tinteroperableRouteSysId = '',\n\t\tappConfigId = '',\n\t) {\n\t\tlet defaultMacroponent = null;\n\t\tlet isInterop = routeType == 'route' ? false : true;\n\t\tif (Array.isArray(macroponents)) {\n\t\t\t// if queryString found in selectedContent,\n\t\t\t// Extract query string params mode=preview&screen=screen_sys_id\n\t\t\t// resolve the screen from queryString\n\t\t\tif (isScreenPreview(selectedContent)) {\n\t\t\t\treturn resolvePreviewScreen(selectedContent, macroponents);\n\t\t\t}\n\n\t\t\tif (serverResolvedScreenId) {\n\t\t\t\tconst resolvedMacroponent = macroponents.find(\n\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\tmacroponent.macroponentSysId === serverResolvedScreenId,\n\t\t\t\t);\n\t\t\t\tif (!resolvedMacroponent && isInterop) return;\n\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t...resolvedMacroponent,\n\t\t\t\t\tscreenType,\n\t\t\t\t\tisInterop,\n\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...resolvedMacroponent,\n\t\t\t\t\ttitle,\n\t\t\t\t\tscreenType,\n\t\t\t\t\tisInterop,\n\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst hasRouteConditionScript = getHasRouteConditionScript(\n\t\t\t\tpath,\n\t\t\t\troute,\n\t\t\t\trouteType,\n\t\t\t);\n\t\t\tif (hasRouteConditionScript) {\n\t\t\t\t//call hydrate\n\t\t\t\t//need to await the response for Hydrated screen\n\t\t\t\tif (!window.__uxf_get_screen_id)\n\t\t\t\t\twindow.__uxf_get_screen_id = {};\n\t\t\t\tif (!window.__uxf_resolve_screen_id)\n\t\t\t\t\twindow.__uxf_resolve_screen_id = {};\n\t\t\t\twindow.__uxf_get_screen_id[hydrationKey] = new Promise(\n\t\t\t\t\t(resolve) => {\n\t\t\t\t\t\twindow.__uxf_resolve_screen_id[hydrationKey] = resolve;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t...hydrateContext,\n\t\t\t\t\tisInterop,\n\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t});\n\t\t\t\tlet resolvedMacroponentSysId =\n\t\t\t\t\tawait window.__uxf_get_screen_id[hydrationKey];\n\t\t\t\tlet parentMacroponentSysId = null;\n\t\t\t\tif (resolvedMacroponentSysId.includes('~')) {\n\t\t\t\t\t[resolvedMacroponentSysId, parentMacroponentSysId] =\n\t\t\t\t\t\tresolvedMacroponentSysId.split('~');\n\t\t\t\t}\n\n\t\t\t\tif (!resolvedMacroponentSysId && isInterop) return;\n\n\t\t\t\tconst macroponentObject = macroponents.find(\n\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\tmacroponent.macroponentSysId ===\n\t\t\t\t\t\tresolvedMacroponentSysId,\n\t\t\t\t);\n\n\t\t\t\tlet parentMacroponentObject;\n\t\t\t\tif (parentMacroponentSysId) {\n\t\t\t\t\tparentMacroponentObject = macroponents.find(\n\t\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\t\tmacroponent.macroponentSysId ===\n\t\t\t\t\t\t\tparentMacroponentSysId,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...macroponentObject,\n\t\t\t\t\thasChatOnPage: parentMacroponentSysId\n\t\t\t\t\t\t? parentMacroponentObject?.hasChatOnPage\n\t\t\t\t\t\t: macroponentObject.hasChatOnPage,\n\t\t\t\t\thasUtilityPanel: parentMacroponentSysId\n\t\t\t\t\t\t? parentMacroponentObject?.hasUtilityPanel\n\t\t\t\t\t\t: macroponentObject.hasUtilityPanel,\n\t\t\t\t\ttitle,\n\t\t\t\t\tscreenType,\n\t\t\t\t\tisInterop,\n\t\t\t\t\thydrateContext,\n\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < macroponents.length; i++) {\n\t\t\t\t\tlet obj = macroponents[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\tevaluateCondition(\n\t\t\t\t\t\t\tobj.parsedCondition,\n\t\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t) === true\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!serverResolvedScreenId)\n\t\t\t\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t\t\t\t...hydrateContext,\n\t\t\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (selectedContent.parent) {\n\t\t\t\t\t\t\tobj = updateScreenContentWhenParentPresent(\n\t\t\t\t\t\t\t\tmacroponents,\n\t\t\t\t\t\t\t\tselectedContent.parent,\n\t\t\t\t\t\t\t\tobj,\n\t\t\t\t\t\t\t\tevaluateCondition,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\t\thydrateContext,\n\t\t\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!obj.condition)\n\t\t\t\t\t\tdefaultMacroponent = {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (defaultMacroponent) {\n\t\t\t\tif (!serverResolvedScreenId)\n\t\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t\t...hydrateContext,\n\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t});\n\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t...defaultMacroponent,\n\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t\tif (selectedContent.parent) {\n\t\t\t\t\tdefaultMacroponent = updateScreenContentWhenParentPresent(\n\t\t\t\t\t\tmacroponents,\n\t\t\t\t\t\tselectedContent.parent,\n\t\t\t\t\t\tdefaultMacroponent,\n\t\t\t\t\t\tevaluateCondition,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...defaultMacroponent,\n\t\t\t\t\thydrateContext,\n\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\tlet {\n\t\tmacroponents,\n\t\tscreenType: localScreenType,\n\t\tname: localTitle,\n\t} = get(routeToScreenMap, `${route}[${Object.keys(fields).length}]`, {});\n\n\tconst serverResolvedScreenId = getResolvedScreenFromAppliedPageFragment(\n\t\tselectedContent,\n\t\tpath,\n\t\troute,\n\t\trouteToScreenMap,\n\t\trouteToScreenMapInterop,\n\t\trouteToScreenMapDependent,\n\t);\n\n\tif (!areFieldsValid(fields)) {\n\t\tmacroponents = getFallbackScreens(routeToScreenMap, route, fields);\n\t\treturn await getResolvedScreen(\n\t\t\tmacroponents,\n\t\t\tlocalScreenType,\n\t\t\tlocalTitle,\n\t\t\tserverResolvedScreenId,\n\t\t\t'route',\n\t\t\tnull,\n\t\t);\n\t}\n\n\t// check if screen can be resolved from interop routes.\n\tconst resolvedInteropScreen =\n\t\tawait getResolvedScreenFromMatchingInteropRoutes(\n\t\t\trouteToScreenMapInterop,\n\t\t\tselectedContent,\n\t\t\troute,\n\t\t\tfields,\n\t\t\tserverResolvedScreenId,\n\t\t\tgetResolvedScreen,\n\t\t\t'interop',\n\t\t);\n\tif (resolvedInteropScreen) return resolvedInteropScreen;\n\n\t// check if screen can be resolved from local route macroponents\n\tif (!isEmpty(macroponents)) {\n\t\tconst resolvedLocalScreen = await getResolvedScreen(\n\t\t\tmacroponents,\n\t\t\tlocalScreenType,\n\t\t\tlocalTitle,\n\t\t\tserverResolvedScreenId,\n\t\t\t'route',\n\t\t\tnull,\n\t\t);\n\t\tif (resolvedLocalScreen) return resolvedLocalScreen;\n\t}\n\n\t// check if screen can be resolved from dependent routes\n\tconst resolvedDependentScreen =\n\t\tawait getResolvedScreenFromMatchingInteropRoutes(\n\t\t\trouteToScreenMapDependent,\n\t\t\tselectedContent,\n\t\t\troute,\n\t\t\tfields,\n\t\t\tserverResolvedScreenId,\n\t\t\tgetResolvedScreen,\n\t\t\t'dependent',\n\t\t);\n\tif (resolvedDependentScreen) return resolvedDependentScreen;\n\n\t// no interop, local, dependent screens could be resolved. fallback screens.\n\tmacroponents = getFallbackScreens(routeToScreenMap, route, fields);\n\treturn await getResolvedScreen(\n\t\tmacroponents,\n\t\tlocalScreenType,\n\t\tlocalTitle,\n\t\tserverResolvedScreenId,\n\t\t'route',\n\t\tnull,\n\t);\n};\n","import { UXF_INTEROP_ROUTE_RESOLVED } from '../constants/constants';\nimport { get } from '@devsnc/snowdash';\nimport { mark, getInteractionId } from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from '../sn-canvas-router/sn-canvas-router.contentParser';\n\nexport const getProviderContextForInterop = (screenContent = {}) => {\n\tconst {\n\t\tappConfigId: providerAppConfigId = '',\n\t\tviewportConfigurationId: providerScreenId,\n\t} = screenContent;\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceName: providerApplicationName } =\n\t\tObject.values(experienceConfigs).find(\n\t\t\t({ appConfigId = '', pageSettings: { sysId = '' } = {} }) => {\n\t\t\t\treturn (appConfigId || sysId) === providerAppConfigId;\n\t\t\t},\n\t\t) || {};\n\n\treturn {\n\t\tproviderApplicationName,\n\t\tproviderScreenId,\n\t};\n};\n\n/**\n * Emit AppSee marks when loading or switching Experiences.\n * @param {Object} host - the host object that comes from the dispatched event\n * @param {Object} action - the action object that comes from the dispatched event\n * @param {Object} markPayload - has all info of selectedContent in addition to the screenData\n */\nexport const trackInteropRouteUsage = (host, action, markPayload) => {\n\tconst { meta } = action;\n\tconst { providerApplicationName, providerScreenId } =\n\t\tgetProviderContextForInterop(markPayload);\n\n\tconst url = getUrlFromSelectedContent(markPayload);\n\tmark(\n\t\thost,\n\t\tgetInteractionId(meta),\n\t\tUXF_INTEROP_ROUTE_RESOLVED,\n\t\t{\n\t\t\turl,\n\t\t\tproviderApplicationName,\n\t\t\tproviderScreenId,\n\t\t},\n\t\t'usage',\n\t);\n};\n","import { klona } from 'klona';\nimport { get, set } from '@devsnc/snowdash';\n\nimport {\n\tparseCondition,\n\tpreParseConditions,\n} from './sn-canvas-screens.resolver';\n\nconst parseRoute = (routeObj) => {\n\t// eslint-disable-next-line no-unused-vars\n\tconst { optionalParameters, ...rest } = routeObj;\n\tconst deepRouteCopy = klona(rest);\n\tconst { fields } = deepRouteCopy;\n\tconst n = Array.isArray(fields) ? fields.length : 0;\n\treturn [\n\t\tn,\n\t\t{\n\t\t\t...deepRouteCopy,\n\t\t\tmacroponents: preParseConditions(deepRouteCopy.macroponents),\n\t\t},\n\t];\n};\n\nexport const getRouteToScreenMap = (routerConfig) => {\n\tif (!routerConfig) return;\n\tlet ROUTE_TO_SCREEN_MAP = {};\n\tfor (let [key, value] of Object.entries(routerConfig.routes)) {\n\t\tvalue.forEach((routeObj) => {\n\t\t\tconst [fieldsLength, parsedRoute] = parseRoute(routeObj);\n\t\t\tROUTE_TO_SCREEN_MAP[key] = {\n\t\t\t\t...ROUTE_TO_SCREEN_MAP[key],\n\t\t\t\t[fieldsLength]: parsedRoute,\n\t\t\t};\n\t\t});\n\t}\n\treturn ROUTE_TO_SCREEN_MAP;\n};\n\nconst parseInteropRoutes = (interopRoutes) => {\n\treturn Object.entries(interopRoutes).reduce(\n\t\t(routeToScreenMap, [key, value]) => {\n\t\t\tconst interopRoutesForKey = get(routeToScreenMap, [key], {});\n\t\t\tvalue.forEach((routeObj) => {\n\t\t\t\tconst { route, interoperableCondition, ...rest } = routeObj;\n\t\t\t\tconst [fieldsLength, parsedRoute] = parseRoute(route);\n\n\t\t\t\tconst interopRoutesForKeyAndFieldsLength =\n\t\t\t\t\tinteropRoutesForKey[fieldsLength] ?? [];\n\t\t\t\tinteropRoutesForKeyAndFieldsLength.push({\n\t\t\t\t\t...rest,\n\t\t\t\t\tinteroperableCondition,\n\t\t\t\t\tparsedInteropCondition: parseCondition(\n\t\t\t\t\t\tinteroperableCondition,\n\t\t\t\t\t),\n\t\t\t\t\t...parsedRoute,\n\t\t\t\t});\n\t\t\t\tinteropRoutesForKey[fieldsLength] =\n\t\t\t\t\tinteropRoutesForKeyAndFieldsLength;\n\t\t\t});\n\t\t\tset(routeToScreenMap, [key], interopRoutesForKey);\n\t\t\treturn routeToScreenMap;\n\t\t},\n\t\t{},\n\t);\n};\n\nexport const getInteropRouteToScreenMap = (routeConfig) => {\n\tif (routeConfig && Object.hasOwn(routeConfig, 'interoperableRoutes')) {\n\t\treturn parseInteropRoutes(routeConfig.interoperableRoutes);\n\t}\n};\n\nexport const getInteropDependentRouteToScreenMap = (routeConfig) => {\n\tif (routeConfig && Object.hasOwn(routeConfig, 'dependentRoutes')) {\n\t\treturn parseInteropRoutes(routeConfig.dependentRoutes);\n\t}\n};\n\n// keeping this separate for clarity.\n// but this could be combined with getInteropRouteToScreenMap to avoid looping twice\n/**\n *\n * @param {*} routeConfig\n * @returns a map of the structure: {\n * \t[providerAppConfigId]: {\n * \t\t[actualRouteNameInProviderExperience]: [aliasChosenByConsumer]\n * \t}\n * }\n */\nexport const getInteropAliasMap = (routeConfig) => {\n\tif (!routeConfig || !Object.hasOwn(routeConfig, 'interoperableRoutes')) {\n\t\treturn;\n\t}\n\n\tconst { interoperableRoutes } = routeConfig;\n\treturn Object.entries(interoperableRoutes).reduce(\n\t\t(aliasMap, [key, value]) => {\n\t\t\tvalue.forEach((interopRouteObj) => {\n\t\t\t\tconst { aliasFor, appConfigId } = interopRouteObj;\n\t\t\t\tif (!aliasFor || aliasFor === key) return;\n\n\t\t\t\tconst aliasMapForAppConfigId = aliasMap[appConfigId] ?? {};\n\t\t\t\taliasMapForAppConfigId[aliasFor] = key;\n\t\t\t\taliasMap[appConfigId] = aliasMapForAppConfigId;\n\t\t\t});\n\t\t\treturn aliasMap;\n\t\t},\n\t\t{},\n\t);\n};\n","import { get, isEmpty, isEqual, isNil } from '@devsnc/snowdash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getTemplates } from '@devsnc/library-uxf';\nimport { whenScreenMacroponentIdleOnEachPageLoad } from '@devsnc/uxf-runtime-utils';\n\nimport {\n\tgetScreenKey,\n\tgetSuspendableDiscardableScreens,\n\tunSuspendScreens,\n\tisInvalidParentLoad,\n\thandleHoistedContentUpdates,\n\tgetDirtyStateManager,\n} from './sn-canvas-screens.util';\nimport { getScreen } from './sn-canvas-screens.resolver';\nimport {\n\tMAIN_SELECTED_CONTENT_CHANGED,\n\tACTIVE_SCREEN_RENDERED,\n\tCONTENT_SCREENS_DISCARDED,\n\tCANVAS_SCREEN_LOADED,\n\tCANVAS_SCREEN_SWITCHED,\n\tCANVAS_SCREEN_LOAD_INITIATED,\n\tCANVAS_SCREEN_SWITCH_INITIATED,\n\tSCREEN_STATUS_CHANGED,\n\tCANVAS_COMPONENT_CONNECTED,\n\tROUTE_CONFIG,\n\tCANVAS_PARENT_SCREEN_LOAD_REQUESTED,\n\tSCREEN_INTERACTION_ID_UPDATE_REQUESTED,\n} from '../../constants/constants';\nimport { trackInteropRouteUsage } from '../../utils/trackInteropRouteUsage';\n\nimport {\n\tgetInteropAliasMap,\n\tgetInteropDependentRouteToScreenMap,\n\tgetInteropRouteToScreenMap,\n\tgetRouteToScreenMap,\n} from './sn-canvas-screens.config';\nimport { getInteractionId } from '../../sn-canvas-metrics';\nimport { createInteractionId } from '@servicenow/ui-metrics';\nimport { setPageTitle, canCreateMoreScreen } from 'sn-canvas-common';\nimport { getPageProperties } from '../../utils/uxGlobals';\nimport { dispatchUpdateHoistedContentForActiveRecords } from '../../utils/utility-panel/util';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport async function prefetchTemplates() {\n\tconst macroponentSet = new Set();\n\tconst routeList = [];\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst uxfRouteMacroponentMap = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst prefetchLimits = get(window, ROUTE_CONFIG_OBJ?.PREFETCH_LIMITS, {});\n\tconst routeLimit = get(prefetchLimits, 'routes', null);\n\tconst screenLimit = get(prefetchLimits, 'screens', null);\n\n\tif (!routeLimit || !screenLimit) return;\n\n\tObject.keys(uxfRouteMacroponentMap).forEach((route) =>\n\t\trouteList.push(uxfRouteMacroponentMap[route][0]),\n\t);\n\n\trouteList\n\t\t.sort((obj1, obj2) => (obj1.order > obj2.order ? 1 : -1))\n\t\t.forEach((obj, i) => {\n\t\t\tif (routeLimit && i >= routeLimit) return;\n\t\t\tif (Array.isArray(obj.macroponents)) {\n\t\t\t\tobj.macroponents.forEach((m, j) => {\n\t\t\t\t\tif (screenLimit && j >= screenLimit) return;\n\t\t\t\t\tif (m.macroponentSysId)\n\t\t\t\t\t\tmacroponentSet.add(m.macroponentSysId);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t//get templates in when browser is free\n\tconst scheme = window.requestIdleCallback || window.requestAnimationFrame;\n\tconst cancelScheme =\n\t\twindow.cancelIdleCallback || window.cancelAnimationFrame;\n\tif (!scheme || !cancelScheme) return;\n\n\tconst id = scheme(() => {\n\t\tfor (let macroponentSysId of macroponentSet) {\n\t\t\tconst requestId = scheme(() => {\n\t\t\t\tgetTemplates([macroponentSysId]);\n\t\t\t\tcancelScheme(requestId);\n\t\t\t});\n\t\t}\n\t\tcancelScheme(id);\n\t});\n}\n\nexport const getParentScreen = async (\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n) => {\n\tlet { selectedContent, screensData, activityLogs, routeConfig } =\n\t\tproperties;\n\tif (isInvalidParentLoad(properties)) return {};\n\n\tconst context = selectedContent.context;\n\n\tselectedContent = selectedContent.parent;\n\n\tlet newScreensData = { ...screensData };\n\n\tlet screenKey = getScreenKey(selectedContent);\n\n\tconst screenData = newScreensData[screenKey];\n\n\tlet screenContent = {\n\t\t...selectedContent,\n\t\tactivityLogs,\n\t\tscreenKey,\n\t\tisActive: false,\n\t\tlastActiveTimeStamp: new Date().getTime(),\n\t};\n\tconst uxrInteractionId =\n\t\twindow.nowUiFramework?.metrics?.uxfInteractionIdBase ||\n\t\tcreateInteractionId();\n\n\tif (!screenData) {\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tscreenType,\n\t\t\ttitle: defaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tisInterop,\n\t\t\tappConfigId,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t} = (await getScreen(\n\t\t\t// When context of parent is not present, pass childs' context\n\t\t\t{\n\t\t\t\tcontext,\n\t\t\t\t...selectedContent,\n\t\t\t},\n\t\t\trouteConfig.routeToScreenMap,\n\t\t\trouteConfig.routeToScreenMapInterop,\n\t\t\trouteConfig.routeToScreenMapDependent,\n\t\t\trouteConfig.experienceId,\n\t\t\tuxrInteractionId,\n\t\t)) || {};\n\t\tscreenContent = {\n\t\t\t...screenContent,\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tactivityLogs,\n\t\t\tscreenType,\n\t\t\tdefaultTitle,\n\t\t\tcontext,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tisInterop,\n\t\t\tappConfigId,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t};\n\t}\n\tnewScreensData[screenKey] = {\n\t\t...(screenData && { ...newScreensData[screenKey] }),\n\t\t...screenContent,\n\t\tuxrInteractionId,\n\t};\n\n\tdispatchUpdateHoistedContentForActiveRecords(dispatch, {\n\t\t...screenContent,\n\t\texperienceId: routeConfig.experienceId,\n\t\thasChatOnPage: newScreensData[screenKey]?.hasChatOnPage,\n\t\thasUtilityPanel: newScreensData[screenKey]?.hasUtilityPanel,\n\t});\n\n\tupdateProperties({ screensData: { ...newScreensData } });\n};\n\nexport const isContextualRoute = (selectedContent, pageProperties) => {\n\ttry {\n\t\tconst chrome_tab = pageProperties?.chrome_tab;\n\t\tif (!chrome_tab) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { route } = selectedContent;\n\t\tlet parsedChromeTab = JSON.parse(chrome_tab);\n\t\tif (route && parsedChromeTab?.contextual?.includes(route)) {\n\t\t\treturn true;\n\t\t}\n\t} catch (e) {\n\t\tconsole.info('unable to figure if isContextualRoute', e);\n\t\treturn false;\n\t}\n\treturn false;\n};\n\nconst getUpdatedRouteConfig = (routeConfig) => {\n\tlet newRouteConfigToUpdate = routeConfig;\n\n\tlet {\n\t\trouteToScreenMap,\n\t\trouteToScreenMapInterop,\n\t\trouteToScreenMapDependent,\n\t\tinteropAliasMap,\n\t} = routeConfig ?? {};\n\n\t// set routeToScreenMap if not present\n\tif (!routeToScreenMap) {\n\t\trouteToScreenMap = getRouteToScreenMap(routeConfig);\n\t\tif (routeToScreenMap) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\trouteToScreenMap,\n\t\t\t};\n\t\t}\n\t}\n\n\t// set routeToScreenMapInterop if not present\n\tif (!routeToScreenMapInterop) {\n\t\trouteToScreenMapInterop = getInteropRouteToScreenMap(routeConfig);\n\t\tif (routeToScreenMapInterop) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\trouteToScreenMapInterop,\n\t\t\t};\n\t\t}\n\t}\n\n\t// set routeToScreenMapDependent if not present\n\tif (!routeToScreenMapDependent) {\n\t\trouteToScreenMapDependent =\n\t\t\tgetInteropDependentRouteToScreenMap(routeConfig);\n\t\tif (routeToScreenMapDependent) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\trouteToScreenMapDependent,\n\t\t\t};\n\t\t}\n\t}\n\n\t// set interopAliasMap if not present\n\tif (!interopAliasMap) {\n\t\tinteropAliasMap = getInteropAliasMap(routeConfig);\n\t\tif (interopAliasMap) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\tinteropAliasMap,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn newRouteConfigToUpdate;\n};\n\nexport const mainSelectedContentChangedEffect = async ({\n\thost,\n\taction,\n\tdispatch,\n\tproperties,\n\tupdateProperties,\n\tstate,\n}) => {\n\tconst { selectedContent, prevSelectedContent } = action.payload;\n\tlet { screensData, activeScreenId, routeConfig } = properties;\n\n\tlet { pageProperties } = state;\n\tif (!pageProperties)\n\t\tpageProperties = getPageProperties(selectedContent?.context?.path);\n\n\tconst udpatedRouteConfig = getUpdatedRouteConfig(routeConfig);\n\tif (!Object.is(udpatedRouteConfig, routeConfig)) {\n\t\t// This check can be refined - maybe with deepCompare\n\t\tupdateProperties({ routeConfig: udpatedRouteConfig });\n\t}\n\tconst {\n\t\trouteToScreenMap,\n\t\trouteToScreenMapInterop,\n\t\trouteToScreenMapDependent,\n\t} = udpatedRouteConfig;\n\n\tlet { activityLogs, experienceId } = properties;\n\tconst {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tupdateUrl,\n\t\tpassiveNavigation = false,\n\t\t...restSelectedContent\n\t} = selectedContent;\n\n\tlet screenKey = getScreenKey(restSelectedContent);\n\tlet newScreensData = { ...screensData };\n\tconst hasScreen = newScreensData[screenKey];\n\n\tif (\n\t\t!selectedContent ||\n\t\ttypeof selectedContent === 'string' ||\n\t\t!selectedContent.route\n\t)\n\t\treturn {};\n\tif (\n\t\t!hasScreen &&\n\t\tisContextualRoute(selectedContent, pageProperties) &&\n\t\t!canCreateMoreScreen(experienceId, screenKey, selectedContent.parent)\n\t) {\n\t\treturn {};\n\t}\n\n\tnewScreensData = unSuspendScreens(newScreensData);\n\n\tif (\n\t\tactiveScreenId &&\n\t\tactiveScreenId !== screenKey &&\n\t\tnewScreensData[activeScreenId] &&\n\t\t!passiveNavigation\n\t) {\n\t\tconst activeScreen = { ...newScreensData[activeScreenId] };\n\t\tnewScreensData[activeScreenId] = {\n\t\t\t...activeScreen,\n\t\t\tisActive: false,\n\t\t\tlastActiveTimeStamp: new Date().getTime(),\n\t\t};\n\t}\n\n\tlet screenContent = {\n\t\t...restSelectedContent,\n\t\tactivityLogs,\n\t\tscreenKey,\n\t\tisActive: !passiveNavigation,\n\t\tlastActiveTimeStamp: new Date().getTime(),\n\t};\n\n\tconst uxrInteractionId = passiveNavigation\n\t\t? createInteractionId()\n\t\t: getInteractionId();\n\n\tif (!hasScreen) {\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tscreenType,\n\t\t\ttitle: defaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tisInterop,\n\t\t\tappConfigId,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t} = (await getScreen(\n\t\t\trestSelectedContent,\n\t\t\trouteToScreenMap,\n\t\t\trouteToScreenMapInterop,\n\t\t\trouteToScreenMapDependent,\n\t\t\trouteConfig.experienceId,\n\t\t\tuxrInteractionId,\n\t\t)) || {};\n\t\tscreenContent = {\n\t\t\t...screenContent,\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tactivityLogs,\n\t\t\tscreenType,\n\t\t\tdefaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tisInterop,\n\t\t\tappConfigId,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t};\n\t\tdispatch(CANVAS_SCREEN_LOAD_INITIATED, { ...selectedContent });\n\t} else {\n\t\tdispatch(CANVAS_SCREEN_SWITCH_INITIATED, { ...selectedContent });\n\t}\n\n\t/*\n\tIn case of passive navigation, create new uxrInteractionId representing screen,\n\tif not, fetch uxrInteractionId created at the time of url update\n\t*/\n\tnewScreensData[screenKey] = {\n\t\t...(hasScreen && { ...newScreensData[screenKey] }),\n\t\t...screenContent,\n\t\tuxrInteractionId,\n\t};\n\n\tif (newScreensData[screenKey]?.isInterop && !passiveNavigation) {\n\t\ttrackInteropRouteUsage(host, action, {\n\t\t\t...newScreensData[screenKey],\n\t\t});\n\t}\n\n\thandleHoistedContentUpdates(dispatch, {\n\t\t...screenContent,\n\t\tpassiveNavigation,\n\t\thasChatOnPage: newScreensData[screenKey]?.hasChatOnPage,\n\t\thasUtilityPanel: newScreensData[screenKey]?.hasUtilityPanel,\n\t\texperienceId,\n\t});\n\n\tconst { suspendableScreens, discardableScreens } =\n\t\tgetSuspendableDiscardableScreens(newScreensData, properties);\n\n\tif (suspendableScreens && suspendableScreens.length > 0) {\n\t\tsuspendableScreens.forEach(\n\t\t\t(key) =>\n\t\t\t\t(newScreensData[key] = {\n\t\t\t\t\t...newScreensData[key],\n\t\t\t\t\tsuspended: true,\n\t\t\t\t}),\n\t\t);\n\t}\n\n\tif (discardableScreens && discardableScreens.length > 0) {\n\t\tdiscardableScreens.forEach(\n\t\t\t(key) =>\n\t\t\t\t(newScreensData[key] = {\n\t\t\t\t\t...newScreensData[key],\n\t\t\t\t\tdiscarded: true,\n\t\t\t\t}),\n\t\t);\n\t\tdispatch(CONTENT_SCREENS_DISCARDED, { discardableScreens });\n\t}\n\n\tif (passiveNavigation === true) screenKey = activeScreenId;\n\n\tconst { screenType, viewportConfigurationId } = newScreensData[screenKey];\n\n\tdispatch(ACTIVE_SCREEN_RENDERED, {\n\t\tactiveScreenId: screenKey,\n\t\tscreenMetaData: {\n\t\t\tscreenType,\n\t\t\tscreenId: viewportConfigurationId,\n\t\t},\n\t});\n\n\tupdateProperties({\n\t\tscreensData: { ...newScreensData },\n\t\tactiveScreenId: screenKey,\n\t});\n\tif (\n\t\thasScreen &&\n\t\tactiveScreenId != screenKey &&\n\t\twindow.requestAnimationFrame\n\t) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\t//In cases of screen switch, simply change browser title!\n\t\t\tconst screenTitle = hasScreen.title;\n\n\t\t\tif (screenTitle && screenContent.isActive) {\n\t\t\t\tconst experienceName = get(\n\t\t\t\t\tscreenContent,\n\t\t\t\t\t'context.experienceName',\n\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t\tsetPageTitle(null, screenTitle, experienceName);\n\t\t\t}\n\t\t\tdispatch(CANVAS_SCREEN_SWITCHED, { ...selectedContent });\n\t\t});\n\t}\n\n\tif (\n\t\thasScreen &&\n\t\t!isEmpty(selectedContent.parent) &&\n\t\t!isEqual(selectedContent.parent, prevSelectedContent.parent)\n\t)\n\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED);\n\n\taction.stopPropagation();\n};\n\nexport const canvasScreenLoadedEffect = async ({\n\thost,\n\taction,\n\tstate,\n\tupdateState,\n\tproperties,\n\tdispatch,\n}) => {\n\tif (\n\t\tproperties.selectedContent &&\n\t\t!isEmpty(properties.selectedContent.parent)\n\t) {\n\t\twhenScreenMacroponentIdleOnEachPageLoad().then(() => {\n\t\t\tconst scheme =\n\t\t\t\twindow.requestIdleCallback || window.requestAnimationFrame;\n\t\t\tconst cancelScheme =\n\t\t\t\twindow.cancelIdleCallback || window.cancelAnimationFrame;\n\t\t\tif (scheme && cancelScheme) {\n\t\t\t\tconst id = scheme(() => {\n\t\t\t\t\t// Load the parent screen as well if child screen is being requested directly\n\t\t\t\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED); // parentScreen must be handled regardless of initScreenLoaded\n\t\t\t\t\tcancelScheme(id);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED);\n\t\t\t}\n\t\t});\n\t}\n\n\tconst { screenKey } = action.payload;\n\n\tif (window && window.requestAnimationFrame) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tconst { screensData } = host.getResolvedProperties() || {};\n\t\t\tconst screen = screensData[screenKey];\n\t\t\t//Use default title when screen title is not present\n\t\t\tif (screen && !screen.title && screen.defaultTitle) {\n\t\t\t\tdispatch(SCREEN_STATUS_CHANGED, {\n\t\t\t\t\tisDirty: false,\n\t\t\t\t\tscreenKey,\n\t\t\t\t\ttitle: screen.defaultTitle,\n\t\t\t\t\tisActive: screen.isActive,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tconst { initScreenLoaded } = state;\n\tif (initScreenLoaded) return;\n\n\tprefetchTemplates();\n\tupdateState({ initScreenLoaded: true });\n};\n\nconst activeContextPathChanged = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tactiveContextPath,\n\t\t\tactiveScreenId,\n\t\t\tscreensData,\n\t\t\trouteConfig,\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (!activeContextPath || !screensData?.[activeScreenId] || !routeConfig)\n\t\treturn;\n\n\tconst isActive = activeContextPath === routeConfig.path;\n\tif (screensData[activeScreenId].isActive !== isActive) {\n\t\tconst newScreensData = { ...screensData };\n\t\tnewScreensData[activeScreenId] = {\n\t\t\t...screensData[activeScreenId],\n\t\t\tisActive,\n\t\t};\n\t\tupdateProperties({ screensData: newScreensData });\n\t}\n};\n\nexport const screensPropertyChangedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t} = coeffects;\n\n\tif (\n\t\tname == 'selectedContent' &&\n\t\tvalue &&\n\t\t!(\n\t\t\tpreviousValue &&\n\t\t\ttypeof previousValue === 'string' &&\n\t\t\tpreviousValue.charAt(0) === '@'\n\t\t)\n\t) {\n\t\tconst { selectedContent } = properties;\n\t\tconst { screenKeyMap } = state;\n\t\tdispatch(MAIN_SELECTED_CONTENT_CHANGED, {\n\t\t\tselectedContent,\n\t\t\tprevSelectedContent: previousValue,\n\t\t});\n\t\tconst previousScreenKey = getScreenKey(previousValue);\n\t\tconst currentScreenKey = getScreenKey(selectedContent);\n\t\t// We inform dirty state manager only when a new record is\n\t\t// created and the screenKey is different from the previous one\n\t\tif (\n\t\t\t(!isNil(previousValue?.multiInstField) ||\n\t\t\t\tpreviousValue?.fields?.sysId === '-1') &&\n\t\t\tscreenKeyMap.get(currentScreenKey) === previousScreenKey\n\t\t) {\n\t\t\tgetDirtyStateManager().updateScreenKey(\n\t\t\t\tpreviousScreenKey,\n\t\t\t\tcurrentScreenKey,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (name == 'activeContextPath' && value !== previousValue) {\n\t\tactiveContextPathChanged(coeffects);\n\t}\n};\n\nexport const updateScreenInteractionIdEffect = ({\n\tproperties,\n\tupdateProperties,\n\taction,\n}) => {\n\tconst { screenKey, createNew } = action.payload;\n\tconst { screensData } = properties;\n\n\tif (!(screenKey in screensData)) return;\n\tconst currentUxrInteractionId =\n\t\tscreensData[screenKey]?.uxrInteractionId || '';\n\t// If createNew is false we will append -idle to mark the completion of current interaction for this screen so\n\t// following network calls don't use the completed interaction id in the header\n\t// to avoid tagging network calls which were not part of the original interaction.\n\n\t// Do not append -idle if the interaction id is already -idle, this may happen if a new interaction id was not created\n\t// before a new interaction started\n\tconst updatedUxrInteractionId = createNew\n\t\t? createInteractionId()\n\t\t: currentUxrInteractionId.endsWith('-idle')\n\t\t\t? currentUxrInteractionId\n\t\t\t: currentUxrInteractionId + '-idle';\n\n\tconst updatedScreensData = {\n\t\t...screensData,\n\t\t[screenKey]: {\n\t\t\t...screensData[screenKey],\n\t\t\tuxrInteractionId: updatedUxrInteractionId,\n\t\t},\n\t};\n\twindow.nowUiFramework.uxrInteractionId = updatedUxrInteractionId;\n\tupdateProperties({ screensData: { ...updatedScreensData } });\n};\n\nconst actionHandlers = {\n\t[MAIN_SELECTED_CONTENT_CHANGED]: mainSelectedContentChangedEffect,\n\t[COMPONENT_CONNECTED]: ({\n\t\tproperties,\n\t\taction,\n\t\tdispatch,\n\t\tupdateProperties,\n\t}) => {\n\t\tdispatch(CANVAS_COMPONENT_CONNECTED, action.payload);\n\t\tconst { routeConfig } = properties;\n\t\tconst updatedRouteConfig = getUpdatedRouteConfig(routeConfig);\n\t\tif (!Object.is(updatedRouteConfig, routeConfig)) {\n\t\t\tupdateProperties({\n\t\t\t\trouteConfig: updatedRouteConfig,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: screensPropertyChangedEffect,\n\t[CANVAS_SCREEN_LOADED]: canvasScreenLoadedEffect,\n\t[SCREEN_INTERACTION_ID_UPDATE_REQUESTED]: {\n\t\teffect: updateScreenInteractionIdEffect,\n\t\tstopPropagation: true,\n\t},\n\t[CANVAS_PARENT_SCREEN_LOAD_REQUESTED]: ({\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) => {\n\t\tgetParentScreen(properties, updateProperties, dispatch);\n\t},\n};\nexport { actionHandlers };\n","import { COMPONENT_ID, SN_CANVAS_ROUTER } from '../constants/constants';\n\nlet componentIds = {};\n\n/**\n * Get any selectable properties from sn-workspace-layout (root).\n * @param propName\n * @returns {{}}\n */\n\nexport function getSelectableRouterProps(propName) {\n\treturn getSelectableProp(SN_CANVAS_ROUTER, propName);\n}\n\n/**\n * This utility function is being provided to work around the fact that we don't want to make any metadata\n * changes for defining selectable properties on components. As a result on the first component bootstrap, we will\n * manually get the component id from the component the implementor cares about and create the selectable property string\n * and apply it to the component.\n *\n * Usage:\n * getSelectableProp('sn-workspace-layout', 'tabsData');\n *\n * Returns:\n * '@[component-id of layout]/tabsData'\n *\n * @param componentName\n * @param propName\n * @returns {*}\n */\nexport function getSelectableProp(componentName, propName) {\n\tlet componentId = componentIds[componentName] || null;\n\tif (!componentId) {\n\t\tconst snCanvasPortal = document.getElementsByTagName(componentName);\n\t\tif (!snCanvasPortal.length) return {};\n\t\tcomponentId = snCanvasPortal[0].getAttribute(COMPONENT_ID);\n\t\tcomponentIds[componentName] = componentId;\n\t}\n\n\treturn `@${componentId}/${propName}`;\n}\n","import { SELECTED_CONTENT_PROP_BEHAVIOR } from '../../constants/constants';\n\nimport { getSelectableRouterProps } from '../selectablePropUtils';\n\nexport const selectedContentPropBehavior = {\n\tname: SELECTED_CONTENT_PROP_BEHAVIOR,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tget default() {\n\t\t\t\treturn getSelectableRouterProps('selectedContent');\n\t\t\t}\n\t\t}\n\t}\n};\n","import { actionHandlers } from './sn-canvas-screens.effects';\n\nimport { selectedContentPropBehavior } from '../../utils/behaviors/selectableProps.behaviors';\n\nimport { SCREENS_DATA_BEHAVIOR } from '../../constants/constants';\n\nconst screensDataBehavior = {\n\tname: SCREENS_DATA_BEHAVIOR,\n\tinitialState: {\n\t\tinitScreenLoaded: false,\n\t},\n\tproperties: {\n\t\tmainConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveScreenId: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreensData: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tclosedNavigationIds: {\n\t\t\tdefault: null,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tscreenTitles: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveContextPath: {\n\t\t\tdefault: '',\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tactionHandlers,\n};\n\nexport const screenStatusChangeBehavior = {\n\tname: 'SCREEN_STATUS_CHANGE_BEHAVIOR',\n\tproperties: {\n\t\tscreenStatus: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n};\n\nexport const activityLogBehavior = {\n\tname: 'ACTIVITY_LOGS',\n\tproperties: {\n\t\tactivityLogs: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n};\n\nexport const userPreferenceBehavior = {\n\tname: 'USER_PREFERENCES',\n\tproperties: {\n\t\tuserPrefs: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n};\n\nexport const screensDataBehaviors = [\n\tscreensDataBehavior,\n\tselectedContentPropBehavior,\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","export const MODELESS_DIALOG = 'NOW-MODELESS-DIALOG';\nexport const DATA_TYPE = 'data-type';\nexport const REPEATER = 'repeater';\nexport const FULL_SCREEN_INDEX = '2995';\nexport const NOW_ID = 'now-id';\nexport const IS_FOCUSED = 'is-focused';\nexport const POSITION = 'fixed';\nexport const TRUE = 'true';\nexport const FALSE = 'false';\nexport const FOCUSED_INDEX = '2980';\nexport const UNFOCUSED_INDEX = '2975';\nexport const TAB_INDEX = 'tabindex';\nexport const TAB_INDEX_VALUE = '0';\n","import {\n\tonModelessDialogMaximize,\n\tvalidateModelessDialogElement,\n\tupdateUnhidModelessElements,\n\tonModelessElementsUpdated,\n\tfetchModelessDialogElements,\n} from './modelessDialog.helpers';\nimport {\n\tIS_FOCUSED,\n\tTAB_INDEX,\n\tTAB_INDEX_VALUE,\n\tTRUE,\n\tNOW_ID,\n\tFOCUSED_INDEX,\n\tUNFOCUSED_INDEX,\n\tPOSITION,\n\tFALSE,\n} from './modelessDialogConstants';\nimport { deepSearchElement } from 'sn-canvas-common';\n\n/**\n * @description getModelessDialogElements - gets the modeless dialog elements by id and host.\n * @param id{string} - the id of the modeless dialog\n * @param host{Object} - the host element\n * @returns {[boolean,*]} - array containing the shouldContinue flag and the dialogElements\n */\nexport const getModelessDialogElements = (id, host) => {\n\tconst nodeElements = fetchModelessDialogElements(id, host);\n\tif (!nodeElements || !nodeElements.length) return [false, undefined];\n\tif (!nodeElements.some((node) => node?.opened)) {\n\t\treturn [false, undefined];\n\t}\n\n\treturn [true, nodeElements];\n};\n\n/**\n * @description updateModelessElements - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id {string} - the id of the modeless dialog\n * @param dialogElement {Object} - the dialog element to update\n * @param shouldFocus {boolean}- the shouldFocus flag\n * @returns {void}\n */\nexport const updateModelessElements = (id, dialogElements, shouldFocus) => {\n\t//iterate through all now-modeless-dialog nodes\n\tdialogElements.forEach((node) => {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tnode.setAttribute(\n\t\t\tIS_FOCUSED,\n\t\t\tnowId === id && node.opened === true ? TRUE : FALSE,\n\t\t);\n\t\tnode.style.zIndex =\n\t\t\tnowId === id && node.opened === true\n\t\t\t\t? FOCUSED_INDEX\n\t\t\t\t: UNFOCUSED_INDEX; //set the z-index based on the id and opened state\n\t\tnode.style.position = POSITION;\n\t});\n};\n\n/**\n * @description updateMaximizeModelessElements - updates the modeless dialog elements z-index when the maximize event is fired.\n * When the fullscreen property is `false` need to make the dialog full screen and set the z-index to 1000.\n * When the fullscreen property is `true` need so set the z-index to 985 and the size back to normal.\n * @param id {string} - the id of the modeless dialog\n * @param payload {Object} - the payload from the maximize event\n * @param dialogElement {Object} - the dialog element to update\n */\nexport const updateMaximizeModelessElements = (id, payload, dialogElement) => {\n\tconst { fullscreen = true } = payload;\n\tfullscreen\n\t\t? onModelessElementsUpdated(id, dialogElement, true)\n\t\t: onModelessDialogMaximize(id, dialogElement);\n};\n\n/**\n * @description getModelessMaximizedDialogElements - gets the modeless dialog element by id and host\n * @param id{string} - the id of the modeless dialog\n * @param host{Object} - the host element\n * @returns {[boolean,*]} - array containing the shouldContinue flag and the dialogElement\n */\nexport const getModelessMaximizedDialogElements = (id, host) => {\n\tconst nodeElement = validateModelessDialogElement(id, host);\n\treturn nodeElement ? [true, nodeElement] : [false, undefined];\n};\n\n/**\n * @description updateFocusMinimizedModelessDialog - updates focus on the minimized modeless dialog dropdown\n * @param modelessDropdownElement {Object} - The Modeless Dialog Dropdown Element to update\n * @returns {void}\n */\nexport const updateFocusMinimizedModelessDialog = (modelessDropdownElement) => {\n\tif (!modelessDropdownElement) return;\n\tmodelessDropdownElement.setAttribute(TAB_INDEX, TAB_INDEX_VALUE);\n\tmodelessDropdownElement.focus();\n};\n\n/**\n * @description getModelessListControllerElement - gets the modeless list controller element by metaId and instanceId.\n * Then gets the modeless-dialog elements in the controller and updates the z-index based on the instanceIndex.\n * @param metaId {string} - the metaId of the modeless list controller\n * @param instanceId {string}- the instanceId of the modeless dialog\n * @param host {Object} - the host element\n */\nexport const getModelessListControllerElement = (metaId, instanceId, host) => {\n\tconst controllerElement = deepSearchElement(`[now-id=\"${metaId}\"]`, host);\n\tif (controllerElement) {\n\t\tconst { modelessList = [] } = controllerElement.getResolvedProperties();\n\t\tconst instanceIndex = modelessList\n\t\t\t.filter((item) => Object.keys(item).length > 0)\n\t\t\t.findIndex((item) => item.instanceId === instanceId);\n\t\tif (instanceIndex === -1) return;\n\t\tconst repeaterElements = deepSearchElement(\n\t\t\t'[data-type=\"repeater\"]',\n\t\t\tcontrollerElement.parentElement,\n\t\t);\n\t\t//iterate through the repeaterElements and set the z-index for the instanceIndex\n\t\tupdateUnhidModelessElements(instanceIndex, repeaterElements);\n\t}\n};\n","import {\n\tDATA_TYPE,\n\tFALSE,\n\tFOCUSED_INDEX,\n\tFULL_SCREEN_INDEX,\n\tIS_FOCUSED,\n\tMODELESS_DIALOG,\n\tNOW_ID,\n\tPOSITION,\n\tREPEATER,\n\tTRUE,\n\tUNFOCUSED_INDEX,\n} from './modelessDialogConstants';\nimport { deepSearchElement, deepSearchAllElement } from 'sn-canvas-common';\n\n/**\n * @description onModelessDialogMaximize - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id {string} - the id of the modeless dialog\n * @param dialogElement {object} - the dialog element to update\n */\nexport const onModelessDialogMaximize = (id, dialogElement) => {\n\tfor (let node of dialogElement.parentElement.childNodes) {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tif (nowId === id) {\n\t\t\tnode.setAttribute(IS_FOCUSED, TRUE);\n\t\t\tnode.style.zIndex = FULL_SCREEN_INDEX;\n\t\t\tnode.style.position = POSITION;\n\t\t} else {\n\t\t\tnode.style.zIndex = UNFOCUSED_INDEX;\n\t\t\tnode.setAttribute(IS_FOCUSED, FALSE);\n\t\t}\n\t}\n};\n\n/**\n * @description onModelessElementsUpdated - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id{string} - the id of the modeless dialog\n * @param dialogElement{object} - the dialog element to update\n * @param shouldFocus{boolean} - the shouldFocus flag\n */\nexport const onModelessElementsUpdated = (id, dialogElement, shouldFocus) => {\n\t//iterate through all now-modeless-dialog nodes\n\tdialogElement.parentElement.childNodes.forEach((node) => {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tnode.setAttribute(IS_FOCUSED, nowId === id ? TRUE : FALSE); //only set focus attribute if id's match\n\t\tnowId === id\n\t\t\t? (node.style.zIndex = FOCUSED_INDEX)\n\t\t\t: (node.style.zIndex = UNFOCUSED_INDEX); //set the z-index based on the id\n\t\tnode.style.position = POSITION;\n\t});\n};\n\n/**\n * @description fetchModelessDialogElements - fetch all the modelessDialog elements by id and host is from UIB.\n * @param id {string} - the id of the modeless dialog\n * @param host {Object} - the host element\n * @returns {*|null} returns a valid modeless dialog element list or null\n */\n\nexport const fetchModelessDialogElements = (id, host) => {\n\tconst nodeElements = deepSearchAllElement(`[${NOW_ID}=\"${id}\"]`, host);\n\tif (!nodeElements || !nodeElements.length) return null;\n\tlet modelessDialogList = nodeElements.filter(\n\t\t(nodeElement) =>\n\t\t\tnodeElement.nodeName === MODELESS_DIALOG &&\n\t\t\tnodeElement.parentElement.getAttribute(DATA_TYPE) === REPEATER,\n\t);\n\treturn modelessDialogList;\n};\n\n/**\n * @description validateModelessDialogElement - validates the modelessDialog element by id and host is from UIB.\n * @param id {string} - the id of the modeless dialog\n * @param host {Object} - the host element\n * @returns {*|null} returns a valid modeless dialog element or null\n */\nexport const validateModelessDialogElement = (id, host) => {\n\tconst nodeElement = deepSearchElement(`[${NOW_ID}=\"${id}\"]`, host);\n\tif (!nodeElement) return null; //if the dialog is not found then return\n\tif (nodeElement.nodeName !== MODELESS_DIALOG) return null; //only run logic for modeless dialog\n\tif (!(nodeElement.parentElement.getAttribute(DATA_TYPE) === REPEATER)) {\n\t\treturn null;\n\t}\n\treturn nodeElement;\n};\n\n/**\n * @description updateFocusMinimizedModelessDialog - updates the z-index of the modeled dialog when un-hiding the dialog.\n * @param instanceIndex {number} - the index of the modeless dialog\n * @param repeaterElements {Object} - the repeater element\n */\nexport const updateUnhidModelessElements = (\n\tinstanceIndex,\n\trepeaterElements,\n) => {\n\tlet repeaterNode;\n\n\t//filter any childNode whose nodeName is not \"NOW-MODELESS-DIALOG\" handles DEF0515494 case\n\tconst filteredChildNodes = [...repeaterElements.childNodes].filter(\n\t\t(node) => node.nodeName === MODELESS_DIALOG,\n\t);\n\n\tfor (const [index, node] of filteredChildNodes.entries()) {\n\t\tif (index === instanceIndex) {\n\t\t\tnode.setAttribute(IS_FOCUSED, TRUE);\n\t\t\tObject.assign(node.style, {\n\t\t\t\tzIndex: FULL_SCREEN_INDEX,\n\t\t\t\tposition: POSITION,\n\t\t\t});\n\t\t\trepeaterNode = node;\n\t\t} else {\n\t\t\tnode.style.zIndex = UNFOCUSED_INDEX;\n\t\t\tnode.setAttribute(IS_FOCUSED, FALSE);\n\t\t}\n\t}\n\tif (repeaterNode) repeaterNode.focus();\n};\n","import {\n\tgetModelessDialogElements,\n\tupdateModelessElements,\n\tupdateMaximizeModelessElements,\n\tgetModelessMaximizedDialogElements,\n\tupdateFocusMinimizedModelessDialog,\n\tgetModelessListControllerElement,\n} from './utils/modelessDialog.utils';\nimport { MINIMIZED_MODELESS_DIALOG_DROPDOWN } from '../../constants/constants';\nimport { deepSearchElement } from 'sn-canvas-common';\n/**\n * @description handleModelessDialogZIndexEvents is the current function used to handle the modeless dialog zIndex events.\n * the updateModelessElements function is called if the shouldContinue is true and update the element directly\n * @param action{Object} - the action payload from the modelessDialog action\n * @param host{Object} - the host element\n * @param shouldFocus{boolean} - the shouldFocus flag\n */\nexport const handleModelessDialogZIndexEvents = (\n\taction,\n\thost,\n\tshouldFocus = false,\n) => {\n\tconst { id } = action.meta;\n\tconst [shouldContinue = false, dialogElements = []] =\n\t\tgetModelessDialogElements(id, host);\n\tif (shouldContinue) updateModelessElements(id, dialogElements, shouldFocus);\n};\n\n/**\n * @description handleModelessDialogZIndexMaximizeEvents handles the modeless dialog zIndex events when the maximized events are dispatched.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleModelessDialogZIndexMaximizeEvents = (action, host) => {\n\tconst { id } = action.meta;\n\tconst { payload } = action;\n\tconst [shouldContinue = false, dialogElement = {}] =\n\t\tgetModelessMaximizedDialogElements(id, host);\n\tif (shouldContinue)\n\t\tupdateMaximizeModelessElements(id, payload, dialogElement);\n};\n\n/**\n * @description handleModelessDialogMinimizeEvents handles the modeless dialog focus when the minimized events are dispatched.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleModelessDialogMinimizeEvents = (action, host) => {\n\tconst nodeElement = deepSearchElement(\n\t\tMINIMIZED_MODELESS_DIALOG_DROPDOWN,\n\t\thost,\n\t);\n\t//if the dialog is not found then return\n\tif (!nodeElement) return;\n\tupdateFocusMinimizedModelessDialog(nodeElement);\n};\n\n/**\n * @description handleUnhideModelessDialogZIndexEvent handles the modeless dialog zIndex events when the dialog is unhidden.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleUnhideModelessDialogZIndexEvent = (action, host) => {\n\tconst { id: metaId } = action.meta;\n\tconst { instanceId, type = '' } = action.payload;\n\tif (type === 'RESTORED') {\n\t\tgetModelessListControllerElement(metaId, instanceId, host);\n\t}\n};\n","import {\n\tNOW_MODELESS_CHECK_FIT,\n\tNOW_MODELESS_DIALOG_MAXIMIZE,\n\tNOW_MODELESS_DIALOG_MOUSE_DOWN,\n\tNOW_MODELESS_DIALOG_MINIMIZE,\n\tUXF_DIALOG_OPENED,\n} from '../../constants/constants';\nimport {\n\thandleModelessDialogZIndexEvents,\n\thandleModelessDialogZIndexMaximizeEvents,\n\thandleModelessDialogMinimizeEvents,\n\thandleUnhideModelessDialogZIndexEvent,\n} from './modelessDialog.action.factory';\n\n/**\n * @description modelessDialogActionHandlers - an object that contains the z-index action handlers for the modeless dialog\n * @type {{[NOW_MODELESS_DIALOG_MOUSE_DOWN]: (function({action: *, host: *}): void), [NOW_MODELESS_CHECK_FIT]: (function({action: *, host: *}): void), [UXF_DIALOG_OPENED]: (function({action: *, host: *}): void), [NOW_MODELESS_DIALOG_MINIMIZE]: (function({action: *, host: *}): void), [NOW_MODELESS_DIALOG_MAXIMIZE]: (function({action: *, host: *}): void)}}\n */\nexport const modelessDialogActionHandlers = {\n\t//handles the action when the dialog is rendered on the screen after the controller insert events\n\t[NOW_MODELESS_CHECK_FIT]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexEvents(action, host, true),\n\t//handles the mousedown event when the dialog is clicked. Pending a focused event from NDS, will use this event to set the z-index\n\t[NOW_MODELESS_DIALOG_MOUSE_DOWN]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexEvents(action, host, false),\n\t//handles the maximize event from NDS, need to adjust the z-index based on fullscreen or normal mode\n\t[NOW_MODELESS_DIALOG_MAXIMIZE]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexMaximizeEvents(action, host),\n\t//handles the minimize event from NDS, need to adjust the focus back to in-progress actions\n\t[NOW_MODELESS_DIALOG_MINIMIZE]: ({ action, host }) =>\n\t\thandleModelessDialogMinimizeEvents(action, host),\n\t//handles the z-index event when the dialog is unhidden\n\t[UXF_DIALOG_OPENED]: ({ action, host }) =>\n\t\thandleUnhideModelessDialogZIndexEvent(action, host),\n};\n","import { isEqual, omit } from 'lodash';\nimport { klona } from 'klona';\nimport { calculateNewScreenStatusPayloads } from 'sn-canvas-common';\nimport {\n\tcreateCustomElement,\n\tactionTypes,\n\tdeclarativeOperations,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport {\n\tactionHandlers,\n\thandleDirtyStateCallbackFn,\n} from './sn-canvas-main.effects';\nimport dialogActionHandlers from './sn-canvas-main.dialog.effects';\nimport styles from './_sn-canvas-main.scss';\nimport GlobalUnloadistener from '../utils/global-unload-listener';\nimport { getPageProperties } from '../utils/uxGlobals';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nimport {\n\tscreensDataBehaviors,\n\tscreenStatusChangeBehavior,\n\tactivityLogBehavior,\n\tuserPreferenceBehavior,\n} from '../behaviors/sn-canvas-screens/sn-canvas-screens.behaviors';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\n\nimport {\n\tSN_CANVAS_MAIN,\n\tEXPERIENCE_SCREENS_UPDATED,\n\tLAYOUT_PROP_RESET_REQUESTED,\n} from '../constants/constants';\nimport { generateScreenKey } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport { modelessDialogActionHandlers } from './actions/modelessDialog.actions';\n\nimport { renameObjectKey } from './sn-canvas-main.util';\n\nexport const canvasMainlifeCycleHandlers = {\n\t[COMPONENT_DOM_READY]: ({\n\t\thost,\n\t\tproperties: { selectedContent },\n\t\tupdateState,\n\t}) => {\n\t\tconst pageProperties = getPageProperties(\n\t\t\tselectedContent?.context?.path,\n\t\t);\n\t\tif (pageProperties) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'pageProperties',\n\t\t\t\tvalue: pageProperties,\n\t\t\t\toperation: declarativeOperations.ASSIGN,\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t}\n\t\tconst nowId = host.getAttribute('now-id');\n\n\t\tGlobalUnloadistener.add(nowId, () => {\n\t\t\t/**\n\t\t\t * NOTE: Before the Dirty State Management(DSM) Epic\n\t\t\t * we used internal actions to know the dirtiness\n\t\t\t * of modeless dialog instances. We also relied\n\t\t\t * on `screenData` to check if a screen is dirty.\n\t\t\t * After DSM is introduced, main gets the aggregated\n\t\t\t * dirtiness from DSM. We do not want show the browser\n\t\t\t * alert on page unload if we are already displaying\n\t\t\t * the confirmation modal.\n\t\t\t */\n\t\t\treturn host.hasDirtyDescendant ? !host.showDialogModal : false;\n\t\t});\n\t},\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.remove(nowId);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\tstate,\n\t\tupdateState,\n\t\taction: { payload },\n\t\tproperties: { screensData, selectedContent },\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) => {\n\t\tconst { name, value, previousValue } = payload;\n\t\tif (!value) return;\n\n\t\tif (name === 'screenStatus') {\n\t\t\tconst newScreenStatusPayloads = calculateNewScreenStatusPayloads(\n\t\t\t\tpreviousValue,\n\t\t\t\tvalue,\n\t\t\t);\n\n\t\t\tconst _newScreenKeyMap = new Map(state.screenKeyMap);\n\t\t\tnewScreenStatusPayloads.forEach((item) => {\n\t\t\t\tconst { screenKey, screenParams } = item;\n\t\t\t\tlet updateActiveScreenId = null;\n\t\t\t\tif (!screenKey || !screenParams) return;\n\t\t\t\tlet _screensData = { ...screensData };\n\n\t\t\t\tconst { route, fields, multiInstField, context } = {\n\t\t\t\t\t...selectedContent,\n\t\t\t\t};\n\t\t\t\tlet _fields = { ...fields };\n\t\t\t\tif (multiInstField && screenParams[multiInstField])\n\t\t\t\t\t_fields[multiInstField] = screenParams[multiInstField];\n\t\t\t\telse {\n\t\t\t\t\t_fields = { ..._fields, ...screenParams };\n\t\t\t\t}\n\t\t\t\tlet newKey = generateScreenKey(_fields, route, context);\n\n\t\t\t\tif (\n\t\t\t\t\tnewKey !== screenKey &&\n\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t\t_screensData,\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t_screensData = renameObjectKey(\n\t\t\t\t\t\t_screensData,\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\tnewKey,\n\t\t\t\t\t);\n\n\t\t\t\t\t_screensData[newKey] = {\n\t\t\t\t\t\t..._screensData[newKey],\n\t\t\t\t\t\tfields: _fields,\n\t\t\t\t\t\tscreenKey: newKey,\n\t\t\t\t\t};\n\n\t\t\t\t\t_newScreenKeyMap.set(newKey, screenKey);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tscreenKeyMap: _newScreenKeyMap,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t//update activeScreenId only if the sourceScreen is active.\n\t\t\t\tif (_screensData[newKey]?.isActive === true) {\n\t\t\t\t\tupdateActiveScreenId = {\n\t\t\t\t\t\tpath: 'activeScreenId',\n\t\t\t\t\t\tvalue: newKey,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tupdateProperties(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\tvalue: _screensData,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tif (updateActiveScreenId) {\n\t\t\t\t\tupdateProperties(() => {\n\t\t\t\t\t\treturn { ...updateActiveScreenId };\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (name === 'closedNavigationIds') {\n\t\t\tlet { value: closedNavigationIds } = payload;\n\t\t\tif (!closedNavigationIds || !Array.isArray(closedNavigationIds))\n\t\t\t\treturn;\n\t\t\tupdateProperties(\n\t\t\t\t({ properties: { screensData: screensDataLatest } }) => {\n\t\t\t\t\tconst screensDataNew = omit(screensDataLatest, [\n\t\t\t\t\t\t...closedNavigationIds,\n\t\t\t\t\t]);\n\t\t\t\t\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\tvalue: screensDataNew,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t\tdispatch(({ properties: { screensData: screensDataLatest } }) => {\n\t\t\t\tconst screensDataNew = omit(screensDataLatest, [\n\t\t\t\t\t...closedNavigationIds,\n\t\t\t\t]);\n\t\t\t\treturn {\n\t\t\t\t\ttype: EXPERIENCE_SCREENS_UPDATED,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tcontext: selectedContent?.context,\n\t\t\t\t\t\tscreensData: screensDataNew,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch(LAYOUT_PROP_RESET_REQUESTED, {\n\t\t\t\tclosedNavigationIds: [],\n\t\t\t});\n\t\t} else if (name === 'screensToCloseQueue') {\n\t\t\tif (!Array.isArray(value) || value.length === 0) return;\n\n\t\t\tconst newScreensData = klona(screensData);\n\t\t\tvalue.forEach((screen) => {\n\t\t\t\t//TODO: check if dirty dialog intervention required\n\t\t\t\t//TODO: may be we need to prevent non-dirty screen close\n\t\t\t\t// or require some configuration driven flow ?\n\t\t\t\tdelete newScreensData[screen.screenKey];\n\t\t\t});\n\n\t\t\tif (!isEqual(newScreensData, screensData))\n\t\t\t\tupdateProperties({\n\t\t\t\t\tscreensData: newScreensData,\n\t\t\t\t});\n\t\t}\n\t},\n};\n\ncreateCustomElement(SN_CANVAS_MAIN, {\n\ttype: snabbdom,\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tscreenKeyMap: new Map(),\n\t\tpageProperties: null,\n\t},\n\tbehaviors: [\n\t\t...screensDataBehaviors,\n\t\tscreenStatusChangeBehavior,\n\t\tactivityLogBehavior,\n\t\tuserPreferenceBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: handleDirtyStateCallbackFn,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\tshowDialogModal: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tdialogId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\tcompositionId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\tsourceElementId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\t// The main can now check if any child/descendant component\n\t\t// is dirty instead of just dirty dialog.\n\t\thasDirtyDescendant: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpersistedState: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpropagatedMetaFromDialogCloseRequested: {\n\t\t\tdefault: {},\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...canvasMainlifeCycleHandlers,\n\t\t...dialogActionHandlers,\n\t\t...modelessDialogActionHandlers,\n\t},\n});\n","export function buildScreenKey(key, map) {\n\treturn map.get(key) ? map.get(key) : key;\n}\n\nexport function renameObjectKey(obj, oldKey, newKey) {\n\tif (!(oldKey in obj) || oldKey === newKey) return obj;\n\tconst newObj = {};\n\tfor (const key of Object.keys(obj)) {\n\t\tif (key === oldKey) {\n\t\t\tnewObj[newKey] = obj[oldKey];\n\t\t} else {\n\t\t\tnewObj[key] = obj[key];\n\t\t}\n\t}\n\treturn newObj;\n}\n","import { t } from 'sn-translate';\nimport '@servicenow/now-modal';\nimport {\n\tDIALOG_CLOSE_CONFIRMED,\n\tDIALOG_CLOSE_CANCELED,\n\tCLOSE_DIALOG,\n\tWARNING_MESSAGE,\n} from '../constants/constants';\n\nimport { buildScreenKey } from './sn-canvas-main.util';\n\nexport default (derivedState) => {\n\tconst {\n\t\tselectedContent,\n\t\tscreensData,\n\t\tactivityLogs,\n\t\tpersistedState,\n\t\tuserPrefs,\n\t\trouteConfig,\n\t\texperienceId,\n\t\tshowDialogModal,\n\t} = derivedState.properties;\n\tif (!selectedContent || typeof selectedContent === 'string') return null;\n\tif (!userPrefs || typeof userPrefs === 'string') return null;\n\n\tconst createScreens = (screensData) => {\n\t\tif (!screensData) return null;\n\t\tconst screensArr = [];\n\t\tObject.keys(screensData).forEach((screenId) => {\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tconst { _timestamp, lastActiveTimeStamp, ...screenData } =\n\t\t\t\tscreensData[screenId];\n\t\t\tscreensArr.push({\n\t\t\t\t...screenData,\n\t\t\t\t...(!isNaN(_timestamp) && {\n\t\t\t\t\tlastNavigationTimestamp: _timestamp,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\n\t\treturn (\n\t\t\t<main aria-label={t('Screen content')} className=\"sn-canvas-main\">\n\t\t\t\t{screensArr.map((screenData) => {\n\t\t\t\t\tlet nowMode = 'active';\n\t\t\t\t\tif (screenData.discarded === true) nowMode = 'detach';\n\t\t\t\t\telse if (screenData.suspended === true) nowMode = 'suspend';\n\n\t\t\t\t\tconst persistedStateForScreen =\n\t\t\t\t\t\tpersistedState?.[screenData.screenKey];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<sn-canvas-screen\n\t\t\t\t\t\t\tkey={buildScreenKey(\n\t\t\t\t\t\t\t\tscreenData.screenKey,\n\t\t\t\t\t\t\t\tderivedState.screenKeyMap,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tpersisted-state={persistedStateForScreen}\n\t\t\t\t\t\t\texperience-id={experienceId}\n\t\t\t\t\t\t\tscreen-id={screenData.screenKey}\n\t\t\t\t\t\t\tscreen-data={{ ...screenData }}\n\t\t\t\t\t\t\tactivity-logs={activityLogs}\n\t\t\t\t\t\t\tuser-prefs={userPrefs}\n\t\t\t\t\t\t\troute-config={routeConfig}\n\t\t\t\t\t\t\tnow-mode={nowMode}\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\tscreenData.isActive ? {} : { display: 'none' }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{showDialogModal && (\n\t\t\t\t\t<now-modal\n\t\t\t\t\t\topened={showDialogModal}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tmanageOpened\n\t\t\t\t\t\theader-label={CLOSE_DIALOG}\n\t\t\t\t\t\tcontent={WARNING_MESSAGE}\n\t\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\t\t\tclickActionType: DIALOG_CLOSE_CONFIRMED,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\t\t\tclickActionType: DIALOG_CLOSE_CANCELED,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/main>\n\t\t);\n\t};\n\n\treturn createScreens(screensData);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isDesktopSafari\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.__esModule\n\t\t\t\t\tif (cjsModule && 'isDesktopSafari' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].isDesktopSafari;\n\t\t\t\t\t} else if ('isDesktopSafari' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.isDesktopSafari || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].isDesktopSafari;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","export const setPropsOnDom = (domObj, propObj) => {\n\tif (!domObj || !propObj) return;\n\tfor (const prop in propObj) {\n\t\tdomObj[prop] = propObj[prop];\n\t}\n\treturn domObj;\n};\n","import { isEqual, set } from 'lodash';\nimport { setPropsOnDom } from './sn-canvas-screen.util';\nimport {\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tIS_COMPONENT_IN_VIEW,\n\tNOW_MODE_ACTIVE,\n} from '../constants/constants';\nimport { getUxfSysProp } from '../utils/uxGlobals';\n\nexport const handleScreenDataChange = ({\n\tvalue = {},\n\tpreviousValue = {},\n\tstate,\n\tproperties,\n\thost,\n}) => {\n\tconst { targetRef } = state;\n\tconst { userPrefs = {} } = properties;\n\tif (\n\t\t!targetRef ||\n\t\ttargetRef.children.length == 0 ||\n\t\ttargetRef.children[0].children.length == 0\n\t)\n\t\treturn;\n\tconst {\n\t\tparams: prevParams = {},\n\t\tfields: prevFields,\n\t\tsearch: prevSearch,\n\t} = previousValue;\n\tconst {\n\t\tmacroponentConfiguration = {},\n\t\tfields = {},\n\t\tparams = {},\n\t\tmultiInstField,\n\t\tisActive,\n\t\tsuspended = false,\n\t\tlastActiveTimeStamp,\n\t\tsearch,\n\t} = value;\n\tif (isActive) set(window, 'ux_globals.snCanvasScreen', host);\n\n\t// isActive if isActive True, logViewed\n\tconst oldNode = targetRef.children[0].children[0];\n\tif (!isEqual(params, prevParams) && oldNode) {\n\t\tconst flattenedParams = {\n\t\t\t...macroponentConfiguration,\n\t\t\tsearch,\n\t\t\t...params,\n\t\t\t...fields,\n\t\t};\n\t\tif (multiInstField && flattenedParams[multiInstField])\n\t\t\tflattenedParams[multiInstField] =\n\t\t\t\tfields[multiInstField].split('_uid_')[0];\n\t\tif (flattenedParams)\n\t\t\tObject.keys(flattenedParams).forEach(\n\t\t\t\t(key) => (oldNode[key] = flattenedParams[key]),\n\t\t\t);\n\t} else {\n\t\t// rule out a case where fields contains sysId in the form of -1_uid_xxx.\n\t\t// sysId as -1_uid_xxx and -1 should be considered equal, so we don't run into\n\t\t// invalid sysId when triggering a refresh of data like DEF0574631.\n\t\tif (\n\t\t\tfields?.sysId &&\n\t\t\tfields?.sysId !== '-1' &&\n\t\t\tfields?.sysId.startsWith('-1') &&\n\t\t\tprevFields?.sysId === '-1'\n\t\t) {\n\t\t\tfields.sysId = '-1';\n\t\t}\n\t\t// When a field value is updated, apply update to oldNode (or macroponent)\n\t\tif (!isEqual(fields, prevFields) && oldNode) {\n\t\t\tObject.keys(fields).forEach((key) => (oldNode[key] = fields[key]));\n\t\t\toldNode.search = search;\n\t\t} else if (search !== prevSearch && oldNode) {\n\t\t\toldNode.search = search;\n\t\t}\n\t}\n\n\tlet propObj = {\n\t\tscreen: {\n\t\t\tisActive,\n\t\t\tisSuspended: suspended,\n\t\t\t...(lastActiveTimeStamp && { lastActiveTimeStamp }),\n\t\t},\n\t};\n\t// if userPrefs are available, include them in the new props\n\tif (userPrefs) propObj.userPrefs = userPrefs;\n\n\tif (isTransactionCancellationEnabled()) {\n\t\t/**\n\t\t * Viewport macroponents nowMode is set to SUSPEND when the route is inactive.\n\t\t * Seismic prevents re-render if nowMode is SUSPEND, hence, upon COMPONENT_TREE_RENDERED\n\t\t * we would set the nowMode to suspend to avoid regressions and hence need must be reverted when route becomes active\n\t\t */\n\t\tif (isActive) propObj.nowMode = NOW_MODE_ACTIVE;\n\n\t\tpropObj[IS_COMPONENT_IN_VIEW] = Boolean(isActive);\n\t}\n\tsetPropsOnDom(oldNode, { ...propObj });\n};\n\nexport const handleUserPrefsChange = ({ value = {}, state }) => {\n\tconst { targetRef } = state;\n\tif (!targetRef) return;\n\tlet oldNode = null;\n\tif (\n\t\ttargetRef.children.length != 0 &&\n\t\ttargetRef.children[0].children.length != 0\n\t) {\n\t\toldNode = targetRef.children[0].children[0];\n\t}\n\n\tsetPropsOnDom(targetRef, { userPrefs: { ...value } });\n\n\tif (oldNode) {\n\t\tsetPropsOnDom(oldNode, { userPrefs: { ...value } });\n\t}\n};\n\nexport const handleActivityLogsChange = ({\n\tvalue = {},\n\tpreviousValue = {},\n\tstate,\n}) => {\n\tif (!isEqual(value, previousValue)) {\n\t\tconst { targetRef } = state;\n\t\tlet node = targetRef?.firstElementChild?.firstElementChild;\n\t\tif (node && value instanceof Map) {\n\t\t\tnode.activityLogs = value;\n\t\t}\n\t}\n};\n\nexport const handlePersistedStateChange = ({\n\tvalue = {},\n\tstate,\n\tproperties,\n}) => {\n\tconst { targetRef } = state;\n\tconst { screenData } = properties;\n\n\tconst persistedStatePropForScreen =\n\t\tvalue?.[screenData.viewportConfigurationId] ?? null;\n\n\tlet node = targetRef?.firstElementChild?.firstElementChild;\n\tif (node) {\n\t\tsetPropsOnDom(node, {\n\t\t\t[META_PROP_NAME_PERSISTED_STATE]: {\n\t\t\t\t...persistedStatePropForScreen,\n\t\t\t},\n\t\t});\n\t}\n};\nfunction isTransactionCancellationEnabled() {\n\treturn (\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.enable_transaction_cancellation',\n\t\t\t'false',\n\t\t) === 'true'\n\t);\n}\n","import { set, get, isEmpty } from 'lodash';\nimport {\n\tactionTypes,\n\tmodifierTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isDesktopSafari } from '@servicenow/library-enhanced-utils';\nimport { getFocusableNodes } from '@servicenow/behavior-focus';\nimport {\n\tgetAppliedTemplate,\n\tregisterScreenActionTransformer,\n} from '@devsnc/library-uxf';\nimport { setPropsOnDom } from './sn-canvas-screen.util';\nimport { getRouteToScreenMap } from '../behaviors/sn-canvas-screens/sn-canvas-screens.config';\nimport { getPrimaryExperienceRoutes } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport {\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tMETA_PROP_REFLOW_DISABLED,\n\tREFLOW_DISABLED_APP_CONFIG,\n\tREFLOW_DISABLED_SCREEN,\n} from '../constants/constants';\nimport {\n\tSCREEN_DATA,\n\tERROR_MESSAGES,\n\tSCREEN_STATUS_CHANGED,\n\tNAV_ITEM_SELECTED,\n\tCONTENT_UPDATED,\n\tROUTE_CONFIG,\n\tSUPPORTED_ERRORS,\n\tSCREEN_BLOCK_LOADING_END_REQUESTED,\n} from '../constants/constants';\nimport {\n\thandleScreenDataChange,\n\thandleUserPrefsChange,\n\thandleActivityLogsChange,\n\thandlePersistedStateChange,\n} from './sn-canvas-screen.change.effects';\nimport { PERSIST_STATE_CONSTANTS } from 'sn-canvas-common';\n\nconst { ACTION_PERSIST_STATE, ACTION_PERSIST_STATE_INTERNAL } =\n\tPERSIST_STATE_CONSTANTS;\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } = actionTypes;\nexport const MILLISECONDS_LOADING_TRANSITION = 200; // 200ms matches the transition in '.blocked-loader'\n\nSUPPORTED_ERRORS.forEach((errorCode) => {\n\tcreateCustomElement(`sn-canvas-custom${errorCode}`, {\n\t\ttype: snabbdom,\n\t\t// eslint-disable-next-line react/display-name\n\t\tview: () => (\n\t\t\t<now-heading\n\t\t\t\tlabel={ERROR_MESSAGES[errorCode]}\n\t\t\t\tlevel=\"1\"\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t/>\n\t\t),\n\t});\n});\n\nconst loadScreen = async (\n\ttargetRef,\n\tproperties,\n\tdispatch,\n\tisBlockedLoading = false,\n) => {\n\tif (!targetRef) return;\n\tconst {\n\t\tscreenData,\n\t\tpersistedState,\n\t\tactivityLogs,\n\t\tuserPrefs,\n\t\trouteConfig,\n\t\texperienceId,\n\t} = properties;\n\tconst host = targetRef.getRootNode()?.host;\n\tlet uxrInteractionId =\n\t\twindow.nowUiFramework?.getUxrInteractionIdByHost?.(host);\n\tif (screenData.isActive) set(window, 'ux_globals.snCanvasScreen', host);\n\tlet {\n\t\tmacroponentSysId,\n\t\tmacroponentConfiguration = {},\n\t\tviewportConfigurationId,\n\t\tmultiInstField,\n\t\tfields = {},\n\t\tparams = {},\n\t\teventMappings = [],\n\t\tisActive,\n\t\tsuspended = false,\n\t\tlastActiveTimeStamp,\n\t\tsearch,\n\t\thydrateContext,\n\t\tisInterop,\n\t\tappConfigId,\n\t} = screenData;\n\n\tconst { route } = screenData;\n\tconst actionTransformerTag = registerScreenActionTransformer(\n\t\tviewportConfigurationId,\n\t\teventMappings,\n\t);\n\n\tlet errorCode;\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst AUTH_ROUTES = get(window, ROUTE_CONFIG_OBJ?.AUTH_ROUTES, {});\n\tconst ROUTES = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst FORWARDED_ROUTES = get(\n\t\twindow,\n\t\tROUTE_CONFIG_OBJ?.FORWARDED_ROUTES,\n\t\t{},\n\t);\n\n\tif (!macroponentSysId) {\n\t\terrorCode = 404;\n\n\t\tif (Object.prototype.hasOwnProperty.call(FORWARDED_ROUTES, route))\n\t\t\terrorCode = 403;\n\n\t\tconst routeToScreenMap =\n\t\t\trouteConfig && routeConfig.routeToScreenMap\n\t\t\t\t? routeConfig.routeToScreenMap\n\t\t\t\t: getRouteToScreenMap(routeConfig);\n\n\t\tconst customAuthRote = get(AUTH_ROUTES, `custom${errorCode}`, null);\n\t\tlet macroponents = [];\n\t\tlet routeObj = {};\n\n\t\tif (customAuthRote) {\n\t\t\tconst primaryExpRoutes = getPrimaryExperienceRoutes();\n\t\t\tif (primaryExpRoutes[customAuthRote]) {\n\t\t\t\trouteObj = primaryExpRoutes[customAuthRote].filter(\n\t\t\t\t\t(route) =>\n\t\t\t\t\t\troute.fields.length === Object.keys(fields).length,\n\t\t\t\t)[0];\n\t\t\t} else if (routeToScreenMap[customAuthRote]) {\n\t\t\t\tlet customAuthRouteFields = get(ROUTES, customAuthRote)[0]\n\t\t\t\t\t.fields;\n\t\t\t\tlet fieldsLen = customAuthRouteFields.length;\n\t\t\t\trouteObj = get(\n\t\t\t\t\trouteToScreenMap,\n\t\t\t\t\t`${customAuthRote}[${fieldsLen}]`,\n\t\t\t\t\t{},\n\t\t\t\t);\n\t\t\t}\n\t\t\tmacroponents = get(routeObj, 'macroponents', []);\n\t\t\tfields = get(routeObj, 'fields', {});\n\t\t\tif (!isEmpty(macroponents)) {\n\t\t\t\tmacroponentSysId = macroponents[0].macroponentSysId;\n\t\t\t\tmacroponentConfiguration =\n\t\t\t\t\tmacroponents[0].macroponentConfiguration;\n\t\t\t}\n\t\t}\n\n\t\tif (!macroponentSysId) {\n\t\t\tlet newNode = document.createElement(\n\t\t\t\t`sn-canvas-custom${errorCode}`,\n\t\t\t);\n\t\t\tnewNode.className = `sn-canvas-default${errorCode}`;\n\t\t\tconst oldNode = targetRef.childNodes[0];\n\t\t\tif (oldNode) targetRef.replaceChild(newNode, oldNode);\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {});\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst nowUxfReflowDisabledAppConfig = routeConfig.disableAutoReflow\n\t\t? true\n\t\t: false;\n\n\tlet nowUxfReflowDisabledScreen = false;\n\tconst routeObj = routeConfig?.routes?.[route];\n\n\tif (!isEmpty(routeObj)) {\n\t\tnowUxfReflowDisabledScreen = routeObj[0]?.macroponents[0]\n\t\t\t?.disableAutoReflow\n\t\t\t? true\n\t\t\t: false;\n\t}\n\n\tconst reflowDisable = {\n\t\t[META_PROP_REFLOW_DISABLED]: {\n\t\t\t[REFLOW_DISABLED_APP_CONFIG]: nowUxfReflowDisabledAppConfig,\n\t\t\t[REFLOW_DISABLED_SCREEN]: nowUxfReflowDisabledScreen,\n\t\t},\n\t};\n\n\tconst flattenParams = {\n\t\t...macroponentConfiguration,\n\t\tsearch,\n\t\t...params,\n\t\t...fields,\n\t\t...reflowDisable,\n\t};\n\n\tif (isInterop) {\n\t\tflattenParams.__DO_NOT_USE__nowUxfPfPropOverrides = {\n\t\t\tnowUxfAppConfigSysId: appConfigId,\n\t\t};\n\t}\n\n\tif (multiInstField && flattenParams[multiInstField])\n\t\tflattenParams[multiInstField] =\n\t\t\tfields[multiInstField].split('_uid_')[0];\n\n\tlet fragment;\n\tconst screenATEle = targetRef.querySelector(actionTransformerTag);\n\n\tif (!screenATEle) {\n\t\tfragment = await getAppliedTemplate(\n\t\t\tmacroponentSysId,\n\t\t\t{\n\t\t\t\t...flattenParams,\n\t\t\t},\n\t\t\texperienceId,\n\t\t\t// This is to facilitate the macroponent to know that it is being loaded in a screen\n\t\t\t// for the performance metrics.\n\t\t\thydrateContext,\n\t\t\tuxrInteractionId,\n\t\t);\n\t}\n\n\tconst persistedStateForFragment = persistedState?.[viewportConfigurationId];\n\n\t//add props to fragment\n\tconst propObj = {\n\t\tappendToPayload: { __uxfCompositionElId: viewportConfigurationId },\n\t\t...(activityLogs && activityLogs instanceof Map && { activityLogs }),\n\t\tscreen: {\n\t\t\tisActive,\n\t\t\tisSuspended: suspended,\n\t\t\t...(lastActiveTimeStamp && { lastActiveTimeStamp }),\n\t\t},\n\t\tuserPrefs,\n\t\t...(persistedStateForFragment && {\n\t\t\t[META_PROP_NAME_PERSISTED_STATE]: persistedStateForFragment,\n\t\t}),\n\t};\n\n\tconst addMCPReadyListener = (mcpEle) => {\n\t\tconst macroponentHandler = () => {\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {\n\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t});\n\n\t\t\tmcpEle.removeEventListener('MACROPONENT_READY', macroponentHandler);\n\t\t};\n\t\tif (isBlockedLoading) {\n\t\t\tconst macroponentIdleHandler = () => {\n\t\t\t\tdispatch(SCREEN_BLOCK_LOADING_END_REQUESTED);\n\t\t\t};\n\t\t\tmcpEle.addEventListener(\n\t\t\t\t'UXF_INTERNAL#SCREEN_MACROPONENT_IDLE',\n\t\t\t\tmacroponentIdleHandler,\n\t\t\t\t{ once: true },\n\t\t\t);\n\t\t}\n\t\tmcpEle.addEventListener('MACROPONENT_READY', macroponentHandler);\n\t};\n\n\tif (screenATEle) {\n\t\t//screen mcp exists in dom already\n\t\tconst loadingSpanEle = targetRef.children[0];\n\t\tloadingSpanEle.remove();\n\t\tconst screenMCPEle = screenATEle.children[0];\n\t\tsetPropsOnDom(screenMCPEle, { ...propObj });\n\t\taddMCPReadyListener(screenMCPEle);\n\t\treturn;\n\t}\n\n\tif (fragment && fragment.children.length > 0) {\n\t\tsetPropsOnDom(fragment.children[0], { ...propObj });\n\n\t\tconst fragmentItem = fragment.children[0];\n\t\taddMCPReadyListener(fragmentItem);\n\n\t\tconst actionTransformerElement =\n\t\t\tdocument.createElement(actionTransformerTag);\n\t\tactionTransformerElement.appendChild(fragment);\n\n\t\tconst oldNode = targetRef.childNodes[0];\n\t\tif (oldNode) {\n\t\t\ttargetRef.replaceChild(actionTransformerElement, oldNode);\n\t\t}\n\t}\n};\n\nexport const screenPropertyChangedEffect = ({\n\taction,\n\tstate,\n\tproperties,\n\thost,\n}) => {\n\tconst { name, value, previousValue } = action.payload;\n\tswitch (name) {\n\t\tcase SCREEN_DATA:\n\t\t\thandleScreenDataChange({\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\thost,\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'activityLogs':\n\t\t\thandleActivityLogsChange({ value, previousValue, state });\n\t\t\tbreak;\n\t\tcase 'userPrefs':\n\t\t\thandleUserPrefsChange({ value, previousValue, state });\n\t\t\tbreak;\n\t\tcase 'persistedState':\n\t\t\thandlePersistedStateChange({ value, state, properties });\n\t\t\tbreak;\n\t}\n};\n\nexport const navigationInterceptor = ({ action, properties }) => {\n\tif (!action.stopPropagation) return;\n\tconst { screenData } = properties;\n\tif (!screenData || screenData.isActive !== true) {\n\t\taction.stopPropagation();\n\t} else if (action.payload.targetRoute === 'current') {\n\t\tlet target = screenData;\n\t\twhile (target.parent) target = target.parent;\n\t\tconst { route, fields, params } = target;\n\t\tif (fields?.sysId?.startsWith('-1')) return;\n\t\tset(action, 'payload.targetRoute', { route, fields, params });\n\t}\n\n\t// Translate original route to alias for interop screens.\n\tif (screenData.isInterop) {\n\t\tconst ogRoute = get(action, ['payload', 'route'], '');\n\t\tconst translatedAlias = get(\n\t\t\tproperties,\n\t\t\t['routeConfig', 'interopAliasMap', screenData.appConfigId, ogRoute],\n\t\t\t'',\n\t\t);\n\t\tif (translatedAlias) {\n\t\t\tset(action, ['payload', 'route'], translatedAlias);\n\t\t}\n\n\t\tconst ogTargetRoute = get(\n\t\t\taction,\n\t\t\t['payload', 'targetRoute', 'route'],\n\t\t\t'',\n\t\t);\n\t\tconst translatedAliasForTargetRoute = get(\n\t\t\tproperties,\n\t\t\t[\n\t\t\t\t'routeConfig',\n\t\t\t\t'interopAliasMap',\n\t\t\t\tscreenData.appConfigId,\n\t\t\t\togTargetRoute,\n\t\t\t],\n\t\t\t'',\n\t\t);\n\t\tif (translatedAliasForTargetRoute) {\n\t\t\tset(\n\t\t\t\taction,\n\t\t\t\t['payload', 'targetRoute', 'route'],\n\t\t\t\ttranslatedAliasForTargetRoute,\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const screenStatusChangedEffect = ({ action, properties, state }) => {\n\tconst { context, route, fields, params, parent, redirect } =\n\t\tproperties.screenData;\n\tset(action, 'payload.isActive', properties.screenData.isActive);\n\tset(action, 'payload.screenKey', properties.screenData.screenKey);\n\tset(action, 'payload.screenNowId', properties.nowId);\n\tset(action, 'payload.sourceSelectedContent', {\n\t\tcontext,\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tparent,\n\t\tredirect,\n\t});\n\n\t// DEF0627471, DEF0778085 - Handle initial focus within the screen content area in Safari\n\tif (isDesktopSafari() && properties.screenData.isActive) {\n\t\tconst { targetRef, didSetInitialFocus } = state;\n\n\t\tif (didSetInitialFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tconst { firstFocusableElement } = getFocusableNodes(targetRef);\n\t\t\tfirstFocusableElement?.focus();\n\t\t}, MILLISECONDS_LOADING_TRANSITION);\n\t}\n};\n\nconst persistStateTerminator = {\n\tstopPropagation: true,\n\teffect: (coeffects) => {\n\t\tconst {\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: { path, value, persistTo },\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\tconst {\n\t\t\tscreenData: { screenKey },\n\t\t} = properties;\n\n\t\tdispatch(ACTION_PERSIST_STATE_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tpath,\n\t\t\tvalue,\n\t\t\tpersistTo,\n\t\t});\n\t},\n};\n\nconst stopBlockedLoading = {\n\tstopPropagation: true,\n\teffect: (coeffects) => {\n\t\tconst { state } = coeffects;\n\t\tconst targetRef = state.targetRef;\n\t\tconst loaderNode = targetRef?.childNodes[1];\n\t\tif (loaderNode) {\n\t\t\tif (targetRef.fullPageLoaderTimeoutRef) {\n\t\t\t\tclearTimeout(targetRef.fullPageLoaderTimeoutRef);\n\t\t\t\tdelete targetRef.fullPageLoaderTimeoutRef;\n\t\t\t}\n\t\t\tloaderNode.classList.add('removing-block-loader');\n\t\t\tsetTimeout(() => {\n\t\t\t\ttargetRef.removeChild(loaderNode);\n\t\t\t}, 200); // allow the animation to finish before removing the node. 200ms matches the transition in '.blocked-loader'\n\t\t}\n\t},\n};\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: screenPropertyChangedEffect,\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedEffect,\n\t[NAV_ITEM_SELECTED]: navigationInterceptor,\n\t[CONTENT_UPDATED]: navigationInterceptor,\n\t[ACTION_PERSIST_STATE]: persistStateTerminator,\n\t[SCREEN_BLOCK_LOADING_END_REQUESTED]: stopBlockedLoading,\n};\n\n// DEF0627471, DEF0778085 - Handle initial focus within the screen content area in Safari\nif (isDesktopSafari()) {\n\tactionHandlers[COMPONENT_RENDERED] = {\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 300 },\n\t\teffect: ({ state, updateState }) => {\n\t\t\tconst { targetRef, didSetInitialFocus } = state;\n\n\t\t\tif (didSetInitialFocus) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { firstFocusableElement } = getFocusableNodes(targetRef);\n\t\t\tfirstFocusableElement?.focus();\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'didSetInitialFocus',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t};\n}\n\nexport { actionHandlers, loadScreen };\n","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\n\nimport { actionHandlers, loadScreen } from './sn-canvas-screen.effects';\nimport { onDirtyStateChange } from './behaviors/dirtyStateHandler';\n\nimport styles from './_sn-canvas-screen.scss';\n\nimport {\n\tSN_CANVAS_SCREEN,\n\tSCREEN_DATA,\n\tSCREEN_BLOCK_LOADING_END_REQUESTED,\n\tSCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT,\n\tDEFAULT_FULL_PAGE_LOADER_LINK,\n\tTHEME_FULL_PAGE_LOADER_SUFFIX,\n} from '../constants/constants';\n\nconst blockLoaderAnimationConfig = {\n\tautoplay: true,\n\tloop: true,\n\ttokenId: THEME_FULL_PAGE_LOADER_SUFFIX,\n\tsrc: DEFAULT_FULL_PAGE_LOADER_LINK,\n};\nconst canvasScreen = (derivedState, { updateState, dispatch }) => {\n\tlet isBlockedLoadingEnabled = false,\n\t\tpageLoaderTimeout,\n\t\tloadingMessage;\n\tconst { screenData } = derivedState?.properties ?? {};\n\n\tif (!isEmpty(screenData.advancedPerformanceSettings)) {\n\t\tconst advancedPerformanceSettings =\n\t\t\tscreenData.advancedPerformanceSettings;\n\t\tisBlockedLoadingEnabled =\n\t\t\tadvancedPerformanceSettings?.fullPageLoader?.enabled === true;\n\t\tpageLoaderTimeout =\n\t\t\t(advancedPerformanceSettings?.fullPageLoader?.timeout ||\n\t\t\t\tSCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT) * 1000; // 5s default\n\t\tloadingMessage =\n\t\t\tadvancedPerformanceSettings?.fullPageLoader?.loadingMessage || '';\n\t}\n\tconst setTargetRef = (ref) => {\n\t\tif (!ref) return;\n\n\t\tupdateState({ targetRef: ref, shouldRender: false });\n\n\t\tconst { screenData } = derivedState.properties;\n\t\tif (!isEmpty(screenData))\n\t\t\tloadScreen(\n\t\t\t\tref,\n\t\t\t\tderivedState.properties,\n\t\t\t\tdispatch,\n\t\t\t\tisBlockedLoadingEnabled,\n\t\t\t);\n\t\tif (isBlockedLoadingEnabled) {\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {\n\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t}); // to early dismiss polaris loader\n\t\t\tref.fullPageLoaderTimeoutRef = setTimeout(\n\t\t\t\t() => dispatch(SCREEN_BLOCK_LOADING_END_REQUESTED),\n\t\t\t\tpageLoaderTimeout,\n\t\t\t);\n\t\t}\n\t};\n\tconst loadingFragment = isBlockedLoadingEnabled && (\n\t\t<div className={`blocked-loader`}>\n\t\t\t<div>\n\t\t\t\t<now-loader-custom\n\t\t\t\t\tlabel={loadingMessage}\n\t\t\t\t\tconfigAnimation={blockLoaderAnimationConfig}\n\t\t\t\t><\/now-loader-custom>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\tconst fragment = <span>{!isBlockedLoadingEnabled && t('Loading...')}<\/span>;\n\treturn (\n\t\t<section\n\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tclassName=\"sn-canvas-screen\"\n\t\t\tstyle={{ height: '100%' }}\n\t\t>\n\t\t\t{fragment}\n\t\t\t{loadingFragment}\n\t\t<\/section>\n\t);\n};\n\nexport default createCustomElement(SN_CANVAS_SCREEN, {\n\ttype: snabbdom,\n\tview: canvasScreen,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t\tisScreenSubscriber: true,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\t[SCREEN_DATA]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactivityLogs: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tuserPrefs: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tpersistedState: {},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tinitialState: {\n\t\tdidSetInitialFocus: false,\n\t},\n\tactionHandlers,\n});\n","/**\n * Callback method that updates screen's aggregated dirty state.\n *\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js\n */\nexport const onDirtyStateChange = (params) => {\n\tconst { isDirty, subscriberUpdatePropertiesFn } = params;\n\n\tsubscriberUpdatePropertiesFn({\n\t\tpath: 'screenData.isDirty',\n\t\toperation: 'set',\n\t\tvalue: isDirty,\n\t});\n};\n","export default () => {\n\treturn (\n\t\t<div className=\"sn-canvas-appshell-layout\">\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tgetStoredExperienceData,\n\tsaveExperiences,\n} from './sn-canvas-appshell-layout.storage';\nimport GlobalUnloadistener from '../utils/global-unload-listener';\nimport {\n\tEXPERIENCE_START,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tSCREEN_STATUS_CHANGED,\n} from './../constants/constants';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\nimport {\n\tnowTitle,\n\tcreateBrowserTabTitle,\n\tsetBrowserTabTitle,\n} from 'sn-canvas-common';\nimport { whenScreenMacroponentIdleDuringPageLoad } from '@devsnc/uxf-runtime-utils';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst activeExperienceChromeSettingsChangeEffect = ({\n\taction,\n\tstate,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpayload: { name, previousValue, value },\n\t} = action;\n\tif (name === 'selectedContent') {\n\t\tconst context = value?.context?.path || null;\n\t\tconst previousContext = previousValue?.context?.path || null;\n\t\tif (previousContext !== context) {\n\t\t\tupdateProperties({\n\t\t\t\tactiveExperienceChromeSettings:\n\t\t\t\t\tstate?.experienceChromeSettingsMap[context] || {},\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const layoutPropertyChangedEffect = ({\n\tproperties,\n\taction,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpayload: { name, value },\n\t} = action;\n\tconst { selectedContentMap, experiencesData } = properties;\n\tif (name === 'selectedContent') {\n\t\tconst context = value?.context?.path || null;\n\t\t/* eslint-disable no-unused-vars */\n\t\tconst { updateUrl, redirect, ...restValue } = value;\n\t\t/* eslint-enable no-unused-vars */\n\t\tif (!context) return;\n\t\tconst newExperiencesData = new Map(experiencesData.entries());\n\t\tconst experienceData = newExperiencesData.get(value.context.path);\n\t\tnewExperiencesData.set(value.context.path, {\n\t\t\texperiencePath: value.context.path,\n\t\t\texperienceName: value.context.experienceName,\n\t\t\tisActive: true,\n\t\t\tisDirty: experienceData?.isDirty || false,\n\t\t\t...(experienceData?.screensToCloseQueue && {\n\t\t\t\tscreensToCloseQueue: experienceData.screensToCloseQueue,\n\t\t\t}),\n\t\t\ttimestamp: Date.now(),\n\t\t\tscreens: experienceData?.screens || [],\n\t\t});\n\n\t\tnewExperiencesData.forEach((experienceData) => {\n\t\t\tif (value.context.path !== experienceData.experiencePath)\n\t\t\t\texperienceData.isActive = false;\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tselectedContentMap: {\n\t\t\t\t...selectedContentMap,\n\t\t\t\t[context]: { ...restValue },\n\t\t\t},\n\t\t\texperiencesData: newExperiencesData,\n\t\t});\n\t}\n};\n\nconst screenStatusChangedHandler = ({\n\taction,\n\tupdateState,\n\tstate,\n\tproperties,\n}) => {\n\tconst { selectedContent } = properties;\n\tconst payloadTitle = action?.payload?.title || null;\n\tconst classicSavedTitle = state.browserTabTitle;\n\n\tif (classicSavedTitle && !payloadTitle) {\n\t\tsetBrowserTabTitle(classicSavedTitle);\n\t} else if (payloadTitle && action?.payload?.isActive) {\n\t\tconst experienceName = selectedContent?.context?.experienceName || '';\n\t\tconst browserTabTitle = createBrowserTabTitle({\n\t\t\tpageTitle: payloadTitle,\n\t\t\texperienceName,\n\t\t\tnowTitle,\n\t\t});\n\t\tsetBrowserTabTitle(browserTabTitle);\n\t}\n\n\tupdateState({\n\t\tpath: `browserTabTitle`,\n\t\toperation: 'set',\n\t\tvalue: null,\n\t\tshouldRender: false,\n\t});\n};\n\n// handle UI16 style pages being loaded\nexport const canvasClassicLoadedEffect = ({\n\thost,\n\taction,\n\tproperties,\n\tupdateState,\n}) => {\n\tconst { selectedContent: prevSelectedContent } = properties;\n\tconst label = action.payload?.label;\n\tif (label) {\n\t\tconst pageTitle = label.split(/\\s\\|\\s/)[0];\n\t\tconst selectedContent = {\n\t\t\t...prevSelectedContent,\n\t\t\tpageTitle,\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: `browserTabTitle`,\n\t\t\toperation: 'set',\n\t\t\tvalue: label,\n\t\t\tshouldRender: false,\n\t\t});\n\n\t\tsetBrowserTabTitle(label);\n\t\tsetExperienceMark(host, action, selectedContent, EXPERIENCE_START);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_CONNECTED]: async ({ host, properties, updateProperties }) => {\n\t\tconst userId = properties?.canvasSession?.user?.sys_id || null;\n\t\tconst storedSelectedContentMap =\n\t\t\t(await getStoredExperienceData(userId)) || {};\n\t\tupdateProperties({\n\t\t\tsessionSelectedContentMap: { ...storedSelectedContentMap },\n\t\t});\n\n\t\tconst appShellLayoutUnloadHandler = async () => {\n\t\t\tif (host && host.getProperty) {\n\t\t\t\tconst _sessionSelectedContentMap = host.getProperty(\n\t\t\t\t\t'sessionSelectedContentMap',\n\t\t\t\t);\n\t\t\t\tconst _selectedContentMap =\n\t\t\t\t\thost.getProperty('selectedContentMap');\n\t\t\t\tawait saveExperiences(\n\t\t\t\t\t{ ..._sessionSelectedContentMap, ..._selectedContentMap },\n\t\t\t\t\tuserId,\n\t\t\t\t);\n\t\t\t}\n\t\t\twindow.removeEventListener(\n\t\t\t\t'beforeunload',\n\t\t\t\tappShellLayoutUnloadHandler,\n\t\t\t);\n\t\t};\n\n\t\twindow.addEventListener('beforeunload', appShellLayoutUnloadHandler);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tstate,\n\t\tproperties,\n\t\tupdateProperties,\n\t}) => {\n\t\tlayoutPropertyChangedEffect({ properties, action, updateProperties });\n\t\tactiveExperienceChromeSettingsChangeEffect({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t});\n\t},\n\n\t[COMPONENT_DOM_READY]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.add(nowId, () => {\n\t\t\tconst experiencesData = host.experiencesData || new Map();\n\t\t\treturn Array.from(experiencesData.values()).some((e) => e.isDirty);\n\t\t});\n\t},\n\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.remove(nowId);\n\t},\n\t[PAGE_TITLE_UPDATE_REQUESTED]: (coeffects) => {\n\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\tcanvasClassicLoadedEffect(coeffects);\n\t\t});\n\t},\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedHandler,\n};\nexport { actionHandlers };\n","import { getUnifiedCacheInstance} from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'canvasExperienceData';\n\nexport async function getStoredExperienceData(userId) {\n\tlet experienceData;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedExperienceData = await getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (storedExperienceData && storedExperienceData.userId === userId) {\n\t\t\t({userId, ...experienceData} = storedExperienceData);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored Tabs\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while reading stored Experiences Data', e);\n\t}\n\treturn experienceData;\n}\n\nexport async function saveExperiences(experienceData, userId) {\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\t...experienceData\n\t\t\t\t}\n\t\t\t)\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while saving Experiences Data', e);\n\t\treturn;\n\t}\n}\n\n//suspend tabs feature\n\nexport async function clearExperiences() {\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while clearing Experiences Data', e);\n\t}\n}\n","import { get, has, isEmpty } from 'lodash';\nimport { setAppConfigToRootMacroponent } from '@devsnc/library-uxf';\nimport {\n\tEXPERIENCE_SWITCH_BEHAVIOR,\n\tCANVAS_EXPERIENCE_SWITCH_REQUESTED,\n\tCANVAS_EXPERIENCE_LOAD_REQUESTED,\n\tNOW_EXPERIENCE_SWITCH_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tCANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED\n} from '../../constants/constants';\n\nconst experienceSwitchRequestedEffect = ({ action, properties, dispatch }) => {\n\tconst { path } = action.payload;\n\n\tif (!path) return;\n\tconst {\n\t\tselectedContent,\n\t\tselectedContentMap = {},\n\t\tsessionSelectedContentMap = {}\n\t} = properties;\n\tlet context = get(selectedContent, 'context.path', null);\n\tif (context && context === path) return;\n\tif (selectedContentMap[path] || sessionSelectedContentMap[path]) {\n\t\tif (action.stopPropagation) action.stopPropagation();\n\t\tdispatch(\n\t\t\tNAV_ITEM_SELECTED,\n\t\t\tselectedContentMap[path] || sessionSelectedContentMap[path]\n\t\t);\n\t} else {\n\t\tdispatch(CANVAS_EXPERIENCE_LOAD_REQUESTED, { path });\n\t}\n};\n//temp effect to consider nav_item_selected for experience switch\nconst navItemSelectedEffect = ({ action, properties, dispatch }) => {\n\tconst { payload } = action;\n\tconst {experienceConfigs} = properties;\n\n\tif (has(payload, ['external', 'url'])) return;\n\n\tif(!has(experienceConfigs, payload.context.path)){ //check if requested experience is not supported\n\t\treturn;\n\t}\n\n\tif (\n\t\tpayload &&\n\t\tpayload.context &&\n\t\t(!has(payload, 'route') || isEmpty(payload.route))\n\t) {\n\t\tif (action.stopPropagation) action.stopPropagation();\n\t\tdispatch(CANVAS_EXPERIENCE_SWITCH_REQUESTED, { ...payload.context });\n\t}\n\n\tconst path = get(payload, 'context.path', null);\n\tconst prevPath = get(properties, 'selectedContent.context.path', null);\n\n\tif (path && prevPath && path !== prevPath) {\n\t\tdispatch(NOW_EXPERIENCE_SWITCH_REQUESTED, { ...action.payload });\n\t\t// Call to library-uxf setAppConfigToRootMacroponent(path) API\n\t\t// to set the nowAppConfigSysId to the root macroponent node\n\t\tsetAppConfigToRootMacroponent(path);\n\t}\n};\nconst activeExperienceChromeSettingsChangedEffect = ({\n\taction: { payload },\n\tproperties,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst { selectedContent } = properties;\n\tconst { experienceChromeSettings = {} } = payload;\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath) {\n\t\tupdateState({\n\t\t\tpath: `experienceChromeSettingsMap.${contextPath}`,\n\t\t\tvalue: experienceChromeSettings,\n\t\t\toperation: 'assign'\n\t\t});\n\t\tupdateProperties({\n\t\t\tactiveExperienceChromeSettings: experienceChromeSettings\n\t\t});\n\t}\n};\n\nexport default {\n\tname: EXPERIENCE_SWITCH_BEHAVIOR,\n\tactionHandlers: {\n\t\t[CANVAS_EXPERIENCE_SWITCH_REQUESTED]: experienceSwitchRequestedEffect,\n\t\t[NAV_ITEM_SELECTED]: navItemSelectedEffect,\n\t\t[CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED]: activeExperienceChromeSettingsChangedEffect\n\t}\n};\n","import { difference, isNumber } from 'lodash';\nimport { klona } from 'klona';\n\nconst DEFAULT_MAX_CACHED_EXPERIENCE = 2; //TODO: Needs to change it once config is ready\nconst DEFAULT_MAX_ACTIVE_EXPERIENCE = 1;\n\nexport const applyExperienceCacheRestriction = (_experiencesData, config) => {\n\tconst experiencesData = klona(_experiencesData);\n\tconst { maxCachedExperienceCount, maxActiveExperienceCount } = config || {};\n\n\tconst MAX_CACHED_EXPERIENCE_COUNT = isNumber(maxCachedExperienceCount) && maxCachedExperienceCount >= 0 ? maxCachedExperienceCount : DEFAULT_MAX_CACHED_EXPERIENCE;\n\tlet MAX_ACTIVE_EXPERIENCE_COUNT = isNumber(maxActiveExperienceCount) && maxActiveExperienceCount >= 0 ? maxActiveExperienceCount : DEFAULT_MAX_ACTIVE_EXPERIENCE;\n\n\tif (MAX_ACTIVE_EXPERIENCE_COUNT > MAX_CACHED_EXPERIENCE_COUNT)\n\t\tMAX_ACTIVE_EXPERIENCE_COUNT = MAX_CACHED_EXPERIENCE_COUNT;\n\n\tconst allExperiences = [...(experiencesData.values() || [])];\n\tif (allExperiences.length === 0) return experiencesData;\n\n\tconst sortByMostRecentlyAccessed = (expData1, expData2) =>\n\t\texpData2.timestamp - expData1.timestamp;\n\n\tconst nonActivePristineExperiences = allExperiences\n\t\t.sort(sortByMostRecentlyAccessed)\n\t\t.filter(exp => exp.isDirty === false)\n\t\t.filter(exp => exp.isActive === false);\n\n\tconst remainingExperiences = difference(\n\t\tallExperiences,\n\t\tnonActivePristineExperiences\n\t);\n\n\tfor(let i = 0; i < nonActivePristineExperiences.length; i++){\n\t\tif(i>=MAX_ACTIVE_EXPERIENCE_COUNT && i < MAX_CACHED_EXPERIENCE_COUNT)\n\t\t\tnonActivePristineExperiences[i].isDetached = true;\n\t\telse if(i >= MAX_CACHED_EXPERIENCE_COUNT)\n\t\t\tnonActivePristineExperiences[i].isDiscarded = true;\n\t}\n\n\tfunction convertToMap(arr = []) {\n\t\tconst mapped = arr.reduce((acc, e) => {\n\t\t\tacc[e.experiencePath] = e;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\treturn new Map(Object.entries(mapped));\n\t}\n\n\tconst newExperiencesData = new Map([\n\t\t...convertToMap(remainingExperiences).entries(),\n\t\t...convertToMap(nonActivePristineExperiences).entries()\n\t]);\n\treturn newExperiencesData;\n};\n","import { isNil, isEqual } from '@devsnc/snowdash';\nimport {\n\tEXPERIENCE_STATUS_CHANGED,\n\tEXPERIENCE_DATA_BEHAVIOR,\n\tDIRTY_SCREEN_CLOSE_CONFIRMED,\n\tCANVAS_EXPERIENCE_LOADED,\n} from '../../constants/constants';\n\nimport { buildScreensToCloseQueue } from './utils';\n\nimport { applyExperienceCacheRestriction } from '../../utils/experience-caching';\n\n//TODO: non essential ux task. Move to WebWorker\nconst canvasExperienceLoadedEffect = (coeffects) => {\n\tconst { properties, updateProperties } = coeffects;\n\tconst { experiencesData, experienceLimits } = properties;\n\tconst newExperiencesData = applyExperienceCacheRestriction(\n\t\texperiencesData,\n\t\texperienceLimits,\n\t);\n\tupdateProperties({ experiencesData: newExperiencesData });\n};\n\nexport const experienceStatusChangedHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n}) => {\n\tconst path = action.payload.context?.path;\n\tif (!path) return;\n\tconst { experiencesData } = properties;\n\tconst newExperiencesData = new Map(experiencesData.entries());\n\tnewExperiencesData.forEach((value) => (value.isActive = false));\n\tconst { isDirty } = action.payload;\n\tconst isDirtyObject = isNil(isDirty) ? {} : { isDirty: Boolean(isDirty) };\n\n\tconst experienceData = new Map();\n\texperienceData.set(path, {\n\t\texperiencePath: path,\n\t\texperienceName: action.payload.name,\n\t\tisActive: true,\n\t\t...isDirtyObject,\n\t\ttimestamp: Date.now(),\n\t\tscreens: [...action.payload.screens],\n\t});\n\n\tupdateProperties({\n\t\texperiencesData: new Map([\n\t\t\t...newExperiencesData.entries(),\n\t\t\t...experienceData.entries(),\n\t\t]),\n\t});\n};\n\nexport const experienceDataBehavior = {\n\tname: EXPERIENCE_DATA_BEHAVIOR,\n\tproperties: {\n\t\texperiencesData: {\n\t\t\tdefault: new Map(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceLimits: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: false,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[EXPERIENCE_STATUS_CHANGED]: experienceStatusChangedHandler,\n\t\t[DIRTY_SCREEN_CLOSE_CONFIRMED]: ({\n\t\t\taction: { payload },\n\t\t\tproperties: { experiencesData } = new Map(),\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst data = payload.data;\n\t\t\tif (!data || data.length === 0) return;\n\n\t\t\tconst newExperiencesData = buildScreensToCloseQueue(\n\t\t\t\texperiencesData,\n\t\t\t\tdata,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (!isEqual(newExperiencesData, experiencesData))\n\t\t\t\tupdateProperties({\n\t\t\t\t\texperiencesData: newExperiencesData,\n\t\t\t\t});\n\t\t},\n\t\t[CANVAS_EXPERIENCE_LOADED]: canvasExperienceLoadedEffect,\n\t},\n};\n","export function buildScreensToCloseQueue(\n\texperiencesData,\n\tpayloadData,\n\tignoreDirty = false,\n) {\n\tlet screenKeySet = new Set();\n\tconst newExperiencesData = new Map(experiencesData.entries());\n\tpayloadData.forEach(({ experiencePath, screens }) => {\n\t\tif (\n\t\t\t!experiencePath ||\n\t\t\t!screens ||\n\t\t\tscreens.length === 0 ||\n\t\t\t!experiencesData.has(experiencePath)\n\t\t)\n\t\t\treturn;\n\t\tscreenKeySet = new Set(screens.map((s) => s.screenKey));\n\t\tconst singleExperienceData = experiencesData.get(experiencePath);\n\t\tconst newScreens = (singleExperienceData.screens || []).filter(\n\t\t\t(screen) => !screenKeySet.has(screen.screenKey),\n\t\t);\n\t\tconst isDirty = newScreens.some((s) => s.isDirty === true);\n\n\t\tconst newSingleExperienceData = {\n\t\t\t...singleExperienceData,\n\t\t\tscreens: newScreens,\n\t\t\tscreensToCloseQueue: [\n\t\t\t\t...screens.map((s) => ({ ...s, ignoreDirty })),\n\t\t\t],\n\t\t\tisDirty,\n\t\t};\n\t\tnewExperiencesData.set(experiencePath, newSingleExperienceData);\n\t});\n\n\treturn newExperiencesData;\n}\n","import { get } from 'lodash';\nconst dialogTypeMap = {\n\texplicitoptin: 'confirm',\n\tnotice: 'alert'\n};\n\nexport const getGlobalUCMConfiguration = () => {\n\tconst info = get(window, 'NOW_UCM_INFO', {});\n\treturn {\n\t\tcontent: info.user_analytics_consent_text,\n\t\ttype: dialogTypeMap[(info.user_consent || '').toLowerCase()]\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isFunction } from 'lodash';\nimport { getGlobalUCMConfiguration } from './util';\nimport {UCM_DIALOG_CLOSED, USER_CONSENT_BEHAVIOR} from \"../../constants/constants\";\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nconst onUserConsentConnect = ({ state, updateProperties }) => {\n\tconst { ucmConfig } = state.properties;\n\tconst hasUserConsented =\n\t\tstate.behaviors[USER_CONSENT_BEHAVIOR].hasUserConsented;\n\tif (hasUserConsented) {\n\t\treturn;\n\t}\n\n\tif (ucmConfig.type)\n\t\tupdateProperties({\n\t\t\tshowUcm: true\n\t\t});\n};\n\nconst onUcmDialogClosed = ({\n\taction: { payload },\n\tupdateProperties,\n\tupdateState\n}) => {\n\tupdateProperties({\n\t\tshowUcm: false\n\t});\n\tif (!payload.result) return;\n\t// UserConsent is an global Object pushed to window by telemetry team. May not be present all the time.\n\tif (window.userConsent && isFunction(window.userConsent.updateUserConsent)) {\n\t\twindow.userConsent.updateUserConsent(payload.result);\n\t\t//update state to make sure UCM dialog is not shown again within the session once consent is provided\n\t\tupdateState({\n\t\t\tpath: `behaviors.${USER_CONSENT_BEHAVIOR}.hasUserConsented`,\n\t\t\toperation: 'set',\n\t\t\tvalue: true,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nexport const userConsentBehavior = {\n\tname: USER_CONSENT_BEHAVIOR,\n\tproperties: {\n\t\tshowUcm: {\n\t\t\tdefault: false,\n\t\t\tselectable: true\n\t\t},\n\t\tucmConfig: {\n\t\t\tdefault: getGlobalUCMConfiguration(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tinitialState: {\n\t\thasUserConsented: false\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onUserConsentConnect,\n\t\t[UCM_DIALOG_CLOSED]: onUcmDialogClosed\n\t}\n};\n","import { get, has, isEmpty } from 'lodash';\nimport {\n\tevaluateCondition,\n\tparseCondition,\n} from '../sn-canvas-screens/sn-canvas-screens.resolver';\n\nconst evaluateRouteCondition = (condition, selectedContent) => {\n\tconst parsedConditionValue = parseCondition(condition);\n\treturn evaluateCondition(parsedConditionValue, selectedContent);\n};\nconst isConditionalRouteValid = (routeCondition, routeObj) =>\n\tisEmpty(routeCondition) || evaluateRouteCondition(routeCondition, routeObj);\n\nexport const routeExists = (\n\texperienceConfig,\n\trouteObj,\n\tisConditionalRouteValidFn = isConditionalRouteValid,\n) => {\n\tconst routeExistsWithMatchingFieldsAndCondition = (\n\t\troutes,\n\t\tconditionalKey,\n\t) => {\n\t\tconst routesArr = routes[route];\n\t\tif (!routesArr) return false;\n\n\t\t// Filter routes based on field length and field existence\n\t\tconst resultRouteArr = routesArr\n\t\t\t.map((r) => ({ ...r, ...r.route }))\n\t\t\t.filter(({ fields = [] }) => fields.length === fieldsLength)\n\t\t\t.filter(({ fields: routeFields = [] }) =>\n\t\t\t\trouteFields.every((f) => has(fields, f)),\n\t\t\t);\n\n\t\tif (!isEmpty(conditionalKey)) {\n\t\t\tconst fieldsExactMatchExists = !isEmpty(resultRouteArr);\n\t\t\tconst conditionMatchExists = resultRouteArr.some((r) =>\n\t\t\t\tisConditionalRouteValidFn(r[conditionalKey], routeObj),\n\t\t\t);\n\t\t\treturn { conditionMatchExists, fieldsExactMatchExists };\n\t\t}\n\n\t\treturn !isEmpty(resultRouteArr);\n\t};\n\n\tconst { route, fields } = routeObj;\n\tconst { routes, interoperableRoutes, dependentRoutes } = get(\n\t\texperienceConfig,\n\t\t'appRouteConfiguration',\n\t\t{},\n\t);\n\n\tif (!routes && !interoperableRoutes && !dependentRoutes) return false;\n\n\tconst fieldsLength = fields ? Object.keys(fields).length : 0;\n\n\t// Check local routes\n\tconst localRouteExists =\n\t\t!!routes && routeExistsWithMatchingFieldsAndCondition(routes);\n\tif (localRouteExists) return true;\n\n\t// Check interoperable routes\n\tconst {\n\t\tconditionMatchExists: conditionalMatchExistsInInteropRoutes = false,\n\t\tfieldsExactMatchExists: fieldsExactMatchExistsInInteropRoutes = false,\n\t} = interoperableRoutes\n\t\t? routeExistsWithMatchingFieldsAndCondition(\n\t\t\t\tinteroperableRoutes,\n\t\t\t\t'interoperableCondition',\n\t\t\t)\n\t\t: {};\n\n\tif (conditionalMatchExistsInInteropRoutes) return true;\n\n\t// Check dependent routes if necessary\n\tconst dontLookIntoDependentRoutes =\n\t\tfieldsExactMatchExistsInInteropRoutes &&\n\t\t!conditionalMatchExistsInInteropRoutes;\n\tconst { conditionMatchExists: conditionalMatchExistsInDepRoutes = false } =\n\t\t!dontLookIntoDependentRoutes && dependentRoutes\n\t\t\t? routeExistsWithMatchingFieldsAndCondition(\n\t\t\t\t\tdependentRoutes,\n\t\t\t\t\t'interoperableCondition',\n\t\t\t\t)\n\t\t\t: {};\n\n\treturn conditionalMatchExistsInDepRoutes;\n};\n\nexport const handleMappings = (mappingConfig, payload, result) => {\n\tif (isEmpty(mappingConfig)) return result;\n\tfor (const f of mappingConfig) {\n\t\tconst { name, mapping = {} } = f;\n\t\tconst { address } = mapping;\n\t\tconst value = address ? get(payload, `fields.${address}`) : null;\n\t\tresult[name] = value;\n\t}\n\treturn result;\n};\n\n// dependency injection to make this easier to test\nexport const getRouteObjFromMapping = (\n\trouteConfig,\n\tpayload,\n\thandleMappingsFunc = handleMappings,\n) => {\n\tconst {\n\t\troute,\n\t\tfields: fieldsConfig,\n\t\tparams: paramsConfig,\n\t} = routeConfig || {};\n\tif (!route) return;\n\tconst fields = {};\n\thandleMappingsFunc(fieldsConfig, payload, fields);\n\tconst params = {};\n\thandleMappingsFunc(paramsConfig, payload, params);\n\n\tconst routeObj = { route, fields, params };\n\n\treturn routeObj;\n};\n\nexport const getExperienceList = (globalNavigationConfig, payload) => {\n\tconst { feature, fields, filters = {} } = payload;\n\tlet features = get(globalNavigationConfig, 'features', null);\n\tif (!features) return [];\n\n\tconst featureConfig = features[feature];\n\n\tif (isEmpty(featureConfig)) return [];\n\tconst { _default: defaultConfig = {}, conditionalExperienceMappings = [] } =\n\t\tfeatureConfig;\n\n\tlet expList = [];\n\n\tfor (const mappingConfig of conditionalExperienceMappings) {\n\t\tconst { matchingCriteria = {}, experiencePriorityList = [] } =\n\t\t\tmappingConfig;\n\t\tlet matchFound = isEmpty(matchingCriteria);\n\t\tfor (const [key, value] of Object.entries(matchingCriteria)) {\n\t\t\tif (fields[key] && value.includes(fields[key])) {\n\t\t\t\tmatchFound = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (matchFound && !isEmpty(experiencePriorityList)) {\n\t\t\texpList = experiencePriorityList;\n\t\t\tfor (const [key, value] of Object.entries(filters)) {\n\t\t\t\texpList = expList.filter(\n\t\t\t\t\t(exp) => has(exp, key) && exp[key] === value,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (!isEmpty(expList)) break;\n\t}\n\tif (isEmpty(expList)) {\n\t\t//try default exp priority list\n\t\tconst { experiencePriorityList = [] } = defaultConfig;\n\t\texpList = experiencePriorityList;\n\t\tfor (const [key, value] of Object.entries(filters)) {\n\t\t\texpList = expList.filter(\n\t\t\t\t(exp) => has(exp, key) && exp[key] === value,\n\t\t\t);\n\t\t}\n\t}\n\treturn expList;\n};\n\n// dependency injection to make this easier to test\nexport const getRouteObj = (\n\texperienceConfig,\n\tpayload,\n\tgetRouteObjFromMappingFunc = getRouteObjFromMapping,\n) => {\n\texperienceConfig = experienceConfig || {};\n\tpayload = payload || {};\n\n\tconst { routeMapping = {} } = experienceConfig;\n\tconst { fields } = payload;\n\n\tconst { _default: defaultConfig = {}, conditionalMappings = [] } =\n\t\trouteMapping;\n\n\tlet _routeInfo;\n\n\tfor (const config of conditionalMappings) {\n\t\tconst { matchingCriteria, routeInfo } = config;\n\t\tfor (const [key, value] of Object.entries(matchingCriteria)) {\n\t\t\tif (fields[key] && value.includes(fields[key])) {\n\t\t\t\t_routeInfo = routeInfo;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (_routeInfo) break;\n\t}\n\n\tif (!_routeInfo) {\n\t\t//try default routeInfo\n\t\t_routeInfo = defaultConfig.routeInfo;\n\t}\n\n\treturn getRouteObjFromMappingFunc(_routeInfo, payload);\n};\n\nexport const getExperience = (experienceConfigs, selectedContent, payload) => {\n\tconst context = get(selectedContent, 'context.path', null);\n\tconst { feature } = payload;\n\n\tif (!context || !feature || !experienceConfigs[context]) return;\n\n\tconst {\n\t\texperienceId: sysId,\n\t\turlPath,\n\t\tpageProperties,\n\t} = experienceConfigs[context];\n\tlet { featureRoutes: featureRoutesProp } = pageProperties;\n\tif (!featureRoutesProp) return;\n\tif (typeof featureRoutesProp === 'string')\n\t\tfeatureRoutesProp = JSON.parse(featureRoutesProp);\n\n\tconst routeMapping = get(featureRoutesProp, `${feature}`);\n\tif (!routeMapping) return;\n\treturn { sysId, urlPath, routeMapping };\n};\n\nexport const processGlobalNavConfig = (\n\texperienceConfigs,\n\tglobalNavigationConfig,\n) => {\n\tif (!globalNavigationConfig) return;\n\tconst { features } = globalNavigationConfig;\n\tif (!features) return;\n\tconst expPropMap = {};\n\n\t//process features of experiences\n\tfor (const [, value] of Object.entries(experienceConfigs)) {\n\t\tconst { experienceId, urlPath, pageProperties } = value;\n\t\tif (pageProperties) {\n\t\t\tlet { featureRoutes: featureRoutesProp = {} } = pageProperties;\n\t\t\tif (featureRoutesProp && typeof featureRoutesProp === 'string')\n\t\t\t\tfeatureRoutesProp = JSON.parse(featureRoutesProp);\n\t\t\texpPropMap[experienceId] = {\n\t\t\t\texperienceId,\n\t\t\t\turlPath,\n\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t};\n\t\t}\n\t}\n\n\t//put routeMapping of experiences in global nav config\n\tfor (const [key, value] of Object.entries(features)) {\n\t\tconst { _default: defaultRoute, conditionalExperienceMappings = [] } =\n\t\t\tvalue;\n\t\tconst { experiencePriorityList } = defaultRoute;\n\n\t\tconst defaultExperiencePriorityList = [];\n\t\tfor (let exp of experiencePriorityList) {\n\t\t\tconst { sysId } = exp;\n\t\t\tconst {\n\t\t\t\texperienceId,\n\t\t\t\turlPath,\n\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t} = expPropMap[sysId] || {};\n\t\t\tif (experienceId) {\n\t\t\t\texp.urlPath = urlPath;\n\t\t\t\texp.routeMapping =\n\t\t\t\t\texp.routeMapping || get(featureRoutesProp, `${key}`) || {};\n\t\t\t\tif (!isEmpty(exp.routeMapping))\n\t\t\t\t\tdefaultExperiencePriorityList.push(exp);\n\t\t\t}\n\t\t}\n\t\tdefaultRoute.experiencePriorityList = defaultExperiencePriorityList;\n\n\t\tfor (let expMapping of conditionalExperienceMappings) {\n\t\t\tconst { experiencePriorityList = [] } = expMapping;\n\t\t\tconst newExperiencePriorityList = [];\n\t\t\tfor (let exp of experiencePriorityList) {\n\t\t\t\tconst { sysId } = exp;\n\t\t\t\tconst {\n\t\t\t\t\texperienceId,\n\t\t\t\t\turlPath,\n\t\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t\t} = expPropMap[sysId] || {};\n\t\t\t\tif (experienceId) {\n\t\t\t\t\texp.urlPath = urlPath;\n\t\t\t\t\texp.routeMapping =\n\t\t\t\t\t\texp.routeMapping ||\n\t\t\t\t\t\tget(featureRoutesProp, `${key}`) ||\n\t\t\t\t\t\t{};\n\t\t\t\t\tif (!isEmpty(exp.routeMapping))\n\t\t\t\t\t\tnewExperiencePriorityList.push(exp);\n\t\t\t\t}\n\t\t\t}\n\t\t\texpMapping.experiencePriorityList = newExperiencePriorityList;\n\t\t}\n\t}\n\n\treturn globalNavigationConfig;\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'previouslyVisitedExperience';\n\n// dependency injection for testing purpose.\nexport async function getStoredPreviouslyVisitedExperience(\n\tuserId,\n\tgetUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\tif (!userId) return;\n\n\tlet previouslyVisitedExperience;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedPreviouslyVisitedExperience = await getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (\n\t\t\tstoredPreviouslyVisitedExperience &&\n\t\t\tstoredPreviouslyVisitedExperience.userId === userId &&\n\t\t\tstoredPreviouslyVisitedExperience.previouslyVisitedExperience\n\t\t) {\n\t\t\t({previouslyVisitedExperience} = storedPreviouslyVisitedExperience);\n\t\t\t//move suspend logic here\n\t\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t\t}\n\t} catch (e) {\n\t\t//Error reading Stored ScreenTitles\n\t}\n\treturn previouslyVisitedExperience;\n}\n\n// dependency injection for testing purpose.\nexport async function savePreviouslyVisitedExperience(previouslyVisitedExperience,\n\t\t\t\t\t\t\t\t\t\t\t\t\t  userId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t  getUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\tif (!userId) return;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\tpreviouslyVisitedExperience\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function clearPreviouslyVisitedExperience(getUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\ttry {\n\t\tawait getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import { get, set, isEmpty } from 'lodash';\nimport { klona } from 'klona';\n\nimport {\n\tprocessGlobalNavConfig,\n\tgetExperience,\n\tgetExperienceList,\n\tgetRouteObj,\n\trouteExists,\n} from './global-navigation.util';\n\nimport {\n\tgetRequestedExperienceRouterConfigurations,\n\tgetUXGlobalRouterConfiguration,\n} from '../../sn-canvas-router/sn-canvas-router.config';\n\nimport {\n\tsavePreviouslyVisitedExperience,\n\tgetStoredPreviouslyVisitedExperience,\n} from './global-navigation.storage';\n\nimport {\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tEXPERIENCE_ONLY,\n\tCANVAS_EXPERIENCE_SWITCH_INITIATED,\n} from '../../constants/constants';\n\nconst getUXGlobalsExperienceConfigs = () =>\n\tklona(get(window, 'ux_globals.experienceConfigs', {}));\n\n// dependency injection for unit tests purpose.\nexport const resolveRouteForExperience = (\n\texperienceConfigs,\n\texperience,\n\tpayload,\n\tgetRouteObjFunc = getRouteObj,\n\trouteExistsFunc = routeExists,\n) => {\n\tlet routeObj;\n\tconst path = experience.urlPath;\n\tconst routeObjForExp = getRouteObjFunc(experience, payload);\n\tif (\n\t\t!isEmpty(routeObjForExp) &&\n\t\trouteExistsFunc(experienceConfigs[path], routeObjForExp)\n\t) {\n\t\tset(routeObjForExp, 'context.path', path);\n\t\tif (payload.parent) {\n\t\t\tconst parentRouteObjForExp = getRouteObjFunc(\n\t\t\t\texperience,\n\t\t\t\tpayload.parent,\n\t\t\t);\n\t\t\tif (\n\t\t\t\t!isEmpty(parentRouteObjForExp) &&\n\t\t\t\trouteExistsFunc(experienceConfigs[path], parentRouteObjForExp)\n\t\t\t) {\n\t\t\t\trouteObjForExp.parent = parentRouteObjForExp;\n\t\t\t\trouteObj = routeObjForExp;\n\t\t\t}\n\t\t} else {\n\t\t\trouteObj = routeObjForExp;\n\t\t}\n\t}\n\treturn routeObj;\n};\n\n// dependency injection for unit tests purpose\nexport const globalNavigationRequestedEffect = async (\n\tcoeffects,\n\tgetUXGlobalsExperienceConfigsFunc = getUXGlobalsExperienceConfigs,\n\tprocessGlobalNavConfigFunc = processGlobalNavConfig,\n\tgetStoredPreviouslyVisitedExperienceFunc = getStoredPreviouslyVisitedExperience,\n\tgetExperienceFunc = getExperience,\n\tresolveRouteForExperienceFunc = resolveRouteForExperience,\n\tgetExperienceListFunc = getExperienceList,\n\tgetRouteObjFunc = getRouteObj,\n\trouteExistsFunc = routeExists,\n) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState,\n\t\tupdateProperties,\n\t} = coeffects;\n\tlet { globalNavigationConfig, selectedContent, canvasSession } = properties;\n\tconst experienceConfigs = getUXGlobalsExperienceConfigsFunc();\n\tif (!experienceConfigs || !globalNavigationConfig) return;\n\tconst { isGlobalNavConfProcessed = false } = state;\n\tif (isGlobalNavConfProcessed === false) {\n\t\tconst newGlobalNavigationConfig = processGlobalNavConfigFunc(\n\t\t\texperienceConfigs,\n\t\t\tglobalNavigationConfig,\n\t\t);\n\t\tif (newGlobalNavigationConfig) {\n\t\t\tglobalNavigationConfig = { ...newGlobalNavigationConfig };\n\t\t\tupdateProperties({\n\t\t\t\tglobalNavigationConfig: { ...newGlobalNavigationConfig },\n\t\t\t});\n\t\t\tupdateState({ isGlobalNavConfProcessed: true });\n\t\t} else return;\n\t}\n\n\tlet routeObj;\n\n\tconst { targetExperience, fallbackRoute, navType, parent } = payload;\n\n\tawait fetchAndUpdateRequestedExperiences(payload, experienceConfigs, updateProperties);\n\n\tif (targetExperience) {\n\t\tlet { path, lastVisited } = targetExperience;\n\t\tif (!path && lastVisited == true) {\n\t\t\tconst userId = canvasSession?.user?.sys_id;\n\t\t\tconst storedPreviouslyVisitedExperience =\n\t\t\t\tawait getStoredPreviouslyVisitedExperienceFunc(userId);\n\t\t\tif (storedPreviouslyVisitedExperience)\n\t\t\t\t({ path } = storedPreviouslyVisitedExperience);\n\t\t}\n\t\tif (path) {\n\t\t\tconst targetedExperience = getExperienceFunc(\n\t\t\t\texperienceConfigs,\n\t\t\t\t{ context: { path } },\n\t\t\t\tpayload,\n\t\t\t);\n\t\t\tif (targetedExperience) {\n\t\t\t\tif (navType === EXPERIENCE_ONLY)\n\t\t\t\t\trouteObj = { context: { path } };\n\t\t\t\telse\n\t\t\t\t\trouteObj = resolveRouteForExperienceFunc(\n\t\t\t\t\t\texperienceConfigs,\n\t\t\t\t\t\ttargetedExperience,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tif (!routeObj) {\n\t\t//try current experience\n\t\tconst currentExperience = getExperienceFunc(\n\t\t\texperienceConfigs,\n\t\t\tselectedContent,\n\t\t\tpayload,\n\t\t);\n\t\tif (currentExperience) {\n\t\t\tif (navType === EXPERIENCE_ONLY) return;\n\t\t\telse\n\t\t\t\trouteObj = resolveRouteForExperienceFunc(\n\t\t\t\t\texperienceConfigs,\n\t\t\t\t\tcurrentExperience,\n\t\t\t\t\tpayload,\n\t\t\t\t);\n\t\t}\n\t}\n\n\tif (!routeObj) {\n\t\t//go for global nav priority list\n\t\tconst experienceList =\n\t\t\tgetExperienceListFunc(globalNavigationConfig, payload) || [];\n\t\tif (navType === EXPERIENCE_ONLY) {\n\t\t\tif (!isEmpty(experienceList)) {\n\t\t\t\tconst exp = experienceList[0];\n\t\t\t\trouteObj = { context: { path: exp.urlPath } };\n\t\t\t}\n\t\t} else {\n\t\t\tlet i = 0;\n\t\t\twhile (i < experienceList.length) {\n\t\t\t\tconst exp = experienceList[i];\n\t\t\t\tconst _routeObj = getRouteObjFunc(exp, payload);\n\t\t\t\tif (\n\t\t\t\t\t_routeObj &&\n\t\t\t\t\trouteExistsFunc(experienceConfigs[exp.urlPath], _routeObj)\n\t\t\t\t) {\n\t\t\t\t\tset(_routeObj, 'context.path', exp.urlPath);\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tconst _parentRouteObj = getRouteObjFunc(exp, parent);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!isEmpty(_parentRouteObj) &&\n\t\t\t\t\t\t\trouteExistsFunc(\n\t\t\t\t\t\t\t\texperienceConfigs[exp.urlPath],\n\t\t\t\t\t\t\t\t_parentRouteObj,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t_routeObj.parent = _parentRouteObj;\n\t\t\t\t\t\t\trouteObj = _routeObj;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trouteObj = _routeObj;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst route = routeObj || fallbackRoute;\n\tif (route) dispatch(NAV_ITEM_SELECTED, route);\n};\n\nexport const canvasExperienceSwitchRequestedEffect = async (\n\t{ host, action, dispatch, properties },\n\tsavePreviouslyVisitedExperienceFunc = savePreviouslyVisitedExperience,\n) => {\n\tconst userId = properties?.canvasSession?.user?.sys_id;\n\tconst { previousValue: prevSelectedContent } = action.payload;\n\tconst {\n\t\tcontext: { experienceName, path },\n\t\t_timestamp,\n\t} = prevSelectedContent;\n\tconst previouslyVisitedExperience = { experienceName, path, _timestamp };\n\tawait savePreviouslyVisitedExperienceFunc(\n\t\tpreviouslyVisitedExperience,\n\t\tuserId,\n\t);\n};\n\nexport const fetchAndUpdateRequestedExperiences = async (payload = {}, experienceConfigs, updateProperties) => {\n\tconst { targetExperience, fallbackRoute } = payload;\n\tlet experiencesToFetch = [];\n\tif (targetExperience) {\n\t\tlet { path } = targetExperience;\n\t\tif (path) experiencesToFetch.push(path);\n\t}\n\n\tif (fallbackRoute && fallbackRoute?.context?.path) {\n\t\texperiencesToFetch.push(fallbackRoute.context.path);\n\t}\n\n\texperiencesToFetch = experiencesToFetch.filter(\n\t\texpPath => !!experienceConfigs[expPath]\n\t);\n\n\tconst routerConfig = getUXGlobalRouterConfiguration();\n\tconst currentSiteName = get(window, 'ux_globals.siteName', '');\n\tlet updatedRouterConfig = {\n\t\t[currentSiteName]: routerConfig\n\t};\n\tif (experiencesToFetch.length) {\n\t\tupdatedRouterConfig = await getRequestedExperienceRouterConfigurations(\n\t\t\texperiencesToFetch,\n\t\t\tupdatedRouterConfig[currentSiteName],\n\t\t\tupdateProperties\n\t\t);\n\t}\n\n\texperiencesToFetch.forEach((expPath) => {\n\t\tconst currentRouterConfig = updatedRouterConfig?.[expPath];\n\t\tif (expPath && currentRouterConfig && window.ux_globals.experienceConfigs?.[expPath]) {\n\t\t\texperienceConfigs[expPath].appRouteConfiguration =\n\t\t\t\tcurrentRouterConfig;\n\t\t\twindow.ux_globals.experienceConfigs[expPath].appRouteConfiguration =\n\t\t\t\tcurrentRouterConfig;\n\t\t}\n\t});\n}\n\nconst actionHandlers = {\n\t[GLOBAL_NAVIGATION_REQUESTED]: globalNavigationRequestedEffect,\n\t[CANVAS_EXPERIENCE_SWITCH_INITIATED]: canvasExperienceSwitchRequestedEffect,\n};\nexport { actionHandlers };\n","import { actionHandlers } from './global-navigation.effects';\n\nimport { GLOBAL_NAVIGATION_BEHAVIOR } from '../../constants/constants';\n\nexport default {\n\tname: GLOBAL_NAVIGATION_BEHAVIOR,\n\tinitialState: {\n\t\tisGlobalNavConfProcessed: false\n\t},\n\tproperties: {\n\t\tglobalNavigationConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: false,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tactionHandlers\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport getProperty from './utils';\nimport isEmpty from 'lodash/isEmpty';\n\nconst serviceWorkerEvents = {\n\tconfigureRecorderSW: 'CONFIGURE_RECORDER',\n};\n\nconst sysProps = {\n\tapiRecorderConfig: 'glide.uxf.sw_api_recorder_config',\n};\n\nconst defaultApiPrefetchConfig = Object.freeze({\n\tisEnabled: true,\n\tshowDebugLog: false,\n\tdisabledBaseUrls: ['/now/build/ui'],\n\tuxfBaseUrl: ['/now/', '/x/'],\n\tapiBaseUrl: '/api/',\n\tbatchApiUrl: '/api/now/v1/batch',\n\tgqlApiUrl: '/api/now/graphql',\n\tresponsesTtl: 5000,\n});\n\nexport const resolveRegistrations = async () => {\n\treturn (await navigator.serviceWorker.getRegistrations()).filter(\n\t\t(registration) =>\n\t\t\twindow.location.pathname.startsWith(\n\t\t\t\tnew URL(registration.scope).pathname,\n\t\t\t),\n\t);\n};\n\nexport default {\n\tname: 'UXF_SW_API_PREFETCH',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: async () => {\n\t\t\t\tconst _config = getProperty(sysProps.apiRecorderConfig, {});\n\t\t\t\tlet config = defaultApiPrefetchConfig;\n\t\t\t\tif (!isEmpty(_config)) config = JSON.parse(_config);\n\n\t\t\t\t(await resolveRegistrations()).forEach((registration) => {\n\t\t\t\t\tregistration.active?.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.configureRecorderSW,\n\t\t\t\t\t\tpayload: config,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import get from 'lodash/get';\nexport default (propName, defaultValue) =>\n\tget(window, `ux_globals.sysprops['${propName}']`, defaultValue);\n","import { get } from 'lodash';\nimport { klona } from 'klona';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-appshell-layout.scss';\nimport view from './sn-canvas-appshell-layout.view';\nimport { actionHandlers } from './sn-canvas-appshell-layout.effects';\nimport experienceSwitchBehavior from './../behaviors/experience-switch-behavior';\nimport { experienceDataBehavior } from '../behaviors/experience-data-behavior';\nimport { userConsentBehavior } from '../behaviors/user-consent-behaviour';\nimport globalNavBehavior from '../behaviors/global-navigation-behavior';\nimport apiPrefetchBehavior from '../behaviors/api-prefetch-behavior';\nimport { SN_CANVAS_APPSHELL_LAYOUT } from './../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst getUXGlobalsExperienceConfigs = () =>\n\tklona(get(window, 'ux_globals.experienceConfigs', {}));\n\ncreateCustomElement(SN_CANVAS_APPSHELL_LAYOUT, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tproperties: {\n\t\tactiveExperienceChromeSettings: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tcanvasSession: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tselectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tsessionSelectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tclientInfo: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\texperienceConfigs: {\n\t\t\tdefault: getUXGlobalsExperienceConfigs(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tinitialState: {\n\t\texperienceChromeSettingsMap: {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\tbehaviors: [\n\t\texperienceSwitchBehavior,\n\t\texperienceDataBehavior,\n\t\tuserConsentBehavior,\n\t\tglobalNavBehavior,\n\t\tapiPrefetchBehavior,\n\t\trenderSkipBehavior\n\t]\n});\n","import { get } from 'lodash';\n\nimport {componentModes} from '@servicenow/ui-core';\n\nimport { CANVAS_EXPERIENCE_SWITCHED } from './../constants/constants';\n\nlet prevContextPath;\n\nexport const addLifeCycleEvent = ({ properties }, dispatch) => {\n\tconst { selectedContent } = properties;\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (prevContextPath && contextPath && prevContextPath !== contextPath) {\n\t\tif (window && window.requestAnimationFrame) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdispatch(CANVAS_EXPERIENCE_SWITCHED, { ...selectedContent })\n\t\t\t});\n\t\t}\n\t}\n\tprevContextPath = contextPath;\n};\n\nexport const renderMainViewPorts = ({\n\trouteConfig,\n\tselectedContent,\n\tselectedContentMap,\n\texperiencesData\n}) => {\n\treturn Object.keys(selectedContentMap).map(path => {\n\t\tconst content = selectedContentMap[path];\n\t\tconst shellRouterConfig = routeConfig.experienceRouteConfigs[path];\n\t\tconst contextPath = get(selectedContent, 'context.path', null);\n\n\t\tif (path && experiencesData && experiencesData.get(path)) {\n\t\t\tconst { appShellId, experienceId } = shellRouterConfig;\n\t\t\tconst experienceData = experiencesData.get(path);\n\t\t\tif (!appShellId || !experienceId || experienceData.isDiscarded === true)\n\t\t\t\treturn;\n\t\t\tlet mode = componentModes.ACTIVE;\n\t\t\tif(experienceData.isSuspended === true)\n\t\t\t\tmode = componentModes.SUSPEND\n\t\t\tif(experienceData.isDetached === true)\n\t\t\t\tmode = componentModes.DETACH\n\t\t\t\n\t\t\tconst screensToCloseQueue = experienceData?.screensToCloseQueue || [];\n\t\t\tconst style = contextPath === path ? {} : { display: 'none' };\n\t\t\treturn (\n\t\t\t\t<sn-canvas-experience-shell\n\t\t\t\t\tkey={btoa(path)}\n\t\t\t\t\tselected-content={content}\n\t\t\t\t\troute-config={shellRouterConfig}\n\t\t\t\t\texperience-id={experienceId}\n\t\t\t\t\texperience-data={experienceData}\n\t\t\t\t\tscreens-to-close-queue={screensToCloseQueue}\n\t\t\t\t\tnow-mode={mode}\n\t\t\t\t\tstyle={style}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\nexport default (derivedState, { dispatch }) => {\n\treturn (\n\t\t<div className=\"sn-canvas-appshell-main grid-block\">\n\t\t\t{renderMainViewPorts(derivedState.properties)}\n\t\t\t{addLifeCycleEvent(derivedState, dispatch)}\n\t\t<\/div>\n\t);\n};\n\nexport const resetPrevContextPath = () => {\n\tprevContextPath = null;\n}","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tNOW_EXPERIENCE_SWITCH_INITIATED,\n\tNOW_EXPERIENCE_LOAD_INITIATED,\n\tCANVAS_EXPERIENCE_LOADED,\n\tNOW_EXPERIENCE_LOADED,\n\tCANVAS_EXPERIENCE_SWITCHED,\n\tNOW_EXPERIENCE_SWITCHED,\n\tEXPERIENCE_START,\n\tCANVAS_EXPERIENCE_SWITCH_INITIATED,\n\tMAIN_SELECTED_CONTENT_CHANGED,\n} from './../constants/constants';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\nimport { initPreviousExperiencePathOnPopState } from '../utils/routeUtils';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const appShellMainPropChangedEffect = ({\n\taction,\n\tproperties,\n\tdispatch,\n}) => {\n\tconst {\n\t\tpayload: { name, value, previousValue },\n\t} = action;\n\tconst previousExperiencePathObject = initPreviousExperiencePathOnPopState();\n\n\tswitch (name) {\n\t\tcase 'selectedContent':\n\t\t\tif (value && value.context && value.context.path) {\n\t\t\t\tconst {\n\t\t\t\t\tcontext: { path },\n\t\t\t\t} = value;\n\t\t\t\tconst { selectedContentMap } = properties;\n\t\t\t\tif (!previousValue || !selectedContentMap[path]) {\n\t\t\t\t\tdispatch(NOW_EXPERIENCE_LOAD_INITIATED, { ...value });\n\t\t\t\t} else if (\n\t\t\t\t\tpreviousValue &&\n\t\t\t\t\tpreviousValue.context &&\n\t\t\t\t\tpreviousValue.context.path &&\n\t\t\t\t\tpreviousValue.context.path !== path\n\t\t\t\t) {\n\t\t\t\t\tdispatch(CANVAS_EXPERIENCE_SWITCH_INITIATED, {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue,\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(NOW_EXPERIENCE_SWITCH_INITIATED, { ...value });\n\t\t\t\t\t/**\n\t\t\t\t\t * Helps `sn-canvas-appshell-root` to update `confirmPopStateNavigationContext`\n\t\t\t\t\t * when navigating across experiences.\n\t\t\t\t\t */\n\t\t\t\t\tdispatch(MAIN_SELECTED_CONTENT_CHANGED, {\n\t\t\t\t\t\tselectedContent: { ...value },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t/**\n\t\t\t\t * `previousExperiencePathObject` is used to store the previous experience path\n\t\t\t\t * to get the correct experience path while under pop-state navigation.\n\t\t\t\t */\n\t\t\t\tpreviousExperiencePathObject.setPreviousExperiencePath(path);\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n\nexport const canvasExperienceLoadedEffect = ({ host, action, dispatch }) => {\n\tdispatch(NOW_EXPERIENCE_LOADED, { ...action.payload });\n\tsetExperienceMark(\n\t\thost,\n\t\taction,\n\t\taction.payload.selectedContent,\n\t\tEXPERIENCE_START,\n\t);\n};\nexport const canvasExperienceSwitchedEffect = ({ host, action, dispatch }) => {\n\tdispatch(NOW_EXPERIENCE_SWITCHED, { ...action.payload });\n\tsetExperienceMark(host, action, action.payload, EXPERIENCE_START);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: appShellMainPropChangedEffect,\n\t[CANVAS_EXPERIENCE_LOADED]: canvasExperienceLoadedEffect,\n\t[CANVAS_EXPERIENCE_SWITCHED]: canvasExperienceSwitchedEffect,\n};\nexport { actionHandlers };\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-appshell-main.scss';\nimport view from './sn-canvas-appshell-main.view';\nimport { actionHandlers } from './sn-canvas-appshell-main.effects';\n\nimport { SN_CANVAS_APPSHELL_MAIN } from './../constants/constants';\n\ncreateCustomElement(SN_CANVAS_APPSHELL_MAIN, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\t\tselectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\texperiencesData: {\n\t\t\tdefault: new Map(),\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\tactionHandlers,\n\tbehaviors: []\n});\n","export default () => {\n\treturn (\n\t\t<div className=\"sn-canvas-experience-shell\">\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import { isNil } from '@devsnc/snowdash';\nimport { klona } from 'klona';\nimport { EXPERIENCE_STATUS_CHANGED } from '../constants/constants';\n\nexport const buildScreen = (screen, extraInfo = {}) => {\n\tconst output = {\n\t\tscreenKey: screen.screenKey,\n\t\t...(screen.title && { title: screen.title }),\n\t\t...extraInfo,\n\t};\n\n\tif (!isNil(screen.isDirty)) {\n\t\toutput.isDirty = Boolean(screen.isDirty);\n\t}\n\n\treturn output;\n};\n\n/**\n * Updates the experience data by modifying or adding a screen based on the provided payload,\n * and dispatches an action to reflect the updated experience status.\n *\n * @param {Object} params - Parameters for propagating experience data.\n * @param {Object} params.properties - experience shell properties.\n * @param {Object} params.properties.experienceData - The experiences data object.\n * @param {Object} params.screenStatusChangedActionPayload - The payload of the screen status changed action.\n * @param {Function} params.dispatchFn - Seismic dispatch function\n * @param {boolean} params.isDirty - Indicates if the experience is dirty from Dirty State Management.\n * @returns {void}\n */\n\nexport const propagateExperienceData = ({\n\tproperties,\n\tscreenStatusChangedActionPayload,\n\tdispatchFn,\n\tisDirty,\n}) => {\n\tconst { selectedContent, experienceData } = properties;\n\tconst screens = klona(experienceData.screens) || [];\n\tconst index = screens.findIndex(\n\t\t(s) => s.screenKey === screenStatusChangedActionPayload.screenKey,\n\t);\n\n\tif (index > -1)\n\t\tscreens[index] = {\n\t\t\t...screens[index],\n\t\t\t...buildScreen(screenStatusChangedActionPayload, {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}),\n\t\t};\n\telse\n\t\tscreens.push(\n\t\t\tbuildScreen(screenStatusChangedActionPayload, {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}),\n\t\t);\n\n\tconst newExperienceData = {\n\t\tpath: selectedContent.context?.path,\n\t\tname: selectedContent.context?.experienceName,\n\t\tisActive: true,\n\t\t...(!isNil(isDirty)\n\t\t\t? { isDirty }\n\t\t\t: !isNil(experienceData?.isDirty)\n\t\t\t\t? { isDirty: experienceData.isDirty }\n\t\t\t\t: {}),\n\t\t...(experienceData.screensToCloseQueue && {\n\t\t\tscreensToCloseQueue: experienceData.screensToCloseQueue,\n\t\t}),\n\t\tscreens,\n\t};\n\n\tconst experienceContext = properties.selectedContent?.context || {};\n\n\tdispatchFn(() => {\n\t\treturn {\n\t\t\ttype: EXPERIENCE_STATUS_CHANGED,\n\t\t\tpayload: {\n\t\t\t\t...newExperienceData,\n\t\t\t\tcontext: experienceContext,\n\t\t\t},\n\t\t\tshouldDispatch: true,\n\t\t};\n\t});\n\n\treturn newExperienceData;\n};\n","import { set } from 'lodash';\n\nconst setContextInPayload = (action, properties) => {\n\tconst { selectedContent } = properties;\n\tconst { payload } = action;\n\tif (\n\t\t!payload.context &&\n\t\tselectedContent &&\n\t\tselectedContent.context &&\n\t\tselectedContent.context.path\n\t) {\n\t\tset(action, 'payload.context', selectedContent.context);\n\t}\n};\n\nexport { setContextInPayload };","import { mergeWith } from '@devsnc/snowdash';\n\nconst UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA =\n\t'UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA';\n\n/**\n * The mergeWith function from @devsnc/snowdash takes a customizer function to handle merging\n * The custom merge function to handle deep merging of nested objects.\n * If both values are objects, it recursively merges them using `mergeWith`.\n * Otherwise, it returns `undefined` to let `mergeWith` handle the merging.\n *\n * @param {*} objValue - The value from the destination object.\n * @param {*} srcValue - The value from the source object.\n * @returns {*} - The merged value if both are objects, otherwise `undefined`.\n */\nexport const handleNestedMerge = (objValue, srcValue) => {\n\tif (typeof objValue === 'object' && typeof srcValue === 'object') {\n\t\treturn mergeWith(objValue, srcValue, handleNestedMerge);\n\t}\n\treturn undefined; // Let mergeWith handle non-object values\n};\n\nexport const experienceDataAugmentationInterceptor = (context) => {\n\tconst {\n\t\tcoeffects: { properties },\n\t} = context;\n\tconst { selectedContent } = properties;\n\tconst augmentedMeta = {\n\t\tcoeffects: {\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tuxfMeta: {\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA]: {\n\t\t\t\t\t\t\tpath: selectedContent.context?.path,\n\t\t\t\t\t\t\tname: selectedContent.context?.experienceName,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn mergeWith(context, augmentedMeta, handleNestedMerge);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { loadExperience } from './sn-canvas-experience-shell.experienceLoader';\nimport {\n\tbuildScreen,\n\tpropagateExperienceData,\n} from './sn-canvas-experience-shell.utils';\nimport {\n\tCANVAS_SCREEN_SWITCHED,\n\tCANVAS_SCREEN_LOADED,\n\tNOW_EXPERIENCE_PAGE_LOADED,\n\tNOW_EXPERIENCE_PAGE_SWITCHED,\n\tCANVAS_SCREEN_LOAD_INITIATED,\n\tCANVAS_SCREEN_SWITCH_INITIATED,\n\tNOW_EXPERIENCE_PAGE_LOAD_INITIATED,\n\tNOW_EXPERIENCE_PAGE_SWITCH_INITIATED,\n\tNAV_ITEM_SELECTED,\n\tEXPERIENCE_SCREENS_UPDATED,\n\tSCREEN_STATUS_CHANGED,\n\tEXPERIENCE_STATUS_CHANGED,\n\tUSER_PREF_SOURCE_UPDATED,\n} from './../constants/constants';\nimport { setContextInPayload } from './utils/setContextInPayload';\nimport { experienceDataAugmentationInterceptor } from './interceptors/experienceDataAugmentationInterceptor';\nimport { isNil } from 'lodash';\n\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst experienceShellRenderedEffect = ({\n\thost,\n\tstate,\n\tproperties,\n\tdispatch,\n\tupdateState,\n}) => {\n\tif (!properties.routeConfig || state.experienceLoaded) {\n\t\treturn;\n\t}\n\n\tconst {\n\t\trouteConfig: { experienceId, appShellId },\n\t\tselectedContent,\n\t} = properties;\n\tupdateState({ experienceLoaded: true, shouldRender: false });\n\tloadExperience(\n\t\thost,\n\t\t{ appId: experienceId, appShellId, selectedContent },\n\t\tdispatch,\n\t);\n};\n\nconst navItemSelectedInterceptor = ({ action, properties }) =>\n\tsetContextInPayload(action, properties);\n\nconst canvasScreenSwitchedEffect = ({ action, properties, dispatch }) => {\n\tsetContextInPayload(action, properties);\n\tdispatch(NOW_EXPERIENCE_PAGE_SWITCHED, { ...action.payload });\n};\n\nconst canvasScreenLoadedEffect = ({ action, properties, dispatch }) => {\n\tsetContextInPayload(action, properties);\n\tdispatch(NOW_EXPERIENCE_PAGE_LOADED, { ...action.payload });\n\tdispatch(USER_PREF_SOURCE_UPDATED, {});\n};\n\nconst handleScreensUpdated = ({ action, properties, dispatch }) => {\n\tconst { experienceData } = properties;\n\tconst screensData = action.payload.screensData;\n\tif (!screensData) return;\n\tconst screens = Object.keys(screensData).map((sd) =>\n\t\tbuildScreen(screensData[sd], { timestamp: Date.now() }),\n\t);\n\tconst newExperienceData = {\n\t\t...experienceData,\n\t\tisDirty: screens.some((s) => s.isDirty === true),\n\t\tisActive: true,\n\t\tscreens,\n\t};\n\n\tdispatch(EXPERIENCE_STATUS_CHANGED, {\n\t\t...newExperienceData,\n\t\tcontext: properties.selectedContent?.context,\n\t});\n};\n\nconst handleScreenStatusChanged = ({ action, properties, dispatch }) => {\n\tconst {\n\t\tpayload: { isDirty },\n\t} = action;\n\n\tif (!isNil(isDirty)) {\n\t\treturn;\n\t}\n\n\tpropagateExperienceData({\n\t\tproperties,\n\t\tscreenStatusChangedActionPayload: action.payload,\n\t\tdispatchFn: dispatch,\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_RENDERED]: experienceShellRenderedEffect,\n\t[NAV_ITEM_SELECTED]: navItemSelectedInterceptor,\n\t[SCREEN_STATUS_CHANGED]: {\n\t\teffect: handleScreenStatusChanged,\n\t\tinterceptors: [experienceDataAugmentationInterceptor],\n\t},\n\t[EXPERIENCE_SCREENS_UPDATED]: handleScreensUpdated,\n\t[CANVAS_SCREEN_SWITCHED]: canvasScreenSwitchedEffect,\n\t[CANVAS_SCREEN_LOADED]: canvasScreenLoadedEffect,\n\t[CANVAS_SCREEN_LOAD_INITIATED]: ({ dispatch, action: { payload } }) =>\n\t\tdispatch(NOW_EXPERIENCE_PAGE_LOAD_INITIATED, { ...payload }),\n\t[CANVAS_SCREEN_SWITCH_INITIATED]: ({ dispatch, action: { payload } }) =>\n\t\tdispatch(NOW_EXPERIENCE_PAGE_SWITCH_INITIATED, { ...payload }),\n};\nexport { actionHandlers };\n","import { getAppliedTemplate } from '@devsnc/library-uxf';\n\nimport { CANVAS_EXPERIENCE_LOADED } from './../constants/constants';\n\nexport const loadExperience = async (host, experienceProps, dispatch) => {\n\tconst { appId, appShellId } = experienceProps;\n\tlet uxrInteractionId =\n\t\twindow.nowUiFramework?.getUxrInteractionIdByHost?.(host);\n\tif (host.children.length > 0) {\n\t\t// experience mcp is already in DOM\n\t\tdispatch(CANVAS_EXPERIENCE_LOADED, { ...experienceProps });\n\t\treturn;\n\t}\n\tconst appShellFragment = await getAppliedTemplate(\n\t\tappShellId,\n\t\t{ appId, isCanvasExperienceShell: true },\n\t\tappId,\n\t\tuxrInteractionId,\n\t);\n\tif (!appShellFragment) return;\n\n\tconst fragmentItem = appShellFragment.children[0];\n\n\tconst macroponentHandler = () => {\n\t\tdispatch(CANVAS_EXPERIENCE_LOADED, { ...experienceProps });\n\n\t\tfragmentItem.removeEventListener(\n\t\t\t'MACROPONENT_READY',\n\t\t\tmacroponentHandler,\n\t\t);\n\t};\n\n\tfragmentItem.addEventListener('MACROPONENT_READY', macroponentHandler);\n\n\thost.append(appShellFragment);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-experience-shell.scss';\nimport view from './sn-canvas-experience-shell.view';\nimport { actionHandlers } from './sn-canvas-experience-shell.effects';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport { SN_CANVAS_EXPERIENCE_SHELL } from './../constants/constants';\nimport { onExperienceDirtyStateChange } from './sn-canvas-experience-shell.dirtyHandler';\n\ncreateCustomElement(SN_CANVAS_EXPERIENCE_SHELL, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view,\n\t},\n\tstyles,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceData: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tinitialState: {},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onExperienceDirtyStateChange,\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers,\n});\n","import { propagateExperienceData } from './sn-canvas-experience-shell.utils';\n\nexport const onExperienceDirtyStateChange = (params) => {\n\tconst {\n\t\tisDirty,\n\t\tsubscriberUpdatePropertiesFn,\n\t\tsubscriberDispatchFn,\n\t\tscreenStatusChangedActionPayload,\n\t} = params;\n\n\tsubscriberUpdatePropertiesFn(({ properties }) => {\n\t\tconst newExperienceData = propagateExperienceData({\n\t\t\tproperties,\n\t\t\tscreenStatusChangedActionPayload,\n\t\t\tdispatchFn: subscriberDispatchFn,\n\t\t\tisDirty,\n\t\t});\n\t\treturn {\n\t\t\tpath: 'experienceData',\n\t\t\tvalue: newExperienceData,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: true,\n\t\t};\n\t});\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_core=exports;\nexport * from '../index.js';\n\n"],"version":3}}]}